(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】対話装置、対話装置制御方法及びプログラム
(51)【国際特許分類】
G06F 40/56 20200101AFI20221109BHJP
G10L 13/00 20060101ALI20221109BHJP
G10L 15/00 20130101ALI20221109BHJP
G10L 15/22 20060101ALI20221109BHJP
G06F 3/16 20060101ALI20221109BHJP
G06F 3/01 20060101ALI20221109BHJP
【FI】
G06F40/56
G10L13/00 100A
G10L13/00 100M
G10L15/00 200H
G10L15/22 300Z
G06F3/16 690
G06F3/16 650
G06F3/01 510
G06F3/16 610
G06F3/16 620
(21)【出願番号】P 2018118154
(22)【出願日】2018-06-21
【審査請求日】2021-06-08
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】市川 英里奈
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2017-191531(JP,A)
【文献】特開2002-041084(JP,A)
【文献】特開2003-330487(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G10L 13/00
G10L 15/00
G10L 15/22
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析手段と、
前記構文解析手段による前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得手段と、
前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含む所定の条件に応じて、前記模範応答文取得手段が取得した模範応答文に含まれている各単語
のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可
と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可
と判定する単語使用可否判定手段と、
前記模範応答文取得手段が取得した模範応答文から、前記単語使用可否判定手段で使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成手段と、
前記応答文生成手段が生成した応答文を用いて前記ユーザに応答する応答手段と、
を備える対話装置。
【請求項2】
前記所定の条件は、前記模範応答文に含まれる単語が活用する単語であり、当該活用する単語の所定の活用形に所定の付属語を接続した形の単語群が前記模範応答文に含まれる場合、前記単語群と同じ単語群が前記構文解析された前記ユーザ発話文に含まれているか否かという条件を含み、
前記単語使用可否判定手段は、前記模範応答文に含まれる単語が活用する単語である場合、前記単語を含む前記単語群と同じ単語群が前記ユーザ発話文に含まれているなら前記模範応答文に含まれる各単語のうち、前記単語群に対応する単語を使用可と判定し、前記単語群が前記ユーザ発話文に含まれていないなら前記模範応答文に含まれる各単語のうち、前記単語群に対応する単語を使用不可と判定する、
請求項
1に記載の対話装置。
【請求項3】
さらに、前記ユーザ発話文に含まれる各単語がユーザによって入力された回数をカウントするカウント手段を備え、
前記所定の条件は、前記カウント手段がカウントした前記回数が所定の閾値以上であるか否かという条件をさらに含み、
前記単語使用可否判定手段は、前記カウント手段がカウントした前記回数が所定の閾値以上の単語と対応する単語を使用可と判定し、前記回数が前記閾値未満の単語と対応する単語を使用不可と判定する、
請求項
1又は
2に記載の対話装置。
【請求項4】
前記閾値は、互いに異なる複数の単語の各々に対して設定された複数の閾値からなる、
請求項
3に記載の対話装置。
【請求項5】
前記単語使用可否判定手段は、前記模範応答文中に、使用不可と判定された単語が存在する場合、前記使用不可と判定された単語を修飾する修飾元の単語と対応する単語がユーザ発話文に含まれていた場合であっても、当該修飾元の単語も使用不可と判定する、
請求項
1から
4のいずれか1項に記載の対話装置。
【請求項6】
さらに、音声を音声認識して前記ユーザ発話文を取得する音声入力手段を備え、
前記構文解析手段は、前記音声入力手段が音声認識して取得した前記ユーザ発話文を構文解析する、
請求項1から
5のいずれか1項に記載の対話装置。
【請求項7】
さらに、音声合成により音声を出力する音声出力手段を備え、
前記応答手段は、前記音声出力手段により前記応答文を音声で出力することによって前記ユーザに応答する、
請求項1から
6のいずれか1項に記載の対話装置。
【請求項8】
さらに、ユーザからの文字の入力を受け付ける文字入力手段を備え、
前記構文解析手段は、前記文字入力手段が受け付けた文字からなる文を前記ユーザ発話文として構文解析する、
請求項1から
7のいずれか1項に記載の対話装置。
【請求項9】
さらに、文字を表示する表示手段を備え、
前記応答手段は、前記表示手段に前記応答文を表示することによって前記ユーザに応答する、
請求項1から
8のいずれか1項に記載の対話装置。
【請求項10】
さらに、前記ユーザ発話文が理解できないことを示す動作を行う駆動手段を備え、
前記応答手段は、前記応答文生成手段が前記応答文を生成できない場合には、前記駆動手段による動作で前記ユーザに応答する、
請求項1から
9のいずれか1項に記載の対話装置。
【請求項11】
対話装置
の制御部が実行する対話装置制御方法であって、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析ステップと、
前記構文解析ステップによる前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得ステップと、
前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含む所定の条件に応じて、前記模範応答文取得ステップで取得された模範応答文に含まれている各単語
のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可
と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可
と判定する単語使用可否判定ステップと、
前記模範応答文取得ステップで取得された模範応答文から、前記単語使用可否判定ステップで使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成ステップと、
前記応答文生成ステップで生成された応答文を用いて応答する応答ステップと、
を含む対話装置制御方法。
【請求項12】
対話装置のコンピュータに、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析ステップ、
前記構文解析ステップによる前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得ステップ、
前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含む所定の条件に応じて、前記模範応答文取得ステップで取得された模範応答文に含まれている各単語
のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可
と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可
と判定する単語使用可否判定ステップ、
前記模範応答文取得ステップで取得された模範応答文から、前記単語使用可否判定ステップで使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成ステップ、及び、
前記応答文生成ステップで生成された応答文を用いて応答する応答ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話装置、対話装置制御方法及びプログラムに関する。
【背景技術】
【0002】
ユーザの発話に応答して、ユーザと対話する対話装置の開発が進められている。例えば、特許文献1には、内部状態の成長の度合いに応じて対話機能を成長させる脚式移動ロボットが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている脚式移動ロボットは、知性レベルが互いに異なる複数の応答文データを記憶しており、これらの複数の応答文データから、ロボットの成長度に見合った応答文データを選択し、選択した応答文データに基づいて応答を行う。これにより、ロボットの対話機能を、その成長度に応じて成長させるようにしている。
【0005】
しかし、このロボットは、上述したように、成長度に見合った複数の応答文データを記憶しておかなければならないため、応答文データの数が全体として膨大になり、応答文データを記憶するための記憶容量が増大してしまう。
【0006】
本発明は、上記問題を解決するためになされたものであり、応答文データの数を増やさずに、発話内容が成長しているようにユーザに感じさせることができる対話装置、対話装置制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の対話装置は、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析手段と、
前記構文解析手段による前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得手段と、
前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含む所定の条件に応じて、前記模範応答文取得手段が取得した模範応答文に含まれている各単語のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可と判定する単語使用可否判定手段と、
前記模範応答文取得手段が取得した模範応答文から、前記単語使用可否判定手段で使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成手段と、
前記応答文生成手段が生成した応答文を用いて前記ユーザに応答する応答手段と、
を備える。
また、本発明の対話装置制御方法は、
対話装置の制御部が実行する対話装置制御方法であって、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析ステップと、
前記構文解析ステップによる前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得ステップと、
前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含む所定の条件に応じて、前記模範応答文取得ステップで取得された模範応答文に含まれている各単語のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可と判定する単語使用可否判定ステップと、
前記模範応答文取得ステップで取得された模範応答文から、前記単語使用可否判定ステップで使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成ステップと、
前記応答文生成ステップで生成された応答文を用いて応答する応答ステップと、
を含む。
また、本発明のプログラムは、
対話装置のコンピュータに、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析ステップ、
前記構文解析ステップによる前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得ステップ、
前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含む所定の条件に応じて、前記模範応答文取得ステップで取得された模範応答文に含まれている各単語のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可と判定する単語使用可否判定ステップ、
前記模範応答文取得ステップで取得された模範応答文から、前記単語使用可否判定ステップで使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成ステップ、及び、
前記応答文生成ステップで生成された応答文を用いて応答する応答ステップ、
を実行させる。
【発明の効果】
【0008】
本発明によれば、応答文データの数を増やさずに、発話内容が成長しているようにユーザに感じさせることができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態1に係る対話装置の外観の一例を示す図である。
【
図2】実施形態1に係る対話装置の外観の別の例を示す図である。
【
図3】実施形態1に係る対話装置の機能構成を示す図である。
【
図4】実施形態1に係る対話装置の単語DBに記憶されているデータの一例を示す図である。
【
図5】実施形態1に係る対話装置の模範応答文DBに記憶されているデータの一例を示す図である。
【
図6】実施形態1に係る対話装置の対話処理のフローチャートである。
【
図7】実施形態1に係る対話装置の単語DB更新処理のフローチャートである。
【
図8】実施形態1に係る対話装置の応答文生成処理のフローチャートである。
【
図9】実施形態1に係る対話装置の複数単語応答文生成処理のフローチャートである。
【
図10】実施形態1に係る対話装置の複数単語応答文生成処理のステップS401の処理を説明する図である。
【
図11】実施形態1に係る対話装置の複数単語応答文生成処理において、係り受けの情報に基づいて既知情報を修正する処理を説明する図である。
【
図12】実施形態1に係る対話装置による応答文生成の一例を説明する図である。
【
図13】本発明の実施形態2に係る対話装置の単語DBに記憶されているデータの一例を示す図である。
【
図14】実施形態2に係る対話装置による応答文生成の一例を説明する図である。
【
図15】実施形態2に係る対話装置による応答文生成の別の例を説明する図である。
【
図16】本発明の実施形態3に係る対話装置の単語DBに記憶されているデータの一例を示す図である。
【
図17】実施形態3に係る対話装置の単語DB更新処理のフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態に係る対話装置について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0011】
(実施形態1)
本発明の実施形態に係る対話装置は、ユーザとの対話を繰り返していくうちに、使用可能な単語(名詞、動詞、形容詞等)が増えていき、あたかもユーザとの対話に応じて成長しているように見える対話装置である。
【0012】
実施形態1に係る対話装置100は、
図1に示すように、人間の子供を模した外観をしており、耳の位置に音声入力部31としてのマイクロホンを、口の位置に音声出力部32としてのスピーカを備える。なお、
図1はあくまでも対話装置100の外観の一例に過ぎない。対話装置100は、例えば、
図2に示すようにスマートスピーカ的な外観をしていてもよい。
図2においても、対話装置100は、外観上、音声入力部31としてのマイクロホンや、音声出力部32としてのスピーカを備える。
【0013】
図3に示すように、対話装置100は、機能構成として、制御部10、記憶部20、音声入力部31、音声出力部32、駆動部33、操作入力部34、通信部35、を備える。
【0014】
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(構文解析部11、模範応答文取得部12、単語使用可否判定部13、応答文生成部14、応答部15)の機能を実現する。
【0015】
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。記憶部20は、機能的に、単語DB(DataBase)21及び模範応答文DB22を含む。ROMには制御部10のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【0016】
単語DB21には、
図4に示すように、対話装置100の応答文に含まれる単語が、その単語の既知情報とともに記憶されている。既知情報とは、ユーザが対話装置100に入力した文中に応答文の単語と同じ単語が含まれていたかを示す情報である。これは、ユーザが対話装置100に1度でも入力した文に含まれている単語は、対話装置100にとって既知の単語として扱うためのものである。既知情報は、通常、全ての単語について、初期値「NO」で初期化されている。また、単語DB21が記憶する単語は基本的には、名詞、動詞、形容詞、形容動詞である。そして、単語DB21は、活用する単語については原則として原形(一般の辞書に記載されている形(活用する前の形)をここでは「原形」と呼ぶことにする。日本語文法における終止形である。)を記憶し、ユーザが対話装置100に1度でも入力した文に含まれている単語は、原形以外の形であっても、既知の単語として扱うこととする。また、名詞、動詞、形容動詞、形容動詞以外の単語(代名詞、副詞、連体詞、接続詞、感動詞、付属語(助詞、助動詞))については、ユーザが対話装置100に入力した文に1度も含まれていなくても、既知の単語として扱うこととする。
【0017】
模範応答文DB22は、
図5に示すように、ユーザが対話装置100に入力した文に含まれているキーワードに応じて、その文に対する模範的(定型的)な応答文が記憶されている。
【0018】
音声入力部31は、マイクロホンを備え、ユーザが対話装置100に発話した音声のデータ(音声データ)を取得する。制御部10は、記憶部20に記憶された音声認識プログラムを実行することにより、音声入力部31が取得した音声データを周知の手法により音声認識してユーザが発話した文(ユーザ発話文)を取得することができる。音声入力部31は音声認識プログラムとともに、音声入力手段として機能する。
【0019】
音声出力部32は、音声合成手段とスピーカを備え、制御部10から与えられた文を周知の手法により音声合成して、音声として出力(発話)することができる。音声出力部32は、音声出力手段として機能する。
【0020】
駆動部33は、モータ等を備え、首を傾げたり、顔の表情を変化させたりすることができる。駆動部33により、対話装置100は、ユーザによって入力された文が理解できないことを、首を傾げる仕草等の動作で示すことができる。駆動部33は駆動手段として機能する。
【0021】
操作入力部34は、スイッチやタッチパネル等を備え、ユーザによって入力される操作内容データ(対話装置100に対する制御コマンド等)を取得する。
【0022】
通信部35は、外部のネットワーク等と通信データを無線で通信するためのアンテナを含む無線モジュールである。例えば、通信部35は、無線LAN(Local Area Network)により、他のコンピュータと無線通信を行うための無線モジュールである。通信部35を用いることにより、対話装置100は、外部のサーバ等と様々な情報をやり取りすることができる。
【0023】
次に、対話装置100の制御部10の機能的構成について説明する。制御部10は、構文解析部11、模範応答文取得部12、単語使用可否判定部13、応答文生成部14、応答部15、の機能を実現し、ユーザの発話に対して応答する。
【0024】
構文解析部11は、音声入力部31が取得した音声データを制御部10が音声認識して取得したユーザの発話文であるユーザ発話文を、周知の手法により構文解析する。この構文解析により、制御部10は、ユーザ発話文に含まれている単語、文節や、係り受け等の情報を取得することができる。また、構文解析部11は、模範応答文取得部12が取得した模範応答文を構文解析して、該模範応答文に含まれている単語、文節や、係り受け等の情報を取得することができる。構文解析部11は、構文解析手段として機能する。
【0025】
模範応答文取得部12は、構文解析部11によって構文解析されたユーザ発話文に対する模範的な応答文である模範応答文を取得する。模範応答文DB22には、ユーザ発話文に含まれているキーワードに応じて、そのユーザ発話文に対する模範的な応答文が記憶されているため、模範応答文取得部12は、模範応答文DB22から模範応答文を取得することができる。具体的には、模範応答文取得部12は、模範応答文DB22のキーワードの項目に含まれている単語の中に、構文解析部11によって構文解析されたユーザ発話文に含まれている単語と同じ単語が存在するか否かを検索し、存在した場合は、模範応答文DB22からその単語をキーワードとする模範応答文を取得する。模範応答文取得部12は、模範応答文取得手段として機能する。
【0026】
単語使用可否判定部13は、模範応答文取得部12が取得した模範応答文に含まれている各単語について、ユーザへの応答文中に使用可か使用不可かを判定する。この判定は後述する応答文生成処理で行われるが、簡単には、単語使用可否判定部13は、単語DB21で既知情報が「YES」となっている単語は使用可と判定し、既知情報が「NO」となっている単語は使用不可と判定する。上述したように、単語DB21の既知情報の項目は、過去のユーザ発話文中に1度でも含まれている単語については「YES」になる。したがって、単語使用可否判定部13は、対話装置100が1度も認識したことがない単語を使用不可と判定し、1度でも認識したことがある単語は使用可と判定することになる。単語使用可否判定部13は、単語使用可否判定手段として機能する。
【0027】
応答文生成部14は、模範応答文取得部12が取得した模範応答文から、単語使用可否判定部13で使用不可と判定された単語を削除して、ユーザ発話文に対する応答文を生成する。応答文を生成する処理の詳細は後述する。応答文生成部14は、応答文生成手段として機能する。
【0028】
応答部15は、応答文生成部14が生成した応答文を、周知の手法により音声出力部32から音声で出力することによって、ユーザに応答する。応答部15は、応答手段として機能する。
【0029】
以上、対話装置100の機能構成について説明した。対話装置100は、ユーザが生活している環境の中(部屋等)に置かれており、ユーザが発話した発話文を構文解析して発話文中に用いられている単語を既知の単語として登録するとともに、ユーザの発話文に対し、既知の単語で構成された応答文で応答する。このための処理が次に説明する対話処理である。対話処理は、対話装置100の電源がオンになっている間は常に行われるようになっていてもよいし、操作入力部34等からの入力によりユーザの指示があった時に行われるようになっていてもよい。
【0030】
対話装置100で実行される対話処理について、
図6を参照して説明する。まず、制御部10は、対話処理を終了するか否かを判定する(ステップS101)。例えば、対話装置100の電源がオフにされたり、操作入力部34から対話処理の終了が指示されたりした場合には、制御部10は、対話処理を終了すると判定する。対話処理を終了すると判定したら(ステップS101;Yes)、処理を終了する。
【0031】
対話処理を終了しないと判定したら(ステップS101;No)、制御部10は、音声入力部31を介してユーザの発話した文(ユーザ発話文)を取得する(ステップS102)。そして、構文解析部11は、ユーザ発話文を構文解析して、ユーザ発話文に含まれている単語等を取得する(ステップS103)。ステップS103は構文解析ステップとも呼ばれる。
【0032】
次に、制御部10は、単語DB更新処理を行う(ステップS104)。単語DB更新処理は、単語DBの内容(特に既知情報)を、ユーザ発話文に含まれている単語に応じて更新する処理であり、処理の詳細は後述する。
【0033】
次に、模範応答文取得部12は、ユーザ発話文に含まれている単語に基づいて、模範応答文DB22から、ユーザ発話文に対する模範応答文を取得する(ステップS105)。ステップS105は、模範応答文取得ステップとも呼ばれる。そして、応答文生成部14は、応答文生成処理を行って、応答文を生成する(ステップS106)。応答文生成処理は、模範応答文取得部12が取得した模範応答文から、単語使用可否判定部13で使用不可と判定された単語を削除して、応答文生成部14がユーザ発話文に対する応答文を生成する処理だが、処理の詳細は後述する。
【0034】
そして、応答部15は、応答文生成部14が生成した応答文を音声出力部32により発話する(ステップS107)。ステップS107は応答ステップとも呼ばれる。そして、ステップS101に戻る。
【0035】
以上、対話処理について説明した。次に、対話処理(
図6)のステップS104で行われる単語DB更新処理について、
図7を参照して説明する。
【0036】
まず、制御部10は、単語DB21から、前記ステップS102で取得されたユーザ発話文に含まれる単語と同じ単語を検索する(ステップS201)。なお、ユーザ発話文は対話処理(
図6)のステップS103で構文解析されているため、制御部10は、ユーザ発話文中に含まれる単語をすべて把握することができる。この場合、単語DB21から検索される単語の数は、ユーザ発話文の内容に応じて単数であったり複数であったりする。
【0037】
次に、制御部10は、単語DB21に記憶されている各単語の既知情報を確認するために、単語DB21から、ステップS201で検索された単語と同じ単語を1つ読み出す(ステップS202)。そして、制御部10は、読み出したその単語の既知情報が「YES」であるか否かを判定する(ステップS203)。既知情報が「YES」なら(ステップS203;Yes)、ステップS205に進む。
【0038】
既知情報が「NO」なら(ステップS203;No)、単語DB21のその単語の既知情報を「YES」に変更して単語DB21を更新する(ステップS204)。そして、制御部10は、単語DB21から検索された単語を全て確認したか否かを判定する(ステップS205)。全て確認したなら(ステップS205;Yes)、単語DB更新処理を終了して、対話処理(
図6)のステップS105に進む。まだ全てを確認していなければ(ステップS205;No)、ステップS202に戻る。
【0039】
以上、単語DB更新処理について説明した。この単語DB更新処理により、単語DB21に記憶されている各単語のうち、ユーザ発話文に含まれていた単語と同じ単語の既知情報は「YES」となる。その結果、対話装置100は、その単語を「知っている単語」として認識するようになる。次に、対話処理(
図6)のステップS106で行われる応答文生成処理について、
図8を参照して説明する。
【0040】
まず、構文解析部11は、模範応答文を構文解析して、模範応答文に含まれている単語等を取得する(ステップS301)。そして、単語使用可否判定部13は、単語DB21から、模範応答文に含まれている単語と同じ単語を検索し(ステップS302)、検索された単語の中に既知情報が「YES」である単語が1つ以上あるか否かを判定する(ステップS303)。検索された単語の中に既知情報が「YES」である単語が1つもなければ(ステップS303;No)、応答文生成部14は、単語を1つも含まない空文を応答文として生成する(ステップS304)。
【0041】
そして、制御部10が駆動部33により首を傾げる動作等を行わせることによって、対話装置100はユーザに仕草で応答し(ステップS305)、応答文生成処理を終了して、対話処理(
図6)のステップS107に進む。ステップS305での仕草での応答は、首を傾げる動作に限らず、困った表情をする、にっこり笑った表情をする等、駆動部33により、言葉が理解できないことを示す様々な動作で応答することができる。
【0042】
一方、単語DB21から検索された単語の中に既知情報が「YES」である単語が1つ以上あるなら(ステップS303;Yes)、単語使用可否判定部13は、検索された単語が1つだけか否かを判定する(ステップS306)。検索された単語が1つだけではないなら(ステップS306;No)、応答文生成部14は、複数単語応答文生成処理を行って、応答文を生成し(ステップS308)、応答文生成処理を終了して、対話処理(
図6)のステップS107に進む。複数単語応答文生成処理は、複数の単語を含む応答文を生成する処理だが、処理の詳細は後述する。
【0043】
一方、単語DB21から検索された単語の中に既知情報が「YES」である単語が1つなら(ステップS306;Yes)、応答文生成部14は、その単語と同じ単語のみからなる応答文を生成する(ステップS307)。
【0044】
以上応答文生成処理について説明した。次に、応答文生成処理(
図8)のステップS308で行われる複数単語応答文生成処理について、
図9を参照して説明する。
【0045】
まず、単語使用可否判定部13は、構文解析済みの模範応答文を文節に区切り、各文節の既知情報を初期化する(ステップS401)。例えば、
図10に示すように、模範応答文が「秋刀魚は秋の味覚で脂がのると美味しいよね。」の場合、これを文節に区切ると「秋刀魚は/秋の/味覚で/脂が/のると/美味しいよね。」となる。そして、各文節に含まれる単語の既知情報を、単語DB21を参照して取得し、それを該文節の既知情報として、文節の既知情報を初期化する。例えば「秋刀魚は」という文節には「秋刀魚」という単語が含まれており、この既知情報は
図10の例では「YES」になっているため、文節「秋刀魚は」の既知情報は「YES」として初期化される。
【0046】
また、「秋の」という文節には「秋」という単語が含まれているが、この既知情報は
図10の例では「NO」になっているため、文節「秋の」の既知情報は「NO」として初期化される。このようにして、模範応答文の全ての文節について既知情報が設定される。なお、1つの文節に複数の単語が含まれている場合、その全ての単語の既知情報が「YES」の場合に、該文節の既知情報は「YES」に初期化され、1つでも既知情報が「NO」の単語が含まれていたら、該文節の既知情報は「NO」に初期化される。
【0047】
次に単語使用可否判定部13は、模範応答文の各文節の係り受けの情報に基づいて、各文節の既知情報を、その文節の修飾先の文節の既知情報が「NO」の場合には、「NO」に修正する。この既知情報の修正は、複数単語応答文生成処理(
図9)のステップS402からステップS406の処理で行われる。なお、係り受けが2段階以上になることもあり得るため、以下の処理では係り受け情報を、文末から文頭に向かって各文節の修飾元を確認していく処理になっている。
【0048】
まず、単語使用可否判定部13は、各文節の修飾元を確認するために、模範応答文の文末から文頭に向かって文節を1つずつ取り出す(ステップS402)。そして、単語使用可否判定部13は、取り出したその文節に修飾元があるか否かを判定する(ステップS403)。その文節に修飾元がないなら(ステップS403;No)、ステップS406に進む。その文節に修飾先があるなら(ステップS403;Yes)、今回取り出した文節の既知情報が「YES」か否かを判定する(ステップS404)。今回取り出した文節の既知情報が「YES」なら(ステップS404;Yes)、ステップS406に進む。
【0049】
今回取り出した文節の既知情報が「YES」でないなら(ステップS404;No)、単語使用可否判定部13は、今回取り出した文節の修飾元の文節の既知情報を「NO」に設定し(ステップS405)、ステップS406に進む。例えば、
図11に示すように、模範応答文の文末の文節「美味しいよね」の修飾元の文節は「のると」であるが、「美味しい」の既知情報は「YES」なので、何もせずにステップS406に進む。次の文節「のると」の修飾元の文節は「脂が」であるが、「のると」の既知情報は「NO」なので、「脂が」の既知情報も「NO」に設定される。
【0050】
図9に戻り、ステップS406では、単語使用可否判定部13は、模範応答文に含まれる全ての文節の修飾先を確認したか否かを判定する。全ての文節を確認済みでなければ(ステップS406;No)、ステップS402に戻る。全ての文節を確認済みなら(ステップS406;Yes)、応答文生成部14は、既知情報が「YES」になっている文節を並べて、応答文を生成する(ステップS407)。例えば、
図11に示す例では、最終的に、既知情報が「YES」になっている文節は「秋刀魚は」と「美味しいよね」の2つだけになるため、応答文生成部14は、この二つの文節を並べて「秋刀魚は美味しいよね」という応答文を生成する。
【0051】
以上、複数単語応答文生成処理について説明した。以上説明した応答文生成処理及び複数単語応答文生成処理により、応答文生成部14は、模範応答文から、その時点で既知情報が「YES」となっている単語と対応する単語で構成される応答文を生成する。なお、応答文生成処理及び複数単語応答文生成処理において、単語使用可否判定部13が行うステップは単語使用可否判定ステップとも呼ばれ、応答文生成部14が行うステップは応答文生成ステップとも呼ばれる。
【0052】
また、上述の複数単語応答文生成処理では、全ての係り受けが文の前方の文節から後方の文節に係る(文の前方に修飾元があり、後方に修飾先がある)ことを想定した処理になっているが、これに限られるものではない。逆方向の係り受けが存在する場合も、修飾先の文節の既知情報が「NO」の場合に、修飾元の文節の既知情報を「NO」にする処理を行えばよい。どの文節がどの文節の修飾先や修飾元になっているかという係り受けの情報は、構文解析部11による構文解析の結果から取得できるので、この情報に基づいて上述の処理を行うことによって、係り受けの方向がどちら向きであっても、単語使用可否判定部13は、文節の既知情報を正しく修正することができる。
【0053】
次に、
図12を参照して、対話装置100の具体的な動作例を説明する。まず、最初の時点では、単語DB21は、
図4に示すように、全ての単語の既知情報が「NO」に初期化されているものとする。また、模範応答文DB22には、
図5に示す模範応答文がキーワードとともに記憶されているものとする。そして、ユーザが「今日学校で秋刀魚を焼いたんだけど美味しかったよ。」と発話したとする。
【0054】
すると、制御部10は、ユーザ発話文として「今日学校で秋刀魚を焼いたんだけど美味しかったよ。」を取得し、単語DB更新処理により、単語DB21は、
図12に示されるように更新される。また、ユーザ発話文中の単語から「秋刀魚」というキーワードが抽出されるので、模範応答文取得部12は、模範応答文DB22から「秋刀魚は秋の味覚で脂がのると美味しいよね。」という模範応答文を取得する。
【0055】
そして、上述の応答文生成処理及び複数単語応答文生成処理により、「秋刀魚は美味しいよね。」という応答文が生成される。この時点では、対話装置100は、「秋」や「味覚」等の単語をまだ認識したことがないため、これらの未知の単語を使用しない応答文でユーザに応答することになる。その後、「秋」や「味覚」等の単語が含まれたユーザ発話文を取得すると、これらの単語の既知情報が「YES」となり、それ以後は「秋」や「味覚」も使用した応答文(例えば「秋刀魚は秋の味覚で美味しいよね。」)が生成され、このようなより長い応答文でユーザに応答できるようになる。
【0056】
以上説明したように、対話装置100は、模範応答文DB22を拡充しなくても、ユーザとの様々な対話が行われるにつれ、それに応じて、より複雑な表現で応答できるようになり、ユーザに成長しているように感じさせることができる。
【0057】
そして、対話装置100は、ユーザ発話文に含まれていた単語からなる応答文で応答するので、ユーザにとって対話装置100との対話は、まるで子供に言葉を教えるかのような対話にもなりうる。そのためユーザは、対話装置100に対して「自分が育てている」、「自分の家で育った」という特別な感情を抱くことができ、対話装置100に愛着がわくようになる。
【0058】
また、ユーザは対話装置100に話しかければ話しかけるほど、対話装置100が成長していくことを実感できるので、様々なことを話しかけようと思うようになる。このため、対話装置100は、ユーザから様々な多くの情報を収集することができる。
【0059】
そして、対話装置100は、1つの模範応答文から、ユーザ発話文に含まれる単語を使用した意味の通る応答文を生成できるので、対話装置100の成長段階毎に個別に対応するための大量の応答文を用意する必要がない。成長段階毎に個別に対応するための応答文を用意しようとすると、成長段階毎に応答文の内容が異なってしまう状況が発生しうる。そして、そのような状況が発生すると、ユーザに「言っていることが前と違う」、「性格が変わった」等の印象を与えてしまうことがある。しかし、対話装置100では、そのような状況を避けることができる。
【0060】
(実施形態2)
実施形態1に係る対話装置100では、単語DB21に登録されている単語のうち、活用する単語は原則として原形(一般の辞書に記載されている形。日本語文法における終止形。)で登録されている。そして、対話装置100では、原形以外の形がユーザ発話文中に現れても、その単語は既知の単語として扱うこととしている。このため、ユーザ発話文によく現れる動詞、形容詞及び形容動詞(以下、動詞、形容詞及び形容動詞をまとめて用言と言う。)は、すぐに既知の単語となってしまい、ユーザに成長を感じさせる時間的なゆとりがあまり取れない可能性がある。そこで、活用する単語を原形でまとめて扱うのではなく、活用した形に応じて別々に扱う(例えば過去形(用言の連用形と過去を表す助動詞「た」とが接続した形からなる単語群)とそれ以外の形を別の単語として扱う)実施形態2について説明する。
【0061】
実施形態2に係る対話装置101の機能構成は、実施形態1に係る対話装置100と単語DB21以外は同じである。対話装置101の単語DB21は、
図13に示すように、用言についてその過去形を原形とは別の単語として記憶している。例えば、
図13では、「焼く」以外にその過去形である「焼いた」が、また、「美味しい」以外にその過去形である「美味しかった」が単語DB21に記憶されている。なお、日本語の場合は、過去形は、「用言の連用形と過去を表す助動詞「た」とが接続した形からなる単語群」として表されるが、対話装置101を英語に対応させる場合は、動詞の過去形を動詞の原形と区別して、それぞれ単語DB21に記憶させればよい。
【0062】
対話装置101の単語DB更新処理においては、過去形はその原形とは別の単語(単語群)として扱うこととして、単語DB21を更新する。なお、過去形以外の形については、実施形態1に係る対話装置100と同様に、全て原形に置き換えて扱う。
【0063】
このような対話装置101の具体的な動作例を、
図14を参照して説明する。まず、最初の時点では、単語DB21は、全ての単語の既知情報が「NO」に初期化されているものとする。また、模範応答文DB22には、
図5に示す模範応答文がキーワードとともに記憶されているものとする。そして、ユーザが「今日学校で秋刀魚を焼いたんだけど美味しかったよ。」と発話したとする。
【0064】
すると、制御部10は、ユーザ発話文として「今日学校で秋刀魚を焼いたんだけど美味しかったよ。」を取得し、単語DB更新処理により、単語DB21は、
図14に示されるように更新される。また、ユーザ発話文中の単語から「秋刀魚」というキーワードが抽出されるので、模範応答文取得部12は、模範応答文DB22から「秋刀魚は秋の味覚で脂がのると美味しいよね。」という模範応答文を取得する。
【0065】
実施形態2に係る単語DB21は、「美味しい」と「美味しかった」とを別の単語(単語群)として扱っており、ユーザ発話文中には「美味しかった」という単語群は存在するが、模範応答文中の「美味しい」という単語と同じ単語は存在しない。したがって、「美味しい」という単語の既知情報は「NO」のままになり、模範応答文中で既知情報が「YES」の単語は「秋刀魚」のみであるため、「秋刀魚」という応答文が生成される。
【0066】
その後、「美味しい」や「秋」という単語が含まれたユーザ発話文を取得すると、単語DB更新処理により、これらの単語の既知情報が「YES」となり、単語DB21の内容は
図15に示される内容に更新される。その後、またユーザが「今日学校で秋刀魚を焼いたんだけど美味しかったよ。」と発話したとする。
【0067】
すると、制御部10は、ユーザ発話文として「今日学校で秋刀魚を焼いたんだけど美味しかったよ。」を取得し、ユーザ発話文中の単語から「秋刀魚」というキーワードが抽出されるので、模範応答文取得部12は、模範応答文DB22から「秋刀魚は秋の味覚で脂がのると美味しいよね。」という模範応答文を取得する。なお、このユーザ発話文には、既に既知情報が「YES」になっている単語(及び単語群)しか存在しないため、単語DB更新処理を行っても単語DB21は変化せず、
図15に示される内容のままである。
【0068】
そして、模範応答文中で既知情報が「YES」である文節を抜き出すと「秋刀魚は/秋の/美味しいよね。」となるが、複数単語応答文生成処理において、文節「秋の」の既知情報は「NO」に設定される(「味覚」の既知情報が「NO」で、「秋の」は「味覚」の修飾元であるため)ため、最終的に「秋刀魚は美味しいよね。」という応答文が生成される。
【0069】
このように、実施形態2に係る対話装置101では、対話装置100に比べると、単語DB21の各単語(単語群)の既知情報がより緩やかに「YES」になっていくため、時間をかけて成長していく様子をユーザに示すことができる。したがって、ユーザに成長している様子をより感じさせることができる。
【0070】
なお、上述の単語DB21では、過去形だけを別単語(単語群)として扱う例を示したが、これに限られるものではなく、他の形を別単語として扱うようにしてもよい。例えば、受身形(受身となり得る動詞について、「動詞の未然形と受身を表す助動詞「れる、られる」とが接続した形からなる単語群」)や、否定形(「動詞の未然形又は形容詞若しくは形容動詞の連用形と、否定を表す助動詞「ない」と、が接続した形からなる単語群」)等、活用する単語の所定の活用形に所定の付属語を接続した形の単語群を、当該活用する単語の原形とは別単語として、単語DB21に記憶するようにしてもよい。別単語として扱う形(単語群)を増やすことにより、既知情報が「YES」になる速度がより緩やかになるため、ユーザに成長している様子をさらに感じさせることができる。
【0071】
(実施形態3)
実施形態2に係る対話装置101では、活用する単語をその活用した形に応じて別の単語(単語群)として扱うことによって既知情報が「YES」になる速度を緩やかにしているが、この速度制御をより自由に行うことができる実施形態3について説明する。
【0072】
実施形態3に係る対話装置102の機能構成は、実施形態1に係る対話装置100と単語DB21以外は同じである。対話装置102の単語DB21は、
図16に示すように、各単語について、その単語をユーザ発話文から取得した回数と、その単語を既知の単語として扱うための所定の閾値とを記憶している。回数が閾値以上になると、その単語の既知情報は「YES」となり、閾値未満ならその単語の既知情報は「NO」となる。この閾値の値は、全ての単語について同じ値が設定されていてもよいし、単語に応じて異なる値が設定されていてもよい。
【0073】
また、対話装置102の単語DB更新処理は、
図17に示すように、対話装置100の単語DB更新処理(
図7)において、ステップS203で判定がNoの時に、ステップS204の処理を行う前に、ステップS211及びステップS212を行う。
【0074】
ステップS211では、制御部10は、ステップS202で読み出した単語について、単語DB21のその単語の回数を1加算する。このステップにおいて、制御部10は、カウント手段として機能する。そして、加算後の回数が単語DB21に記憶されている閾値未満であるか否かを判定する(ステップS212)。閾値未満なら(ステップS212;Yes)、ステップS205に進む。閾値以上なら(ステップS212;No)、ステップS204に進んで、読み出した単語についての単語DB21の既知情報を「YES」に更新する。
【0075】
以上のような処理を行う場合、単語によって、既知情報が「YES」になるタイミングを調整することができ、ユーザにより成長を実感させることができる。例えば、食べ物の名称の単語の閾値を1に設定しておくと、ユーザが1度でも発話した食べ物の名称の既知情報は「YES」になるので、「食べ物の名前はすぐに覚える」という性質を対話装置102に持たせることができる。また、スポーツの名前や人の名前の閾値を大きい値(例えば10)に設定しておくと、ユーザがその閾値の回数以上その単語を発話するまでは、その単語の既知情報は「YES」にならないので、「スポーツの名前や人の名前はなかなか覚えられない」という性質を対話装置102に持たせることができる。
【0076】
以上のように、実施形態3に係る対話装置102では、既知情報が「YES」になるタイミングをを変更できるので、より自由度の高い成長をさせることができ、ユーザにより成長を感じさせることができる。また、既知情報が「YES」になるタイミングは、全ての単語について同じ閾値に設定しなくてもよく、単語の種類(例えば品詞)毎に変更したり、個別の単語毎に変更したりしてもよい。このようにすることで、各単語の既知情報が「YES」になるタイミングをさらに自由に変更することができるので、ユーザにさらに成長を感じさせることができる。
【0077】
なお、実施形態3では、単語DB21に各単語の回数と閾値を記憶するようにしていたが、これに限られるものではない。例えば、単語DB21に、その単語を取得した日時を記録するようにして、所定の日数の間継続してその単語を取得しないと既知情報を「YES」にしない等の処理を行うようにしてもよい。
【0078】
また、上述の実施形態では、ユーザが発話した発話文の中に含まれる単語について、単語DB21の既知情報を「YES」に更新していくこととしているが、これに限られるものではない。発話文の中に含まれるか否かによらず、ユーザが対話装置を使用した時間に応じて、単語DB21が記憶している各単語の既知情報を「YES」に更新してもよい。この場合、単語DB21には、
図16にあるような回数の閾値に代えて、各単語について使用時間の閾値を記憶しておき、対話装置がこの閾値以上使用されたら、該当単語の既知情報を「YES」に更新するようにする。これにより、ユーザがなかなか発話しない単語であっても、ユーザが使用する時間が所定の閾値を超えると、対話装置は、そのような単語を使用した応答文でユーザに応答することが可能になる。
【0079】
さらに、単語DB21に、回数の閾値と使用時間の閾値を両方とも記憶させておき、ユーザ発話文に含まれる回数が回数の閾値以上になったか又はユーザの使用時間が使用時間の閾値以上になったことに基づいて、単語の既知情報を「YES」に更新してもよい。このようにすることで、既知情報が「YES」になるタイミングをさらに自由に設定できるので、より自由度の高い成長をさせることができる。
【0080】
なお、上述の実施形態では、ユーザが発話した発話文を音声入力部31が音声認識して得られるユーザ発話文により、単語DB21が更新されていくこととしているが、これに限られるものではない。例えばテレビやラジオから流れてくる他人の音声、ユーザの家族や友人等の音声等、対話装置100,101,102の周囲で行われる会話を音声入力部31が音声認識して得られる文も用いて単語DB21を更新してもよい。
【0081】
また、対話装置100,101,102は、音声に加えて、又は、音声の代わりに、文字データとして入力された文をユーザ発話文とみなして、単語DB21を更新したり、応答文を生成したりしてもよい。例えば対話装置100,101,102は、ユーザが操作入力部34(キーボード、タッチパネル等)から入力した文字からなる文を、ユーザ発話文とみなしてもよい。この場合、操作入力部34は、文字の入力を受け付ける文字入力手段として機能する。ユーザがユーザ発話文の入力を、音声を使わずに専ら操作入力部34から行う場合、対話装置100,101,102は音声入力部31を備えなくてもよい。
【0082】
また、上述の実施形態では、単語DB21が記憶する単語は基本的には、名詞、動詞、形容詞、形容動詞としたが、これに限られるものではない。例えば、単語DB21は、これらに加えて、副詞、感動詞等も記憶することにしてもよい。逆に、単語DB21は、これらの一部(例えば、形容詞)を記憶しないことにしてもよい。その場合、単語DB21が記憶しない品詞の単語については、ユーザが対話装置100,101,102に入力した文に1度も含まれていなくても、既知の単語として扱われることになる。
【0083】
また、上述の実施形態は、主に日本語の文章を前提として説明したが、日本語に限られるものではなく、他の言語でも同様の考え方を適用することができる。例えば、英語の場合、単語DB21には、基本的には、名詞、動詞、形容詞を記憶するようにすればよい。また、英語には、上述の複数単語応答文生成処理の説明中の「文節」は存在しないが、「文節」の代わりに「単語」単位での係り受けの情報に基づいて、複数単語応答文生成処理を行うことにより、既知情報の修正を行えばよい。
【0084】
また、上述の実施形態では、記憶部20が単語DB21及び模範応答文DB22を記憶していることとしているが、これに限られるものではない。外部のサーバ等に単語DB21と模範応答文DB22の少なくとも1つを記憶させておき、通信部35を介して外部のサーバ等が記憶している単語DB21や模範応答文DB22にアクセスするようにしてもよい。この場合、外部のサーバ等が記憶するDB(単語DB21や模範応答文DB22)については、記憶部20は記憶していなくてもよい。
【0085】
また、上述の実施形態では、対話装置100,101,102が駆動部33、操作入力部34、通信部35を備えているが、これらはいずれも必須ではない。例えば、対話装置100,101,102は、駆動部33を備えなくてもよい。この場合、応答文生成処理(
図8)のステップS305における「仕草で応答する」の代わりに、音声出力部32から「ふーん」、「わかんない」等、言葉が理解できない場合等に発する定型の応答文で応答するようにしてもよい。また、操作入力部34を備えない場合は、制御部10は、電源スイッチが入れられると対話処理を起動し、電源スイッチが切られると対話処理を終了するようにしてもよい。
【0086】
また、対話装置100,101,102は、液晶ディスプレイ等の表示手段を備えてもよく、ユーザへの応答を、音声ではなく、表示手段への応答文表示によって行ってもよい。対話装置100,101,102は、ユーザへの応答に音声を使用しない場合は、音声出力部32を備えなくてもよい。
【0087】
また、上述の実施形態は適宜組み合わせることができる。例えば、実施形態2と実施形態3とを組み合わせて、活用する単語については原形及び活用した形(過去形等の単語群)毎に回数及び閾値を記憶し、原形及び活用した形毎に既知情報を「YES」にするタイミングを異ならせるようにしてもよい。
【0088】
なお、対話装置100,101,102の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、対話装置100,101,102が行う対話処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)及びMO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワークを介して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【0089】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0090】
(付記1)
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析手段と、
前記構文解析手段による前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得手段と、
所定の条件に応じて、前記模範応答文取得手段が取得した模範応答文に含まれている各単語について使用可か使用不可かを判定する単語使用可否判定手段と、
前記模範応答文取得手段が取得した模範応答文から、前記単語使用可否判定手段で使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成手段と、
前記応答文生成手段が生成した応答文を用いて前記ユーザに応答する応答手段と、
を備える対話装置。
【0091】
(付記2)
前記所定の条件は、前記模範応答文に含まれている単語が前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語であるか否かという条件を含み、
前記単語使用可否判定手段は、前記模範応答文に含まれている各単語のうち、前記構文解析された前記ユーザ発話文に含まれる単語と対応する単語を使用可と判定し、前記構文解析された前記ユーザ発話文に含まれていない単語と対応する単語を使用不可と判定する、
付記1に記載の対話装置。
【0092】
(付記3)
前記所定の条件は、前記模範応答文に含まれる単語が活用する単語であり、当該活用する単語の所定の活用形に所定の付属語を接続した形の単語群が前記模範応答文に含まれる場合、前記単語群と同じ単語群が前記構文解析された前記ユーザ発話文に含まれているか否かという条件を含み、
前記単語使用可否判定手段は、前記模範応答文に含まれる単語が活用する単語である場合、前記単語を含む前記単語群と同じ単語群が前記ユーザ発話文に含まれているなら前記模範応答文に含まれる各単語のうち、前記単語群に対応する単語を使用可と判定し、前記単語群が前記ユーザ発話文に含まれていないなら前記模範応答文に含まれる各単語のうち、前記単語群に対応する単語を使用不可と判定する、
付記2に記載の対話装置。
【0093】
(付記4)
さらに、前記ユーザ発話文に含まれる各単語がユーザによって入力された回数をカウントするカウント手段を備え、
前記所定の条件は、前記カウント手段がカウントした前記回数が所定の閾値以上であるか否かという条件をさらに含み、
前記単語使用可否判定手段は、前記カウント手段がカウントした前記回数が所定の閾値以上の単語と対応する単語を使用可と判定し、前記回数が前記閾値未満の単語と対応する単語を使用不可と判定する、
付記2又は3に記載の対話装置。
【0094】
(付記5)
前記閾値は、互いに異なる複数の単語の各々に対して設定された複数の閾値からなる、
付記4に記載の対話装置。
【0095】
(付記6)
前記単語使用可否判定手段は、前記模範応答文中に、使用不可と判定された単語が存在する場合、前記使用不可と判定された単語を修飾する修飾元の単語と対応する単語がユーザ発話文に含まれていた場合であっても、当該修飾元の単語も使用不可と判定する、
付記2から5のいずれか1つに記載の対話装置。
【0096】
(付記7)
さらに、音声を音声認識して前記ユーザ発話文を取得する音声入力手段を備え、
前記構文解析手段は、前記音声入力手段が音声認識して取得した前記ユーザ発話文を構文解析する、
付記1から6のいずれか1つに記載の対話装置。
【0097】
(付記8)
さらに、音声合成により音声を出力する音声出力手段を備え、
前記応答手段は、前記音声出力手段により前記応答文を音声で出力することによって前記ユーザに応答する、
付記1から7のいずれか1つに記載の対話装置。
【0098】
(付記9)
さらに、ユーザからの文字の入力を受け付ける文字入力手段を備え、
前記構文解析手段は、前記文字入力手段が受け付けた文字からなる文を前記ユーザ発話文として構文解析する、
付記1から8のいずれか1つに記載の対話装置。
【0099】
(付記10)
さらに、文字を表示する表示手段を備え、
前記応答手段は、前記表示手段に前記応答文を表示することによって前記ユーザに応答する、
付記1から9のいずれか1つに記載の対話装置。
【0100】
(付記11)
さらに、前記ユーザ発話文が理解できないことを示す動作を行う駆動手段を備え、
前記応答手段は、前記応答文生成手段が前記応答文を生成できない場合には、前記駆動手段による動作で前記ユーザに応答する、
付記1から10のいずれか1つに記載の対話装置。
【0101】
(付記12)
対話装置を制御するための対話装置制御方法であって、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析ステップと、
前記構文解析ステップによる前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得ステップと、
所定の条件に応じて、前記模範応答文取得ステップで取得された模範応答文に含まれている各単語について使用可か使用不可かを判定する単語使用可否判定ステップと、
前記模範応答文取得ステップで取得された模範応答文から、前記単語使用可否判定ステップで使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成ステップと、
前記応答文生成ステップで生成された応答文を用いて応答する応答ステップと、
を含む対話装置制御方法。
【0102】
(付記13)
対話装置のコンピュータに、
ユーザから入力された発話文であるユーザ発話文を構文解析する構文解析ステップ、
前記構文解析ステップによる前記ユーザ発話文の構文解析結果に応じて模範的な応答文である模範応答文を取得する模範応答文取得ステップ、
所定の条件に応じて、前記模範応答文取得ステップで取得された模範応答文に含まれている各単語について使用可か使用不可かを判定する単語使用可否判定ステップ、
前記模範応答文取得ステップで取得された模範応答文から、前記単語使用可否判定ステップで使用不可と判定された単語を削除して、前記ユーザ発話文に対する応答文を生成する応答文生成ステップ、及び、
前記応答文生成ステップで生成された応答文を用いて応答する応答ステップ、
を実行させるためのプログラム。
【符号の説明】
【0103】
10…制御部、11…構文解析部、12…模範応答文取得部、13…単語使用可否判定部、14…応答文生成部、15…応答部、20…記憶部、21…単語DB、22…模範応答文DB、31…音声入力部、32…音声出力部、33…駆動部、34…操作入力部、35…通信部、100,101,102…対話装置