(57)【要約】  人間とコンピュータシステムとの間の会話的インタラクションは、会話タイプによって入力を分類し、かつ、会話タイプについて人間が創作したレスポンスを提供するコンピュータシステムによって提供され得る。入力分類は、訓練されたバイナリ分類器を使用して実行され得る。トレーニングは、入力を会話タイプのポジティブ例またはネガティブ例のいずれかにラベル付けすることによって実行され得る。会話レスポンスは、分類器のトレーニングにおいて使用された入力をラベル付けした同一の個人によって創作されてよい。いくつかの場合において、分類器のトレーニングのプロセスは、新たな会話タイプの示唆を結果として生じ得る。人間の創作者は、新たな分類器のための入力をラベル付けし、そして、新たな会話タイプのためのレスポンスについてコンテンツを書くことができる。
2017527926.tif 000002
【特許請求の範囲】
【請求項１】
入力データを創作するように構成された入力デバイスであり、前記入力データは会話入力を表わしている、入力デバイスと、
前記入力データを受け取り、かつ、保管するように構成されたメモリと、
複数の分類器の入力に対して前記メモリからの前記入力データから生じた特徴データが適用されるようにするために構成された処理システムであり、各分類器は、複数の会話タイプの中から一つの会話タイプを表わしており、かつ、入力特徴データに応じて適合データを出力しており、
前記処理システムは、さらに、前記会話入力に対する会話レスポンスを示すデータを前記メモリの中に受け取るように構成されており、前記データは、前記複数の分類器によって出力される前記適合データに応じて選択されたものである、処理システムと、
前記会話レスポンスを示す受け取られたデータに基づいて出力データを提供するように構成された出力デバイスと、
を含む、装置。
【請求項２】
前記処理システムは、さらに、前記会話レスポンスを選択するために、
前記分類器によって出力される前記適合データに応じて前記複数の会話タイプの中から一つまたはそれ以上の会話タイプを選択し、かつ、
選択された前記一つまたはそれ以上の会話タイプに応じて前記会話レスポンスを生成する、
ように構成されている、請求項１に記載の装置。
【請求項３】
前記特徴は、前記会話入力から生成されたｎグラムを含む、
請求項１または２に記載の装置。
【請求項４】
前記特徴は、前記会話入力に関する感情を示すデータを含む、
請求項１乃至３いずれか一項に記載の装置。
【請求項５】
前記特徴は、前記会話入力の技術的事項に対する一つまたはそれ以上のクラスを示すデータを含む、
請求項１乃至４いずれか一項に記載の装置。
【請求項６】
前記処理システムは、さらに、前記会話入力および前記会話入力に関連する他の情報から前記特徴データを生じるように構成されている、
請求項１乃至５いずれか一項に記載の装置。
【請求項７】
各分類器は、バイナリ分類器であり、
前記適合データの出力は、特徴データに応じて、前記特徴データがバイナリ分類器に関連付けされた前記会話タイプのポジティブ例であるとしてラベル付けされた会話入力と一致する確率を表わす、
請求項１乃至６いずれか一項に記載の装置。
【請求項８】
前記処理システムは、さらに、前記会話レスポンスを選択するために、
前記複数の会話タイプに対する複数の会話レスポンスを保管しているコレクションから一つの会話レスポンスを選択するように構成されている、
請求項１乃至７いずれか一項に記載の装置。
【請求項９】
前記処理システムは、さらに、前記会話タイプを選択するために、
前記分類器からの前記適合データの出力の中からベストスコアを有する一つの会話タイプを選択するように構成されている、
請求項１乃至８いずれか一項に記載の装置。
【請求項１０】
前記処理システムは、さらに、
会話入力を会話タイプへと分類するために前記分類器を訓練するように構成されている、
請求項１乃至９いずれか一項に記載の装置。
【請求項１１】
前記処理システムは、さらに、会話タイプについて分類器を訓練するために、
会話入力の第一数を前記会話タイプのポジティブ例としてラベル付けし、かつ、会話入力の第二数を前記会話タイプのネガティブ例としてラベル付けし、
前記ラベル付けされた会話入力を使用して、前記分類器を構築し、
会話入力のコーパスにアクセスし、
各会話入力について前記分類器から出力を獲得するために、前記分類器に対して前記コーパスからの会話入力を適用し、
前記会話入力に対する前記分類器からの出力に基づいてラベル付けするために、一人以上の個人に対して追加の会話入力を示し、
示された追加の会話入力に対する前記一人以上の個人からのラベルを受け取り、
追加のラベル付けされた会話入力を使用して、前記分類器を再教育する、
ように構成されている、
請求項１乃至１０いずれか一項に記載の装置。
【請求項１２】
前記分類器は、前記一人以上の個人が前記ラベル付けを行った分類器と関連付けされた会話タイプについて、前記一人以上の個人のうちの一人以上によって準備された会話レスポンスを含む、
請求項１１に記載の装置。
【請求項１３】
前記処理システムは、さらに、
会話入力の前記コーパスからの追加の会話タイプを特定するように構成されている、
請求項１１に記載の装置。
【請求項１４】
会話入力を表わす入力データを、入力デバイスを通じて受け取り、かつ、メモリの中に保管する、ステップと、
処理システムが、前記メモリからの前記入力データから生じた特徴データを複数の分類器の入力に対して適用されるようにするステップであり、各分類器は、複数の会話タイプの中から一つの会話タイプを表わしており、かつ、入力された特徴データに応じて適合データを出力する、ステップと、
前記処理システムが、前記メモリの中へ、前記会話入力に対する会話レスポンスを示すデータを受け取るステップであり、前記データは前記複数の分類器によって出力された前記適合データに応じて選択されたものである、ステップと、
受け取った前記会話レスポンスを示すデータに基づいて、出力デバイスを通じて、出力データを提供するステップと、
を含む、プロセス。
【請求項１５】
請求項１４に記載のプロセスを、処理システムに実行させるように構成されたインストラクションを含む、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータのレスポンスが魅力的なユーザ体験を生成するように、個人からの会話入力、つまり、会話的な自然言語入力に対して適切な会話レスポンスをコンピュータに提供させるようにすることはチャレンジである。チャレンジの一部は、自然言語において固有の変動を考えて、入力を理解することである。チャレンジの別の部分は、入力に対するあらゆるレスポンスが適切であることを確保することである。レスポンスが適切であると考えられるか否かには、多くの要因が影響する。語彙の選択、トーン（ｔｏｎｅ）、「人格（”ｐｅｒｓｏｎａｌｉｔｙ”）」またはブランドとの一貫性、および、レスポンスが愉快であり、機知に富み、魅力的であり、攻撃的でないか否か、等といったものである。
【０００２】
いくつかのシステムにおいて、このチャレンジは、標準的な表現を使用することによるといった、手動でパターンを特定すること、および、そうしたパターンに対して人間が創作した（ｈｕｍａｎ  ａｕｔｈｏｒｅｄ）コンテンツを関連付けすることによって取り扱われる。入力が標準的な表現と一致する場合は、そして、一致した標準的な表現と関連付けされたコンテンツがレスポンスとして提供され得る。そうしたシステムは、標準的な表現を書くこと及び分析することにおいて専門的なスキルを持った人々、典型的にはコンピュータプログラマー、によって、および、レスポンスについて適切なコンテンツを書くことにおけるスキルを持ったさらに他の人々、典型的にはコンテンツ編集者、によって開発されている。
【０００３】
いくつかのシステムにおいて、このチャレンジは、大規模なデータセットからの会話マイニング（ｍｉｎｉｎｇ）により自動的にレスポンスを生成することによって取り扱われる。入力が、一つまたはそれ以上の以前の会話の入力と一致する場合、次に、レスポンスが、以前の会話からの入力に対するあらゆるレスポンスに基づいて自動的に生成され得る。そうしたシステムにおいては、コンピュータがレスポンスを創作する以前に、自動的に生成されるレスポンスが人間によって点検されず、不適切なレスポンスを生成するリスクを増加している。
【発明の概要】
【０００４】
この概要は、以下の詳細な説明部分においてさらに記述されるコンセプトの選択を簡素化された形式において紹介するために提供されるものである。この概要は、請求される技術的事項の主要な特徴または本質的な特徴を特定するように意図されたものではなく、また、請求される技術的事項の範囲を限定するように意図されたものでもない。
【０００５】
人間とコンピュータシステムとの間の会話的インタラクション（ｃｏｎｖｅｒｓａｔｉｏｎａｌ  ｉｎｔｅｒａｃｔｉｏｎ）は、会話タイプによって入力を分類し、そして、会話タイプについて人間が創作したレスポンスを提供するコンピュータシステムによって提供され得るものである。入力分類は、訓練された（ｔｒａｉｎｅｄ）バイナリ分類器（ｂｉｎａｒｙ  ｃｌａｓｓｉｆｉｅｒ）を使用して実行され得る。トレーニングは、入力を、会話タイプのポジティブ（ｐｏｓｉｔｉｖｅ）例またはネガティブ（ｎｅｇａｔｉｖｅ）例のいずれかにラベル付けすることによって実行され得る。会話レスポンスは、分類器のトレーニングにおいて使用された入力をラベル付けした同一の個人によって創作されてよい。いくつかの場合において、分類器のトレーニングのプロセスは、新たな会話タイプの示唆を結果として生じ得る。それについて、人間の創作者は、新たな分類器のための入力をラベル付けし、そして、新たな会話タイプのためのレスポンスについてコンテンツを書くことができる。
【０００６】
本発明は、コンピュータシステムとして、そうしたコンピュータシステムに係るあらゆる個々のコンポーネントとして、そうしたコンピュータシステム又はそうしたコンピュータシステムに係るあらゆる個々のコンポーネントによって実行されるプロセスとして具現化され得る。もしくは、コンピュータプログラムインストラクションが保管されているコンピュータストレージを含み、かつ、コンピュータによって処理されると、そうしたコンピュータシステム又はそうしたコンピュータシステムに係るあらゆる個々のコンポーネントをそれらのコンピュータに提供させる、製造品（ａｒｔｉｃｌｅ  ｏｆ  ｍａｎｕｆａｃｔｕｒｅ）として具現化され得る。
【０００７】
以降の説明においては、添付の図面が参照される。図面は、明細書の一部を構成しており、説明図として、本技術に係る所定の実施例が示されている。本開示の範囲を逸脱することなく、他の実施例が使用され、そして、構成の変更がなされ得ることが理解される。
【図面の簡単な説明】
【０００８】
【図１】図１は、アプリケーション環境の一つの例に係るブロックダイヤグラムであり、そこにおいては、コンピュータシステムが、会話入力に対するレスポンスの生成を支援している。
【図２】図２は、入力処理モジュールの一つの実施例を説明しているデータフローダイヤグラムである。
【図３】図３は、入力処理モジュールの一つのオペレーション例を説明しているフローチャートである。
【図４】図４は、トレーニングプロセスの一つの実施例を説明しているフローチャートである。
【図５】図５は、トレーニング処理モジュールの一つの実施例に係るデータフローダイヤグラムである。
【図６】図６は、そうしたシステムのコンポーネントが実施され得るコンピュータの一つの例に係るブロックダイヤグラムである。
【発明を実施するための形態】
【０００９】
以降のセクションは、会話入力に対するレスポンスの生成を支援するコンピュータに係る動作環境の一つの例を説明している。
【００１０】
図１を参照すると、コンピュータ１００は、エンティティ１０４からの会話入力１０２を受け取る。会話入力１０２は、入力の受け取る人に対して意味を伝えるように意図されたデータを含んでいる。会話入力は、あらゆる多種多様なデバイスおよび処理を通じて受け取ることができる。会話入力の簡単な例は、「シアトルの今日の天気は？（”Ｗｈａｔ  ｉｓ  ｔｈｅ  ｗｅａｔｈｅｒ  ｔｏｄａｙ  ｉｎ  Ｓｅａｔｔｌｅ？”）」である。
【００１１】
会話入力１０２に応じて、コンピュータ１００は、会話レスポンス１０６を生成する。会話レスポンス１０６は、会話入力１０２が提供されたエンティティ１０４に対して意味を伝えるように意図されたデータを含んでいる。会話レスポンス１０６は、あらゆる多種多様なデバイスおよび処理を通じて、エンティティ１０４に対して届けられてよい。会話レスポンスの簡単な例は、「シアトルは今日は雨が降っている（”Ｉｔ  ｉｓ  ｒａｉｎｉｎｇ  ｔｏｄａｙ  ｉｎ  Ｓｅａｔｔｌｅ。”）」である。
【００１２】
会話レスポンスを創作するために、コンピュータ１００は、入力処理モジュール１０８を含んでいる。その一つの実施例は、図２と図３に関連して、以下により詳細に説明される。
【００１３】
入力処理モジュール１０８は、トレーニングプロセスを使用して設定されたパラメータ１１０を有している。トレーニングプロセスは、トレーニング処理モジュール１１２を通じて実施される。トレーニング処理モジュールは、トレーニングデータ１１４を受け取る入力（ｉｎｐｕｔ）およびパラメータ１１０を提供する出力（ｏｕｔｐｕｔ）を有している。トレーニング処理モジュールの一つの実施例は、図４と図５に関連して、以下により詳細に説明される。
【００１４】
図１において、コンピュータ１００は、入力処理モジュール１０８とトレーニング処理モジュール１１２の両方を含んでいる。コンピュータ１００は、一つまたはそれ以上の別個の汎用コンピュータまたは他の別個のコンピューティングデバイスを含んでよく、それぞれが、一つまたはそれ以上のプロセッサまたは処理装置を含んでよい。従って、モジュール１０８と１１２は、同一のコンピューティングデバイスまたは分離したコンピューティングデバイスにおいて存在してよく、もしくは、その部分が同一のコンピューティングデバイスにおいて存在してよい。それぞれのモジュール１０８と１１２は、一つまたはそれ以上のコンピューティングデバイスであり得るものである。
【００１５】
図１においては、一つの実施において、トレーニング処理モジュール１１２が、入力処理モジュールのパラメータを直接的にアップデートすることができる。別の実施において、トレーニング処理モジュールは、入力処理モジュールから離れてアップデートされたパラメータを創作することができ、そして、次に、アップデートされたパラメータを、時々、入力処理モジュールに転送することができる。
【００１６】
いくつかの実施においては、トレーニング処理モジュールによるトレーニングが、一回発生してよい。他の実施において、トレーニングは、進行中のプロセス（ｏｎｇｏｉｎｇ  ｐｒｏｃｅｓｓ）として実行されてよく、そして、入力処理モジュールのパラメータは、時々アップデートされてよい。定期的に、といったものである。
【００１７】
トレーニング処理モジュールは、異なるコンピューティングデバイスにおける複数の異なる入力処理モジュールによって使用され、そして、従って共有される、パラメータの一つのセットを創作することができる。複数の異なるトレーニング処理モジュールは、パラメータの異なるセットを創作することができる。異なる入力モジュールのため、または、そこから選択されるため、のいずれかであり、そして、一つの入力処理モジュールによって使用されるものである。例えば、一人のエンドユーザのため、または、異なるエンドユーザ達に対する異なる状況のためである。
【００１８】
図１は、また、会話入力１０２を受け取り、そして、エンティティ１０４に対する会話レスポンスを提供する、コンピュータ１００も示している。エンティティ１０４は、典型的には、個人である。
【００１９】
会話入力１０２は、典型的には、自然言語における一つまたはそれ以上のワード（ｗｏｒｄ）またはフレーズ（ｐｈｒａｓｅ）である。他の入力は、これらに限定されるわけではなく、意味を伝達するために会話的に使用されるシンボル（ｓｙｍｂｏｌ）を含み得るが、自然言語の一部として正式に認められるものではないだろう。数学的シンボル、顔文字（ｅｍｏｔｉｃｏｎ）、等といったものである。会話入力に関する他のデータは、入力デバイスからのジェスチャデータ、ウェアラブルセンサおよび環境センサからのセンサデータ、イメージデータ、ビデオデータ及び/又はオーディオデータ、を含んでよく、様々なメタデータも、また、そこから抽出され得る。エンティティのジェスチャ、声のトーン、顔の表情、見込まれる感情、等に関するメタデータは、役に立ち得るものである。
【００２０】
そうした入力は、多くのやり方で提供され得る。例えば、エンティティは、キーボードをタイプすることができる。エンティティは、マイクロフォンに向かって話すことができ、そして、コンピュータ１００は、音声認識を実行することができる。エンティティは、イメージまたはビデオデータを提供することができ、そして、コンピュータ１００は、画像認識または他の画像処理を実行することができる。エンティティは、テキストデータを提供することができ、そして、コンピュータ１００は、ワードとフレーズを抽出するためにテキストを処理することができる。
【００２１】
会話レスポンス１０６は、典型的には、自然言語における一つまたはそれ以上のワードまたはフレーズである。他の入力は、これらに限定されるわけではなく、意味を伝達するために会話的に使用されるシンボルを含み得るが、自然言語の一部として正式に認められるものではないだろう。数学的シンボル、顔文字、等といったものである。他のデータも、また、ユーザに対するレスポンスの伝達に関する様々な目的のために生成され得るものである。
【００２２】
そうした会話出力は、多くのやり方で提供され得る。例えば、レスポンスは、ディスプレイスクリーン上にテキストとして表示され得る。レスポンスは、スピーカまたはヘッドフォンにおいて再生されるオーディオデータを提供するために、音声生成（ｓｐｅｅｃｈ  ｇｅｎｅｒａｔｉｏｎ）を使用して処理され得る。レスポンスがテキストに限定されない場合に、レスポンスは、他のイメージデータへ変換され、そして、イメージデータが表示され得る。例えば、そうしたイメージデータは、エンティティについてのジェスチャおよび顔の表情を示しているエンティティのアバター（ａｖａｔａｒ）を含み得る。ユーザによって選択された所望のインタラクションフォーマット（点字（Ｂｒａｉｌｌｅ）、印刷、または、他のタイプの出力デバイス）に応じて、他の出力フォーマットが生成され得る。
【００２３】
コンピュータ１００、又はそのパーツは、エンティティ１０４によって使用され得るデバイス（図示なし）の一部であってよく、または、エンティティ１０４によって使用され得るデバイスから分離されてよい。
【００２４】
例えば、エンティティは、マイクロフォン、スピーカ、および、おそらくはタッチスクリーンディスプレイ上のキーボードを伴うモバイルフォンといった、ハンドヘルドデバイスを使用してよい。そうしたハンドヘルドデバイスは、典型的には、コンピュータを含んでいる。一つの実施において、ハンドヘルドデバイスにおけるコンピュータは、入力処理モジュール１０８を含み得る。別の実施において、ハンドヘルドデバイスは、別のコンピューティングデバイスにおける入力処理モジュールに対して会話入力１０２を伝達することができる。次に、他のコンピューティングデバイスは、ハンドヘルドデバイスに対して会話レスポンス１０６を提供することができる。ハンドヘルドデバイスと他のコンピューティングデバイスとの間の接続は、あらゆる種類の通信ネットワークにわたるものであってよい。公共（ｐｕｂｌｉｃ）コンピュータネットワーク、携帯電話接続、等といったものである。ハンドヘルドデバイスと同様に、また、ウェアラブルコンピューティングデバイスは、リストバンド、腕時計、イヤホン（ｅａｒｐｉｅｃｅ）、またはメガネの形状をしているが、同様なコンフィグレーションを有することもできる。
【００２５】
別の例として、エンティティは、自動車または他の車両（ｖｅｈｉｃｌｅ）の中に居てよい。マイクロフォンとスピーカ、および、見込まれる他の入力と出力デバイスを有し得るものである。車両は、車両の中の様々なデバイスからの入力を処理し、かつ、それらに対して出力を提供する、オンボードコンピュータを含み得る。一つの実施において、オンボードコンピュータは、入力処理モジュール１０８を含み得る。別の実施において、オンボードコンピュータは、オンボードコンピュータと無線通信している別のコンピューティングデバイスにおける入力処理モジュールに対して、入力データを伝達することができる。携帯電話接続または衛星通信接続といったものを通じてである。次に、他のコンピューティングデバイスは、オンボードコンピュータに対して会話レスポンス１０６を送信することができる。
【００２６】
別の例として、エンティティは、多くのデバイスを含み得るホームエンターテイメントシステムを使用している住居環境に居てよい。これらに限定されるわけではないが、ゲームコンソール、セットトップボックス、スマートテレビ又は他のディスプレイ、および、スマートフォン、タブレットコンピュータ、及び/又はリモートコントロールといった一つまたはそれ以上のハンドヘルドデバイス、を含むものである。これらのデバイスに係るあらゆる一つまたはそれ以上のものは、一つまたはそれ以上の入力デバイスを含み得る。マイクロフォン、キーボード、または、タッチスクリーンディスプレイといったものであり、環境におけるエンティティからの会話入力をそれから受けることができる。同一の環境におけるこれらのデバイスに係るあらゆる一つまたはそれ以上のものは、また、一つまたはそれ以上の出力デバイスを含み得る。それを通じてエンティティに対して会話レスポンスが提供され得るものである。一つまたはそれ以上のこれらのデバイスにおけるコンピュータは、入力処理モジュール１０８を含み得る。このコンピュータは、入力デバイス及び/又は出力デバイスのいずれかを含むデバイスとは異なるデバイスの中にあってよい。様々なデバイス間の接続は、あらゆる種類のデータ通信ネットワークにわたるものであってよい。これらに限定されるわけではないが、私的（ｐｒｉｖａｔｅ）ローカルエリアネットワーク、無線通信接続、携帯電話接続、等を含むものである。
【００２７】
今や、動作環境の例が説明されてきたので、図１における入力処理モジュール１０８に係る一つの実施例の詳細が、図２と図３に関連して、これから説明される。
【００２８】
入力処理モジュールは、複数の分類器２００を含んでおり、各分類器は、異なる会話タイプのためのものである。各分類器は、入力（ｉｎｐｕｔ）を有し、入力データから生じた特徴データ（ｆｅａｔｕｒｅ  ｄａｔａ）２０２を受け取る。各分類器は、出力（ｏｕｔｐｕｔ）を有し、分類器の入力に対して適用された特徴データがその分類器のための会話タイプと一致するか否かを示す適合データ（ｍａｔｃｈ  ｄａｔａ）２０４を提供する。各分類器は、パラメータを有している。それらは、他の分類器のパラメータとは異なるものであり、そして、トレーニングプロセスに応じて設定されたものである。
【００２９】
あらゆる様々なタイプのパターン分類器が、入力処理モジュールにおいて使用される。決定木（ｄｅｃｉｓｉｏｎ  ｔｒｅｅ）、神経ネットワーク、ベクターマシン（ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）、等といったものである。一般的に、パターン分類器は、複数の特徴によって定められた入力を受け取り、そして、その入力が、その分類器が適合するように訓練されてきたパターンとどれだけ上手く一致するかを示す出力を提供する。一般的に、出力は、０から１までといった、定められた範囲内のスコアであり、類似性、または距離メトリック（ｄｉｓｔａｎｃｅ  ｍｅｔｒｉｃ）、または確率手段の形式を使用して計算される。分類器のパラメータ、類似性または距離または確率メトリックといったものは、トレーニングプロセスを通じて設定される。一つの実施例において、分類器は、ロジスティック回帰（ｌｏｇｉｓｔｉｃ  ｒｅｇｒｅｓｓｉｏｎ）分類方法を使用するバイナリ分類器を使用して実施され得る。
【００３０】
分類器によって使用される特徴は、一般的に、カノニカル（ｃａｎｏｎｉｃａｌ）形式であり、入力は、その形式へと変換される。会話入力について、そうした特徴は、会話入力におけるワードの形式、それらのワードのシーケンス、それらのワードのｎグラム（ｎ−ｇｒａｍ）、および、他の関連情報といった情報を含み得る。他の関連情報は、会話入力のソース、利用可能であり得るあらゆる感情または音的な手がかり、環境データ、関連するキーワード、等といったものである。一つの例として、特徴は、存在する全てのワード、ワードのｎグラム（例えば、「何歳ですか？（”ｈｏｗ  ｏｌｄ  ａｒｅ  ｙｏｕ？”）」について２または３ワードのシーケンス、ｎグラムの例は、ｈｏｗ＿ｏｌｄ、ｏｌｄ＿ａｒｅ、ａｒｅ＿ｙｏｕ、等といったもの）、ワードにおける発話の長さ、各ワードのスピーチの部分（例えば、「古い（”ｏｌｄ”）」は形容詞である）、同様なワードのセットを記述する埋め込み（数字）、入力を記述している解析木（ｐａｒｓｅ  ｔｒｅｅ）、等、を含み得る。
【００３１】
セレクタ（ｓｅｌｅｃｔｏｒ）２０６は、分類器２００からの適合データ２０４を受け取るように接続された入力（ｉｎｐｕｔ）を有している。セレクタは、分類器から受け取った適合データに基づいて、各会話タイプのための会話レスポンスのコレクション（ｃｏｌｌｅｃｔｉｏｎ）２１２から、会話レスポンス２０８を提供する出力（ｏｕｔｐｕｔ）を有している。会話レスポンス２０８は、様々なやり方において生成され得るものである。
【００３２】
一つの実施例において、分類器によって出力された適合データ２０４は、分類器によって計算されたスコアであり、そして、セレクタ２０６は、ベストスコアを生じている分類器に対応している会話タイプを選択する。別の例として、ベストスコアの範囲内のスコアを生じている全ての分類器が、考慮されてよい。複数の分類器を選択することは、会話タイプのヒエラルキー（ｈｉｅｒａｒｃｈｙ）が存在する場合に、特に役立つものである。より一般的なタイプの分類器とより特定的なタイプの分類器の両方が好適な適合スコアを生じている場合に、会話タイプは、より多くの特定的な会話タイプを伴う分類器に基づいて選択され得る。スコアが会話入力の存在を示すのに十分高いことを確保するために、全てのスコアに対して閾値が適用され得る。次に、セレクタは、会話レスポンスのコレクション２１２にアクセスして、選択された会話タイプについて保管されたものの中から会話レスポンスを選択する。セットからの一つの会話レスポンスの選択は、様々なやり方で実行され得る。ランダム、擬似ランダム、準ランダム選択、ラウンドロビン選択、最も長く使われていないもの（ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ）、フィードバック、および、レスポンスの格付け（ｒａｔｉｎｇ）、等といったものである。
【００３３】
各会話タイプのための会話レスポンスのコレクション２１２は、一般的に、そうしたサービスのためのコンテンツの創作において経験を有する個人によって作成される。これらの人間が創作したレスポンスは、以下により詳細に説明されるように、分類器の入力に対してラベルを提供することによって、分類器のトレーニングにも関与する個人によって作成され得る。会話入力に対して適用されるラベルは、会話入力が、会話タイプのポジティブ例であるかネガティブ例であるかどうかを示すものである。コレクション２１２は、各会話レスポンスを会話タイプと関連付けするやり方において、会話レスポンスを保管する。従って、コレクション２１２は、会話レスポンス／会話タイプのペアを表わしているデータのセットであり、会話タイプが与えられると直ちに会話レスポンスにアクセスして選択できる様々なやり方において保管されてよい。会話レスポンスは、一般的には、キャラクタの文字列（ｓｔｒｉｎｇ）を使用して表現され、一貫性のある保管フォーマットを提供するように所定の長さのキャラクタに制限され得る。会話タイプは、英数字識別子（ｉｄｅｎｔｉｆｉｅｒ）といった、あらゆる識別子を用いて表現されてよく、直接的または間接的いずれかで、その会話タイプのための分類器と関連付けされ得るものである。
【００３４】
分類器のセットによって出力された適合データ２０４に基づいてコレクション２１２から会話レスポンスを選択するために、あらゆる多種多様な他の技術が使用され得る。
【００３５】
いくつかの実施において、対話状態（ｄｉａｌｏｇ  ｓｔａｔｅ）２１４を記述している情報も、また、保管されてよく、そして、次に、セレクタ２０６または分類器２００によって使用され得る。対話状態は、一つまたはそれ以上の会話入力、会話レスポンス、および、会話タイプを記述しているデータであってよい。そうした情報は、セレクタ２０６によって提供されるものと図示されているが、また、分類器２００または対話状態を追跡するように特定的にデザインされたシステムの別のコンポーネントによっても提供され得るものである。そうした情報は、分類器の一つに対して提供されているように図示されているが、全ての分類器、分類器のサブセットに対して提供されもよく、または、分類器に提供されなくてもよい。いくつかの実施において、対話状態は、分類器に対して適用される特徴２０２として取り扱われ得るものである。現在処理されている会話入力のための会話タイプの分類は、対話状態２１４によって影響され得る。代替的に、または、組合せにおいて、現在処理されている会話入力のための会話タイプと会話レスポンスの選択は、対話状態２１４によって影響され得る。一つの実用的な例として、会話入力が「フィラデルフィアの今日の天気はどうですか？（”Ｗｈａｔ  ｉｓ  ｔｈｅ  ｗｅａｔｈｅｒ  ｌｉｋｅ  ｔｏｄａｙ  ｉｎ  Ｐｈｉｌａｄｅｌｐｈｉａ？”）」である場合には、天気関連の会話レスポンスが生成される。次の会話入力が「明日はどうですか？（”Ｈｏｗ  ａｂｏｕｔ  ｔｏｍｏｒｒｏｗ？”）」である場合には、天気関連の会話レスポンスが生成されることを確保するために、対話状態情報２１４が使用され得る。
【００３６】
図３におけるフローチャートは、入力処理モジュールのこの例に係るオペレーションを説明している。
【００３７】
図３において、オペレーションは、会話入力を受け取ること３００で開始する。会話入力から生じる特徴が、複数の分類器の入力に対して適用される３０２。複数の分類器から適合データが受け取られ３０４、そして、会話タイプを選択する３０６ために使用される。選択された会話タイプに基づいて、次に、会話レスポンスが出力される３０８。
【００３８】
今や、入力処理モジュールが説明されてきたので、分類器のためのトレーニングプロセスの実施例が、これからより詳細に説明される。
【００３９】
一つの実施においては、会話分類器のために会話トレーニングプロセスが使用される。既知の、有限な会話タイプのセットおよび対応する例を用いて開始するものである。ランダムサンプリング又はいくつかの他のアプローチを使用して、分類器に対して例が適用される。そして、分類器の出力と分類器に対して適用された例との間における誤り（ｅｒｒｏｒ）に基づいて、分類器のパラメータが調整される。分類器は、所与の会話タイプについて訓練された後で、会話レスポンスを生成するために使用され得る。
【００４０】
一つの実施において、分類器は、バイナリ分類器であってよく、アクティブ学習プロセスを使用して訓練され得る。そうしたプロセスにおいて、トレーニングは、会話入力に係る、例えば１０個の、ポジティブ例のセット、および、例えば１０個の、ネガティブ例のセットを選択すること４００によって開始する。ポジティブ例は、分類器の会話タイプと一致する会話入力である。例えば、分類器のための会話タイプが「場所における今日の天気に関する質問（”Ｑｕｅｓｔｉｏｎ  ａｂｏｕｔ  ｔｏｄａｙ’ｓ  ｗｅａｔｈｅｒ  ｉｎ  ａ  ｌｏｃａｔｉｏｎ”）」である場合には、「シアトルの今日の天気は？」はポジティブ例であり、「何歳ですか？（”Ｈｏｗ  ｏｌｄ  ａｒｅ  ｙｏｕ？”）」はネガティブ例である。バイナリ分類器を使用する一つの実施においては、「０」または「１」のラベルが発話の例に対して適用される。ここで、「１」は、この発話において分類器がとても良いことを示し、かつ、「０」は、分類器が良くないことを示している。
【００４１】
会話技術を使用するポジティブ例とネガティブ例のセットを使用して分類器の初期パラメータを設定することによって、分類器が初期化される４０２。初期化された分類器が与えられると、分類器に対して会話入力のトレーニングセット（それぞれがトレーニング入力と呼ばれている）を適用する４０４ことによって、トレーニングが実行される。トレーニングセットは、サービスと関連して保管されてきた実際の会話入力といった、様々なソースから収集され得る。この例において、トレーニング入力は、実際の会話入力から生じた特徴である。各トレーニング入力は、分類器からのスコアを結果として生じる。結果が明らかにポジティブ例またはネガティブ例である場合、つまり、スコア範囲のいずれかの極値に係る閾値量の範囲内であれば、トレーニング入力に自動的に成績を付けることが可能である。しかしながら、そうした自動的なラベル付けは、誤りを創成し、かつ、次に、促進し得るものであり、そして、望ましいものではない。そうでなければ、ポジティブ一致またはネガティブ一致のいずれでもない、曖昧な結果を伴うあらゆるトレーニング入力が、この分類器のための会話タイプに係るポジティブ例またはネガティブ例のいずれかとして、ラベル付けのために個人に対して示される４０６。分類器は、次に、これらの追加的なトレーニング入力に係るラベル付けを使用してアップデートされる４０８。プロセスは、次に、ステップ４０４への矢印によって示されるように、１回またはそれ以上繰り返される。
【００４２】
図５は、図４において説明されたオペレーションにおいて使用されるトレーニング処理モジュールの一つの実施例に係るデータフローダイヤグラムである。図５においては、会話入力のコレクション５００が、コンピュータで読取り可能なストレージに保管されている。保管された入力それぞれは、トレーニング入力と呼ばれる。トレーニング入力は、ラベルおよび対応する会話タイプと関連付けされ得る。複数のトレーニングタイプを用いて、トレーニング入力は、複数のラベルと関連付けされ得る。トレーニングモジュール５０２は、会話入力から生じた特徴５０４とラベル５０６を受け取る。これらは、会話タイプのための分類器５１０についてパラメータ５０８を設定するために使用される。
【００４３】
ラベルは、トレーニング入力を評価し、そして、会話タイプのポジティブ例またネガティブ例としてそれらをラベル付けする個人５１２によって、一般的に入力される。個人５１２は、トレーニング入力と会話タイプと共に（５１４に示されている）、ユーザデバイスにおけるユーザインターフェイス５１６を通じて、表されている。個人は、ユーザインターフェイス５１６を通じて、トレーニング入力のためのラベル５１８を提供する。
【００４４】
個人５１２は、また、ユーザインターフェイス５１６または別のユーザインターフェイスのいずれかを通じて、同一または異なるユーザデバイスのいずれかにおいて、会話タイプに対する会話レスポンス５２０を提供することもできる。これらの会話レスポンスは、図２に示されるような、入力処理モジュールにおいて保管される。
【００４５】
同一の個人に、会話レスポンスと会話入力のラベルの両方を準備させることによって、システムは、所与の入力に対して適切なレスポンスを有していることのより高い確率を有する。そうした能力は、ラベル付けされた入力、および、会話タイプによって選択された会話レスポンスを使用して、会話タイプにより、分類器を訓練させることによって提供される。別の言葉で言えば、会話レスポンスを生成する個人が、会話入力のためのラベルを提供している同一の個人であるので、コンピュータは、会話入力に対して適切なレスポンスを提供する。ラベル付けされた会話入力に係るポジティブ例とネガティブ例によって訓練された、会話タイプごとの分類器を使用することによって、コンテンツ編集者は、ラベラ（ｌａｂｅｌｅｒ）と編集者の両方であり得る。
【００４６】
会話入力に係る大きなコーパス（ｃｏｒｐｕｓ）を使用して、コンピュータは、様々な形式のクラスタリング（ｃｌｕｓｔｅｒｉｎｇ）アルゴリズムを使用することによって、見込まれる会話タイプを特定することができる。トレーニングのためのサンプルは、発話が位置付けされる会話タイプに基づいて選択され、そして、新たな会話タイプも、また、特定され得る。クラスタリングアルゴリズムは、同様な会話入力を一つのセットへとグループ化することができ、それぞれのセットが同様な会話タイプを有している複数の異なるセットを結果として生じている。セットからのサンプルは、そのセットについて対応している会話タイプのためのポジティブ例として使用され得るものであり、他のセットからのサンプルはネガティブ例として使用され得る。
【００４７】
一つの実施例として、自動的なクラスタリングは、発話のベクトル空間表現（ｖｅｃｔｏｒ−ｓｐａｃｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）に対してｋ平均法（ｋ−ｍｅａｎｓ）を適用することを含む。例えば、語の袋（ｂａｇ−ｏｆ−ｗｏｒｄ）ベクトル、もしくは、潜在意味解析（ｌａｔｅｎｔ  ｓｅｍａｎｔｉｃ  ａｎａｌｙｓｉｓ、ＬＳＡ）または潜在ディリクレ解析（ｌａｔｅｎｔ  ｄｉｒｉｃｈｌｅｔ  ａｎａｌｙｓｉｓ、ＬＳＡ）を使用した発話の投射（ｐｒｏｊｅｃｔｉｏｎ）、を使用するものである。別の実施例においては、既存の分類器を使用することができ、そして、分類器が辞めになる発話、つまり、既知の会話タイプに係る発話が排除される。分類器が辞めになることを生じさせない残りの発話は、新たな会話タイプと関連付けされ得る。
【００４８】
一つの実施において、分類器は、また、社交的会話（ｓｏｃｉａｌ  ｃｏｎｖｅｒｓａｔｉｏｎ）のための語句（ｗｏｒｄｓ  ａｎｄ  ｐｈｒａｓｅｓ）のクラスを含むように拡張され得る。会話タイプは、上記のように、ヒエラルキーへとグループ化され得る。そうしたヒエラルキーは、会話入力と関連付けされたキーワード、または、会話入力のセットから生じる他のクラス情報に基づいてよい。そうしたクラスは、例えば、自動クラスタリングを使用して、自動的に特定され得るものである。一つの特定的な例として、自動クラスタリングは、ワードを連続空間の中へ投射すること（ｐｒｏｊｅｃｔｉｎｇ）、そして、その連続空間においてクラスタリングすることによって実行され得る。例えば、投射は、ＬＳＡ、ＬＤＡ、または、神経ネットワークを用いて学習されたワードエンベディング（ｗｏｒｄ  ｅｍｂｅｄｄｉｎｇ）を使用して実行され得るものであり、そして、次に、ｋ平均法を使用してクラスタリングが実行され得る。クラスを導入するための別の方法は、コンテンツ編集者について、語句の例（ｅｘａｍｐｌｅ  ｗｏｒｄｓ／ｐｈｒａｓｅｓ）を提供すること、そして、自動的にクラスを拡張することである。例えば、コンテンツ編集者が、「誕生（”ｂｏｒｎ”）」、「成長（”ｇｒｏｗ  ｕｐ”）」、「幼少（”ｃｈｉｌｄｈｏｏｄ”）」を提供した場合、より多くの用語が自動的に追加され得る。「育った（”ｒａｉｓｅｄ  ｉｎ”）」、「出身である（”Ｉ’ｍ  ｆｒｏｍ”）」、「学校へ通った（”ｗｅｎｔ  ｔｏ  ｓｃｈｏｏｌ  ｉｎ”）」などである。クラスタリング技術（ＬＳＡ、ＬＤＡ、または、ワードエンベディングといったもの）の準教師付き（ｓｅｍｉ−ｓｕｐｅｒｖｉｓｅｄ）変形も、また、使用され得る。
【００４９】
一つの態様において、会話入力は、会話入力から生じた複数の分類器に対して適用されている特徴に基づいて、会話レスポンスを選択するための手段を使用して処理される。各分類器は、会話タイプに関連付けされている。会話レスポンスは、また、会話タイプとも関連付けされている。
【００５０】
別の態様において、会話入力は、会話入力を表わしている入力データをメモリの中に受け取ることによって処理され得る。入力データから生じる特徴データは、複数の分類器に対して適用され得るものであり、各分類器は、複数の会話タイプのうちからの会話タイプを代表している。分類器は、入力特徴データに応じて、適合データを出力する。会話レスポンスは、分類器によって出力された適合データに従った複数の会話タイプのうちからの一つまたはそれ以上の会話タイプに応じて選択される。
【００５１】
このセクションにおける、あらゆる前出の態様において、特徴は、会話入力から生成されたｎグラムを含み得る。そうした特徴は、会話入力に関連する感情を示すデータを含み得る。そうした特徴は、会話入力の技術的事項（ｓｕｂｊｅｃｔ  ｍａｔｔｅｒ）に対する一つまたはそれ以上のクラスを示すデータを含み得る。
【００５２】
このセクションにおける、あらゆる前出の態様において、各分類器は、バイナリ分類器であってよく、適合データの出力が、特徴データに応じて、特徴データがバイナリ分類器に関連付けされた会話タイプのポジティブ例であるとしてラベル付けされた会話入力と一致する確率を表わしている。
【００５３】
このセクションにおける、あらゆる前出の態様において、特徴データは、会話入力と会話入力に関連付けされた他の情報とから生じ得るものである。
【００５４】
このセクションにおける、あらゆる前出の態様において、会話レスポンスは、複数の会話タイプに対する複数の会話レスポンスを保管しているコレクションから選択され得るものである。
【００５５】
このセクションにおける、あらゆる前出の態様において、一つまたはそれ以上の会話タイプは、分類器によって出力される適合データに応じて複数の会話タイプの中から選択され得るものである。会話レスポンスは、選択された一つまたはそれ以上の会話タイプに応じて選択され得る。一つまたはそれ以上の会話タイプは、分類器によって出力された適合データの中からのスコアに基づいて選択され得る。
【００５６】
このセクションにおける、あらゆる前出の態様において、各分類器は、スコアを出力することができる。スコアは、あらゆる範囲の値であってよく、所定の値を用いて分類器によって表される会話タイプの特徴に対する一致を示し、ある値は一致しないことを示している。一致を示す値は、範囲における最大値のような、範囲の極値であってよい。スコアは、代替的に、会話タイプに対する一致の確率を示し得る。
【００５７】
このセクションにおける、あらゆる前出の態様において、対話状態情報が維持され得る。会話レスポンスは、また、維持された対話状態情報に基づいて選択されてもよい。会話レスポンスは、また、維持された対話状態情報と会話タイプのヒエラルキー情報に基づいて選択されてもよい。
【００５８】
このセクションにおける、あらゆる前出の態様において、会話入力のエンティティからの入力と会話レスポンスのエンティティに対する出力は、他のデバイスおよびコンピュータから離れた一つまたはそれ以上のデバイスにおいて実行され得るものであり。会話入力から特徴を生成し、分類器に対してそれらの分類を適用し、そして、会話レスポンスを選択する。そうした場合に、入力を受け取るデバイスは、会話入力に関する情報を送信するように、一つまたはそれ以上のコンピュータに対して接続されている。同様に、会話レスポンスに関する情報を伴う送信を受け取るデバイスは、そうした送信を受信するために一つまたはそれ以上のコンピュータに対して接続されている。そうしたデバイスまたはコンピュータのそれぞれは、メモリ、それを通じて入力データが受信される入力（ｉｎｐｕｔ）、入力されたデータを処理するように構成されているプロセス、および、それを通じて出力データが別のデバイスまたはコンピュータに対して提供され得る出力（ｏｕｔｐｕｔ）、を含んでいる。
【００５９】
このセクションにおける、あらゆる前出の態様において、会話入力を提供し、かつ、会話レスポンスを受け取るためにエンティティによって使用されるデバイスまたは複数のデバイスは、あらゆる数量のデバイスであってよい。これらに限定されるわけではないが、モバイルフォン、タブレットコンピュータ、ハンドヘルドコンピューティングデバイス、自動車ベースコンポーネント、ラップトップコンピュータ、ポータブルコンピュータ、サーバーコンピュータ、ノートブックコンピュータ、スレートコンピュータ、デスクトップコンピュータ、ホームコンピュータシステム、ゲームコンソール、ケーブル衛星または他のテレビジョンを受け取るためのセットトップボックス、テレビ、スマートディスプレイデバイス、等を含んでいるものである。
【００６０】
あらゆる前出の態様において、分類器は、会話入力を会話タイプへと分類するように訓練され得るものである。そうしたトレーニングプロセスは、会話入力の第一数（ｆｉｒｓｔ  ｎｕｍｂｅｒ）を会話タイプのポジティブ例としてラベル付けし、かつ、会話入力の第二数（ｓｅｃｏｎｄ  ｎｕｍｂｅｒ）を会話タイプのネガティブ例としてラベル付けすることによって実施され得る。分類器は、ラベル付けされた会話入力を使用して構築される。会話入力のコーパスがアクセスされる。会話入力について分類器から出力を獲得するために、分類器に対してコーパスからの会話入力が適用される。会話入力に対する分類器からの出力に基づいてラベル付けするために、一人以上の個人に対して追加の会話入力が示される。示された追加の会話入力に対する一人以上の個人からのラベルが受け取られる。追加のラベル付けされた会話入力を使用して、分類器が再教育（ｒｅｔａｉｎ）される。
【００６１】
分類器の訓練を含む、このセクションにおける、あらゆる前出の態様において、分類器は、適用すること、示すこと、受け取ること、および、再教育された分類器を使用して、再教育すること、に係るステップを繰り返すプロセスを使用して訓練され得るものである。
【００６２】
あらゆる前出の態様において、会話レスポンスは、一人以上の個人がラベル付けを行った分類器と関連付けされた会話タイプについて、ラベル付けを行った個人から受け取ることができる。
【００６３】
あらゆる前出の態様において、追加の会話タイプは、会話入力のコーパスから特定され得るものである。例えば、コーパスにおける会話入力はクラスタリングされ、そして、会話タイプがクラスタに対して割り当てられ得る。別の例として、会話入力は、複数の分類器に対して適用され得る。複数の分類器のいずれもが一致を示さない会話入力が、特定される。一つまたはそれ以上の新たな会話タイプが、特定された会話入力に対して割り当てられる。
【００６４】
あらゆる前出の態様において、ラベル付けのために会話入力を表わすことは、分類器の出力が、分類器に対する追加の会話入力がポジティブ一致またはネガティブ一致のいずれでもないことを示すか否かに応じて、表されるべき追加の会話入力を選択することを含んでよい。
【００６５】
あらゆる前出の態様において、分類器の会話タイプは、会話タイプのヒエラルキーに含まれてよい。会話タイプは、閾値より上のスコアを伴う分類器に基づいて選択されてよく、そして、より特定的な会話タイプが、より一般的な会話タイプの上に選択される。会話入力のコーパスの自動的なクラスタリングは、会話入力に対するクラス情報を提供し得る。
【００６６】
このセクションにおける、あらゆる前出の態様は、一つまたはそれ以上のコンピュータシステムにおいて具現化され得る。そうしたコンピュータシステムに係るあらゆる個々のコンポーネントまたは複数のコンポーネントとして、そうしたコンピュータシステムの一つまたはそれ以上のもの又はそうしたコンピュータシステムのあらゆる個々のコンポーネントによって実行されるプロセスとして、もしくは、コンピュータプログラムのインストラクションが保管されているコンピュータストレージを含む一つまたはそれ以上の製造品としてである。そして、コンピュータプログラムは、一つまたはそれ以上のコンピュータによって処理されるときに、そうしたコンピュータシステム、または、そうしたコンピュータシステムのあらゆる個々のコンポーネントを提供するように、それらのコンピュータを構成する。
【００６７】
図１から図５に関連して説明された実施例においては、２つのアプリケーションが存在し得る。一つは、分類器の構築についてのもの（例えば、トレーニング処理モジュール）であり、そして、別のものは、会話入力に応じるために訓練された分類器を使用すること（例えば、入力処理モジュール）についてである。これらのアプリケーションのそれぞれは、アプリケーションの異なるコンポーネントを実施している複数のアプリケーションから成ってよい。それぞれのアプリケーションは、分離したプラットフォーム（例えば、コンピュータ上で実行されているアプリケーションによるコンピュータのリソースに対するアクセスを管理するオペレーティングシステムを用いるコンピュータ）において実行するようにデザインされてよい。コンピュータは、図６に関して以下に説明されるように実施される。
【００６８】
図６は、一つのコンピュータの例を説明しており、図１−５のシステムに係る様々なコンピュータがそれを用いて実施され得る。コンピュータは、あらゆる多種多様な汎用または専用コンピューティングハードウェアコンフィグレーションであってよい。使用され得るコンピュータのタイプのいくつかの例は、これらに限定されるわけではないが、パーソナルコンピュータ、ゲームコンソール、セットトップボックス、ハンドヘルド又はラップトップデバイス（例えば、メディアプレーヤ、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、パーソナルデータアシスタント、ボイスレコーダ）、サーバーコンピュータ、マルチプロセッサシステム、マイクロコントローラベースのシステム、プログラマブル家電、ネットワークＰＣ，ミニコンピュータ、メインフレームコンピュータ、および、上記のコンピュータ又はデバイスのうちあらゆるものを含む分散コンピューティング環境、等を含むものである。
【００６９】
図６を参照すると、一つの例のコンピュータ６００は、少なくとも一つの処理装置６０２とメモリ６０４を含んでいる。コンピュータは、複数の処理装置を含んでよい。処理装置６０２は、相互に独立して動作する一つまたはそれ以上の処理コア（図示なし）を含み得る。追加のコプロセッシング（ｃｏ−ｐｒｏｃｅｓｓｉｎｇ）装置、グラフィクス処理装置６２０といったものも、また、コンピュータの中に存在してよい。メモリ６０４は、揮発性（ダイナミックランダムアクセスメモリ（ＤＲＡＭ）または他のランダムアクセスメモリといったもの）、不揮発性（読出し専用メモリ、フラッシュメモリ、等）、または２つのいくつかの組合せであってよい。メモリのこのコンフィグレーションは、破線６０６によって図６において図示されている。コンピュータ６００は、追加のストレージ（リムーバブル及び/又は非リムーバブル）を含んでよい。これらに限定されるわけではないが、磁気的記録または光記録されたディスクもしくはテープを含んでいる。そうした追加のストレージは、リムーバブルストレージ６０８および非リムーバブルストレージ６１０によって図１に図示されている。図６における様々なコンポーネントは、一般的に、一つまたはそれ以上のバス６３０といった、相互接続メカニズムによってインターコネクトされている。
【００７０】
コンピュータストレージ媒体は、データを保管することができ、かつ、コンピュータによってアドレス可能な物理的ストレージロケーションから取り出すことができるあらゆる媒体である。コンピュータストレージ媒体は、揮発性と不揮発性メモリ、および、リムーバブルと非リムーバブルストレージ媒体を含んでいる。メモリ６０４と６０６、リムーバブルストレージ６０８と非リムーバブルストレージ６１０は、コンピュータストレージ媒体の全ての例である。コンピュータストレージ媒体のいくつかの例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（ＤＶＤ）又は他の光または光磁気記録ストレージデバイス、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、である。コンピュータストレージ媒体と通信媒体は、相互に排他的な媒体のカテゴリーである。
【００７１】
コンピュータ６００は、また、通信接続６１２も含み、コンピュータは、通信媒体を通じて他のデバイスと通信することができる。通信媒体は、典型的には、有線又は無線サブスタンスを通じて、コンピュータプログラムインストラクション、データ構造、プログラムモジュール、または他のデータを送信する。サブスタンスを通じて搬送波または他の輸送メカニズムといった変調されたデータ信号を伝搬することによるものである。用語「変調されたデータ信号（”ｍｏｄｕｌａｔｅｄ  ｄａｔａ  ｓｉｇｎａｌ”）」は、一つまたはそれ以上の特性セットを有し、または、信号の中の情報をエンコードするような方法で変更された信号を意味するものであり、それにより、その信号の受信デバイスのコンフィグレーションまたは状態が変化する。例として、かつ限定ではなく、通信媒体は、有線ネットワーク又は直接有線（ｄｉｒｅｃｔ−ｗｉｒｅｄ）接続、といった有線媒体、および、アコースティック、ＲＦ、赤外線、および他の無線媒体、といった無線媒体を含んでいる。通信接続６１２は、ネットワークインターフェイスまたはラジオ送信器といった、デバイスであり、通信媒体を通じてデータを送信し、かつ、通信媒体からデータを受信するために通信媒体とインターフェイスするものである。
【００７２】
コンピュータ６００は、キーボード、マウス、ペン、カメラ、タッチ入力デバイス、等といった、様々な入力デバイス６１４を有してよい。ディスプレイ、スピーカ、プリンタ、等といった出力デバイス６１６も、また、含まれてよい。これらのデバイス全ては、図６におけるコンピュータの様々なコンポーネントを収容するハウジングの部分であってよく、または、ハウジングから分離され、かつ、シリアルバス、無線通信接続、等といった様々な接続インターコネクトを通じてコンピュータに対して接続されてよい。様々な入力および出力デバイスは、ナチュラルユーザインターフェイス（ＮＵＩ）を実施することができる。ユーザが、デバイスと「自然な（”ｎａｔｕｒａｌ”）」やり方で相互作用できるようにするあらゆるインターフェイス技術であり、マウス、キーボード、リモートコントロール、等といった入力デバイスによって課される人工的な制約から解放されるものである。
【００７３】
ＮＵＩ方法の例は、音声認識、タッチおよびスタイラス（ｓｔｙｌｕｓ）認識、スクリーンとスクリーン隣接の両方におけるジェスチャ認識、エアージェスチャ（ａｉｒ  ｇｅｓｔｕｒｅ）、頭と眼のトラッキング、声とスピーチ、ビジョン、タッチ、ジェスチャ、および、機械知能（ｍａｃｈｉｎｅ  ｉｎｔｅｌｌｉｇｅｎｃｅ）に依存するものを含み、そして、以下の使用を含んでよい。タッチ感応ディスプレイ、音声認識、意図と目的理解、深度カメラ（立体カメラシステム、赤外線カメラシステム、および、他のカメラシステム、そして、これらの組合せ）を使用した動作ジェスチャ検出、加速度計またはジャイロスコープを使用した動作ジェスチャ検出、顔面認識、３次元ディスプレイ、頭、目、および注視トラッキング、没入型拡張現実と仮想現実システム、より自然なインターフェイスを提供する全てのものであり、電界検出電極（ＥＥＧおよび関連する方法）を使用する脳活動を検出するための技術も同様である。
【００７４】
様々なストレージ６１０、通信接続６１２、出力デバイス６１６、および入力デバイス６１４は、ハウジングの中にコンピュータの残りと共に統合され得るか、または、コンピュータにおける入力／出力インターフェイスデバイスを通じて接続され得る。その場合に、参照番号８１０、８１２、８１４、および８１６は、デバイスに対する接続のためのインターフェイスまたはデバイス自身のいずれかを、場合によって示すことができる。
【００７５】
上記に図１−５で説明されたようなシステムに係る、各コンポーネント（「モジュール（”ｍｏｄｕｌｅ”）」または「エンジン（”ｅｎｇｉｎｅ”）」等とも呼ばれるもの）、そして、コンピュータにおいて動作するものは、一つまたはそれ以上のコンピュータに係る一つまたはそれ以上の処理装置、および、一つまたはそれ以上の処理装置によって処理される一つまたはそれ以上のコンピュータプログラムを使用して、実施され得る。コンピュータプログラムは、コンピュータで実行可能な（ｃｏｍｐｕｔｅｒ−ｅｘｅｃｕｔａｂｌｅ）インストラクション、及び／又は、コンピュータで解釈される（ｃｏｍｐｕｔｅｒ−ｉｎｔｅｐｒｅｔｅｄ）インストラクションを含んでいる。プログラミングモジュールといったものであり、インストラクションは、一つまたはそれ以上のコンピュータにおける一つまたはそれ以上の処理装置によって処理される。一般的に、そうしたインストラクションは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を定め、処理装置によって処理されるときに、データについてオペレーションを実行するように、または、様々なコンポーネントまたはデータ構造を実施するためにプロセッサまたはコンピュータを構成するように、処理装置に対して指示する。そうしたコンポーネントは、ストレージまたはメモリにおいてデータをアクセスすること、および、ストレージまたはメモリにデータを保管することによる入力と出力を有している。
【００７６】
このコンピュータシステムは、通信ネットワークにわたりリンクされた複数のコンピュータによってオペレーションが実行される、分散コンピューティング環境において実践されてよい。分散コンピューティング環境において、コンピュータプログラムは、ローカルとリモート両方のコンピュータストレージ媒体に置かれてよい。
【００７７】
代替的に、または追加で、ここにおいて説明された一つまたはそれ以上の様々なコンポーネントの機能は、少なくとも部分的に、一つまたはそれ以上のハードウェア論理コンポーネントによって実行され得る。例えば、かつ限定なしに、使用され得るハードウェア論理コンポーネントのタイプの実例は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定プログラム集積回路（ＡＳＩＣ）、特定プログラム標準品（ＡＳＳＰ）、システムオンチップシステム（ＳＯＣ）、複合プログラマブル論理デバイス（ＣＰＬＤ）、等を含んでいる。
【００７８】
添付の請求項のプリアンブルにおける用語「製品（”ａｒｔｉｃｌｅ  ｏｆ  ｍａｎｕｆａｃｔｕｒｅ”）」、「プロセス（”ｐｒｏｃｅｓｓ”）」、「マシン（”ｍａｃｈｉｎｅ”）」、および「組成物（”ｃｏｍｐｏｓｉｔｉｏｎ  ｏｆ  ｍａｔｔｅｒ”）」は、米国特許法第１０１条（３５Ｕ．Ｓ．Ｃ．§１０１）においてこれらの用語の使用により定められる特許可能な技術的事項（ｓｕｂｊｅｃｔ  ｍａｔｔｅｒ）の範囲内にあるものと見做される技術的事項について請求項を限定するように意図されたものである。
【００７９】
添付の請求項において定められる技術的事項は、上述された特定の実施例について必ずしも限定されないことが理解されるべきである。上述された特定の実施は、例としてだけ開示されたものである。
【図１】
2017527926.tif 000003
【図２】
2017527926.tif 000004
【図３】
2017527926.tif 000005
【図４】
2017527926.tif 000006
【図５】
2017527926.tif 000007
【図６】
2017527926.tif 000008
【国際調査報告】
2017527926.tif 000009
2017527926.tif 000010
2017527926.tif 000011
2017527926.tif 000012
2017527926.tif 000013