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

用于技术标准文档中三元组抽取系统及方法与流程

2023-02-01 22:02:56 来源:中国专利 TAG:


1.本发明属于知识图谱数据处理领域,特别涉及用于技术标准文档中三元组抽取系统及方法。


背景技术:

2.知识图谱是通过可视化构建原始文本中各关键信息之间的关联关系,构建只是图谱的最重要的一步就是三元组抽取,三元组中包括主语字段(下文简称s字段)、谓语字段(下文简称p字段)和宾语字段(下文简称o字段)。三元组抽取即将文档中的s字段、p字段和o字段抽取出来,用于构建知识图谱,方便用户能快速的查询到需要的内容。所以三元组抽取的准确性极为重要。现有的三元组抽取模型主要以schema为主,该步骤需要领域专家从大量的文档中构建出schema,费时费力,人为参与度高,目前的开放域三元组抽取方法仍然是以句法等工具进行抽取,依赖于句法和后期规则的定制,该方法准确率较低。
3.技术标准是由国家标准委员会发布的标准,是一种动态信息,了解技术标准类文档内容对于企业来说也十分重要。由于技术标准文档的量比较大,且知识点众多,如果直接通过关键词搜索,很难充分发挥技术标准对各类作业的指导作用;对于企业工作人员来说,能在大量的技术标准文档中快速查询到需要的内容,就能有效的提高工作效率。所以针对技术标准文档的知识图谱构建变的极为重要。
4.技术标准文档的专业性更强,采用现有的三元组抽取方法对技术标准文档进行三元组抽取,获得三元组精度低。


技术实现要素:

5.发明目的:本发明针对现有技术存在的问题,提出了一种有效提高抽取精度的三元组抽取系统。
6.技术方案:为实现上述目的,本发明提供了一种三元组抽取系统,包括输入表征编码模块、s字段和p字段抽取模块、s字段和p字段关系确定模块和o字段抽取模块;
7.其中,输入表征编码模块将输入的句子转化成文本向量表征;并将得到的输入的句子的文本向量表征输入到s字段和p字段抽取模块;
8.s字段和p字段抽取模块根据接收到的输入的句子的文本向量表征,抽取其中所有的s字段和p字段,并分类;并将抽取得到且分类后的结果输入到s字段和p字段关系确定模块;
9.s字段和p字段关系确定模块通过s字段和p字段的尾部位置确定存在关系的s字段和p字段;
10.o字段抽取模块根据句子中其他字段分别与存在关系的s字段和p字段的相对位置关系抽取对应的o字段。
11.本发明还提供了一种用于技术标准文档中三元组抽取系统,包括技术标准文档预处理模块、开放域三元组抽取模块、封闭域三元组抽取模块和三元组输出模块;
12.其中,技术标准文档预处理模块用于对待抽取技术标准文档和训练文档进行文字提取;将提取的句子分别输入到开放域三元组抽取模块和封闭域三元组抽取模型;其中训练文档包括不限类型的文档和不同种类的技术标准文档;
13.开放域三元组抽取模块采用权利要求1所述的三元组抽取系统;开放域三元组抽取模块先采用不限类型的文档对利要求1所述的三元组抽取系统进行训练,得到开放域三元组抽取模型,将不同种类的技术标准文档输入到开放域三元组抽取模型进行s、p、o三元组抽取;将抽取结果中所有的p字段进行聚类,根据每个聚类簇结果,获得技术标准文件schema中的p字段,并将获的得技术标准文件schema中的p字段输入到封闭域三元组抽取模块;将待抽取的技术标准文档输入到开放域三元组抽取模型进行三元组抽取,并将抽取结果输入到三元组输出模块;
14.封闭域三元组抽取模块根据接收到的技术标准文件schema中的p字段训练封闭域三元组抽取模型;待抽取的技术标准文档输入到训练好的封闭域三元组抽取模型,并将抽取结果输入到三元组输出模块;
15.三元组输出模块将开放域三元组抽取模块输出的抽取结果和封闭域三元组抽取模块的抽取结果进行去重合并,并将去重合并后的结果进行保存。
16.进一步,封闭域三元组抽取模块中的封闭域三元组抽取模型为casrel模型。
17.进一步,所述三元组输出模块保存的三元组抽取结果作为开放域三元组抽取模块中开放域三元组抽取模型的训练数据,训练开放域三元组抽取模型。这样能有效提高整个模型的精度。
18.本发明还提供了一种用于技术标准文档中三元组抽取方法,包括以下步骤:
19.步骤1:构建开放域三元组抽取模型并进行训练;其中构建的开放域三元组抽取模型采用权利要求1所述的三元组抽取系统,采用不限类型的文档作为训练数据;
20.步骤2:将不同种类的技术标准文档输入到步骤1训练好的开放域三元组抽取模型中进行s、p、o三元组抽取;将抽取结果中所有的p字段进行聚类,根据每个聚类簇结果,获得技术标准文件schema中的p字段;
21.步骤3:采用步骤2中获得的技术标准文件p字段训练封闭域三元组抽取模型;
22.步骤4:将待抽取的技术标准文件进行预处理;
23.步骤5:采用训练好的开放域三元组抽取模型和封闭域三元组抽取模型分别对步骤4得到的预处理后的技术标准文件进行三元组抽取;
24.步骤6:对开放域三元组抽取模型和封闭域三元组抽取模型抽取的结果进行去重合并;并将去重合并后的结果进行保存。
25.进一步,所述步骤1中训练数据为不限类型的文档中同时包含s、p、o三个字段的句子。
26.进一步,将步骤6得到的结果根据技术标准文件schema中的p字段分离出开放域和封闭域数据;用开放域的数据输入到步骤1训练好的开放域三元组抽取模型中进行训练,得到新的开放域三元组抽取模型;将封闭域数据对步骤3得到的封闭域三元组抽取模型进行训练,得到新的封闭域三元组抽取模型。这样可以更好的提高三元组抽取的准确性。
27.本发明还提供了一种计算机系统,包括:
28.一个或多个处理器;
29.存储器,存储可被操作的指令,所述指令在通过所述一个或多个处理器执行时使得所述一个或多个处理器执行操作,所述操作包括上述用于技术标准文档中三元组抽取方法的流程。
30.本发明还提供了一种存储软件的计算机可读介质,所述软件包括能通过一个或多个计算机执行的指令,所述指令通过这样的执行使得所述一个或多个计算机执行操作,所述操作包括上述用于技术标准文档中三元组抽取方法的流程。
31.工作原理:本发明构建了新的三元组抽取模型,新的三元组抽取模型先对句子中的s字段和p字段,接着确定s字段和p字段的尾位置,最后根据输入句子的文本向量表征结合s字段和p字段的相对位置关系抽取对应的o字段,这样的抽取模型对于开放域三元组抽取,其精准度更高。本发明分别从深度和广度两个方面构建三元组抽取模型,首先通过开放域三元组抽取模型对任一文档进行抽取,然后聚类审核构建出schema,通过比封闭域三元组抽取模型完成对技术标准文档的三元组抽取。
32.有益效果:与现有技术相比,本发明提供的三元组抽取系统,分别从开放域和封闭域两个维度进行抽取,通过开放域抽取模型对任一文档进行抽取,构建出schema,进一步的针对schema构建出封闭域三元组抽取模型,最后分别结合开放域与封闭域模型结果返回最终标准文档三元组抽取结果,该方法较于目前的三元组抽取方法,抽取三元组效率更高且精度更高。本发明提供的用于技术标准文档中三元组抽取方法能够更加准确的抽取出技术标准文档中的三元组。
33.应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
34.结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
35.附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
36.图1为实施例1中提供的三元组抽取系统的结构示意图;
37.图2为实施例2中提供的用于技术标准文档中三元组抽取系统的结构示意图;
38.图3为实施例3中提供的用于技术标准文档中三元组抽取系统的结构示意图;
39.图4为实施例4中提供的用于技术标准文档中三元组抽取方法的流程图;
40.图5为实施例4中提供的开放域三元组抽取模型的结构示意图;
41.图6为实施例5中提供的用于技术标准文档中三元组抽取方法的流程图。
具体实施方式
42.为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
43.在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。
本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
44.下面将结合本发明实例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.实施例1:
46.本实施例公开了一种三元组抽取系统,如图1所示,包括:包括输入表征编码模块、s字段和p字段抽取模块、s字段和p字段关系确定模块和o字段抽取模块;
47.其中,输入表征编码模块将输入的句子转化成文本向量表征;并将得到的输入的句子的文本向量表征输入到s字段和p字段抽取模块;
48.s字段和p字段抽取模块根据接收到的输入的句子的文本向量表征,抽取其中所有的s字段和p字段,并分类;并将抽取得到且分类后的结果输入到s字段和p字段关系确定模块;
49.s字段和p字段关系确定模块通过s字段和p字段的尾部位置确定存在关系的s字段和p字段;
50.o字段抽取模块根据句子中其他字段分别与存在关系的s字段和p字段的相对位置关系抽取对应的o字段。
51.实施例2:
52.本实施例提供了一种用于技术标准文档中三元组抽取系统,如图2所示,包括技术标准文档预处理模块、开放域三元组抽取模块、封闭域三元组抽取模块和三元组输出模块;
53.其中,技术标准文档预处理模块用于对待抽取技术标准文档和训练文档进行文字提取;将提取的句子分别输入到开放域三元组抽取模块和封闭域三元组抽取模型;其中训练文档包括不限类型的文档和不同种类的技术标准文档;
54.开放域三元组抽取模块采用实施例1公开的三元组抽取系统;开放域三元组抽取模块先采用不限类型的文档对实施例1公开的三元组抽取系统进行训练,得到开放域三元组抽取模型,将不同种类的技术标准文档输入到开放域三元组抽取模型进行s、p、o三元组抽取;将抽取结果中所有的p字段进行聚类,根据每个聚类簇结果,获得技术标准文件schema中的p字段,并将获的得技术标准文件schema中的p字段输入到封闭域三元组抽取模块;将待抽取的技术标准文档输入到开放域三元组抽取模型进行三元组抽取,并将抽取结果输入到三元组输出模块;
55.封闭域三元组抽取模块根据接收到的技术标准文件schema中的p字段训练封闭域三元组抽取模型;待抽取的技术标准文档输入到训练好的封闭域三元组抽取模型,并将抽取结果输入到三元组输出模块;
56.三元组输出模块将开放域三元组抽取模块输出的抽取结果和封闭域三元组抽取模块的抽取结果进行去重合并,并将去重合并后的结果进行保存。
57.实施例3:
58.如图3所示,本实施例提供了一种用于技术标准文档中三元组抽取系统,其中,在实施例2的基础上,三元组输出模块保存的三元组抽取结果作为开放域三元组抽取模块中开放域三元组抽取模型的训练数据,训练开放域三元组抽取模型。从而使开放域三元组抽取模型的抽取的精准度更高。
59.实施例4:
60.本实施例公开了一种用于技术标准文档中三元组抽取方法,如图4所示,主要包括以下步骤:
61.步骤1:构建开放域三元组抽取模型并进行训练。本实施例中构建的开放域三元组抽取模型采用联合建模的方式进行抽取;
62.步骤2:将不同种类的技术标准文档输入到步骤1训练好的开放域三元组抽取模型中进行s、p、o三元组抽取;将抽取结果中所有的p字段进行聚类,根据每个聚类簇结果,获得技术标准文件schema中的p字段;
63.步骤3:采用步骤2中获得的技术标准文件p字段训练封闭域三元组抽取模型;
64.步骤4:将待抽取的技术标准文件进行预处理;
65.步骤5:采用训练好的开放域三元组抽取模型和封闭域三元组抽取模型分别对预处理后的技术标准文件进行三元组抽取。封闭域三元组抽取模型依据步骤2中得到的技术标准文件schema中的p字段进行抽取,只抽取含有技术标准文件schema中的p字段的三元组;
66.步骤6:对开放域三元组抽取模型和封闭域三元组抽取模型抽取的结果进行去重合并;并保存到关系型数据库中,用于图谱构建。
67.下面我们结合具体的示例,对前述实施例的方法的实现进行更加具体的说明。
68.如图所示,在前述步骤1中,本实施例中构建的开放域三元组抽取模型中,先将句子输入到bert编码器中完成句子的文本向量表征,然后抽取输入句子中的s字段和p字段,接着确定s字段和p字段的尾位置,最后根据输入句子的文本向量表征结合s字段和p字段的相对位置关系抽取对应的o字段。
69.其中,开放域三元组抽取模型的训练步骤包括:
70.步骤101:构建训练数据集;本实施例中采用公开的百度信息标注三元组的数据和同济大学公开的三元组数据作为候选数据;在候选数据中选择一句话中同时包含s、p、o三个字段的句子作为训练数据集;
71.步骤102:获取训练数据集中每个句子的文本向量表征;h=bert(x1,x2,x3,...xi...xn);h表示输入句子的文本向量表征;其中,xi表示输入句子中第i个位置的内容;
72.步骤103:对输入的句子的文本向量表征实体抽取。这里实体抽取主要是识别出输入的句子中所有的s字段和p字段,并分类。实体抽取看作为表格填充,输入句子的长度分别为表格的行和列的数量,表格中的元素为为表格的行和列的数量,表格中的元素为表示输入句子中第i个位置和第j个位置是第ka种实体类型的开始和结束位置的概率,实体类型包括s字段和p字段两类;a=1、2。本实施例中,表示输入句子中第i个位置和第j个位置是s字段的开始和结束位置的概率;表示输入句子中第i个位置和第j个位置是p字段的开始和结束位置的概率。
73.ei=w
ihi
bi;
74.ej=w
jhj
bj;
[0075][0076][0077]
其中,hi=bert(xi),hi表示输入句子中第i个位置的内容的文本向量表征;wi、bi、wj和bj为待训练参数。ei表示第i个位置的内容为实体开始位置的表征,ej表示第j个位置的内容为实体开始位置的表征。为ej的转置矩阵。σ表示sigmoid激活函数。linear为线性激活函数。在训练过程中,输入句子的s字段和p字段为已知信息,则根据已知信息训练待训练参数wi、bi、wj和bj。
[0078]
步骤104:从步骤103中抽取得到的s字段和p字段中抽取s字段和p字段的尾部位置,通过s字段和p字段的尾部位置确定存在关系的s字段和p字段。主要方法为:
[0079]rs
=tanh(w
shi
bs);
[0080]rp
=tanh(w
phi
b
p
);
[0081][0082]
p
i,j
=σ(linear(r
i,j
));
[0083]
其中,rs表示hi为s字段的尾部位置的表征;r
p
表示hi为p字段的尾部位置的表征;hi表示输入句子中第i个位置的内容的文本向量表征;ws、bs、w
p
和b
p
为待训练参数。tanh表示激活函数,表示拼接操作,σ表示sigmoid激活函数,p
i,j
表示输入句子的第i个位置和第j个位置可以构成关系的概率。在训练过程中,输入句子的s字段的尾位置和p字段尾位置为已知信息,则根据已知信息训练待训练参数ws、bs、w
p
和b
p

[0084]
步骤105:根据句子中其他字段分别与存在关系的s字段和p字段之间的相对位置关系抽取对应的o字段。主要根据以下公式获取输入句子中每个位置是o字段开始位置和结束位置的概率,从而实现o字段的抽取。
[0085]sdis
=embedding(sidx);
[0086]
p
dis
=embedding(pidx);
[0087][0088][0089][0090]
其中,hi表示输入句子中第i个位置的内容的文本向量表征;sidx表示与其他字段与s字段之间的相对位置,pidx表示其他字段与p字段之间的相对位置,w
start
、b
start
、w
end
和b
end
为待训练参数。表示输入句子中第i个位置是o字段的开始位置的概率,表示输入句子中第i个位置是o字段的结束位置的概率。
[0091]
本实施例中采用相对位置关系实现o字段的抽取,其中为了保证o字段与sp字段的对应关系,在bert表征的基础上嵌入了s字段和p字段的相对位置编码信息。即sidx和pidx。
[0092]
在训练过程中,由于o字段、p字段和s字段均为已知。例如,句子“防弹车辆,其透光率不小于60%”,该句子对应s字段为防弹车辆,p字段为透光率,所以其他字段与对应的s字段之间的相对位置为:sidx=[0,0,0,0,1,2,3,4,5,6,7,8,9,10,11],由于该句中s字段在句首,其他字段与s字段之间的位置关系,则为与s字段的最后一个字之间的距离;其他字段
与对应的p字段之间的相对位置为:pidx=[6,5,4,3,2,1,0,0,0,1,2,3,4,5,6],由于p字段在句子中间,则在p字段前的字则记录以与p字段首字之间的距离,位于p字段后的字则记录与p字段最后一个字之间的距离。则根据已知信息训练待训练参数w
start、bstart
、w
end
和b
end

[0093]
步骤2:将不同种类的技术标准文档输入到步骤1训练好的开放域三元组抽取模型中进行s、p、o三元组抽取;将抽取结果中所有的p字段进行聚类,根据每个聚类簇结果,获得技术标准文件schema中的p字段。
[0094]
例如,获得的技术标准文件schema中的p字段包括:“包含”、“属于”、“定义”、“适用于”、“要求”、“起草人”、“影响因素”、“代替”、“同义词”、“依据”、“步骤”、“起草机构”、“范围”、“尺寸”、“引用”、“发布”。
[0095]
步骤3:采用步骤2中获得的技术标准文件p字段训练封闭域三元组抽取模型。
[0096]
例如,本实施例中封闭域三元组抽取模型采用casrel模型,这样能够有效的解决重叠三元组抽取问题。
[0097]
步骤4:将待抽取的技术标准文件进行预处理。
[0098]
作为可选的实施方式,依据不同类型的技术标准文件,对技术标准文件进行文字提取:如果技术标准文件是docx文档,直接采用python-docx包进行解析,依据word本身自带的格式解析出word文档的标题和段落;如果技术标准文件是pdf文件,那么采用pdfplumber进行解析,直接读取pdf中的每一行。
[0099]
步骤5:采用训练好的开放域三元组抽取模型和封闭域三元组抽取模型分别对预处理后的技术标准文件进行三元组抽取。
[0100]
其中,封闭域三元组抽取模型依据步骤2中得到的技术标准文件schema中的p字段进行抽取,只抽取含有技术标准文件schema中的p字段的三元组。
[0101]
步骤6:对开放域三元组抽取模型和封闭域三元组抽取模型抽取的结果进行去重合并;并保存到关系型数据库中,用于图谱的构建。
[0102]
实施例5:
[0103]
本实施例公开了一种用于技术标准文档中三元组抽取方法,其中步骤1~6与实施例5相同;还包括步骤7:
[0104]
步骤7:将步骤6得到的去重合并后正确的三元组加入模型进行微调训练,以优化模型的抽取效果;根据技术标准文件schema中的p字段从步骤6得到的去重合并后得到三元组中分离出开放域和封闭域数据,即含有技术标准文件schema中的p字段的三元组为封闭域数据,其他的为开放域数据;将开放域的数据输入到步骤1得到的开放域三元组抽取模型中进行训练,得到新的开放域三元组抽取模型。将封闭域数据对步骤3得到的封闭域三元组抽取模型进行训练,得到新的封闭域三元组抽取模型。
[0105]
本发明还提供了一种存储软件的计算机可读介质,所述软件包括能通过一个或多个计算机执行的指令,所述指令通过这样的执行使得所述一个或多个计算机执行操作,所述操作包括上述用于技术标准文档中三元组抽取方法的流程。
[0106]
本发明还提供了一种计算机系统,包括:一个或多个处理器;存储器,存储可被操作的指令,所述指令在通过所述一个或多个处理器执行时使得所述一个或多个处理器执行操作,所述操作包括如前述用于技术标准文档中三元组抽取方法的流程。
[0107]
应当理解,本发明的前述用于技术标准文档中三元组抽取方法的示例可以在任何
包含具有数据存储和数据处理的计算机系统中,前述的计算机系统可以是至少一个包括处理器和存储器的电子处理系统或者电子设备,例如pc电脑,不论是个人用pc电脑、商用pc电脑,或者图形处理用pc电脑、服务器级pc电脑。这些pc电脑通过具有数据接口和/或网络接口,实现有线和/或无线的数据传输,尤其是图像数据。
[0108]
在另一些实施例,该计算机系统还可以是服务器,尤其是云服务器,具有数据存储、处理以及网络通讯功能。
[0109]
作为示例的计算机系统通常包括由系统总线连接的至少一个处理器、存储器和网络接口。网络接口用于与其他设备/系统进行通信。
[0110]
处理器用于提供系统的计算和控制。
[0111]
存储器包括非易失性存储器和缓存。
[0112]
非易失性存储器通常具有海量存储能力,可以存储操作系统以及计算机程序,这些计算机程序可以包括可被操作的指令,这些指令在通过一个或多个处理器执行时使得一个或多个处理器能够执行本发明前述用于技术标准文档中三元组抽取方法的过程。
[0113]
在需要或者合理的实现方式中,前述计算机系统,不论是pc设备或者服务器,还可以包括比图示中更多或者更少的部件,或者组合,或者采用不同的硬件、软件等不同部件或者不同的部署方式。
[0114]
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献