预训练语言模型的训练方法、应用方法、装置及设备与流程

文档序号:26007506发布日期:2021-07-23 21:26阅读:102来源:国知局
预训练语言模型的训练方法、应用方法、装置及设备与流程
本申请属于信息安全
技术领域
,具体涉及一种预训练语言模型的训练方法、应用方法、装置及设备。
背景技术
:随着大数据时代的发展和网络安全环境的日趋复杂,出现了大量与网络安全相关的安全信息,如网络告警信息、网络监测日志、安全事件报告、安全社区博客等。抽取安全信息中的实体及实体间的关系,对于维护网络安全抵御风险具有重要意义。相关技术中,通过人工处理海量的安全信息,抽取安全信息中的实体和关系,效率低下,耗费了大量人力物力。因此如何从繁杂琐碎的安全信息中自动提取出实体和关系成为一种巨大的挑战。技术实现要素:本申请提出一种预训练语言模型的训练方法、应用方法、装置及设备,基于预设安全知识图谱扩充安全信息文本。根据stix情报库,通过预训练语言模型对安全信息文本进行包括实体类别和关系类别的词嵌入,过滤掉与安全信息不相关的信息,提高模型准确率。本申请第一方面实施例提出了一种预训练语言模型的训练方法,包括:获取训练样本集,所述训练样本集包括安全信息文本;在预设安全知识图谱中检索所述安全信息文本对应的安全扩展信息,将所述安全扩展信息添加到所述安全信息文本中;根据结构化威胁信息表达式stix情报库,通过预训练语言模型对添加操作后的所述安全信息文本进行词嵌入训练,所述词嵌入包括实体类别和关系类别的嵌入。在本申请的一些实施例中,所述在预设安全知识图谱中检索所述安全信息文本对应的安全扩展信息,将所述安全扩展信息添加到所述安全信息文本中,包括:对所述安全信息文本进行分词;根据所述安全信息文本中包括的每个词,分别检索预设安全知识图谱中是否包括每个词对应的安全扩展信息;若检索到所述安全信息文本中的词对应的安全扩展信息,则在所述安全信息文本中该词对应的预设相对位置处添加所述安全扩展信息。在本申请的一些实施例中,所述根据结构化威胁信息表达式stix情报库,通过预训练语言模型对添加操作后的所述安全信息文本进行词嵌入训练,包括:通过预训练语言模型包括的标记嵌入层将添加操作后的所述安全信息文本中的每个词转换成词向量,并在句首和句尾分别嵌入预设句首标记和预设句尾标记,得到所述安全信息文本对应的词向量矩阵;通过所述预训练语言模型包括的句子嵌入层将所述词向量矩阵中属于不同句子的词向量分别用不同的句子标记进行嵌入;通过所述预训练语言模型包括的位置嵌入层在所述词向量矩阵中添加每个词向量的位置编码,属于所述安全扩展信息的词向量的位置编码与所述安全扩展信息对应的原始词的位置编码相同;根据stix情报库,通过所述预训练语言模型包括的类别嵌入层在所述词向量矩阵中添加每个词向量对应的类别标记;根据最终得到的所述词向量矩阵,通过所述预训练语言模型包括的注意力机制确定所述词向量矩阵对应的注意力权重矩阵。在本申请的一些实施例中,所述根据stix情报库,通过所述预训练语言模型包括的类别嵌入层在所述词向量矩阵中添加每个词向量对应的类别标记,包括:根据添加操作后的所述安全信息文本中包括的每个词,分别检索stix情报库中是否包含每个词的同义词;若检索到所述安全信息文本中的词对应的同义词,且确定所述同义词为实体类别,则在所述词向量矩阵中为所述词的词向量添加实体标记;若检索到所述安全信息文本中的词对应的同义词,且确定所述同义词为关系类别,则在所述词向量矩阵中为所述词的词向量添加关系标记;若未检索到所述安全信息文本中的词对应的同义词,则在所述词向量矩阵中为所述词的词向量添加预设标记。本申请第二方面的实施例提供了一种预训练语言模型的应用方法,包括:获取待分析的安全信息文本;通过上述第一方面所述的训练方法训练的预训练语言模型对所述安全信息文本进行词嵌入,得到所述安全信息文本对应的词向量矩阵;根据所述词向量矩阵,提取所述安全信息文本包括的实体-关系信息。在本申请的一些实施例中,所述根据所述词向量矩阵,提取所述安全信息文本包括的实体-关系信息,包括:根据所述词向量矩阵及所述词向量矩阵对应的注意力权重矩阵,从所述安全信息文本中提取候选实体-关系序列,确定每个候选实体-关系序列对应的匹配度;从所述每个候选实体-关系序列中选择匹配度最大的候选实体-关系序列作为所述安全信息文本包括的实体-关系信息。在本申请的一些实施例中,所述根据所述词向量矩阵及所述词向量矩阵对应的注意力权重矩阵,从所述安全信息文本中提取候选实体-关系序列,确定每个候选实体-关系序列对应的匹配度,包括:根据所述词向量矩阵各个词向量对应的类别标记,提取出所述安全信息文本中的所有实体,并确定出排在首位的头实体和排在末尾的尾实体;根据所述词向量矩阵对应的注意力权重矩阵,在所述安全信息文本中从所述头实体开始从前往后搜索与所述头实体之间的注意力权重最大的中间词;从所述注意力权重最大的中间词开始从前往后搜索与所述中间词之间的注意力权重最大的中间词,再从该中间词开始往后搜索直至搜索到所述尾实体;将所述头实体、所述尾实体和每个搜索步骤搜索到的所述中间词组成候选实体-关系序列;将所述每个搜索步骤对应的最大的注意力权重之和确定为所述候选实体-关系序列对应的匹配度。在本申请的一些实施例中,所述提取所述安全信息文本包括的实体-关系信息之后,还包括:根据所述实体-关系信息中包括的每个词,分别检索预设规范化词典和stix情报库中是否包含所述每个词的同义词;如果是,则将所述实体关系信息中包括的词替换为该词对应的所述同义词;若替换操作后所述安全信息文本包括的多个实体-关系信息中存在重复的实体-关系信息,则对所述多个实体-关系信息进行去重处理;对去重处理后的实体-关系信息进行实体类别和关系类别匹配。本申请第三方面的实施例提供了一种预训练语言模型的训练装置,包括:样本获取模块,用于获取训练样本集,所述训练样本集包括安全信息文本;扩展模块,用于在预设安全知识图谱中检索所述安全信息文本对应的安全扩展信息,将所述安全扩展信息添加到所述安全信息文本中;训练模块,用于根据结构化威胁信息表达式stix情报库,通过预训练语言模型对添加操作后的所述安全信息文本进行词嵌入训练,所述词嵌入包括实体类别和关系类别的嵌入。本申请第四方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面或第二方面所述的方法。本申请实施例中提供的技术方案,至少具有如下技术效果或优点:在本申请实施例中,利用训练好的预训练语言模型来提取待分析的安全信息文本的实体-关系信息。该预训练语言模型的训练过程中,基于预设安全知识图谱在安全信息文本中引入了安全扩展信息。在预训练语言模型的结构中增加了类别嵌入层,通过类别嵌入层标记安全信息文本中的实体类别和关系类别,过滤掉与安全信息不相关的信息进而提高模型的准确率。通过预训练语言模型包括的位置嵌入层对安全信息文本进行位置编码时,为安全扩展信息与其对应的原始词设置相同的位置标记。如此使得预训练语言模型能够更好地对真实地安全事件进行语义建模,增强预训练语言模型在安全领域的语义建模能力。因此基于预训练语言模型来提取待分析的安全信息文本的实体-关系信息,准确性和提取效率都很高。实现了自动化处理安全数据并基于stix标准进行数据规范化,提高了抽取出的关系和实体的适配性。通过安全知识图谱和规范化字典进行关系和实体的数据规范化,提升了关系和实体的精确度,并且符合stix标准,可以和stix结构的威胁情报库直接整合。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本申请一实施例所提供的一种预训练语言模型的训练方法的流程图;图2示出了本申请一实施例所提供的预训练语言模型进行词嵌入的示意图;图3示出了本申请一实施例所提供的一种预训练语言模型的应用方法的流程图;图4示出了本申请一实施例所提供的抽取实体和关系的步骤示意图;图5示出了本申请一实施例所提供的一种预训练语言模型的应用方法的另一流程图;图6示出了本申请一实施例所提供的一种预训练语言模型的训练装置的结构示意图;图7示出了本申请一实施例所提供的一种预训练语言模型的应用装置的结构示意图;图8示出了本申请一实施例所提供的一种电子设备的结构示意图;图9示出了本申请一实施例所提供的一种存储介质的示意图。具体实施方式下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。下面结合附图来描述根据本申请实施例提出的一种预训练语言模型的训练方法、应用方法、装置及设备。本申请实施例提供了一种预训练语言模型的训练方法,该方法基于预设安全知识图谱在预训练语言模型的训练样本中引入安全扩展信息,在预训练语言模型中增加类别嵌入层,通过类别嵌入层标记训练样本中的实体类别和关系类别,使预训练语言模型能够更好地对真实地安全事件进行语义建模,增强预训练语言模型在安全领域的语义建模能力。参见图1,该方法具体包括以下步骤:步骤101:获取训练样本集,该训练样本集包括安全信息文本。首先获取大量安全信息文件,获取的安全信息文件可以为word文件或pdf文件等格式的文件。获取的安全信息文件中的语言包括全英文、全中文及中英混合等。对获取的安全信息文件进行预处理,去除pdf文件里面的标题、目录以及其他非utf-8编码的可见信息,只留下与正文相关且对威胁情报信息有价值的数据。使用基于ocr(opticalcharacterrecognition,光学字符识别)的pdf提取工具将pdf格式的安全信息文件转化成可编辑的文本形式。对于一些带有图片和表格的文件通过pdfplumber抓取图片或表格等信息,并转换成可读的列表数据。同时基于pdfminer工具进行二次开发,优化长字符的识别。通过上述方式将获取的所有安全信息文件均转换为可编辑的文本形式之后,去除安全信息文件中与威胁情报无关且容易造成文本识别的歧义的内容,如消除安全信息文件中的“综上所述”、“其他”、“总之”等。并将安全信息文件中的指代词用该指代词所指代的名词替换。例如,“a再次实施网络侵害行动,它对b机构开展了a活动”,其中指代词“它”用于指代“a”,因此将上述句子修改为“a再次实施网络侵害行动,a对b机构开展了a活动”。在本申请的另一些实施例中,还可以识别安全信息文件中每个词的词性,并剔除安全信息文件中词性为预设修饰性词性的词,预设修饰性词性可以包括形容词或副词等。通过上述方式去除安全信息文件中与威胁情报无关且容易造成文本识别的歧义的内容,将安全信息文件中的指代词用该指代词所指代的名词替换,或剔除预设修饰性词性的词,可以大大减少安全信息文件中的冗余信息,减少安全信息文件的数据量,减少后续模型训练过程中的计算量,提高预训练语言模型的训练效率。对获得的每个安全信息文件进行上述各种预处理操作以后,对安全信息文件进行分句处理,形成以每一句话为单独一段的文本格式的安全信息文本。将对每个安全信息文件进行分句处理得到的多个安全信息文本组成训练样本集。该训练样本集中每个安全信息文本中都仅包括一句话,以便于将安全信息文本输入预训练语言模型进行词嵌入训练。在本申请实施例中,预训练语言模型可以为bert(bidirectionalencoderrepresentationsfromtransformers)模型。步骤102:在预设安全知识图谱中检索安全信息文本对应的安全扩展信息,将安全扩展信息添加到安全信息文本中。对于训练样本集中包括的每个安全信息文本,都通过本步骤的操作进行内容扩展。具体地,对安全信息文本进行分词。根据安全信息文本中包括的每个词,分别检索预设安全知识图谱中是否包括每个词对应的安全扩展信息。若检索到安全信息文本中的词对应的安全扩展信息,则在安全信息文本中该词对应的预设相对位置处添加该安全扩展信息。其中,预设相对位置可以为该词前面与该词相邻的位置,或者,预设相对位置可以为该词后面与该词相邻的位置。在本申请实施例中可以将安全扩展信息通过括号注释的形式添加到对应词的预设相对位置处。预设安全知识图谱中包括结构化的安全信息,如<实体,关系,实体>的三元组信息等。对于一个安全信息文本,首先构建知识表达层从预设安全知识图谱中注入相关的三元组,将原来的句子转换成一个含知识的句子树。例如,原始句子为“a对b机构开展了a活动”。对该原始句子分词,根据其中的每个词在预设安全知识图谱中检索是否存在对应的安全扩展信息,假设检索出预设安全知识图谱中包括“a”对应的安全扩展信息“国家:c,攻击目的:经济获利”,则在原始句子中以括号注释的形式添加该安全扩展信息,扩展后的句子为“a(国家:c,攻击目的:经济获利)对b机构开展了a活动”。通过本步骤的操作对安全信息文本进行扩展,增加了安全信息文本中与威胁情报相关的内容,加强了与威胁情报相关的实体在安全信息文本中所占的语义强度,后续通过扩展后的安全信息文本来训练预训练语言模型,能够大大增强预训练语言模型在安全领域的语义建模能力。步骤103:根据结构化威胁信息表达式stix情报库,通过预训练语言模型对添加操作后的安全信息文本进行词嵌入训练,词嵌入包括实体类别和关系类别的嵌入。在本申请实施例中,预训练语言模型包括标记嵌入层(tokenembedding层)、句子嵌入层(segmentembedding层)、位置嵌入层(positionembedding层)和类别嵌入层(stix2.1embedding层),在模型训练的每个周期内,利用这四个嵌入层并行对安全信息文本进行词嵌入操作,最终胜出安全信息文本对应的词向量矩阵。下面分别说明每个嵌入层的具体操作过程。对于标记嵌入层,通过预训练语言模型包括的标记嵌入层将步骤102得到的安全信息文本中的每个词转换成词向量,并在句首和句尾分别嵌入预设句首标记和预设句尾标记,得到安全信息文本对应的词向量矩阵。预设句首标记可以为[cls],预设句尾标记可以为[sep]。标记嵌入层是要将各个词转换成固定维度的向量,并利用特殊tokens标记每个句子的开头和结尾。例如,对于输入的安全信息文本“[cls]citylab发布[sep]苹果公司[sep]”,标记嵌入层进行词嵌入操作获得的结果如图2中tokenembeddings所示,每个词都转换成了词向量,且句首用[cls]标记,句尾用[sep]标记。对于句子嵌入层,通过预训练语言模型包括的句子嵌入层将词向量矩阵中属于不同句子的词向量分别用不同的句子标记进行嵌入。例如,对于输入的安全信息文本“[cls]citylab发布[sep]苹果公司[sep]”,句子嵌入层对属于第一个句子的“[cls]citylab发布[sep]”中每个词均用字符a来标记,对属于第二个句子的“苹果公司[sep]”中每个词均用字符b来标记。其标记结果如图2中的segmentembeddings所示。对于位置嵌入层,通过预训练语言模型包括的位置嵌入层在词向量矩阵中添加每个词向量的位置编码。例如,对于输入的安全信息文本“[cls]citylab发布[sep]苹果公司[sep]”,位置嵌入层依据每个词在句子中的位置设置了每个词的位置编码,位置标记的结果如图2中的positionembeddings所示。由于预训练语言模型只可以处理序列数据,为保留原句的语序,同时融入基于预设安全知识图谱引入的外部知识,所以本申请实施例对安全信息文本中添加的安全扩展信息的位置编码进行特殊处理,使其位置编码和其对应的实体的位置编码相同。即在位置编码的过程中,若安全信息文本中包括安全扩展信息,则属于安全扩展信息的词向量的位置编码与安全扩展信息对应的原始词的位置编码相同。例如,安全信息文本“a(国家:c,攻击目的:经济获利)对b机构开展了a活动”中,扩展信息“(国家:c,攻击目的:经济获利)”的位置编码与其对应的黑客组织“a”的位置编码相同。对于类别嵌入层,用来区分文本中的实体、关系及其他与安全信息关联较小的信息。加入类别嵌入层会使与实体和关系这些与安全信息相关的内容更加突出,进而提高模型的运算效率。根据stix情报库,通过预训练语言模型包括的类别嵌入层在词向量矩阵中添加每个词向量对应的类别标记。具体地,根据添加操作后的安全信息文本中包括的每个词,分别检索stix情报库中是否包含每个词的同义词;若检索到安全信息文本中的词对应的同义词,且确定同义词为实体类别,则在词向量矩阵中为词的词向量添加实体标记;若检索到安全信息文本中的词对应的同义词,且确定同义词为关系类别,则在词向量矩阵中为词的词向量添加关系标记;若未检索到安全信息文本中的词对应的同义词,则在词向量矩阵中为词的词向量添加预设标记。其中,实体标记可以为sdo或d等,关系标记可以为sro或r等,预设标记可以为unknown或u等。例如,对于输入的安全信息文本“[cls]citylab发布[sep]苹果公司[sep]”,类别嵌入层的标记结果如图2中的stix2.1embeddings所示。stix(structuredthreatinformationexpression,结构化威胁信息表达式)情报库中包括sdo(stixdomainobjects)知识图谱和sro(stixrelationshipobject)知识图谱。在stix情报库中检索是否包含与安全信息文本中的词语义相似的描述。例如,假设安全信息文本中包括“偷数据”,在stix情报库中检索出与“偷数据”相似的语义描述“数据窃取”,则在stix情报库中确定该相似的语义描述“数据窃取”是属于sdo知识图谱还是属于sro知识图谱,确定出“数据窃取”属于sro知识图谱,因此确定出安全信息文本中的“偷数据”是sro,即属于关系描述,因此将“偷数据”用关系标记进行嵌入。按照上述方式将分词结果中的每个词通过安全知识图谱的向量检索服务进行检索,若检索结果对应的类别信息为实体(sdo),则标记为实体标记,如d;若为关系(sro),则标记为关系标识,如r;若无检索结果则标记为预设标记,如u。通过预训练语言模型的括标记嵌入层(tokenembedding层)、句子嵌入层(segmentembedding层)、位置嵌入层(positionembedding层)和类别嵌入层(stix2.1embedding层)同时对安全信息文本进行词嵌入操作后得到对应的词向量矩阵。该词向量矩阵中每个词向量包括4个标记符号:第一个是词本身的标记,每个句子开头加一个[cls]符号,标点符号用[sep]隔开;第二个是表示上下句的标记,如果是上句,就用a标记,如果是下句,就用b标记;第三个是位置标记,这里的位置标记是通过学习的方式得到的。第四个是基于stix标准的类别标记,如果是包含实体的信息用d标记表示,如果是关系的信息用r标记,如果是与安全信息不相关的用u表示。将4个标记相加,作为一个词的词向量。词向量矩阵中包括的标记如表1所示,包括specialtokens(特殊标记),tokenids,maskids,segmentids,positional和stix2.1。表1字段描述specialtokens特殊标记,用于标记句子的开头([cls])和句子的分隔/结尾([sep]),符合bert中使用的固定词汇的令牌tokenidsbert的令牌生成器提供的令牌idmaskids掩码id,用于指示序列中的哪些元素是标记,哪些是填充元素segmentids用于区分不同句子的句段idpositional用于显示序列中标记位置的位置嵌入stix2.1用于显示stix库中的sdo和sro通过上述方式获得安全信息文本对应的词向量矩阵后,根据最终得到的词向量矩阵,通过预训练语言模型包括的注意力机制确定词向量矩阵对应的注意力权重矩阵。具体地将安全信息文本对应的词向量矩阵中的各词向量分为query(q)及key(k),利用q和k计算注意力权重a=softmax(f(q,k))。例如,对于安全信息文本“某公司检测到名叫systemdminer”,分别利用其中的一词作为query,其他的词作为key计算注意力权重,则得到的注意力权重矩阵如表2所示。表2querykey某公司检测到名叫systemdminer某公司xxxx检测到0.3xxx名叫0.10.2xxsystemdminer0.10.40.2x在本申请实施例中,按照步骤103的方式对预训练语言模型进行预设次数的词嵌入训练,并计算每次训练的损失值。从预设次数的训练过程中选择损失值最小的训练过程,将损失值最小的训练过程对应的模型参数及预训练语言模型的结果组成训练好的预训练语言模型。在本申请实施例中,基于预设安全知识图谱在安全信息文本中引入安全扩展信息。在预训练语言模型的结构中增加类别嵌入层,通过类别嵌入层标记安全信息文本中的实体类别和关系类别,过滤掉与安全信息不相关的信息进而提高模型的准确率。通过预训练语言模型包括的位置嵌入层对安全信息文本进行位置编码时,为安全扩展信息与其对应的原始词设置相同的位置标记。如此基于预设安全知识图谱及类别嵌入层,使最终训练的预训练语言模型能够更好地对真实地安全事件进行语义建模,增强预训练语言模型在安全领域的语义建模能力。本申请实施例提供了一种预训练语言模型的应用方法,该方法所采用的预训练语言模型即为通过上述任一实施例所述的训练方法训练得到的。如图3所示,该应用方法具体包括:步骤201:获取待分析的安全信息文本。待分析的安全信息文本与上述预训练语言模型的训练方法的实施例中步骤101中训练样本集中的安全信息文本相似,也是仅包含一句话的文本格式的安全信息。步骤202:通过预训练语言模型对安全信息文本进行词嵌入,得到安全信息文本对应的词向量矩阵。将待分析的安全信息文本输入训练好的预训练语言模型中,通过预训练语言模型中包括的括标记嵌入层(tokenembedding层)、句子嵌入层(segmentembedding层)、位置嵌入层(positionembedding层)和类别嵌入层(stix2.1embedding层)同时对待分析的安全信息文本进行词嵌入操作后得到对应的词向量矩阵。以及通过预训练语言模型中的注意力机制计算得到待分析的安全信息文本对应的注意力权重矩阵。步骤203:根据词向量矩阵,提取安全信息文本包括的实体-关系信息。首先根据待分析的安全信息文本对应的词向量矩阵及注意力权重矩阵,从安全信息文本中提取候选实体-关系序列,确定每个候选实体-关系序列对应的匹配度。具体地,根据词向量矩阵中各个词向量对应的类别标记,提取出安全信息文本中的所有实体,并确定出排在首位的头实体和排在末尾的尾实体。根据词向量矩阵对应的注意力权重矩阵,在安全信息文本中从头实体开始从前往后搜索与头实体之间的注意力权重最大的中间词。从注意力权重最大的关系词开始从前往后搜索与该中间词之间的注意力权重最大的中间词,再从该中间词开始往后搜索直至搜索到尾实体。将头实体、尾实体和每个搜索步骤搜索到的中间词组成候选实体-关系序列。将每个搜索步骤对应的最大的注意力权重之和确定为候选实体-关系序列对应的匹配度。通过上述方式获得多个候选实体-关系序列后,从每个候选实体-关系序列中选择匹配度最大的候选实体-关系序列作为安全信息文本包括的实体-关系信息。例如,假设安全信息文本为“某公司检测到名叫systemdminer”,其对应的注意力权重如表2所示,则从该安全信息文本中提取的所有实体包括“某公司”和“systemdminer”,“某公司”为头实体,“systemdminer”为尾实体。从头实体“某公司”开始搜索与“某公司”之间的注意力权重最大的中间词为注意力权重为0.3的“检测到”,然后再从中间词“检测到”开始往后搜索,搜索到注意力权重最大的词为“systemdminer”,且到达了尾实体,搜索结束。对该安全信息文本的实体-关系抽取过程如图4所示。每个搜索步骤得到的该安全信息文本对应的候选实体-关系序列如表3所示,每个候选实体-关系序列对应的匹配度为得到该候选实体-关系序列的所有搜索步骤对应的注意力权重之和。从表3所示的多个候选实体-关系序列中选择匹配度最高的候选实体-关系序列作为最终得到的该安全信息文本包括的实体-关系信息,即将“(某公司,检测到,systemdminer”及“(某公司,检测到,systemdminer)”作为该安全信息文本包括的实体-关系信息。表3步骤动作候选实体-关系序列匹配度0开始(某公司,01产出(某公司,检测到0.32产出(某公司,检测到,systemdminer0.73结束(某公司,检测到,systemdminer)0.7通过上述方式可能获得待分析的安全信息文本对应的多个实体-关系信息,为了提高获得的实体-关系信息的准确性,本申请实施例还根据预设规范化词典和stix情报库中对获得的实体-关系信息进行规范化处理。具体地,根据实体-关系信息中包括的每个词,分别检索预设规范化词典和stix情报库中中是否包含每个词的同义词;如果是,则将实体-关系信息中包括的词替换为该词对应的同义词。上述stix情报库中包括sdo知识图谱和sro知识图谱,通过将知识图谱中的实体信息向量化构建的知识图谱向量检索服务。例如,stix情报库中sro知识图谱中的一种关系描述是“数据窃取”,而通过上述方式抽取出的实体-关系信息中包括“偷数据”。“数据窃取”与“偷数据”二者语义相近,将抽取出的实体-关系信息中的“偷数据”替换为“数据窃取”。再如,将抽取出的实体-关系信息中的“检测到”替换为安全知识图谱中的“检出”。因为多数黑客组织存在别名,若不进行数据规范化,则存在多个实体-关系信息描述相同事实的情况。上述预设规范化词典包含威胁组织、工具、恶意软件和攻击模式等各类实体的名称及别名。根据预设规范化词典对抽取出的实体-关系信息中包括的不规范的实体名称进行文本替换。例如,将黑客组织“绿斑”用预设规范化词典中的“apt-c-01”进行替换。通过上述规范化操作避免了多个实体-关系信息描述相同事实的情况,同时还可让提取的实体-关系信息的描述符合stix标准。对待分析的安全信息文本对应的多个实体-关系信息进行规范化操作之后,这多个实体-关系信息中可能存在重复的实体-关系信息。因此若替换操作后安全信息文本包括的多个实体-关系信息中存在重复的实体-关系信息,则对多个实体-关系信息进行去重处理。即对于重复的实体-关系信息,仅保留一个,将其他重复的实体-关系信息删除。去重处理后本申请实施例还对剩余的实体-关系信息进行实体类别和关系类别匹配,即根据stix情报库中的sdo知识图谱和sro知识图谱,对待分析的安全信息文本对应的实体-关系信息中包括的实体和关系进行分类,确定实体-关系信息中实体所属的实体类别及关系所属的关系类别。本申请实施例创造性地引入预设安全知识图谱和stix情报库作为外部知识,增强预训练语言模型(如bert模型)的语义建模能力。运用增强优化后的预训练语言模型(如bert模型,运用双向的transformer模型当作编码器)作词嵌入,针对安全信息语料不足的情况,使用维基百科和安全信息联合作为语料库运用maskedlanguagemodel(掩码语言模型)和nextsentenceprediction(下句预测)的算法去保留和捕捉上下文中的词语和句子的表示方法。在词嵌入的过程中增加与网络安全相关的实体和关系的权重,优化针对安全信息的语义建模能力。为了便于理解本申请实施例提供的方案,下面结合附图进行说明。如图5所示,将pdf格式的文件(包含图片及表格等)和/或文本类报告等转换为可编辑的文本文件,然后对文本文件进行分句,利用基于预设安全知识图谱进行知识增强的预训练语言模型(如bert)进行词嵌入,然后基于词嵌入得到的词向量矩阵进行关系抽取和实体抽取。然后根据预设规范化词典和预设安全知识图谱对抽取的关系和实体进行规范化和去重操作,最后进行sdo和sro匹配。在本申请实施例中,利用训练好的预训练语言模型来提取待分析的安全信息文本的实体-关系信息。该预训练语言模型的训练过程中,基于预设安全知识图谱在安全信息文本中引入了安全扩展信息。在预训练语言模型的结构中增加了类别嵌入层,通过类别嵌入层标记安全信息文本中的实体类别和关系类别,过滤掉与安全信息不相关的信息进而提高模型的准确率。通过预训练语言模型包括的位置嵌入层对安全信息文本进行位置编码时,为安全扩展信息与其对应的原始词设置相同的位置标记。如此使得预训练语言模型能够更好地对真实地安全事件进行语义建模,增强预训练语言模型在安全领域的语义建模能力。因此基于预训练语言模型来提取待分析的安全信息文本的实体-关系信息,准确性和提取效率都很高。实现了自动化处理安全数据并基于stix标准进行数据规范化,提高了抽取出的关系和实体的适配性。通过安全知识图谱和规范化字典进行关系和实体的数据规范化,提升了关系和实体的精确度,并且符合stix标准,可以和stix结构的威胁情报库直接整合。本申请实施例还提供一种预训练语言模型的训练装置,该装置用于执行上述任一实施例提供的预训练语言模型的训练方法。参见图6,该装置包括:样本获取模块601,用于获取训练样本集,训练样本集包括安全信息文本;扩展模块602,用于在预设安全知识图谱中检索安全信息文本对应的安全扩展信息,将安全扩展信息添加到安全信息文本中;训练模块603,用于根据结构化威胁信息表达式stix情报库,通过预训练语言模型对添加操作后的安全信息文本进行词嵌入训练,词嵌入包括实体类别和关系类别的嵌入。扩展模块602,用于对安全信息文本进行分词;根据安全信息文本中包括的每个词,分别检索预设安全知识图谱中是否包括每个词对应的安全扩展信息;若检索到安全信息文本中的词对应的安全扩展信息,则在安全信息文本中该词对应的预设相对位置处添加安全扩展信息。训练模块603,用于通过预训练语言模型包括的标记嵌入层将添加操作后的安全信息文本中的每个词转换成词向量,并在句首和句尾分别嵌入预设句首标记和预设句尾标记,得到安全信息文本对应的词向量矩阵;通过预训练语言模型包括的句子嵌入层将词向量矩阵中属于不同句子的词向量分别用不同的句子标记进行嵌入;通过预训练语言模型包括的位置嵌入层在词向量矩阵中添加每个词向量的位置编码,属于安全扩展信息的词向量的位置编码与安全扩展信息对应的原始词的位置编码相同;根据stix情报库,通过预训练语言模型包括的类别嵌入层在词向量矩阵中添加每个词向量对应的类别标记;根据最终得到的词向量矩阵,通过预训练语言模型包括的注意力机制确定词向量矩阵对应的注意力权重矩阵。训练模块603,用于根据添加操作后的安全信息文本中包括的每个词,分别检索stix情报库中是否包含每个词的同义词;若检索到安全信息文本中的词对应的同义词,且确定同义词为实体类别,则在词向量矩阵中为词的词向量添加实体标记;若检索到安全信息文本中的词对应的同义词,且确定同义词为关系类别,则在词向量矩阵中为词的词向量添加关系标记;若未检索到安全信息文本中的词对应的同义词,则在词向量矩阵中为词的词向量添加预设标记。本申请的上述实施例提供的预训练语言模型的训练装置与本申请实施例提供的预训练语言模型的训练方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。本申请实施例还提供一种预训练语言模型的应用装置,该装置用于执行上述任一实施例提供的预训练语言模型的应用方法。参见图7,该装置包括:获取模块701,用于获取待分析的安全信息文本;词嵌入模块702,用于通过上述任一实施例的训练方法训练的预训练语言模型对安全信息文本进行词嵌入,得到安全信息文本对应的词向量矩阵;提取模块703,用于根据词向量矩阵,提取安全信息文本包括的实体-关系信息。提取模块703,用于根据词向量矩阵及词向量矩阵对应的注意力权重矩阵,从安全信息文本中提取候选实体-关系序列,确定每个候选实体-关系序列对应的匹配度;从每个候选实体-关系序列中选择匹配度最大的候选实体-关系序列作为安全信息文本包括的实体-关系信息。提取模块703,用于根据词向量矩阵各个词向量对应的类别标记,提取出安全信息文本中的所有实体,并确定出排在首位的头实体和排在末尾的尾实体;根据词向量矩阵对应的注意力权重矩阵,在安全信息文本中从头实体开始从前往后搜索与头实体之间的注意力权重最大的中间词;从注意力权重最大的中间词开始从前往后搜索与中间词之间的注意力权重最大的中间词,再从该中间词开始往后搜索直至搜索到尾实体;将头实体、尾实体和每个搜索步骤搜索到的中间词组成候选实体-关系序列;将每个搜索步骤对应的最大的注意力权重之和确定为候选实体-关系序列对应的匹配度。该装置还包括:规范化模块,用于根据实体-关系信息中包括的每个词,分别检索预设规范化词典和stix情报库中是否包含每个词的同义词;如果是,则将实体关系信息中包括的词替换为该词对应的同义词;去重模块,用于若替换操作后安全信息文本包括的多个实体-关系信息中存在重复的实体-关系信息,则对多个实体-关系信息进行去重处理;类别匹配模块,用于对去重处理后的实体-关系信息进行实体类别和关系类别匹配。本申请的上述实施例提供的预训练语言模型的应用装置与本申请实施例提供的预训练语言模型的应用方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。本申请实施方式还提供一种电子设备,以执行上述预训练语言模型的训练方法或执行上述预训练语言模型的应用方法。请参考图8,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图8所示,电子设备8包括:处理器800,存储器801,总线802和通信接口803,所述处理器800、通信接口803和存储器801通过总线802连接;所述存储器801中存储有可在所述处理器800上运行的计算机程序,所述处理器800运行所述计算机程序时执行本申请前述任一实施方式所提供的预训练语言模型的训练方法或应用方法。其中,存储器801可能包含高速随机存取存储器(ram:randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。总线802可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器801用于存储程序,所述处理器800在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述预训练语言模型的训练方法或应用方法可以应用于处理器800中,或者由处理器800实现。处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。本申请实施例提供的电子设备与本申请实施例提供的预训练语言模型的训练方法或应用方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。本申请实施方式还提供一种与前述实施方式所提供的预训练语言模型的训练方法或应用方法对应的计算机可读存储介质,请参考图9,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的预训练语言模型的训练方法或应用方法。需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的预训练语言模型的训练方法或应用方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。需要说明的是:在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1