AKB428は荒野を目指す

秋葉原で働くエンジニアなブログ

Word2Vec + NEologd(Mecab) で2016春アニメ判定器用の2つの人工知能(モデル)を作る

今さらながらWord2VecとNEologd(Mecab)を使ってみました。

Word2Vec・・文字をベクトル化して単語同士の演算や類似度単語列挙ができる

NEologd・・最新の単語も網羅してるナイスな日本語辞書。ちょっとだけ入れるのが大変

- Mecab・・日本語解析ライブラリ。Javaで使う時はJNIを使ったりしないといけないちょっと面倒

 

NEologdのインストールは思っていたよりは簡単でしたが、やはりマシン固有のインストールになるのでそこがイヤンな感じ。

Mecabはもういろいろ面倒でJavaで使うのは諦めてRubyで今回やりました。

 

Word2Vecを使うにはまず学習データが必要になります。

ここで普通はwikipediaの2Gぐらいのインデックスデータなどを使いWord2Vecにかけるのですが、まぁ遅いのなんので何度もトライアンドエラーしたくない感じです。

私が興味あるのはアニメの解析なので、実はwikipediaはいらないんじゃね?という結論にいたり今回は、ターゲットを「売りスレ」(アニメの円盤の売上について語る掲示板)と「Twitterで今期アニメについて語っているツイート」の2つに絞りモデルをそれぞれ作ってみました。

こうすることで「売りスレ」(わりと2chに近い性格)Twitter民(わりと偽善者)の2つの人格(人工知能)を比較することができるので面白いです。

 

 

f:id:rakuda00:20160418031902p:plain

 

f:id:rakuda00:20160418032356p:plain

 

売りスレのモデル

 

2016春アニメの「売りスレ」を学習した Word2Vec + NEologd の例

 作成したモデルに対して「覇権」の類似語を出力させています。

 マクロス、カバネリ、クロムクロ、ばくおん、リゼロなどが上がっており、「売りスレ」の判定ではこれらが覇権アニメのようです。

 

Word2Vec+NEologdで売りスレを学習させた例 四天王

作成したモデルに対して「四天王」の類似語を出力させています。

 マクロス、カバネリ、クロムクロ、ばくおん、などが上がっており、「覇権」とだいたい同じアニメが列挙されています。

 

Twitterのモデルと売りスレのモデルの比較

ではこんどはアニメ作品のタイトルを使っての類似語の列挙を2つのモデルでおこなってみます。

売りスレの学習データは4月16日〜4月17日のデータ

Twitterの学習データは4月1日〜4月15日までのデータです

時期が違いますが、時期の違いよりもサイト特性の違いのほうが影響がでかいため時期はさほど問題にはなりません。

 

はいふり

「はいふり」から「ハイフリートスクール」に1話でタイトル変更を行うという暴挙にでた作品。(TV番組表なども2話以降タイトル変更)

アニメデータ解析者にとってはかなりの難敵です。

ここでは「はいふり」の類似語に「ハイフリートスクール」が出るかが焦点になります。

 

「売りスレ」モデルの方です

Word2Vec+NEologdで売りスレを学習させた例 はいふり

 

ハイフリートスクール」でなくガルパンや艦これが類似語として列挙されました。

おそらく「艦これ」と「ガルパン」をまぜた作品・・と掲示板で言われてるから類似語にあがったのでしょう。これがいわゆる「売りスレ脳」というやつなのかもしれません。

かなり面白いです。

 

Twitterのモデルの方です

Neologd+Word2vec はいふり Twitter

 

Twiterのアカウントらしきものも混じってますが「ハイスクール・フリート」と出てるのがいい感じです。

Word2Vecは1文章に出てきた単語でグループ化して関連度が高いと判定するため140文字しかないツイッターではまともな結果が出るのか不安でしたがいい感じではあります。

 

 

 ばくおん!
 

売りスレのモデルに「ばくおん」の類似語を出力させます

Neologd + word2vec 売りスレ ばくおん

 

売りスレの場合、ばくおんの内容そのものよりも他作品との比較が多いせいか他の覇権作品が類似語として上がってきています。

ある意味、これも正しいのですが「ばくおん」に関連する言葉も欲しい

 

次にTwitterモデルに「ばくおん」の類似語を出力させます

 

Neologd + word2vec ばくおん Twitter

 

ばくおんの放送最新話に沿った類似語がかなり出てきています。

チキンレースなどは放送された最新話での話です。

HONDAやKAWASAKIが出ているのもいい傾向です。

主人公が乗っていたバイクの愛称「バイタ(売女)」が出てるのがかなり笑えます。

売りスレのデータに比べて数値が高いのも注目したい点です。

Twitterのデータの量の方が今回は大きい(10倍以上)ため学習データの差でスコアに差が出たのだと思われます。

 

 

今回はたまたま2つのモデルを作成して比較検証しましたが、実際にWord2Vecを使ってサービスを作る際も、学習モデルをSNSやサイトから取得している場合はサイト特性に応じたモデルをいくつか作り、使い分けしたりハイブリッドエンジンとして混ぜてつかうと面白いかなと思います。

 

今回の検証でアニメの解析に関してはwikipediaを使わなくともアニメ関連の掲示板やSNSの呟きのみでWord2Vecの教師データが作成でき、ある程度使い物になることが解りました。

今後この強力な武器でなにか面白いサービスを作ってみたいと思います。

 

・・売りスレの測定器で「くまみこ」が出なかったのが気がかりです・・

どう考えても今期覇権は「くまみこ」のはず・・・。

 

 

 

くまみこ 1<くまみこ> (コミックフラッパー)

くまみこ 1<くまみこ> (コミックフラッパー)

 
くまみこ 6<くまみこ> (コミックフラッパー)

くまみこ 6<くまみこ> (コミックフラッパー)

 
くまみこ 壱 - くまぼっくす - [Blu-ray]

くまみこ 壱 - くまぼっくす - [Blu-ray]

 
くまみこちゃん (MFC)

くまみこちゃん (MFC)