ahocorasick 的使用中出现的问题和简单使用
程序员文章站
2022-07-10 20:22:32
...
优点
ahocorasick可以用来实现字符串匹配,如利用已有的文档创建一棵树,想知道用户输入的一句话与这个树上的数据的交集,可以用它来快速实现,优点是可以有效减轻cpu消耗。
使用中出现的问题
如果使用pycharm,可以直接使用在setting中的project interpreter中的“+”添加。
在使用这个方法时,直接搜索 ahocorasick,如果你是用的是python3.7,会发现找不到pyahocorasick,只有现显示 r-ahocorasicktrie,换成python3.6就可以找到了 pyahocorasick,ahocorasick-python,ahocorasick。直接点击安装ahocorasick,会报错找不到该模块。索性点击剩下两个都安装。运行程序时,报错找不到属性Automaton,卸载ahocorasick-python即可。
总结就是使用python3.6安装pyahocorasick。
简单使用
# pip install pyahocorasick # 注意python版本
import ahocorasick # 注意去掉 pyahocorasick 前的 py
# 往actree中添加数据
actree = ahocorasick.Automaton()
for index, word in enumerate(wordlist):
actree.add_word(word, (index, word))
actree.make_automaton()
# 使用actree来查询目标语句中出现在actree中的关键词
for i in actree.iter(target_str):
wd = i[1][1] # i的形式为(index,(index,word))
target_wds.append(wd)
# 附加功能:可能出现一个词分成几个部分,把这个部分过滤掉
stop_wds = []
for wd1 in target_wds:
for wd2 in target_wds:
if wd1 in wd2 and wd1 != wd2:
stop_wds.append(wd1)
final_wds = [i for i in target_wds if i not in stop_wds]
推荐阅读
-
Word2000和Word2002中的宏在Office Word 2003中的使用
-
MyBatis中XML和注解的对比及使用
-
vue公共事件总线eventBus的简单理解和使用
-
使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
-
jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法
-
Windows Phone 开发中重力感应的简单使用示例
-
SQL2005中char nchar varchar nvarchar数据类型的区别和使用环境讲解
-
Shell中set与shopt命令选项的含义和使用示例
-
Winform中在使用Dock属性设计页面布局控件的顺序导致页面效果不同的问题
-
简单讲解iOS应用开发中的MD5加密的相关使用