ラベル 単語ベクトル の投稿を表示しています。 すべての投稿を表示
ラベル 単語ベクトル の投稿を表示しています。 すべての投稿を表示

2020年11月7日土曜日

[算数 ≒ 数学 – 難しい + 楽しい]の解

  自然言語処理では、単語の実数ベクトル空間への埋め込みが重要な役割を担っています。大規模コーパスのもとで、全単語ベクトルはすでに計算されていて(ツールWord2Vec等を用いて)、何種類かが公開されています。これによれば、単語ベクトルから、例えば、以下のような意味関係が成り立つことが分かっています。多くの書籍やweb解説にも掲載されています。

        King - Queen ≒ man - womam
    (KingとQueenの差ベクトルは、manとwomanの差ベクトルと類似)

 さて、そのような大規模コーパスではなく、以下のような単純な10例文だけの世界を考えます。(助詞などは取りあえず考えないので薄字にしてあります。)この世界では、12単語しか出現しません。このような範囲で、単語をベクトル空間へ埋め込んでも、上記と同様に、単語の意味関係は掴めるでしょうか?


 ここでは、注目単語に対して、window size = 2の範囲に共起した単語を認識するよう、ニューラルネットワークを学習させます。例えば、注目単語「確率論」を入力とした場合、「難しい」と「数学」を教師信号として学習させます。これを、全文全単語について行います。学習終了後のニューラルネットワークにおいて、入力から中間層(隠れ層)のノードへの辺の重みが、その単語のベクトル要素となります。このようにして、全単語について、2次元(中間層のノード数が2の場合)のベクトルを得ます。その結果を下図に示します。

12単語に対する2次元ベクトル

 この結果を見ると、「算数、百マス、児童、早朝」および、「確率論、学生、数学、徹夜」など関連性の高い単語がそれぞれ一つのベクトル上(白線矢印)にのっていることがわかります。

 実は、この結果は一つの解に過ぎません。恐らく、無数に解(すなわち、単語ベクトルの組み)は存在するはずです。ここではそのうちの、[解1]と[解2]を示しました。[解2]は、[解1]を原点を中心に30度ほど回転させたものになっているようです。ここで、「数学」と「算数」の差ベクトルと、「難しい」と「楽しい」の差ベクトルに着目します。この2つの差ベクトルは平行に近いです。したがって、下記が成り立ちます。

        数学 - 算数 ≒ 難しい – 楽しい
        算数 ≒ 数学 – 難しい + 楽しい

 こんな小さな実験コーパスでも、単語の意味関係が掴めたと思います。

2種類の2次元単語ベクトルの組み

 上記は2次元ベクトルでしたが、3次元ベクトルを生成(中間層のノード数を3に設定)した結果が下図です。次元を上げれば、見えてくる情報量も増える傾向にある?かも知れません。ここでも2種類の解を示しますが、いずれも、上記の意味関係が保たれていることが分かります。

2種類の3次元単語ベクトルの組み

2018年11月2日金曜日

巨大コーパスの類似単語ベクトルをみる

 [これよりも少し詳しい関連記事を追加しました。ここにあります。]

 自然言語処理には、巨大なコーパスが必要とされます。日本語では一例として、Wikipedia日本語版が使われています。さらに、この規模の約10倍にもなる超巨大コーパス(朝日新聞の直近34年間の主要記事)に出現する単語の単語ベクトルもあります。朝日新聞単語ベクトル」です。
このデータファイルの取得申請を行い、入手できました。それを今後利用するための準備として、以下に示すような類似語検索を試行しました。

 まず、単語ベクトルの意味と、単語ベクトル演算について簡単に示しました。詳細は、ここでは述べられませんが、「単語が他の単語の近くに出現する頻度に基づいて、単語をベクトル空間モデルに埋め込む」ということです。類似した単語は似たベクトルで表現されることになります。一般には、コーパスの語彙数に応じた巨大な次元数になりますが、主要な次元だけに圧縮した空間を使います。「朝日新聞単語ベクトル」では、Word2Vec(CBOWモデル)による300次元のベクトルになっています。



 以下に、上図(MATLAB Text Analytics Toolboxの解説書(英文))を参考に作成)のような仕組みを利用した、類似語検索の例(傑作16選)を示します。もちろん、適当な類似語が見つからない場合もありますが、ここでは、試用段階なので、うまく行った例だけを示して、今後の活用への意気込みを高めたいと思います。

 以下をほぼ満たす(単語A, B, Yはgiven)、単語Aの適切な類似語単語Xは?
 「単語A - 単語B = 単語X - 単語Y

No.2:室蘭工業大学に類似していて、北海道ではなく、神奈川にある...
No.4:バイコヌールに相当する米国のロケット発射場...
No.9:女子アイススケータのザギトワに秋田犬を贈呈しましたね...
(しかし、実は、"ザギトワ"でなくても、例えば、"メアリ"でも結果は同じでした!すなわち、過去34年間の新聞記事全体に占める、"ザギトワ"と"秋田"の関係性は、それほど強くなかった。秋田は単に「場所」という意味が効いているようである。単語ベクトルと言っても、数学のベクトルとは意味合いが違う側面がありますので、その解釈には注意した方がよさそうです。)
No.11:パガニーニと言えばバイオリン曲、ショパンと言えばピアノ...
No.12:ピアノ曲のショパンに相当するバイオリン曲の作曲家はパガニーニだけではない...