(57)【要約】  好適には人型ロボット（ＲＩ）である機械（ＯＥ）と、少なくとも一人の人間話者（ＩＮＴ）との間で対話を実行する方法であって、前記機械により実行される以下のステップ、すなわち  ａ）前記人間話者を識別するステップと、  ｂ）複数の対話変数を含み、少なくとも１つの値が少なくとも１つの前記対話変数に割り当てられた話者プロファイル（ＩＮＴ＿ＰＲ）をデータベース（ＢＤＤ）から抽出するステップと、  ｃ）前記話者から発せられた少なくとも１つの文を受信および解析するステップと、  ｄ）少なくともステップｃ）で受信および解釈された前記文および前記話者プロファイルの１つの前記対話変数の関数として少なくとも１つの応答文を生成および発信するステップとを含む方法。
2016536630.tif 000002
【特許請求の範囲】
【請求項１】
機械（ＲＴ）と、少なくとも一人の人間話者（ＩＮＴ）との間で対話を実行する方法であって、前記機械により実行される以下のステップ、すなわち
ａ）前記人間話者を識別するステップと、
ｂ）複数の対話変数（ＶＤ）を含み、少なくとも１つの値が少なくとも１つの前記対話変数に割り当てられた話者プロファイル（ＩＮＴ＿ＰＲ）をデータベース（ＢＤＤ）から抽出するステップと、
ｃ）前記話者から発せられた少なくとも１つの文を受信し、前記話者から発せられた前記文または各々の前記文を解析して、前記話者プロファイルの少なくとも１つの対話変数に割り当てる少なくとも１つの値を当該文から抽出すると共に前記値または各前記値を前記話者プロファイルに保存するステップと、
ｄ）少なくともステップｃ）で受信および解釈された前記文および前記話者プロファイルの１つの前記対話変数の関数として少なくとも１つの応答文を生成および発信するステップとを含み、
ステップｃ）で受信および解析された前記文または少なくとも１つの前記文が、前記話者により自発的に、または前記機械により発信された非疑問文に続いて話された文であることを特徴とする方法。
【請求項２】
前記話者から発せられた前記文または少なくとも１つの文の解析、および前記応答文または少なくとも１つの応答文の生成が、各々の構文木（ＡＳ１，ＡＳ２）により表される複数の文型（ＭＤＰ）を用いて実行される、請求項１に記載の対話実行方法。
【請求項３】
前記文型の少なくとも一部が、前記話者プロファイルの対話変数への少なくとも１つのポインタを含んでいる、請求項２に記載の対話実行方法。
【請求項４】
前記文型の少なくとも一部が、概念（ＣＰＴ）と呼ばれる文内で交換可能な用語の少なくとも１つの集合への少なくとも１つのポインタを含んでいる、請求項２または３のいずれか１項に記載の対話実行方法。
【請求項５】
前記ステップｄ）が、前記話者から発せられた少なくとも１つの文型と、少なくとも１つの応答文型とを関連付ける複数のルール（Ｒ）により実行される、請求項２〜４のいずれか１項に記載の対話実行方法。
【請求項６】
前記ステップｄ）において、少なくとも１つの前記ルールが、前記話者から発せられた同一文型に、応答文として利用可能な複数の文型を関連付けると共に、前記応答文型のうち、前記話者プロファイル内で値が割り当てられない対話変数へのポインタを含むものが放棄される、請求項５に記載の対話実行方法。
【請求項７】
−少なくとも１つの前記ルールが、会話の主題を識別するタグ（ＴＧ）によりマーキングされていて、
−前記ステップｄ）において、決定された会話の主題を識別する少なくとも１つのタグによりマーキングされた１つまたは複数のルールが、少なくとも１つの対話パラメータの関数として有効化または無効化される、請求項５または６のいずれか１項に記載の対話実行方法。
【請求項８】
前記話者プロファイルはまた対話履歴を含み、前記ステップｄ）において、前記応答または少なくとも１つの前記応答もまた前記対話履歴の関数として生成される、請求項１〜７のいずれか１項に記載の対話実行方法。
【請求項９】
前記ステップｄ）において、前記応答または少なくとも１つの前記応答はまた、前記機械により取得または決定された少なくとも１つの文脈のパラメータの関数として生成される、請求項１〜８のいずれか１項に記載の対話実行方法。
【請求項１０】
前記ステップａ）において、前記人間話者が、画像取得装置（ＤＡＩ）により、顔認識により、または前記装置に提示されたグラフィックコードを読み取ることにより識別される、請求項１〜９のいずれか１項に記載の対話実行方法。
【請求項１１】
前記ステップｂ）において、前記機械が、通信ネットワーク（ＲＣ）を介してリモートサーバー（ＳＶＤ）にアクセスして、前記リモートサーバーに保存された前記データベースから前記話者プロファイルをダウンロードする、請求項１〜１０のいずれか１項に記載の対話実行方法。
【請求項１２】
前記機械が、前記通信ネットワークを介して前記リモートサーバーにアクセスしたならば、前記ステップｃ）で前記話者から発せられた少なくとも１つの文から抽出された少なくとも１つの対話変数に割り当てられた少なくとも１つの値の保存により更新された話者プロファイルを前記データベースにロードする、請求項１１に記載の対話実行方法。
【請求項１３】
前記機械が、人型ロボット（ＲＴ）に埋め込まれたプロセッサ（ＯＥ）を含んでいる、請求項１〜１２のいずれか１項に記載の対話実行方法。
【請求項１４】
前記プログラムがプロセッサ上で実行された際に、請求項１〜１３のいずれか１項に記載の方法を実行するコンピュータプログラム製品。
【請求項１５】
請求項１３に記載の方法を実行すべくプログラミングされた埋込み型プロセッサ（ＯＥ）を含む人型ロボット（ＲＴ）。
【請求項１６】
−人間話者を識別すべく前記埋込み型プロセッサと協働する画像取得装置と、
−前記人間話者により話された少なくとも１つの文を受信すべく前記埋込み型プロセッサと協働する音声取得装置と、
−１つの前記応答文を発信すべく前記埋込み型プロセッサと協働する音声発信装置をも含んでいる、請求項１５に記載の人型ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械と人間との間で対話を行う方法に関する。当該機械は、コンピュータ、「スマートホン」のプロセッサ、またはロボット、特に少なくとも１つの埋込み型プロセッサを含む人型ロボット等の任意のデータ処理装置であってよく、対話は口頭で行うことができる。本発明はまた、当該方法を実行するためのコンピュータプログラム製品、およびロボット、好適には人型ロボットに関する。
【背景技術】
【０００２】
「人型ロボット」は、胴体、頭部、腕、脚、音声認識および合成手段等を用いて人間と口頭でコミュニケーションする能力等、人間の外観および機能の特定の属性を示すロボットとして定義することができる。この種のロボットの目的は、人と機械との間の認知的距離を縮めることである。人型ロボットの最も重要な特徴の一つは、人間話者とできるだけ自然な対話を維持する能力である。この能力は、高齢者、病人、または単に日常生活で孤立している人々を支援して、これらの人々に、人間の支援者の代わりとして受容可能な代替品を提供することを目的とする「コンパニオンロボット」の開発に必須である。
【０００３】
従来技術で公知の人型ロボットの対話方法は、反復的且つ画一的であり、少なくとも極めて不自然であるため、満足できるものではない。
【０００４】
Ｓ．ＲｏｓｅｎｔｈａｌおよびＭ．Ｖｅｌｏｓｏによる論文“Ｍｉｘｅｄ−Ｉｎｉｔｉａｔｉｖｅ  Ｌｏｎｇ−Ｔｅｒｍ  Ｉｎｔｅｒａｃｔｉｏｎｓ  ｗｉｔｈ  ａｎ  Ａｌｌ−Ｄａｙ−Ｃｏｍｐａｎｉｏｎ  Ｒｏｂｏｔ”，ｉｎ  Ｄｉａｌｏｇｓ  ｗｉｔｈ  Ｒｏｂｏｔｓ：Ｐａｐｅｒｓ  ｆｒｏｍ  ｔｈｅ  ＡＡＡＩ  Ｆａｌｌ  Ｓｙｍｐｏｓｉｕｍ（ＦＳ−１０−０５），ｐａｇｅｓ  ９７−１０２に、人間の訪問者を例えば大学のロボット工学部門に案内する能力を有するロボットが記述されている。当該ロボットは、対話中に反復を避けるようにプログラミングされている。しかし、２人の異なる人間話者にほぼ同内容の対話が提供される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｓ．Ｒｏｓｅｎｔｈａｌ  ａｎｄ  Ｍ．Ｖｅｌｏｓｏ“Ｍｉｘｅｄ−Ｉｎｉｔｉａｔｉｖｅ  Ｌｏｎｇ−Ｔｅｒｍ  Ｉｎｔｅｒａｃｔｉｏｎｓ  ｗｉｔｈ  ａｎ  Ａｌｌ−Ｄａｙ−Ｃｏｍｐａｎｉｏｎ  Ｒｏｂｏｔ”，ｉｎ  Ｄｉａｌｏｇｓ  ｗｉｔｈ  Ｒｏｂｏｔｓ：Ｐａｐｅｒｓ  ｆｒｏｍ  ｔｈｅ  ＡＡＡＩ  Ｆａｌｌ  Ｓｙｍｐｏｓｉｕｍ（ＦＳ−１０−０５），ｐａｇｅｓ  ９７−１０２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
文献米国特許第７，５３９，６５６号明細書に、機械が人間話者と対話して当人にサービスを提供する、例えば朝食を注文するのに必要な情報を得る方法を記述している。このような対話は極めて画一的であり、その目的は会話を再現することではない。従って当該方法は効率的な「コンパニオンロボット」の製作には適していない。
【０００７】
文献米国特許第７，９８７，０９１号明細書は、機械が１人以上の話者と「個人化された」および「発展的な」対話を維持する方法を記述している。対話が個人化されている理由は、機械がメモリに保存された話者に関する各種情報に基づいて対話を行うためである。発展的である理由は、機械が対話中に新たな情報を得るからである。しかし、情報の取得と利用のフェーズが明らかに別々であるため、対話は不自然なままである。
【課題を解決するための手段】
【０００８】
本発明は、機械、特にロボットと対話を行い、他の人間との自然な対話に近づける方法を提供することにより、従来技術の上述の短所を克服することを目的とする。より具体的には、本発明は、発展的且つ自然な、話者に適合された対話（非画一的）を主導して、人間話者とロボットとの間に真の感情的な絆を形成可能にすることを目的とする。発展は、同じ対話（または「対話セッション」）内および、たとえ時間的に離れていても同じ人間話者との二つの連続した対話の中で等しく聞くことができる。
【０００９】
本発明の目的の一つは、上述の目的を実現可能にするものであり、機械と、少なくとも一人の人間話者との間で対話を実行する方法であって、前記機械により実行される以下のステップ、すなわち
ａ）前記人間話者を識別するステップと、
ｂ）複数の対話変数を含み、少なくとも１つの値が少なくとも１つの前記対話変数に割り当てられた話者プロファイルをデータベースから抽出するステップと、
ｃ）前記話者から発せられた少なくとも１つの文を受信および解析し、前記話者から発せられた前記文または各々の前記文を解析して、前記話者プロファイルの少なくとも１つの対話変数に割り当てる少なくとも１つの値を当該文から抽出すると共に前記値または各前記値を前記話者プロファイルに保存するステップと、
ｄ）少なくともステップｃ）で受信および解釈された前記文および前記話者プロファイルの１つの前記対話変数の関数として少なくとも１つの応答文を生成および発信するステップとを含んでいる。
【００１０】
話者の識別および話者プロファイルを用いた応答文の生成により、対話の個人化が可能になる。「応答」という用語は、狭義の「質問への回答」の意味ではなく、刺激に応答して発信される任意の文を含めるよう広義に解釈すべきである。
【００１１】
応答の解析により、機械が対話中に、または一連の対話を通じても、話者プロファイルを充実させることができる。機械が話者をより深く知るように学習し、自身の知識を用いて対話を洗練させると言ってよい。
【００１２】
更に、対話が画一的でない理由は、機械からの応答が、話者のプロファイルおよび話者が今話したばかりの少なくとも１つの文に依存するためである。上述の文献米国特許第７，９８７，０９１号明細書による方法で生じるのとは逆に、（情報の）「取得の対話」と（情報の）「利用の対話」との間に区別がない。本発明によれば、同一の対話中において、機械は既に入手可能な話者に関する情報を用いて新たな情報を取得し、これを直ちにまたは後で用いることができる。
【００１３】
前記話者から発せられた前記文または少なくとも１つの文の解析、および前記応答文または少なくとも１つの応答文の生成は、各々の構文木により表される複数の文型を用いて実行することができる。
【００１４】
有利な特徴として、前記文型の少なくとも一部は、前記話者プロファイルの対話変数への少なくとも１つのポインタを含んでいる。応答を生成する際に、機械は、当該ポインタを話者プロファイルに保存された対話変数の値に置換する。逆に、受信した文を解析する際に、機械は、文型内でポインタが示す場所を占有している前記文の所定の単語を、対応する対話変数の値として話者プロファイルに保存すべき値であると解釈する。
【００１５】
有利な特徴として、前記文型の少なくとも一部は、「概念」と呼ばれる文内で交換可能な用語の少なくとも１つの集合への少なくとも１つのポインタを含んでいてよい。
【００１６】
前記ステップｄ）は、前記話者から発せられた少なくとも１つの文型と、少なくとも１つの応答文型とを関連付ける複数のルールにより実行することができる。これらのルールは「木」構造で表すことができる。
【００１７】
この場合、前記ステップｄ）において、少なくとも１つの前記ルールが、前記話者から発せられた同一文型に、応答文として利用可能な複数の文型を関連付けることができ、更に、前記応答文型のうち、前記話者プロファイル内で値が割り当てられない対話変数へのポインタを含むものを廃棄することができる。従って、機械は自身の応答を、話者に関して自身が知っていること、または、知らないことの関数として選択することができる。
【００１８】
有利な特徴として、少なくとも１つの前記ルールは、会話の主題を識別するタグによりマーキングすることができ、前記ステップｄ）において、決定された会話の主題を識別する少なくとも１つのタグによりマーキングされた１つまたは複数のルールを、少なくとも１つの対話パラメータ（１つ以上の対話変数、文脈パラメータ、対話履歴等の値、またはそのような値が無いこと）の関数として有効化または無効化することができる。これは、対話の発展させるための技術的様相である。
【００１９】
前記話者プロファイルはまた対話履歴を含んでいてよく、前記ステップｄ）において、前記応答または少なくとも１つの前記応答もまた前記対話履歴の関数として生成することができる。これにより、対話の発展が保証されて反復が回避される。
【００２０】
前記ステップｄ）において、前記応答または少なくとも１つの前記応答はまた、前記機械により取得または決定された少なくとも１つの文脈のパラメータの関数として生成することができる。当該パラメータは特に、時計により決定される時間であってよく、従って例えば正午近くになったときに対話が昼食に関するものになり得る。パラメータはまた、カレンダにより決定される日付け、センサにより取得される温度または周辺明度等であってよい。
【００２１】
前記ステップａ）において、前記人間話者は、カメラ等の画像取得装置により、顔認識により、または前記カメラに提示されたグラフィックコードを読み取ることにより識別することができる。他の識別方法（生体認証、キーパッドを介して入力されたコード、音声認識等）もまた可能である。
【００２２】
前記ステップｂ）において、機械は、通信ネットワークを介してリモートサーバーにアクセスして、前記リモートサーバーに保存された前記データベースから前記話者プロファイルをダウンロードすることができる。機械はまた、前記通信ネットワークを介して前記リモートサーバーにアクセスしたならば、前記ステップｃ）で前記話者から発せられた少なくとも１つの文から抽出された少なくとも１つの対話変数に割り当てられた少なくとも１つの値の保存により更新された話者プロファイルを前記データベースにロードすることもできる。一変型例として、データベースはローカルに保存することができる。
【００２３】
好適には、前記機械は、人型ロボットに埋め込まれたプロセッサを含んでいる。しかし他の実施形態も可能であり、 例えば、機械はデスクトップコンピュータ、「スマートホン」、車両に搭載されたコンピュータ等であってよい。
【００２４】
本発明の別の主題は、上述のような方法を実行するコンピュータプログラム製品（すなわち、永久または揮発性半導体メモリ、またはＣＤ−ＲＯＭ型のディスクまたはハードディスク等のハードウェア記憶媒体に保存された実行可能形式のコンピュータプログラム）である。
【００２５】
本発明の更に別の主題は、上述のような方法を実行すべくプログラミングされた埋込み型プロセッサを含む人型ロボットである。有利な特徴として、当該人型ロボットはまた、
−人間話者を識別すべく前記埋込み型プロセッサと協働するカメラ等の画像取得装置と、
−前記人間話者により話された少なくとも１つの文を受信すべく前記埋込み型プロセッサと協働するマイクロホンまたはマイクロホンの配列等の音声取得装置と、
−１つの前記応答文を発信すべく前記埋込み型プロセッサと協働するスピーカー等の音声発信装置をも含んでいる。
【００２６】
本発明の他の特徴、詳細事項、および利点は、例として示す添付図面に関して与えられる記述を精査すれば理解されよう。
【図面の簡単な説明】
【００２７】
【図１】人間話者と対話すると共にリモートサーバーと通信している、本発明の一実施形態による人型ロボットである。
【図２】本発明の一実施形態による方法のフロー図である。
【図３Ａ】本発明による方法の実行に用いられる木構造。
【図３Ｂ】本発明による方法の実行に用いられる木構造。
【図３Ｃ】本発明による方法の実行に用いられる木構造。
【図３Ｄ】本発明による方法の実行に用いられる木構造。
【発明を実施するための形態】
【００２８】
図１に、人間話者ＩＮＴと対話している人型ロボットＲＴを示す。ロボットは、人間の形状を再現する多関節体に加え、
−本発明の対話方法を実行する、当該タスク専用のプロセッサ、または他のタスクも実行して究極的には自身でロボットを制御するプロセッサであり得る、例えばロボットの頭部に配置された埋込み型プロセッサまたはコンピュータＯＥと、
−話者ＩＮＴの画像を取得すべくロボットの頭部、例えば口の中および／または額に配置された１つ以上の画像取得装置（カメラ）ＤＡＩと、
−ロボットが「話す」ことができるように例えばロボットの頭部の側面に配置された音声発信装置ＤＥＳ（スピーカー）と、
−ロボットに聞こえるように例えばロボットの頭部の上面に配置された１つ以上の音声取得装置ＤＡＳ（マイクロホン）とを含んでいる。
【００２９】
画像取得および音声取得装置はプロセッサＯＥに入力データ、特に、
−話者を識別可能にすべく、装置ＤＡＩにより取得された、前記話者の顔、または識別を容易にすべく話者が示すグラフィックコード（例えば「スマートホン」の専用アプリケーションにより取得されたＱＲコード）の画像等の少なくとも１つの画像と、
−話者により発せられて認識および解析が必要な文を表現可能な音声とを供給する。
【００３０】
プロセッサＯＥは、これらの入力データを処理すべく（公知の）画像認識および音声認識ソフトウェアをメモリに保存して実行する。一変型例として、このようなソフトウェアまたはこのようなソフトウェアの一部は、後述するように外部データベースに保存することができる。
【００３１】
音声発信装置ＤＥＳは、プロセッサＯＥにより駆動される。
【００３２】
ロボットＲＴは、ネットワークＲＣ（例えば、ＷｉＦｉ接続を介してアクセスするインターネット）を介して、「話者プロファイル」のデータベースを保存するリモートサーバーＳＶＤと通信状態にある。
【００３３】
ロボットは、装置ＤＡＩを介して取得された画像に画像認識アルゴリズム（顔またはグラフィックコードの認識）を適用することにより取得された話者ＩＮＴの識別データＩＮＴ＿ＩＤをサーバーＳＶＤに送信する。ある場合において、当該データは直接画像であってよく、その場合、識別ステップはリモートサーバーにより実行される。例えば、特定の実施形態において、ユーザーは自身の「スマートホン」によりサーバーＳＶＤに登録され、サーバーは前記スマートホンを介して当該ユーザーにＱＲコードを送る。ユーザーは、スマートホンの画面上の当該コードを表示して、ロボットのカメラのうち１台の前に当該コードをかざすことによりロボットに提示する。ロボットはＱＲコードの画像をサーバーに再送信し、サーバーは前記画像をユーザーと関連付ける、その時点で当該ユーザーは識別された話者になる。他の実施形態において、識別は、話者の顔の画像に基づいて、話者の声の認識により、または単に対話の開始時点で話される「こんにちは、私はＪｅａｎです」のような自己紹介の文から行われる。
【００３４】
サーバーＳＶＤは、受信した識別データに基づいて、データベースＢＤＤから話者プロファイルＩＮＴ＿ＰＲを取り出して、ネットワークＲＣを介してロボットＲＴに送信する。話者プロファイルは、ユーザーに依存する１つの値（複数の値の場合もある）が関連付けられた変数のリストを含むファイルである。話者「Ｊｅａｎ  Ｄｕｐｏｎｔ」のプロファイルからの抽出内容は例えば以下の個人データであってよい。
話者の識別子：０００１１
ファーストネーム：Ｊｅａｎ
年齢：３５歳
職業：エンジニア
趣味：水泳、ランニング、サイクリング
ペット：
母国語：フランス語
他言語：
【００３５】
上述の抽出内容は、８つの変数、すなわち話者の識別子、「ファーストネーム」、「氏名」、「年齢」、「職業」、「趣味」、「ペット」、「母国語」、および「他言語」を含んでいる。最初の４つの変数は自身に有効に割り当てられる単一の値をとる。「趣味」変数は同時に複数の値をとることができ、この場合「水泳」、「ランニング」および「サイクリング」の値が割り当てられる。「ペット」変数は複数の値をとり得るが、何も入力されていない。最後の２つの変数「母国語」（単一値：「フランス語」）および「他言語」（複数の値が可能だがここでは何も入力されていない）は特に重要である。実際には、本方法の多言語バージョンにおいて、プロセッサはこれらの変数の値を用いて、話者に話しかける言語または聞き取った文の認識および解析に用いる言語パラメータを決定する（最初にロボットが話す場合）ことができる。
【００３６】
ロボットＯＥのプロセッサは、変数に割り当てられる値（または何も入力されていないという事実）を用いて、以下に詳述するように話者ＩＮＴとの対話を管理する。このため、当該変数は「対話変数」と呼ばれる。
【００３７】
また以下に詳述するように、プロセッサＯＥはまた、話者プロファイルの内容を対話の関数として変更することを要求されることがある。例えば、Ｊｅａｎ  Ｄｕｐｏｎｔが英語も話すことを知って、当人のプロファイルの「他言語」変数に値「英語」を割り当てることができる。この学習は、（ロボットにより発された非疑問文に続いて、または自発的に、ロボットからの質問に答えて）話者により話される文を解析することにより行われる。このような（対話の直後または終了時点で、あるいは一定間隔等での）更新の後、プロセッサが次いでデータベースＢＤＤに保存されている話者プロファイルの変更されたバージョンをサーバーＳＶＤに送信する。一変型例として、データベースＢＤＤをローカルに保存することができ、その場合ネットワークＲＣへの接続は必要でない。
【００３８】
ロボットが話者プロファイルに含まれる情報を用いて同プロファイルを充実させる対話の例を以下に示す。話者は「Ｊｅａｎ」（識別子０００１１）であり、対話開始時点でのプロファイルは上述の通りである。ロボットおよび人間話者により話される文をイタリックで表記している。（使用または取得された）対話変数または、（話者のプロファイルにも保存された）過去の対話の履歴データに対応する単語は下線表示されている。
【００３９】
ロボットは、自身のカメラ（または自身のカメラの１台）の視野に人が入ったことを検知して、当人の顔が話者「０００１１」の顔であることを確認する。ロボットは、対応する話者プロファイルをメモリにロードし、「名前」情報を用いて部分的に事前準備された挨拶文を個人化する。ロボットはまた、対話履歴に関する情報、すなわち前日に同じ話者との別の対話があった事実を用いる。
・ロボット：こんにちはＪｅａｎ！また会いに来てくれてありがとう。うれしいです！昨日からどうされてました？
【００４０】
話者は、質問で応答する。
・人間：相変わらずだよ。君はどう？
【００４１】
話者から投げかけられた質問（「君はどう？」）は応答を誘発するが、この場合は画一的である。
・ロボット：絶好調です。ありがとう！
【００４２】
対話を続けるために、ロボットは文脈データの日付、この場合は「ヨーロッパの日」５月９日（当該情報はロボットのメモリに保存されている）に頼る。
・ロボット：今日が「ヨーロッパの日」であることをご存知ですか？様々な異なる言語や文化を持つ国々が統一されているのはとても素晴らしいことだと思います。ところで私は多くのヨーロッパ言語を話せます！Ｊｅａｎ、あなたはフランス語以外の言語を話せますか？
【００４３】
文脈データの利用については以下で詳述する。
【００４４】
上述の文（全般的構造すなわち「文型」が以下に詳述するように事前準備されている）を個人化すべく、ロボットは話者のプロファイルから３項目の情報、すなわち当人の名前（「Ｊｅａｎ」）、「母国語」変数の値（「フランス語」）、および「他言語」変数に何も入力されていない事実を用いる。話者からの応答により、ロボットは当該変数に値「英語」を割り当てることによりプロファイルを充実させることができる。
・人間：うん、僕は英語を流暢に話せるよ。
【００４５】
ロボットからの応答はこの新たに保存された値、すなわち以前に「職業」変数に割り当てられた値（「エンジニア」）、および「他言語」変数の特定の値と「職業」変数の特定の値を関連付ける自身のメモリに保存された「ルール」を用いる。
・ロボット：すごいですね。英語は本当にエンジニアという仕事にとても役立つ言語です。
【００４６】
ロボットはまた、今プロファイルに保存されたばかりの言語で対話を続ける選択肢を話者に提供することができる。
・ロボット：少し英語で話してみませんか？
・人間：ＯＫ。練習の機会になるからね。
・ロボット：素晴らしいですね。さあ始めましょう！
【００４７】
話者からの肯定的な応答により、英語（ロボットは当該言語で対話すべくプログラミングされていると仮定する）での対話が始まる。
【００４８】
対話の終了時点で値「英語」が当人の「他言語」変数に割り当てられているため、話者のプロファイルが変更される。
話者の識別子：０００１１
ファーストネーム：Ｊｅａｎ
年齢：３５歳
職業：エンジニア
趣味：水泳、ランニング、サイクリング
ペット：
母国語：フランス語
他言語：英語
【００４９】
図２のフロー図は、本発明の一実施形態による方法の実行をより詳細に示す。
【００５０】
人間話者を識別するステップａ）は２つのサブステップ、すなわち
−画像（上述のように話者の顔の画像またはグラフィック識別コードであってよい）を取得するサブステップａ１と、
−前記画像の認識により話者を識別する（上述のように当該ステップはローカルに、またはリモートサーバーにより実行可能な）サブステップａ２とを含んでいる。
【００５１】
他の識別モードもまた可能である。
【００５２】
ステップｂ）は、ステップａ）で識別された話者に対応する話者プロファイルＩＮＴ＿ＰＲの、ローカルに保存されたデータベースからの、またはリモートサーバー上での抽出を含んでいる。
【００５３】
任意選択的に、ステップｂ）の後では、ロボットが、例えば話者に挨拶して、当人に名前（通常そうであるように当該変数が話者プロファイルに登録されていれば）で呼びかけることにより対話を主導することができる。当該ステップは、図を過度に煩雑にしないよう表示していない。
【００５４】
ステップｃ）は４つのサブステップ、すなわち
−１つまたは複数のマイクロホンＤＡＳにより前記ユーザーから発せられた音声を受信するサブステップｃ１と、
−サブステップｃ１で受信された音声に対して文を抽出する公知のアルゴリズムを用いることにより音声認識を行うサブステップｃ２と、
−文の解析を行うサブステップｃ３（当該サブステップは図３Ａ〜３Ｄを参照して更に詳述する）と、
−サブステップｃ３で実行された解析から、プロファイルの変数に割り当てられる新たな値が識別された場合、ステップｃは前記プロファイルを更新するサブステップｃ４とをも含んでいる。
【００５５】
対話がキーボードおよび画面を介して筆談で行われるより簡単な実施形態において、サブステップｃ１およびｃ２は簡単なテキスト取得で代替される。
【００５６】
応答を行うステップｄ）は３つのサブステップ、すなわち
−日付、時刻、気象データ、他人の存在等の文脈データを抽出する任意選択としてのサブステップｄ１と、
−応答文を生成するサブステップｄ２（当該サブステップは図３Ａ〜３Ｄを参照して更に詳述する）と、
−サブステップｄ２で生成された応答文を発信するサブステップｄ３（当該サブステップは公知の音声合成アルゴリズムおよび１つ以上のスピーカーＤＥＳを用いて実行される）とを含んでいる。
【００５７】
本方法は従って、ロボットが話者からの新たな文を待っている状態でサブステップｃ１から反復される。
【００５８】
アルゴリズムは、最長待ち時間が経過した後で終了することができる。更に、サブステップｃ３で実行される文解析は、話者が対話を終えたがっていることをロボットに知らせることができる（例えば、そのような願望は「もう行かなきゃ」、「さようなら」、「また今度ね」等の文の検知から推論できる）。同様に、話者がカメラＤＡＩの視野から居なくなった（サブステップＤ１）場合、ロボットは対話を終えることを決定できる。これらの変型例は、図を過度に煩雑にしないよう表示していない。
【００５９】
ロボットのプロセッサによる文の解析（サブステップｃ３）および生成（サブステップｄ２）は共に「文型」を実行する。文型は単語、変数「概念」および「タグ」へのポインタ、並びに１つ以上の論理演算子により紐付けられた行動インジケータを含んでいる。文型は、「構文木」と呼ばれる木構造により表現することができる。
【００６０】
図３Ａに、人間話者により話される文を解析すべく本方法のサブステップｃ３の実行で用いる文型ＭＤＰに対応する構文木ＡＳ１の第１の例を示す。当該文型は、この目的のために開発されたスクリプト言語で書かれている。
「ｍｙ  ｎａｍｅ  ｉｓ＿〜Ｆｉｒｓｔ−ｎａｍｅ−ｌｉｓｔ」
【００６１】
上記は３つの単語（「ｍｙ」、「ｎａｍｅ」、「ｉｓ」）および概念（「〜Ｆｉｒｓｔ−ｎａｍｅ−ｌｉｓｔ」）を含んでいる。チルダ「〜」は概念を識別し、「＿」文字は概念を保存する必要があることを示す。
【００６２】
単語および概念−参照ＣＰＴ−は、木の根を生成する「ＡＮＤ」論理演算子により紐付けられた構文木ＡＳの葉を生成する。
【００６３】
概念は、意味論的に近く且つ文内で交換可能な複数の単語を含み、ここではファーストネームのリストである。概念「Ｆｉｒｓｔ−ｎａｍｅ−ｌｉｓｔ」もまた木（図３Ｂ）により表現され、その葉は交換可能な単語（「Ｊｅａｎ」、「Ｐｉｅｒｒｅ」、「Ｐａｕｌ」、「Ｊａｃｑｕｅｓ」等）および根は「ＯＲ」論理演算子である。話者が例えば「私の名前はＪｅａｎです」と言えば、ロボットのプロセッサは当該文が文型に対応することを確認して値「Ｊｅａｎ」をロボットのメモリの一時変数に保存する（文型の「＿」文字に対応するコマンド＃ｓｔｏｒａｇｅ＃、「ハッシュ」文字−＃−は話すべき名前ではないことを示す）。
【００６４】
図３Ｃに、サブステップｃ４（話者プロファイルの更新）およびｄ２（応答文の生成）の実行に使用する文型ＭＤＰに対応する構文木の別の例を示す。当該文型は、以下のように書かれる。
「ｔｈａｔ’ｓ  ａ  ｎｉｃｅ  ｎａｍｅ＄１！＄ＩＮＴ／Ｆｉｓｒｔ−ｎａｍｅ＝＄１」
【００６５】
当該文型は４つの単語（「ｔｈａｔ’ｓ」、「ａ」、「ｎｉｃｅ」、「ｎａｍｅ」）、イントネーションマーカー（「！」）、および話者のファーストネームが保存されている一時変数へのポインタを含む（「＄１」−記号「$」は変数を識別する）。当該文型はまた、一時変数＄１に含まれる値の対話多様なＶＤ「$ＩＮＴ／Ｆｉｒｓｔ−ｎａｍｅ」への割当動作も含んでいる。割当動作もまた、等号演算子「＝」を介して変数「ＩＮＴ／Ｆｉｒｓｔ−ｎａｍｅ」とポインタ「＄１」とを関連付ける木（図３Ｂの最下部）により表現される。
【００６６】
ルールにより、プロセッサが入力（話者により話された文）を出力（ロボットにより発された応答文）に関連付けることが可能になる。図３Ｄに、そのようなルールを表す木Ｒを示す。ここでは、木ＡＳ１（入力）で表された文型を木ＡＳ２（出力）で表された文型に関連付ける極めて簡単なルールである。従って、当該ルールを適用することにより、話者が「私の名前はＪｅａｎです」と言えば、ロボットは「素敵な名前ですね、Ｊｅａｎ！」と応答する、但し「Ｊｅａｎ」は「Ｆｉｒｓｔ−ｎａｍｅ−ｌｉｓｔ」概念にリストされた他の任意のファーストネームで代替可能である。更に、上述のように、プロセッサは、ファーストネームが「Ｊｅａｎ」である旨の情報を保存することにより話者プロファイルを更新して、その後の対話中に当該情報を用いることができる。
【００６７】
ルールは、より複雑であってもよい。例えば、出力は、多数の代替案から、特定の変数および／または文脈データ（例えば上に示す対話の例のように日付）に割り当てられた値の関数として選択することができる。同様に、１つまたは複数の同じ出力に関連付けられた多数の代替的な文型を入力として与えることができる。
【００６８】
ルール木ＲはタグＴＧ：「＃Ｐｒｅｓｅｎｔａｔｉｏｎ＃」をも含んでいる。この場合、当該タグにより、意味論的に近いルールを組み合せる「会話の主題」にルールを付随させることが可能になり、ここでは会話の主題は話者の紹介を含んでいる。特定の変数の値および、話者プロファイルおよび／または文脈データに記録された対話履歴に基づいて、特定のタグによりマーキングされたルールを有効化または無効化することができる。従って、例えば、タグ「クリスマス」によりマーキングされたルールは、１２月１日〜１月５日（文脈データ）の間だけ有効化することができる。タグ「ペット」によりマーキングされたルールは、話者が飼っていないことをプロファイルが示す場合は無効化することができる。タグが付された特定個数のルールが適用されていれば、当該主題が充分に扱われていて、当該ルールを一定期間無効化することができるものと考えられる。
【００６９】
上述の対話履歴は、以前の対話およびそれらの日付のリスト、ロボットにより話された応答および質問（既になされた質問は反復を避けるため無効化されている）のリスト、タグおよびそれらの状態（有効化／無効化）のリスト、および既に扱われた主題のリストを（オプションとして各トピックで達した深さの程度の測定値と共に）含んでいる。当該履歴は、キーおよび値のリストの形式をなしている。
【００７０】
上述の全ての特徴は個人化および対話の発展に寄与する。
【図１】
2016536630.tif 000003
【図２】
2016536630.tif 000004
【図３Ａ】
2016536630.tif 000005
【図３Ｂ】
2016536630.tif 000006
2016536630.tif 000007
【図３Ｃ】
2016536630.tif 000008
【図３Ｄ】
2016536630.tif 000009
【手続補正書】
【提出日】平成28年5月26日(2016.5.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
機械（ＲＴ）と、少なくとも一人の人間話者（ＩＮＴ）との間で対話を実行する方法であって、前記機械により実行される以下のステップ、すなわち
ａ）前記人間話者を識別するステップと、
ｂ）複数の対話変数（ＶＤ）を含み、少なくとも１つの値が少なくとも１つの前記対話変数に割り当てられた話者プロファイル（ＩＮＴ＿ＰＲ）をデータベース（ＢＤＤ）から抽出するステップと、
ｃ）前記話者から発せられた少なくとも１つの文を受信し、前記話者から発せられた前記文または各々の前記文を解析して、前記話者プロファイルの少なくとも１つの対話変数に割り当てる少なくとも１つの値を当該文から抽出すると共に前記値または各前記値を前記話者プロファイルに保存するステップと、
ｄ）少なくともステップｃ）で受信および解釈された前記文および前記話者プロファイルの１つの前記対話変数の関数として少なくとも１つの応答文を生成および発信するステップとを含み、
ステップｃ）で受信および解析された前記文または少なくとも１つの前記文が、前記話者により自発的に、または前記機械により発信された非疑問文に続いて話された文であること、および前記話者から発せられた前記文または少なくとも１つの文の解析および前記応答文または少なくとも１つの応答文の生成が、各々の構文木（ＡＳ１，ＡＳ２）により表される複数の文型（ＭＤＰ）を用いて実行されることを特徴とする方法。
【請求項２】
前記文型の少なくとも一部が、前記話者プロファイルの対話変数への少なくとも１つのポインタを含んでいる、請求項１に記載の対話実行方法。
【請求項３】
前記文型の少なくとも一部が、概念（ＣＰＴ）と呼ばれる文内で交換可能な用語の少なくとも１つの集合への少なくとも１つのポインタを含んでいる、請求項１または２のいずれか１項に記載の対話実行方法。
【請求項４】
前記ステップｄ）が、前記話者から発せられた少なくとも１つの文型と、少なくとも１つの応答文型とを関連付ける複数のルール（Ｒ）により実行される、請求項１〜３のいずれか１項に記載の対話実行方法。
【請求項５】
前記ステップｄ）において、少なくとも１つの前記ルールが、前記話者から発せられた同一文型に、応答文として利用可能な複数の文型を関連付けると共に、前記応答文型のうち、前記話者プロファイル内で値が割り当てられない対話変数へのポインタを含むものが放棄される、請求項４に記載の対話実行方法。
【請求項６】
−少なくとも１つの前記ルールが、会話の主題を識別するタグ（ＴＧ）によりマーキングされていて、
−前記ステップｄ）において、決定された会話の主題を識別する少なくとも１つのタグによりマーキングされた１つまたは複数のルールが、少なくとも１つの対話パラメータの関数として有効化または無効化される、請求項４または５のいずれか１項に記載の対話実行方法。
【請求項７】
前記話者プロファイルはまた対話履歴を含み、前記ステップｄ）において、前記応答または少なくとも１つの前記応答もまた前記対話履歴の関数として生成される、請求項１〜６のいずれか１項に記載の対話実行方法。
【請求項８】
前記ステップｄ）において、前記応答または少なくとも１つの前記応答はまた、前記機械により取得または決定された少なくとも１つの文脈のパラメータの関数として生成される、請求項１〜７のいずれか１項に記載の対話実行方法。
【請求項９】
前記ステップａ）において、前記人間話者が、画像取得装置（ＤＡＩ）により、顔認識により、または前記装置に提示されたグラフィックコードを読み取ることにより識別される、請求項１〜８のいずれか１項に記載の対話実行方法。
【請求項１０】
前記ステップｂ）において、前記機械が、通信ネットワーク（ＲＣ）を介してリモートサーバー（ＳＶＤ）にアクセスして、前記リモートサーバーに保存された前記データベースから前記話者プロファイルをダウンロードする、請求項１〜９のいずれか１項に記載の対話実行方法。
【請求項１１】
前記機械が、前記通信ネットワークを介して前記リモートサーバーにアクセスしたならば、前記ステップｃ）で前記話者から発せられた少なくとも１つの文から抽出された少なくとも１つの対話変数に割り当てられた少なくとも１つの値の保存により更新された話者プロファイルを前記データベースにロードする、請求項１１に記載の対話実行方法。
【請求項１２】
前記機械が、人型ロボット（ＲＴ）に埋め込まれたプロセッサ（ＯＥ）を含んでいる、請求項１〜１１のいずれか１項に記載の対話実行方法。
【請求項１３】
前記プログラムがプロセッサ上で実行された際に、請求項１〜１２のいずれか１項に記載の方法を実行するコンピュータプログラム製品。
【請求項１４】
請求項１２に記載の方法を実行すべくプログラミングされた埋込み型プロセッサ（ＯＥ）を含む人型ロボット（ＲＴ）。
【請求項１５】
−人間話者を識別すべく前記埋込み型プロセッサと協働する画像取得装置と、
−前記人間話者により話された少なくとも１つの文を受信すべく前記埋込み型プロセッサと協働する音声取得装置と、
−１つの前記応答文を発信すべく前記埋込み型プロセッサと協働する音声発信装置をも含んでいる、請求項１４に記載の人型ロボット。
【国際調査報告】
2016536630.tif 000010
2016536630.tif 000011
2016536630.tif 000012
2016536630.tif 000013
2016536630.tif 000014
2016536630.tif 000015