(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-07
(54)【発明の名称】AIシステムにおけるアクセス認証
(51)【国際特許分類】
H04Q 9/00 20060101AFI20231130BHJP
G06F 16/90 20190101ALI20231130BHJP
G06F 3/16 20060101ALI20231130BHJP
【FI】
H04Q9/00 301Z
G06F16/90 100
G06F3/16 650
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023520089
(86)(22)【出願日】2021-10-19
(85)【翻訳文提出日】2023-03-31
(86)【国際出願番号】 CN2021124523
(87)【国際公開番号】W WO2022095686
(87)【国際公開日】2022-05-12
(32)【優先日】2020-11-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】クワトラ、シカール
(72)【発明者】
【氏名】ハーディー、クリストファー、ジェイ
(72)【発明者】
【氏名】ラクシット、サルバジット ケイ
(72)【発明者】
【氏名】カウア、ガーニート
【テーマコード(参考)】
5B175
5K048
【Fターム(参考)】
5B175DA05
5B175EA01
5K048BA01
5K048BA34
5K048EB02
5K048EB14
5K048FC01
5K048GC06
(57)【要約】
人工知能システムにおけるアクセス認証が、第1のユーザの人工知能音声応答システム(AIVRS)を使用して第2のユーザの物理的存在を電子的に知覚することを含む。第1のユーザのAIVRSによって、第2のユーザのAIVRSによって格納された知識コーパスに対するアクセス権限を要求する音声要求が生成され、第2のユーザに伝達される。第2のユーザの音声応答に基づいて、第1のユーザのAIVRSが、第2のユーザのAIVRSとの電子通信セッションをインスタンス化する。第2のユーザのポータブル・デバイスとの電子通信接続を介して、セッションが開始される。第1のユーザのAIVRSによって、知識コーパスの選択された部分が第2のユーザのAIVRSから取り出される。選択された部分は音声応答に基づく。この選択された部分に基づいて、第1のユーザのAIVRSによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションが開始される。
【特許請求の範囲】
【請求項1】
第1のユーザの人工知能(AI)音声応答システムを使用して第2のユーザの物理的存在を電子的に知覚することと、
前記第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスに対するアクセス権限を要求する、前記第1のユーザのAI音声応答システムによって生成された音声要求を伝達し、前記第2のユーザから音声応答を受信することと、
前記音声応答に基づいて、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することであって、前記電子通信セッションが、前記第2のユーザのポータブル・デバイスとの電子通信接続を介して、前記第1のユーザのAI音声応答システムによって開始される、前記インスタンス化することと、
データ通信ネットワークを介して、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムから前記知識コーパスの選択された部分を取り出すことであって、前記知識コーパスの前記選択された部分が、前記第1のユーザのAI音声応答システムによって伝達された前記音声要求に対する前記第2のユーザの前記音声応答に基づいて選択される、前記取り出すことと、
前記知識コーパスの前記選択された部分に基づいて、前記第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することとを含む、コンピュータ実装方法。
【請求項2】
前記伝達することが、前記第1のユーザのAI音声応答システムによって、電子メモリに格納されたデータを検索することと、前記電子メモリに格納されたデータが、電子的に格納された以前の許可と前記知識コーパスの前記選択された部分とを欠いているということを決定することとに応答して実行される、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記電子メモリに格納されたデータが、電子的に格納された以前の許可を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記知識コーパスの選択された部分を前記取り出すことを実行することと、
前記電子メモリに格納されたデータが前記知識コーパスの前記選択された部分を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記選択された部分を前記取り出すことをやめることとをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記知覚することが、前記第1のユーザのAI音声応答システムによって第1のユーザの音声プロンプトを認識することと、前記第1のユーザのAI音声応答システムによって前記第2のユーザへの参照を識別することとを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記知覚することが、前記第1のユーザのAI音声応答システムに動作可能に結合されたIoTカメラによって捕捉された画像に基づいて、前記第2のユーザの視覚認識を実行することを含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のユーザのAI音声応答システムに通信可能に結合された第1のユーザのデバイスから前記第1のユーザのAI音声応答システムによって捕捉されたデータに基づいて、前記第1のユーザのAI音声応答システムによって第2のユーザの情報を取得することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第2のユーザからの保持プロンプトを受信せずに既定の時間間隔が経過した後に、前記第1のユーザのAI音声応答システムが、前記知識コーパスの前記取り出された選択された部分を破棄する、請求項1に記載のコンピュータ実装方法。
【請求項8】
動作を開始するように構成されたプロセッサに動作可能に結合された第1のユーザの人工知能(AI)音声応答システムを備えるシステムであって、前記動作が、
第2のユーザの物理的存在を電子的に知覚することと、
前記第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスにアクセスすることの音声要求を伝達し、前記第2のユーザから音声応答を受信することと、
前記音声応答に基づいて、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することであって、前記電子通信セッションが、前記第2のユーザのポータブル・デバイスとの電子通信接続を介して開始される、前記インスタンス化することと、
データ通信ネットワークを介して、前記第2のユーザのAI音声応答システムから前記知識コーパスの選択された部分を取り出すことであって、前記知識コーパスの前記選択された部分が、前記要求に対する前記第2のユーザの前記音声応答に基づいて選択される、前記取り出すことと、
前記知識コーパスの前記選択された部分に基づいて、前記第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することと
を含む、システム。
【請求項9】
前記伝達することが、電子メモリに格納されたデータを検索することと、前記電子メモリに格納されたデータが、電子的に格納された以前の許可と前記知識コーパスの前記選択された部分とを欠いているということを決定することとに応答して実行される、請求項8に記載のシステム。
【請求項10】
前記プロセッサが、
前記電子メモリに格納されたデータが、電子的に格納された以前の許可を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記知識コーパスの選択された部分を前記取り出すことを実行することと、
前記電子メモリに格納されたデータが前記知識コーパスの前記選択された部分を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記選択された部分を前記取り出すことをやめることとを含むさらなる動作を開始するように構成される、請求項8に記載のシステム。
【請求項11】
前記知覚することが、第1のユーザの音声プロンプトを認識することと、前記音声プロンプト内で前記第2のユーザへの参照を識別することとを含む、請求項8に記載のシステム。
【請求項12】
前記知覚することが、前記システムに動作可能に結合されたカメラによって捕捉された画像に基づいて、前記第2のユーザの視覚認識を実行することを含む、請求項8に記載のシステム。
【請求項13】
前記プロセッサが、前記システムに通信可能に結合された第1のユーザのデバイスによって捕捉されたデータに基づいて第2のユーザの情報を取得することを含む、さらなる動作を開始するように構成される、請求項8に記載のシステム。
【請求項14】
コンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、
1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ可読ストレージ媒体に集合的に格納されたプログラム命令とを備え、前記プログラム命令が、プロセッサによって実行可能であり、第1のユーザの人工知能(AI)音声応答システムに動作可能に結合され、前記プロセッサに、
第2のユーザの物理的存在を電子的に知覚することと、
前記第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスにアクセスすることの音声要求を伝達し、前記第2のユーザから音声応答を受信することと、
前記音声応答に基づいて、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することであって、前記電子通信セッションが、前記第2のユーザのポータブル・デバイスとの電子通信接続を介して開始される、前記インスタンス化することと、
データ通信ネットワークを介して、前記第2のユーザのAI音声応答システムから前記知識コーパスの選択された部分を取り出すことであって、前記知識コーパスの前記選択された部分が、前記要求に対する前記第2のユーザの前記音声応答に基づいて選択される、前記取り出すことと、
前記知識コーパスの前記選択された部分に基づいて、前記第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することと
を含む動作を開始させる、コンピュータ・プログラム製品。
【請求項15】
前記伝達することが、電子メモリに格納されたデータを検索することと、前記電子メモリに格納されたデータが、電子的に格納された以前の許可と前記知識コーパスの前記選択された部分とを欠いているということを決定することとに応答して実行される、請求項14に記載のコンピュータ・プログラム製品。
【請求項16】
前記プログラム命令が、前記プロセッサによって実行可能であり、前記プロセッサに、
前記電子メモリに格納されたデータが、電子的に格納された以前の許可を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記知識コーパスの選択された部分を前記取り出すことを実行することと、
前記電子メモリに格納されたデータが前記知識コーパスの前記選択された部分を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記選択された部分を前記取り出すことをやめることとをさらに含む動作を開始させる、請求項14に記載のコンピュータ・プログラム製品。
【請求項17】
前記知覚することが、第1のユーザの音声プロンプトを認識することと、前記音声プロンプト内で前記第2のユーザへの参照を識別することとを含む、請求項14に記載のコンピュータ・プログラム製品。
【請求項18】
前記知覚することが、別のユーザのAI音声応答システムに動作可能に結合されたカメラによって捕捉された画像に基づいて、前記第2のユーザの視覚認識を実行することを含む、請求項14に記載のコンピュータ・プログラム製品。
【請求項19】
前記プログラム命令が、前記プロセッサによって実行可能であり、前記プロセッサに、前記第1のユーザのAI音声応答システムに通信可能に結合された第1のユーザのデバイスによって捕捉されたデータに基づいて第2のユーザの情報を取得することをさらに含む動作を開始させる、請求項14に記載のコンピュータ・プログラム製品。
【請求項20】
前記プログラム命令が、前記プロセッサによって実行可能であり、前記プロセッサに、前記第2のユーザからの保持プロンプトを受信せずに既定の時間間隔が経過した後に、前記知識コーパスの前記取り出された選択された部分を破棄することをさらに含む動作を開始させる、請求項14に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータに基づくデータ交換に関し、より詳細には、人工知能を与えられたコンピュータ・システム間の安全なデータ・アクセスおよびデータ交換に関する。
【背景技術】
【0002】
米国の100万戸以上の住宅が自動化システムを備えていると推定されており、米国の住宅に設置されているスマート・デバイスの数は、間もなく5000万個を超えると予想されている。スマート・デバイスは、人工知能(AI:artificial intelligence)を与えられ、ユーザの特定の意図および嗜好に従って動作することができる。ユーザの意図および嗜好は、機械学習を使用してスマート・デバイスが取得できる知識コーパスの一部である。スマート・デバイスは、ますます、インターネットまたは他のデータ通信ネットワークを介して互いに通信し、統合された機能を調整して、モノのインターネット(IoT:Internet of Things)を形成するようになっている。
【発明の概要】
【0003】
1つまたは複数の実施形態では、方法が、第1のユーザの人工知能(AI)音声応答システムを使用して、第2のユーザの物理的存在を電子的に知覚することを含む。この方法は、第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスに対するアクセス権限を要求する、第1のユーザのAI音声応答システムによって生成された音声要求を伝達し、第2のユーザから音声応答を受信することを含む。この方法は、第1のユーザのAI音声応答システムによって、音声応答に基づいて、第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することを含み、電子通信セッションは、第2のユーザのポータブル・デバイスとの電子通信接続を介して、第1のユーザのAI音声応答システムによって開始される。この方法は、データ通信ネットワークを介して、第1のユーザのAI音声応答システムによって、第2のユーザのAI音声応答システムから知識コーパスの選択された部分を取り出すことを含み、知識コーパスの選択された部分は、第1のユーザのAI音声応答システムによって伝達された音声要求に対する第2のユーザの音声応答に基づいて選択される。この方法は、知識コーパスの選択された部分に基づいて、第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することを含む。
【0004】
1つまたは複数の実施形態では、システムは、動作を開始するように構成されたプロセッサに動作可能に結合された第1のユーザの人工知能(AI)音声応答システムを含む。これらの動作は、第2のユーザの物理的存在を電子的に知覚することを含む。これらの動作は、第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスにアクセスすることの音声要求を伝達し、第2のユーザから音声応答を受信することを含む。これらの動作は、第1のユーザのAI音声応答システムによって、音声応答に基づいて、第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することを含み、電子通信セッションは、第2のユーザのポータブル・デバイスとの電子通信接続を介して開始される。これらの動作は、データ通信ネットワークを介して、第2のユーザのAI音声応答システムから知識コーパスの選択された部分を取り出すことを含み、知識コーパスの選択された部分が、要求に対する第2のユーザの音声応答に基づいて選択される。これらの動作は、知識コーパスの選択された部分に基づいて、第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することを含む。
【0005】
1つまたは複数の実施形態では、コンピュータ・プログラム製品は、命令が格納されている1つまたは複数のコンピュータ可読ストレージ媒体を含む。これらの命令は、プロセッサによって実行可能であり、動作を開始するために第1のユーザの人工知能(AI)音声応答システムに動作可能に結合される。これらの動作は、第2のユーザの物理的存在を電子的に知覚することを含む。これらの動作は、第2のユーザの人工知能(AI)音声応答システムによって電子的に格納された知識コーパスにアクセスすることの音声要求を伝達し、第2のユーザから音声応答を受信することを含む。これらの動作は、第1のユーザの音声応答システムによって、音声応答に基づいて、第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することを含み、電子通信セッションは、第2のユーザのポータブル・デバイスとの電子通信接続を介して開始される。これらの動作は、データ通信ネットワークを介して、第2のユーザのAI音声応答システムから知識コーパスの選択された部分を取り出すことを含み、知識コーパスの選択された部分が、要求に対する第2のユーザの音声応答に基づいて選択される。これらの動作は、知識コーパスの選択された部分に基づいて、第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することを含む。
【0006】
この「発明の概要」セクションは、単に特定の概念を導入するために提供されており、特許請求される主題のいずれかの重要な特徴または本質的な特徴を識別するために提供されているのではない。本発明の構成の他の特徴は、添付の図面から、および以下の詳細な説明から明らかになる。
【0007】
本発明の構成は、例として添付の図面に示されている。しかし、これらの図面は、示された特定の実装のみへの本発明の構成の制限であると解釈されるべきではない。さまざまな態様および利点が、以下の詳細な説明を再検討し、図面を参照したときに、明らかになる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に従って、AI音声応答システムが動作可能である例示的なコンピューティング環境を示す図であり、インテリジェントな仮想的支援に、リモートに格納された知識コーパスに安全にアクセスするための能力が与えられる。
【
図2】実施形態に従って、1つのAI音声応答システムを使用して、別のAI音声応答システムによって生成された知識コーパスに安全にアクセスする方法のフローチャートである。
【
図3】実施形態に従って、クラウド・コンピューティング環境を示す図である。
【
図4】実施形態に従って、抽象モデル・レイヤを示す図である。
【
図5】実施形態に従って、クラウド・コンピューティング・ノードを示す図である。
【
図6】実施形態に従って、例示的なポータブル・デバイスを示す図である。
【発明を実施するための形態】
【0009】
本開示は、新しい特徴を定義する特許請求の範囲で締めくくるが、本開示内で説明されるさまざまな特徴は、図面と共に説明を検討することによって、よりよく理解されると考えられる。本明細書に記載されたプロセス、機械、製造、およびこれらの任意の変形は、例示の目的で提供されている。本開示内で説明される特定の構造および機能の詳細は、制限として解釈されるべきではなく、単に特許請求の範囲の基礎として、および実質的に任意の適切に詳細な構造において、説明された特徴をさまざまに採用するように、当業者に教えるための代表的な基礎として、解釈されるべきである。さらに、本開示内で使用される用語および語句は、制限となるよう意図されておらず、説明される特徴の理解可能な記述を提供するよう意図されている。
【0010】
本開示は、コンピュータに基づくデータ交換に関連しており、より詳細には、人工知能を与えられたコンピュータ・システム間の安全なデータ・アクセスおよびデータ交換に関連している。
【0011】
個別のデバイスからIoTに統合された複数のデバイスに及ぶさまざまな種類の自動化されたシステムおよびデバイスが、ますますAIを与えられるようになっている。インテリジェント仮想アシスタントおよびチャットボットは、例えば、人間とコンピュータの間のインターフェースを作成するために、言語構造および意味が人間の発話から機械によって決定され得る自然言語理解(NLU:natural language understanding)を実装する。
【0012】
AI音声応答システムは、音声、テキスト、または音声からテキストへ、あるいはその組み合わせのプロンプトおよびコマンドを認識して実行し、音声対応のAIシステムを制御するため、および情報の問い合わせに応答するために、知識コーパスに依存する。本明細書において定義されるとき、「知識コーパス」は、個人の意図および嗜好を表す構文および意味を有する単語、語句、および文の集合を含んでいるデータ構造である。意図および嗜好は、それぞれ、デバイスにアクションを実行させるための言語(音声またはテキスト)コマンド、およびデバイスがアクションを実行するための好ましい方法に対応する。例えば、「Billに、彼が好む方法で1杯のコーヒーを用意する」などの言語発話は、自動コーヒーメーカが1杯のコーヒーを用意するというコマンド、およびBillの好み(例えば、濃い、クリームあり、および砂糖なし)に従ってコーヒーが用意されるという嗜好を含む。話者を認識し、発話の構文および意味を理解するために、機械学習を使用する「学習」によって過去の使用から知識コーパスを構築したAI音声応答システムは、Billの嗜好に従って自動コーヒーメーカのパラメータを設定することによって、コマンドに応答することができる。
【0013】
「人工知能音声応答システム(AIVRS:artificial intelligence voice response system)」は、本明細書において定義されるとき、NULをコンピュータと人間の間のインターフェースに提供する任意のシステムであり、このシステムでは、自動化されたデバイスまたはシステムを制御するために使用されるデータの選択、作成、または変更、あるいはその組み合わせを実行するために、人間の発話に基づいて、言語構造および意味が機械によって決定され、このシステムは、機械学習を使用して、ユーザの発話を処理すること、ユーザの活動の事例を監視すること、およびデバイスまたはシステムの使用の対応する履歴またはパターンを作成することから、デバイスまたはシステムのユーザの意図および嗜好を学習する。AIVRSは、例えば、クラウドベースのサーバ上で実行されるソフトウェアにおいて実装され得る。クラウドベースのサーバ上で実行されるAIVRSは、例えば、データ通信ネットワーク(例えば、インターネット)を介してスマート・スピーカに接続することによって、ユーザと対話することができる。スマート・スピーカは、AIVRSのユーザとの言葉のやりとりを容易にするために、スピーカおよび仮想アシスタントまたはチャットボットを含むことができる。
【0014】
異なるユーザは、異なる音声特性を有し、異なる発話を使用し、異なる活動パターン、およびしたがって、異なる知識コーパスを有する。特定の知識コーパスは、通常、特定の個人に対応する。プライバシーまたはデータ・セキュリティあるいはその両方の理由のため、特定のユーザの知識コーパスへのアクセスは、特定の個人に限定されることがある。これによってプライバシーを保護し、セキュリティをもたらすが、そのような制限は、ユーザが別のAIVRSを使用する能力を制限する可能性があり、これは、他の誰かのAIVRSが、通常、前者のユーザの知識コーパスにアクセスすることから除外されるためである。そのようなアクセスがない場合、別のユーザのAIVRSは、ユーザの意図および嗜好が分からず、ユーザのコマンドまたはプロンプトを認識することができない。例えば、ある個人が友人の家または同僚のオフィスを訪問する状況について考える。友人または同僚は、この個人を招待し、友人または同僚のAIVRSを使用して、例えば、室温、照明、バックグラウンド・ミュージック、または自動コーヒー・マシンによって用意されるコーヒーに入れる砂糖の量のようなことに関する個人の個人的な選択に基づいて、スマート・ホームまたはスマート・オフィスのIoTデバイスを制御することがある。個人の知識コーパスへのアクセスがない場合、個人は、友人または同僚のAIVRSを利用して、これらの自動化された機能をいずれも制御することができない。
【0015】
本明細書で開示されるシステム、方法、およびコンピュータ・プログラム製品の態様は、あるユーザの知識コーパスの選択された部分を別のユーザのAIVRSに動的に提供することを容易にするために、複数のAIVRS間の通信セッションをインスタンス化する。知識コーパスの選択された部分の提供は、第2のユーザの知識コーパスのセキュリティを維持しながら、第1のユーザのAIVRSが、第2のユーザのAIVRSによって学習された意図および嗜好を捕捉することと、第2のユーザのプロンプトおよびコマンドに応答することとを可能にする。
【0016】
1つの構成では、第1のユーザのAIVRSは、コマンドが第2のユーザから生じるか、または第2のユーザに関連するということ、およびAIVRSが、コマンドを実施するための第2のユーザに関する知識コーパスを所有していないということを認識する。したがって、第1のユーザのAIVRSは、第2のユーザによって携行されているか、または身に付けられている近くのポータブル・デバイス(例えば、スマートフォン、スマートウォッチ)を参加させることによってコマンドを実施するために、知識コーパス(または知識コーパスの関連する部分)を取得しようとする。第1のユーザのAIVRSが、許可が必要とされるということを決定し、第2のユーザから許可を取得した場合、第1のユーザのAIVRSは、第2のユーザのAIVRSとの通信セッションをインスタンス化し、第2のユーザのAIVRSによって生成された知識コーパスの選択された部分に対するアクセス権限を取得する。第1のユーザのAIVRSは、データ通信ネットワーク上のリンクを介して通信セッションをインスタンス化することができる。
【0017】
本明細書に記載された構成は、コンピュータ技術を対象にし、既存のコンピュータ技術に対する改善を実現する。この構成は、より幅広いユーザに代わって、AIVRSが効率的に機能できるようにすることによって、コンピュータ技術を改善する。コンピュータ技術は、より幅広いユーザに代わって動作するようにAIVRSの知識コーパスの取得を容易にするために、通信オーバーヘッド(例えば、必要とされるメッセージ交換)を減らすことによって、さらに改善される。さらなる改善は、より幅広いユーザのプライバシーおよびより幅広いユーザに対応する知識コーパスのセキュリティを維持しながらの、知識コーパスの関連する部分の交換である。
【0018】
以下では、本開示内で説明された実施形態のさらなる態様が、図を参照してさらに詳細に説明される。説明を簡単かつ明確にする目的で、図に示された各要素は、必ずしも一定の縮尺で描かれていない。例えば、要素の一部の寸法は、明確にするために、他の要素よりも誇張されていることがある。さらに、適切であると見なされる場合、参照番号は、対応する特徴、類似する特徴、または同様の特徴を示すために、図間で繰り返される。
【0019】
図1は、例示的なコンピューティング環境100を示している。コンピューティング環境100は、AIVRS102およびAIVRS104を例示的に含んでいる。AIVRS102およびAIVRS104は、それぞれ、コンピューティング・ノード500(
図5)などの、別々のコンピュータ・システムまたは別々のコンピューティング・ノードあるいはその両方(図示されていない)において実装され得る。したがって、各コンピューティング・ノードは、例えば、クラウドベースのサーバを含むことができる。AIVRS102およびAIVRS104は、両方ともソフトウェアにおいて例示的に実装され、ソフトウェアは、メモリに格納されることが可能であり、コンピューティング・ノード500のコンピュータ・システム512などの、1つまたは複数のコンピュータ・システムの1つまたは複数のプロセッサ上で実行され得る。例示的に、AIVRS102は、音声インターフェース106に動作可能に結合する。音声インターフェース106は、一部の実施形態では、人間とコンピュータの間の対話を処理するため、および有線接続またはワイヤレス接続(例えば、Wi-Fi、Bluetooth)を介して音声インターフェース106に通信可能に結合されたIoTデバイス(明示的に示されていない)を制御するために、スピーカおよび統合された仮想アシスタントを含むスマート・スピーカである。IoTデバイスの制御は、ユーザに対応するようにAIVRS102によって作成された知識コーパス108に基づいて、音声インターフェース106によって捕捉され、AIVRS102によって認識されたさまざまな音声プロンプトおよびコマンドを介して実施される。知識コーパス108は、例示的に、AIVRS102が実行されるコンピュータ・システムと同じコンピュータ・システム、またはAIVRS102が実行されるコンピュータ・システムに動作可能に結合されたコンピュータ・システムのメモリに格納される。
【0020】
AIVRS102は、音声インターフェース106からリモートのコンピュータ・ノード(例えば、クラウドベースのサーバ)に存在することができ、IoTデバイスは、音声インターフェース106に動作可能に結合され、音声インターフェース106を介してAIVRS102に動作可能に結合される。他の実施形態では、AIVRS102、音声インターフェース106、および知識コーパス108は、それぞれをサポートするために処理能力、メモリ・ストレージなどに関して十分な計算リソースを有する単一のデバイスに統合され得る。音声インターフェース106および接続されたIoTデバイスは、例えば、知識コーパス108に対応するユーザのスマート・ホームまたはスマート・オフィス内に位置することができる。AIVRS102および音声インターフェース106が互いにリモートに位置している特定の実施形態では、AIVRS102は、データ通信ネットワーク110を介して音声インターフェース106に動作可能に結合することができる。データ通信ネットワーク110は、通常は、インターネットであることができる。データ通信ネットワーク110は、広域ネットワーク(WAN:wide area network)、ローカル・エリア・ネットワーク(LAN:local area network)、もしくはこれらの組み合わせ、または他の種類のネットワーク、あるいはその組み合わせであるか、またはこれらを含むことができ、有線接続、ワイヤレス接続、光ファイバ接続、または他の接続、あるいはその組み合わせを含むことができる。
【0021】
AIVRS102は、音声インターフェース106によって受信された人間の発話から、言語構造および意味が機械によって決定され得る、自然言語理解(NLU)を提供する。音声インターフェース106によって受信された音声コマンドおよびプロンプトは、さまざまな自動化されたシステムおよびIoTデバイス(例えば、電化製品、気候コントローラ、照明システム、エンターテイメント・システム、エネルギー・モニタ)を制御するために、電子メモリに格納されたデータを選択、作成、および変更することに使用され得る。音声インターフェース106は、音声入力に応答して音声出力を提供することができ、音声出力は、AIVRS102によって提供されるNLUによって決定された音声入力の言語構造および意味にも基づいて生成される。
【0022】
AIVRS102は、機械学習を使用して、さまざまな自動化されたシステムまたはIoTデバイスのユーザの使用の履歴またはパターンに基づいて、ユーザに対応する知識コーパス108を反復的に構築する。AIVRS102は、知識コーパスを、電子メモリに格納されたデータとして格納する。ユーザに対応する電子メモリに格納されたデータは、アカウントまたはユーザに関連付けられた他の認証情報あるいはその両方によって識別される。自動化されたシステムおよびIoTデバイスのユーザの使用パターンに基づいて、異なるユーザに関する異なる知識コーパスが作成されることが可能であり、知識コーパスは、クラウドベースのサーバまたは他のサーバの電子メモリ内のデータとして格納される。AIVRSによって、音声に基づく認識および認証を使用して、ユーザの一意の識別情報が決定される。知識コーパス108の構築と同時に、またはその構築の前に、AIVRS102は、機械学習を使用して、ユーザの一意の音声特性(例えば、音響信号パターン)に基づいて、知識コーパス108が対応するユーザを認識するように学習する。人間の発話として発行されたコマンドまたはプロンプトに応答して、AIVRS102は、(他のAI音声応答システムが実行するように)コマンドまたはプロンプトを発音したユーザを識別する。
【0023】
AIVRS102は、知識コーパス・アクセッサ・モジュール(KCAM:knowledge corpus accessor module)112を含む。KCAM112は、例示的に、AIVRS102が実装されるコンピューティング・ノードのコンピュータ・システムの1つまたは複数のプロセッサ上で実行されるソフトウェアにおいて実装される。他の実施形態では、KCAM112は、AIVRS102からリモートの、ただしAIVRS102に動作可能に結合された、コンピュータ・システムにおいて実装され得る。KCAM112は、さらに他の実施形態では、専用回路またはソフトウェアと回路の組み合わせにおいて実装され得る。
【0024】
KCAM112は、動作可能なように、AIVRS102の他の特徴と連動して、AIVRSがユーザに対応する知識コーパスを構築していないにもかかわらず、ユーザがAIVRS102との音声対話に参加できるようにする。AIVRS102は、AIVRS102がユーザの音声コマンドを認識して実施できるようにするユーザに対応する知識コーパスを含んでいないが、ユーザに対応する知識コーパス114が存在し、知識コーパス114は、AIVRS104によって構築され、AIVRS104と共に動作可能であるが、AIVRS102から分離している。AIVRS104は、AIVRS102からリモートの異なるコンピューティング・ノード(例えば、クラウドベースのサーバ)の異なるコンピュータ・システム上で動作してよいが、同じコンピュータ・システム(例えば、クラウドベースのサーバ)上で動作する場合でも、AIVRS104は、AIVRS102とは異なる。それにもかかわらず、AIVRS102と連動するKCAM112は、知識コーパス114のセキュリティを維持しながら、AIVRS104を介して知識コーパス114の選択された部分にアクセスし、選択された部分をAIVRS102に提供することによって、ユーザがAIVRS102との音声対話に参加できるようにする。
【0025】
KCAM112は、ユーザの物理的存在を検出し、AIVRS102は、このユーザに関する知識コーパスを格納していない。ユーザの物理的存在は、以下で詳細に説明される手順のうちの1つまたは複数に従って検出され得る。KCAM112は、AIVRS102に、ユーザに対応する分離して格納された知識コーパスにアクセスすることの音声要求を生成させることによって、ユーザの物理的存在を検出することに応答する。AIVRS102は、音声インターフェース106を介して音声要求をユーザに伝達する。ユーザが、音声インターフェース106を介してAIVRS102によって受信される音声プロンプトによって、許可を伴って肯定的に応答した場合、KCAM112は、AIVRS102に、別のAIVRSとの電子通信セッションをインスタンス化することによって、適切な知識コーパスにアクセスさせる。例えば、KCAM112の指示で、AIVRS102が、知識コーパス114を含んでいるAIVRS104との電子通信セッションをインスタンス化する。
【0026】
AIVRS102は、ユーザのポータブル・デバイス116との電子通信接続を介して電子通信セッションを開始することができ、AIVRS102は、このユーザに関する知識コーパスを格納していない。ポータブル・デバイス116は、ユーザによって携行されている(例えば、スマートフォン)か、または身に付けられている(例えば、スマートウォッチ)任意のデバイスであることができる。ポータブル・デバイス116は、例示的なポータブル・デバイス600(
図6)のコンポーネントのうちの1つまたは複数を含むことができる。電子通信接続は、音声インターフェース106とユーザのポータブル・デバイス116の間のワイヤレス接続118を含むことができ、ワイヤレス接続118を経由して、AIVRS104への伝達のために第2のユーザによってポータブル・デバイスに話された許可が、ポータブル・デバイス116にワイヤレスで伝達される。電子通信接続は、主にピアツーピアである必要はない。電子通信接続は、例えば、第2のユーザによってポータブル・デバイス116に話された許可に応答して、AIVRS104によって生成され、データ通信ネットワーク110(例えば、インターネット)を経由してAIVRS102に伝達される許可を含むことができる。この許可は、電子通信セッションをインスタンス化するための情報(例えば、IPアドレス)をAIVRS102に提供する。
【0027】
音声インターフェース106によって受信された、知識コーパス114にアクセスすることの許可を与えるユーザの音声応答に基づいて、AIVRS102は、データ通信ネットワーク110を介して、知識コーパス114の選択された部分をAIVRS104から取り出す。AIVRS104によって構築された知識コーパス114は、ユーザに対応し、AIVRS102によって受信された選択された部分は、KCAM112が、AIVRS102に生成させて、音声インターフェース106を介して伝達させる要求に対する、ユーザの音声応答に基づいて選択された部分であることができる。
【0028】
知識コーパス114の選択された部分に対する許可を与えることによって、ユーザは、AIVRS104から取得された知識コーパス114の選択された部分に基づいて、AIVRS102によって認識される発話を使用して、AIVRS102によって制御される自動化されたシステムおよびIoTデバイスに命令することができる。
【0029】
AIVRS102によって認識された音声コマンドによって制御され得るIoTデバイスを含んでいる同じ環境(例えば、スマート・ホームまたはスマート・オフィス)内に2人の個人を含む状況では、例えば、知識コーパス108は、ユーザのうちの1人のみによって発音されたコマンドを認識するように機械学習していてよい。AIVRS102は、第1のユーザに対応してよく、第1のユーザの音声およびプロンプトを認識するように機械学習することによって、知識コーパス108を構築しており、第2のユーザの音声およびプロンプトを認識しなくてよい。第1のユーザは、例えば、スマート・ホームの所有者(または家族の一員)またはスマート・オフィスの占有者などの、通常の(かつ正当な)ユーザであることができ、AIVRS102は、知識コーパス108の電子的に格納されたデータから音声コマンドを認識することによって、IoTデバイスを制御する。
【0030】
第2のユーザ(例えば、Bill)は、IoTデバイス(例えば、自動コーヒーメーカ)がAIVRS102によって音声制御される環境(例えば、スマート・ホームまたはスマート・オフィス)を訪問している、第1のユーザ(例えば、Abel)のゲストまたは同僚であってよい。第1のユーザ(Abel)が、音声プロンプトを使用してAIVRS102を起動し、「Billに、Billの嗜好に従って1杯のコーヒーを用意する」というコマンドを話した場合、AIVRS102は、AIVRS102が、第2のユーザ(Bill)のコーヒーの嗜好を含んでいる知識コーパスに対するアクセス権限を持っている場合にのみ、このコマンドに対応することができる。AIVRS102がこのコマンドに対応できない場合、KCAM112は、「すみません、Billのコーヒーの嗜好が分かりません」と述べる、音声インターフェース106を介して伝達される音声出力を生成し、適切な知識コーパスにアクセスして、このコマンドに効果的に応答できるようになるためのプロセスを開始するように、AIVRS102に指示することができる。
【0031】
KCAM112は、動作可能なように、第2のユーザの存在を知覚するようにAIVRS102に指示することができ、KCAM112は、第2のユーザに対応する知識コーパスが、AIVRS102によってアクセス可能な電子メモリ内のデータとして電子的に格納されているかどうかを判定することができる。格納されている場合、AIVRS102は、第2のユーザに対応する知識コーパスを含んでいる電子的に格納されたデータに基づいて、第2のユーザの意図および嗜好に従ってコマンドに対応することができる。格納されていない場合、KCAM112は、AIVRS102に、異なるAIVRSによって生成されて格納された、第2のユーザに対応する知識コーパスに対するアクセス権限を要求する要求を生成させる。
【0032】
特定の実施形態では、知識コーパス114の選択された部分に対するアクセス権限を使用して、第2のユーザの音声応答を介して与えられた許可の文脈に基づいて、AIVRS102は、特定の動作(例えば、自動化されたコーヒーの用意)を実行するためのオントロジ・グラフ・ツリーを作成するために、データ(例えば、意図および嗜好)にアクセスする。KCAM112による指示に従って、最初にリソース認証のためのコンテキスト・データを取得すること、およびAIVRS104にアクセス権限を要求することによって、AIVRS102によってオントロジ・グラフ・ツリーまたは他の知識グラフが作成され得る。AIVRS102は、AIVRS104から、知識コーパス114の選択された部分を取得し、選択された部分を(少なくとも一時的に)電子的に格納することができる。AIVRS102は、知識コーパス114のアクセスされた部分に基づいて、第2のユーザに対応する使用パターンを作成することができる。AIVRS102は、特定の実施形態では、使用パターンならびに意図および嗜好を認識するために、深層学習ニューラル・ネットワークを実装する。例えば、AIVRS102は、双方向LSTM(時系列またはデータ・シーケンス(例えば、文章内の単語)における個別のステップ間の依存関係の統計学習に役立つ前方および後方回帰型ニューラル・ネットワークの組み合わせ)を実装できる。双方向LSTMは、第2のユーザに関して、パターン履歴を含め、コンテキスト・データを決定するために、推論ホップ(reasoning hop)と共に使用され得る。
【0033】
第2のユーザは、分離して格納された知識コーパス114にアクセスするための許可を与えることにおいて、アクセス許可を含むコマンドを話すことができる。知識コーパス114を生成したAIVRS104は、音声認識に基づいて第2のユーザを識別し、第2のユーザの音声コマンドを分析する。音声コマンドに基づいて、知識コーパス114に関連付けられたAIVRS104は、自然言語処理を実行することによって、アクセス権限が与えられる選択された部分を識別する。選択された部分に対するアクセス権限を獲得したAIVRS102は、選択された部分に含まれているパターン履歴ならびに意図および嗜好などを構築することができ、このようにして、AIVRS102が、第2のユーザの1つまたは複数の音声コマンド(例えば、「私が自分のコーヒーを楽しむ方法で、私にコーヒーを用意する」)または第2のユーザを参照する第1のユーザの1つまたは複数の音声コマンド(例えば、「Billが自分のコーヒーを楽しむ方法で、Billにコーヒーを用意する」)あるいはその両方に応答できるようにする。
【0034】
KCAM112は、個別の実施形態では、さまざまな方法で、第2のユーザの物理的存在を感知することができる。例えば、前述したように、AIVRS102が知識コーパスをすでに作成している第1のユーザは、AIVRS102が知識コーパスを作成していない第2のユーザを参照するコマンドを発音してよい。自然言語処理を使用しているKCAM112は、この参照が、現在格納されている知識コーパスに関連付けられていない名前(例えば、「Bill」)に対するものであるということを決定することができ、すでに説明された知識コーパスのアクセス・プロセスを開始することができる。
【0035】
他の実施形態では、KCAM112は、音声認識に基づいて、AIVRS102が知識コーパスをすでに作成している第1のユーザの音声と、AIVRS102に使用できる知識コーパスがない個人(第2のユーザ)の音声とを区別することができる。さらに他の実施形態では、AIVRS102は、1つまたは複数のIoTカメラに動作可能に結合することができる。1つまたは複数のIoTカメラによって捕捉された顔画像に適用される顔認識に基づいて、KCAM112は、AIVRS102が知識コーパスをすでに作成している誰かに対応する顔画像を有する第1のユーザと、AIVRS102がこれまで対話していない誰かの顔画像を有する第2のユーザとを区別することができる。
【0036】
さまざまな状況のいずれかにおいて、KCAM112は、AIVRS102が既存の知識コーパスに対するアクセス権限を持っていないユーザの存在を感知することに応答して、すでに説明された知識コーパスのアクセス・プロセスを開始できる。例えば、顔認識に基づいて存在が感知される実施形態では、KCAM112は、高速畳み込みニューラル・ネットワーク(高速CNN:convolutional neural network)を使用して視覚的コンテキスト・データを決定するために、REST(representational state transfer)アプリケーション・プログラム・インターフェース(API:application program interface)を介して、機械間通信プロトコルを使用して1つまたは複数のIoTカメラと情報をやりとりするように構成され得る。KCAM112は、リソース認証のために高速CNNを介してコンテキスト・データを取得することと、分離して格納された知識コーパス(例えば、知識コーパス114)の選択された部分を取得し、(少なくとも一時的に)対応するユーザの選択された意図および嗜好を格納するためのプロンプトを生成することとに最初に基づいて、AIVRS102による知識グラフの作成を指示する。KCAM112は、選択された部分を使用して音声コマンドに応答するために、対応するユーザのパターン履歴に加えて、それに基づく意図および嗜好を含めるために推論ホップと共に使用される双方向LSTMモデルの反復適用に基づいてパターン履歴を作成するように、AIVRS102に指示することができる。
【0037】
任意選択的に、リモートに位置する知識コーパスにアクセスすることの許可がAIVRS102に与えられた後に、許可を与えているユーザは、音声コマンドを使用して、AIVRS102が選択された部分をその後のセッションにおいて使用するために(例えば、クラウドベースのサーバに)格納することをさらに許可することができる。許可を与えているユーザは、音声コマンドを介して、どの部分がどのくらいの期間、格納され得るかということを、具体的に指定することができる。例えば、ユーザは、AIVRS102が、コーヒーを入れることに関するユーザの嗜好に永続的にアクセス可能であるが、特定の他の意図および嗜好が、指定された時間(例えば、2時間)内に破棄されるということを指定できる。デフォルト・モードでは、AIVRS102は、初期アクセス権限を与えているユーザからの保持プロンプト(または他の音声コマンド)を受信せずに既定の時間間隔(例えば、24時間)が経過した後に、知識コーパスの取り出された選択された部分を破棄する。
【0038】
KCAM112は、特定の実施形態では、存在が感知されたユーザが、すでに格納されている知識コーパスに関連付けられていないということを最初に決定した後にのみ、知識コーパス・アクセス要求の生成および伝達を開始することをAIVRS102に指示する。したがって、知識コーパスの選択された部分を格納することの許可をAIVRS102にすでに与えているユーザの場合、リモートに格納された知識コーパスにアクセスするために、AIVRS102と別のAIVRSの間で新しい通信セッションがインスタンス化される必要はない。他の実施形態では、ユーザは、知識コーパスの選択された部分の格納を許可する必要はなく、代わりに、通信セッションをインスタンス化し、知識コーパスに対するアクセス権限を選択的にのみ取得するための能動的な許可を格納することを、AIVRS102に許可してよい。AIVRS102がリモートに位置している知識コーパスに対するアクセス権限を要求しているユーザの音声コマンドに応答して、各セッションが開始され得る。音声コマンドは、それぞれ別々のセッションにおいて、知識コーパスの異なる部分の選択を指定することができる。
【0039】
例えば、第2のユーザに関する上記の状況のいずれかにおいて、知識コーパス114に対するアクセス権限をAIVRS102に与えている第2のユーザは、AIVRS102が、その後のセッションにおいて、新しい音声プロンプトに応答する場合にのみ、かつ各新しいプロンプトにおいて指定された選択された部分に関してのみ、知識コーパスに再びアクセスできるということをさらに指定してよい。したがって、後のセッションでは、第2のユーザは、AIVRS102が音声コマンドに応答して自動コーヒーメーカを制御することにおいて使用するために、コーヒーを入れることに関する第2のユーザの嗜好に対するアクセス権限をAIVRS102に与える新しいプロンプトを発音することができる。さらに後のセッションでは、第2のユーザは、第2のユーザの新しい音声コマンドに応答してAIVRS102がエンターテイメント・システムを制御することにおいて使用できるようにするために、第2のユーザの音楽の嗜好に関する選択された部分に関してのみ、AIVRS102が知識コーパス114に再びアクセスすることの許可を発音してよい。しかし、いずれの場合も、リアルタイムまたはほぼリアルタイムの対話を容易にするために、AIVRS102は、短時間を超える間、各嗜好(コーヒーまたは音楽の嗜好)を格納することの許可を有さない。
【0040】
KCAM112は、一部の実施形態では、第1のユーザ、すなわち、AIVRS102と定期的に(かつ正当に)対話しAIVRSが知識コーパス108を作成したユーザのためにも、特定のセキュリティ機能を組み込むことができる。1つの構成では、第1のユーザは、第2のユーザが第2のユーザ自身の知識コーパスにアクセスすることの許可を与えているにもかかわらず、AIVRS102が第2のユーザの特定の指定された音声コマンドに決して応答しないということを指定できる。例えば、AIVRS102は、第1のユーザの音声コマンドに応答することを除いて、セキュリティ・システムを変更することまたは解除することから(例えば、別の音声コマンドを介して)除外され得る。さらに、KCAM112は、第1のユーザが信頼の輪を作成することを可能にすることができる。信頼の輪は、(例えば、音声認識または顔認識あるいはその両方に基づく)識別情報および特定のコマンドを指定し、AIVRS102は、誰がコマンドを発音しているかに基づいて、コマンドに応答することができる。信頼の輪は、任意選択的に、階層構造であることができ、それによって、異なる層のユーザが、異なる種類の音声コマンドを発行することを許可される。例えば、自分自身の知識コーパスに対するアクセス権限を提供する、訪問し合う間柄の友人は、単なる知り合い(例えば、第2層)が有するよりも幅広いコマンドの自由度(例えば、第1層)を有してよい。
【0041】
一部の実施形態では、KCAM112は、AIVRS102に既存の知識コーパスがないユーザの存在を知覚することに先立って、パブリックにアクセス可能な知識コーパスまたは知識コーパスの部分を検索することができる。KCAM112は、AIVRS102に既存の知識コーパスがない個人の未来の存在を示すデータに応答して、検索を開始することができる。例えば、KCAM112は、IoTカレンダー・システムを断続的に(例えば、毎日)検索するように構成され得る。KCAM112は、第1のユーザに関連付けられたIoTカレンダー・システムまたは他のデータ・ソースを検索することによって、AIVRS102に既存の知識コーパスがない第2のユーザが、第1のユーザのIoTデバイスの動作可能な周辺内(例えば、スマート・ホームまたはスマート・オフィス内)に存在することが予想されるデータ(例えば、日時)を取得することができる。KCAM112は、第2のユーザのパブリックにアクセス可能な意図および嗜好の検索において、例えば、第1のユーザの1つまたは複数のデータベース(例えば、第2のユーザとの以前の遭遇に関するコンピュータ・メモ)、または第2のユーザの名前に関連付けられたパブリックにアクセス可能なサイト(例えば、ソーシャル・ネットワーキング・サイト、関連する専門的組織または企業組織のWebサイト)を検索することができる。
【0042】
第1のユーザに関連付けられたカレンダー・システムまたは他のデータ・ソースは、第2のユーザの未来の存在の性質を示すことができる。例えば、カレンダーは、第1のユーザが、社交的に、または商用で、第2のユーザに会うということを指定してよい。第2のユーザがAIVRS102に許される程度に提供し得る音声コマンドに、コーヒーまたは気温あるいはその両方に関する第2のユーザの意図および嗜好が存在することが、KCAM112によって合理的に予想されるため、KCAM112は、それらの意図および嗜好を識別するために、パブリックにアクセス可能な知識コーパスの検索を開始することができる。意図および嗜好は、第1のユーザがホストとして第2のユーザにコーヒーまたは温度に関する音声コマンドを促したときに、自動コーヒーメーカによって用意されるコーヒーに関する嗜好またはセントラル空調システムの温度設定あるいはその両方を表す第2のユーザの音声コマンドに応答するために、AIVRS102によって格納され得る。
【0043】
任意選択的に、パブリックに使用できる知識コーパスからの情報の取得がない場合、KCAM112は、第2のユーザのAIVRS(例えば、AIVRS104)の知識コーパスに対する事前のアクセス権限を要求する電子メールなどのテキストまたは他の電子メッセージを生成して(例えば、携帯電話またはデータ通信ネットワーク116を介して)第2のユーザに伝達するように、AIVRS102に指示することができる。事前のアクセスは、AIVRS102が、音声インターフェース106の動作可能な周辺内で、第1のユーザと第2のユーザの間の次回の対話の間に使用するために、第2のユーザの意図および嗜好を格納できるようにする。
【0044】
図2は、実施形態に従って、1つのAIVRSによって、別のAIVRSによって生成された知識コーパスに安全にアクセスする方法200のフローチャートである。方法200は、
図1を参照して説明されたように、第1のユーザのAIVRSに動作可能に結合されたか、または統合されたKCAMを備えているシステムによって実行され得る。ブロック202で、システムが、第1のユーザのAIVRSを使用して、第2のユーザの物理的存在を電子的に知覚する。
【0045】
ブロック204で、システムが、第2のユーザのAIVRSによって電子的に格納された知識コーパスに対するアクセス権限を要求する、第1のユーザのAIVRSによって生成された音声要求を伝達する。システムは、第2のユーザから音声応答を受信することができる。第2のユーザの音声応答は、第2のユーザのAIVRSによって電子的に格納された知識コーパスに対するアクセス権限を与えることができる。
【0046】
ブロック206で、音声応答に基づいて、システムが、第1のユーザのAIVRSを使用して第2のユーザのAIVRSとの電子通信セッションをインスタンス化する。第1のユーザのAIVRSによって、第2のユーザのポータブル・デバイスとの電子通信接続を介して、電子通信セッションが開始され得る。ポータブル・デバイスは、例えば、第2のユーザによって携行されているか、または身に付けられているスマートフォン、スマートウォッチ、または他のそのようなデバイスであることができる。第1のユーザのAIVRSとポータブル・デバイスの間の電子通信接続は、第1のユーザのAIVRSの音声インターフェースとポータブル・デバイスの間のワイヤレス接続を含むことができる。第2のユーザのAIVRSへの伝達のためにポータブル・デバイスに話された第2のユーザによる許可は、音声インターフェースにワイヤレスで伝達され得る。電子通信接続は、例えば、データ通信ネットワーク(例えば、インターネット)を経由してポータブル・デバイスによって第2のユーザのAIVRSおよび第1のユーザのAIVRSに伝達される許可を含むことができる。この許可は、電子通信セッションをインスタンス化するために必要とされるネットワーク情報(例えば、IPアドレス)を第1のユーザのAIVRSに提供する。
【0047】
ブロック208で、システムが、第1のユーザのAIVRSによって、データ通信ネットワークを介して、第2のユーザのAIVRSから知識コーパスの選択された部分を取り出す。知識コーパスの選択された部分は、第1のユーザのAIVRSによって伝達された音声要求に対する第2のユーザの音声応答に基づいて選択される。
【0048】
ブロック210で、システムが、音声コマンド(または他の音声プロンプト)に応答して、1つまたは複数のIoTデバイスによる1つまたは複数のアクションを開始する。音声コマンドは、第2のユーザによって、または第2のユーザを参照する第1のユーザによって、発音され得る。音声コマンドは、知識コーパスの選択された部分に基づいて第1のユーザのAIVRSによって解釈される。
【0049】
一部の実施形態では、システムは、第1のユーザのAIVRSによって、電子メモリに格納されたデータを検索することと、電子メモリに格納されたデータが、電子的に格納された以前の許可に加えて、知識コーパスの選択された部分を欠いているということを決定することとに応答して、音声要求を伝達する。システムは、電子メモリに格納されたデータが、電子的に格納された以前の許可を含んでいるということを決定することと、知識コーパスに対するアクセス権限の要求に対する応答を受信することとに応答して、データ通信ネットワークを介して知識コーパスの選択された部分を取り出す。電子メモリに格納されたデータが知識コーパスの選択された部分をすでに含んでいるということを決定することに応答して、システムは、データ通信ネットワークを介して選択された部分を取り出すことをやめる。
【0050】
一部の実施形態では、システムは、第1のユーザのAIVRSを使用して、第1のユーザの音声プロンプトを認識し、第1のユーザのAIVRSを使用して、第1のユーザのAIVRSにまだ知られていない識別情報を有する第2のユーザへの参照を識別することによって、第2のユーザを知覚する。システムは、追加的または代替的に、特定の実施形態では、第1のユーザのAIVRSに動作可能に結合されたIoTカメラによって捕捉された画像に基づいて、第2のユーザの視覚認識を実行することによって、第2のユーザを知覚する。
【0051】
一部の実施形態では、システムは、第1のユーザのAIVRSを使用して、第1のユーザのAIVRSに通信可能に結合されている第1のユーザのデバイスからデータを捕捉して、第2のユーザの情報を取得することができる。このデータは、第2のユーザの音声コマンドに応答するために第1のユーザのAIVRSが使用できる第2のユーザの意図および嗜好(例えば、コーヒーを入れることに関す嗜好)に対応することができる。例えば、第1のユーザのデバイスは、第2のユーザがどのようなコーヒーを好むかを第2のユーザが説明する第1のユーザと第2のユーザの間の電子メール交換が格納されている、コンピュータであることができる。または、例えば、第1のユーザのデバイスは、第2のユーザが好みの種類の音楽を説明するテキスト・メッセージが格納されている、スマートフォンであることができる。第1のユーザのAIVRSは、このデータを使用して、第2のユーザに関して、それ自身の知識コーパスを構築することができ、このデータは、自動コーヒーメーカが第2のユーザのためにコーヒーを用意することを要求する音声コマンド、またはエンターテイメント・システムが音楽を再生することを要求する第2のユーザからの音声コマンドに応答するために、第1のユーザのAIVRSによって使用され得る。
【0052】
システムは、第1のユーザのAIVRSによって受信された第2のユーザの知識コーパスの選択された部分を破棄することができる。システムは、システムが第2のユーザから保持プロンプトを受信せずに既定の時間間隔が経過した場合、選択された部分を自動的に破棄することができる。第2のユーザが、第1のユーザのAIVRSが選択された部分を電子的に格納することを望む場合、第2のユーザは、選択された部分を電子的に格納する期間を指定するコマンドを発音することができる。
【0053】
本開示はクラウド・コンピューティングに関する詳細な説明を含んでいるが、本明細書において示された内容の実装がクラウド・コンピューティング環境に限定されないということに、明示的に留意されたい。むしろ、本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と組み合わせて実装され得る。
【0054】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含んでよい。
【0055】
特徴は、次のとおりである。
【0056】
オンデマンドのセルフ・サービス:クラウドのコンシューマは、サーバの時間、ネットワーク・ストレージなどの計算機能を、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的に、一方的にプロビジョニングすることができる。
【0057】
幅広いネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する標準的なメカニズムを通じてアクセスされる。
【0058】
リソース・プーリング:プロバイダの計算リソースは、マルチテナント・モデルを使用して、複数のコンシューマにサービスを提供するためにプールされており、さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。コンシューマは通常、提供されるリソースの正確な場所に関して制御することも知ることもないが、より高いレベルの抽象化では、場所(例えば、国、州、またはデータセンター)を指定できることがあるという点で、場所に依存しないという感覚がある。
【0059】
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できるこれらの機能は、コンシューマにとって、無制限であるように見えることが多く、任意の量をいつでも購入できる。
【0060】
測定されるサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した何らかの抽象化のレベルでの計測機能を活用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用状況は、監視、制御、および報告され、利用されるサービスのプロバイダとコンシューマの両方に透明性を提供することができる。
【0061】
サービス・モデルは、次のとおりである。
【0062】
SaaS(Software as a Service):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションを使用する機能である。それらのアプリケーションに、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェースを介して、さまざまなクライアント・デバイスからアクセスできる。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能をも含む、基礎となるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0063】
PaaS(Platform as a Service):コンシューマに提供されるこの機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマが作成または取得したアプリケーションをクラウド・インフラストラクチャ上に展開するために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎となるクラウド・インフラストラクチャを管理することも制御することもないが、展開されたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0064】
IaaS(Infrastructure as a Service):コンシューマに提供されるこの機能は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングする機能であり、コンシューマは、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアを展開して実行できる。コンシューマは、基礎となるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御することができる。
【0065】
展開モデルは、次のとおりである。
【0066】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。このクラウド・インフラストラクチャは、この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0067】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。このクラウド・インフラストラクチャは、これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0068】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般市民または大規模な業界団体に利用可能にされ、クラウド・サービスを販売する組織によって所有される。
【0069】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データおよびアプリケーションのポータビリティを可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって固有の実体を維持したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体である。
【0070】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。
【0071】
ここで
図3を参照すると、例示的なクラウド・コンピューティング環境300が示されている。図示されているように、クラウド・コンピューティング環境300は、クラウドのコンシューマによって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話340a、デスクトップ・コンピュータ340b、ラップトップ・コンピュータ340c、または自動車コンピュータ・システム340n、あるいはその組み合わせなど)が通信し得る1つまたは複数のクラウド・コンピューティング・ノード310を含んでいる。コンピューティング・ノード310は、互いに通信してよい。コンピューティング・ノード310は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境300は、クラウドのコンシューマがローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。
図3に示されたコンピューティング・デバイス340a~nの種類は、例示のみが意図されており、コンピューティング・ノード310およびクラウド・コンピューティング環境300は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0072】
ここで
図4を参照すると、クラウド・コンピューティング環境300(
図3)によって提供される機能的抽象レイヤのセットが示されている。
図4に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図に示されているように、次のレイヤおよび対応する機能が提供される。
【0073】
ハードウェアおよびソフトウェア・レイヤ460は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム461、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ462、サーバ463、ブレード・サーバ464、ストレージ・デバイス465、ならびにネットワークおよびネットワーク・コンポーネント466が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア467およびデータベース・ソフトウェア468を含む。
【0074】
仮想化レイヤ470は、仮想サーバ471、仮想ストレージ472、仮想プライベート・ネットワークを含む仮想ネットワーク473、仮想アプリケーションおよびオペレーティング・システム474、ならびに仮想クライアント475などの仮想的実体を提供できる抽象レイヤを備える。
【0075】
一例を挙げると、管理レイヤ480は、以下で説明される機能を提供することができる。リソース・プロビジョニング481は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定482は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドのコンシューマおよびタスクの識別情報の検証を行うとともに、データおよび他のリソースの保護を行う。ユーザ・ポータル483は、クラウド・コンピューティング環境へのアクセスをコンシューマおよびシステム管理者に提供する。サービス・レベル管理484は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス・レベル合意(SLA:Service Level Agreement)計画および実行485は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0076】
ワークロード・レイヤ490は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供され得るワークロードおよび機能の例としては、マッピングおよびナビゲーション491、ソフトウェア開発およびライフサイクル管理492、仮想クラスルーム教育の配信493、データ解析処理494、トランザクション処理495、およびKCAMが統合されるか、またはKCAMが動作可能に結合されるAIVRS496が挙げられる。
【0077】
図5は、コンピューティング・ノード500の例の概略図を示している。1つまたは複数の実施形態では、コンピューティング・ノード500は、適切なクラウド・コンピューティング・ノードの例である。コンピューティング・ノード500は、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。コンピューティング・ノード500は、本開示内で説明された機能のいずれかを実行することができる。
【0078】
コンピューティング・ノード500は、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システム512を含む。コンピュータ・システム512と共に使用するのに適した周知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
【0079】
コンピュータ・システム512は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータ・システム512は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境内で実践されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【0080】
図5に示されているように、コンピュータ・システム512は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム512のコンポーネントは、1つまたは複数のプロセッサ516、メモリ528、およびメモリ528を含むさまざまなシステム・コンポーネントをプロセッサ516に結合するバス518を含んでよいが、これらに限定されない。本明細書において定義されるとき、「プロセッサ」は、命令を実行するように構成された少なくとも1つのハードウェア回路を意味する。ハードウェア回路は、集積回路であってよい。プロセッサの例としては、中央処理装置(CPU:central processing unit)、アレイ・プロセッサ、ベクトル・プロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate array)、プログラマブル・ロジック・アレイ(PLA:programmable logic array)、特定用途向け集積回路(ASIC:application specific integrated circuit)、プログラマブル・ロジック回路、およびコントローラが挙げられるが、これらに限定されない。
【0081】
プロセッサによるコンピュータ・プログラムの命令の実行は、プログラムを実行することを含む。本明細書において定義されるとき、「実行する(run)」および「実行する(execute)」は、1つまたは複数の機械可読命令に従ってプロセッサによって実行される一連のアクションまたはイベントを含む。「実行する(running)」および「実行する(executing)」は、本明細書において定義されるとき、プロセッサによるアクションまたはイベントの能動的な実行のことを指す。「実行する(run)」、「実行する(running)」、「実行する(execute)」、および「実行する(executing)」という用語は、本明細書では同意語として使用される。
【0082】
バス518は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のいずれかのうちの1つまたは複数を表す。単に例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、PCI(Peripheral Component Interconnects)バス、およびPCIe(PCI Express)バスを含むが、これらに限定されない。
【0083】
コンピュータ・システム512は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム512によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含んでよい。
【0084】
メモリ528は、ランダム・アクセス・メモリ(RAM:random access memory)530またはキャッシュ・メモリ532あるいはその両方などの揮発性メモリの形態で、コンピュータ・システム可読媒体を含んでよい。コンピュータ・システム512は、他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。例として、取り外し不可、不揮発性の磁気媒体または半導体ドライブあるいはその両方(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム534を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェースによってバス518に接続することができる。下でさらに示され、説明されるように、メモリ528は、本発明の実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備える少なくとも1つのプログラム製品を含んでよい。
【0085】
例えば、一連の(少なくとも1つの)プログラム・モジュール542を含んでいるプログラム/ユーティリティ540がメモリ528に格納されてよいが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの組み合わせの各々は、ネットワーク環境の実装を含んでよい。プログラム・モジュール542は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。例えば、プログラム・モジュールのうちの1つまたは複数は、AIVRS596、その一部を含んでよく、AIVRS596内で、KCAMが統合されるか、または動作可能に結合される。
【0086】
プログラム/ユーティリティ540は、プロセッサ516によって実行可能である。プログラム/ユーティリティ540、およびコンピュータ・システム512によって使用されるか、生成されるか、または操作されるか、あるいはその組み合わせを実行される任意のデータ項目は、コンピュータ・システム512によって採用された場合に機能を伝える機能的データ構造である。本開示内で定義されるとき、「データ構造」は、物理メモリ内のデータのデータ・モデルの編成の物理的実装である。そのため、データ構造は、メモリ内の特定の電気的または磁気的構造要素で形成される。データ構造は、プロセッサを使用して実行されるアプリケーション・プログラムによって使用されるときに、物理編成をメモリに格納されたデータに課す。
【0087】
コンピュータ・システム512は、キーボード、ポインティング・デバイス、ディスプレイ524などの1つまたは複数の外部デバイス514、ユーザがコンピュータ・システム512と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ・システム512が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組み合わせと通信してもよい。そのような通信は、入出力(I/O:input/output)インターフェース522を介して発生することができる。さらに、コンピュータ・システム512は、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組み合わせなどの1つまたは複数のネットワークと、ネットワーク・アダプタ520を介して通信することができる。図に示されているように、ネットワーク・アダプタ520は、バス518を介してコンピュータ・システム512の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム512と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0088】
クラウド・コンピューティング・ノードの例を示すためにコンピューティング・ノード500が使用されているが、本明細書に記載されたさまざまな動作を実行するために、
図5に関連して説明されたアーキテクチャと同じまたは類似するアーキテクチャを使用するコンピュータ・システムが、クラウド・コンピューティング以外の実装において使用されてよいということが理解されるべきである。これに関して、本明細書に記載された実施形態例は、クラウド・コンピューティング環境に限定されるよう意図されていない。コンピューティング・ノード500は、データ処理システムの例である。本明細書において定義されるとき、「データ処理システム」は、データを処理するように構成された1つまたは複数のハードウェア・システムを意味し、各ハードウェア・システムは、動作を開始するようにプログラムされた少なくとも1つのプロセッサおよびメモリを含む。
【0089】
コンピューティング・ノード500は、コンピュータ・ハードウェアの例である。コンピューティング・ノード500は、実装されるデバイスまたはシステムあるいはその両方の特定の種類に応じて、
図5に示されたコンポーネントより少ないコンポーネントまたは
図5に示されていない追加のコンポーネントを含んでよい。特定のオペレーティング・システムまたはアプリケーションあるいはその両方は、含まれるI/Oデバイスの種類のような、デバイスまたはシステムあるいはその両方の種類に従って変化してよい。さらに、例示的なコンポーネントのうちの1つまたは複数が、別のコンポーネントに組み込まれるか、または他の方法で別のコンポーネントの一部を形成してよい。例えば、プロセッサは少なくとも一部のメモリを含んでよい。
【0090】
コンピューティング・ノード500は、サーバの例でもある。本明細書において定義されるとき、「サーバ」は、1つまたは複数の他のデータ処理システムとサービスを共有するように構成されたデータ処理システムを意味する。本明細書において定義されるとき、「クライアント・デバイス」は、サーバに対して共有されたサービスを要求するデータ処理システムを意味し、ユーザは、クライアント・デバイスと直接情報をやりとりする。クライアント・デバイスの例として、ワークステーション、デスクトップ・コンピュータ、コンピュータ端末、モバイル・コンピュータ、ラップトップ・コンピュータ、ネットブック・コンピュータ、タブレット・コンピュータ、スマートフォン、パーソナル・デジタル・アシスタント、スマート・ウォッチ、スマート・グラス、ゲーミング・デバイス、セットトップ・ボックス、スマート・テレビなどが挙げられるが、これらに限定されない。1つまたは複数の実施形態では、本明細書に記載されたさまざまなユーザ・デバイスは、クライアント・デバイスであってよい。ルータ、ファイアウォール、スイッチ、アクセス・ポイントなどのネットワーク・インフラストラクチャは、本明細書において定義されている用語「クライアント・デバイス」としてのクライアント・デバイスではない。
【0091】
図6は、本開示内で説明された1つまたは複数の実施形態に従って、例示的なポータブル・デバイス600を示している。ポータブル・デバイス600は、メモリ602、1つまたは複数のプロセッサ604(例えば、画像処理プロセッサ、デジタル信号プロセッサ、データ・プロセッサ)、およびインターフェース回路606を含むことができる。
【0092】
1つの態様では、メモリ602、プロセッサ604、またはインターフェース回路606、あるいはその組み合わせは、別々のコンポーネントとして実装される。別の態様では、メモリ602、プロセッサ604、またはインターフェース回路606、あるいはその組み合わせは、1つまたは複数の集積回路に統合される。ポータブル・デバイス600さまざまなコンポーネントは、例えば、1つまたは複数の通信バスまたは信号線(例えば、相互接続またはワイヤあるいはその両方)によって結合され得る。1つの態様では、メモリ602は、メモリ・インターフェース(図示されていない)を介してインターフェース回路606に結合されてよい。
【0093】
センサ・データの生成を含む本明細書に記載された機能または動作あるいはその両方を容易にするために、センサ、デバイス、サブシステム、または入出力(I/O)デバイス、あるいはその組み合わせが、インターフェース回路606に結合され得る。さまざまなセンサ、デバイス、サブシステム、またはI/Oデバイス、あるいはその組み合わせが、直接、または1つまたは複数の介在するI/Oコントローラ(図示されていない)を介して、インターフェース回路606に結合されてよい。
【0094】
例えば、ポータブル・デバイス600の方位機能、照明機能、および近接機能をそれぞれ容易にするために、位置センサ610、光センサ612、および近接センサ614が、インターフェース回路606に結合され得る。ジオポジショニング・センサ・データを提供するために、位置センサ610(例えば、GPS受信機またはGPSプロセッサあるいはその両方)が、インターフェース回路606に接続され得る。方向ナビゲーションの目的で磁北の方向を決定するために使用され得るセンサ・データを提供するために、電子磁力計618(例えば、集積回路チップ)が、インターフェース回路606に接続され得る。3次元内のデバイスの移動の速度および方向の変化を決定するために使用され得るセンサ・データを提供するために、加速度計620が、インターフェース回路606に接続され得る。高度を決定するために使用され得るセンサ・データを提供するために、高度計622(例えば、集積回路)が、インターフェース回路606に接続され得る。記録された発話を格納するために、ボイス・レコーダー624がインターフェース回路606に接続され得る。
【0095】
カメラ・サブシステム626は、光センサ628に結合され得る。さまざまな技術のいずれかを使用して、光センサ628が実装され得る。光センサ628の例としては、例えば、電荷結合素子(CCD:charged coupled device)光センサ、相補型金属酸化膜半導体(CMOS:complementary metal-oxide semiconductor)光センサなどが挙げられる。カメラ・サブシステム626および光センサ628は、画像またはビデオ・クリップあるいはその両方(以下では、「画像データ」)を記録することなどの、カメラ機能を容易にするために使用され得る。1つの態様では、画像データは、センサ・データのサブセットである。
【0096】
通信機能は、1つまたは複数のワイヤレス通信サブシステム630によって容易にされ得る。ワイヤレス通信サブシステム630は、無線周波受信機および送信機、光(例えば、赤外線)受信機および送信機などを含むことができる。ワイヤレス通信サブシステム630の特定の設計および実装は、実装される特定の種類のポータブル・デバイス600またはポータブル・デバイス600が動作するよう意図される通信ネットワークあるいはその両方に依存することができる。
【0097】
例示の目的で、ワイヤレス通信サブシステム630は、1つまたは複数のモバイル・ネットワーク(例えば、GSM、GPRS、EDGE)、WiMaxネットワークを含み得るWi-Fiネットワーク、または短距離ワイヤレス・ネットワーク(例えば、Bluetoothネットワーク)、あるいはその任意の組み合わせを経由して動作するように設計されてよい。ワイヤレス通信サブシステム630は、ポータブル・デバイス600が他のワイヤレス・デバイスのための基地局として構成され得るように、ホスティング・プロトコルを実装できる。
【0098】
音声認識、音声複製、デジタル記録、音声処理、および電話機能などの、音声対応の機能を容易にするために、音声サブシステム632が、スピーカ634およびマイクロホン636に結合され得る。音声サブシステム632は、音声型センサ・データ(audio type sensor data)を生成することができる。1つまたは複数の実施形態では、マイクロホン636がマスク・センサとして利用されてよい。
【0099】
I/Oデバイス638がインターフェース回路606に結合され得る。I/Oデバイス638の例としては、例えば、ディスプレイ・デバイス、タッチセンシティブ・ディスプレイ・デバイス、トラック・パッド、キーボード、ポインティング・デバイス、通信ポート(例えば、USBポート)、ネットワーク・アダプタ、ボタン、または他の物理的制御などが挙げられる。表示画面またはパッドあるいはその両方などのタッチセンシティブ・デバイスは、さまざまなタッチ感度技術のいずれかを使用して、接触、移動、接触の中断などを検出するように構成される。例示的なタッチセンシティブ技術としては、例えば、静電容量技術、抵抗技術、赤外線技術、および弾性表面波技術、他の近接センサ・アレイ、またはタッチセンシティブ・デバイスとの接触の1つまたは複数の位置を決定するための他の要素などが挙げられる。I/Oデバイス638のうちの1つまたは複数は、ポータブル・デバイス600のセンサ、サブシステムなどの機能を制御するように適応されてよい。
【0100】
ポータブル・デバイス600は、電源640をさらに含む。電源640は、電力をポータブル・デバイス600のさまざまな要素に供給することができる。1つの実施形態では、電源640は、1つまたは複数のバッテリーとして実装される。バッテリーは、使い捨て(例えば、交換可能)であるか、または再充電可能であるかを問わず、多種多様なバッテリー技術のいずれかを使用して実装されてよい。別の実施形態では、電源640は、外部電源から電力を取得し、ポータブル・デバイス600の要素に電力(例えば、DC電力)を供給するように構成される。再充電可能なバッテリーの場合、電源640は、外部電源に結合されたときに1つまたは複数のバッテリーを充電できる回路をさらに含んでよい。
【0101】
メモリ602は、1つまたは複数の磁気ディスク・ストレージ・デバイス、1つまたは複数の光ストレージ・デバイス、フラッシュ・メモリなどの、ランダム・アクセス・メモリ(例えば、揮発性メモリ)または不揮発性メモリあるいはその両方を含むことができる。メモリ602は、LINUX、UNIX(R)、モバイル・オペレーティング・システム、組み込みオペレーティング・システムなどの、オペレーティング・システム652を格納することができる。オペレーティング・システム652は、システム・サービスを処理するため、およびハードウェア依存のタスクを実行するための命令を含んでよい。
【0102】
メモリ602は、追加のプログラム・コード654を格納してよい。他のプログラム・コード654の例は、1つまたは複数の追加のデバイス、1つまたは複数のコンピュータ、または1つまたは複数のサーバ、あるいはその組み合わせとの通信を容易にするための命令、グラフィック・ユーザ・インターフェース処理、センサ関連の機能、電話関連の機能、電子メッセージング関連の機能、Web閲覧関連の機能、媒体処理関連の機能、GPSおよびナビゲーション関連の機能、セキュリティ機能、Webカメラ機能またはWebビデオ機能あるいはその両方を含むカメラ関連の機能などを容易にするための処理命令を含んでよい。プログラム・コードは、ポータブル・デバイスにおいてインテリジェント仮想アシスタント(IVA:intelligent virtual assistant)を実装するためのプログラム・コードを含むことができ、インテリジェント仮想アシスタントは、プロセッサ604上で実行されるIVAプログラム・コード656において実装される。IVAは、例えば、リモートのクラウドベース・サーバ上で実行されているAIVRSと情報をやりとりすることができる。メモリ602は、1つまたは複数の他のアプリケーション662を格納してもよい。
【0103】
説明されたさまざまな種類の命令またはプログラム・コードあるいはその両方は、制限ではなく、例示の目的で提供されている。プログラム・コードは、別々のソフトウェア・プログラム、プロシージャ、またはモジュールとして実装されてよい。メモリ602は、追加の命令またはより少ない命令を含むことができる。さらに、ポータブル・デバイス600のさまざまな機能が、1つまたは複数の信号処理または特定用途向け集積回路あるいはその両方を含む、ハードウェアまたはソフトウェアあるいはその両方において、実装されてよい。
【0104】
メモリ602内に格納されたプログラム・コード、およびポータブル・デバイス600によって使用されるか、生成されるか、または操作されるか、あるいはその組み合わせを実行される任意のデータは、デバイスの一部として採用された場合にデバイスに機能を伝える機能的データ構造である。機能的データ構造のさらなる例としては、例えば、センサ・データ、ユーザ入力によって取得されたデータ、外部データ・ソースに問い合わせることによって取得されたデータ、ベースライン情報などが挙げられる。「データ構造」という用語は、物理メモリ内のデータのデータ・モデルの編成の物理的実装のことを指す。そのため、データ構造は、メモリ内の特定の電気的または磁気的構造要素で形成される。データ構造は、物理編成を、プロセッサによって使用されるメモリに格納されたデータに課す。
【0105】
特定の実施形態では、ポータブル・デバイス600を参照して説明されたさまざまなセンサまたはサブシステムあるいはその両方のうちの1つまたは複数は、有線接続またはワイヤレス接続を介してポータブル・デバイス600に結合されたか、または通信可能にリンクされた別々のデバイスであってよい。例えば、位置センサ610、光センサ612、近接センサ614、ジャイロスコープ616、磁力計618、加速度計620、高度計622、ボイス・レコーダー624、カメラ・サブシステム626、音声サブシステム632などのうちの1つまたは複数(または、すべて)が、I/Oデバイス638またはワイヤレス通信サブシステム630あるいはその両方を経由してポータブル・デバイス600に動作可能に結合された別々のシステムまたはサブシステムとして実装されてよい。
【0106】
ポータブル・デバイス600は、実装されるシステムの特定の種類に応じて、
図6に示されたコンポーネントより少ないコンポーネントを含むか、または
図6に示されたコンポーネント以外の追加のコンポーネントを含むことができる。さらに、含まれる特定のオペレーティング・システムもしくはアプリケーションまたはその両方、または他のプログラム・コード、あるいはその組み合わせが、システムの種類に従って変わってもよい。さらに、例示的なコンポーネントのうちの1つまたは複数が、別のコンポーネントに組み込まれるか、または他の方法で別のコンポーネントの一部を形成することができる。例えば、プロセッサは少なくとも一部のメモリを含んでよい。
【0107】
ポータブル・デバイス600は、制限ではなく例示の目的で提供されている。本明細書に記載された動作を実行するように構成されたデバイスまたはシステムあるいはその両方は、
図6に示されたアーキテクチャと異なるアーキテクチャを有してよい。アーキテクチャは、ポータブル・デバイス600の簡略版であってよく、プロセッサおよび命令を格納しているメモリを含んでよい。アーキテクチャは、本明細書に記載されているような1つまたは複数のセンサを含んでよい。ポータブル・デバイス600または同様のシステムが、デバイスのさまざまなセンサまたはデバイスに結合されたセンサを使用してデータを収集することができる。しかし、ポータブル・デバイス600がより少ないセンサまたは他の追加のセンサを含んでよいということが、理解されるべきである。本開示では、センサによって生成されたデータは、「センサ・データ」と呼ばれる。
【0108】
ポータブル・デバイス600の実装の例としては、例えば、センサによって検出された信号およびデータを感知し、処理することができる、スマートフォンまたは他のモバイル・デバイスもしくは携帯電話、ウェアラブル・コンピューティング・デバイス(例えば、スマートウォッチ)、専用の医療用デバイス、あるいは他の適切なハンドヘルド電子デバイス、ウェアラブル電子デバイス、または楽に携帯できる電子デバイスが挙げられる。実施形態がスタンドアロン・デバイスとして展開されるか、または分散型クライアント/サーバ・ネットワーク・システム内の複数のデバイスとして展開され得るということが理解されるであろう。例えば、特定の実施形態では、スマートウォッチが、モバイル・デバイス(例えば、スマートフォン)に動作可能に結合することができる。モバイル・デバイスは、リモートのサーバまたはコンピュータ・システムあるいはその両方と情報をやりとりするように構成されても構成されなくてもよい。
【0109】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、制限することを意図していない。それでも、ここで、本文書全体を通じて適用される複数の定義が提示される。
【0110】
本明細書において定義されるとき、単数形「a」、「an」、および「the」は、文脈が特に明確に示さない限り、複数形も含む。
【0111】
本明細書において定義されるとき、「別の」は、少なくとも2番目またはそれ以上を意味する。
【0112】
本明細書において定義されるとき、特に明示的に述べられない限り、「少なくとも1つ」、「1つまたは複数」、および「~または~あるいはその組み合わせ」は、動作における結合および分離の両方である無制限の表現である。例えば、「A、B、およびCのうちの少なくとも1つ」、「A、B、またはCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたは複数」、「A、B、またはCのうちの1つまたは複数」、および「A、B、またはC、あるいはその組み合わせ」という表現の各々は、A単独、B単独、C単独、AおよびBの組み合わせ、AおよびCの組み合わせ、BおよびCの組み合わせ、またはA、B、およびCの組み合わせを意味する。
【0113】
本明細書において定義されるとき、「自動的に」は、ユーザの介入がないことを意味する。
【0114】
本明細書において定義されるとき、「含む」、「含んでいる」、「備える」、または「備えている」、あるいはその組み合わせは、述べられた機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数の他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外しない。
【0115】
本明細書において定義されるとき、「~場合」は、文脈に応じて「~に応答して(in response to)」または「~に応答して(responsive to)」を意味する。したがって、「~が決定された場合」という語句は、文脈に応じて「~と決定することに応答して(in response to)」または「~と決定することに応答して(responsive to)」を意味すると解釈されてよい。同様に、「[述べられた条件またはイベント]が検出された場合」という語句は、文脈に応じて「[述べられた条件またはイベント]を検出すると」または「[述べられた条件またはイベント]を検出することに応答して(in response to)」または「[述べられた条件またはイベント]を検出することに応答して(responsive to)」を意味すると解釈されてよい。
【0116】
本明細書において定義されるとき、「1つの実施形態」、「実施形態」、「1つまたは複数の実施形態では」、「特定の実施形態では」、または同様の言い回しは、実施形態に関連して説明された特定の特徴、構造、または特性が、本開示内で説明された少なくとも1つの実施形態に含まれるということを意味する。したがって、本開示全体を通じて、前述の語句または同様の言い回しあるいはその両方の出現は、すべて同じ実施形態を指すことがあるが、必ずしもそうとは限らない。
【0117】
本明細書において定義されるとき、「~に応答して(in response to)」および「~に応答して(responsive to)」という語句は、アクションまたはイベントに容易に応答または反応することを意味する。したがって、第2のアクションが第1のアクション「に応答して(in response to)」または「に応答して(responsive to)」実行される場合、第1のアクションの発生と第2のアクションの発生の間には因果関係が存在する。「~に応答して(in response to)」または「~に応答して(responsive to)」という語句は、因果関係を示す。
【0118】
本明細書において定義されるとき、「リアルタイム」は、行われる特定のプロセスまたは決定に関してユーザまたはシステムが十分に即時であると感知する処理の応答性のレベル、あるいはプロセッサが何らかの外部プロセスに遅れずについていくことを可能にする処理の応答性のレベルを意味する。
【0119】
本明細書において定義されるとき、「実質的に」は、列挙された特性、パラメータ、または値が正確に達成される必要がなく、例えば、特性がもたらすよう意図された効果を不可能にしない量で、許容誤差、測定誤差、測定精度の制限、または当業者に知られている他の要因を含む逸脱または変動が発生してよいということを意味する。
【0120】
本明細書において定義されるとき、「ユーザ」「個人」、および「ゲスト」は、それぞれ人間のことを指す。
【0121】
本明細書では、第1、第2などの用語が、さまざまな要素を表すために使用されることがある。特に述べられない限り、または文脈が特に明確に示さない限り、これらの用語は、ある要素を別の要素と区別するためのみに使用されるため、これらの要素はこれらの用語によって制限されるべきではない。
【0122】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
【0123】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
【0124】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0125】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体を実行するか、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行するか、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行するか、あるいはリモート・コンピュータ上またはサーバ上で全体を実行してよい。後者のシナリオでは、リモート・コンピュータを、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続を、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行うことができる。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用して電子回路をカスタマイズすることによって、コンピュータ可読プログラム命令を実行してよい。
【0126】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0127】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作り出すべくコンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
【0128】
また、コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータ実装プロセスを生成すべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれ、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行させるものであってもよい。
【0129】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、モジュール、セグメント、または命令の部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、1つのステップとして実行されるか、同時に実行されるか、時間的に部分的または完全に重複する方法で実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも留意されたい。
【0130】
本発明のさまざまな実施形態の説明は、例示の目的で提示されており、網羅的であることも、開示された実施形態に制限されることも意図されていない。説明された実施形態の範囲から逸脱することなく、多くの変更および変形が、当業者にとって明らかになるであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
【手続補正書】
【提出日】2023-10-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1のユーザの人工知能(AI)音声応答システムを使用して第2のユーザの物理的存在を電子的に知覚することと、
前記第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスに対するアクセス権限を要求する、前記第1のユーザのAI音声応答システムによって生成された音声要求を伝達し、前記第2のユーザから音声応答を受信することと、
前記音声応答に基づいて、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することであって、前記電子通信セッションが、前記第2のユーザのポータブル・デバイスとの電子通信接続を介して、前記第1のユーザのAI音声応答システムによって開始される、前記インスタンス化することと、
データ通信ネットワークを介して、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムから前記知識コーパスの選択された部分を取り出すことであって、前記知識コーパスの前記選択された部分が、前記第1のユーザのAI音声応答システムによって伝達された前記音声要求に対する前記第2のユーザの前記音声応答に基づいて選択される、前記取り出すことと、
前記知識コーパスの前記選択された部分に基づいて、前記第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することとを含む、コンピュータ実装方法。
【請求項2】
前記伝達することが、前記第1のユーザのAI音声応答システムによって、電子メモリに格納されたデータを検索することと、前記電子メモリに格納されたデータが、電子的に格納された以前の許可と前記知識コーパスの前記選択された部分とを欠いているということを決定することとに応答して実行される、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記電子メモリに格納されたデータが、電子的に格納された以前の許可を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記知識コーパスの選択された部分を前記取り出すことを実行することと、
前記電子メモリに格納されたデータが前記知識コーパスの前記選択された部分を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記選択された部分を前記取り出すことをやめることとをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記知覚することが、前記第1のユーザのAI音声応答システムによって第1のユーザの音声プロンプトを認識することと、前記第1のユーザのAI音声応答システムによって前記第2のユーザへの参照を識別することとを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記知覚することが、前記第1のユーザのAI音声応答システムに動作可能に結合されたIoTカメラによって捕捉された画像に基づいて、前記第2のユーザの視覚認識を実行することを含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第1のユーザのAI音声応答システムに通信可能に結合された第1のユーザのデバイスから前記第1のユーザのAI音声応答システムによって捕捉されたデータに基づいて、前記第1のユーザのAI音声応答システムによって第2のユーザの情報を取得することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第2のユーザからの保持プロンプトを受信せずに既定の時間間隔が経過した後に、前記第1のユーザのAI音声応答システムが、前記知識コーパスの前記取り出された選択された部分を破棄する、請求項1に記載のコンピュータ実装方法。
【請求項8】
動作を開始するように構成されたプロセッサに動作可能に結合された第1のユーザの人工知能(AI)音声応答システムを備えるシステムであって、前記動作が、
第2のユーザの物理的存在を電子的に知覚することと、
前記第2のユーザのAI音声応答システムによって電子的に格納された知識コーパスにアクセスすることの音声要求を伝達し、前記第2のユーザから音声応答を受信することと、
前記音声応答に基づいて、前記第1のユーザのAI音声応答システムによって、前記第2のユーザのAI音声応答システムとの電子通信セッションをインスタンス化することであって、前記電子通信セッションが、前記第2のユーザのポータブル・デバイスとの電子通信接続を介して開始される、前記インスタンス化することと、
データ通信ネットワークを介して、前記第2のユーザのAI音声応答システムから前記知識コーパスの選択された部分を取り出すことであって、前記知識コーパスの前記選択された部分が、前記要求に対する前記第2のユーザの前記音声応答に基づいて選択される、前記取り出すことと、
前記知識コーパスの前記選択された部分に基づいて、前記第1のユーザのAI音声応答システムによって解釈された音声プロンプトに応答して、1つまたは複数のIoTデバイスによってアクションを開始することと
を含む、システム。
【請求項9】
前記伝達することが、電子メモリに格納されたデータを検索することと、前記電子メモリに格納されたデータが、電子的に格納された以前の許可と前記知識コーパスの前記選択された部分とを欠いているということを決定することとに応答して実行される、請求項8に記載のシステム。
【請求項10】
前記プロセッサが、
前記電子メモリに格納されたデータが、電子的に格納された以前の許可を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記知識コーパスの選択された部分を前記取り出すことを実行することと、
前記電子メモリに格納されたデータが前記知識コーパスの前記選択された部分を含んでいるということを決定することに応答して、前記データ通信ネットワークを介して前記選択された部分を前記取り出すことをやめることとを含むさらなる動作を開始するように構成される、請求項8に記載のシステム。
【請求項11】
前記知覚することが、第1のユーザの音声プロンプトを認識することと、前記音声プロンプト内で前記第2のユーザへの参照を識別することとを含む、請求項8に記載のシステム。
【請求項12】
前記知覚することが、前記システムに動作可能に結合されたカメラによって捕捉された画像に基づいて、前記第2のユーザの視覚認識を実行することを含む、請求項8に記載のシステム。
【請求項13】
前記プロセッサが、前記システムに通信可能に結合された第1のユーザのデバイスによって捕捉されたデータに基づいて第2のユーザの情報を取得することを含む、さらなる動作を開始するように構成される、請求項8に記載のシステム。
【請求項14】
コンピュータ・プログラムであって、コンピュータに、請求項1乃至7いずれか一項に記載のコンピュータ実装方法を実行させる、コンピュータ・プログラム。
【国際調査報告】