CN110402445B - 使用递归神经网络浏览序列数据的方法和系统 - Google Patents
使用递归神经网络浏览序列数据的方法和系统 Download PDFInfo
- Publication number
- CN110402445B CN110402445B CN201880017612.8A CN201880017612A CN110402445B CN 110402445 B CN110402445 B CN 110402445B CN 201880017612 A CN201880017612 A CN 201880017612A CN 110402445 B CN110402445 B CN 110402445B
- Authority
- CN
- China
- Prior art keywords
- tokens
- neural network
- skipped
- recurrent neural
- internal state
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 186
- 230000000306 recurrent effect Effects 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012545 processing Methods 0.000 claims abstract description 79
- 230000008569 process Effects 0.000 claims description 52
- 230000004044 response Effects 0.000 claims description 19
- 230000008451 emotion Effects 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 6
- 230000002787 reinforcement Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 abstract description 14
- 238000012549 training Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 18
- 238000013500 data storage Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 210000004027 cell Anatomy 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 240000004760 Pimpinella anisum Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于处理序列数据的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种计算机实现的方法包括接收为输入数据序列生成系统输出的请求,所述输入数据序列包括多个词元。一个或多个词元可以被指定为要被跳过的词元。当词元没有被指定为要被跳过的词元时,使用递归神经网络处理词元以更新递归神经网络的当前内部状态。从递归神经网络的最终内部状态生成系统输出。
Description
技术领域
本说明书涉及使用递归神经网络处理序列数据。
背景技术
神经网络是利用非线性单元的一个或多个层来为接收的输入预测输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作到网络中的下面的(next)层(即,下面的隐藏层或输出层)的输入。网络的每个层按照相应一组参数的当前值从接收的输入生成输出。
一些神经网络是递归神经网络。递归神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,递归神经网络可以将来自先前时间步的网络的一些或所有内部状态用于计算当前时间步处的输出。递归神经网络的示例是包括一个或多个长短期记忆(LSTM)块的长短期记忆(LSTM)神经网络。每个LSTM记忆块可以包括一个或多个单元,每个单元包括输入门、遗忘门和输出门,输入门、遗忘门和输出门允许单元存储单元的先前状态,例如,用于生成当前激活,或被提供到LSTM神经网络的其他组件。
发明内容
本说明书描述被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统,其使用递归神经网络处理序列数据。
根据第一方面,提供了一种用于处理文本序列的计算机实现的方法。所述方法包括接收为输入文本序列生成系统输出的请求。所述输入文本序列包括按输入顺序布置的多个词元(token)。以所述输入顺序处理所述多个词元中的每一个以生成递归神经网络的最终内部状态。特别地,对于每个词元,所述方法包括在处理所述词元期间确定词元是否已经被指定为要被跳过(skip)的词元。当词元没有被指定为要被跳过的词元时,使用所述递归神经网络处理词元以更新所述递归神经网络的当前内部状态。当词元不是按输入顺序的最后一个时,所述方法包括确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元。从所述递归神经网络的最终内部状态生成所述系统输出。
在一些实施方式中,词元包括特定自然语言的字符。
在一些实施方式中,词元包括特定自然语言的单词。
在一些实施方式中,确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元包括:确定自从最近跳过的词元以来是否阈值数量的词元已经被所述递归神经网络处理。当少于所述阈值数量的词元已经被处理时,按输入顺序的下面的词元不被指定为要被跳过的词元。
在一些实施方式中,确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元包括,当所述阈值数量的词元已经被处理时,通过一个或多个神经网络层处理更新的内部状态以生成一组分数。所述分数包括对于多个位置值中的每一个的相应分数。使用所述分数选择位置值。选择的位置值被用于确定按输入顺序多少个下面的词元指定为要被跳过的词元。
在一些实施方式中,选择位置值包括按照所述分数采样位置值。
在一些实施方式中,选择位置值包括选择具有最高分数的位置值。
在一些实施方式中,所述多个位置值包括一个或多个非负整数值。当所述非负整数值中的一个被选择时,确定指定多少个下面的词元包括:将按输入顺序的下N个词元指定为要被跳过的词元,其中,N等于选择的非负整数值。
在一些实施方式中,所述多个位置值包括处理结束值。当所述处理结束值被选择时,确定指定多少个下面的词元包括:将按输入顺序的每个其余词元指定为要被跳过的词元,并且将更新的内部状态指定为最终内部状态。
在一些实施方式中,当词元是按输入顺序的最后一个时,将更新的内部状态指定为所述最终内部状态。
在一些实施方式中,所述方法包括确定已经进行将一个或多个词元指定为要被跳过的词元的多于最大数量的确定。作为响应,将当前内部状态指定为最终内部状态。
在一些实施方式中,所述递归神经网络是基于注意力的递归神经网络,并且,更新当前内部状态包括确定先前处理的词元上的注意力向量(attention vector)。
在一些实施方式中,所述递归神经网络是基于注意力的递归神经网络,并且,更新当前内部状态包括确定在最近跳过的词元之后处理的词元上的注意力向量。
在一些实施方式中,用外部存储器增强所述递归神经网络。
在一些实施方式中,已经使用强化学习技术来训练所述递归神经网络。
在一些实施方式中,所述系统输出是所述输入文本序列的情感的分类。生成所述系统输出包括:从所述最终内部状态确定对于多个可能的情感中的每一个的相应的情感分数。使用所述情感分数从所述可能的情感选择情感。
在一些实施方式中,所述系统输出是所述输入文本序列的话题的分类。生成所述系统输出包括:从所述最终内部状态确定对于多个可能的话题中的每一个的相应的话题分数。使用所述话题分数从所述可能的话题选择话题。
在一些实施方式中,所述输入文本序列包括问题文本片段和上下文文本片段,并且,所述系统输出是关于上下文文本片段的由所述问题文本片段提出的问题的答案。生成所述系统输出包括:从所述最终内部状态确定对于所述问题的多个可能的答案中的每一个的相应的答案分数。使用所述答案分数从所述可能的答案选择答案。
在一些实施方式中,词元包括句子或其他多单词文本片段。
根据第二方面,提供了一种包括一个或多个计算机和一个或多个存储设备的系统,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机运行时使所述一个或多个计算机执行先前描述的方法的操作。
根据第三方面,提供了存储指令的一个或多个计算机存储介质,所述指令在由一个或多个计算机运行时使所述一个或多个计算机执行先前描述的方法的操作。
本说明书中描述的主题的特定实施例可以被实现为取得一个或多个下述优点。
本说明书中描述的文本处理系统可以通过用递归神经网络仅处理文本序列中的一部分词元来处理文本序列以有效地生成对应输出(例如,文本序列的预测的话题)。更特别地,本说明书中描述的系统可以被训练为在生成对应输出时适应性地跳过文本序列的一些部分(即,通过递归神经网络避免处理来自被跳过部分的词元)。与此相比,一些常规文本处理系统用递归神经网络处理文本序列中的每个词元来生成对应输出。
因此,本说明书中描述的系统可以比一些常规系统更快地生成输出(在一些情况下,更快高达6倍),同时消耗更少计算资源(例如,存储器和计算能力)。特别地,本说明书中描述的系统可以通过处理常规系统将处理以生成输出的词元的仅一部分来有效地生成输出。例如,本说明书中描述的系统可以将多个词元指定为“要被跳过的词元”。被指定为要被跳过的词元不被包括在本说明书中描述的系统中的递归神经网络处理。因此,本说明书中描述的系统可以例如比一些常规系统执行较少算术运算(例如,加和乘),同时生成输出,因此可以更快地运算而消耗较少的计算资源。
另外,本说明书中描述的系统可以生成比一些常规系统生成的输出更准确的输出。例如,由于本说明书中描述的系统可以跳过文本序列的一些部分,所以系统可以关注于包括用于准确地生成输出所需要的信息的其他部分。另一方面,处理文本序列中的每个词元以生成输出的常规系统可能因为包括与准确地确定输出无关的部分的文本序列经历降低的性能(例如,降低的预测准确性)。常规系统可能假设附加数据会提高性能,而已经认识到本说明书中描述的系统可以通过克服这种偏见而减少为了确定输出被处理的文本来提供提高的性能。
与常规系统相比,本说明书中描述的系统可以更适合于处理非常长的文本序列(例如,书)。特别地,当常规系统处理非常长的文本序列可能在计算上不可行时,本说明书中描述的系统可以通过潜在地跳过其的大的部分来高效地处理长文本序列。另外,本说明书中描述的系统可以跳过长文本序列的无关部分,并且从而生成比处理长文本序列的无关部分的常规系统更准确的输出。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。从描述、附图和权利要求书,所述主题的其他特征、方面和优点将变得明了。
附图说明
图1是示例文本处理系统的框图。
图2示出了由文本处理系统处理文本序列的示例。
图3是用于由文本处理系统处理文本序列的示例过程的流程图。
图4是在处理文本序列时用于确定是否将一个或多个下面的词元指定为要被跳过的词元的示例过程的流程图。
图5是用于训练文本处理系统的示例过程的流程图。
各附图中同样的参考数字和标记指示同样的要素。
具体实施方式
图1示出示例示例文本处理系统100。文本处理系统100是被实现为一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,在文本处理系统100中实现下面描述的系统、组件和技术。
系统100处理特定自然语言的文本序列102以生成输出104。文本序列102由词元(例如词元106)的有序序列来表示。表示文本序列102的词元的排序在本说明书中称为“输入顺序”。一般地,词元是文本序列102的组成部分的数字表示(例如,作为向量或矩阵)。例如,每个词元可以是文本序列102中的相应字符、单词或多词片段(例如句子)的表示。输出104可以是基于文本序列102的任何种类的分数或分类输出。
尽管本说明书一般地描述处理文本序列,但是本说明书中描述的跳过技术也可以用于更高效地处理其他种类的序列以生成其他种类的系统输出,例如,用于处理音频数据的序列、图像数据的序列、从电子病历导出的序列等。
本文描述的系统100可广泛适用而不限于一种特定实施方式。然而,出于示意目的,在下面描述了少数示例实施方式。
例如,输出104可以指示文本序列102中表达的情感(例如,情绪或观念)。在该示例中,如果文本序列102是评论(例如,产品评论或电影评论),则输出104可以指示评论表达的是总体正面、负面还是中立的意见。在该示例中,如果文本序列102是电子邮件,则输出104可以指示电子邮件的内容是否紧急。
作为另一示例,输出104可以指示文本序列102的话题(例如,主题)。在该示例中,如果文本序列102是新闻文章,则输出104可以指示新闻文章关注的是例如政治、体育、商业还是科学。在该示例中,如果文本序列102是专利申请,则输出104可以指示专利申请中描述的发明的技术领域(例如,机械技术、计算机技术或生物医学技术)。
作为另一示例,输出104可以指示文本序列102中的问题文本片段提出的问题的答案。在该示例中,文本序列102包括问题文本序列和上下文文本序列,其中问题文本序列提出关于上下文文本序列的问题。在特定示例中,上下文文本序列可以是给定产品的产品评论,并且问题文本序列可以提出问题:“顾客最喜欢给定产品的哪点?”。
系统100包括递归神经网络108,其被配置为在多个时间步中的每个时间步按照递归神经网络参数的当前值处理来自文本序列102的相应词元以更新递归神经网络108的内部状态110。递归神经网络的内部状态指由递归神经网络108的一个或多个神经元响应于处理递归神经网络的输入(例如,来自文本序列102的词元)而生成的激活(表示为数值)。递归神经网络108的内部状态110在时间步之间持续,也就是说,内部状态110在一个时间步结束时的值与内部状态110在下一时间步开始时的值相同。内部状态110可以以任何适当的数字格式表示,例如,作为向量或作为矩阵。
递归神经网络108可以实现为在时间步之间保持内部状态的任何适当的神经网络,例如,实现为长短期记忆(LSTM)网络、具有选通递归单元的递归神经网络或递归多层感知器网络(RMLP)。在一些情况下,递归神经网络108可以由外部存储器增强。外部存储器指在递归神经网络108的操作期间可以动态地存储和取回数据的位置(例如,在逻辑数据存储区域中或在物理数据存储设备上)(例如,以增强递归神经网络108的预测性能)。在一些情况下,递归神经网络108可以是基于注意力的递归神经网络(如进一步参考图3所述)。
在一些情况下,系统100可以提供少于来自文本序列102的所有的词元作为到递归神经网络108的输入。例如,在一些情况下,系统100提供少于来自文本序列102的一半的词元作为到递归神经网络108的输入。更特别地,当处理文本序列102时,系统100可以指定来自文本序列102的多个词元作为要被跳过的词元(即,将不被提供到递归神经网络108或由其处理的词元)。通过将来自文本序列102的多个词元指定为要被跳过的词元,系统100可以减少生成输出104需要的时间和计算资源,并且可以被称为“浏览”文本序列102。
系统100以文本序列102的输入顺序相继地处理来自文本序列102的每个词元。对于每个词元,系统100确定词元是否已经被指定为要被跳过的词元。响应于确定相应的词元已经被指定为要被跳过的词元,系统100避免提供相应的词元作为要由递归神经网络108处理的输入。而是,系统100继续处理文本序列102中的下面的词元(即,按输入顺序在相应的词元之后的词元),而不提供相应的词元作为要由递归神经网络108处理的输入。响应于确定相应的词元没有被指定为要被跳过的词元,系统100提供相应的词元作为到递归神经网络108的输入。在接收相应的词元作为输入时,递归神经网络108处理相应的词元以更新递归神经网络108的内部状态110。
在递归神经网络108处理来自文本序列102的相应的词元以更新递归神经网络108的内部状态110之后,系统100确定是否将文本序列中的一个或多个下面的词元(即,按输入顺序在相应的词元之后的词元)指定为要被跳过的词元。
如将参考图3更详细地描述的,系统100可以使用跳跃预测神经网络112来确定哪些词元指定为要被跳过的词元。更特别地,在递归神经网络108处理来自文本序列102的相应的词元以更新递归神经网络108的内部状态110之后,系统100可以提供递归神经网络108的更新的内部状态110作为到跳跃预测神经网络112的输入。跳跃预测神经网络112被配置为按照跳跃预测神经网络参数的当前值处理递归神经网络108的更新的内部状态110以生成一组跳跃分数114作为输出。
跳跃分数114是包括一组多个位置值中的每个位置值的相应分数的数值数据(例如,被表示为数值)。所述一组多个位置值中的每个位置值可以是例如数值(例如,非负整数值)或称为处理结束值(end-of-processing value)的特殊位置值(随后会更详细地描述)。例如,可以由{0,1,2,3,4,EOP}给出所述一组位置值,其中EOP表示处理结束值。
系统100基于跳跃分数114从所述一组位置值选择位置值116。在一些实施方式中,系统100通过按照跳跃分数114从所述一组位置值采样来基于跳跃分数114选择位置值116。例如,系统100可以(例如,通过使用软性最大值(soft-max)函数处理跳跃分数114)从跳跃分数114确定所述一组位置值上的概率分布,并且按照概率分布采样位置值116。在一些实施方式中,系统100通过根据跳跃分数114从所述一组位置值选择具有最高分数的位置值来基于跳跃分数114选择位置值116。
从选择的位置值116起,系统100确定多少个下面的词元(即,在被递归神经网络108处理的当前词元之后)被指定为要被跳过的词元。例如,如果所述一组位置值包括一个或多个非负整数位置值,并且选择的位置值116是非负整数位置值N,则系统100可以将文本序列102中的下N个词元指定为要被跳过的词元。
每当递归神经网络108处理来自文本序列102的相应的词元以更新递归神经网络108的内部状态110,系统100都确定是否满足终止标准。响应于确定满足终止标准,系统100将更新的内部状态110指定为最终内部状态118并且从最终内部状态118生成输出104。
例如,终止标准可以是由递归神经网络108处理的相应的词元是文本序列102中的最后词元(即,关于输入顺序)。作为另一示例,终止标准可以是选择的位置值116是专门指定的处理结束值。作为另一示例,终止标准可以是系统100已经进行将一个或多个词元指定为要被跳过的词元的、多于预定最大数量的确定(即,系统已经进行多于预定最大数量的“跳跃”)。
系统从最终内部状态118生成输出104。例如,系统100可以提供递归神经网络108的最终内部状态118作为到预测神经网络120的输入。预测神经网络120被配置为按照预测神经网络参数的当前值处理最终内部状态118以生成一组输出分数122作为输出。
输出分数122是包括一组多个可能输出中的每个输出的相应分数的数值数据(例如,被表示为数值)。例如,输出分数122可以包括文本序列102中表达的多个可能情感中的每一个的相应的情感分数(如之前描述)。作为另一示例,输出分数122可以包括文本序列102的多个可能话题中的每一个的相应的话题分数(如之前描述)。作为另一示例,输出分数122可以包括文本序列102中表达的问题的多个可能答案中的每一个的相应的答案分数(如之前描述)。
系统100可以基于输出分数122从所述一组可能的输出选择输出104。在一些实施方式中,系统100通过按照输出分数122从所述一组可能的输出采样来基于输出分数122选择输出104。例如,系统100可以(例如,通过使用软性最大值函数处理输出分数122)从输出分数122确定所述一组可能的输出上的概率分布,并且按照概率分布采样输出104。在一些实施方式中,系统100通过根据输出分数122从所述一组可能的输出选择具有最高分数的输出104来基于输出分数122选择输出104。
跳跃预测神经网络112和预测神经网络120均包括一个或多个神经网络层并且可以由任何适当的神经网络模型来实现。例如,跳跃预测神经网络112和预测神经网络120可以包括全连接层、卷积层或这两种层。在一些情况下,跳跃预测神经网络112和预测神经网络120的输出层是软性最大值层。
系统100可以联合训练递归神经网络108、跳跃预测神经网络112和预测神经网络120以确定它们的相应参数的经训练的值。更特别地,系统100可以通过基于目标函数124的梯度重复地更新递归神经网络108、跳跃预测神经网络112和预测神经网络120的参数值来联合训练递归神经网络108、跳跃预测神经网络112和预测神经网络120。如将参考图5进一步描述的,目标函数124可以促进生成准确的输出104(即,响应于基于一组训练数据处理相应的文本序列102应当被生成的输出)。
图2示出了由文本处理系统(例如,图1的文本处理系统100)处理文本序列的示例。在该示例中,文本序列的初始部分包括词组:“To be,or not to be”。词元是单词嵌套(word embeddings),即,文本序列的单词的数值表示(例如,作为矢量或矩阵)。在该示例中,当自从最近跳过的词元(或自从文本序列中的第一词元)以来已经处理了少于阈值数量(在该情况下为2个)的词元时,则系统确定不将按输入顺序的下面的词元指定为要被跳过的词元(如参考402–406进一步所述)。
系统将与单词“To”对应的词元提供给递归神经网络,其处理词元并更新递归神经网络的内部状态。系统确定不将与单词“be”对应的下面的词元指定为要被跳过的词元,因为其位于序列中的第一词元的两个词元内。
接下来,系统处理与单词“be”对应的词元,并确定与单词“be”对应的词元没有被指定为要被跳过的词元。系统将与单词“be”对应的词元提供给递归神经网络,其处理词元并更新递归神经网络的内部状态。系统将递归神经网络的更新的内部状态提供给跳跃预测神经网络,并(基于跳跃预测神经网络的输出)确定按输入顺序的下两个词元(即,与单词“,”和“or”对应的词元)被指定为要被跳过的词元。也就是说,基于跳跃预测神经网络的输出,系统确定其应当在文本序列中“跳跃两步”。
随后,系统通过提供来自文本序列的词元中的一些作为要由递归神经网络处理的输入并且将其他词元指定为要被跳过的词元来继续处理来自文本序列的词元。最后,系统将在处理与单词“troubles”对应的词元之后递归神经网络的更新的内部状态提供给跳跃预测神经网络。基于跳跃预测神经网络的输出,系统将位置值确定为专门指定的处理结束值EOP。作为结果,系统确定满足终止标准,将递归神经网络的更新的内部状态指定为最终内部状态,并从最终内部状态生成输出。
图3是用于由文本处理系统处理文本序列的示例过程的流程图。系统通过以文本序列中的第一词元开始相继地处理文本序列中的词元来执行过程300的步骤。出于方便,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,按照本说明书被适当地编程的文本处理系统(例如,图1的文本处理系统100)可以执行过程300。
系统确定当前词元(即,系统当前正在处理的词元)是否已经被指定为要被跳过的词元(302)。例如,对于每个词元,系统可以(例如,在逻辑数据存储区域或物理数据存储设备中)存储包括词元的识别符(例如数字识别符)的数据和指示词元是否被指定为要被跳过的词元的对应数据。系统可以通过将当前词元的识别符与存储的数据中的相同词元识别符匹配并确定对应数据是否指示词元被指定为要被跳过的词元来确定当前词元是否已经被指定为要被跳过的词元。
响应于确定当前词元被指定为要被跳过的词元(304,是),系统前进到下面的词元(306),返回302,并且重复先前步骤。
响应于确定当前词元没有被指定为要被跳过的词元(304,否),系统100更新递归神经网络的内部状态(308)。更特别地,系统将包括当前词元的输入提供给递归神经网络。递归神经网络按照递归神经网络参数的当前值处理输入以更新递归神经网络的内部状态。
在一些实施方式中,递归神经网络是基于注意力的递归神经网络。在这些实施方式中,系统可以向递归神经网络提供不仅包括当前词元还包括一个或多个先前处理的词元的输入。例如,系统可以向递归神经网络提供输入,所述输入包括:(i)由递归神经网络先前处理的每个词元,或(ii)在最近跳过的词元之后由递归神经网络先前处理的每个词元。系统可以利用当前词元和先前处理的词元确定注意力向量,其中,注意力向量可以包括当前词元和先前处理的词元中的每一个的相应数值。系统可以确定当前词元和一个或多个先前处理的词元的线性组合,其中,由包括在注意力向量中的相应的数值来给出线性组合的系数。最后,在这些实施方式中,递归神经网络可以通过处理当前词元和一个或多个先前词元的线性组合来更新递归神经网络的内部状态。
系统确定是否将文本序列中的一个或多个下面的词元指定为要被跳过的词元(310)。参考图4描述了用于确定是否将文本序列中的一个或多个下面的词元指定为要被跳过的词元的示例过程。如果系统将文本序列中的一个或多个下面的词元指定为要被跳过的词元,则系统可以更新存储的数据(例如,存储在逻辑数据存储区域或物理数据存储设备中),存储的数据对于每个词元包括词元的识别符(例如数字识别符)的数据和指示词元是否被指定为要被跳过的词元的对应数据。特别地,系统可以将被指定为要被跳过的词元的识别符与存储的数据中的相同词元识别符进行匹配,并且更新与匹配的识别符对应的数据以反映词元现在被指定为要被跳过的词元。
系统确定是否满足终止标准(312)。例如,终止标准可以是由递归神经网络处理的相应的词元是文本序列中的最后词元(即,关于输入顺序)。作为另一示例,终止标准可以是选择的位置值是专门指定的处理结束值。作为另一示例,终止标准可以是系统已经进行将一个或多个词元指定为要被跳过的词元的、多于最大数量的确定(例如,如在310中所确定)。
响应于确定不满足终止标准(314,否),系统前进到下面的词元(306),返回302,并且重复先前步骤。
响应于确定满足终止标准(314,是),系统生成与文本序列对应的输出(316)。更特别地,系统将递归神经网络的更新的内部状态(例如,如在308中所确定)指定为递归神经网络的最终内部状态,并从递归神经网络的最终内部状态生成输出。
例如,系统可以提供递归神经网络的最终内部状态作为到预测神经网络的输入。预测神经网络被配置为按照预测神经网络参数的当前值处理最终内部状态以生成一组输出分数作为输出。
输出分数是包括一组多个可能输出中的每个输出的相应分数的数值数据(例如,被表示为数值)。例如,输出分数可以包括文本序列中表达的多个可能情感中的每一个的相应的情感分数(如之前描述)。作为另一示例,输出分数可以包括文本序列的多个可能话题中的每一个的相应的话题分数(如之前描述)。作为另一示例,输出分数可以包括文本序列中表达的问题的多个可能答案中的每一个的相应的答案分数(如之前描述)。
系统可以基于输出分数从所述一组可能的输出选择输出。在一些实施方式中,系统通过按照输出分数从所述一组可能的输出采样来基于输出分数选择输出。例如,系统可以从输出分数(例如,通过使用软性最大值函数处理输出分数)确定所述一组可能的输出上的概率分布,并且按照概率分布采样输出。在一些实施方式中,系统通过根据输出分数从所述一组可能的输出选择具有最高分数的输出来基于输出分数选择输出。
图4是用于确定在处理文本序列时是否将一个或多个下面的词元指定为要被跳过的词元的示例过程的流程图。出于方便,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,按照本说明书被适当地编程的文本处理系统(例如,图1的文本处理系统100)可以执行过程400。
可选地,系统确定自从最近跳过的词元以来(或自从文本序列中的第一词元以来)多少个词元已经被递归神经网络处理(402)。在特定示例中,参考图2,在递归神经网络处理与单词“not”对应的词元之后,递归神经网络自从最近跳过的词元(即,与单词“or”对应的词元)以来已经处理一个词元。系统可以通过访问包括词元识别符和指示词元是否被指定为要被跳过的词元(例如,如参考302所描述)的对应数据的存储的数据来确定自从最近跳过的词元以来多少个词元已经被递归神经网络处理。
响应于确定自从最近跳过的词元以来少于阈值数量的词元已经被递归神经网络处理(404,否),系统确定不将下面的词元指定为要被跳过的词元(406)。
响应于确定自从最近跳过的词元以来至少阈值数量的词元已经被递归神经网络处理(404,是),系统生成一组跳跃分数(408)。跳跃分数是包括一组多个位置值中的每个位置值的相应分数的数值数据(例如,被表示为数值)。所述一组多个位置值中的每个位置值可以是例如数值(例如,非负整数值)或称为处理结束值的特殊位置值(随后会更详细地描述)。例如,可以由{0,1,2,3,4,EOP}给出所述一组位置值,其中EOP表示处理结束值。
系统可以通过提供递归神经网络的更新的内部状态(例如,如在308中所确定)作为到跳跃预测神经网络的输入来生成跳跃分数。跳跃预测神经网络被配置为按照跳跃预测神经网络参数的当前值处理递归神经网络的更新的内部状态以生成所述一组跳跃分数作为输出。跳跃预测神经网络包括一个或多个神经网络层并且可以由任何适当的神经网络模型来实现。例如,跳跃预测神经网络可以包括全连接层、卷积层或这两种层。在一些情况下,跳跃预测神经网络的输出层是软性最大值层。
系统基于跳跃分数从所述一组位置值选择位置值(410)。在一些实施方式中,系统通过按照跳跃分数从所述一组位置值采样来基于跳跃分数选择位置值。例如,系统可以从跳跃分数(例如,通过使用软性最大值函数处理跳跃分数)确定所述一组位置值上的概率分布,并且按照概率分布采样位置值。在一些实施方式中,系统通过根据跳跃分数从所述一组位置值选择具有最高分数的位置值来基于跳跃分数选择位置值。
系统确定从选择的位置值起按输入顺序多少个下面的词元要被指定为要被跳过的词元(412)。例如,如果所述一组位置值包括一个或多个非负整数位置值,并且选择的位置值116是非负整数位置值N,则系统100可以将文本序列102中的下N个词元指定为要被跳过的词元。
图5是用于训练文本处理系统的示例过程的流程图。出于方便,过程500将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,按照本说明书被适当地编程的文本处理系统(例如,图1的文本处理系统100)可以执行过程500。
系统获得训练样例(502)。训练样例包括文本序列和应当由系统响应于处理文本序列生成的对应目标输出。一般,系统获得多个训练样例的批次,并对批次中的每个训练样例执行步骤504-508。为简洁起见,以下描述(即,步骤504-508的描述)参考单个训练样例进行描述。
系统处理包括在训练样例中的文本序列以生成对应输出(504)。参考图3描述了用于处理文本序列以生成对应输出的示例过程。
系统确定目标函数关于系统参数(例如,递归神经网络、跳跃预测神经网络和预测神经网络的参数)的梯度(506)。目标函数可以促进生成准确的输出(即,匹配由训练样例指定的目标输出的输出)。
在一些情况下,目标函数可以包括:(i)取决于输出(即,如在504中生成)与目标输出(例如,如由训练样例指定)之间的相似性的第一项,和(ii)取决于由系统接收的反馈值(reward)的第二项。在系统处理文本序列以生成对应输出之后可以由系统接收反馈值。反馈值一般表示为数值。系统可以对于生成匹配目标输出的输出接收较高反馈值,并且对于生成与目标输出不同的输出接收较低反馈值。在特定示例中,系统可以在输出匹配目标输出时接收+1的反馈值,并且在输出与目标输出不同时接收-1的反馈值。当目标函数包括取决于由系统接收的反馈值的项时,系统可以被称为通过强化学习训练技术被训练。
目标函数可以由下式给出:
其中,θm是递归神经网络和预测神经网络的参数,θa是跳跃预测神经网络的参数,取决于输出与目标输出之间的相似性,并且/>取决于由系统接收的预期反馈值。在该示例中,项/>可以是任何适当的分类或回归损失(例如,交叉熵损失或方差损失)。在该示例中,/>可以由下式给出:
系统可以通过任何适当的程序(procedure)确定目标函数关于递归神经网络、跳跃预测神经网络和预测神经网络的参数的梯度。例如,系统可以通过反向传播程序(诸如,反向传播通过时间)确定目标函数的梯度。在特定示例中,系统可以将目标函数项(如在(2)中给出)关于跳跃预测神经网络的参数的梯度确定为:
其中,表示关于跳跃预测神经网络的参数的梯度(即,通过反向传播程序计算),N是系统可以进行将一个或多个词元指定为要被跳过的词元的确定的最大数量(即,“跳跃”的最大数量),p(ji)是在将一个或多个词元指定为要被跳过的词元的第i个确定(即,第i个“跳跃”)期间选择的位置值的跳跃分数(即,如参考408所述),并且R是由系统接收的反馈值。通过借助强化学习技术确定关于跳跃预测神经网络的参数的梯度,系统消除了由基于跳跃预测神经网络的输出选择的离散的位置值的不可微性(non-differentiability)造成的潜在数值困难。
系统使用目标函数的梯度来更新递归神经网络参数、跳跃预测神经网络参数和预测神经网络参数的当前值(508)。对于给定参数θ,系统可以通过下式更新参数的当前值:
其中,r是正学习率超参数(positive learning rate hyper-parameter)(即,控制在训练期间可以多快地改变参数值的系统超参数),并且是目标函数关于参数θ的梯度(例如,如在506中确定)。
系统确定训练是否完成(510)。在一些实施方式中,如果已经完成预定数量的训练迭代(即,502-508的重复),则系统确定训练完成。在一些实施方式中,当训练迭代之间目标函数的值的差落于预定阈值以下,则系统确定训练完成。
响应于确定训练未完成,系统返回502并且重复先前步骤。这样,系统在不同批次的训练样例上重复地训练递归神经网络、跳跃预测神经网络和预测神经网络。响应于确定训练完成(510,是),系统输出经训练的参数值(例如,递归神经网络、跳跃预测神经网络和预测神经网络的经训练的参数值)(512)。
本说明书与系统和计算机程序组件有关地使用术语“被配置”。一个或多个计算机的系统被配置为执行特定操作或动作的意思是系统在其上安装有软件、固件、硬件或其组合,在操作时,软件、固件、硬件或其组合使系统执行操作或动作。一个或多个计算机程序被配置为执行特定操作或动作的意思是一个或多个程序包括指令,当指令在由数据处理装置执行时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形地实现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构以及其结构等效物)或它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂态存储介质上以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基片、随机或串行存取存储设备或它们中一个或多个的组合。替代地或额外地,程序指令可以编码在人工生成的传播的信号(例如,被生成为编码信息以传输到合适的接收器装置以供数据处理装置执行的机器生成的电、光或电磁信号)上。
术语“数据处理装置”指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,举例来说包括可编程处理器、计算机或多处理器或计算机。所述装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置可以可选地包括代码,该代码为计算机程序创建执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中一种或多种的组合的代码。
计算机程序(其也可以被称为或被描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释性语言、声明性或过程语言,并且可以以任何形式部署计算机程序,包括作为独立程序或作为模块、组件、子程序或其他适于用在计算环境中的单元。程序可以但不必与文件系统中的文件对应。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所讨论的单个文件中或在多个协作的文件(例如,存储一个或多个模块、子程序或代码的一些部分的文件)中。计算机程序可以部署为在一个或多个计算机上执行,这些计算机位于一个站点或跨多个站点分布并通过数据通信网络互联。
在本说明书中,术语“引擎”被用于宽泛地指基于软件的系统、子系统或被编程为执行一个或多个特定功能的过程。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个将专用于特定引擎;在其他情况下,多个引擎可以安装并运行在相同的计算机或多个计算机上。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,从而通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个经编程的计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或二者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路来补充或可以结合到其中。一般来说,计算机将也包括用于存储数据的一个或多个大容量存储设备(例如、磁盘、磁光盘或光盘)或可以操作性地联接一个或多个大容量存储设备以从其接收数据或将数据传输到其处或者接收和传输二者。然而,计算机不必具有这样的设备。另外,计算机可以嵌入到另一设备(例如,仅举几个例子,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)快闪驱动器))中。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,举例来说,包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在具有用于为用户显示信息的显示设备及键盘和指向设备的计算机上,所述显示设备例如CRT(阴极射线管)或LCD(液晶显示)监视器,用户可以通过键盘和指向设备向计算机提供输入,指向设备例如为鼠标或轨迹球。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,通过向由用户使用的设备发送文档和接收来该设备的文档,计算机可以与用户交互;例如,通过响应于从web浏览器接收的请求而将网页发送到用户的设备上的web浏览器。另外,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息应用的智能电话)并且作为回应从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如用于处理机器学习训练或产生的一般和计算密集部分(即,推断、工作负荷)的专用硬件加速器单元。
机器学习模型可以使用机器学习框架(例如,TensorFlow框架、微软认知工具包框架、Apache Singa框架或Apache MXNet框架)来实现和部署。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面、web浏览器或app的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过任意形式或媒介的数字数据通信(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过通信网络交互。通过运行在相应计算机上并且彼此具有客户端-服务器关系的计算机程序而形成客户端和服务器的关系。在一些实施例中,服务器向充当客户端的用户设备传输数据(例如,HTML页面)(例如,用于向与设备交互的用户显示数据和从其接收用户输入的目的)。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
尽管本说明书包含许多具体的实现细节,但是这些细节不应当被解释为对任何发明的范围或对可能请求保护的范围进行限制,而应该被解释为可能特定于特定发明的特定实施例的特征的描述。在本说明书中在单独的实施例的背景中描述的某些特征也可以以组合方式实现在单个实施例中。相反,在单个实施例的背景中描述的各种特征也可以在多个实施例中分开地实施或在任何合适的子组合中实施。此外,尽管特征可以如上所述描述为在某些组合中起作用并且最初也这样地请求,但在一些情况下,来自所请求的组合的一个或多个特征可以从组合中排除,并且所请求的组合可以涉及子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描绘了操作并且在权利要求中以特定顺序记载了操作,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,在上述实施例中对各种系统模块和组件的分离不应当被理解为在所有实施例中要求这样的分离,而是应当要理解,所描述的程序组件和系统可一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,记载在权利要求中的动作可以以不同的顺序执行而仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示出的特定顺序或者相继的顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (21)
1.一种用于浏览序列数据的计算机实现的方法,包括:
接收为输入文本序列生成系统输出的请求,所述输入文本序列包括按输入顺序布置的多个词元;
以所述输入顺序处理所述多个词元中的每一个以生成递归神经网络的最终内部状态,所述处理包括对于所述多个词元中的每一个:
在处理所述多个词元期间确定词元是否已经被指定为要被跳过的词元;
当词元没有被指定为要被跳过的词元时:
使用所述递归神经网络处理词元以更新所述递归神经网络的当前内部状态,以及
当词元不是按输入顺序的最后一个时,确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元;
其中,所述多个词元中的一个或多个词元没有被指定为要被跳过的词元;其中,对于没有被指定为要被跳过的词元的所述一个或多个词元,确定是否将所述输入顺序中的一个或多个下面的词元指定为要被跳过的词元包括:
通过一个或多个神经网络层处理所述递归神经网络的经更新的内部状态以生成一组分数,所述一组分数包括对于多个位置值中的每一个的相应分数;以及
基于对于所述多个位置值的分数,确定将所述输入顺序中的多个下面的词元指定为要被跳过的词元;以及
从所述递归神经网络的最终内部状态生成所述系统输出。
2.根据权利要求1所述的方法,其中,所述词元包括特定自然语言的字符。
3.根据权利要求1所述的方法,其中,所述词元包括特定自然语言的单词。
4.根据权利要求1所述的方法,其中,确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元包括:
确定自从最近跳过的词元以来是否阈值数量的词元已经被所述递归神经网络处理;以及
当少于所述阈值数量的词元已经被处理时,确定不将按输入顺序的下面的词元指定为要被跳过的词元。
5.根据权利要求1所述的方法,其中,基于对于所述多个位置值的分数,确定将所述输入顺序中的多个下面的词元指定为要被跳过的词元包括:
使用所述分数选择所述多个位置值中的一个;以及
从选择的位置值确定按输入顺序多少个下面的词元指定为要被跳过的词元。
6.根据权利要求5所述的方法,其中,选择所述多个位置值中的一个包括:
按照所述分数从所述多个位置值进行采样。
7.根据权利要求5所述的方法,其中,选择所述多个位置值中的一个包括:
选择具有最高分数的位置值。
8.根据权利要求5所述的方法,其中,所述多个位置值包括一个或多个非负整数值,并且其中,当所述非负整数值中的一个被选择时,确定指定多少个下面的词元包括:
将按输入顺序的下N个词元指定为要被跳过的词元,其中,N等于选择的非负整数值。
9.根据权利要求5所述的方法,其中,所述多个位置值包括处理结束值,并且其中,当所述处理结束值被选择时,确定指定多少个下面的词元包括:
将按输入顺序的每个其余词元指定为要被跳过的词元,并且将更新的内部状态指定为所述最终内部状态。
10.根据权利要求1所述的方法,还包括:
当词元是按输入顺序的最后一个时,将更新的内部状态指定为所述最终内部状态。
11.根据权利要求1所述的方法,还包括:
确定已经进行将一个或多个词元指定为要被跳过的词元的、多于最大数量的确定;以及
作为响应,将所述当前内部状态指定为所述最终内部状态。
12.根据权利要求1所述的方法,其中,所述递归神经网络是基于注意力的递归神经网络,并且其中,更新所述当前内部状态包括确定先前处理的词元上的注意力向量。
13.根据权利要求1所述的方法,其中,所述递归神经网络是基于注意力的递归神经网络,并且其中,更新所述当前内部状态包括确定在最近跳过的词元之后处理的词元上的注意力向量。
14.根据权利要求1所述的方法,其中,用外部存储器增强所述递归神经网络。
15.根据权利要求1所述的方法,其中,已经使用强化学习技术来训练所述递归神经网络。
16.根据权利要求1所述的方法,其中,所述系统输出是所述输入文本序列的情感的分类,并且其中,生成所述系统输出包括:
从所述最终内部状态确定对于多个可能的情感中的每一个的相应的情感分数;以及
使用所述情感分数从所述可能的情感选择情感。
17.根据权利要求1所述的方法,其中,所述系统输出是所述输入文本序列的话题的分类,并且其中,生成所述系统输出包括:
从所述最终内部状态确定对于多个可能的话题中的每一个的相应的话题分数;以及
使用所述话题分数从所述可能的话题选择话题。
18.根据权利要求1所述的方法,其中,所述输入文本序列包括问题文本片段和上下文文本片段,其中,所述系统输出是关于上下文文本片段的由所述问题文本片段提出的问题的答案,并且其中,生成所述系统输出包括:
从所述最终内部状态确定对于所述问题的多个可能的答案中的每一个的相应的答案分数;以及
使用所述答案分数从所述可能的答案选择答案。
19.根据权利要求1所述的方法,其中,所述词元包括句子或其他多单词文本片段。
20.一种用于浏览序列数据的系统,所述系统包括一个或多个计算机和一个或多个存储设备的系统,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机运行时使所述一个或多个计算机执行操作,所述操作包括:
接收为输入文本序列生成系统输出的请求,所述输入文本序列包括按输入顺序布置的多个词元;
以所述输入顺序处理所述多个词元中的每一个以生成递归神经网络的最终内部状态,所述处理包括对于所述多个词元中的每一个:
在处理所述多个词元期间确定词元是否已经被指定为要被跳过的词元;
当词元没有被指定为要被跳过的词元时:
使用所述递归神经网络处理词元以更新所述递归神经网络的当前内部状态,以及
当词元不是按输入顺序的最后一个时,确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元;
其中,所述多个词元中的一个或多个词元没有被指定为要被跳过的词元;其中,对于没有被指定为要被跳过的词元的所述一个或多个词元,确定是否将所述输入顺序中的一个或多个下面的词元指定为要被跳过的词元包括:
通过一个或多个神经网络层处理所述递归神经网络的经更新的内部状态以生成一组分数,所述一组分数包括对于多个位置值中的每一个的相应分数;以及
基于对于所述多个位置值的分数,确定将所述输入顺序中的多个下面的词元指定为要被跳过的词元;以及
从所述递归神经网络的最终内部状态生成所述系统输出。
21.一个或多个非暂态计算机存储介质,所述一个或多个非暂态计算机存储介质存储指令,所述指令在由一个或多个计算机运行时使所述一个或多个计算机执行操作,所述操作包括:
接收为输入文本序列生成系统输出的请求,所述输入文本序列包括按输入顺序布置的多个词元;
以所述输入顺序处理所述多个词元中的每一个以生成递归神经网络的最终内部状态,所述处理包括对于所述多个词元中的每一个:
在处理所述多个词元期间确定词元是否已经被指定为要被跳过的词元;
当词元没有被指定为要被跳过的词元时:
使用所述递归神经网络处理词元以更新所述递归神经网络的当前内部状态,以及
当词元不是按输入顺序的最后一个时,确定是否将按输入顺序的一个或多个下面的词元指定为要被跳过的词元;
其中,所述多个词元中的一个或多个词元没有被指定为要被跳过的词元;其中,对于没有被指定为要被跳过的词元的所述一个或多个词元,确定是否将所述输入顺序中的一个或多个下面的词元指定为要被跳过的词元包括:
通过一个或多个神经网络层处理所述递归神经网络的经更新的内部状态以生成一组分数,所述一组分数包括对于多个位置值中的每一个的相应分数;以及
基于对于所述多个位置值的分数,确定将所述输入顺序中的多个下面的词元指定为要被跳过的词元;以及
从所述递归神经网络的最终内部状态生成所述系统输出。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762488013P | 2017-04-20 | 2017-04-20 | |
US62/488,013 | 2017-04-20 | ||
PCT/US2018/028618 WO2018195459A1 (en) | 2017-04-20 | 2018-04-20 | Processing sequential data using recurrent neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110402445A CN110402445A (zh) | 2019-11-01 |
CN110402445B true CN110402445B (zh) | 2023-07-11 |
Family
ID=62117067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880017612.8A Active CN110402445B (zh) | 2017-04-20 | 2018-04-20 | 使用递归神经网络浏览序列数据的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10679006B2 (zh) |
EP (1) | EP3563302A1 (zh) |
CN (1) | CN110402445B (zh) |
WO (1) | WO2018195459A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642835B2 (en) * | 2017-08-14 | 2020-05-05 | Sisense Ltd. | System and method for increasing accuracy of approximating query results using neural networks |
CN109002186B (zh) * | 2018-06-28 | 2020-12-25 | 北京金山安全软件有限公司 | 一种输入预测方法及装置 |
US11416733B2 (en) | 2018-11-19 | 2022-08-16 | Google Llc | Multi-task recurrent neural networks |
US10963639B2 (en) * | 2019-03-08 | 2021-03-30 | Medallia, Inc. | Systems and methods for identifying sentiment in text strings |
CN111222344B (zh) * | 2020-01-03 | 2023-07-18 | 支付宝(杭州)信息技术有限公司 | 训练神经网络的方法、装置及电子设备 |
CN111767987B (zh) * | 2020-06-28 | 2024-02-20 | 北京百度网讯科技有限公司 | 基于循环神经网络的数据处理方法、装置和设备 |
RU2020131255A (ru) * | 2020-09-22 | 2022-03-22 | Общество С Ограниченной Ответственностью "Юрробот" | Облачный программный комплекс для автоматизации процессов взыскания дебиторской задолженности с использованием искусственного интеллекта и машинного обучения |
CN117574991B (zh) * | 2024-01-15 | 2024-04-02 | 武汉大学 | 基于ga算法优化bp神经网络的极移预报方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615589A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 训练命名实体识别模型的方法、命名实体识别方法及装置 |
EP3128439A1 (en) * | 2015-08-07 | 2017-02-08 | Google, Inc. | Text classification and transformation based on author |
CN106462801A (zh) * | 2014-10-07 | 2017-02-22 | 谷歌公司 | 在分区训练数据上训练神经网络 |
CN106462802A (zh) * | 2014-11-14 | 2017-02-22 | 谷歌公司 | 生成映像的自然语言描述 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236923B1 (en) * | 2002-08-07 | 2007-06-26 | Itt Manufacturing Enterprises, Inc. | Acronym extraction system and method of identifying acronyms and extracting corresponding expansions from text |
US8489624B2 (en) * | 2004-05-17 | 2013-07-16 | Google, Inc. | Processing techniques for text capture from a rendered document |
US7496567B1 (en) * | 2004-10-01 | 2009-02-24 | Terril John Steichen | System and method for document categorization |
WO2009026140A2 (en) * | 2007-08-16 | 2009-02-26 | Hollingsworth William A | Automatic text skimming using lexical chains |
US10277628B1 (en) * | 2013-09-16 | 2019-04-30 | ZapFraud, Inc. | Detecting phishing attempts |
US9984067B2 (en) * | 2014-04-18 | 2018-05-29 | Thomas A. Visel | Automated comprehension of natural language via constraint-based processing |
WO2016123205A1 (en) * | 2015-01-28 | 2016-08-04 | Hahn Bruce C | Deep reading machine and method |
WO2016134183A1 (en) * | 2015-02-19 | 2016-08-25 | Digital Reasoning Systems, Inc. | Systems and methods for neural language modeling |
US10628735B2 (en) * | 2015-06-05 | 2020-04-21 | Deepmind Technologies Limited | Reading comprehension neural networks |
US9818409B2 (en) * | 2015-06-19 | 2017-11-14 | Google Inc. | Context-dependent modeling of phonemes |
US10083169B1 (en) * | 2015-08-28 | 2018-09-25 | Google Llc | Topic-based sequence modeling neural networks |
US11010550B2 (en) * | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US9852337B1 (en) * | 2015-09-30 | 2017-12-26 | Open Text Corporation | Method and system for assessing similarity of documents |
US20170154620A1 (en) * | 2015-12-01 | 2017-06-01 | Knowles Electronics, Llc | Microphone assembly comprising a phoneme recognizer |
US10831811B2 (en) * | 2015-12-01 | 2020-11-10 | Oracle International Corporation | Resolution of ambiguous and implicit references using contextual information |
JP6876061B2 (ja) * | 2016-01-26 | 2021-05-26 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | ニューラル臨床パラフレーズ生成のためのシステム及び方法 |
CN108780445B (zh) * | 2016-03-16 | 2022-10-04 | 微软技术许可有限责任公司 | 用于对小数据的机器理解的并行分层模型 |
WO2017210634A1 (en) * | 2016-06-03 | 2017-12-07 | Maluuba Inc. | Iterative alternating neural attention for machine reading |
US10083170B2 (en) * | 2016-06-28 | 2018-09-25 | International Business Machines Corporation | Hybrid approach for short form detection and expansion to long forms |
US10546066B2 (en) * | 2016-08-31 | 2020-01-28 | Microsoft Technology Licensing, Llc | End-to-end learning of dialogue agents for information access |
CN109690577A (zh) * | 2016-09-07 | 2019-04-26 | 皇家飞利浦有限公司 | 利用堆叠式自动编码器进行的半监督式分类 |
US10552468B2 (en) * | 2016-11-01 | 2020-02-04 | Quid, Inc. | Topic predictions based on natural language processing of large corpora |
US11580350B2 (en) * | 2016-12-21 | 2023-02-14 | Microsoft Technology Licensing, Llc | Systems and methods for an emotionally intelligent chat bot |
KR102424514B1 (ko) * | 2017-12-04 | 2022-07-25 | 삼성전자주식회사 | 언어 처리 방법 및 장치 |
US10380260B2 (en) * | 2017-12-14 | 2019-08-13 | Qualtrics, Llc | Capturing rich response relationships with small-data neural networks |
US20190258933A1 (en) * | 2018-02-19 | 2019-08-22 | International Business Machines Corporation | Deep Forecasted Human Behavior from Digital Content |
-
2018
- 2018-04-20 EP EP18723222.8A patent/EP3563302A1/en active Pending
- 2018-04-20 CN CN201880017612.8A patent/CN110402445B/zh active Active
- 2018-04-20 WO PCT/US2018/028618 patent/WO2018195459A1/en unknown
-
2019
- 2019-07-10 US US16/508,066 patent/US10679006B2/en active Active
-
2020
- 2020-05-04 US US16/865,747 patent/US11048875B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462801A (zh) * | 2014-10-07 | 2017-02-22 | 谷歌公司 | 在分区训练数据上训练神经网络 |
CN106462802A (zh) * | 2014-11-14 | 2017-02-22 | 谷歌公司 | 生成映像的自然语言描述 |
CN104615589A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 训练命名实体识别模型的方法、命名实体识别方法及装置 |
EP3128439A1 (en) * | 2015-08-07 | 2017-02-08 | Google, Inc. | Text classification and transformation based on author |
Also Published As
Publication number | Publication date |
---|---|
CN110402445A (zh) | 2019-11-01 |
US10679006B2 (en) | 2020-06-09 |
EP3563302A1 (en) | 2019-11-06 |
US20200265191A1 (en) | 2020-08-20 |
WO2018195459A1 (en) | 2018-10-25 |
US20190340236A1 (en) | 2019-11-07 |
US11048875B2 (en) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110402445B (zh) | 使用递归神经网络浏览序列数据的方法和系统 | |
US11669744B2 (en) | Regularized neural network architecture search | |
US11544573B2 (en) | Projection neural networks | |
KR102208989B1 (ko) | 강화 학습을 통한 디바이스 배치 최적화 | |
CN110366734B (zh) | 优化神经网络架构 | |
US11544536B2 (en) | Hybrid neural architecture search | |
US20210019599A1 (en) | Adaptive neural architecture search | |
US11657371B2 (en) | Machine-learning-based application for improving digital content delivery | |
WO2021091681A1 (en) | Adversarial training of machine learning models | |
CN110663049B (zh) | 神经网络优化器搜索 | |
CN111652378B (zh) | 学习来选择类别特征的词汇 | |
CN107463701B (zh) | 基于人工智能推送信息流的方法和装置 | |
US20230029590A1 (en) | Evaluating output sequences using an auto-regressive language model neural network | |
Lee | Building multimodal ai chatbots | |
WO2024152686A1 (zh) | 确定资源信息的推荐指标的方法、装置、设备、存储介质及计算机程序产品 | |
IE20180149A1 (en) | Projection neural networks | |
CN116431790A (zh) | 答复输出方法、装置、计算机设备及其存储介质 |
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 |