CN110929114A - 利用动态记忆网络来跟踪数字对话状态并生成响应 - Google Patents
利用动态记忆网络来跟踪数字对话状态并生成响应 Download PDFInfo
- Publication number
- CN110929114A CN110929114A CN201910552285.2A CN201910552285A CN110929114A CN 110929114 A CN110929114 A CN 110929114A CN 201910552285 A CN201910552285 A CN 201910552285A CN 110929114 A CN110929114 A CN 110929114A
- Authority
- CN
- China
- Prior art keywords
- dialog
- digital
- dialog state
- segment
- memory
- 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
- 230000004044 response Effects 0.000 title claims abstract description 93
- 238000013528 artificial neural network Methods 0.000 claims abstract description 151
- 230000003993 interaction Effects 0.000 claims abstract description 54
- 238000012549 training Methods 0.000 claims description 57
- 239000013598 vector Substances 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 27
- 230000009471 action Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 22
- 230000000694 effects Effects 0.000 claims description 19
- 238000013473 artificial intelligence Methods 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 210000004027 cell Anatomy 0.000 description 38
- 230000006870 function Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000013527 convolutional neural network Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006872 improvement Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000551 statistical hypothesis test Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- 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/048—Activation functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请的各实施例涉及利用动态记忆网络来跟踪数字对话状态并生成响应。本公开涉及基于由具有动态记忆网络架构的神经网络生成的数字对话状态来生成数字响应。例如,在一个或多个实施例中,所公开的系统将具有一个或多个段的数字对话提供到具有包括一组多个记忆槽的动态记忆网络架构的对话状态跟踪神经网络。在一些实施例中,对话状态跟踪神经网络还包括在修改存储在记忆槽中的值中使用的更新门和重置门。例如,所公开的系统可以利用交叉槽交互更新门/重置门来准确地生成针对数字对话段中的每段的数字对话状态。随后,该系统基于数字对话状态来生成针对数字对话的每段的数字响应。
Description
背景技术
近年来已经看到使用人工智能来促进设备与用户之间的对话的硬件和软件平台的显著改进。例如,许多现代设备提供虚拟助手,利用虚拟助手,用户可以参与问问题或执行搜索查询。这些对话平台中的许多采用在任何给定点处智能地跟踪对话的状态以便根据周围背景确定与特定对话段(例如,语句或问题)相关的响应的系统。例如,对话状态跟踪系统可以根据当前对话段及其周围背景来确定当前对话状态。系统可以然后使用当前对话状态来提供对当前对话段的响应。
尽管这些传统系统可以跟踪数字对话状态以提供数字响应,但是这样的系统具有导致不灵活的、不准确的且低效率的操作的若干技术缺点。例如,传统对话状态跟踪系统常常在以下方面是不灵活的:它们死板地确定对应于当前对话段的当前对话状态而不考虑可能与当前状态相关的相关对话段。具体地,许多传统系统采用对话状态跟踪模型(例如,许多传统系统采用未能保持关于对话的先前段的相关信息的对话状态跟踪模型(例如,神经网络架构,诸如LSTM和GRU))。例如,当模型处理对话的新段时,它们可能利用对应于每个段的新数据连续地更新它们的数据存储。因此,这些模型倾向于排出(即,“忘记”)旧的先前存储的数据,即使该数据仍然是相关的。因此,当用户提供具有由在新段之前的对话的先前段明显地通告的背景的对话的新段时,这些模型可能不考虑这些先前段。
除了灵活性考虑,传统对话状态跟踪系统还是不准确的。例如,传统系统通常很难准确地确定数字对话状态。具体地,因为传统系统常常采用很难保持关于对话的旧段的相关信息(即使当与当前对话状态相关时)的模型,所以这样的系统不能生成基于所有相关信息的数字对话状态。因此,传统系统可以生成未准确地反应真实当前对话状态的数字对话状态预测。
除了灵活性和准确性的问题之外,传统对话状态跟踪系统也是低效率的。具体地,因为传统系统常常不准确地确定数字对话状态,所以这样的系统一般提供对对话段没有帮助的响应,从而要求得出正确响应的额外用户交互。例如,传统系统可以在提供正确响应之前要求用户改述语句或问不同的问题(通常许多次)。由于增加的交互,这样的传统系统常常要求额外的计算资源(例如,处理能力和记忆)以便提供合适的响应。
存在关于传统对话状态跟踪系统的这些以及额外的问题和难题。
发明内容
本文中描述的一个或多个实施例利用基于由具有动态记忆网络架构的神经网络生成的数字对话状态来生成响应的系统、方法、以及非暂态计算机可读存储介质来提供益处并且/或者姐姐本领域的前述问题或其他问题中的一个或多个。例如,在一个或多个实施例中,所公开的系统将具有一个或多个段(例如,语句、问题、等等)的数字对话提供到被训练以生成数字对话状态的对话状态跟踪神经网络。具体地,对话状态跟踪神经网络可以包括具有多个记忆槽的动态记忆网络架构,多个记忆槽中的每个记忆槽编码对应于对话的重要主题(例如,话题、要采取的动作、等等)的潜在表示。在一个或多个实施例中,对话状态跟踪神经网络处理对话的每段以使用门控机制(例如,重置门和更新门)来修改一个或多个记忆槽的值。在一些实施例中,门控机制利用重置门和更新门基于记忆槽与其他记忆槽之间的交叉槽交互来修改记忆槽的值。在处理了数字对话的每段之后,对话状态跟踪神经网络基于最终槽值来确定数字对话状态,并且所公开的系统基于所确定的状态来生成对该段的数字响应。以这种方式,所公开的系统可以灵活地、准确地且高效地生成基于所有相关信息的数字响应。
为了说明,在一个或多个实施例中,一种系统可以标识包括第一段和第二段(例如,谈话的两个部分)的数字对话。随后,系统可以将数字对话提供到包括具有多个记忆槽和多个对应重置门的动态记忆网络的对话状态跟踪神经网络。该系统可以利用对话状态跟踪神经网络处理以基于第一段来生成针对记忆槽的值并且然后利用与记忆槽相关联的重置门以基于第二段来生成针对记忆槽的新值。在一些实施例中,该系统还使用与记忆槽相关联的更新门来生成新值。在另外的实施例中,系统重置门和更新门是基于在动态记忆网络中的记忆槽之间标识的交叉槽交互起作用的交叉槽交互门。在生成了新值之后,该系统可以基于记忆槽的新值来生成对应于第二段的数字对话状态。系统可以然后基于数字对话状态来生成对第二段的数字响应。
本公开内容的一个或多个实施例的额外的特征和优点被概述在随后的描述中,并且部分将从说明书显而易见,或者可以通过对这样的示例实施例的实践来习得。
附图说明
具体实施方式通过使用如下面简单描述的附图以额外的特异性和细节描述了一个或多个实施例。
图1图示了根据一个或多个实施例的用于生成针对数字对话段的响应的对话状态跟踪系统的框图;
图2图示了根据一个或多个实施例的对话段和响应的示例交换;
图3图示了根据一个或多个实施例的被训练以生成数字对话状态的对话状态跟踪神经网络的动态记忆网络架构的示意图;
图4A-4C图示了根据一个或多个实施例的具有单个更新门的动态记忆单元的示意图;
图5A-5D图示了根据一个或多个实施例的具有更新门和重置门的动态记忆单元的示意图;
图6图示了根据一个或多个实施例的具有交叉槽交互门的动态记忆单元的示意图;
图7图示了根据一个或多个实施例的用于基于数字对话状态来生成响应的对话状态跟踪系统的框图;
图8图示了根据一个或多个实施例的训练对话状态跟踪神经网络以生成数字对话状态的框图;
图9图示了根据一个或多个实施例的反应关于对话状态跟踪系统的有效性的实验结果的表格;
图10图示了根据一个或多个实施例的对话状态跟踪系统可以操作于其中的示例环境;
图11图示了根据一个或多个实施例的对话状态跟踪系统的示例示意图;
图12图示了根据一个或多个实施例的基于数字对话状态来生成对数字对话段的响应的动作的系列的流程图;以及
图13图示了根据一个或多个实施例的示范性计算设备的方框图。
具体实施方式
本文中描述的一个或多个实施例包括基于由具有动态记忆网络架构的神经网络生成的数字对话状态来生成响应的一种对话状态跟踪系统。例如,对话状态跟踪系统可以利用基于存储在多个记忆槽中的值来生成数字对话状态的对话状态跟踪神经网络,多个记忆槽中的每个记忆槽编码对应于对话的重要主题的潜在表示。对话状态跟踪神经网络可以通过处理数字对话段来生成记忆槽值。在一些实施例中,对话状态跟踪神经网络使用确定对话的当前段或对话的先前段的影响的门控机制(例如,重置门和更新门)来生成记忆槽值。在一些实施例中,门控机制还基于记忆槽之间的关联来生成值。对话状态跟踪神经网络使用记忆槽值来生成数字对话状态,并且对话状态跟踪系统然后使用那些状态来生成对对话的段的数字响应。
为了提供示例,在一个或多个实施例中,对话状态跟踪系统将数字对话提供到具有包括多个记忆槽和重置门的动态记忆架构的对话状态跟踪神经网络。对话状态跟踪系统使用神经网络以基于数字对话的第一段来生成记忆槽的第一值。随后,对话状态跟踪神经网络利用与记忆槽相关联的重置门以基于数字对话的第二段来生成针对记忆槽的第二值。在一些实施例中,对话状态跟踪神经网络通过进一步使用与第一记忆槽相关联的更新门来生成记忆槽的第二值。在一些实施例中,对话状态跟踪神经网络使用重置门和更新门以基于动态记忆架构中的记忆槽与其他记忆槽之间的交叉槽交互来生成第二值。对话状态跟踪神经网络基于记忆槽的第二值来生成对应于数字对话的第二段的数字对话状态。使用数字对话状态,对话状态跟踪系统可以生成对第二段的数字响应。
如刚刚提到的,在一个或多个实施例中,对话状态跟踪系统利用具有动态记忆网络架构的对话状态跟踪神经网络以生成数字对话状态。具体地,动态记忆网络架构提供多个记忆槽,其中,每个记忆槽存储指示数字对话状态的特性的值(即,编码对话的重要主题的潜在表示)。对话状态跟踪神经网络利用多个记忆槽的值来生成数字对话值。当对话状态跟踪神经网络处理数字对话段时,对话状态跟踪神经网络生成针对记忆槽中的一个或多个记忆槽的新值以便生成对应于该段的新数字对话状态。
额外地,如以上所提到的,对话状态跟踪神经网络使用与多个记忆槽相关联的多个重置门以生成针对那些记忆槽的值。在一个或多个实施例中,对话状态跟踪神经网络利用与记忆槽相关联的重置门以修改数字对话先前段对针对该记忆槽生成的当前值的影响。例如,对话状态跟踪神经网络可以利用重置门以在确定针对数字对话的随后段的记忆槽值中忽视数字对话先前段。在一些实施例中,对话状态跟踪神经网络通过确定重置值并且然后应用重置值以修改对对话的先前段的影响来利用重置门。
在一个或多个实施例中,对话状态跟踪神经网络还包括与多个记忆槽和多个重置门相关联的多个更新门。具体地,对话状态跟踪神经网络可以在生成针对对应记忆槽的值中使用多个更新门。例如,对话状态跟踪神经网络可以利用与记忆槽相关联的更新门以修改数字对话的当前段对针对该记忆槽生成的当前值的影响。在一些实施例中,对话状态跟踪神经网络通过确定更新值并且应用更新值以修改对数字对话的当前段的影响来利用更新门。
如以上进一步提到的,在一个或多个实施例中,与每个记忆槽相关联的门用于进一步基于交叉槽交互来确定数字对话的(当前或先前)段的影响。具体地,交叉槽交互可以包括一个记忆槽与另一记忆槽之间的关联(例如,当一个记忆槽改变时,另一记忆槽也改变)。对话状态跟踪系统可以在训练对话状态跟踪神经网络中学习交叉槽交互并且然后基于该记忆槽与每个其他可用记忆槽之间的交互来生成针对记忆槽的值。例如,重置门可以包括用于应用交叉槽交互重置值以修改数字对话先前段对针对记忆槽生成的当前值的影响的交叉槽交互重置门。另外,更新门可以包括用于应用交叉槽交互更新值以修改数字对话的当前段对针对记忆槽生成的当前值的影响的交叉槽交互更新门。
对话状态跟踪系统提供超越传统系统的若干优点。例如,对话状态跟踪系统改进当生成数字对话状态时考虑相关数据的灵活性。具体地,通过实施具有含有多个记忆槽的动态记忆网络架构的对话状态跟踪神经网络,对话状态跟踪系统可以基于对话的所有相关先前段来生成数字对话状态。具体地,动态记忆网络架构允许存储在记忆槽中的相关数据被维持很长时间段同时还强调来自数字对话的相关的新采集的数据。因此,如果那些先前段与当前状态相关,则对话状态跟踪系统可以基于明显在当前段前面的数字对话先前段来生成当前数字对话状态。为了说明,帮助用户规划到特定位置的旅程的虚拟助手可以存储与在对话的开始提到的位置的名称相关的数据以便识别当用户在稍后几分钟要求酒店推荐时,用户具体地想要与该位置有关的推荐。另外,通过使用交叉槽交互更新门和重置门,对话状态跟踪系统可以灵活地说明记忆槽之间的关联使得对一个记忆槽的数据的相关改变可以影响针对另一记忆槽生成的新值。
另外,对话状态跟踪系统改进准确性。具体地,通过利用具有含有可以存储相关数据很长时间段的多个记忆槽的动态记忆网络架构的对话状态跟踪神经网络,对话状态跟踪系统可以当确定数字对话状态时考虑所有相关信息。额外地,通过利用更新门和重置门并且基于记忆槽之间的交叉槽交互来生成新值,对话状态跟踪系统可以更准地确定对话状态并生成响应。为了说明,虚拟助手可以更准确地跟随与用户的谈话(例如,谈话当前关于什么),因为虚拟助手可以“记住”其已经确定仍然相关的信息并且“忘记”其已经确定不相关的信息。因此,虚拟助手当确定对话的状态时仅仅考虑相关信息。
额外地,通过更准确地生成数字对话状态,对话状态跟踪系统更高效地操作。具体地,因为对话状态跟踪系统更准确地确定数字对话状态,所以系统可以进一步生成更准确地对数字对话段做出响应的数字响应。这减轻了在系统可以提供合适响应之前对对话状态跟踪系统与用户之间的额外交互的需要。由于针对额外交互的该减少的需要,对话状态跟踪系统通过在操作期间需要更少处理能力和记忆来改进实施计算机系统的效率。作为示例,虚拟助手可以更准确地识别针对酒店推荐的请求与先前在对话中提到的具体位置相关。因此,虚拟助手可以向用户提供针对具体位置的推荐而不要求用户重新提交请求或改述请求以包括具体位置的名称。因此,通过第一次提供准确的回答,虚拟助手避免使用执行随后工作将需要的处理能力。
如由前述讨论所图示的,本公开利用各种术语来描述对话状态跟踪系统的特征和益处。现在提供关于这些术语的含义的额外细节。例如,如本文中所使用的,术语“数字对话”是指反映交流的数据。具体地,数字对话可以包括表示两个或更多个系统或实体之间的交流的数字数据。为了说明,数字对话可以表示用户(例如,人)与设备之间的交流或两个设备之间的交流。更具体地,数字对话可以反映音频谈话(例如,使用电话设备的人类与人工智能响应系统之间的谈话)、文本谈话(例如,客户端设备与人工智能响应系统之间的聊天或文本消息通信)、或另一谈话。额外地,如本文中所使用的,术语“段”、“对话段”、“数字对话段”或“数字对话段”是指数字对话的一部分。具体地,段可以是指包含数字对话的整体或少于数字对话的整体的数字对话的子集。为了说明,段可以包括来自谈话的语句或问题。
另外,如本文中所使用的,术语“数字对话状态”或“对话状态”是指对话的描述。具体地,数字对话状态可以是指在给定时间点的对话的特性的描述。例如,数字对话状态可以描述对话的当前话题、对话的类型(例如,请求的类型)、主题或目标(例如,请求的目标)、根据由对话给出的指令要采取的具体动作、或由对话描述的位置(例如,针对请求的位置)或实体。
额外地,如本文中所使用的,术语“神经网络”是指可以基于输入被调谐(例如,训练)以逼近未知函数的机器学习模型。具体地,术语神经网络可以包括通信并学习以逼近复杂函数并基于被提供到模型的多个输入来生成输出的相互连接的神经元的模型。例如,术语神经网络包括一个或多个机器学习算法。另外,神经网络是实施利用一组算法的对数据中的高水平抽象进行建模的深度学习技术的算法(或一组算法)。术语神经网络可以包括动态记忆网络。如本文中所使用的,术语“动态记忆网络”是指在分析序列的特定阶段中利用多个动态记忆单元和注意机制的递归神经网络。如下面更详细地描述的,动态记忆单元可以包括门控机制(例如,重置门和/或更新门)、记忆槽、以及用于基于在事件的序列的不同阶段处的输入数据来更新针对记忆槽的值的算法(例如,基于内容的操作)。
如本文中所使用的,术语“记忆槽”是指数字对话的主题、话题和/或特性的潜在表示。具体地,术语记忆槽包括(例如,经由潜在特征向量)反应主题的动态记忆网络内的记忆机制。动态记忆网络内的多个记忆槽可以共同地表示潜在对话状态。记忆槽可以是指记忆中的特定位置(例如,硬件存储设备中的位置)或存储在记忆(例如,存储针对特定对话特性的值的任何记忆位置)中的值的特定指代。
另外,如本文中所使用的,术语“重置门”或“更新门”是指用于生成针对记忆槽的值的门控机制。具体地,术语重置门可以是指修改先前数据(例如,先前记忆槽值)对新数据(例如,针对对话的当前段的当前记忆槽值)的生成的影响的门控机制。为了说明,重置门可以包括修改先前输入对要存储在记忆槽中的当前值的影响的对应于该记忆槽的门控机制。类似地,如本文中所使用的,术语“更新门”可以是指修改新数据对新值的生成的影响的门控机制。为了说明,更新门可以包括修改当前输入(例如,当前对话特征表示)对要存储在记忆槽中的当前值的影响的对应于该槽的门控机制。
另外,如本文中所使用的,术语“交叉槽交互”是指用于基于其他记忆槽值(例如,在序列的相同时间步骤或项中)来修改记忆槽值的机制。具体地,交叉槽交互包括记忆槽与作为动态记忆网络的部分的另一记忆槽之间的关联。例如,交叉槽交互重置门修改先前输入对基于记忆槽与每个其他记忆槽之间的关联针对记忆槽生成的当前值的影响。类似地,交叉槽交互更新门修改当前输入对基于这样的关联针对记忆槽生成的当前值的影响。
额外地,如本文中所使用的,术语“对话特征表示”是指表示数字对话或对话段的一组数值。具体地,术语对话特征表示包括利用卷积神经网络生成的特征向量,其反应对话或对话段的潜在特征和/或新奇特征。在一个或多个实施例中,对话特征表示是表示对话特性的多维数据集(例如,矩阵或向量)。在一个或多个实施例中,对话特征表示是由诸如对话状态跟踪神经网络的卷积层的机器学习算法学习的一组数值。
另外,如本文中所使用的,术语“响应”或“数字响应”是指对数字对话段的反应。具体地,术语响应包括在接收了数字对话段之后的交流答复或采取的动作。为了说明,响应可以包括对问题的回答、响应于另一语句做出的语句、或者根据由对话的一个或多个段提供的请求或指令采取的动作。响应可以采取数字文本、数字音频、或执行的动作(例如,对图像进行剪裁)的形式。
现在将参考附图提供关于对话状态跟踪系统的额外细节。例如,图1图示了根据一个或多个实施例的用于生成对数字对话段的数字响应的框图。如图1所示,对话状态跟踪系统102使用包括一个或多个段的数字对话104来生成多个数字响应108。应当注意,数字对话104可以包括任何数量的段,并且对话状态跟踪系统102可以产生任何合适数量的对应的数字响应作为多个数字响应108的部分。在一个或多个实施例中,对话状态跟踪系统生成针对数字对话104的每个段(或来自特定个体或源的所有段)的数字响应。
作为图示,图1示出了获得数字对话104的段106的对话状态跟踪系统102。在一个或多个实施例中,段106被可听地提供到对话状态跟踪系统102(例如,用户说出段106或设备呈现段106的音频表示)。在一些实施例中,段106通过书面提交被呈现(例如,用户使用实施对话状态跟踪系统102的计算设备来提交段106的打字表示)。在另外的实施例中,对话状态跟踪系统102以其他方式标识数字对话104和包括的段(例如,访问存储在数据库上的记录或抄本)。如图1所示,段106提出请求针对在新加坡旅游时参观的地方的推荐的问题。
如图1中可以看到的,对话状态跟踪系统102使用数字对话104的段106来生成对段106的数字响应110。具体地,图1示出了对话状态跟踪系统102在生成数字响应110中采用对话状态跟踪神经网络112。更具体地,对话状态跟踪神经网络112生成数字对话状态,其由对话状态跟踪系统102使用以生成如下面将更详细地讨论的数字响应。如图1所示,数字响应110是对由数字对话104的段106提出的问题的回答,提供所请求的地方推荐。
图2图示了根据一个或多个实施例的对话段和数字响应的示例交换以及对应的数字对话状态。具体地,各图图示了被称为“用户”的用户(例如,人)与这里被称为“助手”的对话状态跟踪系统之间的对话。更具体地,对话包括由用户对使照片被编辑并被发布到社交媒体账号的请求。
如图2所示,在一个或多个实施例中,对话状态跟踪系统与另一系统协作以执行用户请求,以检索对用户问题的回答,等等。例如,如图2所示,对话状态跟踪系统可以与照片编辑系统协作以如由用户所请求的编辑照片。为了说明,用户可以提供请求照片编辑系统剪裁选定照片的对话的段。对话状态跟踪系统可以接收对话的段并确定当前数字对话状态。照片编辑系统可以然后基于数字对话状态来剪裁选定照片并且对话状态跟踪系统可以随后生成通告用户动作已经被执行的数字响应。
如图2中可以看到的,当数字对话继续时(即,当用户提供对话的连续段时),对话状态跟踪系统连续地确定当前数字对话状态。例如,当用户请求照片的顶部被剪裁时,对话状态跟踪系统确定数字对话状态202包括话题(“剪裁”)和位置(“顶部”)。随后,当用户请求照片被改变为黑白版本时,对话状态跟踪系统确定数字对话状态204包括新话题(“调整”)和类型(“黑白”)。
如图2所示,在一些实施例中,具体数字对话状态甚至在数字对话的新段之后保持有效(例如,对话状态跟踪系统生成与先前数字对话状态相同的数字对话状态)。例如,对话状态跟踪系统在从用户接收的数字对话的多个段中维持数字对话状态202、206和208。然而,对话状态跟踪系统可以根据需要改变关于数字对话的每个新段的数字对话状态。例如,一旦用户提供要求对照片的对比度的改变的下一段,对话状态跟踪系统就将数字对话状态从数字对话状态204改变为数字对话状态206。
如以上所提到的,在一些实施例中,对话状态跟踪系统利用对话状态跟踪神经网络来生成数字对话状态,其在生成数字响应中被使用。具体地,在一个或多个实施例中,对话状态跟踪神经网络包括动态记忆网络架构。图3图示了由对话状态跟踪系统的一个或多个实施例使用以生成数字对话状态的对话状态跟踪神经网络300的动态记忆网络架构的示意图。尽管图3提供了对话状态跟踪神经网络300的广泛概述,但是下面将参考图4A-6提供关于网络以及其架构的更多细节。
如图3所示,对话状态跟踪神经网络300可以获取从ut-w+1到ut的数字对话段(例如,话语)的序列作为在时间步骤t处的输入302,其中,w表示历史窗口。换言之,ut表示数字对话的当前段,并且从ut-w+1到ut的序列表示动态记忆网络在确定当前数字对话状态(即,在时间t处的数字对话状态)中使用的选定时间窗口内的数字对话先前段。在一个或多个实施例中,获取段ut-w+1到ut-1的序列作为输入302的部分包括处理段并将得到的值存储在时间t之前的记忆槽中的一个或多个中(例如,处理在时间t-1处的段ut-1并将得到的值存储在对应的记忆槽中,等等)。如图3中可以看到的,并且如下面将更详细地讨论的,在时间t-1处的记忆槽的值可以在生成针对在时间t处的记忆槽的新值中被使用。换言之,通过处理数字对话先前段生成的值可以影响通过处理数字对话的当前段获得的当前值。因此,段(例如,话语)ut-w+1到ut-1的序列变成输入302的部分以用于生成针对在时间t处的记忆槽的值(并且因此用于生成数字对话状态)。
具体地,对话状态跟踪神经网络300利用嵌入式卷积神经网络来生成针对当前对话段的对话特征表示。在一个或多个实施例中,,对话状态跟踪神经网络300利用嵌入式卷积神经网络来生成对话特征表示,如由Y.Kim于2014年在EMNLP中的“ConvolutionalNeural Networks for Sentence Classification”所描述的,通过引用将其整体并入本文。对话状态跟踪神经网络300然后一起分析对话特征表示以及来自先前记忆槽的值(例如,潜在特征向量)以生成针对记忆槽的新值。记忆槽然后用于生成针对当前对话段的状态预测。
更具体地,关于图3的实施例,对话状态跟踪神经网络300通过将向量串联来将具有n个词语的数字对话段表示为n×k输入矩阵,向量中的每个是表示段中的第i个词语的k维词语嵌入使用卷积层(例如,卷积层304),对话状态跟踪神经网络300将具有与输入矩阵相同宽度k和给定高度m的滤波器应用到输入矩阵以生成在第i个位置处的以下卷积特征:
在方程1中,表示输入矩阵中从第i行到第j行的子区域,是偏置项,并且σ表示非线性激活函数(例如,修正的线性单元)。在使用方程1当从输入矩阵的第一行滑动到第(n-m+1)行时的一系列卷积操作产生针对滤波器的卷积特征图然后,最大元素c′=max(c)从每个卷积特征图被选择并被认为是针对相应最大池化层(例如,最大池化层306)中的该具体滤波器的最重要特征。
使用最大池化层(例如,最大池化层306),对话状态跟踪神经网络300生成对话特征表示(例如,特征向量)其是数字对话的相应段的1维向量表示,其中,1是在卷积层中使用的滤波器的总数。对话状态跟踪神经网络300然后将对话特征表示提供到动态记忆层(例如,动态记忆层308),其使用一个或多个动态记忆单元来产生针对每个记忆槽j的潜在特征向量hj。下面将参考图4A-6更详细地讨论动态记忆单元。每个记忆槽j将潜在特征向量hj存储为编码对应于数字对话的重要主题的潜在表示的一个或多个值。例如,第一记忆槽可以存储对应于数字对话的话题的值并且第二记忆槽可以存储对应于根据由数字对话提供的指令要采取的动作的值。
当处理数字对话的当前段时,对话状态跟踪神经网络300将先前保持在每个记忆槽中的值路由到对应的动态记忆单元,其可以在生成要存储在该记忆槽中的当前潜在特征向量中使用该记忆槽的先前保持的值(以及从数字对话的当前段和对应的关键向量wj生成的对话特征表示)。通过将每个记忆槽的先前保持的值路由到用于生成当前值的对应的动态记忆单元,对话状态跟踪系统300使得数字对话先前段能够影响当前数字对话状态。换言之,数字对话先前段ut-w+1到ut-1对当前数字对话状态的影响被提供为由记忆槽保持的先前值,在确定针对记忆槽的当前值中使用。在一个或多个实施例中,生成针对记忆槽的当前值包括将记忆槽的先前值重写在为该记忆槽指定的记忆位置中。在一些实施例中,生成当前值包括将当前值存储在不同记忆位置中并将该新记忆位置指定为记忆槽。
如图3中可以看到的,在生成了针对每个记忆槽的当前值之后,对话状态跟踪神经网络300使用预测层310来生成当前数字对话状态。具体地,对话状态跟踪神经网络300将每个记忆槽的当前值、(通过经由卷积层304处理数字对话的当前段ut生成的)当前对话特征表示和(通过经由卷积层304处理数字对话先前段ut-1生成的)先前对话特征表示提供到预测层310以生成数字对话状态。在一个或多个实施例中,预测层310包括softmax分类器。
如所提到的,对话状态跟踪神经网络300使用对应于每个记忆槽的动态记忆单元来生成针对该记忆槽的当前值(即,潜在特征向量)。图4A-6提供了关于由一个或多个实施例利用的动态记忆单元的更多细节。具体地,在图4A-6中可以看到,对话状态跟踪神经网络300使用包括门控机制的记忆单元来确定习惯用于生成潜在特征向量的什么数据要被存储为对应的记忆槽中的值。
图4A图示了根据一个或多个实施例的具有更新门402的动态记忆单元400。具体地,图4A图示了由动态记忆单元400在生成针对在第i个时间步骤处的第j个记忆槽的值中使用的输入和函数。具体地,θ表示具有分析输入的集合作为动态记忆单元400的部分的可训练参数的一个或多个(更新)函数404。例如,关于图4,θ可以表示用于生成更新值的方程2和/或可训练参数。在一个或多个实施例中,对话状态跟踪系统102生成利用如由M.Henaff,J.Weston,A.Szlam,A.Bordes和Y.LeCun在Tracking the World State WithRecurrent Entity Networks(ICLR 2017,CoRR abs/1612.03969.http://arxiv.org/abs/1612.03969)中描述的更新(重置)函数的更新(或重置)值,通过引用将其整体并入本文。
应当注意,箭头406表示hj被提供为当生成针对在下一时间步骤中的记忆槽的值时输入的集合的部分(即,在接收了数字对话的下一段之后)。换言之,当生成针对在第i个时间步骤处的第j个记忆槽的值时,箭头406表示先前值被提供为函数404的输入。
在以上方程中,表示更新值,wj是可训练关键向量,表示候选值,并且参数U,V,W跨所有记忆槽共享。应当注意,如方程2中所示,更新值取决于两个项和其分别表示更新值由对话特征表示与关键向量wj和记忆槽的先前值之间的对应关系控制。换言之,先前值和关键向量wj用作激活信号,从而控制对话的段“激活”第j个记忆槽(即,确定记忆槽将利用新信息被更新或记忆槽将利用新信息被更新的程度)。
在使用方程2生成了更新值后,动态记忆单元400将更新值应用到更新门402。具体地,更新门402控制候选值影响当前值的程度,如方程4中可见。因为候选值包含通过如图3所示的处理数字对话的当前段生成的对话特征表示所以更新门402控制数字对话的当前段影响当前值的程度。换言之,对更新值的应用修改数字对话的当前段对当前值的影响。
图4B-4C各自图示了当更新门402根据更新值来定位时对应于动态记忆单元400的动态记忆单元的示意图。例如,图4B图示了当更新值时对应于更新门402的定位的记忆单元410。如图4B所示并且如从方程4中可见的,当时,记忆单元410完全基于记忆槽的先前值来生成当前值换言之,当时,简化的记忆单元410不利用从数字对话的当前段获得的新信息来更新记忆槽的值。
类似地,图4C图示了当更新值时对应于更新门402的定位的记忆单元420。如在图4C中并且从方程4中可以看到的,当时,简化的记忆单元420完全基于候选值来生成当前值因为候选值包含输入422的集合,所以简化的记忆单元420基于记忆槽的先前值对应于记忆槽的关键向量wj、以及通过处理数字对话的当前段生成的对话特征表示来更新记忆槽的值。
应当注意,图4B-4C图示了对应于更新值可用的极值的更新门402的位置。然而,如由方程2所示,可以具有0与1之间的任何值。因此,对话状态跟踪系统102应用更新门402使得针对记忆槽的当前值可以至少部分地基于记忆槽的先前值和候选值两者来生成。
如以上所提到的,对话状态跟踪系统102还可以利用具有重置门的动态记忆单元。图5A图示了根据一个或多个实施例的具有更新门502和重置门504的动态记忆单元500。具体地,图5A图示了由动态记忆单元500在生成针对在第i个时间步骤处的第j个记忆槽的值中使用的输入和函数。具体地,θ表示具有分析输入506的集合作为动态记忆单元500的部分的可训练参数的一个或多个更新/重置函数506(例如,以上讨论的方程2和/或下面讨论的方程5)。
应当注意,与图4A中示出的动态记忆单元400的箭头406一样,箭头508表示可以被提供为当生成针对在第i个时间步骤中的第j个记忆槽的值时输入506的集合的部分;然而,存在一个关键差异,即,重置门504控制先前值是否被用作输入506的集合的部分(以及其程度)。
在上式中,表示重置值ri j并且方程6修改方程3以将重置值包含到候选值中。与方程2中的更新值一样,重置值ri j取决于两个项和其分别表示重置值ri j由对话特征表示与关键向量wj和记忆槽的先前值之间的对应关系控制。另外,Wr和Ur是可训练变换参数。
在使用方程2生成了更新值并且使用方程5生成了重置值ri j后,动态记忆单元500在更新门502处应用更新值并且在重置门504处应用重置值ri j。具体地,重置门504控制记忆槽的先前值影响候选值的程度,如方程6中可见的。因为先前值包含从数字对话先前段获得的数据并且候选值可以影响当前值(如方程5所示的取决于更新值),所以重置门504的位置控制数字对话先前段影响当前值的程度。换言之,重置值ri j的应用修改数字对话先前段对当前值的影响(即,重置门504可以通过忽视该记忆槽的先前值来“重置”记忆槽)。
图5B-5D各自图示了当根据更新值来应用更新门502并且根据重置值ri j来应用重置门504时对应于动态记忆单元500的动态记忆单元的示意图。例如,图5B图示了当更新值时对应于更新门502的简化的记忆单元510。如图5B所示并且如从方程4中可见的,当 时,简化的记忆单元510完全基于记忆槽的先前值来生成当前值换言之,当时,简化的记忆单元510不利用从数字对话的当前段获得的新信息来更新记忆槽的值。
图5C图示了当更新值时针对更新门502并且当重置值ri j=0时针对重置门504的简化的记忆单元520。如在图5C中并且从方程6可以看到的,当ri j=0时,候选值不包含先前值因此,用于生成候选值的输入522的集合包括对应于记忆槽的关键向量wj和通过处理数字对话的当前段生成的对话特征表示换言之,记忆槽被“重置”(例如,其不考虑先前值)。
图5D图示了当更新值时对应于更新门的定位并且当重置值ri j=1时对应于重置门504的定位的简化的记忆单元530。如在图5D中并且从方程6可以看到的,当ri j=1时,候选值包含先前值因此,用于生成候选值的输入532的集合包括记忆槽的先前值对应于记忆槽的关键向量wj和通过处理数字对话的当前段生成的对话特征表示
应当注意,图5B-5D图示了分别与针对更新值和重置值ri j的极值相关的更新门502和重置门504。然而,如由方程所示的,和ri j可以具有0与1之间的任何值。因此,更新门502和重置门504可以被定位为使得针对记忆槽的当前值可以部分地基于记忆槽的先前值和候选值两者来生成。
如以上所讨论的,数字状态跟踪系统102还可以利用考虑交叉槽交互的动态记忆单元。例如,数字状态跟踪系统102可以利用在应用相应门控机制中考虑记忆槽之间的交互的交叉槽交互重置门和交叉槽交互更新门。图6图示了根据一个或多个实施例的具有交叉槽交互更新门602和交叉槽交互重置门604的动态记忆单元600。具体地,图6图示了由动态记忆单元600在生成针对在第i个时间步骤处的第j个记忆槽的值中使用的输入和函数,其中,θ表示具有分析输入的集合作为动态记忆单元600的部分的可训练参数的一个或多个(更新/重置)函数606。动态记忆单元600类似于图5的动态记忆单元500操作,除了方程2和方程5分别如下所示地被修改。
如方程7所示,表示控制交叉槽交互更新门602的交叉槽交互更新值。类似地,如方程8所示,ri j表示控制交叉槽交互重置门604的交叉槽交互重置值。系数和是可训练以提供第j个记忆槽与第i个记忆槽之间的关联的参数。如由方程7-8和图6所示的,关键向量[w1...wm]和隐藏状态[h1...hm]贡献于对针对第j个记忆槽的当前值的生成。
如以上所讨论的,在生成了针对每个记忆槽的当前值之后,对话状态跟踪神经网络生成数字对话状态。因此,对话状态跟踪系统可以利用对话状态跟踪神经网络以生成对应于数字对话段的数字对话状态。参考图3-6描述的算法和动作用于执行用于利用包括动态记忆网络的对话状态跟踪神经网络以生成针对对话段的数字对话状态的步骤的对应结构。额外地,关于图3-6描述的神经网络架构和动态记忆单元架构可以包括用于执行用于利用包括动态记忆网络的对话状态跟踪神经网络以生成针对对话段的数字对话状态的步骤的对应结构。
使用所生成的数字对话状态,对话状态跟踪系统可以生成对数字对话的当前段的数字响应。图7图示了对话状态跟踪系统生成对数字对话的当前段的数字响应的框图。如图7所示,对话状态跟踪系统将数字对话段702提供到经训练的对话状态跟踪神经网络704。具体地,数字对话段702包括由动作请求跟随的语句。在接收了数字对话段702后,经训练的对话状态跟踪神经网络704生成数字对话状态706。具体地,图7中示出的数字对话状态706表征数字对话的当前话题、类型和目标。对话状态跟踪系统然后将数字对话状态706提供到数字响应生成器708,其提供数字响应710。例如,数字响应生成器708可以利用自然语言生成(例如,数据文本生成器)来确定数字响应710的内容、组织、以及词汇表示。另外,数字响应生成器708可以使用文本语音合成(例如,串联合成或共振峰合成)来产生数字响应710的音频表示。具体地,数字响应710包括由数字对话段请求的动作已经被执行的语句。在一个或多个实施例中,数字响应包括音频响应。
如以上所提到的,对话状态跟踪系统当生成数字对话状态时利用经训练的对话状态跟踪神经网络。图8图示了根据一个或多个实施例的训练对话状态跟踪神经网络的对话状态跟踪系统的框图。如图8所示,对话状态跟踪系统使用训练数字对话802来训练对话状态跟踪神经网络804。具体地,训练数字对话802中的每个对话包括一组训练段。例如,训练数字对话可以包括第一训练段和第二训练段。
另外,如图8所示,对话状态跟踪神经网络804包括动态记忆网络架构,诸如参考图3-6描述的动态记忆网络架构。对话状态跟踪系统将训练数字对话802提供到对话状态跟踪神经网络804并且对话状态跟踪神经网络804生成预测对话状态806。具体地,对话状态跟踪系统提供训练数字对话的训练段并且对话状态跟踪神经网络生成对应于该具体训练段的预测对话状态。例如,对话状态跟踪系统可以提供第一训练段并且对话状态跟踪神经网络804可以生成对应于第一训练段的第一预测对话状态。随后,对话状态跟踪段可以提供第二训练段并且对话状态跟踪神经网络804可以生成对应于第二训练段的第二预测对话状态。当生成预测对话状态806时,对话状态跟踪神经网络804根据以上参考图3-6讨论的过程来处理每个训练段。
如图8所示,对话状态跟踪系统然后将预测对话状态806与地面真值对话状态808进行比较。具体地,地面真值对话状态808提供在最近由对话状态跟踪神经网络804处理的具体训练数字对话之后针对具体训练数字对话的真对话状态。例如,地面真值对话状态808可以包括提供在具体训练段之后训练数字对话的预定状态的标注(即,由对话状态跟踪系统的管理员进行的标注)。
如图8所示,对话状态跟踪系统通过应用损耗函数810来将预测对话状态806与地面真值对话状态808进行比较。损耗函数810基于估计值(即,预测对话状态806)与真值(即,地面真值对话状态808)之间的差来确定从对话状态跟踪神经网络804得到的成本(即,误差)。对话状态跟踪系统可以利用各种损耗函数,包括均方差损耗函数、0-1指标函数、交叉熵损耗函数、或L2损耗函数。
对话状态跟踪系统可以基于所确定的损耗来训练对话状态跟踪神经网络804。例如,在一个或多个实施例中,对话状态跟踪系统将所确定的损耗传播到对话状态跟踪神经网络(如由虚线812所指示的)以修改其参数。在一个或多个实施例中,对话状态跟踪系统修改对话状态跟踪神经网络804的每层的参数(例如,对应于更新门和/或重置门的可训练参数,诸如Wr、Wr、以及)。因此,利用训练的每次迭代,图像再次起动系统逐渐地增加对话状态跟踪神经网络804的准确性(例如,通过梯度上升或梯度下降)。如所示出的,对话状态跟踪系统可以因此生成经训练的对话状态跟踪神经网络814。
在一个或多个实施例中,对话状态跟踪系统可以单独地训练嵌入式卷积神经网络。具体地,对话状态跟踪系统可以在以监督式方式或非监督式方式训练对话状态跟踪神经网络804之前训练嵌入式卷积神经网络。为了说明,对话状态跟踪系统可以基于地面真值数据或通过利用非监督式训练方法(例如,自动编码器或对抗式神经网络)来训练卷积神经网络以编码数字对话。
因此,对话状态跟踪系统可以训练对话状态跟踪神经网络以生成对应于数字对话段的数字对话状态。参考图3-6和图8描述的算法和动作可以包括用于执行用于训练包括动态记忆网络的对话状态跟踪神经网络以生成数字对话状态的步骤的对应结构。额外地,关于图3-6描述的神经网络架构和动态记忆单元架构可以包括用于执行用于训练包括动态记忆网络的对话状态跟踪神经网络以生成数字对话状态的步骤的对应结构。
如以上所提到的,使用具有动态记忆网络架构的对话状态跟踪神经网络,对话状态跟踪系统更准确地且高效地生成数字对话状态,其导致对对话的段的更好的数字响应。研究者已经进行了确定对话状态跟踪系统的一个或多个实施例的准确性和高效性的研究。
研究者评价了六个神经网络模型。具体地,研究者评价了对话状态跟踪系统的三个不同实施例(即,关于具有单个门的动态记忆单元的实施例、关于具有重置门和更新门两者的动态记忆单元的实施例、以及关于具有交叉槽交互门的动态记忆单元的实施例)以及使用其他神经网络架构(即,CNN、RCNN、以及具有GRU的RCNN)的三个神经网络模型。具有单个门的对话状态跟踪系统的实施例和具有重置门和更新门两者的实施例被训练,每个具有五个记忆槽。具有交叉槽交互门的实施例被训练,具有十个记忆槽。
图9图示了反应研究的结果的表格。更高的精度(P)、召回率(R)、以及F测量分数指示更好的话题预测,而更低的Pk和WindowDiff值指示更准确的分割。每个度量的最好分数以粗体突出显示。如图9所示,对话状态跟踪系统的各个实施例在话题预测和分割两者上都胜过其他神经网络模型。尤其,由对话状态跟踪系统的各个实施例对F测量度量的改进中的每个是统计显著的(p<0.001)。额外地,分割的改进也是统计显著的(p<0.05),除了在CNN模型上的改进。
如从图9的表格可以看到的,对话状态跟踪系统的所有测试的实施例都得到关于话题预测和分割准确性的改进。具体地,具有交叉槽交互门的对话状态跟踪系统的实施例得到最多改进的分数。该实施例在除了召回率之外的每个度量上比其他测试的模型表现得更好。具体地,F测量的改进在来自对话状态跟踪系统的其他实施例的p=0.05和来自CNN和RCNN基线的p=0.001通过了统计显著测试。分割表现的差异也在两个度量上是显著的(p<0.001)。因此,图9的表格图示了对话状态跟踪系统的改进的准确性。
现在转到图10,将提供关于对话状态跟踪系统的实施方式的进一步信息。具体地,图10图示了对话状态跟踪系统102可以被实施于其中的示例性系统环境(“环境”)1000的示意图。如图10所示,环境1000可以包括(一个或多个)服务器1002、网络1008、客户端设备1010a-1010n、以及用户1014a-1014n。
尽管图10图示了特定数量的客户的设备,但是将认识到,环境1000可以包括任何数量的计算设备(比示出的更少或更大)。类似地,尽管图10图示了(一个或多个)服务器1002、客户端设备1010a-1010n、以及用户1014a-1014n的特定布置,但是各种额外的布置是可能的。
(一个或多个)服务器1002、客户端设备1010a-1010n、以及用户1014a-1014n可以直接地或间接地(例如,通过下面关于图13更详细地讨论的网络1008)与彼此通信地耦合。此外,(一个或多个)服务器1002和客户端设备1010a-1010n可以是任何类型的计算设备(包括如下面关于图13更详细地讨论的一个或多个计算设备)。
如以上所提到的,环境1000包括(一个或多个)服务器1002。(一个或多个)服务器1002可以生成、存储、接收和/或发送任何类型的数据,包括数字对话和数字响应。例如,(一个或多个)服务器1002可以从客户端设备1010a接收数字对话段并将数字响应发送回到客户端设备1010a。在一个或多个实施例中,(一个或多个)服务器1002包括数据服务器。(一个或多个)服务器1002还可以包括通信服务器或网络托管服务器。
如图10所示,(一个或多个)服务器1002可以包括人工智能通信系统1004。具体地,人工智能通信系统1004可以执行数字通信功能。例如,人工通信系统可以经由客户端设备1010a从用户1014a接收数字对话段。人工智能通信系统1004可以随后将数字对话段提供到对话状态跟踪系统102并准备用于传送回到用户1014a的得到的数字响应。具体地,人工智能通信系统1004可以在准备用于传送的数字响应中采用自然语言生成和文本语音合成功能。
额外地,(一个或多个)服务器1002可以包括对话状态跟踪系统102。具体地,在一个或多个实施例中,对话状态跟踪系统102使用(一个或多个)服务器1002来生成对数字对话段的数字响应。例如,对话状态跟踪系统102可以使用(一个或多个)服务器1002来接收数字对话段并且然后生成数字响应。
例如,在一个或多个实施例中,(一个或多个)服务器1002可以接收包括数字对话的各个段的数字对话。(一个或多个)服务器1002可以处理数字对话的第一段以生成第一数字对话状态并且然后基于第一数字对话状态来生成对第一段的数字响应。(一个或多个)服务器1002可以然后处理数字对话的第二段以生成第二数字对话状态并且然后基于第二数字对话状态来生成对第二段的数字响应。具体地,(一个或多个)服务器1002可以使用具有含有多个记忆槽和对应的更新门和重置门的动态记忆网络架构的对话状态跟踪神经网络来处理数字对话的每段以产生对应的数字对话状态。
如由先前示例实施例所图示的,对话状态跟踪系统102可以整体上或部分上由环境1000的各个元件实施。尽管图10图示了参考(一个或多个)服务器1002实施的对话状态跟踪系统102,但是将认识到,对话状态跟踪系统102可以被实施在环境1000的部件中的任何中。下面参考图11更详细地讨论对话状态跟踪系统102的部件。
在一个或多个实施例中,客户端设备1010a-1010n包括允许设备的用户(例如,用户1014a-1014n)发送并接收数字通信的计算机设备。例如,客户端设备1010a-1010n可以包括智能电话、平板电脑、台式计算机、膝上型计算机、或其他电子设备。客户端设备1010a-1010n可以包括允许用户1014a-1014n发送并接收数字通信的一个或多个应用(例如,对话状态跟踪应用1012)。例如,对话状态跟踪系统1012可以包括安装在客户端设备1010a-1010n上的软件应用。额外地或备选地,对话状态跟踪系统1012可以包括托管在(一个或多个)服务器1002上的软件应用,其可以由客户端设备1010a-1010n通过诸如网络浏览器的另一应用来访问。
现在转到图11,将提供关于对话状态跟踪系统102的各种部件和能力的额外细节。具体地,图11图示了由计算设备1102(例如,(一个或多个)服务器1002和/或如以上参考图10讨论的客户端设备1010a-1010n)实施的对话状态跟踪系统102。额外地,对话状态跟踪系统102也是人工智能通信系统1004的部分。如所示出的,对话状态跟踪系统102可以包括但不限于神经网络训练引擎1104、神经网络应用管理器1106、数字响应生成器1108、以及数据存储设备1110(其包括训练数字对话1112和神经网络1114)。
如刚刚提到的,并且如图11所示,对话状态跟踪系统102包括神经网络训练引擎1104。具体地,神经网络训练引擎1104训练对话状态跟踪神经网络以生成在生成对数字对话段的数字响应中使用的数字对话状态。例如,神经网络训练引擎1104使用如参考图8讨论的训练数字对话802来训练对话状态跟踪神经网络804。
如图11所示,对话状态跟踪系统102还包括神经网络应用管理器1106。具体地,神经网络应用管理器1106使用由神经网络训练引擎1104训练的对话状态跟踪神经网络。例如,神经网络应用管理器1106将数字对话应用到经训练的对话状态跟踪神经网络以生成用于进一步生成对那些段的数字响应的针对数字对话的每段的数字对话状态。
额外地,如图11所示,对话状态跟踪系统102包括数字响应生成器1108。具体地,数字响应生成器1108生成对数字对话段做出响应的数字响应。例如,数字响应生成器1108可以利用由神经网络应用管理器1106生成的数字对话状态来生成针对对应的数字对话的每段的数字响应。例如,数字响应生成器1108可以利用通过处理数字对话的第一段而生成的第一数字对话状态来产生第一数字响应。数字响应生成器1108可以然后利用通过处理数字对话的第二段而生成的第二数字对话状态来产生第二数字响应。
另外,如图11所示,对话状态跟踪系统102包括数据存储设备1110。具体地,数据存储设备1110包括训练数字对话1112和神经网络1114。训练数字对话1112存储包括一组训练段的多个训练数字对话。神经网络训练引擎1104可以当训练对话状态跟踪神经网络时从训练数字对话1112获得多个训练数字对话。神经网络1114存储由神经网络训练引擎1104训练并由神经网络应用管理器1106施加的对话状态跟踪神经网络以通过处理数字对话段来生成数字对话状态。
部件1104-1114以及其对应元件可以包括软件、硬件、或两者。例如,部件1104-1114以及其对应元件可以包括存储在计算机可读存储介质上并可由一个或多个计算设备的处理器运行的一个或多个指令。部件1104-1114以及其对应元件可以包括硬件,诸如专用处理设备,以执行特定功能或一组功能。额外地或备选地,部件1104-1114以及其对应元件可以包括计算机可执行指令和硬件的组合。
另外,对话状态跟踪系统102的部件1104-1114可以例如被实施为一个或多个独立应用、被实施为应用的一个或多个模块、被实施为一个或多个插件、被实施为一个或多个库函数或者可以由其他应用调用的函数、和/或被实施为云计算模型。因此,对话状态跟踪系统102的部件1104-1114可以例如被实施为独立应用,诸如桌面或移动应用。另外,对话状态跟踪系统102的部件1104-1114可以例如被实施为托管在远程服务器上的一个或多个基于网络的应用。备选地或额外地,对话状态跟踪系统102的部件1104-1114可以被实施为一套移动设备应用或“app”。例如,在一个或多个实施例中,对话状态跟踪系统102可以包括诸如或的数字软件应用或结合其操作。“ADOBE”、“SENSEI”和“PHOTOSHOP”是Adobe系统公司在美国和/或气体国家的注册商标或商标。
图1-11、对应的文本以及示例提供了对话状态跟踪系统的许多不同的方法、系统、设备、以及非暂态计算机可读介质。除了前文,一个或多个实施例还可以根据如图12所示的包括用于完成特定结果的动作的流程图来描述。图12可以利用更多或更少的动作来执行。另外,动作可以以不同的顺序来执行。额外地,本文中描述的动作可以彼此并行地或与相同的或相似的动作的不同实例并行地来重复或执行。
如提到的,图12图示了根据一个或多个实施例的基于数字对话状态来生成对数字对话段的数字响应的动作的系列1200的流程图。尽管图12图示了根据一个实施例的动作,但是备选实施例可以对图12中示出的动作中的任何进行省略、添加、重新排序和/或修改。图12的动作可以作为方法的部分被执行。备选地,一种非暂态计算机可读介质可以包括当由一个或多个处理器运行时使计算设备执行图12的动作的指令。在一些实施例中,一种系统可以执行图12的动作。
动作的系列1200包括将数字对话段提供到对话状态跟踪神经网络的动作1202。例如,动作1202涉及将数字对话段提供到包括具有多个记忆槽和多个重置门的动态记忆网络的对话状态跟踪神经网络。在一个或多个实施例中,动态记忆网络还包括对应于多个重置门和多个记忆槽的多个更新门。一个或多个实施例还涉及先前通过接收数字对话段的音频表示来标识数字对话段。
动作的系列1200包括利用重置门来生成第一记忆槽的值的动作1204。例如,动作1204涉及利用对话状态跟踪神经网络以通过利用与动态记忆网络的第一记忆槽相关联的重置门以基于数字对话段来生成针对第一记忆槽的值来生成对应于数字对话段的数字对话状态。其中,该值替换基于数字对话先前段针对第一记忆槽生成的先前值。在一个或多个实施例中,利用与第一记忆槽相关联的重置门以生成值包括确定重置值并应用重置值以修改数字对话先前段对值的影响。在一个或多个实施例中,重置门包括交叉槽交互重置门(即,对话状态跟踪神经网络包括多个交叉槽交互重置门)。在这样的实施例中,对话状态跟踪系统利用与第一记忆槽相关联的重置门以通过将多个记忆槽的值进行比较以确定对应于第一记忆槽的交叉槽交互重置门并应用交叉槽交互重置值以修改数字对话先前段对值的影响来生成第二值。
一些实施例还涉及利用与第一记忆槽相关联的更新门以确定更新值并应用更新值以修改数字对话段对值的影响。另外,在一些实施例中,更新门包括交叉槽交互更新门(即,对话状态跟踪神经网络还包括多个交叉槽交互更新门)。在这样的实施例中,对话状态跟踪系统利用与第一记忆槽相关联的更新门以通过将多个记忆槽的值进行比较以确定对应于第一记忆槽的交叉槽交互更新门并应用交叉槽交互更新值以修改数字对话段对值的影响来生成该值。
动作的系列1200还包括生成数字对话状态的动作1206。例如,动作1208涉及利用对话状态跟踪神经网络以通过基于第一记忆槽的值来生成数字对话状态而生成对应于数字对话段的数字对话状态。在一些实施例中,数字对话状态包括以下项中的至少一项:对话话题,位置,实体,或者动作。
在一个或多个实施例中,生成对应于数字对话段的数字对话状态包括确定数字对话段对应于与第一记忆槽相关联的键向量。在这样的实施例中,利用与第一记忆槽相关联的重置门以生成值包括利用重置门以进一步基于确定数字对话段对应于与第一记忆槽相关联的键向量来生成第一记忆槽的值。
在一些实施例中,生成对应于数字对话段的数字对话状态包括通过使用对话状态跟踪神经网络的一个或多个卷积层来处理数字对话先前段来生成第一对话特征表示并且通过使用对话状态跟踪神经网络的一个或多个卷积层来处理数字对话段来生成第二对话特征表示。在这样的实施例中,生成数字对话状态包括基于第一对话特征表示、第二对话特征表示、以及第一记忆槽的值来生成数字对话状态。在另外的实施例中,对话状态跟踪系统利用对话状态跟踪神经网络以通过利用第二对话特征表示来生成对应于第一记忆槽的潜在特征向量而生成对应于数字对话段的数字对话状态,并且进一步基于潜在特征向量来生成第一记忆槽的值。
额外地,动作的系列1200包括生成数字响应的动作1208。例如,动作1208涉及基于数字对话状态来生成对数字对话段的数字响应。在一个或多个实施例中,对数字对话段的数字响应包括音频响应。
在一个或多个实施例中,动作的系列1200还包括用于训练对话状态跟踪神经网络以生成在生成对数字对话中的段的数字响应中使用的数字对话状态的动作。例如,在一个或多个实施例中,对话状态跟踪系统通过以下操作来训练包括具有一组记忆槽的和对应的一组交叉槽交互重置门的动态记忆网络的对话状态跟踪神经网络以生成在生成对数字对话中的段的数字响应中使用的数字对话状态:基于训练数字对话的第一训练段来生成针对一组记忆槽的第一组值;基于针对一组记忆槽的第一组值的比较来应用交叉槽交互重置门以生成针对一组记忆槽的第二组值;以及基于针对一组记忆槽的第二组值来生成用于与地面真值对话状态进行比较的预测对话状态。
本公开内容的实施例可以包括或利用包括计算机硬件的专用计算机或通用计算机,计算机硬件例如一个或多个处理器和系统存储器,如下面更详细地讨论的。本公开内容的范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。具体地,本文中描述的过程中的一个或多个可以至少部分地被实施为被实现在非暂态计算机可读介质并可由一个或多个计算设备(例如,本文中描述的媒体内容访问设备中的任何)执行的指令。总体上,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器、等等)接收指令并执行那些指令,由此执行一个或多个过程,包括本文中描述的过程中的一个或多个。
计算机可读介质能够是能够由通用计算机系统或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是是传输介质。因此,通过举例而非限制性的方式,本公开内容的实施例能够包括至少两种截然不同的种类的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。
非暂态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM的)、闪速存储器、相位变化存储器(“PCM”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置或其他磁性存储设备、或能够被用于存储以计算机可执行指令或数据结构的形式的期望程序代码单元并且能够由通用计算机或专用计算机访问的任何其他介质。
“网络”被定义为实现在计算机系统和/或模块和/或其他电子设备之间的电子数据的传输的一个或多个数据链路。当通过网络或另外的通信连接(硬接线的、无线的或硬接线或无线的组合)将信息传输或提供到计算机时,计算机将连接恰当地视为传输介质。传输介质能够包括能够被用于承载以计算机可执行指令或数据结构的形式的期望程序代码单元并且能够由通用计算机或专用计算机访问的网络和/或数据链路。以上的组合还应当被包含在计算机可读介质的范围内。
另外,在到达各种计算机系统部件后,以计算机可执行指令或数据结构的形式的程序代码单元能够自动地从传输介质被传输到非暂态计算机可读存储介质(设备)(或者反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构能够被缓冲在网络接口模块(例如,“NIC”)内的RAM中,并且之后最终被传输到计算机系统RAM和/或被传输到在计算机系统处的非易失性计算机存储介质(设备)。因此,应当理解,非暂态计算机可读存储介质(设备)能够被包含在也(或甚至主要)利用传输介质的计算机系统部件中。
计算机可执行指令包括例如当由处理器运行时使通用计算机、专用计算机、或用于执行特定功能或功能的组的专用处理设备的指令和数据。在一些实施例中,计算机可执行指令被运行在通用计算机上以将通用计算机转变成实施本公开内容的元素的专用计算机。计算机可执行指令可以例如为二进制、诸如汇编语言的中间格式指令或甚至源代码。尽管已经以对结构特征和/或方法动作特定的语言描述了本主题,但是应理解在权利要求中限定的主题不必限于所描述的特征或以上描述的动作。相反,所描述的特征和动作被公开为实施权利要求的示例形式。
本领域技术人员将认识到可以在具有许多类型的计算机系统配置的网络计算环境中实践本公开,许多类型的计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费电子设备、网络PC、微型计算机、大型计算机、移动手机、PDA、寻呼机、路由器、交换机、等等。还可以在分布式系统环境中实践本公开内容,在分布式系统环境中通过网络(通过硬接线数据链路、无线数据链路、或通过硬接线数据链路和无线数据链路的组合)链接的本地计算机系统和远程计算机系统两者都执行任务。在分布式系统环境中,程序模块可以被定位在本地存储器存储设备和远程存储器存储设备两者中。
本公开内容的实施例还能够被实施在云计算环境中。在该说明书中,“云计算”被定义为用于实现对可配置的计算资源的共享池的按需网络访问的模型。例如,云计算能够在市场中被采用于提供对可配置的计算资源的共享池的无所不在的且方便的按需访问。可配置的计算资源的共享池能够经由虚拟化被快速提供并以低管理工作或服务提供商交互被释放,并且之后相应地按比例进行调整。
云计算模型能够包括各种特性,例如按需自服务、宽泛网络访问、资源池、快速弹性、可度量的服务、等等。云计算模型还能够展示各种服务模型,例如软件即服务(“SaaS”)、平台即服务(“PaaS”)以及基础设施即服务(“IaaS”)。云计算模型还可以使用诸如私有云、社团云、公共云、混合云、等等的不同的部署模型来部署。在该说明书中并且在权利要求书中,“云计算环境”是其中采用云计算的环境。
图13图示了可以被配置为执行以上描述的过程中的一个或多个的示例计算设备1300的方框图。将认识到,诸如计算设备1300的一个或多个计算设备可以表示以上描述的计算设备(例如,计算设备1102,(一个或多个)服务器1002,以及客户端设备1010a-1010n)。在一个或多个实施例中,计算设备1300可以为移动设备(例如,移动电话、智能电话、PDA、平板电脑、膝上型计算机、相机、跟踪器、手表、可穿戴设备、等等)。在一些实施例中,计算设备1300可以为非移动设备(例如,台式计算机或另一类型的客户端设备)。另外,计算设备1300可以为包括基于云的处理器和存储能力的服务器设备。
如图13所示,计算设备1300能够包括一个或多个处理器1302、存储器1304、存储设备1306、输入/输出接口1308(或“I/O接口1308”)以及通信接口1310,通信接口610可以借助于通信基础设施(例如,总线1312)通信耦合。尽管计算设备1300被示出在图13中,但是图13中图示的部件不旨在为限制性的。可以在其他实施例中使用额外的或备选的部件。另外,在某些实施例中,计算设备1300包括比图13中示出的部件更少的部件。现在将以额外的细节描述图13中示出的计算设备1300的部件。
在具体实施例中,(一个或多个)处理器1302包括用于执行指令的硬件,指令例如构成计算机程序的那些指令。作为示例并且不是通过限制的方式,为了运行指令,(一个或多个)处理器1302可以从内部寄存器、内部高速缓存、存储器1304、或存储设备1306检索(或取回)指令并对它们进行译码和运行。
计算设备1300包括存储器1304,存储器1604被耦合到(一个或多个)处理器1302。存储器1304可以用于存储数据、元数据和用于由(一个或多个)处理器运行的程序。存储器1304可以包括以下中的一个或多个:易失性存储器和非易失性存储器,诸如随机访问存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相位变化存储器(“PCM”)、或其他类型的数据存储。存储器1304可以为内部存储器或分布式存储器。
计算设备1300包括存储设备1306,存储设备1606包括用于存储数据或指令的存储。作为示例并且不是通过限制的方式,存储设备1306能够包括以上描述的非暂态存储介质。存储设备1306可以包括硬盘驱动器(HDD)、闪存存储器、通用串行总线(USB)驱动器或这些或其他存储设备的组合。
如所示的,计算设备1300包括一个或多个I/O接口1308,其被提供以允许用户将输入(例如用户笔画)提供到计算设备1300,从计算设备1600接收输出,并且否则将数据传输到计算设备1600和从计算设备1600传输数据。这些I/O接口1308可以包括鼠标、键盘或小键盘、触摸屏、相机、光学扫描器、网络接口、调制解调器、其他已知的I/O设备或这样的I/O接口1308的组合。触摸屏可以利用触笔或手指来激活。
I/O接口1308可以包括用于将输出呈现给用户的一个或多个设备,包括但不限于图形引擎、显示器(例如显示屏)、一个或多个输出驱动器(例如显示驱动器)、一个或多个音频扬声器、以及一个或多个音频驱动器。在某些实施例中,I/O接口1308被配置为将图形数据提供到显示器以用于呈现给用户。图形数据可以表示一个或多个图形用户接口和/或如可以用作特定实现方式的任何其他图形内容。
计算设备1300还能够包括通信接口1310。通信接口1310能够包括硬件、软件、或两者。通信接口1310提供一个或多个接口以用于在计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(例如,基于分组的通信)。作为示例并且不是通过限制的方式,通信接口1310可以包括用于与以太网或其他基于线缆的网络或无线NIC(WNIC)进行通信的网络接口控制器(NIC)或网络适配器或者用于与诸如WI-FI的无线网络进行通信的无线适配器。计算设备1300还能够包括总线1312。总线1312能够包括将计算设备1300的部件连接到彼此的硬件、软件、或两者。
在前面的说明书中,已经参考本发明的具体示例实施例描述了本公开内容。参考本文中讨论的细节来描述(一个或多个)本发明的各种实施例和方面,并且附图图示各种实施例。以上的说明书和附图对本发明是说明性的并且不应被解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。
本发明可以在不脱离其精神或必要特性的情况下以其他具体形式来实现。所描述的实施例应在所有方面仅仅被认为是说明性的而非限制性的。例如,本文中描述的方法可以以更少或更多的步骤/动作来执行或者步骤/动作可以以不同的顺序来执行。额外地,本文中描述的步骤/动作可以彼此并行地或与相同的或相似的步骤/动作的不同实例并行地来重复或执行。本发明的范围因此由权利要求而非由前述描述指示。在权利要求的等价性的意义和范围内出现的所有改变应被包含在其范围内。
Claims (20)
1.一种非暂态计算机可读存储介质,包括当由至少一个处理器执行时使计算设备进行以下操作的指令:
将数字对话段提供到对话状态跟踪神经网络,所述对话状态跟踪神经网络包括具有多个记忆槽和多个重置门的动态记忆网络;
利用所述对话状态跟踪神经网络通过以下操作来生成与所述数字对话段相对应的数字对话状态:
利用与所述动态记忆网络的第一记忆槽相关联的重置门以基于所述数字对话段来生成针对所述第一记忆槽的值,其中所述值基于数字对话先前段来替换针对所述第一记忆槽生成的先前值;以及
基于所述第一记忆槽的所述值来生成所述数字对话状态;以及
基于所述数字对话状态来生成对所述数字对话段的数字响应。
2.根据权利要求1所述的非暂态计算机可读存储介质,其中所述动态记忆网络还包括与所述多个重置门和所述多个记忆槽相对应的多个更新门。
3.根据权利要求2所述的非暂态计算机可读存储介质,还包括当由所述至少一个处理器执行时使所述计算设备进行以下操作的指令:进一步利用所述对话状态跟踪神经网络,以通过利用与所述第一记忆槽相关联的更新门来确定更新值并应用所述更新值以修改所述数字对话段对所述值的影响,而生成与所述数字对话段相对应的所述数字对话状态。
4.根据权利要求2所述的非暂态计算机可读存储介质,其中利用与所述第一记忆槽相关联的所述重置门以生成所述值包括确定重置值并应用所述重置值以修改所述数字对话先前段对所述值的影响。
5.根据权利要求1所述的非暂态计算机可读存储介质,其中:
所述重置门包括交叉槽交互重置门,并且
利用与所述第一记忆槽相关联的所述重置门以生成所述值包括:
将所述多个记忆槽的值进行比较以确定与所述第一记忆槽相对应的交叉槽交互重置值;以及
应用所述交叉槽交互重置值以修改所述数字对话先前段对所述值的影响。
6.根据权利要求1所述的非暂态计算机可读存储介质,还包括当由所述至少一个处理器执行时使所述计算设备进行以下操作的指令:进一步利用所述对话状态跟踪神经网络以通过确定所述数字对话段对应于与所述第一记忆槽相关联的键向量,来生成与所述数字对话段相对应的所述数字对话状态,并且
其中利用与所述第一记忆槽相关联的所述重置门以生成所述值包括利用所述重置门以进一步基于确定所述数字对话段对应于与所述第一记忆槽相关联的所述键向量,来生成所述第一记忆槽的所述值。
7.根据权利要求1所述的非暂态计算机可读存储介质,
还包括当由所述至少一个处理器执行时使所述计算设备通过接收所述数字对话段的音频表示来标识所述数字对话段的指令,并且
其中对所述数字对话段的所述数字响应包括音频响应。
8.根据权利要求1所述的非暂态计算机可读存储介质,
还包括当由所述至少一个处理器执行时使所述计算设备进一步利用所述对话状态跟踪神经网络以通过以下操作来生成与所述数字对话段相对应的所述数字对话状态的指令:
通过使用对话状态跟踪神经网络的一个或多个卷积层处理所述数字对话先前段,来生成第一对话特征表示;以及
通过使用所述对话状态跟踪神经网络的一个或多个卷积层处理所述数字对话段,来生成第二对话特征表示;并且
其中生成所述数字对话状态包括基于所述第一对话特征表示、所述第二对话特征表示、以及所述第一记忆槽的所述值来生成所述数字对话状态。
9.根据权利要求8所述的非暂态计算机可读存储介质,还包括当由所述至少一个处理器执行时使计算设备进行以下操作的指令:
利用所述对话状态跟踪神经网络以通过利用所述第二对话特征表示来生成与所述第一记忆槽相对应的潜在特征向量,而生成与所述数字对话段相对应的所述数字对话状态;以及
进一步基于所述潜在特征向量来生成所述第一记忆槽的所述值。
10.根据权利要求1所述的非暂态计算机可读存储介质,其中所述数字对话状态包括以下中的至少一项:对话话题;位置;实体;或者动作。
11.一种系统,包括:
至少一个处理器;以及
至少一个非暂态计算机可读存储介质,存储当由所述至少一个处理器执行时使所述系统进行以下操作的指令:
通过以下操作来训练对话状态跟踪神经网络以生成数字对话状态,所述对话状态跟踪神经网络包括具有一组记忆槽和对应的一组交叉槽交互重置门的动态记忆网络,所述数字对话状态在生成对数字对话中的段的数字响应中被使用:
基于训练数字对话的第一训练段来生成针对所述一组记忆槽的第一组值;
基于针对所述一组记忆槽的所述第一组值的比较来应用交叉槽交互重置门以生成针对所述一组记忆槽的第二组值;以及
基于针对所述一组记忆槽的所述第二组值来生成用于与真相对话状态进行比较的预测对话状态。
12.根据权利要求11所述的系统,其中所述动态记忆网络还包括与所述一组交叉槽交互重置门相对应的一组交叉槽交互更新门和所述一组记忆槽。
13.根据权利要求12所述的系统,还包括当由所述至少一个处理器执行时使所述系统进行以下操作的指令:进一步训练所述对话状态跟踪神经网络以通过利用交叉槽交互更新门来确定交叉槽交互更新值并应用所述交叉槽交互更新值以修改所述第二训练段对所述第二组值的影响,而生成所述数字对话状态。
14.根据权利要求11所述的系统,还包括当由所述至少一个处理器执行时使所述系统进一步训练所述对话状态跟踪神经网络以通过确定第二训练段对应于与所述一组记忆槽相关联的键向量来生成所述数字对话状态的指令,并且
其中应用所述交叉槽交互重置门包括进一步基于确定所述第二训练段对应于与所述一组记忆槽相关联的所述键向量来应用所述交叉槽交互重置门。
15.根据权利要求11所述的系统,
还包括当由所述至少一个处理器执行时使所述系统通过进一步训练所述对话状态跟踪神经网络以通过以下操作来生成所述数字对话状态的指令:
通过使用对话状态跟踪神经网络的一个或多个卷积层处理所述第一训练段来生成第一对话特征表示;以及
通过使用所述对话状态跟踪神经网络的一个或多个卷积层处理第二训练段来生成第二对话特征表示;并且
其中生成所述预测对话状态包括基于所述第一对话特征表示、所述第二对话特征表示、以及针对所述记忆槽的所述第二组值,来生成所述预测对话状态。
16.根据权利要求15所述的系统,还包括当由所述至少一个处理器执行时使所述系统进行以下操作的指令:
进一步训练所述对话状态跟踪神经网络以通过利用所述第二对话特征表示来生成与所述一组记忆槽相对应的潜在特征向量,而生成所述数字对话状态;以及
基于所述潜在特征向量来生成针对所述一组记忆槽的所述第二组值。
17.根据权利要求11所述的系统,其中,所述预测对话状态包括以下中的至少一项:对话话题;位置;实体;或者动作。
18.在用于利用使用人工智能的客户端计算设备来管理数字对话的数字媒体环境中,一种用于生成准确的动态的数字谈话响应的计算机实现的方法,包括:
执行用于训练包括动态记忆网络的对话状态跟踪神经网络以生成数字对话状态的步骤;
标识包括对话段的数字对话;
执行用于利用包括所述动态记忆网络的所述对话状态跟踪神经网络以生成针对所述对话段的数字对话状态的步骤;以及
基于所述数字对话状态来生成对所述对话段的数字响应。
19.根据权利要求18所述的计算机实现的方法,其中标识所述数字对话包括接收对话段的音频表示,并且
其中对所述对话段的所述数字响应包括音频响应。
20.根据权利要求18所述的计算机实现的方法,其中所述数字对话状态包括以下项中的至少一项:对话话题;位置;实体;或者动作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/135,957 | 2018-09-19 | ||
US16/135,957 US10909970B2 (en) | 2018-09-19 | 2018-09-19 | Utilizing a dynamic memory network to track digital dialog states and generate responses |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110929114A true CN110929114A (zh) | 2020-03-27 |
Family
ID=67539928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910552285.2A Pending CN110929114A (zh) | 2018-09-19 | 2019-06-21 | 利用动态记忆网络来跟踪数字对话状态并生成响应 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10909970B2 (zh) |
CN (1) | CN110929114A (zh) |
AU (1) | AU2019204399B2 (zh) |
DE (1) | DE102019004300A1 (zh) |
GB (1) | GB2577584A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737441A (zh) * | 2020-08-07 | 2020-10-02 | 北京百度网讯科技有限公司 | 基于神经网络的人机交互方法、装置和介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210860B1 (en) * | 2018-07-27 | 2019-02-19 | Deepgram, Inc. | Augmented generalized deep learning with special vocabulary |
US10909970B2 (en) * | 2018-09-19 | 2021-02-02 | Adobe Inc. | Utilizing a dynamic memory network to track digital dialog states and generate responses |
US11163960B2 (en) * | 2019-04-18 | 2021-11-02 | International Business Machines Corporation | Automatic semantic analysis and comparison of chatbot capabilities |
KR102281581B1 (ko) * | 2019-07-17 | 2021-07-23 | 에스케이텔레콤 주식회사 | 목표지향 대화시스템에서의 대화상태 추적방법 및 장치 |
US11354501B2 (en) * | 2019-08-02 | 2022-06-07 | Spectacles LLC | Definition retrieval and display |
US11625535B1 (en) * | 2019-12-05 | 2023-04-11 | American Express Travel Related Services Company, Inc. | Computer-based systems having data structures configured to execute SIC4/SIC8 machine learning embedded classification of entities and methods of use thereof |
US11803400B2 (en) * | 2020-06-25 | 2023-10-31 | International Business Machines Corporation | Method and system for asynchronous notifications for users in contextual interactive systems |
CN112233675B (zh) * | 2020-10-22 | 2023-10-27 | 中科南京智能技术研究院 | 一种基于分离卷积神经网络的语音唤醒方法及系统 |
US11748576B2 (en) | 2021-01-21 | 2023-09-05 | International Business Machines Corporation | Interpretation of deep neural model based dialogue agents |
CN114025017B (zh) * | 2021-11-01 | 2024-04-16 | 杭州电子科技大学 | 基于深度循环强化学习的网络边缘缓存方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106448670A (zh) * | 2016-10-21 | 2017-02-22 | 竹间智能科技(上海)有限公司 | 基于深度学习和强化学习的自动回复对话系统 |
CN107145940A (zh) * | 2016-03-01 | 2017-09-08 | 谷歌公司 | 压缩的递归神经网络模型 |
US20170372200A1 (en) * | 2016-06-23 | 2017-12-28 | Microsoft Technology Licensing, Llc | End-to-end memory networks for contextual language understanding |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108415923A (zh) * | 2017-10-18 | 2018-08-17 | 北京邮电大学 | 封闭域的智能人机对话系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19615693C1 (de) * | 1996-04-19 | 1997-12-11 | Siemens Ag | Vorrichtung und Verfahren zur Aktionsermittlung |
US8160879B2 (en) * | 2008-12-19 | 2012-04-17 | At&T Intellectual Property I, L.P. | System and method for enhancing speech recognition accuracy |
US8918321B2 (en) * | 2012-04-13 | 2014-12-23 | At&T Intellectual Property I, L.P. | System and method for enhancing speech recognition accuracy |
US9741340B2 (en) * | 2014-11-07 | 2017-08-22 | Nuance Communications, Inc. | System and method for enhancing speech recognition accuracy using weighted grammars based on user profile including demographic, account, time and date information |
US10540967B2 (en) * | 2016-11-14 | 2020-01-21 | Xerox Corporation | Machine reading method for dialog state tracking |
US10810996B2 (en) * | 2018-07-31 | 2020-10-20 | Nuance Communications, Inc. | System and method for performing automatic speech recognition system parameter adjustment via machine learning |
US10909970B2 (en) * | 2018-09-19 | 2021-02-02 | Adobe Inc. | Utilizing a dynamic memory network to track digital dialog states and generate responses |
KR20210053970A (ko) * | 2018-10-12 | 2021-05-12 | 딥마인드 테크놀로지스 리미티드 | TVT(temporal value transport)를 사용하여 롱 타임 스케일에 대한 에이전트 제어 |
US11257483B2 (en) * | 2019-03-29 | 2022-02-22 | Intel Corporation | On-device neural network adaptation with binary mask learning for language understanding systems |
US10609216B1 (en) * | 2019-06-27 | 2020-03-31 | Wipro Limited | Method and system for optimizing call distribution among callers for improved positive outcome |
-
2018
- 2018-09-19 US US16/135,957 patent/US10909970B2/en active Active
-
2019
- 2019-06-17 DE DE102019004300.6A patent/DE102019004300A1/de active Pending
- 2019-06-21 CN CN201910552285.2A patent/CN110929114A/zh active Pending
- 2019-06-23 AU AU2019204399A patent/AU2019204399B2/en active Active
- 2019-06-27 GB GB1909236.0A patent/GB2577584A/en not_active Withdrawn
-
2020
- 2020-12-28 US US17/135,629 patent/US11657802B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145940A (zh) * | 2016-03-01 | 2017-09-08 | 谷歌公司 | 压缩的递归神经网络模型 |
US20170372200A1 (en) * | 2016-06-23 | 2017-12-28 | Microsoft Technology Licensing, Llc | End-to-end memory networks for contextual language understanding |
CN106448670A (zh) * | 2016-10-21 | 2017-02-22 | 竹间智能科技(上海)有限公司 | 基于深度学习和强化学习的自动回复对话系统 |
CN108415923A (zh) * | 2017-10-18 | 2018-08-17 | 北京邮电大学 | 封闭域的智能人机对话系统 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737441A (zh) * | 2020-08-07 | 2020-10-02 | 北京百度网讯科技有限公司 | 基于神经网络的人机交互方法、装置和介质 |
CN111737441B (zh) * | 2020-08-07 | 2020-11-24 | 北京百度网讯科技有限公司 | 基于神经网络的人机交互方法、装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200090641A1 (en) | 2020-03-19 |
US20210118430A1 (en) | 2021-04-22 |
GB2577584A (en) | 2020-04-01 |
GB201909236D0 (en) | 2019-08-14 |
AU2019204399A1 (en) | 2020-04-02 |
US10909970B2 (en) | 2021-02-02 |
US11657802B2 (en) | 2023-05-23 |
DE102019004300A1 (de) | 2020-03-19 |
AU2019204399B2 (en) | 2021-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929114A (zh) | 利用动态记忆网络来跟踪数字对话状态并生成响应 | |
US11669744B2 (en) | Regularized neural network architecture search | |
US11120801B2 (en) | Generating dialogue responses utilizing an independent context-dependent additive recurrent neural network | |
US11651163B2 (en) | Multi-turn dialogue response generation with persona modeling | |
CN110366734B (zh) | 优化神经网络架构 | |
US11113479B2 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
JP6790286B2 (ja) | 強化学習を用いたデバイス配置最適化 | |
US11271876B2 (en) | Utilizing a graph neural network to identify supporting text phrases and generate digital query responses | |
US20210142181A1 (en) | Adversarial training of machine learning models | |
US20210256390A1 (en) | Computationally efficient neural network architecture search | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
CN110297890B (zh) | 使用交互式自然语言对话的图像获取 | |
JP7483751B2 (ja) | 教師なしデータ拡張を使用した機械学習モデルのトレーニング | |
CN110462638B (zh) | 使用后验锐化训练神经网络 | |
EP3688673A1 (en) | Neural architecture search | |
US20220383119A1 (en) | Granular neural network architecture search over low-level primitives | |
Li et al. | Temporal supervised learning for inferring a dialog policy from example conversations | |
US12039280B2 (en) | Multi-turn dialogue response generation with persona modeling | |
US20210383227A1 (en) | Learning embeddings subject to an invariance constraint |
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 |