當(dāng)前位置:
首頁(yè) >
AC自动机的使用案例
發(fā)布時(shí)間:2025/3/19
33
豆豆
生活随笔
收集整理的這篇文章主要介紹了
AC自动机的使用案例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#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:自動(dòng)機(jī)的意思可實(shí)現(xiàn)自動(dòng)批量匹配字符串的作用,即可一次返回該條字符串中命中的所有關(guān)鍵詞'''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中的每一項(xiàng)與content內(nèi)容作對(duì)比,若匹配則返回name_list.add(item[1])name_list = list(name_list)if len(name_list) > 0:print(content, "--->命中的關(guān)鍵詞有:", "\t".join(name_list))
if __name__ == "__main__":test_ahocorasick()我最喜歡吃的水果有:蘋果、梨和香蕉 --->命中的關(guān)鍵詞有: 梨 香蕉 蘋果
我也喜歡吃香蕉,但是我不喜歡吃梨 --->命中的關(guān)鍵詞有: 梨 香蕉
————————————————
版權(quán)聲明:本文為CSDN博主「追夢(mèng)杏花天影」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010569893/article/details/97136696
?
總結(jié)
以上是生活随笔為你收集整理的AC自动机的使用案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一行代码太长的解决方法
- 下一篇: dict格式转字符串两种方法的区别