Transcript

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閾値判定によ

る正解付与

記事定義文記事

定義文記事定義文

定義文に対して

分類器

自動

以上です。