中文分词消除歧义简单思想
上一篇我讲到自己写的一个分词程序,
在这个程序里我用了一个简单的消除歧义的思想,
就是在自己分词时候得到了得到正向最大匹配的各个词的时候,
从左到右判断得到的每个词,怎么判断呢?
我们把这个词最后面的那个字与他后面的词的第一个字组合起来和词库比较,若有这个组合词的话,我们就把这个组合词与他的前后母体分开,成为单独的词
例子:
电子产业和服装业
如果正向最大匹配的话我们得到 (词库里得有“和服” “电子产业” “服装业” “服装” )
电子产业 和服 装 业 (这当然不是我们想要的结果)
如果我们把 “和服 ” 的“ 服” 字 和 “装” 搭配的时候 让他和“和服” 分割
电子产业 和 服装 业 (这个结果要比上一个好点吧)
当然这种情况也不是什么好的,有时也会把我们认为好的词分开,
观察了几种消除歧义的思想,感觉都不怎么准,对某个例子适用对某个就不怎么适用了
看了看国内流行的:IK 庖丁 imdict。。。。 分词结果
感觉没有完美的分词器,只有自己定义适合自己的词库才会有好分词的结果
+++++++++++++++++++++++++++++++++++++++++++
另外还有一种思想是在词的后面加上 词的权重
接合上面的思想,比较前后词谁的权重大确定是否和前后母体分割
当然不同领域的词 同一个词的 权重也不会同
还是那句话只有适合自己的,没有完美的