4.1 推論に基づく分散表現¶
- ここまでは、ある単語の単語ベクトルは周囲の単語の頻度をカウントしたものでした。
- これを頻度に基づく分散表現と言います。
- ここからは、「推論に基づく分散表現」のひとつであるword2vecについて学びます。
- word2vecは機械学習の方法のひとつであるニューラルネットワークを用います。
4.1.2 単語を数値で表現する¶
- 例えば世の中にapple, orange, banana, grapeという4つの単語しかないと仮定すると、
- bananaを表すベクトルは[0,0,1,0]みたいにすることもできる。
- これはone-hot表現と呼ばれています。
- もはやこの時点で「単語の意味」を追求しているのか、「単語の意味の違い」を追求しているのか分からなくなっています。
bananaのone-hot表現
| apple | orange | banana | grape |
|---|---|---|---|
| 0 | 0 | 1 | 0 |
appleのone-hot表現
| apple | orange | banana | grape |
|---|---|---|---|
| 1 | 0 | 0 | 0 |
4.1.3 one-hot表現の問題点¶
- この方法を用いると、新しい単語が出てくるたびにここのベクトルの次元が増える。
- 数値であるにもかかわらず、演算は意味がない。
- 単語の類似度も計算できない。
4.1.4 単語の分散表現(理想)¶
- 200次元ぐらいのベクトルで単語を表現する。
- 単語の定義に基づいてベクトル化する(自分で定義する必要はない)。
例えば、
| 定義 | apple | orange | banana | grape |
|---|---|---|---|---|
| 丸さ | 0.78 | 0.82 | 0.22 | 0.99 |
| 色の明るさ | 0.52 | 0.68 | 0.71 | 0.32 |
- 抽象的な意味を表現する数値をたくさん持つベクトルで単語が表現される。
- というのが理想。
- この例で言えば、単語が平面上の位置で表現されるので、「単語の距離」が測定できる。
4.1.5 分散表現の最低条件¶
- 演算ができる。
- 意味が似ている単語同士の距離は近くて、意味が似ていない単語間の距離は遠い。