IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌビディア コーポレーションの特許一覧

特開2023-70002会話型人工知能アプリケーションにおける非構造化データの記憶及び取得
<>
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図1
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図2
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図3
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図4
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図5A
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図5B
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図6
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図7
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図8
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図9
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図10
  • 特開-会話型人工知能アプリケーションにおける非構造化データの記憶及び取得 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023070002
(43)【公開日】2023-05-18
(54)【発明の名称】会話型人工知能アプリケーションにおける非構造化データの記憶及び取得
(51)【国際特許分類】
   G06F 16/90 20190101AFI20230511BHJP
   G06N 3/02 20060101ALI20230511BHJP
【FI】
G06F16/90 100
G06N3/02
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022064909
(22)【出願日】2022-04-11
(31)【優先権主張番号】17/521,232
(32)【優先日】2021-11-08
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
2.BLUETOOTH
(71)【出願人】
【識別番号】501450960
【氏名又は名称】エヌビディア コーポレーション
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ブラッド ゲトセレヴィッチ
(72)【発明者】
【氏名】プメンドゥ ムケールジー
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175EA01
(57)【要約】
【課題】入力の分類を決定するシステム及び方法を提供する。
【解決手段】情報ベースの入力の場合、非構造化テストとして記憶された情報を評価して、入力に対する応答を決定することができる。少なくとも応答を含む返答を生成することができる。宣言型入力の場合、後続の入力への返答などに後で使用するために、入力を自然言語フォーマットで記憶することができる。
【選択図】図3
【特許請求の範囲】
【請求項1】
対話環境に対するクエリを受信し、
前記クエリの分類が情報ベースのクエリに対応していると判断し、
前記クエリからテキスト・シーケンスを抽出し、
前記テキスト・シーケンスに少なくとも部分的に基づいて、前記クエリに対する応答を決定し、
前記クエリに対する前記応答を提供する
1つ又は複数の処理ユニットを備える、プロセッサ。
【請求項2】
前記応答が、非構造化テキスト内で識別される、請求項1に記載のプロセッサ。
【請求項3】
前記1つ又は複数の処理ユニットがさらに、
訓練済み生成ニューラル・ネットワーク・モデルを使用して前記応答を受信し、
前記応答及び前記クエリの抽出された一部分に少なくとも部分的に基づいて、前記訓練済み生成ニューラル・ネットワーク・モデルを使用して回答を生成する、
請求項1に記載のプロセッサ。
【請求項4】
前記1つ又は複数の処理ユニットがさらに、
情報伝達型(informative)ステートメントを受信し、
前記情報伝達型ステートメントを自然言語ステートメントとして記憶する、
請求項3に記載のプロセッサ。
【請求項5】
前記1つ又は複数の処理ユニットがさらに、
前記対話環境に対する第2のクエリを受信し、
前記第2のクエリの前記分類が第2の情報ベースのクエリであると判断し、
前記第2のクエリが前記情報伝達型ステートメントに関連していると判断し、
前記情報伝達型ステートメントに少なくとも部分的に基づいて、1つ又は複数のタスクを実行する、
請求項4に記載のプロセッサ。
【請求項6】
前記1つ又は複数の処理ユニットがさらに、前記応答に少なくとも部分的に基づいて、クエリに応答してタスクをさらに実行する、請求項1に記載のプロセッサ。
【請求項7】
前記1つ又は複数の処理ユニットがさらに、
前記応答に関連する識別子を決定し、
前記識別子に少なくとも部分的に基づいて、1つ又は複数のアクションを実行させる、
請求項1に記載のプロセッサ。
【請求項8】
前記1つ又は複数の処理ユニットがさらに、抽出型質問回答モデルを実行し、前記1つ又は複数の処理ユニットが、抽出型質問回答モデルを使用して、前記クエリに対する前記応答を決定する、請求項1に記載のプロセッサ。
【請求項9】
前記クエリが、聴覚入力、テキスト入力、又は選択可能な入力の少なくとも1つである、請求項1に記載のプロセッサ。
【請求項10】
複数のファクトを非構造化プレーン・テキストとしてデータセット内に記憶するステップと、
対話環境のパラメータに関連するユーザ・クエリを受信するステップと、
前記ユーザ・クエリからテキスト・シーケンスを抽出するステップと、
前記テキスト・シーケンスに関連する1つ又は複数の選択されたファクトを前記データセット内で決定するステップと、
前記1つ又は複数の選択されたファクトに少なくとも部分的に基づいて、応答を生成するステップと
を含む、方法。
【請求項11】
前記テキスト・シーケンスが抽出され、訓練済み抽出型質問回答モデルを使用して、前記1つ又は複数の選択されたファクトが決定される、請求項10に記載の方法。
【請求項12】
前記応答が、生成型ニューラル・ネットワーク・モデルの出力に少なくとも部分的に基づく自然言語応答である、請求項10に記載の方法。
【請求項13】
情報伝達型入力を受信するステップと、
前記情報伝達型入力を自然言語フォーマットで前記データセット内に記憶するステップと
をさらに含む、請求項10に記載の方法。
【請求項14】
第2のユーザ・クエリを受信するステップと、
前記第2のユーザ・クエリの分類を決定するステップと、
前記分類に少なくとも部分的に基づいて、前記情報伝達型入力の1つ又は複数の部分を取得するステップと、
前記1つ又は複数の部分に少なくとも部分的に基づいて、1つ又は複数のタスクを実行するステップと
をさらに含む、請求項13に記載の方法。
【請求項15】
前記テキスト・シーケンスに関連する1つ又は複数の呼出しを決定するステップであって、前記1つ又は複数の呼出しがアクションに対応する、ステップと、
前記応答に少なくとも部分的に基づいて、前記アクションを実行させるステップと
をさらに含む、請求項10に記載の方法。
【請求項16】
ユーザから情報伝達的(informational)入力を受信するステップと、
前記情報伝達的入力を自然言語として記憶するステップと、
タスクを実行するためのユーザ・クエリを受信するステップと、
前記ユーザ・クエリの分類を決定するステップと、
前記ユーザ・クエリから、前記タスクに関連するセグメントを抽出するステップと、
前記セグメントに少なくとも部分的に基づいて、前記情報伝達的入力の少なくとも一部分を取得するステップと、
前記情報伝達的入力に少なくとも部分的に基づいて、前記タスクを実行するステップと
を含む、コンピュータ実装方法。
【請求項17】
前記情報伝達的入力に関連する1つ又は複数のアクションを決定するステップと、
前記情報伝達的入力に1つ又は複数のタグを割り当てるステップと
をさらに含む、請求項16に記載のコンピュータ実装方法。
【請求項18】
抽出型質問回答モデルが、前記情報伝達的入力の前記一部分を決定する、請求項16に記載のコンピュータ実装方法。
【請求項19】
前記非公式の入力が、非構造化データセットに追加される、請求項16に記載のコンピュータ実装方法。
【請求項20】
訓練済み生成ニューラル・ネットワーク・モデルに対して少なくとも前記一部分を受信するステップと、
少なくとも前記一部分に関連する聴覚インジケータを生成するステップと
を含む、請求項16に記載のコンピュータ実装方法。
【発明の詳細な説明】
【背景技術】
【0001】
対話環境は、声入力又はテキスト入力などのユーザ入力を受信し、次いで、入力に対する応答を提供するために意図を推測する、会話型人工知能システムを含み得る。これらのシステムは、一般に、大規模なデータセットで訓練され、各意図は特定のエンティティに合わせて訓練されるため、一般に柔軟性がなく扱いにくいモデルが作成される。たとえば、システムは、各タスクに合わせて特別に訓練された様々な異なるモデルを展開する場合があり、わずかな変更が導入されると、その後モデルは、新たに注釈が付けられたデータで再訓練される。通常、意図/スロット・データセットなど、これらのシステムに関連するデータは構造化データ・スキーマに記憶されるため、追加又は変更に関する問題がさらに発生する。その結果、システムが新しい情報に対して柔軟性を欠くことがあるか、又は更新が遅くなることがあり、システムの使いやすさが制限される可能性がある。
【発明の概要】
【課題を解決するための手段】
【0002】
図面を参照しながら、本開示による様々な実施例を説明する。
【図面の簡単な説明】
【0003】
図1】少なくとも一実施例による、実例対話環境を示す図である。
図2】少なくとも一実施例による、入力の分類、記憶、及び取得のためのパイプラインの実例を示す図である。
図3】少なくとも一実施例による、分類、記憶、及び取得のための実例環境を示す図である。
図4】少なくとも一実施例による、対話環境のための実例インターフェースを示す図である。
図5A】少なくとも一実施例による、入力の分類のためのプロセスの実例フロー・チャートである。
図5B】少なくとも一実施例による、入力の分類及び取得のためのプロセスの実例フロー・チャートである。
図6】少なくとも一実施例による、入力に応じた応答を生成するためのプロセスの実例フロー・チャートである。
図7】少なくとも一実施例による、実例データ・センタ・システムを示す図である。
図8】少なくとも一実施例による、コンピュータ・システムを示す図である。
図9】少なくとも一実施例による、コンピュータ・システムを示す図である。
図10】1つ又は複数の実施例による、グラフィックス・プロセッサの少なくとも一部分を示す図である。
図11】1つ又は複数の実施例による、グラフィックス・プロセッサの少なくとも一部分を示す図である。
【発明を実施するための形態】
【0004】
様々な実施例による手法は、対話環境で利用される情報などの情報の非構造化された記憶及び取得のためのシステム及び方法を提供する。少なくとも一実施例では、システム及び方法は、異なる記憶スキーマを用いて且つ/又はクエリに対する構造化された記憶スキーマ応答なしで記憶され得るデータを記憶及び取得するために、チャット・ボット又は会話型人工知能(AI)システムとともに使用される。様々な実施例は、ユーザ入力を分析し、入力が情報ベースの要求に関連しているかどうかを判定し、次いで、分析及び応答のために適切なパイプラインに沿って入力を方向付けるための、1つ又は複数の分類器を含んでもよい。少なくとも一実施例では、入力内の1つ又は複数の特徴を識別し、非構造化データのセットから入力に応答する情報を決定するために、1つ又は複数の抽出型質問回答モデルを使用して、情報ベースの要求が評価されてもよい。次いで、情報は、ユーザに提示されてもよく、又は、他の選択肢の中でもとりわけ、1つ又は複数のアクションを実行するために利用されてもよい。さらに、システム及び方法は、ユーザ入力を、後で取得するために、自然言語の方法で記憶するなど、非構造化テキストとして記憶するために使用されてもよい。このようにして、各情報を要求スキーマに適合させるという厳格さなしに、データセットを容易に更新及び維持することができる。
【0005】
様々な実施例は、部分的に、1つ若しくは複数のユーザ入力に応答して情報を提供するか又はコマンドを実行する会話型AIシステムとともに使用されてもよい。少なくとも一実施例では、ユーザは、情報を求める要求又は1つ若しくは複数のタスクを実行するよう求める要求などの入力を環境に提供してもよい。システムは、1つ若しくは複数の自然言語認識システム又は音声認識システムを使用してオーディオ入力を処理するなど、入力を処理してもよく、又はテキスト入力を評価して、入力を1つ若しくは複数のカテゴリに属するものとして分類してもよい。少なくとも一実施例では、カテゴリは、情報ベースの入力、意図/スロット入力、宣言的(declaratory)入力、及び他のものに関連付けられてもよい。分類に応じて、入力に対して異なる処理パイプラインが使用されてもよい。単に一例として、情報ベースの入力は、1つ又は複数の抽出型質問回答モデルによって、非構造化データのデータ・ストアに照らして評価されてもよく、モデルは、入力から1つ又は複数の特徴を決定して、入力に対する応答を生成してもよい。別の例として、意図/スロット分類は、応答を提供するための適切な値をスロットに投入するために、訓練済み抽出型質問回答モデルが入力を様々な意図/スロット情報に照らして評価するというパイプラインに向けて方向付けられてもよい。さらなる例として、宣言的入力は、分類されてもよく、次いで、非構造化データ・リポジトリに追加されてもよく、次いで、宣言的入力は、利用されるか、又は後のユーザ・クエリで利用できるようにされてもよい。
【0006】
様々な実施例を利用して、ユーザ入力に対する応答を提供することができ、ユーザ入力は、聴覚入力、テキスト入力、選択的入力(たとえば、コンテンツ要素の選択)、又は対話環境内で1つ若しくは複数の動作を実行するデータ・ファイルなどの命令入力の形式であってもよい。システム及び方法は、関連情報を非構造化メモリに自然なテキストとして記憶して、その情報に基づいて柔軟な質問に回答するだけでなく、コマンドで使用する情報を取得することもできる。たとえば、結果は、ユーザへのテキスト応答若しくは音応答、並びに、又は追加として、結果に結び付けられた1つ若しくは複数のアクションの遂行に関連付けられてもよい。例として、入力に関連する応答出力に、1つ又は複数のメタ・コマンドが追加されてもよく、コマンド自体はユーザに提供されず、コマンドは1つ又は複数の追加アクションをトリガする。
【0007】
図1に示すように、対話環境100は、1つ又は複数のコンテンツ要素を含む表示領域102内に提示されてもよい。少なくとも一実施例では、対話環境100は、ユーザが、声入力、テキスト入力、領域の選択、1つ又は複数のコンテンツ要素の選択などの1つ又は複数の入力に少なくとも部分的に基づいて異なるコンテンツ要素と対話することを可能にする会話型AIシステムに関連付けられてもよい。表示領域102は、スマート・フォン、パーソナル・コンピュータ、スマートTV、仮想現実システム、対話型キオスクなどの電子デバイスの一部を形成してもよい。この実例では、自動車に対応するオブジェクト106を含む表示要素104が示されている。オブジェクト106は、バンパーが見える背面図で示されている。以下に説明するように、様々な実施例は、ユーザが声命令などの入力命令を提供して、対話環境100内でオブジェクト106の1つ又は複数の態様を修正すること及び/又は1つ又は複数のサポートされるアクションを実行すること、並びに環境内の情報に関連する質問などの1つ又は複数のクエリを提示することを可能にする。
【0008】
図示のシステムは、入力コンテンツ要素108、保存コンテンツ要素110、終了コンテンツ要素112、及びプロパティ・コンテンツ要素114を含み得る選択可能なコンテンツ要素をさらに含む。これらの選択可能なコンテンツ要素は、例として提供されているにすぎず、他の実施例がより多くの又はより少ないコンテンツ要素を含み得ることを認識すべきである。さらに、声コマンド、手動入力などの異なるタイプの対話プロパティとともに、異なるタイプのコンテンツ要素が利用されてもよい。さらに、対話環境は、選択可能なコンテンツ要素に関連付けられた異なるコマンドを開始するために使用される一連のアクションを含む1つ又は複数のスクリプトを受信してもよい。動作に際して、ユーザは、オブジェクト106のプロパティの変更など、環境に関連する1つ又は複数のタスク又はアクションを実行するために、コンテンツ要素のうちの1つ又は複数と対話してもよい。例として、ユーザは、(たとえば、マウスによって又は指で制御されるカーソルを用いて)入力コンテンツ要素108をクリックすること、口頭での命令を提供することなどによって、入力コンテンツ要素108を選択してもよい。次いで、ユーザのコマンドは受信されてもよく、1つ又は複数のシステムは、入力を分類し、入力に対する適切な応答を決定し、次いで、適切な応答を実行してもよい。
【0009】
システム及び方法は、非構造化テキストを保存、取得、及び更新することを目的とし得る。実施例は、変換AIに関する情報を記憶することを含み、ユーザは、クエリを提示し、クエリは、情報ベースであるかどうかを判定するために評価され、次いで、非構造化テキストから応答を決定するために、質問回答ニューラル・ネットワーク・モデルを使用してクエリからファクトを抽出する。様々なクエリに対する回答又はデータは、生成及び/又は更新が困難であり得る意図/スロット・スキーマではなく、非構造化テキストとして自然に記憶されてもよい。動作中、入力クエリは、クエリが質問であるかどうかを判定する分類器に向けて方向付けられる。さらに、質問は、情報ベースのクエリ又は意図/スロット・クエリに分割されて、適切なパイプラインに向けて方向付けられる。抽出型QAモデルを訓練し、次いで、その抽出型QAモデルを使用して、非構造化テキストを検索して入力クエリへの回答を特定することなどによって、情報ベースのクエリに対する応答を提供することができる。本システムにより、非構造化メモリでサポートされる会話型AIの開発が可能になり、これにより、システムに関連するカスタム・ファクトが増加する可能性がある。
【0010】
本開示の実施例は、構造化データ・スキーマを利用して情報を記憶、更新、及び取得する既存のシステムに対する1つ又は複数の改善を提供することができる。例として、本実施例の非構造化自然言語ストレージは、システムで使用するために特定の応答又は意図が事前ロード及び定義されるという、意図/スロット・スキーマに対する改善を提供することができる。したがって、典型的には、入力に応じて識別及び実行される意図/スロットの組合せを作成するために、様々な異なる入力及び所望の出力を調べることによって、意図/スロット・スキーマが生成される。これらのシステムの生成は、時間がかかる場合があり、事前ロードされた意図及びスロットに対応しないユーザ入力に対して柔軟性がない。同様に、システムは、非構造化テキストの保存及び取得ではなく情報の厳密な分類を必要とし得る、可変辞書及び知識グラフに対する改善を提供する。
【0011】
図2に示すように、アーキテクチャ200は、1つ又は複数の処理ユニットを含んでもよく、1つ又は複数の処理ユニットは、ローカルにホストされても、1つ又は複数の分散システムの一部であってもよい。この実例では、入力200が分類器204に提供され、分類器204は、他の選択肢の中でもとりわけ、分散システムの一部又はローカルにホストされた分類器であってもよい。分類器204は、入力の1つ又は複数の態様を評価して、入力が質問に関連しているかどうかを判定する、1つ又は複数の訓練済み機械学習システムを含んでもよい。単に一例として、1つ又は複数の自然言語処理(NLP:Natural Language Processing)モデルの一部であり得る1つ又は複数の句読点モデルを利用して、単語の後に句読点が続くかどうかを予測し、さらに、入力された文又は句が質問であるかどうかを予測することができる。さらに、分類器204の少なくとも一部は、人間がデバイスと自然に対話することを可能にする1つ又は複数の自然言語理解(NLU:natural language understanding)システムを組み込んでもよい。NLUシステムは、入力の文脈及び意図を解釈し、応答を生成するために利用されてもよい。たとえば、入力は、前処理されてもよく、前処理は、トークン化、レンマ化、ステミング、及び他のプロセスを含んでもよい。追加として、NLUシステムは、エンティティ認識、意図認識、感情分析などの機能を有効にするために、BERTモデルなどの1つ又は複数の深層学習モデルを含んでもよい。また、様々な実施例は、自動音声認識(ASR::automatic speech recognition)、テキスト対音声処理などをさらに含んでもよい。
【0012】
動作に際して、入力202は、分類器204によって評価され、入力202の分類に少なくとも部分的に基づいて、データが、さらなる処理のために1つ又は複数のパイプラインに沿って転送されてもよい。この実例では、質問環境206は、他の選択肢の中でもとりわけ、情報ベースのクエリ208及び意図/スロット・クエリ210との両方に基づく評価を含んでもよい。たとえば、分類器204は、最初に、入力202が質問に対応していると判断し、データを適切なパイプラインに沿って質問環境206に向けて方向付けてもよい。しかしながら、質問環境内では、上述のように質問環境206内で利用される追加のシステムが存在し得るという例である、情報ベースのシステム208又は意図/スロット・システム210によって適切な処理が実行されるかどうかを判定するために、1つ又は複数の追加の分析又は決定が実行されてもよい。単に一例として、以下に示すように、1つ又は複数の関数を利用して、入力を評価し、どのように入力を処理するかを決定することができる。
質問(クエリ)の場合:
応答=質問_回答(クエリ)
応答ではない場合:
意図、スコア=認識する_意図(クエリ)
意図及びスコア>閾値の場合:#意図が認識される
スロット=認識する_スロット(クエリ、スロット_質問)
スロット=確認する_スロット_値(スロット、サポートされる_スロット_値)
応答、コマンド=実行_コマンド(意図、スロット)
tts.say(応答)
【0013】
この実例では、クエリが質問である場合、及びそのようなクエリがシステムで処理され得る場合、訓練済み抽出型質問回答ネットワークを使用して、最初のクエリが評価及び処理される。しかしながら、他の実例では、意図/スロット・システム210は、意図を識別すること、関連するスロットを識別すること、スロットへ投入すること、次いで応答を提供することを進めてもよい。
【0014】
追加として、入力202は、宣言型(declarative)ステートメントであるとしてさらに分類されてもよく、情報ストレージ・システム212に向けて方向付けられてもよい。たとえば、ユーザは、入力202として、「私の好きな色は緑である」又は「これをデフォルトの表示設定にする」などの肯定的なステートメントを提供してもよい。次いで、この情報は、非構造化自然言語としての記憶及び保持のために情報ストレージ・システム212に提供されてもよく、次いで、別のクエリに対する応答として利用されてもよい。認識されるように、入力202を非構造化自然言語として記憶することにより、リアル・タイム及びほぼリアル・タイムでの記憶及び取得が可能になり、その結果、新しい意図を追加することによってモデルを再訓練することも意図/スロット分類を修正することもなく、システムに関連するデータを、実行時に更新することができる。このようにして、特定のデータ構造に準拠するための情報を要求するのではなく自然言語を使用して、会話型AIをより頻繁に且つより自然な方法で更新することができる。
【0015】
図3に示すように、環境300は、1つ又は複数の会話型Aisとともに利用されてもよい。環境300がより多くの又はより少ない構成要素を含み得ること、及び環境300の様々な構成要素は単一のシステムに組み込まれ得るが、便宜上また明確にするために別個のモジュールとして示される場合があることを認識すべきである。この実例では、入力302は、1つ又は複数のネットワーク306を介して会話型システム304に送信される。ネットワーク306は、ユーザ・デバイス、サーバ構成要素、スイッチなどの1つ又は複数の中間システムを含む有線ネットワーク又は無線ネットワークであってもよい。さらに、データの少なくとも一部の送信がネットワーク306を利用せずにデバイス上でローカルで実行され得るように、会話型システム304の1つ又は複数の機能が、ユーザ・デバイス上に事前ロード又は他の方法で記憶され得ることを認識すべきである。
【0016】
この実例では、入力プロセッサ308は、入力308を受信し、1つ又は複数の前処理又は後処理ステップを実行してもよい。たとえば、入力プロセッサ308は、他の選択肢の中でもとりわけ、聴覚入力を評価して入力から1つ又は複数の特徴を抽出する1つ又は複数のNLPシステムを含んでもよい。さらに、実施例では、入力プロセッサ308は、前処理(たとえば、トークン化、句読点の削除、ストップ・ワードの削除、ステミング、レンマ化など)、特徴抽出などのためのテキスト処理システムを含んでもよい。入力プロセッサ308が1つ又は複数の訓練済み機械学習システムを利用し得ること、及び会話型システム304の他の構成要素内にさらに組み込まれ得ることを認識すべきである。
【0017】
入力が質問、ステートメント、又は他のラベルに対応するかどうかを判定するために、分類器310が使用されてもよい。たとえば、分類器310は、1つ又は複数の訓練済み機械学習システムを利用し、たとえば他の可能なモデルの中でもとりわけ句読点モデルを使用して、入力が質問の形式であるかどうかを評価してもよい。上記のように、分類器310は、次いで、入力をそれぞれの分類に応じて異なる経路に沿って方向付けてもよく、応答を決定するために、質問は、1つ又は複数のデータ・ベースに照らしてさらに評価されてもよく、ステートメントは、評価され、非構造化テキストのコーパスに追加されてもよい。
【0018】
上記のように、質問は、1つ又は複数の抽出型質問回答モデル312を使用して入力に対する応答を決定する質問環境に向けて方向付けられてもよい。例として、抽出型質問回答モデル312は、入力シーケンスの1つ又は複数の部分を抽出して、そのようなシーケンスに関連する自然言語の質問に回答するために利用される、訓練済みニューラル・ネットワークであってもよい。上記のように、「私は車を何色に塗装できるか」などの入力の場合、車の可能な色を識別するために、非構造化テキストが評価されてもよく、次いで、ユーザにそれらの色が提示されてもよい。たとえば、構造化テキストに「車の色は白、黒、赤、黄、及びグレーである」などの自然言語情報が含まれる場合、質問に対する応答は「白、黒、赤、黄、及びグレー」になる。追加として、モデル312が意図/スロット評価でも利用され得ることを認識すべきである。様々な実施例では、抽出型質問回答モデルは、NVIDIA CorporationのMegatronなどの訓練済みニューラルネット・ワークシステムであってもよい。
【0019】
様々な実施例では、モデル312を訓練するために訓練データ314が利用されてもよく、データは、マルチQAデータセットなどの情報のコーパスを含む。結果として、モデル312は、会話型システム304に提供される情報に対応する非構造化テキストのコーパス316から直接、関連するファクトを抽出することが可能であってもよい。例として、コーパス316は、文、段落、CSVデータなどの自然言語として提示される情報を含んでもよい。さらに、コーパス316は、1つ又は複数の構造データセットをさらに含んでもよい。
【0020】
図示の実施例は、コーパス316を更新するために利用され得る異なるステートメント又はファクトを識別及び組み込むための実行時対話モジュール318も含む。例として、分類器310は、入力が質問に関連していないと判断してもよく、たとえば1つ又は複数の機械学習システムを使用して、評価のために実行時対話モジュール318に入力を提供してもよい。コーパス316を更新するために、入力から1つ又は複数の特徴が識別及び/又は抽出されてもよい。たとえば、入力は、ユーザが特定の色又はカメラ・アングルを好むとの発話などのユーザの好みに対応する場合がある。その場合、将来のコマンド又は要求がユーザの好みを組み込むことができるように、この情報を利用してコーパス316を更新してもよい。少なくとも一実施例では、入力を自然言語フォーマットでフォーマットするなど、コーパス316を更新するために、データ修飾子320が利用されてもよい。
【0021】
様々な実施例はまた、入力に関連する1つ又は複数のアクションを実行させてもよい。たとえば、アクション・モジュール322を使用して、テキストに関連する適切なコマンドへの接続を可能にする、自然言語テキストに関連する1つ又は複数のメタ・コマンドを実装してもよい。様々な実施例では、メタ・コマンドは、アクションに関連する特定の文字を無視するか又は扱わないための、機械学習システムへの記号又は呼出しであってもよい。様々な実施例では、アクションは、入力に対する応答と並列又は半並列で実行され得る。少なくとも一実施例では、メタ・コマンドは、記号又は呼出しに続く別個の文又は文字列であってもよい。たとえば、ユーザが「この食事にはどのような付け合わせ料理が付くか?」と尋ねた場合、関連するアクションは、質問に回答するためにユーザに口頭又はテキストによる応答を提供することだけでなく、写真を提供すること又はリストを表示することであってもよい。結果として、非構造化テキスト内では、記号又は呼出しは、回答に関連する非構造化テキストの後に続いてもよく、その結果、ユーザ入力に対する回答が識別されたときに1つ又は複数のアクションも実行される。
【0022】
本明細書に記載のように、様々な実施例により、情報を自然言語の非構造化テキストとしての記憶及び取得することが可能になる。したがって、特定のスキーマにフォーマットすることなく、新しい情報を情報のコーパスに容易に追加することができる。図4に示すように、ストレージ・システム400は、情報セット402を含んでもよい。情報セット402は、自然言語フォーマットでのフリー・テキスト、この場合は一連の文として記憶される。リスト(たとえば、色は白、黒、赤、黄、及びグレーである)、キーと値とのペア(たとえば、色:白、黒、赤、黄、グレー)など、様々な非構造化メモリ・スキーマが使用されてもよいことを認識すべきである。さらに、情報セット402内のストレージ・システム400とともに、様々な構造化スキーマが利用されてもよいことを認識すべきである。言い換えれば、ストレージ・システム400内で様々なスキーマが情報セット402として組み合わされてもよく、それにより、情報を記憶及び更新するための柔軟性の向上を提供する。
【0023】
この実例では、入力404は、システム400に提供されるユーザ・クエリの実例を示しており、この場合、入力404は、たとえば1つ又は複数のNLPシステムを使用してテキストに変換された声入力である。入力404が、システム400によって評価されるプロセスを説明するための一例として提供されていること、及び実施例では、システム400を利用するユーザが情報セット402及び/又は入力404を視覚化しないことを認識すべきである。すなわち、システム400は、ユーザに異なるユーザ・インターフェースが示されている間にバックグラウンドで実行してもよい。この実例では、入力404は、1つ又は複数の分類器によって識別され得る質問に対応し、上記で説明されている。さらに、様々な実施例では、質問が情報ベースの質問であるかどうかを判定するために、質問がさらに分析されてもよい。この場合、クエリはシステムの能力に関する質問に関連しており、情報ベースの質問に対応している可能性がある。
【0024】
少なくとも一実施例では、回答406が文構造でユーザに提供されるように、生成型応答408が使用可能であってもよい。例として、回答406を入力として受信し、次いで、回答406を組み込んだ適切な応答を決定するために、生成型ニューラル・ネットワークが利用されてもよい。この実例では、生成型応答408は、回答406を文フォーマットでユーザに提供する。認識されるように、生成型応答408を使用することにより、ユーザに対話体験の向上を提供し、ユーザは、情報のみを受信するのではなく、システムと会話をしているように感じることができる。したがって、ユーザは、システムをより多くの目的のために使用しようという気持ちになる可能性がある。
【0025】
少なくとも一実施例では、1つ又は複数のアクションは、上記のように、異なるユーザ入力に結び付けられてもよく、アクションはマーカ又は呼出しを含んでもよい。アクション・セット410は、異なる回答406を伴う関連するアクションのリスト又はセットを含んでもよい。図4の実例では、色の選択肢について学習するためのユーザの要求に関連付けられたアクションは存在しない。しかしながら、様々な実施例では、色の選択肢のパネル又は見本を表示するなどのアクションが要求に関連付けられてもよい。したがって、異なる呼出し又は関数がリストされてもよい。少なくとも一実施例では、プロバイダは、システム400にアクセスして、変更又は更新を実施してもよい。たとえば、情報セット402に異なる情報が追加されてもよく、且つ/又は異なるアクションが異なる質問若しくは状況に相関していてもよい。このようにして、システムを再訓練することなく、実行時にシステムへの動的な変更が提供されてもよい。
【0026】
図5Aは、対話環境内でユーザの意図を決定してアクションを実行するための実例プロセス500を示す。本明細書で提示する上記のプロセス及び他のプロセスについて、同様の順番で、若しくは代替的な順番で、又は少なくとも一部が並行して実行される追加の、より少ない、又は代替的なステップが、別段の記載のない限り様々な実施例の範囲内で存在してもよいことが理解されるべきである。この実例では、対話環境で入力が受信される502。様々な実施例では、入力は、声入力、テキスト入力、ソフトウェア・プログラムのスクリプトからのコマンド、コンテンツ要素の選択などであってもよい。たとえば、1つ又は複数の機械学習システムを使用して、入力の分類が決定されてもよく504、1つ又は複数の機械学習システムは、入力が質問であるか宣言型ステートメントであるかを判定する506。上記のように、決定は、句読点モデルなどの1つ又は複数のモデルを少なくとも部分的に含んでもよい。
【0027】
情報が、ユーザが提供する情報などの宣言型ステートメントである場合、入力は、自然言語フォーマットで記憶されてもよい508。入力を記憶することにより、たとえば、ユーザが、1つ又は複数の好みを確認することなど、ユーザが対話環境に有用であり得る情報を提供した場合に後で情報を識別して取得することが可能になる場合がある。さらに、本明細書に記載のように、情報を自然言語フォーマットで記憶することにより、システムに柔軟性がもたらされ、その結果、特定の記憶スキーマが不要になる可能性があり、新たに提供された情報のより高速で自動化された記憶が可能になる。
【0028】
少なくとも一実施例では、入力は質問であり、入力から1つ又は複数のテキスト・シーケンスが抽出されてもよい510。テキスト・シーケンスの抽出された一部分が、抽出型質問回答モデルなどの1つ又は複数の機械学習システムに提供されて、シーケンスに少なくとも部分的に基づいて応答が決定されてもよい512。応答は、入力によって提起された質問に対する回答を提供してもよく、応答は、自然言語フォーマットなどの非構造化フォーマットで記憶された情報セット内で識別されてもよい。次いで、応答を使用して、追加情報の提供、アクションの実行、又はそれらの組合せなど、入力への返答を生成してもよい514。
【0029】
図5Bは、ユーザ入力に応答するための実例プロセス520を示す。この実例では、対話環境内で入力が受信される522。前述のように、入力は、音対話、テキスト入力、コンテンツ要素の選択、又は他の選択肢を介して提供される1つ又は複数のクエリを含んでもよい。最後の一実施例では、入力は、情報ベースの質問を含んでもよい524。たとえば、入力は、会話型AIシステムの潜在的な能力に関する質問であってもよい。入力に対する応答を決定するために、入力からの情報を利用して、非構造化自然言語として記憶されたデータを評価してもよい526。例として、抽出型質問回答モデルは、入力から1つ又は複数の特徴を入力として取り、記憶されたデータ内の情報が入力に対応するかどうかを判定してもよい。次いで、応答を使用して、返答が生成されてもよい528。
【0030】
図6は、入力に基づいてアクションを実行するための実例プロセス600を示す。この実例では、情報セットは、非構造化自然言語として記憶される602。たとえば、情報は、他の選択肢の中でもとりわけ、一連の文として記憶されてもよい。情報の一部分に対応するアクションが決定される604。アクションは、ユーザ・クエリに応答する視覚的な表示を提供するなど、対話環境の1つ又は複数の能力を含んでもよい。情報の一部分に呼出し関数が割り当てられてもよく、呼出し関数は、アクションを実行するために使用される606。様々な実施例では、呼出し関数がカウントされることも又は情報セットに含まれることもないように、呼出し関数は、記号又はインジケータを含んでもよい。
【0031】
様々な実施例では、入力が受信され、入力に応答して、一部分が取得される608。一部分を使用して、入力に対する応答が生成されてもよく610、応答に基づいて、1つ又は複数の関連するアクションが実行されてもよい612。このようにして、応答を提供することと並行して、一部分に関連する呼出しが実行されてもよい。
【0032】
データ・センタ
図7は、少なくとも一実施例が使用されてもよい例示的なデータ・センタ700を示す。少なくとも一実施例では、データ・センタ700は、データ・センタ・インフラストラクチャ層710、フレームワーク層720、ソフトウェア層730、及びアプリケーション層740を含む。
【0033】
図7に示すように、少なくとも一実施例では、データ・センタ・インフラストラクチャ層710は、リソース・オーケストレータ712と、グループ化済みコンピューティング・リソース714と、ノード・コンピューティング・リソース(「ノードC.R.」)716(1)~716(N)とを含んでもよく、ここで「N」は任意の正の整数を表す。少なくとも一実施例では、ノードC.R.716(1)~716(N)は、任意の数の中央処理装置(「CPU」)又は(アクセラレータ、フィールド・プログラマブル・ゲート・アレイ(FPGA)、グラフィックス・プロセッサなどを含む)他のプロセッサ、メモリ・デバイス(たとえば、ダイナミック読取り専用メモリ)、ストレージ・デバイス(たとえば、半導体ドライブ又はディスク・ドライブ)、ネットワーク入力/出力(「NW I/O」:network input/output)デバイス、ネットワーク・スイッチ、仮想機械(「VM」:virtual machine)、電源モジュール、及び冷却モジュールを含んでもよいが、これらに限定されない。少なくとも一実施例では、ノードC.R.716(1)~716(N)のうち1つ又は複数のノードC.R.は、上述したコンピューティング・リソースのうちの1つ又は複数を有するサーバであってもよい。
【0034】
少なくとも一実施例では、グループ化済みコンピューティング・リソース714は、1つ若しくは複数のラック(図示せず)内に収容されたノードC.R.の別々のグループ、又は様々なグラフィカル・ロケーション(同じく図示せず)においてデータ・センタに収容された多数のラックを含んでもよい。グループ化済みコンピューティング・リソース714内のノードC.R.の別々のグループは、1つ若しくは複数のワークロードをサポートするように構成又は配分されてもよいグループ化済みのコンピュート・リソース、ネットワーク・リソース、メモリ・リソース、又はストレージ・リソースを含んでもよい。少なくとも一実施例では、CPU又はプロセッサを含むいくつかのノードC.R.は、1つ又は複数のラック内でグループ化されて、1つ又は複数のワークロードをサポートするためのコンピュート・リソースが提供されてもよい。少なくとも一実施例では、1つ又は複数のラックはまた、任意の数の電源モジュール、冷却モジュール、及びネットワーク・スイッチを任意の組合せで含んでもよい。
【0035】
少なくとも一実施例では、リソース・オーケストレータ712は、1つ又は複数のノードC.R.716(1)~716(N)及び/若しくはグループ化済みコンピューティング・リソース714を構成してもよく、又は他のやり方で制御してもよい。少なくとも一実施例では、リソース・オーケストレータ712は、データ・センタ700用のソフトウェア設計インフラストラクチャ(「SDI」:software design infrastructure)管理エンティティを含んでもよい。少なくとも一実施例では、リソース・オーケストレータは、ハードウェア、ソフトウェア、又はこれらの何らかの組合せを含んでもよい。
【0036】
図7に示す少なくとも一実施例では、フレームワーク層720は、ジョブ・スケジューラ722、構成マネージャ724、リソース・マネージャ726、及び分配ファイル・システム728を含む。少なくとも一実施例では、フレームワーク層720は、ソフトウェア層730のソフトウェア732、及び/又はアプリケーション層740の1つ若しくは複数のアプリケーション742をサポートするためのフレームワークを含んでもよい。少なくとも一実施例では、ソフトウェア732又はアプリケーション742はそれぞれ、アマゾン・ウェブ・サービス、グーグル・クラウド、及びマイクロソフト・アジュールによって提供されるものなど、ウェブ・ベースのサービス・ソフトウェア又はアプリケーションを含んでもよい。少なくとも一実施例では、フレームワーク層720は、大規模なデータ処理(たとえば「ビック・データ」)のために分配ファイル・システム728を使用することができるApache Spark(登録商標)(以下「Spark」)など、無料でオープン・ソースのソフトウェア・ウェブ・アプリケーション・フレームワークの一種であってもよいが、これに限定されない。少なくとも一実施例では、ジョブ・スケジューラ722は、データ・センタ700の様々な層によってサポートされるワークロードのスケジューリングを容易にするために、Sparkドライバを含んでもよい。少なくとも一実施例では、構成マネージャ724は、ソフトウェア層730、並びに大規模なデータ処理をサポートするためのSpark及び分配ファイル・システム728を含むフレームワーク層720などの異なる層を構成することが可能であってもよい。少なくとも一実施例では、リソース・マネージャ726は、分配ファイル・システム728及びジョブ・スケジューラ722をサポートするようにマッピング若しくは配分されたクラスタ化済み又はグループ化済みのコンピューティング・リソースを管理することが可能であってもよい。少なくとも一実施例では、クラスタ化済み又はグループ化済みのコンピューティング・リソースは、データ・センタ・インフラストラクチャ層710にあるグループ化済みコンピューティング・リソース714を含んでもよい。少なくとも一実施例では、リソース・マネージャ726は、リソース・オーケストレータ712と連携して、これらのマッピング又は配分されたコンピューティング・リソースを管理してもよい。
【0037】
少なくとも一実施例では、ソフトウェア層730に含まれるソフトウェア732は、ノードC.R.716(1)~716(N)、グループ化済みコンピューティング・リソース714、及び/又はフレームワーク層720の分配ファイル・システム728のうちの少なくとも一部分によって使用されるソフトウェアを含んでもよい。1つ又は複数のタイプのソフトウェアは、インターネット・ウェブ・ページ検索ソフトウェア、電子メール・ウイルス・スキャン・ソフトウェア、データベース・ソフトウェア、及びストリーミング・ビデオ・コンテンツ・ソフトウェアを含んでもよいが、これらに限定されない。
【0038】
少なくとも一実施例では、アプリケーション層740に含まれるアプリケーション742は、ノードC.R.716(1)~716(N)、グループ化済みコンピューティング・リソース714、及び/又はフレームワーク層720の分配ファイル・システム728のうちの少なくとも一部分によって使用される1つ若しくは複数のタイプのアプリケーションを含んでもよい。1つ若しくは複数のタイプのアプリケーションは、任意の数のゲノム学アプリケーション、認識コンピュート、並びに訓練若しくは推論のソフトウェア、機械学習フレームワーク・ソフトウェア(たとえば、PyTorch、TensorFlow、Caffeなど)を含む機械学習アプリケーション、又は1つ若しくは複数の実施例と併せて使用される他の機械学習アプリケーションを含んでもよいが、これらに限定されない。
【0039】
少なくとも一実施例では、構成マネージャ724、リソース・マネージャ726、及びリソース・オーケストレータ712のうちのいずれかは、任意の技術的に実行可能なやり方で取得された任意の量及びタイプのデータに基づき、任意の数及びタイプの自己修正措置を実装してもよい。少なくとも一実施例では、自己修正措置は、データ・センタ700のデータ・センタ演算子が、不良の恐れのある構成を決定しないようにし、十分に利用されていない且つ/又は性能の低いデータ・センタの部分をなくせるようにしてもよい。
【0040】
少なくとも一実施例では、データ・センタ700は、1つ若しくは複数の機械学習モデルを訓練し、又は本明細書に記載の1つ若しくは複数の実施例による1つ若しくは複数の機械学習モデルを使用して情報を予測若しくは推論するためのツール、サービス、ソフトウェア、又は他のリソースを含んでもよい。たとえば、少なくとも一実施例では、機械学習モデルは、データ・センタ700に関して上述したソフトウェア及びコンピューティング・リソースを使用して、ニューラル・ネットワーク・アーキテクチャに従って重みパラメータを計算することによって、訓練されてもよい。少なくとも一実施例では、1つ又は複数のニューラル・ネットワークに対応する訓練済み機械学習モデルは、本明細書に記載の1つ又は複数の技法によって計算された重みパラメータを使用することにより、データ・センタ700に関して上述したリソースを使用して、情報を推論又は予測するために使用されてもよい。
【0041】
少なくとも一実施例では、データ・センタは、上述したリソースを使用して訓練及び/又は推論を実行するために、CPU、特定用途向け集積回路(ASIC)、GPU、FPGA、又は他のハードウェアを使用してもよい。さらに、上述した1つ又は複数のソフトウェア及び/又はハードウェアのリソースは、画像認識、音声認識、又は他の人工知能サービスなどの情報の訓練又は推論の実行を、ユーザが行えるようにするためのサービスとして構成されてもよい。
【0042】
こうした構成要素を使用して、対話環境内で情報を記憶及び取得することができる。
【0043】
コンピュータ・システム
図8は、例示的なコンピュータ・システムを示すブロック図であり、このコンピュータ・システムは、少なくとも一実施例による、命令を実行するための実行ユニットを含んでもよいプロセッサとともに形成された、相互接続されたデバイス及び構成要素、システム・オン・チップ(SoC)、又はこれら800の何らかの組合せを有するシステムであってもよい。少なくとも一実施例では、コンピュータ・システム800は、本明細書に記載の実施例などにおいて本開示に従ってデータを処理するためのアルゴリズムを実行する論理を含む実行ユニットを使用するための、プロセッサ802などの構成要素を、限定することなく含んでもよい。少なくとも一実施例では、コンピュータ・システム800は、カリフォルニア州サンタクララのインテルコーポレーションから入手可能なPENTIUM(登録商標)プロセッサ・ファミリー、XeonTM、Itanium(登録商標)、XScaleTM及び/又はStrongARMTM、Intel(登録商標)Core(商標)、又はIntel(登録商標)Nervana(商標)マイクロプロセッサなどのプロセッサを含んでもよいが、(他のマイクロプロセッサ、エンジニアリング・ワークステーション、セット・トップ・ボックスなどを有するPCを含め)他のシステムが使用されてもよい。少なくとも一実施例では、コンピュータ・システム800は、ワシントン州、レドモンドのマイクロソフトコーポレーションから入手可能なWINDOWS(登録商標)のオペレーティング・システムのあるバージョンを実行してもよいが、他のオペレーティング・システム(たとえば、UNIX(登録商標)及びLinux(登録商標))、組み込みソフトウェア、及び/又はグラフィカル・ユーザ・インターフェースが使用されてもよい。
【0044】
実施例は、携帯型デバイス及び組み込みアプリケーションなど、他のデバイスで使用されてもよい。携帯型デバイスのいくつかの例は、セルラー・フォン、インターネット・プロトコル・デバイス、デジタル・カメラ、パーソナル・デジタル・アシスタント(「PDA」:personal digital assistants)、及び携帯型PCを含む。少なくとも一実施例では、組み込みアプリケーションは、マイクロコントローラ、デジタル信号プロセッサ(「DSP」:digital signal processor)、システム・オン・チップ、ネットワーク・コンピュータ(「NetPC」:network computers)、エッジ・コンピューティング・デバイス、セット・トップ・ボックス、ネットワーク・ハブ、広域ネットワーク(「WAN」:wide area network)スイッチ、又は少なくとも一実施例による1つ又は複数の命令を実行することができる任意の他のシステムを含んでもよい。
【0045】
少なくとも一実施例では、コンピュータ・システム800は、限定することなくプロセッサ802を含んでもよく、このプロセッサ802は限定することなく、本明細書に記載の技法による機械学習モデルの訓練及び/又は推論を実行するための1つ又は複数の実行ユニット808を含んでもよい。少なくとも一実施例では、コンピュータ・システム800は、シングル・プロセッサのデスクトップ又はサーバ・システムであるが、別の実施例では、コンピュータ・システム800はマルチプロセッサ・システムであってもよい。少なくとも一実施例では、プロセッサ802は、限定することなく、複合命令セット・コンピュータ(「CISC」:complex instruction set computer)マイクロプロセッサ、縮小命令セット・コンピューティング(「RISC」)マイクロプロセッサ、超長命令語(「VLIW」)マイクロプロセッサ、命令セットの組合せを実装するプロセッサ、又は任意の他のプロセッサ・デバイス、たとえばデジタル信号プロセッサなどを含んでもよい。少なくとも一実施例では、プロセッサ802は、プロセッサ・バス810に結合されてもよく、このプロセッサ・バスは、プロセッサ802とコンピュータ・システム800内の他の構成要素との間でデータ信号を送信してもよい。
【0046】
少なくとも一実施例では、プロセッサ802は、限定することなく、レベル1(「L1」)の内部キャッシュ・メモリ(「キャッシュ」)804を含んでもよい。少なくとも一実施例では、プロセッサ802は、単一の内部キャッシュ又は複数レベルの内部キャッシュを有してもよい。少なくとも一実施例では、キャッシュ・メモリは、プロセッサ802の外部にあってもよい。他の実施例は、特定の実装形態及び必要性に応じて、内部キャッシュと外部キャッシュの両方の組合せも含んでよい。少なくとも一実施例では、レジスタ・ファイル806は、整数レジスタ、浮動小数点レジスタ、状態レジスタ、及び命令ポインタ・レジスタを限定することなく含む様々レジスタに、異なるタイプのデータを記憶してもよい。
【0047】
少なくとも一実施例では、整数及び浮動小数点の演算を実行するための論理を限定することなく含む実行ユニット808も、プロセッサ802にある。少なくとも一実施例では、プロセッサ802は、ある一定のマクロ命令のためのマイクロコードを記憶するマイクロコード(「uコード」)読取り専用メモリ(「ROM」:read only memory)も含んでよい。少なくとも一実施例では、実行ユニット808は、パック命令セット809に対処する論理を含んでもよい。少なくとも一実施例では、パック命令セット809を、命令を実行する関連回路とともに汎用プロセッサの命令セットに含めることにより、多くのマルチメディア・アプリケーションによって使用される演算を、汎用プロセッサ802のパック・データを使用して実行することができる。1つ又は複数の実施例では、プロセッサのデータ・バスの全幅を使用してパック・データの演算を実行することによって、多くのマルチメディア・アプリケーションを加速し、より効率的に実行することができ、これにより、1度に1つのデータ要素に対して1つ又は複数の演算を実行するためにプロセッサのデータ・バス間でより小さい単位のデータを転送する必要をなくすことができる。
【0048】
少なくとも一実施例では、実行ユニット808はまた、マイクロコントローラ、組み込みプロセッサ、グラフィックス・デバイス、DSP、及び他のタイプの論理回路において使用されてもよい。少なくとも一実施例では、コンピュータ・システム800は、限定することなくメモリ820を含んでもよい。少なくとも一実施例では、メモリ820は、ダイナミック・ランダム・アクセス・メモリ(「DRAM」)デバイス、スタティック・ランダム・アクセス・メモリ(「SRAM」)デバイス、フラッシュ・メモリ・デバイス、又は他のメモリ・デバイスとして実装されてもよい。少なくとも一実施例では、メモリ820は、プロセッサ802によって実行されてもよいデータ信号によって表される命令819、及び/又はデータ821を記憶してもよい。
【0049】
少なくとも一実施例では、システム論理チップが、プロセッサ・バス810及びメモリ820に結合されてもよい。少なくとも一実施例では、システム論理チップは、限定することなく、メモリ・コントローラ・ハブ(「MCH」:memory controller hub)816を含んでもよく、プロセッサ802は、プロセッサ・バス810を介してMCH816と通信してもよい。少なくとも一実施例では、MCH816は、命令及びデータを記憶するため、及びグラフィックス・コマンド、データ、及びテクスチャを記憶するために、高帯域幅メモリ経路818をメモリ820に提供してもよい。少なくとも一実施例では、MCH816は、プロセッサ802と、メモリ820と、コンピュータ・システム800の他の構成要素との間でデータ信号を導き、プロセッサ・バス810と、メモリ820と、システムI/Oインターフェース822との間でデータ信号をブリッジしてもよい。少なくとも一実施例では、システム論理チップは、グラフィックス・コントローラに結合するためのグラフィックス・ポートを提供してもよい。少なくとも一実施例では、MCH816は、高帯域幅メモリ経路818を介してメモリ820に結合されてもよく、グラフィックス/ビデオカード812は、アクセラレーテッド・グラフィックス・ポート(「AGP」:Accelerated Graphics Port)相互接続814を介してMCH816に結合されてもよい。
【0050】
少なくとも一実施例では、コンピュータ・システム800は、MCH816をI/Oコントローラ・ハブ(「ICH」:I/O controller hub)830に結合するためのプロプライエタリ・ハブ・インターフェース・バスであるシステムI/O822を使用してもよい。少なくとも一実施例では、ICH830は、ローカルのI/Oバスを介していくつかのI/Oデバイスに直接接続を提供してもよい。少なくとも一実施例では、ローカルI/Oバスは、周辺装置をメモリ820、チップセット、及びプロセッサ802に接続するための高速I/Oバスを、限定することなく含んでもよい。例としては、オーディオ・コントローラ829、ファームウェア・ハブ(「フラッシュBIOS」)828、ワイヤレス・トランシーバ826、データ・ストレージ824、ユーザ入力及びキーボードのインターフェース825を含むレガシーI/Oコントローラ823、ユニバーサル・シリアル・バス(「USB」:Universal Serial Bus)などのシリアル拡張ポート827、及びネットワーク・コントローラ834が、限定することなく含まれてもよい。データ・ストレージ824は、ハード・ディスク・ドライブ、フロッピー(登録商標)・ディスク・ドライブ、CD-ROMデバイス、フラッシュ・メモリ・デバイス、又は他の大容量ストレージ・デバイスを備えてもよい。
【0051】
少なくとも一実施例では、図8は、相互接続されたハードウェア・デバイス又は「チップ」を含むシステムを示すが、一方他の実施例では、図8は例示的なシステム・オン・チップ(「SoC」)を示してもよい。少なくとも一実施例では、デバイスは、プロプライエタリ相互接続、標準相互接続(たとえば、PCIe)、又はこれらの何らかの組合せで相互接続されてもよい。少なくとも一実施例では、コンピュータ・システム800の1つ又は複数の構成要素は、コンピュート・エクスプレス・リンク(CXL:compute express link)相互接続を使用して相互接続されてもよい。
【0052】
こうした構成要素を使用して、対話環境内で情報を記憶及び取得することができる。
【0053】
図9は、少なくとも一実施例による、プロセッサ910を利用するための電子デバイス900を示すブロック図である。少なくとも一実施例では、電子デバイス900は、たとえば限定することなく、ノートブック、タワー・サーバ、ラック・サーバ、ブレード・サーバ、ラップトップ、デスクトップ、タブレット、モバイル・デバイス、電話、組み込みコンピュータ、又は任意の他の好適な電子デバイスであってもよい。
【0054】
少なくとも一実施例では、システム900は、任意の好適な数又は種類の構成要素、周辺装置、モジュール、若しくはデバイスに通信可能に結合されたプロセッサ910を、限定することなく含んでもよい。少なくとも一実施例では、プロセッサ910は、I°Cバス、システム・マネージメント・バス(「SMBus」:System Management Bus)、ロー・ピン・カウント(LPC:Low Pin Count)バス、シリアル・ペリフェラル・インターフェース(「SPI」:Serial Peripheral Interface)、ハイ・デフィニション・オーディオ(「HDA」:High Definition Audio)バス、シリアル・アドバンス・テクノロジー・アタッチメント(「SATA」:Serial Advance Technology Attachment)バス、ユニバーサル・シリアル・バス(「USB」)(バージョン1、2、3)、又はユニバーサル非同期レシーバ/トランスミッタ(「UART」:Universal Asynchronous Receiver/Transmitter)バスなどのバス若しくはインターフェースを使用して結合される。少なくとも一実施例では、図9は、相互接続されたハードウェア・デバイス又は「チップ」を含むシステムを示すが、一方他の実施例では、図9は例示的なシステム・オン・チップ(「SoC」)を示してもよい。少なくとも一実施例では、図9に示すデバイスは、プロプライエタリ相互接続、標準相互接続(たとえば、PCIe)、又はこれらの何らかの組合せで相互接続されてもよい。少なくとも一実施例では、図9の1つ又は複数の構成要素は、コンピュート・エクスプレス・リンク(CXL)相互接続を使用して相互接続されてもよい。
【0055】
少なくとも一実施例では、図9は、ディスプレイ924、タッチ画面925、タッチ・パッド930、近距離無線通信ユニット(「NFC」:Near Field Communications unit)945、センサ・ハブ940、熱センサ946、エクスプレス・チップセット(「EC」:Express Chipset)935、トラステッド・プラットフォーム・モジュール(「TPM」:Trusted Platform Module)938、BIOS/ファームウェア/フラッシュ・メモリ(「BIOS、FWフラッシュ」:BIOS/firmware/flash memory)922、DSP960、ソリッド・ステート・ディスク(「SSD」:Solid State Disk)若しくはハード・ディスク・ドライブ(「HDD」:Hard Disk Drive)などのドライブ920、ワイヤレス・ローカル・エリア・ネットワーク・ユニット(「WLAN」:wireless local area network unit)950、Bluetoothユニット952、ワイヤレス広域ネットワーク・ユニット(「WWAN」:Wireless Wide Area Network unit)956、全地球測位システム(GPS:Global Positioning System)ユニット955、USB3.0カメラなどのカメラ(「USB3.0カメラ」)954、及び/又は、たとえばLPDDR3規格に実装された低電力ダブル・データ・レート(「LPDDR」:Low Power Double Data Rate)メモリ・ユニット(「LPDDR3」)915を含んでもよい。これらの構成要素は、それぞれ任意の好適なやり方で実装されてもよい。
【0056】
少なくとも一実施例では、上述した構成要素を介して、他の構成要素がプロセッサ910に通信可能に結合されてもよい。少なくとも一実施例では、加速度計941、周囲光センサ(「ALS」:Ambient Light Sensor)942、コンパス943、及びジャイロスコープ944が、センサ・ハブ940に通信可能に結合されてもよい。少なくとも一実施例では、熱センサ939、ファン937、キーボード946、及びタッチ・パッド930が、EC935に通信可能に結合されてもよい。少なくとも一実施例では、スピーカ963、ヘッドフォン964、及びマイクロフォン(「mic」)965が、オーディオ・ユニット(オーディオ・コーデック及びクラスdアンプ)962に通信可能に結合されてもよく、このオーディオ・ユニットが、DSP960に通信可能に結合されてもよい。少なくとも一実施例では、オーディオ・ユニット964は、たとえば限定することなく、オーディオ・コーダ/デコーダ(「コーデック」)及びクラスDアンプリファイアを含んでもよい。少なくとも一実施例では、SIMカード(「SIM」)957は、WWANユニット956に通信可能に結合されてもよい。少なくとも一実施例では、WLANユニット950及びBluetoothユニット952などの構成要素、並びにWWAN956は、次世代フォーム・ファクタ(「NGFF」:Next Generation Form Factor)に実装されてもよい。
【0057】
こうした構成要素を使用して、対話環境内で情報を記憶及び取得することができる。
【0058】
図10は、少なくとも一実施例による処理システムのブロック図である。少なくとも一実施例では、システム1000は、1つ又は複数のプロセッサ1002、及び1つ又は複数のグラフィックス・プロセッサ1008を含み、単一プロセッサのデスクトップ・システム、マルチプロセッサのワークステーション・システム、又は多数の一括で若しくは別々に管理されるプロセッサ1002若しくはプロセッサ・コア1007を有するサーバ・システム若しくはデータ・センタであってもよい。少なくとも一実施例では、システム1000は、モバイル・デバイス、携帯型デバイス、又は組み込みデバイスで使用するためのシステム・オン・チップ(SoC)集積回路内に組み込まれた処理プラットフォームである。
【0059】
少なくとも一実施例では、システム1000は、サーバ・ベースのゲーミング・プラットフォーム、クラウド・コンピューティング・ホスト・プラットフォーム、仮想化コンピューティング・プラットフォーム、ゲーム及びメディアのコンソールを含むゲーム・コンソール、携帯型ゲーム・コンソール、ハンドヘルド・ゲーム・コンソール、若しくはオンライン・ゲーム・コンソールを含んでもよく、又はそれらに組み込まれてもよい。少なくとも一実施例では、システム1000は、モバイル・フォン、スマート・フォン、タブレット・コンピューティング・デバイス、又はモバイル・インターネット・デバイスである。少なくとも一実施例では、処理システム1000はまた、スマート・ウォッチ・ウェアラブル・デバイス、スマート・アイウェア・デバイス、拡張現実デバイス、エッジデバイス、モノのインターネット(「IoT:Internet of Things」)デバイス、若しくは仮想現実デバイスなどのウェアラブル・デバイスを含んでもよく、それらに結合されてもよく、又はそれらのなかに一体化されてもよい。少なくとも一実施例では、処理システム1000は、1つ又は複数のプロセッサ1002と、1つ又は複数のグラフィックス・プロセッサ1008によって生成されるグラフィカル・インターフェースとを有するテレビ又はセット・トップ・ボックス・デバイスである。
【0060】
少なくとも一実施例では、1つ又は複数のプロセッサ1002はそれぞれ、実行されたときにシステム及びユーザ・ソフトウェアのための動作を実行する命令を処理するための1つ又は複数のプロセッサ・コア1007を含む。少なくとも一実施例では、1つ又は複数のプロセッサ・コア1007のそれぞれは、特定の命令セット1009を処理するように構成される。少なくとも一実施例では、命令セット1009は、複合命令セット・コンピューティング(CISC)、縮小命令セット・コンピューティング(RISC)、又は超長命令語(VLIW)を介したコンピューティングを容易にしてもよい。少なくとも一実施例では、プロセッサ・コア1007はそれぞれ、異なる命令セット1009を処理してもよく、この命令セットは、他の命令セットのエミュレーションを容易にする命令を含んでもよい。少なくとも一実施例では、プロセッサ・コア1007はまた、デジタル信号プロセッサ(DSP)などの他の処理デバイスを含んでもよい。
【0061】
少なくとも一実施例では、プロセッサ1002はキャッシュ・メモリ1004を含む。少なくとも一実施例では、プロセッサ1002は、単一の内部キャッシュ又は複数レベルの内部キャッシュを有してもよい。少なくとも一実施例では、キャッシュ・メモリは、プロセッサ1002の様々な構成要素間で共有される。少なくとも一実施例では、プロセッサ1002はまた、外部キャッシュ(たとえば、レベル3(L3)キャッシュ又はラスト・レベル・キャッシュ(LLC))(図示せず)を使用し、このキャッシュは、知られているキャッシュ・コヒーレンス技法を使用して、プロセッサ・コア1007間で共有されてもよい。少なくとも一実施例では、さらにレジスタ・ファイル1006がプロセッサ1002に含まれ、このレジスタ・ファイルは、異なるタイプのデータを記憶するための異なるタイプのレジスタ(たとえば、整数レジスタ、浮動小数点レジスタ、状態レジスタ、及び命令ポインタ・レジスタ)を含んでもよい。少なくとも一実施例では、レジスタ・ファイル1006は、汎用レジスタ又は他のレジスタを含んでもよい。
【0062】
少なくとも一実施例では、1つ又は複数のプロセッサ1002は、1つ又は複数のインターフェース・バス1010に結合されて、アドレス、データ、又は制御信号などの通信信号を、プロセッサ1002とシステム1000内の他の構成要素との間で送信する。少なくとも一実施例では、インターフェース・バス1010は、一実施例では、ダイレクト・メディア・インターフェース(DMI)バスのバージョンなどのプロセッサ・バスとすることができる。少なくとも一実施例では、インターフェース1010は、DMIバスに限定されず、1つ又は複数のペリフェラル・コンポーネント・インターコネクト・バス(たとえば、PCI、PCIエクスプレス)、メモリ・バス、又は他のタイプのインターフェース・バスを含んでもよい。少なくとも一実施例では、プロセッサ1002は、統合メモリ・コントローラ1016、及びプラットフォーム・コントローラ・ハブ1030を含む。少なくとも一実施例では、メモリ・コントローラ1016は、メモリ・デバイスとシステム1000の他の構成要素との間の通信を容易にし、一方でプラットフォーム・コントローラ・ハブ(PCH)1030は、ローカルI/Oバスを介してI/Oデバイスへの接続を提供する。
【0063】
少なくとも一実施例では、メモリ・デバイス1020は、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、フラッシュ・メモリ・デバイス、相変化メモリ・デバイス、又はプロセス・メモリとしての役割を果たすのに好適な性能を有する何らかの他のメモリ・デバイスとすることができる。少なくとも一実施例では、メモリ・デバイス1020は、システム1000のためのシステム・メモリとして動作して、1つ又は複数のプロセッサ1002がアプリケーション若しくはプロセスを実行するときに使用するためのデータ1022及び命令1021を記憶することができる。少なくとも一実施例では、メモリ・コントローラ1016はまた、任意選択の外部グラフィックス・プロセッサ1012と結合しており、このグラフィックス・プロセッサは、プロセッサ1002内の1つ又は複数のグラフィックス・プロセッサ1008と通信して、グラフィックス及びメディアの動作を実行してもよい。少なくとも一実施例では、ディスプレイ・デバイス1011は、プロセッサ1002に接続することができる。少なくとも一実施例では、ディスプレイ・デバイス1011は、モバイル電子デバイス又はラップトップ・デバイスのような内部ディスプレイ・デバイス、又はディスプレイ・インターフェース(たとえば、ディスプレイ・ポートなど)を介して取り付けられる外部ディスプレイ・デバイスのうちの1つ又は複数を含むことができる。少なくとも一実施例では、ディスプレイ・デバイス1011は、仮想現実(VR)アプリケーション又は拡張現実(AR)アプリケーションで使用するための立体ディスプレイ・デバイスなどの頭部装着型ディスプレイ(HMD)を含むことができる。
【0064】
少なくとも一実施例では、プラットフォーム・コントローラ・ハブ1030は、周辺装置が高速I/Oバスを介してメモリ・デバイス1020及びプロセッサ1002に接続できるようにする。少なくとも一実施例では、I/O周辺装置は、オーディオ・コントローラ1046、ネットワーク・コントローラ1034、ファームウェア・インターフェース1028、ワイヤレス・トランシーバ1026、タッチ・センサ1025、データ・ストレージ・デバイス1024(たとえば、ハード・ディスク・ドライブ、フラッシュ・メモリなど)を含むが、これらに限定されない。少なくとも一実施例では、データ・ストレージ・デバイス1024は、ストレージ・インターフェース(たとえば、SATA)を介して、又はペリフェラル・コンポーネント・インターコネクト・バス(たとえば、PCI、PCIエクスプレス)などのペリフェラル・バスを介して、接続することができる。少なくとも一実施例では、タッチ・センサ1025は、タッチ画面センサ、圧力センサ、又は指紋センサを含むことができる。少なくとも一実施例では、ワイヤレス・トランシーバ1026は、WiFiトランシーバ、Bluetoothトランシーバ、又は3G、4G、若しくはLong Term Evolution(LTE)トランシーバなどのモバイル・ネットワーク・トランシーバとすることができる。少なくとも一実施例では、ファームウェア・インターフェース1028は、システム・ファームウェアとの通信を可能にし、たとえば、ユニファイド・エクステンシブル・ファームウェア・インターフェース(UEFI)とすることができる。少なくとも一実施例では、ネットワーク・コントローラ1034は、有線ネットワークへのネットワーク接続を可能にすることができる。少なくとも一実施例では、高性能ネットワーク・コントローラ(図示せず)は、インターフェース・バス1010と結合する。少なくとも一実施例では、オーディオ・コントローラ1046は、多チャネル・ハイ・デフィニション・オーディオ・コントローラである。少なくとも一実施例では、システム1000は、レガシー(たとえば、パーソナル・システム2(PS/2))デバイスをシステムに結合するための任意選択のレガシーI/Oコントローラ1040を含む。少なくとも一実施例では、プラットフォーム・コントローラ・ハブ1030は、キーボードとマウス1043の組合せ、カメラ1044、又は他のUSB入力デバイスなど、1つ又は複数のユニバーサル・シリアル・バス(USB)コントローラ1042の接続入力デバイスにも接続することができる。
【0065】
少なくとも一実施例では、メモリ・コントローラ1016及びプラットフォーム・コントローラ・ハブ1030のインスタンスは、外部グラフィックス・プロセッサ1012などの個別の外部グラフィックス・プロセッサに一体化されてもよい。少なくとも一実施例では、プラットフォーム・コントローラ・ハブ1030及び/又はメモリ・コントローラ1016は、1つ又は複数のプロセッサ1002の外部にあってもよい。たとえば、少なくとも一実施例では、システム1000は、外部のメモリ・コントローラ1016及びプラットフォーム・コントローラ・ハブ1030を含むことができ、これらは、プロセッサ1002と通信するシステム・チップセット内のメモリ・コントローラ・ハブ及び周辺装置コントローラ・ハブとして構成されてもよい。
【0066】
こうした構成要素を使用して、対話環境内で情報を記憶及び取得することができる。
【0067】
図11は、少なくとも一実施例による、1つ又は複数のプロセッサ・コア1102A~1102N、統合メモリ・コントローラ1114、及び統合グラフィックス・プロセッサ1108を有するプロセッサ1100のブロック図である。少なくとも一実施例では、プロセッサ1100は、破線の四角によって表される追加コア1102Nを含むそれ以下の数の追加コアを含むことができる。少なくとも一実施例では、プロセッサ・コア1102A~1102Nのそれぞれは、1つ又は複数の内部キャッシュ・ユニット1104A~1104Nを含む。少なくとも一実施例では、各プロセッサ・コアはまた、1つ又は複数の共有キャッシュ・ユニット1106にアクセスできる。
【0068】
少なくとも一実施例では、内部キャッシュ・ユニット1104A~1104N、及び共有キャッシュ・ユニット1106は、プロセッサ1100内のキャッシュ・メモリ階層を表す。少なくとも一実施例では、キャッシュ・メモリ・ユニット1104A~1104Nは、各プロセッサ・コア内の命令及びデータのキャッシュの少なくとも1つのレベル、並びにレベル2(L2)、レベル3(L3)、レベル4(L4)などの共有中間レベル・キャッシュの1つ又は複数のレベル、又はキャッシュの他のレベルを含んでもよく、ここで外部メモリの前の最高レベルのキャッシュは、LLCとして分類される。少なくとも一実施例では、キャッシュ・コヒーレンス論理は、様々なキャッシュ・ユニット1106及び1104A~1104N間でコヒーレンスを維持する。
【0069】
少なくとも一実施例では、プロセッサ1100はまた、1つ又は複数のバス・コントローラ・ユニット1116とシステム・エージェント・コア1110のセットを含んでもよい。少なくとも一実施例では、1つ又は複数のバス・コントローラ・ユニット1116は、1つ又は複数のPCI若しくはPCIエクスプレス・バスなどのペリフェラル・バスのセットを管理する。少なくとも一実施例では、システム・エージェント・コア1110は、様々なプロセッサ構成要素のための管理機能を提供する。少なくとも一実施例では、システム・エージェント・コア1110は、様々な外部メモリ・デバイス(図示せず)へのアクセスを管理するための1つ又は複数の統合メモリ・コントローラ1114を含む。
【0070】
少なくとも一実施例では、プロセッサ・コア1102A~1102Nの1つ又は複数は、同時マルチスレッディングのサポートを含む。少なくとも一実施例では、システム・エージェント・コア1110は、マルチスレッドの処理中にコア1102A~1102Nを調整し動作させるための構成要素を含む。少なくとも一実施例では、システム・エージェント・コア1110はさらに、電力制御ユニット(PCU)を含んでもよく、このユニットは、プロセッサ・コア1102A~1102N及びグラフィックス・プロセッサ1108の1つ又は複数の電力状態を調整するための論理及び構成要素を含む。
【0071】
少なくとも一実施例では、プロセッサ1100はさらに、グラフィックス処理動作を実行するためのグラフィックス・プロセッサ1108を含む。少なくとも一実施例では、グラフィックス・プロセッサ1108は、共有キャッシュ・ユニット1106と、1つ又は複数の統合メモリ・コントローラ1114を含むシステム・エージェント・コア1110とに結合する。少なくとも一実施例では、システム・エージェント・コア1110はまた、1つ又は複数の結合されたディスプレイに対してグラフィックス・プロセッサの出力を行わせるためのディスプレイ・コントローラ1111を含む。少なくとも一実施例では、ディスプレイ・コントローラ1111はまた、少なくとも1つの相互接続を介してグラフィックス・プロセッサ1108に結合された別個のモジュールであってもよく、又はグラフィックス・プロセッサ1108内に一体化されていてもよい。
【0072】
少なくとも一実施例では、プロセッサ1100の内部構成要素を結合するために、リング・ベースの相互接続ユニット1112が使用される。少なくとも一実施例では、ポイントツーポイント相互接続、スイッチ相互接続、又は他の技法などの代替的な相互接続ユニットが使用されてもよい。少なくとも一実施例では、グラフィックス・プロセッサ1108は、I/Oリンク1113を介してリング相互接続1112と結合する。
【0073】
少なくとも一実施例では、I/Oリンク1113は、様々なプロセッサ構成要素と、eDRAMモジュールなどの高性能組み込みメモリ・モジュール1118との間の通信を容易にするオン・パッケージI/O相互接続を含む多様なI/O相互接続のうちの少なくとも1つを表す。少なくとも一実施例では、プロセッサ・コア1102A~1102Nのそれぞれ及びグラフィックス・プロセッサ1108は、共有ラスト・レベル・キャッシュとして組み込みメモリ・モジュール1118を使用する。
【0074】
少なくとも一実施例では、プロセッサ・コア1102A~1102Nは、共通の命令セット・アーキテクチャを実行する同種のコアである。少なくとも一実施例では、プロセッサ・コア1102A~1102Nは、命令セット・アーキテクチャ(ISA)の観点から見れば異種であり、ここでプロセッサ・コア1102A~1102Nのうちの1つ又は複数は、共通の命令セットを実行するが、プロセッサ・コア1102A~1102Nのうちの1つ又は複数の他のコアは、共通の命令セットのサブセット、又は異なる命令セットを実行する。少なくとも一実施例では、プロセッサ・コア1102A~1102Nは、マイクロ・アーキテクチャの観点から見れば異種であり、ここで電力消費量が相対的に高い1つ又は複数のコアは、電力消費量がより低い1つ又は複数のコアと結合する。少なくとも一実施例では、プロセッサ1100は、1つ又は複数のチップ上に、又はSoC集積回路として実装することができる。
【0075】
こうした構成要素を使用して、対話環境内で情報を記憶及び取得することができる。
【0076】
他の変形形態は、本開示の範囲内にある。したがって、開示した技法は、様々な修正及び代替的な構成が可能であるが、それらのうち一定の例示的な実施例が図面に示され、上で詳細に説明されてきた。しかし、特定の1つ又は複数の開示された形に本開示を限定する意図はなく、その反対に、特許請求の範囲に定義される開示の趣旨及び範囲に入るすべての修正形態、代替的な構成、及び等価物を網羅することを意図している。
【0077】
開示される実施例を説明する文脈において(特に、以下の特許請求の範囲の文脈において)「a」及び「an」及び「the」という用語、並びに同様の指示語を使用することは、本明細書に別段の記載のない限り、又は文脈によって明らかに否定されない限り、単数と複数の両方を網羅すると解釈されるべきであり、用語の定義であると解釈されるべきではない。「備える(comprising)」、「有する(having)」、「含む(including)」、「収容する(containing)」という用語は、別段の記載のない限り、オープンエンドの用語(「含むが、これに限定されない」を意味する)と解釈される。「接続される」という用語は、修飾されずに物理的接続を指している場合には、何か介在するものがあったとしても、部分的に又は完全に中に収容される、取り付けられる、又は互いに接合されるものとして解釈される。本明細書において値の範囲を詳述することは、本明細書において別段の記載がない限り、またそれぞれ別々の値が、本明細書に個々に詳述されているかのように明細書に組み込まれていない限り、範囲内に含まれるそれぞれ別々の値を個々に参照する簡潔な方法として機能することを単に意図しているにすぎない。「セット」(たとえば、「アイテムのセット」)又は「サブセット」という用語の使用は、文脈によって別段の記載がない、又は否定されていない限り、1つ又は複数の部材を備える空ではない集合として解釈されるべきである。さらに、文脈によって別段の記載がない、又は否定されていない限り、対応するセットの「サブセット」という用語は、対応するセットの厳密なサブセットを必ずしも指すのではなく、サブセットと対応するセットは等しくてもよい。
【0078】
「A、B、及びCのうちの少なくとも1つ」又は「A、B、及びCのうちの少なくとも1つ」という形の言い回しなどの結合語は、別段の具体的な記載のない限り、又は文脈によって明確に否定されていない限り、項目、用語などが、AかBかCである、又はAとBとCのセットのいずれかの空でないサブセットであることを提示するために一般に使用される文脈で理解される。たとえば、3つの部材を有するセットの説明的な例では、「A、B、及びCのうちの少なくとも1つ」並びに「A、B、及びCのうちの少なくとも1つ」という結合句は、次のセットのうちのいずれかを指す:{A}、{B}、{C}、{A、B}、{A、C}、{B、C}、{A、B、C}。したがって、こうした結合語は、ある一定の実施例が、少なくとも1つのA、少なくとも1つのB、及び少なくとも1つのCのそれぞれの存在を必要とすることを全体的に暗示するものではない。さらに、別段の記載のない、又は文脈によって否定されていない限り、「複数」という用語は、複数である状態を示す(たとえば、「複数の項目(a plurality of items)」は複数の項目(multiple items)を示す)。複数とは、少なくとも2つの項目であるが、明示的に、又は文脈によって示されている場合にはそれより多くてもよい。さらに、別段の記載のない、又は文脈からそうでないことが明らかでない限り、「~に基づく」という言い回しは、「少なくとも部分的に~に基づく」を意味し、「~だけに基づく」を意味しない。
【0079】
本明細書に記載のプロセスの動作は、本明細書に別段の記載のない、又は文脈によって明確に否定されない限り、任意の好適な順序で実行することができる。少なくとも一実施例では、本明細書に記載のプロセス(又はその変形及び/又は組合せ)などのプロセスは、実行可能命令で構成された1つ又は複数のコンピュータ・システムの制御下で実行され、1つ又は複数のプロセッサ上で、ハードウェアによって、又はそれらの組合せによって集合的に実行されるコード(たとえば、実行可能な命令、1つ若しくは複数のコンピュータ・プログラム、又は1つ若しくは複数のアプリケーション)として実装される。少なくとも一実施例では、コードは、たとえば1つ又は複数のプロセッサによって実行可能な複数の命令を備えるコンピュータ・プログラムの形で、コンピュータ読取り可能ストレージ媒体に記憶される。少なくとも一実施例では、コンピュータ読取り可能ストレージ媒体は、一時的な信号(たとえば、伝播する一時的な電気若しくは電磁送信)を除外するが、一時的な信号のトランシーバ内の非一時的なデータ・ストレージ回路(たとえば、バッファ、キャッシュ、及びキュー)を含む非一時的なコンピュータ読取り可能ストレージ媒体である。少なくとも一実施例では、コード(たとえば、実行可能コード又はソース・コード)は、1つ又は複数の非一時的なコンピュータ読取り可能ストレージ媒体のセットに記憶され、このストレージ媒体には、コンピュータ・システムの1つ又は複数のプロセッサによって実行されたときに(すなわち、実行された結果として)、コンピュータ・システムに本明細書に記載の動作を実行させる実行可能命令が記憶されている(又は、実行可能命令を記憶するための他のメモリを有する)。非一時的なコンピュータ読取り可能ストレージ媒体のセットは、少なくとも一実施例では、複数の非一時的なコンピュータ読取り可能ストレージ媒体を備え、複数の非一時的なコンピュータ読取り可能ストレージ媒体の個々の非一時的なストレージ媒体のうちの1つ又は複数には、すべてのコードがないが、複数の非一時的なコンピュータ読取り可能ストレージ媒体は、集合的にすべてのコードを記憶している。少なくとも一実施例では、実行可能命令は、異なる命令が異なるプロセッサによって実行されるように実行され、たとえば、非一時的なコンピュータ読取り可能ストレージ媒体は命令を記憶し、メインの中央処理装置(「CPU」)は一部の命令を実行し、グラフィックス・プロセッシング・ユニット(「GPU」)及び/又はデータ・プロセッシング・ユニット(「DPU」)は他の命令を実行する。少なくとも一実施例では、コンピュータ・システムの異なる構成要素は、別々のプロセッサを有し、異なるプロセッサは、命令の異なるサブセットを実行する。
【0080】
したがって、少なくとも一実施例では、コンピュータ・システムは、本明細書に記載のプロセスの動作を単独で又は集合的に実行する1つ又は複数のサービスを実装するように構成され、こうしたコンピュータ・システムは、動作の実行を可能にする適用可能なハードウェア及び/又はソフトウェアで構成される。さらに、本開示の少なくとも一実施例を実装するコンピュータ・システムは、単一のデバイスであり、別の実施例では、異なるやり方で動作する複数のデバイスを備える分散型のコンピュータ・システムであり、それにより単一のデバイスがすべての動作を実行しないように分散型のコンピュータ・システムが本明細書に記載の動作を実行する。
【0081】
本明細書に提供されるあらゆる例、又は例示的な言葉(たとえば、「など」)の使用は、本開示の実施例をより明らかにすることだけを意図しており、別段の主張のない限り、本開示の範囲に制限を加えるものではない。本明細書のいかなる言葉も、特許請求されていない任意の要素を、本開示の実践に不可欠なものとして示すと解釈されるべきではない。
【0082】
本明細書に引用される出版物、特許出願、及び特許を含むすべての参考文献は、各参考文献が参照により組み込まれることがあたかも個別に明確に示され、その全体が本明細書に記載されたかのように、それと同程度まで参照により本明細書に組み込まれる。
【0083】
明細書及び特許請求の範囲において、「結合される」及び「接続される」という用語が、その派生語とともに使用されてもよい。これらの用語は、互いに同義語として意図されていない場合があることを理解すべきである。むしろ、特定の例では、「接続される」又は「結合される」は、2つ以上の要素が物理的又は電気的に互いに直接又は間接的に接触していることを示すために使用されてもよい。また「結合される」は、2つ以上の要素が直接互いに接触していないが、なお互いに連動又は相互作用することを意味してもよい。
【0084】
別段の具体的な記載のない限り、明細書全体を通して「処理する」、「コンピューティング」、「計算する」、又は「判定する」などの用語は、コンピューティング・システムのレジスタ及び/又はメモリ内の、電子的などの物理的な量として表されるデータをコンピューティング・システムのメモリ、レジスタ、又は他のそのような情報ストレージ・デバイス、送信デバイス、若しくはディスプレイ・デバイス内の物理的な量として同様に表される他のデータになるよう操作及び/又は変換するコンピュータ若しくはコンピューティング・システム、又は同様の電子コンピューティング・デバイスの行為及び/又はプロセスを指す。
【0085】
同様に、「プロセッサ」という用語は、レジスタ及び/又はメモリからの電子データを処理し、その電子データを、レジスタ及び/又はメモリに記憶することができる他の電子データに変換する任意のデバイス、又はデバイスの一部分を指してもよい。非限定的な例として、「プロセッサ」は、CPU、GPU、又はDPUなどの汎用処理が可能な任意のプロセッサであってもよい。非限定的な例として、「プロセッサ」は、任意のマイクロコントローラ、又はDSP、画像信号プロセッサ(「ISP:image signal processor」)、算術論理装置(「ALU:arithmetic logic unit」)、視覚処理装置(「VPU:vision processing unit」)、ツリー・トラバーサル・ユニット(「TTU:tree traversal unit」)、レイ・トレーシング・コア、テンソル・トレーシング・コア、テンソル処理装置(「TPU:tensor processing unit」)、組み込み制御ユニット(「ECU:embedded control unit」)などの専用処理装置であってもよい。非限定的な例として、「プロセッサ」は、PVA:programmable vision accelerator(プログラマブル・ビジョン・アクセラレータ)、DLA:deep learning accelerator(深層学習アクセラレータ)などのハードウェア・アクセラレータであってもよい。非限定的な例として、「プロセッサ」はまた、1つ又は複数の仮想マシンを実行する基礎となるハードウェア構成要素上でホストされる、CPU、GPUなどの1つ又は複数の仮想インスタンスを含んでもよい。「コンピューティング・プラットフォーム」は、1つ又は複数のプロセッサを備えてもよい。本明細書で使用する「ソフトウェア」プロセスは、たとえば、タスク、スレッド、及び知的エージェントなど、経時的にワークを実行するソフトウェア及び/又はハードウェアのエンティティを含んでもよい。また、各プロセスは、命令を直列で又は並列で連続的に又は断続的に実行するための複数のプロセスを指してもよい。「システム」及び「方法」という用語は、1つ又は複数の方法をシステムが具体化することができ、方法がシステムと考えられてもよい場合に限り、本明細書において交換可能に使用される。
【0086】
本明細書では、アナログ・データ又はデジタル・データを得る、取得する、受信する、又はそれらをサブシステム、コンピュータ・システム、又はコンピュータ実装機械に入力することに言及することができる。アナログ・データ又はデジタル・データを得る、取得する、受信する、又は入力することは、関数呼出し、又はアプリケーション・プログラミング・インターフェースへの呼出しのパラメータとしてデータを受信するなど、様々なやり方で実現することができる。いくつかの実装形態では、アナログ・データ又はデジタル・データを得る、取得する、受信する、又は入力するプロセスは、直列又は並列のインターフェースを介してデータを転送することによって実現することができる。別の実装形態では、アナログ・データ又はデジタル・データを得る、取得する、受信する、又は入力するプロセスは、提供するエンティティから取得するエンティティにコンピュータ・ネットワークを介してデータを転送することによって実現することができる。また、アナログ・データ又はデジタル・データを提供する、出力する、送信する、送る、又は提示することにも言及することができる。様々な例では、アナログ・データ又はデジタル・データを提供する、出力する、送信する、送る、又は提示するプロセスは、関数呼出しの入力又は出力のパラメータ、アプリケーション・プログラミング・インターフェース若しくはプロセス間通信機構のパラメータとしてデータを転送することによって実現することができる。
【0087】
上の議論は、説明した技法の例示的な実装形態について述べているが、記載した機能を実装するために他のアーキテクチャが使用されてもよく、この他のアーキテクチャは、本開示の範囲内にあることが意図される。さらに、議論を目的として、役割の具体的な分配が定義されているが、様々な機能及び役割は、状況に応じて異なるやり方で分配及び分割されてもよい。
【0088】
さらに、主題は、構造的特徴及び/又は方法論的動作に特有の言語で説明されてきたが、添付の特許請求の範囲で特許請求される主題は、説明した特有の特徴又は動作に必ずしも限定されないことが理解されるべきである。むしろ、特有の特徴及び動作は、特許請求の範囲を実装する例示的な形として開示されている。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
【外国語明細書】