(57)【要約】【課題】ユーザ・インターフェースの音発生活動を分類する。【解決手段】方法、コンピュータ・プログラム製品、およびシステムは、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、音声入力に基づいてコンテキスト・パターンを生成することと、コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を実行することと、分類の実行に基づいて出力を提供することとを含み得る。【選択図】図２
2020526839.tif 000002
【特許請求の範囲】
【請求項１】
キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、
前記音声入力に基づいてコンテキスト・パターンを生成することと、
前記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために前記コンテキスト・パターンの分類を実行することと、
前記分類を実行することに基づいて出力を提供することと、
を含む方法。
【請求項２】
前記シグネチャ・パターン種別は、ウェブ閲覧と、ソーシャル・メディアと、マス・メッセージングと、ゲームと、ワード・プロセッシングと、特定文字列とからなるグループから選択された種別である、請求項１に記載の方法。
【請求項３】
前記シグネチャ・パターン種別は、特定の文字列によって定義された種別である、請求項１に記載の方法。
【請求項４】
前記方法は、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンを前記文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、前記分類を実行することは、前記コンテキスト・パターンを前記シグネチャ・パターンと突き合わせることを含む、請求項１に記載の方法。
【請求項５】
前記出力を提供することは、外部システムに通知を提供することを含む、請求項１に記載の方法。
【請求項６】
前記出力を提供することは、ネットワーク・ハードウェア・コンポーネントを構成するための出力を提供することを含む、請求項１に記載の方法。
【請求項７】
前記出力を提供することは、コンピュータ・デバイス上でのソフトウェアのインストールを開始するための出力を提供することを含む、請求項１に記載の方法。
【請求項８】
前記分類を実行することの結果が分類不能となり、前記方法は、前記分類不能に応答してユーザに活動情報を入力するように促すことを含む、請求項１に記載の方法。
【請求項９】
前記コンテキスト・パターンは、キー押下のシーケンス情報とタイミング情報とを含む、請求項１に記載の方法。
【請求項１０】
前記取得することは、コンピュータ・デバイスから前記音声入力を取得することを含み、前記分類を実行することが前記コンテキスト・パターンを分類できなかったことに応答して、前記コンピュータ・デバイスのユーザに前記コンテキスト・パターンに関連付けられた活動を規定するラベル付け情報を入力するように促す指示が前記コンピュータ・デバイス上に提供される、請求項１に記載の方法。
【請求項１１】
前記方法は、管理者ユーザがトレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を実行することができるようにするユーザ・インターフェース機能を提供することと、前記トレーニング期間中に前記管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、前記管理者ユーザが、前記トレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、前記特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶された前記ラベル付け情報でラベル付けされたシグネチャ・パターンとして登録することと、入って来るコンテキスト・パターンを前記シグネチャ・パターンと突き合わせることとを含む、請求項１に記載の方法。
【請求項１２】
前記シグネチャ・パターン種別はウェブ閲覧分類である、請求項１に記載の方法。
【請求項１３】
前記シグネチャ・パターン種別は、ゲーム種別である、請求項１に記載の方法。
【請求項１４】
前記シグネチャ・パターン種別は、ワード・プロセッシング種別である、請求項１に記載の方法。
【請求項１５】
コンピュータ・プログラム製品であって、
１つまたは複数の処理ユニットによって読み取り可能であり、方法を実行するために１つまたは複数のプロセッサによる実行のための命令を記憶するコンピュータ可読記憶媒体を含み、前記方法は、
キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、
前記音声入力に基づいてコンテキスト・パターンを生成することと、
前記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために前記コンテキスト・パターンの分類を実行することと、
前記分類を実行することに基づいて出力を提供することと、
を含む、コンピュータ・プログラム製品。
【請求項１６】
前記取得することと、前記生成することと、前記分類を実行することとが、第１ないし第６の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、前記第３の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、前記第４の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となり、前記第５の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、前記第６の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果が特定文字列シグネチャ・パターン種別と合致する種別となる、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１７】
前記取得することと、前記生成することと、前記分類を実行することとが、第１および第２の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１８】
メモリと、
前記メモリと通信する少なくとも１つのプロセッサと、
方法を実行するために前記メモリを介して１つまたは複数のプロセッサによって実行可能なプログラム命令と、
を含むシステムであって、前記方法は、
キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、
前記音声入力に基づいてコンテキスト・パターンを生成することと、
前記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために前記コンテキスト・パターンの分類を実行することと、
前記分類を実行することに基づいて出力を提供することとを含む、システム。
【請求項１９】
前記取得することと、前記生成することと、前記分類を実行することとが、第１ないし第６の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、前記第３の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、前記第４の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となり、前記第５の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、前記第６の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果が特定文字列シグネチャ・パターン種別と合致する種別となる、請求項１５に記載のシステム。
【請求項２０】
前記取得することと、前記生成することと、前記分類を実行することとが、第１および第２の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、請求項１８に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータ・デバイスに関し、特に、コンピュータ・デバイスのユーザの活動の判別に関する。
【背景技術】
【０００２】
コンピュータ・セキュリティ脅威という背景において、コンピュータ・キーボードからの音の発生が研究されてきた。異なるキーの打音は人間の耳には同じように聞こえるが、打音はキーごとにわずかに異なることがわかっている。ＰＣのキーボードの音発生が研究され、処理を行ってキーボードのキー押下を区別することができることが実験によりわかっている。また、タイピング・スタイルは、トレーニング済みニューラル・ネットワークのキー押下認識能力にはほとんど影響がないことがわかっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、ユーザ・インターフェースの音発生活動を分類することを目的とする。
【課題を解決するための手段】
【０００４】
一態様では、方法の提供によって従来技術の欠点が克服され、さらなる利点が与えられる。この方法は、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、上記音声入力に基づいてコンテキスト・パターンを生成することと、上記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために上記コンテキスト・パターンの分類を行うことと、上記分類の実行に基づいて出力を提供することとを含み得る。
【０００５】
好ましくは、本発明は、上記シグネチャ・パターン種別が、ウェブ閲覧と、ソーシャル・メディアと、マス・メッセージングと、ゲームと、ワード・プロセッシングと、特定文字列とからなるグループから選択された種別である方法を提供する。
【０００６】
好ましくは、本発明は、上記シグネチャ・パターン種別が特定の文字列によって定義された種別である方法を提供する。
【０００７】
好ましくは、本発明は、上記方法が、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンを上記文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、上記分類の実行は、上記コンテキスト・パターンを上記シグネチャ・パターンと突き合わせることを含む方法を提供する。
【０００８】
好ましくは、本発明は、上記出力を提供することが外部システムに通知を提供することを含む方法を提供する。
【０００９】
好ましくは、本発明は、上記出力を提供することがネットワーク・ハードウェア・コンポーネントを構成するための出力を提供することを含む方法を提供する。
【００１０】
好ましくは、本発明は、上記出力を提供することが、コンピュータ・デバイス上でのソフトウェアのインストールを開始するための出力を提供することを含む方法を提供する。
【００１１】
好ましくは、本発明は、上記分類の実行の結果が分類不能となり、上記方法が上記分類不能に応答してユーザに活動情報を入力するように促すことを含む方法を提供する。
【００１２】
好ましくは、本発明は、上記コンテキスト・パターンがキー押下シーケンス情報とタイミング情報とを含む方法を提供する。
【００１３】
好ましくは、本発明は、上記取得がコンピュータ・デバイスから上記音声入力を取得することを含み、上記分類の実行が上記コンテキスト・パターンを分類できなかったことに応答して、上記コンピュータ・デバイスのユーザに上記コンテキスト・パターンに関連付けられた活動を規定するラベル付け情報を入力するように促す指示が上記コンピュータ・デバイス上に提供される方法を提供する。
【００１４】
好ましくは、本発明は、上記方法が、管理者ユーザがトレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を実行することができるようにするユーザ・インターフェース機能を提供することと、上記トレーニング期間中に上記管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、上記管理者ユーザが、上記トレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、上記特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶された上記ラベル付け情報でラベル付けされたシグネチャ・パターンとして登録することと、入って来るコンテキスト・パターンを上記シグネチャ・パターンと突き合わせることとを含む方法を提供する。
【００１５】
好ましくは、本発明は、上記シグネチャ・パターン種別がウェブ閲覧種別である方法を提供する。
【００１６】
好ましくは、本発明は、上記シグネチャ・パターン種別がゲーム種別である方法を提供する。
【００１７】
好ましくは、本発明は、上記シグネチャ・パターン種別がワード・プロセッシング種別である方法を提供する。
【００１８】
別の態様では、コンピュータ・プログラム製品を提供することができる。コンピュータ・プログラム製品は、１つまたは複数の処理ユニットによって読み取り可能であり、方法を実行するために１つまたは複数のプロセッサによる実行のための命令を記憶するコンピュータ可読記憶媒体を含み得る。この方法は、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、上記音声入力に基づいてコンテキスト・パターンを生成することと、上記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために上記コンテキスト・パターンの分類を実行することと、上記分類の実行に基づいて出力を提供することとを含み得る。
【００１９】
好ましくは、本発明は、コンピュータ・プログラム製品であって、上記取得と、上記生成と、上記分類の実行とが、第１ないし第６の音声入力のそれぞれについて実行され、上記第１の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第２の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、上記第３の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、上記第４の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となり、上記第５の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、上記第６の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果が特定文字列シグネチャ・パターン種別と合致する種別となるコンピュータ・プログラム製品を提供する。
【００２０】
好ましくは、本発明は、上記取得と、上記生成と、上記分類の実行とが、第１および第２の音声入力のそれぞれについて実行され、上記第１の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第２の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となるコンピュータ・プログラム製品を提供する。
【００２１】
他の態様では、システムを提供することができる。システムは、例えば、メモリを含み得る。さらに、システムは、上記メモリと通信する１つまたは複数のプロセッサを含み得る。さらに、システムは、方法を実行するために上記メモリを介して１つまたは複数のプロセッサによって実行可能なプログラム命令を含み得る。方法は、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、上記音声入力に基づいてコンテキスト・パターンを生成することと、上記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために上記コンテキスト・パターンの分類を実行することと、上記分類の実行に基づいて出力を提供することとを含み得る。
【００２２】
好ましくは、本発明は、上記取得と、上記生成と、上記分類の実行とが、第１ないし第６の音声入力のそれぞれについて実行され、上記第１の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第２の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、上記第３の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、上記第４の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となり、上記第５の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、上記第６の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果が特定文字列シグネチャ・パターン種別と合致する種別となるシステムを提供する。
【００２３】
好ましくは、本発明は、上記取得と、上記生成と、上記分類の実行とが、第１および第２の音声入力のそれぞれについて実行され、上記第１の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第２の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となるコンピュータ・プログラム製品を提供する。
【００２４】
本明細書に記載の技術によりその他の特徴も実現される。方法、コンピュータ・プログラム製品、およびシステムを含むがこれらには限定されない他の実施形態および態様についても、本明細書で詳細に説明され、特許請求される本発明の一部とみなされる。
【００２５】
本発明の１つまたは複数の態様について具体的に示し、本明細書の末尾の特許請求の範囲で実施例として明確に特許請求される。本発明の上記およびその他の目的、特徴および利点は、添付図面とともに以下の詳細な説明を読めば明らかである。
【図面の簡単な説明】
【００２６】
【図１】マネージャ・システムと１つまたは複数のコンピュータ・デバイスとを有するシステムを示す図である。
【図２】一実施形態によるマネージャ・システムによる実行のための連係方法を示すフローチャートである。
【図３】一実施形態によるマネージャ・システムによる実行のための方法を示すフローチャートである。
【図４】一実施形態によるマネージャ・システムを有するシステムによる実行のための方法を示すフローチャートである。
【図５】管理者ユーザ・コンピュータ・デバイスのディスプレイ上に表示可能な管理者ユーザ・インターフェースを示す図である。
【図６】ユーザ・コンピュータ・デバイス上に配置可能なユーザ・インターフェースを示す図である。
【図７】一実施形態によるコンピューティング・ノードを示す図である。
【図８】一実施形態によるクラウド・コンピューティング環境を示す図である。
【図９】一実施形態による抽象モデル層を示す図である。
【発明を実施するための形態】
【００２７】
図１は、本明細書に記載の実施形態によるシステム１００を示すブロック図である。図１の実施形態では、システム１００は、ネットワーク１６０によって接続されたコンピュータ・ノード・ベースのデバイスなどの多くのデバイスを含むことができる。例えば、ネットワーク１６０は、物理ネットワークまたは仮想ネットワークとすることができる。物理ネットワークは、例えば、コンピュータ・サーバとコンピュータ・クライアントによって設けることができるものなど、多くのコンピュータ・ノードまたはシステムを接続する物理通信ネットワークとすることができる。それに対して、仮想ネットワークは、例えば、多くの物理ネットワークまたはその一部を結合して１つの論理仮想ネットワークとすることができる。別の例では、単一の物理ネットワーク上に多くの仮想ネットワークを定義することができる。
【００２８】
説明のために、図１に例示の環境を示す。一実施形態では、システム１００は、マネージャ・システム１１０を含み、関連付けられたデータ・リポジトリ１１２と、１つまたは複数の管理ユーザ・コンピュータ・デバイス１２０と、ユーザ・コンピュータ・デバイス１３０Ａないし１３０Ｚとを有していてもよい。マネージャ・システム１１０とコンピュータ・デバイス１３０Ａないし１３０Ｚとは、ネットワーク１６０を介して通信することができる。コンピュータ・デバイス１３０Ａないし１３０Ｚについては、コンピュータ・デバイス１３０Ａないし１３０Ｚは、例えばキーボードまたはポインタ・コントローラあるいはその両方を含む、コンピュータ・キー押下式ユーザ・インターフェースから発せられる音を表す音声情報を生成するように動作可能である。したがって、コンピュータ・デバイス１３０Ａないし１３０Ｚの代表的コンピュータ・デバイスは、音声入力デバイス、例えばマイクロフォンを含むことができる。コンピュータ・デバイス１３０Ａないし１３０Ｚ、例えばコンピュータ・デバイス１３０Ａの特定の音声入力デバイスは、コンピュータ・デバイス１３０Ａのキー押下式ユーザ・インターフェースから発せられる音を表す音声入力、または、コンピュータ・デバイス１３０Ａの近傍にあるコンピュータ・デバイスなどの、コンピュータ・デバイス１３０Ａ以外のコンピュータ・デバイスのキー押下式ユーザ・インターフェースの音を表す音声入力、あるいはその両方を提供することができる。一実施形態では、マネージャ・システム１１０は、システム１００の各デバイスまたは各システムの外部にあってもよい。一実施形態では、マネージャ・システム１１０は、システム１００の１つまたは複数の他のデバイスまたはシステムと同じ場所にあってもよい。
【００２９】
本明細書に記載の実施形態は、ユーザがどのような種類の活動に従事しているかを推定するために、１つまたは複数のコンピュータ・キー押下式ユーザ・インターフェースの監視と、キー押下音、例えばクリック音の記録とを提供する。本明細書に記載の「コンピュータ・キー式インターフェース」とは、キーを有するユーザ・インターフェース装置、例えば、コンピュータ・キーボードまたは、グラフィカル・ユーザ・インターフェースをナビゲートするためのポインタ・コントローラ、例えばマウス・デバイス、あるいはその両方を広く指す。本明細書において、キー押下とは、コンピュータ・キーボードのキー押下と、「マウス・クリック」などのポインタ・コントローラのクリックとを指す。コンピュータ・キー押下は、例えば、アルファベット文字キー押下、数字キー押下、記号キー押下、例えば矢印キー押下、またはスペース・バー・キー押下あるいはその組合せを含み得る。本明細書における実施形態は、キーボード・キー押下音を入力とし、タイピングしている可能性がある特定の人物のコグニティブ解析または人物が従事している活動の種類の匿名解析を出力として生成する、コグニティブ・サービスを提供することができる。提供可能な一般的種別の中には、例えば、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシング、および特定文字列がある。
【００３０】
一実施形態では、キーボードを含むユーザのキー押下式ユーザ・インターフェースによって発せられる音を聴取するだけでユーザ（またはユーザの集団）がどのような種類の活動に従事しているかを判断するためにシステム１００を設けることができる。個人の身元へのアクセスの必要なしに、また個人の身元を露出することなしに、群衆がどのような一般的種類の活動を行っているかを判断するためにシステム１００を設けることができる。
【００３１】
マネージャ・システム１１０は、準備および維持プロセス１１１、コンテキスト・パターン生成プロセス１１３、分類プロセス１１４、および機械学習プロセス１１５などの様々なプロセスを実行することができる。準備および維持プロセス１１１は、マネージャ・システム１１０によって実行される他のプロセス、例えばコンテキスト・パターン生成プロセス１１３、分類プロセス１１４、および機械学習プロセス１１５による使用のためのデータを準備し、データ・リポジトリ１１２内で維持することができる。準備および維持プロセス１１１の実行によってデータ・リポジトリ１１２に記憶されるデータは、様々なデータを含み得る。例えば、データ・リポジトリ１１２はコンテキスト・パターン領域２１２１にコンテキスト・パターンのレコードを記憶することができ、シグネチャ・パターン領域２１２２には、データ・リポジトリ１１２はシグネチャ・コンテキスト・パターンのレコードを記憶することができる。分類履歴領域２１２３には、データ・リポジトリ１１２は、マネージャ・システム１１０によって行われたパターン分離のレコードを記憶することができる。ソフトウェア領域２１２４には、データ・リポジトリ１１２は、例えば、システム１００の１つまたは複数のコンピュータ・デバイスまたはシステムの機能の変更のための様々なソフトウェア・モジュールを記憶することができる。
【００３２】
コンテキスト・パターン領域２１２１に記憶されるコンテキスト・パターンのレコードは、コンピュータ・デバイス１３０Ａないし１３０Ｚから様々な時点で受信した音声入力を表すことができる。このようなレコードは、例えば、各コンテキスト・パターンのシリアル番号、特定の音声入力を生成している特定のコンピュータ・デバイスを識別する識別子と、例えば各音声入力の開始時刻、停止時刻および存続時間を示すタイムスタンプ情報とを含むことができる。領域２１２２ないし２１２４内のレコードも識別子とタイムスタンプ情報とを含むことができる。
【００３３】
マネージャ・システム１１０は、コンピュータ・デバイス１３０Ａないし１３０Ｚから受信した受信音声入力に基づいてコンテキスト・パターンを生成するために、コンテキスト・パターン生成プロセス１１３を実行することができる。一実施例では、コンピュータ・デバイス１３０Ａないし１３０Ｚの各コンピュータ・デバイス、例えばコンピュータ・デバイス１３０Ａが、例えば音声信号の形態の音声入力を提供することができ、そのような音声信号をマネージャ・システム１１０が受信することができる。コンピュータ・デバイス１３０Ａないし１３０Ｚは、それぞれの音声入力デバイスを有するコンピュータ・デバイスとすることができ、ＰＣ、ラップトップ、タブレット、携帯電話、専用のプロセッサ・ベースのマイクロフォン、カムコーダ、またはこのようなデバイスの任意の組合せなどの種類のデバイスによって提供可能である。
【００３４】
コンテキスト・パターン生成プロセス１１３を実行すると、マネージャ・システム１１０は、受信し、処理された音声入力に基づいてコンテキスト・パターンを決定することができる。コンテキスト・パターンは、例えば文字列情報とタイミング情報とを含み得る。分類プロセス１１４を実行して、マネージャ・システム１１０は、コンテキスト・パターン生成プロセス１１３を使用して生成されたコンテキスト・パターンを分類することができる。分類プロセス１１４を実行して、マネージャ・システム１１０は、生成されたコンテキスト・パターンをシグネチャ・コンテキスト・パターン種別に属するものとして分類することができる。シグネチャ・パターン種別の例としては、例えば、ウェブ閲覧シグネチャ・パターン種別、ソーシャル・メディア・シグネチャ・パターン種別、マス・メッセージング・シグネチャ・パターン種別、ゲーム・シグネチャ・パターン種別、ワード・プロセッシング・シグネチャ・パターン種別、および特定文字列シグネチャ・パターン種別がある。
【００３５】
一実施形態では、マネージャ・システム１１０は機械学習プロセス１１５を実行することができる。機械学習プロセス１１５は、後で傾向解析で使用するために、コンテキスト・パターンおよび種別のレコードをデータ・リポジトリ１１２に記憶するなどの様々なバックグラウンド・プロセスを実行することができる。マネージャ・システム１１０は、分類プロセス１１４によってコンテキスト・パターンを分類することができないことに応答して機械学習プロセス１１５の特定のプロセスが起動されるように構成することができる。例えば、一実施形態では、マネージャ・システム１１０は、分類プロセス１１４が現在のコンテキスト・パターンの分類に成功することができないことに基づいて機械学習プロセス１１５の特定のプロセスを実行することができ、その結果、マネージャ・システム１１０は、現在の判断された分類不能コンテキスト・パターンをデータ・リポジトリ１１２のシグネチャ・パターン領域２１２２に記憶される新たなシグネチャ・パターンとして登録する。一実施形態では、現在のコンテキスト・パターンの分類不能に基づいて、マネージャ・システム１１０は、現在のコンテキスト・パターンの生成をトリガした特定のコンピュータ、例えばコンピュータ・デバイス１３０Ａの表示ユーザ・インターフェースを起動することができる。表示ユーザ・インターフェースは、コンピュータ・デバイス１３０Ａのユーザに、コンピュータ・デバイス１３０Ａによって行われている活動に関する情報の入力を促すことができる。マネージャ・システム１１０は、この入力に応答して、現在のコンテキスト・パターンを、現在のコンテキスト・パターンに関連付けられた活動を規定する戻り情報によってパターンにラベル付けしてシグネチャ・パターン領域２１２２に記憶することができる。これにより、入力されるコンテキスト・パターンを、記憶したシグネチャ・パターンのシグネチャ・パターン種別に属するものとして分類するようにマネージャ・システム１１０をトレーニングすることができる。
【００３６】
図２は、マネージャ・システム１１０によって実行可能な方法２００を示すフローチャートである。ブロック２１０で、マネージャ・システム１１０は、例えば、コンテキスト・パターン領域２１２１、シグネチャ・パターン領域２１２２、分類履歴領域２１２３、およびソフトウェア領域２１２４のデータを含むデータ・リポジトリ１１２の様々なデータの格納、準備、または維持あるいはその組合せを行うために、準備および維持プロセス１１１を実行することができる。マネージャ・システム１１０は、ブロック２１２で準備および維持プロセス１１１が終了させられるまで、準備および維持プロセス１１１を実行することができる。ブロック２２０で、マネージャ・システム１１０は、音声入力から生成された、入って来るコンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類するために分類プロセス１１４を実行することができる。マネージャ・システム１１０は、ブロック２２２で分類プロセス１１４が終了させられるまで分類プロセス１１４を実行することができる。分類プロセス１１４の実行のために、コンテキスト・パターン生成プロセス１１３を反復的に実行することができる。
【００３７】
準備および維持プロセス１１１の実行のために、マネージャ・システム１１０は、コンピュータ・デバイス１３０Ａないし１３０Ｚから受信した音声入力を自動的に処理するように構成することができる。準備および維持プロセス１１１の実行のために、マネージャ・システム１１０は、例えばソフトウェア領域２１２４内のソフトウェア・モジュールの格納内容の増強のために、１つまたは複数の外部システム１４０からデータを自動的に受信するように構成することができる。マネージャ・システム１１０は、準備および維持プロセス１１１の実行のために、自然言語処理（ＮＬＰ）プロセスを実行することができる。
【００３８】
本明細書における実施形態は、コンピュータ・キー押下式ユーザ・インターフェースから発せられる記録された音に基づいてキー押下が判断されることを可能にする。判断されるキー押下は、特定の押下キーを含むことができる。本明細書における実施形態では、コンピュータ・キー押下式ユーザ・インターフェースの打音の記録が文字列または単語あるいはその組合せに変換可能である。本明細書における実施形態は、例えばニューラル・ネットワーク処理を含む、例えば機械学習処理を含み得る様々なプロセスの使用などにより、特定の音を特定のキーにマッピングすることができる。キー押下の判断には、低信頼度で判断されたキー押下を解決するために、スペルおよび文法分析を採用することができる。
【００３９】
本明細書における実施形態では、キー押下分類器が、トレーニング段階でトレーニングされ、認識段階でキー押下を認識するために使用されてもよい。キー押下分類器は、ニューラル・ネットワークに基づくかまたは非ニューラル・ネットワークに基づく機械学習アルゴリズムを採用することができる。一実施形態では、キー押下分類器のトレーニングは、例えば特徴抽出、教師ありまたは教師なしキー認識、スペルおよび文法チェック、およびフィードバックに基づくトレーニングを含み得る。特徴抽出は、例えばケプストラム特徴抽出および／またはＦＦＴ特徴抽出を含み得る。キー認識は、一実施形態ではラベルなしトレーニング・データを含み得る。例えば、クラスタリング手法を使用してキー・ストロークをＮ個のクラスのうちの１つのクラスにクラスタ化することができ、Ｎはキーボードのキーの数より多い数とすることができる。クラスタリングと隠れマルコフ・モデル（ＨＭＭ）を使用して条件付き分布クラスを求めることができ、予測を強化するために使用することができる。ＨＭＭアルゴリズムを使用して、キー分布およびキー−クラス間マッピング分布を推定することができる。辞書ベースのスペル訂正を文法訂正処理とともに使用することができる。精度を向上させるために、隠れマルコフ・モデルにスペルおよび文法訂正を組み込むことができる。スペル・チェックまたは文法チェック・プロセスへの依存を減らすかまたはなくすために、フィードバックに基づくトレーニング・プロセスを使用することができる。一実施形態では、前に取得した訂正済み結果に、トレーニング・サンプルとしてラベル付けし、正しい単語である可能性がより高い単語を選択するためにヒューリスティクスを使用することができる。様々な分類アルゴリズム、例えば線形分類アルゴリズムまたはガウス分類アルゴリズムあるいはその両方を使用することができる。
【００４０】
図３は、一実施形態でマネージャ・システム１１０によって実行可能な方法３００を示すフローチャートである。ブロック３１０で、マネージャ・システム１１０は、キー押下式ユーザ・インターフェースから発せられた音を表す音声入力の取得を実行することができる。ブロック３１０で、マネージャ・システム１１０は、音声入力に基づいてコンテキスト・パターンの生成を実行することができる。方法３００は、ブロック３３０でマネージャ・システム１１０がコンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を実行することを含み得る。ブロック３４０で、マネージャ・システム１１０は、分類の実行に基づいて出力の提供を実行することができる。
【００４１】
システム１００は、ユーザまたはユーザのグループがどのような種類の活動に従事しているかを推定するために、１つまたは複数のコンピュータ・キー押下式ユーザ・インターフェースを監視し、キーボード音を含むキー押下式ユーザ・インターフェースの音を記録するように動作可能とすることができる。これらのキー押下式ユーザ・インターフェースの音響は、「ユーザ・インターフェースの言語」となり、新たなコグニティブ・インターフェースへの新たな入力を定義づける。システム１００は、キー押下式ユーザ・インターフェース音（例えば新しい種類の言語）を入力とし、タイピングしている可能性のある特定の人物のコグニティブ解析、またはその人物が従事している活動の種類の匿名解析を出力として生成することができる、コグニティブ・サービスを提供することができる。導出可能な大別カテゴリの中には、ウェブ閲覧、ソーシャル・メディア・ウェブサイトの使用、ゲーム、ワード・プロセッシングなどがある。システム１００は、キー押下式ユーザ・インターフェース特有の音声パターンがないか聴取するために、１個から数千個、数百万個、数十億個までの音声入力聴取装置、例えば携帯電話を備えることができる。音声パターンは、音声入力に基づいてコンテキスト・パターンを生成し、生成されたコンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類することによって聴取することができる。システム１００は、音声入力のタイミング情報を解析することができる。マネージャ・システム１１０は、タイミング情報を監視するために、キー押下間の休止期間を表すデータを含むコンテキスト・パターンを生成することができる。システム１００は、例えば、休止の前にどれだけ多くのキー入力がなされたかを監視することができ、複数の単語を結合して句とし、次にその句を探すことができる。
【００４２】
システム１００は、ユーザの活動を判断するために、キー押下式ユーザ・インターフェースの音に基づいてキー押下を解析し、その音をコンテキスト・パターン・データに変換することができる。システム１００は、キー押下式ユーザ・インターフェースの音響パターンを使用して、活動コンテキスト（例えば、ユーザ活動の種別である、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシング、特定文字列など）を特定することができる。ユーザ活動種別のそれぞれが、データ・リポジトリ１１２のシグネチャ・パターン領域２１２２に記憶された、関連付けられた１つまたは複数のシグネチャ・パターン種別を有することができる。それぞれの異なるシグネチャ・パターン種別が、異なるユーザ活動、例えば、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシング、または特定文字列あるいはその組合せを規定することができる。マネージャ・システム１１０は、コンピュータ・キー押下式ユーザ・インターフェースの音響パターンの解析によってコンテキスト・パターンを生成し、入力されている単語または句を特定することができる。
【００４３】
図４は、マネージャ・システム１１０とそれに関連付けられたデータ・リポジトリ１１２と、コンピュータ・デバイス１３０Ａないし１３０Ｚと、ネットワーク１６０のハードウェア・コンポーネント１６２との観点から見た、システム１００の使用により実行される方法３００の一例を示すフローチャートである。
【００４４】
ブロック１３０１および２３０１で、コンピュータ・デバイス１３０Ａとコンピュータ・デバイス１３０Ｚとがそれぞれ、ブロック１１０１およびブロック１１０２でマネージャ・システム１１０によってそれぞれ受信されるための音声入力を送信することができる。
【００４５】
コンピュータ・デバイス１３０Ａおよびコンピュータ・デバイス１３０Ｚは、異なる構成とすることができることに留意されたい。一実施形態では、例えば、ブロック１３０１でコンピュータ・デバイス１３０Ａによって送信されるキー押下の音を表す音声入力が、例えばコンピュータ・キーボード、またはマウス等のポインタ・コントローラのうちの１つまたは複数を含む、コンピュータ・デバイス１３０Ａのキー押下式ユーザ・インターフェースから発せられているキー押下の音を表す音声入力であるように特定のコンピュータ・デバイス１３０Ａを構成することができる。一方、コンピュータ・デバイス１３０Ｚは、一実施形態では、コンピュータ・デバイス１３０Ｚの外部のコンピュータ・デバイスのキー押下式ユーザ・インターフェースから発せられる音を表す音声入力を送信するコンピュータ・デバイスとして構成することができる。
【００４６】
ブロック１１０１および１１０２でデータを受信すると、マネージャ・システム１１０はブロック１１０３に進んでコンテキスト・パターン生成プロセス１１３を実行することができる。ブロック１１０３で、マネージャ・システム１１０は、ブロック１１０１またはブロック１１０２で受信した受信音声入力のうちの１つまたは複数の音声入力に基づいてコンテキスト・パターンを生成することができる。
【００４７】
このような生成を実行するために、マネージャ・システム１１０は、特定の形式を有するコンテキスト・パターンを出力することができる。複数の選択可能な有効形式があってよく、または、一実施形態では単一の有効な形式が存在し得る。一実施形態によると、生成されるコンテキスト・パターンの特定の形式は、一連のキー押下を含むことができる。一連のキー押下は、例えばテキスト文字列、例えば文字、数字、または記号文字あるいはその組合せ、または追加のキー押下（例えばポインタ・デバイスのクリック、スペース・バー押下など）あるいはその組合せを含むことができる。一実施形態では、コンテキスト・パターンは（特定のまたは一般的な）一連のキー・プロセスとタイミング情報、例えばキー押下間の１組の休止のタイミング情報を規定するタイミング情報を含むことができる。本明細書における実施形態では、キー押下間の休止によって実質的な識別情報を組み込むことができる。例えば、片手キー押下（ＱＷＥＲＴＹキーボードの「Ｅ」、「Ｒ」）は、一般に、両手キー押下（「Ｅ」、「Ｐ」）よりも長い時間を要し、本明細書における実施形態は、一連のキー押下を判断する際にタイミング情報を使用することができることを認める。また、タイミング情報は、キー・シーケンスを導出するために使用された後も保持することができ、キー押下シーケンスとタイミング情報とを含むコンテキスト・パターンの一部として含めることができる。
【００４８】
特定のキー押下を含むコンテキスト・パターンは、特定の文字列を含む一連のキー押下と、キー押下間の休止を表す時間の形式のタイミング情報とを含むことができる。マネージャ・システム１１０は、分類をキー押下シーケンス（例えば文字列を含む）またはタイミング情報あるいはその両方に基づかせることができ、一実施形態では、マネージャ・システム１１０によって判断された予想種別間の競合を解決するためにタイミング情報を使用することができる。ブロック１１０３で生成された各パターンについて、マネージャ・システム１１０は、生成されたコンテキスト・パターンを、受信ブロック１１２１でデータ・リポジトリ１１２が受け取るように、データ・リポジトリ１１２に記憶することができる。１つまたは複数のコンテキスト・パターンの生成が完了すると、マネージャ・システム１１０は、ブロック１１０４で分類プロセス１１４（図１）を実行することができる。コンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類する分類の実行のために、マネージャ・システム１１０は、現在のコンテキスト・パターンをデータ・リポジトリ１１２に記憶されている記憶シグネチャ・パターンと比較することができ、現在のコンテキスト・パターンと記憶シグネチャ・パターンとの突き合わせを行うことができる。突き合わせを実行するために、マネージャ・システム１１０は、１つまたは複数のパターン認識プロセスを採用することができ、例えば分類アルゴリズム、および／またはクラスタリング・アルゴリズム、および／または類似度値または相違度値の計算を含む方式を採用する。
【００４９】
この突き合わせに基づいて、マネージャ・システム１１０はブロック１１０４で、コンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類するために、ブロック１１０３で生成された１つまたは複数のコンテキスト・パターンの分類を実行することができる。ブロック１１０４でこのような突き合わせに基づく分類を実行するために、マネージャ・システム１１０は、データ・リポジトリ１１２によって実行される照会受信および応答ブロック１１２２（図４）で示すようにデータ・リポジトリ１１２によって受け取られる複数の照会を行うことができる。
【００５０】
一実施形態では、ブロック１１０４でマネージャ・システム１１０は、本明細書に記載されているような様々な代替の分類を行うことができる。候補シグネチャ・パターン種別ごとに、データ・リポジトリ１１２は１つまたは複数のシグネチャ・パターンを記憶することができる。マネージャ・システム１１０は、現在のコンテキスト・パターンを、そのコンテキスト・パターンが特定のシグネチャ・パターン種別に関連付けられた１つまたは複数のシグネチャ・パターンと合致することに基づいてそのシグネチャ・パターン種別に属するものとして分類することができる。データ・リポジトリ１１２に記憶されるシグネチャ・パターンは、例えばパターンのリストによって定義するか、または数学演算子および／または論理演算子を含む関数によって表すことができる。一実施形態では、突き合わせを実行するために、突き合わせは厳密な合致を要求しない合致基準に基づくことができる。突き合わせは、一実施形態では最良適合基準に基づくことができ、一実施形態では類似度および相違度の評価を含むことができる。
【００５１】
マネージャ・システム１１０は、コンテキスト・パターン生成および分類処理を使用して、キーボード音を含むキー押下式ユーザ・インターフェース音を解析することができ、例えば以下のパターンを含むパターンを特定することができる。すなわち、ウェブ閲覧コンテキスト：「ｗｗｗ．」＋「．ｃｏｍ」＋ページ・ダウンおよびページ・アップおよびスクロールのパターン、マス・メッセージング・コンテキスト：Ｍ個の文字の後に「Ｅｎｔｅｒ」キー、ソーシャル・メディア・コンテキスト：「［特定ドメイン］．ｃｏｍ」または「クリック」＋短い応答＋「Ｅｎｔｅｒ」または数クリックのパターン、ゲーム・コンテキスト：上下左右の矢印キーの使用、および、ウィンドウを変えない大量のタイピングにより特徴づけられるワード・プロセッシング・コンテキストである。マネージャ・システム１１０は、キー押下式ユーザ・インターフェース音を解析することができ、特定の種類の活動を示すパターンを探すことができる。特定の種類の活動は、共通して繰り返される属性を有する。例えば、ウェブを閲覧しているときは、キー「ｗｗｗ．」の後に平均して２文字ないし８文字が続き、その後に「．ｃｏｍ」が続くのが一般的に見られるパターンであることがわかる。マネージャ・システム１１０がこのようなパターンを、ページ・ダウン・ボタンの周期的な打鍵（ウェブ・ページを読んでいることを示す）のような他のキーボード音とともに特定した場合、マネージャ・システム１１０は、そのユーザの活動コンテキストを「ウェブ閲覧」として適正に関連付けることができる。マネージャ・システム１１０は、コンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類することができる。それぞれの異なるシグネチャ・パターン種別が異なるユーザ活動を規定し得る。ユーザ活動種別とも呼ぶことがあるシグネチャ・パターン種別の例を表１にまとめる。
【００５２】
【表１】
2020526839.tif 000003
【００５３】
表１を参照すると、１つの種別は特定文字列の種別である。一実施例では、管理者ユーザが管理者ユーザ・インターフェースを使用して特定の文字列を定義することができる。例示の管理者ユーザ・インターフェースを、図５に示すようなユーザ・インターフェース１５００によって示す。ユーザ・インターフェース１５００は、管理者コンピュータ・デバイス、例えば図１に示すようなコンピュータ・デバイス１２０のディスプレイに表示することができる。管理者ユーザは、ユーザ・インターフェース１５００の領域１５０２を使用して文字列を入力することができる。文字列は、例えば、１組のアルファベット文字、数字、記号またはスペースあるいはその組合せを含むことができる。マネージャ・システム１１０は、領域１５０２を使用して特定の文字列が入力されると、管理者ユーザが定義したその文字列を検索し、その特定の文字列に従って関連付けられたシグネチャ・パターン種別に属するものとして入来コンテキスト・パターンを分類するように構成される。本明細書では、一実施形態では、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、音声入力に基づいてコンテキスト・パターンを生成することと、コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を行うことと、分類の実行に基づいて出力を提供することとが記載されており、この方法は、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンをその文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、分類の実行は、コンテキスト・パターンをシグネチャ・パターンと突き合わせることを含む。したがって、マネージャ・システム１１０は、任意の目的で管理者ユーザによって定義可能な任意の定義された特定文字列を検索するように構成することができる。定義された特定文字列は、音声入力情報以外の情報を送信しないコンピュータ・デバイスまたは１組のコンピュータ・デバイスから受信可能な１つまたは複数の音声入力を使用して検索することができる。したがって、マネージャ・システム１１０は、特定のユーザのコンピュータ・デバイスのネットワーク・アダプタを介してデータを受信しない場合でも特定のユーザの活動の分類を実行することができる。マネージャ・システム１１０が特定のユーザの活動を分類するのに、ユーザのキー押下を表す音声入力にのみに基づくか、または、そのような音声入力と、その特定のユーザによって定義され、その特定のユーザのコンピュータ・デバイスのネットワーク・アダプタを介して受信した追加のユーザ定義データとの組合せに基づくかを問わず、分類を実行するのにユーザ情報へのいかなるアクセスも露出も必要としない。一実施形態では、処理される音声入力は、１つまたは複数の外部コンピュータ・デバイス（例えば音声入力を提供する特定の１つまたは複数のコンピュータ・デバイスの外部の１つまたは複数のコンピュータ・デバイス）から発せられるキー押下式ユーザ・インターフェース音を表す音声入力を提供する特定の１つまたは複数のコンピュータ・デバイスからの音声入力を含むことができる。
【００５４】
一実施形態ではマネージャ・システム１１０は、キー押下シーケンス情報またはタイミング情報あるいはその両方を含み得る音声入力のコンテキスト・パターンを生成することができる。表１を参照すると、マネージャ・システム１１０は、コンテキスト・パターンのキー押下シーケンスに基づいて、活動分類およびシグネチャ・パターン分類を実行することができる。一実施形態では、コンテキスト・パターンは、キー押下シーケンス情報とタイミング情報とを含むことができる。一実施形態では、マネージャ・システム１１０は、コンテキスト・パターンのタイミング情報に基づいて活動分類およびシグネチャ・パターン分類を実行することができる。例えば、マネージャ・システム１１０は、タイミング情報を初期分類の基礎として、または種別間の競合を解決するため、あるいはその両方のために使用することができる。一実施例によると、ウェブ閲覧種別は、キー押下間の長い（例えば閾値期間より長い）休止によって特徴づけられることができる。したがって、マネージャ・システム１１０は、この必要条件タイミング・パターンを有するシグネチャ・パターンと合致する特定のコンテキスト・パターンをウェブ閲覧種別に属するものとして分類することができるか、またはマネージャ・システム１１０がキー・シーケンスに基づいて特定のコンテキスト・パターンを、ウェブ閲覧種別、マス・メッセージング種別、特定文字列種別のいずれに属するものか解決することができず、その特定のパターンが長い休止によって特徴づけられる場合、マネージャ・システム１１０はウェブ閲覧種別を選択してこの競合を解決することができる。別の実施例によると、ゲーム種別は、キー押下間の短い（例えば閾値期間を下回る）休止によって特徴づけられ得る。したがって、マネージャ・システム１１０は、この必要条件タイミング・パターンを有するシグネチャ・パターンにする特定のコンテキスト・パターンをゲーム種別に属するものとして分類することができるか、またはマネージャ・システム１１０が特定のコンテキスト・パターンをキー・シーケンスに基づいて、ゲーム種別、ソーシャル・メディア種別、特定文字列のいずれに属するものか解決することができず、その特定のパターンが短い休止によって特徴づけられる場合、マネージャ・システム１１０はゲーム種別を選択してその競合を解決することができる。
【００５５】
マネージャ・システム１１０は、異なる音声入力から生成された異なる入来コンテキスト・パターンを異なるように分類することができる。表１を参照すると、本明細書では、一実施形態において、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、音声入力に基づいてコンテキスト・パターンを生成することと、コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を実行することと、分類の実行に基づいて出力を提供することとが記載され、上記取得、生成、および分類の実行が第１ないし第６の音声入力のそれぞれについて行われ、第１の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、第２の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、第３の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、第４の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となり、第５の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、第６の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果が特定文字列シグネチャ・パターン種別と合致する種別となる。マネージャ・システム１１０は、任意のＮ組の音声入力を、Ｍ個の候補種別の任意の組に分類するように構成することができ、ここで、Ｎ≧１であり、Ｍ≧１である。候補種別は、表１で詳述されている種別のうちの１ないし６通りの種別またはその他の種別あるいはその両方を含むことができる。
【００５６】
管理者ユーザは、ユーザ・インターフェース１５００を使用して、様々な管理者定義シグネチャ・パターンを登録するようにマネージャ・システム１１０を構成することができる。管理者ユーザは、領域１５０６をアクティブにして、管理者ユーザがトレーニング期間中にキー押下式ユーザ・インターフェースのトレーニング使用を行うモードであって、マネージャ・システム１１０がそれに応答して管理者ユーザのキー押下によってトリガされたキー押下音の配列を表す音声入力を提供するモードを開始することができる。マネージャ・システム１１０は、それに応答して音声入力から管理者定義コンテキスト・パターンを生成することができる。領域１５０６がアクティブな状態で、管理者ユーザは、マネージャ・システム１１０によって監視可能な関連付けられたシグネチャ・パターンを有する活動種別として管理者が登録したい任意の活動を行うことができる。管理者定義コンテキスト・パターンの生成時、マネージャ・システム１１０はそれに応答して、管理者定義コンテキスト・パターンの活動種別を規定するラベル付け情報を入力するように管理者に促すユーザ・インターフェース・プロンプトを提示することができる。マネージャ・システム１１０は、管理者定義コンテキスト・パターンを、ユーザ活動種別を規定する関連付けられた管理者定義ラベル付け情報ととともに、シグネチャ・パターン領域２１２２にシグネチャ・パターン種別を定義するシグネチャ・パターンとして記憶することができる。マネージャ・システム１１０は、分類プロセス１１４を実行することによって、管理者ユーザによって定義された活動およびシグネチャ・パターン種別に従って入来コンテキスト・パターンの分類を行うために、入来コンテキスト・パターンをその新たに記憶されたシグネチャ・パターンと突き合わせることができる。したがって、本明細書では、管理者ユーザが、トレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を行うことができるようにするユーザ・インターフェース機能を提供することと、トレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、管理者ユーザがトレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、その特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶されたラベル付け情報によってラベル付けされたシグネチャ・パターンとして登録することと、入来コンテキスト・パターンをそのシグネチャ・パターンと突き合わせることとを含む方法が記載されている。
【００５７】
ブロック１１０５で、マネージャ・システム１１０は、ブロック１１０４で実行された分類の実行の結果に基づく出力の提供を行うことができる。出力の提供を実行するために、マネージャ・システム１１０は、ブロック１１０４での分類の実行に基づいて出力の提供を実行することができる。出力は、１つまたは複数の出力先に提供することができ、例えば出力は、ブロック１３０２でのコンピュータ・デバイス１３０Ａによる受信のためにコンピュータ・デバイス１３０Ａに提供することができ、マネージャ・システム１１０は、受信ブロック２３０２でのコンピュータ・デバイス１３０Ｚによる受信のためにブロック１１０６でコンピュータ・デバイス１３０Ｚに出力を提供することができる。マネージャ・システム１１０は、ブロック１６２１でのハードウェア・コンポーネント１６２による受信のために、ブロック１１０６でネットワーク１６０のハードウェア・コンポーネント１６２への出力の提供を実行することができる。
【００５８】
ブロック１１０６で、マネージャ・システム１１０は、機械学習処理を実行することができる。一実施例では、マネージャ・システム１１０は、ブロック１１０６で、ブロック１１０４で実行された分類の結果を分類履歴領域２１２３に記憶することができ、それをマネージャ・システム１１０は後で履歴による傾向分析に使用することができる。このデータは、システム１００によって定義されたコグニティブ・サービスによって使用されるコーパスの一部となる。分類履歴領域２１２３は、リッチ・データ、例えばコンテキストが適用される時間窓とともに導き出されるコンテキストを記憶することができる（例えば最近の２０分間、コンテキスト：例えばウェブ閲覧、デバイスＡＢＣＩ信頼スコア：Ｘ）。ブロック１１０６での機械学習プロセスの実行は、データ・リポジトリ１１２によって実行される照会受信および応答ブロック１１２３（図４）で示すように、マネージャ・システム１１０がデータ・リポジトリ１１２の複数の照会を行うことを含み得る。
【００５９】
一実施形態では、マネージャ・システム１１０は、ブロック１１０４でマネージャ・システム１１０が現在のコンテキスト・パターンを分類することができないことに基づいてトレーニング・モードに移ることができる。ある実施形態では、システム１００は、オプトイン手法によって、または人間による解析によってユーザのキー押下式ユーザ・インターフェース定義入力をより正確に監視し、特徴づけるための許可を得ることができる。
【００６０】
一実施形態では、分類プロセス１１４の実行により現在のコンテキスト・パターンを分類することができないことに応答して、マネージャ・システム１１０は図６に示すようなユーザ・インターフェース１６００の表示を起動することができる。ユーザ・インターフェース１６００は、特定のコンピュータ・デバイス、例えばコンピュータ・デバイス１３０Ａが音声入力を提供することに応答してユーザ・コンピュータ・デバイス１３０Ａないし１３０Ｚのディスプレイに表示することができ、その入力によるコンテキスト・パターンが分類されないことに基づいてユーザ・インターフェース１６００を特定のコンピュータ・デバイス１３０Ａに表示することができる。ユーザ・インターフェース１６００は、コンピュータ・デバイス１３０Ａのユーザに、現在の音声入力を生成している活動に関する情報を入力するように促すことができる。次に、コンピュータ・デバイス１３０Ａは、マネージャ・システム１１０に、（ユーザ・インターフェース１６００を使用してコンピュータ・デバイス１３０Ａのユーザによって定義された）活動の記載を送信することができる。複数の類似した音声入力を受信した場合、マネージャ・システム１１０は、その複数の音声入力を提供している複数のコンピュータ・デバイス上でユーザ・インターフェース１６００の表示を起動することができる。それらの異なるコンピュータ・デバイスのユーザは、領域１６０２を使用してそれぞれの活動の記載を送信することができる。マネージャ・システム１１０は、自然言語処理（ＮＬＰ）を使用してラベル付け規定子を特定し、受信した活動の記載を、ユーザ活動の記載を規定する限定された数の種別に分類することができる。マネージャ・システム１１０は、ユーザが入力した記載を使用して共通の活動として共通して分類される、共通分類活動のコンテキスト・パターンを処理することができる。マネージャ・システム１１０は、この分類情報に基づいて１つまたは複数のシグネチャ・パターンを特定することができ、この処理に基づいて表１に示すように１つまたは複数の新たなシグネチャ・パターン種別を登録することができる。
【００６１】
ブロック１１０７で、マネージャ・システム１１０は、ブロック１１０１に戻ってコンピュータ・デバイス１３０Ａないし１３０Ｚのうちの１つまたは複数のコンピュータ・デバイスから１つまたは複数のさらなる音声入力を受信することができる。
【００６２】
実施例１ないし実施例５に、システム１００の様々な使用事例を示す。一実施形態では、実施例１によって示すように、システム１００を法執行用途で使用することができ、ブロック１１０５（図４）での出力の提供は、警察システムによって提供される通知を外部システム１４０に出力することを含むことができる。
【００６３】
実施例１
警察官が、計画された犯罪活動を突き止め、その作戦が「ｎｉｇｈｔ  ｅａｇｌｅ」というコード・ネームで呼ばれていることを知る。警察機関はマネージャ・システム１１０を運用し、維持することができ、管理者ユーザがユーザ・インターフェース１５００を使用して「ｎｉｇｈｔ  ｅａｇｌｅ」をマネージャ・システム１１０によって検索される特定文字列シグネチャ・パターンとして登録することができる。周辺区域からキー押下式ユーザ・インターフェースの音響サンプルを収集するようにオプトインしているユーザを有するすべてのコンピュータ・デバイス１３０Ａないし１３０Ｚにアラートが出される。マネージャ・システム１１０は、管理者ユーザが定義した特定文字列種別の記憶されている１つまたは複数のシグネチャ・パターンと合致すると判断された入来コンテキスト・パターンを分類することができる。この分類のためのシグネチャ・パターンは、キー押下シーケンス情報（例えば文字列情報を含む）とタイミング情報とを規定することができ、タイミング情報は、例えば（同じ手でタイプされたために）「Ｎ」と「ｉ」の間には、別々の手でタイプされて、その打鍵リズムが示す文字間の時間が通常はより短い「ｇ」と「ｈ」の間よりも３０％多くの時間がある可能性があることを含む。スペース・キーは特有の音を有することが多いため、上記の特定文字列の記憶シグネチャ・パターンは一実施形態では以下のように与えられる。
Ｎ［１０］ｉ［８］ｇ［６］ｈ［１２］ｔ［１２］［スペース］ｅ［２０］ａ［１５］ｇ［８］ｌ［１１］ｅ
Ｎ［〜］ｉ［−２］ｇ［−４］ｈ［＋２］ｔ［＋２］［スペース］ｅ［＋１０］ａ［＋５］ｇ［−２］ｌ［＋１］ｅ
ここで、括弧内の数字はストローク間の何らかの単位時間であるか、または各文字間の相対時間である。記憶シグネチャ・パターンのキー・シーケンス情報は、例えば名前、コード・ネーム、位置座標、１つまたは複数の時間形式で表された特定時刻などを定義することができる。マネージャ・システム１１０は、例えば入来コンテキスト・パターンの文字列情報を含むキー・シーケンス情報または入来コンテキスト・パターンのタイミング情報あるいはその両方を使用して、音声入力を使用して生成された入来コンテキスト・パターンを記憶シグネチャ・パターンと突き合わせることができる。マネージャ・システム１１０は、種別を設定するため、または予測種別間の競合を解決するため、あるいはその両方のために、タイミング情報を使用することができる。例えば、マネージャ・システム１１０が閾値数の入来コンテキスト・パターンを定義された特定文字列シグネチャ・パターン種別に属するものとして分類することに基づいて、マネージャ・システム１１０は、例えば警察官と車両とを派遣するための外部システム１４０へのメッセージ出力と、シグネチャ・パターンと合致した関連付けられたコンテキスト・パターンを有する音声入力を提供しているコンピュータ・デバイスの位置を判断するための位置特定サービス・プロセスを開始するためのコマンド出力と、位置検出サービス・プロセスからの結果の戻りに基づく交通規制信号または道路閉鎖あるいはその両方を起動するためのマシン・プロセス・コントロールとを含む、１つまたは複数の出力を提供することができる。
［実施例１の終わり］
【００６４】
一実施形態では、実施例２によって示すように、システム１００をネットワーク構成用途で使用することができ、ブロック１１０５（図４）での出力の提供は、ネットワークのハードウェア・コンポーネントを構成するための出力を提供することを含むことができる。
【００６５】
実施例２
一実施形態では、マネージャ・システム１１０は、例えば、ルータなどのネットワーク１６０のハードウェア・コンポーネント１６２を構成する際に使用するために、ネットワーク１６０の構成を決定するために分類プロセス１１４を実行することができる。一実施形態では、分類プロセス１１４は、単一のコンピュータ・デバイス、例えばコンピュータ・デバイス１３０Ａによって提供された音声入力を処理するために実行することができ、コンピュータ・デバイス１３０Ａは、ルータによって提供されるハードウェア・コンポーネント１６２を介してマネージャ・システム１１０と通信するローカル・エリア・ネットワーク（ＬＡＮ）の環境に配置することができる。マネージャ・システム１１０は、ルータによって提供されるハードウェア・コンポーネント１６２によって提供される接続を介してコンピュータ・デバイス１３０Ａを使用するユーザの活動を分類するために、分類プロセス１１４を実行することができる。マネージャ・システム１１０は、ユーザの活動を分類するために分類プロセス１１４を実行することができ、分類に基づいて、ルータによって提供されるハードウェア・コンポーネント１６２の構成を調整することができる。ルータは、ルータを通るトラフィックに基づいて最適化することができる代替ポート構成を備えることができる。マネージャ・システム１１０は、一実施形態では、コンピュータ・デバイス１３０Ａを使用するユーザの判断された活動に基づいてハードウェア・コンポーネント１６２を構成するように動作可能とすることでき、例えば、第１の活動、例えばゲームが検出されたことに基づく第１のポート構成と、コンピュータ・デバイス１３０Ａの検出された活動、例えばウェブ閲覧に基づく第２のポート構成とを備えるように、ハードウェア・コンポーネント１６２を構成することができる。
［実施例２の終わり］
【００６６】
一実施形態では、実施例３によって示すように、システム１００がネットワーク構成用途で使用され、ブロック１１０５（図４）での出力の提供は、ネットワークのハードウェア・コンポーネントを構成するための出力を提供することを含むことができる。
【００６７】
実施例３
上記の実施形態において、複数のユーザ・コンピュータ・デバイス１３０Ａないし１３０Ｚによって検出された活動に基づいて、ルータによって提供されるハードウェア・コンポーネント１６２を構成するためにマネージャ・システム１１０を設けることができる。特定の環境、例えばローカル環境または広域環境に、複数のコンピュータ・デバイス、例えばコンピュータ・デバイス１３０Ａないし１３０Ｚを配置することができる。一実施形態では、コンピュータ・デバイス１３０Ａないし１３０Ｚを、ローカル・エリア・ネットワーク（ＬＡＮ）を介してマネージャ・システム１１０と通信するインターネット・カフェに配置することができる。コンピュータ・デバイス１３０Ａないし１３０Ｚとマネージャ・システム１１０との間のトラフィックは、ルータによって提供されるハードウェア・コンポーネント１６２によって提供され得る。マネージャ・システム１１０は、コンピュータ・デバイス１３０Ａないし１３０Ｚを使用して検出されたユーザの活動に基づいて、ルータによって提供されるハードウェア・コンポーネント１６２を構成するように動作可能とすることできる。コンピュータ・デバイス１３０Ａないし１３０Ｚは、マネージャ・システム１１０によって受信され、コンテキスト・パターン生成プロセス１１３と分類プロセス１１４の実行によって処理される音声入力を送信することができる。マネージャ・システム１１０は、分類プロセス１１４を反復的に実行していることができ、上記の環境においてコンピュータ・デバイスを使用して実行されている活動を規定する優先リストを反復的に生成することができる。例えば、時刻１で、マネージャ・システム１１０は、環境内の活動の以下のような優先順位を決定することができる。
１．ゲーム、２．ソーシャル・メディア、３．マス・メッセージング
その後、時刻２で、マネージャ・システム１１０は、環境内の活動の以下のような優先順位を決定することができる。
１．マス・メッセージング、２．ウェブ閲覧、３．ソーシャル・メディア
マネージャ・システム１１０は、分類プロセス１１４によって提供された結果に基づいて、マネージャ・システム１１０によって生成された優先リストに基づいてルータによって提供されるハードウェア・コンポーネント１６２を反復的に構成することができる。時刻１で、マネージャ・システム１１０は、ルータによって提供されるハードウェア・コンポーネント１６２を、時刻１で決定された活動の優先順位に基づく第１のポート構成を有するように制御するように構成することができる。時刻２において、マネージャ・システム１１０は、ルータによって提供されるハードウェア・コンポーネント１６２を、時刻２において環境内のユーザの判断された活動に基づく第２のポート構成を有するように制御するように構成することができる。
［実施例３の終わり］
【００６８】
一実施形態では、実施例４によって示すように、システム１００をソフトウェア構成用途で使用することができ、ブロック１１０５（図４）での出力の提供は、コンピュータ・デバイスの機能を変更するための出力を提供することを含み得る。
【００６９】
実施例４
単一のコンピュータ・デバイス、例えば１３０Ａによって送信された音声入力を受信し、処理するためにマネージャ・システム１１０を設けることができる。コンピュータ・デバイス１３０Ａのユーザは活動を行っていることができ、その活動の種別をマネージャ・システム１１０が分類プロセス１１４を実行することによって判断することができる。コンピュータ・デバイス１３０Ａは、コンピュータ・デバイス１３０Ａのキーボードを含むキー押下式ユーザ・インターフェースの音発生を表す音声入力情報を、処理のためにマネージャ・システム１１０に送信し続けていることができる。マネージャ・システム１１０は、コンテキスト・パターン生成プロセス１１３と分類プロセス１１４とを実行して、ユーザの現在の活動を判断することができる。分類プロセス１１４の実行によって行われた分類に応答して、マネージャ・システム１１０は、コンピュータ・デバイス１３０Ａでのインストールのために、コンピュータ・デバイス１３０Ａを使用しているユーザによって行われている現在の活動に応じてコンピュータ・デバイス１３０Ａのパフォーマンスを最適化するように、データ・リポジトリ１１２のソフトウェア領域２１２４からダウンロードされる特定のソフトウェアを提示することができる。例えば、分類プロセス１１４の実行により現在の活動種別がワード・プロセッシングであると判断することに基づき、マネージャ・システム１１０はそれに応答して、判断されたワード・プロセッシング種別に従ってワード・プロセッシングの最適化のためのソフトウェアをコンピュータ・デバイス１３０Ａにインストールするために、ソフトウェア領域２１２４からのダウンロードを開始することができる。このようなソフトウェアは、例えば、追加のフォントまたは追加のワード・プロセッシング機能を提供するためのソフトウェアを含み得る。分類プロセス１１４の実行により現在の活動種別がゲームであると判断されることに基づき、マネージャ・システム１１０はそれに応答して、判断されたゲーム種別に応じたゲームの最適化のためのソフトウェア、例えば追加のキーボード入力をゲーム・コントロールとして使用する、例えば追加のゲーム機能を実装するためのソフトウェアをコンピュータ・デバイス１３０Ａにインストールするために、ソフトウェア領域２１２４からのダウンロードを開始することができる。
［実施例４の終わり］
【００７０】
一実施形態では、実施例５によって示すように、ユーザ・インターフェース用途でシステム１００を使用することができ、ブロック１１０５（図４）での出力の提供は、ユーザ・インターフェース機能の増強のためにコンピュータ・デバイスのユーザにリアルタイム・フィードバックを提供するための出力を提供することを含むことができる。
【００７１】
実施例５
この実施例では、コンピュータ・デバイス１３０Ａは、ライブ講堂での発表者によって使用されるコンピュータ・デバイスであり、分類プロセス１１４の実行によって、コンピュータ・デバイス１３０Ａを使用する発表者に聴衆の注目度に関するリアルタイム・フィードバックを提供するように構成される。コンピュータ・デバイス１３０Ａは、例えば、講堂において別個に投影もされる現在のスライド・プレゼンテーションのスライドを表示していることができ、分類プロセス１１４の結果に応答して、例えばマネージャ・システム１１０によってコンピュータ・デバイス１３０Ａのディスプレイ上に表示するために送信されるテキスト・メッセージも表示することができる。記載の事例では、コンピュータ・デバイス１３０Ａは、発表者によって使用されるコンピュータ・デバイスとすることができ、一方、コンピュータ・デバイス１３０Ｂないし１３０Ｚは、音声入力を提供することができる講堂内の他のコンピュータ・デバイスである。コンピュータ・デバイス１３０Ｂないし１３０Ｚは、コンテキスト・パターン生成プロセス１１３と分類プロセス１１４を使用するマネージャ・システム１１０による処理のために音声入力を提供する。記載の事例では、コンピュータ・デバイス１３０Ｂないし１３０Ｚのユーザの活動を判断するために分類プロセス１１４を設けることができる。より詳細には、分類プロセス１１４を実行するマネージャ・システム１１０を、プレゼンテーションに出席しているコンピュータ・デバイス１３０Ｂないし１３０Ｚのユーザが、コンピュータ・デバイス１３０Ａを使用している発表者によって発表されているプレゼンテーションに注目しているか否かを判断するように構成することができる。例えば、コンピュータ・デバイス１３０Ａを使用して発表されているプレゼンテーションは、プレゼンテーション中に聴衆が発表者によって見るように求められている文字列を含むかまたは文字列によって指定されているウェブサイト・ドメインを表示していることがある。コンピュータ・デバイス１３０Ｂないし１３０Ｚは、コンテキスト・パターン生成プロセス１１４を使用した処理のためにマネージャ・システムに音声入力を送信しており、分類プロセス１１４は、コンピュータ・デバイス１３０Ａによって実行されているプレゼンテーションによって指定されたドメインを聴衆が実際に見ているか否かを判断するために使用することができる。キーボード音を含むキー押下式ユーザ・インターフェースの音を監視し、コンテキスト・パターン生成プロセス１１３と分類プロセス１１４とを使用して、マネージャ・システム１１０は、聴衆およびコンピュータ・デバイス１３０Ｂないし１３０Ｚのユーザが指示されたドメインを実際に見ているか否か、または反対に、聴衆が指示されたのとは異なる、例えばプレゼンテーション中に指定された指定ドメインとは異なるドメインを見ているか、またはウェブ閲覧以外の種別の活動を行っているかを判断するために、講堂においてキーボードが生成する音を監視することができる。ブロック１１０６で出力を提供するために、このような事例によると、マネージャ・システム１１０は、コンピュータ・デバイス１３０Ａを使用しているプレゼンテーションの発表者に、プレゼンテーションに対する聴衆の注目に関する生のリアルタイム・フィードバックが与えられるように、分類プロセス１１４の結果に基づいてテキスト・ベースのメッセージをコンピュータ・デバイス１３０Ａに送信することができる。例えば、マネージャ・システム１１０は、コンピュータ・デバイス１３０Ａのディスプレイ上での表示のために、例えば、マネージャ・システム１１０が閾値数より多くの聴衆が指示されたドメインを見たと判断することに基づいて、「多くの聴衆が指定されたドメインを見た」というテキスト・ベースのメッセージ、あるいは、マネージャ・システム１１０が閾値未満の聴衆が指示されたドメインを見たと判断することに基づいて、「きわめて少数の聴衆が指定されたドメインを見た」というテキスト・ベースのメッセージを送信することができる。発表者は、マネージャ・システム１１０によって送信された指示メッセージに基づいてプレゼンテーションの進行を変更することに決めることができ、例えば指示したドメインに対する反応が少ない場合に、発表者はドメインを指定したときのプレゼンテーションのうちの前の部分に戻って、指定ドメインを見るよう求める要求を繰り返すことができる。
［実施例５の終わり］
【００７２】
本明細書における特定の実施形態は、コンピュータ・デバイス１３０Ａないし１３０Ｚのユーザの現在の活動を判断するなど、コンピュータ・ネットワークの分野で生じる問題に対処するためのコンピューティング上の利点を含む、様々な技術的コンピューティング上の利点を提供することができる。本明細書における実施形態は、ユーザの身元にアクセスせず、ユーザの身元を露出させずに、コンピュータ・ユーザの活動の分類を提供する。本明細書における実施形態は、様々な音源から音声入力を受け取り、そのような入力を、さらなるプロセスに役立ち得るコンテキスト・パターンに変換する。本明細書における実施形態は、ユーザの活動の分類のために音声入力を処理する。分類に基づく出力を提供して、様々な自動プロセス、例えばネットワーク・ハードウェア・コンポーネントの制御、ソフトウェアのダウンロードを開始する制御、ユーザ・インターフェースの制御、通知を送信するための制御を行わせることができる。機械学習プロセスを実装してもよい。例えば、一実施形態では、分類不能によって、記憶および入来コンテキスト・パターンとの比較のために分類不能パターンの新たなシグネチャ・パターンとしての登録をトリガすることができる。
【００７３】
図７ないし図９に、本明細書に記載の１つまたは複数の態様による、コンピュータ・システムとクラウド・コンピューティングとを含むコンピューティングの様々な態様を示す。
【００７４】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを前もって理解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。
【００７５】
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互連絡で迅速にプロビジョニングすることができ、解放することができる、構成可能コンピューティング資源（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共用プールへの便利なオンデマンドのネットワーク・アクセスのためのサービス配布のモデルである。このクラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つのディプロイ・モデルとを含み得る。
【００７６】
特徴は以下の通りである。
オンデマンド・セルフサービス：クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広帯域ネットワーク・アクセス：ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム（例えば携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準機構を介してアクセスすることができる。
資源プール：マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について制御することができないかまたは知らないが、より高い抽象レベルの場所（例えば、国、州、またはデータセンター）を指定することが可能な場合があるという点で、位置独立感がある。
迅速な伸縮性：迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス：クラウド・システムが、サービスの種類（例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に応じて適切な何らかの抽象化レベルの計量（メータリング）機能を活用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用されたサービスの透明性をプロバイダと消費者の両方に与えることができる。
【００７７】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＳａａＳ）：消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である（例えばウェブ・ベースのＥメール）。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＰａａＳ）：消費者に提供される機能は、クラウド・インフラストラクチャ上に、消費者作成アプリケーション、またはプロバイダによってサポートされるプログラミング言語およびツールを使用して作成された取得アプリケーションをディプロイすることである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、ディプロイされたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
インフラストラクチャ・アズ・ア・サービス（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ：ＩａａＳ）：消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアをディプロイし、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システムと、ストレージと、ディプロイされたアプリケーションとを制御することができ、場合によっては選択されたネットワーク・コンポーネント（例えばホスト・ファイアウォール）の限定的な制御を行うことができる。
【００７８】
ディプロイ・モデルは以下の通りである。
プライベート・クラウド：このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。その組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在可能である。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事（例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス事項）を有する特定のコミュニティをサポートする。組織または第三者によって管理されてよく、オンプレミスまたはオフプレミスに存在可能である。
パブリック・クラウド：このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、独自の実体のままであるが、データ可搬性またはアプリケーション可搬性を可能にする標準化技術または専有技術（例えば、クラウド間の負荷バランシングのためのクラウド・バースティング）によって結合された、２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合体である。
【００７９】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００８０】
次に図７を参照すると、コンピューティング・ノードの一例の概略図が示されている。コンピューティング・ノード１０は、クラウド・コンピューティング・ノードとして使用するのに適合するコンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関するいかなる限定も示唆することを意図していない。いずれにしても、コンピューティング・ノード１０は、上述の機能のいずれでも実装または実行あるいはその両方が可能である。コンピューティング・ノード１０は、クラウド・コンピューティング環境におけるクラウド・コンピューティング・ノードとして実装可能であるか、またはクラウド・コンピューティング環境以外のコンピューティング環境におけるコンピューティング・ノードとして実装可能である。
【００８１】
コンピューティング・ノード１０には、多くの他の汎用または特殊目的コンピューティング・システム環境または構成とともに動作可能なコンピュータ・システム１２がある。コンピュータ・システム１２とともに使用するのに適合し得る周知のコンピュータ・システム、環境および／または構成の例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家庭用電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのうちのいずれかを含む分散クラウド・コンピューティング環境などがあるが、これらには限定されない。
【００８２】
コンピュータ・システム１２について、コンピュータ・システムによって実行されるプログラム・プロセスなどのコンピュータ・システム実行可能命令の一般的な文脈で説明している場合がある。一般には、プログラム・プロセスは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム１２は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施されてもよい。分散クラウド・コンピューティング環境では、プログラム・プロセスを、メモリ・ストレージ・デバイスを含むローカルとリモートの両方のコンピュータ・システム記憶媒体に格納することができる。
【００８３】
図７に示すように、コンピュータ・ノード１０におけるコンピュータ・システム１２は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム１２の構成要素は、１つまたは複数のプロセッサ１６と、システム・メモリ２８と、システム・メモリ２８を含む様々なシステム構成要素をプロセッサ１６に接続するバス１８とを含み得るがこれらには限定されない。一実施形態では、コンピューティング・ノード１０は、非クラウド・コンピューティング環境のコンピューティング・ノードである。一実施形態では、コンピューティング・ノード１０は、図８および図９に関連して本明細書に記載されているクラウド・コンピューティング環境のコンピューティング・ノードである。
【００８４】
バス１８は、様々なバス・アーキテクチャのうちのいずれかのアーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、数種類のバス構造のうちのいずれかの１つまたは複数に相当する。例として、そのようなアーキテクチャとしては、これらには限定されないが、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ＭＣＡ）バス、拡張（Ｅｎｈａｎｃｅｄ）ＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ：ＶＥＳＡ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ：ＰＣＩ）バスがある。
【００８５】
コンピュータ・システム１２は、典型的には様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム１２がアクセスすることができる任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体の両方と、取り外し可能媒体と取り外し不能媒体とを含む。
【００８６】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。一例に過ぎないが、ストレージ・システム３４を、取り外し不能な不揮発性磁気媒体（図示されておらず、一般に「ハード・ドライブ」と呼ばれる）の読み書きのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば「フロッピィ・ディスク」）の読み書きのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたはその他の光学媒体などの、取り外し可能な不揮発性光ディスクの読み書きのための光ディスク・ドライブとを備えることができる。そのような場合、それぞれが１つまたは複数のデータ・メディア・インターフェースによってバス１８に接続することができる。以下でさらに図示し、説明するように、メモリ２８は、本発明の実施形態の機能を実施するように構成された１組の（例えば少なくとも１つの）プログラム・プロセスを有する少なくとも１つのプログラム製品を含み得る。
【００８７】
一例として、これには限らないが、１組の（例えば少なくとも１つの）プログラム・プロセス４２を有する１つまたは複数のプログラム４０のほか、オペレーティング・システムと、１つまたは複数のアプリケーション・プログラムと、その他のプログラム・プロセスと、プログラム・データとがメモリ２８に記憶されてよい。プログラム・プロセス４２を含む１つまたは複数のプログラム４０は、一般に本明細書に記載の機能を実施することができる。一実施形態では、マネージャ・システム１１０は、１つまたは複数のコンピューティング・ノード１０を含むことができ、図２の方法２００を参照しながら説明した機能を実行するためと、図３の方法３００を参照しながら説明した機能と図４のフローチャートに記載のマネージャ・システム１１０を参照しながら説明した機能とを実行するための、１つまたは複数のプログラム４０を含むことができる。一実施形態では、１つまたは複数のユーザ・コンピュータ・デバイス１３０Ａないし１３０Ｚが１つまたは複数のコンピューティング・ノード１０を含むことができ、図４のフローチャートに記載されているように１つまたは複数のユーザ・コンピュータ・デバイス１３０Ａないし１３０Ｚを参照しながら説明した機能を実行するための１つまたは複数のプログラム４０を含むことができる。
【００８８】
コンピュータ・システム１２は、キーボード、例えばマウスなどのポインタ・コントローラ、ディスプレイ２４など、または、ユーザがコンピュータ・システム１２と対話することができるようにする１つまたは複数のデバイス、または、コンピュータ・システム１２が１つまたは複数の他のコンピューティング・デバイスと通信することができるようにする任意のデバイス（例えばネットワーク・カード、モデムなど）、あるいはこれらの組合せなどの、１つまたは複数の外部デバイス１４とも通信することができる。このような通信は、入出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。さらに、コンピュータ・システム１２は、ローカル・エリア・ネットワーク（ＬＡＮ）、または汎用ワイド・エリア・ネットワーク（ＷＡＮ）、またはパブリック・ネットワーク（例えばインターネット）、あるいはその組合せなどの１つまたは複数のネットワークと、ネットワーク・アダプタ２０を介して通信することができる。図のように、ネットワーク・アダプタ２０は、バス１８を介してコンピュータ・システム１２の他の構成要素と通信する。なお、図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方もコンピュータ・システム１２とともに使用することができることを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらには限定されない。ユーザ・インターフェース機能を提供するように構成可能な外部デバイス１４およびディスプレイ２４を有することに加え、またはそれに代えて、一実施形態におけるコンピューティング・ノード１０はバス１８に接続されたディスプレイ２５を含むことができる。一実施形態では、ディスプレイ２５は、タッチ・スクリーン・ディスプレイとして構成可能であり、ユーザ・インターフェース機能を提供するように構成可能であり、例えば仮想キーボード機能とデータ全般の入力とを容易にすることができる。一実施形態では、コンピュータ・システム１２は、バス１８に接続された１つまたは複数のセンサ・デバイス２７も含むことができる。あるいは、１つまたは複数のセンサ・デバイス２７を入出力インターフェース２２を介して接続することができる。１つまたは複数のセンサ・デバイス２７は、一実施形態では、グローバル・ポジショニング・センサ（ＧＰＳ）デバイスを含むことができ、コンピューティング・ノード１０の位置を提供するように構成可能である。これに代えて、またはこれに加えて、一実施形態では１つまたは複数のセンサ・デバイス２７は、例えばカメラ、ジャイロスコープ、温度センサ、湿度センサ、心拍センサ、血圧（ｂｐ）センサ、または音声入力デバイスのうちの１つまたは複数を含むことができる。そのような音声入力デバイスは、コンピュータ・デバイス１２、またはコンピュータ・デバイス１２の外部のコンピュータ・デバイスあるいはその両方のキー押下式ユーザ・インターフェースから発せられる音を表す音声入力を提供するために使用することができる。コンピュータ・システム１２は、１つまたは複数のネットワーク・アダプタ２０を含むことができる。一実施形態では、キー押下式ユーザ・インターフェースはキーボードとポインタ・コントローラとを含むことができる。図８では、コンピューティング・ノード１０はクラウド・コンピューティング環境で実装されているものとして記載されており、したがって、図８の文脈ではクラウド・コンピューティング・ノードと呼ぶ。
【００８９】
図８を参照すると、例示のクラウド・コンピューティング環境５０が図示されている。図のように、クラウド・コンピューティング環境５０は、例えばパーソナル・デジタル・アシスタント（ＰＤＡ）または携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎあるいはその組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、１つまたは複数のクラウド・コンピューティング・ノード１０を含む。ノード１０が互いに通信してもよい。これらは、上述のプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの１つまたは複数のネットワークにおいて物理的または仮想的にグループ化（図示せず）されてもよい。これによって、クラウド・コンピューティング環境５０は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。なお、図８に示すコンピューティング・デバイス５４Ａないし５４Ｎの種類は、例示のみを意図したものであり、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、（例えばウェブ・ブラウザを使用して）任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその組合せを介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【００９０】
次に、図９を参照すると、クラウド・コンピューティング環境５０（図８）によって提供される１組の機能抽象化層が示されている。なお、図９に示す構成要素、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
【００９１】
ハードウェアおよびソフトウェア層６０は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム６１、縮小命令セットコンピュータ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ：ＲＩＳＣ）アーキテクチャ・ベースのサーバ６２、サーバ６３、ブレード・サーバ６４、ストレージ・デバイス６５、およびネットワークおよびネットワーキング・コンポーネント６６がある。実施形態によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７およびデータベース・ソフトウェア６８を含む。
【００９２】
仮想化層７０は、以下のような仮想実体の例を与えることができる抽象化層を提供する。すなわち、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーションおよびオペレーティング・システム７４、および仮想クライアント７５である。
【００９３】
一実施形態では管理層８０は、以下に記載の機能を提供することができる。資源プロビジョニング８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシング８２は、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一実施形態ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータル８３は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。サービス・レベル・アグリーメント（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ：ＳＬＡ）計画および履行８５は、ＳＬＡに従って将来の要求が予想されるクラウド・コンピューティング資源のための事前取り決めおよび調達を行う。
【００９４】
ワークロード層９０は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション９１、ソフトウェア開発およびライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、トランザクション処理９５、および本明細書に記載の音声入力の処理に基づく活動分類のための処理構成要素９６がある。処理構成要素９６は、図７に記載の１つまたは複数のプログラム４０の使用により実装可能である。
【００９５】
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体（または複数の媒体）を含み得る。
【００９６】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、可搬コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波（例えば光ファイバ・ケーブルを通る光パルス）、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【００９７】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含んでよい。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【００９８】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語および「Ｃ」プログラミング言語、または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は外部コンピュータ（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）に対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【００９９】
本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら本明細書で説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【０１００】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能／動作を実装する手段を形成するようなマシンを実現するために、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給することができる。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるコンピュータ可読媒体に記憶することもできる。
【０１０１】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方のブロックで規定されている機能／動作を実装するように、コンピュータ実装プロセスを実現するためにコンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップが実行されるようにするために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされてもよい。
【０１０２】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。他の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装可能であるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することができることもわかるであろう。
【０１０３】
本明細書で使用されている用語は、特定の実施形態を説明することのみを目的としたものであり、限定的であることを意図したものではない。本明細書で使用されている単数形の「ａ」、「ａｎ」および「ｔｈｅ」は、文脈が明確に他の解釈を示していない限り複数形も含むことを意図している。また、「含んでいる（ｃｏｍｐｒｉｓｅ）」（および「含んでいる（ｃｏｍｐｒｉｓｅｓ）」および「含む（ｃｏｍｐｒｉｓｉｎｇ）」などのｃｏｍｐｒｉｓｅの任意の語形）、「有している（ｈａｖｅ）」（および「有している（ｈａｓ）」および「有する（ｈａｖｉｎｇ）」などのｈａｖｅの任意の語形）、「含んでいる（ｉｎｃｌｕｄｅ）」（および「含んでいる（ｉｎｃｌｕｄｅｓ）」および「含む（ｉｎｃｌｕｄｉｎｇ）」などのｉｎｃｌｕｄｅの任意の語形）、および「含んでいる（ｃｏｎｔａｉｎ）」（および「含んでいる（ｃｏｎｔａｉｎｓ）」および「含む（ｃｏｎｔａｉｎｉｎｇ）」などのｃｏｎｔａｉｎの任意の語形）は、オープンエンドな連結動詞であることはわかるであろう。その結果、１つまたは複数のステップまたは要素を「含んでいる（ｃｏｍｐｒｉｓｅｓ）」、「有している（ｈａｓ）」、「含んでいる（ｉｎｃｌｕｄｅｓ）」または「含んでいる（ｃｏｎｔａｉｎｓ）」方法またはデバイスは、それらの１つまたは複数のステップまたは要素を保有しているが、それらの１つまたは複数のステップまたは要素のみを保有していることには限定されない。同様に、１つまたは複数の特徴を「含んでいる（ｃｏｍｐｒｉｓｅｓ）」、「有している（ｈａｓ）」、「含んでいる（ｉｎｃｌｕｄｅｓ）」または「含んでいる（ｃｏｎｔａｉｎｓ）」方法のステップまたはデバイスの要素は、それらの１つまたは複数の特徴を保有しているが、それらの１つまたは複数の特徴を保有していることには限定されない。本明細書の「基づく」という用語の形態は、要素が部分的に基づく関係と、要素が完全に基づく関係とを包含する。特定の数の要素を有しているものとして記載されている方法、製品およびシステムは、その特定の数より少ないかまたは多い数の要素を備えて実施することもできる。また、特定の方式で構成されたデバイスまたは構造は、少なくともその方式で構成されるが、記載されていない方式でも構成可能である。
【０１０４】
以下の特許請求の範囲のすべての手段またはステップと機能要素の、対応する構造、材料、動作および均等物は、もしある場合、具体的に特許請求されている他の特許請求対象要素と組み合わせて機能を実行するための任意の構造、材料または動作を含むことを意図している。本明細書に記載の説明は、例示および説明を目的として示したものであり、網羅的であること、または、開示されている形態に限定されることを意図したものではない。本開示の範囲および思想から逸脱することなく、当業者には多くの修正および変形が明らかであろう。実施形態は、本明細書に記載の１つまたは複数の態様の原理と実際の適用とを最もよく説明するためと、当業者が、企図された特定の用途に適合するように様々な修正を加えた様々な実施形態のために本明細書に記載の１つまたは複数の態様を理解することができるようにするために選択し、説明した。
【図１】
2020526839.tif 000004
【図２】
2020526839.tif 000005
【図３】
2020526839.tif 000006
【図４】
2020526839.tif 000007
【図５】
2020526839.tif 000008
【図６】
2020526839.tif 000009
【図７】
2020526839.tif 000010
【図８】
2020526839.tif 000011
【図９】
2020526839.tif 000012
【手続補正書】
【提出日】令和2年5月18日(2020.5.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサが、
キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、
前記音声入力に基づいてコンテキスト・パターンを生成することと、
前記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために前記コンテキスト・パターンの分類を実行することと、
前記分類を実行することに基づいて出力を提供することと、
を実行する方法。
【請求項２】
前記シグネチャ・パターン種別は、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシングまたは特定文字列である、請求項１に記載の方法。
【請求項３】
前記シグネチャ・パターン種別は、特定の文字列によって定義された種別である、請求項１または請求項２に記載の方法。
【請求項４】
前記方法は、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンを前記文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、前記分類を実行することは、前記コンテキスト・パターンを前記シグネチャ・パターンと突き合わせることを含む、請求項１〜請求項３のいずれか一項に記載の方法。
【請求項５】
前記出力を提供することは、外部システムに通知を提供することを含む、請求項１〜請求項４のいずれか一項に記載の方法。
【請求項６】
前記出力を提供することは、ネットワーク・ハードウェア・コンポーネントを構成するための出力を提供することを含む、請求項１〜請求項４のいずれか一項に記載の方法。
【請求項７】
前記出力を提供することは、コンピュータ・デバイス上でのソフトウェアのインストールを開始するための出力を提供することを含む、請求項１〜請求項４のいずれか一項に記載の方法。
【請求項８】
前記方法は、前記分類を実行することの結果が分類不能であったことに応答してユーザに活動情報を入力するように促すことを含む、請求項１〜請求項７のいずれか一項に記載の方法。
【請求項９】
前記コンテキスト・パターンは、キー押下のシーケンス情報とタイミング情報とを含む、請求項１〜請求項８のいずれか一項に記載の方法。
【請求項１０】
前記取得することは、コンピュータ・デバイスから前記音声入力を取得することを含み、前記分類を実行することが前記コンテキスト・パターンを分類できなかったことに応答して、前記コンピュータ・デバイスのユーザに前記コンテキスト・パターンに関連付けられた活動を規定するラベル付け情報を入力するように促す指示が前記コンピュータ・デバイス上に提供される、請求項１〜請求項９のいずれか一項に記載の方法。
【請求項１１】
前記方法は、管理者ユーザがトレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を実行することができるようにするユーザ・インターフェース機能を提供することと、前記トレーニング期間中に前記管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、前記管理者ユーザが、前記トレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、前記特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶された前記ラベル付け情報でラベル付けされたシグネチャ・パターンとして登録することと、入って来るコンテキスト・パターンを前記シグネチャ・パターンと突き合わせることとを含む、請求項１〜請求項１０のいずれか一項に記載の方法。
【請求項１２】
プロセッサに、請求項１〜請求項１１のいずれか一項に記載の方法の各ステップを実行させるための、コンピュータ・プログラム。
【請求項１３】
前記取得することと、前記生成することと、前記分類を実行することとが、第１ないし第６の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、前記第３の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、前記第４の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となり、前記第５の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、前記第６の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果が特定文字列シグネチャ・パターン種別と合致する種別となる、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
前記取得することと、前記生成することと、前記分類を実行することとが、第１および第２の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、請求項１２に記載のコンピュータ・プログラム。
【請求項１５】
メモリと、
前記メモリと通信する少なくとも１つのプロセッサと、を含むシステムであって、
前記メモリが、請求項１〜請求項１１のいずれか一項に記載の方法の各ステップを前記プロセッサに実行させるためのプログラム命令を記憶する、システム。
【請求項１６】
前記取得することと、前記生成することと、前記分類を実行することとが、第１ないし第６の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、前記第３の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、前記第４の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となり、前記第５の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、前記第６の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果が特定文字列シグネチャ・パターン種別と合致する種別となる、請求項１５に記載のシステム。
【請求項１７】
前記取得することと、前記生成することと、前記分類を実行することとが、第１および第２の音声入力のそれぞれについて実行され、前記第１の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第２の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、請求項１５に記載のシステム。
【請求項１８】
請求項１２〜請求項１４のいずれか一項に記載のコンピュータ・プログラムを記憶したコンピュータ可読記憶媒体。
【国際調査報告】
2020526839.tif 000013
2020526839.tif 000014