语境化文本描述

文档序号:1253140 发布日期:2020-08-21 浏览:12次 >En<

阅读说明:本技术 语境化文本描述 (Contextualized text description ) 是由 D.维尔科斯基 C.赖斯威格 S.金 H.T.丁 于 2019-11-13 设计创作,主要内容包括:各种示例涉及分类文本的系统和方法。计算装置可以从数据库存取包括有序单词的第一集合的输入样本。计算装置可以使用单词级语言模型生成输入样本的第一语言模型特征向量,并且使用部分单词级语言模型生成输入样本的第二语言模型特征向量。计算装置可以使用目标模型、输入样本、第一语言模型特征向量、和第二语言模型特征向量生成输入样本的描述符;以及将输入样本的描述符写入到数据库。(Various examples relate to systems and methods of classifying text. The computing device may access an input sample comprising a first set of ordered words from a database. The computing device may generate a first language model feature vector of the input sample using the word-level language model and a second language model feature vector of the input sample using the partial word-level language model. The computing device may generate a descriptor of the input sample using the target model, the input sample, the first language model feature vector, and the second language model feature vector; and writing the descriptors of the input samples to the database.)

具体实施方式

以下描述包含实施说明性实施例的说明性系统、方法、技术、指令序列、和计算机器程序产品。在以下的描述中,出于解释的目的,提出许多具体细节以便提供对发明的主题的实施例的理解。然而,将显而易见的是,本领域技术人员可以在没有这些具体细节的情况下实践发明的主题的实施例。通常,众所周知的指令实例、协议、结构以及技术没有详细地示出。

本文所描述的各种示例是使用目标模型和多个语言模型来改善自然语言处理,该多个语言模型具有在不同级(例如单词级、子单词级和/或字符级)处操作的不同语言模型。自然语言处理任务(诸如键值提取、概括、情感分析等)包含使用计算装置来确定根据人类语言布置的一个或多个单词的含义。

在输入样本上操作的自然语言处理任务操作包含单词的有序集合的输入样本。单词可以是对由空格分开的字符的选择。考虑以下样本:

样本1:

“She made a deposit to her bank account”。

样本1包括单词“She”、“made”等。每个单词包括用空格分开的一个或多个字符。例如,单词“made”包含由空格与样本中的前一个单词(She)和样本的下一个单词(a)分开的字符的集合。

在人类语言中,一个或多个单词的含义经常取决于单词使用的语境。将以下样本与以上样本1结合进行考虑:

样本2:

“He sat down on the bank of the stream”。

样本1和样本2两者包括单词的有序集合。单词“bank”在样本1和样本2中具有不同含义。在样本1中,单词“bank”是指金融机构。在样本2中,单词“bank”是指在河或湖附近的陆地区域。含义的差异根据样本中的其他单词是可辨别的。在样本1和2的示例中,每个单词仅包含字母字符,但是在其他示例中字符串还可以包括附加于字母字符的或除字母字符之外的数字和/或其他字符。

当执行自然语言处理任务时,计算装置可以通过与语言模型结合地使用目标模型来解释单词的语境。目标模型用于对包含单词的有序集合的输入样本(诸如上述示例样本1和样本2)执行自然语言处理任务。单词可以包括字母、数字、符号等。语言模型是基于输入样本用于生成一个或多个特征向量的另一种模型。一个或多个特征向量指示输入样本的语境。目标模型用于基于输入样本和一个或多个特征向量执行自然语言处理任务。

在一些示例中,语言模型是神经网络或其他分层的模型,或者包括神经网络或其他分层的模型。例如,可以用多个层实现语言模型。每个层可以包括节点的集合。将输入样本提供到第一层的节点,其生成第一层输出。随后层的节点从先前层的节点接收输入并将输出提供到下一层(如果有的话)的节点。语言模型的输出由最后层处的节点的输出给定。给定层的输出形成特征向量。例如,第一层处的节点的输出可以形成第一特征向量。第二层处的节点的输出可以形成第二特征向量,以此类推。如本文所描述的,可以向目标模型提供这些特征向量作为输入。

在一些示例实施例中,语言模型实现为自动编码器。自动编码器语言模型被训练为重构输入样本。例如,自动编码器语言模型可以被训练为基于输入样本的其他单词或字符来预测主题词的值。例如,参照以上的样本1,自动编码器语言模型可以被编程为当以按指示的顺序提供包含样本1的其他单词的输入样本时返回单词“bank”。

模型(包括目标模型和语言模型)可以在不同级上进行操作,其中模型的级描述由模型输出所指示的样本的部分。例如,模型可以是单词级模型、子单词级模型或字符级模型。单词级模型提供了描述来自输入样本的单词的输出。例如,接收以上的样本1的单词级语言模型可以被编程为当提供样本1的其他部分中的一些或全部时返回单词“bank”(或来自样本1的其他单词)。接收以上的样本1的单词级目标模型可以被编程为当提供样本1的其他部分中的一些或全部时返回单词“bank”的描述符。

部分单词级模型提供了描述部分单词(例如,少于单词的全部)的输出。一种类型的部分单词级模型是字符级模型。字符级模型提供描述来自输入样本的字符的输出。例如,接收样本1的字符级语言模型可以被编程为当提供样本1的其他字符中的一些或全部时返回来自单词“bank”的字符“b”。接收样本1的字符级语言模型可以被编程为基于样本1的其他字符中的一些或全部来返回字母“b”的描述符。另一种类型的部分单词级模型是子单词级模型。子单词级模型提供了描述子单词(例如单词的包含多于一个字符的部分)的输出。例如,接收样本1的子单词级语言模型可以被编程为考虑样本1的其他子单词而返回子单词“ban”。接收样本1的子单词级目标模型可以被编程为考虑样本1的其他子单词而返回子单词“ban”的描述符。

在许多模型系统中,语言模型和目标模型在相同级(例如单词级、子单词级或字符级)处实现。这可以简化系统的操作,因为使用语言模型所生成的特征向量描述由目标模型所使用的相同级。例如,单词级语言模型生成单词级特征向量,可以将该特征向量提供到单词级目标模型的各层。

在一些示例中,然而,可以有利的是,模型系统包含在不同级(例如单词级和部分单词级)处操作的多个语言模型。例如,由语言模型在不同级处所生成的特征向量可以提供不同语境化数据。考虑来自不同语言模型和不同级的语境化数据可以提高目标模型的准确度。

然而,利用在与目标模型不同的级处实现的语言模型造成了技术挑战。例如,由语言模型在一个级(例如单词级、子单词级、字符级)处所生成的特征向量可以与另一级处的目标模型不直接相关。因此,本文所描述的一些示例涉及模型系统,在该模型系统中,一个级处的来自语言模型的特征向量与另一个级处的目标模型一起使用。

在一些示例中,较低级语言模型与较高级目标模型一起使用。例如,字符级语言模型处于比子单词级语言模型更低的级,且处于比单词级语言模型更低的级。子单词级语言模型处于比字符级语言模型更高的级,且处于比单词级语言模型更低的级。

当较低级语言模型与较高级目标模型一起使用时,较低级语言模型为目标模型所考虑的单元产生的特征向量的多于一个集合。考虑一示例,该示例中字符级语言模型与单词级目标模型一起用于考虑以上的样本1。在该示例中,目标模型生成单词“bank”的描述符。因为语言在字符级处进行操作,然而,可以不生成描述单词“bank”的特征向量的单个集合。替代地,因为对单独字符进行操作,字符级语言模型可以生成字符“b”的特征向量的一个集合、字符“a”的特征向量的另一个集合,等等。

模型系统配置为聚集较低级语言模型的特征向量,以生成目标模型的较高级特征向量。在一些示例中,模型系统对较低级特征向量平均,以生成较高级特征向量的集合。返回参照以上示例,字符“b”的特征向量集合可以与其他字符的特征向量集合平均,以生成单词级特征向量。在另一个示例中,模型系统配置为选择较低级特征向量的一个集合,以用作较高级目标模型的输出。在此参照以上示例,模型系统可以为单词“bank”的字符之一选择特征向量集合,以用作目标模型的输入。

在一些示例中,基于语言模型的指引来选择特征向量集合。例如,前向语言模型(例如考虑在主题单词、子单词或字符之前的语境的模型)可以使用与由目标模型所考虑的单元的最后一个组分(例如最后一个字符、最后一个子单词)对应的特征向量集合。后向语言模型(例如考虑在主题词、子单词或字符之后的语境的模型)可以使用与由目标模型所考虑的单元的第一组分(例如第一字符、第一子单词)对应的特征向量集合。

在一些示例中,模型系统使用注意机制以选择由较低级语言模型所生成的最优较低级特征向量。注意机制是训练的子模型,其从较低级特征向量的集合中选择较低级特征向量。注意机制可以被训练为例如在训练目标模型以最大化目标模型的性能期间选择较低级特征向量。

在一些示例中,较高级语言模型与较低级目标模型一起使用。当较高级语言模型与较低较低级目标模型一起使用时,较高级语言模型为目标模型所考虑的单元产生的特征向量的少于一个集合。考虑一示例,该示例中单词级语言模型与字符级目标模型一起用于考虑以上的样本1。在该示例中,目标模型生成来自单词“bank”的字母“b”的描述符。因为语言模型在单词级处进行操作,然而它生成单词“bank”的特征向量的集合,而不具体地生成字符“b”的特征向量。

模型系统可以配置为从由语言模型所生成的较高级特征向量推导目标模型的较低级特征向量。在一些示例中,模型系统使用每个较低级单元的较高级特征向量的集合。例如,回到“bank”示例,如果单词级语言模型生成单词“bank”的单词级特征向量的集合,则可以由字符级目标模型使用单词级特征向量以生成单词“bank”的每个字符的描述符。在另一个示例中,模型系统配置为包括分开的子网络,其被训练为从较高级特征向量的一个集合中提取较低级特征向量的集合。

同样,本文所描述的一些模型系统可以利用具有前向和后向层的语言模型。前向层被训练为对样本中的在考虑的单元之前发生的语境进行考虑。后向层被训练为对样本中的在考虑的单元之后发生的语境进行考虑。具有前向层和后向层的语言模型可以生成每个考虑的单元(例如单词、子单词、字符)的特征向量的多个集合。在这些示例中,特征向量的两个集合可以用各种适当方式(包括例如附加的、级联的和/或其他线性组合)组合。

图1是执行自然语言处理任务的环境100的一个示例的示意图。环境100包括计算装置102。计算装置102可以是或包括任何合适类型的计算装置或联网的装置,包括例如台式计算机、膝上型计算机、平板计算机或其他计算装置、服务器等。本文提供实现计算装置102示例硬件和软件架构,例如在图9和图10中。在图1的示例中,计算装置102包含数据库103或与数据库103通信。数据库103可以包含一个或多个表格,用于储存如本文所描述的输入样本108和/或输入样本描述符。

计算装置102执行目标模型104和语言模型106A、106B。语言模型106A、106B包含字符级语言模型106A和单词级语言模型106B。语言模型106A、106B可以是或包含自动编码器语言模型。语言模型106A、106B和目标模型104接收可以从数据库103取回的输入样本108。在图1的示例中,输入样本是“the quick brown fox”。

为了考虑输入样本108,字符级语言模型106A对输入样本108的每个字符执行实例114A、114B、114C、114D、114E、114F、114N。例如,对字符“t”执行一个实例114A,以此类推。对不同输入样本执行的语言模型106A的实例114A、114B、114C、114D、114E、114F、114N的数目可以不同,例如基于输入样本的字符的数目。每个实例114A、114B、114C、114D、114E、114F、114N可以具有包含任何合适数目的节点的一个或多个层。实例114A、114B、114C、114D、114E、114F、114N的层产生提供到下一层的输出。层的输出可以用作特征向量。例如,具有一层的实例114A、114B、114C、114D、114E、114F、114N产生特征向量的集合,该特征向量的集合包含单个特征向量。具有多个层的实例114A、114B、114C、114D、114E、114F、114N产生特征向量的集合,该特征向量的集合包含例如每一层一个特征向量。

单词级语言模型106B通过输入样本108的每个单词执行实例116A、116B、116C、116D来考虑输入样本108。在该示例中,第一实例116A对应于单词“the”、第二实例116B对应于单词“quick”,以此类推。对不同输入样本执行的语言模型106B的实例116A、116B、116C、116D的数目可以不同,例如基于输入样本中的单词数目。

目标模型104被训练为执行自然语言处理任务。自然语言处理任务包括确定单词或单词组的含义的任务。一种类型的自然语言处理任务是键值提取。键值提取涉及检测样本中的由键所指示的特定类型的一个或多个单词。考虑“名”的示例键。键值提取包括从作为名的一个或多个样本中标识单词。考虑“发票金额”的另一个示例键。键值提取包括从指示发票金额的诸如发票或其他商务文档的一个或多个样本中标识单词。

另一个示例自然语言处理任务是概括。概括包含从样本确定重要信息且生成样本的删节版本。另一个示例自然语言处理任务是情感分析。情感分析包括分析样本,并且确定作者的整体的态度或情绪、和/或作者对于由样本描述的一个或多个特定话题的态度或情绪。

在图1的示例中,目标模型104是单词级模型。目标模型104可以包括多个层112A、112B,其中每个层112A、112B包括一个或多个节点。在给定层112A、112B处的节点可以接收输入样本108和/或先前层的输出作为输入。例如,在此第一层112A接收输入样本108作为输入。第N个层112N接收第N-1个层的输出作为输入。目标模型104生成输入样本描述符110,其描述输入样本108所考虑的单元。正如此处,在目标模型104是单词级模型的情形下,考虑的单元是单词。例如,输入样本描述符110可以指示关于考虑的单词的自然语言处理任务的结果(诸如键值等)。

在图1的示例中,目标模型104的考虑的单元是来自输入样本108:“The quickbrown fox”的单词“brown”。单词级语言模型106B提供来自对单词“brown”执行的实例116C特征向量的集合122B。特征向量的集合122B可以被提供到目标模型104的每个层112A、112N。字符级语言模型106A从与单词“brown”的字符“b”“r”“o”“w”和“n”对应的实例114B、114C、114D、114E、114F生成特征向量的集合。这些特征向量的集合被提供到生成特征向量的单个集合122A的特征向量聚集器120,该特征向量的单个集合122A被提供到目标模型104的层112A、112N。目标模型104基于输入样本108和来自语言模型106A、106B的特征向量的集合来生成输入样本描述符110。

特征向量聚集器120可以从由实例114B、114C、114D、114E、114F所生成的特征向量的集合中生成特征向量的集合122A。在一些示例中,特征向量聚集器120从实例114B、114C、114D、114E、114F之一选择特征向量的集合。例如,当语言模型106A是前向模型时,特征向量聚集器120可以从对应于字符“n”的实例114F选择特征向量的集合作为特征向量的集合122A。在该方式下,所选择的特征向量的集合122A可以从输入样本108中全部之前的单词和所考虑的单词“brown”之前的字符来考虑语境。类似的,当语言模型106A是后向模型时,特征向量聚集器120可以从对应于字符“b”的实例114B选择的特征向量的集合作为特征向量的集合122A。在该方式下,选择的特征向量的集合122A可以根据输入样本108中全部之后的单词和考虑的单词“brown”之后的字符来考虑语境。

在另一个示例中,特征向量聚集器120生成特征向量的集合122A,其是实例114B、114C、114D、114E、114F所生成的特征向量的集合的平均。考虑字符级语言模型106A包含两个层的示例。因此,每个实例114B、114C、114D、114E、114F将生成包含第一层特征向量和第二层特征向量的特征向量的集合。特征向量的集合122A可以包含第一层特征向量和第二层特征向量,该第一层特征向量是实例114B、114C、114D、114E、114F的所有第一层特征向量的平均,并且该第二层特征向量是实例114B、114C、114D、114E、114F的所有第二层特征向量的平均值。

在另一个示例中,特征向量聚集器120实现注意机制。调节注意机制以选择由实例114B、114C、114D、114E、114F中最适合目标模型104的一个或多个所生成的特征向量的集合。在一些示例中,注意机制在单词或子单词内生成所有特征向量114B、114C、114D、114E、114F的线性组合。线性组合的系数可以例如使用额外隐藏层和注意机制语境向量进行学习。注意机制语境向量可以被训练为指示哪个实例114B、114C、114D、114E、114F对于给定单词或子单词是最有信息的。例如,可以由额外隐藏层将特征向量变换成隐藏表示。然后,注意机制语境向量可以与所有隐藏表示进行比较,并且可以为每个字符产生相似度得分。可以通过将softmax函数应用于得到的分数来确定线性组合的归一化的权重和/或系数。如本文所描述的,可以用目标模型的剩余部分训练额外隐藏层和注意机制语境向量。

尽管该示例中的特征向量聚集器120将来自字符级语言模型106A的特征向量的集合转换以供单词级语言模型104使用,但是特征向量聚集器120的技术还可以用于将来自较低级语言模型的特征向量的集合转换以供较高级目标模型处使用。例如,特征向量聚集器120还可以用于从由子单词级语言模型所生成的特征向量的多个集合来生成特征向量的单个集合。图2是执行自然语言处理任务的环境200的另一个示例的示意图。

图2的环境200类似于图1的环境100,但是包含具有层212A、212N的字符级目标模型204。目标模型204的考虑的单元则是字符。在该示例中,考虑的单元是来自单词“brown”的字符“b”。目标模型204从字符级语言模型106A的考虑字符“b”的实例114A中接收特征向量的集合222A。

在该示例中,单词级语言模型106B生成对应于单词“brown”但不是具体对应于考虑的字符“b”的特征向量的一个集合(例如实例116C)。提供特征向量解聚集器220,以生成由单词级语言模型106B向目标模型204提供的特征向量集合222B。特征向量解聚集器220可以用任何适当的方式选择特征向量集合222B。在一些示例中,特征向量解聚集器220可以对字母中的每个字符重新使用特征向量的单词级集合。在图2的示例中,这意味特征向量解聚集器220将使由实例116C所生成的特征向量的集合通过,而目标模型204考虑字符“b”(和单词“brown”中的其他字母)。在其他示例中,特征向量解聚集器220可以例如利用训练的网络将特征向量的集合222B升采样(upsample),以对应于目标模型204的考虑的字符。

升采样可以例如使用包含连续转置的一维卷积(诸如分数步长卷积)的一个或多个层的子网络来执行。卷积可以进行插值或升采样,以从较低级分辨率(例如单词级或子单词级)升至较高级分辨率(例如子单词级或字符级)。在一些示例中,为了服从前向/后向字符目标分辨率,例如通过移位输出或通过遮蔽卷积内核的来自将来或过去读取值的这些元素,使卷积偏离中心。这可以防止子网络在前向模型的情况下使用来自将来的信息,或在后向模型的情况下使用来自过去的信息。在一些示例中,子网络与语言模型一起共同地进行训练。

图3是执行自然语言处理任务的环境300的又一个示例的示意图。图3的环境300可以与图1的环境100类似,并增添了也接收输入样本108的子单词级语言模型106C。为了考虑输入样本108,子单词级语言模型106C可以将输入样本108划分成子单词。可以用任何适当的方式确定子单词。在该示例中,输入样本“the quick brown fox”被划分成子单词“the”“qu”“ick”“br”“own”和“fox”。子单词级语言模型106C对输入样本108的每个子单词执行实例117A、117B、117C、117D、117E、117F。例如,对子单词“the”执行一个实例117A;对子单词“qu”执行一个实例117B,以此类推。语言模型106C的对不同输入样本执行的实例117A、117B、117C、117D、117E、117F的数目可以不同,例如基于输入样本的字符数目。如本文所描述的,每个实例117A、117B、117C、117D、117E、117F可以产生特征向量的集合。

在图3的示例中,类似于图1,使用单词级目标模型104。因此,使用特征向量聚集器320,以从由实例117A、117B、117C、117D、117E、117F所生成的多个子单词级特征向量生成供单词级模型104处使用的特征向量集合122C。在图3的示例中,目标模型104的考虑的单元是如图1所示的单词“brown”。因此,特征向量聚集器320可以从由语言模型106C中的实例117D、117E所生成的特征向量集合来生成特征向量集合122C,该实例117D、117E考虑构成所考虑的单词“brown”的子单词“br”和“own”。

特征向量聚集器320可以用与特征向量聚集器120类似的方式进行操作。例如,当语言模型106C是前向模型时,特征向量聚集器320可以从对应于子单词“own”的实例117F起选择特征向量的集合作为特征向量的集合122C。在该方式下,选择的特征向量的集合122C可以从输入样本108中全部之前的单词和所考虑的单词“brown”之前的子单词字符来考虑语境。类似地,当语言模型106C是后向模型时,特征向量聚集器320可以从对应于子单词“br”的实例117D起选择特征向量的集合作为特征向量的集合122C。在该方式下,选择的特征向量的集合122C可以根据输入样本108中全部之后的单词和所考虑的单词“brown”之后的子单词字符来考虑语境。在另一个示例中,特征向量聚集器320生成特征向量的集合122C,其是实例117D、117E所生成的特征向量的集合的平均。

在图3的示例中,目标模型104是单词级模型。在一些示例中,然而,

图3的布置中的目标模型可以是子单词级模型或字符级模型。在目标模型是子单词级模型的情况下的示例中,特征向量解聚集器(类似于解聚集器220)可以用于生成语言模型106B的特征向量集合122B。可以省略特征向量聚集器320。在目标模型是字符级模型的情况下的示例中,可以省略特征向量聚集器120。单词级语言模型106B和子单词级语言模型106C可以利用特征向量解聚集器,诸如本文所描述的特征向量解聚集器220。

图4是执行自然语言处理任务的环境400的又一个示例的示意图。在图4的示例中,语言模型406A、406B、406C执行前向层450、454、458和后向层452、456、460。例如,字符级语言模型406A包含前向层450和后向层452。单词级语言模型406B包含前向层458和后向层460。子单词级语言模型406C包含前向层454和后向层456。前向层450、454、458可以包含相应模型406A、406B、406C的实例,其考虑在所考虑的单元之前的语境。后向层452、456、460可以包含相应模型406A、406B、406C的实例,其考虑在所考虑的单元之后的语境。因此,可以由前向实例和后向实例在语言模型处考虑输入样本108的每个单元。来自前向实例和后向实例的特征向量可以进行组合,例如通过级联特征向量、添加特征向量、使用可训练的线性组合或通过其他适当的方法进行组合。来自对应的前向实例和反向实例的组合的特征向量可以用于生成如本文所描述的特征向量集合122A、122B、122C。尽管图4示出了具有语言模型的前向层和反向层的与图3类似的布置,但是将理解的是,前向语言模型层和反向语言模型层还可以用在关于图1和图2所描述的任何布置中。图5是示出可以由计算装置(诸如计算装置102)执行以执行自然语言处理任务的过程流500的一个示例的流程图。

在操作502处,计算装置用第一语言模型生成特征向量的第一集合。如本文所描述的,特征向量的第一集合可以包含一个或多个特征向量。在操作504处,计算装置用第二语言模型生成特征向量的第二集合。在一些示例中,第二语言模型处于与第一语言模型不同的级。特征向量的第二集合可以包含一个或多个特征向量。在可选的操作506处,计算装置用第三语言模型生成特征向量的第三集合。第三语言模型处于与第一语言模型或第二语言模型不同的级。第三特征向量的集合可以包括一个或多个特征向量。在操作508处,计算装置用目标模型和特征向量的集合生成输入样本描述符。

图6是示出可以由计算装置(诸如图1计算装置102)执行以训练语言模型的过程流600的一个示例的流程图。过程流600可以用于训练语言模型106A、106B、106N中的任何语言模型。在操作602处,计算装置从语言模型训练语料库存取语言模型训练样本。在一些示例中,语言模型训练语料库是未标记的。例如,语言模型训练语料库的样本和/或其单词可以不与描述这些样本和/或单词的元数据相关联。在一些示例中,计算装置生成语言模型训练样本。例如,计算装置可以从语言模型训练语料库中选择接下来n个单元(例如字符、子单词、单词),其中接下来n个单元构成语言模型训练样本。在一些示例中,将训练样本储存在数据库103的表格处,并且从那里存取训练样本。

在操作604处,计算装置将训练样本提供到语言模型。语言模型处理训练样本以在训练样本之后生成建模的下一个单元。建模的下一个单元可以是下一个单词、下一个字符、下一个子单词等,这取决于进行训练的语言模型的级。在操作606处,计算装置接收建模的下一个单元,并将其与训练语料库处的实际的下一个单元进行比较。

在操作608处,计算装置基于建模的下一个单元与实际的下一个单元的比较向语言模型提供反馈。在一些示例中,反馈包括对语言模型的修改。例如,计算装置可以在语言模型处修改一个或多个层或节点。在操作610处,计算装置确定是否执行更多的训练。例如如果语言模型具有大于阈值的错误率,则可以执行附加的训练。如果没有要执行的附加训练,则在操作612处可以完成该处理。如果要执行更多的训练,则在操作602处训练服务存取下一个语言模型样本,并且按本文所描述地继续利用下一个语言模型样本。

图7是示出训练图1的目标模型104的环境700的一个示例的示意图。在环境700中,计算装置102执行图1的模型布置,该模型布置包含字符级语言模型106A和单词级语言模型106B。目标模型训练服务704例如使用训练语料库706训练目标模型。

目标模型训练服务704配置为用任何适当方式(例如基于要由目标模型104执行的自然语言处理任务)训练目标模型104。图8是示出可以由计算装置102(例如其目标模型训练服务704)执行以训练目标模型104的过程流800的一个示例的流程图。尽管过程流800关于图7进行描述,但是过程流800还可以用于训练关于本文任何布置所描述的目标模型。

在操作802处,目标模型训练服务704从目标模型训练语料库706存取目标模型训练样本。在一些示例中,目标模型训练语料库706包含带标记的训练样本。例如,带标记的训练样本包含指示训练样本的训练描述符的标记,或者与之相关联。训练描述符描述正在被训练的目标模型104的相关自然语言处理任务的正确结果。例如,当正在训练目标模型104以执行键值提取时,目标模型训练语料库706的一些或全部训练样本被与指示键的标记(如果有的话)相关联,该键针对训练样本的各种字符串。在正在训练目标模型104以执行概括的示例中,训练样本可以与指示相应训练样本的概括的标记相关联。在正在训练目标模型104以执行情感分析的示例中,训练样本可以与指示与训练样本中的一个或多个字符串、和/或整个训练样本的情感关联的标记相关联。

在操作804处,目标模型训练服务704将目标模型训练样本提供到语言模型106A、106B。如果附加的语言模型存在,则诸如语言模型106,则这些语言模型还可以配备有目标模型训练回路。在操作806处,将特征向量集合122A、122B提供到如本文所描述的目标模型104的层112A、112N。

在操作808处,目标模型训练服务704从目标模型104接收训练样本描述符。训练样本描述符是如对目标模型训练样本执行的期望的自然语言处理任务的输出。例如,当自然语言处理任务是键值提取时,训练样本描述符可以是描述目标模型训练样本的字符串的一个或多个键的集合。在使用目标模型104以执行其他自然语言处理任务的其他示例中,训练样本描述符可以具有如本文所描述的其他值和/或形式。

在操作810处,目标模型训练服务704基于训练样本描述符以及与目标模型训练样本相关联的标记的比较,向目标模型104提供反馈。在一些示例中,反馈包含对目标模型104的修改。例如,训练服务704可以修改目标模型的层112A、112N的一个或多个节点的特性。可以修改的示例节点特性包含例如应用于相应的特征向量的权重。训练服务704可以利用适当的反向传播技术,以将训练样本描述符和目标模型训练样本标记之间的差量转换成对节点的具体修改。

在操作812处,目标模型训练服务704确定是否要执行更多的训练。例如如果目标模型104具有大于阈值的错误率,则可以执行附加的训练。如果没有要执行的附加训练,则在操作814处可以完成该过程。如果要执行更多的训练,则在操作802处训练服务存取下一个目标模型样本,并且按本文所描述地继续利用下一个目标模型样本。

示例:

示例1是分类文本的计算机化系统,包括:数据库;以及,至少一个处理器,其编程为执行包括以下的操作:从数据库存取包括有序单词的第一集合的输入样本;使用单词级语言模型生成输入样本的第一语言模型特征向量;使用部分单词级语言模型生成输入样本的第二语言模型特征向量;使用目标模型、输入样本、第一语言模型特征向量、和第二语言模型特征向量生成输入样本的描述符;以及将输入样本的描述符写入到数据库。

示例2中,示例1的主题可选地包含,其中目标模型是部分单词级模型,并且其中输入样本的描述符描述输入样本的第一部分单词。

示例3中,示例2的主题可选地包含,其中生成第一语言模型特征向量包括使用单词级语言模型和输入样本的第一单词生成第一单词级特征向量,该第一单词包含第一部分单词。

示例4中,示例3的主题可选地包含,其中第一语言模型特征向量包括第一单词级特征向量。

示例5中,示例3-4中的任何一个或多个的主题可选地包含,其中生成第一语言模型特征向量包括:使用第一单词生成第一单词级特征向量;以及,至少部分基于第一单词级特征向量确定第一语言模型特征向量。

示例6中,示例1-5中的任何一个或多个的主题可选地包含,其中目标模型是单词级模型,并且其中输入样本的描述符描述输入样本的第一单词。

示例7中,示例6的主题可选地包含,该操作还包括使用部分单词级语言模型和第一部分单词生成第一部分单词特征向量,其中该第一单词包括第一部分单词。

示例8中,示例7的主题可选地包含,其中部分单词级语言模型是前向模型,其中第一部分单词是第一单词的初始部分单词,该操作还包括选择第一部分单词特征向量作为第二语言模型特征向量。

示例9中,示例7-8中的任何一个或多个的主题可选地包含,该操作还包括:使用部分单词级语言模型和第二部分单词特征向量生成第二部分单词特征向量,其中第一单词包括第二部分单词特征向量;以及使用第一部分单词特征向量和第二部分单词特征向量生成第二语言模型特征向量。

示例10中,示例9的主题可选地包含,该操作还包括执行注意机制,以选择第一部分单词特征向量或第二部分单词特征向量作为第二语言模型特征向量。

示例11中,示例1-10中的任何一个或多个的主题可选地包含,其中部分单词级语言模型是子单词级模型,并且该操作还包括使用字符级模型生成输入样本的第三语言模型特征向量,其中生成输入样本的描述符也基于第三语言模型特征向量。

示例12中,示例1-11中的任何一个或多个的主题可选地包含,该操作还包括:使用输入样本的第一部分单词、部分单词级语言模型的前向层、和输入样本的在第一部分单词之前的至少一个部分单词来生成部分单词级语言模型前向特征向量;以及使用输入样本的第一部分单词、部分单词级语言模型的后向层、和输入样本的在第一部分单词之后的至少一个部分单词来生成部分单词级语言模型反向特征向量。

示例13中,示例12的主题可选地包含,其中目标模型是单词级模型,并且其中输入样本的描述符描述输入样本的第一单词。

示例14是分类文本的方法,该方法包括:由计算装置并从数据库存取包括有序单词的第一集合的输入样本;由计算装置使用单词级语言模型生成输入样本的第一语言模型特征向量;由计算装置使用部分单词级语言模型生成输入样本的第二语言模型特征向量;由计算装置使用目标模型、输入样本、第一语言模型特征向量、和第二语言模型特征向量生成输入样本的描述符;以及将输入样本的描述符写入到数据库。

示例15中,示例14的主题可选地包含,其中目标模型是部分单词级语言模型,并且其中输入样本的描述符描述输入样本的第一部分单词。

示例16中,示例15的主题可选地包含,其中生成第一语言模型特征向量包括使用单词级语言模型和输入样本的第一单词来生成第一单词级特征向量,该第一单词包括第一部分单词。

示例17中,示例16的主题可选地包含,第一语言模型特征向量包括第一单词级特征向量。

示例18中,示例16-17中的任何一个或多个的主题可选地包含,其中生成第一语言模型特征向量包括:使用第一单词生成第一单词级特征向量;以及,至少部分基于第一单词级特征向量确定第一语言模型特征向量。

示例19中,示例14-18中的任何一个或多个的主题可选地包含,其中目标模型是单词级模型,并且其中输入样本的描述符描述输入样本的第一单词。

示例20是非瞬态计算机可读介质,包括位于其上的指令,该指令在由至少一个处理器执行时使得至少一个处理器执行包括以下的操作:从数据库存取包括有序单词的第一集合的输入样本;使用单词级语言模型生成输入样本的第一语言模型特征向量;使用部分单词级语言模型生成输入样本的第二语言模型特征向量;使用目标模型、输入样本、第一语言模型特征向量和第二语言模型特征向量生成输入样本的描述符;以及将输入样本的描述符写入到数据库。

图9是计算装置的软件架构902的一个示例的框图900。架构902可以例如与如本文所描述的各种硬件架构结合地使用。图9仅是软件架构的非限制性示例,并且可以实现许多其他架构以便于本文所描述的功能。代表性硬件层904被示出,并且可以表示例如如上所引用的任何计算装置。在一些示例中,根据图10的计算系统1000的架构来实现硬件层904。

代表性硬件层904包括一个或多个处理单元906,其具有相关联的可执行指令908。可执行指令908表示软件架构902的可执行指令,包含实现本文所描述的方法、模块、子系统和组件等等,并且该硬件层还可以包含也具有可执行指令908的存储器和/或储存模块910。硬件层904还可以包括如由其他硬件912指示的其他硬件,其表示硬件层904的其他硬件,诸如计算机系统1000的部分所图示的其他硬件。

在图9的示例架构中,软件架构902可以概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构902可以包含诸如以下的层:操作系统914、库916、框架/中间件918、应用920和表示层944。可操作地,应用920和/或层内的其他组件可以通过软件堆栈引起应用程序接口(API)调用924,并且响应于API调用924存取如消息926图示的响应、返回值等。图示的层性质上具有代表性,但并非所有软件构架具有所有层。例如,一些移动或专用操作系统可以不提供框架/中间件层918,而其他可以提供这样的层。其他软件架构可以包含附加地或不同层。

操作系统914可以管理硬件资源并且提公共服务。操作系统914可以包含例如内核928、服务930、和驱动程序932。内核928可以充当硬件层和其他软件层之间侧抽象层。例如,内核928可以负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全性设定等。服务930可以为其他软件层提供其他公共服务。在一些示例中,服务930包括中断服务。中断服务可以检测中断的接收,并且作为响应使得架构902在访问中断时暂停其当前处理并执行中断服务例程(ISR)。

驱动程序932可以负责控制底层硬件或与之相接。例如,驱动程序932可以包含显示器驱动程序、相机驱动程序、驱动程序、闪速存储器驱动程序、串行通信驱动程序(例如通用串行总线(USB)驱动程序)、驱动程序、NFC驱动程序、音频驱动程序、电源管理驱动程序等等,取决于硬件配置。

库916可以提供公共基础结构,其可以被应用920、和/或其他组件、和/或其他层所利用。库916典型地提供功能,该功能允许其他软件模块以比与底层操作系统914功能(例如内核928、服务930和/或驱动程序932)直接相接更容易的方式来执行任务。库916可以包含系统库934(例如C标准库),其可以提供诸如存储器分配功能、字符串操纵功能、数学功能之类的功能。此外,库916可以包含API库936,诸如媒体库(例如支持表示和操纵诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG的各种媒体格式的库)、图形库(例如可以用于在显示器上以图形内容渲染2D和14D的OpenGL框架)、数据库库(例如可以提供各种关系数据库功能的SQLite)、网络库(例如可以提供网络浏览功能的WebKit)等。库916还可以包括各种各样其他库938,以将许多其他API提供到应用920和其他软件组件/模块。在一些示例中,库916可以提供由面向消息的中间件服务的一个或多个API。

框架918(有时还称为中间件)可以提供较高级公共基础结构(infrastructure),该较高级公共基础结构可被应用920、和/或其他软件组件/模块利用。例如,框架918可以提供各种图形用户界面(GUI)功能、高级资源管理、高层位置服务等。框架918可以提供广泛用途的其他API,所述API可被应用920、和/或其他软件组件/模块利用,其中一些可以专用于特定操作系统或平台。

应用920包含内建应用940和/或第三方应用942。代表性内建应用940的示例可以包括但不限于,联系人应用、浏览器应用、书本阅读器应用、定位应用、媒体应用、消息应用和/或游戏应用。第三方应用942可以包括任何内建应用940,以及广泛种类的其他应用。在具体示例中,第三方应用942(例如由除了特定平台的供应商之外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)所开发的应用)可以是在移动操作系统(诸如iOSTM、AndroidTMPhone或其他移动计算装置操作系统)上运行的移动软件。在该示例中,第三方应用942可以引起由诸如操作系统914的移动操作系统所提供的API调用924,以促进本文所描述的功能。

应用920可以利用内建操作系统功能(例如内核928、服务930和/或驱动程序932)、库(例如系统934、API 936、和其他库938)、框架/中间件918,以创建与系统的用户交互的用户界面。替代地或附加地,在一些系统中,可以通过表示层(诸如表示层944)发生与用户的交互。在这些系统中,可以将应用/模块“逻辑”与和用户交互的应用/模块的方面分离开。

一些软件架构利用虚拟机。在图9的示例中,这由虚拟机948图示。虚拟机创建应用/模块可以执行的软件环境,如同他们在硬件计算装置上执行一样。虚拟机948由主机操作系统(操作系统914)托管,并且典型地(尽管并非总是)具有虚拟机监视器946,其管理虚拟机948的操作以及与主机操作系统(即操作系统914)的接口。软件架构在虚拟机948内执行,诸如操作系统950、库952、框架/中间件954、应用956和表示层958。虚拟机948内执行的软件架构的这些层可以与先前所描述的对应层相同或者可以不同的。

模块、组件和逻辑

某些实施例在本文所描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如(1)在非瞬态机器可读介质上体现的代码或(2)在传输信号中体现的代码)或硬件实现的模块。硬件实现的模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施例中,一个或多个计算机系统(例如独立的、客户端或服务器计算机系统)、或者一个或多个处理器可以由软件(例如应用或应用部分)配置为硬件实现的模块,该硬件实现的模块操作以执行本所描述的某些操作。

在各种实施例中,可以机械地或电子地实现硬件实现的模块。例如,硬件实现的模块可以包括专用电路或逻辑,该专用电路或逻辑被永久地配置(例如配置为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))为执行某些操作。硬件实现的模块还可包括由软件临时配置为执行某些操作的可编程逻辑或电路(例如涵盖在通用处理器或另一个可编程处理器内)。将理解的是,可以由成本和时间考虑来驱动决定将硬件实现的模块机械地实现为专用和永久配置的电路还是实现为临时配置的电路(例如,由软件配置)。

因此,术语“硬件实现的模块”应该认为涵盖有形实体,应该是物理地构造、永久地配置(例如硬接线)、或者临时地或暂时地配置(例如编程)的实体,以某种方式进行操作和/或执行本文所描述的某些操作。考虑到硬件实现的模块是暂时地配置(例如,编程)的实施例,硬件实现的模块的每一个不一定在任何一个时间实例时进行配置或实例化。例如,在硬件实现的模块包括使用软件配置的通用处理器的情形下,通用处理器可以在不同的时间配置为相应不同的硬件实现的模块。软件可以相应地配置处理器,例如,以在一个时间实例处构成特定的硬件实现的模块,并在不同的时间实例处构成不同的硬件实现的模块。

硬件实现的模块可以向其他硬件实现的模块提供信息,或从其他硬件实现的模块接收信息。因此,所描述的硬件实现的模块可以被认为是通信耦接的。在同时存在多个这样的硬件实现的模块的情形下,可以通过信号传输(例如通过连接硬件实现的模块的适当的电路和总线)实现通信。在不同时间配置或实例化多个硬件实现的模块的实施例中,可以例如通过在多个硬件实现的模块已经对其进行存取的存储器结构中对信息的储存和取回来实现这样的硬件实现的模块之间的通信。例如,一个硬件实现的模块可以执行操作,并将该操作的输出储存在与之通信耦接的存储器装置中。然后,其他硬件实现的模块可以稍后存取存储器装置以取回并处理所储存的输出。硬件实现的模块还可以发起与输入或输出装置的通信,并且可以对资源(例如信息集)进行操作。

本文所描述的示例方法的各种操作可以至少部分地由一个或多个处理器执行,该一个或多个处理器临时配置(例如由软件)或永久配置为执行相关操作。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的模块,这些模块可以操作为执行一个或多个操作或功能。在一些示例实施例中,本文所指代的模块可以包括处理器实现的模块。

类似地,本文所描述的方法可以至少部分地由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块执行。某些操作的性能可以分布在一个或多个处理器之间,不仅驻留在单个机器内,而且可以跨多个机器部署。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如在家庭环境、办公室环境或服务器场内),而在其他实施例中,处理器可以跨多个位置分布。

一个或多个处理器还可以操作为在“云计算”环境中或作为“软件即服务”(SaaS)来支持相关操作的性能。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如互联网)以及经由一个或多个适当的接口(例如API)来接入。

电子设备和系统

示例实施例可以用数字电子电路、或计算机硬件、固件、或软件,或它们的组合来实现。可以使用计算机程序产品来实现示例实施例,该计算机程序产品例如是有形地体现在信息载体中(例如机器可读介质中)的计算机程序,以由数据处理设备(例如可编程的处理器、计算机或多个计算机)执行,或者控制该数据处理设备(例如可编程的处理器、计算机或多个计算机)的操作。

可以用任何形式的编程语言(包括编译或解释语言)写入计算机程序,并且可以用任何形式(包括作为独立程序或模块、子例程或适用于计算环境的其他单元)来部署计算机程序。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机处于一个站点或者跨多个站点分布并由通信网络互连。

在示例实施例中,可以由执行计算机程序的一个或多个可编程处理器来执行操作,以通过对输入数据进行操作并生成输出来执行功能。方法操作还可以由专用逻辑电路(例如FPGA或ASIC)来执行,并且示例实施例的设备可以被实现为专用逻辑电路(例如FPGA或ASIC)。

计算系统可以包含客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并彼此之间具有客户端-服务器关系的计算机程序而产生。在部署可编程计算系统的实施例中,将理解的是,硬件和软件架构两者均值得考虑。具体地,将理解的是,对于是在永久配置的硬件(例如ASIC)中、或是在临时配置的硬件(例如软件和可编程处理器的组合)中、还是在永久地配置的硬件和临时配置的硬件的组合中实施某些功能的选择可以是设计选择。在各种示例实施例中,下文列出了可以部署的硬件(例如机器)和软件架构。

示例机器架构和机器可读介质

图10是以计算机系统1000的示例形式下的机器的框图,可以在该计算机系统1000内执行指令1024以使得该机器执行本文中所讨论的方法论中的任意一个或多个。在替代实施例中,机器操作为独立装置,或者可以连接(例如联网)到其他机器。在联网部署中,机器可以在服务器-客户端网络环境中以服务器或客户端计算机的身份运行,或者在对等(或分布式)网络环境中作为对等机器操作。机器可以是个人计算机(PC)、平板计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、Web设备、网络路由器、交换机或网桥、或者能够执行指令(顺序的或其他方式)的任何机器,这些指令指定要由该机器采取的行为。此外,尽管仅图示单个机器,但是术语“机器”还应该被理解为包括机器集,这些机器单独地或共同地执行指令的集合(或多个集合)以执行本文所讨论的任何一个或多个方法。

示例计算机系统1000包含处理器1002(例如中央处理单元(CPU)、图形处理单元(GPU)或两者)、主存储器1004、和静态存储器1006,它们经由总线1008彼此通信。计算机系统1000还可以包含视频显示器单元1010(例如液晶显示器(LCD)或阴极射线管(CRT))。计算机系统1000还包含字母数字输入装置1012(例如键盘或触敏显示屏)、用户界面(UI)导航(或光标控制)装置1014(例如鼠标)、磁盘驱动器装置1016、信号生成装置1018(例如扬声器)和网络接口装置1020。

机器可读介质

磁盘驱动器单元1016包含机器可读介质1022,其上储存由本文所描述的任何一种或多种方法或功能体现或利用的数据结构的一个或多个集合以及指令1024(例如软件)。在计算机系统1000执行指令1024期间,指令1024还可以全部或至少部分地驻留在主存储器1004中和/或处理器1002内,其中主存储器1004和处理器1002也构成机器可读介质1022。

尽管在示例实施例中将机器可读介质1022示出为单个介质,但是术语“机器可读介质”可以包含储存一个或多个指令1024或数据结构的单个介质或多个介质(例如集中式或分布式数据库、和/或相关联的高速缓存器和服务器)。术语“机器可读介质”还应该被认为包含能够进行以下的任何有形介质:储存、编码或携带由机器执行的指令1024且使机器执行本公开的方法中的任何一个或多个,或者能够储存、编码或携带由这样的指令1024使用或与该指令1024相关联的数据结构。因此,术语“机器可读介质”应该被认为包含但不限于固态存储器以及光介质和磁介质。机器可读介质1022的具体示例包括:非易失性存储器,其包括作为示例半导体存储器装置(如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器装置);磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。

传输介质

还可以使用传输介质在通信网络1026上发送或接收指令1024。可以使用网络接口装置1020和许多众所周知的传输协议(例如HTTP)中的任何一个来发送指令1024。通信网络的示例包含局域网(LAN)、广域网(WAN)、互联网、移动电话网络、普通老式电话(POTS)网络、和无线数据网络(例如WiFi和WiMax网络)。术语“传输介质”应该被认为包括能够储存、编码或携带由机器执行的指令1024的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。

尽管已经参考具体示例实施例描述了实施例,但是将显而易见的是,可以在不脱离本公开的更广泛的精神和范围的情况下对这些实施例进行各种修改和改变。因此,说明书和附图认为是说明性的而不是限制性含义。形成本公开一部分的附图通过图示而非限制的方式示出了可以实践本主题的具体实施例。足够详细地描述了所图示的实施例,以使本领域技术人员能够实践本文公开的教导。其他实施例可以被利用并从本公开推导,使得可以在不脱离本公开的范围的情况下进行结构上和逻辑上的替换和改变。因此,不应在限制含义上理解该详细描述,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。

发明主题的这样的实施例在本文中可以单独地和/或共同地用术语“发明”来指代,这仅是出于方便,且如果事实上公开多于一个发明或发明概念,则不旨在将本申请的范围自主地限制于任何单个发明或发明概念。因此,尽管本文中已经图示和描述了具体实施例,但是应当理解,为实现相同目的而计算出的任何布置都可以替换为所示出的具体实施例。本公开意图旨在各种实施例的任何和所有适配或变化。对于本领域技术人员在阅读以上描述时,以上实施例的组合与本文中未具体描述的其他实施例的组合将是显而易见的。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:文本标签的提取方法及装置、存储介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!