上批说过加自定义词典,但其实它还有个进阶用法,很多人不知道。

场景:同样一个词,在 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