FC2ブログ

Doc2Vec の解説ページへの不満とそれを踏まえた自分なりの解説

 当方、自然言語処理の初心者にも立ててない感じ(チュートリアルわけも分からずやってみただけの)だったんですが、ググって出た結果を見てもいまいち(゚Д゚)ハァ? という感想で、わからないところがスッキリしなかったので、ちょっと吐き出したいなと思います。

1.そもそもちゃんと解説する気がない(Word2Vecの解説サイトへ丸投げ)

2.Word2Vecの解説も「どんなことが出来るか」しか書いて無くて、「どういう入力を与えることでどういう結果が得られるのか」を説明していないからすっきりしない(私は最初、既に言葉をベクトル化して保持しているデータセットなのかと思った)。

3.理論とか内部構造の説明をつらつらと書いているサイトもあるが、結局学習させているんだか何だかわかんない。

4.ついでに言うと、自分の得たい結果を得るため、使用ケースに合わせるために「何が重要か」、「何を変える必要があるか」が書いてない(入力形式?、そもそも入力するデータの種類(文語、口語、ジャンル)?、train関数のパラメータ?)


いきなり Doc2Vec のことを調べているので、そもそもの自然言語処理の入口としておかしいとか、もうちょっとローレベルなところから始めるべきだとか、経験を積んでからじゃないと理解できなくて当然だとか、知ってる人からすれば色々思うところがあるかもしれません。

ただ、Doc2Vec という簡単にベクトル化出来る手法が出来ているのであれば、それをいきなり使う人だって当然いるわけで(というかリリースしてる人だってそれを望んで作ってるんだし)、入口に際してもうちょっとまともな解説記事は無いのかよ、っと思った次第です。

以下、もう既に時間掛けていろいろ調べたり、いじったりして大分スッキリしたので、自分なりの解釈を書きます。

1.まず、そもそもDoc2Vecとは何かというと、ライブラリ、API。既に学習されたモデルが配布されていて、それを Doc2Vec と呼んでいるとかではない
Doc2Vec の基本的なところは Word2Vec とほぼ一緒なんだけど、Word2Vec の機能にプラスして文章の特徴も一緒にベクトル化できる

2.そもそも私がコーパスって単語が結局何なのか分からずに詰まってしまったので解説すると、コーパスとは単なる「文章をまとめたテキストファイル」、中身だけを説明するなら「多数の文章」。特に学習に使いたいテキストファイル(フォルダに分けてzipに纏まってるときもある)のことを指すためにコーパスと呼んでるだけ。
それで、Doc2Vec はコーパスを入力として学習させなければならない。そうすると、文章の意味的な違いをベクトル(つまり数学の行列)にすることが出来る。

ベクトル化したら何が楽しいのかというと、「文章の意味」という曖昧な(定性的な)情報を、数値化して定量的な情報にできる。
しかも、コンピューターで自然言語処理させるってことは、高速に処理できたほうが良い。数値だとコンピューターは高速に処理できる。

3.結局学習させている。そして、ベクトルの出力や、類似度の算出は学習によって完成したモデルを使って行う。
ただし、Doc2Vecが学習に使っているアルゴリズム(ニューラルネットワーク)の層は浅いので、Doc2Vecは機械学習だけど、ディープラーニングではない。
(ディープラーニング(深層学習)とは、ニューラルネットワークを構築する学習アルゴリズムの中でも、特に層の深いニューラルネットワークを構築するものを言う。詳しくはWikipediaを参照。

4.何が重要かは流石にもっと使ってみないとわかんないですし、使用ケースによって変わるかもしれません。
でも使用ケースというか、どのような使い方をするのかは理由を含めて簡単に説明します。

さっき2.で説明したとおり、Doc2Vec はコーパスを入力することでコーパスに含まれる文章をベクトル化します。勝手に文章を投げればベクトル化してくれるAPIではないです。
もっと言うと、ベクトルは学習によって得られるので、どの文章をどんなふうにベクトル化できるかは入力によって決まります。

なので、纏めるとDoc2Vecは、「多数の文章をベクトル化するために、その多数の文章をDoc2Vecで学習させて、ベクトルを得る」ために使われます。ベクトルを得た後は、その人が使いたいように使います(類似度を単に算出するためだけとか、それを深層学習に掛けてもっと賢く分類できるようにするとか)。


因みに、コーパスに含まれる文章をベクトル化と言いましたが、学習モデルを使って、学習したデータに含まれない文章のベクトルを推定させることは出来ます(infer_vector() を使うんですが、それは次の記事で書きます)。


これからの人のために、上記の点を抑えていい感じにもうちょっと詳しく書いてくれてるサイトが今後できることに期待したいな。(お前が書け)

コメント

非公開コメント

スポンサードリンク

ブログ内検索

プロフィール

ふじこlp

Author:ふじこlp
はてなブログへ移行しました。https://higechira.hatenablog.com/

ゆとりの大学生です。どれくらいゆとりかというと土曜日に通常授業を受けたことがただの一度もありません。

IBM時代のT43は観賞用となりましたが、X61は現役。
スクエアThinkPad X Series 最高です。
MacBook Pro 始めました。がやはりThinkPadに勝る打ち心地は存在しませんね。

カレンダー

11 | 2019/12 | 01
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

天気予報


-天気予報コム- -FC2-

フリーエリア

ブロとも申請フォーム

QRコード

QR

アクセスカウンター