(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-10
(45)【発行日】2023-02-20
(54)【発明の名称】QA生成装置、QA生成方法およびプログラム
(51)【国際特許分類】
G09B 7/02 20060101AFI20230213BHJP
G06F 40/274 20200101ALI20230213BHJP
G06F 40/253 20200101ALI20230213BHJP
G06Q 50/10 20120101ALI20230213BHJP
【FI】
G09B7/02
G06F40/274
G06F40/253
G06Q50/10
(21)【出願番号】P 2019057076
(22)【出願日】2019-03-25
【審査請求日】2021-10-12
(73)【特許権者】
【識別番号】514020389
【氏名又は名称】TIS株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】小林 賢一郎
(72)【発明者】
【氏名】清家 巧
(72)【発明者】
【氏名】乙宗 寛子
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2012-018300(JP,A)
【文献】特開2005-062508(JP,A)
【文献】特開平09-016072(JP,A)
【文献】特開2010-061329(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09B 1/00- 9/56
G09B 17/00-19/26
G06F 40/20
G06Q 50/20
(57)【特許請求の範囲】
【請求項1】
出題のソースとなるテキストを取得するソース取得部と、
前記テキストのレイアウトを解析して、前記テキスト中の見出し部分と本文部分を少なくとも特定するレイアウト解析部と、
前記見出し部分及び/又は前記本文部分から複数の語句を抽出し、抽出された前記複数の語句の中から問題の対象とするトピックを決定するトピック決定部と、
前記トピックと関連性を有する文又は文章を、関連記述として、前記本文部分から抽出する関連記述抽出部と、
抽出された前記関連記述に基づいて、問題と解答から構成されるQA情報を生成するQA生成部と、
を有
し、
前記QA生成部は、
前記関連記述の中から1つ以上の対象文を抽出する処理、及び、
抽出された前記対象文そのもの、又は、文意を変えることなく前記対象文を整形したものを、正しい文とし、前記正しい文の一部を変更したものを誤り文とする、正誤問題を生成する処理、を実行可能である
ことを特徴とするQA生成装置。
【請求項2】
前記QA生成部によって生成された1つ以上のQA情報をQA候補としてユーザに提示し、前記QA候補の中から採用するQA情報を選択する操作、及び/又は、前記QA候補の前記問題及び前記解答を修正する操作をユーザから受け付けるQA編集部をさらに有する
ことを特徴とする請求項1に記載のQA生成装置。
【請求項3】
前記QA生成部は、
前記関連記述の中から1つ以上の対象ワードを選択
する処理、
選択された前記対象ワードを含む対象文を前記関連記述の中から抽出
する処理、
及び、
抽出された前記
対象ワードを含む対象文を変形することにより、前記対象ワードが正
答となる穴埋め問題を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項4】
前記QA生成部は、
前記対象ワードに基づいて、前記穴埋め問題の誤答ワードを生成する
処理、を実行可能である
ことを特徴とする請求項3に記載のQA生成装置。
【請求項5】
前記QA生成部は、
前記正しい文の極性を変更したもの、前記正しい文の中のワードを非同義語に置き換えたもの、前記正しい文の中の数字を異なる数字に置き換えたもの、のうちの少なくともいずれかを前記誤り文とする
ことを特徴とする請求項
1又は2に記載のQA生成装置。
【請求項6】
前記QA生成部は、
複数のワードのそれぞれに対し、1以上の非同義語が対応付けられている負例辞書を用いて、前記正しい文の中のワードを非同義語に置き換える
ことを特徴とする請求項
5に記載のQA生成装置。
【請求項7】
前記QA生成部は、
抽出された前記対象文の一部を変更することにより、誤り指摘問題を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項8】
前記QA生成部は、
前記対象文の極性を反転し、前記対象文の中のワードを非同義語に置き換え、又は、前記対象文の中の数字を異なる数字に置き換えることにより、誤り指摘問題を生成する
ことを特徴とする請求項
7に記載のQA生成装置。
【請求項9】
前記QA生成部は、
複数のワードのそれぞれに対し、1以上の非同義語が対応付けられている負例辞書を用いて、前記対象文の中のワードを非同義語に置き換える
ことを特徴とする請求項
8に記載のQA生成装置。
【請求項10】
前記QA生成部は、
前記関連記述の中から複数のワード対を抽出
する処理、
及び、
前記複数のワード対のそれぞれを2つの語群に分けることによって、各語群から対となるワードを選択する形式の組み合わせ問題を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項11】
前記QA生成部は、前記2つの語群の少なくともいずれかに、誤りワードを追加する
ことを特徴とする請求項
10に記載のQA生成装置。
【請求項12】
前記QA生成部は、
前記関連記述の中から、時間表現、場所表現、主体表現、数量表現、及び、目的物表現のうちのいずれかの表現で用いられている対象ワードを含む対象文を抽出
する処理、
及び、
抽出された前記
対象ワードを含む対象文を変形することにより、前記対象ワードが正答となるファクトイド型問題を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項13】
前記QA生成部は、
前記関連記述の中から、複文を抽出
する処理、
及び、
抽出された前記複文のうちの一方の文の内容を問題に含み、他方の文の内容を解答とする、QA情報を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項14】
前記QA生成部は、
前記トピックについての説明を問う形式の問題を生成すると共に、前記関連記述から抽出されたワード及び/又は文から解答例を生成することにより、説明問題を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項15】
前記レイアウト解析部は、前記テキスト中のリスト構造の特定も行い、
前記関連記述抽出部は前記トピックと関連性を有するリスト構造を、関連リストとして抽出し、
前記QA生成部は、前記関連リストを構成する複数のアイテムのうちの1以上のアイテムを選択肢に含む、選択問題を生成する
処理、を実行可能である
ことを特徴とする請求項1又は2に記載のQA生成装置。
【請求項16】
コンピュータが、出題のソースとなるテキストを取得するソース取得ステップと、
コンピュータが、前記テキストのレイアウトを解析して、前記テキスト中の見出し部分と本文部分を少なくとも特定するレイアウト解析ステップと、
コンピュータが、前記見出し部分及び/又は前記本文部分から複数の語句を抽出し、抽出された前記複数の語句の中から問題の対象とするトピックを決定するトピック決定ステップと、
コンピュータが、前記トピックと関連性を有する文又は文章を、関連記述として、前記本文部分から抽出する関連記述抽出ステップと、
コンピュータが、抽出された前記関連記述に基づいて、問題と解答から構成されるQA情報を生成するQA生成ステップと、
を有
し、
前記QA生成ステップは、
前記関連記述の中から1つ以上の対象文を抽出する処理、及び、
抽出された前記対象文そのもの、又は、文意を変えることなく前記対象文を整形したものを、正しい文とし、前記正しい文の一部を変更したものを誤り文とする、正誤問題を生成する処理、を含む
ことを特徴とするQA生成方法。
【請求項17】
請求項1~
15のうちいずれか1項に記載のQA生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、問題及びその解答を自動で生成する技術に関する。
【背景技術】
【0002】
従来より、eラーニングのコンテンツを作成するツールが利用されている。しかしながら、従来のツールは、出題のソースとなるテキストからユーザ自ら編集し、問題や解答を作成せねばならないため、非常に手間と時間がかかるものであった。なお、特許文献1~4には問題作成を支援するシステムが提案されているが、単純な質問を生成するにとどまるか、ユーザの介在を必要とするものであり、実用性に欠ける。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-45652号公報
【文献】特開2017-27233号公報
【文献】特許第5911931号公報
【文献】特開2016-1242号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は上記実情に鑑みなされてものであって、出題のソースを与えると、自動ないし略自動で問題及びその解答を生成可能な新規の技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の第一側面は、出題のソースとなるテキストを取得するソース取得部と、前記テキストのレイアウトを解析して、前記テキスト中の見出し部分と本文部分を少なくとも特定するレイアウト解析部と、前記見出し部分及び/又は前記本文部分から複数の語句を抽出し、抽出された前記複数の語句の中から問題の対象とするトピックを決定するトピック決定部と、前記トピックと関連性を有する文又は文章を、関連記述として、前記本文部分から抽出する関連記述抽出部と、抽出された前記関連記述に基づいて、問題と解答から構成されるQA情報を生成するQA生成部と、を有することを特徴とするQA生成装置を提供する。このような装置によれば、出題のソースとなるテキストから自動ないし略自動で問題及び解答を生成することができる。
【0006】
前記QA生成部によって生成された1つ以上のQA情報をQA候補としてユーザに提示し、前記QA候補の中から採用するQA情報を選択する操作、及び/又は、前記QA候補の前記問題及び前記解答を修正する操作をユーザから受け付けるQA編集部をさらに有してもよい。このような編集機能を設けることにより、ユーザは、QA生成装置によって生成されたQA情報群の中から採用するQA情報を選んだり、問題や解答の内容をブラッシュアップしたりする作業を容易に行うことができる。
前記QA生成部は、前記関連記述の中から1つ以上の対象ワードを選択し、選択された前記対象ワードを含む対象文を前記関連記述の中から抽出し、抽出された前記対象文を変形することにより、前記対象ワードが正答となる穴埋め問題を生成してもよい。この場合に、前記QA生成部は、前記対象ワードに基づいて、前記穴埋め問題の誤答ワードを生成してもよい。
【0007】
前記QA生成部は、前記関連記述の中から1つ以上の対象文を抽出し、抽出された前記対象文そのもの、又は、文意を変えることなく前記対象文を整形したものを、正しい文と
し、前記正しい文の一部を変更したものを誤り文とする、正誤問題を生成してもよい。この場合に、前記QA生成部は、前記正しい文の極性を変更したもの、前記正しい文の中のワードを非同義語に置き換えたもの、前記正しい文の中の数字を異なる数字に置き換えたもの、のうちの少なくともいずれかを前記誤り文としてもよい。また、前記QA生成部は、複数のワードのそれぞれに対し、1以上の非同義語が対応付けられている負例辞書を用いて、前記正しい文の中のワードを非同義語に置き換えてもよい。
【0008】
前記QA生成部は、前記関連記述の中から1つ以上の対象文を抽出し、抽出された前記対象文の一部を変更することにより、誤り指摘問題を生成してもよい。この場合に、前記QA生成部は、前記対象文の極性を反転し、前記対象文の中のワードを非同義語に置き換え、又は、前記対象文の中の数字を異なる数字に置き換えることにより、誤り指摘問題を生成してもよい。また、前記QA生成部は、複数のワードのそれぞれに対し、1以上の非同義語が対応付けられている負例辞書を用いて、前記対象文の中のワードを非同義語に置き換えてもよい。
【0009】
前記QA生成部は、前記関連記述の中から複数のワード対を抽出し、前記複数のワード対のそれぞれを2つの語群に分けることによって、各語群から対となるワードを選択する形式の組み合わせ問題を生成してもよい。この場合に、前記QA生成部は、前記2つの語群の少なくともいずれかに、誤りワードを追加してもよい。
【0010】
前記QA生成部は、前記関連記述の中から、時間表現、場所表現、主体表現、数量表現、及び、目的物表現のうちのいずれかの表現で用いられている対象ワードを含む対象文を抽出し、抽出された前記対象文を変形することにより、前記対象ワードが正答となるファクトイド型問題を生成してもよい。
【0011】
前記QA生成部は、前記関連記述の中から、複文を抽出し、抽出された前記複文のうちの一方の文の内容を問題に含み、他方の文の内容を解答とする、QA情報を生成してもよい。
【0012】
前記QA生成部は、前記トピックについての説明を問う形式の問題を生成すると共に、前記関連記述から抽出されたワード及び/又は文から解答例を生成することにより、説明問題を生成してもよい。
【0013】
前記レイアウト解析部は、前記テキスト中のリスト構造の特定も行い、前記関連記述抽出部は前記トピックと関連性を有するリスト構造を、関連リストとして抽出し、前記QA生成部は、前記関連リストを構成する複数のアイテムのうちの1以上のアイテムを選択肢に含む、選択問題を生成してもよい。
【0014】
なお、本発明は、上述した機能ないし処理の少なくとも一部を含むQA生成装置、QA生成システムなどと捉えてもよいし、QA生成方法、又は、当該方法をコンピュータに実行させるプログラム、又は、当該プログラムを非一時的に記憶した記憶媒体などとして捉えることもできる。
【発明の効果】
【0015】
本発明によれば、出題のソースを与えると、自動ないし略自動で問題及びその解答を生成可能な新規の技術を提供することができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、QA生成システムの構成例を示す図である。
【
図2】
図2は、QA生成システムの機能構成を模式的に示す図である。
【
図3】
図3は、QA生成システムの処理フロー及び使用方法の概略を示す図である。
【
図4】
図4は、ソーステキストとレイアウト解析の結果の例である。
【
図7】
図7は、言語解析処理の詳細フローの一例である。
【
図8】
図8は、各章の文章内に含まれる単語とその出現頻度(登場回数)を示す表である。
【
図9】
図9は、穴埋め問題生成処理の流れを示すフローチャートである。
【
図11】
図11は、正誤問題生成処理の流れを示すフローチャートである。
【
図12】
図12は、正誤問題生成処理の流れを示すフローチャートである。
【
図15】
図15は、組み合わせ問題生成処理の流れを示すフローチャートである。
【
図17】
図17は、ファクトイド型問題生成処理の流れを示すフローチャートである。
【
図19】
図19は、述語項リレーション型問題生成処理の流れを示すフローチャートである。
【
図20】
図20は、述語項リレーション型問題の生成例である。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施形態に係るQA生成システムについて説明する。QA生成システムは、出題ソースとして与えられた文書データを解析して、問題(Question)とその解答(Answer)から構成されるQA情報の候補を自動で生成するシステムである。このQA生成システムは、例えば、eラーニングや研修などで使用する講義資料をもとに効果測定のためのQAを作成する場面など、さまざまな用途に応用することが可能である。
【0018】
<QA生成システム>
図1は、QA生成システム1の構成例を示す図である。本実施形態では、いわゆるクラウド型のシステム構成を採用しており、インターネットを介して通信可能なQA生成サーバ10とユーザ端末11によってQA生成システム1が構成されている。ユーザはユーザ端末11からQA生成サーバ10にログインすることで、QA生成システム1により提供されるQA生成サービスを利用することができる。例えば、ユーザが、出題ソースとなる文書データをQA生成サーバ10に与えると、QA生成サーバ10において複数のQA情報がが生成される。QA情報は、問題とその解答が対になったデータである(解答としては、正解のみが含まれていてもよいし、正解と不正解の候補が含まれていてもよい。)。ユーザは、生成されたQA情報をユーザ端末11にて閲覧ないしダウンロードし、eラーニングコンテンツなどに利用可能である。
【0019】
QA生成サーバ10は、例えば、CPU(プロセッサ)、主記憶装置(メモリ)、補助記憶装置(HDD、SSDなどの大容量ストレージ)、通信装置、入力装置、表示装置などを有する汎用のコンピュータにより構成可能である。QA生成サーバ10が提供する機能は、CPUがストレージに格納されたプログラムをメモリに展開し実行することによって実現されるものである。
【0020】
ユーザ端末11は、例えば、CPU(プロセッサ)、主記憶装置(メモリ)、補助記憶
装置(HDD、SSDなどの大容量ストレージ)、通信装置、入力装置、表示装置などを有する汎用のコンピュータにより構成可能である。ユーザ端末11が提供する機能は、CPUがストレージに格納されたプログラムをメモリに展開し実行することによって実現されるものである。
図1では、ユーザ端末11の例としてノートPCを示したが、パーソナル・コンピュータに限られず、スマートフォンやタブレット端末などをユーザ端末11として利用してもよい。
【0021】
なお、
図1のシステム構成はあくまで一例にすぎない。QA生成システム1を単体のコンピュータ(例えばユーザ端末11のみ)で構成してもよいし、3つ以上のコンピュータの協働により構成してもよい。また、出題ソースをユーザが提供するのではなく、QA生成サーバ10が自ら用意してもよい。
【0022】
<機能構成>
図2は、QA生成システム1の機能構成を模式的に示す図である。QA生成システム1は、主な機能として、出題ソース取得部20、レイアウト解析部21、言語解析部22、QA生成部23、QA編集部24、出力データ作成部25、解析結果記憶部26、辞書記憶部27を有する。出題ソース取得部20は、出題ソースとなる文書(テキスト)のデータをユーザから取得する機能を有する。レイアウト解析部21は、テキストのレイアウトを解析する機能を有する。言語解析部22は、レイアウト解析後のテキストに対し各種の解析を適用し、出題ソースのなかからさまざまな解析結果を獲得する機能を有する。QA生成部23は、獲得された解析結果に基づいて、問題と解答から構成されるQA情報を生成する機能を有する。QA編集部24は、QA生成部23によって生成されたQA情報の編集環境(オーサリングツール)をユーザに提供する機能を有する。出力データ作成部25は、生成されたQA情報を所定フォーマットのデータに変換・出力する機能を有する。解析結果記憶部26は、レイアウト解析部21の解析結果及び言語解析部22の解析結果が格納されるデータベースである。辞書記憶部27は、レイアウト解析部21及び言語解析部22が参照する各種の辞書、ルール、定義、設定などのデータが格納されているデータベースである。
【0023】
<処理フロー>
図3を参照して、QA生成システム1の処理フロー及び使用方法の概略を説明する。
【0024】
まず、ユーザがユーザ端末11を操作し、QA生成サーバ10により提供されるQA生成サービスにログインする(ステップS300)。そして、ユーザが、新規登録メニュー(不図示)を選び、出題ソースにしたい文書データをQA生成サーバ10にアップロードする(ステップS301)。文書データのデータ形式は特に限定されず、例えば、プレーンテキストでもよいし、ワープロソフト・表計算ソフト・プレゼンテーションソフトのデータでもよいし、PDF(Portable Document Format)形式のデータでもよいし、HTML(HyperText Markup Language)やXML(Extensible Markup Language)のような構
造化されたテキストデータでもよい。
【0025】
QA生成サーバ10の出題ソース取得部20は、ユーザ端末11から受け取った文書に対して前処理を施す(ステップS310)。例えば、出題ソース取得部20は、文書データから文字列部分を抽出し、プレーンテキストの形式で保存する。また、不要な改行や空白を削除するなどの整形処理を行ってもよい。ここで得られた前処理後のデータを、「出題ソースとなるテキストデータ」という意味で、以後、「ソーステキスト」と呼ぶ。なお、文書の構造を表す情報(例えば、HTMLタグ、インデント、段落のスタイルなど)が文書データ中に含まれている場合には、そのような情報(「構造情報」と呼ぶ)も併せて抽出してもよい。
【0026】
次に、レイアウト解析部21が、ソーステキストのレイアウトを解析する(ステップS311)。具体的には、レイアウト解析部21は、ソーステキスト中の記述を「見出し」と「本文」と「リスト」に分類する。
図4に、ソーステキストとレイアウト解析の結果の一例を模式的に示す。「見出し」は、1つの語又は句のように比較的短い文字列であることが多く、また、「1.」「(1)」「1.1.2」「[a]」のような章番号を含むことが多い。このような形式的な特徴に基づき、例えば、レイアウト解析部21は、文字列の長さが所定の閾値より短く、且つ、章番号を含む文字列を、「見出し」であると判定してもよい。なお、章番号を含むか否かの判定は、例えば、数字、アルファベット、カタカナ、ピリオド、カッコなどの所定の文字の組合せを予めルール化しておき、そのルールに合致する文字列を含むか否かで判定すればよい。前述した構造情報が得られている場合には、構造情報に基づいて「見出し」を抽出してもよい。例えば、HTMLタグのh1~h6タグで囲まれた文字列を「見出し」と判定してもよい。
図4の例では、「1.産業財産権」、「(1)特許制度」、「(2)特許要件」、「(3)出願から特許取得までの流れ」の4つの見出しが抽出されている。「本文」は、1つ又は複数の文から構成される文章であり、本例では、「見出し」と「リスト」以外の文字列は「本文」に分類される。「リスト」は、リスト構造により記述された部分である。例えば箇条書きのように、複数の項目が書き並べられている構造がリストに該当する。リストの各項目は、文又は文章になっていることもあれば、語又は句の場合もある。リストの各項目の行頭には「・」「◆」などの記号が付されるか、「(1),(2),…」「(イ),(ロ),…」のように項目番号が付されていることが殆どである。このような形式的な特徴に基づき、例えば、レイアウト解析部21は、同一の記号から始まる文が連続して表れた場合や、項目番号が付された文が連続して表れた場合に、その複数の文を「リスト」と判定してもよい。前述した構造情報が得られている場合には、構造情報に基づいて「リスト」を抽出してもよい。例えば、HTMLタグのulタグ又はolタグで囲まれた部分を「リスト」と判定してもよい。さらに、レイアウト解析部21は「章」の判別を行う。本実施形態では、「見出し」から次の「見出し」(又は文書の最後)の直前までの記述を1つの「章」とみなす。すなわち、1つの「章」は、冒頭の「見出し」と、「本文」及び「リスト」の少なくともいずれかを1つ以上とから構成される単位である。レイアウト解析部21は、レイアウト解析の結果(すなわち、見出し/本文/リストの分類、章の開始と終了)を、ソーステキスト中にタグ付けする。なお、ステップS310の前処理とステップS311のレイアウト解析処理の順番は逆でもよいし、両方の処理を同時並行的に行ってもよい(すなわち、レイアウトを解析しながら必要な文字列部分をソーステキストとして抽出するなど)。
【0027】
次に、言語解析部22が、ソーステキストを解析して各種の解析結果を獲得する(ステップS312)。ここで用いる解析エンジン(解析アルゴリズム)及び獲得する解析結果の種類は、特に限定されない。以下は一例である。
【0028】
・NER(Named Entity Recognition;固有表現抽出):文中から固有表現(NE)を抽出する手法。例えば、組織名、人名、地名、日付表現、時間表現、金額表現、割合表現などが固有表現に該当する。
【0029】
・RDF(Resource Description Framework):1つの文を主語、述語、目的語の3つの要素で表現する手法。
【0030】
・PAS(Predicate-Argument Structure;述語項構造):動作・状態を表す述語と、述語が表す動作・状態に関係する対象・時間・場所などを表す名詞(項)との間の構造。
【0031】
・共起:同じ文中又は文章中に、同時に出現する文字列の組み合わせ。
【0032】
・モダリティ:モダリティとは、文のニュアンスを表現するものであり、その文が伝え
る客観的な内容(命題)に対して書き手や話し手がどのように感じているか(主観)を表すものである。例えば、「私はゴルフに行かなくてはならない。」という文の場合、「私はゴルフに行く」という客観的な内容に「なくてはならない」というモダリティが付与されていることで、ゴルフに行くことについてネガティブ(否定的・消極的)な感情を抱いていることが表現されている。
【0033】
・極性:肯定/否定、大/小、高/低のように対となる方向性をもつ2つの表現のうち、文中の表現が示す方向性のこと。
【0034】
・IF-THENリレーション:条件と結果という因果関係をもつ2つの文又は節のペア。例えば、「雨が降った場合は運動会は中止である。」という文の場合であれば、「雨が降った」がIF(条件)を表す部分、「運動会は中止である」がTHEN(結果)を表す部分となる。このようなIF-THENリレーションは、例えば、「(Aする)場合は(Bである)」という文のAとBに相当する部分を正規表現を用いた検索により抽出し、AをIFを表す部分に、BをTHENを表す部分に割り当てることで、得ることができる。
【0035】
・シソーラス:ある単語の上位語、下位語、同義語、類義語、部分語、全体語など。
【0036】
・単語ベクトル:ある文章内における単語ごとの出現頻度を要素としてもつベクトル。本実施形態では、ソーステキスト中の章単位の単語ベクトル(「章単語ベクトル」と呼ぶ)と、ソーステキスト全体の単語ベクトル(「文書単語ベクトル」と呼ぶ)の2種類の単語ベクトルを用いる。
【0037】
・TF-IDF:TF(Term Frequency;索引語頻度)は文章における単語(索引語)の登場頻度を表す指標であり、IDF(Inverse Document Frequency;逆文書頻度)は単語(索引語)が登場する文書の少なさを表す指標である。TF-IDFはTFとIDFを掛け合わせた指標であり、単語(索引語)の重みを表している。
【0038】
・Word2Vec:各単語がどのような文脈で用いられているか(各単語と他の単語との関係)を学習したニューラルネットワークであり、単語を特徴ベクトルに変換する機能を有する。ベクトル間の距離によって単語同士の類似性を評価できるため、例えば、同義語や類義語、あるいは同じカテゴリの単語群などを取得する目的で利用できる。
【0039】
・照応、省略:照応は、「あれ」「そこ」「彼」のように指示代名詞や代名詞などの単語(照応詞と呼ばれる)を用いて他の対象を指し示す表現であり、省略は、文中の主語、目的語などが省略された表現である。照応詞が実際に指し示している単語や省略されている単語(先行詞と呼ばれる)を特定する手法が、省略・照応解析である。
【0040】
ステップS312の言語解析処理の解析結果は、ソーステキスト又は元の文書データに紐づけて、解析結果記憶部26に格納される。以上述べた文書データの解析処理(ソーステキストの生成、レイアウト解析、言語解析)が完了すると、QA生成の準備が整う。
【0041】
次に、QA生成部23が、解析結果記憶部26に格納されたソーステキストの解析結果に基づき、問題の対象(主題)となりそうなトピック(キーワード)を複数個抽出する(ステップS313)。例えば、QA生成部23は、ソーステキスト中の「見出し」部分に含まれる語句(単語又は句)をトピック候補として抽出してもよい。「見出し」は、その後に続く「本文」や「リスト」の内容を端的に表している語句を含む場合が多いので、その「本文」や「リスト」の内容を問う問題のトピックとして使えるケースが多いからである。あるいは、QA生成部23は、ソーステキスト中の「本文」部分に含まれる語句をト
ピック候補として抽出してもよい。例えば、登場頻度の高い語句、固有表現、専門用語などは問題の対象として好適と考えられる。
図5は
図3の文書から抽出されたトピック候補の例である。矩形枠で囲まれた語句がトピック候補である。抽出されたトピック候補はユーザに提示される。
【0042】
ユーザは、提示された複数のトピック候補の中から、問題の対象にしたいトピックを選択する(ステップS302)。ユーザによって選択されたトピックを以後「対象トピック」と呼ぶ。なお、対象トピックは何個選択してもよい。また、対象トピックの選択とともに、その対象トピックの問題生成のために参照する「本文」や「リスト」をユーザに明示的に指定させてもよい。
【0043】
さらに、ユーザは、作成したい問題の種類を選択する(ステップS303)。問題の種類としては、例えば、穴埋め問題、正誤問題(n択問題)、誤り指摘問題、組み合わせ問題、ファクトイド型問題、述語項リレーション型問題、説明問題などがある。問題の種類は何個選択してもよい。
【0044】
ステップS302、S303で入力された情報は、ユーザ端末11からQA生成サーバ10へと送られる。なお、ステップS302のトピック選択とステップS303の問題種類選択の順番は逆でもよい。あるいは、一方の選択結果に基づいて他方の選択肢を制限してもよい(例えば、選択された対象トピックに応じて選択可能な問題種類を制限したり、選択された問題種類に応じて選択可能なトピック候補を制限するなど)。
【0045】
そして、QA生成部23が、ユーザにより選択された対象トピック・問題種類に従って、解析結果記憶部26に格納されたソーステキストの各種解析結果と辞書記憶部27に格納された各種辞書を参照して、QA情報を複数生成する(ステップS314)。
図6は、一例として、
図5の出題ソースに対し「特許要件」が対象トピックとして指定され、「正誤問題(n択問題)」が問題対象として指定された場合に、生成されたQA情報の例を示す。生成されたQA情報はユーザに提示される。
【0046】
ユーザは、QA編集部24が提供するQA編集機能(オーサリングツール)を利用して、ユーザ端末11上で、QA情報の取捨選択、問題・解答の修正などを行うことができる(ステップS304)。QA編集部24は、ユーザから指示された編集内容に従って、問題・解答を更新する(ステップS315)。その後、出力データ作成部25が、最終的に生成された問題及び解答を所定フォーマットのQAデータに変換する(ステップS316)。ユーザは、QAデータをユーザ端末11にダウンロードし、eラーニングコンテンツ、研修、テストなどに利用することができる。QAデータのフォーマットは特に限定されないが、eラーニングコンテンツへの利用が目的であれば、例えば、標準的な規格であるSCORMやxAPIに準拠したフォーマットのQAデータを生成してもよい。
【0047】
<言語解析処理の詳細>
言語解析部22による言語解析処理(
図3のステップS312)について、さらに詳しく説明する。
【0048】
図7は、言語解析処理の詳細フローの一例である。なお、
図7では、説明の便宜のため、フローチャートと併せて言語解析部22が参照もしくは出力するデータを記載している。
【0049】
まず、言語解析部22は、ソーステキストから処理対象のテキストを切り出す(ステップS700)。例えば、1つの文(句点又は改行で区切られた文字列など)が処理対象テキストとして切り出される。言語解析部22は、辞書記憶部27内の形態素解析用の辞書
を用いて、処理対象テキストの形態素解析ならびに構文解析を行う(ステップS701、S702)。形態素解析は、テキストを単語に分割し、各単語に品詞を付与する処理である。構文解析は、単語間の係り受け構造を判定する処理である。
【0050】
続いて、言語解析部22は、述語項構造解析を行い、その結果として得られるPAS(述語項構造)を解析結果記憶部26に格納する(ステップS703)。述語項構造解析は、述語が表す動作・状態に関係する対象・時間・場所などを表す名詞(項)との間の構造を解析し、述語と各項の間の格構造を判断する処理である。例えば、「彼が彼女にプレゼントを渡す。」という文の場合、述語「渡す」に対して3つの項「彼」「彼女」「プレゼント」が係っており、「彼」は主体を表す「ガ格」、「彼女」は相手を表す「ニ格」、プレゼントは対象を表す「ヲ格」と判断される。
【0051】
言語解析部22は、省略・照応解析を行い、その結果をPASに反映する(ステップS704)。例えば、処理対象テキストの中に「あれ」「そこ」「彼」のような照応詞が含まれていたり、主体、相手、対象などが省略されていた場合に、言語解析部22は、処理対象テキストの前後の文脈などから先行詞を特定し、ステップS703で生成されたPASにおける照応詞を先行詞に置き換えたり、省略されていた項の追加を行う。
【0052】
言語解析部22は、NERモデルを用いてNER(固有表現抽出)を行い、処理対象テキストに含まれるNE(固有表現)を抽出し、抽出されたNE群を解析結果記憶部26に格納する(ステップS705)。例えば、組織名、人名、地名、日付表現、時間表現、金額表現、割合表現などがNEに該当する。NEは、文の中で重要な意味をもつことが多いので、問題のトピックに選んだり、問題文や解答に用いるとよい。また、抽出されたNEの情報をPASに反映してもよい。なお、NERモデルは、注目している文字列が固有表現に該当するか否かを識別するためのモデルであり、例えば、文脈との関係や前後の単語・品詞などとの関係をルール化したものである。NERモデルは、例えば、大規模コーパスを用いた機械学習によって獲得されたものを用いるとよい。
【0053】
言語解析部22は、モダリティ解析を行い、処理対象テキストのモダリティを解析結果記憶部26に格納する(ステップS706)。モダリティ解析の結果をPASに反映してもよい。なお、モダリティ解析には、肯定表現と否定表現のパターンをルール化した辞書とのマッチングを行い肯定的か否定的かを判別する手法、大規模コーパスを用いた機械学習によって獲得された分類器を用いて肯定的か否定的かを分類する手法などがあり、いずれの手法を用いてもよい。
【0054】
言語解析部22は、処理対象テキストに含まれる単語の共起関係を取得し、その結果を解析結果記憶部26に格納する(ステップS707)。このとき、言語解析部22は、処理対象テキストだけでなく、より広い範囲(例えば、処理対象テキストを含む本文、処理対象テキストを含む章、ソーステキストの全体、コーパスなど)から共起関係を取得してもよい。
【0055】
言語解析部22は、極性辞書及び意見表現辞書を用いて極性・意見解析を行い、処理対象テキストに含まれる極性表現及びその方向性と、処理対象テキストが意見文か事実文かを判別し、その結果を解析結果記憶部26に格納する。極性表現とは、前述のように、肯定/否定、大/小、高/低のように対となる方向性をもつ表現のことである。例えば「富士山への登頂は簡単ではない。」という文には「簡単」と「ない」の2つの極性表現が含まれている。意見文とは、意見が記述されている文のことであり、事実文とは、事実が記述されている文のことである。例えば「富士山は美しい山だと思う。」は意見文であり、「富士山は火山である。」は事実文である。
【0056】
言語解析部22は、述語項構造解析により獲得されたPASを基に処理対象テキストのRDFを作成し、解析結果記憶部26に格納する(ステップS709)。RDFは、主語、述語、目的語の3つの要素で処理対象テキストを表現したデータである。
【0057】
言語解析部22は、述語項構造解析により獲得されたPASを基に処理対象テキストのPASリレーションを作成し、解析結果記憶部26に格納する(ステップS710)。PASリレーションは、複数のPAS間での述語同士の関係を表現したデータであり、例えば、係り元のと係り先の間のモダリティの継承などを表す。PASリレーションでは、複文における2つの節の間での述語と述語の関係を表現してもよいし、「しかし」「また」などの接続詞により接続される2つの文の間での述語と述語の関係を表現してもよい。
【0058】
言語解析部22は、処理対象テキストに含まれる単語のシソーラスを取得し、解析結果記憶部26に格納する(ステップS711)。言語解析部22は、例えば、インターネットで公開されているシソーラスから、処理対象テキストに含まれる各単語のシソーラスを取得してもよいし、辞書記憶部27に格納されているシソーラス辞書から、処理対象テキストに含まれる各単語のシソーラスを取得してもよい。シソーラスとしては、上位語、下位語、同義語、類義語、部分語、全体語などを取得するとよい。また、対義語を取得してもよい。
【0059】
以上述べたステップS700~S711の処理を、処理対象テキストごとに繰り返す。そして、章の最後のテキストまで処理を終えたら(ステップS712のYES)、ステップS713に処理を進める。章の終わりか否かは、レイアウト解析部21の解析結果を参照することで判断することができる。言語解析部22は、この章の章単語ベクトルを作成し、解析結果記憶部26に格納する(ステップS713)。章単語ベクトルは、この章の文章内における単語ごとの出現頻度を要素としてもつベクトルである。
図8は、各章の文章内に含まれる単語とその出現頻度(登場回数)を示す表である。例えば、第1章には、「特許」「発明」「技術」「権利」という単語がそれぞれ4回、6回、1回、2回登場する。この場合、第1章の章単語ベクトルは、符号80で示すように{4,6,1,0,0,0,2,0,0,・・・}となる。
【0060】
そして、S700~S713の処理を、章ごとに繰り返し、文書(ソーステキスト)の最後の章まで処理を終えたら(ステップS714のYES)、言語解析部22は、Word2Vecにより生成されたモデルを解析結果記憶部26に格納する(ステップS715)。このとき、言語解析部22は、インターネット等で公開されているモデルを取得し利用してもよいし、学習により新たにモデルを生成してもよい。新たにモデルを生成する場合には、言語解析部22は、例えばWikipediaや今回の出題ソースに関連するテキストデータなどを学習データとして用いてWord2Vecの学習を行うとよい。なお、Word2Vecにより生成されたモデルが解析結果記憶部26に既に用意されており、それをそのまま利用する場合には、ステップS715の処理は省略してもよい。
【0061】
言語解析部22は、ソーステキスト全体のTF、IDF、及びTF-IDFを計算し、解析結果記憶部26に格納する(ステップS717)。
【0062】
最後に、言語解析部22は、ソーステキスト全体の単語ベクトル(文書単語ベクトルと呼ぶ)を作成し、解析結果記憶部26に格納する(ステップS718)。文書単語ベクトルは、章単語ベクトルの合計となる。
図8の例では、文書単語ベクトルは、符号81で示すように、{28,35,8,6,9,6,19,11,8,・・・}となる。
【0063】
なお、ここで述べた処理はあくまで一例であり、言語解析処理の内容、獲得する解析結果の種類は上記実施形態のものには限られない。
【0064】
<QA生成処理の詳細>
QA生成部23によるQA生成処理(
図3のステップS314)について、問題の種類ごとに詳しく説明する。以下では、穴埋め問題、正誤問題(n択問題)、誤り指摘問題、組み合わせ問題、ファクトイド型問題、述語項リレーション型問題、説明問題それぞれの生成処理の一例を示す。以下に述べる処理は、
図3のステップS302において、問題の対象にするトピック(対象トピック)がユーザにより指定されていることを前提とする。なお、ユーザから対象トピックが与えられていない場合に、QA生成部23が、
図3のステップS313で抽出したトピック候補の中からランダムに対象トピックを選択してもよい。
【0065】
(1)穴埋め問題
穴埋め問題とは、問題文の中に1つ以上の空欄(穴)が設けられており、空欄の中に埋める語句を答えさせる形式の問題である。穴埋め問題には、記述式の穴埋め問題(空欄の中に埋める語句を入力(記述)させるタイプ)と、選択式の穴埋め問題(空欄の中に埋める語句を語群の中から選択させるタイプ)がある。例えば、対象トピックと関連性を有する文又は文章(「関連記述」と呼ぶ)の中から「対象ワード」とその対象ワードを含む「対象文」とを選択し、対象文を変形(加工)することで、穴埋め問題の問題文を生成することができる。ここで、穴埋め問題の正答となる「対象ワード」には、関連記述中に含まれるキーワード、関連記述の中で共起関係にある語句ペアなどを選ぶことができる。以後、前者をキーワード穴埋め、後者を共起穴埋めと呼ぶ。
【0066】
図9は、QA生成部23による穴埋め問題生成処理の流れを示すフローチャートであり、
図10は、選択式の穴埋め問題の生成例である。まず、QA生成部23は、ソーステキストの中から関連記述を抽出する(ステップS900)。ここでは、対象トピックとの関連性が最も強い章が関連記述に選ばれる。トピックと章との関連性の強さは、例えば、TF-IDF、単語ベクトルなどを用いて評価すればよい。あるいは、対象トピックそれ自体が見出しに含まれる章が存在する場合には、その章を関連記述に選んでもよい。次に、QA生成部23は、キーワード穴埋めを生成するか共起穴埋めを生成するかを決定する(ステップS901)。どちらの穴埋めタイプにするかは、ユーザが指定してもよいし、ランダムに決定されてもよい。
【0067】
キーワード穴埋めの場合(ステップS902のYES)、QA生成部23は、関連記述の中からキーワードを選択する(ステップS903)。例えば、専門用語辞書に基づいて関連記述の中に含まれる専門用語をキーワードとして選択してもよいし、関連記述の中に含まれるNE(固有表現)をキーワードとして選択してもよいし、関連記述の中に含まれる語句のうちTF-IDFによる重みが大きいものをキーワードとして選択してもよいし、関連記述の中の数値表現をキーワードとして選択してもよい。そして、QA生成部23は、関連記述の中から、当該キーワード(対象ワード)を含む文(対象文)を抽出し(ステップS906)、当該対象文の中のキーワード部分を空欄(穴)にして文の表現に修正を加えたりすることで、穴埋め問題の問題文を作成する(ステップS907)。
【0068】
一方、共起穴埋めの場合(ステップS904のYES)、QA生成部23は、関連記述の中から共起関係にある語句ペアを選択する(ステップS905)。そして、QA生成部23は、関連記述の中から、当該語句ペア(対象ワード)を含む文(対象文)を抽出し(ステップS906)、当該対象文の中の語句ペアの両方又は一方を空欄(穴)にして文の表現に修正を加えたりすることで、穴埋め問題の問題文を作成する(ステップS907)。
【0069】
記述式の穴埋め問題の場合(ステップS908のYES)は、QA生成部23は、ステ
ップS907で作成した問題文と、正答としての対象ワード(キーワード又は共起語句)とをセットにして、穴埋め問題のQA情報を生成する(ステップS909)。選択式の穴埋め問題の場合(ステップS908のNO)は、QA生成部23は、対象ワードに基づいて、穴埋め問題の誤答ワードを生成する(ステップS910)。誤答ワードとしては、対象ワードに類似した語句、対象ワードと同じカテゴリに属する語句、対象ワードと同じ文脈でよく使われる語句などを選ぶとよい。例えば、Word2Vec、専門用語辞書、TF-IDF、NE、共起関係などを用いることで、誤答ワードを生成してもよい。また、間違えやすいワードが登録されている負例辞書をあらかじめ用意しておき、負例辞書から誤答ワードを選択してもよい。
【0070】
図10の例では、対象トピック「特許制度」の関連記述として「(1)特許制度」の章が抽出され、対象ワードとしてキーワード「技術的思想」が、対象ワードを含む対象文として「なお、ここでいう『発明』とは、自然法則を利用した技術的思想の創作のうち高度のものをいいます。」が選択されている。この対象文を抽出して、「技術的思想」の部分を空欄にし、文の細かな表現を調整したものを穴埋め問題の問題文としている。そして、NEやWord2Vec等から誤答ワード「特許」「技術」「物品」「アイデア」が生成されている。
【0071】
(2)正誤問題(n択問題)
正誤問題とは、問題文の内容が正しいか誤っているかを答えさせる形式の問題である。正しい文は、例えば、関連記述の中から対象文を抽出し、必要に応じて当該対象文を変形(ただし、文意は変えない)することにより、生成することができる。また、誤り文は、正しい文の一部を変更して意味を変えた文に変形することにより、生成することができる。
【0072】
また、n択問題とは、複数の選択肢の中から正しいもの(又は誤っているもの)を選択させる形式の問題である。n択問題は正誤問題を複数並べたものと考えることができ、正しい文と誤り文を生成する点ではQA生成に必要な処理はほぼ共通であるため、以下では正誤問題の生成についてのみ説明することとする。
【0073】
図11及び
図12は、QA生成部23による正誤問題生成処理の流れを示すフローチャートであり、
図13は、正誤問題の生成例である。まず、QA生成部23は、ソーステキストの中から関連記述を抽出する(ステップS1100)。ここでは、対象トピックとの関連性が最も強い章が関連記述に選ばれる。トピックと章との関連性の強さは、例えば、TF-IDF、単語ベクトルなどを用いて評価すればよい。あるいは、対象トピックそれ自体が見出しに含まれる章が存在する場合には、その章を関連記述に選んでもよい。次に、QA生成部23は、関連記述の中から対象文を1つ選択する(ステップS1101)。対象文は関連記述の先頭から順に選んでもよいし、ランダムに選んでもよい。そしてQA生成部23は、選択した対象文が問題として適切か否かを判断する。例えば、対象文が極性表現を含んでいる場合、対象文がキーワードや数字表現を含んでいる場合などに、当該対象文が問題として適切であると判断してもよい。問題として適切な文と判断されると(ステップS1102のYES)、当該対象文を「正しい文」の候補(候補文と呼ぶ)としてメモリに一時保存する(ステップS1103)。候補文が必要な数だけ得られたら(ステップS1104のYES)、ステップS1105に進む。
【0074】
ステップS1105では、QA生成部23が、候補文を基に誤り文を生成する。誤り文の生成方法は、候補文の文の極性を変更する方法、候補文の中のワードを非同義語に置き換える方法、候補文の中の数字を異なる数字に置き換える方法などがある。
【0075】
図12は誤り文生成処理の例である。極性変更により誤り文を生成する場合(ステップ
S1200のYES)、QA生成部23は、極性表現を含む候補文を選び(ステップS1201)、その極性を変更する(ステップS1202)。極性の変更方法は、極性の反転と、極性の曖昧化を含む。極性の変更を行う際には、当該候補文のモダリティを考慮したり、極性辞書を参照するとよい。一方、極性反転ではなく、ワードの置き換えにより誤り文を生成する場合(ステップS1200のNO)には、QA生成部23は、キーワードを含む候補文を選択し(ステップS1203)、当該ワードを非同義語に置き換える(ステップS1204)。置き換え対象となるワードを選択する際には、Word2Vec、専門用語辞書、TF-IDF、NEなどを用いてもよい。また、索引としてのワードに対して1以上の非同義語が対応付けられている負例辞書を用いて、候補文中のワードを非同義語に置き換えることにより誤り文を生成してもよい。例えば、混同しやすいワードを負例辞書に登録しておくことにより、問題の難易度をアップすることができる。
【0076】
その後、QA生成部23は、類似文変換の要否を判断し(ステップS1205)、必要な場合は誤り文の類似文を生成する(ステップS1206)。例えば、誤り文に含まれる語句を類義語に置き換えるなどすることで類似文を生成することができる。候補文(正しい文)の極性を反転させたりワードを置き換えたりするだけでは、誤り文であることが簡単に見抜けてしまう場合があるが、類似文へと変換することで問題としての難易度をアップすることができる。以上のように生成された誤り文の候補もメモリに一時保存される(ステップS1207)。
【0077】
誤り文の生成が完了すると、
図11のステップS1106に戻り、QA生成部23が正しい文の候補と誤り文の候補から、正誤問題のデータを生成する。
【0078】
図13の例では、対象トピック「特許制度」の関連記述として「(1)特許制度」の章が抽出され、対象文として「なお、ここでいう『発明』とは、自然法則を利用した技術的思想の創作のうち高度のものをいいます。」が選択されている。この対象文を抽出し、文意を変えることなく整形したものが「正しい文」であり、極性表現「高度」を「低度」に置き換えたものが「誤り文」である。
【0079】
なお、ソーステキスト中に対象トピックと関連性を有するリスト構造が含まれている場合には、そのリスト構造を関連リストとして抽出し、関連リストを構成するアイテムを選択肢に含むようなn択問題を生成してもよい。例えば
図6は、
図4のリストから生成されたn択問題の例である。
【0080】
(3)誤り指摘問題
誤り指摘問題とは、問題文の中で誤っている部分を指摘させる形式の問題である。誤り指摘問題の生成処理は、
図11及び
図12で示した正誤問題の生成処理と基本的には同じである。ただし、ステップS1106における問題文と解答の作成方法のみ異なる。
【0081】
図14の例では、対象トピック「特許制度」の関連記述として「(1)特許制度」の章が抽出され、対象文として「なお、ここでいう『発明』とは、自然法則を利用した技術的思想の創作のうち高度のものをいいます。」が選択されている。この対象文を抽出し、極性表現「高度」を「低度」に置き換えた「誤り文」を用いて問題文が生成されている。
【0082】
(4)組み合わせ問題
組み合わせ問題とは、複数の語群から対となるワードを選択する形式の問題である。例えば、関連記述の中から複数のワード対を抽出し、その複数のワード対のそれぞれを語群に分けることによって、QA情報を生成することができる。ワード対の選び方は特に限定されないが、例えば、共起関係にあるワード対を抽出してもよいし、係り受け関係にあるワード対を抽出してもよいし、RDFに基づき主語と目的語のペアをワード対として抽出
してもよい。
【0083】
図15は、QA生成部23による組み合わせ問題生成処理の流れを示すフローチャートであり、
図16は、組み合わせ問題の生成例である。まず、QA生成部23は、ソーステキストの中から関連記述を抽出する(ステップS1500)。ここでは、対象トピックとの関連性が強い複数の章が関連記述に選ばれる。トピックと章との関連性の強さは、例えば、TF-IDF、単語ベクトルなどを用いて評価すればよい。あるいは、対象トピックそれ自体が見出しに含まれる章が存在する場合には、その章を関連記述に選んでもよい。次に、QA生成部23は、関連記述の中から1つ以上のワード対を抽出し(ステップS1501)、それらを2つの語群に分ける(ステップS1502)。さらに、QA生成部23は、誤りワードを生成し、誤りワードを上記語群に追加する(ステップS1503)。誤りワードは、例えば、Word2Vec、専門用語辞書、TF-IDF、NEなどから生成すればよい。そして、QA生成部23は、これらの語群を利用して組み合わせ問題のQA情報を生成する(ステップS1504)。
【0084】
図16の例では、対象トピック「首都」の関連記述として複数の章が抽出され、関連記述の中から「国名」と「首都」のワード対が抽出されている。語群1が国名の語群、語群2が首都の語群であり、語群2にはWord2Vec等から生成された誤りワードである「ベルリン」「ロンドン」が追加されている。
【0085】
(5)ファクトイド型問題
ファクトイド型問題とは、名称、時間、場所、数量などの事実を訊く問題である(5W1Hを訊く問題ということもできる)。例えば、関連記述の中から、時間表現、場所表現、主体表現、数量表現、及び、目的物表現のうちのいずれかの表現で用いられている対象ワードを含む対象文を抽出し、当該対象文を変形して対象ワードを解答させる問題文を生成すればよい。本実施形態では、対象文のRDF又は述語項構造から一つのワードを抜くことで問題文を生成する。
【0086】
図17は、QA生成部23によるファクトイド型問題生成処理の流れを示すフローチャートであり、
図18は、ファクトイド型問題の生成例である。まず、QA生成部23は、ソーステキストの中から関連記述を抽出する(ステップS1700)。ここでは、対象トピックとの関連性が最も強い章が関連記述に選ばれる。トピックと章との関連性の強さは、例えば、TF-IDF、単語ベクトルなどを用いて評価すればよい。あるいは、対象トピックそれ自体が見出しに含まれる章が存在する場合には、その章を関連記述に選んでもよい。次に、QA生成部23は、関連記述の中から対象文を1つ選択する(ステップS1701)。対象文は関連記述の先頭から順に選んでもよいし、ランダムに選んでもよい。そしてQA生成部23は、選択した対象文が問題として適切か否かを判断する。例えば、対象文が、時間表現、場所表現、主体表現、数量表現、目的物表現などの対象ワードを含んでいる場合に、当該対象文が問題として適切であると判断する。なお、対象文がこれらの表現を含んでいるかどうかは、RDF、PASなどを参照することで判断可能である。
【0087】
次に、QA生成部23は、対象文から上記対象ワードを抽出し(ステップS1702)、その対象ワードのタイプを判別する(ステップS1703)。時間表現である場合(ステップS1704のYES)、QA生成部23は、対象文から時間表現を抽出する(ステップS1705)。また場所表現である場合(ステップS1706のYES)、QA生成部23は、対象文から場所表現を抽出する(ステップS1707)。名前や組織といった主体表現である場合(ステップS1708のYES)、QA生成部23は、対象文から主体表現を抽出する(ステップS1709)。数量表現である場合(ステップS1710のYES)、QA生成部23は、対象文から数量表現を抽出する(ステップS1711)。それ以外の場合は、目的物表現とみなし、QA生成部23は、対象文から目的物表現を抽
出する(ステップS1712)。
【0088】
次にQA生成部23は、抽出した表現が区間や期間を表すワードかどうかを判別する(ステップS1713)。区間や期間を表すワードであった場合(ステップS1714のYES)、QA生成部23は、期間、開始時期、終了時期を訊く問題文を生成する(ステップS1715)。終期を表すワードであった場合(ステップS1716のYES)、QA生成部23は、終期を訊く問題文を生成する(ステップS1717)。また、始期を表すワードであった場合(ステップS1718のYES)、QA生成部23は、始期を訊く問題文を生成する(ステップS1719)。区間や期間を表すワードでない場合は、一般質問の問題文が生成される(ステップS1720)。
【0089】
また解答方式が選択式であるかYES/NO解答式であるかにあわせて、QA生成部23は、必要な解答を生成する(ステップS1721~S1724)。選択式の場合には、Word2Vec、専門用語辞書、TF-IDF、NEなどを用いて負例を生成してもよい。また、YES/NO解答式の場合は、正しい文を用意するか、対象ワードの数量表現や時間表現を変更したり、場所表現や主体表現を他の類語に置き換えたりすることで、誤り文を生成する。
【0090】
QA生成部23は、ステップS1702~S1724の処理を全ての対象文について行う(ステップS1725)。最後に、QA生成部23は、生成された複数のQA情報のランキングを行い、データを保存する(ステップS1726)。なお、QA情報のランクは、例えば、エンティティの含有量やセンテンスの長さなどで評価するとよい。エンティティは、例えば、NE(固有表現)、専門用語、TF-IDFによる重みが大きい単語などである。
【0091】
図18の例では、対象文「日本の首都は東京である。」から場所表現「東京」が対象ワードとして選択され、「日本の首都はどこですか?」という質問文が生成されている。また、正答である「東京」と、自動生成された負例「ワシントンDC」「ロンドン」「北京」「ソウル」からなる選択肢が生成されている。
【0092】
(6)述語項リレーション型問題
述語項リレーション型問題とは、「・・・はどうしてか?」「何をすると・・・になるか?」のように、理由、原因、仮定、目的などを問う問題である。解答は単語ではなく短文になるケースが多い。例えば、関連記述の中から複文を抽出し、複文のうちの一方の節の内容を問題文、他方の節の内容を解答とすることにより、述語項リレーション型問題を生成することができる。あるいは、関連記述の中から「なぜなら」「よって」などの接続詞により接続された2つの文を抽出し、一方の文の内容から問題文を生成し、他方の文の内容から解答を生成してもよい。
【0093】
図19は、QA生成部23による述語項リレーション型問題生成処理の流れを示すフローチャートであり、
図20は、述語項リレーション型問題の生成例である。まず、QA生成部23は、ソーステキストの中から関連記述を抽出する(ステップS1900)。ここでは、対象トピックとの関連性が最も強い章が関連記述に選ばれる。トピックと章との関連性の強さは、例えば、TF-IDF、単語ベクトルなどを用いて評価すればよい。あるいは、対象トピックそれ自体が見出しに含まれる章が存在する場合には、その章を関連記述に選んでもよい。次に、QA生成部23は、関連記述の中から対象文を1つ選択する(ステップS1901)。対象文は関連記述の先頭から順に選んでもよいし、ランダムに選んでもよい。QA生成部23は、選択した対象文が意見文であるか事実文であるかを判断する(ステップS1902)。またQA生成部23は、対象文の述語・述語関係を評価する(ステップS1903)。そしてQA生成部23は、選択した対象文が問題として適切
か否かを判断する(ステップS1904)。例えば、対象文が事実文である場合、対象文が複文(つまり複数の述語を含む文)である場合、述語と述語がリレーションを有する場合などに、当該対象文が問題として適切であると判断してもよい。問題として適切な文と判断されると、当該対象文を候補文としてメモリに一時保存する。候補文が必要な数だけ得られたら(ステップS1905のYES)、ステップS1906に進む。
【0094】
続いてQA生成部23は、対象文のリレーションタイプを判別する(ステップS1906)。リレーションタイプは、対象文に含まれる2つの述語の関係であり、例えば、PAS、PASリレーション、RDFなどに基づき判断することができる。リレーションタイプが「原因・理由」である場合(ステップS1907のYES)、QA生成部23は、原因を問う問題文とその解答を生成する(ステップS1908)。例えば、対象文が「Aであるため、Bとなった。」という複文であるならば、B節の部分を加工して「Bとなったのは何故ですか?」のように原因を問う問題文を生成し、A節の部分を加工して「その理由は、Aであるためです。」のような解答を生成すればよい。リレーションタイプが「結果」である場合(ステップS1909のYES)、QA生成部23は、結果を問う問題文とその解答を生成する(ステップS1910)。例えば、対象文が「Aを行ったら、Bとなった。」という複文であるならば、A節の部分を加工して「Aを行った場合にどうなりますか?」のように結果を問う問題文を生成し、B節の部分を加工して「Bとなります。」のような解答を生成すればよい。リレーションタイプが「方法・条件」である場合(ステップS1911のYES)、QA生成部23は、方法・条件を問う問題文とその解答を生成する(ステップS1912)。例えば、対象文が「Aの場合に、Bとなる。」という複文であるならば、B節の部分を加工して「どのような場合にBになりますか?」のように方法・条件を問う問題文を生成し、A節の部分を加工して「Aの場合です。」のような解答を生成すればよい。リレーションタイプが「容態・比喩」である場合(ステップS1913のYES)、QA生成部23は、容態・比喩を問う問題文とその解答を生成する(ステップS1914)。例えば、対象文が「Aであるように、Bする。」という複文であるならば、B節の部分を加工して「どのようにBしたか?」のように容態・比喩を問う問題文を生成し、A節の部分を加工して「Aであるように行った。」のような解答を生成すればよい。リレーションタイプが「IF-THEN」である場合(ステップS1915のYES)、QA生成部23は、IF-THENを問う問題文とその解答を生成する(ステップS1916)。例えば、対象文が「もしAの場合は、Bである。」という複文であるならば、A節の部分を加工して「Aの場合にどうなるか?」のような問題文を生成し、B節の部分を加工して「Bとなる。」のような解答を生成すればよい。すべての対象文についてQA情報を生成した後(ステップS1917)、QA生成部23はQA情報のランキングを行い、データを保存する(ステップS1918)。
【0095】
(7)説明問題
説明問題とは、語句の意味などを説明(記述)させる形式の問題である。QA生成部23は、対象トピックに基づいてその説明を求めるような問題文を生成してもよい。例えば、「<X>について説明しなさい。」というような問題テンプレートを予め用意しておき、<X>の部分を対象トピックに置き換えることで、説明問題の問題文を簡単に生成できる。
【0096】
以上述べたように、本実施形態のQA生成システム1によれば、出題ソースを与えると、さまざまなタイプの問題とその解答を略自動で生成することができる。したがって、eラーニングコンテンツなどを手間なく簡単に作成することが可能となる。
【符号の説明】
【0097】
1:QA生成システム
10:QA生成サーバ
11:ユーザ端末