(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179166
(43)【公開日】2024-12-26
(54)【発明の名称】生成装置、生成方法および生成プログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241219BHJP
【FI】
G06F16/90 100
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023097784
(22)【出願日】2023-06-14
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】高島 悠樹
(72)【発明者】
【氏名】堀口 翔太
(72)【発明者】
【氏名】本間 健
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
(57)【要約】 (修正有)
【課題】質問に対する回答の正答率の向上を図るための生成装置、生成方法及び生成プログラムを提供する。
【解決手段】生成装置による応答決定処理方法は、質問に対する回答の根拠となる文書内の回答範囲と当該回答範囲の確からしさを示す信頼度とを含む1以上の回答候補を示す回答候補情報を取得し、信頼度が最大の回答範囲を選択するステップS602と、取得した回答候補情報内の回答範囲の文字に基づく長さである回答長が所定の回答長以上であるか否かを判定する第1判定結果を求めるステップS603と、第1判定結果と、信頼度に基づく指標値がしきい値以上であるか否かを判定する第2判定結果と、に基づいて、回答範囲を出力対象に決定するか否かを判定するステップS604と、決定処理によって決定された出力対象を出力するステップS605と、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する生成装置であって、
前記プロセッサは、
質問に対する回答の根拠となる文書内の回答範囲と当該回答範囲の確からしさを示す信頼度とを含む1以上の回答候補を示す回答候補情報を取得する取得処理と、
前記取得処理によって取得された回答候補情報内の前記回答範囲の文字に基づく長さである回答長が所定の回答長以上であるか否かを判定する第1判定結果と、前記信頼度に基づく指標値がしきい値以上であるか否かを判定する第2判定結果と、に基づいて、前記回答範囲を出力対象に決定する決定処理と、
前記決定処理によって決定された出力対象を出力する出力処理と、
を実行することを特徴とする生成装置。
【請求項2】
請求項1に記載の生成装置であって、
前記指標値は、前記信頼度であり、
前記決定処理では、前記プロセッサは、前記第1判定結果において前記回答長が所定の回答長以上であり、かつ、前記第2判定結果において前記指標値がしきい値以上である場合、前記回答範囲を前記出力対象に決定する、
ことを特徴とする生成装置。
【請求項3】
請求項1に記載の生成装置であって、
前記指標値は、前記回答候補情報内の最大信頼度に対する前記回答範囲の前記信頼度の割合であり、
前記決定処理では、前記プロセッサは、前記第1判定結果において前記回答長が所定の回答長以上であり、かつ、前記第2判定結果において前記指標値がしきい値以上である場合、前記回答範囲を前記出力対象に決定する、
ことを特徴とする生成装置。
【請求項4】
請求項1に記載の生成装置であって、
前記指標値は、前記回答候補情報内の最大信頼度から前記回答範囲の前記信頼度を引いた差分であり、
前記決定処理では、前記プロセッサは、前記第1判定結果において前記回答長が所定の回答長以上であり、かつ、前記第2判定結果において前記指標値がしきい値未満である場合、前記回答範囲を前記出力対象に決定する、
ことを特徴とする生成装置。
【請求項5】
請求項1に記載の生成装置であって、
前記出力処理では、前記プロセッサは、前記回答範囲が前記出力対象に決定されなかった場合、回答不可情報を出力する、
ことを特徴とする生成装置。
【請求項6】
請求項1に記載の生成装置であって、
前記決定処理では、前記プロセッサは、前記文書内の文節に基づいて前記所定の回答長を算出する、
ことを特徴とする生成装置。
【請求項7】
請求項1に記載の生成装置であって、
前記プロセッサは、
前記質問と前記質問に対する正しい回答を示す正解回答とを用いて学習された機械読解モデルに、前記質問および前記文書を入力すると、前記機械読解モデルから前記回答候補情報を出力する機械読解処理、
を実行することを特徴とする生成装置。
【請求項8】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する生成装置であって、
前記プロセッサは、
質問に対する回答の根拠となる文書内の回答範囲と当該回答範囲の確からしさを示す信頼度とを含む1以上の回答候補を示す回答候補情報を前記質問ごとに取得するとともに、前記質問に対する正しい回答を示す正解回答を前記質問ごとに取得する取得処理と、
前記取得処理によって取得された回答候補情報ごとに、前記回答範囲の文字に基づく長さである回答長が所定の回答長以上であるか否かを判定する第1判定結果に基づいて、特定の回答候補を収集する収集処理と、
前記信頼度に基づく指標値のしきい値の範囲を示すしきい値範囲内の複数のしきい値の各々について、前記収集処理によって前記回答候補情報ごとに収集された特定の回答候補の前記信頼度に基づく指標値が前記しきい値以上であるか否かを判定する第2判定結果に基づいて、前記特定の回答候補における特定の回答範囲を出力対象および非出力対象のいずれかに決定する決定処理と、
前記決定処理による前記しきい値ごとの決定結果に基づいて、前記出力対象の件数に対する前記出力対象と前記正解回答との一致数の割合を示す正答率と、前記出力対象の件数および前記非出力対象の件数の和に対する前記出力対象の件数の割合を示す網羅率と、を前記しきい値ごとに算出し、前記しきい値ごとの前記正答率および前記網羅率を示す可視化情報を生成する生成処理と、
前記生成処理によって生成された可視化情報を出力する出力処理と、
を実行することを特徴とする生成装置。
【請求項9】
請求項8に記載の生成装置であって、
前記プロセッサは、
前記可視化情報を出力した結果、前記しきい値の入力を受け付けて、前記記憶デバイスに登録する登録処理、
を実行することを特徴とする生成装置。
【請求項10】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する生成装置が実行する生成方法であって、
前記プロセッサは、
質問に対する回答の根拠となる文書内の回答範囲と当該回答範囲の確からしさを示す信頼度とを含む1以上の回答候補を示す回答候補情報を取得する取得処理と、
前記取得処理によって取得された回答候補情報内の前記回答範囲の文字に基づく長さである回答長が所定の回答長以上であるか否かを判定する第1判定結果と、前記信頼度に基づく指標値がしきい値以上であるか否かを判定する第2判定結果と、に基づいて、前記回答範囲を出力対象に決定する決定処理と、
前記決定処理によって決定された出力対象を出力する出力処理と、
を実行することを特徴とする生成方法。
【請求項11】
プロセッサに、
質問に対する回答の根拠となる文書内の回答範囲と当該回答範囲の確からしさを示す信頼度とを含む1以上の回答候補を示す回答候補情報を取得する取得処理と、
前記取得処理によって取得された回答候補情報内の前記回答範囲の文字に基づく長さである回答長が所定の回答長以上であるか否かを判定する第1判定結果と、前記信頼度に基づく指標値がしきい値以上であるか否かを判定する第2判定結果と、に基づいて、前記回答範囲を出力対象に決定する決定処理と、
前記決定処理によって決定された出力対象を出力する出力処理と、
を実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、質問に対する回答を生成する生成装置、生成方法および生成プログラムに関する。
【背景技術】
【0002】
従来の質問応答システムでは、想定質問とその回答のペアからなる質問応答対が事前登録される。質問応答システムは、ユーザ質問が入力されると登録された質問の中から最も類似した質問を検索しその回答を返す。質問応答システムでは、事前に登録した質問応答対に関する内容の質問にしか応答できず、また質問応答対の作成に人的コストがかかっていた。
【0003】
そこで近年、機械読解が注目されている(たとえば、下記非特許文献1を参照。)。機械読解は、ユーザ質問と文書を入力し、回答の根拠となる範囲を文書から抽出する技術であり、入力する文書を変えることで任意の内容に関する質問に応答する。機械読解に基づく質問応答システムとして、特許文献1と非特許文献2が知られている。
【0004】
特許文献1は、極性で回答することができる質問に対して、精度よく、極性で回答する回答生成装置を開示する。この回答生成装置では、機械読解部が、入力された文章及び質問文に基づいて、当該文章における当該質問文に対する回答の根拠となる範囲を推定するための予め学習された読解モデルを用いて、当該範囲の始端及び終端を推定し、判断部が、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断するための予め学習された判断モデルを用いて、当該質問文に対する回答の極性を判断する。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】Jacob Devlin Ming-Wei Chang Kenton Lee Kristina Toutanova “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” Proceedings of NAACL-HLT 2019, pages 4171-4186 Minneapolis, Minnesota, June 2 - June 7, 2019.
【非特許文献2】Pranav Rajpurkar, et al. “SQuAD: 100,000+ questions for machine comprehension of text,” Proc. of the Conference on Empirical Methods in Natural Language Processing, 2016, pp.2383-2392.
【発明の概要】
【発明が解決しようとする課題】
【0007】
機械読解は、文書中の任意の部分文字列を回答範囲として抽出できるため、0文字からなる文字列(“回答なし”を意味する)や意味が取れない短い文字列(たとえば、句点や主語が抜けているなど文法的に誤りがある文(例:“がない”))を回答範囲として生成しうる。
【0008】
また、機械読解は、回答範囲に対する信頼度も計算するため、複数の回答範囲から信頼度に基づいて最終的な回答範囲を1つ選択する。この時、上述のような極端に短い回答範囲にも高い信頼度が計算されることがある。したがって、信頼度だけに基づいて回答範囲を選択するのは不十分な場合がある。特に、文や段落のような長い回答を想定する場合には、上述のような短い回答範囲は誤りである可能性が高い。
【0009】
上述した特許文献1および非特許文献1の技術は、そのような回答範囲を応答として返さないように後処理を行うことで回答の正答率を高めるという点については、考慮されていない。
【0010】
本発明は、質問に対する回答の正答率の向上を図ることを目的とする。
【課題を解決するための手段】
【0011】
本願において開示される発明の一側面となる生成装置は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する生成装置であって、前記プロセッサは、質問に対する回答の根拠となる文書内の回答範囲と当該回答範囲の確からしさを示す信頼度とを含む1以上の回答候補を示す回答候補情報を取得する取得処理と、前記取得処理によって取得された回答候補情報内の前記回答範囲の文字に基づく長さである回答長が所定の回答長以上であるか否かを判定する第1判定結果と、前記信頼度に基づく指標値がしきい値以上であるか否かを判定する第2判定結果と、に基づいて、前記回答範囲を出力対象に決定する決定処理と、前記決定処理によって決定された出力対象を出力する出力処理と、を実行することを特徴とする。
【発明の効果】
【0012】
本発明の代表的な実施の形態によれば、質問に対する回答の正答率の向上を図ることすることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、生成装置のハードウェア構成例を示すブロック図である。
【
図4】
図4は、実施例1にかかる生成装置の機能的構成例を示すブロック図である。
【
図5】
図5は、回答候補情報の一例を示す説明図である。
【
図6】
図6は、実施例1にかかる決定部による応答決定処理手順例を示すフローチャートである。
【
図7】
図7は、実施例2にかかる生成装置の機能的構成例を示すブロック図である。
【
図8】
図8は、実施例2にかかる決定部による応答決定処理手順例を示すフローチャートである。
【
図9】
図9は、実施例3にかかる生成装置の機能的構成例を示すブロック図である。
【
図10】
図10は、しきい値決定支援処理手順例を示すフローチャートである。
【
図11】
図11は、
図10に示した選択回答候補収集処理(ステップS1001)の詳細な処理手順例を示すフローチャートである。
【
図12】
図12は、
図10に示したグラフ生成処理(ステップS1002)の詳細な処理手順例を示すフローチャートである。
【
図13】
図13は、グラフ生成処理(ステップS602)によって生成されたグラフの一例を示す説明図である。
【発明を実施するための形態】
【実施例0014】
<生成装置のハードウェア構成例>
図1は、生成装置のハードウェア構成例を示すブロック図である。生成装置100は、プロセッサ101と、記憶デバイス102と、入力デバイス103と、出力デバイス104と、通信インターフェース(通信IF)105と、を有する。プロセッサ101、記憶デバイス102、入力デバイス103、出力デバイス104、および通信IF105は、バス106により接続される。プロセッサ101は、生成装置100を制御する。記憶デバイス102は、プロセッサ101の作業エリアとなる。また、記憶デバイス102は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス102としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス103は、データを入力する。入力デバイス103としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナ、マイク、センサがある。出力デバイス104は、データを出力する。出力デバイス104としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF105は、ネットワークと接続し、データを送受信する。
【0015】
<質問>
図2は、質問の一例を示す説明図である。質問200は、生成装置100に入力されるテキストデータである。質問200は、生成装置100と通信可能なコンピュータから受信されてもよい。質問200は、音声として生成装置100に入力され、音声認識により生成装置100内でテキストデータに変換されてもよい。質問200は、記憶デバイス102に保持される。
【0016】
<文書>
図3は、文書の一例を示す説明図である。文書300は、テキストデータで構成される文を含む電子データである。文書300は、文書ファイルでもよく、Webページでもよい。文書300は、生成装置100に入力され、または、生成装置100で作成され、記憶デバイス102に保持される。
【0017】
<生成装置の機能的構成例>
図4は、実施例1にかかる生成装置100の機能的構成例を示すブロック図である。生成装置100は、機械読解部401と、取得部402と、決定部403と、出力部404と、設定情報430と、を有する。機械読解部401、取得部402、決定部403、および出力部404は、具体的には、たとえば、
図1に示した記憶デバイス102に記憶されたプログラムをプロセッサ101に実行させることにより、または、通信IF105により、実現される。設定情報430は、記憶デバイス102に記憶された情報である。なお、機械読解部401は、生成装置100と通信可能な生成装置100外のコンピュータに実装されてもよい。
【0018】
機械読解部401は、質問200と質問200に対する正しい回答である正解回答とを用いて学習された既知の機械読解モデルにより機械読解を実行する。具体的には、機械読解部401は、質問200の回答となる箇所を文書300から特定する。たとえば、機械読解部401は、質問200に対する回答の根拠となる回答範囲の始端および終端を抽出し、回答候補情報410を生成する。
【0019】
[回答候補情報410]
図5は、回答候補情報410の一例を示す説明図である。回答候補情報410は、フィールドとして、順位501と、回答範囲502と、信頼度503と、を有する。同一行の各フィールドの値の組み合わせが、1つの回答候補を示すエントリとなる。
【0020】
順位501は、昇順の番号であり、信頼度503が高いほど順位が上位になる。順位の数、すなわち、エントリ数の上限は、ユーザにより設定可能である。回答範囲502は、質問200に対する回答の根拠を示す。
図5では、文書300内の該当する文字列としたが、当該文字列の先頭文字および末尾文字の位置を、文書300の先頭からの文字数で表現してもよい。
【0021】
信頼度503は、回答候補情報410の全エントリの回答範囲502における、対象となる回答範囲502の確からしさを示す指標値であり、たとえば、尤度である。機械読解部401は、たとえば、非特許文献1により実現される。
【0022】
図4に戻り、決定部403は、設定情報430を用いて、出力対象となる回答範囲502を決定する。設定情報430は、最短回答長431としきい値432とを含む。最短回答長431は、最も短い回答長である。回答長とは、文字に基づく長さであり、たとえば、回答範囲502内の文字列の長さである。なお、回答長は、回答範囲502内の単語数としてもよい。しきい値432は、信頼度503のしきい値である。
【0023】
このように、決定部403は、文字に基づく長さである最短回答長431としきい値432とに基づいて生成装置100が出力する応答内容を決定する。
【0024】
出力部404は、回答内容または回答不可内容を含む応答データ440を出力する。回答内容は、たとえば、回答範囲502で指定された文書300内の文字列である。回答不可内容とは、「わかりません」といった、質問200に対して回答できないことが人間に理解可能な文字列である。以下、回答不可内容を含む応答データ440を回答不可情報と称す。
【0025】
出力部404は、具体的には、たとえば、応答データ440を、出力デバイス104の一例である表示装置に表示したり、出力デバイス104の一例であるスピーカから音声出力したり、通信IF105により、外部のコンピュータに送信したり、記憶デバイス102に格納したりする。
【0026】
<応答決定処理>
図6は、実施例1にかかる決定部403による応答決定処理手順例を示すフローチャートである。決定部403は、未選択の回答範囲502が回答候補情報410にあるか否かを判断する(ステップS601)。未選択の回答範囲502が回答候補情報410にない場合(ステップS601:No)、ステップS606に移行する。未選択の回答範囲502が回答候補情報410にある場合(ステップS601:Yes)、決定部403は、未選択の回答範囲502のうち信頼度503が最大の回答範囲502を回答候補情報410から選択する(ステップS602)。
【0027】
決定部403は、ステップS601の選択回答範囲502が設定情報430内の最短回答長431以上であるか否かを判断する(ステップS603)。選択回答範囲502が最短回答長431以上でない場合(ステップS603:No)、ステップS601に戻る。
【0028】
一方、ステップS602の選択回答範囲502が設定情報430内の最短回答長431以上である場合(ステップS603:Yes)、決定部403は、選択回答範囲502の信頼度503に基づく指標値と、設定情報430内のしきい値432と、に基づいて、選択回答範囲502を出力すべきか否かを判定する(ステップS604)。
【0029】
選択回答範囲502の信頼度503に基づく指標値については、たとえば、下記(1)~(3)のいずれかが採用可能である。
(1) A
(2) A/B
(3) B-A
ただし、選択回答範囲502の信頼度503を「A」、回答候補情報410の中の信頼度503の最大値を「B」とする。
【0030】
上記(1)の場合、決定部403は、A(選択回答範囲502の信頼度503)がしきい値432以上であれば選択回答範囲502を出力すべきと判定し(ステップS604:Yes)、ステップS605に移行し、そうでなければ(ステップS604:No)、ステップS606に移行する。
【0031】
上記(2)の場合、決定部403は、A/Bがしきい値432以上であれば選択回答範囲502を出力すべきと判定し(ステップS604:Yes)、ステップS604に移行し、そうでなければ(ステップS604:No)、ステップS605に移行する。
【0032】
上記(3)の場合、決定部403は、B-Aがしきい値432未満であれば選択回答範囲502を出力すべきと判定し(ステップS604:Yes)、ステップS604に移行し、そうでなければ(ステップS604:No)、ステップS605に移行する。
【0033】
選択回答範囲502を出力すべきと判定された場合(ステップS604:Yes)、決定部403は、選択回答範囲502を出力部404に出力する(ステップS605)。これにより、出力部404は、応答内容を含む応答データ440を出力する。一方、選択回答範囲502を出力すべきでないと判定された場合(ステップS604:No)、決定部403は、回答不可情報を出力部404に出力する。
【0034】
このように、実施例1によれば、適切な最短回答長431を設定することで、機械読解部401で生成された回答候補群から意味の取れない短い回答候補を除去することができる。また、しきい値432を1に近い値に設定することで信頼度503が低い回答候補の応答データ440の通知を抑制することができる。また、ユーザに通知された応答データ440の生成元となる質問200については高い正答率を実現することができる。
つぎに、実施例2について説明する。実施例2は、最短回答長431を自動算出する例である。実施例2では、実施例1との相違点を中心に説明するため、実施例1との重複部分については説明を省略する。
ステップS800では、決定部403は、文書300から既存技術で文節群を抽出し、文節群の平均文節長を算出し、平均文節長を最短回答長431に設定する。このあと、決定部403は、ステップS601~S606を実行する。
実施例2によれば、最短回答長431を文書300から自動算出することができる。実施例2では、文または段落のような複数文節からなる回答を想定しているため、平均文節長を最短回答長431に設定することで、短い文字数からなるような回答として不十分な文字列の除去を実現することができる。