第 5 章 テキスト解析による解答群の作成
5.2 解答群の作成
5.2.1 限定表現候補の抽出
解答候補を含むセグメントに含まれるキーワードに対し,その意味を限定する限定表現 の候補を抽出する.限定表現を抽出するために6つのパターンを用意した.
• 連体修飾(sno)
助詞「の」を介してキーワードに連体修飾する句を限定表現として抽出する.例え ば,「サッカーのワールドカップ」という表現があったとき(「ワールドカップ」が キーワード),「ワールドカップ」の限定表現snoは「サッカー」となる.
• 直前の単語(sprev)
キーワードの直前にあり,キーワードとともに複合名詞を構成する名詞を限定表現 として抽出する.例えば,「第17回ワールドカップ」という表現があったとき(「ワー ルドカップ」がキーワード),「ワールドカップ」の限定表現sprevは「第17回」と なる.
• 直後の単語(ssucc)
キーワードの直後にあり,キーワードとともに複合名詞を構成する名詞を限定表 現として抽出する.例えば,「ワールドカップ日韓大会」という表現があったとき
(「ワールドカップ」がキーワード),「ワールドカップ」の限定表現ssuccは「日韓大
会」となる.
• デ格(sde)
キーワードがある用言の格要素であるとき,同じ用言を主辞とするデ格の格要素を 限定表現として抽出する.例えば,「日韓大会で優勝した」という表現があったとき
(「優勝」がキーワード」),「優勝」の限定表現sdeは「日韓大会」となる.
• 近傍(sdice)
近傍(同一文中)に存在する名詞,またはかぎ括弧で囲まれた表現のうちキーワー
ドと関連が高い単語を限定表現候補として全て取り出す.名詞は,セグメントを茶 筌によって形態素解析することで抽出する.キーワードと名詞間の関連度は新聞記 事コーパスにおける文書内の共起頻度に基づき,式(5.3)のDice係数によって定義 する.
D(x, y) = 2|X∩Y|
|X|+|Y| (5.3)
– |X|· · ·名詞xが出現する記事数 – |Y|· · ·名詞yが出現する記事数
– |X∩Y|· · ·名詞x,yが共に出現する記事数
Dice係数は毎日新聞の記事の1991年から2003年まで用いて計算し,ある一定の閾 値以上のときに限定表現候補として抽出する.本研究では閾値を0.04としている.
• セグメントの先頭(sf ront)
セグメントの先頭にはそのトピックを表わす場合が多い.そのため,セグメントの 先頭が名詞ならば限定表現として抽出する.セグメントの先頭の名詞は,セグメン トを茶筌によって形態素解析することで抽出する.
5.1.2項で述べたように,キーワードにはセグメントに存在するものと,ページのタイ
トルに存在するものがある.セグメントに存在するキーワードの場合は上記6種類の限定 表現を抽出し,タイトルに存在するキーワードの場合は,「近傍」と「セグメントの先頭」
の2種類の限定表現を抽出する.両者の違いはプログラムの実装上の都合によるものであ る.本来はタイトルに含まれるキーワードに対しても,連体修飾,直前,直後,デ格のパ ターンを用いて限定表現を抽出するべきである.
5.2.2 属性の付与
本研究では,解答群の各解答に対するキーワードの限定表現がある程度似たような表 現でなければ,それらはキーワードの意味の曖昧性を適切に表現していないと判断する.
そこで5.2.1項で抽出された(「解答」,「キーワード」,「限定表現」)という3つ組の集合 から,キーワードが共通で,かつその限定表現が共通の属性を持つものを選別し,これを 解答群とする.属性とは限定表現が持つ単語の特徴のことを意味し,以下の9つの種類が ある.
• 数量表現+接尾語(N)
数量表現と接尾語で構成されている限定表現を属性とみなす.例えば,「1998年」
という限定表現は,「NUM+年」という属性を持つ.
• 末尾N文字(E1,E2,E3)
限定表現の末尾1,2,3文字をそれぞれ属性とみなす.例えば,「アルペンスキー」
は,末尾1文字が「E1:ー」,2文字は「E2:キー」,3文字は「E3:スキー」という属 性を持つ.
• かぎ括弧で囲まれた表現(K)
限定表現がかぎ括弧で括られている名詞を属性とみなす.物の名前や作品のタイト ルを示す固有名詞は,かぎ括弧によって表記されている.そのため,かぎ括弧で括 られている限定表現は固有名詞を示していると判断する.例えば,『スペースシャト ル「ディスカバリー」』とあった場合,「ディスカバリー」がこの属性を持つ.
• シソーラスによる意味クラス(T)
限定表現の意味クラスを属性とみなす.シソーラスには角川類語新辞典[13]を使用
した.例えば,「サッカー」という単語は「898d」の属性を持つ.角川類語新辞典に おいて「898d」は「球技」という意味クラスを表わす.
• シソーラスによる上位の意味クラス(T)
限定表現が「意味クラス」属性を持つ場合,さらに上位の意味クラスをたどり抽出 する.それを「上位の意味クラス」属性とみなす.例えば,「サッカー」という単語は
「898d:球技」という属性(T)を持つが,「898d」のさらに上位語である「898:スポー ツ」をたどり,このクラスを「上位の意味クラス」属性(T’)とする.
• 限定表現の抽出パターン(S)
5.2.1項で述べた限定表現を抽出するパターンも解答群をまとめる属性とする.ただ
し,近傍(sdice)とセグメントの先頭(sf ront)は解答群をまとめる属性とはしない.近 傍やセグメントの先頭に位置するという理由で抽出された限定表現は互いに関連が ないことが多いので,解答群としてふさわしくないからである.したがって,ここ では以下の4つを限定表現の共通属性として用いる.
– 連体修飾(sno)
助詞「の」を介して取り出されたことを属性とみなす.
– 直前の単語(sprev)
キーワードの直前の単語として取り出されたことを属性とみなす.
– 直後の単語(ssucc)
キーワードの直後の単語として取り出されたことを属性とみなす.
– デ格(sde)
デ格の格要素として取り出されたことを属性とみなす.
5.2.3 解答群の作成
5.2.1項で述べた「解答候補(ai)」,「キーワード(kj)」,「限定表現(sk)」の集合と5.2.2 項で述べた「属性(attr)」をもとに,キーワードと属性が共通しているもので解答群をま とめる.ここでは考えられるすべてのキーワードと属性の組み合わせについて解答群を生 成する.ただし,以下の場合は解答群を生成しない.
• 解答群を構成する要素が1つのとき
解答群を構成する要素が1つしかないグループは既に解答が1つに決まっているの で,曖昧性がない.よって,曖昧性を表わす解答群としてふさわしくない.
• 解答群を構成する限定表現が全て同じとき
解答群中の限定表現が全て同じ場合,質問の曖昧性を表わす解答群とみなすことは できない.よって,そのような場合は解答群は生成しない.
5.2.4 解答群に対するスコア付け
一般に解答群は複数得られる.ここでは,これらの解答群の中から,最終的にユーザに 提示する解答群を1つ選択するために,複数の解答群にスコア付けをする.解答群に対す るスコアを式(5.4)のように6つのサブスコアG,A,Z,AS,D,Kの重み付き和で定義 する.
Score(AG(kj, attr)) =w1G+w2A+w3Z+w4AZ+w5D+w6K (5.4)
G= Gtype
|GG|,A= Atype
|AG|,AZ =
a∈AG az(a)
|AG| ,D=
key,gen∈AG dice(key, gen)
|GG| × |key| ,K =
a∈AG k(a)
|GG| (5.5)
• Gtype· · ·解答群中の限定表現の異なり数
• |GG|· · ·解答群中の限定表現の数
• Atype· · ·解答群中の解答の異なり数
• |AG|· · ·解答群中の解答の数
• a∈AG az(a)· · ·解答群中の解答のスコアの総和
• az(a)· · ·解答群中の解答aに対して質問応答システムが与えるスコア
• key,gen∈AG dice(key, gen)· · ·解答群中のキーワードと限定表現のダイス係数の総和
• dice(key, gen)· · ·解答群中のキーワードと限定表現のダイス係数
• |key|· · ·キーワードの数
• a∈AG k(a)· · ·解答群中の限定表現の抽出パターンのスコアの総数
• w1,w2,w3,w4,w5,w6· · ·それぞれのスコアの重みで,それぞれ0.05,0.05,0.2,0.2,
0.2,0.3に設定
限定表現の異なり数についてのスコア(G)
分母は解答群中の限定表現数,分子は解答群中の限定表現の異なり数である.もし,限 定表現の異なり数が少ない場合,同じ限定表現候補が異なる解答を持つことが多いという ことを意味する.しかし,適切に限定表現が抽出されているのであれば,1つの限定表現 に対して得られる解答は1つのはずである.このスコアが低い場合ほど同じ限定表現が異 なる解答に対して出現していることを意味する.
解答の異なり数についてのスコア(A)
分母は解答群中の解答数,分子は解答群中の解答の異なり数である.もし,解答の異な り数が少ない場合,同じ解答が異なる限定表現を持つことが多いということを意味する.
しかし,適切に解答が抽出されているのであれば,1つの解答に対して得られる限定表現 は1つのはずである.このスコアが低い場合ほど同じ解答が異なる限定表現に対して出現 していることを意味する.
属性のスコア(Z)
限定表現の共通属性attrに応じて与えられるスコアである.表5.5に属性に応じて与え られるスコアの値を示す.スコアが高い属性ほど限定表現間の共通性が高く,解答群とし て適切であるとみなしている.
表 5.5: 属性のスコア
属性 スコア
数量表現+接尾語(N) 1
末尾3文字(E3) 0.8 末尾2文字(E2) 0.5 末尾1文字(E1) 0.2
かぎ括弧(K) 0.5
意味クラス(T) 0.6
上位の意味クラス(T) 0.6 限定表現の抽出パターン(S) 連体修飾(sno) 0.3 直前(sprev) 0.3 直後(ssucc) 0.3 デ格(sde) 0.2
解答群中に存在する解答の平均スコア(AZ)
分母は解答群中の解答候補数,分子は解答候補が持つスコアの総和である.解答がどの くらい信頼性があるかを表しており,高いスコアを持つ解答が解答群中にたくさんあれば あるほど解答群としてスコアが高くなる.
キーワードと限定表現のDice係数の平均スコア(D)
キーワードと限定表現のDice係数の平均をスコアとしている.限定表現が質問文中の キーワードとどのくらい関連しているかを表しており,関連が高ければ高いほどスコアが 高くなる.
限定表現の抽出パターンの平均スコア(K)
分母は解答群中の限定表現の数,分子は限定表現の抽出パターンのスコアの総和であ る.表5.6に限定表現の抽出パターンごとに与えられるスコアを示す.抽出された限定表 現がどのくらい信頼できるかを表しており,信頼できる抽出パターンで抽出される限定表 現が多いほどスコアが高くなる.
表 5.6: 限定表現の抽出パターンのスコア 限定表現の抽出パターン スコア 連体修飾(sno) 1 直前(sprev) 1 直後(ssucc) 1 デ格(sde) 0.8 Dice係数(sdice) 0.3 セグメントの先頭(sf ront) 0.3
なお,これらの重みやスコアの値は,スコア付けされた解答群の順位とスコアの詳細 を,付録A.1の質問を用いた予備実験によって調べ,適切な解答群が上位に現れる値を設 定した.