#3では,入力文と同一の係り受け関係を持つ文節ペアを発見する。 #3のフローチャートを図6に示す。
次の4つの手順により一致ペア数を決定する。
まず、係り受けを構成する文節をペアにして分類する。 次に入力文ペアとDB文ペアとの対応関係を示す マトリックスを作成する。 そのマトリックスを用いて係り受け文節ペアの対応を 見ていく。マトリックスを文の後方(マトリックス右下方向) へと進みながら一致文節を調べる。 そのなかで最も多く一致ペアがとれるパスを 決定する。このようにして各文に対して一致ペア数を決定 していく。
次に、#3のアルゴリズムの説明を例を用いて行う。 #1により得られた一致文節から、入力文と係り受け関係の一致する文節ペア を発見する。以下の入力文とDB文が#1により得られたものとし、これらに に対して#3を適用するが、 ここで、#2の処理は終了したものとし、係り受け関係を 構成しない文節は削除したものとする。
例文1.
例文中のアルファベットA〜Dは文節の種類を表す。同一のアルファベットで あれば、同一の文節とみなしこれを一致文節とする。 各一致文節に先頭から文節番号と係り受けペア番号(数),[数]を 設定する。その後、入力文側の係り受けペアに対して、 DB文側の係り受けペアの対応を示す係り受けペア対応 マトリックス図7を作成する。図中の◯は対応する 文節が存在することを示す。日本文の係り受けの特徴を考慮し、 入力文と対応する文節ペアとの関係が崩れないように、 係り受けペア対応マトリックスを 右下方向へと進み、対応する文節の存在を調べていくことで、一致ペア数が 最大となる文節の組み合わせを発見する。
ここで、同一の文節が複数あり、係り受け関係が同じで文節番号だけが 異なるものが存在する場合に、構造的に矛盾した一致ペアが選択される という問題が生じることがあるが、これは使用される文節番号の照合に より解決することができる。この問題については、 次に扱う例文2で触れることにする。
この例の係り受けペア対応マトリックス(図7)の場合、 文節間の対応関係を崩さず最も多く一致ペアを 選択できるパスは、1→3→4あるいは2→3→4の2通り存在する。 ここで、2→3→4の組み合わせの場合を見てみると図8のような 係り受け関係の一致が得られ、このDB文に対して一致ペア数3が決定される。
次に例文1で述べた問題について、以下の入力文とDB文を例に説明する。 なお、例文1と同様に、#2の処理は終了したものとする。 文節番号と係り受けペア番号の設定を同様に行う。
例文2.
この係り受け関係から、係り受けペア 対応マトリックスを作成する(図9)。 マトリックスより、最も多く一致ペアを選択できるパスは、 1→4→5→6の一致ペア数4の組み合わせである。 ここで、この一致ペアにおける入力文とDB文の対応を見てみると 図10のようになる。図10において入力文の文節 の部分の 係り受け関係(太線部分)とDB文の係り受け関係に違いが生じている。 この問題を解決するために、選択された係り受け関係に使用されている 文節の文節番号による照合を行う。 対応する係り受け関係の間に違いが生じる原因は、入力文の文節に 対してDB文の文節が1対1に対応していないためである。 そのため、選択された文節に対して以下のような条件を設けることにする。
条件この条件を満たすものが係り受け関係に矛盾が生じる ことなく決定された一致ペアである。 この条件を設定し文節間の対応関係を崩さないような選択を行うことで 問題を解決することができる。[1]入力側で同じ文節番号のところは、対応するDB側でも同じ数字に なっている必要がある
[2]DB側で同じ文節番号のところは、対応する入力側でも同じ数字に なっている必要がある