IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-80174質問生成装置、質問生成方法、およびプログラム
<>
  • 特開-質問生成装置、質問生成方法、およびプログラム 図1
  • 特開-質問生成装置、質問生成方法、およびプログラム 図2
  • 特開-質問生成装置、質問生成方法、およびプログラム 図3
  • 特開-質問生成装置、質問生成方法、およびプログラム 図4
  • 特開-質問生成装置、質問生成方法、およびプログラム 図5
  • 特開-質問生成装置、質問生成方法、およびプログラム 図6
  • 特開-質問生成装置、質問生成方法、およびプログラム 図7
  • 特開-質問生成装置、質問生成方法、およびプログラム 図8
  • 特開-質問生成装置、質問生成方法、およびプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024080174
(43)【公開日】2024-06-13
(54)【発明の名称】質問生成装置、質問生成方法、およびプログラム
(51)【国際特許分類】
   G06F 40/56 20200101AFI20240606BHJP
   G06F 16/90 20190101ALI20240606BHJP
【FI】
G06F40/56
G06F16/90 100
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022193134
(22)【出願日】2022-12-01
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】秋元 康佑
(72)【発明者】
【氏名】竹岡 邦紘
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091CA21
5B091EA01
5B175DA01
5B175EA01
5B175HB03
(57)【要約】
【課題】回答が複数となる質問を精度よく生成する。
【解決手段】質問生成装置(1)は、複数の文字列および文章を取得する取得部(11)と、複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成部(12)と、複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定部(13)と、回答が複数存在すると判定された質問を出力する出力部(14)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得手段と、
前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、
前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定手段と、
前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、
を備える質問生成装置。
【請求項2】
前記曖昧性判定手段は、前記質問生成手段が生成した複数の質問のそれぞれについて、当該質問および他の質問が類似する度合いを示す類似度に基づいて、回答が複数存在するか否かを判定する、
請求項1に記載の質問生成装置。
【請求項3】
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルに、前記複数の文字列のうち少なくとも何れかの文字列および当該文字列に関連付けられた文章を入力することによって、前記質問を生成する、
請求項1または2に記載の質問生成装置。
【請求項4】
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルであって、出力する質問を構成するトークンの並びの予測確率を示す中間情報を生成する質問生成モデルによって生成される第1中間情報および第2中間情報を参照することによって、前記質問を生成し、
前記第1中間情報は、前記質問生成モデルに、前記複数の文字列のうち第1文字列および当該第1文字列に関連付けられた文章を入力することにより生成され、
前記第2中間情報は、前記質問生成モデルに、前記複数の文字列のうち第1文字列とは異なる第2文字列および当該第2文字列に関連付けられた文章を入力することにより生成される、請求項1または2に記載の質問生成装置。
【請求項5】
前記取得手段によって取得された前記複数の文字列のそれぞれは、当該文字列に関連付けられた前記文章から抽出されたものである、
請求項1または2に記載の質問生成装置。
【請求項6】
前記曖昧性判定手段は、前記質問生成手段が生成した複数の質問のそれぞれについて、当該質問を構成するトークンの並びが他の質問と類似する度合いを前記類似度として、回答が複数存在するか否かを判定する、
請求項2に記載の質問生成装置。
【請求項7】
前記質問生成手段は、前記文字列が回答となる質問を生成する際に、当該質問が当該回答に対する質問として適切であるかの度合いを示す適切度を算出し、
前記曖昧性判定手段は、前記複数の質問のそれぞれについて、当該質問および他の質問の類似度が閾値以上であった場合、当該質問および当該他の質問のそれぞれの適切度が閾値以上であるか否かに基づいて、回答が複数存在するか否かを判定する、
請求項2に記載の質問生成装置。
【請求項8】
少なくとも1つの文章を取得する取得手段と、
前記少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、
前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する曖昧性判定手段と、
前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、
を備える質問生成装置。
【請求項9】
質問生成装置が、
質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得することと、
前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成することと、
前記生成することにおいて生成された複数の質問のそれぞれについて、回答が複数存在するか否かを判定することと、
前記生成することにおいて生成された複数の質問のうち、前記判定することにおいて前記回答が複数存在すると判定された質問を出力することと、
を含む質問生成方法。
【請求項10】
コンピュータを質問生成装置として機能させるプログラムであって、
前記コンピュータを、
質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得手段と、
前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、
前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定手段と、
前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、質問生成装置、質問生成方法、およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、単一の回答から単一の質問を生成する質問生成器を用いて、複数の回答に対応する質問文を生成する情報処理装置が開示されている。当該情報処理装置は、文章から複数の回答を抽出し、当該複数の回答のうちの少なくとも1つを質問生成器に入力して生成される質問を、当該複数の回答に対応する質問として生成する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-50973号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の情報処理装置における質問生成器が生成した質問は、質問生成器に入力しなかった他の回答に対応する質問として適切であるとは限らない。したがって、特許文献1には、複数の回答に対応する質問を精度よく生成できないという問題があった。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、回答が複数となる質問を精度よく生成する技術を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一態様に係る質問生成装置は、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得手段と、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定手段と、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、を備える。
【0007】
本発明の一態様に係る質問生成装置は、少なくとも1つの文章を取得する取得手段と、前記少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する曖昧性判定手段と、、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、を備える。
【0008】
本発明の一態様に係る質問生成方法は、質問生成装置が、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得することと、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成することと、前記生成することにおいて生成された複数の質問のそれぞれについて、回答が複数存在するか否かを判定することと、前記生成することにおいて生成された複数の質問のうち、前記判定することにおいて前記回答が複数存在すると判定された質問を出力することと、を含む。
【0009】
本発明の一態様に係るプログラムは、コンピュータを質問生成装置として機能させるプログラムであって、前記コンピュータを、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得手段と、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定手段と、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、として機能させる。
【発明の効果】
【0010】
本発明の一態様によれば、回答が複数となる質問を精度よく生成することができる。
【図面の簡単な説明】
【0011】
図1】本発明の例示的実施形態1に係る質問生成装置の構成を示すブロック図である。
図2】本発明の例示的実施形態1に係る質問生成方法の流れを示すフロー図である。
図3】本発明の例示的実施形態2に係る質問生成装置の構成を示すブロック図である。
図4】本発明の例示的実施形態2に係る質問生成方法の流れを示すフロー図である。
図5】本発明の例示的実施形態3に係る質問生成装置の構成を示すブロック図である。
図6】本発明の例示的実施形態3に係る取得部が実行する処理の一例を示す図である。
図7】本発明の例示的実施形態3に係る質問生成部が実行する処理の他の例を示す図である。
図8】本発明の例示的実施形態3に係る曖昧性判定部が実行する処理の例を示す図である。
図9】本発明の各例示的実施形態に係る質問生成装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0012】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0013】
(質問生成装置1の構成)
本例示的実施形態に係る質問生成装置1の構成について、図1を参照して説明する。図1は、本例示的実施形態に係る質問生成装置1の構成を示すブロック図である。
【0014】
本例示的実施形態に係る質問生成装置1は、質問の回答となり得る複数の文字列が何れも回答となる1の質問を生成する。以下では、「質問の回答となり得る文字列」とは、1または複数の単語を含む、意味のある文字列を指す。また、「文章」とは、1または複数の文からなり、まとまった内容を表すものを指す。
【0015】
また、質問生成装置1は、生成した質問について、回答が複数存在する場合に、当該質問を出力する。以下では、質問に対して複数の回答が存在することを、質問が曖昧性を有するとも表現する。
【0016】
質問生成装置1は、図1に示すように、取得部11、質問生成部12、曖昧性判定部13、および出力部14を備えている。取得部11、質問生成部12、曖昧性判定部13、および出力部14は、それぞれ本例示的実施形態において、取得手段、質問生成手段、曖昧性判定手段、および出力手段を実現する構成である。
【0017】
取得部11は、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する。
【0018】
「文字列に関連付けられた文章」の例として、当該文字列を含む文章、当該文字列と同じ意味であるが異なる表記を含む文章(例えば、文字列が漢字の場合、当該文字列と同じ意味で用いられ、平仮名で記載された文章、アルファベットで記載された文章、または省略された表現で記載された文章など)が挙げられる。「当該文字列と同じ意味であるが異なる表記」は、当該文字列と埋め込み表現が類似する文字列であってもよい。また、「文字列に関連付けられた文章」は、当該文字列を含む文章に対して埋め込み表現が類似する文章であってもよい。取得部11は、取得した文章を質問生成部12に供給する。
【0019】
ここで、「埋め込み表現」とは、文字列、単語、文章、または文書などの自然言語を構成する要素を、空間における実数値ベクトルで表現したものである。
【0020】
質問生成部12は、取得部11が取得した文章を参照して、複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する。質問生成部12は、生成した複数の質問を曖昧性判定部13に供給する。
【0021】
曖昧性判定部13は、質問生成部12が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する。換言すると、曖昧性判定部13は、質問生成部12が生成した複数の質問のそれぞれが曖昧性を有しているかどうかを判定する。曖昧性判定部13は、判定結果を出力部14に供給する。
【0022】
出力部14は、質問生成部12が生成した複数の質問のうち、曖昧性判定部13によって回答が複数存在すると判定された質問を出力する。
【0023】
以上のように、本例示的実施形態に係る質問生成装置1においては、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得部11と、取得部11が取得した文章を参照して、複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成部12と、質問生成部12が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定部13と、質問生成部12が生成した複数の質問のうち、曖昧性判定部13によって回答が複数存在すると判定された質問を出力する出力部14とを備える構成が採用されている。
【0024】
このように、本例示的実施形態においては、複数の文字列のそれぞれについて当該1つの文字列が回答となる1の質問を複数生成し、生成した複数の質問のうち回答が複数存在するものを出力する。このため、1の回答に対応する質問を生成するように学習されたモデルに複数の回答を入力する場合に比べて、回答が複数存在する質問を精度よく生成することができる、という効果が得られる。
【0025】
また、本例示的実施形態においては、複数の文字列にはそれぞれに文章が関連付けられており、当該複数の文字列は必ずしも1つの文章に含まれているものではない。例えば、当該複数の文字列のうち、或る文字列に関連付けられた文章と、他の文字列に関連付けられた文章とが異なっていてもよい。これに対して、特許文献1に記載の情報処理装置では、1つの文章に含まれている文字列を回答とした質問しか生成されない。したがって、本例示的実施形態によれば、より多様な複数の回答が存在する質問を精度よく生成することができる、という効果が得られる。
【0026】
(質問生成方法S1の流れ)
本例示的実施形態に係る質問生成方法S1の流れについて、図2を参照して説明する。図2は、本例示的実施形態に係る質問生成方法S1の流れを示すフロー図である。
【0027】
(ステップS11)
ステップS11において、取得部11は、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する。取得部11は、取得した文章を質問生成部12に供給する。
【0028】
(ステップS12)
ステップS12において、質問生成部12は、取得部11が取得した文章を参照して、複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する。質問生成部12は、生成した複数の質問を曖昧性判定部13に供給する。
【0029】
(ステップS13)
ステップS13において、曖昧性判定部13は、質問生成部12が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する。曖昧性判定部13は、判定結果を出力部14に供給する。
【0030】
(ステップS14)
ステップS14において、出力部14は、質問生成部12が生成した複数の質問のうち、曖昧性判定部13によって回答が複数存在すると判定された質問を出力する。
【0031】
以上のように、本例示的実施形態に係る質問生成方法S1においては、取得部11が、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得するステップS11と、質問生成部12が、取得部11が取得した文章を参照して、複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成するステップS12と、、曖昧性判定部13が、質問生成部12が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定するステップS13と、出力部14が、質問生成部12が生成した複数の質問のうち、曖昧性判定部13によって回答が複数存在すると判定された質問を出力するステップS14とを含む構成が採用されている。このため、本例示的実施形態に係る質問生成方法S1によれば、上述した質問生成装置1と同様の効果が得られる。
【0032】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0033】
(質問生成装置2の構成)
本例示的実施形態に係る質問生成装置2の構成について、図3を参照して説明する。図3は、本例示的実施形態に係る質問生成装置2の構成を示すブロック図である。
【0034】
本例示的実施形態に係る質問生成装置2は、質問の回答となり得る複数の文字列が何れも回答となる1の質問を生成する。質問生成装置2は、少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれが回答となる質問を生成する。また、質問生成装置2は、生成した複数の質問のそれぞれについて、回答が複数存在するか否かを当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定し、回答が複数存在すると判定された質問を出力する。
【0035】
質問生成装置2は、図3に示すように、取得部21、質問生成部22、曖昧性判定部23、および出力部24を備えている。取得部21、質問生成部22、曖昧性判定部23、および出力部24は、それぞれ本例示的実施形態において、取得手段、質問生成手段、曖昧性判定手段、および出力手段を実現する構成である。
【0036】
取得部21は、少なくとも1つの文章を取得する。取得部21は、取得した少なくとも1つの文章を質問生成部22に供給する。
【0037】
質問生成部22は、取得部21が取得した少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれが回答となる質問を生成する。質問生成部22は、生成した複数の質問を曖昧性判定部23に供給する。
【0038】
曖昧性判定部23は、質問生成部22が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する。曖昧性判定部23は、判定結果を出力部24に供給する。
【0039】
出力部24は、質問生成部22が生成した複数の質問のうち、曖昧性判定部23によって回答が複数存在すると判定された質問を出力する。換言すると、出力部24は、上述した出力部14と同様の機能を備える。
【0040】
以上のように、本例示的実施形態に係る質問生成装置2においては、少なくとも1つの文章を取得する取得部21と、取得部21が取得した少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれが回答となる質問を生成する質問生成部22と、質問生成部22が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する曖昧性判定部23と、質問生成部22が生成した複数の質問のうち、曖昧性判定部23によって回答が複数存在すると判定された質問を出力する出力部24とを備える構成が採用されている。なお、「類似する」とは、「同一である」場合を含むものとし、例えば、当該質問および他の質問が同一であることは、類似度が最も大きいとして表される。
【0041】
このように、本例示的実施形態においては、複数の文字列のそれぞれについて当該1つの文字列が回答となる1の質問を複数生成し、生成した複数の質問のうち回答が複数存在するものを出力する。このため、1の回答に対応する質問を生成するように学習されたモデルに複数の回答を入力する場合に比べて、回答が複数存在する質問を精度よく生成することができる、という効果が得られる。
【0042】
また、本例示的実施形態に係る質問生成装置2は、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する。例えば、本例示的実施形態に係る質問生成装置2が、回答A_1が回答となる質問Q_1を生成し、回答A_2(≠回答A_1)が回答となる質問Q_2(≠質問Q_1)を生成した場合を想定する。この場合、質問Q_1と質問Q_2との類似度が高いと、質問Q_2の回答である回答A_2は、質問Q_1の回答にもなる可能性が高い。この場合、本例示的実施形態に係る質問生成装置2は、質問Q_1を出力する。したがって、本例示的実施形態に係る質問生成装置2によれば、回答が複数となる質問を精度よく生成することができる、という効果が得られる。
【0043】
(質問生成方法S2の流れ)
本例示的実施形態に係る質問生成方法S2の流れについて、図4を参照して説明する。図4は、本例示的実施形態に係る質問生成方法S2の流れを示すフロー図である。
【0044】
(ステップS21)
ステップS21において、取得部21は、少なくとも1つの文章を取得する。取得部21は、取得した少なくとも1つの文章を質問生成部22に供給する。
【0045】
(ステップS22)
ステップS22において、質問生成部22は、取得部21が取得した少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれが回答となる質問を生成する。質問生成部22は、生成した複数の質問を曖昧性判定部23に供給する。
【0046】
(ステップS23)
ステップS23において、曖昧性判定部23は、質問生成部22が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する。曖昧性判定部23は、判定結果を出力部24に供給する。
【0047】
(ステップS24)
ステップS24において、出力部24は、質問生成部22が生成した複数の質問のうち、曖昧性判定部23によって回答が複数存在すると判定された質問を出力する。
【0048】
以上のように、本例示的実施形態に係る質問生成方法S2においては、取得部21が、少なくとも1つの文章を取得するステップS21と、質問生成部22が、取得部21が取得した少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれが回答となる質問を生成するステップS22と、曖昧性判定部23が、質問生成部22が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定するステップS23と、出力部24が、質問生成部22が生成した複数の質問のうち、曖昧性判定部23によって回答が複数存在すると判定された質問を出力するステップS24とを含む構成が採用されている。このため、本例示的実施形態に係る質問生成方法S2によれば、上述した質問生成装置2と同様の効果が得られる。
【0049】
〔例示的実施形態3〕
本発明の第3の例示的実施形態について、図面を参照して詳細に説明する。なお、上述した例示的実施形態にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0050】
(質問生成装置3の概要)
本例示的実施形態に係る質問生成装置3は、質問の回答となり得る複数の文字列が何れも回答となる1の質問を生成する。質問生成装置3は、上述した質問生成装置1および質問生成装置2の機能を備えている。
【0051】
また、質問生成装置3は、生成した質問について、回答が複数存在する場合に、当該質問を出力する。すなわち、質問生成装置3は、曖昧性を有する質問を出力する。
【0052】
(質問生成装置3の構成)
本例示的実施形態に係る質問生成装置3の構成について、図5を参照して説明する。図5は、本例示的実施形態に係る質問生成装置3の構成を示すブロック図である。
【0053】
質問生成装置3は、図5に示すように、制御部30、通信部35、および記憶部36を備えている。
【0054】
通信部35は、データを送受信するインターフェースである。通信部35が受信するデータの一例として、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章が挙げられる。また、通信部35が受信するデータの他の例として、質問の回答となり得る複数の文字列が挙げられる。また、通信部35が送信するデータの一例として、回答が複数存在すると判定された質問が挙げられる。
【0055】
また、質問生成装置3は、通信部35に替えて、または通信部35に加えて、データの入力を受け付けるインターフェースであるデータ入力部、およびデータを出力するインターフェースであるデータ出力部を備える構成であってもよい。
【0056】
記憶部36には、制御部30が参照するデータが格納される。記憶部36に格納されるデータの例として、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章、質問の回答となり得る複数の文字列、生成された複数の質問、後述する判定結果、回答が複数存在すると判定された質問、および後述する中間情報が挙げられる。
【0057】
(制御部30)
制御部30は、質問生成装置3が備える各構成要素を制御する。また、制御部30は、図5に示すように、取得部31、質問生成部32、曖昧性判定部33、および出力部34を備える。取得部31、質問生成部32、曖昧性判定部33、および出力部34は、それぞれ本例示的実施形態において、取得手段、質問生成手段、曖昧性判定手段、および出力手段を実現する構成である。
【0058】
取得部31は、通信部35を介してデータを取得する。一例として、取得部31は、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する。他の例として、取得部31は、少なくとも1つの文章を取得する。すなわち、取得部31は、上述した取得部11および取得部21の少なくとも何れかの機能を備える。
【0059】
取得部31は、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を同時に取得してもよいし、別々に取得してもよい。別々に取得する場合、取得部31は、質問の回答となり得る複数の文字列を取得し、取得した文字列に基づいて文章を取得してもよい。また、取得部31は、取得した文章に基づいて、質問の回答となり得る複数の文字列を取得してもよい。また、取得部31は、取得した文字列に基づいて文章を取得する処理と、取得した文章に基づいて質問の回答となり得る複数の文字列を取得する処理とを、繰り返し行ってもよい。
【0060】
一例として、取得部31によって取得された複数の文字列のそれぞれは、当該文字列に関連付けられた文章から抽出されたものであってもよい。換言すると、複数の文字列のそれぞれには、当該文字列の抽出元の文章が関連付けられている。一例として、質問の回答となり得る或る文字列は、1つの文章から抽出されたものであってよい。他の例として、質問の回答となり得る或る文字列は、複数の文章から共通して抽出されたものであってもよい。さらに他の例として、質問の回答となり得る或る文字列および他の文字列は、同一の文章から抽出されたものであってもよいし、異なる文章からそれぞれ抽出されたものであってもよい。また、文章から文字列を抽出する処理は、取得部31が行ってもよい。
【0061】
また、取得部31は、ユーザにより入力されたデータを取得する構成であってもよい。一例として、取得部31は、複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章の少なくとも何れかを、ユーザによる入力によって取得してもよい。
【0062】
また取得部31は、アクセス可能なネットワーク上の任意のサーバに格納されているデータを取得してもよい。一例として、取得部31は、文章データベースに格納されている文章を取得してもよい。
【0063】
取得部31は、取得した文章または複数の文字列を記憶部36に格納する。取得部31が実行する処理の例について、後述する。
【0064】
質問生成部32は、文字列が回答となる質問を生成する。一例として、質問生成部32は、取得部31が取得した文章を参照して、複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する。例えば、取得部31が、文章データベースに記憶された文章のうち、複数の文字列のそれぞれを含む文章を取得した場合、質問生成部32は、文章データベースに記憶された文章のうち、複数の文字列のそれぞれを含む文章を、複数の文字列に関連付けられた文章として参照する。
【0065】
他の例として、質問生成部32は、、取得部31が取得した少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれが回答となる質問を生成する。すなわち、質問生成部32は、上述した質問生成部12および質問生成部22の少なくとも何れかの機能を備える。質問生成部32は、生成した質問を記憶部36に格納する。質問生成部32が実行する処理の例について、後述する。
【0066】
曖昧性判定部33は、質問の回答が複数存在するか否かを判定する。一例として、曖昧性判定部33は、質問生成部32が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する。例えば、曖昧性判定部33は、複数の質問のうち、1つの質問を選択し、当該1つの質問について、回答が複数存在するか否かを判定する。続いて、曖昧性判定部33は、複数の質問のうち、選択済みの質問以外の他の質問を選択し、当該他の質問について、回答が複数存在するか否かを判定する。曖昧性判定部33は、当該処理を繰り返すことにより、複数の質問のそれぞれについて、回答が複数存在するか否かを判定する。
【0067】
他の例として、曖昧性判定部33は、質問生成部32が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する。
【0068】
例えば、曖昧性判定部33は、N個の複数の質問(質問Q1~質問QN)から、判定対象となる質問Q1と、比較対象となる質問Q2とを選択する。次に、曖昧性判定部33は、質問Q1および質問Q2の間における類似度に基づいて、質問Q1について回答が複数存在するか否かを判定する。続いて、曖昧性判定部33は、比較対象となる質問として、質問Q3を選択し、判定対象となる質問Q1および比較対象となる質問Q3の間における類似度に基づいて、質問Q1について回答が複数存在するか否かを判定する。曖昧性判定部33は、同様の処理を、比較対象として質問QNを選択するまで繰り返す。
【0069】
そして、曖昧性判定部33は、比較対象として質問QNを選択し、質問Q1および質問QNの間における類似度に基づいて、質問Q1について回答が複数存在するか否かを判定すると、次に、判定対象となる質問Q2を選択する。また、曖昧性判定部33は、比較対象となる質問Q3とを選択する。そして、曖昧性判定部33は、質問Q2および質問Q3の間における類似度に基づいて、質問Q2について回答が複数存在するか否かを判定する。以降の処理は、上述した処理と同様である。ここで、曖昧性判定部33は、判定対象となる質問を選択した際に、既に類似度を比較済みの質問を比較対象として選択する処理を省略してもよい。例えば、曖昧性判定部33は、質問Q2を判定対象として選択した際、既に類似度を比較済みの質問Q1を比較対象として選択する処理を省略してもよい。
【0070】
すなわち、曖昧性判定部33は、上述した曖昧性判定部13および曖昧性判定部23の少なくとも何れかの機能を備える。曖昧性判定部33は、判定結果を記憶部36に格納する。曖昧性判定部33が実行する処理の例について、後述する。
【0071】
出力部34は、通信部35を介してデータを出力する。一例として、出力部34は、記憶部36に格納されている判定結果および生成された複数の質問を参照する。そして、出力部34は、生成された複数の質問のうち、曖昧性判定部33によって回答が複数存在すると判定された質問を出力する。すなわち、出力部34は、上述した出力部14および出力部24と同様の機能を有する。また、出力部34は、回答が複数存在すると判定された質問の回答を、質問と共に出力する構成であってもよい。
【0072】
(取得部31が実行する処理の例1)
取得部31が文章を取得する構成として、上述したように、アクセス可能なネットワーク上の任意のサーバに格納されている文章を取得してもよい。一例として、取得部31は、アクセス可能なネットワーク上の任意のサーバに格納されている文章のうち、質問の回答となり得る文字列を含む文章を取得してもよい。さらに、取得部31は、質問の回答となり得る文字列が主語となっている文章を取得してもよい。
【0073】
他の例として、取得部31は、質問の回答となり得る文字列と共に、当該質問の回答となり得る他の文字列を含む文章を取得してもよい。例えば、質問の回答となり得る文字列が「日本」の場合、質問として「アジアにある国はなんですか」という質問が想定され得る。そして、「アジアにある国はなんですか」の回答の例として、「中国」が挙げられる。この場合、取得部31は、「中国」を含む文章を取得してもよい。
【0074】
さらに他の例として、取得部31は、質問の回答となり得る文字列と同じカテゴリに属する記事を、アクセス可能なネットワーク上の任意のサーバから文章として取得する構成が挙げられる。例えば、質問の回答となり得る文字列が「日本」の場合、「日本」と同じ「アジアの国」というカテゴリに属する記事(例えば、中国に関する記事)を、取得部31は文章として取得してもよい。
【0075】
さらに他の例として、取得部31は、質問の回答となり得る文字列が含まれている文章において、当該文字列に対して他の文章にアクセスするよう設定されている場合、当該他の文章を取得してもよい。例えば、ウェブページにおいて、質問の回答となり得る文字列「日本」に、百科事典の「日本」のウェブページにアクセスするよう設定されている場合、取得部31は、サクセス先である百科事典の「日本」のウェブページに記載されている文章を取得してもよい。
【0076】
(取得部31が実行する処理の例2)
質問の回答となり得る文字列が複数ある場合、取得部31は、複数の文字列に共通するカテゴリの文章を取得してもよい。例えば、質問の回答となり得る文字列として、「日本」および「中国」がある場合、取得部31は、「日本」および「中国」に共通するカテゴリである「国」に関する文章を取得してもよい。
【0077】
また、取得部31が複数の文字列に共通するカテゴリの文章を取得する方法として、文脈を考慮した複数の文字列のベクトルの類似度を用いる方法が挙げられる。以下に具体例を記載する。
【0078】
複数の文字列の集合を{A_1,A_2,・・・A_n}とすると、取得部31は、A_i(i=1,2、・・・n)がそれぞれ含まれる文章の集合を選択する。ここで、A_iが含まれる文章を、d_ij(j=1,2、・・・M(i))とする。M(i)は、A_iを含む文章の数である。
【0079】
続いて、取得部31は、d_ijのそれぞれを、テキスト情報を特徴ベクトルに変換する既知のアルゴリズム(例えば、BERT: Bidirectional Encoder Representations from Transformers)に入力する。そして、取得部31は、当該アルゴリズムから出力されたベクトルのうち、A_iの文字列に相当する部分のベクトルを平均化したv_ijを算出する。算出されたv_ijは、文章d_ijにおける文字列A_iの役割を表したベクトルとみなせる。
【0080】
次に、取得部31は、ベクトル間の類似度を算出する。一例として、取得部31は、コサイン類似度を算出する類似度関数simを用いることにより、ベクトル間の類似度を算出する。
【0081】
例えば、取得部31は、文字列A_iごとに、対応するベクトルv_ijの要素ごとの平均ベクトルV_iを、以下の式(1)を用いて算出する。
V_i=(v_i1+v_i2+・・・+v_iM(i))/M(i) ・・・(1)
平均ベクトルV_iは、A_iを含む文章におけるA_iの平均的な役割を表すベクトルとみなすことができる。
【0082】
続いて、取得部31は、全ての文字列の平均ベクトルV_iの平均ベクトルVを、以下の式(2)を用いて算出する。
V=(V_1+V_2+・・・+V_n)/n ・・・(2)
ベクトルVは、A_1,A_2,・・・,A_nの役割を表すベクトルの平均であり、A_i,・・・,A_nの「共通の役割」を表すベクトルとみなすことができる。
【0083】
そして、取得部31は、A_iごとに、ベクトルv_ijとベクトルVとの類似度sim(v_ij,V)を算出し、算出した類似度が閾値以上の文章d_ijを取得する。
【0084】
(取得部31が実行する処理の例3)
取得部31が、取得した少なくとも1つの文章から質問の回答となり得る文字列を抽出する処理について、図6を参照して説明する。図6は、本例示的実施形態に係る取得部31が実行する処理の一例を示す図である。
【0085】
一例として、取得部31は、既知の技術を用いて文章の文法および構文を解析し、当該文章に含まれる固有名詞、名詞節、主語、目的語などを、文字列として抽出する。例えば、図6の上側に示す文章P_1を取得した場合、取得部31は、文章P_1の文法および構文を解析し、文章P_1から文字列A_1「日本」を抽出する。さらに、図6の真ん中に示す文章P_2を取得した場合、取得部31は、文章P_2の文法および構文を解析し、文章P_2から文字列A_2「中国」を抽出する。
【0086】
また、取得部31は、1つの文章から複数の文字列を抽出してもよい。例えば、図6の下側に示す文章P_3を取得した場合、取得部31は、文章P_3の文法および構文を解析し、文章P_3から文字列A_1「日本」および文字列A_2「中国」を抽出する。
【0087】
他の例として、取得部31は、文章を入力として、当該文章に含まれている文字列であって、質問の回答となり得る文字列を出力するように学習済の言語生成モデルを用いる構成であってもよい。当該言語生成モデルは、文章および質問の回答となり得る文字列をペアとした複数の組からなる教師データによって、学習される。言語生成モデルの例として、T5(Text-to-Text Transfer Transformer)、BART(Bidirectional Auto-Regressive Transformer)、およびGPT(Generative Pre-trained Transformer)が挙げられる。
【0088】
さらに他の例として、取得部31は、質問の回答となり得る文字列と同じ性質を持った物や人物に関する既存のリストを取得してもよい。当該リストの一例として、知識ベースにおいて、サーバに格納されているリストであって、質問の回答となり得る文字列と同じクラスに属するエンティティのリストが挙げられる。
【0089】
さらに他の例として、取得部31は、抽出した文字列と同じ種類のエンティティを有する文字列を、文章中から抽出してもよい。一例として、取得部31は、既知のentity set expansionの技術を利用して、抽出した文字列と同じ種類のエンティティを有する文字列を、文章中から抽出する構成が挙げられる。
【0090】
(質問生成部32が実行する処理の例1)
質問生成部32は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルを用いる構成であってもよい。この場合は、質問生成部32は、当該質問生成モデルに、複数の文字列のうち少なくとも何れかの文字列および当該文字列に関連付けられた文章を入力することによって、質問を生成する。
【0091】
また、質問生成部32は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルが生成する、出力する質問を構成するトークンの並びの予測確率を示す中間情報を用いる構成であってもよい。当該構成について、図7を用いて説明する。図7、本例示的実施形態に係る質問生成部32が実行する処理の他の例を示す図である。
【0092】
図7の上側に示すように、質問生成部32は、文字列A1および文字列A1に関連付けられた文章P1を、質問生成モデルMに入力する。質問生成モデルMからは、以下の式(3)を用いて算出された中間情報であって、質問文のトークン(単語)をw_1,w_2,・・・,w_nとした場合に、次のトークンを予測する確率分布p1が出力される。
p1=p(w_i|P1,A1,w_1,w_2,・・・,w_{iー1},Θ) ・・・(3)
ここで、Θは、質問生成モデルのパラメータである。
【0093】
質問生成部32は、質問生成モデルMから出力される確率分布p1を参照し、次のトークンとして出現する確率が高いトークンを選択する処理を再帰的に繰り返すことにより、質問Q1を作成する。
【0094】
同様に、図7の上から2番目に示すように、質問生成部32は、文字列A2および文章P2を、質問生成モデルMに入力する。質問生成モデルMからは、以下の式(4)を用いて、次のトークンを予測する確率分布p2が出力される。
p2=p(w_i|P2,A2,w_1,w_2,・・・,w_{iー1},Θ) ・・・(4)
質問生成部32は、質問生成モデルMから出力される確率分布p2を参照し、次のトークンとして出現する確率が高いトークンを選択する処理を再帰的に繰り返すことにより、質問Q2を作成する。
【0095】
このように、質問生成部32は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルを用いて、質問を生成する。そのため、質問生成部32は、文字列が回答となる質問を精度よく生成することができる。
【0096】
(質問生成部32が実行する処理の例2)
質問生成部32は、学習済の質問生成モデルによって生成される第1中間情報および第2中間情報を参照することによって、質問を生成してもよい。第1中間情報は、質問生成モデルに、複数の文字列のうち第1文字列および第1文字列に関連付けられた文章を入力することにより生成される。第2中間情報は、質問生成モデルに、複数の文字列のうち第1文字列とは異なる第2文字列および第2文字列に関連付けられた文章を入力することにより生成される。
【0097】
例えば、図7の下側に示すように、質問生成部32は、質問生成モデルMに文字列A3および文章P3を入力する。質問生成モデルMは第1中間情報である確率分布p3を以下の式(5)用いて算出し、出力する。同様に、質問生成部32は、質問生成モデルMに文字列A4および文章P3を入力する。質問生成モデルMは、第2中間情報である確率分布p4を、以下の式(6)を用いて算出し、出力する。
p3=p(w_i|P3,A3,w_1,w_2,・・・,w_{iー1},Θ) ・・・(5)
p4=p(w_i|P3,A4,w_1,w_2,・・・,w_{iー1},Θ) ・・・(6)
質問生成部32は、確率分布p3および確率分布p4を平均化した確率分布(p3+p4)/2を参照し、次のトークンとして出現する確率が高いトークンを選択する処理を再帰的に繰り返すことにより、質問Q3を生成する。
【0098】
当該構成では、質問生成部32は、1つの文字列に関連する複数の文章を、質問生成モデルMに入力する構成であってもよい。例えば、質問生成部32は、文字列A3および文章P3と、文字列A4および文章P3と、文字列A4および文章P4とを、質問生成モデルMに入力してもよい。この場合、それぞれを質問生成モデルMに入力することによって算出された確率分布p5、確率分布p6、および確率分布p7を平均化した確率分布(p5+p6+p7)/3を参照し、質問生成部32は質問を生成する。
【0099】
すなわち、質問生成部32は、文字列および文章の組であるN個のペアであって、互いに文字列または文章の少なくとも何れかが異なるN個のペアを、それぞれ質問生成モデルMに入力する。そして、質問生成部32は、質問生成モデルMから出力された確率分布p1~pNを平均化した確率分布(p1+p2+・・・+pN)/Nを参照し、質問を生成する。
【0100】
このように、質問生成部32は、学習済の質問生成モデルによって生成される第1中間情報および第2中間情報を参照することによって、質問を生成する。そのため、質問生成部32は、複数の文字列が回答となる質問を精度よく生成することができる。
【0101】
ここで、当該処理の例2と、特許文献1に記載の技術との差異について説明する。特許文献1における質問生成器は、1の質問と1の回答との組を複数含む単一回答データセットを用いて学習される。すなわち、当該質問生成器は、複数の回答に対応する質問を生成するように学習されたモデルではない。そのような質問生成器を用いて複数の回答を持つ質問をどのように生成するのか、特許文献1にはその詳細が記載されていない。仮に、当該質問生成器に複数の回答を入力した場合(例えば、複数の回答に対応する文字列を連結した文字列を入力する等の場合)、当該質問生成器から出力される質問が、複数の回答に対応する質問であるとは限らない。
【0102】
これに対して、当該処理の例2は、1の回答を入力して1の質問を出力する質問生成モデルに対して、第1文字列および第2文字列を一度に入力するのではなく、それぞれ入力する。そして、当該処理の例2は、質問生成モデルに第1文字列を入力して得られた第1中間情報、および、第2文字列を入力して得られた第2中間情報を用いて、複数の文字列が回答となる質問を生成する。したがって、当該処理の例2は、1の回答を入力して1の質問を出力する質問生成モデルを用いつつ、特許文献1に記載の技術と比較して、複数の文字列が回答となる質問を精度よく生成することができる。
【0103】
(曖昧性判定部33が実行する処理の例1)
曖昧性判定部33が実行する処理の一例について、図8を参照して説明する。図8は、本例示的実施形態に係る曖昧性判定部33が実行する処理の例を示す図である。
【0104】
曖昧性判定部33は、質問生成部32が生成した複数の質問のそれぞれについて、当該質問を構成するトークンの並びが他の質問と類似する度合いを類似度として、回答が複数存在するか否かを判定してもよい。
【0105】
例えば、曖昧性判定部33は、互いに異なる文字列が回答となるように質問生成部32が生成した複数の質問のうち、トークンの並びが同じ質問が存在した場合、当該質問は、回答が複数存在すると判定する。
【0106】
一例として、図8の上側に示すように、文字列A1「日本」を質問生成モデルに入力し、質問生成部32が質問Q1「アジアにある国はなんですか」を生成した場合を想定する。また、図8の上側に示すように、文字列A2「中国」を質問生成モデルに入力し、質問生成部32が質問Q2「アジアにある国はなんですか」を生成した場合を想定する。この場合、質問Q1と質問Q2とは、トークンの並びが同じとなる。そのため、曖昧性判定部33は、質問Q1について、回答が複数存在すると判定する。また、この場合、出力部34は、質問Q1を出力する。また、出力部34は、質問Q1と共に、回答である文字列A1「日本」および文字列A2「中国」を出力してもよい。
【0107】
一方、図8の上側に示すように、文字列A3「カナダ」を質問生成モデルに入力し、質問生成部32が質問Q3「北米の国はなんですか」を生成した場合、質問Q3は、質問Q1および質問Q2とトークンの並びが異なる。そのため、曖昧性判定部33は、質問Q3には回答が複数存在しないと判定する。換言すると、文字列A3「カナダ」は、質問Q1「アジアにある国はなんですか」の回答として不適切であるとも言える。
【0108】
このように、トークンの並びが同じ質問が存在した場合、曖昧性判定部33は、当該質問には回答が複数存在すると判定する。そのため、曖昧性判定部33は、回答が複数となる質問を精度よく出力することができる。
【0109】
(曖昧性判定部33が実行する処理の例2)
曖昧性判定部33は、質問生成部32が生成した複数の質問のそれぞれについて、当該質問を構成するトークンの並びが他の質問と類似する度合いを示す類似度を算出し、当該類似度が閾値以上の場合、当該質問は回答が複数存在すると判定してもよい。曖昧性判定部33が類似度を算出する構成の一例として、上述した類似度関数simを用いる構成が挙げられる。類似度関数simは、上述したように、2つの質問をベクトルに埋め込んだ場合のベクトル間のコサイン類似度を算出する構成であってもよいし、2つの質問の単語の重複度合いを算出する構成であってもよい。
【0110】
一例として、図8の真ん中に示すように、文字列A1「日本」を質問生成モデルに入力し、質問生成部32が質問Q1「アジアにある国はなんですか」を生成した場合を想定する。また、図8の真ん中に示すように、文字列A2「中国」を質問生成モデルに入力し、質問生成部32が質問Q2「アジアにはどんな国がありますか」を生成した場合を想定する。この場合、質問Q1および質問Q2には、共通する単語「アジア」、「国」が含まれているため、質問Q1と質問Q2との類似度は閾値以上になる。そのため、曖昧性判定部33は、質問Q1について、回答が複数存在すると判定する。この場合、出力部34は、質問Q1を出力する。また、出力部34は、質問Q1と共に、回答である文字列A1「日本」および文字列A2「中国」を出力してもよい。
【0111】
一方、図8の真ん中に示すように、文字列A3「カナダ」を質問生成モデルに入力し、質問生成部32が質問Q3「北米の国はなんですか」を生成した場合、質問Q3と質問Q1には、共通する単語が「国」しか含まれていない。この場合、質問Q3と質問Q1との類似度は閾値よりも低くなる。そのため、そのため、曖昧性判定部33は、質問Q3には回答が複数存在しないと判定する。
【0112】
このように、トークンの並びが他の質問と類似する質問が存在した場合、曖昧性判定部33は、当該質問には回答が複数存在すると判定する。そのため、曖昧性判定部33は、回答が複数となる質問を精度よく出力することができる。
【0113】
(曖昧性判定部33が実行する処理の例3)
質問生成部32が、文字列が回答となる質問を生成する際に、当該質問が当該回答に対する質問として適切であるかの度合いを示す適切度(スコア)を算出する場合、曖昧性判定部33は、適切度を参照して回答が複数存在するか否かを判定してもよい。より具体的には、曖昧性判定部33は、複数の質問のそれぞれについて、当該質問および他の質問の類似度が閾値以上であった場合、当該質問および他の質問のそれぞれの適切度が閾値以上であるか否かに基づいて、回答が複数存在するか否かを判定する。以下では一例として、スコアの閾値が「0.7」の場合について説明する。
【0114】
図8の下側に示すように、文字列A1「日本」を質問生成モデルに入力し、質問生成部32が質問Q1「アジアにある国はなんですか」を生成し、質問生成モデルから適切度を示すスコア「0.8」が出力された場合を想定する。また、図8の下側に示すように、文字列A2「中国」を質問生成モデルに入力し、質問生成部32が質問Q2「アジアにはどんな国がありますか」を生成し、スコア「0.85」が出力された場合を想定する。この場合、上述したように、質問Q1と質問Q2との類似度は閾値以上になる。
【0115】
次に、曖昧性判定部33は、スコア「0.8」およびスコア「0.85」が閾値「0.7」以上であるか否かを判定する。スコア「0.8」およびスコア「0.85」は閾値以上であるため、曖昧性判定部33は、質問Q1について、回答が複数存在すると判定する。この場合、出力部34は、質問Q1を出力する。また、出力部34は、質問Q1と共に、回答である文字列A1「日本」および文字列A2「中国」を出力してもよい。
【0116】
一方、図8の下側に示すように、文字列A3「カナダ」を質問生成モデルに入力し、質問生成部32が質問Q3「アジアにある国はなんですか」を生成し、スコア「0.2」が出力された場合、質問Q1と質問Q3とは同じ質問であるため、類似度は閾値以上になる。
【0117】
次に、曖昧性判定部33は、スコア「0.8」およびスコア「0.2」が閾値「0.7」以上であるか否かを判定する。スコア「0.2」は閾値以上ではないため、曖昧性判定部33は、質問Q3には回答が複数存在しないと判定する。
【0118】
このように、トークンの並びが他の質問と類似する質問が存在した場合、曖昧性判定部33は、当該他の質問および当該質問が、それぞれ回答に対する質問として適切であるかの度合いを示す適切度が閾値以上であるか否かに基づいて、当該質問について、回答が複数あるか否かを判定する。そのため、曖昧性判定部33は、他の質問と類似する質問が存在した場合、当該他の質問および当該質問の適切度が高い場合に、当該質問について、回答が複数存在すると判定する。そのため、曖昧性判定部33は、回答が複数となる質問を精度よく出力することができる。
【0119】
(曖昧性判定部33が実行する処理の例4)
曖昧性判定部33は、質問を入力として、当該質問の回答を出力する質問応答モデルを用いて、回答が複数存在するか否かを判定する。
【0120】
一例として、曖昧性判定部33は、既知の質問応答モデルに、質問生成部32が生成した複数の質問のそれぞれを入力する。そして、曖昧性判定部33は、質問応答モデルから出力された文字列の種類が閾値を超えるか否かを判定する。質問応答モデルから出力された文字列の種類が閾値を超えたと判定された場合、曖昧性判定部33は、入力した質問の回答は複数存在すると判定する。
【0121】
一方、質問応答モデルから出力された文字列の種類が閾値を超えていないと判定された場合、曖昧性判定部33は、入力した質問の回答は複数存在しないと判定する。
【0122】
このように、質問応答モデルから出力された文字列の種類が閾値を超えたと判定された場合、曖昧性判定部33は、入力した質問の回答は複数存在すると判定する。そのため、曖昧性判定部33は、既知の質問応答モデルを用いて、回答が複数となる質問を精度よく出力することができる。
【0123】
〔ソフトウェアによる実現例〕
質問生成装置1、2、3の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0124】
後者の場合、質問生成装置1、2、3は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図9に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを質問生成装置1、2、3として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、質問生成装置1、2、3の各機能が実現される。
【0125】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0126】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インターフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インターフェースを更に備えていてもよい。
【0127】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0128】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0129】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0130】
(付記1)
質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得手段と、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定手段と、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、を備える質問生成装置。
【0131】
(付記2)
前記曖昧性判定手段は、前記質問生成手段が生成した複数の質問のそれぞれについて、当該質問および他の質問が類似する度合いを示す類似度に基づいて、回答が複数存在するか否かを判定する、付記1に記載の質問生成装置。
【0132】
(付記3)
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルに、前記複数の文字列のうち少なくとも何れかの文字列および当該文字列に関連付けられた文章を入力することによって、前記質問を生成する、付記1または2に記載の質問生成装置。
【0133】
(付記4)
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルであって、出力する質問を構成するトークンの並びの予測確率を示す中間情報を生成する質問生成モデルによって生成される第1中間情報および第2中間情報を参照することによって、前記質問を生成し、前記第1中間情報は、前記質問生成モデルに、前記複数の文字列のうち第1文字列および当該第1文字列に関連付けられた文章を入力することにより生成され、前記第2中間情報は、前記質問生成モデルに、前記複数の文字列のうち第1文字列とは異なる第2文字列および当該第2文字列に関連付けられた文章を入力することにより生成される、付記1または2に記載の質問生成装置。
【0134】
(付記5)
前記取得手段によって取得された前記複数の文字列のそれぞれは、当該文字列に関連付けられた前記文章から抽出されたものである、付記1~4の何れかに記載の質問生成装置。
【0135】
(付記6)
前記曖昧性判定手段は、前記質問生成手段が生成した複数の質問のそれぞれについて、当該質問を構成するトークンの並びが他の質問と類似する度合いを前記類似度として、回答が複数存在するか否かを判定する、付記2に記載の質問生成装置。
【0136】
(付記7)
前記質問生成手段は、前記文字列が回答となる質問を生成する際に、当該質問が当該回答に対する質問として適切であるかの度合いを示す適切度を算出し、前記曖昧性判定手段は、前記複数の質問のそれぞれについて、当該質問および他の質問の類似度が閾値以上であった場合、当該質問および当該他の質問のそれぞれの適切度が閾値以上であるか否かに基づいて、回答が複数存在するか否かを判定する、付記2または6に記載の質問生成装置。
【0137】
(付記8)
少なくとも1つの文章を取得する取得手段と、前記少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する曖昧性判定手段と、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、を備える質問生成装置。
【0138】
(付記9)
質問生成装置が、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得することと、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成することと、前記生成することにおいて生成された複数の質問のそれぞれについて、回答が複数存在するか否かを判定することと、前記生成することにおいて生成された複数の質問のうち、前記判定することにおいて前記回答が複数存在すると判定された質問を出力することと、を含む質問生成方法。
【0139】
(付記9a)
前記判定することでは、前記生成することにおいて生成された複数の質問のそれぞれについて、当該質問および他の質問が類似する度合いを示す類似度に基づいて、回答が複数存在するか否かを判定する、付記9に記載の質問生成方法。
【0140】
(付記10)
コンピュータを質問生成装置として機能させるプログラムであって、前記コンピュータを、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得手段と、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定手段と、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、として機能させるプログラム。
【0141】
(付記10a)
前記曖昧性判定手段は、前記質問生成手段が生成した複数の質問のそれぞれについて、当該質問および他の質問が類似する度合いを示す類似度に基づいて、回答が複数存在するか否かを判定する、付記10に記載のプログラム。
【0142】
(付記11)
前記質問生成手段は、文章データベースに記憶された文章のうち、前記複数の文字列のそれぞれを含む文章を、前記複数の文字列に関連付けられた文章として参照する、付記1~5に記載の質問生成装置。
【0143】
(付記12)
質問生成装置が、少なくとも1つの文章を取得することと、前記少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成することと、前記質問を生成することにおいて生成された複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定することと、前記生成することにおいて生成された複数の質問のうち、前記判定することにおいて前記回答が複数存在すると判定された質問を出力する出力手段と、を含む質問生成方法。
【0144】
(付記13)
コンピュータを質問生成装置として機能させるプログラムであって、前記コンピュータを、少なくとも1つの文章を取得する取得手段と、前記少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成手段と、前記質問生成手段が生成した複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する曖昧性判定手段と、前記質問生成手段が生成した複数の質問のうち、前記曖昧性判定手段によって前記回答が複数存在すると判定された質問を出力する出力手段と、として機能させるプログラム。
【0145】
(付記14)
少なくとも1つのプロセッサを備える質問生成装置であって、前記プロセッサは、質問の回答となり得る複数の文字列および当該複数の文字列のそれぞれに関連付けられた文章を取得する取得処理と、前記文章を参照して、前記複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成処理と、前記質問生成処理において生成された複数の質問のそれぞれについて、回答が複数存在するか否かを判定する曖昧性判定処理と、前記質問生成処理において生成された複数の質問のうち、前記曖昧性判定処理において前記回答が複数存在すると判定された質問を出力する出力処理と、を実行する質問生成装置。
【0146】
なお、この質問生成装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記質問生成処理と、前記曖昧性判定処理と、前記出力処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【0147】
(付記15)
少なくとも1つのプロセッサを備える質問生成装置であって、前記プロセッサは、少なくとも1つの文章を取得する取得処理と、前記少なくとも1つの文章から抽出された、質問の回答となり得る複数の文字列のそれぞれについて、当該文字列が回答となる質問を生成する質問生成処理と、前記質問生成処理において生成された複数の質問のそれぞれについて、回答が複数存在するか否かを、当該質問および他の質問の間において類似する度合いを示す類似度に基づいて判定する曖昧性判定処理と、前記質問生成処理において生成された複数の質問のうち、前記曖昧性判定処理において前記回答が複数存在すると判定された質問を出力する出力処理と、を実行する質問生成装置。
【0148】
なお、この質問生成装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記質問生成処理と、前記曖昧性判定処理と、前記出力処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0149】
1、2、3 質問生成装置
11、21、31 取得部
12、22、32 質問生成部
13、23、33 曖昧性判定部
14、24、34 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9