fxsjy / jieba

结巴中文分词
MIT License
33.06k stars 6.72k forks source link

“我们中出了一个叛徒”分词结果不一致 #212

Open tonghuix opened 9 years ago

tonghuix commented 9 years ago

使用精确分词和搜索引擎分词得到的结果均为:

我们/ 中出/ 了/ 一个/ 叛徒

而使用词性分词得到结果:

我们/r 中/f 出/v 了/ul 一个/m 叛徒/n

shanzi commented 9 years ago

23333

词库里竟然有 中出 这个词。。。我觉得“中出”的出现频率应该不会高于“出了”,为何没有分成功呢。

yanyiwu commented 9 years ago

@shanzi 哈哈哈哈

qinwf commented 9 years ago

哈哈哈

ninjadq commented 9 years ago

哈哈哈

gumblex commented 9 years ago

('枪杆子', '中', '出', '政权') (枪杆子/n, 中/f, 出/v, 政权/n)

毕竟“中出 叛徒”比“中出 政权”的可能性大

fxsjy commented 9 years ago

@tonghuix , 分词效果不一致的原因是因为:精确分词中用的HMM模型只有四种中状态(B,E,M,S),而词性分词中HMM模型的状态是(B,E,M,S)与各种词性的笛卡尔积。

walkskyer commented 9 years ago

感觉这句话念着好别扭。呵呵…

tonghuix commented 9 years ago

@fxsjy 感谢详解!那么也就是说,这种分词不一致的情况是不是应该还是很普遍呢?但我看在线演示的例子里 “工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作” 、”我们买了一个美的空调“ 等等句子的分词结果是正确的

fxsjy commented 9 years ago

@tonghuix , sorry,当前的算法还不够智能不能cover所有的case。 最简单的方法就是你把这种bad case按照你的意图分好,然后让它“强化”学习,得到新的词频文件和HMM模型文件。不过这种调优往往是按下葫芦起了瓢。

tonghuix commented 9 years ago

@fxsjy 确实如你所说。有没有一种类似敏感词库这种机制来匹配类似情况呢?也就是当发生bad case的时候启用强制分词,当然这种方法比较dirty

gumblex commented 9 years ago

jieba.cut('我们中出了一个叛徒', HMM=False) 没有问题,说明“中出”是 HMM 新词发现造出来的。

qiaofei32 commented 7 years ago

那也是因为作者训练语料选得好(邪恶……) B '\u4e2d': -4.596743315282086, E '\u4e2d': -5.476938898829366, M '\u4e2d': -5.253194167156688, S '\u4e2d': -4.81355762044073,

B '\u51fa': -5.448380394833719, E '\u51fa': -5.556879470894473, M '\u51fa': -7.232833997741765, S '\u51fa': -5.854838121207067,