在使用jieba分词时经常会遇到分词结果不理想,笔者在使用jieba分词过程中经常遇到以下两种效果不理想的情况:
a. 词不能被分开,如“今天天气”不能被分为('今天','天气')
b. 不该分开的词被分开,如“下个星期五”被分为('下个星期','五')
下面分别说一下这两种情形的解决方法:
情形a
1. 使用suggest_freq(segment, tune=True) 调节单个词语的词频,使其能(或不能)被分出来
> tokenized = jieba.tokenize('今天天气')
> for (word, start, end) in tokenized:
> print(word, start, end)
> print(jieba.get_FREQ('今天天气'))
> print(jieba.suggest_freq(('今天', '天气'), True)) #使'今天天气'被分为两个词
> print(jieba.get_FREQ('今天天气'))
> tokenized = jieba.tokenize('今天天气')
> for (word, start, end) in tokenized:
> print(word, start, end)
2. 使用自定义词典,并且将词频设置为0
创建自定义词典dict.txt,并添加"今天天气 0"
> jieba.load_userdict("dict.txt")
> for (word, start, end) in tokenized:
> print(word, start, end)
情形b
同情景a,
1. jieba.suggest_freq('下个星期五', True)
2. 在词典中添加'下个星期五'