python中结巴分词思路解析-含代码实战
程序员文章站
2022-05-29 09:57:14
...
本文代码均在jupyter Notebook上运行,已安装jieba包
结巴常用的函数
结巴常用函数 | 作用 |
---|---|
jieba.lcut(text) | 对text文件内容进行分词,返回的是分词后的词语列表 |
jieba.load_userdic(txt_file) | 为防止某些目标词汇分割,需要载入紫东义词典,告诉程序说,这几个字是一个词语,不要分割 |
jieba.lcut(text)代码实战
由于使用jupyter Notebook运行代码,部分代码直接复制可能存在不全,无法直接全部运行的问题,因此建议读者采用jupyter Notebook运行代码,如使用其他编译器,请不要忘记适当修改(例如import或者变量定义)
import jieba
text = '我来到北京清华大学'
wordlist=jieba.lcut(text) # wordlist默认是列表形式
print(wordlist)
#保留词语字长度大于1的词
# 保留词语长度大于1的词
for w in wordlist:
if len(w)>1:
print(w) # w仅是列表中的元素,因此输出的格式并非列表形式
else:
pass
# 因此,想让满足条件的w写入列表中,可以采用如下方法
[w
for w in wordlist
if len(w)>1]
# 通常将代码写到1行里面
[w for w in wordlist if len(w)>1]
以上两种输出结果相同,如下
jieba.load_userdic(txt_file)代码实战
import jieba
text = '疯狂囤金,中国大妈震惊华尔街'
wordlist = jieba.lcut(text)
wordlist
但是如果想让“中国”“大妈”成为一个词语,那么就需要自定义词典,告诉程序,不能将这两个词分开
import jieba
text = '疯狂囤金,中国大妈震惊华尔街'
jieba.load_userdict(r'C:\Users\qingfeng\Desktop\词典.txt')
wordlist = jieba.lcut(text)
wordlist
jieba.load_userdict(txt_file)解析
•txt_file:自定义词典(txt文件)的路径
•词典格式:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
•编码:词典文件必须为 UTF-8 编码。
如果提示UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte
则需要更改自定义词典的编码格式,如下图,文件–另存为–修改格式为utf-8–保存
上一篇: Android 使用AlertDialog实现多选并保存选中状态
下一篇: ftp服务基础部分