域特定的词汇驱动的预解析器的制作方法

文档序号:20361550发布日期:2020-04-10 23:43阅读:146来源:国知局
域特定的词汇驱动的预解析器的制作方法



背景技术:

本申请涉及域特定的词汇驱动的解析。



技术实现要素:

在特定实现中,一种方法包括在设备的文本解析器处获得输入文本。文本解析器包括域特定的词汇驱动的预解析器和独立于域的基于规则的解析器。该方法还包括在设备处识别输入文本中的第一词语。该方法还包括在该设备处访问词典数据以识别与第一词语相对应的第一条目。第一条目包括核心数据和非核心数据。核心数据对应于第一词语的独立于域的词汇信息。非核心数据对应于第一词语的域特定的词汇信息。该方法还包括在域特定的词汇驱动的预解析器处确定第一条目的非核心数据将输入文本中的第二词语识别为第一词语的修饰语。该方法还包括在域特定的词汇驱动的预解析器处生成输入文本的部分解析和加括号的版本。部分解析和加括号的版本指示第二词语修饰输入文本中的第一词语。该方法还包括在独立于域的基于规则的解析器处,基于输入文本的部分解析和加括号的版本生成输入文本的解析版本。

在另一特定实现中,一种用于域特定的数据生成的计算机程序产品包括具有随其体现的程序指令的计算机可读存储介质。程序指令可由处理器执行以使处理器执行包括在文本解析器处获得输入文本的操作。文本解析器包括域特定的词汇驱动的预解析器和独立于域的基于规则的解析器。操作还包括识别输入文本中的第一词语。操作还包括访问词典数据以识别对应于第一词语的第一条目。第一条目包括核心数据和非核心数据。核心数据对应于第一词语的独立于域的词汇信息。非核心数据对应于第一词语的域特定的词汇信息。操作还包括在域特定的词汇驱动的预解析器处确定第一条目的非核心数据将输入文本中的第二词语识别为第一词语的修饰语。操作还包括在域特定的词汇驱动的预解析器处生成输入文本的部分解析和加括号的版本。部分解析和加括号的版本指示第二词语修饰输入文本中的第一词语。操作还包括在独立于域的基于规则的解析器处基于输入文本的部分解析和加括号的版本生成输入文本的解析版本。

在另一特定实现中,一种系统包括存储器、处理器、域特定的词汇驱动的预解析器和独立于域的基于规则的解析器。存储器被配置为存储输入文本和词典数据。处理器被配置为识别输入文本中的第一词语。处理器还被配置成访问词典数据以识别对应于第一词语的第一条目。第一条目包括核心数据和非核心数据。核心数据对应于第一词语的独立于域的词汇信息。非核心数据对应于第一词语的域特定的词汇信息。域特定的词汇驱动的预解析器被配置成确定第一词语的非核心数据将输入文本中的第二词语识别为第一词语的修饰语。域特定的词汇驱动的预解析器还被配置成产生输入文本的部分解析和加括号的版本。部分解析和加括号的版本指示第二词语修饰输入文本中的第一词语。独立于域的基于规则的解析器被配置为基于输入文本的部分解析和加括号的版本生成输入文本的解析版本。

附图说明

图1示出了根据本公开的一个方面的云计算环境。

图2示出了根据本公开的一个方面的抽象模型层。

图3示出了用于域特定词汇分析的系统。

图4示出了用于词汇引导解析的系统。

图5示出了由图3的系统生成的示例解析树。

图6示出了由图3的系统生成的词典数据条目的一组示例。

图7示出了由图3的系统生成的域特定解析规则的示例。

图8示出了由图4的系统处理的输入文本的示例。

图9示出了域特定的词汇分析的方法的流程图。

图10示出了词汇引导的解析的方法的流程图。

图11示出了根据一个方面的计算环境的框图,该计算环境包括通过其可以实现所描述的系统的电子组件。

具体实施方式

公开了域特定的词汇分析和域特定的预分析的系统和方法。自然语言处理使用词汇数据来解析语言样本(例如,文本)。在许多语言中,特定的词可以根据上下文具有不同的含义。例如,当特定的词被用于特定技术领域的文本中时(例如,在域特定的上下文中),该词可以具有与该词在一般用法中(例如,在独立于域的上下文中)存在时不同的含义或细微差别。手动地将基于通用(例如,独立于域的)规则的解析器适配到专用域(例如,医学)是非微不足道的(例如,复杂、耗时、并且很可能不完整)。专用域可以引入句法模式,并且可以呈现在一般域中不太常见的句法歧义类型。如本文所述,自动化(或半自动化)规则创建节省资源(例如,时间),并且可以导致更健壮的解析器(例如,更少的错误和更大的覆盖范围)。

根据本文描述的技术,在训练阶段期间,词汇分析器(例如,处理器)可以基于分析与域(例如,医学)相关联的域特定语料库来生成域特定解析规则。词汇分析器还可以基于分析域特定语料库来更新词典数据的数据库。词典数据可以是先前生成的、从另一设备接收的、或这两者。词典数据可包括独立于域的信息(例如核心数据),诸如基本词语(例如名词)的词性。词汇分析器可更新词典数据以包括对应于基本词语的域特定信息(例如,非核心数据)。例如,词汇分析器可以分析大量域特定的文本,以生成域特定的文本中的中心词(head)-修饰语对的共现统计数据。如本文所述,词汇分析器可以基于共现统计数据来确定特定词语(例如,"high(高)"、"blood(血)"或"plasma(血浆)")看起来修饰域特定语料库的至少一部分中的基本词语(例如,"cholesterol(胆固醇)")。词汇分析器可更新词典数据以指示特定词语可用作域(例如,医学)中的基本词语的修饰语词语。

如本文所述,词汇分析器可生成与修饰语词语和基本词语对应的域特定解析规则。例如,词汇分析器可以响应于确定在相对于域特定语料库中的对应基本词语的特定位置中(例如,在对应基本词语之前)检测到特定修饰语类型(例如,形容词修饰语词语)的修饰语词语(例如,"high(高)"、"bad(坏)"、"elevated(提升的)"和"good(好)"),生成搭配规则(例如,形容词修饰语词语的左附件)。训练阶段可以离线发生(例如,在生产模式中运行之前)。域特定解析规则和词典数据的域特定信息可用于训练域特定解析器。例如,词汇分析器可向域特定解析器提供域特定解析规则和词典数据(例如,包括域特定信息)。

在运行时阶段期间,包括域特定解析器和独立于域的解析器(例如,通用解析器)的解析器可以解析输入文本。在运行时阶段期间解析的输入文本可以不同于在训练阶段期间分析的域特定语料库。在训练阶段期间,词汇分析器分析域特定语料库以生成词典数据的域特定解析规则和域特定信息。在运行时阶段期间,除了独立于域的解析规则之外,解析器还使用域特定解析规则和词典数据来解析输入文本。例如,如本文所述,域特定解析器可基于词典数据和域特定解析规则来分析输入文本。如本文所述,域特定解析器可以通过分析输入文本(例如,"thepatientsuffersfromhighbloodcholesterol")来生成部分解析和加括号的文本。部分解析和加括号的文本(例如,"thepatientsuffersfrom[high[bloodcholesterol]]")可以指示在域(例如,医学)中有效的短语边界附件。域特定解析器可以将部分解析和加括号的文本提供给独立于域的解析器(例如,通用解析器)。

独立于域的解析器可以响应于从域特定解析器接收到部分解析和加括号的文本,通过基于独立于域的解析规则分析部分解析和加括号的文本来生成解析文本。独立于域的解析规则可以是先前生成的、从另一设备接收的、或这两者。在特定示例中,部分解析和加括号的文本可对应于中间解析树。独立于域的解析器可以通过基于独立于域的解析规则分析中间解析树,来生成与解析的文本相对应的解析树。

词汇分析器、域特定解析器和独立于域的解析器在各种应用中可能是有用的。例如,词汇分析器可生成域特定解析规则,并基于分析与域(例如,医学)相关联的域特定语料库(例如,研究论文)来更新词典数据。急救医务人员(emt)可在救护车中检查患者后将患者笔记上载到医院系统。患者笔记(例如,输入文本)可以由域特定解析器和独立于域的解析器来分析以生成解析文本。医院系统可以响应于确定解析文本指示已经检测到特定状况而生成警报。该警报可以使得能够在救护车到达医院时准备适当的资源(例如,设备、医务人员、药物或其组合)以治疗患者。

作为另一示例,在罕见疾病爆发期间,医生可定位与该罕见疾病相关联的大量研究论文。词汇分析器可生成域特定解析规则并基于研究论文中的一些研究论文来更新词典数据。域特定解析器和独立于域的解析器可分析研究论文(例如,所有研究论文)以生成经解析的文本。经解析的文本可用于填充研究数据库。与阅读每篇研究论文相比,搜索研究数据库以寻找相关信息可以节省时间。

应当理解,医学被用作说明性示例,并且域可以对应于任何专用域,诸如研究领域(例如,工程、法律、医学或化学)、语言(例如,法语、西班牙语或意大利语)、编程语言(例如,(oracle公司,redwoodshores,california的注册商标)、(pythonsoftwarefoundation,delaware的注册商标)等)、另一专用域或其组合。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的教导的实现却不限于云计算环境,而是本公开的方面能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。在一些实现中,这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型,如本文所描述的。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:能力可以通过标准机制在网络上获取和访问,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为利用的服务的提供者和消费者双方提供透明度。

服务模型如下:

软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行可以包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多个云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图1,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a、台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。

节点10之间可以相互通信。可以在诸如如上所述的私有云、共同体云、公共云或混合云或者它们的组合之类的一个或者多个网络中将节点10进行物理或虚拟分组(图中未显示)。这允许云计算环境50提供基础架构即服务(iaas)、平台即服务(paas)和/或软件即服务(saas),云的消费者无需在本地计算设备上针对这些服务维护资源。节点10中的一个或多个节点可以包括词汇分析器108、域特定的词汇驱动的预解析器110或两者。词汇分析器108、域特定词汇驱动的预解析器110或两者可以对应于由云计算环境50作为服务提供的基础设施、平台和/或软件。词汇分析器108可以被配置为分析域特定语料库以生成域特定信息(例如,非核心数据)、域特定解析规则、或其组合,如参考图3进一步描述的。域特定语料库可以与域相关联。词汇分析器108可更新词典数据,以指示与域相关联的非核心数据,如参考图3进一步描述的。

域特定的词汇驱动的预解析器110可以被配置成通过基于更新的词典数据和域特定的解析规则分析输入文本来生成部分解析和加括号的输入文本,如参考图4-图5进一步描述的。如参考图4-5进一步描述的,独立于域的基于规则的解析器可以通过基于独立于域的解析规则分析部分解析和加括号的输入文本来生成解析的文本。与将独立于域的解析规则直接应用于输入文本相比,将独立于域的解析规则应用于部分解析和括入的输入文本可导致较少解析错误(例如,无错误)。例如,部分解析和加括号的输入文本可以指示在域中有效的短语边界,并且因此可以解决否则将导致解析错误的至少一些句法歧义。

应当理解,图1显示的各类计算设备54a-54n仅仅是示意性的,计算节点10以及云计算环境50可以与任意类型网络上和/或(例如使用网络浏览器)网络可寻址连接的任意类型的计算设备通信。

现在参考图2,其中显示了云计算环境50(图1)提供的一组功能抽象层。首先应当理解,图2所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图2所示,提供下列层和对应功能:

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于risc(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。在一些方面,软件组件包括:网络应用服务器软件67以及数据库软件68。

虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。

在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为这些资源的消耗提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,以及为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能85:为根据sla预测的对云计算资源未来需求提供预先安排和供应。

工作负载层90提供云计算环境可能被用于的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及域特定分析96。在特定方面,域特定分析96可以包括域特定词汇分析,如本文参考词汇分析器108所描述的。在特定方面,域特定分析96可以包括域特定词汇驱动预解析,如本文中参照域特定词汇驱动预解析器110所描述的。

图3示出了用于执行域特定词汇分析的系统300。系统300包括设备302。设备302可以包括处理器、计算机、膝上型计算机、服务器、通信设备、娱乐设备或其组合。设备302包括(或访问)词汇分析器108、文本解析器304、存储器306或其组合。词汇分析器108可以对应于软件,诸如可由处理器执行以执行参考图1-11描述的一个或多个操作的指令。在特定方面,词汇分析器108可以对应于被配置为执行参照图1-图11描述的一个或多个操作的处理器。文本解析器304包括域特定的词汇驱动的预解析器110。域特定的词汇驱动的预解析器110可以对应于软件,诸如可由处理器执行以执行参考图1-图11描述的一个或多个操作的指令。在特定方面,域特定的词汇驱动的预解析器110可以对应于被配置为执行参考图1-图11描述的一个或多个操作的处理器。

在特定方面,设备302可以对应于图1的云计算节点10中的一个或多个。例如,设备302可以提供词汇分析器108(例如,与词汇分析器108相对应的软件)或提供词汇分析器108的功能作为服务。在替代方面中,设备302可对应于云消费者设备,例如,图1的个人数字助理(pda)或蜂窝式电话54a、桌上型计算机54b、膝上型计算机54c、汽车计算机系统54n或其组合。设备302可以接收词汇分析器108(例如,与词汇分析器108相对应的软件)或访问作为由图1的云计算节点10中的一个或多个提供的服务的词汇分析器108的功能。

存储器306可被配置成存储词典数据316。词典数据316可由设备302先前生成、由设备302从另一设备接收、由用户301提供给设备302、或其组合。词典数据316可对应于被安排成具有一个或多个条目的数据结构(例如,表)。词典数据316的每个条目可包括基本词语(例如,名词)、与基本词语相关联的核心数据、或两者。核心数据可以指示与基本词语相关联的独立于域的信息。独立于域的信息可以指示基本词语的词性(例如,名词)、基本词语的一个或多个语义类型(或语义类别)或其组合。

语义类型可以包括物理对象、概念实体、活动、现象、过程或另一语义类型。语义类型可以对应于一个或多个附加语义类型(例如,子类型),这些附加语义类型对应于更高的细节级别或更窄的分类。例如,物理对象可以包括有机体、解剖结构、制造对象、物质或另一类型的物理对象。

在特定方面,词典数据316的各种条目可指示不同细节级别的语义类型。例如,词典数据316的条目可以指示对应的基本词语(例如,"aloe(芦荟)")的第一语义类型(例如,植物),而词典数据316的另一条目可以指示对应的基本词语(例如,"cholesterol(胆固醇)")的第二语义类型(例如,物质)。第一语义类型(例如,植物)可以对应于比第二语义类型(例如,物质)更高的细节水平。例如,第一语义类型(例如,植物)可以对应于语义子-子类型(例如,物理对象→有机体→植物),并且第二语义类型(例如,物质)可以对应于语义子类型(例如,物理对象→物质)。

在特定示例中,词典数据316包括条目318。条目318包括基本词语322(例如,"cholesterol")。条目318可以包括与基本词语322相关联的核心数据330。核心数据330可以指示基本词语322(例如,"cholesterol")的词性(例如,名词)。核心数据330可以指示基本词语322的第一语义类型(例如,物质)、第二语义类型(例如,状况)、一个或多个附加语义类型或其组合。

如本文所述,词汇分析器108被配置为基于分析域特定语料库314、用户输入382或其组合来生成非核心数据。例如,词汇分析器108可以生成与基本词语322(例如,"cholesterol")相关联的非核心数据340,如本文所描述的。域特定语料库314与域320(例如,医学)相关联。域320可以对应于研究领域(例如,医学、工程、艺术、音乐、金融、石油和天然气等)、语言(例如,英语、法语、西班牙语等)、编程语言(例如,(oracle公司,redwoodshores,california的注册商标)、(pythonsoftwarefoundation,delaware的注册商标)等)、另一域或其组合。

非核心数据可以指示与基本词语相关联的域特定信息。例如,非核心数据340可以指示与基本词语322(例如,"cholesterol")相关联的域特定信息。为了说明,非核心数据340可以指示可用于在域320中修饰基本词语322的一个或多个修饰语词语。修饰语词语可包括形容词修饰词、介词修饰词、名词修饰词或另一修饰语词语中的至少一个。形容词修饰语词语可对应于作为基本词语的修饰语词语的形容词。名词修饰语词语可对应于作为基本词语的修饰语词语的名词。名词修饰语词语(例如,"blood")可以在短语(例如,"bloodcholesterol")中相对于基本词语(例如,"cholesterol")用作形容词。介词修饰语词语可以对应于作为基本词语的修饰语词语的介词。

名词修饰语词语可以包括名词前修饰语词语或名词后修饰语词语。形容词修饰语词语可以包括形容词前修饰语词语或形容词后修饰语词语。介词修饰语词语可以包括介词后修饰语词语。在短语中,前修饰语词语(例如,名词前修饰语词语或形容词前修饰语词语)可以在基本词语之前。例如,如果域320中的短语要从左到右阅读,则(域320的)前修饰语词语可以在短语中的相应基本词语的左边。后修饰语词语可以在短语中的基本词语之后。例如,如果域320中的短语要从左到右阅读,则(域320的)后修饰语词语可以在相应的基本词语的右边。

词汇分析器108被配置为基于分析域特定语料库314、用户输入382或其组合来生成域特定解析规则370,如参考图7进一步描述的。域特定解析规则370可包括搭配规则、语素语义规则、基于命名实体的模式规则或语义句法模式规则中的至少一个,如参考图7所述。搭配规则可指示特定类型的修饰语词语是前修饰语词语还是后修饰语词语。例如,第一搭配规则可指示形容词修饰语词语是前修饰语词语,而第二搭配规则可指示介词修饰语词语是后修饰语词语。

语素语义规则可指示特定词语是否可用作具有特定语义特征的词语的修饰语词语(例如,作为具有特定语义特征的词语的修饰语词语是有效的)。例如,特定的语素语义规则可指示具有特定语义特征的词语(例如,低、高或提升的)作为具有特定前缀的词语(例如,"hyper")的修饰语词语不是有效的。特定语义特征可以对应于"强度"语义特征。

基于命名实体的模式规则可以指示词语的模式,其中该模式包括一个或多个命名实体。命名实体通常包括通过名称识别实体并且属于特定语义类型的词(或词组)。例如,特定语义类型可以包括人、事件、日期、组织、地点、人工制品或货币表达。在另一个示例中,特定语义类型可以是更细粒度的,诸如,person_name、person_role或event_sporting。在特定方面,特定语义类型可以是甚至更具体的,诸如person_name_author或event_sporting_football。可以形成与命名实体x、y和z相对应的各种基于命名实体的模式规则,诸如x将在z时在y处发生,或者y是x的z时的位置,其中x具有事件的语义类型,y具有地点的语义类型,并且z具有日期的语义类型。

语义句法模式规则可指示词语的模式,其中该模式指示一个或多个词语的短语类型和语义类型。例如,特定语义句法模式规则(例如,[action(动作)][prep(介词)]{substance(物质)|drug(药物)})可以指示动作短语(例如,"prescribing(开处方)")后面跟随有介词(例如,"of")后面跟随有具有第一语义类型(例如,物质)或第二语义类型(例如,药物)的词语(例如,"acetaminophen")满足特定语义句法模式规则。

词汇分析器108可以将域特定解析规则370提供给域特定的词汇驱动的预解析器110。域特定的词汇驱动的预解析器110被配置成根据域特定的解析规则370生成部分解析和加括号的文本,如参考图4进一步描述的。例如,如这里所述,域特定的词汇驱动的预解析器110可以通过将域特定的解析规则370应用于输入文本,生成部分解析和加括号的文本。部分解析和加括号的文本可以对应于(例如,表示)中间解析树,如参考图5进一步描述的,部分解析和加括号的文本(例如,中间解析树)可以指示在域320中有效的短语边界附件。独立于域的基于规则的解析器可被配置成基于域特定的词汇驱动的预解析器110的输出来生成经解析的文本,如参考图4进一步描述的。例如,独立于域的基于规则的解析器可以通过将独立于域的解析规则应用于中间解析树来生成解析树,如参考图5进一步描述的。解析树可以对应于(例如,表示)解析文本。应当理解,解析树被用作说明性示例,可以以各种方式表示解析文本(或部分解析和加括号的文本)。

在操作期间,词汇分析器108可以确定将分析域特定语料库314。例如,词汇分析器108可以从用户301接收指示将分析域特定语料库314的用户输入382。词汇分析器108可以被配置为将域特定语料库314分析为对应于域320。在特定方面,词汇分析器108确定域特定语料库314是否与域320相关联。例如,词汇分析器108可以使用基于启发式的方法来确定域特定语料库314很可能与域320相关联。作为另一示例,词汇分析器108可以从用户301接收指示域特定语料库314与域320相关联的用户输入382(或来自另一设备的数据)。例如,用户输入382(或数据)可以包括域特定语料库314的标识符(例如,文件标识符)和域320的标识符(例如,"#medicine")。

词汇分析器108可以通过解析域特定语料库314来生成词语(例如,词)。词汇分析器108可将这些词语与由词典数据316指示的基本词语进行比较。词汇分析器108可生成对应于由词典数据316指示的基本词语的共现统计数据380。例如,词汇分析器108可以响应于确定词典数据316包括基本词语322(例如,"cholesterol")而生成共现统计数据380以指示另一词语在域特定语料库314的至少一部分中看起来修饰基本词语322的次数。基本词语322和另一词语可以对应于中心词-修饰语对。词汇分析器108可以响应于检测到在域特定语料库314中的基本词语322附近(例如,旁边)的另一个词语,确定该另一个词语看起来修饰基本词语322。例如,共现统计数据380可以指示第一词语(例如,"high")在基本词语322(例如,“cholesterol”)旁边并且在基本词语322之前已经出现的第一次数,第二词语(例如,"blood")在基本词语322旁边并且在基本词语322之前已经出现的第二次数,并且第三词语(例如,"in")在基本词语322旁边并且在基本词语322之后已经出现的第三次数。

词汇分析器108可以响应于确定共现统计数据380指示所识别的词语在域特定语料库314中看起来修饰基本词语322至少阈值次数,而将所识别的词语指定为基本词语322的修饰语词语。例如,词汇分析器108可以响应于确定第一次数满足阈值,将第一词语(例如,"high")指定为基本词语322的修饰语词语334。词汇分析器108可以响应于确定第二次数满足阈值,将第二词语(例如,"blood")指定为基本词语322的修饰语词语324。词汇分析器108可响应于确定第三次数满足阈值而指定第三词语(例如,"in")作为基本词语322的修饰语词语344。

在特定方面,词汇分析器108可以确定特定词语(例如,"expensive(昂贵的)")看起来修饰域特定语料库314中的基本词语322(例如,"expensivecholesterolmedicine(昂贵的胆固醇药物)")。词汇分析器108可以确定共现统计数据380指示特定词语(例如,"expensive")看起来修饰基本词语322(例如,"cholesterol")特定次数。词汇分析器108可以响应于确定特定次数未能满足阈值(例如,20),避免将特定词语(例如,"expensive")指定为基本词语322的修饰语词语。在特定方面,词汇分析器108可以确定在域特定语料库314中另一基本词语(例如,medicine)在基本词语322之后(例如,"expensivecholesterolmedicine"),并且该特定词语(例如,"expensive")看起来修饰该另一基本词语(例如,medicine)第二次数。词汇分析器108可以响应于确定特定次数小于第二次数,避免将特定词语(例如,expensive)指定为基本词语322的修饰语词语。

如本文所述,词汇分析器108可基于词典数据316来识别修饰语词语的词性。词典数据316可为修饰语词语指示一个或多个形容词331、一个或多个介词333或其组合。词汇分析器108可以响应于确定形容词331包括修饰语词语334(例如,"high"),而确定修饰语词语334(例如,"high")对应于形容词。词汇分析器108可以响应于确定介词333包括修饰语词语344(例如,"in")而确定修饰语词语344(例如,"in")对应于介词。词汇分析器108可响应于确定修饰语词语324(例如,"blood")被指示为词典数据316中的特定基本词语并且词典数据316指示该特定基本词语的词性是名词而确定修饰语词语324(例如,"blood")对应于名词。

词汇分析器108可以响应于确定修饰语词语334(例如,"high")对应于特定的词性(例如,形容词),确定修饰语词语334(例如,"high")对应于第一修饰语类型(例如,形容词修饰语词语)。词汇分析器108可响应于确定修饰语词语334(例如,"high")出现在基本词语322旁边并且在基本词语322之前,确定修饰语词语334对应于第二修饰语类型(例如,前修饰语词语)。词汇分析器108可生成(或更新)非核心数据340以指示修饰语词语334(例如,"high")是指示第一修饰语类型(例如,形容词修饰语词语)、第二修饰语类型(例如,前修饰语词语)或两者(例如,形容词前修饰语词语)的类型的基本词语322的域特定修饰语。基本词语322的特定的域特定修饰语可用于在与域320相关联的文本中修饰基本词语322。

词汇分析器108可在离线训练阶段期间生成词典数据316的域特定信息(例如,非核心数据340)。例如,词汇分析器108可以向文本解析器304提供词典数据316的域特定信息(例如,非核心数据340),以训练域特定的词汇驱动的预解析器110。在离线训练阶段期间,词汇分析器108还可生成域特定解析规则370,如本文所述。在运行时间阶段期间,域特定的词汇驱动的预解析器110可基于词典数据316的域特定信息、域特定的解析规则370或其组合来处理输入文本,以生成部分解析和加括号的输入文本,如参考图4进一步描述的。独立于域的基于规则的解析器可以基于部分解析和加括号的输入文本生成解析文本,如参考图4进一步描述的。

在特定方面,词汇分析器108可至少部分地基于确定修饰语词语334在域特定语料库314中出现在基本词语322的旁边和之前来生成第一搭配规则(例如,形容词短语的左附件),如参考图7进一步描述的。域特定解析规则370可包括第一搭配规则。域特定解析规则370与域320相关联。

词汇分析器108可以响应于确定修饰语词语344(例如,"in")对应于特定词性(例如,介词)而生成(或更新)非核心数据340以指示修饰语词语344(例如,"in")是基本词语322的对应于特定词性的域特定修饰语(例如,介词修饰语词语)。词汇分析器108可以至少部分地基于确定修饰语词语344在域特定语料库314中出现在基本词语322旁边和之后来生成第二搭配规则(例如,介词短语的右附件),如关于图7进一步描述的。域特定解析规则370可包括第二搭配规则。

词汇分析器108可以响应于确定修饰语词语324(例如,"blood")对应于特定的词性(例如,名词),确定修饰语词语324对应于第一修饰语类型(例如,名词修饰语词语)。词汇分析器108可以响应于确定修饰语词语324(例如,"blood")出现在基本词语322旁边和之前,确定修饰语词语324对应于第二修饰语类型(例如,前修饰语词语)。词汇分析器108可生成(或更新)非核心数据340以指示修饰语词语324(例如,"blood")是指示第一修饰语类型(例如,名词修饰语词语)、第二修饰语类型(例如,前修饰语词语)或两者(例如,名词前修饰语词语)的类型的基本词语322的域特定修饰语。词汇分析器108可以至少部分地基于确定修饰语词语324在域特定语料库314中出现在基本词语322旁边和之前,来生成第三搭配规则(例如,名词前修饰语词语的左附件),如参考图7进一步描述的。域特定解析规则370可包括第三搭配规则。

在特定方面,修饰语词语的修饰语类型(例如,前修饰语词语或后修饰语词语)可指示搭配规则。例如,第一修饰语类型的修饰语词语(例如,"high")(例如,前修饰语词语)可指示第一搭配规则(例如,左附件)。词汇分析器108可以生成(或更新)域特定解析规则370以包括基于域特定语料库314的一个或多个规则,如参考图7进一步描述的。

在特定方面,词汇分析器108可以向设备302的显示器显示所提出的更新。所提出的更新可指示对词典数据316、域特定解析规则370或其组合的更新。用户301可以向设备302提供指示对所提出的的更新的编辑、对所提出的更新的批准、或对所提出的更新的拒绝的用户输入382。词汇分析器108可响应于确定用户输入382指示对所提出的更新的编辑或批准,更新词典数据316、域特定解析规则370或其组合。词汇分析器108因此可使得用户301能够监视对词典数据316、域特定解析规则370或其组合的更新。备选地,词汇分析器108可响应于确定用户输入382指示拒绝所提出的更新,避免更新词典数据316并避免更新域特定解析规则370。

在特定方面,词汇分析器108可基于用户输入382生成(或更新)词典数据316。例如,用户301可以向设备302提供用户输入382。用户输入382可指示要将词语(例如,"extremity")作为基本词语添加到词典数据316。用户输入382可以指示与该词语(例如,"extremity")相关联的独立于域的信息。例如,用户输入382可以指示词语(例如,"extremity")的词性(例如,名词)、一个或多个语义类型(例如,身体部分、点、极限和状态)或其组合。词汇分析器108可响应于接收到用户输入382而生成(或更新)词典数据316以包括指示该词语(例如,"extremity")作为基本词语的条目。

在特定方面,词汇分析器108可以基于用户输入382生成(或更新)非核心数据340。例如,用户301可以向设备302提供用户输入382。用户输入382可指示要将词语(例如,"elevated")添加到非核心数据340作为基本词语322的修饰语(例如,"cholesterol")。用户输入382可以指示修饰语(例如,形容词)的词性。词汇分析器108可以响应于接收到用户输入382而生成(或更新)非核心数据340,以指示修饰语词语(例如,"elevated")是基本词语322的与词性相对应的域特定修饰语(例如,形容词修饰语词语)。词汇分析器108因此可以使得用户301能够独立于域特定语料库314向非核心数据340手动添加修饰语词语。

在特定方面,非核心数据340基于域特定的语料库314和用户输入382。例如,非核心数据340可以包括基于用户输入382的词语(例如,"elevated"),并且可以包括基于域特定语料库314的修饰语词语324、修饰语词语334和修饰语词语344。

在特定方面,词汇分析器108可基于用户输入382生成(或更新)域特定解析规则370。例如,用户301可以向设备302提供用户输入382。用户输入382可指示规则(例如,搭配规则、语素语义规则、基于命名实体的模式规则、语义句法模式规则或另一规则)将被添加到域特定解析规则370,如参考图7进一步描述的。词汇分析器108可以响应于接收到用户输入382,生成(或更新)域特定解析规则370以包括用户指定的规则。词汇分析器108因此可以使得用户301能够独立于域特定语料库314向域特定解析规则370手动添加规则。

在特定方面,域特定的解析规则370基于域特定语料库314和用户输入382。例如,域特定的解析规则370可以包括基于用户输入382的语义句法模式规则,并且可以包括基于域特定语料库314的第一搭配规则(例如,介词短语的右附件)和第二搭配规则(例如,形容词短语的左附件),如参考图7进一步描述的。

非核心数据340与域320相关联。例如,非核心数据340可以指示域320。在特定方面,条目318可包括与不同于域320的一个或多个附加域相关联的附加非核心数据。例如,域320对应于医学、工程、艺术、音乐、金融、石油和天然气、英语、法语、西班牙语、(oracle公司,redwoodshores,california的注册商标)、(pythonsoftwarefoundation,delaware的注册商标)或其组合中的一个,并且第二域对应于医学、工程、艺术、音乐、金融、石油和天然气、英语、法语、西班牙语、(oracle公司,redwoodshores,california的注册商标)、(pythonsoftwarefoundation,delaware的注册商标)或其组合中的另一个。词汇分析器108可以基于分析与第二域相关联的第二域特定语料库来生成附加非核心数据。附加非核心数据可以将一个或多个修饰语词语指示为在第二域中有效的基本词语322(例如,"cholesterol")的一个或多个附加的域特定修饰语。

在特定方面,词汇分析器108可基于用户输入382、共现统计数据380或两者,将修饰语词语识别为词典数据316中的基本词语的优选的域特定修饰语。例如,用户301可以提供指示修饰语词语324(例如,"blood")是基本词语322(例如,"cholesterol")的优选的域特定修饰语词语的用户输入382。词汇分析器108可以响应于接收到用户输入382,确定修饰语词语324是基本词语322的优选的域特定修饰语词语。在另一方面,词汇分析器108可以响应于确定修饰语词语324(例如,"blood")看起来修饰基本词语322(例如,"cholesterol")的第一次数满足(例如,大于)偏好阈值,确定修饰语词语324是基本词语322的优选的域特定修饰语词语。词汇分析器108可以响应于确定修饰语词语324是优选的域特定修饰语词语,生成(或更新)非核心数据340以指示修饰语词语324是优选的域特定修饰语词语。

词汇分析器108可以将域特定解析规则370提供给域特定的词汇驱动的预解析器110。文本解析器304可基于域特定解析规则370、词典数据316或其组合来解析文本,如参考图4进一步描述的。在特定方面,设备302可向一个或多个其他设备提供域特定的解析规则370、词典数据316或其组合。例如,设备302可向云计算节点10中的一个云计算节点或计算设备54a-54n中的一个计算设备提供域特定解析规则370、词典数据316或其组合。另一设备可包括被配置成基于域特定的解析规则370、词典数据316或其组合来解析输入文本的解析器(例如,文本解析器304)。

系统300使得能够基于用户输入182、域特定语料库314或两者来生成(或更新)词典数据316(例如,非核心数据340)、域特定解析规则370或其组合。例如,词汇分析器108可自动(或部分自动)分析大文本以高效地更新(例如,训练)词典数据316、域特定解析规则370或其组合。与词典数据316、域特定解析规则370或两者的手动生成(或更新)相比,词典数据316、域特定解析规则370或其组合的自动(或至少部分自动)生成(或更新)可提高效率、健壮性和覆盖范围。

图4示出了用于执行词汇驱动语法分析的系统400。系统400包括设备402。设备402可以包括处理器、计算机、膝上型计算机、服务器、通信设备、娱乐设备或其组合。设备402可以与图3的设备302相同或不同。

设备402包括(或访问)域特定的词汇驱动的预解析器110。例如,设备402包括(或访问)文本解析器304。文本解析器304包括域特定的词汇驱动的预解析器110和基于独立于域的规则的解析器412。基于独立于域的规则的解析器412被配置成基于独立于域的解析规则470执行独立于域的解析。独立于域的解析规则470可以是先前在设备402处生成的、由设备402从用户接收的、由设备402从另一设备接收的、或其组合。

在特定方面,设备402可以对应于图1的云计算节点10中的一个或多个。例如,设备402可以提供域特定的词汇驱动的预解析器110(例如,与域特定的词汇驱动的预解析器110相对应的软件)或提供域特定的词汇驱动的预解析器110的功能作为服务。在替代方面中,设备402可对应于云消费者设备,例如,图1的个人数字助理(pda)或蜂窝式电话54a、桌上型计算机54b、膝上型计算机54c、汽车计算机系统54n或其组合。设备402可以接收域特定的词汇驱动的预解析器110(例如,与域特定的词汇驱动的预解析器110对应的软件)或访问作为由图1的云计算节点10中的一个或多个提供的服务的域特定的词汇驱动的预解析器110的功能。

设备402可以包括存储器406。存储器406被配置成存储词典数据316。在特定方面,设备402可从诸如图3的设备302之类的另一设备接收词典数据316、域特定解析规则370或其组合。设备402可将词典数据316存储在存储器406中。

在操作期间,文本解析器304可以确定要分析输入文本414。例如,文本解析器304可以接收来自用户401的用户输入484或者来自另一设备的指示输入文本414要被分析的请求。用户401可以与图3的用户301相同或不同。文本解析器304可以确定输入文本414与域320相关联。例如,文本解析器304可以确定输入文本414指示域320。为了说明,输入文本414的第一行可以包括域320的标识符(例如,"#medicine")。在替代方面中,文本解析器304可接收用户输入484或来自另一设备的指示输入文本414与域320相关联的数据。例如,用户输入484(或数据)可以包括输入文本414的标识符(例如,文件标识符)和域320的标识符(例如,"#medicine")。

文本解析器304可以响应于确定输入文本414与域320相关联,将输入文本414提供给域特定的词汇驱动的预解析器110。域特定的词汇驱动的预解析器110可以通过基于域特定的解析规则370处理输入文本414,来生成部分解析和加括号的输入文本480。例如,输入文本414可以包括句子(例如,"thepatientsuffersfromhighbloodcholesterol(该患者患有高血胆固醇)")。在特定方面,域特定的词汇驱动的预解析器110可以复制句子以生成部分解析和加括号的输入文本480的初始版本(例如,"thepatientsuffersfromhighbloodcholesterol")。域特定的词汇驱动的预解析器110可以在处理的各个阶段更新部分解析和加括号的输入文本480。例如,在特定的处理阶段,如这里所述,域特定的词汇驱动的预解析器110可以通过将一个或多个短语标记添加到部分解析和加括号的输入文本480的先前版本中,来生成部分解析和加括号的输入文本480的下一个版本。响应于确定输入文本414的预解析完成,域特定的词汇驱动的预解析器110将部分解析和加括号的输入文本480的最近生成的版本(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")提供给基于独立于域的规则的解析器412,如本文所述。

域特定的词汇驱动的预解析器110可以识别输入文本414中的词语(例如,词)。例如,域特定的词汇驱动的预解析器110可确定输入文本414包括词语(例如,"the")、词语(例如,"patient")、词语(例如,"suffers")、词语(例如,"from")、词语422(例如,"high")、词语424(例如,"blood")和词语426(例如,"cholesterol")。

域特定的词汇驱动的预解析器110可确定词语426(例如,cholesterol)被指示为词典数据316的条目318中的基本词语322。域特定的词汇驱动的预解析器110可以响应于确定核心数据330指示基本词语322的词性(例如,名词),更新部分解析和加括号的输入文本480(例如,"thepatientsuffersfromhighbloodcholesterol")以指示对应于基本词语322的词语426的词性。例如,域特定的词汇驱动的预解析器110可以在部分解析和加括号的输入文本480(例如,"thepatientsuffersfromhighblood[ncholesterol]")中的词语426(例如,cholesterol)周围添加短语标记(例如,[n])以指示词性(例如,名词)。

域特定的词汇驱动的预解析器110可响应于确定词语424看起来修饰(例如,紧挨着)输入文本414中的词语426,确定词语424(例如,blood)是词语426(例如,cholesterol)的潜在修饰语词语。域特定的词汇驱动的预解析器110可以将潜在的修饰语词语(例如词语424)与非核心数据340中所指示的修饰语词语进行比较。域特定的词汇驱动的预解析器110可以确定词语424(例如,blood)被指示为非核心数据340中的修饰语词语324(例如,名词前修饰语词语)。

域特定的词汇驱动的预解析器110可以确定修饰语词语324是否与搭配规则相关联。例如,域特定的词汇驱动的预解析器110可确定修饰语词语324是否具有指示搭配规则的修饰语类型。前修饰语词语可指示第一搭配规则(例如,左附件)。后修饰语词语可指示第二搭配规则(例如,右附件)。域特定的词汇驱动的预解析器110可响应于确定修饰语词语324具有指示特定搭配规则的修饰语类型(例如,前修饰语词语)来确定修饰语词语324与特定搭配规则(例如,左附件)相关联。可替换地,或附加地,域特定的词汇驱动的预解析器110可以响应于确定域特定的解析规则370指示修饰语类型(例如,前修饰语词语)与特定的搭配规则(例如,前修饰语词语的左附件)相关联,确定修饰语词语324与特定的搭配规则相关联。

域特定的词汇驱动的预解析器110可响应于确定修饰语词语324与特定搭配规则(例如,左附件)相关联,确定输入文本414中词语424(例如,blood)相对于词语426(例如,cholesterol)的位置是否满足特定搭配规则(例如,左附件)。例如,域特定的词汇驱动的预解析器110可响应于确定词语424(例如,blood)在输入文本414中的词语426(例如,cholesterol)之前(例如,在词语426左侧),确定词语424(例如,blood)满足与修饰语词语324(例如,名词前修饰语词语)相关联的第一搭配规则(例如,左附件)。响应于确定词语424(例如,blood)满足与修饰语词语324相关联的搭配规则(例如,左附件),域特定的词汇驱动的预解析器110可通过在词语424周围添加短语标记(例如,[n])并通过将词语424(例如,blood)以及词语426(例如,cholesterol)加括号(例如,分组)来更新部分解析和加括号的输入文本480(例如,"thepatientsuffersfromhigh[[nblood][ncholesterol]]")。词语424周围的短语标记(例如,[n])可指示与修饰语词语324(例如,blood)的修饰语类型(例如,名词修饰语词语)相对应的词性(例如,名词)。

域特定的词汇驱动的预解析器110可以响应于确定词语422(例如,high)看起来修饰了输入文本414中的词语426(例如,cholesterol)而确定词语422是词语426的潜在修饰语词语。例如,域特定的词汇驱动的预解析器110可以响应于确定词语422在部分解析和加括号的输入文本480中与词语426一起加括号(例如,分组)的词语424旁边(例如,"thepatientsuffersfromhigh[[nblood][ncholesterol]]",来确定词语422看起来修饰了词语426。

域特定的词汇驱动的预解析器110可以将潜在的修饰语词语(例如词语422)与非核心数据340所指示的修饰语词语进行比较。域特定的词汇驱动的预解析器110可以确定词语422(例如,high)被指示为非核心数据340中的修饰语词语334(例如,形容词修饰语词语)。

域特定的词汇驱动的预解析器110可以确定修饰语词语334是否与搭配规则相关联。例如,域特定的词汇驱动的预解析器110可以响应于确定非核心数据340没有提到(例如,没有指示)修饰语词语334是前修饰语词语还是后修饰语词语,确定域特定的解析规则370是否指示与修饰语词语334(例如,high)的修饰语类型(例如,形容词修饰语词语)相关联的搭配规则。为了说明,域特定的词汇驱动的预解析器110可响应于确定域特定的解析规则370指示修饰语类型(例如形容词修饰语词语)与特定搭配规则相关联,确定修饰语词语334(例如,high)与特定搭配规则(例如左附件)相关联。可替代地,域特定的词汇驱动的预解析器110可响应于确定非核心数据340和域特定的解析规则370都不指示与修饰语词语334(例如,high)相关联的搭配规则,确定默认的搭配规则(例如,左附件)与修饰语词语334相关联。

域特定的词汇驱动的预解析器110可以响应于确定修饰语词语334(例如,high)与特定搭配规则(例如,左附件)相关联,确定词语422(例如,high)相对于输入文本414中的词语(例如,cholesterol)的位置是否满足特定搭配规则。例如,域特定的词汇驱动的预解析器110可以响应于确定词语422(例如,high)在输入文本414、部分解析和加括号的输入文本480或两者中在词语426(例如,cholesterol)之前(例如,在词语426左侧)。

在特定方面,响应于确定第一词语在部分解析和加括号的输入文本480中在与词语426一起加括号(即,分组)的第二词语之前(或在左侧),域特定的词汇驱动的预解析器110可以确定第一词语满足相对于词语426的第一搭配规则(例如,左附件)。例如,域特定的词汇驱动的预解析器110可以响应于确定词语422(例如,high)在部分解析和加括号的输入文本480(例如,"thepatientsuffersfromhigh[[nblood][ncholesterol]]")中在与词语426(例如,cholesterol)一起加括号的词语424(例如,blood)之前(例如,在词语424左侧)出现,而确定词语422(例如,high)满足第一搭配规则(例如,左附件)。

域特定的词汇驱动的预解析器110可以响应于确定词语422(例如,high)满足第一搭配规则(例如,左附件),通过添加短语标记(例如,[adj]),并且通过将词语422(例如,high)与包括词语426(例如,cholesterol)的加括号的(即,分组的)词语一起加括号(例如,分组),更新部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")。

在特定方面,域特定的词汇驱动的预解析器110可以响应于确定词语(例如,from)看起来修饰输入文本414中的词语426而确定该词语(例如,from)是词语426(例如,cholesterol)的潜在修饰语词语。例如,域特定的词汇驱动的预解析器110可以响应于确定该词语(例如,from)在部分解析和加括号的输入文本480中与和词语426一起加括号(例如,分组)的词语422(例如,high)相邻(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")而确定该词语(例如,from)看起来修饰该词语426。"潜在修饰语词语"可以是或不是词语426的修饰语词语。如本文所用,词语426的"潜在修饰语词语"包括在语法上与词语426链接的词语。响应于确定该词语(例如,from)在部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")中在与词语426一起加括号(例如,分组)的词语422(例如,high)旁边,域特定的词汇驱动的预解析器110可确定该词语(例如,from)在句法上链接到词语422(例如,high)。

域特定的词汇驱动的预解析器110可以确定潜在的修饰语词语(例如,from)实际上是否是词语426的修饰语词语。例如,域特定的词汇驱动的预解析器110可以将潜在的修饰语词语(例如,from)与非核心数据340所指示的修饰语词语进行比较。域特定的词汇驱动的预解析器110可以响应于确定潜在修饰语词语(例如,from)没有被非核心数据340指示为修饰语词语,确定输入文本414不包括基本词语322的在词语426之前的任何附加的域特定修饰语词语。

域特定的词汇驱动的预解析器110可以响应于确定输入文本414在词语426之前不包括任何附加的域特定修饰语词语,确定输入文本414是否包括词语426之后的潜在修饰语词语。域特定的词汇驱动的预解析器110可以响应于确定输入文本414在词语426之前或词语426之后不包括任何附加的域特定修饰语词语,确定没有与词语426相关联的附加修饰语词语要被识别。

域特定的词汇驱动的预解析器110可响应于确定没有要为词语426识别的附加修饰语词语,确定输入文本414是否包括由词典数据316指示为基本词语的另一词语。如本文所述,响应于确定输入文本414包括被指示为基本词语的另一词语,域特定的词汇驱动的预解析器110可以确定输入文本414中的该另一词语的修饰语词语。或者,域特定的词汇驱动的预解析器110响应于确定输入文本414不包括由词典数据316指示为基本词语的另一词语,可确定输入文本414的预解析完成。

在特定方面,域特定的词汇驱动的预解析器110可以响应于确定输入文本414满足域特定的解析规则370的语素语义规则、基于命名实体的模式规则或语义句法模式规则中的至少一个而生成(或更新)部分解析和加括号的输入文本480,如参考图8进一步描述的。域特定的词汇驱动的预解析器110可以响应于确定域特定的解析规则370中没有附加规则(或没有解析规则)适用于部分解析和加括号的输入文本480,确定输入文本414的预解析完成。

应当理解,迭代地更新部分解析和加括号的输入文本480被描述为说明性的、非限制性的示例。在一个备选方面,域特定的词汇驱动的预解析器110将输入文本414的句子复制到存储器406中作为处理数据的初始版本(例如,"thepatientsuffersfromhighbloodcholesterol")。域特定的词汇驱动的预解析器110在处理的各个阶段更新处理数据。例如,域特定的词汇驱动的预解析器110通过基于词典数据316和域特定的解析规则370向处理数据的先前版本添加一个或多个短语标记来生成处理数据的下一版本。在这一方面,响应于确定输入文本414的预解析完成,域特定的词汇驱动的预解析器110将处理数据的最近生成的版本(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")指定为部分解析和加括号的输入文本480。

部分解析和加括号的输入文本480可以准备由基于独立于域的规则的解析器412进行处理(例如解析)。响应于确定输入文本414的预解析完成,域特定的词汇驱动的预解析器110可将部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")提供给基于独立于域的规则的解析器412。

基于独立于域的规则的解析器412可以根据独立于域的解析规则470处理部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]"),以生成解析文本482,如参考图5进一步描述的。解析文本482可以与域320相关联。基于独立于域的规则的语法解析器412可至少部分地基于与域320相关联的域特定解析规则370向设备402的显示器提供输入文本414已被成功解析的消息。例如,消息可指示输入文本414已由基于独立于域的规则的解析器412使用域特定解析规则370来解析。

独立于域的解析规则470可独立于域特定解析规则370来维护(例如,更新)。基于独立于域的规则的解析器412可被配置成从多个域特定的词汇驱动的预解析器接收部分解析和加括号的文本。例如,独立于域的基于规则的解析器412可以被配置成接收由域特定的词汇驱动的预解析器110生成的部分解析和加括号的输入文本480,以及接收由第二域特定的词汇驱动的预解析器生成的第二部分解析和加括号的文本。与域特定的词汇驱动的预解析器110相关联的域320可以不同于与第二域特定的词汇驱动的预解析器相关联的第二域。在特定方面,与输入文本414相关联的域可能是设备402未知的。文本解析器304可以将输入文本414提供给多个域特定的词汇驱动的预解析器(例如,域特定的词汇驱动的预解析器110和第二域特定的词汇驱动的预解析器110)。文本解析器304可以基于确定部分解析和加括号的输入文本480、第二部分解析和加括号的文本或两者是否被基于独立于域的规则的解析器412成功地分析来识别与输入文本414相关联的域。例如,文本解析器304可以响应于确定部分解析和加括号的输入文本480、第二部分解析和加括号的文本或两者分别被基于独立于域的规则的解析器412成功解析,确定输入文本414可能与域320、第二域或两者相关联。

在特定方面中,解析文本482可由设备402的另一组件或由另一设备处理。例如,输入文本414可以对应于医生笔记。设备402的医院记录部件(例如,处理器)可以基于解析文本482、用户输入484或两者来更新患者护理记录(例如,数据库)。作为另一示例,输入文本414可以对应于研究论文。研究系统(例如,处理器)可以基于解析文本482来更新研究数据。

系统400使得能够基于域特定解析规则370、独立于域的解析规则470或其组合来解析输入文本414。具有不同的域特定解析规则可以提高性能。例如,专用域(例如,域320)可以引入句法模式,并且可以呈现在一般域中不太常见的句法歧义类型。基于域特定解析规则370预解析专用域(例如域320)的输入文本可在基于独立于域的解析规则470进行解析之前减少(例如,解决)句法歧义,从而导致更少的(例如没有)解析错误。

图5示出中间解析树580和解析树582。中间解析树580可以由图1的域特定的词汇驱动的预解析器110、图3的文本解析器304、图4的设备402、系统400或其组合生成。中间解析树580可以对应于(例如,表示)部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")。

解析树582可由图3的文本解析器304、基于独立于域的规则的解析器412、图4的设备402、系统400或其组合来生成。例如,如本文所述,基于独立于域的规则的解析器412可以通过基于独立于域的解析规则470解析部分解析和加括号的输入文本480来生成解析文本482。解析树582可以对应于(例如,表示)解析文本482。

独立于域的解析规则470可以包括以下规则:

s→npvp

vp→vpp

pp→prepnp

np→detnom

np→nom

nom→n

nom→nnom

nom→adjnom

det→"the"

n→"patient"

v→"suffers"

prep→"from"

其中s对应于句子,np对应于名词短语,vp对应于动词短语,v对应于动词,pp对应于介词短语,prep对应于介词,det对应于限定词,nom对应于名词性的词,n对应于名词,adj对应于形容词。

独立于域的基于规则的解析器412可以通过根据独立于域的解析规则470解析部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")来生成解析文本482。例如,基于独立于域的规则的解析器412可以通过复制部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")来生成解析文本482。

独立于域的基于规则的语法解析器412在通过复制部分解析和加括号的输入文本480产生解析文本482之后,可以基于应用独立于域的解析规则470中的各种规则来更新解析文本482。例如,基于独立于域的规则的解析器412可以响应于基于独立于域的解析规则470中的规则(例如det→"the")确定部分解析和加括号的输入文本480的词语514(例如,"the")对应于词性(例如det),通过在词语514(例如,"the")周围添加短语标记(例如,[det])来更新解析文本482(例如,"[detthe]patientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")。基于独立于域的规则的解析器412可继续应用独立于域的解析规则470中的各种规则,以生成解析文本482(例如,"[s[np[detthe][nom[npatient]]][vp[vsuffers][pp][prepfrom][np[nom[adjhigh][nom[nblood][nom[ncholesterol]]]]]]]])。基于独立于域的规则的解析器412可以响应于确定解析文本482包括特定短语标记(例如,[s]),而确定对部分解析和加括号的输入文本480的解析是成功的。

输入文本414可以包括句法歧义。例如,词语422(例如,"high")可以是词语424(例如,"blood")和词语426(例如,"cholesterol")中的每一个的潜在修饰语。词典数据316可将词语426(例如,"cholesterol")指示为基本词语322,而非核心数据340可将词语422(例如,"high")指示为基本词语322的修饰语词语334。词典数据316可包括指示词语424为第二基本词语的第二条目。第二条目可以包括指示第二基本词语的一个或多个修饰语词语的第二非核心数据。词语422(例如,"high")可以不在第二基本词语(例如,"blood")的一个或多个修饰语词语中。响应于确定第二基本词语(例如,"blood")的一个或多个修饰语词语中不存在词语422(例如,"high"),域特定的词汇驱动的预解析器110可以避免将词语422(例如,"high")与基本词语(例如,"blood")一起分组。

域特定的词汇驱动的预解析器110可以对词语424(例如,"blood")和词语426(例如,"cholesterol")进行分组(例如,加括号)以生成第一分组词语(例如,"[bloodcholesterol]"),并且可以将词语422(例如,"high")与第一分组词语(例如,"[bloodcholesterol]")进行分组以生成第二分组词语(例如,"[high[bloodcholesterol]]"),如参考图4所描述的。部分解析和加括号的输入文本480(例如,"thepatientsuffersfrom[[adjhigh][[nblood][ncholesterol]]]")的第二分组词语(例如,"[high[bloodcholesterol]]")可以通过指示词语422修饰第一分组词语(例如,"[bloodcholesterol]")来解决句法歧义。因此,基于独立于域的规则的解析器412可以具有成功地解析部分解析和加括号的输入文本480的较高的可能性。

图6示出了图3的词典数据316的条目600。条目600可以由图1的词汇分析器108、图3的设备302、系统300或其组合生成。

条目600可以与图3的域320相关联。例如,词汇分析器108可以基于分析域特定语料库314来生成(或更新)条目600,如参考图3所描述的。在特定方面,条目600可以基于对与域320相关联的多个域特定文本(例如,文档)的分析。例如,词汇分析器108可以基于分析域特定语料库314的第一域特定的文本来生成(或更新)条目600中的一些条目,并且基于分析域特定语料库314的另一域特定的文本来生成(或更新)条目600中的一些条目。

条目600包括条目602、条目604、条目606和条目608。应当理解,这里使用四个条目作为说明性示例。词典数据316可包括四个条目、少于四个条目或多于四个条目。

条目602指示基本词语622(例如,"edema(水肿)、oedema(水肿)")。条目602包括基本词语622的替换拼写。例如,基本词语622可以具有第一拼写(例如,"edema")和第二拼写(例如,"oedema")。每种替换拼写在域320中都可以是有效的。条目602包括与基本词语622相关联的核心数据642和非核心数据662。核心数据642和非核心数据662分别指示独立于域的和域特定的信息。

条目604指示基本词语624(例如,"hypertension(高血压)")。条目604包括与基本词语624相关联的核心数据644和非核心数据664。条目606指示基本词语626(例如,"extremity(肢体)")。条目606包括与基本词语626相关联的核心数据646和非核心数据667。条目608指示基本词语628(例如,"triglyceride(甘油三酯)")。条目608包括与基本词语628相关联的核心数据648和非核心数据668。域特定的词汇驱动的预解析器110可以根据条目602-608中的一个或多个来处理输入文本,如参考图8进一步描述的。

图7示出了域特定解析规则370的示例。域特定解析规则370可由图1的词汇分析器108、图3的设备302、系统300或其组合生成。例如,词汇分析器108可以基于域特定语料库314、用户输入382或两者来生成域特定解析规则370,如本文所描述的。

域特定解析规则370可包括搭配规则702(例如,介词短语的右附件)。搭配规则702可以指示在对应的基本词语之后(例如,在基本词语右侧)的介词修饰语词语在域320中有效。词汇分析器108可以响应于确定在域特定语料库314中的对应的基本词语之后(例如,在基本词语右边)检测到至少阈值数量的介词词语而生成搭配规则702。例如,词汇分析器108可至少部分地基于确定在域特定语料库314中的基本词语322(例如,"cholesterol")之后(例如,在基本词语322右侧)检测到图3的修饰语词语344(例如,"in")而生成搭配规则702。替代地,词汇分析器108可以响应于确定用户输入382指示在对应的基本词语之后(例如,在基本词语右侧)的介词修饰语词语在域320中有效而生成搭配规则702。

域特定解析规则370可包括搭配规则704(例如,形容词短语的左附件)。搭配规则704可指示在相应的基本词语之前(例如,在基本词语左侧)的形容修饰语词语在域320中是有效的。词汇分析器108可以响应于确定在域特定的语料库314中的对应的基本词语之前(例如,在基本词语左侧)检测到至少阈值数量的形容词词语而生成搭配规则704。例如,词汇分析器108可以至少部分地基于确定在域特定语料库314中的基本词语322(例如,"cholesterol")之前(例如,在基本词语322左侧)检测到修饰语词语334(例如,"high"),来生成搭配规则704。备选地,词汇分析器108可以响应于确定用户输入382指示在对应的基本词语之前(例如,在基本词语左侧)的形容词修饰语词语在域320中有效而生成搭配规则704。

域特定解析规则370可包括语素语义规则706(例如,具有语义特征{low(低),high(高),elevated(提升的)}的标记<>前缀[hyper]))。语素语义规则706可指示具有特定语义特征(例如,低、高、提升的)的词语不是域320中具有特定前缀(例如,"hyper(超)")的基本词语的有效修饰语词语。

在特定方面,词汇分析器108可以基于分析域特定语料库314来生成语素语义规则706。例如,词汇分析器108可以确定在域特定语料库314的至少一部分中在具有特定前缀(例如,"hyper")的对应的基本词语之前(例如,在其左侧)检测到具有特定语义特征的第一数量(例如,0)的修饰语词语。词汇分析器108可响应于确定第一数量(例如,0)小于或等于阈值而生成语素语义规则706。在特定方面,词汇分析器108可以响应于确定配置设置、用户输入382、来自另一设备的数据或其组合指示要评估特定前缀和具有特定语义特征的词语之间的关系,来确定修饰语词语的第一数量(例如,0)。替代地,词汇分析器108可响应于确定用户输入382指示具有特定语义特征(例如,低、高、提升的)的词语不是域320中具有特定前缀(例如,"hyper")的基本词语的有效修饰语词语,而生成语素语义规则706。

域特定解析规则370可包括基于命名实体的模式规则708(例如,"releaseofvfromwbyxatywithz(由x在y时从w释放v与z)")。基于命名实体的模式规则708可以指示包括一个或多个命名实体(例如,v、w、x、y和z)的特定词语模式。例如,第一命名实体(例如,v)可以对应于第一语义类型(例如,person_name(人名)),第二命名实体(例如,w)可以对应于第二语义类型(例如,department_name(部门名)),第三命名实体(例如,x)可以对应于第三语义类型(例如,person_name(人名)),第四命名实体(y)可以对应于第四语义类型(例如,时间),并且第五命名实体(z)可以对应于第五语义类型(例如,person_name(人名))。

在特定方面,词汇分析器108可以基于分析域特定语料库314来生成基于命名实体的模式规则708。例如,词汇分析器108可以基于命名实体的模式检测技术来确定特定模式在域特定语料库314的至少一部分中出现第一次数(例如,5次)。词汇分析器108可以响应于确定第一次数(例如,5)大于或等于阈值(例如,2)而生成基于命名实体的模式规则708。在特定方面,词汇分析器108可以响应于确定配置设置、用户输入382、来自另一设备的数据或其组合指示要执行基于命名实体的模式检测,来确定第一次数(例如,5)。可替换地,词汇分析器108可以响应于确定用户输入382指示特定的基于命名实体的模式(例如,"releaseofvfromwbyxatywithz(由x在y时从w释放v与z)")在域320中有效,而生成基于命名实体的模式规则708。

域特定解析规则370可包括语义句法模式规则710(例如,[action(动作)][prep(介词)]{substance(物质)|drug(药物)}[prep(介词)]{agent(代理)}[prep(介词)]{location(位置)|measure(度量)})。语义句法模式规则710可以指示词语的特定模式,其中该模式指示一个或多个词语的短语类型和语义类型。例如,语义句法模式规则710(例如,[action][prep]{substance|drug}[prep]{agent}[prep]{location|measure})可以指示动作短语(例如,"prescribing(开处方)"),后面是第一介词(例如,"of"),后面是具有第一语义类型(例如,物质或药物)的第一词语(例如,"acetaminophen(醋氨酚)"),后面是第二介词(例如,"by"),后面是具有第二语义类型(例如,代理)的第二词语(例如,人名),后面是第三介词(例如,"at"或"of"),后面是具有第三语义类型(例如,位置或度量)的第三词语(例如,"诊所"或"10剂"),在域320中是有效的。

在特定方面,词汇分析器108可以基于分析域特定语料库314来生成语义句法模式规则710。例如,词汇分析器108可以基于语义句法模式检测技术来确定特定模式在域特定语料库314的至少一部分中出现第一次数(例如,3次)。词汇分析器108可以响应于确定第一次数(例如,3)大于或等于阈值(例如,2)来生成语义句法模式规则710。在特定方面,词汇分析器108可以响应于确定配置设置、用户输入382、来自另一设备的数据或其组合指示要执行语义句法模式检测来确定第一次数(例如,3)。替代地,词汇分析器108可以响应于确定用户输入382指示特定语义句法模式(例如,[action][prep]{substance|drug}[prep]{agent}[prep]{location|measure})在域320中有效,而生成语义句法模式规则710。域特定的词汇驱动的预解析器110可以根据域特定的解析规则370中的一个或多个来处理输入文本,如参考图8所进一步描述的。

图8示出了输入文本和相应的部分解析和加括号的输入文本的示例800。示例800包括输入文本802、输入文本804、输入文本806和输入文本810。

域特定的词汇驱动的预解析器110可通过处理输入文本802(例如,"thepatientsuffersfromhighcholesterol,triglycerides,andhypertension.")生成部分解析和加括号的输入文本882,如参考图4所述。如这里所述,域特定的词汇驱动的预解析器110可以至少部分地基于与基本词语322(例如,"cholesterol")相关联的条目318、与基本词语624(例如,"hypertension")相关联的条目604、与基本词语628(例如,"triglyceride")相关联的条目608、搭配规则704和语素语义规则706(例如,具有语义特征{低、高、提升的}的标记<>前缀[hyper]))来生成部分解析和加括号的输入文本882。

域特定的词汇驱动的预解析器110可以确定修饰语词语334("high")看起来修饰输入文本802中的基本词语322(例如"cholesterol")。域特定解析规则370可包括一个或多个列表规则(例如,list→listconjn、list→ncommalist、list→n,其中comma对应于","并且conj对应于"and")。域特定的词汇驱动的预解析器110可以基于一个或多个列表规则来确定基本词语322(例如,cholesterol)被包括在第一列表(例如,"cholesterol,triglycerides,andhypertension")、第二列表(例如,"cholesterol,triglycerides")和第三列表(例如,"cholesterol")中。

域特定解析规则370可以基于搭配规则704(例如,形容词短语的左附件)确定修饰语词语334(例如,"high")可以分别与第一列表、第二列表或第三列表一起加括号,以生成第一文本(例如,"thepatientsuffersfrom[high[cholesterol,triglycerides,andhypertension]].")、第二文本(例如,"thepatientsuffersfrom[high[cholesterol,triglycerides]],andhypertension.")或第三文本(例如,"thepatientsuffersfrom[high[cholesterol]],triglycerides,andhypertension.")。

域特定的词汇驱动的预解析器110可以基于与基本词语322(例如,"cholesterol")相关联的条目318、与基本词语624(例如,"hypertension")相关联的条目604、与基本词语628(例如,"triglycerides")相关联的条目608以及语素语义规则706(例如,具有语义特征{低、高、提升的}的标记<>前缀[hyper]))来解决歧义。例如,域特定的词汇驱动的预解析器110可确定语素语义规则706(例如,具有语义特征{低、高、提升的}的标记<>前缀[hyper])指示具有特定语义特征(例如,低、高、提升的)的词语是域320中具有特定前缀(例如,"hyper")的基本词语的无效修饰语词语。域特定的词汇驱动的预解析器110可以响应于确定基本词语624(例如,"hypertension")具有特定前缀(例如,"hyper")以及修饰语词语334(例如,"high")具有被指示为具有该特定前缀的基本词语的无效修饰语词语的语义特征(例如,高),来确定第一文本(例如,"thepatientsuffersfrom[high[cholesterol,triglycerides,andhypertension]].")在域320中是无效的。

响应于确定非核心数据340指示修饰语词语334(例如,"high")作为用于基本词语322(例如,"cholesterol")的有效修饰语词语并且非核心数据668指示修饰语334(例如,"high")作为用于基本词语628(例如,"triglycerides")的有效修饰语词语,域特定的词汇驱动的预解析器110可以确定第二文本(例如,"thepatientsuffersfrom[high[cholesterol,triglycerides]],andhypertension.")和第三文本(例如,"thepatientsuffersfrom[high[cholesterol]],triglycerides,andhypertension.")在域320中是有效的。

域特定的词汇驱动的预解析器110可以选择第二文本或第三文本之一作为部分解析和加括号的输入文本882。例如,域特定的词汇驱动的预解析器110可以响应于确定与第三文本相比在第二文本中有更多数量的词语与修饰语词语334分组在一起而选择第二文本。在特定方面,域特定的词汇驱动的预解析器110可响应于确定非核心数据668指示修饰语词语334(例如,high)是用于基本词语628(例如,"triglyceride")的优选域特定修饰语而选择第二文本。域特定的词汇驱动的预解析器110可输出第二文本作为部分解析和加括号的输入文本882(例如,"thepatientsuffersfrom[[adjhigh][[ncholesterol],[ntriglycerides]]],and[nhypertension].")。

域特定的词汇驱动的预解析器110可通过处理输入文本804(例如,"thepatienthasalowerextremityedema.")来生成部分解析和加括号的输入文本884,如参考图4所描述的。例如,如本文所述,域特定的词汇驱动的预解析器110可至少部分地基于与基本词语622(例如,"edema")相关联的条目602、与基本词语626(例如,"extremity")相关联的条目606以及搭配规则704来生成部分解析和加括号的输入文本884。

域特定的词汇驱动的预解析器110可以确定输入文本804包括基本词语622(例如,"edema")和基本词语626(例如,"extremity")。域特定的词汇驱动的预解析器110可以确定基本词语622(例如,"edema")在输入文本804中看起来修饰了基本词语626(例如,"extremity"),并且反之亦然。域特定的词汇驱动的预解析器110可确定对应于基本词语622(例如,"edema")的非核心数据662没有提到关于基本词语626(例如,"extremity")是否是有效的修饰语词语(例如,不包括基本词语626是有效的修饰语词语)的内容。域特定的词汇驱动的预解析器110可确定对应于基本词语626(例如,"extremity")的非核心数据667没有提到基本词语622(例如,"edema")是否是有效的修饰语词语(例如,不包括基本词语622是有效的修饰语词语)。响应于确定非核心数据662和非核心数据667没有提到基本词语626和基本词语622是否分别是彼此的有效修饰语词语,域特定的词汇驱动的预解析器110可以避免将基本词语626和基本词语622一起分组。

域特定的词汇驱动的预解析器110可以确定词语(例如"lower")看起来修饰了输入文本804中的基本词语626(例如"extremity")。响应于确定该词语(例如,"lower")在对应于基本词语626(例如,"extremity")的非核心数据667中被指示为有效修饰语词语,域特定的词汇驱动的预解析器110可以将该词语(例如,"lower")与基本词语626(例如,"extremity")一起分组(例如,加括号),以生成部分解析和加括号的输入文本884("thepatienthasa[[adjlower][nextremity]][nedema].")。

域特定的词汇驱动的预解析器110可通过处理输入文本806(例如,"releaseofmr.shahfromemergencyroombydr.smithat2pmwithmrs.shah")来生成部分解析和加括号的输入文本886,如参考图4所述。例如,域特定的词汇驱动的预解析器110可以至少部分地基于命名实体的模式规则708(例如,"releaseofvfromwbyxatywithz"),生成部分解析和加括号的输入文本886,如这里所描述的。

域特定的词汇驱动的预解析器110可以确定输入文本886满足基于命名实体的模式规则708所指示的模式。例如,响应于确定输入文本886包括第一词语(例如,"release"),之后是第二词语(例如,"of"),之后是一个或多个词语(例如,"mr.shah"),之后是第三词语(例如,"from"),之后是一个或多个词语(例如,"emergencyroom"),之后是第四词语(例如,"by"),之后是一个或多个词语(例如,"dr.smith"),之后是第五词语(例如,"at"),之后是一个或多个词语(例如,"2pm"),之后是第六词语(例如,"with"),之后是一个或多个词语(例如,"mrs.shah"),域特定的词汇驱动的预解析器110可以确定输入文本886与基于命名实体的模式规则708所指示的模式相匹配。

响应于确定输入文本886与基于命名实体的模式规则708所指示的模式相匹配,域特定的词汇驱动的预解析器110可以确定第二词语(例如,"of")和第三词语(例如,"from")之间的一个或多个词语(例如,"mr.shah")对应于与第一语义类型(例如,person_name(人名))相关联的第一命名实体(例如,v)。域特定的词汇驱动的预解析器110还可以确定第三词语(例如,"from")和第四词语(例如,"by")之间的一个或多个词语(例如,"emergencyroom")对应于与第二语义类型(例如,department_name(部门名称))相关联的第二命名实体(例如,w)。域特定的词汇驱动的预解析器110可以确定第四词语(例如,"by")和第五词语(例如,"at")之间的一个或多个词语(例如,"dr.smith")对应于与第三语义类型(例如,"person_name")相关联的第三命名实体(例如,x)。域特定的词汇驱动的预解析器110可确定第五词语(例如,"at")和第六词语(例如,"with")之间的一个或多个词语(例如,"2pm")对应于与第四语义类型(例如,时间)相关联的第四命名实体(y)。域特定的词汇驱动的预解析器110可确定第六词语(例如,"with")之后的一个或多个词语(例如,"mrs.smith")对应于与第五语义类型(例如,person_name)相关联的第五命名实体(z)。

域特定的词汇驱动的预解析器110可以生成部分解析和加括号的输入文本886,其指示所识别的命名实体。例如,部分解析和加括号的输入文本886(例如,"releaseof[vmr.shah]from[wemergencyroom]by[xdr.smith]at[y2pm]with[zmrs.shah]")可包括对应于每个命名实体的单独短语标记。

域特定的词汇驱动的预解析器110可通过处理输入文本808(例如,"prescribingofacetaminophenbydr.smithatemergencyroom")来生成部分解析和加括号的输入文本888,如参考图4所描述的。例如,域特定的词汇驱动的预解析器110可以至少部分地基于语义句法模式规则710(例如,[action][prep]{substance|drug}[prep]{agent}[prep]{location|measure})来生成部分解析和加括号的输入文本888,如本文所述。

域特定的词汇驱动的预解析器110可以确定输入文本888满足由语义句法模式规则710所指示的模式。例如,响应于确定输入文本888以语义句法模式规则710所指示的顺序包括与语义句法模式规则710所指示的语义类型相对应的至少一个词语,域特定的词汇驱动的预解析器110可以确定输入文本888与语义句法模式规则710所指示的模式相匹配。为了说明,域特定的词汇驱动的预解析器110可以确定输入文本888包括与由语义句法模式规则710指示的第一语义类型(例如,[action])相对应的第一词语(例如,"prescribing")。域特定的词汇驱动的预解析器110可以确定输入文本888包括与在第一语义类型(例如,[action])之后的由语义句法模式规则710所指示的第二语法类型(例如,[prep])相对应的第二词语(例如,"of")。

域特定的词汇驱动的预解析器110可以响应于确定输入文本888匹配由语义句法模式规则710指示的模式,生成指示句法类型、语义类型或其组合的所识别的实例的部分解析和加括号的输入文本888。例如,部分解析和加括号的输入文本888(例如,"[actionprescribing][prepof][drugacetaminophen][prepby][agentdr.smith][prepat][locationemergencyroom]")可包括对应于语义类型、句法类型或其组合中的每一个的单独的短语标记。域特定的词汇驱动的预解析器110可以将部分解析和加括号的输入文本882、部分解析和加括号的输入文本884、部分解析和加括号的输入文本886、部分解析和加括号的输入文本888或其组合提供给基于独立于域的规则的解析器412。

图9示出了用于执行域特定的词汇分析的方法900。方法900可由图1的词汇分析器108、节点10中的一个或多个、图3的系统300或其组合来执行。在特定方面,域特定分析96可以包括方法900的至少一部分。

方法900包括在902执行对域特定语料库的分析以识别基本词语和修饰语词语。例如,如参考图3所描述的,词汇分析器108可以执行对域特定语料库314的分析,以识别基本词语322和修饰语词语334。修饰语词语334可以修饰域特定语料库314的至少一部分中的基本词语322。

方法900还包括在904访问词典数据中的第一条目。例如,如参考图3所述,词汇分析器108可访问词典数据316中的条目318。条目318可以包括与基本词语322的独立于域的词汇信息相对应的核心数据330。

方法900还包括在906基于该分析将非核心数据添加到第一条目。例如,如参考图3所述,词汇分析器108可以基于该分析将非核心数据340添加到条目318。非核心数据340可以对应于针对基本词语322的域特定的词汇信息。非核心数据340将修饰语词语334识别为基本词语322的域特定的修饰语。

方法900因此可实现自动生成对应于基本词语的域特定信息并更新词典数据316以指示域特定信息。在特定实现中,方法900允许部分自动生成域特定信息、更新词典数据316或两者。例如,词汇分析器108可以向显示器提供提示,该提示指示非核心数据340将被添加到对应于基本词语322的条目318。词汇分析器108可以响应于接收到确认添加的用户输入而将非核心数据340添加到条目318。自动(或至少部分自动)生成域特定信息、更新词典数据316或两者可节省资源(例如,时间)、减少(例如,消除)错误、以及改进(例如,扩展)覆盖范围。

图10示出了用于执行词汇驱动的解析的方法1000。方法1000可由图1的域特定的词汇驱动的预解析器110、节点10中的一个或多个、文本解析器304、图3的系统300、图4的基于独立于域的规则的解析器412或其组合来执行。在特定方面,域特定分析96可以包括方法1000的至少一部分。

方法1000包括在1002在文本解析器处获得输入文本。例如,如参考图4所描述的,文本解析器304可以获得输入文本414。文本解析器304可以包括域特定的词汇驱动的预解析器110和基于独立于域的规则的解析器412。

方法1000还包括在1004识别输入文本中的第一词语。例如,如参考图4所述,域特定的词汇驱动的预解析器110可以识别输入文本414中的词语426。

方法1000还包括在1006访问词典数据以识别对应于第一词语的第一条目。例如,如参考图4所述,域特定的词汇驱动的预解析器110可以访问词典数据316以识别出对应于词语426的条目318。条目318可以包括核心数据330和非核心数据340。核心数据330可以对应于词语426的独立于域的词汇信息。非核心数据340可对应于词语426的域特定的词汇信息。

方法1000还包括在1008,在域特定的词汇驱动的预解析器处确定第一条目的非核心数据将输入文本中的第二词语识别为第一词语的修饰语。例如,如参考图4所述,域特定的词汇驱动的预解析器110可以确定条目318的非核心数据340将输入文本414中的词语424标识为词语426的修饰语。

方法1000还包括在1010,在域特定的词汇驱动的预解析器处生成输入文本的部分解析和加括号的版本。例如,如参考图4所述,域特定的词汇驱动的预解析器110可以产生部分解析和加括号的输入文本480(例如,输入文本414的部分解析和加括号的版本)。部分解析和加括号的输入文本480可以指示词语424修饰输入文本414中的词语426。

方法1000还包括在1012,在基于独立于域的规则的解析器处,基于输入文本的部分解析和加括号的版本生成输入文本的解析版本。例如,如参考图4所描述的,基于独立于域的规则的解析器412可以基于部分解析和加括号的输入文本480生成解析文本482(例如,输入文本414的解析版本)。

方法1000因此可以使得能够基于域特定的信息预先解析输入文本,以生成部分解析和加括号的输入文本。基于域特定信息的预解析可以在基于独立于域的信息的解析之前执行。例如,部分解析和加括号的输入文本可以准备用于基于独立于域的信息进行解析。部分解析和加括号的文本可以由基于独立于域的规则的解析器来解析。预解析可以减少(甚至消除)文本中的句法歧义,从而减少(或消除)经解析的文本中的解析错误。

图11是根据第一方面的计算环境的框图1100,该计算环境包括通过其可以实现所描述的系统的电子部件。图11中的组件支持根据本公开的计算机实现的方法和计算机可执行程序指令或代码的各方面。例如,计算设备1110或其部分可以执行指令以执行诸如关于图1的词汇分析器108所描述的域特定的词汇分析,执行诸如关于图1的域特定的词汇驱动的预解析器110所描述的域特定的预解析,或其组合。

在图11中,计算设备1110可以包括处理器1112、主存储器1114、输入/输出(i/o)适配器1146、非易失性存储器1118、存储器控制器1120、总线适配器1124、显示适配器1154、通信适配器1150和盘驱动器适配器1142。i/o适配器1146可以被配置成与一个或多个用户输入设备1148对接。例如,i/o适配器1146可以经由串行接口(例如,通用串行总线(usb)接口或电气和电子工程师协会(ieee)1394接口)、并行接口、显示适配器、音频适配器和其他接口进行通信。用户输入设备1148可以包括键盘、指示设备、显示器、扬声器、麦克风、触摸屏、磁场生成设备、磁场检测设备和其他设备。处理器1112可以基于经由i/o适配器1146接收的用户输入来检测交互事件。另外,处理器1112可以经由i/o适配器1146向显示设备发送图形用户界面(gui)和相关元素。

处理器1112可以包括词汇分析器108、域特定的词汇驱动的预解析器110或两者。主存储器1114可以包括易失性存储器设备(例如,随机存取存储器(ram)设备)、非易失性存储器设备(例如,只读存储器(rom)设备、可编程只读存储器和闪存)或两者。计算机1110的主存储器1114包括软件,诸如操作系统1132和软件应用1130。操作系统1132可以包括用于引导计算设备1110的基本/输入输出系统以及使计算设备1110能够与用户、其它程序和其它设备交互的完整操作系统。软件应用1130可以包括词汇分析应用1133、域特定的词汇驱动的预解析应用1135或两者。词汇分析应用1133可以包括词汇分析器108中的一个或多个、被包括在词汇分析器108中的一个或多个内或对应于词汇分析器108中的一个或多个。域特定的词汇驱动的预解析应用1135可以对应于域特定的词汇驱动的预解析器110。非易失性存储器1118可以包括存储器1106。存储器1106可以对应于图3的存储器306、图4的存储器406或两者。

显示适配器1154可以被配置为与显示设备1156对接。通信适配器1150可以被配置为与一个或多个网络1152对接。盘驱动器适配器1142可以被配置为与一个或多个数据存储设备1140对接。数据存储设备1140可以包括非易失性存储设备,诸如磁盘、光盘或闪存设备。数据存储设备1140可以包括可移动和不可移动的存储器设备。数据存储设备1140可以被配置为存储操作系统、操作系统的镜像、应用和程序数据。一个或多个总线1144或其他通信电路可以使计算机1110的各个组件能够彼此通信。

数据存储设备1140、主存储器1114、非易失性存储器1118、存储器1106或其组合可以包括计算机可读存储设备,其存储可由处理器1112执行以使处理器1112执行某些操作的指令。例如,操作可以包括执行对域特定语料库的分析以识别基本词语和修饰语,访问词典数据中的条目,以及将非核心数据添加到条目,该非核心数据将修饰语词语识别为基本词语的域特定修饰语。作为另一示例,操作可以包括获得输入文本,识别输入文本中的第一词语,访问词典数据以识别与第一词语相对应的条目,确定条目的非核心数据将输入文本的第二词语识别为第一词语的修饰语,生成指示第二词语修饰第一词语的输入文本的部分解析和加括号的版本,以及基于输入文本的部分解析和加括号的版本生成输入文本的解析版本。

在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及过程式编程语言—诸如“c”编程语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令可以使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的(一个或多个)逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1