AIテクノロジーの世界

人工知能講座25

  • HOME »
  • 人工知能講座25

人工知能が会話できる秘密:ニューラル言語モデル

天馬「では次に、自然言語処理にニューラルネットワークの考え方を取り入れた手法を紹介しよう。先ほども説明したと思うが、言葉は離散的な『記号』だ。数値やベクトルのような連続値ではない。コンピューターは数値処理しかできないので、言葉を扱うときには1つ1つの文字に数値(コード)を単純に割り当て、その記号を表示することしかできなかった。ところがニューラルネットワークが扱うのは、ベクトルや行列のような連続値だ。だから言葉もニューラルネットワークが扱えるように、ベクトルに変換する必要がある。では具体的にどうするかだ」

天馬「この図のように、文のすべての単語に、ベクトルを割り当てる。ここでは単純化したので、単語は6種類だから6次元ベクトルとなる。このような表現方法を『0ne-hotベクトル』とか『1-of-N表現』と呼んでいる。ここでの次元数=Nは、対象となる文章に含まれる単語の種類の総数だ」
伴くん「それだと、長い文章には数万種類の単語が出てくるので大変ですね」
天馬「そうなんだが、それほど長くなければ計算機パワーでなんとかなる。まあとにかく、この0ne-hotベクトルで例文を表現すると、こうなる」

愛さん「それにしても、例文がひどすぎます。マリリンに対するセクハラですよ」
天馬「そうかね。マリリンならセクハラにならんよ」
愛さん「どういう意味ですか!こんな例文だから、ログオフさせたのですか?」
伴くん「まあまあ、とにかくこの0ne-hotベクトルを使うと、どこがよいのですか?」
天馬「最初に言ったように、言語をベクトルで表現できたことだな」
伴くん「ですから、言語をベクトル化すると何がどうよいのですか?」
天馬「例えばだ、色を『情熱的な赤』とか『鮮やかな緑色』と表現したとする。何となくイメージすることは分かる気もするが、曖昧だ。しかしこれをRGBで、(255,0,0)とか(9,255,9)と表現すれば明確だろう。『冷めた青』と『爽やかな青』では比較できないが、RGBで(200,255,255)と(120,255,255)なら客観的に比較ができる」
伴くん「なるほど。『意味』という元々曖昧な概念を有する言葉を、客観的に扱うためにベクトル化したのですね」
天馬「そう理解してくれればよい。だがやはり、この0ne-hotベクトルでの表現は、どうしてもデータ量が大きくて扱いづらい。そこで文章の0ne-hotベクトルを加算することで、1つのベクトルにした『bag-of-wordsという表現方法ができた」

天馬「上図のように、bag-of-wordsでは各要素の数値が、どの単語がいくつ含まれているかを表している。データとしても、非常にコンパクトになった」
猿田くん「でもこれだと、使っている単語は分かりますが、語順が分からなくなりますよ」
天馬「そうなんだ。それがbag-of-wordsの名前の由来だからな。つまり文章に含まれている単語をバラバラにして、1つの袋に入れたような表現形式となる。しかし、その文章の『意味』はおおよそ表現できているはずだ」
猿田くん「どうしてですか?」
天馬「1つの文に含まれている『意味』は、一般的に1つだと考えられている。だからある文に含まれている単語は、互いに近い意味を持つはず、という考えが基本にある。だから文と文を比較する際に、このbag-of-wordsを利用することで、似たような意味の文を見つけられる。同じ単語があったら、同じようなベクトル値になるからだ。この講義の最初の頃で、『データの距離』という考え方を説明したはずだ。自然文をこのようにベクトル化することで、データの距離が測れる。したがって、文のデータの距離が近いということは、文の意味も近いはずだ」
猿田くん「なるほど。文の持つ『意味』が分からなくても、文をベクトル化することで、計算問題に置き換えたんだ。素晴らしい。でもニューラルネットワークは、どこにいったんですか?」
天馬「まあ焦るな。それを今から説明する」
愛さん「ちょっと待ってください。2つの文に同じ単語が複数あったら同じような意味のはずだ、というのは分かりやすい考え方です。でも、同じ単語がなかったら違う意味の文だ、ということにはならないのでは?」
天馬「例えば?」

愛さん「この2つの文だと、使っている単語はすべて違いますが、似たような意味ですよ」
猿田くん「違う意味で間違っているような・・・」
天馬「まあ例文の適切さはさておき、確かに単語が一致していないとbag-of-wordsでは判定ができない。だが意外に実用的で、なかなか役に立っている。さっき言いかけた話をすると、ニューラルネットワークの利用で、さらに面白いことができる」

天馬「その前に、重要な考え方を説明しよう。上図のように、同じ『甘い』という単語でも、文によって意味が変わるだろう。この例だと『甘い言葉』と『甘い菓子』のように、隣接する単語で意味が決まってくる。つまり『単語の意味は、その単語が出現した際の周囲の単語によって決まる』という考え方だ。これを分布仮説と呼び、1950年代には提案されている」
猿田「ボクは甘い菓子は好きですが」
愛さん「猿ちゃん、否定するのはそっちなの?でも、確かに例文にあるように、直観的に分かりやすい考え方ですね」
天馬「この分布仮説は昔からある考えだが、これをニューラルネットワークで利用すると分散表現となる。ただ、この分散表現という言い方には注意してくれ。1980年代からある言葉なので、使う人によって意味が異なる場合がある。ここではニューラル言語モデルで一般的に使われている意味で用いている」
猿田くん「分かりません。説明になっていませんよ」
天馬「うむ。では分散表現と対になる言葉、局所表現から説明しよう。局所表現とは、ある事象を表現する際に、その事象が持つ1つの特徴的な要素で表現する方法だ。それに対して分散表現とは、他の事象と概念を共有する多種多様な特徴の集まりで表現することだ」
猿田くん「あまりに抽象的過ぎますね。もっと具体的な例で教えてください」
天馬「わがままだな。では端的に言ってしまおう」

天馬「これでどうだ、分かりやすいだろう」
愛さん「先生!ニューラル言語モデルはどうしたんですか」
天馬「そうだったな。ニューラルネットワークは、もう忘れているかもしれないが、前に説明したように、多数のノードとエッジで構成されたネットワークだ。このニューラルネットワークに、学習用の大量の文章これをコーパスというが、入力する。もちろん形態素解析して単語を0ne-hotベクトルの形式にしてからだ。そうするとニューラルネットワークは、ベクトル化された単語同士の『つながり方』が学習できる」
愛さん「よく理解できません。コーパスという文章が教師データなら、何を正解として学習するのですか?」
天馬「お!きちんとニューラルネットワークの仕組みを理解しているね、さすがだ。ニューラルネットワークは正解ラベルがないと、何を学習するのか分からない。この場合はコンテキストだ」

天馬「コンテキストとは一般的には『文脈』なのだが、この場合は図のように、ターゲットとなる単語の周辺に現れる単語だ」
猿田くん「お!今度の例文は愛ちゃんにソンタクしたぞ」
愛さん「マリリンさんの例文よりましですけど、褒めているのはワンピースですよ。とにかく、先ほど説明があった近くにある単語同士は関連性が高いことを利用しようとしていますね」
天馬「そう、理解が早いな。このニューラルネットワークは、ターゲットとなる単語からコンテキストを正解とするように学習していく。この例文だと、『ワンピース』が入力されると、『お洒落な』とか『姿』という単語が近くにあると判断できるようになる。この『近い』、『遠い』は、単語同士の関連度合になるから『意味が近い』とか『意味が遠い』として利用ができるのだ」
伴くん「凄いですね。単なる記号でしかない単語を、大量にニューラルネットワークに投入すると、『意味』の距離が計算できるのですね」
天馬「単語を投入するのではなくて、『意味のある正しい文章』でないとダメだ。単語同士の距離は、そのコーパスに含まれる文章に依存するからだ。ファッション系のコーパスを学習すると『ワンピース』と『スカート』は近いが、コミックのコーパスだと、『ワンピース』は『海賊』と近くなってしまうぞ」

天馬「離散的な記号でしかない単語の『意味』は、今までコンピューターで扱うのは困難だった。しかしこの『分散表現』によって、単語の『意味』を扱えるようになったのだ」
愛さん「辞書がなくても単語の『意味』が扱えるとは、非常に興味深い話ですね。で、結局なんで『分散表現』なのでしょうか?」
天馬「ニューラルネットワークの中に大量にあるノードのパラメータとして、学習結果が表現されているから『分散』という名前になったのだろう」

   王様-男+女=女王
   パリ-フランス+日本=東京

天馬「面白いのは、上にあるように、ニューラル言語モデルを用いることで、単語が高次元のベクトル空間内で扱えるので、『王様-男+女=女王』のように、単語を足したり引いたりすることもできるようになった」

次は【人工知能講座26:人工知能が会話できる秘密・Word2VecからSeq2Seq

< < < < 目次 > > > >

MdN社「アフターコロナのITソリューション」を出版します

日経から「医療AI概論」を全国の書店で発売

MdN社「未来IT図解 これからのAIビジネス」を全国の書店で発売中

日本ディープラーニング協会推薦 創元社「やさしく知りたい先端科学シリーズ」

Amazonで「ディープラーニング入門書」を発売中

Amazonで「機械学習の入門書」を発売中

おしゃべりな人工知能講座

おしゃべりな人工知能講座

メッセンジャーで遊べる無料のチャットボット

面白い本を探している本好きの人にお薦めします

Amazonから紙の本でも発売中

ミステリィやエンターテイメント、恋愛小説に文芸小説など、確実に面白い本100冊を紹介するブックレビューです

PAGETOP
Copyright © TickTack World All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.