dotSlashLu / nodescws

scws(Simple Chinese Word Split) node.js binding - scws中文分词node.js模块
13 stars 5 forks source link

nodescws 和官方 scws 得到的结果不一样,是bug么? #5

Closed Frully closed 10 years ago

Frully commented 10 years ago

“农夫三国”这个词使用nodescws分出来只剩“农夫”,“三国”没了。 对比官方scws的dome是两个词都能分出来的。 使用的是默认词典和规则。 尝试过调整设置,应该不是设置问题。 求教是何原因?

Frully commented 10 years ago

我有研究了一下,看起来是输出的问题,输出时偶数位的词会变成undefined。 输入“小明小红小方小刚校长”,分词结果如下:

[ { word: '小明',
    offset: 0,
    length: 6,
    attr: 'nr',
    idf: 11.699999809265137 },
  ,
  { word: '小方',
    offset: 12,
    length: 6,
    attr: 'nr',
    idf: 13.020000457763672 },
  ,
  { word: '校长',
    offset: 24,
    length: 6,
    attr: 'n',
    idf: 5.239999771118164 } ]

注意小明和小方、小方和校长之间多出一个逗号

dotSlashLu commented 10 years ago

Well, that's a bug...不仔细看还真看不出多了逗号。

为了增加去除换行符和在分词结果里加入停用词功能(官方的只有在get_top时才有使用停用词),我修改了一部分libscws的代码。我看看是什么原因,谢谢反馈。

dotSlashLu commented 10 years ago

@Frully bug已修复,发布了v0.2.2 https://github.com/dotSlashLu/nodescws#v022 npm也已更新。再次感谢:)

Frully commented 10 years ago

感谢修复