Node.js でテキスト解析
Hachioji.pm #13 で話した、京都テキスト解析ツールキット - KyTeaを Node.js から利用する C++ Addon をドキュメントを整理したうえでGithubに上げました。
GitHub - hideo55/node-kytea: Node.js binding of KyTea
KyTeaとは?
テキストの単語分割(分かち書き)、品詞推定、読み推定を行うことができるテキスト解析ツールです。類似のツールではMeCabが有名ですね。MeCabとKyTeaの違い等はKyTea v.s. MeCab - 形態素解析における点予測対系列ラベリング,または品詞の要不要など - Togetterが参考になると思います。
使い方
//Addonを読み込み var KyTea = require('kytea').KyTea; var path = '/path/to/model'; //オブジェクト作成&モデル読み込み var kt = new KyTea(path, function(err){ if(err) throw err; //タグ推定 kytea.getTags("...", function(err,words){ for(var i =0; i< words.length;i++){ var surf = words[i].surf;//単語表記 var posTag = words[i].tags[0][0]; var pronTag = words[i].tags[1][0]; ... } }); });
kytea.getTags()でタグ推定を行う例です。コールバック関数にはエラーオブジェクトと配列が引数として渡されます。
配列の中身は以下のようになっています。
[ { surf: '私', // 単語表記 tags: [ [//品詞 ['代名詞', 3.6951145482572487] //品詞タグと信頼度 ], [ //読み ['わたし', 2.3796118434353652] //読みタグと信頼度 ] ] }, { ... } ]
詳しくはドキュメントをご覧下さい。