狐葉の杜

おぼえがき

機械学習を使ってe621の類似イラストを検索したい

概要

ニューラルネットワークで文書を学習し、文書間の類似度などの計算することが可能な Doc2Vec を利用して、ケモノ画像投稿サイト e621 の類似イラスト検索を試みました。

具体的には、e621のpost(画像やFlashなど)には細かく多数のタグが付けられているため、このタグを文書とみなして Doc2Vec で学習させることで、類似するタグが付与されているpost(=似たシチュエーションのpost)を算出しました。

用いた学習にデータは直近9,900件のpostで、言語は Python 3.5.1 です。

Doc2Vecの詳細はこちらを参照しました。 qiita.com

qiita.com

過程と結果

実際に画像をインプットして、インラインで結果を出力するとこまで実装しました。

【ケモノR-18イラストを含むので閲覧にご注意ください。】

過程

gistf602f1e10f3de0e58d0129178222c75b

結果

gistabf2a4348fa03a7b36742857ded95e51

所感

Doc2Vec の強みは文脈を読み取れる点なので、タグ情報という文脈のない学習データでDoc2Vecを利用するのは イマイチかと思ってましたが、そこそこ類似してるっぽいpostが出力されてる感じがします。 どうしても主観評価になってしまうので、正解データセットを作らないと精度測定ができない点が残念ですが......。

近いうちに、学習の際のパラメータ調整もきちんと検討したいのと、 ベクトル化されたpost同士の四則演算を行ってみたいです。