前回にも増して超適当に自然言語処理を語る

情報理論の偉い人、シャノン先生はあるとき考えた。
Nana eats an」と来たら、次に来る単語はappleかorangeじゃね?
と。日本語で言うならば、「恐れ入谷の」って来たら、たぶん次は「鬼子母神」だよねってことを。N-gram マルコフモデルっていうのは前に出てきた「ことば」の並びから、次に出てくる「ことば」(の確からしさ)が推定できるとして、自然言語を統計・処理しようとするモデル。たぶん。

「むずかしいはなしはよくわかんない。で、人工無脳にどう役にたつの?」なんですけども。このモデルの統計を取れば、もっともらしい文章を出力するためのデータを機械学習に丸投げできるのが嬉しい。プログラムを書くとき小中学校以来縁の遠かった「国語」の知識を呼び起こして
「ええっと主語があって述語があって、ああこっちの場合は例外で……」
などとやらなくてすむ。これはすばらしい。

MeCabChasenだと、便利な形態素解析ソフトとやらがある。この人たちに日本語を投げると、かなりうまいこと単語毎に切り出してくれる。しかも品詞情報だなんだまで教えてくれる。踏んだり蹴ったり、もとい濡れ手に粟。いやそれも違うな。
単語とか品詞とかもらえると何が嬉しいか。N-gramマルコフモデルの「ことば」の単位を単語にできることが嬉しい。文字を単位にしたモデルよりも、なんかうまくいく、ような気がするからだ。「ことば」がどういう表層(文字でどういう表現になるか)だけじゃなく、文章の中でどういう役割を担ってるかを示す品詞までわかれば、もっとうまくいく。ような気がするからああ嬉しい。

でなんだ。統計データから「それっぽい文章」を出力することができて嬉しいって話まで書いたかなあ。
入力した文章から統計を取って、適当にランダムな「それ文」を出力できるってのが、人工無脳をつくってみようとする6で書いたMezassi.pmにできること。

推敲無しでsubmit!

test