CN110555097A - 在口语语言理解中利用联合的指针和注意力的槽位填充 - Google Patents
在口语语言理解中利用联合的指针和注意力的槽位填充 Download PDFInfo
- Publication number
- CN110555097A CN110555097A CN201910463112.3A CN201910463112A CN110555097A CN 110555097 A CN110555097 A CN 110555097A CN 201910463112 A CN201910463112 A CN 201910463112A CN 110555097 A CN110555097 A CN 110555097A
- Authority
- CN
- China
- Prior art keywords
- slot
- words
- rnn
- probability distribution
- word
- 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.)
- Pending
Links
- 238000009826 distribution Methods 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000007246 mechanism Effects 0.000 claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 claims abstract description 13
- 230000000306 recurrent effect Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 48
- 238000012549 training Methods 0.000 description 35
- 210000002569 neuron Anatomy 0.000 description 11
- 238000013527 convolutional neural network Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 5
- 241000288105 Grus Species 0.000 description 4
- 238000012552 review Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 101100410811 Mus musculus Pxt1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
公开了在口语语言理解中利用联合的指针和注意力的槽位填充。一种用于自动口语语言理解(SLU)***中的槽位填充的方法,其包括:接收文本短语中的词;使用具有注意力机制的循环神经网络(RNN)编码器来生成经编码的输出和注意力权重;分别使用RNN解码器和指针网络针对时间步长生成扩展的槽位词汇表数据库中的槽位词的第一和第二概率分布;基于第一和第二概率分布来生成组合的概率分布;以及标识与在扩展的槽位词汇表数据库中在时间步长内具有在组合的概率分布上的最高概率值的一个词相对应的槽位词。
Description
要求优先权。
本申请要求于2018年5月31日提交的并且题为“Slot Filling in SpokenLanguage Understanding with Joint Pointer and Attention(在口语语言理解中利用联合的指针和注意力的槽位填充)”的美国临时申请No.62/678,406的权益,该美国临时申请的全部内容被通过引用明确地合并于此。
技术领域
本公开一般涉及自动口语语言理解的领域,并且更具体地,涉及用于在口语语言理解***中的槽位填充中使用联合的指针和注意力机制的***和方法。
背景技术
除非在此另外指示,否则本节中描述的材料对于本申请中的权利要求而言并非是现有技术并且并不因为包括于本节中而被承认是现有技术。
口语语言理解(SLU)***把由人类语音表达的语言处理成通过机器可理解的语义表示。SLU是所有会话AI***的关键组件。SLU的一般任务牵涉从话语中确定意图和填充槽位。意图确定任务可以被认为是语义话语分类问题,而槽位填充任务能够被处理为邻近词的序列标注问题。用以解决这两个相关任务的先前方法典型地被提出为两个分离的***,诸如用于意图确定的支持向量机(SVM)和用于槽位填充的条件随机场(CRF)。
在神经网络—尤其是循环神经网络(RNN)—方面最近的进展,允许意图确定和槽位填充这两者的联合训练模型。该框架较之先前技术发展水平的技术显示出优势,并且已经在研究界中取得很多关注。联合模型的成功是由注意力机制和编码器-解码器模型贡献的。注意力机制允许对输入序列的优化的选择以用于针对内容和位置信息这两者进行解码。
一般来说,SLU***被部署为口语对话***的下游任务,其中它的输入是来自前端自动语音识别(ASR)引擎的输出。SLU***的任务之一是将ASR在用户的输入语音中识别的词分派到在槽位填充操作中的槽位。如在此使用的那样,术语“槽位”指代机器可理解的数据字段,其被利用SLU***中的自然语言输入中的一个或多个输入词来填充。例如,输入到家庭自动化***中的一组口语语言请求激活加热器。所述输入包括多个槽位,多个槽位包括命令槽位、指示要被激活的设备类型(例如,加热器)的槽位、以及包括针对设备的设置(例如,将温度设置为40℃)的另外的槽位。一旦分派到槽位,自动***就使用针对每个槽位的输入词来执行附加的操作,诸如使用在上面提供的示例来操作家庭自动化***中的组件。
前述示例使用一组可枚举的槽位,其中针对给定***中的每个槽位都存在很好地限定的数量的有效输入(例如,很好地限定的有效命令、自动化设备、以及有效数字温度值的集合),但是并非所有SLU***都能够利用具有很好地限定的可枚举值的集合的槽位进行操作。一些现有技术SLU***使用机器学习分类器,所述机器学习分类器是使用经注释的训练数据训练的以识别口语语言输入中针对不同词的槽位。然而,当槽位可能是被利用原始训练数据中没有被很好表示的或者完全不存在于原始训练数据的词填充时,这些现有技术SLU***可能在执行槽位填充操作当中存在困难。首先,一些类型的槽位可能具有大量的或者甚至无限数量的可能值,因此分类器可能遭受数据稀疏性问题,因为可用的训练数据的集合通常是有限的并且对于某些类型的槽位而言甚至大的训练数据集合也不能对大部分的正确输入进行分类。另一个问题是由未知的槽位值(例如,餐厅名称和街道名称)所引起的词汇表外(out-of-vocabulary)的词产生的,在训练数据中预先限定词汇表外的词并不现实并且词汇表外的词在真实世界的口语对话应用中是非常常见的。因此,对增加口语语言理解***的精确度的方法和***的改进将是有益的。
发明内容
为了应对有关现有技术SLU***的挑战,在此描述的实施例使用非对准的对话数据来呈现神经生成模型以用于槽位填充,特别是用于槽位值预测,因为它具有由OOV词引起的更多挑战。该模型使用Seq2Seq学习来从话语中预测槽位值的序列。受指针网络(Ptr-Net)在应对OOV问题上的能力的启发,我们将Ptr-Net合并到标准的Seq2Seq注意力模型中以处置OOV槽位。在此描述的实施例能够通过或者从固定词汇表生成一个词或者从话语中选择词来预测槽位值。最终的模型是两种操作的加权组合。
在此描述的实施例将神经生成模型用于对于没有词级注释的数据的槽位填充。在此描述的实施例使用指针网络以处置槽位值预测中的OOV问题,其较之现有技术实现了改进的性能,而不要求手动设计的规则或者特征。
口语语言理解(SLU)***从用户接收自然语言中的命令或者查询,并且输出在用户输入中标识的意图和槽位。SLU***通过联合地使用序列到序列神经网络和指针网络来标识针对槽位的词,以便专门处置许多口语对话应用中的词汇表外的问题。该***进一步使用卷积神经网络来标识用户意图和槽位的类型。槽位值和用户意图类型的标识可以在或者管线或者联合框架中进行。
在一个实施例中,一种用于操作口语语言理解(SLU)***的方法包括:利用SLU***中的处理器接收文本短语中的多个词;利用处理器使用接收多个词作为对于具有注意力机制的循环神经网络(RNN)编码器的输入的该RNN编码器来生成与多个词对应的经编码的输出和与多个词对应的多个注意力权重;利用处理器使用接收来自RNN编码器的经编码的输出作为输入的RNN解码器来生成与扩展的槽位词汇表数据库中的多个词是在时间步长上的槽位词相对应的第一概率分布;利用处理器使用接收多个注意力权重作为输入的指针网络来生成与输入序列中的多个词是在时间步长上的槽位词相对应的第二概率分布;利用处理器基于第一概率分布和第二概率分布生成组合的概率分布;利用处理器标识与扩展的槽位词汇表数据库中在时间步长内具有在组合的概率分布上的最高概率值的一个词相对应的槽位词;以及利用处理器,使用槽位词作为对于命令的参数来执行命令。
在另一个实施例中,已经开发了用于口语语言理解(SLU)的***。***包括输入设备、输出设备、存储器、以及操作地连接到输入设备、输出设备、以及存储器的处理器。处理器被配置为:基于利用输入设备接收的输入来接收文本短语中的多个词;使用存储在存储器中的接收多个词作为对于具有注意力机制的循环神经网络(RNN)编码器的输入的该RNN编码器来生成与多个词对应的经编码的输出和与多个词对应的多个注意力权重;使用存储在存储器中的接收来自RNN编码器的经编码的输出作为输入的RNN解码器来生成与存储在存储器中的扩展的槽位词汇表数据库中的多个词是在时间步长上的槽位词相对应的第一概率分布;使用接收多个注意力权重作为输入的指针网络来生成与输入序列中的多个词是在时间步长上的槽位词相对应的第二概率分布;基于第一概率分布和第二概率分布来生成组合的概率分布;标识与扩展的槽位词汇表数据库中在时间步长内具有在组合的概率分布上的最高概率值的一个词相对应的槽位词;以及使用槽位词作为对于命令的参数来执行命令以利用输出设备产生输出。
附图说明
图1是自动口语语言理解(SLU)***的一个实施例的示意性示图。
图2是在针对文本短语中的词的序列执行槽位填充操作时的图1的实施例的示意性示图。
图3是用于在SLU***中标识槽位词并且使用槽位词的处理的框图。
具体实施方式
出于提升对在此公开的实施例的原理的理解的目的,现在参照以下书面说明中的附图和描述。不意图通过引用来对主题的范围进行限制。本公开还包括对所说明的实施例的任何替换和修改,并且包括如本公开所涉及的本领域技术人员通常会想到的对所公开实施例的原理的进一步应用。
如在此使用的那样,术语循环神经网络(RNN)指代接收一系列输入并且生成一系列输出的一种类型的神经网络,其中对于RNN的每个输入影响RNN的内部状态以向RNN提供“记忆”,在该“记忆”中RNN的输出不仅受当前输入的影响,而且还在RNN的已经基于先前接收的输入而被改变的内部状态上受影响。不同类型的RNN包括采用门控循环单元(GRU)、长短期记忆(LSTM)单元、或者对现有技术来说是已知的其它单元的神经元,其中每个“单元”还被称为RNN中的神经元。在RNN编码器/解码器网络中,编码器包括接收输入序列并且生成经编码的输出的一个或多个单元,经编码的输出典型地采用数字向量或者其它适合结构的形式,其包括关于序列中的输入中的每个的编码信息。在此描述的实施例中,输入的序列指代映射到输入序列中的词的数字值。编码器保留针对序列中的每个输入进行更新的内部“隐藏状态”h,其被建模为一系列时间步长t,其中RNN编码器在每一时间步长中接收附加的输入。编码器的最终输出包括关于在序列中接收的所有输入的编码信息。
在RNN编码器/解码器网络中,解码器是从RNN编码器接收与最终的隐藏状态h对应的经编码的输出向量作为输入的另一个RNN。RNN解码器发出输出的序列,其在此处描述的具体实施例中是预先确定的槽位词汇表内的不同词的概率分布Pgen,所述槽位词汇表可以包括不在原始输入中的词,输出的序列与在时间步长序列期间的槽位对应。因此,RNN编码器/解码器网络发出应该被应用于各槽位的词的序列,并且然后分离机制使用RNN解码器和在下面描述的指针网络的联合输出以在SLU操作期间利用所生成的词来填充槽位。该处理还从初始输入序列的文本短语中的多个词过滤不对应于任何槽位的词。如在上面描述的那样,常规的RNN解码器的一个缺点是训练处理在标识可能对应于槽位但是在训练数据中没有被很好地表示的词汇表外(OOV)的词方面不太有效。在本公开的上下文中,OOV意味着词可以由自动语音识别前端标识,但是该词并非直接地可分派到具有包括在原始训练数据中的预先确定数量的可能输入的可枚举槽位。相反,能够被分派到可枚举槽位并且被包括在训练数据中的词被称为“词汇表内”的词。
在此描述的实施例使用单向RNN和双向RNN这两者。单向RNN合并有一个或多个神经元以基于在时间上在一个方向(虽然其通常不是排它地从序列中的最早输入到序列中的最晚输入)上行进的一系列输入值生成一系列输出。一些RNN使用多层神经元,虽然在此描述的实施例可以利用单层或者多层的神经元来实现。双向RNN包括至少两个神经元(诸如GRU的两个实例)以生成在时间上向前行进和在时间上向后行进这两者的输出。对于在此描述的实施例而言,在使用RNN之前的所有的输入数据都是可用的,因此在时间上“向后”行进简单地意味着RNN中的一个神经元或者一组神经元从输入中的最后的值开始并且向后迭代到第一个输入值以合并来自序列中的未来值而不是序列中的先前值的隐藏状态和语境信息,这实际上是向前时间的RNN在时间上反转的配置。RNN中的另一个神经元或者另一组神经元以与单向GRU类似的方式生成从序列中的最早输入开始的输出。双向RNN的输出是例如基于针对向前方向RNN和向后方向RNN这两者的数字隐藏状态变量输出的两个向量的组合,以产生针对序列中的每个输入值的、受序列中的先前值和后续值这两者影响的输出。
如在上面描述的那样,在标准RNN中,编码器生成对关于序列中所有输入的信息进行编码的单个输出向量。如在此使用的那样,术语“注意力机制”指代如下的附加处理:其使得RNN编码器/解码器能够包括关于序列中的未被直接编码到RNN编码器的输出向量中的词的位置的附加信息。注意力机制基于两个不同的隐藏状态的得分函数生成多个数字注意力权重值。得分函数的示例包括或者,其中术语h t 是在当前时间步长t处的解码器隐藏状态的向量,是序列中的第s个编码器隐藏状态的向量,并且术语v a ,W,W 1 ,以及W 2 表示在RNN编码器/解码器框架的训练期间学习的数字权重参数。更一般地,得分函数基于编码器隐藏状态和解码器隐藏状态之间的相关性来计算在解码器时间步长t处的得分,因此获得对输入序列中的不同词的关注或者“注意力”。在一个实施例中,RNN编码器使用注意力机制以针对总共S个源隐藏状态使用以下函数而基于得分产生数字注意力权重值a ts :。注意力机制使用注意力权重以使用例如以下函数和 来生成语境向量c和注意力向量a t ,其中W c 是另一个权重值。采用前馈神经网络来确定注意力得分的注意力机制的其它实施例也是在本领域中已知的。除了RNN编码器的标准输出向量之外,RNN解码器还能够使用注意力机制的输出以通过使用对应于原始输入中的词的序列的注意力得分来改进生成解码输出的精确度以在生成按次序的输出时关注于不同的输入词。
如在此使用的那样,术语“指针网络”指代如下的解码器机制:其能够被用于基于在RNN编码器中生成的注意力得分来在解码器中选择序列中的输入元素,诸如来自词的序列的词。在每个解码步骤处,指针网络基于注意力分布从输入序列选择位置而不是从目标词汇表生成令牌。例如,指针网络接收输入序列,并且在时间步长t处基于以下函数生成输出y t :,其中w是输入词,是在步长t处位置i的注意力权重。P ptr 的值是包括词汇表内的词和词汇表外的词的词的概率分布,各词是由指针网络在每个解码器时间步长t处生成的,其中每个时间步长对应于输出序列Y中的一个词。在此描述的实施例将RNN解码器的输出和指针网络的输出进行组合以基于扩展的词汇表标识来自输入的槽位词,其中再一次地,槽位词不一定必须出现在原始输入中。如在此使用的那样,术语“扩展的词汇表”指示用于可枚举的槽位的在训练数据中被很好地表示的槽位词汇表(词汇表内的词)和来自输入话语的其它词(其进一步包括词汇表外的词)的合集。
图1描绘口语语言理解(SLU)***100,其标识用于槽位填充操作的包括词汇表内的词和词汇表外的词这两者的槽位词。***100包括音频输入设备104、输出设备112、处理器128、以及存储器132。实现***100的硬件实施例的示例包括:例如,车载信息***、个人计算机、诸如智能手机或者可穿戴计算设备的移动电子设备等。虽然出于说明性的目的将***100描绘为单个计算设备,但是在一些实施例中,***100包括经由音频输入设备104接收输入、经由输出设备112生成输出、并且经由数据网络将记录的音频数据或者在客户机中实现的自动语音识别***的输出传输到外部服务器计算***的客户机设备。然后外部服务器计算***执行附加的处理以标识槽位并且将最终结果传输到客户机计算设备。在任一实施例中,对诸如处理器128的处理器的操作的引用可互换地指代计算设备中的单个处理器或者多个计算设备中的多个处理器的操作,所述多个计算设备与彼此互操作以实现在此描述的功能。
在***100中,音频输入设备104是例如接收来自人类用户的口语输入的麦克风或者一系列麦克风。音频输入设备104可选择地包括附加电路,其包括滤波器、放大器、和模数转换器,模数转换器产生输入语音的数字化表示的音频数据,以用于由处理器128进行附加的处理。虽然图1描绘音频输入设备104,但是替换的实施例使用使得***100能够接收对应于人类输入的一系列词的另外的输入设备,诸如键盘或者手势输入设备。
在***100中,输出设备112是例如在对话***中产生输出的音频输出设备或者视觉显示设备。输出至少部分地基于从用户经由音频输入设备104提供给***100的信息。如在下面更详细地描述的那样,***100从用户接收语音或者文本输入,对输入进行编码,并且执行槽位填充操作以将槽位分派给原始输入中的至少一些词。***100利用在口语语言理解框架中可理解的特定术语来处理槽位以基于来自用户的输入产生输出响应。虽然输出设备112向用户提供基于来自用户的输入来模拟由用户期望的对话响应的输出,但是***100以自动的方式生成对话响应。
在***100中,处理器128是数字逻辑设备,其包括:例如,微处理器中央处理单元(CPU)、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、专用集成电路(ASIC)、或者执行在此描述的***100的功能和动作的任何其它适合的数字逻辑设备中的一个或多个。在一些实施例中,虽然处理器128包括以高效的方式实现在此描述的RNN编码器和解码器的操作的加速硬件,但是包括CPU和GPU的其它处理硬件也能够实现RNN编码器和解码器。处理器128可操作地连接到音频输入设备104、输出设备112、以及存储器132。
在***100中,存储器132包括诸如随机存取存储器(RAM)的一个或多个易失性存储器设备和诸如磁盘或者固态硬盘的一个或多个非易失性存储器设备。存储器132存储实现语音识别器136、意图分类器138、包括注意力机制的RNN编码器140、进一步包括RNN解码器146和指针网络148的槽位词解码器144、扩展的槽位词汇表数据库162、以及槽位数据库166的编程指令134和数据。
在存储器132中,语音识别器136是现有技术的自动语音识别(ASR)引擎,其包括例如将***100从音频输入设备104接收的音频数据转换成文本短语中的词的机器可读表示的序列的软件和模型。ARS 136包括自动语音识别***的任何适合的实施例,包括使用隐马尔可夫模型、以及包括“深度学习”神经网络模型的各种类型的神经网络的那些***。***100使用语音识别器136来生成文本词的序列,文本词用作为用于在此描述的口语语言理解处理的其余部分的基础。
在存储器132中,槽位和意图分类器138是识别来自用户的文本的输入序列的槽位和意图的神经网络。在一个实施例中,槽位和意图分类器138是卷积神经网络(CNN)。在另一个实施例中,意图分类器138是能够接收RNN编码器140的输出并且与RNN编码器140联合地被训练的RNN解码器。如在现有技术中已知的术语“意图”指代由SLU***基于来自用户的输入识别的所意图的命令或者查询。意图的一个示例是请求导航***基于用户查询的要素来标识餐厅,其中用户查询中的特定要素提供对应于查询中的槽位的词。槽位分类器138接收***100在下面进一步详细地描述的处理300期间生成的槽位词,并且处理300提供具有对应于SLU操作中的槽位的高概率的词,而不要求槽位分类器138处理原始输入的中的每个词,这进而改进了槽位分类的精确度。在一些实施例中,除了槽位词之外,槽位分类器还从意图分类器接收意图标识符作为输入,所述意图标识符提供语境以使得槽位分类器138能够以更高的精确度来针对槽位词标识槽位数据库166中的槽位。
在存储器132中,RNN编码器140是接收对应于输入序列中的词的数字值序列并且基于输入生成多个词的第一编码表示作为隐藏状态数字输出值h的第一向量的RNN。处理器128还使用产生在上面描述的注意力权重的注意力机制来实现RNN编码器140。在图1的实施例中,虽然RNN编码器140是使用至少两个GRU来实现的双向RNN编码器,但是在其它实施例中,RNN编码器可以是单向编码器。
在存储器132中,槽位词解码器144使用来自RNN编码器140的隐藏状态编码输出和注意力权重这两者基于输入序列中的词来发出槽位词的序列作为输出。术语“槽位词”指代扩展的槽位词汇表数据库162中的词,槽位词解码器144在解码序列的每个时间步长上生成所述槽位词以用作为槽位分类器138的输入。虽然槽位词可以是存在于原始输入序列中的词,但是槽位词解码器144也可以发出在原始输入序列中不存在的槽位词。附加地,在一些情况下,槽位解码器144并不发出来自原始输入序列的词作为槽位词。
槽位解码器144包括RNN解码器146和指针网络148。在图1的实施例中,RNN解码器146是被实现为具有至少一个GRU的RNN的单向解码器。RNN解码器146使用RNN编码器140的最终隐藏状态作为输入并且可选择地使用来自RNN编码器140的注意力机制的注意力向量以改进输出的精确度。RNN解码器146发出针对包含在扩展的槽位词汇表数据库162中的最可能的词汇表内的槽位词的一系列概率分布。在一些实施例中,RNN解码器146还使用RNN编码器140的注意力机制的输出来使得RNN解码器146能够使用注意力向量来生成词汇表内的槽位词的概率分布。RNN解码器146的输出生成具有针对存储在扩展的槽位词汇表数据库162中的可枚举的词汇表内的词的词的潜在非零概率值的概率分布,并且RNN解码器146的输出可以包括针对不存在于原始输入中的词汇表内的词的高概率值。
指针网络148从RNN编码器140的注意力机制140接收注意力权重作为输入,并且生成被分派给输入序列中的每个词的槽位的另一个概率分布。指针网络148的输出生成具有针对如下的槽位词的最高概率值的概率分布:所述槽位词被存储为扩展的槽位词汇表数据库162中的词汇表外的词,并且存在于词的原始输入序列中,但是一般不被RNN解码器146以高精确度识别。来自槽位词解码器144的最终输出是提供一个或多个槽位词的RNN解码器146和指针网络148的输出的组合。槽位词解码器144提供“扩展的词汇表”,因为槽位词解码器144使用针对词汇表内的槽位词和词汇表外的槽位词这两者的组合的概率分布来生成槽位词。作为附加的对话处理的一部分,***100或者另外的自动口语语言***使用槽位词来填充一个或多个槽位。
在存储器132中,扩展的槽位词汇表数据库162存储所有词和数字值的扩展词汇表,其包括能够被分派到可枚举槽位并且在训练处理期间被很好地表示的词汇表内的词以及能够由ASR 136识别但是在RNN编码器140和槽位词解码器144的训练期间没有被很好地表示的词汇表外的词这两者。这样,包含在扩展的槽位词汇表数据库162中的词的准确集合取决于***100被配置为对其进行处理的所识别的词的总语料库,并且因为扩展的槽位词汇表数据库162包括扩展的词汇,所以扩展的槽位词汇表数据库162包括在RNN编码器140和RNN解码器146的训练中被很好地表示的“词汇表内”的词以及在训练处理期间没有被很好地表示的“词汇表外”的词这两者。在***100的操作期间,槽位词解码器144中的RNN解码器146使用从RNN编码器140接收的隐藏状态h以标识扩展的槽位词汇表数据库162中对应于具有最高概率的槽位的词汇表内的词,并且使用指针网络148以标识对应于具有最高概率的槽位的词汇表外的词。
在存储器132中,槽位数据库166存储预先确定的槽位标签的集合,当槽位分类器138被提供有槽位词输入时,所述槽位标签对应于槽位分类器138的输出。槽位数据库166还存储默认NULL值槽位,其用作为用于不直接对应于特定槽位的槽位词的全部捕获标识符。例如,在一种配置中,槽位词解码器144生成可以对应于槽位数据库166中的槽位中的一个的槽位词的输出序列,槽位分类器138接收词并且生成具有映射到槽位数据库166中的不同槽位的索引值的要素的概率分布的输出。处理器128能够使用槽位数据库166来标识被分派给槽位词的槽位。***100然后结合槽位使用槽位词以执行进一步的处理,诸如制定数据库查询,数据库查询具有利用对应于槽位数据库166中的槽位的词填充的数据库查询中的不同字段。槽位数据库166中的槽位的确切值能够基于SLU***100被针对其进行训练的域而变化以提供与用户的交互,并且作为非限制性示例,一个域是车载导航***,其接收针对各种地标的请求,地标包括车辆可以向其行驶的餐厅或者位置。槽位数据库166是在训练处理之前生成的并且与RNN编码器140和槽位词解码器144的训练处理结合使用以生成对应于槽位数据库166中的槽位的输出。
在一个示例中,***100被配置为执行用于车载导航***的SLU操作。一组预先确定的训练数据提供预先确定的文本短语和对应于文本训练短语中的词的对应的一组预先确定的槽位。训练处理的结果是一组参数,其调整RNN编码器140和槽位词解码器144中的GRU或者其它神经元以使得当在此处描述的联合模型中一起使用具有注意力机制的RNN编码器140和具有RNN解码器146和指针网络148的槽位词解码器144时,编码器140和解码器144能够基于训练数据将槽位分派给输入文本中的词。因为训练数据被选择为代表在***100的操作期间期望接收的实际输入,所以当与存在于训练数据中的输入文本和词汇表内的术语的另一个序列一起呈现时,训练的RNN也具有产生精确的输出的高可能性。当词汇表外的词存在于输入中时,指针网络改进***100在执行槽位填充操作上的操作,并且训练处理将权重分派给指针网络。附加地,训练处理使用在训练处理开始之前定义的超参数,其定义用于训练RNN编码器和解码器的各种参数,包括指定学习速率、小批量大小(minibatch)(使用在现有技术中另外已知的小批量梯度下降训练处理中)、以及丢弃率(dropout rate)的超参数。如在现有技术中已知的那样,GRU使用可以包括可训练参数:的S型(sigmoid)函数,并且训练处理将值分派给RNN编码器/解码器、注意力机制、以及指针网络中的权重和参数。在***100中,存储器132存储参数数据、权重、以及在下面更详细地描述的处理300的推断操作之前实现槽位和意图分类器138、RNN编码器140、以及槽位词解码器144的其它数据结构。
图3描绘用于处理语音识别器的输出以执行槽位填充操作的口语语言理解(SLU)***的操作的处理300。处理300也被称为推断处理,因为处理200连同***100中的注意力机制和指针网络一起使用先前训练的RNN编码器和解码器来执行作为SLU***的一部分的槽位填充。在以下描述中,对执行功能或者动作的处理300的引用指代处理器的用于如下的操作:执行存储的程序指令以结合自动口语语言理解***中的组件执行操作。例如,在下面的描述包括对RNN编码器、注意力机制、RNN解码器、以及指针网络的描述,其指代由处理器用于如下而执行的操作:与存储在存储器中的RNN编码器和解码器的数据结构结合地执行存储的程序指令以实现RNN编码器或者解码器。出于说明的目的,结合图1和图2的实施例描述处理300。
处理300以***100接收包括来自人类用户的文本短语中的多个词的输入序列开始(框304)。在***100中,处理器128使用自动语音识别器136以基于从音频输入设备104接收的输入来生成文本短语中的词的序列。在另一个实施例中,输入可以是用户利用键盘或者手势输入设备输入的自由形式的文本短语。如在上面描述的那样,虽然自动语音识别处理的输出能够以机器可读的格式标识词的序列,但是口语语言理解***要求附加的处理以基于输入序列来标识扩展的槽位词汇表数据库162中对应于槽位的词。
处理300继续为***100使用具有注意力机制的RNN编码器140来生成具有自然语言的注意力权重的经编码的输出(框308)。处理器128使用经训练的RNN编码器140以生成基于向前方向的和向后方向的RNN编码器的两者的编码向量输出,所述向前方向的和向后方向的RNN编码器使用至少两个GRU和注意力机制以针对文本短语的原始输入序列中的每个词生成注意力权重。图2更详细地描绘了具有双向RNN 242和注意力机制244的编码器140的针对文本短语208中的词的样本输入序列的操作。
在处理300期间,***100使用槽位词解码器144中的RNN解码器146来生成第一系列的概率分布输出,第一系列的概率分布输出在时间步长序列中的每个时间步长期间标识对应于任何槽位的最可能的一个或多个词(框312)。处理器128使用来自RNN编码器140的最终隐藏状态h的经编码的输出作为对于RNN解码器146的输入。如在上面描述的那样,RNN解码器146产生如下输出:其提供针对存储在槽位词汇表数据库162中的词汇表内的词的概率分布值,虽然RNN解码器146基于来自对关于输入序列中的所有词(词汇表内的词和词汇表外的词这两者)的信息进行编码的RNN编码器140的经编码的输入来生成输出的序列。在一些实施例中,RNN解码器146还使用来自RNN编码器140的注意力机制的注意力向量作为输入以改进预测槽位词的精确度。在一些实施例中,虽然RNN解码器146能够针对存储在扩展的槽位词汇表数据库162中词汇表内的词中的一个或多个产生非零概率分布值,但是RNN解码器146的概率输出在针对词汇表外的词的输出序列中的每个时间步长上为零。
在处理300期间,***100还使用槽位词解码器144中的指针网络148以生成第二系列的概率分布输出,第二系列的概率分布输出的每个基于来自RNN编码器140的注意力机制的注意力权重来在时间步长期间预测输入序列中的潜在槽位词的概率分布(框316)。处理器128使用指针网络148以基于针对序列中的以及当前时间步长中的每个输入词的注意力权重值来生成针对每个词的槽位值的概率分布。图2还更详细地描绘了包括指针网络148的槽位词解码器144的针对在包括词汇表外的词“东方的”的输入序列208中的词的部分的操作,词“东方的”存在于原始输入序列208中并且在图2的示例中是词汇表外的词。指针网络148产生针对原始输入序列中的词的概率分布输出,所述原始输入序列中的每个词也存在于扩展的槽位词汇表数据库162中。指针网络148能够产生针对存在于输入序列中的词汇表内的槽位词和词汇表外的槽位词这两者的概率分布,虽然***100更主要地将指针网络148用于标识词汇表外的槽位词,而更主要地依赖于RNN解码器146来标识词汇表内的槽位词。
处理300继续为***100使用RNN解码器146和指针网络148的输出的加权组合来标识在每个时间步长上的槽位词(框320)。为了对输出进行组合,处理器128基于以下的函数关于扩展的词汇表生成概率分布: ,其中w是从扩展的槽位词汇表数据库162中的词的总集合W中选择的一个词。图2描绘了被应用于图2的序列220中的词“东方的”的该操作。在前述等式中,项指代针对给定的词w的、由RNN解码器146针对该词w生成的概率分布值,并且项指代针对该同一词w的、由指针网络148针对该词w生成的概率分布值。
在处理300的加权组合中,p t 项是具有的范围并且被定义为的权重值,其中是S型函数,d t 是在时间步长t处对槽位词解码器144的输入,c t 是在时间步长t处注意力机制的语境向量,s t 是在时间步长t处RNN解码器146的隐藏状态,项w c 、w s 、以及w d 的每个是可训练的权重值,其是槽位词解码器144中的指针网络的部分,并且b表示偏差项,其是标量参数,在训练期间与w c 、w s 、以及w d 一起被学***衡RNN解码器146和指针网络148的相对贡献。更特别地,p t 值基于RNN解码器146,并且p t 的更高的权重值指示RNN解码器146的输出对于词汇表内的词而言是受偏好的,而p t 的更低的值指示指针网络148的输出对于词汇表外的词而言是受偏好的。如在上面描述的那样,p t 的值随时间步长t的序列而改变以向RNN解码器146或者指针网络148的输出提供变化的权重值。处理器128使用例如在扩展的槽位词汇表数据库162中的如下的词来标识针对每个时间步长的槽位词:所述词在所有词W中在组合的概率分布P(W)上具有最高的概率值,最高的概率值表示在扩展的槽位词汇表数据库162中的所有词的根据来自RNN解码器146和指针网络148两者的概率贡献的组合的最高槽位词概率。
参照图2,等式220描绘槽位词解码器144中的RNN解码器146和指针网络148的输出的加权求和组合,以生成在对应于词“东方的”的条目的情况下的组合的概率分布(P(东方 的))。在图2中,处理器128使用在时间步长t的函数p t 相对于RNN解码器146的输出分派对于指针网络148的针对词汇表外的词“东方的”的输出P ptr 的加权平衡。在***100的实施例中,来自RNN解码器146的P gen (东方的)的输出对于词汇表外的词“东方的”而言为零,虽然针对词汇表内的词的概率值是非零的,并且除了来自指针网络148的输出P ptr 之外,在每个时间步长上的p t 的值也影响针对词“东方的”的最终概率分布值。组合的结果P(w)被包括在槽位词的概率分布中,处理器128使用该概率分布来基于组合的概率分布中的最高概率值而针对每个时间步长选择槽位词。然后处理器128利用槽位分类器138将来自槽位数据库166的槽位标签分派给一个或多个槽位词。在处理300期间,***100基于RNN解码器146和指针网络148的在如在上面描述的序列中的每一时间步上的组合的输出来生成槽位词的序列。
如在上面描述的那样,处理300在一系列的时间步长上生成槽位词的序列,其中RNN解码器146和指针网络148这两者产生针对每个时间步长的不同的槽位词概率分布。处理300如在上面描述的那样针对至少一个的并且潜在地多于一个的时间步长而继续(框322),直到根据RNN解码器146和指针网络148中的任一个或者这两者而达到在最终的时间步长上的最终的槽位词输出。在生成最终的槽位词输出(框322)之后,***100使用槽位词作为对于在下面描述的附加SLU处理的输入。在一个实施例中,槽位词解码器144在发出预先确定的结束符号作为槽位词(例如,如在图2中描绘的</s>)之后或者在没有发出结束符号情况下发出了预先确定的最大数量的槽位词(诸如十个槽位词)之后停止发出槽位词。
在下面的表1描绘了预测的槽位词的一些示例,所述槽位词是使用槽位填充处理300和使用现有技术的处理而从文本短语输入中的词的序列生成的,现有技术的处理包括卷积神经网络(CNN)和使用注意力模型的Seq2Seq RNN编码器/解码器框架。如在下面看到的那样,处理300能够从包括对应于槽位的至少一个词的输入短语标识单个槽位词或者多个槽位词。每个输入中的粗体文本表示应当被使用槽位分类器填充到一个或多个槽位中的槽位词,其中槽位与诸如餐厅的类型、位置、或者价格的餐厅的特征相关。在下面的表中,所标识的槽位词可以存在于原始输入中或者可以被标识为扩展的词汇表中的不存在于原始输入中的词。
表1:针对槽位的预测的文本值的示例。
处理300继续为***100使用标识的槽位的词作为用于命令的执行的参数来执行在来自用户的输入短语中指定的命令(框324)。在一些配置中,除了标识针对输入序列中的词的槽位之外,处理器128还使用意图分类器138来标识输入短语的意图,并且***100使用特定的槽位词和所标识的槽位作为用于操作的参数来基于所标识的意图执行操作。使用来自图2的数据文本短语208作为非限制性示例,***100将意图标识为来自用户的用以显示具有某些特征的餐厅的输入请求。槽位词生成处理在时间步长的序列中的每个时间步长上产生概率值,其标识在扩展的词汇表数据库162中的任何词(包括词汇表内的词和词汇表外的词这两者)是槽位词的概率。如在上面描述的那样,***100可以基于槽位词解码器144的加权输出来生成不存在于原始输入文本短语中的槽位词,并且存在于原始输入文本短语中的词可以被从所生成的槽位词中省略。在生成槽位词之后,处理器128使用槽位分类器138来标识针对槽位词中的一个或多个的特定槽位,并且槽位分类器138并不需要处理原始输入文本,所述原始输入文本如在上面描述那样经常包括不对应于槽位的词。
在处理300期间,处理器128使用被分派到特定槽位的槽位词来执行诸如例如对外部数据库的搜索查询的命令以搜索满足输入的准则的餐厅,并且控制输出设备112产生响应于执行使用槽位词作为参数的命令的输出。在一个特定的示例中,***100生成搜索查询以包括特定的参数字段,并且每个参数字段对应于槽位数据库166中的预先确定的槽位中的一个。处理器128使用来自槽位解码器144的所标识的槽位词,所述槽位词被使用槽位分类器138分派到槽位作为字段以执行查询。槽位填充操作使得***100能够将来自用户的自然语言输入转换为机器可理解的指令,其在本示例中是数据库查询,其中***100标识槽位词以使得能够以改进的精确度对自然语言输入进行自动响应。
在此描述的实施例使得能够对于针对SLU***中的槽位填充操作标识槽位词进行改进。特别是,***100提供对于使用F1量度表达的槽位分派处理的组合的准确度(P)和回顾(R)的改进。F1量度是在预先确定的标度(诸如0.0(最差)至100.0(最佳)的标度)上的准确度(P)得分和回顾(R)得分的加权平均,虽然F1量度也经常被表达为在0.0至1.0的标度上。表2描绘了在变化的训练大小和OOV比率的情况下,卷积神经网络(CNN)、具有注意力机制的现有技术RNN编码器/解码器框架(Seq2Seq)、以及执行处理300的***100的槽位值预测的结果:
表2:在变化的训练大小和OOV比率的情况下的槽位值预测结果。
如在上面的表2中描绘的那样,在不同比率的输入词被认为在词汇表外的情况下在宽范围的训练集大小上F1得分示出针对***100的最高值。***100使用RNN编码器/解码器框架和指针网络这两者以改进使准确度和回顾这两者平衡的总体结果。如在上面示出的那样,在一些实例中,现有技术的CNN示出更大的准确度P但是现有技术的CNN***的回顾R的水平实质上低于***100,并且针对***100的总的F1得分高于CNN的现有技术实施例或者Seq2Seq的现有技术实施例。这样,在此描述的包括***100和处理300的实施例的每个提供对于用于实现SLU***的计算机操作的改进。
将领会的是在上面公开的以及其它的特征和功能或者它们的替换的变形可以被合期望地组合到许多其它不同的***、应用或者方法中。本领域技术人员随后可以作出也意图被随后的权利要求涵盖的各种目前未预见的或者未预期的替换、修改、变化或者改进。
Claims (20)
1.一种用于口语语言理解(SLU)***的操作的方法,包括:
利用SLU***中的处理器接收包括文本短语中的多个词的输入序列;
利用处理器使用接收所述多个词作为对于具有注意力机制的循环神经网络(RNN)编码器的输入的该RNN编码器来生成与所述多个词对应的经编码的输出和与所述多个词对应的多个注意力权重;
利用处理器使用接收来自RNN编码器的经编码的输出作为输入的RNN解码器来生成与扩展的槽位词汇表数据库中的多个词是在时间步长上的槽位词相对应的第一概率分布;
利用处理器使用接收所述多个注意力权重作为输入的指针网络来生成与输入序列中的所述多个词是在时间步长上的槽位词相对应的第二概率分布;
利用处理器基于第一概率分布和第二概率分布生成组合的概率分布;
利用处理器标识与扩展的槽位词汇表数据库中在时间步长内具有在组合的概率分布上的最高概率值的一个词相对应的槽位词;以及
利用处理器,使用槽位词作为对于命令的参数来执行命令。
2.如权利要求1所述的方法,组合的概率分布的生成进一步包括:
利用处理器基于RNN解码器的状态来生成权重值;以及
利用处理器使用权重值来生成组合的概率分布作为第一概率分布和第二概率分布的加权求和。
3.如权利要求2所述的方法,进一步包括:
利用处理器基于以下函数生成权重值作为在时间步长t处的p t ,
其中c t 是注意力机制的语境向量,
s t 是RNN解码器的隐藏状态值,
d t 是RNN解码器的输入,
w c 、w s 、以及w d 是多个可训练的权重值,
并且b是偏差项。
4.如权利要求3所述的方法,进一步包括:
利用处理器基于以下函数来生成包括概率值P(w)的组合的概率分布,其中w是扩展的槽位词汇表数据库中的多个词中的词:
,
其中P gen 是第一概率分布,以及
P ptr 是第二概率分布。
5.如权利要求2所述的方法,其中处理器响应于第一词是词汇表内的词而生成权重值以偏好由RNN解码器生成的第一概率分布,并且处理器响应于所述第一词是词汇表外的词而生成权重值以偏好由指针网络生成的第二概率分布。
6.如权利要求1所述的方法,其中RNN编码器是双向RNN编码器。
7.如权利要求6所述的方法,其中RNN编码器包括至少两个门控循环单元。
8.如权利要求7所述的方法,其中RNN解码器包括至少一个门控循环单元。
9.如权利要求6所述的方法,其中RNN解码器是单向RNN解码器。
10.如权利要求1所述的方法,进一步包括:
利用处理器基于使用音频输入设备接收的音频数据使用自动语音识别引擎来生成文本短语中的多个词。
11.一种用于口语语言理解的***,包括:
输入设备;
输出设备;
存储器;以及
可操作地连接到输入设备、输出设备、以及存储器的处理器,处理器被配置为:
基于利用输入设备接收的输入来接收包括文本短语中的多个词的输入序列;
使用存储在存储器中的接收所述多个词作为对于具有注意力机制的循环神经网络(RNN)编码器的输入的该RNN编码器来生成与所述多个词对应的经编码的输出和与所述多个词对应的多个注意力权重;
使用存储在存储器中的接收来自RNN编码器的经编码的输出作为输入的RNN解码器来生成与存储在存储器中的扩展的槽位词汇表数据库中的多个词是在时间步长上的槽位词相对应的第一概率分布;
使用接收所述多个注意力权重作为输入的指针网络来生成与输入序列中的多个词是在时间步长上的槽位词相对应的第二概率分布;
基于第一概率分布和第二概率分布来生成组合的概率分布;
标识与扩展的槽位词汇表数据库中在时间步长内具有在组合的概率分布上的最高概率值的一个词相对应的槽位词;以及
使用槽位词作为对于命令的参数来执行命令以利用输出设备产生输出。
12.如权利要求11所述的***,处理器被进一步配置为:
基于RNN解码器的状态来生成权重值;以及
使用权重值来生成组合的概率分布作为第一概率分布和第二概率分布的加权求和。
13.如权利要求12所述的***,处理器进一步被配置为:
基于以下函数生成权重值作为在时间步长t处的p t ,
其中c t 是注意力机制的语境向量,
s t 是RNN解码器的隐藏状态值,
d t 是RNN解码器的输入,
w c 、w s 、以及w d 是多个可训练的权重值,
并且b是偏差项。
14.如权利要求13所述的***,处理器进一步被配置为:
基于以下函数来生成包括概率值P(w)的组合概率分布,其中w是扩展的槽位词汇表数据库中的多个词中的词:
其中P gen 是第一概率分布,以及
P ptr 是第二概率分布。
15.如权利要求12所述的***,处理器被进一步配置为响应于第一词是词汇表内的词而生成权重值以偏好由RNN解码器生成的第一概率分布,并且处理器响应于所述第一词是词汇表外的词而生成权重值以偏好由指针网络生成的第二概率分布。
16.如权利要求11所述的***,其中RNN编码器是双向RNN编码器。
17.如权利要求16所述的***,其中RNN编码器包括至少两个门控循环单元。
18.如权利要求17所述的***,其中RNN解码器包括至少一个门控循环单元。
19.如权利要求16所述的***,其中RNN解码器是单向RNN解码器。
20.如权利要求11所述的***,输入设备进一步包括:
音频输入设备;以及
处理器,其被进一步配置为基于使用音频输入设备接收的音频数据使用自动语音识别引擎来生成文本短语中的多个词。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862678406P | 2018-05-31 | 2018-05-31 | |
US62/678406 | 2018-05-31 | ||
US16/057521 | 2018-08-07 | ||
US16/057,521 US10770066B2 (en) | 2018-05-31 | 2018-08-07 | Slot filling in spoken language understanding with joint pointer and attention |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110555097A true CN110555097A (zh) | 2019-12-10 |
Family
ID=68694107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910463112.3A Pending CN110555097A (zh) | 2018-05-31 | 2019-05-30 | 在口语语言理解中利用联合的指针和注意力的槽位填充 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10770066B2 (zh) |
CN (1) | CN110555097A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221424A (zh) * | 2020-01-02 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法、装置、电子设备和计算机可读介质 |
CN111538831A (zh) * | 2020-06-05 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种文本生成方法、装置及电子设备 |
CN111951803A (zh) * | 2020-08-13 | 2020-11-17 | 东北林业大学 | 基于Star-Transformer的口语理解方法、***及设备 |
CN113486669A (zh) * | 2021-07-06 | 2021-10-08 | 上海市东方医院(同济大学附属东方医院) | 应急救援输入语音的语义识别方法 |
CN116227629A (zh) * | 2023-05-10 | 2023-06-06 | 荣耀终端有限公司 | 一种信息解析方法、模型训练方法、装置及电子设备 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10777203B1 (en) * | 2018-03-23 | 2020-09-15 | Amazon Technologies, Inc. | Speech interface device with caching component |
US11295739B2 (en) * | 2018-08-23 | 2022-04-05 | Google Llc | Key phrase spotting |
KR20200046145A (ko) * | 2018-10-15 | 2020-05-07 | 펑션베이(주) | 예측 모델 훈련 관리 시스템, 예측 모델 훈련 관리 방법, 예측 모델 학습 관리를 위한 마스터 장치 및 슬레이브 장치 |
US10891951B2 (en) * | 2018-10-17 | 2021-01-12 | Ford Global Technologies, Llc | Vehicle language processing |
CN114424208A (zh) * | 2019-09-25 | 2022-04-29 | 渊慧科技有限公司 | 门控注意力神经网络 |
US11289086B2 (en) * | 2019-11-01 | 2022-03-29 | Microsoft Technology Licensing, Llc | Selective response rendering for virtual assistants |
CN111312228A (zh) * | 2019-12-09 | 2020-06-19 | 中国南方电网有限责任公司 | 一种基于端到端的应用于电力企业客服的语音导航方法 |
US11676586B2 (en) * | 2019-12-10 | 2023-06-13 | Rovi Guides, Inc. | Systems and methods for providing voice command recommendations |
US11741307B2 (en) * | 2020-07-06 | 2023-08-29 | Samsung Electronics Co., Ltd. | System and method for learning new concepts from input utterances |
CN112233664B (zh) * | 2020-10-15 | 2021-11-09 | 北京百度网讯科技有限公司 | 语义预测网络的训练方法、装置、设备以及存储介质 |
CN112966520B (zh) * | 2021-02-03 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 自然语言生成方法及装置 |
US20220375457A1 (en) * | 2021-05-19 | 2022-11-24 | Samsung Electronics Co., Ltd. | Apparatus and method for compositional spoken language understanding |
US20230069049A1 (en) * | 2021-08-23 | 2023-03-02 | Robert Bosch Gmbh | System and method for a natural language understanding system based on iterative intent detection and slot filling neural layers |
CN116501863A (zh) * | 2023-06-30 | 2023-07-28 | 北京长河数智科技有限责任公司 | 基于自然语言处理的文本摘要生成方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2741242A1 (en) * | 2012-12-05 | 2014-06-11 | Christopher David Eliasmith | Methods and systems for artificial cognition |
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
CN106663092A (zh) * | 2014-10-24 | 2017-05-10 | 谷歌公司 | 具有罕见词处理的神经机器翻译*** |
US20170287478A1 (en) * | 2016-03-29 | 2017-10-05 | Maluuba Inc. | Hierarchical attention for spoken dialogue state tracking |
CN107273513A (zh) * | 2017-06-21 | 2017-10-20 | 成都布林特信息技术有限公司 | 基于机器学习的关键词识别方法 |
CN107273360A (zh) * | 2017-06-21 | 2017-10-20 | 成都布林特信息技术有限公司 | 基于语义理解的中文实词提取算法 |
WO2018057809A1 (en) * | 2016-09-22 | 2018-03-29 | Salesforce.Com, Inc. | Pointer sentinel mixture architecture |
CN107886948A (zh) * | 2017-11-16 | 2018-04-06 | 百度在线网络技术(北京)有限公司 | 语音交互方法及装置,终端,服务器及可读存储介质 |
CN107919127A (zh) * | 2017-11-27 | 2018-04-17 | 北京地平线机器人技术研发有限公司 | 语音处理方法、装置和电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117113969A (zh) | 2016-05-17 | 2023-11-24 | 微软技术许可有限责任公司 | 非结构化文本的机器理解 |
US10592607B2 (en) * | 2016-06-03 | 2020-03-17 | Microsoft Technology Licensing, Llc | Iterative alternating neural attention for machine reading |
US10546066B2 (en) | 2016-08-31 | 2020-01-28 | Microsoft Technology Licensing, Llc | End-to-end learning of dialogue agents for information access |
US10366163B2 (en) | 2016-09-07 | 2019-07-30 | Microsoft Technology Licensing, Llc | Knowledge-guided structural attention processing |
US11081106B2 (en) * | 2017-08-25 | 2021-08-03 | Microsoft Technology Licensing, Llc | Contextual spoken language understanding in a spoken dialogue system |
US10431207B2 (en) * | 2018-02-06 | 2019-10-01 | Robert Bosch Gmbh | Methods and systems for intent detection and slot filling in spoken dialogue systems |
US10339919B1 (en) * | 2018-04-20 | 2019-07-02 | botbotbotbot Inc. | Task-independent conversational systems |
US10679613B2 (en) * | 2018-06-14 | 2020-06-09 | Accenture Global Solutions Limited | Spoken language understanding system and method using recurrent neural networks |
-
2018
- 2018-08-07 US US16/057,521 patent/US10770066B2/en active Active
-
2019
- 2019-05-30 CN CN201910463112.3A patent/CN110555097A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2741242A1 (en) * | 2012-12-05 | 2014-06-11 | Christopher David Eliasmith | Methods and systems for artificial cognition |
CN106663092A (zh) * | 2014-10-24 | 2017-05-10 | 谷歌公司 | 具有罕见词处理的神经机器翻译*** |
US20170287478A1 (en) * | 2016-03-29 | 2017-10-05 | Maluuba Inc. | Hierarchical attention for spoken dialogue state tracking |
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
WO2018057809A1 (en) * | 2016-09-22 | 2018-03-29 | Salesforce.Com, Inc. | Pointer sentinel mixture architecture |
CN107273513A (zh) * | 2017-06-21 | 2017-10-20 | 成都布林特信息技术有限公司 | 基于机器学习的关键词识别方法 |
CN107273360A (zh) * | 2017-06-21 | 2017-10-20 | 成都布林特信息技术有限公司 | 基于语义理解的中文实词提取算法 |
CN107886948A (zh) * | 2017-11-16 | 2018-04-06 | 百度在线网络技术(北京)有限公司 | 语音交互方法及装置,终端,服务器及可读存储介质 |
CN107919127A (zh) * | 2017-11-27 | 2018-04-17 | 北京地平线机器人技术研发有限公司 | 语音处理方法、装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
ABIGAIL SEE 等: ""Get to the point: Summarization with pointer-generator networks"", 《PROCEEDINGS OF THE 55TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS》, 25 April 2017 (2017-04-25), pages 1073 - 1092 * |
JIATAO GU 等: ""Incorporating copying mechanism in sequence-to-sequence learning"", 《PROCEEDINGS OF THE 54TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS》, 8 June 2016 (2016-06-08), pages 1631 - 1640 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221424A (zh) * | 2020-01-02 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法、装置、电子设备和计算机可读介质 |
CN111538831A (zh) * | 2020-06-05 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种文本生成方法、装置及电子设备 |
CN111538831B (zh) * | 2020-06-05 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | 一种文本生成方法、装置及电子设备 |
CN111951803A (zh) * | 2020-08-13 | 2020-11-17 | 东北林业大学 | 基于Star-Transformer的口语理解方法、***及设备 |
CN111951803B (zh) * | 2020-08-13 | 2022-12-16 | 东北林业大学 | 基于Star-Transformer的口语理解方法、***及设备 |
CN113486669A (zh) * | 2021-07-06 | 2021-10-08 | 上海市东方医院(同济大学附属东方医院) | 应急救援输入语音的语义识别方法 |
CN113486669B (zh) * | 2021-07-06 | 2024-03-29 | 上海市东方医院(同济大学附属东方医院) | 应急救援输入语音的语义识别方法 |
CN116227629A (zh) * | 2023-05-10 | 2023-06-06 | 荣耀终端有限公司 | 一种信息解析方法、模型训练方法、装置及电子设备 |
CN116227629B (zh) * | 2023-05-10 | 2023-10-20 | 荣耀终端有限公司 | 一种信息解析方法、模型训练方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US10770066B2 (en) | 2020-09-08 |
US20190371307A1 (en) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555097A (zh) | 在口语语言理解中利用联合的指针和注意力的槽位填充 | |
CN109923608B (zh) | 利用神经网络对混合语音识别结果进行评级的***和方法 | |
CN111656366B (zh) | 用于口语对话***中的意图检测和槽位填充的方法和*** | |
CN111191016B (zh) | 一种多轮对话处理方法、装置及计算设备 | |
US11615785B2 (en) | Speech recognition using natural language understanding related knowledge via deep feedforward neural networks | |
US10943583B1 (en) | Creation of language models for speech recognition | |
JP7170405B2 (ja) | ニューラルネットワークを用いた認識方法及び装置並びにトレーニング方法 | |
US11043205B1 (en) | Scoring of natural language processing hypotheses | |
Liu et al. | Two efficient lattice rescoring methods using recurrent neural network language models | |
US20210312914A1 (en) | Speech recognition using dialog history | |
US10482876B2 (en) | Hierarchical speech recognition decoder | |
KR20210158344A (ko) | 디지털 어시스턴트를 위한 머신 러닝 시스템 | |
US11081104B1 (en) | Contextual natural language processing | |
US11568863B1 (en) | Skill shortlister for natural language processing | |
CN108885870A (zh) | 用于通过将言语到文本***与言语到意图***组合来实现声音用户接口的***和方法 | |
US10872601B1 (en) | Natural language processing | |
CN113035231B (zh) | 关键词检测方法及装置 | |
US11132994B1 (en) | Multi-domain dialog state tracking | |
US11881211B2 (en) | Electronic device and controlling method of electronic device for augmenting learning data for a recognition model | |
Mamatov et al. | Speech recognition based on transformer neural networks | |
WO2023172442A1 (en) | Shared encoder for natural language understanding processing | |
EP4030352A1 (en) | Task-specific text generation based on multimodal inputs | |
JP6235922B2 (ja) | 重み付き有限状態オートマトン作成装置、記号列変換装置、音声認識装置、それらの方法、及びプログラム | |
US11804225B1 (en) | Dialog management system | |
US12002451B1 (en) | Automatic speech recognition |
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 |