一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

安全领域实体识别方法、装置及电子设备与流程

2022-02-21 11:11:18 来源:中国专利 TAG:


1.本发明涉及信息安全领域,尤其涉及一种安全领域实体识别方法、装置及电子设备。


背景技术:

2.随着网络环境日趋复杂,网络攻击事件日益增多,为应对这些网络攻击事件,相关部门发布了大量的网络威胁情报,通过对这些实时发布的威胁情报进行分析、整理,有助于提前了解相关安全系统的各方面漏洞以及追踪漏洞线索等,从而确保网络空间的安全性。
3.为了从海量的网络威胁情报中抽取出安全系统可读的结构化安全信息,需要应用实体识别技术(entity recognition,er)、图谱可视化技术、知识推理技术等,其中,实体识别技术是一种对非结构化文本中记录的特定实体数据进行分析、识别的信息提取技术,旨在获取网络威胁情报中被记录的威胁实体,如,攻击者、攻击模式、ip、域名等。
4.相关技术中,常常基于机器学习的方法,针对特定的网络威胁情报文本进行分词、分句等操作,从而获得大量的实体训练数据,再根据大量的实体训练数据,对预设的实体识别模型进行迭代训练,从而基于训练完成的实体识别模型,从待识别的威胁情报文本中提取出相应的实体数据。
5.然而,网络威胁情报文本具有结构多变的特点,在一些特殊情况下,针对网络威胁情报文本进行分词、分句后,获得的实体训练数据中,可能会出现无效字符、无效拼接等情况,导致这种方式下,训练得到的实体识别模型的识别准确度较低。


技术实现要素:

6.本技术实施例提供一种安全领域实体识别方法、装置、电子设备及存储介质,用于提高安全领域实体识别的准确率。
7.第一方面,本技术实施例提供了一种安全领域实体识别方法,包括:
8.获取待处理的威胁情报文本,并基于预设的文本修正模型,对威胁情报文本进行文本特征提取,获得威胁情报文本的文本特征。
9.基于获得的文本特征,从威胁情报文本中,确定相应的目标待修正字符。
10.对目标待修正字符进行修正处理,获得相应的修正情报文本。
11.利用预设的多任务实体识别模型,对修正情报文本进行实体识别,获得相应的实体识别结果。
12.第二方面,本技术实施例还提供了一种安全领域实体识别装置,包括:
13.获取模块,用于获取待处理的威胁情报文本,并基于预设的文本修正模型,对威胁情报文本进行文本特征提取,获得威胁情报文本的文本特征。
14.确定模块,用于基于获得的文本特征,从威胁情报文本中,确定相应的目标待修正字符。
15.修正模块,用于对目标待修正字符进行修正处理,获得相应的修正情报文本。
16.实体识别模块,用于利用预设的多任务实体识别模型,对修正情报文本进行实体识别,获得相应的实体识别结果。
17.在一种可选的实施例中,在获取待处理的威胁情报文本之前,获取模块还用于:
18.获取携带修正标注的第一训练数据,其中,修正标注至少包括:文本修正标注及修正类型标注。
19.基于预设的词典库及扩充规则库,对携带修正标注的第一训练数据进行数据扩充,获得相应的携带修正标注第一训练扩充数据。
20.采用第一扩充训练数据对文本修正模型进行训练,直至达到第一训练结束条件。
21.在一种可选的实施例中,在获取携带修正标注的第一训练数据时,获取模块具体用于:
22.获取非结构化的威胁情报数据。
23.基于预设的情报解析算法,对非结构化的威胁情报数据进行文本解析,获得相应的情报文本数据。
24.基于预设的清洗规则,对情报文本数据进行数据清洗,并对清洗后的情报文本数据进行分词、分句处理,获得相应的第一训练数据。
25.基于预设的标注规则库,对第一训练数据中包含的指定实体词进行修正标注,获得携带修正标注的第一训练数据,其中,修正标注至少包括:文本修正标注及修正类型标注。
26.在一种可选的实施例中,在获取待处理的威胁情报文本之前,获取模块还用于:
27.获取针对多任务实体识别模型的第二训练数据。
28.利用训练结束的文本修正模型,对第二训练数据进行修正处理,获得修正后的第二训练数据。
29.基于预设的词典库及实体规则库,对修正后的第二训练数据进行实体标注,获得相应的携带实体标注的第二训练数据,其中,实体标注包括:实体位置标注及实体类型标注。
30.采用携带实体标注的第二训练数据对多任务实体识别模型进行训练,直至达到第二训练结束条件。
31.在一种可选的实施例中,在采用携带实体标注的第二训练数据对多任务实体识别模型进行训练,直至达到第二训练结束条件之后,获取模块还用于:
32.获取未携带实体标注的第二训练数据。
33.利用多任务实体识别模型,对第二训练数据进行实体预测,获得相应的实体预测结果,其中,实体预测结果包含至少一个实体词及每个实体词相应的置信度分值。
34.基于预设的词典库及实体规则库,对获得的实体预测结果进行修正,获得相应的修正实体预测结果。
35.基于修正实体预测结果,对未携带实体标注的第二训练数据进行实体标注,获得新增携带实体标注的第二训练数据。
36.采用新增携带实体标注的第二训练数据继续对多任务实体识别模型进行训练,直至达到第三训练结束条件。
37.在一种可选的实施例中,修正实体预测结果包含至少一个与预设的词典库及实体
规则库匹配的候选实体词,以及每个候选实体词相应的置信度分值,则在基于修正实体预测结果,对未携带实体标注的第二训练数据进行实体标注时,获取模块具体用于:
38.基于预设的目标置信度分值阈值,选取相应数目的候选实体词作为目标实体词。
39.根据获得的各个目标实体词,对未携带实体标注的第二训练数据进行实体标注。
40.在一种可选的实施例中,在基于预设的词典库及实体规则库,对获得的实体预测结果进行修正,获得相应的修正实体预测结果之后,获取模块还用于:
41.基于预设的词典库及实体规则库,对多任务实体识别模型获得的实体预测结果进行筛选,获得相应的至少一个未记录实体词及每个未记录实体词对应的置信度分值。
42.基于预设的补充置信度分值阈值,选取相应数目的未记录实体值作为补充实体词,并根据获得的各个补充实体词,对词典库及实体规则库进行更新。
43.在一种可选的实施例中,在利用预设的多任务实体识别模型,对修正情报文本进行实体识别,获得相应的实体识别结果之后,实体识别模块还用于:
44.基于预设的词典库及实体规则库,对获得的实体识别结果进行修正,获得相应的目标实体识别结果。
45.第三方面,本技术实施例还提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面中的任一种安全领域实体识别方法。
46.第二方面至第三方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
47.本技术实施例提出的安全领域实体识别方法,基于预设的文本修正模型,从待处理的威胁情报文本中提取出相应的文本特征,并根据提取出的文本特征,确定威胁情报文本中包含的目标待修正字符,通过对获得的目标待修字符进行修正,获得相应的修正情报文本,从而对该修正情报文本进行实体识别,一方面,本技术实施例在实体识别的过程中,基于文本修正模型对威胁情报文本作出的修正处理,确保了威胁情报文本的信息完整性及精确性,从而有效提高了实体识别的准确率,另一方面,在多任务实体识别模型的训练过程中,也采用了文本修正模型,针对每次多任务实体识别模型训练时采用的第二训练数据,进行相应修正处理,这一方式提高了每次训练语料的完整性及精确性,从而提高了多任务实体识别模型的识别准确度,进一步,使得安全领域实体识别的准确率得到显著提高。
附图说明
48.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1为本技术实施例提供的一种计算机终端架构图;
50.图2为本技术实施例提供的训练文本修正模型流程图;
51.图3为本技术实施例提供的获取第一训练数据的流程图;
52.图4为本技术实施例提供的训练多任务实体识别模型流程图;
53.图5为本技术实施例提供的继续对多任务实体识别模型进行训练的流程图;
54.图6为本技术实施例提供的词典库及实体规则库更新的流程图;
55.图7为本技术实施例提供的一种安全领域实体识别方法的流程图;
56.图8为本技术实施例提供的一种实体识别系统的训练流程图;
57.图9为本技术实施例提供的一种安全领域实体识别装置示意图;
58.图10为本技术实施例提供的一种电子设备的示意图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.为解决因实体训练数据中出现无效字符、无效拼接等情况,而造成的实体识别模型的识别准确度低的问题,本技术实施例提供了一种安全领域实体识别方法、装置、电子设备及存储介质,采用预设的文本修正模型,针对待处理的威胁情报文本中包含的目标待修正字符,进行相应修正处理,从而获得对应的修正情报文本,并采用预设的多任务实体识别模型,对获得的修正情报文本进行实体识别,获得对应的实体识别结果,一方面,在实体识别的过程中,基于文本修正模型对威胁情报文本作出的修正处理,确保了威胁情报文本的信息完整性及精确性,从而有效提高了实体识别的准确率,另一方面,在多任务实体识别模型的训练过程中,也采用了文本修正模型,针对每次多任务实体识别模型训练时采用的第二训练数据,进行相应修正处理,这一方式提高了每次训练语料的完整性及精确性,从而提高了多任务实体识别模型的识别准确度,进一步,使得安全领域实体识别的准确率得到显著提高。
61.为便于理解,首先对本技术实施例进行描述的过程中出现的部分名词或术语作如下解释:
62.实体识别(entity recognition,er):对非结构化文本中包含的具有特定意义或感兴趣的实体进行识别、提取。例如,在安全领域中,常常用于对相关网络安全情报中包含的攻击者、受害者、攻击模型、漏洞、ip、域名等进行相应识别。
63.多任务学习(multitask learning,ml):一种基于共享表示(shared representation,sr),把多个相关任务放在一起学习的一种机器学习方法。
64.弱监督学习(weak supervised learning,wsl):一种使用有限的、含有噪声的或者标注不准确的数据来进行模型参数训练的机器学习方法。
65.安全威胁报告(security threat report,str):指收集、评估和应用关于安全威胁、威胁者、攻击利用、恶意软件、漏洞通告等数据集合所形成的报告。
66.非结构化数据(unstructured data,ud):指不能或不方便用数据库二维逻辑表来表现的数据,例如,所有格式的文本、图片、xml、html、各类报表、图像和音频/视频信息等。
67.基于上述名词或术语解释,下面结合附图,对本技术实施例提供的安全领域实体识别方法作出进一步阐述、说明。
68.参阅图1所示,本技术实施例提供的安全领域实体识别方法可以在移动终端、计算机终端或者类似的运算设备中执行,以计算机终端100为例,该计算机终端100的部件包括
但不限于存储器110及处理器120,且存储器110与处理器120之间通过总线130连接。计算机设备100还可包括通信装置140,其中,通信装置140用于与一个或多个网络数据库150之间分别建立相应的通信连接,基于该通信连接,计算机设备100可以从相应的一个或多个网络数据库150中,获取相应的网络威胁情报数据。上述通信连接包括且不限于:共用交换电话网(pstn)、局域网(lan)、广域网(wan)等。
69.基于上述计算机终端100架构,本技术实施例中,参阅图2所示,在获取待处理的威胁情报文本之前,通过获取各个网络数据库150中保存的非结构化威胁情报数据,对预设的文本修正模型进行迭代训练,包括:
70.步骤201:获取携带修正标注的第一训练数据,其中,修正标注至少包括:文本修正标注及修正类型标注。
71.为了在安全领域内对文本修正模型进行有效训练,需要获得字符完整、语序无误的顺滑语句和字符冗余/缺失、语序颠倒的非顺滑语句,作为文本修正模型的训练语料。
72.例如,在实际场景中,威胁情报数据可以来源于网页、微博、pdf文件,word文件等,可选的,对这些威胁情报数据进行分析、处理,抽取出相应的第一训练数据并附加修正标注。
73.可选的,参阅图3所示,本技术实施例提供了一种第一训练数据的获取方法,包括:
74.步骤2011:获取非结构化的威胁情报数据。
75.具体的,由于威胁情报数据具有及时性、碎片性的特点,因此,为满足文本修正模型的训练数据量需求,需要尽可能的从多个情报数据来源中获取相应的威胁情报数据。
76.例如,可以通过网页爬虫的方式从相应的安全网页中,获取诸如html格式的威胁情报数据,也可基于api接口等,从相应的安全系统中,获取诸如pdf格式的威胁情报数据,类似方式不再赘述,假设获得的威胁情报数据如下表1所示:
77.表1
78.情报数据1_html情报数据2_pdf情报数据3_txt
79.步骤2012:基于预设的情报解析算法,对非结构化的威胁情报数据进行文本解析,获得相应的情报文本数据。
80.具体的,在获得的上述威胁情报数据中,可能包含有图片、表格等不便于读取的文本格式,则针对上述步骤中,数据格式不同的威胁情报数据,分别采用相应的文本解析工具,将其数据格式统一为纯文本格式(plain text document,ptd),如下表2所示:
81.表2
82.情报数据1_ptd情报数据2_ptd情报数据3_ptd
83.步骤2013:基于预设的清洗规则,对情报文本数据进行数据清洗,并对清洗后的情报文本数据进行分词、分句处理,获得相应的第一训练数据。
84.具体的,当基于上述步骤进行文本解析后,相应的情报文本数据中,可能会出现无效字符、连字符等,则进一步的,根据预设的清洗规则,对获得的情报文本数据进行数据清
洗,从而确保情报文本数据的可用性,本技术实施例中,清洗规则如下表3所示:
85.表3
[0086][0087]
进一步的,基于上述清洗规则,对获得的情报文本数据进行数据清洗之后,根据各个情报文本数据中的指定符号(如,句号、感叹号、问号等),对清洗后的纯文本格式的威胁情报数据进行分词、分句处理,将获得的各个语句作为相应的第一训练数据。
[0088]
步骤2014:基于预设的标注规则库,对第一训练数据中包含的指定实体词进行修正标注,获得携带修正标注的第一训练数据。
[0089]
具体的,基于上述步骤获得第一训练数据之后,为了对本技术实施例中,应用于安全领域的文本修正模型进行有效训练,还需对第一训练数据进行相应的修正标注,本技术实施例中,基于预设的标注规则,对第一训练数据中包含的指定实体词进行修正标注。
[0090]
例如,本技术实施例中,相应的标注规则如下所示:
[0091]
标注规则1:针对连续的冠词、连续且重复的词,将其修正类型标记为r,文本修正标记为1(the a file
‑‑
》存在连续冠词,在其一上标注为r,这个句子标记为1)。
[0092]
标注规则2:句子中有动词,但无宾语,将其修正类型标记为d,文本修正标记为1(the file creates
‑‑
》creates后缺少宾语,在其上标注为d,这个句子标记为1)。
[0093]
标注规则3:若没有命中上述标注规则1或标注规则2,则将其修正类型标记为o,文本修正标记为0。
[0094]
可选的,还可基于安全专家的专业知识,对相应的第一训练数据逐一进行文本修正标注和修正类型标注。
[0095]
进一步的,本技术实施例中,为帮助文本修正模型快速、准确地学习到实体识别的有效特征,采用了多任务学习方法,对文本修正模型进行了交叉训练。这即是表示,在本技术实施例中,安全领域的文本修正模型既需要确定当前所读语句是否为需要修正的语句,同时,还需要确定待修正的语句中包含的目标待修正字符,因此,在步骤2014中,对第一训练数据的修正标注至少包括:判断当前文本是否需要修正的文本修正标注,以及对待修正文本中包含的目标待修正字符进行相关类型判断的修正类型标注,参阅下表4所示,相应的各个修正标注表示如下:
[0096]
表4
[0097][0098]
例如,假设当前语句为“the malware drops a file”,该语句为不需要修正的顺滑语句,则相应的,将该语句的文本修正标注设置为0,以及各个非目标修正字符的修正类型标注为o,即该语句携带修正标注“(0,ooooo)”,为便于理解,若当前语句为需要进行修正的不顺滑语句,给出如下示例,参阅表5所示:
[0099]
表5
[0100][0101]
步骤202:基于预设的词典库及扩充规则库,对携带修正标注的第一训练数据进行数据扩充,获得相应的携带修正标注的第一训练扩充数据。
[0102]
具体的,考虑到针对文本修正模型的训练数据量,需要基于预设的词典库及实体规则库,对获得的携带修正标注的第一训练数据进行数据扩充,换言之,需要根据上述获得的携带修正标注的第一训练数据中,不需要修正的顺滑语句进行相应处理,获得相似的其他顺滑语句或不顺滑语句,作为相应的携带修正标注的第一训练扩充数据,具体的,包含以下两种情况:
[0103]
第一方面,若数据扩充方式为:针对当前读取的顺滑语句,获得其他相似的顺滑语句,则可选的,采用同义字符替换的方式,进行相应的数据扩充。
[0104]
具体的,采用预设的词典库,锁定当前读取的顺滑语句中的指定实体词作为该语句的核心词,并将该语句中的其他未锁定的词作为非核心词,针对锁定的核心词,从词典库中选取同类型的其他实体词进行替换,而针对未锁定的非核心词,则从词典库中选取相应的一个同义词进行替换。这样,基于词典库的锁定结果,从当前读取的顺滑语句中,随机选取m个词,分别进行相应替换。
[0105]
例如,假设当前读取的顺滑语句为“the malware drops a file”,且根据预设的词典库,锁定其中的核心词为“malware”,并确定其他词均为非核心词,若随机选取了其中两个词“malware”及“drops”,则针对核心词“malware”,采用词典库中的同类型其他实体词“virus”进行替换,而针对非核心词“drops”,采用同义词“creates”,则根据当前读取语句“the malware drops a file”,可以获得相应的顺滑语句“the virus creates a file”等。
[0106]
第二方面,若数据扩充方式为:针对当前读取的顺滑语句,获得其他相似的非顺滑语句,则可选的,针对上述三种修正类型,分别对当前读取的顺滑语句进行字符插入、字符
删除等操作。
[0107]
具体的,考虑到上表5中,针对不顺滑语句的三种修正类型,分别对当前读取的顺滑语句,按照相应的非顺滑数据扩充规则进行处理,参阅下表6所示:
[0108]
表6
[0109][0110]
值得注意的是,上述三种修正类型在同一非顺滑语句中,既可以单独存在,也可以同时存在。
[0111]
例如,假设当前读取的顺滑语句为“the malware drops a file”,在词典库中随机选取出字符“the”,插入到该顺滑语句的随机位置中,形如“the the malware drops a file”,同理,基于上述非顺滑数据扩充规则,获得相应的其他非顺滑语句,如“the malware drops”,“the malware drops a file exe file executation”等,在此不再赘述。
[0112]
基于上述步骤,能够有效扩充获得的第一训练数据的数据量,从而进一步确保了文本修正模型的修正准确性。
[0113]
步骤203:采用第一扩充训练数据对文本修正模型进行训练,直至达到第一训练结束条件。
[0114]
具体的,由于本技术实施例中,采用了多任务文本修正模型,因此,在对该多任务文本修正模型进行训练时,首先需要针对获取到的第一扩充训练数据中,包含的各个训练语句,分别采用预设的预训练语言模型进行特征提取,获得各个训练语句各自的向量表示;再根据上述文本修正模型的每个任务,分别设置相应的解码层,对获得的各个向量表示进行解码,从而确定各个训练语句各自对应的修正标注。重复上述步骤,对文本修正模型进行迭代训练,直到文本修正模型的修正准确率达到预设的修正阈值。
[0115]
例如,针对本技术实施例中,既进行文本修正标注,又进行修正类型标注的文本修正模型,首先,采用bert预训练语言模型对获取到的当前训练语句进行特征提取,获得当前训练语句的向量表征;接着,一方面,基于设置的全连接网络,对当前训练语句进行文本修正与否的判断,并根据判断结果,进行相应的文本修正标注,另一方面,还基于设置的序列标记模型(crf),对当前训练语句进行相应的修正类型标注;最后,根据获得的文本修正标注以及修正类型标注,确定当前训练语句对应的修正标注。
[0116]
基于上述步骤,对文本修正模型进行大量训练,从而根据训练结束的文本修正模型,对待处理的威胁情报文本进行相应特征提取,从而根据提取出的文本特征,确定相应的目标待修正字符以及对目标待修正字符进行修正,避免了因威胁情报文本中出现无效字符、无效拼接等现象,导致实体识别的准确率不高的问题。
[0117]
此外,在本技术实施例中,采用多任务学习方法,对文本修正模型进行训练,这一方式既帮助了文本修正模型能够学习到更丰富的文本信息,同时,也进一步提高了文本修正模型的修正准确率。
[0118]
进一步的,基于上述方式对文本修正模型进行模型训练后,参阅图4所示,采用以下方式,对多任务实体识别模型进行模型训练,包括:
[0119]
步骤401:获取针对实体识别模型的第二训练数据。
[0120]
具体的,采用文本解析后,获得的情报文本数据,作为针对实体识别模型的第二训练数据。
[0121]
例如,基于网页爬虫、api接口等方式,获得非结构化的威胁情报数据,并采用对应的文本解析方式,获得相应的情报文本数据,该情报文本数据即可作为针对实体识别模型的第二训练数据。
[0122]
步骤402:利用训练结束的文本修正模型,对第二训练数据进行修正处理,获得修正后的第二训练数据。
[0123]
具体的,采用上述步骤中,训练结束的文本修正模型,对获得的第二训练数据进行修正处理,以确保针对多任务实体识别模型的训练语料的完整性与准确性,从而提高多任务实体识别模型的识别准确度。
[0124]
步骤403:基于预设的词典库及实体规则库,对修正后的第二训练数据进行实体标注,获得相应的携带实体标注的第二训练数据。
[0125]
可选的,本技术实施例中,词典库的构建来自专家的日常积累、一些相关标准的开放词汇表(如stix(structured threat information expression)、maec(malware attribute enumeration and characterization)等)以及领域内海量语料的挖掘。实体规则库则是根据目标实体数据的结构类型、上下文搭配类型进行人工构建,如ip、域名、url等实体可通过对应的正则表达式在文本中进行匹配得到,又如函数实体可通过“xx function”或“call xx”等搭配规则进行匹配得到。
[0126]
基于同一构思,本技术实施例中,采用多任务学习方法,对多任务实体识别模型进行训练,以帮助多任务实体识别模型能够学习到更丰富的实体特征。同时,基于预设的词典库及实体规则库,对修正后的第二训练数据进行实体标注。本技术实施例里中,针对多任务实体识别模型的实体标注至少包括:实体位置标注及实体类型标注,即表示多任务实体识别模型既执行对实体出现的位置信息进行识别的任务,还执行对第二训练数据中出现的实体类型进行识别的任务。
[0127]
进一步的,本技术实施例中,采用预设的词典库及实体规则库对修正后的第二训练数据进行实体标注,其中,在嵌套类型实体的情况下,优先进行长词匹配。例如,若修正后的第二训练数据表示为“利用鱼叉式钓鱼攻击”,则基于词典库,确定出两个嵌套实体“鱼叉式钓鱼攻击”及“钓鱼攻击”,在这一情况下,优先对“鱼叉式钓鱼攻击”进行实体标注。同时,采用预设的实体规则库,对修正后的第二训练数据进行正则匹配,并基于匹配出的目标规则进行相应的实体标注,从而获得相应的携带实体标注的第二训练数据。
[0128]
例如,参阅下表7所示,假设当前读取的第二训练数据为“havex is a newly discovered remote access trojan used by dragonfly”,且本技术实施例中,相应的各个实体标注规则表示如下:
[0129]
表7
[0130][0131]
则基于上述实体标注规则,对当前读取的第二训练数据进行实体标注,形如“s o o o o b i i o o s”及“s-m o o o o b-t i-t i-t o o s-a”。
[0132]
步骤404:采用携带实体标注的第二训练数据对多任务实体识别模型进行训练,直至达到第二训练结束条件。
[0133]
具体的,将获取的携带实体标注的第二训练数据作为多任务实体识别模型的初始训练语料,依次对多任务实体识别模型进行大量训练,直到多任务实体识别模型收敛。例如,本技术实施例中,在模型训练的同时,通过计算多任务实体识别模型的总体交叉熵损失,调整相应的模型参数,从而使多任务实体识别模型进行收敛。
[0134]
进一步的,在多任务实体识别模型的训练过程中,为达到模型收敛,需要利用大量的携带实体标注的第二训练数据,为减少实体标注带来的数据量,以及进一步提升多任务实体识别模型的识别准确度,参阅图5所示,在基于上述步骤,对多任务实体识别模型进行训练后,还包括:
[0135]
步骤501:获取未携带实体标注的第二训练数据。
[0136]
具体的,在基于采集到的威胁情报数据,获得相应的情报文本数据后,从中选取相应数目的情报文本数据,并基于训练结束的文本修正模型进行修正处理后,将这部分情报文本数据作为第二训练数据。
[0137]
步骤502:利用多任务实体识别模型,对第二训练数据进行实体预测,获得相应的实体预测结果。
[0138]
具体的,利用上述步骤404中,模型收敛的多任务实体识别模型对获取的未携带实体标注的第二训练数据进行实体预测,获取当前读取的第二训练数据中包含的至少一个实体词及每个实体词相应的置信度分值。
[0139]
例如,假设当前输入多任务实体识别模型的第二训练数据对应的训练语句为“havex is a newly discovered remote access trojan used by dragonfly”,则通过多任务实体识别模型对该训练语句进行实体预测,获得的实体预测结果表示为:[havex]
m is a newly discovered remote access trojan used by[dragonfly]a。
[0140]
步骤503:基于预设的词典库及实体规则库,对获得的实体预测结果进行修正,获得相应的修正实体预测结果。
[0141]
具体的,为进一步提高实体预测结果的准确性,则在基于多任务实体识别模型进行预测获得的结果基础上,分别与预设的词典库及实体规则库进行匹配,根据匹配结果,将实体预测结果进行修正。
[0142]
例如,若词典库或实体规则库中匹配到了“remote access trojan”为恶意软件类
型(t),则将该词加入实体预测结果中,即得到修改后的预测结果为:[havex]
m is a newly discovered[remote access trojan]
t used by[dragonfly]a。
[0143]
步骤504:基于修正实体预测结果,对未携带实体标注的第二训练数据进行实体标注,获得新增携带实体标注的第二训练数据。
[0144]
具体的,为减少对模型训练数据进行实体标注而带来的大量工作负荷,则在基于词典库及实体规则库,对实体预测结果进行修正后,进一步的,根据修正后的实体预测结果中包含的各个实体词,以及各个实体词各自对应的置信度分值,结合预设的置信度分值门限,对当前第二训练数据进行实体标注。
[0145]
例如,根据修正后的实体预测结果,确定出候选实体词有:“havex”、“remote access trojan”和“dragonfly”,以及该候选实体词对应的置信度分值分别为:“80”、“100”、“70”,若此时,设置的置信度分值门限为50,则可确认该候选实体词“havex”、“remote access trojan”和“dragonfly”为目标实体词,并采用上述实体标注方式对相应的第二训练数据“havex is a newly discovered remote access trojan used by dragonfly”相应标注为“s o o o o b i i o o s”及“s-m o o o o b-t i-t i-t o o s-a”。
[0146]
步骤505:采用新增携带实体标注的第二训练数据继续对多任务实体识别模型进行训练,直至达到第三训练结束条件。
[0147]
基于上述步骤,能够对未携带实体标注的第二训练数据,进行准确、有效的实体标注,从而减少了对第二训练数据进行实体标注的工作负荷。同时,基于词典库及实体规则库,对获得的实体预测结果进行修正,进一步提高了实体识别的准确度以及多任务实体识别模型的训练精度。
[0148]
进一步的,参阅图6所示,考虑到固定的词典库及实体规则库无法及时、全面地进行实体信息提取,本技术实施例中,在获得修正实体预测结果之后,还采用以下方式,进行词典库及数据库的更新,包括:
[0149]
步骤601:基于预设的词典库及实体规则库,对多任务实体识别模型获得的实体预测结果进行筛选,获得相应的至少一个未记录实体词及每个未记录实体词对应的置信度分值。
[0150]
具体的,由于多任务实体识别模型相比于词典库及实体规则库而言,具有更强的泛化能力,因此,多任务实体识别模型常常会识别出词典库及实体规则库中未存储的实体词,考虑到这些实体词的可用性,基于获得的实体预测结果中包含的各个未记录实体词及每个未记录实体词对应的置信度分值,对词典库及实体规则库进行更新。
[0151]
步骤602:基于预设的补充置信度分值阈值,选取相应数目的未记录实体值作为补充实体词,并根据获得的各个补充实体词,对词典库及实体规则库进行更新。
[0152]
具体的,针对词典库而言,可根据预设的补充置信度分值阈值,选取相应数目的未记录实体词,对词典库进行更新。
[0153]
例如,若补充置信度分值阈值为50,且判断上述步骤中获得的实体词“havex”是未记录的,因此,根据多任务实体识别模型给出的该未记录实体词对应的置信度分值“80”,判断该未记录实体词可以作为安全领域常用词被记录,从而将“havex”记录进预设的词典库中。
[0154]
另一方面,针对实体规则库而言,在获得未记录实体词后,将第二训练数据中的未记录实体词替换为相应的实体类型标识,并根据预设的规则生成条件,获得相应的各个候选规则,接着,统计各个候选规则的出现频次,对各个候选规则进行排序,从而选择相应的top-k个候选规则加入到预设的实体规则库中。其中,规则生成条件可以是未记录实体词的前后n个词、实体词的样式(如驼峰命名)等。
[0155]
例如,假设多任务实体识别模型的实体预测结果为:“command and control servers for[finspy]
malware.name
[backdoors]
malware.type”,则将该实体预测结果中的未记录实体词替换成相应的实体类型标识,形如:“command and control servers for《malware.name》[backdoors]
malware.type”,以及“command and control servers for[finspy]
malware.name
《malware.type》”,假设规则生成条件是实体词的前后1个词,则可得候选规则“for《malware.name》”、“《malware.name》backdoor”和“finspy《malware.type》”,它们分别表示for后面的token可能是恶意软件名称实体;backdoor前面的token可能是恶意软件名称实体;finspy后面的token可能是恶意软件类型实体。统计上述各个候选规则的出现频次,假设“《malware.name》backdoor”频次高于“finspy《malware.type》”和“for《malware.name》”,那么,相应的,将“《malware.name》backdoor”作为最终的规则加入到实体规则库中。使用该规则时,可以将backdoor前面的token标注为恶意软件名称。
[0156]
基于上述方式,在多任务实体识别模型训练时,对相应的词典库及实体规则库进行同步更新,避免了因词典库、实体规则库的固化因素,而导致的实体识别结果不完整、不精确的问题,进一步提高了多任务实体识别模型给出的实体识别结果的准确性。
[0157]
基于上述步骤,对文本修正模型及多任务实体识别模型进行训练后,进一步的,本技术实施例提出了一种安全领域实体识别方法,参阅图7所示,包括:
[0158]
步骤701:获取待处理的威胁情报文本,并基于预设的文本修正模型,对威胁情报文本进行文本特征提取,获得威胁情报文本的文本特征。
[0159]
具体的,待处理的威胁情报文本可以来源于网页、微博、pdf文件,word文件等,即针对网络中发布的,安全领域的有效信息均可作为上述威胁情报文本,在此不再赘述。
[0160]
进一步的,本技术实施例中,采用上述步骤获得的文本修正模型,提取威胁情报文本中的文本特征,以判断当前处理的威胁情报文本是否需要进行文本修正以及相应的文本修正类型。
[0161]
例如,假设当前读取的威胁情报文本为“waterspout is is a newly discovered backdoor”,则文本修正模型从该威胁情报文本中,提取出相应的文本特征为“目标待修正字符重复”。
[0162]
步骤702:基于获得的文本特征,从威胁情报文本中,确定相应的目标待修正字符。
[0163]
具体的,根据获得的文本特征,确定威胁情报文本中相应的目标待修正字符。
[0164]
例如,根据上述步骤701中获得的文本特征,确定相应的目标待修正字符为“is”。
[0165]
步骤703:对目标待修正字符进行修正处理,获得相应的修正情报文本。
[0166]
具体的,为输出完整、无误的实体识别结果,进一步的,依靠文本修正模型对目标待修正字符进行修正处理。
[0167]
例如,根据获得的文本特征,文本修正模型将目标待修正字符“is”删去,输出相应的修正情报文本为“waterspout is a newly discovered backdoor”。
[0168]
步骤704:利用预设的多任务实体识别模型,对修正情报文本进行实体识别,获得相应的实体识别结果。
[0169]
具体的,根据上述步骤中,训练结束的多任务实体识别模型,对获得的修正情报文本进行实体识别,从而获得该修正情报文本中,包含的目标实体数据。
[0170]
进一步的,为提高实体识别的准确性,本技术实施例提出的安全领域实体识别方法,还包括:
[0171]
步骤705:基于预设的词典库及实体规则库,对获得的实体识别结果进行修正,获得相应的目标实体识别结果。
[0172]
具体的,构建安全领域实体识别常用词典库及实体规则库,对获得的实体识别结果进行修正,进一步提升实体识别的准确率。
[0173]
由上述步骤可知,本技术实施例给出的安全领域实体识别方法,基于预设的文本修正模型,从待处理的威胁情报文本中提取出相应的文本特征,并根据提取出的文本特征,确定威胁情报文本中包含的目标待修正字符,通过对获得的目标待修字符进行修正,获得相应的修正情报文本,从而对该修正情报文本进行实体识别,一方面,本技术实施例在实体识别的过程中,基于文本修正模型对威胁情报文本作出的修正处理,确保了威胁情报文本的信息完整性及精确性,从而有效提高了实体识别的准确率,另一方面,在多任务实体识别模型的训练过程中,也采用了文本修正模型,针对每次多任务实体识别模型训练时采用的第二训练数据,进行相应修正处理,这一方式提高了每次训练语料的完整性及精确性,从而提高了多任务实体识别模型的识别准确度,进一步,使得安全领域实体识别的准确率得到显著提高。
[0174]
为便于理解,参阅图8所示,为本技术实施例中,对文本修正模型及多任务实体识别模型的训练流程图,由图可知,在本技术实施例中,对两个相关模型进行了同时训练。
[0175]
第一方面,针对本技术实施例中的安全领域文本修正模型,首先需要收集网络中大量的非结构化威胁情报数据,对其进行文本解析,以对收集到的非结构化威胁情报数据的数据格式进行统一,获得相应的情报文本数据;接着,对情报文本数据中包含的无效字符、连字符等进行清洗,避免数据冗余,以及对清洗后的数据进行分句、分段等;进一步的,对分句、分段后获得的第一训练数据进行进一步的数据扩充,从而提高文本修正模型的训练强度。
[0176]
第二方面,针对本技术实施例中的多任务实体识别模型,首先根据文本修正模型对相关情报文本数据进行相应修正,以获得针对多任务实体识别模型的第二训练数据,提高了针对多任务实体识别模型的训练语料的精确性与完整性,从而进一步提高了多任务实体识别模型在进行实体识别预测时,获得的预测结果的准确度,进一步的,在本技术实施例中,为进一步提高安全领域的实体识别准确度,还引入了词典库及实体规则库对其实体预测结果进行修正,同时基于实体预测结果对其进行更新。此外,考虑到实体标注的标注负荷,还采用了模型预测法,对多任务实体识别模型进行迭代训练,这对于提高实体识别准确度也具有极大的利好。
[0177]
参阅图9所示,为本技术实施例提供的一种安全领域实体识别装置,包含获取模块901,确定模块902,修正模块903以及实体识别模块904,其中:
[0178]
获取模块901,用于获取待处理的威胁情报文本,并基于预设的文本修正模型,对
威胁情报文本进行文本特征提取,获得威胁情报文本的文本特征。
[0179]
确定模块902,用于基于获得的文本特征,从威胁情报文本中,确定相应的目标待修正字符。
[0180]
修正模块903,用于对目标待修正字符进行修正处理,获得相应的修正情报文本。
[0181]
实体识别模块904,用于利用预设的多任务实体识别模型,对修正情报文本进行实体识别,获得相应的实体识别结果。
[0182]
在一种可选的实施例中,在获取待处理的威胁情报文本之前,获取模块901还用于:
[0183]
获取携带修正标注的第一训练数据,其中,修正标注至少包括:文本修正标注及字符修正标注。
[0184]
基于预设的词典库及扩充规则库,对携带修正标注的第一训练数据进行数据扩充,获得相应的携带修正标注第一训练扩充数据。
[0185]
采用第一扩充训练数据对文本修正模型进行训练,直至达到第一训练结束条件。
[0186]
在一种可选的实施例中,在获取携带修正标注的第一训练数据时,获取模块901具体用于:
[0187]
获取非结构化的威胁情报数据。
[0188]
基于预设的情报解析算法,对非结构化的威胁情报数据进行文本解析,获得相应的情报文本数据。
[0189]
基于预设的清洗规则,对情报文本数据进行数据清洗,并对清洗后的情报文本数据进行分词、分句处理,获得相应的第一训练数据。
[0190]
基于预设的标注规则库,对第一训练数据中包含的指定实体词进行修正标注,获得携带修正标注的第一训练数据,其中,修正标注至少包括:文本修正标注及修正类型标注。
[0191]
在一种可选的实施例中,在获取待处理的威胁情报文本之前,获取模块901还用于:
[0192]
获取针对多任务实体识别模型的第二训练数据。
[0193]
利用训练结束的文本修正模型,对第二训练数据进行修正处理,获得修正后的第二训练数据。
[0194]
基于预设的词典库及实体规则库,对修正后的第二训练数据进行实体标注,获得相应的携带实体标注的第二训练数据,其中,实体标注包括:实体位置标注及实体类型标注。
[0195]
采用携带实体标注的第二训练数据对多任务实体识别模型进行训练,直至达到第二训练结束条件。
[0196]
在一种可选的实施例中,在采用携带实体标注的第二训练数据对多任务实体识别模型进行训练,直至达到第二训练结束条件之后,获取模块901还用于:
[0197]
获取未携带实体标注的第二训练数据。
[0198]
利用多任务实体识别模型,对第二训练数据进行实体预测,获得相应的实体预测结果,其中,实体预测结果包含至少一个实体词及每个实体词相应的置信度分值。
[0199]
基于预设的词典库及实体规则库,对获得的实体预测结果进行修正,获得相应的
修正实体预测结果。
[0200]
基于修正实体预测结果,对未携带实体标注的第二训练数据进行实体标注,获得新增携带实体标注的第二训练数据。
[0201]
采用新增携带实体标注的第二训练数据继续对多任务实体识别模型进行训练,直至达到第三训练结束条件。
[0202]
在一种可选的实施例中,修正实体预测结果包含至少一个与预设的词典库及实体规则库匹配的候选实体词,以及每个候选实体词相应的置信度分值,则在基于修正实体预测结果,对未携带实体标注的第二训练数据进行实体标注时,获取模块901具体用于:
[0203]
基于预设的目标置信度分值阈值,选取相应数目的候选实体词作为目标实体词。
[0204]
根据获得的各个目标实体词,对未携带实体标注的第二训练数据进行实体标注。
[0205]
在一种可选的实施例中,在基于预设的词典库及实体规则库,对获得的实体预测结果进行修正,获得相应的修正实体预测结果之后,获取模块901还用于:
[0206]
基于预设的词典库及实体规则库,对多任务实体识别模型获得的实体预测结果进行筛选,获得相应的至少一个未记录实体词及每个未记录实体词对应的置信度分值。
[0207]
基于预设的补充置信度分值阈值,选取相应数目的未记录实体值作为补充实体词,并根据获得的各个补充实体词,对词典库及实体规则库进行更新。
[0208]
在一种可选的实施例中,在利用预设的多任务实体识别模型,对修正情报文本进行实体识别,获得相应的实体识别结果之后,实体识别模块904还用于:
[0209]
基于预设的词典库及实体规则库,对获得的实体识别结果进行修正,获得相应的目标实体识别结果。
[0210]
与上述申请实施例基于同一发明构思,本技术实施例中还提供了一种电子设备,该电子设备可以用于安全领域实体识别。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。在该实施例中,电子设备的结构可以如图10所示,包括存储器1001,通讯接口1003以及一个或多个处理器1002。
[0211]
存储器1001,用于存储处理器1002执行的计算机程序。存储器1001可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0212]
存储器1001可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1001也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器1001是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器901可以是上述存储器的组合。
[0213]
处理器1002,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等。处理器1002,用于调用存储器1001中存储的计算机程序时实现上述安全领域实体识别方法。
[0214]
通讯接口1003用于与终端设备和其他服务器进行通信。
[0215]
本技术实施例中不限定上述存储器1001、通讯接口1003和处理器1002之间的具体连接介质。本技术实施例在图10中以存储器1001和处理器1002之间通过总线1004连接,总
线1004在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1004可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0216]
本技术实施例给出的安全领域实体识别方法,基于预设的文本修正模型,从待处理的威胁情报文本中提取出相应的文本特征,并根据提取出的文本特征,确定威胁情报文本中包含的目标待修正字符,通过对获得的目标待修字符进行修正,获得相应的修正情报文本,从而对该修正情报文本进行实体识别,一方面,本技术实施例在实体识别的过程中,基于文本修正模型对威胁情报文本作出的修正处理,确保了威胁情报文本的信息完整性及精确性,从而有效提高了实体识别的准确率,另一方面,在多任务实体识别模型的训练过程中,也采用了文本修正模型,针对每次多任务实体识别模型训练时采用的第二训练数据,进行相应修正处理,这一方式提高了每次训练语料的完整性及精确性,从而提高了多任务实体识别模型的识别准确度,进一步,使得安全领域实体识别的准确率得到显著提高。
[0217]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0218]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0219]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0220]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献