5章単語分散表現
Wikipediaでは、単語分散表現(word embedding)は自然言語処理(natural language processing:NLP)における言語モデルと特徴表現学習を組み合わせた技術の総称として定義されています。単語分散表現では、語彙内の単語やフレーズをベクトルにマッピングします。
単語分散表現は、テキスト中の単語を数値ベクトルに変換する方法のひとつです。テキストを数値ベクトルに変換することで、数値ベクトルの入力を必要とする機械学習アルゴリズムでテキストを解析できるようになります。
「1章 ニューラルネットワークの基礎」では、最も基本的な分散表現の手法であるone-hotエンコーディングについて確認しました。1章で確認したように、one-hotエンコーディングは単語を語彙数と同じサイズのベクトルで表現するものでした。ベクトル中のある単語に対応する要素のみが1であり、他のすべての要素は0に設定されます。
one-hotエンコーディングの問題点は、単語間の類似性を表現できないことです。一般的に、私たち人間は (cat, dog)、(knife, spoon)のような単語は類似していると考えます。ベクトル間の類似度はベクトルの内積を用いて計算できますが、one-hotベクトルの場合、コーパス内の任意の2単語間の内積は常に0になってしまいます。
one-hotエンコーディングの問題点を解決するために、NLP界隈は情報検索(information retrieval:IR)分野の手法を用いて単語をベクトル化しました。情報検索分野では、文書を文脈として用いることで単語をベクトル化します。有名な手法として、TF-IDF(https://ja.wikipedia.org/wiki/Tf-idf ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access