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

农业病虫害文本命名实体的方法及装置

2022-11-23 13:55:24 来源:中国专利 TAG:


1.本发明涉及数据处理领域,特别是涉及一种农业病虫害文本命名实体的方法及装置。


背景技术:

2.在现有技术中,为了满足对海量数据进行数据分析、信息检索、建立问答系统等需求,可以获取若干关系三元组,并基于关系三元组进一步构建知识图谱、或者进行海量数据分析。实体三元组关系抽取是从非结构化文本中抽取出实体与实体之间的关系,大致可分成流水线式和联合抽取两类,流水线式是:分别划分为实体识别和关系抽取两个任务,不存在交互。联合抽取是:两个任务联合抽取,存在交互。
3.目前这两类方法均需要大量的标注样本,从海量数据中对数据进行标注,存在成本高、耗费时间长,且命名实体边界不明显的问题。


技术实现要素:

4.鉴于上述状况,有必要提供一种农业病虫害文本命名实体的方法及装置。
5.本发明公开了一种农业病虫害文本命名实体的方法,包括步骤:获取农业病虫害数据集,并将所述农业病虫害数据集进行分析,得到以句子为单位的文本句子;将所述文本句子输入bert-bilstm-crf模型的lstm模块中,并分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量;将获得的前向lstm向量,字向量和反向lstm向量进行拼接,并将拼接后的向量作为bert-bilstm-crf模型中crf模块的输入向量输入所述crf模块中,并输出预测的序列标签;将所述crf模块输出的序列标签转换成逻辑基础描述,并将所述逻辑基础描述与指定知识库中的逻辑规则进行推理匹配;若匹配不成功,则采用最小化不一致性修正所述crf模块输出的序列标签;将修正后的序列标签以及文本句子对crf模块的参数进行调节;其中,采用最小化不一致性修正所述crf模块输出的序列标签的步骤包括:判断所述逻辑基础描述中预测实体的前后是否含有修饰词;当所述逻辑基础描述中预测实体之前含有修饰词时,将所述序列标签中所述预测实体对应的开始标签向前移动,并对开始标签之后的标签进行复制;当所述逻辑基础描述中预测实体之后含有修饰词时,将所述序列标签中所述预测实体对应的结束标签向后移动,并对结束标签之前的标签进行复制。
6.进一步的,上述农业病虫害文本命名实体的方法,其中,所述将所述文本句子输入bert-bilstm-crf模型的lstm模块中,并分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量的步骤之前还包括:
利用2017ccks中文电子病历的命名实体识别标注数据集对bert-bilstm-crf模型进行训练;获取训练结果中的权重文件,并将所述权重文件设置为所述bert-bilstm-crf模型中lstm模块的初始化权重。
7.进一步的,上述农业病虫害文本命名实体的方法,其中,所述将所述crf模块输出的序列标签转换成逻辑基础描述的步骤包括:将所述crf模块输出的序列标签和文本句子通过映射函数生成逻辑基础描述。
8.进一步的,上述农业病虫害文本命名实体的方法,其中,所述将所述农业病虫害数据集进行分析,得到以句子为单位的文本句子的步骤包括:对所述农业病虫害数据集进行分段、分句处理,去除重复语句操作,得到以句子为单位的文本句子。
9.进一步的,上述农业病虫害文本命名实体的方法,其中,所述将所述文本句子输入bert-bilstm-crf模型的lstm模块中,并分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量的步骤包括:生成所述文本句子的汉字上下文特征向量,并作为bert-bilstm-crf模型中lstm模块的输入,分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量。
10.本发明还公开了一种农业病虫害文本命名实体的装置,包括:分析模块,用于获取农业病虫害数据集,并将所述农业病虫害数据集进行分析,得到以句子为单位的文本句子;第一输入输出模块,用于将所述文本句子输入bert-bilstm-crf模型的lstm模块中,并分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量;拼接模块,用于将获得的前向lstm向量,字向量和反向lstm向量进行拼接;第二输入输出模块,用于将拼接后的向量作为bert-bilstm-crf模型中crf模块的输入向量输入所述crf模块中,并输出预测的序列标签;匹配模块,用于将所述crf模块输出的序列标签转换成逻辑基础描述,并将所述逻辑基础描述与指定知识库中的逻辑规则进行推理匹配;修正模块,用于当匹配不成功时,则采用最小化不一致性修正所述crf模块输出的序列标签;参数调节模块,用于将修正后的序列标签以及文本句子对crf模块的参数进行调节。
11.进一步的,上述农业病虫害文本命名实体的装置,还包括:训练模块,用于利用2017ccks中文电子病历的命名实体识别标注数据集对bert-bilstm-crf模型进行训练;权重设置模块,用于获取训练结果中的权重文件,并将所述权重文件设置为所述bert-bilstm-crf模型中lstm模块的初始化权重。
12.进一步的,上述农业病虫害文本命名实体的装置,其中,所述匹配模块用于:将所述crf模块输出的序列标签和文本句子通过映射函数生成逻辑基础描述。
13.进一步的,上述农业病虫害文本命名实体的装置,其中,所述分析模块用于:
对所述农业病虫害数据集进行分段、分句处理,去除重复语句操作,得到以句子为单位的文本句子。
14.本发明通过机器学习模型bert-bilstm-crf输出预测序列标签,以逻辑规则作为监督信息来检测bert-bilstm-crf模型农业实体识别的准确性,保证识别结果适用于知识图谱下游任务知识问答的答案输出。缓解了特定领域标注成本高、耗费时间长、命名实体边界不明显尤其是在识别病虫害和药剂防治实体等问题。
附图说明
15.图1为本发明第一实施例中农业病虫害文本命名实体的方法的流程图;图2为获取例句“稻飞虱用噻虫嗪药剂防治”中各个字的前向lstm向量、反向lstm向量以及字向量的示意图;图3为本发明第二实施例中农业病虫害文本命名实体的方法的流程图;图4为本发明第三实施例中农业病虫害文本命名实体的装置的结构框图;图5为本发明电子设备的结构示意图。
具体实施方式
16.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
17.参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
18.请参阅图1,为本发明第一实施例中的农业病虫害文本命名实体的方法,包括步骤s11~s16。
19.步骤s11,获取农业病虫害数据集,并将所述农业病虫害数据集进行分析,得到以句子为单位的文本句子。
20.具体实施时,对所述农业病虫害数据集进行分段、分句处理,去除重复语句操作,得到以句子为单位的文本句子。该农业病虫害数据集为待标注的数据集,农业病虫害数据集是在各个农业官方网站如种质资源信息网、惠农网、植物志网站等通过键入病虫害关键词的方式使用爬虫技术获取相关的文本信息,并对其去除冗余信息和剔除噪声数据,最终以句子为单位构成文本句子数据集。
21.步骤s12,将所述文本句子输入bert-bilstm-crf模型的lstm模块中,并分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量。
22.本实施例中,为避免因词切割导致错误传播的影响,将农业病虫害数据集以句子为单位的文本,将句子作为lstm的输入,分别输出句子中每个字对应的前向lstm向量、反向lstm向量以及字向量。
23.例如,对例句“稻飞虱用噻虫嗪药剂防治”每个字获取forward_lstm,backward_lstm以及bert中该字的向量,其示意图如图2所示。具体方法如下。
24.生成病虫害文本的汉字上下文特征向量input:t(t1, t2,
ꢀ…
tn),作为病虫害文本序列,其中n表示句子的长度。
25.将字作为bert预训练语言模型的输入,bert模型能利用自带的transformers动态获取字的向量表示,以此来获取给定句子中当前所在字的embedding向量;给定句子中当前所在字的前向lstm向量,可采用数学的条件概率思维将该字之前出现的字序列作为条件,在此条件下通过lstm层去计算当前位置为该字的前向隐藏层向量表示;同理,获取给定句子中当前所在字的反向lstm向量,也可将在该字出现之后的字序列作为先决条件,基于此计算当前位置为该字的反向隐藏层向量表示。以图2为例:给定句子“稻飞虱用噻虫嗪药剂防治”,获取“虫”向量表示不仅考虑当前所在字的前向字序列,还要考虑当前所在字的反向字序列,其中表示对字进行embedding表示。最终公式可作为字“虫”的向量表示。
26.步骤s13,将获得的前向lstm向量,字向量和反向lstm向量进行拼接,并将拼接后的向量作为bert-bilstm-crf模型中crf模块的输入向量输入至所述crf模块中,并输出预测的序列标签。
27.将步骤s12中获得的前向lstm向量,字向量,反向lstm向量三者进行拼接,并作为本部分模型的输入向量,该部分模型即为crf模块。对crf模块输入一个未标注的句子,模型会返回一个经过crf标签约束的序列标签。
28.进一步的,该bert-bilstm-crf模型是预先进行训练过的,具体实施时,利用2017ccks中文电子病历的命名实体识别标注数据集对bert-bilstm-crf模型进行训练;训练结束后,获取训练结果中的权重文件,并将该权重文件作为该bert-bilstm-crf模型中lstm模块的初始化权重。2017ccks(china conference on knowledge graph and semantic computing,全国知识图谱与语义计算大会)中文电子病历的命名实体识别标注数据集。使用医疗领域数据集训练命名实体识别模型bert-bilstm-crf,并取训练结果最好的权重文件作为bert-bilstm-crf模型的初始化。
29.步骤s14,将所述crf模块输出的序列标签转换成逻辑基础描述,并将所述逻辑基础描述与指定知识库中的逻辑规则进行推理匹配。
30.具体地,序列标签转换成逻辑基础描述的具体方式为:将获取到的序列标签内预测实体标签所对应的预测实体在对应的原始文本内标注(用#xxx#
预测实体
表示标注)表示成逻辑基础描述。
31.步骤s15,若匹配不成功,则采用最小化不一致性修正所述crf模块输出的序列标签。
32.步骤s16,将修正后的序列标签以及文本句子对crf模块的参数进行调节。
33.将步骤s13中获取到的序列标签转换成逻辑基础描述,并结合指定知识库进行推理匹配,如果匹配成功,那就对下一个文本句子进行标签预测;如果匹配不成功,采用最小
化不一致性修正序列标注,将其作为已标注数据来微调s3部分的crf模型。
34.通过调研发现,在病虫害领域中对病虫害名称和药剂防治的识别存在边界不明显的问题,故而本发明实施例的标注文本就围绕这两类实体展开,采用“dieases”表示“病虫害名称”,“medicine”表示“防治药剂名称”。为了能捕获更详细的实体描述,基于逻辑规则对模型,如bert-bilstm-crf模型,识别的命名实体做进一步调整,如“水稻稻飞虱可以采用27%的噻虫嗪药剂喷洒。”一般而言,bert-bilstm-crf模型识别到的实体为“稻飞虱”和“噻虫嗪”。由于本实施例将实体识别结果应用于知识图谱下游任务知识问答,而知识问答中通过知识图谱内三元组某一元的精准推送实现对用户问句的回答。因而本实施例意在识别包含实体在内的更多信息(这里所指的“更多信息”同“修饰词”)。故而本发明实施例的进一步调整将获得的是“水稻稻飞虱”、“27%噻虫嗪”。
35.准备数据过程中,将一些对上述两种实体的有用描述统称为“修饰词”,如上述例子中的“水稻”、“27%”等。
36.标注数据使用的标注策略为“bieos”,其中b表示一个命名实体的起始位置,i表示一个命名实体除起始位置和末尾位置外的其它位置,e表示一个命名实体的末尾位置,o表示非命名实体的位置,s表示该命名实体只有一个字。例如已标注句子“稻飞虱可以使用噻虫嗪药剂去防治。”其中命名实体“稻飞虱”标注成“b-dieases i-dieases i-dieases”,命名实体“噻虫嗪”标注成“b-medicine i-medicine i-medicine”,其它部分标注成“o”。
37.指定知识库knowledge base (kb)是农业病虫害领域的数据库,该库中有多条逻辑规则,如下所示(其中:
ꢀ‑ꢀ
表示推理符号):;;。
38.下面以一个具体的例子来说明逻辑基础描述修正的过程。
39.前提1:提供该领域的知识库kb和模型c(crf模块)。学习映射函数f,并要求得到的逻辑事实是符合而知识库的约束。
40.规定1:对给定的一段标签序列y,标签序列b-x前k(k》0)个标签对应的字为“修饰词(包括不限于药剂浓度、作物名称)”,即说明对于x标签存在y的before_label关系。类似地,标签序列e-x后t(t》0)个标签对应的字为“修饰词(包括不限于药剂浓度、作物名称)”,即说明对于x标签存在y的behind_label关系。
41.例如,原始的文本句子为“27%高脂膜乳剂去喷洒”,根据步骤s13中获取得到的预测序列标签为“o o o b-medicine i-medicine i-medicine i-medicine e-medicine o o o”。则,将预测序列标签转换成逻辑基础描述,即:27%#高脂膜乳剂#去喷洒。查看原始句子中预测实体的前后是否有“修饰词”,根据规定1和知识库内的逻辑规则,该序列标签符合这一规则,相应地,采用最小化不一致性修正逻辑规则,即:标签b-medicine 向前移动一个距离,原始b-medicine用i-medicine 替代。对应的序列标签改成“o o b-medicine i-medicine i-medicine i-medicine i-medicine e-medicine o o o”,逻辑基础描述相应地变成“27#%高脂膜乳剂#去喷洒”。直到该预测序列满足知识库内的逻辑推理,即该预测实体的前后均不存在“修饰
词”,满足,,推理可得出x是序列标签y修正后的预测实体。然后将修正后的序列标签与原始句子对模型c进行参数微调。描述如下:,,,其中,表示长度为n的原始文本,表示经bert-bilstm-crf模型预测获得的序列标签。o表示原始文本和预测标签经过f映射函数产生的逻辑基础描述。|=表示逻辑蕴含:若o符合kb知识库的规则约束,则返回f;若o不符合kb约束,则通过最小化不一致方法产生新的来满足约束。
42.本实施例基于逻辑规则修正模型的思想将机器学习和逻辑推理融合起来,将命名实体识别bert-bilstm-crf模型推测出的序列标签,结合给定的kb知识库逻辑规则和crf,对序列标签微调进而优化crf的参数,缓解了特定领域标注成本高、耗费时间长、命名实体边界不明显尤其是在识别病虫害和药剂防治实体等问题。
43.请参阅图3,为本发明第二实施例中的农业病虫害文本命名实体的方法,包括步骤s1~s4。
44.步骤s1、采用迁移学习将源模型bert-bilstm-crf在医疗数据集2017ccks中文电子病历上进行训练,多轮训练之后将表现最好的权重文件保存。
45.步骤s2、将农业病虫害数据集以句子为单位的文本,将句子作为源模型中lstm的输入,分别输出句子中每个字对应的前向lstm向量、反向lstm向量。该或步骤可以避免因词切割导致错误传播的影响。
46.步骤s3、将步骤s2中获得的前向lstm向量、字向量、反向lstm向量作为源模型中crf模块的输入向量,其中使用步骤s1中的权重文件作为初始化,并输出序列标签。对crf模块输入一个未标注的句子后,会返回一个经过crf标签约束的序列标签。
47.步骤s4、将获取到的序列标签转换成逻辑基础描述,并结合给定的知识库kb进行推理匹配,若匹配不成功,采用最小化不一致性修正序列标签,将其作为已标注数据来微调crf模块。
48.请参阅图4,为本发明第三实施例中的农业病虫害文本命名实体的装置,包括:分析模块31,用于获取农业病虫害数据集,并将所述农业病虫害数据集进行分析,得到以句子为单位的文本句子;第一输入输出模块32,用于将所述文本句子输入bert-bilstm-crf模型的lstm模块中,并分别输出所述文本句子中每个字对应的前向lstm向量、反向lstm向量以及字向量;拼接模块33,用于将获得的前向lstm向量,字向量和反向lstm向量进行拼接;第二输入输出模块34,用于将拼接后的向量作为bert-bilstm-crf模型中crf模块的输入向量输入所述crf模块中,并输出预测的序列标签;匹配模块35,用于将所述crf模块输出的序列标签转换成逻辑基础描述,并将所述逻辑基础描述与指定知识库中的逻辑规则进行推理匹配;
修正模块36,用于当匹配不成功时,则采用最小化不一致性修正所述crf模块输出的序列标签;参数调节模块37,用于将修正后的序列标签以及文本句子对crf模块的参数进行调节。
49.进一步的,上述装置,还包括:训练模块,用于利用2017ccks中文电子病历的命名实体识别标注数据集对bert-bilstm-crf模型进行训练;权重设置模块,用于获取训练结果中的权重文件,并将所述权重文件设置为所述bert-bilstm-crf模型中lstm模块的初始化权重。
50.进一步的,上述装置,所述匹配模块35用于:将所述crf模块输出的序列标签和文本句子通过映射函数生成逻辑基础描述。
51.进一步的,上述装置,所述分析模块31用于:对所述农业病虫害数据集进行分段、分句处理,去除重复语句操作,得到以句子为单位的文本句子。
52.本发明实施例所提供的农业病虫害文本命名实体的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
53.本发明另一方面还提出一种电子设备,请参阅图5,所示为本发明实施例当中的电子设备,包括处理器10、存储器20以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的农业病虫害文本命名实体的方法。
54.其中,所述电子设备可以为但不限于个人电脑、手机等计算机设备。处理器10在一些实施例中可以是一中央处理器(central processing unit, cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据等。
55.其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器20在另一些实施例中也可以是电子设备的外部存储装置,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。进一步地,存储器20还可以既包括电子设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于电子设备的应用软件及各类数据等,还可以用于暂时地存储已经输出或者将要输出的数据。
56.可选地,该电子设备还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置与其他电子装置之间建立通信连接。通信总线用于实现这些组
件之间的连接通信。
57.需要指出的是,图5示出的结构并不构成对电子设备的限定,在其它实施例当中,该电子设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
58.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的农业病虫害文本命名实体的方法。
59.本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置中获取指令并执行指令的系统)使用,或结合这些指令执行系统、装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或结合这些指令执行系统、装置而使用的设备。
60.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
61.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
62.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
63.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献