AC自动机的使用案例
生活随笔
收集整理的這篇文章主要介紹了
AC自动机的使用案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#coding:utf-8
import ahocorasickdef make_AC(AC, word_set):for word in word_set:AC.add_word(word,word)return ACdef test_ahocorasick():'''ahocosick:自動機的意思可實現自動批量匹配字符串的作用,即可一次返回該條字符串中命中的所有關鍵詞'''key_list = ["蘋果", "香蕉", "梨", "橙子", "柚子", "火龍果", "柿子", "獼猴挑"]AC_KEY = ahocorasick.Automaton()AC_KEY = make_AC(AC_KEY, set(key_list))AC_KEY.make_automaton()test_str_list = ["我最喜歡吃的水果有:蘋果、梨和香蕉", "我也喜歡吃香蕉,但是我不喜歡吃梨"]for content in test_str_list:name_list = set()for item in AC_KEY.iter(content):#將AC_KEY中的每一項與content內容作對比,若匹配則返回name_list.add(item[1])name_list = list(name_list)if len(name_list) > 0:print(content, "--->命中的關鍵詞有:", "\t".join(name_list))
if __name__ == "__main__":test_ahocorasick()我最喜歡吃的水果有:蘋果、梨和香蕉 --->命中的關鍵詞有: 梨 香蕉 蘋果
我也喜歡吃香蕉,但是我不喜歡吃梨 --->命中的關鍵詞有: 梨 香蕉
————————————————
版權聲明:本文為CSDN博主「追夢杏花天影」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010569893/article/details/97136696
?
總結
以上是生活随笔為你收集整理的AC自动机的使用案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一行代码太长的解决方法
- 下一篇: python2执行程序内存溢出导致被ki