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

信息抽取方法、设备、存储介质及程序产品与流程

2022-10-29 03:48:59 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种信息抽取方法、设备、存储介质及程序产品。


背景技术:

2.信息抽取(information extraction,ie),是从自然语言文本中,抽取出特定的事件或事实信息,以形成结构化信息的一种技术手段。通过信息抽取技术得到的结构化信息,为后续的文档对比、检索等处理提供了便利。
3.现有的信息抽取技术主要通过基于机器学习模型的命名实体识别(named entity recognition,ner)算法实现。机器学习模型需要通过大量的标注的数据进行训练,方能展示较优的信息抽取性能,导致信息抽取成本较高,且模型训练周期往往较长,导致信息抽取效率低下。


技术实现要素:

4.本技术提供一种信息抽取方法、设备、存储介质及程序产品,采用预设模板树进行文本对应的文本模板的快速匹配,并基于匹配的文本模板进行信息抽取,提高了信息抽取的效率,且仅需维护预设模板树即可,降低了信息抽取的成本。
5.第一方面,本技术提供一种信息抽取方法,包括:
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.图1为本技术一个实施例提供的信息抽取过程的示意图;
32.图2为本技术实施例提供的一种信息抽取方法的流程示意图;
33.图3为本技术图2所示实施例中步骤s201的流程示意图;
34.图4为本技术图3所示实施例中待处理文本的分解路径的示意图;
35.图5为本技术实施例提供的另一种信息抽取方法的流程示意图;
36.图6为本技术实施例提供的另一种信息抽取方法的流程示意图;
37.图7为本技术图6所示实施例中提供的预设模板树的结构示意图;
38.图8为本技术实施例提供的另一种信息抽取方法的流程示意图;
39.图9为本技术实施例提供的一种信息抽取设备的结构示意图。
40.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
41.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
42.信息抽取是从自然语言文本中,抽取出特定的事件或实时信息,从而有助于进行海量内容的自动分类、提取和重构。
43.通常采用命名实体识别算法,实现自然语言文本的信息抽取。为了提高信息抽取的准确度,通常基于深度学习方法进行命名实体识别,如基于注意力机制的神经网络模型、图神经网络模型等。
44.图1为本技术一个实施例提供的信息抽取过程的示意图,如图1所示,自然语言文本对应的文本序列为{wi,i=1,2,

n},将该文本序列输入预先训练的命名实体识别模型,如lstm(long short-term memory,长短期记忆网络)-crf(conditional random field,条件随机场)模型,基于该命名实体识别模型,对输入的文本序列进行实体识别,并输出实体类型,如基于lstm,确定文本序列中各文字对应各实体类型的分数hi,其中,hi为由m个元素组成的一维向量,m为实体类型的数量;基于crf,根据各文字对应各实体类型的分数,确定各文字对应的实体类型,从而得到文本序列中各文字对应的实体类型yi,进而基于实体类型,实现待处理文本的实体抽取。
45.基于模型进行命名实体识别,首先需要采集大量的标准文本进行模型训练,导致信息抽取成本较高,且模型训练周期较长,导致信息抽取效率低下。
46.同时,在一些特殊场景下,如病历、笔录、简历等文本的信息抽取,由于文本具有一定的私密性,导致无法获取大量的数据进行模型训练。并且,基于模型进行命名实体识别无法识别嵌套实体,嵌套实体为一个实体内包括多个其他实体,应用场景受限。
47.为了提高自然语言信息抽取的效率,降低信息抽取成本,本技术提供了一种基于模板的抽取方法,主要过程为:对待处理文本进行切分,得到待处理文本中的实体,基于待处理文本中实体的标注信息,生成待处理文本的文本模板,文本模板的数量可能为一个或多个,进而基于预先建立的预设模板树与待处理文本的各文本模板进行匹配,若存在预设模板与该文本模板匹配,则基于该文本模板进行待处理文本的信息抽取,从而得到该文本模板格式下的结构化信息。
48.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
49.图2为本技术实施例提供的一种信息抽取方法的流程示意图,可以由信息抽取设备执行,该信息抽取设备可以为任意一种具备数据处理功能的设备,如服务器、计算机、移动终端等。
50.如图2所示,该信息抽取方法包括以下步骤:
51.步骤s201,对待处理文本进行实体分解,生成所述待处理文本的至少一个文本模板。
52.其中,待处理文本为需要进行信息抽取的文本,可以为任一种文本信息,如病历、笔录、新闻播报等具备比较固定的范式的文本。
53.其中,所述文本模板包括多个元素,所述多个元素包括所述待处理文本分解得到的多个实体中各实体对应的标注信息。标注信息用于表征实体的类型,如人名、时间、症状、表现、部位等。实体(entity)为文本中承载信息的语义单元,实体可以被划分为多种类型,如人名、地名、时间、日期、药物、疾病、表现、症状等类型的实体。不同的信息抽取任务中,可以设置不同类型组合的实体,以进行命名实体的抽取。
54.在一个实施例中,文本模板的元素可以仅为标注信息,文本模板可以对应一个由
多个标注信息组成的标注信息序列。
55.在一个实施例中,文本模板的元素可以包括标注信息以及非实体,文本模板可以对应由标注信息以及非实体组成的元素序列。
56.示例性的,病历对应的文本模板可以为:{症状1}、{症状2}{时间},或者{部位}{症状}{时间},或者患者{发生时间}因{诱因}发生{症状},其中,花括号“{}”内的文字为上述标注信息。
57.具体的,可以按照多种切分方式对待处理文本进行切分,针对每一中切分结果,基于该切分结果对应的分词向量,确定该切分结果对应的实体序列。进而基于每种切分方式对应的实体序列,生成待处理文本在该切分方式下的文本模板。
58.当待处理文本中字符较少时,如小于或等于预设数量,则可以基于所有可能的分解方式,对待处理文本进行分词,得到各个分词向量,从而针对每个分词向量,基于实体词典确定该分词向量中的实体。基于各分词向量中的实体,生成该分词向量对应的文本模板。
59.可以基于实体词典,确定分词向量中的实体及其对应的标注信息。实体词典为预先设置的实体与标注信息的对应关系,在实体词典中每种标注信息可以对应成千上万甚至更多个实体。当需抽取的实体发生变化时,可以通过实体词典内实体的增、删、改等方式更新实体词典,以适应抽取需求。
60.具体的,用户可以通过实体词典对应的搜索框输入一个新增实体,若该新增实体的搜索结果为空,则用户可以在实体词典对应的标注信息下添加该新增实体。
61.在一个实施例中,实体词典中可以包括大量的实体,如千万个实体,从而满足各种待处理文本的信息抽取。
62.在一个实施例中,可以获取语音信息,基于语音转文字技术,将语音信息转换为待处理文本。
63.在一个实施例中,可以基于图像识别技术,提取所采集的待处理图像中的文字,得到待处理文本信息。
64.步骤s202,基于所述至少一个文本模板中与预设模板树中的任一预设模板匹配的文本模板,进行所述待处理文本的信息抽取,得到对应的结构化信息。
65.其中,所述预设模板树基于多个预设模板包含的元素序列建立,每一预设模板的元素序列对应所述预设模板树中一条由根节点至叶子节点的路径。结构化信息为一种格式化的信息,结构化信息中包括待处理文本的各个实体及其标注信息。
66.预设模板树为一种字典树,如后缀字典树。
67.预设模板为预先设置的模板,一个预设模板对应一个元素序列,预设模板中的元素包括标注信息,还可以包括非实体。
68.预设模板树中的节点为预设模板元素序列中的元素,由元素序列中元素的顺序,确定元素对应节点在元素序列对应的路径中的位置。
69.在预设模板树中,同一元素序列中相邻两个元素中,位置靠前的元素对应的节点为位置靠后的元素对应的节点的父节点。
70.可以基于aho-corasick算法(简称为ac算法或ac自动机算法),根据多个预设模板,构建上述预设模板树。
71.具体的,可以遍历待处理文本对应的各个文本模板,可以判断预设模板树中是否
存在与当前的文本模板匹配的预设模板,若是,则结束遍历,基于匹配的文本模板对待处理文本进行信息抽取,以得到该文本模板形式的结构化信息。
72.针对所述待处理文本各个文本模板,遍历文本模板中的各个元素,以预设模板树中与文本模板中上一元素匹配的节点为起点,判断起点对应的子节点中是否存在与当前元素匹配的节点;其中,文本模板中第一个元素对应的起点为预设模板树的根节点;若是,则继续遍历该文本模板中的下一元素;若预设模板树中存在与文本模板中的各个元素匹配的节点,则确定预设模板树中存在与文本模板匹配的预设模板。
73.为了便于描述,将与预设模板树中的任一预设模板匹配的文本模板记为备选模板。若文本模块中不存在备选模板,则为待处理文本添加抽取失败标记,以由人工或采用其他抽取方式,进行带有抽取失败标记的待处理文本的信息抽取。
74.本技术提供的信息抽取方法,为了得到待处理文本的结构化信息,首先,对待处理文本进行实体分解,基于分解结果,生成该待处理文本对应的至少一个文本模板,该文本模板包括识别的实体对应的标注信息,结合预先建立的预设模板树,与该文本模板进行匹配判断,若该预设模板树中存在与该文本模板匹配的预设模板,则基于该文本模板,对待处理文本进行信息抽取,以得到符合该文本模板对应的形式的结构化信息,从而存储该结构化信息,以便于进行后续的检索、分析等步骤,其中,一个预设模板对应一个元素序列,多个预设模板对应的多个元素序列构建为该预设模板树,且为了便于搜索,将多个元素序列中重复的元素映射为预设模板树中的同一节点。通过预设模板树判断待处理文本的对应的文本模板是否为一个预设模板,若是,则基于该文本模板即匹配的预设模板进行待处理文本的信息抽取,实现了基于模板进行信息抽取,抽取效率高,尤其针对高度模板化的文本,如病历、笔录等,显著提高了信息抽取的效率和质量,具备良好的应用价值。且可以通过预设模板树的维护,使得信息抽取满足变化的抽取需求,降低信息抽取维护的成本。
75.在得到结构化信息之后,将该结构化信息存储于数据库中,在文档检索时,用户可以采用更细粒度的信息,如标注信息、实体等,进行文本检索,从而在检索结果中向用户显示包括所检索的信息的文档。
76.以待处理文本为病历为例,在得到病历的结构化信息之后,用户可以通过病历对应的结构化信息,快速提取有用信息,如症状、化验结果、治疗方式等。还可以通过病历的结构化信息,为人工智能辅助诊断、电子病历自动质控等多个场景提供数据基础。
77.可选的,图3为本技术图2所示实施例中步骤s201的流程示意图,如图3所示,步骤s201可以包括以下步骤:
78.步骤s301,根据实体词典,识别所述待处理文本中存在的实体。
79.其中,实体词典包括多种标注信息对应的实体。
80.在一个实施例中,所述实体词典中的实体包括嵌套实体,所述嵌套实体为所述实体词典中至少两个实体组成的实体。
81.示例性的,实体“头痛”可以视为一个嵌套实体,其中的“头”和“痛”均可以分别作为一个实体。实体“北京大学”也可以视为一个嵌套实体,其中的“北京”和“大学”均可以分别作为一个实体。
82.具体的,可以根据实体词典,枚举待处理文本中的各个实体以及各个实体对应的标注信息。
83.具体的,可以基于ac算法构建实体词典对应的实体树,基于该实体树,识别待处理文本中的各个实体。
84.步骤s302,根据识别的实体,将所述待处理文本分解为至少一种实体序列。
85.其中,实体序列中各实体的顺序由待处理文本中各实体的位置决定。
86.根据识别的实体,沿分解路径,对待处理文本进行分解,得到该分解路径下的分词向量,进而基于各分词向量得到各实体序列。其中,分解路径中的节点为切分的位置。
87.由于实体之间可能存在字符重叠,导致待处理文本中一段字符可以对应多种字体组合,从而导致待处理文本的对应多中分解路径,不同的分解路径向可以将待处理文本分解为不同的实体组合或实体序列。
88.当待处理文本的实体中存在嵌套实体时,则该嵌套实体会对应多种分解方式,从而导致待处理文本对应多条分解路径。
89.在一个实施例中,实体序列中每个元素可以为对应实体及其标注信息。
90.示例性的,图4为本技术图3所示实施例中待处理文本的分解路径的示意图,如图4所示,待处理文本“患者三天前因受凉发生头痛,疼痛为胀痛”,其中的实体包括“三天前”、“受凉”、“头痛”、“头”、“痛”、“疼痛”和胀痛,其中实体“头痛”为嵌套实体。由于嵌套实体“头痛”的存在,导致待处理文本的分解路径可以至少为两条,其中一条分解路径将待处理文本分解为“患者”、“三天前”、“因”、“受凉”、“发生”、“头痛”、“,”、“疼痛”、“为”、“胀痛”,另一条分解路径将待处理文本分解为“患者”、“三天前”、“因”、“受凉”、“发生”、“头”、“痛”、“,”、“疼痛”、“为”、“胀痛”,从而对应的两种实体序列分别为{三天前|发生时间,受凉|诱因,头痛|表现,疼痛|表现,胀痛|属性}和{三天前|发生时间,受凉|诱因,头|部位,痛|表现,疼痛|表现,胀痛|属性}。
91.步骤s303,根据所述至少一种实体序列,生成所述至少一个文本模板。
92.具体的,针对每一种实体序列,根据该实体序列中各实体对应的标注信息,生成该实体序列对应的文本模板。
93.在一个实施例中,实体序列中每个元素可以为对应实体及其标注信息,则可以依次提取实体序列中各实体对应的标注信息,得到标注信息的序列,基于该标注信息的序列,生成一个文本模板。
94.文本模板中还可以包括非实体。针对每种实体序列,将该实体序列对应的对待处理文本的分词向量中的实体替换为对应的标注信息,得到标注向量,基于该标注向量中的各标注信息以及各标注信息的上下文,生成一个文本模板。
95.通过实体词典进行文本中实体的识别,识别效率高,且可以有效识别出嵌套实体,提高了实体识别的性能。进而基于实体识别结果,得到待处理文本对应的多个实体序列,基于实体序列中实体的标注信息,生成一个文本模板,文本模板生成效率高。
96.图5为本技术实施例提供的另一种信息抽取方法的流程示意图,本实施例是在图3所示实施例的基础上,对步骤s302进一步细化,以及针对匹配的文本模板为多个的情况,增加目标模板确定的相关步骤,如图5所示,该信息抽取方法可以包括以下步骤:
97.步骤s501,根据实体词典,识别所述待处理文本中存在的实体。
98.步骤s502,若所述待处理文本中存在对应至少两种实体识别结果的文本块,则根据所述文本块的上下文,对所述文本对应的至少两种实体识别结果进行筛选。
99.其中,文本块由至少两个连续的字符组成,每一实体识别结果用于将文本块分解为至少一个实体。文本块的上下文为与该文本块相邻的字符。
100.具体的,若待处理文本中的文本块在实体识别时,对应至少两中识别结果,即该文本块可以被拆分为至少两种实体序列,则获取该文本块的上下文;根据该文本块的上下文以及该文本块中的实体,从至少两种实体识别结果中,确定所采用的实体识别结果或者删除部分实体识别结果,以基于所采用的实体识别结果或剩余的实体识别结果对该文本块进行分解,得到该文本块对应的实体序列。
101.进一步地,可以根据文本块的上下文的语义分析结果,对文本对应的至少两种实体识别结果进行筛选,以确定所采用的实体识别结果或者删除部分实体识别结果。
102.可选的,根据所述文本块的上下文,对所述文本对应的至少两种实体识别结果进行筛选,包括:
103.对于所述文本块的任一实体识别结果,确定所述文本块在所述实体识别结果下对应的至少一个实体,并将所述识别结果下所述文本块及其上下文中的实体替换为对应的标注信息,得到所述识别结果对应的包含标注信息和非实体的标注序列;若所述实体识别结果对应的标注序列与上下文词典中的任一上下文模板匹配,则保留所述实体识别结果。
104.其中,上下文模板对应一元素序列,上下文模板中的元素包括标注信息和非实体。
105.示例性的,上下文模板可以为:患者{时间}因{诱因}发生{症状},其中,标注信息采用带花括号的文本表示。“发生”、“因”和“患者”这三个分词均为非实体。
106.在一个实施例中,上下文词典中可以包括多个上下文模板。
107.可以通过对应顺序的元素是否匹配的方式,判断标注序列与上下文模板是否匹配。
108.在一个实施例中,上下文词典可以包括一个由多个上下文模板构建的词典树,记为上下文树,每一上下文模板构的元素序列对应上下文树中一条由根节点至叶子节点的路径。
109.具体的,可以基于ac算法进行标注序列与上下文树中的上下文模板的匹配,若上下文树中存在与标注序列匹配的上下文模板,则保留该标注序列对应的实体识别结果;反之,则删除该标注序列对应的实体识别结果。
110.通过结合上下文模板,对实体识别结果进行筛选,减少了文本块的分解方式,进而减少了待处理文本的分解路径,减少了信息抽取所需匹配的文本模板的数量,提高了信息抽取的效率。
111.步骤s503,根据筛选后的实体识别结果中的实体以及识别的所述待处理文本除去所述文本块剩余部分中的实体,将所述待处理文本分解为至少一种实体序列。
112.具体的,筛选后的文本块的实体识别结果对应一个小的实体序列,结合待处理文本除去该文本块剩余部分对应的实体序列,得到待处理文本对应的各个实体序列。
113.以图4所示实施例中的待处理文本为例,可知,“头痛”这一文本块对应两种实体识别结果,即“头痛”;“头”、“痛”,则获取文本块“头痛”的上下文,由于其下文为“,”,则可以仅获取其上文,如“患者三天前因受凉发生”,两种识别结果对应的标准序列分别为:“患者,{时间},因,{诱因},发生,{症状}”和“患者,{时间},因,{诱因},发生,{部位},{症状}”,上下文词典中存在上下文模板为“患者{时间}因{诱因}发生{症状}”,则保留“头痛”对应的识
别结果,从而文本块“头痛”被识别为一个实体,即标注信息为症状的“头痛”,从而舍弃了将文本块分解为两个实体的识别结果。
114.步骤s504,根据所述至少一种实体序列,生成所述至少一个文本模板。
115.步骤s505,从所述至少一个文本模板中,确定与预设模板树中的任一预设模板匹配的文本模板。
116.步骤s506,若匹配的文本模板的数量为多个,根据匹配的文本模板的属性信息,从多个匹配的文本模板中确定目标模板。
117.若通过上述方式得到的待处理文本的文本模板中,存在多个备选模板,即与预设模板树中的预设模板匹配的文本模板的数量为多个。一种方式可以为采取第一个匹配的文本模板为目标模板,以提高信息抽取效率。为了提高信息抽取准确度,另一种方式可以为:结合各个备选模板的属性信息,从多个备选模板中确定目标模板。
118.其中,模板的属性信息包括模板的使用频率、模板中各标注信息对应的实体的出现频率以及模板中各标注信息的使用频率中的一项或多项。
119.具体的,可以基于模板的属性信息,计算各备选模板的模板得分,从而根据模板得分,从多个备选模板中确定目标模板。如可以确定目标得分最高的备选模板为目标模板,或者可以将模板得分较高的多个备选模板反馈至用户终端,以由用户从反馈的多个备选模板中选择一个备选模板为目标模板。
120.示例性的,模板得分的计算关系式可以为:
[0121][0122]
其中,s(patternj)为第j个备选模板的模板得分;f(patternj)为第j个备选模板的使用频率;f(entityi)为第j个备选模板中第i个实体的出现频率;f(entity_typei)为第j个备选模板中第i个实体的标注信息的使用频率。
[0123]
在一个实施例中,还可以为模板的使用频率、模板中各标注信息对应的实体的出现频率以及模板中各标注信息的使用频率这三个参数分别设置对应权重,从而基于三者的加权平均值,确定模板得分。
[0124]
步骤s507,基于所述目标模板,进行所述待处理文本的信息抽取,得到对应的结构化信息。
[0125]
在本实施例中,基于实体词典,在保留实体词典中的实体的前提下,对待处理文本采用进行分解,针对可以分解为多种实体组合的文本块,通过该文本块的上下文对该文本块对应的实体组合进行筛选,从而减少待处理文本对应的实体序列的数量,进而减少了文本模板的数量,提高了文本模板匹配的效率;针对存在多个匹配的文本模板的情况,结合文本模板的使用频率、文本模板中各标注信息对应的实体的出现频率以及文本模板中各标注信息的使用频率中的一项或多项属性信息,从多个匹配的文本模板中选择属性较优的文本模板进行待处理文本的信息抽取,提高了待处理文本信息抽取的准确度。
[0126]
由于不同的待处理文本中的数值往往不同,且在信息抽取时数值的取值不具有具体的含义,故而为了进一步提高信息抽取的效率,在对待处理文本进行实体分解之前,还可以采用掩码替换待处理文本中的数值。可选的,在对待处理文本进行实体分解之前,所述方
法还包括:
[0127]
识别所述待处理文本中的数值;将所述待处理文本中的数值替换为掩码,以使数值对应的实体包括所述掩码。
[0128]
示例性的,数值对应的掩码可以为“{数值}”。
[0129]
采用掩码替换数据,即表示在信息抽取时,可以忽略数据具体的取值。
[0130]
在采用掩码替换数值之后,还可以建立数值与掩码之间的对应关系,以便于当用户需要查看掩码下的数值时,通过该对应关系获取掩码对应的数值。
[0131]
在实体词典中,数值对应的实体,可以由掩码与对应的量词组成,还可以由两个掩码以及两个掩码之间的符号组成,如冒号、波浪号、连字符等。
[0132]
具体的,可以采用正则表达式或状态机,识别待处理文本中的数值。
[0133]
示例性的,数值识别的过程可以具体为:
[0134]
定义数值起始符号集为:num_char_b='0123456789一二三四五六七八九十两半几多数.';定义数值中间状态符号集为:num_char_i='0123456789一二三四五六七八九十两半几多数.^--* /~~~至、\\
×
';输入待处理文本对应的字符串序列str;当前状态state=not_number,并按照以下三种情况持续遍历待处理文本对应的字符串序列str:case1:若当前状态state==not_number,则继续遍历字符串序列str,若字符x位于num_char_b,则调整状态state=in_number,记录一个数值开始位置;其中,字符x表示当前遍历时提取的字符串序列str中的字符;case2:若state==in_number,则继续遍历字符串序列str,如果字符x位于num_char_i,则记录一个数值结束位置;case3:若字符x不位于num_char_i,则调整state=not_number,从当前位置继续遍历;最终获取字符串序列str中全部数值的起止位置对,每个起止位置对包括对应的数值开始位置以及该开始位置后的相邻的数值结束位置。基于各起止位置对,将待处理文本对应位置区域的字符替换为一个掩码。
[0135]
示例性的,以待处理文本为“餐后血糖:1000mmol/l”为例,数值采用掩码替换后,待处理文本为“餐后血糖{数值}mmol/l”。
[0136]
可选的,图6为本技术实施例提供的另一种信息抽取方法的流程示意图,如图6所示,可以通过以下步骤构建上述实施例中预设模板树:
[0137]
步骤s601,获取多个预设模板。
[0138]
预设模板为常用的较为典型的模板,如典型病历模板、典型笔录模板等。
[0139]
具体的,可以基于历史上传的与待处理文本同类型的文本的范式,确定多个预设模板。
[0140]
用户可以通过模板上传界面,上传用户自定义的预设模板。
[0141]
在一个实施例中,预设模板可以分为:实体模板、上下文模板和关系模板,实体模板中仅包括对应的标注信息组成的序列;上下文模板则由顺序固定的标注信息以及标注信息的上下文组成;关系模板包括标注信息以及标注信息之间的关系,关系模板中还可以包括上下文。
[0142]
示例性的,实体模板可以为“{标注信息1}{标注信息2}{标注信息3}”,上下文模板可以为“{标注信息1}、{标注信息1}{标注信息4}”,或者可以为“非实体1{标注信息1}非实体2{标注信息5}{标注信息6}”,关系模板可以由关系和两个上下文模板组成,还可以由关系、上下文模板和实体模板组成。
[0143]
步骤s602,遍历所述多个预设模板中各预设模板对应的元素序列,并执行步骤s603至步骤s605,基于每个元素序列进行预设模板树的更新,以完成所述预设模板树的构建。
[0144]
步骤s603,遍历所述元素序列中的各个元素。
[0145]
步骤s604,以当前构建的预设模板树中与上一元素匹配的节点为目标节点。
[0146]
步骤s605,判断目标节点的子节点中是否包括当前元素对应的节点;若是,则返回步骤s603,以获取元素序列中的下一元素,以进行下一轮循环;若否,则执行步骤s606。
[0147]
步骤s606,以所述目标节点为父节点,在当前构建的预设模板树中添加当前元素对应的节点。返回步骤s603,以获取元素序列中的下一元素,以进行下一轮循环。
[0148]
在得到构建预设模板树对应的多个预设模板之后,遍历该多个预设模板中的各个预设模板。针对第m个预设模板,遍历该第m个预设模板中的各个元素;针对第m个预设模板中的第n个元素,以预设模板树中与第n-1个元素匹配的节点为起点,判断当前构建的预设模板树中起点的子节点中是否存在与该第n个元素匹配的节点,若是,则继续遍历第n 1个节点;若否,则以该起点为父节点,在预设模板树中添加第n个元素对应的节点,从而更新当前构建的预设模板树;依次类推,直至遍历完该多个预设模板中的所有元素,从而得到基于该多个预设模板构建的预设模板树。其中,预设模板第一个元素遍历时,起点为根节点。
[0149]
进一步地,在构建预设模板树之后,还可以为预设模板树中对应的元素相同的节点之间添加失败跳转路径,以当文本模板对应的元素序列所经过的预设模板树的路径中包括失败跳转路径时,确定该预设模板树中不存在与该文本模板匹配的预设模板。
[0150]
当预设模板被更新之后,可以触发预设模板树的更新过程,从而基于更新的预设模板中的各个元素,更新预设模板树,具体过程与基于第m个预设模板建立预设模板树的过程类似,在此不再赘述。
[0151]
示例性的,图7为本技术图6所示实施例中提供的预设模板树的结构示意图,图7以3个预设模板为例,即模板1至模板3,其中,模板1为“{部位}{症状}{时间}”,模板2为“{症状}、{症状}{时间}”,模板3为“{症状}{时间}”,基于这3个模板建立的模板树如图7所示,图7中以虚线箭头表示上述失败跳转路径。
[0152]
图8为本技术实施例提供的另一种信息抽取方法的流程示意图,本实施例针对病历信息抽取的应用场景,如图8所示,本实施例提供的信息抽取方法包括以下步骤:
[0153]
步骤s801,获取待处理病历。
[0154]
具体的,医生在通过问诊平台生成病人的病历之后,问诊平台对应的设备可以自动将该病历(即待处理病历)上传至信息抽取平台。
[0155]
若病历为手写病历,则可以通过拍摄该手写病历的图像,将该图像上传至信息抽取平台,信息抽取平台通过识别图像中的文字,得到待处理病历。
[0156]
步骤s802,对待处理病历进行实体识别,得到待处理病历对应的至少一个文本模板。
[0157]
其中,所述文本模板包括多个元素,所述多个元素包括所述待处理文本分解得到的多个实体中各实体对应的标注信息。
[0158]
待处理病历对应的标注信息可以包括:部位、疾病、表项、性质、属性、症状、发病时间、时间等。
[0159]
步骤s803,基于所述至少一个文本模板中与预设模板树中的任一预设模板匹配的文本模板,进行所述待处理病历的信息抽取,得到对应的结构化信息。
[0160]
其中,所述预设模板树基于多个预设模板包含的元素序列建立,每一预设模板的元素序列对应所述预设模板树中一条由根节点至叶子节点的路径。
[0161]
本技术实施例还提供一种信息抽取方法,针对笔录,该方法包括:
[0162]
获取待处理笔录;对待处理笔录进行实体识别,得到待处理笔录对应的至少一个文本模板,其中,所述文本模板包括多个元素,所述多个元素包括所述待处理文本分解得到的多个实体中各实体对应的标注信息;基于所述至少一个文本模板中与预设模板树中的任一预设模板匹配的文本模板,进行所述待处理笔录的信息抽取,得到对应的结构化信息。
[0163]
其中,所述预设模板树基于多个预设模板包含的元素序列建立,每一预设模板的元素序列对应所述预设模板树中一条由根节点至叶子节点的路径。
[0164]
本技术提供的信息抽取方法可以应用于各种具备相对固定范式的文本的信息抽取,不限于上述实施例中提及的病历、笔录,还可以为网站、新闻播报等。
[0165]
本技术实施例提供的一种信息抽取装置,该信息抽取装置包括:
[0166]
文本模板生成模块,用于对待处理文本进行实体分解,生成所述待处理文本的至少一个文本模板,其中,所述文本模板包括多个元素,所述多个元素包括所述待处理文本分解得到的多个实体中各实体对应的标注信息;信息抽取模块,用于基于所述至少一个文本模板中与预设模板树中的任一预设模板匹配的文本模板,进行所述待处理文本的信息抽取,得到对应的结构化信息。
[0167]
可选的,文本模板生成模块,包括:
[0168]
实体识别单元,用于根据实体词典,识别所述待处理文本中存在的实体;文本分解单元,用于根据识别的实体,将所述待处理文本分解为至少一种实体序列;模板生成单元,用于根据所述至少一种实体序列,生成所述至少一个文本模板。
[0169]
可选的,所述实体词典中的实体包括嵌套实体,所述嵌套实体为所述实体词典中至少两个实体组成的实体。
[0170]
可选的,文本分解单元,包括:
[0171]
筛选子单元,用于若所述待处理文本中存在对应至少两种实体识别结果的文本块,则根据所述文本块的上下文,对所述文本对应的至少两种实体识别结果进行筛选;其中,每一实体识别结果用于将文本块分解为至少一个实体;分解子单元,用于根据筛选后的实体识别结果中的实体以及识别的所述待处理文本除去所述文本块剩余部分中的实体,将所述待处理文本分解为至少一种实体序列。
[0172]
可选的,筛选子单元,具体用于:
[0173]
若所述待处理文本中存在对应至少两种实体识别结果的文本块,则对于所述文本块的任一实体识别结果,确定所述文本块在所述实体识别结果下对应的至少一个实体,并将所述识别结果下所述文本块及其上下文中的实体替换为对应的标注信息,得到所述识别结果对应的包含标注信息和非实体的标注序列;若所述实体识别结果对应的标注序列与上下文词典中的任一上下文模板匹配,则保留所述实体识别结果;其中,所述上下文模板的元素序列中的元素包括标注信息和非实体。
[0174]
可选的,若匹配的文本模板的数量为多个,所述装置还包括:
[0175]
目标模板确定模块,用于根据匹配的文本模板的属性信息,从多个匹配的文本模板中确定目标模板,以基于所述目标模板,进行所述待处理文本的信息抽取,得到对应的结构化信息;其中,模板的属性信息包括模板的使用频率、模板中各标注信息对应的实体的出现频率以及模板中各标注信息的使用频率中的一项或多项。
[0176]
可选的,所述装置还包括:
[0177]
预设模板树构建模块,用于获取多个预设模板;遍历所述多个预设模板中各预设模板对应的元素序列,并执行下述步骤基于每个元素序列进行预设模板树的更新,以完成所述预设模板树的构建:遍历所述元素序列中的各个元素,以当前构建的预设模板树中与上一元素匹配的节点为目标节点,判断所述目标节点的子节点中是否包括所述元素对应的节点;若否,则以所述目标节点为父节点,在当前构建的预设模板树中添加所述元素对应的节点。
[0178]
可选的,所述装置还包括:
[0179]
数值掩码处理模块,用于在对待处理文本进行实体分解之前,识别所述待处理文本中的数值;将所述待处理文本中的数值替换为掩码,以使数值对应的实体包括所述掩码。
[0180]
本技术实施例提供的信息抽取装置,可用于执行上述任意实施例提供的信息抽取方法的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
[0181]
图9为本技术实施例提供的一种信息抽取设备的结构示意图,如图9所示,本实施例的提供的信息抽取设备包括:
[0182]
至少一个处理器910;以及与所述至少一个处理器通信连接的存储器920;其中,所述存储器920存储有计算机执行指令;所述至少一个处理器910执行所述存储器存储的计算机执行指令,以使所述电子设备执行如前述任一实施例提供的方法。
[0183]
可选地,存储器920既可以是独立的,也可以跟处理器910集成在一起。
[0184]
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
[0185]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时,可以实现前述任一实施例提供的方法。
[0186]
本技术实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例提供的方法。
[0187]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0188]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的部分步骤。
[0189]
应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用
集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0190]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0191]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0192]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0193]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0194]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例提供的方法。
[0195]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0196]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
再多了解一些

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

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

相关文献