用于自然语言处理的基于解析树的向量化

文档序号:1185104 发布日期:2020-09-22 浏览:3次 >En<

阅读说明:本技术 用于自然语言处理的基于解析树的向量化 (Parse tree based vectorization for natural language processing ) 是由 M·斯里瓦萨 R·K·甘蒂 林沇燮 S·斯里兰甘斯里达兰 A·帕利特 于 2020-01-09 设计创作,主要内容包括:本公开的实施例涉及用于自然语言处理的基于解析树的向量化。与叙述性文本的部分相对应的解析树被构造。解析树包括数据结构,数据结构根据语法将叙述性文本的部分的语义结构表示为一组标签。使用解析树中的标签作为焦点词,生成上下文窗口,上下文窗口包括在离焦点词的规定距离内的一组词,根据解析树的链路数目而确定的距离使一组词内的焦点词和上下文词分离。为焦点词和上下文词生成权重。使用权重,生成第一词的第一向量表示,第一词在叙述性文本的第二部分中。(Embodiments of the present disclosure relate to parse tree based vectorization for natural language processing. A parse tree is constructed that corresponds to portions of the narrative text. The parse tree includes a data structure that represents the semantic structure of the portion of the narrative text as a set of tags according to the grammar. A context window is generated using the tags in the parse tree as the focus word, the context window including a set of words within a specified distance from the focus word, the focus word and context word within the set of words being separated by a distance determined according to the number of links of the parse tree. Weights are generated for the focus word and context words. Using the weights, a first vector representation of a first word is generated, the first word being in a second portion of the narrative text.)

用于自然语言处理的基于解析树的向量化

政府权利

本发明是根据陆军研究处(ARO)授予的W911NF-16-3-0001在政府的支持下提出来的。政府在本发明中享有某些权利。

技术领域

本发明大体上涉及一种用于自然语言处理的向量化的方法、系统和计算机程序产品。更具体地,本发明涉及一种用于自然语言处理的基于解析树的向量化的方法、系统和计算机程序产品。

背景技术

向量化或嵌入是自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,在该NLP中,将叙述性文本的单元映射到实数的对应向量。叙述性文本的单元根据叙述性文本的语言的语法可以是词的部分(例如,词的根部分、最后一个‘s’被移除的复数名词)、词、短语、句子、一组句子或叙述性文本的另一个单元。除非明确消除了歧义,否则本文所使用的术语“词”指的是给定语言的叙述性文本的最小单元,模型为其确定了向量。术语“词”可以包括多于一个的自然语言词或只包括自然语言词的一部分。相似地,除非明确消除了歧义,否则本文所使用的术语“句子”指的是根据叙述性文本的语言的语法包括一个或多个词的叙述性文本的一部分。如本文所使用的,术语“句子”实际上可能只包括自然语言句子的一部分或包括多于一个的自然语言句子。

同样,虽然本文中的示例取自英语并且参考了英语的语法特征,但是本文所公开的技术同样适用于英语之外的语言。向量是叙述性文本的单元的表示。向量是实数的数组,通常在零与一之间,但并不限于此。数组具有很多维数,例如,300。然而,只要在训练和使用特定模型时向量范围和维数是一致的,准确的范围和维数便不重要。

为了用于NLP,向量被分配为使得共享共同上下文或称上下文的词具有靠近在一起的对应向量,如通过距离度量而测量的。一个这样的距离度量是余弦相似性。余弦相似性是由向量之间的角的余弦确定的在两个非零向量之间的相似性的度量。结果,在对应的向量上使用向量运算,可以简单地求解诸如类比等关系。例如,执行向量计算vec(“马德里”)-vec(“西班牙”)+vec(“法国”)会产生比任何其他词向量更接近vec(“巴黎”)的向量。同样,因为向量表示是数字而不是文本字符串,所以向量可以方便地被输入其他神经网络以执行其他NLP任务。例如,向量化有助于情绪分析、自然语言理解和分类。

用于分配向量的一组相关的神经网络模型被称为word2vec。这些模型通常是两层神经网络。一旦经过训练,这些模型便会将叙述性文本的大型语料库作为其输入并且将语料库中的每个唯一的词都分配给对应的向量,使得语料库中共享共同上下文的词具有相对应地相互接近的向量。

Doc2vec,即,word2vec概念的扩展,学习并产生词的文档特定的向量表示。换言之,doc2vec基于通用文本语料库之外的特定文档通过学习词的向量表示来扩展word2Vec模型。这在处理专业的叙述性文本时很有帮助,在该专业的叙述性文本中,一些词汇具有文档特定或领域特定的含义。也作为word2vec概念的扩展的其他模型,也学习并产生词、短语、句子和叙述性文本的其他单元的向量表示。

分配向量的模型必须在使用之前通过在叙述性文本中使用作为针对焦点词(focus word)的上下文的词来进行训练。模型通常使用来自叙述性训练文本的语料库的词对作为训练数据。每对的一半被称为焦点词。每对的另一半选自与焦点词相关联的线性上下文窗口。该线性上下文窗口包括叙述性文本中的句子内的词,这些词在离包含叙述性文本的文档中的焦点词的规定线性距离内。规定距离被称为上下文窗口的大小。使用以这种方式组合的数据进行的训练使用作为针对叙述性文本内的焦点词的上下文的词来训练模型。

例如,对于句子“The quick brown fox jumped over the lazy dog”,假设焦点词是“fox”。如果线性上下文窗口的大小等于2,则线性上下文窗口包括“quick”、“brown”、“jumped”和“over”。结果,训练数据对可以包括(fox,quick)、(fox,brown)、(fox,jumped)和(fox,over)。如果线性上下文窗口的大小等于3,则线性上下文窗口还包括“the”的第一实例和第二实例,并且训练数据对还可以包括(fox,the)的两个实例。

上下文窗口可以是恒定的或动态的。当使用恒定的上下文窗口时,所有训练数据对都以同样的方式进行加权,不管离焦点词的距离。因此,继续使用恒定的线性上下文窗口的示例,(fox,quick)和(fox,brown)两者会具有相同的权重,即使在句子中“quick”比“brown”离“fox”更远。

相比之下,当使用动态的上下文窗口时,训练数据对根据离焦点词的距离以不同的方式进行加权。使用动态的上下文窗口反映了以下观察:当评价叙述性文本内的焦点词时,离焦点词近的词往往比离焦点词远的词更重要。

一种动态的上下文窗口方法对训练对进行与离焦点词的距离成反比的加权。例如,对于3的上下文窗口大小,包括与焦点词相邻的词的训练对会被加权为3/3或1,包括从焦点词往外的下一个词的训练对会被加权为2/3或0.67,并且包括从焦点词往外的下一个词的训练对会被加权为1/3或0.33。因此,继续使用大小为3的动态的线性上下文窗口的示例,(fox,quick)会具有权重1/3,而(fox,brown)会具有权重2/3,因为在句子中“quick”比“brown”离“fox”更远。

另一种动态的上下文窗口方法根据离焦点词的距离对训练对进行加权,其中,针对在离焦点词的距离k处的词的权重等于exp(-alpha*k),其中,alpha是常数。

解析树是有序的根树,其根据语法表示叙述性文本的部分的语义结构。树的每个节点是标签。每个标签包括标记并且可选地包括叙述性文本的词。树的非终端节点的标记描述节点下面的一组节点。终端节点(即,没有下级节点的节点)的标记描述节点本身。例如,句子的解析树可以包括具有句子标记的根节点、在根正下方被标记为名词短语和动词短语的节点以及描述名词短语和动词短语中的每个词的终端节点。

发明内容

说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括一种方法,该方法构造与叙述性文本的部分相对应的解析树,其中解析树包括数据结构,该数据结构根据语法将叙述性文本的部分的语义结构表示为一组标签。实施例使用解析树中的标签作为焦点词来生成上下文窗口,该上下文窗口包括在离焦点词的规定距离内的一组词,根据解析树的链路数目而被确定的距离使一组词中的焦点词和上下文词分离。实施例为焦点词和上下文词生成权重。实施例使用权重生成第一词的第一向量表示,第一词在叙述性文本的第二部分内。

实施例包括一种计算机可用的程序产品。计算机可用的程序产品包括一个或多个计算机可读存储设备以及被存储在一个或多个存储设备中的至少一个上的程序指令。

实施例包括一种计算机系统。计算机系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备以及程序指令,这些程序指令被存储在一个或多个存储设备中的至少一个存储设备上,以用于由一个或多个处理器中的至少一个处理器经由一个或多个存储器中的至少一个存储器执行。

附图说明

被认为是本发明的特性的某些新颖特征在所附权利要求中进行了阐述。然而,在结合附图阅读时,通过参考下面对说明性实施例的详细说明,将最好地理解本发明本身及其优选的使用模式、进一步的目标和优点,在附图中:

图1描绘了可以实现说明性实施例的数据处理系统的网络的框图;

图2描绘了可以实现说明性实施例的数据处理系统的框图;

图3描绘了根据说明性实施例的用于自然语言处理的基于解析树的向量化的示例配置的框图;

图4描绘了根据说明性实施例的结合用于自然语言处理的基于解析树的向量化的解析树生成的示例;

图5描绘了根据说明性实施例的结合用于自然语言处理的基于解析树的向量化的解析树生成的另一示例;

图6描绘了根据说明性实施例的使用用于自然语言处理的基于解析树的向量化来训练数据生成的示例;

图7描绘了根据说明性实施例的使用用于自然语言处理的基于解析树的向量化来训练数据生成的另一示例;

图8描绘了根据说明性实施例的使用用于自然语言处理的基于解析树的向量化来训练数据生成的另一示例;以及

图9描绘了根据说明性实施例的用于自然语言处理的基于解析树的向量化的示例过程的流程图。

具体实施方式

说明性实施例认识到,使用在句子中的焦点词之前和之后的词根据线性上下文组合训练数据不能考虑句子的底层结构。一些类型的文档中的句子可以主要是长的、复杂的,或包括复合短语。如果上下文窗口与用于训练的叙述性文本内的语法单元的典型大小相比起来相对较短,则上下文窗口可能无法捕获在语料库中的许多词周围的完整上下文。类似地,其他类型的文档内的句子可以主要是短的、简单的,或没有很多名词或动词修饰语。如果上下文窗口与用于训练的叙述性文本内的语法单元的典型大小相比起来相对较长,则上下文窗口可以捕获无关的词,从而削弱在语料库中的许多词周围的上下文。

例如,考虑句子“The dollar has hit its highest level against the euroin almost three months after the Federal Reserve head said the US tradedeficit is set to stabilize”。如果焦点词是“euro”,则需要大小为8的上下文窗口来捕获“euro”与“dollar”之间的关系。然而,如果语料库多半包含短的句子——例如,“The catsat on the mat”——则大小为8的上下文窗口太大而不能有效地捕获上下文。

然而,基于文档类型调整上下文窗口的大小需要文档特定的或文档类型特定的分析和实验,增加附加的时间、费用和人类专家时间来训练向量化模型。因此,说明性实施例认识到,需要基于考虑句子结构的度量来确定上下文窗口。

说明性实施例认识到,目前可用的工具或解决方案不能满足这些需求或为这些需求提供足够的解决方案。用于描述本发明的说明性实施例通常处理并解决上述问题以及与用于自然语言处理的基于解析树的向量化相关的其他问题。

实施例可以被实现为软件应用。实现实施例的应用可以被配置为对现有向量化系统的修改、结合现有向量化系统操作的单独应用、独立应用或它们的某种组合。

特别地,一些说明性实施例提供了一种方法,通过该方法,基于解析树距离而不是上下文窗口大小的向量化训练数据可以被组合和用于训练向量化模型。

为了从训练文本的语料库生成向量化训练数据,实施例构造与语料库相对应的解析树。在一个实施例中,解析树表示整个语料库。另一实施例将语料库分成部分并且为每个部分构造单独的解析树。部分可以是单个句子、段落、文档小节或语料库的另一子集,例如,用于语料库的特定语言的不同语法结构。

几种不同类型的解析树生成技术对本领域的普通技术人员而言是众所周知的。例如,自顶向下解析技术开始于一组语法规则,然后确定输入文本的哪些特定词和短语符合这些规则。自底向上解析技术开始于输入文本的词,并且确定哪些语法规则适用于特定词。自顶向下和自底向上技术的组合也是可能的。

例如,考虑语料库内的句子:“In addition to skiing another popularattraction is hot air ballooning”。使用一个特定的解析树标记方案,这个句子的对应解析树是:

其中,每个首字母大写的词是节点标记,并且每个句子首单词首字母大写的词是来自叙述性文本的词。特别地,ROOT表示树的根,S表示简单的声明性子句,PP表示介词短语,IN表示介词,NP表示名词短语,NN表示名词,TO表示词“to”,DT表示限定词,JJ表示形容词,VP表示动词短语,以及VBZ表示第三人称单数形式的动词。因此,例如,词“skiing”是单数名词,其也是名词短语中唯一的词。“Hot air ballooning”是另一个名词短语,由限定词“hot”、名词“air”和名词“ballooning”组成。

作为另一个示例,考虑更复杂的句子“The dollar has hit its highest levelagainst the euro in almost three months after the Federal Reserve head saidthe US trade deficit is set to stabilize”。使用相同的解析树标记方案,这个句子的对应解析树是:

Figure BDA0002361532290000072

其中,除了本文所定义的标记,PRP$表示所有格代名词,JJS表示最高级形容词,RB表示副词,CD表示基数,NNS表示复数名词,SBAR表示由从属连词引入的子句,并且VBD表示过去式动词。

实施例选择解析树的标签或节点作为焦点词。实施例还确定相对于焦点词的上下文窗口。特别地,上下文窗口不是根据句子内的线性距离,而是根据使焦点词和上下文窗口内的词分离的解析树的链路数目来确定的。为了对使解析树中的标签分离的多个链路进行计数,实施例开始于起始节点并且视情况向上或向下行进到目的地节点。每当实施例从节点行进到节点的父节点或子节点时,如果下一个节点是非空的,则链路计数递增1。

因此,示例句子“The dollar has hit its highest level against the euroin almost three months after the Federal Reserve head said the US tradedeficit is set to stabilize”具有本文描述的对应解析树。如果焦点词是“euro”,则“its”、“highest”、“level”、“against”、“the”和“in”全部都远离“euro”一个链路。因此,如果上下文窗口的大小为1,则“its”、“highest”、“level”、“against”、“the”和“in”全部都在上下文窗口内。“Hit”、“almost”、“three”和“months”全部都远离“euro”两个链路。因此,如果上下文窗口的大小为2,则“Hit”、“almost”、“three”和“months”也在上下文窗口内。而且,“has”远离“euro”三个链路。因此,如果上下文窗口的大小为3,则“has”也在上下文窗口内。

实施例生成训练数据对。每对的一半为焦点词。每对的另一半是在焦点词的上下文窗口内的词。

实施例生成与每对训练数据相对应的权重。在一个实施例中,所有训练数据对以相同的方式进行加权——例如,用等于1的权重。在另一个实施例中,权重基于焦点词与上下文词之间的距离(依据解析树的链路)而变化。

在一个实施例中,权重等于上下文窗口大小减去解析树距离,再除以上下文窗口大小。因此,对于大小为3的上下文窗口,远离焦点词一个链路的上下文词的权重是3/3,远离焦点词两个链路的上下文词的权重是2/3,并且远离焦点词三个链路的上下文词的权重是1/3。

在另一个实施例中,权重随着与焦点词之间的解析树距离以指数的方式减小。其他加权方案也是可能的并且被预期在说明性实施例的范围内。

实施例使用经过加权的训练数据对来训练编码神经网络,以基于词的语义相似性确定词的向量表示。特别地,在训练期间,实施例将经过加权的训练数据对应用于编码神经网络的输入。网络学习彼此相似的训练数据对。然后,一旦网络经过训练,经过训练的网络内的权重便确定输入词的向量表示。备选地,实施例基于解析树距离生成经过加权的训练数据对,然后将生成的训练数据解析成现有技术实现,以执行实际训练。

本文描述的用于自然语言处理的基于解析树的向量化的方式在关于自然语言处理的尝试的技术领域中的目前可用的方法中是不可用的。本文所描述的实施例的方法在被实现为在设备或数据处理系统上执行时包括此设备或数据处理系统在基于离焦点词的解析树距离生成训练数据方面的功能性的重大进展。

说明性实施例是关于某些类型的词、部分词、子句、句子、叙述性文本的单元、解析树、距离、上下文窗口、向量、嵌入、数据处理系统、环境、组件和应用来描述的,仅作为示例。这些和其他类似的工件的任何具体表现都并不旨在限制本发明。这些和其他类似的工件的任何合适表现都可以在说明性实施例的范围内被选择。

此外,说明性实施例可以关于任何类型的数据、数据源或通过数据网络对数据源的访问而被实现。在本发明的范围内,任何类型的数据存储设备都可以在本地的数据处理系统或通过数据网络将数据提供给本发明的实施例。在说明性实施例的范围内,在使用移动设备描述实施例的情况下,适合与移动设备一起使用的任何类型的数据存储设备都可以在本地的移动设备或通过数据网络将数据提供给这种实施例。

说明性实施例使用特定的代码、设计、架构、协议、布局、示意图和工具仅作为示例而被描述,并且不限于说明性实施例。此外,为了清楚地描述,说明性实施例在一些实例中使用特定的软件、工具和数据处理环境仅作为示例而被描述。说明性实施例可以与其他可比较的或类似目的的结构、系统、应用或架构结合使用。例如,在本发明的范围内,其他可比较的移动设备、结构、系统、应用或架构因此可以与本发明的这种实施例结合使用。说明性实施例可以被实现在硬件、软件或其组合中。

本公开中的示例仅用于清楚地描述的目的并且不限于说明性实施例。附加的数据、操作、动作、任务、活动和操纵将从本公开可获得,并且被预期在说明性实施例的范围内。

本文列出的任何优点都只是示例并且不旨在限制说明性实施例。附加或不同的优点可以通过特定的说明性实施例来实现。此外,特定的说明性实施例可能具有上面列出的优点中的一些、全部或都不具有这些优点。

参照附图并且特别地参照图1和图2,这些图是可以实现说明性实施例的数据处理环境的示例图。图1和图2仅仅是示例并且不旨在断言或暗示关于可以实现不同的实施例的环境的任何限制。特定的实现可以基于下面的描述对所描绘的环境进行许多修改。

图1描绘了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是可以实现说明性实施例的计算机的网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如,电线、无线通信链路或光纤电缆。

客户端或服务器只起到连接至网络102的某些数据处理系统的示例作用并且不旨在排除针对这些数据处理系统的其他配置或作用。服务器104和服务器106耦合至网络102以及存储单元108。软件应用可以在数据处理环境100中的任何计算机上执行。客户端110、112和114也被耦合至网络102。数据处理系统,诸如,服务器104或106或客户端110、112或114,可以包含数据并且可以具有在其上执行的软件应用或软件工具。

仅作为示例,并且没有暗示对这种架构的任何限制,图1描绘了可用于实施例的示例实现的某些组件。例如,服务器104和106以及客户端110、112、114仅作为示例被描绘成服务器和客户端,并且没有暗示对客户端-服务器架构的限制。作为另一个示例,如图所示,实施例可以分布在多个数据处理系统和数据网络中,而在说明性实施例的范围内,另一个实施例可以被实现在单个数据处理系统上。数据处理系统104、106、110、112和114也表示集群、分区和适合于实现实施例的其他配置中的示例节点。

设备132是本文所描述的设备的示例。例如,设备132可以采用智能手机、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一个数据处理系统中执行的任何软件应用都可以被配置为以相似的方式在设备132中执行。被存储在图1中的另一个数据处理系统中或在其中产生的任何数据或信息都可以被配置为以相似的方式被存储在设备132中或在其中产生。

应用105实现本文所描述的实施例。应用105使用NLP引擎134以本文所描述的方式执行NLP相关的任务。

服务器104和106、存储单元108、客户端110、112和114以及设备132可以使用有线连接、无线通信协议或其他合适的数据连接性耦合至网络102。例如,客户端110、112和114可以是个人计算机或网络计算机。

在所描绘的示例中,服务器104可以将数据(诸如,启动文件、操作系统图像和应用)提供给客户端110、112和114。在该示例中,客户端110、112和114可以是到服务器104的客户端。客户端110、112和114或其某种组合可以包括它们自己的数据、启动文件、操作系统图像和应用。数据处理环境100可以包括附加的服务器、客户端和未示出的其他设备。

在所描绘的示例中,数据处理环境100可以是互联网。网络102可以表示使用传输控制协议/互联网协议(TCP/IP)和其他协议彼此通信的网络和网关的集合。互联网的核心是主要节点或主机计算机之间的数据通信链路的主干网,包括路由传送数据和消息的数以千计的商业、政府、教育和其他计算机系统。当然,数据处理环境100也可以被实现为多种不同类型的网络,诸如,例如,内联网、局域网(LAN)或广域网。图1旨在作为示例,而不是作为对不同的说明性实施例的架构限制。

除了其他用途,数据处理环境100可以用于实现可以实现说明性实施例的客户端-服务器环境。客户端-服务器环境使得软件应用和数据能够分布在网络中,以便应用通过使用客户端数据处理系统与服务器数据处理系统之间的交互性来运行。数据处理环境100也可以采用面向服务的架构,其中,分布在网络中的可互操作的软件组件可以被封装在一起作为一致的业务应用。数据处理环境100也可以采用云的形式,并且采用服务交付的云计算模型,其能够实现对可配置的计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便且按需的网络访问,这些可配置的计算资源能够用最少的管理工作或与服务的提供商的交互而被快速供应和发布。

参照图2,此图描绘了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,诸如,图1中的服务器104和106或客户端110、112和114、或者针对说明性实施例实现过程的计算机可用的程序代码或指令可能位于的另一种类型的设备。

数据处理系统200也代表数据处理系统或其中的配置,诸如,图1中的数据处理系统132,实现说明性实施例的过程的计算机可用的程序代码或指令可能位于该数据处理系统132中。数据处理系统200被描述为计算机,仅作为示例,但并不限于此。其他设备形式的实现,诸如,图1中的设备132,可以修改数据处理系统200,诸如,通过添加触摸界面,并且甚至从数据处理系统200消除某些所描绘的组件,而不脱离对本文所描述的数据处理系统200的操作和功能的一般描述。

在所描绘的示例中,数据处理系统200采用集线器架构,该集线器架构包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210被耦合至北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)被耦合至NB/MCH 202。

在所描绘的示例中,局域网(LAN)适配器212被耦合至南桥和I/O控制器集线器(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其他端口232以及PCI/PCIe设备234通过总线238被耦合至南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)和CD-ROM 230通过总线240被耦合至南桥和I/O控制器集线器204。例如,PCI/PCIe设备234可以包括以太网适配器、***卡和用于笔记型计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。例如,ROM 224可以是闪存二进制输入/输出系统(BIOS)。例如,硬盘驱动器226和CD-ROM 230可以使用集成驱动电子设备(IDE)、串行高级技术附件(SATA)接口或变型,诸如,外部SATA(eSATA)和微型SATA(mSATA)。超级I/O(SIO)设备236可以通过总线238被耦合至南桥和I/O控制器集线器(SB/ICH)204。

存储器,诸如,主存储器208、ROM 224或闪速存储器(未示出),是计算机可用的存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM 230和其他用途类似的设备是包括计算机可用的存储介质的计算机可用的存储设备的一些示例。

操作系统在处理单元206上运行。操作系统协调和提供对图2中的数据处理系统200中的各个组件的控制。操作系统可以是任何类型的计算平台的商用操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象的或其他类型的编程系统可以与操作系统结合操作并且从在数据处理系统200上执行的程序或应用向操作系统提供调用。

操作系统、面向对象的编程系统和应用或程序(诸如,图1中的应用105)的指令位于存储设备上,诸如,以硬盘驱动器226上的代码226A的形式,并且可以被加载到一个或多个存储器中的至少一个(诸如,主存储器208)中,以用于由处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,这些计算机实现的指令可以位于存储器(诸如,例如,主存储器208、只读存储器224)中或位于一个或多个***设备中。

此外,在一种情况下,代码226A可以通过网络201A从远程系统201B下载,其中,类似的代码201C被存储在存储设备201D上。在另一种情况下,代码226A可以通过网络201A被下载到远程系统201B,其中,所下载的代码201C被存储在存储设备201D上。

图1至图2中的硬件可能根据实现变化。除了或代替图1至图2中所描绘的硬件,可以使用其他内部硬件或***设备,诸如,闪速存储器、等同的非易失性存储器或光盘驱动器等。另外,说明性实施例的过程可以被应用于多处理器数据处理系统。

在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),该PDA通常配置有闪速存储器以提供非易失性存储器来存储操作系统文件和/或用户生成的数据。总线系统可以包括一个或多个总线,诸如,系统总线、I/O总线和PCI总线。当然,总线系统可以使用提供在附接到结构或架构的不同组件或设备之间的数据传输的任何类型的通信结构或架构来实现。

通信单元可以包括用于发送和接收数据的一个或多个设备,诸如,调制解调器或网络适配器。例如,存储器可以是主存储器208或缓存,诸如,在北桥和存储器控制器集线器202中找到的缓存。处理单元可以包括一个或多个处理器或CPU。

图1至图2中所描绘的示例和上述示例并不旨在暗示架构限制。例如,除了采用移动或可穿戴设备的形式,数据处理系统200也可以是平板计算机、膝上型计算机或电话设备。

在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所描绘的一些或全部组件的虚拟化表现以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206表现为主机数据处理系统中可用的全部或一些硬件处理单元206的虚拟化实例,主存储器208表现为可以在主机数据处理系统中可用的主存储器208的全部或一些部分的虚拟化实例,并且磁盘226表现为可以在主机数据处理系统中可用的磁盘226的全部或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。

参照图3,此图描绘了根据说明性实施例的用于自然语言处理的基于解析树的向量化的示例配置的框图。应用300是图1中的应用105的示例并且在图1中的任何服务器104和106、客户端110、112和114以及设备132中执行。

应用300将叙述性训练文本的语料库作为输入,并且产生一组对应的训练数据作为输出。特别地,解析树生成模块310构造与语料库相对应的解析树。在一种实现中,模块310生成表示整个语料库的解析树。在另一种实现中,模块310将语料库分成各部分并且为每个部分构造单独的解析树。部分可以是单个句子、段落、文档小节或语料库的另一个子集。模块310使用任何合适的解析树生成技术,诸如,自顶向下、自底向上或组合技术。

上下文窗口生成模块320选择解析树的标签或节点作为焦点词。模块320还确定相对于焦点词的上下文窗口。特别地,根据使焦点词与上下文窗口内的词分离的解析树的链路数目确定上下文窗口。

加权训练数据生成模块330生成训练数据对。对的一半为焦点词。对的另一半是在焦点词的上下文窗口内的词。模块330也生成与每对训练数据相对应的权重。

参照图4,此图描绘了根据说明性实施例的结合用于自然语言处理的基于解析树的向量化的解析树生成的示例。图3中的应用300可以用于生成所描绘的解析树。

句子410是语料库内的示例性句子:“In addition to skiing another popularattraction is hot air ballooning”。应用300使用一个特定解析树标记方案从句子410产生解析树420,该解析树标记方案是:

Figure BDA0002361532290000161

Figure BDA0002361532290000171

其中,每个首字母大写的词是节点标记并且每个句子首单词首字母大写的词是来自叙述性文本的词。特别地,ROOT表示树的根,S表示简单的声明性子句,PP表示介词短语,IN表示介词,NP表示名词短语,NN表示名词,TO表示词“to”,DT表示限定词,JJ表示形容词,VP表示动词短语,并且VBZ表示第三人称单数形式的动词。因此,在解析树420中,词“skiing”是单数名词,其也是名词短语中唯一的词。“Hot air ballooning”是另一个名词短语,由限定词“hot”、名词“air”和名词“ballooning”组成。

参照图5,此图描绘了根据说明性实施例的结合用于自然语言处理的基于解析树的向量化的解析树生成的另一个示例。图3中的应用300可以用于生成所描绘的解析树。

句子510是语料库中的示例性句子“The dollar has hit its highest levelagainst the euro in almost three months after the Federal Reserve head saidthe US trade deficit is set to stabilize”。对于这个句子,使用相同的解析树标记方案,对应的解析树,即,解析树520,是:

Figure BDA0002361532290000172

其中,除了本文所定义的标记,PRP$表示所有格代名词,JJS表示最高级形容词,RB表示副词,CD表示基数,NNS表示复数名词,SBAR表示由从属连词引入的子句,并且VBD表示过去式动词。

参照图6,此图描绘了根据说明性实施例的使用用于自然语言处理的基于解析树的向量化训练数据生成的示例。句子510和解析树520与图5中的句子510和解析树520相同并且可以使用图3中的应用300来生成。

句子510和解析树520内的示例性焦点词602是“euro”。在解析树520中,“its”、“highest”、“level”、“against”、“the”和“in”全部远离“euro”一个链路。上下文窗口604的大小为1,因此,“its”、“highest”、“level”、“against”、“the”和“in”全部都在上下文窗口604内。

训练数据606描绘与焦点词602和上下文窗口604中的词相对应的训练数据对,其各自具有对应的权重。训练数据606使用格式(焦点词、上下文词、权重)。因为上下文窗口604的大小为1,所以训练数据606中的每对都有相等的权重——在这里设置为1。

参照图7,此图描绘了根据说明性实施例的使用用于自然语言处理的基于解析树的向量化训练数据生成的另一个示例。句子510、解析树520和焦点词602与图6中的句子510、解析树520和焦点词602相同并且可以使用图3中的应用300来生成。

句子510和解析树520内的示例性焦点词602是“euro”。在解析树520中,“its”、“highest”、“level”、“against”、“the”和“in”全部远离“euro”一个链路。“Hit”、“almost”、“three”和“months”全部远离“euro”两个链路。上下文窗口704的大小为2,因此,“its”、“highest”、“level”、“against”、“the”、“in”、“hit”、“almost”、“three”和“months”全部在上下文窗口704内。

训练数据706描绘与焦点词602和上下文窗口704中的词相对应的训练数据对,其各自具有对应的权重。训练数据706使用格式(焦点词、上下文词、权重)。应用300已经被配置为对所有训练数据对进行相等的加权,不管与焦点词602的解析树距离。因此,训练数据706内的每对具有相等的权重——在这里设置为1。

参照图8,此图描绘了根据说明性实施例的使用用于自然语言处理的基于解析树的向量化训练数据生成的另一个示例。句子510、解析树520和焦点词602与图6中的句子510、解析树520和焦点词602相同并且可以使用图3中的应用300来生成。

句子510和解析树520内的示例性焦点词602是“euro”。在解析树520中,“its”、“highest”、“level”、“against”、“the”和“in”全部远离“euro”一个链路。“Hit”、“almost”、“three”和“months”全部远离“euro”两个链路。而且,“has”远离“euro”三个链路。上下文窗口804的大小为3,因此,“its”、“highest”、“level”、“against”、“the”、“in”、“hit”、“almost”、“three”、“months”和“has”全部在上下文窗口804内。

训练数据806描绘与焦点词602和上下文窗口804中的词相对应的训练数据对,其各自具有对应的权重。训练数据806使用格式(焦点词、上下文词、权重)。应用300已经被配置为根据表达式权重=(上下文窗口大小-解析树距离)/上下文窗口大小对训练数据对进行加权。因此,离焦点词804一个解析树链路的上下文词的权重是3/3,离焦点词804两个链路的上下文词的权重是2/3,并且离焦点词804三个链路的上下文词的权重是1/3。

参照图9,此图描绘了根据说明性实施例的用于自然语言处理的基于解析树的向量化的示例过程的流程图。过程900可以被实现在图3中的应用300中。

在框902中,应用构造根据语法表示叙述性文本的部分的语义结构的解析树。在框904中,应用选择叙述性文本的部分内的焦点词。在框906中,应用生成在焦点词的规定距离内的上下文词的上下文窗口,其中,该距离由使焦点词和上下文词分离的解析树的多个链路确定。在框908中,应用为焦点词-上下文词对生成权重。在框910中,应用将焦点词、上下文词和权重作为集合应用于训练编码神经网络,以根据语义相似性将词转换为向量表示。然后,应用结束。

因此,在说明性实施例中,提供用于自然语言处理的基于解析树的向量化和其他相关特征、功能或操作的计算机实现的方法、系统或装置、以及计算机程序产品。在关于一种类型的设备描述其实施例或部分的情况下,计算机实现的方法、系统或装置、计算机程序产品、或其部分适用于或配置为与此类型的设备的合适的且可比较的表现一起使用。

在实施例被描述为实现在应用中的情况下,应用在软件即服务(SaaS)模型中的交付被预期在说明性实施例的范围内。在SaaS模型中,通过在云基础架构中执行应用向用户提供应用实现实施例的能力。用户可以通过瘦客户端界面,诸如,web浏览器(例如,基于web的电子邮件)、或者其他轻量级客户端应用,使用各种客户端设备来访问应用。用户不管理或控制底层云基础架构,包括网络、服务器、操作系统或云基础架构的存储装置。在一些情况下,用户可能甚至不能管理或控制SaaS应用的能力。在一些其他情况下,应用的SaaS实现可以允许有限的用户特定的应用配置设置的可能异常。

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

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

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

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

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

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

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

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

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:XBRL报告核对方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!