Node.jsでmecab-ipadic-NEologdを使う

kuromoji.jsを使ってみたに引き続き、Node.jsでmecab-ipadic-NEologdを使ってみた際のメモです。

システムにmecabとmecab-ipadic-NEologdを導入し、mecabのラッパーであるmecab-async経由で形態素解析する例です。

mecab-ipadic-NEologdの導入

mecab-ipadic-NEologdを導入するために、まずはmecabとmecab-ipadicをシステムに導入します。

手順については、mecab-ipadic-NEologdのREADMEに詳しく書いてありますので、ここでは、OSXの場合の手順を抜粋しておきます。

以上で導入が完了です。

コマンドラインから使ってみる

まずはmecabをコマンドラインから使ってみます。
コマンドに引数でNEologdのパスを渡すことで利用する辞書を変更できます。

ちなみに、デフォルトのipadicの場合は以下のようになります。

mecab-ipadic-NEologdの場合は、
「金曜日のスマたちへ」が固有名詞として認識されているのに対して、
ipadicの場合は固有名詞と認識できずに形態素解析されています。

文章の「読み」の取得について

NEologdによって認識できる固有名詞が増えると文章の「読み」をより正確に取得できるようになります。例えば「幽遊白書」だと以下のようになります。

Node.jsから利用

次に、Node.jsから辞書を指定してmecabを使うためにmecab-asyncをnpmでカレントディレクトリに導入します。

次に、同じディレクトリに以下のneologd-test.coffeeを作ります。

hubotでの利用を見据えて、CoffeeScriptで実装してみました。
コマンド引数で形態素解析したい文字列を指定できます。
7行目で形態素解析の結果を、12行目で解析結果をもとに文字列の読みを出力します。

実行

前記のソースをCoffeeScriptで実行すればmecab-ipadic-NEologdによる形態素解析の結果を確認できます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする