(57)【要約】【課題】従来の言語記憶方法では、言語学習の精度と速度とを両立することが出来ない問題があった。【解決手段】本発明の一態様にかかる言語記憶方法は、対話ログデータベース２１に蓄積された言葉を、単語毎に予め作成された単語ベクトルを用いてベクトル化するベクトル化ステップＳ１〜Ｓ３と、ベクトル化した言葉を応答データとして採用するか否かを判断する判断ステップＳ５、Ｓ６と、応答データとして採用すると判断された言葉を応答データベース１４に蓄積する記憶ステップＳ７と、を有し、ベクトル化ステップＳ１〜Ｓ３と、判断ステップＳ５、Ｓ６と、の間にベクトル化ステップＳ１〜Ｓ３でベクトル化された言葉のベクトルの次元数を減じる低次元化ステップＳ４を有し、判断ステップＳ５、Ｓ６では、低次元化ステップにおいて、次元数が減じられた言葉のベクトルが採用群と不採用群のいずれの群に属するかを判断する。【選択図】図２
2018097191.tif 000002
【特許請求の範囲】
【請求項１】
発話者が発した言葉を対話ログデータベースに蓄積し、当該対話ログデータベースに蓄積された言葉を、前記発話者が発した言葉への応答に利用する言葉を記憶する応答データベース内の応答データとして採用するか否かを演算により決定する言語記憶方法であって、
前記発話者が発した前記言葉を対話ログデータベースに蓄積する対話ログ蓄積ステップと、
前記対話ログデータベースに蓄積された前記言葉を、単語毎に予め作成された単語ベクトルを用いてベクトル化するベクトル化ステップと、
ベクトル化した前記言葉を前記応答データとして採用するか否かを判断する判断ステップと、
前記応答データとして採用すると判断された言葉を前記応答データベースに蓄積する記憶ステップと、を有し、
前記ベクトル化ステップと、前記判断ステップと、の間に前記ベクトル化ステップでベクトル化された言葉のベクトルの次元数を減じる低次元化ステップを有し、
前記判断ステップでは、前記低次元化ステップにおいて、次元数が減じられた前記言葉のベクトルが採用群と不採用群のいずれの群に属するかを判断し、
前記記憶ステップでは、前記採用群に属すると判断された前記言葉を前記応答データベースに蓄積する言語記憶方法。
【請求項２】
前記低次元化ステップでは、前記ベクトル化ステップでベクトル化された前記言葉のベクトルのグローバル構造及びローカル構造を維持した状態で前記言葉のベクトルの次元数を減じる請求項１に記載の言語記憶方法。
【請求項３】
前記低次元化ステップでは、ｔ−ＳＮＥ（t-distributed Stochastic Neighbor Embedding）、ＳＮＥ（Stochastic Neighbor Embedding）、及び、主成分分析の１つを用いて前記言葉のベクトルの次元数を減じる請求項１又は２に記載の言語記憶方法。
【請求項４】
前記判断ステップでは、予め準備した採用する言葉と不採用とする言葉とを分類可能なように学習をした、混合ガウスモデル、ＳＶＭ（Support Vector Machine）、及び、ロジスティック回帰分析の１つを用いて、前記低次元化ステップにより生成された前記言葉を採用するか否かを判断する請求項１乃至３のいずれか１つに記載の言語記憶方法。
【請求項５】
発話者の発した言葉を認識する音声認識器と、
前記音声認識器により認識された前記言葉を蓄積する対話ログデータベースと、
前記音声認識器により認識された前記言葉に応答するための前記言葉を記憶する応答データベースと、
前記音声認識器により認識された前記言葉に応答するための前記言葉を前記応答データベースから選択する対話制御器と、
前記対話制御器により選択された前記言葉を音声信号に変換する音声合成器と、
前記対話ログデータベースに蓄積された前記言葉を前記応答データベースに蓄積する言葉として採用するか否かを判断する応答データベース作成モジュールと、を有し、
前記応答データベース作成モジュールでは、
前記対話ログデータベースに蓄積された前記言葉を、単語毎に予め作成された単語ベクトルを用いてベクトル化するベクトル化ステップと、
前記ベクトル化ステップでベクトル化された言葉のベクトルの次元数を減じる低次元化ステップと、
低次元化ステップによりベクトルの次元数が減じられた前記言葉を前記応答データとして採用するか否かを判断する判断ステップと、
前記応答データベースに格納される応答データとして採用すると判断された言葉を前記応答データベースに蓄積する記憶ステップと、を有し、
前記判断ステップでは、前記低次元化ステップにおいて、次元数が減じられた前記言葉のベクトルが採用群と不採用群のいずれの群に属するかを判断し、
前記記憶ステップでは、前記採用群に属すると判断された前記言葉を前記応答データベースに蓄積する言語対話システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は言語記憶方法及び言語対話システムに関し、例えば、対話型ロボットにおいて行われる言語記憶方法及び当該方法を用いた言語対話システムに関する。
【背景技術】
【０００２】
近年、対話型ロボットが多く提案されている。この対話型ロボットでは、発話者（例えば、利用者）が発した言葉に応答する言葉を発する。対話型ロボットでは、この応答に用いる言葉をデータベース上に記憶された言葉から選択する。そのため、対話型ロボットにおける対話能力を高めるためには、応答する言葉の記憶数を増加させる必要がある。そこで、このような言語の記憶を行うための手法の一例が特許文献１に開示されている。
【０００３】
特許文献１では、発話者が認識辞書に未登録の言葉を話した場合に、その言葉が如何なる意味属性（例えば、車、スポーツ、食べ物等）に属するかを発話部が聞き返し、認識辞書に未登録の言葉の音声データと聞き返した意味属性の認識結果を対にして音声データ辞書に登録する。この音声データ辞書に登録後は、発話者が認識辞書に未登録の言葉を話すと、音声データ辞書に同じ音声データが存在するか否かを検索し、存在すれば聞き返した意味属性に置き換えて対話を続ける。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２４８４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
対話においては、発話者が発した言葉が応答に用いる言葉として必ずしも適切とは限らない。つまり、対話型ロボットでは、ロボットが覚える言葉を的確に選択しなければ対話能力を高めることができない。しかしながら、特許文献１に記載の技術では、発話者が発した言葉を応答データベースに記憶する言葉として不採用とする判断をすることが出来ない。
【０００６】
ここで、発話者から得た言葉を採用するか不採用とするかの判断を行うために、発話者から得た言葉をベクトル化して、当該ベクトルに対する処理を行うことで、ロボットが覚えるべき言葉を取捨選択することが考えられる。しかしながら、単に言葉をベクトル化した場合、多くの場合言葉のベクトル数が膨大になり、覚えるべきか否かを判断する処理に多くの時間を要する問題が生じる。また、言葉のベクトル数を減らした場合、処理時間は短くなるものの、判断結果の正確性が悪化する問題が生じる。
【０００７】
本発明は、上記事情に鑑みてなされたものであり、発話者から得た言葉を覚えるか否かの判断に要する時間の短縮と、判断の正確性の向上を両立させること目的とするものである。
【課題を解決するための手段】
【０００８】
本発明の一態様にかかる言語記憶方法は、発話者が発した言葉を対話ログデータベースに蓄積し、当該対話ログデータベースに蓄積された言葉を、前記発話者が発した言葉への応答に利用する言葉を記憶する応答データベース内の応答データとして採用するか否かを演算により決定する言語記憶方法であって、前記発話者が発した前記言葉を対話ログデータベースに蓄積する対話ログ蓄積ステップと、前記対話ログデータベースに蓄積された前記言葉を、単語毎に予め作成された単語ベクトルを用いてベクトル化するベクトル化ステップと、ベクトル化した前記言葉を前記応答データとして採用するか否かを判断する判断ステップと、前記応答データとして採用すると判断された言葉を前記応答データベースに蓄積する記憶ステップと、を有し、前記ベクトル化ステップと、前記判断ステップと、の間に前記ベクトル化ステップでベクトル化された言葉のベクトルの次元数を減じる低次元化ステップを有し、前記判断ステップでは、前記低次元化ステップにおいて、次元数が減じられた前記言葉のベクトルが採用群と不採用群のいずれの群に属するかを判断し、前記記憶ステップでは、前記採用群に属すると判断された前記言葉を前記応答データベースに蓄積する。
【０００９】
上記本発明の一態様によれば、発話者から得た言葉を当該言葉の意味を的確に示すベクトルに変換し、その後に言葉のベクトル数を減じ、減じたベクトルに基づいて言葉の採用と不採用とを判断することで、応答データベースに記憶する言葉の取捨選択の処理速度と正確性とを高めることができる。
【００１０】
本発明の一態様にかかる言語記憶方法は、前記低次元化ステップにおいて、前記ベクトル化ステップでベクトル化された前記言葉のベクトルのグローバル構造及びローカル構造を維持した状態で前記言葉のベクトルの次元数を減じる。
【００１１】
上記本発明の一態様によれば、低次元化ステップにおいて、ベクトルのグローバル構造及びローカル構造が維持されるため、応答データベースに記憶する言葉の取捨選択の正確性をさらに高めることができる。
【００１２】
本発明の一態様にかかる言語記憶方法は、前記低次元化ステップにおいて、ｔ−ＳＮＥ（t-distributed Stochastic Neighbor Embedding）、ＳＮＥ（Stochastic Neighbor Embedding）、及び、主成分分析の１つを用いて前記言葉のベクトルの次元数を減じる。
【００１３】
上記本発明の一態様によれば、ベクトル数の削減を実現する具体的な手法の例を開示ものであり、ベクトル間の関係性を維持した状態でベクトル数を減じることで応答データベースに記憶する言葉の取捨選択の正確性をさらに高めることができる。
【００１４】
本発明の一態様にかかる言語記憶方法は、予め準備した採用する言葉と不採用とする言葉とを分類可能なように学習をした、混合ガウスモデル、ＳＶＭ（Support Vector Machine）、及び、ロジスティック回帰分析の１つを用いて、前記低次元化ステップにより生成された前記言葉を採用するか否かを判断する。
【００１５】
上記本発明の一態様によれば、学習済みの上記分類手法を用いることで、言葉の採用と不採用を判断する処理を高速化することができる。
【００１６】
本発明の一態様にかかる言語対話システムは、発話者の発した言葉を認識する音声認識器と、前記音声認識器により認識された前記言葉を蓄積する対話ログデータベースと、前記音声認識器により認識された前記言葉に応答するための前記言葉を記憶する応答データベースと、前記音声認識器により認識された前記言葉に応答するための前記言葉を前記応答データベースから選択する対話制御器と、前記対話制御器により選択された前記言葉を音声信号に変換する音声合成器と、前記対話ログデータベースに蓄積された前記言葉を前記応答データベースに蓄積する言葉として採用するか否かを判断する応答データベース作成モジュールと、を有し、前記応答データベース作成モジュールでは、前記対話ログデータベースに蓄積された前記言葉を、単語毎に予め作成された単語ベクトルを用いてベクトル化するベクトル化ステップと、前記ベクトル化ステップでベクトル化された言葉のベクトルの次元数を減じる低次元化ステップと、低次元化ステップによりベクトルの次元数が減じられた前記言葉を前記応答データとして採用するか否かを判断する判断ステップと、前記応答データとして採用すると判断された言葉を前記応答データベースに蓄積する記憶ステップと、を有し、前記判断ステップでは、前記低次元化ステップにおいて、次元数が減じられた前記言葉のベクトルが採用群と不採用群のいずれの群に属するかを判断し、前記記憶ステップでは、前記採用群に属すると判断された前記言葉を前記応答データベースに蓄積する。
【００１７】
上記本発明の一態様によれば、発話者から得た言葉を当該言葉の意味を的確に示すベクトルに変換し、その後に言葉のベクトル数を減じ、減じたベクトルに基づいて言葉の採用と不採用とを判断することで、応答データベースに記憶する言葉の取捨選択の処理速度と正確性とを高めることができる。
【発明の効果】
【００１８】
本発明にかかる言語記憶方法及び言語対話システムによれば、記憶する言語と記憶しない言語とを分類する分類器の学習を高速化することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１にかかる言語対話システムの処理系を説明するブロック図である。
【図２】実施の形態１にかかる言語対話システムの応答データベース作成モジュールにおける処理を説明するフローチャートである。
【図３】実施の形態１にかかる言語対話システムのベクトル低次元化処理の概要を説明する図である。
【図４】実施の形態１にかかる言語対話システムのベクトル低次元化処理の一例であるｔ−ＳＮＥの処理フローを説明するフローチャートである。
【図５】実施の形態１にかかる言語対話システムの分類処理としてＧＭＭを用いた場合の関数の学習と分類処理とを説明する図である。
【図６】実施の形態１にかかる言語対話システムの分類処理としてロジスティック回帰分析を用いた場合の関数の学習と分類処理とを説明する図である。
【図７】実施の形態１にかかる言語対話システムにおける記憶する言葉の正確性を説明するグラフである。
【図８】実施の形態１にかかる言語対話システムにおける言語学習時間を説明するグラフである。
【発明を実施するための形態】
【００２０】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００２１】
実施の形態１にかかる言語対話システム１は、例えば、対話型ロボットに搭載される物である。実施の形態１にかかる言語対話システム１では、発話者が発した言葉を対話ログデータベースに蓄積し、当該対話ログデータベースに蓄積された言葉を、発話者が発した言葉への応答に利用する言葉を記憶する応答データベース内の応答データとして採用するか否かを演算により決定する。つまり、実施の形態１にかかる言語対話システム１では、発話者が発した言葉に基づき応答データベース内に記憶される言葉の数を増やす。これにより、実施の形態１にかかる言語対話システム１は、利用するほど応答に用いることができる応答データが増加し、対話能力を高めることができる。
【００２２】
そこで、図１に実施の形態１にかかる言語対話システム１の処理系を説明するブロック図を示す。実施の形態１にかかる言語対話システム１は、マイク１１、音声認識器１２、対話制御器１３、応答データベース１４、音声合成器１５、スピーカー１６、スピーカー１６、対話ログデータベース２１、応答データベース作成モジュール２２を有する。
【００２３】
マイク１１は、発話者が発した言葉を音声信号として言語対話システム１内に取り込む。音声認識器１２は、マイク１１を介して入力された音声信号を認識して対話制御器１３及び対話ログデータベース２１に出力する。音声認識器１２は、例えば、入力された音声信号から発話者が発した言葉を表すテキスト情報を生成し、このテキスト情報を対話制御器１３及び対話ログデータベース２１に出力する。また、音声認識器１２は、発話者が発した言葉を文として認識する。
【００２４】
対話制御器１３は、音声認識器１２から与えられた言葉に対応する応答データを応答データベース１４から選択し、選択した応答データを音声合成器１５に出力する。応答データベース１４は、音声認識器１２により認識された言葉に応答するための言葉（例えば、応答データ）を記憶する。音声合成器１５は、対話制御器１３から与えられた応答データを音声信号に変換してスピーカー１６に出力する。スピーカー１６は、与えられた音声信号に基づき応答音声を出力する。
【００２５】
対話ログデータベース２１は、音声認識器１２から与えられた発話者の言葉を蓄積する。応答データベース作成モジュール２２は、対話ログデータベースに蓄積された言葉を応答データベース１４に蓄積する言葉として採用するか否かを判断する。実施の形態１にかかる言語対話システム１では、応答データベース作成モジュール２２の動作に特徴の１つがある。そこで、以下で応答データベース作成モジュール２２の動作について詳細に説明する。
【００２６】
まず、応答データベース作成モジュール２２は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、応答データベース作成モジュール２２がハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００２７】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００２８】
続いて、応答データベース作成モジュール２２において行われる処理について説明する。そこで、図２に実施の形態１にかかる言語対話システム１の応答データベース作成モジュール２２における処理を説明するフローチャートを示す。なお、図２に示す処理は、対話ログデータベース２１に発話者が発した前記言葉を対話ログデータベースに蓄積する対話ログ蓄積ステップが行われた後、或いは、対話ログ蓄積ステップと並列して行われる。
【００２９】
図２に示すように、応答データベース作成モジュール２２では、処理を開始すると、対話ログデータベース２１に格納されている言葉を文単位でベクトル化する文ベクトル生成処理（例えば、ベクトル化ステップ）を行う。また、この文ベクトル生成処理は３つの処理に分解することができる。
【００３０】
文ベクトル生成処理では、まず、対話ログデータベース２１から処理対象となる言葉（例えば、文）を選択して、選択した文に含まれる単語単位に分解する形態要素解析処理を行う（ステップＳ１）。続いて、形態要素解析処理により分解された単語を単語単位でベクトル化する単語ベクトル変換処理を行う（ステップＳ２）。この単語ベクトル変換処理では、応答データベース作成モジュール２２に含まれる単語ベクトルデータベース２３に蓄積された単語ベクトルデータに基づき文に含まれる単語のベクトル化を行う。また、単語ベクトルデータベース２３に蓄積される単語ベクトルデータは、言葉を集めた言語コーパス３１から単語のベクトル化処理を行うｗｏｒｄ２ｂｅｃ等のツールを用いて作成される。
【００３１】
ｗｏｒｄ２ｖｅｃは、同じ文脈で利用される単語は、同じ意味を持つ、という仮説に基づき、単語の特徴を表現するものである。ｗｏｒｄ２ｖｅｃは、この仮説に基づき単語をベクトル化するため、単語の特徴や意味構造を含めて単語をベクトル化することができ、意味的に近い単語が空間上で近くに存在するベクトルとして表現することができる。また、単語をこのような手法に基づきベクトル化することで、類義語の抽出、単語同士の引き算や足し算を行うことが可能になる。
【００３２】
なお、単語をベクトル化する手法としては、ＧｌｏＶｅ（Global Vectors for Word Representation）、ＳＶＤ（Singular Value Decomposition）等の手法を用いることも可能である。
【００３３】
続いて、文ベクトル生成処理では、平均化処理を行う（ステップＳ３）。ステップＳ２では、文に含まれる単語のベクトル化処理が行われるが、文には複数の単語が含まれるため、この平均化処理により、１つの文が一群のベクトルで表現されるように変換する。具体的には、この平均化処理では、文の構造に基づく単語毎の重み付けを行い、当該重みと、各単語のベクトルから平均値を算出する重み付け平均処理を行う。また、文ベクトル生成処理の別の方法としては、ＲＮＮ（Recurrent Neural Network）を用いて、文ベクトルを算出することもできる。
【００３４】
続いて、応答データベース作成モジュール２２では、文ベクトル生成処理で生成された文ベクトルの次元数を減じるベクトル低次元化処理（例えば、低次元化ステップ）を行う（ステップＳ４）。このベクトル低次元化処理の詳細は後述する。
【００３５】
続いて、応答データベース作成モジュール２２は、ベクトル化した言葉を応答データとして採用するか否かを判断する分類処理（例えば、判断ステップ）（ステップＳ５）と、応答データとして採用すると判断された言葉を前記応答データベースに蓄積する記憶処理（例えば、記憶ステップ）（ステップＳ６、Ｓ７）とを行う。より詳細には、分類処理により、応答データとして採用すると判断された場合には、応答データベース作成モジュール２２は、応答データベース１４に採用すると判断された言葉を登録して、処理を終了する（ステップＳ６、Ｓ７）。一方、分類処理により、応答データとして不採用であると判断された場合には、応答データベース作成モジュール２２は、処理対象の言葉を破棄して処理を終了する（ステップＳ６）。なお、分類処理の詳細は後述する。
【００３６】
ここで、ステップＳ４のベクトル低次元化処理について詳細に説明する。このベクトル低次元化処理では、文ベクトル生成処理でベクトル化された言葉（例えば、文）のベクトルのグローバル構造及びローカル構造を維持した状態で文のベクトルの次元数を減じる。そのための手法としては、ｔ−ＳＮＥ（t-distributed Stochastic Neighbor Embedding）、ＳＮＥ（Stochastic Neighbor Embedding）、及び、主成分分析等の手法を用いることができる。以下では、ｔ−ＳＮＥをベクトル低次元化処理で用いた場合の処理の例について説明する。
【００３７】
図３に実施の形態１にかかる言語対話システムのベクトル低次元化処理の概要を説明する図を示す。図３に示すように、ベクトル低次元化処理では、ｎ個の高次元データ（図中のｘ１〜ｘｎ）をｎ個の低次元データ（図中のｙ１〜ｙｎ）に変換する。これにより、各データ（例えば、文）の次元数はＫ次元からＬ（Ｌ＜Ｋ）次元に減じられる。
【００３８】
また、図４に実施の形態１にかかる言語対話システムのベクトル低次元化処理の一例であるｔ−ＳＮＥの処理フローを説明するフローチャートを示す。なお、図４中の数式において、ｘはベクトル低次元化処理前のデータであり、ｙはベクトル低次元化処理後のデータである。また、ｉ、ｊ、ｋは処理対象のデータの番号、σはｘｉを中心としたガウス分布の分散である。また、処理対象のデータの個数はｎ個であるものとする。
【００３９】
図４に示すように、ベクトル低次元化処理では、まず、データ点ｘｉとデータ点ｘｊの間の高次元空間上のユーグリッド距離をデータ点の類似度を表現する条件付き確率ｐｉ｜ｊに変換する（ステップＳ１０）。ステップＳ１０では、（１）式に基づき処理が行われる。
【数１】
2018097191.tif 000003
【００４０】
続いて、ベクトル低次元化処理では、ステップＳ１０で算出した確率を用いて、データ点韓の類似度ｐｉｊに変換する（ステップＳ１１）。この変換は（２）式に基づき行われる。
【数２】
2018097191.tif 000004
【００４１】
続いて、ベクトル低次元化処理では、暫定的に作成したデータ点ｙのベクトルを乱数若しくは主成分分析で初期化する（ステップＳ１２）。その後、ベクトル低次元化処理では、ステップＳ１１で初期化したデータｙの間の類似度ｑｉｊを（３）式を用いて算出する（ステップＳ１３）。
【数３】
2018097191.tif 000005
【００４２】
続いて、ベクトル低次元化処理では、（４）式及び（５）式を用いてデータ点ｙのベクトル値を更新する（ステップＳ１４）。
【数４】
2018097191.tif 000006
【数５】
2018097191.tif 000007
【００４３】
そして、ステップＳ１４のデータ点ｙの更新結果が収束した場合は、収束したベクトル値を有するデータ点ｙをベクトル低次元化処理後の文ベクトルとして出力する（ステップＳ１０）。一方、ステップＳ１４のデータ点ｙの更新結果が収束しなかった場合は、ステップＳ１３に戻り、更新したベクトル値を有するデータ点ｙに対してステップＳ１３以降の処理を行う（ステップＳ１０）。
【００４４】
次に、図２のステップＳ５の分類処理について説明する。分類処理では、予め準備した採用する言葉と不採用とする言葉とを分類可能なように学習をした、混合ガウスモデル（GMM：Gaussian Mixture Model）、ＳＶＭ（Support Vector Machine）、及び、ロジスティック回帰分析の１つを用いて、ステップＳ４のベクトル低次元化処理で生成された言葉を採用するか否かを判断する。以下では、混合ガウスモデルを用いた場合と、ロジスティック回帰分析を用いた場合の分類処理におけるモデルの学習と分類処理について説明する。
【００４５】
まず、図５に実施の形態１にかかる言語対話システムの分類処理としてＧＭＭを用いた場合の関数の学習と分類処理とを説明する図を示す。図５に示すように、ＧＭＭでは、複数の教師データを用いてモデルの学習を行う。図５に示す例では、採用されるべきＮ１個のデータと、不採用とされるべきＮ２個のデータを教師データとして準備する。図５では、２次元のデータを教師データとして示した。そして、この教師データを２次元のグラフ上に図示すると、ベクトル値にある程度の偏りがあることが分かる。つまり、採用すべきデータは採用群に分類され、不採用とすべきデータは不採用群に分類される。そこで、分類処理における学習では、この採用群の範囲と不採用群の範囲を学習により規定する。また、分類処理では、入力されるデータが、学習により規定された採用群と不採用群にいずれに属するかに基づきデータの採用と不採用とする。
【００４６】
そして、ＧＭＭの学習では、採用データと不採用データとを分類可能なＧＭＭの関数を導き出す。この学習後のＧＭＭにステップＳ４で算出された低次元データ（例えば、データｙ）を与えることでＧＭＭの演算結果に違いが生じ、この違いに基づきデータｙが採用されるべきものか否かを判別することができる。
【００４７】
続いて、図６に実施の形態１にかかる言語対話システムの分類処理としてロジスティック回帰分析を用いた場合の関数の学習と分類処理とを説明する図を示す。図６に示すように、ロジスティック回帰分析においても、ＧＭＭを用いた場合と同様に複数の教師データを用いてモデルの学習を行う。そして、この教師データをロジスティック回帰分析の判別式である（６）式を与えてグラフ上に図示すると、判定結果にある程度の偏りがあることが分かる。そこで、分類処理における学習では、この採用群の範囲と不採用群の範囲を学習により規定する。また、分類処理では、入力されるデータが、学習により規定された採用群と不採用群にいずれに属するかに基づきデータの採用と不採用とする。
【数６】
2018097191.tif 000008
【００４８】
そして、ロジスティック回帰分析の学習では、採用データと不採用データとを分類可能な判定式のαｌを導き出す。この学習後の判定式にステップＳ４で算出された低次元データ（例えば、データｙ）を与えることで判定式の演算結果に違いが生じ、この違いに基づきデータｙが採用されるべきものか否かを判別することができる。
【００４９】
続いて、実施の形態１にかかる言語対話システム１における言語学習の速度及び精度について説明する。ここでは、ベクトル低次元化処理を行わない応答データベース作成モジュールを有する言語対話システムを比較例として示す。
【００５０】
まず、図７に実施の形態１にかかる言語対話システム１における記憶する言葉の正確性を説明するグラフを示す。図７に示すグラフでは、横軸に不採用判定とした結果の中に採用判定とすべき文が入っていない割合を示す適合率を示し、縦軸に不採用とされるべき文をどれだけ不採用とすることが出来たかの割合を示す再現率を示した。図７に示すように、実施の形態１にかかる言語対話システム１は、比較例にかかる言語対話システムと同等の適合率を得ることができ、かつ、比較例にかかる言語対話システムよりも高い再現率を得ることができることが分かる。
【００５１】
また、図８実施の形態１にかかる言語対話システム１における言語学習時間を説明するグラフを示す。なお、図８に示すグラフは、３８００文について採用と不採用の判別を行った結果である。図８に示すように、比較例にかかる言語対話システムは、３８００文の判別に４５分を有するのに対して、実施の形態１にかかる言語対話システム１は、２分で３８００文を判別する。
【００５２】
上記説明より、実施の形態１にかかる言語対話システム１では、ベクトル低次元化処理を行う応答データベース作成モジュール２２を有することで、新たな言葉を習得する学習処理の高精度化と高速化とを実現することができる。
【００５３】
また、応答データベース作成モジュール２２では、ベクトル低次元化処理において、ｔ−ＳＮＥ等の手法を用いて、文ベクトル生成処理でベクトル化された言葉のベクトルのグローバル構造及びローカル構造を維持した状態で言葉のベクトルの次元数を減じる。これにより、学習精度を高めることができる。
【００５４】
また、応答データベース作成モジュール２２では、低次元化したデータに対して学習済みの関数を適用した分類処理を用いることで、言葉の採用と不採用を判断する処理を高速化することができる。
【００５５】
上記説明は、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００５６】
１  言語対話システム
１１  マイク
１２  音声認識器
１３  対話制御器
１４  応答データベース
１５  音声合成器
１６  スピーカー
２１  対話ログデータベース
２２  応答データベース作成モジュール
２３  単語ベクトルデータベース
３１  コーパス
【図１】
2018097191.tif 000009
【図２】
2018097191.tif 000010
【図３】
2018097191.tif 000011
【図４】
2018097191.tif 000012
【図５】
2018097191.tif 000013
【図６】
2018097191.tif 000014
【図７】
2018097191.tif 000015
【図８】
2018097191.tif 000016