(その形態素単独)フォーマットの詳しい話は、こちらが参考になりますhttp://mecab.sourceforge.net/format.htmlというわけで、その辺りを設定してMeCabを実行してみます。フォーマットは「%m,%phl,%phr,%pw,%pc,%pn\n」を設定します。これを設定すると、「表層文字,左ID,右ID」の後ろに、上で説明した3つのコストが出力されます。解析結果は2つまで表示しています。1994naist-jdic.csvの当該単語のスコア情報を見てみると、以下のように設定されていました。4752naist-jdic.csvの「日本」と「テレビ東京」の単語生起コストが、「解析結果」の値と等しくなっていることが分かります。次に連接コストについて。matrix.devには連接コストは以下のように記述されています。1352以外に0も必要になります。文頭と文末を意味します。文頭の言葉(今回は日本)は、自身の左に文脈IDが0の値がいるものとして計算されます。これは「解析結果」に表示されている「日本」の「連接+生起」コストと等しいことが分かります。「解析結果1」の「連接+生起(単独)」と等しい値になっていますね。4604」になっています。最後に、これは「解析結果」の出力には表示されていませんが、EOS(文末)への遷移もコストに加える必要があります。0」の遷移の分だけ加算します。3663」になります。東京」に分割する場合のコストはどうなるでしょう。2414単語生起コスト(naist-jdic.csvに記述)は、上表の単語生起コストの値と同じだということが分かっているので省きます。-658以上のデータがあれば、計算可能ですね。3725というわけで、次善の結果の総コストは3725になります。1つ目の解析結果は3663だったので、僅かに2つ目よりコストが低くなっています。658で一発じゃないかと思った方。京」など、考えられる全てのパターンを探索してくれています。MeCabがどのレベルまでパターンを考えているか体感したい場合は、以下のコマンドが有効です。-Odump大量の解析に関わるdumpが出力されます。まとめ以上、「日本テレビ東京で学ぶMeCabのコスト計算」でした。筆者はこれまでMeCabを使う際に、漠然とコストが関わってるのだなぁとしか考えておらず、どの数値をどう計算しているかも知らなかった為、この記事を書いて勉強になりました。MeCabの計算はこれだけではなく、引数に「-l2」を付けると素敵な素敵な周辺確率の世界にも突入できますが、その辺りはまた、別の機会にということで。