JP2019197498A - 対話システム及びそのコンピュータプログラム - Google Patents

対話システム及びそのコンピュータプログラム Download PDF

Info

Publication number
JP2019197498A
JP2019197498A JP2018092456A JP2018092456A JP2019197498A JP 2019197498 A JP2019197498 A JP 2019197498A JP 2018092456 A JP2018092456 A JP 2018092456A JP 2018092456 A JP2018092456 A JP 2018092456A JP 2019197498 A JP2019197498 A JP 2019197498A
Authority
JP
Japan
Prior art keywords
response
information
candidate
input
missing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018092456A
Other languages
English (en)
Other versions
JP7126682B2 (ja
Inventor
阿部 憲幸
Noriyuki Abe
憲幸 阿部
可奈子 大西
Kanako Onishi
可奈子 大西
健太郎 鳥澤
Kentaro Torisawa
健太郎 鳥澤
カナサイ クルンカライ
Canasai Kruengkrai
カナサイ クルンカライ
豊 木俵
Yutaka Kidawara
豊 木俵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2018092456A priority Critical patent/JP7126682B2/ja
Publication of JP2019197498A publication Critical patent/JP2019197498A/ja
Application granted granted Critical
Publication of JP7126682B2 publication Critical patent/JP7126682B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】情報欠落のない、適切な応答を出力できる対話システム及びそのためのプログラムを提供する。【解決手段】対話システム80は、自然言語の入力に対して自然言語文で応答を行う対話システムであって、入力に対する応答として使用する、自然言語文からなる応答候補を多数記憶するための応答候補DB64と、自然言語の入力が与えられたことに応答して、当該入力に対する複数の応答候補98を応答候補DB64から取得するための応答候補取得部90と、複数の応答候補98の各々について、当該応答候補から必要な情報が欠落している確率に基づいてスコアを算出するための情報欠落判定モデル92と、複数の応答候補90のうち、情報欠落判定モデル92によるスコアが上位の所定個数の応答候補を選択して入力に対する応答として出力するための応答候補選択部94とを含む。【選択図】図2

Description

この発明は対話システムに関し、特に、対話システムが適切な応答を行えるようにするための対話システム及びそのためのコンピュータプログラム(以下、単に「プログラム」と呼ぶ。)に関する。
近年、深層学習を含む機械学習等の技術の発達により、対話システムの開発が盛んに行なわれている。特に、ある特定の目的を達成するためではなく、自由に対話を行える対話システムが注目されている。そうした対話システムは、特定の事業所において特定の業務に限定し、熟練した作業者により使用されるのではなく、一般家庭において一般の使用者により使用されることが前提となっているためである。
このような汎用的な対話システムにおいては、幅広い分野の発話に対して適切に応答する必要がある。通常、対話システムでは、多くの応答候補を記憶した応答候補データベース(以下、データベースを単に「DB」と呼ぶ。)を準備しておき、入力される発話に対する応答文として適切なものを選択して応答する。したがって、適切な応答を行うためには、応答候補DBに記憶されている応答候補の量が重要になる。通常、応答候補の数が多ければ多い程、対話システムの応答が適切なものになる可能性が高くなる。
図1に、従来の一般的な対話システム50の構成を示す。図1を参照して、従来の対話システム50は、大量の応答候補を記憶した応答候補DB64と、ユーザからの入力60を受けて発話解析を行う発話解析部62と、発話解析部62による発話解析の結果を用いて、応答候補DB64に記憶された応答候補の中から、応答として最も適切と思われるものを取得し、応答68として出力する応答候補取得部66とを含む。
しかし、こうしたシステムでは大量の応答候補をどのように応答候補DB64に準備するかが問題となる。大量の応答候補を人手で準備することは現実的ではない。そのため、多くのシステムではインターネットから収集した文章を元に応答候補を自動的に生成している。しかし、インターネット上にある文は対話システム用に書かれている文ではないため、応答候補として適切でないものもある。
特に頻発する問題は、応答候補に十分な情報が含まれていないことである。例えば、「冬は海でしています」という文を考える。この文だけでは対話システムの応答文として情報が足りない。すなわち、この文は「しています。」の目的語を含まない。このような文が応答文として選択されてしまうと、応答文を受けたユーザにはこの応答文が何のことを言っているのか理解できないという問題が生じる。本明細書では、このように十分な情報が含まれていない文のことを「情報欠落文」と呼ぶ。また情報が十分に含まれている文を本明細書では「情報充足文」と呼ぶ。
情報欠落文とは以下のようなもののことをいう。
・薩長同盟を実現させ、新時代が始まるという矢先に暗殺されてしまいました。(誰が、という情報が欠落している。)
・日本では西郷隆盛が一番よいと思います。(どのような点でよいか、という情報が欠落している。)
・食後も展望を楽しむ。(どこの、という情報が欠落している。)
これに対して情報充足文としては以下のようなものがある。
・海でレジャーを楽しむためには、きちんとした配慮モラルが必要ですね。
・株で投資をはじめよう。
・宮崎市ではポピーやパンジーが見頃ですよ。
前述したとおり、一般的に、インターネット上に存在する文では、その文のみでは必要な情報が不足していることが多い。そのため、インターネットから収集した文章に基づいて対話システム用の応答候補DBを構築した場合、情報欠落文が応答として出力される危険性が高いという問題がある。
こうした問題を解決するための提案が後掲の特許文献1においてなされている。特許文献1に開示された発明では、入力された質問文に、予め定めた人物属性表現が含まれているか否か、質問対象の種別である対象タイプが含まれているか否かを判定し、両者ともに含まれていない場合にその質問文が情報欠落文であると判定する。すなわち特許文献1に開示された発明は、ルールベースで質問文が情報欠落文か否かを判定するものである。
特開2016−101929号公報
特許文献1に係る技術によれば、対話システムに入力された質問文が情報欠落文か否かを判定できる。したがって、欠落している情報の入力を受けるための応答を対話システムが出力できる。その結果、応答システムが応答を生成するために必要な情報を聞き手(ユーザ)から受けることが可能になるという効果がある。また、応答システムが生成した質問文が情報欠落文であればその質問文を出力することを避けることができる。
しかし特許文献1に係る発明は、あくまで質問文が情報欠落文か否かを判定するためのものである。応答が質問文でない場合には、特許文献1に係る発明では、応答として必要な情報が欠落しているか否かを判定できない。汎用的な対話システムは、あらゆる入力に対して適切な回答をすることが重要であるため、情報欠落文か否かの判定を質問文に限定することはできず、特許文献1に開示された発明だけでは課題を解決できない。したがって、文のタイプを限定せずに、応答候補における情報欠落の有無を判定し、適切な応答文を出力する手法が必要である。
それゆえに本発明の目的は、情報欠落のない、適切な応答を出力できる対話システム及びそのためのプログラムを提供することである。
本発明の第1の局面に係る対話システムは、自然言語の入力に対して自然言語文で応答を行う対話システムであって、入力に対する応答として使用する、自然言語文からなる応答候補を多数記憶するための応答候補記憶手段と、自然言語の入力が与えられたことに応答して、当該入力に対する複数の応答候補を応答候補記憶手段から取得するための応答取得手段と、複数の応答候補の各々について、当該応答候補に必要な情報が備わっているか、欠落しているかの度合いを表すスコアを算出するための応答候補スコアリング手段と、複数の応答候補の内、応答候補スコアリング手段が算出するスコアに基いて、必要な情報が備わっている度合いが上位の所定個数の応答候補を選択して入力に対する応答として出力するための応答候補選択手段とを含む。
好ましくは、応答候補スコアリング手段は、応答候補を受け、当該応答候補に必要な情報が欠落している確率を出力するよう、予め機械学習により訓練済の情報欠落判定モデルと、複数の応答候補の各々に応答して情報欠落判定モデルが出力する確率に基づいて、複数の応答候補の各々のスコアを計算するためのスコア計算手段とを含む。
より好ましくは、情報欠落判定モデルは、自然言語文の入力に応答して、当該自然言語文に必要な情報が欠落している確率を出力するように予め訓練済の機械学習モデル、例えばディープ・ニューラル・ネットワークを含む。
さらに好ましくは、応答候補スコアリング手段は、応答候補と入力との組合せを受け、当該応答候補に、入力に対する応答として必要な情報が欠落している確率を出力するよう、予め機械学習により訓練済の情報欠落判定モデルと、複数の応答候補の各々に応答して情報欠落判定モデルが出力する確率に基づいて、複数の応答候補の各々のスコアを計算するためのスコア計算手段とを含む。
好ましくは、情報欠落判定モデルは、自然言語文からなる入力と、自然言語文からなる応答候補との組合せが与えられたことに応答して、入力に対する応答として当該応答候補に必要な情報が欠落している確率を出力するように予め機械学習により学習済のディープ・ニューラル・ネットワークを含む。
本発明の第2の局面に係るコンピュータプログラムは、上記したいずれかの対話システムの各手段としてコンピュータを機能させる。
本発明の第3の局面に係る対話システム用応答候補データベースの容量削減装置は、自然言語の入力に対して自然言語文で応答を行う対話システムにおいて使用される、自然言語文からなる複数の応答候補を記憶する応答候補データベースと、応答候補データベースに記憶された複数の応答候補の各々について、当該応答候補に必要な情報が備わっているか、又は欠落しているかの度合いを表すスコアを算出するための応答候補スコアリング手段と、応答候補データベースに記憶されている応答候補の内、応答候補スコアリング手段が算出するスコアがしきい値と所定の関係にあるものを削除するための削除手段とを含む。
本発明のその他の目的、構成及び効果は、発明を実施するための形態の関する以下の説明と、添付の図面とにより明らかとなるであろう。
図1は、従来の一般的な対話システムの構成を示すブロック図である。 図2は、本発明の第1の形態に係る対話システムの構成を示すブロック図である。 図3は、図2に示す応答候補選択部の構成を示すブロック図である。 図4は、図3に示す応答候補スコアリング部をコンピュータとの協働により実現するプログラムの制御構造を示すフローチャートである。 図5は、情報欠落判定モデルの訓練を行うための情報欠落判定モデル訓練システムの概略ブロック図である。 図6は、第1の実施の形態に係る情報欠落判定モデルの一例である畳み込みニューラル・ネットワークの概略構成及び動作を示す図である。 図7は、図6に示す畳み込みニューラル・ネットワークの動作原理を説明するための図である。 図8は、本発明の第2の実施の形態に係る情報欠落判定モデルの一例である畳み込みニューラル・ネットワークの概略構成及び動作を示す図である。 図9は、応答候補DB内の応答候補から、情報欠落文を削除することにより応答候補DBの容量を削減する装置の構成を示すブロック図である。 図10は、図9により容量が削減された応答候補DBを用いる対話システムの概略構成を示すブロック図である。 図11は、第1及び第2の実施の形態を実現するコンピュータシステムの外観を示す図である。 図12は、図11に示すコンピュータの内部構成を示すブロック図である。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
<第1の実施の形態>
[構成]
《全体構成》
図2を参照して、本発明の第1の実施の形態に係る対話システム80は、大量の応答候補を記憶した応答候補DB64と、ユーザからの入力60を受けて発話解析を行う発話解析部62と、発話解析部62による発話解析の結果を用いて、応答候補DB64に記憶された応答候補の中から、応答として適切と思われる複数個の応答候補を取得し、応答候補98として出力する応答候補取得部90とを含む。
対話システム80はさらに、情報欠落判定モデル92と、複数の応答候補98の各々を情報欠落判定モデル92に与えることにより複数の応答候補98の各々について情報欠落文か否かを示すスコアを算出し、スコアが最も低い、つまり情報欠落文でない確率が高い所定個数(典型的には1個)の応答候補100を選択し応答96として出力する応答候補選択部94とを含む。
情報欠落判定モデル92の構成及び動作については後述するが、情報欠落判定モデル92は、自然言語文の入力に応答して、当該自然言語文に必要な情報が欠落している確率を出力するように予め機械学習により学習済の、ディープ・ニューラル・ネットワークの一種である畳み込みニューラル・ネットワークを含む。
〈応答候補選択部94〉
図3を参照して、図2に示す応答候補選択部94は、複数の応答候補98の各々を情報欠落判定モデル92に与え、応答して情報欠落判定モデル92が出力する確率を取得し、この確率に基づいて複数の応答候補98の各々について情報欠落文か否かを示すスコアを算出して各応答候補に付加して出力するための応答候補スコアリング部110を含む。本実施の形態では、情報欠落判定モデル92が出力するのは、入力された自然言語文が情報欠落文である確率である。応答候補スコアリング部110のスコアリングは、応答候補が情報欠落文であるときに高く、情報欠落文でない(情報充足文である)ときに低くなるように定義される。例えばある応答候補を受けて情報欠落判定モデル92が出力する確率の値(又はその値に正の定数を乗じた値)を応答候補のスコアにできる。
スコアがどのようなときに高く、どのようなときに低くなるかはスコアの定義による。本明細書では、スコアは応答候補に情報が備わっているか又は情報が欠落しているかの度合いを表すものとし、応答候補が情報欠落文であるとき、すなわち情報が欠落している度合いが高いときにはスコアが高く、情報欠落文でないとき、すなわち情報が備わっている(情報充足文である)とき、すなわち情報が備わっている度合いが高いときにスコアが低くなる、とする。もちろんスコアの定義をこれと逆にし、情報欠落文であるときにはスコアが低くなるような定義を採用してもよい。
応答候補選択部94はさらに、応答候補スコアリング部110が出力する、スコア付の複数の応答候補をスコアの昇順にソートして出力するソート部112と、ソート部112からスコアの昇順に出力される応答候補の内、スコアが最も下位の所定個数(本実施の形態では1個)の応答候補100を選択し、応答96として出力する選択部114とを含む。
〈応答候補スコアリング部110〉
図3に示す応答候補スコアリング部110は、コンピュータハードウェアと協働するプログラムにより実現される。図4を参照して、このプログラムは、複数の応答候補の各々に対して処理122を実行するステップ120を含む。
処理122は、処理対象の応答候補を形態素解析し、形態素列を出力するステップ140と、ステップ140の処理により得られた形態素列の各単語を単語ベクトルに変換することで、応答候補を単語ベクトル列に変換するステップ142とを含む。単語ベクトルとしては、いわゆるワンホットベクトルを使用しても良いが、ワンホットベクトルの場合にはベクトルの次元が大きくなること、要素の大部分が0となりモデルの訓練に都合が悪いこと等から本実施の形態では単語ベクトルとしていわゆる単語埋め込みベクトルを使用する。
ステップ120はさらに、ステップ142の処理で得られた単語ベクトル列を情報欠落判定モデル92に入力し情報欠落判定モデル92の出力(この単語ベクトル列により表される自然言語文、即ち応答候補が情報欠落文である確率)を取得するステップ144と、ステップ144で得られた情報欠落判定モデル92の出力に基づいて応答候補のスコアを計算し、スコアを応答候補に付加して応答候補を出力するステップ146とを含む。
処理122の処理を全ての応答候補に対して行うことにより、各応答候補にその応答候補が情報欠落文である確率に基づいて計算されたスコアが付与され出力されることになる。
〈情報欠落判定モデル92〉
本実施の形態で使用する情報欠落判定モデル92は、前述したとおり畳み込みニューラル・ネットワークを含む。畳み込みニューラル・ネットワークの構成及び動作については図6以下を参照して後述し、最初に情報欠落判定モデル92の訓練について説明する。
図5を参照して、情報欠落判定モデル92を訓練するための情報欠落判定モデル訓練システム160は、インターネットから収集したテキストを記憶したテキストDB170と、テキストDB170に記憶されたテキストの各々の各文について、その文が情報欠落文か否かを示すラベルを手作業により付すためのラベリング用端末172と、テキストDB170に記憶された、ラベル付された各文から情報欠落判定モデル92の訓練データを生成するための訓練データ作成部174と、訓練データ作成部174が生成した訓練データを記憶するための訓練データ記憶部176とを含む。訓練データは複数個の訓練データ項目を含み、各訓練データ項目は、テキストDB170に記憶されたテキストの各文を単語ベクトル列に変換したものと、その文が情報欠落文か否かを示す教師データとしてのラベルとの組合せを含む。
人手によるラベリングでは、主語の欠落、目的語の欠落、指し先の分からない代名詞等があったときに情報の欠落があったと判定する。ただし主語の欠落では、主語としての「私」の省略については情報欠落ではないとしてもよい。また本実施の形態ではラベルは欠落の有無のみを情報として持っていれば十分であるが、何が欠落していたのか、すなわち、主語の欠落、目的語の欠落等の情報を持たせていても良い。
情報欠落判定モデル訓練システム160はさらに、訓練データ記憶部176に記憶された訓練データ項目の各々を用いて情報欠落判定モデル92の訓練を行うための訓練処理部178を含む。訓練処理部178は、各訓練データ項目について、その応答候補の単語ベクトル列を情報欠落判定モデル92に与えてその出力を計算し、教師データであるラベルとの誤差を計算する。訓練処理部178はその誤差が小さくなるように誤差逆伝搬法により情報欠落判定モデル92の構成する畳み込みニューラル・ネットワーク内の重み及びバイアス等を含むパラメータを再計算することで情報欠落判定モデル92の訓練を行う。
誤差逆伝搬法については、ニューラル・ネットワーク全般について確立された手法である。したがってここではその詳細については繰返さない。
図6を参照して、情報欠落判定モデル92を構成する畳み込みニューラル・ネットワーク200は、訓練用の応答文を表す単語ベクトル列202の入力を受けて複数種類のフィルタを使用し、フィルタごとに演算対象を移動させて畳み込み演算を行い、フィルタごとに素性マップ212を算出するための畳み込み層210を含む。素性マップ212はベクトルであって、その要素は、あるフィルタがある演算対象に対して行った演算結果である。
畳み込みニューラル・ネットワーク200はさらに、フィルタごとに得られた素性マップ212の各々について、要素の最大値を選択することで確率演算のためのベクトルを生成するプーリング層214と、このプーリング層214で得られたベクトルに対してソフトマックス関数を適用することで単語ベクトル列202により表される応答候補が情報欠落文である確率を示す情報欠落確率204を出力する出力層216とを含む。
図7に、図6に示す単語ベクトル列202に対してあるフィルタを適用して畳み込み演算を行い、素性マップを得る過程を示す。図7を参照して。単語ベクトル列202は前記したように単語ベクトル列であり、各ベクトルは固定個数の要素を持つ。図7において単語ベクトル列202は3×4の行列で示されているが、各行が1つの単語ベクトルを表し、行内の各要素はベクトルの要素を表している。フィルタ230はここではバイグラムに対するフィルタであって、隣接する2つの単語ベクトルに対して適用される。図7に示す例では、単語ベクトル列202は、バイグラム232、234、236及び238を含む。フィルタ230をバイグラム232、234、236及び238に適用することでそれぞれ1つずつのフィルタ出力が得られる。これらフィルタ出力の要素242、244、246及び248を持つベクトル250がフィルタ230により得られる素性マップである。
図6に示す例ではフィルタが2つ用いられている。したがってベクトル250のような素性マップが2つ得られる。それら素性マップの各々について、要素の最大値を選択する処理がマックスプーリングである。
なお、図6及び図7ではフィルタを2個としているが、フィルタの数は2個には限定されない。より多くのフィルタを用いてもよい。
[動作]
上記した第1の実施の形態に係る対話システム80及び情報欠落判定モデル訓練システム160は以下のように動作する。以下、情報欠落判定モデル92の訓練時の情報欠落判定モデル訓練システム160の動作、及び訓練が完了した情報欠落判定モデル92を用いたサービス時の対話システム80の動作について説明する。
《訓練》
図5を参照して、最初にインターネット上から応答候補となるテキストを収集しテキストDB170に蓄積する。ラベリング用端末172を用いて、人手によりテキストDB170に記憶されたテキストの各文について、情報欠落文か否かを判定し、情報欠落文か否かを示すラベルを各文に付する。
情報欠落判定モデル92の訓練時、訓練データ作成部174がテキストDB170に蓄積されたラベル付の各文について、その文を応答候補とし、その文に付されたラベルを教師データとして訓練データ項目を作成し、訓練データ記憶部176に蓄積する。
訓練処理部178は、訓練データ記憶部176に蓄積された訓練データ項目の各々について、応答候補を情報欠落判定モデル92への入力とし、その応答候補のラベルを教師データとして情報欠落判定モデル92の訓練を行う。訓練処理部178は、所定の終了条件が成立するまで訓練データを用いて情報欠落判定モデル92の訓練を繰返す。終了条件としては色々考えられる。典型的な例として、訓練データ記憶部176を用いた訓練を所定回数実行したときに訓練を終了することが考えられる。又は、訓練データ記憶部176に含まれる訓練データ項目を全て使用して情報欠落判定モデル92の訓練がおわるごとに、検証用データを用いて情報欠落判定モデル92による情報欠落文の判定精度を算出し、前回の判定精度と今回の判定精度との差が所定のしきい値以下となったときに訓練を終了するようにしてもよい。若しくは、これらの条件の内、いずれか一方が成立したときに訓練を終了することも可能である。
《サービス》
上記のように訓練が完了した後の情報欠落判定モデル92を用いることで、対話システム80が応答文として情報欠落文を出力する可能性を小さくできる。
図2を参照して、ユーザが入力60を対話システム80に入力する。発話解析部62はこの入力60に対して発話解析を行い、解析結果を応答候補取得部90に与える。ここまでは従来技術と同様である。応答候補取得部90はこの解析結果を用い、応答候補DB64から入力60に対する応答として適切と思われる応答候補を複数個だけ取得し複数の応答候補98を応答候補選択部94に与える。一般的に従来の対話システムでは、応答候補に対して何らかのスコアを計算し、その上位の回答を応答として選択している。応答候補選択部94は、このスコアを用い、応答候補の中でスコアが最上位の複数個の応答候補を選択する。
図3及び図4を参照して、複数の応答候補98を受けた応答候補選択部94の応答候補スコアリング部110は、複数の応答候補98の各々について、図4に示す処理122を実行する(ステップ120)。すなわち、ステップ140では、処理対象の応答候補を形態素解析し、形態素列を出力する。続くステップ142では、ステップ140の処理により得られた形態素列の各単語を単語ベクトルに変換することで、応答候補を単語ベクトル列に変換する。ステップ144では、ステップ142の処理で得られた単語ベクトル列を情報欠落判定モデル92に入力し情報欠落判定モデル92の出力(この単語ベクトル列により表される自然言語文、即ち応答候補が情報欠落文である確率)を取得する。ステップ144に続きステップ146では、ステップ144で得られた情報欠落判定モデル92の出力に基づいてスコアを算出し、応答候補に付加して応答候補を出力する。
処理122の処理を全ての応答候補に対して行うことにより、各応答候補にその応答候補が情報欠落文である確率に基づいて算出されたスコアが付与されることになる。
図3を参照して、ソート部112は、応答候補スコアリング部110から出力された複数の応答候補をそのスコアの昇順でソートし選択部114に与える。選択部114は、この応答候補の内で、スコアが下位の所定個数(典型的には1個)を選択し、応答96として出力する。
以上の第1の実施の形態に係る対話システム80によれば、入力に対して複数の応答候補を選択した後、複数の応答候補の各々に対してその応答候補が情報欠落文である確率に基づいて算出されたスコアが付与される。スコアの下位のものだけが応答として出力される。したがって、対話システムの応答として情報が欠落したものが出力されてユーザが疑問に思ったりする危険性を小さくできる。
なお、本実施の形態ではスコア下位の応答候補を選択している。しかし本発明はそのような実施の形態には限定されない。しきい値を設け、スコアがそのしきい値より高い応答候補を全て削除してもよい。又は、あるしきい値以下のスコアを持つ応答候補に限り、その中で所定個数までの応答候補を選択するようにしてもよい。
<第2の実施の形態>
〈情報欠落判定モデル260〉
第1の実施の形態では、応答候補についてのみ情報欠落判定モデル92を用いて情報欠落文である確率を判定している。しかし本発明はそのような実施の形態には限定されない。応答文の中には、それだけを見たときには情報が欠落していると思われるにもかかわらず、入力とあわせて見れば情報が欠落していない場合もあるし、逆に応答文だけを見ると情報に欠落はないが、入力と合わせて見ると情報が欠落していると考えられる場合もある。
例えば「チョコレートが好きです。」という文について考える。これだけを見ると「私は」という主語が欠落しているだけだと考えられ、情報の欠落はない。しかし、この文が「ハンフリー・ボガートかっこいい」という入力に対する応答だとすると、なんの事だか分からず、情報の欠落が生じていることになる。そこで、応答候補だけではなく。入力と応答候補との組合せを見て、応答候補に情報欠落があるか否かを判定することが考えられる。この第2の実施の形態はそうしたシステムに関する。
この第2の実施の形態では、情報欠落判定モデルの訓練は、応答候補だけではなく、その応答が得られたときの入力に相当する、応答候補の直前の文(発話)と応答候補との組合せを対象とする。この点を除くと、この実施の形態に係る対話システムは、図2〜図4に示した第1の実施の形態に係る対話システム80と同じ構成である。また学習についても、訓練データ項目が応答候補とラベルとの組合せではなく、入力に相当する文とその応答、及びラベルの組合せである点を除き、図5に示す情報欠落判定モデル訓練システム160と同じ構成でよい。
図8を参照して、この第2の実施の形態に係る対話システムで用いられる情報欠落判定モデル260は、入力文の単語ベクトル270を受ける第1の畳み込みニューラル・ネットワーク274と、入力文に対する応答候補の単語ベクトル272を受ける第2の畳み込みニューラル・ネットワーク276と、第1の畳み込みニューラル・ネットワーク274の出力ベクトルと第2の畳み込みニューラル・ネットワーク276の出力ベクトルとを結合した結合ベクトル280を入力とし、入力文の単語ベクトル270と応答候補の単語ベクトル272との組合せにおいて応答候補の単語ベクトル272に情報欠落があることを示す情報欠落確率284を出力する多層パーセプトロン282とを含む。多層パーセプトロン282としては任意の構成が可能である。この多層パーセプトロン282と、第1の畳み込みニューラル・ネットワーク274及び第2の畳み込みニューラル・ネットワーク276とは全体として1つのディープ・ニューラル・ネットワークを形成している。
第1の畳み込みニューラル・ネットワーク274及び第2の畳み込みニューラル・ネットワーク276は、いずれも基本的に図6に示す畳み込みニューラル・ネットワーク200と同じ構成である。もちろん、第1の畳み込みニューラル・ネットワーク274と第2の畳み込みニューラル・ネットワーク276とが全く同じ構成である必要はなく、また第1の畳み込みニューラル・ネットワーク274及び第2の畳み込みニューラル・ネットワーク276が畳み込みニューラル・ネットワーク200と全く同じ構成である必要もない。例えば使用するフィルタの数又は種類が異なっていてもよい。
情報欠落判定モデル260の学習も基本的には畳み込みニューラル・ネットワーク200と同様である。ただし、学習時の入力は入力文の単語ベクトル列とそれに対する応答候補の単語ベクトル列である点で畳み込みニューラル・ネットワーク200の学習とは異なる。教師データは応答候補に情報欠落が有るか否かを示すラベルであり、この点は畳み込みニューラル・ネットワーク200の訓練と同様である。情報欠落判定モデル260の全体の構成は畳み込みニューラル・ネットワーク200とは異なっているが、情報欠落判定モデル260の出力と教師データ(ラベル)との相違が小さくなるように。誤差逆伝搬法を用いて情報欠落判定モデル260の各部のパラメータを学習する点で情報欠落判定モデル260の学習は畳み込みニューラル・ネットワーク200の学習と同様である。
この第2の実施の形態によれば、応答候補を見ただけでは情報欠落があるか否かを正しく判定できない場合にも、情報欠落の有無を正しく判定できる可能性が高くなるという効果がある。
<第3の実施の形態>
上記した第1の実施の形態及び第2の実施の形態では、いずれも、入力があったときに動的に応答候補の情報欠落の有無を判定している。しかし本発明はそのような実施の形態には限定されない。この第3の実施の形態では、予め応答候補DBから情報欠落がある可能性の高い応答候補を削除する。こうすることで、図1に示した従来の対話システム50と同様の構成を持つ対話システムで、情報欠落がある可能性の低い応答のみを選択して出力できる。また、応答候補DBを記憶するために必要な記憶容量を小さくできるという効果もある。
図9を参照して、この第3の実施の形態に係る応答候補DBの容量削減システム310は、応答候補を多数記憶した原応答候補DB320と、第1の実施の形態で使用した情報欠落判定モデル92と、原応答候補DB320に記憶されている応答候補の各々について、情報欠落判定モデル92を使用して情報欠落の有無に関するスコアリングをし、スコア付の応答候補を出力する応答候補スコアリング部324と、応答候補スコアリング部324が出力するスコア付の応答候補を記憶する中間応答候補DB326とを含む。
応答候補DBの容量削減システム310はさらに、中間応答候補DB326に記憶された複数のスコア付応答候補の内、スコアが所定のしきい値以下のもののみを選択するための応答候補選択部328と、応答候補選択部328により選択された応答候補を記憶するための応答候補DB330とを含む。
応答候補DB330には、情報欠落の有無に関するスコアがしきい値以下のもののみが格納される。すなわち、応答候補DB330に記憶された応答候補は、いずれも情報欠落文である可能性が小さなものになる。
図10を参照して、この第3の実施の形態に係る対話システム340は、入力60を受けて入力60に対する発話解析を行う発話解析部62と、発話解析部62による発話解析の結果を用いて応答候補DB330から応答候補を取得し応答350として出力するための応答候補取得部66とを含む。
この対話システム340は、応答候補DB330を除き図1に示す従来技術の対話システム50と同じ構成を持つ。異なるのは応答候補DB330のみである。上記したように応答候補DB330に記憶されている応答候補は、いずれも情報欠落文としての可能性が小さなものばかりである。したがって、応答候補取得部66が応答候補DB330から取得する応答候補は、従来技術の対話システム50において応答候補取得部66が応答候補DB64から取得したものと比較して情報欠落文である可能性が小さくなる。
すなわち、この第3の実施の形態では、第1及び第2の実施の形態とは異なり、いわば静的に対話システムの応答として情報欠落文が選択される可能性を小さくするものということができる。
<実施の形態の効果>
第1及び第2の実施の形態では、図2に示すような情報欠落判定モデル92と応答候補選択部94とを既存の対話システムに組込むことにより、質の高い応答を出力することが可能となる。特に応答候補DBに手を加えたくない場合は、第1及び第2の実施の形態のようにすることで、応答候補DBに変更を加えずに質の良い応答を選択できる。
一方、応答候補DBに手を加えてもよい場合には、第3の実施の形態のように、対話システムが保有している応答候補DBに含まれる文の中でスコアが高いもの以外を除去することにより、応答の質を落とさずに応答候補DBの規模を小さくできる。この場合、応答候補DBのみを変えればよく、対話システム自体は図1に示すものをそのまま流用できる。
<コンピュータによる実現>
上記した各実施の形態に係る対話システム80及び340、情報欠落判定モデル92及び260、並びに情報欠落判定モデル訓練システム160及び応答候補DBの容量削減システム310の各機能部は、それぞれコンピュータハードウェアと、そのハードウェア上でCPU(中央演算処理装置)及びGPU(Graphics Processing Unit)により実行される、対話システムに対するアドオンとして準備されるプログラムとにより実現できる。図11及び図12に上記各装置及びシステムを実現するコンピュータハードウェアを示す。GPUは通常は画像処理を行うために使用されるが、このようにGPUを画像処理ではなく通常の演算処理に使用する技術をGPGPU(General-purpose computing on graphics processing units)と呼ぶ。GPUは同種の複数の演算を同時並列的に実行できる。一方、ニューラル・ネットワークの訓練時及び動作時には、各ノードの重み演算は単純な積和演算であり、しかもそれらは同時に実行できることが多い。したがって、図6に示す情報欠落判定モデル92、図7に示す情報欠落判定モデル260等はGPGPUで実現するのに適している。
図11を参照して、このコンピュータシステム830は、メモリポート852及びDVD(Digital Versatile Disk)ドライブ850を有するコンピュータ840と、キーボード846と、マウス848と、モニタ842とを含む。
図12を参照して、コンピュータ840は、メモリポート852及びDVDドライブ850に加えて、CPU856及びGPU858と、CPU856、GPU858、メモリポート852及びDVDドライブ850に接続されたバス866と、コンピュータ840のブートプログラム等を記憶する読出専用メモリであるROM860と、バス866に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読出可能な記憶媒体であるランダムアクセスメモリ(RAM)862と、ハードディスク854を含む。コンピュータ840はさらに、いずれもバス866に接続され、他端末との通信を可能とするネットワーク868への接続を提供するネットワークインターフェイス(I/F)844と、外部との対話のために音声信号の入出力を行うための音声I/F870とを含む。
コンピュータシステム830を上記した実施の形態に係る各装置及びシステムの各機能部として機能させるためのプログラムは、DVDドライブ850又はメモリポート852に装着される、いずれもコンピュータ読出可能な記憶媒体であるDVD872又はリムーバブルメモリ864に記憶され、さらにハードディスク854に転送される。又は、プログラムはネットワーク868を通じてコンピュータ840に送信されハードディスク854に記憶されてもよい。プログラムは実行の際にRAM862にロードされる。DVD872から、リムーバブルメモリ864から又はネットワーク868を介して、直接にRAM862にプログラムをロードしてもよい。また、上記処理に必要なデータは、ハードディスク854、RAM862、CPU856又はGPU858内のレジスタ等の所定のアドレスに記憶され、CPU856又はGPU858により処理され、プログラムにより指定されるアドレスに格納される。最終的に訓練が終了した畳み込みニューラル・ネットワークのパラメータ及び付随する計算処理を行うプログラムは、例えばハードディスク854に格納されたり、DVDドライブ850及びメモリポート852をそれぞれ介してDVD872又はリムーバブルメモリ864に格納されたりする。又は、ネットワークI/F844を介してネットワーク868に接続された他のコンピュータ又は記憶装置に送信される。
このプログラムは、コンピュータ840を、上記実施の形態に係る各装置及びシステムとして機能させるための複数の命令からなる命令列を含む。上記各装置及びシステムにおける数値演算処理は、CPU856及びGPU858を用いて行う。CPU856のみを用いてもよいがGPU858を用いる方が高速である。コンピュータ840にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ840上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ840にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
50、80、340 対話システム
60 入力
62 発話解析部
64、330 応答候補DB
66、90 応答候補取得部
68、96、350 応答
92、260 情報欠落判定モデル
94、328 応答候補選択部
98 複数の応答候補
100 応答候補
110、324 応答候補スコアリング部
112 ソート部
114 選択部
160 情報欠落判定モデル訓練システム
170 テキストDB
172 ラベリング用端末
174 訓練データ作成部
176 訓練データ記憶部
178 訓練処理部
200 畳み込みニューラル・ネットワーク
202 単語ベクトル列
204、284 情報欠落確率
210 畳み込み層
212 素性マップ
214 プーリング層
216 出力層
230 フィルタ
232、234、236、238 バイグラム
242、244、246、248 要素
250 ベクトル
270 入力文の単語ベクトル
272 応答候補の単語ベクトル
274 第1の畳み込みニューラル・ネットワーク
276 第2の畳み込みニューラル・ネットワーク
280 結合ベクトル
282 多層パーセプトロン
310 応答候補DBの容量削減システム
320 原応答候補DB
326 中間応答候補DB

Claims (6)

  1. 自然言語の入力に対して自然言語文で応答を行う対話システムであって、
    入力に対する応答として使用する、自然言語文からなる応答候補を多数記憶するための応答候補記憶手段と、
    自然言語の入力が与えられたことに応答して、当該入力に対する複数の応答候補を前記応答候補記憶手段から取得するための応答取得手段と、
    前記複数の応答候補の各々について、当該応答候補に必要な情報が備わっているか、又は欠落しているかの度合いを表すスコアを算出するための応答候補スコアリング手段と、
    前記複数の応答候補の内、前記応答候補スコアリング手段が算出する前記スコアに基づいて、必要な情報が備わっている度合いが上位の所定個数の応答候補を選択して前記入力に対する応答として出力するための応答候補選択手段とを含む、対話システム。
  2. 前記応答候補スコアリング手段は、
    応答候補を受け、当該応答候補に必要な情報が欠落している確率を出力するよう、予め機械学習により訓練済の情報欠落判定モデルと、
    前記複数の応答候補の各々に応答して前記情報欠落判定モデルが出力する確率に基づいて、前記複数の応答候補の各々のスコアを計算するためのスコア計算手段とを含む、請求項1に記載の対話システム。
  3. 前記情報欠落判定モデルは、自然言語文の入力に応答して、当該自然言語文に必要な情報が欠落している確率を出力するように予め訓練済の機械学習モデルを含む、請求項2に記載の対話システム。
  4. 前記応答候補スコアリング手段は、
    応答候補と前記入力との組合せを受け、当該応答候補に、前記入力に対する応答として必要な情報が欠落している確率を出力するよう、予め機械学習により訓練済の情報欠落判定モデルと、
    前記複数の応答候補の各々に応答して前記情報欠落判定モデルが出力する確率に基づいて、前記複数の応答候補の各々のスコアを計算するためのスコア計算手段とを含む、請求項1に記載の対話システム。
  5. 前記情報欠落判定モデルは、自然言語文からなる入力と、自然言語文からなる応答候補との組合せが与えられたことに応答して、前記入力に対する応答として当該応答候補に必要な情報が欠落している確率を出力するように予め機械学習により学習済のディープ・ニューラル・ネットワークを含む、請求項4に記載の対話システム。
  6. 請求項1〜請求項5の何れかに記載の対話システムとしてコンピュータを機能させる、コンピュータプログラム。
JP2018092456A 2018-05-11 2018-05-11 対話システム及びそのコンピュータプログラム Active JP7126682B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018092456A JP7126682B2 (ja) 2018-05-11 2018-05-11 対話システム及びそのコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018092456A JP7126682B2 (ja) 2018-05-11 2018-05-11 対話システム及びそのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019197498A true JP2019197498A (ja) 2019-11-14
JP7126682B2 JP7126682B2 (ja) 2022-08-29

Family

ID=68538428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018092456A Active JP7126682B2 (ja) 2018-05-11 2018-05-11 対話システム及びそのコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7126682B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125286A1 (ja) * 2012-02-23 2013-08-29 独立行政法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
JP2013254420A (ja) * 2012-06-08 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 質問応答装置、モデル学習装置、方法、及びプログラム
JP2015132876A (ja) * 2014-01-09 2015-07-23 日本電信電話株式会社 モデル学習装置、フィルタ装置、方法、及びプログラム
JP2018156272A (ja) * 2017-03-16 2018-10-04 国立研究開発法人情報通信研究機構 対話システム、対話装置及びそのためのコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125286A1 (ja) * 2012-02-23 2013-08-29 独立行政法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
JP2013254420A (ja) * 2012-06-08 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 質問応答装置、モデル学習装置、方法、及びプログラム
JP2015132876A (ja) * 2014-01-09 2015-07-23 日本電信電話株式会社 モデル学習装置、フィルタ装置、方法、及びプログラム
JP2018156272A (ja) * 2017-03-16 2018-10-04 国立研究開発法人情報通信研究機構 対話システム、対話装置及びそのためのコンピュータプログラム

Also Published As

Publication number Publication date
JP7126682B2 (ja) 2022-08-29

Similar Documents

Publication Publication Date Title
US11816438B2 (en) Context saliency-based deictic parser for natural language processing
US11861307B2 (en) Request paraphrasing system, request paraphrasing model and request determining model training method, and dialogue system
US20220261557A1 (en) Artificial intelligence system using phrase tables to evaluate and improve neural network based machine translation
CN110442718B (zh) 语句处理方法、装置及服务器和存储介质
WO2018207723A1 (ja) 要約生成装置、要約生成方法及びコンピュータプログラム
US8156060B2 (en) Systems and methods for generating and implementing an interactive man-machine web interface based on natural language processing and avatar virtual agent based character
CN109902301B (zh) 基于深度神经网络的关系推理方法、装置及设备
CN116226334A (zh) 生成式大语言模型训练方法以及基于模型的搜索方法
JP7402277B2 (ja) 情報処理システム、情報処理方法および情報処理装置
CN112740132A (zh) 简答题评分预测
CN111177351A (zh) 基于规则的自然语言表达意图获取方法、装置和系统
CN114239589A (zh) 语义理解模型的鲁棒性评估方法、装置及计算机设备
CN117472431A (zh) 代码注释生成方法、装置、计算机设备、存储介质和产品
CN111813941A (zh) 结合rpa和ai的文本分类方法、装置、设备及介质
CN114970666B (zh) 一种口语处理方法、装置、电子设备及存储介质
WO2023245523A1 (zh) 用于生成训练数据的方法以及装置
JP7126682B2 (ja) 対話システム及びそのコンピュータプログラム
JP6592378B2 (ja) 書き換え装置、方法、及びプログラム
JP6997046B2 (ja) アノテーション支援装置
JP2019194759A (ja) 対話システム補強装置及びコンピュータプログラム
JP7198492B2 (ja) パーソナリティ出力装置、パーソナリティ出力方法、パーソナリティ出力プログラム、単語評価値生成装置、単語評価値生成方法および単語評価値生成プログラム
JP7551970B2 (ja) 人工知能モデル更新方法、装置、電子デバイス及び記憶媒体
US20240354632A1 (en) Method and apparatus for generating target deep learning model
CN113111652B (zh) 数据处理方法、装置及计算设备
TWI857873B (zh) 利用大型語言模型產生特定對象的虛擬人格之對話裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220809

R150 Certificate of patent or registration of utility model

Ref document number: 7126682

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150