使用pynlpir增强jieba分词的准确度

栏目: 编程工具 · 发布时间: 7年前

内容简介:在使用jieba分词时,发现分词准确度不高。特别是一些专业词汇,比如首先安装pynlpir。pynlpir的相关说明可以参考https://pynlpir.readthedocs.io/en/latest/index.html。而后为jieba生成字典。jieba支持的字典格式为

在使用jieba分词时,发现分词准确度不高。特别是一些专业词汇,比如 堡垒机 ,只能分出 堡垒 ,并不能分出 堡垒机 。这样导致的问题是很多时候检索并不准确。 经过对比测试,发现 nlpir 进行分词效果更好。但是nlpir的效率和各种支持又没有jieba那么好,因此采用了一种折中的方案。 就是先用nlpir生成字典,然后使用jieba利用字典进行分词。

首先安装pynlpir。pynlpir的相关说明可以参考https://pynlpir.readthedocs.io/en/latest/index.html。

// 安装
$ pip install pynlpir
// 证书更新
$ pynlpir update

而后为jieba生成字典。jieba支持的字典格式为 单词 词频 ,中间用空格隔开,每行一个单词。 使用pynlpir生成词典的方式如下:

import pynlpir
pynlpir.open()
f = open("doc.txt", "r")
s= f.readlines()
s = '\n'.join(s)
f.close()
key_words = pynlpir.get_key_words(s, max_words=1000, weighted=True)
for key_word in key_words:
    print '%s %s' % (key_word[0], int(key_word[1]*10))

这里之所以为每个 词频*10 ,主要是为了加强其权重。而后再使用jieba利用该字典进行分词。至于jieba分词如何使用词典,可以参考https://github.com/fxsjy/jieba/blob/master/test/test_userdict.py。这里就不再重复了。

对于sphinx-doc,其最新版本也是使用的jieba分词。同样可以使用本方法来提升其分词的准确率。 中文分词引入可以参考https://www.chenyudong.com/archives/sphinx-doc-support-chinese-search.html。 在conf.py中,配置 html_search_options = {'dict': '/usr/lib/jieba.txt'} ,加入字典的路径。这里一定要绝对路径。相对路径不能生效。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

逆流而上

逆流而上

阿里巴巴集团成长集编委会 / 电子工业出版社 / 2017-11 / 59.00

本书是阿里巴巴集团荣耀背后的技术血泪史。全书通过分享业务运行过程中各个领域发生的典型“踩坑”案例,帮助大家快速提升自我及团队协作,学习到宝贵的处理经验及实践方案,为互联网生产系统的稳定共同努力。从基础架构、中间件、数据库、云计算、大数据等技术领域中不断积累经验,颠覆技术瓶颈,不断创新以适应不断增长的需求。 本书主要面向互联网技术从业人员和在校师生,使读者能够通过此书基本了解阿里在各技术领域的能力,......一起来看看 《逆流而上》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具