形態素解析をしよう(1)

形態素解析をしよう(1)

どうも、さむらいです。
最近、LINE-BOTを使ったハッカソンで形態素解析を少し使った(残念ながら、まったくフィーチャーされませんでした!!)ので、改めて形態素解析について復習してみました。

<参考>
・bitWave過去記事『機械的な“BOT”が血の通ったコミニュケーションを生み出す

形態素解析とは

形態素解析については、今更紹介するまでもないと思いますが、あまり詳しくない人が本記事を見ていることも鑑みて、分かりやすい参考サイトを貼っておきます。

自分で改めて説明するつもりはありません。ないのです。

<参考>
・形態素解析エンジン・言語郎『形態素解析とは?
※回し者ではありません。

何に使うのか

上記参考サイトに応用例ページがあるので、そちらを見てもらうのが早そうです。
“車輪の再発明”はしない主義。しません。
ということでリンク。

<参考>
・形態素解析エンジン・言語郎『形態素解析の応用例
※くどいようですが、回し者ではありません。

どう使うのか

さむらいが今回のハッカソンで使ったのは、phpの『IGO』という形態素解析エンジンです。
これはみんな大好きプログラマー御用達の技術共有サービス「qiita」にセットアップ方法等があったのでそれを参考にしサーバにインストール。

ちなみにそのページがコチラ

早速、形態素解析にかけてみる

解析器にかけやすそうなbitWaveの過去記事を探していたら、声に出して笑っちゃう記事を見つけたので、これを解析してみます。
元記事はコチラ

へぇ~、EZYPT さんアルバム発売おめでとうございます!(もう遅いか)
ファラオとはよく雑談する(仕事の話はしない)ので、とても嬉しい限りです。

ということで、文章をすべて解析すると解析器がヒエログリフによって壊れそうなので、以下の一部分だけを解析してみました。

image04

解析結果自体は特に驚くものはなかったのですが、一点残念な結果が。
下の画像をよくご覧ください。

image05

「ファラオ」が辞書に登録されていないせいか、「ファ」と「ラオ」で別の単語として認識されてしまっています。「ファラオ」という言葉そのものは結構有名だと思っていたけど、『MeCab』の辞書に入ってないんですね。
まだまだだな、「ファ」「ラオ」よ。

『MeCab』に「ファラオ」を覚えてもらい、『IGO』に使ってもらいたい

ということで、以下の内容で csv ファイルを作成し、「ファラオ」を辞書に登録。

「ファラオ」なんてそうそう出てくる単語ではないので(EZYPTが売れたらよく聞くようになるのか?)、出現頻度は5000にしておきました。なお、この数値が小さいほど、よく出てくる単語として扱われます。

ファラオ,1285,1285,5000,名詞,一般,,,,,ファラオ,ファラオ,ファラオ

ユーザ辞書に登録するので、コマンドは以下のような形に。

ユーザ辞書の登録がうまくいくと以下のように出力され、pharaow.dicが作成されます。

done!(ドーン!!)

上記で作成した辞書の参照するために、ユーザ辞書のディレクトリパスを『MeCab』さんに教えてあげるとします。

では、満を持してテスト。

image06

あ、あれ? 変わってないな……。

なんでかなー、と思ったら、IGO-PHPの辞書に登録する必要がありそうで。。。
むむむ、いろいろやり方を調べているうちに、ブログ記事投稿の締め切りが来てしまいました。

そうゆうわけで、次回は『IGO-PHPが利用する辞書にユーザ辞書を登録し、絶対「ファ」と「ラオ」を分けずに出力する編』をお送りいたします。

近いうちに。ではまた。

コメント