1024MTG 山山山山山 M1 山山山山
1024MTG山口研究室 M1
香川宏介
1. 論文紹介
2. 定義文からの CI 関係抽出
1. 論文紹介
ISWC2011 Best-In-Use Paper
Leveraging Community-built
Knowledge for Type Coercion in QA
by IBM Research
概要
Answer Type を決定
これまでの手法① 質問文から回答タイプを決定② 文書群から回答タイプ制約下で候補
を絞る
Joepardy! のような多分野からの出題の場合、回答タイプがどうなり、そのインスタンスがどれくらいあるのか、容易にはわからない。そこで、正しい回答タイプを決定しようというプロセスをとるのではなく、回答タイプ情報を用いずに解答候補を取得しておいて、回答タイプにふさわしいかを判定する
回答タイプをあくまで解候補のスコアの一部として利用するアプローチ
従来型 Type and Generate
DB
コーパス
質問解析 回答タイプの決定
分類器
検索
WEBテキストWEBテキストWEBテキスト
出力 スコアリング
解候補解候補
解候補解
WATSON型 Generate and Type
DB
コーパス
質問解析 回答タイプ候補
検索
WEBテキストWEBテキストWEBテキスト
出力 スコアリング
解候補解候補
解候補
解
TyCor
解候補解候補
解候補
回答タイプ情報はあくまで解候補に与えるスコア情報にとどめておく
WATSONの
回答プロセス
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
回答対象語 (Lexical Answer Type) が何であ
るか ( 表層文字列レベル )を構文木などから判断し、
抽出する
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
クエリを生成し、コーパスや DB から解答候補を
大量に獲得
回答対象語 (Lexical Answer Type) が何であ
るか ( 表層文字列レベル )を構文木などから判断し、
抽出する
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
クエリを生成し、コーパスや DB から解答候補を
大量に獲得
本論文で触れているところ解答候補にスコアをつける
n-gram, skip-bigram,source-reliability
など多次元によってスコアリング
その指標の一つとして回答タイプ情報がある
回答対象語 (Lexical Answer Type) が何であ
るか ( 表層文字列レベル )を構文木などから判断し、
抽出する
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
クエリを生成し、コーパスや DB から解答候補を
大量に獲得
本論文で触れているところ解答候補にスコアをつける
n-gram, skip-bigram,source-reliability
など多次元によってスコアリング
その指標の一つとして回答タイプ情報がある
スコアに基づいて解答を得る確信度を計算し、クイズに答えるか答えないかの
戦略を練る
回答対象語 (Lexical Answer Type) が何であ
るか ( 表層文字列レベル )を構文木などから判断し、
抽出する
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
クエリを生成し、コーパスや DB から解答候補を
大量に獲得
本論文で触れているところ解答候補にスコアをつける
n-gram, skip-bigram,source-reliability
など多次元によってスコアリング
その指標の一つとして回答タイプ情報がある
回答対象語 (Lexical Answer Type) が何であ
るか ( 表層文字列レベル )を構文木などから判断し、
抽出する
スコアに基づいて解答を得る確信度を計算し、クイズに答えるか答えないかの
戦略を練る
Watson の DeepQA ~ 4 つ のステップ~
Question Analysis↓
Hypothesis Generation↓
Hypothesis and Evidence Scoring↓
Candidate Ranking
Question Analysisのステップで得られた語を手がかりにしてクエリ
を生成し、コーパスや DBから解答候補を大量に獲
得
本論文で触れているところ解答候補にスコアをつける
n-gram, skip-bigram,source-reliability
など多次元によってスコアリング
その指標の一つとして回答タイプ情報がある
回答対象語 (Lexical Answer Type) が何であ
るか ( 表層文字列レベル )を構文木などから判断し、
抽出する
スコアに基づいて解答を得る確信度を計算し、クイズに答えるか答えないかの
戦略を練る
この論文で紹介されている”TyCor” Component
Hypothesis Generation において生成された解答候補 ( 例:宮崎駿 ) と
Question Analysis において 生成された回答対象語 ( 例:監督 ) の
それぞれの type の一致度を測ってスコアを出力
“TyCor”の概要
EDM(Entity Disambiguation & Matching)→ 解答候補群 (candidate answers) を Wikipedia の URI に結びつける
TR(Type Retrieval)→EDM によって得られた概念を YAGO のクラスに結び付ける(解答候補群それぞれの親を見つける)
PDM(Predicate Disambiguation & Matching)→ 回答対象語 (LAT) を YAGO のクラスに結びつける
TA(Type Alignment)→candidate answers の type と LAT の type の一致度を測り、
TyCor Component におけるスコアとして出力
Type Coercion(TyCor)~4つのステップ~
EDM(Entity Disambiguation & Matching)→ 解答候補群 (candidate answers) を Wikipedia の URI に結びつける
TR(Type Retrieval)→EDM によって得られた概念を YAGO のクラスに結び付ける(解答候補群それぞれの親を見つける)
PDM(Predicate Disambiguation & Matching)→ 回答対象語 (LAT) を YAGO のクラスに結びつける
TA(Type Alignment)→candidate answers の type と LAT の type の一致度を測る
Type Coercion(TyCor)~4つのステップ~
input: 解答候補 (candidate answer)output: Wikipedia のタイトル (URI) Wikipedia の記事名 , リダイレクト , アンカーリ
ンク , 曖昧さ回避のページをランク付けの基準として使う
・解答候補を単語→概念へマッピングする・ 6 つの指標によってランク付けする・ Optional Parameter として Popularity を用いる
(ページランクや、記事名の IDF を指標とする)
EDM step
input: 解答候補 (candidate answer)output: Wikipedia のタイトル (URI) Wikipedia の記事名 , リダイレクト , アンカーリ
ンク , 曖昧さ回避のページをランク付けの基準として使う
・解答候補を単語→概念へマッピングする・ 6 つの指標によってランク付けする・ Optional Parameter として Popularity を用いる
(ページランクや、記事名の IDF を指標とする)
EDM stepDirect Contextual MatchTitle MatchRedirect MatchDisambiguation MatchAnchor-Link MatchDBPedia name properties
①Direct Contextual Match Wikipedia の記事名をソースに解候補が生成さ
れている、もしくは他の Wikipedia のページからリンクされていればスコア 1.0
②Title Match Wikipedia の記事名と解答候補語が完全一致し
ていればスコア 1.0 を与える③Redirect Match リダイレクトに ( 多少のノイズには目をつぶる )
に現われていればスコア 1.0
EDM step
④Disambiguation Match曖昧さ回避のページに現れていれば、1/(the number of disambiguations)
のスコアを与える⑤Anchor Link Match [[ 米国 | アメリカ合衆国 (URI)]] のように、 Wikipedia にはリンクの文字列と
URI のセットが多数ある。”米国”のリンクの文字列が与えられたときに、”アメリカ合衆国”へ結ばれている確率をスコアとして与える
EDM step
⑥DBpedia name properties DBPedia には名前関連のプロパティが 100 以上あ
る。 名前、名称、愛称、姓、名・・・・など 解候補の文字列がこれらのトリプルの目的語になっ
ている場合、主語相当の URI が結び付けるべき概念なのではないか、という考え。
S(URI)→P( 名称などのプロパティ )→O( 解候補の文字列 )
スコアは、 1/S になった URI の数
EDM step
input: EDM で得られた Wikipedia の URI( 解答候補 )
output: YAGO におけるクラスの URI
解答候補語は基本的には YAGO における極めてhighly-specific なクラスに紐づいている例 ) CompaniesEstablishedIn1898
YAGO のクラス階層を、 WordNet のクラスが存在するレベルにまで上昇させる
TR step
input: Lexical Answer Type(LAT)output: YAGO におけるクラスの URIWikipedia の記事名 , リダイレクト , アンカーリ
ンク , 曖昧さ回避のページをランク付けの基準として使う
・ 4 つの指標によってランク付けする
PDM step
input: Lexical Answer Type(LAT)output: YAGO におけるクラスの URI( へ
Matching)Wikipedia の記事名 , リダイレクト , アンカーリ
ンク , 曖昧さ回避のページをランク付けの基準として使う
・ 4 つの指標によってランク付けする
PDM step
WordNet の sense rankDBPedia における Type PopularityDomain-Specific な Type Mapping条件付確率
①WordNet の sense rank
②DBPedia における Type Popularity DBPedia においてその概念がいくつの
instance を持つか
③Domain Specific な Type-mapping Jeopardy! では過去問を調べたところ、 star
が 75% の割合で「映画スター」を指し、「星」の意味では 25% 程度だった
PDM step
④条件付確率を使う。 A かつ B のタイプを持つインスタンス数 /A のタイプを持つインスタ
ンス数 この値が 0.5 を超えるなら、 B もタイプとして候補にする
例 ) LAT が”俳優”に属し、”俳優”のインスタンス数が 4万とする
“俳優”と”歌手” 両方をタイプとして持つインスタンスが 2万以上あれば、”歌手”のタイプも候補として加える。
一方、”俳優”と”大学教授”の両方をタイプとして持つインスタンスが 100 程度しかなければ、候補としては加わらない。
これによってカバー率を上げている
PDM step
input: TR で得られた解答候補の type, PDM で得られた LAT の type
output: 両者の一致度を示すスコア
・ 6 つの指標によってランク付けする
TA step
input: TR で得られた解答候補の type, PDM で得られた LAT の type
output: 両者の一致度を示すスコア
・ 6 つの指標によってランク付けする
TA step
Equivalent/Sub Class Match Disjoint Match Sibling Match Super Class Match Statistical Relatedness Lowest Common Ancestor
①Equivalent/Sub Class Match LAT と candidate answer の type が YAGO におい
て、 equivalent もしくは candidate answer の type が LATの type の subclass ならば、 score1.0 を与える
②Disjoint Match 逆に、 LAT と candidate answer の type が YAGO において
disjoint であれば、 score-1.0 を与える
③Sibling Match LAT と instance が親クラスを共有していれば score0.5 を与
える、但し、上位過ぎるクラスで共有されている場合(depth<6) はこの限りではない
TA step
④Super Class Match candidate answer の type が LAT の type より上位概念の場
合、 score0.3 を与える。これは直感的にはおかしいこと(基本的には解候補は LAT の下位概念であるはず)だが、 EDM やPDM の誤りを緩和するために経験則的に必要らしい
⑤Statistical Relatedness 閾値を設けてスコアを微調整する
⑥Lowest Common Ancestor candidate answer と LAT の Lowest Common なクラスが YAGO において depth>6 の場合、スコア 0.25 を与える
TA step
結果
回答タイプを決めて、それに合う条件で解を探すよりも回答タイプと、回答タイプ情報を用いないで生成された
大量の解候補をすり合わせて 1 つの指標程度で扱ったほうが、精度を維持したまま網羅性を高められる
Wikipedia の情報資源( リンク , 曖昧さ回避 , リダイレクト )がスコアリングに有効に働くクラス階層としては depth=6 付近が経験則的に有効
まとめ
2.Wikipedia 定義文からの C-I 関係抽出
定義文からの C-I関係抽出
“ 記事名” + ( ・・・ ) とは、 ( ・・・・ ) + ” 上位概念” + である。
インスタンス収集は一覧ページから 記事名になっていない語も収集できる
is-a 関係について InfoBox テンプレートの上位・下位関係を利用 記事内見出し語名の上位・下位構造を利用 カテゴリ名・記事内見出し語名の文字列一致度を利
用
C-I関係の抽出~これまでの成果~
現在のWikiOntにおけるC-I/Is-Aのイメージ
高村直樹
東京都出身の人物 (自転車競技 ) 1~2 程度の弁別属性を含む語が直属のクラスとなっている。粒度として
はかなり細かい。
山宮正
市川雅敏
東京都出身の人物
人物
現在のWikiOntにおけるC-I/Is-Aのイメージ
高村直樹
東京都出身の人物 (自転車競技 ) 1~2 程度の弁別属性を含む語が直属のクラスとなっている。粒度として
はかなり細かい。
山宮正
市川雅敏
東京都出身の人物
人物
X の Y(Z)型が非常に多い
新たに増やせそうな関係
東京都出身の人物 (自転車競技 )
東京都出身の人物
人物
自転車競技選手
高村直樹
山宮正
市川雅敏
竹谷賢二
定義文から新たに抽出でき
る C-I 関係
理想形?
高村直樹
山宮正
市川雅敏
東京都出身の人物
人物
自転車競技選手
竹谷賢二
東京都出身の自転車競技選手
スポーツ選手
現状のデータ記事として存在
記事が存在しない
一覧ページに存在する語 約 16万語 約 14万語 約 30万語
一覧ページに存在しない語
約 61万語 - -
約 77万語 - -
~今までのアプローチ~一覧ページの箇条書き項目を収集Infobox テンプレート名を収集
現状のデータ記事として存在
記事が存在しない
一覧ページに存在する語 約 16万語 約 14万語 約 30万語
一覧ページに存在しない語
約 61万語 - -
約 77万語 - -
語として不適切なものを取り除く必要がある
既に抽出したものと被ることもあるが、 is-A 関係が構築で
きる可能性
現状のデータ記事として存在
記事が存在しない
一覧ページに存在する語 約 16万語 約 14万語 約 30万語
一覧ページに存在しない語
約 61万語 - -
約 77万語 - -
記事として存在 かつ 一覧ページに存在しない語
Infobox ありInfobox なし
約 61万語
調べたデータ ランダムに抽出した 300 の記事を対象人手で定義文から上位語を抽出し、日本語語彙大系によって判断した
平均して 1 記事につき、親を 1.14個もつ(σ=0.38)抽出できた関係数は 322
判断不能・定義文内に上位語相当語句がない記事が 12
およそ 60 ~ 70万程度の関係が取れると思われる
定義文からC-I関係を構築しようとしたときの課題
記事になっていない語に関しては扱えない 記事になっているが、不適切な語をどう取り除く
か C-I/Is-A の区別なく、すべて「上位・下位関係」と
して混在した形で抽出される (→既存の WikiOntにおける関係とうまく結び付けられたりしないか? )
ランダムに選んだインスタンス約 300 語を対象に前述の手法が仮にうまく働いたとして、どの程度の深さのクラスが定義文から抽出されるかを調べた。
定量化は難しいが、基準としては日本語語彙体系のカテゴリ ( 約 3000) とインスタンス ( 約 10万 )例 ) 名詞→具体→主体→場所→施設→公共施設→学校→小学校 (最下層 )
例 ) 名詞→具体→具体物→無生物→人工物→物品→商品→加工物 (最下層 )
正解・不正解の基準と仮定
正しくデータがとれたもの (約96%)
33%未知数
54%約 100,000 語レベル
12%約 2,000 語レベル
1%数 100 程度
正しくデータがとれたもの (約96%)
33%未知数
54%約 100,000 語レベル
12%約 2,000 語レベル
1%数 100 程度
フリーアナウンサー ,
航空自衛官
アナウンサー ,自衛官
ジャーナリスト ,軍人
人
不適切 ? ・判断が難しい記事の例「 Б はキリル文字のひとつ」「 8月 21日はグレゴリオ暦で年始から 233日目
にあたり、年末まであと 132日ある。」「ブントは、結びつき、絆、連合、結束、提携、盟
約、同盟、連邦、束を意味するドイツ語の名詞」「ロータシズムとは言語学において、ほかの音素が
/r/音に変化することをいう。」
正しくデータがとれなかったもの
上位語がとれなかった記事
定義文に上位語相当語句が含まれていない
状態や行動名を長い名詞句で説明しており、取り出す長さがチャンク単位を超える
日付や文字など、そもそも取る価値があるのか不明
ルールベース「~は~で、主に~を行っている。」などのルールの適用できない多様な形式に対して取りこぼしが多い
Wikipedia の構造を利用した機械学習ベース見出し語や、段落の階層関係を利用
定義文からの上位・下位関係に関してこれまで行われてきた手法
1 文目の先頭チャンクは必ず記事名を含むという仮定
Cabocha で解析された (固有表現 IOB タグが振られた ) チャンク単位が妥当であり、それらの係り受け関係も正しいという仮定
何らかの方法でクラス相当語句を含むチャンクを見つけ出すというアプローチ
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
2番目~末尾のチャンクそれぞれに対してスコアリングを行い、ある閾値以上のチャンクはその記事名の語の 「クラス相当語句が含まれている」と仮定し、それらのチャンク内から語句を切り出して抽出する (簡単なルールで抽出可能 )
2値分類問題として SVM で扱う
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
2番目~末尾のチャンクそれぞれに対してスコアリングを行い、ある閾値以上のチャンクはその記事名の語の 「クラス相当語句が含まれている」と仮定し、それらのチャンク内から語句を切り出して抽出する (簡単なルールで抽出可能 )
2値分類問題として SVM で扱う
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
f(w)<0
2番目~末尾のチャンクそれぞれに対してスコアリングを行い、ある閾値以上のチャンクはその記事名の語の 「クラス相当語句が含まれている」と仮定し、それらのチャンク内から語句を切り出して抽出する (簡単なルールで抽出可能 )
2値分類問題として SVM で扱う
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
f(w)<0 f(w)>0
2番目~末尾のチャンクそれぞれに対してスコアリングを行い、ある閾値以上のチャンクはその記事名の語の 「クラス相当語句が含まれている」と仮定し、それらのチャンク内から語句を切り出して抽出する (簡単なルールで抽出可能 )
2値分類問題として SVM で扱う
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
f(w)<0 f(w)>0 f(w)>0
2番目~末尾のチャンクそれぞれに対してスコアリングを行い、ある閾値以上のチャンクはその記事名の語の 「クラス相当語句が含まれている」と仮定し、それらのチャンク内から語句を切り出して抽出する (簡単なルールで抽出可能 )
2値分類問題として SVM で扱う
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
f(w)<0 f(w)>0 f(w)>0 f(w)>0
2番目~末尾のチャンクそれぞれに対してスコアリングを行い、ある閾値以上のチャンクはその記事名の語の 「クラス相当語句が含まれている」と仮定し、それらのチャンク内から語句を切り出して抽出する (簡単なルールで抽出可能 )
2値分類問題として SVM で扱う
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
採用できそうな素性 チャンクの位置、文字列長直前のチャンクにおけるいくつかの素性 「であり、」 , 「である。」 , 「の一つ」などの
キーワードを含むかどうか 主題の語との係り受け関係 (直接係っているのか、ほかのチャンクをいくつか経由して係っているのか )
形態素一致率 (共通する度合いが高いチャンクほどスコアをあげる等 )例 ) 国際会計基準と会計基準
形態素の共起度合
手法 (ベタですが・・・ )
藤野真紀子は、 日本の
定義文(1 文目 )
~藤野真紀子~政治家、 料理研究家、 エッセイストで
ある。
f(w)<0 f(w)>0 f(w)>0 f(w)>0
学習時に正解か否かは、人手でラべリングすることになる
正例は自動でラベリング可能学習時には正解となるチャンクに対して正例ラベ
ルを振っても良いが、 Infobox を含む記事ならばInfobox テンプレート名がチャンクに含まれていればそれを解として与えることができる可能性が高い
エステバン・マティアス・カンビアッソ・デレアウは、アルゼンチン・ブエノスアイレス出身で、同国代表、インテル所属のサッカー選手
テンプレート名:サッカー選手
正例は自動でラベリング可能学習時には正解となるチャンクに対して正例ラベ
ルを振っても良いが、 Infobox を含む記事ならばInfobox テンプレート名がチャンクに含まれていればそれを解として与えることができる可能性が高い
エステバン・マティアス・カンビアッソ・デレアウは、アルゼンチン・ブエノスアイレス出身で、同国代表、インテル所属のサッカー選手
テンプレート名:サッカー選手
自動的に正解データを付与できる!
全体図前処理
形態素解析チャンキング係り受け解析
素性抽出
チャンク長チャンク位置形態素一致率係り受け関係共起度合いなど
学習正解ラベルの付与
人手
Infobox閾値判定によ
る正解付与
記事定義文記事
定義文記事定義文
定義文に対して
分類器
自動
以上です。