当前位置

网站首页> 程序设计 > 开源项目 > 编程语言 > 浏览文章

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

作者:小梦 来源: 网络 时间: 2024-01-09 阅读:

#广州# OSC源创会第31期(12月27日)开始报名,OSC自曝家丑!

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中文分词

热点阅读

网友最爱