JP2001188787A - 会話処理装置および方法、並びに記録媒体 - Google Patents

会話処理装置および方法、並びに記録媒体

Info

Publication number
JP2001188787A
JP2001188787A JP37577099A JP37577099A JP2001188787A JP 2001188787 A JP2001188787 A JP 2001188787A JP 37577099 A JP37577099 A JP 37577099A JP 37577099 A JP37577099 A JP 37577099A JP 2001188787 A JP2001188787 A JP 2001188787A
Authority
JP
Japan
Prior art keywords
topic
user
information
conversation
robot
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.)
Withdrawn
Application number
JP37577099A
Other languages
English (en)
Inventor
Osamu Hanagata
理 花形
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP37577099A priority Critical patent/JP2001188787A/ja
Publication of JP2001188787A publication Critical patent/JP2001188787A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ユーザに楽しく自然な会話を提供する。 【解決手段】 ロボット1のプロファイルメモリ121
には、ユーザの趣向に関するデータ(プロファイルデー
タ)が記憶されている。サーバ101の話題データベー
ス110には、話題となる情報が記憶されており、その
情報は、ロボット1に対してインターネットなどを介し
て提供される。ロボット1は、提供された情報のうち、
プロファイルメモリ121に記憶されているプロファイ
ルデータをフィルタとし、フィルタ112Bによりフィ
ルタリングした結果、残った情報のみが、話題メモリ7
6に記憶される。話題メモリ76に記憶されている情報
は、ユーザと会話している時に用いられる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は会話処理装置および
方法、並びに記録媒体に関し、特に、ユーザと会話を行
うロボットなどに用いて好適な会話処理装置および方
法、並びに記録媒体。
【0002】
【従来の技術】従来より、玩具等として、タッチスイッ
チが押圧操作されると、合成音を出力するロボット(ぬ
いぐるみ状のものを含む)が数多く製品化されている。
【0003】また、コンピュータとの定型的な会話方式
(タスクオリエンテッド)が用いられ、航空券の予約が
行なわれたり、旅行案内のサービスを提供するなどのサ
ービスがある。これは、予め決められたことを話すだけ
で、雑談を含む人間との自然な会話を行うものではなか
った。コンピュータと人間とが、雑談を含む自然な会話
を行うための試みとして、Eliza(James Allen:Natura
l Language Understanding,6乃至9頁などに開示され
ている)などの実験的なものがある。
【0004】
【発明が解決しようとする課題】上述したElizaなど
は、人間(ユーザ)とやりとりしている会話の内容は、
殆ど理解しておらず、換言すれば、オウム返し的な会話
しかできないので、ユーザは、すぐに飽きてしまうとい
った課題があった。
【0005】ユーザが飽きないような、かつ自然な流れ
での会話を行うには、1つの話題を長々と話したり、逆
に、話題を次々と変えていったりといったことがないよ
うにすることが必要である。すなわち、自然な話題遷移
が、自然な会話を行うためには大切な要素となる。ま
た、話題を遷移するためには、コンピュータ側でユーザ
に提供するための、会話が楽しくなるような話題を記憶
しておく必要がある。
【0006】本発明はこのような状況に鑑みてなされた
ものであり、会話の話題となりうる情報をネットワーク
を介してダウンロードすることにより、ユーザに提供す
る話題を新鮮なものとし、もって、ユーザに楽しく、自
然な会話を提供することを目的とする。
【0007】
【課題を解決するための手段】請求項1に記載の会話処
理装置は、ユーザと会話する話題に関する情報を記憶す
る記憶手段と、ユーザのプライベートな情報を、ユーザ
との会話のなかから取得する取得手段と、ユーザの発話
を認識する認識手段と、記憶手段により記憶されている
情報、または、認識手段による認識結果のうち、少なく
とも一方を用いて、ユーザと会話するための応答文を生
成する生成手段とを含むことを特徴とする。
【0008】他の装置と通信する通信手段をさらに含
み、記憶手段は、他の装置が、取得手段により取得され
たユーザのプライベートな情報を基に選択した話題に関
する情報を記憶するようにすることができる。
【0009】前記記憶手段は、他の装置から送信された
話題に関する情報の中から、取得手段により取得された
ユーザのプライベートな情報を基に、所定の情報を選択
し、記憶するようにすることができる。
【0010】会話は、音声または文字により行われるよ
うにすることができる。
【0011】ロボットに内蔵されるようにすることがで
きる。
【0012】請求項6に記載の会話処理方法は、ユーザ
と会話する話題に関する情報の記憶を制御する記憶制御
ステップと、ユーザのプライベートな情報を、ユーザと
の会話のなかから取得する取得ステップと、ユーザの発
話を認識する認識ステップと、記憶制御ステップの処理
で記憶された情報、または、認識ステップの処理で認識
結果のうち、少なくとも一方を用いて、ユーザと会話す
るための応答文を生成する生成ステップとを含むことを
特徴とする。
【0013】請求項7に記載の記録媒体のプログラム
は、ユーザと会話する話題に関する情報の記憶を制御す
る記憶制御ステップと、ユーザのプライベートな情報
を、ユーザとの会話のなかから取得する取得ステップ
と、ユーザの発話を認識する認識ステップと、記憶制御
ステップの処理で記憶された情報、または、認識ステッ
プの処理で認識結果のうち、少なくとも一方を用いて、
ユーザと会話するための応答文を生成する生成ステップ
とを含むことを特徴とする。
【0014】請求項1に記載の会話処理装置、請求項6
に記載の会話処理方法、および請求項7に記載の記録媒
体においては、ユーザと会話する話題に関する情報が記
憶され、ユーザのプライベートな情報が、ユーザとの会
話のなかから取得され、ユーザの発話が認識され、記憶
されている情報、または、認識結果のうち、少なくとも
一方が用いられて、ユーザと会話するための応答文が生
成される。
【0015】
【発明の実施の形態】図1は、本発明を適用したロボッ
トの一実施の形態の外観構成例を示しており、図2は、
その電気的構成例を示している。
【0016】本実施の形態では、ロボットは、犬形状の
ものとされており、胴体部ユニット2の前後左右に、そ
れぞれ脚部ユニット3A,3B,3C,3Dが連結され
るとともに、胴体部ユニット2の前端部と後端部に、そ
れぞれ頭部ユニット4と尻尾部ユニット5が連結される
ことにより構成されている。
【0017】尻尾部ユニット5は、胴体部ユニット2の
上面に設けられたベース部5Bから、2自由度をもって
湾曲または揺動自在に引き出されている。胴体部ユニッ
ト2には、ロボット全体の制御を行うコントローラ1
0、ロボットの動力源となるバッテリ11、並びにバッ
テリセンサ12および熱センサ13からなる内部センサ
部14などが収納されている。
【0018】頭部ユニット4には、「耳」に相当するマ
イク(マイクロフォン)15、「目」に相当するCCD(Ch
arge Coupled Device)カメラ16、触覚に相当するタッ
チセンサ17、「口」に相当するスピーカ18などが、
それぞれ所定位置に配設されている。
【0019】脚部ユニット3A乃至3Dそれぞれの関節
部分や、脚部ユニット3A乃至3Dそれぞれと胴体部ユ
ニット2の連結部分、頭部ユニット4と胴体部ユニット
2の連結部分、並びに尻尾部ユニット5と胴体部ユニッ
ト2の連結部分などには、図2に示すように、それぞれ
アクチュエータ3AA1乃至3AAK、3BA1乃至3B
K、3CA1乃至3CAK、3DA1乃至3DAK、4A1
乃至4AL、5A1および5A2が配設されており、これ
により、各連結部分は、所定の自由度をもって回転する
ことができるようになっている。
【0020】頭部ユニット4におけるマイク15は、ユ
ーザからの発話を含む周囲の音声(音)を集音し、得ら
れた音声信号を、コントローラ10に送出する。CCDカ
メラ16は、周囲の状況を撮像し、得られた画像信号
を、コントローラ10に送出する。
【0021】タッチセンサ17は、例えば、頭部ユニッ
ト4の上部に設けられており、ユーザからの「なでる」
や「たたく」といった物理的な働きかけにより受けた圧
力を検出し、その検出結果を圧力検出信号としてコント
ローラ10に送出する。
【0022】胴体部ユニット2におけるバッテリセンサ
12は、バッテリ11の残量を検出し、その検出結果
を、バッテリ残量検出信号としてコントローラ10に送
出する。熱センサ13は、ロボット内部の熱を検出し、
その検出結果を、熱検出信号としてコントローラ10に
送出する。
【0023】コントローラ10は、CPU(Central Proces
sing Unit)10Aやメモリ10B等を内蔵しており、CP
U10Aにおいて、メモリ10Bに記憶された制御プロ
グラムが実行されることにより、各種の処理を行う。即
ち、コントローラ10は、マイク15や、CCDカメラ1
6、タッチセンサ17、バッテリセンサ12、熱センサ
13から与えられる音声信号、画像信号、圧力検出信
号、バッテリ残量検出信号、熱検出信号に基づいて、周
囲の状況や、ユーザからの指令、ユーザからの働きかけ
などの有無を判断する。
【0024】さらに、コントローラ10は、この判断結
果等に基づいて、続く行動を決定し、その決定結果に基
づいて、アクチュエータ3AA1乃至3AAK、3BA1
乃至3BAK、3CA1乃至3CAK、3DA1乃至3DA
K、4A1乃至4AL、5A1、5A2のうちの必要なもの
を駆動させ、これにより、頭部ユニット4を上下左右に
振らせたり、尻尾部ユニット5を動かせたり、各脚部ユ
ニット3A乃至3Dを駆動して、ロボットを歩行させる
などの行動を行わせる。
【0025】また、コントローラ10は、必要に応じ
て、合成音を生成し、スピーカ18に供給して出力させ
たり、ロボットの「目」の位置に設けられた図示しない
LED(Light Emitting Diode)を点灯、消灯または点滅
させる。
【0026】以上のようにして、ロボットは、周囲の状
況等に基づいて自律的に行動をとることができるように
なっている。
【0027】次に、図3は、図2のコントローラ10の
機能的構成例を示している。なお、図3に示す機能的構
成は、CPU10Aが、メモリ10Bに記憶された制御プ
ログラムを実行することで実現されるようになってい
る。
【0028】コントローラ10は、特定の外部状態を認
識するセンサ入力処理部31、センサ入力処理部31の
認識結果等を累積して、感情および本能の状態を表現す
る感情/本能モデル部32、センサ入力処理部31の認
識結果等に基づいて、続く行動を決定する行動決定機構
部33、行動決定機構部33の決定結果に基づいて、実
際にロボットに行動を起こさせる姿勢遷移機構部34、
各アクチュエータ3AA1乃至5A1および5A2を駆動
制御する制御機構部35、合成音を生成する音声合成部
36、並びに音声合成部36の出力を制御する音響処理
部37から構成されている。
【0029】センサ入力処理部31は、マイク15や、
CCDカメラ16、タッチセンサ17等から与えられる音
声信号、画像信号、圧力検出信号等に基づいて、特定の
外部状態や、ユーザからの特定の働きかけ、ユーザから
の指示等を認識し、その認識結果を表す状態認識情報
を、感情/本能モデル部32および行動決定機構部33
に通知する。
【0030】即ち、センサ入力処理部31は、音声認識
部31Aを有しており、音声認識部31Aは、行動決定
機構部33からの制御にしたがい、マイク15から与え
られる音声信号を用いて、音声認識を行う。そして、音
声認識部31Aは、その音声認識結果としての、例え
ば、「歩け」、「伏せ」、「ボールを追いかけろ」等の
指令その他を、状態認識情報として、感情/本能モデル
部32および行動決定機構部33に通知する。
【0031】音声認識部31Aは、また、音声認識を行
った認識結果を、会話処理部38にも出力する。これは、
後述するユーザとの会話を行うためである。
【0032】また、センサ入力処理部31は、画像認識
部31Bを有しており、画像認識部31Bは、CCDカメ
ラ16から与えられる画像信号を用いて、画像認識処理
を行う。そして、画像認識部31Bは、その処理の結
果、例えば、「赤い丸いもの」や、「地面に対して垂直
なかつ所定高さ以上の平面」等を検出したときには、
「ボールがある」や、「壁がある」等の画像認識結果
を、状態認識情報として、感情/本能モデル部32およ
び行動決定機構部33に通知する。
【0033】さらに、センサ入力処理部31は、圧力処
理部31Cを有しており、圧力処理部31Cは、タッチ
センサ17から与えられる圧力検出信号を処理する。そ
して、圧力処理部31Cは、その処理の結果、所定の閾
値以上で、かつ短時間の圧力を検出したときには、「た
たかれた(しかられた)」と認識し、所定の閾値未満
で、かつ長時間の圧力を検出したときには、「なでられ
た(ほめられた)」と認識して、その認識結果を、状態
認識情報として、感情/本能モデル部32および行動決
定機構部33に通知する。
【0034】感情/本能モデル部32は、ロボットの感
情と本能の状態を表現する感情モデルと本能モデルをそ
れぞれ管理している。行動決定機構部33は、センサ入
力処理部31からの状態認識情報や、感情/本能モデル
部32からの感情/本能状態情報、時間経過等に基づい
て、次の行動を決定し、決定された行動の内容を行動指
令情報として、姿勢遷移機構部34に送出する。
【0035】姿勢遷移機構部34は、行動決定機構部3
3から供給される行動指令情報に基づいて、ロボットの
姿勢を、現在の姿勢から次の姿勢に遷移させるための姿
勢遷移情報を生成し、これを制御機構部35に出力す
る。制御機構部35は、姿勢遷移機構部34からの姿勢
遷移情報に従って、アクチュエータ3AA1乃至5A1
よび5A2を駆動するための制御信号を生成し、これを
アクチュエータ3AA1乃至5A1および5A2に送出す
る。これにより、アクチュエータ3AA1乃至5A1およ
び5A2は、制御信号に従って、駆動し、ロボットは、
自律的に行動を起こす。
【0036】上述したような構成をもつことにより、ロ
ボット1は、動作すると共に、ユーザと会話することも
できる。会話を行うための音声会話システムは、音声認
識部31A、会話処理部38、音声合成部36、および
音響処理部37から構成される。
【0037】図4は、音声認識部31Aの詳細な構成を
示す図である。ユーザの発話は、マイク15に入力さ
れ、マイク15では、その発話が、電気信号としての音
声信号に変換される。この音声信号は、音声認識部31
AのAD(Analog Digital)変換部51に供給される。A
D変換部51では、マイク15からのアナログ信号であ
る音声信号がサンプリング、量子化され、デジタル信号
である音声データに変換される。この音声データは、特
徴抽出部52に供給される。
【0038】特徴抽出部52は、AD変換部51からの
音声データについて、適当なフレームごとに、例えば、
スペクトルや、線形予測係数、ケプストラム係数、線ス
ペクトル対等の特徴パラメータを抽出し、特徴量バッフ
ァ53およびマッチング部54に供給する。特徴量バッ
ファ53では、特徴抽出部52からの特徴パラメータが
一時記憶される。
【0039】マッチング部54は、特徴抽出部52から
の特徴パラメータ、または特徴量バッファ53に記憶さ
れた特徴パラメータに基づき、音響モデルデータベース
55、辞書データベース56、および文法データベース
57を必要に応じて参照しながら、マイク15に入力さ
れた音声(入力音声)を認識する。
【0040】即ち、音響モデルデータベース55は、音
声認識する音声の言語における個々の音素や音節などの
音響的な特徴を表す音響モデルを記憶している。ここ
で、音響モデルとしては、例えば、HMM(Hidden Markov
Model)などを用いることができる。辞書データベース5
6は、認識対象の各単語について、その発音に関する情
報が記述された単語辞書を記憶している。文法データベ
ース57は、辞書データベース56の単語辞書に登録さ
れている各単語が、どのように連鎖する(つながる)か
を記述した文法規則を記憶している。ここで、文法規則
としては、例えば、文脈自由文法(CFG)や、統計的な
単語連鎖確率(N-gram)などに基づく規則を用いること
ができる。
【0041】マッチング部54は、辞書データベース5
6の単語辞書を参照することにより、音響モデルデータ
ベース55に記憶されている音響モデルを接続すること
で、単語の音響モデル(単語モデル)を構成する。さら
に、マッチング部54は、幾つかの単語モデルを、文法
データベース57に記憶された文法規則を参照すること
により接続し、そのようにして接続された単語モデルを
用いて、特徴パラメータに基づき、例えば、HMM法等に
よって、マイク15に入力された音声を認識する。そし
て、マッチング部54による音声認識結果は、例えば、
テキスト等で出力される。
【0042】なお、マッチング部54は、会話処理部3
8から、そこで得られる情報を受信することができるよ
うになっており、その会話管理情報に基づいて、精度の
高い音声認識を行うことができるようになっている。ま
た、マッチング部54は、入力された音声を対象とし
て、再度、処理を行うことが必要な場合は、特徴量バッ
ファ53に記憶された特徴パラメータを用いて処理を行
うようになっており、これにより、ユーザに再度の発話
を要求せずに済むようになっている。
【0043】図5は、会話処理部38の詳細な構成を示
す図である。音声認識部31Aから出力された認識結果
(テキストデータ)は、会話処理部38の言語処理部7
1に入力される。言語処理部71は、辞書データベース
72と解析用文法データベース73に記憶されているデ
ータを基に、入力された音声認識結果を、形態素解析、
構文解析などの解析を行うことにより、単語の情報や構
文の情報などの言語情報を抽出する。また、辞書に記述
された内容を基に、入力の音声発話の意味、意図なども
抽出する。
【0044】すなわち、辞書データベース72には、単
語の表記や解析用文法を適用するために必要な品詞情報
などの情報、単語の個別の意味情報などを記憶されてお
り、解析用文法データベース73には、辞書データベー
ス72に記憶されている各単語の情報を基に、単語連鎖
に関する制約を記述したデータが記憶されている。これ
らのデータを用いて言語処理部71は、入力された音声
認識結果のテキストデータを解析する。
【0045】解析用文法データベース73に記憶されて
いるデータは、正規文法、文脈自由文法、統計的な単語
連鎖確立、意味的な解析までを含める場合はHPSGなどの
意味論を含んだ言語理論などを用いる、テキスト解析に
必要なデータである。
【0046】言語処理部71により抽出された情報に基
づき、話題管理部74は、現在の話題を会話中話題メモ
リ77に管理、更新させると共に、次の話題遷移(詳細
は後述する)に備えて、会話履歴メモリ75に管理され
ている情報を適宜更新する。また、話題管理部74は、
話題遷移を起こす場合、話題メモリ76に記憶されてい
る情報を参照して遷移する話題を決定する。
【0047】会話履歴メモリ75は、会話された会話の
内容自身、あるいは、会話から抽出された情報が蓄積さ
れており、現在会話されている話題(会話中話題メモリ
77に記憶されてる話題)より以前の会話で、どのよう
な話題が話されたのかを調査し、話題の遷移をコントロ
ールする際に用いられるデータが記憶されている。
【0048】話題メモリ76は、ユーザと会話を実行し
ている際、その会話の内容に一貫性を保つための情報が
複数格納されている。話題メモリ76は、話題管理部7
4から話題の遷移を起こす際の遷移先の話題を探索する
とき、或いは、ユーザからの話題の変更に追従して話題
を変更するときに、参照される情報を蓄積しているメモ
リである。この話題メモリ76に記憶されている情報
は、後述する方法により追加、更新される。
【0049】会話中話題メモリ77は、現在話している
話題に関する情報が格納されている。具体的には、話題
メモリ76に記憶されている話題に関する情報から1
つ、話題管理部74により選択された情報を記憶してい
る。話題管理部74は、会話中話題メモリ77に記憶さ
れている情報を基に、ユーザとの会話を進めていく。そ
のため、会話でやりとりされる情報により、例えば、ど
の内容を既に話し終わったかなどを管理し、その情報
は、適宜更新される。
【0050】会話生成部78は、会話中話題メモリ77
で管理されている会話中の話題に関する情報と、直前の
ユーザの発話から言語処理部71により抽出された情報
などに基づき、辞書データベース79と会話生成規則デ
ータベース80に記憶されているデータを参照して適切
な応答文(テキストデータ)を生成する。
【0051】辞書データベース79は、応答文を作成す
るのに必要な単語情報が記憶されている。辞書データベ
ース72と辞書データベース79は、同じ情報を記憶す
るようにしても良い。従って、共用することも可能であ
る。
【0052】会話生成規則データベース80は、会話中
話題メモリ77の内容に基づいて、どのような応答文
を、どのように生成するのかに関する規則が記憶されて
いる。例えば、話題の中の、まだ話していない内容を話
す、相槌を最初に入れる、などの話題に対する話の進め
方と共に、仮に、話題が意味的なフレーム構造などで管
理されているなら、そこから自然言語文を生成する規則
なども書かれている。この意味構造から自然言語文を生
成する方法は、言語処理部71により行われる処理の逆
の処理として行うことにより、実現することが可能であ
る。
【0053】このようにして、会話生成部78により生
成された、テキストデータとしての応答文は、音声合成
部36に出力される。
【0054】図6は、音声合成部36の構成例を示して
いる。テキスト解析部91には、会話処理部38が出力
するテキストが、音声合成処理の対象として入力される
ようになっており、テキスト解析部91は、辞書データ
ベース92や解析用文法データベース93を参照しなが
ら、そのテキストを解析する。
【0055】即ち、辞書データベース92には、各単語
の品詞情報や、読み、アクセント等の情報が記述された
単語辞書が記憶されており、また、解析用文法データベ
ース93には、辞書データベース92の単語辞書に記述
された単語について、単語連鎖に関する制約等の解析用
文法規則が記憶されている。そして、テキスト解析部9
1は、この単語辞書および解析用文法規則に基づいて、
そこに入力されるテキストの形態素解析や構文解析等の
解析を行い、後段の規則合成部94で行われる規則音声
合成に必要な情報を抽出する。ここで、規則音声合成に
必要な情報としては、例えば、ポーズの位置や、アクセ
ントおよびイントネーションを制御するための情報、そ
の他の韻律情報や、各単語の発音等の音韻情報などがあ
る。
【0056】テキスト解析部91で得られた情報は、規
則合成部94に供給され、規則合成部94では、音素片
データベース95を用いて、テキスト解析部91に入力
されたテキストに対応する合成音の音声データ(デジタ
ルデータ)が生成される。
【0057】即ち、音素片データベース95には、例え
ば、CV(Consonant, Vowel)や、VCV、CVC等の形で音素
片データが記憶されており、規則合成部94は、テキス
ト解析部91からの情報に基づいて、必要な音素片デー
タを接続し、さらに、ポーズ、アクセント、イントネー
ション等を適切に付加することで、テキスト解析部91
に入力されたテキストに対応する合成音の音声データを
生成する。
【0058】この音声データは、DA変換部96に供給
され、そこで、アナログ信号としての音声信号に変換さ
れる。この音声信号は、図示せぬスピーカに供給され、
これにより、テキスト解析部91に入力されたテキスト
に対応する合成音が出力される。
【0059】上述したように、音声会話システムは構成
される。ロボット1は、音声会話システムを備えること
により、ユーザと会話を行うことができるのだが、ここ
で、人と人との会話について考える。人と人とが会話し
ているとき、1つの話題を永遠と話していることはな
く、きりのいいところで、話題を変えることが一般的で
ある。話題を変える際、全く関連性のない話題に切り変
わる場合もあるが、関連性がある話題に切り変わること
の方が自然な会話である。このようなことは、人(ユー
ザ)とロボット1との間で交わされる会話においても当
てはまることである。
【0060】そこで、ロボット1は、ユーザと会話をし
ているとき、適切な場面で話題を変える(遷移)する機
能をもつ。その為には、話題となる情報を記憶しておく
必要がある。また、その話題となる情報は、ユーザと話
を合わせる上で、ユーザが知っている情報は勿論、ユー
ザに話題を提供する上で、ユーザが知らないような情報
も記憶しておく必要がある。従って、古い情報ばかりで
なく、最新の情報を記憶する必要性も出てくる。
【0061】そこで、ロボット1には、最新の情報(以
下、適宜、情報nと記述する)を取得するために、通信
機能(図2の通信部19)を備える。ここでは、情報n
を提供するサーバから、その情報nをダウンロードする
場合を説明する。図7(A)は、ロボット1に備えられ
た通信部19が、直接サーバ101と通信を行う場合を
示し、図7(B)は、通信ネットワークとして、例え
ば、インターネット102を介して通信部19とサーバ
101が通信を行う場合を示している。
【0062】図7(A)に示したような構成にした場
合、ロボット1の通信部19は、例えば、PHS(Persona
l Handyphone System)に用いられている技術を流用す
ることにより実現することができる。例えば、通信部1
9は、ロボット1が充電している間に、サーバ101の
ダイヤルをダイヤリングすることで、サーバ101と接
続し、情報nをダウンロードする。
【0063】図7(B)に示したような構成の場合、通
信装置103とロボット1は、有線または無線により通
信が行われる。例えば、通信装置103をパーソナルコ
ンピュータで構成する。まず、ユーザは、パーソナルコ
ンピュータを、インターネット102を介してサーバ1
01と接続させる。そして、サーバ101から、情報n
をダウンロードし、パーソナルコンピュータ内の記憶装
置に、一旦記憶させる。その記憶された情報nを、例え
ば、赤外線による無線や、 USB(Universal Serial Bu
s)などの有線によりロボット1の通信部19に送信す
る。このようにしてロボット1が情報nを取得すること
ができる。
【0064】さらに、通信装置103は、所定の時間
に、自動的にサーバ101と接続し、情報nをダウンロ
ードし、ロボット1に送信するようにしても良い。
【0065】次に、ダウンロードされる情報nについて
説明する。情報nとして、全てのユーザに、同一の情報
nを提供するようにしても良いが、全てのユーザに対し
て、その情報nが有効な情報であるとは限らない。換言
すれば、ユーザ毎に趣向は異なり、ユーザとの会話を成
り立たせるには、そのユーザの趣向に合った情報nのみ
をダウンロードし記憶する、または、全ての情報nをダ
ウンロードした後、選択し、ユーザの趣向に合った情報
nのみを記憶するようにすればよい。
【0066】図8は、サーバ101側で、ロボット1に
提供する情報nを選択する場合のシステム構成を示す図
である。サーバ101は、話題データベース110、プ
ロファイルメモリ111、およびフィルタ112Aを備
えている。話題データベース110は、情報nを記憶し
ている。情報nは、芸能情報、経済情報といったカテゴ
リ毎に記憶されている。これらの情報nは、後述するよ
うに、ロボット1が、情報nを用いて、ユーザに話題を
提供することにより、ユーザが知らなかった情報を提供
することができ、宣伝効果がある。従って、宣伝を行い
たい会社などを含む提供者から、話題データベース11
0に記憶される情報nは提供される。
【0067】プロファイルメモリ111は、ユーザの趣
向などの情報を記憶している。プロファイルは、ロボッ
ト1から供給され、適宜、更新される。また、プロファ
イルは、ロボット1が、ユーザと会話を重ねていくうえ
で、何度も出てくる話題(キーワード)を記憶すること
で作成するようにしても良いし、ユーザが、ロボット1
に入力し、記憶させるような機能を備えるようにしても
良い。また、会話形式で、ロボット1がユーザに対して
質問し、その質問に対して答えたユーザの答えをプロフ
ァイルとして作成するようにしても良い。
【0068】フィルタ112Aは、プロファイルメモリ
111に記憶されているプロファイルを基に、話題デー
タベース110に記憶されている情報nの中から、その
プロファイルに適した情報n、すなわちユーザの趣向に
合った情報nを選択して出力する。
【0069】図7を参照して説明したような方法によ
り、フィルタ112Aから出力された情報nは、ロボッ
ト1の通信部19に受信される。通信部19に受信され
た情報nは、メモリ10B内の話題メモリ76に記憶さ
れる。記憶メモリ76に記憶された情報nは、話題を遷
移させる時に用いられる。
【0070】会話処理部38により処理され、出力され
た情報は、適宜、プロファイル作成部123に出力され
る。上述したように、ユーザと会話を交わすなかで、プ
ロファイルが作成される場合、プロファイル作成部12
3によりプロファイルが作成され、プロファイルメモリ
121に記憶される。プロファイルメモリ121に記憶
されたプロファイルは、適宜、通信部19を介して、サ
ーバ101のプロファイルメモリ111に送信されるこ
とにより、プロファイルメモリ111内の、ロボット1
のユーザに対応するプロファイルが更新される。
【0071】図8に示したような構成にした場合、プロ
ファイルメモリ111に記憶されているプロファイル
(ユーザ情報)が、外部に漏れる可能性があり、プライ
バシーを保護するという観点から、問題が生じる可能性
がある。そこで、プロファイルをサーバ101に管理さ
せないような構成とすることも可能である。図9は、サ
ーバ101側でプロファイルを管理しない場合のシステ
ム構成を示す図である。
【0072】図9に示した構成では、サーバ101は、
話題データベース110のみを備える。ロボット1のコ
ントローラ10は、フィルタ112Bを備える構成とな
り、ロボット1のコントローラ10は、フィルタ112
Bを新たに備える構成となる。このような構成にした場
合、サーバ101は、話題データベース110に記憶さ
れている全ての情報nを、ロボット1に対して提供す
る。ロボット1の通信部19により受信された情報n
は、フィルタ112Bにより、フィルタリングされ、そ
の結果、残った情報nのみが、話題メモリ76に記憶さ
れる。
【0073】このように、ロボット1の方で、情報nを
選択するようにすれば、ユーザのプロファイルを、外部
に送信することがない(外部で管理することがない)の
で、ユーザのプライバシーは守られる。
【0074】ここで、プロファイルとして扱う情報につ
いて説明する。プロファイルの情報としては、年齢、性
別、出身地、好きな俳優、好きなスポーツ、好きな場
所、好きな食べ物、趣味、最寄り駅などであり、また、
経済情報、芸能情報、スポーツ情報などに対して、どの
程度興味があるか数値で表した情報も含まれる。
【0075】このようなプロファイルに基づき、選択さ
れることにより、ユーザの趣向に合った情報nのみが、
話題メモリ76に記憶される。ロボット1は、話題メモ
リ76に記憶された情報nを基に、ユーザとの会話が自
然に流れるように、話題を遷移する。会話を自然に行う
ためには、話題を遷移するタイミングも大切である。次
に、話題を遷移させるタイミングの決定の仕方について
説明する。
【0076】話題を遷移させるための処理として、ロボ
ット1は、ユーザとの会話が開始されると、自分用のフ
レームとユーザ用のフレームを作成する。フレームにつ
いて、図10を参照して説明する。時刻t1において、
ロボット1が、ユーザに対して、”昨日、成田で、事故
があったんだって”という新しい話題を持ちかけたとす
る。このとき、ロボット用フレーム141とユーザ用フ
レーム142が話題管理部74内に作成される。
【0077】ロボット用フレーム141とユーザ用フレ
ーム142には、同一の項目が用意されており、すなわ
ち、”いつ”、”どこで”、”だれが”、”どうし
た”、”なぜ”という5項目が用意されている。ロボッ
ト1側が、”昨日、成田で、事故があったんだって”と
いう話題を提供したことにより、ロボット側のフレーム
141の各項目は0.5に設定される。なお、ここで
は、各項目に設定される値は、0.0乃至1.0の値を
とるとする。値が0.0の場合は、その項目について全
く知らない(全く話していない)ことを示し、1.0の
場合は、全ての情報を知っている(その項目について
は、話し尽くした)ことを示す。
【0078】ロボット1が話題を提供した場合、ロボッ
ト1は、その話題についての情報を得ていることを示し
ている。換言すれば、提供した話題は、話題メモリ76
に記憶されている(話題メモリ76に記憶されていた
が、現在話している話題となることにより、会話中話題
メモリ77に移され、記憶されている)ことになる。
【0079】その記憶されている情報は、その情報に関
する情報をユーザは、さらに多く知っている場合も想定
されるし、そうでない場合も想定される。従って、ロボ
ット1が話題を提供した場合、その話題に関するロボッ
ト用フレーム141の各項目には、初期値として0.5
が設定され、ユーザ側は何もしらないと想定し、ユーザ
用フレーム142の各項目は0.0に設定される。
【0080】初期値として設定される値として、ここで
は、0.5としたが、その他の値を設定するようにして
も良い。また、例えば、”いつ”という項目は、具体的
には、通常、”年”、”月”、”日”、”時”、”分”
の5つの情報(”秒”も含めれば6つの情報になるが、
会話では、通常、秒まで、話題になることはないと仮定
し、ここでは、含めない)がそろえば、”いつ”という
項目に対しては、全ての情報がそろったとしても良い。
そこで、単純に、1.0を5等分した0.2を、1つの
情報に当てはめ、例えば、”昨日”という単語には、”
年”、”月”、”日”の3つの情報を含むと判断し、
0.6という値を設定するようにしても良い。
【0081】また、上述した説明においては、初期値と
して全ての項目に0.5を設定したが、話題メモリ76
内に、その時、話題にしていることに関して、例え
ば、”いつ”という項目にあたるキーワードが存在しな
いときは、その項目には0.0を設定するようにしても
良い。
【0082】このように、会話が開始されると、その話
題に関して、フレームと、そのフレーム内の各項目の値
が設定される。ユーザは、ロボット1の”昨日、成田
で、事故が、あったんだって”という発話に対し、ユー
ザが、時刻t2において、”えっ?”という、言われた
事を聞き返すような場合に用いられる発話をしたとする
と、ロボット1は、時刻t3において、もう一度、同じ
発話を繰り返す。
【0083】繰り返し発話された事により、ユーザがロ
ボット1が発話したことを理解し、時刻t4におい
て、”そうだね”という、発話された事を理解したとい
う場合に用いられる発話をしたとすると、ユーザ用フレ
ーム142が書き換えられる。ユーザ側は、”昨日”と
いう情報から”いつ”という項目が、”成田で”という
情報から”どこ”という項目が、”事故があった”とい
う情報から”どうした”という項目が、それぞれ知り得
たと判断し、それらの項目の値が0.2に設定される。
【0084】0.2に設定されるというのは、一例であ
り、その他の値が設定されるようにしても良い。例え
ば、現在話している話題のうち、”いつ”という項目に
対してロボット1が知り得ている情報の全てを発話して
しまった場合、その項目に関しては、同じ値を設定する
ようにしても良い。例えば、この場合、ロボット1が”
いつ”という項目に対して”昨日”というキーワードし
か取得していなかった場合、既に、ユーザに対して発話
してしまっているので、ユーザ用フレーム142の”い
つ”という項目の値は、ロボット用フレーム141の”
いつ”という項目に設定されている0.5が設定され
る。
【0085】ここで、ユーザが時刻t4に、”そうだ
ね”ではなく、図11に示すように、”何時ごろ?”と
質問してきた場合、ユーザ用フレーム142に設定され
る値が異なってくる。すなわち、ロボット1は、今、ユ
ーザは、”いつ”の項目に関わる質問をしてきたの
で、”いつ”という項目に関する情報に興味があると判
断し、ユーザ用フレーム142の”いつ”という項目の
値を、他の項目に設定される値である0.2よりも大き
い0.4に設定する。このように、会話の内容により、
それぞれのフレームの項目に設定される値は異なる。
【0086】上述した説明では、ロボット1側からユー
ザに対して話題を提供した場合を説明したが、ユーザ側
からロボット1に対して話題を提供した場合を説明す
る。図12に示すように、時刻t1において、ユーザ
が”成田で、事故が、あったんだって”とロボット1に
対して発話したとする。その発話を受けて、ロボット1
は、ロボット用フレーム141とユーザ用フレーム14
2を作成する。
【0087】まず、ユーザ用フレーム142の各項目の
値についてだが、”成田”という情報から”どこで”と
いう項目の値が、”事故があった”という情報から”ど
うした”という項目の値が、それぞれ設定される。同様
の判断に基づき、ロボット用フレーム141内の各項目
も、ユーザ用フレーム142内の各項目の値と同じ値に
設定される。
【0088】このようなユーザの発音に対し、ロボット
1が、時刻t2において返答を行う。ロボット1は、各
フレーム内の項目のなかで、値が0.0という項目がな
くなるような方向で会話が進むように、返答文を作成す
る。この場合、まず、”いつ”という項目の値が、ロボ
ット用フレーム141、ユーザ用フレーム142共に
0.0であるので、ロボット1は、時刻t2におい
て、”いつ?”という質問をユーザに対してする。
【0089】この質問に対し、ユーザは、時刻t3にお
いて、”昨日”という発話をしたとすると、その発話を
受けて、フレーム内の各項目の値が設定し直される。即
ち、”昨日”という、”いつ”という項目に関する情報
が得られた事により、ロボット用フレーム141とユー
ザ用フレーム142の”いつ”という項目の値が0.0
から0.2に設定し直される。
【0090】さらに、時刻t4(図13)においてロボ
ット1が”何時頃?”という質問をユーザにし、ユーザ
が時刻t5において、”夜8時過ぎ”と返答した場合、
ロボット用フレーム141とユーザ用フレーム142
の”いつ”という項目の値が、0.2より高い値の0.
6に設定し直される。このように、ロボット1が質問を
ユーザにすることにより、値が0.0である項目がなく
なる方向で話が進められる事により、自然な会話が成立
する。
【0091】なお、時刻t5において、ユーザが”知ら
ない”という返答をした場合にも、上述したように、ロ
ボット用フレーム141とユーザ用フレーム142の”
いつ”という項目の値は0.6に設定される。このよう
にするのは、互いに知らない事に対して再度、質問する
ようなことがないようにする、換言すれば、値が小さい
ままにしておくと、再度、質問するようなことが想定さ
れるため、そのような事を防ぐために行う。従って、”
知らない”というような返答を受けた場合は、その項目
に関する会話は、それ以上できないと判断することが可
能なので、そのような項目の値は、1.0に設定される
ようにしても良い。
【0092】このような会話が続けられることにより、
ロボット用フレーム141とユーザ用フレーム142の
各項目の値が1.0に近づいていくことになる。全ての
項目の値が1.0になるということは、その話題に付い
ては、語り尽くした事を示す。そのような場合は、話題
を遷移する事が自然の会話の流れである。また、語り尽
くす前に、話題を遷移する場合があるというのも、自然
の会話の流れである。換言すれば、1つの話題に対し
て、常に語り尽くさなければ、次の話題に遷移できない
という設定にしてしまうと、会話はしつこくなり、楽し
くなくなる場合が想定されるので、語り尽くす前に(全
ての項目の値が1.0になる前に)、話題を遷移する場
合もあるように設定しておく。
【0093】図14のフローチャートを参照して、上述
したようなフレームを用いて、話題の遷移を行うタイミ
ングを制御する方法について説明する。ステップS1に
おいて、新しい話題に対して会話が開始されると、ステ
ップS2において、ロボット用フレーム141とユーザ
用フレーム142が話題管理部74に生成され、各項目
の値が設定される。ステップS3において、平均値が算
出される。平均値は、ロボット用フレーム141とユー
ザ用フレーム142の各項目、この場合10項目の値の
平均値である。
【0094】平均値が算出されたら、ステップS4にお
いて、話題を遷移するか否かが判断される。平均値の値
が、閾値T1以上になったら、話題を遷移するという規
則を設けて話題を遷移するか否かを判断しても良いが、
閾値T1を小さく設定した場合、会話が中途半端な状態
で遷移してしまうことが多くなり、逆に、閾値T1を大
きく設定した場合、会話にしつこさが出てきてしまうこ
とが多くなるといったような不都合が生じる事が想定さ
れる。
【0095】そこで、本実施の形態においては、図15
に示したような関数を用い、平均値により、話題が遷移
する確率を変動させる。すなわち、平均値が0.0乃至
0.2の間の値の場合、話題が遷移する確率は0なの
で、話題は遷移しない。平均値が、0.2乃至0.5の
間の値の場合、0.1の確率で話題が遷移する。平均値
が、0.5乃至0.8の間の値の場合、確率=3×平均
値−1.4の式に従って確率が算出され、その確率に従
って、話題が遷移する。平均値が、0.8乃至1.0の
間の値の場合、1.0の確率、すなわち、必ず話題が遷
移する。
【0096】このように、平均値と確率値を用いること
により、話題が遷移するタイミングを、異ならせること
が可能となり、より自然な会話を行わせる事が可能とな
る。なお、図15に示したのは、一例であり、他の関数
にしたがっても良い。また、平均値が0.2以上の値の
場合、確率値は0.0ではないが、例えば、フレーム内
の10項目のうち、4項目の値が0.0の場合は、話題
が遷移する確率値を0.0にするなどの規則を設けるよ
うにしても良い。
【0097】さらに、会話が行われる時刻により、用い
られる関数を変化させるようにしてもよい。例えば、朝
と夜とで異なる関数を用いることにより、朝は、夜と比
べて、浅く広い会話ができるといった機能を持たせる事
も可能である。
【0098】図14のフローチャートの説明に戻り、ス
テップS4において、話題を遷移すると判断された場
合、話題を遷移し(遷移する先の話題の抽出の仕方につ
いては後述する)、その遷移した先の話題について、ス
テップS1以下の処理が繰り返される。一方、ステップ
S4において、話題を遷移しないと判断された場合、ス
テップS5に進み、新たな発話に対してフレーム内の項
目の値が設定し直され、その値に対してステップS3以
下の処理が繰り返される。
【0099】上述した話題を遷移するタイミングの決定
の方法は、フレームというものを用いて行ったが、他の
方法を用いても良い。ロボット1とユーザとの間で会話
が行われているとき、その会話が交わされた回数をカウ
ントするようにしても良い。これは、通常、会話が交わ
される回数が増せば、その話題については十分話し合っ
たと判断することが可能であるので、会話が交わされた
回数で、話題を遷移するか否かを判断することも可能で
ある。
【0100】会話が交わされた回数をカウントした値を
カウント値Nとした場合、そのカウント値Nが、単に所
定の閾値を越えたとき、話題を遷移するようにしても良
いし、P=1−1/Nという式により算出される値P
を、図15の平均値の代わりに用いて話題を遷移するよ
うにしても良い。
【0101】会話が交わされた回数をカウントする代わ
りに、会話が交わされている時間をカウントすることに
より、話題を遷移するタイミングを決定するようにして
も良い。ロボット1が発話した時間と、ユーザが発話し
た時間を累積加算する。その累積加算した加算値Tを、
上述したカウンタ値Nの代わりに用いるようにする。加
算値Tが所定の閾値を越えた場合に話題を遷移するよう
にしても良いし、基準会話時間Trという値を設け、P
=T/Trという式に基づいて算出された値Pを、図1
5の平均値の代わりに用いるようにしても良い。
【0102】このようにカウント値Nまたは加算値Tを
用いた場合、話題を遷移させるタイミングを決定する処
理は、図14のフローチャートを参照して説明したのと
基本的に同様だが、ステップS2のフレームを作成する
という処理が、カウンタ値N(加算値T)を0に初期化
する処理となり、ステップS3の処理は省略され、ステ
ップS5の処理が、カウンタ値N(加算値T)を更新す
る処理となる。
【0103】会話のなかでは、相槌というのも、話して
いる内容に興味があるかないかを判断するのに重要な要
素となるものであり、興味がないと判断される時には、
話題を遷移することが好ましい。そこで、話題を遷移す
るタイミングを決定する方法として、ユーザの発話の音
圧の時変化を用いる方法もある。図16(A)に示すよ
うに、入力されたユーザの発話(入力パターン)を、区
間正規化することにより入力パターンの解析を行う。
【0104】ユーザの発話(相槌)に関して、正規化し
た解析結果として想定されるのは、例えば、図16
(B)に示したように、肯定を意図するパターン、無関
心を意図するパターン、標準(意志表現を含まない、単
なる相槌)を意図するパターン、および疑問を意図する
パターンの4パターンである。入力された入力パターン
を区間正規化した結果が、どのパターンに近似している
かは、例えば、いくつかの基準関数との内積値をベクト
ルとして距離を計算するなどの方法を用いて行う事が可
能である。
【0105】入力された入力パターンが、無関心を意図
するパターンであると判断された場合、すぐに話題を遷
移するようにしても良いし、無関心を意図するパターン
であると判断された回数を累積し、その累積値Qが所定
値以上になった時に、話題を遷移するようにしても良
い。さらに、対話回数もカウントするようにし、累積値
Qをカウンタ値Nで割った数値を度数Rとし、その度数
Rが所定値以上になったときに話題を遷移させるように
しても良いし、その度数を図15の平均値の代わりとし
て用いて、話題を遷移させるようにしても良い。
【0106】会話をしているときに、相手が発話したこ
とに対して同じ事を言う(オウム返しする)ようなこと
は、その話題に興味がないことを示していることが多
い。このような事を利用し、ロボット1が発話した事
と、その発話に対してユーザが発話した事の一致度を測
定し、スコア値を得、そのスコア値を用いて話題を遷移
させる。スコア値の算出の仕方としては、例えば、ロボ
ット1が発話した言葉の文字の並びと、ユーザが発話し
た言葉の文字の並びを単純に比較し、一致する文字数を
スコア値とする。
【0107】このようにして得られたスコア値を用い
て、上述した方法と同じく、所定の閾値以上になったら
話題を遷移させる、または、図15の平均値の代わりに
用いて話題を遷移させる。
【0108】上述した方法では、無関心を意図するパタ
ーン(音圧と時間との関係におけるパターン)を用いた
が、無関心を意図する言葉をトリガーとして話題を遷移
させるようにしても良い。無関心を意図する言葉として
は、「ふーん」、「へえ」、「あ、そう」、「はいは
い」などであり、これらの言葉を無関心を意図する言葉
の群として登録しておく。この登録された群内の言葉
が、ユーザから発せられたと判断された場合には、話題
が遷移されるようにする。
【0109】さらに会話をしている場合に、その会話が
止まった、換言すれば、返答に時間がかかったとき、ユ
ーザは、その話題に関して興味がなく、返答したくない
といった意思表示であると考える事ができる。そこで、
ロボット1は、自己が発話した事に対して、ユーザが返
答するまでの時間を測定し、その測定時間に応じて、話
題を遷移させるか否かを判断するようにしても良い。
【0110】例えば、図17に示すように、返答までに
かかった時間が、0.0乃至1.0秒のときは話題を遷
移させない、1.0乃至12.0秒のときは所定の関数
により算出される確率値に従い話題を遷移させる、1
2.0秒以上のときは、必ず話題を遷移させる。図17
に示した例は一例であり、用いる関数や秒の設定は、ど
のようなものを用いても良い。
【0111】上述した方法のうち、1つ、または、複数
の組み合わせにより、話題を遷移させるタイミングが決
定される。
【0112】なお、ユーザが、「もうその話題はいい
よ」、「いいかげんにしろ」、「話題変えようよ」な
ど、話題を遷移することが望まれる発話を受けた場合
は、上述した方法による、話題を遷移させるタイミング
でないときにも関わらず、話題を遷移させる。
【0113】次に、ロボット1の38により、会話処理
部話題を遷移させると判断された際、遷移先の話題の抽
出の仕方について説明する。その時話している話題Aか
ら他の話題Bに遷移する場合、話題Aと話題Bとの間
に、全く関連性がなくても良いが、多少ながら関連性が
ある話題に遷移するのが会話の流れを妨げず、自然の流
れとなる場合が多い。そこで、本実施の形態では、話題
Aに関連がある話題Bに遷移するようにする。
【0114】話題を遷移するための情報は、話題メモリ
76に記憶されており、会話処理部38は、上述したよ
うな方法で、話題を遷移すると判断した場合、話題メモ
リ76に記憶されている情報を基に、遷移先の話題を抽
出する。ここで、話題メモリ76に記憶されている情報
について説明する。
【0115】上述したように、話題メモリ76に記憶さ
れている情報は、インターネットなどの通信ネットワー
クを介してダウンロードされ、記憶されている。図18
は、話題メモリ76内の情報について説明する図であ
る。この場合、話題メモリ76には、4つの情報が記憶
されている。各情報は、”事項”、”いつ”、”どこ
で”、”だれが”、”どうした”といった項目から構成
されており、”事項”以外の項目は、ロボット用フレー
ム141(ユーザ用フレーム142)内の項目と同じで
ある。
【0116】事項は、タイトル的な意味合いをもち、そ
の情報の内容を識別するために設けられたものである。
各情報は、その内容を代表する属性をもつ。図19に示
した例では、属性としてキーワードを用いた場合を示し
ている。キーワードとしては、各情報に含まれる自立語
(名詞や動詞などで、単独で意味を持つ単語)が選択さ
れ、設定される。各情報は、その内容を表すテキスト形
式で保持しても良いが、図18に示した例では、項目と
その値(属性:キーワード)の対で構成したフレーム構
造に内容を抽出して保持している。
【0117】図20のフローチャートを参照して、ロボ
ット1側から話題を遷移させる場合の、会話処理部38
において行われる処理について説明する。会話処理部3
8の話題管理部74は、ステップS11において、上述
したような方法を用いて、話題の遷移を起こすか否かを
判断する。ステップS11において、話題の遷移を起こ
すと判断された場合、ステップS12に進み、現在の話
題の情報と、話題メモリ76内に記憶されている話題の
情報との関連度を計算する。ここで、関連度の計算の仕
方について説明する。
【0118】関連度の計算としては、例えば、情報の属
性であるキーワードのベクトルが成す角、分類の一致度
(同じ分類や近い分類がなされている情報が近似してい
る情報であると判断)などを用いる方法が考えられる。
また、キーワード間の関連度をテーブルとして定義し、
そのテーブルを用いて、現在の話題の情報のキーワード
と、話題メモリ76内に記憶されている話題の情報のキ
ーワードとの関連度を計算する方法もある。このような
方法を採ると、異なるキーワード間の結び付きまで含め
た関連度の計算ができるので、自然な流れで話題を遷移
させる事が可能となる。
【0119】ここでは、キーワード間の関連度を定義し
たテーブルに基づく方法について説明する。図21に、
テーブルの一例を示す。図21には、”事項”という項
目が”バスの事故”という情報と、”飛行機事故”とい
う情報による作成されたテーブルである。このテーブル
として選択される情報は、現在話されている話題の情報
と次の話題となる可能性のある情報、換言すれば、会話
中話題メモリ77(図5)に記憶されている情報と、話
題メモリ76に記憶されている情報である。
【0120】事項が”バスの事故”という情報には、”
バス”、”事故”、”2月”、”10日”、”札
幌”、”乗客”、”10人”、”けが”、”スリップ”
という9個のキーワードが存在し、事項が”飛行機事
故”という情報には、”飛行機”、”事故”、”2
月”、”10日”、”インド”、”乗客”、”100
人”、”けが”という8個のキーワードが存在する。
【0121】それぞれのキーワードによる組み合わせ
は、72(=9×8)通りある。各キーワード間には、
関連度のスコアが記載されている。これらのスコアの総
和を、それらの2つの情報の関連度とする。図21に示
したようなテーブルは、情報を提供するサーバ101
(図7)において作成し、その作成されたテーブルと共
に、情報をロボット1に提供するようにして良いし、ロ
ボット1側で、サーバ101からダウンロードした情報
を記憶する際、テーブルを作成し、記憶するようにして
も良い。
【0122】予めテーブルを作成しておく場合、会話中
話題メモリ77に記憶されている情報と、話題メモリ7
6に記憶されている情報との両方の情報が、サーバ10
1からダウンロードされたものであるということが前提
である。換言すれば、話題遷移を起こしたのが、ロボッ
ト1の場合、また、ユーザが話題遷移を起こした場合で
も、話題メモリ76に、ユーザが話しているだろうと判
断される話題の情報が記憶されている場合は、予め作成
されたテーブルを用いることが可能である。しかしなが
ら、ユーザが話題遷移を起こし、その話題が話題メモリ
76に記憶されていないと判断される場合は、予め作成
されたテーブルが存在しないので、新たに作成する必要
がある。そのような処理については後述する。
【0123】テーブルは、シソーラス(Thesaurus)
(語句を意味により分類し、配列したもの。分類語彙
表)を参考に、大量のコーバスから統計的に同じ文脈に
現れやすい言葉の関連度を取得するなどして作成され
る。
【0124】次に、具体的に、図21に示したテーブル
を参照して、関連度の計算の仕方について説明する。上
述したように、”バスの事故”という情報と”飛行機事
故”という情報との間でのキーワードの組み合わせとし
ては、例えば、「バス」と「飛行機」、「バス」と「事
故」など、72通り存在する。図21に示した例では、
「バス」と「飛行機」の関連度は0.5、「バス」と
「事故」の関係度が0.3というようになっている。
【0125】このように、会話中話題メモリ77と、話
題メモリ76に、それぞれ記憶されている情報により、
テーブルを作成し、そのスコアの総和を算出する。ただ
し、このようにして総和を算出するようにすると、キー
ワードの数が多い話題(情報)だと、大きなスコアを持
つ可能性が高くなり、キーワードの数が少ない話題だと
関連度が低いスコアしか持たない可能性が高くなる。そ
こで、総和を算出する際、関連度を計算するときに用い
られたキーワードの組み合わせの個数(図21に示した
例では72)で除算するなどして、正規化するようにし
ても良い。
【0126】話題Aから話題Bへと遷移する場合の、各
キーワード間の関連度を関連度abとし、話題Bから話
題Aへと遷移する場合の、各キーワード間の関連度を関
連度baとしたとき、関連度abと関連度baが同じス
コア値をとる時は、図21に示したように、図中左下半
分(或いは右上半分)を用いるようにする。しかし、話
題の遷移に方向性を持たせると設定した場合、テーブル
の全面を使用する必要がる。しかしながら、テーブルの
一部分を用いる場合でも、テーブルの全面を用いる場合
でも、同じアルゴリズムにより処理できる。
【0127】図21に示したようなテーブルを作成し、
総和を算出する場合、単に総和を算出するのではなく、
現在話している話題の流れを考慮し、キーワードに重み
付けをして総和を算出するようにしても良い。例えば、
現在、話している話題が、”バスの事故が起きたこと”
であるとする。その内容に含まれるキーワードとして、
「バス」、「事故」があるわけだが、それらのキーワー
ドに重み付けをすることにより、それらのキーワードを
含むようなテーブルの総和が高くなる。例えば、重み付
けを2と設定すると、図21のテーブルにおいて、「バ
ス」と「飛行機」の関連度は0.5であるが、重み付け
を行うことにより、2倍の1.0となる。
【0128】このように重み付けを行うことにより、遷
移する前の話題と遷移した後の話題との内容が、関連性
のあるものとなり、話題遷移を伴う会話の自然性を増す
ことができる。なお、重み付けしたものをテーブルとし
て用いても良い(テーブルを書き換えるようにしても良
い)し、テーブルは書き換えずに、関連度の総和を計算
する際に重み付けを行うようにしても良い。
【0129】図20のフローチャートの説明に戻り、ス
テップS12において、上述したように、現在の話題と
別の話題との関連度が計算されると、ステップS13に
おいて、関連度が最も高い話題、換言すれば、総和値が
一番高いテーブルの情報を選択し、その選択した話題を
遷移先の話題として設定する。そして、ステップS14
において、設定された話題に遷移し、新たな会話が開始
される。
【0130】ステップS15において、以前の話題遷移
の評価と、その評価に従って、関連度のテーブルの更新
が行われる。このようなステップを設けるのは、同じ話
題でも、ユーザにより感じ方が異なるため、自然な会話
を行うためには、ユーザ毎に適したテーブルが作成され
る必要があるからである。例えば、「事故」というキー
ワードに対して、ユーザAは「列車事故」を思い出し、
ユーザBは「飛行機事故」を思い出し、ユーザCは「交
通事故」を思い出すというように、ユーザにより異な
る。また、ユーザAが札幌に旅行に行く計画をたて、実
際にその計画に従って旅行に出かけた場合、「札幌」と
いうキーワードに対して、同じユーザAであっても、旅
行に行く前と後とでは、思い出すこと、会話の内容の進
め方が異なってくる。
【0131】即ち、同一の話題であっても、全ユーザに
対して共通の感じ方をするわけではなく、また、同一ユ
ーザにおいても、時間や、その時の状況により感じ方は
変化するので、テーブルの関連度は動的に変化させるよ
うにした方が、より自然に、かつ、ユーザにとって楽し
い会話を提供することができる。そこで、ステップS1
5の処理を設ける。図22は、ステップS15の処理の
詳細を説明するフローチャートである。
【0132】ステップS21において、話題の遷移は妥
当であったか否かが判断される。この判断は、ステップ
S14において遷移した話題(話題Tとする)を基準と
した場合、その前の話題T-1と、さらに前の話題T-2の間
で判断される。この判断は、例えば、ロボット1側で、
話題T-2に関して記憶していた情報を、どの程度ユーザ
に伝えたか、例えば、話題T-2に関するキーワードが1
0個であった場合、その10個のキーワードの内、何個
のキーワードを、ユーザに伝えた時点で話題T-1に遷移
したかを調査することにより判断することができる。
【0133】また、キーワードを多く伝えられたと判断
される場合は、会話時間が長かったということになる。
そこで、話題T-2についての会話が、長時間続いた後に
話題T-1に遷移したか否かを判断することにより遷移が
妥当であったか否かを判断することもできる。このよう
な判断は、ユーザが話題T-2に関して、好意的であった
か否かを判断していることになる。
【0134】このような判断の方法を用い、ステップS
21において、話題遷移が妥当であったと判断された場
合、ステップS22に進み、話題T-1と話題T-2との間の
キーワード対を全て作成し、ステップS23において、
その対の部分のスコア値が大きくなるように関連度テー
ブルを更新する。このように、関連度テーブルを更新す
ることにより、次から類似の組み合わせでの遷移が起こ
りやすくなる。
【0135】なお、ステップS21において、話題遷移
は妥当ではなかったと判断された場合、関連度テーブル
の更新処理は行われない。これは、妥当ではないと判断
された話題遷移に関する情報を用いないようにするため
である。
【0136】このように、話題を遷移するために、会話
中話題メモリ77に記憶されている情報と、話題メモリ
76に記憶されている全ての話題の情報との関連度を計
算し、その総和を比べることにより、遷移先の話題を決
定するのは、計算コストが高くなってしまう。そこで、
話題メモリ76に記憶されている全ての情報について総
和を計算してから、遷移先の話題を決定するのではな
く、遷移先の対象となる話題を選択しながら、話題の遷
移を行うようにすることにより、計算コストを低く抑え
るようにする。そのような場合の会話処理部38の動作
について、図23のフローチャートを参照して説明す
る。
【0137】ステップS31において、話題管理部74
は、既に上述したような方法により、話題の遷移を起こ
すか否かを判断し、話題の遷移を起こすと判断した場
合、ステップS32に進む。ステップS32において、
話題メモリ76から1つの話題の情報を選択する。その
選択された情報と、会話中話題メモリ77に記憶されて
いる情報との関連度を、ステップS33において計算す
る。ステップS33において行われる関連度の計算、お
よび総和は、図20のフローチャートを参照して説明し
た場合と同様に行われる。
【0138】ステップS34において、ステップS33
において計算された総和値が、閾値を越えたか否かが判
断される。ステップS33において、総和値が閾値を越
えてはいないと判断された場合、ステップS32に戻
り、新たな話題に関する情報が話題メモリ76から読み
出され、その情報に対して処理が行われる。
【0139】一方、ステップS34において、総和値が
閾値を越えたと判断された場合、ステップS35に進
み、最近話した話題であるか否かが判断される。例え
ば、ステップS32における処理で、話題メモリ76か
ら読み出された話題の情報が、現在話している話題の前
の話題であったという場合が想定される。同じ話題が繰
り返されるというのは不自然であり、会話を不愉快なも
のにしてしまう原因となるので、そのような事を防ぐた
めに、ステップS35における処理を設ける。
【0140】ステップS35の処理は、会話履歴メモリ
75(図5)を調査することにより行われる。会話履歴
メモリ75内の情報を調査することにより、最近話した
話題ではないと判断された場合、ステップS36に進
み、最近話した話題であると判断された場合、ステップ
S32に戻り、それ以降の処理が繰り返される。ステッ
プS36において、選択された話題に遷移される。
【0141】図24にロボット1とユーザとの間で交わ
される会話の一例を示す。時刻t1において、ロボット
1が、話題メモリ76に記憶されている情報のなかで、
事項(図19)という項目が”バスの事故”というのを
選択し、会話を始める。まず、ロボット1が、”札幌で
バスの事故がありましたね。”と発話し、それに対して
ユーザが、時刻t2において、”いつ?”と質問する。
ロボット1は、その質問に対し、時刻t3において、”
12月10日”と答え、ユーザは、その答えを受けて、
時刻t4において、”けがをした人はいたの?”と新た
な質問をする。
【0142】ロボット1は、時刻t5において”10人
です”と返答する。ユーザは、時刻t6において、”ふ
ーん”と相づちを打つ。このような会話が交わされてい
る間、上述したような処理が繰り返し行われている。そ
して、ロボット1が、時刻t 7において、話題の遷移を
起こすと判断し、新たな話題として、事項という項目
が”飛行機事故”という話題を選択する。これは、上述
したように、遷移する前と後とでの話題には、”事
故”、”2月”、”10日”、”けが”といったキーワ
ードが一致し、関連度が高いと判断されるからである。
【0143】ロボット1は、話題の遷移を起こした結
果、時刻t7において、”同じ日に、飛行機事故もあっ
たんですよね”と発話する。それに対し、ユーザは、時
刻t8において、”インドのやつ?”と興味を持ち、確
認するような発話をする。そこで、ロボット1は、さら
に会話を続けるために、ユーザの質問に対し、時刻t9
において、”そうです、原因がわからない事故です”と
肯定し、さらに、原因不明である事実を、ユーザに提供
する。ユーザは、時刻t10におて、”どれくらいけがし
たの?”と質問し、ロボット1が、時刻t11におい
て、”100人です”と返答する。
【0144】このように、上述した方法により話題を遷
移させることにより、自然な会話を成立させる事が可能
となる。
【0145】なお、図24に示した会話例において、ユ
ーザが、時刻t8において、”ちょっと待ってよ。バス
の事故の原因はなんだったの?”といったような、話題
の遷移を受け入れず、遷移前の話題に戻るような明示的
な発話がなされたり、または、遷移した話題に対しての
応答に時間が空いたような場合、遷移した話題がユーザ
に受け入れられなかったと判断し、遷移する前の話題に
戻り、会話を続ける。
【0146】上述して説明(全ての話題に関するテーブ
ルを作成し、その中で総和値が最も高いのを遷移先の話
題として選択する場合の説明)では、話題を遷移させる
とき、話題メモリ76に、遷移させるのに適した話題の
情報がある、換言すれば、関連度が低い情報でも、他の
情報に比べて高ければ、遷移先の話題として選択される
ので、場合によっては、自然な会話の流れではなくなる
(全く異なる話題に遷移される)時が想定される。
【0147】そのような事を防ぐため、例えば、関連度
(総和値)が所定値以下の話題しか、選択できないよう
な状況の場合、または、上述した説明で、1つの話題を
選択し、その話題の総和値が閾値以上であれば、その話
題を遷移先の話題とする方法において、閾値以上の話題
が見つからなかったような場合、”ところで”、”そう
いえば”などの言葉を発話し、全く異なる話題をユーザ
に提供するようにしても良い。
【0148】また、上述した説明では、ロボット1が話
題を遷移する場合を説明したが、ユーザが話題を遷移す
る場合も想定される。図25のフローチャートを参照し
て、ユーザが話題を遷移させた場合に対応した処理を行
うために会話処理部38が行う動作について説明する。
ステップS41において、ロボット1の話題管理部74
は、ユーザが発話した話題が、現在会話している話題
(会話中話題メモリ77に記憶されている話題)と関連
しているか否かを判断する。この判断は、上述したロボ
ット1が自発的に話題を遷移させる際に用いた、話題間
(キーワード)間の関連度の計算の方法と同様の方法を
用いて行う事が可能である。
【0149】すなわち、ユーザの単発の発話から取り出
されたキーワード群と、現在話されている話題のキーワ
ードとの関連度を計算し、所定の閾値の条件を満たすな
ら、関連性があると判断する。例えば、ユーザが、”そ
ういえば、札幌で雪祭りがあるんだよね”と発話したと
する。その発話からキーワードを抽出した場合、「札
幌」、「雪祭り」などがある。これらのキーワードと、
現在話している話題のキーワード群とを用いて、話題間
の関連度の計算を行い、その計算結果により関連性があ
るか否かを判断する。
【0150】ステップS41において、現在の話題と関
連していると判断された場合、ユーザの話題遷移に追従
する処理を行う必要はないので、フローチャートの処理
は終了される。一方、ステップS41において、現在話
している話題と関連していないと判断された場合、ステ
ップS42に進む。ステップS42において、話題の遷
移を許容するか否かが判断される。
【0151】話題の遷移を許容するか否かの判断は、例
えば、ロボット1側が、現在話している話題に対して、
まだ話す情報がある場合は許容しないなどの規則を設け
ることにより行われる。また、上述したロボット1側か
ら話題を遷移する場合の処理と、同様に行うようにして
も良い。すなわち、ロボット1側で、話題を遷移するタ
イミングではないと判断される場合は、話題の遷移を許
容しないようにする。しかしながら、このように設定し
てしまうと、話題の遷移の決定は、ロボット1側のみし
か行えないことになるので、ロボット1側から話題を遷
移する場合に対して、ユーザ側から話題を遷移する場合
は、遷移しやすいように、確率値を設定するなどの処理
が必要である。
【0152】ステップS42において、話題の遷移を許
容しないと判断された場合、話題を遷移しないので、こ
のフローチャートの処理は終了される。一方、ステップ
S42において、話題の遷移を許容すると判断された場
合、ユーザが話している話題を認識する必要があるの
で、ステップS43において、ユーザが話している話題
を話題メモリ76から検索する。
【0153】話題メモリ76から、ユーザが話している
話題を検索する方法としては、ステップS41において
行った方法と同じように、ユーザの発話から抽出された
キーワードと話題メモリ76に記憶されている全ての話
題(情報)のキーワード群との関連度(の総和)を計算
することにより、その計算結果が最も大きい値の情報
を、まずユーザが話している話題の候補とし、その候補
の計算結果が所定値以上であれば、その情報をユーザが
話している話題であるとして決定する。このような方法
は、ユーザが話している話題と一致する確率が高く、信
頼性があるが、計算コストが高くなる。
【0154】そこで、話題メモリ76から、1つの情報
を選択し、その情報のキーワード群との関連度を計算
し、その計算結果が所定値以上であれば、その話題をユ
ーザが話している話題として決定する。このような処理
を所定値以上である情報が検出されるまで繰り返し行う
ことにより、ユーザが遷移したであろう話題を検索す
る。
【0155】このような検索処理が行われることによ
り、ユーザが話している話題であると推定される話題が
検索されたか否かが、ステップS44において行われ
る。ステップS44において、話題が検索されたと判断
された場合、ステップS45に進み、その検索された話
題(情報)を会話中話題メモリ77に移すことにより、
話題を遷移したこととする。
【0156】一方、ステップS44において、話題が検
索されなかったと判断された場合、換言すれば、関連度
の総和値が所定値を越えた情報がなかったと判断された
場合、ステップS46に進む。ステップS46の処理に
来るということは、ロボット1が知り得ている情報以外
の情報を、ユーザが話していると言うことなので、ロボ
ット1にとっては未知の話題に遷移したとして、会話中
話題メモリ77内の情報をクリアする。
【0157】未知の話題に遷移した場合、ロボット1
は、ユーザに対して質問をするなどして会話を続ける。
また、会話を交わすなかで、会話中話題メモリ77に話
題に関する情報を記憶していく。ロボット1は、このよ
うして新しい話題が入力された場合、上述した関連度の
テーブルを更新する。図26のフローチャートを参照し
て、新しく入力された話題によりテーブルが更新される
際の処理について説明する。ステップS51において、
新しい話題が入力される。新しい話題が入力される状況
としては、このように、ユーザがロボット1が取得して
いない情報の話題を話す場合と、ネットワークなどを介
して情報nをダウンロードした場合などが想定される。
【0158】新しい話題が入力されると、ステップS5
2において、その入力された話題からキーワードが抽出
される。そして、ステップS53において、抽出された
キーワードの対が全て生成される。その結果を受けてス
テップS54において、キーワード間の関連度テーブル
が更新される。ステップS54の処理は、図21に示し
たフローチャートのステップS23の処理と同様なの
で、その説明は省略する。
【0159】このように、話題の遷移は、ロボット1側
から起こす場合と、ユーザ側から起こす場合とが、実際
の会話のなかでは混在している。そこで、会話処理部3
8が行う話題の遷移に関する大筋の流れとしては、図2
6のフローチャートに従う。すなわち、ステップS61
において、ユーザ側の話題遷移への追従処理が行われ
る。この処理は、図25のフローチャートの処理のこと
である。
【0160】ステップS61の処理の結果、ステップS
62において、ユーザが話題を遷移させたか否かが判断
される。すなわち、図25のフローチャートにおいて、
ステップS41において、現在の話題と関連していると
判断された場合、ステップS62では、話題を遷移させ
てはいないと判断され、ステップS41において、現在
の話題と関連していないと判断され、それ以降の処理が
された場合、ステップS62では、話題を遷移させたと
して判断される。
【0161】ステップS62において、話題は遷移され
ていないと判断された場合、ステップS63に進み、ロ
ボット1側の自発的な話題遷移が行われる。この処理
は、図20または図23のフローチャートの処理のこと
である。
【0162】このように、ユーザの話題遷移をロボット
1の話題遷移よりも優先することは、ユーザ側に会話の
主導権を与えていることになる。ステップS61とステ
ップS63の処理を入れ替えた場合、ロボット1側に会
話の主導権を与えていることになる。このようなことを
利用し、例えば、ユーザの接し方により、ロボット1が
わがままに育ってしまった場合、ロボット1が会話の主
導権を握るように設定され、ロボット1にしつけが行き
届いている場合、ユーザが会話の主導権を握るように設
定されるようにしても良い。
【0163】上述した説明においては、属性として情報
に含まれるキーワードを用いる場合を説明したが、属性
として、図28に示すように、分類、場所、時間などを
用いるようにしても良い。このような属性を用いた場
合、図28に示した例では、1つの情報に、1つ又は2
つの値しか持たない時が多い。このような場合において
も、キーワードの場合と同じように処理することが可能
である。例えば、属性として分類の場合、基本的に1つ
の値しか持たないが、キーワードのように複数の値を持
つ場合の特殊な例として扱うことが可能なため、上述し
たキーワードの場合と同様に扱うこと(テーブルを作成
すること)が可能である。
【0164】属性は、例えば、キーワードと分類という
ように複数併用するようにしても良い。複数の属性を併
用する場合、それぞれの属性において、関連度の計算を
し、重み付け線形和をとって最終的な判断結果として用
いるようにする。
【0165】自然な会話を行うために、また、自然な話
題遷移を行うために、話題メモリ76には、ユーザの趣
向(プロファイル)にあった話題(情報)が記憶されて
いることは上述した。また、そのプロファイルは、ロボ
ット1とユーザとの会話のなかで取得する、または、ロ
ボット1がコンピュータと接続され、そのコンピュータ
を用いてユーザがロボット1に入力するなどされるとい
うことも上述した。ここでは、ユーザとの会話により、
ロボット1が、そのユーザのプロファイルを作成する場
合を、具体例を挙げて説明する。
【0166】図29に示すように、時刻t1において、
ロボット1が、”昨日、何かおもしろいことがあった
?”とユーザに対して質問する。この質問に対して、ユ
ーザが時刻t2において、”タイトルAという映画を見
たよ”と返答する。この返答から、ユーザのプロファイ
ルに「タイトルA」という情報が追加される。さらに、
時刻t3において、ロボット1が”おもしろかった?”
と質問すると、ユーザは、時刻t4において、”おもし
ろかったよ。特に、B役で出ていた俳優Cさんが良い演
技をしていたよ”と返答する。この返答から、「俳優
C」という情報がプロファイルに追加される。
【0167】このようにして、ロボット1は、会話の中
からユーザの趣向を取得していく。なお、趣向を取得す
るという目的から、図29に示した会話例において、ユ
ーザが時刻t4において、”おもしろくなかった”と返
答した場合、「タイトルA」をプロファイルに追加しな
いようにしても良い。
【0168】数日後、このようなプロファイルに従い、
サーバ101からロボット1に、例えば、”俳優C主演
の最新作「タイトルB」、明日公開、新宿では○○館で
上映”という情報がダウンロードされたとする。ロボッ
ト1は、その情報から、ユーザに対して、時刻t1’に
おいて、”俳優Cさんが主演している新しい映画が公開
されるよ”と話かける。ユーザは、数日前に、俳優Cさ
んの演技をほめていることから、その話題に興味を持
ち、時刻t2’において、”いつから?”と質問する。
ロボット1は、既にいつ公開されるのかの情報を取得し
ている。また、既にユーザの最寄り駅の情報(プロファ
イル)から、最寄りの映画館の情報も取得することが可
能であり、この例では、既に取得している。
【0169】ロボット1は、時刻t3’において、ユー
ザの質問に対し、取得している情報を基に、”明日から
です。新宿だと、○○館で上映しますよ”と返答する。
ユーザは、その情報を得て、時刻t4’において、”見
たいなー”と発話する。
【0170】このようにして、ユーザのプロファイルに
基づく情報を、会話という方法で伝えることにより、自
然な宣伝を行うことが可能となる。すなわち、上述した
会話例では、”タイトルB”という映画の宣伝を行えた
ことになる。
【0171】なお、サーバ101に記憶されたプロファ
イル、または、ユーザが自発的に提供したプロファイル
を用いて、広告代理店などは、ユーザに対して自社の製
品宣伝などのダイレクトメールを送付できるようにして
も良い。
【0172】上述した実施の形態のにおいては、ユーザ
と音声により会話を行う場合を説明したが、文字により
会話を行う場合にも、本発明は適用できる。
【0173】上述した一連の処理は、ハードウェアによ
り実行させることもできるが、ソフトウェアにより実行
させることもできる。一連の処理をソフトウェアにより
実行させる場合には、そのソフトウェアを構成するプロ
グラムが専用のハードウェアに組み込まれているコンピ
ュータ、または、各種のプログラムをインストールする
ことで、各種の機能を実行することが可能な、例えば汎
用のパーソナルコンピュータなどに、記録媒体からイン
ストールされる。
【0174】この記録媒体は、図30に示すように、コ
ンピュータとは別に、ユーザにプログラムを提供するた
めに配布される、プログラムが記録されている磁気ディ
スク211(フロッピディスクを含む)、光ディスク2
12(CD-ROM(Compact Disk-Read Only Memory),DVD
(Digital Versatile Disk)を含む)、光磁気ディスク
213(MD(Mini-Disk)を含む)、若しくは半導体メ
モリ214などよりなるパッケージメディアにより構成
されるだけでなく、コンピュータに予め組み込まれた状
態でユーザに提供される、プログラムが記憶されている
ROM202や記憶部208が含まれるハードディスクな
どで構成される。
【0175】なお、本明細書において、媒体により提供
されるプログラムを記述するステップは、記載された順
序に従って、時系列的に行われる処理は勿論、必ずしも
時系列的に処理されなくとも、並列的あるいは個別に実
行される処理をも含むものである。
【0176】また、本明細書において、システムとは、
複数の装置により構成される装置全体を表すものであ
る。
【0177】
【発明の効果】以上の如く請求項1に記載の会話処理装
置、請求項6に記載の会話処理方法、および請求項7に
記載の記録媒体によれば、ユーザと会話する話題に関す
る情報を記憶し、ユーザのプライベートな情報を、ユー
ザとの会話のなかから取得し、ユーザの発話を認識し、
記憶されている情報、または、認識結果のうち、少なく
とも一方を用いて、ユーザと会話するための応答文を生
成するようにしたので、ユーザに自然で、楽しい会話を
提供することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用したロボットの一実施の形態の外
観構成例を示す斜視図である。
【図2】図1のロボットの内部構成例を示すブロック図
である。
【図3】図2のコントローラ10の機能的構成例を示す
ブロック図である。
【図4】音声認識部31Aの内部構成を示すブロック図
である。
【図5】会話処理部38の内部構成を示すブロック図で
ある。
【図6】音声合成部36の内部構成を示すブロック図で
ある。
【図7】情報nをダウンロードする際のシステム構成を
示すブロック図である。
【図8】図7のシステムの詳細な構成を示す図である。
【図9】図7のシステムの詳細な他の構成を示す図であ
る。
【図10】話題遷移のタイミングについて説明する図で
ある。
【図11】話題遷移のタイミングについて説明する図で
ある。
【図12】話題遷移のタイミングについて説明する図で
ある。
【図13】話題遷移のタイミングについて説明する図で
ある。
【図14】話題遷移のタイミングを説明するフローチャ
ートである。
【図15】話題遷移のタイミングを決定する平均値と確
率値との関係を示す図である。
【図16】発話パターンを説明する図である。
【図17】話題遷移のタイミングを決定する会話が途絶
えた時間と確率値との関係を示す図である。
【図18】話題メモリ76に記憶された情報について説
明する図である。
【図19】属性がキーワードである場合について説明す
る図である。
【図20】話題遷移について説明するフローチャートで
ある。
【図21】テーブルについて説明する図である。
【図22】図20のフローチャートのステップS15の
処理の詳細を示すフローチャートである。
【図23】話題遷移について説明する他のフローチャー
トである。
【図24】ロボット1とユーザの間で交わされる会話の
一例を説明する図である。
【図25】ユーザ側が話題遷移した場合のロボット1の
動作について説明するフローチャートである。
【図26】関連度テーブルの更新について説明するフロ
ーチャートである。
【図27】会話処理部38の動作について説明するフロ
ーチャートである。
【図28】属性について説明する図である。
【図29】ロボット1とユーザの間で交わされる会話の
一例を説明する図である。
【図30】媒体を説明する図である。
【符号の説明】
10 コントローラ, 10A CPU, 10B メモ
リ, 15 マイク,16 CCD, 17 タッチセン
サ, 18 スピーカ, 19 通信部,31 センサ
入力処理部, 31A 音声認識部, 31B 画像認
識部, 31C 圧力処理部, 32 感情/本能モデ
ル部, 33 行動決定機構部,34 姿勢遷移機構
部, 35 制御機構部, 36 音声合成部, 37
音響処理部, 38 会話処理部, 74 話題管理
部, 75 会話履歴メモリ, 76 話題メモリ,
77 会話中話題メモリ, 101 サーバ, 103
通信装置, 110 話題データベース, 111
プロファイルメモリ,112 フィルタ、 141 ロ
ボット用フレーム, 142 ユーザ用フレーム
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G10L 15/00 G10L 3/00 551H 9A001 15/22 571U Fターム(参考) 2C150 BA06 BA11 CA01 CA02 DA05 DA24 DA26 DA27 DA28 DF03 DF04 DF06 DF33 ED42 ED52 EF16 EF23 EF29 EF33 EF36 3F060 AA00 BA10 CA14 5B091 AA15 CA14 CA21 CB12 CB32 CC01 CD01 CD03 EA02 5D015 AA05 KK02 LL10 5D045 AB11 9A001 HH13 HH17 HH18 HH19 HH34 KK62

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 ユーザと会話を行う会話処理装置におい
    て、 前記ユーザと会話する話題に関する情報を記憶する記憶
    手段と、 前記ユーザのプライベートな情報を、前記ユーザとの会
    話のなかから取得する取得手段と、 前記ユーザの発話を認識する認識手段と、 前記記憶手段により記憶されている前記情報、または、
    前記認識手段による認識結果のうち、少なくとも一方を
    用いて、ユーザと会話するための応答文を生成する生成
    手段とを含むことを特徴とする会話処理装置。
  2. 【請求項2】 他の装置と通信する通信手段をさらに含
    み、 前記記憶手段は、前記他の装置が、前記取得手段により
    取得された前記ユーザのプライベートな情報を基に選択
    した前記話題に関する情報を記憶することを特徴とする
    請求項1に記載の会話処理装置。
  3. 【請求項3】 前記記憶手段は、他の装置から送信され
    た前記話題に関する情報の中から、前記取得手段により
    取得された前記ユーザのプライベートな情報を基に、所
    定の情報を選択し、記憶することを特徴とする請求項1
    に記載の会話処理装置。
  4. 【請求項4】 前記会話は、音声または文字により行わ
    れることを特徴とする請求項1に記載の会話処理装置。
  5. 【請求項5】 ロボットに内蔵されることを特徴とする
    請求項1に記載の会話処理装置。
  6. 【請求項6】 ユーザと会話を行う会話処理装置の会話
    処理方法において、 前記ユーザと会話する話題に関する情報の記憶を制御す
    る記憶制御ステップと、 前記ユーザのプライベートな情報を、前記ユーザとの会
    話のなかから取得する取得ステップと、 前記ユーザの発話を認識する認識ステップと、 前記記憶制御ステップの処理で記憶された前記情報、ま
    たは、前記認識ステップの処理で認識結果のうち、少な
    くとも一方を用いて、ユーザと会話するための応答文を
    生成する生成ステップとを含むことを特徴とする会話処
    理方法。
  7. 【請求項7】 ユーザと会話を行う会話処理用のプログ
    ラムであって、 前記ユーザと会話する話題に関する情報の記憶を制御す
    る記憶制御ステップと、 前記ユーザのプライベートな情報を、前記ユーザとの会
    話のなかから取得する取得ステップと、 前記ユーザの発話を認識する認識ステップと、 前記記憶制御ステップの処理で記憶された前記情報、ま
    たは、前記認識ステップの処理で認識結果のうち、少な
    くとも一方を用いて、ユーザと会話するための応答文を
    生成する生成ステップとを含むことを特徴とするコンピ
    ュータが読み取り可能なプログラムが記録されている記
    録媒体。
JP37577099A 1999-12-28 1999-12-28 会話処理装置および方法、並びに記録媒体 Withdrawn JP2001188787A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37577099A JP2001188787A (ja) 1999-12-28 1999-12-28 会話処理装置および方法、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37577099A JP2001188787A (ja) 1999-12-28 1999-12-28 会話処理装置および方法、並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2001188787A true JP2001188787A (ja) 2001-07-10

Family

ID=18506036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37577099A Withdrawn JP2001188787A (ja) 1999-12-28 1999-12-28 会話処理装置および方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP2001188787A (ja)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001269489A (ja) * 2000-03-09 2001-10-02 Muun Howan Suu データダウンロード可能な音声認識玩具装置
JP2001334074A (ja) * 2000-02-21 2001-12-04 Muun Howan Suu データダウンロード可能な玩具装置
JP2002169804A (ja) * 2000-12-01 2002-06-14 Namco Ltd 模擬会話システム、模擬会話方法、および情報記憶媒体
JP2003050559A (ja) * 2001-08-07 2003-02-21 Honda Motor Co Ltd 自律移動ロボット
JP2003108376A (ja) * 2001-10-01 2003-04-11 Denso Corp 応答メッセージ生成装置、及び端末装置
WO2003039818A2 (fr) * 2001-11-07 2003-05-15 Sony Corporation Systeme de robot et technique de commande de dispositif robotise
JP2003140688A (ja) * 2001-11-07 2003-05-16 Matsushita Electric Ind Co Ltd 情報配信システムおよび情報配信方法
JP2003255991A (ja) * 2002-03-06 2003-09-10 Sony Corp 対話制御システム、対話制御方法及びロボット装置
WO2004051499A1 (ja) * 2002-12-02 2004-06-17 Sony Corporation 対話制御装置及び方法並びにロボット装置
JP2004302328A (ja) * 2003-04-01 2004-10-28 Sony Corp ロボット制御装置および方法、記録媒体、並びにプログラム
JP2006023952A (ja) * 2004-07-07 2006-01-26 Sony Corp ロボット装置及びそのコンテンツ管理方法
JP2006510104A (ja) * 2002-12-16 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ロボティック・ウェブブラウザ
JP2006106761A (ja) * 2004-10-08 2006-04-20 Samsung Electronics Co Ltd 多段階音声認識装置及び多段階音声認識方法
JP2010197858A (ja) * 2009-02-26 2010-09-09 Gifu Univ 音声対話システム
JP2015148712A (ja) * 2014-02-06 2015-08-20 トヨタ自動車株式会社 音声対話装置、音声対話システム及びプログラム
JP2016024328A (ja) * 2014-07-18 2016-02-08 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2016062550A (ja) * 2014-09-22 2016-04-25 ソフトバンク株式会社 会話処理システム及びプログラム
JP2017010517A (ja) * 2015-06-25 2017-01-12 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 人工知能によるヒューマン・マシン間の知能チャットの方法および装置
JP2017049427A (ja) * 2015-09-01 2017-03-09 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
JP6165302B1 (ja) * 2016-07-19 2017-07-19 株式会社ウィンクル 画像表示装置、話題選択方法、話題選択プログラム
WO2018016095A1 (ja) * 2016-07-19 2018-01-25 Gatebox株式会社 画像表示装置、話題選択方法、話題選択プログラム、画像表示方法及び画像表示プログラム
JP2018173456A (ja) * 2017-03-31 2018-11-08 国立大学法人大阪大学 対話ロボットおよびロボット制御プログラム
JP2019101933A (ja) * 2017-12-06 2019-06-24 トヨタ自動車株式会社 情報処理装置
US10665229B2 (en) 2015-06-12 2020-05-26 Sony Corporation Information processing device, information processing method, and program
JP2020091655A (ja) * 2018-12-05 2020-06-11 富士通株式会社 対話制御プログラム、対話制御システム、及び対話制御方法
WO2021131739A1 (ja) * 2019-12-24 2021-07-01 ソニーグループ株式会社 情報処理システム、および情報処理方法、並びにプログラム
JP2021117581A (ja) * 2020-01-23 2021-08-10 株式会社ミクシィ 情報処理装置及びプログラム
CN113505205A (zh) * 2017-01-17 2021-10-15 华为技术有限公司 一种人机对话的系统和方法
US11604831B2 (en) 2018-06-08 2023-03-14 Ntt Docomo, Inc. Interactive device

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001334074A (ja) * 2000-02-21 2001-12-04 Muun Howan Suu データダウンロード可能な玩具装置
JP2001269489A (ja) * 2000-03-09 2001-10-02 Muun Howan Suu データダウンロード可能な音声認識玩具装置
JP2002169804A (ja) * 2000-12-01 2002-06-14 Namco Ltd 模擬会話システム、模擬会話方法、および情報記憶媒体
JP2003050559A (ja) * 2001-08-07 2003-02-21 Honda Motor Co Ltd 自律移動ロボット
JP4642287B2 (ja) * 2001-08-07 2011-03-02 本田技研工業株式会社 自律移動ロボット
JP2003108376A (ja) * 2001-10-01 2003-04-11 Denso Corp 応答メッセージ生成装置、及び端末装置
JP2003140688A (ja) * 2001-11-07 2003-05-16 Matsushita Electric Ind Co Ltd 情報配信システムおよび情報配信方法
WO2003039818A3 (fr) * 2001-11-07 2004-07-29 Sony Corp Systeme de robot et technique de commande de dispositif robotise
KR101008085B1 (ko) 2001-11-07 2011-01-13 소니 주식회사 로봇 시스템, 로봇 장치 및 그 제어 방법
WO2003039818A2 (fr) * 2001-11-07 2003-05-15 Sony Corporation Systeme de robot et technique de commande de dispositif robotise
US7139642B2 (en) 2001-11-07 2006-11-21 Sony Corporation Robot system and robot apparatus control method
JP2003255991A (ja) * 2002-03-06 2003-09-10 Sony Corp 対話制御システム、対話制御方法及びロボット装置
WO2004051499A1 (ja) * 2002-12-02 2004-06-17 Sony Corporation 対話制御装置及び方法並びにロボット装置
US7987091B2 (en) 2002-12-02 2011-07-26 Sony Corporation Dialog control device and method, and robot device
JP2006510104A (ja) * 2002-12-16 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ロボティック・ウェブブラウザ
JP2004302328A (ja) * 2003-04-01 2004-10-28 Sony Corp ロボット制御装置および方法、記録媒体、並びにプログラム
JP4534427B2 (ja) * 2003-04-01 2010-09-01 ソニー株式会社 ロボット制御装置および方法、記録媒体、並びにプログラム
JP4595407B2 (ja) * 2004-07-07 2010-12-08 ソニー株式会社 ロボット装置及びそのコンテンツ管理方法
JP2006023952A (ja) * 2004-07-07 2006-01-26 Sony Corp ロボット装置及びそのコンテンツ管理方法
JP2006106761A (ja) * 2004-10-08 2006-04-20 Samsung Electronics Co Ltd 多段階音声認識装置及び多段階音声認識方法
US8892425B2 (en) 2004-10-08 2014-11-18 Samsung Electronics Co., Ltd. Multi-layered speech recognition apparatus and method
JP2010197858A (ja) * 2009-02-26 2010-09-09 Gifu Univ 音声対話システム
JP2015148712A (ja) * 2014-02-06 2015-08-20 トヨタ自動車株式会社 音声対話装置、音声対話システム及びプログラム
JP2016024328A (ja) * 2014-07-18 2016-02-08 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2016062550A (ja) * 2014-09-22 2016-04-25 ソフトバンク株式会社 会話処理システム及びプログラム
US10665229B2 (en) 2015-06-12 2020-05-26 Sony Corporation Information processing device, information processing method, and program
JP2017010517A (ja) * 2015-06-25 2017-01-12 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 人工知能によるヒューマン・マシン間の知能チャットの方法および装置
JP2017049427A (ja) * 2015-09-01 2017-03-09 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
JP2018013894A (ja) * 2016-07-19 2018-01-25 Gatebox株式会社 画像表示装置、話題選択方法、話題選択プログラム
JP6165302B1 (ja) * 2016-07-19 2017-07-19 株式会社ウィンクル 画像表示装置、話題選択方法、話題選択プログラム
US10713006B2 (en) 2016-07-19 2020-07-14 Gatebox Inc. Image display apparatus, topic selection method, topic selection program, image display method, and image display program
WO2018016095A1 (ja) * 2016-07-19 2018-01-25 Gatebox株式会社 画像表示装置、話題選択方法、話題選択プログラム、画像表示方法及び画像表示プログラム
CN113505205A (zh) * 2017-01-17 2021-10-15 华为技术有限公司 一种人机对话的系统和方法
CN113505205B (zh) * 2017-01-17 2023-06-06 华为技术有限公司 一种人机对话的系统和方法
JP2018173456A (ja) * 2017-03-31 2018-11-08 国立大学法人大阪大学 対話ロボットおよびロボット制御プログラム
JP2019101933A (ja) * 2017-12-06 2019-06-24 トヨタ自動車株式会社 情報処理装置
US11604831B2 (en) 2018-06-08 2023-03-14 Ntt Docomo, Inc. Interactive device
JP7211050B2 (ja) 2018-12-05 2023-01-24 富士通株式会社 対話制御プログラム、対話制御システム、及び対話制御方法
JP2020091655A (ja) * 2018-12-05 2020-06-11 富士通株式会社 対話制御プログラム、対話制御システム、及び対話制御方法
WO2021131739A1 (ja) * 2019-12-24 2021-07-01 ソニーグループ株式会社 情報処理システム、および情報処理方法、並びにプログラム
JP2021117581A (ja) * 2020-01-23 2021-08-10 株式会社ミクシィ 情報処理装置及びプログラム
JP7453513B2 (ja) 2020-01-23 2024-03-21 株式会社Mixi 情報処理装置及びプログラム

Similar Documents

Publication Publication Date Title
JP2001188784A (ja) 会話処理装置および方法、並びに記録媒体
JP2001188787A (ja) 会話処理装置および方法、並びに記録媒体
US10074369B2 (en) Voice-based communications
US9484030B1 (en) Audio triggered commands
US10365887B1 (en) Generating commands based on location and wakeword
US11830485B2 (en) Multiple speech processing system with synthesized speech styles
US7228276B2 (en) Sound processing registering a word in a dictionary
US7065490B1 (en) Voice processing method based on the emotion and instinct states of a robot
JP2004090109A (ja) ロボット装置およびロボット装置の対話方法
JP2001188555A (ja) 情報処理装置および方法、並びに記録媒体
KR20180075050A (ko) 대화 처리 장치, 이를 포함하는 차량 및 대화 처리 방법
JP2001215993A (ja) 対話処理装置および対話処理方法、並びに記録媒体
US11302329B1 (en) Acoustic event detection
US11605387B1 (en) Assistant determination in a skill
US10143027B1 (en) Device selection for routing of communications
KR20190032557A (ko) 음성 기반 통신
JP2001188779A (ja) 情報処理装置および方法、並びに記録媒体
US11783824B1 (en) Cross-assistant command processing
JP2001188786A (ja) 会話処理装置および方法、並びに記録媒体
JP2001209644A (ja) 情報処理装置および情報処理方法、並びに記録媒体
JP2001188785A (ja) 会話処理装置および方法、並びに記録媒体
JP2001188782A (ja) 情報処理装置および方法、並びに記録媒体
Venkatagiri Speech recognition technology applications in communication disorders
JP2002268663A (ja) 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体
US11172527B2 (en) Routing of communications to a device

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070306