JP6715943B2 - 対話装置、対話装置の制御方法、および制御プログラム - Google Patents
対話装置、対話装置の制御方法、および制御プログラム Download PDFInfo
- Publication number
- JP6715943B2 JP6715943B2 JP2018543774A JP2018543774A JP6715943B2 JP 6715943 B2 JP6715943 B2 JP 6715943B2 JP 2018543774 A JP2018543774 A JP 2018543774A JP 2018543774 A JP2018543774 A JP 2018543774A JP 6715943 B2 JP6715943 B2 JP 6715943B2
- Authority
- JP
- Japan
- Prior art keywords
- utterance
- user
- unit
- database
- category
- 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
Links
- 238000000034 method Methods 0.000 title claims description 52
- 230000002452 interceptive effect Effects 0.000 title claims description 29
- 238000012545 processing Methods 0.000 description 55
- 230000008569 process Effects 0.000 description 40
- 230000000295 complement effect Effects 0.000 description 23
- 235000009508 confectionery Nutrition 0.000 description 11
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000000877 morphologic effect Effects 0.000 description 8
- 235000005979 Citrus limon Nutrition 0.000 description 7
- 244000131522 Citrus pyriformis Species 0.000 description 7
- 241000220225 Malus Species 0.000 description 7
- 241000219094 Vitaceae Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 235000021021 grapes Nutrition 0.000 description 7
- 235000021016 apples Nutrition 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 235000013399 edible fruits Nutrition 0.000 description 4
- 235000004790 Solanum aculeatissimum Nutrition 0.000 description 3
- 240000003768 Solanum lycopersicum Species 0.000 description 3
- 235000002560 Solanum lycopersicum Nutrition 0.000 description 3
- 235000019583 umami taste Nutrition 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 235000009754 Vitis X bourquina Nutrition 0.000 description 1
- 235000012333 Vitis X labruscana Nutrition 0.000 description 1
- 240000006365 Vitis vinifera Species 0.000 description 1
- 235000014787 Vitis vinifera Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Description
本発明は、対話装置、対話装置の制御方法、および制御プログラムに関し、例えば、ユーザと音声またはテキストで対話する対話装置に関する。
従来、ユーザと音声またはテキストで対話する対話装置が開発されている。例えば、特許文献1には、ユーザと音声で対話する対話装置が開示されている。対話装置の中には、ユーザの発話をデータベースに保存し、データベースに保存した過去のユーザの発話を、対話装置の発話を生成するために利用するものもある。
しかしながら、ユーザの発話において、文節が省略される場合がある。例えば、「(あなたは)リンゴが好き?」と対話装置が発話した場合、ユーザは、「(私は)リンゴが好きです」と回答するのではなく、「好き」(主語の省略)、あるいは「はい」(回答の省略)等と発話する場合がある。この場合、対話装置は、ユーザの発話を、対話装置の発話を生成するために有効利用することができない場合がある。より利用価値のあるデータベースを構築するために、ユーザの発話を補完して、データベースに保存することが考えられる。しかしながら、対話装置が、ユーザの発話において省略された文節を補完した場合、補完したユーザの発話が誤りである可能性がある。すなわち、補完したユーザの発話は、ユーザの意図から外れる可能性がある。誤って補完されたユーザの発話は、対話装置の発話を生成するために有効利用できない場合がある。
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、ユーザの発話を、省略および誤りのない状態で保存することにより、対話装置の発話を生成するために、保存した過去のユーザの発話を有効利用することにある。
上記の課題を解決するために、本発明の一態様に係る対話装置は、ユーザと音声またはテキストで対話する対話装置であって、当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完部と、所定の判定条件に基づき、上記発話補完部が補完した上記ユーザの発話の正誤を判定する正誤判定部と、上記ユーザの発話は正しいと上記正誤判定部が判定した場合、上記ユーザの発話の情報を発話データベースに保存する発話保存部と、上記発話保存部が上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成部と、を備える。
また、上記の課題を解決するために、本発明の一態様に係る対話装置の制御方法は、ユーザと音声またはテキストで対話する対話装置の制御方法であって、当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完ステップと、所定の条件に基づいて、上記発話補完ステップにおいて補完した上記ユーザの発話の正誤を判定する正誤判定ステップと、上記正誤判定ステップにおいて上記ユーザの発話は正しいと判定した場合、上記ユーザの発話の情報を、当該対話装置の発話を生成するための発話データベースに保存する発話保存ステップと、上記発話保存ステップにおいて上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成ステップと、を含む。
本発明の一態様によれば、ユーザの発話を、省略および誤りのない状態で保存することにより、対話装置の発話を生成するために、保存した過去のユーザの発話を有効利用することができる。
〔実施形態1〕
以下、本発明の実施の形態について、詳細に説明する。
以下、本発明の実施の形態について、詳細に説明する。
(対話装置1の構成)
図1を用いて、本実施形態に係る対話装置1の構成を説明する。対話装置1は、ユーザと音声で対話する機械(例えば、ロボット)である。図1は、対話装置1の構成を示すブロック図である。なお、一変形例では、対話装置1は、ユーザとテキストで対話してもよい。
図1を用いて、本実施形態に係る対話装置1の構成を説明する。対話装置1は、ユーザと音声で対話する機械(例えば、ロボット)である。図1は、対話装置1の構成を示すブロック図である。なお、一変形例では、対話装置1は、ユーザとテキストで対話してもよい。
図1に示すように、対話装置1は、音声入力部10、制御部20、および音声出力部30を備えている。また、対話装置1には、シナリオデータベース40、発話データベース50、およびカテゴリ表60が保存されている。また、図示しないが、後述する音声認識部21がユーザの音声を認識するために、認識辞書も保存されている。認識辞書は、音声入力部10が検出する音声と、その音声が示す単語または文節との対応関係を記載している。
音声入力部10は、ユーザの発話を検出して、ユーザの発話に対応する音声データを生成する。音声入力部10は、具体的にはマイクロフォンである。音声入力部10が検出した音声データは制御部20に送信される。
制御部20は、対話装置1の発話を生成する。また、音声入力部10が検出したユーザの発話を音声認識し、音声認識の結果として得られたユーザの発話の情報を、発話データベース50に保存する。図1に示すように、制御部20は、音声認識部21、形態素解析部22、補完処理部23(発話補完部)、発話生成部24、発話保存部25、および正誤判定部26を含む。制御部20の各部が行う処理については、後述する発話情報取得処理の説明中で説明する。
音声出力部30は、制御部20が生成した対話装置1の発話を、音声に変換して出力する。音声出力部30は、具体的にはスピーカである。一変形例では、対話装置1は、対話装置1の発話を、テキストに変換して出力してもよい。
シナリオデータベース40には、対話装置1の発話を生成するためのシナリオが保存されている。シナリオは、後述する質問用シナリオ(図4参照)を含む。発話データベース50には、過去の対話装置1の発話の情報および過去のユーザの発話の情報が保存されている。カテゴリ表60では、単語と、その単語のカテゴリとが対応付けられている。発話中の単語のカテゴリは、その発話の話題に関係する場合が多い。単語のカテゴリを、以下では、話題カテゴリと呼ぶ。シナリオデータベース40、発話データベース50、およびカテゴリ表60の一例をそれぞれ後述する。なお、シナリオデータベース40、発話データベース50、およびカテゴリ表60等のデータの一部または全部は、ネットワーク上に分散して保存されていてよい。また、この構成では、シナリオデータベース40、発話データベース50、およびカテゴリ表60等のデータは、インターネットを通じて、定期的または不定期的に、対話装置1に提供されてもよい。また、制御部20も、インターネット上のサーバ内にあってもよい。この構成では、サーバ内の制御部20が、インターネット、およびホームネットワーク(例えば、無線LAN)等を介して、対話装置1の音声入力部10および音声出力部30を制御してもよい。
(発話情報取得処理の流れ)
図2を用いて、制御部20が実行する発話情報取得処理の流れを説明する。図2は、発話情報取得処理の流れを示すフローチャートである。
図2を用いて、制御部20が実行する発話情報取得処理の流れを説明する。図2は、発話情報取得処理の流れを示すフローチャートである。
図2に示すように、発話情報取得処理では、まず、発話生成部24が対話装置1の発話を生成する(S1)。あるいは、ユーザが先に対話装置1に対して発話をしてもよい。どちらの場合であっても、音声入力部10は、ユーザの発話を検出して、ユーザの発話に対応する音声データを生成する。発話生成処理(S1)の流れを後で説明する。
音声認識部21は、音声入力部10から、ユーザの発話に対応する音声データを受信する(S2、発話取得ステップ)。音声認識部21は、音声入力部10から受信した音声データに対し、音声認識処理を実行することにより、ユーザの発話に対応する音声データを、テキストデータに変換する(S3)。音声認識部21は、音声認識処理を失敗した場合、表示または音声等を用いた報知によって、ユーザに対し、再度発話することを要求してもよいし、ユーザが再度発話するまで待機してもよい。音声認識部21は、音声認識の結果、すなわち、ユーザの発話に対応するテキストデータを、形態素解析部22に出力する。音声認識部21は、音声認識処理を失敗した場合であっても、音声認識の結果を形態素解析部22に出力してもよい。なお、対話装置1がユーザとテキストで対話する機械である場合、S2において、形態素解析部22は、ユーザが入力したテキストを受信する。また、上述したS3は省略される。以下では、音声認識またはユーザのテキスト入力の結果として得られるテキストデータを、ユーザの発話データと呼ぶ。
形態素解析部22は、音声認識部21から取得したユーザの発話データに対し、形態素化解析を実行する(S4)。すなわち、形態素解析部22は、ユーザの発話を、言語として意味を持つ最小単位である形態素(例えば、単語)に分割する。なお、形態素解析は従来から存在する技術であるから、ここでは、形態素解析に関する説明を省略する。
続いて、形態素解析部22は、形態素解析の結果を評価する(S5)。具体的には、形態素解析部22は、ユーザの発話において省略された文節があるかどうかを判定する。ここで、文節は、1または複数の単語で構成される。
ユーザの発話において省略された文節がある場合(S6でYes)、補完処理部23は、直前の対話装置1の発話、および、過去のユーザの発話の少なくとも一方に基づいて、省略された文節(例えば、主語、述語、修飾語)を補完する(S7、発話補完ステップ)。なお、補完処理部23による発話補完処理(S7)の流れを後で説明する。一方、ユーザの発話において省略された文節がない場合(S6でNo)、補完処理部23は発話補完処理を行わない。
発話保存部25は、補完処理部23から、ユーザの発話データを取得する。前述したように、ユーザの発話において省略された文節がある場合、S7において、補完処理部23が省略された文節を補完する。したがって、発話保存部25が取得するユーザの発話は、省略された文節がない、完全な状態である。
次に、発話保存部25は、カテゴリ表60(図8参照)を参照して、ユーザの発話に含まれる各単語の話題カテゴリを特定する。発話保存部25は、ユーザの発話の情報に、該ユーザの発話に含まれる全ての単語の話題カテゴリの情報を、付属情報として付加する。例えば、ユーザの発話が「私はリンゴが好きです」である場合、発話保存部25は、ユーザの発話の情報に、「リンゴ」の話題カテゴリである“果物”、および、「好き」の話題カテゴリである“嗜好”の各付属情報を付加する。発話保存部25は、付属情報を付加したユーザの発話の情報を、発話データベース50(図7参照)に保存する(S8、発話保存ステップ)。なお、付属情報は、対話装置1の発話を生成するために利用されてよい。例えば、発話データベース50において、「ケーキを買った」という過去のユーザの発話の情報に、ユーザの発話が入力された時間の付属情報が付加されている場合、対話装置1は、シナリオデータベース40から、ユーザの発話と同じ話題カテゴリのシナリオを取得して、「昨日買ったケーキをもう食べた?」といった発話や、「去年の誕生日に買ったケーキはおいしかったね」といった発話を生成することができる。また、発話データベース50において、「ここの景色はきれいだね」という過去のユーザの発話の情報に、ユーザの発話が入力された場所および時間の付属情報が付加されている場合、対話装置1は、シナリオデータベース40から、ユーザの発話と同じ話題カテゴリのシナリオを取得して、「先月の夕方に見た瀬戸大橋はきれいだったね」といった発話を生成することができる。
S7において、補完処理部23がユーザの発話を補完した場合、補完したユーザの発話は、ユーザの意図から外れている可能性がある。例えば、ユーザが「甘い」と発話した場合、補完処理部23は、ユーザの発話において省略された主語を補完する。しかしながら、補完処理部23が補完する主語は、ユーザの意図する主語とは異なる可能性がある。そこで、正誤判定部26は、所定の判定条件に基づいて、補完したユーザの発話の正誤を判定して、補完したユーザの発話が正しい場合のみ、補完したユーザの発話の情報を、発話データベース50に保存する。正誤判定部26は、補完したユーザの発話の正誤を、どのような判定条件に基づいて判定してもよい。例えば、正誤判定部26は、補完したユーザの発話の正誤を判定するために、直前のユーザまたは対話装置1の発話の情報を利用してもよい。正誤判定部26による発話保存処理(S8)の一例を後で説明する。以上で、発話情報取得処理が終了する。
上述した発話情報取得処理によれば、ユーザの発話を、完全な状態、つまり、文節が省略されていない状態で、発話データベース50に保存することができる。発話データベース50に保存された過去のユーザの発話の情報は、対話装置1の発話を生成するために利用することができる。発話データベース50に保存されている過去のユーザの発話の情報を用いて、対話装置1の発話を生成する方法については、後で説明する。
(S1;発話生成処理の流れ)
図3および図4を用いて、前述した発話情報取得処理(図2参照)のS1、すなわち発話生成処理の流れを説明する。図3は、発話生成処理S1の流れを示すフローチャートである。図4は、シナリオデータベース40のデータ構造の一例を示す図である。図4に示すように、シナリオデータベース40は、対話装置1からユーザへの質問のシナリオを含む複数のシナリオを含む。なお、図示しないが、シナリオデータベース40は、質問以外の対話装置1の発話(例えば、呼びかけ、報知等)を生成するためのシナリオをさらに含んでいてもよい。
図3および図4を用いて、前述した発話情報取得処理(図2参照)のS1、すなわち発話生成処理の流れを説明する。図3は、発話生成処理S1の流れを示すフローチャートである。図4は、シナリオデータベース40のデータ構造の一例を示す図である。図4に示すように、シナリオデータベース40は、対話装置1からユーザへの質問のシナリオを含む複数のシナリオを含む。なお、図示しないが、シナリオデータベース40は、質問以外の対話装置1の発話(例えば、呼びかけ、報知等)を生成するためのシナリオをさらに含んでいてもよい。
図3に示すように、発話生成処理では、まず、発話生成部24は、発話データベース50において、直前の(つまり、発話データベース50に保存されている過去のユーザの発話の情報の中で、最後に保存された)ユーザの発話の情報に対応付けられた話題カテゴリの情報を参照する。
次に、発話生成部24は、図4に示すシナリオデータベース40中から、直前のユーザの発話に対応付けられた話題カテゴリと同じ話題カテゴリのシナリオを検索する(S201)。シナリオデータベース40中に、直前のユーザの発話に対応付けられた話題カテゴリと同じ話題カテゴリのシナリオがない場合(S201でNo)、発話生成部24は、シナリオデータベース40から、直前のユーザの発話に対応する話題カテゴリとは異なる話題カテゴリ(例えば、図4の「なんでも」の話題カテゴリ)のシナリオを選択する(S205)。この場合、発話生成部24が生成する対話装置1の発話の話題カテゴリは、例えば、直前のユーザの発話の話題カテゴリと類似する(すなわち、直前のユーザの発話の話題カテゴリと同じ上位概念カテゴリ(後述)に含まれる)ことが好ましい。
発話生成部24は、S205において選択したシナリオの話題カテゴリを、対話装置1またはユーザの先の発話の話題カテゴリに置き換えることによって、対話装置1の次の発話を生成する(S206、発話生成ステップ)。なお、シナリオデータベース40中に、直前のユーザの発話に対応付けられた話題カテゴリと同じ話題カテゴリのシナリオがない場合(S201でNo)、対話装置1は、発話をせずに、相槌等の動作で、ユーザの発話に応答してもよい。あるいは、対話装置1の次の発話の話題カテゴリが、直前のユーザの発話の話題カテゴリと大きく異なる場合、発話生成部24は、話題を変えることをユーザに伝えるための発話(例えば、「ところで」)を生成してもよい。
一方、シナリオデータベース40中に、直前のユーザの発話に対応する話題カテゴリと同じ話題カテゴリのシナリオがある場合(S201でYes)、発話生成部24は、シナリオデータベース40から、シナリオと対応付けられた条件および結果(図4参照)を抽出する(S202)。また、発話生成部24は、発話データベース50中から、S202において抽出したシナリオの条件を満たす対話装置1またはユーザの先の発話の情報を検索する(S203)。
発話データベース50中に、S202において抽出したシナリオに対応する条件および結果と一致する対話装置1またはユーザの先の発話の情報がない場合(S203でNO)、発話生成部24は、シナリオデータベース40から、直前のユーザの発話に対応する話題カテゴリとは異なる話題カテゴリのシナリオを選択する(S205)。一方、発話データベース50中、S202において抽出したシナリオに対応する条件および結果と一致する対話装置1またはユーザの先の発話の情報がある場合(S203でYES)、発話生成部24は、抽出したシナリオの中から、いずれかのシナリオを選択する(S204)。その後、発話生成部24は、S204またはS205において選択したシナリオの話題カテゴリを、対話装置1またはユーザの先の発話の話題カテゴリに置き換えることによって、対話装置1の次の発話を生成する(S206、発話生成ステップ)。以上で、発話生成処理は終了する。
(S7;発話補完処理の流れ)
図5を用いて、前述した発話情報取得処理(図2参照)のS7、すなわち発話補完処理の流れを説明する。図5は、発話補完処理S7の流れを示すフローチャートである。
図5を用いて、前述した発話情報取得処理(図2参照)のS7、すなわち発話補完処理の流れを説明する。図5は、発話補完処理S7の流れを示すフローチャートである。
図5に示すように、発話補完処理では、まず、補完処理部23は、形態素解析部22による形態素解析の結果として得られたユーザの発話において、主語が省略されたかどうかを判定する(S301)。ユーザの発話において、主語が省略された場合(S301でYes)、補完処理部23は、ユーザの発話に主語を補完する(S302)。
具体的には、補完処理部23は、発話データベース50を参照して、直前の(つまり、発話データベース50に保存されている過去の対話装置1の発話の情報の中で、最後に保存された)対話装置1の発話の情報を取得する。そして、直前の対話装置1の発話の主語に基づいて、ユーザの発話の主語を補完する。例えば、対話装置1が図4に示すシナリオデータベース40の“シナリオ2”にしたがって「あなたはブドウが好きですか」と発話した後、ユーザが「それ(ブドウ)が好きです」と発話した場合、補完処理部23は、ユーザの発話において省略された主語「あなた」を補完して、「XX(ユーザの登録名)はブドウが好きです」という、補完したユーザの発話を生成してよい。あるいは、補完処理部23は、補完したユーザの発話にユーザの登録名を含めずに、「ブドウが好きです」という発話を生成してもよい。また、別の例では、ユーザが「リンゴは美味しい」と発話した後、「大好き」と発話した場合、補完処理部23は、ユーザの「大好き」という発話を、「リンゴは美味しい」というユーザの先の発話に基づいて、「リンゴは大好き」という補完したユーザの発話を生成してよい。この例のように、補完処理部23は、対話装置1の質問以外の(対話装置1またはユーザの)先の発話に基づいて、ユーザの発話を補完してもよい。一変形例では、シナリオデータベース40において、各シナリオに対し、ユーザの発話を補完するための補完用シナリオが対応付けられている場合、補完処理部23は、補完用シナリオにしたがって、ユーザの発話を補完してもよい。例えば、補完用シナリオでは、文の一部の品詞(単語)または文節が空白になっており、ユーザの発話に基づいて、空白が埋められることで、補完したユーザの発話に対応する一文が完成するように構成されていてよい。
ユーザの発話において、主語が省略されていない場合(S301でNo)、補完処理部23は、次に、ユーザの発話において、述語が省略されたかどうかを判定する(S303)。ユーザの発話において、述語が省略された場合(S303でYes)、補完処理部23は、直前の対話装置1の発話に基づいて、ユーザの発話に述語を補完する(S304)。例えば、直前の対話装置1の発話が、「あなたはブドウが好きですか?」であり、ユーザが「私は好きです」と発話した場合、補完処理部23は、「XX(ユーザの登録名)はブドウが好きです」という補完したユーザの発話を生成する。なお、図示しないが、補完処理部23は、ユーザの発話に修飾語を補完する工程をさらに行ってもよい。
ユーザの発話において、述語が省略されていない場合(S303でNo)、補完処理部23は、次に、ユーザの発話において、回答が省略されたかどうかを判定する(S305)。つまり、補完処理部23は、ユーザの発話が「はい」またはその他の肯定であるか、「いいえ」またはその他の否定であるかを判定する。ユーザの発話において、回答が省略された場合(S305でYes)、補完処理部23は、発話データベース50(図7参照)を参照して、直前の対話装置1の発話の情報を取得する。そして、直前の対話装置1の発話に基づいて、ユーザの発話を補完する(S306)。例えば、直前の対話装置1の発話が「あなたはブドウが好きですか?」であり、ユーザが「いいえ」(否定)と発話した場合、補完処理部23は、「XX(ユーザの登録名)はブドウが嫌いです」という補完したユーザの発話を生成する。
ユーザの発話において、いずれの文節も省略されていない場合(S305でNo)、補完処理部23は、ユーザの発話に対する発話補完処理を行わない。
(S8;発話保存処理の流れ)
図6を用いて、前述した発話情報取得処理のS8、すなわち発話保存処理の流れを説明する。図6は、発話保存処理S8の流れを示すフローチャートである。以下では、補完処理部23がユーザの発話を補完した場合の発話保存処理の流れを説明する。
図6を用いて、前述した発話情報取得処理のS8、すなわち発話保存処理の流れを説明する。図6は、発話保存処理S8の流れを示すフローチャートである。以下では、補完処理部23がユーザの発話を補完した場合の発話保存処理の流れを説明する。
図6に示すように、発話保存処理では、まず、正誤判定部26は、発話データベース50から、補完処理部23が補完したユーザの発話に含まれる単語の話題カテゴリと同じ話題カテゴリと対応付けられた過去のユーザの発話の情報を検索する(S401、正誤判定ステップ)。
正誤判定部26は、補完したユーザの発話に含まれる単語の話題カテゴリと同じ話題カテゴリと対応付けられた過去のユーザの発話の情報を発見しなかった場合(S402でNo)、補完したユーザの発話は誤りであると判定する。この場合、発話保存部25は、補完したユーザの発話の情報を発話データベース50に保存しない(S403)。ただし、正誤判定部26が補完したユーザの発話は誤りであると判定した場合、補完したユーザの発話の適否をユーザに確認してもよい。この構成では、ユーザが補完したユーザの発話は適切であると回答した場合、発話保存部25は、正誤判定部26が誤りであると判定した補完したユーザの発話も発話データベース50に保存する。なお、この構成については、後の実施形態3で説明する。
一方、正誤判定部26は、補完したユーザの発話に含まれる単語の話題カテゴリと同じ話題カテゴリと対応付けられた過去のユーザの発話の情報を発見した場合(S402でYes)、補完したユーザの発話は正しいと判定する。この場合、発話保存部25は、補完処理部23が補完したユーザの発話の情報を発話データベース50に保存する(S404)。なお、発話情報取得処理のS7において、補完処理部23がユーザの発話を補完しなかった場合、正誤判定部26は、ユーザの発話の正誤を判定せず、発話保存部25は、補完しないユーザの発話を保存してよい。
(変形例)
一変形例では、正誤判定部26は、補完したユーザの発話が、どんな話題カテゴリに関するかという条件に加えて、だれ(どのユーザ)が発話したかという条件に基づいて、補完したユーザの発話の正誤を判定してもよい。本変形例の構成によれば、補完したユーザの発話の正誤を判定する条件の数が増えるので、補完したユーザの発話の正誤をより正確に判定することができる。
一変形例では、正誤判定部26は、補完したユーザの発話が、どんな話題カテゴリに関するかという条件に加えて、だれ(どのユーザ)が発話したかという条件に基づいて、補完したユーザの発話の正誤を判定してもよい。本変形例の構成によれば、補完したユーザの発話の正誤を判定する条件の数が増えるので、補完したユーザの発話の正誤をより正確に判定することができる。
本変形例では、正誤判定部26は、補完したユーザの発話の話題カテゴリと同じ話題カテゴリと対応付けられた過去のユーザの発話の情報を発話データベース50から発見することができた場合(図6のS402でYes)、発見した過去のユーザの発話の情報に付加された付属情報を参照して、発見した過去のユーザの発話が、だれ(つまり、どのユーザ)の発話であるかを特定する。そして、正誤判定部26は、発話したユーザと、発見した過去のユーザの発話との間で、発話をしたユーザ(だれ)が一致する場合に、補完したユーザの発話は正しいと判定する。なお、正誤判定部26は、発見した過去の発話がだれの発話であるかを特定するために、例えば、対話装置1に予め登録されたユーザの識別情報(登録名または登録番号など)を参照してもよい。
(発話データベース50の一例)
図7は、対話装置1および過去のユーザの発話の情報が保存された発話データベース50のデータ構造の一例を示す図である。ここで、図7に示す発話データベース50の“Who”の項目に記載した「ロボット」は、対話装置1に対応する。図7に示すように、発話データベース50には、ロボット(すなわち、対話装置1)およびユーザによる各発話の情報が保存されている。また、図7に示す発話データベース50では、ロボットおよびユーザによる各発話の情報に対し、“When”(発話された日時)、“Where”(発話された場所)、“Who”(発話の主体)、および“What”(発話と対応付けられた話題カテゴリ)についての各付属情報が付加されている。なお、図7において、各発話の情報には、複数の話題カテゴリ(“What”)の情報が、付属情報として付加されている。また、図7において、ある発話の話題カテゴリ(“What”)の項目に記載された“A=B”は、上記ある発話が、話題カテゴリの“A”と対応付けられた1つの単語、および話題カテゴリの“B”と対応付けられた他の単語を含むことを示す。また、他の発話の話題カテゴリ(“What”)の項目に記載された“AB=C”は、上記ある発話が、話題カテゴリの“A”および“B”と対応付けられた1つの単語、および話題カテゴリの“C”と対応付けられた他の単語を含むことを示す。
図7は、対話装置1および過去のユーザの発話の情報が保存された発話データベース50のデータ構造の一例を示す図である。ここで、図7に示す発話データベース50の“Who”の項目に記載した「ロボット」は、対話装置1に対応する。図7に示すように、発話データベース50には、ロボット(すなわち、対話装置1)およびユーザによる各発話の情報が保存されている。また、図7に示す発話データベース50では、ロボットおよびユーザによる各発話の情報に対し、“When”(発話された日時)、“Where”(発話された場所)、“Who”(発話の主体)、および“What”(発話と対応付けられた話題カテゴリ)についての各付属情報が付加されている。なお、図7において、各発話の情報には、複数の話題カテゴリ(“What”)の情報が、付属情報として付加されている。また、図7において、ある発話の話題カテゴリ(“What”)の項目に記載された“A=B”は、上記ある発話が、話題カテゴリの“A”と対応付けられた1つの単語、および話題カテゴリの“B”と対応付けられた他の単語を含むことを示す。また、他の発話の話題カテゴリ(“What”)の項目に記載された“AB=C”は、上記ある発話が、話題カテゴリの“A”および“B”と対応付けられた1つの単語、および話題カテゴリの“C”と対応付けられた他の単語を含むことを示す。
図示しないが、発話データベース50において、過去のユーザの発話の情報には、その発話が、どのような手段(音声入力か、またはテキスト入力か)で対話装置1に入力されたかを示す付属情報、または、その発話がどのような状態(補完されたか、または補完されなかったか)で発話データベース50に保存されたかを示す付属情報が付加されてもよい。
(カテゴリ表60の一例)
図8は、単語と該単語の話題カテゴリとの対応関係を示すカテゴリ表60のデータ構造の一例を示す図である。例えば、図8では、“リンゴ”という単語に対し、“果物”という話題カテゴリが対応付けられている。図8に示すカテゴリ表60では、各単語にそれぞれ1つの話題カテゴリが対応付けられているが、各単語の情報には、1または複数の話題カテゴリの情報が対応付けられていてよい。
図8は、単語と該単語の話題カテゴリとの対応関係を示すカテゴリ表60のデータ構造の一例を示す図である。例えば、図8では、“リンゴ”という単語に対し、“果物”という話題カテゴリが対応付けられている。図8に示すカテゴリ表60では、各単語にそれぞれ1つの話題カテゴリが対応付けられているが、各単語の情報には、1または複数の話題カテゴリの情報が対応付けられていてよい。
また、話題カテゴリには包含関係があってもよい。すなわち、ある話題カテゴリに対応付けられた単語は、他の話題カテゴリ(上位概念カテゴリ)に対応付けられた単語の一部であってもよい。例えば、図8に示す話題カテゴリの“甘み”、“酸味”、および“うま味”は、図示しない上位概念カテゴリの“味覚”に含まれていてもよい。同じ上位概念カテゴリに含まれる話題カテゴリ同士(“甘み”と“酸味”、“甘み”と“うま味”など)は類似する。前述した発話生成部24は、対話装置1の発話を生成する際、直前のユーザの発話の話題カテゴリと同じかまたは類似する話題カテゴリのシナリオにしたがって、対話装置1の発話を生成することが好ましい。
〔実施形態2〕
前記実施形態1の発話保存処理S8において、正誤判定部26は、補完したユーザの発話に含まれる単語の話題カテゴリが、過去のユーザの発話の話題カテゴリと一致する場合に、補完したユーザの発話は正しいと判定した(図6参照)。本実施形態では、正誤判定部26が、前記実施形態1で説明した方法とは異なる方法で、補完したユーザの発話の正誤を判定する構成を説明する。
前記実施形態1の発話保存処理S8において、正誤判定部26は、補完したユーザの発話に含まれる単語の話題カテゴリが、過去のユーザの発話の話題カテゴリと一致する場合に、補完したユーザの発話は正しいと判定した(図6参照)。本実施形態では、正誤判定部26が、前記実施形態1で説明した方法とは異なる方法で、補完したユーザの発話の正誤を判定する構成を説明する。
(S8;発話保存処理の流れ)
図9を用いて、本実施形態に係る発話保存処理S8の流れを説明する。図9は、本実施形態に係る発話保存処理の流れを示すフローチャートである。以下では、補完処理部23がユーザの発話を補完した場合の発話保存処理の流れを説明する。
図9を用いて、本実施形態に係る発話保存処理S8の流れを説明する。図9は、本実施形態に係る発話保存処理の流れを示すフローチャートである。以下では、補完処理部23がユーザの発話を補完した場合の発話保存処理の流れを説明する。
図9に示すように、本実施形態に係る発話保存処理では、まず、正誤判定部26は、発話データベース50において、直前の(つまり、発話データベース50に保存されている過去の対話装置1の発話の情報の中で、最後に保存された)対話装置1の発話と対応付けられた話題カテゴリの組合せの情報を参照する(S501)。
補完したユーザの発話に含まれる複数の単語の話題カテゴリの組合せが、直前の対話装置1の発話と対応付けられた話題カテゴリの組合せと同じでない場合(S502でNo)、発話保存部25は、補完したユーザの発話の情報を発話データベース50に保存しない(S503)。なお、実施形態3で説明するように、正誤判定部26が補完したユーザの発話は誤りであると判定した場合、補完したユーザの発話の適否をユーザに確認してもよい。この構成では、ユーザが補完したユーザの発話は適切であると回答した場合、発話保存部25は、正誤判定部26が誤りであると判定した補完したユーザの発話も発話データベース50に保存する。
一方、補完したユーザの発話に含まれる複数の単語の話題カテゴリの組合せが、直前の対話装置1の発話と対応付けられた話題カテゴリの組合せと同じである場合(S502でYes)、発話保存部25は、補完したユーザの発話の情報を発話データベース50に保存する(S504)。なお、発話情報取得処理のS7において、補完処理部23がユーザの発話を補完しなかった場合、正誤判定部26は、ユーザの発話の正誤を判定してもよいし、しなくてもよい。正誤判定部26がユーザの発話の正誤を判定しない場合、発話保存部25は、補完されていないユーザの発話を保存してもよい。
対話装置1とユーザとが同一の話題に関して対話を継続している場合、ユーザの発話は、直前の対話装置1の発話と関連性が高い。一方、ユーザが話題を切り替えた場合、ユーザの発話は、直前の対話装置1の発話と関連性が低い。前述したように、補完処理部23は、直前の対話装置1の発話に基づいて、ユーザの発話を補完するので、前者の場合には、ユーザの発話を正しく補完することができる可能性が高いが、後者の場合には、ユーザの発話を正しく補完することができる可能性が低い。本実施形態の構成によれば、補完したユーザの発話に含まれる単語の話題カテゴリが、直前の対話装置1の発話に含まれる単語の話題カテゴリと同じである場合、すなわち、前者の場合のみ、発話保存部25は、補完したユーザの発話を発話データベース50に保存する。したがって、発話保存部25は、正しく補完された可能性が高いユーザの発話の情報のみを、発話データベース50に保存することができる。
なお、本実施形態で説明した発話保存処理と、前記実施形態1で説明した発話保存処理とを組み合わせてもよい。例えば、正誤判定部26は、まず、前記実施形態1で説明したように、補完したユーザの発話に含まれる単語の話題カテゴリが、過去のユーザの発話の話題カテゴリと一致するか否かを判定する。補完したユーザの発話に含まれる単語の話題カテゴリが、過去のユーザの発話の話題カテゴリと一致する場合、正誤判定部26は、補完したユーザの発話は正しいと判定する。一方、補完したユーザの発話に含まれる単語の話題カテゴリが、過去のユーザの発話の話題カテゴリと一致しない場合、正誤判定部26は、本実施形態で説明した方法で、補完したユーザの発話の正誤をさらに判定する。この構成では、正誤判定部26は、補完したユーザの発話の正誤をより正確に判定することができる。
〔実施形態3〕
本実施形態では、前記実施形態1および2で説明した発話情報取得処理(図2参照)の発話保存処理S8において、発話保存部25が、補完したユーザの発話を保存しないことを決定した場合、発話生成部24が、補完したユーザの発話の正誤をユーザに確認する構成を説明する。
本実施形態では、前記実施形態1および2で説明した発話情報取得処理(図2参照)の発話保存処理S8において、発話保存部25が、補完したユーザの発話を保存しないことを決定した場合、発話生成部24が、補完したユーザの発話の正誤をユーザに確認する構成を説明する。
(発話確認処理)
図10を用いて、本実施形態に係る発話確認処理の流れを説明する。前記実施形態1または2で説明した発話保存処理(図6および図9参照)において、発話保存部25が、補完したユーザの発話を保存しないことを決定した場合、制御部20は、以下で説明する発話確認処理を実行する。
図10を用いて、本実施形態に係る発話確認処理の流れを説明する。前記実施形態1または2で説明した発話保存処理(図6および図9参照)において、発話保存部25が、補完したユーザの発話を保存しないことを決定した場合、制御部20は、以下で説明する発話確認処理を実行する。
図10に示すように、発話確認処理では、まず、発話生成部24は、シナリオデータベース40から、補完したユーザの発話に含まれる単語の話題カテゴリと同じ話題カテゴリまたは類似する話題カテゴリのシナリオを検索する(S601)。
発話生成部24が、シナリオデータベース40から、補完したユーザの発話に含まれる単語の話題カテゴリと同じ話題カテゴリのシナリオを発見しなかった場合(S602でNo)、発話生成部24は、ユーザの発話の話題カテゴリに基づいて、対話装置1の発話を生成する(S603)。例えば、補完したユーザの発話が「レモンは甘い」であった場合、発話生成部24は、「レモン」の話題カテゴリ(例えば、果物)および「甘い」の話題カテゴリ(例えば、甘み)に基づいて、対話装置1の発話を生成する。例えば、発話生成部24は、対話装置1の発話として、「レモンは甘いの?」を生成してもよい。また、補完しないユーザの発話が「甘い」であった場合、形態素解析部22が、ユーザの発話に対する形態素解析を実行することにより、ユーザの発話において主語([何])が省略されたことを特定する。そして、発話生成部24は、形態素解析部22による形態素解析の結果と、ユーザの発話である「甘い」の話題カテゴリとに基づいて、対話装置1の発話として、「何が甘いの?」を生成してもよい。
また、発話生成部24が、シナリオデータベース40から、補完したユーザの発話と同じ話題カテゴリの質問用シナリオを発見した場合(S602でYes)、発話生成部24は、発見した質問用シナリオにしたがって、対話装置1の発話を生成する(S604)。例えば、補完したユーザの発話が「レモンは甘い」である場合、発話生成部24は、シナリオデータベース40から、「レモン」および「甘い」に対応する話題カテゴリ(例えば、果物、甘み、酸味、うま味等)の質問用シナリオを取得する。そして、発話生成部24は、取得した質問用シナリオにしたがって、対話装置1の発話を生成してもよい。例えば、発話生成部24が取得した質問用シナリオが「[A]は[B]なの?」である場合、発話生成部24は、上記[A]を「レモン」に置き換え、上記[B]を「甘い」に置き換えることによって、対話装置1の発話として、「レモンは甘いの?」を生成してよい。
発話生成部24は、このようにして生成した対話装置1の発話(質問)を、音声出力部30に出力させる(S605)。その後の一定時間、対話装置1の制御部20は、対話装置1の発話に対するユーザの返答を待つ。
対話装置1が発話をしてから一定時間、ユーザが返答をしなかった場合(S606でNo)、発話保存処理は終了する。一方、ユーザが返答をした場合(S606でYes)、正誤判定部26は、ユーザの返答が肯定(「はい」、「うん」等)であるか、それとも否定(「いいえ」「ちがう」等)であるかを判定する(S607)。ユーザの返答が肯定である場合(S607でYes)、発話保存部25は、補完したユーザの発話を発話データベース50に保存する(S608)。一方、ユーザの返答が否定である場合(S607でNo)、発話保存部25は、補完したユーザの発話を発話データベース50に保存しない。
本実施形態の構成によれば、正誤判定部26が、補完したユーザの発話は誤りであると判定した場合、発話生成部24は、補完したユーザの発話の正誤をユーザに確認する。そして、ユーザが、補完したユーザの発話は正しいと返答した場合に、発話保存部25は、ユーザの発話を発話データベース50に保存する。そのため、補完したユーザの発話の正誤をより正確に判定することができる。また、誤りでない(つまり、正しい)ユーザの発話の情報が発話データベース50に保存されない可能性を低減することができる。
〔ソフトウェアによる実現例〕
対話装置1の制御部20は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
対話装置1の制御部20は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、対話装置1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る対話装置(1)は、ユーザと音声またはテキストで対話する対話装置であって、当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完部(補完処理部23)と、所定の判定条件に基づき、上記発話補完部が補完した上記ユーザの発話の正誤を判定する正誤判定部(26)と、上記ユーザの発話は正しいと上記正誤判定部が判定した場合、上記ユーザの発話の情報を発話データベース(50)に保存する発話保存部(25)と、上記発話保存部が上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成部(24)と、を備える。
本発明の態様1に係る対話装置(1)は、ユーザと音声またはテキストで対話する対話装置であって、当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完部(補完処理部23)と、所定の判定条件に基づき、上記発話補完部が補完した上記ユーザの発話の正誤を判定する正誤判定部(26)と、上記ユーザの発話は正しいと上記正誤判定部が判定した場合、上記ユーザの発話の情報を発話データベース(50)に保存する発話保存部(25)と、上記発話保存部が上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成部(24)と、を備える。
上記の構成によれば、対話装置に入力されたユーザの発話の情報を用いて、対話装置の発話を生成することができる。また、ユーザの発話に不足している文節がある場合、該ユーザの発話は補完される。したがって、発話データベースには、文節が不足していない完全なユーザの発話の情報が保存される。これにより、対話装置は、発話データベースに保存されているユーザの発話を有効に利用して、対話装置の発話を生成することができる。
本発明の態様2に係る対話装置は、上記態様1において、上記発話補完部は、当該対話装置およびユーザの少なくとも一方の上記先の発話に含まれる単語に基づいて、上記ユーザの発話を補完してもよい。なお、発話データベースに、対話装置およびユーザの両方の発話の情報が保存される場合、発話補完部は、発話データベースに最後に保存された対話装置またはユーザの発話に基づいて、ユーザの発話を補完してもよい。
上記の構成によれば、過去の対話装置とユーザとの対話の話題に基づいて、ユーザの発話を簡単に補完することができる。例えば、対話装置およびユーザの少なくとも一方が、ある単語に関係する話題を先に発話していた場合、続くユーザの発話にも上記ある単語が含まれる可能性が高い。したがって、ユーザの発話に上記ある単語を補完した場合、補完したユーザの発話は正しい可能性が高い。
本発明の態様3に係る対話装置は、上記態様1または2において、上記正誤判定部は、(a)単語と該単語のカテゴリとの対応関係を示す情報を参照して、(b)上記発話補完部が補完した上記ユーザの発話に含まれる単語のカテゴリが、上記対話装置およびユーザの少なくとも一方の上記先の発話に含まれる単語のカテゴリと一致する場合、上記ユーザの発話は正しいと判定してもよい。
上記の構成によれば、補完したユーザの発話の正誤を簡単に判定することができる。そのため、正しい可能性が高いユーザの発話の情報のみを、発話データベースに選択的に保存することができる。
本発明の態様4に係る対話装置は、上記態様1から3のいずれかにおいて、上記発話保存部は、上記ユーザの発話とともに、(i)上記ユーザの発話に含まれる1または複数の単語のカテゴリを示す情報、(ii)上記ユーザの発話が入力された日時または場所を示す情報、および、(iii)上記ユーザの識別情報のうちの少なくとも1つを、上記発話データベースに保存してもよい。
上記の構成によれば、発話データベースに保存された上記情報を利用して、ユーザの発話の正誤を判定する精度を向上させることができる。
本発明の態様5に係る対話装置は、上記態様1から4のいずれかにおいて、上記正誤判定部は、(a)単語と該単語のカテゴリとの対応関係を示す情報を参照して、(b)上記発話補完部が補完した上記ユーザの発話に含まれる複数の単語と対応するカテゴリの組合せが、上記発話データベースに保存されている当該対話装置およびユーザの少なくとも一方の1つの発話に含まれる複数の単語と対応するカテゴリの組合せと一致する場合、上記ユーザの発話は正しいと判定してもよい。
上記の構成によれば、対話装置およびユーザの少なくとも一方の先の発話に含まれる複数の単語のカテゴリの組合せに基づいて、ユーザの発話の正誤をより正確に判定することができる。
本発明の態様6に係る対話装置は、上記態様1から5のいずれかにおいて、上記正誤判定部は、(a)上記発話補完部が補完した上記ユーザの発話の正誤をユーザに確認する当該対話装置の発話を出力し、(b)上記発話補完部が補完した上記ユーザの発話は正しいことを認めるユーザの発話が当該対話装置に入力された場合、上記ユーザの発話は正しいと判定してもよい。
上記の構成によれば、補完したユーザの発話の正誤をより正確に判定することができる。
本発明の態様7に係る対話装置の制御方法は、ユーザと音声またはテキストで対話する対話装置(1)の制御方法であって、当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完ステップと、所定の条件に基づいて、上記発話補完ステップにおいて補完した上記ユーザの発話の正誤を判定する正誤判定ステップと、上記正誤判定ステップにおいて上記ユーザの発話は正しいと判定した場合、上記ユーザの発話の情報を、当該対話装置の発話を生成するための発話データベース(50)に保存する発話保存ステップと、上記発話保存ステップにおいて上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成ステップと、を含む。上記の構成によれば、上記態様1に係る対話装置と同様の効果を奏することができる。
本発明の各態様に係る対話装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記対話装置が備える各部(ソフトウェア要素)として動作させることにより上記対話装置をコンピュータにて実現させる対話装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
1 対話装置
23 補完処理部(発話補完部)
24 発話生成部
25 発話保存部
26 正誤判定部
50 発話データベース
23 補完処理部(発話補完部)
24 発話生成部
25 発話保存部
26 正誤判定部
50 発話データベース
Claims (8)
- ユーザと音声またはテキストで対話する対話装置であって、
当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完部と、
所定の判定条件に基づき、上記発話補完部が補完した上記ユーザの発話の正誤を判定する正誤判定部と、
上記ユーザの発話は正しいと上記正誤判定部が判定した場合、上記ユーザの発話の情報を発話データベースに保存する発話保存部と、
上記発話保存部が上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成部と、
を備えたことを特徴とする対話装置。 - 上記発話補完部は、当該対話装置およびユーザの少なくとも一方の上記先の発話に含まれる単語に基づいて、上記ユーザの発話を補完することを特徴とする請求項1に記載の対話装置。
- 上記正誤判定部は、
(a)単語と該単語のカテゴリとの対応関係を示す情報を参照して、
(b)上記発話補完部が補完した上記ユーザの発話に含まれる単語のカテゴリが、上記対話装置およびユーザの少なくとも一方の上記先の発話に含まれる単語のカテゴリと一致する場合、上記ユーザの発話は正しいと判定することを特徴とする請求項1または2に記載の対話装置。 - 上記発話保存部は、上記ユーザの発話とともに、(i)上記ユーザの発話に含まれる1または複数の単語のカテゴリを示す情報、(ii)上記ユーザの発話が入力された日時または場所を示す情報、および、(iii)上記ユーザの識別情報のうちの少なくとも1つを、上記発話データベースに保存することを特徴とする請求項1から3のいずれか1項に記載の対話装置。
- 上記正誤判定部は、
(a)単語と該単語のカテゴリとの対応関係を示す情報を参照して、
(b)上記発話補完部が補完した上記ユーザの発話に含まれる複数の単語と対応するカテゴリの組合せが、上記発話データベースに保存されている当該対話装置およびユーザの少なくとも一方の1つの発話に含まれる複数の単語と対応するカテゴリの組合せと一致する場合、上記ユーザの発話は正しいと判定することを特徴とする請求項1から4のいずれか1項に記載の対話装置。 - 上記正誤判定部は、
(a)上記発話補完部が補完した上記ユーザの発話の正誤をユーザに確認する当該対話装置の発話を出力し、
(b)上記発話補完部が補完した上記ユーザの発話は正しいことを認めるユーザの発話が当該対話装置に入力された場合、上記ユーザの発話は正しいと判定することを特徴とする請求項1から5のいずれか1項に記載の対話装置。 - ユーザと音声またはテキストで対話する対話装置の制御方法であって、
当該対話装置に入力されたユーザの発話に不足している文節がある場合、当該対話装置およびユーザの少なくとも一方の先の発話に基づいて、上記ユーザの発話を補完する発話補完ステップと、
所定の条件に基づいて、上記発話補完ステップにおいて補完した上記ユーザの発話の正誤を判定する正誤判定ステップと、
上記正誤判定ステップにおいて上記ユーザの発話は正しいと判定した場合、上記ユーザの発話の情報を、当該対話装置の発話を生成するための発話データベースに保存する発話保存ステップと、
上記発話保存ステップにおいて上記発話データベースに保存した上記ユーザの発話を用いて、当該対話装置の発話を生成する発話生成ステップと、
を含むことを特徴とする対話装置の制御方法。 - 請求項1〜6のいずれか1項に記載の対話装置としてコンピュータを機能させるための制御プログラムであって、上記各部としてコンピュータを機能させるための制御プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016198479 | 2016-10-06 | ||
JP2016198479 | 2016-10-06 | ||
PCT/JP2017/030408 WO2018066258A1 (ja) | 2016-10-06 | 2017-08-24 | 対話装置、対話装置の制御方法、および制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018066258A1 JPWO2018066258A1 (ja) | 2019-09-05 |
JP6715943B2 true JP6715943B2 (ja) | 2020-07-01 |
Family
ID=61831743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018543774A Active JP6715943B2 (ja) | 2016-10-06 | 2017-08-24 | 対話装置、対話装置の制御方法、および制御プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190311716A1 (ja) |
JP (1) | JP6715943B2 (ja) |
CN (1) | CN109791766A (ja) |
WO (1) | WO2018066258A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019155716A1 (ja) * | 2018-02-08 | 2019-08-15 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
CN112988987B (zh) * | 2019-12-16 | 2024-06-28 | 科沃斯商用机器人有限公司 | 人机交互方法、装置、智能机器人和存储介质 |
JP7436804B2 (ja) * | 2020-01-23 | 2024-02-22 | 株式会社Mixi | 情報処理装置、及びプログラム |
JP7352491B2 (ja) * | 2020-02-28 | 2023-09-28 | Kddi株式会社 | ユーザ周辺データに応じて雑談のような対話を進行させる対話装置、プログラム及び方法 |
KR102628304B1 (ko) * | 2023-06-29 | 2024-01-24 | 주식회사 멜로우컴퍼니 | 자연어 처리 프로세서를 이용한 영상 원문 수정 장치 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3300142B2 (ja) * | 1993-12-17 | 2002-07-08 | シャープ株式会社 | 自然言語処理装置 |
JP3022511B1 (ja) * | 1998-10-01 | 2000-03-21 | 株式会社エイ・ティ・アール音声翻訳通信研究所 | 言語処理装置及び語義決定装置 |
JP2005157494A (ja) * | 2003-11-20 | 2005-06-16 | Aruze Corp | 会話制御装置及び会話制御方法 |
JP4475628B2 (ja) * | 2003-11-25 | 2010-06-09 | 株式会社ユニバーサルエンターテインメント | 会話制御装置、会話制御方法並びにこれらのプログラム |
JP2005181442A (ja) * | 2003-12-16 | 2005-07-07 | Fuji Electric Holdings Co Ltd | 音声対話装置、その方法、プログラム |
JP2005339237A (ja) * | 2004-05-27 | 2005-12-08 | Aruze Corp | アプリケーション利用補助システム |
JP4849662B2 (ja) * | 2005-10-21 | 2012-01-11 | 株式会社ユニバーサルエンターテインメント | 会話制御装置 |
JP2007272534A (ja) * | 2006-03-31 | 2007-10-18 | Advanced Telecommunication Research Institute International | 省略語補完装置、省略語補完方法、及びプログラム |
US8073681B2 (en) * | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
JP5149737B2 (ja) * | 2008-08-20 | 2013-02-20 | 株式会社ユニバーサルエンターテインメント | 自動会話システム、並びに会話シナリオ編集装置 |
CN105373527B (zh) * | 2014-08-27 | 2020-11-27 | 中兴通讯股份有限公司 | 一种省略恢复方法及问答系统 |
CN105589844B (zh) * | 2015-12-18 | 2017-08-08 | 北京中科汇联科技股份有限公司 | 一种用于多轮问答系统中缺失语义补充的方法 |
-
2017
- 2017-08-24 CN CN201780061614.2A patent/CN109791766A/zh active Pending
- 2017-08-24 JP JP2018543774A patent/JP6715943B2/ja active Active
- 2017-08-24 WO PCT/JP2017/030408 patent/WO2018066258A1/ja active Application Filing
- 2017-08-24 US US16/339,166 patent/US20190311716A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2018066258A1 (ja) | 2018-04-12 |
US20190311716A1 (en) | 2019-10-10 |
JPWO2018066258A1 (ja) | 2019-09-05 |
CN109791766A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6715943B2 (ja) | 対話装置、対話装置の制御方法、および制御プログラム | |
US11887590B2 (en) | Voice enablement and disablement of speech processing functionality | |
US12100396B2 (en) | Indicator for voice-based communications | |
US10074369B2 (en) | Voice-based communications | |
US10453449B2 (en) | Indicator for voice-based communications | |
US10460034B2 (en) | Intention inference system and intention inference method | |
US20170103757A1 (en) | Speech interaction apparatus and method | |
JP2014191030A (ja) | 音声認識端末およびコンピュータ端末を用いる音声認識方法 | |
US11798559B2 (en) | Voice-controlled communication requests and responses | |
JP2019090942A (ja) | 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム | |
WO2019031268A1 (ja) | 情報処理装置、及び情報処理方法 | |
US20170337922A1 (en) | System and methods for modifying user pronunciation to achieve better recognition results | |
JP2017211610A (ja) | 出力制御装置、電子機器、出力制御装置の制御方法、および出力制御装置の制御プログラム | |
US11563708B1 (en) | Message grouping | |
JP6644141B2 (ja) | 応答装置および応答装置の制御方法、制御プログラム | |
JP5818753B2 (ja) | 音声対話システム及び音声対話方法 | |
JP2016009091A (ja) | 複数の異なる対話制御部を同時に用いて応答文を再生する端末、プログラム及びシステム | |
WO2011030372A1 (ja) | 音声対話装置及びプログラム | |
JP5381211B2 (ja) | 音声対話装置及びプログラム | |
JP2008243076A (ja) | 翻訳装置、方法及びプログラム | |
JP6538399B2 (ja) | 音声処理装置、音声処理方法およびプログラム | |
JP2009210942A (ja) | 音声再生システム、音声再生方法およびプログラム | |
JP2018091979A (ja) | 対話型情報提供システムおよび対話型情報提供方法 | |
JP2003248497A (ja) | 対話エージェント方式 | |
JP2018097201A (ja) | 音声対話装置および対話方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190401 |
|
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: 20200519 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200609 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6715943 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |