午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

算法 - python ahocorasick 從本地文件讀取文本,進行關鍵字匹配,匹配失敗

瀏覽:172日期:2022-07-23 09:06:00

問題描述

使用Python+pyahocorasick,匹配關鍵字,關鍵字大概在10-20個漢字之間。

構建ahocorasick的文本,是從本地文件key_word的讀入。格式如下:

母嬰專區(qū)<輔食<面仔/面條:嬰幼兒,幼兒,嬰兒,兒童,寶寶面條,細面,粗面,手工面,蔬菜面,營養(yǎng)面,碎面,掛面,面仔

匹配結果為空。

代碼如下:

import ahocorasickA = ahocorasick.Automaton()title = ’Hello Kitty3色蔬菜細面300克 嬰兒幼兒營養(yǎng)面條寶寶輔食面條’with open(’key_word’, ’r’) as f: for line in f.readlines():line = line.strip()line = str(line.split(’<’)) A.add_word(line, line)A.make_automaton()aa = A.iter(title)for item in aa: print(item) # 打印為空值

請有操作過這種問題的大大,幫忙看看,能提供示例代碼,或者提供處理思路,謝謝!

問題解答

回答1:

研究了兩天,自己實現(xiàn)了這個功能

本地文件有太多重復關鍵字,匹配并不是100%,供參考

參考代碼如下:

import ahocorasickA = ahocorasick.Automaton()titles = [’Hello Kitty3色蔬菜細面300克 嬰兒幼兒營養(yǎng)面條寶寶輔食面條’]word_dict = {}with open(’categories.csv’, ’r’) as f: for line in f.readlines():line = line.strip()word_key = line.split(’:’)[0]word_value = list(line.split(’:’)[1].split(’|’))word_dict[word_key] = word_valueline = (line.split(’:’)[1].split(’|’))for word in line: if word == '':continue A.add_word(word, word)A.make_automaton()for title in titles: category = [] aa = A.iter(title) ret = [] matches = {} for (k,v) in aa:matches[v] = 1 for (k,v) in matches.items():ret.append(k) for value in word_dict.items():if ret[0] in value[1]: category.append(value[0]) #關鍵字太多,所以寫死了一個keyword匹配的結果 #print(ret[0], value[0], value[1]) print(category[0])

打印結果:母嬰專區(qū)<輔食<面仔/面條

標簽: Python 編程
主站蜘蛛池模板: 69精品视频 | 亚洲欧美日韩天堂 | 国产91在线播放九色 | 黄色a毛片 | 视频一区二区三区在线 | 在线观看亚洲大片短视频 | 有码av| 91亚洲视频在线观看 | 国产成人精品免高潮在线观看 | 伊人久久亚洲 | 韩日成人 | 三级视频在线观看 | a√天堂网| 中国精品毛片 | 91九色在线播放 | 婷婷色图 | 影音先锋中文在线 | 午夜精品免费观看 | 婷婷四房综合激情五月 | 精品久久精品 | 香蕉av网站 | 国产精品video | 国产精品污www一区二区三区 | 国产精品午夜视频 | 校园春色亚洲 | 女同久久另类69精品国产 | 在线a网站 | 九一成人网 | 91成人精品一区在线播放 | 九九国产 | 国产精品成人久久久 | 午夜草草 | 午夜精品视频在线观看 | 日韩色av| xxxx国产精品 | 在线毛片网 | 岛国av噜噜噜久久久狠狠av | 国产不卡视频在线观看 | 自拍偷拍在线视频 | 久久精品99国产国产精 | 国产精品污www一区二区三区 |