上批说过加自定义词典,但其实它还有个进阶用法,很多人不知道。
场景:同样一个词,在 A 业务里是关键词,在 B 业务里是噪声。比如「屏幕」在手机业务里重要,在服装业务里就是垃圾词。
一个词典搞不定,就得分业务加载:
if business == "phone":
jieba.load_userdict("dict_phone.txt")
elif business == "clothing":
jieba.load_userdict("dict_clothing.txt")
|
但更优雅的做法是动态加词,不重新加载:
for word, freq, pos in new_words:
jieba.add_word(word, freq=freq, tag=pos)
|
加完就生效,不用重启。
还有个反向操作:del_word,临时删掉某个分错的词:
jieba.del_word("王者荣耀")
|
这种动态调整在交互式场景(对话系统、实时分析)里特别好用。
词典这事儿,维护成本比想象中低,但收益很大。
本文由 BBZ · 小朵科技工作室 出品。配套工具:词频统计软件 P01。