word2vecは、テキストデータを解析し、各単語の意味をベクトル表現化する手法です。
単語をベクトル化することで、単語同士の意味の近さを計算したり、単語同士の意味を足したり引いたりということが可能になります。
画像は「星の王子様」のテキストデータを分析し、同じような文章を生成するために、ベクトル化したものです。
この結果は次の回でご紹介します。
この文章の評価を画像の冒頭に載せています。
文章ひとつひとつとってみれば、語意や文法に間違いは少ないのですが、文章同士のつながりに非常に難点があります。
これは「AIが文章を作ることはできる」けれども、意味のある文章の集合体を作ることは極めて苦手であることがわかります。
例えば、「私は今日、学校に行きます」という文章があった場合、「私」のあとに続く語はかなり絞られます。
「今日」「学校」と次々に文生成しながら入力層のデータを変えていけば、一文を作るのはさほど難しくないのです。
しかし「私は今日、学校に行きます」の次につながる文は一体何が妥当なのでしょう。
「受講科目は数学です」「でも、昨日は風邪で休みました」「クラスメートの鈴木君に借りていたノートを返す予定です」……。
要するにこの1文のあとに続く次の文を生成するのは、無限の組み合わせがあり、人間がやるように簡単にはいかないのです。
この問題にはどのように答えたらいいのかが、次の課題でした。