JP2023120130A - 抽出質問応答を利用する会話型aiプラットフォーム - Google Patents

抽出質問応答を利用する会話型aiプラットフォーム Download PDF

Info

Publication number
JP2023120130A
JP2023120130A JP2022088245A JP2022088245A JP2023120130A JP 2023120130 A JP2023120130 A JP 2023120130A JP 2022088245 A JP2022088245 A JP 2022088245A JP 2022088245 A JP2022088245 A JP 2022088245A JP 2023120130 A JP2023120130 A JP 2023120130A
Authority
JP
Japan
Prior art keywords
data
user
conversational
query
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022088245A
Other languages
English (en)
Inventor
ダス シュバーディープ
Das Shubhadeep
バータチャリヤ スミット
Bhattacharya Sumit
クマール ラティン
Kumar Ratin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of JP2023120130A publication Critical patent/JP2023120130A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/083Recognition networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】抽出質問応答を利用する会話型人工知能プラットフォームを提供する。【解決手段】多様な実例において、会話型人工知能(AI)プラットフォームは、ユーザからのクエリに対する応答を生成するために構造化データ及び非構造化データを使用する。ある実例では、クエリに対する応答のためのデータが構造化データ構造に記憶されていなければ、会話型AIプラットフォームは非構造化データ構造においてこのデータを検索する。【選択図】図1

Description

会話型人工知能(AI:artificial intelligence)アシスタントは、ユーザの口頭要求を満足させるための多様なプラットフォームにわたって使用される。たとえば、電話、コンピュータ、タブレット、ディスプレイ、及びスピーカなどのスマート・デバイスは、情報(たとえば、天気、ニュース、金融情報など)へのユーザの口頭要求と対話するために、及び/又はスマート・デバイス若しくは通信可能に結合されたデバイスのアクティブ化(たとえば、曲を再生する、セキュリティ・システムを作動させる、商品を注文するなど)のために、AIアシスタントを使用し得る。加えて、これらのAIアシスタントは、ディスプレイ上に要求、たとえばウェブページをロードする、音楽アプリケーションのグラフィカル・ユーザ・インターフェースを実行する、遂行中のタスクの視覚インジケータを提供する、要求されたビデオ・クリップ、ショー、又は映画を表示するなどに応答する情報を表示し得る。しかしながら、これら従来のAIアシスタントは、対話メモリを構築する能力が制限されており、一般に、以前に記憶した情報に関するクエリにしか答えることができない。結果として、ある一定の情報(たとえばユーザの好みのレストランの名前、自宅住所など)が欠落していると、この欠落している情報について、従来のAIアシスタントは、この情報について入力を促されたとき、書き入れること又は効果的に返答することができない。加えて、これら従来のAIアシスタントは、一般に、使用される特定の領域ごとにプログラムされる必要があり、したがって、個別の領域ごとに記憶される個別の、領域特定型の情報を必要とする。結果として、ある領域からの情報が別の領域にとって有効な場合にも、従来のAIアシスタントは、多くの場合、別の領域に同一の情報を再び入力するか又は供給することを必要とする。
米国仮特許出願第63/010,511号 米国特許出願第15/809,849号 米国特許出願第16/137,064号 米国仮特許出願第62/648,358号 米国仮特許出願第62/742,923号 米国特許出願第16/363,648号 米国特許出願第16/773,883号 米国仮特許出願第62/948,789号 米国仮特許出願第62/948,793号 米国仮特許出願第62/948,796号 米国特許出願第16/859号 米国特許出願第16/867,395号 米国特許出願第15/826,430号 米国仮特許出願第62/717,730号 米国特許出願第16/538,594号 米国特許出願第16/538,594号 米国仮特許出願第62/879,901号
本開示の実施例は、抽出質問応答を利用する会話型人工知能(AI:artificial intelligence)プラットフォームに関する。クエリ(たとえばユーザ・クエリ)に対する応答を生成するように使用される構造化メモリと非構造化メモリとの両方を維持する会話型AIプラットフォーム(たとえばバーチャル・アシスタントを含む)を含む、システム及び方法が開示される。ある実例では、会話型AIプラットフォームは、特定のユーザとの対話を含む非構造化データ(たとえばドキュメント又は他の非構造化データ構造)を維持し、これは、クエリに対する応答及び/又は構造化メモリに記憶されるデータ(たとえば会話型AIプラットフォームの短期記憶又は長期記憶)を生成するように使用され得る。結果として、この非構造化データは、多様な異なる領域にわたって、それぞれの異なる領域について同一の情報に関する個別の要求を必要とすることなく対話するために使用され得る。
会話型AIプラットフォームは、上記で説明されたものなどの従来システムとは対照的に、未定義且つ/又は未知の用語を含むクエリに対する応答を生成することができる。実例の1つでは、ユーザが、(たとえば映像、音声、テキスト、及び/又はユーザ入力デバイスからの他の入力)で「私の出身地の天気は?」と尋ねるが、ユーザの出身地は会話型AIプラットフォームによって定義されていない(たとえば、構造化データに記憶されていない、且つ/又は構造化データの定義されたキー値ペアのセットに含まれない)。そのような実例では、トレーニングされた質問応答(QnA:Question Answering)モデルは、ユーザに関連付けられた非構造化データを検索して、ユーザの出身地を決定し、且つ/又は抽出する。たとえば、クエリに対する応答は、QnAモデルによる検索結果に少なくとも部分的に基づいて生成される。上記の実例に戻って、非構造化データがユーザの出身地は「サンフランシスコ」であると指示する記録を含んでいれば、そこで、会話型AIプラットフォームは、クエリにおける「ユーザの出身地」を「サンフランシスコ」で置換する。したがって、会話型AIプラットフォームを実行するシステムによってユーザから受信された音声、テキスト、映像、及び/又は他のユーザ入力データは、処理され、AIエージェント(たとえば会話型AIプラットフォームの構成要素)の映像、音声、及び/又は文字的応答をレンダリングするために使用され、この応答は、次いで、会話型AIプラットフォームの実行に関連付けられた1つ又は複数のデバイス(たとえば、ディスプレイ、スピーカなど)によって表示されるか又は出力される。その上、多様な実施例において、ユーザから受信されたユーザ入力データ及び会話型AIプラットフォームによって生成された応答は、非構造化データとして維持され、QnAモデルによって、応答を生成するために使用する情報を抽出するように使用される。
多様な実例において、この非構造化データは、ユーザと、会話型AIプラットフォーム及び/又はそのAIエージェントなどの構成要素との間の会話の履歴及び/又は対話のログの記録を含む。会話型AIプラットフォームは、たとえば、特定のユーザと会話型AIプラットフォームとの間でやり取りされたクエリ、応答、及び他のデータを含有している、多様なユーザに関する個別の非構造化データ構造(たとえばドキュメント)を維持する。したがって、非構造化データは、ユーザと会話型AIプラットフォームとの間の対話に少なくとも部分的に基づいて徐々に生成される。加えて、会話型AIプラットフォームは、多様な実例において、多様な定義されたスロット向けのキー値ペアを含む構造化データ(たとえば短期記憶又は長期記憶)を維持する。たとえば、会話型AIプラットフォームが含み得るキー「出身地」に対して値「サンフランシスコ」が記憶される。多様な実例において、特定のキーに関連付けられた値は、非構造化データから抽出される。
ユーザが会話型AIプラットフォームにクエリを提示したとき、たとえば、会話型AIプラットフォームは、最初に構造化データを検索し(たとえばクエリから抽出されたデータに少なくとも部分的に基づくキーワード検索を行い)、検索が失敗した場合(たとえば、構造化データが、対応するキー又はキーに対応する値を含有していない場合)には、次いで非構造化データを検索する。本開示で説明される非構造化データは、キー値ペアの定義を必要とする構造化データとは対照的に、定義されたデータを必要とせず、したがって、会話型AIプラットフォームに、より優れた柔軟性及び応答性を与えることができる。実例の1つでは、会話型AIプラットフォームは、「好みのレストラン」に関連付けて定義されたキーは含まなくても、「私の好みのレストランを予約する」というクエリに対して、ユーザの好みのレストランを示すデータを含む非構造化データに少なくとも部分的に基づいて応答することができる。
抽出質問応答を利用する会話型人工知能(AI)プラットフォームのための本システム及び方法が、添付図を用いて以下で詳細に説明される。
本開示の少なくとも1つの実施例による会話型AIプラットフォームの実例のブロック図である。 本開示の少なくとも1つの実施例による、会話型AIプラットフォームの非構造化メモリに少なくとも部分的に基づいて応答を生成するための方法のブロック図である。 本開示の少なくとも1つの実施例による、クエリに対する応答を生成するための方法のブロック図である。 本開示の少なくとも1つの実施例による会話型AIプラットフォームの実例のブロック図である。 本開示の少なくとも1つの実施例による会話型AIプラットフォームの実例のブロック図である。 本開示のいくつかの実施例を実施中の使用に適している、コンピュータ・デバイスの実例のブロック図である。 本開示のいくつかの実施例を実施中の使用に適している、一例のデータ・センタの実例のブロック図である。
抽出質問応答を利用する会話型人工知能(AI)プラットフォームに関するシステム及び方法が開示される。多様な実施例において、会話型AIプラットフォーム(たとえばバーチャル・アシスタント、スマート・スピーカ、カスタマ・サポート・アプリケーションなど)は、クエリに対する応答を生成するために構造化メモリ及び非構造化メモリを維持する。ある実例では、会話型AIプラットフォームは、特定のユーザとの対話を含む非構造化データ(たとえばドキュメント又は他の非構造化データ構造)を維持し、これは、クエリに対する応答及び/又は構造化メモリ向けのデータ(たとえば短期記憶)を生成するように使用され得る。そのような実例では、ユーザとの対話は、会話型AIプラットフォームとユーザとの間の通信を表す文字データ(たとえば「ロスアンゼルスの今の天気は?」、「ロスアンゼルスの今の天気は晴で22.2℃(72°F)です」)を含む。一実施例では、非構造化データは、会話型AIプラットフォームと特定のユーザとの間の対話(たとえば通知、クエリ、及び応答)の記録及び/又はログを含有しているドキュメントを含む。
多様な実施例において、会話型AIプラットフォームによって維持される構造化メモリは、定義されたキー値ペアのセットを含む。実例の1つでは、会話型AIプラットフォームは、会話型AIプラットフォームがクエリに応答することを可能にするための、クエリに関連付けられたインテント及びスロットを有する、スロットとトレーニングされた分類器タグ・クエリとのセットを含む、データ構造(たとえばキー値ペアを定義するJavaScript(登録商標)オブジェクト表記法(JSON:JavaScript(登録商標) Object Notation)データ・オブジェクトとして記憶されたデータベース)を維持する。具体例では、ユーザが「居住地の方向は?」というクエリを与え、自然言語処理(NLP:Natural Language Processing)モデルが、クエリ(たとえば「居住地」の位置)に関連付けられたインテント及び1つ又は複数のスロットにタグを付け(たとえばデータを取り出し)、次いで、会話型AIプラットフォームが、クエリに対する応答を生成するために構造化データからデータ(たとえば「居住地」に関連付けられた住所)を取り出す。
多様な実施例において、会話型AIプラットフォーム及び/又は同プラットフォームの自動音声認識(ASR:Automatic Speech Recognition)アプリケーションなどの構成要素にアクティブ化トリガが供給され、ASRアプリケーションは、会話型AIプラットフォームの対話マネージャに、クエリ及びユーザ識別情報の文字表現を供給する。多様な実施例において、対話マネージャは、ユーザに関連付けられたパーソナル化データを維持し、パーソナル化データにより、会話型AIプラットフォームは、クエリに対する応答を生成して、後続の文脈のクエリを支援することが可能になる。加えて、一実施例では、パーソナル化データにより、会話型AIプラットフォームは、自然言語理解モデルに少なくとも部分的に基づく抽出質問応答(QnA)モデルを使用して、非構造化データ(たとえばユーザとの対話の履歴を含有しているドキュメント)からの応答に使用されているデータを抽出することが可能になる。少なくとも1つの実例において、QnAモデルはユーザに関するパーソナル化データを生成し、これは、1人又は複数の他のユーザと分離して記憶され得る。
一実施例では、ユーザは、情報を記憶したり取り出したりするために会話型AIプラットフォームと対話する。たとえば、ユーザは、情報(たとえば、「明日の正午に会議があることを覚えておく」)を記憶するように会話型AIプラットフォームに命令することができる。そのような実例では、対話マネージャは、後の検索のために非構造メモリに情報を記憶する。多様な実施例において、ユーザが、後に、この情報を求めるクエリ(たとえば「会議は明日の何時?」)を供給すると、会話型AIプラットフォームは、クエリにラベル(たとえばクエリを表す文字データに少なくとも部分的に基づくスロット値)を付け、ラベルに少なくとも部分的に基づいて構造化データを検索する。構造化データの検索が失敗した場合には、QnAモデルは、ユーザに関連付けられた非構造化データを(たとえば、非構造化データに関連付けられたユーザ識別子に少なくとも部分的に基づいて)検索してよい。多様な実施例において、非構造化データから抽出されたデータは応答を生成するために使用される。上記の実例に戻って、以下でより詳細に説明されるように、QnAモデルが、非構造化データから会議時間として「正午」を抽出し、会話型AIプラットフォームが、抽出された値を応答に含めて、テキスト発語化アプリケーションに応答を供給する。
多様な実施例において、QnAモデルが、スロットに関連付けられたデータ(たとえばクエリで要求されたデータ)を抽出することができない場合、会話型AIプラットフォームは、未知の値(たとえば値が未定義であるか、且つ/又は非構造化データから抽出されないスロット・タグ)に関してユーザへのクエリを生成してよい。たとえば、ユーザが「私の好みのレストランに料理を注文する」と要求し、QnAモデルが、「好みのレストラン」というスロットに関連付けられたデータを抽出することができない(たとえば、非構造化データから値が抽出されない、且つ/又は抽出された値は信頼度がしきい値未満の値に関連付けられている)場合には、会話型AIプラットフォームは、ユーザに、「お好みのレストランはどちらですか?」というクエリを含む応答を生成してよい。そのような実例では、会話型AIプラットフォームは、ユーザの応答を、構造化データ(たとえばスロットがキー値ペアとして定義されている場合)及び/又は非構造化データに記憶する。このように、会話型AIプラットフォームは、多様な実施例において、応答を生成するとともに、他の非公開領域のクエリに関連する、欠落した、且つ/又は未定義のスロット値を明確にするために、対話履歴を表す非構造化データを使用する。たとえば、QnAモデルは、第1の領域に関連付けられた非構造化データ(たとえば天気、居住地、料理の注文)からデータを抽出し、抽出された値を第2の領域(たとえばナビゲーション方向)に使用することができる。
図1を参照すると、図1は本開示のいくつかの実施例による会話型AIプラットフォーム100の実例である。この構成及び本明細書で説明される他の構成は、実例としてのみ表明されたことを理解されたい。他の構成及び構成要素(たとえば、装置、インターフェース、機能、命令、機能の集約など)は、示されたものに加えて、又は代わりに使用され得、いくつかの構成要素は、全体を省略されているものもある。さらに、本明細書で説明される構成要素の多くは、離散的又は分散化された構成要素として、又は他の構成要素と併せて、且つ任意の好適な組合せ及び配置で実施され得る、機能的エンティティである。エンティティによって遂行されているような、本明細書で説明される多様な機能は、ハードウェア、ファームウェア、及び/又はソフトウェアによって遂行され得る。たとえば、多様な機能は、メモリに記憶された命令を実行するプロセッサによって、遂行され得る。いくつかの実施例において、システム100は、本明細書でより詳細に説明される図6の実例のコンピュータ・デバイス600及び/又は図7の実例のデータ・センタ700と類似の特徴、機能、及び/又は構成要素を含み得る。
多様な実施例において、アクティブ化トリガ132は会話型AIプラットフォーム100の構成要素によって取得される。アクティブ化トリガ132は、たとえばジェスチャ、トリガ語及び/又は慣用句、唇の動き、カメラの凝視、パスコード、バイオメトリック情報の提供などの1つ又は複数のアクション、並びに/或いは会話型AIプラットフォーム100又は以下でより詳細に説明されるような同プラットフォームのホスト・デバイス406及び/又は506などの構成要素を実行するシステムの1つ又は複数のセンサによってキャプチャされ得る他のアクションを含み得る。一実施例では、会話型AIプラットフォーム100がアクティブ化トリガ132を検出した結果として、自動音声認識(ASR)102が起動されよい。実例の1つでは、会話型AIプラットフォームに接続されたマイクロフォンは、アクティブ化トリガ132に応答して、1人又は複数のユーザの音声をキャプチャする。別の実例では、アクティブ化トリガ132によって、会話型AIプラットフォームが、ある時間間隔中に(たとえばアクティブ化トリガ132が検出される前及び/又は検出された後に)キャプチャされたセンサ・データを取得する。
多様な実施例において、会話型AIプラットフォーム100は、アクティブ化トリガ132に関連付けられた特定のユーザ及び/又はアクティブ化トリガ132に関連付けられたセンサ・データを決定する(たとえば話者識別、顔認識、ログイン認証情報など)。実例の1つでは、アクティブ化トリガ132及び/又はユーザから取得されたクエリに関連付けられたユーザ識別情報(たとえばユーザID)を決定するために、映像データ及び/又は音声データが使用される。別の実例では、ユーザは、会話型AIプラットフォームがアクティブ化トリガを検出する前に、会話型AIプラットフォームにログイン認証情報又は他の識別情報を提供する。さらに別の実施例では、ホスト・デバイス又は他のコンピュータ・デバイスが、アクティブ化トリガ132を検出して、ASR 102用の会話型AIプラットフォームにセンサ・データを供給する。
多様な実施例において、ASR 102は、音声データを、会話型AIプラットフォーム100及び/又は対話マネージャ104など同プラットフォームの構成要素によって使用するためのテキストに変換する。ある実例では、ASR 102は、音声データを、対応する文字データ又は会話型AIプラットフォーム100によって使用可能な他のデータに変換するソフトウェア又は他の実行可能コードを含み得る。多様な実施例において、会話型AIプラットフォーム100がユーザ識別情報に関連付けられたパーソナル化情報(たとえば、ドキュメント及び/又は他のユーザデータ)を使用できるように、センサ・データ(たとえばもたらされたテキスト・クエリ)に対してASR 102を実行して取得されたデータがユーザ識別情報に関連付けられてよい。一実施例では、ユーザ識別情報は、コンピュータ・ビジョン、音声検出、ユーザ・ログイン情報などに少なくとも部分的に基づいて決定され、会話型AIプラットフォーム100は、特定のユーザを会話型AIプラットフォーム100の1人又は複数の他のユーザに対して一意的に識別するためにユーザ識別情報を使用する。多様な実施例において、ユーザ識別情報は、複数の構造化データ構造(たとえば長期記憶112及び/又は短期記憶114)及び/又は複数の非構造化データ構造(たとえばドキュメント124)に関連付けられる。
多様な実施例において、会話型AIプラットフォーム100は、対話マネージャ104、パーソナル化情報108、長期記憶112、短期記憶114、ジョイント・インテント・スロット分類器116、質問応答(QnA)モデル116、ドキュメント124、及び自然言語処理モデル120を含む。上記で説明されたように、図1に示された構成要素は、コンピュータ・システム(たとえばサーバ・コンピュータ)の1つ又は複数のプロセッサによって実行された結果として、コンピュータ・システムに、本開示で説明された多様な動作を実行させるソース・コード又は他の実行可能な論理を含む。実例の1つでは、対話マネージャ104は、テキスト・クエリを取得し、長期記憶112、短期記憶114、ジョイント・インテント・スロット分類器116、質問応答(QnA)モデル116、ドキュメント124、及び/又は自然言語処理モデル120のうちの1つ又は複数を使用して応答を生成する。
多様な実施例において、パーソナル化情報108により、対話マネージャ104は、テキスト・クエリがパーソナル化クエリ又は非パーソナル化クエリを含んでいるかどうかを決定することが可能になる。実例の1つでは、テキスト・クエリ「タイマを1分にセットしてください」は非パーソナル化クエリと見なされ、テキスト・クエリ「居住地の天気は?」はパーソナル化クエリと見なされる。多様な実施例において、長期記憶112、短期記憶114、及び/又はドキュメント124からのデータを含むクエリに対する応答はパーソナル化クエリである。一実施例では、ジョイント・インテント・スロット分類器116が、テキスト・クエリに含まれる1つ又は複数のスロットを分類し(たとえばタグを付け)、対話マネージャ104が、クエリに関連付けられた分類に少なくとも部分的に基づいて、クエリがパーソナル化クエリかどうかを決定する。実例の1つでは、ジョイント・インテント・スロット分類器116は、位置、領域、発話の構成要素、クエリのタイプなど、クエリの1つ又は複数の構成要素を分類するためのトレーニングされたモデルを含む。
一実施例では、テキスト・クエリがパーソナル化クエリを含む場合には、対話マネージャ104は、ジョイント・インテント・スロット分類器116から、タグ付きスロット(たとえば分類)に少なくとも部分的に基づいて、長期記憶112及び/又は短期記憶114を検索する。ある実例では、テキスト・クエリは、「居住地の天気はどうですか?」というクエリを含み、ジョイント・インテント・スロット分類器116が「居住地」の位置に未知というタグを付けた場合には、対話マネージャ104は、居住地というタグを付けられたスロットの長期記憶112を検索する。そのような実例では、長期記憶112はキー値ペアを含み、ここに「居住地」というスロット(たとえばキー)が定義されている。多様な実施例において、長期記憶112及び短期記憶114は、タグ及び/又はキーと、関連付けられた値とを含むデータ構造(たとえばJSONデータ・オブジェクト)を含む。上記の実例に戻って、「居住地」というキーは、長期記憶112の中に、対応する値「サンタクララ」を有し得る。多様な実施例において、キー及び/又は値が長期記憶112及び/又は短期記憶114に含まれていなければ、対話マネージャ104は、QnAモデル118に、未知の位置/値(たとえば「居住地」)を求めてドキュメント124を検索させる。
一実施例では、ジョイント・インテント・スロット分類器116は、テキスト・クエリのインテントを決定する。テキスト・クエリは、ある実例では、データを記憶するようにとのインテント(たとえば「リマインダに来週のボストンの会議を入れてください」)を含む。そのような実例では、対話マネージャ104は、テキスト・クエリの情報(たとえば会議の開催地としての「ボストン」)を、後に取り出すことができるように、ドキュメント124、短期記憶114、及び/又は長期記憶112に記憶する。一実施例では、対話マネージャ104は、少なくともドキュメント124、短期記憶114、及び/又は長期記憶112からの1つ又は複数の要素に関連付けられたデータを取得することによって、テキスト・クエリの1つ又は複数の要素を明確にし得る。上記の実例に戻って、後に、ユーザが「来週の会議の開催地はどこですか?」と尋ねたら、対話マネージャ104は、ジョイント・インテント・スロット分類器116及びテキスト・クエリから取得されたデータに少なくとも部分的に基づいて、会議の開催地を明確にするように決定してよい。
多様な実施例において、対話マネージャ104は、テキスト・クエリを明確にするために長期記憶112を検索する(たとえば「会議の開催地」というキーに関する値「ボストン」を検索する)。その上、そのような実施例では、長期記憶112の検索が結果を返さなければ、対話マネージャ104はQnAモデル118にドキュメント124を検索させる。ある実例では、QnAモデル118は、テキスト・クエリに少なくとも部分的に基づいてドキュメント124を検索するようにトレーニングされた1つ又は複数のモデルを含む。多様な実施例において、QnAモデル118は、非公開領域の質問応答及び/又は公開領域の質問応答を実行する。加えて、多様な実施例において、QnAモデル118によってドキュメント124から取得されたデータは、領域にわたる検索のために使用され得る。ある実例では、第1の領域(たとえばナビゲーション)の内部の、「居住地の方向は?」というテキスト・クエリによって表される、ユーザから与えられたクエリに対する応答は、対話マネージャ104によって、「居住地」に対応するデータに少なくとも部分的に基づいて、第2の領域(たとえば天気)から生成される。
検索が結果を返す(たとえば、スロットに対応するデータが、ドキュメント124、短期記憶114、及び/又は長期記憶112から取得される)実施例では、テキスト・クエリが修正されて、自然言語処理(NLP)モデル120に供給される。実例の1つでは、「私の出身地の天気は?」というテキスト・クエリは、値「サンタクララ」が1つ又は複数のドキュメント124を検索した結果としてQnAモデル118から取得されて、「サンタクララの天気は?」に修正される。多様な実施例において、対話マネージャ104は、ジョイント・インテント・スロット分類器116によって識別された1つ又は複数のスロットに関連付けられたデータを取得できなかった場合には、ユーザからデータを取得するための応答を生成する。上記の実例に戻って、「出身地」という位置が構造化データ構造(たとえば長期記憶112)又は非構造化データ構造(たとえばドキュメント124)に記憶されていなければ、対話マネージャは、「出身地」に関連付けられた値を取得するための応答(たとえば「出身地はどちらですか?」)を生成する。
多様な実施例において、(たとえば、スロットに関連付けられたデータが構造化データ及び/又は非構造化データから取得されたとき)修正されたテキスト・クエリが、次いで、応答を生成するために1つ又は複数のNLPモデル120に供給される。その上、多様な実施例において、テキスト・クエリ及び応答は1つ又は複数のドキュメント124に記憶される。たとえば、特定のユーザから取得されたクエリと、特定のユーザ向けに生成された応答とが、ユーザに関連付けられた特定のドキュメントに記憶される。
ここで図2及び図3を参照すると、本明細書で説明される方法200及び300の各ブロックは、ハードウェア、ファームウェア、及び/又はソフトウェアの任意の組合せを使用して実行され得る計算プロセスを含む。たとえば、多様な機能は、メモリに記憶された命令を実行するプロセッサによって、遂行され得る。これらの方法はまた、コンピュータ記憶媒体に記憶された、コンピュータが使用可能な命令として具現化され得る。これらの方法は、少数の例を挙げれば、スタンドアローンのアプリケーション、(スタンドアローンの、若しくは別のホストされるサービスとの組合せの)サービス又はホストされるサービス、又は別の製品へのプラグ・インによって、提供され得る。加えて、方法200及び300は、図1の会話型AIプラットフォーム100を参照しながら例として説明される。しかしながら、これらの方法は、それだけには限らないが、本明細書で説明したものを含む、任意の1つのシステム又はシステムの組合せによって、付加的に、又は別法として実行され得る。その上、方法200及び/又は300のブロックは、多様な実施例において、連続して、且つ/又は並行して実行され、ブロックが除去されてよく、且つ/又は方法200及び300に対して、さらなるステップ又は動作が追加されてもよい。
図2は、本開示のいくつかの実施例による、会話型AIプラットフォームによってクエリに対する応答を生成するための方法200を示す流れ図である。方法200は、ブロックB202に、会話型AIプラットフォームのインスタンスと通信可能に結合されたユーザ・デバイスに関連付けられた、音声ストリーム、文字ストリーム、及び/又は映像ストリームのうちの1つ又は複数に少なくとも部分的に基づいて生成されたクエリを受信することを含む。たとえばユーザ・デバイス404を使用して生成された音声、映像、及び/又は文字ストリームは、図4及び図5に関連して以下でより詳細に説明されるように、たとえばAIエージェント・デバイス402によって受信される。多様な実施例において、クエリは、ASRアルゴリズムによって、音声、映像に少なくとも部分的に基づいて生成されたテキスト、及び/又はユーザからキャプチャされたテキスト若しくは取得されたテキストを含む。
一実施例では、方法200を実行するシステムは、ブロック204において、クエリの1つ又は複数の部分を明確にすると決定する。実例の1つでは、テキスト・クエリの1つ又は複数の用語は、未知のもの(たとえば未知の位置、未知の人、未知の物体など)としてタグを付けられ、方法200を実行するシステムは、それらの用語を明確にしようとする。たとえば「私の車のエンジンをかけてください」又は「外の天気は?」というテキスト・クエリは、曖昧な用語「車」及び「外」を含み、会話型AIプラットフォームは、クエリに対する応答を生成するためにこれらを明確にする。
一実施例では、方法200を実行するシステムは、ブロック206において、用語を明確にするためのデータが構造化メモリに記憶されているかどうかを決定する。実例の1つでは、会話型AIプラットフォームは、構造化データ構造(たとえばJSONファイル、データベース、キー値記憶など)の検索を実行する。多様な実施例において、構造化メモリの検索はキー検索を含む。たとえば、構造化メモリは、明確にするべきクエリの用語(たとえば未知の物体「車」又は未知の位置「外」)から検索するキーが取得されるキー値ペアを含む。
一実施例では、検索結果が値を返すと、プロセス200を実行するシステムはブロック208へと続き、構造化メモリから取得されたデータに少なくとも部分的に基づいて応答を生成する。ある実例では、明確にするべき用語が、構造化メモリから取得された値で置換され、1つ又は複数のNLPモデルに供給される。上記の実例に戻って、「外の天気は?」というクエリは、「外」に関連付けられた構造化メモリから取得された値(たとえばユーザの位置)に少なくとも部分的に基づいて「外」を置換するように修正される。
多様な実施例において、結果が取得されない場合、結果は定義されず、結果に関連付けられた信頼値はしきい値を下回るか若しくは上回り、又は、結果は、クエリを修正する際の用途に適するものではなく、方法200を実行するシステムはブロック210に続く。方法200を実行するシステムは、ブロック210において、クエリのうちの1つ又は複数の用語を明確にするためのデータを求めて非構造化メモリの検索を実行する。多様な実施例において、トレーニングされたQnAモデルは、非構造化メモリ(たとえばドキュメントなどの非構造化データ構造)の検索を実行する。一実施例では、QnAモデルが検索クエリに対する応答を返すと、方法200を実行するシステムは、ブロック212へと続き、非構造化メモリから取得された結果に少なくとも部分的に基づいて応答を生成する。上記の実例では、非構造化メモリがユーザの位置を含む場合には、「外の天気は?」というクエリは、非構造化メモリから取得された値に少なくとも部分的に基づいて「外」を置換するように修正される。
多様な実施例において、結果が取得されない場合、結果は定義されず、結果に関連付けられた信頼値はしきい値を下回るか若しくは上回り、又は、結果は、クエリを修正する際の用途に適するものではなく、方法200を実行するシステムはブロック214へと続き、データを取得するための応答を生成する。たとえば、クエリが構造化メモリと非構造化メモリとのどちらにも定義されていない位置又はイベントを含む場合には、方法200を実行するシステムは、データを取得するためのクエリに応答して第2のクエリを生成する。具体的には、上記の実例に戻って、「外」という位置が構造化メモリ及び非構造化メモリの検索から取得されない場合には、システムによって生成される応答は、「外」の位置を決定するための第2のクエリ(たとえば「ごめんなさい、その情報は分かりません。今いる都市を教えてください」)を含む。
一実施例では、ブロック216において、方法200を実行するシステムは、テキスト発語化アルゴリズムに少なくとも部分的に基づいて、応答に対応する音声データを生成する。ある実例では、システムによって生成された応答(たとえばブロック208、212、及び/又は214のうちの1つ又は複数において生成された応答)は、ユーザに対する応答で使用される音声データ又は他のデータを生成するために、テキスト発語化アルゴリズムに供給される。
図3は、本開示のいくつかの実施例による、アプリケーション内でAIエージェントをインスタンス生成するための方法300を示すフロー図である。方法300は、ブロックB302に、アプリケーションのインスタンスに対応する仮想エージェントをインスタンス生成することを含む。たとえば、AIエージェントは、クライアント・アプリケーション416のインスタンス内で通信するために、インスタンス生成され得る。別の実例では、AIエージェントは会話型AIプラットフォームの構成要素である。
方法300は、ブロックB304に、アプリケーションのインスタンスと通信可能に結合されているユーザ・デバイスに関連付けられた、音声ストリーム、文字ストリーム、又は映像ストリームのうちの1つ又は複数を表す、第1のデータを受信することを含む。たとえば、ユーザ・デバイス404を使用して生成された、音声、映像、及び/又は文字ストリームが、たとえばAIエージェント・デバイス402によって受信され得る。
方法300は、ブロックB306に、自然言語処理を用いて第1のデータを分析することを含む。たとえば、受信されたデータは、AIエンジン412(たとえば、それだけには限らないが、1つ又は複数の並列処理ユニットによって実行される)によって分析され得、このことは、自然言語処理をデータに適用することを含み得る。
方法300は、ブロックB308に、第1のデータに応答し、仮想エージェントに対応する文字出力を表す、第2のデータを生成することを含む。たとえば、AIエンジン412は、AIエージェントの口頭の応答に対応する文字を生成し得る。多様な実施例において、文字データは、上記で説明されたようにクエリを含む。
方法300は、ブロックB310に、音声データを生成するために、第2のデータをテキスト発語化アルゴリズムに適用することを含む。たとえば、AIエージェントの応答又は通信に対応する文字データは、音声データを生成するために、テキスト発語化アルゴリズムに適用され得る。
図4を参照すると、図4は、本開示のいくつかの実施例による、会話型AIプラットフォーム100(代替として本明細書では「システム400」と呼ばれる)の実例を示す。この構成及び本明細書で説明される他の構成は、実例としてのみ表明されたことを理解されたい。他の構成及び構成要素(たとえば、装置、インターフェース、機能、命令、機能の集約など)は、示されたものに加えて又は代わりに使用され得、いくつかの構成要素は、全体を省略されているものもある。さらに、本明細書で説明される構成要素の多くは、離散的又は分散化された構成要素として、又は他の構成要素と併せて、且つ任意の好適な組合せ及び配置で、実施され得る、機能的エンティティである。エンティティによって遂行されているような、本明細書で説明される多様な機能は、ハードウェア、ファームウェア、及び/又はソフトウェアによって遂行され得る。たとえば、多様な機能は、メモリに記憶された命令を実行するプロセッサによって、遂行され得る。いくつかの実施例において、本明細書で図4に関して説明された特徴、機能、及び/又は構成要素のうちの少なくともいくつかは、本明細書でより詳細に説明される、図6の実例のコンピュータ・デバイス600などの1つ又は複数のコンピュータ・デバイス及び/又は図7の実例のデータ・センタ700を使用して実施され得る。他の実施例では、本明細書で図4に関して説明された機能、機能、及び/又は構成要素のうちの少なくともいくつかは、本明細書で図4に関して説明されたもの以外の追加又は代替の機能、機能、及び/又は構成要素を使用して実施され得る。
システム400は、他にもある中の、AIデバイス402、ユーザ・デバイス404、及び/又はホスト・デバイス406を含み得る。単一のAIエージェント・デバイス402、単一のユーザ・デバイス404、及び/又は単一のホスト・デバイス406のみが、図4に示されているが、このことは、限定することを意図されておらず、任意の数のデバイスがシステム400内で実施され得る。加えて、AIエージェント・デバイス402、ユーザ・デバイス404、及びホスト・デバイス406の各々が、互いから分離したデバイスとして図示されているが、このことは、限定することを意図されていない。たとえば、実施例により、1つ又は複数のデバイスが、単一のデバイス(又は、クラウド・コンピューティング環境内での一連のデバイスのように)に一体化され得る。非限定的な実例として、会話型AIプラットフォームでは、AIエージェント・デバイス402は、AIエージェントが、ユーザのパーソナル・デバイスを含み得るユーザ・デバイス404と通信するのを支援する1つ又は複数のデバイス(たとえば、クラウド・コンピューティング環境サーバ)を含み得、ホスト・デバイス406は、(たとえば、1つ又は複数のアプリケーション・プログラム・インターフェース(API)を含むホスト・アプリケーション426を用いて)会話型AIプラットフォームをホストする1つ又は複数のデバイス(たとえば、クラウド・コンピューティング環境内サーバ)を含み得る。別の非限定的な実例として、自動車用アプリケーションでは、AIエージェント・デバイス402、ユーザ・デバイス404、及びホスト・デバイス406は、単一のデバイス(たとえば、車両内のスーパーコンピュータ)を含み得る、又は、車両によって位置を定められるデバイス(たとえば、スーパーコンピュータ)と、更新しさらに複雑なタスクに応答するなどのために、車両によって位置づけられるデバイスと通信する、遠隔操作によって位置を定められるデバイス(たとえば、クラウド・コンピューティング環境内の1つ又は複数のサーバ)とを、組み合わせたものを含み得る。したがって、AIエージェント・デバイス402、ユーザ・デバイス404、ホスト・デバイス406は、同一のユーザ又は企業、異なるユーザ若しくは企業及び/又はその組合せによって、所有され、運転され、及び/又は支援され得る。
AIエージェント・デバイス402は、サーバ、ネットワーク接続ストレージ(NAS:network attached storage)、API、バックエンド・デバイス、及び/又は別のタイプのデバイスを含み得る。AIエージェント・デバイス402は、本明細書で説明されるもののような、会話型AIプラットフォームの機能を支援し得る。したがって、いくつかの実施例では、AIエージェント・デバイス402の構成要素、特徴、及び/又は機能のうちのいくつか又は全てが、ユーザ・デバイス404上で、ローカルで実行され得る。たとえば、ユーザ・デバイス404上での、ユーザとAIエージェントとの間の、あるタスク、要求、対話、及び/又は会話が、ユーザ・デバイス404上で、ローカルで取り扱われ得る。実施例では、AIエージェントの構成要素、特徴、及び/又は機能のうちのいくつか又は全てが、AIエージェント・デバイス402によって、ユーザ・デバイス404及び/又はホスト・デバイス406に対して、遠隔から実行され得る。たとえば、ユーザ・デバイス404及び/又はホスト・デバイス406からのデータは、AIエージェント・デバイス402を用いて受信され処理され得、AIエージェントによって応答又は通信される映像ストリーム、音声ストリーム、及び/又は文字ストリームは、ユーザ・デバイス404及び/又はホスト・デバイス406に送信され得る。
ユーザ・デバイス404は、スマートフォン、ラップトップ・コンピュータ、タブレット・コンピュータ、デスクトップ・コンピュータ、装着型デバイス、ゲーム・コンソール、AIエージェント若しくはアシスタントを含み得るスマート・ホーム・デバイス、及び/又は別のタイプのデバイスを含み得る。いくつかの実例では、ユーザ・デバイス404は、デバイス(たとえば、スマートフォン及び通信可能に結合されたスマートウォッチ又は他の装着型デバイス)、及びそれと共に関連するアプリケーションを含み得、アプリケーションによる対話が1つ又は複数のデバイス(たとえば、スマートフォンのアプリケーションが通知をスマートウォッチのアプリケーションにプッシュ配信する、ユーザが入力をスマートウォッチに提供する、入力を表すデータが、スマートフォンを介してシステム400の別のデバイスに渡される)を用いて実行され得ることを含む。
ホスト・デバイス406は、サーバ、ネットワーク接続ストレージ(NAS)、API、バックエンド・デバイス、本明細書で説明されるユーザ・デバイス404に類似しているデバイス、及び/又は別のタイプのデバイスを含み得る。ホスト・デバイス406は、たとえば、ユーザ・デバイス404を介して通信される、AIエージェントと、1つ又は複数のエンド・ユーザとを対話させる、ホスト・アプリケーション426の機能を支援し得る。たとえば、会話型AIプラットフォームでは、ホスト・デバイス406は会議システムをホストし得、AIエージェント・デバイス402は特定の会議の参加者としてAIエージェントを支援し得、一方、ユーザ・デバイス404は会議の別の参加者としてユーザを支援し得る。別の実例として、ファスト・フード注文アプリケーションでは、ホスト・アプリケーション426は、AIエージェントがユーザを1つ又は複数の商品を選択するためにメニューを案内することで支援する、対話型メニューを含み得る。そのような実施例によれば、ホスト・デバイス406は、レストランに(近傍に)ローカルに配置され得、たとえば、それだけには限らないが、注文装置、又はキオスクのI/O構成要素420に通信可能に結合されたコンピュータ・デバイスとして、実施され得る。AIエージェント・デバイス402は、遠隔に配置され得、(且つ/又は遠隔で)ユーザ入力(たとえば、音声、文字、映像など)に基づいて生成されたデータを処理するために、且つ応答又は対話をAIエージェントよって生成するために使用され得る。1つ又は複数の実施例によれば、ユーザ・デバイス404は、必要とされないことがあり、別法として、ユーザ・デバイス404は、ホスト・デバイス106と対話するためのユーザのデバイス(たとえば、タッチ入力をホスト・デバイス506に関連付けられたクライアント・アプリケーション516Bに提供する)であり得る。
AIエージェント・デバイス402、ユーザ・デバイス404、ホスト・デバイス406、及び/又は他のシステム400の構成要素は、ネットワーク408を通じて通信可能であり得る。ネットワークは、広域ネットワーク(WAN:wide area network)(たとえば、インターネット、公衆交換電話網(PSTN)など)、ローカル・エリア・ネットワーク(LAN:local area network)(たとえば、Wi-Fi、ZigBee、Z-Wave、ブルートゥース、ブルートゥース・ロー・エナジー(BLE:Bluetooth Low Energy)、イーサネット(登録商標)など)、低出力広域ネットワーク(LPWAN:low-power wide-area network)(たとえば、LoRaWAN、Sigfoxなど)、グローバル・ナビゲーション衛星システム(GNSS:global navigation satellite system)ネットワーク(たとえば、全地球測位システム(GPS:global posisioning system))、及び/又は別のネットワーク・タイプを含み得る。いくつかの実施例では、AIエージェント・デバイス402、ユーザ・デバイス404、及び/又はホスト・デバイス406は、たとえば、システム400がクラウド・ベースの又は分散化されたコンピュータ環境内で実施されている場合、WAN(たとえば、インターネット)を通じてLAN(たとえば、Wi-Fi、イーサネット(登録商標)など)を介して及び/又はセルラ・ネットワーク(たとえば、4G、LTE、5Gなど)を介して通信し得る。
通信構成要素410、418、及び/又は424は、1つ又は複数のネットワーク408を横断して通信するための、それだけには限らないが本明細書で説明されるもののような、1つ又は複数の構成要素、特徴、及び/又は機能を含み得る。非限定的な実例として、ユーザ・デバイス404は、AIエージェント・デバイス402及び/又はホスト・デバイス406と通信するために、イーサネット(登録商標)及び/又はルータを介したWi-Fi接続、或いは1つ又は複数のセル・タワーを介したセルラ接続を使用し、インターネットにアクセスし得る。AIエージェント・デバイス402及び/又はホスト・デバイス406は、たとえば、クラウド・ベースのデータ・センタ内のサーバ又は他のコンピュータ・デバイスに対応する場合、イーサネット(登録商標)を通じてインターネットにアクセスし得る。したがって、通信構成要素410、418、及び/又は424は、1つ又は複数のネットワーク・タイプを通じて、通信するように構成され得、1つ又は複数のネットワーク・タイプを通じて、システム400の多様なデバイス間の通信を可能にし得る。クライアント・アプリケーション416A、クライアント・アプリケーション416B、及びホスト・アプリケーション426は、関連するアプリケーションの異なるインスタンスに対応し得る。
AIエージェント・デバイス402は、任意の数の並列処理ユニットを、入力されてくるデータを分析すること、データを処理すること、及び出力データ、たとえば、テキスト発語化音声データ及び対応する仮想環境内のAIエージェントへの変更、を決定することに活用し得、レンダリングされ得、表示及び/又は出力するために1つ又は複数のユーザ・デバイス404へ送信され得る(たとえば、映像ストリーム、文字ストリーム、及び/又は音声ストリーム)。好適な並列処理ユニットが、グラフィック処理ユニット(GPU:graphics processing unit)で加速されるAI環境で、1つ又は複数のGPUを含み得る。GPUは、本明細書で説明されるようなAIエンジン412及び/又はレンダラ414によって、並びに/或いは他のシステム400の構成要素によって、活用され得る。加えて、いくつかの実施例では、AIエージェント・デバイス402及び/又は他のデバイスは、映像データの送信を最適化するために、映像圧縮技術を活用し得る。1つ又は複数の実施例では、好適な映像圧縮技術は、会話型AIプラットフォームに最適化された圧縮技術を含み得る。そのような技術は、その全体が参照により本明細書により組み込まれている、2020年4月15日に出願した米国仮特許出願第63/010,511号で示されたような、構成要素、特徴、及び/又は機能のうちのいくつか又は全てを含む。
AIエージェント・デバイス402のAIエンジン412は、何が文字的に、聴覚的に、及び/又は視覚的に通信されているのかを決定するために、且つAIエージェントによる応答又は出力が必要であるか否か、出力が決定された場合、どんな応答が出力されるべきか、及び/又は応答をどのように出力するか(たとえば、AIエージェントの口調、感情、ジェスチャ、アニメーションなどを決定する)を決定するために、入力してくる文字、音声、及び/又は画像データ(たとえば、多様式のデータ)を処理し得る。いくつかの実施例では、AIエンジン412は、NVIDIA Corporation製のJARVIS AIプラットフォームに対応し、又は類似していることがあり、且つ/又は各々がその全体が参照により本明細書により組み込まれている、2017年11月10日に出願した米国特許出願第15/809,849号、2018年9月20日に出願した米国特許出願第16/137,064号、2018年3月26日に出願した米国仮特許出願第62/648,358号、2018年10月8日に出願した米国仮特許出願第62/742,923号、2019年3月25日に出願した米国特許出願第16/363,648号、2020年1月27日に出願した米国特許出願第16/773,883号、2019年12月16日に出願した米国仮特許出願第62/948,789号、2019年12月16日に出願した米国仮特許出願第62/948,793号、2019年12月16日に出願した米国仮特許出願第62/948,796号、2020年4月27日に出願した米国特許出願第16/859号、及び/又は2020年5月5日に出願した米国特許出願第16/867,395号に示されているような、構成要素、特徴、及び/若しくは機能のうちのいくつか又は全てを含み得る。
AIエンジン412は、アプリケーション内部で、たとえば視覚的、聴覚的、機械的(ユーザ入力装置を介した)又は文字的な、応答又は通信を決定するために、状況における発話に伴うジェスチャ及び視線のような視覚的な手がかりを使用し得る。たとえば、AIエンジン412は、能動的な発話者を識別するために、発話入力と一体化されている唇の位置及び動作を使用し得、視線は、発話者がAIエージェント、ユーザとして同じ場所にいる他の人たち、又はアプリケーションのインスタンスに参加している他の人たちと、関わっているか否かを把握するために使用され得る。視線及び唇の動作の組合せが、本明細書でより詳細に説明されるような、アクティブ化トリガに対応し得る。AIエンジンの多モードのデータを融合させる能力が、AIエージェントとの、同時の複数ユーザの複数状況での会話、たとえば従来のAIアシスタントとのすべて口頭での伝達より深い、状況の理解を与える会話を、可能にする。
たとえば、AIエンジン412は、意思及びエンティティの分類、情緒分析、対話モデリング、領域及び達成のマッピングなどのような、発話タスクの任意の数の特徴を含み得る。いくつかの実施例では、AIエンジン412は、入力してくる音声データを採集する、解読する、知覚する、且つ/又は意味を理解するために、自然言語処理(NLP:natural language processing)技術又は1つ若しくは複数のニューラル・ネットワーク・モデルを使用し得る。視覚のために、AIエンジン412は、人、顔、及び/又は身体(ジェスチャ)の特徴の検出並びに追跡と、鍵となる身体又は顔の際立った特徴の検出と、身体のポーズ、ジェスチャ、唇の動き、視線、及び/又は他の特徴と、のうちの任意の数を含み得る。AIエンジン412は、決定にいたるために、音声及び画像の両方を総合して分析する、融合された感覚認知、タスク、又はアルゴリズムをさらに含み得る。実施例では、発話、視覚、及び/又は融合されたタスクのうちのいくつか又は全てが、特定の使用事例又は実施例での高精度を達成するために、独自データに関してトレーニングされ得る、機械学習及び/又は深層学習モデル(たとえば、NVIDIAのJarvis及び自然言語処理)を活用し得る。AIエージェントは、AIエンジン412によって管理される場合、クラウド・ベース環境の内部、データ・センタ内、及び/又はエッジに、配置され得る。
いくつかの実施例では、AIエージェント・デバイス402は、AIエージェントを生成し得、AIエージェントによって通信が発生しない場合においても、たとえばレンダラ414を用いてレンダリングし得る。たとえば、レンダラ414は、アプリケーション・セッション中AIエージェントが目下発話中でない、動作中でない、又はそうでなければユーザからの入力に応じて又は基づいて対話中でない場合でも、仮想環境内部の仮想AIエージェントに対応する、画像又はグラフィカル・データを、やはりレンダリングし得る。この方法では、エンド・ユーザは、AIエージェントのディスプレイ又は表示、及び対応する仮想環境をやはり視認し得、AIエージェントが対話に利用可能であることを把握し得る。他の実施例では、AIエージェントは、能動的に発話し、返答した場合にのみ、且つ/又はアクティブ化トリガが満足された後にのみ、表示又は提示され得る。
AIエンジン412は、いくつかの実施例では、入力してくるデータをより大量に処理する前に、AIエージェントのアクティブ化トリガを識別するためだけに、入力してくるデータを処理し得る。たとえば、プライバシの懸念、法律、及び/又は規則に従い、尊重するために、アクティブ化トリガは、ユーザ入力(発話のような)がキャッシュされ(又はそうでなければ記憶され)、実際に処理される前に、AIエンジンによって監視され得る。アクティブ化トリガは、個別の実施例、環境、又はAIエージェントの位置、或いはユーザ・デバイス404又はユーザ・デバイス404に利用可能なタイプのI/O構成要素420により、異なり得る(たとえば、カメラが存在しない場合、アクティブ化トリガは、聴覚的のみであり得る)。いくつかの実施例では、アクティブ化トリガは、プライバシの懸念が尊重されることを保証するために、AIエンジン412が、任意の照会又は会話への的確な対応のためより正確に目下の発話者を識別できるようにするために、且つ/又はより会話的な状況若しくは徴候(たとえば、会話中に、カメラを視認すること及び始動させるために発話することは、特定のトリガする単語又は句を発話するために会話を中断するよりも自然である)を許容するために、単一のトリガよりも多くのことを含み得る(たとえば、アクティブ化は、多モードでトリガすることが求められる)。たとえば、アクティブ化トリガは、ユーザがカメラを見ていること(たとえば、注視追跡)、及びユーザが話していること(たとえば、唇の動きを追跡することによって)を決定するために、画像データ(たとえば、ストリーミング映像)を解析することを含み得る。別のアクティブ化トリガは、ユーザが発話しているところであり、ユーザのジェスチャを決定しているところであることを、決定することを含み得る(たとえば、アクティブ化は、発話が聴かれ、手を揺らすなどのトリガするジェスチャが識別されたとき、発生し得る)。いくつかの実施例では、発話又は音の大きな発話が許されない(たとえば、図書館、宗教的な建物など)又はユーザが発話能力を持たないなどの環境において、アクティブ化トリガは、動作又はジェスチャ、及び/或いはデバイスへの入力(たとえば、ボタン、レバー、タッチ・インターフェースなど)を含み得る。しかしながら、他の実施例では、アクティブ化トリガは、単一の口頭でない、ジェスチャ、トリガ語、唇動作、カメラの凝視などのような、アクティブ化を含み得る。いくつかの実施例では、プライバシの懸念が問題ない、或いはユーザが音声及び/又は映像を継続的に収録することを選択している場合、いつユーザがAIエージェントに話しかけたかを決定するために、音声、文字、及び/又は映像が、やはり監視され得るにもかかわらず、トリガのアクティブ化が用いられないこともあり得る。
ある一定の国、地域、又は区域では、法律、規則、規制、及び/又はプライバシの懸念は、公共の空間での音声又は発話の継続的な録音を許容しないことがある。そのためアクティブ化トリガは、完全に視覚ベース、たとえばローリング・バッファを使用することであり得る。ある一定の国、地域、又は管轄の、法律、規則、規定、及び/又はプライバシの懸念が、私有財産に関する映像及び/又は音声の継続的な収録を許容しない場合があるが、映像及び/又は音声のローリング・バッファを収録し、アクティブ化トリガが存在するか否かを決定するために、そのローリング・バッファを処理することを許容し得る。任意の実施例では、アクティブ化トリガが満足された後、マイクロフォン、カメラ、及び/又は他のI/O構成要素420は、オープンされ(たとえば、トリガする事象の先のユーザ入力のために、傾聴する、監視する又は観察するためにアクティブ化される)得、データは、応答及び/又は他の通信を決定するために、AIエンジン412によって処理され得る。データは、非アクティブ化トリガが満足されている間、処理を継続するために別のトリガを必要とする単一の往復の通信中に限定して、無期限に処理され得る(たとえば、停止、継続などのようなトリガ語、トリガ・ジェスチャ、発話の欠乏、動作、カメラを見ること、又は知覚される無活動のしきい値期間内の他の対話、など)。
入力してくるデータ、たとえば視覚的、文字的、聴覚的なデータなどは、AIエージェント用に3次元(3D:three-dimensional)グラフィックスを用いて表現される、文字的、視覚的、及び/又は聴覚的応答又は通信を決定するために、AIエンジン412によって解析され得る。たとえば、AIエンジン412は、テキスト発語化処理用の出力文字を、音声データを生成するために、たとえば1つ又は複数の機械学習又は深層学習モデルを用いて、生成し得る。実施例では、オーディオ・データは、ユーザ・デバイス404に、ホスト・デバイス406を介して、スピーカ又はユーザ・デバイス404の別のI/O構成要素420によって出力するために、送信され得る。いくつかの実施例では、音声データは、仮想環境内のAIエージェントの挙動に影響を与えるために、用いられ得る。たとえば、音声データは、AIエージェントが唇を音声と同調可能にさせるように、使用され得、その結果、AIエージェントの発話が、人間相互間の会話に似ていて自然にAIエージェントから生じるように見える。これは、AIエージェントによる音声出力に対応する、3Dグラフィカルの顔のアニメーションを動かし得る機械学習又は深層学習モデルを含み得る、音声から顔のアルゴリズム又は唇同期アルゴリズムを用いて果たされ得る。好適な音声から顔のアルゴリズムは、その全体が参照により本明細書により組み込まれている、2017年11月29日に出願した米国特許出願第15/826,430号で示されたような、構成要素、特徴、及び/又は機能のうちのいくつか又は全てを含み得る。
したがって、AIエージェントの唇は、音声データ、又は少なくとも音声表現の発話の部分、に対応するために、仮想環境で制御され得る。さらに、発話に加えて、背景雑音又は音声、音楽、口調、周囲雑音、他のAIエージェント、仮想ボット、及び/又は他のソースに対応する追加の音声データが存在し得る。最終的に、AIエージェントの発話及び他の音声ソースを含む音声データは、たとえば音声ストリームとして、ユーザ・デバイス404へ(たとえば、実施例ではホスト・デバイス406を介して)、送信され得る。
音声に加えて、AIエージェントによる応答又は通信は、仮想世界で表現され得る、シミュレートされた物理的動作、ジェスチャ、姿勢、ポーズなどを含み得る。AIエージェントが配置されている仮想環境に加えて、外観、ジェスチャ、動作、姿勢、及び/又は他のAIエージェントに対応する情報は、グラフィカル・データによって表現され得る。このグラフィカル・データは、ディスプレイ422に表示するためにユーザ・デバイス404にストリームされ得る、表示データ又は画像データを生成するために、レンダラ414によってレンダリングされ得る。
AIエンジン412は、入力してくるデータの分析、AIエージェントの一般的典型又は個性、並びに/或いは決定された文字的、聴覚的、及び/又は視覚的なAIエージェントによる応答又は通信に基づいて、AIエージェントのシミュレートされた物理的特性を決定し得る。たとえば、AIエンジン412が、目下の発話者が怒っている又は悲しんでいると決定している場合、この情報は、適切に応答するように(たとえば、優しい、鼓舞する、又は慰める口調又は言葉遣いを使用して)AIエージェントをシミュレートするために活用され得る。AIエンジン412が、ある一定のジェスチャ又は姿勢がAIエージェントの発話される応答に適すると決定している場合、AIエージェントは、仮想環境内でそのように制御され得る。そのように、AIエージェントの身体及び/又は顔は、AIエージェントが仮想カメラに感情を示し得るように(その独特の一連の感情を表す)、アニメーション化され得る。
AIエージェントと同様に、AIエージェントが配置される仮想環境は、応答中に支援するために、生成され得る。たとえば、個別の現実世界の付近の天気の要求を受け、天気が雨である場合、曇空及び降雨を伴う位置の仮想表現が生成され得、AIエージェントは、ふさぎ込んで見えるようになされ得る(たとえば、うつむき、悲しい顔で)。同様に、ある歌が要求されている場合、AIエージェントは、歌のビートに対して動き、又は旋回し得、歌を、たとえば唇を同期しながら、歌い得る。いくつかの実例では、仮想環境は、アプリケーションの単一のインスタンスの間中、又は単一の照会応答の通信の間、更新され得る。たとえば、追加の状況を提供するために、仮想環境は、AIエージェントが、本質的に、ある仮想位置から別の位置にテレポートしたように見え得るように、新たな位置を反映するために変更され得る。いくつかの実施例では、説明が別の領域により好適に適合される場合、環境又は位置の変更に加えて、個別のAIエージェントが、さらに変化し得る。たとえば、ユーザが都市ロンドンの天気についての情報を求めている場合、天気ベースのAIエージェントは、ロンドンの空を背景とした輪郭に対応した、レンダリングされた仮想環境内に表示され得、ユーザがロンドンの歴史についての追加質問を尋ねている場合、歴史に焦点を合わされたAIエージェントは、ロンドンの歴史的建物の写真又はレンダリングされた画像の中に又は近くに表現され得る。
いくつかの実施例では、仮想環境は、文字又は文書の表示を含み得る。たとえば、ユーザが、バンク又は他の金融機関に関連付けられたAIエージェントと対話している場合、仮想環境は、ユーザによって要求された情報に対応する銀行取引明細書のグラフィカルな描画を背景に又は手に持って、立っているAIエージェントを含み得る。そのような実例では、ユーザとAIエージェントとの間の通信は、バンク情報がインデックス可能な形態で送信されないときよりも、且つたとえば銀行取引明細書を含む電子メールほど構造化されていないときよりも、安全であり得る。したがって、AIエージェント・デバイス402からの視覚的、聴覚的、及び/又は文字的応答は、同一の情報の電子メール、SMS、又は文字メッセージ通信よりも安全で個人専用であり得る。
いくつかの実施例では、AIエージェントは、ユーザとの応答又は対話中に支援するために、仮想環境内のオブジェクト、特徴、又はアイテムと対話し得る。たとえば、対話中に支援するように説明を提供するために、AIエージェントは、環境と仮想的に対話し得る。アプリケーションが建築計画を説明するために使用されている場合、コンピュータ支援設計(CAD:computer aided design)アプリケーション・ファイルが、仮想環境の描画を生成するために、アクセスされ使用され得る。たとえば、建築計画は、AIエージェントが計画又は計画の一部分/構成要素と対話し得るように、AIエージェントの仮想環境内でインスタンス生成され得る。これは、建築計画の特徴を指し示すこと、又は建築計画の内部で若しくはそれに対して動き回ること、を含み得る。入力してくるデータが、計画の一部を修正する要求を含む場合、AIエージェントは、ジェスチャを遂行し得、建築計画は、要求に従って修正され得る。たとえば、視覚的な手がかりが何もなしに、窓が言及されている場合、窓の位置及び窓の周囲の説明は、より少ない情報しか提供しない。しかしながら、AIエンジン412を用いることで、たとえば仮想カメラの仮想視野からの、仮想環境の視界は、説明の窓を含むように変更され得る。加えて、AIエージェントは、それについて話している窓を指差し又はそうでなければ指し示し得、システム400は、CADアプリケーションでの通信を通して、更新されたCADファイルに基づいて仮想環境を更新するために、システム400へフィード・バックされ得る、窓への更新を成し得る。
いくつかの実施例では、入力してくるユーザからの文字的、視覚的、ユーザ入力、及び/又は音声データの分析に加えて、ユーザのユーザ・プロファイル又はユーザ情報が、AIエージェントによる文字的、聴覚的、及び/又は視覚的応答を決定するために、アクセスされ得る。たとえば、ユーザが天気について尋ねている場合、ユーザの位置情報が、特定の位置に対する適切な応答を決定するために、活用され得る。そのような実例では、仮想環境が、位置を反映するために、たとえば、位置の一部、又はパリのエッフェル塔のような位置を識別する特徴を含めるために、さらに更新され得る。同様に、ユーザの嗜好又は他の情報が、適切にユーザに応答するために、又はユーザと対話するために、活用され得る。いくつかの実施例では、この情報は、アプリケーションのインスタンス中に、たとえば、テレビ会議中に、ユーザの発言、動作などに基づいて、収集され得る。たとえば、ユーザが、ニューヨーク市の彼らの家にいることを言及している場合、この情報は、ユーザが後ほど「自宅の交通はどんな状況?」と尋ねるとき、応答が既に認知されている位置情報に基づくことができるように、記憶され得る。
AIエンジン412が個別のユーザが喜んだり悲しんだりしている時に、どのような表情かを学習し、且つ/或いは個別のユーザの発話パターン、発話の様子、及び/又はAIエンジン412を個別のユーザに適用させるために用いられ得る他のユーザ固有の情報を学習し得るように、個人化されたモデルが、徐々に異なるユーザのために生成され得る。この情報がAIエージェント・デバイス402のユーザ・プロファイルに記憶され得る。同様に、任意の数のユーザを学ぶことによって、AIエンジン412及びレンダラ414並びに/又はそれに関連付けられた内在する機械学習若しくは深層学習モデルは、AIエージェントがより人間のように、通信し且つ見えるように、効果的に感情を示し且つ/又は仮想環境のAIエージェントの3Dグラフィカル描画をアニメーション化する仕方を学習し得る。同じように、AIエージェントが(擬人的な)動物、ロボット、物体などに似せる場合、AIエンジン412は、仮想環境内での動物、ロボット、オブジェクト、車両などをより正確にシミュレートするために、AIエージェントの現実世界バージョンに対応するデータから学習し得る。
AIエンジン412は、任意の数のAIエージェントを支援し得る。たとえば、異なるAIエージェントが、異なる領域又は技能のためにプログラムされ得る。したがって、ユーザは、特有のAIエージェントを要求し得、又は個別のAIエージェントが、入力してくるデータに基づいて、AIエンジン412によって選択され得る(たとえば、要求が天気についてである場合、天気AIエージェントがインスタンス生成され、要求が金融についてである場合、金融AIエージェントがインスタンス生成され、要求が購入についてである場合、買い物支援AIが生成され得る、など)。個別の領域に対応するAIエージェントの結果として、要求、司令、質問、照会などが、その領域に適正な応答又は会話的な論理及びツールに導かれる傾向がより高くなるにつれ、ユーザとAIエージェントとの間の通信は、より好結果となり得る。
レンダラ414は、ユーザ・デバイス404への送信及び/又はユーザ・デバイス404による提示のために、表示データ又は画像データを、グラフィカル・データから及び/又は仮想環境又は世界の1つ又は複数のモデル(たとえば、仮想AIエージェントを含む、仮想環境又は世界を表すデータ)を使用して、レンダリングし得る。いくつかの実施例では、画像データ又は表示データは、仮想カメラの仮想視野からキャプチャされたものとして仮想環境の一部分に対応したグラフィカル・データの部分集合を表示するために、レンダリングされ得る。加えて、音声データが、ユーザ・デバイス404に送信され且つ/又はユーザ・デバイス404によって出力され得る。さらに、AIエージェントからの文字データは、ユーザ・デバイス404に送信され且つ/又はユーザ・デバイス404によって表示され得る。したがって、実施例では、たとえば文字的、視覚的、及び/又は聴覚的データの通信が、ホスト・アプリケーション426を介して、クライアント・アプリケーション416Aとクライアント・アプリケーション416Bとの間でやり取りされ得る。表示データ、画像データ、文字データ、及び/又は音声データは、アプリケーション、たとえばクライアント・アプリケーション416A、416B及びホスト・アプリケーション426、のインスタンス中に、データのストリームとして送信され得る。
いくつかの実施例では、レンダラ414は、NVIDIA Corporation製のOmniverse Kitに対応し、又は類似していることがあり、並びに/或いは各々がその全体が参照により本明細書により組み込まれている、2018年8月10日に出願した米国仮特許出願第62/717,730号、2019年8月12日に出願した米国特許出願第16,538,594号、2020年3月22日に出願した米国特許出願第16,538,594号、及び/若しくは2019年7月29日に出願した米国仮特許出願第62/879,901号に示されているような、構成要素、特徴、且つ/又は機能のうちのいくつか又は全てを含み得る。たとえば、レンダラ414は、NVIDIA RTX RENDERERに相当し得る。
レンダラ414は、グラフィカル・データからの表示データ又は画像データをレンダリングするために、任意の数のGPU及び/又はそのノードを活用し得る。たとえば、レイ・トレーシング、たとえばリアル・タイムのレイ・トレーシング及び/又はパス・トレーシングが、よりリアルな写真のような描画を生成するために、1つ又は複数のGPUを使用して、実行され得る。いくつかの非限定的な実施例では、レンダラ414は、PIXAR社の汎用情景記述(USD:Universal Scene Description)フォーマット及び/又は別の、コンテンツ作成及び多様な異なるツール間のやり取りのための、3D情景記述及びファイルのフォーマットであり得る。レンダリングされた後に、グラフィカル及び/又は音声の出力は、圧縮された又はエンコードされたデータが提示前に復元される(デコードされる)、AIエージェントと対話するユーザ又は参加者に対応するコンピュータ・デバイスに、送信される前に、圧縮され/エンコードされ得る。
ユーザ・デバイス404に関して、入出力(I/O:input/output)構成要素420は、入力を提供すること、入力を受信すること、及び/又は出力を生成することを可能にする、任意のタイプのデバイスを含み得る。たとえば、I/Oデバイス420の入力デバイスは、それだけには限らないが、キーボード、マウス、タッチ・スクリーン・ディスプレイ、コントローラ、リモコン、ヘッドセット、スタイラス、マイクロフォン、カメラ、及び/又は他のタイプの入力デバイスを含み得る。I/O構成要素420の出力デバイスは、それだけには限らないが、スピーカ、ディスプレイ、光源、触覚フィードバック・デバイス(たとえば、振動モータ)、及び/又は他のタイプの出力デバイスを含み得る。いくつかの実施例では、本明細書で説明されるように、AIエージェント・デバイス402は、システム400と通信するために、ユーザ・デバイス404のI/O構成要素420に類似した、仮想又はシミュレートされたI/O構成要素を活用し得る。非限定的な実例として、AIエージェントからの通信は、仮想環境内の仮想カメラの仮想視野から、及び/又は仮想環境内の仮想マイクロフォンの仮想音声センサから(若しくはそれに接続された仮想音声ケーブル)取得され得る。したがって、たとえば、レンダラ414及び/又はAIエンジン412を使用するAIエージェント・デバイス402は、仮想環境内からの且つ/又は1つ又は複数の仮想I/O構成要素を用いるAIエージェントに対応する、データを取得し得る。
次に図5を参照すると、会話型AIプラットフォーム500は、AIエージェントがAIエージェント・デバイス502によって1人又は複数のユーザからのユーザ・デバイス504を介してクエリに応答することを可能にするように使用され得る。そのような実例では、クライアント・アプリケーション516A及び516Bは、会話型AIプラットフォームのエンド・ユーザのアプリケーション・バージョンに対応し得、ホスト・デバイス506は、AIエージェントをホストするホスト・アプリケーション526を含み得る。
ユーザ・デバイス504毎に、ユーザ530は、入力を1つ又は複数のI/O構成要素520に提供し得、及び/又はI/O構成要素520は、データを生成し得る。たとえば、カメラ、たとえばウェブ・カメラは、その視野の映像ストリーム(ユーザを含み得る)を取得し得、マイクロフォンは、音声ストリームを取得し得、及び/又はキーボード、マウス、若しくは他の入力デバイスは、文字ストリーム又は他の入力ストリームを取得し得る。いくつかの実施例では、アプリケーションのインスタンス、AIエージェント、及び/又はその仮想環境のうちのいくつか又は全てが、仮想環境を表すグラフィカル・データの描画に対応する受信された表示データ又は画像データに基づいて、ディスプレイ522上に提示され得る。
これらの音声、映像、及び/又は文字データのストリームは、クライアント・アプリケーション516Bによって受信され得、たとえばエンコーディング後に、ホスト・デバイス506に送信され得、ホスト・デバイス506は、データを分析し、処理し得、AIエージェント・デバイス502のクライアント・アプリケーション516Aに、送信し、且つ/又は転送し得る。AIエンジン512は、クライアント・アプリケーション516Aからの映像、音声、及び/又は文字ストリームにアクセスし且つ/或いは受信し得、AIエージェントのための応答又は通信を決定するために、データを処理し得、且つ/又はレンダラ514は、対応する仮想環境への任意の更新を生成し得る。いくつかの実施例では、覚え書き、質問及び回答の会話ボックス情報、及び/又は会話型AIプラットフォームに関連付けられた他の情報が、AIエンジン512によって受信され、処理され得る。したがって、文字的、視覚的、及び/又は聴覚的な、AIエージェントの応答又は通信が決定された後、AIエージェント及び仮想環境は、それに従って更新され得、グラフィカル・データから、たとえば仮想視野或いはカメラ、マイクロフォンなどのような1つ又は複数の仮想センサから生成された、表示データ及び/又は画像データは、レンダラ514を用いてレンダリングされ得る。ストリーム・マネージャ528は、レンダリングされたデータを受信し、映像ストリーム、音声ストリーム、文字ストリーム、及び/又はそのエンコードされた表現を発生させ、この情報をクライアント・アプリケーション516Aに提供し得る。いくつかの実施例では、ストリーム・マネージャ528は、公開同報通信ソフトウェア(OBS:open broadcasting software)によって提供される仮想カメラ機能のような、任意の好適な仮想カメラ・ソフトウェアを活用し得る。結果として、AIエージェントが現実のエンティティ、たとえばユーザ530でないにもかかわらず、クライアント・アプリケーション516Aは、まるで他の任意のユーザ・デバイス504によって生成されたような、AIエージェントを表現する映像、音声、及び/又は文字ストリームを受信し得る。したがって、クライアント・アプリケーション516A、クライアント・アプリケーション516B、及び/又はホスト・アプリケーション526は、AIエージェントが存在するという認識を必要としなくてもよく、たとえばAIエージェント・デバイス502は、ホスト・デバイス506によって、別のユーザ・デバイス504として扱われ得る。ホスト・アプリケーション526の1つ又は複数の既存のAPIを用いたクライアント・アプリケーション516の通信が、AIエージェントを実施するために十分であり得るので、AIエージェント・デバイス502及びその特徴及び機能は、AIエージェントに対応するAPIへの要求なしに、任意の会話型AIプラットフォームに適用され得る。
ホスト・デバイス506は次に、AIエージェントに対応する映像、音声、及び/又は文字ストリームを分析し、処理し、ユーザ・デバイス504に、送信し、及び/又は転送し得、クライアント・アプリケーション516Bは、ディスプレイを介したデータの表示及び/又はI/O構成要素520介したデータ出力(たとえば、音声データ)をもたらし得る。
この処理は、AIエージェントが表示される又は提示されることになる場合の間、たとえば全期間、アクティブ化基準が満足されたわずか後及び所与の対話が完了するまで、アクティブ化基準満足された後の残りの時間、AIエージェントが会議から離れること又は除外されることを求められるまでなど、継続し得る。
実例のコンピュータ・デバイス
図6は、本開示のいくつかの実施例を実施するように用いるのに適したコンピュータ・デバイス600の実例のブロック図である。コンピュータ・デバイス600は、以下のデバイス、メモリ604、1つ又は複数の中央処理装置(CPU:central processing unit)606、1つ又は複数のグラフィック処理ユニット(GPU)608、通信インターフェース610、入出力(I/O)ポート612、入出力構成要素614、電源616、1つ又は複数の提示構成要素618(たとえば、ディスプレイ)、及び1つ又は複数の論理演算装置620、を直接的に又は間接的に結合する、相互接続システム602を含み得る。少なくとも1つの実施例では、コンピュータ・デバイス600は、1つ又は複数の仮想機械(VM:virtual machine)を備え得、且つ/又はその構成要素のうちの任意のものは、仮想構成要素(たとえば、仮想ハードウェア構成要素)を備え得る。非限定的な実例として、GPU608のうちの1つ又は複数は、1つ又は複数のvGPUを備え得、CPU606のうちの1つ又は複数は、1つ又は複数のvCPUを備え得、且つ/又は論理演算装置620のうちの1つ又は複数は、1つ又は複数の仮想論理演算装置を備え得る。したがって、コンピュータ・デバイス600は、個別構成要素(たとえば、コンピュータ・デバイス600専用の完全なGPU)、仮想構成要素(たとえば、コンピュータ・デバイス600専用のGPUの一部分)、又はその組合せを含み得る。
図6の多様なブロックが、相互接続システム602を介して線で接続されているように示されているが、これは限定されることを意図されておらず、単に明確化のためである。たとえば、いくつかの実施例では、表示デバイスなどの提示構成要素618は、I/O構成要素614と見なされ得る(たとえば、ディスプレイがタッチ画面である場合)。別の実例として、CPU606及び/又はGPU608は、メモリを含み得る(たとえば、メモリ604は、GPU608、CPU606、及び/又は他の構成要素のメモリに付加された記憶デバイスを表し得る)。即ち、図6のコンピュータ・デバイスは、単なる例示的なものである。「ワークステーション」、「サーバ」、「ラップトップ」、「デスクトップ」、「タブレット」、「クライアント・デバイス」、「モバイル・デバイス」、「ハンド・ヘルド・デバイス」、「ゲーム・コンソール」、「電子制御装置(ECU:electronic control unit)」、「仮想現実システム」、及び/又は他のデバイス若しくはシステムのタイプのようなカテゴリ間での区別はなされず、全てが、図6のコンピュータ・デバイスの範囲内にあると意図されている。
相互接続システム602は、アドレス・バス、データ・バス、コントロール・バス、又はその組合せのような、1つ又は複数のリンク又はバスを表し得る。相互接続システム602は、業界標準アーキテクチャ(ISA:industry standard architecture)バス、拡張業界標準アーキテクチャ(EISA:extended industry standard architecture)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:video electronics standards association)バス、周辺構成要素相互接続(PCI:peripheral component interconnect)バス、周辺構成要素相互接続エクスプレス(PCIe:peripheral component interconnect express)バス、及び/又は別のタイプのバス若しくはリンクのような、1つ又は複数のバス又はリンクのタイプを含み得る。いくつかの実施例では、構成要素間の直接接続が存在する。一実例として、CPU606は、メモリ604に直接接続され得る。さらに、CPU606は、GPU608に直接接続され得る。構成要素間に直接又は二地点間の接続が存在する場合、相互接続システム602は、接続を実施するために、PCIeリンクを含み得る。これらの実例では、PCIバスは、コンピュータ・デバイス600に含まれることを必要としない。
メモリ604は、種々のコンピュータ可読媒体のうちの任意のものを含み得る。コンピュータ可読媒体は、コンピュータ・デバイス600によってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータ可読媒体は、揮発性及び不揮発性媒体の両方であり得、取り外し可能な及び取り外し不可能な媒体の両方であり得る。実例を挙げると、限定されないが、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含み得る。
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、及び/又は他のデータのタイプのような任意の情報記憶方法又は技術で実施される、揮発性及び不揮発性媒体の両方及び/又は取り外し可能な及び取り外し不可能な媒体の両方を、含み得る。たとえば、メモリ604は、コンピュータ可読命令(たとえば、オペレーティング・システムのようなプログラム及び/又はプログラム構成要素に相当する)を記憶し得る。コンピュータ記憶媒体は、限定はされないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD:digital versatile disk)又は他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、或いは所望される情報を記憶するために使用され得、コンピュータ・デバイス600によってアクセスされ得る、他の任意の媒体を含み得る。本明細書で用いられるように、コンピュータ記憶媒体は、信号それ自体は含まない。
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、及び/又は搬送波又は他の伝送機構のような変調データ信号の他のデータのタイプを具現化し得、任意の情報送達媒体を含む。用語「変調データ信号」は、信号内の情報をエンコードするように設定又は変更された、その特性のうちの1つ又は複数を有する、信号を指し得る。実例を挙げると、限定されないが、コンピュータ記憶媒体は、有線ネットワーク又は直接有線接続のような有線媒体、並びに音響、RF、赤外線及び他の無線媒体のような無線媒体を含み得る。上記のうちの任意のものの組合せが、コンピュータ可読媒体の範囲内にさらに含まれるであろう。
CPU606は、本明細書で説明される1つ又は複数の方法及び/若しくは処理を遂行するために、コンピュータ・デバイス600の1つ又は複数の構成要素を制御するために、少なくともコンピュータ可読命令のいくつかを実行するように構成され得る。CPU606は、多数のソフトウェアのスレッドを同時に取り扱うことが可能な1つ又は複数のコア(たとえば、1つの、2つの、4つの、8つの、28の、72の、など)を各々含み得る。CPU606は、任意のタイプのプロセッサを含み得、実装されるコンピュータ・デバイス600のタイプにより(モバイル・デバイスにはより少ないコアを有するプロセッサを、サーバにはより多くのコアを有するプロセッサを)、異なるタイプのプロセッサを含み得る。たとえば、コンピュータ・デバイス600のタイプにより、プロセッサは、縮小命令セット・コンピューティング(RISC:Reduced Instruction Set Computing)を使用して実装されるアーム(ARM:Advanced RISC Machines)プロセッサ又は複合命令セット・コンピューティング(CISC:Complex Instruction Set Computing)を使用して実装されるx86プロセッサであり得る。コンピュータ・デバイス600は、1つ又は複数のマイクロプロセッサ若しくは数値演算コプロセッサのような補助コプロセッサに加えて、1つ又は複数のCPU606を含み得る。
CPU606に加えて又はその別法として、GPU608は、本明細書で説明される1つ又は複数の方法及び/若しくは処理を遂行するために、コンピュータ・デバイス600の1つ又は複数の構成要素を制御するために、コンピュータ可読命令のうちの少なくともいくつかを実行するように構成され得る。GPU608のうちの1つ又は複数は、統合されたGPU(たとえば、CPU606のうちの1つ又は複数を有する)であり得、且つ/又はGPU608のうちの1つ又は複数は、個別のGPUであり得る。実施例では、GPU608のうちの1つ又は複数は、コプロセッサのCPU606のうちの1つ又は複数であり得る。GPU608は、グラフィックス(たとえば、3Dグラフィックス)をレンダリングするために又は汎用コンピュータ計算を遂行するために、コンピュータ・デバイス600によって使用され得る。たとえば、GPU608は、GPU上での汎用コンピュータ計算(GPGPU:General-Purpose computing on GPU)のために使用され得る。GPU608は、数百又は数千のソフトウェア・スレッドを同時に取り扱うことが可能な、数百又は数千のコアを含み得る。GPU608は、レンダリング司令(たとえば、CPU606からホスト・インターフェースを介して受信されるレンダリング司令)に応答して、出力画像のための画素データを生成し得る。GPU608は、画素データ又はGPGPUデータのような他の任意の好適なデータを記憶するための、ディスプレイ・メモリのようなグラフィックス・メモリを含み得る。ディスプレイ・メモリは、メモリ604の構成要素として含まれ得る。GPU608は、並列に(たとえば、リンクを介して)運転する2つ以上のGPUを含み得る。リンクは、GPUを直接接続し得(たとえば、NVLINKを使用して)又はスイッチを通してGPUを接続し得る(たとえば、NVSwitchを使用して)。組み合わされた場合、各GPU608は、異なる出力の一部分又は異なる出力のための画素データ又はGPGPUデータを生成し得る(たとえば、第1の画像のための第1のGPU及び第2の画像のための第2のGPU)。各GPUは、それ自体のメモリを含み得、他のGPUとメモリを共有し得る。
CPU606及び/又はGPU608に加えて或いは別法として、論理演算装置620は、本明細書で説明される方法及び/若しくは処理のうちの1つ又は複数を遂行するために、コンピュータ・デバイス600の1つ又は複数の構成要素を制御するために、コンピュータ可読命令のうちの少なくともいくつかを実行するように構成され得る。実施例では、CPU606、GPU608、及び/又は論理演算装置620は、方法、処理、及び/又はその一部分の任意の組合せを、個別に又は一緒に遂行し得る。論理演算装置620のうちの1つ又は複数は、CPU606及び/又はGPU608のうちの1つ又は複数の構成要素及び/又は統合されたものであり得、且つ/或いは論理演算装置620のうちの1つ又は複数は、個別の構成要素であり得、又はそうでなければCPU606及び/若しくはGPU608の外部にあり得る。実施例では、論理演算装置620のうちの1つ又は複数は、CPU606のうちの1つ又は複数及び/或いはGPU608のうちの1つ又は複数のコプロセッサであり得る。
論理演算装置620の実例は、1つ又は複数の処理コア及び/又はデータ処理ユニット(DPU:Data Processing Unit)、テンソル・コア(TC:Tensor Core)、テンソル処理ユニット(TPU:Tensor Processing Unit)、画素視覚的コア(PVC:Pixel Visual Core)、視覚処理ユニット(VPU:Vision Processing Unit)、グラフィックス処理クラスタ(GPC:Graphics Processing Cluster)、質感処理クラスタ(TPC:Texture Processing Cluster)、ストリーミング・多重プロセッサ(SM:Streaming Multiprocessor)、木の走査ユニット(TTU:Tree Traversal Unit)、人工知能アクセラレータ(AIA:Artificial Intelligence Accelerators)、深層学習アクセラレータ(DLA:Deep Learning Acceleratoe)、算術論理演算装置(ALU:Arithmetic-Logic Unit)、特定用途向け集積回路(ASIC:Application-Specific Integrated Circuit)、浮動小数点ユニット(FPU:Floating Point Unit)、入出力(I/O)構成要素、周辺構成要素相互接続(PCI:peripheral component interconnect)若しくは周辺構成要素相互接続エクスプレス(PCIe)構成要素、及び/又は同様のもののような、その構成要素を含み得る。
通信インターフェース610は、コンピュータ・デバイス600が有線及び/又は無線通信が含まれる電子通信ネットワークを介して、他のコンピュータ・デバイスと通信することを可能にする、1つ又は複数の受信機、送信機、及び/又は送受信機を含み得る。通信インターフェース610は、無線ネットワーク(たとえば、Wi-Fi、Z-Wave、ブルートゥース、ブルートゥースLE、ZigBeeなど)、有線ネットワーク(たとえば、イーサネット(登録商標)又はインフィニバンドを通じた通信)、低出力広域ネットワーク(たとえば、LoRaWAN、SigFoxなど)及び/又はインターネットのような、いくつかの異なるネットワークのうちの任意のものを通じて通信を可能にするために、構成要素及び機能を含み得る。1つ又は複数の実施例では、論理演算装置620及び/又は通信インターフェース610は、ネットワークを通じて受信される且つ/又は相互接続システム602を通して1つ又は複数のGPU608に(たとえば、そのメモリに)、直接データを送信するために、1つ又は複数のデータ処理ユニット(DPU)を含み得る。
I/Oポート612は、コンピュータ・デバイス600がI/O構成要素614、提示構成要素618、及び/又はそのうちのいくつかがコンピュータ・デバイス600に内蔵され得る(たとえば、内部統合される)、他の構成要素を含む他のデバイスと論理的に結合されることを可能にし得る。例示的なI/O構成要素614は、マイクロフォン、マウス、キーボード、ジョイスティック、ゲームパッド、ゲーム・コントローラ、パラボラ・アンテナ、スキャナ、プリンタ、無線デバイスなどを含む。I/O構成要素614は、エア・ジェスチャ、音声、又はユーザによって生成される他の生理学的入力を処理する、自然なユーザ・インターフェース(NUI:natural user interface)を提供し得る。いくつかのインスタンスでは、入力は、さらなる処理のために適切なネットワーク構成要素に送信され得る。NUIは、音声認識、スタイラス認識、顔認識、バイオメトリック認識、画面上及び画面近傍両方でのジェスチャ認識、エア・ジェスチャ、頭及び目の追跡、並びにコンピュータ・デバイス600のディスプレイに関連付けられたタッチ認識(より詳細に後述するような)のうちの任意の組合せを実施し得る。コンピュータ・デバイス600は、ジェスチャ検出及び認識のための、ステレオ・カメラ・システム、赤外線カメラ・システム、RGBカメラ・システム、タッチスクリーン技術、及びこれらの組合せのような、深さカメラを含み得る。さらに、コンピュータ・デバイス600は、動作検出を可能にする、加速度計又はジャイロスコープ(たとえば、慣性測定ユニット(IMU)の構成要素として)を含み得る。いくつかの実例では、加速度計又はジャイロスコープの出力は、没入できる拡張現実又は仮想現実をレンダリングするために、コンピュータ・デバイス600によって用いられ得る。
電力供給源616は、配線によって接続される電力供給源、電池電力供給源、又はその組合せを含み得る。電力供給源616は、コンピュータ・デバイス600の構成要素の動作を可能にするために、コンピュータ・デバイス600に電力を供給し得る。
提示構成要素618は、ディスプレイ(たとえば、モニタ、タッチ画面、テレビ画面、ヘッド・アップ・ディスプレイ(HUD)、他のディスプレイのタイプ、又はその組合せ)、スピーカ、及び/又は他の提示構成要素を含み得る。提示構成要素618は、他の構成要素(たとえば、GPU608、CPU606、DPUなど)からデータを受信し、データを出力し得る(たとえば、画像、映像、音声として)。
実例のデータ・センタ
図7は、本開示の少なくとも1つの実施例で使用され得る、実例のデータ・センタ700を示す。データ・センタ700は、データ・センタ・インフラストラクチュア層710、フレームワーク層720、ソフトウェア層730、及び/又はアプリケーション層740を含み得る。
図7に示すように、データ・センタ・インフラストラクチュア層710は、資源オーケストレータ712、グループ化されたコンピュータ資源714、及びノード・コンピュータ資源(「ノードC.R.」)716(1)~716(N)を含み得、ここで、「N」は、任意の完全な正の整数を表す。少なくとも1つの実施例でノードC.R.716(1)~716(N)は、それだけに限定されないが、任意の数の中央処理装置(CPU)又は他のプロセッサ(DPUアクセラレータ、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)、グラフィックス・プロセッサ又はグラフィック処理ユニット(GPU)など)、メモリ・デバイス(たとえば、動的読み出し専用メモリ)、記憶デバイス(たとえば、ソリッド・ステート・ドライブ又はディスク・ドライブ)、ネットワーク入出力(NW I/O:network input/output)デバイス、ネットワーク・スイッチ、仮想機械(VM)、電力モジュール、及び/或いは冷却モジュール、などを含み得る。いくつかの実施例では、ノードC.R.716(1)~716(N)のうちの1つ又は複数のノードC.R.は、上記のコンピュータ資源のうちの1つ又は複数を有するサーバに相当する。加えて、いくつかの実施例では、ノードC.R.716(1)~7161(N)は、vGPU、vCPU、及び/又は同様のもののような、1つ又は複数の仮想構成要素を含み得、且つ/或いはノードC.R.716(1)~716(N)のうちの1つ又は複数は、仮想機械(VM)に相当し得る。
少なくとも1つの実施例では、グループ化されたコンピュータ資源714は、様々な地理的位置(図示せず)にあるデータ・センタ内に収容された、1つ又は複数のラック(やはり図示せず)内に、又は多数のラック内に、収容されたノードC.R.716の個別のグループを含み得る。グループ化されたコンピュータ資源714内のノードC.R.716の個別のグループは、1つ又は複数の作業負荷を支援するように構成された又は割り当てられ得た、グループ化された計算、ネットワーク、メモリ又は記憶資源を含み得る。少なくとも1つの実施例では、CPU、GPU、DPU、及び/又は他のプロセッサを含む、いくつかのノードC.R.716は、1つ又は複数の作業負荷を支援するためにコンピュータ資源を提供するために、1つ又は複数のラック内でグループ化され得る。1つ又は複数のラックは、任意の数の出力モジュール、冷却モジュール、及び/又はネットワーク・スイッチを任意の組合せで、やはり含み得る。
資源オーケストレータ712は、1つ又は複数のノードC.R.716(1)~716(N)及び/又はグループ化されたコンピュータ資源714を構成し得、或いはそうでなければ制御し得る。少なくとも1つの実施例では、資源オーケストレータ712は、データ・センタ700のために、ソフトウェア設計インフラストラクチュア(SDI:software design infrastructure)マネージメント・エンティティを含み得る。資源オーケストレータ712は、ハードウェア、ソフトウェア、又はいくつかのその組合せを含み得る。
少なくとも1つの実施例では、図7に示すように、フレームワーク層720は、ジョブ・スケジューラ732、構成マネージャ734、資源マネージャ736、及び/又は分散ファイル・システム738を含み得る。フレームワーク層720は、ソフトウェア層730のソフトウェア732を、及び/又はアプリケーション層740の1つ又は複数のアプリケーション742を支援するために、フレームワークを含み得る。ソフトウェア732又はアプリケーション742は、アマゾン・ウェブ・サービス、グーグル・クラウド及びマイクロソフト・アジュールによって提供されているような、ウェブベースのサービス・ソフトウェア又はアプリケーションをそれぞれ含み得る。フレームワーク層720は、限定はされないが、大規模データ処理(たとえば、「ビッグ・データ」)のための分散ファイル・システム738を使用し得る、Apache Spark(商標)(以下「Spark」と記す)のような、無料でオープン・ソース・タイプのソフトウェア・ウェブ・アプリケーション・フレームワークであり得る。少なくとも1つの実施例では、ジョブ・スケジューラ732は、データ・センタ700の様々な層によって支援される作業負荷の計画を容易にするために、Sparkドライバを含み得る。構成マネージャ734は、大規模データ処理を支援するためのSpark及び分散ファイル・システム738を含む、ソフトウェア層730及びフレームワーク層720のような、異なる層を構成することが可能であり得る。資源マネージャ736は、分散ファイル・システム738及びジョブ・スケジューラ732の支援のために、マッピングされ又は割り当てられた、クラスタリングされ又はグループ化されたコンピュータ資源を、管理する能力を有し得る。少なくとも1つの実施例では、クラスタリングされ又はグループ化されたコンピュータ資源は、データ・センタ・インフラストラクチュア層710でグループ化されたコンピュータ資源714を含み得る。資源マネージャ736は、これらのマッピングされた又は割り当てられたコンピュータ資源を管理するために、資源オーケストレータ712と協調し得る。
少なくとも1つの実施例では、ソフトウェア層730に含まれるソフトウェア732は、ノードC.R.716(1)~716(N)、グループ化されたコンピュータ資源714、及び/又はフレームワーク層720の分散ファイル・システム738のうちの少なくとも一部によって使用されるソフトウェアを含み得る。1つ又は複数のタイプのソフトウェアは、それだけに限定されないが、インターネット・ウェブ・ページ検索ソフトウェア、eメールのウィルス・スキャン・ソフトウェア、データベース・ソフトウェア、及びストリーミング映像コンテンツ・ソフトウェアを含み得る。
少なくとも1つの実施例では、アプリケーション層740に含まれるアプリケーション742は、ノードC.R.716(1)~716(N)、グループ化されたコンピュータ資源714、及び/又はフレームワーク層720の分散ファイル・システム738のうちの少なくとも一部によって使用される1つ又は複数のタイプのアプリケーションを含み得る。1つ又は複数のタイプのアプリケーションは、それだけに限定されないが、任意の数のゲノミクス・アプリケーション、認識コンピュータ処理、及びトレーニング又は推定ソフトウェア、機械学習フレームワーク・ソフトウェア(たとえば、PyTorch、TensorFlow、Caffeなど)、並びに/或いは1つ又は複数の実施例と併せて用いられる他の機械学習アプリケーションを含む、機械学習アプリケーションを含み得る。
少なくとも1つの実施例では、構成マネージャ734、資源マネージャ736、及び資源オーケストレータ712のうちの任意のものは、任意の数及びタイプの自己修正作業を、任意の技術的に実現可能な様式で取得された任意の量及びタイプのデータに基づいて、実施し得る。自己修正作業は、データ・センタ700のデータ・センタ・オペレータが、悪い構成決断をできる限りなさないように援助し得、データ・センタの十分に活用しきらない且つ/又は不十分な遂行する部分をできる限り回避する。
データ・センタ700は、1つ又は複数の機械学習モデルをトレーニングするために、或いは本明細書で説明した1つ又は複数の実施例の通りに、1つ又は複数の機械学習モデルを用いて、情報を予測又は推測するために、ツール、サービス、ソフトウェア又は他の資源を含み得る。たとえば、機械学習モデルは、データ・センタ700に関して上述した、ソフトウェア及び/又はコンピュータ資源を使用するニューラル・ネットワーク・アーキテクチャに応じて重みパラメータを計算することによって、トレーニングされ得る。少なくとも1つの実施例では、1つ又は複数のニューラル・ネットワークに対応する、トレーニングされ又は配置された機械学習モデルは、それだけには限らないが、本明細書で説明したもののような、1つ又は複数のトレーニング技術を通して計算された、重みパラメータを用いることによって、データ・センタ700に関して上述した資源を使用して、情報を推測し又は予測するために、使用され得る。
少なくとも1つの実施例では、データ・センタ700は、上述の資源を使用してトレーニング及び/又は推定することを実施するために、CPU、特定用途向け集積回路(ASIC)、GPU、FPGA、及び/又は他のハードウェア(又はそれに相当する仮想コンピュータ資源)を使用し得る。さらに、上述した1つ又は複数のソフトウェア及び/又はハードウェア資源は、ユーザが、画像認識、音声認識、又は他の人工知能サービスのような、情報の推定をトレーニング又は実施できるようにする、サービスとして構成され得る。
実施例のネットワーク環境
本開示の実施例を実施中の使用に適したネットワーク環境は、1つ又は複数のクライアント・デバイス、サーバ、ネットワーク接続ストレージ(NAS)、他のバックエンド・デバイス、及び/又は他のデバイスのタイプを含み得る。クライアント・デバイス、サーバ、及び/又は他のデバイスのタイプ(たとえば、各デバイス)は、図6のコンピュータ・デバイス600の1つ又は複数のインスタンスで実施され得、たとえば、各デバイスは、コンピュータ・デバイス600同等の構成要素、特徴、及び/又は機能を含み得る。加えて、バックエンド・デバイス(たとえば、サーバ、NASなど)が実装される場合、バックエンド・デバイスは、データ・センタ700の構成要素として含まれ得、その実例は、図7に関して本明細書で詳述されている。
ネットワーク環境の構成要素は、有線、無線、又は両方であり得るネットワークを介して、互いに通信し得る。ネットワークは、複数のネットワーク、又はネットワークのネットワークを含み得る。実例として、ネットワークは、1つ又は複数の広域ネットワーク(WAN)、1つ又は複数のローカル・エリア・ネットワーク(LAN)、インターネットのような1つ又は複数のパブリック・ネットワーク、及び/又は公衆交換電話網(PSTN)、並びに/或いは1つ又は複数のプライベート・ネットワークを含み得る。ネットワークが無線電気通信ネットワークを含む場合、基地局、通信タワー、又はさらにアクセス・ポイントのような構成要素は(他の構成要素と同様に)、無線接続性を提供し得る。
互換性のあるネットワーク環境が、1つ又は複数のピア・トゥ・ピア・ネットワーク環境を含み得、その場合サーバはネットワーク環境に含まれなくてもよく、且つ1つ又は複数のクライアント・サーバ・ネットワーク環境を含み得、その場合1つ又は複数のサーバはネットワーク環境に含まれ得る。ピア・トゥ・ピア・ネットワーク環境では、サーバに関して本明細書で説明される機能は、任意の数のクライアント・デバイス上に実装され得る。
少なくとも1つの実施例では、ネットワーク環境は、1つ又は複数のクラウド・ベースのネットワーク環境、分散化されたコンピュータ環境、その組合せなどを含み得る。クラウド・ベースのネットワーク環境は、1つ又は複数のコア・ネットワーク・サーバ及び/又はエッジ・サーバを含み得る、サーバのうちの1つ又は複数上に実装された、フレームワーク層、ジョブ・スケジューラ、資源マネージャ、及び分散ファイル・システムを含み得る。フレームワーク層は、ソフトウェア層のソフトウェアを、及び/又はアプリケーション層の1つ又は複数のアプリケーションを支援するために、フレームワークを含み得る。ソフトウェア又はアプリケーションは、ウェブベースのサービス・ソフトウェア又はアプリケーションをそれぞれ含み得る。実施例では、クライアント・デバイスのうちの1つ又は複数は、ウェブベースのサービス・ソフトウェア又はアプリケーションを使用し得る(たとえば、1つ又は複数のアプリケーション・プログラム・インターフェース(API)を介して、サービス・ソフトウェア及び/又はアプリケーションにアクセスすることによって)。フレームワーク層は、限定はされないが、大規模データ処理(たとえば、「ビッグ・データ」)のための分散ファイル・システムを使用し得るような、無料でオープン・ソース・タイプのソフトウェア・ウェブ・アプリケーション・フレームワークであり得る。
クラウド・ベースのネットワーク環境は、本明細書で(又はその1つ又は複数の部分で)説明されたコンピュータ処理及び/又はデータ記憶機能のうちの任意の組合せを実行する、クラウド・コンピューティング及び/又はクラウド・ストレージを提供し得る。これらの多様な機能のうちの任意のものは、中央又はコア・サーバ(たとえば、州、地域、国、世界などにまたがって分散され得る1つ又は複数のデータ・センタの)から、複数の位置にわたって分散され得る。ユーザ(たとえば、クライアント・デバイス)への接続が比較的エッジ・サーバに近接している場合、コア・サーバは、機能の少なくとも一部分をエッジ・サーバに指定し得る。クラウド・ベースのネットワーク環境は、専用であり得(たとえば、単一の組織に限定された)、公開であり得(たとえば、多くの組織が利用可能な)、且つ/又はその組合せであり得る(たとえば、ハイブリッドのクラウド環境)。
クライアント・デバイスは、図6に関して本明細書で説明された、実例のコンピュータ・デバイス600の、少なくとものいくつかの構成要素、特徴、及び機能を含み得る。実例を挙げると、限定されないが、クライアント・デバイスは、パーソナル・コンピュータ(PC:Personal Computer)、ラップトップ・コンピュータ、モバイル・デバイス、スマートフォン、タブレット・コンピュータ、スマート・ウォッチ、装着型コンピュータ、パーソナル・デジタル・アシスタント(PDA:Personal Digital Assistant)、MP3再生装置、仮想現実ヘッドセット、全地球測位システム(GPS)又はデバイス、ビデオ再生装置、ビデオ・カメラ、監視デバイス又はシステム、車両、ボート、飛行船、仮想機械、ドローン、ロボット、ハンドヘルド通信デバイス、病院デバイス、ゲーミング・デバイス又はシステム、娯楽システム、車両コンピュータ・システム、埋め込みシステムコントローラ、遠隔制御、アプライアンス、家庭用電子デバイス、ワークステーション、エッジ・デバイス、これらの記述されたデバイスの任意の組合せ、或いは他の任意の好適なデバイスとして、具現化され得る。
本開示は、パーソナル・データ・アシスタント又は他のハンド・ヘルド・デバイスのような、コンピュータ又は他の機械によって実行される、プログラム・モジュールのようなコンピュータ実行可能命令を含む、コンピュータ・コード又は機械使用可能な命令の一般的な文脈で記述され得る。通常、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む、プログラム・モジュールは、特定のタスクを遂行する又は特定の抽象データ・タイプを実施する、コードを指す。本開示は、ハンド・ヘルド・デバイス、家電製品、汎用コンピュータ、より特殊なコンピュータ・デバイスなどを含む、種々のシステム構成で、実践され得る。本開示は、タスクが、通信ネットワークを通して結合された、遠隔処理デバイスによって遂行される、分散化されたコンピュータ環境で、やはり実践され得る。
本明細書で使用されるように、2つ以上の構成要素に関して「及び/又は」の詳述は、1つのだけの構成要素、又は構成要素の組合せを意味すると、解釈されるべきである。たとえば、「構成要素A、構成要素B、及び/又は構成要素C」は、構成要素Aのみ、構成要素Bのみ、構成要素Cのみ、構成要素A及び構成要素B、構成要素A及び構成要素C、構成要素B及び構成要素C、又は構成要素A、B、及びCを含み得る。加えて、「構成要素A又は構成要素Bのうちの少なくとも1つ」は、構成要素Aのうちの少なくとも1つ、構成要素Bのうちの少なくとも1つ、又は構成要素Aのうちの少なくとも1つ及び構成要素Bのうちの少なくとも1つを含み得る。さらに、「構成要素A及び構成要素Bのうちの少なくとも1つ」は、構成要素Aのうちの少なくとも1つ、構成要素Bのうちの少なくとも1つ、又は構成要素Aのうちの少なくとも1つ及び構成要素Bのうちの少なくとも1つを含み得る。
本開示の主題は、法定の要件を満足するために、本明細書での特殊性と共に記述されている。しかしながら、記述自体は、本開示の範囲を限定するものではない。むしろ、発明者らは、他の存在又は将来の技術と併せて、本文書内に記述されたものに類似した異なるステップ又はステップの組合せを含めるために、特許請求する主題が、他の方法でさらに具現化され得ることを意図してきた。また、用語「ステップ」及び/又は「ブロック」は、利用される異なる方法の構成要素を暗示するために、本明細書では用いられ得、本用語は、個々のステップの順序が明示的に記述されている場合でない限り及びその場合を除いて、本明細書で開示された様々なステップ間での任意の特定の順序を意味するものとして解釈されるべきでない。

Claims (20)

  1. 会話型人工知能(AI)アプリケーションに対するクエリを表す入力データをデバイスから取得し、
    前記クエリに関連付けられたインテント及び1つ又は複数のスロットを決定し、
    前記1つ又は複数のスロットのうちの少なくとも1つのスロットに関連付けられたデータを構造化データ構造の第1の検索が返せなかったことの結果として、質問応答モデルに非構造化データ構造の第2の検索を実行させ、
    前記非構造化データ構造から取得されたデータに少なくとも部分的に基づいて前記クエリに対する応答を生成する、
    1つ又は複数の回路を備える、プロセッサ。
  2. 前記非構造化データ構造が、ユーザに関連付けられたドキュメントを含み、前記ドキュメントが、前記ユーザと前記会話型AIアプリケーションとの間の1つ又は複数の事前の対話に少なくとも部分的に基づいてデータ入力される、請求項1に記載のプロセッサ。
  3. 前記非構造化データ構造が、前記会話型AIアプリケーションとユーザとの間の対話の記録を含む、請求項1に記載のプロセッサ。
  4. 前記非構造化データ構造が、前記会話型AIアプリケーションのユーザ・セットのユーザに特有のユーザ識別に関連付けられている、請求項1に記載のプロセッサ。
  5. 前記1つ又は複数の回路が、
    前記スロットに関連付けられた前記データを前記第2の検索が返せなかったと決定し、
    前記ユーザに対して、前記スロットに関連付けられた前記データを求める要求を生成し、
    前記スロットに関連付けられた前記データを前記非構造化データ構造に記憶させる
    回路をさらに含む、請求項1に記載のプロセッサ。
  6. 前記インテントが、情報を求める要求に対応するデータを取り出すインテントを含む、請求項1に記載のプロセッサ。
  7. 前記1つ又は複数の回路が、前記非構造化データ構造を分析して前記1つ又は複数のスロットに追加する1つ又は複数のさらなるスロットを決定する回路をさらに備える、請求項1に記載のプロセッサ。
  8. 前記会話型AIアプリケーションが、会話型AIプラットフォーム、車両の車内アプリケーション、飲食物注文アプリケーション、コンピュータ支援設計(CAD)アプリケーション、カスタマ・サービス・アプリケーション、ウェブ・サービス・アプリケーション、スマート・スピーカ若しくはスマート・ディスプレイ・アプリケーション、小売アプリケーション、金融アプリケーション、又は食品サービス・アプリケーションのうちの少なくとも1つである、請求項1に記載のプロセッサ。
  9. 自律的若しくは半自律的機械のための制御システム、
    自律的若しくは半自律的機械のための認知システム、
    シミュレーション動作を実行するためのシステム、
    深層学習動作を実行するためのシステム、
    エッジ・デバイスを使用して実装されるシステム、
    ロボットを使用して実装されるシステム、
    1つ若しくは複数の仮想機械(VM)を組み込むシステム、
    データ・センタにおいて少なくとも部分的に実装されるシステム、
    3次元(3D)コンテンツ用の協調的生成プラットフォームを含むシステム、又は
    クラウド計算資源を使用して少なくとも部分的に実装されるシステム
    のうちの少なくとも1つに含まれる、請求項1に記載のプロセッサ。
  10. 会話型人工知能(AI)プラットフォームに向けられたクエリを受信し、
    前記クエリに関連付けられたタグを決定し、
    前記タグに関連付けられたデータが構造化データ構造に記憶されていないと決定し、
    前記データを非構造化データ構造から取得し、
    前記データに少なくとも部分的に基づいて前記クエリに対する応答を生成する、
    処理回路を備える、
    1つ又は複数の処理ユニットを備える、システム。
  11. 前記処理回路が、前記クエリと前記応答とを表すデータを前記非構造化データ構造にさらに記憶する、請求項10に記載のシステム。
  12. 前記クエリが自動音声認識アプリケーションから取得される、請求項10に記載のシステム。
  13. 前記応答が、テキスト発語化アルゴリズムに少なくとも部分的に基づいて生成された音声データを含む、請求項10に記載のシステム。
  14. 自律的若しくは半自律的機械のための制御システム、
    自律的若しくは半自律的機械のための認知システム、
    シミュレーション動作を実行するためのシステム、
    深層学習動作を実行するためのシステム、
    エッジ・デバイスを使用して実装されるシステム、
    ロボットを使用して実装されるシステム、
    1つ若しくは複数の仮想機械(VM)を組み込むシステム、
    データ・センタにおいて少なくとも部分的に実装されるシステム、
    3次元(3D)コンテンツ用の協調的生成プラットフォームを含むシステム、又は
    クラウド計算資源を使用して少なくとも部分的に実装されるシステム
    のうちの少なくとも1つに含まれる、請求項10に記載のシステム。
  15. ユーザと会話型人工知能(AI)エージェントとの間の対話を表すデータを非構造化データ構造に記憶するステップと、
    前記会話型AIエージェントに向けられたクエリを取得するステップと、
    前記クエリに対する応答の少なくとも一部が構造化データ構造において入手可能ではないと決定するステップと、
    前記応答の前記一部を前記非構造化データ構造から取得するステップと、
    前記非構造化データ構造から取得された前記応答の前記一部に少なくとも部分的に基づいて前記応答を生成するステップと
    を含む、方法。
  16. 前記クエリに関連付けられた領域情報を、前記非構造化データに少なくとも部分的に基づいて決定するステップをさらに含む、請求項15に記載の方法。
  17. 映像、音声、又は文字が、ユーザ・デバイスのカメラ、マイクロフォン、又は入力デバイスのうちの少なくとも1つによって生成される、請求項15に記載の方法。
  18. 前記構造化データ構造が、JavaScript(登録商標)オブジェクト表記法(JSON)データ・オブジェクトを含む、請求項15に記載の方法。
  19. 前記非構造化データ構造が、前記ユーザと会話型AIエージェントとの間の対話のセットを含むドキュメントを含む、請求項15に記載の方法。
  20. 前記応答の前記一部が、前記クエリに関連付けられた第2の領域とは別の第1の領域に関連付けられる、請求項15に記載の方法。
JP2022088245A 2022-02-17 2022-05-31 抽出質問応答を利用する会話型aiプラットフォーム Pending JP2023120130A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/674,704 2022-02-17
US17/674,704 US20230259540A1 (en) 2022-02-17 2022-02-17 Conversational ai platform with extractive question answering

Publications (1)

Publication Number Publication Date
JP2023120130A true JP2023120130A (ja) 2023-08-29

Family

ID=87430858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022088245A Pending JP2023120130A (ja) 2022-02-17 2022-05-31 抽出質問応答を利用する会話型aiプラットフォーム

Country Status (4)

Country Link
US (1) US20230259540A1 (ja)
JP (1) JP2023120130A (ja)
CN (1) CN116610777A (ja)
DE (1) DE102023102142A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021004919T5 (de) * 2020-09-21 2023-07-13 Nvidia Corporation Simulation von Blickpunkttransformationen für sensorunabhängiges Szenenverständnis in autonomen Systemen

Also Published As

Publication number Publication date
CN116610777A (zh) 2023-08-18
DE102023102142A1 (de) 2023-08-17
US20230259540A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
US20210358188A1 (en) Conversational ai platform with rendered graphical output
US10521946B1 (en) Processing speech to drive animations on avatars
US11017551B2 (en) System and method for identifying a point of interest based on intersecting visual trajectories
US11468885B2 (en) System and method for conversational agent via adaptive caching of dialogue tree
JP2020173462A (ja) コンピュータによるエージェントのための合成音声の選択
CN112204564A (zh) 经由基于集成音频和视觉的语音识别进行语音理解的***和方法
US11741949B2 (en) Real-time video conference chat filtering using machine learning models
US11308312B2 (en) System and method for reconstructing unoccupied 3D space
US10785489B2 (en) System and method for visual rendering based on sparse samples with predicted motion
US20190251350A1 (en) System and method for inferring scenes based on visual context-free grammar model
CN112204654A (zh) 用于基于预测的先发式对话内容生成的***和方法
CN109643540A (zh) 用于人工智能语音演进的***和方法
CN112204563A (zh) 用于基于用户通信的视觉场景构建的***和方法
US20230317067A1 (en) Using a natural language model to interface with a closed domain system
CN116610777A (zh) 具有提取问答的会话式ai平台
EP4102353A1 (en) Situationally aware social agent
US20230341948A1 (en) Multimodal ui with semantic events
US20240176808A1 (en) Query response generation using structured and unstructured data for conversational ai systems and applications
US20240233229A1 (en) Synthetic audio-driven body animation using voice tempo
AlTarawneh A cloud-based extensible avatar for human robot interaction
CN118113823A (zh) 使用用于会话ai***和应用的结构化和非结构化数据的查询响应生成