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

信息抽取引擎的生成方法及装置、电子设备与流程

2022-06-11 11:47:59 来源:中国专利 TAG:


1.本技术涉及自然语言处理技术领域,特别涉及一种信息抽取引擎的生成方法及装置、电子设备。


背景技术:

2.自然语言处理(nlp)系统有两大类:一类是主流的机器学习系统,另一类是传统的规则系统。机器学习为基础的nlp在落地应用到不同领域场景中的最大挑战是缺乏大规模标注数据。领域场景的典型任务包括通过抽取领域文本大数据中的实体、关系和事件,自动构建领域知识图谱的工作。例如,法律领域的刑事判决书场景具有历史积累的判决书文档,可以用来自动构建刑事判决相关实体的知识图谱。对于这些领域任务,无论采用传统的机器学习还是后来的主流神经网络模型,规模化的成熟方法是通过监督学习(supervised learning)的算法训练系统。但是,监督学习的前提是需要大规模的标注数据,标注数据越大,数据质量越高。大规模的数据标注是自然语言主流技术落地领域场景的知识瓶颈。
3.为了应对这一挑战,通常的做法是组织或外包标注任务。这种做法有下列缺点:耗时耗力:定义标注规范、培训标注人员、手工标注、标注质量控制都是耗费资源财力的关口;缺乏灵活性:领域场景项目往往是一个逐渐清晰的过程,产品经理对于用户业务场景的需求定义常常需要随项目逐渐修改明确,而标注工作没有完整清晰的需求定义无法启动;知识不能复用:领域场景变化,现有的标注必须推倒重来,标注数据不能复用。
4.传统的规则系统对于领域任务也有自己的知识瓶颈,表现在对于每一个需要抽取的数据目标,无论是实体、关系还是事件,都需要一一手工编写大量规则代码才能实现。这就需要高技能语言专家的大量时间投入才能进行。


技术实现要素:

5.本技术实施例提供了一种信息抽取引擎的生成方法,用以解决针对某个领域业务开发nlp信息抽取引擎需要大规模的标注数据,或需要大量编写规则代码,开发成本高的问题。
6.本技术实施例提供了一种信息抽取引擎的生成方法,所述方法包括:
7.获取待处理领域的历史文本数据集;
8.根据所述历史文本数据集,找出所述待处理领域的领域新词;
9.通过查询每个领域新词的中心词的基本信息,构建领域词典;
10.将所述领域词典与通用词典作为信息抽取引擎的词典基础,对所述信息抽取引擎中的领域规则模块或所述领域词典进行调试,使所述信息抽取引擎对样本集的单元测试和回归测试结果满足预设目标,获得调试完成的信息抽取引擎。
11.在一实施例中,根据所述历史文本数据集,找出所述待处理领域的领域新词,包括:
12.根据所述历史文本数据集,通过词聚类方法找出所述待处理领域的候选新词;
13.通过所述正则表达式对所述候选新词进行噪音过滤,得到所述待处理领域的领域新词。
14.在一实施例中,根据所述历史文本数据集,通过词聚类方法找出所述待处理领域的领域新词,包括:
15.统计所述历史文本数据集中每个词汇的出现次数;
16.针对任意两个词汇构成的组合词,计算所述组合词的互信息和左右熵;
17.选取所述互信息大于第一预设值且所述左右熵大于第二预设值的组合词,得到所述候选新词。
18.在一实施例中,所述通过查询每个领域新词的中心词的基本信息,构建领域词典,包括:
19.针对每个领域新词,根据所述领域新词的中心词,在通用词典中查询所述中心词的基本信息,得到所述领域新词的中心词的基本信息;
20.根据每个领域新词的中心词的基本信息,构建所述领域词典。
21.在一实施例中,根据所述领域新词的中心词,在通用词典中查询所述中心词的基本信息,得到所述领域新词的中心词的基本信息,包括:
22.根据所述领域新词的右侧若干字,查询所述右侧若干字在所述通用词典中的基本信息,得到所述领域新词的中心词的基本信息。
23.在一实施例中,将所述领域词典与通用词典作为信息抽取引擎的词典基础,对所述信息抽取引擎中的领域规则模块或所述领域词典进行调试,使所述信息抽取引擎对样本集的单元测试和回归测试结果满足预设目标,包括:
24.以所述领域词典和通用词典为依据,通过所述信息抽取引擎对所述样本集进行处理,得到处理结果基线;
25.对所述信息抽取引擎中的领域规则模块或所述领域词典进行修改调试,使所述领域规则模块的规则模式与所述样本集中的单元测试样例匹配;
26.通过调试后的所述信息抽取引擎对所述样本集进行处理,得到新处理结果,使所述新处理结果与所述处理结果基线之间的差异满足预设目标。
27.在一实施例中,所述样本集包括开发集和测试集;以所述领域词典和通用词典为依据,通过所述信息抽取引擎对所述样本集进行处理,得到处理结果基线,包括:
28.以所述领域词典和通用词典为依据,通过所述信息抽取引擎对所述开发集进行信息抽取,得到信息抽取结果基线;
29.以所述领域词典和通用词典为依据,通过所述信息抽取引擎对所述测试集进行处理,统计所述领域规则模块的规则击中次数,得到击中次数基线。
30.在一实施例中,所述通过调试后的所述信息抽取引擎对所述样本集进行处理,得到新处理结果,使所述新处理结果与所述处理结果基线之间的差异满足预设目标,包括:
31.通过调试后的信息抽取引擎,计算所述开发集的新抽取结果和所述测试集的新击中次数,使所述新抽取结果与所述信息抽取结果基线之间的差异比例小于第一阈值,新击中次数超过所述击中次数基线的超过比例大于第二阈值。
32.本技术实施例还提供了一种信息抽取引擎的生成装置,所述装置包括:
33.数据获取模块,用于获取待处理领域的历史文本数据集;
34.新词查找模块,用于根据所述历史文本数据集,找出所述待处理领域的领域新词;
35.词典构建模块,用于通过查询每个领域新词的中心词的基本信息,构建领域词典;
36.模型调试模块,用于将所述领域词典与通用词典作为信息抽取引擎的词典基础,对所述抽取引擎中的领域规则模块或所述领域词典进行调试,使所述信息抽取引擎对样本集的单元测试和回归测试结果满足预设目标,获得调试完成的信息抽取引擎。
37.本技术实施例提供了一种电子设备,所述电子设备包括:
38.处理器;
39.用于存储处理器可执行指令的存储器;
40.其中,所述处理器被配置为执行上述信息抽取引擎的生成方法。
41.本技术上述实施例提供的技术方案,通过查找待处理领域的领域新词,构建领域词典根据样本集和所述领域词典,对信息抽取引擎中的领域规则模块或领域词典进行调试,使所述信息抽取引擎对样本集的单元测试和回归测试结果满足预设目标,获得调试完成的信息抽取引擎。单元测试无需大量标注数据集,回归测试实现了质量控制,为通用解析引擎应用于各种缺乏标注数据的业务场景提供了解决方案,克服了主流监督学习方案的标注数据的知识瓶颈,由于只需对领域规则模块进行开发,降低了代码开发工作量。
附图说明
42.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍。
43.图1为本技术一实施例提供的电子设备的结构示意图;
44.图2是本技术实施例提供的一种信息抽取引擎的生成方法的流程示意图;
45.图3是本技术实施例提供的信息抽取引擎的架构示意图;
46.图4是本技术实施例提供的通用解析引擎的架构示意图;
47.图5是图2对应实施例中步骤s320的细节流程图;
48.图6是图2对应实施例中步骤s340的细节流程图;
49.图7是本技术实施例提供的信息抽取引擎的生成过程的流程图;
50.图8是本技术实施例提供的通用解析引擎的自动结构解析结果的示意图;
51.图9为本技术一实施例示出的信息抽取引擎的生成装置的框图。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
53.相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
54.图1为本技术一实施例提供的电子设备的结构示意图。该电子设备200可以用于执行本技术实施例提供的信息抽取引擎的生成方法。如图1所示,该电子设备200包括:一个或多个处理器202、一个或多个存储处理器可执行指令的存储器204。其中,所述处理器202被配置为执行本技术下述实施例提供的信息抽取引擎的生成方法。
55.所述处理器202可以是包含中央处理单元(cpu)、图像处理单元(gpu)或者具有数
据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备200中的其它组件的数据进行处理,还可以控制所述电子设备200中的其它组件以执行期望的功能。
56.所述存储器204可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器202可以运行所述程序指令,以实现下文所述的信息抽取引擎的生成方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
57.在一实施例中,图1所示电子设备200还可以包括输入装置206、输出装置208以及数据采集装置210,这些组件通过总线系统212和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备200的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备200也可以具有其他组件和结构。
58.所述输入装置206可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置208可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。所述数据采集装置210可以采集对象的图像,并且将所采集的图像存储在所述存储器204中以供其它组件使用。示例性地,该数据采集装置210可以为摄像头。
59.在一实施例中,用于实现本技术实施例的信息抽取引擎的生成方法的示例电子设备200中的各器件可以集成设置,也可以分散设置,诸如将处理器202、存储器204、输入装置206和输出装置208集成设置于一体,而将数据采集装置210分离设置。
60.在一实施例中,用于实现本技术实施例的信息抽取引擎的生成方法的示例电子设备200可以被实现为诸如笔记本电脑、台式电脑、服务器等智能设备。
61.图2是本技术实施例提供的一种信息抽取引擎的生成方法的流程示意图。该方法可以由上述电子设备200执行,如图2所示,该方法包括以下步骤s310-步骤s340。
62.步骤s310:获取待处理领域的历史文本数据集。
63.其中,由于不同领域场景的语料差异较大,不同领域场景需要各自不同的信息抽取引擎。待处理领域是指下文生成的信息抽取引擎对应的业务领域,例如法律领域,金融领域、工业领域等。
64.历史文本数据集(raw corpus)是指待处理领域的历史文档构成的集合,例如大量刑事判决书、民事判决书等。历史文本数据集(raw corpus)可以是从大量原始文本数据(raw text data)中随机选择的一定比例的数据子集构成。
65.步骤s320:根据所述历史文本数据集,找出所述待处理领域的领域新词。
66.领域新词是指待处理领域特有的,不在通用词典中出现的词组。举例来说,“犯罪嫌疑人”、“审计机关”等属于法律领域、金融领域的领域新词。虽然其中心词(“嫌疑人”、“机关”)早已进入通用解析引擎自带的通用词典,并不是新词,但这些合成词或词组却不在通用词典里面。学习这些较长的新词或术语对于引擎的解析大有助益。一来增强了领域数据的分词正确性,而分词是nlp的基础环节,分词错了往往导致解析和抽取错误。二来新词虽
然往往较长,但其核心意义与右边的中心词相同(“犯罪嫌疑人”是一种“嫌疑人”),因此这些长词很容易通过其中心词及其词典特征自动从新词转变为熟词,从而加强了信息抽取引擎在领域数据处理上的数据质量。虽然一个语言在不同领域的核心文法结构是一致的,但是不同领域在词汇上的区别非常突出,没有领域新词发现的资源助力,是通用解析引擎难以有效落地到领域场景的一个根本因素,数据质量往往表现为悬崖式下跌。
67.其中,领域新词的发现算法属于非监督学习,所用语料是历史文本数据集,不需要标注。新词发现的一种办法可以是n-元组聚类(n-gram clustering)。参见下文详细展开,在此不再赘述。
68.步骤s330:通过查询每个领域新词的中心词的基本信息,构建领域词典。
69.其中,基本信息是指领域新词的词性、本体概念特征,例如,“审批人员”是名词,是指人。“审查义务”是名词,是指责任。领域新词及其基本特征信息构成了领域词典。
70.在一实施例中,可以针对每个领域新词,根据领域新词的中心词,在通用词典中查询所述中心词的基本信息,得到领域新词的中心词的基本信息;进而根据每个领域新词的中心词的基本信息,构建领域词典。
71.其中,中心词可以是领域新词的右侧若干字,如通过查询右侧若干字在通用词典中的基本信息,即可得到领域新词的基本信息。
72.具体的,采用领域新词的四字后缀到三字后缀再到二字后缀,从长后缀至短后缀逐级查询通用词典。如果某级后缀查询成功,则该后缀即为该词条的中心词,系统将该中心词查询得来的词典特征信息拷贝给该词条。如果所有后缀查询均不成功,则该词条交由人工标注其词典特征信息。这样的纯生词为数不多,手工标注困难不大。其中,通用词典的内部标注是通用解析引擎自带的历史积累资源,用来支持nlp的结构解析。下面是四字领域新词查询二字后缀成功后,得到的基本信息,“/”右为中心词后缀。
73.审判/人员:n person;
74.审判/案件:v judge personaction;
75.审批/手续:n process;
76.审批/机关:n organization;
77.审批/部门:n group part;
78.审查/义务:n duty;
79.审查/意见:n text thought;
80.基本信息包括词类如名词(n)、动词(v)以及本体概念特征,如person(人)、duty(责任)。因为中文合成词的中心词总是处于右端,故可以利用后缀获得基本信息。这一步骤使得领域新词(生词)转化为系统的熟词,最终形成与通用解析引擎的其他词典同格式并且可以立即投入实际应用的领域词典。可考虑对领域词典做快速人工浏览校正,以进一步提高引擎的领域资源的数据质量。
81.步骤s340:将所述领域词典与通用词典作为信息抽取引擎的词典基础,对所述信息抽取引擎中的领域规则模块或所述领域词典进行调试,使所述信息抽取引擎对样本集的单元测试和回归测试结果满足预设目标,获得调试完成的信息抽取引擎。
82.其中,信息抽取引擎(nlp-extractor)包括通用解析引擎(nlp-parser)和领域规则模块(domain rules))。信息抽取引擎可以通过对信息抽取引擎的领域规则模块或领域
词典进行调试得到。信息抽取引擎的架构如图3所示,包括通用解析引擎(nlp-parser)和领域规则模块(domain rules)。将待处理领域的待处理文本作为输入,在领域词典(domain lexicon)、通用词典的基础上,信息抽取引擎可以对输入文本进行字段抽取和关系抽取。
83.其中,单元测试是指针对样本集中的开发样例,对信息抽取引擎的领域规则模块或领域词典进行修改调试,使领域规则模块的规则模式可以成功匹配(击中)测试样例。针对某个样例,如果某个规则模式的每一个必要条件约束(包括词节点的条件与模式上下文条件)都满足,则表示匹配成功,该规则模式击中该样例。单元测试的开发工作一直进行,直到开发样例的数量达到开发目标数。
84.每一个单元测试通过后还必须进行回归测试才能开始下一个单元的开发与测试。回归测试是指信息抽取引擎在修改调试前后分别对整个开发集(而不是仅仅对样例)进行处理,然后通过对修改调试前后的处理结果进行比对,确保数据质量的稳定提升。如果比对结果满足预设目标,则回归测试通过。
85.如果开发样例数达到预定的开发目标数,则整个抽取引擎开发调试结束,可以上线系统的beta版(测试版)。
86.传统的监督学习的模型泛化是通过在足够大的标注数据训练集上,由机器学习算法(例如深度神经网络)自动拟合而成。泛化的质量决定于标注数据的大小。而本技术上述实施例的信息抽取引擎属于冷启动开发,通过样例的单元测试一步一步迭代开发而成,这就决定了样本集不可能是大数据。小数据样例开发为基础的冷启动方式要想奏效,样例的泛化能力是关键。在上述方案中,对这个问题的解决方案是针对待处理领域,对抽取引擎的领域规则模块进行低代码开发实现的。
87.需要说明的是,需要开发的领域规则模块是低代码开发,因为所需规则量不大,因此可以快速开发落地到领域场景。低代码是指领域规则模块的代码量只占整个引擎代码量的少数(大约在20%以下),整个引擎很多的处理工作已经被通用解析引擎的语言处理模块在领域词典的帮助下解决了。例如,同一个意思,语言中可能有多样的表示方法(包括词汇变体和结构变体),学术界称为表层结构。典型的例子是各种被动语态(“某某被一枪手击中倒地”)与主动语态(例如“有枪手击倒了某某”)的不同句式(变体),parser都会将这些变体解析为相同的深层结构。因此,在深层结构基础上的领域规则模块虽然是低代码,但对于语言现象的捕捉面反而会大大增强。
88.其中,通用解析引擎的架构如图4所示。通用解析引擎的语言处理模块依次包括分词模块、词性标注模块、命名实体模块、短语组块模块、单句解析模块、复句解析模块、逻辑语义模块以及篇章解析模块等。待处理文本依次通过上述模块进行处理后,将结果馈入领域规则模块,进行字段提取和关系提取。通用解析引擎可以把非结构化文本数据自动转化为句法结构,提供了自然语言的结构基础。低代码开发在结构基础上形成的图规则,比起没有parser赋能的语言表层的线性规则(例如正则表达式为基础的规则),具有天然的泛化能力。结构基础的泛化还具有制约噪音的能力,就是说,在泛化加强召回的时候,不必以牺牲精确性作为代价。这些创新应用的泛化能力决定于通用解析引擎的质量。但通用解析引擎是独立于领域的资源,可赋能各种领域场景的各种冷启动开发项目。通用解析引擎本身可以长期维护,随着时间渐进迭代和增强。
89.本技术上述实施例提供的技术方案,通过查找待处理领域的领域新词的中心词的
基本信息,构建领域词典,将领域词典作为信息抽取引擎的基础,对信息抽取引擎中的领域规则模块或领域词典进行调试,使所述抽取引擎分别通过对样本集的单元测试和对开发集的回归测试,测试结果满足预设目标,从而获得调试完成的信息抽取引擎。单元测试无需大量的标注数据集,回归测试帮助实现质量控制,为通用解析引擎应用于各种缺乏标注数据的业务场景提供了解决方案,克服了主流监督学习方案的标注数据的知识瓶颈,由于通用解析引擎的代码可以复用,只需对领域规则模块进行针对性开发,这就大大降低了代码开发工作量。
90.在一实施例中,如图5所示,上述步骤s320具体包括以下步骤s321-步骤s322。
91.步骤s321:根据所述历史文本数据集,通过词聚类方法找出所述待处理领域的候选新词。
92.其中,词聚类方法具体如下:通过统计历史文本数据集中每个词汇的出现次数;针对任意两个词汇构成的组合词,计算所述组合词的互信息和左右熵;选取所述互信息大于第一预设值且所述左右熵大于第二预设值的组合词,得到所述候选新词。
93.其中,左右熵值用于表征组合词周围的词的自由度,左右熵值越大,表示组合词是一个新词的可能性越大,计算公式如下公式(1)-(3)所示,公式(1)表示左侧熵,公式(2)表示右侧熵,公式(3)表示左右熵值。互信息用于表征两个词汇组合成一个新词的可能性大小,互信息越大,表示可能性越大,互信息的计算公式如下公式(4)所示:
[0094][0095][0096]
e(w)=min(e
l
(w),er(w))
ꢀꢀꢀꢀꢀꢀꢀ
(3)
[0097][0098]
具体的,可以先选出互信息大于第一预设值的组合词构成备选集,然后从备选集中选取左右熵大于第二预设值的组合词,作为候选新词。候选新词可以不止一个。
[0099]
步骤s322:通过所述待处理领域的正则表达式对所述候选新词进行噪音过滤,得到所述待处理领域的领域新词。
[0100]
举例来说,正则表达式可以包括“*的”,即过滤以“的”结尾的字符串。正则表达式可以包括“*了*”,即过滤其间有“了”的字符串。
[0101]
根据正则表达式对候选新词进行噪音过滤后,剩余的候选新词就是待处理领域的领域新词,从而提高了领域新词的数据质量。
[0102]
在一实施例中,如图6所示,上述步骤s340具体包括以下步骤s341-步骤s343。
[0103]
步骤s341:以所述领域词典和通用词典为依据,通过所述信息抽取引擎对所述样本集进行处理,得到处理结果基线。
[0104]
其中,领域词典可以给输入样本提供更正确的解析结构和词法特征。领域词典可以作为通用解析引擎对文本语言进行结构解析的依据。处理结果基线可以包括准确性基线和召回率基线。样本集可以从上述原始文本数据(raw text data)中选取。样本集包括开发集和测试集。为确保数据质量达到预期目标,开发集可以有1000-5000个句子,测试集可以有5000-50000个句子。开发集旨在帮助确保冷启动开发的精确性(precison),测试集旨在帮助确保冷启动开发的相对召回率(relative recall)。
[0105]
具体的,可以以所述领域词典和通用词典为依据,通过信息抽取引擎对开发集进行信息抽取,得到信息抽取结果基线,通过所述信息抽取引擎对测试集进行处理,统计所述领域规则模块的规则击中次数,得到击中次数基线(又可以称为相对召回率基线)。
[0106]
通用解析引擎自带的诸多词典加上本技术实施例构建的领域词典一起作为通用解析引擎的词典查询资源。将这些词典作为通用解析引擎的词典查询的基础,支持对领域输入文本建立多层次的内部解析结构,解析结构作为中间结果赋能下游任务,即领域规则模块(该模块初始为空,逐渐在冷启动开发过程中不断丰富)。通用解析引擎和领域规则模块一起叫做信息抽取引擎,用来对开发集做领域抽取工作,抽取结果构成冷启动抽取开发的动态精确性基线。利用信息抽取引擎处理测试集,根据其处理结果计算领域规则模块击中测试集的次数,构成冷启动开发的动态相对召回率基线。动态的意思是说这两个基线是随着开发迭代的过程不断更新的。信息抽取结果的精确性动态基线的初始状态为空,相对召回的动态基线的初始数值为0。相对召回基线只记录冷启动开发的领域规则击中测试集数据的次数,不记录通用解析引擎中通用规则的表现,而领域规则模块初始为空,因此初始基线自然为0。
[0107]
步骤s342:对所述抽取引擎中的领域规则模块或所述领域词典进行修改调试,使所述领域规则模块的规则模式与所述样本集中的单元测试样例匹配。
[0108]
修改调试是指对领域规则模块包含的领域规则进行修改、删除或新增;或者,对领域词典进行修改、删除或新增。其中,单元测试样例即样本集中的样例句子。具体的,从开发集中选取样例句子sample(n),针对每一个sample(n),信息抽取引擎首先要做单元测试,并给测试次数加1,确保包含了根据该样例新开发的领域规则的信息抽取引擎的规则模式成功击中该样例sample(n)。
[0109]
如果单元测试次数超过预定的冷启动开发目标数k,即sample(k)单元测试与回归测试均已通过,冷启动开发结束。对于中等难度的抽取任务,通常k定在经验值500-1000样例区间即可满足上线初版或beta版的要求,动态更新的信息抽取引擎就是冷启动开发出来的可实际上线的系统。
[0110]
步骤s343:通过调试后的所述信息抽取引擎对所述样本集进行处理,得到新处理结果,使所述新处理结果与所述处理结果基线之间的差异满足预设目标。
[0111]
需要说明的是,每次针对一个单元测试样例调试成功后,需再进行回归测试,直到测试样例的个数达到设定的目标次数k。即需要在步骤s342调试之后,重新利用调试后的信息抽取引擎对开发集和测试集分别进行处理,为进行区分,得到结果可以称为开发集新抽取结果与测试集新击中次数。
[0112]
在一实施例中,通过调试后的抽取引擎对于开发集与测试集的运行,使所述开发集新抽取结果与所述开发集的抽取结果基线之间的差异比例小于第一阈值,并使所述测试集新击中次数超过所述测试集击中次数基线的比例大于第二阈值。
[0113]
举例来说,对开发集的新抽取结果与抽取结果基线做比对(diff),如果结果差异小于第一阈值(例如5%),说明本轮的领域规则模块或领域词典的修改调试正式通过了回归测试的精确性指标。如果对测试集的新击中次数大于击中次数基线的比率超过预定第二阈值(例如5%),说明测试集的盲测通过了回归测试的相对召回指标。
[0114]
在上述两项质量测试(对于开发集的精确性回归测试以及对于测试集的相对召回
的回归测试)均通过的情况下,将所述开发集新抽取结果作为抽取结果的精确性新基线,将所述测试集的新击中次数作为相对召回的新基线,这是对两项基线做开发中的动态更新,使得基线系统随着每一个单元测试的样例驱动的开发,逐步逼近更好的数据质量。基线动态更新后,开发流程开始对下个测试样例进行单元测试和回归测试,如此循环,直到测试次数达到开发目标数k。
[0115]
相反的,如果任意一项回归测试没有通过,则需要开发者重新修改调整领域规则模块或领域词典来做进一步纠错调试,重复上述过程,直到成功通过回归测试。这样的样例驱动的开发流程最终得到更新完成的信息抽取引擎。
[0116]
图7是信息抽取引擎的生成过程的流程图。如图7所示,先生成领域词典(参见上文的步骤s310-步骤s330),之后选取开发集和测试集,从开发集中选取样例句子sample(n),逐个进行单元测试,测试不成功,返回修改调试领域规则模块,直到单元测试成功;之后进行回归测试,不成功,则返回修改调试领域规则模块,直到通过回归测试。如此循环,逐个针对每个样例句子确保通过单元测试和回归测试,直到样例句子的数量大于k个,整个抽取引擎才调试结束,形成可以上线的抽取引擎版本。
[0117]
需要说明的是,上述实施例解决了在没有标注数据集情况下的冷启动开发的质量控制问题。在传统的监督学习的框架下,通过标注测试集的质量控制与系统通过标注训练集的模型训练一样,都是依靠足够大的标注数据集,系统训练依靠的是足够大的标注训练集(对应于上述冷启动的开发集),质量控制靠的是足够大的标注测试集(对应于上述冷启动情况下的针对准确率的开发集与针对相对召回的测试集的二者的结合)。传统监督学习的通常做法是把大规模标注得来的数据集一分为二成为训练集和测试集来满足开发和测试的要求。
[0118]
但是,冷启动的场景不具备标注数据这个条件,因此数据质量的控制必须提出创新实用的上述近似等价的方案。在上述方案中,数据质量的两个维度的指标,精确性与召回率是分别用两个基线指标进行控制实现的。精确性靠的是用原始数据构成的开发集作为数据基础,通过冷启动开发过程的每一次迭代的前后结果比对(diff),由开发者对所述抽取引擎在开发集上的回归测试表现的判断来实现。只要开发者通过比对判断可以保证每次迭代的精确性达到预定指标,整个冷启动开发的精确度就有了保障。
[0119]
数据质量的第二位关键指标是反映系统对于目标数据点覆盖面的召回率。冷启动对于召回率的质量控制是通过实现一种称为相对召回(relative recall)指标的方案实现的。传统的召回率只有通过足够大的标注数据集测试才能精确计算,而这在冷启动的环境下根本就不存在。但是,相对召回指标可以通过规则击中足够大的潜在目标数据的数量变化来计算,它不需要标注数据作为黄金标准和前提条件。以相对召回为基础的质量控制以其基线击中数值的增长来反映数据对象的覆盖面,这就近似等价于传统的(绝对)召回为基础的质量控制。在冷启动每次迭代精确度有高度保障的条件下,相对召回的误差区间可以得到满足工程需要的有效管控,从而实现全过程有效的质量控制。
[0120]
下面列举一个实际应用场景,对本技术实施例提供的方案进行说明。
[0121]
实施例1
[0122]
在金融领域,一个例子是要求对招股说明书做财务一致性核对,以便取代人工核对,解决低效率的问题。要求从招股说明书中自动标注四种信息点,并抽取它们的关系,以
便与财务报表中的数据一一核对。这是一个典型的信息抽取引擎的应用场景,输入处理对象是中文文本数据(招股说明书),输出的是四类字段及其关系,四类字段是:year(年份),item(项目),money(金额),percent(百分比),需要核对的关系包括:time(财务数据的年度)、itemmoney(财务科目的钱款数)、itemup(财务科目的增长数或增长率),itemdown(财务科目的减少数或负增长率)等。与很多领域nlp任务一样,该项目只有招股说明书的原始历史文档,没有标注数据。因此,本发明实施例提供的信息抽取引擎的生成方法是一个合适的应用。通过生成的信息抽取引擎对输入文本“2020年度收到其他与投资活动有关的现金较上年增加548.83%”进行处理,可以得到以下结果:
[0123]
字段抽取输出:[2020年度:year]收到[其他与投资活动有关的现金:item]较上年增加[548.83%:percent];
[0124]
关系抽取输出:time(2020年度,548.83%);
[0125]
itemup(其他与投资活动有关的现金,548.83%)。
[0126]
具体的,信息抽取引擎的生成过程如下:
[0127]
步骤1:从领域的原始数据集做无监督学习,以词聚类的方法学习领域术语和新词发现,学到近4万领域词库作为候选新词candidatedomainlexicon1,部分样本如下:
[0128]
阿波罗
[0129]
阿尔卡特朗讯
[0130]
阿克苏诺贝尔
[0131]
阿里创投
[0132]
阿里妈妈
[0133]
阿里云
[0134]
阿尼芬净
[0135]
阿特斯
[0136]
艾纯艾利
[0137]
艾德生物
[0138]
爱恩彼经贸
[0139]
爱柯迪
[0140]
爱柯迪投资
[0141]
……
[0142]
发行人资产总额
[0143]
……
[0144]
资产总额
[0145]
…………
[0146]
步骤2:对于candidatedomainlexicon1的候选新词利用正则表达式过滤器,做自动噪音排除,结果是修正压缩过的领域新词candidatedomainlexicon2。
[0147]
噪音过滤的正则表达式样例如下(//给出过滤解释):
[0148]
.*的//过滤以“的”结尾的字符串
[0149]
.*了.*//过滤其间有“了”的字符串
[0150]
步骤3:对领域新词词典candidatedomainlexicon2,利用其中每个词条的最右四
字、三字或二字的子串,作为词条的中心词去逐级查询通用词典获得基本信息,形成实际应用的领域词典资源domainlexicon。样例如下:
[0151]
通用词典:总额:moneyitem
[0152]
领域词典domain lexicon:
[0153]
发行人资产/总额:moneyitem
[0154]
资产/总额:moneyitem
[0155]
……
[0156]
步骤4:
[0157]
从领域原始文本数据招股说明书随机选取开发集样本(devcorpus),开发集用于精确性控制的回归测试。同时,随机选取用于相对召回率控制的测试集(testcorpus)。每一轮抽取规则开发之前,开发者利用加载了领域词典作为词典基础的信息抽取引擎处理devcorpus,其信息抽取结果构成冷启动开发的抽取精确性基线(extractedcorpusbaseline)。testcorpus不需要比对具体结果,属于盲测,只是用作自动统计每一轮抽取规则开发前对于textcorpus数据的击中数,作为冷启动开发的相对召回基线。
[0158]
经过几轮单元测试开发的迭代后,信息抽取结果基线(extractedcorpusbaseline)结果如下:
[0159]
(1)2018年、2019年的应收账款分别为10亿元、12亿元。
[0160]
2018年:year
[0161]
2019年:year
[0162]
应收账款:moneyitem
[0163]
10亿元:moeny
[0164]
12亿元:money
[0165]
time(2018年,10亿元)
[0166]
time(2019年,12亿元)
[0167]
itemmoney(应收账款,10亿元)
[0168]
itemmoney(应收账款,12亿元);
[0169]
(2)2018年度,发行人期间费用较2017年增加2,246.66万元,增幅92.71%,主要系随着发行人融资规模扩大,利息费用增加所致。
[0170]
2018年度:year
[0171]
发行人期间费用:moneyitem
[0172]
2017年:year
[0173]
2,246.66万元:money
[0174]
92.71%:percent
[0175]
time(2018年度,2,246.66万元)
[0176]
time(2018年度,92.71%)
[0177]
itemup(发行人期间费用,2,246.66万元)
[0178]
itemup(发行人期间费用,92.71%)
[0179]
利用加载了领域词典的信息抽取引擎处理testcorpus,这是盲测,只要记录冷启
动规则击中的次数即可作为相对召回指标。
[0180]
步骤5:在领域规则模块中进行样例驱动的渐进开发与单元测试。
[0181]
如果测试次数(unittestcount)超过预定的冷启动开发目标数k(该项目目标是k=500个样例),冷启动开发结束。动态更新的信息抽取引擎就是冷启动开发出来的系统。否则,在领域规则模块中针对性开发sample驱动的低代码规则。抽取规则样例如下:
[0182]
字段抽取中,year/money/percent属于通用解析引擎的基本能力,直接沿用即可(少数例外现象可以收入领域词典直接查词典来处理)。对于第四类目标字段moneyitem,前述非监督学习的领域词典domainlexicon已经收取了常见的字符串,查词典即可。对于余下的不常见的字段,留给字段抽取规则来做,编写这类字段抽取规则是本技术冷启动低代码开发的一项基础任务。例如下列字段抽取规则(伪代码):
[0183]
《[n|a][moneyitem]》//财政补贴金额
[0184]
《[n][的][moneyitem]》//发行人的工程余额
[0185]
……
[0186]
其中,n是名词,a是形容词,都是查词典得到的词类标签。《

》表示字段的左右边界。[]里的标签(如n/a/moneyitem)或直接量(如“的”)匹配输入字符串的词节点。字段规则模式匹配是自左向右,逐词匹配。如果规则模式的每一个条件约束(包括词节点的条件与模式上下文条件)都满足,则匹配成功,表示规则击中目标数据,输出字段抽取结果(例如“《[发行人][的][工程余额]:moneyitem”》)。
[0187]
关系抽取的低代码开发建立在字段抽取基础之上。样例如下:
[0188]
字段抽取结果:[2020年度:year][收到其他与投资活动有关的现金:moneyitem]较上年增加[548.83%:percent]。
[0189]
通用解析引擎自动结构解析结果如下图8所示,如图8所示,字段“2020年度”做动词“增加”的状语(adv),“收到其他与投资活动有关的现金”做动词“增加”的主语(subj),“(较)上年”也做动词“增加”的状语(adv),“548.83%”做动词“增加”的补语(buyu)。
[0190]
在上述结构以及字段抽取结果基础上,关系抽取可以在结构基础上,利用子图匹配模式实现,这比没有结构的线型匹配模式(例如类似正则表达式的模式匹配),对语言现象具有强得多的概括性,有利于冷启动低代码样例驱动规则开发的泛化效率。子图模式规则样本如下(伪代码):
[0191]
[0192]
上述子图模式规则的条件部分与匹配完成后的关系抽取结论部分用
“→”
连接。“increase”标签是通过查询通用解析引擎自带的本地知识,得到的本体知识库(类似于本体知识库《知网》)。有“increase”标签的词包括:“增加/增长/增幅/增多/提高/提升/加大”等。可见,比起直接使用直接量做词匹配的条件,用nlp通用解析引擎的本体标签可以增加规则的泛化能力。上述子图模式要求两个必选项[increase]和[moneyitem],另外两个是可出现也可不出现的可选项。可选项的设置增加了规则对于句子中成分省略现象的覆盖面。
[0193]
标签泛化与结构泛化的能力表现在上述规则不仅能够成功匹配该样例,还可以匹配与样例类似的下列各种结构变体或词汇变体。由于规则有图结构条件与词节点条件两方面的约束,这种泛化不必以损失精确性为代价。这是本方案比其他线性规则系统能力强大的根本原因。
[0194]
样例:2020年度收到其他与投资活动有关的现金较上年增加548.83%
[0195]
变体:
[0196]
与投资活动有关的其他现金2020年较上年增幅248.83%
[0197]
其他与投资活动有关的现金收入2020年增加5000万元
[0198]
投资收入增加5000万元
[0199]
2020年现金总额增长100%
[0200]
…………
[0201]
步骤6:根据方案,确保精确性与相对召回这两项数据质量关键指标达到预定目标。在两项质量测试均通过的情况下,对两项基线结果做开发中的动态更新,转步骤5;否则,任意一项测试没有通过,则重新调整规则或修改词典资源做进一步纠错调试,转步骤6。
[0202]
实施例2
[0203]
在法律领域,一个例子是要求对刑事判决书做信息抽取,以便为所有刑事判决案例自动构建一个刑事判决知识图谱。这样的知识图谱可以为案例查询和调研提供全方位的准确情报,这是传统的关键词检索无法做到的。
[0204]
该实施例的信息抽取业务要求是:从刑事判决书中标注四种实体,并抽取多种关系。这也是一个典型的信息抽取引擎的应用场景,输入处理对象是中文文本数据(刑事判决书),输出的是四类字段及其关系。与很多领域nlp任务一样,该项目只有刑事判决书的原始历史文档,没有标注数据。因此,本发明实施例提供的信息抽取引擎的生成方法是一个合适的应用。同时,法律领域与金融领域属于完全不同领域的场景,同一个方案的有效实施证明该方案对于不同领域业务场景应用的普适性以及通用解析引擎的领域化能力。
[0205]
具体实施非常类似实施例1里面的流程。刑事判决书历史档案的原始数据集共有248,112份,冷启动抽取结果赋能后续的领域知识图谱的自动构建,最终形成一个包含了450,000实体节点,810,000实体关系以及一百多万实体描述的刑事判决案例图谱。
[0206]
综上,本发明方案有以下优点:
[0207]
(1)信息抽取引擎生成的方法为通用解析引擎应用于各种缺乏标注数据的业务场景提供了解决方案,克服了主流监督学习方案的标注数据的知识瓶颈,也克服了缺乏结构泛化能力的领域规则应用带来的高代码开发瓶颈。
[0208]
(2)结合了通用解析引擎的结构处理能力与领域原始数据的无监督词汇学习,为通用解析引擎快速应用到不同领域提供了具有泛化能力的低代码解决方案。
[0209]
(3)在缺乏标注数据的场景,为基于样例的信息抽取引擎的开发提供了有效的数据质量控制的方法。
[0210]
下述为本技术装置实施例,可以用于执行本技术上述信息抽取引擎的生成方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术信息抽取引擎的生成方法实施例。
[0211]
图9为本技术一实施例示出的信息抽取引擎的生成装置的框图。如图9所示,该装置包括:数据获取模块910、新词查找模块920、词典构建模块930以及模型调试模块940。
[0212]
数据获取模块910,用于获取待处理领域的历史文本数据集;
[0213]
新词查找模块920,用于根据所述历史文本数据集,找出所述待处理领域的领域新词;
[0214]
词典构建模块930,用于通过查询每个领域新词的中心词的基本信息,构建领域词典;
[0215]
模型调试模块940,用于将所述领域词典与通用词典作为信息抽取引擎的词典基础,对所述信息抽取引擎中的领域规则模块或所述领域词典进行调试,使所述信息抽取引擎对样本集的单元测试和回归测试结果满足预设目标,获得调试完成的信息抽取引擎。
[0216]
上述装置中各个模块的功能和作用的实现过程具体详见上述信息抽取引擎的生成方法中对应步骤的实现过程,在此不再赘述。
[0217]
在本技术所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框常常可以基本并行地执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0218]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0219]
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献