2014.03.11 Tuesday
艦これは良く知らないけれど"word2vec"でアイマスのアイドルを検索してみたよ
元ネタはこれです。
自分はpythonを使っていないので、サンプルコードが動くようになるまで2〜3時間掛かってしまい、1度実行するのにも時間が掛かるので、今日は765プロのアイドルの名前単体で検索した結果を載せるだけです。
元データはたまたま最近ダウンロードしていた、2ちゃんねるのアイドルマスターミリオンライブスレPart1〜560を使わせてもらいました。
結果の見方ですが、検索したアイドルと似た文章が見付かった単語が、近い順に出ています。
もう少し簡単に説明すると、文章中の検索した単語を、検索結果の単語と置き換えても通じる順、となります。
例文:「春香 は、かわいい」 → 「風花 は、かわいい」
s(['春香'])
rank word score
1 風花 0.636098
2 ドロシー 0.600477
3 このみ 0.569431
4 田中 0.565158
5 ニセレブ 0.557306
6 豊川 0.550058
7 二階堂 0.549951
8 高山 0.543377
9 小鳥 0.54194
10 音無 0.537906
s(['はるるん'])
rank word score
1 律っちゃん 0.586169
2 バサバサ 0.573658
3 閣下 0.544117
4 望月 0.522755
5 ちひゃー 0.511385
6 馬場さん 0.509967
7 三枚目 0.508508
8 むちぽよさん 0.493561
9 ファインダー 0.492265
10 ツバッティー 0.484343
s(['千早'])
rank word score
1 伊織 0.59276
2 響 0.574238
3 美希 0.55654
4 いおりん 0.546686
5 雪歩 0.54499
6 貴音 0.533863
7 バカンス 0.510677
8 やよい 0.504319
9 春香 0.502192
10 百合子 0.487325
s(['やよい'])
rank word score
1 雪歩 0.6654
2 貴音 0.642723
3 美希 0.629257
4 律子 0.627897
5 ウェスタン 0.621783
6 響 0.618709
7 ウエスタン 0.616295
8 伊織 0.601346
9 パジャマ 0.598891
10 あずささん 0.594647
s(['貴音'])
rank word score
1 雪歩 0.658273
2 響 0.655431
3 伊織 0.646378
4 やよい 0.642723
5 律子 0.626117
6 あずさ 0.618757
7 お姫ちん 0.615124
8 美希 0.581352
9 真 0.576042
10 ウエスタン 0.543595
s(['響'])
rank word score
1 貴音 0.655431
2 真 0.634353
3 雪歩 0.630271
4 やよい 0.618709
5 あずささん 0.594627
6 りっちゃん 0.576542
7 千早 0.574238
8 美希 0.564739
9 伊織 0.554456
10 律子 0.53318
s(['あずささん'])
rank word score
1 りっちゃん 0.620941
2 のり子 0.604554
3 やよい 0.594647
4 響 0.594627
5 エレナ 0.591062
6 マイディアヴァンパイア 0.569636
7 ウェスタン 0.562833
8 律子 0.560317
9 パジャマ 0.551356
10 花嫁 0.549249
s(['あずさ'])
rank word score
1 美也 0.651949
2 貴音 0.618757
3 むちぽよ 0.612412
4 パジャマ 0.591332
5 伊織 0.586891
6 たかね 0.580903
7 律子 0.579874
8 ウエスタン 0.579651
9 次女 0.568254
10 むちぽよさん 0.559955
s(['亜美'])
rank word score
1 センセー 0.665599
2 真美 0.609987
3 ミツバチ 0.5894
4 チャーム 0.584604
5 蜂 0.540773
6 りっちゃん 0.53729
7 雪歩 0.513839
8 やよい 0.503886
9 律子 0.479379
10 伊織 0.471708
s(['真美'])
rank word score
1 亜美 0.609987
2 ハンマー 0.560278
3 雪歩 0.556388
4 ミツバチ 0.509887
5 真 0.495367
6 響 0.485974
7 センセー 0.485688
8 マイハマン 0.47495
9 のり子 0.467379
10 美奈子 0.466468
s(['雪歩'])
rank word score
1 美希 0.677067
2 やよい 0.6654
3 貴音 0.658273
4 律子 0.63436
5 響 0.630271
6 りっちゃん 0.621445
7 真 0.591292
8 パジャマ 0.58188
9 クリスマス 0.565724
10 真美 0.556388
s(['律子'])
rank word score
1 りっちゃん 0.657489
2 雪歩 0.63436
3 やよい 0.627897
4 貴音 0.626117
5 伊織 0.616615
6 美希 0.612413
7 あずさ 0.579874
8 あずささん 0.560317
9 紗代子 0.552277
10 巨乳艦隊 0.546614
s(['律っちゃん'])
rank word score
1 はるるん 0.586169
2 ゆきぽ 0.547782
3 覚醒千早 0.545332
4 むちぽよさん 0.536536
5 りっちゃん 0.536266
6 バサバサ 0.529424
7 望月 0.523488
8 羅刹 0.519295
9 マカベー 0.515369
10 ウエディング 0.514486
s(['りっちゃん'])
rank word score
1 律子 0.657488
2 雪歩 0.621445
3 あずささん 0.620941
4 紗代子 0.577115
5 響 0.576542
6 待望 0.553467
7 センセー 0.550702
8 巨乳艦隊 0.546001
9 亜美 0.53729
10 律っちゃん 0.536266
s(['真'])
rank word score
1 昴 0.68024
2 響 0.634353
3 雪歩 0.591292
4 貴音 0.576042
5 やよい 0.575114
6 のり子 0.554182
7 伊織 0.54221
8 タキシード 0.522116
9 野球 0.510123
10 ジュリア 0.505183
s(['美希'])
rank word score
1 雪歩 0.677066
2 やよい 0.629257
3 律子 0.612413
4 貴音 0.581352
5 伊織 0.580695
6 響 0.564739
7 千早 0.55654
8 ウェスタン 0.521679
9 ウエスタン 0.506984
10 春香 0.501594
s(['ミキ'])
rank word score
1 RQ 0.598092
2 オリエンタル 0.478271
3 美希 0.474064
4 ステップアップガチャ 0.440311
5 美樹 0.423712
6 高山 0.417266
7 ハニー 0.413051
8 みき 0.413007
9 律子 0.406124
10 ウェスタン 0.399243
s(['伊織'])
rank word score
1 貴音 0.646378
2 律子 0.616615
3 やよい 0.601346
4 千早 0.59276
5 あずさ 0.586891
6 美希 0.580695
7 いおりん 0.569386
8 響 0.554456
9 雪歩 0.553557
10 真 0.54221
s(['いおりん'])
rank word score
1 伊織 0.569386
2 千早 0.546686
3 なおなお 0.523182
4 奈緒 0.522446
5 ひなた 0.483107
6 亜利沙 0.460966
7 百合子 0.457888
8 雪歩 0.453418
9 お姫ちん 0.449844
10 のり子 0.444189
s(['プロデューサー'])
rank word score
1 私 0.586455
2 あなた 0.561326
3 わたし 0.522558
4 お兄ちゃん 0.518624
5 アタシ 0.51807
6 ファミリー 0.512912
7 FINDYOURWIND 0.507611
8 ワタ 0.504692
9 提督 0.501446
10 父 0.499305
この、"word2vec"というプログラムは、同じ行に現れた単語をベクトル化して、そのベクトルが近い単語を、近い順に返してくれるものみたいです。(←詳細説明をまだ読んでないので間違ってるかも)
ただ、これが”最新手法”という言葉で紹介されているのは、検索する時に『複数の単語のベクトルを合成(または除外)したものでも検索できる』という部分のようです。
今回はそれをしていないので、その特徴を全く生かせていません。
その内追加データと結果の所感を書くつもりです。
自分が普段使用している汎用連想計算エンジン(以下GETA)も、単語の集合をベクトルに置き換えて計算するプログラムです。
自分は"word2vec"についてまだ全くわかっていないので、二つのプログラムのデータの取り扱いが同じ考え方なのかどうか分かっていません。
こちらについても、もう少し分かったら続きを書きます。
自分はpythonを使っていないので、サンプルコードが動くようになるまで2〜3時間掛かってしまい、1度実行するのにも時間が掛かるので、今日は765プロのアイドルの名前単体で検索した結果を載せるだけです。
元データはたまたま最近ダウンロードしていた、2ちゃんねるのアイドルマスターミリオンライブスレPart1〜560を使わせてもらいました。
結果の見方ですが、検索したアイドルと似た文章が見付かった単語が、近い順に出ています。
s() ・・・ 検索した単語
rank ・・・ 近い順
word ・・・ 近い単語
score ・・・ 近さ(一致=1.0)
rank ・・・ 近い順
word ・・・ 近い単語
score ・・・ 近さ(一致=1.0)
もう少し簡単に説明すると、文章中の検索した単語を、検索結果の単語と置き換えても通じる順、となります。
例文:「春香 は、かわいい」 → 「風花 は、かわいい」
s(['春香'])
rank word score
1 風花 0.636098
2 ドロシー 0.600477
3 このみ 0.569431
4 田中 0.565158
5 ニセレブ 0.557306
6 豊川 0.550058
7 二階堂 0.549951
8 高山 0.543377
9 小鳥 0.54194
10 音無 0.537906
s(['はるるん'])
rank word score
1 律っちゃん 0.586169
2 バサバサ 0.573658
3 閣下 0.544117
4 望月 0.522755
5 ちひゃー 0.511385
6 馬場さん 0.509967
7 三枚目 0.508508
8 むちぽよさん 0.493561
9 ファインダー 0.492265
10 ツバッティー 0.484343
s(['千早'])
rank word score
1 伊織 0.59276
2 響 0.574238
3 美希 0.55654
4 いおりん 0.546686
5 雪歩 0.54499
6 貴音 0.533863
7 バカンス 0.510677
8 やよい 0.504319
9 春香 0.502192
10 百合子 0.487325
s(['やよい'])
rank word score
1 雪歩 0.6654
2 貴音 0.642723
3 美希 0.629257
4 律子 0.627897
5 ウェスタン 0.621783
6 響 0.618709
7 ウエスタン 0.616295
8 伊織 0.601346
9 パジャマ 0.598891
10 あずささん 0.594647
s(['貴音'])
rank word score
1 雪歩 0.658273
2 響 0.655431
3 伊織 0.646378
4 やよい 0.642723
5 律子 0.626117
6 あずさ 0.618757
7 お姫ちん 0.615124
8 美希 0.581352
9 真 0.576042
10 ウエスタン 0.543595
s(['響'])
rank word score
1 貴音 0.655431
2 真 0.634353
3 雪歩 0.630271
4 やよい 0.618709
5 あずささん 0.594627
6 りっちゃん 0.576542
7 千早 0.574238
8 美希 0.564739
9 伊織 0.554456
10 律子 0.53318
s(['あずささん'])
rank word score
1 りっちゃん 0.620941
2 のり子 0.604554
3 やよい 0.594647
4 響 0.594627
5 エレナ 0.591062
6 マイディアヴァンパイア 0.569636
7 ウェスタン 0.562833
8 律子 0.560317
9 パジャマ 0.551356
10 花嫁 0.549249
s(['あずさ'])
rank word score
1 美也 0.651949
2 貴音 0.618757
3 むちぽよ 0.612412
4 パジャマ 0.591332
5 伊織 0.586891
6 たかね 0.580903
7 律子 0.579874
8 ウエスタン 0.579651
9 次女 0.568254
10 むちぽよさん 0.559955
s(['亜美'])
rank word score
1 センセー 0.665599
2 真美 0.609987
3 ミツバチ 0.5894
4 チャーム 0.584604
5 蜂 0.540773
6 りっちゃん 0.53729
7 雪歩 0.513839
8 やよい 0.503886
9 律子 0.479379
10 伊織 0.471708
s(['真美'])
rank word score
1 亜美 0.609987
2 ハンマー 0.560278
3 雪歩 0.556388
4 ミツバチ 0.509887
5 真 0.495367
6 響 0.485974
7 センセー 0.485688
8 マイハマン 0.47495
9 のり子 0.467379
10 美奈子 0.466468
s(['雪歩'])
rank word score
1 美希 0.677067
2 やよい 0.6654
3 貴音 0.658273
4 律子 0.63436
5 響 0.630271
6 りっちゃん 0.621445
7 真 0.591292
8 パジャマ 0.58188
9 クリスマス 0.565724
10 真美 0.556388
s(['律子'])
rank word score
1 りっちゃん 0.657489
2 雪歩 0.63436
3 やよい 0.627897
4 貴音 0.626117
5 伊織 0.616615
6 美希 0.612413
7 あずさ 0.579874
8 あずささん 0.560317
9 紗代子 0.552277
10 巨乳艦隊 0.546614
s(['律っちゃん'])
rank word score
1 はるるん 0.586169
2 ゆきぽ 0.547782
3 覚醒千早 0.545332
4 むちぽよさん 0.536536
5 りっちゃん 0.536266
6 バサバサ 0.529424
7 望月 0.523488
8 羅刹 0.519295
9 マカベー 0.515369
10 ウエディング 0.514486
s(['りっちゃん'])
rank word score
1 律子 0.657488
2 雪歩 0.621445
3 あずささん 0.620941
4 紗代子 0.577115
5 響 0.576542
6 待望 0.553467
7 センセー 0.550702
8 巨乳艦隊 0.546001
9 亜美 0.53729
10 律っちゃん 0.536266
s(['真'])
rank word score
1 昴 0.68024
2 響 0.634353
3 雪歩 0.591292
4 貴音 0.576042
5 やよい 0.575114
6 のり子 0.554182
7 伊織 0.54221
8 タキシード 0.522116
9 野球 0.510123
10 ジュリア 0.505183
s(['美希'])
rank word score
1 雪歩 0.677066
2 やよい 0.629257
3 律子 0.612413
4 貴音 0.581352
5 伊織 0.580695
6 響 0.564739
7 千早 0.55654
8 ウェスタン 0.521679
9 ウエスタン 0.506984
10 春香 0.501594
s(['ミキ'])
rank word score
1 RQ 0.598092
2 オリエンタル 0.478271
3 美希 0.474064
4 ステップアップガチャ 0.440311
5 美樹 0.423712
6 高山 0.417266
7 ハニー 0.413051
8 みき 0.413007
9 律子 0.406124
10 ウェスタン 0.399243
s(['伊織'])
rank word score
1 貴音 0.646378
2 律子 0.616615
3 やよい 0.601346
4 千早 0.59276
5 あずさ 0.586891
6 美希 0.580695
7 いおりん 0.569386
8 響 0.554456
9 雪歩 0.553557
10 真 0.54221
s(['いおりん'])
rank word score
1 伊織 0.569386
2 千早 0.546686
3 なおなお 0.523182
4 奈緒 0.522446
5 ひなた 0.483107
6 亜利沙 0.460966
7 百合子 0.457888
8 雪歩 0.453418
9 お姫ちん 0.449844
10 のり子 0.444189
s(['プロデューサー'])
rank word score
1 私 0.586455
2 あなた 0.561326
3 わたし 0.522558
4 お兄ちゃん 0.518624
5 アタシ 0.51807
6 ファミリー 0.512912
7 FINDYOURWIND 0.507611
8 ワタ 0.504692
9 提督 0.501446
10 父 0.499305
この、"word2vec"というプログラムは、同じ行に現れた単語をベクトル化して、そのベクトルが近い単語を、近い順に返してくれるものみたいです。(←詳細説明をまだ読んでないので間違ってるかも)
ただ、これが”最新手法”という言葉で紹介されているのは、検索する時に『複数の単語のベクトルを合成(または除外)したものでも検索できる』という部分のようです。
今回はそれをしていないので、その特徴を全く生かせていません。
その内追加データと結果の所感を書くつもりです。
自分が普段使用している汎用連想計算エンジン(以下GETA)も、単語の集合をベクトルに置き換えて計算するプログラムです。
自分は"word2vec"についてまだ全くわかっていないので、二つのプログラムのデータの取り扱いが同じ考え方なのかどうか分かっていません。
こちらについても、もう少し分かったら続きを書きます。
他の人にもおすすめの記事だと思ったら押してください。左の記事ランクに反映されます。私信の送信にも使えます。