0
質問応答システム
エスキュービズム・テクノロジー
エンジニア勉強会
May 1,2015
S-cubism Technology Inc.
1.自然言語処理
• 自然言語・・・人間が日常的に話聞き読み書
きしている言語
– 日本語、英語、中国語…
• プログラミング言語・・・コンピュータに指示を
する人工言語
– C,C++,Java,php…
1
1.自然言語処理
• 自然言語処理・・・自然言語をコンピュータ上
で扱う技術
• 大きく2つの立場に分けられる
– 「ことば」を理解させる
– 「ことば」を処理する
2
1.自然言語処理
• 「ことば」を理解
– 人工知能的な取り組み
• 「ことば」を処理
– テキストデータから有用な情報を取出し
– テキストデータが蓄積されるようになったことに伴
い研究が活発
3
1.自然言語処理
• 自然言語処理応用例
– 機械翻訳
– 情報検索
– テキスト要約
– 質問応答
4
1.自然言語処理
形態素解析
• 文を単語に区切り個々の単語の品詞や活用形等の情報を付
与する処理
– 例
SEOは、検索エンジンで上位表示させるための手法です。
SEO / は / 、 / 検索 / エンジン / で / 上位 / 表示 / さ / せる / ため / の
/ 手法 / です / 。
– 言語処理のあらゆる場面で用いられる
• 主な形態解析器
– MeCab
– JUMAN
– 茶筅
5
1.自然言語処理
単語ベクトル
• 文中の単語を要素とし文をベクトルとして表した
もの
– 単語のリストを作成(文集合)
– テキストデータを数学的な形式に変換
• 文同士の類似度を計算するのが簡単
– ベクトル同士のコサインを計算(コサイン類似度)
6
1.自然言語処理
単語ベクトルの例(自立語のみ)
例文: 奈良に旅行に行き、大仏を見た。
単語: 奈良, 旅行, 行く, 大仏, 見る
ベクトル: (1, 0, 1, 0, 0, 1, 0, 0, 1, 1,…)
→ 1:1 3:1 6:1 9:1 10:1
7
リスト
1. 奈良
2. 京都
3. 旅行
4. 観光
5. 寺社
6. 大仏
7. 聞く
8. 遊ぶ
9. 行く
10. 見る
・・・
2.質問応答技術(QA)
• 自然言語による質問に対してシステムが持つ
知識を用いてその回答を掲示すること分野や
領域が限定されないQAをオープンドメイン質
問応答という(Web等を知識源)
• 大量のデータ集合からの情報検索・情報抽出
• 利用者に合わせのテキスト要約
8
質問応答イメージ
9
Q1. 富士山の高さは何メートルですか?
Q2. 紫式部はどんな人ですか?
質問応答
システム
質問(自然言語)
回答(自然言語)
A1. 3776メートルです
A2. 平安時代の作家で源氏物語の作者です 知識源
例
• Siri
• しゃべってコンシェル
• Watson
• MinerVA(横浜国立大)
2.質問応答技術(QA)
オープンドメインQAの種類
• ファクトイド型QA
– 回答が人名・地名・組織名などの固有名詞や短
い言葉
– Factoid = fact(事実) + -oid(-のようなもの)
– 穴埋め問題
• ノンファクトイド型QA
– 理由や方法など回答が文章
– 記述問題
10
3.QAシステムの構造
3つのモジュールから構成
• 質問解析
• 文書検索
• 回答抽出
11
質問解析 文書検索 回答抽出
知識源
質問
回答
3.QAシステムの構造
質問解析
• 質問からキーワードを取出し検索クエリを作成
• 回答タイプを推定
回答タイプ
• 質問者が求めている回答の種類
– 回答選択に大きく影響
– 固有表現の分類(人名、地名、組織名、固有物名、
日付、時刻、金額、割合)が用いられることが多い
12
回答タイプ
タイプ分類の手法
• 手書きルールによる分類
– 「どこ」があれば場所、「誰」があれば人物…
– 作成、および管理が複雑
• 機械学習による分類
– あらかじめトレーニングデータを大量に用意し、学習
した分類器で質問のタイプを推定
– 単純ベイズ分類器、サポートベクターマシン(SVM)
– 訓練データの作成が大変 13
機械学習について(SVM)
• SVM:二値分類器(2つのグループに判定)
– 想定しているカテゴリーに属するかを判定
– 学習には正例と負例が必要
– 質問解析ではタイプごとにSVMを用意
素性(特徴)
• 文中のn個の単語の組み合わせ(n-gram)
– 単語(1-gram)、2語(2-gram)、3語(3-gram)
• 素性のリストからベクトルを作成
14
機械学習について(SVM)
• 回答タイプのSVMの訓練データ
– 各タイプに一致する質問は正例、それ以外は負例
例.「場所」タイプのSVMの訓練データ
+1 法隆寺はどこにある?
+1 サロマ湖はどこですか?
-1 エジソンはいつ生まれましたか?
-1 現在のアメリカ大統領はだれ?
15
トレーニングデータ
(テキスト)
トレーニングデータ
(ベクトル)
質問
(テキスト)
ベクトル
(テキスト)
「場所」学習器 「場所」分類器
判定
結果
3.QAシステムの構造
文書検索
• 大量の文書データから回答の含まれそうな文
書を取り出す
– 文書検索エンジンを用いる
• 長い文書はキーワードがマッチする(パッセ
ージ)を取り出す
– Web文書,記事など
16
3.QAシステムの構造
回答抽出
• 取得した文書の中から回答を取り出す
– ファクトイド型QA:回答タイプと一致する単語、固
有名詞を抽出
– ノンファクトイド型QA:手がかり語や回答のパター
ンから回答文を抽出(+回答作成)
• 回答候補に対し採点を行い回答を選択
– 頻度、質問との類似度、論理的手法
17
4.応用例
• 大学入試問題をコンピュータに解かせる
– 「ロボットは東大に入れるか」プロジェクト
– NTCIR-11のQA Labタスク
• 背景や経緯を長く説明したり、抽象的な表現
を含む質問に対応
– 従来のシステムでは短い質問を対象
18
4.応用例
• 穴埋め問題
– センター試験など
– 単純なファクトイドな質問だけでなく、時系列、グ
ラフの読み解きが必要
• 論述問題
– 文章での回答であり、字数制限がある
– 問題に対して知識源からあてはまる文章を検索
– 制限に合わせて要約
19
4.応用例
不得手とする問題形式(世界史)
• 時系列問題
– 複数の出来事の時系列で正解を選択する
• 図の読み取り問題
– 地図やグラフなどの非言語的な情報を伴う
• 正誤の組み合わせ問題
– 各出来事が正しいか間違っているかを判断
20
5.まとめ
• 質問応答システムについて
– ファクトイド型とノンファクトイド型
– 質問解析、文書検索、回答抽出
• 回答タイプについて
– Siri等のシステム、大学入試の挑戦
21
参考文献
監修 奥村 学, 共著 磯崎秀樹, 東中 竜一郎, 永田昌明, 加藤恒明
『自然言語処理シリーズ2 質問応答システム』コロナ社
Toby Segaran 著, 當山 仁健,鴨澤 眞夫 訳
『集合知プログラミング』O’REILLY
言語処理学会 第21回年次大会 発表論文集,石下円香 他,
大学入試問題を解くための質問応答システムにおける現状と課題
22

質問応答システム