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

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

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特表2024-538508電子通信における健康および安全性リスクを特定および予測するための機械学習モデル
<>
  • 特表-電子通信における健康および安全性リスクを特定および予測するための機械学習モデル 図1
  • 特表-電子通信における健康および安全性リスクを特定および予測するための機械学習モデル 図2
  • 特表-電子通信における健康および安全性リスクを特定および予測するための機械学習モデル 図3
  • 特表-電子通信における健康および安全性リスクを特定および予測するための機械学習モデル 図4
  • 特表-電子通信における健康および安全性リスクを特定および予測するための機械学習モデル 図5
  • 特表-電子通信における健康および安全性リスクを特定および予測するための機械学習モデル 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-23
(54)【発明の名称】電子通信における健康および安全性リスクを特定および予測するための機械学習モデル
(51)【国際特許分類】
   G06Q 10/0635 20230101AFI20241016BHJP
   G06Q 50/08 20120101ALI20241016BHJP
   G06F 40/279 20200101ALI20241016BHJP
   H04L 51/21 20220101ALI20241016BHJP
   G06N 20/00 20190101ALI20241016BHJP
【FI】
G06Q10/0635
G06Q50/08
G06F40/279
H04L51/21
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024515934
(86)(22)【出願日】2022-09-15
(85)【翻訳文提出日】2024-03-12
(86)【国際出願番号】 US2022043570
(87)【国際公開番号】W WO2023043864
(87)【国際公開日】2023-03-23
(31)【優先権主張番号】63/245,029
(32)【優先日】2021-09-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/512,150
(32)【優先日】2021-10-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ナグ,リア
(72)【発明者】
【氏名】ナンビアー,パドマクマール
(72)【発明者】
【氏名】プラハラジ,スベンドゥ
(72)【発明者】
【氏名】ベンカタスブラマニアン,カールティク
【テーマコード(参考)】
5L010
5L050
【Fターム(参考)】
5L010AA04
5L010AA06
5L050CC07
(57)【要約】
ターゲットフィールドに関連した電子通信において健康および安全性リスクをモニタおよび検出する機械学習システムに関連したシステム、方法およびその他の実施形態が説明されている。1つの実施形態において、方法は、ターゲットフィールドに関連した電子メールを特定するためにネットワーク上で電子メール通信をモニタすることを含む。機械学習分類器が開始され、機械学習分類器は、安全性リスクまたは非リスクに言及するボキャブラリを含むものとしてリスクを有する電子メールからのテキストを分類するように構成されている。分類器は、電子メールが安全性リスクに言及するテキストを含むという確率リスク値を生成し、少なくとも部分的に確率リスク値に基づいて安全性リスクまたは非リスクとして電子メールをラベル付けする。アラートを提供するために、電子メールが安全性リスクに言及するものとしてラベル付けされることに応答して、電子通知が生成され、リモートデバイスへ送信される。
【特許請求の範囲】
【請求項1】
少なくとも1つのコンピューティングデバイスによって実行される、コンピュータが実行する方法であって、
電子メールを特定するためにネットワーク上で電子メール通信をモニタすることと、
前記ネットワーク上で前記電子メールを受信することに応答して、前記電子メールを建設プロジェクトに関連するものとして検出および特定することと、
前記電子メールからのテキストを複数の単語にトークン化することと、
前記複数の単語の各々を、各々の単語を数値にマップする数値ベクトルにベクトル化することと、
建設専門用語を特定するように構成されかつリスクを有するテキストを安全性リスクまたは非リスクに言及するものとして分類するように構成された機械学習分類器を開始し、前記電子メールから生成された前記数値ベクトルを前記機械学習分類器に入力することと、を含み、
前記機械学習分類器は、前記数値ベクトルを、規定された安全性リスクボキャブラリのセットおよび規定された非リスクボキャブラリのセットに少なくとも対応させることによって、前記電子メールからの前記数値ベクトルを処理し、
前記方法は、
前記機械学習分類器によって、前記電子メールが、安全性リスクに言及するボキャブラリを含むという確率リスク値を生成することと、
少なくとも部分的に、前記電子メールが安全性リスクに言及しているという前記確率リスク値に基づいて、前記電子メールを安全性リスクまたは非リスクとしてラベル付けすることと、
アラートを提供するために、前記電子メールが前記安全性リスクに言及するものとしてラベル付けされることに応答して、リモートデバイスへの電子通知を生成および送信することと、をさらに含む、コンピュータが実行する方法。
【請求項2】
前記機械学習分類器は、複数の独立した機械学習分類器を含むアンサンブル分類器を含み、
前記独立した機械学習分類器の各々は、建設専門用語を特定するように構成されており、
前記方法は、
前記独立した機械学習分類器の各々によって、前記電子メールを安全性リスクまたは非リスクに言及するものとして分類する出力を生成することと、
前記安全性リスクまたは前記非リスクに言及するものとしての前記電子メールのための前記ラベルを生成するために、少なくとも部分的に多数決に基づいて、前記独立した機械学習分類器の各々のからの前記出力を組み合わせることと、をさらに含む、請求項1に記載の方法。
【請求項3】
両方とも建設専門用語を特定し、かつ、予測によりテキストを安全性リスクまたは非リスクであるものとして分類するように構成された第2の機械学習分類器および第3の機械学習分類器を開始することをさらに含み、
各々の機械学習分類器は、分類の間にバイアスおよび冗長性を回避するために互いに異なる理論的背景で実施されており、
前記方法は、
少なくとも3つの個々の予測を生成するために前記電子メールが安全性リスクまたは非リスクに言及しているかどうかを示す個々の予測を前記機械学習分類器の各々によって生成することと、
前記3つの個々の予測の多数決に基づいて前記電子メールを前記安全性リスクまたは前記非リスクに言及するものとしてラベル付けすることと、をさらに含む、請求項1または請求項2に記載の方法。
【請求項4】
前記電子メールの識別子と前記電子メールを安全性リスクまたは非リスクとして示す前記ラベルとを含むように前記電子通知を生成することと、
前記ラベルを検証しかつ前記ラベルを変更するための入力を可能にするためのユーザインターフェースを提供することと、
前記ラベルが前記ユーザインターフェースを介して変更されることに応答して、前記機械学習分類器を再訓練するために、変更された前記ラベルおよび対応する電子メールを前記機械学習分類器へフィードバックすることと、をさらに含む、請求項1~請求項3のいずれか1項に記載の方法。
【請求項5】
建設プロジェクト用語の用語集またはデータベースから前記機械学習分類器に前記建設専門用語を入力することと、
少なくとも部分的に、安全性リスクに関連するまたは言及する既知のテキストを有する通信の第1のデータセットならびに健康および安全性リスクに言及しない既知の非リスクテキストを有する通信の第2のデータセットに基づいて安全性リスクテキストを特定するように前記機械学習分類器を訓練することと、をさらに含む、請求項1~請求項4のいずれか1項に記載の方法。
【請求項6】
少なくとも、前記機械学習分類器によって実施された建設専門用語の訓練されたデータセットに関連して前記電子メールからの前記テキストを評価することによって、前記建設プロジェクトに関連するものとして前記電子メールを検出および特定する、請求項1~請求項5のいずれか1項に記載の方法。
【請求項7】
命令を実行するように構成された少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに動作可能に接続された少なくとも1つのメモリと、
建設専門用語を特定しかつリスクを有するテキストを安全性リスクまたは非リスクとして分類するように構成された機械学習分類器と、
記憶されたコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体と、を含み、前記コンピュータ実行可能命令は、前記少なくとも1つのプロセッサによって実行されると、前記コンピューティングデバイスに、
送信された電子メールを特定するためにネットワーク上で電子メール通信をモニタすることと、
前記ネットワーク上で前記電子メールを受信することに応答して、前記電子メールを建設プロジェクトに関連するものとして検出および特定することと、
前記電子メールからのテキストを複数の単語にトークン化することと、
前記電子メールから生成された前記複数の単語を前記機械学習分類器に入力することと、をさせ、
前記機械学習分類器は前記複数の単語を、規定された安全性リスクボキャブラリのセットおよび規定された非リスクボキャブラリのセットに少なくとも対応させることによって、前記電子メールからの前記複数の単語を評価するように構成されており、
前記機械学習分類器によって、前記電子メールが安全性リスクに言及するテキストを含むという確率リスク値を生成することと、
少なくとも部分的に、前記電子メールが前記安全性リスクに言及するテキストを含むという前記確率リスク値に基づいて、前記電子メールを安全性リスクまたは非リスクとしてラベル付けすることと、
前記ネットワーク上で前記電子メールを受信することに関連して準リアルタイムでアラートを提供するために、前記電子メールが安全性リスクであるものとしてラベル付けされることに応答して、リモートデバイスへの電子通知を生成および送信することと、をさせる、コンピューティングシステム。
【請求項8】
前記機械学習分類器は、複数の独立した機械学習分類器を含むアンサンブル分類器を含み、
前記独立した機械学習分類器の各々は、建設専門用語を特定するように構成されており、
前記独立した機械学習分類器の各々は、前記電子メールを安全性リスクまたは非リスクであるものとして分類する出力を生成するように構成されており、
アンサンブル分類器は、安全性リスクまたは非リスクであるものとしての前記電子メールのための前記ラベルを生成するために、少なくとも部分的に多数決に基づいて、前記独立した機械学習分類器の各々からの前記出力を組み合わせるように構成されている、請求項7に記載のコンピューティングシステム。
【請求項9】
機械学習分類器は、少なくとも第1の機械学習分類器、第2の機械学習分類器および第3の機械学習分類器を含み、
前記機械学習分類器の各々は、建設専門用語を特定し、かつ、予測によりテキストを安全性リスクまたは非リスクとして分類するように構成されており、
各々の機械学習分類器は、分類の間のバイアスおよび冗長性を回避するために互いに異なる理論的背景で実施されており、
前記機械学習分類器の各々は、少なくとも3つの個々の予測を生成するために前記電子メールが安全性リスクであるかまたは非リスクであるかの個々の予測を生成するように構成されており、
前記コンピューティングシステムは、前記3つの個々の予測の多数決に基づいて前記電子メールを安全性リスクまたは非リスクとしてラベル付けするように構成されている、請求項7または請求項8に記載のコンピューティングシステム。
【請求項10】
前記少なくとも1つのプロセッサによって実行されると、前記プロセッサに、
前記電子メールの識別子と前記電子メールを安全性リスクまたは非リスクとして示す前記ラベルとを含む前記リモートデバイスへの前記電子通知を送信することと、
前記ラベルを検証しかつ前記ラベルを変更するための入力を可能にするユーザインターフェースを提供することと、
前記ラベルが前記ユーザインターフェースを介して変更されることに応答して、前記機械学習分類器を再訓練するために前記機械学習分類器に変更された前記ラベルおよび対応する電子メールをフィードバックすることと、をさせる命令をさらに含む、請求項7~請求項9のいずれか1項に記載のコンピューティングシステム。
【請求項11】
前記少なくとも1つのプロセッサによって実行されると、前記プロセッサに、
(i)健康および安全性問題に言及する既知のテキストを有する通信の第1のデータセットによって安全性リスクテキストを特定し、かつ(ii)健康および安全性問題に言及しない既知の非リスクテキストを有する通信の第2のデータセットによって非リスクテキストを特定するために、前記機械学習分類器を訓練させる命令をさらに含む、請求項7~請求項10のいずれか1項に記載のコンピューティングシステム。
【請求項12】
少なくともコンピュータのプロセッサによって実行されると、前記コンピュータに、
ターゲットフィールドに関連した電子メールを特定するためにネットワーク上で電子メール通信をモニタすることと、
リスクを有する前記電子メールからのテキストを安全性リスクまたは非リスクに関連するものとして分類するように構成された機械学習分類器を開始することと、
前記機械学習分類器によって、前記電子メールが安全性リスクに言及するテキストを含むという確率リスク値を生成することと、
少なくとも部分的に、前記電子メールが安全性リスクに言及していることを示す前記確率リスク値に基づいて、前記機械学習分類器によって、前記電子メールを安全性リスクまたは非リスクとしてラベル付けすることと、
アラートを提供するために、前記電子メールが安全性リスクに言及するものとしてラベル付けされることに応答して、リモートデバイスへの電子通知を生成および送信することと、をさせる、記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
【請求項13】
前記機械学習分類器は、複数の独立した機械学習分類器を含むアンサンブル分類器を含み、
前記独立した機械学習分類器の各々は、前記ターゲットフィールドから専門用語を特定するように構成されており、
前記独立した機械学習分類器の各々は、安全性リスクまたは非リスクに言及するボキャブラリを含む電子メールを分類する出力を生成し、
前記独立した機械学習分類器の各々からの前記出力は、安全性リスクまたは非リスクに言及するものとして前記電子メールのための前記ラベルを生成するために少なくとも部分的に多数決に基づいて組み合わされる、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項14】
少なくとも前記プロセッサによって実行されると、前記プロセッサに、
建設プロジェクト用語の用語集またはデータベースから前記機械学習分類器へ建設専門用語を入力させ、前記ターゲットフィールドは、建設に関連しており、
(i)健康および安全性問題に言及する既知のテキストを有する通信の第1のデータセットによって安全性リスクテキストを特定し、かつ(ii)健康および安全性問題に言及しない既知の非リスクテキストを有する通信の第2のデータセットによって非リスクテキストを特定するために、前記機械学習分類器を訓練させる命令をさらに含む、請求項12または請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
少なくとも前記プロセッサによって実行されると、前記プロセッサに、
前記機械学習分類器によって実施された専門用語の訓練されたデータセットに関連する前記電子メールからの前記テキストを少なくとも評価することによって、前記ターゲットフィールドに関連するものとして前記電子メールを検出および特定させ、
前記専門用語の訓練されたデータセットは、前記ターゲットフィールドに関連した専門用語に基づく、請求項12~請求項14のいずれか1項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
背景
健康および安全性リスクにつながるインシデントは、建設およびエンジニアリングプロジェクトなどのほとんどの大規模プロジェクトにおける一般的な出来事である。これらの安全性インシデントは、所有者、請負業者、下請け業者、建築士およびコンサルタントに数百万ドルのコストをかけ、全体的なプロジェクトに影響する。潜在的な問題の早期検出は、積極的な介入を可能にする場合があり、これは、労働現場における事故および安全性違反を回避することにつながる可能性がある。
【0002】
例えば、プロジェクトの進行において日々の電子通信を管理および通信するためにデジタルプラットフォームが使用される。これらの電子通信は、情報を含み、この情報は、正しく解読されれば、より大きな健康および安全性インシデントにつながる可能性がある潜在的な問題の早期兆候を示すことができる。これらの早期兆候は、各々のプロジェクトに関連したリスクを特定するために使用されることができ、早期警戒を提供するために働くことができる。
【0003】
しかしながら、プロジェクトのためのリスクのこのような早期兆候を特定するためのコンピュータ知的システムである従来のシステムは存在しない。また、電子通信に基づいてプロジェクトのための潜在的なリスクを予想または予測することができる従来のシステムは存在しない。
【発明の概要】
【0004】
概要
1つの実施形態において、電子メールを特定するためにネットワーク上で電子メール通信をモニタリングすることを含む、コンピュータが実行する方法が説明されている。ネットワーク上で電子メールを受信することに応答して、建設プロジェクトに関連したものとして電子メールを検出および特定する。方法は、電子メールからのテキストを複数の単語にトークン化し、複数の単語の各々を、各々の単語を数値にマップする数値ベクトルにベクトル化する。建設専門用語を特定しかつリスクを有するテキストを安全性リスクに言及するものとしてまたは安全性リスクを論じるものとしてまたは安全性リスクに言及していない、即ち非リスクであるとして分類するように構成された、機械学習分類器が開始され、電子メールから生成された数値ベクトルを機械学習分類器に入力する。機械学習分類器は、少なくとも数値ベクトルを、規定された安全性リスクボキャブラリのセットおよび規定された非リスクボキャブラリのセットに対応させることによって、電子メールからの数値ベクトルを処理し、機械学習分類器によって確率リスク値を生成し、電子メールは、安全性リスクに言及するまたは安全性リスクを論じるボキャブラリを含む。電子メールは、少なくとも部分的に、電子メールが安全性リスクに言及しているという確率リスク値に基づいて、安全性リスクまたは非リスクとしてラベル付けされ、アラートを提供するために、安全性リスクに言及するものとして電子メールがラベル付けされることに応答してリモートデバイスへ電子通知を生成および送信する。
【0005】
別の実施形態において、方法は、建設プロジェクト用語の用語集またはデータベースから機械学習分類器に建設専門用語を入力することと、少なくとも部分的に、安全性リスクに関連するまたは言及する既知のテキストを有する通信の第1のデータセットならびに健康および安全性リスクに言及しない既知の非リスクテキストを有する通信の第2のデータセットに基づいて安全性リスクテキストを特定するように機械学習分類器を訓練することと、をさらに含む。
【0006】
別の実施形態において、コンピューティングシステムが説明されており、コンピューティングシステムは、命令を実行するように構成された少なくとも1つのプロセッサと、少なくとも1つのプロセッサに動作可能に接続された少なくとも1つのメモリと、建設専門用語を特定しかつリスクを有するテキストを安全性リスクまたは非リスクとして分類するように構成された機械学習分類器と、記憶されたコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体と、を含み、コンピュータ実行可能命令は、少なくとも1つのプロセッサによって実行されると、コンピューティングデバイスに、送信された電子メールを特定するためにネットワーク上で電子メール通信をモニタすることと、ネットワーク上で電子メールを受信することに応答して、電子メールを建設プロジェクトに関連するものとして検出および特定することと、電子メールからのテキストを複数の単語にトークン化することと、電子メールから生成された複数の単語を機械学習分類器に入力することと、をさせ、機械学習分類器は、少なくとも、複数の単語を、規定された安全性リスクボキャブラリのセットおよび規定された非リスクボキャブラリのセットに対応させることによって、電子メールからの複数の単語を評価するように構成されており、機械学習分類器によって、電子メールが安全性リスクに言及するテキストを含むという確率リスク値を生成することと、少なくとも部分的に、電子メールが安全性リスクに言及するテキストを含むという確率リスク値に基づいて、電子メールを安全性リスクまたは非リスクとしてラベル付けすることと、ネットワーク上で電子メールを受信することに関連して準リアルタイムでアラートを提供するために、電子メールが安全性リスクであるものとしてラベル付けされることに応答して、リモートデバイスへの電子通知を生成および送信することと、をさせる。
【0007】
別の実施形態において、コンピュータが実行する方法、コンピュータシステムまたは非一時的コンピュータ可読媒体が説明されており、非一時的コンピュータ可読媒体は、少なくともコンピュータのプロセッサによって実行されると、コンピュータに、ターゲットフィールドに関連した電子メールを特定するためにネットワーク上で電子メール通信をモニタすることと、リスクを有する電子メールからのテキストを安全性リスクまたは非リスクに関連するものとして分類するように構成された機械学習分類器を開始することと、機械学習分類器によって、電子メールが安全性リスクに関連するという確率リスク値を生成することと、少なくとも部分的に、電子メールが安全性リスクであることを示す確率リスク値に基づいて、機械学習分類器によって、電子メールを安全性リスクまたは非リスクとしてラベル付けすることと、アラートを提供するために、電子メールが安全性リスクであるものとしてラベル付けされることに応答して、リモートデバイスへの電子通知を生成および送信することと、をさせる、コンピュータ実行可能命令を含むまたは実行する。
【0008】
明細書に組み込まれかつ明細書の一部を構成する添付の図面は、開示の様々なシステム、方法およびその他の実施形態を示している。図面に示された要素境界(例えば、ボックス、ボックスのグループ、またはその他の形状)が境界の1つの実施形態を表すことが認められるであろう。幾つかの実施形態において、1つの要素は多数の要素として実施されてよく、多数の要素は1つの要素として実施されてよい。幾つかの実施形態において、別の要素の内部構成要素として示された要素は、外部構成要素として実施されてよく、その逆もある。さらに、要素は、縮尺どおりに描かれていない場合がある。
【図面の簡単な説明】
【0009】
図1】電子通信からリスクを予測することに関連する機械学習システムの1つの実施形態を示す図である。
図2】4つの特徴を備える1つの通信スレッドのためのPythonにおけるドキュメントベクトル行列の1つの実施形態を示す図である。
図3】初期しきい値を選択するための感度(tpr)および異性(tnr)を示すグラフに対する安全性リスクカットオフ値の確率を示すグラフの1つの実施形態を示す図である。
図4】建設プロジェクトの電子通信から潜在的なリスクを検出することに関連する方法の実施形態を示す図である。
図5】ターゲットフィールドの電子通信から潜在的な安全性リスクを検出することに関連する方法の別の実施形態を示す図である。
図6】開示された例示的なシステムおよび/または方法を備えて構成されたコンピューティングシステムの実施形態を示す図である。
【発明を実施するための形態】
【0010】
詳細な説明
人工知能(AI)ベースのモニタリングおよび予測/検出システムを実施するシステムおよび方法がここで説明される。1つの実施形態において、機械学習モデルは、ネットワーク通信をモニタし、ターゲットフィールドまたはプロジェクトに関連する交換された電子通信/通信における健康および安全性リスクを予測するように構成されている。1つの実施形態において、ターゲットフィールドは、建設およびエンジニアリングプロジェクトである。例えば、本システムおよび方法は、特に建設およびエンジニアリングプロジェクト通信からのテキストにおける健康および安全性リスク検出のために生成、訓練、および最適化された、意味的自然言語理解のために構成されたアプリケーション特有の人工知能を使用して潜在的な健康および安全性リスクを特定する。
【0011】
本明細書で使用される場合、「健康および安全性リスク」という用語は、簡潔にするために「安全性リスク」または「リスク」とも呼ばれる。「安全性リスク」は、例えば、健康および安全性リスクが環境(例えば、建設プロジェクトまたは現場)において生じたことがあるまたは生じ得る場合に、通信またはテキスト/言語が、潜在的な健康および安全性リスクに関連する、言及する、またはそれを論じることの決定または分類を言う。
【0012】
「非リスク」という用語は、通信またはテキスト/言語が、潜在的な健康および安全性リスクとして考慮されない(またはそれに関連しない、それを論じない)ことの決定または分類を言う。
【0013】
1つの実施形態において、本システムは、組織のポートフォリオにおける進行中のプロジェクトまたはプロジェクトの集まりにおけるネットワーク通信および電子通信を(例えば、準リアルタイムで)モニタする。電子通信における情報は、安全性リスクを示す言語を特定および検出するために機械学習モデルによって解読される。機械学習モデルは、言語が、少なくとも訓練されたデータのセットに基づいてリスクのしきい値レベルになるかどうかの予測を行う。リスクが通信のために予測される場合、システムは、準リアルタイムで自動的にアラートを生成し、関連する通信スレッドを安全性リスクとしてラベル付ける(例えば、安全性リスクを論じるボキャブラリ/テキストを含む)。これは、1つのスレッドにおいて送信された最後の通信に関連した安全性リスクがある場合に電子メールスレッドをラベル付けすることを含んでよい。
【0014】
1つの実施形態において、システムは、予測されたリスクをプロジェクトプロセスと関連付けるために、特定された通信を文脈的プロジェクトメタデータと組み合わせてよい。次いで、特定された通信および特定されたプロジェクトについての情報は、グラフィカルユーザインターフェースに送信および/もしくは表示されてよいならびに/またはユーザが準リアルタイムで情報へのアクセスを有するために電子メッセージにおいてリモートコンピュータへ送信されてよい。別の実施形態において、本システムは、フィードバックプロセスを提供し、この場合、ユーザの経験および直感に基づいて判断されるようにシステムによる予測が誤りである場合に、ユーザが、各々の通信スレッドに関連したラベルを変更することができる。次いで、時間と共に予測精度を高めるために、変更されたラベルは、新たな訓練データとして本システムモデルにフィードバックされる。
【0015】
図1を参照すると、ネットワーク通信をモニタし、電子通信における安全性リスクを予測するように構成された安全性リスク検出システム100の1つの実施形態が示されている。最初に、システム100は、既知の安全性リスク言語および既知の非リスク言語を含むプロジェクト通信の既知のデータセットを用いて機械学習モデル(以下で説明する)を訓練することを含む。訓練は、モニタされる電子通信に基づいて特定のプロジェクトに関連した安全性リスクを特定および予測するように機械学習モデルを構成する。
【0016】
1つの実施形態において、モデルが展開され、通信をモニタするために動作した後、あらゆる特定された健康および安全性リスクは、特定されたリスクが健康または安全性インシデント/イベントを生じる可能性に基づいてカテゴライズされる。特定されたリスクおよび関連する通信は、あらゆる誤った予測の修正を可能にするために検証のために提供および表示されてよい。次いで、あらゆる修正された予測は、修正された予測から学習するために機械学習モデルにフィードバックされる。これにより、システムは、モニタされた通信に基づいて安全性リスクを特定するために時間と共に進化することができ、システムは、安全性リスクを特定の建設プロジェクトに関連付けることができる。より詳細な説明は以下に示される。
【0017】
訓練フェーズ
図1を参照すると、初期訓練フェーズの構成要素が、点線105で示されている。1つの実施形態において、訓練データ110は、機械学習モデルに入力され、機械学習モデルは、多数の、独立して動作する、ベース機械学習分類器/アルゴリズムを含む。各々の分類器は、評価される通信を分類する出力を生成し、全ての出力は、アンサンブル多数決分類器130を生成するために組み合わされる。
【0018】
図1において、リスク検出システム100は、奇数(3つ)の機械学習モデル/分類器/アルゴリズム115、120、および125を含む。その他の実施形態において、異なる数のベース分類器が使用されてよい。1つの実施形態において、各々のベース分類器は、バイアスおよび冗長性を回避するための他の分類器からの異なる理論的背景から動作することに基づいて選択される。例えば、示された3つの分類器は、(1)パラメトリック分類器である、L1正則化を備えるロジスティック回帰分類器115、(2)勾配ブースティングフレームワークを使用する、勾配ブースティング分類器XGBoost120、(3)多数の決定木を構築することによって動作しかつブートストラップアグリゲーションフレームワーク下で機械学習アルゴリズムを実施するアンサンブル学習方法である、ランダムフォレスト分類器125、を含む。
【0019】
訓練データ110は、各々の機械学習分類器115、120、および125に入力される。例えば、訓練データは、既知の安全性リスクテキスト/言語および既知の非リスク言語を含む建設プロジェクト通信の既知のデータセットを含む。既知の安全性リスクテキスト/言語は、健康および安全性問題および/またはイベントに関する、言及するまたは論じることが知られているテキスト、言語および/またはフレーズを含む。
【0020】
分類問題の構造
40,000を超える健康および安全性リスク関連のテキストデータセットおよび約6,000の非リスク関連のテキストデータセットのラベル付けされたデータセットが準備され、機械学習モデル/分類器115、120、および125を試験および訓練するために使用された。ラベル付けされているとは、分類されておりかつ健康および安全性リスクであるかまたは非安全性リスクであるかのいずれかであるテキストを有することが知られている通信を言う。この訓練データセットは、90%の「訓練」および10%の「試験」データセットに分割された。1つの実施形態において、リスクサンプルと非リスクサンプルとの比は、試験および訓練データセットの両方において同じであった。もちろん、異なる比が使用されてよく、異なる量のサンプルが使用されてよい。リスク関連サンプルは、異なる建設プロジェクトからの通信からのテキストデータおよび労働安全衛生庁(OSHA)のウェブサイトから得られた健康および安全性リスク関連の負傷報告からのテキストデータを含んでいた。非リスクサンプルも、異なる建設プロジェクトからの通信からのテキストデータを含んでいたが、ただしそれらに関連するいかなる健康および安全性リスクも含んでいなかった。
【0021】
1つの実施形態において、各々の記録からの通信テキストは、ストップワード、句読点、数字およびHTMLタグの除去によってクリーンにされ、全ての単語は、全ての小文字を有する語根にステムされた。各々の通信は、各々のドキュメントをベクトルとして表すモデルを使用してベクトル化された。例えば、各々の通信は、各々の行が固有の通信スレッドを表しかつ各々の列がベクトル空間における特徴を表すドキュメントベクトル行列へのPythonにおけるGensimのDoc2Vecを使用して、選択された数の特徴(例えば、数千の特徴)のベクトルサイズにベクトル化された。ドキュメントベクトル行列の単純化された例が、図2に示されている。
【0022】
各々の特徴は、0の平均値および1の標準偏差に正規化された。データセットは、訓練のための90%および試験のための10%に分割された。モデルの正則化の後、予測における精度を決定するために、機械学習モデルによって、前に見られていない10,000の記録の試験データセットについて予測が行われた。
【0023】
多数の観察の対(x,y)i=1,...,nであり、ここで、
【0024】
【数1】
【0025】
およびy∈Y={健康および安全性リスク通信,非リスク通信}が観察される。Xは、予測因子スペース(または属性)であり、Yは、応答スペース(またはクラス)である。
【0026】
このケースでは、属性の数は、各々の通信スレッドテキストのベクトル化の際に得られるベクトルの特徴である。1つの実施形態において、予め訓練されたベクトル化モデルは、ドキュメント/テキストベクトル化、トピックモデリング、単語の埋め込み、および類似のためにGensimのDoc2Vecライブラリを使用する。Text2vecが使用されてもよい。第1のステップは、ボキャブラリベースのベクトル化を使用してテキストをベクトル化することである。ここでは、固有の用語が、入力ドキュメントのグループ(例えば、電子メール通信およびスレッドのグループ)から収集され、各々の用語は、固有のIDでマークされる。例えば、これは、固有の用語を特定および収集しかつ用語のための統計を収集するcreate_vocabulary()関数を使用して実行されてよい。
【0027】
次いで、リスク検出システム100は、予め訓練されたベクトル化モデルDoc2Vecを使用してボキャブラリベースのドキュメント用語行列(DTM)を生成する。このプロセスは、各々の通信スレッド(例えば、電子メールスレッドまたは1つの電子メール通信)をベクトル空間における通信の数値表現に変換し、これは、テキスト埋め込みとも呼ばれる。
【0028】
このテキスト埋め込みプロセスは、テキストを、テキストの意味論的意味の数値表現(埋め込み)に変換する。2つの単語またはドキュメントが類似の埋め込みを有する場合、それらは意味論的に類似である。したがって、数値表現を使用して、リスク検出システム100は、ドキュメントにおける単語の文脈、意味論的および統語的類似性、他の単語との関連などを捕捉することができる。
【0029】
1つの実施形態において、データセット全体は、[M×N]行列(表1参照)に変換され、Mは通信スレッドの数であり、Nはベクトル空間における特徴の総数である。各々の通信スレッドは、N次元のベクトルによって表される。表1に見られるように、各々の行は、固有の通信スレッド(Doc1、Doc2、Doc3...)を表し、各々の列は、ドキュメントセットに存在する固有の用語/属性の特徴または用語(T1、T2、T3...)を表す。8つの特徴のために表1に示された特徴セットは、表示のみのためである。各々の列に示された値は、ベクトル空間におけるドキュメントの集合において生じる用語の頻度である(例えば、用途T1はDoc1において2回生じる)。各々の行は、各々の用語の頻度を表す関連するDocに対応するベクトルである。幾つかのデータセットは、数千の用語を有する場合があり、これは、機械学習モデルを訓練するための大きな処理作業であり得る。1つの実施形態において、ベクトルは、特徴に基づいてフィルタをかけられてよい。
【0030】
表1は例示的なドキュメント用語行列を示す。
【0031】
【表1】
【0032】
別の実施形態において、テキスト埋め込みプロセスは、テキストを、ドキュメント用語行列ではなくドキュメントベクトル行列への数値表現(埋め込み)に変換する。図2を参照すると、4つの特徴を有する1つのメール通信スレッドのためのドキュメントベクトル行列の一例が示されている。図2において、行列は、ドキュメントベクトルまたは埋め込みの行列であり、各々の行は、ベクトル空間における固有の通信スレッドのベクトル表現を表す。例えば、特徴は、ベクトル化プロセスから生じるような用語およびその関連する数値表現以外のドキュメントの幾つかの特性である。上述のように、数値表現は、テキストの意味論的意味である。前述のように、スレッドは、数百または数千の特徴(例えば、7000の特徴)を有してよい。1つの実施形態において、ドキュメントベクトル行列は、例えば、PythonにおけるDoc2vecライブラリを使用して、サンプルデータセットにおいて使用される通信またはテキストデータ記録のコーパスから得られる。
【0033】
通信ID205は、各々の特定の通信スレッド(データ210)に割り当てられる。4つの例示的な特徴が、特徴1、特徴2、特徴3、および特徴4として列挙されている。ここで、ベクトル空間における各々の特徴は、予め訓練されたベクトル化モデルによって生成された通信からの特徴である。総称「特徴1」、「特徴2」などが、簡略化のためにおよび説明目的のみのために使用されている。これらの特徴の各々のためのラベルは、モデルによって生成されてもよく、この説明においていかなる物理的意義も有さない。ラベルは、その代わりに、このようなラベルを生成するためにモデルがどのように構成されているかに基づいてその他のタイプのストリングとして表されることができる。
【0034】
目的は、XとYとの関係を推定し、これにより、YからXを予測するためにこれらの観察を使用することである。関係は、分類ルール
(X)=argmaxP(y|X,θ),j=1,...,3 (式1)
として示される。
【0035】
ここで、P(.,.)は、観察される対の確率分布であり、θは、各々のベース分類器のためのパラメータベクトルであり、jは、ベース分類器の数である。リスク検出システム100の実施は、3つのベース分類器115、120および125を有するので、3つの分類ルールが存在し、各々のベース分類器のために1つの分類ルールが存在する。したがって、j=3である。
【0036】
図2において、特徴1~4の列の下に、-0.0155624、-0.0561929などの数字が示されている。これらの数字は、ドキュメントベクトルにおける各々の特徴の例示的な値(各々のドキュメントのベクトル化された表示)を表す。
【0037】
データ準備
1つの実施形態において、ラベル付けされたデータセットは、既知の安全性リスクテキストを有する通信のサンプルグループ(例えば、健康および安全性問題に関するまたはこれを論じる既知のテキストまたはフレーズで特定された通信)および既知の非リスクテキストを有する通信のサンプルグループ(例えば、健康および安全性問題に関するまたはこれを論じる既知のテキストまたはフレーズを有さないものとして特定された通信)から生成される。例えば、ラベル付けされたデータセットは、既知の安全性リスク通信(既知の安全性リスクテキストを有する)および健康または安全性問題に関しないまたは論じない非リスク通信の約50%-50%比から生成された通信スレッドの約1000の固有の記録を含んでよい。もちろん、異なる量のデータ記録がデータセットにおいて使用されてよい。
【0038】
既知の安全性リスクテキストおよび既知の非リスクテキストを有することに加えて、データセットからの通信は、既知の建設および/またはエンジニアリングボキャブラリおよび専門用語を含んでよい。例えば、建設専門用語は、建設プロジェクト用語の既存の用語集またはデータベースから収集および入力されることができる。これにより、機械学習モデルは、受信された電子メール通信が建設プロジェクトに関するかどうかまたは建設プロジェクトに関連しないかどうかを学習および特定することができる。この特徴は、不要な分類およびコンピューティングリソースの使用を回避する(例えば、機械分類器を使用することを回避する、プロセッサ時間、メモリなどを回避する)ために除去されるべき非建設通信を含む一般的電子メールシステム上で本システムが動作するときに有用であり得る。
【0039】
別の実施形態において、システムは、建設およびエンジニアリングの代わりに異なるタイプの通信を特定しかつ対象にするように訓練されてよい。データセットからの通信は、航空、船舶、輸送、またはその他の選択されたターゲットフィールドなどの異なるターゲットフィールドからの既知のボキャブラリおよび専門用語を含んでよい。これにより、機械学習モデルは、受信された電子メール通信がターゲットフィールドに関するかどうかまたは関連しないかどうかを学習および特定することができる。1つの実施形態において、電子メール/通信がターゲットフィールドに関連しないことが決定されると、電子メール/通信は、除去されるかまたはさらなる分析に提供されてなくてよい。
【0040】
各々の記録からの通信テキストは、ストップワード、句読点、数字およびHTMLタグの除去によってクリーンにされる。残りの単語は、全ての小文字で語根にステムされる。
【0041】
ボキャブラリは、既知の安全性リスクボキャブラリおよび既知の非リスクボキャブラリを規定した、通信スレッドのサンプルセット(例えば、500+電子メールおよび/またはスレッド)から生成された。サンプルセットは、安全性リスク問題を論じるまたはこれに言及することが知られていた通信のサブセットを含み、したがって、既知の安全性リスクボキャブラリを含んでいた。通信スレッドの別のサブセットは、安全性リスク問題を論じていないまたは言及していないことが知られており、したがって、既知の非リスクボキャブラリを有していた。
【0042】
既知の健康および安全性リスクのためのボキャブラリの例は、「事故」、「致命的」、「怪我」、「有害」、「危険」、「損害」、「ハザード」、「安全でない」、「過失」などを含んでよい。既知の非健康および安全性リスクのためのボキャブラリの例は、「契約」、「ドキュメント」、「供給品」、「従業員」、「道路」、「建物」などを含んでよい。1つの実施形態において、サンプルセットは、安全性リスク通信サンプルおよび非リスクサンプルの同じまたはほぼ同じ比を含んでいたが、その他の比(例えば、60%リスクに対して40%非リスク)を使用することができる。比は、少なくとも規定されたしきい値レベルに安全性リスク通信と非リスク通信との間を正確に特定および分類するように機械学習モデルを訓練するために使用される限り、関係しない。この例において、通信のサンプルセットは、建設およびエンジニアリングであるターゲットフィールドにも基づいていた。したがって、通信のサンプルセットは、建設/エンジニアリングボキャブラリおよび安全性リスク/非リスクボキャブラリの組合せを含んでいた。次いで、サンプル通信スレッドの各々は、各々の行が固有の通信スレッドを表しかつ各々の列がベクトル空間における特徴を表す、Doc2Vecライブラリ(またはその他のベクトル化機能)を使用してドキュメントベクトル行列(図2参照)を生成するためにベクトル化された。
【0043】
1つの実施形態において、各々の特徴は、0の平均値および1の標準偏差に正規化された。データセットは、訓練のための90%と試験のための10%とに分割された。安全性リスク対非リスク通信の比は、試験および訓練データセットの両方において同じ(またはほぼ同じ)であった。訓練データセットは、以下に言及される機械学習モデルへの入力として供給された。モデルの正則化の後、試験データセットおよび前に見られていない記録のデータセット(例えば、未知のテキストを有する10,000の前に見られていない記録)について予測が行われた。全ての3つのモデルによって非リスクとして予測されたあらゆる記録は、モデルを構築するためのラベル付けされた訓練および試験データセットのサイズを増大させるために共同訓練データセットとして、最初にラベル付けされたデータセット記録へ再び加えられた。
【0044】
引き続き図1を参照して、以下は、機械学習モデルの各々、即ち、ロジスティック回帰115、XGBoost120およびランダムフォレスト125のための機械学習アルゴリズムの説明を含む。
【0045】
機械学習モデル/アルゴリズム
1.L1正則化によるロジスティック回帰モデル115
ロジスティック回帰モデル115のための入力は、上記で説明されたようにリスク検出システム100によって生成された、スケールされたドキュメント用語行列である[表1および図2]。多すぎる変数を有するためにロジスティックモデルにペナルティを課す、L1正則化によるペナライズされたロジスティック回帰モデル115が構築された。幾つかのより貢献しない変数の係数は、ラッソ回帰において正確にゼロに強制される。1つの実施形態において、最も重要な変数のみが、最終モデルにおいて維持される。
【0046】
ロジスティック回帰において、Cパラメータは、正則化強度の逆数を記述する。本モデルにおいて、Cパラメータは、50の値において最適であることが分かった。10fold交差検証が行われた。ソルバが収束するためにかかる反復の最大数は、1000に設定され、最適化のための公差は、1e-4として取られた。
【0047】
ロジスティック回帰モデル115の出力は、健康および安全性リスクであるための通信スレッドの確率リスク値である。安全性リスクであるための通信スレッドの確率リスク値のための初期しきい値は、0.999よりも高いあらゆる値であるように取られた。初期しきい値は、グリッド検索を使用して感度、特異性、および精度が互いに極めて近い確率のためのカットオフ値であるように選択された(感度(TPR-真陽性率)および特異性(TNR-真陰性率)に対する安全性リスクカットオフ値の確率のグラフを示す図3を参照)。次いで、しきい値は、見られていないデータセット(未知/未分類のデータセット)にわたってモデルがどのように行われたかに従って僅かに修正された。しきい値は、安全性リスクとして分類される通信の数を増大させるために低下させられてもよい。しかしながら、これは、安全性リスクとして誤って分類される数の通信を潜在的に増加させることによってモデルの精度を低下させる場合がある。
【0048】
表2は、ロジスティック回帰モデルによる試験データにおける評価の尺度を示す。
【0049】
【表2】
【0050】
ROC-AUCスコアは、分類モデルの性能を評価するための評価の尺度である。AUCは、「Area Under the ROC Curve」である。AUCは、(0,0)から(1,1)までのROC曲線全体の下の二次元領域全体を測定する。ROC曲線は、「Receiver Operating Characteristic」曲線を表し、全ての分類しきい値における分類モデルの性能を示すグラフである。ROC曲線は、2つのパラメータ、即ち真陽性率(TPR)および偽陽性率(FPR)をプロットし、曲線は、異なる分類しきい値におけるTPR対FPRをプロットする。
【0051】
2.XGBoostを使用する勾配ブースティングアルゴリズムアンサンブルアルゴリズム
XGBoostモデル120のための入力は、上記で説明されたようにシステム100によって生成された、スケールされたドキュメント用語行列である(例えば、図2、表1)。XGBoostは、非常に効率的、フレキシブルおよびポータブルであるように設計された、最適化された分布させられた勾配ブースティングライブラリである。これは、勾配ブースティングフレームワーク下で機械学習アルゴリズムを実施する。XGBoostモデル120において、これは、勾配ブースティング木アルゴリズムによって実施される。入力行列は、上記で言及したように同じドキュメント用語行列(ドキュメント-特徴行列)である。
【0052】
XGBoostまたはランダムフォレストなどの木ベースアンサンブル法では、各々の特徴は、潜在的分割特徴として評価され、これは、それらを重要でない/無関係の変数に対してロバストにする。なぜならば、イベント/非イベントを区別することができないこのような変数は、分割変数として選択されず、これにより、変数重要性グラフにおいても極めて低くなる。
【0053】
「ROC曲線」の下の「AUC」は、評価の尺度として使用された。木の数は、50として選択され、学習率は、ある範囲の値にわたるグリッド検索後の正則化のためのハイパーパラメータチューニングのために0.2として選択された。安全性リスクであるための通信スレッドの確率リスク値のためのしきい値は、0.999よりも高いあらゆる値であるように取られた。しきい値は、ロジスティック回帰モデルのために行われたのと同じ方法で、見られていないデータセットにわたるモデル性能に基づいて選択された。XGBoostモデル120の出力は、安全性リスクであるための通信スレッドの確率リスク値である。
【0054】
表3は、試験データにおけるXGBoostのための評価の尺度を示す。
【0055】
【表3】
【0056】
3.ランダムフォレスト分類器125
ランダムフォレスト分類器モデル125のための入力は、上記で説明されているようにスケールされたドキュメント用語行列(ドキュメント-頻度行列)である。1つの実施形態において、ランダムフォレスト分類器125は、ある範囲の値にわたるグリッド検索を通じて選択される各々の木ノードにおいて分割するために利用可能な4つの変数で構築される。
【0057】
「ROC曲線」の下の「AUC」は、評価の尺度として取られ、木の数は500として取られた。最善の分割を探すときに考慮するための特徴の数は、ある範囲の値にわたるグリッド検索後の正則化のためのハイパーパラメータチューニングのために50であるように取られた。安全性リスクであるための通信スレッドの確率リスク値のためのしきい値は、0.999よりも高いあらゆる値であるように取られた。しきい値は、ロジスティック回帰モデルのために行われたのと同じ方法で、見られていないデータセットにわたるモデル性能に基づいて選択された。ランダムフォレスト分類器モデル125の出力は、安全性リスクであるための通信スレッドの確率リスク値である。
【0058】
表4は、試験データにおけるランダムフォレスト分類器のための評価の尺度を示す。
【0059】
【表4】
【0060】
アンサンブル多数決分類
引き続き図1を参照すると、3つのベース分類器115、120および125の各々は、予測器空間の異なる領域におけるエキスパートである。なぜならば、各々の分類器が、異なる理論的根拠の下で属性空間を処理するからである。リスク検出システム100は、個々の分類器およびそれらのルールのいずれかよりも上位のアンサンブル多数決分類器130を製造するように3つの分類器115、120および125の出力を組み合わせる。したがって、奇数の3つの分類器を用いて、最終結果のための多数決/予測は、同じ結果を投票/予測する(例えば、通信のための「安全性リスク」または「非リスク」のいずれかを予測する)ために少なくとも2つの分類器を必要とする。
【0061】
オペレーションにおいて、電子通信(例えば、メールスレッド)は各々のモデル115、120、125によって評価されるので、各々のモデルの出力は、健康および安全性リスクであるメールスレッドの確率である。しきい値と比較される確率に基づいて、ラベルが各々のメールスレッドのために割り当てられる。例えば、モデルによって予測されるように安全性リスクであるメールスレッドの確率が、その特定のモデルのためのリスクである確率のしきい値よりも大きい場合、ラベルは「1」である。モデルによって予測されるように安全性リスクであるメールスレッドの確率が、その特定のモデルのためのリスクである確率のしきい値よりも小さい場合、ラベルは「0」である。その結果、メールスレッドが非リスク性質である(健康および安全性リスクではない)場合、ラベルは「0」である。
【0062】
もちろん、安全性リスクまたは非リスクを示すためにその他のラベルが使用されてよい。1つの実施形態において、ラベルとして「1」および「0」を使用することにより、ラベルは投票として使用されることができ、これらの投票は、次いで、以下で説明されるようにアンサンブルモデル130の多数決スキームを生成するために多数の機械学習分類器から組み合わされてよい。
【0063】
1つの実施形態において、リスク検出システム100は、3つのベース分類器からの出力をアンサンブルモデル130に組み合わせるために以下の式を使用する。
【0064】
C(X)=h1(X)+h2(X)+h3(X) (式2)
ここで、C(X)は、3つの個々の分類器の重みづけされた出力の合計であり、h1(X)、h2(X)およびh3(X)は、それぞれランダムフォレスト125、XGBoost勾配ブースティング120、およびロジスティック回帰分類器115の出力である。ここで、C、h1、h2およびh3は、評価されている電子通信から特定された特徴または属性を表す、Xの全ての関数である。別の実施形態において、分類器出力のうちの1つまたは複数は、2*H1(X)などの式2における加重値が与えられることができる。
【0065】
1つの実施形態において、システム100は、C(X)≧2である場合に電子通信を安全性リスクとして分類する。C(X)<2の場合、通信は、非リスク(恐らく健康および安全性リスクではない)として分類される。したがって、3つのベース分類器のうちのいずれか2つが通信を健康および安全性リスクとして分類した場合、アンサンブルモデルは通信が安全性リスクであると予測する。別の実施形態において、この2項分類に対する拡張として、各々の分類器は、リスクのそれらの強度/重大度に依存する各々のリスクメールをリスクの高レベル、中レベルおよび低レベルに分類してもよい。
【0066】
表5は、アンサンブルモデル130のための評価の尺度を示す。
【0067】
【表5】
【0068】
モデル展開-オペレーション/実行フェーズ
引き続き図1を参照すると、1つの実施形態において、アンサンブルモデル130が構成および訓練されると、アンサンブルモデル130は、オペレーションのために展開される(ブロック135)。オペレーションの間、通信は、安全性リスクおよび非リスクの内容を有するためにリアルタイムまたは準リアルタイムでモニタおよび評価される(ブロック140、また図4)。アンサンブルモデル130は、上記で説明されているようにテキストに基づいて各々の通信のためのリスク予測を生成し、関連するラベルを安全性リスクまたは非リスクとして生成する。展開されたモデルの構成要素は、破線145で示されている。
【0069】
通信が安全性リスクであることをアンサンブルモデル130が決定および予測すると、電子通知(ブロック160)がグラフィカルユーザインターフェース(ブロック140)を介して生成される。アンサンブルモデルの展開およびオペレーションは、図4を参照して説明される。
【0070】
1つの実施形態において、図1におけるアンサンブルモデル130は、グラフィカルユーザインターフェースにおいて生成および表示された多数の追加的な特徴を提供するように構成されてよい。これらの特徴は、ダッシュボード165、警告および発行された追跡179、推奨175および/またはアグリゲーション180を含んでよい。
【0071】
例えば、ダッシュボード(ブロック165)は、アンサンブルモデル130から1つまたは複数のタイプの結果および/またはサマリデータをグラフィックに表示するために生成されてよい。例えば、サマリは、特定の時間間隔内でプロジェクトとの特定の組織/個人に見えるプロジェクトにおいて交換された多数の安全性リスク電子メールを含んでよい。分析された通信、統計、および/またはデータ分析レポートに関するその他のタイプのサマリレポート/情報が、グラフィカル情報としてダッシュボード165に含まれてよい。ディスプレイは、ダッシュボード165に表示された電子メールまたは通信の各々が安全性リスク内容を有するか否かも含んでよい。
【0072】
警告および問題追跡(ブロック170):1つの実施形態において、システム100は、なぜ電子メールまたは通信が、機械学習モデルによって特定されるような潜在的な安全性リスク内容を有するかの理由を潜在的に指摘するトピックおよびキーワードを強調する。警告および問題追跡170は、推奨175と組み合わされてもよい。
【0073】
推奨(ブロック175):1つの実施形態において、システム100は、特定の時間間隔内でプロジェクトとの特定の組織/個人に見えるプロジェクトにおいて交換された多数の安全性リスク電子メールに依存して高リスク、中リスクまたは低リスクのカテゴリとしてプロジェクトをカテゴライズしてよい。これは、関係者が、可能な限り迅速に適切な手段を取ることを可能にする。
【0074】
アグリゲーション(ブロック180):1つの実施形態において、システム100は、特定の時間間隔内でプロジェクトとの特定の組織/個人に見えるプロジェクトにおいて交換された全てのメールの中での安全性リスク電子メールの割合を決定してよい。
【0075】
図4を参照すると、展開および実行中のアンサンブルモデル130のオペレーションを説明する方法400の1つの実施形態が示されている。前述のように、アンサンブルモデル130は、電子通信をモニタし、建設またはエンジニアリングプロジェクトに関連した電子通信から安全性リスクを検出するように構成されている。1つの実施形態において、アンサンブルモデル130は、モニタされる電子通信を受信する選択されたコンピューティングプラットフォームおよび/または電子メールネットワークの一部として構成される。
【0076】
概して、機械学習分類器が訓練データセットから構築された後(図1図3に関して説明されているように)、新たな到着する電子メール通信は、実施された各々の分類器を自動的に通過させられる。図1のシステムにおいて、3つの分類器115、120および125が含まれている。通信の分析後、各々の分類器は、到着する通信の各々を安全性リスクまたは非リスクのいずれかとして分類/ラベル付けする。別の実施形態において、各々の分類器は、安全性リスクであるリスク重大度/強度のレベルを有する特定されたリスクを低レベル、中レベルまたは高レベルとして分類してもよい。アンサンブルモデル130は、結果を検証することを助けるユーザフィードバックから継続的に学習してもよく、これらの結果は、次いで、再訓練のためにシステム内へフィードバックされる。より詳細な説明を以下に示す。
【0077】
図4を参照すると、ブロック410において、方法400が開始され、ターゲットとされるコンピューティングプラットフォームにおいて機能していると、ネットワーク通信は、コンピューティングプラットフォームによって受信される電子通信を特定するためにモニタされる。例えば、電子メールまたはその他の電子通信は、本システムが動作する関連する電子メールシステムによって特定される。
【0078】
420において、システムは、電子メールおよびその関連する建設プロジェクトを検出および特定する。例えば、システム100は、特定されたプロジェクトのリストを有してよく、システムは、どのプロジェクトに電子メールが属するかを特定する。前に説明されているように、機械学習モデル115、120および125は、建設およびエンジニアリングボキャブラリおよび専門用語を特定するように訓練されている。このタイプの特定は、建設プロジェクトに関連しない電子メールまたは電子メールスレッドを除去することを支援し得る。
【0079】
別の例として、組織は、1つまたは複数の進行中の建設プロジェクトを有する場合があり、ここでは、各々が、各々のプロジェクトを特定するシステムに記憶された、規定された名称および/またはその他のメタデータを有する。システムは、受信された電子メールからテキストをパースおよびスキャンし、既存のプロジェクトIDおよびメタデータと一致するあらゆる既知の単語またはフレーズを特定してよい。見つかると、受信された電子メールは、既存のプロジェクトに関連している。特定のその他の方法は、電子メールにおいてプロジェクトIDを有することを含んでよい。
【0080】
各々の到着する電子メール通信は、さらに、通信をプログラムでクリーニングするために多数の機能を通過する。例えば、ブロック430において、各々の電子メールは、全ての非ラテンアルファベット文字、htmlタグ、句読点、数字およびストップワードの除去によりクリーニングされてよい。電子メールテキストは、通信テキストを特定し、これを単語、句読点マーク、数字、テキストにおけるその他のオブジェクトなどに分解することによってトークン化されてよい。電子メールが、4文字よりも多い少なくとも1つの単語を含む場合、電子メールにおける各々の単語は、語根にステムされる。
【0081】
440において、電子メールからのトークン化されたテキスト単語は、ベクトル化され、特徴量スケールされる。1つの実施形態において、テキストをベクトル化することは、各々の単語を、数値ベクトルである数字に変換することを含む。ベクトル化は、ボキャブラリからの単語またはフレーズを実数の対応するベクトルにマップし、これは、単語予測、単語類似性および/またはセマンティックを見つけるために使用されてよい。数字(即ち、特徴)のベクトルは、特徴であり、データの特徴の範囲を正規化することによってスケールされてよい。
【0082】
450において、通信テキストをクリーニングし、特徴量スケールした後、図1のアンサンブル機械学習分類器は、建設用語を特定し、通信の安全性リスクを分類するために開始される。通信テキストは、システム100(図1)の3つの機械学習分類器115、120および125の各々を通過させられる。各々の分類器は、学習された訓練データに基づいて電子メールテキストが安全性リスクであるかまたは非リスクであるかの個々の予測を行う。
【0083】
ブロック460における1つの実施形態において、ブロック440において生成された数値ベクトルは、(例えば、前に生成されたドキュメント用語行列(またはドキュメント-ベクトル行列)からの)既知の安全性リスクボキャブラリおよび既知の非リスクボキャブラリの規定されたデータセットに関連した数値ベクトルにマップされる。言い換えれば、機械学習分類器は、規定された安全性リスクボキャブラリのセットおよび規定された非リスクボキャブラリのセットから生成された既知の数値ベクトルに数値ベクトルを少なくともマッチングおよび比較することによって電子メール通信から生成された数値ベクトルを処理する。
【0084】
ブロック470において、3つの分類器115、120および125の各々は、通信を独立して評価し、上記で前に説明されているように評価される通信のための確率リスク値の予測を生成する。確率リスク値が、関連する分類器のために設定された規定されたしきい値を超えると、その分類器は、通信を、安全性リスクに言及するまたは論じるものとして(例えば、「1」のラベル値)または非リスクとして(例えば、「0」のラベル値は安全性リスクを論じない)ラベル付けする。一般的に、出力ラベルは、「投票」として見られる。なぜならば、出力は、「1」(安全性リスク「はい」)または「0」(安全性リスク「いいえ」)のいずれかであるからである。次いで、多数の分類器によって生成された多数の「投票」は、多数決決定のために組み合わされる。
【0085】
ブロック480において、3つの分類器によって出力された3つのラベル/投票は、次いで、アンサンブルモデル130の一部としての多数決スキーム(例えば、式2)を使用して組み合わされる。組み合わされたラベルに基づき、電子メール通信は、3つの分類器の個々の投票の多数決に基づいて、安全性リスクまたは非リスクとしてシステムによって最終的なラベルが与えられる。別の実施形態において、異なる数の分類器が使用されてよい、および/または選択された分類器は、投票における引き分けを回避するために式2において重みづけされた値を与えられた出力投票を有してよい。
【0086】
アンサンブル分類器は、奇数の独立した機械学習分類器(上記の実施形態では3つの分類器)を含む。独立した機械学習分類器の各々は、電子メール通信を安全性リスクまたは非リスクとして分類する出力を生成する。独立した機械学習分類器の各々からの出力は全て、少なくとも部分的に、安全性リスクまたは非リスクであるものとしての電子メールのための最終ラベルを生成するための多数決スキームに基づいて組み合わされる。
【0087】
ブロック490において、システムは、通信が安全性リスクであることを最終ラベルが示すことに応答して電子通知を生成するように構成されている。1つの実施形態において、電子通知は、通信、関連する建設プロジェクト、および潜在的な安全性リスクに関するアラートメッセージを特定するデータを含む。電子通知は、電子メール送信者および受信者などの追加的なデータも含んでよい。電子通知は、機械学習分類器によって特定されるような安全性リスクボキャブラリに関連した電子メール通信からテキストを強調または視覚的に区別してよい。次いで、電子通知は、リモートデバイスへ送信され、および/またはグラフィカルユーザインターフェース上に表示され、これにより、ユーザは、通知を受信し、準リアルタイムで通信へのアクセスを有することができ、これにより、通信における問題を解決するための動作が取られてよい。
【0088】
別の実施形態において、システムは、少なくとも電子メールの識別子および電子メールが安全性リスクまたは非リスクに言及するまたは論じるテキストを含むことを示すラベルを含む指定されたリモートデバイスへ電子通知を送信する(例えば、アドレス、携帯電話番号、またはその他のデバイスIDを介して)。電子通知を受信することに応答して、リモートデバイスは、ユーザインターフェースを提供し、このユーザインターフェースは、電子通知からのデータを表示し、ラベルを検証しかつラベルが誤りであるとユーザが考える場合にラベルを変更するための入力を可能にする。これは、ユーザの判断に基づいてテキストが安全性リスクであるかまたは非リスクであるかをユーザが決定することを可能にするために電子メール通信からのあらゆる特定された疑わしいテキストを見ることを含んでよい。ユーザインターフェースは、ラベルが選択および変更されることを可能にする。ユーザインターフェースを介してラベルが変更されることに応答して、システムは、次いで、機械学習分類器を再訓練するために、変更されたラベルおよび対応する電子メールをフィードバックとして機械学習分類器へ送信してよい。検証メカニズムは、さらに、以下のセクションで説明される。
【0089】
検証および継続的学習
再び図1を参照すると、1つの実施形態において、アンサンブルモデル130によって行われる1つまたは複数の予測のための通信テキストは、システム100のユーザに利用可能とされてよい。これは、予測および関連するラベル(安全性リスクまたは非リスク)を検証するために人間の意思決定をユーザが適用することができるように検証メカニズムを提供する。検証メカニズムの一部として、システム100は、フィードバックユーザインターフェース150を提供し、このフィードバックユーザインターフェース150は、アンサンブルモデル130によって行われた予測およびラベルにユーザが同意しない場合に、選択された通信を安全性リスクまたは非リスクとして再タグ付けまたはさもなければ再ラベル付けするための修正をユーザが入力することを可能にする。
【0090】
継続的学習プロセスは、前のラベルを変更する新たなフィードバックデータによってアンサンブルモデル130を再訓練するために実施される。アンサンブルモデル130は、分類されたデータの既存の訓練データセットと組み合わされかつこれによって再訓練されるためにラベル変更およびその他のフィードバックデータを入力として受信する(ブロック155)。このフィードバックデータ155は、前のおよび新たにラベル付けされた通信ボディによってアンサンブルモデル130を再訓練するために使用される。再訓練されたモデルが既存のモデルの性能よりも優れている場合、再訓練されたアンサンブルモデル130が既存のモデルに置き換わる。これは、予測におけるモデルの精度を決定するために多数の比較試験を実行することに基づいてよい。このフィードバックメカニズムを利用して、リスク検出システム100は、ある期間にわたって通信をより正確に分類することを学習する。
【0091】
図5を参照すると、展開および実行の間のアンサンブルモデル130のオペレーションを説明する、方法500の別の実施形態が示されている。前述のように、(図1からの)アンサンブルモデル130は、電子通信をモニタし、電子通信から安全性リスクを検出するように構成されている。方法500において、アンサンブルモデル130は、ターゲットフィールドに関連した通信を特定するように訓練および構成されている。
【0092】
ターゲットフィールドは、選択されたフィールドまたは活動、例えば、建設プロジェクト、航空、船舶活動、倉庫プロジェクト、製品製造プロジェクト、またはその他の選択されたフィールドまたは活動であってよい。1つの実施形態において、アンサンブルモデル130は、ターゲットフィールドのためのモニタされる電子通信を受信する選択されたコンピューティングプラットフォームおよび/または電子メールネットワークの一部として構成されている。したがって、図1からのアンサンブルモデル130は、ターゲットフィールドに関連したボキャブラリによって前に訓練されている(図1図3に関して説明されている)。
【0093】
概して、機械学習分類器が訓練された後、モニタされる新たな到着する電子メール通信は、実施される各々の分類器を自動的に通過させられる。図1のシステムにおいて、3つの分類器115、120および125が含まれている。通信の分析後、各々の分類器は、到着する通信の各々を安全性リスクまたは非リスクのいずれかとして分類/ラベル付けする。
【0094】
引き続き図5を参照すると、ブロック510において、方法500が開始され、ターゲットとされるコンピューティングプラットフォーム上で機能していると、ネットワーク通信は、ターゲットフィールドに関連したコンピューティングプラットフォームによって受信される電子通信を特定するためにモニタされる。例えば、電子メールまたはその他の電子通信は、本システムが動作する関連する電子メールシステムによって検出される。
【0095】
1つの実施形態において、各々の到着する電子メール通信は、通信をプログラムでクリーニングするために多数の機能を通過させられる。例えば、各々の電子メールは、全ての非ラテンアルファベット文字、htmlタグ、句読点、数字およびストップワードの除去によりクリーニングされてよい。電子メールテキストは、通信テキストを特定し、これを単語、句読点マーク、数字、テキストにおけるその他のオブジェクトなどに分解することによってトークン化される。電子メールが、4文字よりも多い少なくとも1つの単語を含む場合、電子メールにおける各単語は、それらの語根にステムされてよい。通信における残りの用語に基づいて、システムは、前に説明されているようにボキャブラリがターゲットフィールドの既知のボキャブラリと一致するかどうかを特定する。このタイプの特定は、ターゲットフィールドに関連しない電子メールまたは電子メールスレッドを除去することを支援し得る。
【0096】
ブロック520において、図1のアンサンブル機械学習分類器は、リスクを有する電子メール通信からのテキストを安全性リスクまたは非リスクに関連するものとして分類するために開始される。通信テキストは、システム100(図1)の3つの機械学習分類器115、120および125の各々に通過させられる。各々の分類器は、学習された訓練データに基づいて電子メールテキストが安全性リスクに言及しているもしくは論じているかまたは非リスクであるかどうかの個々の予測を行う。
【0097】
ブロック530において、3つの分類器115、120および125の各々は、通信を独立して評価し、上記で前に説明されているように評価される通信のための確率リスク値の予測を生成する。確率リスク値が、関連する分類器のための規定されたしきい値セットを超える場合、ブロック540において、この分類器は、通信を安全性リスク(例えば、「1」のラベル値)または非リスク(例えば、「0」のラベル値)としてラベル付けする。一般的に、出力ラベルは、「投票」として見られる。なぜならば、出力は、「1」(安全性リスク「はい」)または「0」(安全性リスク「いいえ」)のいずれかであり、これは、少なくとも部分的に、電子メールが安全性リスクであることを示す確率リスク値に基づく。次いで、多数の分類器によって生成された多数の「投票」は、多数決決定のために組み合わされる。
【0098】
ブロック540において、機械学習分類器によって出力されたラベル/投票は、次いで、アンサンブルモデル130の一部としての多数決スキーム(例えば、式2)を使用して組み合わされる。組み合わされたラベルに基づいて、電子メール通信は、3つの分類器の個々の投票の多数決に基づいて安全性リスクまたは非リスクとしてシステムによって最終的なラベルが与えられる。別の実施形態において、異なる数の分類器が使用されてよい、および/または選択された分類器は、投票における引き分けを回避するために式2において重みづけされた値を与えられた出力投票を有してよい。
【0099】
ブロック550において、システムは、通信が安全性リスクであることを最終的なラベルが示すことに応答して電子通知を生成する。1つの実施形態において、電子通知は、通信、関連するプロジェクト(決定されている場合)、潜在的な安全性リスクに関するアラートメッセージを特定するデータを含む。電子通知は、電子メール送信者および受信者などの追加的なデータを含んでもよい。電子通知は、機械学習分類器によって特定されるように安全性リスクボキャブラリに関連した電子メール通信からのテキストを強調または視覚的に区別してよい。電子通知は、次いで、リモートデバイスへ送信され、および/またはグラフィカルユーザインターフェース上に表示され、これにより、ユーザは、通知を受信し、準リアルタイムで通信へのアクセスを有することができ、これにより、通信における問題を解決するための動作がなされてよい。
【0100】
別の実施形態において、システムは、少なくとも電子メールの識別子および電子メールを安全性リスクまたは非リスクとして示すラベルを含む指定されたリモートデバイスへ電子通知を送信する(例えば、アドレス、携帯電話番号、またはその他のデバイスIDを介して)。別の実施形態において、方法500は、図4および方法400を参照して説明されているように機能または従属機能のうちの1つまたは複数を行ってよい。
【0101】
通信が非安全性リスクであることを最終的なラベルが示すことに応答して、電子通知は生成されなくてよく、システムは、次の通信を処理し続ける。ラベル付けされた非リスク通信は、図1において説明されている検証メカニズムなどのリモートデバイス関連検証へ送信されてよく、そこで、誰かが通信をレビューし、ラベルが正しいことを確認してよい。
【0102】
本システムおよび方法により、電子メール通信は、リアルタイムまたは準リアルタイムで安全性リスクまたは非リスクとして分類されてよい。安全性リスクとして分類されたこのような通信は、プロジェクト/建設中の資産に不利なまたは壊滅的な影響を与える可能性が最も高いより大きな健康および安全性インシデントにつながる可能性がある潜在的な問題の早期兆候を示す場合がある。したがって、本システムは、本システムによって積極的に特定されたときにいつでもこの安全性リスクを有効に軽減するために早期動作が取られることを可能にする。
【0103】
本明細書で説明または請求された動作または機能は、人の心によって行われない。あらゆる動作または機能が人の心において行われることができるという解釈は、一貫性がなく、この開示に反する。
【0104】
クラウドまたは企業実施形態
1つの実施形態において、安全性リスク検出システム100は、企業組織のためのアプリケーションまたは分散アプリケーションの集合を含むコンピューティング/データ処理システムである。アプリケーションおよび安全性リスク検出システム100は、クラウドベースネットワーキングシステム、サービス型ソフトウェア(SaaS)アーキテクチャ、またはその他のタイプのネットワーク化されたコンピューティングソリューションと共に動作するまたはこのようなものとして実施されるように構成されてよい。1つの実施形態において、リスク検出システムは、少なくとも本明細書に開示された機能を提供しかつコンピュータネットワーク上でリスク検出システム100(サーバとして機能する)と通信するコンピューティングデバイス/端末を介して多くのユーザによってアクセスされる、集中型サーバサイドアプリケーションである。
【0105】
1つの実施形態において、本明細書で説明されている構成要素のうちの1つまたは複数は、非一時的コンピュータ可読媒体に記憶されたプログラムモジュールとして構成されている。プログラムモジュールは、少なくともプロセッサによって実行されると、コンピューティングデバイスに、本明細書に説明されているような対応する機能を実行させる記憶された命令を備えて構成されている。
【0106】
コンピューティングデバイス実施形態
1つの実施形態において、図6は、本明細書に説明された本安全性リスク予測/検出システムおよび方法、ならびに/または均等物の1つまたは複数の構成要素を備える専用コンピューティングデバイスとして構成および/またはプログラムされたコンピューティングシステム600を示す。
【0107】
例示的なコンピューティングシステム600は、ハードウェアプロセッサ610、メモリ615、およびバス625によって動作可能に接続された入力/出力ポート620を含むコンピュータ605であってよい。1つの例において、コンピュータ605は、図1図4を参照して示されかつ説明されているように安全性リスク予測/検出システム100を備えて構成されている。異なる例において、安全性リスク予測/検出システム100は、ハードウェア、記憶された命令を備える非一時的コンピュータ可読媒体、ファームウェア、および/またはそれらの組合せにおいて実施されてよい。
【0108】
1つの実施形態において、リスク予測/検出システム100および/またはコンピュータ605は、説明された動作を行うための手段(例えば、構造、ハードウェア、非一時的コンピュータ可読媒体、ファームウェア)である。幾つかの実施形態において、コンピューティングデバイスは、クラウドコンピューティングシステムにおいて動作するサーバ、サービス型ソフトウェア(SaaS)アーキテクチャにおいて構成されたサーバ、スマートフォン、ラップトップ、タブレットコンピューティングデバイスなどであってよい。
【0109】
リスク予測/検出システム100は、メモリ615に一時的に記憶され、次いで、プロセッサ610によって実行されるデータ640としてコンピュータ605に提供される、記憶されたコンピュータ実行可能命令として実施されてもよい。
【0110】
コンピュータ605の例示的な構成を一般的に説明しているが、プロセッサ610は、デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャを含む多種多様なプロセッサであってよい。メモリ615は、揮発性メモリおよび/または不揮発性メモリを含んでよい。不揮発性メモリは、例えば、ROM、PROM、EPROM、EEPROMなどを含んでよい。揮発性メモリは、例えば、RAM、SRAM、DRAMなどを含んでよい。
【0111】
ストレージディスク635は、例えば、入力/出力(I/O)インターフェース(例えば、カード、デバイス)645および入力/出力ポート1020を介してコンピュータ605に動作可能に接続されてよい。ディスク635は、例えば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピディスクドライブ、テープドライブ、ジップドライブ、フラッシュメモリカード、メモリスティックなどであってよい。さらに、ディスク635は、CD-ROMドライブ、CD-Rドライブ、CD-RWドライブ、DVD ROMなどであってよい。メモリ615は、例えば、プロセス650および/またはデータ640を記憶することができる。ディスク635および/またはメモリ615は、コンピュータ605のリソースを制御しかつ割り当てるオペレーティングシステムを記憶することができる。
【0112】
コンピュータ605は、I/Oインターフェース645および入力/出力ポート620を介して入力/出力(I/O)デバイスと相互作用してよい。プロセッサ610と、I/Oインターフェースおよびポート620との間の通信は、入力/出力制御装置647によって管理される。入力/出力ポート620は、例えば、シリアルポート、パラレルポート、およびUSBポートを含んでよい。
【0113】
コンピュータ605は、ネットワーク環境において動作することができ、したがって、I/Oインターフェース645および/またはI/Oポート620を介してネットワークデバイス655に接続されてよい。ネットワークデバイス655を通じて、コンピュータ605はネットワーク660と相互作用してよい。ネットワーク660を通じて、コンピュータ605は、リモートコンピュータ665に論理的に接続されてよい。コンピュータ605が相互作用してよいネットワークは、それらに限定されないが、LAN、WAN、およびその他のネットワークを含む。
【0114】
コンピュータ605は、I/Oポート620を通じて1つまたは複数の出力デバイスまたは入力デバイスから情報および信号を送信および受信することができる。出力デバイスは、1つまたは複数のディスプレイ670、プリンタ672(インクジェット、レーザ、または3Dプリンタなど)、およびオーディオ出力デバイス674(スピーカまたはヘッドホンなど)を含む。入力デバイスは、1つまたは複数のテキスト入力デバイス680(キーボードなど)、カーソル制御装置682(マウス、タッチパッド、またはタッチスクリーンなど)、オーディオ入力デバイス684(マイクロフォンなど)、ビデオ入力デバイス686(ビデオカメラおよびスチルカメラ)、またはスキャナ688などのその他の入力デバイスを含む。入力/出力デバイスは、さらに、ディスク635、ネットワークデバイス655などを含んでよい。幾つかのケースにおいて、コンピュータ605は、テキスト入力デバイス680、カーソル制御装置682、オーディオ入力デバイス684、ディスク635、およびネットワークデバイス655などの、入力または出力デバイスによって生成または提供される情報または信号によって制御されることができる。
【0115】
定義およびその他の実施形態
別の実施形態において、説明された方法および/またはそれらの均等物は、実行可能なアプリケーション(スタンドアロンアプリケーションまたはより大きなシステムの一部)の形式のコンピュータ実行可能命令によって実施されてよい。したがって、1つの実施形態において、非一時的コンピュータ可読/ストレージ媒体は、機械によって実行されると、機械(および/または関連する構成要素)に方法を実行させるアルゴリズム/実行可能アプリケーションの記憶されたコンピュータ実行可能命令を備えて構成されている。例示的な機械は、それらに限定されないが、プロセッサ、コンピュータ、クラウドコンピューティングシステムにおいて動作するサーバ、サービス型ソフトウェア(SaaS)アーキテクチャにおいて構成されたサーバ、スマートフォンなど)を含む。1つの実施形態において、コンピューティングデバイスは、開示された方法のうちのいずれかを実行するように構成された1つまたは複数の実行可能なアルゴリズムによって実施される。
【0116】
1つまたは複数の実施形態において、開示された方法またはそれらの均等物は、方法を実行するように構成されたコンピュータハードウェア、または非一時的コンピュータ可読媒体に記憶されたモジュールにおいて具体化されるコンピュータ命令のいずれかによって実行され、この場合、命令は、少なくともコンピューティングデバイスのプロセッサによって実行されたときに方法を実行するように構成された実行可能なアルゴリズムとして構成されている。
【0117】
説明を簡略化するために、図面に示された方法は、アルゴリズムの一連のブロックとして示されかつ説明されているが、方法はブロックの順序によって制限されないことが認められるべきである。幾つかのブロックは、示されかつ説明されたものとは異なる順序でおよび/または他のブロックと同時に行われることができる。さらに、例示的な方法を実施するために、示された全てよりも少ないブロックが使用されてよい。ブロックは、組み合わされてもまたは多数の動作/構成要素に分離されてもよい。さらに、追加的な方法および/または代替的な方法は、ブロックに示されていない追加的な動作を使用することができる。
【0118】
以下は、本明細書において使用されている選択された用語の定義を含む。定義は、用語の範囲に含まれかつ実施のために使用されてよい構成要素の様々な例および/または形式を含む。例は、限定することを意図されていない。単数形および複数形の用語はどちらも、定義内であってよい。
【0119】
「1つの実施形態」、「実施形態」、「1つの例」、「例」などへの言及は、そのように説明された実施形態または例が、特定の特徴、構造、特性、特質、要素、または限定を含んでよいが、必ずしも全ての実施形態または例がその特定の特徴、構造、特性、特質、要素、または限定を含むわけではないことを示す。さらに、「1つの実施形態において」というフレーズの反復使用は必ずしも同じ実施形態に言及するわけではないが、そうであってもよい。
【0120】
本明細書において使用されているように、「データ構造」は、メモリ、ストレージデバイス、またはその他のコンピュータ化されたシステムに記憶されたコンピューティングシステムにおけるデータの組織である。データ構造は、例えば、データフィールド、データファイル、データアレイ、データレコード、データベース、データテーブル、グラフ、木、連結リストなどのうちのいずれか1つであってよい。データ構造は、多くのその他のデータ構造から形成されかつこれを含んでよい(例えばデータベースは多くのデータレコードを含む)。その他の実施形態によれば、データ構造のその他の例も可能である。
【0121】
本明細書において使用されているように、「コンピュータ可読媒体」または「コンピュータストレージ媒体」は、実行されると開示された機能のうちの1つまたは複数を行うように構成された命令および/またはデータを記憶する非一時的媒体を指す。データは、幾つかの実施形態において命令として機能してよい。コンピュータ可読媒体は、不揮発性媒体および揮発性媒体を含むがこれらに限定されない形態を取ってよい。不揮発性媒体は、例えば、光学ディスク、磁気ディスクなどを含んでよい。揮発性媒体は、例えば、半導体メモリ、ダイナミックメモリなどを含んでよい。コンピュータ可読媒体の共通の形式は、これらに限定されないが、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス、コンパクトディスク(CD)、その他の光学媒体、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、メモリチップまたはカード、メモリスティック、ソリッドステートストレージデバイス(SSD)、フラッシュドライブ、およびコンピュータ、プロセッサまたはその他の電子デバイスがそれと共に機能することができるその他の媒体を含んでよい。媒体の各々のタイプは、1つの実施形態における実施のために選択されると、開示および/または請求された機能のうちの1つまたは複数を行うように構成されたアルゴリズムの記憶された命令を含んでよい。
【0122】
本明細書において使用されているように、「ロジック」は、本明細書に開示されているような機能または動作のうちのいずれかを行うために、および/または別のロジック、方法および/またはシステムからの機能または動作が本明細書に開示されているように行われるために、コンピュータまたは電気的ハードウェア、実行可能なアプリケーションまたはプログラムモジュールの記憶された命令を備える非一時的媒体、および/またはそれらの組合せと共に実施される構成要素を表す。同等のロジックは、ファームウェア、アルゴリズムでプログラムされたマイクロプロセッサ、個別論理(例えば、ASIC)、少なくとも1つの回路、アナログ回路、デジタル回路、プログラムされた論理デバイス、アルゴリズムの命令を含むメモリデバイスなどを含んでよく、そのうちのいずれも、開示された機能のうちの1つまたは複数を行うように構成されてよい。1つの実施形態において、ロジックは、1つまたは複数のゲート、ゲートの組合せ、または開示された機能のうちの1つまたは複数を行うように構成されたその他の回路構成要素を含んでよい。多数のロジックが説明されている場合、多数のロジックを1つのロジックに組み込むことが可能であり得る。同様に、1つのロジックが説明されている場合、その1つのロジックを多数のロジックの間で分配することが可能であり得る。1つの実施形態において、これらのロジックのうちの1つまたは複数は、開示および/または請求された機能を行うことに関連した対応する構造である。行うためのどのタイプのロジックを選択するかは、所望のシステム条件または仕様に基づいてよい。例えば、より高い速度が検討事項である場合、機能を実施するためにハードウェアが選択される。より低いコストが検討事項である場合、機能を実施するために、記憶された命令/実行可能アプリケーションが選択される。
【0123】
「動作可能な接続」またはそれによってエンティティが「動作可能に接続される」接続は、信号、物理的通信、および/または論理通信が送信および/または受信されてよいものである。動作可能な接続は、物理的インターフェース、電気的インターフェース、および/またはデータインターフェースを含んでよい。動作可能な接続は、動作可能な制御を許容するために十分なインターフェースおよび/または接続の様々な組合せを含んでよい。例えば、2つのエンティティは、互いに直接または1つまたは複数の中間エンティティ(例えば、プロセッサ、オペレーティングシステム、ロジック、非一時的コンピュータ可読媒体)を通じて信号を通信するために動作可能に接続されることができる。論理的および/または物理的通信チャネルは、動作可能な接続を生成するために使用されることができる。
【0124】
本明細書において使用されているように、「ユーザ」は、1つまたは複数の人、コンピュータ、またはその他のデバイス、あるいはこれらの組合せを含むが、これらに限定されない。
【0125】
開示された実施形態は、かなり詳細に示されかつ説明されているが、添付された請求項の範囲をこのような詳細に制限またはあらゆる方法で限定することは意図されていない。もちろん、主題の様々な態様を説明するために構成要素または方法の全ての考えられる組合せを説明することは不可能である。したがって、開示は、示されかつ説明された特定の詳細または例示的な例に限定されない。したがって、この開示は、添付の請求項の範囲に含まれる変更、修正および変形を包含することが意図されている。
【0126】
詳細な説明または請求項において「含む(includes)」または「含んでいる(including)」という用語が使用される限りにおいて、これは、請求項における移行句として使用されたときにその用語が解釈されるように「含む(comprising)」という用語と同様の形式で包括的であることが意図されている。
【0127】
詳細な説明または請求項において「または」という用語が使用される限りにおいて(例えば、AまたはB)、これは、「AまたはBまたはその両方」を意味することが意図されている。出願人が、「AまたはBのみであるが両方ではない」ことを示すことが意図している場合、「AまたはBのみであるが両方ではない」というフレーズが使用される。したがって、本明細書における「または」という用語の使用は包括的使用であり、排他的使用ではない。
図1
図2
図3
図4
図5
図6
【国際調査報告】