继续聊koa,不对应该是node.js中文分词,实现一些主流博客通过文字内容实现自动推荐分类效果
原理很简单,即对提交的内容进行中文分词,将词条结果过滤,取名词和外文词汇即为我们需要的自动推荐的分类结果:
效果如下:
核心模块,采用segment分词模块;核心代码如下:
dofenci : function*(){
var data =yield parse.form(this);
var word =data.word;
var fenci = new segment();
fenci.useDefault();
var rs =fenci.doSegment(word);
console.log(rs);
var res = _.filter(rs,function(obj){
return _.v.isIn(obj.p,[16,1048576]);//过滤条件,仅仅保留名词,动词和英文词汇,将过滤出结果作为推荐分类
//词性参考https://github.com/leizongmin/node-segment/blob/master/lib/POSTAG.js
});
//推荐去重
var resData=[];
for(var i in res){
resData.push(res[i]['w']);
}
//字母大写转小写
resData=_.map(resData,function(item){
return item.toLowerCase();
});
resData =_.unique(resData);
this.body=yield render('/index/dofenci',{word:word,rs:rs,res:resData}) ;
}