人類の使命に続き第二弾です。
最強の車
兵器に対する「水爆」で、そのカテゴリでの最強な何かを類推させてみたいとおもいます。
In [43]: model.most_similar(positive=['車', '水爆'], negative=['兵器']) Out[43]: [('ダンプカー', 0.4871062934398651), ('電車', 0.4699863791465759), ('単車', 0.46710675954818726), ('オープンカー', 0.46553075313568115), ('マイクロバス', 0.4547302722930908), ('排気ガス', 0.4462153911590576), ('乗用車', 0.44573163986206055), ('タンクローリー', 0.44489237666130066), ('ボギー車', 0.4413754940032959), ('事故現場', 0.4407508075237274)]
ダンプカーが最強だそうです。たしかに。タンクローリーも最強な感じがしますね。
最強の趣味
In [44]: model.most_similar(positive=['趣味', '水爆'], negative=['兵器']) Out[44]: [('好き', 0.5677952766418457), ('映画鑑賞', 0.5464236736297607), ('特技', 0.5445062518119812), ('スポーツ観戦', 0.5437335968017578), ('大好き', 0.5437293648719788), ('好きな物', 0.5245440006256104), ('スキューバダイビング', 0.5219203233718872), ('好物', 0.49256274104118347), ('筋トレ', 0.49235254526138306), ('マイブーム', 0.49024906754493713)]
スポーツ観戦、ダイビング、筋トレだそうです。運動系が多いですね。物理で殴れ、みたいな感じかな?
学歴
In [45]: model.most_similar(positive=['学歴', '水爆'], negative=['兵器']) Out[45]: [('津田塾大学', 0.44191402196884155), ('国際基督教大学', 0.43961143493652344), ('聖心女子大学', 0.4359847605228424), ('成蹊大学', 0.43384850025177), ('文芸学部', 0.4303687810897827), ('成蹊高等学校', 0.42860448360443115), ('修道高等学校', 0.42487841844558716), ('政経学部', 0.4210715889930725), ('成城大学', 0.4132804870605469), ('共立女子短期大学', 0.4117504358291626)]
うーん…。もうちょっと限定させた方が良さそうだ。じゃあ、アメリカで言うMITにあたる日本の大学は?
In [47]: model.most_similar(positive=['日本', 'MIT'], negative=['アメリカ']) Out[47]: [('千葉大学', 0.5658024549484253), ('電気通信大学', 0.5643893480300903), ('東京理科大学', 0.5425586700439453), ('大阪教育大学', 0.5387907028198242), ('山梨大学', 0.5330049991607666), ('東工大', 0.5318318009376526), ('カーネギーメロン大学', 0.5315263867378235), ('東北大学', 0.529177188873291), ('東京工科大学', 0.5280918478965759), ('大阪大学', 0.5262444019317627)]
おお!それっぽいぞ!トップが千葉大なのがちょっと気になるけど。じゃあハーバードはどうだろう。
In [48]: model.most_similar(positive=['日本', 'ハーバード'], negative=['アメリカ']) Out[48]: [('種智院大学', 0.558855414390564), ('大正大学', 0.5509837865829468), ('花園大学', 0.5501788854598999), ('京都教育大学', 0.5449434518814087), ('お茶の水女子大学', 0.5401522517204285), ('千葉大学', 0.5394665002822876), ('小樽商科大学', 0.5342907309532166), ('立正大学', 0.5336884260177612), ('京都府立大学', 0.5328034162521362), ('京都情報大学院大学', 0.5326995849609375)]
えっ…。もうちょっと違う言葉にしてみよう。
In [49]: model.most_similar(positive=['日本', 'ハーバード大'], negative=['アメリカ'] ...: ) Out[49]: [('学習院大学', 0.6644800901412964), ('慶応義塾大学', 0.6581171751022339), ('國學院大学', 0.6559795141220093), ('二松学舎大学', 0.6537451148033142), ('都留文科大学', 0.6529182195663452), ('京都府立大学', 0.6513246297836304), ('小樽商科大学', 0.6441404223442078), ('お茶の水女子大学', 0.6407151222229004), ('函館大学', 0.6396198272705078), ('花園大学', 0.6392101645469666)]
これもちょっと微妙だな。じゃあ「ハーバード大学」は?
In [50]: model.most_similar(positive=['日本', 'ハーバード大学'], negative=['アメリカ ...: ']) Out[50]: [('お茶の水女子大学', 0.6813747882843018), ('千葉大学', 0.671390175819397), ('東京大学', 0.6660049557685852), ('花園大学', 0.660922646522522), ('東北大学', 0.6588993072509766), ('学習院大学', 0.650392472743988), ('慶応義塾大学', 0.6465259790420532), ('東京造形大学', 0.6449434161186218), ('小樽商科大学', 0.6431803703308105), ('東京理科大学', 0.6424373388290405)]
お茶の水強いな。あと千葉大も出てきた。
地域
市町村の名前ではどうだろう?
In [52]: model.most_similar(positive=['日本', 'ニューヨーク'], negative=['アメリカ'] ...: ) Out[52]: [('東京', 0.7192708253860474), ('大阪', 0.5998897552490234), ('関西', 0.5595093965530396), ('京都', 0.5192846059799194), ('名古屋', 0.504023551940918), ('神奈川', 0.5003798604011536), ('札幌', 0.49999159574508667), ('北海道札幌市', 0.4968940019607544), ('東京中央', 0.4880274534225464), ('東京都', 0.48627591133117676)] In [53]: model.most_similar(positive=['日本', 'サンフランシスコ'], negative=['アメリ ...: カ']) Out[53]: [('東京', 0.6842719912528992), ('大阪', 0.6145633459091187), ('東京都内', 0.5566956400871277), ('ホノルル', 0.55049729347229), ('京都', 0.5500518679618835), ('関西', 0.5496141910552979), ('宮城県仙台市', 0.5385982394218445), ('都内', 0.5358612537384033), ('兵庫県神戸市', 0.5314884781837463), ('福岡県福岡市', 0.5252894759178162)] In [54]: model.most_similar(positive=['日本', 'ラスベガス'], negative=['アメリカ']) Out[54]: [('東京', 0.578539252281189), ('東京都内', 0.5568128824234009), ('都内', 0.5506759881973267), ('新宿', 0.519801139831543), ('MGMグランド', 0.5089303255081177), ('東京キネマ倶楽部', 0.5072373151779175), ('東京都渋谷区', 0.5026382207870483), ('六本木', 0.5009575486183167), ('大阪', 0.4963320195674896), ('よみうりホール', 0.49498921632766724)] In [55]: model.most_similar(positive=['日本', 'ロズウェル'], negative=['アメリカ']) Out[55]: [('東京', 0.4486798048019409), ('山梨県上野原市', 0.4254250228404999), ('ほうき星', 0.4238247573375702), ('武蔵野', 0.4180765450000763), ('薩摩硫黄島', 0.41499364376068115), ('三鷹市', 0.4092234969139099), ('羽村市', 0.40835803747177124), ('三浦市', 0.40356379747390747), ('東京都立川市', 0.4002583622932434), ('キャッシー', 0.3990603983402252)] In [56]: model.most_similar(positive=['日本', 'デトロイト'], negative=['アメリカ']) Out[56]: [('東京', 0.6383340358734131), ('大阪', 0.583315372467041), ('関西', 0.5527859330177307), ('兵庫県西宮市', 0.5457843542098999), ('埼玉', 0.5432716608047485), ('兵庫県神戸市', 0.5353044271469116), ('神奈川', 0.5334066152572632), ('東京都内', 0.52476966381073), ('宮城県仙台市', 0.5232798457145691), ('名古屋', 0.5212063789367676)] In [57]: model.most_similar(positive=['日本', 'ハワイ'], negative=['アメリカ']) Out[57]: [('沖縄', 0.6730717420578003), ('奄美', 0.6177670359611511), ('石垣島', 0.5985319018363953), ('九州', 0.5839428901672363), ('東京', 0.578520655632019), ('奄美大島', 0.5662021040916443), ('屋久島', 0.5653406381607056), ('パラオ', 0.5531713962554932), ('徳之島', 0.551487922668457), ('宮古島', 0.5514500141143799)] In [58]: model.most_similar(positive=['日本', 'グアム'], negative=['アメリカ']) Out[58]: [('サイパン', 0.6679530143737793), ('パラオ', 0.6541091203689575), ('沖縄', 0.5985808372497559), ('石垣島', 0.5916317105293274), ('南鳥島', 0.5834410190582275), ('慶良間諸島', 0.572235107421875), ('草垣群島', 0.5714197158813477), ('マーシャル諸島', 0.5588457584381104), ('サイパン島', 0.5576650500297546), ('グアム島', 0.5526014566421509)] In [59]: model.most_similar(positive=['日本', 'フロリダ'], negative=['アメリカ']) Out[59]: [('九州', 0.5403544306755066), ('東京', 0.5357263088226318), ('奄美', 0.5183857083320618), ('鹿児島', 0.5147466659545898), ('関西', 0.5096019506454468), ('西日本', 0.49283701181411743), ('北海道', 0.48762932419776917), ('沖縄', 0.4845426082611084), ('秋田', 0.48347190022468567), ('徳之島', 0.4815409183502197)] In [60]: model.most_similar(positive=['日本', 'ビバリーヒルズ'], negative=['アメリカ ...: ']) Out[60]: [('東京', 0.5297046303749084), ('都内', 0.5037904977798462), ('東京都内', 0.5017752051353455), ('ニューオータニ', 0.48212507367134094), ('千葉県浦安市', 0.4763365387916565), ('六本木', 0.47574546933174133), ('静岡県伊東市', 0.4670323133468628), ('東京都世田谷区', 0.46306872367858887), ('東京都三鷹市', 0.4609428942203522), ('としまえん', 0.4591794013977051)]
面白いですね!
ニューヨーク、サンフランシスコに対応するのは東京、京都、大阪、仙台、名古屋あたりと、単に大きい都市が列挙されてるだけですが、ラスベガスだと新宿、渋谷、六本木などかなり絞られた区域が出てきます。よみうりホールがちょっと謎ですが。
ロズウェルに対応するのは三鷹、羽村、立川なんかが出てきます。うーん、分かるような分からんような。ロズウェルに対しては「ほうき星」が関連しているというのも面白いですね。アメリカのロズウェル事件と日本でのハレー彗星(ほうき星)による一連の騒動なんかが似通ってるということでしょうか。
ハワイ、グアムに関しては沖縄とか石垣島とか出てきてますね!賢いですねコイツ!フロリダに対する奄美、鹿児島、北海道あたりもなんとなく理解できます。秋田が出てくるのはちょっと謎ですが。
ビバリーヒルズに対応するのは浦安、六本木、世田谷、三鷹、伊東市だそうです。六本木、世田谷、三鷹はなんとなくわかるが、浦安ってそんなにビバリーでヒルズかなあ?伊東市は行ったこと無いから分からん。
じゃあ今度は車関係を調べてみましょう。
In [62]: model.most_similar(positive=['アルファード', 'スーパーカー'], negative=['NS ...: X']) Out[62]: [('ミニバン', 0.6281086206436157), ('ワンボックスカー', 0.6192965507507324), ('スズキ・ジムニー', 0.6117730736732483), ('ジェッタ', 0.6106795072555542), ('フォード・マスタング', 0.6058211922645569), ('ピックアップトラック', 0.6057510375976562), ('トライク', 0.6044495105743408), ('MPV', 0.6012470722198486), ('ハイラックス', 0.6003690958023071), ('SUV', 0.5994820594787598)]
おっ、いいじゃん。これ、車種名から車のタイプを導出するのに流用できそうですね!固有名詞にタグ付したりカテゴリ分類するのに流用できそう。
じゃあ形容詞行ってみましょうか?
In [63]: model.most_similar(positive=['アルファード', '格好いい'], negative=['NSX']) ...: Out[63]: [('ダサい', 0.6516411304473877), ('男らしい', 0.6226910352706909), ('かっこいい', 0.6054847240447998), ('暑苦しい', 0.6026710271835327), ('女々しい', 0.5894186496734619), ('っぽい', 0.5867724418640137), ('愛らしく', 0.5841862559318542), ('かわいい', 0.5820394158363342), ('可愛い', 0.5788251757621765), ('大人っぽい', 0.5786198377609253)]
やった!俺が期待する答えが出た!「ダサい」「暑苦しい」…「下品」も出てくれると嬉しかったですね。
In [64]: model.most_similar(positive=['ヴェルファイア', '格好いい'], negative=['NSX' ...: ]) Out[64]: [('ダサい', 0.6451823711395264), ('かっこいい', 0.5989595651626587), ('男らしい', 0.5904039144515991), ('愛らしく', 0.5791398286819458), ('女々しい', 0.5740483999252319), ('かわいい', 0.5736345052719116), ('可愛い', 0.5713006854057312), ('おっかない', 0.5670004487037659), ('っぽい', 0.5662069320678711), ('カッコイイ', 0.5638502836227417)]
イエーイ。
In [66]: model.most_similar(positive=['ヴェルファイア', '速い'], negative=['F1']) Out[66]: [('速く', 0.5667837858200073), ('遅い', 0.5520641803741455), ('鈍い', 0.5157270431518555), ('軽い', 0.47611749172210693), ('小さい', 0.4723232388496399), ('速かっ', 0.4583357870578766), ('重い', 0.4541926980018616), ('荒い', 0.453326940536499), ('重たい', 0.44183892011642456), ('弱い', 0.441686749458313)]
特性も表現できるみたいですね。これ、車関係の記事をたくさんスクレイピングしたら面白そう!
In [67]: model.most_similar(positive=['トヨタ', 'レガシィ'], negative=['スバル']) Out[67]: [('スバル・レガシィ', 0.7408971786499023), ('アコード', 0.6961294412612915), ('シビック', 0.6853798627853394), ('アテンザ', 0.6766948699951172), ('トヨタ・スープラ', 0.6725630760192871), ('ホンダ・シビック', 0.6714479327201843), ('パサート', 0.668892502784729), ('マツダ・ロードスター', 0.6629757285118103), ('トヨタ・カムリ', 0.6622824668884277), ('デミオ', 0.6587569713592529)]
スバルに対するレガシィはトヨタで言うとスープラですか。
In [68]: model.most_similar(positive=['マツダ', 'レガシィ'], negative=['スバル']) Out[68]: [('スバル・レガシィ', 0.753225564956665), ('アテンザ', 0.7151298522949219), ('アコード', 0.6964378356933594), ('シビック', 0.6829447746276855), ('デミオ', 0.6785675287246704), ('マツダ・ロードスター', 0.6761074066162109), ('ホンダ・シビック', 0.666242241859436), ('タイプR', 0.6634076833724976), ('プレマシー', 0.6617516279220581), ('パサート', 0.6599953770637512)]
マツダで言えばアテンザ。こいつ本当に頭いいな。
In [85]: model.most_similar(positive=['ホンダ', 'レガシィ'], negative=['スバル']) Out[85]: [('スバル・レガシィ', 0.7175595760345459), ('ホンダ・シビック', 0.6924827694892883), ('シビック', 0.6812728643417358), ('アコード', 0.6804544925689697), ('トヨタ・スープラ', 0.6757205724716187), ('パサート', 0.6650536060333252), ('S2000', 0.6625360250473022), ('タイプR', 0.6604276895523071), ('スープラ', 0.6552801132202148), ('マツダ・ロードスター', 0.6506170034408569)]
うんうん。
まとめ
Word2Vecすげえ。