ただし、本来の課題は「単語の意味を数値化する」ということでした。上記で意味の似た単語とそうでない単語を区別することはできますが、数値化はどうするのでしょうか?
実は、「その単語の周辺にどんな単語が出てくるかを予測する(つまり、周辺語を予測する)」という課題をニューラルネットワークに学習させることによって、求めている数値が自然と得られるのです。
ニューラルネットワークの学習はニューロン同士の結合の「重み」(入力信号をどれだけ重視するかの度合い)を調整することで行われます。人間の脳と同じように、学習によって、より頻繁に使われる結合の重みは大きくなり、あまり使われない結合の重みは小さくなっていきます。
似た意味の単語は周辺語も似ているので、上記のニューラルネットワークは似た意味の単語がインプットされた場合は似た予測を出力する必要があります。そのため、結果として似た意味の単語同士は学習結果としての「重み」の値も似てきます。
逆に、意味が離れている単語同士は学習の内容が異なるため、「重み」の値も大きく異なるものになります。ということは、この「重み」そのものが、単語の意味を数値化したものとみなせるのです。