JP4888996B2 - 会話制御装置 - Google Patents

会話制御装置 Download PDF

Info

Publication number
JP4888996B2
JP4888996B2 JP2005307867A JP2005307867A JP4888996B2 JP 4888996 B2 JP4888996 B2 JP 4888996B2 JP 2005307867 A JP2005307867 A JP 2005307867A JP 2005307867 A JP2005307867 A JP 2005307867A JP 4888996 B2 JP4888996 B2 JP 4888996B2
Authority
JP
Japan
Prior art keywords
sentence
unit
conversation
answer
plan
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
JP2005307867A
Other languages
English (en)
Other versions
JP2007115143A (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.)
Universal Entertainment Corp
PtoPA Inc
Original Assignee
Universal Entertainment Corp
PtoPA Inc
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 Universal Entertainment Corp, PtoPA Inc filed Critical Universal Entertainment Corp
Priority to JP2005307867A priority Critical patent/JP4888996B2/ja
Priority to US11/582,318 priority patent/US20070094008A1/en
Priority to CN2006101360387A priority patent/CN1975857B/zh
Publication of JP2007115143A publication Critical patent/JP2007115143A/ja
Application granted granted Critical
Publication of JP4888996B2 publication Critical patent/JP4888996B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

本発明は、ユーザからの発話に応じて回答又は返答を出力する会話制御装置に関する。
近年、ユーザの発話に対して応答を返す会話制御装置が、カーナビなど様々な用途で利用されるようになってきた(例えば、特許文献1、特許文献2、特許文献3)。この様な会話制御装置は、ユーザと会話を成立させながら、ユーザの質問に答えたり、ユーザを誘導したりすることを目的としている。
特開2004−258902号公報 特開2004−258903号公報 特開2004−258904号公報
一般に、上記のような会話制御装置は、ユーザの発話内容に応じた回答・返答などをデータベースとして用意しておき、ユーザの発話内容に従って、回答・返答などをデータベースから抽出し、出力することにより、会話を成立させようとする。しかしながら、データベース内に用意されていないユーザ発話内容には応答することが出来ない。例えば、ユーザの発話文章に未知語(データベース内に用意されていない語)が、2つ以上含まれていると、「回答不能」状態となり、「私にはわかりません」などと回答するように設計されている。
このような未知語を含むユーザ発話が連続すると、従来の会話制御装置は「私にはわかりません」を繰り返すこととなり、会話が成立しなくなり、その結果ユーザに不自然さ、不便さを感じさせてしまうという欠点があった。
本発明の目的は、「回答不能」となるようなユーザ発話が入力されたときであっても、通り一辺倒の機械的な回答を返すだけではなく、ユーザ発話状態に応じて会話の成立を維持することが可能な回答を行える会話制御装置を提供することにある。
本発明は、上記課題を解決するための手段として、以下の特徴を有している。
本発明は、ユーザ発話に応じて回答文を出力する会話制御装置として提案される。この会話制御装置は、回答文と、当該回答文の次の順番で出力することが予定される回答文である次候補回答文を指定する次候補指定情報とをそれぞれが有する複数のプランを記憶する会話データベースと、第1のユーザ発話に応じて、前記会話データベースに記憶されたプランを選択し、そのプランが有する回答文を出力するとともに、その後発話された第2のユーザ発話が、当該プランが有する次候補指定情報により指定される次候補回答文に対応する場合には、当該次候補指定情報によって指定される次候補回答文を出力する一方、前記第2のユーザ発話が前記次候補回答文と関連性がないか、若しくは関連性が不明である場合には、前記次候補回答文の出力を保留するプラン会話処理部と、前記プラン会話処理部が次候補回答文の出力を保留した場合に、前記第2のユーザ発話に関連する話題を検索し、前記第2のユーザ発話に関連する話題を発見した場合には、当該話題に関連する回答文を出力し、一方、前記第2のユーザ発話に関連する話題を発見しない場合には、当該話題に関連する回答文の出力を保留する談話空間会話制御処理部と、前記談話空間会話制御処理部が回答文の出力を保留した場合に会話の成立を維持するための回答文を出力するCA会話処理部と、入力されるユーザ発話の種類を示す発話文タイプを判定するための入力種類判定部とを有し、前記CA会話処理部が判定部と回答部とを有し、前記判定部は、前記談話空間会話制御処理部からユーザ発話文を受け取るとともに、このユーザ発話文に関して判定された発話文タイプを前記入力種類判定部から受け取り、受け取ったこれらの情報に基づいてユーザ発話意図を判定し、前記回答部は、複数種類の発話意図に対応する回答文を格納する複数種類の対応文テーブルを有しており、前記判定部によって判定された発話意図に対応する回答文を格納する対応文テーブルの中から会話の成立を維持するための前記回答文を決定することを特徴とする。
かかる会話制御装置は、ユーザ発話の内容に応じて、第1にプラン会話処理部が、第2に談話空間会話制御処理部が、回答文を出力し、ユーザとの会話を成立させる。プラン会話処理部、談話空間会話制御処理部のいずれもが回答できない場合には、会話制御装置がユーザ発話に対する回答をするための適切な知識(又はデータ)を有しない状態である。かかる状態であっても、本発明にかかる会話制御装置は、CA会話処理部がユーザ発話状態に応じて会話を維持するための回答を出力する。
上記会話制御装置はさらに以下の特徴を有しても良い。すなわち、CA会話処理部は、第2のユーザ発話が、何かを説明しているのか、何かを確認しているのか、避難又は攻撃しているのかを判定し、判定結果に応じた回答文を予め用意してある回答文群(例えば、説明会話対応文テーブル、確認会話対応文テーブル、非難攻撃会話対応文テーブル、反射会話文テーブル)から選択して出力するという特徴を会話制御装置はさらに備えていても良い。
かかる会話制御装置によれば、ユーザ発話の内容に応じて、会話の成立を維持する回答文の出力を行うことが可能となる。
本発明によれば、装置内に準備した知識では「回答不能」となるようなユーザ発話が入力されたときであっても、会話の成立を維持することが可能となる。
以下に図面を参照しながら本発明の第1の実施の形態を説明する。
本発明の第1の実施の形態は、ユーザ発話に対して回答を出力し、ユーザとの会話を成立させる会話制御装置として提案される。
[A.第1の実施の形態]
[1.会話制御装置の構成例]
[1.1.全体構成]
図1は、本実施の形態に係る会話制御装置1の構成例を示す機能ブロック図である。
会話制御装置1は、その筐体内部に、たとえばコンピュータ、ワークステーションなどの情報処理装置若しくは情報処理装置に相当するハードウエアを搭載している。会話制御装置1が有する情報処理装置は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入出力装置(I/O)、ハードディスク装置等の外部記憶装置を具備している装置で構成されている。前記ROM、もしくは外部記憶装置などに情報処理装置を会話制御装置1として機能させるためのプログラム、もしくは会話制御方法をコンピュータに実行させるためのプログラムが記憶されており、該プログラムを主メモリ上に載せ、CPUがこれを実行することにより会話制御装置1又は会話処理方法が実現される。また、上記プログラムは必ずしも当該装置内の記憶装置に記憶されていなくともよく、磁気ディスク、光ディスク、光磁気ディスク、CD(Compact Disc)、DVD(Digital Video Disc)などのコンピュータ読み取り可能なプログラム記録媒体や、外部の装置(例えば、ASP(アプリケーション・サービス・プロバイダ)のサーバなど)から提供され、これを主メモリに乗せる構成であっても良い。
図1に示すように、会話制御装置1は、入力部100と、音声認識部200と、会話制御部300と、文解析部400と、会話データベース500と、出力部600と、音声認識辞書記憶部700とを備えている。
[1.1.1.入力部]
入力部100は、利用者から入力された入力情報(ユーザ発話)を取得するものである。入力部100は、取得した発話内容に対応する音声を音声信号として音声認識部200に出力する。なお、入力部100は必ずしも、音声を扱うものに限られる必要はなく、キーボードや、タッチパネルなどの文字入力を扱うものであってもかまわない。この場合には後述する音声認識部200をもうける必要はない。
[1.1.2.音声認識部]
音声認識部200は、入力部100で取得した発話内容に基づいて、発話内容に対応する文字列を特定するものである。具体的には、入力部100から音声信号が入力された音声認識部200は、入力された音声信号に基づいて、この音声信号を、音声認識辞書記憶部700に格納されている辞書および会話データベース500と照合して、音声信号から推測される音声認識結果を出力する。なお、図1に示す構成例では、音声認識部200は、会話制御部300に会話データベース500の記憶内容の取得を要求し、会話制御部300が要求に応じて取得した会話データベース500の記憶内容を受け取るようになっているが、音声認識部200が直接会話データベース500の記憶内容を取得して音声信号との比較を行う構成であってもかまわない。
[1.1.2.1.音声認識部の構成例]
図2に、音声認識部200の構成例を示す機能ブロック図を示す。音声認識部200は、特徴抽出部200Aと、バッファメモリ(BM)200Bと、単語照合部200Cと、バッファメモリ(BM)200Dと、候補決定部200Eと、単語仮説絞込部200Fを有している。単語照合部200C及び単語仮説絞込部200Fは音声認識辞書記憶部700に接続されており、候補決定部200Eは会話データベース500に接続されている。
単語照合部200Cに接続された音声認識辞書記憶部700は、音素隠れマルコフモデル(以下、隠れマルコフモデルをHMMという。)を記憶している。音素HMMは、各状態を含んで表され、各状態はそれぞれ以下の情報を有する。(a)状態番号、(b)受理可能なコンテキストクラス、(c)先行状態、及び後続状態のリスト、(d)出力確率密度分布のパラメータ、及び(e)自己遷移確率及び後続状態への遷移確率から構成されている。なお、本実施形態において用いる音素HMMは、各分布がどの話者に由来するかを特定する必要があるため、所定の話者混合HMMを変換して生成する。ここで、出力確率密度関数は34次元の対角共分散行列をもつ混合ガウス分布である。また、単語照合部200Cに接続された音声認識辞書記憶部700は単語辞書を記憶している。単語辞書は、音素HMMの各単語毎にシンボルで表した読みを示すシンボル列を格納する。
話者の発声音声はマイクロホンなどに入力されて音声信号に変換された後、特徴抽出部200Aに入力される。特徴抽出部200Aは、入力された音声信号をA/D変換した後、特徴パラメータを抽出し、これを出力する。特徴パラメータを抽出し、これを出力する方法としては様々なものが考えられるが、例えば一例としては、LPC分析を実行し、対数パワー、16次ケプストラム係数、Δ対数パワー及び16次Δケプストラム係数を含む34次元の特徴パラメータを抽出する方法などが挙げられる。抽出された特徴パラメータの時系列はバッファメモリ(BM)200Bを介して単語照合部200Cに入力される。
単語照合部200Cは、ワン−パス・ビタビ復号化法を用いて、バッファメモリ200Bを介して入力される特徴パラメータのデータに基づいて、音声認識辞書記憶部700に記憶された音素HMMと単語辞書とを用いて単語仮説を検出し、尤度を計算して出力する。ここで、単語照合部200Cは、各時刻の各HMMの状態毎に、単語内の尤度と発声開始からの尤度を計算する。尤度は、尤度の計算対象となる単語の識別番号、その単語の発声開始時刻、その単語に先行して発声されている先行単語の違い毎に個別にもつ。また、計算処理量の削減のために、音素HMM及び単語辞書とに基づいて計算される総尤度のうちの低い尤度のグリッド仮説を削減するようにしてもよい。単語照合部200Cは、検出した単語仮説とその尤度の情報を発声開始時刻からの時間情報(具体的には、例えばフレーム番号)とともにバッファメモリ200Dを介して候補決定部200E及び単語仮説絞込部200Fに出力する。
候補決定部200Eは、会話制御部300を参照して、検出した単語仮説と所定の談話空間内の話題特定情報とを比較し、検出した単語仮説の内、所定の談話空間内の話題特定情報と一致するものがあるか否かを判定し、一致するものがある場合は、その一致する単語仮説を認識結果として出力し、一方一致するものがない場合は、単語仮説絞込部200Fに単語仮説の絞込を行うよう要求する。
候補決定部200Eの動作例を説明する。今、単語照合部200Cが複数の単語仮説「カンタク」「カタク」「カントク」およびその尤度(認識率)を出力し、所定の談話空間は「映画」に関するものでありその話題特定情報には「カントク(監督)」は含まれているが、「カンタク(干拓)」及び「カタク(仮託)」は含まれていないとする。また「カンタク」「カタク」「カントク」の尤度(認識率)は「カンタク」が最も高く「カントク」は最も低く、「カタク」は両者の中間であったとする。
上記の状況において、候補決定部200Eは、検出した単語仮説と所定の談話空間内の話題特定情報とを比較して、単語仮説「カントク」が、所定の談話空間内の話題特定情報と一致するものであると判定し、単語仮説「カントク」を認識結果として出力し、会話制御部300に渡す。このように処理することにより、現在扱われている話題「映画」に関連した「カントク(監督)」が、より上位の尤度(認識率)を有する単語仮説「カンタク」「カタク」に優先されて選択され、その結果会話の文脈に即した音声認識結果を出力することが可能となる。
一方、一致するものがない場合は、候補決定部200Eからの単語仮説の絞込を行う要求に応じて単語仮説絞込部200Fが認識結果を出力するよう動作する。単語仮説絞込部200Fは、単語照合部200Cからバッファメモリ200Dを介して出力される複数個の単語仮説に基づいて、音声認識辞書記憶部700に記憶された統計的言語モデルを参照して、終了時刻が等しく開始時刻が異なる同一の単語の単語仮説に対して、当該単語の先頭音素環境毎に、発声開始時刻から当該単語の終了時刻に至る計算された総尤度のうちの最も高い尤度を有する1つの単語仮説で代表させるように単語仮説の絞り込みを行った後、絞り込み後のすべての単語仮説の単語列のうち、最大の総尤度を有する仮説の単語列を認識結果として出力する。本実施形態においては、好ましくは、処理すべき当該単語の先頭音素環境とは、当該単語より先行する単語仮説の最終音素と、当該単語の単語仮説の最初の2つの音素とを含む3つの音素並びをいう。
単語仮説絞込部200Fによる単語絞込処理の例を図3を参照しながら説明する。図3は、単語仮説絞込部200Fの処理の一例を示すタイミングチャートである。
例えば(i−1)番目の単語Wi-1の次に、音素列a1,a2,…,anからなるi番目の単語Wiがくるときに、単語Wi-1の単語仮説として6つの仮説Wa,Wb,Wc,Wd,We,Wfが存在しているとする。ここで、前者3つの単語仮説Wa,Wb,Wcの最終音素は/x/であるとし、後者3つの単語仮説Wd,We,Wfの最終音素は/y/であるとする。終了時刻teにおいて単語仮説Wa,Wb,Wcを前提とする3つの仮説と、単語仮説Wd,We,Wfを前提とする1の仮説が残っているものとすると、先頭音素環境が等しい前者3つ仮説のうち、総尤度が最も高い仮説一つを残し、その他を削除する。
なお、単語仮説Wd,We,Wfを前提とする仮説は先頭音素環境が他の3つの仮説と違うため、すなわち、先行する単語仮説の最終音素がxではなくyであるため、この単語仮説Wd,We,Wfを前提とする仮説は削除しない。すなわち、先行する単語仮説の最終音素毎に1つのみ仮説を残す。
以上の実施形態においては、当該単語の先頭音素環境とは、当該単語より先行する単語仮説の最終音素と、当該単語の単語仮説の最初の2つの音素とを含む3つの音素並びとして定義されているが、本発明はこれに限らず、先行する単語仮説の最終音素と、最終音素と連続する先行する単語仮説の少なくとも1つの音素とを含む先行単語仮説の音素列と、当該単語の単語仮説の最初の音素を含む音素列とを含む音素並びとしてもよい。
以上の実施の形態において、特徴抽出部200Aと、単語照合部200Cと、候補決定部200Eと、単語仮説絞込部200Fは、例えば、マイクロコンピュータなどのコンピュータで構成され、バッファメモリ200B,200Dと、音声認識辞書記憶部700とは、例えばハードデイスクメモリなどの記憶装置で構成される。
以上実施形態においては、単語照合部200C、単語仮説絞込部200Fとを用いて音声認識を行っているが、本発明はこれに限らず、例えば、音素HMMを参照する音素照合部と、例えばOne Pass DPアルゴリズムを用いて統計的言語モデルを参照して単語の音声認識を行う音声認識部とで構成してもよい。
また、本実施の形態では、音声認識部200は会話制御装置1の一部分として説明するが、音声認識部200、音声認識辞書記憶部700、及び会話データベース500より構成される、独立した音声認識装置とすることも可能である。
[1.1.2.2.音声認識部の動作例]
つぎに図4を参照しながら音声認識部200の動作について説明する。図4は、音声認識部200の動作例を示すフローチャートである。入力部100より音声信号を受け取ると、音声認識部200は入力された音声の特徴分析を行い、特徴パラメータを生成する(ステップS401)。次に、この特徴パラメータと音声認識辞書記憶部700に記憶された音素HMM及び言語モデルとを比較して、所定個数の単語仮説及びその尤度を取得する(ステップS402)。次に、音声認識部200は、取得した所定個数の単語仮説と検出した単語仮説と所定の談話空間内の話題特定情報とを比較し、検出した単語仮説の内、所定の談話空間内の話題特定情報と一致するものがあるか否かを判定する(ステップS403、S404)。一致するものがある場合は、音声認識部200はその一致する単語仮説を認識結果として出力する(ステップS405)。一方、一致するものがない場合は、音声認識部200は取得した単語仮説の尤度に従って、最大尤度を有する単語仮説を認識結果として出力する(ステップS406)。
[1.1.3.音声認識辞書記憶部]
再び、図1に戻って、会話制御装置1の構成例の説明を続ける。
音声認識辞書記憶部700は、標準的な音声信号に対応する文字列を格納するものである。この照合をした音声認識部200は、その音声信号に対応する単語仮説に対応する文字列を特定し、その特定した文字列を文字列信号として会話制御部300に出力する。
[1.1.4.文解析部]
次に、図5を参照しながら文解析部400の構成例について説明する。図5は、会話制御装置1の部分拡大ブロック図であって、会話制御部300及び文解析部400の具体的構成例を示すブロック図である。なお、図5においては、会話制御部300、文解析部400、および会話データベース500のみ図示しており、その他の構成要素は表示を省略している。
文解析部400は、入力部100又は音声認識部200で特定された文字列を解析するものである。この文解析部400は、本実施の形態では、図5に示すように、文字列特定部410と、形態素抽出部420と、形態素データベース430と、入力種類判定部440と、発話種類データベース450とを有している。文字列特定部410は、入力部100及び音声認識部200で特定された一連の文字列を一文節毎に区切るものである。この一文節とは、文法の意味を崩さない程度に文字列をできるだけ細かく区切った一区切り文を意味する。具体的に、文字列特定部410は、一連の文字列の中に、ある一定以上の時間間隔があるときは、その部分で文字列を区切る。文字列特定部410は、その区切った各文字列を形態素抽出部420及び入力種類判定部440に出力する。尚、以下で説明する「文字列」は、一文節毎の文字列を意味するものとする。
[1.1.4.1.形態素抽出部]
形態素抽出部420は、文字列特定部410で区切られた一文節の文字列に基づいて、その一文節の文字列の中から、文字列の最小単位を構成する各形態素を第一形態素情報として抽出するものである。ここで、形態素とは、本実施の形態では、文字列に現された語構成の最小単位を意味するものとする。この語構成の最小単位としては、例えば、名詞、形容詞、動詞などの品詞が挙げられる。
各形態素は、図6に示すように、本実施の形態ではm1、m2、m3…、と表現することができる。図6は、文字列とこの文字列から抽出される形態素との関係を示す図である。図6に示すように、文字列特定部410から文字列が入力された形態素抽出部420は、入力された文字列と、形態素データベース430に予め格納されている形態素群(この形態素群は、それぞれの品詞分類に属する各形態素についてその形態素の見出し語・読み・品詞・活用形などを記述した形態素辞書として用意されている)とを照合する。その照合をした形態素抽出部420は、その文字列の中から、予め記憶された形態素群のいずれかと一致する各形態素(m1、m2、…)を抽出する。この抽出された各形態素を除いた要素(n1、n2、n3…)は、例えば助動詞等が挙げられる。
この形態素抽出部420は、抽出した各形態素を第一形態素情報として話題特定情報検索蔀320に出力する。なお、第一形態素情報は構造化されている必要はない。ここで「構造化」とは、文字列の中に含まれる形態素を品詞等に基づいて分類し配列することをいい、たとえば発話文である文字列を、「主語+目的語+述語」などの様に、所定の順番で形態素を配列してなるデータに変換することを言う。もちろん、構造化した第一形態素情報を用いたとしても、それが本実施の形態を実現をさまたげることはない。
[1.1.4.2.入力種類判定部]
入力種類判定部440は、文字列特定部410で特定された文字列に基づいて、発話内容の種類(発話種類)を判定するものである。この発話種類は、発話内容の種類を特定する情報であって、本実施の形態では、例えば図7に示す「発話文のタイプ」を意味する。図7は、「発話文のタイプ」と、その発話文のタイプを表す二文字のアルファベット、及びその発話文のタイプに該当する発話文の例を示す図である。
ここで、「発話文のタイプ」は、本実施の形態では、図7に示すように、陳述文(D ; Declaration)、時間文(T ; Time)、場所文(L ; Location)、反発文(N ; Negation)などから構成される。この各タイプから構成される文は、肯定文又は質問文で構成される。「陳述文」とは、利用者の意見又は考えを示す文を意味するものである。この陳述文は本実施の形態では、図7に示すように、例えば"私は佐藤が好きです"などの文が挙げられる。「場所文」とは、場所的な概念を伴う文を意味するものである。「時間文」とは、時間的な概念を伴う文を意味するものである。「反発文」とは、陳述文を否定するときの文を意味する。「発話文のタイプ」についての例文は図7に示す通りである。
入力種類判定部440が「発話文のタイプ」を判定するには、入力種類判定部440は、本実施の形態では、図8に示すように、陳述文であることを判定するための定義表現辞書、反発文であることを判定するための反発表現辞書等を用いる。具体的に、文字列特定部410から文字列が入力された入力種類判定部440は、入力された文字列に基づいて、その文字列と発話種類データベース450に格納されている各辞書とを照合する。その照合をした入力種類判定部440は、その文字列の中から、各辞書に関係する要素を抽出する。
この入力種類判定部440は、抽出した要素に基づいて、「発話文のタイプ」を判定する。例えば、入力種類判定部440は、ある事象について陳述している要素が文字列の中に含まれる場合には、その要素が含まれている文字列を陳述文として判定する。入力種類判定部440は、判定した「発話文のタイプ」を回答取得部380に出力する。
[1.1.5.会話データベース]
次に、会話データベース500が記憶するデータのデータ構成例について図9を参照しながら説明する。図9は、会話データベース500が記憶するデータの構成例を示す概念図である。
会話データベース500は、図9に示すように、話題を特定するための話題特定情報810を予め複数記憶している。又、それぞれの話題特定情報810は、他の話題特定情報810と関連づけられていてもよく、例えば、図9に示す例では、話題特定情報C(810)が特定されると、この話題特定情報C(810)に関連づけられている他の話題特定情報A(810)、話題特定情報B(810),話題特定情報D(810)が定まるように記憶されている。
具体的には、話題特定情報810は、本実施の形態では、利用者から入力されると予想される入力内容、又は利用者への回答文に関連性のある「キーワード」を意味する。
話題特定情報810には、一又は複数の話題タイトル820が対応付けられて記憶されている。話題タイトル820は、一つの文字、複数の文字列又はこれらの組み合わせからなる形態素により構成されている。各話題タイトル820には、利用者への回答文830が対応付けられて記憶されている。また、回答文830の種類を示す複数の回答種類は、回答文830に対応付けられている。
次に、ある話題特定情報810と他の話題特定情報810との関連づけについて説明する。図10は、ある話題特定情報810Aと他の話題特定情報810B、810C〜810C、810D〜810D…との関連付けを示す図である。なお、以下の説明において「関連づけされて記憶される」とは、ある情報Xを読み取るとその情報Xに関連づけられている情報Yを読み取りできることをいい、例えば、情報Xのデータの中に情報Yを読み出すための情報(例えば、情報Yの格納先アドレスを示すポインタ、情報Yの格納先物理メモリアドレス、論理アドレスなど)が格納されている状態を、「情報Yが情報Xに『関連づけされて記憶され』ている」というものとする。
図10に示す例では、話題特定情報は他の話題特定情報との間で上位概念、下位概念、同義語、対義語(本図の例では省略)が関連づけされて記憶させることができる。本図に示す例では、話題特定情報810A(=「映画」)に対する上位概念の話題特定情報として話題特定情報810B(=「娯楽」)が話題特定情報810Aに関連づけされて記憶されており、たとえば話題特定情報(「映画」)に対して上の階層に記憶される。
また、話題特定情報810A(=「映画」)に対する下位概念の話題特定情報810C(=「監督」)、話題特定情報810C(=「主演」)、話題特定情報810C(=「配給会社」)、話題特定情報810C(=「上映時間」)、および話題特定情報810D(=「七人の侍」)、話題特定情報810D(=「乱」)、話題特定情報810D(=「用心棒」)、…、が話題特定情報810Aに関連づけされて記憶されている。
又、話題特定情報810Aには、同義語900が関連付けられている。この例では、話題特定情報810Aであるキーワード「映画」の同義語として「作品」、「内容」、「シネマ」が記憶されている様子を示している。このような同意語を定めることにより、発話にはキーワード「映画」は含まれていないが「作品」、「内容」、「シネマ」が発話文等に含まれている場合に、話題特定情報810Aが発話文等に含まれているものとして取り扱うことを可能とする。
本実施の形態にかかる会話制御装置1は、会話データベース500の記憶内容を参照することにより、ある話題特定情報810を特定するとその話題特定情報810に関連づけられて記憶されている他の話題特定情報810及びその話題特定情報810の話題タイトル820、回答文830などを高速で検索・抽出することが可能となる。
次に、話題タイトル820(「第二形態素情報」ともいう)のデータ構成例について、図11を参照しながら説明する。図11は、話題タイトル820のデータ構成例を示す図である。
話題特定情報810D、810D、810D、…はそれぞれ複数の異なる話題タイトル820、820、…、話題タイトル820、820、…、話題タイトル820、820、…を有している。本実施の形態では、図11に示すように、それぞれの話題タイトル820は、第一特定情報1001と、第二特定情報1002と、第三特定情報1003によって構成される情報である。ここで、第一特定情報1001は、本実施の形態では、話題を構成する主要な形態素を意味するものである。第一特定情報1001の例としては、例えば文を構成する主語が挙げられる。また、第二特定情報1002は、本実施の形態では、第一特定情報1001と密接な関連性を有する形態素を意味するものである。この第二特定情報1002は、例えば目的語が挙げられる。更に、第三特定情報1003は、本実施の形態では、ある対象についての動きを示す形態素、又は名詞等を修飾する形態素を意味するものである。この第三特定情報1003は、例えば動詞、副詞又は形容詞が挙げられる。なお、第一特定情報1001、第二特定情報1002、第三特定情報1003それぞれの意味は上述の内容に限定される必要はなく、別の意味(別の品詞)を第一特定情報1001、第二特定情報1002、第三特定情報1003に与えても、これらから文の内容を把握可能な限り、本実施の形態は成立する。
例えば、主語が「七人の侍」、形容詞が「面白い」である場合には、図11に示すように、話題タイトル(第二形態素情報)820は、第一特定情報1001である形態素「七人の侍」と、第三特定情報1003である形態素「面白い」とから構成されることになる。なお、この話題タイトル820には第二特定情報1002に該当する形態素は含まれておらず、該当する形態素がないことを示すための記号「*」が第二特定情報1002として格納されている。
なお、この話題タイトル820(七人の侍;*;面白い)は、「七人の侍は面白い」の意味を有する。この話題タイトル820を構成する括弧内は、以下では左から第一特定情報1001、第二特定情報1002、第三特定情報1003の順番となっている。また、話題タイトル820のうち、第一から第三特定情報に含まれる形態素がない場合には、その部分については、「*」を示すことにする。
なお、上記話題タイトル820を構成する特定情報は、上記のような第一から第三特定情報のように三つに限定されるものではなく、例えば更に他の特定情報(第四特定情報、およびそれ以上)を有するようにしてもよい。
次に、回答文830について図12を参照して説明する。回答文830は、図12に示すように、本実施の形態では、利用者から発話された発話文のタイプに対応した回答をするために、陳述(D ; Declaration)、時間(T ; Time)、場所(L ; Location)、否定(N ; Negation)などのタイプ(回答種類)に分類されて、各タイプごとに用意されている。また肯定文は「A」とし、質問文は「Q」とする。
話題特定情報810のデータ構成例について、図13を参照して説明する。図13は、ある話題特定情報810「佐藤」に対応付けされた話題タイトル820,回答文830の具体例を示す。
話題特定情報810「佐藤」には、複数の話題タイトル(820)1−1、1−2、…が対応付けされている。それぞれの話題タイトル(820)1−1,1−2,…には回答文(830)1−1,1−2、…が対応付けされて記憶されている。回答文830は、回答種類840ごとに用意されている。
話題タイトル(820)1−1が(佐藤;*;好き){これは、「佐藤が好きです」に含まれる形態素を抽出したもの}である場合には、その話題タイトル(820)1-1に対応する回答文(830)1−1は、(DA;陳述肯定文「私も佐藤が好きです」)、(TA;時間肯定文「私は打席に立ったときの佐藤が好きです」)などが挙げられる。後述する回答取得部380は、入力種類判定部440の出力を参照しながらその話題タイトル820に対応付けられた一の回答文830を取得する。
各回答文には、当該回答文に対応するように、ユーザ発話に対して優先的に出力される回答文(「次回答文」とよぶ)を指定する情報である次プラン指定情報840が定められている。次プラン指定情報840は、次回答文を特定できる情報であれば、どのような情報であってもよく、たとえば、会話データベース500に格納されているすべての回答文から少なくとも一つの回答文を特定できる回答文ID、などである。
なお、本実施の形態においては、次プラン指定情報840は、回答文単位で次回答文を特定する情報(例えば、回答文ID)として説明するが、次プラン指定情報840は、話題タイトル820、話題特定情報810単位で、次回答文(この場合には、複数の回答文が次回答文として指定されるので、次回答文群とよぶ。ただし、実際に回答文として出力されるのは、この回答文群に含まれるいずれかの回答文となる)を特定する情報であってもかまわない。たとえば、話題タイトルID、話題特定情報IDを時プラン指定情報として使用しても本実施の形態は成立する。
[1.1.6.会話制御部]
ここで図5に戻り、会話制御部300の構成例を説明する。
会話制御部300は、会話制御装置1内の各構成要素(音声認識部200,文解析部400、会話データベース500,出力部600,音声認識辞書記憶部700)間のデータの受け渡しを制御するとともに、ユーザ発話に応答する回答文の決定、出力を行う機能を有する。
会話制御部300は、本実施の形態では、図5に示すように、管理部310と、プラン会話処理部320と,談話空間会話制御処理部330と、CA会話処理部340とを有している。以下これらの構成要素について説明する。
[1.1.6.1.管理部]
管理部310は談話履歴を記憶し、且つ必要に応じて更新する機能を有する。管理部310は話題特定情報検索部350と、省略文補完部360と、話題検索部370と、回答取得部380からの要求に応じて、記憶している談話履歴の全部又は一部をこれら各部に渡す機能を有する。
[1.1.6.2.プラン会話処理部]
プラン会話処理部320は、プランを実行し、プランに従った会話をユーザとの間で成立させる機能を有する。「プラン」とは、予め定めた順番に従って予め定めた回答をユーザに提供することをいう。以下、プラン会話処理部320について説明する。
プラン会話処理部320は、ユーザ発話に応じて、予め定めた順番に従って予め定めた回答を出力する機能を有する。
図14は、プランを説明するための概念図である。図14に示すように、プラン空間1401には複数のプラン1、プラン2,プラン3、プラン4など様々なプラン1402があらかじめ準備されている。プラン空間1401とは、会話データベース500に格納された複数のプラン1402の集合をいう。会話制御装置1は、装置起動時若しくは会話開始時にあらかじめ開始用に定められたプランを選択し、若しくは各ユーザ発話の内容に応じて、プラン空間1401の中から適宜いずれかのプラン1402を選択し、選択したプラン1402を用いてユーザ発話に対する回答文の出力を行う。
図15は、プラン1402の構成例を示す図である。プラン1402は、回答文1501と、これに関連づけられた次プラン指定情報1502を有している。次プラン指定情報1502は、当該プラン1402に含まれる回答文1501の次に、ユーザに出力する予定の回答文(次候補回答文と呼ぶ)を含むプラン1402を特定する情報である。この例では、プラン1は、プラン1実行時に会話制御装置1が出力する回答文A(1501)と、この回答文A(1501)に関連づけられた次プラン指定情報1502とを有している。次プラン指定情報1502は、回答文A(1501)についての次候補回答文である回答文B(1501)を有するプラン1402を特定する情報「ID:002」である。同様に、回答文B(1501)についても、次プラン指定情報1502が定められており、回答文B(1501)が出力された場合に、次候補回答文を含むプラン2(1402)が指定される。このように、プラン1402は次プラン指定情報1502により連鎖的につながり、一連の連続した内容をユーザに出力するというプラン会話を実現する。すなわち、ユーザに伝えたい内容(説明文、案内文、アンケート、など)を複数の回答文に分割し、かつ各回答文の順番を予め定めてプランとして準備しておくことにより、ユーザの発話に応じてこれら回答文を順番にユーザに提供することが可能となる。なお、次プラン指定情報1502によって指定されたプラン1402に含まれる回答文1502は、直前の回答文の出力に応答するユーザ発話があれば、必ずしも直ちに出力される必要はなく、ユーザと会話制御装置1との間で、当該プラントは別の話題についての会話を挟んだ後に、次プラン指定情報1502によって指定されたプラン1402に含まれる回答文1501が出力されることもあり得る。
なお、図15に示す回答文1501は、図13に示す回答文830の中のいずれか一の回答文文字列に対応し、また図15に示す次プラン指定情報1502は、図13に示す次プラン指定情報840に対応している。
なお、プラン1402のつながりは、図15に示すような一次元的配列に限られるものではない。図16は、図15とは別のつながり方を有するプラン1402の例を示す図である。図16に示す例では、プラン1(1402)は次候補回答文となる2つの回答文1501,すなわちプラン1402を指定できるよう、2つの次プラン指定情報1502を有している。ある回答文A(1501)を出力した場合の次候補回答文を有するプラン1402として、回答文B(1501)を有するプラン2(1402)、及び回答文C(1501)を有するプラン3(1402)の2つのプラン1402が定まるよう、次プラン指定情報1502が2つ設けられる。なお、回答文B、回答文Cは選択的・択一的であり、一方が出力された場合は他方は出力されず、当該プラン1(1402)は終了する。このように、プラン1402のつながりは一次元的順列の形態に限定されるものではなく、樹形図的な連結、網的な連結であってもかまわない。
なお、各プランがいくつの次候補回答文を有するかは限定されるものではない。また、話の終了となるプラン1402については、次プラン指定情報1502が存在しないこともあり得る。
図17に、ある一連のプラン1402の具体例を示す。この一連のプラン1402〜1402は、危機管理に関する情報をユーザに知らせるための4つの回答文1501〜1501に対応している。4つの回答文1501〜1501は全部で一つのまとまりのある話(説明文章)を構成する。各プラン1402〜1402はそれぞれ「1000−01」「1000−02」「1000−03」「1000−04」というIDデータ1702〜1702を有している。なお、IDデータ中のハイフン以下の番号は、出力の順番を示す情報である。また、各プラン1402〜1402はそれぞれ次プラン指定情報1502〜1502を有している。次プラン指定情報1502の内容は、「1000−0F」というデータであるが、このハイフン以下の番号「0F」は、次に出力する予定のプランは存在せず、当該回答文が一連の話(説明文章)の終わりであることを示す情報である。
この例では、ユーザ発話が「大地震が発生したときの危機管理を教えて」である場合に、プラン会話処理部320がこの一連のプランを実行開始する。すなわち、ユーザ発話「大地震が発生したときの危機管理を教えて」をプラン会話処理部320が受け付けると、プラン会話処理部320はプラン空間1401を検索して、ユーザ発話「大地震が発生したときの危機管理を教えて」に対応する回答文1501を有するプラン1402があるかどうかを調べる。この例では、「大地震が発生したときの危機管理を教えて」に対応するユーザ発話文字列1701が、プラン1402に対応するものとする。
プラン会話処理部320はプラン1402を発見すると、そのプラン1402に含まれる回答文1501を取得し、この回答文1501をユーザ発話に対する回答として出力するとともに、次プラン指定情報1502により次候補回答文を特定する。
つぎに、回答文1501の出力後に入力部100や音声認識部200などを介してユーザ発話を受け付けると、プラン会話処理部320は、プラン1402の実行を行う。すなわち、プラン会話処理部320は、次プラン指定情報1502により指定されたプラン1402の実行、すなわち2番目の回答文1501を出力するか否かを判定する。具体的には、プラン会話処理部320は当該回答文1501に対応づけられたユーザ発話文字列(用例文ともいう)1701、あるいは話題タイトル820(図17において図略)と、受け付けたユーザ発話とを比較し、これらが一致するか否かを判定する。一致する場合には、2番目の回答文1501を出力する。また、2番目の回答文1501を含むプラン1402には、次プラン指定情報1502が記述されているので、次候補回答文が特定される。
同様に、これ以降継続して成されるユーザ発話に応じて、プラン会話処理部320はプラン1402、プラン1402に順に移行して、3番目の回答文1501、4番目の回答文1501の出力を行うことができる。なお、4番目の回答文1501は最終回答文であり、4番目の回答文1501の出力が完了すると、プラン会話処理部320はプラン実行を終了する。
このように、プラン1402〜1402を次々と実行することにより、あらかじめ用意した会話内容を定めた順番通りにユーザに提供することが可能となる。
[1.1.6.3.談話空間会話制御処理部]
図5に戻り、会話制御部300の構成例の説明を続ける。
談話空間会話制御処理部330は、話題特定情報検索部350と、省略文補完部360と、話題検索部370と、回答取得部380とを有している。前記管理部310は、会話制御部300の全体を制御するものである。
「談話履歴」とは、ユーザと会話制御装置1間の会話の話題や主題を特定する情報であって、談話履歴は後述する「着目話題特定情報」「着目話題タイトル」「利用者入力文話題特定情報」「回答文話題特定情報」の少なくともいずれか一つを含む情報である。また、談話履歴に含まれる「着目話題特定情報」「着目話題タイトル」「回答文話題特定情報」は直前の会話によって定められたものに限定されず、過去の所定期間の間に着目話題特定情報」「着目話題タイトル」「回答文話題特定情報」となったもの、若しくはそれらの累積的記録であってもよい。
以下、談話空間会話制御処理部330を構成するこれら各部について説明する。
[1.1.6.3.1.話題特定情報検索部]
話題特定情報検索部350は、形態素抽出部420で抽出された第一形態素情報と各話題特定情報とを照合し、各話題特定情報の中から、第一形態素情報を構成する形態素と一致する話題特定情報を検索するものである。具体的に、話題特定情報検索部350は、形態素抽出部420から入力された第一形態素情報が「佐藤」及び「好き」の二つの形態素で構成される場合には、入力された第一形態素情報と話題特定情報群とを照合する。
この照合をした話題特定情報検索部320は、着目話題タイトル820focus(前回までに検索された話題タイトル、他の話題タイトルと区別するため820focusと表記する)に第一形態素情報を構成する形態素(例えば「佐藤」)が含まれているときは、その着目話題タイトル820focusを回答取得部380に出力する。一方、着目話題タイトル820focusに第一形態素情報を構成する形態素が含まれていないときは、話題特定情報検索部350は、第一形態素情報に基づいて利用者入力文話題特定情報を決定し、入力された第一形態素情報及び利用者入力文話題特定情報を省略文補完部360に出力する。なお、「利用者入力文話題特定情報」は、第一形態素情報に含まれる形態素の内、利用者が話題としている内容に該当する形態素に相当する話題特定情報、若しくは第一形態素情報に含まれる形態素の内、利用者が話題としている内容に該当する可能性がある形態素に相当する話題特定情報をいう。
[1.1.6.3.2.省略文補完部]
省略文補完部360は、前記第一形態素情報を、前回までに検索された話題特定情報810(以下、「着目話題特定情報」と呼ぶ)及び前回の回答文に含まれる話題特定情報810(以下、「回答文話題特定情報」と呼ぶ)を利用して、補完することにより複数種類の補完された第一形態素情報を生成する。例えばユーザ発話が「好きだ」という文であった場合、省略文補完部360は、着目話題特定情報「佐藤」を、第一形態素情報「好き」に含めて、補完された第一形態素情報「佐藤、好き」を生成する。
すなわち、第一形態素情報を「W」、着目話題特定情報や回答文話題特定情報の集合を「D」とすると、省略文補完部360は、第一形態素情報「W」に集合「D」の要素を含めて、補完された第一形態素情報を生成する。
これにより、第一形態素情報を用いて構成される文が、省略文であって日本語として明解でない場合などにおいて、省略文補完部360は、集合「D」を用いて、その集合「D」の要素(例えば、"佐藤")を第一形態素情報「W」に含めることができる。この結果、省略文補完部360は、第一形態素情報「好き」を補完された第一形態素情報「佐藤、好き」にすることができる。なお、補完された第一形態素情報「佐藤、好き」は、「佐藤が好きだ」というユーザ発話に対応する。
すなわち、省略文補完部360は、利用者の発話内容が省略文である場合などであっても、集合「D」を用いて省略文を補完することができる。この結果、省略文補完部360は、第一形態素情報から構成される文が省略文であっても、その文が適正な日本語となるようにすることができる。
また、省略文補完部360が、前記集合「D」に基づいて、補完後の第一形態素情報に一致する話題タイトル820を検索する。補完後の第一形態素情報に一致する話題タイトル820を発見した場合は、省略文補完部360はこの話題タイトル820を回答取得部380に出力する。回答取得部380は、省略文補完部360で検索された適切な話題タイトル820に基づいて、利用者の発話内容に最も適した回答文830を出力することができる。
尚、省略文補完部360は、集合「D」の要素を第一形態素情報に含めるだけに限定されるものではない。この省略文補完部360は、着目話題タイトルに基づいて、その話題タイトルを構成する第一特定情報、第二特定情報又は第三特定情報のいずれかに含まれる形態素を、抽出された第一形態素情報に含めても良い。
[1.1.6.3.3.話題検索部]
話題検索部370は、省略文補完部360で話題タイトル810が決まらなかったとき、第一形態素情報と、利用者入力文話題特定情報に対応する各話題タイトル810とを照合し、各話題タイトル810の中から、第一形態素情報に最も適する話題タイトル810を検索するものである。
具体的に、省略文補完部360から検索命令信号が入力された話題検索部370は、入力された検索命令信号に含まれる利用者入力文話題特定情報及び第一形態素情報に基づいて、その利用者入力文話題特定情報に対応付けられた各話題タイトルの中から、その第一形態素情報に最も適した話題タイトル810を検索する。話題検索部370は、その検索した話題タイトル810を検索結果信号として回答取得部380に出力する。
先に掲げた図13は、ある話題特定情報810(=「佐藤」)に対応付けされた話題タイトル820,回答文830の具体例を示す。図13に示すように、例えば、話題検索部370は、入力された第一形態素情報「佐藤、好き」に話題特定情報810(=「佐藤」)が含まれるので、その話題特定情報810(=「佐藤」)を特定し、次に、その話題特定情報810(=「佐藤」)に対応付けられた各話題タイトル(820)1-1,1-2,…と入力された第一形態素情報「佐藤、好き」とを照合する。
話題検索部370は、その照合結果に基づいて、各話題タイトル(820)1-1〜1-2の中から、入力された第一形態素情報「佐藤、好き」と一致する話題タイトル(820)1-1(佐藤;*;好き)を特定する。話題検索部340は、検索した話題タイトル(820)1-1(佐藤;*;好き)を検索結果信号として回答取得部380に出力する。
[1.1.6.3.4.回答取得部]
回答取得部380は、省略文補完部360,或いは話題検索部370で検索された話題タイトル820に基づいて、その話題タイトル820に対応付けられた回答文830を取得する。また、回答取得部380は、話題検索部370で検索された話題タイトル820に基づいて、その話題タイトル820に対応付けられた各回答種類と、入力種類判定部440で判定された発話種類とを照合する。その照合をした回答取得部380は、各回答種類の中から、判定された発話種類と一致する回答種類を検索する。
図13に示す例においては、回答取得部350は、話題検索部370で検索された話題タイトルが話題タイトル1-1(佐藤;*;好き)である場合には、その話題タイトル1-1に対応付けられている回答文1-1(DA,TAなど)の中から、入力種類判定部440で判定された「発話文のタイプ」(例えばDA)と一致する回答種類(DA)を特定する。この回答種類(DA)を特定した回答取得部380は、特定した回答種類(DA)に基づいて、その回答種類(DA)に対応付けられた回答文1-1(「私も佐藤が好きです。」)を取得する。
ここで、上記"DA"、"TA"等のうち、"A"は、肯定形式を意味する。従って、発話種類及び回答種類に"A"が含まれているときは、ある事柄について肯定することを示している。また、発話種類及び回答種類には、"DQ"、"TQ"等の種類を含めることもできる。この"DQ"、"TQ"等のうち"Q"は、ある事柄についての質問を意味する。
回答種類が上記質問形式(Q)からなるときは、この回答種類に対応付けられる回答文は、肯定形式(A)で構成される。この肯定形式(A)で作成された回答文としては、質問事項に対して回答する文等が挙げられる。例えば、発話文が「あなたはスロットマシンを操作したことがありますか?」である場合には、この発話文についての発話種類は、質問形式(Q)となる。この質問形式(Q)に対応付けられる回答文は、例えば「私はスロットマシンを操作したことがあります」(肯定形式(A))が挙げられる。
一方、発話種類が肯定形式(A)からなるときは、この回答種類に対応付けられる回答文は、質問形式(Q)で構成される。この質問形式(Q)で作成された回答文としては、発話内容に対して聞き返す質問文、又は特定の事柄を聞き出す質問文等が挙げられる。例えば、発話文が「私はスロットマシンで遊ぶのが趣味です」である場合には、この発話文についての発話種類は、肯定形式(A)となる。この肯定形式(A)に対応付けられる回答文は、例えば"パチンコで遊ぶのは趣味ではないのですか?"(特定の事柄を聞き出す質問文(Q))が挙げられる。
回答取得部380は、取得した回答文830を回答文信号として管理部310に出力する。回答取得部350から回答文信号が入力された管理部310は、入力された回答文信号を出力部600に出力する。
[1.1.6.4.CA会話処理部]
CA会話処理部340は、ユーザ発話に対して、プラン会話処理部320および談話空間会話制御処理部330のいずれにおいても回答文が決定しない場合に、ユーザ発話の内容に応じて、ユーザとの会話を継続できるような回答文を出力する機能を有する。
図1に戻り、会話制御装置1の構成例を再開する。
[1.1.7.出力部]
出力部600は、回答取得部380で取得された回答文を出力するものである。この出力部600は、例えば、スピーカ、ディスプレイなどが挙げられる。具体的に、管理部310から回答文が入力された出力部600は、入力された回答文に基づいて、音声をもってその回答文、例えば、「私も佐藤が好きです」を出力する。
以上で会話制御装置1の構成例の説明を終了する。
[2.会話制御方法]
上記構成を有する会話制御装置1は、以下のように動作することにより会話制御方法を実行する。
次に、本実施の形態にかかる会話制御装置1,より詳しくは会話制御部300の動作について説明する。
図18は、会話制御部300のメイン処理の一例を示すフローチャートである。このメイン処理は、会話制御部300がユーザ発話を受け付けるごとに実行される処理であり、このメイン処理が行われることによりユーザ発話に対する回答文の出力が行われ、ユーザと会話制御装置1間の会話(対話)が成立する。
メイン処理にはいると、会話制御部300、より詳しくはプラン会話処理部320はまずプラン会話制御処理(S1801)を実行する。プラン会話制御処理は、プランを実行する処理である。
図19、図20はプラン会話制御処理の一例を示すフローチャートである。以下に図19、図20を参照しながら、プラン会話制御処理の例について説明する。
プラン会話制御処理を開始すると、プラン会話処理部320はまず、基本制御状態情報チェックを行う(S1901)。基本制御状態情報は、プラン1402の実行の完了の有無が、基本制御状態情報として所定の記憶領域に格納される。
基本制御状態情報は、プランの基本制御状態を記述する役割を有する。
図21は、シナリオと呼ばれるタイプのプランについて生じうる4つの基本制御状態を示す図である。以下、それぞれの状態について説明する。
(1)結束
この基本制御状態は、ユーザ発話が実行中のプラン1402、より詳しくはプラン1402に対応する話題タイトル820や用例文1701に一致する場合である。この場合は、プラン会話処理部320は当該プラン1402を終了し、次プラン指定情報1502にて指定された回答文1501に対応するプラン1402に移行する。
(2)破棄
この基本制御状態は、ユーザ発話内容がプラン1402の終了を要求していると判断される場合、またはユーザの関心が実行中のプラン以外の事項に移ったと判定される場合に、設定される基本制御状態である。基本制御状態情報が破棄を示している場合は、プラン会話処理部320は、破棄の対象となったプラン1402以外にユーザ発話に対応するプラン1402がないかどうかを検索し、存在する場合にはそのプラン1402の実行を開始し、存在しない場合には、プランの実行を終了する。
(3)維持
この基本制御状態は、ユーザ発話が、実行中のプラン1402に対応する話題タイトル820(図13参照)や用例文1701(図17参照)に該当しない場合であって、かつユーザ発話が基本制御状態「破棄」に該当するものではないと判断される場合に、基本制御状態情報に記述される基本制御状態である。
この基本制御状態である場合には、プラン会話処理部320は、ユーザ発話を受け付けると、まず保留・中止しているプラン1402を再開するか否かを検討し、ユーザ発話がプラン1402再開に適さない場合、例えばユーザ発話がプラン1402に対応する話題タイトル802や用例文1702に対応しない場合は、他のプラン1402の実行を開始したり、或いは後述の談話空間会話制御処理(S1902)などをおこなう。ユーザ発話がプラン1402再開に適している場合は、記憶している次プラン指定情報1502に基づいて、回答文1501の出力を行う。
基本制御状態が「維持」である場合は、プラン会話処理部320は、当該プラン1402に対応する回答文1501以外の回答を出力できるように、他のプラン1402を検索し、あるいは後述の談話空間会話制御処理などをおこなうが、ユーザ発話が再びプラン1402に関するものとなった場合は、そのプラン1402の実行を再開する。
(4)継続
この状態は、ユーザ発話が、実行中のプラン1402に含まれる回答文1501に対応しない場合であって、かつユーザ発話内容が基本制御状態「破棄」に該当するものではないと判断され、かつユーザ発話から解釈されるユーザの意図が明瞭でない場合に、設定される基本制御状態である。
基本制御状態が「継続」である場合は、プラン会話処理部320は、ユーザ発話を受け付けるとまず保留・中止しているプラン1402を再開するか否かを検討し、ユーザ発話がプラン1402再開に適さない場合は、ユーザからさらなる発話を引き出すための回答文を出力できるように、後述のCA会話制御処理などをおこなう。
図19に戻り、プラン会話制御処理の説明を続ける。
基本制御状態情報を参照したプラン会話処理部320は、基本制御状態情報が示す基本制御状態が「結束」であるか否かを判定する(S1902)。基本制御状態が「結束」であると判定した場合(S1902、Yes)は、プラン会話処理部320は、基本制御状態情報が示す実行中のプラン1402において、回答文1501が最終回答文であるかどうかを判定する(S1903)。
最終回答文1501が出力済みであると判定した場合(S1903、Yes)、プラン会話処理部320は、すでにそのプラン1402においてユーザに回答すべき内容をすべて伝え終えているので、新たな別のプラン1402を開始するかいなかを判定するため、プラン空間内にユーザ発話に対応するプラン1402が存在するか検索を行う(S1904)。この検索の結果ユーザ発話に対応するプラン1402が発見できなかった場合(S1905、No)、ユーザに提供すべきプラン1402は存在していないので、プラン会話処理部320はそのままプラン会話制御処理を終了する。
一方、この検索の結果、ユーザ発話に対応するプラン1402を発見した場合(S1905、Yes)、プラン会話処理部320は当該プラン1402に移行する(S1906)。これは、ユーザに提供すべきプラン1402が存在しているため、当該プラン1402の実行(プラン1402に含まれる回答文1501の出力)を開始するためである。
次に、プラン会話処理部320は当該プラン1402の回答文1501を出力する(S1908)。出力された回答文1501は、ユーザ発話に対する回答となり、プラン会話処理部320はユーザに伝えたい情報を提供することとなる。
回答文出力処理(S1908)後、プラン会話処理部320はプラン会話制御処理を終了する。
一方、先に出力した回答文1501が最終の回答文1501であるか否かの判定(S1903)において、先に出力した回答文1501が最終の回答文1501でない場合(S1903,No)は、プラン会話処理部320は、先に出力した回答文1501に続く回答文1501、すなわち次プラン指定情報1502により特定されている回答文1501に対応するプラン1402に移行する(S1907)。
この後、プラン会話処理部320は該当するプラン1402に含まれる回答文1501を出力し、ユーザ発話に対する回答を行う(S1908)。出力された回答文1501は、ユーザ発話に対する回答となり、プラン会話処理部320はユーザに伝えたい情報を提供することとなる。回答文出力処理(S1908)後、プラン会話処理部320はプラン会話制御処理を終了する。
さて、S1902の判定処理において、基本制御状態情報が「結束」でない場合(S1902,No)は、プラン会話処理部320は基本制御状態情報が示す基本制御状態が「破棄」であるか否かを判定する(S1909)。基本制御状態が「破棄」であると判定した場合(S1909、Yes)は、継続すべきプラン1402が存在していないため、プラン会話処理部320は、開始すべき新たな別のプラン1402が存在するか判定すべく、プラン空間1401内にユーザ発話に対応するプラン1402が存在するか検索を行う(S1904)。この後、先に述べたS1903(Yes)における処理と同様に、S1905からS1908までの処理をプラン会話処理部320は実行する。
一方、基本制御状態情報が示す基本制御状態が「破棄」であるか否かの判定(S1909)において、基本制御状態が「破棄」でないと判定した場合(S1909,No)は、プラン会話処理部320は、基本制御状態情報が示す基本制御状態が「維持」であるか否かの判定(S1910)をさらに行う。
基本制御状態情報が示す基本制御状態が「維持」である場合(S1910、Yes)には、プラン会話処理部320は、保留・停止しているプラン1402についてユーザが再び関心を示したか否かを調べ、関心を示した場合には、一時保留・停止しているプラン1402を再開するように動作する。すなわち、プラン会話処理部320は、保留・停止中のプラン1402を検査(図20;S2001)し、ユーザ発話が保留・停止中の当該プラン1402が対応するか否かを判定する(S2002)。
ユーザ発話が当該プラン1402に対応すると判定された場合(S2002、Yes)は、プラン会話処理部320はそのユーザ発話に対応するプラン1402に移行し(S2003)、その後、そのプラン1402に含まれる回答文1501を出力するように、回答文出力処理(図19;S1908)を実行する。このように動作することにより、プラン会話処理部320は、保留・中断していたプラン1402を、ユーザ発話に応じて、再開することが可能となり、あらかじめ用意していたプラン1402に含まれる内容をすべてユーザに伝達することが可能となる。
一方、先のS2002(図20参照)において、保留・停止中のプラン1402がユーザ発話に対応しないと判定された場合(S2002、No)は、プラン会話処理部320は、開始すべき新たな別のプラン1402が存在するか判定すべく、プラン空間1401内にユーザ発話に対応するプラン1402が存在するか検索を行う(図19;S1904)。この後、先に述べたS1903(Yes)における処理と同様に、S1905からS1909までの処理をプラン会話処理部320は実行する。
さて、S1910の判定において、基本制御状態情報が示す基本制御状態が「維持」でない場合(S1910、No)は、基本制御状態情報が示す基本制御状態が「継続」であることを意味する。この場合には、プラン会話処理部320は、回答文の出力を行うことなく、プラン会話制御処理を終了する。
以上で、プラン会話制御処理の説明を終了する。
図18に戻り、メイン処理の説明を続ける。
プラン会話制御処理(S1801)を終了すると、会話制御部300は談話空間会話制御処理を開始する(S1802)。ただし、プラン会話制御処理(S1801)において回答文出力を行った場合は、会話制御部300は談話空間会話制御処理(S1802)、および後に説明するCA会話制御処理(S1803)のいずれも行わず、基本制御情報更新処理(S1904)を行ってメイン処理を終了する。
図22は、本実施の形態に係る談話空間会話制御処理の一例を示すフローチャートである。
先ず、入力部100が、利用者からの発話内容を取得するステップを行う(ステップS2201)。具体的には、入力部100は、利用者の発話内容を構成する音声を取得する。入力部100は、取得した音声を音声信号として音声認識部200に出力する。なお、入力部100は、利用者からの音声ではなく、利用者から入力された文字列(例えば、テキスト形式で入力された文字データ)を取得してもよい。この場合、入力部100はマイクではなく、キーボードやタッチパネルなどの文字入力装置となる。
次いで、音声認識部200が、入力部100で取得した発話内容に基づいて、発話内容に対応する文字列を特定するステップを行う(ステップS2202)。具体的には、入力部100から音声信号が入力された音声認識部200は、入力された音声信号に基づいて、その音声信号に対応する単語仮説(候補)を特定する。音声認識部200は、特定した単語仮説(候補)に対応付けられた文字列を取得し、取得した文字列を文字列信号として会話制御部300、より詳しくは談話空間会話制御部330に出力する。
そして、文字列特定部410が、音声認識部200で特定された一連の文字列を一文毎に区切るステップを行う(ステップS2203)。具体的には、管理部310から文字列信号(あるいは形態素信号)が入力された文字列特定部410は、その入力された一連の文字列の中に、ある一定以上の時間間隔があるときは、その部分で文字列を区切る。文字列特定部410は、その区切った各文字列を形態素抽出部420及び入力種類判定部440に出力する。なお、文字列特定部410は、入力された文字列がキーボードから入力された文字列である場合には、句読点又はスペース等のある部分で文字列を区切るのが好ましい。
その後、形態素抽出部420が、文字列特定部410で特定された文字列に基づいて、文字列の最小単位を構成する各形態素を第一形態素情報として抽出するステップを行う(ステップS2204)。具体的に、文字列特定部410から文字列が入力された形態素抽出部420は、入力された文字列と、形態素データベース430に予め格納されている形態素群とを照合する。なお、その形態素群は、本実施の形態では、それぞれの品詞分類に属する各形態素について、その形態素の見出し語・読み・品詞・活用形などを記述した形態素辞書として準備されている。
この照合をした形態素抽出部420は、入力された文字列の中から、予め記憶された形態素群に含まれる各形態素と一致する各形態素(m1、m2、…)を抽出する。形態素抽出部420は、抽出した各形態素を第一形態素情報として話題特定情報検索部350に出力する。
次いで、入力種類判定部440が、文字列特定部410で特定された一文を構成する各形態素に基づいて、「発話文のタイプ」を判定するステップを行う(ステップS2205)。具体的には、文字列特定部410から文字列が入力された入力種類判定部440は、入力された文字列に基づいて、その文字列と発話種類データベース450に格納されている各辞書とを照合し、その文字列の中から、各辞書に関係する要素を抽出する。この要素を抽出した入力種類判定部440は、抽出した要素に基づいて、その要素がどの「発話文のタイプ」に属するのかを判定する。入力種類判定部440は、判定した「発話文のタイプ」(発話種類)を回答取得部380に出力する。
そして、話題特定情報検索部350が、形態素抽出部420で抽出された第一形態素情報と着目話題タイトル820focusとを比較するステップを行う(ステップS2206)。
第一形態素情報を構成する形態素と着目話題タイトル820focusとが一致する場合、話題特定情報検索部350は、その話題タイトル820を回答取得部380に出力する。一方、話題特定情報検索部350は、第一形態素情報を構成する形態素と話題タイトル820とが一致しなかった場合には、入力された第一形態素情報及び利用者入力文話題特定情報を検索命令信号として省略文補完部360に出力する。
その後、省略文補完部360が、話題特定情報検索部350から入力された第一形態素情報に基づいて、着目話題特定情報及び回答文話題特定情報を、入力された第一形態素情報に含めるステップを行う(ステップS2207)。具体的には、第一形態素情報を「W」、着目話題特定情報及び回答文話題特定情報の集合を「D」とすると、省略文補完部360は、第一形態素情報「W」に話題特定情報「D」の要素を含めて、補完された第一形態素情報を生成し、この補完された第一形態素情報と集合「D」に関連づけされたすべての話題タイトル820とを照合し、補完された第一形態素情報と一致する話題タイトル820があるか検索する。補完された第一形態素情報と一致する話題タイトル820がある場合は、省略文補完部360は、その話題タイトル820を回答取得部380に出力する。一方、補完された第一形態素情報と一致する話題タイトル820を発見しなかった場合は、省略文補完部360は、第一形態素情報と利用者入力文話題特定情報とを話題検索部370に渡す。
次いで、話題検索部370は、第一形態素情報と、利用者入力文話題特定情報とを照合し、各話題タイトル820の中から、第一形態素情報に適した話題タイトル820を検索するステップを行う(ステップS2208)。具体的には、省略文補完部360から検索命令信号が入力された話題検索部370は、入力された検索命令信号に含まれる利用者入力文話題特定情報及び第一形態素情報に基づいて、その利用者入力文話題特定情報に対応付けられた各話題タイトル820の中から、その第一形態素情報に適した話題タイトル820を検索する。話題検索部370は、その検索の結果得られた話題タイトル820を検索結果信号として回答取得部380に出力する。
次いで、回答取得部380が、話題特定情報検索部350、省略文補完部360,あるいは話題検索部370で検索された話題タイトル820に基づいて、文解析部400により判定された利用者の発話種類と、話題タイトル820に対応付けられた各回答種類とを照合し、回答文830の選択を行う(ステップS2209)。
具体的には、以下のようにして回答文830の選択が行われる。すなわち、話題検索部370から検索結果信号と、入力種類判定部440から「発話文のタイプ」とが入力された回答取得部380は、入力された検索結果信号に対応する「話題タイトル」と、入力された「発話文のタイプ」とに基づいて、その「話題タイトル」に対応付けられている回答種類群の中から、「発話文のタイプ」(DAなど)と一致する回答種類を特定する。
続いて、回答取得部380は、管理部310を介して、ステップS2209において取得した回答文830を出力部600に出力する(ステップS2210)。管理部310から回答文を受け取った出力部600は、入力された回答文830を出力する。
以上で、談話空間会話制御処理の説明を終了し、図18に戻りメイン処理の説明を再開する。
会話制御部300は談話空間会話制御処理を終了すると、CA会話制御処理を実行する(S1803)。ただし、プラン会話制御処理(S1801)および談話空間会話制御処理(S1801)において回答文出力を行った場合は、会話制御部300はCA会話制御処理(S1803)を行わず、基本制御情報更新処理(S1804)を行ってメイン処理を終了する。
CA会話制御処理(S1803)は、ユーザ発話が、「何かを説明している」のか、「何かを確認している」のか、「非難や攻撃をしている」のか、「これら以外」なのかを判定し、ユーザ発話の内容および判定結果に応じた回答文を出力する処理である。このCA会話制御処理を行うことにより、プラン会話制御処理、および談話空間会話制御処理のいずれにおいても、ユーザ発話に適した回答文が出力できなくとも、ユーザとの会話の流れをとぎれさせることなく継続できるような、いわば「つなぎ」の回答文を出力することを可能とする役割を有している。
図23は、CA会話処理部340の構成例を示す機能ブロック図である。CA会話処理部340は、判定部2301と、回答部2302とを有している。
判定部2301は、管理部310又は談話空間会話制御処理部330からユーザ発話文を受け取ると共に、回答文出力命令を受け取る。この回答文出力命令は、前記プラン会話処理部20及び談話空間会話制御処理部330が回答文出力を行わない、又は行えない場合になされる。また、判定部2301は、文解析部400(より詳しくは入力種類判定部440)より入力種類、すなわちユーザ発話のタイプ(図12参照)を受け取る。判定部2301は、これに基づいてユーザ発話意図を判定する。例えば、ユーザ発話が「佐藤が好きです」という文であった場合には、この文に含まれる「佐藤」「好き」という自立語と、ユーザ発話のタイプが陳述肯定文(DA)であることに基づいて、「佐藤」「好き」についてユーザが説明を行っていると判定する。
回答部2302は、判定部2301からの判定結果に応じて、回答文を決定し、出力する。この例では、回答部2302は、説明会話対応文テーブル、確認会話対応文テーブル、非難攻撃会話対応文テーブル、反射会話文テーブルを有している。
説明会話対応文テーブルは、ユーザ発話が何かを説明していると判定された場合にその発話に対する回答として出力する回答文を複数種類格納したテーブルである。例えば、回答文例としては、「はいそうなんですか。」のような聞き返しをされない回答文が用意されている。
確認会話対応文テーブルは、ユーザ発話が何かを確認・質問していると判定された場合にその発話に対する回答として出力する回答文を複数種類格納したテーブルである。例えば、回答文例としては、「ちょっとわかりません。」のような聞き返しをされない回答文が用意されている。
非難攻撃会話対応文テーブルは、ユーザ発話が会話制御装置を非難攻撃していると判定された場合にその発話に対する回答として出力する回答文を複数種類格納したテーブルである。例えば、回答文例としては、「ごめんなさい。」のような回答文が用意されている。
反射会話文テーブルは、ユーザ発話「『***』なら興味ありません。」のような回答文が用意されている。なお、『***』は当該ユーザ発話に含まれる自立語が格納されることを意味する。
回答部2302は、これら説明会話対応文テーブル、確認会話対応文テーブル、非難攻撃会話対応文テーブル、反射会話文テーブルを参照して、回答文を決定し、決定した回答文を管理部310に渡すように機能する。
次に、上記CA会話処理部340が実行する処理であるCA会話処理(S1803)の具体例について説明する。図24は、CA会話処理の具体例を示すフローチャートである。なお、先に述べた様に、プラン会話制御処理(S1801)および談話空間会話制御処理(S1802)において回答文出力を行った場合は、会話制御部300はCA会話制御処理(S1803)を行なわない。すなわち、CA会話制御処理(S1803)はプラン会話制御処理(S1801)および談話空間会話制御処理(S1802)において回答文出力が保留されている場合にのみ、回答文出力を行う。
CA会話処理(S1803)において、CA会話処理部340(判定部2301)はまず、ユーザ発話が何かを説明している文か否かを判定する(S2401)。ユーザ発話が何かを説明している文であると判定した場合(S2401,Yes)には、CA会話処理部340(回答部2302)は説明会話対応文テーブルを参照するなどの方法によって回答文を決定する。
一方、ユーザ発話が何かを説明している文ではないと判定した場合(S2401,No)には、CA会話処理部340(判定部2301)は、ユーザ発話が何かを確認又は質問している文か否かを判定する(S2403)。ユーザ発話が何かを確認又は質問している文であると判定した場合(S2403,Yes)には、CA会話処理部340(回答部2302)は確認会話対応文テーブルを参照するなどの方法によって回答文を決定する(S2404)。
一方、ユーザ発話が何かを確認又は質問している文ではないと判定した場合(S2403,No)には、CA会話処理部340(判定部2301)は、ユーザ発話が非難又は攻撃をしている文か否かを判定する(S2405)。ユーザ発話が非難又は攻撃をしている文であると判定した場合(S2405,Yes)には、CA会話処理部340(回答部2302)は攻撃非難会話対応文テーブルを参照するなどの方法によって回答文を決定する(S2406)。
一方、ユーザ発話が非難又は攻撃をしている文ではないと判定した場合(S2405,No)には、CA会話処理部340(判定部2301)は、回答部2302に反射会話回答文を決定するよう要求する。この要求に応じて、CA会話処理部340(回答部2302)は反射会話対応文テーブルを参照するなどの方法によって回答文を決定する(S2407)。
以上でCA会話処理(S1903)は終了する。このCA会話処理により、会話制御装置1はユーザ発話状態に応じて会話の成立を維持することが可能な回答を行える。
図18に戻り、会話制御部300のメイン処理を続ける。
CA会話処理(S1803)が終了すると、会話制御部300は基本制御情報更新処理を行う(S1804)。この処理において、会話制御部300,より詳しくは管理部310は、プラン会話処理部320が回答文出力を行った場合は基本制御情報を「結束」に設定し、プラン会話処理部320が回答文出力を停止した場合は基本制御情報を「破棄」に設定し、談話空間会話制御処理部330が回答文出力を行った場合は基本制御情報を「維持」に設定し、CA会話処理部340が回答文出力を行った場合は基本制御情報を「継続」に設定する。
この基本制御情報更新処理で設定された基本制御情報は、前述のプラン会話制御処理(S1801)において参照され、プランの継続や再開に利用される。
以上、メイン処理をユーザ発話を受け付けるごとに実行することにより、会話制御装置1は、ユーザ発話に応じて、予め用意したプランを実行できるとともに、プランに含まれない話題についても適宜応答することができる。
会話制御装置の構成例を示す機能ブロック図 音声認識部の構成例を示す機能ブロック図 単語仮説絞込部の処理の一例を示すタイミングチャート 音声認識部の動作例を示すフローチャート 会話制御装置の部分拡大ブロック図 文字列とこの文字列から抽出される形態素との関係を示す図 「発話文のタイプ」と、その発話文のタイプを表す二文字のアルファベット、及びその発話文のタイプに該当する発話文の例を示す図 文のタイプとそのタイプを判定するための辞書の関係を示す図 会話データベースが記憶するデータのデータ構成の一例を示す概念図 ある話題特定情報と他の話題特定情報との関連付けを示す図 話題タイトル(「第二形態素情報」ともいう)のデータ構成例を示す図 回答文のデータ構成例を説明するための図 ある話題特定情報に対応付けされた話題タイトル,回答文、次プラン指定情報の具体例を示す図 プラン空間を説明するための概念図 プランの例を示す図 別のプランの例を示す図 プラン会話処理の具体例を示す図 会話制御部のメイン処理の一例を示すフローチャート プラン会話制御処理の一例を示すフローチャート 図19に続く、プラン会話制御処理の一例を示すフローチャート 基本制御状態を示す図 談話空間会話制御処理の一例を示すフローチャート CA会話処理部の構成例を示す機能ブロック図 CA会話処理の一例を示すフローチャート
符号の説明
1 … 会話制御装置
100 … 入力部
200 … 音声認識部
300 … 会話制御部
320 … プラン会話処理部
330 … 談話空間会話制御処理部
340 … CA会話処理部
400 … 文解析部
500 … 会話データベース
600 … 出力部
700 … 音声認識辞書記憶部

Claims (1)

  1. ユーザ発話に応じて回答文を出力する会話制御装置において、
    回答文と、当該回答文の次の順番で出力することが予定される回答文である次候補回答文を指定する次候補指定情報とをそれぞれが有する複数のプランを記憶する会話データベースと、
    第1のユーザ発話に応じて、前記会話データベースに記憶されたプランを選択し、そのプランが有する回答文を出力するとともに、その後発話された第2のユーザ発話が、当該プランが有する次候補指定情報により指定される次候補回答文に対応する場合には、当該次候補指定情報によって指定される次候補回答文を出力する一方、前記第2のユーザ発話が前記次候補回答文と関連性がないか、若しくは関連性が不明である場合には、前記次候補回答文の出力を保留するプラン会話処理部と、
    前記プラン会話処理部が次候補回答文の出力を保留した場合に、前記第2のユーザ発話に関連する話題を検索し、前記第2のユーザ発話に関連する話題を発見した場合には、当該話題に関連する回答文を出力し、一方、前記第2のユーザ発話に関連する話題を発見しない場合には、当該話題に関連する回答文の出力を保留する談話空間会話制御処理部と、
    前記談話空間会話制御処理部が回答文の出力を保留した場合に会話の成立を維持するための回答文を出力するCA会話処理部と、
    入力されるユーザ発話の種類を示す発話文タイプを判定するための入力種類判定部と、
    を有し、
    前記CA会話処理部が判定部と回答部とを有し、前記判定部は、前記談話空間会話制御処理部からユーザ発話文を受け取るとともに、このユーザ発話文に関して判定された発話文タイプを前記入力種類判定部から受け取り、受け取ったこれらの情報に基づいてユーザ発話意図を判定し、前記回答部は、複数種類の発話意図に対応する回答文を格納する複数種類の対応文テーブルを有しており、前記判定部によって判定された発話意図に対応する回答文を格納する対応文テーブルの中から会話の成立を維持するための前記回答文を決定する、
    ことを特徴とする会話制御装置。
JP2005307867A 2005-10-21 2005-10-21 会話制御装置 Active JP4888996B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005307867A JP4888996B2 (ja) 2005-10-21 2005-10-21 会話制御装置
US11/582,318 US20070094008A1 (en) 2005-10-21 2006-10-18 Conversation control apparatus
CN2006101360387A CN1975857B (zh) 2005-10-21 2006-10-20 会话控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005307867A JP4888996B2 (ja) 2005-10-21 2005-10-21 会話制御装置

Publications (2)

Publication Number Publication Date
JP2007115143A JP2007115143A (ja) 2007-05-10
JP4888996B2 true JP4888996B2 (ja) 2012-02-29

Family

ID=37986361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005307867A Active JP4888996B2 (ja) 2005-10-21 2005-10-21 会話制御装置

Country Status (3)

Country Link
US (1) US20070094008A1 (ja)
JP (1) JP4888996B2 (ja)
CN (1) CN1975857B (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090203417A1 (en) * 2008-02-08 2009-08-13 Aruze Gaming America, Inc. Gaming Device Giving Player Choice Of Game And Playing Method Thereof
US8100767B2 (en) * 2008-02-08 2012-01-24 Aruze Gaming America, Inc. Gaming machine to have dialog according to victory or defeat of game and control method thereof
US20090203443A1 (en) * 2008-02-08 2009-08-13 Aruze Gaming America, Inc. Gaming Machine Limiting Output Conversation Voice and Control Method Thereof
US8083587B2 (en) * 2008-02-08 2011-12-27 Aruze Gaming America, Inc. Gaming machine with dialog outputting method to victory or defeat of game and control method thereof
US20090221341A1 (en) * 2008-02-12 2009-09-03 Aruze Gaming America, Inc. Gaming System with Interactive Feature and Control Method Thereof
US20090203442A1 (en) * 2008-02-12 2009-08-13 Aruze Gaming America, Inc. Gaming System with Interactive Feature and Control Method Thereof
US20090204388A1 (en) * 2008-02-12 2009-08-13 Aruze Gaming America, Inc. Gaming System with Interactive Feature and Control Method Thereof
US20090203438A1 (en) * 2008-02-12 2009-08-13 Aruze Gaming America, Inc. Gaming machine with conversation engine for interactive gaming through dialog with player and playing method thereof
JP2009189797A (ja) * 2008-02-13 2009-08-27 Aruze Gaming America Inc ゲーミングマシン
US20090203428A1 (en) * 2008-02-13 2009-08-13 Aruze Gaming America, Inc. Gaming Machine Limiting Output Conversation Voice And Control Method Thereof
JP2009189796A (ja) * 2008-02-13 2009-08-27 Aruze Gaming America Inc ゲーミングマシン
US20090209338A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Gaming Apparatus Capable of Conversation with Player and Control Method Thereof
US20090210217A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Gaming Apparatus Capable of Conversation with Player and Control Method Thereof
US20090209345A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Multiplayer participation type gaming system limiting dialogue voices outputted from gaming machine
US8189814B2 (en) * 2008-02-14 2012-05-29 Aruze Gaming America, Inc. Multiplayer participation type gaming system having walls for limiting dialogue voices outputted from gaming machine
US20090209341A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Gaming Apparatus Capable of Conversation with Player and Control Method Thereof
US8123615B2 (en) * 2008-02-14 2012-02-28 Aruze Gaming America, Inc. Multiplayer gaming machine capable of changing voice pattern
US20090247296A1 (en) * 2008-02-14 2009-10-01 Aruze Gaming America, Inc. Gaming Apparatus Capable of Conversation with Player and Control Method Thereof
US20090209340A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Gaming Apparatus Capable of Conversation with Player and Control Method Thereof
US20090209326A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Multi-Player Gaming System Which Enhances Security When Player Leaves Seat
US20090209339A1 (en) * 2008-02-14 2009-08-20 Aruze Gaming America, Inc. Gaming Apparatus Capable of Conversation with Player, Control Method Thereof, Gaming System Capable of Conversation with Player, and Control Method Thereof
US20090215513A1 (en) * 2008-02-25 2009-08-27 Aruze Gaming America, Inc. Gaming Machine. Gaming System with Interactive Feature and Control Method Thereof
US20090215514A1 (en) * 2008-02-25 2009-08-27 Aruze Gaming America, Inc. Gaming Machine with Conversation Engine for Interactive Gaming Through Dialog with Player and Playing Method Thereof
US20090228282A1 (en) * 2008-03-07 2009-09-10 Aruze Gaming America, Inc. Gaming Machine and Gaming System with Interactive Feature, Playing Method of Gaming Machine, and Control Method of Gaming System
US20090233690A1 (en) * 2008-03-12 2009-09-17 Aruze Gaming America, Inc. Gaming Machine
US8182331B2 (en) * 2008-03-12 2012-05-22 Aruze Gaming America, Inc. Gaming machine
JP5149737B2 (ja) 2008-08-20 2013-02-20 株式会社ユニバーサルエンターテインメント 自動会話システム、並びに会話シナリオ編集装置
US20100048275A1 (en) * 2008-08-20 2010-02-25 Aruze Corp. Gaming Machine And Playing Method Thereof, Capable Of Running Game Based On Audio Input
US9311286B2 (en) * 2012-01-25 2016-04-12 International Business Machines Corporation Intelligent automatic expansion/contraction of abbreviations in text-based electronic communications
US9195645B2 (en) * 2012-07-30 2015-11-24 Microsoft Technology Licensing, Llc Generating string predictions using contexts
US9894312B2 (en) 2013-02-22 2018-02-13 The Directv Group, Inc. Method and system for controlling a user receiving device using voice commands
WO2016147401A1 (ja) 2015-03-19 2016-09-22 株式会社 東芝 分類装置、方法及びプログラム
US10250541B2 (en) * 2016-02-03 2019-04-02 Google Llc Predictive responses to incoming communications
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
AU2018254570B2 (en) * 2017-04-21 2021-08-05 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
US11289070B2 (en) 2018-03-23 2022-03-29 Rankin Labs, Llc System and method for identifying a speaker's community of origin from a sound sample
US11341985B2 (en) 2018-07-10 2022-05-24 Rankin Labs, Llc System and method for indexing sound fragments containing speech
JP7103089B2 (ja) * 2018-09-06 2022-07-20 トヨタ自動車株式会社 音声対話装置、音声対話方法および音声対話プログラム
WO2021183421A2 (en) * 2020-03-09 2021-09-16 John Rankin Systems and methods for morpheme reflective engagement response
CN112905763B (zh) * 2021-02-03 2023-10-24 深圳市人马互动科技有限公司 会话系统开发方法、装置、计算机设备及存储介质
GB2622002A (en) * 2022-08-30 2024-03-06 Sony Interactive Entertainment Inc Speech assistance apparatus and method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005488A (ja) * 1999-06-18 2001-01-12 Mitsubishi Electric Corp 音声対話システム
EP1085476A2 (en) * 1999-09-14 2001-03-21 Citicorp Development Center, Inc. System and method for performing an interactive session for a customer at a self-service transaction terminal
JP2002032370A (ja) * 2000-07-18 2002-01-31 Fujitsu Ltd 情報処理装置
US6964023B2 (en) * 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
JP2003255988A (ja) * 2002-03-05 2003-09-10 Nippon Telegraph & Telephone East Corp 対話型情報提供装置、プログラム及び記録媒体
CN1416886A (zh) * 2002-12-18 2003-05-14 胡子孝 健肤膏及其制备方法
JP4103085B2 (ja) * 2003-05-20 2008-06-18 日本電信電話株式会社 異言語間対話処理方法およびその装置、ならびにそのプログラムと記録媒体

Also Published As

Publication number Publication date
CN1975857B (zh) 2011-01-05
JP2007115143A (ja) 2007-05-10
US20070094008A1 (en) 2007-04-26
CN1975857A (zh) 2007-06-06

Similar Documents

Publication Publication Date Title
JP4888996B2 (ja) 会話制御装置
JP4846336B2 (ja) 会話制御装置
JP4849663B2 (ja) 会話制御装置
JP4849662B2 (ja) 会話制御装置
JP2007114621A (ja) 会話制御装置
CN1321401C (zh) 语音识别设备、语音识别方法、会话控制设备以及会话控制方法
EP2157570B1 (en) Automatic conversation system and conversation scenario editing device
JP2005157494A (ja) 会話制御装置及び会話制御方法
JPH07219961A (ja) 音声対話システム
JP2005234572A (ja) 談話機能に対する予測モデルを判定する方法およびシステム
JP2004198597A (ja) 音声認識装置および文分類装置としてコンピュータを動作させるコンピュータプログラム、階層化された言語モデルを作成する方法を実現する様にコンピュータを動作させるコンピュータプログラム、および記憶媒体
Moyal et al. Phonetic search methods for large speech databases
JP4475628B2 (ja) 会話制御装置、会話制御方法並びにこれらのプログラム
JP4204044B2 (ja) ゲーム機、ゲームの実行方法、並びにこれらのためのプログラム
JP4204041B2 (ja) ゲーム機、ゲームの実行方法、並びにプログラム
JP2005122549A (ja) 会話制御装置及び会話制御方法
JP2005118371A (ja) ゲーム機
WO2024033379A1 (en) Automated speech recognition to support context-aware intent recognition
JP2004109906A (ja) テキストクラスタリング方法および音声認識方法
JP2005118369A (ja) ゲーム機、ゲームの実行方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111026

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111209

R150 Certificate of patent or registration of utility model

Ref document number: 4888996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250