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

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

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

特開2024-80175質問生成装置、質問生成方法、およびプログラム
<>
  • 特開-質問生成装置、質問生成方法、およびプログラム 図1
  • 特開-質問生成装置、質問生成方法、およびプログラム 図2
  • 特開-質問生成装置、質問生成方法、およびプログラム 図3
  • 特開-質問生成装置、質問生成方法、およびプログラム 図4
  • 特開-質問生成装置、質問生成方法、およびプログラム 図5
  • 特開-質問生成装置、質問生成方法、およびプログラム 図6
  • 特開-質問生成装置、質問生成方法、およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024080175
(43)【公開日】2024-06-13
(54)【発明の名称】質問生成装置、質問生成方法、およびプログラム
(51)【国際特許分類】
   G06F 40/56 20200101AFI20240606BHJP
   G06F 16/90 20190101ALI20240606BHJP
【FI】
G06F40/56
G06F16/90 100
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022193135
(22)【出願日】2022-12-01
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】秋元 康佑
(72)【発明者】
【氏名】竹岡 邦紘
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091CA21
5B091EA01
5B175DA01
5B175EA01
5B175HB03
(57)【要約】
【課題】曖昧性を軽減した質問を精度よく生成する。
【解決手段】質問生成装置(1)は、複数の回答が存在する第1質問を取得する取得部(11)と、複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成部(12)と、回答がいくつ存在するかを検証する曖昧性検証部(13)と、検証結果に基づき、第1質問よりも回答の数が少ない第2質問を出力する出力部(14)と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の回答が存在する第1質問を取得する取得手段と、
前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成手段と、
複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証手段と、
前記曖昧性検証手段による検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力手段と、
を備える質問生成装置。
【請求項2】
前記曖昧性検証手段は、複数の前記第2質問のそれぞれについて、当該第2質問および他の前記第2質問が類似する度合いを示す類似度に基づいて、回答がいくつ存在するかを検証する、
請求項1に記載の質問生成装置。
【請求項3】
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルに、前記第1質問に対する複数の回答のうち少なくとも何れかの回答および当該回答に関連付けられた文章を入力することによって、前記第2質問を生成する、
請求項1または2に記載の質問生成装置。
【請求項4】
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルであって、出力する質問を構成するトークンの並びの予測確率を示す中間情報を生成する質問生成モデルによって生成された第1中間情報および第2中間情報を参照することによって、前記第2質問を生成し、
前記第1中間情報は、前記質問生成モデルに、前記第1質問に対する複数の回答のうち第1回答および当該第1回答に関連付けられた文章を入力することにより生成され、
前記第2中間情報は、前記質問生成モデルに、前記第1質問に対する複数の回答のうち前記第1回答とは異なる第2回答および当該第2回答に関連付けられた文章を入力することにより生成される、
請求項1または2に記載の質問生成装置。
【請求項5】
前記曖昧性検証手段は、複数の前記第2質問のそれぞれについて、当該第2質問を構成するトークンの並びが他の前記第2質問と類似する度合いを類似度として、回答がいくつ存在するかを検証する、
請求項2に記載の質問生成装置。
【請求項6】
前記質問生成手段は、前記複数の回答のそれぞれについて前記第2質問を生成する際に、当該第2質問が当該回答に対する質問として適切であるかの度合いを示す適切度を算出し、
前記曖昧性検証手段は、複数の前記第2質問のそれぞれについて、当該第2質問および他の前記第2質問の類似度が閾値以上であった場合、当該第2質問および当該他の前記第2質問のそれぞれの適切度が閾値以上であるか否かに基づいて、回答がいくつ存在するかを検証する、
請求項2に記載の質問生成装置。
【請求項7】
質問生成装置が、
複数の回答が存在する第1質問を取得することと、
前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成することと、
複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証することと、
前記検証することにおける検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力することと、
を含む質問生成方法。
【請求項8】
コンピュータを質問生成装置として機能させるプログラムであって、
前記コンピュータを、
複数の回答が存在する第1質問を取得する取得手段と、
前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成手段と、
複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証手段と、
前記曖昧性検証手段による検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、質問生成装置、質問生成方法、およびプログラムに関する。
【背景技術】
【0002】
質問の曖昧性を軽減するための技術が提案されている。質問の曖昧性とは、質問に対して複数の回答が存在することを示している。例えば、特許文献1には、質問の一部を欠損させた欠損質問とその回答を含む文章を入力すると当該質問が出力されるよう、質問生成モデルを学習させる技術が開示されている。当該質問生成モデルは、回答が複数存在する質問が入力されると、回答を絞り込むために不足する情報を追加した質問を出力する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2019/235103号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の質問生成モデルでは、入力された質問に対して回答を絞り込むために不足する情報を追加する以外の手法によって曖昧性を軽減することができない。例えば、質問の曖昧性は、情報を追加するだけでなく、一部の情報の置換、削除等によっても軽減できる可能性がある。例えば、映画と書籍で公開されている作品Aについて、「作品Aが公開されたのはいつか」という曖昧な質問に対して、特許文献1に記載の質問生成装置は、質問における「公開」を「出版」または「上映開始」に変更する処理はできない。
【0005】
このように、特許文献1に記載の質問生成装置は、曖昧性を軽減した質問を精度よく生成できない場合がある、という問題がある。
【0006】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、曖昧性を軽減した質問を精度よく生成する技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の一態様に係る質問生成装置は、複数の回答が存在する第1質問を取得する取得手段と、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成手段と、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証手段と、前記曖昧性検証手段による検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力手段と、を備える。
【0008】
本発明の一態様に係る質問生成方法は、質問生成装置が、複数の回答が存在する第1質問を取得することと、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成することと、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証することと、前記検証することにおける検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力することと、を含む。
【0009】
本発明の一態様に係るプログラムは、コンピュータを質問生成装置として機能させるプログラムであって、前記コンピュータを、複数の回答が存在する第1質問を取得する取得手段と、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成手段と、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証手段と、前記曖昧性検証手段による検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力手段と、として機能させる。
【発明の効果】
【0010】
本発明の一態様によれば、曖昧性を軽減した質問を精度よく生成することができる。
【図面の簡単な説明】
【0011】
図1】本発明の例示的実施形態1に係る質問生成装置の構成を示すブロック図である。
図2】本発明の例示的実施形態1に係る質問生成方法の流れを示すフロー図である。
図3】本発明の例示的実施形態2に係る質問生成装置の構成を示すブロック図である。
図4】本発明の例示的実施形態2に係る質問生成部が実行する処理の例を示す図である。
図5】本発明の例示的実施形態2に係る曖昧性検証部が実行する処理の一例を示す図である。
図6】本発明の例示的実施形態2に係る出力部が実行する処理の一例を示す図である。
図7】本発明の各例示的実施形態に係る質問生成装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0012】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0013】
(質問生成装置1の構成)
本例示的実施形態に係る質問生成装置1の構成について、図1を参照して説明する。図1は、本例示的実施形態に係る質問生成装置1の構成を示すブロック図である。
【0014】
本例示的実施形態に係る質問生成装置1は、複数の回答が存在する第1質問を取得し、第1質問よりも回答の数が少ない第2質問を出力する装置である。以下では、質問に対して複数の回答が存在することを、質問が曖昧性を有するとも表現する。
【0015】
本例示的実施形態に係る質問生成装置1は、図1に示すように、取得部11、質問生成部12、曖昧性検証部13、および出力部14を備えている。取得部11、質問生成部12、曖昧性検証部13、および出力部14は、それぞれ本例示的実施形態において、取得手段、質問生成手段、曖昧性検証手段、および出力手段を実現する構成である。
【0016】
取得部11は、複数の回答が存在する第1質問を取得する。取得部11は、取得した第1質問を質問生成部12に供給する。
【0017】
質問生成部12は、複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する。質問生成部12は、生成した複数の第2質問を曖昧性検証部13に供給する。
【0018】
曖昧性検証部13は、複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証する。曖昧性検証部13は、検証結果を出力部14に供給する。
【0019】
出力部14は、曖昧性検証部13による検証結果に基づき、複数の第2質問のうち、第1質問よりも回答の数が少ない第2質問を出力する。
【0020】
以上のように、本例示的実施形態に係る質問生成装置1においては、複数の回答が存在する第1質問を取得する取得部11と、複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成部12と、複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証部13と、曖昧性検証部13による検証結果に基づき、複数の第2質問のうち、第1質問よりも回答の数が少ない第2質問を出力する出力部14と、を備える構成が採用されている。
【0021】
したがって、本例示的実施形態に係る質問生成装置1によれば、取得した第1質問よりも回答の数が少ない第2質問を出力するので、曖昧性を軽減した質問を精度よく生成することができるという効果が得られる。
【0022】
(質問生成方法S1の流れ)
本例示的実施形態に係る質問生成方法S1の流れについて、図2を参照して説明する。図2は、本例示的実施形態に係る質問生成方法S1の流れを示すフロー図である。
【0023】
(ステップS11)
ステップS11において、取得部11は、複数の回答が存在する第1質問を取得する。取得部11は、取得した第1質問を質問生成部12に供給する。
【0024】
(ステップS12)
ステップS12において、質問生成部12は、複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する。質問生成部12は、生成した複数の第2質問を曖昧性検証部13に供給する。
【0025】
(ステップS13)
ステップS13において、曖昧性検証部13は、複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証する。曖昧性検証部13は、検証結果を出力部14に供給する。
【0026】
(ステップS14)
ステップS14において、出力部14は、曖昧性検証部13による検証結果に基づき、複数の第2質問のうち、第1質問よりも回答の数が少ない第2質問を出力する。
【0027】
以上のように、本例示的実施形態に係る質問生成方法S1においては、取得部11が複数の回答が存在する第1質問を取得するステップS11と、質問生成部12が複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成するステップS12と、曖昧性検証部13が複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証するステップS13と、出力部14が曖昧性検証部13による検証結果に基づき、複数の第2質問のうち、第1質問よりも回答の数が少ない第2質問を出力するステップS14と、を含む構成が採用されている。このため、本例示的実施形態に係る質問生成方法S1によれば、上述した質問生成装置1と同様の効果を奏する。
【0028】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0029】
(質問生成装置3の構成)
本例示的実施形態に係る質問生成装置3の構成について、図3を参照して説明する。図3は、本例示的実施形態に係る質問生成装置3の構成を示すブロック図である。
【0030】
本例示的実施形態に係る質問生成装置3は、複数の回答が存在する第1質問を取得し、第1質問よりも回答の数が少ない第2質問を出力する装置である。換言すると、質問生成装置3は、第1質問よりも曖昧性が軽減された第2質問を出力する。
【0031】
本例示的実施形態に係る質問生成装置3は、図3に示すように、制御部30、通信部35、および記憶部36を備えている。
【0032】
通信部35は、データを送受信するインターフェースである。通信部35が受信するデータの一例として、第1質問が挙げられる。また、通信部35が送信するデータの一例として、第2質問が挙げられる。
【0033】
また、質問生成装置3は、通信部35に替えて、または通信部35に加えて、データの入力を受け付けるインターフェースであるデータ入力部、およびデータを出力するインターフェースであるデータ出力部を備える構成であってもよい。
【0034】
記憶部36には、制御部30が参照するデータが格納される。記憶部36に格納されるデータの例として、第1質問、第1質問に対する複数の回答、第2質問、および後述する検証結果が挙げられる。
【0035】
(制御部30)
制御部30は、質問生成装置3が備える各構成要素を制御する。また、制御部30は、図3に示すように、取得部11、質問生成部12、曖昧性検証部13、および出力部14を備えている。取得部11、質問生成部12、曖昧性検証部13、および出力部14は、それぞれ本例示的実施形態において、取得手段、質問生成手段、曖昧性検証手段、および出力手段を実現する構成である。
【0036】
取得部11は、通信部35を介してデータを取得する。一例として、取得部11は、通信部35を介して複数の回答が存在する第1質問を取得する。また、取得部11は、通信部35を介して、第1質問に対する複数の回答を取得する構成であってもよい。取得部11は、取得した第1質問を記憶部36に格納する。
【0037】
質問生成部12は、文字列が回答となる質問を生成する。一例として、質問生成部12は、記憶部36に格納されている第1質問に対する複数の回答のそれぞれについて、当該回答が示す文字列が回答となる第2質問を生成する。質問生成部12が実行する処理の例について、後述する。
【0038】
曖昧性検証部13は、質問に対して回答がいくつ存在するかを検証する。一例として、曖昧性検証部13は、記憶部36に格納されている複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証する。曖昧性検証部13は、回答がいくつ存在するかを示す検証結果を記憶部36に格納する。曖昧性検証部13が実行する処理の例について、後述する。
【0039】
出力部14は、通信部35を介してデータを出力する。一例として、出力部14は、記憶部36に格納されている検証結果に基づき、複数の第2質問のうち、第1質問よりも回答の数が少ない第2質問を、通信部35を介して出力する。出力部14が実行する処理の例について、後述する。
【0040】
(質問生成方法S2)
質問生成装置3が実行する質問生成方法S2は、上述した質問生成方法S1と同じであるため、再び図2を参照して説明する。
【0041】
(ステップS11)
ステップS11において、取得部11は、複数の回答が存在する第1質問を取得する。取得部11は、取得した第1質問を記憶部36に格納する。
【0042】
(ステップS12)
ステップS12において、質問生成部12は、記憶部36に格納されている第1質問を取得し、第1質問に対する複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する。質問生成部12は、生成した第2質問を記憶部36に格納する。
【0043】
ステップS12において、質問生成部12はまず、第1質問に対する複数の回答を取得する。質問生成部12が第1質問に対する複数の回答を取得する方法の一例として、取得部11を介して、ユーザから第1質問に対する複数の回答を取得する方法が挙げられる。
【0044】
質問生成部12が第1質問に対する複数の回答を取得する方法の一例として、質問を入力として、当該質問の回答を出力する既知の質問応答モデルを用いる方法が挙げられる。この場合、質問生成部12は、質問応答モデルに第1質問を入力し、第1質問に対する複数の回答を取得する。
【0045】
また、質問応答モデルが、質問に対する回答として適切であるかの度合いを示す適切度を出力する場合、質問生成部12は、適切度が閾値以上の複数の回答、または、適切度が高い順に所定の数の回答を、第1質問に対する複数の回答としてもよい。
【0046】
(質問生成部12が第2質問を生成する処理例1)
次に、質問生成部12が第2質問を生成する方法の一例として、1の文字列を入力として、当該文字列を回答とする質問を生成する質問生成モデルMを用いる方法が挙げられる。この場合、質問生成部12は、第1質問に対する複数の回答の何れかを、質問生成モデルMに入力する。そして、質問生成部12は、質問生成モデルMから出力された質問を、第2質問として生成する。
【0047】
質問生成モデルMの例として、T5(Text-to-Text Transfer Transformer)、BART(Bidirectional Auto-Regressive Transformer)、およびGPT(Generative Pre-trained Transformer)が挙げられる。
【0048】
(質問生成部12が第2質問を生成する処理例2)
質問生成部12は、第2質問を生成する方法の他の例として、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルMに、第1質問に対する複数の回答のうち少なくとも何れかの回答および当該回答に関連付けられた文章を入力することによって、第2質問を生成してもよい。
【0049】
質問生成部12は、質問生成モデルMに入力する文章を、取得部11を介してユーザから取得してもよい。
【0050】
また、質問生成部12は、アクセス可能なネットワーク上の任意のサーバに格納されている文章を、質問生成モデルMに入力する文章として取得してもよい。一例として、質問生成部12は、アクセス可能なネットワーク上の任意のサーバに格納されている文章のうち、回答となる文字列を含む文章を、質問生成モデルMに入力する文章として取得してもよい。さらに、質問生成部12は、質問の回答となり得る文字列が主語となっている文章を、質問生成モデルMに入力する文章として取得してもよい。
【0051】
また、質問生成部12は、アクセス可能なネットワーク上の任意のサーバから、回答と同じカテゴリに属する記事を、質問生成モデルMに入力する文章として取得してもよい。
【0052】
また、質問生成部12は、回答が含まれている文章において、当該回答に対して他の文章にアクセスするよう設定されている場合、当該他の文章を、質問生成モデルMに入力する文章として取得してもよい。
【0053】
このように、質問生成部12は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルMを用いて、第2質問を生成する。そのため、質問生成部12は、第1の質問の回答を示す文字列が回答となる第2質問を精度よく生成することができる。
【0054】
(質問生成部12が第2質問を生成する処理例3)
質問生成部12は、質問生成モデルMによって生成された、出力する質問を構成するトークンの並びの予測確率を示す中間情報を参照して、第2質問を生成してもよい。当該構成について、図4を参照して説明する。図4は本例示的実施形態に係る質問生成部12が実行する処理の例を示す図である。
【0055】
図4の上側に示すように、質問生成部12は、回答A1および回答A1に関連付けられた文章P1を、質問生成モデルMに入力する。質問生成モデルMからは、以下の式(1)を用いて算出された中間情報であって、質問文のトークン(単語)をw_1,w_2,・・・,w_nとした場合に、次のトークンを予測する確率分布p1が出力される。
p1=p(w_t|P1,A1,w_1,w_2,・・・,w_{t-1},Θ) ・・・(1)
ここで、Θは、質問生成モデルMのパラメータである。
【0056】
質問生成部12は、質問生成モデルMから出力される確率分布p1を参照し、次のトークンとして出現する確率が高いトークンを選択する処理を再帰的に繰り返すことにより、第2質問Q1を作成する。
【0057】
同様に、図4の上から2番目に示すように、質問生成部12は、回答A2および文章P2を、質問生成モデルMに入力する。質問生成モデルMからは、以下の式(2)を用いて、次のトークンを予測する確率分布p2が出力される。
p2=p(w_t|P2,A2,w_1,w_2,・・・,w_{t-1},Θ) ・・・(2)
質問生成部12は、質問生成モデルMから出力される確率分布p2を参照し、次のトークンとして出現する確率が高いトークンを選択する処理を再帰的に繰り返すことにより、第2質問Q2を作成する。
【0058】
このように、質問生成部12は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルMが生成する中間情報を参照して、第2質問を生成する。そのため、質問生成部12は、第1質問の回答を示す文字列が回答となる第2質問を精度よく生成することができる。
【0059】
(質問生成部12が第2質問を生成する処理例4)
また、質問生成部12は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルMであって、出力する質問を構成するトークンの並びの予測確率を示す中間情報を生成する質問生成モデルMによって生成された第1中間情報および第2中間情報を参照することによって、第2質問を生成してもよい。第1中間情報は、質問生成モデルMに、第1質問に対する複数の回答のうち第1回答および当該第1回答に関連付けられた文章を入力することにより生成される。また、第2中間情報は、質問生成モデルMに、第1質問に対する複数の回答のうち第1回答とは異なる第2回答および当該第2回答に関連付けられた文章を入力することにより生成される。当該構成について、再び図4を参照して説明する。
【0060】
図4の下側に示すように、質問生成部12は、第1回答A3および第1回答A3に関連付けられた文章P3を、質問生成モデルMに入力する。質問生成モデルMからは、以下の式(3)を用いて算出された第1中間情報であって、質問文のトークンをw_1,w_2,・・・,w_nとした場合に、次のトークンを予測する確率分布p3が出力される。
p3=p(w_t|P3,A3,w_1,w_2,・・・,w_{t-1},Θ) ・・・(3)
同様に、質問生成部12は、第1回答A3とは異なる第2回答A4および第2回答A4に関連付けられた文章P4を、質問生成モデルMに入力する。質問生成モデルMからは、以下の式(4)を用いて算出された第2中間情報であって、質問文のトークンをw_1,w_2,・・・,w_nとした場合に、次のトークンを予測する確率分布p4が出力される。
p4=p(w_t|P4,A4,w_1,w_2,・・・,w_{t-1},Θ) ・・・(4)
次に、質問生成部12は、第1中間情報および第2中間情報を参照し、曖昧性が軽減された第2質問Q3を生成する。一例として、質問生成部12は、回答A_iに注目する場合、トークンw_tについて、確率分布p(w_t|P_i,A_i,w_1・・・)が大きく、異なる回答A_jに関する確率分布p(w_t|P_j,A_j,w_1・・・)が小さくなるトークンw_tを選択する処理を再帰的に繰り返すことにより、第2質問Q3を作成する。
【0061】
具体的には、質問生成部12はまず、トークンw_tについて、第1回答A_iおよび回答A_iに関連付けられた文章P_iにおいて、次のトークンを予測する確率分布p(w_t|P_i,A_i,w_1・・・)を取得する。例えば、上述した第1回答A3および回答A3に関連付けられた文章P3の場合、質問生成部12は第1中間情報である確率分布p3を取得する。
【0062】
次に質問生成部12は、質問生成モデルMが出力できるトークンの集合中のトークンw_tのそれぞれについて、第一回答A_iとは異なる第二回答A_j、および回答A_jに関連付けられた文章P_jを質問生成モデルMに入力する。次に、質問生成部12は、トークンw_tのそれぞれについて、トークンw_tが生成される確率p(w_t|P_j, A_j, w_1・・・)を取得する。
【0063】
続いて、質問生成部12は、以下の式(5)を用いて、トークンw_tが第一回答A_iのみについて生成されやすい程度を示す値であるs(w_t)を算出する。
【0064】
【数1】
【0065】
そして、質問生成部12は、以下の式(6)を用いて、回答A_iに注目した場合、トークンw_t_1の次に出現する確率が高いトークンを選択する処理を再帰的に繰り返すことにより、第2質問Q3を作成する。
【0066】
【数2】
【0067】
ここで、Vは質問生成モデルMが出力できるトークンの集合である。
【0068】
このように、質問生成部12は、出力する質問を構成するトークンの並びの予測確率を示す中間情報を生成する質問生成モデルMによって生成された第1中間情報および第2中間情報を参照することによって、第2質問を生成する。そのため、質問生成部12は、文字列が回答となる質問であって、曖昧性が軽減された質問を精度よく生成することができる。
【0069】
(ステップS13)
ステップS13において、曖昧性検証部13は、複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証する。曖昧性検証部13は、回答がいくつ存在するかを示す検証結果を記憶部36に格納する。曖昧性検証部13が複数の第2質問のそれぞれについて、回答がいくつ存在するかを検証する方法について、図5を参照して説明する。図5は本例示的実施形態に係る曖昧性検証部13が実行する処理の一例を示す図である。
【0070】
(曖昧性検証部13が実行する処理例1)
曖昧性検証部13が実行する処理の一例について、図5を参照して説明する。図5は、本例示的実施形態に係る曖昧性検証部13が実行する処理の例を示す図である。図5は、取得部11が、第1質問「地球にある国はなんですか」を取得し、質問生成部12が、第1質問に対する複数の回答として、回答A1「日本」、回答A2「中国」、および回答A3「カナダ」を取得した場合に、曖昧性検証部13が実行する処理の例を示す図である。
【0071】
曖昧性検証部13は、複数の第2質問のそれぞれについて、当該第2質問および他の第2質問が類似する度合いを示す類似度に基づいて、回答がいくつ存在するかを検証してもよい。一例として、曖昧性検証部13は、質問生成部12が生成した第2質問のそれぞれについて、第2質問を構成するトークンの並びが他の第2質問と類似する度合いを類似度として、回答がいくつ存在するかを検証してもよい。
【0072】
例えば、曖昧性検証部13は、複数の第2質問のうち、トークンの並びが同じ第2質問が存在した場合、トークンの並びが同じ他の第2質問の数に基づき、第2質問の回答の数を示す検証結果を出力する。
【0073】
一例として、図5の上側に示すように、第1質問の回答A1「日本」を質問生成モデルMに入力し、質問生成部12が第2質問Q1「アジアにある国は何ですか」を生成した場合を想定する。
【0074】
同様に、第1質問の回答A2「中国」を質問生成モデルMに入力し、質問生成部12が第2質問Q2「アジアにある国はなんですか」を生成した場合を想定する。
【0075】
同様に、第1質問の回答A3「カナダ」を質問生成モデルMに入力し、質問生成部12が第2質問Q3「北米の国はなんですか」を生成した場合を想定する。
【0076】
この場合、第2質問Q1および第2質問Q3は、トークンの並びが同じである。そのため、曖昧性検証部13は、第2質問Q1「アジアにある国はなんですか」について、回答の数は「日本」および「中国」の2つであることを示す検証結果を出力する。
【0077】
次に、第2質問Q3について、トークンの並びが同じである他の第2質問は生成されていない。そのため、曖昧性検証部13は、第2質問Q3「北米の国はなんですか」について、回答の数は「カナダ」の1つであることを示す検証結果を出力する。
【0078】
このように、第2質問とトークンの並びが同じ他の第2質問が存在した場合、曖昧性検証部13は、当該第2の質問とトークンの並びが同じ他の第2質問の数を参照して、第2質問の回答の数を示す検証結果を出力する。そのため、曖昧性検証部13は、第2質問の曖昧性を好適に検証することができる。
【0079】
(曖昧性検証部13が実行する処理例2)
曖昧性検証部13は、質問生成部12が生成した複数の第2質問のそれぞれについて、当該第2質問を構成するトークンの並びが他の第2質問と類似する度合いを示す類似度を算出する。そして、曖昧性検証部13は、当該類似度が閾値以上の第2質問の数に基づいて、第2質問の回答の数とする検証結果を出力してもよい。類似度を算出する構成の一例として、質問をベクトルに埋め込んだ場合のベクトル間のコサイン類似度を算出する類似度関数simを用いる構成が挙げられる。当該構成について、再び図5を参照して説明する。
【0080】
一例として、図5の真ん中に示すように、第1質問の回答A1「日本」を質問生成モデルMに入力し、質問生成部12が第2質問Q1「アジアにある国は何ですか」を生成した場合を想定する。
【0081】
同様に、第1質問の回答A2「中国」を質問生成モデルMに入力し、質問生成部12が第2質問Q2「アジアにはどんな国がありますか」を生成した場合を想定する。
【0082】
同様に、第1質問の回答A3「カナダ」を質問生成モデルMに入力し、質問生成部12が第2質問Q3「北米の国はなんですか」を生成した場合を想定する。
【0083】
この場合、第2質問Q1および第2質問Q2には、共通する単語「アジア」、「国」が含まれているため、第2質問Q1および第2質問Q2の類似度は閾値以上になる。そのため、曖昧性検証部13は、第2質問Q1「アジアにある国は何ですか」について、回答の数は「日本」および「中国」の2つであることを示す検証結果を出力する。
【0084】
さらに、第2質問Q3について、第2質問Q3と類似する他の第2質問は生成されていない。そのため、曖昧性検証部13は、第2質問Q3「北米の国はなんですか」について、回答の数は「カナダ」の1つであることを示す検証結果を出力する。
【0085】
このように、曖昧性検証部13は、第2質問を構成するトークンの並びが他の第2質問と類似する度合いを示す類似度が閾値以上の他の第2質問の数を参照して、第2質問の回答の数を示す検証結果を出力する。そのため、曖昧性検証部13は、第2質問の曖昧性を好適に検証することができる。
【0086】
(曖昧性検証部13が実行する処理例3)
質問生成部12は、複数の回答のそれぞれについて第2質問を生成する際に、第2質問が回答に対する質問として適切であるかの度合いを示す適切度(以下、「スコア」とも称する)を算出する場合、曖昧性検証部13は、適切度を参照して回答がいくつ存在するかを検証してもよい。より具体的には、曖昧性検証部13は、複数の第2質問のそれぞれについて、当該第2質問および他の第2質問の類似度が閾値以上であった場合、当該第2質問および他の第2質問のそれぞれの適切度が閾値以上であるか否かに基づいて、回答がいくつ存在するかを検証する。以下では一例として、スコアの閾値が「0.7」の場合について説明する。また、当該構成について、再び図5を参照して説明する。
【0087】
一例として、図5の下側に示すように、第1質問の回答A1「日本」を質問生成モデルMに入力し、質問生成部12が第2質問Q1「首都が東京の国はどこですか」を生成し、質問生成モデルMがスコア「0.8」を出力した場合を想定する。
【0088】
同様に、第1質問の回答A2「中国」を質問生成モデルMに入力し、質問生成部12が第2質問Q2「首都が東京の国はどこですか」を生成し、質問生成モデルMがスコア「0.2」を出力した場合を想定する。
【0089】
同様に、第1質問の回答A3「カナダ」を質問生成モデルMに入力し、質問生成部12が第2質問Q3「首都が東京の国はどこですか」を生成し、質問生成モデルMがスコア「0.1」を出力した場合を想定する。
【0090】
この場合、曖昧性検証部13はまず、検証対象の第2質問Q1と、第2質問Q2および第2質問Q3と間の類似度が閾値以上であるか否かを判定する。第2質問Q1と、第2質問Q2、および第2質問Q3とは、トークンの並びが同じであるため、曖昧性検証部13は、第2質問Q1と、第2質問Q2および第2質問Q3との間の類似度は閾値以上であると判定する。
【0091】
次に、曖昧性検証部13は、検証対象の第2質問Q1に対するスコアが、閾値以上であるか否かを判定する。検証対象の第2質問Q1に対するスコアが閾値未満の場合は、曖昧性検証部13は、第2質問Q1が回答に対して不適切であると判定し、以下の処理を実行しない。図5の下側に示す例では、第2質問Q1に対するスコアは「0.8」であるため、曖昧性検証部13は、第2質問Q1のスコアは閾値以上であると判定する。
【0092】
続いて、曖昧性検証部13は、検証対象の第2質問Q1と類似する第2質問であって、スコアが閾値以上の第2質問の数を算出する。図5の下側に示す例では、第2質問Q1に類似する第2質問Q2および第2質問Q3に対してのスコアは、それぞれ「0.2」および「0.1」であり、閾値「0.7」未満である。そのため、曖昧性検証部13は、第2質問Q1と類似する第2質問であって、スコアが閾値以上の第2質問の数は0であると算出する。
【0093】
そして、曖昧性検証部13は、第2質問Q1に対する回答の数を示す検証結果を出力する。図5の下側に示す例では、第2質問Q1と類似する第2質問であって、スコアが閾値以上の第2質問の数は0であったため、曖昧性検証部13は、第2質問Q1に対する回答の数は1であることを示す検証結果を出力する。
【0094】
このように、トークンの並びが他の第2質問と類似する第2質問が存在した場合、曖昧性検証部13は、他の第2質問および第2質問が、それぞれ回答に対する質問として適切であるかの度合いを示す適切度が閾値以上であるか否かを判定する。そして、曖昧性検証部13は、適切度が閾値以上の第2質問の数に基づいて、第2質問の回答の数を示す検証結果を出力する。そのため、曖昧性検証部13は、他の第2質問と類似する第2質問が存在した場合、他の第2質問が質問として不適切な場合は、他の第2質問の回答は、第2質問の回答であると判定しない。したがって、曖昧性検証部13は、第2質問の曖昧性を好適に検証することができる。
【0095】
(ステップS14)
ステップS14において、出力部14は、曖昧性検証部13による検証結果に基づき、複数の第2質問のうち、第1質問よりも回答の数が少ない第2質問を出力する。出力部14が実行する処理の例を以下に記載する。
【0096】
(出力部14が実行する処理の例1)
出力部14が実行する処理の一例について、再び図5を参照して説明する。
【0097】
上述したように、図5に示す例では、第1質問に対する複数の回答は、回答A1「日本」、回答A2「中国」、および回答A3「カナダ」の3つである。そのため、出力部14は、曖昧性検証部13によって回答の数が3つ未満であると判定された第2質問を出力する。
【0098】
図5の上側に示す例では、第2質問Q1に対する回答の数は2つであるため、出力部14は、第2質問Q1を出力する。また、第2質問Q3に対する回答の数も1つであるため、出力部14は、第2質問Q3も出力する。
【0099】
他の例として、図5の真ん中に示す例では、第2質問Q1に対する回答の数は2つである。そのため、出力部14は、第2質問Q1を出力する。また、第2質問Q3に対する回答の数も1つであるため、出力部14は、第2質問Q3も出力する。
【0100】
さらに他の例として、図5の下側に示す例では、第2質問Q1に対する回答の数は1つであるため、出力部14は、第2質問Q1を出力する。
【0101】
このように、出力部14は、第1質問よりも回答の数が少ない第2質問を出力する。そのため、出力部14は、曖昧性が軽減された第2質問を出力することができる。
【0102】
(出力部14が実行する処理の例2)
出力部14が実行する処理の他の例について、図6を参照して説明する。図6は、本例示的実施形態に係る出力部14が実行する処理の一例を示す図である。
【0103】
図6の上側に示す例では、質問生成部12によって、第2質問Q1「地球にある国はなんですか」、第2質問Q2「地球にある国はなんですか」、および第2質問Q3「地球にある国はなんですか」が生成されている。第2質問Q1、第2質問Q2、および第2質問Q3はトークンの並びが同じであるため、曖昧性検証部13は、第2質問Q1について、回答の数が「日本」、「中国」、および「カナダ」の3つであることを示す検証結果を出力する。出力部14は、検証結果を参照し、第2質問Q1について、回答の数が第1質問の回答の数と同じであると判定し、第2質問Q1を出力しない。
【0104】
このように、出力部14は、第1質問と回答の数が同じ第2質問を出力しない。そのため、出力部14は、曖昧性が軽減された第2質問のみを出力することができる。
【0105】
(出力部14が実行する処理の例3)
出力部14は、回答の数が1つの第2質問のみを出力する構成であってもよい。当該構成について、再び図6を参照して説明する。
【0106】
図6の下側に示す例では、質問生成部12によって、第2質問Q1「アジアにある国はなんですか」、第2質問Q2「アジアにはどんな国がありますか」、および第2質問Q3「北米の国はなんですか」が生成されている。第2質問Q1および第2質問Q2については、共通する単語「アジア」、「国」が含まれているため、第2質問Q1および第2質問Q2の類似度は閾値以上になる。そのため、曖昧性検証部13は、第2質問Q1「アジアにある国はなんですか」について、回答の数は「日本」および「中国」の2つであることを示す検証結果を出力する。
【0107】
一方、第2質問Q3については、類似する他の第2質問は生成されていない。そのため、曖昧性検証部13は、第2質問Q3「北米の国はなんですか」について、回答の数は「カナダ」の1つであることを示す検証結果を出力する。
【0108】
出力部14は、検証結果を参照し、第2質問Q1について、回答の数が1つではないと判定し、第2質問Q1を出力しない。一方、出力部14は、検証結果を参照し、第2質問Q3について、回答の数が1つであると判定し、第2質問Q3を出力する。
【0109】
上述した特許文献1に記載の技術では、上述したように、回答を絞り込むために不足する情報を追加した質問を出力する。しかしながら、欠損した情報を追加したとしても、必ずしも曖昧性が解消される(質問の回答が1つになる)とは限らない。例えば、特許文献1に記載の技術を用いて、「アジアにある国はなんですか」に対して、「アジアの東部にある国はなんですか」という質問を生成したとしても、質問の曖昧性は解消されない。
【0110】
一方、出力部14は、回答の数が1つの第2質問のみを出力する。そのため、出力部14は、曖昧性が解消された第2質問を出力することができる。
【0111】
(変形例1)
出力部14は、出力する第2質問が複数存在する場合、第1質問との類似度が高い第2質問を優先して出力する構成であってもよい。類似度の算出方法については、上述した通りである。一方、出力部14は、出力する第2質問が複数存在する場合、第1質問との類似度が低い第2質問を優先して出力する構成であってもよい。
【0112】
(変形例2)
曖昧性検証部13は、質問生成部12が質問を生成する際に参照した文章の類似度を算出し、類似度が高い文章を参照して生成された第2質問について、回答の数を検証してもよい。例えば、図4に示す例において、文章P1と文章P2との類似度が高い場合、曖昧性検証部13は、第2質問Q1および第2質問Q2について、回答の数を検証してもよい。当該構成により、曖昧性検証部13が実行する処理量を減らすことができる。
【0113】
〔ソフトウェアによる実現例〕
質問生成装置1、3の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0114】
後者の場合、質問生成装置1、3は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図7に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを質問生成装置1、3として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、質問生成装置1、3の各機能が実現される。
【0115】
プロセッサ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)、又は、これらの組み合わせなどを用いることができる。
【0116】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インターフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インターフェースを更に備えていてもよい。
【0117】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0118】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0119】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0120】
(付記1)
複数の回答が存在する第1質問を取得する取得手段と、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成手段と、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証手段と、前記曖昧性検証手段による検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力手段と、を備える質問生成装置。
【0121】
(付記2)
前記曖昧性検証手段は、複数の前記第2質問のそれぞれについて、当該第2質問および他の前記第2質問が類似する度合いを示す類似度に基づいて、回答がいくつ存在するかを検証する、付記1に記載の質問生成装置。
【0122】
(付記3)
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルに、前記第1質問に対する複数の回答のうち少なくとも何れかの回答および当該回答に関連付けられた文章を入力することによって、前記第2質問を生成する、付記1または2に記載の質問生成装置。
【0123】
(付記4)
前記質問生成手段は、1の文字列および1の文章を入力として、当該1の文字列が回答となる1の質問を出力するように学習済の質問生成モデルであって、出力する質問を構成するトークンの並びの予測確率を示す中間情報を生成する質問生成モデルによって生成された第1中間情報および第2中間情報を参照することによって、前記第2質問を生成し、前記第1中間情報は、前記質問生成モデルに、前記第1質問に対する複数の回答のうち第1回答および当該第1回答に関連付けられた文章を入力することにより生成され、前記第2中間情報は、前記質問生成モデルに、前記第1質問に対する複数の回答のうち前記第1回答とは異なる第2回答および当該第2回答に関連付けられた文章を入力することにより生成される、付記1または2に記載の質問生成装置。
【0124】
(付記5)
前記曖昧性検証手段は、複数の前記第2質問のそれぞれについて、当該第2質問を構成するトークンの並びが他の前記第2質問と類似する度合いを類似度として、回答がいくつ存在するかを検証する、付記2に記載の質問生成装置。
【0125】
(付記6)
前記質問生成手段は、前記複数の回答のそれぞれについて前記第2質問を生成する際に、当該第2質問が当該回答に対する質問として適切であるかの度合いを示す適切度を算出し、前記曖昧性検証手段は、複数の前記第2質問のそれぞれについて、当該第2質問および他の前記第2質問の類似度が閾値以上であった場合、当該第2質問および当該他の前記第2質問のそれぞれの適切度が閾値以上であるか否かに基づいて、回答がいくつ存在するかを検証する、付記2に記載の質問生成装置。
【0126】
(付記7)
質問生成装置が、複数の回答が存在する第1質問を取得することと、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成することと、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証することと、前記検証することにおける検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力することと、を含む質問生成方法。
【0127】
(付記7a)
前記検証することにおいて、複数の前記第2質問のそれぞれについて、当該第2質問および他の前記第2質問が類似する度合いを示す類似度に基づいて、回答がいくつ存在するかを検証する、付記7に記載の質問生成方法。
【0128】
(付記8)
コンピュータを質問生成装置として機能させるプログラムであって、前記コンピュータを、複数の回答が存在する第1質問を取得する取得手段と、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成手段と、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証手段と、前記曖昧性検証手段による検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力手段と、として機能させるプログラム。
【0129】
(付記8a)
前記曖昧性判定手段は、複数の前記第2質問のそれぞれについて、当該第2質問および他の前記第2質問が類似する度合いを示す類似度に基づいて、回答がいくつ存在するかを検証する、付記8に記載のプログラム。
【0130】
(付記9)
少なくとも1つのプロセッサを備え、前記プロセッサは、複数の回答が存在する第1質問を取得する取得処理と、前記複数の回答のそれぞれについて、当該回答を示す文字列が回答となる第2質問を生成する質問生成処理と、複数の前記第2質問のそれぞれについて、回答がいくつ存在するかを検証する曖昧性検証処理と、前記曖昧性検証処理における検証結果に基づき、複数の前記第2質問のうち、前記第1質問よりも回答の数が少ない第2質問を出力する出力処理とを実行する質問生成装置。
【0131】
なお、この質問生成装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記質問生成処理と、前記曖昧性検証処理、前記出力処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0132】
1、3 質問生成装置
11 取得部
12 質問生成部
13 曖昧性検証部
14 出力部
図1
図2
図3
図4
図5
図6
図7