如何高效的判断一段文本中是否包含一个字典中的某个词——黄反识别

虽然市面上有很多开箱即用的黄反接口,但是如果我想自定义黄反词,可能支持的不太好。
目标也就是判断一段文本中是否包含一个字典中的某个词。
我这个词典有5w条,循环遍历太慢了。
在网上找了半天,只找到这条结果 如何高效的判断一段文本中是否包含一个字典中的某个词?,看了一下,感觉效果不是很好。
但是切词给了我灵感,我只要把文本切词,然后和词典取交集即可。
但是问题来了,词典中有的词是一个小短句,肯定会被切开,这样就匹配不到。
想到了jieba切词,可以导入自定义词典,按照词典来切词,那我导入黄反词典不就可以了?!

import jieba
def check(s):
    huangfan_path = 'path/to/dict.txt'
    jieba.load_userdict(huangfan_path)
    huangfan_words_dict = set()
    with open(huangfan_path, 'rb') as fr:
        for line in fr.readlines():
            huangfan_words_dict.add(line.strip().decode('utf-8'))
    return set(jieba.lcut(s)) & self.huangfan_words_dict

亲测有效,速度很快!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jieba分词,学习,为了全面了解该模块,,预设学习路线:官方文档——优秀博客文章——实践学习 官方文档部分 (文...
    竹林徒儿阅读 4,247评论 1 12
  • 注:参考文档 一、在线词云图工具# (1)、使用### 在正式使用jieba分词之前,首先尝试用在线分词工具来将自...
    DearIreneLi阅读 6,156评论 1 8
  • 在接下来的分词练习中将使用到四川大学公共管理学院的一篇新闻进行练习,文本如下: 为贯彻落实党的十九大精神,不断提升...
    nicokani阅读 1,284评论 0 4
  • 基于《Python语言程序设计基础(第2版)》 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 ...
    柄志阅读 27,514评论 4 44
  • 今天刚刚看了一直很想看的电影左耳,挺有感想的啦,就想在简书上随便聊一聊哈。 刚刚开始杨洋饰演的许弋和陈都灵饰演的李...
    木不森阅读 375评论 0 2