Spica*

プログラミングの話。

mecabをnodeで使う (Mac OS X)

# MeCabインストール
$ brew search mecab
homebrew/php/php53-mecab      homebrew/php/php56-mecab      mecab-jumandic                mecab-unidic
homebrew/php/php54-mecab      mecab                         mecab-ko
homebrew/php/php55-mecab      mecab-ipadic                  mecab-ko-dic

$ brew install mecab mecab-ipadic

# モジュール作って、インストール
$ mkdir my-mecab-test
$ cd my-mecab-test
$ npm init
$ npm install mecab-async --save

# テストファイル作る
$ vim test.js

今回使用したモジュールは、 node-mecab-async です。このドキュメントに沿って、下記のように "test.js" を記述しました。

var MeCab = new require('mecab-async')
  , mecab = new MeCab();

mecab.parse('すもももももももものうち', function(err, result) {
  if (err) throw err;
  console.log(result);
});

そして実行。

$ node test.js
[ [ 'すもも', '名詞', '一般', '*', '*', '*', '*', 'すもも', 'スモモ', 'スモモ' ],
  [ 'も', '助詞', '係助詞', '*', '*', '*', '*', 'も', 'モ', 'モ' ],
  [ 'もも', '名詞', '一般', '*', '*', '*', '*', 'もも', 'モモ', 'モモ' ],
  [ 'も', '助詞', '係助詞', '*', '*', '*', '*', 'も', 'モ', 'モ' ],
  [ 'もも', '名詞', '一般', '*', '*', '*', '*', 'もも', 'モモ', 'モモ' ],
  [ 'の', '助詞', '連体化', '*', '*', '*', '*', 'の', 'ノ', 'ノ' ],
  [ 'うち', '名詞', '非自立', '副詞可能', '*', '*', '*', 'うち', 'ウチ', 'ウチ' ] ]

mecabほんとすごい…