StatsBeginner: 初学者の統計学習ノート

統計学およびR、Pythonでのプログラミングの勉強の過程をメモっていくノート。たまにMacの話題。

日本語と英語の、難易度が高い形態素解析の例

 
 小ネタです。
 

すもももももももものうち

 昨日、日本語形態素解析エンジンMeCabに関するエントリを書きました。


statsbeginner.hatenablog.com


 ところで、MeCabの公式サイト(リンク)にいくと、インストール完了後のテストとして「すもももももももものうち」の解析が行われています。"Hello world!"のノリで。

$ mecab
すもももももももものうち
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS


 これを受けて、MeCabの使い方を解説するブログなんかでも、よく「すもももももももものうち」が例文として使われていますね。
 
 
 ひらがなの「も」がこれだけ連続していても正確に解析できるのは凄いですね。
 MeCabは教師あり学習のモデルになっているらしいので、教師データにこの例文が含まれてるのかもしれませんが、公式サイトの例文に使われるぐらいだからそんなオチではないと信じます。
 
 

英語の例

 それで、似たような例文がもっとないだろうかと考えてみたのですが、思いついたのは昔、スティーブン・ピンカーという心理言語学者の本を読んでたら出てきた、

Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.


 という英文でしたw
 Buffaloには、ニューヨーク州にある市の名前のBuffalo、動物の種類のbuffalo、「怖がらせる」という意味の動詞のbuffaloという3つの意味があって、上の文は
 
 
 市・動物・市・動物・怖がらせる・怖がらせる・市・動物
 
 
 の順番に並んでいます。文全体としてのメインの動詞は後ろから3語目のbuffaloで、2語目と3語目の間に関係代名詞が省略されています。関係代名詞を補いつつ階層構造をカッコでくくって表すと、


 {(Buffalo buffalo) who (Buffalo buffalo) buffalo} buffalo (Buffalo buffalo).
 
 
 みたいな感じでしょうか。訳すとすれば、「バッファロー市のバッファローが怖がらせるバッファロー市のバッファローが、バッファロー市のバッファローを怖がらせる」となります。
 
 
 MeCabは日本語形態素解析のソフトなので、英語のソフトはどうなってるんだろうかとググってみたら、TreeTaggerというのが有名だそうで、そのWeb版がありました。品詞を判定するというやつです。


TreeTagger Online

 
 ここに"Buffalo"の例文を入れてみたところ・・・

Buffalo NP Buffalo
buffalo NN buffalo
Buffalo NP Buffalo
buffalo NN buffalo
buffalo NNS buffalo
buffalo VVP buffalo
Buffalo NP Buffalo
buffalo NN buffalo


 ダメだったようですw
 NPは固有名詞、NNは名詞の単数形、NNSは名詞の複数形、VVPは他動詞です(意味はこの記事に一覧が載っている)。つまり、5語目がVVPになってないとダメなんですよね。
 
 
 このBuffaloの例文はWikipediaの記事にもなっていて(リンク)、そこにもう1個、興味深い例文が載っていました。
 

"Don't trouble trouble until trouble troubles you"(訳:迷惑に迷惑するまで迷惑を迷惑がるな。つまり「取り越し苦労はするな」ということ)


 これをさっきのTreeTagger Onlineにかけてみます。

Do VV do
n't RB n't
trouble NN trouble
trouble NN trouble
until IN until
trouble NN trouble
troubles NNS trouble
you PP you
. SENT .


 うーんこれもダメですね。INは前置詞、PPは人称代名詞です。
 ついでに、チョムスキーの有名な"Colorless green ideas sleep furiously."(無色の緑色の考えが猛烈に眠る。)も解析してみます。これは、文法的には正しいけど意味をなさない文としてチョムスキーが例示したものです。

Colorless JJ colorless
green JJ green
ideas NNS idea
sleep VVP sleep
furiously RB furiously
. SENT .


 これは余裕でいけました。JJは形容詞、RBは副詞です。
 
 

日本語の他の例文

 日本語の例文を探していたら、Yahoo!知恵袋にこんな記事がありました。


detail.chiebukuro.yahoo.co.jp


 ひらがなで与える必然性がない文も多く、解析できなくても仕方ないという気がしますが。

はははははじょうぶだ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
じょうぶ 名詞,形容動詞語幹,*,*,*,*,じょうぶ,ジョウブ,ジョーブ
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
EOS


 ダメでした。

$ mecab
ぶたがぶたをぶったので、ぶたれたぶたがぶったぶたをぶった。
ぶた 名詞,一般,*,*,*,*,ぶた,ブタ,ブタ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
ぶた 名詞,一般,*,*,*,*,ぶた,ブタ,ブタ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
ぶっ 動詞,自立,*,*,五段・タ行,連用タ接続,ぶつ,ブッ,ブッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
ので 助詞,接続助詞,*,*,*,*,ので,ノデ,ノデ
、 記号,読点,*,*,*,*,、,、,、
ぶた 動詞,自立,*,*,五段・タ行,未然形,ぶつ,ブタ,ブタ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
ぶた 名詞,一般,*,*,*,*,ぶた,ブタ,ブタ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
ぶっ 動詞,自立,*,*,五段・ラ行,連用タ接続,ぶる,ブッ,ブッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
ぶた 名詞,一般,*,*,*,*,ぶた,ブタ,ブタ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
ぶっ 動詞,自立,*,*,五段・タ行,連用タ接続,ぶつ,ブッ,ブッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS


 これはいけました。しかしこの文は動詞が活用してることもあり、そんなに難易度高くない気もしますね。


 他に何か面白い例文ないかな。
 なお、MeCabの性能は、Web版形態素解析ツールの「Web茶まめ」(リンク)でも簡単に試せます。