前回まで、単語の意味解析を解説してきた。
今回は、次のブロック、文の意味解析に入ろう。
形態素解析、係り受け解析(構文解析)が
終わった状態から、どのように
文の意味を理解していくのか、解説していく。
なお、本講座は以下の本を参考に進めている。
もしよかったら、中身を覗いてみて欲しい。
文の意味解析概要
先に、大まかな流れを説明する。
冒頭に書いた通り、
形態素解析と構文解析が終わっていて、
係り受け木が得られているとしよう。
ここから、大まかに次のステップで意味解析を行う。
- 係り受け木の各ノード(文節)に対して、
単語辞書から概念を取得し、
その概念を新しくノードとする。
そして、各ノードを表層格で
ラベル付けして新たに木を構成する。 - 文節が多義語の場合、
その中から適切な概念を一つ選ぶ。 - 係り受け関係にある概念間の
深層格を決定する。
この二つ目の動作を語義曖昧性解消、
三つ目を意味役割付与あるいは深層格同定と呼ぶ。
例えば、「太郎が生協の食堂でカレーを食べる」
という文を考えよう。
最初に、以下の係り受け木が得られていたとする。
これに対し、一つ目のステップを終えると、
以下のような構造が得られる。
各ノード(文節)の概念を新しくノードに置き換え、
さらに表層格となる助詞を辺にラベル付けしたものだ。
スラッシュで区切っているものが、
複数の概念を持つもの。
これに対し、これを一つに選び(ステップ2)、
さらに表層格から深層格を求めた(ステップ3)ものが、
三つ目になる。
大まかにはこのような流れだ。
さて、ここで述語項構造解析というものをご紹介しよう。
これは、述語に対してなにか意味的な役割を
もつ項を見つけて、その項の格を求めるのが目的だ。
以前解説した通り、格には表層格と深層格がある。
ちょっと厄介なのが、
日本語では表層格が明示的に分からない場合があるのだ。
例えば、「花子も読んだ本」というものについて。
述語は「読んだ」で、
意味的には「花子」、「本」が役割を持っている。
このときの表層格は、
花子は「が」格、本は「を」格となる。
言い換えて、「花子が本を読んだ」と
すれば分かりやすいだろう。
これも求めなければならず、
なかなか重要な項目になる。
その他、省略されてしまう場合なんかもあるので、
それをうまく補ってあげる必要がある。
こういったものを行う技術を、照応解析、省略補完などと言ったりする。
これらは、単に一つの文で完結するとは限らず、
複数の文を見なければいけない場合もある。
つまり、文脈を参照することになるので、
文脈解析と呼ばれる。
格フレーム辞書
格フレームとは、以下の情報をまとめたものだ。
- 動詞ごとに、その動詞がどんな格を取るのか
- 表層格と深層格がどのように対応するのか
- 格要素となる名詞がどんな意味カテゴリに属するのか
これを集めたものを、格フレーム辞書という。
例えば、「食べる」という動詞の
格フレームは以下のようなものになる。
格要素1 | 格要素2 | 動詞 動詞の概念 | |||
選択制限 | 表層格 深層格 | 選択制限 | 表層格 深層格 | ||
1 | (人間、動物) | が agent | (食べ物) | を object | 食べる 食物をとる |
2 | (人間) | が agent | (職業、行為) | で condition | 食べる 生計を立てる |
これを使うことで、
文の意味解析における曖昧性を消したり、
深層格を決定したりすることができるのだ。
このような格フレームは、
これにちょうど合致するような入力だった場合には
効力を発揮する。
しかし、存在しない場合ももちろんある。
それだけでなく、例え存在してもこのパターンに
当てはまらないものもあるのだ。
そのため、ここでもコーパスを利用した
機械学習を考えることができる。
機械学習の利用
ここで、教師あり学習を行いたい…のだが、
それをするには、すでに意味解析を終えた
コーパスが必要となる。
教師ありの場合は、
正解データも必要となるからだ。
というわけで、
すでにそれを終えたデータを使おう。
具体的には、EDRコーパスや、
岩波国語辞典タグ付きコーパスなどが存在する。
単語の曖昧性解消や意味役割の付与は
一種の分類問題と捉えることができるので、
分類器やSVMを用いることができる。
これは他にも文脈解析にも応用することができる。
おわりに
本を綺麗になぞって進めていたのだが、
ここら辺は具体的な話がちょっと少なく、
これで終わりになる。
というわけで、
これで基本的な事項は終わりだ。
次回は…本では応用となっており、
実際に利用されている例が紹介されているのだが、
どうするかちょっと迷っている。
基本的には、応用の紹介は置いておいて、
その中で使われている手法の解説などあれば、
それを書いていくこととしようかと思っているところだ。
実際に使えるようになるのもあと少しだと思うので、
そこまでは頑張りたい。
コメント