CN110389996A - 实现用于自然语言处理的全句递归神经网络语言模型 - Google Patents

实现用于自然语言处理的全句递归神经网络语言模型 Download PDF

Info

Publication number
CN110389996A
CN110389996A CN201910298712.9A CN201910298712A CN110389996A CN 110389996 A CN110389996 A CN 110389996A CN 201910298712 A CN201910298712 A CN 201910298712A CN 110389996 A CN110389996 A CN 110389996A
Authority
CN
China
Prior art keywords
sentence
computer system
full
neural network
recurrent neural
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910298712.9A
Other languages
English (en)
Other versions
CN110389996B (zh
Inventor
黄颖慧
A·瑟西
K·奥迪克哈希
B·拉马巴哈德兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110389996A publication Critical patent/CN110389996A/zh
Application granted granted Critical
Publication of CN110389996B publication Critical patent/CN110389996B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Abstract

本公开涉及实现用于自然语言处理的全句递归神经网络语言模型。提供了用于估计由自然语言处理所处理的每个全句为正确的似然概率的全句递归神经网络(RNN)语言模型(LM)。对多个句子的语料库中的至少一个完整句子应用噪声对比估计采样器以生成至少一个不正确的句子。使用语料库中的所述至少一个完整句子和所述至少一个不正确的句子训练全句RNN LN,以将所述至少一个完整句子辨别为正确。应用全句递归神经网络语言模型来估计由自然语言处理所处理的每个全句为正确的似然概率。

Description

实现用于自然语言处理的全句递归神经网络语言模型
技术领域
本发明一般而言涉及计算系统,更具体地涉及实现全句(whole sentence)递归神经网络语言模型用于自然语言处理。
背景技术
与其中连接仅馈送到后续层的传统前馈网络相比,递归神经网络(RNN)是包括层内的加权连接的一类神经网络。RNN还可以包括环路(loop),其使得RNN能够在处理新输入时存储信息,从而便于使用RNN来处理需要考虑先前输入的任务,诸如为言语识别和自然语言处理(NLP)任务实现的时间序列数据。
发明内容
在一个实施例中,一种方法涉及由计算机系统提供全句递归神经网络语言模型,用于估计由自然语言处理所处理的每个全句为正确的似然概率。该方法涉及由计算机系统对多个句子的语料库中的至少一个完整句子应用噪声对比估计采样器以生成至少一个不正确的句子。该方法涉及由计算机系统使用语料库中的所述至少一个完整句子和所述至少一个不正确的句子来训练全句递归神经网络语言模型,以将所述至少一个完整句子辨别为正确。该方法涉及由计算机系统应用全句递归神经网络语言模型来估计由自然语言处理所处理的每个全句为正确的似然概率。
在另一个实施例中,计算机系统包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个上用于由一个或多个处理器中的至少一个经由一个或多个存储器中的至少一个执行的程序指令。所存储的程序指令包括用于提供全句递归神经网络语言模型以估计由自然语言处理所处理的每个全句为正确的似然概率的程序指令。所存储的程序指令包括用于对多个句子的语料库中的至少一个完整句子应用噪声对比估计采样器以生成至少一个不正确的句子的程序指令。所存储的程序指令包括用于使用语料库中的所述至少一个完整句子和所述至少一个不正确的句子来训练全句递归神经网络语言模型以将所述至少一个完整句子辨别为正确的程序指令。所存储的程序指令包括用于应用全句递归神经网络语言模型来估计由自然语言处理所处理的每个全句为正确的似然概率的程序指令。
在另一个实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有与其一起实施的程序指令,其中该计算机可读存储介质本身不是瞬态信号。该计算机程序产品包括可由计算机执行以使所述计算机通过计算机提供全句递归神经网络语言模型,以用于估计由自然语言处理所处理的每个全句为正确的似然概率的程序指令。该计算机程序产品包括可由计算机执行以使所述计算机通过计算机对多个句子的语料库中的至少一个完整句子应用噪声对比估计采样器以生成至少一个不正确的句子的程序指令。该计算机程序产品包括可由计算机执行以使所述计算机通过计算机使用语料库中的所述至少一个完整句子和所述至少一个不正确的句子来训练全句递归神经网络语言模型,以将所述至少一个完整句子辨别为正确的程序指令。该计算机程序产品包括可由计算机执行以使所述计算机通过计算机应用全句递归神经网络语言模型来估计由自然语言处理所处理的每个全句为正确的似然概率的程序指令。
附图说明
在所附权利要求中阐述了被认为是本发明的一个或多个实施例的特性的新颖特征。但是,当结合附图阅读时,通过参考下面说明性实施例的详细描述,将最好地理解本发明的一个或多个实施例,其中:
图1是图示利用全句RNN语言模型来提高自然语言处理的准确度的系统的一个示例的框图;
图2是图示用于自然语言处理的全句RNN LM与用于全句处理的局部条件模型和非RNN架构模型相比较的框图;
图3是图示由训练控制器应用以生成不正确的句子以与正确的句子一起用于训练全句RNN LM的噪声对比估计的组件的一个示例的框图;
图4是图示用于使用训练数据中的正确句子和通过噪声对比估计从训练数据生成的不正确句子来训练全句RNN LM的训练序列的框图;
图5是图示用于使用完整句子测试全句RNN语言模型的测试序列的框图;
图6是图示在实现全句RNN LM的NLP系统中执行的序列识别任务的准确度的性能评估的一个示例的框图;
图7是图示全句RNN语言模型的单层双向LSTM(BiLSTM)配置的一个示例的框图;
图8是图示与在NLP系统中实现的用于执行序列识别任务的全句RNN LM相比较的n-gram LM的分类准确度的示例的框图;
图9是图示全句RNN语言模型的单层单向LSTM配置的一个示例的框图;
图10是图示与由NLP系统实现的用于言语识别任务的全句RNN LM相比较的n-gramLM的词(word)错误率的示例的框图;
图11是图示其中可以实现本发明的一个实施例的计算机系统的一个示例的框图;
图12图示了用于在RNN LSTM架构上训练全句RNN LM的处理和计算机程序的高级逻辑流程图;以及
图13图示了用于测试在RNN LSTM架构上实现全句RNN LM的NLP系统功能的处理和计算机程序产品的高级逻辑流程图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以提供对本发明的透彻理解。但是,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,众所周知的结构和设备以框图的形式示出,以避免不必要地模糊本发明。
此外,在以下描述中,出于解释的目的,描述了许多系统。重要的是要注意,并且对于本领域技术人员将明晰的,本发明可以在各种系统中执行,包括操作任何数量的不同类型的操作系统的各种计算机系统和电子设备。
图1图示了用于利用全句RNN语言模型来提高自然语言处理的准确度的系统的一个示例的框图。
在一个示例中,自然语言处理(NLP)系统100可以处理作为输入的言语112中的词序列,并且生成一种或多种类型的输出,诸如经处理的词序列116。在一个示例中,言语112可以表示具有多个词的完整句子或话语。在一个示例中,自然语言处理系统100可以执行一种或多种类型的语言处理,包括但不限于自动言语识别、机器翻译、光学字符识别、拼写检查以及自然语言输入的附加或替代类型的处理。在一个示例中,自动言语识别可以包括但不限于对话交互、对话电话言语转录(transcriptions)、多媒体字幕和翻译。在一个示例中,言语112可以包括但不限于具有口语词的音频信号、包含词序列的图像以及文本词的流。
在一个示例中,为了管理言语112的处理,NLP系统100可以包括言语模型120,用于将音频信号、图像或文本的流转换为组成词序列中的每个词的声音、图像或文本的统计表示。在一个示例中,词序列122的统计表示可以由T个词w1,w2,…,wT的句子s表示,其中每个w是词、短语或话语的统计表示。例如,言语模型120可以表示用于创建言语112内的音频信号和音素或其它语言单元的统计表示的声学模型。在一个示例中,言语模型120可以根据一组音频记录及其对应的文字记录(transcripts)进行训练,通过取得言语的音频记录及其文本转录并使用软件创建构成每个词的声音的统计表示来创建。
在一个示例中,在将言语112处理成经处理的词序列116中,当NLP系统100尝试将声音与词序列匹配时,为了增加听起来、看起来或翻译上类似的单词和短语的处理准确度,NLP系统100可以实现语言模型(LM)来生成词序列(诸如全句)上的概率分布。LM生成词序列122的概率分布的准确度影响NLP系统100将言语112准确地处理成经处理的词序列116的准确度。
在本发明的一个实施例中,NLP系统100可以实现全句RNN语言模型(LM)110,在给予词序列122的言语112中的全句的经处理的词序列的情况下,该模型向该全句分配概率,被示为整个词序列114的概率。在一个示例中,提供全句RNN LM 110来估计整个短语被正确处理的相对可能性在许多可由NLP系统100执行的自然语言处理应用中是有用的。例如,在NLP系统100执行言语识别的上下文中,NLP系统100尝试将言语112内的声音与词序列进行匹配。在该示例中,全句RNN LM 110可以提供上下文来区分听起来类似的词和短语,以分配正确句子已被识别出的概率。
特别地,虽然词序列122包括多个单独的词,但是全句RNN LM 110直接对词序列122中的全句的概率进行建模。在一个示例中,可以训练全句RNN LM 110以直接预测全句的概率,而不个别地为句子中的每个分类的词部分地计算条件概率。
为了促进高效且准确地计算全句的概率,全句RNN LM 110可以表示与RNN长短期记忆(LSTM)架构130集成的全句模型。
全句RNN LM 110的全句模型没有用链规则作为局部条件模型进行训练。特别地,用链规则作为局部条件模型训练的LM可能限于在给定词上下文的情况下生成当前词的局部条件可能性,从而在每个词上做出局部决策,而不是如由全句RNN LM 110所执行的那样,在计算概率时利用全句结构。
此外,特别地,与具有长期记忆并且可以计算任意长度的全句的概率的RNN LSTM架构130相比,在神经网络或其它类型的架构上运行的LM可能限于计算在训练LM时所选择的设定长度的词的概率。在RNN LSTM架构130内的RNN中添加LSTM元素增加了数据可以在任意时间间隔内保留在存储器中的时间量,从而增加了全句RNN LM 110整体上对序列系列进行分类、处理和预测的能力,并且最小化训练标准RNN时可能出现的梯度爆炸和消失的问题。此外,与标准RNN、前馈神经网络或n-gram模型相比,RNN LSTM架构对间隙长度具有相对较低的敏感度。
RNN LSTM架构130可以以包括一个或多个层并包括单向和双向层的一个或多个配置来实现。虽然参考在RNN LSTM架构130中实现的全句RNN LM 110来描述本发明,但是在附加或替代的实施例中,全句RNN LM 110也可以在附加或替代的神经网络架构(诸如常规的递归神经网络或常规的神经网络)中实现。此外,RNN LSTM架构130可以实现附加的标准RNN和NN层。在一个示例中,NN层可以表示前馈NN,其中每个层馈送到将输入连接到输出的链中的下一层中。在一个示例中,在前馈NN中,在每次迭代t,设置输入节点的值,并且然后在网络中的每个层处向前馈送输入,这覆盖先前的激活。作为对照,标准RNN更高效地管理可能表现出顺序关系的输入,诸如预测句子中的下一个词。在标准RNN架构中,在每个时间步骤t,隐藏层既从当前输入接收输入又从前一时间步骤的相同隐藏层接收输入。RNN LSTM架构130通过添加增加数据可以在任意时间段内保留在存储器中的时间量的LSTM元素来进一步扩展标准RNN架构。
在一个示例中,在训练全句RNN LM 110中,为了避免在计算全句的概率时对词序列122内的全句规格化的问题,训练控制器132可以通过向训练数据应用噪声对比估计(NCE)134来控制全句RNN LM 110的训练。在一个示例中,NCE 134可以表示用于统计模型的非规格化训练的基于采样的方法。在一个示例中,使用NCE234,不是最大化训练数据的可能性,NCE 134为每个训练样本生成多个噪声样本,并隐含地将规格化项约束为“1”。训练控制器132训练全句RNN LM 110的参数,以最大化从噪声样本识别真相的二元预测任务的可能性。特别地,NCE 134可以执行非线性逻辑回归以区分观察到的训练数据和人工生成的噪声数据。
例如,为了应用NCE 134,在数学上,设X=(x1,x2,…,xS)为训练数据中的S个句子。此外,设Y=(y1,y2,…,yvS),其中v*S个样本是从噪声采样器模型中提取的,密度概率为pn(.),,其中v>1。全句RNN LM 110的密度估计可以被表示为pm(.,θ)。在一个示例中,NCE 134损失可以被定义为:
其中:
并且G(u;θ)是pm(.,θ)和pn(.)之间的对数比值比(log-odds ratio),即,)(u;θ)=l*pm(.,θ)"lnpn(*)。在一个示例中,通过用模型参数θ优化l(θ)的损失函数,模型pm可以学习在极限中X的概率密度。
在一个示例中,在通过基于NCE 134的训练控制器132训练全句RNN LM 110期间,仅需要考虑与输出层中的几个词相关联的连接,从而允许消除在整个输出词汇上计算规格化的需要。NCE 134可以在训练期间隐含地将规格化项的方差约束为非常小,这可以使得在测试期间使用非规格化概率是可行的。利用足够数量的噪声样本,对全句RNN LM 110的二元预测模型的解收敛于对训练数据的最大似然估计。
由NLP系统100应用以执行处理任务来输出经处理的词序列116的全句RNN LM 110的结果可以呈现在从序列识别任务(诸如回文检测)到大词汇量自动言语识别(LVCSRT)和对话交互(CI)的一系列任务上。
图2图示了与用于全句处理的局部条件模型和非RNN架构模型相比较的用于自然语言处理的全句RNN LM的框图。
在一个示例中,诸如NLP系统100的NLP系统可以访问具有不同错误率的用于在词序列上预测概率的一种或多种类型的模型。在一个示例中,错误率可以指示由NLP系统执行的任务的错误率,其受NLP系统实现的语言模型所预测的概率的影响。在一个示例中,与实现在非RNN架构220或局部条件化模型210中运行的全句最大熵模型224的NLP系统的错误率相比,实现全句RNN LM 110的NLP系统具有最低的错误率。
在一个示例中,全句RNN LM 110表示不受局部条件约束所约束的全句递归语言模型。作为对照,局部条件模型210可以表示基于链规则或其它局部条件约束而训练的一种或多种类型的模型。在一个示例中,局部条件约束可以表示训练标准,该训练标准生成在给定词上下文的情况下生成当前词的局部条件可能性,从而局部地计算每个词的条件概率,而不是对全句或全话语的概率进行建模。局部条件设计有效地限制了LM利用全句结构的能力并且基于由局部条件模型210预测的概率增加了由NLP系统执行的任务的错误率百分比。作为对照,全句RNN LM 110接收词序列122并为词序列122内的全句的整个词序列114分配概率,以直接对全句或全话语的概率进行建模并降低基于由全句RNN LM 110预测的概率所执行的任务的错误率百分比。
在一个示例中,局部条件模型210可以包括n-gram LM 212和标准RNN LM 214。在一个示例中,n-gram可以指给定的文本或言语样本中的n个项的连续序列,并且n-gram LM212可以表示用于以n-1阶马尔可夫(Markov)模型的形式预测序列中的下一项的概率语言模型。在一个示例中,标准RNN LM 214可以表示在标准RNN上实现的语言模型。N-gram LM212和标准RNN LM 214可以表示受局部条件约束所约束的语言模型。特别地,在一个示例中,n-gram LM 212和标准RNN LM 214可以表示统计语言模型,其是通过在给定先前词序列的情况下估计词的概率而受局部条件约束而约束的条件模型。例如,可以通过使用链规则将T个词w1,w2,…,wT的句子s的概率计算为词概率的乘积,
其中ht=w1,…,wt-1是词wt的历史。使用链规则训练的局部条件模型的局限性在于捕获的上下文取决于历史的长度,该历史通常被截断为先前的n-1个词,因为在n-gram LM212的训练数据中很少观察到长历史。例如,n-gram LM 212可以使用从训练数据计算出的计数来估计给定历史情况下的下一个词的条件概率,但是词wt的历史可以被截断为先前的n-1个词,其可以少于五个词。虽然标准RNN LM 214可以在比n-gram语言模型可行的更长的上下文窗口中利用词依赖性,但标准RNN LM 214仍然在每个词处使用链规则的局部条件设计进行训练,这限制了标准RNN LM 214利用全句结构的能力。在一个示例中,标准RNN LM214还可以指跨越时间克隆的前馈神经网络LM,其中时间步骤(t-1)处的隐藏状态与嵌入的词wt连接以形成预测下一个词wt+1的输入。在一个示例中,前馈神经网络LM可以将词历史嵌入到连续空间中并使用神经网络来估计条件概率,使得wt+1的条件可能性受到在所有先前时间步骤1,…,t处的隐藏状态的影响。虽然标准RNN LM 214可以具有捕获比n-gram LM212更长的上下文的能力,但实际上当标准RNN LM 214用在给定词上下文的情况下生成当前词的局部条件可能性进行训练时,历史可能被截断为先前的15-20个词以便加速训练和解码,并且全局句子信息可能难以在不触发梯度爆炸或消失的问题的情况下捕获。此外,标准RNN LM 214的局部条件设计可能作出可能并非始终为真的隐含的相互依赖性假设,从而增加了错误率。
在一个示例中,全句最大熵模型224可以直接对句子或话语的概率进行建模,但不在RNN架构内。在一个示例中,全句最大熵模型224可以独立于局部条件模型210在非RNN架构220中工作,其具有难以经由局部条件模型210建模的自定义句子级别特征(诸如句子的长度)的灵活性。在一个示例中,实现用于任务的全句最大熵模型224的NLP系统可以以低于局部条件模型210的错误率提供经处理的词序列,但是,由实现非RNN模型220的NSP系统实现的平均错误率仍然可以大于实现在RNN LSTM架构130内操作的全句RNN LM 110的NLP系统的平均错误率。
在一个示例中,可以训练全句RNN LM 110以直接预测句子p(s)的概率,而不如局部条件模型210所执行的那样独立地计算句子中的每个词的条件概率。在一个示例中,全句RNN LM 110可以表示全句最大熵模型224或另一个全句模型的实例,其被扩展用于在RNNLSTM架构130中应用,以创建全句神经网络语言模型。在一个示例中,扩展全句最大熵模型224以在RNN LSTM架构130中高效且有效地工作可以包括指定训练控制器132以训练全句最大熵模型224在RNN LSTM架构130中工作、应用NCE 134以生成附加的训练样本。
在一个示例中,在附加或替代的示例中,训练控制器132可以对全句RNN LM 110应用附加或替代类型的训练。在该示例中,虽然应用softmax计算来计算完整句子的条件概率对于训练全句RNN LM 110可能是有问题的,因为在softmax计算中计算z可能由于它可能涉及对所有可能的句子求和而是不可行的,但是在附加或替代的实施例中,训练控制器132可以应用一种或多种类型的softmax计算和其它类型的计算,用于训练由自然语言处理系统100应用的一个或多个模型。
在一个示例中,如由训练控制器132训练的全句RNN LM 110可以旨在为每个全句分配概率,其中较高的分数被分配给更可能在兴趣域中发生的句子。作为对照,虽然全句RNN LM 110也可以集成依赖于对具有N个给定类别之一的类别标签的句子进行分类的句子级卷积神经网络模型,但是卷积神经网络模型仍然可以仅提供用于基于类别标签执行分类任务的条件模型,其中具有局部条件模型210的限制,并且类别标签分配可能无法准确地预测句子为正确的可能性。
图3图示了由训练控制器应用以生成不正确的句子以与正确的句子一起使用用于训练全句RNN LM的噪声对比估计的组件的一个示例的框图。
在一个示例中,NCE134可以实现用于采样训练数据330的一种或多种类型的噪声采样器310。在一个示例中,NCE 134被指定用于通过从训练数据330采样完整句子来训练全句RNN LM 110,而不是仅采样词样本来加速其它类型的计算,诸如softmax计算。
在一个示例中,训练数据330可以包括用于训练全句RNN LM 110以生成完整句子的非规格化概率的一个或多个数据类型的语料库。在一个示例中,训练数据330可以包括数据的语料库,其包括回文(PAL)350、按字典顺序排序的词(SORT)352和表达日期(DATE)354中的一个或多个。在一个示例中,回文350可以包括具有10词词汇序列的1百万个词的语料库,其向后和向前读取相同,包括诸如“the cat ran fast ran cat the”的示例。在一个示例中,按字典顺序排序的词352可以包括具有按字母顺序排列的词序列的15词词汇的100万个词的语料库,包括诸如“bottle cup haha hello kitten that what”的示例。在一个示例中,表达日期354可以包括具有表达日期的词的70词词汇的700万个词的语料库,包括诸如“January first nineteen oh one”的示例。
在一个示例中,基于采样训练数据330中的正确句子,NCE 134可以生成足够数量的样本用于全句RNN LM 110的非规格化训练,其中全句RNN LM 110可以用隐含地约束于1的规格化项学习数据分布。
在一个示例中,噪声采样器310可以包括在训练数据330上构建的一个或多个后退n-gram LM作为噪声采样器。在附加或替代示例中,噪声采样器310可以包括为噪声采样而实现的附加或替代类型的LM。
在一个示例中,噪声采样器310可以从训练数据330生成一种或多种类型的噪声样本,诸如但不限于,噪声采样器模型序列312和编辑变换器样本314。在一个示例中,噪声采样器310可以使用单个类型的采样器或多种类型的采样器从训练数据330生成噪声样本。在一个示例中,由噪声采样器310生成的每个噪声样本可以表示用于由训练控制器132在训练数据330中与正确的句子一起使用以训练全句RNN LM 110的不正确的句子。
在一个示例中,噪声采样器模型序列312可以通过首先从训练数据330中随机选择一个句子(诸如在标号332处示出的参考句子),并且然后随机选择N个位置以引入替换(SUB)、插入(INS)或删除(DEL)错误来使用诸如n-gram LM 212或标准RNN LM 214的噪声采样器模型来表示词序列。例如,在标号340处示出的SUB采样句子“July twenty twentiethnineteen seventy nine”包括从在标号332处示出的参考句子中用“twenty”代替“the”。此外,例如,在标号342处示出的INS采样句子“July the twentieth nineteen ninetyseventy nine”包括在标号332处示出的参考语句中在“nineteen”和“seventy”之间插入“ninety”。此外,例如,在标号344处示出的DEL采样句子“July the twentieth*seventynine”包括从在标号332处示出的参考语句中删除“nineteen”。
在一个示例中,编辑变换器样本314可以包括使用随机(RAND)噪声采样器模型从训练数据330生成的词序列。例如,根据来自如标号332处示出的“July the twentiethnineteen seventy nine”的训练数据330中的表达日期354的参考语句,噪声采样器310可以生成如标号334处所示的噪声采样器模型序列312“July the twenty fifth ofSeptember two-thousand eighteen”。在一个示例中,RAND噪声采样器模型可以从训练数据中随机选择一个句子,并且然后随机选择N个位置以在句子中引入插入、替换或删除错误。词被插入或替换的概率由噪声采样器模型基于所考虑的位置处的n-gram历史来分配,以确保具有错误的每个噪声句子具有距原始句子最多N个词的编辑距离。在一个示例中,可以通过噪声采样器310为编辑变换器样本314中的每个句子分配单独的噪声分数,其中噪声分数是句子中所有n-gram分数的总和。
在该示例中,基于由噪声采样器模型处理的句子的长度,从噪声采样器模型序列312采样可以限制句子的长度。例如,基于n-gram LM 212的噪声采样器模型序列可以限于较短的句子。但是,对于言语识别任务中可能遇到的错误类型,由编辑变换器样本314提供的附加长度可以允许覆盖更大的噪声空间并且避免减少对言语识别任务中可能遇到的错误类型的泛化。
图4图示了用于使用训练数据中的正确句子和通过噪声对比估计从训练数据生成的不正确句子来训练全句RNN LM的训练序列的框图。
在一个示例中,用于训练全句RNN LM 110的训练数据可以包括来自训练数据330的正确句子412,以及由噪声采样器310从训练数据330生成的至少一个不正确的句子414。在一个示例中,训练控制器132可以前馈传递正确的句子412和不正确的句子414到RNN416,以训练全句RNN LM 110。例如,RNN 416接收正确的句子412的输入w1,w2,…,wT和不正确的句子414的输入v1,v2,…,vT。在一个示例中,噪声采样器310可以基于正确的句子412生成N个不正确的句子,并且前馈传递N个不正确的句子中的每一个。在一个示例中,RNN 416可以表示在RNN LSTM架构130内实现的一个或多个层。
RNN 416可以基于输入顺序地更新层,从正确的句子412的输入w1,w2,…,wT学习正确的句子以与不正确的句子414的输入v1,v2,…,vT区分,从而训练全句RNN LM 110从不正确的句子414中对正确的句子412进行分类,其中来自隐藏层的针对完整句子的输出由h1,h2,…,hT418所示。NN评分器420接收h1,h2,…,hT418作为输入并且被训练,以针对完整句子评分单个值s 422,其中s是完整句子的非规格化概率。NN 424接收S并且如果输入是指示完整句子正确的概率则确定输出“1”并且如果输入是指示完整句子不正确的概率则确定输出“0”。
在一个示例中,对于被选择用于训练全句RNN LM 110的训练句子的每个选择,训练控制器132可以通过全句RNN LM 110和NN424传递下一个正确训练句子412和下一个不正确句子414。
图5图示了使用完整句子测试全句RNN语言模型的测试序列的框图。
在一个示例中,在测试全句RNN LM 110时,测试者可以将词序列112输入到全句RNN LM 110中,如输入w1,w2,…,wT512所示。在一个示例中,RNN 416接收w1,w2,…,wT512的完整句子的输入,其产生来自隐藏层的由h1,h2,…,hT418所示的针对完整句子的输出。NN评分器420接收h1,h2,…,hT518作为输入并且基于针对正确句子412的全句RNN LM 110的训练,对完整句子评分单个值s 522,其中s是完整句子的非规格化概率。在该示例中,取决于所执行的测试的类型,还可以评估单个值s 522以确定完整句子的概率是否与预期结果匹配。
图6图示了在实现全句RNN LM的NLP系统中执行的序列识别任务的准确度的性能评估的一个示例的框图。
在一个示例中,对于通过实现全句RNN LM 110的NLP系统来评估序列识别任务的分类准确度的性能,初始地,在训练集中生成的数据的百分比,诸如表达日期354的语料库中生成的数据的10%。可以被应用作为测试集602。在一个示例中,训练集句子可以包括如标号606所示的“July the twentieth nineteen eighty”。
在一个示例中,为了测试,通过诸如由噪声采样器模型序列312中的sub任务应用的替换一个词为每个训练集句子生成多个冒名顶替(imposter)句子604。在一个示例中,冒名顶替句子可以包括“July first twentieth nineteen eighty”,其中训练集句子中的词“the”已经被词“first”替换,如标号608所示。
接下来,全句RNN LM 110可以确定每个句子的分数。例如,全句RNN LM 110可以将“.085”的分数612分配给标号606处所示的训练集句子,并将“0.01”的分数614分配给标号608处所示的冒充顶替句子。
在下一个步骤中,可以训练二元线性分类器620以将由全句RNN LM 110输出的分数分类为两个类别。例如,二元线性分类器620可以被训练以通过使用线性边界626来分类分数,以区分表示不正确的句子的第一类别622和表示正确句子的第二类别624之间的线性空间。NLP系统的执行顺序分类任务的性能可以通过由对第一类别622中的冒名顶替句子进行分类和对第二类别624中的测试数据句子进行分类的二元线性分类器620评定的分类准确度来评估。
图7图示了全句RNN语言模型的单层双向LSTM(BiLSTM)配置的一个示例的框图。
在一个示例中,在单层BiLSTM 700中,LSTM层730可以从开始到结束加载一次并且从结束到开始加载一次,这可以增加与单向LSTM相比BiLSTM学习顺序任务的速度。例如,BiLSTM 700可以在嵌入层720处接收输入w1,w2,…,wT710中的每一个,其中每个词w一个嵌入节点。在一个示例中,每个词通过嵌入层加载到LSTM层730内的两个LSTM,一个在循环的开始处,一个在循环的结束处。在一个示例中,来自LSTM层730的第一和最后一个LSTM输出可以将输出前馈到连接层740。在一个示例中,连接层740可以表示NN评分器420的层。连接层740可以连接输出,从而向下一个完全连接的(FC)742提供两倍的输出。FC 742获得句子的最终分数。在一个示例中,BiLSTM 700可以包括附加或替代尺寸的嵌入层720和LSTM层730,诸如在嵌入层720中包括200的嵌入尺寸,在LSTM层730中具有700个隐藏的LSTM单元。虽然在该示例中,图示了连接层740接收来自LSTM层730的第一和最后一个LSTM输出并且连接输出,但是在附加或替代示例中,连接层740可以接收附加的LSTM输出,并且在附加或替代示例中,连接层740可以由替代的NN评分层代替,该评分层将一个或多个评分函数应用于来自LSTM层730的多个输出。
图8图示了与在用于执行序列识别任务的NLP系统中实现的全句RNN LM相比较的n-gram LM的分类准确度的示例的框图。
在一个示例中,表806图示了测试集804的序列识别任务分类错误率,其可以由图6中的二元线性分类器620确定。在一个示例中,测试集804可以包括训练数据330的语料库,其包括回文(PAL)350、按字典顺序排序的词(SORT)352和表达日期(DATE)354中的一个或多个。在一个示例中,为了测试,可以选择测试集804的百分比,并且使用每个噪声采样器类型(包括如图6中所应用的sub任务、ins任务、del任务和rand任务)从日期测试集804为每个所选择的句子生成冒名顶替句子。
在一个示例中,表806图示了设置为4个词长度的n-gram LM 212和如在具有700个隐藏单元和200的嵌入尺寸的BiLSTM 700上训练的、使用随机梯度下降和具有512的小批量尺寸的NCE损失函数通过训练数据330训练的全句RNN LM 110的分类错误率。在一个示例中,对于每个时期(epoch),每个数据点由NCE 134生成一组20个噪声样本。在一个示例中,在训练期间,可以使用退火策略来调整学习速率,其中如果保持损失比先前的迭代差,则学习速率可以减半。
在该示例中,由sub任务、ins任务和del任务生成的冒名顶替句子的序列识别任务的全句RNN LM 110的分类准确度平均高于99%。相比之下,冒充顶替句子的序列识别任务的n-gram LM 212的分类准确度低于99%的准确度。在这个示例中,每个模型的准确度是根据每个模型从冒名顶替句子中对真实句子进行分类的能力来评估的。在一个示例中,全句RNN LM 110和n-gram LM 212之间的分类准确度的差异可能是因为全句RNN LM 110不需要做出像n-gram LM 212这样的局部条件模型中固有的条件独立性假设。
图9图示了全句RNN语言模型的单层单向LSTM配置的一个示例的框图。
在一个示例中,从左到右加载单层单向LSTM 900、LSTM层930。例如,单向LSTM 900可以在嵌入层920处接收输入w1,w2,…,wT910中的每一个,其中每个词w具有嵌入节点。在一个示例中,每个词通过嵌入层加载到LSTM层930内的LSTM,并且LSTM将词加载到LSTM层930内的下一个LSTM。在一个示例中,每个LSTM可以将输出前馈到均值汇集(mean pooling)层940。在一个示例中,均值汇集层940可以表示NN评分器420的层。均值汇集层940可以在每个时间步骤将隐藏状态上的输出汇集到传递到下一层FC 942的均值中,这获得句子的最终分数。在一个示例中,单向LSTM 900可以包括附加或替代尺寸的嵌入层920和LSTM层930。虽然在该示例中,图示了均值汇集层940接收来自LSTM层930的所有LSTM输出并且取输出的平均函数,但是在附加或替代示例中,均值汇集层940可以仅接收LSTM输出的选择并且在附近或替代示例中,均值汇集层940可以由替代的NN评分层代替,该评分层将一个或多个评分函数应用于来自LSTM层930的多个输出。
图10图示了与由在单向LSTM上应用的言语识别任务的NLP系统实现的全句RNN LM相比较的n-gram LM的词错误率的一个示例的框图。
在一个示例中,如表1010所示,对于言语识别应用,测试集可以包括Hub5Switchboard-2000基准任务(SWB)和内部对话交互任务(CI)。在一个示例中,每个测试集可以表示具有1.5小时的持续时间的数据集合,其由覆盖在礼宾(concierge)和其它类似应用域中的口头交互的重音数据组成。在一个示例中,对于言语识别应用,可以使用针对100个N最佳列表的最佳评分路径来执行评估。
在一个示例中,如表1010所示,可以针对单向LSTM 900上的SWB测试集训练全句RNN LM 110,其包括在嵌入层920中的512个嵌入节点和在LSTM层930中的512个隐藏层元素的投影层。此外,在一个示例中,如表1010所示,可以针对单向LSTM 900上的CI测试集训练全句RNN LM 110,其包括在嵌入层920中的256个嵌入节点和在LSTM层930中的256个隐藏层元素的投影层。
在一个示例中,用于在实现针对SWB测试的单向LSTM 900上训练的全句RNN LM110的NLP系统上执行言语识别的错误率是6.3%,其低于如果N-gram LM 212被实现为LM时的6.9%的错误率。此外,在一个示例中,在实现针对CI测试的单向LSTM 900上训练的全句RNN LM 110的NLP系统上执行言语识别的错误率是8.3%,其低于如果N-gram LM 212被实现为LM时的8.5%的错误率。在该示例中,全句RNN LM 110能够捕获足够的长期上下文并且纠正更多错误以改善自然语言处理应用的下游性能。
例如,对于“actually we were looking at the Saturn S L two”的参考句子,实现n-gram LM 212的言语识别系统可以允许输出“actually we were looking at theSaturday I sell to”中的多个错误并且实现全句RNN LM 110可以允许输出“actually wewere looking at the Saturn S L too”中的单个错误,其中n-gram LM预测输出包括比全句RNN LM预测输出更高的错误率%。在另一个示例中,对于“could you send some sodato room three four five”的参考句子,实现n-gram LM 212的言语识别系统可以允许输出“could you send some sort of to room three four five”中的错误,并且实现全句RNN LM 110可以正确输出“could you send some soda to room three four five”。
图11图示了其中可以实现本发明的一个实施例的计算机系统的一个示例的框图。本发明可以在各种系统和系统组合中执行、由诸如参考计算机系统1100描述的功能组件之类的功能组件构成,并且可以通信地连接到网络,诸如网络502。
计算机系统1100包括用于在计算机系统1100内传送信息的总线1122或其它通信设备,以及耦合到总线1122用于处理信息的至少一个硬件处理设备,诸如处理器1112。总线1122优选地包括通过桥和适配器连接并且在计算机系统1100内由多个总线控制器控制的低延迟和更高延迟的路径。当实现为服务器或节点时,计算机系统1100可以包括被设计用于提高网络服务能力的多个处理器。
处理器1112可以是至少一个通用处理器,其在正常操作期间在软件1150的控制下处理数据,软件1150可以包括应用软件、操作系统、中间件以及可从动态存储设备访问的其它代码和计算机可执行程序中的至少一个,动态存储设备诸如随机存取存储器(RAM)1114、诸如只读存储器(ROM)1116的静态存储设备、诸如大容量存储设备1118的数据存储设备,或其它数据存储介质。软件1150可以包括但不限于用于控制网络内的一个或多个系统的代码、应用、协议、接口和进程,网络包括但不限于适配器、交换机、服务器、集群系统和网格环境。
计算机系统1100可以与远程计算机(诸如服务器1140或远程客户端)通信。在一个示例中,服务器1140可以通过诸如网络1102的任何类型的网络、通过诸如网络接口532的通信接口、或在可以连接到例如网络1102的网络链路上连接到计算机系统1100。
在该示例中,网络环境内的多个系统可以经由网络1102通信地连接,网络1102是用于在各种设备和通信连接的计算机系统之间提供通信链路的介质。网络1102可以包括永久连接(诸如有线或光纤电缆)以及例如通过电话连接和无线传输连接进行的临时连接,并且可以包括路由器、交换机、网关和其它硬件,以实现经由网络1102连接的系统之间的通信信道。网络1102可以表示基于分组交换的网络、基于电话的网络、广播电视网络、局域网和有线区域网络、公共网络和受限网络中的一个或多个。
网络1102和经由网络1102通信地连接到计算机1100的系统可以实现一种或多种类型的网络协议栈的一个或多个层,其可以包括物理层、链路层、网络层、传输层、表示层和应用层中的一个或多个。例如,网络1102可以实现传输控制协议/互联网协议(TCP/IP)协议栈或开放系统互连(OSI)协议栈中的一个或多个。此外,例如,网络1102可以表示使用TCP/IP协议套件彼此通信的全球网络和网关的集合。网络1102可以实现安全HTTP协议层或其它安全性协议,以便保护系统之间的通信。
在该示例中,网络接口1132包括适配器1134,用于通过链路将计算机系统1100连接到网络1102,并且用于经由网络1102将计算机系统1100通信地连接到服务器1140或其它计算系统。虽然未绘出,但网络接口1132可以包括附加软件(诸如设备驱动程序),附加硬件和使得能够通信的其它控制器。当被实现为服务器时,计算机系统1100可以包括可经由例如连接到输入/输出控制器的多个外围组件互连(PCI)总线桥接器访问的多个通信接口。以这种方式,计算机系统1100允许经由多个单独端口连接到多个客户端,并且每个端口也可以支持到多个客户端的多个连接。
在一个实施例中,由处理器1112执行的操作可以控制图12-图13的流程图的操作和本文描述的其它操作。由处理器1112执行的操作可以由软件1150或其它代码请求,或者本发明的一个实施例的步骤可以由包含用于执行步骤的硬连线逻辑的特定硬件组件执行,或者由编程的计算机组件和定制硬件组件的任何组合执行。在一个实施例中,计算机系统1100的一个或多个组件或可以集成到计算机系统1100的一个或多个组件中的其它组件可以包含用于执行图12-图13中的流程图的操作的硬连线逻辑。
此外,计算机系统1100可以包括便于输入和输出的多个外围组件。这些外围组件连接到多个控制器、适配器和耦合到多级总线1122中的一个的扩展槽,诸如输入/输出(I/O)接口1126。例如,输入设备1124可以包括例如麦克风、视频捕获设备、图像扫描系统、键盘、鼠标或经由控制输入的I/O接口1126在总线1122上通信地启用的其它输入外围设备。此外,例如,经由I/O接口1126在总线1122上通信地启用的用于控制输出的输出设备1120可以包括例如一个或多个图形显示设备、音频扬声器和触觉可检测输出接口,但是也可以包括其它输出接口。在本发明的替代实施例中,可以添加附加的或替代的输入和输出外围组件。
参考图11,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域普通技术人员将认识到的是,图11中描绘的硬件可以变化。此外,本领域普通技术人员将认识到的是,所描绘的示例并不意味着暗示关于本发明的体系架构的限制。
图12图示了用于在RNN LSTM架构上训练全句RNN LM的处理和计算机程序的高级逻辑流程图。
在一个示例中,处理和程序在框1200处开始,并且此后进行到框1202。框1202图示了从训练数据中选择一个正确的句子。接下来,框1204图示了通过应用噪声采样器来创建N个不正确的句子。此后,框1206图示了通过RNN层将N+1个句子中的每个句子的前馈传递应用到NN评分器以便为每个完整句子生成单个值,以及附加NN层以便识别单值概率分数是正确还是不正确。接下来,框1208图示了训练模型以将正确的句子与其它句子分类,并且该处理结束。
图13图示了用于测试在RNN LSTM架构上实现全句RNN LM的NLP系统功能的处理和计算机程序产品的高级逻辑流程图。
在一个示例中,处理和计算机程序在框1300处开始,并且此后进行到框1302。框1302图示了从10%的生成数据中选择测试集。接下来,框1304图示了通过替换所选择的测试集句子中的一个词来生成冒名顶替句子。此后,框1306图示了通过使每个句子运行通过模型来为测试集句子和冒名顶替句子分配分数。接下来,框1308图示了通过由训练的二元线性分类器确定的分数的分类准确度来评估性能。
各图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示代码的模块、片段或部分,其包括用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。还应该注意的是,在一些替代实现中,框中提到的功能可以不按图中所示的顺序发生。例如,被示出为连续的两个框实际上可以基本上同时发生,或者这些框有时可以以相反的顺序发生,这取决于所涉及的功能。还应该注意的是,框图和/或流程图说明的每个框以及框图和/或流程图说明中的框的组合可以由执行指定功能或动作的基于专用硬件的系统、或专用硬件和计算机指令的组合来实现。
本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确说明。将进一步理解的是,当在本说明书中使用时,术语“包括”指定所述特征、整数、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、组件和/或其组。
以下权利要求中的所有部件或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于结合如具体要求保护的其它要求保护的元件执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了对本发明的一个或多个实施例的描述,但是并不旨在穷举或将本发明限于所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解本发明具有适合于预期的特定用途的各种修改的各种实施例。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然已经参考一个或多个实施例具体示出和描述了本发明,但是本领域技术人员将理解的是,在不脱离本发明的精神和范围的情况下,可以在其中做出形式和细节上的各种改变。

Claims (11)

1.一种方法,包括:
由计算机系统提供全句递归神经网络语言模型,以估计由自然语言处理所处理的每个全句为正确的似然概率;
由计算机系统对多个句子的语料库中的至少一个完整句子应用噪声对比估计采样器,以生成至少一个不正确的句子;
由计算机系统使用语料库中的所述至少一个完整句子和所述至少一个不正确的句子来训练全句递归神经网络语言模型,以将所述至少一个完整句子辨别为正确;以及
由计算机系统应用全句递归神经网络语言模型来估计由自然语言处理所处理的每个全句为正确的似然概率。
2.如权利要求1所述的方法,其中由计算机系统应用全句递归神经网络语言模型以估计由自然语言处理所处理的每个全句的似然概率还包括:
由计算机系统将全句递归神经网络语言模型应用于自然语言处理,包括对话交互、对话电话言语转录、多媒体字幕和翻译之一。
3.如权利要求1所述的方法,其中由计算机系统提供全句递归神经网络语言模型以估计由自然语言处理所处理的每个全句的似然概率还包括:
由计算机系统提供递归神经网络长短期记忆架构上的全句递归神经网络语言模型。
4.如权利要求1所述的方法,其中由计算机系统应用全句递归神经网络语言模型以估计由自然语言处理所处理的每个全句的似然概率还包括:
由计算机系统通过全句递归神经网络语言模型对每个全句的概率直接评分,而无需独立地计算每个全句中的每个单独词的条件概率。
5.如权利要求1所述的方法,其中由计算机系统对语料库中的至少一个完整句子应用噪声对比估计采样器以生成至少一个不正确的句子还包括:
由计算机系统通过执行对所述至少一个完整句子中的一个或多个词的替换、插入和删除之一来对语料库中的所述至少一个完整句子应用噪声对比估计采样器以生成所述至少一个不正确的句子。
6.如权利要求1所述的方法,其中由计算机系统对语料库中的至少一个完整句子应用噪声对比估计采样器以生成至少一个不正确的句子还包括:
由计算机系统随机选择语料库中的所述至少一个完整句子中的多个位置,以在所述至少一个完整句子中引入一个或多个词的替换、插入和删除来生成所述至少一个不正确的句子。
7.如权利要求1所述的方法,其中由计算机系统应用全句递归神经网络语言模型以估计由自然语言处理所处理的每个全句为正确的似然概率还包括:
由计算机系统选择语料库中的所述多个句子的选择;
由计算机系统对所述多个句子的选择中的每个句子应用噪声对比估计采样器,以生成多个冒充顶替句子;
由计算机系统将所述多个句子的选择和为每个句子生成的所述多个冒充顶替句子的冒充顶替句子的选择中的每个单独的每个句子集合应用于全句递归神经网络语言模型;
由计算机系统通过全句递归神经网络语言模型为每个句子生成第一分数以及为冒充顶替句子的选择生成至少一个附加分数;
由计算机系统应用线性边界,以将第一分数和附加分数分类在线性空间中的两个类别之一中,其中这两个类别表示不正确的句子和正确的句子;以及
由计算机系统基于对正确句子的类别中的第一分数和作为不正确的句子的至少一个附加分数的分类的准确度来评估自然语言处理系统在执行顺序分类任务时的准确度。
8.如权利要求1所述的方法,其中由计算机系统使用语料库中的所述至少一个完整句子和所述至少一个不正确的句子来训练全句递归神经网络语言模型以将所述至少一个完整句子辨别为正确还包括:
由计算机系统将语料库中的所述至少一个完整句子和所述至少一个不正确的句子中的每一个应用于至少一个递归神经网络层,该递归神经网络层包括用于将数据保持任意时间段的多个长短期记忆;
由计算机系统将来自所述多个长短期记忆中的每一个的输出推送到用于所述至少一个完整句子和所述至少一个不正确的句子中的每一个的神经网络评分器;
由神经网络评分器生成由所述至少一个递归神经网络层为所述至少一个完整句子和所述至少一个不正确的句子中的每一个分配的表示每个句子的非规格化概率的单独输出分数;以及
由接收来自全句递归神经网络语言模型的输出的神经网络层将每个单独输出分数评估为:输出数字1,如果输出分数是指示完整句子是正确的概率的话;输出数字0,如果输出分数是指示完整句子不正确的概率的话。
9.一种计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读存储设备,以及存储在所述一个或多个存储设备中的至少一个上用于由所述一个或多个处理器中的至少一个经由所述一个或多个存储器中的至少一个执行的程序指令,所存储的程序指令包括可操作以执行如权利要求1至8中任一项所述的方法的步骤的程序代码。
10.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质具有与其一起实现的程序指令,其中所述计算机可读存储介质本身不是瞬态信号,所述程序指令可由计算机执行以使所述计算机执行如权利要求1至8中任一项所述的方法中的步骤。
11.一种计算机系统,包括用于执行如权利要求1至8中任一项所述的方法的步骤的部件。
CN201910298712.9A 2018-04-16 2019-04-15 实现用于自然语言处理的全句递归神经网络语言模型 Active CN110389996B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/954,399 US10431210B1 (en) 2018-04-16 2018-04-16 Implementing a whole sentence recurrent neural network language model for natural language processing
US15/954,399 2018-04-16

Publications (2)

Publication Number Publication Date
CN110389996A true CN110389996A (zh) 2019-10-29
CN110389996B CN110389996B (zh) 2023-07-11

Family

ID=68063926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910298712.9A Active CN110389996B (zh) 2018-04-16 2019-04-15 实现用于自然语言处理的全句递归神经网络语言模型

Country Status (2)

Country Link
US (2) US10431210B1 (zh)
CN (1) CN110389996B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761187A (zh) * 2020-06-07 2021-12-07 南亚科技股份有限公司 自然语言处理系统与方法及计算机可读存储介质
CN116992942A (zh) * 2023-09-26 2023-11-03 苏州元脑智能科技有限公司 自然语言模型优化方法、装置、自然语言模型、设备和介质

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839792B2 (en) * 2019-02-05 2020-11-17 International Business Machines Corporation Recognition of out-of-vocabulary in direct acoustics-to-word speech recognition using acoustic word embedding
JP7298192B2 (ja) * 2019-03-01 2023-06-27 日本電信電話株式会社 生成装置、生成方法及びプログラム
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11636346B2 (en) * 2019-05-06 2023-04-25 Brown University Recurrent neural circuits
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11163620B2 (en) * 2019-05-20 2021-11-02 Fujitsu Limited Predicting API endpoint descriptions from API documentation
US11922294B2 (en) * 2019-05-22 2024-03-05 Servicenow Canada Inc. Neural network execution block using fully connected layers
US11289073B2 (en) * 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN111090981B (zh) * 2019-12-06 2022-04-15 中国人民解放军战略支援部队信息工程大学 基于双向长短时记忆网络的中文文本自动断句与标点生成模型构建方法及系统
US11544458B2 (en) * 2020-01-17 2023-01-03 Apple Inc. Automatic grammar detection and correction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
EP4200717A2 (en) * 2020-08-24 2023-06-28 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
CN112149406B (zh) * 2020-09-25 2023-09-08 中国电子科技集团公司第十五研究所 一种中文文本纠错方法及系统
KR20230156125A (ko) * 2021-03-24 2023-11-13 구글 엘엘씨 룩업 테이블 순환 언어 모델
CN113298365B (zh) * 2021-05-12 2023-12-01 北京信息科技大学 一种基于lstm的文化附加值评估方法
US20220382973A1 (en) * 2021-05-28 2022-12-01 Microsoft Technology Licensing, Llc Word Prediction Using Alternative N-gram Contexts
US11966428B2 (en) * 2021-07-01 2024-04-23 Microsoft Technology Licensing, Llc Resource-efficient sequence generation with dual-level contrastive learning
US11977854B2 (en) 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11790678B1 (en) * 2022-03-30 2023-10-17 Cometgaze Limited Method for identifying entity data in a data set

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140156260A1 (en) * 2012-11-30 2014-06-05 Microsoft Corporation Generating sentence completion questions
US8775341B1 (en) * 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US20150066496A1 (en) * 2013-09-02 2015-03-05 Microsoft Corporation Assignment of semantic labels to a sequence of words using neural network architectures
CN106126596A (zh) * 2016-06-20 2016-11-16 中国科学院自动化研究所 一种基于层次化记忆网络的问答方法
CN106126507A (zh) * 2016-06-22 2016-11-16 哈尔滨工业大学深圳研究生院 一种基于字符编码的深度神经翻译方法及系统
US20170061250A1 (en) * 2015-08-28 2017-03-02 Microsoft Technology Licensing, Llc Discovery of semantic similarities between images and text
CN106649514A (zh) * 2015-10-16 2017-05-10 百度(美国)有限责任公司 用于受人启发的简单问答(hisqa)的系统和方法
US20170150235A1 (en) * 2015-11-20 2017-05-25 Microsoft Technology Licensing, Llc Jointly Modeling Embedding and Translation to Bridge Video and Language
CN106782518A (zh) * 2016-11-25 2017-05-31 深圳市唯特视科技有限公司 一种基于分层循环神经网络语言模型的语音识别方法
US20170221486A1 (en) * 2016-01-29 2017-08-03 International Business Machines Corporation Approach to reducing the response time of a speech interface
US20170270100A1 (en) * 2016-03-18 2017-09-21 International Business Machines Corporation External Word Embedding Neural Network Language Models
CN107292086A (zh) * 2016-04-07 2017-10-24 西门子保健有限责任公司 图像分析问答
WO2018043598A1 (ja) * 2016-09-05 2018-03-08 国立研究開発法人情報通信研究機構 文脈解析装置及びそのためのコンピュータプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE256331T1 (de) 1998-09-01 2003-12-15 Swisscom Ag Neuronales netzwerk und seine anwendung für die spracherkennung
US8700403B2 (en) 2005-11-03 2014-04-15 Robert Bosch Gmbh Unified treatment of data-sparseness and data-overfitting in maximum entropy modeling
US11495213B2 (en) 2012-07-23 2022-11-08 University Of Southern California Noise speed-ups in hidden markov models with applications to speech recognition
US20150032449A1 (en) 2013-07-26 2015-01-29 Nuance Communications, Inc. Method and Apparatus for Using Convolutional Neural Networks in Speech Recognition
US20150095017A1 (en) 2013-09-27 2015-04-02 Google Inc. System and method for learning word embeddings using neural language models
US9412365B2 (en) 2014-03-24 2016-08-09 Google Inc. Enhanced maximum entropy models
US20160034814A1 (en) 2014-08-01 2016-02-04 University Of Southern California Noise-boosted back propagation and deep learning neural networks
JP6847386B2 (ja) 2016-09-09 2021-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ニューラルネットワークの正則化
US11182665B2 (en) 2016-09-21 2021-11-23 International Business Machines Corporation Recurrent neural network processing pooling operation
US10372821B2 (en) * 2017-03-17 2019-08-06 Adobe Inc. Identification of reading order text segments with a probabilistic language model
US11062179B2 (en) * 2017-11-02 2021-07-13 Royal Bank Of Canada Method and device for generative adversarial network training

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775341B1 (en) * 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US20140156260A1 (en) * 2012-11-30 2014-06-05 Microsoft Corporation Generating sentence completion questions
US20150066496A1 (en) * 2013-09-02 2015-03-05 Microsoft Corporation Assignment of semantic labels to a sequence of words using neural network architectures
US20170061250A1 (en) * 2015-08-28 2017-03-02 Microsoft Technology Licensing, Llc Discovery of semantic similarities between images and text
CN106649514A (zh) * 2015-10-16 2017-05-10 百度(美国)有限责任公司 用于受人启发的简单问答(hisqa)的系统和方法
US20170150235A1 (en) * 2015-11-20 2017-05-25 Microsoft Technology Licensing, Llc Jointly Modeling Embedding and Translation to Bridge Video and Language
US20170221486A1 (en) * 2016-01-29 2017-08-03 International Business Machines Corporation Approach to reducing the response time of a speech interface
US20170270100A1 (en) * 2016-03-18 2017-09-21 International Business Machines Corporation External Word Embedding Neural Network Language Models
CN107292086A (zh) * 2016-04-07 2017-10-24 西门子保健有限责任公司 图像分析问答
CN106126596A (zh) * 2016-06-20 2016-11-16 中国科学院自动化研究所 一种基于层次化记忆网络的问答方法
CN106126507A (zh) * 2016-06-22 2016-11-16 哈尔滨工业大学深圳研究生院 一种基于字符编码的深度神经翻译方法及系统
WO2018043598A1 (ja) * 2016-09-05 2018-03-08 国立研究開発法人情報通信研究機構 文脈解析装置及びそのためのコンピュータプログラム
CN106782518A (zh) * 2016-11-25 2017-05-31 深圳市唯特视科技有限公司 一种基于分层循环神经网络语言模型的语音识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何永强等: "基于深度神经网络的嵌入式向量及话题模型", 《计算机工程与设计》, vol. 37, no. 12 *
李华;屈丹;张文林;王炳锡;梁玉龙;: "结合全局词向量特征的循环神经网络语言模型", 《信号处理》, vol. 32, no. 06 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761187A (zh) * 2020-06-07 2021-12-07 南亚科技股份有限公司 自然语言处理系统与方法及计算机可读存储介质
CN116992942A (zh) * 2023-09-26 2023-11-03 苏州元脑智能科技有限公司 自然语言模型优化方法、装置、自然语言模型、设备和介质
CN116992942B (zh) * 2023-09-26 2024-02-02 苏州元脑智能科技有限公司 自然语言模型优化方法、装置、自然语言模型、设备和介质

Also Published As

Publication number Publication date
CN110389996B (zh) 2023-07-11
US20190318732A1 (en) 2019-10-17
US10692488B2 (en) 2020-06-23
US20200013393A1 (en) 2020-01-09
US10431210B1 (en) 2019-10-01

Similar Documents

Publication Publication Date Title
CN110389996A (zh) 实现用于自然语言处理的全句递归神经网络语言模型
Kumar et al. Gated mechanism for attention based multi modal sentiment analysis
US11586930B2 (en) Conditional teacher-student learning for model training
US10354656B2 (en) Speaker recognition
WO2021174757A1 (zh) 语音情绪识别方法、装置、电子设备及计算机可读存储介质
Chernykh et al. Emotion recognition from speech with recurrent neural networks
CN109036384B (zh) 语音识别方法和装置
US9058811B2 (en) Speech synthesis with fuzzy heteronym prediction using decision trees
CN112270379A (zh) 分类模型的训练方法、样本分类方法、装置和设备
CN107515850A (zh) 确定多音字发音的方法、装置和系统
CN104903954A (zh) 使用基于人工神经网络的亚语音单位区分的说话人验证及识别
CN111506732B (zh) 一种文本多层次标签分类方法
CN112084327A (zh) 在保留语义的同时对稀疏标注的文本文档的分类
Masumura et al. Large context end-to-end automatic speech recognition via extension of hierarchical recurrent encoder-decoder models
CN110059799A (zh) 包含中间层背景的神经网络的生成
Huang et al. Whole sentence neural language models
CN110637321A (zh) 动态申索提交系统
CN116049387A (zh) 一种基于图卷积的短文本分类方法、装置、介质
JP6810580B2 (ja) 言語モデル学習装置およびそのプログラム
CN115205930A (zh) 一种基于决策融合的多模态情感分类方法
US20220385703A1 (en) Cognitively learning to generate scripts that simulate live-agent actions and responses in synchronous conferencing
US10229685B2 (en) Symbol sequence estimation in speech
WO2024077906A1 (zh) 语音文本生成方法、语音文本生成模型的训练方法、装置
KR20210051523A (ko) 도메인 자동 분류 대화 시스템
Serban et al. Text-based speaker identification for multi-participant opendomain dialogue systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant