CN117897699A - 用于识别和预测电子通信中的健康和安全风险的机器学习模型 - Google Patents
用于识别和预测电子通信中的健康和安全风险的机器学习模型 Download PDFInfo
- Publication number
- CN117897699A CN117897699A CN202280058476.3A CN202280058476A CN117897699A CN 117897699 A CN117897699 A CN 117897699A CN 202280058476 A CN202280058476 A CN 202280058476A CN 117897699 A CN117897699 A CN 117897699A
- Authority
- CN
- China
- Prior art keywords
- risk
- machine learning
- text
- learning classifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 99
- 230000036541 health Effects 0.000 title claims abstract description 38
- 238000004891 communication Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 238000010276 construction Methods 0.000 claims description 49
- 239000013598 vector Substances 0.000 claims description 43
- 238000012549 training Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 23
- 238000001514 detection method Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000012360 testing method Methods 0.000 description 13
- 230000010354 integration Effects 0.000 description 11
- 238000007477 logistic regression Methods 0.000 description 11
- 238000007637 random forest analysis Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 9
- 230000008520 organization Effects 0.000 description 7
- 230000006378 damage Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 102100035353 Cyclin-dependent kinase 2-associated protein 1 Human genes 0.000 description 3
- 208000027418 Wounds and injury Diseases 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 208000014674 injury Diseases 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 102100031554 Double C2-like domain-containing protein alpha Human genes 0.000 description 1
- 101000866272 Homo sapiens Double C2-like domain-containing protein alpha Proteins 0.000 description 1
- 101100152729 Mus musculus Tenm4 gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Abstract
描述了与监视和检测与目标领域相关的电子信函中的健康和安全风险的机器学习系统相关联的系统、方法和其他实施例。在一个实施例中,一种方法包括监视网络上的电子邮件通信以识别与目标领域相关联的电子邮件。发起机器学习分类器,该机器学习分类器被配置为利用风险将来自电子邮件的文本分类为包括涉及安全风险或非风险的词汇。分类器生成电子邮件包括涉及安全风险的文本的概率风险值,并且至少部分地基于概率风险值将电子邮件标记为安全风险或非风险。响应于电子邮件被标记为涉及安全风险,生成并向远程设备传输电子通知以提供警报。
Description
背景技术
在大多数大规模项目(诸如建设和工程项目)中,导致健康和安全风险的事故是常常发生的。这些安全事故使所有者、承包商、分包商、建筑师和顾问付出数百万美元的代价,从而影响整体项目。潜在问题的早期检测可以使得能够进行可以导致避免工地中的事故和安全漏洞的主动干预。
例如,数字平台被用于在项目过程中管理和传送日常电子信函(correspondence)。这些电子信函包含如果被正确破译则可以指示可能导致更大健康和安全事故的潜在问题的早期迹象的信息。这些早期迹象可以被用于识别与每个项目相关联的风险并且可以起到提供早期预警的作用。
然而,不存在作为用于识别项目的风险的此类早期迹象的计算机智能系统的现有系统。此外,不存在可以基于电子信函来预报或预测项目的潜在风险的现有系统。
发明内容
在一个实施例中,描述了一种计算机实现的方法,该方法包括监视网络上的电子邮件通信以识别电子邮件。响应于接收网络上的电子邮件,检测电子邮件并将电子邮件识别为与建设项目相关联。该方法将来自电子邮件的文本分词(tokenize)为多个词语;将多个词语中的每个词语向量化为将每个词语映射到数值的数值向量。发起机器学习分类器,该机器学习分类器被配置为识别建设术语(terminology)并利用风险将文本分类为涉及(refer to)或讨论安全风险或者没有涉及安全风险,因此是非风险(non-risk);以及将从电子邮件生成的数值向量输入到机器学习分类器中。机器学习分类器通过至少将数值向量与定义的安全风险词汇(vocabulary)的集合和定义的非风险词汇的集合对应来处理来自电子邮件的数值向量,并且通过机器学习分类器生成电子邮件包括涉及或讨论安全风险的词汇的概率风险值。至少部分地基于电子邮件涉及安全风险的概率风险值将电子邮件标记(label)为安全风险或非风险;以及响应于电子邮件被标记为涉及安全风险,生成并向远程设备传输电子通知以提供警报。
在另一个实施例中,该方法还包括:从建设项目用语(term)的词汇表(glossary)或数据库将建设术语输入到机器学习分类器;以及至少部分地基于具有与安全风险相关联或涉及安全风险的已知文本的信函的第一数据集和具有不涉及健康和安全风险的已知非风险文本的信函的第二数据集来训练机器学习分类器识别安全风险文本。
在另一个实施例中,描述了一种计算系统,包括:
至少一个处理器,被配置为执行指令;至少一个存储器,可操作地连接到该至少一个处理器;机器学习分类器,被配置为识别建设术语并利用风险将文本分类为安全风险或非风险;非暂态计算机可读介质,包括存储在其上的计算机可执行指令,该计算机可执行指令在由至少一个处理器执行时使得计算设备:
监视网络上的电子邮件通信以识别传输的电子邮件;响应于接收网络上的电子邮件,检测电子邮件并将电子邮件识别为与建设项目相关联;将来自电子邮件的文本分词为多个词语;
将从电子邮件生成的多个词语输入到机器学习分类器中;其中机器学习分类器被配置为通过至少将多个词语与定义的安全风险词汇的集合和定义的非风险词汇的集合对应来评估来自电子邮件的多个词语;
通过机器学习分类器生成电子邮件包括涉及安全风险的文本的概率风险值;至少部分地基于电子邮件包括涉及安全风险的文本的概率风险值将电子邮件标记为安全风险或非风险;以及
响应于电子邮件被标记为安全风险,生成并向远程设备传输电子通知,以与接收网络上的电子邮件相关地近实时地提供警报。
在另一个实施例中,描述了包括或执行计算机可执行指令的计算机实现的方法、计算机系统或非暂态计算机可读介质,该计算机可执行指令在由至少计算机的处理器执行时使得计算机:
监视网络上的电子邮件通信以识别与目标领域相关联的电子邮件;发起机器学习分类器,该机器学习分类器被配置为利用风险将来自电子邮件的文本分类为与安全风险相关或与非风险相关;通过机器学习分类器生成电子邮件与安全风险相关的概率风险值;通过机器学习分类器至少部分地基于指示电子邮件是安全风险的概率风险值将电子邮件标记为安全风险或非风险;以及响应于电子邮件被标记为安全风险,生成并向远程设备传输电子通知以提供警报。
附图说明
结合在本说明书中并构成本说明书的一部分的附图图示了本公开的各种系统、方法和其他实施例。要认识到的是,图中所示的元件边界(例如,框、框的组、或其他形状)表示边界的一个实施例。在一些实施例中,一个元件可以被实现为多个元件,或者多个元件可以被实现为一个元件。在一些实施例中,被示为另一个元件的内部组件的元件可以被实现为外部组件,并且反之亦然。此外,元件可能不是按比例绘制的。
图1图示了与从电子信函预测风险相关联的机器学习系统的一个实施例。
图2图示了具有4个特征的单个信函线程的Python中的文档向量矩阵的一个实施例。
图3图示了示出用于选择初始阈值的灵敏度(tpr)和特异度(tnr)与安全风险截止值的概率图的曲线图的一个实施例。
图4图示了与从建设项目的电子通信检测潜在风险相关联的方法的实施例。
图5图示了与从目标领域的电子通信检测潜在安全风险相关联的方法的另一个实施例。
图6图示了被配置有所公开的示例系统和/或方法的计算系统的实施例。
具体实施方式
本文中描述了实现基于人工智能(AI)的监视和预测/检测系统的系统和方法。在一个实施例中,机器学习模型被配置为监视网络通信并预测所交换的与目标领域或项目相关的电子信函/通信中的健康和安全风险。在一个实施例中,目标领域是建设和工程项目。例如,本系统和方法使用配置用于语义自然语言理解、专门用于来自建设和工程项目信函的文本中的健康和安全风险检测而创建、训练和优化的专用人工智能来识别潜在的健康和安全风险。
为了简单起见,如本文中所使用的,用语“健康和安全风险”也被称为“安全风险”或“风险”。“安全风险”是指信函或文本/语言关系到、涉及或讨论潜在健康和安全风险的确定或分类,例如,其中健康和安全风险在环境(例如,在建设项目或工地)中已经发生或可能发生。
用语“非风险”是指信函或文本/语言不被视为(或不关系到、不讨论)潜在健康和安全风险的确定或分类。
在一个实施例中,本系统监视(例如,近实时地)组织的投资组合中的正在进行的项目或项目的集合中的网络通信和电子信函。用机器学习模型破译电子信函中的信息,以识别和检测指示安全风险的语言。机器学习模型至少基于经训练的数据的集合来预测该语言是否达到风险的阈值水平。当对于信函预测出风险时,系统自动近实时地生成警报,并将相关联的信函线程标记为安全风险(例如,包括讨论安全风险的词汇/文本)。这可以包括如果存在与在单个线程中发送的最后的信函相关联的安全风险则标记电子邮件线程。
在一个实施例中,系统可以将所识别的信函与上下文项目元数据组合,以将预测的风险与项目过程相关联。然后,关于所识别的信函和所识别的项目的信息可以被传输和/或呈现在图形用户界面上和/或以电子消息的形式传输到远程计算机,以便用户可以近实时地访问该信息。在另一个实施例中,本系统提供反馈过程,其中在基于用户的经验和直觉判断系统的预测不正确的情况下,用户可以改变与每个通信线程相关联的标记。然后,改变的标记作为新的训练数据被反馈到目前的系统模型,以随着时间的推移提高预测准确率。
参考图1,图示了被配置为监视网络通信并预测电子信函中的安全风险的安全风险检测系统100的一个实施例。最初,系统100包括用包括已知安全风险语言和已知非风险语言的项目信函的已知数据集来训练机器学习模型(如下所述)。训练将机器学习模型配置为基于所监视的电子信函来识别和预测与特定项目相关联的安全风险。
在一个实施例中,在模型被部署并操作以监视通信之后,基于所识别的风险将导致健康或安全事故/事件的可能性对任何所识别的健康和安全风险进行归类。可以呈现并显示所识别的风险和相关联的信函以供验证,以允许任何不正确的预测的校正。然后,任何校正的预测被反馈到机器学习模型中,以从校正的预测中学习。这允许系统随着时间的推移而演化,以基于所监视的通信来识别安全风险,并允许系统将安全风险与特定的建设项目相关联。下面是更详细的解释。
训练阶段
参考图1,初始训练阶段的组件在虚线105内示出。在一个实施例中,训练数据110被输入到机器学习模型,该机器学习模型包括多个独立操作的基础机器学习分类器/算法。每个分类器生成对被评估的信函进行分类的输出,并且所有输出被组合以创建集成(ensemble)多数投票分类器130。
在图1中,风险检测系统100包括奇数个(三个)机器学习模型/分类器/算法115、120和125。在其他实施例中,可以使用不同数量的基础分类器。在一个实施例中,每个基础分类器是基于从与其他分类器不同的理论背景进行操作来选择的,以避免偏差和冗余。例如,所示的三个分类器包括(1)具有L1正则化的逻辑回归分类器115,它是参数分类器;(2)梯度提升分类器XGBoost 120,它使用梯度提升框架;(3)随机森林分类器125,它是通过构造大量决策树进行操作并在引导聚合框架下实现机器学习算法的集成学习方法。
训练数据110被输入到机器学习分类器115、120和125中的每一个。例如,训练数据包括包含已知安全风险文本/语言和已知非风险语言的建设项目信函的已知数据集。已知安全风险文本/语言包括已知关系到、涉及或讨论健康和安全问题和/或事件的文本、语言和/或短语。
分类问题的结构
准备了超过40,000个健康和安全风险相关的文本数据集和大约6,000个非风险相关的文本数据集的带标记数据集,并将其用于测试和训练机器学习模型/分类器115、120和125。被标记是指信函被分类并已知具有或者是健康和安全风险或者是非安全风险的文本。该训练数据集被拆分成90%的“训练”和10%的“测试”数据集。在一个实施例中,风险样本与非风险样本的比率在测试和训练数据集两者中是相同的。当然,可以使用不同的比率并且可以使用不同的样本量。与风险相关联的样本包括来自源自不同建设项目的信函以及来自从职业安全与健康管理局(OSHA)网站获得的与健康和安全风险相关联的损伤报告的文本数据。非风险样本也包括来自源自不同建设项目的信函的文本数据,但不存在任何与它们相关联的健康和安全风险。
在一个实施例中,通过去除停用词、标点符号、数字和HTML标签来清理来自每个记录的信函文本,并且所有词语用全部小写字符词干化(stem)为它们的根词语。使用将每个文档表示为向量的模型对每个信函进行向量化。例如,对于所选择数量的特征(例如,数千个特征)的向量尺寸使用Python中的Gensim的Doc2Vec将每个信函向量化为文档向量矩阵,其中每行表示唯一的信函线程并且每列表示向量空间中的特征。在图2中示出了文档向量矩阵的简化示例。
每个特征被归一化为其均值为0和标准差为1。数据集被拆分成90%用于训练并且10%用于测试。在模型的正则化之后,对机器学习模型以前未见过的10,000个记录的测试数据集进行了预测,以确定它们的预测的准确率。
观测到多个观测的对(xi,yi)i=1,...,n,其中并且y∈Y={健康和安全风险信函,非风险信函}。X是预测者(predictor)空间(或属性),并且Y是响应空间(或类)。
在这种情况下,属性的数量是在每个信函线程文本的向量化后获得的向量的特征。在一个实施例中,预训练的向量化模型将Gensim的Doc2Vec库用于文档/文本向量化、主题建模、词语嵌入和相似性。也可以使用Text2vec。第一步是使用基于词汇的向量化对文本进行向量化。这里,从一组输入文档(例如,电子邮件信函和线程的组)收集唯一的用语,并且每个用语被标有唯一的ID。例如,这可以使用create_vocabulary()函数来执行,该函数识别并收集唯一的用语并收集用语的统计数据。
然后,风险检测系统100使用预训练的向量化模型Doc2Vec来创建基于词汇的文档用语矩阵(DTM)。这个过程将每个信函线程(例如,电子邮件线程或单个电子邮件信函)变换成向量空间中信函的数值表示,这也被称为文本嵌入。
该文本嵌入过程将文本变换成文本的语义含义的数值表示(嵌入)。如果两个词语或文档具有相似的嵌入,则它们在语义上相似。因此,使用数值表示,风险检测系统100能够捕获文档中的词语的上下文、语义和句法相似性、与其他词语的关系等。
在一个实施例中,整个数据集被变换成[M×N]矩阵(参见表1),其中M是信函线程的数量并且N是向量空间中特征的总数。每个信函线程由N维的向量表示。如在表1中所看到的那样,每行表示唯一的信函线程(Doc1、Doc2、Doc3…)并且每列表示文档集中存在的唯一用语/属性的特征或用语(T1、T2、T3…)。表1中对于八(8)个特征示出的特征集仅用于表示。每列中所示的值是用语在向量空间中文档的集合中出现的频率(例如,用语T1在Doc1中出现两次)。每行是与表示每个用语的频率的相关联Doc对应的向量。一些数据集可以具有数千个用语,这对于训练机器学习模型来说可以是一项大型处理任务。在一个实施例中,可以基于特征来过滤向量。
表1示出了示例文档用语矩阵:
T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | |
Doc1 | 2 | 0 | 4 | 3 | 0 | 1 | 0 | 2 |
Doc2 | 0 | 2 | 4 | 0 | 2 | 3 | 0 | 0 |
Doc3 | 4 | 0 | 1 | 3 | 0 | 1 | 0 | 1 |
Doc4 | 0 | 1 | 0 | 2 | 0 | 0 | 1 | 0 |
Doc5 | 0 | 0 | 2 | 0 | 0 | 4 | 0 | 0 |
Doc6 | 1 | 1 | 0 | 2 | 0 | 1 | 1 | 3 |
Doc7 | 2 | 1 | 3 | 4 | 0 | 2 | 0 | 2 |
表1-示例文档用语矩阵
在另一个实施例中,文本嵌入过程将文本变换成数值表示(嵌入)成为文档向量矩阵而不是文档用语矩阵。参考图2,示出了具有四(4)个特征的单个邮件信函线程的文档向量矩阵的示例。在图2中,矩阵是文档向量或嵌入的矩阵,其中每行表示向量空间中唯一信函线程的向量表示。例如,特征是除了用语及其从向量化过程创建的相关联数值表示之外的文档的某个性质。如上所述,数值表示是文本的语义含义。如前所述,线程可以具有数百或数千个特征(例如,7000个特征)。在一个实施例中,文档向量矩阵是使用例如Python中的Doc2vec库从样本数据集中使用的文本数据记录或信函的语料库获得的。
信函ID 205被指派给每个特定的信函线程(数据210)。四(4)个示例特征被列为特征1;特征2;特征3;和特征4。这里,向量空间中的每个特征是来自由预训练的向量化模型生成的信函的特征。使用通用用语“特征1”、“特征2”等是为了简单起见并且仅用于讨论目的。用于这些特征中的每个特征的标记也可以由模型生成,并且在本讨论中没有任何物理意义。标记可以代替地基于模型如何被配置为生成此类标记而被表示为其他类型的字符串。
目标是使用这些观测以便估计X和Y之间的关系,从而根据Y预测X。该关系被表示为分类规则,
hj(X)=arg max P(y|X,θj),j=1,...,3
(等式1)
其中P(.,.)是观测对的概率分布,Θ是每个基础分类器的参数向量,并且j是基础分类器的数量。因为风险检测系统100实现方案具有三个基础分类器115、120和125,所以存在三个分类规则,对于每个基础分类器一个,因此j=3。
在图2中,在特征1-4的列下,示出数字-0.0155624、-0.0561929等。这些数字表示文档向量(每个文档的向量化表示)中每个特征的示例值。
数据准备
在一个实施例中,从具有已知安全风险文本的信函(例如,被识别出具有与健康和安全问题相关或讨论健康和安全问题的已知文本或短语的信函)的样本组和具有已知非风险文本的信函(例如,被识别为不具有与健康和安全问题相关或讨论健康和安全问题的已知文本或短语的信函)的样本组创建带标记数据集。例如,带标记数据集可以包括从大约50%-50%比率的已知安全风险信函(具有已知安全风险文本)和不涉及或讨论健康或安全问题的非风险信函创建的信函线程的大约一千个唯一记录。当然,可以在数据集中使用不同数量的数据记录。
除了具有已知的安全风险文本和已知的非风险文本之外,来自数据集的信函还可以包括已知的建设和/或工程词汇和术语。例如,可以从现有的建设项目用语的词汇表或数据库收集和输入建设术语。这允许机器学习模型学习并识别接收的电子邮件信函是与建设项目相关还是与建设项目无关。当本系统在包括非建设信函的通用电子邮件系统上操作时,这个特征可能是有用的,这些非建设信函应当被过滤掉以避免不必要的分类和计算资源的使用(例如,避免使用机器分类器、避免处理器时间、存储器等)。
在另一个实施例中,系统可以被训练为识别和瞄准不同类型的信函而不是建设和工程。来自数据集的信函可以包括来自不同目标领域(诸如航空、航运、运输或其他选择的目标领域)的已知词汇和术语。这允许机器学习模型学习并识别接收的电子邮件信函是与目标领域相关还是无关。在一个实施例中,当确定电子邮件/信函与目标领域无关时,该电子邮件/信函可以被过滤或者以其他方式不经受进一步的分析。
通过去除停用词、标点符号、数字和HTML标签来清理来自每个记录的信函文本。剩余词语用全部小写字符词干化为它们的根词语。
从信函线程的样本集(例如,500+个电子邮件和/或线程)创建词汇,其定义了已知的安全风险词汇和已知的非风险词汇。样本集包括了已知讨论或涉及安全风险问题的信函的子集,因此包括了已知的安全风险词汇。信函线程的另一个子集已知不讨论或涉及安全风险问题,因此具有已知的非风险词汇。
用于已知健康和安全风险的词汇的示例可以包括“事故(accidents)”、“致命(fatal)”、“损伤(injury)”、“伤害(harm)”、“危险(dangerous)”、“损害(damage)”、“危害(hazard)”、“不安全(unsafe)”、“疏忽(negligence)”等。用于已知非健康和安全风险的词汇的示例可以包括“合同(contract)”、“文档(document)”、“供应(supplies)”、“员工(employee)”、“道路(road)”、“建筑物(building)”等。在一个实施例中,样本集包含相同或大约相同比率的安全风险信函样本和非风险样本,但可以使用其他比率(例如,60%风险对40%非风险)。只要使用足够的样本集来训练机器学习模型在安全风险信函与非风险信函之间准确地识别和分类至少达到定义的阈值水平,该比率就是不相关的。在本示例中,信函的样本集也基于目标领域,即,建设和工程。因此,信函的样本集包括建设/工程词汇和安全风险/非风险词汇的组合。然后使用Doc2Vec库(或其他向量化函数)对每个样本信函线程进行向量化,以创建文档向量矩阵(参见图2),其中每行表示唯一的信函线程并且每列表示向量空间中的特征。
在一个实施例中,每个特征被归一化为其均值为0和标准差为1。数据集被拆分成90%用于训练并且10%用于测试。在测试和训练数据集两者中,安全风险与非风险信函的比率相同(或几乎相同)。训练数据集作为输入被馈送到下面提到的机器学习模型。在模型的正则化之后,对测试数据集以及以前未见过的记录的数据集(例如,10,000个以前未见过的具有未知文本的记录)进行预测。被所有三个模型预测为非风险的任何记录被添加回初始带标记数据集记录作为协同训练数据集,以增加用于构建模型的带标记训练和测试数据集的大小。
继续参考图1,以下包括用于每个机器学习模型的机器学习算法的描述:逻辑回归115、XGBoost 120和随机森林125。
机器学习模型/算法
1.具有L1正则化的逻辑回归模型115
逻辑回归模型115的输入是由如上所述的风险检测系统100创建的缩放的文档用语矩阵[表1和图2]。建立了具有L1正则化的惩罚逻辑回归模型115,该模型对具有过多变量的逻辑模型施加惩罚。在套索(Lasso)回归中,一些贡献较小的变量的系数被迫恰好为零。在一个实施例中,仅最重要的变量被保留在最终的模型中。
在逻辑回归中,C参数描述正则化强度的倒数。在本模型中,发现C参数在值为50时最优。执行了10折交叉验证。为使求解器收敛而取的迭代的最大次数被设置在1000并且优化的容差被取为1e-4。
逻辑回归模型115的输出是信函线程将是健康和安全风险的概率风险值。信函线程将是安全风险的概率风险值的初始阈值被取为0.999以上的任何值。初始阈值被选择为概率的截止值,其中使用网格搜索,灵敏度、特异度和准确率彼此非常接近(参见图3,示出了灵敏度(TPR-真阳性率)和特异度(TNR-真阴性率)与安全风险截止值的概率图)。然后根据模型在未见过的数据集(未知/未分类的数据集)上如何执行来稍微修改阈值。还可以降低阈值以增加被分类为安全风险的信函的数量。然而,这可能通过潜在地增加了被不正确地分类为安全风险的信函的数量而降低模型的准确率。
表2示出了用逻辑回归模型对测试数据的评估度量:
准确率 | 0.979774 |
召回率 | 0.976750 |
精确率 | 1.000000 |
roc_auc_score | 0.988375 |
ROC-AUC分数(score)是用于评价分类模型的性能的评估度量。AUC是“ROC曲线下的面积”。AUC测量整个ROC曲线下方从(0,0)到(1,1)的整个二维面积。ROC曲线代表“接收者操作特性”曲线,并且是示出分类模型在所有分类阈值下的性能的曲线图。ROC曲线绘制了两个参数:真阳性率(TPR)和假阳性率(FPR),其中曲线绘制了不同分类阈值下的TPR与FPR。
2.使用XGboost的梯度提升算法集成算法
XGBoost模型120的输入是由如上所述的系统100创建的缩放的文档用语矩阵(例如,图2、表1)。XGBoost是被设计为高效、灵活和轻便的优化的分布式梯度提升库。它在梯度提升框架下实现机器学习算法。在XGBoost模型120中,它是用梯度提升树算法实现的。输入矩阵是与上面提到的相同的文档用语矩阵(文档特征矩阵)。
在基于树的集成方法(诸如XGBoost或随机森林)中,每个特征被评估为潜在的拆分特征,这使得它们对不重要/不相关的变量具有鲁棒性,因为无法区分事件/非事件的此类变量将不会被选择为拆分变量,因此在变量重要性图上也将非常低。
使用“ROC曲线”下的“AUC”作为评估度量。树的数量被选择为50并且学习率被选择为0.2,用于在一系列值上的网格搜索之后的用于正则化的超参数调节。信函线程将是安全风险的概率风险值的阈值被取为0.999以上的任何值。该阈值是以与对于逻辑回归模型进行的相同的方式基于模型在未见过的数据集上的性能而选择的。XGBoost模型120的输出是信函线程将是安全风险的概率风险值。
表3示出了XGBoost在测试数据上的评估度量:
准确率 | 0.993475 |
召回率 | 0.992500 |
精确率 | 1.000000 |
roc_auc_score | 0.996250 |
表3-XGBoost评估度量
3.随机森林分类器125
随机森林分类器模型125的输入是如上所述的缩放的文档用语矩阵(文档频率矩阵)。在一个实施例中,随机森林分类器125是用可用于在通过一系列值上的网格搜索选择的每个树节点处进行拆分的四(4)个变量来构建的。
取“ROC曲线”下的“AUC”作为评估度量,并且树的数量被取为500。在寻找最佳拆分时要考虑的特征的数量被取为50,用于在一系列值上的网格搜索之后的用于正则化的超参数调节。信函线程将是安全风险的概率风险值的阈值被取为0.999以上的任何值。该阈值是以与对于逻辑回归模型进行的相同的方式基于模型在未见过的数据集上的性能而选择的。随机森林分类器模型125的输出是信函线程将是安全风险的概率风险值。
表4示出了随机森林分类器在测试数据上的评估度量:
准确率 | 0.918008 |
召回率 | 0.905750 |
精确率 | 1.000000 |
roc_auc_score | 0.952875 |
表4-随机森林评估度量
集成多数投票分类
继续参考图1,三个基础分类器115、120和125中的每一个是预测者空间的不同区域中的专家,因为每个分类器在不同的理论基础下处理属性空间。风险检测系统100以产生优于任何单独分类器及其规则的集成多数投票分类器130这样的方式组合三个分类器115、120和125的输出。因此,对于奇数个三个分类器,对最终结果的多数投票/预测将需要至少两个分类器来投票/预测相同的结果(例如,对于信函预测“安全风险”或者“非风险”)。
在操作中,当电子信函(例如,邮件线程)由每个模型115、120、125评估时,每个模型的输出是邮件线程是健康和安全风险的概率。基于该概率与阈值比较,为每个邮件线程指派标记。例如,如果模型所预测的邮件线程是安全风险的概率大于对于该特定模型是风险的概率的阈值,则标记为“1”。如果模型所预测的邮件线程是安全风险的概率小于对于该特定模型是风险的概率的阈值,则标记为“0”。因此,如果邮件线程具有非风险性质(不是健康和安全风险),则标记为“0”。
当然,可以使用其他标记来指示安全风险或非风险。在一个实施例中,使用一“1”和零“0”作为标记允许标记被用作投票,然后可以从多个机器学习分类器组合该投票以创建集成模型130的多数投票方案,如下所述。
在一个实施例中,风险检测系统100使用以下等式将来自三个基础分类器的输出组合到集成模型130中:
C(X)=h1(X)+h2(X)+h3(X)(等式2)
这里,C(X)是三个单独分类器的加权输出之和,其中h1(X)、h2(X)和h3(X)分别是随机森林125、XGBoost梯度提升120和逻辑回归分类器115的输出。这里,C、h1、h2和h3都是X的函数,X表示从所评估的电子信函识别的特征或属性。在另一个实施例中,可以在等式2中向分类器输出中的一个或多个赋予加权值,诸如2*H1(X)。
在一个实施例中,如果C(X)>=2,则系统100将电子信函分类为安全风险。如果C(X)<2,则信函被分类为非风险(不太可能是健康和安全风险)。因此,如果三个基础分类器中的任意两个将信函分类为健康和安全风险,则集成模型预测该信函是安全风险。在另一个实施例中,作为这个二元分类的扩展,每个分类器还可以根据其风险的强度/严重性级别将每个风险邮件分类为风险的高级别、中级别和低级别。
表5示出了用于集成模型130的评估度量:
准确率 | 0.986733 |
召回率 | 0.984750 |
精确率 | 1.000000 |
roc_auc_score | 0.992375 |
表5-集成模型评估度量
模型部署-操作/执行阶段
继续参考图1,在一个实施例中,一旦集成模型130被配置并训练,集成模型130就被部署(框135)用于操作。在操作期间,针对具有安全风险和非风险内容实时或近实时地监视和评估(框140,也是图4)信函。集成模型130如上面所解释的那样基于每个信函的文本生成每个信函的风险预测,并且生成作为安全风险或非风险的相关联的标记。部署的模型的组件以虚线145示出。
当集成模型130确定并预测信函是安全风险时,经由图形用户界面(框140)生成电子通知(框160)。参考图4进一步描述集成模型的部署和操作。
在一个实施例中,图1中的集成模型130可以被配置为提供在图形用户界面中生成和呈现的多个附加特征。这些特征可以包括仪表板(dashboard)165、警告和发出的跟踪179、推荐175和/或聚合180。
例如,可以生成仪表板(框165)以便以图形方式表示来自集成模型130的一种或多种类型的结果和/或总结数据。例如,总结可以包括在特定时间间隔内对与项目相关的特定组织/个人可见的项目中交换的安全风险电子邮件的数量。关于所分析的信函、统计数据和/或数据分析报告的其他类型的总结报告/信息可以作为图形信息被包括在仪表板165中。显示还可以包括在仪表板165上显示的每个电子邮件或信函是否具有安全风险内容。
警告和问题跟踪(框170):在一个实施例中,系统100突出显示潜在地指出电子邮件或信函具有由机器学习模型所识别的潜在安全风险内容的原因的主题和关键词。警告和问题跟踪170也可以与推荐175组合。
推荐(框175):在一个实施例中,系统100可以根据在特定时间间隔内对与项目相关的特定组织/个人可见的项目中交换的安全风险电子邮件的数量将项目归类为高、中或低风险类别。这将使有关人员能够尽快采取适当措施。
聚合(框180):在一个实施例中,系统100可以确定在特定时间间隔内对与项目相关的特定组织/个人可见的项目中交换的所有邮件中安全风险电子邮件的百分比。
参考图4,图示了描述集成模型130在部署和执行期间的操作的方法400的一个实施例。如前所述,集成模型130被配置为监视电子信函并从与建设或工程项目相关联的电子信函检测安全风险。在一个实施例中,集成模型130被配置为接收要监视的电子信函的所选择的计算平台和/或电子邮件网络的一部分。
总体而言,在从训练数据集构建机器学习分类器(如在图1-图3下所描述的那样)之后,新传入的电子邮件信函被自动通过所实现的每个分类器。在图1的系统中,包括三个分类器115、120和125。在信函的分析之后,每个分类器将每个传入信函分类/标记为或者安全风险或者非风险。在另一个实施例中,每个分类器还可以利用安全风险的风险严重性/强度的级别将所识别的风险分类为低、中或高级别。集成模型130还可以连续地从有助于验证结果的用户反馈中学习,该用户反馈然后被反馈到系统中以用于重新训练。下面是更详细的解释。
参考图4,一旦方法400被发起并在作为目标的计算平台上运行,在框410处,就监视网络通信以识别由计算平台接收的电子信函。例如,电子邮件或其他电子信函由本系统在其上操作的相关联的电子邮件系统识别。
在420处,系统检测并识别电子邮件及其相关联的建设项目。例如,系统100可以具有识别的项目的列表,并且系统识别电子邮件属于哪个项目。如先前解释的那样,机器学习模型115、120和125已经被训练为识别建设和工程词汇和术语。这种类型的识别可以有助于过滤掉与建设项目不相关的电子邮件或电子邮件线程。
作为另一个示例,组织可以具有一个或多个正在进行的建设项目,其中每个建设项目具有存储在系统中的识别每个项目的定义的名称和/或其他元数据。系统可以解析并扫描来自接收的电子邮件的文本,并识别与现有项目ID和元数据匹配的任何已知词语或短语。如果找到,则接收的电子邮件与现有项目相关联。其他识别方式可以包括在电子邮件中具有项目ID。
每个传入的电子邮件信函进一步通过用于以编程方式清理信函的多个函数。例如,在框430处,可以通过去除所有非拉丁字母字符、html标签、标点符号、数字和停用词来清理每个电子邮件。可以通过识别信函文本并将信函文本分解成词语、标点符号、数字、文本中的其他对象等来对电子邮件文本进行分词(框430)。如果电子邮件至少包括一个具有超过4个字母的词语,则电子邮件中的每个词语被词干化为其根词语。
在440处,来自电子邮件的被分词的文本词语被向量化和特征缩放。在一个实施例中,对文本进行向量化包括将每个词语转换成数字,这些数字是数值向量。向量化将词语或短语从词汇映射到对应的实数的向量,其可以被用于找出词语谓词、词语相似性和/或语义。数字的向量(即,特征)是特征,并且可以通过对数据的特征的范围进行归一化来缩放。
在450处,在清理信函文本和特征缩放之后,发起图1的集成机器学习分类器以识别建设用语并对信函的安全风险进行分类。信函文本通过系统100(图1)的三个机器学习分类器115、120和125中的每一个。每个分类器基于学习的训练数据对电子邮件文本是安全风险还是非风险进行单独预测。
在一个实施例中,在框460处,在框440处生成的数值向量被映射到与已知安全风险词汇和已知非风险词汇的定义的数据集相关联的数值向量(例如,根据先前生成的文档用语矩阵(或文档向量矩阵)。换句话说,机器学习分类器通过至少将数值向量与从定义的安全风险词汇的集合和定义的非风险词汇的集合生成的已知数值向量进行匹配和比较来处理从电子邮件信函生成的数值向量。
在框470处,三个分类器115、120和125中的每一个独立地评估信函并且生成对于如上文先前描述的那样被评估的信函的概率风险值的预测。如果概率风险值超过为相关联的分类器设置的定义的阈值,则该分类器将信函标记为涉及或讨论安全风险(例如,标记值为“1”)或非风险(例如,标记值“0”不讨论安全风险)。一般而言,输出标记被视为“投票”,因为输出是“1”(安全风险“是”)或“0”(安全风险“否”)。然后将由多个分类器生成的多个“投票”组合以用于多数投票确定。
在框480处,由三个分类器输出的三个标记/投票然后使用多数投票方案(例如,等式2)被组合作为集成模型130的一部分。基于组合的标记,由系统基于三个分类器的单独投票的多数投票向电子邮件信函赋予为安全风险或非风险的最终标记。在另一个实施例中,可以使用不同数量的分类器,和/或选择的分类器可以使其输出投票在等式2中被赋予加权值以避免投票中的平局。
集成分类器包括奇数个独立机器学习分类器(在上述实施例中为三个分类器)。每个独立机器学习分类器生成将电子邮件信函分类为安全风险或非风险的输出。来自每个独立机器学习分类器的输出都至少部分地基于多数投票方案进行组合,以生成电子邮件为安全风险或非风险的最终标记。
在框490处,系统被配置为响应于指示信函是安全风险的最终标记而生成电子通知。在一个实施例中,电子通知包括识别信函的数据、相关联的建设项目和关于潜在安全风险的警报消息。电子通知还可以包括附加数据,诸如电子邮件发送者和接收者。电子通知可以突出显示或在视觉上区分来自与由机器学习分类器所识别的安全风险词汇相关的电子邮件信函的文本。然后,电子通知被传输到远程设备和/或显示在图形用户界面上,以允许用户近实时地接收通知并访问信函,从而可以采取行动来解决信函中的问题。
在另一个实施例中,系统将电子通知传输到指定的远程设备(例如,经由地址、蜂窝电话号码或其他设备ID),该电子通知至少包括电子邮件的标识和指示电子邮件包括涉及或讨论安全风险或非风险的文本的标记。响应于接收到电子通知,远程设备提供用户界面,该用户界面显示来自电子通知的数据并且允许输入来验证标记并在用户相信标记不正确时改变标记。这可以包括查看来自电子邮件信函的任何识别的可疑文本,以允许用户基于他们的判断确定文本是安全风险还是非风险。用户界面允许选择和改变标记。响应于经由用户界面改变标记,系统然后可以将改变的标记和对应的电子邮件作为反馈传输到机器学习分类器以重新训练机器学习分类器。验证机制在下一节中进一步描述。
验证和持续学习
再次参考图1,在一个实施例中,由集成模型130做出的一个或多个预测的信函文本可以对系统100的用户可用。这提供了一种验证机制,以便用户能够应用人类决策来验证预测和相关联的标记(安全风险或非风险)。作为验证机制的一部分,系统100提供反馈用户界面150,其允许用户在用户不同意由集成模型130作出的预测和标记的情况下输入校正以将所选择的信函重新标注或以其他方式重新标记为安全风险或非风险。
实现连续学习过程以利用改变先前标记的新反馈数据来重新训练集成模型130。集成模型130接收标记改变和其他反馈数据作为输入,以与分类的数据的现有训练数据集组合并重新训练(框155)。该反馈数据155被用于利用先前的和新标记的信函主体来重新训练集成模型130。如果重新训练的模型优于现有模型,则重新训练的集成模型130将取代现有模型。这可以基于执行大量比较测试来确定模型的预测准确率。使用这种反馈机制,风险检测系统100将在一段时间内学习更准确地对信函进行分类。
参考图5,图示了描述集成模型130在部署和执行期间的操作的方法500的另一个实施例。如前所述,集成模型130(来自图1)被配置为监视电子信函并从电子信函检测安全风险。在方法500中,集成模型130被训练并被配置为识别与目标领域相关联的信函。
目标领域可以是所选择的领域或活动,例如建设项目、航空、航运活动、仓库项目、产品制造项目或其他所选择的领域或活动。在一个实施例中,集成模型130被配置为接收要针对目标领域进行监视的电子信函的所选择的计算平台和/或电子邮件网络的一部分。因此,来自图1的集成模型130先前用与目标领域相关联的词汇进行训练(如在图1-图3下所描述的那样)。
总体而言,在训练机器学习分类器之后,所监视的新传入电子邮件信函被自动通过所实现的每个分类器。在图1的系统中,包括三个分类器115、120和125。在信函的分析之后,每个分类器将每个传入信函分类/标记为或者安全风险或者非风险。
继续参考图5,一旦方法500被发起并在作为目标的计算平台上运行,在框510处,就监视网络通信以识别由计算平台接收的与目标领域相关联的电子信函。例如,电子邮件或其他电子信函由本系统在其上操作的相关联的电子邮件系统检测。
在一个实施例中,每个传入的电子邮件信函可以通过用于以编程方式清理信函的多个函数。例如,可以通过去除所有非拉丁字母字符、html标签、标点符号、数字和停用词来清理每个电子邮件。可以通过识别信函文本并将信函文本分解成词语、标点符号、数字、文本中的其他对象等来对电子邮件文本进行分词。如果电子邮件至少包括一个具有超过4个字母的词语,则电子邮件中的每个词语可以被词干化为其根词语。基于信函中的剩余用语,系统识别词汇是否与先前描述的目标领域的已知词汇匹配。这种类型的识别可以有助于过滤掉与目标领域不相关的电子邮件或电子邮件线程。
在框520处,发起图1的集成机器学习分类器以利用风险将来自电子邮件信函的文本分类为与安全风险相关或与非风险相关。信函文本被通过系统100(图1)的三个机器学习分类器115、120和125中的每一个。每个分类器基于学习的训练数据对电子邮件文本是涉及或讨论安全风险还是非风险进行单独预测。
在框530处,三个分类器115、120和125中的每一个独立地评估信函并且生成对于如上文先前描述的那样被评估的信函的概率风险值的预测。如果概率风险值超过为相关联的分类器设置的定义的阈值,则在框540处,该分类器将信函标记为安全风险(例如,标记值为“1”)或非风险(例如,标记值为“0”)。一般而言,输出标记被视为“投票”,因为输出是“1”(安全风险“是”)或“0”(安全风险“否”),这至少部分地基于指示电子邮件是安全风险的概率风险值。然后将由多个分类器生成的多个“投票”组合以用于多数投票确定。
在框540处,由机器学习分类器输出的标记/投票然后使用多数投票方案(例如,等式2)被组合作为集成模型130的一部分。基于组合的标记,由系统基于三个分类器的单独投票的多数投票向电子邮件信函赋予为安全风险或非风险的最终标记。在另一个实施例中,可以使用不同数量的分类器,和/或选择的分类器可以使其输出投票在等式2中被赋予加权值以避免投票中的平局。
在框550处,系统响应于指示信函是安全风险的最终标记而生成电子通知。在一个实施例中,电子通知包括识别信函的数据、相关联的项目(如果确定了的话)和关于潜在安全风险的警报消息。电子通知还可以包括附加数据,诸如电子邮件发送者和接收者。电子通知可以突出显示或在视觉上区分来自与由机器学习分类器所识别的安全风险词汇相关的电子邮件信函的文本。然后,电子通知被传输到远程设备和/或显示在图形用户界面上,以允许用户近实时地接收通知并访问信函,从而可以采取行动来解决信函中的问题。
在另一个实施例中,系统将电子通知传输到指定的远程设备(例如,经由地址、蜂窝电话号码或其他设备ID),该电子通知至少包括电子邮件的标识和将电子邮件指示为安全风险或非风险的标记。在另一个实施例中,方法500可以执行参考图4和方法400描述的功能或子功能中的一个或多个。
响应于最终标记指示信函是非安全风险,可以不生成电子通知,并且系统继续处理下一信函。标记的非风险信函可以被传输到与验证相关联的远程设备,诸如图1中描述的验证机制,其中某人可以查看信函并确认标记是正确的。
利用本系统和方法,电子邮件信函可以被实时或近实时地分类为安全风险或非风险。此类被分类为安全风险的信函可以指示可能导致最有可能对在建项目/资产产生不利或灾难性影响的更大的健康和安全事故的潜在问题的早期迹象。因此,每当本系统主动识别出该安全风险时,本系统使得能够采取(一个或多个)早期行动来有效地减轻该安全风险。
本文中描述或要求保护的任何动作或功能都不是由人类思维执行的。任何动作或功能可以以人类思维执行的解释是与本公开不一致并且相反的。
云或企业实施例
在一个实施例中,安全风险检测系统100是一种计算/数据处理系统,包括用于企业组织的应用或分布式应用的集合。应用和安全风险检测系统100可以被配置为利用基于云的联网系统、软件即服务(SaaS)架构或其他类型的联网计算解决方案进行操作或者被实现为基于云的联网系统、软件即服务(SaaS)架构或其他类型的联网计算解决方案。在一个实施例中,风险检测系统是集中式服务器侧应用,该集中式服务器侧应用至少提供本文中公开的功能,并且由许多用户经由与风险检测系统100(充当服务器)进行通信的计算设备/终端通过计算机网络进行访问。
在一个实施例中,本文中描述的组件中的一个或多个被配置为存储在非暂态计算机可读介质中的程序模块。程序模块被配置有存储的指令,该指令在由至少处理器执行时使计算设备执行如本文中所述的(一个或多个)对应功能。
计算设备实施例
在一个实施例中,图6图示了被配置和/或编程为具有本安全风险预测/检测系统100和本文中描述的方法和/或等同物的一个或多个组件的专用计算设备的计算系统600。
示例计算系统600可以是计算机605,计算机605包括通过总线625可操作地连接的硬件处理器610、存储器615和输入/输出端口620。在一个示例中,计算机605被配置有如参考图1-图4示出和描述的安全风险预测/检测系统100。在不同的示例中,安全风险预测/检测系统100可以用硬件、具有存储的指令的非暂态计算机可读介质、固件和/或其组合来实现。
在一个实施例中,风险预测/检测系统100和/或计算机605是用于执行所描述的动作的手段(例如,结构:硬件、非暂态计算机可读介质、固件)。在一些实施例中,计算设备可以是在云计算系统中操作的服务器、在软件即服务(SaaS)架构中配置的服务器、智能电话、膝上型计算机、平板计算设备等。
风险预测/检测系统100还可以被实现为存储的计算机可执行指令,该存储的计算机可执行指令作为数据640被呈现给计算机605,该数据640被临时存储在存储器615中,然后由处理器610执行。
一般地描述计算机605的示例配置,处理器610可以是各种不同的处理器,包括双微处理器和其他多处理器架构。存储器615可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括例如ROM、PROM、EPROM、EEPROM等。易失性存储器可以包括例如RAM、SRAM、DRAM等。
存储盘635可以经由例如输入/输出(I/O)接口(例如,卡、设备)645和输入/输出端口1020可操作地连接到计算机605。盘635可以是例如磁盘驱动器、固态盘驱动器、软盘驱动器、带驱动器、Zip驱动器、闪存卡、记忆棒等。此外,盘635可以是CD-ROM驱动器、CD-R驱动器、CD-RW驱动器、DVD ROM等。存储器615可以例如存储过程650和/或数据640。盘635和/或存储器615可以存储控制和分配计算机605的资源的操作系统。
计算机605可以经由I/O接口645和输入/输出端口620与输入/输出(I/O)设备交互。处理器610与I/O接口645和端口620之间的通信由输入/输出控制器647管理。输入/输出端口620可以包括例如串行端口、并行端口和USB端口。
计算机605可以在网络环境中操作,并且因此可以经由I/O接口645和/或I/O端口620连接到网络设备655。通过网络设备655,计算机605可以与网络660交互。通过网络660,计算机605可以逻辑连接到远程计算机665。计算机605可以与之交互的网络包括但不限于LAN、WAN和其他网络。
计算机605可以通过I/O端口620从一个或多个输出设备或输入设备发送和接收信息和信号。输出设备包括一个或多个显示器670、打印机672(诸如喷墨、激光或3D打印机)和音频输出设备674(诸如扬声器或耳机)。输入设备包括一个或多个文本输入设备680(诸如键盘)、光标控制器682(诸如鼠标、触摸板或触摸屏)、音频输入设备684(诸如麦克风)、视频输入设备686(诸如视频和静止相机)、或其他输入设备,诸如扫描仪688。输入/输出设备还可以包括盘635、网络设备655等。在一些情况下,计算机605可以由输入或输出设备(诸如文本输入设备680、光标控制器682、音频输入设备684、盘635和网络设备655)所生成或提供的信息或信号来控制。
定义和其他实施例
在另一个实施例中,所描述的方法和/或其等同物可以用可执行应用(独立应用或更大系统的一部分)形式的计算机可执行指令来实现。因此,在一个实施例中,非暂态计算机可读/存储介质被配置为具有存储的算法/可执行应用的计算机可执行指令,该指令在由(一个或多个)机器执行时使该(一个或多个)机器(和/或相关联的组件)执行所述方法。示例机器包括但不限于处理器、计算机、在云计算系统中操作的服务器、在软件即服务(SaaS)架构中配置的服务器、智能电话等。在一个实施例中,计算设备用被配置为执行任何所公开的方法的一个或多个可执行算法来实现。
在一个或多个实施例中,所公开的方法或其等同物由以下任一项执行:被配置为执行所述方法的计算机硬件;或者,存储在非暂态计算机可读介质中的模块中实施的计算机指令,其中该指令被配置为可执行算法,该可执行算法被配置为在由计算设备的至少处理器执行时执行所述方法。
虽然为了简化说明的目的,图中图示的方法被示出和描述为算法的一系列框,但是应该认识到的是,这些方法不受框的顺序的限制。一些框可以按与所示出和描述的不同的顺序发生和/或与其他框同时发生。此外,可以使用比所有图示的框少的框来实现示例方法。框可以被组合或分离成多个动作/组件。此外,附加的和/或替代的方法可以采用未在框中图示的附加动作。
以下包括本文中所采用的所选择用语的定义。定义包括落入用语的范围内并且可以用于实现方案的组件的各种示例和/或形式。示例并不旨在是限制性的。用语的单数和复数形式两者可以在定义之内。
对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示如此描述的(一个或多个)实施例或(一个或多个)示例可以包括特定的特征、结构、特性、性质、元素或限制,但并非每个实施例或示例都必然包括该特定的特征、结构、特性、性质、元素或限制。此外,短语“在一个实施例中”的重复使用不一定指代相同的实施例,但是可以指代相同的实施例。
如本文中所使用的,“数据结构”是计算系统中存储在存储器、存储设备或其他计算机化系统中的数据的组织。数据结构可以是例如数据字段、数据文件、数据阵列、数据记录、数据库、数据表、图、树、链表等中的任何一个。数据结构可以由许多其他数据结构形成以及包含许多其他数据结构(例如,数据库包括许多数据记录)。根据其他实施例,数据结构的其他示例也是可能的。
如本文中所使用的,“计算机可读介质”或“计算机存储介质”是指存储被配置为当被执行时执行所公开的功能中的一个或多个功能的指令和/或数据的非暂态介质。在一些实施例中,数据可以用作指令。计算机可读介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘等。易失性介质可以包括例如半导体存储器、动态存储器等。计算机可读介质的常见形式可以包括但不限于软盘、柔性盘、硬盘、磁带、其他磁性介质、专用集成电路(ASIC)、可编程逻辑器件、紧凑盘(CD)、其他光学介质、随机存取存储器(RAM)、只读存储器(ROM)、存储器芯片或卡、记忆棒、固态存储设备(SSD)、闪存驱动器、以及计算机、处理器或其他电子设备可以利用其工作的其他介质。每种类型的介质如果在一个实施例中被选择用于实现,则可以包括被配置为执行所公开的和/或所要求保护的功能中的一个或多个功能的算法的存储的指令。
如本文中所使用的,“逻辑”表示利用计算机或电气硬件、具有存储的可执行应用或程序模块的指令的非暂态介质和/或这些的组合实现的组件,以执行如本文中公开的任何功能或动作,和/或使得来自另一逻辑、方法和/或系统的功能或动作如本文中所公开的那样被执行。等同的逻辑可以包括固件、利用算法编程的微处理器、离散逻辑(例如,ASIC)、至少一个电路、模拟电路、数字电路、编程的逻辑器件、包含算法的指令的存储器设备等,其中任何一个可以被配置为执行所公开的功能中的一个或多个功能。在一个实施例中,逻辑可以包括被配置为执行所公开的功能中的一个或多个功能的一个或多个门、门的组合、或其他电路组件。在描述多个逻辑的情况下,可以将多个逻辑合并到一个逻辑中。类似地,在描述单个逻辑的情况下,可以在多个逻辑之间分配该单个逻辑。在一个实施例中,这些逻辑中的一个或多个是与执行所公开的和/或所要求保护的功能相关联的对应结构。实现哪种类型的逻辑的选择可以基于期望的系统条件或规范。例如,如果考虑更高的速度,则将选择硬件来实现功能。如果考虑更低的成本,则将选择存储的指令/可执行应用来实现功能。
“可操作的连接”或实体通过其“可操作地连接”的连接是可以在其中发送和/或接收信号、物理通信和/或逻辑通信的连接。可操作的连接可以包括物理接口、电气接口和/或数据接口。可操作的连接可以包括足以允许可操作的控制的接口和/或连接的不同组合。例如,两个实体可以可操作地连接,以直接或者通过一个或多个中间实体(例如,处理器、操作系统、逻辑、非暂态计算机可读介质)彼此传送信号。逻辑通信信道和/或物理通信信道可以被用于创建可操作的连接。
如本文中所使用的,“用户”包括但不限于一个或多个人、计算机或其他设备、或者这些的组合。
虽然已经相当详细地图示和描述了所公开的实施例,但并不旨在将所附权利要求的范围限制或以任何方式限定到这样的细节。当然,不可能为了描述主题的各个方面的目的而描述组件或方法的每种可设想的组合。因此,本公开不限于所示出和描述的特定细节或说明性示例。因此,本公开旨在包含落入所附权利要求的范围内的变更、修改和变化。
就用语“包含”或“含有”在具体实施方式或权利要求书中被采用的程度而言,它旨在以类似于当用语“包括”作为过渡词在权利要求中被采用时所解释的方式是包含性的。
就用语“或”在具体实施方式或权利要求书中被使用的程度而言(例如,A或B),其旨在意味着“A或B或两者”。当申请人旨在指示“仅A或B但不是两者”时,则将使用短语“仅A或B但不是两者”。因此,用语“或”在本文中的使用是包含性的,而不是排他性使用。
Claims (15)
1.一种由至少一个计算设备执行的计算机实现的方法,所述方法包括:
监视网络上的电子邮件通信以识别电子邮件;
响应于接收网络上的电子邮件,检测电子邮件并将电子邮件识别为与建设项目相关联;
将来自电子邮件的文本分词为多个词语;
将所述多个词语中的每个词语向量化为将每个词语映射到数值的数值向量;
发起机器学习分类器,并将从电子邮件生成的数值向量输入到机器学习分类器中,所述机器学习分类器被配置为识别建设术语并且被配置为利用风险将文本分类为涉及安全风险或非风险;
其中机器学习分类器通过至少将数值向量与定义的安全风险词汇的集合和定义的非风险词汇的集合对应来处理来自电子邮件的数值向量;
通过机器学习分类器生成电子邮件包括涉及安全风险的词汇的概率风险值;
至少部分地基于电子邮件涉及安全风险的概率风险值将电子邮件标记为安全风险或非风险;以及
响应于电子邮件被标记为涉及安全风险,生成并向远程设备传输电子通知以提供警报。
2.根据权利要求1所述的方法,
其中机器学习分类器包括集成分类器,所述集成分类器包括多个独立机器学习分类器;以及
其中每个独立机器学习分类器被配置为识别建设术语;
所述方法还包括:
由每个独立机器学习分类器生成将电子邮件分类为涉及安全风险或非风险的输出;以及
至少部分地基于多数投票来组合来自每个独立机器学习分类器的输出以生成电子邮件为涉及安全风险或非风险的标记。
3.根据权利要求1至2中的任一项所述的方法,还包括:
发起第二机器学习分类器和第三机器学习分类器,第二机器学习分类器和第三机器学习分类器两者被配置为识别建设术语并利用预测将文本分类为安全风险或非风险,其中每个机器学习分类器是利用彼此不同的理论背景实现的以避免分类期间的偏差和冗余;
由每个机器学习分类器生成指示电子邮件涉及安全风险还是非风险的单独预测,以至少产生三个单独预测;以及
基于所述三个单独预测的多数投票将电子邮件标记为涉及安全风险或非风险。
4.根据权利要求1至3中的任一项所述的方法,还包括:
生成电子通知以包括电子邮件的标识和将电子邮件指示为安全风险或非风险的标记;
提供用户界面以允许输入来验证标记并改变标记;以及
响应于经由用户界面改变标记,将改变的标记和对应的电子邮件反馈给机器学习分类器以重新训练机器学习分类器。
5.根据权利要求1至4中的任一项所述的方法,还包括:
从建设项目用语的词汇表或数据库将建设术语输入到机器学习分类器;以及
至少部分地基于具有与安全风险相关联或涉及安全风险的已知文本的信函的第一数据集和具有不涉及健康和安全风险的已知非风险文本的信函的第二数据集来训练机器学习分类器识别安全风险文本。
6.根据权利要求1至5中的任一项所述的方法,其中:
通过至少与由机器学习分类器实现的建设术语的经训练的数据集相关地评估来自电子邮件的文本来检测电子邮件并将电子邮件识别为与建设项目相关联。
7.一种计算系统,包括:
至少一个处理器,被配置为执行指令;
至少一个存储器,可操作地连接到所述至少一个处理器;
机器学习分类器,被配置为识别建设术语并利用风险将文本分类为安全风险或非风险;
非暂态计算机可读介质,包括存储在其上的计算机可执行指令,所述计算机可执行指令在由所述至少一个处理器执行时使得计算设备:
监视网络上的电子邮件通信以识别传输的电子邮件;
响应于接收网络上的电子邮件,检测电子邮件并将电子邮件识别为与建设项目相关联;
将来自电子邮件的文本分词为多个词语;
将从电子邮件生成的所述多个词语输入到机器学习分类器中;
其中机器学习分类器被配置为通过至少将所述多个词语与定义的安全风险词汇的集合和定义的非风险词汇的集合对应来评估来自电子邮件的所述多个词语;
通过机器学习分类器生成电子邮件包括涉及安全风险的文本的概率风险值;
至少部分地基于电子邮件包括涉及安全风险的文本的概率风险值将电子邮件标记为安全风险或非风险;以及
响应于电子邮件被标记为安全风险,生成并向远程设备传输电子通知,以与接收网络上的电子邮件相关地近实时地提供警报。
8.根据权利要求7所述的计算系统,其中机器学习分类器包括集成分类器,所述集成分类器包括多个独立机器学习分类器;
其中每个独立机器学习分类器被配置为识别建设术语;
其中每个独立机器学习分类器被配置为生成将电子邮件分类为安全风险或非风险的输出;以及
其中集成分类器被配置为至少部分地基于多数投票来组合来自每个独立机器学习分类器的输出,以生成电子邮件为安全风险或非风险的标记。
9.根据权利要求7或8中的任一项所述的计算系统,其中机器学习分类器至少包括第一机器学习分类器、第二机器学习分类器和第三机器学习分类器;
其中机器学习分类器中的每个机器学习分类器被配置为识别建设术语并利用预测将文本分类为安全风险或非风险;
其中每个机器学习分类器是利用彼此不同的理论背景实现的以避免分类期间的偏差和冗余,
其中机器学习分类器中的每个机器学习分类器被配置为生成电子邮件是安全风险还是非风险的单独预测,以至少产生三个单独预测;以及
其中计算系统被配置为基于所述三个单独预测的多数投票将电子邮件标记为安全风险或非风险。
10.根据权利要求7至9中的任一项所述的计算系统,还包括在由所述至少一个处理器执行时使得处理器执行以下操作的指令:
向远程设备传输电子通知,所述电子通知包括电子邮件的标识和将电子邮件指示为安全风险或非风险的标记;
提供用户界面以允许输入来验证标记并改变标记;以及
响应于经由用户界面改变标记,将改变的标记和对应的电子邮件反馈给机器学习分类器以重新训练机器学习分类器。
11.根据权利要求7至10中的任一项所述的计算系统,还包括在由所述至少一个处理器执行时使得处理器执行以下操作的指令:
(i)利用具有涉及健康和安全问题的已知文本的信函的第一数据集来训练机器学习分类器识别安全风险文本,以及(ii)利用具有不涉及健康和安全问题的已知非风险文本的信函的第二数据集来训练机器学习分类器识别非风险文本。
12.一种非暂态计算机可读介质,包括存储在其上的计算机可执行指令,所述计算机可执行指令在由至少计算机的处理器执行时使得计算机:
监视网络上的电子邮件通信以识别与目标领域相关联的电子邮件;
发起机器学习分类器,所述机器学习分类器被配置为利用风险将来自电子邮件的文本分类为与安全风险相关或与非风险相关;
通过机器学习分类器生成电子邮件包括涉及安全风险的文本的概率风险值;
通过机器学习分类器至少部分地基于指示电子邮件涉及安全风险的概率风险值将电子邮件标记为安全风险或非风险;以及
响应于电子邮件被标记为涉及安全风险,生成并向远程设备传输电子通知以提供警报。
13.根据权利要求12所述的非暂态计算机可读介质,其中机器学习分类器包括集成分类器,所述集成分类器包括多个独立机器学习分类器;
其中每个独立机器学习分类器被配置为识别来自目标领域的术语;
其中每个独立机器学习分类器生成对包括涉及安全风险或非风险的词汇的电子邮件进行分类的输出;以及
其中至少部分地基于多数投票来组合来自每个独立机器学习分类器的输出,以生成电子邮件为涉及安全风险或非风险的标记。
14.根据权利要求12或13中的任一项所述的非暂态计算机可读介质,还包括在由至少处理器执行时使得处理器执行以下操作的指令:
从建设项目用语的词汇表或数据库将建设术语输入到机器学习分类器,其中目标领域与建设相关联;以及
(i)利用具有涉及健康和安全问题的已知文本的信函的第一数据集来训练机器学习分类器识别安全风险文本,以及(ii)利用具有不涉及健康和安全问题的已知非风险文本的信函的第二数据集来训练机器学习分类器识别非风险文本。
15.根据权利要求12至14中的任一项所述的非暂态计算机可读介质,还包括在由至少处理器执行时使得处理器执行以下操作的指令:
通过至少与由机器学习分类器实现的术语的经训练的数据集相关地评估来自电子邮件的文本来检测电子邮件并将电子邮件识别为与目标领域相关联;
其中术语的经训练的数据集基于与目标领域相关联的术语。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/245,029 | 2021-09-16 | ||
US17/512,150 | 2021-10-27 | ||
US17/512,150 US11803797B2 (en) | 2020-09-11 | 2021-10-27 | Machine learning model to identify and predict health and safety risks in electronic communications |
PCT/US2022/043570 WO2023043864A1 (en) | 2021-09-16 | 2022-09-15 | Machine learning model to identify and predict health and safety risks in electronic communications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117897699A true CN117897699A (zh) | 2024-04-16 |
Family
ID=90649312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280058476.3A Pending CN117897699A (zh) | 2021-09-16 | 2022-09-15 | 用于识别和预测电子通信中的健康和安全风险的机器学习模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117897699A (zh) |
-
2022
- 2022-09-15 CN CN202280058476.3A patent/CN117897699A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11475143B2 (en) | Sensitive data classification | |
US20200250139A1 (en) | Methods, personal data analysis system for sensitive personal information detection, linking and purposes of personal data usage prediction | |
CN109657947B (zh) | 一种面向企业行业分类的异常检测方法 | |
US7606784B2 (en) | Uncertainty management in a decision-making system | |
US10089581B2 (en) | Data driven classification and data quality checking system | |
US11481734B2 (en) | Machine learning model for predicting litigation risk on construction and engineering projects | |
US11615361B2 (en) | Machine learning model for predicting litigation risk in correspondence and identifying severity levels | |
US11509689B2 (en) | Systems and methods for intelligent phishing threat detection and phishing threat remediation in a cyber security threat detection and mitigation platform | |
US10083403B2 (en) | Data driven classification and data quality checking method | |
Dendek et al. | Evaluation of features for author name disambiguation using linear support vector machines | |
Dikshitha Vani et al. | Hate speech and offensive content identification in multiple languages using machine learning algorithms | |
US20230244987A1 (en) | Accelerated data labeling with automated data profiling for training machine learning predictive models | |
Demestichas et al. | An advanced abnormal behavior detection engine embedding autoencoders for the investigation of financial transactions | |
CN117897699A (zh) | 用于识别和预测电子通信中的健康和安全风险的机器学习模型 | |
US11803797B2 (en) | Machine learning model to identify and predict health and safety risks in electronic communications | |
Rafatirad et al. | Machine learning for computer scientists and data analysts | |
HUANG et al. | Cyberbullying detection on social media | |
Triyono et al. | Fake News Detection in Indonesian Popular News Portal Using Machine Learning For Visual Impairment | |
He et al. | A novel bias-alleviated hybrid ensemble model based on over-sampling and post-processing for fair classification | |
Saeed | A Method for SMS Spam Message Detection Using Machine Learning | |
Jayaramulu et al. | DLOT-Net: A Deep Learning Tool For Outlier Identification | |
Tiwari et al. | Terrorism And Fake News Detection | |
Olayiwola et al. | Comparative Analysis of Machine Learning Models for Detection of Fake News: A Case Study of Covid-19 | |
Khanneh | SecREP: A Framework for Automating the Extraction and Prioritization of Security Requirements Using Machine Learning and NLP Techniques | |
Boka | Predicting Fake Job Posts Using Machine Learning Models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |