以下、本発明の実施形態に係る音声対話装置について、図面を参照しながら説明する。
図1は、実施形態1に係る音声対話装置の一構成例を示すブロック図である。
図1に示すように、本実施形態に係る音声対話装置1は、ユーザと対話することが可能な装置であり、音声データ処理部10、返答文生成部20、及び返答文修正部21を備えることができる。ここで、返答文修正部21は、省略対象決定部30、省略語決定部40、省略語導入部50、反応推定部60、及び学習部70を有することができる。また、図示しないが、音声対話装置1はスピーカ等の音声出力部を備えることができる。
以下、図2〜図7を併せて参照しながら音声対話装置1の各構成要素について説明する。図2は音声データ処理部10の一構成例を示すブロック図で、図3は省略対象決定部30の一構成例を示すブロック図である。図4は省略語決定部40の一構成例を示すブロック図で、図5は省略語導入部50の一構成例を示すブロック図である。図6は反応推定部60の一構成例を示すブロック図で、図7は学習部70の一構成例を示すブロック図である。
図2に示すように、音声データ処理部10は、ユーザが発した音声を入力する音声入力部の一例である入力部11を有する。また、音声データ処理部10は記憶部12を有することができる。
入力部11は、例えば、集音して音声データに変換するマイクロフォン等の集音装置と、集音装置で入力された音声データに対して音声認識処理を施し、テキスト形式のデータに変換する音声認識部と、を有することができる。
入力部11は、音声認識部で変換後のデータを返答文生成部20及び省略対象決定部30に出力するとともに、記憶部12に出力する。記憶部12は、入力部11から出力されたデータを記憶する記憶装置で構成することができる。
また、入力部11は、音声認識部で変換後のデータに形態素解析や構文解析等の解析処理を施し、語句の単位、文節の単位、及び文の単位のうち、いずれか1又は複数の単位で、返答文生成部20、省略対象決定部30、及び記憶部12に出力することができる。以下、入力部11がこのような解析処理を施したデータを出力する例を挙げて説明する。なお、上記解析処理は、別途記憶させた辞書データを参照しながら実行することができる。また、入力部11から出力されるデータは、入力されたユーザ音声の語句等のデータであり、以下、便宜上「入力語句データ」と称す。
返答文生成部20は、入力された音声に返答する返答文(応答文)を生成する機能を有する。例えば、返答文生成部20は、多くの返答文を格納した返答データベース(図示せず)を有することができる。その場合、返答文生成部20は、入力部11から出力された入力語句データをキーとして、返答データベースからそのキーに合致する返答文のデータ又はそのキーとの合致率が一番高い返答文のデータなどを検索して読み出し、その返答文のデータを出力する。ここで、キーとする入力語句データは、形態素解析により助詞などの検索に不要な要素を削除したものとすることもできる。
また、返答文生成部20は、人工知能(AI:Artificial Intelligence)によって検索を実行するように構成することができる。また、このようなAIを用いた検索の機能は、ディープラーニング等の機械学習などで予め教育されていてもよい。
返答文修正部21は、入力された音声から省略可能な部分である省略対象部分を抽出し、その省略対象部分を省略語に変換し、その省略語を上記返答文に反映(導入)する。ここで、入力された音声は、入力部11から出力された入力語句データとすることができる。また、上記省略対象部分は、語句、文節、文のいずれに該当するものであってもよい。
本実施形態の主たる特徴の一つとして、返答文修正部21は、次に説明する条件に従い省略対象部分を抽出する。即ち、返答文修正部21は、次の(1)〜(3)のうち、少なくとも1つの条件を判定し、判定した条件を満たす部分を、上記省略対象部分として抽出する。そして、返答文修正部21は、抽出できた場合、その語句、文節、又は文を、省略語に変換し、返答文生成部20で生成された返答文に含ませて出力する。省略語への変換処理の例については後述する。
(1)ユーザからの入力頻度が所定値より高い語句、文節、又は文であること。換言すれば、ユーザの音声履歴において使用頻度が所定度合い以上の語句、文節、又は文であること。
(2)強調を表す語句、文節、又は文であること。
(3)感嘆を表す語句、文節、又は文であること。
以下、説明の簡略化のため、「語句、文節、又は文」について、「語句」のみを挙げて説明するが、上記(1)の条件は、これらのいずれの単位も処理対象としてもよいし、1つ又は2つの単位を処理対象とすることもできる。上記(2),(3)の条件についても同様である。
また、返答文修正部21は、上記(1)〜(3)のうち使用する条件だけ判定可能に構成しておくことができるが、以下では、特に説明しない限り、全ての条件について判定可能に構成した例を挙げて説明する。
上記(1)の条件を判定するためには、入力頻度が必要であるため音声入力履歴(発話履歴)を管理しておく必要があり、そのために記憶部12が設けられている。特に、記憶部12は、ユーザ毎に音声入力履歴を記憶しておくことが好ましい。そのために、例えば、入力部11は、入力された音声の波長や振幅等を解析し、その特徴でユーザを区別してユーザのIDを付加するなどして記憶部12等に入力語句データを出力するように構成しておくことができる。
上記(2)の条件を判定するためには、例えば、返答文修正部21は、予め強調を表す語句(強調表現が含まれる語句であってもよい)のデータを記憶させておき、入力語句データを記憶させたデータと照合するようにすることができる。上記(3)の条件を判定するためには、例えば、返答文修正部21は、予め感嘆を表す語句(感嘆表現が含まれる語句であってもよい)のデータを記憶させておき、入力語句データを記憶させたデータと照合するようにすることができる。
上記(2),(3)の条件を判定するためには、次のような構成を採用することもできる。即ち、入力部11は、入力された音声の波長や振幅を解析し、音声の特徴を判定するように構成しておき、その判定結果を返答文修正部21に出力するようにしておくことでも、上記(2),(3)の条件を判定することができる。音声の特徴とは、例えば、抑揚がある音声であるのか、通常より大きい音量の音声であるのかなどの特徴が挙げられる。
上記(2)に係る強調を表す語句であるのか、上記(3)に係る感嘆を表す語句であるのかは、例えば、抑揚の方法や度合い、音量などにより区別するようにすることができる。単なる一例に過ぎないが、声が裏返っているような場合には感嘆を表す語句とすることができ、抑揚がなく大音量である場合には強調を表す語句とすることができる。
このような音声の特徴を判定する構成は、上記照合の処理と併せて採用することもできる。即ち、返答文修正部21は、照合の結果、一致した場合に上記(2)又は(3)の条件を満たす候補として抽出し、抽出した中から抑揚や音量等により、上記(2)又は(3)の条件を満たすと判定するようにすることもできる。
そして、音声対話装置1は、返答文生成部20で生成され、必要に応じて省略語が導入された返答文を必要に応じて音声変換し、スピーカ等の音声出力部で音声出力する。
上記(1)〜(3)の条件は、いずれもユーザにとって関心度や重要度が高いと推定される語句であるか否かを判定できる条件である。従って、音声対話装置1では、ユーザにとって関心度や重要度が高いと推定される語句であるか否かで、省略語に変換するか否かを決定する。これにより、音声対話装置1では、ユーザにとって関心度や重要度が高いと推定される語句が省略語に変換され易くなるため、これを含む返答文に関して、ユーザに機械的な印象を与えてしまう可能性を抑制することができ、親近感をもたせることができる。
返答文修正部21は、上述のようにして抽出、変換、及び反映(修正)の処理を行うが、これらの処理を実行する構成要素群の一例が省略対象決定部30、省略語決定部40、省略語導入部50、反応推定部60、及び学習部70に相当する。
省略対象決定部30は、図3に示すように、使用頻度判定部31、強調文判定部32、感嘆文判定部33、返答文判定部34、及び省略対象語句決定部35を有することができる。省略対象決定部30は、入力部11及び記憶部12から入力語句データを入力し、その入力語句データに含まれる語句の中から、各部31〜35により省略する語句を決定することができる。
使用頻度判定部31は、上記(1)の条件を判定する機能を有し、これにより最終的に返答文からユーザの使用頻度が高い語句を省略することができるようになる。強調文判定部32は、上記(2)の条件を判定する機能を有し、これにより最終的に返答文から強調を表す語句を省略することができるようになる。感嘆文判定部33は、上記(3)の条件を判定する機能を有し、これにより最終的に返答文から感嘆を表す語句を省略することができるようになる。
また、返答文判定部34は、入力語句データに対して返答文生成部20で生成された返答文(或いは実際に音声出力された返答文)のデータを入力し、その返答文の中で削除できる語句がないか否かを判定する機能を有する。削除できる語句とは、例えば文脈上又は会話上、削除しても返答文が同じ意味になるような語句を指す。この機能により、最終的にその返答文中の一部の語句を削除することができるようになる。
省略対象語句決定部35は、使用頻度判定部31、強調文判定部32、感嘆文判定部33、及び返答文判定部34のいずれか1又は複数により決定された語句が省略し易いか否かを判定し、省略対象語句を決定する。省略し易いか否かの判定基準は問わない。
例えば、各部31〜34で省略対象語句を判定するようにしておき、省略対象語句決定部35は、その全ての省略対象語句を入力し、入力された省略対象語句のうち最も省略し易い省略対象語句を判定により決定することができる。この判定基準は問わない。例えば、各部31〜34で省略の難易度を算出するように構成しておき、省略対象語句決定部35は、この難易度に基づき出力する省略対象語句を選択することができる。例えば、実際に後述の省略語生成部41で省略を行った場合に、省略の前後で省略される文字数が多い程、この難易度が高いとすることができる。
また、例えば、各部31〜34のいずれか1つで省略対象語句を判定するようにしておき、省略対象語句決定部35は、入力された1つの省略対象語句にそのまま決定するように構成することもできる。
ここで説明している省略対象語句の判定については、入力語句データと返答文のデータとで個別に実行することができる。なお、当然ではあるが、実際に省略語に変換されて音声出力される対象は常に音声対話装置1側からの返答文となる。
例えば、入力語句データに対しては各部31〜33のいずれか1つで省略対象語句を判定するようにしておき、省略対象語句決定部35は、入力された1つの省略対象語句にそのまま決定するように構成することができる。一方で、返答文のデータに対しては、返答文判定部34が省略対象語句を判定するようにしておき、省略対象語句決定部35は、入力された1つの省略対象語句にそのまま決定するように構成することができる。
省略語決定部40は、省略対象語句決定部35により決定された省略対象語句についてその省略語を決定する。そのため、図4に示すように、省略語決定部40は、頭文字重視省略語生成部42、形態素音声面重視省略語生成部43、呼び易さ重視省略語生成部44を有することができる。
頭文字重視省略語生成部42は、入力語句データのうち省略対象語句決定部35で決定された省略対象語句のデータ(省略対象語句データ)を形態素解析し、助詞を除く単語の頭文字から省略語を生成する。頭文字重視省略語生成部42は、例えば、省略対象語句データを形態素解析し、単語の頭文字から省略語を生成する機能を有することができる。また、頭文字重視省略語生成部42は、省略対象語句データを形態素解析し、日本語をローマ字変換してから単語の頭文字より省略語を生成する機能を有することができる。また、頭文字重視省略語生成部42は、省略対象語句データを英語に翻訳して形態素解析した後、形態素の頭文字から省略語を生成する機能を有することができる。
形態素音声面重視省略語生成部43は、省略対象語句データを形態素解析し、形態素の音声面を直接取り入れた省略語を生成する。これにより、例えば「日本赤十字病院」からその省略語として「日赤」が生成され、「国際連合」からその省略語として「国連」が生成される。
呼び易さ重視省略語生成部44は、省略対象語句データから語句の呼び易さを重視した省略語を生成する。これにより、例えば、「ことしもよろしくお願します」からその省略語として「ことよろ」が生成される。なお、形態素音声面重視省略語生成部43及び呼び易さ重視省略語生成部44では、予め記憶した省略語を参照して省略語を生成することもできる。
省略語選択部45は、頭文字重視省略語生成部42、形態素音声面重視省略語生成部43、及び呼び易さ重視省略語生成部44のいずれか1又は複数により生成された省略語を入力し、会話に導入する(返答文に導入する)省略語として選択する。
例えば、各部42〜44の全てで省略語を生成するようにしておき、省略語選択部45は、その全ての省略語を入力し、入力された省略語のうち最も適している省略語を判定することで選択することができる。最も適している省略語の判定基準は問わない。例えば、省略語選択部45は、省略対象語句の決定の元となったデータにおける会話のテンポなどを解析してそのテンポに最も合っている省略語を最も適している省略語として選択することができる。また、省略語選択部45は、最も意味が通る可能性の高い省略語を選択することもできる。
また、例えば、各部42〜44のいずれか1つで省略語を生成するようにしておき、省略語選択部45は、入力された1つの省略語をそのまま選択するように構成することもできる。
省略語導入部50は、省略語選択部45により選択された省略語をユーザとの会話に導入する。そのため、図5に示すように、省略語導入部50は、ユーザ状態読み取り部51、ジェスチャ生成部52、導入タイミング判定部53、及び導入実行部54を有することができる。
ユーザ状態読み取り部51は、撮影装置によりユーザの仕草や表情等を撮影し(撮影により読み取り)、その撮影画像(又は映像)からユーザの状態(ユーザ状態)を解析する機能を有することができる。なお、ユーザ状態とは、ユーザとの会話の状態であってもよい。この撮影装置は、音声対話装置1に備えることができるが、音声対話装置1の外部に備えることもできる。また、ユーザ状態読み取り部51は、撮影装置の代わりに、ユーザの状態を検知できる内部又は外部のセンサで検知し(読み取り)、そのセンサ信号からユーザ状態を解析するように構成することもできる。
導入タイミング判定部53は、ユーザ状態読み取り部51で読み取られたユーザ状態を示す情報に基づき、省略語を導入するタイミングであるか否かを判定する。また、ジェスチャ生成部52は、音声対話装置1が対話型ロボットに搭載されていることを前提とする部位である。ジェスチャ生成部52は、省略語選択部45で選択された省略語及びユーザ状態読み取り部51で読み取られたユーザ状態に適したジェスチャを生成する。例えば、省略語が3音で且つユーザ状態が笑っている表情である場合、ジェスチャ生成部52は、3音に合わせて両手を3回広げるなどのジェスチャを生成する。無論、生成するジェスチャはこれに限ったものではない。
導入実行部54は、導入タイミング判定部53で導入のタイミングであると判定されたタイミングで、ジェスチャ生成部52で生成されたジェスチャを行うように対話型ロボットを制御するとともに、省略語を会話に導入する。
次に、反応推定部60及び学習部70について説明する。反応推定部60及び学習部70は、省略対象決定部30における省略対象語句の決定方法のより好ましい例(以下、好適例)において使用される。
本好適例における返答文修正部21は、省略対象決定部30において各部31〜33のいずれでも判定が可能である例を挙げたように、上記(1)〜(3)のうちの少なくとも2つを判定可能に構成されている。そして、返答文修正部21は、これら判定可能な上記少なくとも2つの条件から1つの条件を選択して判定を実行し、その1つの条件を満たす部分を、省略対象部分として抽出する。なお、抽出後は、上述のようにその省略対象部分を省略語決定部40で決定された省略語に変換し、返答文に反映させる。
図3に示すように、省略対象決定部30は返答文判定部34を有するように構成できるため、ここでは、各部31〜34のいずれでも判定が可能である場合を例に挙げて、本好適例について説明する。
省略対象決定部30は、各部31〜34のうち1つを選択して実行するようにしておき、省略対象語句決定部35は、入力された1つの省略対象語句にそのまま決定する。この選択は、ランダムであってもよいし、省略のし易さを示す所定の基準に基づくものであってもよい。いずれの選択の場合でも、選択確率(換言すれば重み付け係数)は互いに異なる値を使用することもできる。
そして、本好適例における返答文修正部21は、この選択確率が変更可能に構成されており、そのために、反応推定部60及び学習部70を有することができる。
反応推定部60は、省略語を会話に導入した後のユーザの反応を推定する。そのため、図6に示すように、反応推定部60は、ユーザ反応読み取り部61、影響度推定部62、及びユーザ属性判定部63を有することができる。
ユーザ反応読み取り部61は、返答文修正部21で上記1つの条件の判定に従って省略語を返答文に反映させて会話の一部として出力した場合の、ユーザの反応を読み取る。そのため、ユーザ反応読み取り部61は、ユーザ状態読み取り部51と同じ機能を有すること、或いはユーザ状態読み取り部51の機能を利用することができる。そして、ユーザ反応読み取り部61は、導入実行部54により省略語及びジェスチャが導入された後のユーザの反応を、導入される前からの変化を示す情報として出力することができる。
影響度推定部62は、ユーザ反応読み取り部61により読み取られたユーザの反応から、省略語(及びジェスチャ)がユーザに及ばした影響度を評価する。そのため、影響度推定部62は、影響度評価部と称することもできる。なお、評価の方法については問わないが、例えばユーザの反応が大きい場合に影響度が大きかったと評価すればよい。
ユーザ属性判定部63は、影響度推定部62で推定された影響度に基づき、ユーザの属性を判定する。ここで、ユーザの属性とは、例えば、ユーザが影響を受けやすい人物なのか受け難い人物なのかなどを示す属性を指す。
学習部70は、影響度推定部62での推定結果及びユーザ属性判定部63での判定結果の少なくとも一方を省略対象決定部30にフィードバックして、学習を行う。そのため、図7に示すように、学習部70は重み付け部71を有することができる。
重み付け部71は、影響度推定部62での推定結果及びユーザ属性判定部63での判定結果の少なくとも一方から、使用頻度判定部31、強調文判定部32、感嘆文判定部33、及び返答文判定部34の重み付け係数の生成を行う。重み付け係数は、使用させる頻度(選択確率)を示すパラメータを指す。重み付けは、重み付け部71が重み付け係数を省略対象決定部30に出力し、省略対象決定部30がそれを反映することで行うことができる。
このように、学習部70は、ユーザ反応読み取り部61で読み取られたユーザの反応に基づき、返答文修正部21における各条件の選択確率(選択頻度の重み付け)を変更することが可能になっている。学習部70は、AIを用いて重み付け係数を算出して変更するように構成することができる。また、このようなAIを用いた重み付け係数の算出の機能は、ディープラーニング等の機械学習などで予め教育されていてもよい。なお、上記好適例では、音声対話装置1は、ユーザ反応読み取り部61で例示した反応読み取り部と学習部70を有していれば、このような選択確率の変更は可能である。
なお、省略語生成部41における各部42〜44のいずれで省略語を生成させるかの選択、或いは省略語選択部45における選択も、同様にユーザ反応に基づく学習機能により学習させるように構成することもできる。さらに、省略語導入部50におけるジェスチャ生成部52で生成するジェスチャや導入タイミング判定部53におけるタイミングの判定についても、同様にユーザ反応に基づく学習機能により学習させるように構成することができる。
次に、図8及び図9を併せて参照しながら、音声対話装置1において実行される音声対話処理の一例について説明する。図8は、図1の音声対話装置1において実行される音声対話処理の一例を説明するためのフロー図である。図9は、図8の音声対話処理で実際になされる会話の一例を説明するためのフロー図である。
図8で例示する音声対話処理では、まず、音声データ処理部10の入力部11が音声を検知したか否かを判定し(ステップS1)、検知した(YESとなった)段階で、その音声を入力するところから開始される(ステップS2)。上述したように入力部11は、その音声を入力語句データとして、返答文生成部20、返答文修正部21、及び記憶部12に出力することになる。なお、ステップS1,S2及び返答文の音声出力処理を音声データ処理過程と称する。
図8では図示しないが、返答文生成部20は、入力語句データに対する返答文を生成し、図示しないスピーカ等の音声出力部がその返答文を音声出力する。ユーザと音声対話装置1を備えたロボットとの会話の一例を図9に示している。例えば、ユーザが「今日も仕事疲れたなあ」と発話すると(ステップS11)、それに対応してロボットの音声出力部が「お仕事お疲れ様です」などといった返答文を音声出力することができる(ステップS12)。
ステップS12の音声出力に応答する形でユーザは、例えば「歩き仕事が多かった」などと発話することができる(ステップS13)。音声出力部は、これに対応して「歩き仕事が多かったんですね。疲れたでしょう?」などといった返答文を音声出力することができる(ステップS14)。さらに、ユーザがステップS14での音声出力に応答する形で「うん。あぁ。それにしても、今日も仕事疲れたなぁ」などと発話することもある(ステップS15)。
続いて、図9で例示したような会話がなされた例を挙げながら、ステップS3以降の処理について説明する。ステップS2に続き、音声対話装置1は、ステップS11〜S15の会話の情報を得た状態で、省略対象決定部30が省略内容(省略対象語句)を決定する省略対象決定過程を実行する(ステップS3)。
具体的には、使用頻度判定部31、強調文判定部32、及び感嘆文判定部33は、入力語句データの中から省略対象語句を判定する。返答文判定部34は、返答文生成部20で生成され音声出力部から出力された返答文のデータの中から省略対象語句を判定する。なお、出力される予定となっている返答文のデータの中から省略対象語句を判定するように構成することもできる。
図9の会話の例では、ステップS11,S15において「今日も仕事疲れたなぁ。」という文が含まれており、ステップS15の時点で記憶部12にこの情報が記憶されている。使用頻度判定部31は、ステップS15での上記文を含む入力語句データがあった時点で、例えば記憶部12に記憶されたデータから上記文を検索し、過去に1度存在し、2回目に使用されたことを判定する。ここで、閾値を2回としている場合には、上記文「今日も仕事疲れたなぁ。」は省略可能であると判定される。
また、図9のステップS15において「今日も仕事疲れたなぁ。」という文が強調されて発話されているとすると、強調文判定部32がこの文を省略可能であると判定する。なお、感嘆文判定部33についても、強調文か感嘆文かの判定基準の違いはあるが、強調文判定部32と同様の手順で判定がなされる。
また、図9のステップS12において「今日も仕事お疲れ様です。」との返答文が音声出力されているが、返答文判定部34は、この返答文のうち「仕事」が省略可能であると判定することができる。
図9の会話例では、省略対象語句決定部35は、各部31〜34の判定に従い、「今日も仕事疲れたなぁ。」を省略対象語句として決定することができる。なお、ステップS15において、この文が強調されていなかった場合でも、省略対象語句決定部35は、使用頻度判定部31での判定結果に従い、同様にこの文を省略対象語句として決定することができる。また、ステップS12において「仕事」が省略可能であると判定されない判定条件であった場合でも、省略対象語句決定部35は、使用頻度判定部31での判定結果に従い、同様にこの文を省略対象語句として決定することができる。
このようにステップS3で省略対象語句が決定された場合、省略語決定部40は、省略対象語句(この例では「今日も仕事疲れたなぁ。」)の省略語を決定する省略語決定過程を実行する(ステップS4)。
この例の省略対象語句の場合、頭文字重視省略語生成部42は、この文を形態素解析により助詞を除いてローマ字に変換することで「Kyou shigoto tukareta」とし、その頭文字から例えば省略語「KST」を生成することができる。形態素音声面重視省略語生成部43では、この文を読みに変換して「きょうもしごとつかれたなぁ」とするとともに、形態素解析により助詞を除く部分で音声面のテンポや音の響きなどが良い部分を抜き出し、例えば省略語「きょもつ」を生成することができる。また、呼び易さ重視省略語生成部44では、予め定められた呼び易さの判定基準に従い、例えば省略語「きょつ」を生成することができる。
そして、省略語選択部45は、このうち、例えば最も意味が通る可能性の高い省略語として「きょもつ」を選択し、出力することができる。
ステップS4に続き、省略語導入部50が、ユーザ状態読み取り部51から出力されたユーザ状態に基づき、省略語選択部45で選択され出力された省略語を会話に導入する省略語導入過程を実行する(ステップS5)。
ここでは、導入タイミング判定部53で省略語を音声出力する(導入する)タイミングが判定される。省略語を導入する場面としては、例えば、ユーザが同情していそうな時、図9のステップS15のようにユーザが「今日も仕事疲れたなぁ。」或いはそれに似た言葉を再度言った時などが挙げられる。一方、省略語を導入しない場面としては、例えば、ユーザが極度に落ち込んでいる時、ユーザが違う話をしている時(違う話に切り替わった後など)などが挙げられる。また、省略語の音声出力時に実行させるジェスチャとしては、例えば省略語の規則的なリズムに合わせて手を上下に振るなどが挙げられる。
導入実行部54は、このようにして決定された導入タイミングで省略語を導入する。導入実行部54は、その導入に際してはジェスチャを合わせて実行させることができる。
ステップS5に続き、反応推定部60が、ユーザの反応を推定するユーザ反応推定過程を実行する(ステップS6)。このユーザ反応推定過程では、ユーザ反応読み取り部61が省略語を導入したことに対するユーザの反応を読み取り、読み取った結果に基づき影響度推定部62がその省略語のそのユーザへの影響度を推定(判定)する。そして、このユーザ反応推定過程では、ユーザ属性判定部63がその影響度に基づきそのユーザの属性を判定する。
影響度推定部62は、省略語を会話に導入した後、ユーザが無反応であることを示す情報をユーザ反応読み取り部61から得た場合、そのユーザへの影響がない(表情を変えない)と推定することができる。その場合、ユーザ属性判定部63は、そのユーザが全く笑わない属性であると判定することができる。
影響度推定部62は、省略語を会話に導入した後、ユーザが茫然としたことを示す情報をユーザ反応読み取り部61から得た場合、そのユーザへの影響が少ないと推定することができる。その場合、ユーザ属性判定部63は、そのユーザがあまり笑わない属性であると判定することができる。
影響度推定部62は、省略語を会話に導入した後、ユーザが笑顔になったことを示す情報をユーザ反応読み取り部61から得た場合、そのユーザへの影響が大きいと推定することができる。その場合、ユーザ属性判定部63は、そのユーザが影響を受け易い属性であると判定することができる。
ステップS6に続き、学習部70が、ユーザ反応に基づき、より具体的には影響度推定部62及びユーザ属性判定部63から得た情報に基づき、学習を行う学習過程を実行する(ステップS7)。
学習部70の重み付け部71は、影響度推定部62での推定結果及びユーザ属性判定部63での判定結果の少なくとも一方が、導入した省略語についてユーザの受けが良かったことを示す場合、その省略語を決定した判定機能を多く用いるようにする。例えば、重み付け部71は、使用頻度判定部31、強調文判定部32、感嘆文判定部33のうち使用頻度判定部31での判定機能を用いて省略対象語句を決定していてこの結果を得た場合、使用頻度判定部31の選択確率を示す重み付け係数を大きくする。
一方で、重み付け部71は、導入した省略語についてユーザの受けが良かったことを示す場合、その省略語を決定した判定機能をあまり用いないようにする。例えば、重み付け部71は、使用頻度判定部31での判定機能を用いて省略対象語句を決定していてこの結果を得た場合、使用頻度判定部31の選択確率を示す重み付け係数を小さくする。
以上の構成の音声対話装置1では、条件を判定することでユーザにとって関心度や重要度が高いと推定される省略対象部分を抽出し、それを省略語に変換し、これを返答文に含めている。つまり、音声対話装置1では、ユーザにとって関心度や重要度が高いと推定される部分が省略語に変換され易くなる。よって、この音声対話装置1によれば、ユーザとの音声対話において、返答文がユーザに機械的な印象を与えてしまう可能性を低減させること、つまりユーザに親近感をもたせるような返答文を返すことが可能になる。
ここで、音声対話装置1は、入力部11を有することで、入力したユーザ音声を取り扱えるため、ユーザ音声を、省略語を含んだ返答文の生成のために利用することができる。また、音声対話装置1は、記憶部12を有することで、現在だけでなく過去のユーザ音声のデータを取り扱うことが可能になる。
また、音声対話装置1は、省略対象決定部30を有することで、ユーザとの会話から得られる情報を取り扱って省略対象を決定することができる。また、音声対話装置1は、省略語決定部40を有することで、ユーザとの会話から得られる情報から省略語を生成することができるため、ユーザに親近感をもたせことができる。また、音声対話装置1は、省略語導入部50を有することで、省略語選択部45により選択された省略語の候補をユーザとの会話に導入するに際し、適した省略語の適したタイミングを計って導入を実行することができる。
また、音声対話装置1は、反応推定部60及び学習部70を有することで、ユーザ状態読み取り部51で得たユーザ状態に基づき省略語を会話に導入した後のユーザの反応をユーザ反応読み取り部61で読み取り、その結果に基づき学習を行うことができる。より具体的には、音声対話装置1では、ユーザにとって関心度や重要度が高いか否かの判定を行う条件を選択するように構成されているが、その選択確率を実際のユーザの反応を読み取って変更しているため、判定を行う条件を最適化することができる。よって、音声対話装置1は、反応推定部60及び学習部70を有することで、よりユーザに機械的な印象を与え難くすることができ、結果として、ユーザに親近感をもたせ続ける会話を実現させることができる。
(代替例)
次に、本実施形態における代替例について説明する。
まず、図10及び図11を参照しながら代替例の一つについて説明する。図10は、音声対話装置1において実行される音声対話処理の他の例を説明するためのフロー図である。図11は、図10の音声対話処理で実際になされる会話の一例を説明するためのフロー図である。
図10で例示する音声対話処理では、図8で例示した音声対話処理において、ステップS4の後に省略語を記憶する処理(ステップS25)が追加された処理である。なお、図10で例示する音声対話処理におけるステップS21〜S24,S26〜S28は、それぞれ図8で例示する音声対話処理におけるステップS1〜S4,S5〜S7と同様であり、その説明は省略する。
図10で例示する音声対話処理を行うために、この代替例に係る音声対話装置1は、省略語選択部45で選択された省略語を記憶する省略語記憶部を備える。この省略語記憶部は、例えば省略語決定部40に備えることができる。
音声データ処理部10が、音声データ処理過程により入力語句データを出力し、省略対象決定部30での処理を経て、省略語決定部40が省略語を選択し、省略語決定部40の内部の省略語記憶部にその省略語を記憶させる。そして、省略語導入部50は、この省略語記憶部から省略語を読み出して返答文に導入し、反応推定部60がそれに対するユーザの反応を推定して学習部70が省略対象決定部30における重み付け係数を変更する。
この代替例における音声対話処理では、図8で例示した音声データ処理過程、省略語句決定過程、省略語決定過程、省略語導入過程、ユーザ反応推定過程、及び学習過程を、省略語を記憶する記憶部を用いることで、並列動作させることが可能である。つまり、この代替例によれば、会話におけるユーザ音声の入力(聞き取り)、省略対象決定部30、省略語決定部40、省略語導入部50、反応推定部60、及び学習部70を並列に動作させることができる。
図11に示す会話例では、図9に示す会話例(ステップS11〜S15)と同じ会話例(ステップS31〜S35)の直後に、ロボット側が「きょもつですね。ゆっくり休んでくださいね。」といった返答文を音声出力することができる(ステップS36)。これは、ステップS31〜S35の段階で、会話中に記憶させた省略語「きょもつ」を省略語記憶部に記憶させておき、ステップS35に対する返答文を修正するに際して省略語「きょもつ」を読み出して返答文に導入することで実現できる。
また、この代替例によれば、並列動作させることで計算コストを分散できる上に、多種多様な省略語を同時に取り扱うことができる。
なお、この代替例においても、学習部70は、省略語決定部40における省略語の選択処理、省略語導入部50におけるジェスチャ生成部52で生成するジェスチャ、及び導入タイミング判定部53におけるタイミングの判定についても、学習させることができる。
また、上述した本実施形態に係る音声対話装置1は、図1で例示したものに限ったものではなく、その機能が果たせればよい。例えば、本実施形態に係る音声対話装置1は、マイクロフォン等の集音装置、撮影装置、各種センサなどと、それらを含めた音声対話装置1の全体を制御する制御部と、により構成することができる。上記制御部は、音声データ処理過程、返答文を生成する返答文生成過程、省略語句決定過程、省略語決定過程、省略語導入過程、ユーザ反応推定過程、及び学習過程を実行するような制御を行う。
上記制御部は、例えば、CPU(Central Processing Unit)、作業用メモリ、及び不揮発性の記憶装置などによって、或いは集積回路(Integrated Circuit)によって実現することができる。この記憶装置にCPUによって実行される制御プログラムを格納しておき、CPUがその制御プログラムを作業用メモリに読み出して実行することで、上記制御部の機能を果たすことができる。上記制御部は、この例に限らず、音声対話装置1の全体又は少なくとも一部を制御する機能が果たせればよい。なお、上記制御部は汎用のコンピュータによって実現することもできる。また、上記の記憶装置は、記憶部12や省略語記憶部の記憶領域として利用することができる。
また、図1で説明した各部は、それぞれ単独の機器として、音声対話装置1に搭載することもできる。一例を挙げると、省略語決定部40は省略語決定器とすることができる。また、図2〜図7で説明した各部に含まれる各構成要素も、それぞれ単独の機器として各部に搭載することもできる。一例を挙げると、ジェスチャ生成部52はジェスチャ生成器とすることができる。
また、以上では、音声対話装置1が対話型ロボットに搭載されていることを前提として説明したが、音声対話装置1は様々な機器や不動産などに搭載又は設置することができる。
以上に、本実施形態について説明したが、上記実施形態は、以下の特徴を有する。
即ち、上記実施形態に係る音声対話装置1は、ユーザが発した音声を入力する音声入力部と、入力された音声に返答する返答文を生成する返答文生成部20と、返答文修正部21と、を備える。返答文修正部21は、入力された音声から省略可能な部分である省略対象部分を抽出し、その省略対象部分を省略語に変換し、その省略語を上記返答文に反映する。返答文修正部21は、(1)ユーザからの入力頻度が所定値より高い語句、文節、又は文であること、(2)強調を表す語句、文節、又は文であること、(3)感嘆を表す語句、文節、又は文であること、のうち、少なくとも1つの条件を判定する。返答文修正部21は、判定した条件を満たす部分を、上記省略対象部分として抽出する。
以上の構成の音声対話装置1では、条件を判定することでユーザにとって関心度や重要度が高い省略対象部分を抽出し、省略語に変換し、これを返答文に含めている。よって、この音声対話装置1によれば、ユーザとの音声対話において、返答文がユーザに機械的な印象を与えてしまう可能性を低減させることが可能になる。