JP6791825B2 - 情報処理装置、対話処理方法及び対話システム - Google Patents

情報処理装置、対話処理方法及び対話システム Download PDF

Info

Publication number
JP6791825B2
JP6791825B2 JP2017185298A JP2017185298A JP6791825B2 JP 6791825 B2 JP6791825 B2 JP 6791825B2 JP 2017185298 A JP2017185298 A JP 2017185298A JP 2017185298 A JP2017185298 A JP 2017185298A JP 6791825 B2 JP6791825 B2 JP 6791825B2
Authority
JP
Japan
Prior art keywords
dialogue
data
failure
information processing
sentence
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
JP2017185298A
Other languages
English (en)
Other versions
JP2019061482A (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 JP2017185298A priority Critical patent/JP6791825B2/ja
Priority to US16/059,233 priority patent/US20190095428A1/en
Priority to CN201811058351.2A priority patent/CN110019747A/zh
Publication of JP2019061482A publication Critical patent/JP2019061482A/ja
Application granted granted Critical
Publication of JP6791825B2 publication Critical patent/JP6791825B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces

Description

本発明は、情報処理装置、対話処理方法及び対話システムに関する。
近年、IT(Information Technology)を用いた高度なサービスの出現によるデジタルデバイドの拡大、グローバル化やライフスタイル多様化によるコミュニケーションの複雑化が進んでいる。そのため、様々な言語での対応を求められる空港や駅での施設案内や、複雑なサービスを複数取り扱う銀行や自治体での窓口業務などのさまざまな対人サービスの提供は、既存の職員だけでは難しくなってきている。このような高度化するサービス業務を支援するため、ロボットや音声アシスタントなどの対話システムの実用化が進められている。
対話システムは、答えられなかった質問に対して迅速に答えられるようになることが求められている。例えば、ある店舗の営業時間を知りたいという質問に答えるための回答が用意されていなかった場合、「営業時間は10時から19時までです。」といった回答を対話システムに登録しておく必要がある。
また、「授乳室はどこですか。」という質問に答えるための回答が対話システムに用意されてあったとしても、「ベビールームを利用したいのですが。」という質問については、共通語彙が少ないため、回答できない場合がある。この場合は、「ベビールームを利用したいのですが。」という質問を対話システムに登録しておく必要がある。
一度答えられなった質問に答えられるようにするためには、膨大な量の対話ログデータから対話の失敗箇所を見つけだし、失敗原因を分析し、分析結果に応じて、上記のような対応が必要となる。
これまでに対話システムにおける対話ログデータの分析するための技術や対話の失敗箇所に対応するための技術は考えられており、特許文献1と非特許文献1に開示される技術が知られている。特許文献1には、ログデータの分析結果を可視化する技術が開示されている。
具体的にはログデータに含まれる文字列を定量化して分析するために、ログデータの重複する文字列を1つにまとめ、異なる文字列の共通部分を節とする木構造図と類似度を表示する。また、類似度とログデータの時刻情報を対応付けて分布図も表示する。このようにログデータを可視化することで、ユーザ入力(対話データ)の傾向の把握や分析を効率化できる。
非特許文献1には、ユーザからの質問に対して、システムが用意できる回答が自信のない(確からしさのスコアが低い)時に、ユーザに対して聞き返しをすることで学習する方法が開示されている。例えば、「Which movvie did Tom Hanks sttar in?」とユーザが入力したとする。「movvie」は「movie」と誤って入力され、「sttar」は「star」と誤って入力されている。
この時、対話システムはユーザからの質問を確かめるために、「What do you mean?」と聞き返しを行う。それに対し、ユーザが前の言い方を換えて、「I mean which film did Tom Hanks appear in?」と誤りを含まない言い方で入力すると、対話システムは質問を解釈できるようになり、「Forest Gump」と答えることができる。非特許文献1では、回答の正しさをユーザが教えることで、どのような聞き返しをすべきか、また聞き返すべきではないかを対話システムが学習する。
特開2017−76161号公報
Jiwei Li、Alexander H. Miller、Sumit Chopra、Marc’Aurelio Ranzato、 Jason Weston、Learning Through Dialogue Interactions、Proceedings of the 5th International Conference on Learning Representations (2017)
従来技術では、答えられなかった質問を答えるために必要な知識を習得するための確認を対話システムが自ら実施することは難しい、という問題があった。例えば、「授乳室」と「ベビールーム」が同義語であるかが不明な場合に、人に「「授乳室」と「ベビールーム」は同義語ですか。」という質問をし、確認することはできなかった。
さらに、対話の失敗箇所の検出、分析、分析結果に応じた回答の設定などを人手で行う作業のコストは高い。そのため、早く対応するためには多くの人あるいは多大な労力を要するという問題があった。また、対話の失敗箇所の発見と失敗原因分析には、対話システムの専門家が必要になり、新規の質問や回答の登録には業務の専門家が必要になる場合もあった。
そこで本発明は、上記問題点に鑑みてなされたもので、対話システムが答えられなかった質問に答えるための知識を容易に拡充することを目的とする。
本発明は、プロセッサとメモリを有し、ユーザからの入力文と、当該入力文に対する回答を出力文として含む対話ログデータを分析する情報処理装置であって、前記対話ログデータを入力し、当該対話ログデータから対話の失敗個所を検出する失敗個所検出部と、前記失敗個所に対応する前記対話ログデータから失敗原因を分析する失敗原因分析部と、前記失敗原因に応じて前記対話ログデータから質問文を生成して出力する確認処理部と、前記質問文に対する回答を受け付けて、前記入力文から出力文を得るための対話データに新たな知識として追加する知識登録処理部と、を有する。
本発明によれば、情報処理装置(対話システム)からの質問に答えるだけで、情報処理装置が答えられなかった質問に答えるための知識を拡充することができる。
本発明の実施例1を示し、対話システムを構成する情報処理装置の一例を示すブロック図である。 本発明の実施例1を示し、対話データの一例を示す図である。 本発明の実施例1を示し、対話ログデータの一例を示す図である。 本発明の実施例1を示し、対話ログ分析データの一例を示す図である。 本発明の実施例1を示し、確認事項データの一例を示す図である。 本発明の実施例1を示し、情報処理装置で行われる処理の一例を示すフローチャートである。 本発明の実施例1を示し、学習時に行われる失敗箇所の抽出処理の一例を示すフローチャートである。 本発明の実施例1を示し、識別時に行われる失敗箇所の抽出処理の一例を示すフローチャートである。 本発明の実施例1を示し、対話の成功または失敗の判定結果を付与した既存の対話ログデータの一例を示す図である。 本発明の実施例1を示し、学習時に行われる失敗原因分析処理の一例を示すフローチャートである。 本発明の実施例1を示し、識別時に行われる失敗原因分析処理の一例を示すフローチャートである。 本発明の実施例1を示し、失敗原因の正解を付与した既存の対話ログデータの一例を示す図である。 本発明の実施例1を示し、確認処理と知識確認処理の一例を示すフローチャートである。 本発明の実施例1を示し、対話ログ分析データの一例を示す図である。 本発明の実施例1を示し、確認事項データの一例を示す図である。 本発明の実施例1を示し、確認結果を付与した確認事項データの一例を示す図である。 本発明の実施例1を示し、確認結果を付与した対話ログ分析データの一例を示す図である。 本発明の実施例1を示し、ロボットを用いた知識確認処理の一例を示す図である。 本発明の実施例1を示し、チャットボットを用いた知識確認処理の一例を示す図である。 本発明の実施例1を示し、表形式を用いた知識確認処理の一例を示す図である。 本発明の実施例1を示し、表形式の言い換え候補データを用いた知識確認処理の一例を示す図である。 本発明の実施例1を示し、知識登録処理における対話データの一例を示す図である。 本発明の実施例2を示し、同義語を考慮した対話ログデータの一例を示す図である。 本発明の実施例2を示し、確認事項データの一例を示す図である。 本発明の実施例2を示し、対話ログ分析データの一例を示す図である。 本発明の実施例2を示し、対話データの一例を示す図である。 本発明の実施例3を示し、確認事項データの一例を示す図である。 本発明の実施例2を示し、失敗原因分析処理の一例を示すフローチャートである。 本発明の実施例3を示し、対話システムの一例を示すブロック図である。 本発明の実施例4を示し、対話システムの一例を示すブロック図である。
実施の形態について、図面を用いて詳細に説明する。ただし、以下に示す実施の形態の記載内容に限定して解釈されるものではない。
また、本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。以下で示すように、本実施例では、対話ログから失敗箇所を検出し、失敗原因を分析し、分析結果に合わせて確認者向けの質問を出力し、回答結果を基に新たな知識を追加することで、対話の知識を拡充する。以下では実施例を説明する。
<1.対話システム全体構成>
図1は、本実施例1における対話システムを構成する情報処理装置1の構成の一例を示すブロック図である。
対話システムは、具体的な例としては、コンピュータ等の情報処理装置1により構成される。情報処理装置1は、中央処理装置(CPU)11、キーボードや画像モニタなどの入出力装置13、磁気ディスク装置や半導体記憶素装置で構成されたメモリ14を含む。また、外部とデータをやり取りするためのインターフェースとして、データ通信部12を含んでいてもよい。データ通信部12は、例えば外部のネットワーク70と接続される。なお、入出力装置という場合、入出力両機能を含む装置のみを意味するのではなく、入力機能のみを含む装置、出力機能のみを含む装置、さらには入出力の両方を含む装置のいずれも意味するものとする。
本実施例1では計算や制御等の機能は、メモリ14に格納されたプログラムがCPU11によって実行されることで、定められた処理を他のハードウェアと協働して実現される。CPU11が実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
図1では、概念的にCPU11が、ソフトウェアに基づいて実行する機能を、制御部60、入力処理部16、出力処理部17として示している。これらの機能を実現するためのプログラムはメモリ14に格納される。また、メモリ14には各プログラムが利用するデータとして、対話データ20、言い換え候補データ21と、対話ログデータ30、対話ログ分析データ40、確認事項データ50等が格納される。
なお、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供されたり、配布されてもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
メモリ14に格納する、対話データ20や対話ログデータ30、対話ログ分析データ40、確認事項データ50は入出力装置13を介して入出力することができる。なお、本実施例1では、対話データ20や対話ログデータ30、対話ログ分析データ40、確認事項データ50を情報処理装置1から出力する例を示す。しかし、これに限定されるものではなく、例えば、対話システムの外部に設けられたディスプレイ、スクリーン、スピーカ等の出力装置からこれらのデータを出力し、当該出力を確認したユーザが情報処理装置1に対してさらに質問(あるいは応答)を入力することができる。
また、入出力装置13は、キーボードやマウス、タッチパネルやマイクなどの入力装置と、ディスプレイやタッチパネルやスピーカなどの出力装置を含むことができる。
制御部60は、対話ログデータ30を参照して、対話ログデータ30から失敗箇所を検出し、失敗原因を分析し、分析結果に応じて確認者向けの質問文を出力し、回答結果を受け付けて新たな知識を登録(追加)する処理を制御する。なお、本実施例1の確認者は、失敗を回避するための回答を提供する者であり、例えば、情報処理装置1の管理者やユーザを含む。
入力処理部16は、確認者から入力された回答文をテキストに変換する等、本システムで必要な入力処理を行う処理部である。出力処理部17は、上記質問文を出力する等、本システムで必要な出力処理を行う処理部である。
なお、本実施例1の対話システムは、情報処理装置1の制御部60と入力処理部16及び出力処理部17で対話が実行される。
例えば、入力処理部16は音声認識部(図示省略)を含んで、マイクなどの入力装置から受け付けた音声をテキストに変換する。制御部60は、変換されたテキストを質問として受け付けて対話データ20を参照し、回答(または応答)データを対話データ20から検索して検索結果を出力する。なお、本実施例1では、N個の検索結果を選択して確信度からシステム出力文を決定する例を示す。
出力処理部17は音声合成部(図示省略)を含んで、出力された検索結果から音声を生成し、スピーカ等の出力装置から出力する。制御部60は、対話のログを対話ログデータ30に蓄積する。
なお、音声やテキストによる対話処理の詳細については、公知または周知の技術を用いれば良いので、本実施例1では詳述しない。本実施例1では、対話ログデータ30から対話の失敗を検出し、失敗原因の分析と、分析結果に応じた新たな知識の拡充について説明する。
以上の構成は、図1に示したように単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の各機能部が、ネットワークで接続された他のコンピュータで構成されてもよい。また、本実施例1中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)や、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
図2A〜図2Dに対話システムが使用する各データの例を示す。
図2Aは、対話データ20の一例を示す図である。対話データ20は「対話id」201と、「入力文」202と、「出力文」203の3つの項目をひとつのエントリに含む。
「対話id」201は対話データを識別するための識別子である。例えば、対話idがd1の入力文は「エレベータの場所を教えて」であり、出力文は「各階とも北側のお手洗いの隣にあります。」である。この対話データ20を用いることで、制御部60は、ユーザから「エレベータの場所を教えて」と入力されると「各階とも北側のお手洗いの隣にあります。」と回答することができる。
また入力文202には複数の言い換え文が考えられ、言い換え文を登録したい場合は、元の入力文202の下に言い換え文を入力する。その場合、対話idと出力文は入力しない。対話idは出力文203毎に付与するものとする。
図2Bは、対話ログデータ30の一例を示す図である。対話ログデータ30は、制御部60が出力する対話のログを格納する。対話ログデータ30は、ログid301と、ユーザ入力302と、システム出力文303と検索結果304と、分析id305の6つの大項目から構成される。
「ログid」301は対話ログデータを識別するための識別子である。対話ログデータ30には、「ユーザ入力」302に対し、「システム出力文」303が出力されたことが記録される。ユーザ入力302は、ユーザの発話による質問や問い合わせをテキストに変換した値が格納される。ユーザの質問や問い合わせがテキストデータで入力された場合には、当該テキストデータをユーザ入力302へ格納することができる。
システム出力文303は、ユーザ入力302に対する回答(または応答)を対話データ20から検索し、検索結果の中から最適な対話データ20を選択した結果である。なお、ユーザ入力302から最適なシステム出力文303を選択または生成する技術については、公知または周知の技術を用いれば良いので、本実施例1では詳述しない。
また、システム出力文303を決定する「検索結果」304に関するデータも記録される。この例では、検索結果の上位1〜N(Nは自然数)件の確信度341と入力文342と出力文343の組を検索結果(340−1〜340−N)として格納する。
上位1位の検索結果340−1の確信度341が所定の閾値(0〜1の値)以上の場合は、Top1の出力文343をシステム出力文303とし、上位1位の検索結果340−1の確信度341が所定の閾値未満であれば、「ごめんなさい。理解できません。」をシステム出力文303としている。「分析id」305は、後述するように各ログに対応する対話ログ分析データ40の分析idが設定される。
図2Cは、対話ログ分析データ40の一例を示す図である。対話ログ分析データ40には、制御部60で行われる分析結果が格納される。
対話ログ分析データ40は8項目を含む。「分析id」401は対話ログ分析データ40と対話ログデータ30の対応関係が設定された識別子である。1行には「分析id」401に対応する「ユーザ入力」402と、「頻度」403と、「成功/失敗」404と、「失敗原因」405と、「確認事項」(質問文)406と、「確認結果」407と、「確認id」408が含まれる。
分析id401は、対話ログ分析データ40の生成又は更新時に、制御部60が付与する識別子である。ひとつの分析id401は、複数の対話ログデータ30と関連付けることが可能である。
ユーザ入力402には、対話ログデータ30のユーザ入力302の値が格納される。対話ログ分析データ40は、重複するデータを含む対話ログデータ30の重複を排除し、重複回数を頻度として算出した値を基に生成される。
頻度403には対話ログデータ30におけるユーザ入力302の重複数が格納される。成功/失敗404には、対話の結果が成功または失敗のいずれであるかが格納される。失敗原因405には、対話が失敗した原因が格納される。確認事項406には失敗を解消するための問い合わせが格納される。確認結果407には、問い合わせに対応する回答が格納される。確認id408には、対話ログ分析データ40に対応する確認事項データ50の確認idが入力される。
図2Dは、確認事項データ50の一例を示す図である。確認事項データ50は、5項目を含み、制御部60の確認処理部(質問生成部)63で生成された確認事項と、知識登録処理部64が受け付けた回答(確認結果)が格納される。
「確認id」501は確認事項データを識別する識別子である。確認事項データ50の1行には「確認id」501に対応する「確認順位」502と、「確認事項」503と、「確認結果」503と、「頻度」505が含まれる。上記は各データにおける項目の構成の一例であり、並び順が異なっていたり、他の項目が含まれていてもよい。
<2.対話システムの処理の説明>
対話システムで行われる処理の一例について説明する。
<2−1.対話システムの処理の概要>
制御部60は、対話データ20と、対話ログデータ30と、対話ログ分析データ40及び確認事項データ50を用いて、対話ログデータ30から失敗箇所を検出し、失敗箇所について失敗原因を分析し、分析結果に合わせて確認者向けの質問文を生成及び出力し、回答結果を基に新たな知識を登録する処理を行う。
図3は知識習得のために対話システムの情報処理装置1で行われる処理の一例を示すフローチャートである。
ステップS301は、制御部60の失敗箇所抽出部(または失敗箇所検出部)61が、対話ログデータ30を用いて対話が失敗した箇所を抽出(または検出)する処理を行う。抽出結果は対話ログ分析データ40の「成功/失敗」404の値として入力される。例えば、対話ログデータ30に含まれる「授乳室を利用したいのですが」のようなユーザ入力302に対し、回答できるか否かを識別し、回答できないと識別された箇所を失敗箇所として抽出する。
失敗箇所抽出部61は、対話ログデータ30から対話ログ分析データ40を生成し、失敗箇所を含むエントリには成功/失敗404に「失敗」を格納し、そうでない場合には「成功」を格納する。なお、対話の成功と失敗の判定は、後述するように、識別モデル71を用いる。
ステップS302は、制御部60の失敗原因分析部62が、対話ログデータ30を用いて、ステップS301によって抽出された失敗箇所の失敗原因を分析する処理を行う。分析結果は対話ログ分析データ40の「失敗原因」405の値として入力される。
例えば、失敗原因405には大きく分けて2つの場合が考えられる。1つ目はユーザ入力に対して回答するための知識がシステムに登録されていない場合である。もう1つはユーザ入力302に対して回答するための知識が対話システムに登録されているが、ユーザ入力302と、登録されている知識の表現方法が違っている場合である。
具体的には、「喫煙室」に関する知識が登録されていない場合に、「喫煙所への行き方を教えてください」とユーザに入力された場合は、前者の知識が登録されていないことが原因である。この場合、対話ログ分析データ40の「失敗原因」405には「知識がない」と入力される。
また、喫煙室に関する知識として「喫煙したいのですが」という質問に対して「1階の出入口を出たところにあります」と回答する知識が対話データ20に登録されていて、「喫煙所への行き方を教えてください」とユーザに入力された場合は、後者のユーザ入力と登録されている知識の表現方法が違っていることが原因である。この場合、対話ログ分析データ40の「失敗原因」405には「言い換えがない」と入力される。なお、失敗した対話の原因の分析は、後述するように、識別モデル72を用いる。
ステップS303は、制御部60の確認処理部63が、対話ログ分析データ40を用いて、ステップS302によって分析された失敗原因に応じて知識を確認するための質問文を生成し、確認者に問い合わせる処理を行う。なお、確認処理部63の詳細については、図8にて詳述する。
確認(問い合わせ)結果は確認事項データ50に追記される。例えば、上記の例の前者のように、「喫煙所への行き方を教えてください」というユーザ入力402に対して、知識が登録されていないことが原因と分析された場合は、「「喫煙所への行き方を教えてください」の回答を教えて?」と情報処理装置1が確認者に質問する。
また、上記の例の後者のように、喫煙室に関する知識として「喫煙したいのですが」という質問に対して「1階の出入口を出たところにあります」と回答する知識(対話データ20)が登録されていて、「喫煙所への行き方を教えてください」とユーザに入力され、ユーザ入力402と登録されている知識(入力文202)の表現方法が違っていることが原因と分析される。この場合に、確認処理部63は、ユーザ入力402と一番近い登録されている質問が「喫煙したいのですが」であれば、「「喫煙所への行き方を教えてください」と「喫煙したいのですが」は同じ意味ですか」と情報処理装置1が確認者に問い合わせる。
制御部60の知識登録処理部64は、このような質問に対する確認者からの回答を受け付け、確認事項データ50の確認結果504に記録する。確認処理部63からの質問を出力するために必要な処理は出力処理部17で行う。質問文を音声で出力する場合は、質問文のテキストを所定の音声合成技術により音声に変換する処理を行う。
また、質問文をチャットボットなどのアプリケーションとしてテキストで出力する場合は、チャットボットの画面に対話として表示する処理を行う。また、表形式などを用いた確認用の画面として出力する場合は、その画面の形式に合わせて変換する処理を行う。確認者からの回答文の入力は、入力処理部16にて入力するために必要な処理を行う。
回答文を音声で入力する場合は、確認者の音声を所定の音声認識技術によりテキストに変換し、そのテキストを確認事項データ50に登録する形式に変換する処理を行う。また、チャットボットなどのアプリケーションとしてテキストで入力する場合は、チャットボットの画面にて入力されたテキストを確認事項データ50に登録する形式に変換する処理を行う。また、表形式などを用いた確認用の画面にて入力する場合は、画面における入力を確認事項データ50に登録する形式に変換する処理を行う。
ステップS304は、制御部60の知識登録処理部64が、対話ログデータ30と対話ログ分析データ40と確認事項データ50を用いて、ステップS303で確認した結果を元に、対話データ20を更新する処理を行う。なお、知識登録処理部64の詳細については、図8にて詳述する。
例えば、ステップS303において、「「喫煙所への行き方を教えてください」の回答を教えて?」というシステムからの質問に確認者が「1階の出入口を出たところにあります」と回答すると、「喫煙所への行き方を教えてください」という質問に対する回答が「1階の出入口を出たところにあります」であることを新しい知識として対話データ20に登録される。
また、知識登録処理部64は、「「喫煙所への行き方を教えてください」と「喫煙したいのですが」は同じ意味ですか」というシステムからの質問に確認者が「はい」と回答すると、「喫煙所への行き方を教えてください」が「喫煙したいのですが」の言い換えであることを新しい知識として対話データ20に登録する。また、質問内容に対し「いいえ」と回答すると、言い換えではないことが新しい知識として対話データ20に登録される。
上記処理によって、制御部60は、対話ログデータ30を入力して対話に失敗したログデータを抽出し、対話に失敗したログデータを分析して失敗原因を「言い換えが必要」か「知識がないのか」を特定する。
そして、制御部60は、特定した失敗原因に応じて質問を生成して入出力装置13の出力装置で問い合わせる。制御部60は、入出力装置13の入力装置で回答を受け付けると、新たな知識として対話データ20に追加する。
以上の処理によって、対話システムからの確認事項(質問)に答えるだけで、対話システムが過去に答えられなかった質問に答えるための知識を拡充することができる。
<2−2.失敗箇所の抽出処理>
図4A、図4Bは失敗箇所の抽出処理の一例を示すフローチャートで、学習時と識別時の処理の一例をそれぞれ示す。
図4Aは、学習時の失敗箇所の抽出処理の一例を示すフローチャートである。本実施例1では、図4Aの学習処理で、制御部60が、対話ログデータ30から対話に失敗したログデータを抽出する識別器(識別モデル71)を生成する。そして、制御部60は、失敗箇所抽出処理の実行時(識別時)に識別モデル71を用いて図4Bのフローチャートで、対話に失敗したログデータを抽出する。
学習時は、ステップS401にて、制御部60の失敗箇所抽出部61が、既存の対話ログデータ30を参照して、対話の成功または失敗の判定結果(正解)を付与する。なお、この判定は、教師ありの機械学習などを用いて実施すれば良い。
図5は、図2Bに示した対話ログデータ30に対話の成功/失敗の判定結果(正解)305を付与した例を示す図である。なお、本図では、図2Bの分析id305を省略した。
ログid301と、ユーザ入力302と、システム出力文303と、検索結果304は図2Bの対話ログデータ30と同様であり、「成功/失敗」305が新たに付与されたラベルである。対話ログデータ30は内容が重複したレコードを含むことも考えられるが、重複を排除したものを使用することも可能である。
ステップS402では、失敗箇所抽出部61が、ステップS401で得られたデータを用いて、既存の対話ログデータ30のユーザ入力302とシステム出力文303の特徴(または特徴量)を抽出する。特徴には、例えば、ユーザ入力301と検索結果304の上位1〜N(340−1〜340−N:Nは自然数)件の入力文342と出力文343から得られる様々な確信度や類似度のスコアを用いる。失敗箇所抽出部61は、例えば、スコアが最大の検索結果をシステム出力文として決定する。なお、例えば、スコアには検索エンジンや、BLEU(BiLingual Evaluation Understudy:自動評価)、tf−idf(Term Frequency、Inverse Document Frequency:単語の出現頻度と逆文書頻度の評価値)の値を用いることができる。
ステップS403では、失敗箇所抽出部61が、ステップS402で抽出した図2Bの対話ログデータ30の特徴を用いて、識別器(識別モデル71)の学習を行う。なお、学習処理は、教師ありの機械学習などを用い、識別モデル71を生成する。
図4Bは、図3のステップS301の詳細を示す図である。図2Bの対話ログデータ30を実際に処理する識別時(S301)は、図4BのステップS411にて、制御部60の失敗箇所抽出部61が、新規の対話ログデータ30について特徴を抽出する。特徴の抽出については、上記ステップS402と同一の手法を用いる。
ステップS412では、失敗箇所抽出部61が、ステップS411によって得られた新規の対話ログデータ30の特徴に対し、ステップS403で得られた識別器(識別モデル71)を用いて、対話が成功か失敗かの判定(識別)を行う。判定結果は、例えば、図5の対話ログデータ30の「成功/失敗」306の項目の値に示すように出力される。
<2−3.失敗原因分析処理>
図6A、図6Bは失敗原因の分析処理の一例を示すフローチャートで、学習時と識別時の処理の一例をそれぞれ示す。
図6Aは学習時の失敗原因の分析処理の一例を示すフローチャートである。本実施例1では、図6Aの学習処理で、制御部60が、対話ログデータ30から対話に失敗した原因を分析する識別器(識別モデル72)を生成する。そして、制御部60は、失敗原因分析処理の実行時(識別時)に識別モデル72を用いて図6Bのフローチャートで、対話に失敗した原因を分析する。
学習時は、ステップS601にて、失敗原因分析部62が、既存の対話ログデータ30へ失敗した原因の正解(分析結果)を付与する。図7は、既存の対話ログデータ30に対話の失敗原因307を付与した例を示す。
ログid301と、ユーザ入力302と、システム出力文303と、検索結果304は図2Cの対話ログデータ30と同様であり、「失敗原因」307が新たに付与されたラベルである。なお、本図では、図2Bの分析id305と図5の成功/失敗306を省略した。対話ログデータ30は内容が重複したレコードを含むことも考えられるが、重複を排除したものを使用することも可能である。
ステップS602では、失敗原因分析部62が、上記ステップS601で得られたデータを用いて、既存の対話ログデータ30のユーザ入力302とシステム出力文303の特徴(特徴量)を抽出する。特徴には、例えば、ユーザ入力302と検索結果の上位1〜N(340−1〜340−N:Nは自然数)件の入力文342と出力文343から得られる様々な確信度や類似度のスコアを用いる。失敗原因分析部62は、例えば、スコアには検索エンジンや、BLEU、tf−idfの値を用いる。また、ステップS412で得られた分析結果を用いることも可能である。
ステップS603では、失敗原因分析部62が、ステップS602で抽出した既存の対話ログデータ30の特徴を用いて、識別器(識別モデル72)の学習を行う。なお、学習処理は、教師ありの機械学習などを用い、識別モデル72を生成する。
図6Bは、図3のステップS302の詳細を示す図である。図2Bの対話ログデータ30を実際に処理する識別時(S302)は、図6BのステップS611にて、失敗原因分析部62が、新規の対話ログデータ30を用いて、特徴を抽出する。特徴の抽出はステップS602と同一の手法を用いる。
ステップS612では、失敗原因分析部62が、ステップS611によって得られた新規の対話ログデータ30の特徴に対し、ステップS603で得られた識別器(識別モデル72)を用いて、失敗の原因が「知識がない」または「言い換えがない」の識別を行う。その結果は、例えば、図7の対話ログデータ30の「失敗原因」307の項目の値に示すように出力される。
なお、失敗原因分析部62は、失敗原因307の算出が完了した後、内容が重複するレコードからユーザ入力302の出現頻度を算出し、失敗箇所抽出部61が算出した成功/失敗306を加えて、図2Cに示した対話ログ分析データ40を生成する。本実施例1では、失敗原因分析部62が対話ログ分析データ40を生成する例を示すが、後述する確認処理部63が対話ログ分析データ40を生成するようにしてもよい。
<2−4.確認処理>
図8は、図3に示したステップS303、S304の詳細を示すフローチャートである。図8のステップS801〜S803が確認処理(質問生成処理)を示し、ステップS804〜S807が知識登録処理を示す。図9A〜図9Dにはデータの遷移を示す。
確認処理部63は、対話ログデータ30と対話ログ分析データ40の分析id305、401、ユーザ入力302、402、失敗原因307(図7)参照、405の値を用いて、対話ログ分析データ40の確認事項406の値(質問文)を生成する。そして、確認処理部63は、確認事項406を出力して確認者に問い合わせる。以降の処理は、後述の知識登録処理部64で行われる。
確認処理部63は、ステップS801で、対話ログ分析データ40のうち成功/失敗404の値が「失敗」のレコードを選択する。そして、確認処理部63は、分析id401に対応する分析id305の対話ログデータ30を選択して、ユーザ入力402(302)を取得する。
確認処理部63は、ステップS802で、対話ログ分析データ40の失敗原因405を取得して、失敗原因に応じた確認事項(質問)406を生成する。失敗原因405には「知識がない」と「言い換えがない」の2種類がある。
失敗原因405が「知識がない」405の場合、確認処理部63は、ユーザ入力402を用いて確認事項406を自動生成する。例えば、ユーザ入力402がAである場合、「「A」の回答は何ですか?」というテンプレートを適用して生成される文を確認事項406とする。
具体的には、図2Cに示す対話ログ分析データ40の分析id401がa2の場合は、ユーザ入力402は「喫煙所の場所を教えて」であり、確認事項406は「「喫煙所の場所を教えて」の回答は何ですか?」となる。
一方、失敗原因405が「言い換えがない」の場合、確認処理部63は、ユーザ入力402と1位の検索結果340−1の入力文342を用いて確認事項406を自動生成する。例えば、ユーザ入力402がA、1位の検索結果340−1の入力文342がBである場合、「「A」と「B」は同じ意味ですか?」というテンプレートを適用して生成される文を確認事項406とする。
具体的には、図2Cに示す対話ログ分析データ40の分析id401がa3の場合は、ユーザ入力402が「エレベータを使いたいのですが」=Aであり、1位の検索結果340−1のユーザ入力402が「エレベータの場所を教えて」=Bである。この場合の確認事項406は「「エレベータを使いたいのですが」と「エレベータの場所を教えて」は同じ意味ですか?」となる。
この処理を行う前の対話ログ分析データ40は図9Aのように確認事項406は空欄となっており、この処理を行った後は、確認事項406に上述のような質問文が設定される。
次に、ステップS803で、確認処理部63は、対話ログ分析データ40から確認事項データ50を生成する。確認処理部63は、対話ログ分析データ40の頻度403の降順に確認順位(出力の順位)を付与することで確認事項データ50を生成できる。その際、対応する確認id408が設定され、対話ログ分析データ40は図9Dに示すようになる。
確認処理部63は、確認事項データ50に新たなレコードを追加し、確認id408を確認id501に格納し、付与された確認順位を確認順位502に設定し、生成した質問文を確認事項503に設定し、頻度403を頻度505に格納する。これにより、確認事項データ50は、図9Bのように設定される。
ステップS804では、生成した確認事項406(質問文)を出力して確認者(管理者)に問い合わせる。
確認の際のインターフェースには複数の形態で提供することができる。図10がロボット80を用いた例を示し、図11がチャットボット90を用いた例を示す。
図12A、図12Bが表形式を用いた例である。ロボット80を用いた例では、確認者は回答を音声で入力する。チャットボット90を用いた例ではテキストで入力する。
図12Bは、言い換え候補データ21の一例を示す図である。言い換え候補データ21は、言い換えid211と、登録文212と、言い換え候補213と、登録214をひとつのレコードに含む。言い換え候補データ21は、予め設定された情報である。
言い換えid211には、登録文212の識別子が格納される。登録文212には、対話データ20の入力文202の内容が登録される。言い換え候補213には、入力文202と同義語または文章が格納される。なお言い換え候補には、入力文202と同義の他の入力文202を関連付けても良い。登録214は、言い換え候補213を入力文202に関連付ける場合にチェックを受け付けるチェックボックスである。
表形式を用いた例では、テキスト(入力文202)やチェックボックス(登録214)をチェックすることで、出力文203や言い換え候補213を回答として入力する。新たな知識の確認では入力文に対する出力文をテキストで入力する。言い換えの確認では、登録文と言い換え候補が同じ意味である場合に登録のチェックボックスをチェックする。チェックボックスの変わりに、テキストで確認結果を入力することも可能である。
<2−5.知識登録処理>
図8のステップS805〜S807は、図3のステップS304で行われる知識登録処理の詳細を示すフローチャートである。知識登録処理部64は、ステップS805で、確認処理部63から出力された問い合わせに対する回答を待ち受ける。回答を受け付けるとステップS806へ進む。
ステップS806では、知識登録処理部64が、受け付けた回答(または応答)を確認事項データ50の確認結果504と、対話ログ分析データ40の確認結果407へ格納する。これにより、確認事項データ50は、図9Cのように確認結果504に値が設定され、対話ログ分析データ40も図9Dで示すように確認結果407に値が設定される。
ステップS806では、知識登録処理部64が、回答の内容に応じて、対話データ20に新たな知識を追加する。知識登録処理部64が、例えば、図12Bに示すように既存の知識と言い換えの確認が行われた場合、図12Bの登録214がチェックされた言い換え候補213が登録文212に関連付けられて登録され、対話データ20の入力文202に反映される。
知識登録処理部64は、図9Dの対話ログ分析データ40を基に、対話データ20を図13に示すように更新する。失敗原因分析で知識がないと判断されたものは、新規のデータとして登録される。
図13に示す対話データ20の更新の例では、図9Dに示す対話ログ分析データ40の分析id401が「a2」の場合が、「失敗原因分析=知識がない」の場合にあたる。知識登録処理部64は、対話ログ分析データ40のユーザ入力402を対話データ20の入力文202に設定し、対話ログ分析データ40の確認結果407を対話データ20の出力文203に設定し、対話id201がd3の新規データとして追加している。
知識登録処理部64は、失敗原因分析で言い換えがないと判断されたもので、登録文212と言い換え候補213が、同義と判断されたもの(図9Dの確認結果407が「はい」と入力されたもの)は、登録済みの文(登録文212)の言い換えとして追加される。
図9Dに示す例では、対話ログ分析データ40の分析id401が「a3」と「a4」の場合が、「失敗原因分析で言い換えがない」場合にあたる。
分析id401が「a3」の場合は、対話ログデータ30の分析id305が「a3」である、検索結果の上位1位(Top1)の入力文342と同一である対話データ20の入力文202の言い換えとして対話データ20に追加する。図13に示す対話データ20では「エレベータを使いたいのですが」が言い換えとして入力文202に追加される。
分析id401が「a4」の場合は、「ベビー休憩室を使いたいのですが」が言い換えとして入力文202に追加される。
また、失敗原因分析で言い換えがないと判断されたもので、言い換え候補データ21の登録文212と言い換え候補213が同一でないと判断されたもの(確認結果407が「いいえ」と入力されたもの)は、言い換えではないことを新しい知識として対話データ20に登録し、次の対話で回答する際に使用し、出力の対象から外すことや、確認事項から外すことが可能となる。
以上のように、情報処理装置1は、対話ログデータ30から対話に失敗したログデータを抽出し、失敗原因を分析し、特定した失敗原因に応じて質問を生成して入出力装置13の出力装置で問い合わせる。そして、情報処理装置1は、入出力装置13の入力装置で回答を受け付けると、新たな知識として対話データ20を更新することができる。
以上の処理によって、対話システム(情報処理装置1)からの確認事項(質問)に答えるだけで、対話システムが過去に答えられなかった質問に答えるための知識を拡充することが可能となる。
前記実施例1では、図3のステップS302において、失敗原因を知識がない場合と言い換えがない場合の2つの場合を対象に分析をした例を示した。ている。一方で、言い換えがない場合には、同義語がない場合とそうでない場合が含まれており、その粒度まで分析までできると、質問内容を具体化することができる。
そこで、本実施例2では、失敗原因で「言い換えがない」場合について、失敗原因分析部62が、「同義語がない」場合と、「同義語以外の言い換えがない」場合の2つに識別する例を示す。なお、その他の構成については前記実施例1と同様である。
図16は、実施例2で行われる処理の一例を示すフローチャートである。図14A〜図14Dは、失敗原因の分析結果を、「知識がない」場合と、「同義語がない」場合と、「同義語以外の言い換えがない」場合の3つの場合を対象に分析した際のデータの遷移を示している。
図16のステップS901では、失敗箇所抽出部61が、対話データ20と対話ログデータ30を取得する。本実施例2では、対話データ200が図2Aで示したように登録され、図14Aで示すような対話ログデータ30を用いる例を示す。
次に、ステップS902では、失敗箇所抽出部61が、前記実施例1と同様にして、失敗箇所抽出処理を実施し、図5で示したように、対話ログデータ30に成功/失敗306の値を付与する。
ステップS902では、失敗箇所抽出部61が、失敗原因の分岐処理を実施して、失敗原因を、「知識がない」場合と、「同義語がない」場合と、「同義語以外の言い換えがない」場合の3つに分類する。
前記実施例1における図6AのステップS601では、「知識がない」と「言い換えがない」の2種類の正解ラベルを付与したが、実施例2のステップS903では、「知識がない」と「同義語がない」と「同義語以外の言い換えがない」の3種類の正解ラベルを付与し、この3つを識別する識別モデル72を前記実施例1と同様に学習時のステップS603で生成する。
そして、ステップS903では、失敗原因分析部62が「知識がない」と「同義語がない」と「同義語以外の言い換えがない」を識別する識別モデル72を用いて、新規の対話ログデータ30を分析する。
ステップS904では、失敗原因分析部62が、図14Aで示すよう対話ログ分析データ40を生成する。上記以外にも、実施例1のステップS302(失敗原因分析処理)の分析結果に対し、「言い換えがない」と識別されたものを「同義語がない」と「同義語以外の言い換えがない」を識別することも考えられる。
上記識別方法には、「同義語がない」と「同義語以外の言い換えがない」という正解ラベルを付与した教師データを用いて機械学習をする方法や、対話ログデータ30のユーザ入力302と検索結果Top1の入力文342の差分の文字列が同一の品詞である場合に、同義語がないと識別する方法がある。
上記後者の方法では、例えば、ユーザ入力302が「赤ちゃん休憩室の場所を教えて」であり、検索結果Top1の入力文342が「ベビー休憩室の場所を教えて」である場合、差分の文字列は「赤ちゃん」と「ベビー」である。失敗原因分析部62は、これらの文字列の品詞が名詞で同一であるため、失敗原因は「同義語がない」と識別することができる。この時、差分の文字列である「赤ちゃん」は「ベビー」の同義語の候補となる。
一方、ユーザ入力302が「エレベータを使いたいのですが」であり、検索結果Top1の入力文342が「エレベータの場所を教えて」である場合は、差分の文字列は「〜を使いたいのですが」と「〜の場所を教えて」となる。
この時、前者の品詞は「の(助詞)場所(名詞)を(助詞)教え(動詞)て(助詞)」であるのに対し、後者の品詞は「を(助詞)使い(動詞)たい(助動詞)の(名詞)です(助動詞)が(助詞)」である。この例では、品詞の配列が異なるため、失敗原因分析部62は失敗原因が「同義語以外の言い換えがない」と識別する。
実施例2における、失敗原因が「知識がない」と「同義語以外の言い換えがない」場合のステップS905の確認処理では、前記実施例1と同様の方法により確認事項503が生成される。
「同義語がない」場合は、ステップS905の確認処理にて、確認処理部63が、ユーザ入力302と検索結果Top1の入力文342の差分の文字列であり、かつ同一の品詞である文字列を同義語候補とする。
ユーザ入力302の差分の文字列をA、検索結果Top1の入力文342の差分の文字列をBとする時、確認事項503は「AとBは同義語ですか?」とする。上記の「赤ちゃん」と「ベビー」の例の場合は、「「赤ちゃん」と「ベビー」は同義語ですか?」という確認事項503が生成される。
ステップS906では、確認処理部63が、対話ログ分析データ40へ図14Cに示す確認事項406を設定する。ステップS907では、確認処理部63が、確認事項406に基づいて、確認事項データ50を図14Bで示すように生成し、対話ログ分析データ40には確認id408が付与する。また、確認処理部63が確認事項406を出力して確認者に問い合わせる。
ステップS908では、知識登録処理部64が、確認者から回答(または応答)を受け付ける。ステップS909では、知識登録処理部64が、確認事項データ50に図14Bで示すように確認結果504を格納し、対話ログ分析データ40には図14Cのように確認結果407を格納する。
次に、ステップS910では、知識登録処理部64が、対話データ20と対話ログ分析データ40を用いて、対話データ20を図14Dのように更新する。知識登録処理部64は、入力文202に同義語のある文字列が現れる場合、同義語に置き換えた文を入力文202の言い換えとして新たに追加される。
図14Dの対話データ1409の場合、「ベビー休憩室の場所を教えて」と「ベビー休憩室を使いたいのですが」に対し、「ベビー」を「赤ちゃん」に置き換えた、「赤ちゃん休憩室の場所を教えて」と「赤ちゃん休憩室を使いたいのですが」が新規の言い換えとして追加される。
このように同義語を考慮した失敗分析を行うことで、「「ベビー」と「赤ちゃん」は同義語ですか?」といったように言い換えに比べ、細かい粒度で失敗原因を確認することができる。また、同義語を置き換えた言い換え文を生成することができ、より効率的に言い換え文を用意できるようになる。
実施例1におけるステップS805〜S807の知識登録処理による確認事項データ50は、重複はないものの、図3のステップS301にて「失敗」と識別されたユーザ入力402毎に確認事項406が用意されている。そのため、確認事項406の中には同じような質問が含まれている場合がある。
図15の対話ログ分析データ40の分析id401が「a3」と「a4」を例に挙げる。
分析id401が「a3」の確認事項:「エレベータを使いたいのですが」と「エレベータの場所を教えて」は同じ意味ですか?
分析id401がa4の確認事項:「ベビー休憩室を使いたいのですが」と「ベビー休憩室の場所を教えて」は同じ意味ですか?
上記の差分の文字列は、「エレベータ」と「ベビー休憩室」であり、どちらか一方の確認事項を確認者に問い合わせ、もう一方に適用すれば、もう一方は確認者による確認処理を省くことができる。
そこで、本実施例3では、図17で示すように、言い換えの候補データ55と、候補データ55を生成する意図解析部65を情報処理装置1に加える例を示す。なお、その他の構成は前記実施例1と同様である。
意図解析部65は、対話ログデータ30のユーザ入力302の意図を解析する。すなわち、対話ログデータ30に登録されているユーザ入力302と、システム出力文303の中からユーザから入力されたユーザ入力302に近いユーザ入力302を検出する。そして、意図解析部65は、検出したユーザ入力302を言い換えの候補データ55として登録し、前記実施例1と同様に言い換えによる確認事項406(質問文)を生成することができる。なお、言い換えの候補データ55は、図12Bに示した言い換え候補データ21と同様に構成すればよい。
そして、確認処理部63では、前記実施例1と同様に候補データ55から確認事項503を生成して出力する。知識登録処理部64は、確認事項503に対応する回答を受け付けると、言い換えを新たな知識として対話データ20に登録することができる。
本実施例3によれば、効率的に言い換え文を用意できるようになることが期待できる。
前記実施例1では、情報処理装置1が対話ログデータ30から対話の失敗原因を特定して、新たな知識を生成する例を示したが、本実施例4では、1以上のロボットから対話ログデータを収集して、対話データ20を更新する情報処理装置1を含む対話システムを示す。
図18は、実施例4を示し、対話システムの一例を示すブロック図である。対話システムは、1以上のロボット80aと、ロボット80aを管理する情報処理装置1と、ロボット80aと情報処理装置1を接続するネットワーク70を含む。
ロボット80aは、前記実施例1と同様の対話データ20と入力処理部16及び出力処理部17を含む情報処理装置100aを含んで、ユーザ3と対話を実施する。なお図示はしないが、情報処理装置100aには、前記実施例1の情報処理装置1と同様にデータ通信部12と入出力装置13を含む。
情報処理装置100aは、入力処理部16がユーザ3からの発話を受け付けて、対話データ20から適切なシステム出力文を出力する。出力処理部17は、対話の結果を対話ログデータ30として情報処理装置1へ送信する。
情報処理装置1は、ロボット80aから受信した対話ログデータ30を前記実施例1と同様に失敗箇所の抽出処理と失敗原因の分析処理を実施して、対話が失敗の場合には、管理者2の確認の上、新たな知識としての対話データ20を生成し、ロボット80aへ送信する。
ロボット80aは、情報処理装置1から受け付けた新たな対話データ20を追加して、次回の対話に備える。
以上のように、本実施例4では、情報処理装置1で1以上のロボット80aの対話ログデータ30を収集し、確認事項(質問)に答えるだけで、ロボット80aが過去に答えられなかった質問に答えるための知識を拡充することが可能となる。
また、本実施例4では、情報処理装置1で蓄積した対話ログデータ30から全てのロボット80aの対話データ20を追加することが可能となる。これにより、ロボット80a毎との対話能力を均一に維持することが可能となる。また、ロボット80aの対話データ20のメンテナンスを削減することが可能となって、運用コストを低減することができる。
情報処理装置1による、失敗箇所の抽出処理と失敗原因の分析処理と新しい知識の生成は、リアルタイムで行っても良いし、予め設定したタイミングで行うことも可能である。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1 情報処理装置
11 CPU
12 データ通信部
13 入出力装置
14 メモリ
20 対話データ
30 対話ログデータ
40 対話ログ分析データ
50 確認事項データ
16 入力処理部
17 出力処理部
60 制御部
61 失敗箇所抽出部
62 失敗原因分析部
63 確認処理部
64 知識登録処理部

Claims (15)

  1. プロセッサとメモリを有し、ユーザからの入力文と、当該入力文に対する回答を出力文として含む対話ログデータを分析する情報処理装置であって、
    前記対話ログデータを入力し、当該対話ログデータから対話の失敗個所を検出する失敗個所検出部と、
    前記失敗個所に対応する前記対話ログデータから失敗原因を分析する失敗原因分析部と、
    前記失敗原因に応じて前記対話ログデータから質問文を生成して出力する確認処理部と、
    前記質問文に対する回答を受け付けて、前記入力文から出力文を得るための対話データに新たな知識として追加する知識登録処理部と、
    を有することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記失敗原因分析部は、
    前記失敗原因を、前記対話データに知識がない場合と、前記対話データに言い換えがない場合の2つに識別することを特徴とする情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記失敗原因分析部は、
    前記失敗原因を、前記対話データに知識がない場合と、前記対話データに言い換えがない場合と、前記対話データに同義語がない場合の3つに識別することを特徴とする情報処理装置。
  4. 請求項1に記載の情報処理装置であって、
    前記失敗個所検出部は、
    前記対話ログデータの前記入力文と前記出力文の特徴を算出し、当該特徴に基づいて対話の失敗個所を検出し、
    前記失敗原因分析部は、
    前記対話ログデータの前記入力文と前記出力文の特徴を算出し、当該特徴に基づいて前記失敗原因を生成することを特徴とする情報処理装置。
  5. 請求項1に記載の情報処理装置であって、
    前記確認処理部は、
    前記質問文に対応する対話ログデータの出現頻度に応じて出力する順位を決定することを特徴とする情報処理装置。
  6. 請求項1に記載の情報処理装置であって、
    前記確認処理部は、
    前記質問文を表形式で出力することを特徴とする情報処理装置。
  7. 請求項1に記載の情報処理装置であって、
    前記確認処理部は、
    前記質問文に同義語を含んで出力し、
    前記知識登録処理部は、
    前記質問文に対する回答に含まれる同義語を受け付けて、前記同義語を対話データに新たな知識として追加することを特徴とする情報処理装置。
  8. プロセッサとメモリを有する情報処理装置が、ユーザからの入力文と、当該入力文に対する回答を出力文として含む対話ログデータを分析する対話処理方法であって、
    情報処理装置が、前記対話ログデータを入力し、当該対話ログデータから対話の失敗個所を検出する第1のステップと、
    情報処理装置が、前記失敗個所に対応する前記対話ログデータから失敗原因を分析する第2のステップと、
    情報処理装置が、前記失敗原因に応じて前記対話ログデータから質問文を生成して出力する第3のステップと、
    前記質問文に対する回答を受け付けて、前記入力文から出力文を得るための対話データに新たな知識として追加する第4のステップと、
    を含むことを特徴とする対話処理方法。
  9. 請求項8に記載の対話処理方法であって、
    前記第2のステップは、
    前記失敗原因を、前記対話データに知識がない場合と、前記対話データに言い換えがない場合の2つに識別することを特徴とする対話処理方法。
  10. 請求項8に記載の対話処理方法であって、
    前記第2のステップは、
    前記失敗原因を、前記対話データに知識がない場合と、前記対話データに言い換えがない場合と、前記対話データに同義語がない場合の3つに識別することを特徴とする対話処理方法。
  11. 請求項8に記載の対話処理方法であって、
    前記第1のステップは、
    前記対話ログデータの前記入力文と前記出力文の特徴を算出し、当該特徴に基づいて対話の失敗個所を検出し、
    前記第2のステップは、
    前記対話ログデータの前記入力文と前記出力文の特徴を算出し、当該特徴に基づいて前記失敗原因を生成することを特徴とする対話処理方法。
  12. 請求項8に記載の対話処理方法であって、
    前記第3のステップは、
    前記質問文に対応する対話ログデータの出現頻度に応じて出力する順位を決定することを特徴とする対話処理方法。
  13. 請求項8に記載の対話処理方法であって、
    前記第3のステップは、
    前記質問文を表形式で出力することを特徴とする対話処理方法。
  14. 請求項8に記載の対話処理方法であって、
    前記第3のステップは、
    前記質問文に同義語を含んで出力し、
    前記第4のステップは、
    前記質問文に対する回答に含まれる同義語を受け付けて、前記同義語を対話データに新たな知識として追加することを特徴とする対話処理方法。
  15. プロセッサとメモリを有する情報処理装置と、
    ネットワークを介して前記情報処理装置に接続されたロボットと、を有する対話システムであって、
    前記ロボットは、
    ユーザからの入力文を受け付けて、予め設定された対話データから当該入力文に対する回答を出力文として出力し、前記入力文と出力文を含む対話ログデータを生成し、前記情報処理装置に前記対話ログデータを送信し、
    前記情報処理装置は、
    前記対話ログデータを入力し、当該対話ログデータから対話の失敗個所を検出する失敗個所検出部と、
    前記失敗個所に対応する前記対話ログデータから失敗原因を分析する失敗原因分析部と、
    前記失敗原因に応じて前記対話ログデータから質問文を生成して出力する確認処理部と、
    前記質問文に対する回答を受け付けて、前記入力文から出力文を得るための対話データに新たな知識として前記ロボットへ送信する知識登録処理部と、
    を有することを特徴とする対話システム。
JP2017185298A 2017-09-26 2017-09-26 情報処理装置、対話処理方法及び対話システム Active JP6791825B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017185298A JP6791825B2 (ja) 2017-09-26 2017-09-26 情報処理装置、対話処理方法及び対話システム
US16/059,233 US20190095428A1 (en) 2017-09-26 2018-08-09 Information processing apparatus, dialogue processing method, and dialogue system
CN201811058351.2A CN110019747A (zh) 2017-09-26 2018-09-11 信息处理装置、对话处理方法以及对话系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017185298A JP6791825B2 (ja) 2017-09-26 2017-09-26 情報処理装置、対話処理方法及び対話システム

Publications (2)

Publication Number Publication Date
JP2019061482A JP2019061482A (ja) 2019-04-18
JP6791825B2 true JP6791825B2 (ja) 2020-11-25

Family

ID=65808485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017185298A Active JP6791825B2 (ja) 2017-09-26 2017-09-26 情報処理装置、対話処理方法及び対話システム

Country Status (3)

Country Link
US (1) US20190095428A1 (ja)
JP (1) JP6791825B2 (ja)
CN (1) CN110019747A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11257496B2 (en) * 2018-09-26 2022-02-22 [24]7.ai, Inc. Method and apparatus for facilitating persona-based agent interactions with online visitors
US11501753B2 (en) * 2019-06-26 2022-11-15 Samsung Electronics Co., Ltd. System and method for automating natural language understanding (NLU) in skill development
CN110473530B (zh) * 2019-08-21 2021-12-07 北京百度网讯科技有限公司 指令分类方法、装置、电子设备及计算机可读存储介质
JP7316165B2 (ja) * 2019-09-20 2023-07-27 株式会社日立製作所 情報処理方法および情報処理装置
US11822889B2 (en) * 2020-03-20 2023-11-21 At&T Intellectual Property I, L.P. Personal conversationalist system
JP6976539B1 (ja) * 2021-01-18 2021-12-08 株式会社Macbee Planet 情報処理装置、情報処理方法及びプログラム
CN113139039A (zh) * 2021-05-06 2021-07-20 京东数字科技控股股份有限公司 对话数据处理方法、装置、设备以及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259969B1 (en) * 1997-06-04 2001-07-10 Nativeminds, Inc. System and method for automatically verifying the performance of a virtual robot
US9552354B1 (en) * 2003-09-05 2017-01-24 Spoken Traslation Inc. Method and apparatus for cross-lingual communication
JP4724441B2 (ja) * 2004-03-18 2011-07-13 ヤフー株式会社 知識検索装置、知識検索方法および知識検索プログラム
US8317518B2 (en) * 2005-01-28 2012-11-27 University Of Maryland, Baltimore Techniques for implementing virtual persons in a system to train medical personnel
US20110054900A1 (en) * 2007-03-07 2011-03-03 Phillips Michael S Hybrid command and control between resident and remote speech recognition facilities in a mobile voice-to-speech application
US8010364B2 (en) * 2007-10-31 2011-08-30 At&T Intellectual Property I, L.P. System and method for applying probability distribution models to dialog systems in the troubleshooting domain
KR101173556B1 (ko) * 2008-12-11 2012-08-13 한국전자통신연구원 토픽맵 기반 색인 장치, 토픽맵 기반 검색 장치, 토픽맵 기반 검색 시스템 및 그 방법
US10319363B2 (en) * 2012-02-17 2019-06-11 Microsoft Technology Licensing, Llc Audio human interactive proof based on text-to-speech and semantics
US9280610B2 (en) * 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
JP5498556B2 (ja) * 2012-10-24 2014-05-21 株式会社Nttドコモ 情報処理装置、情報処理システム、及び質問回答方法
US9501469B2 (en) * 2012-11-21 2016-11-22 University Of Massachusetts Analogy finder
WO2016067418A1 (ja) * 2014-10-30 2016-05-06 三菱電機株式会社 対話制御装置および対話制御方法
US9953644B2 (en) * 2014-12-01 2018-04-24 At&T Intellectual Property I, L.P. Targeted clarification questions in speech recognition with concept presence score and concept correctness score
JP6305629B2 (ja) * 2015-03-19 2018-04-04 株式会社東芝 分類装置、方法及びプログラム
JP6084654B2 (ja) * 2015-06-04 2017-02-22 シャープ株式会社 音声認識装置、音声認識システム、当該音声認識システムで使用される端末、および、話者識別モデルを生成するための方法
US11080608B2 (en) * 2016-05-06 2021-08-03 Workfusion, Inc. Agent aptitude prediction
US10606952B2 (en) * 2016-06-24 2020-03-31 Elemental Cognition Llc Architecture and processes for computer learning and understanding
US10387528B2 (en) * 2016-12-20 2019-08-20 Microsoft Technology Licensing, Llc Search results integrated with interactive conversation service interface
US10102199B2 (en) * 2017-02-24 2018-10-16 Microsoft Technology Licensing, Llc Corpus specific natural language query completion assistant

Also Published As

Publication number Publication date
CN110019747A (zh) 2019-07-16
US20190095428A1 (en) 2019-03-28
JP2019061482A (ja) 2019-04-18

Similar Documents

Publication Publication Date Title
JP6791825B2 (ja) 情報処理装置、対話処理方法及び対話システム
JP6544131B2 (ja) 情報処理装置及び情報処理プログラム
US9805718B2 (en) Clarifying natural language input using targeted questions
US20170206897A1 (en) Analyzing textual data
WO2015141700A1 (en) Dialogue system construction support apparatus and method
KR102100951B1 (ko) 기계 독해를 위한 질의응답 데이터 생성 시스템
JP6675788B2 (ja) 検索結果表示装置、検索結果表示方法、及びプログラム
KR20180126357A (ko) 챗봇의 대화처리장치 및 그 방법
Ngueajio et al. Hey asr system! why aren’t you more inclusive? automatic speech recognition systems’ bias and proposed bias mitigation techniques. a literature review
EP4364044A1 (en) Automated troubleshooter
JP5230927B2 (ja) 問題自動作成装置、問題自動作成方法、及びコンピュータプログラム
CN108932225A (zh) 用于将自然语言需求转换成为语义建模语言语句的方法和系统
JP2019174894A (ja) ワークショップ支援システムおよびワークショップ支援方法
JPWO2018198807A1 (ja) 翻訳装置
US20230177281A1 (en) Low-resource multilingual machine learning framework
JP6979909B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Fatima et al. A systematic review on fully automated online exam proctoring approaches
da Silva Alves et al. Web scripts and mediation dialogues as a quality factor in the interaction of the deaf
US11915205B2 (en) Method and system to manage technical support sessions using ranked historical technical support sessions
Dündar A robot system for personalized language education. implementation and evaluation of a language education system built on a robot
US11941641B2 (en) Method and system to manage technical support sessions using historical technical support sessions
Dissanayake et al. Enhancing conversational ai model performance and explainability for sinhala-english bilingual speakers
US11809471B2 (en) Method and system for implementing a pre-check mechanism in a technical support session
WO2022054286A1 (ja) 言語リソースのデータ構造及びこれを用いた発話理解支援のための装置、方法及びプログラム
Polepaka et al. Automated Caption Generation for Video Call with Language Translation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201023

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201105

R150 Certificate of patent or registration of utility model

Ref document number: 6791825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150