nodejieba - "结巴"分词的Node.js版本


MIT
跨平台
JavaScript

软件简介

NodeJieba “结巴”分词的Node.js版本

Introduction

NodeJieba只是CppJieba简单包装而成的node扩展,用来进行中文分词。

详见NodeJiebaBlog

Install

npm install nodejieba

因为npm速度很慢而且经常因为墙的原因出现莫名其妙的问题,在此强烈建议使用cnpm,命令如下:

npm --registry=http://r.cnpmjs.org install nodejieba

Usage

默认分词算法

初始化

var segment = require("nodejieba");
segment.loadDict("./node_modules/nodejieba/dict/jieba.dict.utf8", "./node_modules/nodejieba/dict/hmm_model.utf8");

阻塞式调用

var wordList = segment.cutSync("阻塞模式分词"); if (wordList.constructor == Array) // just for tutorial, this is always be true  {
    wordList.forEach(function(word) { console.log(word);     
    });
}

非阻塞式调用

segment.cut("非阻塞模式分词", function(wordList) {
    wordList.forEach(function(word) { console.log(word);     
    });
});

搜索引擎分词算法

初始化

var segment = require("nodejieba");
segment.queryLoadDict("./node_modules/nodejieba/dict/jieba.dict.utf8", "./node_modules/nodejieba/dict/hmm_model.utf8");

阻塞式调用

var wordList = segment.queryCutSync("阻塞模式分词"); if (wordList.constructor == Array) // just for tutorial, this is always be true  {
    wordList.forEach(function(word) { console.log(word);     
    });
}

非阻塞式调用

segment.queryCut("非阻塞模式分词", function(wordList) {
    wordList.forEach(function(word) { console.log(word);     
    });
});

具体用法可以参考 test/segment.js test/query_segment.js

Testing

在node v0.10.2下测试通过

Demo

http://cppjieba-webdemo.herokuapp.com/ (chrome is suggested)

Thanks

Jieba中文分词