LoginSignup
12
14

More than 1 year has passed since last update.

オタク向け学習済みfasttextを公開しました

Last updated at Posted at 2018-01-31

初めに

今回はfasttextでオタク向けのモデルを作ります。

どのコーパスを使ったか

アニヲタWikiのほぼ全記事(841MB)を学習させました。
文字数は空白含み、445284415文字。
一応、サーバーには負担をかけないようにしたつもりです。
分かち書きにはmecab-ipadic-NEologdを使いました。
binとvec両方含んである物もあるのでお好みで使い分けてください。

ダウンロード

ダウンロード
注意:両方含んだ方のzipファイルサイズは大きいです。
ライセンスはMIT Licenseです。

使い方

##gensimの場合

import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('model.vec', binary=False)

検証

上手くいった例

>>> model.most_similar(positive=['雪ノ下雪乃'])
[('由比ヶ浜結衣', 0.8398512005805969), ('比企谷八幡', 0.8388717770576477), ('井上心葉', 0.8085094690322876), ('やはり俺の青春ラブコメはまちがっている。', 0.7935140132904053), ('嘘つきみーくんと壊れたまーちゃん', 0.7915672659873962), ('天野遠子', 0.765424907207489), ('木下秀吉', 0.7628801465034485), ('瀬川泉', 0.7601190805435181), ('小牧愛佳', 0.7600274682044983), ('小早川ゆたか', 0.759345293045044)]
#同じシリーズのキャラクターが出ている
>>> model.most_similar(positive=['', ''], negative=[''])
[('女王', 0.5404699444770813), ('バルホルス', 0.5356605052947998), ('マギ・ヴァル', 0.5220056772232056), ('獅子心王', 0.5187593698501587), ('ゼテギネア', 0.5122318863868713), ('ファレナ', 0.5120536088943481), ('レファル・エディア', 0.5085812211036682), ('モルブディア', 0.507931113243103), ('ルキウス', 0.5058585405349731), ('ネサラ', 0.505682647228241)]
#こちらも一応、1位は上手くいっている
>>> model.most_similar(positive=['ロンドン', '日本'], negative=['イギリス'])
[('東京', 0.551081120967865), ('日本橋', 0.5485166907310486), ('日本勢', 0.5443987846374512), ('日本大', 0.543359100818634), ('日本三景', 0.5350313782691956), ('東京都心', 0.5298252105712891), ('日本犬', 0.529288649559021), ('日本進出', 0.5274679660797119), ('ロンドン大学', 0.5271546840667725), ('布袋劇', 0.5242681503295898)]
#上手くいっている

あまり上手くいかなかった例

>>> model.most_similar(positive=['パリ', '日本'], negative=['フランス'])
[('パリ郊外', 0.4626120924949646), ('日本の首都', 0.4594534635543823), ('日本の人', 0.4535835385322571), ('日本の刑務所', 0.4501851201057434), ('日本向け', 0.44550591707229614), ('日本国', 0.4448232054710388), ('富山県', 0.44453561305999756), ('日本の昔話', 0.44140082597732544), ('中国本土', 0.43912768363952637), ('パリパリ', 0.43846452236175537)]
>>> model.most_similar(positive=['うれしい', '泣く'], negative=['笑う'])
[('うれしいこと', 0.5961353182792664), ('嬉しい', 0.5788377523422241), ('うれしく', 0.5299932360649109), ('うれし', 0.5080203413963318), ('うれしゅう', 0.5042930841445923), ('うれしかっ', 0.5040944814682007), ('恋しい', 0.474494606256485), ('さみしく', 0.469252347946167), ('さみしかっ', 0.4595452547073364), ('ありがたい', 0.4571915864944458)]

考察

以上、検証結果でした。
僕は余りアニメ関連は詳しくないので、もし「このアニメで上手くいった」とか「このアニメだと駄目だった」とか教えていただけると嬉しいです。
今回は前処理等をほとんどしてないのとデータの形式が特殊なためWikipediaを使ったデータに比べると劣っていると言わざるを得ません。

12
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
14