めるめると学ぶ人工知能① n-gram
める「あんあん、おっはよー。突然だけど、めるめるといっしょに人工知能の勉強をしよう。」
あんな「ほんとに突然ですわね。それで、なんでそんなことになっていますの?」
める「それはね。まず、この文章を見て。」
新曲の練習に励むメルティックスターの3人だったが、あんなの成績が下がっていることを理由に、あんなの母はプリ☆チャン禁止を言い渡し新曲を没収してしまう。次のテストで全教科満点をとれば返すという条件の中、テスト勉強に燃えるあんな。しかしテスト当日、ある教科でつまづいてしまい……
(キラッとプリ☆チャン第36話「100点めざしてみましたわ!」
エピソード キラッとプリ☆チャン|テレビ東京アニメ公式 プリチャン やってみた!
)
あんな「あら、これは前のわたくしの感動的な回のあらすじじゃありませんの?一体何かおかしなところが・・・」
める「実はこの文章を見た、めるめるがU.S.Aに留学していたときのフレンドがこんな文章を送って来たんだ。彼女は日本の”インム”とかいうのに詳しかったんだけど・・・」
試合を終えて家路へ向かうサッカー部員達。
疲れからか、不幸にも黒塗りの高級車に追突してしまう。後輩をかばいすべての責任を負った三浦に対し、車の主、暴力団員谷岡が言い渡した示談の条件とは・・・。
あんな「なんか。どことなく似ていますわね。」
める「そう。だからめるめる、これをしっかりしゃっきり調べないといけないと思って。」
あんな「それで、わたしのところに来たんですわね。それでなんで人工知能になるんですの?」
める「今回は、この2つの文章がどれくらい似ているかを”n-gram”(エヌグラム)という手法を使って調べるよ。”n-gram"は人工知能の中の自然言語処理という分野で使われている一つの手法で、レポートや論文の盗作を見極めるのに使われているんだ。」
める「”n-gram"は、ざっくり言うと、文章の中から何文字か抜き出したかたまりのことだよ。例えば2文字ずつ抜き出す場合をバイグラムといって、”赤城あんな”なら、”赤城”、”城あ”、”あん”、”んな”に分けられる。」
あんな「なんで、そんな面倒くさいことしますの?」
める「文字の入れ替えただけの盗作も見分けることができるんだ。例えば、あんあんがさららの書いた夏休みの宿題の税の作文を写して先生に出そうとするでしょ。そのとき、流石に全部写すと先生にバレるから、”納税は国民の義務である。"という文章を"国民は義務として納税を行う。”に書き換えたとしよう。でも語順を変えても”納税”、”国民”、”義務”はしっかり残っちゃうから、あんあんはさららの文章を真似たことが先生に分かっちゃうんだ。」
あんな「たとえが癪に触りますけど、大体分かりましたわ。」
める「それじゃ、n-gramの中でも今日は、2文字のバイグラム、3文字のトリグラムを使って調べてみるよ。めるめるの作ったプログラムに2つの文章を放り込んで出た答えがこれだよ。」
バイグラム
適合率 8.823%(36話のあらすじの文章中のすべてのバイグラムの中にどれくらい暴力団の文章と一致するバイグラムがあったか)
一致する文字列 ['った', '言い', 'い渡', '渡し', 'して', 'てし', 'しま', 'まう', 'う。', '条件', 'てし', 'しま']
トリグラム
適合率 5.185%
一致する文字列 ['言い渡', 'い渡し', 'してし', 'てしま', 'しまう', 'まう。', 'てしま']
あんな「9%くらいならさっぱりに似ていないじゃありませんの。よかったですわー。」
める「ちなみに、さらに1話前のこれと暴力団の文章とも比較してみたヨ」
衣替えの整理をしていたえもの祖母マーサは、戸棚の奥から古いアルバムを発見する。
その中に昔撮った親友との写真を見つけ、今、何をしているかと思いをはせるマーサ。すると春太から、容姿が似た「スケットマン」という人物が町で噂されていると聞き、えもと春太の三人で探すことに。
(キラッとプリ☆チャン第35話「友情、時をこえてみた!」)
バイグラム
適合率 3.816%
一致する文字列 ['して', 'から', 'った', 'して', 'から']
トリグラム
適合率 0.0%
一致する文字列 なし
める「やっぱりあんあんの文章、他のに比べたら暴力団のに似てるね・・・」
あんな「・・・・・・」
(参考文献)
この本の中のプログラムをそのまま使いましたので、プログラムの掲載は控えます。
Pythonによるスクレイピング&機械学習 開発テクニック BeautifulSoup,scikit-learn,TensorFlowを使ってみよう クジラ飛行机 (著) 2016/12/6