信息实体抽取方法、装置、电子设备和存储介质与流程

文档序号:25612870发布日期:2021-06-25 15:24阅读:173来源:国知局
信息实体抽取方法、装置、电子设备和存储介质与流程

1.本申请实施例涉及数据分析技术领域,尤其涉及一种信息实体抽取方法、装置、电子设备和存储介质。


背景技术:

2.作为自然语言处理领域的一个重要分支,信息抽取的主要功能是从自然语言文本中抽取出特定的事实信息,以通过自动化的方式帮助人们在海量的信息中迅速找到自己真正需要的信息,应对信息爆炸带来的挑战。其中,信息实体抽取作为信息抽取中最有实用价值的一项技术,其主要任务是识别出文本中出现的专有名称和有意义的数量短语并加以归类。
3.目前,用于信息实体抽取的业界主流方法是序列标注法,即对于文本中每个词可以有若干个候选的类别标签,每个标签对应于其在各类信息实体中所处的位置,通过对文本中的每个词进行序列化的自动标注(也即分类),再将自动标注的标签进行整合,最终获得有若干个词构成的信息实体及其类别。
4.然而,对于较长的文本,可能的序列模式会变得很多,导致序列标法存在识别效果差和识别效率低的问题。


技术实现要素:

5.本申请实施例提供一种信息实体抽取方法、装置、电子设备和存储介质,以解决现有技术中存在的识别效率和准确率不高的问题。
6.第一方面,本申请实施例提供一种信息实体抽取方法,包括:
7.获取原始数据文本;
8.对所述原始数据文本进行有序分块,得到至少一个文本块;
9.根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到所述原始数据文本包含的至少一个信息实体;
10.根据预设规则进行类别推断,确定所述至少一个信息实体的类别。
11.可选地,所述对所述原始数据文本进行分块,得到有序且语义连续的至少一个文本块,包括:
12.对所述原始数据文本进行分段和/或分句处理,得到至少一个短文本;
13.对所述至少一个短文本进行排序和语义连续性处理,得到所述至少一个文本块。
14.可选地,所述对所述原始数据文本进行有序分块,得到至少一个文本块,包括:
15.根据段落项目符号,对所述原始数据文本进行分段,得到至少一个段落文本;
16.根据句尾标识符,对字符长度大于设定阈值的段落文本进行拆分,得到所述至少一个短文本。
17.可选地,所述对所述至少一个短文本进行排序和语义连续性处理,得到所述至少一个文本块,包括:
18.根据所述至少一个短文本在原始数据文本中出现的先后顺序,对所述至少一个短文本进行排序;
19.确定目标短文本的末尾关键词是否为目标信息实体的一部分,若是,则将目标短文本与下一个短文本进行合并,得到所述至少一个文本块。
20.可选地,所述方法还包括:
21.在每个文本块的首尾添加特殊标识符。
22.可选地,所述根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到所述原始数据文本包含的至少一个信息实体,包括:
23.对所述至少一个文本块进行特征编码,得到每个文本块的二维词典列表;
24.根据预设算法对所述二维词典列表进行序列标注预测,得到每个文本块的目标标注序列;
25.根据所述目标标注序列,从所述二维词典列表中进行字符抽取,得到每个文本块中包含的信息实体。
26.可选地,所述根据预设算法对所述二维词典列表进行序列标注预测,得到每个文本块的目标标注序列,包括:
27.根据条件随机场crf算法,计算所述二维词典列表中每个词序列被标记为候选标注的条件概率;
28.根据所述条件概率,通过维特比算法,从所述候选标注中寻找最优的标注,得到所述目标标注序列。
29.可选地,所述根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到所述原始数据文本包含的至少一个信息实体之前,所述方法还包括:
30.获取样本数据文本;
31.根据目标信息实体,对所述样本数据文本进行标记,得到训练数据集,所述目标信息实体是对同类属性的信息实体进行合并后得到的;
32.根据所述训练数据集进行模型训练,得到至少一个信息实体抽取模型。
33.可选地,所述根据目标信息实体,对所述样本数据文本进行标记,得到训练数据集,包括:
34.在所述样本数据文本中,分别标注出所述目标信息实体和所述目标信息实体的前缀关键词,得到所述训练数据集。
35.第二方面,本申请实施例提供一种信息实体抽取装置,包括:
36.获取模块,用于获取原始数据文本;
37.处理模块,用于对所述原始数据文本进行有序分块,得到至少一个文本块;根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到所述原始数据文本包含的至少一个信息实体;根据预设规则进行类别推断,确定所述至少一个信息实体的类别。
38.第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述的信息实体抽取方法。
39.第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的信息实体抽取方法。
40.本申请实施例提供的信息实体抽取方法、装置、电子设备和存储介质,通过获取原始数据文本,对原始数据文本进行有序分块,得到至少一个文本块,根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到原始数据文本包含的至少一个信息实体,根据预设规则进行类别推断,确定至少一个信息实体的类别,实现了对信息实体的自动化抽取,由于信息实体抽取的过程中,采用了对原始数据文本有序分块和“合并

预测

还原”的策略,在降低了模型的复杂度和工作量的同时,还提高了信息实体的抽取效率和抽取精度。
附图说明
41.图1为本申请实施例一提供的信息实体抽取方法的流程示意图;
42.图2为本申请实施例一提供的crf算法计算条件概率的原理示意图;
43.图3为本申请实施例一提供的基于crf算法和viterbi算法的标注序列预测的原理示意图;
44.图4为本申请实施例二提供的信息实体抽取装置的结构示意图;
45.图5为本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
46.下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
47.本申请技术方案的主要思路:基于现有技术中存在的技术问题,本申请实施例提供一种信息实体抽取的技术方案,将信息实体抽取问题转化为序列标注预测问题,首先,对原始信息文本进行有序分块,然后,利用由条件随机场(conditional random field,crf)算法和viterbi(中文:维特比)算法预先构建的信息实体抽取模型,为每个文本块找出其最优的序列标注,最后,经过规则的后处理确定出正确的信息实体,通过文本有序分块将长文本拆分为文本块,进而利用模型对文本块进行信息实体抽取,有效降低了模型复杂度,也提高了模型预测精度和运行效率。另外,在模型策略的选择上,本申请实施例采用了“合并

预测

还原”的做法,即先将多个同类属性合并为粗粒度属性,通过预测模型,抽取出粗粒度属性的所有信息实体,然后对这些信息实体进行类别推断,进而将粗粒度属性拆分还原为细粒度的属性,并且,采取了先抽取前缀+属性信息实体,然后通过规则去除前缀的做法,提升了模型的预测精度,降低了模型复杂度和工作量。
48.下面将以从招投标数据中抽取出相关属性信息为例,对本申请的技术方案加以说明,可以理解的是,本申请实施例的技术方案也可以用于其他场景中。
49.实施例一
50.图1为本申请实施例一提供的信息实体抽取方法的流程示意图,本实施例的方法可以由本申请实施例所提供的信息实体抽取装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于服务器以及智能终端等电子设备中。如图1所示,本实施例的信息实体抽取方法,包括:
51.s101、获取原始数据文本。
52.本实施例中,原始数据文本是指待进行信息实体抽取的文本,是进行信息实体抽取的数据基础。为实现原始数据的获取,本实施例中,可以预先在相关平台或网站上设置数据采集探针,通过对数据采集探针传回的数据进行收集和整理,得到原始数据文本。
53.可选地,在对收集和整理的基础上,本实施例中,还可以对数据采集探针传回的数据做一些简单的预处理,包括去掉空格、tab符、换行符等特殊符号、英文符号转中文符号、全角符号转半角符号,等等,以使得到的原始数据文本能够满足后续的分析和使用需求。
54.s102、对原始数据文本进行有序分块,得到至少一个文本块。
55.由于crf算法对长文本的训练和预测效果较差,因此,本实施例中,对获取到的原始数据文本进行有序分块,即在不影响其语义连续性的情况下,将原始数据文本依序逐步拆分为一些较短的文本块。
56.可选地,本步骤中,可先根据段落标识符或句尾标识符,对原始数据文本进行分段和/或分句处理,得到至少一个短文本,再对拆分得到的至少一个短文本进行排序和语义连续性处理,得到至少一个文本块。
57.在一种可能的实施方式中,可通过如下具体步骤,实现原始数据文本的有序分块:
58.(1)以段落项目符号(如“一、”、“(一)”、“1.”、“1.1”、“(1)”等)将招投标信息内容拆分为几大部分的文本,为便于区分,将本步骤拆分得到的文本叫做段落文本;
59.(2)对于每一个段落文本,依次判断其字符长度是否大于设定阈值,如100个字符,对于字符长度大于设定阈值的段落文本,以段落文本中句尾标识符(如句号)为分割符号,对该段落文本做进一步拆分;对于字符长度小于或等于设定阈值的段落文本,则不做进一步拆分,为便于区分,将本步骤拆分得到的文本叫做短文本;
60.(3)先将(2)拆分得到的短文本,按其在原始数据文本中出现的先后顺序进行排序,再通过语义判断,确定目标短文本的末尾关键词是否为目标信息实体的一部分,若是,则将该短文本与下一个短文本进行合并,得到有序的且不影响语义连续性的短文本,为便于区分,将本步骤中得到的短文本叫做文本块。
61.其中,目标短文本是指当前进行主义判断的短文本,可以是任意一个短文本。目标信息实体是指待抽取的信息实体,可以是事先根据需求确定的,如项目名称、项目编号、单位名称、地址、联系人、联系方式、采购金额、采购方式、品名、数量、金额等。
62.示例性地,若某个短文本的末尾关键词为“采购预算:”,而下一短文本为“30万元整”,则需要将这两个短文本合并为“采购预算:30万元整”,这样就保证了其语义连续性。
63.为便于后续处理方便,本步骤中,还可以按照排列的先后顺序,为得到的至少一个文本块标注上序号。
64.可选地,由于crf算法对于信息实体出现在文本的头部或尾部的情况预测效果较差,为提高crf算法的预测精度,本实施例中,还可以在每个文本块的首尾添加特殊文本标识符,使信息实体出现在文本块的中间(而不是头部或尾部)。例如,在句首前添加“条件随机场条件随机场条件随机场条件随机场条件随机场@”,在句尾后添加“@条件随机场条件随机场条件随机场条件随机场条件随机场”。
65.s103、根据预先构建的信息实体抽取模型对至少一个文本块进行处理,得到原始数据文本包含的至少一个信息实体。
66.本实施例中,为实现从原始数据文本中抽取出需要的数据,预先根据crf算法和
viterbi算法进行各类信息实体抽取模型的构建。
67.由于原始数据文本中通常包括很多属性信息,如招投标信息文本中,通常包括项目编号、项目名称、招标单位名称、招标单位地址、招标单位联系人、招标单位联系方式、代理机构名称、代理机构地址、代理机构联系人、代理机构联系方式、中标单位名称、中标单位地址、中标单位联系人、中标单位联系方式、采购金额、采购方式、采购品名、规格、数量、单价、报价、品牌、厂家、等等。如果通过一个模型把所有属性的信息实体同时抽取出来,模型复杂度会增加,预测精度也会降低;如果为每个属性单独建立特定的模型,n个属性就有n种模型,每个模型都是对最细粒度的属性进行抽取,这会增加模型训练工作量,预测精度可能也不高。例如,属性“招标单位联系方式”一般只出现在招投标信息某一个地方,但“联系方式”却可能出现在招投标信息中的多个地方,这会给属性“招标单位联系方式”的抽取带来很多干扰。
68.为解决这个问题,本实施例中,在构建信息实体抽取模型时,通过合并同类属性,例如,将属性——招标单位联系方式、代理机构联系方式、中标单位联系方式,合并为粗粒度属性——联系方式,然后为每一个粗粒度属性建立模型,在进行信息实体抽取时,通过模型将粗粒度属性对应的所有的信息实体抽取出来,不仅降低了模型复杂度的,还兼顾了信息实体抽取模型的预测精度。
69.在一种可能的实施方式中,本实施例中,通过获取样本数据文本,根据目标信息实体,对样本数据文本进行标记,得到训练数据集,根据训练数据集进行模型训练,得到至少一个信息实体抽取模型。
70.其中,目标信息实体是对同类属性的信息实体进行合并后得到的,即前述提到的粗粒度属性,如联系方式。
71.由于大多数原始数据文本的内容格式相对固定,且所要抽取的属性的前缀字符串的书写格式也比较固定,例如,招标单位名称前面一般会写“招标单位:”之类的前缀关键词。如果能把这样的前缀关键词连同信息实体一起作为信息实体,可有效降低模型的复杂度以及预测的误差,为此,在对样本数据文本进行标注,可以分别标注出目标信息实体和目标信息实体的前缀关键词,得到所述训练数据集。
72.示例性地,通过在项目名称、项目编号、单位名称、地址、联系人、联系方式、采购金额、采购方式、品名、数量、金额等属性信息实体抽取模型训练数据的标注上,均将相关的前缀关键词加上,一同标注出来,得到对应模型的训练数据集。
73.可以理解的是,本实施例中,经上述方法训练信息实体抽取模型的数量与粗粒度属性的数量一致,每一个信息实体抽取模型用于对一种粗粒度属性进行信息实体抽取。
74.本实施例中,根据功能的不同,可以将信息实体抽取模型分为特征编码模块、序列标注预测模块和信息实体抽取模块,其中,特征编码模块用于对文本块进行特征编码,得到各文本块对应的二维词典列表,序列标注预测模块用于对二维词典列表进行序列标注预测,得到每个文本块的目标标注序列(最优标注序列),信息实体抽取模块用于根据目标标注序列,从所述二维词典列表中进行字符抽取,得到每个文本块中包含的信息实体。下面将分别对各个模块的具体实施原理加以说明:
75.(1)特征编码模块
76.由于crf算法在对序列标注预测中会用到上下文信息,因此,需要将每个文本块进
行特征编码,使其转换为二维词典列表的形式,为文本块中的每个字符提前确定其前一个字符和后一个字符。
77.在一种可能的实施方式中,本实施例中,对于每个文本块中,假设文本块中的字符用s
i
(i取1,2,本块,n,其中,n为输入文本块的长度)表示,可通过如下规则进行特征编码:
78.(a)如果当前字符是文本块的中间字符,即1<i<n,则可以通过如下规则对该字符编码进行编码:
79.当前字符

[当前字符,前一个字符+当前字符,当前字符+后一个字符],即,s
i
,[s
i
,s
i
‑1s
i
,s
i
s
i+1
];
[0080]
(b)如果当前字符是文本的第一个字符,即i=1,将其前一个字符表示为<start>,则可通过如下规则该字符进行编码:
[0081]
当前字符

[当前字符,<start>,当前字符+后一个字符],即,s1,[s1,<start>,s1s2];
[0082]
(c)如果当前字符是文本的最后一个字符,即i=n,将其后一个字符表示为<end>,则可通过如下规则该字符进行编码:
[0083]
当前字符

[当前字符,前一个字符+当前字符,<end>],即,s
n
,[s
n
,s
n
‑1s
n
,<end>]。
[0084]
示例性地,如表1所示,以文本块“项目采购单位:人民医院”为例,特征编码后的,可以转换为“[[项,<start>,项目],[目,项目,目采],[采,目采,采购],
……
,[院,医院,<end>]]”的二维词典列表。
[0085]
表1
[0086]
文本块项目采购单位:人民医院特征编码[[项,<start>,项目],[目,项目,目采],
……
,[院,医院,<end>]]
[0087]
需要说明的是,本实施例中,文本块中的标点符号,如冒号(:)也参与特征编码。
[0088]
经过特征编码之后,每一个文本块都被转换为一个与之对应的二维词典列表,假设每个字符s
i
经编码后得到的词序列用x
i
表示,则文本块s=[s1,s2,

,s
n
]经特征编码后得到的二维词典列表可记为x=[x1,x2,

,x
n
]。
[0089]
(2)序列标注预测模块
[0090]
示例性地,本实施例中,采用bieo(全称:begin,intermediate,end,other)标注方法来对二维词典列表中的每个字符进行标注。其中,b表示信息实体的首部,i表示信息实体的内部,e表示信息实体的尾部,o表示不为信息实体的任何字符。二维词典列表经过这样标注后,就转为由b、i、e、o四个字母标注的标注序列,如[o,o,b,i,i,

,e],为便于区分,本实施例中将这样的标注序列记为y=[y1,y2,

,y
n
]。
[0091]
如表2所示,同样地,以文本块“项目采购单位名称:人民医院”为例,假设当前模型为用于对采购单位进行抽取的模型,则对该文本块进行标注后,得到的标注序列可以表示为“[o,o,b,i,i,

,e]”。
[0092]
表2
[0093]
文本块项目采购单位:人民医院特征编码[[项,<start>,项目],[目,项目,目采],
……
,[院,医院,<end>]]标注序列[o,o,b,i,i,

,e]
[0094]
由于需要利用上下文信息作为特征,且对于一个长度为n的文本块,一般有种标注序列(m指标注种类数,对于采用bieo标注方法的情况,m=4),在一种可能的实施方式中,本实施例中实例,采用crf算法,计算二维词典列表中每个词序列被标记为候选标注(即可能的标注中的一种,如b、i、e、o中的任一种)的条件概率,并采用viterbi算法根据条件概率找出最优的标注,得到二维词典列表对应的最优标注序列,即目标标注序列,以有效降低计算复杂度。下面将分别对crf算法和viterbi算法的实现原理加以说明:
[0095]
a.crf算法
[0096]
对于二维词典中的每一个词序列x
i
,crf算法通过两种特征函数计算出x
i
的标注为yi的概率,分别为转移函数t
k1
(y
i
‑1,y
i
,i)和状态函数s
k2
(y
i
,x,i),示例性地,图2为本申请实施例一提供的crf算法计算条件概率的原理示意图,如图2所示,转移函数t
k1
(y
i
‑1,y
i
,i)依赖于当前位置和前一个位置,表示上一个词序列x
i
‑1对应的标注y
i
‑1转移到当前词序列x
i
对应的标注y
i
的概率,即转移概率;状态函数s
k2
(y
i
,x,i)仅依赖于当前位置,表示该词序列x
i
的标注为y
i
的概率,即状态概率。
[0097]
crf计算条件概率参数化形式如下:
[0098][0099]
其中,p(y|x)表示x的标注为y的条件概率,i为词序列的编号(i=1,2,

,n,n为二维词典列表的长度),k为特征函数的编号(k=1,2,

,k,k为特征函数的数量),f
k
(y
i
‑1,y
i
,x,i)为特征函数,是转移函数t
k1
(y
i
‑1,y
i
,i)和状态函数s
k2
(y
i
,x,i)的统一符号表示,ω
k
为特征函数的权重,是转移函数t
k1
(y
i
‑1,y
i
,i)的权重和状态函数s
k2
(y
i
,x,i)的权重统一符号表示,z(x)是规范化因子,可以用公式表示为:
[0100][0101]
通过上述公式(1)和(2)就可以计算出二维词典列表中的当前的词序列被标记为候选标注的条件概率。
[0102]
b.viterbi算法
[0103]
本实施例中,viterbi算法用于求解每个词序列的条件概率的最优值,得到每个词序列最优的标注,进而找出最优的标注序列y
*
=[y
1*
,y
2*
,y
3*
,

,y
n*
]。viterbi算法基于这样的假定:最优路径的子路径也一定是最优的。其算法思路是,从根节点出发,每走一步,比较根节点到上层节点的最短路径+上层节点到当前节点的最短距离,递归计算到达该点的最短路径,一直走到终点。
[0104]
记δ
i
(l)为二维词典列表中第i个词序列x
i
标注为l(可能取值1,2,

,m)的条件概率的最大值。根据viterbi算法,在第i+1个词序列x
i+1
标注为l的条件概率的最大值δ
i+1
(l)表示为:
[0105][0106]
记φ
i+1
(l)为使δ
i+1
(l)达到最大值的第i个字符的标注取值,则φ
i+1
(l)表示为:
[0107][0108]
由此可见,基于crf算法和viterbi算法的标注序列预测原理为:从二维词典列表中的第一个词序列开始,对于第一个词序列,先根据crf算法根据公式(1)计算当前词序列的被标记为各候选标注的条件概率,再将计算得到的条件概率代入公式(4)中计算当前词序列的最优标注,对于后面的词序列,均以前一个词序列的最优标注为基础,根据crf算法和viterbi算法得到最优的标序列,最后通过对各个词序列的最优序列进行组合,得到目标标注序列。
[0109]
例性地,以文本块“项目采购单位:人民医院示”为例,图3为本申请实施例一提供的基于crf算法和viterbi算法的标注序列预测的原理示意图,如图3所示,在第1次迭代时,假设通过crf算法对第一个字符“项”的词序列进行条件概率计算,得到其被标记为o(设l=1)、b(设l=2)、i(设l=3)、e(设l=4)的条件概率分别为0.75、0.1、0.1和0.05,则可确定“项”的最优标注为“o”,在第2次迭代,由viterbi算法可知,只需要计算以o为起点的o—>o、o—>b、o—>i、o—>e的4个条件概率,从而确定第二个字符“目”的,依次迭代,直到完成最后一个字符“院”的最优标注的选取,最后,对各个字符的最优标注进行组合,即可得到该文本块对应的目标标注序列。
[0110]
示例性地,对于输入为x=x1,x2,

,x
n
的二维词典列表,模型内部基于crf算法和viterbi算法的标注序列预测流程如下:
[0111]
1)初始化:
[0112][0113]
f1(l)=start,l=1,2,l,m
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0114]
2)对于i=1,2,

,n

1,通过公式(3)和(4)依次递推计算;
[0115]
3)i=n,终止,计算得到最优的
[0116][0117]
4)回溯,依次计算得到最优的i=n

1,n

2,

,1:
[0118][0119]
5)得到目标标注序列
[0120]
可以理解的是,本实施例中,在模型训练阶段可以先定义出各模型需要的crf特征函数,然后通过对已知标注序列的数据(即训练数据集)进行训练,确定出各模型的所有的特征函数f
k
(y
i
‑1,y
i
,x,i)及其权重ω
k
,即可。
[0121]
(3)信息实体抽取模块
[0122]
信息实体抽取模块主要用于根据目标标注序列,从二维词典列表中抽取出标注为b、i、e的字符,示例性地,假设文本块s=[s1,s2,s3,
……
,s
n
]对应的目标标注序列为y
*
=[y
1*
,y
2*
,y
3*
,

,y
n*
],则可通过如下工作流程,抽取出目标信息实体t:
[0123]
依次判断二维词典列表中的每一个字词序列s
i
及其标注y
i*
[0124]
for i=1to n(n为二维词典列表的长度){
[0125]
if标注y
i*
为b,且下一个字符的标注y
i

1*
为i,then
[0126]
将标注y
i*
对应的字符s
i
写入t,即t

s
i

[0127]
else if标注y
i*
为b,且下一个字符的标注y
i

1*
为e,then
[0128]
将标注y
i*
对应的字符s
i
写入t,即t

s
i

[0129]
else if标注y
i*
为i,且上一个字符的标注y
i+1*
为b,then
[0130]
将标注y
i*
对应的字符s
i
写入t,即t

s
i

[0131]
else if标注y
i*
为e,且上一个字符的标注y
i+1*
为b或i,then
[0132]
将标注y
i*
对应的字符s
i
写入t,即t

s
i

[0133]
else
[0134]
标注y
i*
对应的字符s
i
不写入t
[0135]
}
[0136]
可以理解的是,由于特征提取模块、序列标注预测模块和信息实体抽取模块的功能和原理各不相同,因此,本申请实施例中在信息实体抽取模型的训练过程中,可以分别对信息实体抽取模型中的特征提取模块、序列标注预测模块和信息实体抽取模块进行训练。
[0137]
s104、根据预设规则进行类别推断,确定至少一个信息实体的类别。
[0138]
由于s103中信息实体抽取模型是基于粗粒度属性进行信息实体抽取的,因此,还需要进行类别推断,得到细粒度属性,从而保证信息实体抽取的准确性。例如,对于招投标数据文本的信息实体抽取结果中,如单位名称、地址、联系人、联系方式等属性,本步骤中还需要进一步进行类别推断,以判断是采购单位还是代理机构的单位名称、地址、联系人、联系方式等。进行类别推断的具体规则可以根据实际情况进行设定,此处不做限制。
[0139]
以联系方式为例,假设招投标数据文本(原始数据文本)的文本块集合为s0=[s1,s2,s3,

,s
n
]及其联系方式的信息实体集合t0=[t1,t2,t3,

,t
n
],可通过如下流程判断该信息实体集合中的信息实体的类别(采购单位或代理机构):
[0140]
依次判断每个文本块s
i
及其抽取出来的信息实体t
i
,记h为信息实体t
i
在文本块s
i
中首次出现的位置,采购单位信息实体集合为c=[c1,c2,c3,
……
,c
n
],代理机构信息实体集合为d=[d1,d2,d3,
……
,d
n
]。
[0141]
for i=1to n(n为招投标信息拆分的文本块数目){
[0142]
if信息实体t
i
含有“代理”等与代理机构相关的关键词,then
[0143]
信息实体t
i
属于代理机构,即c
i

“”
,d
i
=t
i

[0144]
else if信息实体t
i
含有“采购单位”等与采购单位相关的关键词,then
[0145]
信息实体t
i
属于采购单位,即c
i
=t
i
,d
i

“”

[0146]
else if信息实体t
i
对应的文本块s
i
的前部(s
i
的前h

1个字符)含有“代理”等与代理机构相关的关键词,then
[0147]
信息实体t
i
属于代理机构,即c
i

“”
,d
i
=t
i

[0148]
else if信息实体t
i
对应的文本块s
i
的前部(s
i
的前h

1个字符)含有“采购单位”等与采购单位相关的关键词,then
[0149]
信息实体t
i
属于采购单位,即c
i
=t
i
,d
i

“”

[0150]
else if信息实体t
i
对应的文本块s
i
的上一个文本块s
i
‑1含有“代理”等与代理机构
相关的关键词,then
[0151]
信息实体t
i
属于代理机构,即c
i

“”
,d
i
=t
i

[0152]
else if信息实体t
i
对应的文本块s
i
的上一个文本块s
i
‑1含有“采购单位”等与采购单位相关的关键词,then
[0153]
信息实体t
i
属于采购单位,即c
i
=t
i
,d
i

“”

[0154]
else if信息实体t
i
对应的文本块s
i
的上两个文本块s
i
‑2含有“代理”等与代理机构相关的关键词,then
[0155]
信息实体t
i
属于代理机构,即c
i

“”
,d
i
=t
i

[0156]
else if信息实体t
i
对应的文本块s
i
的上两个文本块s
i
‑2含有“采购单位”等与采购单位相关的关键词,then
[0157]
信息实体t
i
属于采购单位,即c
i
=t
i
,d
i

“”

[0158]
else
[0159]
c
i

“”
,d
i

“”
[0160]
}
[0161]
此外,经过信息实体类别推断之后,可能会出现从同一原始数据文本的多个文本块中分别抽取出某属性的不同信息实体,例如采购单位联系方式在招投标信息的头部和尾部均有出现。针对这种情况,本实施例中,可以根据预先设置的规则选取其中一个信息实体即可,示例性地,选择在原始数据文本中最先出现的信息实体作为该属性的信息实体,以去除重复的信息。
[0162]
另外,由于不同来源的原始数据文本的书写格式不一样,因此抽取出来的信息实体格式也需要进行统一。为此,本实施例,也根据通过相关的规则来对信息实体进行规范化,例如金额统一转换为元、采购方式取值的标准化等,以使输出结果更加规范化,便于进一步进行决策分析时使用。
[0163]
本实施例中,通过获取原始数据文本,对原始数据文本进行有序分块,得到至少一个文本块,根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到原始数据文本包含的至少一个信息实体,根据预设规则进行类别推断,确定至少一个信息实体的类别,实现了对信息实体的自动化抽取,由于信息实体抽取的过程中,采用了对原始数据文本有序分块和“合并

预测

还原”的策略,在降低了模型的复杂度和工作量的同时,还提高了信息实体的抽取效率和抽取精度。
[0164]
实施例二
[0165]
图4为本申请实施例二提供的信息实体抽取装置的结构示意图,如图4所示,本实施例中信息实体抽取装置10包括:
[0166]
获取模块11和处理模块12。
[0167]
获取模块11,用于获取原始数据文本;
[0168]
处理模块12,用于对所述原始数据文本进行有序分块,得到至少一个文本块;根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到所述原始数据文本包含的至少一个信息实体;根据预设规则进行类别推断,确定所述至少一个信息实体的类别。
[0169]
可选地,处理模块12具体用于:
[0170]
对所述原始数据文本进行分段和/或分句处理,得到至少一个短文本;
[0171]
对所述至少一个短文本进行排序和语义连续性处理,得到所述至少一个文本块。
[0172]
可选地,处理模块12具体用于:
[0173]
根据段落项目符号,对所述原始数据文本进行分段,得到至少一个段落文本;
[0174]
根据句尾标识符,对字符长度大于设定阈值的段落文本进行拆分,得到所述至少一个短文本。
[0175]
可选地,处理模块12具体用于:
[0176]
根据所述至少一个短文本在原始数据文本中出现的先后顺序,对所述至少一个短文本进行排序;
[0177]
确定目标短文本的末尾关键词是否为目标信息实体的一部分,若是,则将目标短文本与下一个短文本进行合并,得到所述至少一个文本块。
[0178]
可选地,处理模块12还用于:
[0179]
在每个文本块的首尾添加特殊标识符。
[0180]
可选地,处理模块12具体用于:
[0181]
对所述至少一个文本块进行特征编码,得到每个文本块的二维词典列表;
[0182]
根据预设算法对所述二维词典列表进行序列标注预测,得到每个文本块的目标标注序列;
[0183]
根据所述目标标注序列,从所述二维词典列表中进行字符抽取,得到每个文本块中包含的信息实体。
[0184]
可选地,处理模块12具体用于:
[0185]
根据条件随机场crf算法,计算所述二维词典列表中每个词序列被标记为候选标注的条件概率;
[0186]
根据所述条件概率,通过维特比算法,从所述候选标注中寻找最优的标注,得到所述目标标注序列。
[0187]
可选地,获取模块11还用于:
[0188]
获取样本数据文本;
[0189]
处理模块12还用于:
[0190]
根据目标信息实体,对所述样本数据文本进行标记,得到训练数据集,所述目标信息实体是对同类属性的信息实体进行合并后得到的;根据所述训练数据集进行模型训练,得到至少一个信息实体抽取模型。
[0191]
可选地,处理模块12具体用于:
[0192]
在所述样本数据文本中,分别标注出所述目标信息实体和所述目标信息实体的前缀关键词,得到所述训练数据集。
[0193]
本实施例所提供的信息实体抽取装置可执行上述方法实施例所提供的信息实体抽取方法,具备执行方法相应的功能模块和有益效果。本实施例的实现原理和技术效果与上述方法实施例类似,此处不再一一赘述。
[0194]
实施例三
[0195]
图5为本申请实施例三提供的一种电子设备的结构示意图,如图5所示,该电子设备20包括存储器21、处理器22及存储在存储器上并可在处理器上运行的计算机程序;电子设备20处理器22的数量可以是一个或多个,图5中以一个处理器22为例;电子设备20中的处
理器22、存储器21可以通过总线或其他方式连接,图5中以通过总线连接为例。
[0196]
存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的获取模块11和处理模块12对应的程序指令/模块。处理器22通过运行存储在存储器21中的软件程序、指令以及模块,从而执行设备/终端/服务器的各种功能应用以及数据处理,即实现上述的信息实体抽取方法。
[0197]
存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器22远程设置的存储器,这些远程存储器可以通过网格连接至设备/终端/服务器。上述网格的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0198]
实施例四
[0199]
本申请实施例四还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在由计算机处理器执行时用于执行一种信息实体抽取方法,该方法包括:
[0200]
获取原始数据文本;
[0201]
对所述原始数据文本进行有序分块,得到至少一个文本块;
[0202]
根据预先构建的信息实体抽取模型对所述至少一个文本块进行处理,得到所述原始数据文本包含的至少一个信息实体;
[0203]
根据预设规则进行类别推断,确定所述至少一个信息实体的类别。
[0204]
当然,本申请实施例所提供的一种包计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的信息实体抽取方法中的相关操作。
[0205]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网格设备等)执行本申请各个实施例所述的方法。
[0206]
值得注意的是,上述信息实体抽取装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
[0207]
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1