首页> 中国专利> 采用深度学习的名称实体识别

采用深度学习的名称实体识别

摘要

提供了用于识别文本语料库中的实体的系统、方法和装置。该系统包括:第一命名实体识别(NER)系统,其包含一个或多个实体词典,所述第一NER系统被配置为基于一个或多个实体词典识别文本语料库中的实体和/或实体类型;第二NER系统,其包含被配置用于预测所述文本语料库内的实体和/或实体类型的NER模型;以及比较模块,其被配置为基于比较从第一和第二NER系统输出的实体结果来识别实体,其中被识别的实体与由第一NER系统识别的实体不同。该系统还可以包括更新模块,该更新模块被配置为基于被识别的实体更新一个或多个实体词典。该系统还可以包括词典构建模块,该模块被配置为至少基于被识别的实体构建一组实体词典。该系统还可以包括训练模块,其被配置为通过训练机器学习ML技术来生成或更新NER模型以使用基于代表所识别实体和/或实体类型的数据的训练数据集从文本语料库预测实体和/或实体类型。

著录项

说明书

本申请涉及一种用于对例如文本语料库的大规模数据集进行深度学习而执行名称实体识别的系统和方法。

背景技术

一个或多个领域中的数据或文本语料库等大规模数据集内的实体识别,例如仅作为实例但不受限的生物信息学或化学信息文献(例如,由例如仅作为实例但不受限的PubMed的各种源存储的出版物),对于识别实体类型、所关注实体和/或它们之间的对应实体关系来说很重要。大规模数据集或数据/文本语料库可以包括或表示来自一个或多个数据源、内容源、内容提供者等等的任何信息或数据,并且可包含仅作为实例但不限于非结构化数据/文本、结构化数据/文本、文本正文、文章、出版物、文献、文档、文本、电子邮件、图像和/或视频,或者可含有大量信息的任何其它信息或数据。此数据可由一个或多个源、内容源/提供者或多个源(例如,PubMed、MEDLINE、维基百科)编译、由其生成和/或与其一起/或由其存储,并且可用于形成大规模数据集或数据/文本语料库,从中可提取实体、实体类型和所关注关系。此类大规模数据集或数据/文本语料库可包含来自一个或多个数据源的数据或信息,其中每个数据源可提供表示多个非结构化和/或结构化文本/文档、文档、文章或文献等等的数据。尽管来自出版商、内容提供者/源的大部分文档、文章或文献具有特定的文档格式/结构,例如,PubMed文档存储为XML,其中具有关于作者、期刊、出版日期及文档中的章节和段落的信息,但是此类文档可被视为数据/文本语料库的部分。为简单起见,大规模数据集或数据/文本语料库在本文中称为仅作为实例但不限于文本语料库。

具有实体词典的命名实体识别(NER)系统通常用于匹配和提取已识别实体、实体类型和/或实体类型在文本语料库中出现的位置。这些NER系统通常使用手动整理和标注的实体词典,以便可靠地匹配和识别文本语料库的部分中的已知实体。例如,当文本语料库或正在处理的文本部分包括生物信息学和化学信息学文献时,实体类型可以是从基因、疾病到化学物质等的各种类型。可能有超过5000万个不同的实体类型和/或感兴趣的实体,随着这些领域科学研究的进展,每天都产生更多。手动整理和标注出现在这种大规模数据集或文本语料库中的实体和/或实体类型变得越来越难以管理且成本高昂。这是因为实体的数量随着研究的进行和发现而不断增加。例如,当研究人员做出新发现时,他们可能为实体和/或实体类型生成与先前定义的名称不同的名称。通常没有普遍接受的标准方法来为实体和/或实体类型生成名称。因此,当前基于NER词典的方法的一个关键问题是,手动查看文本语料库中的新文献/文档以及手动编辑实体词典并使实体词典保持最新既耗费时间又耗费资源。当前NER方法和系统的另一个关键问题是无法确保NER系统能够准确识别已知和未知实体类型的实体。不可靠的NER系统将导致使用这些实体结果的下游过程出现错误和不准确,这些错误会传播和/或放大,从而导致不可靠的研究辅助工具、工具和/或系统。

例如,生物文档或文本中的文本可包括诸如但不限于“扑热息痛有益于头痛”的句子。这些句子包括感兴趣的实体类型(例如药物、疾病/病症)以及相应的实体(例如“扑热息痛”、“头痛”)以及它们之间的关系(例如“有益于”)。实体类型可以包括或代表至少一个实体类型,仅作为示例但不限于以下的组:基因;疾病;化合物/药物;蛋白质;化学实体类型、生物实体类型;或与生物信息学或化学信息学等相关的任何其他实体类型。实体可以包括或表示基于文本的实体数据,该文本代表属于或具有相应实体类型的任何实体。在提取此实体数据时,可将其用于许多应用,例如知识库、文献搜索、实体-实体知识图、关系提取、生成用于训练各种机器学习技术和模型的训练数据集,以及对以下领域的研究人员有用的其他过程:例如但不限于生物信息学、化学信息学、药物发现等。

鉴于可能感兴趣的大量不同实体,在不知道它们存在于文本语料库或大规模文献体中的情况下确定和/或理解哪些实体和/或实体类型对生成、构建和/或扩充实体词典有用,即使不是不可能的,也是一项困难的资源密集型任务。手动维护和更新NER词典类型系统的实体词典也是一项艰巨且资源密集型的任务(就时间而言)。此外,NER词典类型系统不具有适应性,并且可能从一段文本中错误地将一种类型的实体(例如“疾病”)识别为另一种实体类型的实体(例如“基因”),从而在NER过程中输出不正确的实体结果。这可能导致依赖于NER系统输出的实体结果的下游过程(例如关系提取、训练ML技术和模型、知识库)出现进一步的错误、不准确和低效。

可以使用使用机器学习技术训练的NER模型来预测文本语料库中的实体和/或实体类型。然而,由于过时的训练数据集,这种NER模型识别和/或验证当前和/或新实体和/或感兴趣的实体类型的可靠性可能差,这可能导致下游过程的进一步不准确和/或低效。

期望有一个更高效和更稳健的NER系统,其可以确保实体词典的最新和准确,以实现更高效的实体识别。还期望NER系统能够可靠且有效地生成和/或构建实体词典和/或基于文本语料库扩充基于NER词典的系统的现有实体词典。

下文所描述的实施方案不限于解决上文所描述的已知方法的任何或全部缺点的实施方式。

发明内容

提供本发明内容的目的是以简化形式介绍下文在具体实施方式中进一步描述的一系列概念。本发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于确定要求保护的主题的范围;促进本发明的工作和/或用于实现基本上类似的技术效果的各种变型和替代性特征应被视为落入本文公开的本发明的范围中。

本公开通过提供更稳健的NER系统来提供对上述关键问题的解决方案,该系统可以确保最新且准确的词典以用于更有效的实体识别。这可以通过NER系统的组合或耦合来实现,包括但不限于基于NER词典的NER系统与经过训练的NER机器学习(ML)系统耦合,其中可以分析来自每个这样的系统的实体结果集以从一个或多个感兴趣的领域中的文本/文档的语料库中可靠地识别附加的和/或新的实体和/或感兴趣的实体类型。附加地或替代地,这也可以通过一个或多个实体词典与仅作为示例但不限于的经过训练的NER机器学习(ML)系统的组合或耦合来实现,其中基于实体词典过滤来自NER ML系统的一组实体结果,以从一个或多个感兴趣的领域中的文本/文档的语料库中可靠地识别附加的和/或新的实体和/或感兴趣的实体类型。

在第一方面,本公开提供了一种系统,包括:第一命名实体识别(NER)系统,其包含一个或多个实体词典,所述第一NER系统被配置为基于一个或多个实体词典识别文本语料库中的实体和/或实体类型;第二NER系统,其包含被配置用于预测所述文本语料库内的实体和/或实体类型的NER模型;以及比较模块,其被配置为基于比较从第一和第二NER系统输出的实体结果来识别实体,其中被识别的实体与由第一NER系统识别的实体不同。

在第二方面,本公开提供了一种命名实体识别系统,包括:NER模型,其配置用于预测文本语料库中的实体和/或实体类型;和比较模块,其配置用于基于将NER模型输出的实体结果与存储在一个或多个实体词典中的实体进行比较来识别实体,其中附加实体与一个或多个实体词典中的实体不同。

优选地,第二方面的系统还包括:另一个命名实体识别NER系统,其包括一个或多个实体词典,所述另一个NER系统被配置为基于一个或多个实体词典来识别文本语料库中的实体和/或实体类型;并且其中所述比较进一步包括比较从所述NER系统和所述另一个NER系统输出的实体结果,其中被识别的实体包括与由所述另一个NER系统识别的实体不同的那些实体。

优选地,第一和/或第二方面的系统还包括更新模块,该更新模块被配置为基于被识别的实体更新一个或多个实体词典。

优选地,第一和/或第二方面的系统还包括词典构建模块,该模块被配置为至少基于被识别的实体构建一组实体词典。

优选地,第一和/或第二方面的系统还包括训练模块,该训练模块被配置为通过至少基于被识别的实体训练机器学习ML技术生成或更新NER模型,用于从文本语料库预测实体和/或实体类型。

优选地,第一和/或第二方面的系统,其中所述ML技术包括来自以下组的至少一个ML技术:神经网络;递归神经网络;前馈神经网络;卷积神经网络;长期短期记忆LSTM神经网络;基于LSTM条件随机场CRF的神经网络;以及从文本语料库预测实体和实体类型的任何其它ML技术。

优选地,第一和/或第二方面的系统,其中训练模块被配置为训练ML技术以基于标记数据生成或更新NER模型,所述标记数据包括多组标记数据,其中每组标记数据包括文本的一部分,其包括一个或多个实体以及该一个或多个实体中的每一个在该文本部分内的位置。

优选地,第一和/或第二方面的系统,其中训练模块被配置为:生成关于所识别的实体的附加的多组标记数据,其中每组标记数据包括来自文本语料库的文本的一部分,其包括与该文本部分对应的一个或多个已识别实体以及该一个或多个已识别实体中的每一个在该文本部分内的位置;并且训练ML技术以至少基于附加的多组标记数据更新NER模型,用于从文本语料库中预测实体和/或实体类型。

优选地,第一和/或第二方面的系统,其中每组标记数据还包括对应于一个或多个识别实体中的每一个的一个或多个实体类型标记的标注。

优选地,第一和/或第二方面的系统,所述NER模型还包括:机器学习ML模型,其被配置用于基于文本的一部分预测实体和/或实体类型是否存在;和分类模型,其被配置用于对所述文本部分的预测实体进行分类以基于所述文本部分的预测实体确定最可能的实体标签序列。优选地,第一和/或第二方面的系统中,所述NER模型还包括:实体词模型,其被配置用于捕获文本的部分内已知实体的词嵌入/编码;实体字符模型,其被配置用于捕获文本的部分中未知实体的字符嵌入/编码;并且所述机器学习ML模型还被配置为基于输入的捕获词和/或所述文本的部分的字符嵌入/编码来预测实体和/或实体类型是否存在。

优选地,第一和/或第二方面的系统,其中基于多组标记数据联合训练实体词模型、实体字符模型、机器学习模型和分类模型的模型参数,每组标记数据包括文本的部分,该文本的部分包括一个或多个实体,并且用一个或多个实体类型标签针对一个或多个实体中的每一个以及一个或多个识别的附加实体中的每一个在文本部分内的位置进行标注。

优选地,第一和/或第二方面的系统,其中ML模型基于包括被配置用于表示文本的部分的前向和后向隐藏状态的神经网络,其中前向和后向隐藏状态被连接在一起以生成该文本的部分的实体表示。

优选地,第一和/或第二方面的系统,其中所述神经网络基于双长短期记忆神经网络模型并且所述分类模型基于条件随机场CRF模型。

优选地,第一和/或第二方面的系统,其中NER模型还被配置为基于输入的文本语料库输出第二组实体结果,第二组实体结果包括多个匹配的实体的列表、每个匹配实体的实体类型以及匹配实体在文本中出现的位置。

优选地,第一和/或第二方面的系统,其中比较模块还被配置为将从NER模型输出的实体结果与存储在一个或多个实体词典中的实体进行比较,其中实体结果的实体当确定该实体与一个或多个实体词典的实体不同时被识别为附加实体。

优选地,第一和/或第二方面的系统,其中每个被识别的附加实体的计数被聚合,并且基于这些被识别的附加实体出现在文本语料库的上下文来验证具有超过预定阈值的计数的每个被识别的附加实体。

优选地,第一方面和/或第二方面的系统,其中比较模块还被配置为确定第二NER系统的第二组实体结果是否包括被识别为与第一NER系统的第一组实体结果的实体相比是唯一的任何实体。

优选地,第一和/或第二方面的系统还包括验证模块,该验证模块被配置为验证附加识别的实体和/或实体类型关于它们出现的文本语料库中的相应文本部分是否有效。

优选地,第一和/或第二方面的系统,其中验证模块还被配置为基于来自以下组的至少一个来验证所识别的附加实体:基于训练不同的ML技术的实体匹配模型,用于训练确定实体上下文的模型;以及用于训练基于LSTM结构的实体类型匹配模型的ML技术,该结构考虑了包含实体的文本部分的左上下文和右上下文。

优选地,第一和/或第二方面的系统,还包括聚合模块,用于聚合从第一NER系统和第二NER系统输出的实体结果,其中聚合结果包括满足以下规则中的至少一个的那些实体:如果关于文本的相同对应部分在第一和第二NER系统的实体结果中实体相同,则该实体包含在聚合结果中;并且如果关于文本的相应部分,实体是唯一的并且经过验证,则该实体包含在聚合结果中。

在第三方面,本公开提供了一种用于识别文本语料库中的实体的计算机实施的方法,该方法包括:基于文本语料库从第一NER系统接收第一组实体结果,第一NER系统包括多个实体词典,配置用于从文本语料库内的词典中识别实体和/或实体类型;基于文本语料库从第二NER系统接收第二组实体结果,第二NER系统包括被配置用于预测文本语料库内的实体和/或实体类型的NER模型;基于比较从第一和第二NER系统输出的实体结果来识别实体,其中被识别的实体与由第一NER系统识别的实体不同。

在第四方面,本公开提供了一种用于识别文本语料库中实体的计算机实施的方法,该方法包括:从基于文本语料库的NER系统接收一组实体结果,所述NER系统包括配置用于预测文本语料库中的实体和/或实体类型的NER模型;

基于将NER系统输出的实体结果与存储在一个或多个实体词典中的实体进行比较来识别实体,其中被识别的实体与一个或多个实体词典中的实体不同。

优选地,第四方面的计算机实施的方法,还包括:从基于文本语料库的另一个名称实体识别NER系统接收另一组实体结果,所述另一个NER系统包括多个实体词典,其配置用于识别所述文本语料库中来自词典的实体和/或实体类型;并且所述比较进一步包括比较从所述NER系统和所述另一个NER系统输出的实体结果,其中被识别的实体包括与所述另一个NER系统识别的实体不同的那些实体。

优选地,第三和/或第四方面的计算机实施的方法,进一步基于被识别的实体更新一个或多个实体词典。

优选地,第三和/或第四方面的计算机实施的方法,还包括至少基于被识别的实体构建一组实体词典。

优选地,第三和/或第四方面的计算机实施的方法还包括通过至少基于已识别实体训练机器学习ML技术来更新NER模型,用于从文本语料库预测实体和/或实体类型。

优选地,第三和/或第四方面的计算机实施的方法,其中所述ML技术包括来自以下群组的至少一个ML技术:神经网络;递归神经网络;前馈神经网络;卷积神经网络;长期短期记忆(LSTM)神经网络;双向LSTM神经网络;基于LSTM条件随机场(CRF)的神经网络;以及用于基于所述一个或多个实体结果从文本语料库预测实体类型的任何其它ML技术。

优选地,第三和/或第四方面的计算机实施的方法,还包括训练ML技术以用于基于标记数据生成或更新NER模型,所述标记数据包括多组标记数据,其中每组标记数据包括文本的一部分,其包括一个或多个实体以及该一个或多个实体中的每一个在该文本部分内的位置。

优选地,第三和/或第四方面的计算机实施的方法还包括:关于所识别的实体,生成附加的多组标记数据,其中每组标记数据包括来自文本语料库的文本的一部分,其包括与该文本部分对应的一个或多个已识别实体以及该一个或多个已识别实体中的每一个在该文本部分内的位置;训练ML技术以至少基于附加的多组标记数据更新NER模型,用于从文本语料库中预测实体和/或实体类型。

优选地,第三和/或第四方面的计算机实施的方法,其中每组标记数据还包括对应于一个或多个实体中的每一个的一个或多个实体类型标记的标注。

优选地,第三和/或第四方面的计算机实施的方法,其中NER模型还包括:机器学习ML模型,其被配置用于基于文本的一部分预测实体和/或实体类型是否存在;和分类模型,其被配置用于对所述文本部分的预测实体进行分类以基于所述文本部分的预测实体确定最可能的实体标签序列。

优选地,第三和/或第四方面的计算机实施的方法,其中NER模型还包括:实体词模型,其被配置用于捕获文本的部分内已知实体的词嵌入/编码;实体字符模型,其被配置用于捕获文本的部分中未知实体的字符嵌入/编码;并且所述机器学习ML模型还被配置为基于输入的捕获词和/或所述文本的部分的字符嵌入/编码来预测实体和/或实体类型是否存在。

优选地,第三和/或第四方面的计算机实施的方法,还包括基于多组标记数据联合训练实体词模型、实体字符模型、机器学习模型和分类模型的模型参数,每组标记数据包括文本的部分,该文本的部分包括一个或多个实体,并且用一个或多个实体类型标签针对一个或多个实体中的每一个以及一个或多个识别的实体中的每一个在文本部分内的位置进行标注。

优选地,第三和/或第四方面的计算机实施的方法,其中ML模型基于包括被配置用于表示文本的部分的前向和后向隐藏状态的神经网络,其中前向和后向隐藏状态被连接在一起以生成该文本的部分的实体表示。

优选地,第三和/或第四方面的计算机实施的方法,其中所述神经网络基于双长短期记忆神经网络模型并且所述分类模型基于条件随机场CRF模型。

优选地,第三和/或第四方面的计算机实施的方法还包括基于输入的文本语料库从NER模型输出第二组实体结果,第二组实体结果包括多个匹配的实体的列表、每个匹配实体的实体类型以及匹配实体在文本中出现的位置。

优选地,第三和/或第四方面的计算机实施的方法,其中比较从NER模型输出的实体结果还包括将实体结果与存储在一个或多个实体词典中的实体进行比较,其中实体结果的实体当确定该实体与一个或多个实体词典的实体不同时被识别为附加实体。

优选地,第三和/或第四方面的计算机实施的方法还包括聚合每个识别实体的计数,并基于这些识别实体出现在文本语料库中的上下文,用超过预定阈值的计数来验证每个识别实体。

优选地,第三方面的计算机实施的方法,其中比较进一步包括确定第二NER系统的第二组实体结果是否包括与第一NER系统的第一组实体结果的实体相比被识别为唯一的任何实体。

优选地,第四方面的计算机实施的方法,其中比较进一步包括确定NER系统的一组实体结果是否包括与另一NER系统的一组实体结果的实体相比被识别为唯一的任何实体。

优选地,第三和/或第四方面的计算机实施的方法,还包括验证所识别的实体和/或实体类型关于来自它们出现的文本语料库的文本的相应部分是否有效。

优选地,第三和/或第四方面的计算机实施的方法,其中验证还包括基于来自以下组的至少一个来验证所识别的实体:实体匹配模型,其基于训练不同的ML技术,用于训练模型以确定实体的上下文;以及用于基于LSTM结构训练实体类型匹配模型的ML技术,该LSTM结构考虑了包含实体的文本部分的左上下文和右上下文。

优选地,第三方面的计算机实施的方法,还包括聚合从第一NER系统和第二NER系统输出的实体结果,其中聚合结果包括满足以下规则中的至少一个的那些实体:如果关于文本的相同对应部分在第一和第二NER系统的实体结果中实体是相同的,则该实体包含在聚合结果中;并且如果关于文本的相同对应部分,实体是唯一的并且经过验证,则该实体包含在聚合结果中。作为一种选择,另一个规则可以基于:如果关于文本的相同对应部分在第一和第二NER系统的实体结果之间存在不同实体的重叠,则关于所述文本的部分,验证每个不同实体,并且仅在聚合结果中包含经过验证的实体。

优选地,第四方面的计算机实施的方法,还包括聚合从NER系统和另一NER系统输出的实体结果,其中聚合结果包括满足以下规则中的至少一个的那些实体:如果关于文本的相同对应部分,在NER系统和另一NER系统的实体结果中实体是相同的,则该实体包含在聚合结果中;并且如果关于文本的相同对应部分,实体是唯一的并且经过验证,则该实体包含在聚合结果中。作为一种选择,另一个规则可以基于:如果关于文本的相同对应部分,在NER系统和另一NER系统的实体结果之间存在不同实体的重叠,则关于所述文本的部分,验证每个不同实体,并且仅在聚合结果中包含经过验证的实体。

优选地,第一、第二、第三、第四、第五、第六、第七、第八、第九或第十方面的系统或计算机实施的方法,其中实体包括与来自以下组的实体类型相关联的实体数据:基因;疾病;化合物/药物;蛋白质;化学、器官、生物;或与生物信息学或化学信息学相关联的任何其它实体类型,等等。优选地,第一、第二、第三、第四、第五、第六、第七、第八、第九或第十方面的系统或计算机实施的方法,其中文本语料库包括与化学信息学和/或生物信息学文献、文本、文章等,其组合和/或修改,和/或如本文所述的相关的多个非结构化文本和/或多个结构化文本。

在第五方面中,本公开提供从根据第三和/或方面、其组合和/或修改、如本文中要求保护和/或如本文中所描述的计算机实施方法获得的机器学习(ML)模型。

在第六方面中,本公开提供从根据第一方面、其组合和/或修改、如本文中要求保护和/或如本文中所描述的计算机实施方法获得的NER模型。

在第七方面中,本公开提供一种包括处理器、存储器单元和通信接口的设备,其中所述处理器连接到所述存储器单元和所述通信接口,其中所述处理器和存储器配置成实施根据第三和/或第四方面、其组合和/或修改、如本文中要求保护和/或如本文中所描述的计算机实施方法。

在第八方面中,本公开提供一种包括处理器、存储器单元和通信接口的设备,其中所述处理器连接到所述存储器单元和所述通信接口,其中所述处理器和存储器配置成实施根据第五和/或第六方面、其组合和/或修改、如本文中要求保护和/或如本文中所描述的ML方法和/或NER模型。

在第九方面中,本公开提供一种包括其上存储的数据或指令代码的计算机可读介质,所述数据或指令代码在处理器上执行时使所述处理器实施根据第三、第四、第五和/或第六方面的任一项、其组合和/或修改、如本文中要求保护和/或如本文中所描述的计算机实施方法。

在第十方面中,本公开提供一种包括其上存储的数据或指令代码的有形计算机可读介质,所述数据或指令代码在处理器上执行时使所述处理器实施根据第三、第四、第五和/或第六方面的任一项、其组合和/或修改、如本文中要求保护和/或如本文中所描述的计算机实施方法。

本文中所描述的方法可以由呈机器可读形式的软件在例如呈计算机程序的形式的有形存储介质上执行,所述计算机程序包含适于在所述程序在计算机上运行时以及在所述计算机程序可以在计算机可读介质上体现的情况下执行本文中所描述的任何方法的所有步骤的计算机程序代码构件。有形(或非暂时性)存储介质的实例包括磁盘、拇指驱动器、存储卡等,并且不包括传播的信号。所述软件可以适用于在并行处理器或串行处理器上执行,使得所述方法步骤可以以任何适合的顺序或同时执行。

本申请确认固件和软件可以是有价值的、可单独交易的商品。旨在涵盖在“哑”或标准硬件上运行或控制“哑”或标准硬件的软件,以实现期望的功能。还旨在涵盖“描述”或定义硬件的配置的软件,如HDL(硬件描述语言)软件,如用于设计硅芯片或用于配置通用可配置芯片,以实现期望的功能。

如对技术人员显而易见的,优选特征可以适当地结合,并且可以与本发明的任何方面结合。

附图说明

将仅借助于实例参考以下附图来描述本发明的实施例,在附图中:

图1a是说明根据本发明的示例名称实体识别(NER)深度学习系统的示意图;

图1b是说明根据本发明的另一个示例NER深度学习(NER-DL)系统的示意图;

图1c是说明根据本发明的另一示例NER-DL系统的示意图;

图1d是示出根据本发明的用于执行NER的示例过程的流程图;

图1e是示出根据本发明的用于执行NER的另一示例过程的流程图;

图2是图示基于实体词典的示例NER系统的示意图;

图3a是图示在根据本发明的NER-DL系统中使用的基于训练机器学习技术的示例NER机器学习(NER-ML)系统的示意图;

图3b是图示在根据本发明的NER-DL系统中使用的图3a的示例训练的NER-ML系统的示意图;

图3c是图示在根据本发明的NER-DL系统中使用的另一示例NER-ML系统的示意图;

图3d是示出根据本发明的用于训练NER-ML系统中使用的图3a到3c中任一个的NER-ML系统的过程的流程图;

图3e是图示在根据本发明的NER-DL系统中使用的NER-ML系统的另一示例的示意图;

图4a是图示与根据本发明的NER-DL系统一起使用的示例NER-ML系统的示意图;

图4b是图示与根据本发明的NER-DL系统一起使用的图4a的示例NER-ML系统的示意图;

图5a是示出根据本发明的计算系统/装置的示意图;以及

图5b是示出根据本发明的系统的示意图。

共同的附图标记在所有附图中用于指示相似特征。

具体实施方式

下文仅通过举例的方式描述本发明的实施例。这些实例表示申请人目前已知的实践本发明的最佳模式,但是这些实例并不是可以实现本发明的唯一方法。描述阐述了实例的功能以及构造和操作实例的步骤的序列。然而,可以由不同的实例来完成相同或等效的功能和顺序。

例如生物信息学或化学信息文献的文本语料库内的实体识别对于识别所关注实体和/或实体类型、对应实体以及它们之间的关系等等来说很重要。命名实体识别(NER)系统通常用于提取已识别的实体、实体类型和/或实体类型在文本中出现的位置。这些NER系统通常使用手动标注的实体词典来识别文本内的实体。在生物信息学和/或化学信息学中,实体类型可以是一系列类型,例如基因、疾病、化学物质等,并且随着这些领域的进一步研究的进行,实体和/或实体类型的数量不断增加,这增加了人类知识体系并形成了越来越大量的文本/文档语料库,例如但不限于研究相关文本和/或文档;会议和期刊论文;文章;已公布的专利;新闻文章等。

传统的基于NER实体词典的方法存在几个关键问题,它们是:考虑到任何一个研究等领域中文本/文档语料库的规模不断增加,手动编辑并保持实体词典准确和最新需要耗费大量时间和资源;无法确保传统NER系统能够准确识别实体类型,其中当识别的实体和实体类型之间存在歧义时,系统默认为实体类型的预定层次结构或标准顺序,这可能导致不准确或不可靠实体识别;同样,不可靠或不准确的NER系统导致使用这些实体结果的下游流程中的错误放大和/或传播。

文本语料库可以包括非结构化或结构化的文档/文本等。非结构化文档或文本与结构化文档或文本的不同之处在于,非结构化文档或文本不包括指示非结构化文档或文本内的文本、字符串等部分的含义或功能的类型标签。例如,非结构化文档可以包括与实体类型标签不相关联的文本、句子或字符串等的多个非结构化部分。非结构化文档还可以包括部分结构化信息和非结构化信息,它们可以基于NER技术等进一步结构化。

本发明通过提供更稳健的NER系统来提供对上述关键问题的解决方案,该系统可以确保最新且准确的词典以用于更有效的实体识别。本发明旨在通过NER系统的明智组合或耦合来克服这些关键问题,该系统包括基于NER词典的NER系统与经过训练的NER机器学习(ML)系统耦合,其中可以分析来自每个这样的系统的实体结果集以从一个或多个感兴趣的领域中的文本/文档的语料库中可靠地识别附加的和/或新的实体和/或感兴趣的实体类型。本发明还可以通过一个或多个实体词典与经过训练的NER机器学习(ML)系统的明智组合或耦合来克服这些关键问题,其中基于实体词典过滤来自NER ML系统的一组实体结果,以从一个或多个感兴趣的领域中的文本/文档的语料库中可靠地识别附加的和/或新的实体和/或感兴趣的实体类型。

使用ML技术训练和生成一个或多个具有与输入数据相关联的相同或类似输出目标的经过训练的模型或分类器。一种或多种ML技术可以包括或表示一种或多种可以用于生成分析模型、分类器和/或算法以解决复杂的问题的方法或其组合,所述复杂的问题如仅通过举例但不限于预测和分析复杂的过程和/或化合物;关于一种或多种关系,对输入数据进行分类。ML技术可用于生成与用于药物发现、识别和优化以及其他相关信息学、化学信息学和/或生物信息学领域的化合物相关的分析模型。

如本文所述,可由本发明使用的ML技术的实例可包含或基于仅作为实例但不限于可在带标记和/或未标记的数据集上训练以生成与带标记和/或未标记的数据集相关联的模型或分类器的任何ML技术或算法/方法、一种或多种监督式ML技术、半监督式ML技术、无监督ML技术、线性和/或非线性ML技术、与分类相关联的ML技术、与回归相关联的ML技术等等,和/或其组合。ML技术的一些实例可以包含或基于仅通过举例但不限于以下中的一个或多个:主动学习、多任务学习、迁移学习、神经消息解析、一次性学习、降维、决策树学习、相关联规则学习、相似性学习、数据挖掘算法/方法、人工神经网络(NN)、深度NN、深度学习、深度学习ANN、归纳逻辑编程、支持向量机(SVM)、稀疏词典学习、聚类、贝叶斯(Bayesian)网络、强化学习、表示学习、相似性和度量学习、稀疏词典学习、遗传算法、基于规则的机器学习、学习分类器系统和/或其一个或多个组合等。

监督式ML技术的一些实例可包含或基于仅作为实例但不限于ANN、DNN、关联规则学习算法、先验算法、

无监督ML技术的一些实例可以包含或基于仅通过举例但不限于期望最大化(EM)算法、向量量化、生成的地形图,信息瓶颈(IB)方法和能够推断描述隐藏结构和/或从未标记的数据和/或通过忽略标记的训练数据集中的标记等生成模型的任何其它ML技术或ML任务。半监督式ML技术的一些实例可包含或基于仅作为实例但不限于以下中的一个或多个:主动学习、生成模型、低密度分离、基于图的方法、协同训练、转导或能够利用未标记数据集和带标记数据集进行训练(例如通常训练数据集可以包含少量的带标记训练数据结合大量的未标记数据等)的任何其它ML技术、任务或监督式ML技术的类别。

人工NN(ANN)ML技术的一些实例可包含或基于仅作为实例但不限于以下中的一个或多个:人工NN、前馈NN、递归NN(RNN)、卷积NN(CNN)、自动编码器、长期短期记忆(LSTM)、LSTM条件随机场(CRF)、双向LSTM、双向LSTM-CRF;递归人工NN、极限学习机、逻辑学习机、自组织映射,以及受到构成动物大脑的生物神经网络启发且能够基于带标记和/或未标记数据集学习或生成模型的其它ANN ML技术或联结式系统/计算系统。深度学习ML技术的一些实例可以包含或基于仅通过举例但不限于以下中的一个或多个:深度信仰网络、深度玻尔兹曼机、DNN、深度CNN、深度RNN、分层时间记忆、深度玻尔兹曼机(DBM)堆叠式自动编码器和/或能够基于学习来自标记的和/或未标记的数据集的数据表示学习或生成模型的任何其它ML技术。

为简单起见且仅作为举例,本发明可以使用能够从标记的数据集学习的ML技术(也称为深度学习技术)描述,其基于来自以下组的任何ML技术或算法:神经网络;递归神经网络;前馈神经网络;卷积神经网络;长期短期记忆LSTM神经网络;基于LSTM CRF的神经网络;或其组合;和/或适用于在从文本/文档语料库等预测、识别和/或分类实体和/或实体类型中训练名称实体识别(NER)机器学习(ML)模型的任何其它ML技术。一旦经过训练,经过训练的NER模型就被配置为预测、识别和/或分类匹配实体、每个匹配实体的实体类型和/或匹配实体在文本或其部分中出现的位置。

图1a是图示根据本发明的示例名称实体识别(NER)深度学习(DL)系统100(NER-DL系统)的示意图。NER-DL系统100包括文本或文档102的语料库,其可以输入到NER机器学习(ML)系统104(NER-ML系统),该系统包括一个或多个NER-ML模型104a-104n、用于识别与一个或多个实体词典106的实体不同的新实体的实体识别模块108、以及用于使用新识别的实体来更新或构建实体词典和/或训练一个或多个NER-ML模型104a-104n的实体结果模块110。

在操作中,文本或文档语料库可以包括(仅作为示例但不限于)生物信息学和/或化学信息学文献、文本或文档的语料库。NER-ML系统104可以包括一个或多个NER-ML模型104a-104n。NER-ML模型可以被配置用于预测文本语料库102内的实体和/或实体类型。NER-ML模型可以是多类ML模型,它可以被训练和配置为预测和/或识别多种实体类型的实体。替代地或附加地,可以训练和配置单类NER-ML模型以预测和/或识别特定实体类型的实体。NER-ML系统104可以基于一个或多个NER-ML模型104a-104n,用于处理文本语料库102并且用于输出与文本语料库的文本部分相关联的一组实体结果。该组实体结果可以包括或表示代表关于文本语料库的文本部分和/或实体/实体类型位于文本部分内的位置发现的实体和/或实体类型的数据。

一旦NER-ML系统104已被训练,文本语料库102就可以输入到一个或多个NER-ML模型104a-104n中的每一个,每个模型将一组实体结果输出到实体识别模块108。实体识别模块108被配置用于基于将从NER-ML模型104a-104n输出的该组实体结果与存储在一个或多个对应实体词典106中的实体和/或实体类型进行比较来识别附加的或新的实体和/或实体类型。每个实体词典106可以包括对应于特定实体类型的实体。与一个或多个实体词典的实体和/或实体类型不同的新的或附加的实体和/或实体类型被识别为一组新的实体结果。

实体结果模块110可以被配置为自动和/或半自动地验证和/或使用新实体结果,其仅作为示例但不限于用于:a)更新或扩充一个或多个实体词典106;b)基于新实体结果(例如新实体类型)为新实体和/或实体类型构建一个或多个实体词典;c)生成或更新用于更新和/或重新训练NER-ML系统104的一个或多个NER-ML模型104a-104n中的至少一个的训练数据集;d)生成或更新用于基于一种或多种其他ML技术等训练附加NER-ML模型的训练数据集。

图1b是图示根据本发明的基于图1a的NER-ML系统104的另一示例NER-DL系统120的示意图。在该实例中,NER-DL系统120包括第一NER系统122,其包括一个或多个实体词典106,即基于NER词典的系统。第一NER系统122被配置为基于一个或多个实体词典识别文本语料库102内的实体和/或实体类型。例如,NER系统122可以使用实体词典来将词典106中的实体与在文本语料库102中找到的实体相匹配。NER-DL系统120还可以包括基于(仅作为示例但不限于)图1a的NER-ML系统104的第二NER系统124。在该实例中,第二NER系统122包括被训练和配置用于预测文本语料库102内的实体和/或实体类型的NER-ML模型124a。NER-ML模型124a可以通过基于NER-ML训练数据集124c训练ML技术124b来生成。NER-ML训练数据集124c可包括表示文本的部分的数据,文本的每一部分用对应的一个或多个实体和/或实体类型标记,和/或用对应的一个或多个实体和/或实体类型的位置标注。

文本语料库102可以被输入到第一和第二NER系统122和124以由第一NER系统122和第二NER系统124的训练的NER-ML模型124a进行处理,其每个可以输出对应的一组实体结果。第一NER系统122可以输出识别文本语料库102的部分中的一个或多个实体和/或实体类型的第一组实体结果。第二NER系统124可以输出识别文本语料库102的部分中的一个或多个实体和/或实体类型的第二组实体结果。注意,第一组实体结果和第二组实体结果可不同,因为第一和第二NER系统122和124被不同地配置。鉴于此,所述组实体结果被输入到实体识别模块108,其可以包括实体比较模块126、实体核对模块128和实体验证模块130。实体比较模块126可以被配置用于基于将从第一NER系统122输出的第一组实体结果与从第二NER系统124输出的第二组实体结果进行比较来识别实体,其中所识别的实体不同于由第一NER系统识别的实体。核对模块128可以被配置为将所识别的实体核对为从文本语料库102中识别的新的或附加的实体和/或实体类型。这些可以是第一NER系统122可能无法识别或准确识别的实体。

实体验证模块130可以被配置用于在a)通过路径132增强训练数据集124c和/或b)构建新的实体词典和/或通过路径134a更新或扩充实体词典106中使用所识别的实体之前验证所识别的实体。增强的训练数据集124c可用于通过相应ML技术124b的进一步训练来更新NER-ML模型124a。第一NER系统122可以使用更新的或附加的实体词典106来进一步识别来自文本语料库102的实体。由于在相关研究领域,例如生物信息学和/或化学信息学中的科学家/研究人员产生的新研究和/或文献,文本语料库102可以被更新。因此,该过程可以通过使用第一基于NER词典的系统122和第二基于NER-ML的系统122的组合来识别的进一步的新的或附加的实体进行重复。

NER-DL系统120可用于,仅作为示例但不限于,词典构建和/或扩充实体词典106。尽管在该实例中,在第二NER系统124(或NER-ML系统)中仅示出了一个NER-ML模型124a,但是第二NER系统124可以基于一个或多个NER-ML模型配置,每一个模型可以基于NER-ML训练实体数据集124c进行训练,该数据集由对应的一种或多种ML技术124c使用以生成对应的一种或多种NER-ML模型124a。

NER-ML模型124a可以基于任何一种或多种ML技术,例如,仅作为示例但不限于,神经网络技术,其包括,仅作为示例但不限于,以下组的一种或多种:递归神经网络(RNN);前馈神经网络(FFNN);卷积神经网络(CNN);长短期记忆(LSTM)神经网络;基于LSTM条件随机场(CRF)的神经网络;双向LSTM;双向LSTM-CRF;其组合;其修改;和/或用于从文本语料库102中的文本的部分预测和/或标记实体和实体类型的任何其他ML技术和/或分类技术。NER-ML模型124a的ML技术124b可以基于神经网络结构,该结构被训练在来自文本语料库102的文本部分(例如句子或段落)的词和/或字符级别进行操作,用于预测一个或多个实体和/或实体类型和/或其位置。例如,NER-ML模型124a可以被训练为基于双向LSTM CRF神经网络结构,该结构在来自文本语料库102的文本部分的词和/或字符级别操作。

第二NER系统124用于处理文本/文档的语料库102以识别NER-ML模型124a已被训练识别的每个实体类型(或一个或多个实体类型)的多个实体。然而,考虑到NER-ML模型124a可以基于神经网络类型结构,它包括能够预测和/或识别经典的基于词典的NER系统122可能无法识别/分类或可能错误地识别/分类的未知实体和/或实体类型的特性。如参考图1a所述,NER-ML模型124a可以是多类模型、多个多类模型和/或多个单类模型,用于输出代表预测、识别和/或发现实体的数据、关联的实体类型和/或实体在文本语料库102的文本部分内的位置。可以训练和配置多类NER-ML模型124a以从文本语料库102的部分中识别多种实体类型的实体。可以训练和配置单类NER模型124a以从文本语料库102的部分中识别特定实体类型的实体。因此,多个单类NER-ML模型124a,每个都被训练和配置为识别特定实体类型的实体,可用于同时识别多个实体类型的实体。

实体识别模块108被配置为从来自第一和第二NER系统122和124的实体结果组中识别新的或附加的实体。可以使用比较模块126识别新的或附加的实体,比较模块比较已经找到、验证和识别的实体(例如实体词典106中的实体)与从第二NER系统124输出的实体结果组之间的差异,其由实体核对模块128核对成新的实体。实体验证模块130可以验证新实体,并且那些验证的新实体可以用于构建进一步的实体词典,和/或添加到相应生成的实体词典106。替代地或附加地,经验证的新实体还可用于更新或重新生成NER-ML训练数据集124c以用于训练新的NER-ML模型,和/或更新/重新训练当前的NER-ML模型124a以用于从文本语料库102中预测/识别进一步的实体。

注意,文本语料库102可以基于可以由与文本语料库相关联的相应领域的科学家和/或研究人员生成的新信息、发现、文章、文档、文本等定期或连续更新。例如,文本语料库可以基于生物信息学和/或化学信息学领域,并且包括在一个或多个数据库等中发布或存储的生物信息学/化学信息学文章、专利、文献等。因此,具有更新的实体词典106的第一NER系统122和具有更新/重新训练的NER-ML模型124a的第二基于NER-ML的系统124可用于处理更新的文本语料库102以识别进一步的实体和/或实体类型和/或其在文本语料库102的文本部分内的位置。

如参考图1a所述,第二NER系统124处理文本语料库102以输出实体结果,实体比较模块126可以将实体结果与存储在一个或多个实体词典106中的当前实体进行比较。附加地或替代地,可以将第二NER系统124实体结果与从第一NER系统122输出的实体结果和/或存储在一个或多个实体词典106中的当前实体进行比较。与存储在一个或多个实体词典106中的那些实体不同的那些实体结果和/或来自第一NER系统122的实体结果可以被认为是新实体。

实体核对模块128可以核对这些新实体并确定每个新实体出现的频率。例如,每个新实体可以具有实体频率计数,当在处理文本语料库102期间实体结果中出现每个新实体时,该实体频率计数增加。可以选择实体计数大于或等于预定实体计数阈值(或设置的人工阈值)的那些实体进行验证。实体计数低于预定实体计数阈值的那些实体可以被丢弃,这进一步减小了关于新实体的识别不准确度。被实体核对模块128选择用于验证的实体被提供给验证模块130用于实体和/或实体类型的自动、半自动和/或手动验证。一旦这些实体被验证,验证的新实体和/或实体类型可用于为新实体类型生成新实体词典,和/或扩充现有实体词典106。

实体核对模块108还可以包括聚合模块,用于聚合第一NER系统和第二NER系统输出的实体结果,其中聚合结果包括至少满足以下规则的那些实体:如果实体关于文本的相应部分是唯一的并且被验证,则该实体包含在聚合结果中;如果关于文本的相同对应部分在第一和第二NER系统的实体结果中实体相同,则该实体包括在聚合结果中;并且如果关于文本的相同对应部分在第一和第二NER系统的实体结果之间存在不同实体的重叠,则这些不同实体中的每一个都关于文本的部分进行验证并且在聚合结果中仅包括已验证的实体。验证可以如下所述基于实体验证模块130执行。

实体验证模块130可以使用的自动化/半自动化过程可以基于通过训练用于预测实体是否有效或预测实体是否有效的概率的ML技术生成的实体匹配或基于字符串相似性的ML模型。此类模型可以基于Levenshtein距离的比较来实现。基于字符串相似性的ML模型的实例可以是基于神经网络结构的对齐模型,其中输入表示实体的数据。例如,可以使用字符级RNN类型结构对代表实体的数据进行操作以生成字符级的对齐/相似性矩阵,其中可以使用卷积神经网络结构过滤对齐/相似性矩阵以确定关于输入实体是否有效的分数。附加地或替代地,实体验证还可以包括使用基于字符级模型如fastText和/或基于词级上下文嵌入模型(例如,仅举例但不限于深度上下文化词表示技术)生成的实体候选表示,所述技术例如,仅举例但不限于来自转换器的深度双向编码器表示(BERT)、用于生物医学文本的BERT(BioBERT)或ELMO等。另外地或替代地,经验证的实体可由操作员或用户手动验证,其结果可被反馈以更新实体匹配和/或基于字符串相似性的ML模型。从理论上讲,这将减少操作员或用户手动验证所有已识别新实体的需要或必要性。实体验证模块130被配置为确保新识别的实体及其对应的实体类型在它们出现在文本语料库102的文本部分中的上下文的情况下是有效的。那些有效的新实体或经验证的新实体可用于构建新实体词典,和/或扩充/更新多个词典106中的一个或多个,和/或用于生成的用于更新第二NER系统124的NER-ML模型或训练附加的NER-ML模型等的进一步训练数据集。

注意,实体可以由该实体的一个或多个同义词(替代书写形式)表示。NER-ML模型124a可以基于用于训练相应ML技术124b的训练数据集,预测和/或识别现有实体的新同义词。例如,作为基因或疾病的实体可能各自具有多种书写形式(例如,基因总是具有短形式和长形式)。实体通常具有更多的同义词,这些同义词可来自例如希腊字母、不同命名约定、首字母缩略词、不同拼写等的不同表示。如果NER-ML模型124a预测/识别未知或之前未识别的新实体,则这可以触发实体验证模块130的自动化/半自动化过程以通知用户手动检查未知实体/实体类型等。如果实体是有效的新的和未知的实体,则用户可以做出通知给NER-DL系统100、120和/或140的决定以将实体包括在适当的实体词典106中。NER-ML模型124a还可以基于新识别的实体进一步更新,以改进这些NER-ML模型在文本的其他部分或文本语料库102的更新文本上的性能。

NER-DL系统120可以是处理流水线的一部分并与其他系统组合,例如关系提取系统、药物发现ML系统等,其中NER-DL系统120识别并找到文本语料库102中的所有词或字符串,其可以是具有相应实体类型的实体,并将这些传递给下游系统。例如,下游关系提取系统可以接收表示一组已识别实体、实体类型和已识别实体在文本语料库102内的位置的数据,并就这些已识别实体中的一个或多个(例如词或字符串)是否对应于一种关系或与一个或多个其他已识别实体等具有关系做出评估。关系提取系统然后可以生成实体对及其之间的关系,其可以用于生成或更新关系提取训练数据集(例如,实体对和它们之间的关系、实体的位置、文本语料库102的文本部分内的关系),用于训练一种或多种ML技术以生成进一步的ML模型,用于预测、识别和/或分类与实体相关的新产品和/或过程(例如新化学品、药物或治疗)以及它们之间的关系。

图1c是图示了根据本发明的基于图1a和1b的NER-DL系统100和/或120的另一示例NER-DL系统140的示意图。NER-DL系统140可以被配置用于扩充和/或构建实体词典106。第一NER系统122是基于实体词典的NER系统,其使用实体词典106来识别文本语料库102内的实体。第二NER系统(或NER-ML系统)124基于一个或多个ML模型,这些模型被训练和配置用于预测和/或识别文本102语料库内的实体和/或实体类型。第一和第二NER系统122和124处理文本语料库102以分别输出与文本语料库102中的文本部分相关联的第一和第二组实体结果。实体识别模块108使用实体比较模块126、实体核对模块128和实体验证模块130来识别附加的或新的实体和/或实体类型。首先,实体比较模块126将第一组实体结果和第二组实体结果相互比较,以确定第二组实体结果是否包括与第一组实体结果的实体和对应实体类型相比不同的任何实体和/或对应实体类型。与第一组实体结果的实体相比不同的那些实体可以首先被标记或被视为新实体。这些标记的和/或新的实体可以由实体核对模块126核对,然后可以由实体验证模块130进一步验证。任何新的实体类型都可以用于生成、构建和填充新的实体词典,每个词典对应于特定的新实体类型,其中实体与相应的新实体类型相关联。附加地或替代地,新实体可用于生成和/或构建新实体词典和/或扩充当前实体词典106。

图1d是图示根据本发明的用于执行用于识别文本语料库102中的实体的NER的示例过程150的流程图。过程150可以包括以下步骤:在步骤152中,接收来自NER-DL系统的一组实体结果,该组实体结果可以基于处理文本、文档和/或文献的语料库的NER-DL系统。NER-DL系统可以包括被配置为在处理文本语料库时预测、识别和/或分类实体和/或实体类型的NER-ML模型。在步骤154中,通过将从NER-DL系统输出的实体结果与存储在与实体类型相关联的一个或多个实体词典中的实体进行比较,该组实体结果被处理以识别实体和/或实体类型,其中所识别的实体与一个或多个实体词典的实体不同。每个实体词典可以包括与特定实体类型相关联的多个实体。在步骤156中,所识别的实体和相关联的实体类型可用于更新和/或构建实体词典,和/或用于更新或训练NER-DL系统的一个或多个ML模型。步骤156可以包括一个或多个步骤156a和/或156b,这取决于关于任何新识别的实体和/或相关联的实体类型所需的功能。例如,在步骤156a中,识别的实体和/或实体类型用于更新一个或多个实体词典,这可以包括将特定识别的实体类型的识别实体添加到与该特定实体类型相关联的对应实体词典中。替代地或另外地,在步骤156a中,所识别的实体和/或实体类型可用于基于任何所识别的新的或附加的实体类型来构建一个或多个实体词典,这可包括基于特定所识别的实体生成新的实体词典类型并添加与此特定识别实体类型相关联的所识别实体。例如,在步骤156b中,通过训练一种或多种用于预测、识别和/或分类来自文本语料库的实体和/或实体类型的一个或多个相关ML技术,识别的实体可以用于更新NER-DL系统的一个或多个NER模型。

步骤156b还可以包括生成或更新用于训练ML技术的任何实体训练数据集以生成在NER-DL系统中使用的这些ML模型。实体训练数据集可以包括与实体和实体类型相关的标记的训练数据集。当NER-DL系统发现新识别的实体和/或实体类型时,则可以生成与识别的实体和/或识别的实体类型相关的附加的多组标记数据。例如,每组标记数据可以包括代表来自文本语料库的文本的一部分的数据,其包括对应于文本的该部分的一个或多个所识别实体,以及一个或多个所识别实体中的每一个在该文本部分中的位置。在另一实例中,每组标记数据可以包括文本部分,该部分文本包括一个或多个识别的实体以及一个或多个识别的实体中的每一个在文本部分内的位置,其中文本部分可以进一步用一个或多个已识别实体的每一个的一个或多个实体类型标注。更新的标记实体训练数据集可以用于训练一种或多种ML技术,以至少基于与所识别实体相关的附加多组标记数据来更新一种或多种对应的NER模型。

图1e是图示根据本发明使用NER从文本语料库识别实体和/或实体类型的另一示例过程160的流程图。过程160可以包括以下步骤:在步骤162中,基于文本语料库从第一NER系统接收第一组实体结果,第一NER系统包括多个实体词典,其配置用于识别来自文本语料库中词典的实体和/或实体类型。在步骤164中,基于文本语料库从第二NER系统接收第二组实体结果,第二NER系统包括被配置用于预测、识别和/或分类文本语料库内的实体和/或实体类型的NER模型。在步骤166中,基于比较第一和第二NER系统输出的实体结果来识别实体,其中识别的实体与第一NER系统识别的实体不同。例如,识别的实体是第二个NER系统在第二组实体结果中识别的那些实体和/或实体类型,其与第一组实体结果中第一NER系统识别的实体和/或实体类型不对应。在步骤168中,在一个或多个下游过程中使用所识别的新实体。例如,在步骤168a中,可以以与图1d的步骤156a中描述的方式类似的方式基于新识别的实体来更新或扩充一个或多个实体词典。替代地或附加地,在步骤168b中,第二NER系统例如第二NER-ML系统的一个或多个ML模型可以基于任何或所有的新识别的实体和/或实体类型进行更新。这可能涉及基于新识别的实体、实体类型和/或文本的相应部分生成另外组的标记的训练数据。这可以以与图1d的步骤156b中描述的方式类似的方式为基础。替代地或附加地,在步骤168c中,为每个新识别的实体类型构建实体词典,并用来自文本语料库的对应的识别实体填充与新识别的实体类型相关联的实体词典。这也可以以与图1d的步骤156a中关于构建实体词典所描述的方式类似的方式为基础。

参考图1d和1e,步骤154和166还可以包括比较从NER模型输出的实体结果以包括将该实体结果与存储在一个或多个实体词典中的实体进行比较的步骤,其中实体结果的实体当确定该实体与一个或多个实体词典的实体不同时被识别为附加实体。在步骤166中,比较还可以包括确定第二NER系统或NER-ML系统的第二组实体结果是否包括与作为基于词典的NER系统的第一NER系统的第一组实体结果的实体相比被识别为唯一的任何实体。

此外,步骤154和166还可以基于识别的实体在文本语料库中出现的频率来过滤该组实体结果的识别的实体。与新识别的实体相关联的该组实体结果可以基于每个识别的实体在文本语料库中出现的频率进一步过滤。过滤或选择的识别实体可以分别用于图1d和1e的步骤156和/或168。例如,每个识别出的实体还可以与实体计数器相关联,其中每个实体在文本语料库中出现的频率由对应的实体计数器进行计数。例如,每个识别出的实体可能具有聚合计数,其表示该识别出的实体在文本语料库中出现的频率。然后可以基于仅选择具有高于预定实体频率阈值的聚合计数的那些已识别实体来过滤该组实体结果中的已识别实体。过滤的该组实体结果可以被输出以分别通过图1d和1e的步骤156和168进行进一步处理。

图1d和1e的步骤154和166分别可以进一步包括验证每个识别的实体或在过滤的该组实体结果中的识别的实体。验证可以包括自动地、半自动地和/或手动地验证所识别的实体和/或实体类型关于来自它们出现的文本语料库的文本的相应部分是否有效。这可取决于所识别的实体和/或实体类型出现在文本部分中的上下文。自动或半自动验证可以包括基于以下组中的至少一个验证所识别的实体:实体匹配模型,其基于训练不同的ML技术,用于训练模型以确定实体的上下文;和/或ML技术,其用于训练实体/实体类型匹配模型,该模型考虑实体和/或实体类型出现在文本部分的上下文,并预测该实体和/或实体类型在该上下文中是否有效。实体/实体类型匹配模型可以基于神经网络结构,该结构考虑了文本的相应部分内的实体和/或实体类型的上下文。例如,神经网络可以基于双LSTM结构,该结构考虑了包含实体和/或实体类型的文本部分的左上下文和右上下文。

图2是图示基于实体词典的示例NER系统200的示意图,其可以实现为参考图1b或1c描述的NER-DL系统120或140的第一NER系统122。NER系统200包括基于NER词典的系统202,其使用实体词典106来匹配文本语料库102内的实体和/或实体类型。实体词典106在输入到基于词典的NER系统202中时用于识别文本/文档语料库102内的实体和它们对应的实体类型,其中基于实体词典,可以向文本语料库102应用文本匹配技术204。文本匹配技术204可以是用于识别潜在实体和实体类型的传统文本匹配技术,其中生成第一组实体结果206(例如,实体、对应实体类型和文本语料库的文本内的位置的列表)。

文本语料库102的处理可使用文本匹配技术204来实现,以从每个实体词典106a-106d识别可与来自文本/文档语料库102的文本部分或文本文档等等中的短语、字符部分和/或字符串匹配的任何实体。实体词典内匹配实体的那些字符串作为所识别实体存储在一组实体结果中。所述一组实体结果内的每个所识别实体可包含表示以下的数据:所识别实体、所识别实体出现在文本或文本文档内的位置,和任选的来自文本/文档语料库102的实体出现在其中的文档/文本的文档识别符。

所述一组实体结果可包含具有相同类型但出现在文本部分或文档内的不同位置和/或出现在文本/文档语料库102的不同文本部分和/或文档中的多个实体。述一组实体结果可以由任何合适的数据结构表示,例如仅作为实例但不限于表示实体列表和/或实体表格的数据,其中每一行表示所识别的实体、所识别的实体的类型和位置,或代表每个所识别实体的多个记录等。

实体词典106可以包括多个实体词典106a-106d。实体词典106a-106d中的每一个通常具有不同的实体类型(例如,药物实体词典106a、化学实体词典106b、基因实体词典106c、疾病/病症实体词典106d等)并且填充有与该实体类型关联的实体。来自生物信息学和/或化学信息学领域的所关注实体类型可包含仅作为实例但不限于药物、蛋白质、基因、化学、组织细胞、疾病/病状或与生物信息学和/或化学信息学相关联的任何其它实体类型。为简单起见,本文提供的实例基于生物信息学和/或化学信息学领域,尽管描述的是来自生物信息学和/或化学信息学领域的所关注实体类型,但这仅仅是为简单起见且仅作为举例,技术人员应了解,本发明不是仅限于来自生物信息学和/或化学信息学领域和/或其应用的实体类型,事实上本发明可应用于来自任何其它领域和任何其它合适的应用的任何实体类型,也可根据应用需要而应用。

每一个实体词典106a-106d通常用特定实体类型的实体手动标注。很明显,由于正在进行的研究会在与每个实体类型相关联的每个领域中生成文本,例如文章、报告、文档、测试结果等,所以实体词典106可能就会很快过时。因此,文本语料库102可以用生成的最新研究持续更新或定期更新。这也意味着实体词典必须定期更新以确保基于NER词典的系统202有机会识别实体和/或实体类型。然而,这样的系统严重依赖最新的实体词典,这通常是不可能实现的。因此,此类基于词典的NER系统无法避免实体结果的不准确性。

基于词典的NER系统202处理文本/文档语料库102以生成第一组实体结果列表206。所述一组实体结果可进行核对并提供为表示所识别实体、所识别实体类型和/或所识别实体/实体类型在文本/文档语料库的文本/文档内出现的位置的列表或表格的数据。例如,每段文本或文档可被认为是字符串或字符数组,其中实体的位置可基于识别为表示所述实体的所述文本部分的第一个和最后一个字符索引。

例如,从文本文档102i的字符索引100开始形成文本语料库102的文本的短语或句子可以读作“扑热息痛用于治疗头痛”。此句具有两个实体,分别为药物实体类型的“扑热息痛”和疾病/病状实体类型的“头痛”。因此,基于词典的NER系统202可使用药物实体词典106a以及文本匹配技术204来识别此文本语句包含药物实体类型的实体“扑热息痛”,其具有由该文本文档的开始字符索引100和结束字符索引110定义的位置。基于词典的NER系统202还可使用疾病/病状实体词典106d以及文本匹配技术204来识别此文本语句还包含疾病/病状实体类型的实体“头痛”,其具有由该文本文档的开始字符索引131和结束字符索引138定义的位置。

如先前所描述,所述一组实体结果可包含表示以下的数据:所识别实体和对应的所识别实体类型、所识别实体在文本内的位置,和/或任选的用于识别所识别实体出现在文本/文档语料库中的哪一文本部分、文档的文本文档识别符或链接等等。例如,实体结果可基于具有基于以下格式的数据结构:{<实体>,<实体类型>,<位置-起始字符索引>:<位置-结束字符索引>,<文本文档ID>,其中上述句子将导致实体结果列表206的以下行,其包括代表以下各项的数据:

图3a是示出根据本发明的用于训练机器学习(ML)技术以生成在NER系统中使用的经过训练的NER-ML模型的示例训练NER-ML系统300的示意图。训练NER-ML系统300包含训练数据集模块302、ML技术模块304和更新模块306。训练数据集模块302配置成向ML技术模块304提供与实体和/或实体类型相关的带标记训练数据集。ML技术模块304被配置为使用标记的训练数据集来训练一种或多种ML技术,用于生成一种或多种NER-ML模型,用于从文本/文档语料库中预测、识别和/或分类实体和/或实体类型。更新模块306配置成接收与训练数据集相关联的实体结果/标记,并基于带标记训练数据集确定NER-ML模型是已经训练充分还是需要进一步训练迭代。如果需要进一步训练,那么ML技术模块304配置成基于来自训练数据集模块302的带标记训练数据集继续训练NER-ML模型。如果不需要进一步的训练,则可以考虑将NER-ML模型与从文本/文档的语料库等中预测、识别和/或分类实体和/或实体类型相关地进行训练。

ML技术可通过使用与实体和/或实体类型等等相关联的带标记训练数据集来训练,带标记训练数据集可以手动、半自动或自动生成。带标记训练数据集可包含多个训练数据实例或一组带标记训练数据实例。每个带标记训练数据实例可包含表示包含一个或多个实体的文本部分和所述一个或多个实体中的每一个在文本部分内的位置的指示的数据。所述每个带标记训练数据实例的所述一个或多个实体中的每一个还可用指示那些一个或多个实体中的每一个的实体类型的实体类型标记标注。

例如,每个训练数据实例可包含表示含有实体的特定文本部分(例如,含有所关注的实体的语句)和所述实体在所述特定文本部分内的位置的指示的数据。作为一种选择,训练数据实例可另外用基于所述特定文本部分中所含的所关注实体的类型的实体类型标记标注。ML技术模块304可以被配置为使用标记的训练数据集来训练一种或多种ML技术以基于标记的训练数据集生成ML模型。带标记训练数据集X可包含多个带标记训练数据实例{x

训练数据集模块302或其他合适的模块可以被配置为生成或更新标记的训练数据集,ML技术模块304可以使用该标记的训练数据集来在生成NER-ML模型中训练ML技术。如参考图1b和/或2所述,可以使用从基于NER词典的系统输出的一组实体结果来初始生成或更新标记的训练数据集。来自该组实体结果的每个识别的实体可以用于生成该组标记的训练数据的每个标记的训练数据实例。例如,对于该组实体结果中的每个识别的实体,可以基于识别的实体周围的文本的选定部分来创建标记的训练数据实例。例如,文本的选定部分可以包括在代表所识别实体的字符串之前和之后的一组N个字符或词,其中N>=1(例如N=20)。标记的训练数据实例还可以包括所识别实体在所选文本部分内的位置的指示,以及可选地,实体的实体类型标记(如果已知)。这可以针对来自一组实体结果的所有已识别实体执行。随后,根据本发明并且如参考图1a-1e所描述的NER-DL系统100、120和/或140也可以生成识别进一步实体和/或实体类型以供验证的一组实体结果,其可以得到验证。以类似的方式,从NER-DL系统100、120和/或140输出的这些组的实体结果可以用于更新或生成进一步标记的训练数据集或数据实例。可以为来自该组实体结果的已验证实体的每个进一步识别的实体创建进一步标记的训练数据实例。这些可用于生成新的标记的训练数据集或添加/附加到当前标记的训练数据集。这些还可以用于验证和/或更新任何现有的标记的训练数据实例,以确保可以保持标记的训练数据集的准确性。

尽管标记的训练数据集可包括具有不同实体类型的已识别实体,例如具有混合实体类型的标记的训练数据集,但这些可用于生成多类NER-ML模型,用于预测、识别和/或分类来自文本语料库的不同实体的实体类型。然而,标记的训练数据实例可以按实体类型排序以生成多组标记的训练数据实例,一组标记的训练数据实例用于特定实体类型,其中每组标记的训练数据实例仅包括具有特定实体类型的实体的那些标记的训练数据实例。因此,特定实体类型的每组标记的训练数据实例可用于生成单类NER-ML模型,用于从文本语料库中预测、识别和/或分类特定实体类型的实体。

因此,当一个或多个标记的训练数据集已被更新和/或生成时,ML技术模块304可以使用它们来更新或生成一个或多个对应的NER-ML模型。这些可以输出实体结果/标签,这些结果/标签可以与标记的训练数据集进行比较,以确定NER-ML模型是否已经被充分训练。可以执行该迭代过程,直到确定ML技术模块304的NER-ML模型已被有效训练并且适合关于预测、识别和/或分类来自文本语料库的实体和/或实体类型处理所述文本语料库。

图3b是图示用于使用图3a的训练的NER-ML模型以用于根据本发明的NER系统的示例NER-ML系统310的示意图。语料库模块312可存储和/或保持文本/文档的语料库,其可由用于从文本语料库预测、识别和/或分类实体和实体类型的NER系统处理。语料库模块312可以将文本语料库或甚至文本语料库的子集输入到NER-ML处理模块314进行处理,该模型可以包括图3a的一个或多个训练的NER-ML模型。这些NER-ML模型可以各自输出代表一组实体结果和/或标记等的数据,这些数据可以从每个NER-ML模型中核对并由实体结果模块316验证。实体结果模块316因此可以为NER-ML系统310输出一组实体结果。这组实体结果可以用在图1a-1e的NER系统100、120和/或140中,用于识别一个或多个实体词典等未知的进一步实体结果。它们还可用于更新参考图3a所述的标记的训练数据集,其可用于更新相应的NER-ML模型等。

语料库模块312还可以从多个来源(例如,文献、文章、期刊、专利数据库等)检索文本/文档,用于用附加的文本/文档更新文本/文档的语料库。随着与正在识别的实体和/或实体类型相关联的各个领域的科学和工业研究和开发进展,这些附加文本/文档可以连续和/或定期生成。例如,生物信息学和/或化学信息学领域的研究可能会定期创建和/或生成大量文本/文档,这些文本/文档包含与生物信息学和/或化学信息学实体类型相关的实体,例如仅举例但不限于药物、基因、蛋白质、疾病/病状、治疗、细胞系、任何其他医学实体类型等。

图3c是图示根据本发明的与NER-DL系统一起使用的另一示例NER-ML系统320的示意图。NER-ML系统320可以包括一种或多种ML技术,其可以被训练用于生成NER-ML模型324、325和326,所谓的组件模型324、325和326,例如仅示例但不限于,一种或多种嵌入/编码模型324a至324b、一种或多种NER模型325a-325n、一种或多种分类模型326a至326n,和/或其一种或多种组合和/或修改。NER模型324、325、326中的每一个都可以由一组模型参数定义,这些参数是通过使用适当的标记的训练数据集训练相应的一个或多个ML技术而生成的。NER模型324、325和326的模型参数可以基于与实体和/或实体类型相关联的标记的训练数据集来联合训练,如参考图1a至3b所述。例如,标记的训练数据集X可以包括多个标记的训练数据实例{x

NER-ML模型324、325和326可以包括一个或多个嵌入/编码模型324,用于嵌入/编码输入数据(例如,训练/更新期间标记的训练数据集/数据实例,来自文本语料库的用于处理的文本的部分等)为合适的向量形式或句法,以供NER模型325a-325n等进行后续处理。例如,嵌入/编码模型324的模型参数被配置为在训练期间生成与每个标记的训练数据实例x

组件模型324、325和326的一个或多个输出可以被馈送到更新模块328,该更新模块可以与训练数据集一起使用以训练相应的ML技术并相应更新组件模型324、325和326。例如,如果组件模型324、325和326被联合训练,则它们可以基于可以从分类模型326输出的实体结果组被联合更新。更新模块328可以被配置为将输出的实体结果组与标记的训练数据集的对应训练数据实例进行比较,并且使用一种或多种更新算法(例如随机梯度下降或反向传播算法等)联合估计对每个组件模型324、325和326的模型参数进行的适当更新。一组或多组实体结果330可以从NER-ML模型320输出。

图3d是示出根据本发明的用于训练图3a到3c中任一个的NER-DL系统310和/或320的过程340的流程图。参考图3c和3d,在步骤342中,在训练期间,生成基于标记的训练数据集(例如与文本部分和/或句子等相关联的标记的训练数据集)的词和/或字符的嵌入。例如,标记的训练数据集X的每个标记的训练数据实例x

在步骤344中,可以训练与NER模型325和一个或多个分类模型326a-326n中的每一个相关联的ML技术。例如,与每个NER模型325相关联的ML技术在与每个标记的训练数据实例x

在步骤346中,例如由更新模块328确定是否需要进一步训练NER-ML模型324、325和/或326,例如NER-ML模型324、325和/或326中的每一个已达到被认为足以使NER-ML模型324、325和326有效训练的错误阈值。例如,一旦标记的训练数据集X的所有训练数据都已经通过,更新模块328确定组件模型324、325和326是否已经被充分训练以使得从NER系统320输出的实体结果数据足够准确地预测、识别和/或表示与标记的训练数据集相关联的实体和/或实体类型。如果不是,则过程340进行到步骤348,其中更新模块328可以相应地更新ML技术;否则,过程340进行到步骤350。

在步骤348中,更新模块328可以从分类模型326接收输出的实体结果数据以用于联合优化组件模型324、325和326的模型参数。来自其他组件模型324和325的临时输出数据也可以输入到更新模块328以用于优化模型参数。例如,模型参数可以通过使用(仅作为示例但不限于)误差和/或距离度量,将输出实体结果数据与相应标记的训练数据实例进行比较来联合优化,其可以由与相应的ML技术相关联的一种或多种更新算法(例如,后向/前向传播算法)用于更新组件模型324、325和326的模型参数。过程340然后返回到步骤342,在该步骤中开始下一次训练迭代,其中标记的训练数据集被输入到嵌入/编码模型324等。

在步骤350中,NER-ML模型324、325和326被认为是经过训练的,并且可以输出限定每个模型的对应模型参数以用于处理来自文本/文档语料库等的文本部分。

尽管组件模型324、325和326可以单独描述,其中一种或多种ML技术可以用于分别生成每个组件模型324、325和/或326的模型参数,但这仅作为示例并且本发明是不限于此,本领域技术人员应当理解,可以使用一种或多种ML技术来生成NER-ML模型,该模型可以联合包括组件324、325和/或326作为完整模型而不是一种或多种ML技术将每个组件模型324、325和/或326分别输出为单独的模型等。

图3e是示意图,示出了与参考图1a-1e描述的根据本发明的一个或多个NER-DL系统100、120和140一起使用的NER-ML系统360的体系结构/结构的另一实例。NER-ML系统360被配置为被馈送代表文本部分的数据,例如,仅示例但不限于来自文本/文档语料库的短语和/或句子,以便在每个文本部分中找到实体。NER-ML系统360包括分别耦合到实体词和/或字符模型364a和364b的句子模块362。词和/或字符模型364a和364b的输出耦合到NER-ML模型366,其包括一个或多个NER模型366a和一个或多个分类模型366b。NER-ML模型366可以输出实体结果数据,该实体结果数据可以包括表示与实体和/或实体类型等相关的标记368序列的数据,实体结果模块370可以将其核对成一组实体结果以从NER-ML系统360输出。

句子模块362被配置用于接收表示文本部分(例如一个或多个句子、段落和/或其部分)的数据,其可以基于在NER-ML系统360的模型364和366的模型参数的训练期间的训练数据集。在训练之后,句子模块362被配置用于接收代表文本部分(例如一个或多个句子、段落和/或其部分)的数据,其基于来自文本/文档语料库的一个或多个文本部分(例如短语、句子和/或段落和/或其部分),以用于处理。

代表文本部分的数据被输入到实体词模型364a,该实体词模型被配置用于在输入的文本的每个部分内捕获已知实体的词嵌入/编码。代表文本部分的数据被输入到实体字符模型364b,该实体字符模型被配置用于在输入的文本的每个部分内捕获未知实体的字符嵌入/编码。在实体词模型364a和实体字符模型364b的训练期间,一种或多种基于用于学习词和字符特征的嵌入和/或编码方法的ML技术被应用于标记的训练数据集的文本部分。这些被配置为学习在文本的每个部分(例如每个句子)中构成词、演讲部分或其他句法特征的单个字符和序列的特征。实体词模型364a被训练并配置为从文本的(一个或多个)部分捕获已知实体,而实体字符模型364b被训练和配置为从文本的(一个或多个)部分捕获非常罕见或之前未被捕获的实体。

一个或多个ML模型366a被配置用于基于文本的每一部分预测和/或识别实体和/或实体类型是否存在。在该实例中,实体词和字符嵌入/编码可以联合馈送/输入到NER-ML模型366,其中一个或多个ML模型366a被配置用于基于文本的每个部分的输入的捕获词和/或字符嵌入/编码而预测和/或识别实体和/或实体类型是否存在。在训练期间,还可以应用一种或多种ML技术来生成模型364a-366a的模型参数,其可以基于神经网络结构。例如,基于神经网络结构的ML技术,例如仅示例但不限于Bi-LSTM神经网络,可以应用于文本一部分的词和/或字符嵌入/编码以生成ML模型366a的模型参数。在这种情况下,ML模型366a基于神经网络结构并且包括用于所述神经网络结构的合适的模型参数。神经网络结构可以标记文本部分的嵌入/编码以获得文本部分中每个标记的表示。例如,对于基于Bi-LSTM神经网络结构的ML技术,可以基于一个或多个标记的训练数据集来训练ML技术,如本文所述,使得得到的ML模型366a(例如Bi-LSTM神经网络模型)包括隐藏神经层,每个标记都有隐藏状态,其训练后保留。对于给定的标记,Bi-LSTM结构包括前向和后向隐藏状态,它们可以连接在一起以给出实体表示。

ML模型366a被配置为处理文本的每个部分中每个词和/或字符串嵌入/编码的表示,其中词和/或字符被分配来自一组标记/标签(例如一组实体或实体类型标记/标签)的标记或标签。该组标记/标签可以包括一个或多个标记/标签,例如仅示例但不限于:“其他”或“O”标记/标签(不是实体);“实体的开始”或“B”标记/标签(实体的起点,尤其是当实体可能包含多个词或字符串时);“在实体中”或“I”标记/标签(词或字符串在实体内);“单个实体”或“S”标记/标签(例如单个词或字符串是一个实体);和/或“实体的结束”或“E”标记/标签(例如,实体的结束点,尤其是当实体可能包含多个词或字符串时)。

尽管已经描述了该组标记/标签具有数个标记/标签,但这仅作为示例并且本发明不限于此,本领域技术人员应当理解,一组标记/标签可以具有任何数量的标记/标签,其可以关于描述、预测和/或识别可能出现在文本一部分内和/或根据应用程序要求的实体和/或实体类型和/或识别的实体和/或实体类型的位置进行定义和/或分配。ML模型的词特定隐藏状态,例如当基于Bi-LSTM结构时,可用于预测和/或识别这些标记/标签。ML模型366a可以输出代表(仅作为示例但不限于)以下的实体数据:代表预测的实体和/或实体类型的数据、文本每个部分内与预测的实体和/或实体类型相关联的预测/识别的标记/标签;预测的识别标记/标签出现在文本的每个部分中的位置的指示;以及表示实体的概率分布、实体类型和/或与文本的每个部分相关的分配的标记/标签的指示或数据。ML模型366a实体数据被馈送到分类模型366b以用于进一步识别和分类等。

分类模型366b被配置为接收ML模型366a输出的表示实体/实体类型的预测/识别的实体数据,其中分类模型366b被配置为对文本每个部分中可能的预测/识别的实体和/或实体类型进行分类,以基于文本部分的预测/识别的实体确定最可能的实体标记序列以及任选地相应的实体类型标签。可以训练一种或多种ML技术以生成用于分类模型366b的模型参数,所述一种或多种ML技术可以基于(仅作为示例但不限于)神经架构,包括神经网络结构、标记结构、堆栈LSTM、条件随机场(CRF)类型结构和/或标记模型、和/或用于根据本发明对实体和/或实体类型进行分类的任何其他ML技术等。分类模型366b(例如CRF模型)的模型参数被训练,使得分类模型366b被配置为基于实体数据的概率分布来处理ML模型366a的输出实体数据以确定整个文本部分的标记/标签(例如整个短语和/或句子等)的最佳匹配序列。因此,代替处理从与文本部分相关的ML模型366a输出的每个单独的标记/标签,分类模型366b可以被配置为同时处理与整个文本部分相关的从ML模型366a输出的标记/标签并确定最能代表文本部分的标记/标签序列的最佳估计。

分类模型366b被配置用于为文本的每个部分(例如,短语和/或一个或多个句子等)产生一序列实体标签,序列标签模块368使用它们来推断文本部分中是否存在实体、文本部分内的实体类型和/或文本部分内实体的位置等。实体结果模块370可以被配置为将实体标签的序列或序列标签模块368的输出核对成一组实体结果,其可以包括代表一个或多个识别出的实体的数据、一个或多个识别的实体在文本的每一部分中的位置、代表一个或多个已识别实体中的每一个的实体类型的标签、和/或可选地,文本/文档的部分来自文本/文档语料库中的位置的指示(例如,文本部分来自的文本/文档的唯一标识符)。

在一些实施例中,实体词模型364a、实体字符模型364b、机器学习模型366a和分类模型366b的模型参数基于如参考图1a至3d所述的标记的数据集被联合训练。例如,标记的训练数据集可以包括多组标记数据和/或训练数据实例,其中每个训练数据实例(或标记数据组)包括代表文本的一部分的数据,该文本部分包括一个或多个实体,每个实体可以用一个或多个实体类型标记进行标注,以及一个或多个实体的每一个在文本部分内的位置的一个或多个指示。一旦经过训练,模型364a-366b的模型参数被用于形成经过训练的NER-ML系统360,其进一步被配置用于基于输入的文本语料输出一组实体结果,该第二组实体结果包括多个匹配实体的列表、每个匹配实体的实体类型以及匹配实体在文本中出现的位置。

图4a是图示根据本发明的与参考图1a-1e中的任一个描述的NER-DL系统100、120和/或140一起使用的另一个示例NER-ML系统400的示意图。图4b是图示根据本发明的与参考图1a-1e中的任一个描述的NER-DL系统100、120和/或140一起使用的图4a的NER-ML系统400的神经网络结构420的示意图。参考图4a,NER-ML系统400基于LSTM-CRF神经网络结构,其中NER-ML系统400包括嵌入/编码模型404,其包括实体词嵌入模型404a和实体字符嵌入模型404b,它们被训练以生成适合输入到NER双向LSTM(BI-LSTM)神经网络模型406的文本的相应嵌入/编码部分。NER BI-LSTM模型406被训练以处理文本的嵌入/编码部分并输出与文本的嵌入部分相关的预测和/或识别实体和/或实体类型标记或标签。CRF分类模型408耦合到NER-BI-LSTM模型406,其可以包括一个或多个隐藏层(或神经层),用于处理与文本的嵌入部分相关的预测和/或识别的实体和/或实体类型标记或标签,以生成与文本部分相关的最可能的实体标记序列。

当NER-ML系统400的模型参数已经被训练并且适用于从文本/文档的语料库中预测、识别和/或分类实体和/或实体类型时,实体词嵌入模型404a和实体字符嵌入模型404b被馈送或接收表示文本的一个或多个部分(例如,来自训练期间标记的训练数据集或来自文本/文档的语料库的句子402等)的数据。实体词模型404a和/或实体字符模型404b可以基于一种或多种ML技术或神经网络结构,例如仅示例但不限于RNN、FFNN、CNN、LSTM、LSTM-CRF、自动编码器结构、Word2Vec、查找表或词汇结构、用于词表示的全局向量(GloVe)、词袋和/或skip-gram技术;深度语境化词表示技术,例如仅示例但不限于BERT、BioBERT和/或ELMO等,和/或任何其他合适的神经网络结构、其他ML或词汇结构、它们的组合和/或其修改等,用于生成适合输入到NER BI-LSTM模型406的文本一部分的嵌入/编码。

在该实例中,实体词模型404a可以包括与词的词汇表(例如实体等)相关的查找表结构,其中查找表中的词表示已经由实体词模型404a生成。查找表结构可以包括表示词的词汇表中每个词表示的单个Nw维词向量的数据,其中Nw是词向量中的向量元素的数量。在该实例中,实体字符模型404b可以基于RNN结构。RNN结构可以基于表示每个字符的Nc维字符向量的数据来表示字符,其中Nc是字符向量中向量元素的数量。尽管实体词模型404a被描述为包括或使用查找表结构或词汇结构,但本领域技术人员应理解实体词模型404a可以基于其他类型的结构或技术,例如,仅作为示例但不限于BERT或ELMo,它们可以产生对每个输入句子进行编码并产生其中查找表结构不充分或不合适的上下文特定嵌入的模型。

在该实例中,可以在NER-ML系统400的训练期间生成、更新和训练与实体词和字符模型404a和404b的每个词或字符对应的值。对于字符模型404b,通过在字符嵌入向量上运行训练的RNN生成词表示,该字符嵌入向量也是在训练期间学习的。文本一部分的实体词和字符嵌入/编码可以表示为Nw维向量空间中的每个词或字符串的词向量和Nc维向量空间中的每个字符的字符向量,这可以形成文本的嵌入/编码部分。实体词向量和字符向量可能大小相同,也可能不同,其中Nw<Nc、Nw=Nc或Nc<Nw。实体词向量和/或字符词向量可以是任意维度的,彼此之间不需要有任何关系。实体词向量和/或字符词向量的维度可以基于参数调整和/或基于训练数据量等的启发/经验等来确定。

实体词模型404a的未知词可以由公共词向量表示,该词向量是已被设置或定义为表示未知词的特定或唯一词向量。这个公共词向量是用于训练后系统词汇表不知道的一切的表示。类似地,实体字符模型404b也可以为这些词生成嵌入。然而,未知字符可以由公共字符向量表示,其是特定的或唯一的字符向量,已被设置或定义以表示在训练后的已训练字符集(或预定义)中未找到的未知字符。

嵌入/编码模型404耦合到NER BI-LSTM模型406,其被训练为从嵌入模型404联合接收表示词和字符嵌入/编码(例如文本的嵌入部分)的数据并输出与参考图3e描述的文本的嵌入部分相关的预测和/或识别实体和/或实体类型标记或标签。CRF分类模型408被训练以接收与来自NER-BI-LSTM模型406的文本的嵌入部分相关的预测和/或识别的实体和/或实体类型标记或标签,并输出实体标签序列。实体词模型404a、实体字符模型404b、NER-BI-LSTM模型406和CRF分类模型406的模型参数是基于多组标记的数据和/或训练数据实例联合训练的,如参考图1a-3e描述的。

可以从实体标签的序列等确定一组实体结果以包括代表以下的数据:一个或多个识别的实体,如果有的话,其与一个或多个感兴趣的实体类型(例如,药物、疾病/病状、蛋白质、化学品、治疗等)相关;已识别实体的位置的指示;和/或,可选地用实体类型标记等进行标注;和/或,如果实体是从文本/文档等的语料库中识别出来的,可选地用标识符进行标注,以识别文本和/或文档的部分,该部分可能来自文本/文档的语料库,这在使用自动、半自动和/或手动验证技术等验证所识别的实体/实体类型时可能有用。例如,经过训练的NER-ML系统400可以被配置为基于输入的文本语料库输出一组实体结果,其中该组实体结果包括表示多个匹配或识别的实体的列表的数据、每个匹配/识别实体的实体类型、以及匹配/识别实体在文本或文本部分中出现的位置。

图4b是图示图4a的NER-ML系统400的神经网络结构420的示意图。参考图4a和4b,编码/嵌入模型404被馈送代表文本402的一部分的数据(例如“扑热息痛对牙痛是有好处的”),其中文本402的部分的每个词和/或字符串(例如“扑热息痛”、“是”、“有好处的”、“对”、“牙痛”)由实体词模型404a处理以形成代表已知词嵌入/编码的第一组数据并由实体字符模型404b处理以形成代表未知词嵌入/编码的第二组数据。BI-LSTM神经网络结构426可以包括被配置用于表示文本部分的前向和后向隐藏状态426a和426b,其中前向和后向隐藏状态426a和426b连接在一起以生成文本部分的实体表示。

例如,实体字符模型404b可以基于RNN,而实体词模型404a基于查找表结构/技术(例如,实体词由每个词的单个向量表示)。在NER-ML系统400的训练期间训练对应于每个词的向量值。关于实体字符模型404b,通过在字符嵌入向量上运行RNN生成词表示,这些向量也在NER-ML系统400的训练期间学习。对于未知的实体词,实体词嵌入对于系统词汇表的查找表中未知的所有内容有一个公共向量。实体字符模型还可以为未知实体词生成嵌入,其中对于预定义字符组中未找到的任何字符,它都有一个公共未知字符向量。

例如,图4a的BI-LSTM神经网络模型406的模型参数形成BI-LSTM神经网络结构426,其可以包括前向LSTM神经网络结构426a,其从嵌入模型404在文本部分的从左到右上下文读取词和字符嵌入,以及后向LSTM神经网络结构436b,其在文本部分的从右到左上下文中读取词和字符嵌入。前向LSTM426a包括呈神经网络层426a形式的前向隐藏状态,其可以包括多个神经网络单元425a-425m,它们接收和处理左上下文中的词嵌入和/或字符嵌入。类似地,后向LSTM426b包括神经网络层426b形式的后向隐藏状态,其可以包括另外多个神经网络单元427a-427m,其在右上下文中接收和处理词嵌入和/或字符嵌入。

如参考图3c描述的,BI-LSTM模型406和BI-LSTM结构426被配置为处理文本的每个部分中每个词和/或字符串嵌入/编码的表示,并从一组标记/标签(例如实体或实体类型标记/标签)中分配标记或标签。该组标记/标签可以包括一个或多个标记/标签,例如仅示例但不限于:“其他”或“O”标记/标签(不是实体);“实体的开始”或“B”标记/标签(实体的起点,尤其是当实体可能包含多个词或字符串时);“在实体中”或“I”标记/标签(词或字符串在实体内);“单个实体”或“S”标记/标签(例如单个词或字符串是一个实体);和/或“实体的结束”或“E”标记/标签(例如,实体的结束点,尤其是当实体可能包含多个词或字符串时)。

尽管已经描述了该组标记/标签具有数个标记/标签,但这仅作为示例并且本发明不限于此,本领域技术人员应当理解,一组标记/标签可以具有任何数量的标记/标签,其可以关于描述、预测和/或识别可能出现在文本一部分内和/或根据应用程序要求的实体和/或实体类型和/或识别的实体和/或实体类型的位置进行定义和/或分配。Bi-LSTM结构426被训练和配置为预测和/或识别文本部分的每个词和/或字符嵌入的这些标记/标签。例如,对于文本“扑热息痛对牙痛是有好处的”的输入句子/部分,BI-LSTM网络426可以被配置为识别疾病的实体和/或药物实体类型,因此对于文本的部分的每一个词或字符串“扑热息痛”、“是”、“有好处的”、“对”、“牙痛”,可以被训练以输出嵌入预测为标记/标签{″S″,″O″,″O″,″O″,″S″}。BI-LSTM模型和/或结构426还可以被配置为输出代表(仅作为示例但不限于)以下的实体数据:代表预测的实体和/或实体类型的数据、如上所述文本每个部分内预测/识别的标记/标签;预测的识别标记/标签出现在文本的每个部分中的位置的指示;以及表示预测实体的概率分布、实体类型和/或与文本的每个部分相关的分配的标记/标签的指示或数据。BI-LSTM网络426可以将输出实体数据(例如预测实体、实体类型、实体/类型标记/标签预测等)馈送到条件随机场分类模型428以用于确定实体/实体类型等。

CRF分类模型408或428被配置为接收BI-LSTM神经网络426的输出实体/实体类型预测并对文本的每个部分中可能的预测/识别的实体和/或实体类型进行分类以确定最可能序列的实体标记和可选的基于文本部分的预测/识别实体的相应实体类型标签。训练CRF分类模型408/428的模型参数,使得分类模型366b被配置为以与整个文本部分相关的同时方式处理从ML模型366a输出的每个单独的标记/标签,从而确定对最代表文本部分的一序列标记/标签(例如实体标记/标签和/或实体类型标记/标签)的最佳估计。例如,可以生成多个实体标签/实体类型标签430序列;并且在文本“扑热息痛对牙痛是有好处的”的部分的情况下,实体标签/类型的序列{<药品>,″S″;...;<疾病>,″S″}可以是最代表“扑热息痛对牙痛是有好处的”的序列。可以将输出序列核对成一组实体结果,其可以包括代表以下的数据:一个或多个识别出的实体、一个或多个识别的实体在文本的每一部分中的位置、代表一个或多个已识别实体中的每一个的实体类型的标签、和/或可选地,文本/文档的部分来自文本/文档语料库中的位置的指示(例如,文本部分来自的文本/文档的唯一标识符)。

图5a是图示具有计算装置502的示例计算系统500的示意图,该计算装置可以用于实施用于根据本发明处理文本语料库的NER-DL系统100、120、140和/或NER-ML系统的一个或多个方面,和/或包括参考图1a-4b描述的过程、方法、系统和/或设备。计算装置502包含一个或多个处理器单元504、存储器单元506和通信接口508,其中一个或多个处理器单元504连接到存储器单元506和通信接口508。通信接口508可经由通信网络510连接计算装置502与一个或多个数据库或用于实施如本文中所描述的本发明的其它处理系统或计算装置。存储器单元506可存储一个或多个程序指令、代码或组件,例如仅作为实例但不限于用于操作计算装置502的操作系统506a和用于存储额外数据和/或与以下相关联的其它程序指令、代码和/或组件的数据存储装置506b:实施所述功能性和/或一个或多个功能或与如本文中所描述和/或参考图1a到4b中的至少一个所描述的设备、机构和/或系统/平台/架构的方法和/或过程中的一个或多个相关联的功能性。

本发明的另外方面可包含一个或多个设备和/或装置,所述设备和/或装置包含通信接口、存储器单元和处理器单元,处理器单元连接到通信接口和存储器单元,其中处理器单元、存储单元、通信接口配置成执行或实施如参考图1a到4b本文中所描述的系统、设备、方法和/或过程或其组合。

图5b是图示根据本发明的用于对文本/文档的语料库执行NER的系统520的示意图。系统520包括一个或多个NER ML模型522、NER-DL系统或NER ML系统524、实体识别模块/装置526和一个或多个实体词典528。NER ML模型522可以包括,仅作为示例但不限于,一个或多个神经网络结构,其被配置为将文本的输入部分处理成识别一个或多个感兴趣实体、感兴趣的实体类型、感兴趣的实体在文本部分内的位置等的一组实体结果。NER-DL系统524可以包括,仅作为示例但不限于,基于词典的NER系统和使用NER-ML模型的NER系统,两者都用于处理文本语料库和输出实体结果组,它们被分析以从文本/文档的语料库中识别额外的或新的实体和/或实体类型。实体识别模块/装置526可包含仅作为实例但不限于用于从NER-DL系统524输出的多组实体结果识别实体的分析/比较机构,其中所识别实体可以自动、半自动或手动方式验证。实体词典模块/装置528可以被配置为基于识别和/或验证的实体和/或实体类型来生成、构建和/或更新实体词典。NER模型522、NER系统524、实体识别模块/装置526和/或实体词典528可以根据与本发明相关联的方法、过程、注意装置和/或系统,其修改,和/或如本文所述,和/或如参考图1a-5a所述进行配置,用于提供识别的实体和/或实体类型和/或新实体和/或实体类型的有效和改进的准确性,用于训练下游ML过程、模型、分类器等。

在其它方面中,根据本发明的NER-DL设备可包含一个或多个处理器、存储器和/或通信接口,所述一个或多个处理器连接到存储器和/或通信接口,其中所述一个或多个处理器配置成实施过程150、160、340中的一个或多个和/或设备/系统100、120、140、200、300、310、320、360、400、420、500和520中的一个或多个和/或NER-DL系统、NER-ML模型、分类器,和/或参考图1a到5b中的任一个或多个所描述的任何方法/过程、这些过程的步骤、其修改。此外,过程150、160、340中的一个或多个和/或设备/系统100、120、140、200、300、310、320、360、400、420、500和520中的一个或多个,NER-DL系统、NER-ML模型、分类器和/或参考图1a到5b中的任一个或多个所描述的任何方法/过程、这些过程的步骤、其修改可实施于硬件和/或软件中。

在上文所描述的实施例中,服务器可以包含单个服务器或服务器网络。在一些实例中,服务器的功能性可以由跨地理区域分布的服务器网络(如服务器全球分布式网络)来提供,并且用户可以基于用户位置连接到服务器网络中的合适的一个。

为清楚期间,上文描述参考单个用户讨论了本发明的实施例。应当理解,实际上,系统可以由多个用户共享并且可能同时由非常大量的用户共享。

上文所描述的实施例是全自动的。在一些实例中,系统的用户或操作者可以手动地指导方法的一些步骤执行。

在本发明的所描述的实施例中,系统可以被实施为任何形式的计算和/或电子装置。此种装置可以包含一个或多个处理器,所述一个或多个处理器可以是用于对计算机可执行指令进行处理以控制所述装置的操作以采集和记录路由信息的微处理器、控制器或任何其它适合的类型的处理器。在一些实例中,例如在使用片上系统架构的情况下,处理器可以包括在硬件(而不是软件或固件)中实施方法的一部分的一个或多个固定的功能块(也被称为加速器)。包含操作系统的平台软件或任何其它适合的平台软件可以提供在基于计算的装置处以使应用软件能够在所述装置上执行。

本文所描述的各种功能可以以硬件、软件或其任何组合实施。如果以软件实施,则可以将功能作为一或多个指令或代码存储在计算机可读介质上或者通过计算机可读介质进行传输。计算机可读介质可以包括例如计算可读存储介质。计算机可读存储介质可以包括在任何方法或技术中实施的用于存储如计算机可读指令、数据结构、程序模块、或其它数据等信息的易失性或非易失性介质、可移除或不可移除介质。计算机可读存储介质可以是可以被计算机访问的任何可用存储介质。通过举例而非限制,此种计算机可读存储介质可以包含RAM、ROM、EEPROM、闪速存储器或其它存储器装置、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置或可以用于承载或存储采用指令或数据结构形式的期望程序代码并且可以被计算机访问的任何其它介质。如本所使用的,盘和碟包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光盘(BD)。进一步地,传播的信号不包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,所述通信介质包括促进将计算机程序从一处传送到另一处的任何介质。例如,连接可以是通信介质。例如,如果使用同轴电缆、光纤电缆、双绞线、DSL、或如红外、无线电和微波等无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或如红外、无线电和微波等无线技术包含在通信介质的定义中。上述内容的组合也应包含在计算机可读介质的范围内。

可替代地或另外地,本文所描述的功能性可以至少部分地由一个或多个硬件逻辑组件执行。例如而非限制,可以使用的硬件逻辑组件可以包含现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。

尽管被示为单个系统,但是应当理解,计算装置可以是分布式系统。因此,举例来说,几个装置可以通过网络连接进行通信并且可以共同执行被描述为由计算装置执行的任务。

尽管展示为本地装置,应当了解,计算装置可以定位在远端并且通过网络或其它通信链路(例如使用通信接口)被访问。

术语“计算机”在本文中用于指代具有处理能力使得其可以执行指令的任何装置。本领域技术人员将认识到,此类处理能力并入到许多不同的装置中,并且因此术语“计算机”包括PC、服务器、移动电话、个人数字助理和许多其它装置。

本领域技术人员将认识到,用于存储程序指令的存储设备可以跨网络分布。例如,远程计算机可以存储被描述为软件的处理实例。本地或终端计算机可以访问远程计算机并且下载一部分或全部软件以运行程序。可替代地,本地计算机可以按需下载一个软件或执行本地终端处的一些软件指令和远程计算机(或计算机网络)处的一些软件指令。本领域技术人员还将认识到,通过使用本领域技术人员已知的常规技术,全部或部分软件指令可以由专用电路(如DSP、可编程逻辑阵列等)执行。

应当理解,上文所描述的益处和优点可以涉及一个实施例或者可以涉及几个实施例。所述实施例不限于解决任何或全部所陈述的问题的那些实施例或具有任何或全部所陈述的益处和优点的那些实施例。变体应被认为包含在本发明的范围内。

对“一个”项的任何提及是指那些项中的一个或多个项。术语“包含”在本文中用于意指包括所标识的方法步骤或要素,但是所述此类步骤或要素不包含排他性列表并且方法或设备可以含有另外的步骤或要素。

如本文所使用的,术语“组件”和“系统”旨在涵盖配置有使某些功能性可以在由处理器执行时被执行的计算机可执行指令的计算机可读数据存储装置。计算机可执行指令可以包括例程、函数等。还应当理解,组件或系统可以本地化在单个装置上或跨几个装置分布。

进一步地,如本文所使用的,术语“示范性”旨在意指“充当某些的说明或实例”。

进一步地,对于在具体实施方式或权利要求书中使用了术语“包括”而言,此种术语旨在以与术语“包含”相似的方式是开放式的,这是由于“包含”在被使用时被解释成权利要求项中的过渡词。

附图展示了示范性方法。虽然方法被示出和描述为按特定序列执行的一系列动作,但是应当理解和了解,所述方法不受序列的顺序的限制。例如,一些动作可以与本文所描述的顺序不同的顺序发生。另外,一个动作可以与另一个动作同时发生。进一步地,在一些实例中,并不需要全部动作来实施本文中所描述的方法。

此外,本文中所描述的动作可以包含可以由一个或多个处理器实施的和/或存储在一个或多个计算机可读介质上的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、执行线程和/或等等。仍进一步地,方法的动作的结果可以存储在计算可读介质中、在显示装置上显示和/或等等。

本文所描述的方法的步骤的顺序是示范性的,但是这些步骤可以在适当的情况下按任何适合的顺序或同时执行。另外地,在不脱离本文中所描述的主题的范围的情况下,可以添加或替换步骤或者可以从任何方法中删除单独的步骤。本文中所描述的任何实例的各方面可以与所描述的任何其它实例的各方面结合以在不损失效应的情况下形成另外的实例。

应当理解,优选实施例的以上描述仅作为示例给出并且本领域技术人员可以做出各种修改。上文已描述的内容包括一个或多个实施例的实例。当然,不可能出于描述上文提及的方面的目的而描述出对上述装置或方法的每一种可以想到的修改和改变,但是本领域普通技术人员可以认识到,各方面的许多另外的修改和排列是可能的。因此,所描述的各方面旨在涵盖落入所附权利要求书的范围内的所有此种改变、修改以及变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号