扫码关注官方订阅号
走同样的路,发现不同的人生
可能不是最佳答案,只是提供一个思路。
个人觉得这个问题并不需要什么库,先把词库载入,弄成列表什么的。然后再把你需要匹配的文本读入,反过来想,文本存在词库的词,也就是词库的词存在于文本中。
这样想的话,再用in就可以判断这个词在不在文本里面了,判断之后你是提取出来还是替换什么的,就看你怎么做了。
其实也可以用正则表达式暴力提取出来。
希望能帮到你
结巴分词后再匹配
和兔子的思路一样,实际上和分词里面的对stopword处理一样,可参考结巴分词中使用的whoosh库里各类Tokenizer() 和StopFilter()代码地址 Tokenizer()用于对需匹配文本做处理,里面很多种你选一种就行,如果对分词处理不太确定的话,可使用jieba,然后用''jieba.cut'或'jieba.cut_for_search'对文本进行分词,然后把你的词库写成列表,后面的StopFilter()实际上就是个for循环判断if in就行了。
Tokenizer()
StopFilter()
这样行么
import re text = '''python从一段文本中找出存在于词库的词语 有现成的库吗?''' ciku = ['文本', '一段', '词语', '没有'] pattern = '|'.join(ciku) re.findall(pattern, text) >>> ['一段', '文本', '词语']
AC自动机 字数限制?单词忘了咋拼的了
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可能不是最佳答案,只是提供一个思路。
个人觉得这个问题并不需要什么库,先把词库载入,弄成列表什么的。然后再把你需要匹配的文本读入,反过来想,文本存在词库的词,也就是词库的词存在于文本中。
这样想的话,再用in就可以判断这个词在不在文本里面了,判断之后你是提取出来还是替换什么的,就看你怎么做了。
其实也可以用正则表达式暴力提取出来。
希望能帮到你
结巴分词后再匹配
和兔子的思路一样,实际上和分词里面的对stopword处理一样,可参考结巴分词中使用的whoosh库里各类
Tokenizer()
和StopFilter()
代码地址Tokenizer()
用于对需匹配文本做处理,里面很多种你选一种就行,如果对分词处理不太确定的话,可使用jieba,然后用''jieba.cut'或'jieba.cut_for_search'对文本进行分词,然后把你的词库写成列表,后面的StopFilter()
实际上就是个for循环判断if in就行了。这样行么
AC自动机 字数限制?单词忘了咋拼的了