一种基于深度学习和上下文语义的需求实体共指检测方法和装置制造方法及图纸

技术编号:26377626 阅读:29 留言:0更新日期:2020-11-19 23:46
本发明专利技术公开了一种基于深度学习和上下文语义的需求实体共指检测方法和装置。本方法为:1)上下文截取:首先定位实体,然后以该实体为中心根据窗口大小截断文本,将该需求文本作为与该实体相关的上下文;2)构建上下文相似度网络:网络由两部分组成,一部分是用于学习上下文表示的微调BERT模型,另一部分是用于学习实体表示的基于Word2Vec的网络;分别将上下文和实体输入BERT模型和Word2Vec网络,将得到的两种向量表示连接起来;最后使用多层感知器和softmax层来推断预测标签,即两个实体是否为共指实体。本发明专利技术能够解决自然语言需求中的实体共指问题,有助于在多个不同领域的利益相关者之间对实体达成共识。

【技术实现步骤摘要】
一种基于深度学习和上下文语义的需求实体共指检测方法和装置
本专利技术属于计算机
,涉及需求工程,自然语言处理等技术,尤其是自然语言处理中的共指消解技术,用于解决需求工程中的实体共指问题。同时针对该场景下需要考虑上下文语义和标注数据不足等问题,提出了一种基于深度学习和上下文语义的需求实体共指检测方案,该方案也可用于解决其他类似领域内实体共指问题。
技术介绍
大多数软件需求都是用自然语言描述的,可以灵活地适应任意抽象。在进入开发的后期阶段之前,清楚地编写需求而不产生不一致和歧义是一项具有挑战性但必不可少的任务。不一致是评价自然语言需求质量语言方面的有关原则之一,不一致的产生大多是由于需求分析专家和领域专家专业术语的不同或利益相关者之间来自的领域不同。特别是,利益相关者可以使用不同的语言表达方式来指代自然语言需求中的同一真实世界中的实体,这种现象定义为“实体共指”。更具体地说,图1给出了实体共指的示例,三个需求中具有相对应的实体:需求1中的“行业相关的术语列表”,需求2中的“金融词汇列表”和需求3中的“金融单词列表”。然而,根据它们的上下文,这三个实体指的是同一件事。实体共指可能导致对实体的误解,从而损害需求的可读性和可理解性。现有解决文本需求不一致或歧义问题的方案大致有:基于模式的方法使用词性(Part-of-Speech)模板或启发式方法。基于学习的方法使用信息检索(InformationRetrieval)技术,例如潜在语义索引(LatentSemanticIndexing)或无监督的聚类算法。基于相似度的方法包括词嵌入(WordEmbeddings)和句法方法(例如,Jaccard距离和Levenstein距离)。然而由于以下挑战,这些方法不能直接用于该场景下的实体共指中:1.多字实体。在文本需求中,实体更多是名词短语,而不是单个词。如图1所示,示例中的所有实体均由多个词组成。根据工业数据的观察,实体的平均长度为3.52。多字实体很难用字级表示法表示。例如,尽管实体1与实体2和实体3指代相同的实体,但是实体1与其他两个实体的表达方式有很大不同,它们仅共享一个相同的词“列表”。如果简单地使用诸如词嵌入技术之类的逐词相似性方法,则将给出错误的实体共指关系,即实体2和实体3是共指的,而实体1是不同的实体。2.缺少上下文语义。现有的解决方案缺少句子级别的上下文语义信息,而上下文语义可以为解析实体共指提供额外的信息。在大多数情况下,根据上下文推断两个实体是否共指,即共指实体通常具有相似的上下文。例如,图1中的所有三个需求都具有类似的上下文词,例如“用户”,“在线帮助工具”等,它们表示三个实体是相互关联的。因此,如何在实体表示中融合上下文语义也很重要。3.标注数据不足。需求中的实体共指检测是特定领域的任务,不能像通用共指检测任务那样直接从大型通用语料库或公共知识库中直接受益。此外,在需求中对共指实体进行标注需要领域专业知识和大量的人工工作,从而导致标注数据不足以进行有效地学习。如何使用有限的标注数据并从在大型通用语料库上训练的预训练模型中受益是另一个挑战。本专利技术基于词嵌入技术和微调的BERT模型。嵌入(Embedding,也称为分布式表示)是一种用于学习诸如单词,句子和图像之类的实体的向量表示的技术,使得类似的实体具有彼此接近的向量表示。一种典型的嵌入技术是词嵌入(Wordembedding),将单词表示为固定长度的向量,以便相似的单词在向量空间中彼此靠近。词嵌入基于Harris提出的分布假设,可以根据它们向量之间的关系估计距离并识别语义。词嵌入通常由以下模型实现:连续词袋(CBOW)和Skip-Gram。这些模型建立了一个捕捉一个单词及其上下文单词之间关系的神经网络,单词的向量表示作为网络的参数,使用文本语料库进行训练。另一个词嵌入模型是GloVe,它是一种用于获取词向量表示的无监督学习算法,通过对来自语料库汇总的全局单词-单词共现统计信息进行训练,使得所得表示形式展示了单词向量空间的有趣线性子结构。从语料库捕获的信息极大地增加了wordembedding对非监督和半监督自然语言处理(NLP)任务的价值。例如,目标词和给定上下文的良好表示形式有助于完成各种任务,包括词义消歧(wordsensedisambiguation),共指解析(coreferenceresolution)和命名实体识别(namedentityrecognition,NER)。在此类任务中使用的上下文表示通常只是相邻单词在目标单词周围窗口中的单个嵌入的简单集合,或者是这些嵌入的(有时是加权的)平均值。同样,一个句子(即单词序列)也可以嵌入为向量。句子嵌入的一种简单方法是,将其视为词袋并将其所有单词向量相加。BERT(BidirectionalEncoderRepresentationsfromTransformers)是一种深层的双向Transformer编码器,其目的是屏蔽语言建模(maskedlanguagemodeling)和下一句预测任务(next-sentencepredictiontask),在各种NLP任务中证明是有效的。BERT框架有两个步骤:1)预训练,通过不同的预训练任务对未标记的数据进行模型训练。2)微调,首先使用预先训练的参数初始化BERT模型,然后使用来自下游任务的标记数据微调所有参数。BERT提供了两种模型大小:BERTBASE(L=12,H=768,A=12,总参数=110M)和BERTLARGE(L=24,H=1024,A=16,总参数=340M,其中,层(即,Transformer块)的数量表示为L,隐藏层的大小(hiddensize)表示为H,而自我注意头(self-attentionheads)的数量表示为A。BERT被设计为在一个符号序列(tokensequence)中能够明确表示单个句子和一对句子的结构,以处理各种下游任务。对于输出,符号表示被馈送到用于符号级任务的输出层,而[CLS]表示被馈送到用于分类的输出层。预训练的BERT可以轻松接入特定任务的输入和输出,并端到端微调所有参数,这与预训练相比相对成本低得多。
技术实现思路
针对现有技术存在的技术问题,本专利技术的目的在于提出了一种基于深度学习和上下文语义的需求实体共指检测方法和装置,以解决自然语言需求中的实体共指问题,从而有助于在多个不同领域的利益相关者之间对实体达成共识。本专利技术的技术方案为:一种基于深度学习和上下文语义的需求实体共指检测方法,其步骤包括:给定实体及其相关的需求文本,以该实体为中心根据窗口大小对该需求文本进行上下文截取,获得实体及其相关的上下文;将不同的实体及其相关的上下文输入上下文相似度网络,通过该上下文相似度网络判断输入的实体是否为共指实体。进一步的,上下文截取的方法为:给定一个实体及其相关的需求文本,首先定位该实体,然后以该实体为中心根据窗口大小截断文本。实体可能出现在一个句子的不同位置(例如,靠近开头,靠本文档来自技高网
...

【技术保护点】
1.一种基于深度学习和上下文语义的需求实体共指检测方法,其步骤包括:/n给定实体及其相关的需求文本,以该实体为中心根据窗口大小对该需求文本进行上下文截取,获得实体及其相关的上下文;/n将不同的实体及其相关的上下文输入上下文相似度网络,通过该上下文相似度网络判断输入的实体是否为共指实体。/n

【技术特征摘要】
1.一种基于深度学习和上下文语义的需求实体共指检测方法,其步骤包括:
给定实体及其相关的需求文本,以该实体为中心根据窗口大小对该需求文本进行上下文截取,获得实体及其相关的上下文;
将不同的实体及其相关的上下文输入上下文相似度网络,通过该上下文相似度网络判断输入的实体是否为共指实体。


2.如权利要求1所述的方法,其特征在于,假设窗口大小为M,实体的长度表示为N,实体之前的文本序列的长度表示为lpre,实体之后的文本序列的长度表示为lsub,则根据以下规则进行所述上下文截取:
1)如果并且实体之前和之后的文本序列都被长度截断;
2)如果并且实体之前的文本序列被长度min(lpre,M-N-lsub)截断,并保留实体之后的所有单词,其中min(·)为取最小值;
3)如果实体之前的文本序列被长度lpre截断,实体之后的所有的词都保留;最终截取的上下文是被截断的先前序列pre,实体entity和被截断的后续序列sub的串联:最后,使用特殊符号[PAD]填充至窗口大小的长度;通过上下文截断,获得实体及其相关的上下文<context,entity>。


3.如权利要求1所述的方法,其特征在于,所述上下文相似度网络的输入为上下文和实体对,输出为两个实体是否为共指实体;所述上下文相似度网络由两部分组成:一部分是用于学习上下文表示的微调BERT模型,另一部分是用于学习实体表示的基于Word2Vec的网络;分别将上下文和实体输入BERT模型和Word2Vec网络,得到两种向量表示,将该两种向量表示连接起来以整合有关整个上下文句子和单个单词的语义信息;最后使用多层感知器和softmax层来推断预测标签,即两个实体是否为共指实体。


4.如权利要求3所述的方法,其特征在于,所述微调BERT模型是一个基于微调的双向预训练表示模型,其以一个句子对<context1,context2>作为输入,并生成上下文向量表示,其中<context1,context2>从两个<context,entity>对重组得到。


5.如权利要求4所述的方法,其特征在于,所述微调BERT模型为BERTBASE模型,该模型具有12层,隐藏层大小为768,具有12个自我注意头;BERT的输入是一对句子,每个句子由128个单词符号表示,将两个上下文串联在一起,并与特殊的开始符号和分隔符符号一起作为序列对输入BERT模型;BERT模型中的Transformer编码器生成输入对的上下文向量表示,其是最后一个隐藏层对特殊符号[CLS]的输出。
...

【专利技术属性】
技术研发人员:王亚文石琳王青
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1