📑

【週末研究】01. 単語とグラフ構造の関係 - 言語表現とグラフ表現

2022/03/13に公開

単語のグラフ表現

こんにちは、tkosht です。

これから、【週末研究】をシリーズ化して、考えた内容、調査・検証した内容を整理していこうと思っています。
気持ちが折れないように、応援よろしくお願いいたします!

さて、初回である今回の週末研究としては、「単語のグラフ表現」について考えていきます。

個人的な思いとして(神様の立場で正しいかどうかはおいておいて)、各単語の概念(内的実体)がグラフ構造を持つという前提を置いています。


単語がグラフ構造を持つ?

この前提について、例をイメージしてみましょう。

「ディープラーニング」という単語は、人によるかもしれませんが、「人工知能」や「ニューラルネットワーク」という単語・概念を誘導するでしょう。人によっては、「機械学習」だったり「強化学習」などを想起する人もいるかもしれません。
また、このケースでは、たまたまかもしれませんが、「ディープラーニング」は人工知能関連技術の1つであり、ニューラルネットワークであるため、is-a 関係の性質として概念誘導されたと捉えることもできるかもしれません。一方で、ディープラーニングは強化学習に組み込まれることにより、「深層強化学習」という単語・概念により関連づけられていると考えられます。

別の単語についても考えてみます。
「心理的安全性」という単語に関しては、人によっては、「Google」を想起したり、「会社」、「組織」、「チーム」というような単語・概念を想起するかもしれません。
このケースでは、「心理的安全性」は、re:Workなどで知った人などは、Google を想起するでしょうし、誰かに聞いたとしたら、その人物を想起するかもしれません。もちろん、文脈として、会社や組織の文脈で語られることが多いため、それらを想起する人もいると思います。

このように、単語が(読み手各自の情報収集などの学習によって整理された結果として)、別の単語・概念を想起する関係があることは、おおむね正しいと言えそうです。ただ、。その生成関係は、必ずしも is-a 関係などの一つの特定の関係性を表すわけでもなさそうとも言えそうです。

そこで、まずは、単純なモデル化を考えるため、このような想起関係が静的なものとしてあらかじめ定まっているという仮定をおいて議論を進めたいと思います。 動的に生成されるという見方に置いては、ある時刻でのスライス・射影として得られた像とみなしてもよいでしょう。

単純な構造として、対象の単語(上記例でいういと、「ディープラーニング」、「心理的安全性」)を中心としたグラフ構造を持つとして考えても良さそうです。もっと言うと、1つの単語を中心的にみるとしたら、木構造と見ても良いかもしれないと考えるでしょう。しかし、のちに行列表現(隣接行列)を考えたいため、木構造としてではなくグラフ構造として扱うことにします。

上記をまとめると、以下のようなイメージになります。イメージ的には、発話・書き出し時のイメージに近いと想像しています。

単語とグラフ構造


文をグラフで表現してみる

では、どのようにして、概念の想起関係を機械的に学習させるのがよいでしょうか。

素朴なアイデアとしては、人が見聞したり読むなどによって「理解」、「読解」する仕組みを模倣することが考えられます。

つまり、人が行う「理解」、「読解」に相当するタスクを機械的に定義し実行させればよい、とも言い換えられます。

イメージ的には、以下のような構造になると想定しています。
これは、1つ前の図の、「表現」部分が「解析」になって、矢印の向きが逆になっています。ただ、内部的(心象的)な対象間の関係性の方向は変わらないイメージです。

学習イメージ


DL的にモデル化してみる

ここまでの議論を簡単に、ディープラーニングのアーキテクチャ的にモデル化してみます。

入力となる表現を潜在表現としてのグラフ表現T_g にエンコード(「解析」)し、グラフ表現T_g をデコード(「表現」)するような仕組みが要求されます。

単純DLモデル

ここで、グラフ表現 T_g がグラフの数値表現として適切かどうかを評価する loss 関数 \mathcal{L}_g をどう定義するか、が課題になる。


次回は、グラフの数値表現の代表である、隣接行列(adjacency matrix) について、見てみます。

GitHubで編集を提案

Discussion