首页 > python从一段文本中找出存在于词库的词语

python从一段文本中找出存在于词库的词语

python从一段文本中找出存在于词库的词语
有现成的库吗?


AC自动机 字数限制?单词忘了咋拼的了


这样行么

import re

text = '''python从一段文本中找出存在于词库的词语
有现成的库吗?'''

ciku = ['文本', '一段', '词语', '没有']
pattern = '|'.join(ciku)
re.findall(pattern, text)
>>>
['一段', '文本', '词语']

结巴分词后再匹配


可能不是最佳答案,只是提供一个思路。

个人觉得这个问题并不需要什么库,先把词库载入,弄成列表什么的。然后再把你需要匹配的文本读入,反过来想,文本存在词库的词,也就是词库的词存在于文本中。

这样想的话,再用in就可以判断这个词在不在文本里面了,判断之后你是提取出来还是替换什么的,就看你怎么做了。

其实也可以用正则表达式暴力提取出来。

希望能帮到你


和兔子的思路一样,实际上和分词里面的对stopword处理一样,可参考结巴分词中使用的whoosh库里各类Tokenizer()StopFilter()代码地址
Tokenizer()用于对需匹配文本做处理,里面很多种你选一种就行,如果对分词处理不太确定的话,可使用jieba,然后用''jieba.cut'或'jieba.cut_for_search'对文本进行分词,然后把你的词库写成列表,后面的StopFilter()实际上就是个for循环判断if in就行了。

【热门文章】
【热门文章】