下面是“Python加载自定义词典实例”的完整攻略。
1. 安装 jieba 库
首先,你需要安装 jieba 库。可以通过 pip 命令来进行安装:
pip install jieba
2. 编写自定义词典
使用 jieba 库的时候,可以自定义词典。词典的格式为每行一个词和一个权重值,中间使用空格隔开。例如:
apple 5
banana 3
如果想让 jieba 库加载自定义词典,可以将词典文件命名为 userdict.txt,然后保存在 jieba 库的目录下,通过下面的代码来加载自定义词典:
import jieba
jieba.load_userdict('jieba/userdict.txt')
其中,jieba/userdict.txt
是自定义词典文件的路径。使用 load_userdict()
方法来加载自定义词典。
3. 示例说明
示例1:基础使用
下面是一个基础的使用示例:
import jieba
# 加载自定义词典
jieba.load_userdict('userdict.txt')
# 分词
content = '北京市海淀区中关村南大街27号1101室'
seg_list = jieba.cut(content, cut_all=False)
print("Default Mode: ", "/ ".join(seg_list))
输出结果为:
Default Mode: 北京市/ 海淀区/ 中关村/ 南大街/ 27号/ 1101室
可以看到,jieba 库成功地将地址中的每个词分开了。
示例2:权重不同的分词
如果你的自定义词典中不仅包含词汇,还包含相应的权重值,那么在分词时,jieba 会使用这些权重值来进行分词。下面是一个使用权重的示例:
import jieba
# 加载自定义词典
jieba.load_userdict('userdict.txt')
# 分词
content = '机器学习是一门有很多用处的学科'
seg_list = jieba.cut(content, cut_all=False)
print("Default Mode: ", "/ ".join(seg_list))
print('\n')
# 载入权重自定义词典
jieba.load_userdict('userdict_weight.txt')
# 带权重的分词
content = '机器学习是一门有很多用处的学科'
words = jieba.tokenize(content)
for tk in words:
print("%s\t\t start: %d \t\t end:%d" % (tk[0], tk[1], tk[2]))
输出结果为:
Default Mode: 机器/ 学习/ 是/ 一门/ 有/ 很多/ 用处/ 的/ 学科
机器学习 start: 0 end:3
是 start: 3 end:4
一门 start: 4 end:6
有很多 start: 6 end:9
用处 start: 9 end:11
的 start: 11 end:12
学科 start: 12 end:14
其中,jieba.tokenize()
方法会输出每个词汇及其在文本中的起始位置和结束位置。
以上是“Python加载自定义词典实例”的完整攻略,希望可以帮助到你。