(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-05
(54)【発明の名称】関心ベースのアクティベーションおよび検索の深さ
(51)【国際特許分類】
G06F 3/16 20060101AFI20240628BHJP
G06F 16/90 20190101ALI20240628BHJP
G10L 15/10 20060101ALI20240628BHJP
【FI】
G06F3/16 650
G06F3/16 610
G06F3/16 630
G06F16/90 100
G10L15/10 500T
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023572704
(86)(22)【出願日】2022-05-11
(85)【翻訳文提出日】2023-11-24
(86)【国際出願番号】 CN2022092324
(87)【国際公開番号】W WO2022252951
(87)【国際公開日】2022-12-08
(32)【優先日】2021-06-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】エダ、サシカント
(72)【発明者】
【氏名】ラクシト、サルバジット ケー.
(72)【発明者】
【氏名】ジャイン、アビシェク
(72)【発明者】
【氏名】パティル、サンディープ ラメシュ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
5B175GA04
(57)【要約】
本発明の実施形態は、ユーザに関連する電子デバイスから受信されたデータに基づいてユーザの関心を決定し、このデータはユーザから捕捉された可聴音声と、ユーザの1つまたは複数の表情とを含む。本発明の実施形態は、ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するためのユーザからの可聴音声に対する第1の波長を識別する。本発明の実施形態は、ユーザからの可聴音声に対するトピックを識別し、そのトピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエントであることを決定したことに応答して、インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンドする。
【特許請求の範囲】
【請求項1】
ユーザに関連する電子デバイスから受信されたデータに基づいて前記ユーザの関心を決定することであって、前記データが前記ユーザから捕捉された可聴音声と、前記ユーザの1つまたは複数の表情とを含む、前記決定することと、
前記ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するための前記ユーザからの前記可聴音声に対する第1の波長を識別することと、
前記ユーザからの前記可聴音声に対するトピックを識別することと、
前記トピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエントであることを決定したことに応答して、前記インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンドすることと
を含む、コンピュータ実装方法。
【請求項2】
前記ユーザに対する前記ユーザ・プロファイルに関連する前記複数の波長から第1の波長セットを識別することであって、前記第1の波長セットが前記インテリジェント・バーチャル・アシスタントに提示される第1の複数の質問に関連する、前記識別することと、
前記ユーザに関連する前記複数の波長から第2の波長セットを識別するために波長明確化テストを実施することであって、前記第2の波長セットが前記インテリジェント・バーチャル・アシスタントに提示されない第2の複数の質問に関連する、前記波長明確化テストを実行することと、
前記第1の波長セットおよび前記第2の波長セットに基づいて前記ユーザに対する前記ユーザ・プロファイルを確立することと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記波長明確化テストを実施することが、
前記インテリジェント・バーチャル・アシスタントに複数のサンプル質問を送信することと、
前記ユーザに前記複数のサンプル質問を音声で繰り返すよう要求することを前記インテリジェント・バーチャル・アシスタントに指示することであって、前記複数のサンプル質問が前記インテリジェント・バーチャル・アシスタントによって実行可能なコマンドに関係しない、前記指示することと、
前記ユーザによって音声で繰り返された前記複数のサンプル質問に対する前記第2の波長セットを識別することと
をさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記ユーザに関連する電子デバイスから受信されたデータに基づいて関心のグレードを決定することと、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドに対する検索の深さスコアを決定することと、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する前記検索の深さスコアをバックエンド検索エンジンに送信したことに応答して、前記検索の深さスコアに基づいて前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための応答時間を前記ユーザに提供することと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記ユーザから前記検索の深さスコアに対する修正を受信することをさらに含み、修正された検索の深さスコアが、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための前記応答時間を変更する、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析することと、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定することであって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定することと、
前記少なくとも2つの知識ベースに対する並列化がサポートされることを決定したことに応答して、前記少なくとも2つの知識ベースによる前記検索を並列化することと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析することと、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定することであって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定することと、
前記少なくとも2つの知識ベースに対する並列化がサポートされないことを決定したことに応答して、前記バックエンド検索エンジンに第1の知識ベースをロードすることと、
前記第1の知識ベースからの結果を第2の知識ベースに送信することと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体に記憶されたプログラム命令とを含むコンピュータ・プログラム製品であって、前記プログラム命令が、
ユーザに関連する電子デバイスから受信されたデータに基づいて前記ユーザの関心を決定するためのプログラム命令であって、前記データが前記ユーザから捕捉された可聴音声と、前記ユーザの1つまたは複数の表情とを含む、前記決定するためのプログラム命令と、
前記ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するための前記ユーザからの前記可聴音声に対する第1の波長を識別するためのプログラム命令と、
前記ユーザからの前記可聴音声に対するトピックを識別するためのプログラム命令と、
前記トピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエントであることを決定したことに応答して、前記インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンドするためのプログラム命令と
を含む、コンピュータ・プログラム製品。
【請求項9】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザに対する前記ユーザ・プロファイルに関連する前記複数の波長から第1の波長セットを識別するためのプログラム命令であって、前記第1の波長セットが前記インテリジェント・バーチャル・アシスタントに提示される第1の複数の質問に関連する、前記識別するためのプログラム命令と、
前記ユーザに関連する前記複数の波長から第2の波長セットを識別するために波長明確化テストを実施するためのプログラム命令であって、前記第2の波長セットが前記インテリジェント・バーチャル・アシスタントに提示されない第2の複数の質問に関連する、前記波長明確化テストを実施するためのプログラム命令と、
前記第1の波長セットおよび前記第2の波長セットに基づいて前記ユーザに対する前記ユーザ・プロファイルを確立するためのプログラム命令と
をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項10】
前記波長明確化テストを実施するための前記プログラム命令が、
前記インテリジェント・バーチャル・アシスタントに複数のサンプル質問を送信するためのプログラム命令と、
前記ユーザに前記複数のサンプル質問を音声で繰り返すよう要求することを前記インテリジェント・バーチャル・アシスタントに指示するためのプログラム命令であって、前記複数のサンプル質問が前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドに関係しない、前記指示するためのプログラム命令と、
前記ユーザによって音声で繰り返された前記複数のサンプル質問に対する前記第2の波長セットを識別するためのプログラム命令と
を含む、請求項9に記載のコンピュータ・プログラム製品。
【請求項11】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザに関連する電子デバイスから受信されたデータに基づいて関心のグレードを決定するためのプログラム命令と、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドに対する検索の深さスコアを決定するためのプログラム命令と、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する前記検索の深さスコアをバックエンド検索エンジンに送信したことに応答して、前記検索の深さスコアに基づいて前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための応答時間を前記ユーザに提供するためのプログラム命令と
をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項12】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザから前記検索の深さスコアに対する修正を受信するためのプログラム命令をさらに含み、修正された検索の深さスコアが、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための前記応答時間を変更する、請求項11に記載のコンピュータ・プログラム製品。
【請求項13】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析するためのプログラム命令と、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定するためのプログラム命令であって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定するためのプログラム命令と、
前記少なくとも2つの知識ベースに対する並列化がサポートされることを決定したことに応答して、前記少なくとも2つの知識ベースによる前記検索を並列化するためのプログラム命令と
をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項14】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析するためのプログラム命令と、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定するためのプログラム命令であって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定するためのプログラム命令と、
前記少なくとも2つの知識ベースに対する並列化がサポートされないことを決定したことに応答して、前記バックエンド検索エンジンに第1の知識ベースをロードするためのプログラム命令と、
前記第1の知識ベースからの結果を第2の知識ベースに送信するためのプログラム命令と
をさらに含む、請求項8に記載のコンピュータ・プログラム製品。
【請求項15】
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読記憶媒体と、
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のために前記1つまたは複数のコンピュータ可読記憶媒体に記憶されたプログラム命令と
を含むコンピュータ・システムであって、前記プログラム命令が、
1つまたは複数のコンピュータ可読記憶媒体と、前記1つまたは複数のコンピュータ可読記憶媒体に記憶されたプログラム命令とを含み、前記プログラム命令が、
ユーザに関連する電子デバイスから受信されたデータに基づいて前記ユーザの関心を決定するためのプログラム命令であって、前記データが前記ユーザから捕捉された可聴音声と、前記ユーザの1つまたは複数の表情とを含む、前記決定するためのプログラム命令と、
前記ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するための前記ユーザからの前記可聴音声に対する第1の波長を識別するためのプログラム命令と、
前記ユーザからの前記可聴音声に対するトピックを識別するためのプログラム命令と、
前記トピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエントであることを決定したことに応答して、前記インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンドするためのプログラム命令と
を含む、コンピュータ・システム。
【請求項16】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザに対する前記ユーザ・プロファイルに関連する前記複数の波長から第1の波長セットを識別するためのプログラム命令であって、前記第1の波長セットが前記インテリジェント・バーチャル・アシスタントに提示される第1の複数の質問に関連する、前記識別するためのプログラム命令と、
前記ユーザに関連する前記複数の波長から第2の波長セットを識別するために波長明確化テストを実施するためのプログラム命令であって、前記第2の波長セットが前記インテリジェント・バーチャル・アシスタントに提示されない第2の複数の質問に関連する、前記波長明確化テストを実行するためのプログラム命令と、
前記第1の波長セットおよび前記第2の波長セットに基づいて前記ユーザに対する前記ユーザ・プロファイルを確立するためのプログラム命令と
をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項17】
前記波長明確化テストを実行するための前記プログラム命令が、
前記インテリジェント・バーチャル・アシスタントに複数のサンプル質問を送信するためのプログラム命令と、
前記ユーザに前記複数のサンプル質問を音声で繰り返すよう要求することを前記インテリジェント・バーチャル・アシスタントに指示するためのプログラム命令であって、前記複数のサンプル質問が前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドに関係しない、前記指示するためのプログラム命令と、
前記ユーザによって音声で繰り返された前記複数のサンプル質問に対する前記第2の波長セットを識別するためのプログラム命令と
を含む、請求項16に記載のコンピュータ・システム。
【請求項18】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザに関連する電子デバイスから受信されたデータに基づいて関心のグレードを決定するためのプログラム命令と、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実行可能なコマンドに対する検索の深さスコアを決定するためのプログラム命令と、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する前記検索の深さスコアをバックエンド検索エンジンに送信したことに応答して、前記検索の深さスコアに基づいて前記インテリジェント・バーチャル・アシスタントによって実行可能な前記コマンドを実行するための応答時間を前記ユーザに提供するためのプログラム命令と
をさらに含む、請求項15に記載のコンピュータ・システム。
【請求項19】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザから前記検索の深さスコアに対する修正を受信するためのプログラム命令をさらに含み、修正された検索の深さスコアが、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための前記応答時間を変更する、請求項18に記載のコンピュータ・システム。
【請求項20】
前記1つまたは複数のコンピュータ可読記憶媒体に記憶された前記プログラム命令が、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析するためのプログラム命令と、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定するためのプログラム命令であって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定するためのプログラム命令と、
前記少なくとも2つの知識ベースに対する並列化がサポートされないことを決定したことに応答して、前記バックエンド検索エンジンに第1の知識ベースをロードするためのプログラム命令と、
前記第1の知識ベースからの結果を第2の知識ベースに送信するためのプログラム命令と
をさらに含む、請求項15に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般的にインテリジェント・バーチャル・アシスタントに関し、特にユーザの関心に基づいてインテリジェント・バーチャル・アシスタントを使用するデバイスに対するアクティベーションおよび検索の深さの定義を行うことに関する。
【背景技術】
【0002】
インテリジェント・バーチャル・アシスタント(IVA)は、ユーザによって提供される言葉によるコマンドまたは質問に基づいて、ユーザに対するさまざまなタスクを実施し得るソフトウェア・エージェントを表し、IVAは電子デバイスにおいて動作する。インターネット・オブ・シングス(IoT)デバイスは、IVAを有する電子デバイスの一例であり、任意の言葉によるコマンドまたは質問を処理するために、インターネットを介して他のデバイスおよびシステムと接続してデータを交換することができる。IVAは通常、ある単語または語句によってアクティベートされ、ここでIVAは、ユーザが話すその単語または語句の後に可聴コマンドまたはクエリを受信する。IVAは、ユーザによって提供されるアクティベーションの単語および質問を受信し、質問に対する適切な応答を提供するための検索を実施し、適切な応答を可聴応答の形でユーザに返すように提供し得る。
【発明の概要】
【0003】
本発明による実施形態は、ユーザの関心ベースのアクティベーションおよび検索の深さのための方法、コンピュータ・プログラム製品、およびコンピュータ・システムを開示し、この方法、コンピュータ・プログラム製品、およびコンピュータ・システムは、ユーザに関連する電子デバイスから受信されたデータに基づいてユーザの関心を決定でき、データは、ユーザから捕捉された可聴音声と、ユーザの1つまたは複数の表情とを含む。この方法、コンピュータ・プログラム製品、およびコンピュータ・システムは、ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するためのユーザからの可聴音声に対する第1の波長を識別し得る。この方法、コンピュータ・プログラム製品、およびコンピュータ・システムは、ユーザからの可聴音声に対するトピックを識別し得る。この方法、コンピュータ・プログラム製品、およびコンピュータ・システムは、そのトピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエント(an intended recipient)であることを決定したことに応答して、インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンド(suspend)し得る。
【図面の簡単な説明】
【0004】
【
図1】本発明の実施形態による分散型データ処理環境を示す機能ブロック図である。
【
図2】本発明の実施形態による、ユーザの関心に基づいてインテリジェント・バーチャル・アシスタントをアクティベートする関心コマンド・プログラムに対するフローチャートを示す図である。
【
図3】本発明の実施形態による、ユーザによって提供されるコマンドに対する検索の深さを決定および修正する関心コマンド・プログラムに対するフローチャートを示す図である。
【
図4】本発明の実施形態による、ユーザによって提供されるコマンドに対する検索を実施するための知識ベースを決定および管理する関心コマンド・プログラムに対するフローチャートを示す図である。
【
図5】本発明の実施形態による、たとえば
図1のサーバ・コンピュータなどのコンピュータ・システムのコンポーネントを示すブロック図である。
【
図6】本発明の実施形態によるクラウド・コンピューティング環境を示す図である。
【
図7】本発明の実施形態による抽象化モデル・レイヤを示す図である。
【発明を実施するための形態】
【0005】
本発明の実施形態は、インテリジェント・バーチャル・アシスタントに対するユーザの関心ベースのアクティベーションおよび検索の深さを提供する。フレームワークは、インテリジェント・バーチャル・アシスタントと対話するユーザの可聴音声の波長を観測し、観測した波長をユーザに関連するプロファイルに記憶する。ユーザに関連するプロファイルは、インテリジェント・バーチャル・アシスタントに提示されるその後のコマンドおよび質問から生じる学習に基づいて更新可能である。フレームワークは、質問をするとき、明確化を求めるとき、およびユーザによってレシピエント対インテリジェント・バーチャル・アシスタント(recipient versus the intelligent virtual assistant)に質問が提示されるときのユーザの波長変調も観測する。フレームワークに基づいて、提案される発明の実施形態は、ユーザの関心を決定し、ユーザの可聴音声に対する波長を使用して、インテリジェント・バーチャル・アシスタントが質問の対象レシピエントかどうかを決定し得る。
【0006】
本発明の実施形態は、ユーザの視線、音声パターン識別、眼球運動、および履歴パターンに基づいて、ユーザの関心を識別する。履歴学習を利用して、関心コマンド・プログラムは、ユーザに関連する電子デバイスからのデータに基づいてあるトピックに関するユーザの関心を予測し、インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語または語句を回避して(bypassing)インテリジェント・バーチャル・アシスタントをアクティベートし得る。この関心予測プログラムはユーザの関心を予測して、インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを有する可聴音声に関するアラートをユーザに関連する電子デバイス(例えば、スマート・コンタクト・レンズ)に送信し、ここでアクティベーションの単語または語句は回避される。アラートは、ユーザに対する関心が検出されたことをユーザに通知し、可聴音声はインテリジェント・バーチャル・アシスタントによって実施可能なコマンドを含む。ユーザは、電子デバイス(例えば、第1の眼球の動き(eye motion))を介してインテリジェント・バーチャル・アシスタントに実行可能なコマンドを送信することによってインテリジェント・バーチャル・アシスタントをアクティベートすることを選択できるか、またはユーザは、電子デバイス(例えば、第2の動き)を介して実行可能なコマンドを無視することを選択できる。関心予測プログラムは、履歴学習を利用して、アクティベーションの単語または語句を回避し(bypassing)ながらインテリジェント・バーチャル・アシスタントをアクティベートするためのユーザの関心レベルを決定する。マルチユーザ環境(例えば、オフィス設定)において、各ユーザが関連電子デバイスを有するとき、関心予測プログラムは、関連電子デバイスを介して複数のユーザの各々と対話しながら、それぞれの関連電子デバイスのインテリジェント・バーチャル・アシスタントからの実行可能なコマンドに対する応答を提供し得る。
【0007】
本発明の実施形態は、ユーザによって提供されるコマンドに対する検索の深さを決定および修正し得る。関心予測プログラムは、ユーザが関心を表していることを決定し、かつそのユーザに対する関心のグレードを決定することができる。ユーザに対する関心のグレードおよびユーザからのコマンドに基づいて、関心コマンド・プログラムは、検索の深さスコアを決定し、インテリジェント・バーチャル・アシスタントに関連するバックエンド検索エンジンにその検索の深さスコアおよびコマンドを送信する。関心コマンド・プログラムはコマンドに対する応答時間をユーザに提供し、ユーザから修正された検索の深さスコアを受信して、インテリジェント・バーチャル・アシスタントがバックエンド検索エンジンを使用してコマンドをどのように処理するかを調整し得る。
【0008】
本発明の実施形態は、ユーザによって提供されるコマンドに対する検索を実施するための知識ベースを決定および管理し得る。関心コマンド・プログラムは、ユーザからのコマンドを分析して、そのコマンドに対する少なくとも2つの知識ベース(例えば、スポーツ、科学、工学、歴史)を決定し得る。関心コマンド・プログラムは、コマンドに対する少なくとも2つの知識ベースと、コマンドとをバックエンド検索エンジンに送信し得る。少なくとも2つの知識ベースが決定されたときに並列化がサポートされることを関心コマンド・プログラムが決定した場合は、関心コマンド・プログラムは少なくとも2つの知識ベースによる検索を並列化する。並列化がサポートされないことを関心コマンド・プログラムが決定した場合は、関心コマンド・プログラムは第1の知識ベースをロードし、第1の知識ベースに対するインテリジェント・バーチャル・アシスタントに関連するバックエンド検索エンジンからの結果を受信したことに応答して、その結果を第2の知識ベースに送信する。
【0009】
図1は、本発明の一実施形態による一般的に100で示される分散型データ処理環境を示す機能ブロック図である。本明細書において使用される「分散型」という用語は、単一のコンピュータ・システムとして共に動作する複数の物理的に異なるデバイスを含むコンピュータ・システムを説明する。
図1は一実装の単なる例示を提供するものであり、異なる実施形態が実装され得る環境に関する任意の限定を意味するものではない。特許請求の範囲に記述される本発明の範囲から逸脱することなく、示される環境に当業者によって多くの修正が行われてもよい。
【0010】
分散型データ処理環境は、サーバ・コンピュータ102と、クライアント・デバイス104と、拡張現実(AR)デバイス106と、インターネット・オブ・シングス(IoT)デバイス108とを含み、これらはすべてネットワーク110を通じて相互接続される。サーバ・コンピュータ102は、スタンドアロン・コンピュータ・デバイス、管理サーバ、ウェブ・サーバ、モバイル・コンピュータ・デバイス、またはデータの受信、送信、および処理を行い得る任意のその他の電子デバイスもしくはコンピュータ・システムであり得る。他の実施形態において、サーバ・コンピュータ102は、たとえばクラウド・コンピューティング環境などにおいてサーバ・システムとして複数のコンピュータを使用するサーバ・コンピュータ・システムを表し得る。別の実施形態において、サーバ・コンピュータ102は、ラップトップ・コンピュータ、タブレット・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、スマート・フォン、またはネットワーク110を介して分散型データ処理環境内のクライアント・デバイス104、ARデバイス106、IoTデバイス108、および他のコンピュータ・デバイス(図示せず)と通信できる任意のプログラマブル電子デバイスであり得る。別の実施形態において、サーバ・コンピュータ102は、分散型データ処理環境内でアクセスされるときにシームレス・リソースの単一のプールとして動作するクラスタ化されたコンピュータおよびコンポーネント(例えば、データベース・サーバ・コンピュータ、アプリケーション・サーバ・コンピュータなど)を使用するコンピュータ・システムを表す。サーバ・コンピュータ102は関心コマンド・プログラム112と、データベース114とを含む。
図5に関してさらに詳細に示されて説明されるとおり、サーバ・コンピュータ102は内部および外部ハードウェア・コンポーネントを含んでもよい。
【0011】
クライアント・デバイス104は、ラップトップ・コンピュータ、タブレット・コンピュータ、スマート・フォン、スマート・ウォッチ、スマート・スピーカ、またはネットワーク110を介して分散型データ処理環境内のさまざまなコンポーネントおよびデバイス(例えば、サーバ・コンピュータ102、ARデバイス106、およびIoTデバイス108)と通信できる任意のプログラマブル電子デバイスであり得る。クライアント・デバイス104はウェアラブル・コンピュータであってもよい。ウェアラブル・コンピュータは、保持者が衣類の下、上、または衣類と共に身に着けたり、眼鏡、帽子、またはその他の装身具に入れるかまたは接続して身に着けたりすることのある小型の電子デバイスである。ウェアラブル・コンピュータは、単なるハードウェア・コード・ロジックよりも複雑なコンピュータのサポートを必要とするアプリケーションに対して特に有用である。一般的にクライアント・デバイス104は、機械可読プログラム命令を実行でき、かつたとえばネットワーク110などのネットワークを介して分散型データ処理環境内の他のコンピュータ・デバイス(図示せず)と通信できる1つまたは複数のプログラマブル電子デバイス、またはプログラマブル電子デバイスの組み合わせを表す。一実施形態において、クライアント・デバイス104は、ユーザに関連する1つまたは複数のデバイスを表す。クライアント・デバイス104は、サーバ・コンピュータ102の関心コマンド・プログラム112と対話するためのユーザ・インターフェース124のインスタンスを含む。
【0012】
ARデバイス106は、ユーザにコンテンツを表示できる集積マイクロ回路を有するユーザ・ウェアラブル拡張現実デバイス(例えば、電子コンタクト・レンズ、ウェアラブル電子ヘッドセット)を表す。ARデバイス106は、マイクロコントローラ116と、ディスプレイ118と、マイクロホン120と、カメラ122とを含み、関心コマンド・プログラム112は、IoTデバイス108において動作する1つまたは複数のインテリジェント・バーチャル・アシスタントによる可能な実行のために、ARデバイス106を身に着けたユーザからの可聴音声を受信し得る。マイクロコントローラ116は、ディスプレイ118のためのディスプレイ制御回路と、ネットワーク110を介して統合電源と通信してそれを管理するための通信および電力変換回路と、ARデバイス106を身に着けているユーザの眼球運動をモニタするためのセンサ読出しおよび制御回路とを含み得る。ディスプレイ118は、ARデバイス106のユーザが関心コマンド・プログラム112からのさまざまな通知およびクエリを見ることを可能にする。ARデバイス106が電子コンタクト・レンズである例において、ディスプレイ118は、コンテンツを見るためのARデバイス106に統合された半透明のディスプレイおよびマイクロレンズ・アレイである。ARデバイス106はまた、電力貯蔵モジュールと、電力貯蔵モジュールを充電するための太陽電池モジュールと、データを収集する(例えば、眼球運動を追跡する)ためのバイオセンサ・モジュールと、ネットワーク110を介してサーバ・コンピュータ102、クライアント・デバイス104、およびIoTデバイス108と通信するための通信および電力モジュールとを含み得る。マイクロホン120はユーザからの可聴音声を捕捉し、マイクロコントローラ116は捕捉された可聴音声をサーバ・コンピュータ102の関心コマンド・プログラム112に送信する。ARデバイス106はまた、ユーザがマイクロホン120によって捕捉可能な可聴音声を提供しているときの顔の反応を捕捉するためのカメラ122を含む。
【0013】
IoTデバイス108は、クライアント・デバイス104もしくはARデバイス106またはその両方のユーザによって提供されるボイス・コマンドを受信および実行できる、ネットワーク110に接続された電子デバイスを表す。各IoTデバイス108は、ユーザによって提供されるコマンドまたは質問に基づいて、ユーザに対するさまざまなタスクを実施し得るソフトウェア・エージェントを表すインテリジェント・バーチャル・アシスタント(IVA)のインスタンスを含む。IoTデバイス108は、電気器具、ホーム・セキュリティ・システム、ヘルス・モニタリング・デバイス、工場設備、無線在庫トラッカ、バイオメトリック・セキュリティ・スキャナ、ならびにセンサと、インターネット(例えば、ネットワーク110)を通じて他のデバイスおよびシステムと接続してデータを交換するためのソフトウェアとが埋め込まれた任意のその他の電子デバイスを含み得るが、それに限定されない。
【0014】
ネットワーク110は、たとえば遠隔通信ネットワーク、ローカル・エリア・ネットワーク(LAN)、たとえばインターネットなどの広域ネットワーク(WAN)、またはこれら3つの組み合わせなどであってもよく、かつ有線、無線、または光ファイバ接続を含み得る。ネットワーク110は、ボイス、データ、およびビデオ情報を含むマルチメディア信号を含む、データ、ボイス、もしくはビデオ信号、またはそれらの組み合わせを受信および送信できる、1つまたは複数の有線もしくは無線またはその両方のネットワークを含み得る。一般的にネットワーク110は、サーバ・コンピュータ102と、クライアント・デバイス104と、ARデバイス106と、IoTデバイス108と、分散型データ処理環境内のその他のコンピュータ・デバイス(図示せず)との間の通信をサポートする接続およびプロトコルの任意の組み合わせであり得る。
【0015】
ユーザの関心に基づいてIoTデバイス108で動作するIVAをアクティベートするために、関心コマンド・プログラム112は、IoTデバイス108に近接するユーザの関心を決定し、ここでユーザは、クライアント・デバイス104もしくはARデバイス106またはその両方に関連している。ARデバイス106は、マイクロホン120およびカメラ122を通じてさまざまなデータを捕捉し、関心コマンド・プログラム112がさまざまなデータを受信した後に、関心コマンド・プログラム112は、ユーザが関心または関心のある気持ちを表していることを決定する。関心コマンド・プログラム112は、ユーザの可聴音声におけるボイス波長を識別してコマンド検出モードを開始し、ここでボイス波長は、ユーザが表した関心または関心のある気持ちに関連している。関心コマンド・プログラム112は、ユーザからの可聴音声に対するトピックを識別して、ユーザからの可聴音声の対象レシピエントを決定する。可聴音声がIoTデバイス108で動作するIVAに向けられたものではないことを関心コマンド・プログラム112が決定した場合、関心コマンド・プログラム112はその可聴音声を無視する。可聴音声がIoTデバイス108で動作するIVAに向けられたものであることを関心コマンド・プログラム112が決定した場合、関心コマンド・プログラム112は、IoTデバイス108で動作するIVAに対するアクティベーションの単語をサスペンドする。関心コマンド・プログラム112は、IoTデバイス108で動作するIVAに可聴音声を送信するか、IoTデバイス108で動作するIVAにユーザからの可聴音声を聞くように指示するか、もしくはIoTデバイス108で動作するIVAが捕捉できるように可聴音声を繰り返すことをユーザに指示するか、またはそれらの組み合わせを行い得る。
【0016】
ユーザによって提供されるコマンドに対する検索の深さを決定および修正するために、関心コマンド・プログラム112は、ユーザが関心を表していることを決定し、かつユーザに対する関心のグレードを決定する。ユーザに対する関心のグレードおよびユーザからのコマンドに基づいて、関心コマンド・プログラム112は検索の深さスコアを決定し、バックエンド検索エンジンにその検索の深さスコアおよびコマンドを送信する。関心コマンド・プログラム112は、コマンドに対する応答時間をユーザに提供し、ユーザから修正された検索の深さスコアを受信して、IoTデバイス108で動作するIVAがバックエンド検索エンジンを使用してコマンドをどのように処理するかを調整する。
【0017】
ユーザによって提供されるコマンドに対する検索を実施するための知識ベースを決定および管理するために、関心コマンド・プログラム112は、ユーザからのコマンドを分析して、そのコマンドに対する知識ベースを決定する。関心コマンド・プログラム112は、コマンドに対する知識ベースと、コマンドとをバックエンド検索エンジンに送信する。並列化がサポートされることを関心コマンド・プログラム112が決定した場合は、関心コマンド・プログラム112は、2つの知識ベースによる検索を並列化する。並列化がサポートされないことを関心コマンド・プログラム112が決定した場合は、関心コマンド・プログラム112は、第1の知識ベースをロードし、第1の知識ベースからの結果を受信したことに応答して、その結果を第2の知識ベースに送信する。
【0018】
データベース114は、関心コマンド・プログラム112によって使用されるさまざまなデータを記憶しており、そのデータはユーザ・プロファイル、各ユーザに対する関心ボイス波長、各ユーザに対する検索の深さスコア、および検索可能なコマンドと関連付けるためのさまざまな知識ベースを含むが、それに限定されない。示される実施形態において、データベース114はサーバ・コンピュータ102に存在する。別の実施形態において、関心コマンド・プログラム112がデータベース114にアクセスできるのであれば、データベース114はクライアント・デバイス104または分散型データ処理環境内の他の場所に存在してもよい。データベースは、データの組織化された集合であり、データベース114は、たとえばデータベース・サーバ、ハード・ディスク・ドライブ、またはフラッシュ・メモリなどの、関心コマンド・プログラム112によるアクセスおよび利用が可能なデータおよび構成ファイルを記憶できる任意のタイプのストレージ・デバイスによって実装され得る。
【0019】
ユーザ・インターフェース124は、ユーザがネットワーク110を介してサーバ・コンピュータ102、クライアント・デバイス104、ARデバイス106、およびIoTデバイス108に要求を行うか、またはコマンドを発行することを可能にする。ユーザ・インターフェース124はまた、ユーザがクライアント・デバイス104においてネットワーク110を介して応答された情報および命令を受信することを可能にする。一実施形態において、クライアント・デバイス104のユーザは、自然言語のボイス・コマンドを介してユーザ・インターフェース124にアクセスする。一実施形態において、ユーザ・インターフェース124は、グラフィカル・ユーザ・インターフェース(GUI)またはウェブ・ユーザ・インターフェース(WUI)であってもよく、テキスト、文書、ウェブ・ブラウザ・ウィンドウ、ユーザの選択肢、アプリケーション・インターフェース、および動作に対する命令を表示でき、かつプログラムがユーザに提示する情報(たとえばグラフィック、テキスト、およびサウンドなど)と、ユーザがプログラムを制御するために使用する制御シーケンスとを含む。ユーザ・インターフェース124は、クライアント・デバイス104のユーザがサーバ・コンピュータ102で動作する関心コマンド・プログラム112と対話することを可能にする。
【0020】
図2は、本発明の実施形態による、ユーザの関心に基づいてインテリジェント・バーチャル・アシスタントをアクティベートする関心コマンド・プログラムに対するフローチャートを示す。
【0021】
関心コマンド・プログラム112は、ユーザの可聴音声をIVAに聞かせるためにアクティベーションの単語もしくは語句またはその両方をユーザが使用することなく、ユーザの関心に基づいて電子デバイス(例えば、IoTデバイス)で動作するIVAのアクティベーションを行うことを可能にする。関心コマンド・プログラム112は、電子デバイスで動作するIVAの各ユーザに対するプロファイルを確立でき、各プロファイルは、IVAに質問を向けるときのユーザからの可聴音声に対する波長情報を含む。一実施形態において、IVAは、個人の住居に位置する電子デバイスで動作し、関心コマンド・プログラム112は、その個人の住居に居住する各個人(すなわち、ユーザ)に対するプロファイルを確立する。別の実施形態において、IVAは、オフィスに位置する電子デバイスで動作し、関心コマンド・プログラム112は、そのオフィスの各従業員(すなわち、ユーザ)に対するプロファイルを確立する。関心コマンド・プログラム112は、各ユーザに対するプロファイルを使用して、ユーザの可聴音声をIVAに聞かせるためにアクティベーションの単語もしくは語句またはその両方を使用するときのユーザによる可聴音声に対する波長をモニタすることによって、ユーザの関心を決定するためのフレームワークを確立する。関心コマンド・プログラム112は、可聴音声がコマンドまたは質問を含むかどうかを識別し、IVAに質問が提示されているときのユーザによる可聴音声に対する波長を識別する。関心コマンド・プログラム112は、IVAに提示された質問を伴う可聴音声に対する識別された波長と、ユーザのプロファイルとを関連付ける。
【0022】
さらに、関心コマンド・プログラム112は、電子デバイスで動作するIVAに対して波長明確化テストを実施するように指示し得る。関心コマンド・プログラム112は、IVAにサンプル質問のリストを送信でき、ユーザにそのサンプル質問のリストを繰り返すよう要求することをIVAに指示でき、ここでサンプル質問のリストは、IVAによって実施可能なコマンドまたは質問には関係しない。たとえば、質問は「金曜日にオフィスに入った?」、「土曜日に見たショーはどうだった?」、「週末は何をした?」、および「昨日のミーティング中に何があった?」などを含み得る。ユーザが質問のリストを繰り返すとき、関心コマンド・プログラム112は、IVAではなく別のレシピエントに質問が提示されるときのユーザによる可聴音声に対する波長を識別する。関心コマンド・プログラム112は、IVAではなく別のレシピエントに提示された質問を伴う可聴音声に対する識別された波長と、ユーザのプロファイルとを関連付ける。結果として、関心コマンド・プログラム112は、IVAに提示された質問を伴う可聴音声に対する第1の波長セットと、IVAではなく別のレシピエントに提示された質問を伴う可聴音声に対する第2の波長セットとを含む、ユーザに対するプロファイルを作成する。
【0023】
関心コマンド・プログラム112は、ユーザの関心を決定する(202)。関心コマンド・プログラム112は、たとえばクライアント・デバイスまたは拡張現実(AR)デバイスなどのユーザに関連する電子デバイスを使用して、会話に参加しているユーザに対するさまざまなデータを受信する。そのさまざまなデータは、ユーザから捕捉された可聴音声と、カメラによって捕捉されたユーザの1つまたは複数の表情とを含む。関心コマンド・プログラム112は、ユーザに対するさまざまなデータを使用して、ユーザが関心を表しているかどうかを決定でき、ここで関心は、ユーザの可聴音声において提示される質問か、またはユーザの可聴音声における1つまたは複数の単語に対するボイス・モジュールの形態であり得る。関心コマンド・プログラム112はまた、ユーザに対するさまざまなデータを使用して、ユーザが関心を表しているかどうかを決定でき、ここで関心は、たとえば眉を上げること、素早いまばたき、および頭を傾けることなど、ユーザによる1つまたは複数の表情の形態で提示される。ユーザに関連する電子デバイスからのさまざまなデータに基づいて、関心コマンド・プログラム112は、ユーザが関心を示しているかどうかを決定する。
【0024】
関心コマンド・プログラム112は、コマンド検出モードを開始するためのユーザのボイス波長を識別する(204)。上述のとおり、関心コマンド・プログラム112は、ユーザに関連する電子デバイスからさまざまなデータを受信し、ここでさまざまなデータは、ユーザから捕捉された可聴音声を含む。関心コマンド・プログラム112がユーザの関心を決定する結果をもたらした可聴音声に基づいて、関心コマンド・プログラム112は、コマンド検出モードを開始するためのユーザに対するボイス波長を識別する。コマンド検出モードは、関心コマンド・プログラム112がユーザに対してユーザ・プロファイルと共に記憶された第1の波長セットおよび第2の波長セットに基づいて、ユーザの可聴音声における質問(すなわち、コマンド)を識別することを表す。
【0025】
関心コマンド・プログラム112は、ユーザからの可聴音声に対するトピックを識別する(206)。この実施形態において、関心コマンド・プログラム112は、可聴音声において識別された質問に基づいてユーザからの可聴音声に対するトピックを識別する。別の実施形態において、関心コマンド・プログラム112は、関心コマンド・プログラム112がユーザの関心を決定する結果をもたらしたすべての可聴音声に基づいて、ユーザからの可聴音声に対するトピックを識別する。一例において、電子デバイスによって捕捉された可聴音声は、「ボブ、今朝のミーティングで私は何を聞き逃したかな?」を含む。関心コマンド・プログラム112は、このトピックが特定のレシピエント(すなわち、ボブ)との関連を有する「ミーティング」であると識別する。別の例において、電子デバイスによって捕捉された可聴音声は、「もしまだ野球の試合に行くつもりなら、雨が降らないことを願うよ」を含む。関心コマンド・プログラム112は、このトピックが特定のレシピエントではなく特定の変数との関連を有する「野球の試合」であると識別する。この例において、関心コマンド・プログラム112は、特定の変数が「雨」であり、「雨」が一般的な変数「天気」に関連することを識別する。
【0026】
関心コマンド・プログラム112は、ユーザからの可聴音声の対象レシピエントを決定する(208)。この実施形態において、関心コマンド・プログラム112は、可聴音声に対するトピックに基づいてユーザからの可聴音声の対象レシピエントを決定する。関心コマンド・プログラム112がトピックを特定のレシピエントとの関連を有する「ミーティング」であると識別した前述の例では、ユーザがレシピエントの名前に音声で言及しているため、関心コマンド・プログラム112は、レシピエントが「ボブ」であることを決定する。関心コマンド・プログラム112はまた、可聴音声を捕捉した電子デバイスを有するユーザの近く(例えば、半径10フィート)にレシピエント(すなわち、ボブ)に関連する別の電子デバイスがあるかどうかを決定することによって、レシピエントを検証できる。可聴音声を捕捉した電子デバイスを有するユーザの近くにレシピエントに関連する他方の電子デバイスがあるとき、関心コマンド・プログラム112は、ユーザからの可聴音声のレシピエント(すなわち、ボブ)を確認する。関心コマンド・プログラム112がトピックを特定のレシピエントではなく特定の変数との関連を有する「野球の試合」であると識別した別の前述の例では、関心コマンド・プログラム112は、ユーザからの可聴音声がIVAに向けられたものであり得るかどうかを決定し、ここでIVAは、対象レシピエントである。関心コマンド・プログラム112は、トピック(すなわち、野球の試合)および特定の変数(すなわち、天気)を分析して、IVAがユーザの関心を解決し得るかどうかを決定する。トピックおよび特定の変数の分析に基づいてIVAがユーザの関心を解決し得るとき、関心コマンド・プログラム112は、ユーザからの可聴音声の対象レシピエントがIVAであることを決定する。
【0027】
関心コマンド・プログラム112は、インテリジェント・バーチャル・アシスタント(IVA)がユーザからの可聴音声の対象レシピエントであるかどうかを決定する(決定210)。IVAはユーザからの可聴音声の対象レシピエントではないことを関心コマンド・プログラム112が決定した場合(「no」分岐、決定210)、関心コマンド・プログラム112は可聴音声を無視する(212)。IVAはユーザからの可聴音声の対象レシピエントであることを関心コマンド・プログラム112が決定した場合(「yes」分岐、決定210)、関心コマンド・プログラム112はアクティベーションの単語をサスペンドする(214)。アクティベーションの単語をサスペンドすることによって、関心コマンド・プログラム112は、ユーザからの可聴音声において提示された質問を処理してそれに対するバックエンド検索を実施するためにIVAに可聴音声を送信し得る。代替的に、関心コマンド・プログラム112は、ユーザからの可聴音声に基づく質問を生成し得る。電子デバイスによって捕捉された可聴音声が「もしまだ今夜の野球の試合に行くつもりなら、雨が降らないことを願うよ」を含む例において、関心コマンド・プログラム112は「今夜の天気は何?」というIVAに対する質問を生成する。関心コマンド・プログラム112は、ユーザからの可聴音声に基づいて生成された質問を処理してそれに対するバックエンド検索を実施するために、生成された質問を送信し得る。
【0028】
図3は、本発明の実施形態による、ユーザによって提供されるコマンドに対する検索の深さを決定および修正する関心コマンド・プログラムに対するフローチャートを示す。
【0029】
関心コマンド・プログラム112は、ユーザの関心を決定する(302)。前述で考察したとおり、関心コマンド・プログラム112は、たとえばクライアント・デバイスまたは拡張現実(AR)デバイスなどのユーザに関連する電子デバイスを使用して、会話に参加しているユーザに対するさまざまなデータを受信する。そのさまざまなデータは、ユーザから捕捉された可聴音声と、カメラによって捕捉されたユーザの1つまたは複数の表情とを含む。関心コマンド・プログラム112は、ユーザに対するさまざまなデータを使用してユーザが関心を表しているかどうかを決定でき、ここで関心はユーザの可聴音声において提示される質問か、またはユーザの可聴音声における1つまたは複数の単語に対するボイス・モジュールの形態であり得る。関心コマンド・プログラム112はまた、ユーザに対するさまざまなデータを使用してユーザが関心を表しているかどうかを決定でき、ここで関心は、たとえば眉を上げること、素早いまばたき、および頭を傾けることなど、ユーザによる1つまたは複数の表情の形態で提示される。ユーザに関連する電子デバイスからのさまざまなデータに基づいて、関心コマンド・プログラム112は、ユーザが関心を示しているかどうかを決定する。
【0030】
関心コマンド・プログラム112は、関心のグレードを決定する(304)。関心コマンド・プログラム112は、会話に参加しているユーザに対するさまざまなデータに関して、関心のグレードを決定する。ユーザから捕捉された可聴音声に対して、関心コマンド・プログラム112は、ユーザに対する関心のグレードを示し得るユーザの声の変調または可聴音声の中のキーワードを識別する。一例において、関心コマンド・プログラム112が受信する可聴音声は、「今日、ABC株が上がっているとは興味深い。第1四半期の結果の何が傑出していたのだろうか。」を含む。可聴音声に基づいて、関心コマンド・プログラム112は、可聴音声のキーワードが「興味深い」、「だろうか」、および「傑出」を含むことに基づいて、関心のグレードが高いことを決定する。別の例において、関心コマンド・プログラム112が受信する可聴音声は、「大したことではないが、おそらく雨の中を運転することになるだろう。」を含む。可聴音声に基づいて、関心コマンド・プログラム112は、可聴音声のキーワードが「大したことではない」を含むことに基づいて、関心のグレードが低いことを決定する。カメラによって捕捉されたユーザの1つまたは複数の表情に対して、関心コマンド・プログラム112は、ユーザの1つまたは複数の表情の程度に基づいて、関心のグレードを決定する。ユーザから捕捉された可聴音声と、1つまたは複数の表情とが両方とも提供されるとき、関心コマンド・プログラム112は、さまざまなデータを通じてユーザに対する関心の最終的なグレードを決定し得る。
【0031】
関心コマンド・プログラム112は、検索の深さスコアを決定する(306)。関心コマンド・プログラム112は、検索可能なコマンドに対するユーザが定義した応答レベルと、関心のグレードとに基づいて、検索の深さスコアを決定する。ユーザが定義した応答レベルは、検索可能なコマンドに対する検索を実施するときにIVAがどのように情報もしくは詳細またはその両方を提供すべきかというスケールに基づくものであり、同時に関心のグレードも考慮している。ユーザが定義した応答レベルは、さまざまなトピックに関連付けることができ、
図2の(206)に関して前述において考察したとおり、関心コマンド・プログラム112はさまざまなトピックを識別する。検索の深さスコアが低いことは、ユーザによって定義される応答レベルが低いことに基づいており、それは天気、交通、およびエンターテインメントのトピックに関する検索可能なコマンドを含み得る。検索の深さスコアが高いことは、ユーザによって定義される応答レベルが高いことに基づいており、それはユーザがIVAからの詳細な応答を必要とする専門的トピックおよび教育的トピックに関する検索可能なコマンドを含み得る。
【0032】
関心コマンド・プログラム112は、バックエンド検索エンジンに検索の深さスコアおよびコマンドを送信する(308)。関心コマンド・プログラム112は、IVAに検索の深さスコアおよび実施可能なコマンドを送信し、IVAは、実施可能なコマンドに対する応答を得るためにバックエンド検索エンジンを使用する。関心コマンド・プログラム112は、ユーザに応答時間を提供する(310)。関心コマンド・プログラム112は、ユーザに関連するクライアント・デバイスもしくはARデバイスまたはその両方のユーザ・インターフェースにおいてユーザに応答時間を表示することによって、現在の検索の深さスコア(すなわち、決定された検索の深さスコア)に基づく応答時間をユーザに提供する。関心コマンド・プログラム112は、ユーザから修正された検索の深さスコアを受信する(312)。関心コマンド・プログラム112は、ユーザが応答時間を調整するために検索の深さスコアを修正することを可能にする。たとえば、検索の深さスコアを減少させることによって、実施可能なコマンドに対する応答を提供するIVAの応答時間を増加させることができ、検索の深さスコアを増加させることによって上記応答時間を減少させることができる。
【0033】
図4は、本発明の実施形態による、ユーザによって提供されるコマンドに対する検索を実施するための知識ベースを決定および管理する関心コマンド・プログラムに対するフローチャートを示す。
【0034】
関心コマンド・プログラム112は、ユーザからのコマンドを分析する(402)。
図2の(206)に関して前述において考察したとおり、さまざまなトピックを識別するために、関心コマンド・プログラム112は、ユーザからの実施可能なコマンドを分析する。実施可能なコマンドに対するさまざまなトピックを識別するとき、関心コマンド・プログラム112は、さまざまなトピックに基づいて全体的なトピックを決定する。前述において考察された例において、電子デバイスによって捕捉された可聴音声は、「もしまだ野球の試合に行くつもりなら、雨が降らないことを願うよ」を含む。関心コマンド・プログラム112は、このトピックが特定のレシピエントではなく特定の変数との関連を有する「野球の試合」であると識別する。しかし、関心コマンド・プログラム112が実施可能なコマンドを分析する際に、関心コマンド・プログラム112は、前述で識別した「野球の試合」のトピックと比較して、全体的なトピックは「雨」であることを決定する。実施可能なコマンドは、ユーザによる可聴音声の前述で識別したトピックである「野球の試合」ではなく、「雨」に関する応答を得ることに関する。
【0035】
関心コマンド・プログラム112は、コマンドに対する知識ベースを決定する(404)。知識ベースは、さまざまなカテゴリに関する複雑な構造化データおよび非構造化データを記憶するために使用され、IVAは実施可能な検索のトピックに関連する1つまたは複数の知識ベースに対する検索を実施し得る。各知識ベースは、技術および科学から歴史およびエンターテインメントまでにわたるさまざまなカテゴリに関し得る。関心コマンド・プログラム112は、コマンドに対する知識ベースと、コマンドとをバックエンド検索エンジンに送信する(406)。この実施形態において、関心コマンド・プログラム112は第1の知識ベースのヒントと、第2の知識ベースのヒントと、コマンドとをIVAのバックエンド検索エンジンに送信する。
【0036】
関心コマンド・プログラム112は、検索に対する並列化がサポートされるかどうかを決定する(決定408)。検索に対する並列化がサポートされないことを関心コマンド・プログラム112が決定した場合(「no」分岐、決定408)、関心コマンド・プログラム112は優先知識ベースをロードする(410)。関心コマンド・プログラム112は第1の知識ベースをロードする(410)。関心コマンド・プログラム112は第1の知識ベースをバックエンド検索エンジンにロードし、関心コマンド・プログラム112は検索可能なコマンドに対する結果をバックエンド検索エンジンから受信する。関心コマンド・プログラム112は、結果を第2の知識ベースに送信する(412)。関心コマンド・プログラム112は、第1の知識ベースからの結果を第2の知識ベースに送信する。
【0037】
検索に対する並列化がサポートされることを関心コマンド・プログラム112が決定した場合(「yes」分岐、決定408)、関心コマンド・プログラム112は2つの知識ベースによる検索を並列化する(414)。関心コマンド・プログラム112は、第1の知識ベースおよび第2の知識ベースのロードを行い、実施可能なコマンドに対する結果を並行して受信することによって、検索を並列化する。
【0038】
関心コマンド・プログラム112は第1の知識ベースをロードする(410)。関心コマンド・プログラム112は第1の知識ベースをバックエンド検索エンジンにロードし、関心コマンド・プログラム112は検索可能なコマンドに対する結果をバックエンド検索エンジンから受信する。関心コマンド・プログラム112は、結果を第2の知識ベースに送信する(412)。関心コマンド・プログラム112は、第1の知識ベースからの結果を第2の知識ベースに送信する。
【0039】
図5は、コンピュータ・システム500を示しており、サーバ・コンピュータ102は、関心コマンド・プログラム112を含むコンピュータ・システム500の一例である。コンピュータ・システムは、プロセッサ504と、キャッシュ516と、メモリ506と、永続ストレージ508と、通信ユニット510と、入力/出力(I/O:input/output)インターフェース(単数または複数)512と、通信ファブリック502とを含む。通信ファブリック502は、キャッシュ516と、メモリ506と、永続ストレージ508と、通信ユニット510と、入力/出力(I/O)インターフェース(単数または複数)512との間の通信を提供する。通信ファブリック502は、プロセッサ(たとえばマイクロプロセッサ、通信およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、およびシステム内の任意の他のハードウェア・コンポーネントの間で、データもしくは制御情報またはその両方を渡すために設計された任意のアーキテクチャによって実装され得る。たとえば、通信ファブリック502は1つまたは複数のバスまたはクロスバー・スイッチによって実装され得る。
【0040】
メモリ506および永続ストレージ508は、コンピュータ可読記憶媒体である。この実施形態において、メモリ506はランダム・アクセス・メモリ(RAM)を含む。一般的に、メモリ506は任意の好適な揮発性または不揮発性のコンピュータ可読記憶媒体を含み得る。キャッシュ516は、メモリ506からの最近アクセスされたデータおよび最近アクセスされたデータの近くのデータを保持することによって、プロセッサ504のパフォーマンスを向上させる高速メモリである。
【0041】
本発明の実施形態を実施するために用いられるプログラム命令およびデータは、キャッシュ516を介してそれぞれのプロセッサ504の1つまたは複数によって実行されるために、永続ストレージ508およびメモリ506に記憶されてもよい。ある実施形態において、永続ストレージ508は磁気ハード・ディスク・ドライブを含む。磁気ハード・ディスク・ドライブの代わりに、またはそれに加えて、永続ストレージ508は、固体ハード・ドライブ、半導体ストレージ・デバイス、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM)、フラッシュ・メモリ、またはプログラム命令もしくはデジタル情報を記憶し得る任意のその他のコンピュータ可読記憶媒体を含み得る。
【0042】
永続ストレージ508によって用いられる媒体はまた、取り外し可能であってもよい。たとえば、永続ストレージ508に対して取り外し可能なハード・ドライブが用いられてもよい。その他の例は、光および磁気ディスク、サム・ドライブ、ならびにやはり永続ストレージ508の一部である別のコンピュータ可読記憶媒体への転送のためにドライブに挿入されるスマート・カードを含む。
【0043】
これらの例における通信ユニット510は、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例において、通信ユニット510は1つまたは複数のネットワーク・インターフェース・カードを含む。通信ユニット510は、物理および無線通信リンクのいずれかまたは両方を用いた通信を提供してもよい。本発明の実施形態を実施するために用いられるプログラム命令およびデータは、通信ユニット510を通じて永続ストレージ508にダウンロードされてもよい。
【0044】
I/Oインターフェース(単数または複数)512は、各コンピュータ・システムに接続され得る他のデバイスとのデータの入力および出力を可能にする。たとえばI/Oインターフェース512は、たとえばキーボード、キーパッド、タッチ・スクリーン、もしくは何らかのその他の好適な入力デバイス、またはそれらの組み合わせなどの外部デバイス518に対する接続を提供してもよい。外部デバイス518はまた、たとえばサム・ドライブ、ポータブル光ディスクまたは磁気ディスク、およびメモリ・カードなどのポータブル・コンピュータ可読記憶媒体を含み得る。本発明の実施形態を実施するために用いられるソフトウェアおよびデータは、こうしたポータブル・コンピュータ可読記憶媒体に記憶でき、かつI/Oインターフェース(単数または複数)512を介して永続ストレージ508にロードされ得る。I/Oインターフェース(単数または複数)512は、ディスプレイ520にも接続する。
【0045】
ディスプレイ520は、ユーザに対してデータを表示するための機構を提供し、たとえばコンピュータ・モニタなどであってもよい。
【0046】
本明細書に記載されるプログラムは、それらが本発明の特定の実施形態において実装されるアプリケーションに基づいて識別される。しかし、本明細書における任意の特定のプログラム名称は、単に便宜上使用されるものであり、よって本発明は、こうした名称によって識別もしくは暗示されるか、またはその両方である任意の特定のアプリケーションのみにおける使用に限定されるべきではないことが認識されるべきである。
【0047】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含んでもよい。
【0048】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは以下を含む:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造体など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読記憶媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的な信号であると解釈されるべきではない。
【0049】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組み合わせを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0050】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語は、オブジェクト指向プログラミング言語、たとえばSmalltalk(登録商標)、またはC++など、および手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)などを含む電子回路は、本発明の態様を実施するために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0051】
本明細書においては、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることが理解されるだろう。
【0052】
これらのコンピュータ可読プログラム命令は、コンピュータか、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実装するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイス、またはそれらの組み合わせに特定の方式で機能するように指示できるコンピュータ可読記憶媒体にも記憶されることによって、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実装する命令を含む製造物を含んでもよい。
【0053】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実装されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを実施させることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実装してもよい。
【0054】
図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、命令のモジュール、セグメント、または一部分を表してもよく、これは指定される論理機能(単数または複数)を実装するための1つまたは複数の実行可能命令を含む。いくつかの代替的な実装において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には1つのステップとして達成されても、同時に実行されても、部分的もしくは全体的に時間が重複する方式で実質的に同時に実行されてもよいし、または関与する機能に依存して、これらのブロックがときに逆の順序で実行されてもよい。また、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能もしくは動作を実施するか、または特定目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特定目的のハードウェア・ベースのシステムによって実装され得ることが注目されるだろう。
【0055】
本開示はクラウド・コンピューティングに対する詳細な説明を含むが、本明細書に記載される教示の実装はクラウド・コンピューティング環境に限定されないことが理解されるべきである。むしろ本発明の実施形態は、現在公知であるか、または後に開発される任意の他のタイプのコンピューティング環境と共に実装され得る。
【0056】
クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話によって迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含んでもよい。
【0057】
特性は以下の通りである。
【0058】
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的対話を必要とせずに、必要に応じて自動的に、たとえばサーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングできる。
【0059】
広範なネットワーク・アクセス:機能は、ネットワークを通じて利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的機構を通じてアクセスされる。
【0060】
リソース・プール:マルチテナント・モデルを用いて複数の消費者にサービスするために、プロバイダのコンピューティング・リソースはプールされ、要求に従って異なる物理および仮想リソースが動的に割り当ておよび再割り当てされる。消費者は一般的に、提供されるリソースの正確な場所に対する制御も知識も有さないが、より高い抽象化レベルにおける場所(例えば、国、州、またはデータセンタ)を特定できてもよいという点で、場所独立性の意味が存在する。
【0061】
迅速な弾力性:機能は、素早くスケール・アウトするために場合によっては自動的に、迅速かつ弾力的にプロビジョニングされ、かつ素早くスケール・インするために迅速にリリースされ得る。消費者にとって、プロビジョニングのために利用可能な機能はしばしば無制限にみえ、任意のときに任意の量を購入できる。
【0062】
従量制サービス:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に対して適切な何らかの抽象化レベルにおいて計測機能を利用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用をモニタ、制御、および報告して、使用されるサービスのプロバイダおよび消費者の両方に対する透明性を提供できる。
【0063】
サービス・モデルは次のとおりである。
【0064】
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャにおいて動作するプロバイダのアプリケーションの使用である。アプリケーションは、さまざまなクライアント・デバイスからたとえばウェブ・ブラウザ(例えば、ウェブ・ベースのeメール)などのシン・クライアント・インターフェースを通じてアクセス可能である。消費者はネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能さえも含む基礎的なクラウド・インフラストラクチャを管理または制御することはなく、例外となり得るのは限られたユーザ特有のアプリケーション構成設定である。
【0065】
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、消費者が作成または取得したアプリケーションのクラウド・インフラストラクチャへの展開である。消費者はネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎的なクラウド・インフラストラクチャを管理または制御することはないが、展開されたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成に対する制御を有する。
【0066】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティング・システムおよびアプリケーションを含み得る、消費者が任意のソフトウェアを展開および実行することが可能な処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースのプロビジョニングである。消費者は基礎的なクラウド・インフラストラクチャを管理または制御することはないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、および場合によってはネットワーク形成コンポーネント(例えば、ホスト・ファイアウォール)の選択に対する限られた制御を有する。
【0067】
展開モデルは次のとおりである。
【0068】
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織に対してのみ操作される。これはその組織またはサード・パーティによって管理されてもよく、オンプレミスまたはオフプレミスに存在してもよい。
【0069】
コミュニティ・クラウド:このクラウド・インフラストラクチャは複数の組織によって共有され、共通する関心事項(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスの検討)を有する特定のコミュニティをサポートする。これはそれらの組織またはサード・パーティによって管理されてもよく、オンプレミスまたはオフプレミスに存在してもよい。
【0070】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般人または大規模な産業グループに対して利用可能にされ、クラウド・サービスを販売する組織が所有している。
【0071】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体であり、それらのクラウドは独自のエンティティに留まるが、データおよびアプリケーション・ポータビリティを可能にする標準または独自の技術(例えば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって共に結合される。
【0072】
クラウド・コンピューティング環境は、サービス指向型であり、ステートレス性、低結合性、モジュラリティ、およびセマンティックな相互運用性に焦点を合わせている。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0073】
ここで
図6を参照すると、例示的なクラウド・コンピューティング環境50が示される。示されるとおり、クラウド・コンピューティング環境50は1つまたは複数のクラウド・コンピューティング・ノード10を含み、たとえばパーソナル・デジタル・アシスタント(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車のコンピュータ・システム54N、またはそれらの組み合わせなどの、クラウド消費者によって用いられるローカル・コンピュータ・デバイスが、このクラウド・コンピューティング・ノード10によって通信してもよい。ノード10は互いに通信してもよい。これらのノードは、たとえば上述したプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはそれらの組み合わせなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化されてもよい(図示せず)。このことは、クラウド・コンピューティング環境50がインフラストラクチャ、プラットフォーム、もしくはソフトウェア、またはそれらの組み合わせを、クラウド消費者がそれに対するリソースをローカル・コンピュータ・デバイスにおいて維持する必要のないサービスとして提供することを可能にする。
図6に示されるコンピュータ・デバイス54A~Nのタイプは単なる例示であることが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークもしくはネットワーク・アドレス可能接続(例えば、ウェブ・ブラウザを使用するもの)またはその両方を通じて、任意のタイプのコンピュータ・デバイスと通信できることが理解される。
【0074】
ここで
図7を参照すると、クラウド・コンピューティング環境50(
図6)によって提供される機能的抽象化レイヤのセットが示される。
図7に示されるコンポーネント、レイヤ、および機能は単なる例示であることが意図されており、本発明の実施形態はそれらに限定されないことが予め理解されるべきである。示されるとおり、以下のレイヤおよび対応する機能が提供される。
【0075】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク形成コンポーネント66を含む。いくつかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0076】
仮想化レイヤ70が提供する抽象化レイヤから、仮想エンティティの以下の例が提供されてもよい:仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75。
【0077】
一例において、管理レイヤ80は、以下に記載される機能を提供してもよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実施するために使用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計測および価格決定82は、クラウド・コンピューティング環境内でリソースが使用される際のコスト追跡と、これらのリソースの消費に対する課金またはインボイス作成とを提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティは、クラウド消費者およびタスクに対するアイデンティティ検証、ならびにデータおよびその他のリソースの保護を提供する。ユーザ・ポータル83は、消費者およびシステム管理者に対するクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるようにクラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス・レベル・アグリーメント(SLA)計画および実現85は、SLAによって将来の要求が予測されるクラウド・コンピューティング・リソースに対する事前の取り決めおよびその調達を提供する。
【0078】
ワークロード・レイヤ90は、クラウド・コンピューティング環境が使用され得る機能の例を提供する。このレイヤから提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室の教育配信93、データ分析処理94、トランザクション処理95、および関心コマンド・プログラム112を含む。
【0079】
本明細書に記載されるプログラムは、それらが本発明の特定の実施形態において実装されるアプリケーションに基づいて識別される。しかし、本明細書における任意の特定のプログラム名称は、単に便宜上使用されるものであり、よって本発明は、こうした名称によって識別もしくは暗示されるか、またはその両方である任意の特定のアプリケーションのみにおける使用に限定されるべきではないことが認識されるべきである。
【0080】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、もしくはコンピュータ・プログラム製品、またはそれらの組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含んでもよい。
【0081】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶できる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の好適な組み合わせなどであってもよいが、それに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは以下を含む:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フレキシブル・ディスク、機械的にコード化されたデバイス、たとえばパンチ・カードまたは記録された命令を有する溝の中の隆起構造体など、および前述の任意の好適な組み合わせ。本明細書において用いられるコンピュータ可読記憶媒体は、たとえば電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を通じて伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号など、それ自体が一時的な信号であると解釈されるべきではない。
【0082】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るか、またはたとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、またはそれらの組み合わせを含んでもよい。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0083】
本発明の動作を実行するためのコンピュータ可読プログラム命令はアセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路に対する構成データ、または1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソース・コードもしくはオブジェクト・コードであってもよく、このプログラミング言語はオブジェクト指向プログラミング言語、たとえばSmalltalk(登録商標)、またはC++など、および手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語などを含む。コンピュータ可読プログラム命令は、すべてがユーザのコンピュータで実行されてもよいし、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモート・コンピュータで実行されてもよいし、すべてがリモート・コンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、(たとえば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、たとえばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)などを含む電子回路は、本発明の態様を実施するために電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を使用することによって、コンピュータ可読プログラム命令を実行してもよい。
【0084】
本明細書においては、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して、本発明の態様を説明している。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることが理解されるだろう。
【0085】
これらのコンピュータ可読プログラム命令は、コンピュータか、またはマシンを生成するためのその他のプログラマブル・データ処理装置のプロセッサに提供されることによって、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実装するための手段を生じてもよい。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブル・データ処理装置、もしくはその他のデバイス、またはそれらの組み合わせに特定の方式で機能するように指示できるコンピュータ可読記憶媒体にも記憶されることによって、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作の態様を実装する命令を含む製造物を含んでもよい。
【0086】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにもロードされて、コンピュータに実装されるプロセスを生成するためにコンピュータ、他のプログラマブル装置、または他のデバイスにおいて一連の動作ステップを実施させることによって、そのコンピュータ、他のプログラマブル装置、または他のデバイスにおいて実行される命令が、フローチャートもしくはブロック図またはその両方の単数または複数のブロックにおいて指定される機能/動作を実装してもよい。
【0087】
図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、命令のモジュール、セグメント、または一部分を表してもよく、これは指定される論理機能(単数または複数)を実装するための1つまたは複数の実行可能命令を含む。いくつかの代替的実装において、ブロック内に示される機能は、図面に示されるものとは異なる順序で起こってもよい。たとえば、連続して示される2つのブロックは、実際には1つのステップとして達成されても、同時に実行されても、部分的もしくは全体的に時間が重複する方式で実質的に同時に実行されてもよく、または関与する機能に依存して、これらのブロックがときに逆の順序で実行されてもよい。また、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能もしくは動作を実施するか、または特定目的のハードウェアおよびコンピュータ命令の組み合わせを実行する特定目的のハードウェア・ベースのシステムによって実装され得ることが注目されるだろう。
【手続補正書】
【提出日】2023-12-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザに関連する電子デバイスから受信されたデータに基づいて前記ユーザの関心を決定することであって、前記データが前記ユーザから捕捉された可聴音声と、前記ユーザの1つまたは複数の表情とを含む、前記決定することと、
前記ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するための前記ユーザからの前記可聴音声に対する第1の波長を識別することと、
前記ユーザからの前記可聴音声に対するトピックを識別することと、
前記トピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエントであることを決定したことに応答して、前記インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンドすることと
を含む、コンピュータ
の情報処理により実行する方法。
【請求項2】
前記ユーザに対する前記ユーザ・プロファイルに関連する前記複数の波長から第1の波長セットを識別することであって、前記第1の波長セットが前記インテリジェント・バーチャル・アシスタントに提示される第1の複数の質問に関連する、前記識別することと、
前記ユーザに関連する前記複数の波長から第2の波長セットを識別するために波長明確化テストを実施することであって、前記第2の波長セットが前記インテリジェント・バーチャル・アシスタントに提示されない第2の複数の質問に関連する、前記波長明確化テストを実行することと、
前記第1の波長セットおよび前記第2の波長セットに基づいて前記ユーザに対する前記ユーザ・プロファイルを確立することと
をさらに含む、請求項1に記載の
方法。
【請求項3】
前記波長明確化テストを実施することが、
前記インテリジェント・バーチャル・アシスタントに複数のサンプル質問を送信することと、
前記ユーザに前記複数のサンプル質問を音声で繰り返すよう要求することを前記インテリジェント・バーチャル・アシスタントに指示することであって、前記複数のサンプル質問が前記インテリジェント・バーチャル・アシスタントによって実行可能なコマンドに関係しない、前記指示することと、
前記ユーザによって音声で繰り返された前記複数のサンプル質問に対する前記第2の波長セットを識別することと
をさらに含む、請求項2に記載の
方法。
【請求項4】
前記ユーザに関連する電子デバイスから受信されたデータに基づいて関心のグレードを決定することと、
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドに対する検索の深さスコアを決定することと、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する前記検索の深さスコアをバックエンド検索エンジンに送信したことに応答して、前記検索の深さスコアに基づいて前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための応答時間を前記ユーザに提供することと
をさらに含む、請求項1に記載の
方法。
【請求項5】
前記ユーザから前記検索の深さスコアに対する修正を受信することをさらに含み、修正された検索の深さスコアが、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドを実行するための前記応答時間を変更する、請求項4に記載の
方法。
【請求項6】
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析することと、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定することであって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定することと、
前記少なくとも2つの知識ベースに対する並列化がサポートされることを決定したことに応答して、前記少なくとも2つの知識ベースによる前記検索を並列化することと
をさらに含む、請求項1に記載の
方法。
【請求項7】
前記ユーザの前記可聴音声内の前記インテリジェント・バーチャル・アシスタントによって実施可能なコマンドを分析することと、
前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する少なくとも2つの知識ベースを決定することであって、前記インテリジェント・バーチャル・アシスタントによって実施可能な前記コマンドに対する応答を検索するためにバックエンド検索エンジンが前記少なくとも2つの知識ベースを使用する、前記決定することと、
前記少なくとも2つの知識ベースに対する並列化がサポートされないことを決定したことに応答して、前記バックエンド検索エンジンに第1の知識ベースをロードすることと、
前記第1の知識ベースからの結果を第2の知識ベースに送信することと
をさらに含む、請求項1に記載の
方法。
【請求項8】
請求項1~7のいずれか1項に記載された方法を、コンピュータに対して実行させるためのコンピュータ・プログラム。
【請求項9】
請求項8に記載のコンピュータ・プログラムを記録した、コンピュータ可読記憶媒体。
【請求項10】
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読記憶媒体と、
前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のために前記1つまたは複数のコンピュータ可読記憶媒体に記憶されたプログラム命令と
を含むコンピュータ・システムであって
、前記プログラム命令が、
ユーザに関連する電子デバイスから受信されたデータに基づいて前記ユーザの関心を決定するためのプログラム命令であって、前記データが前記ユーザから捕捉された可聴音声と、前記ユーザの1つまたは複数の表情とを含む、前記決定するためのプログラム命令と、
前記ユーザに対するユーザ・プロファイルに関連する複数の波長に基づいて、コマンド検出モードを開始するための前記ユーザからの前記可聴音声に対する第1の波長を識別するためのプログラム命令と、
前記ユーザからの前記可聴音声に対するトピックを識別するためのプログラム命令と、
前記トピックに基づいてインテリジェント・バーチャル・アシスタントが対象レシピエントであることを決定したことに応答して、前記インテリジェント・バーチャル・アシスタントに対するアクティベーションの単語をサスペンドするためのプログラム命令と
を含む、コンピュータ・システム。
【国際調査報告】