python使用结巴分词(jieba)创建自己的词典/词库
Song •
2552 次浏览 •
0个评论 •
2018年08月22日
为什么需要在python
使用结巴分词(jieba
)创建自己的词典/词库,因为很多时候分词给我们的结果了能刚好相反,如:不回家
变成了不,回家
;从上一篇文章文章我们已经讲诉了python使用结巴中文分词以及训练自己的分词词典,基本的安装和基本使用大家直接去看那篇文章即可,我们主要介绍如何python
创建自己的词典。
一、创建分词字典
1、准备词典
创建一个dict.txt
,然后写入你的分词,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。
不处理 nr
不还款
中国银行
根本打不开
2、编写python代码
在分词前通过jieba.load_userdict(file_name)
来加载分词字典:
#-*- coding:utf-8 -*-
import jieba
jieba.load_userdict("./dict.txt")
word_list = jieba.cut("我今天不处理逾期信用贷款,因为你们中国银行的APP根本打不开")
print("|".join(word_list))
3、分词对比
第一张,未添加字典
第二张:添加了字典
可以看出,我们更加明确了用户的意图,不处理
我们识别为处理
,这样的事情在识别意图的时候还是比较坑的!
二、使用add_word和suggest_freq
- 使用
add_word(word, freq=None, tag=None)
和del_word(word)
可在程序中动态修改词典。 - 使用
suggest_freq(segment, tune=True)
可调节单个词语的词频,使其能(或不能)被分出来。
实现代码:
#-*- coding:utf-8 -*-
import jieba
jieba.suggest_freq('不处理',True)
jieba.add_word('不处理',tag='d')
jieba.add_word('中国银行APP',tag='d')
word_list = jieba.cut("我今天不处理逾期信用贷款,因为你们中国银行APP根本打不开")
print("|".join(word_list))
实现的结果和上面的相同,所以不做过多的对比描述
注意:
add_word
只是一次性的添加分词字典,不是直接将内容添加到结巴库中了;同时此方法的代码可能比较多,所以感觉没有方法一好
更多可以看一下:python结巴(jieba)分词
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论