CN109492113B - 一种面向软件缺陷知识的实体、关系联合抽取方法 - Google Patents

一种面向软件缺陷知识的实体、关系联合抽取方法 Download PDF

Info

Publication number
CN109492113B
CN109492113B CN201811306356.2A CN201811306356A CN109492113B CN 109492113 B CN109492113 B CN 109492113B CN 201811306356 A CN201811306356 A CN 201811306356A CN 109492113 B CN109492113 B CN 109492113B
Authority
CN
China
Prior art keywords
entity
relationship
transfer
defect
text data
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.)
Active
Application number
CN201811306356.2A
Other languages
English (en)
Other versions
CN109492113A (zh
Inventor
李斌
陈定山
周澄
孙小兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangzhou University
Original Assignee
Yangzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yangzhou University filed Critical Yangzhou University
Priority to CN201811306356.2A priority Critical patent/CN109492113B/zh
Publication of CN109492113A publication Critical patent/CN109492113A/zh
Priority to PCT/CN2019/102930 priority patent/WO2020093761A1/zh
Priority to US17/054,301 priority patent/US11169912B2/en
Application granted granted Critical
Publication of CN109492113B publication Critical patent/CN109492113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种面向软件缺陷知识的实体、关系联合抽取方法,包括以下步骤:首先采集开源缺陷库的文本数据,并对所述文本数据进行预处理,获得缺陷文本数据语料库;然后从缺陷文本数据语料库提取描述缺陷的语句S,对S进行处理并作为后续的输入语句;之后构建基于转移系统的实体、关系联合抽取模型;然后结合建立的基于转移系统的实体、关系联合抽取模型,获取上述输入语句对应的实体集合E以及关系集合R;最后将实体集合E以及关系集合R输出,完成实体、关系的联合抽取。本发明可以将缺陷实体抽取和关系识别这两个子任务紧密联系起来,最终抽取出缺陷文本的关键信息,帮助软件开发者快速、高效的了解缺陷信息以完成缺陷修复。

Description

一种面向软件缺陷知识的实体、关系联合抽取方法
技术领域
本发明属于软件维护领域,特别是一种面向软件缺陷知识的实体、关系联合抽取方法。
背景技术
缺陷修复是软件维护过程中的重要组成部分。随着大数据时代的到来,互联网中的文本数据急剧增加。同样的,软件项目的规模也随之扩张以及复杂度有了大幅度提升,在软件开发过程中出现了大量的缺陷,如何准确高效地处理和解决这些缺陷已成为目前主要的工作。这些海量的文本一方面蕴含了丰富的知识,另一方面也夹杂了巨大的冗余信息。因此,我们需要思考如何在这些非结构化的文本数据中高效、精准地抽取出实体及它们之间的关系以形成结构化的知识,帮助人们了快速获取关键性的信息。
针对互联网中存在的大量缺陷报告进行实体关系的联合抽取,抽取出缺陷的关键信息,帮助软件开发者快速、高效的了解缺陷信息,并完成修复。目前主要有两种方法广泛的被应用与实体和关系的抽取任务,一种是实体关系依次抽取的串联式抽取,另一种是实体关系联合式抽取的。串联式方法把这一任务分解为两个不同的子任务,即命名实体识别和关系识别。传统的命名实体识别模型是线性统计模型,例如隐马尔科夫模型HMM和条件随机场CRF模型。最近一些神经网络结构也被成功应用到命名实体识别中,这被当做是序列标注任务。已有的关系识别方法也可以被分为基于手工构造特征的方法和神经网络方法。这种分开来处理的方式比较简单,而且各个模块都比较灵活。但是这种方法忽视了两个任务之间的联系,实体识别的结果可能会影响关系的抽取。不同于传统的串联式的方法,联合抽取是用一个模型来抽取实体和关系。联合学习一词并不是一个最近才出现的术语,在自然语言处理领域,很早就有研究者使用基于传统机器学习的联合模型来对一些有着密切联系的自然语言处理任务进行联合学习。例如实体识别和实体标准化联合学习,分词和词性标注联合学习等等。将这种方式应用到实体识别和关系抽取上可以有效的整合实体和关系信息,并且达到一个很好的效果。联合抽取实体和关系使用的是单个模型。大多数联合式方法是基于特征来实现的,最近开始大量使用基于LSTM的模型能够减少人工工作。但是这种方法基于特征来实现的,并且非常依赖其他可能会引入误差的自然语言处理工具。所以,目前为了减少人工抽取特征工作,提出基于神经网络的端到端模型来联合抽取实体和关系。端到端模型是把输入句子映射一个有意义向量中然后再生成一个序列。它被广泛应用于机器翻译和序列标注任务。大多数方法都使用双向LSTM对输入句子进行编码,但是解码方法总是不同的。例如,使用一个CRF层解码标签序列,同时应用LSTM层来产生标签序列。尽管这些模型能够在同一个模型当中共享实体抽取和关系抽取的参数,但是实体和关系抽取是分开进行的而且容易产生冗余信息。
发明内容
本发明所要解决的技术问题在于结合软件缺陷领域数据的相关特征,提供一种面向软件缺陷知识的实体、关系联合抽取方法。
实现本发明目的的技术解决方案为:一种面向软件缺陷知识的实体、关系联合抽取方法,包括以下步骤:
步骤1、采集开源缺陷库的文本数据,并对所述文本数据进行预处理,获得缺陷文本数据语料库;
步骤2、从步骤1中获得的缺陷文本数据语料库提取描述缺陷的语句S,之后对S进行处理并作为步骤4的输入语句;
步骤3、构建基于转移系统的实体、关系联合抽取模型;
步骤4、结合步骤3建立的基于转移系统的实体、关系联合抽取模型,获取步骤2所述输入语句对应的实体集合E以及关系集合R;
步骤5、将步骤4获得的实体集合E以及关系集合R输出,完成实体、关系的联合抽取。
本发明与现有技术相比,其显著优点为:1)本发明提出的联合抽取方法,不仅能够发现缺陷语句中潜在的实体本身以及实体和关系、关系和关系之间的联系,还能够避免串联式抽取缺陷关系三元组所出现的错误传播;2)本发明中通过由arc‐eager算法形成的一套转化规则,并经过一系列的转移动作,将实体识别和关系抽取联合任务通过一个有向图来表示,并使用基于转移的方法直接生成该有向图,保证的任务的连贯性和一致性;3)本发明中通过有向图的设计,可以使得实体和实体之间不再是一对一的关系,以此可应对复杂的缺陷文本数据;4)本发明通过基于转移的方法将句子的解码过程建模为一个转移序列的构造过程,能够通过学习准确的预测下一步的转移动作,生成有效的动作序列,识别出有效的实体弧和关系弧,构造出输入缺陷语句的有向图。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明面向软件缺陷知识的实体、关系联合抽取方法的流程图。
图2为本发明中实体、关系联合抽取模型图。
图3为本发明实施例中抽取的bug1368216缺陷报告截图。
图4为本发明实施例中bug1368216标题的输出有向图。
具体实施方式
结合图1,本发明一种面向软件缺陷知识的实体、关系联合抽取方法,包括以下步骤:
步骤1、采集开源缺陷库的文本数据,并对文本数据进行预处理,获得缺陷文本数据语料库。
其中,文本数据包括缺陷报告中的标题、描述、评论以及问答网站中的问题、答案。
其中,对文本数据进行预处理,获得缺陷文本数据语料库具体为:
利用自然语言处理工具对文本数据进行预处理,并将预处理后的相关文本数据以文本的形式存储,由此获得缺陷文本数据语料库;预处理包括文本提取、分词、词性标注、词形还原。
步骤2、从步骤1中获得的缺陷文本数据语料库提取描述缺陷的语句S,之后对S进行处理并作为步骤4的输入语句。其中,描述缺陷的语句S具体为:
S={w1,w2,w3,…,wn}
式中,wi为句子序列S中第i个单词,i=1,2,…,n。
其中,对S进行处理具体为:
步骤2‐1、对S进行Word Embedding处理。对某一词wi,用一个二维向量来表示:wi
Figure BDA0001853714890000031
每个词可以表示为:
Figure BDA0001853714890000032
步骤2‐2、对步骤2‐1处理后的S进行Bi‐LSTM编码处理。其中Bi‐LSTM用于使用两个单独的LSTM层在两个方向上处理序列:forward LSTM和backward LSTM,X=(x1,x2,x3,…,xn)作为输入。forward LSTM依次编码词序列即由x1→xn,记为
Figure BDA0001853714890000033
backward LSTM逆向编码序列即由xn→x1,记为
Figure BDA0001853714890000034
Figure BDA0001853714890000035
表示词wi的编码信息。最终对S进行处理输出为Hs={h1,h2,h3,…,hn},式中,
Figure BDA0001853714890000036
步骤3、构建基于转移系统的实体、关系联合抽取模型,具体为:
步骤3-1、确定所要构建基于转移系统的实体、关系联合抽取模型的初始转移状态T0
步骤3-2、确定步骤3-1的初始转移状态T0对应的最佳转移动作,并对初始转移状态T0执行该最佳转移动作,获得下一时刻的转移状态;
步骤3-3、确定下一时刻的转移状态对应的最佳转移动作,并对该下一时刻的转移状态执行该最佳转移动作,以此循环直至达到终止转移状态Tn,从而完成基于转移系统的实体、关系联合抽取模型的建立。
其中,转移状态通过基于LSTM的方法进行表示,所用公式为:
T=(σ,δ,e,β,R,E)
式中,σ为存储已生成实体的栈;δ为存储从σ临时弹出且之后被重新压入σ的实体的过渡栈;e为存储正在被处理的部分实体块的栈;β为存储未处理单词的缓冲区;R为关系集合;E为实体集合;
初始转移状态T0为β为非空,σ,δ,e,R,E均为空的转移状态,具体为:
Figure BDA0001853714890000041
式中,m为未处理单词的个数;
终止转移状态Tn为β与e为空时的转移状态,具体为:
Tn=(σ,δ,[],[],R,E)。
其中,转移动作具体为:利用arc‐eager算法形成的转移策略生成有向图,该转移策略根据有向图的特征包括两类转移动作:
1)实体生成动作,用于生成实体弧;
2)关系生成动作,用于生成关系弧。
本发明根据实体和关系设计出10种转移动作,其中关系弧7种,实体3种,具体描述见下表1:
表1转移动作的具体描述
Figure BDA0001853714890000042
Figure BDA0001853714890000051
确定转移状态对应的最佳转移动作,具体为:
结合基于贪心搜索的arc-standard算法和softmax函数确定转移状态对应的最佳转移动作。结合图2:
(1)假设在t时刻下基于转移系统的实体、关系联合抽取模型的转移状态为:
mt=max{0,Z}
式中,Z=W[σt;δt;at;βt;et]+d,W为参数矩阵,σtt,att,et分别为σ,δ,A,β,e在t时刻的状态表示,d为神经网络中的偏执项;
(2)通过softmax函数求取t时刻某一个转移动作at的概率为:
Figure BDA0001853714890000052
式中,at为t时刻的转移动作,
Figure BDA0001853714890000053
为转移动作at的嵌入表示的列向量,
Figure BDA0001853714890000054
为转移动作at对应的偏执项,mt为t时刻模型的状态即模型做出的所有决策的信息的编码集合;A(S,B)存储当前状态时可以采取的有效动作集合,a′为集合A中的某一个转移动作,ga′为转移动作a′的嵌入表示的列向量,T为转置;
则转移动作序列a的概率为:
Figure BDA0001853714890000061
式中,|a|为转移动作序列a中转移动作的个数;
(3)重复执行上述(2),求取所有转移动作序列的概率,之后将概率最大的转移动作序列作为t时刻转移状态对应的最佳的转移动作。
步骤4、根据步骤3建立的基于转移系统的实体、关系联合抽取模型过程中获得的一系列最佳转移动作,对步骤2输入语句进行一系列的转移动作,由此获得输入语句对应的实体集合E以及关系集合R。其中,实体集合E为:
E={(ei,ej,r)}
式中,1≤i≤j≤n,r为自定义的软件缺陷的实体类型,ei、ej均为实体;r包括core、GUI、Network、I/O、Driver、File System、Hardware、Language、API、Standard、Platform、Framework、Defect test、Mobile、common adjective、common verb;
关系集合R为:
R={(ei,ej,l)}
式中,1≤i≤j≤n,l为自定义的缺陷关系属性标签,ei、ej均为实体;l具体如表2:
表2自定义的缺陷关系属性标签
关系属性名 关系属性特征 描述说明
兄弟关系 传递性、对称性 拥有的类及属性源自同一个父类
同一关系 传递性、对称性 具有相同的含义,对同一知识的不同表示
包含关系 包含性 涉及另一实体的内容,如概念、性质等
对立关系 反对称性 两者不应同时存在,相互排斥
继承关系 互逆自反性 存在某种父子关系,子继承父的关系属性
说明关系 说明性 实体A是对实体B是形容、操作(动词、形容词)
因果关系 依赖性 实体A是实体B结论的原因
语义相关 传递性、对称性 实体A和实体B之间存在语义上的联系
步骤5、将步骤4获得的实体集合E以及关系集合R输出,完成实体、关系的联合抽取。
下面结合实施例对本发明作进一步详细的说明。
实施例
结合图1,本发明基于面向软件缺陷知识的实体关系联合抽取方法,包括以下步骤:
步骤1、采集开源缺陷库的缺陷报告,并从缺陷报告中提取其中的所有文本信息如标题、描述和评论,之后将上述文本数据进行预处理:语句切分、分词和词性标注,最终获得缺陷语料库。本实施例中获取数据源的缺陷报告如图3所示。
步骤2、从步骤1中获得的缺陷文本数据语料库提取描述缺陷的语句S。本实施例从图3中的bug report得到的第一个句子S1:“Python code in browser should followflake8 convention.”,S1经过步骤1预处理结果为:“Python NNP code NN in IN browserNN should MD follow VB flake8NNP convention NN”,然后将该结果经过wordembedding表示和Bi-LSTM层编码处理,最终将其作为模型的输入。
步骤3、构建基于转移系统的实体、关系联合抽取模型。本实施例定义的具体的转移动作如表1,缺陷关系类型如表2。
步骤4、结合步骤3建立的基于转移系统的实体、关系联合抽取模型。对于缺陷语料库中的步骤2得到的输入句子S 1,首先确定其初始转移状态T0:
Figure BDA0001853714890000071
此时存储未处理单词的缓冲栈β=[Python code in browser should follow flake8convention],之后对β进行中的单词依次处理。本实施例中,模型执行过程如下:(1)首先,python1通过Gen‐Shift转移动作从β进入e;(2)code2也通过Gen‐Shift转移动作从β进入e;(3)实体块python1_code2通过转移动作Gen‐Ner(y)为其并打上实体标签(python1,code2,LA),并将python1重新压入β;(4)实体python1通过转移动作No‐Shift重新压入栈σ;(5)in3通过动作O‐Delete,从β弹出;(6)browser4通过Gen‐Shift从β进入e;(7)之后通过Gen‐Ner(y)动作为browser4自身并打上实体标签(browser4,browser4,NW),并将browser4重新压入β;(8)通过Rightr‐Shift,将browser4压入栈σ并产生一条由python1指向browser4的关系弧(python1,browser4,be_in);(9)should5通过O‐Delete动作,从β弹出;(10)follow6通过O‐Delete动作,从β弹出;(11)flake87通过Gen‐Shift转移动作从β进入e;(12)其次convention8也通过Gen‐Shift转移动作从β进入e;(13)实体块flake8_convention8通过转移动作Gen‐Ner(y)为实体并打上实体标签(flake87,convention8,SD),并将convention8重新压入β;(14)通过No‐Pass,将browser4放入栈δ的顶端;(15)通过No‐Pass,将python1放入栈δ的顶端;(16)最终通过Rightr‐Pass,将convention8压入栈σ并产生一条由python1指向convention8的关系弧(code2,browser4,be_in)。最终达到终止转移状态得到具体实体集合E以及关系集合R。本实施例具体转移过程如下表3所示。
表3具体转移过程
Figure BDA0001853714890000081
步骤5、将步骤4获得的实体集合E以及关系集合R输出,完成实体、关系的联合抽取。本实施例有向图具体输出结果如图4所示,其中包含了3个实体以及2个关系。图中实心箭头表示实体自身关系以描述实体自身的类型,如python就是我们前面分类过的Language类实体。空心箭头表示的是实体和另外一个实体的关系,如Python_code与browser之间的关系是语义类关系,抽取出谓词为be_in。最终,识别出该缺陷的实体集合E={(Python,code,LA),(browser,browser,NW),(flake8,convention,SD)}以及关系集合R={(Python_code,browser,be_in),(Python_code,flake8_convention,should_follow)}。
本发明的方法以预先定义的缺陷关系类型为中心,通过语义、基于转移的依存解析策略和Bi‐LSTM神经网络方法直接对缺陷实体关系构成的关系三元组进行联合建模,这一方法可以将缺陷实体抽取和关系识别这两个子任务紧密联系起来,最终抽取出缺陷文本的关键信息,帮助软件开发者快速、高效的了解缺陷信息以完成缺陷修复。

Claims (8)

1.一种面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,包括以下步骤:
步骤1、采集开源缺陷库的文本数据,并对所述文本数据进行预处理,获得缺陷文本数据语料库;
步骤2、从步骤1中获得的缺陷文本数据语料库提取描述缺陷的语句S,之后对S进行处理并作为步骤4的输入语句;
步骤3、构建基于转移系统的实体、关系联合抽取模型;具体为:
步骤3-1、确定所要构建基于转移系统的实体、关系联合抽取模型的初始转移状态T0
步骤3-2、确定步骤3-1所述的初始转移状态T0对应的最佳转移动作,并对初始转移状态T0执行该最佳转移动作,获得下一时刻的转移状态;
步骤3-3、确定下一时刻的转移状态对应的最佳转移动作,并对该下一时刻的转移状态执行该最佳转移动作,以此循环直至达到终止转移状态Tn,从而完成基于转移系统的实体、关系联合抽取模型的建立;
其中,所述转移状态通过基于LSTM的方法进行表示,所用公式为:
T=(σ,δ,e,β,R,E)
式中,σ为存储已生成实体的栈;δ为存储从σ临时弹出且之后被重新压入σ的实体的过渡栈;e为存储正在被处理的部分实体块的栈;β为存储未处理单词的缓冲区;R为关系集合;E为实体集合;
所述初始转移状态T0为β为非空,σ,δ,e,R,E均为空的转移状态,具体为:
Figure FDA0003551608160000011
式中,m为未处理单词的个数;
所述终止转移状态Tn为β与e为空时的转移状态,具体为:
Tn=(σ,δ,[],[],R,E)
步骤3-1~步骤3-3所述的转移动作具体为:
利用arc-eager算法形成的转移策略生成有向图,该转移策略根据有向图的特征包括两类转移动作:
1)实体生成动作,用于生成实体弧;
2)关系生成动作,用于生成关系弧;
步骤4、结合步骤3建立的基于转移系统的实体、关系联合抽取模型,获取步骤2所述输入语句对应的实体集合E以及关系集合R;
步骤5、将步骤4获得的实体集合E以及关系集合R输出,完成实体、关系的联合抽取。
2.根据权利要求1所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤1所述文本数据包括缺陷报告中的标题、描述、评论以及问答网站中的问题、答案。
3.根据权利要求1所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤1中所述对文本数据进行预处理,获得缺陷文本数据语料库具体为:
利用自然语言处理工具对所述文本数据进行预处理,并将预处理后的相关文本数据以文本的形式存储,由此获得缺陷文本数据语料库;所述预处理包括文本提取、分词、词性标注、词形还原。
4.根据权利要求1所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤2所述描述缺陷的语句S具体为:
S={w1,w2,w3,…,wn}
式中,wi为句子序列S中第i个单词,i=1,2,…,n。
5.根据权利要求1所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤2所述对S进行处理具体为:
步骤2-1、对S进行Word Embedding处理;
步骤2-2、对步骤2-1处理后的S进行Bi-LSTM编码处理。
6.根据权利要求1所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤3-2~步骤3-3中所述确定转移状态对应的最佳转移动作,具体为:结合基于贪心搜索的arc-standard算法和softmax函数确定转移状态对应的最佳转移动作,具体为:
(1)假设在t时刻下基于转移系统的实体、关系联合抽取模型的转移状态为:
mt=max{0,Z}
式中,Z=W[σt;δt;at;βt;et]+d,W为参数矩阵,σtt,att,et分别为σ,δ,A,β,e在t时刻的状态表示,d为神经网络中的偏执项;
(2)通过softmax函数求取t时刻某一个转移动作at的概率为:
Figure FDA0003551608160000031
式中,at为t时刻的转移动作,
Figure FDA0003551608160000034
为转移动作at的嵌入表示的列向量,
Figure FDA0003551608160000033
为转移动作at对应的偏执项,mt为t时刻模型的状态即模型做出的所有决策的信息的编码集合;A(S,B)存储当前状态时采取的有效动作集合,a′为集合A中的某一个转移动作,ga′为转移动作a′的嵌入表示的列向量,T为转置;
则转移动作序列a的概率为:
Figure FDA0003551608160000032
式中,|a|为转移动作序列a中转移动作的个数;
(3)重复执行上述(2),求取所有转移动作序列的概率,之后将概率最大的转移动作序列作为t时刻转移状态对应的最佳的转移动作。
7.根据权利要求6所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤4所述结合步骤3建立的基于转移系统的实体、关系联合抽取模型,确定步骤2所述输入语句对应的实体集合E以及关系集合R具体为:
根据步骤3建立的基于转移系统的实体、关系联合抽取模型过程中获得的一系列最佳转移动作,对步骤2所述输入语句进行所述一系列的转移动作,由此获得输入语句对应的实体集合E以及关系集合R。
8.根据权利要求4或7所述的面向软件缺陷知识的实体、关系联合抽取方法,其特征在于,步骤4获得的所述实体集合E为:
E={(ei,ej,r)}
式中,1≤i≤j≤n,r为自定义的软件缺陷的实体类型,ei、ej均为实体;r包括core、GUI、Network、I/O、Driver、File System、Hardware、Language、API、Standard、Platform、Framework、Defect test、Mobile、common adjective、common verb;
所述关系集合R为:
R={(ei,ej,l)}
式中,1≤i≤j≤n,l为自定义的缺陷关系属性标签,ei、ej均为实体;l具体如下表2:
表2自定义的缺陷关系属性标签
关系属性名 关系属性特征 描述说明 兄弟关系 传递性、对称性 拥有的类及属性源自同一个父类 同一关系 传递性、对称性 具有相同的含义,对同一知识的不同表示 包含关系 包含性 涉及另一实体的内容 对立关系 反对称性 两者不应同时存在,相互排斥 继承关系 互逆自反性 存在某种父子关系,子继承父的关系属性 说明关系 说明性 实体A是对实体B是形容、操作 因果关系 依赖性 实体A是实体B结论的原因 语义相关 传递性、对称性 实体A和实体B之间存在语义上的联系
CN201811306356.2A 2018-11-05 2018-11-05 一种面向软件缺陷知识的实体、关系联合抽取方法 Active CN109492113B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811306356.2A CN109492113B (zh) 2018-11-05 2018-11-05 一种面向软件缺陷知识的实体、关系联合抽取方法
PCT/CN2019/102930 WO2020093761A1 (zh) 2018-11-05 2019-08-28 一种面向软件缺陷知识的实体、关系联合抽取方法
US17/054,301 US11169912B2 (en) 2018-11-05 2019-08-28 Entity and relationship joint extraction method oriented to software bug knowledge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811306356.2A CN109492113B (zh) 2018-11-05 2018-11-05 一种面向软件缺陷知识的实体、关系联合抽取方法

Publications (2)

Publication Number Publication Date
CN109492113A CN109492113A (zh) 2019-03-19
CN109492113B true CN109492113B (zh) 2022-05-13

Family

ID=65693725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811306356.2A Active CN109492113B (zh) 2018-11-05 2018-11-05 一种面向软件缺陷知识的实体、关系联合抽取方法

Country Status (3)

Country Link
US (1) US11169912B2 (zh)
CN (1) CN109492113B (zh)
WO (1) WO2020093761A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492113B (zh) 2018-11-05 2022-05-13 扬州大学 一种面向软件缺陷知识的实体、关系联合抽取方法
CN109947914B (zh) * 2019-02-21 2023-08-18 扬州大学 一种基于模板的软件缺陷自动问答方法
CN110765774B (zh) * 2019-10-08 2021-09-17 北京三快在线科技有限公司 信息抽取模型的训练方法、装置及信息抽取方法、装置
CN111309865B (zh) * 2020-02-12 2024-03-22 扬州大学 相似缺陷报告推荐方法、系统、计算机设备和存储介质
CN111476023B (zh) * 2020-05-22 2023-09-01 北京明朝万达科技股份有限公司 识别实体关系的方法及装置
CN113807079B (zh) * 2020-06-11 2023-06-23 四川大学 一种基于序列到序列的端到端实体和关系联合抽取方法
CN112101592A (zh) * 2020-09-08 2020-12-18 中国电力科学研究院有限公司 电力二次设备缺陷诊断方法、系统、设备及存储介质
CN112163092B (zh) * 2020-10-10 2022-07-12 成都数之联科技股份有限公司 实体及关系抽取方法及系统、装置、介质
CN112800756B (zh) * 2020-11-25 2022-05-10 重庆邮电大学 一种基于prado的实体识别方法
CN112463988A (zh) * 2020-12-09 2021-03-09 中国园林博物馆北京筹备办公室 一种中国古典园林信息抽取方法
CN113392217B (zh) * 2021-06-24 2022-06-10 广东电网有限责任公司 一种电力设备故障缺陷实体关系的抽取方法及装置
CN115438190B (zh) * 2022-09-06 2023-06-06 国家电网有限公司 一种配电网故障辅助决策知识抽取方法及系统
CN115221310B (zh) * 2022-09-20 2022-12-16 北京大学 一种基于知识图谱的开源应用自动化推荐方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102315A1 (en) * 2010-10-25 2012-04-26 Nokia Corporation Verification of peer-to-peer multimedia content
CN107220237A (zh) * 2017-05-24 2017-09-29 南京大学 一种基于卷积神经网络的企业实体关系抽取的方法
CN107832781A (zh) * 2017-10-18 2018-03-23 扬州大学 一种面向多源数据的软件缺陷表示学习方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622510A (zh) * 2012-01-31 2012-08-01 龚波 一种软件缺陷量化管理系统和方法
CN104699614B (zh) * 2015-03-27 2017-04-26 重庆大学 一种软件缺陷组件预测的方法
AU2016210590B2 (en) * 2015-07-30 2018-04-05 Tata Consultancy Services Limited Method and System for Entity Relationship Model Generation
CN106951365B (zh) * 2016-03-01 2020-04-03 北京航空航天大学 一种基于面向对象软件代码的软件复杂网络模型构建方法
US10612999B2 (en) * 2016-10-03 2020-04-07 International Business Machines Corporation Diagnostic fault detection using multivariate statistical pattern library
AU2017272141A1 (en) * 2016-12-19 2018-07-05 Accenture Global Solutions Limited Duplicate and similar bug report detection and retrieval using neural networks
CN107273295B (zh) * 2017-06-23 2020-03-20 中国人民解放军国防科学技术大学 一种基于文本混乱度的软件问题报告分类方法
CN109165385B (zh) * 2018-08-29 2022-08-09 中国人民解放军国防科技大学 一种基于实体关系联合抽取模型的多三元组抽取方法
US11734328B2 (en) * 2018-08-31 2023-08-22 Accenture Global Solutions Limited Artificial intelligence based corpus enrichment for knowledge population and query response
CN109492113B (zh) * 2018-11-05 2022-05-13 扬州大学 一种面向软件缺陷知识的实体、关系联合抽取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102315A1 (en) * 2010-10-25 2012-04-26 Nokia Corporation Verification of peer-to-peer multimedia content
CN107220237A (zh) * 2017-05-24 2017-09-29 南京大学 一种基于卷积神经网络的企业实体关系抽取的方法
CN107832781A (zh) * 2017-10-18 2018-03-23 扬州大学 一种面向多源数据的软件缺陷表示学习方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于CRF的命名实体和关系的联合抽取;徐秋妍;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20120715;正文第5-55页 *

Also Published As

Publication number Publication date
CN109492113A (zh) 2019-03-19
WO2020093761A1 (zh) 2020-05-14
US20210240603A1 (en) 2021-08-05
US11169912B2 (en) 2021-11-09

Similar Documents

Publication Publication Date Title
CN109492113B (zh) 一种面向软件缺陷知识的实体、关系联合抽取方法
WO2022095682A1 (zh) 文本分类模型的训练方法、文本分类方法、装置、设备、存储介质及计算机程序产品
JP5128629B2 (ja) 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法
CN114489669A (zh) 一种基于图学习的Python语言代码片段生成方法
CN116737759A (zh) 一种基于关系感知注意力的中文查询生成sql语句方法
CN111914555A (zh) 基于Transformer结构的自动化关系抽取系统
CN114387537A (zh) 一种基于描述文本的视频问答方法
CN116010581A (zh) 一种基于电网隐患排查场景的知识图谱问答方法及系统
CN116595406A (zh) 基于角色一致性的事件论元角色分类方法及系统
Xiong et al. Transferable natural language interface to structured queries aided by adversarial generation
CN117292146A (zh) 一种面向工业场景的构建多模态大语言模型的方法、系统和应用方法
CN117077655A (zh) 基于情感知识增强的方面级情感三元组提取方法及系统
CN117033423A (zh) 一种注入最优模式项和历史交互信息的sql生成方法
CN114757181B (zh) 基于先验知识端到端的事件抽取模型的训练、事件抽取方法及装置
CN114579605B (zh) 表格问答数据处理方法、电子设备及计算机存储介质
CN116258147A (zh) 一种基于异构图卷积的多模态评论情感分析方法及系统
CN113392929B (zh) 一种基于词嵌入与自编码器融合的生物序列特征提取方法
CN115470232A (zh) 模型训练和数据查询方法、装置、电子设备和存储介质
CN114358006A (zh) 基于知识图谱的文本内容摘要生成方法
CN113515960A (zh) 一种融合句法信息的翻译质量自动评估方法
CN117093196B (zh) 一种基于知识图谱的编程语言生成方法及系统
CN113536798B (zh) 一种多实例文档关键信息抽取方法和系统
CN112651246B (zh) 融合深度学习和工作流模式的服务需求冲突检测方法
Argatu et al. Joint Embeddings for Graph Instruction Tuning
CN109241539B (zh) 机器学习人工智能翻译数据库的更新方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant