(58)【調査した分野】(Int.Cl.,DB名)
前記1つまたは複数のモデレーション規則は、ユーザフィードバックの集合体から1つまたは複数のロボットにより表された対話文章へ導出される、請求項1乃至5のいずれか一項に記載の方法。
前記1つまたは複数のモデレーション規則は、中央集中的人間監視後に得られ、更新メカニズムにより1つまたは複数のロボット間に分散される、請求項6に記載の方法。
前記修正要求は、ユーザの年齢、ユーザの性別、ユーザの気分、ユーザの感情、ユーザの数、ユーザとの相互作用履歴、ユーザ嗜好、ロボットおよび/またはユーザの空間的配置、ロボットおよび/またはユーザのジェスチャまたはジェスチャの組み合わせ、ロボットの環境内で検知された事象、ローカル天候、地理的位置、日付、時間およびそれらの組合せを含むリストから選択されるパラメータに依存する、請求項13に記載の方法。
【発明の概要】
【課題を解決するための手段】
【0006】
ロボットと人間ユーザ間の音声対話を取り扱うコンピュータ実施方法が提供される。本方法は、前記音声対話中に、音声データを受信し前記音声データをテキストデータへ変換する工程と、前記テキストデータに応じて、複数の文章を含む対話コンテンツと対話音声スキンとを含む対話トピックを判断する工程と、ロボットにより音声でレンダリングされる文章を判断する工程と、前記判断された対話文章の修正要求を受信する工程とを含む。
【0007】
ロボットにより表現されるように計画された文章(例えば、ユーザの質問に対するロボットによる応答)は「バッファ」される(すなわち、直ちに音声でレンダリングされない)。これは、例えば誰が修正要求を送信し得るか、修正要求を受諾または拒絶するために何の判定基準が適用されるか、いつ音声レンダリングが発生するかなど複数の規則方式のための余地を残す。何故このような要求が伝達されるかに関する追加的約因について説明することができる。
【0008】
一つの発展形態では、本方法はさらに、前記修正要求を拒絶し、判断された対話文章を音声で復元する工程を含む。
【0009】
この実施形態では、ロボットにより提供される応答は「デフォルト設定の」応答であり得る(すなわち、ロボットの製造者により規定されるような応答)。この実施形態は開ループ方式に対応する(すなわち実時間でない)。対照的に、他の手法について以下に説明する。
【0010】
一つの発展形態では、本方法はさらに、前記修正要求を受諾し、修正され判断された対話文章を音声で復元する工程を含む。
【0011】
この実施形態は「閉ループ」方式に対応し得る:すなわち対話は異なるエンティティによりオンザフライで変更され得る。これはまた、別の規則またはモデレーション機構を導入できるようにする。導入される遅延は一般的には管理可能である。
【0012】
一つの発展形態では、修正要求を受諾または拒絶する工程は、計画された文章と1つまたは複数のモデレーション規則とを比較する工程を含む。一つの発展形態では、1つまたは複数のモデレーション規則が予め定義される。この実施形態では、代行モデレーション論理はロボットの製造者のものであり得る。
【0013】
一つの発展形態では、1つまたは複数のモデレーション規則がネットワークから取り出される。モデレーションはまた「クラウド供給」され得る(例えば、いくつかの文章に対するユーザの悪い反応はインストールベースで統合され得、モデレーション規則はクラウド内に維持され、個々のロボットにより適用され得る)。
【0014】
一つの発展形態では、1つまたは複数のモデレーション規則は1つまたは複数のフィルタを含み、前記フィルタは1つまたは複数の単語のブラックリストまたは1つまたは複数の単語のホワイトリストを含む。
【0015】
一つの発展形態では、修正要求は単一パーティから発する。この実施形態では、対話は、例えば「企業」オーサリングに対応する1つのパーティ(例えば、ソフトウェア編集者またはロボットの製造者)により作成される。
【0016】
一つの発展形態では、修正要求は複数のパーティの投票である。この実施形態では、1つの修正の源が存在するがこの源は複数のエンティティからの結果を結晶化し得るということが理解される。特に、エンティティはソフトウェアモジュールまたは層(すなわち、ロボット内部の、またはクラウド内の)であり得る。これらのエンティティはまた、人間投票者(例えば、対話を協働的に編集し得る)に対応し得る。
【0017】
一つの発展形態では、修正要求は優先順位に関連付けられる。この実施形態では、優先順位が、導入され、モデレーションまたは規則におけるあり得る競合に対処できるようにする。
【0018】
一つの発展形態では、修正要求はロボットにより認識される環境に依存する。一つの発展形態では、修正要求は、ユーザの年齢、ユーザの性別、ユーザの気分、ユーザの感情、ユーザの数、ユーザとの相互作用履歴、ユーザ嗜好、ロボットおよび/またはユーザの空間的配置、ロボットおよび/またはユーザのジェスチャまたはジェスチャの組み合わせ、ロボットの環境内で検知された事象、ローカル天候、地理的位置、日付、時間およびそれらの組合せを含むリストから選択されるパラメータに依存する。
【0019】
一つの発展形態では、本方法はさらに、修正され判断された対話文章を音声で復元した後にユーザのフィードバックを受信する工程を含む。
【0020】
前記コンピュータプログラムが好適なコンピュータ装置またはロボット装置上で行われると本方法の1つまたは複数の工程を実行するための命令を含むコンピュータプログラムが開示される。本方法の1つまたは複数の工程を行うようにされた手段を含むシステムが開示される。
【0021】
コンパニオンロボットは通常、多モードである。音声相互作用は、パーソナルコンピュータとの対比でロボットを特徴付ける運動とその傾きとに沿った、ユーザとの相互作用のクリティカル部分を構成する。ユーザとロボットとの対話は、相互作用を強化または個人化し、最終的にユーザ経験を改善し得る。一実施形態では、ロボットは、その対話モードの適応化により自身を現在の認識された文脈に順応させる。ロボットは例えば、外国人に対し「ミスター」と言うことができる、または過去にそうすることが許されていれば人の姓を使用し、ユーザおよび/または文脈に応じて多少フォーマルに話すことができる。特定の単語もまた、(例えば)ユーザ、履歴、フィードバック、気分、場所、日時に応じてフィルタ処理され得る。人が文章を理解しない場合、ロボットは、そうするように要求されればまたは主導的に、ゆっくりおよび/または同義語により繰り返し得る。ロボットはまた、ユーザの嗜好(語彙によっては多少速く話す)を学習し、ユーザの気分を改善し得る。
【0022】
有利には、ロボットは、新しい言語拡張を実施し、各ロボットをユニークにし、肯定的感情を起こさせ、したがって人間とロボットとの関係を強化し得る。
【0023】
有利には、いくつかの実施形態によると、マン−マシン相互関係が能動的であり、もはや受動的ではない:すなわち、ロボットは、人間的観点から、いくつかの主導性を採り得る(例えば、ロボットは例えば曖昧性除去目的のために質問をし得る)。さらに、個人化されたやり方またはそうでなければ適切なやり方で表わされた適応化対話コンテンツまたはパターンにより、マン−マシン相互関係はさらに最適化される。
【0024】
有利には、相互作用の会話モードは、ユーザとのより「親密な」「関係」、少なくともより「自然な」相互作用を可能にする。このより良いユーザ経験は、機械による人間ユーザの「理解」の向上につながる可能性が高い。関連音声スキンおよび/または対話文章により示唆および強化された機械との付随「近親性」は、ユーザからのおよびユーザに関するデータの収集を容易にし得る。ユーザとロボットの両方は、より「表現性に富み」得る。用語「表現性」は、「マン−マシン相互関係が(より)自然であるのでユーザはより多くのデータをロボットへ伝達しロボットはユーザに関するより多くのデータを知り格納し、好循環に相互作用をさらに豊かにし得る」ということを指す。これはパーソナルコンピュータには当てはまらない。タブレットは例えばクイズまたは質問の形式でまたはスピーチ合成により「質問」を試み得る。しかし、タブレットは自力で(自律的に)動き、物体を移動し人間に追随する「コンパニオン」とはみなされないので、残留バイアスが残ることになる。捕捉され得るデータの量はコンパニオンロボットと比較して小さくなる。コンパニオンロボットが楽しいまたはそうでなければ適切な音声スキンまたは対話パターンを使用し得るということが、データを捕捉するこの能力を強化する。
【0025】
ユーザに関し能動的または受動的に収集された情報(例えば、ユーザプロファイルまたはユーザ宣言嗜好)が、立ち上げ条件の入力として使用され得る(例えば、音声スキンまたは対話パターンは、ユーザが「Bienvenue chez les Ch’tis」を愛する場合だけ立ち上げられるべきである)。機械学習の機構が行われ得る:すなわち、本システムにより立ち上げられるまたは実行される音声スキンまたは対話パターンは、ユーザについて学習されたものに依存して進化することになる。
【0026】
次に一例として本発明のいくつかの実施形態について、同様な参照子が同様な要素を表す添付図面を参照し説明する。
【発明を実施するための形態】
【0028】
以下に、用語「対話」、「対話エンジン」「対話モード」、「対話トピック」「対話コンテンツ」、「対話音声スキン」を定義する。
【0029】
「対話」は、1人または複数のユーザとのグローバル音声相互作用を指す。「対話」は、予め作成された文章と、これらの予め作成された文章を表わし管理するための規則とを含む。「対話」は、規則と文章を管理する論理に対応する「対話エンジン」により調整される。詳細には、「対話」は複数の「対話モード」(特定の音声レンダリングにより表現される文章の様々な組み合わせの結果に対応する、例えばトーン1およびピッチ1により表される文章A、トーン1およびピッチ2により表される文章A、速度3により表される文章B等)に対応し得る。「対話」は「対話トピック」で構成される。「対話トピック」はa)データおよびb)プログラムの両方を含む動的レポジトリーである。データは、「対話コンテンツ」(すなわち、まさしくその実体、例えば所定文章の集合)と「対話音声スキン」(すなわち形式、例えば、速度、トーン、周波数およびピッチなどの音声スピーチパラメータ)とを含む。プログラム(例えば、スクリプト)は、対話動的相互作用を管理するための論理規則(例えば、フォールバック状況等のためのトピックの優先順位を管理するためのトピック間の遷移を管理するための規則)を含む。
【0030】
「対話トピック」は、文章などの(静的)データと(動的)ソフトウェアプログラムの両方を含むレポジトリー(例えば、さらに解釈され実行される論理規則などのスクリプトまたは擬似コード)である。データは、所定対話文章(例えば、複数の質問およびあり得るまたは期待回答)とソフトウェアプログラムまたはスクリプトまたは規則(例えば、対話トピック間の遷移を管理するためのまたはフォールバック状況を管理するための規則)とに対応する。
【0031】
したがって、対話トピックは、1)ユーザがトピックに入れるようにする文章および/またはトリガ規則、2)トピックについて語り質問を投げかけるためにロボットにより言われる文章の提案、3)ユーザ回答を管理するための文章および/または規則、4)トピック間の遷移を明示的に管理するための文章および/または規則、5)フォールバック状況を管理するための文章および/または規則を含む。
【0032】
各対話トピックは、a)ソフトウェアプリケーションを立ち上げるまたは実行するまたはしないことを判断するために主として使用される意味論的記述と、b)文脈的立ち上げ規則(年齢グループ、人の数、場所、当日の時刻)と、c)(いくつかのアプリケーションが実行を求めて競争する場合の競合の)管理規則(関連付けられた優先順位がこのような競合を解決し得る)と、d)競合またはエラーの場合のフォールバック文章(例えば、フォールバック文章は「私は疲れたので何か他のことをしよう」であり得る)と、d)指標(値)として表された優先度などの他のものおよび/または規則(論理式)と、を含むメタデータに関連付けられ得る。特に、対話トピックは優先順位に関連付けられ得る。対話トピックの特定部分は副優先度に関連付けられ得る。
【0033】
対話トピックは所定の多モード相互作用を含み得る。ロボット内にインストールされた対話トピックは、実行されると1つまたは複数の方法の工程を行い得るコンピュータプログラムコードを含む。対話トピック(例えば、予想質問に対する応答を含む所定文章の集合)は、行為(例えば、ダンスの実行、頭の運動または任意の物理的行為)、および/またはアニメーション(例えば、もしあれば照明の活性化など)、およびそれらの組合せ(例えば、ダンス中の対話)に関連付けられ得る。
【0034】
対話トピックはロボット上にインストールされたソフトウェアプリケーションに関連付けられ得る。関連付けられた対話トピックの例としては、ローカル天候状況を提供するようにされた天候アプリケーションに関連する対話(例えば、推奨衣服、過去の天候、ジョークまたは隠喩を論述する)、ゲームアプリケーションに関連付けられた対話(例えば、激励、ジョーク、所見の対話)、ダンスアプリケーションに関連付けられた対話が挙げられる。
【0035】
ロボットは一般的には多モード(音声フィードバック、視覚的フィードバック、運動の組み合わせ)である。ロボット上にインストールされたソフトウェアプリケーションは、ロボットの一組の物理的行為(ダンスし、動き、物体をつかみ移動する)をもたらし得る。スマートフォンまたはタブレットのソフトウェアプリケーションは通常、物理的世界の実際の具体的行為を含まない。
【0036】
ソフトウェアプリケーションは相互依存し得る。例えば、ソフトウェアプリケーションは複雑なオブジェクトを表し得るので、先験的個別ソフトウェアプリケーション(または対話トピック)間の「遷移」が観測され得る。タブレットコンピュータ上で、天候ソフトウェアプリケーションは気象データを提供し、作図ソフトウェアプリケーションは作図ツールを提供する。ロボット上で、ロボットは話された結果「外は−10℃である」を伴うおよび/または1枚の紙の上に雪だるまを描く(および/またはジェスチャの組み合わせにより外の寒さを象徴化することにより)ということが考えられる。換言すれば、多モード出力の結果として、ソフトウェアプリケーションまたは対話トピックはさらに組み合わせられ得る(出力レベルでまたは下位レベルで、例えば変数またはパラメータまたはスクリプトはソフトウェアプリケーション間で共有または修正され得る)。
【0037】
「対話モード」は、実体(「対話パターン」または「対話コンテンツ」)と計画文章の形式(「音声スキン」または「音声レンダリング」)の組み合わせに対応する。換言すれば、「対話モード」は実体面(例えば、メッセージにより伝達される事実コンテンツまたは情報)、および形式面(例えば、話された言語の表現性または感情またはトーン)に関連付けられる。
【0038】
「対話コンテンツ」または「対話パターン」は、例えばあるテーマまたはトピックまたは関心領域に関する質問と(予想または期待または可能)回答とに対応する所定文章の集合を指す(が、一般的範囲の文章が想定され得るので、必ずしもそうではない)。
【0039】
「対話スキン」または「対話音声スキン」は音声レンダリング修正を指す。このような音声レンダリング修正は「形式」(例えば、周波数、速度、ピッチおよびトーン)に影響を与える。換言すれば、対話スキンの適用は、根底にある予め作成された文章を修正すること無くロボットの表現性を抜本的に変更し得る。ロボットとのスピーチ相互作用の修正の影響は、様々なレベルにおいて(コンテンツ的に(実体)および/または形式(トーン等)において)評価され得る。音声スキンは、いくつかの音声を模倣することにつながるパラメータを含み得る。スピーチ合成を管理するために様々な音声パラメータを取り扱い得る。音声パラメータは、周波数(ロボットがより明瞭にまたはより太く話せば判断される)、速度(ロボットがどれくらい速くまたは遅く話すか)、トーン(例えば、俳優シルベスター・スタローンとマスター・ヨーダのキャラクタとが同じ速度および周波数で話せば、彼らは同じトーンを有しない)を含む。
【0040】
「対話規則」は例えば、1つまたは複数の音声スキンおよび/または対話コンテンツまたはパターンの適用を規定する実行規則を指す。「実行規則」は、ロボットが言い得る語句(語彙、文章の前または後のいくつかの表現の追加)を適合化させるスクリプト、プログラムコードまたはそうでなければ論理式または論理規則を含み得る。(例えば、ロボットは質問に答えようとするまたは状況を明確にしようとするので)ロボットが人間ユーザに何かを言おうとするときはいつも、ロボットの計画文章が1つまたはいくつかの対話実行スキン規則に一致すれば、文章はこれらの規則に従って修正され、その後、ロボットは修正された文章を言うことになる。一実施形態では、1つまたは複数の対話実行規則が1つまたは複数の文章(すなわち、ロボットにより言われるように計画された文章)に適用され得る。一実施形態では、前記規則は、ロボットにより言われる各文章に適用され得る。一実施形態では、規則は、文章のサブセット(例えば、所定単語または表現を含む)に適用され得る。対話実行規則は予め定義され得る。対話実行規則はまた、インターネットから動的に取り出され得る。いくつかの規則は追加的であり得、他のいくつかは互に排他的であり得る。例えば、実行規則は年齢制限を含み得る(例えば、符号化し得る)。蓄積実行規則が使用または適用され得る。例えば、特定の音声スキンは、12歳を越える年齢のユーザの前でおよび/またはいくつかの状況(当日の時刻、聴衆内で測定された感情等)に従って認定され得る。いくつかの実行規則はユーザ(例えば、ペアレンタルコントロール)により構成可能であり得る。
【0041】
図1は、本発明のグローバルおよび技術的環境を示す。ロボット130はセンサおよびアクチュエータを含む。論理または「マインド」100はロボット内に実装されるまたはそれに関連付けられ(例えば、遠隔的に)、ソフトウェア110およびハードウェア部品120の集合を含む。ロボット130は1人または複数のユーザ150と相互作用する(1つまたは複数の対話セッションを含む相互または双方向通信140により)。前記1人または複数のユーザは、接続装置(サーバのクラウドとおよび/または他のロボットまたは接続対象の一団などと通信する)であり得る他の計算装置160(例えば、ウエアラブルコンピュータまたはスマートフォンなどのパーソナルコンピュータまたはタブレット)にアクセスし得る。特に、接続装置はウエアラブルコンピュータ(例えば、時計、眼鏡、没入型ヘルメット等)であり得る。
【0042】
同図の特定ロボット130は、本発明が実施され得るヒューマノイドロボットの一例と考えられる。同図のロボットの下肢は、歩行には機能的でないが、置かれた表面上で転回するそのベース上で任意の方向に移動し得る。本発明は、歩行に適したロボットにおいて容易に実施され得る。
【0043】
本発明のいくつかの実施形態では、ロボットは様々な種類のセンサを含み得る。それらのいくつかは、ロボットの位置および運動を制御するために使用される。これは例えば、ロボットの胴内に配置された慣性ユニットのものであり、3軸ジャイロメータおよび3軸加速度計を含む。ロボットはまた、ロボットの額上(頂部と底部)に2つの2DカラーRGBカメラを含み得る。3Dセンサはまた、ロボットの眼の背後に含まれ得る。ロボットはまた、その環境内の物体/生物に対するその相対位置を感知することができるようにレーザ光線発生器を任意選択的に(例えば、頭内とベース内に)含み得る。ロボットはまた、その環境内の音を感知することができるマイクロホンを含み得る。本発明のロボットはまた、その環境内の物体/人間までの距離を測定するために、恐らくそのベースの前部および後部に位置するソナーセンサを含み得る。ロボットはまた、人間との相互作用を可能にするためにその頭およびその手上に触覚センサを含み得る。ロボットはまた、その経路上で遭遇する障害を感知するためにそのベース上にバンパを含み得る。その感情を翻訳しその環境内の人間とコミュニケーションするために、本発明のロボットはまた、例えばその眼、耳内におよびその肩上にLEDをそして拡声器(例えば、その耳内に配置される)を含み得る。ロボットは、様々なネットワーク(3G、4G/LTE、Wifi、BLE、メッシュ等)を介し基地局と、他の接続装置と、または他のロボットと通信し得る。ロボットは電池またはエネルギー源を含む。ロボットは、ロボットが含む電池のタイプに適した充電ステーションにアクセスし得る。ロボットの位置/運動は、センサの測定という観点では、各肢により定義されたチェーンと各肢の端において定義されたエフェクタとを活性化するアルゴリズムを使用することによりそのモータにより制御される。
【0044】
特定実施形態では、ロボットは、その環境へメッセージ(音声、映像、ウェブページ)を伝達し得るタブレットを埋め込み得る、またはタブレットの触覚インタフェースを介しユーザからエントリを受信し得る。別の実施形態では、ロボットはスクリーンを埋め込まないまたは提供しないが、データまたは情報がロボットの近傍の表面上に投射され得る映像プロジェクタを有する。前記表面は平ら(例えば、床)であってもなくてもよい(例えば、投射面の変形はほぼ平らな投射を得るために補償され得る)。両方の実施形態(スクリーンを有するおよび/またはプロジェクタを有する)では、本発明の実施形態は有効なままである:すなわち、請求相互作用モデルは視覚的相互作用手段により補足または補完されるだけである。いずれにせよ、グラフィック手段が故障しているまたは意図的に非活性化されていたとしても、相互作用の会話モードは存続する。
【0045】
一実施形態では、ロボットはこのようなグラフィックユーザインターフェース手段を含まない。既存ヒューマノイドロボットは通常、高度スピーチ能力を備えるがGUIを備えない。増加するユーザのコミュニティは恐らく、選択および/または必要性(実際的状況のために若者、障害者等)により、ロボットと通信するために、グラフィック手段(例えば、タブレット、スマートフォン)を補足物としてすら使用しないことになる。
【0046】
ソフトウェアの集合110は(非網羅的に)、「抽出器」111、「活動示唆」112、「マインド優先順位付け」113、「パッケージ管理者」114、「ユーザ履歴データ」115、「集中自律的活動」116、「集中対話トピック」117、および「健康監視サービス」118を含む互いに相互作用するソフトウェアモジュールまたはオブジェクトまたはソフトウェアコード部品を含む。
【0047】
「抽出器サービス」111は通常、ロボットの内部または外部にある何かを感知または認識し、短期データをロボットのメモリ中に提供する。抽出器サービスはロボットセンサから入力測定結果を受信し、これらのセンサ測定結果は、ロボットの位置、その環境内の物体/人間の識別、前記物体/人間の距離、人間により発声された単語またはその感情に関連する関連データを抽出するように前処理される。抽出器サービスは特に、顔認識、人認知、係合ゾーン、ウエイビング検出、微笑検出、凝視検出、感情検出、音声分析、スピーチ認識、音声定位、運動検出、パノラマコンパス、ロボット姿勢、ロボット健康診断、電池、QRコード(登録商標)取り扱い、ホームオートメーション、種族、時間およびスケジュールを含む。
【0048】
「アクチュエータサービス」はロボット130に行為を物理的に行わせるまたは行為を行わせる。運動追跡器、LED、行動管理者は「アクチュエータサービス」の例である。
【0049】
「データサービス」は長期格納データを提供する。データサービスの例は、ユーザデータとロボットで行ったもののその履歴とを格納するユーザセッションサービス115と、ロボットにより行われる手順のスケーラブルストレージにそれらの高レベル定義、立ち上げ条件およびタグを与えるパッケージ管理者サービス114である。「パッケージ管理者」は特に、活動と対話のスケーラブルストレージとマニフェストとを提供する。「マニフェスト」は、立ち上げ条件、タグおよび高レベル記述等のメタデータを含む。
【0050】
「マインドサービス」(例えば、サービスマインド優先順位付け113)は、行為を開始しているときにロボットの中央「マインド」により制御されるものである。「マインドサービス」は、「アクチュエータサービス」130、「抽出器サービス」111および「データサービス」115を繋ぎ合わせる。ベーシックアウェアネスは「マインドサービス」である。ベーシックアウェアネスは、運動サービスに移動するように告げるための人認識、運動検出および音声定位などの「抽出器サービス」を定期的に受ける。「マインド」113は、状況に基づきベーシックアウェアネスの行動を構成する。またある時には、ベーシックアウェアネスは、ひとりでに行動するまたはランニング活動により構成されるかのいずれである。
【0051】
「自律的生命」はマインドサービスである。「自律的生命」は行動活動を行う。状況の文脈に基づき、マインドは、何の活動に焦点を合わすべきかを自律的生命に伝え得る(「集中自律的活動116」)。マニフェスト内のメタデータはこの情報をマインド内に結び付ける。いかなる活動もオペレーティングシステムAPIのうちの1つまたは複数へアクセスし得る。活動はまた、何の活動に焦点を合わすべきかを自律的生命に直接伝えてもよいし、何のトピックに焦点を合わすべきかを対話サービスに伝えてもよい。
【0052】
「対話」サービスはマインドサービスとして構成され得る。「対話」サービスは、スピーチ認識抽出器を定期的に利用し、「アニメ化スピーチアクチュエータサービス」を使用して話し得る。状況の文脈に基づき、マインドは、何のトピック(「対話トピック」)に焦点を合わすべきかを対話サービスに伝え得る。「対話」サービスはまた、会話を管理するためのアルゴリズムを有し、通常は、ひとりでに行動する。対話サービスの1つの部品は「集中対話トピック」サービス117であり得る。対話トピックは、いつでも、異なる活動または対話トピックへ焦点を切り替える(またはそれを実行するまたは立ち上げる)ようにマインドにプログラム的に告げ得る。対話トピックを判断する可能な方法の一例は以下のものである:対話トピックまたは活動の立ち上げ条件が真または偽になった瞬間に、全ての可能な活動または対話トピックのリストがさしあたりマインドへ送信される;リストは活動優先順位付けに従ってフィルタ処理される;リスト順番がランダム化される;「ユニーク」でありかつそれほど頻繁に開始されなかった活動または対話トピックへ優先順位を与えるためにリストがソート(または採点)される;このリスト内の最上位対話トピックまたは活動が、実行された以前の活動と同じ活動ではないということを確認するための特別の照査。リストは再び、ユーザの嗜好に従ってソートされフィルタ処理され得る。
【0053】
ロボットは「健康監視」サービス118を実施し得る。このようなサービスは、ロボットの様々な優先度を精査または制御または調節するデーモンまたは「ウォッチドッグ」として働き得る。このようなサービスは、ロボットの内部部品の状態を(連続的、間欠的または定期的に)監視し得るとともにハードウェア障害を測定または予期または予測または補正し得る。一つの発展形態では、ロボットの一団が監視される(例えば、インストールベースで)。埋め込みサービスは故障状況を連続的に検知し、それを「クラウド」サービスと同期させ得る(例えば、毎分毎に)。
【0054】
ハードウェア部品120は、処理手段121、メモリ手段122、入出力I/O手段123、マスストレージ手段124およびネットワークアクセス手段125を含み、前記手段は互いに相互作用する(キャッシング、スワッピング、分散計算、負荷平衡等)。処理手段121はCPU(マルチコアまたはメニーコア)またはFPGAであり得る。メモリ手段122は、フラッシュメモリまたはランダムアクセスメモリの1つまたは複数を含む。I/O手段123は、スクリーン(例えば、タッチスクリーン)、ライトまたはLED、触覚フィードバック、バーチャルキーボード、マウス、トラックボール、ジョイスティックまたはプロジェクタ(レーザプロジェクタを含む)のうちの1つまたは複数を含み得る。ストレージ手段124は、ハードディスクドライブまたはSSDの1つまたは複数を含み得る。ネットワークアクセス手段は、3G、4G/LTE、Wifi、BLEまたはメッシュネットワークなどの1つまたは複数のネットワークへのアクセスを提供し得る。ネットワークトラフィックは暗号化され得る(例えば、トンネル、SSL等)。
【0055】
一実施形態では、計算資源(計算機、メモリ、I/O手段、ストレージおよび接続性)は例えばローカル資源(ロボット自身に利用可能な)に対する補足として遠隔的にアクセスされ得る。例えば、別のCPUユニットが音声認識計算タスクのクラウドを介しアクセスされ得る。計算資源はまた、共有され得る。特に、複数のロボットが資源を共有し得る。ロボット近傍の接続装置はまた、例えばセキュアプロトコルを介し資源をある程度共有し得る。表示手段も共有され得る。例えば、テレビがロボットにより別のディスプレイとして使用され得る。
【0056】
図2は、対話の管理を示す。対話は1つまたは複数のエンティティから作成され得る(220)。対話トピックは監視され得(230)、利用統計値が様々なやり方で使用され得る:すなわち、人間解析後時間的に後に、または準実時間で(例えば、ロボットのインストールベースを更新することにより)。様々な規則方式231、特にモデレーションについて以下に説明する。
【0057】
次に、対話の協働オーサリングの220実施形態について説明する。
【0058】
様々なオーサリング220モデルが可能である。一実施形態では、対話はロボットの製造者により作成される。これは、ロボットの公的行動の一定の形式の制御を例えばデフォルト設定で可能にする。
【0059】
一実施形態では、対話はソフトウェア編集者またはソフトウェア提供者またはISV(独立系ソフトウェアベンダ:independent software vendor)により作成され得る。このモデルによると、対応会社の法的債務が関与される。ソフトウェア編集者はロボットの製造者またはロボットプラットホームオペレータにより定義される規則(良くない語の無いこと、うやうやしい態度等)を反映しなければならない可能性がある。対話トピックの例としては、対話トピック「ロボット」、対話トピック「料理」または対話トピック「スポーツ」が挙げられる。各対話トピックは、例えば1つまたは複数のサーバ上のクラウドへ送信され得るおよび/または各ロボット上に常駐し得る。トピックは任意選択的に、1つのユニーク言語モデル中に因子分解され得る(例えば、最適化され得るおよび/または連結され得るおよび/または同化され得る)。一実施形態では、対話トピックはロボット上で因子分解される。一実施形態では、ロボットは複数の対話トピックをインストールし得る。したがって、各ロボットはその適切な言語モデルを有し得る。一実施形態では、対話トピックは、インストールベースの様々なロボットのミラーとしてクラウド内で因子分解される。一実施形態では、対話トピックは、クラウド内でおよび部分的にロボット内で部分的に因子分解される。
【0060】
一実施形態では、対話は全体的にまたは部分的に、クラウドにより編集(すなわちクラウド供給オーサリング)され得る。このような実施形態では、対話コンテンツおよび/または規則に寄与する人の数は、対話の「企業」オーサリングと比較すると著しく高い可能性がある。対話を編集する技術的困難性は、最大数の人が対話コンテンツの編集に寄与し得る点まで低下され得る。クラウドソーシングモデルおよび技術は、カバレッジが(利用可能トピックの数という意味で、およびまたコンテンツの品質という意味で)閉鎖型(例えば、プロプライアタリ)モデルと比較して優れ得るということを証明した。構築された対話のコンプライアンスの制御は下流ソフトウェア層(対話の過程でいくつかの単語または表現を検閲または禁止するためのモジュール)において扱われ得るまたは管理され得る。開放型システムは有利には、対話コンテンツのデータベースを協働的に豊かにするために利用される。開放型システムは有利には、ユーザのコミュニティの創造性を活用し、最終的に、より良くかつ大きな知識ベースを生成する。実際、ロボットは、料理レシピから花に関する知識にわたる多種多様のトピックにアクセスし得る。この態様は、ロボットが「オンデマンド」対話トピックを取り出しインストールし得る(例えば、接続ロボットにより)ということにより強化される。このような広いカバレッジは、「閉鎖型」発展形態により得るのがより困難である。制御の負担は、ロボット内に実装された規則機構に移される。
【0061】
一実施形態では、対話コンテンツは絶えず進化する(「ウィキ対話」)。
【0062】
一実施形態では、対話コンテンツは異種の源から集約される。例えば、対話は、「デフォルトによる」対話、ソフトウェア提供者の追加対話モジュールおよびウェブの自動抽出の集合体から生じ得る。一実施形態では、フォーマットは対話データベースを取り扱うように定義される。フォーマットは、特定構文のものであり、特定データ構造を規定する。規定フォーマットの対話を有することで、異種の源の同化を可能にし、異種の源の集合から場合により発生する競合(例えば、どの源を第1に信用するべきか)の管理を容易にする。
【0063】
次に、対話トピックの監視230の実施形態について説明する。
【0064】
対話は監視され得る(230)。多種多様なソフトウェアプリケーションまたは対話トピックがインストールベースの各ロボット(または、フリートのようなその下位部分)上にインストールされ得るので、定量的測定は前記対話トピックの様々な活動に関し行われ得る。このようなメトリックは例えば、何回、どれくらい長く、どんな地形で、所与の対話トピックが立ち上げられたか、ユーザの反応は何であったか(例えば、感情、微笑、気分、返答)の測定を含み得る。各対話トピックは所与の特定メトリクスに関連付けられ得る。複数のメトリックは統合および/または集約され得、さらに解析され得る。
【0065】
対話トピックの監視は、a)一般的目的のためにロボットプラットホームオペレータのために、b)対話トピック供給者のために(コンテンツ、例えば「ジョーク」アプリケーションの場合にジョークのコンテンツを改善し、バグまたは不正確なまたは非最適化規則を補正し、投資効率、費やされる時間等を改善するために)、およびc)ユーザ自身(より良好なユーザ経験および相互作用等)のために、価値があり得る。
【0066】
統合された統計の知識は、ロボットプラットホームオペレータに様々な対話トピックの立ち上げの確率を微調整させ得る。ロボットプラットホームオペレータは、様々な対話トピックのランキングを維持し得る。前記ランキングは動的および/または文脈的であり得る。例えば、対話トピックが成功であることが明らかになれば、前記対話トピックは別の場合に好適に立ち上げられ得る。一般的に言えば、製造者またはロボットまたはロボットプラットホームオペレータは個々の相互作用を集約し、さらにグローバル(すなわち、集約され、統合された)社会的相互作用モデル(ユーザ、複数のユーザ、代表ユーザなどとの)を構築し得る。対話トピック供給者の利点は、対話トピックの使用に関するローカル(より狭い)観点へのアクセスにより当該アプリケーションの連続的改善の可能性を含む。対話トピックにより費やされる時間はグローバルに解析され得る。しかし、詳細には、対話トピックの立ち上げの文脈的条件が徹底的に調査され得る。このような解析はさらに、アプリ供給者が立ち上げ条件および/または遷移条件を改善できるようにする。一実施形態では、ライセンスモデルはダウンロード毎支払いだけでなく使用毎支払い(すなわち使用毎収益)でもあり得る。
【0067】
一実施形態では、監視される活動は、時間および周波数などのパラメータまたは値または判定基準(例えば、1日当たり、1週間当たり、または月当たりの実行の頻度、対話トピックが最も立ち上げられるとき(例えば日曜日などの朝または夕方)のユーザ要求の頻度)、費やされる時間(例えば、全相互作用時間)、地理的位置(例えば、どこで対話トピックがより多く成功するかを解析するための)、エラー(例えば、対話トピックバグまたはクラッシュ、正しくない規則、聞き取れない文章、ユーザの悪い反応等)、対話トピック間の遷移(例えば、対話トピック間の遷移を示す「マルコフ」モデル;例えば、天候アプリケーションはニュースアプリと強く結合される一方で料理アプリとはゆるく結合され得、対話ブリッジが確立され得る)、対話トピック性能統計(例えば、エラーを除いて、どの速度でデータが取り出されたかそして対話トピックが実行されるかなど)、ユーザの満足度(例えば、認識される感情、または受動的にまたは暗黙的に捕捉される気分、能動的かつ明示的に求められたときの満足度の宣言)、トリガ条件(例えば、何故そしていつ対話トピックが立ち上げられるかを理解できるようにする統計値)、相互作用するユーザ(例えば、ユーザのプロファイル、性別、年令など)を含み得る。
【0068】
次に、対話の管理231の実施形態について説明する。
【0069】
対話の管理231(対話トピックおよび/または対話コンテンツおよび/または対話スキン、および/または対話規則)はソフトウェアパッケージ内に実装され得る。例えば、このようなパッケージは、ロボットの製造者またはソフトウェア編集者により作成され得る(220)、または定義またはプログラムされ得る。このようなソフトウェアは修正可能であってもなくてもよい。例えば、対話トピック(例えば、音声スキン)は完全に判断され得る(例えば、いかなるさらなるパラメータ化も公式に許容され得ない)。そうでなければ、対話トピックは部分的にだけ判断され得る。例えば、いくつかの(例えば、有限数の)ローカルパラメータがエンドユーザの管理下で残り得るが、設定の大部分は変更され得ない(例えば、音声スキンの総合的健全性を維持するために)。
【0070】
ソフトウェアプリケーションは対話トピック(データおよび/またはプログラム)を管理し得る。特に、ソフトウェアプリケーションは、対話コンテンツ(例えば、予想される質問に対する応答を含む所定文章の集合)、および/または対話スキンおよび/またはプログラムおよび規則(例えば、対話コンテンツの上のプログラミング、すなわち環境に応じた適応化などの実行規則、頭の運動との同期、もしあれば照明の活性化等)およびそれらの組合せ(例えば、ダンスをしながらの対話)を管理し得る。
【0071】
ソフトウェアプリケーションは相互依存し得る。多モード出力の結果として、ソフトウェアプリケーションはさらに組み合わせられ得る(出力レベルでまたは下位レベルで、例えば変数またはパラメータまたはスクリプトはソフトウェアプリケーション間で共有または修正され得る)。例えば、ロボットは、外の寒さを象徴するジェスチャの組み合わせにより、話された結果「外は−10℃である」を伴い得る。
【0072】
ソフトウェアプリケーションは有利には、対話インタフェースを介し(すなわちユーザとの(「自然な」)対話の行為の過程中に)ユーザへ呈示され得る。換言すれば、対話システムは、ユーザが1つまたは複数のアプリケーションを立ち上げるまたは行うことができるための「ボトルネック」として働き得る。
【0073】
「対話エンジン」は、実時間でそして文脈において様々な対話トピックを活性化または非活性化するために最終判断レベルを操作する。換言すれば、「対話エンジン」モジュールは、対話トピック間の1つまたは複数の遷移を監督する(または制御または規制または同期または操作する)。一実施形態では、インストールされたトピックだけが活性化され得る。一実施形態では、対話トピックはオンザフライでインストールされ得る。特に、対話エンジンは、活性化のために、「競合状態の」それぞれの対話トピックの宣言された優先度および副優先度間で仲裁する。文脈に依存して、様々な他の副トピックだけでなくグローバルトピックが定義される。階層モデルは時間と共に進化し、対話トピック候補は連続的に定義される。競合の管理は、発見的方法の使用により解決され得る。第1の発見的方法は「最も長い規則が勝つ」ということである。同じ文章を生じる2つのトピックから発する競合の場合、最も長い規則が常に勝つ、例えば「ロボットについて話そう」に対して「ヒューマノイドロボットについて話そう」が選択される。キャラクタの長い列はキャラクタの短い列より多くの情報を伝達するということが想定され得る。第2の発見的方法は情報の鮮度に関連する。規則が厳密に同一であれば、最近のトピックが勝ち得る。例えば、ユーザがトピック「料理」次に「ロボット」次に「ヒューマノイドロボット」次に「犬」を経れば、後者のトピック「ヒューマノイドロボット」がトピック「ロボット」の代わりに選択されることになる。いかなるトピックもユーザと議論されていなく、ユーザが記述を既に定義していれば、ロボットはユーザの好みのトピックに関しユーザに尋ね得る。いかなる記述も予め定義されていなければ、トピックは無作為に選択され得る。
【0074】
ロボットとの、またはロボット内の、またはロボットによる対話の管理は、ダウンロード可能ソフトウェアプログラムの形式で実施され得、前記プログラムは、好適なロボット装置上で実行されると前記ロボット装置に特定の物理的行為を行わせる(プログラム対話モード(対話コンテンツおよび/または音声スキン)を実行することを含む)命令を含む。ソフトウェアプログラムは「拡張モジュール」または「プラグイン」または「アドオン」として提供され得る。追加の対話モードが、ロボットの初期設定対話コンテンツおよび音声スキンと組み合わせられ得る、またはそれに追加され得る、またはそれと置換され得る。一実施形態では、対話モードは、ロボットにインストールされた他のソフトウェアプリケーションのサービスと呼ばれ得る。例えば、天候アプリケーションは、ある情況(例えば、満月)においてダークベイダーの声を使用し得る。対話モードおよび/または関連実行規則は、ネットワークを介しアクセスされてもよいしローカルにアクセスされてもよい。いくつかの実施形態では、対話モードおよび/または関連実行規則は、ネットワークおよび遠隔知識ベースへのアクセスにより補完または補足される。
【0075】
次に、対話の「規則」(または「モデレーション」)の実施形態について説明する。
【0076】
対話の規則に関し、いくつかのアーキテクチャが可能である(例えば、開ループ実施形態、半開ループ実施形態、閉ループ実施形態)。
【0077】
開ループ実施形態では、ユーザフィードバックは人間モデレーションにより制御される(例えば、アドミニストレーションパネルが対話に関するフィードバック(例えば特定の質問に対する応答)を集中管理し、1人または複数の人間が、対話モデルを変更しなければならないかどうかをケースバイケース原則で判断する。一実施形態では、開ループ規則機構が実施される。データが収集され、別の統計値が前記データから導出された後、統計値の人間解析が行われ得、別の補正(例えば、ソフトウェア更新)または行動(例えば、サービスの再設計)がなされ得る。有利には、前記補正および/または行動は高品質のものであり得る(たとえ変更がロボットへ直ちにまたは迅速にもたらされなくても)。
【0078】
閉ループ実施形態では、フィードバックループは、より直接的にローカル改善を生じ得る(例えば、ローカルに考慮されたロボットがますますうまく話すことになる)。換言すれば、「ベストプラクティス」がインストールベースのロボット全体にわたって広められ得る。「バッドプラクティス」は、広められ得る前にフィルタ除去される可能性が高い。一実施形態では、閉ループ規則メカニズムが実施される。アプリメトリックおよび/または統計値はソフトウェアプリケーションに直接結合される。有利には、バグ報告およびさらにゼロ・デイ・エクスプロイトが自動および「即時」更新またはパッチをトリガする。変更は、ソフトウェアプリケーションによりユーザ経験の任意の影響レベルで広められ得る。例えば、統計が、「天候アプリがニュースアプリと重く関連付けられる」と示せば、ソフトウェア更新は、天候がアナウンスされた後ニュースを系統的に提案するように一団のロボットを管理し得る。このような更新の遅延は意図的に低減され得る。いくつかのケースでは、ローカル規則(例えば、ユーザプロファイルまたは嗜好)がグローバル更新にもかかわらず以前のシステムを維持し得る。アプリケーションの実行可能性(信頼できるデータおよび/または動的および系統的行動)が増加すると閉ループシステムが実施され得る。
【0079】
一実施形態では、モデレーションもまたクラウド供給される。すなわち、対話の版が開放され得る(ある程度)一方で、モデレーションも開放され得る。目玉の数が充分あればすべてのバグは深刻ではない:すなわち、十分な数の人間の前でアナウンスされた良くない語は「社会的に」フィルタ除去され易い。
【0080】
対話のモデレーションに関し、1つまたは複数のモデレーション規則が使用され得る(すなわち、ロボットにより言われる計画された文章は1つまたは複数のモデレーション規則と比較され得る)。一実施形態では、規則は予め定義される(代行モデレーション論理がロボットの製造者のものであり得る)。一実施形態では、1つまたは複数のモデレーション規則がネットワークから取り出される(モデレーションはまた「クラウド供給」され得る)。例えば、いくつかの文章に対するユーザの悪い反応はインストールベースで統合され得、モデレーション規則がクラウド内に維持され、個々のロボットにより適用され得る。1つまたは複数のモデレーション規則は1つまたは複数のフィルタを含み得、前記フィルタは1つまたは複数の単語のブラックリストまたは1つまたは複数の単語のホワイトリストを含む。いくつかの語が検閲される(例えば、所定語の使用は、2値または当該確率または閾値であれば、禁止され得る)。逆に、いくつかの他の単語が許容され得る、またはいくつかの単語の使用が奨励され得る(バイアス)。
【0081】
開示された方法は、完全ハードウェア実施形態(例えば、FPGA)、完全ソフトウェア実施形態またはハードウェアおよびソフトウェア要素の両方を含む実施形態の形式を採り得る。ソフトウェア実施形態は、限定しないがファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本発明は、コンピュータまたは任意の命令実行システムにより使用されるまたはそれに関連して使用されるプログラムコードを提供するコンピュータ使用可能またはコンピュータ読み取り可能記憶媒体からアクセス可能なコンピュータプログラム製品の形式を採り得る。コンピュータ使用可能またはコンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスにより使用されるまたはそれに関連して使用されるプログラムを含み、格納し、伝達し、広め、または搬送し得る任意の装置であり得る。コンピュータ読み取り可能記憶媒体は、電子的、磁気的、光学的、電磁気的、赤外線、半導体システム(または装置またはデバイス)、または伝播媒体であり得る。