(57)【要約】      （修正有）【課題】仮想アシスタントによりプロセス制御を強化するための装置等を提供する。【解決手段】仮想アシスタント１００を使用してプロセス制御を強化する装置であって、命令が実行されるときに、プロセス制御システムのフィールドデバイス１１６、１１８に関連付けられた情報に対する要求に基づいてプロセス制御コンテキストを判定し、要求に含まれるトピックを識別してフィールドデバイスによって実行されるアクションにトピックをマッピングし、マッピングに基づいてアクションを実行するようにフィールドデバイスに指示するコマンドを生成し、アクションを実行するようにコマンドをフィールドデバイスに送信する。命令が実行されるときに、トピックに基づいて会話状態を確立させる。【選択図】図１Ａ
2020095719.tif 000002
【特許請求の範囲】
【請求項１】
仮想アシスタントを使用してプロセス制御を強化する装置であって、
少なくとも１つのプロセッサと、
命令を格納するメモリであって、前記命令が、実行されるときに、前記少なくとも１つのプロセッサに、
プロセス制御システムのフィールドデバイスに関連付けられた情報に対する要求に基づいて、プロセス制御コンテキストを判定することであって、前記プロセス制御コンテキストが、前記プロセス制御システムの構成に基づいている、判定することと、
前記要求に含まれるトピックを識別することであって、前記トピックが、前記プロセス制御コンテキストに基づいて、前記フィールドデバイスに対応する、識別することと、
前記フィールドデバイスによって実行されるアクションに前記トピックをマッピングすることと、
前記マッピングに基づいて、前記アクションを実行するように、前記フィールドデバイスに指示するコマンドを生成することと、
前記アクションを実行するように、前記コマンドを前記フィールドデバイスに送信することと、を行わせる、メモリと、を備える、装置。
【請求項２】
前記要求が、プログラマブルロジックコントローラの入力／出力モジュールに通信される口頭の要求であり、前記入力／出力モジュールまたは前記プログラマブルロジックコントローラのうちの少なくとも一方が、マイクロホンまたはスピーカのうちの少なくとも一方を含む、請求項１に記載の装置。
【請求項３】
前記要求が、ディスプレイ、マイクロホン、またはスピーカのうちの少なくとも１つを含むウェアラブルデバイスに通信される口頭の要求である、請求項１に記載の装置。
【請求項４】
前記命令が、実行されるときに、前記少なくとも１つのプロセッサに、
前記トピックに基づいて会話状態を確立させることと、
前記会話状態を含む応答を生成することと、
前記応答をコンピューティングデバイスに送信することと、
前記応答に基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上に視覚化を表示することと、をさらに行わせる、請求項１に記載の装置。
【請求項５】
前記命令が、実行されるときに、前記少なくとも１つのプロセッサに、
前記構成に基づいて、前記フィールドデバイスを含むフィールドデバイスのリストを生成することと、
前記フィールドデバイスに関連付けられたパラメータを識別するために、前記フィールドデバイスをルックアップテーブルにマッピングすることであって、前記パラメータが、前記フィールドデバイスに関連付けられたプロセス制御値に関連付けられている、マッピングすることと、
前記フィールドデバイスに関連付けられたアクションを識別するために、前記フィールドデバイスを前記ルックアップテーブルにマッピングすることであって、前記アクションが、前記フィールドデバイスの機能に関連付けられている、マッピングすることと、
前記パラメータまたは前記アクションのうちの少なくとも１つに基づいて、プロファイルを生成することと、をさらに行わせる、請求項１に記載の装置。
【請求項６】
前記プロファイルが、少なくとも第１のレベルおよび第２のレベルを含み、前記命令が、実行されるときに、前記少なくとも１つのプロセッサに、
前記トピックを前記第１のレベルにマッピングすることと、
前記第１のレベルに関連付けられた情報を含む応答を生成することと、
前記応答をコンピューティングデバイスに送信することと、
前記第１のレベルに基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上に視覚化を表示することと、をさらに行わせる、請求項５に記載の装置。
【請求項７】
前記要求が、第１の要求であり、前記視覚化が、第１の視覚化であり、前記命令が、実行されるときに、前記少なくとも１つのプロセッサに、
前記トピックに関連付けられた第２の要求を受信することと、
前記第２の要求を前記第２のレベルにマッピングすることと、
前記第２のレベルに関連付けられた情報を含む第２の応答を生成することと、
前記第２の応答を前記コンピューティングデバイスに送信することと、
前記第２のレベルに基づいて、前記コンピューティングデバイスに関連付けられた前記ディスプレイ上で、前記第１の視覚化を第２の視覚化に置き換えることと、をさらに行わせる、請求項６に記載の装置。
【請求項８】
仮想アシスタントを使用してプロセス制御を強化する方法であって、
プロセス制御システムのフィールドデバイスに関連付けられた情報に対する要求に基づいて、プロセス制御コンテキストを判定することであって、前記プロセス制御コンテキストが、前記プロセス制御システムの構成に基づいている、判定することと、
前記要求に含まれるトピックを識別することであって、前記トピックが、前記プロセス制御コンテキストに基づいて、前記フィールドデバイスに対応する、識別することと、
前記フィールドデバイスによって実行されるアクションに前記トピックをマッピングすることと、
前記マッピングに基づいて、前記アクションを実行するように、前記フィールドデバイスに指示するコマンドを生成することと、
前記アクションを実行するように、前記コマンドを前記フィールドデバイスに送信することと、を含む、方法。
【請求項９】
前記要求が、プログラマブルロジックコントローラに通信される口頭の要求である、請求項８に記載の方法。
【請求項１０】
前記要求が、眼鏡、ヘッドセット、またはリストバンドに対応するウェアラブルデバイスに通信される口頭の要求である、請求項８に記載の方法。
【請求項１１】
前記トピックに基づいて会話状態を確立させることと、
前記会話状態を含む応答を生成することと、
前記応答をコンピューティングデバイスに送信することと、
前記応答に基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上に視覚化を表示することと、をさらに含む、請求項８に記載の方法。
【請求項１２】
前記構成に基づいて、前記フィールドデバイスを含むフィールドデバイスのリストを生成することと、
前記フィールドデバイスに関連付けられたパラメータを識別するために、前記フィールドデバイスをルックアップテーブルにマッピングすることであって、前記パラメータが、前記フィールドデバイスに関連付けられたプロセス制御値に関連付けられている、マッピングすることと、
前記フィールドデバイスに関連付けられたアクションを識別するために、前記フィールドデバイスを前記ルックアップテーブルにマッピングすることであって、前記アクションが、前記フィールドデバイスの機能に関連付けられている、マッピングすることと、
前記パラメータまたは前記アクションのうちの少なくとも１つに基づいて、プロファイルを生成することと、をさらに含む、請求項８に記載の方法。
【請求項１３】
前記プロファイルが、少なくとも第１のレベルおよび第２のレベルを含み、
前記トピックを前記第１のレベルにマッピングすることと、
前記第１のレベルに関連付けられた情報を含む応答を生成することと、
前記応答をコンピューティングデバイスに送信することと、
前記第１のレベルに基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上に視覚化を表示することと、をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記要求が、第１の要求であり、前記視覚化が、第１の視覚化であり、
前記トピックに関連付けられた第２の要求を受信することと、
前記第２の要求を前記第２のレベルにマッピングすることと、
前記第２のレベルに関連付けられた情報を含む第２の応答を生成することと、
前記コンピューティングデバイスに前記第２の応答を送信することと、
前記第２のレベルに基づいて、前記コンピューティングデバイスに関連付けられた前記ディスプレイ上で、前記第１の視覚化を第２の視覚化に置き換えることと、をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記プロセス制御コンテキストを判定することが、
前記要求を解析して第１のトークンを含む１つ以上のトークンにすることと、
前記第１のトークンを検証済みトークンにマッピングすることにより、前記要求を検証することと、
前記マッピングに基づいて、前記要求を検証することに応答して、前記アクションを含むスクリプトを生成することと、を含む、請求項８に記載の方法。
【請求項１６】
前記要求が、第１の要求であり、
前記マッピングに基づいて前記第１の要求を検証しないことに応答して、
明確化要求に対応する応答を生成することと、
前記応答をユーザに送信することと、
前記ユーザから第２の要求を受信することと、
前記第２の要求を検証することと、
前記第２の要求に基づいて前記スクリプトを生成することと、をさらに含む、請求項１５に記載の方法。
【請求項１７】
命令を含む、非一時的なコンピュータ可読記憶媒体であって、前記命令が、実行されるときに、機械に、少なくとも、
プロセス制御システムのフィールドデバイスに関連付けられた情報に対する要求に基づいて、プロセス制御コンテキストを判定することであって、前記プロセス制御コンテキストが、前記プロセス制御システムの構成に基づいている、判定することと、
前記要求に含まれるトピックを識別することであって、前記トピックが、前記プロセス制御コンテキストに基づいて、前記フィールドデバイスに対応する、識別することと、
前記フィールドデバイスによって実行されるアクションに前記トピックをマッピングすることと、
前記マッピングに基づいて、前記アクションを実行するように、前記フィールドデバイスに指示するコマンドを生成することと、
前記アクションを実行するように、前記コマンドを前記フィールドデバイスに送信することと、を行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記要求が、プログラマブルロジックコントローラに通信される口頭の要求である、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記要求が、ウェアラブルデバイスに通信される口頭の要求である、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
実行されるときに、前記機械に、少なくとも、
前記トピックに基づいて会話状態を確立させることと、
前記会話状態を含む応答を生成することと、
前記応答をコンピューティングデバイスに送信することと、
前記応答に基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上に視覚化を表示することと、を行わせる命令をさらに含む、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２１】
実行されるときに、前記機械に、少なくとも、
前記構成に基づいて、前記フィールドデバイスを含むフィールドデバイスのリストを生成することと、
前記フィールドデバイスに関連付けられたパラメータを識別するために、前記フィールドデバイスをルックアップテーブルにマッピングすることであって、前記パラメータが、前記フィールドデバイスに関連付けられたプロセス制御値に関連付けられている、マッピングすることと、
前記フィールドデバイスに関連付けられたアクションを識別するために、前記フィールドデバイスを前記ルックアップテーブルにマッピングすることであって、前記アクションが、前記フィールドデバイスの機能に関連付けられている、マッピングすることと、
前記パラメータまたは前記アクションのうちの少なくとも１つに基づいて、プロファイルを生成することと、を行わせる命令をさらに含む、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２２】
前記プロファイルが、少なくとも第１のレベルおよび第２のレベルを含み、実行されるときに、前記機械に、少なくとも、
前記トピックを前記第１のレベルにマッピングすることと、
前記第１のレベルに関連付けられた情報を含む応答を生成することと、
前記応答をコンピューティングデバイスに送信することと、
前記第１のレベルに基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上に視覚化を表示することと、を行わせる命令をさらに含む、請求項２１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２３】
前記要求が、第１の要求であり、前記視覚化が、第１の視覚化であり、実行されるときに、前記機械に、少なくとも、
前記トピックに関連付けられた第２の要求を受信することと、
前記第２の要求を前記第２のレベルにマッピングすることと、
前記第２のレベルに関連付けられた情報を含む第２の応答を生成することと、
前記第２の応答を前記コンピューティングデバイスに送信することと、
前記第２のレベルに基づいて、前記コンピューティングデバイスに関連付けられたディスプレイ上で、前記第１の視覚化を第２の視覚化に置き換えることと、を行わせる命令をさらに含む、請求項２２に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２４】
実行されるときに、前記機械に、少なくとも、
前記要求を解析して第１のトークンを含む１つ以上のトークンにすることと、
前記第１のトークンを検証済みトークンにマッピングすることにより、前記要求を検証することと、
前記マッピングに基づいて、前記要求が検証されるときに、前記アクションを含むスクリプトを生成することと、を行わせる命令をさらに含む、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２５】
前記要求が、第１の要求であり、実行されるときに、前記機械に、少なくとも、
前記第１の要求が前記マッピングに基づいて検証されないときに、明確化要求に対応する応答を生成することと、
前記応答をユーザに送信することと、
前記ユーザから第２の要求を受信することと、
前記第２の要求を検証することと、
前記第２の要求に基づいて前記スクリプトを生成することと、を行わせる命令をさらに含む、請求項２４に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してプロセス制御システムに関し、より具体的には、仮想アシスタントによりプロセス制御を強化するシステム、方法、および装置に関する。
【背景技術】
【０００２】
近年、化学、石油、および／または他のプロセスで使用されるようなプロセス制御システムは、新しく、かつ／または改善されたプロセス制御機能を行うための処理能力を高めたフィールドデバイスの急増に伴い、ますます複雑になっている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現在の世代のプロセス制御システムには、プロセス制御環境の異なる側面を測定し、かつ／または制御するためのより多くのさまざまなフィールドデバイスまたはフィールド機器が含まれる。プロセス制御環境での自動化の増大により、プロセス制御システムの動作を容易にするために、さまざまな媒体を介した追加の対話機会がオペレータに提供される。
【課題を解決するための手段】
【０００４】
仮想アシスタントを使用してプロセス制御を強化するための本明細書で開示される例示的な装置は、少なくとも１つのプロセッサに、プロセス制御システムのフィールドデバイスに関連付けられた情報に対する要求に基づいて、プロセス制御システムの構成に基づくプロセス制御コンテキストを判定させ、要求に含まれ、かつ、プロセス制御コンテキストに基づくフィールドデバイスに対応するトピックを識別させ、フィールドデバイスによって実行されるアクションにトピックをマッピングさせ、マッピングに基づいてアクションを実行するようフィールドデバイスに指示するコマンドを生成させ、アクションを実行するコマンドをフィールドデバイスに送信させる命令を実行するために、命令を格納するメモリと、少なくとも１つのプロセッサと、を含む。
【０００５】
仮想アシスタントを使用してプロセス制御を強化するための本明細書で開示される例示的な方法は、プロセス制御システムのフィールドデバイスに関連付けられた情報に対する要求に基づいて、プロセス制御システムの構成に基づくプロセス制御コンテキストを判定することと、要求に含まれ、かつ、プロセス制御コンテキストに基づくフィールドデバイスに対応するトピックを識別することと、フィールドデバイスによって実行されるアクションにトピックをマッピングすることと、マッピングに基づいてアクションを実行するようフィールドデバイスに指示するコマンドを生成することと、アクションを実行するコマンドをフィールドデバイスに送信することと、を含む。
【０００６】
例示的な非一時的なコンピュータ可読記憶媒体は、実行されるときに、機械に少なくとも、プロセス制御システムのフィールドデバイスに関連付けられた情報に対する要求に基づいて、プロセス制御システムの構成に基づくプロセス制御コンテキストを判定させ、要求に含まれ、かつ、プロセス制御コンテキストに基づくフィールドデバイスに対応するトピックを識別させ、フィールドデバイスによって実行されるアクションにトピックをマッピングさせ、マッピングに基づいてアクションを実行するようフィールドデバイスに指示するコマンドを生成させ、アクションを実行するコマンドをフィールドデバイスに送信させる、命令を含む。
【図面の簡単な説明】
【０００７】
【図１Ａ】例示的なプロセス制御システムの動作を容易にする例示的な仮想アシスタントの概略図である。
【図１Ｂ】図１Ａの例示的なプロセス制御システムの動作を容易にする例示的なウェアラブルデバイスに含まれる図１Ａの例示的な仮想アシスタントの概略図である。
【図２】図１Ａの例示的な仮想アシスタントの概略図である。
【図３】図１Ａの例示的なプロセス制御システムの例示的なプロセスタンクに対応する例示的なプロファイルの例示的な表を示す。
【図４】図３の例示的なプロファイルに対応する第１の例示的な視覚化の概略図である。
【図５】図３の例示的なプロファイルに対応する第２の例示的な視覚化の概略図である。
【図６】図１Ａ〜図２の例示的な仮想アシスタントを実装し、要求に基づいてスクリプトを生成し、かつ実行するために実行されてもよい機械可読命令を表すフローチャートである。
【図７】図１Ａ〜図２の例示的な仮想アシスタントを実装し、要求に基づいて視覚化を生成し、かつ表示するために実行されてもよい機械可読命令を表すフローチャートである。
【図８】図１Ａ〜図２の例示的な仮想アシスタントを実装するために、図６〜図７の命令を実行するよう構成された例示的な処理プラットフォームのブロック図である。
【０００８】
図は縮尺通りではない。代わりに、層または領域の厚さは、図面において拡大され得る。概して、同じまたは同様の部品を指すために、図面（複数可）および添付の説明全体を通して同じ参照番号が使用される。
【発明を実施するための形態】
【０００９】
分散制御システムなどのプロセス制御システムは、データ取得の解像度、処理能力および信号調整機能が向上した個々の構成要素が開発されるにつれて、ますます複雑になっている。分散制御システム（ＤＣＳ）は、例えば構成要素の製造、化学原料の処理など、プロセス制御環境で行われる動作のさまざまな側面を監視し、かつ／または制御するために使用される。ＤＣＳには通常、付属の入力／出力（Ｉ／Ｏ）モジュールを有する複数のコントローラ（例えば、電子コントローラ、プログラマブルコントローラなど）が含まれるが、付属の入力／出力（Ｉ／Ｏ）モジュールより、コントローラはさまざまな入力フィールドデバイスおよび／または機器から信号を取得し、さまざまな出力フィールドデバイスおよび／または機器を制御し得る。Ｉ／Ｏモジュールには、入力、出力、および／またはそれらの組み合わせが含まれる。
【００１０】
本明細書で使用される「フィールドデバイス」、「フィールド機器」、または「機器」という用語は、例えば、プロセス制御システムの異なる側面（例えば、他のプロセス制御デバイスなど）を測定し、かつ／または制御するために、プロセス制御システム全体で使用されてもよい、アクチュエータ、アクチュエータアセンブリ、アクチュエータコントローラ、アクチュエータポジショナ、センサ、トランスミッタ、バルブアセンブリなどの制御デバイスを指す。
【００１１】
典型的なＤＣＳには、プロセス制御環境全体に分散されたコントローラ、プログラマブルプロセッサ、および／または論理回路が含まれ、プロセス制御環境の近くに制御機能をローカライズすることで信頼性を高め、設置コストを削減するが、リモートでプロセス制御環境の監視および監督制御を可能にする。場合によっては、エンジニア、保守技術者、または他の現場担当者を含むオペレータは、プロセス制御ネットワークを介してリモートで、またはコントローラ、フィールドデバイスなどと物理的に対話することによりローカルでＤＣＳを監視する。例えば、オペレータは、有線接続または無線接続を介してフィールドデバイスに接続して、フィールドデバイスおよび／またはフィールドデバイスに通信可能に結合された構成要素またはデバイスに関連付けられたプロセス制御データを閲覧し得る。
【００１２】
一部の既知のＤＣＳ実装態様では、フィールドデバイスとローカルに対話する場合、オペレータにとって、フィールドデバイスおよび／またはフィールドデバイスに通信可能に結合された構成要素またはデバイスの可視性が限られている。例えば、オペレータは、コンピュータベースのソフトウェアアプリケーションを介してバルブに関連付けられたバルブコントローラに接続されている場合、バルブに関連付けられた限られたデータにのみアクセスしてもよい。このような例において、オペレータは、アクチュエータ圧力またはバルブ位置などの限られたデータのみを閲覧し得る。例えば、オペレータは、プロセス制御室にいる場合に、限られたデータを表示しているヒューマンマシンインターフェースを介して、限られたデータのみを閲覧できてもよい。他の例において、オペレータは、追加的な専門知識（通信接続の確立、応答しない通信接続のトラブルシューティングなど）を必要とし得る、バルブに通信可能に結合されたデバイス（ラップトップコンピュータ、スマートフォン、タブレットなど）を介して、限られたデータを閲覧することのみ可能であり得る。このような例において、第１のオペレータがバルブの保守またはトラブルシューティング作業を行っている間に、限られたデータを閲覧するために、第１のオペレータは、第２のオペレータの支援を必要とする場合がある。例えば、第１のオペレータは、バルブに関連付けられた１つ以上のタスクを行おうと試みている間、デバイスを動作する自由な手が空いていない場合がある。
【００１３】
いくつかの既知のＤＣＳ実装態様では、オペレータは、バルブ、バルブに結合された構成要素もしくはデバイス、および／またはバルブを含む制御ループに関連付けられた構成要素に関連付けられた関連データおよび／または補足データを閲覧することができない。補足データには、アラームデータ、アクション、またはタスクデータ（例えば、行われている、もしくはフィールドデバイスによって行うことが可能な、１つ以上のアクションもしくはルーチン）、履歴データなどが含まれ得る。さらに、フィールドデバイスの保守を行うとき、かつ／またはフィールドデバイスと対話するときに、オペレータは、フィールドデバイスからのプロセス制御図、保守命令、配線図などを含む補足情報を取得することができない。このような例において、オペレータは、プロセス制御領域に戻る前にプロセス制御領域を離れて補足情報を取得し、補足情報に基づいてタスクを完了しなければならない場合があるが、それにより動作上の非効率性が生じる。
【００１４】
本明細書で開示される例は、ユーザおよび／またはコンピュータベースのソフトウェアアプリケーション（例えば、コンピュータベースのソフトウェアアプリケーションとインターフェースするユーザ）が仮想アシスタントまたはボット（例えば、プロセス制御ボット）と会話を開始することを可能にし、プロセス制御に関連付けられたタスクでオペレータまたはユーザを支援する、システム、方法および装置を含む。本明細書で開示される例は、対応するプロセス制御値を返し、支援的または補足的役割でユーザと関わることにより、フィールドデバイスまたはプロセスユニットに関連付けられた情報のユーザからの要求を容易にする。
【００１５】
いくつかの開示された例において、ユーザは、ラップトップコンピュータ、スマートフォン、タブレットなどの例示的なコンピューティングデバイスにインストールされる場合の仮想アシスタントと対話する。いくつかの開示された例において、ユーザは、仮想アシスタントを実装するための、１つ以上のプロセッサ、１つ以上の論理回路などを含むヘッドセット、リストバンド、または眼鏡などのウェアラブルデバイスを含む他の例示的なコンピューティングデバイスにインストールされた場合の仮想アシスタントと対話する。このような開示された例において、仮想アシスタントは、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコン、Ｗｉ−Ｆｉビーコンなどの無線ビーコンの範囲内にあるフィールドデバイスと対話し得る。例えば、Ｗｉ−Ｆｉビーコンは、仮想アシスタントからの要求を容易にする１つ以上のサーバに通信可能に結合されてもよい。このような例において、仮想アシスタントは、Ｗｉ−Ｆｉビーコンの範囲内にある場合、Ｗｉ−Ｆｉビーコンを介して１つ以上のサーバに照会することで、Ｗｉ−Ｆｉビーコンの範囲内にあるフィールドデバイスに関連付けられた情報を要求し得る。いくつかの例において、Ｗｉ−Ｆｉビーコンのカバレッジエリアへの入力に応答して、仮想アシスタントはフィールドデバイスに関連付けられた情報をダウンロードして、フィールドデバイスに関連付けられたユーザ要求が処理されてユーザに通信される速度を向上させる。
【００１６】
いくつかの開示された例において、仮想アシスタントはユーザから要求を取得し、アクション可能な情報に対する要求を解析し、アクション可能な情報に基づいてアクションのセットまたは情報のレベルをサポートする。いくつかの開示された例において、アクションは、フィールドデバイス、またはフィールドデバイスに通信可能に結合された構成要素またはデバイスに関連付けられたパラメータ値を提供することを含む。他の開示された例において、アクションは、フィールドデバイスによって実装され、かつ／または実行されている現在のプロセスまたはタスク、フィールドデバイス上の、またはフィールドデバイスによるタスク（例えば、保守タスク、テスト計画に関連付けられたタスクなど）を行うことに関するステップバイステップの命令、フィールドデバイスに関連付けられたプロセス制御タスクのステータスなどの補足情報を提供することを含む。いくつかの例において、アクションには、対応するコマンド（コンピュータベースのアプリケーションを介したコマンド、音声ベースのコマンドなど）によりユーザが開始するか、停止するか、または一時停止し得る、１つ以上のプロセス制御動作を含むプロセス制御ワークフローが含まれる。
【００１７】
図１Ａは、例示的なプロセス制御システム１０２の動作を容易にする例示的な仮想アシスタント（ＶＡ）１００の概略図である。図１Ａでは、ＶＡ１００は、プロセス制御仮想アシスタントである。例えば、ＶＡ１００は、例示的なユーザ（例えば、オペレータ、保守技術者、プロセス制御運用者など）１０４のためのタスクまたはサービスを行うコンピュータベースまたはソフトウェアエージェントであり得る。いくつかの例において、ＶＡ１００は、複数のユーザ１０４と対話する。いくつかの例において、ＶＡ１００は、コンピュータベースまたはソフトウェアアプリケーション、音声コマンド、テキストベースのコマンドなどを介してアクセス、初期化、および／または他の方法で対話され得る、ボット、チャットボットなどである。
【００１８】
図１Ａの示された例において、ＶＡ１００は、第１の例示的なデバイス１０８、第２の例示的なデバイス１１０、第３の例示的なデバイス１１２、および第４の例示的なデバイス１１４を含むデバイス（例えば、プロセッサベースのデバイス）で動作するか、かつ／または実行する例示的なホストアプリケーション１０６から要求を検索し、かつ／または取得する。図１Ａにおいて、ホストアプリケーション１０６は、機械可読命令により実行される１つ以上のルーチン（例えば、ソフトウェアルーチン）またはプログラム（例えば、ソフトウェアプログラム）を含む。例えば、ホストアプリケーション１０６は、標準オペレーティングシステム上で動作するプロセス制御関連ソフトウェアアプリケーション（例えば、Ｗｉｎｄｏｗｓ（商標）ベースのオペレーティングシステム、Ａｐｐｌｅ  ｍａｃＯＳ（登録商標）オペレーティングシステム、Ａｐｐｌｅ  ｉＯＳ（登録商標）オペレーティングシステム、Ａｎｄｒｏｉｄ（商標）オペレーティングシステム、Ｌｉｎｕｘ（登録商標）オペレーティングシステムなど）であり得る。ホストアプリケーション１０６は、デバイス１０８、１１０、１１２、１１４によって実行され、ユーザ１０４がＶＡ１００を介してプロセス制御システム１０２に含まれる１つ以上のフィールドデバイスまたは対応する動作に関連付けられたデータまたは情報を取得することを可能にする。
【００１９】
いくつかの例において、ホストアプリケーション１０６は、ＶＡ１００を介して、ユーザ１０４が、（例えば、グラフィカルユーザインターフェースを介して）プロセスの現在の状態を閲覧すること、プロセスを評価すること、例えば、視覚オブジェクト図を介して）プロセスの動作を修正することなどの、プロセス制御システム１０２によって制御され、かつ／または監視されているプロセスに関して所望の機能またはタスクを行うことを可能にする。いくつかの例において、ホストアプリケーション１０６は、ＶＡ１００から１つ以上の利用可能なコマンドを検索し、検索されたコマンドのうちの１つを選択し、ＶＡ１００を介してコマンドをフィールドデバイスに送信することに基づいて、ＶＡ１００を介してプロセス制御システム１０２に含まれたフィールドデバイスと対話することにより、所望の機能を実行する。例えば、ユーザ１０４は、ＶＡ１００にタスクを行うように求め得、ＶＡ１００は、要求を処理し得、ＶＡ１００は、処理された要求に基づいて１つ以上の利用可能なコマンドを記述し、かつ／または含む可聴メッセージを生成し得、ユーザ１０４は、口頭確認またはコマンドを介してコマンドのうちの１つを選択し得、ＶＡ１００は、コマンドを１つ以上の対応するフィールドデバイスに送信し得る。
【００２０】
図１Ａの示された例において、第１のデバイス１０８は、ホストアプリケーション１０６を介して（例えば、統合ディスプレイ、マイクロホンおよび／またはスピーカなどを介して）プロセス制御システム１０２との対話を容易にすることが可能であるＥｍｅｒｓｏｎ（商標）ＡＭＳ  ＴＲＥＸ（商標）などのプロセス制御ハンドヘルドデバイスである。代替的に、第１のデバイス１０８は、任意の他のタイプのプロセス制御ハンドヘルドまたはモバイルデバイスであってもよい。図１Ａでは、第２のデバイス１１０は、ホストアプリケーション１０６を介して（例えば、統合ディスプレイ、マイクロホンおよび／またはスピーカを介して）プロセス制御システムとの対話を容易にすることが可能であるインターネット対応タブレットである。図１Ａでは、第３のデバイス１１２は、インターネット対応モバイルハンドセット（例えば、スマートフォン）であり、したがって、ホストアプリケーション１０６を介して（例えば、統合ディスプレイ、マイクロホンおよび／またはスピーカを介して）プロセス制御システム１０２との対話を容易にし得る。図１Ａでは、第４のデバイス１１４は、ホストアプリケーション１０６を介して（例えば、統合ディスプレイ、マイクロホン、および／またはスピーカを介して）プロセス制御システム１０２との対話を容易にし得るインターネット対応ラップトップコンピュータである。代替的に、ＶＡ１００は、図１Ａに示されるデバイスの数量および／またはタイプのより少ないまたはより多いデバイスとの対話を容易にしてもよい。ホストアプリケーション１０６は、デバイス１０８、１１０、１１２、１１４の各々で同じであるとして示されているが、代替的に、ホストアプリケーション１０６は、プラットフォームに基づいて調整され、かつ／またはカスタマイズされてもよい。例えば、第１のデバイス１０８で実行されるホストアプリケーション１０６は、第２のデバイス１１０で実行されるホストアプリケーション１０６とは異なってもよい。このような例において、ホストアプリケーション１０６は、対応するプラットフォームに適合するために、異なるユーザインターフェース、異なる通信ドライバを有してもよい（例えば、第１のデバイス１０８はＢｌｕｅｔｏｏｔｈ（登録商標）５．０を有し、第２のデバイス１１０はＢｌｕｅｔｏｏｔｈ（登録商標）４．０を有するなど）。いくつかの例において、ホストアプリケーション１０６は音声ユーザインターフェース（ＶＵＩ）以外のインターフェースを持たない。例えば、ホストアプリケーション１０６のＶＵＩを使用して、キーボード、ユーザ１０４からのジェスチャなどを完全に置き換え得る。
【００２１】
図１Ａの示された例において、ユーザ１０４および／またはホストアプリケーション１０６は、聴覚、可聴、コンピュータベース、ジェスチャ、または音声コマンドを含むコマンドを介してＶＡ１００と対話し得る。代替的に、任意の他のタイプのコマンドを使用し得る。いくつかの例において、ユーザ１０４は、口頭要求を発行し、かつ／または、第１の例示的なフィールドデバイス（フィールドバルブ（ＦＶ）ＦＶ−１０５）１１６および第２の例示的なフィールドデバイス（フィールド機器（ＦＩ）ＦＩ−２０５）１１８を含むプロセス制御システム１０２に含まれるフィールドデバイスに関連付けられたデータをＶＡ１００に求め得る。図１Ａの第１のフィールドデバイス１１６は、流量制御アセンブリである。例えば、第１のフィールドデバイス１１６は、電気的、油圧的、かつ／または空気圧的に作動するバルブアセンブリであり得る。例えば、第１のフィールドデバイス１１６は、少なくともアクチュエータ、バルブ（例えば、バタフライバルブ、グローブバルブなど）、バルブコントローラ（例えば、ローカルシングルループプロセスコントローラ）などを含み得る。例えば、ユーザ１０４は、アクチュエータ圧力、バルブ位置などを含む第１のフィールドデバイス１１６に関連付けられたデータを要求し、かつ／または検索するように、口頭コマンドをＶＡ１００に発行し得る。追加的または代替的に、図１Ａに関連して図示され、かつ／または説明されたもの以外の任意の他のタイプのフィールドデバイスに対応する対話をトリガし得る。追加的または代替的に、ＶＡ１００は、第１のフィールドデバイス１１６に関連付けられた任意の他のデータ（例えば、第１のフィールドデバイス１１６を含む配線図、第１のフィールドデバイス１１６のソフトウェアまたは通信プロトコル識別子、第１のフィールドデバイス１１６に含まれるコントローラに関連付けられたファームウェアバージョンなど）を要求し、かつ／または検索し得る。
【００２２】
図１Ａの示された例の第２のフィールドデバイス１１８はセンサである。例えば、第２のフィールドデバイス１１８は、圧力トランスミッタ、温度トランスミッタなどであり得る。他の例において、第２のフィールドデバイス１１８は、レベルトランスミッタ、ｐＨトランスミッタ、バルブポジショナなどであり得る。例えば、ユーザ１０４は、工学単位（例えば、ポンド／平方インチ（ＰＳＩ）、摂氏度など）、非工学単位（例えば、電圧測定値、電流測定値など）、原油ユニット、流動接触分解（ＦＣＣ）ユニットなど、および／またはそれらの組み合わせにおける、センサ測定（例えば、圧力測定、流量測定、温度測定など）を含む、第２のフィールドデバイス１１８に関連付けられたデータを要求するように、ＶＡ１００に口頭コマンド（例えば、「仮想アシスタント、ＦＩ−２０５について教えて」）を発行し得る。他の例において、口頭コマンドは、キャリブレーション情報に対する要求（例えば、最後のキャリブレーションの日付、次のキャリブレーションの日付、センサをキャリブレーションしたユーザなど）、構成（例えば、通信プロトコル出力アドレス、電気出力範囲など）、製造者情報（例えば、モデル番号、シリアル番号など）、バージョン情報（例えば、第２のフィールドデバイス１１８に関連付けられたファームウェアバージョン）などであり得る。
【００２３】
いくつかの例において、ユーザ１０４および／またはホストアプリケーション１０６は、例示的な制御ループ１２０に関連付けられた情報についてＶＡ１００に照会する。図１Ａでは、制御ループ１２０は、ＦＩＣ−２０５によって指定されたフィールド機器制御（ＦＩＣ）ループである。図１Ａの制御ループ１２０は、第１のフィールドデバイス１１６および第２のフィールドデバイス１１８を含む。図１Ａの制御ループ１２０は、第２のフィールドデバイス１１８から入力を取得し、かつ／または第１のフィールドデバイス１１６への出力信号を生成するコントローラ（例えば、ＰＬＣ、プロセッサベースのコントローラなど）に対応する。代替的に、制御ループ１２０は、より少ないまたはより多くのフィールドデバイスを含んでもよい。図１Ａでは、制御ループ１２０は、第１のフィールドデバイス１１６を動作させ得る（例えば、バルブを開く、バルブを閉じる、バルブを特定の位置に移動させるなど）。図１Ａでは、制御ループ１２０は、第１のフィールドデバイス１１６に関連付けられている第２のフィールドデバイス１１８からセンサデータを取得および／または取得し得る。例えば、制御ループ１２０は、第１のフィールドデバイス１１６に、開いて流体を第１のフィールドデバイス１１６に流すように命令し、第２のフィールドデバイス１１８から取得したデータに基づいて、流れのパラメータ（例えば、温度、流量、圧力など）を測定し得る。
【００２４】
いくつかの例において、ＶＡ１００は、ＭＯＤＥパラメータ（例えば、自動モード、手動モード、カスケードモードなど）、設定点（ＳＰ）パラメータ、プロセス変数（ＰＶ）パラメータ、または、測定値（ＭＶ）パラメータ、出力（ＯＵＴ）パラメータ、ステータスパラメータ、および／または、制御ループ１２０に含まれる構成要素またはフィールドデバイスに関連付けられた１つ以上のアラームを含む、制御ループ１２０に関連付けられた情報を返す。例えば、ＳＰパラメータは、ＭＶまたはＰＶの予測値、所望値などに対応し得る。このような例において、ＳＰは、ＶＡ１００を介して、ユーザ１０４によって入力され、かつ／または通信され得る。例えば、ユーザ１０４は、第１のフィールドデバイス１１６のバルブ位置パラメータのためのＳＰパラメータに１００％開いた値を割り当てるように、ＶＡ１００に命令し得る。ＭＶまたはＰＶパラメータは、プロセス出力の測定値（例えば、第１のフィールドデバイス１１６を流れる流体の流量、圧力、温度など）に対応し得る。ＯＵＴパラメータは、制御ループ１２０の出力（例えば、コントローラからの出力）に対応し得る。ＯＵＴパラメータは、制御ループ１２０によって、生成され、アクチュエータ（例えば、第１のフィールドデバイス１１６に含まれるアクチュエータ）に送信されて、アクチュエータの調整を行う出力信号に対応し得る。
【００２５】
いくつかの例において、自動モードに対応するＭＯＤＥパラメータに応答して、制御ループ１２０はＳＰおよびＰＶを受信し、ＯＵＴパラメータを計算し、ＯＵＴパラメータに対応する出力信号を第１のフィールドデバイス１１６に送信する。いくつかの例において、手動モードに対応するＭＯＤＥパラメータに応答して、制御ループ１２０が無効になり、ユーザ１０４がＯＵＴパラメータに対応する出力信号を直接アクチュエータに送信できるようになる。例えば、ユーザ１０４は、制御ループ１２０に格納されたＳＰを無効にすることにより、第１のフィールドデバイス１１６のバルブ位置を調整するようにＶＡ１００に命令し得る。
【００２６】
いくつかの例において、カスケードモードに対応するＭＯＤＥパラメータに応答して、制御ループは、別の制御ループ（例えば、ＦＩＣ−２０１、ＦＩＣ−２０４など）に関連付けられた別のコントローラなどの外部ソースからＳＰを受信するが、これに限定されない。例えば、制御ループＦＩＣ−２０１は、フィールドデバイスＦＶ−１０１に関連付けられた第１のＳＰを、制御ループＦＩＣ−２０４から受信し得る。このような例において、ユーザ１０４は、ＦＶ−１０１を流れる流体の２バレル／分（ｂｐｍ）の流量を生成するようにＶＡ１００に命令し得る。ＶＡ１００は、ユーザ１０４からの要求を処理し、コマンドを生成し、コマンドをＦＩＣ−２０４に送信して、２ｂｐｍの流量を流量ＳＰに割り当て得る。ＦＩＣ−２０４は、ＦＩ−２０４から例示的なプロセスタンク１２２のレベル測定値を取得し、レベルの変化を流量（例えば、プロセスタンク１２２の充填率に基づく流量）に変換し得る。次に、ＦＩＣ−２０４は、流量ＳＰに基づいてＦＶ−１０１のバルブ位置ＳＰに対応するコマンドを生成し、ＦＩＣ−２０１に送信し得る。ＦＩＣ−２０１がコマンドを受信すると、ＦＩＣ−２０１はＦＶ−１０１を開き、ＦＶ−１０１を介して２ｂｐｍの流量ＳＰを満たすバルブ位置ＳＰを達成および／または満たす。バルブ位置ＳＰを満たすことに応答して、ＦＩＣ−２０４はＦＶ−１０１を通る２ｂｐｍの流量ＳＰが満たされたかどうかを判定し得る。いくつかの例において、ＶＡ１００は、ユーザからの要求に関連付けられたＦＶ−１０１を通る流量が満たされたことを示すユーザ１０４への可聴メッセージを生成する。追加的または代替的に、ＶＡ１００は、プロセスタンク１２２の充填率、バルブ位置ＳＰの値、ＦＶ−１０１に関連付けられたバルブ位置など、および／またはそれらの組み合わせなどの情報を可聴メッセージに含み得る。
【００２７】
いくつかの例において、ユーザ１０４および／またはホストアプリケーション１０６は、プロセス制御システム１０２の１つ以上の構成要素によって実行されるコマンドをＶＡ１００に発行する。例えば、ユーザ１０４は、第１のフィールドデバイス１１６を開閉するように、異なる測定単位または異なる出力データを使用するよう第２のフィールドデバイス１１８に指示するように、口頭コマンドを、異なる通信プロトコルなどを使用してＶＡ１００に発行し得る。他の例において、ホストアプリケーション１０６は、コマンドを生成し、コマンドをＶＡ１００に送信して、プロセス制御システム１０２の１つ以上の構成要素の１つ以上の動作を含むワークフローを実行し得る。例えば、ホストアプリケーション１０６は、プロセスタンク１２２を充填するように、コマンドを生成し、ＶＡ１００に送信し得る。このような例において、ＶＡ１００は、プロセスタンク１２２を充填し、第１のフィールドデバイス１１６を開くことによりガス出力を放出し、動作の状態などを含むユーザ１０４および／またはホストアプリケーション１０６へのフィードバックを提供するように、ＦＶ−１０１、ＦＶ−１０２などの１つ以上のフィールドデバイスを動作させ得る。例えば、状態は、プロセスタンク１２２が４０％満杯であることを示す可聴および／または視覚ベースのメッセージであり得る。他の例において、メッセージは、残りの動作の推定時間分、動作の開始からの経過時間などを含み得る。いくつかの例において、ＶＡ１００は、安全情報を含むユーザ１０４、ホストアプリケーション１０６などへの通知を生成する。例えば、通知は、ＦＣＣのガス漏れ、プロセスタンク１２２の液体漏れなどに対応し得る。追加的または代替的に、プロセスタンク１２２が図１Ａに示されているが、ＶＡ１００は、ユーザ１０４および／または、１つ以上の熱交換器、１つ以上の蒸留塔、１つ以上の加熱炉など、および／またはそれらの組み合わせによる機能および／または動作の容易化に対応するホストアプリケーション１０６との会話をトリガし得る。
【００２８】
図１Ａの示された例において、ＶＡ１００は、例示的なネットワーク１２６を介して例示的なデータベース１２４から情報を照会および／または検索する。いくつかの例において、データベース１２４は、１つ以上のプロファイルを含み得るプロセス制御システム１０２の構成を含み、プロファイルの各々は、プロセス制御システム１０２に含まれる構成要素に対応する（例えば、第１のプロファイルフィールドデバイス１１６に対応する第１のプロファイル、プロセスタンク１２２に対応する第２のプロファイルなど）。いくつかの例において、プロファイルは２つ以上の構成要素に対応し得る。例えば、プロファイルは、制御ループ１２０に関連付けられた情報を含み得るが、これは、第１のフィールドデバイス１１６、第２のフィールドデバイス１１８、制御ループ１２０に含まれるコントローラなどに対応する情報を含み得る。いくつかの例において、データベース１２４は、プロセス制御システム１０２の構成要素によって実行し得るアクション（例えば、基本アクション、複合アクションなど）を含む。いくつかの例において、データベース１２４は、プロセス制御システム１０２の１つ以上の構成要素に１つ以上のアクションを実行するように命令するためにＶＡ１００によって実行できるスクリプトを含む。
【００２９】
図１Ａのデータベース１２４は、揮発性メモリ（例えば、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）など）および／または不揮発性メモリ（フラッシュメモリなど）によって実装され得る。データベース１２４は、追加的または代替的に、ＤＤＲ、ＤＤＲ２、ＤＤＲ３、ＤＤＲ４、モバイルＤＤＲ（ｍＤＤＲ）などの１つ以上のダブルデータレート（ＤＤＲ）メモリによって実装されてもよい。データベース１２４は、追加的または代替的に、ハードディスクドライブ（複数可）、コンパクトディスクドライブ（複数可）、デジタルバーサタイルディスクドライブ（複数可）、ソリッドステートディスクドライブ（複数可）などの１つ以上の大容量記憶デバイスによって実装されてもよい。示された例において、データベース１２４は単一のデータベースとして示されるが、データベース１２４は、任意の数および／またはタイプ（複数可）のデータベースによって実装されてもよい。また、データベース１２４に格納されたデータは、例えば、バイナリデータ、コンマ区切りデータ、タブ区切りデータ、構造化照会言語（ＳＱＬ）構造などの任意のデータフォーマットであってもよい。
【００３０】
図１Ａのネットワーク１２６は、バスおよび／またはコンピュータネットワークである。例えば、ネットワーク１２６はプロセス制御ネットワークであり得る。いくつかの例において、ネットワーク１２６は、インターネットに通信可能に結合される能力を備えたネットワークである。しかしながら、ネットワーク１２６は、例えば、１つ以上のデータバス、１つ以上のローカルエリアネットワーク（ＬＡＮ）、１つ以上の無線ＬＡＮ、１つ以上のセルラーネットワーク、１つ以上の光ファイバーネットワーク、１つ以上の衛星ネットワーク、１つ以上のプライベートネットワーク、１つ以上のパブリックネットワークなどを含む任意の適切な有線および／または無線ネットワークを使用して実装され得る。ネットワーク１２６は、例示的なＶＡ１００がデータベース１２４と通信することを可能にし得る。
【００３１】
図１Ｂは、図１Ａの例示的なプロセス制御システム１０２の動作を容易にするために、例示的なウェアラブルデバイス１２８、１３０、１３２に含まれるか、かつ／またはそこで実行する図１Ａの例示的なＶＡ１００の概略図である。図１Ｂでは、ウェアラブルデバイス１２８、１３０、１３２は、第１の例示的なウェアラブルデバイス１２８、第２の例示的なウェアラブルデバイス１３０、および第３の例示的なウェアラブルデバイス１３２を含む。図１Ｂの第１のウェアラブルデバイス１２８はヘッドセットである。追加的または代替的に、ＶＡ１００は、スマートウォッチ、スマートゴーグルなどの任意の他のコンピューティングまたはウェアラブルデバイス上でインストールされ、かつ／または構成され得る。
【００３２】
図１Ｂの示された例の第１のウェアラブルデバイス１２８は、１つ以上のプロセッサ、機械可読命令を格納するための１つ以上のメモリデバイスおよび／または１つ以上の大容量記憶デバイス、Ｂｌｕｅｔｏｏｔｈ（登録商標）および／またはＷｉ−Ｆｉ通信を容易にする１つ以上のインターフェース回路、ボタンおよび／またはマイクロホンなどの１つ以上の入力デバイス、スピーカなどの１つ以上の出力デバイス、および／または任意の他のＶＡ１００を実装し得るハードウェア構成要素を含むプロセッサベースのコンピュータプラットフォームを含むヘッドセットであってもよい。このような例において、ユーザ１０４は、ボタンを押すか、または「ハロー、仮想アシスタント」などの特定の句をアナウンスすることにより、第１のウェアラブルデバイス１２８でＶＡ１００を呼び出し得る。
【００３３】
図１Ｂの示された例の第２のウェアラブルデバイス１３０は、リストバンドである。例えば、第２のウェアラブルデバイス１３０は、１つ以上のプロセッサ、機械可読命令を格納するための１つ以上のメモリデバイスおよび／または１つ以上の大容量記憶デバイス、Ｂｌｕｅｔｏｏｔｈ（登録商標）および／またはＷｉ−Ｆｉ通信を容易にする１つ以上のインターフェース回路、ボタンおよび／またはマイクロホンなどの１つ以上の入力デバイス、スピーカなどの１つ以上の出力デバイス、および／または任意の他のＶＡ１００を実装し得るハードウェア構成要素を含むプロセッサベースのコンピュータプラットフォームを含むリストバンドであってもよい。このような例において、ユーザ１０４は、ボタンを押すか、または「ハロー、仮想アシスタント」などの特定の句をアナウンスすることにより、第２のウェアラブルデバイス１３０でＶＡ１００を呼び出し得る。
【００３４】
図１Ｂの示された例の第３のウェアラブルデバイス１３２は、２つのレンズを含む眼鏡に対応する。例えば、第３のウェアラブルデバイス１３２は、１つ以上のプロセッサ、機械可読命令を格納するための１つ以上のメモリデバイスおよび／または１つ以上の大容量記憶デバイス、Ｂｌｕｅｔｏｏｔｈ（登録商標）および／またはＷｉ−Ｆｉ通信を容易にする１つ以上のインターフェース回路、ボタンおよび／またはマイクロホンなどの１つ以上の入力デバイス、ディスプレイ、スピーカなどの１つ以上の出力デバイス、および／または任意の他のＶＡ１００を実装し得るハードウェア構成要素を含むプロセッサベースのコンピュータプラットフォームを含む眼鏡であってもよい。このような例において、ユーザ１０４は、まばたきするか、または眼鏡の前で手を振るなどのジェスチャ動作を行いながら、ボタンを押すか、または「ハロー、仮想アシスタント」などの特定の句をアナウンスすることにより、第３のウェアラブルデバイス１３２でＶＡ１００を呼び出し得る。いくつかの例において、第３のウェアラブルデバイス１３２は、第１のレンズに統合された第１のディスプレイと、第２のレンズに統合された第２のディスプレイとを含む２つのディスプレイを含む。他の例において、第３のウェアラブルデバイス１３２は、眼鏡の第１または第２のレンズのいずれかに１つのディスプレイを含む。
【００３５】
図１Ｂの示された例において、ウェアラブルデバイス１２８、１３０、１３２は、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉなどの無線接続を介してネットワーク１２６に通信可能に結合される。いくつかの例において、ウェアラブルデバイス１２８、１３０、１３２のうちの１つ以上は、アクセスポイント、ビーコン、ゲートウェイなどのインターリーブデバイスなしで直接無線接続を介してネットワーク１２６に通信可能に結合され得る。ウェアラブルデバイス１２８、１３０、１３２のうちの１つ以上は、アクセスポイント、ビーコン、ゲートウェイなどのインターリーブデバイスを介してネットワーク１２６に通信可能に結合され得る。
【００３６】
図１Ｂの示された例において、ウェアラブルデバイス１２８、１３０、１３２のうちの１つ以上は、ビーコン１３４ａ〜ｇのうちの１つ以上を介してネットワーク１２６に通信可能に結合され得る。図１Ｂでは、ビーコン１３４ａ〜ｇは、Ｗｉ−Ｆｉビーコン（例えば、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）ビーコン）である。例えば、ビーコン１３４ａ〜１３４ｇは、コンピューティングデバイス間（例えば、サーバとクライアントデバイス間、アクセスポイントとクライアントデバイス間など）の無線通信を容易にし得る１つ以上のプロセッサを含むデバイスである。代替的に、ビーコン１３４ａ〜ｇのうちの１つ以上は、Ｂｌｕｅｔｏｏｔｈ（登録商標）ビーコンまたはデュアルＢｌｕｅｔｏｏｔｈ（登録商標）／Ｗｉ−Ｆｉビーコンであってもよい。追加的または代替的に、ビーコン１３４ａ〜ｇのうちの１つ以上は、異なる無線通信プロトコルをサポートし得る。ビーコン１３４ａ〜ｇのうちの７つが図１Ｂに示されているが、示されたビーコン１３４ａ〜ｇよりも少ないか、または多いビーコンが使用されてもよい。
【００３７】
図１Ｂの示された例において、ビーコン１３４ａ〜ｇは、プロセス制御システム１０２全体の複数の場所に配置されている。図１Ｂでは、ビーコン１３４ａ〜ｇの各々は、１つ以上のフィールドデバイスを含むカバレッジエリアを生成する位置に配置されている。カバレッジエリアは、デバイスがカバレッジエリアに関連付けられたビーコンに通信可能に結合される地理的エリアに対応し得る。例えば、ビーコン１３４ａ〜１３４ｇのうちの第１のものは、ＦＩ−２０５  １１８およびＦＩＣ−２０７を含む第１のカバレッジエリアを有してもよい。いくつかの例において、ビーコン１３４ａ〜ｇの１つ以上のカバレッジエリアは互いに重複していてもよい。他の例において、ビーコン１３４ａ〜ｂのカバレッジエリアは互いに重複していなくてもよい。
【００３８】
いくつかの例において、ウェアラブルデバイス１２８、１３０、１３２は、生成されるか、かつ／またはビーコン１３４ａ〜ｇに関連付けられるカバレッジエリア内にあるときに、ビーコン１３４ａ〜ｇに動的に接続する。例えば、ウェアラブルデバイス１２８、１３０、１３２は、第１のビーコン１３４ａの関連付けられたカバレッジエリアの範囲内に入るとき、ビーコン１３４ａ〜ｇの第１のビーコンを介してネットワーク１２６に通信可能に結合されてもよい。ウェアラブルデバイス１２８、１３０、１３２が第１のビーコン１３４ａと通信可能に結合されると、ユーザ１０４は、第１のビーコン１３４ａの範囲内のフィールドデバイスに対応するＶＡ１００との会話をトリガし得る。例えば、ユーザ１０４は、ＦＩ−２０５  １１８に対応する第１のウェアラブルデバイス１２８上でＶＡ１００との会話を開始し得る。このような例において、ユーザ１０４は、「ハロー仮想アシスタント、私にＦＩ−２０５に関する情報を提供して」とアナウンスすることによりＶＡ１００を呼び出し得る。呼び出しに応答して、ＶＡ１００は、第１のビーコン１３４ａを介してネットワーク１２６に通信可能に結合されたデータベース１２４への要求を生成し得る。ＶＡ１００は、ＦＩ−２０５  １１８に対応する情報を含むユーザ１０４への可聴応答を生成し得る。
【００３９】
いくつかの例において、ＶＡ１００は、カバレッジエリアに入ると、ビーコン１３４ａ〜ｇのカバレッジエリア内のフィールドデバイスに関連付けられているウェアラブルデバイス１２８、１３０、１３２に情報をダウンロードし得る。例えば、第３のウェアラブルデバイス１３２を装着しているユーザ１０４が第１のビーコン１３４ａの第１のカバレッジエリアに入ると、ＶＡ１００は、第１のカバレッジエリア内のフィールドデバイスについて第１のビーコン１３４ａに照会し得る。第１のビーコン１３４ａは、ＦＩ−２０５  １１８およびＦＩＣ−２０７を含むフィールドデバイスのリストを返してもよい。ＶＡ１００は、返されたフィールドデバイスのリストを第３のウェアラブルデバイス１３２に格納されている情報と比較し得る。ＶＡ１００は、第３のウェアラブルデバイス１３２にまだ格納されていない情報をダウンロードしてもよい。例えば、第３のウェアラブルデバイス１３２は、ＦＩ−２０５  １１８に関連付けられた第１の情報を既に格納しているが、ＦＩＣ−２０７に関連付けられた第２の情報をまだ格納していない場合がある。このような例において、ＶＡ１００は、第２の情報について第１のビーコン１３４ａに照会し得る。いくつかの例において、ＶＡ１００は、第３の情報が第１の情報と異なる場合、ＦＩ−２０５  １１８に関連付けられた第３の情報について第１のビーコン１３４ａに照会する。他の例において、ＶＡ１００は、第１の情報を第３の情報で置き換えてもよい。
【００４０】
いくつかの例において、ＶＡ１００は、カバレッジエリアを出ると、ビーコン１３４ａ〜ｇのカバレッジエリア内のフィールドデバイスに関連付けられている情報を削除する。例えば、第２のウェアラブルデバイス１３０を装着しているユーザ１０４が第１のビーコン１３４ａに関連付けられた第１のカバレッジエリアを離れると、ＶＡ１００は、ＦＩ−２０５  １１８、ＦＩＣ−２０７などに関連付けられた情報を削除するように第２のウェアラブルデバイス１３０に指示してもよい。他の例において、ＶＡ１００は、第１のカバレッジエリアとは異なる第２のカバレッジエリアに入るときに情報を削除するように第２のウェアラブルデバイス１３０に指示してもよい。例えば、ＶＡ１００は、第２のカバレッジエリア内の第２のフィールドデバイスに関連付けられた第２の情報で第１のカバレッジエリアに関連付けられた以前に格納された情報を置き換えるように第２のウェアラブルデバイス１３０に指示し得る。
【００４１】
有利には、ＶＡ１００は、ネットワーク１２６を介してデータベース１２４から情報を取得する代わりに、ビーコンカバレッジエリアにフィールドデバイスに関連付けられた情報をウェアラブルデバイス１２８、１３０、１３２上でローカルに保存することにより、ユーザ１０４からの要求が処理される速度を低下させ得る。例えば、第３のウェアラブルデバイス１３２を装着しているユーザ１０４が第１のビーコン１３４ａに関連付けられた第１のカバレッジエリアに入ると、ＶＡ１００はＦＩＣ−２０５  １２０に関連付けられた配線図をダウンロードしてもよい。このような例において、ユーザ１０４がＶＡ１００に配線図を表示するように要求すると、ＶＡ１００は、一方または両方の眼鏡上に（例えば、眼鏡に組み込まれた一方または両方のディスプレイ上に）配線図を表示するよう、第３のウェアラブルデバイス１３２に指示してもよい。第１のカバレージエリアに入ると、配線図をローカルに保存することにより、ＶＡ１００は、ユーザ１０４による要求が処理される速度を上げ得る。
【００４２】
同様に、ＶＡ１００は、データベース１２４に照会する代わりに、ビーコン１３４ａ〜ｇに格納された情報からデータを検索することにより、ネットワーク１２６の維持に関連付けられた計算リソースの量を減らすことができる。いくつかの例において、ビーコン１３４ａ〜ｇは、メッシュネットワークを形成することにより、ネットワーク１２６に関連付けられたネットワークリソースを削減し得る。例えば、ビーコン１３４ａ〜ｇは、ビーコン１３４ａ〜ｇの各々が他のビーコン１３４ａ〜ｇのうちの少なくとも１つに通信可能に結合されるようにプロセス制御システム１０２に配置されてもよい。このような例において、第１のビーコン１３４ａは、第２から第７のビーコン１３４ｂ〜ｇからの要求を処理し、ネットワーク１２６がビーコン１３４ａ〜ｇの各々からの要求を処理する代わりにネットワーク１２６に要求を送信できる。
【００４３】
図２は、図１Ａ〜図１ＢのＶＡ１００の概略図である。図２では、例示的なプロセス制御環境２００において、ＶＡ１００は動作しており、かつ／またはプロセス制御（例えば、プロセス制御動作）を強化している。例えば、プロセス制御環境２００は、化学プラント、製造施設、油田環境、プラントなどを含むプロセス産業環境またはシステムに対応し得る。例えば、プロセス制御環境２００は、図１Ａ〜図１Ｂのプロセス制御システム１０２に対応してもよい。図２の示された例において、ＶＡ１００は、図１Ａ〜図１Ｂのユーザ１０４、ホストアプリケーション１０６などとの通信（例えば、コマンドの受信、応答の送信など）を容易にする。いくつかの例において、ユーザ１０４および／またはホストアプリケーション１０６は、第１の例示的な要求２０１ａおよび第２の例示的な要求２０１ｂを含む例示的な要求２０１ａ〜ｂを介して、関心のあるデータまたは情報についてＶＡ１００に照会する。要求２０１ａ〜ｂの一方または両方は、口頭要求、コマンド（例えば、口頭コマンド）、ホストアプリケーション１０６における選択および／またはそれへの入力などに対応し得る。例えば、ユーザ１０４は、第１の要求２０１ａに「ＦＩＣ−２０５はどのような状態ですか？」と尋ね得る。このような例において、ＶＡ１００は、ＭＯＤＥ、ＳＰ、ＰＶ、ＯＵＴ、ステータス、アラームなど、および／またはそれらの組み合わせを含む、図１Ａ〜図１Ｂの制御ループ１２０に関連付けられた１つ以上のパラメータを返し得る。他の例において、ユーザ１０４は、ユーザインターフェースに表示された事前入力リストから第２の要求２０１ｂを選択するか、または、「Ｆｉｎｄ  ｍｅ  ＦＩ＊」（ワイルドカード文字であるアスタリスク（＊）は、ＦＩに関連付けられた構成要素またはフィールドデバイスのリストを返すようにＶＡ１００に指示するか、またはフィールドデバイスの構成要素の説明にＦＩを含め得る）などの事前入力リストに含まれていないテキストベースのコマンドまたは要求をタイピングして入力を生成することにより、ホストアプリケーション１０６と対話し得る。例えば、ＶＡ１００は、ＦＩを含む指定子（例えば、ＦＩ−２０１、ＦＩＣ−２０１、ＦＩ−２０２、ＦＩＣ−２０２など）が割り当てられた１つ以上のフィールドデバイス、制御ループなどの名前、説明、および／または対応するパス情報を含むリストを生成し得る。
【００４４】
図２において、ホストアプリケーション１０６は、例示的なモバイルアプリケーション２０２であり得る。例えば、モバイルアプリケーション２０２は、図１Ａ〜図１Ｂの第１のデバイス１０８、第２のデバイス１１０、および／もしくは第３のデバイス１１２を使用して実行され、かつ／または動作され得る。例えば、モバイルアプリケーション２０２は、Ａｐｐｌｅ（商標登録）ｉＯＳモバイルアプリケーション、Ａｎｄｒｏｉｄ（商標）モバイルアプリケーションなどであり得る。例えば、モバイルアプリケーション２０２は、Ｅｍｅｒｓｏｎ（商標）ＤｅｌｔａＶ（商標）Ｍｏｂｉｌｅなどのプロセス制御ベースのモバイルアプリケーションであり得る。
【００４５】
図２の示された例において、ホストアプリケーション１０６は、例示的なブラウザアプリケーション２０４であり得る。例えば、ブラウザアプリケーション２０４は、ＶＡ１００に送信された、ＶＡ１００から受信された、かつ／またはＶＡ１００と交換された情報がＨＴＴＰメッセージとしてフォーマットされるウェブブラウザおよび／またはウェブサーバを実装し得る。しかし、例えば、ファイル転送プロトコル（ＦＴＰ）、リアルタイム転送プロトコル（ＲＴＰ）、簡易メッセージ転送プロトコル（ＳＭＴＰ）、ＨＴＴＰセキュア（ＨＴＴＰＳ）プロトコルなど、の任意の他のメッセージフォーマットおよび／または（通信）プロトコルが追加的または代替的に使用されてもよい。例えば、ブラウザアプリケーション２０４は、Ｅｍｅｒｓｏｎ（商標）ＤｅｌｔａＶ（商標）Ｌｉｖｅを使用して構築され、かつ／または生成されたプロセス制御ベースのブラウザアプリケーションであり得る。
【００４６】
図２のホストアプリケーション１０６は、例示的なデスクトップアプリケーション２０６であり得る。例えば、デスクトップアプリケーション２０６は、Ａｐｐｌｅ（登録商標）Ｍａｃ（登録商標）コンピュータ（例えば、ＭａｃＢｏｏｋ（登録商標）コンピュータ、Ｍａｃ  Ｐｒｏ（登録商標）コンピュータなど）、Ｗｉｎｄｏｗｓベースのデスクトップおよび／もしくはラップトップコンピュータ、Ｌｉｎｕｘ（登録商標）ベースのデスクトップおよび／もしくはラップトップコンピュータなどで動作し、かつ／または実行し得る。例えば、デスクトップアプリケーション２０６は、機能するか、または動作するためにウェブブラウザおよび／またはインターネット接続を必要としないスタンドアロンアプリケーションとして動作し、かつ／または実行し得る。他の例において、デスクトップアプリケーション２０６は、機能するか、または動作するためにウェブブラウザおよび／またはインターネット接続を使用できるコンピュータアプリケーションとして動作し、かつ／または実行し得る。
【００４７】
図２の示された例において、モバイルアプリケーション２０２、ブラウザアプリケーション２０４、およびデスクトップアプリケーション２０６上で動作し、かつ／または実行するホストアプリケーション１０６は、ユーザ１０４から要求２０１ａ〜ｂを受け入れ、かつ／または取得するためのユーザインターフェースを含む。例えば、ＶＡ１００は、要求２０１ａ〜ｂに対する応答をホストアプリケーション１０６に送信し得る。このような例において、ホストアプリケーション１０６は、ユーザインターフェースを介して応答を表示し得る（例えば、パラメータ値を含むグラフィックの表示、視覚化の表示、応答を含むテキストベースのメッセージの表示など）。いくつかの例において、ホストアプリケーション１０６は、ホストアプリケーション１０６に通信可能に結合された１つ以上のスピーカを介してＶＡ１００からの応答を通信し得る。例えば、ホストアプリケーション１０６は、ＶＡ１００からの応答を表す口頭メッセージを生成し、ホストアプリケーション１０６を実行するコンピューティングデバイスに結合された１つ以上のスピーカを介して口頭メッセージを通信し得る。
【００４８】
図２の示された例において、ホストアプリケーション１０６は、ホストアプリケーションボットフレームワーク２０８の例を介したＶＡ１００との通信を容易にするために使用できる、１つ以上のアプリケーションプログラミングインターフェース（ＡＰＩ）、拡張、プラグインなど、および／またはそれらの組み合わせを含む。代替的に、ホストアプリケーション１０６は、ホストアプリケーションボットフレームワーク２０８なしで、ＶＡ１００とデータを通信し、かつ／または交換し得る。図２において、ホストアプリケーションボットフレームワーク２０８は、ホストアプリケーション１０６に含まれ、要求をキューイングし、要求および応答をマーシャリングする。例えば、ホストアプリケーションボットフレームワーク２０８は、ＶＡ１００およびＶＡ１００からの応答に対する要求を処理し、かつ／または管理（例えば、要求のバッファリング、要求の優先順位付け、要求の並べ替え、要求とキャッシュに格納された応答の比較など）し得る。
【００４９】
図２の示された例において、ユーザ１０４および／またはホストアプリケーション１０６は、例示的なサーバボットフレームワーク２１０を介してＶＡ１００と通信し、かつ／または対話する。ＶＡ１００は、コマンドおよび／または要求を受信し、かつ処理することにより通信を容易にするためのサーバボットフレームワーク２１０を含む。例えば、サーバボットフレームワーク２１０は、要求／応答、発行／購読、またはコールバックアーキテクチャまたはスキーマを使用したイベント登録に基づいて、ホストアプリケーション１０６からのクエリを処理または管理し得る。いくつかの例において、サーバボットフレームワーク２１０は、１つ以上のプロセッサベースのサーバによって実装される。
【００５０】
いくつかの例において、サーバボットフレームワーク２１０はユーザ１０４、ホストアプリケーション１０６などに同期して応答を返すが、他の例において、サーバボットフレームワーク２１０は応答を非同期に返す。例えば、非同期応答は、アラート、通知などとして返され得る。このような例において、ユーザ１０４は、図１Ａ〜図１Ｂのプロセスタンク１２２を充填するなどの長期実行ワークフローを要求し得る。サーバボットフレームワーク２１０は、プロセスタンク１２２の充填が完了したときに、かつ／またはプロセスタンク１２２が２５％充填され、５０％充填され、７５％充填されたときなど、プロセスタンク１２２を充填するさまざまなマイルストーンのいずれかで、応答を非同期に生成し、（例えば、可聴アラートまたは通知を介して）ユーザ１０４、（例えば、ホストアプリケーション１０６のユーザインターフェース上の可聴アラートおよび／または視覚的通知を介して）ホストアプリケーション１０６、および／またはウェアラブルデバイス１２８、１３０、１３２のうちの１つに送信し得る。いくつかの例において、サーバボットフレームワーク２１０は、プロセスタンク１２２の充填率、図１Ａ〜図１Ｂの第１のフィールドデバイス１１６を通る流量、図１Ａ〜図１Ｂの第２のフィールドデバイス１１８のセンサ測定値などの長期実行ワークフローに関連付けられた情報を含む応答を、警告または通知とともに、かつ／またはそれに含めて生成し、送信し得る。
【００５１】
図２の示された例において、サーバボットフレームワーク２１０は、ホストアプリケーション１０６との通信を処理し、かつ／または管理するための例示的なフレームワークコントローラ２１２、例示的なパーサ２１４、例示的なアナライザ２１６、例示的なジェネレータ２１８、および例示的な実行部２２０を含む。代替的に、サーバボットフレームワーク２１０は、図２に示されるよりも少ないか、または多い構成要素を含んでもよい。代替的に、図２に示されるサーバボットフレームワーク２１０に含まれる構成要素は、任意の他の方法で組み合わせられ、分割され、再配置され、省略され、除去され、かつ／または実装されてもよい。
【００５２】
図２の示された例において、サーバボットフレームワーク２１０は、（１）ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などのうちの１つと、（２）サーバボットフレームワーク２１０との間の対話を容易にするためのフレームワークコントローラ２１２を含む。いくつかの例において、フレームワークコントローラ２１２は、要求を管理するときに使用する要求管理システムの構成および／またはタイプを判定する。例えば、フレームワークコントローラ２１２は、コールバック、および／または他のメッセージ処理スキーマを有する要求／応答、発行／購読、イベント登録に基づいて、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などとの通信またはデータ転送を容易にすることを判定し得る。
【００５３】
いくつかの例において、フレームワークコントローラ２１２は、ユーザ１０４、ホストアプリケーション１０６、および／またはウェアラブルデバイス１２８、１３０、１３２から受信され、かつ／または取得された要求２０１ａ〜ｂに対する応答を管理する応答管理システムを判定する。例えば、フレームワークコントローラ２１２は、応答をユーザ１０４、ホストアプリケーション１０６、および／またはウェアラブルデバイス１２８、１３０、１３２に非同期的または同期的に送信し、かつ／または返すことを判定し得る。例えば、フレームワークコントローラ２１２は、ユーザ１０４からの初期要求２０１ａ〜ｂが比較的長期実行ワークフロー（例えば、図１Ａ〜図１Ｂのプロセスタンク１２２の充填を開始するコマンド）であると判定することに基づいて、ユーザ１０４への応答を通知として非同期に返すことを判定し得る。他の例において、フレームワークコントローラ２１２は、ホストアプリケーション１０６からの初期要求が情報に対する要求（例えば、図１Ａ〜図１Ｂの第１のフィールドデバイス１１６に関連付けられたファームウェアのバージョンの要求）であると判定することに基づいて、ホストアプリケーション１０６に応答を同期的に返すことを判定し得る。
【００５４】
図２の示された例において、サーバボットフレームワーク２１０は、ユーザ１０４、ホストアプリケーション１０６、および／またはウェアラブルデバイス１２８、１３０、１３２からの要求２０１ａ〜ｂに含まれる要素（例えば、識別可能な要素、別個の構成要素など）を判定し、かつ／または識別するためのパーサ２１４を含む。いくつかの例において、パーサ２１４は、トークン化を行うトークナイザー、または入力文字列のセクションを区切り、かつ／または分類するプロセスまたは方法を含む。例えば、パーサ２１４は、ユーザ１０４による第１の要求２０１ａに含まれる単語のストリームを、さらなる処理のためにアナライザ２１６により取得されるトークンに分割するか、またはセグメント化し得る。追加的または代替的に、パーサ２１４は、他の方法で第１の要求２０１ａの要素を判定してもよい。
【００５５】
いくつかの例において、パーサ２１４は次元縮小を行って、サーバボットフレームワーク２１０による実質的な認識値を追加しない第１の要求２０１ａ内の要素を削減し、かつ／または除去する。例えば、パーサ２１４は、ユーザ１０４からの第１の要求２０１ａからの外来または識別不可能な可聴ノイズをフィルタリングし、かつ／または除去して、サーバボットフレームワーク２１０による第１の要求２０１ａの処理に必要な処理能力の量または期間を削減し得る。他の例において、パーサ２１４は、処理のためにアナライザ２１６に転送されるトークンの量を削減し得る。例えば、パーサ２１４は、判定されたトークンをアナライザ２１６に転送する前に、ユーザ１０４からの第１の要求２０１ａから、「ｕｍ」、「ｔｈｅ」などのアクション不能、フィラー、または無関係な単語に関連付けられたトークンを削除し得る。
【００５６】
いくつかの例において、パーサ２１４は、ユーザ１０４、ホストアプリケーション１０６、および／またはウェアラブルデバイス１２８、１３０、１３２からの要求に基づいて、表現（例えば、正規表現、典型的な表現など）を識別し、かつ／または判定する。例えば、パーサ２１４は、要求２０１ａ〜ｂが「ＦＩＣ−２０１はどのような状態ですか？」、「ＦＶ−１０６はどこにありますか？」などの一般的な質問に基づいていることを判定し得る。パーサ２１４は、「どのような状態ですか」、「どこにありますか」などの典型的な句を判定して、典型的な句に続く、要求された構成要素（例えば、ＦＩＣ−２０１、ＦＶ−１０６など）に基づいた応答を判定し得る。いくつかの例において、パーサ２１４は、ジェスチャベースの要求の要素（例えば、ＶＡ  １００などからの応答を承認するために手を振ること、親指を上げるジェスチャなど）を識別するための、画像認識ハードウェア（例えば、１つ以上のハードウェアアクセラレータ）および／またはソフトウェアを含む。
【００５７】
いくつかの例において、パーサ２１４は、要求２０１ａ〜ｂに基づいて情報抽出を行う。例えば、パーサ２１４は、要求されているフィールドデバイスの名前および／またはタイプを抽出することに基づいて、要求２０１ａ〜ｂに関連付けられたフィールドデバイス、制御ループなどを識別し得る。他の例において、パーサ２１４は、要求２０１ａ〜ｂからの情報を抽出することに基づいて、要求２０１ａ〜ｂのタイプ（例えば、コマンド、ロケーション要求、保守ステップ要求など）を識別し得る。
【００５８】
図２の示された例において、サーバボットフレームワーク２１０は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などからの要求２０１ａ〜ｂを検証するためのアナライザ２１６を含む。アナライザ２１６は、文法チェック、スペルチェック、セマンティックチェックなどを含む１つ以上の検証または検証チェックを行って、パーサ２１４によってトークン化された表現が有効な表現であるかどうかを判定する。例えば、アナライザ２１６は、構文アナライザ２１４が、式を形成するために組み立てられたときに、ＶＡ１００によって有効な応答を返すことができる１つ以上のトークンを生成したかどうかを判定し得る。
【００５９】
図２の示された例において、サーバボットフレームワーク２１０は、１つ以上の検索、応答、スクリプト、および／またはテンプレートを含むアクションのセットをコンパイルし、生成し、かつ／または産生するジェネレータ２１８を含む。いくつかの例において、ジェネレータ２１８は、要求２０１ａ〜ｂに基づいて検索を実行する。例えば、ジェネレータ２１８は、「ＦＩＣ−２０１のステータスは何ですか？」というクエリに基づいて検索を行い得、これに対してジェネレータ２１８は、ステータスについて図２の例示的なシステム例２２２のうちの１つを検索し、検索に基づいて「ＦＩＣ−２０１のステータスはＦＶ−１０１を閉じている」との例示的な応答を作成し、例示的な応答をユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などに送信する。
【００６０】
いくつかの例において、ジェネレータ２１８は、要求２０１ａ〜ｂに基づいて、スクリプトまたはテンプレートのうちの少なくとも１つを生成し得る。このような例において、ジェネレータ２１８はスクリプトまたはテンプレートを実行部２２０に送信し得る。例えば、ユーザ１０４からの要求２０１ａ−ｂは、長時間実行されるワークフロー、または複数のステップまたは完了点を含むワークフローに対応し得る。例えば、ユーザ１０４によって要求される長期実行ワークフローは、「ＦＶ−１０５のシールを交換するステップは何ですか？」であり得る。このような例において、ジェネレータ２１８は、ＦＶ−１０５に対応するフィールドデバイスタイプ、質問されているフィールドデバイスタイプの構成要素、またはユーザ１０４の識別のうちの少なくとも１つに基づいてテンプレートを作成し得る。例えば、テンプレートは、個々のステップに編成されたステップのセットを含め得る。セットのステップの各々は、ステップを実行する１つ以上の命令、ステップを行う１つ以上のツール、および／または、１つ以上の命令が正しく実行されることを保証する１つ以上の検証を含む。このような例において、テンプレートは、ステップが完了したことをユーザ１０４が確認する場合、またはユーザ１０４が追加情報を要求する場合に、ユーザ１０４に通信され得るステップの各々に対する応答を含み得る。例えば、応答は、次のステップに関連付けられた情報であり得るか、または、行われている現在のステップに関連付けられたユーザ１０４によるクエリ（例えば、要求２０１ａ〜ｂ）への応答、現在のステップに対応するツールなどであり得る。
【００６１】
いくつかの例において、ジェネレータ２１８は、要求のソースから追加情報を要求するための応答を作成する。例えば、ジェネレータ２１８は、ユーザ１０４がプロセス制御システム１０２に含まれていないフィールドデバイスに関する情報を要求し、フィールドデバイスによってサポートされていないフィールドデバイス上でのアクションを行うことを要求するなどの場合に、明確化または追加情報を求めるユーザ１０４への応答を生成し得る。このような例において、ジェネレータ２１８は、サーバボットフレームワーク２１０によって処理された要求の精度を検証するために、ユーザ１０４からの追加情報を要求し得る。いくつかの例において、ジェネレータ２１８は、要求が誤った要求（例えば、頻繁に受信される誤った要求）であることを判定し、要求２０１ａ〜ｂの代替案および／または元の要求２０１ａ〜ｂが正しくない理由、かつ／または、元の要求２０１ａ〜ｂの代わりに提案され得る代替案を実行し得る理由を記述する、対応する情報を含む応答を生成する。
【００６２】
図２の示された例において、サーバボットフレームワーク２１０は、ユーザ１０４、ホストアプリケーション１０６、および／またはウェアラブルデバイス１２８、１３０、１３２からの要求に基づいてアクションまたはコマンドを容易にする実行部２２０を含む。例えば、実行部２２０は、生成部２１８からスクリプト、テンプレートなどを受信し得る。いくつかの例において、実行部２２０は、要求２０１ａ〜ｂに基づいてスクリプト、テンプレート、および／またはアクションをトリガし、かつ／または開始する。例えば、実行部２２０は、ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）形式のコマンド構造に基づくコマンドを例示的な会話コンテキストエンジン２２４に送信し得る。送信に応答して、会話コンテキストエンジン２２４は、ユーザ１０４が第１のフィールドデバイス１１６を開くことを要求することに応答して、図１Ａの第１のフィールドデバイス１１６を開くコマンドを生成し得る。他の例において、実行部２２０は、図１Ａ〜図１Ｂのプロセスタンク１２２を充填するためにテンプレートをトリガし、テンプレートの１つ以上のステップまたは完了ポイントで通知を生成し得る。例えば、実行部２２０は、スクリプト、テンプレートなどを会話コンテキストエンジン２２４に送信して、プロセスタンク１２２の充填をトリガし得る。他の例において、実行部２２０は、第１のフィールドデバイス１１６、第２のフィールドデバイス１１８などに関連付けられた情報を要求するユーザ１０４に応答してスクリプトをトリガし得る。
【００６３】
いくつかの例において、実行部２２０は、例示的な会話コンテキストデータベース２４４に含まれ、かつ／または格納される例示的なモデル２４３を更新する。いくつかの例において、会話コンテキストデータベース２４４は複数のモデル２４３を含む。例えば、モデル２４３は、１つ以上の機械学習モデル、１つ以上のニューラルネットワーク（例えば、人工ニューラルネットワーク）などに対応し得る。例えば、実行部２２０は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２のうちの１つ以上などからの要求を処理するために使用されるモデル２４３を更新し得る。このような例において、実行部２２０は、例示的な会話コンテキストエンジン２２４をトリガして、ＶＡ１００に関連付けられた会話コンテキストデータベース２４４に含まれるモデル２４３をトリガし得る。いくつかの例において、モデル２４３は、図１Ａ〜図１Ｂのプロセス制御システム１０２の新しい構成に基づいて、再構成され、更新されるなどする。例えば、プロセス制御システム１０２は、サーバボットフレームワーク２１０および／または、より一般的にＶＡ１００によって生成される応答に影響を与え得る１つ以上のフィールドデバイスを削除すること、および／または追加すること、１つ以上の制御ループを修正することなどによって、修正され得る。
【００６４】
会話コンテキストデータベース２４４に格納されたモデル２４３（複数可）は、人工ニューラルネットワークに対応し得る。人工ニューラルネットワークは、既知の入力と既知の出力を有する例からの評価または「学習」に基づいて、タスクの実行および／または応答の提供を学習するコンピュータシステムアーキテクチャモデルである。会話コンテキストデータベース２４４に格納されたモデル２４３（複数可）などのニューラルネットワークは、「ニューロン」またはノードと呼ばれる相互接続された一連のノードを特徴とし得る。入力ノードは、実行部２２０からの入力などの外部ソース／刺激（例えば、ユーザ１０４からの要求２０１ａ〜ｂ、ジェネレータ２１８によって生成された応答など）からアクティブ化される。入力ノードは、（例えば、機械パラメータ、以前の関係などによって管理された）ノード間の接続に従って他の内部ネットワークノードをアクティブ化する。接続は動的であり、フィードバック、トレーニングなどに基づいて変更され得る。接続を変更することにより、人工ニューラルネットワークの出力を改善するか、または最適化して、より／最も正確な結果を産生し得る。例えば、会話コンテキストデータベース２４４に格納されているモデル２４３は、１つ以上のソースからの情報を使用してトレーニングされ、入力を応答などにマッピングして、応答の精度を向上させ、応答などの生成、および／またはそれらの組み合わせに必要な時間を短縮し得る。
【００６５】
ニューラルネットワーク、深層学習ネットワーク、サポートベクター機械、および／または他の体験／観察学習システム（複数可）などの機械学習技術を使用して、例えば最適な結果を生成し、画像内のオブジェクトを見つけ、発話を理解し、発話をテキストに変換し、検索エンジンの結果の関連性を向上させ得る。深層学習は、アルゴリズムのセットを使用して、線形および非線形変換を含む複数の処理層を有する深層グラフを使用したデータの高レベルの抽象化をモデル化する機械学習のサブセットである。多くの機械学習システムには、機械学習ネットワークの学習および更新を通じて修正される初期機能および／またはネットワークウェイトによりシードされているが、深層学習ネットワークは分析のために「良い」機能を識別するために自らをトレーニングする。多層アーキテクチャを使用すると、深層学習技術を使用する機械は、従来の機械学習技術を使用する機械よりも生データをより適切に処理し得る。評価または抽象化の異なる層を使用して、高度に相関する値のグループまたは特有のテーマのデータを調べることが容易になる。
【００６６】
例えば、畳み込みニューラルネットワーク（ＣＮＮ）を利用する深層学習では、畳み込みフィルタを使用してデータをセグメント化し、データ内の学習可能な観察可能な特徴を特定する。ＣＮＮアーキテクチャの各フィルタまたは層は、入力データを変換して、データの選択性と不変性を高める。このデータの抽象化により、機械は無関係な背景情報を分類し、無視しようとしているデータの機能に集中することが可能になる。
【００６７】
深層学習は、多くのデータセットには低レベルの機能を含む高レベルの機能が含まれているという理解に基づいて動作する。例えば、オブジェクトを探すのではなく、画像（例えば、ジェスチャベースの要求の画像）を調べながら、検索対象のオブジェクトを形成するパーツを形成するモチーフを形成するエッジを検索する方がより効率的である。これらの機能の階層は、異なる形式のデータに含まれている。
【００６８】
学習された観察可能な機能には、教師あり学習に機械によって学習されたオブジェクトおよび定量化可能な規則性が含まれる。適切に分類されたデータの大規模なセットを備えた機械は、新しいデータの正しい分類に関連付けられた機能を区別して抽出するためにより適切に装備されている。転移学習を利用する深層学習機械は、データ機能を人間の専門家によって確認された特定の分類に適切に接続し得る。逆に、同じ機械は、人間の専門家による誤った分類を通知されると、分類のパラメータを更新し得る。例えば、設定および／または他の構成情報は、設定および／または他の構成情報の学習された使用によって導かれ、システムがより使用されるにつれて（例えば、繰り返し、かつ／または複数のユーザによって）、多くのバリエーションおよび／または設定および／または他の構成情報の他の可能性は、特定の状況に対して削減され得る。
【００６９】
例えば、深層学習ニューラルネットワークの例は、専門家が分類したデータのセットでトレーニングし得る。このデータセットは、ニューラルネットワークの第１のパラメータを構築し、これが教師あり学習の段階になる。教師あり学習の段階で、所望の動作が達成されたかどうかをニューラルネットワークはテストされ得る。所望のニューラルネットワークの動作が達成されると（例えば、指定された閾値に従って動作するように機械がトレーニングされるなど）、機械を使用するために展開し得る（例えば、「実際の」データで機械をテストするなど）。動作中、ニューラルネットワークの分類を確認するか、または拒否して（例えば、エキスパートユーザ、エキスパートシステム、参照データベースなどによって）ニューラルネットワークの動作を改善し続け得る。会話コンテキストデータベース２４４に含まれるモデル２４３（複数可）は次に、進行中の対話に基づいてニューラルネットワーク動作を判定する分類のパラメータが更新されるため、転移学習の状態にある。特定の例において、会話コンテキストデータベース２４４に格納されたモデル２４３などの人工ニューラルネットワークは、パーサ２１４によって解析された要素、ジェネレータ２１８によって生成された応答など、別のプロセスに直接フィードバックを提供できる特定の例において、モデル２４３は、データが別のプロセスに提供される前に（クラウドなどを介して）バッファリングされ、検証されるデータを出力する。
【００７０】
いくつかの例において、実行部２２０は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などからの要求２０１ａ〜ｂに基づいて目的を更新する。例えば、実行部２２０は、以前の要求に関連付けられたアクション、プロセス、動作などをキャンセルするためのユーザ１０４からの要求に基づき、テンプレート、スクリプトなどを更新し得る。例えば、ユーザ１０４は、第１の要求が第２の要求の前に行われる場合に、第１の要求でＶＡ１００に図１Ａ〜図１Ｂのプロセスタンク１２２を充填するように要求し、第１の要求が行われる第２の要求でプロセスタンク１２２の充填をキャンセルするようＶＡ１００に要求し得る。このような例において、実行部２２０は、第１の要求に応答して生成されたスクリプト、テンプレートなどをキャンセルし、かつ／または停止することにより、プロセスタンク１２２の充填を停止するコマンドを生成できる。いくつかの例において、実行部２２０は、目的の更新に応答してアクションを生成する。例えば、実行部２２０は、プロセスタンク１２２の充填を停止することを要求するユーザ１０４に応答して、プロセスタンク１２２をパージするコマンドを生成し得る。このような例において、実行部２２０は、コマンドに関連付けられた情報をユーザ１０４に通信して、実行部２２０がコマンドの実行を容易にする前にユーザ１０４がコマンドを承認することを保証できる。
【００７１】
いくつかの例において、実行部２２０はダイアログまたは応答計画を更新する。例えば、実行部２２０は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などからの要求２０１ａ〜ｂに基づいてスクリプトまたはテンプレートを生成し得る。例えば、実行部２２０は、「ＦＶ−１０５のステータスは何ですか？」と質問するユーザ１０４に基づいてスクリプトを生成し得る。実行部２２０は、ＦＶ−１０５、ＦＶ−１０５に結合されたデバイス、またはＦＶ−１０５を含む制御ループに関連付けられてユーザ１０４が尋ね得る潜在的な質問に対する応答または応答のレベルを含むために、スクリプトを生成し得る。このような例において、実行部２２０は、ユーザ１０４が生成部２１８、実行部２２０などによって生成され、通信される応答にフォローアップ質問をするときに、スクリプトに関連付けられたダイアログを更新し得る。例えば、実行部２２０は、ユーザ１０４がフォローアップ要求でより具体的な情報を求めることに基づいて、第１のレベルの質問および対応する応答から、第２のレベルの質問および対応する応答にユーザ１０４が移行したことを判定し得る。
【００７２】
図２の示された例において、ユーザ１０４は、例示的なＤＣＳコントローラアセンブリ２２６を介してＶＡ１００と対話し得る。例えば、ＤＣＳコントローラアセンブリ２２６は、エマソン（商標）ＤｅｌｔａＶ（商標）ＳシリーズＤＣＳシステムであり得る。例えば、ＤＣＳコントローラアセンブリ２２６は、１つ以上のプログラマブルロジックコントローラ（ＰＬＣ）または産業またはプロセス自動化に使用される任意の他のプロセスコントローラであり得る。代替的に、ＤＣＳコントローラアセンブリ２２６は、任意の他のタイプのＤＣＳシステムであってもよい。図２のＤＣＳコントローラアセンブリ２２６は、第１のコントローラ２２８および第２のコントローラ２３０を含む。図２では、第１および第２のコントローラ２２８、２３０は、特徴付けモジュール（ＣＨＡＲＭ）Ｉ／Ｏカード（ＣＩＯＣ）である。代替的に、電子コントローラの任意の他の数またはタイプが使用されてもよい。第１および第２のコントローラ２２８、２３０は、センサ測定値の取得および処理、センサ測定値の外部コントローラおよび／またはＤＣＳへの送信などのデータ取得および制御動作を行う。例えば、第１および第２のコントローラ２２８、２３０は、図１Ａのプロセス制御システム１０２に含まれ、第１のフィールドデバイス１１６、第２のフィールドデバイス１１８などを制御し、かつ／または監視し得る。
【００７３】
図２の第１および第２のコントローラ２２８、２３０は、端子ブロック２３４を介してＩ／Ｏモジュール２３２に電気的に結合されている。Ｉ／Ｏモジュール２３２は、端子ブロック２３４に取り外し可能に結合されている。図２のＩ／Ｏモジュール２３２はＣＨＡＲＭである。代替的に、データ取得および制御のために使用される任意の他のタイプの入力および／または出力モジュールを使用してもよい。各ＣＨＡＲＭは、第１および第２のコントローラ２２８、２３０の個々の入力および／または出力チャネルである。例えば、Ｉ／Ｏモジュール２３２の各々は、アナログ入力または出力チャネル、デジタル入力または出力チャネル、リレーチャネルなどであり得る。Ｉ／Ｏモジュール２３２の各々は、アナログ−デジタル（Ａ／Ｄ）変換回路、信号分離回路などを含み得る。
【００７４】
図２の示された例において、Ｉ／Ｏモジュール２３６の第１のものはＶＡモジュールである。いくつかの例において、ＶＡモジュール２３６は、ＤＣＳコントローラアセンブリ２２６と（１）ネットワーク１２６を介したＶＡ１００、（２）ビーコン１３４ａ〜ｇのうちの１つ以上、および／または（３）図１Ｂのウェアラブルデバイス１２８、１３０、１３２のうちの１つ以上との対話を容易にし得る。例えば、第１のウェアラブルデバイス１２８は、第１の要求２０１ａを第１のビーコン１３４ａに送信することができ、次に、クエリをＶＡモジュール２３６に送信し、ＶＡモジュール２３６は、次に図１Ａ〜図１Ｂのフィールドデバイス１１８に関連付けられた情報についてネットワーク１２６を介してＶＡ１００に照会し得る。このような例において、ＶＡモジュール２３６は、ＤＣＳコントローラアセンブリ２２６に含まれる大容量記憶ディスクまたは記憶デバイスに情報を格納し、かつ／または情報をユーザ１０４に通信し得る。例えば、ＶＡモジュール２３６は、ＶＡ１００とのユーザ１０４の対話（例えば、ユーザ１０４と情報を通信する、および／またはユーザ１０４から第１の要求２０１ａを取得する）を容易にし得る。例えば、ＶＡモジュール２３６は、１つ以上のスピーカおよび／または１つ以上のマイクロホンを含み得る。このような例において、ＶＡモジュール２３６は、１つ以上のマイクロホンを使用して、ユーザ１０４から第１の要求２０１ａを聞くおよび／または別の方法で取得し得る。ＶＡモジュール２３６は、１つ以上のスピーカを使用して、第１の要求２０１ａに対する応答をユーザ１０４に通信および／または送信し得る。
【００７５】
いくつかの例において、ＶＡモジュール２３６は、第１の要求２０１ａを、図１Ａ〜図１Ｂのネットワーク１２６を介してサーバボットフレームワーク２１０に送信され得る１つ以上のデジタル信号に転換する。サーバボットフレームワーク２１０が１つ以上のデジタル信号を受信することに応答して、サーバボットフレームワーク２１０は、パーサ２１４を介して１つ以上のデジタル信号をトークンに転換し、かつ／または変換し得る。サーバボットフレームワーク２１０は、トークンを分析し、トークンに基づいて応答を判定し、応答を１つ以上のデジタル信号に変換して、ネットワーク１２６、ＤＣＳコントローラアセンブリ２２６などを介してＶＡモジュール２３６に送信し得る。ＶＡモジュール２３６が１つ以上のデジタル信号を受信することに応答して、ＶＡモジュール２３６は、ＶＡモジュール２３６に含まれる１つ以上のスピーカを介して１つ以上のデジタル信号を音に変換して、ユーザ１０４に応答を通信する。
【００７６】
代替的に、ＶＡモジュール２３６の機能は、第１のコントローラ２２８または第２のコントローラ２３０のうちの少なくとも１つに組み込まれ、かつ／または統合されてもよい。例えば、１つ以上のマイクロホンおよび／または１つ以上のスピーカは、ＤＣＳコントローラアセンブリ２２６、第１のコントローラ２２８、および／または第２のコントローラ２３０に統合されてもよい。いくつかの例において、ＶＡモジュール２３６は、（例えば、有線接続、無線接続などを介して）ＤＣＳコントローラアセンブリ２２６のうちの少なくとも１つ、ビーコン１３４ａ〜ｇの１つ以上、および／またはＶＡ１００に通信可能に結合され得るスタンドアロンデバイスである
【００７７】
図２の示された例において、ＶＡ１００は、会話コンテキストに基づき、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２、ＤＣＳコントローラアセンブリ２２６などからの要求を管理し、かつ／または処理する会話コンテキストエンジン２２４を含む。例えば、ユーザ１０４は、ＤＣＳコントローラアセンブリ２２６の第１のコントローラ２２８、第２のコントローラ２３０などに関連付けられた情報および／またはステータスをＶＡ１００に求め得る。このような例において、ステータスは、第１のコントローラ２２８の健全性、第２のコントローラ２３０のファームウェアバージョン、Ｉ／Ｏモジュール２３６のうちの１つ以上の健全性などに対応し得る。いくつかの例では、会話はＶＡ１００との対話に対応する。例えば、会話は、ビーコン１３４ａ〜ｇ、ウェアラブルデバイス１２８、１３０、１３２、ＶＡモジュール２３６などを介してＶＡ１００から口頭で情報を通信および／または受信するユーザ１０４に対応し得る。他の例において、会話は、ホストアプリケーション１０６がＶＡ１００に要求を送信および／またはＶＡ１００から応答を受信することに対応し得る。いくつかの例において、会話コンテキストエンジン２２４は、１つ以上のプロセッサベースのサーバによって実装される。いくつかの例において、サーバボットフレームワーク２１０および会話コンテキストエンジン２２４は、同じ１つ以上のプロセッサベースのサーバによって実装される。他の例において、サーバボットフレームワーク２１０は、会話コンテキストエンジン２２４を実装する１つ以上のプロセッサベースのサーバとは別の１つ以上のプロセッサベースのサーバによって実装される。
【００７８】
いくつかの例において、会話コンテキストは、化学プラント、製造施設、油田環境などを含むプロセス産業に関連付けられた要求、応答などに対応する。いくつかの例において、会話コンテキストエンジン２２４および／またはより一般的にＶＡ１００は、図１Ａ〜図１Ｂのプロセス制御システム１０２に関連付けられたシステム構成に基づいて、会話コンテキストを使用して応答を生成し得る。例えば、会話コンテキストエンジン２２４は、プロセス制御デバイス構成（例えば、ＤｅｌｔａＶデータベース構成）、資産管理ソフトウェア（ＡＭＳ）データベース、レシピ、および／または他のプロセス関連情報に基づいて、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などからの要求に対する応答を生成し得る。
【００７９】
図２の会話コンテキストエンジン２２４は、サーバボットフレームワーク２１０によって処理された要求を処理し、かつ／または管理するための例示的な会話プロセッサ２３８、例示的なアクションプロセッサ２４０、および例示的な会話状態ハンドラ２４２を含む。例えば、会話コンテキストエンジン２２４は、プロセス制御システム１０２の構成に基づいてコンテキストを確立し、コンテキストに関連付けられたトピック（例えば、第１のフィールドデバイス１１６、第２のフィールドデバイス１１８などに関連付けられた要求など）を識別し、トピックに関連付けられた１つ以上のアクションを判定し得る。例えば、会話コンテキストエンジン２２４は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などからの要求２０１ａ〜ｂのコンテキストが図１Ａ〜図１Ｂのプロセス制御システム１０２であることを判定し得る。会話コンテキストエンジン２２４は、要求のコンテキストがプロセス制御システム１０２であると判定することに基づいて、プロセス中心の応答を調整し、かつ／または生成し得る。会話コンテキストエンジン２２４は、要求に含まれる識別されたトピックを図１Ａ〜図１Ｂのデータベース１２４、図２の会話コンテキストデータベース２４４にロードされた構成にマッピングすることにより、要求のコンテキストがプロセス制御システム１０２であることを判定し得る。このような例において、会話コンテキストエンジン２２４は、１つ以上のスクリプトを実行して、１つ以上のアクションを行い、トピックに関連付けられた情報などを返し、かつ／またはその組み合わせを行い得る。
【００８０】
図２の示された例において、会話コンテキストエンジン２２４は、会話プロセッサ２３８を含み、各タスクが１つ以上のアクションを含むスクリプトまたは自動化タスクの他のリストをアセンブルし、コンパイルし、かつ／または集約する。例えば、会話プロセッサ２３８は、サーバボットフレームワーク２１０を介してユーザ１０４から要求２０１ａ〜ｂを取得し得る。会話プロセッサ２３８は、要求に基づいて、１つ以上のアクション、１つ以上の返されるパラメータ（例えば、１つ以上の返されるパラメータの値）など、および／またはそれらの組み合わせを識別し得る。例えば、ユーザ１０４は、「ＦＶ−１０５を見せてください。」などの要求を発行し得る。サーバボットフレームワーク２１０は、要求を処理し、処理された要求を会話プロセッサ２３８に送信し得る。会話プロセッサ２３８は、要求を、指定子ＦＶ−１０５が割り当てられたフィールドデバイスに関連付けられた情報に対する要求として識別し得る。このような例において、会話プロセッサ２３８は、ＭＯＤＥ、ＯＵＴ、ＳＴＡＴＵＳなどを含むフィールドデバイスに関連付けられたパラメータを検索し、検索されたパラメータを応答に集約し、サーバボットフレームワーク２１０を介して応答をユーザ１０４に送信する。いくつかの例において、応答は、言葉によるコミュニケーションを介してユーザ１０４に通信される。いくつかの例において、応答は、ホストアプリケーション１０６を介してユーザ１０４に通信される（例えば、ディスプレイに応答を表示する、コンピューティングデバイスに結合されたスピーカと応答を通信するなど）。
【００８１】
図２の会話プロセッサ２３８は、例示的な会話コンテキストデータベース２４４から検索され、かつ／または取得された情報に基づいてスクリプトを集約する。いくつかの例において、会話プロセッサ２３８は、例示的なトピック２４６に基づく情報について会話コンテキストデータベース２４４に照会する。例えば、会話プロセッサ２３８は、フィールドデバイスの名前または説明、フィールドデバイスのタイプなどに基づいて、トピック２４６を会話コンテキストデータベース２４４に含まれる情報にマッピングし得る。このような例において、会話プロセッサ２３８は、フィールドデバイス（例えば、ＦＶ−１０５、ＦＩＣ−２０５など）の名前または説明を含むトピック２４６を、トピック２４６に関連付けられた例示的な構成２４８ａ、例示的なスクリプト２４８ｂなどにマッピングし得る。例えば、会話プロセッサ２３８は、第１のフィールドデバイス１１６に関連付けられたＦＶ−１０５のトピック２４６のＦＶ−１０５の会話コンテキストデータベース２４４へのマッピングに応答して、図１Ａ〜図１Ｂの第１のフィールドデバイス１１６のＭＯＤＥ、ＯＵＴ、およびＳＴＡＴＵＳパラメータを取得し得る。
【００８２】
いくつかの例において、会話プロセッサ２３８は、フィールドデバイスのタイプ（例えば、バルブ、圧力トランスミッタ、プロセスタンクなど）を含むトピック２４６を、トピック２４６に関連付けられた構成、スクリプトなどにマッピングする。例えば、会話プロセッサ２３８は、トピック２４６に一致し、かつ／または関連付けられるフィールドデバイスのリストを取得し得る。このような例において、会話プロセッサ２３８は、プロセス制御システム１０２の識別されたコンテキストに基づいて、「バルブ」のトピック２４６（例えば、「どのバルブが動作していますか？」などのユーザ１０４による要求）を対話コンテキストデータベース２４４にマッピングすることにより、図１ＡのＦＶ−１０１、ＦＶ−１０２、ＦＶ−１０３などを含むバルブのリストを取得し得る。
【００８３】
いくつかの例において、会話プロセッサ２３８は、トピック２４６に基づいて会話コンテキストデータベース２４４から１つ以上の例示的なアクション２５０を検索することによって、スクリプト、テンプレートなどを集約し、かつ／または生成する。例えば、会話プロセッサ２３８は、トピック２４６（例えば、名前、デバイスタイプなど）を会話コンテキストデータベース２４４にマッピングし得る。マッピングに基づいて、会話プロセッサ２３８は、会話コンテキストデータベース２４４から１つ以上のアクション２５０を検索し、検索されたアクション２５０に基づいてスクリプト、テンプレートなどを生成し得る。いくつかの例において、アクション２５０は基本的なアクションである。例えば、基本的なアクションは、バルブを開くための要求および、バルブを開くための対応するコマンドとしてのコマンドタイプのアクションに対する１対１の要求に対応し得る。他の例において、基本アクションは情報に対する要求（パラメータ値、安全性情報など）に対応し得る。例えば、基本的なアクションは、現在の安全アラートの要求および、１つ以上の安全アラートを含む対応する要求、または報告する安全アラートがないことの確認などの、１対１の情報要求に対応し得る。
【００８４】
いくつかの例において、アクション２５０は複合アクションである。例えば、複合アクションは、図１Ａ〜図１Ｂのプロセスタンク１２２を充填する要求などの２つ以上のアクションを含むワークフローに対応し得る。このような例において、複合アクションには、ＦＩ−２０１および／またはＦＩ−２０２を介した流量測定値を取得し、ＦＩ−２０６、ＦＩ−２０７、および／またはＦＩ−２０８を介したプロセスタンク１２２のレベルを計測しながら、図１Ａ〜図１ＢのＦＶ−１０１および／またはＦＶ−１０２を開くアクションを含む。例えば、会話プロセッサ２３８は、プロセスタンク１２２を充填する要求に関連付けられた複合アクションを取得し、関連アクション２５０を含む検索された複合アクションに基づいて複合アクションを実行するスクリプトを生成し得る。いくつかの例において、アクション２５０は、基本アクション、複合アクションなどを実行するスクリプトを含む。
【００８５】
図２の示された例において、会話コンテキストエンジン２２４は、会話プロセッサ２３８によって生成されたスクリプトを実行し、かつ／または容易にするアクションプロセッサ２４０を含む。いくつかの例において、アクションプロセッサ２４０は、図２のシステム２２２のうちの１つ以上と対話することにより、スクリプトまたはコマンド、命令などのセットを実行する。図２のシステム２２２は、例示的なプロセス制御システム２５２および例示的なプロセス制御ネットワークシステム２５４を含む。代替的に、システム２２２は、図２に示されているよりも少ないか、または多いシステムを含んでもよい。
【００８６】
図２のプロセス制御システム２５２は、例えば、構成要素の製造、化学原料の処理など、プロセス環境で行われる動作の側面を監視し、かつ／または制御するシステムである。例えば、図２のプロセス制御システム２５２は、図１Ａ〜図１Ｂのプロセス制御システム１０２に対応し得る。図２のプロセス制御システム２５２は、入力および出力を伴う少なくとも１つのコントローラ（例えば、第１のコントローラ２２８、第２のコントローラ２３０など）を含み、コントローラ（複数可）がさまざまな入力フィールドデバイスおよび／または機器から信号を取得し、さまざまな出力フィールドデバイスおよび／または機器を制御することを可能にし得る。例えば、図２のプロセス制御システム２５２は、少なくとも１つのＥｍｅｒｓｏｎ（商標）ＤｅｌｔａＶ（商標）コントローラを含むＥｍｅｒｓｏｎ（商標）ＤｅｌｔａＶ（商標）分散制御システム（ＤＣＳ）に対応し得る。
【００８７】
いくつかの例において、アクションプロセッサ２４０は、図２のプロセス制御システム２５２にコマンドを生成し、かつ／または送信することにより、スクリプトの実行を容易にする。例えば、アクションプロセッサ２４０は、図１Ａ〜図１Ｂの第１のフィールドデバイス１１６を開くコマンドを生成し、制御ループ１２０を管理するコントローラにコマンドを送信して、第１のフィールドデバイス１１６を開き得る。他の例において、アクションプロセッサ２４０は、図２のプロセス制御システム２５２によって同時にまたは連続して実行されるコマンドのセットを生成し得る。例えば、アクションプロセッサ２４０は、ＦＶ−１０１、ＦＶ−１０２、およびＦＶ−１０３を開き、図１Ａ〜図１Ｂに示すＦＰ−１０１などの流体ポンプ（ＦＰ）を無効にしながら（例えば、命令されたフィールドデバイスの物理的制限、伝搬遅延、処理遅延などに従って同時に）、図１Ａ〜図１Ｂのプロセスタンク１２２を実質的に同時に充填するコマンドセットを生成し得る。
【００８８】
いくつかの例において、アクションプロセッサ２４０は、プロセス制御システム２５２からの情報を要求することにより、スクリプト実行を容易にする。例えば、アクションプロセッサ２４０は、１つ以上のパラメータ値を含む第１のフィールドデバイス１１６に関連付けられた情報を取得し得る。例えば、アクションプロセッサ２４０は、ＭＯＤＥ、ＯＵＴ、ステータスなど、第１のフィールドデバイス１１６、第２のフィールドデバイス１１８に関連付けられたパラメータについて制御ループ１２０に照会し得る（例えば、制御ループ１２０を制御するコントローラに照会し得る）。クエリに応答して、アクションプロセッサ２４０は、１つ以上のパラメータ値を取得し、１つ以上のパラメータ値を応答にパッケージ化するために会話プロセッサ２３８に送信し得る。
【００８９】
図２のプロセス制御ネットワークシステム２５４は、プロセス制御システム２５２またはＶＡ１００の少なくとも一方に通信可能に結合されたシステムである。いくつかの例において、プロセス制御ネットワークシステム２５４は、複数のプロセス制御システムを監視し、かつ／または制御するクラウドベースのネットワークである。例えば、プロセス制御ネットワークシステム２５４は、複数のプロセス制御システムに含まれる複数のコントローラからのハードウェア通信プロトコルをＯＰＣプロトコルおよび／または任意の他の通信プロトコルに変換する１つ以上のオープンプラットフォームコミュニケーション（ＯＰＣ）サーバに対応し得る。いくつかの例において、プロセス制御ネットワークシステム２５４は、クラウドベースのデータストレージ、分析、ビッグデータ分析、深層機械学習などを行って、マルチプロセス制御環境のスケールモデリング、デジタルプロセス制御の高効率運用および自動化、予後健全性監視、構成要素信頼性分析、プロセス制御管理、および／または複数のプロセス制御システム（例えば、図１Ａ〜図１Ｂのプロセス制御システム１０２）によって取得され、かつ／または処理される情報に基づく最適化を可能にし得る。
【００９０】
いくつかの例において、アクションプロセッサ２４０は、コマンドを生成し、かつ／またはプロセス制御ネットワークシステム２５４に送信することにより、スクリプトの実行を容易にする。例えば、アクションプロセッサ２４０は、プロセス制御ネットワークシステム２５４に含まれるか、かつ／またはそれにより監視される２つ以上のプロセス制御システムの緊急シャットダウンを行うコマンドを生成し得る。例えば、アクションプロセッサ２４０は、プロセス制御ネットワークシステム２５４が緊急シャットダウンを行うために実装できるアクションのセットを生成し、かつ送信し得る。
【００９１】
いくつかの例において、アクションプロセッサ２４０は、プロセス制御ネットワークシステム２５４からの情報を要求することにより、スクリプトの実行を容易にする。例えば、アクションプロセッサ２４０は、プロセス制御ネットワークシステム２５４に照会して、第１のフィールドデバイス１１６に関連付けられた予後健全性監視情報を判定し得る。例えば、ユーザ１０４は、第１のフィールドデバイス１１６に残っているライフサイクルの量を推定するようにＶＡ１００に要求し得る。このような例において、アクションプロセッサ２４０は、プロセス制御ネットワークシステム２５４への第１のフィールドデバイス１１６に関連付けられた、シリアル番号、製造者部品番号、デバイスタイプ、行われたサイクルの数（例えば、バルブの開閉動作の数）、最後の保守イベントからの時間分などを含む情報を送信し得る。情報の受信に応答して、プロセス制御ネットワークシステム２５４は、情報を、実質的に同様の情報（例えば、同じ製造者部品番号、１００サイクルの許容範囲内のサイクル数、５日間以内などの時間分）を有する、以前に分析されたフィールドデバイスにマッピングし、以前に分析されたフィールドデバイスに関連付けられたデータに基づいて、故障率（例えば、平均故障率、故障率の範囲など）を判定し得る。少なくともマッピングおよび判定に応答して、プロセス制御ネットワークシステム２５４は、故障率および／または他の予後健全性監視情報をアクションプロセッサ２４０に送信し得、アクションプロセッサ２４０は、故障率および／または他の予後健全性監視情報を、サーバボットフレームワーク２１０への応答に含めるために会話プロセッサ２３８に送信し得る。例えば、アクションプロセッサ２４０は、予想される故障までの時間分、予想される故障までのサイクル数などを含む故障率を、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２に送信し得る。このような例において、アクションプロセッサ２４０は、故障率、差し迫った故障などに基づいて安全アラートを送信し得る。
【００９２】
図２の示された例において、会話コンテキストエンジン２２４は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などによって開始された会話の状態を格納し、かつ／または維持する会話状態ハンドラ２４２を含む。いくつかの例において、会話状態は要求に基づいて識別されたトピックに対応する。例えば、会話状態ハンドラ２４２は、ＦＶ−１０５などのトピックを会話状態に割り当ておよび／または他の方法で関連付け得る。このような例において、会話状態ハンドラ２４２は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などが、ＦＶ−１０５のトピックに関する情報の追加的な詳細またはレベルを要求し、トピックに関してより深くドリルするか、またはトピックを使用してＦＩＣ−２０５、ＦＩ−２０５などの関心のある別のトピック（例えば、関連トピック）に分岐するか、または遷移することを可能にし得る。例えば、会話状態ハンドラ２４２は、会話状態を参照して応答を生成し、かつ／またはパッケージ化することにより追加要求を処理するために会話プロセッサ２３８により使用される計算能力を削減し得る。例えば、会話プロセッサ２３８は、ＦＶ−１０５によって完了され得る追加のアクションをユーザ１０４に提供し、ＦＶ−１０５に通信可能に結合された追加の構成要素をユーザ１０４に通知するなど、ベースラインまたは開始点から作業せずに要求を処理する代わりに、会話状態について会話状態ハンドラ２４２に照会し得る。
【００９３】
いくつかの例において、会話状態は、アクションプロセッサ２４０によって実行されているスクリプトのステータス（例えば、完了ステータス）に対応する。例えば、アクションプロセッサ２４０は、図１Ａ〜図１Ｂの第１のフィールドデバイス１１６を実質的に同様のフィールドデバイス（例えば、同じモデル、製造者部品番号、動作定格、危険区域の分類などのフィールドデバイス）で置き換える方法に関するステップバイステップの命令のユーザ１０４への提供などのワークフローを実行し得る。このような例において、アクションプロセッサ２４０は、アクションプロセッサ２４０によって実行されている現在または瞬間のステップまたは動作、実行される後続のステップまたは動作、実行されるステップまたは動作の合計数などを会話状態ハンドラ２４２に送信し得る。アクションプロセッサ２４０からの情報の受信に応答して、会話状態ハンドラ２４２は、情報を会話プロセッサ２３８に提供して、ユーザ１０４への応答を生成し得る。例えば、会話状態ハンドラ２４２は、実行される次のステップまたは動作、完了ステータス（例えば、完了するべきステップの量、ステップを完了するための推定時間分など）などを会話プロセッサ２３８に送信し得、会話状態ハンドラ２４２から受信した情報に基づいて、会話プロセッサ２３８が応答を生成し、ユーザ１０４に通信し得る。
【００９４】
いくつかの例において、会話状態ハンドラ２４２は会話状態を修正するか、または更新する。例えば、会話状態ハンドラ２４２は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２、ＤＣＳコントローラアセンブリ２２６などによって要求された新しいトピックに基づいて会話状態を更新し得る。会話状態ハンドラ２４２は、ユーザ１０４がＦＶ−１０６に関する情報を求めることに基づいて、会話状態をＦＶ−１０５からＦＶ−１０６に変更し得る。いくつかの例において、会話状態ハンドラ２４２は会話状態をキャンセルするか、または削除する。例えば、会話状態ハンドラ２４２は、ＶＡ１００との会話をキャンセルするユーザ１０４のうちの少なくとも１人に基づいて、ＦＶ−１０５を会話状態から分離し、かつ／またはＦＶ−１０５の会話状態をキャンセルし、ＦＶ−１０４などの別のフィールドデバイス、またはＦＶ−１０５に対応する追加情報が不要であることをＶＡ１００に通知するユーザ１０４に関する情報を尋ね得る。
【００９５】
いくつかの例において、会話状態ハンドラ２４２は推測的に新しいトピックに分岐するか、または遷移する。例えば、会話状態ハンドラ２４２は、ユーザ１０４が第１のビーコン１３４ａの第１のカバレッジエリアを離れ、第２のビーコン１３４ｂの第２のカバレッジエリアに入ったことを判定し得る。このような例において、会話状態ハンドラ２４２は、第２のカバレージエリアに含まれる１つ以上のフィールドデバイスに基づいてプロセス制御ネットワークシステム２５４に照会して関心のある次だと思われるトピックを判定するようアクションプロセッサ２４０に命令し得る。
【００９６】
いくつかの例において、会話状態ハンドラ２４２は、ユーザ１０４、ホストアプリケーション１０６などが、プロセスタンク１２２の充填に関連付けられたトピックに関連付けられたすべての可能な、または潜在的な応答を使い果たしたと判定すると、会話状態ハンドラ２４２は推測的に新しいトピックに分岐する。このような例において、会話状態ハンドラ２４２は、プロセス制御ネットワークシステム２５４に照会して、関心のある次だと思われるトピックを判定するようアクションプロセッサ２４０に命令し得る。例えば、プロセス制御ネットワークシステム２５４は、機械学習アルゴリズムを行い、かつ／または実行して、他のプロセス制御システム（例えば、図１Ａ〜図１Ｂのプロセス制御システム１０２の外部の１つ以上のプロセス制御システム）のプロセスタンクを充填した後に選択されたトピックを判定し得る。例えば、プロセス制御ネットワークシステム２５４は、プロセスタンクを空にすることに関連付けられたトピックが、プロセスタンクの充填後かなりの時間（例えば、時間の４０％、時間の７５％など）で選択されたことを判定し得る。このような例において、プロセス制御ネットワークシステム２５４は、アクションプロセッサ２４０を介して、推測的に識別されたトピックを会話状態ハンドラ２４２に送信し得る。このような例において、会話状態ハンドラ２４２は、新しいトピックを会話コンテキストデータベース２４４に含まれる１つ以上のアクション、１つ以上の構成、１つ以上のスクリプトなどにマッピングするよう会話プロセッサ２３８に命令し得る。
【００９７】
新しいトピックを推測的にフェッチすることにより、会話プロセッサ２３８は、ユーザ１０４が新しいトピックに関連付けられた要求を発行した場合、ユーザ１０４に応答を提供し得る。会話プロセッサ２３８は、会話プロセッサ２３８がアイドル状態であり、要求を処理していない可能性がある期間などの間、次のステップを予測し、かつ／またはユーザ１０４よりも先に進むことを試み得る。いくつかの例において、会話プロセッサ２３８は、推測的にフェッチされたトピックに関連付けられたアクションを実行するようユーザ１０４に促す。例えば、ユーザ１０４は、アクションを実行するのを忘れた可能性があり、推測的にフェッチされたトピックに関してＶＡ１００によって促されることによりアクションを実行するように思い出さされる。ユーザ１０４が推測的にフェッチされたトピックとは異なるトピックに関連付けられた要求を発行する場合、会話プロセッサ２３８は、ユーザ１０４が推測的にフェッチされたトピックを選択するかどうかを判定するように促すことができる。代替的に、ユーザ１０４が推測的にフェッチされたトピックの選択を拒否する場合、会話プロセッサ２３８は、推測的にフェッチされたトピックを要求されたトピックに置き換えるように会話状態ハンドラ２４２に指示し得る。
【００９８】
図２に示された例において、会話コンテキストエンジン２２４は、例示的なコンテナリポジトリ２５６などの外部コンピューティングシステム上でインスタンス化される会話をサポートし得る。コンテナリポジトリ２５６は、コード、ランタイム、システムツール、システムライブラリおよび設定など、ソフトウェアの実行に必要なすべてを含む、ソフトウェアの軽量でスタンドアロンの実行可能パッケージに対応するコンテナまたはコンテナイメージを含む。コンテナは、例えば開発環境とステージング環境との違いなど、ソフトウェアをソフトウェア環境から隔離する。
【００９９】
いくつかの例において、会話コンテキストエンジン２２４は、コンテナリポジトリ２５６に照会して、トピック（例えば、長期実行ワークフロー、複合トピックなど）にトピックを実行できる対応するコンテナがあるかどうかを判定する。トピックに対応するコンテナがあると判定することに応答して、会話コンテキストエンジン２２４は、対応するコンテナにトピックを実行するよう命令し得る。例えば、コンテナリポジトリ２５６内のコンテナは、ソフトウェア（例えば、機械可読命令）を実行して、トピックに関連付けられたアクションを実行し得る。コンテナは、コマンドをシステム２２２に、会話状態を会話コンテキストエンジン２２４に、会話コンテキストエンジン２２４を介するなどして通知をユーザ１０４に送信し得る。このような例において、会話コンテキストエンジン２２４は、外部システム（例えば、コンテナリポジトリ２５６内のコンテナ、１つ以上のシステム２２２など）に複合トピックを委任し、かつ／またはオフロードして、会話コンテキストエンジン２２４の処理利用、メモリリソース、ストレージリソースなどを削減し得る。
【０１００】
図１Ａ〜図１ＢのＶＡ１００を実装する例示的な方法が図２に示されているが、図２に示されている要素、プロセス、および／またはデバイスの１つ以上は、組み合わされ、分割され、再配置され、省略され、削除され、かつ／または他の方法で実装されてもよい。さらに、図２の例示的なサーバボットフレームワーク２１０、例示的なフレームワークコントローラ２１２、例示的なパーサ２１４、例示的なアナライザ２１６、例示的なジェネレータ２１８、例示的な実行部２２０、例示的な会話コンテキストエンジン２２４、例示的な会話プロセッサ２３８、例示的なアクションプロセッサ２４０、例示的な会話状態ハンドラ２４２、例示的な会話コンテキストデータベース２４４、例示的なトピック２４６、例示的な構成２４８ａ、例示的なスクリプト２４８ｂ、例示的なアクション２５０、および／またはより一般的には、例示的なＶＡ１００は、ハードウェア、ソフトウェア、ファームウェア、および／またはハードウェア、ソフトウェア、および／またはファームウェアの任意の組み合わせによって実装され得る。したがって、例えば、例示的なサーバボットフレームワーク２１０、例示的なフレームワークコントローラ２１２、例示的なパーサ２１４、例示的なアナライザ２１６、例示的なジェネレータ２１８、例示的な実行部２２０、例示的な会話コンテキストエンジン２２４、例示的な会話プロセッサ２３８、例示的なアクションプロセッサ２４０、例示的な会話状態ハンドラ２４２、例示的な会話コンテキストデータベース２４４、例示的なトピック２４６、例示的な構成２４８ａ、例示的なスクリプト２４８ｂ、例示的なアクション２５０、および／またはより一般的には、例示的なＶＡ１００のいずれかは、１つ以上のアナログまたはデジタル回路（複数可）、論理回路、プログラマブルプロセッサ（複数可）、プログラマブルコントローラ（複数可）、グラフィックス処理ユニット（複数可）（ＧＰＵ（複数可））、デジタルシグナルプロセッサ（複数可）（ＤＳＰ（複数可））、特定用途向け集積回路（複数可）（ＡＳＩＣ（複数可））、プログラマブルロジックデバイス（複数可）（ＰＬＤ（複数可））、および／またはフィールドプログラマブルロジックデバイス（複数可）（ＦＰＬＤ（複数可））によって実装され得る。本特許の装置またはシステムの特許請求の範囲のいずれかを読んで、純粋にソフトウェアおよび／またはファームウェアの実装態様、例示的なサーバボットフレームワーク２１０のうちの少なくとも１つ、例示的なフレームワークコントローラ２１２、例示的なパーサ２１４、例示的なアナライザ２１６、例示的なジェネレータ２１８、例示的な実行部２２０、例示的な会話コンテキストエンジン２２４、例示的な会話プロセッサ２３８、例示的なアクションプロセッサ２４０、例示的な会話状態ハンドラ２４２、例示的な会話コンテキストデータベース２４４、例示的なトピック２４６、例示的な構成２４８ａ、例示的なスクリプト２４８ｂ、および／または例示的なアクション２５０は、本明細書において、非一時的なコンピュータ可読記憶デバイスまたは、メモリ、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙ（登録商標）ディスク（ソフトウェアおよび／またはファームウェアを含む）などの記憶ディスクを含むように明示的に定義される。さらに、図１Ａ〜図１Ｂの例示的なＶＡ１００は、図２に示すものに加えて、またはその代わりに、１つ以上の要素、プロセス、および／またはデバイスを含んでもよく、かつ／または、説明されている要素、プロセス、およびデバイスのいずれかまたはすべてのうち、２つ以上を含んでもよい。本明細書で使用される「通信中」という句は、その変形例を含めて、直接通信および／または１つ以上の中間構成要素を介した間接通信を包含し、直接の物理（例えば有線）通信および／または常時通信を必要とせず、むしろさらに、定期的な間隔、スケジュールされた間隔、非周期的な間隔、および／または１回限りのイベントでの選択的な通信を含む。
【０１０１】
図３は、図１Ａ〜図１Ｂのプロセス制御システム１０２のプロセスタンク１２２に対応する例示的なプロファイル３００の例示的な表を示す。プロファイル３００は、図１Ａ〜図１Ｂのデータベース１２４、図２の会話コンテキストデータベース２４４などにおいてロードされるプロセス制御システム１０２の構成の一部に対応し得る。例えば、プロファイル３００は、トピックに対応し得る。このような例において、プロファイル３００は、プロセス制御システム１０２のコンテキストに基づいて、図１Ａ〜図１Ｂのプロセスタンク１２２のトピックに対応する。いくつかの例において、図１Ａ〜図２のＶＡ１００は、図１Ａ〜図１Ｂのプロセス制御システム１０２に関連付けられた構成を会話コンテキストデータベース２４４にロードすることにより初期化される。構成は、プロセス制御システム１０２の１つ以上の構成要素に関連付けられた情報を含んでもよい。例えば、構成は、第１のフィールドデバイス１１６、第２のフィールドデバイス１１８などに関連付けられた１つ以上のパラメータを含み得る。構成は、制御ループ１２０に含まれるフィールドデバイスに関する情報を含み得る。
【０１０２】
いくつかの例において、構成には、フィールドデバイス、制御ループなどの間の関連付け、および／またはそれらの組み合わせが含まれる。例えば、構成は、ＦＩ−２０７、ＦＩＣ−２０７、およびＦＶ−１０６の物理的な結合（例、配線図、ケーブルスケジュール、終端回路図など）、通信可能な結合（通信プロトコルアドレス指定スキーム、インターネットプロトコル（ＩＰ）アドレステーブルなど）などの方法の説明を含み得る図１Ａ〜図１ＢのＦＩ−２０７、ＦＩＣ−２０７、およびＦＶ−１０６間の関連付けまたは関係を含み得る。いくつかの例において、構成は、図３のプロファイル３００を含む複数のプロファイル、複数のプロファイルのうちの１つとの関連付け（例えば、１つのプロファイルの別のプロファイルへの依存性）などを含む。
【０１０３】
いくつかの例において、会話プロセッサ２３８はプロファイル３００を生成する。例えば、会話プロセッサ２３８は、ユーザ１０４、ホストアプリケーション１０６などからの図２の要求２０１ａ〜ｂに含まれるトピックを識別し得、トピックは第１のフィールドデバイス１１６、プロセスタンク１２２である。このような例において、会話プロセッサ２３８は、第１のフィールドデバイス１１６のトピックを、ルックアップテーブルまたは会話コンテキストデータベース２４４に含まれる他のデータ構造にマッピングし得る。言い換えれば、会話プロセッサ２３８は、会話コンテキストデータベース２４４に含まれるルックアップテーブルまたは任意の他のデータ構造への第１のフィールドデバイス１１６のマッピングし、かつ／またはマッピングを実行し得る。いくつかの例において、ルックアップテーブルは構成に基づいている。例えば、ルックアップテーブルは、第１のフィールドデバイス１１６と、第１のフィールドデバイス１１６に関連付けられた１つ以上のパラメータに対応する１つ以上のパラメータ、実行され、かつ／または実装され得る１つ以上のアクションとの関連付けを含み得る。会話プロセッサ２３８は、会話コンテキストデータベース２４４から１つ以上のパラメータ、１つ以上のアクションなどを検索し、１つ以上のパラメータ、および１つ以上のアクションなどのうちの少なくとも１つに基づいて、プロファイル（例えば、図３のプロファイル３００）を生成し得る。会話プロセッサ２３８は、将来の処理のためにプロファイル３００を会話コンテキストデータベース２４４に格納し得る。
【０１０４】
図３に示された例において、プロファイル３００は、例示的なレベル３０２、例示的なカテゴリ３０４、例示的なパラメータ３０６、例示的なタグ３０８、および例示的な説明３１０などのフィールドを含む。図３のプロファイル３００は、プロセスタンク１２２に関連付けられた情報をＶＡ１００によるアクセスの階層または順序に編成するレベル３０２を含む。例えば、第１のレベル（Ｌ１）は、要求に応答して図１Ａ〜図２のユーザ１０４、ホストアプリケーション１０６などに提供される情報の第１の層に対応し得る。例えば、ユーザ１０４は、図２のモバイルアプリケーション２０２を介して「プロセスタンクを見せてください」などの要求を発行し得る。このような例において、ＶＡ１００は、モバイルアプリケーションを介してＬ１に含まれる情報をユーザ１０４に表示し（例えば、モバイルアプリケーション２０２を動作させるモバイルデバイスのディスプレイに情報を表示し）得る。他の例において、ＶＡ１００は、Ｌ１に含まれる情報（例えば、ホストアプリケーション１０６に結合されたスピーカを介した口頭の声明）を、ホストアプリケーション１０６を介してユーザ１０４に通信し得る。「プロセスタンクについての追加情報を表示してください」または「プロセスタンクについて詳しく教えてください」などの追加情報を要求するユーザ１０４に応答して、ＶＡ１００は、第２のレベル（Ｌ２）に含まれる情報を、可聴通信、ホストアプリケーション１０６などを介して、ユーザ１０４に送信し、通信するなどし得る。代替的に、プロファイル３００は、図３に示されるよりも少ないまたは多いレベル３０２を含み得る。
【０１０５】
図３に示された例において、プロファイル３００は、要求されている情報の頻度またはプロセスタンク１２２の構成要素の少なくとも１つに基づいてプロセスタンク１２２に関連付けられた情報を整理するカテゴリ３０４を含む。例えば、カテゴリ３０４は、プロファイル３００に含まれる情報が要求される頻度に対応し得る。例えば、カテゴリ３０４は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２、ＤＳＣコントローラアセンブリ２２６などによって要求されている情報の頻度に対応する、共通、標準、非共通、まれなどの値を有し得る。他の例において、カテゴリ３０４は、プロセスタンク１２２のサージドラムなどのプロセスタンク１２２の構成要素に対応し得る。代替的に、プロファイル３００は、図３に示されるよりも少ないか、または多いカテゴリ３０４を含み得る。
【０１０６】
図３の示された例において、プロファイル３００は、図１Ａ〜図１Ｂのプロセスタンク１２２の対応するレベル３０２またはカテゴリ３０４のうちの少なくとも１つに関連付けられた値を表すパラメータ３０６を含む。図３のプロファイル３００では、パラメータ３０６は、容器レベル、容器圧力、流入／流出、温度、および容器温度を含む。例えば、ＶＡ１００は、プロセスタンク１２２に関する初期照会の受信に応答して、容器レベルパラメータに関連付けられた情報をユーザ１０４に返すことができる。例えば、容器レベルパラメータは、図１Ａ〜図１ＢのＦＩ−２０６、ＦＩ−２０８などによって測定された値に対応し得る。
【０１０７】
図３に示された例において、プロファイル３００は、少なくともパラメータ３０６に関連付けられた指定子（例えば、プロセス制御指定子）を表すタグ３０８を含む。いくつかの例において、タグ３０８はソフトウェア指定子である。例えば、タグ３０８は、プロセスタンク１２２に関連付けられた容器レベルパラメータに割り当てられた通信プロトコル、プロセス制御スキーマなどのアドレスおよび／またはラベルに対応し得る。いくつかの例において、タグ３０８は、物理的指定子である（例えば、プロセスタンク１２２に結合された物理的タグ、タグを含むか描写するプロセスタンク１２２に貼付されたラベルなど）。例えば、容器レベルパラメータにはＬ  ＸＸ２７のタグが割り当てられる。このような例において、ＶＡ１００は、プロセスタンク１２２に関連付けられた情報を要求するユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などに応答して、少なくとも容器レベルパラメータに関連付けられたタグ３０８を返すことができる。
【０１０８】
図３に示された例において、プロファイル３００は、要求に応答して提供され得る追加情報を表す説明３１０を含む。例えば、説明３１０に含まれる情報は、ユーザ１０４が少なくともパラメータ３０６に関連付けられた追加情報を要求することに応答して、ユーザ１０４への応答にパッケージ化され得る。例えば、ユーザ１０４はＶＡ１００に「プロセスタンクのレベルは？」と尋ね得る。要求に応えて、ＶＡ１００は「Ｌ  ＸＸ２７のタグを持つ容器レベルは８０％満杯です。」と口頭で応答し得る。ユーザ１０４は、「レベルに関する詳細情報を提供してください」というフォローアップ要求を発行し得る。ＶＡ１００は、「容器レベルはノックアウトポットの最も重要なパラメータです。」と応答し得る。追加的または代替的に、説明３１０に含まれる情報、および／またはより一般的には、図３のプロファイル３００は、ホストアプリケーション１０６上に表示され得る。他の例において、ユーザ１０４は「サージドラムについて教えてください。」という要求を発行し得る。要求に応答して、ＶＡ１００は流／入／流出パラメータおよび／または対応するタグの値を口頭で応答し得る。ＶＡ１００は、「要求された場合」の対応する説明に基づいて温度パラメータおよび／または温度タグを返さない場合がある。例えば、ＶＡ１００は、ユーザ１０４によって要求されない限り、サージドラムの温度に関連付けられた情報を返さない場合がある。
【０１０９】
図４は、図３の例示的なプロファイル３００に対応する第１の例示的な視覚化４００の概略図である。図４の第１の視覚化４００は、図３のプロファイル３００のＬ１に関連付けられた第１のレベルの視覚化に対応する。代替的に、第１の視覚化４００は異なるレベルに対応してもよい。第１の視覚化４００は、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２などからの図２の要求２０１ａ〜ｂに応答して、図１Ａ〜図２のホストアプリケーション１０６を介して表示され得る。第１の視覚化４００は、図１Ａ〜図１Ｂのプロセスタンク１２２の概略図を含む。第１の視覚化４００は、図３のプロファイル３００のＬ１に関連付けられたタグ３０８を含む。例えば、第１の視覚化４００は、容器レベルパラメータ（Ｌ  ＸＸ２７）、容器圧力パラメータ（Ｐ  ＸＸ２７）、および流入／流出パラメータ（Ｆ  ＸＸ２７）に関連付けられたタグ３０８を含む。いくつかの例において、追加情報に対する要求に基づいて、ＶＡ１００によって第１の視覚化４００を更新し得る。例えば、温度パラメータ（Ｔ  ＸＸ２７）に関連付けられたタグ３０８は、プロセスタンク１２２の追加情報に対する要求に応答して、第１の視覚化４００上に表示し得る。
【０１１０】
図５は、図３の例示的なプロファイル３００に対応する第２の例示的な視覚化５００の概略図である。図５の第２の視覚化５００は、図３のプロファイル３００のＬ２に関連付けられた第２のレベルの視覚化に対応する。図５では、第２の視覚化５００は、プロファイル３００の第１および第２のレベルに関連付けられた情報を含む。代替的に、第２の視覚化５００は、プロファイル３００の第２のレベルのみに関連付けられた情報を描写してもよい。
【０１１１】
第２の視覚化５００は、ユーザ１０４、ホストアプリケーション１０６などからの要求に応答して、図１Ａ〜図２のホストアプリケーション１０６を介して表示され得る。第２の視覚化５００は、図１Ａ〜図１Ｂのプロセスタンク１２２の図を含む。第２の視覚化５００は、図３のプロファイル３００の第１のレベルおよび第２のレベルに関連付けられたタグ３０８を含む。例えば、第２の視覚化５００は、容器レベルパラメータ（Ｌ  ＸＸ２７）、容器圧力パラメータ（Ｐ  ＸＸ２７）、流入／流出パラメータ（Ｆ  ＸＸ２７）、温度パラメータ（Ｔ  ＸＸ２７）、および容器温度パラメータ（Ｔ  ＸＸ２７）に関連付けられたタグ３０８を含む。例えば、ユーザ１０４は、プロセスタンク１２２に関連付けられた情報をＶＡ１００に要求し得る。ＶＡ１００は、図４の第１の視覚化４００に示されるタグ３０８を含む第１の応答を生成し得る。例えば、ホストアプリケーション１０６は、第１の応答に基づいて、図４に示されるタグ３０８を含む第１の視覚化４００を表示し得る。ユーザ１０４は、プロセスタンク１２２に対応する追加情報をＶＡ１００に要求し得る。要求に応答して、ＶＡ１００は、図５の第２の視覚化５００に示されたタグ３０８を含む第２の応答を生成し得る。例えば、ホストアプリケーション１０６は、第２の応答に基づいて、図５に示されるタグ３０８を含む第２の視覚化５００を表示し得る。例えば、ホストアプリケーション１０６は、第１の視覚化４００を第２の視覚化５００で置き換え得る。代替的に、ホストアプリケーション１０６は、図５の追加タグ３０８を第１の視覚化４００に追加し得る。
【０１１２】
図１Ａ〜図２のＶＡ１００を実装するための例示的なハードウェアロジック、機械可読命令、ハードウェア実装状態機械、および／またはそれらの任意の組み合わせを表すフローチャートを図６〜図７に示す。機械可読命令は、図８に関連して以下で説明される例示的なプロセッサプラットフォーム８００に示されるプロセッサ８１２などのコンピュータプロセッサによる実行のための実行可能プログラムまたは実行可能プログラムの一部であってもよい。プログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、またはプロセッサ８１２に関連付けられたメモリなどの非一時的なコンピュータ可読記憶媒体に格納されたソフトウェアで具現化されてもよいが、プログラム全体および／またはその一部は、代替的に、プロセッサ８１２以外のデバイスによって実行され、かつ／またはファームウェアまたは専用ハードウェアで具現化され得る。さらに、図６〜図７に示されるフローチャートを参照して例示的なプログラムが説明されるが、例示的なＶＡ１００を実装する多くの他の方法が代替的に使用されてもよい。例えば、ブロックの実行順序が変更されてもよく、かつ／または説明したブロックのいくつかが変更されるか、削除されるか、または組み合わされ得る。追加的または代替的に、ブロックのいずれかまたはすべては、ソフトウェアまたはファームウェアを実行せずに対応する動作を実行するように構成されている、１つ以上のハードウェア回路（例えば、個別および／または統合アナログおよび／またはデジタル回路、ＦＰＧＡ、ＡＳＩＣ、コンパレータ、演算増幅器（オペアンプ）、論理回路など）によって実装されてもよい。
【０１１３】
上述のように、図６〜図７の例示的なプロセスは、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および／または、情報が任意の期間（例えば、一時的なバッファリング、および／または情報のキャッシュのために、長時間、永続的に、短時間インスタンスで）保存される任意の他の記憶デバイスまたは記憶ディスクなどの、非一時的なコンピュータおよび／または機械可読媒体に格納された実行可能命令（例えば、コンピュータおよび／または機械可読命令）を使用して実装されてもよい。本明細書で使用される用語「非一時的なコンピュータ可読媒体」は、任意のタイプのコンピュータ可読記憶デバイスおよび／または記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外すると明確に定義される。
【０１１４】
「含む」および「備える」（およびそのすべての形式および時制）は、本明細書では開放形式の用語であるように使用される。したがって、特許請求項がプリアンブルとして、またはあらゆる種類の特許請求項記述内で「含む」または「備える」のいずれかの形式を使用する場合（例えば、備える、含む、備える、含む、有するなど）、追加の要素、用語などが、対応する特許請求項または記述の範囲から外れることなく存在する場合があることが理解されるべきである。本明細書で使用されるように、「少なくとも」の句が、例えば特許請求項のプリアンブルで移行用語として使用される場合、「備える」および「含む」という用語が開放形式であるのと同じ様式で開放形式である。例えば、Ａ、Ｂ、および／またはＣなどの形で使用される場合の「および／または」という用語は、（１）Ａのみ、（２）Ｂのみ、（３）Ｃのみ、（４）ＡとＢ、（５）ＡとＣ、（６）ＢとＣ、および（７）ＡとＢおよびＣとの組み合わせなどのＡ、Ｂ、Ｃの任意の組み合わせまたはサブセットを指す。構造、構成要素、アイテム、オブジェクト、および／または物事を説明する文脈において本明細書で使用されるように、「ＡおよびＢの少なくとも１つ」という句は、（１）少なくとも１つのＡ、（２）少なくとも１つのＢ、ならびに（３）少なくとも１つのＡおよび少なくとも１つのＢのうちのいずれかを含む実装態様指すことが意図される。同様に、構造、構成要素、アイテム、オブジェクト、および／または物事を説明する文脈において本明細書で使用されるように、「ＡまたはＢのうちの少なくとも１つ」という句は、（１）少なくとも１つのＡ、（２）少なくとも１つのＢ、ならびに（３）少なくとも１つのＡおよび少なくとも１つのＢのうちのいずれかを含む実装態様を指すことが意図される。プロセス、命令、アクション、アクティビティ、および／またはステップの実施または実行を説明する文脈において本明細書で使用されるように、「ＡおよびＢの少なくとも１つ」という句は、（１）少なくとも１つのＡ、（２）少なくとも１つのＢ、ならびに（３）少なくとも１つのＡおよび少なくとも１つのＢのうちのいずれかを含む実装態様を指すことが意図される。同様に、プロセス、命令、アクション、アクティビティ、および／またはステップの実施または実行を説明する文脈において本明細書で使用されるように、「ＡまたはＢの少なくとも１つ」という句は、（１）少なくとも１つのＡ、（２）少なくとも１つのＢ、および（３）少なくとも１つのＡと少なくとも１つのＢのうちのいずれかを含む実装態様を指すことが意図される。
【０１１５】
図６は、要求に基づいてスクリプトを生成し、かつ実行するために図１Ａ〜図２のＶＡ１００を実装するために実行されてもよい例示的な機械可読命令６００を表すフローチャートである。機械可読命令６００は、ブロック６０２で始まり、ＶＡ１００は、要求が受信されたかどうかを判定する。例えば、図２のフレームワークコントローラ２１２は、図１Ａの第１のフィールドデバイス１１６を開くために、ユーザ１０４がウェアラブルデバイス１２８、１３０、１３２のうちの１つ、ＤＣＳコントローラアセンブリ２２６などを介して図２の第１の要求２０１ａをＶＡ１００に発行したことを判定し得る。他の例において、フレームワークコントローラ２１２は、ホストアプリケーション１０６が第１のフィールドデバイス１１６を開くためにＶＡ１００への第２の要求２０１ｂを生成したと判定し得る。
【０１１６】
ブロック６０２において、要求が受信されていないとＶＡ１００が判定する場合、ＶＡ１００は要求を待ち続ける。ブロック６０２において、要求を受信されたとＶＡ１００が判定する場合、ブロック６０４において、ＶＡ１００は、要求を解析する。例えば、図２のパーサ２１４は、要求２０１ａ〜ｂを１つ以上のトークンに解析し得る。ブロック６０４における要求の解析に応答して、ＶＡ１００は、ブロック６０６において要求を検証する。例えば、図２のアナライザ２１６は、１つ以上のトークンを有効なトークンと比較し得る。
【０１１７】
ブロック６０８において、ＶＡ１００は、要求が検証されているかどうかを判定する。例えば、アナライザ２１６は、分析されたトークンと有効なトークンとの比較に基づいて、１つ以上のトークンが無効である、トークンの順序が有効な順序ではないなどを判定することにより、要求２０１ａ〜ｂが無効であることを判定し得る。他の例において、アナライザ２１６は、有効なトークンとして識別されている分析されたトークンの１つ以上に基づいて、要求２０１ａ〜ｂが有効であることを判定し得る。言い換えれば、アナライザ２１６は、検証されたトークンの識別に基づいて、要求２０１ａ〜ｂが有効であることを判定し得る。
【０１１８】
ブロック６０８において、要求が検証されていないとＶＡ１００が判定する場合、制御はブロック６１０に進み、明確化要求を生成および送信する。例えば、図２のジェネレータ２１８は、明確化要求を生成し、明確化要求をユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２の１つなどに送信し得る。このような例において、明確化要求は、要求を繰り返す、要求を言い換える、別の要求を提供するなどのプロンプトを含み得る。明確化要求の生成と送信に応答して、制御は、ブロック６０２において別の要求を受信するかどうかを判定するために戻る。
【０１１９】
ブロック６０８において、要求が検証されているとＶＡ１００が判定する場合、ブロック６１２において、ＶＡ１００は、会話状態が利用可能かどうかを判定する。例えば、会話プロセッサ２３８は、図２の会話状態ハンドラ２４２に照会して、会話がインスタンス化され、かつ／または初期化されているかどうかを判定し得る。このような例において、会話プロセッサ２３８は、会話状態がインスタンス化されておらず、対応する会話状態が会話状態ハンドラ２４２によって保存され、かつ／または管理されていないことに基づいて、会話状態が利用可能でないと判定し得る。他の例において、会話プロセッサ２３８は、会話がインスタンス化されており、対応する会話状態が会話状態ハンドラ２４２によって保存され、かつ／または管理されていることに基づいて会話状態が利用可能であると判定し得る。例えば、会話状態ハンドラ２４２は、トピック、スクリプトの完了ステータス、アクションプロセッサ２４０によって実行されているアクションなどの会話状態を会話プロセッサ２３８に送信し得る。
【０１２０】
ブロック６１２において、会話状態が利用可能であるとＶＡ１００が判定する場合、制御はブロック６１６に進み、トピックを識別する。ブロック６１２において、会話状態が利用可能でないとＶＡ１００が判定する場合、ブロック６１４において、ＶＡ１００は会話状態を確立する。例えば、会話プロセッサ２３８は、会話を初期化し、対応する会話状態を会話状態ハンドラ２４２に送信し得る。会話状態の確立に応答して、ＶＡ１００はブロック６１６において、トピックを識別する。例えば、会話プロセッサ２３８は、図２のサーバボットフレームワーク２１０から取得された処理された要求に基づいて、第１のフィールドデバイス１１６のトピックを識別し得る。
【０１２１】
ブロック６１８において、ＶＡ１００は、スクリプトを生成する。例えば、会話プロセッサ２３８は、図２のトピック２４６を、図２の会話コンテキストデータベース２４４において、構成２４８ａのうちの１つ以上、スクリプト２４８ｂのうちの１つ以上、アクション２５０のうちの１つ以上など、および／またはそれらの組み合わせにマッピングし得る。このような例において、会話プロセッサ２３８は、マッピングに基づいてスクリプトをパッケージ化し得る。例えば、会話プロセッサ２３８は、１つ以上の構成２４８ａ、１つ以上のスクリプト２４８ｂ、１つ以上のアクション２５０など、および／またはトピック２４６が会話コンテキストデータベース２４４においてその中にマッピングされるそれらの組み合わせを含むスクリプトを生成し得る。
【０１２２】
スクリプトの生成に応答して、ＶＡ１００は、ブロック６２０において、スクリプトを実行する。例えば、図２のアクションプロセッサ２４０は、図２のシステム２２２の１つにコマンドを送信して、会話プロセッサ２３８によって生成されたスクリプトの実行を容易にし得る。例えば、アクションプロセッサ２４０は、図１Ａ〜図１Ｂのプロセス制御システム１０２へのコマンドを生成して、第１のフィールドデバイス１１６を開くことができる。
【０１２３】
ブロック６２２において、ＶＡ１００は、会話状態を更新する。例えば、会話状態ハンドラ２４２は、第１のフィールドデバイス１１６を開くことに応答して完了するように会話状態を更新し得る。他の例において、会話状態ハンドラ２４２は、会話状態を、第１のフィールドデバイス１１６を開くことから、開いている第１のフィールドデバイス１１６に、第１のフィールドデバイスを９５％開くなどに更新し得る。
【０１２４】
会話状態の更新に応答して、ＶＡ１００は、ブロック６２４において応答を生成し、要求者に送信する。例えば、会話プロセッサ２３８は、第１のフィールドデバイス１１６が開かれていること、および／または第１のフィールドデバイス１１６のバルブ位置を示しながら、応答をパッケージ化し、ユーザ１０４、ホストアプリケーション１０６、ウェアラブルデバイス１２８、１３０、１３２のうちの１つ、図２のＤＣＳコントローラアセンブリ２２６などに応答を送信し得る。
【０１２５】
ブロック６２６において、ＶＡ１００は、スクリプトが完了しているかどうかを判定する。例えば、会話状態ハンドラ２４２は、アクションプロセッサ２４０がスクリプトに含まれるすべてのアクションを完了することに基づいて、ユーザ１０４、ホストアプリケーション１０６などからの要求に関連付けられたスクリプトが完了していることを判定し得る。他の例において、会話状態ハンドラ２４２は、スクリプトが完了していることの確認を発行せずに、アクションプロセッサ２４０および／またはユーザ１０４、ホストアプリケーション１０６などによって完了されるべき１つ以上のアクションに基づいてスクリプトが完了していないことを判定し得る。
【０１２６】
ブロック６２６において、スクリプトが完了しているとＶＡ１００が判定する場合、制御はブロック６３０に進み、要求の監視を継続するかどうかを判定する。ブロック６２６において、スクリプトが完了していないとＶＡ１００が判定する場合、ブロック６２８において、ＶＡ１００は要求者が会話を終了したかどうかを判定する。例えば、会話プロセッサ２３８は、ユーザ１０４、ホストアプリケーション１０６などが、会話を終了するためにＶＡ１００へのコマンドを生成したかどうかを判定し得る。
【０１２７】
ブロック６３０において、ＶＡ１００は、要求の監視を継続するかどうかを判定する。ブロック６３０において、ＶＡ１００が要求の監視を継続すると判定する場合、制御は戻り、別の要求を待機し、ブロック６０２において別の要求が受信されるかどうかを判定する。ブロック６３０において、ＶＡ１００が要求の監視を継続しないと判定する場合、図６の機械可読命令６００は終了する。
【０１２８】
図７は、要求に基づいて視覚化を生成し、かつ表示するために図１Ａ〜図２のＶＡ１００を実装するために実行されてもよい例示的な機械可読命令７００を表すフローチャートである。機械可読命令７００は、ブロック７０２で始まり、そこでは、要求が受信されたかどうかをＶＡ１００が判定する。例えば、図２のフレームワークコントローラ２１２は、ユーザ１０４がホストアプリケーション１０６を介してＶＡ１００に「プロセスタンクを見せてください」という口頭の要求を発行したことを判定し得る。他の例において、フレームワークコントローラ２１２は、ホストアプリケーション１０６が図１Ａ〜図１Ｂのプロセスタンク１２２に関する情報を検索するためにＶＡ１００への要求を生成したことを判定し得る。
【０１２９】
ブロック７０２において、要求が受信されていないとＶＡ１００が判定する場合、ＶＡ１００は要求を待ち続ける。ブロック７０２において、ＶＡ１００が要求を受信したと判定する場合、ブロック７０４において、ＶＡ１００は、要求を解析する。例えば、図２のパーサ２１４は、図２の要求２０１ａ〜ｂを１つ以上のトークンに解析し得る。ブロック７０４における要求の解析に応答して、ＶＡ１００はブロック７０６において要求を検証する。例えば、図２のアナライザ２１６は、１つ以上のトークンを有効なトークンと比較し得る。
【０１３０】
ブロック７０８において、ＶＡ１００は、要求が検証されているかどうかを判定する。例えば、アナライザ２１６は、分析されたトークンと有効なトークンとの比較に基づいて、１つ以上のトークンが無効である、トークンの順序が有効な順序ではないなどを判定することにより、要求が無効であることを判定し得る。他の例において、アナライザ２１６は、有効なトークンとして識別されている分析されたトークンのうちの１つ以上に基づいて、要求２０１ａ〜ｂが有効であることを判定し得る。
【０１３１】
ブロック７０８において、要求が検証されていないとＶＡ１００が判定する場合、制御はブロック７１０に進み、明確化要求を生成し、かつ送信する。例えば、図２のジェネレータ２１８は、明確化要求を生成し、その明確化要求をユーザ１０４、ホストアプリケーション１０６などに送信し得る。このような例において、明確化要求は、要求２０１ａ〜ｂを繰り返し、要求２０１ａ〜ｂを言い換え、要求２０１ａ〜ｂの他方を提供するなどのプロンプトを含み得る。明確化要求の生成および送信に応答して、制御は戻り、ブロック７０２において別の要求を受信するかどうかを判定する。
【０１３２】
ブロック７０８において、要求が検証されているとＶＡ１００が判定する場合、ブロック７１２において、ＶＡ１００は、会話状態が利用可能かどうか判定する。例えば、会話プロセッサ２３８は、図２の会話状態ハンドラ２４２に照会して、会話がインスタンス化され、かつ／または初期化されているかどうかを判定し得る。このような例において、会話プロセッサ２３８は、会話がインスタンス化されており、対応する会話状態が会話状態ハンドラ２４２によって保存され、かつ／または管理されていることに基づいて会話状態が利用可能でないと判定し得る。他の例において、会話プロセッサ２３８は、会話がインスタンス化されており、対応する会話状態が会話状態ハンドラ２４２によって保存され、かつ／または管理されていることに基づいて会話状態が利用可能であると判定し得る。例えば、会話状態ハンドラ２４２は、トピック、スクリプトの完了ステータス、アクションプロセッサ２４０によって実行されているアクションなどの会話状態を会話プロセッサ２３８に送信し得る。
【０１３３】
ブロック７１２において、会話状態が利用可能であるとＶＡ１００が判定する場合、制御はブロック７１６に進み、トピックを識別する。ブロック７１２において、ＶＡ１００が、会話状態が利用可能でないと判定する場合、ブロック７１４において、ＶＡ１００は、会話状態を確立する。例えば、会話プロセッサ２３８は、会話を初期化し、対応する会話状態を会話状態ハンドラ２４２に送信し得る。会話状態の確立に応答して、ＶＡ１００はブロック７１６においてトピックを識別する。例えば、会話プロセッサ２３８は、図２のサーバボットフレームワーク２１０から取得された処理された要求に基づいてプロセスタンク１２２のトピックを識別し得る。
【０１３４】
トピックの識別に応答して、ＶＡ１００は、ブロック７１８において、トピックをプロファイルにマッピングする。例えば、会話プロセッサ２３８は、プロセスタンク１２２のトピックを図２の会話コンテキストデータベース２４４内の図３のプロファイル３００にマッピングし得る。このような例において、会話プロセッサ２３８は、マッピングに基づいて、ユーザ１０４、ホストアプリケーション１０６などからの要求に含まれる識別されたトピックがプロセスタンク１２２に対応することを判定し得る。会話プロセッサ２３８は、図１Ａ〜図１Ｂのプロセス制御システム１０２のどのフィールドデバイスがプロセスタンク１２２に結合されているか、プロセス制御システム１０２のどのフィールドデバイスがプロセスタンク１２２などに関連付けられた測定を監視し、または行うかを含むマッピングに基づいてプロセスタンク１２２に関連付けられた情報を判定し得る。追加的または代替的に、会話プロセッサ２３８は、パラメータ３０６、タグ３０８、説明３１０などを含むプロファイル３００に含まれる情報を判定し得る。
【０１３５】
ブロック７２０において、ＶＡ１００は、プロファイルのレベルに対応する応答を生成する。例えば、会話プロセッサ２３８は、プロファイル３００のＬ１に関連付けられた情報を含む応答をパッケージ化し得る。このような例において、応答は、図３の共通カテゴリまたはサージドラムカテゴリのうちの少なくとも１つに対応する情報を含み得る。例えば、応答は、容器レベルパラメータ、容器圧力パラメータ、対応するタグ３０８、対応する説明３１０などのうちの少なくとも１つを含み得る。
【０１３６】
ブロック７２２において、ＶＡ１００は、ホストアプリケーションに応答を送信する。例えば、会話プロセッサ２３８は、ホストアプリケーションボットフレームワーク２０８またはサーバボットフレームワーク２１０のうちの少なくとも１つを介してホストアプリケーション１０６に応答を送信し得る。このような例において、ホストアプリケーション１０６は、図４の第１の視覚化４００を生成し、図１Ｂの第３のウェアラブルデバイス１３２、モバイルアプリケーション２０２、ブラウザアプリケーション２０４、デスクトップアプリケーション２０６などを介して、グラフィカルユーザインターフェース（ＧＵＩ）、ヒューマンマシンインターフェース（ＨＭＩ）などに第１の視覚化４００を表示し得る。例えば、ホストアプリケーション１０６は、レンズ、モバイルデバイス、デスクトップコンピュータ、ラップトップコンピュータのディスプレイ、またはコンピューティングデバイスに通信可能に結合された任意の他のディスプレイ上に第１の視覚化４００を表示し得る。他の例において、会話プロセッサ２３８は、図２のＤＣＳコントローラアセンブリ２２６に通信可能に結合されたＨＭＩ上で動作し、かつ／または実行するホストアプリケーション１０６に応答を送信し得る。
【０１３７】
ブロック７２４において、ＶＡ１００は、会話状態を更新する。例えば、会話プロセッサ２３８は、応答に基づいて会話状態を更新するよう会話状態ハンドラ２４２に命令し得る。例えば、会話状態ハンドラ２４２は、Ｌ１に関連付けられた情報がユーザ１０４、ホストアプリケーション１０６などの要求者に通信されたことを示す会話状態にＬ１を割り当て得る。他の例において、会話状態ハンドラ２４２は、プロセスタンク１２２および／またはＬ１のトピックおよび／またはユーザ１０４、ホストアプリケーション１０６などに送信された情報を会話状態に割り当て得る。
【０１３８】
ブロック７２６において、ＶＡ１００は、応答に基づいてホストアプリケーション上に視覚化を表示する。例えば、サーバボットフレームワーク２１０は、ホストアプリケーション１０６に応答を送信して、ホストアプリケーション１０６に、ホストアプリケーション１０６を実行するデバイス上のＧＵＩ、ＨＭＩなどに第１の視覚化４００を表示するように指示し得る。
【０１３９】
視覚化の表示に応答して、ＶＡ１００は、ブロック７２８において表示可能なレベルがあるかどうかを判定する。例えば、会話プロセッサ２３８は、Ｌ２がホストアプリケーション１０６に通信されていないと判定し得る。他の例において、会話プロセッサ２３８は、ユーザ１０４、ホストアプリケーション１０６などが容器レベルパラメータのみを要求したため、容器圧力パラメータなどのＬ１に関連付けられたパラメータが通信されていないと判定し得る。さらに他の例において、会話プロセッサ２３８は、カテゴリ３０４のうちの異なるものに対する要求に基づいて、カテゴリ３０４のうちの１つが通信されていないと判定し得る。このような例において、会話プロセッサ２３８は、プロセスタンク１２２に関連付けられた追加情報に対する要求に応答して、ユーザ１０４、ホストアプリケーション１０６などにまだ要求、提供などされていない情報を提供することを判定し得る。
【０１４０】
ブロック７２８において、表示可能なレベルが存在しないとＶＡ１００が判定する場合、制御はブロック７３４に進み、要求の監視を継続するかどうかを判定する。ブロック７２８において、表示可能なレベルがあるとＶＡ１００が判定する場合、ブロック７３０において、ＶＡ１００は、トピックに関するさらなる情報に対する要求が受信されたかどうかを判定する。例えば、フレームワークコントローラ２１２は、要求がユーザ１０４、ホストアプリケーション１０６などから受信されたかどうかを判定し得る。要求が受信されたとの判定に応答して、会話プロセッサ２３８は、要求がプロセスタンク１２２のトピックに関連付けられているかを判定し得る。要求がプロセスタンク１２２に関するさらなる情報のクエリに対応すると会話プロセッサ２３８が判定する場合、会話プロセッサ２３８は、会話状態ハンドラ２４２から会話状態を取得し、プロファイル３００に含まれる情報を判定して、要求への応答にパッケージ化し得る。例えば、会話プロセッサ２３８は、会話状態ハンドラ２４２からＬ１の会話状態を取得し、応答内のＬ２に関連付けられた情報をパッケージ化することを判定し、その応答をユーザ１０４、ホストアプリケーション１０６などに送信し得る。
【０１４１】
ブロック７３０において、受信された要求がトピックに関するさらなる情報に対するとＶＡ１００が判定する場合、制御はブロック７２０に戻り、プロファイルのレベルに対応する応答を生成する。例えば、会話プロセッサ２３８は、容器温度パラメータ、タグＴ  ＸＸ２７など、および／またはそれらの組み合わせなどの、応答でプロファイル３００のＬ２に関連付けられた情報をパッケージ化し得る。他の例において、会話プロセッサ２３８は、図３に示される、サージカテゴリに関連付けられた情報、共通カテゴリに関連付けられた別のパラメータ、タグ、または説明などをパッケージ化し得る。応答の生成に応答して、ＶＡ１００は、ブロック７２２における応答のホストアプリケーションへの送信、ブロック７２４における会話状態の更新（例えば、会話状態の、Ｌ２、Ｌ１および／またはＬ２に関連付けられた情報への更新等）へと進み、かつ、視覚化を表示する第３のウェアラブルデバイス１３２またはホストアプリケーション１０６のうちの少なくとも１つに、応答に基づいてホストアプリケーション１０６上に視覚化を表示するよう指示し得る。例えば、ＶＡ１００は、ホストアプリケーション１０６に、図５の第２の視覚化５００をモバイルデバイス、デスクトップコンピュータなどに表示するよう指示し、ホストアプリケーション１０６を実行し得る。
【０１４２】
ブロック７３０において、受信された要求がトピックに関するさらなる情報ではないとＶＡ１００が判定する場合、ブロック７３２において、ＶＡ１００は、要求タイムアウトが発生したかどうかを判定する。例えば、フレームワークコントローラ２１２は、ユーザ１０４、ホストアプリケーション１０６などからの要求が閾値時間内（例えば、１分、１０分、６０分など）に受信されなかったことを判定し得る。他の例において、会話プロセッサ２３８は、要求が受信されたが、プロセスタンク１２２のトピックに向けられていないことを判定し得る。このような例において、会話プロセッサ２３８は、会話状態ハンドラ２４２に、会話状態を更新し、会話状態を新しいトピックで置き換えるか、またはプロセスタンク１２２のトピックを会話状態から分離するよう命令し得る。他の例において、会話プロセッサ２３８は、プロセスタンク１２２に関連付けられた会話状態と同時に存在するように、別の会話状態をインスタンス化するよう会話状態ハンドラ２４２に命令し得る。
【０１４３】
ブロック７３２において、要求のタイムアウトが発生していない場合、制御はブロック７３０に戻り、別の要求を待つ。ブロック７３２において要求タイムアウトが発生した場合、ブロック７３４において、ＶＡ１００は要求の監視を継続するかどうかを判定する。例えば、フレームワークコントローラ２１２は、ＶＡ１００をシャットダウンすること、低電力モードまたは休止モードで動作するようにＶＡ１００を移行することなどを判定し得る。
【０１４４】
ブロック７３４において、ＶＡ１００が要求の監視を継続すると判定する場合、制御はブロック７０２に戻り、別の要求を待つ。ブロック７３４において、ＶＡ１００が要求の監視を継続しないと判定する場合、図７の機械可読命令７００は終了する。
【０１４５】
図８は、図１Ａ〜図２のＶＡ１００を実装するために図６〜図７の命令を実行するように構成された例示的なプロセッサプラットフォーム８００のブロック図である。プロセッサプラットフォーム８００は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、ＤＣＳコントローラアセンブリ（例えば、図２のＤＣＳコントローラアセンブリ２２６）、自己学習機械（例えば、ニューラルネットワーク）、モバイルデバイス（例：携帯電話、スマートフォン、ｉＰａｄ（登録商標）などのタブレット）、携帯情報端末（ＰＤＡ）、インターネット機器、ヘッドセットまたは他のウェアラブルデバイス（例、図１のウェアラブルデバイス１２８、１３０、１３２）、または任意の他のタイプのコンピューティングデバイスであり得る。
【０１４６】
示された例のプロセッサプラットフォーム８００は、プロセッサ８１２を含む。示された例のプロセッサ８１２は、ハードウェアである。例えば、プロセッサ８１２は、１つ以上の集積回路、論理回路、マイクロプロセッサ、ＧＰＵ、ＤＳＰ、または任意の所望のファミリまたは製造業者からのコントローラによって実装され得る。ハードウェアプロセッサは、半導体ベース（例えば、シリコンベース）のデバイスであってもよい。この例において、プロセッサ８１２は、サーバボットフレームワーク２１０、フレームワークコントローラ２１２、パーサ２１４、アナライザ２１６、ジェネレータ２１８、実行部２２０、会話コンテキストエンジン２２４、会話プロセッサ２３８、アクションプロセッサ２４０、会話状態ハンドラ２４２、および／またはより一般的にはＶＡ１００を実装する。
【０１４７】
示された例のプロセッサ８１２は、ローカルメモリ８１３（例えば、キャッシュ）を含む。示された例のプロセッサ８１２は、バス８１８を介して、揮発性メモリ８１４および不揮発性メモリ８１６を含むメインメモリと通信している。揮発性メモリ８１４は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳ（登録商標）ダイナミックランダムアクセスメモリ（ＲＤＲＡＭ（登録商標））、および／または任意の他のタイプのランダムアクセスメモリデバイスによって実装されてもよい。不揮発性メモリ８１６は、フラッシュメモリおよび／または任意の他の所望のタイプのメモリデバイスによって実装されてもよい。メインメモリ８１４、８１６へのアクセスは、メモリコントローラによって制御される。
【０１４８】
示された例のプロセッサプラットフォーム８００は、インターフェース回路８２０も含む。インターフェース回路８２０は、イーサネット（登録商標）インターフェース、ユニバーサルシリアルバス（ＵＳＢ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、近距離無線通信（ＮＦＣ）インターフェース、および／またはＰＣＩエクスプレスインターフェースなど、任意のタイプのインターフェース標準によって実装されてもよい。
【０１４９】
示された例において、１つ以上の入力デバイス８２２がインターフェース回路８２０に接続されている。入力デバイス８２２（複数可）は、ユーザがデータおよび／またはコマンドをプロセッサ８１２に入力することを許可する。入力デバイス８２２（複数可）は、例えば、音声センサ、マイクロホン、カメラ（静止画または動画）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイントデバイス、および／または音声認識システムによって実装され得る。
【０１５０】
１つ以上の出力デバイス８２４も、示された例のインターフェース回路８２０に接続されている。出力デバイス８２４は、例えば、ディスプレイデバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶ディスプレイ（ＬＣＤ）、陰極線管ディスプレイ（ＣＲＴ）、インプレーススイッチング（ＩＰＳ）ディスプレイ、タッチスクリーンなど）、触覚出力デバイス、プリンター、スピーカなどにより実装され得る。したがって、示された例のインターフェース回路８２０は、通常、グラフィックスドライバカード、グラフィックスドライバチップ、および／またはグラフィックスドライバプロセッサを含む。
【０１５１】
示された例のインターフェース回路８２０はまた、トランスミッタ、受信機、トランシーバ、モデム、ホームゲートウェイ、無線アクセスポイント、および／またはネットワークインターフェースなどの通信デバイスを含み、ネットワーク８２６を経由して外部機械（例えば、あらゆる種類のコンピューティングデバイス）とのデータ交換を容易にする。通信は、例えば、イーサネット（登録商標）接続、デジタル加入者線（ＤＳＬ）接続、電話線接続、同軸ケーブルシステム、衛星システム、サイトの無線システム、携帯電話システムなどを介し得る。
【０１５２】
示される例のプロセッサプラットフォーム８００は、ソフトウェアおよび／またはデータを格納するための１つ以上の大容量記憶デバイス８２８も含む。このような大容量記憶デバイス８２８の例には、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスクドライブ、独立ディスクの冗長アレイ（ＲＡＩＤ）システム、およびデジタル多用途ディスク（ＤＶＤ）ドライブが含まれる。この例において、大容量記憶デバイス８２８は、図２のモデル２４３（複数可）を含む図２の会話コンテキストデータベース２４４を実装する。
【０１５３】
図６〜図７の機械実行可能命令８３２は、大容量記憶デバイス８２８、揮発性メモリ８１４、不揮発性メモリ８１６、および／またはＣＤまたはＤＶＤなどの取り外し可能な非一時的なコンピュータ可読記憶媒体などに記憶されてもよい。
【０１５４】
上記から、プロセス制御仮想アシスタントを使用してプロセス制御を強化する例示的なシステム、方法、装置、および製造物品が開示されていることが理解されよう。本明細書において開示されるプロセス制御仮想アシスタントは、プロセス制御モバイルアプリケーション、ブラウザアプリケーション、デスクトップアプリケーションなどのアプリケーションが、プロセス制御に関連付けられたタスクのプロセス制御環境でユーザを支援するボットまたはボットフレームワークとの会話を開始することを可能にするシステムに対応する。開示されているプロセス制御仮想アシスタントは、パラメータ、履歴データ、アラーム、または機器、フィールドデバイス、制御戦略、もしくはバッチなどのプロセス制御構成要素に固有の他の情報を返し得る。いくつかの開示された例において、基本的なスクリプトはパラメータを含む情報を返し得るが、複雑なスクリプトはさらにワークフローを作成し、次に、より複雑な一連のプロセス制御タスクまたは命令を介してユーザを導く追加の自動スクリプトを実行し得る。
【０１５５】
本明細書で開示される例は、エンジニア、環境スペシャリスト、オペレータ、保守、スーパーバイザなどを含むプロセス動作に固有の役割をサポートするために使用することができるプロセス中心の仮想アシスタントフレームワークを提供する。本明細書で開示される例は、ユーザおよび／またはコンピューティングデバイス上で実行されるホストアプリケーションからの要求に応答して、プロセス制御構成要素、アクション、タスクなどを識別する。本明細書で開示される例により、アクションのセットをプロセス構成要素でトリガし、情報のプロファイルをプロセス構成要素で返すことが可能になり、かつ／またはユーザが返された情報の視覚化を表示することが可能になる。本明細書で開示される例は、複数のユーザおよび／または複数のプラットフォームをサポートする。本明細書で開示される例には、プロセス制御ネットワークを介して接続してプロセス制御を容易にし、／または強化し得るプロセス制御環境の１つ以上の場所に配置することができる開示されたプロセス制御仮想アシスタントを実装するＤＣＳコントローラアセンブリが含まれる。
【０１５６】
特定の例示的なシステム、方法、装置、および製造物品が本明細書で開示されてきたが、本特許の対象範囲はそれに限定されない。それどころか、本特許は、本特許の特許請求の範囲の範囲内に相当するすべてのシステム、方法、装置、および製造物品を対象としている。
【図１Ａ】
2020095719.tif 000003
【図１Ｂ】
2020095719.tif 000004
【図２】
2020095719.tif 000005
【図３】
2020095719.tif 000006
【図４】
2020095719.tif 000007
【図５】
2020095719.tif 000008
【図６】
2020095719.tif 000009
【図７】
2020095719.tif 000010
【図８】
2020095719.tif 000011
【外国語明細書】
2020095719000001.pdf