JP6980411B2 - 情報処理装置、対話処理方法、及び対話処理プログラム - Google Patents

情報処理装置、対話処理方法、及び対話処理プログラム Download PDF

Info

Publication number
JP6980411B2
JP6980411B2 JP2017101901A JP2017101901A JP6980411B2 JP 6980411 B2 JP6980411 B2 JP 6980411B2 JP 2017101901 A JP2017101901 A JP 2017101901A JP 2017101901 A JP2017101901 A JP 2017101901A JP 6980411 B2 JP6980411 B2 JP 6980411B2
Authority
JP
Japan
Prior art keywords
dialogue
question
data
paraphrase
candidate
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.)
Active
Application number
JP2017101901A
Other languages
English (en)
Other versions
JP2018197924A (ja
Inventor
優 浅野
真 岩山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017101901A priority Critical patent/JP6980411B2/ja
Publication of JP2018197924A publication Critical patent/JP2018197924A/ja
Application granted granted Critical
Publication of JP6980411B2 publication Critical patent/JP6980411B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、対話処理方法、及び対話処理プログラムに関するものである。
近年、IT(Information Technology)を用いた高度なサービスの出現によるデジタルデバイドの拡大、グローバル化やライフスタイル多様化によるコミュニケーションの複雑化が進んでいる。そのため、様々な言語での対応を求められる空港や駅での施設案内や、複雑なサービスを複数取り扱う銀行や自治体での窓口業務などのさまざまな対人サービスの提供は、既存の職員だけでは難しくなってきている。このような高度化するサービス業務を支援するため、ロボットや音声アシスタントなどの対話システムの実用化が進められている。
対話システムは、ユーザの多様な発話に対応することが求められている。例えば、ある店舗の営業時間を知りたい場合、「営業時間を教えてください。」や「いつからいつまでやっていますか。」、「開いている時間を知りたい。」など色々な聞き方がある。このような様々な言い方に対応するためには、あらかじめ様々な言い換えを用意しておく必要がある。しかし、言い換えを人手で作成する作業コストは高い。また人によって言い方が異なるため、少人数で多様な言い換えを用意するのは難しく、多くの人に作成してもらう必要がある。
これまでに多様な言い換えを用意する技術は考えられている。その1つが特許文献1に記載のものがある。この文献では、対話を介して戦略的に未知語と登録済みの語の対応付けることで、言い換えの語彙を増やしていく方法が示されている。このような言い換え語彙や同義語辞書などを用いて、言い換え文を自動生成する方法も提案されている。
特開2007−213005号公報
従来技術のように自動的に生成された言い換え文には、不適切な言い換えが含まれてしまう場合がある。例えば、「パートナー」と「配偶者」が同義語として定義されている場合、「顧客は大事なパートナーです。」という文が「顧客は大事な配偶者です。」という不適切な文に言い換えられてしまうことが考えられる。そのため、自動的に生成された言い換え文が適切か否かを判断する方法が求められており、その言い換え文が適切か否かを判断するためには、大規模な言い換えのテキストデータ(コーパス)を事前に用意する必要がある。そのため、大規模な言い換えコーパスが用意できない分野の場合には、他分野のコーパスを用いることもできるが、分野依存の言い換えに関しては対応できない。
本発明は、大規模な言い換えのテキストデータを用意することなく対話することが可能な情報処理装置、対話処理方法、及び対話処理プログラムを提供することを目的とする。
本発明にかかる情報処理装置は、ユーザからの質問に対する回答を出力して前記ユーザと対話する情報処理装置であって、前記質問を受け付ける入力部と、前記対話において、前記入力部が受け付けた前記質問に対する回答の候補を候補データの中から選択して前記質問の言い換えの適否を前記ユーザに確認する確認処理を実行し、前記適否の結果に基づいて、前記候補を前記質問に対する言い換えとして登録する対話制御部と、を備えることを特徴とする情報処理装置として構成される。
また、本発明は、上記情報処理装置で行われる対話処理方法、及び対話処理プログラムとしても把握される。
本発明によれば、大規模な言い換えのテキストデータを用意することなく対話することができる。
対話システムのハードウェア構成ブロック図。 言い換え確認処理を含む対話システムの処理の流れを示すフロー図。 対話制御処理の流れを示すフロー図。 確認処理を示す概念図。 確認処理の流れを示すフロー図。 言い換え確認前後の対話データとユーザ発話言い換え候補データ。 更新前後の対話データとユーザ発話言い換え候補データ。 回答処理を示す概念図。 聞き返し処理を示す概念図。 複数の候補データから確認するデータを選定する処理フロー図。 言い換え確認結果データの例を示す図。 確認頻度最適化モジュールが、ユーザの不快度合いを考慮して頻度を自動調整する場合の例を示す図。
実施の形態について、図面を用いて詳細に説明する。ただし、以下に示す実施の形態の記載内容に限定して解釈されるものではない。
また、本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
以下に示すように、本実施例では、自動生成された言い換えを適切なものか不適切なものかを明確化する確認質問を行う手法により、言い換えの適切さを判定する。実施例には、言い換えの確認質問の手法、および言い換えの確認質問をする対話システムが含まれる。以下で説明する実施例では、大規模な言い換えコーパスが事前に用意できない場合であっても、言い換えの確認質問を行う。
<1.実施例のシステム全体構成>
図1は、本実施例における対話システムの構成を示すブロック図である。
対話システム100は、具体的な例としては、コンピュータ等の情報処理装置により構成される。通常の情報処理装置と同様に、対話システム100は、中央処理装置(CPU)101、キーボードや画像モニタなどの入出力装置103、磁気ディスク装置や半導体記憶素装置からなるメモリ107を備える。また、外部とデータをやり取りするためのインターフェースとして、データ通信部102を備えていてもよい。データ通信部102は、例えば外部のネットワーク110と接続される。なお、入出力装置という場合、入出力両機能を備える装置のみを意味するのではなく、入力機能のみを備える装置、出力機能のみを備える装置、さらには入出力の両方を備える装置のいずれも意味するものとする。
本実施例では計算や制御等の機能は、メモリ107に格納されたプログラムがCPU101によって実行されることで、定められた処理を他のハードウェアと協働して実現される。CPU101が実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
図1では、概念的にCPU101が、ソフトウェアに基づいて実行する機能を、意図解析部104、対話制御部105、メンテナンス部106、入力処理部108、出力処理部109として示している。これらの機能を実現するためのプログラムはメモリ107に格納される。また、メモリ107にはデータとして、対話データ1071、候補データ(ユーザ発話言い換え候補データ)1072、言い換え確認結果データ1073、対話ログデータ1074等が格納される。
なお、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、そのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
メモリ107に格納する、対話データ1071、対話ログデータ1074は、データ通信部102や入出力装置103を介して入力することができる。また、候補データ1072や言い換え確認結果データ1073は、データ通信部102や入出力装置103を介して出力することができる。なお、本例では、候補データ1072や言い換え確認結果データ1073を対話システム100から出力する前提で説明しているが、例えば、対話システム100の外部に設けられたディスプレイ、スクリーン、スピーカ等の出力装置からこれらのデータを出力し、その内容を確認したユーザが対話システム100に対してさらに質問を入力するような場合も同様に適用することができる。
意図解析部104は、ユーザから入力された質問文の意図を解析する処理部である。対話制御部105は、ユーザから入力された質問文と対話システム100からの回答文や確認文による対話を制御する処理部である。
メンテナンス部106は、システム管理者がメモリ107に格納されているデータを管理するために、対話データ1071、候補データ1072、言い換え確認結果データ1073、対話ログデータ1074の入出力を行う。
入力処理部108は、ユーザから入力された質問文をテキストに変換する等、本システムで必要な入力処理を行う処理部である。出力処理部109は、上記質問文に対する回答文や確認文を出力する等、本システムで必要な出力処理を行う処理部である。
以上の構成は、図1に示したように単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また、本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
<2.対話システムの処理の説明>
対話システム100の処理について説明する。
<2−1.対話システムの処理の概要>
対話制御部105は、対話データ1071、候補データ1072、言い換え確認結果データ1073、対話ログデータ1074を用いて、ユーザとの対話における質問文に対する回答文や確認文を生成する処理を行う。
図2は言い換え確認処理を含む対話システム100の処理のフローを示している。
処理S201は、入力処理部108にて、ユーザから入力された質問文をテキストに変換する入力処理を行う。例えば、ユーザからの質問文が音声で入力された場合は、その音声をテキストに変換し、正規化を行う。正規化では、大文字と小文字の統一や数値を漢数字と数字の統一など表記の統一を行ってもよい。また、ユーザからの質問文がテキストで入力された場合も表記の統一を行ってもよい。
処理S202は、意図解析部104にて、処理S201によって正規化されたユーザの入力の意図解析を行う。例えば、意図解析部104は、対話データ1071に登録されている質問文と回答文の対の中からユーザから入力された質問文に近い質問文を見つけだし、その質問文をユーザから入力された質問文の意図とする。また、ユーザから入力された質問文と登録されている質問文との間の類似度を、ユーザから入力された質問文の意図をあらわす確からしさを示す確信度として算出してもよい。例えば、意図解析部104は、ユーザから入力された質問文を構成する文字列と、対話データ1071に登録されている質問文を構成する文字列との一致度が80%である場合には、上記確信度を80%として算出する。
処理S203は、対話制御部105にて、処理S202によって得られた結果である質問文や対話ログデータ1074(ユーザ発話の言い換えの確認状況、聞き返しの連続回数、対話回数等)に基づいて、対話データ1071に登録されている回答文の中から出力すべき回答文を生成する。ユーザ発話の言い換えの確認状況とは、ユーザの「営業時間を教えて?」という質問に対し、「それは「開いている時間を教えて。」という意味ですか?」と、質問を言い換えてその意図を確認する確認文を出力しているか否かである。また、聞き返しとは、何らかの理由で音声認識精度が低い場合やユーザから入力された質問文に近い質問文が対話データ1071に登録されていない時に「もう一度言って下さい。」のような聞き返し文を出力して回答することである。さらに、聞き返しの連続回数は連続して何回聞き返したかである。
処理S204は、出力処理部109にて、処理S203によって生成された回答文を出力するために必要な処理を行う。例えば、出力処理部109は、回答文を音声で出力する場合は回答文のテキストを任意の音声合成技術により音声に変換する処理を行う。また、回答文をテキストで出力する場合であれば、処理S201で正規化したものを元の表記(ユーザが使用している表記)に戻すといった処理を行ってもよい。また、次の対話が続く場合は、上記の言い換えの確認状況、確認中の質問を識別するID、聞き返しの連続回数、対話回数を対話ログデータ1074に記憶し、引継ぎを行ってもよい。
<2−2.対話制御処理>
図3は対話制御処理S203の詳細を示すフロー図である。
図3では、処理S202により得られた結果である質問文や対話ログ1074から得られる3つの情報(上記の類似度、確認状況、対話回数)に基づいて、対話制御部105が、3種類の処理(確認処理、回答処理、聞き返し処理)から1つを選択する例を示している。
処理S301では、対話制御部105は、確信度により分岐処理を行う。具体的には、対話制御部105は、処理S202において意図解析部104により判定された上記確信度が所定の閾値(例えば、80%)以上であるか否かを判定し、確信度が当該閾値以上であると判定した場合(S301;Yes)、処理S302に進む。対話制御部105は、確信度が閾値未満であると判定した場合(S301;No)、処理S307に進む。上記閾値は任意の値をシステム管理者が設定してもよいし、任意の手法により自動的に設定するようにしてもよい。
処理S302では、対話制御部105は、確認状況により分岐処理を行う。具体的には、対話制御部105は、S305の確認処理を実行中、すなわち、上記確認文を出力している状態であるか否かを判定し、確認処理を実行中であると判定した場合(S302;Yes)、処理S305に進む。対話制御部105は、確認処理を実行していないと判定した場合(S302;No)、処理S303に進む。
処理S303では、対話制御部105は、確認が必要な候補データ1072の有無により分岐処理を行う。具体的には、対話制御部105は、対話データ1071の中から確信度が閾値以上であると判定された質問文の言い換えの候補が候補データ1072にあるか否かを判定する。上記質問文の候補の判定は、例えば、図4に示す対話データ1071に記憶されている対話IDと同じ値の候補IDの有無を判定し、上記同じ値の候補IDがあると判定した場合、その候補IDに対応する言い換えが候補データとして登録されていると判定する。
対話制御部105は、候補データがあると判定した場合(S303;Yes)、処理S304に進み、候補データがないと判定した場合(S303;No)、処理S306に進む。
処理S304では、対話制御部105は、対話回数により分岐処理を行う。具体的には、対話制御部105は、あるユーザとの間で対話の回数が、あらかじめ定められた閾値回数(例えば、N=3)の対話であるか否かを判定する。対話制御部105は、対話回数が上記閾値回数であると判定した場合(S304;Yes)、処理S305に進み、それ以外の場合(S304;No)、処理S306に進む。上記閾値回数Nは任意の数であり、例えば任意の値をシステム管理者が設定してもよい。この例では3回の対話に対して1回の頻度で、次のS305の確認処理が実行されることとなる。このような閾値を設けることにより、頻繁に確認処理が実行されることによるユーザの不快感を抑えることができる。
処理S305では、対話制御部105は、確認が必要な候補データの中から1つを選択し、その候補データがユーザにより発話された質問文の言い換えの適否を確認する確認処理を行う。確認処理については後述する。
処理S306では、対話制御部105は、ユーザにより発話された質問文に回答する回答処理を行う。具体的には、対話制御部105は、S301で確信度が閾値以上と判定された質問文に対応する回答文を対話データ1071の中から読み出し、読み出した回答文を出力する。
処理S307では、対話制御部105は、「もう一度言ってください。」といったような聞き返し文を出力する聞き返し処理を行う。聞き返し文はあらかじめメモリ107に記憶しておけばよい。
<2−3.対話制御処理における確認処理>
図4は、対話制御処理S203における確認処理S305の例を示す。確認処理S305では、対話データ1071と候補データ1072を用いる。図4に示すように、対話データ1071は、ユーザとの対話を識別するために対話IDと、その対話IDで識別される対話における質問文(Q)と、その質問文に対する回答を示す回答文(A)とが対応付けて記憶されている。例えば、対話データ1071には、対話IDが「1」で識別される「営業時間は?」という質問文に対し、「営業時間は10:00から18:00です。」という回答文が登録されていることを示している。また、同じ対話IDで識別される「いつ開いているの?」という質問文に対しても同様の回答文が登録されていることを示している。対話IDは質問文の意図毎(回答毎)に付与されるため、任意の質問文とその言い換えは同一の対話IDとなる。
また、図4に示すように、候補データ1072は、質問文の候補を識別するための候補IDと、その候補IDで識別される言い換えの候補となる質問文(Q)と、ユーザからの質問文がその質問文の意図であることが言い換えにより確認できた回数を示す適切フラグと、ユーザからの質問文がその質問文の意図であることが言い換えにより確認できなかった回数を示す不適切フラグと、その言い換えの候補が既に対話データの質問文として登録されているか否かを示す登録フラグとが対応付けて記憶されている。適切フラグとは、ユーザに確認した際に、言い換えが適切であると回答された回数である。同様に、不適切フラグとは、言い換えが不適切であると回答された回数である。この例では、候補IDが1である「開いている時間を教えて。」という質問文が、その確認結果(適切と判断された回数、不適切と判断された回数)と登録状況と共に登録されている。また確認結果には、適切フラグの値と不適切フラグの値の他に、適否を判断できないと判断された回数を示す不明フラグの値を入れてもよい。
また、図4に示すように、ユーザから「営業時間は?」と質問文が入力された場合、処理S303では、まず、対話制御部105は、その質問文が対話データ1071の質問文(Q)に登録されているか否かを確認する。対話制御部105は、その質問文が対話データ1071に登録されていると判定した場合、その質問文に対応する対話IDを取得する。
次に、対話制御部105は、取得した対話IDと同じ値の候補IDの質問文が候補データ1072に存在するかを確認する。処理S305では、対話制御部105は、候補データから1つの質問(Q)を選択し、ユーザ発話の言い換えの適切さを確認する質問を行う。候補データが複数ある場合の選び方については以降で述べる。この例では、「開いている時間を教えて。」という質問が選択され、「今のは「開いている時間を教えて。」という意味ですか?」という確認文を出力してユーザに尋ねている。それに対し、ユーザはその確認文による言い換えが適切であることを示す返事「はい。」と答え、対話システム100は確認処理S305においてその返事を受け取っている。
また、図4に示すように、最初から最後までの一連の対話のシーケンスに含まれる対話の履歴が、対話ログデータ1074に記憶されている。対話ログデータ1074は、ユーザと本システムとの間で1回の対話が行われる都度、対話制御部105により記録される。図4では、対話ログデータ1074には、質問文や確認文または回答文を識別するためのログIDと、そのログIDにより識別される質問文または回答文の内容とが対応付けて記憶されていることがわかる。
図5は確認処理S305の詳細を示すフロー図である。
図5では、ユーザ発話の言い換えの適切さを確認する確認処理に関する回答文を生成する例を示している。
処理S501では、対話制御部105は、言い換えの確認状況により分岐処理を行う。具体的には、対話制御部105は、ユーザ発話の言い換えを確認中であるか否か(例えば、図4に示したログID2の確認文により確認処理を実行中であるか否か)を判定し、確認中であると判定した場合(S501;Yes)、処理S502に進み、確認中でないと判定した場合(S510;No)、処理S512に進む。
処理S502では、対話制御部105は、言い換えの適切性により分岐処理を行う。具体的には、対話制御部105は、確認処理で本システムが出力した確認文に対するユーザの返事が「はい。」等の言い換えが正しい旨を示す内容であるか否かを判定することにより、言い換えが適切であったか否かを判定する。対話制御部105は、ユーザから上記正しい旨を示す返事を受け取り、言い換えが適切であったと判定した場合(S502;Yes)、処理S503に進み、不適切であったと判定した場合(S502;No)、処理S504に進む。
処理S503では、対話制御部105は、候補データ1072の適切フラグの値に1を追加する。
処理S504では、対話制御部105は、候補データ1072の不適切フラグの値に1を追加する。
図6は、処理S503と処理S504の言い換え確認前後の対話データ1071と候補データ1072の例を示している。(1)には確認処理前の状態が示されており、(2)には確認処理後の状態が示されている。(2−1)のように、対話制御部105により確認結果が適切であると判定された場合は候補データ1072の適切フラグの値が1追加される。一方、(2−2)のように、対話制御部105により確認結果が不適切であると判定された場合は候補データ1072の不適切フラグの値が1追加される。図6では、「開いている時間はいつ?」との言い換えは適切であると判定される一方、「休憩時間はいつ?」との言い換えは不適切であると判定されたことがわかる。
処理S505〜S511は、候補データ1072が1つの候補IDについて複数登録されている場合には、各データ(本例では、「開いている時間はいつ?」および「休憩時間はいつ?」)に対して繰り返し行い、その後処理S306に進む。
処理S506では、対話制御部105は、適切フラグの値と不適切フラグの値により分岐処理を行う。具体的には、対話制御部105は、適切フラグの値と不適切フラグの値との間の関係が所定の条件を満たすか否かを判定する。例えば、対話制御部105は、候補データ1072に記憶されている各データのうち、適切フラグの値よりも不適切フラグの値が閾値となる一定数以上大きい値であると判定した場合、そのデータは候補データ1072として不適切であると判断する一方、適切フラグの値よりも不適切フラグの値が閾値となる一定数以上大きい値でないと判定した場合、そのデータは候補データ1072として適切であると判断する。
対話制御部105は、候補データ1072の各データについて候補データ1072として適切であると判定した場合(S506;Yes)、処理S507に進む。また、対話制御部105は、候補データ1072の各データについて候補データ1072として不適切であると判定した場合(S506;No)、処理S508に進む。適切か否かの判定方法には、上記のほか任意の方法を用いることができる。
例えば、上記のような適切フラグの値と不適切フラグの値との間の相対的な関係ではなく、適切フラグの値がある閾値A以上であり、不適切フラグの値が別の閾値B以下である場合には言い換えが適切と判断し、それ以外を不適切と判断するというように、適切フラグの値、不適切フラグの値それぞれあらかじめ定められた値を用いてもよい。また、適切の値/(適切の値+不適切な値)がある閾値C以上の場合に適切、それ以外を不適切と判断してもよい。この場合、閾値Aと閾値Bはシステム管理者が決定してよいし、言い換え確認のログに基づいて自動的に調整してもよい。
処理S507では、対話制御部105は、対話データ1071に、上記関係を判定した候補データ1072のデータが含まれているか否かにより分岐処理を行う。具体的には、対話制御部105は、上記候補データ1072のデータが対話データ1071に含まれているか否かを判定し、上記候補データ1072のデータが対話データ1071に含まれていると判定した場合(S507;Yes)、処理S511に進む。一方、対話制御部105は、上記候補データ1072のデータが対話データ1071に含まれていないと判定した場合(S507;No)、処理S509に進む。
処理S508では、S507と同様、対話データ1071に、上記関係を判定した候補データ1072のデータが含まれているか否かにより分岐処理を行う。対話制御部105は、対話データ1071に、上記関係を判定した候補データ1072のデータが含まれていると判定した場合(S508;Yes)、処理S510に進み、対話データ1071に、上記関係を判定した候補データ1072のデータが含まれていないと判定した場合(S508;No)、処理S511に進む。
処理S509では、対話制御部105は、対話データ1071に、上記関係を判定した候補データ1072のデータ(言い換えが適切と判定されたデータ)を追加する。
処理S510では、対話制御部105は、対話データ1071から、上記関係を判定した候補データ1072のデータ(言い換えが不適切と判定されたデータ)を削除する。
図7は、処理S505〜S511の更新前後の対話データ1071と候補データ1072の例を示している。(1)には更新前の状態が示されており、(2)には更新後の状態が示されている。(2−1)のように、対話制御部105により言い換えが適切であると判定された場合は候補データ1072の登録フラグの値が「済」となり、対話データ1071に追加される。一方、(2−2)のように、対話制御部105により言い換えが不適切であると判定された場合は候補データ1072の登録フラグの値が「未」となり、対話データ1071に追加されない。
図7(2−1)では、「開いている時間はいつ?」との言い換えは10回のすべての対話で適切であると判定されたため登録フラグに「済」が設定され、「開いている時間はいつ?」との言い換えが対話データ1071に登録されることを示している。一方、「休憩時間はいつ?」との言い換えは10回の対話のうち9回不適切であると判定されたため登録フラグに「未」が設定され、「開いている時間はいつ?」との言い換えが対話データ1071に登録されず、既に登録されている場合は対話データ1071に登録されていないことがわかる。
なお、メンテナンス部106は、システム管理者がメモリ107に格納されているデータを管理するために、図6や図7に示す対話データ1071、候補データ1072を含む画面データを言い換え確認結果データ1073として出力するインターフェースを備えていてもよい。例えば、対話システム100を実現する情報処理装置の入出力装置103がその情報処理装置の裏面に備えられ、当該装置に、管理者により操作される上記言い換え確認結果データ1073を管理者画面として出力されてもよい。
図11は、言い換え確認結果データ1073の例を示す図である。図11に示すように、言い換え確認結果データ1073は、対話データ1071と同様の結果IDと質問文(Q)と回答文(A)と、候補データ1072と同様の適切フラグと不適切フラグと登録フラグと、判定された確認文を手動で上記質問文に登録するか否かを示すマニュアル登録フラグとが対応付けて記憶されている。図11では、例えば、ユーザに対する確認文「開いている時間はいつ?」と「どこから出れるの?」のシステム結果登録フラグが「済」となっているため、それらが各質問の言い換えとして適切であると判定され、候補データ1072から対話データ1071に登録されていることを示している。
一方、確認文「休憩時間は?」のシステム結果登録フラグは「未」となっているため、質問の言い換えとして不適切と判断され、対話データ1071に登録されていないことを示している。また、確認文「開いている時間はいつ?」はマニュアル登録フラグがチェックされている。これは管理者が対話データ1071に登録を指示していることを示している。一方、確認文「休憩時間は?」と「どこから出れるの?」はマニュアル登録フラグがチェックされていない。これは管理者が対話データ1071に登録を指示していないことを示している。これらの管理者からのマニュアル登録フラグの入力に基づき、メンテナンス部106は対話データ1071を更新する。
すなわち、対話システム100では、上記のとおり、言い換えが適切であると判定された場合に自動的に候補データ1072から対話データ1071に登録することも可能であるが、上記言い換えの確認結果を言い換え確認結果データ1073として画面に出力し、管理者が目視でその結果を確認した上で所望の候補データ1072を選択して対話データ1071に登録する候補データ1072を選択してもよい。ユーザにとっては適切であると判断された言い換えであっても、ユーザごとに言い換えの許容度が異なるため、様々な言い換え表現が対話データ1071に登録される場合がある。したがって、上記のように管理者が言い換え確認結果データ1073を確認して登録すべきか否かを判断した上で、候補データ1072を対話データ1071に登録することにより、対話データ1071で保持するデータ量を抑えることができる。
処理S512では、対話制御部105は、ユーザ発話と対話データ1701と候補データ1702に基づいて分岐処理を行う。具体的には、対話制御部105は、ユーザ発話に対応する言い換えが候補データ1702の中に登録フラグが未登録、すなわち対話データ1071には未登録として記憶されているデータがあるか否かを判定する。対話制御部105は、上記候補が対話データ1701に未登録として記憶されていると判定した場合(S512;Yes)、処理S513に進み、上記候補が対話データ1701に未登録として記憶されていないと判定した場合(S512;No)、回答処理S306に進む。
処理S513では、対話制御部105は、上記言い換えの候補の数により分岐処理を行う。具体的には、対話制御部105は、対話データ1701に未登録として記憶されている上記候補が複数あるか否かを判定し、対話データ1701に未登録として記憶されている上記候補が複数あると判定した場合(S513;Yes)、処理S514に進み、対話データ1701に未登録として記憶されている上記候補が複数ないと判定した場合(S513;No)、処理S515に進む。
処理S514では、対話制御部105は、複数の上記候補からユーザに確認するデータを1つ選択する。例えば、ランダムに選択してもよいし、言い換えが候補データ1072のデータとして登録された順に選択してもよい。
処理S515では、対話制御部105は、候補データ1072のデータから確認文を生成し、ユーザへの回答文とする。
なお、上記の例では、ユーザから「営業時間は?」という質問文が入力された場合、処理S305では、まずその質問文に近い質問文を対話データ1071の中から探し、その結果を元に候補データを用いてユーザにその質問の意図を確認する処理を行い、回答文を出力している。しかし、質問文に対する回答文の適合率を重視する場合は、閾値を設定し、検索結果のスコアが閾値以上でないと回答しないようにしてもよい。
<2−4.対話制御処理における回答処理>
図8は、対話制御処理S203における回答処理S306の例を示す。対話制御部105は、回答処理S306において対話データ1071を用いる。この例では、対話データ1071には、図4に示したように、対話IDと質問文と回答文とが対応付けて記憶されている。したがって、S306では、対話制御部105は、例えば、対話IDが1である「営業時間は?」という質問文に対し、「営業時間は10:00から18:00です。」という回答文を出力する。回答処理S306には上記のように対話データ1071の他に対話ログデータ1074を用いて、これまでの対話に基づいた回答文を出力してもよい。
<2−5.対話制御処理における聞き返し処理>
図9は、対話制御処理S203における聞き返し処理S307の例を示す。対話制御部105は、例えば、「営業時間は?」というユーザからの質問文に対し、「よく聞き取れませんでした。もう一度言って下さい。」という回答文を出力している。この処理は、周りの雑音の影響で音声をテキストに変換する際の認識結果の確信度が低い場合や、意図解析処理が失敗した場合(意図解析結果の確信度が閾値以下の場合)に実行される。S307で出力する回答文については、あらかじめメモリ107に記憶しておけばよい。
このように、本システムによれば、大規模な言い換えコーパスが事前に用意できない場合であっても、ユーザとの間の一連の対話の中で、言い換えの適否を確認しつつ、対話を行うことができ、自動生成された言い換え文の精度を向上させることができる。
実施例1では、処理S304において、確認処理の頻度N(N回に1回確認処理を行う)は、システム管理者が設定してもよいとした。一方で、本手法はユーザに言い換えの適切性の確認という余計な手間をかけてしまうことになるので、ユーザが不快に感じない頻度にすることが望ましい。そのため、ユーザの不快度合いを考慮して頻度Nを自動調整することもできる。
図12は、対話制御部105に含まれる確認頻度最適化モジュール1201が、ユーザの不快度合いを考慮して頻度Nを自動調整する場合の例を示す図である。図12では、例えば、対話システム100のメモリ107に確認ログデータ1202が記憶され、確認頻度最適化モジュール1201が、当該確認ログデータ1202を読み出して当該ユーザとの対話における確認の頻度を決定して確認処理を実行する手順を示している。
確認ログデータ1202は、ユーザごとに、対話時に実行された確認処理の頻度とユーザの不快度との関係を表すデータである。図12に示すように、確認ログデータ1202には、ユーザごとに、一連の対話を識別するためのセッションIDと、確認処理の実行頻度を示す確認頻度と、ユーザの不快度とが対応付けて記憶されている。図12では、例えば、ユーザAと本システムとの間の対話のうち、セッションIDが「1」で識別される一連の対話(例えば、図4に示した対話ログデータ1074のログIDが「1」〜「4」に示す、最初から最後までの一連の対話)では、5回の対話に対して1回の頻度で確認処理を実行し、そのときのユーザAの不快度は「2:やや快適」であったことを示している。不快度は、対話が最後までスムーズに完了したかを示す対話成効率や、ユーザの声の抑揚、カメラ等の撮像装置により撮像されたユーザの顔、仕草、動作の画像からの感情分析結果によって算出すればよい。本例では、不快度の値を1から5の値(1:快適、2:やや快適、3:普通、4:やや不快、5:不快)としてあらわしている。
確認頻度最適化モジュール1201は、対話時の確認頻度と不快度のログを入力とし、所定のアルゴリズムで確認頻度の最適化を行う処理部である。例えば、少なくとも平均的な不快度が3以下となるように確認頻度とする場合を考えると、確認頻度が「5」の場合は不快度の平均が「1.5」となり、確認頻度が「4」の場合は不快度の平均が3となる。したがって、確認頻度最適化モジュール1201は、両者の値のうち、少なくとも平均的な不快度が3以下となるという条件を満たす確認頻度「4」を、対話システム100の確認頻度として設定する。なお、上記では不快度の平均を統計値として算出する場合を例示したが、中央値、最頻値等の他の統計値として不快度を算出してもよい。このように、確認文の出力頻度をユーザの不快度に応じて設定することにより、様々なユーザが心地よく対話システム100と対話することができる。
実施例1では、処理S514にて複数の言い換えが存在する場合、候補データ1072の中から出力するデータをランダムで選択していた。一方で、複数の言い換えに対し、優先的に確認したい言い換えを選択することもできる。
例えば、図10は、似た言い換えをまとめ、対話データ1071に登録されているデータとは異なる言い換えを優先的に確認したい場合の候補データの選択処理フローの一例である。
処理S1001では、対話制御部105は、候補データ1072を任意の手法によりクラスタリングする。その一手法として、対話制御部105は、候補データ1072に記憶されている各データを文字解析する等して、語尾のみが異なるデータは同じグループとなるように、候補データ1072の各データをグルーピングし、そのグループごとに一意となるクラスを定める。例えば、候補データ1072のある候補IDに対応付けて、「名前を教えて?」、「名前を教えてください。」、「名前を教えてほしい。」、「なんて呼ばれているの?」というデータが記憶されている場合、最初の3つのデータを1つのクラスに分類し、最後の1つのデータをそのクラスとは別のクラスに分類する。
処理S1002では、対話制御部105は、処理S1001の結果として得られたグループの中から、対話データ1071に登録されているデータと類似度が低いデータのクラスを選択する。例えば、対話制御部105は、グルーピングされたクラスに含まれる各データと登録済みデータとの類似度の平均値を算出し、その平均値を、上記クラスと登録済みデータとの類似度とする。類似度の計算は、例えば、レーベンシュタイン距離等、従来から知られている手法を用いればよい。
処理S1003では、対話制御部105は、処理S1002で選択されたクラスに含まれるデータの中から、対話データ1071に登録されているデータとの類似度が低く所定の閾値を満たさないデータを言い換えの候補として選択する。例えば、対話制御部105は、選択されたクラスに含まれるそれぞれのデータと対話データ1071に登録されているデータとの類似度を上記同様の手法で算出し、その中で最も類似度が低く所定の閾値を満たさないデータを選択する。
上記のようにクラスタリングすることで、似た言い換えをまとめることができ、似たような確認文を連続して出力することがなくなる。また、類似度の低いものから適切性を確認することで、異なる語彙や文法を用いた言い方を優先的に出力し、評価することができるようになるため、多様な言い換えに対応できる対話システムをより早期に構築可能となることが期待できる。
100 対話システム
101 CPU
102 データ通信部
103 入出力装置
104 意図解析部
105 対話制御部
106 メンテナンス部
107 メモリ
1071 対話データ
1072 候補データ
1073 言い換え確認結果データ
1074 対話ログデータ
108 入力処理部
109 出力処理部
1201 確認頻度最適化モジュール
1202 確認ログデータ。

Claims (9)

  1. ユーザからの質問に対する回答を出力して前記ユーザと対話する情報処理装置であって、
    前記質問を受け付ける入力部と、
    前記対話において、前記入力部が受け付けた前記質問に対する回答を出力するために、前記質問の意図を確認する確認文である前記質問の言い換えの候補を候補データの中から選択し、選択した前記候補による前記質問の言い換えの適否を前記ユーザに確認する確認処理を実行し、前記適否の結果に基づいて、前記候補を前記質問に対する言い換えとして登録する対話制御部と、
    を備えることを特徴とする情報処理装置。
  2. 前記対話制御部は、前記質問の言い換えが適切と判定された回数と、前記質問の言い換えが不適切と判定された回数とが所定の関係を満たす場合、前記適否が適切であると判定し、前記候補を前記質問に対する言い換えとして登録する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記対話制御部は、前記質問の言い換えが適切と判定された回数と、前記質問の言い換えが不適切と判定された回数とが所定の関係を満たさない場合、前記適否が不適切であると判定し、前記言い換えとして登録された前記候補を削除する、
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記対話制御部は、前記対話における前記確認処理を所定の頻度で実行する、
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記対話制御部は、前記確認処理の頻度と前記ユーザの不快度とが前記対話ごとに記憶された確認ログデータに基づいて、前記ユーザの前記対話ごとの不快度の統計値を算出し、算出した前記不快度の統計値に対応する前記頻度で前記確認処理を実行する、
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記対話制御部は、複数の前記候補をクラスタリングして1または複数のクラスに分類し、登録済みの質問との類似度が所定の閾値を満たさないクラスとして分類された前記候補を前記質問に対する言い換えとして優先的に確認処理をする、
    ことを特徴とする請求項1に記載の情報処理装置。
  7. 前記質問と前記質問に対する回答と前記適否の結果とを含む言い換え確認結果データを表示部に出力し、
    管理者から前記表示部を介して前記質問に対する言い換えとして登録する前記候補の選択を受け付けるメンテナンス部、
    を備えることを特徴とする請求項1に記載の情報処理装置。
  8. ユーザから質問を受け付け、
    前記質問に対する回答を出力する前記ユーザと対話において、
    前記質問に対する回答を出力するために、前記質問の意図を確認する確認文である前記質問の言い換えの候補を候補データの中から選択し、
    選択された前記候補による前記質問の言い換えの適否を前記ユーザに確認する確認処理を実行し、
    前記適否の結果に基づいて、前記候補を前記質問に対する言い換えとして登録する、
    ことを特徴とする対話処理方法。
  9. コンピュータに、
    ユーザから質問を受け付ける処理、
    前記質問に対する回答を出力する前記ユーザと対話において、
    前記質問に対する回答を出力するために、前記質問の意図を確認する確認文である前記質問の言い換えの候補を候補データの中から選択する処理、
    選択された前記候補による前記質問の言い換えの適否を前記ユーザに確認する確認処理を実行する処理、
    前記適否の結果に基づいて、前記候補を前記質問に対する言い換えとして登録する処理、
    を実行させることを特徴とする対話処理プログラム。
JP2017101901A 2017-05-23 2017-05-23 情報処理装置、対話処理方法、及び対話処理プログラム Active JP6980411B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017101901A JP6980411B2 (ja) 2017-05-23 2017-05-23 情報処理装置、対話処理方法、及び対話処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017101901A JP6980411B2 (ja) 2017-05-23 2017-05-23 情報処理装置、対話処理方法、及び対話処理プログラム

Publications (2)

Publication Number Publication Date
JP2018197924A JP2018197924A (ja) 2018-12-13
JP6980411B2 true JP6980411B2 (ja) 2021-12-15

Family

ID=64663038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017101901A Active JP6980411B2 (ja) 2017-05-23 2017-05-23 情報処理装置、対話処理方法、及び対話処理プログラム

Country Status (1)

Country Link
JP (1) JP6980411B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210232414A1 (en) * 2020-01-29 2021-07-29 Toyota Jidosha Kabushiki Kaisha Agent device, agent system, and recording medium

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020190865A (ja) * 2019-05-21 2020-11-26 シャープ株式会社 情報処理装置、ユーザ端末装置、制御方法および制御プログラム
US11487945B2 (en) * 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
JP7316165B2 (ja) 2019-09-20 2023-07-27 株式会社日立製作所 情報処理方法および情報処理装置
JP2021051567A (ja) 2019-09-25 2021-04-01 株式会社日立製作所 情報処理方法および情報処理装置
JP7467057B2 (ja) 2019-09-26 2024-04-15 キヤノンメディカルシステムズ株式会社 診療支援装置及び診療支援プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4017407B2 (ja) * 2002-01-25 2007-12-05 富士通株式会社 知識獲得装置、そのための記録媒体およびプログラム
JP2003216634A (ja) * 2002-01-28 2003-07-31 Ricoh Techno Systems Co Ltd 情報検索システム
JP5897991B2 (ja) * 2012-03-30 2016-04-06 Mrt株式会社 専門家評価情報管理装置
JP5559911B1 (ja) * 2013-06-17 2014-07-23 ソフトバンクモバイル株式会社 情報検索装置及びプログラム
JP6448765B2 (ja) * 2015-03-20 2019-01-09 株式会社東芝 対話装置、方法及びプログラム
JP6565408B2 (ja) * 2015-07-17 2019-08-28 日産自動車株式会社 車両制御装置及び車両制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210232414A1 (en) * 2020-01-29 2021-07-29 Toyota Jidosha Kabushiki Kaisha Agent device, agent system, and recording medium
US11809885B2 (en) * 2020-01-29 2023-11-07 Toyota Jidosha Kabushiki Kaisha Agent device, agent system, and recording medium

Also Published As

Publication number Publication date
JP2018197924A (ja) 2018-12-13

Similar Documents

Publication Publication Date Title
JP6980411B2 (ja) 情報処理装置、対話処理方法、及び対話処理プログラム
US11074416B2 (en) Transformation of chat logs for chat flow prediction
US9053096B2 (en) Language translation based on speaker-related information
US8515764B2 (en) Question and answer database expansion based on speech recognition using a specialized and a general language model
WO2017127296A1 (en) Analyzing textual data
JP6019604B2 (ja) 音声認識装置、音声認識方法、及びプログラム
US9922644B2 (en) Analysis of professional-client interactions
Glasser Automatic speech recognition services: Deaf and hard-of-hearing usability
ES2751375T3 (es) Análisis lingüístico basado en una selección de palabras y dispositivo de análisis lingüístico
JP2018045001A (ja) 音声認識システム、情報処理装置、プログラム、音声認識方法
JP4383328B2 (ja) 意味的速記のためのシステム及び方法
CN112346696A (zh) 虚拟助理的语音比较
JP6605105B1 (ja) 文章記号挿入装置及びその方法
US10282417B2 (en) Conversational list management
KR20190074508A (ko) 챗봇을 위한 대화 모델의 데이터 크라우드소싱 방법
JP4839291B2 (ja) 音声認識装置およびコンピュータプログラム
JP2019125154A (ja) 情報処理装置、会話データ処理方法及び情報処理システム
JP6988715B2 (ja) 回答文選択装置、方法、およびプログラム
JP2020064630A (ja) 文章記号挿入装置及びその方法
US11935425B2 (en) Electronic device, pronunciation learning method, server apparatus, pronunciation learning processing system, and storage medium
KR20200072005A (ko) 음성 인식된 문장의 보정 방법
JP2019109424A (ja) 計算機、言語解析方法、及びプログラム
JP6585288B2 (ja) 知識構築活用システムおよびプログラム
WO2022249222A1 (ja) 対話装置、対話方法、およびプログラム
US11971910B2 (en) Topic navigation in interactive dialog systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210528

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: 20211019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211117

R150 Certificate of patent or registration of utility model

Ref document number: 6980411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150