leizongmin / node-segment

基于Node.js的中文分词模块
Other
1.2k stars 132 forks source link

词库格式、意义及其算法? #3

Closed hotoo closed 11 years ago

hotoo commented 11 years ago

我在写一个汉语注音程序, 用到这个非常赞的分词模块。 但是我对分词了解不多,请问下词库里的格式分别是什么意义,后面的数值是如何计算出来的?比如:

茂盛|0x40000000|15108
茂县|0x0040|993
冒充|0x1000|12743
冒出|0x0000|703

后面两列的数值如何理解及如何计算得到?

我发现词库里有些词语缺失,比如『冒顿(mòdú)』这是个匈奴单于的名字,不知道放在汉族姓名的词库里是否合适?

另外请问有带注音的词库吗?

leizongmin commented 11 years ago

词库格式如下: 词语 | 词性 | 权值 词性参考这个文件:https://github.com/leizongmin/node-segment/blob/master/lib/POSTAG.js#L9 权值怎么计算我也不大清楚,词库是采用自“盘古分词组件”的(http://pangusegment.codeplex.com/)。 建议自定义的词默认都设置为1,然后分词测试一下,再调整到合适的值吧 权值是越大越优先

对于诸如“冒顿”这类的词语,暂时可以制作成自定义的词库来使用,如:

var Segment = require('node-segment').Segment;
var segment = new Segment();
segment.useDefault();

// 载入字典,自定义字典文件的绝对路径
segment.loadDict('/dict.txt');