IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アー・ベー・ベー・パワー・グリッズ・スウィツァーランド・アクチェンゲゼルシャフトの特許一覧 ▶ ヒタチ・エナジー・リミテッドの特許一覧

特表2024-514766コマンド生成システムおよびコマンドの発行方法
<>
  • 特表-コマンド生成システムおよびコマンドの発行方法 図1
  • 特表-コマンド生成システムおよびコマンドの発行方法 図2
  • 特表-コマンド生成システムおよびコマンドの発行方法 図3
  • 特表-コマンド生成システムおよびコマンドの発行方法 図4
  • 特表-コマンド生成システムおよびコマンドの発行方法 図5
  • 特表-コマンド生成システムおよびコマンドの発行方法 図6
  • 特表-コマンド生成システムおよびコマンドの発行方法 図7
  • 特表-コマンド生成システムおよびコマンドの発行方法 図8
  • 特表-コマンド生成システムおよびコマンドの発行方法 図9
  • 特表-コマンド生成システムおよびコマンドの発行方法 図10
  • 特表-コマンド生成システムおよびコマンドの発行方法 図11
  • 特表-コマンド生成システムおよびコマンドの発行方法 図12
  • 特表-コマンド生成システムおよびコマンドの発行方法 図13
  • 特表-コマンド生成システムおよびコマンドの発行方法 図14
  • 特表-コマンド生成システムおよびコマンドの発行方法 図15
  • 特表-コマンド生成システムおよびコマンドの発行方法 図16
  • 特表-コマンド生成システムおよびコマンドの発行方法 図17
  • 特表-コマンド生成システムおよびコマンドの発行方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-03
(54)【発明の名称】コマンド生成システムおよびコマンドの発行方法
(51)【国際特許分類】
   G06F 40/30 20200101AFI20240327BHJP
【FI】
G06F40/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558231
(86)(22)【出願日】2022-03-23
(85)【翻訳文提出日】2023-09-21
(86)【国際出願番号】 EP2022057706
(87)【国際公開番号】W WO2022200471
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】202141012400
(32)【優先日】2021-03-23
(33)【優先権主張国・地域又は機関】IN
(31)【優先権主張番号】21174217.6
(32)【優先日】2021-05-17
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】519431812
【氏名又は名称】ヒタチ・エナジー・スウィツァーランド・アクチェンゲゼルシャフト
【氏名又は名称原語表記】HITACHI ENERGY SWITZERLAND AG
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(71)【出願人】
【識別番号】523380173
【氏名又は名称】ヒタチ・エナジー・リミテッド
【氏名又は名称原語表記】HITACHI ENERGY LTD
(74)【代理人】
【識別番号】100185694
【弁理士】
【氏名又は名称】山下 隆志
(72)【発明者】
【氏名】クマール・サハ,バルン
(72)【発明者】
【氏名】ハーブ,ルカ
(72)【発明者】
【氏名】ポドレスキ,ルカス
(57)【要約】
ユーティリティシステム、産業システム、または通信ネットワークのアクター(11)にコマンドを発行するためのコマンド生成システム(20)は、意図ベースのネットワークを実装し、実行されるべきタスクを指定する自然言語入力を受信するように動作する第1のインターフェース(21)と、ステートフル意図解決プロセスを実行して、自然言語入力によって表現されるユーザの意図を決定し、決定された意図に基づいて少なくとも1つのコマンドを生成するように動作する1つまたは複数の処理モジュール(31~33)と、ユーティリティシステム、産業システム、または通信ネットワーク内でタスクを実行させるために、アクター(11)に少なくとも1つのコマンドを発行するように動作する第2のインターフェース(22)とを備える。
【特許請求の範囲】
【請求項1】
ユーティリティシステム、産業システム、または通信ネットワークのアクター(11;111)にコマンドを発行するためのコマンド生成システム(20;120)であって、前記コマンド生成システム(20;120)は、意図ベースのネットワークIBNを実装し、
実行されるべきタスクを指定する自然言語入力を受信するように動作する第1のインターフェース(21;121)と、
前記自然言語入力によって表現されるユーザの意図を決定し、前記決定された意図に基づいて少なくとも1つのコマンドを生成するステートフル意図解決プロセスを実行するように動作する1つまたは複数の処理モジュール(31~33;131、132)と、
前記ユーティリティシステム、前記産業システム、または前記通信ネットワークで前記タスクを実行させるために、前記アクター(11;111)に前記少なくとも1つのコマンドを発行するように動作する第2のインターフェース(22)と、を含む、コマンド生成システム(20;120)。
【請求項2】
前記コマンド生成システムは、1つまたは複数の意図トランザクションを維持するように動作し、終了基準が満たされていない場合は、同じセッション内で以前に識別された意図に関する情報を提供する意図トランザクションを使用して、意図解決を実行する、請求項1に記載のコマンド生成システム(20;120)。
【請求項3】
前記アクター(11;111)は、ユーティリティシステム、産業システム、またはユーティリティシステムもしくは産業システムの通信ネットワークの管理または制御システムである、請求項1または請求項2に記載のコマンド生成システム(20;120)。
【請求項4】
前記コマンド生成システムは、前記ユーザの意図の識別がどれほど信頼できるかを定量的に決定し、信頼情報を使用してコマンドを自動的に出力できるかどうか、またはユーザの確認が必要かどうかを決定するように動作する、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項5】
前記コマンド生成システム(20;120)は、以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用して、前記ステートフル意図解決プロセスを実行するように動作し、
任意で、前記コマンド生成システム(20;120)は、前記以前に識別された意図および/または前記以前に発行されたコマンドに関する前記情報を記憶するデータ記憶システム(23;123)を含むか、または通信可能に結合され、
さらに任意で、前記コマンド生成システム(20;120)は、前記タスクが前記ユーティリティシステム、前記産業システム、または前記通信ネットワークで実行されたことの確認に応答して、前記決定された意図および/または前記少なくとも1つのコマンドに関する情報を前記データ記憶システム(23;123)に記憶するように動作する、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項6】
前記コマンド生成システム(20;120)は、前記自然言語入力によって表現される前記ユーザの意図が、前記少なくとも1つのコマンドを発行する前に、前記以前に識別された意図および/または前記以前に発行されたコマンドと一致することを検証することを含む検証を実行するように動作する、請求項5に記載のコマンド生成システム(20;120)。
【請求項7】
前記コマンド生成システム(20;120)は、
前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの状態に関する状態情報を検索し、
前記少なくとも1つのコマンドを発行する前に、前記自然言語入力によって表現される前記ユーザの意図が前記検索された状態情報と一致していることを検証することを含む検証を実行するように動作する、請求項5または請求項6に記載のコマンド生成システム(20;120)。
【請求項8】
前記コマンド生成システム(20;120)は、前記自然言語入力を少なくとも1つの意図クラスに割り当てるように動作し、前記意図クラスは、複数の単純な意図および複数の複合意図からなるグループから選択される、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項9】
前記複数の複合意図の各複合意図は、前記複数の単純な意図から選択される2つ以上の単純な意図から構成される、請求項8に記載のコマンド生成システム(20;120)。
【請求項10】
前記コマンド生成システム(20;120)は、前記複数の単純な意図から選択された単純な意図の自然言語処理、NLPベースの組合せによって、前記複数の複合意図を自動的に生成するように動作する、請求項8または請求項9に記載のコマンド生成システム(20;120)。
【請求項11】
前記ステートフル意図解決プロセスは、前記自然言語入力を前記少なくとも1つの意図クラスに割り当てることを含み、前記コマンド生成システム(20;120)は、異なる意図クラスの分類結果の信頼性を定量化する信頼情報を決定するように動作し、
任意で、前記コマンド生成システム(20;120)は、前記信頼情報を使用して、前記自然言語入力を少なくとも1つの意図クラスに割り当てる、および/または前記信頼情報を出力するように動作する、請求項8から10のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項12】
前記コマンド生成システム(20;120)は、前記信頼情報を決定するために信頼ツリー(190;200)を生成するように動作し、
任意で、前記信頼ツリー(190;200)の各ノードは、前記複数の単純な意図のうちの1つ、または前記複数の複合意図のうちの1つに関連付けられ、および/または
前記信頼ツリー(190;200)は、前記複数の複合意図のうちの1つに関連付けられた少なくとも1つのノードと、それぞれが前記複数の単純な意図から選択された単純な意図に関連付けられた少なくとも2つのノードとを含み、
前記複数の複合意図のうちの1つに関連付けられた前記信頼ツリー(190;200)のノードは、前記複数の複合意図のうちの1つが形成される複合意図または単純な意図に関連付けられた子ノードを有し、
さらに任意で、さまざまな意図クラスの分類結果の前記信頼性を定量化する前記信頼情報を決定することは、前記信頼ツリー(190;200)のノードおよび/またはリンクに割り当てられた信頼値に基づいて、前記ツリー(190;200)を通るすべての可能なパスの中から前記ツリー(190;200)を通るパスを識別することを含む、請求項11に記載のコマンド生成システム(20;120)。
【請求項13】
前記コマンド生成システム(20;120)は、前記自然言語入力から前記少なくとも1つの意図クラスの1つまたは複数の属性を識別するように動作し、前記少なくとも1つのコマンドは、前記識別された1つまたは複数の属性に依存し、
任意で、前記識別された1つまたは複数の属性は、フローのソース、フローの目標、実行されるべきアクション、サービス品質、仮想ネットワーク機能の識別子のうちの1つまたは複数を含む、請求項8から12のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項14】
前記コマンド生成システム(20;120)は、
前記自然言語入力が受信されるユーザのアクティブな意図トランザクションがない場合、前記自然言語入力の受信に応答して意図トランザクションを確立するように動作し、前記自然言語入力によって表現された前記決定された意図の少なくとも識別子は、前記意図トランザクションに含まれ、任意で、前記決定された意図の実行時間が前記意図トランザクションに含まれ、
終了基準が満たされていない場合、前記意図トランザクションを使用して意図解決を実行し、同じユーザのさらなる自然言語入力によって表現されるさらなるユーザの意図を前記意図トランザクションに追加し、前記意図トランザクションへの前記さらなる自然言語入力によって表現される前記ユーザのさらなる意図のためのさらなる識別子を追加することを含み、任意で、前記ユーザのさらなる意図の実行時間が前記意図トランザクションに追加され、
終了基準が満たされている場合は、前記意図トランザクションにさらなるユーザの意図を追加することを終了し、
任意で、前記終了基準は、時間閾値基準、前記意図トランザクションを終了するためのコマンドの受信、以前の意図トランザクションをロードするためのコマンドの受信のうちのいずれか1つまたはそれらの任意の組合せを含み、および/または
任意で、前記コマンド生成システム(20;120)は、第1のユーザに対する第1の意図トランザクションと、前記第1のユーザとは異なる第2のユーザに対する第2の意図トランザクションとを同時に維持および更新するように動作する、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項15】
前記コマンド生成システム(20;120)は、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークを継続的に監視し、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの変更への前記コマンド生成システム(20;120)の自動適応を保証するように動作する意図スーパーバイザを実行し、
任意で、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの前記変更に対する前記コマンド生成システム(20;120)の前記自動適応を保証することは、
前記ユーティリティシステム、前記産業システム、または前記通信ネットワークが、前記自然言語入力によって表現された前記ユーザの意図に従って動作し続けることを保証するために、トポロジおよび/またはエンティティの状態の変化の検出に応答して、少なくとも1つの追加コマンドを自動的に生成および発行することと、
前記自然言語入力によって表現された前記決定された意図が、以前に受信したユーザの意図および/または前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの状態と一致していることを検証することと、
前記少なくとも1つのコマンドの実行により、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークが目標状態に到達することを検証することと、のうちの1つまたはいくつかを含む、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項16】
前記第1のインターフェース(21;121)は、前記自然言語入力をテキスト入力として受信するように動作し、任意で、前記第1のインターフェース(21;121)はウェブベースのインターフェースであり、および/または
前記第1のインターフェース(21;121)は、前記自然言語入力を音声入力として受信するように動作し、任意で、前記コマンド生成システム(20;120)は、前記ステートフル意図解決プロセスを実行する前に、前記音声入力をテキスト入力に変換するための音声テキスト変換モジュールを含み、および/または
前記第1のインターフェース(21;121)は、グラフィカルユーザインターフェースを介して前記自然言語入力をフリーハンドユーザ入力として受信するように動作する、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項17】
アクター(11;111)を有するユーティリティシステム、産業システム、または通信ネットワークを含み、任意で、前記アクター(11;111)は管理または制御システムであり、および/または任意で、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークが、電力システムおよび電力システム通信ネットワークのうちの少なくとも1つを含み、
前記少なくとも1つのコマンドを前記アクター(11;111)に発行するように動作する、先行する請求項のいずれか1項に記載のコマンド生成システム(20;120)を含む、システム。
【請求項18】
意図ベースのネットワークIBNを使用して、ユーティリティシステム、産業システム、または通信ネットワークにコマンドを発行する方法であって、前記方法は、
タスクを指定する自然言語入力を受信することと、
前記自然言語入力によって表現されるユーザの意図を決定するために、ステートフル意図解決プロセスを実行することと、
前記決定された意図に基づいて少なくとも1つのコマンドを生成することと、
前記タスクの実行のために、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークのアクター(11;111)に前記少なくとも1つのコマンドを発行することと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、ユーティリティシステム(電力システムなど)、産業システム(工業用製造プラントなど)、および/または通信ネットワーク(ユーティリティシステムや産業システムの通信ネットワークなど)にコマンドを発行するための方法、デバイス、およびシステムに関する。本発明は、方法、デバイス、およびシステムに関し、これは、ユーティリティシステム、産業システム、または通信ネットワークの試運転または再構成時、またはユーティリティシステム、産業システム、または通信ネットワークの継続的な現場動作中に、ユーティリティシステム、産業システム、または通信ネットワークでタスクを開始するために使用できる。
【背景技術】
【0002】
発明の背景
発電システム、配電システム、送電システム、電力グリッド、または変電所などの最新の産業自動化制御システム(IACS)、および最新の産業システムには、膨大な数のコンポーネントが含まれている。ユーティリティシステム、産業システム、または産業自動化制御システム(IACS)の通信ネットワークなどの通信ネットワークの動作は、ネットワークのデバイスは、試運転中に構成するか、ユーティリティシステム、産業システム、または通信ネットワークが動作を開始した後に再構成する必要がある。説明のために、ネットワークエンジニアは、動作状態を見て、必要に応じて適切な変更を行う必要がある。例えば、一連の新しいトラフィックフローを導入したり、および/または既存のトラフィックフローを削除したりする。ネットワーク管理システム(NMS)またはユーティリティシステム、産業システム、または通信ネットワークの他のアクターは、この点で役立つように展開できる。
【0003】
NMSまたは他のアクターが展開されても、使いにくい場合がある。通信ネットワークは進化し続けているが、その管理は依然として複雑なデバイス中心のタスクであり、このタスクは、目標デバイスおよび接続を見つけてそれらを手動で再構成することを伴う。人間ベースのコマンド生成のステップでは、多くの場合、構成エラーが発生し、ユーティリティシステムまたは通信ネットワークが潜在的に中断され得る。しかし、このようなネットワークの機能停止は、電力グリッドなどのミッションクリティカルなネットワークでは許されない。
【0004】
オペレータは個々のデバイス設定を非常に熟知し、正しいコマンドを正確に実行することが求められるため、構成エラーが頻繁に発生し得る。しかし、実際には、そのようなステップは複雑であることが多く、複数の従属サブタスクを伴う。例えば、イントラネットサーバーからクラウドへのバックアップを検索するには、1)他のフローを抑制しない実行可能な帯域幅パスを見つけることと、2)ファイアウォールを作成して適切なフローをホワイトリストに登録することと、3)関連するスイッチに適切なルールをインストールすることと、を含み得る。また、過去に実行された一連の動作と、その結果生じるネットワーク状態の変化を追跡することも困難である。
【0005】
したがって、ユーティリティシステム、産業システム、または通信ネットワークのNMSまたは他のアクターに発行する必要があるコマンドの生成は困難であり、広範なシステム知識と経験とが必要であり、十分にトレーニングされた専門家によって実行される場合でも、エラーが発生しやすい場合がある。
【0006】
米国特許第10 585 957号は、ユーザの意図を識別するための技術を開示している。
【0007】
M. Kiranら、「Enabling Intent to Configure Scientific Networks for High Performance Demands」、Future Generation Computer Systems、Int.J.Electron.Telecommun.60(4)、2014年は、科学ネットワークにおけるデータ集約型の活動のためのツールを提供する。
【発明の概要】
【発明が解決しようとする課題】
【0008】
概要
ユーティリティシステム、産業システム、または通信ネットワーク、特に産業システムまたはユーティリティシステムの通信ネットワークにおいてタスクの実行を開始するための改善された技術を提供する必要がある。特に、人間が生成するコマンドに依存する従来のアプローチよりもエラーが発生しにくく、目的のタスクを簡単な方法で開始できるようにする改善された技術が必要である。ユーティリティシステム、産業システムまたは通信ネットワークを試運転するとき、または使用中にユーティリティシステム、産業システム、または通信ネットワークを再構成するときに、フロー管理、デバイス構成または再構成、またはその他のタスクを実行できるようにする改善された技術が必要である。
【課題を解決するための手段】
【0009】
本発明によれば、自然言語入力が受信され、解釈されて、フロー管理または他のユーティリティシステムアクション、産業システムアクション、または通信ネットワークアクションの意図を決定する方法およびシステムが提供される。
【0010】
本発明によるシステムおよび方法は、自然言語で表現されたユーザ(例えば、ネットワークオペレータ)の意図を理解し、高レベルの意図をサブタスクに分解し、ネットワーク管理システム(NMS)やユーティリティシステム、産業システム、または通信ネットワーク内の別のアクターとインターフェースすることによって、適切なコマンドをトリガするように動作する。
【0011】
本発明によるシステムおよび方法は、人間のユーザ(例えば、オペレータ)の認知負荷を低減し、それによって構成エラーのリスクを低減することを可能にする。これにより、次いで、ユーティリティシステム、産業システム、または通信ネットワークのコスト、トラブルシューティングの労力と時間、およびダウンタイムを削減することができる。
【0012】
自然言語入力で表現された意図されたタスクを入力として受信し、タスクの実装を実行するために適切なネットワークコマンドを自動的にまたは半自動的に生成および出力するように動作する意図ベースのネットワーク(IBN)を提供することができる。
【0013】
ネットワークの意図は、単純なタスク(スイッチにルールをインストールするなど)を含むことも、複雑なタスクであることもできる。したがって、IBNは、単純な意図とk>1個の単純な意図で構成される複合意図の両方を識別するように動作し得る。
【0014】
IBNは、分類モデルを生成するために、単純な意図と複合意図のセットでトレーニングすることができる。ネットワークエンティティは、設定された意図に基づいてIBNによって抽出することもできる。その後、ユーザが自然言語入力を入力すると、IBNは入力テキストを意図クラスに分類し、ネットワークエンティティがある場合はそれを識別する。
【0015】
2つの類似したテキストは2つの異なる意図クラスに属し得るため、分類プロセス中にあいまいさが生じ得る。これに対処するために、意図分類信頼情報を決定し、コマンドを生成および/または出力するときに考慮に入れることができる。説明のために、分類ツリーを自動的に作成し、信頼スコアが最も高いパスを識別することができる。パス(またはサブパス)のルートでの意図は、最も可能性の高い目標意図として識別される。システムは、ユーザインターフェースでユーザフィードバックを介して識別された意図されたタスクを確認するように動作し得る。
【0016】
IBNは、ユーティリティシステム、産業システム、または通信ネットワーク内のNMSまたは他のアクターと通信し、それにコマンドを発行するように動作し得る。NMSまたは他のアクターは、次にネットワークタスクをトリガして、自然言語入力によって表現されるタスクを実現する。すべてのタスクが実行されると、NMSまたは他のアクターはネットワーク状態を捕捉してIBNに通信できる。
【0017】
意図解決プロセスはステートフルであり得る。IBNは、意図とネットワークコマンドとのトランザクションを維持する。これにより、コマンド生成システムおよび方法は、次に出力されるべきコマンドを決定する際に、以前に識別された意図および/または以前に出力されたコマンドを考慮に入れる。ユーザ(例えば、ネットワークオペレータ)は、以前に発行されたコマンドおよび/またはネットワーク状態を追跡する必要がもはやなくなる。これにより、IBNを使用した構成または再構成プロセスが簡素化され、構成ミスのリスクが軽減される。
【0018】
本発明の一態様によれば、ユーティリティシステム、産業システムまたは通信ネットワークのアクターにコマンドを発行するためのコマンド生成システムが提供される。コマンド生成システムは、実行されるタスクを指定する自然言語入力を受信するように動作する第1のインターフェースを備える。コマンド生成システムは、自然言語入力によって表現されるユーザの意図を決定し、決定された意図に基づいて少なくとも1つのコマンドを生成するステートフル意図解決プロセスを実行するように動作する1つまたは複数の処理モジュールを含む。コマンド生成システムは、ユーティリティシステム、産業システム、または通信ネットワークでタスクを実行させるために、少なくとも1つのコマンドをアクターに発行するように動作する第2のインターフェースを備える。
【0019】
コマンド生成システムは、意図ベースのネットワーク(IBN)を実装し得る。
アクターは、管理または制御システムであり得る。アクターは、ネットワーク管理システム(NMS)であり得る。
【0020】
コマンド生成システムは、1つまたは複数の意図トランザクションを維持するように動作し、終了基準が満たされていない場合は、同じセッション内で以前に識別された意図に関する情報を提供する意図トランザクションを使用して、意図解決を実行し得る。
【0021】
アクターは、ユーティリティシステム、産業システム、またはユーティリティシステムもしくは産業システムの通信ネットワークの管理または制御システムであり得る。
【0022】
コマンド生成システムは、ユーザの意図の識別がどれほど信頼できるかを定量的に決定し、信頼情報を使用してコマンドを自動的に出力できるかどうか、またはユーザの確認が必要かどうかを決定するように動作することができる。
【0023】
コマンド生成システムは、ユーティリティシステム(配電グリッドや送電グリッドなどの電力グリッド、ガス、水、廃水、またはその他の流体などの少なくとも1つの流体のフローを可能にして制御するための流体グリッド、または他のユーティリティシステムなど)である可能性のある制御システムに、コマンドを生成して発行するように動作することができる。
【0024】
コマンド生成システムは、産業自動化制御システム(IACS)を有する産業システムなどの産業システムであり得る制御システムにコマンドを生成して発行するように動作し得る。制御システムは、電力グリッドの変電所であり得る。
【0025】
コマンド生成システムは、通信ネットワーク、特にユーティリティシステム(電力グリッドまたは別のユーティリティグリッドなど)または産業システムの通信ネットワークであり得る制御システムにコマンドを生成して発行するように動作し得る。制御システムは、電力システムまたは電力システム変電所の通信ネットワークであり得る。
【0026】
コマンド生成システムは、以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用して、ステートフル意図解決プロセスを実行するように動作し得る。
【0027】
コマンド生成システムは、以前に識別された意図および/または以前に発行されたコマンドに関する情報を記憶するデータ記憶システムを含むか、または通信可能に結合され得る。
【0028】
データ記憶システムは、IBNで提供され得る。
データ記憶システムは、ユーティリティシステム、産業システム、または通信ネットワークに提供することができる。
【0029】
コマンド生成システムは、決定された意図および/または少なくとも1つのコマンドに関する情報をデータ記憶システム内に記憶させるように動作し得る。
【0030】
コマンド生成システムは、タスクがユーティリティシステム、産業システム、または通信ネットワークで実行されたことの確認に応答して、決定された意図および/または少なくとも1つのコマンドに関する情報をデータ記憶システム内に記憶させるように動作し得る。
【0031】
確認には、ユーティリティシステム、産業システム、または通信ネットワークからのデータの受信が含まれ得る。
【0032】
コマンド生成システムは、少なくとも1つのコマンドを発行する前に、自然言語入力によって表現されるユーザの意図が、以前に識別された意図および/または以前に発行されたコマンドと一致することを検証することを含む検証を実行するように動作し得る。
【0033】
以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用する代わりに、または追加的に、コマンド生成システムは、ユーティリティシステム、産業システム、または通信ネットワークの状態に関する状態情報を検索するように動作し得る。
【0034】
コマンド生成システムは、少なくとも1つのコマンドを発行する前に、自然言語入力によって表現されるユーザの意図が検索された状態情報と一致することを検証することを含む検証を実行するように動作し得る。
【0035】
コマンド生成システムは、コマンド生成システムによってトリガされないユーティリティシステム、産業システム、または通信ネットワークの1つまたは複数の変更を示すメッセージを、ユーティリティシステム、産業システム、または通信ネットワークから受信および処理するように動作し得る。このような変更は、制御もしくは保護機能、または手動の構成、または再構成タスクによって引き起こされ得る。
【0036】
コマンド生成システムは、ユーティリティシステム、産業システム、または通信ネットワークの変更に基づいて、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態が、以前に識別された意図および/または以前に発行されたコマンドと依然として一致しているかを自動的に決定するように動作することができる。
【0037】
コマンド生成システムは、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態が、以前に識別された意図および/または以前に発行されたコマンドと一致していないと決定したことに応答して、追加のコマンドを自動的に生成および出力するように動作し得る。
【0038】
コマンド生成システムは、追加のコマンドを自動的に生成および出力して、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態を、以前に識別された意図および/または以前に発行されたコマンドに適合させるように動作し得る。
【0039】
コマンド生成システムは、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態が以前に識別された意図および/または以前に発行されたコマンドと一致していないと決定した場合、ユーザ入力を受信せずに追加のコマンドを自動的に生成および出力するように動作し得る。
【0040】
コマンド生成システムは、自然言語入力を少なくとも1つの意図クラスに割り当てるように動作し得る。
【0041】
意図クラスは、複数の単純な意図および複数の複合意図からなるグループから選択することができる。
【0042】
複数の複合意図の各複合意図は、複数の単純な意図から選択される2つ以上の単純な意図から構成され得る。
【0043】
コマンド生成システムは、複数の複合意図を自動的に生成するように動作し得る。
コマンド生成システムは、複数の単純な意図から選択された単純な意図の自然言語処理(NLP)ベースの組合せによって、複数の複合意図を自動的に生成するように動作し得る。
【0044】
ステートフル意図解決プロセスは、自然言語入力を少なくとも1つの意図クラスに割り当てることを含み得る。
【0045】
コマンド生成システムは、異なる意図クラスへの分類の信頼情報を決定するように動作することができる。
【0046】
信頼情報はスカラー数値であってもよい。
信頼情報は、分類結果の信頼性を定量化し得る。
【0047】
信頼情報は、メトリックに従って決定することができる。
コマンド生成システムは、信頼情報を使用して、自然言語入力を少なくとも1つの意図クラスに割り当てる、および/または信頼情報を出力するように動作することができる。
【0048】
コマンド生成システムは、信頼情報を決定するための信頼ツリーを生成するように動作し得る。
【0049】
信頼ツリーの各ノードは、複数の単純な意図のうちの1つまたは複数の複合意図のうちの1つに関連付けられてもよい。
【0050】
代替的または追加的に、信頼ツリーは、複数の複合意図のうちの1つに関連付けられた少なくとも1つのノードと、それぞれが複数の単純な意図から選択された単純な意図に関連付けられた少なくとも2つのノードとを含み得る。
【0051】
代替的または追加的に、複数の複合意図のうちの1つに関連付けられた信頼ツリーのノードは、複数の複合意図のうちの1つが形成される複合意図または単純な意図に関連付けられた子ノードを有する。
【0052】
異なる意図クラスの信頼情報を決定することは、信頼ツリーのノードおよび/またはリンクに割り当てられた信頼値に基づいて、ツリーを通るすべての可能なパスの中からツリーを通るパスを識別することを含み得る。
【0053】
パスの信頼情報の決定には、各ノードの信頼値(それぞれの自然言語入力に対して決定)を、祖先ノードの信頼値がゼロになるまで、リーフノードから上向きにツリーに沿ってそれぞれの祖先ノードへのパスに沿って、乗算することを含み得る。
【0054】
信頼ツリーから最も可能性の高い意図を決定することは、パスに沿った信頼情報が最大であるルートノードの子ノードを決定することを含み得る。
【0055】
コマンド生成システムは、自然言語入力から少なくとも1つの意図クラスの1つまたは複数の属性を識別するように動作することができる。
【0056】
コマンド生成システムは、少なくとも1つのコマンドが、識別された1つまたは複数の属性に依存するように動作し得る。
【0057】
属性は、制御されたユーティリティシステム、産業システム、または通信ネットワーク内のシステムエンティティを識別する属性を含むことができる。
【0058】
(部分的な)オントロジーを使用して、自然言語入力に基づいてシステムエンティティを識別することができる。
【0059】
識別された1つまたは複数の属性は、フローのソース、フローの目標、実行されるべきアクション、サービス品質、仮想ネットワーク機能の識別子のうちの1つまたは複数を含み得る。
【0060】
コマンド生成システムは、1つまたは複数の意図トランザクションを維持するように動作し得る。
【0061】
コマンド生成システムは、それぞれが異なるユーザに関連付けられている複数の異なる意図トランザクションを同時に維持するように動作し得る。
【0062】
コマンド生成システムは、自然言語入力が受信されたユーザのアクティブな意図トランザクションがない場合、自然言語入力の受信に応答して意図トランザクションを確立するように動作し得る。
【0063】
コマンド生成システムは、自然言語入力によって表現された決定された意図の少なくとも識別子を意図トランザクションに含めるように動作し得る。
【0064】
コマンド生成システムは、決定された意図の実行時間を意図トランザクションに含めるように動作し得る。
【0065】
実行時間は、開始時間と終了時間を含んでもよい。
コマンド生成システムは、終了基準が満たされていない場合、同じユーザのさらなる自然言語入力によって表現されるさらなるユーザの意図を意図トランザクションに追加するように動作することができる。これは、意図トランザクションへの、さらなる自然言語入力によって表現されるユーザのさらなる意図のためのさらなる識別子を追加することを含み得る。ユーザのさらなる意図の実行時間は、任意で意図トランザクションに追加することができる。
【0066】
コマンド生成システムは、終了基準が満たされていない場合、意図トランザクション(つまり、同じセッション内で以前に識別された意図に関する情報)を使用して意図解決を実行するように動作することができる。
【0067】
コマンド生成システムは、終了基準が満たされている場合、意図トランザクションへのさらなるユーザの意図の追加を終了するように動作することができる。
【0068】
終了基準は、時間閾値基準、意図トランザクションを終了するためのコマンドの受信、以前の意図トランザクションをロードするためのコマンドの受信のうちのいずれか1つまたはそれらの任意の組合せを含み得る。
【0069】
コマンド生成システムは、第1のユーザに対する第1の意図トランザクションと、第1のユーザとは異なる第2のユーザに対する第2の意図トランザクションとを同時に維持および更新するように動作し得る。
【0070】
コマンド生成システムは、ユーティリティシステム、産業システム、または通信ネットワークを継続的に監視するように動作する意図スーパーバイザを実行するように動作し得る。
【0071】
意図スーパーバイザは、ユーティリティシステム、産業システム、または通信ネットワークの変更にコマンド生成システムの自動適応を保証するように動作することができる。
【0072】
ユーティリティシステム、産業システム、または通信ネットワークの変更に対するコマンド生成システムの自動適応を保証することは、トポロジおよび/またエンティティの状態の変化の検出に応答して、少なくとも1つの追加コマンドを自動的に生成および発行し、自然言語入力によって表現されるユーザの意図に従ってユーティリティシステム、産業システム、または通信ネットワークが動作し続けることを保証することと、自然言語入力によって表現された決定された意図が、以前に受信したユーザの意図および/またはユーティリティシステム、産業システム、または通信ネットワークの状態と一致していることを検証することと、少なくとも1つのコマンドの実行により、ユーティリティシステム、産業システム、または通信ネットワークが目標状態に到達することを検証することと、のうちの1つまたは複数を含み得る。
【0073】
第1のインターフェースは、自然言語入力をテキスト入力として受信するように動作し得る。
【0074】
第1のインターフェースは、Webベースのインターフェースであってもよい。
第1のインターフェースは、自然言語入力を音声入力として受信するように動作し得る。
【0075】
コマンド生成システムは、ステートフル意図解決プロセスを実行する前に、音声入力をテキスト入力に変換するための音声テキスト変換モジュールを備えてもよい。
【0076】
第1のインターフェースは、グラフィカルユーザインターフェースを介してフリーハンドユーザ入力として自然言語入力を受信するように動作し得る。
【0077】
コマンド生成システムは、意図分類を実行するための少なくとも1つの分類器モデルをトレーニングするために、ラベル付き自然言語入力を使用するように動作することができる。
【0078】
コマンド生成システムは、エンティティ抽出器をトレーニングするためにラベル付き自然言語入力を使用するように動作し、自然言語入力から制御システムのシステムエンティティを抽出するように動作し得る。
【0079】
コマンド生成システムは、追加のトレーニングデータを生成するために、ラベル付き自然言語入力にNLP技術を適用するように動作し得る。
【0080】
追加のトレーニングデータは、いくつかのラベル付き単純な意図で構成される複合意図を含み得る。
【0081】
本発明の別の態様によれば、アクターを有するユーティリティシステム、産業システム、または通信ネットワークを含むシステム、および少なくとも1つのコマンドをアクターに発行するように動作する本発明のコマンド生成システムが提供される。
【0082】
アクターは、管理または制御システム、特にネットワーク管理システム(NMS)であり得る。
【0083】
制御システムはユーティリティシステム(電力グリッドなど、例えば配電グリッドまたは送電グリッド、別の電力システム、ガス、水、廃水、または他の流体などの少なくとも1つの流体のフローを可能にして制御するための流体グリッド、あるいは他のユーティリティシステム)であり得る。
【0084】
産業自動化制御システム(IACS)を有する産業システムなどの産業システムであり得る制御システム。
【0085】
制御システムは、電力グリッドの変電所であり得る。
制御システムは、通信ネットワーク、特にユーティリティシステム(電力グリッドまたは別のユーティリティグリッドなど)または産業システムの通信ネットワークであり得る。制御システムは、電力システムまたは電力システム変電所の通信ネットワークであり得る。
【0086】
本発明の別の態様によれば、ユーティリティシステム、産業システム、または通信ネットワークにコマンドを発行する方法が提供される。この方法は、第1のインターフェースで、タスクを指定する自然言語入力を受信することと、ステートフル意図解決プロセスを実行して、自然言語入力によって表現されるユーザの意図を決定することと、決定された意図に基づいて少なくとも1つのコマンドを生成することと、第2のインターフェースで、タスクの実行のために少なくとも1つのコマンドをアクターに発行することと、を含む。
【0087】
この方法は、少なくとも1つの集積回路を使用して自動的に実行することができる。
この方法は、意図ベースのネットワーク(IBN)を使用して自動的に実行できる。IBNは、ステートフル意図解決プロセスを実行し、少なくとも1つのコマンドを生成するように動作する1つまたは複数の集積回路を備え得る。
【0088】
アクターは、管理または制御システムであり得る。アクターは、ネットワーク管理システム(NMS)であり得る。
【0089】
コマンドはユーティリティシステム(例えば、配電グリッドや送電グリッドなどの電力グリッド、ガス、水、廃水、または他の流体などの少なくとも1つの流体のフローを可能にして制御するための流体グリッド、あるいは他のユーティリティシステムなど)に出力され得る。
【0090】
コマンドは、産業自動化制御システム(IACS)を有する産業システムなどの産業システムに出力することができる。制御システムは、電力グリッドの変電所であり得る。
【0091】
コマンドは、通信ネットワーク、特にユーティリティシステム(電力グリッドまたは別のユーティリティグリッドなど)または産業システムの通信ネットワークに出力することができる。制御システムは、電力システムまたは電力システム変電所の通信ネットワークであり得る。
【0092】
ステートフル意図解決プロセスは、以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用することができる。
【0093】
ステートフル意図解決プロセスを実行することは、データ記憶システムから、以前に識別された意図および/または以前に発行されたコマンドに関する情報を検索することを含むことができる。
【0094】
データ記憶システムは、IBNで提供され得る。
データ記憶システムは、ユーティリティシステム、産業システム、または通信ネットワークに提供することができる。
【0095】
この方法は、決定された意図および/または少なくとも1つのコマンドに関する情報をデータ記憶システム内に記憶させることを含み得る。
【0096】
この方法は、タスクがユーティリティシステム、産業システム、または通信ネットワークで実行されたことの確認に応答して、決定された意図および/または少なくとも1つのコマンドに関する情報をデータ記憶システム内に記憶させることを含み得る。
【0097】
確認には、ユーティリティシステム、産業システム、または通信ネットワークからのデータの受信が含まれ得る。
【0098】
この方法は、自然言語入力によって表現されるユーザの意図が、少なくとも1つのコマンドを発行する前に、以前に識別された意図および/または以前に発行されたコマンドと一致することを検証することを含む検証を実行することを含み得る。
【0099】
以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用する代わりに、または追加的に、この方法は、ユーティリティシステム、産業システム、または通信ネットワークの状態に関する状態情報を検索することを含むことができる。
【0100】
この方法は、自然言語入力によって表現されるユーザの意図が、少なくとも1つのコマンドを発行する前に、検索された状態情報と一致していることを検証することを含む検証を実行することを含み得る。
【0101】
この方法は、コマンド生成システムによってトリガされないユーティリティシステム、産業システム、または通信ネットワークの1つまたは複数の変更を示す、ユーティリティシステム、産業システム、または通信ネットワークからのメッセージを受信および処理することを含み得る。このような変更は、制御または保護機能、または手動の構成または再構成タスクによって引き起こされ得る。
【0102】
この方法は、ユーティリティシステム、産業システム、または通信ネットワークの変更に基づいて、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態が、以前に識別された意図および/または以前に発行されたコマンドと依然として一致しているかどうかを自動的に決定することを含んでもよい。
【0103】
この方法は、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態が、以前に識別された意図および/または以前に発行されたコマンドと一致しないと決定したことに応答して、追加のコマンドを自動的に生成および出力することを含み得る。
【0104】
この方法は、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態を、以前に識別された意図および/または以前に発行されたコマンドに適合させるために、追加のコマンドを自動的に生成および出力することを含み得る。
【0105】
この方法は、ユーティリティシステム、産業システム、または通信ネットワークの現在の状態が、以前に識別された意図および/または以前に発行されたコマンドと一致していないと決定した場合に、ユーザ入力を受信せずに追加のコマンドを自動的に生成および出力することを含み得る。
【0106】
この方法は、自然言語入力を少なくとも1つの意図クラスに割り当てることを含み得る。
【0107】
意図クラスは、複数の単純な意図および複数の複合意図からなるグループから選択することができる。
【0108】
複数の複合意図の各複合意図は、複数の単純な意図から選択される2つ以上の単純な意図から構成され得る。
【0109】
この方法は、複数の複合意図を自動的に生成することを含み得る。
この方法は、複数の単純な意図から選択された単純な意図の自然言語処理(NLP)ベースの組合せによって複数の複合意図を自動的に生成することを含み得る。
【0110】
ステートフル意図解決プロセスは、自然言語入力を少なくとも1つの意図クラスに割り当てることを含み得る。
【0111】
この方法は、異なる意図クラスへの分類の信頼情報を決定することを含み得る。
信頼情報はスカラー数値であってもよい。
【0112】
信頼情報は、分類結果の信頼性を定量化し得る。
信頼情報はメトリックであり得る。
【0113】
この方法は、信頼情報を使用して、自然言語入力を少なくとも1つの意図クラスに割り当てること、および/または信頼情報を出力することを含み得る。
【0114】
この方法は、信頼情報を決定するために信頼ツリーを生成することを含み得る。
信頼ツリーの各ノードは、複数の単純な意図のうちの1つまたは複数の複合意図のうちの1つに関連付けられてもよい。
【0115】
代替的または追加的に、信頼ツリーは、複数の複合意図のうちの1つに関連付けられた少なくとも1つのノードと、それぞれが複数の単純な意図から選択された単純な意図に関連付けられた少なくとも2つのノードとを含み得る。
【0116】
代替的または追加的に、複数の複合意図のうちの1つに関連付けられた信頼ツリーのノードは、複数の複合意図のうちの1つが形成される複合意図または単純な意図に関連付けられた子ノードを有する。
【0117】
異なる意図クラスの信頼情報を決定することは、信頼ツリーのノードおよび/またはリンクに割り当てられた信頼値に基づいて、ツリーを通るすべての可能なパスの中からツリーを通るパスを識別することを含み得る。
【0118】
パスの信頼情報の決定には、各ノードの信頼値(それぞれの自然言語入力に対して決定)を、祖先ノードの信頼値がゼロになるまで、リーフノードから上向きにツリーに沿ってそれぞれの祖先ノードへのパスに沿って、乗算することを含み得る。
【0119】
この方法は、自然言語入力から少なくとも1つの意図クラスの1つまたは複数の属性を識別することを含むことができる。
【0120】
少なくとも1つのコマンドは、識別された1つまたは複数の属性に依存するように生成され得る。
【0121】
属性は、制御システムのシステムエンティティを識別する属性を含むことができる。
制御システムの(部分的な)オントロジーを使用して、システムエンティティを識別することができる。
【0122】
識別された1つまたは複数の属性は、フローのソース、フローの目標、実行されるべきアクション、サービス品質、仮想ネットワーク機能の識別子のうちの1つまたは複数を含み得る。
【0123】
この方法は、1つまたは複数の意図トランザクションを維持することを含み得る。
この方法は、それぞれが異なるユーザに関連付けられている複数の異なる意図トランザクションを同時に維持することを含み得る。
【0124】
この方法は、自然言語入力が受信されたユーザのアクティブな意図トランザクションがない場合、自然言語入力の受信に応答して意図トランザクションを確立することを含むことができる。
【0125】
この方法は、自然言語入力によって表現された決定された意図の少なくとも識別子を意図トランザクションに含めることを含み得る。
【0126】
この方法は、決定された意図の実行時間を意図トランザクションに含めることを含み得る。
【0127】
実行時間は、開始時間と終了時間を含んでもよい。
この方法は、終了基準が満たされていない場合、同じユーザのさらなる自然言語入力によって表現されるさらなるユーザの意図を意図トランザクションに追加することを含み得る。これは、意図トランザクションへのさらなる自然言語入力によって表現されるユーザのさらなる意図のためのさらなる識別子を追加することを含み得る。ユーザのさらなる意図の実行時間は、任意で意図トランザクションに追加することができる。
【0128】
この方法は、終了基準が満たされていない場合、意図トランザクション(すなわち、同じセッション内で以前に識別された意図に関する情報)を使用して意図解決を実行することを含み得る。
【0129】
この方法は、終了基準が満たされている場合、意図トランザクションへのさらなるユーザの意図の追加を終了することを含み得る。
【0130】
終了基準は、時間閾値基準、意図トランザクションを終了するためのコマンドの受信、以前の意図トランザクションをロードするためのコマンドの受信のうちのいずれか1つまたはそれらの任意の組合せを含み得る。
【0131】
この方法は、第1のユーザに対する第1の意図トランザクションと、第1のユーザとは異なる第2のユーザに対する第2の意図トランザクションとを同時に維持および更新することを含み得る。
【0132】
この方法は、意図スーパーバイザによって、ユーティリティシステム、産業システム、または通信ネットワークを継続的に監視することを含み得る。
【0133】
この方法は、意図スーパーバイザによって、ユーティリティシステム、産業システム、または通信ネットワークの変更に対するコマンド生成システムの自動適応を保証することを含み得る。
【0134】
ユーティリティシステム、産業システム、または通信ネットワークの変更に対するコマンド生成システムの自動適応を保証することは、トポロジおよび/またはエンティティ状態の変化の検出に応答して、少なくとも1つの追加コマンドを自動的に生成および発行し、ユーティリティシステム、産業システム、または通信ネットワークが、自然言語入力によって表現されたユーザの意図に従って動作し続けることを確認することと、自然言語入力によって表現された決定された意図が、以前に受信したユーザの意図および/またはユーティリティシステム、産業システム、または通信ネットワークの状態と一致していることを検証することと、少なくとも1つのコマンドの実行により、ユーティリティシステム、産業システム、または通信ネットワークが目標状態に到達することを検証することと、のうちの1つまたは複数を含み得る。
【0135】
第1のインターフェースは、自然言語入力をテキスト入力として受信するように動作し得る。
【0136】
第1のインターフェースは、Webベースのインターフェースであってもよい。
第1のインターフェースは、自然言語入力を音声入力として受信するように動作し得る。
【0137】
この方法は、ステートフル意図解決プロセスを実行する前に、音声テキスト変換モジュールを使用して音声入力をテキスト入力に変換することを含むことができる。
【0138】
第1のインターフェースは、グラフィカルユーザインターフェースを介してフリーハンドユーザ入力として自然言語入力を受信するように動作し得る。
【0139】
この方法は、グラフィカルユーザインターフェースを介して受信した入力から自然言語入力を抽出することを含み得る。
【0140】
この方法は、意図分類を実行するための少なくとも1つの分類器モデルをトレーニングするために、ラベル付き自然言語入力を使用することを含み得る。
【0141】
この方法は、自然言語入力から制御システムのシステムエンティティを抽出するように動作するエンティティ抽出器をトレーニングするために、ラベル付き自然言語入力を使用することを含み得る。
【0142】
この方法は、追加のトレーニングデータを生成するために、ラベル付き自然言語入力にNLP技術を適用することを含むことができる。
【0143】
追加のトレーニングデータは、いくつかのラベル付き単純な意図で構成される複合意図を含み得る。
【0144】
本発明の他の実施形態によれば、一実施形態によるコマンド生成システムまたはIBNの少なくとも1つの分類器モデルをトレーニングすることを含む方法が提供される。
【0145】
この方法は、意図分類を実行するための少なくとも1つの分類器モデルをトレーニングするために、ラベル付き自然言語入力を使用することを含み得る。
【0146】
この方法は、自然言語入力から制御システムのシステムエンティティを抽出するように動作するエンティティ抽出器をトレーニングするために、ラベル付き自然言語入力を使用することを含み得る。
【0147】
この方法は、追加のトレーニングデータを生成するために、ラベル付き自然言語入力にNLP技術を適用することを含むことができる。
【0148】
本発明の他の実施形態によれば、コマンド生成システム、特にIBNを実装するコマンド生成システムを使用して、ユーティリティシステムの少なくとも1つのデバイスを構成または再構成するためのユーザの自然言語入力に従ってタスクの実装を引き起こす方法が提供される。
【0149】
ユーティリティシステムは、電力システムであり得るか、または電力システムを含み得る。
【0150】
ユーティリティシステムは、配電システムまたは送電システムであり得るか、またはそれらを含み得る。
【0151】
ユーティリティシステムは、流体フローシステムであり得るか、または流体フローシステムを含み得る。
【0152】
流体フローシステムは、流体の制御されたフローを可能にするように動作し得る。
流体は、ガス、水、淡水、廃水、化石燃料、油、または他の流体のうちのいずれか1つまたはそれらの任意の組合せを含み得る。
【0153】
本発明の他の実施形態によれば、産業システムの少なくとも1つのデバイスを構成または再構成するための、ユーザの自然言語入力に従ってタスクの実装を引き起こすためのコマンド生成システム、特にIBNを使用することを含む方法が提供される。
【0154】
産業システムは、IACSを有する産業システムであり得るか、またはそれらを含み得る。
【0155】
産業システムは、変電所を含み得る。
本発明の他の実施形態によれば、コマンド生成システム、特にIBNを実装するコマンド生成システムを使用して、通信ネットワークの少なくとも1つのデバイスを構成または再構成するための、ユーザの自然言語入力に従ってタスクの実装を引き起こす方法が提供される。
【0156】
通信ネットワークは、IACSの通信ネットワークであり得る。
通信ネットワークは、電力システムの通信ネットワークなどのユーティリティシステムの通信ネットワークであり得る。
【0157】
通信ネットワークは、産業システムの通信ネットワークであり得る。
この方法は、自然言語入力を使用してデバイス設定を変更するために使用できる。
【0158】
自然言語入力は、テキスト入力または音声入力の場合がある。
コマンド生成システム、特にIBNの使用は、ユーザがグラフィカルユーザインターフェース(GUI)のメニューをナビゲートする必要がなく、コマンド生成システムを使用してデバイス設定の変更を実装することを含み得る。
【0159】
IBNは、ユーティリティシステム、産業システム、または通信ネットワークの試運転、構成、または再構成を簡素化するために使用することができる。
【0160】
IBNは、自然言語入力に応答して、ユーティリティシステム、産業システム、または通信ネットワークの試運転、構成、または再構成中に、少なくとも1つのデバイスのデバイス設定を変更するために使用することができる。
【0161】
本発明の別の態様によれば、少なくとも1つの処理デバイス、特に少なくとも1つの集積回路、特に少なくとも1つのコンピュータによって実行可能な命令コードが提供され、少なくとも1つの処理デバイスに任意の実施形態による方法を自動的に実行させる。
【0162】
本発明の別の態様によれば、少なくとも1つの処理デバイス、特に少なくとも1つの集積回路、特に少なくとも1つのコンピュータによって実行可能な命令コードを記憶した記憶媒体が提供され、これにより、少なくとも1つの処理デバイスに任意の実施形態による方法を自動的に実行させる。
【0163】
記憶媒体は、非一時的な記憶媒体であってもよい。
本発明による方法、デバイス、およびシステムは、ユーティリティシステム、産業システム、または通信ネットワークの試運転および/または現場動作中に、直感的な方法でフロー管理などのアクションを開始するために使用することができる。
【0164】
ユーザの意図は自然言語入力に基づいて決定され、小さな変更を実装するためにも複雑なNMSメニューをナビゲートする必要がある場合にエンジニアが直面する複雑さと課題がなくなる。
【0165】
本発明による方法、デバイス、およびシステムは、IACSの通信ネットワーク、例えば、発電、送電または配電システムの通信ネットワークに関連して使用することができる。本発明による方法、デバイス、およびシステムは、通信フローおよび/または電力フローを直感的な方法で管理することを可能にするが、他のアクションにも使用することができる。
【0166】
本発明の主題は、添付の図面に示されている好ましい例示的な実施形態を参照して、より詳細に説明される。
【図面の簡単な説明】
【0167】
図1】ユーザ入力デバイスおよび制御システムに結合されたコマンド生成システムの概略図である。
図2】方法のフローチャートである。
図3】コマンド生成システムの概略図である。
図4】方法のフローチャートである。
図5】コマンド生成システムの概略図である。
図6】方法のフローチャートである。
図7】意図トランザクションテーブルの実装を表す図である。
図8】意図ベースのネットワークを実装するコマンド生成システムの状態図である。
図9】ユーザ入力デバイスおよび制御システムに結合されたコマンド生成システムの概略図である。
図10】単純な意図と複合意図のセットを表す図である。
図11】方法のフローチャートである。
図12】方法のフローチャートである。
図13】信頼ツリーを表す図である。
図14】信頼ツリーを表す図である。
図15】方法のフローチャートである。
図16】部分的なネットワークオントロジーを示す図である。
図17】システムを示す図である。
図18】入力デバイスの概略図である。
【発明を実施するための形態】
【0168】
実施形態の詳細な説明
本発明の例示的な実施形態は、同一または類似の参照符号が同一または類似の要素を示す図面を参照して説明される。いくつかの実施形態は、通信システム、あるいは発電システム、送電システム、または配電システムの他のコンポーネントの文脈で説明されるが、以下に詳細に説明する方法およびデバイスは、他のユーティリティシステムまたは産業システムなどの多種多様なシステムで使用することができる。
【0169】
実施形態の特徴は、特に他で明記しない限り、互いに組み合わせることができる。
本発明の実施形態によれば、自然言語入力を受信、解釈、および適切なネットワークアクションに変換することを可能にするコマンド生成システムおよび方法が提供される。
【0170】
コマンド生成システムおよび方法は、テキストおよび/または音声による自然言語入力を処理し、自然言語入力から意図を、および任意でネットワークエンティティを決定し、コマンドを自動的に生成し、ユーティリティシステム、産業システム、または通信ネットワーク内のネットワーク管理システム(NMS)またはその他のアクターに出力するように動作する。
【0171】
コマンド生成システムおよび方法は、ステートフル意図解決を実行するように動作する。以前に識別された意図、以前に発行されたコマンド、および/またはユーティリティシステム、産業システム、または通信ネットワークの状態は、コマンド生成システムおよび方法によって考慮され得る。例えば、意図解決に基づいて生成されるコマンドを生成および/または出力する前に、コマンド生成システムは、発行されるべきコマンドが、以前に識別された意図、以前に発行されたコマンド、および/またはユーティリティシステム、産業システム、または通信ネットワークの状態と一致していることを検証することができる。コマンド生成システムは、コマンドが、以前に識別された意図、以前に発行されたコマンド、および/またはユーティリティシステム、産業システム、または通信ネットワークの状態と一致する場合にのみ、意図解決に基づいて生成されたコマンドを選択的に生成および/または出力することができる。
【0172】
本明細書で使用される場合、制御システムの「アクター」は、制御システムにコマンドを実装するように動作するデバイスまたはデバイスのセットである。これは、インテリジェント電子デバイス(IED)または通信ネットワークデバイスなどの1つまたは複数の制御デバイスの設定および/または他の構成データを変更することを含み得る。
【0173】
アクターは、制御システムの管理または制御システムを含むか、またはそれらであり得る。アクターはネットワーク管理システム(NMS)であり得る。
【0174】
本明細書で使用される場合、「ネットワーク管理システム」という用語は、コンピュータネットワークなどのネットワークをプロビジョニング、発見、監視、および保守するように動作するシステムを指す。ネットワーク管理システムは、コンピュータ可読命令コードを実行して、コンピュータネットワークなどのネットワークをプロビジョニング、検出、監視、および保守するように動作する1つまたは複数の集積回路を使用して実装することができる。
【0175】
本明細書で使用される場合、「一貫性のある」または「一貫性」という用語は、競合(コンフリクト)がないことを指す。一貫性を保証するデバイス、システム、または方法は、例えば、制御システムのシステム状態、以前に識別された意図、および/または以前に発行されたコマンドと競合しないことを検証するアクションを実行するように動作し得る。一貫性を保証することは、競合がないことを検証することを含み得るか、またはそれからなり得る。
【0176】
コマンド生成システムおよび方法は、意図の識別がどれほど信頼できるかを定量的に決定するように動作し得る。自然言語入力が意図クラスに属すると分類されるという信頼度を定量化する信頼情報が自動的に決定され得る。信頼情報は、コマンドを自動的に出力できるかどうか、またはユーザの確認が必要かどうかを決定するために使用することができる。信頼情報は、意図が正しく識別されたことを示すユーザの確認を要求する、および/または自然言語入力から決定される複数の可能な意図の中からユーザの選択を要求するためのインターフェースを制御するために使用され得る。
【0177】
コマンド生成システムは、意図ベースのネットワーク(IBN)であり得る。IBNのすべてのコンポーネントは、制御されているユーティリティシステム、産業システム、または通信ネットワークの外部に存在し得る。あるいは、IBNのコンポーネントの一部は、制御されているユーティリティシステム、産業システム、または通信ネットワーク内に存在し得る。
【0178】
コマンド生成システムおよび方法は、自然言語(NL)ベースの単純および複合意図のステートフルな解決を実行するように動作する。
【0179】
したがって、コマンド生成システムおよび方法により、エンジニアは、ネットワーク管理システム(NMS)または別のネットワークアクターと簡単かつ直感的な方法で対話できる。
【0180】
IBNは、自然言語のテキストまたは音声入力で表現された目的の動作を受信し、適切なネットワークタスクをトリガする。自然言語入力は、単純式または複合式を含むことができ、その場合それらは、自然言語処理(NLP)および/または自然言語理解(NLU)技術を使用して解決される。IBNは、過去の意図のアクションが引き続き遵守されるように、意図の全体的なネットワーク状態とトランザクション状態とを維持できる。ユーティリティシステム、産業システム、または通信ネットワークにおける人間のオペレータの認知負荷、構成ミスの可能性、コスト、および停止を減らすことができる。
【0181】
例として、ネットワーク意図には、スイッチへのルールのインストールなどの単純なタスクが含まれ得るか、または個別のサブタスクに分割できる複雑なタスク(伝送経路を識別し、クラウドデバイスにデータを記憶できるように伝送経路に沿って1つまたは複数のデバイスを構成するなど)であり得る。前者のタイプの意図は単純と呼ばれ、後者の意図は複合と呼ばれる。k複合意図は、k個の異なる単純な意図(k>1)で構成される。
【0182】
IBNおよび方法は、単純な意図のセット(プレーンテキスト)を考慮し、それぞれにラベル(「意図クラス」)を割り当てるように動作し得る。このような意図ごとに、ネットワークエンティティ(例えば、IPアドレスやポート番号)にも個別にラベル付けされる。続いて、NLP技術および/またはNLU技術を使用して、k個の異なるクラスからの単純な意図を組み合わせて、k複合意図を生成する。
【0183】
IBNは、分類モデルを生成するために、単純な意図と複合意図のセットでトレーニングすることができる。ネットワークエンティティは、意図のセットに基づいて抽出することもできる。
【0184】
IBNがテキストまたは音声の自然言語入力を受信すると、IBNは入力テキストを意図クラスに分類し、ネットワークエンティティがある場合はそれを識別する。
【0185】
類似のテキストは異なる意図クラスに属し得るため、分類プロセス中にあいまいさが生じ得る。これに対処するために、意図分類信頼値を検討し、分類ツリーを構築し、正の信頼スコアが最も高いパスを識別することができる。パス(またはサブパス)のルートにある意図は、ほとんどの場合、目標意図である。これはユーザのフィードバックで確認することができる。
【0186】
ユーザが目標の意図とアクションを確認すると、IBNはNMSまたはユーティリティシステム、産業システム、または通信ネットワークの他のアクターと通信し、コマンドを発行する。NMSまたはアクターはコマンドに応答し、アクションをトリガして、自然言語入力で指定された目的の動作を実現する。すべてのタスクが実行されると、NMSはネットワーク状態を捕捉して、それを意図スーパーバイザに通信する。さらに、意図解決プロセスはステートフルであり、IBNは意図とネットワークコマンドのトランザクションを維持する。
【0187】
意図の識別とエンティティ抽出はNLPの顕著な側面であり、意図の識別とエンティティ抽出とを実装するために商用ソリューションと開放ソースソリューションの両方が利用できることが理解されよう。ユーティリティシステム、産業システム、または通信ネットワークでユーザの意図を実装するために使用される特定の実装の実現可能性については、以下でさらに説明する。
【0188】
さまざまな特徴および利点は、以下のいずれか1つまたはそれらの任意の組合せを含む実施形態によって達成される。
【0189】
・自然言語で表現された事前に分類された単純な意図のデータベースから、単純な意図のNLPベースの組合せによって複合意図を自動的に生成すること。コマンド生成システムまたは方法は、その後意図解決に使用される複合意図を自動的に生成することができる。
【0190】
・目標ネットワーク意図クラスを識別するために、意図分類結果に基づいて信頼ツリーを構築すること。コマンド生成システムまたは方法は、意図解決における分類プロセスの信頼性を自動的に定量化することができる。
【0191】
・ユーティリティシステム、産業システム、または通信ネットワークへの、オペレータによって引き起こされる変更を追跡し、意図されたネットワーク状態を維持するための意図トランザクションを作成、割り当て、および維持すること。これにより、以前に発行されたコマンドおよび/または以前に識別された意図を追跡する際にオペレータが直面する課題が軽減される。
【0192】
・自然言語インターフェースで制御可能なNMSまたはユーティリティシステム、産業システム、もしくは通信ネットワーク内の他のアクターの提供。
【0193】
・オペレータが自然言語で動作を指定できるようにすることで、システムはオペレータの認知負荷と構成ミスの可能性を減らすことができる。その結果、ユーティリティシステム、産業システム、または通信ネットワークのダウンタイム。
【0194】
・複数の意図の合成は、イーサネット(登録商標)や同期デジタル階層(SDH)などの非均質ネットワーク間の相互動作性を実現するのに有用であり得る。
【0195】
実施形態では、さまざまな追加機能を使用することができる。説明のために、テキストベースの自然言語インターフェースを提供する代わりに、音声ベースのインターフェースを使用することができる。
【0196】
コマンド生成システムおよび方法は、翻訳機を使用して、処理するために主言語(例えば、英語)以外の言語で受信した自然言語入力を主言語に処理することができる。
【0197】
図1は、制御システム10のアクター11にコマンドを自動的に生成して発行するように動作するコマンド生成システム20のブロック図である。制御システムは、ユーティリティシステム、産業システム、または通信ネットワークであり得る。制御システムは、変電所、配電または送電グリッド、変電所の通信ネットワーク、配電または送電グリッド、または他のユーティリティまたは産業システムであり得る。
【0198】
アクター11は、ネットワーク管理システム(NMS)などの管理または制御システムであり得る。
【0199】
コマンド生成システム20は、自然言語入力を受信するように動作する第1のインターフェース21を有する。自然言語入力は、テキスト入力または音声入力の場合がある。第1のインターフェース21は、ユーザがテキストおよび/または音声自然言語入力を入力することを可能にする入力デバイス40との通信結合のために動作し得る。入力デバイス40は、ワークステーション、モバイルデバイス、特に携帯デバイス、または別の入力デバイスであり得る。
【0200】
コマンド生成システム20は、自然言語入力によって表現されるユーザの意図を決定し、識別された意図に基づいてコマンドを生成するように動作する。コマンド生成システム20は、自然言語入力によって表現されるユーザの意図を決定し、識別された意図に基づいてコマンドを生成するように動作する1つまたは複数の処理モジュール30を備える。処理モジュールは、1つまたは複数の集積回路(IC)を含み得る。1つまたは複数のICは、プロセッサ、マイクロプロセッサ、コントローラ、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、またはそれらの任意の組合せのうちの1つまたは複数を含み得る。処理モジュールの一部またはすべては、仮想マシン(VM)によって実装されてもよい。処理モジュールの一部またはすべては、クラウドベースのコンピューティングインフラストラクチャなどの分散コンピューティングアーキテクチャで実行することができる。
【0201】
コマンド生成システム20は、意図解決モジュール31を実行するように動作する。意図解決モジュール31は、第1のインターフェース21から自然言語入力を受信し、1つまたは複数の意図クラスに従って自然言語入力を分類する分類器を実行することができる。意図解決モジュール31は、自然言語入力の意図クラスを決定するように動作し、意図クラスは、複数の単純な意図および複数の複合意図からなるセットから選択される。複合意図は、2つ、3つ、および/または3つ以上の単純な意図から形成された複合意図を含む。意図解決モジュール31は、トレーニングされている分類モデルを備えた分類器を使用することができる。分類モデルのトレーニングは、コマンド生成システム20によって自動的に実行されてもよい。
【0202】
コマンド生成システム20は、一貫性検証モジュール32を実行するように動作し得る。一貫性検証モジュール32は、以下でより詳細に説明されるように、意図スーパーバイザによって含まれ得る。
【0203】
一貫性検証モジュール32は、意図解決モジュール31によって決定された意図のチェックを実行することができる。これは、以前に決定された意図、以前に出力されたコマンド、または制御システム10の状態と比較して、意図解決モジュール31によって決定された意図の一貫性を検証することを含み得る。
【0204】
一貫性検証モジュール32は、検証を実行するように動作し得、検証には、意図解決31によって決定された意図に基づいて生成された少なくとも1つのコマンドを発行する前に、自然言語入力によって表現されたユーザの意図が、以前に識別された意図および/または以前に発行されたコマンドと一致していることを検証することが含まれる。
【0205】
以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用する代わりに、または追加的に、一貫性検証モジュール32は、ユーティリティシステム、産業システム、または通信ネットワークの状態に関する状態情報を検索するように動作し得る。
【0206】
一貫性検証モジュール32は、少なくとも1つのコマンドを発行する前に、自然言語入力によって表現されるユーザの意図が検索された状態情報と一致することを検証することを含む検証を実行するように動作し得る。
【0207】
コマンド生成システム20は、コマンド生成モジュール33を実行するように動作する。コマンド生成モジュール33は、(i)意図解決モジュール31によって識別されるユーザの意図、および(ii)アクター33のインターフェースに依存するコマンドを生成することができる。意図および属性(ネットワークエンティティまたは他の数値または英数字属性の識別子など)を、アクター11に発行されるコマンドに変換するルックアップテーブルを使用することができる。コマンド生成システム20が、いくつかの異なるアクターに、および/または異なるインターフェース実装上でコマンドを発行するように動作するとき、異なるルックアップテーブルが提供されてもよく、そのうちの1つが、第2のインターフェース22を介して出力されるコマンドの形式および属性を決定するために選択されてもよい。
【0208】
コマンド生成システム20は、第2のインターフェース22を備える。第2のインターフェース22は、状態情報をアクター10に出力するように動作するインターフェースであり得る。第2のインターフェース22は、ステートフルアプリケーションプログラミングインターフェース(API)であり得る。第2のインターフェース22は、これらに限定されないが、表現状態転送アプリケーションプログラミングインターフェース(REST API)またはgRPCリモートプロシージャコール(gRPC)インターフェースであり得る。
【0209】
制御システム10、すなわち、産業システム、ユーティリティシステム、または通信ネットワークは、いくつかのシステムエンティティ12、13を含む。コマンド生成システム20によって自動的に生成される少なくとも1つのコマンドを受信することに応答して、制御システム10のアクター11は、受信したコマンドに従って適切なアクションを実行することができる。これは、システムエンティティ12、13のうちの1つまたは複数の設定を変更することを含み得る。システムエンティティ12、13は、通信スイッチ(イーサネットスイッチなど)、インテリジェント電子デバイス(IED)、ファイアウォール、または他のデバイスのうちの1つまたは複数を含み得る。
【0210】
コマンド生成システム20は、識別された意図および/または発行されたコマンドに関する情報を使用することができる。コマンド生成システム20は、自然言語入力に基づいて意図を決定するときにこの情報を使用してもよい。コマンド生成システム20は、決定された意図に従ってコマンドを生成および/または出力するべきかどうかを決定するときに、代替的または追加的にこの情報を使用してもよい。
【0211】
コマンド生成システム20は、以前に識別された意図および/または以前に発行されたコマンドがインストールされている記憶システム23を含み得る。これはさまざまな段階で行うことができる。説明のために、記憶システム23は、以前に識別された意図および/または以前に発行されたコマンドのデータベースを含み得る。代替的または追加的に、制御システム10の状態に関する情報は、記憶システム23に維持および記憶され得る。
【0212】
記憶システム23は、コマンド生成システム20に含める必要はないが、それとは別に提供されてもよい。
【0213】
識別された意図および/または生成されたコマンドが以前に識別された意図および/または以前に生成されたコマンドと一致するかどうかを決定するためにコマンド生成システム20によって実装され得る追加または代替の特徴は、図3から図4を参照してより詳細に説明される。
【0214】
コマンド生成システム20は、自然言語処理(NLP)ベースの技術を使用して、単純な意図のセットから複合意図を生成するように動作し得る。次に、単純な意図と複合意図を使用して分類器トレーニングを実行し、トレーニングされた分類器モデルを生成することができる。コマンド生成システム20は、分類器トレーニングを実行し、トレーニングされた分類器モデルを生成するように動作し得る。図5を参照して、実装についてより詳細に説明する。
【0215】
コマンド生成システム20は、複数の異なるユーザからの自然言語入力に対応するように動作し得る。コマンド生成システム20は、そのユーザから自然言語入力が受信され、終了基準(ユーザ固有または非ユーザ固有であり得る)が満たされていない限り、ユーザごとに1つの開放意図トランザクションを生成および管理することができる。意図トランザクションは、識別された意図、関連する時間情報、および関連する結果として生じるネットワーク状態が集約されるデータ構造を提供し得る。複数の異なるユーザに関連付けられた複数の同時開放意図トランザクションが存在し得る。
【0216】
追加または代替の特徴は、意図トランザクションを使用して1人または複数のユーザからの自然言語入力の実装を管理するために、コマンド生成システム20によって実装され得る。図6から図9を参照して、実装についてより詳細に説明する。
【0217】
コマンド生成システム20は、意図解決プロセスがどれほど信頼できるかを決定するように動作し得る。説明のために、自然言語入力が分類器を使用して分類される場合、コマンド生成システム20は、ユーザ入力がいくつかの意図クラスのうちのどの1つに属する可能性が最も高いかを決定するように動作し得る。代替的または追加的に、コマンド生成システム20は、識別された意図を確認するために、コマンドを発行する前にユーザの確認が必要かどうかを決定するように動作し得る。代替的または追加的に、コマンド生成システム20は、自然言語入力がその意図クラスに属する可能性を定量化して、複数の意図クラスのそれぞれの信頼を示す情報を出力するように動作し得る。この情報は、ユーザインターフェースを介して出力され、ユーザが簡単な選択を実行するようにトリガし得る。
【0218】
追加または代替の特徴は、コマンド生成システム20によって実装され、複数の単純な意図および複数の複合意図を含む意図のセットに従って自然言語入力を分類するための信頼情報を決定および/または使用することができる。可能な実装については、図11から図14を参照してより詳細に説明する。
【0219】
コマンド生成システム20は、意図ベースのネットワーク(IBN)を実装してもよい。処理システム20は、他のIBNデバイス(特に、制御システムの要素)およびデータ記憶部を含むこともできるIBNのノードであり得る。可能な実装は、図9を参照して詳細に説明される。したがって、IBNを実装するコマンド生成システムは、IBNを形成するか、または他のデバイスと対話してIBNを形成するように動作する方法でセットアップされるコマンド生成システムである。
【0220】
本明細書で使用される場合、IBN、意図トランザクション、および意図スーパーバイザという用語は、次のように解釈できる。
【0221】
意図ベースのネットワーク(IBN):IBNは、コンピュータ可読命令コードのモジュールおよび/またはコンピュータ可読命令コードを実行する1つまたは複数の集積回路を含み、自然言語入力を受信し、そのような自然言語入力からユーザ(例えば、ネットワークオペレータ)の意図を解決し、ユーティリティシステム、産業システム、または通信ネットワークのアクターによって実行されるべきコマンドを発行する。意図と入力は、ユーティリティシステム、産業システム、または通信ネットワーク内で実行されているタスクに関連している。ユーティリティシステム、産業システム、または通信ネットワークの構成または管理タスクに関係のない潜在的な意図、例えばレストランの予約、は考慮されていない。関係する制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)とその要素は、IBNと統合されると「意図対応」であると言われている。
【0222】
意図トランザクション:ユーザ(例えば、オペレータ)が初めてIBNと対話すると、このユーザに対して新しい意図トランザクションが開始される。終了基準が満たされていない限り、同じユーザによって送信されたすべての後続の意図(および実行されたネットワークコマンド)は同じトランザクションの一部である。オペレータの意図トランザクションは、次の場合に終了する。
【0223】
・以前の意図の実行を終了してから新しい意図の送信までの時間遅延が閾値Dより大きい
・ユーザコマンドは、現在の意図トランザクションの終了を明示的に要求する
・ユーザコマンドは、以前の意図トランザクション状態のロードを明示的に要求する
任意の2人の同時ユーザは、独自の異なる意図トランザクションを有している。
【0224】
意図スーパーバイザ:意図スーパーバイザは、IBNまたはコマンド生成システムで提供され得る。提供された場合、意図スーパーバイザは、意図対応の制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)とその要素を継続的に監視する責任がある。意図スーパーバイザは、一時的または継続的な障害や故障に起因する可能性のある、制御システムの意図しない変更などにより、以前にインストールされた意図された状態が将来、意図せずに上書きされないようにする。例えば、意図では、2つのエンドポイント間に10Mbpsの帯域幅パスが必要になり得る。そのパスのいずれかのリンクが故障した場合、またはパスの使用可能な帯域幅が10Mbpsを下回った場合、意図スーパーバイザは、意図を満たすために少なくとも10Mbpsの帯域幅の可用性を有する代替パスをプロアクティブにアクティブ化できる。意図スーパーバイザは、この点で意図トランザクション(例えば、意図トランザクションのテーブル)にアクセスできる。さらに、新しい意図が送信および解決されると、意図スーパーバイザは、着信意図が以前に実行された意図によって誘発されたネットワーク状態と競合しているかどうかを検証できる。例えば、この点では、正式な検証方法を用いることができる。競合が発生した場合、意図スーパーバイザは、新しい意図を拒否するように動作することができる。それ以外の場合、意図スーパーバイザは実行の意図をクリアできる。後者の場合、意図スーパーバイザは、コマンドの実行後に目標ネットワーク状態に到達したことも検証する。意図スーパーバイザは、IBNの自己適応性を強制できる。
【0225】
ユーザ:ユーザという用語は、自然言語入力の発信元である人を指す。ユーザは、制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)のオペレータまたはネットワークエンジニアであり得る。
【0226】
IBNを実装するコマンド生成システム:IBNである、またはIBNを含む、または制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)の1つまたは複数のエンティティと対話してIBNを形成する1つまたは複数の集積回路を備えたコマンド生成システム。
【0227】
図2は、方法50のフローチャートである。方法50は、コマンド生成システム20によって実行されるタスクのサブセットの詳細図を提示する。
【0228】
ステップ51で、自然言語入力が受信される。自然言語入力はテキスト入力であってもよい。テキスト自然言語入力は、Webインターフェースベースの入力インターフェースを介して受信することができる。自然言語入力は、音声入力であってもよい。音声テキスト変換が自動的に実行され得る。自然言語入力は、コマンド生成システムまたはIBNのNLPまたはNLUベースの技術で使用されるメイン言語とは異なる言語であり得る。言語認識は、自然言語入力に対して実行することができる。自然言語入力が主言語以外の言語の音声入力またはテキスト入力である場合、自然言語入力を主言語(例えば、英語)のテキスト入力に翻訳するために、翻訳ルーチンが自動的に呼び出され得る。
【0229】
ステップ52で、意図解決が実行される。意図解決は、分類を含み得る。分類は、分類器モデルに従って実行することができる。コマンド生成システム20またはIBNは、分類器モデルを自動的に生成することができる。コマンド生成システム20またはIBNは、NLPまたはNLUベースの技術を使用して、データベースに記憶された単純な意図のセットから複合意図を自動的に生成することができ、単純な意図と複合意図の両方を使用して分類器モデルをトレーニングし、その後、トレーニングされた分類器モデルを自然言語入力の処理、より具体的には意図分類の実行に使用することができる。
【0230】
ステップ53で、コマンドの属性は、自然言語入力から決定され得る。自然言語入力は、自動的に決定され、生成および出力されるコマンドに含まれ得るコマンドの属性を指定し得る。説明のために、少なくとも一部の意図(制御システムの第1エンティティと第2エンティティとの間のフローを変更する、または制御システムのエンティティの設定を新しい値に変更する、もしくは特定の増分または減分によって変更するなど)は、(i)実装されるべきアクションを指定する自然言語入力内の単語または語句、(ii)制御システム内の少なくとも1つのエンティティを指定する自然言語入力内の別の単語または語句、および/または(iii)数値を指定する自然言語入力内のさらに別の単語または語句を含み得る。ユーティリティグリッドまたは通信ネットワークの第1のノードと第2のノードとの間のフローパス(データフローパス、エネルギーフローパス、または流体フローパスであってもよい)を構成または再構成するための説明のため、自然言語入力には、フローパスの構成または再構成のアクションを指定する単語または語句、第1および第2のノードを固有に識別する別の単語または語句、およびフロー(データスループット、電力スループット、または流体流量など)を管理する任意のその他の属性が含まれ得る。次に、コマンドが生成され、第1および第2ノードを指定する属性と、フロー特性を指定する属性が含まれる。
【0231】
ステップ54で、一貫性検証を実行することができる。一貫性検証は、(決定された意図クラスおよび決定された属性によって定義され得る)コマンドが、決定された意図に従って生成されるべきかどうかを自動的に決定し、および/または、決定された意図に従って生成されたコマンドが、制御システム(すなわち、ユーティリティシステム、産業システム、または通信ネットワーク)のアクターに出力されるべきかどうかを自動的に決定するために実行され得る。一貫性検証は、ユーザの確認のための、意図解決の結果の出力に応答してユーザ入力を受信することを含み得る。一貫性検証は、決定された意図が以前に識別された意図と一致していることを検証することを含み得る。以前に識別された意図には、いくつかの異なるユーザの自然言語入力から識別された意図が含まれ得る。以前に識別された意図は、以前に識別された意図に基づいて生成されたコマンドの実行に応答してそれらが記憶されるデータベースから検索され得る。一貫性検証は、決定された意図が以前に発行されたコマンドと一致していることを検証することを含み得る。以前に発行されたコマンドは、コマンドの実行に応答してそれらが記憶されているデータベースから検索することができる。一貫性検証は、決定された意図が制御システム(すなわち、ユーティリティシステム、産業システム、または通信ネットワーク)の状態と一致していることを検証することを含むことができる。制御システムの状態の状態情報は、制御システム内または制御システムとは別に配置され得るデータベースから、制御システムの1つまたは複数のエンティティから直接、および/またはコマンド生成システム20またはIBNによってローカルに維持されるデータベースから検索され得る。
【0232】
ステップ55では、決定された意図に従ってコマンドを生成することができる。コマンドは、意図解決によって決定された意図に基づいて生成することができ、1つまたは複数の意図クラスの1つまたは複数の識別子によって定義することができる。説明のために、ルックアップ技術を使用して、意図解決によって決定された意図に基づいて、およびコマンドが出力されるアクターのインターフェースに関する情報に基づいて、どのコマンドが出力されるべきかを決定することができる。コマンドは、自然言語入力から決定された属性に基づいて生成することができる。ステップ55でのコマンドの生成および/またはステップ55でのコマンドの出力は、ステップ54での検証の結果に応じて選択的に実行され得る。
【0233】
ステップ56で、自然言語入力によって指定されたアクションを実装するためにコマンドが実行されたことの確認に応答して、コマンド生成システム20またはIBNは、決定された意図、実行されたコマンド、および/またはコマンドの実行に応答して取得されたネットワーク状態を指定するデータセットを更新することができる。
【0234】
図3は、コマンド生成システム20のブロック図である。コマンド生成システムは、以前に発行されたコマンドを記憶するコマンド記憶システム34を含むか、または通信可能に結合され得る。
【0235】
コマンド生成システム20は、システム状態記憶システム14を含むか、または通信可能に結合され得る。システム状態記憶システム14は、制御されたユーティリティシステム、産業システム、または通信ネットワーク内に常駐していてもよい。
【0236】
一貫性検証モジュール32は、コマンド記憶システム34から以前に出力されたコマンドに関する情報、および/または制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)の状態の少なくとも一部を定義する状態情報をシステム状態記憶システム14から検索することができる。
【0237】
一貫性検証モジュール32は、意図解決モジュール31によって決定された意図が以前に発行されたコマンドと一致することを検証するように動作し得る。以前に発行されたコマンドは、コマンドの実行に応答してそれらが記憶されるコマンド記憶システム34から検索され得る。
【0238】
一貫性検証モジュール32は、意図解決モジュール31によって決定された意図が、制御システム(すなわち、ユーティリティシステム、産業システム、または通信ネットワーク)の状態と一致することを検証するように動作し得る。制御システムの状態の状態情報は、制御システム内または制御システムとは別に配置され得るシステム状態記憶部14から検索され得る。
【0239】
一貫性検証には、(1)着信意図が以前に実行された意図によって誘発されたネットワーク状態との競合を作成するかどうかを検証すること、および(2)コマンドの実行後に目標ネットワーク状態に到達することを検証することが含まれ得る。
【0240】
一貫性検証だけでなく、意図解決も、以前に発行されたコマンドおよび/または制御システムの現在の状態に依存し得る。説明のために、以前に発行されたコマンドに関する情報および/または制御システムの現在の状態に関する情報は、自然言語入力を複数の意図クラスのうちの1つに属するように分類する分類手順で使用することができる。分類器モデルは、意図分類を実行するために、1つまたは複数の以前に発行されたコマンドに関する情報および/または制御システムの少なくとも1つのデバイスの少なくとも1つのパラメータに関する情報を入力として受信することができる。
【0241】
図4は、方法60のフローチャートである。方法60は、図2の一貫性検証ステップ54を実装するために実行され得る。方法60は、一貫性検証モジュール32によって自動的に実行され得る。
【0242】
ステップ61で、以前に識別された意図および/または以前に実行されたコマンドに関する情報が検索される。この情報の検索は、自然言語入力の受信によってトリガされ得る。情報は、IBN内のデータベースから検索することができる。
【0243】
ステップ62で、自然言語入力からの意図解決によって決定された意図が、以前に識別された意図および/または以前に実行されたコマンドと一致するかどうかが決定される。不整合が決定された場合、自然言語入力はステップ66で拒否される。ステップ66は、ユーザインターフェース(UI)を介して情報(アラート、警告、または他の信号など)を出力することを含み得る。この情報は、自然言語入力が拒否されたことを示し得る。情報は、以前に識別された意図の表示、および/または意図と競合する、以前に実行されたコマンドなど、自然言語入力を拒否する理由を示し得る。
【0244】
ステップ63で、制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)の状態に関する情報が検索される。ステップ63での情報の検索は、自然言語入力の受信によってトリガされ得る。制御システムの状態に関する情報は、制御システム内の制御または管理センターから、または制御システムとは別に維持されるデータベースから検索することができる。
【0245】
ステップ64において、入力意図に基づく制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)の予測状態が、制御システムの目的の(意図された)状態と一致するかどうかが決定される。不整合(すなわち、競合)が決定された場合、自然言語入力はステップ66で拒否される。ステップ66は、ユーザインターフェース(UI)を介して情報(アラート、警告、または他の信号など)を出力することを含み得る。この情報は、自然言語入力が拒否されたことを示し得る。情報は、意図と競合する制御システムのシステム状態の表示など、自然言語入力を拒否する理由を示し得る。
【0246】
ステップ65において、決定された意図が、以前に識別された意図、以前に実行されたコマンド、および制御システムの現在の状態と一致する場合、自然言語入力によって指定されたタスクの実行がトリガされ得る。これは、コマンド生成モジュール33をトリガして、決定された意図クラスおよび識別された属性に従ってコマンドを生成および出力することを含み得る。
【0247】
図4の方法60は、以前の意図やコマンド、またはシステム状態と競合していないことを確認するさまざまなチェックを示しているが、これらのステップのすべてを組み合わせて実行する必要はない。説明のために、制御システムが、コマンド生成システムとインターフェースする中央制御システムまたは管理システムを有する場合、ステップ63および64は任意である。ステップ63および64は、制御システムが分散制御を有する場合に有益に使用され得る。
【0248】
以下、非限定的な実施例(i)、(ii)、(iii)、および(iv)を参照して、ステップ63および64を実行する必要のない方法60の動作を説明する。方法60は、ステップ63および64の有無にかかわらず、実施例に限定されることなく、さまざまな他のコマンドおよび/またはさまざまな他の制御システムに対して実装することができる。
【0249】
(i)第1のユーザが次の意図を送信した:次の24時間、10.0.0.1と10.0.0.2との間で10Gbpsのフローを許可し、この意図がネットワークに正常にインストールされた。第2のユーザは、その後、24時間の時間枠内に次の追加の意図を送信する。フローを10.0.0.1から10.0.0.2まで、1Gbpsまでに制限する。さらなる意図は、第1のユーザが意図したネットワーク状態に違反していると決定される。IBNは、ネットワーク状態テーブルを参照することなく、このさらなる意図を拒否できる。
【0250】
(ii)第1のユーザが次の意図を送信した:次の24時間、10.0.0.1と10.0.0.2との間で10Gbpsのフローを許可し、この意図がネットワークに正常にインストールされた。第2のユーザは、その後、24時間の時間枠内に次の追加の意図を送信する。10.0.0.1から10.0.0.2へのフローを削除する。さらなる意図は、第1のユーザが意図したネットワーク状態に違反していると決定される。IBNは、ネットワーク状態テーブルを参照することなく、このさらなる意図を拒否できる。
【0251】
(iii)制御システムは、流体ユーティリティグリッドまたは流体ポンプを備えた工業用(化学など)プラントである。第1のユーザは、ポンプの体積流量を単位時間あたり1~100立方メートルに設定する意図を発行した。後で、第2のユーザは、同じポンプの流量を単位時間あたり1~10立方メートルに設定する別の意図を発行する。IBNは、これを第1のユーザが意図した状態の違反として認識する。したがって、IBNは、データベースに記憶されている詳細なシステム状態を参照することなく、第2のユーザの意図を直ちに拒否できる。
【0252】
(iv)制御システムは、ソース(分散型エネルギーリソース(DER)など)および/またはバッテリーエネルギー貯蔵システム(BESS)を備えた電力システムである。第1のユーザは、DERによる発電量および/またはBESSによる蓄電量を第1の期間の第1の範囲内に設定する意図を発行した。後で、第1の期間内に、第2のユーザは、DERによる発電量および/またはBESSによる蓄電量を、第1の範囲とは異なる少なくとも1つの境界を有する第2の範囲内に設定する別の意図を発行する。IBNは、これを第1のユーザが意図した状態の違反として認識する。したがって、IBNは、データベースに記憶されている詳細なシステム状態を参照することなく、第2のユーザの意図を直ちに拒否できる。
【0253】
他の実施形態では、ステップ61および62は任意である。
少なくとも1つの分類器を実行して、自然言語入力を意図クラスに割り当てることができる。分類器は、自然言語入力を意図クラスのセットに割り当てるように動作することができ、セットは、単純な意図に関連付けられた複数の意図クラスと、複合意図に関連付けられた複数の意図クラスとを含む。
【0254】
図5は、コマンド生成システム20のブロック図である。コマンド生成システムは、意図データベース36を含むか、または通信可能に結合され得る。最初に、意図データベースは、少なくとも単純な意図のセットを記憶することができる。単純な意図には、永続的に記憶される単純な意図、および/またはユーザが指定した単純な意図が含まれ得る。単純な意図は、制御されているネットワークのタイプに依存し得る。説明のために、コマンド生成システム20が電力システム、流体グリッド、工業製造システム、または通信ネットワークにコマンドを発行するためのIBNを実装することを意図しているかどうかに応じて、単純な意図の異なるセットを使用することができる。異なるセットを意図データベース36に同時に記憶することができ、どのタイプのシステム(例えば、電力システム、流体グリッド、工業製造システム、通信ネットワーク)がコマンド生成システム20によって制御されるべきかに応じて、異なるセットのうちの1つにアクセスすることができる。
【0255】
コマンド生成システム20は、複合意図生成モジュール37を備え得る。複合意図生成モジュール37は、データベース36から単純な意図を検索するように動作し得る。複合意図生成モジュール37は、単純な意図から複合意図を生成するように動作し得る。各複合意図は、2つまたは2つ以上の単純な意図で構成され得る。複合意図生成モジュール37は、自然言語処理(NLP)技術を適用して、単純な意図から複合意図を生成するように動作し得る。複合意図生成モジュール37は、生成された複合意図を意図データベースに記憶し、および/または生成された複合意図を意図トレーナー38に出力するように動作し得る。
【0256】
複合意図生成モジュール37は、どのタイプのシステム(例えば、電力システム、流体グリッド、工業製造システム、通信ネットワーク)がコマンド生成システム20によって制御されるべきかに依存する意図データベース36内の単純な意図にアクセスすることができる。
【0257】
単純な意図から複合意図を生成するために複合意図生成モジュール37によって適用されるNLPルールは、どのタイプのシステム(例えば、電力システム、流体グリッド、工業製造システム、通信ネットワーク)がコマンド生成システム20によって制御されるべきかに依存し得る。説明のために、電力システム、流体グリッド、工業製造システム、または通信ネットワークがコマンド生成システム20によって制御されるべきかどうかに応じて、異なるNLPベースのルールセットを使用して複合意図を生成することができる。
【0258】
コマンド生成システム20は、意図トレーナー38を含み得る。意図トレーナー38は、意図データベース36から単純な意図を検索し、意図データベース36から複合意図を検索し、および/または複合意図生成モジュール37から複合意図を受信するように動作し得る。意図トレーナー38は、検索された単純意図および複合意図を使用して分類器モデル39をトレーニングするように動作し得る。
【0259】
意図トレーナー38は、NLP、自然言語理解(NLU)、および機械学習分類技術を適用して、意図分類モデルを生成することができる。
【0260】
意図分類モデル39は、自然言語入力を入力として受信し、自然言語入力を少なくとも1つの入力クラスに割り当てるように動作し得る。自然言語入力を分類することができる入力クラスのそれぞれは、単純意図および複合意図のうちの1つで構成され得る。
【0261】
意図分類モデル39は、機械学習(ML)モデルであり得る。意図トレーナー38は、意図分類モデル39のトレーニングを実行するように動作し得る。教師あり技術(教師ありMLなど)を使用することができる。代替的または追加的に、意図トレーナー38は、意図分類モデル39をトレーニングするために敵対的生成ネットワーク(GAN)アーキテクチャを実装するように動作し得る。意図トレーナー38は、分類器モデルの候補を生成するようにトレーニングされた発生器(これに限定されることなくニューラルネットワークであり得る)および候補を評価するためにトレーニングされた弁別器を実行することができる。意図分類モデル39の性能が終了基準(性能閾値基準および/またはタイムアウト基準など)を満たす場合、分類器モデル39のトレーニングを終了することができる。
【0262】
コマンド生成システム20またはIBNは、意図トランザクションテーブルを維持して、任意のユーザによって送信された、および/または制御システムで実行された進行中および過去の意図を追跡することができる。時間tにおけるユーザuに対する意図トランザクション、例えばT(u,t)は、IBNインターフェース、実行されたコマンド、および/または制御システムで影響を受ける変更(電力、流体、および/または通信フローなど)を用いてユーザによって開始された所与のセッションにおいて送信された意図のリストを記録する。例えば、所与の意図トランザクションは、その中の意図ごとに、影響を受けるフローのフロー識別子(固有の正の整数)を記憶でき、そこからさまざまな関連パラメータを決定することができる。このような関連パラメータの例には、エンドポイント、パス、帯域幅、およびレイテンシが含まれる。各T(u,t)は、英数字であり得る固有の正の数で識別される。
【0263】
意図トランザクションは、以下でより詳細に説明するように、複雑なネットワーク意図を解決するのに役立ち得る。
【0264】
図6は、方法70のフローチャートである。方法70は、コマンド生成システム20またはコマンド生成システム20によって実装されるIBNによって自動的に実行され得る。
【0265】
ステップ71で、自然言語入力がユーザから受信される。ユーザは、コマンド生成システムへのユーザのログオン情報、またはユーザに固有の識別子を提供する他の認証技術を使用して識別され得る。
【0266】
ステップ72において、識別されたユーザに対して意図トランザクションが現在開いているかどうかかが決定される。
【0267】
ステップ73において、ユーザに対して現在開いている意図トランザクションがない場合、新しい意図トランザクションが開かれる。方法はステップ75に進む。
【0268】
ステップ75において、意図トランザクションがユーザに対して開いているとき、意図トランザクションは、受信した自然言語入力の意図解決を実行するために使用され得る。
【0269】
ステップ76で、終了基準が満たされているかどうかが決定される。終了基準は、時間閾値基準、意図トランザクションを終了するためのコマンドの受信、以前の意図トランザクションをロードするためのコマンドの受信のいずれか1つまたはそれらの任意の組合せを含み得る。終了基準が満たされていない場合、方法はステップ71に戻ることができる。同じユーザから受け取った追加の自然言語入力が、同じ意図トランザクションに追加される。
【0270】
ステップ77で、決定基準が満たされると、意図トランザクションは閉じられる。閉鎖意図トランザクションは、要求に応じて記憶および検索することができる。説明のために、ユーザは、コマンドの生成を引き起こす新しい自然言語入力を入力するときに、閉鎖意図トランザクションのロードを要求することができる。
【0271】
複数の異なるユーザに関連付けられた複数の意図トランザクションは、同時に開くことができる。説明のために、コマンド生成システム20またはIBNは、第1のユーザとは異なる第2のユーザに関連する第2の開放意図トランザクションを維持および使用することと同時に、第1のユーザに関連する第1の開放意図トランザクションを維持および使用するように動作し得る。
【0272】
図7は、意図トランザクション80の実装を示す。意図トランザクションは、テーブルを表すデータ構造を含むか、またはそれらからなることができる。意図トランザクションテーブルは、とりわけ、タイミング情報、例えば、タイミングテーブルの形態を含むことができる。タイミングテーブルは、図7に示すように、リレーショナルデータベース管理システム(RDBMS)またはキー値データストアのいずれかを使用して記憶されたデータを含み得る。
【0273】
タイミングテーブルには、各意図トランザクションのデータテーブルが含まれている。これらのデータには、固有のトランザクション識別子、当該トランザクションの各意図の意図識別子、意図の送信時間と完了時間、および結果として生じるネットワーク状態が含まれる。
【0274】
図7に示すように、トランザクションT_1の下での意図(例としてI_1)がコマンド生成システム20またはIBNに送信されると、関連するテーブルの行が作成される。ここで、t_1_0はI_1が受信された時刻を示し、t_1_1は、当該意図が、実行された「終了」状態に達した時刻を示す。S(T_1,I_1)は、その段階で達成された制御システム(ユーティリティシステム、産業システム、または通信ネットワーク)の状態を示す。すべての意図トランザクションは固有に識別されるため、T_1には、その特定の意図トランザクションを開始するユーザ(例えば、システムオペレータ)を示す情報も含まれる。
【0275】
さらなる説明のために、意図I_(j+1)は時間t_(j+1)_0で送信されると想定されている。意図I_(j+1)は、時間閾値基準が満たされている場合にのみ、進行中のトランザクションT_1の一部と見なすことができる。説明のために、前の意図(t_(j+1)_0-t_j_1)の実行から経過した時間を計算することができ、その時間は閾値比較の対象となり得る。時刻t_(j+1)_0に送信された意図I_(j+1)は、t_(j+1)_0-t_j_1<Dの場合にのみ、進行中の意図トランザクションT_1に含めることができる。これを評価するために、いずれかの意図が「終了」状態に到達すると、コマンド生成システム20またはIBNはトランザクションタイマーを開始することができる。同じユーザから別の意図が送信されずにトランザクションタイマー値がDを超えると、ユーザの現在の意図トランザクションは終了する。この期間後にユーザが新しい意図を送信すると、そのユーザに対して新しい意図トランザクションが開始される。ユーザの意図トランザクションの終了は、あったとしても、他のユーザの進行中の意図トランザクションに影響しない。トランザクションタイマーは、所与のトランザクションに固有である。2つの異なる意図トランザクションには、2つの異なるトランザクションタイマーがある。
【0276】
閾値Dは、制御システム内の活動に依存し得る。閾値Dは、制御システムから検索された状態情報に依存し得る。閾値Dは、ユーザ固有のものであってもよく、またはすべてのユーザについて同じであってもよい。
【0277】
図8は、自然言語入力に含まれる新しい意図を処理するためのステートマシンを示している。図9に示すように、意図を示す自然言語入力が送信されると、意図は「送信された」状態91になる。コマンド生成システムまたはIBNは、対応する意図クラスを識別し、存在する場合、自然言語入力から関連する属性(自然言語入力で指定された制御システムのエンティティなど)を抽出する。
【0278】
次に、意図は、意図クラスおよび存在する場合は関連する属性の識別に応答して、「解決された」状態92に移動する。
【0279】
意図スーパーバイザは、この意図の適用が過去の意図によって引き起こされた制御システムの状態に違反するかどうかを検証する。違反が予測される場合、意図は「拒否された」状態93に移動する。代替的または追加的に、意図は、制御システムのリソースがそれを満たすことを許可しない場合、拒否することができる。例として、通信ネットワークである制御システムの場合、ユーザは100Gbpsのパスを要求できるが、1Gbpsしか実行できないため、意図が拒否される。
【0280】
拒否されないとき、意図は「受信された」状態94に移動する。その後、IBNは、制御システム(通信ネットワークのNMSなど)のアクターに、受信された意図に対応する一連のコマンドを実行するように指示する。次に、意図は実行のために「準備される」(「準備された」状態95)。制御システムのアクターがコマンドの実行が完了したことを確認すると、意図スーパーバイザはこれを検証し、意図を「インストール済み」状態96に移動する。
【0281】
図9は、本発明の実施形態の詳細なブロック図を示す。実施形態は、通信ネットワークである制御システム、およびNMSである制御システムのアクター、および自然言語入力を入力するための例示的な入力デバイスに関連して説明されているが、実施形態はそれに限定されない。説明のために、制御システムは、ユーティリティシステムまたは産業システムであり得る。制御システムのアクターは、変電所制御または管理センター、地域制御または管理センター、あるいは別の制御または管理エンティティなど、NMS以外の制御または管理システムであり得る。
【0282】
図9では、IBN120はNMS111を介して制御システムを補完する。ネットワークは、マルチサービスプラットフォーム、ルーター、スイッチ、ホストなどのさまざまなネットワーク要素を含むことができる。ネットワークホストは、有線および無線接続を使用するワークステーションであり得る。ネットワークホストは、仮想プライベートネットワーク(VPN)を介して接続するタブレットやスマートフォンなどのハンドヘルドモバイルデバイスでもあり得る。
【0283】
現場での自然言語入力を処理するためのIBN120の準備
ユーザ(オペレータを含むが、これに限定されない)は、ネットワーク意図データ150をIBN120に送信し、IBN120は、ドメインエキスパート151によってラベル付けされる。例えば、「10.0.0.1と10.0.0.2との間にフローを作成する」と「a1:b2:c3:d4:e5:f5とaa:bb:cc:dd:ee:66との通信を許可する」の両方は、同じ意図クラスに、例えば、create_unicast_flowに属する。さらに、すべての関連するネットワークエンティティにもラベル付けされている。例えば、第1の例では、「10.0.0.1」と「10.0.0.2」とが対象のネットワークエンティティである。すべてのラベル付けされた例は、意図データベース136に追加される。ドメイン翻訳およびラベリングは、ドメイン翻訳およびラベリングモジュール151によって実行され得る。さらに、意図記述子152が作成され、意図記述子152には意図の名前、意図に必要な必須および任意のエンティティなどの意図に関するメタデータが記憶される。
【0284】
ユーザ(オペレータおよび/またはネットワークエンジニアを含むが、これに限定されるものではない)によって入力された意図は、典型的には「単純な」意図であり、すなわち、それらは、任意のネットワーク関連タスクの1つの小さな(原子)ユニットに関連する。複合意図発生器モジュール137は、NLP技術を使用して、2つ以上の単純な意図を組み合わせて複合意図を形成する。特に、k複合意図は、k個の単純な意図(k>1)で構成される。例えば、「10.0.0.1と10.0.0.2との間にフローを作成する」と「HTTPSトラフィックを許可する」は2つの単純な意図である。接続詞、不定詞、n-gram配列、および/または他のNLP技術を使用して、そのような複合意図を生成することができる。例えば、「10.0.0.1と10.0.0.2との間にフローを作成し、HTTPSトラフィックを許可する」は、接続詞を使用して形成される2つの複合意図である。そのような複合意図は、複合意図クラスでラベル付けされ、意図データベース136および意図記述子152の両方に追加される。複合意図の場合、意図記述子152はまた、所与の複合意図クラスを形成する単純な意図クラスを記録する。図10は、テーブル180の形式で、意図記述子に記憶された、いくつかの意図およびメタデータを示している。
【0285】
各意図クラスの十分な例がデータベースで利用可能である場合、意図トレーナーモジュール138は、NLP、自然言語理解(NLU)、および/または機械学習分類技術を適用して、意図分類モデル139を生成する。さらに、機械学習を使用して、意図する例からネットワークエンティティを抽出することもできる。例えば、「10.0.0.1と10.0.0.2との間にフローを作成する」という意図は、「ソース」として識別される「10.0.0.1」と「目標」として識別される「10.0.0.2」の2つのネットワークエンティティで構成される。その結果、ネットワーク意図が与えられると、IBN120は、対応する意図クラスと必要なエンティティを識別することができる。
【0286】
IBN120のフィールド使用における自然言語入力の処理
IBN120は、自然言語インターフェースを提供し、そこでは、ユーザ(特にオペレータ)は、自然言語でユーザのネットワーク意図を入力し、入力デバイス141、142、143を介して送信することができる。入力デバイス141、142、143は、携帯デバイスであってもよいし、モバイルデバイスであってもよい。入力デバイス141、142、143は、NMS111のグラフィカルユーザインターフェースのメニューをナビゲートする必要がなく、および/または、NMS111のインターフェース、そのコマンド、および/または制御システムの現在の状態の知識を必要とせずに、ユーザがIBNを介して制御システムの変更を引き起こすことを可能にする単純なテキストまたは音声インターフェースを提供し得る。
【0287】
IBN120は、自然言語インターフェースである第1のインターフェース121を介して自然言語入力を受信する。
【0288】
意図およびエンティティリゾルバモジュール131は、任意の入力意図を分類する責任がある。意図およびエンティティリゾルバモジュール131は、意図トレーナー138によって以前にトレーニングされた分類モデル139に従って分類を実行することができる。
【0289】
意図およびエンティティリゾルバモジュール131は、すべての既知の意図クラスに分類信頼値(0と1との間、両方を含む)を割り当てるように動作し得る。例えば、「host1からhost2へのフローを作成する」意図は、create_unicast_flow意図クラスに関しては高い信頼値を有し得るが、他の意図クラスに関しては低い信頼値を有し得る。
【0290】
2つの類似した入力テキストは2つの異なる意図クラスに属し得るため、分類プロセス中にあいまいさが生じ得る。これに対処するために、意図分類信頼値が考慮され、使用される。図11から図14を参照してより詳細に説明されるように、説明のために、IBN120は分類ツリーを構築し、最高の正の信頼スコアを有するパスを識別することができる。パス(またはサブパス)のルートにある意図は、ほとんどの場合、目標意図である。これはユーザのフィードバックで確認することができる。
【0291】
IBN120は、ユーザの入力意図から抽出されたエンティティがある場合は、そのエンティティが、関係する意図クラスによって期待されるエンティティの(おそらく空の)リストと比較される。これはさまざまな効果をもたらす。まず、分類信頼値と一緒に考えると、識別された予想されるエンティティの割合は、目標の意図クラスをさらに明確にするのに役立ち得る。第2に、IBN120は、入力デバイス141~143を介して、予想されるエンティティの残りがある場合、それを入力するようにユーザに促すことができる。
【0292】
さらに、オントロジーや記述論理などの人工知能(AI)技術を使用して、ネットワークエンティティの概念的な同等性を推測することができる。例えば、ユニキャストフローを作成するには、ソースと目標という2つのエンティティが必要である。しかし、IBNは2つのエンティティを「ソース」と「エンポイント1」として識別し得る。ここでAIを使用して、「エンドポイント1」と「目標」との間の同等性を導き出すことができる。例示的なネットワークオントロジーについて、図16を参照してより詳細に説明する。
【0293】
意図スーパーバイザ132は、ユーザによって目標の意図およびアクションが確認されると、意図を適用することの潜在的な影響を考慮する。特に、意図スーパーバイザ132は、新しい意図が、以前にインストールされた意図によって誘発された状態に違反する状態にネットワークを移動させるかどうかを検証する。そのような違反が予測される場合、その意図は拒否される。それ以外の場合、IBN120は意図を処理する。
【0294】
意図クラスおよびエンティティが知られている状態で、IBN120の意図およびエンティティリゾルバモジュール131は、NMS111と通信し、適切なコマンドを発行する。次に、NMS111は、ネットワークタスク(コンピュータ実行可能命令であり得る)をトリガして、ユーザの目的の動作を達成する。ネットワークタスクは、小さな固有のタスクを実現するためのコマンドまたはプログラムであり得る。例えば、スイッチにルールをインストールして、2つのエンドポイント間に新しいフローを割り当てる。すべてのタスクが実行されると、NMS111はネットワーク状態を捕捉して意図スーパーバイザに通信する。
【0295】
さらに、上記の意図解決プロセスはステートフルである。IBN120は、意図とネットワークコマンドとの状態を維持する。ネットワーク状態テーブル112は、現代および過去のネットワーク状態の記録を保持することができる。そのようなネットワーク状態テーブル112は、制御されたネットワークの一部であり得、IBNシステム120の一部であり得ない。ネットワーク状態、例えば時刻tにおけるS(t)は、アクティブな仮想ネットワーク機能(VNF)とその負荷、割り当てられたIPアドレスの範囲、フローの詳細、およびネットワーク使用率など、さまざまなパラメータの組合せで表すことができる。ネットワークマネージャ111がネットワークタスクをトリガするとき、制御されたネットワーク内のコマンドは、ネットワーク状態テーブル112によって条件付けされ得る。意図スーパーバイザ132は、意図が実行されるかどうかを決定するために、ネットワーク状態テーブル112の情報にアクセスして使用することができる。
【0296】
IBN120は、意図トランザクション情報123を維持する。意図トランザクション情報123は、上記で説明したように、意図トランザクションテーブルであり得るか、またはそれらを含み得る。意図トランザクション情報123は、任意のユーザ(例えば、任意のオペレータ)によって送信/実行された進行中および過去の意図を追跡するために維持することができる。時刻tでのオペレータuのT(u,t)などの意図トランザクションは、IBNインターフェースを使用してオペレータによって開始された所与のセッションで送信された意図のリスト、実行されたネットワークコマンド、および特に影響を受けるフローを記録する。例えば、(データまたは電力または流体)フロー制御の場合、所与の意図トランザクションは、その中の意図ごとに、影響を受けるフローのフロー識別子(固有の正の整数)を記憶できる。そこから、エンドポイント、パス、帯域幅(またはスループット)、およびレイテンシなどのさまざまな関連パラメータを知ることができる。各T(u,t)は、英数字であり得る固有の正の数で識別される。
【0297】
現在の意図トランザクションは、複雑なネットワーク意図を解決するのに役立ち得る。例えば、例示的な自然言語入力は、「10.0.0.1と10.0.0.2との間にフローを作成し、100Mbpsの帯域幅を割り当てる」であり得る。この例の意図は、10.0.0.1と10.0.0.2との間のフローのみが100Mbpsの帯域幅を取得する必要があり、ネットワーク内のすべてのフローを取得するわけではないことは明らかである。対照的に、オペレータが次の2つの意図を別々に、次々にD未満の遅延で送信するシナリオを考えてみる。
【0298】
(a)10.0.0.1と10.0.0.2との間にフローを作成する
(b)100Mbpsの帯域幅を割り当てる
IBN120は、意図(a)を解決して、それを処理することができる。しかし、追加情報がなければ、IBN120は意図(b)を解決できない(または誤って解決する傾向があり得る)。意図(a)の処理の後に現在のトランザクションで取得したコンテキスト(つまり、10.0.0.1から10.0.0.2との間のフロー)を使用して、後で送信された意図(b)の解決を支援することができる。
【0299】
この例示的な例を続けると、次の意図は、意図(b)の実行の完了以来、Dよりも大きい遅延で送信され得る。
【0300】
(c)最後に割り当てられたフローを削除する
この場合、トランザクションのタイムアウトにより、オペレータに対して新しい意図トランザクションが開始される。すべてのトランザクションは意図トランザクションテーブル123に記憶されるので、意図およびエンティティリゾルバ131は、以前のトランザクションからフロー識別子(例えばF101)を検索し、意図(c)を送信したユーザにF101を削除するべきかどうかを尋ねることができる。
【0301】
図9を参照すると、意図データベース136および意図記述子152は、制御システムまたは商用クラウドに存在することができる。そのような場合、図9に破線で示された仮想マシン、ならびに意図データベース136および意図記述子152は、一緒になってIBN120を形成する。あるいは、意図データベース136および意図記述子152は両方とも、仮想マシンに含まれ得る。このような場合、仮想マシンとそのコンテンツはIBN120を形成する。いずれの場合も、IBN命令コードを有する仮想マシンは、物理システムのゲストとしてホストすることができる。他の実施形態では、IBNを実装するために仮想化技術を使用する必要はない。
【0302】
IBN120とNMS111との間にプライマリネットワークパスおよびバックアップネットワークパスが存在し得る。制御システムはバックアップNMSを有し得る(図9には示されていない)。IBN120とバックアップNMSとの間には、別のプライマリネットワークパスおよび別のバックアップネットワークパスが存在し得る(図9には示されていない)。
【0303】
意図クラスの識別
意図クラスに属する自然言語入力の確率を定量化する情報は、意図クラスごとに決定することができる。確率を定量化する情報は、メトリックに従って決定することができる。確率を定量化する情報は、最も妥当な分類を自動的に決定する、ユーザの確認が必要かどうかを決定する、および/またはユーザの確認を要求するときにユーザに出力するための複数の候補意図クラスを選択するなど、さまざまな目的に使用され得る。
【0304】
図11は、方法170のフローチャートである。方法170は、コマンド生成システム20またはIBNによって実行され得る。
【0305】
ステップ171で、自然言語入力が受信される。
ステップ172で、分類器を実行して、自然言語入力が少なくとも1つの意図クラスに割り当てられる意図分類を実行することができる。意図解決は、自然言語入力を意図クラスに分類することを含み得る。複数の可能な意図クラスが識別され得る。
【0306】
ステップ173で、信頼情報が決定される。信頼情報は、意図分類を実行するときに決定され得る。信頼情報は、自然言語入力がそれぞれの意図クラスに関連付けられている確率を定量化するメトリックを示し得る。信頼情報は、分類を実行するときに分類器によって決定され得る。信頼情報は、分類器を数回再実行し、結果に関する統計情報を決定することによって取得することができる。これは、分類器が非決定論的技術を採用している場合に特に当てはまる。信頼情報は、分類信頼値をさらに処理することによって取得することができる。図12から図14を参照してより詳細に説明するように、説明のために、信頼ツリーを構築し、信頼ツリーを通る複数のパスのそれぞれについてパス信頼度を決定してもよい。
【0307】
ステップ174では、信頼情報を使用して出力を生成する。意図クラスのうちのいずれか1つの信頼情報が信頼閾値基準を満たしているかどうかに応じて、コマンドは、生成され、ユーザの確認を必要とせずに制御システムのアクターに出力され得る。説明のために、1つの意図クラスの信頼情報が第1の信頼閾値以上である場合、コマンドは、生成され、ユーザの確認を必要とせずに制御システムのアクターに出力され得る。ユーザインターフェースを介して出力が生成されてユーザの確認を要求する場合、確認のためにユーザに提示される候補意図の選択は、信頼情報に基づいてもよい。説明のために、第2の信頼閾値以上の信頼情報を有するすべての候補意図は、選択のためにユーザに出力され得る。第2の信頼閾値は、第1の信頼閾値よりも小さくてもよい。
【0308】
図12は、方法180のフローチャートである。方法180は、コマンド生成システム20またはIBNによって実行され得る。方法180は、ステップ173で信頼情報を決定するために実装され得る。方法180は、ノードおよびリンクを有するツリーを表すデータ構造を生成すること、およびツリーを通るパスを決定することを含む。
【0309】
信頼ツリーの各ノードは、複数の単純な意図のうちの1つ、または複数の複合意図のうちの1つ(のみ)に関連付けられてもよい。
【0310】
信頼ツリーは、複数の複合意図のうちの1つに関連付けられた少なくとも1つのノードと、それぞれが複数の単純な意図から選択された単純な意図に関連付けられた少なくとも2つのノードとを含み得る。
【0311】
複数の複合意図のうちの1つに関連付けられた信頼ツリーのノードは、複数の複合意図のうちの1つが形成される複合意図または単純な意図に関連付けられた子ノードを有することができる。
【0312】
異なる意図クラスの分類結果の信頼性を定量化する信頼情報を決定することは、信頼ツリーのノードおよび/またはリンクに割り当てられた信頼値に基づいて、ツリーを通るすべての可能なパスの中からツリーを通るパスを識別することを含み得る。
【0313】
ステップ181で、信頼ツリーを構築することができる。信頼ツリーは、nが整数でn≧2である、n複合意図に関連付けられたルートノードを有することができる。リーフノード以外の信頼ツリー内の任意のノードは、複合意図に関連付けることができる。リーフノード以外の任意のノードは、複数の子ノードを有することができる。k複合意図(kは整数n≧k≧2)に関連付けられた任意のノードは、k個の子ノードを有することができ、それぞれが(k-1)個の複合意図に関連付けられている(すべての子ノードの(k-1)個の複合意図は互いに異なる)。
【0314】
ステップ182において、意図分類によって得られた信頼値を各ノードに割り当てることができる。信頼値は、自然言語入力がそれぞれのノードの単純意図クラスまたは複合意図クラスに属するという分類信頼度であり得る。
【0315】
ステップ183で、信頼ツリーを通るパスの信頼度が決定される。ステップ183は、可能なパスごとに繰り返し実行することができる。
【0316】
これは、以下を含むプロセスによって実行でき、プロセスは、(i)正の(つまり、ゼロ以外の)信頼値を有するリーフノードから開始することと、(ii)祖先ノードまで移動することと、(iii)祖先ノードの信頼値がゼロになるまでステップ(ii)を繰り返すことと、(iv)このパスに沿って見つかったすべての正の信頼値を乗算することによって、信頼ツリーを通るそれぞれのパスの信頼度を決定することと、を含む。
【0317】
このプロセスは、リーフノードごとに繰り返すことができる。
ステップ184で、パス信頼度が最も高いパスが決定される。
【0318】
パス信頼度が最も高いパスのパス信頼度、任意で他のパスのパス信頼度も使用して、出力を生成することができる。パス信頼度がパス信頼度閾値基準を満たしているかどうかに応じて、コマンドが生成され、ユーザの確認を必要とせずに制御システムのアクターに出力され得る。説明のために、1つの(単純な、または複合)意図クラスのパス信頼度が第1のパス信頼度閾値以上である場合、コマンドはユーザの確認を必要とせずに、制御システムのアクターに生成および出力することができる。ユーザインターフェースを介して出力を生成してユーザの確認を要求する場合、確認のためにユーザに提示される候補(単純な、または複合)意図の選択は、パス信頼情報に基づいて行うことができる。説明のために、第2のパス信頼閾値以上のパス信頼度を有するすべての(単純な、または複合)候補意図は、選択のためにユーザに出力され得る。第2のパス信頼閾値は、第1のパス信頼閾値よりも小さくてもよい。
【0319】
信頼度が最も高いルートノードの子が最も可能性が高いのは、目的の意図クラスである。しかし、信頼度ゼロノード(またはその祖先)も目的の意図であり得る。ユーザの確認を行ってもよい。
【0320】
意図分類からの信頼値を使用して目標意図クラスを(ほぼ)識別するために使用することができるプロセスを以下に説明する。
【0321】
1.自然言語入力xを受信すること
2.IBNは、自然言語入力を事前定義された(単純な、および複合)意図クラスC_1、C_2、...、C_nに分類できる分類器を使用して分類を実行する。
【0322】
3.c(x,C)は、入力xが任意の(単純な、および複合)クラスCに属するという分類信頼度である。
【0323】
4.それらのノードとして単純な意図クラスと複合意図クラスを有する信頼ツリーが構築される。
【0324】
a.図13および図14は、2つの複合意図と3つの複合意図しかない例示の信頼ツリーを示している。
【0325】
b.信頼ツリーのルートノードは、すべての3つの複合意図クラスをそれらの子として有する。
【0326】
c.それぞれの3つの複合意図は、順番に、子として、その構成要素の2つの複合意図を有している。
【0327】
d.それぞれの2つの複合意図は、子として、その構成要素の単純な意図を有している。
【0328】
e.図13および図14は、最大3つの複合意図がある場合のツリーを示しているが、図12に関連して説明されているように、n>3の信頼ツリーの生成も同様に実行することができる。
【0329】
5.ツリー内の各ノードに分類信頼値を割り当てること
6.最高の信頼度のパスを見つけること:
a.リーフノードで開始する
b.それらの信頼値が正である限り(つまり、ゼロ以外)、祖先ノードまで上に移動する
c.信頼値0.0の祖先ノードに到達するのを停止する
d.このパスに沿って見つかったすべての正の信頼値を乗算する;これを「パス信頼度」と呼ぶ
e.すべての他のリーフノードでプロセスを繰り返す
f.パス信頼度が最も高いパスを選択する
i.信頼度が最も高いルートノードの子が最も可能性が高い目的の意図クラス
ii.しかし、信頼度ゼロノード(またはその祖先)も目的の意図であり得る
7.意図クラスをユーザに確認する
図13は、自然言語入力「ファイアウォールを介してメールサーバーとデータベースサーバーとの間にHTTPSフローを作成する」の信頼ツリー190を示している。ルートノードを除いて、すべての他のノードはIBNで定義された意図クラスに対応している。3つの複合意図クラスはルートの子であり、2つの複合クラスは前者の子である。リーフは単純な意図クラスを表す。任意のノード内の数値は、対応する意図クラスの分類信頼度を示す。太いエッジで強調表示されたパスは信頼度の高いパスを表し、一方、強調表示された意図クラスは目標意図クラスを表す。この例では、パス信頼値は0.05である。つまり、入力意図は、create_flow_unicast、create_nfv、およびapply_filterの3つの単純な意図で構成される3つの複合意図クラスに最も類似していることがわかる。この3つの複合クラスはルートノードの子であるため、IBNはこれをユーザが意図した目標クラスまたは目標動作として解釈する。
【0330】
図14は、自然言語入力「ファイアウォールを介したメールサーバーとデータベースサーバーとの間のHTTPS通信を許可する」の信頼ツリー200を示している。この場合、2つの複合意図クラスcreate_nfv+apply_filterは、目標意図クラスとしてマークされる。しかし、このクラスはルートノードの直接の子ではないため、IBNは、この意図クラスのアクションが必要かどうか、またはその親意図クラスのアクションが必要かどうかを確認するためにオペレータに尋ねる。
【0331】
上述のように、自然言語入力は、意図クラス(どのコマンドを生成するべきかを決定する)を指定するだけでなく、コマンドの属性も指定することができる。説明のために、フロー(通信フロー、電力フロー、または流体フローであり得る)を構成または再構成するために、自然言語入力は少なくとも次のパラメータを指定することができる。
【0332】
・フローのソース
・フローのエンドポイント
・任意で、フローパスの容量(最大通信帯域幅、最大電力伝送、または最大流体流量)
・任意のその他の属性(アラーム、警告、または修正アクションのマージンまたは閾値など)。
【0333】
コマンド生成システム20またはIBN120によって実行される自然言語処理は、意図クラスを決定するだけでなく、エンティティ解決(および、該当する場合には、他の属性の解決)を実行することもできる。エンティティ解決を実行することには、制御されたユーティリティシステム、産業システム、または通信ネットワーク内の制御可能なデバイス(IEC61850に準拠したインテリジェント電子デバイス(IED)など;説明のために、IEDは、IEC61850-3:2013、IEC61850-5:2013、および/またはIEC61850-6:2009のうちの1つまたは複数と互換性のあるIEDであり得る)の固有の識別子を決定することが含まれ得る。
【0334】
図15は、方法210のフローチャートである。方法210は、コマンド生成システム20またはIBN120によって実行され得る。
【0335】
ステップ211で、意図分類が実行されて、自然言語入力のための最も可能性の高い、または複数の可能な意図クラスが決定される。
【0336】
ステップ212で、エンティティ解決が実行される。NLPまたはNLUを使用して、自然言語入力を処理することができる。コマンド生成システム20またはIBN120は、制御されたユーティリティシステム、産業システム、または通信ネットワークに関するシステム情報を使用して、自然言語入力が参照するデバイス(IEDなど)のアドレスを決定することができる。説明のために、標準化された構成記述(SCD)、特にIEC61850に準拠した標準化された構成言語(SCL)ファイル(例えば、IEC61850-6:2009と互換性のある変電所ファイル)は、自然言語入力によって指定される、制御システム内のシステムエンティティを識別するプロセスで使用され得る。
【0337】
ステップ213で、一貫性検証を実行することができる。一貫性検証には、決定された意図クラスと決定されたシステムエンティティ(および/または自然言語入力に含まれる他の属性)の両方は、以前に識別された意図、以前に発行されたコマンド、および/または制御されたユーティリティシステム、産業システム、または通信ネットワークの現在の状態のうちの1つまたは複数と一致していることを検証することが含まれ得る。代替的または追加的に、(部分的な)オントロジーは、システムエンティティを決定するプロセスに使用され得る。図16を参照して、例示的な実装について説明する。部分的なオントロジーは、制御されているシステムのタイプ(すなわち、電力システム、流体フローグリッド、または通信ネットワーク)に依存し得る。
【0338】
ステップ214において、コマンドは、決定された意図クラス、決定されたシステムエンティティ、および存在する場合は自然言語入力に含まれる他の属性に基づいて生成され得る。コマンドは、制御されたユーティリティシステム、産業システム、または通信ネットワークのアクターに提供することができる。アクターは、ユーザの自然言語入力によって指定された意図を実装することができる。これは、ステップ212で識別されたシステムエンティティおよび/またはステップ212で識別されたシステムエンティティ間のパスに沿って配置された中間システムエンティティを含む、複数のシステムエンティティによる実行のための命令をアクターによって生成することを含み得る。ネットワークトポロジ情報、例えばSCLファイルまたは他のSCDに含まれるネットワークトポロジ情報などを使用してもよい。
【0339】
図16は、システムエンティティ解決に使用することができる部分的なネットワークオントロジー220を示している。図16は、制御システムが通信ネットワーク(例えば、ユーティリティシステムまたは産業システムの通信ネットワーク)である場合に関するが、制御システムの(部分的な)オントロジーは、他の制御システムにも使用され得る。説明のために、create_unicast_flow意図クラスが考慮される。これには、「ソース」と「目標」という2つの必須エンティティが必要である。IBNが次のエンティティ名と値の対を識別していると仮定する。
【0340】
-「ソース」:「10.0.0.1」
-「サーバー」:「データベースサーバー」
図16に基づくと、「データベースサーバー」は本質的に「サーバー」であり、これは次に「エンドポイント」である。さらに、どのエンドポイントも「目標」として機能することができる。これは、「データベースサーバー」が意図に必要な「目標」と同等であることを意味する。さらに、すべてのエンドポイントにIPアドレスがあるため、「データベースサーバー」、つまり「目標」にもIPアドレスがあり、これを使用して目的のユニキャストフローを作成することができる。
【0341】
図17は、入力デバイス40およびコマンド生成システム20を使用して、制御システム(この場合は電力システム)にコマンドを生成して発行することができるシステム230の概略図である。
【0342】
システム230は、分散型エネルギーソース(DER)またはマイクログリッドを含む。複数の発電機231~233は電力を供給する。DERまたはマイクログリッドはまた、送電および/または配電システム244を介して発電機231~233に接続された複数の負荷245、246を含み得る。回路ブレーカー(CB)、保護リレー、および/または他の電源スイッチ242、243、249により、発電機231~233および/または負荷245、246を選択的に結合することができる。IED241は、主要コンポーネントの制御用に展開されている。IEDは、通信ネットワーク250を介して通信可能に結合され得る。通信ネットワーク250は、1つまたは複数のファイアウォール251および/または1つまたは複数の通信スイッチ252などの通信デバイスを含み得る。
【0343】
入力デバイス40は、本明細書で詳細に説明される技術を使用して、システム230の通信ネットワークを選択的に構成または再構成するために、および/またはシステム230の電力フローを選択的に構成または再構成するために、ユーザによって使用され得る。
【0344】
入力デバイス40は、自然言語入力を受信するためのユーザインターフェースを有する。ユーザインターフェースは、タッチ感知スクリーンまたは近接感知スクリーン、キーボード、またはマイクロフォンなどの音響電気変換器などのグラフィカルI/Oユニットを含み得る。
【0345】
入力デバイス40は、コマンド生成システム20に接続するための無線または有線インターフェースを有してもよい。入力デバイス40は、他のネットワークまたはデバイスに接続するためのWLAN(例えば、Wi-Fi)またはセルラー(例えば、4Gまたは5G)インターフェースであり得るか、またはそれらを含み得る無線インターフェースを有し得る。入力デバイス40は、例えば、無線インターフェースを使用して、自然言語入力をコマンド生成システムに送信することができる。入力デバイス40は、クラウドに接続するためのユーザ認証機構を含んでもよい。
【0346】
図示の実施形態では、コマンド生成システム20またはIBN120は、自然言語入力の受信に応答して、実行されるべきアクションのタイプと、アクションの影響を受けるノードを決定するように動作する。実行されるべきネットワークアクションに関する情報は、最初に入力デバイス40で受信され、次にコマンド生成システム20またはIBN120によって処理されて、ネットワークアクションの実行がトリガされることを可能にする。入力デバイス40は、ユーザによる検証および確認のために、識別された意図クラスおよび/または識別されたシステムエンティティを出力することができる。確認に応答して、コマンド生成システム20またはIBN120は、NMSの適切なインターフェース(例えば、REST)を呼び出して、アクションをトリガする。コマンド生成システム20またはIBN120は、有線または無線インターフェースを使用して、制御システム内のアクターと通信することができる。
【0347】
コマンド生成システム20またはIBN120は、システムコンテキスト(例えば、構成記述に含まれるシステムトポロジに関する情報および/またはプロセス記述に関する情報)を使用して、例えば、どのアクションが許容されるかを決定することによって、ユーザの意図を解決することができる。コマンド生成システム20またはIBN120は、コンテキスト情報が、システム構成記述から検索されたデータおよび/またはコマンド生成システム20またはIBN120によって記憶またはバッファリングされ得るプロセス記述から検索されたデータを含むように動作し得る。コマンド生成システム20またはIBN120は、自然言語入力の処理が、コンテキスト情報に基づいて、どのアクションが許容されるかを決定することを含み得るように動作し得る。コマンド生成システム20またはIBN120は、決定された許容可能なネットワークアクションが、自然言語入力によって指定されるように、ユーザの意図を解釈するために使用されるように動作し得る。コマンド生成システム20またはIBN120は、決定された許容可能なアクションが、どの分類器を自然言語入力に適用するべきかを決定するために使用されるように動作し得る。コマンド生成システム20またはIBN120は、アクションが許容可能なネットワークアクションであると決定された場合にのみ、アクションを選択的に実行させるために、許容可能なネットワークアクションが使用されるように動作し得る。
【0348】
コマンド生成システム20またはIBN120は、グラフィカルユーザインターフェースを介してフリーハンドユーザ入力を受信し、フリーハンドユーザ入力から自然言語入力を抽出し、本明細書で詳細に説明するように自然言語入力を処理するように動作し得る。
【0349】
図18は、グラフィカルユーザインターフェース(GUI)を有する入力デバイス40の概略図である。コマンド生成システム20、IBN120、または入力デバイス40は、制御システムのトポロジの少なくとも一部を表すグラフィック161を、GUIを介して出力させるように動作し得る。入力デバイス40は、自然言語入力162を含むGUIでフリーハンドユーザ入力を受信するように動作し得る。フリーハンドユーザ入力の処理は、入力デバイス40、コマンド生成システム20、またはIBN120で実行して、フリーハンドユーザ入力内の自然言語入力を識別することができる。次に、識別された自然言語入力は、コマンド生成システム20またはIBN120によって処理されて、制御システム内のアクター(例えば、管理または制御システム)にコマンドを生成して出力することができる。
【0350】
本発明によるシステム、デバイス、および方法は、ユーティリティシステム、産業システム、または通信ネットワーク(特に、ユーティリティシステムまたは産業システムの通信ネットワーク)におけるアクションを、便利に入力できる自然言語入力を使用して管理することを可能にする。システム、デバイス、および方法により、ユーザ(例えば、オペレータまたはネットワークエンジニア)がアクションを指定し、制御または管理システムを介してアクションを実行できるようになり、制御または管理システムのメニューベースのインターフェースをナビゲートする必要がなく、以前に発行されたコマンドや以前に述べられた意図を追跡する必要がなく、および/または制御または管理システムに必要なコマンド構造の知識を必要としない。適切なアクションは、制御または管理システムを介してトリガされる。
【0351】
システム、デバイス、および方法は、ネットワークエンジニアの認知負荷を軽減するだけでなく、ユーティリティシステム、産業システム、または通信ネットワークの管理における構成ミスのリスクも軽減する。
【0352】
システム、デバイス、および方法は、さまざまな効果と利点を提供する。システム、デバイス、および方法は、ネットワークエンジニアがあいまいさを導入することなく、表現力豊かな方法で自身の意図した動作を指定できるメカニズムを提供する。
【0353】
システム、デバイス、および方法は、増分ネットワーク管理タスクの簡素化されたソリューションを提供する。
【0354】
システム、デバイス、および方法は、専門家と新しいネットワークエンジニアの両方に同等の使いやすさを提供する。
【0355】
システム、デバイス、および方法を使用して、試運転されるべきユーティリティシステム、産業システム、または通信ネットワークを構成することができる。
【0356】
システム、デバイス、および方法は、ユーティリティシステム、産業システム、または通信ネットワークのエネルギー、流体、または通信フローを構成するために使用することができる。
【0357】
実施形態は、通信ネットワークおよび電力システムの文脈で説明されてきたが、方法およびコンピュータシステムは、それに限定されない。開示されたシステム、方法、およびデバイスは、電力システムである必要はないが、電力システムであり得るIACSのネットワーク管理タスクに使用することができる。
【0358】
本発明は、図面および前述の説明に詳細に説明されているが、そのような説明は、実例的、または例示的であり、限定的ではないと見なされるべきである。開示された実施形態の変形形態は、図面、開示、および添付の特許請求の範囲の研究から、当業者および特許請求された発明を実施する者によって理解および実施され得る。特許請求の範囲において、「含む」という語は他の要素またはステップを除外するものではなく、不定冠詞「a」または「an」は複数を除外するものではない。特定の要素またはステップが別個のクレームに記載されているという事実だけでは、これらの要素またはステップの組合せを有利に使用することができないことを示すものではない。具体的には、実際の請求項の従属関係に加えて、任意のさらに意味のある請求項の組合せが開示されていると見なされる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
【手続補正書】
【提出日】2023-10-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーティリティシステム、産業システム、または通信ネットワークのアクター(11;111)にコマンドを発行するためのコマンド生成システム(20;120)であって、前記コマンド生成システム(20;120)は、意図ベースのネットワークIBNを実装し、
実行されるべきタスクを指定する自然言語入力を受信するように動作する第1のインターフェース(21;121)と、
前記自然言語入力によって表現されるユーザの意図を決定し、前記決定された意図に基づいて少なくとも1つのコマンドを生成するステートフル意図解決プロセスを実行するように動作する1つまたは複数の処理モジュール(31~33;131、132)と、
前記ユーティリティシステム、前記産業システム、または前記通信ネットワークで前記タスクを実行させるために、前記アクター(11;111)に前記少なくとも1つのコマンドを発行するように動作する第2のインターフェース(22)と、を含む、コマンド生成システム(20;120)。
【請求項2】
前記コマンド生成システムは、1つまたは複数の意図トランザクションを維持するように動作し、終了基準が満たされていない場合は、同じセッション内で以前に識別された意図に関する情報を提供する意図トランザクションを使用して、意図解決を実行する、請求項1に記載のコマンド生成システム(20;120)。
【請求項3】
前記アクター(11;111)は、ユーティリティシステム、産業システム、またはユーティリティシステムもしくは産業システムの通信ネットワークの管理または制御システムである、請求項1または請求項2に記載のコマンド生成システム(20;120)。
【請求項4】
前記コマンド生成システムは、前記ユーザの意図の識別がどれほど信頼できるかを定量的に決定し、信頼情報を使用してコマンドを自動的に出力できるかどうか、またはユーザの確認が必要かどうかを決定するように動作する、請求項1~請求項3のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項5】
前記コマンド生成システム(20;120)は、以前に識別された意図および/または以前に発行されたコマンドに関する情報を使用して、前記ステートフル意図解決プロセスを実行するように動作し、
任意で、前記コマンド生成システム(20;120)は、前記以前に識別された意図および/または前記以前に発行されたコマンドに関する前記情報を記憶するデータ記憶システム(23;123)を含むか、または通信可能に結合され、
さらに任意で、前記コマンド生成システム(20;120)は、前記タスクが前記ユーティリティシステム、前記産業システム、または前記通信ネットワークで実行されたことの確認に応答して、前記決定された意図および/または前記少なくとも1つのコマンドに関する情報を前記データ記憶システム(23;123)に記憶するように動作する、請求項1~請求項4のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項6】
前記コマンド生成システム(20;120)は、前記自然言語入力によって表現される前記ユーザの意図が、前記少なくとも1つのコマンドを発行する前に、前記以前に識別された意図および/または前記以前に発行されたコマンドと一致することを検証することを含む検証を実行するように動作する、請求項5に記載のコマンド生成システム(20;120)。
【請求項7】
前記コマンド生成システム(20;120)は、
前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの状態に関する状態情報を検索し、
前記少なくとも1つのコマンドを発行する前に、前記自然言語入力によって表現される前記ユーザの意図が前記検索された状態情報と一致していることを検証することを含む検証を実行するように動作する、請求項5または請求項6に記載のコマンド生成システム(20;120)。
【請求項8】
前記コマンド生成システム(20;120)は、前記自然言語入力を少なくとも1つの意図クラスに割り当てるように動作し、前記意図クラスは、複数の単純な意図および複数の複合意図からなるグループから選択される、請求項1~請求項7のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項9】
前記複数の複合意図の各複合意図は、前記複数の単純な意図から選択される2つ以上の単純な意図から構成される、請求項8に記載のコマンド生成システム(20;120)。
【請求項10】
前記コマンド生成システム(20;120)は、前記複数の単純な意図から選択された単純な意図の自然言語処理、NLPベースの組合せによって、前記複数の複合意図を自動的に生成するように動作する、請求項8または請求項9に記載のコマンド生成システム(20;120)。
【請求項11】
前記ステートフル意図解決プロセスは、前記自然言語入力を前記少なくとも1つの意図クラスに割り当てることを含み、前記コマンド生成システム(20;120)は、異なる意図クラスの分類結果の信頼性を定量化する信頼情報を決定するように動作し、
任意で、前記コマンド生成システム(20;120)は、前記信頼情報を使用して、前記自然言語入力を少なくとも1つの意図クラスに割り当てる、および/または前記信頼情報を出力するように動作する、請求項8~請求項10のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項12】
前記コマンド生成システム(20;120)は、前記信頼情報を決定するために信頼ツリー(190;200)を生成するように動作し、
任意で、前記信頼ツリー(190;200)の各ノードは、前記複数の単純な意図のうちの1つ、または前記複数の複合意図のうちの1つに関連付けられ、および/または
前記信頼ツリー(190;200)は、前記複数の複合意図のうちの1つに関連付けられた少なくとも1つのノードと、それぞれが前記複数の単純な意図から選択された単純な意図に関連付けられた少なくとも2つのノードとを含み、
前記複数の複合意図のうちの1つに関連付けられた前記信頼ツリー(190;200)のノードは、前記複数の複合意図のうちの1つが形成される複合意図または単純な意図に関連付けられた子ノードを有し、
さらに任意で、さまざまな意図クラスの分類結果の前記信頼性を定量化する前記信頼情報を決定することは、前記信頼ツリー(190;200)のノードおよび/またはリンクに割り当てられた信頼値に基づいて、前記ツリー(190;200)を通るすべての可能なパスの中から前記ツリー(190;200)を通るパスを識別することを含む、請求項11に記載のコマンド生成システム(20;120)。
【請求項13】
前記コマンド生成システム(20;120)は、前記自然言語入力から前記少なくとも1つの意図クラスの1つまたは複数の属性を識別するように動作し、前記少なくとも1つのコマンドは、前記識別された1つまたは複数の属性に依存し、
任意で、前記識別された1つまたは複数の属性は、フローのソース、フローの目標、実行されるべきアクション、サービス品質、仮想ネットワーク機能の識別子のうちの1つまたは複数を含む、請求項8~請求項12のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項14】
前記コマンド生成システム(20;120)は、
前記自然言語入力が受信されるユーザのアクティブな意図トランザクションがない場合、前記自然言語入力の受信に応答して意図トランザクションを確立するように動作し、前記自然言語入力によって表現された前記決定された意図の少なくとも識別子は、前記意図トランザクションに含まれ、任意で、前記決定された意図の実行時間が前記意図トランザクションに含まれ、
終了基準が満たされていない場合、前記意図トランザクションを使用して意図解決を実行し、同じユーザのさらなる自然言語入力によって表現されるさらなるユーザの意図を前記意図トランザクションに追加し、前記意図トランザクションへの前記さらなる自然言語入力によって表現される前記ユーザのさらなる意図のためのさらなる識別子を追加することを含み、任意で、前記ユーザのさらなる意図の実行時間が前記意図トランザクションに追加され、
終了基準が満たされている場合は、前記意図トランザクションにさらなるユーザの意図を追加することを終了し、
任意で、前記終了基準は、時間閾値基準、前記意図トランザクションを終了するためのコマンドの受信、以前の意図トランザクションをロードするためのコマンドの受信のうちのいずれか1つまたはそれらの任意の組合せを含み、および/または
任意で、前記コマンド生成システム(20;120)は、第1のユーザに対する第1の意図トランザクションと、前記第1のユーザとは異なる第2のユーザに対する第2の意図トランザクションとを同時に維持および更新するように動作する、請求項1~請求項13のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項15】
前記コマンド生成システム(20;120)は、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークを継続的に監視し、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの変更への前記コマンド生成システム(20;120)の自動適応を保証するように動作する意図スーパーバイザを実行し、
任意で、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの前記変更に対する前記コマンド生成システム(20;120)の前記自動適応を保証することは、
前記ユーティリティシステム、前記産業システム、または前記通信ネットワークが、前記自然言語入力によって表現された前記ユーザの意図に従って動作し続けることを保証するために、トポロジおよび/またはエンティティの状態の変化の検出に応答して、少なくとも1つの追加コマンドを自動的に生成および発行することと、
前記自然言語入力によって表現された前記決定された意図が、以前に受信したユーザの意図および/または前記ユーティリティシステム、前記産業システム、または前記通信ネットワークの状態と一致していることを検証することと、
前記少なくとも1つのコマンドの実行により、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークが目標状態に到達することを検証することと、のうちの1つまたはいくつかを含む、請求項1~請求項14のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項16】
前記第1のインターフェース(21;121)は、前記自然言語入力をテキスト入力として受信するように動作し、任意で、前記第1のインターフェース(21;121)はウェブベースのインターフェースであり、および/または
前記第1のインターフェース(21;121)は、前記自然言語入力を音声入力として受信するように動作し、任意で、前記コマンド生成システム(20;120)は、前記ステートフル意図解決プロセスを実行する前に、前記音声入力をテキスト入力に変換するための音声テキスト変換モジュールを含み、および/または
前記第1のインターフェース(21;121)は、グラフィカルユーザインターフェースを介して前記自然言語入力をフリーハンドユーザ入力として受信するように動作する、請求項1~請求項15のいずれか1項に記載のコマンド生成システム(20;120)。
【請求項17】
アクター(11;111)を有するユーティリティシステム、産業システム、または通信ネットワークを含み、任意で、前記アクター(11;111)は管理または制御システムであり、および/または任意で、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークが、電力システムおよび電力システム通信ネットワークのうちの少なくとも1つを含み、
前記少なくとも1つのコマンドを前記アクター(11;111)に発行するように動作する、請求項1~請求項16のいずれか1項に記載のコマンド生成システム(20;120)を含む、システム。
【請求項18】
意図ベースのネットワークIBNを使用して、ユーティリティシステム、産業システム、または通信ネットワークにコマンドを発行する方法であって、前記方法は、
タスクを指定する自然言語入力を受信することと、
前記自然言語入力によって表現されるユーザの意図を決定するために、ステートフル意図解決プロセスを実行することと、
前記決定された意図に基づいて少なくとも1つのコマンドを生成することと、
前記タスクの実行のために、前記ユーティリティシステム、前記産業システム、または前記通信ネットワークのアクター(11;111)に前記少なくとも1つのコマンドを発行することと、を含む、方法。
【国際調査報告】