CN109844743A - 在自动聊天中生成响应 - Google Patents

在自动聊天中生成响应 Download PDF

Info

Publication number
CN109844743A
CN109844743A CN201780064420.8A CN201780064420A CN109844743A CN 109844743 A CN109844743 A CN 109844743A CN 201780064420 A CN201780064420 A CN 201780064420A CN 109844743 A CN109844743 A CN 109844743A
Authority
CN
China
Prior art keywords
vector
emotion
topic
response
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780064420.8A
Other languages
English (en)
Other versions
CN109844743B (zh
Inventor
吴先超
陈湛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109844743A publication Critical patent/CN109844743A/zh
Application granted granted Critical
Publication of CN109844743B publication Critical patent/CN109844743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

本公开提供了用于在自动聊天中生成响应的方法和装置。可以在会话中接收消息。可以通过动态记忆网络(DMN),至少基于所述消息和所述会话来确定意图向量,所述意图向量指示关注点和意图。可以至少基于所述意图向量来生成响应。

Description

在自动聊天中生成响应
背景技术
人工智能(AI)聊天机器人正在变得越来越流行,并且正在越来越多的场景中得到应用。聊天机器人被设计用于模拟人类对话,并且可以通过文本、语音、图像等与用户聊天。通常,聊天机器人可以扫描由用户输入的消息内的关键词或对消息应用自然语言处理,并向用户提供具有最匹配的关键词或最相似的措辞模式的响应。
发明内容
提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。
本公开的实施例提出了用于在自动聊天中生成响应的方法和装置。可以在会话中接收消息。可以通过动态记忆网络(DMN),至少基于消息和会话来确定意图向量,该意图向量指示关注点和意图。可以至少基于意图向量来生成响应。
应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。
附图说明
以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。
图1示出了根据实施例的聊天机器人的示例性应用场景。
图2示出了根据实施例的示例性聊天机器人系统。
图3示出了根据实施例的示例性用户界面。
图4示出了根据实施例的获得用于情感分析分类器的训练数据集的示例性过程。
图5示出了根据实施例的示例性情感分析分类器。
图6示出了根据实施例的示例性情感-话题知识图谱。
图7示出了根据实施例的用于建立情感-话题知识图谱的示例性过程。
图8示出了根据实施例的示例性依存句法分析。
图9示出了根据实施例的示例性话题-话题知识图谱。
图10示出了根据实施例的用于建立话题-话题知识图谱的示例性过程。
图11示出了根据实施例的用于通过动态记忆网络(DMN)生成响应的示例性架构。
图12示出了根据实施例的训练用于确定相似度分数的递归神经网络的示例性过程。
图13示出了根据实施例的示例性门控递归单元(GRU)过程。
图14示出了根据实施例的应用用于确定相似度分数的递归神经网络的示例性过程。
图15示出了根据实施例的训练生成对抗网络(GAN)的示例性过程。
图16示出了根据实施例的用于在自动聊天中生成响应的示例性方法的流程图。
图17示出了根据实施例的用于在自动聊天中生成响应的示例性装置。
图18示出了根据实施例的用于在自动聊天中生成响应的示例性装置。
具体实施方式
现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。
聊天机器人可以自动地与用户进行会话。在本文中,“会话”可以指两个聊天参与者之间的时间连续的对话,并且可以在对话中包括消息和响应,其中,“消息”是指由用户输入的任何信息,例如来自用户的查询、用户对聊天机器人的问题的回答、用户的意见等,“响应”是指由聊天机器人提供的任何信息,例如聊天机器人对来自用户的问题的回答、聊天机器人的评论等。聊天机器人和用户之间的会话可能涉及事实(fact)的描述。在本文中,“事实”可以指会话中陈述的事物或事件,例如,真实世界中已经发生或做过的事情、真实世界中将要发生的事情、头脑中的事件或想法、判断等。此外,用户可能在与聊天机器人聊天的过程中表达对事实的情感。在本文中,“情感”可以指用户对事实的喜好或情感性意见,其可以被分类为正面的、负面的或中性的,或者以更精细的粒度被分类为惊讶的、厌恶的、愤怒的等。例如,对于用户输入的消息“我喜欢吃纳豆作为我的早餐,它是健康的”,这个消息包括事实“吃纳豆作为早餐”和情感“喜欢”。
基于事实和情感,可以推导出关注点(attention point)和意图。在本文中,“关注点”可以指当前讨论的活跃的焦点、话题或事实以及相应的情感,“意图”可以指关注点背后的原因或目的。对于上述示例性消息,关注点可以是“喜欢纳豆”,而意图可以是“为了健康”。
关注点和意图可以有助于聊天机器人生成对用户消息的响应。响应可以根据意图来扩展关注点。例如,基于关注点“喜欢纳豆”和意图“为了健康”,聊天机器人可以进一步引入关于健康生活方式、推荐健康食品等的话题。
在一些情况下,事实或情感可能被以分散、可变或隐含的方式来表达,因此难以推导出关注点和意图。示例性会话可以是:“用户:早上好”,“聊天机器人:早上好。早餐不错?”,“用户:是”,“聊天机器人:今天吃什么?”,“用户:纳豆”,“聊天机器人:哦,我以为你不喜欢它”,“用户:我过去是”,“聊天机器人:为了健康改变了?”,“用户:是的,我听到有关它的新闻”,“聊天机器人:听起来不错”。在这个会话中,用户实际上并没有明确表达关于他是否喜欢吃纳豆的意见。
本公开的实施例提出通过基于事实的推理和基于情感的推理来确定关于关注点和意图的信息,并且进而至少基于所确定的信息来生成响应。
在一些实施例中,可以采用动态记忆网络(DMN)技术来生成响应。事实记忆向量可由DMN从当前会话和候选事实响应的事实向量中推理出,其中,候选事实响应可以指以事实为基础所确定的候选响应。此外,情感记忆向量可以由DMN从当前会话和候选情感响应的情感向量中推理出,其中,候选情感响应可以指以情感为基础所确定的候选响应。事实和情感记忆向量可能包含关于关注点的信息。可以基于事实和情感记忆向量来生成意图向量,意图向量可能包含关于关注点和意图两者的信息。可以至少基于意图向量以及事实和情感记忆向量来生成对当前消息的响应。
在一些实施例中,情感向量可以由情感分析分类器来生成。情感分析分类器可以用于对输入序列执行情感分析。
在一些实施例中,可以使用知识图谱来确定候选事实响应和候选情感响应。知识图谱可以包括表示话题到话题映射关系的一种类型的知识图谱,以及表示话题到情感或情感到话题映射关系的另一种类型的知识图谱。
在一些实施例中,可以建立生成对抗网络(GAN),其可以包括生成器和鉴别器。生成器可以基于用于生成响应的DMN,鉴别器可以基于深度语义相似度模型(DSSM)。GAN可用于改进或改善生成器。
图1示出了根据实施例的聊天机器人的示例性应用场景100。
在图1中,网络110被应用于在终端设备120和聊天机器人服务器130之间进行互连。
网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。在覆盖范围方面,网络110可以是局域网(LAN)、广域网(WAN)等。在承载介质方面,网络110可以是有线网络、无线网络等。在数据交换技术方面,网络110可以是电路交换网络、分组交换网络等。
终端设备120可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备120可以是台式计算机、笔记本电脑、平板电脑、智能电话等。尽管在图1中仅示出了一个终端设备,但是应当理解,可以有不同数量的终端设备连接到网络110。
在一种实施方式中,终端设备120可以由用户使用。终端设备120可以包括可为用户提供自动聊天服务的聊天机器人客户端122。在一些情况下,聊天机器人客户端122可以与聊天机器人服务器130进行交互。例如,聊天机器人客户端122可以将用户输入的消息传送到聊天机器人服务器130,并且从聊天机器人服务器130接收与消息相关联的响应。然而,应当理解,在其它情况下,聊天机器人客户端132也可以本地地生成对用户输入的消息的响应,而不是与聊天机器人服务器130进行交互。
聊天机器人服务器130可以连接到或包含聊天机器人数据库132。聊天机器人数据库132可以包括可由聊天机器人服务器130用于生成响应的信息。
应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,应用场景100中可以涉及任何其它网络实体。
图2示出了根据实施例的示例性聊天机器人系统200。
聊天机器人系统200可以包括用于呈现聊天窗口的用户界面(UI)210。聊天窗口可以由聊天机器人用于与用户进行交互。
聊天机器人系统200可以包括核心处理模块220。核心处理模块220被配置用于通过与聊天机器人系统200的其它模块的协作,在聊天机器人的运行期间提供处理能力。
核心处理模块220可以获得由用户在聊天窗口中输入的消息,并将消息存储在消息队列232中。消息可以采用各种多媒体形式,例如文本、语音、图像、视频等。
核心处理模块220可以用先进先出的方式处理消息队列232中的消息。核心处理模块220可以调用应用程序接口(API)模块240中的处理单元来处理各种形式的消息。API模块240可以包括文本处理单元242、语音处理单元244、图像处理单元246等。
对于文本消息,文本处理单元242可以对文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。
对于语音消息,语音处理单元244可以对语音消息执行语音到文本转换以获得文本语句,文本处理单元242可以对所获得的文本语句执行文本理解,并且核心处理模块220可以进一步确定文本响应。如果确定以语音提供响应,则语音处理单元244可以对文本响应执行文本到语音转换以生成相应的语音响应。
对于图像消息,图像处理单元246可以对图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。在一些情况下,图像处理单元246也可以用于基于文本响应来获得图像响应。
此外,尽管在图2中未示出,API模块240还可以包括任何其它处理单元。例如,API模块240可以包括视频处理单元,该视频处理单元用于与核心处理模块220协作以处理视频消息并确定响应。
核心处理模块220可以通过索引数据库250来确定响应。索引数据库250可以包括可由核心处理模块220提取作为响应的多个索引项。索引数据库250中的索引项可以被分类为纯聊天索引集252。纯聊天索引集252可以包括被准备用于聊天机器人和用户之间的自由聊天的索引项,并且可以用来自例如社交网络的数据来建立。纯聊天索引集252中的索引项可以采用或不采用问题-答案(QA)对的形式。问题-答案对也可以被称为消息-响应对。
聊天机器人系统200可以包括GAN 260。GAN 260可以包括生成器262和鉴别器264。生成器262可以用于基于例如DMN来生成响应,鉴别器264可以基于DSSM。生成器262可以将知识图谱270作为输入。知识图谱270可以包括话题-话题知识图谱272和情感-话题知识图谱274。在本文中,“话题-话题知识图谱”可以指表示多个短语之间的话题到话题映射关系并且用多个话题短语建立的知识图谱,其中,话题短语可以指指示各种话题的短语。“情感-话题知识图谱”可以指表示多个短语之间的话题到情感映射关系和情感到话题映射关系、并且用多个话题短语和多个情感短语建立的知识图谱,其中,情感短语可以指指示各种情感的短语。“情感-话题知识图谱”也可以被称为“面向情感的话题图谱”。应该理解,在本公开中,术语“词语”可以与术语“短语”互换,例如,“词语”可以是单个词语或几个词语的组合,并且“短语”可以包括单个词语或几个词语的组合。
可以将由核心处理模块220确定的响应提供给响应队列或响应高速缓存234。例如,响应高速缓存234可以确保能够以预定义的时间流来显示响应序列。假设对于一个消息,由核心处理模块220确定了不少于两个响应,则对响应的时间延迟设置可能是必要的。例如,如果用户输入的消息是“你吃早餐了吗?”,则可能确定出两个响应,例如,第一响应是“是的,我吃了面包”,第二响应是“你呢?还觉得饿吗?”。在这种情况下,通过响应高速缓存234,聊天机器人可以确保立即向用户提供第一响应。此外,聊天机器人可以确保以例如1或2秒的时间延迟来提供第二响应,使得第二响应将在第一响应之后的1或2秒提供给用户。由此,响应高速缓存234可以管理将要发送的响应以及针对每个响应的适当定时。
可以将响应队列或响应高速缓存234中的响应进一步传送到UI 210,以便可以在聊天窗口中将响应显示给用户。
应当理解,图2中的聊天机器人系统200中所示的所有单元都是示例性的,并且根据具体的应用需求,在聊天机器人系统200中可以省略任何所示的单元并且可以涉及任何其它单元。
图3示出了根据实施例的示例性用户界面300。
用户界面300被包括在终端设备中,并且可以包括呈现区域310、控制区域320和输入区域330。呈现区域310显示聊天流中的消息和响应。控制区域320包括多个虚拟按钮以用于用户执行消息输入设置。例如,用户可以通过控制区域320选择进行声音输入、附加图像文件、选择表情符号、进行当前屏幕的截图等。输入区域330由用户用于输入消息。例如,用户可以通过输入区域330键入文本。用户界面300还可以包括虚拟按钮340以用于确认发送所输入的消息。如果用户触摸虚拟按钮340,则可以将在输入区域330中输入的消息发送到呈现区域310。
应当注意,图3中所示的所有单元及其布局都是示例性的。根据具体的应用需求,图3中的用户界面可以省略或添加任何单元,并且图3中的用户界面中的单元的布局也可以以各种方式改变。
如上所述,本公开的实施例可以采用情感分析分类器来执行情感分析。传统的情感分析只能将输入内容分类为有限数量的情感,如正面情感、负面情感和中性情感。而根据本公开的实施例的情感分析分类器可以执行细分的情感分析,其可以将输入内容分类为更多的情感。
在一种实施方式中,情感分析分类器可以区分8类情感,包括高兴的、愤怒的、恐惧的、轻蔑的、悲伤的、吃惊的、厌恶的和中性的。应当理解,虽然以下讨论涉及具有8类情感的情感分析分类器,但是本公开的实施例不限于8类情感。相反,可以在本公开的构思下获得具有任何其它数量的情感类型的情感分析分类器。
具有情感“高兴的”的示例性语句可以是“我很乐意听到这个!”。具有情感“愤怒的”的示例性语句可以是“你怎么敢不理会!”。具有情感“恐惧的”的示例性语句可以是“这是个可怕的事故”。具有情感“轻蔑的”的示例性语句可以是“无非是一台电脑,有什么可吹嘘的”。具有情感“悲伤的”的示例性语句可以是“我不喜欢它,想哭”。具有情感“吃惊的”的示例性语句可以是“什么?真的吗?”。具有情感“厌恶的”的示例性语句可以是“他比我预计的更愚蠢”。具有情感“中性的”的示例性语句可以是“确定了明天的时间表”。
图4示出了根据实施例的获得用于情感分析分类器的训练数据集的示例性过程400。可以执行过程400,以通过扩展种子情感词语来生成情感词典,并且基于情感词典来进而确定训练数据集。
在410处,可以获得种子情感词语。在本文中,种子情感词语可以包括对应于每种类型情感的情感词语。以情感“高兴的”为例,种子情感词语可以包括对应于情感“高兴的”的多个词语,例如“高兴的”、“喜悦的”、“乐意的”、“幸福的”等。可以从现有的人为构建的情感词典中获得种子情感词语,在所述人为构建的情感词典中包含具有人为标记的情感极性的词语。这些人为构建的情感词典只能提供有限数量的种子情感词语,这些词语不足以获得用于情感分析分类器的训练数据集。
在420处,可以基于种子情感词语来执行Word2vec词语扩展,以便扩展种子情感词语。可以计算每个种子情感词语与来自语料库的词语的Word2vec余弦相似度分数。以这种方式,可以针对每个情感词语从语料库收集具有所计算分数的大量词语,然后可以将多个排序最高的词语确定为该种子情感词语的扩展。例如,如图4所示,对于种子情感词语“sad(悲伤的)”,可能基于所计算的Word2vec余弦相似度分数而确定出扩展词语“sorrow(哀伤的)”、“unhappy(不高兴的)”、“suffering(痛苦的)”、“happy(高兴的)”等。
应当理解,Word2vec余弦相似度分数是基于例如词语在语句中的位置来计算的。因此,Word2vec词语扩展不能确保所有扩展词语都与相应种子情感词语具有相似的语义含义。例如,在图4中,将“happy(高兴的)”确定为种子情感词语“sad(悲伤的)”的扩展词语,然而,这两个词语具有不同的语义含义。因此,过程400还包括基于双语词语对准的删减机制,以用于去除与相应种子情感词语具有不同语义含义或具有弱语义相关性的那些扩展词语。
在430处,可以执行双语词语对准。双语词语对准可以用于通过在两种不同语言之间的往返翻译来找到种子词语的语义相关词语。可以将第一语言的种子情感词语翻译成第二语言的词语。例如,可以将英文的种子情感词语“sad”翻译成中文的词语“伤心的”、“不高兴的”和“悲哀的”。然后,可以将第二语言的词语翻译回第一语言的词语。例如,可以将中文的词语“伤心的”、“不高兴的”和“悲哀的”分别翻译回英文的词语“sorrow”、“unhappy”和“pathetic”。由此,可以通过对种子情感词语“sad”的双语词语对准而获得词语列表“sorrow”、“unhappy”和“pathetic”。
在440处,可以对在420处通过Word2vec词语扩展所获得的扩展词语以及在430处通过双语词语对准所获得的词语列表执行交集操作。交集操作可以用于去除通过Word2vec词语扩展所获得的、与相应种子情感词语具有不同语义含义或弱语义相关性的那些扩展词语。例如,在图4中,通过交集操作,可以保留词语“sorrow”和“unhappy”,而去除与“sad”具有弱语义相关性的词语“suffering”以及与“sad”具有不同语义含义的词语“happy”。
可以将通过交集操作而保留的词语附加到情感词典450。在一种实施方式中,可以向情感词典450中的词语进一步添加相应的表情符号,例如绘文字(emoji)或颜文字(kaomoji)。在452处,可以针对每种类型的情感从网络收集绘文字或颜文字。例如,对于情感“sad(悲伤的)”,其相应的表情符号可以包括,例如,“><”、“(つд)”等。从而,可以在情感词典450中将这些表情符号附加到与情感“sad”相对应的词语“sad”、“sorrow”和“unhappy”。
如上所述,通过对种子情感词语执行Word2vec词语扩展和双语词语对准来建立情感词典450,并且情感词典450可以包括比人为构建的情感词典多得多的词语。情感词典450可以用于从web数据460中找到包含情感词典450中的至少一个词语的语句。每个语句可以被标记上情感,该情感是该语句所包含的、情感词典450中的相应词语的情感。可以将这些语句与相应的情感标记用作候选训练数据470。
在一些情况下,候选训练数据470可能包括具有模糊情感或难以识别情感的一些干扰语句。一个示例性干扰语句可能包括可从原始情感切换到相反情感的词语“不”或其等同词。另一个示例性的干扰语句可能以混合的方式包括肯定词语和否定词语,例如“先表扬后批评”。支持向量机(SVM)分类器480可以用于从候选训练数据470中滤除干扰语句。SVM分类器480可以使用三元(trigram)字符作为特征。可以获得一组分类器训练数据以用于训练SVM分类器480。关于除了“中性的”之外的情感,可以针对每种类型的情感对实例进行人工标记,然后将其用作分类器训练数据,而关于情感“中性的”,可以从网络中收集不包含情感词语或绘文字/颜文字的语句以作为分类器训练数据。
通过分类器训练数据,可以训练SVM分类器480以用于区分候选训练数据470中的干扰语句和其它语句。在滤除干扰语句之后,候选训练数据470中的剩余语句可以形成训练数据集490以用于训练情感分析分类器。
应当理解,在过程400中由SVM分类器480进行的操作是可选的。因此,在一种实施方式中,也可以从过程400中省略SVM分类器480的操作,并且相应地,候选训练数据470可以直接形成训练数据集490。
图5示出了根据实施例的示例性情感分析分类器500,其可以通过图4中获得的训练数据集来训练。情感分析分类器500可以基于字符级别的递归卷积神经网络(RCNN)。字符级别的RCNN能够对来自字符的语义和拼写信息进行编码。字符级别的RCNN可以包括嵌入层、卷积层、递归层和输出层。应该理解,对于例如日语、中文等的字符式语言中的语句,可以将语句中的字符作为嵌入的基本单元,而对于例如英语的词语式语言中的语句,可以将语句中的词语,而不是字母,作为嵌入的基本单元。当嵌入层中的基本单元是“字符”时,卷积层将找出分别由几个字符组合成的词语的最佳组合。当嵌入层中的基本单元是“词语”时,卷积层将找出分别由几个词语组合成的短语的最佳组合。虽然下面的讨论针对的是“字符”的情况,但类似的技术手段也可以应用于“词语”的情况。
嵌入层可以将语句转换到密集向量空间,例如为语句中的每个字符生成情感向量。
卷积层可以基于CNN,并且可以对来自嵌入层的情感向量执行卷积运算,例如,以各种内核大小来转换情感向量。
设定为字符嵌入矩阵,d是字符嵌入的维度,V是字符词汇集。假定词语w=c1,…,cl,其具有l个字符cj。则w的字符级别表示由矩阵 给出,其中,Cw的第j列对应于cj的字符嵌入,而cj进一步是Q的第j列。将窄卷积应用于Cw与宽度为f的过滤器或卷积函数之间。
图5示出了宽度为f=3、5和7的三个示例性过滤器。然后,添加偏差,并且应用非线性变换以获得特征映射fw的第i个元素可以给定为:
fw[i]=tanh(<Cw[*,i:i+f-1],H>+b) 方程(1)
其中,Cw[*,i:i+f-1]是Cw的第i到第(i+f-1)列,<A,B>=Tr(ABT)是Frobenius内积。
在一种实施方式中,卷积层处的CNN可以采用例如时间上的最大池化。
递归层可以对卷积层的输出执行递归操作。应该理解,尽管图5示出了递归层中的单向递归操作,但也可以将双向递归操作应用于递归层中。递归层也可以被称为RNN层,其可以采用长短期记忆(LSTM)单元。LSTM可以通过在每个时间步骤利用记忆元向量增强传统的RNN,来解决长距离依存性的学习问题和梯度消失问题。LSTM的一个步骤是将xt、ht-1、ct-1作为输入,并通过以下中间计算产生ht、ct
it=σ(Wixt+Uiht-1+bi) 方程(2)
ft=σ(Wfxt+Ufht-1+bf) 方程(3)
ot=σ(Woxt+Uoht-1+bo) 方程(4)
gt=tanh(Wgxt+Ught-1+bg) 方程(5)
其中,σ(.)和tanh(.)是按元素的Sigmoid和双曲正切函数,是按元素的乘法运算符,it、ft、ot分别表示输入门、忘记门和输出门。当t=1时,h0和c0被初始化为零向量。将要在LSTM中训练的参数是矩阵Wj、Uj和偏差向量bj,其中,j∈{i,f,o,g}。
输出层可以使用来自递归层的RNN状态作为特征向量,并输出情感分类结果。例如,输出层可以是全连接层,其可以将来自递归层的256维向量转换为对应于8种类型的情感的8维向量的输出。
图6示出了根据实施例的示例性情感-话题知识图谱600。如上所述,情感-话题知识图谱可以包括彼此间具有话题到情感映射关系或情感到话题映射关系的多个短语。情感-话题知识图谱可以旨在从话题扩展到相关情感、从相关情感扩展到更多话题等等。
情感-话题知识图谱600是通过从话题短语“纳豆”进行扩展而建立的。例如,关于“纳豆”的话题,可能存在各种相关的情感,例如“健康的”、“强烈的气味”、“浓烈的味道”、“粘糊糊的质地”等。以情感短语“健康的”为例,可能存在各种相关的话题,例如“酸奶”、“液态奶”等。
图7示出了根据实施例的用于建立情感-话题知识图谱的示例性过程700。过程700可以用于确定在情感-话题知识图谱中的具有话题到情感映射或情感到话题映射的短语对。通过数据挖掘,可以从各种来源建立话题到情感映射和情感到话题映射。通常,具有话题到情感映射或情感到话题映射的短语对可以包括名词短语和形容词或副词短语。
在一种实施方式中,可以在新闻源710上执行数据挖掘。新闻源710可以包括提供新闻内容的网站或频道。
在712处,可以从由新闻源710提供的新闻内容中的语句中提取名词短语、形容词短语和副词短语。在本文中,形容词短语和副词短语可以指形容词或副词,或者包括形容词或副词的短语。
在714处,可以基于依存句法分析来对由名词短语和形容词/副词短语形成的短语对,例如<名词短语,形容词/副词短语>对,进行评分。图8示出了根据实施例的对示例性语句的示例性依存句法分析800。假设将语句“汤姆预订一张票去巴黎”输入给依存句法分析。词语“预订”被确定为语句的谓词。确定出从“预订”到“汤姆”的依存弧,并将“汤姆”和“预定”之间的依存角色确定为“nsubj”,其中,“nsubj”表示名词性主语。确定出从“预订”到“票”的依存弧,并将“票”和“预订”之间的依存角色确定为“dobj”,其中,“dobj”表示直接主语。确定出从“票”到“一张”的依存弧,并将“一张”和“票”之间的依存角色确定为“det”,其中,“det”表示限定词。确定出从“票”到“去”的依存弧,并将“去”和“票”之间的依存角色确定为“prep”,其中,“prep”表示介词。确定出从“去”到“巴黎”的依存弧,并将“巴黎”和“去”之间的依存角色确定为“pobj”,其中,“pobj”表示介词的宾语。应当理解,图8所示的依存弧和依存角色是示例性的,对于其它语句,可以通过依存句法分析来确定出各种依存弧和依存角色。
通过依存句法分析,可以获得语句的短语之间的依存弧和依存角色。如果在短语对中的两个短语之间存在依存弧,则可以将该短语对评分为“a1”,而如果短语对中的两个短语仅出现在同一语句中,但这两个短语之间没有依存弧,则可以将该短语对评分为“b1”。
在一种实施方式中,可以在网络上的知识网站720(例如,维基百科)上执行数据挖掘。通常,知识网站720可以以标题和内容的形式呈现信息。知识网站720中的示例性页面可以是:“标题=日本食品”,“内容=纳豆具有强烈的气味”。
在722处,可以从知识网站720中的页面中提取名词短语、形容词短语和副词短语。例如,对于上述示例性页面,可以提取名词短语“日本食品”、“纳豆”、“气味”,以及形容词短语“强烈的”和“强烈的气味”。
在724处,可以对由名词短语和形容词/副词短语形成的短语对进行评分。在一种实施方式中,可以将标题中的名词短语和内容中的形容词/副词短语所形成的所有短语对评分为“c1”。例如,可以将短语对<日本食品,强烈的>评分为“c1”,将短语对<日本食品,强烈的气味>也评分为“c1”。此外,在714处的“a1”和“b1”的评分机制也可以应用于724处。例如,可以将短语对<气味,强烈的>评分为“a1”,可以将短语对<纳豆,强烈的气味>也评分为“a1”等。
在一种实施方式中,可以对可能来自问题-答案(QA)风格网站的、或者来自由聊天机器人用于自由聊天的纯聊天索引集的QA对730执行数据挖掘。
在732处,对于每个QA对,可以为由该QA对的问题中的名词短语和该QA对的答案中的形容词/副词短语所形成的、或者由该QA对的问题中的形容词/副词短语和该QA对的答案中的名词短语所形成的短语对计算词语对准分数“d1”。计算词语对准分数的主要思想是确定整个语料库中两个短语在语句对中的同时出现频率。此外,如果已经知道两个短语应该在语句对中彼此对准,则这两个短语中的任何一个都不应该与语句对中的任何其它短语对准,从而强化了相关短语的分数并且减弱了非相关短语的分数。在一种实施方式中,在732处可以采用IBM模型1-5来计算词语对准分数。
应当理解,虽然在732处的词语对准评分在上文中被讨论为对QA对执行,但是该词语对准评分也可以以类似的方式对文档中的语句对(例如,<当前语句,下一语句>)执行。
在740处,可以基于在714、724和732处的评分来为每个<名词短语,形容词/副词短语>对获得相关性分数。例如,对于一个短语对,可以将在714、724和732处获得的相应分数的和或者加权和用作该短语对的相关性分数。
在750处,可以基于在740处获得的相关性分数来建立情感-话题知识图谱中的话题到情感映射或情感到话题映射。例如,对于一个名词短语,可以将具有与该名词短语的排序最高的相关性分数的一个或多个形容词/副词短语添加到情感-话题知识图谱中,由此可以在情感-话题知识图谱中包括从该名词短语到这些形容词/副词短语的话题到情感映射。此外,例如,对于一个形容词/副词短语,可以将具有与该形容词/副词短语的排序最高的相关性分数的一个或多个名词短语添加到情感-话题知识图谱中,由此可以在情感-话题知识图谱中包括从该形容词/副词短语到这些名词短语的情感到话题映射。以此方式,情感-话题知识图谱中可以包括话题到情感映射级和情感到话题映射的一个或多个进一步的层级。
图9示出了根据实施例的示例性话题-话题知识图谱900。如上所述,话题-话题知识图谱可以包括彼此间具有话题-话题映射关系的多个短语。话题-话题知识图谱可以旨在从话题扩展到相关话题、从相关话题扩展到更多话题等等。
话题-话题知识图谱900是通过从话题短语“特朗普”进行扩展而建立的。例如,对于话题“特朗普”,可能存在各种相关的话题,例如“总统”、“商人”、“奥巴马”等。以话题短语“总统”为例,可能存在各种相关的话题,例如“奥巴马”、“克林顿”、“希拉里”等。
图10示出了根据实施例的用于建立话题-话题知识图谱的示例性过程1000。过程1000可以用于确定在话题-话题知识图谱中的具有话题到话题映射的短语对。通过数据挖掘,可以从各种来源建立话题到话题映射。通常,具有话题到话题映射的短语对可以包括两个名词短语。
在一种实施方式中,可以在新闻源1010上执行数据挖掘。
在1012处,可以从新闻源1010中的语句中提取名词短语。
在1014处,可以基于依存句法分析来对由名词短语形成的短语对,例如<名词短语,名词短语>对,进行评分。如果在短语对中的两个短语之间存在依存弧,则可以将该短语对评分为“a2”,而如果短语对中的两个短语仅出现在同一语句中,但这两个短语之间没有依存弧,则可以将该短语对评分为“b2”。
在一种实施方式中,可以在网络上的知识网站1020(例如,维基百科)上执行数据挖掘。知识网站1020中的示例性页面可以是:“标题=日本食品”,“内容=纳豆具有强烈的气味”。
在1022处,可以从知识网站1020中的页面中提取名词短语。例如,对于上述示例性页面,可以提取名词短语“日本食品”、“纳豆”和“气味”。
在1024处,可以对由名词短语形成的短语对进行评分。在一种实施方式中,可以将由标题中的名词短语和内容中的名词短语所形成的所有短语对评分为“c2”。例如,可以将短语对<日本食品,纳豆>评分为“c2”。此外,在1014处的“a2”和“b2”的评分机制也可以应用于1024处。例如,可以将短语对<纳豆,气味>评分为“a2”等。
在一种实施方式中,可以对可能来自QA风格网站的、或者来自由聊天机器人用于自由聊天的纯聊天索引集的QA对1030执行数据挖掘。
在1032处,对于每个QA对,可以为由该QA对的问题中的名词短语和该QA对的答案中的名词短语所形成的短语对计算短语对准分数“d2”。在一种实施方式中,在1032处可以采用IBM模型1-5来计算短语对准分数。
应当理解,虽然在1032处的短语对准评分在上文中被讨论为对QA对执行,但是该短语对准评分也可以以类似的方式对文档中的语句对(例如<当前语句,下一语句>)执行。
此外,应当理解,尽管分别地讨论了图7中的732处的短语对准评分和图10中的1032处的短语对准评分,但是这两个短语对准评分操作也可以联合地执行。例如,可以首先对任何短语对执行短语对准评分,而不考虑这些短语是名词短语还是形容词/副词短语,随后可以分别将由名词短语和形容词/副词短语所形成的短语对的短语对准分数提供给图7中的过程700,并将由名词短语所形成的短语对的短语对准分数提供给图10中的过程1000。
在1040处,可以基于在1014、1024和1032处的评分来为每个<名词短语,名词短语>对获得相关性分数。例如,对于一个短语对,可以将在1014、1024和1032处获得的相应分数的和或者加权和用作该短语对的相关性分数。
在1050处,可以基于在1040处获得的相关性分数来建立话题-话题知识图谱中的话题到话题映射。例如,对于目标名词短语,可以将具有与该目标名词短语的排序最高的相关性分数的一个或多个名词短语添加到话题-话题知识图谱中,由此可以在话题-话题知识图谱中包括从该目标名词短语到这些一个或多个名词短语的话题到话题映射。以此方式,话题-话题知识图谱中可以包括话题到话题映射的一个或多个进一步的层级。
如上所述,图7中的过程700可以用于确定话题到情感映射和情感到话题映射并形成情感-话题知识图谱,图10中的过程1000可以用于确定话题到话题映射并形成话题-话题知识图谱。情感-话题知识图谱和话题-话题知识图谱也可以统称为知识图谱。
图11示出了根据实施例的用于通过DMN生成响应的示例性架构1100。架构1100可以通过DMN推理出事实记忆向量和情感记忆向量,根据事实和情感记忆向量来获得意图向量,并且进一步至少基于关注向量与事实和情感记忆向量来生成对当前消息的响应。
架构1100可以包括输入模块1102。在输入模块1102处,可以处理作为上下文信息的当前会话。例如,可以将当前会话中的语句序列q1到q4和r1到r4提供给输入模块1102,其中,q1到q4是当前会话中来自用户的消息,并且r1到r4是当前会话中聊天机器人对消息q1到q4的响应。每个语句以“</s>”结束以表示一个语句的结尾。所有八个语句可以级联在一起以形成具有从W1到WT的T个词语的输入序列。可以对输入序列应用双向门控递归单元(GRU)编码。对于从左到右方向或从右到左方向,在每个时间步骤t,隐藏状态可以被更新为ht=GRU(L[wt],ht-1),其中L是嵌入矩阵,而wt是输入序列中第t个词语或字符的词语或字符索引。因此,对一个语句所得到的表示向量是两个向量的组合,每个向量来自一个方向。GRU的内部机制如下:
zt=σ(W(z)xt+U(z)ht-1+b(z)) 方程(8)
rt=σ(W(r)xt+U(r)ht-1+b(r)) 方程(9)
其中,xt是输入向量,ht是输出向量,zt是更新门向量,rt是复位门向量,σ来自sigmoid函数,是元素积,h0=0。此外,W(z)、W(r)、W、U(z)、U(r)、U是参数矩阵,b(z)、b(r)、b(h)是参数向量。此处,nH表示隐藏层的维度,nI表示输入向量的维度。例如,在方程(8)中,W(z)是将输入向量xt投影到向量空间中的矩阵,U(z)是将递归隐藏层ht-1投影到向量空间中的矩阵,b(z)是确定目标向量zt的相对位置的偏差向量。类似地,在方程(9)和(10)中,W(r)、U(r)、b(r)和W、U、b(h)以与W(z)、U(z)和b(z)相同的方式运作。上述方程也可以简写为ht=GRU(xt,ht-1)。
除了对输入序列进行编码外,也可以应用具有双向GRU的位置编码,以便表示语句的“事实”。事实向量可以被计算为ft=GRUl2r(L[St],ft-1)+GRUr2l(L[St],ft-1),其中,l2r表示从左到右,r2l表示从右到左,St是当前语句的嵌入表示,ft-1和ft分别是前一语句和当前语句的事实向量。如图11所示,对于当前会话中的8个语句获得了事实向量f1至f8
此外,还可应用具有双向GRU的另一位置编码以便表示语句的“情感”。情感向量可以被计算为et=GRUl2r(L[S′t],et-1)+GRUr2l(L[S′t],et-1),其中,l2r表示从左到右,r2l表示从右到左,S’t是当前语句的情感嵌入表示,et-1和et分别是前一语句和当前语句的情感向量。如图11所示,对于当前会话中的8个语句获得了情感向量e1至e8。应该理解,可以通过图5中的嵌入层来获得语句的情感嵌入表示。
架构1100可以包括当前消息模块1104。在当前消息模块1104处,可以处理当前由用户输入的当前消息q5。对当前消息q5的编码是输入模块1102的简化形式,其中,在当前消息模块1104中只有一个待处理的语句。当前消息模块1104进行的处理与输入模块1102类似。假设当前消息中存在TQ个词语,则时间步骤t处的编码的隐藏状态可以被计算为qt=[GRUl2r(L[Wt Q],qt-1),GRUr2l(L[Wt Q],qt-1)],其中,L是嵌入矩阵,Wt Q是当前消息中的第t个词语或字符的词语或字符索引。以与输入模块1102类似的方式,可以在当前消息模块1104中针对当前消息q5获得事实向量f9和情感向量e9
架构1100可以包括用于确定一个或多个候选事实响应1112的事实响应排序模型1106。事实响应排序模型1106的输入可以包括以下中的至少一个:由输入模型1102生成的当前会话的事实向量、由当前消息模块1104生成的当前消息的事实向量、话题-话题知识图谱1108以及纯聊天索引集1110中的QA对。话题-话题知识图谱1108可以用于扩展当前消息,以从外部引入更多样的知识。可以将纯聊天索引集1110中的QA对中的答案表示为可被选择并发送给用户的“响应”。事实响应排序模型1106可以基于输入来计算纯聊天索引1110中存在的响应的分数,并将排序最高的一个或多个响应确定为候选事实响应1112。在一些实施方式中,事实响应排序模型1106可以采用梯度提升决策树(GBDT)模型来对两个序列评分。例如,GBDT可以将当前消息q和候选事实响应Q作为输入,并且输出候选事实响应Q与当前消息q相比较的相似度分数。
在一种实施方式中,GBDT中的一个特征可以基于用于信息提取的语言模型。该特征可以通过以下方程来评估当前消息q与候选事实响应Q之间的相关性:
P(q|Q)=∏w∈q[(1-λ)Pml(w|Q)+λPml(w|C)] 方程(12)其中,Pml(w|Q)是从Q估计出词(term)w的最大似然性,Pml(w|C)是平滑项,该平滑项被计算为大规模语料库C中的最大似然估计。在本文中,“词(term)”可以指词语或短语。平滑项避免了零概率,该零概率源于在当前消息q中出现但没有在候选事实响应Q中出现的那些词。λ是作为似然性和平滑项之间的权衡的参数,其中,λ∈(0,1)。在当前消息和候选事实响应之间存在多个重叠时,该特征的效果较好。
在一种实施方式中,GBDT中的一个特征可以基于基于翻译的语言模型。该特征可以从例如问题-描述或QA对中学习词语到词语和/或短语到短语的翻译概率,并且可以将所学习的信息并入最大似然性中。给定当前消息q和候选事实响应Q,基于翻译的语言模型可以被定义为:
Ptrb(q|Q)=∏w∈q[(1-λ)Pmx(w|Q)+λPml(w|C)] 方程(13)
其中,Pmx(w|Q)=αPml(w|Q)+βPtr(w|Q) 方程(14)
Ptr(w|Q)=∑v∈QPtp(w|v)Pml(v|Q) 方程(15)
此处,λ、α和β是满足λ∈(0,1)且α+β=1的参数。Ptp(w|v)是从Q中的词语v到q中的词语w的翻译概率。Ptr(.)、Pmx(.)和Ptrb(.)是通过使用Ptp(.)和Pml(.)逐步构建的相似度函数。
在一种实施方式中,GBDT中的一个特征可以是当前消息与候选事实响应之间的、词语或字符级别的一元项(unigram)的编辑距离。
在一种实施方式中,GBDT中的一个特征可以是当前消息与候选事实响应之间的最大子序列比(maximum subsequence ratio)。
在一种实施方式中,GBDT中的一个特征可以是从当前消息中的词语到候选事实响应中的词语的“话题-话题知识图谱”命中率。例如,如果话题-话题知识图谱具有从“纳豆”到“早餐”的映射,则具有“纳豆”的当前消息和具有“早餐”的候选事实响应可以触发该特征,即,当前消息中的“纳豆”命中候选事实响应中的“早餐”。因此,与不具有词语“早餐”的其它候选事实响应相比,该候选事实响应将具有相对较高的分数。
在一种实施方式中,GBDT中的一个特征可以是来自包含GRU的递归神经网络的余弦相似度分数。余弦相似度分数可以是对当前消息和候选事实响应之间的相似度的评估。下面将结合图12至图14来讨论递归神经网络。
图12示出了根据实施例的训练用于确定相似度分数的递归神经网络的示例性过程1200。
可以在嵌入层中输入训练数据。训练数据可以包括消息、好响应和差响应。好响应可以在语义上与消息相关,而差响应可以在语义上与消息不相关。假设消息是“你吃纳豆吗?”,则好响应可以是“是的,我吃纳豆作为早餐,我听说它是健康的”,差响应可以是“我不知道”。嵌入层可以将输入的训练数据映射为相应的密集向量表示。
隐藏层可以使用GRU来处理来自嵌入层的向量,例如,消息的向量、好响应的向量和差响应的向量。应该理解,在递归神经网络中可能存在一个或多个隐藏层。此处,隐藏层也可以被称为递归隐藏层。
输出层可以计算<消息,好响应>的相似度与<消息,差响应>的相似度之间的余量,并且使余量最大化。如果<消息,好响应>的相似度低于<消息,差响应>的相似度,则这两种类型的相似度之间的距离可以被看作是误差,并且被传回到隐藏层和嵌入层。在一种实施方式中,输出层中的处理可以被表示为:
max{0,cos(消息,好响应)-cos(消息,差响应)} 方程(16)
其中,cos(消息,好响应)表示消息与好响应之间的余弦相似度分数,cos(消息,差响应)表示消息与差响应之间的余弦相似度分数。
图13示出了根据实施例的示例性GRU过程1300。GRU过程1300可以在图12所示的隐藏层中实现。
GRU过程的输入向量可以从嵌入层或前一隐藏层获得。输入向量也可以被称为输入序列、词语序列等。
GRU过程是应用于输入向量上的一种双向编码过程。在GRU过程中有两个方向,例如,从左到右的正向和从右到左的反向。GRU过程可能涉及多个GRU单元,它们将输入向量x和前一步向量ht-1作为输入,并输出下一步向量ht。如上所述,GRU过程的内部机制可以遵循方程(8)-(11)。
图13中的块1310示出GRU单元的示例性详细结构,其中,x是GRU单元的输入向量,h是GRU单元的输出向量。GRU单元可以被表示为:
其中,j是输入向量x的词语索引。在从左到右的正向和从右到左的反向上的过程可以遵循方程(17)。
图14示出了根据实施例的应用用于确定相似度分数的递归神经网络的示例性过程1400。可能已经通过图12所示的过程1200训练了该递归神经网络。
可以在嵌入层中输入当前消息和候选事实响应。嵌入层可以将输入的当前消息和候选事实响应映射为相应的密集向量表示。
隐藏层可以使用GRU来处理来自嵌入层的向量,即,对应于当前消息的向量和对应于候选事实响应的向量。应该理解,在该递归神经网络中可能存在一个或多个隐藏层。
输出层可以计算并输出当前消息与候选事实响应之间的余弦相似度分数,例如,cos(当前消息,候选事实响应)。该余弦相似度分数可以被用作事实响应排序模型1106的GBDT中的特征。
返回到图11,架构1100可以包括事实记忆模块1120。事实记忆模块1120可以是用于推理出事实记忆向量的DMN。事实记忆模块1120也可以被称为情景(episodic)记忆模块。在一种实施方式中,事实记忆模块1120可以包括关注(attention)机制模块1122。可替换地,关注机制模块1122也可以与事实记忆模块1120分离。关注机制模块1122可以基于门函数。
在通过情景记忆模块和关注机制模块的常规计算过程中,这两个模块可以协作用于以迭代方式来更新情景记忆。对于每一次迭代i,关注机制模块的门函数可以将事实fi、前一个记忆向量mi-1和当前消息q作为输入,以计算关注门为了计算第i次迭代的情景ei,可以将GRU应用于由门gi加权的输入序列,例如一系列事实fi。然后,可以将记忆向量计算为mi=GRU(ei,mi-1)。初始地,m0等于当前消息q的向量表示。情景记忆模块最终输出的记忆向量可以是GRU的最终状态mx。以下方程(18)用于在时间步骤t处更新GRU的隐藏状态,以下方程(19)用于计算情景。
其中,TC是输入语句的数量。
然而,根据本公开的实施例,事实记忆模块1120可以执行基于话题的推理。例如,并不保证对当前消息的可能响应是从当前会话中推导出的。换句话说,为了生成最佳响应,除了从当前会话的事实推理外,在当前会话的事实不足以回答当前消息的情况下,也可以考虑外部话题。从而,事实响应排序模型1106可以用于从开放域数据源,例如,话题-话题知识图谱1108和纯聊天索引1110,来确定候选事实响应1112,并且可以将候选事实响应1112的事实提供给事实记忆模块1120以用于进一步的多轮转移推理。
事实记忆模块1120可以利用当前会话的事实向量和候选事实响应的事实向量。此处,可以用与当前会话的事实向量类似的方式来计算候选事实响应的事实向量。如图11所示,事实记忆向量m1到mx对应于从当前会话的示例性事实向量f1到f8开始的推理过程,并且事实记忆向量mx+1到mx+y对应于从示例性的6个候选事实响应的事实向量开始的推理过程。
关于关注机制模块1122,对于每一次迭代i,关注机制模块1122的输入可以包括以下中的至少一个:来自当前会话的事实向量fi,从当前会话的事实向量推理出的前一个事实记忆向量mi-1,当前消息的事实向量f9,以及从候选事实响应的事实向量推理出的前一个事实记忆向量mx+i-1。因此,关注门可以被计算为评分函数G可以为特征集合{fi,mi-1,f9,mx+i-1}产生标量分数。例如,可以将这些向量之间的余弦相似度分数用于该特征集合。来自关注机制模块1122的计算结果可以被应用于事实记忆模块1120的推理过程。
来自事实记忆模块1120的输出可以至少包括事实记忆向量mx和mx+y,其中mx是从当前会话的事实向量推理出的,并且mx+y是从候选事实响应的事实向量推理出的。
架构1100可以包括用于确定候选情感响应1118的情感响应排序模型1114。在本文中,候选情感响应1118可以是具有情感趋向的候选响应。情感响应排序模型1114的输入可以包括以下中的至少一个:由输入模型1102生成的当前会话的情感向量,由当前消息模块1104生成的当前消息的情感向量,情感-话题知识图谱1116以及纯聊天索引集1110中的QA对。情感-话题知识图谱1116可以被用于提供用于引导对当前消息的最终响应中的最佳情感的信息。情感响应排序模型1114可以基于输入来计算纯聊天索引1110中存在的响应的分数,并将排序最高的一个或多个响应确定为候选情感响应1118。在一些实施方式中,情感响应排序模型1114可以采用GBDT模型来对两个序列进行评分。例如,GBDT可以将当前消息q和候选情感响应Q作为输入,并且输出与当前消息q相比的候选情感响应Q的相似度分数。
用于情感响应排序模型1114的GBDT中的特征可以与用于事实响应排序模型1106的GBDT中的特征相似,除了“Q”代表候选情感响应而不是候选事实响应,并且用从当前消息中的词语到候选情感响应中的词语的“情感-话题知识图谱”命中率特征代替“话题-话题知识图谱”命中率特征。例如,如果情感-话题知识图谱具有从“纳豆”到“健康的”的映射,则具有“纳豆”的当前消息和具有“健康的”的候选情感响应可以触发该特征,即,当前消息中的“纳豆”命中候选情感响应中的“健康的”。因此,与不具有词语“健康的”的其它候选情感响应相比,该候选情感响应将具有相对较高的分数。
架构1100可以包括情感记忆模块1130。情感记忆模块1130可以是用于推理出情感记忆向量的DMN。在一种实施方式中,情感记忆模块1130可以包括关注机制模块1132。可替换地,关注机制模块1132也可以与情感记忆模块1130分离。关注机制模块1132可以基于门函数。
根据本公开的实施例,情感记忆模块1130可以执行基于情感的推理。为了生成最佳响应,除了从当前会话的情感进行推理外,在当前会话的情感不足以回答当前消息的情况下,也可以考虑外部情感。从而,情感响应排序模型1114可以用于从开放域数据源,例如,情感-话题知识图谱1116和纯聊天索引1110,来确定候选情感响应1118,并且可以将候选情感响应1118的情感提供给情感记忆模块1130以用于进一步的多轮转移推理。
情感记忆模块1130可以利用当前会话的情感向量和候选情感响应的情感向量。此处,可以用与当前会话的情感向量类似的方式来计算候选情感响应的情感向量。应该理解,与可以通过例如Word2vec技术获得的事实向量不同,情感向量是通过如图5所示的情感分析分类器来获得的。如图11所示,情感记忆向量m′1到m′x对应于从当前会话的示例性情感向量e1到e8开始的推理过程,并且情感记忆向量m′x+1到m′x+y对应于从示例性的3个候选情感响应的情感向量开始的推理过程。
关于关注机制模块1132,对于每一次迭代i,关注机制模块1132的输入可以包括以下中的至少一个:来自当前会话的情感向量ei,从当前会话的情感向量推理出的前一个情感记忆向量m’i-1,当前消息的情感向量e9,以及从候选情感响应的情感向量推理出的前一个情感记忆向量m’x+i-1。因此,关注门可以被计算为评分函数G可以为特征集合{ei,m′i-1,e9,m′x+i-1}产生标量分数。例如,可以将这些向量之间的余弦相似度分数用于该特征集合。来自关注机制模块1132的计算结果可以被应用于情感记忆模块1130的推理过程。
来自情感记忆模块1130的输出可以至少包括情感记忆向量m′x和m′x+y,其中m′x是从当前会话的情感向量推理出的,并且m′x+y是从候选情感响应的情感向量推理出的。
架构1100可以包括意图预测模块1140。通常,在会话期间,用户的意图不是直接可观察的。例如,对于消息“吃纳豆作为早餐”,用户的意图可能是“为了健康”,其未必在会话期间直接用词语提及。意图预测模块1140的功能之一是将当前会话和当前消息作为用于预测用户的可能的隐藏意图的线索。
用于意图预测模块1140中的该预测意图功能的训练数据可以采用<会话,消息,意图>的形式,其中“会话”和“消息”是原始输入,而“意图”是输出。意图可以被表示为一个向量。假设总共有N个意图,则该向量将是N维向量,每个维度是相应意图的概率分数。在准备训练数据时,可以使用话题-话题知识图谱和/或情感-话题知识图谱来收集与<会话,消息>的话题相关的话题或情感,然后可以从相关的话题或情感中人工选择“正确的”意图。如果相关话题和情感中没有包括正确的意图,则可以人工标记意图。通过这种方式,可以建立<会话,消息,意图>的训练数据。然后,可以将训练数据提供给图11中的架构1100,以通过事实记忆模块1120和情感记忆模块1130分别获得事实记忆向量和情感记忆向量,事实记忆向量和情感记忆向量可以被采用作为意图预测模块1140的中间输入的特征集合,同时,表示训练数据中的意图的向量可以被采用作为用于参数更新的参考。基于上述训练过程,可以建立意图预测模块1140中的预测意图的功能。
当应用意图预测模块1140时,意图预测模块1140可以基于事实记忆向量和情感记忆向量,通过全连接层和另一个softmax层来生成意图向量1142。例如,意图向量1142可以被表示为:
softmax(fc(mx,mx+y,m′x,m′x+y))
=softmax(W1*mx+W2*mx+y+W3*m′x+W4*m′x+y) 方程(20)
其中,mx和mx+y是来自事实记忆模块1120的事实记忆向量,m′x和m′x+y是来自情感记忆模块1130的情感记忆向量,“fc”表示在全连接层处的处理,“softmax”表示在softmax层处的处理。
事实和情感记忆向量可能包含关于关注点的信息,例如,关注点的话题或事实、关注点的情感等。因此,由于意图预测模块1140将事实和情感记忆向量作为输入,然后使用全连接层和softmax层进行预测,所生成的意图向量1142可以被视为是针对字符串级别关注点和字符串级别意图的、在高级别向量空间中的表示。即,意图向量1142可以至少包括关于字符串级别关注点和字符串级别意图的信息。此处,“字符串级别”指示由词语、短语或语句所表示,例如,示例性字符串级别关注点可以是“喜欢纳豆”,示例性字符串级别意图可以是“为了健康”。
架构1100可以进一步包括关注机制模块1150和响应生成模块1160。
响应生成模块1160可以逐个词语地确定响应,其中该响应将被作为对来自用户的当前消息的回复而提供给用户。当确定响应中的每个词语时,响应生成模块1160可能希望参考事实记忆向量、情感记忆向量或意图向量。关注机制模块1150可以用于确定事实记忆向量、情感记忆向量和意图向量的选择以供响应生成模块1160使用。
响应生成模块1160可以采用GRU解码器,并且GRU解码器的初始状态可以被初始化为最后的记忆向量a0=意图向量=softmax(W1*mx+W2*mx+y+W3*m′x+W4*m′x+y)。在时间步骤t,GRU解码器可以将当前消息q、最后一个隐藏状态at-1和前一个输出yt-1作为输入,然后将当前输出计算为:
yt=softmax(W(a)at+W(b)g(at,意图向量,mx,mx+y,m′x,m′x+y))
方程(21)
其中,at=GRU([yt-1,q],at-1)和W(a)与W(b)是经过训练的权重矩阵。
此处,可以采用集束搜索来搜索yt的可用的下一个词语的候选列表。例如,对于响应中的第一个词语,最多保留前N个可能的词语,然后可以计算下一个词语,其也具有N个可能的候选,等等。在选择下一个词语期间,关注机制模块1150可以分别评估响应的当前生成部分与事实记忆向量、情感记忆向量和意图向量的相似度分数。关注机制模块1150可以使用权重向量{w1,w2,w3,w4,w5}来记录事实记忆向量、情感记忆向量和意图向量的权重,其中w1至w4是四个记忆向量(mx,mx+y,m′x,m′x+y)与当前候选词语之间的相似度分数,w5是意图向量与当前候选词语之间的相似度分数。
可以将上一生成的词语级联到当前向量以作为在每个时间步骤处的输入。可以利用在序列结尾处附有“/s”标记的正确序列的交叉熵误差分类来训练由响应生成模块1160生成的输出。
最后,可以从响应生成模块1160获得对当前消息的响应。取决于架构1100中的全部过程,一方面,响应可以被认为是至少基于关注点和意图而生成的,其中该过程中涉及的事实和情感记忆向量可以反映关于关注点的信息,该过程中涉及的意图向量可以反映关于关注点和意图两者的信息。另一方面,也可以将响应视为是通过基于事实的推理和基于情感的推理而生成的,其中,基于当前会话和候选事实响应来推理出该过程中涉及的事实记忆向量,并且基于当前会话和候选情感响应来推理出该过程中涉及的情感记忆向量。
应该理解,以上结合图11讨论的所有模块、方程、参数和过程是示例性的,本公开的实施例不限于讨论中的任何细节。
根据本公开的实施例,可以建立GAN,其可以包括生成器和鉴别器。生成器可以基于用于生成响应的DMN,鉴别器可以基于DSSM。此处,“生成器”或者“DMN”可以一般性地指图11中用于生成响应的架构1100,或者具体地指架构1100中基于DMN技术的模块的组合。GAN可以用于改进或改善生成器。此外,由于生成器采用DMN,因此根据本公开的实施例的GAN也可以被称为生成对抗记忆网络(GAMN)。
图15示出了根据实施例的用于训练GAN的示例性过程。
图15中的过程1500A示出了鉴别器的训练过程。在过程1500A中,可以获得参考数据1510。参考数据1510可以指应当由聊天机器人提供用以回复来自用户的消息的“正确的”或“最合适的”响应。参考数据1510可以是通过各种方式获得的,例如人工标记。参考数据也可以被称为“真实(true)数据”。
可以从参考数据1510中提取样本并将样本提供给生成器1520。生成器1520可以基于参考数据1510的样本来输出生成数据。
参考数据1510和来自生成器1520的生成数据可以用于训练鉴别器1530。鉴别器1530可以做出将实例分类为参考数据或生成数据的决定。例如,鉴别器1530可以用于估计实例来自参考数据而不是生成数据的概率。
图15中的过程1500B示出了生成器的训练过程。在过程1500B中,来自鉴别器1530的反馈可以用于训练生成器1520。生成器1520的训练目标是使鉴别器1530出错的概率最大化,例如,将参考数据的实例错误地分类为生成数据或者将生成数据的实例错误地分类为参考数据。如过程1500B所示,鉴别器1530可以为来自生成器1520的每个可能的生成数据提供回馈(reward)。可以通过梯度策略将该回馈从鉴别器1530反馈到生成器1520。在一种实施方式中,梯度策略可以基于随机梯度下降(SGD)。可以通过蒙特卡罗(MC)搜索将回馈传递回给中间动作,如图15中所示的“下一动作”,其中该下一动作可以指在生成响应期间对下一词语的选择,并且MC搜索可以计算选择每个动作的概率。回馈可以影响生成器1520中的下一动作和神经网络参数。
过程1500A和1500B中的鉴别器1530和生成器1520的训练可以同时执行,并且形成对抗过程。通过这种对抗过程,可以逐渐地训练并改进生成器1520。
此外,虽然在图15中未示出,但是当经训练的生成器1520被应用于生成响应时,也可以更新经训练的生成器1520和经训练的鉴别器1530。例如,当从用户接收到消息时,生成器1520可以基于图11中的架构1100生成对消息的响应,并将生成的响应提供给用户。如果所生成的响应具有来自用户的正面反馈,例如从用户接收到进一步的消息“太好了!”,或者被人工标记为好响应,则可以将该生成的响应视为新的参考数据并且可以被提供给图15中的训练过程以更新GAN。例如,可以基于新的参考数据来重新训练GAN中的生成器和鉴别器。
图16示出了根据实施例的用于在自动聊天中生成响应的示例性方法1600的流程图。
在1610处,可以在会话中接收消息。
在1620处,可以通过DMN,至少基于所述消息和所述会话来确定意图向量,所述意图向量指示关注点和意图。
在1630处,可以至少基于所述意图向量来生成响应。
在一种实施方式中,所述确定所述意图向量可以包括:至少基于所述消息和所述会话推理出至少一个事实记忆向量;至少基于所述消息和所述会话推理出至少一个情感记忆向量;以及基于所述至少一个事实记忆向量和所述至少一个情感记忆向量来生成所述意图向量。
所述推理出所述至少一个事实记忆向量可以包括:从所述会话的事实向量中推理出第一事实记忆向量;以及从一个或多个候选事实响应的事实向量中推理出第二事实记忆向量。
方法1600还可以包括:基于所述消息、所述会话、纯聊天索引和话题-话题知识图谱中的至少一个来确定所述一个或多个候选事实响应,其中,所述话题-话题知识图谱包括彼此相关联的多个话题短语。
在一种实施方式中,所述推理出所述至少一个情感记忆向量可以包括:从所述会话的情感向量中推理出第一情感记忆向量;以及从一个或多个候选情感响应的情感向量中推理出第二情感记忆向量。
方法1600可以进一步包括:基于所述消息、所述会话、纯聊天索引和情感-话题知识图谱中的至少一个来确定所述一个或多个候选情感响应,其中,所述情感-话题知识图谱包括彼此相关联的多个话题短语和多个情感短语。
在一种实施方式中,所述生成所述响应可以包括:至少基于所述意图向量、所述至少一个事实记忆向量以及所述至少一个情感记忆向量来生成所述响应。
在一种实施方式中,方法1600可以进一步包括:建立包括生成器和鉴别器的GAN,所述生成器至少基于所述DMN,所述鉴别器基于DSSM。
所述鉴别器可以是通过参考数据和生成数据来训练的,所述生成数据是由所述生成器基于所述参考数据的样本而生成的。所述生成器可以是通过基于鉴别器所提供的回馈的梯度策略来训练的。
方法1600可以进一步包括:基于所述响应来确定新的参考数据;以及至少基于所述新的参考数据来更新所述GAN。
在一种实施方式中,所述情感向量可以是由情感分析分类器生成的,所述情感分析分类器的训练数据集是通过情感词典而获得的,所述情感词典是至少通过对种子情感词语执行Word2vec词语扩展和双语词语对准来建立的。情感分析分类器可以是字符级别的RCNN。
应当理解,方法1600还可以包括根据上述本公开实施例的用于在自动聊天中生成响应的任何步骤/处理。
图17示出了根据实施例的用于在自动聊天中生成响应的示例性装置1700。
装置1700可以包括:消息接收模块1710,用于在会话中接收消息;意图向量确定模块1720,用于通过DMN,至少基于所述消息和所述会话来确定意图向量,所述意图向量指示关注点和意图;以及响应生成模块1730,用于至少基于所述意图向量来生成响应。
在一种实施方式中,装置1700可以进一步包括:事实记忆模块,用于至少基于所述消息和所述会话推理出至少一个事实记忆向量;以及情感记忆模块,用于至少基于所述消息和所述会话推理出至少一个情感记忆向量,其中,所述意图向量确定模块还用于基于所述至少一个事实记忆向量和所述至少一个情感记忆向量来生成所述意图向量。
在一种实施方式中,所述推理出所述至少一个事实记忆向量可以包括:从所述会话的事实向量中推理出第一事实记忆向量;以及从一个或多个候选事实响应的事实向量中推理出第二事实记忆向量。
装置1700还可以包括:事实响应排序模型,用于基于所述消息、所述会话、纯聊天索引和话题-话题知识图谱中的至少一个来确定所述一个或多个候选事实响应,其中,所述话题-话题知识图谱包括彼此相关联的多个话题短语。
在一种实施方式中,所述推理出所述至少一个情感记忆向量可以包括:从所述会话的情感向量中推理出第一情感记忆向量;以及从一个或多个候选情感响应的情感向量中推理出第二情感记忆向量。
装置1700还可以包括:情感响应排序模型,用于基于所述消息、所述会话、纯聊天索引和情感-话题知识图谱中的至少一个来确定所述一个或多个候选情感响应,其中,所述情感-话题知识图谱包括彼此相关联的多个话题短语和多个情感短语。
在一种实施方式中,装置1700还可以包括:GAN建立模块,用于建立包括生成器和鉴别器的GAN,所述生成器至少基于所述DMN,所述鉴别器基于DSSM。
鉴别器可以是通过参考数据和生成数据来训练的,所述生成数据是由所述生成器基于所述参考数据的样本而生成的。所述生成器可以是通过基于由所述鉴别器所提供的回馈的梯度策略来训练的。
此外,装置1700还可以包括根据上述本公开实施例的被配置用于在自动聊天中生成响应的任何其它模块。
图18示出了根据实施例的用于在自动聊天中生成响应的示例性装置。
装置1800可以包括至少一个处理器1810。装置1800还可以包括与处理器1810连接的存储器1820。存储器1820可以存储计算机可执行指令,当所述计算机可执行指令被执行时,使得处理器1810执行根据上述本公开实施例的用于在自动聊天中生成响应的方法的任何操作。可替换地,可以从装置1800中省略存储器1820。
本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于在自动聊天中生成响应的方法的任何操作。
应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。
还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。
已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、DSP或其它适合的平台所执行的软件。
软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。
以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将通过引用而明确地包含到本文中,并且旨在由权利要求所覆盖。

Claims (20)

1.一种用于在自动聊天中生成响应的方法,包括:
在会话中接收消息;
通过动态记忆网络(DMN),至少基于所述消息和所述会话来确定意图向量,所述意图向量指示关注点和意图;以及
至少基于所述意图向量来生成响应。
2.根据权利要求1所述的方法,其中,所述确定所述意图向量包括:
至少基于所述消息和所述会话推理出至少一个事实记忆向量;
至少基于所述消息和所述会话推理出至少一个情感记忆向量;以及
基于所述至少一个事实记忆向量和所述至少一个情感记忆向量来生成所述意图向量。
3.根据权利要求2所述的方法,其中,所述推理出所述至少一个事实记忆向量包括:
从所述会话的事实向量中推理出第一事实记忆向量;以及
从一个或多个候选事实响应的事实向量中推理出第二事实记忆向量。
4.根据权利要求3所述的方法,还包括:
基于所述消息、所述会话、纯聊天索引和话题-话题知识图谱中的至少一个来确定所述一个或多个候选事实响应,
其中,所述话题-话题知识图谱包括彼此相关联的多个话题短语。
5.根据权利要求2所述的方法,其中,所述推理出所述至少一个情感记忆向量包括:
从所述会话的情感向量中推理出第一情感记忆向量;以及
从一个或多个候选情感响应的情感向量中推理出第二情感记忆向量。
6.根据权利要求5所述的方法,还包括:
基于所述消息、所述会话、纯聊天索引和情感-话题知识图谱中的至少一个来确定所述一个或多个候选情感响应,
其中,所述情感-话题知识图谱包括彼此相关联的多个话题短语和多个情感短语。
7.根据权利要求2所述的方法,其中,所述生成所述响应包括:
至少基于所述意图向量、所述至少一个事实记忆向量以及所述至少一个情感记忆向量来生成所述响应。
8.根据权利要求1所述的方法,还包括:
建立包括生成器和鉴别器的生成对抗网络(GAN),所述生成器至少基于所述DMN,所述鉴别器基于深度语义相似度模型(DSSM)。
9.根据权利要求8所述的方法,其中,
所述鉴别器是通过参考数据和生成数据来训练的,所述生成数据是由所述生成器基于所述参考数据的样本而生成的,并且
所述生成器是通过梯度策略来训练的,所述梯度策略基于由所述鉴别器所提供的回馈。
10.根据权利要求9所述的方法,还包括:
基于所述响应来确定新的参考数据;以及
至少基于所述新的参考数据来更新所述GAN。
11.根据权利要求5所述的方法,其中,所述情感向量是由情感分析分类器生成的,所述情感分析分类器的训练数据集是通过情感词典而获得的,所述情感词典是至少通过对种子情感词语执行Word2vec词语扩展和双语词语对准来建立的。
12.根据权利要求11所述的方法,其中,所述情感分析分类器是字符级别的递归卷积神经网络(RCNN)。
13.一种用于在自动聊天中生成响应的装置,包括:
消息接收模块,用于在会话中接收消息;
意图向量确定模块,用于通过动态记忆网络(DMN),至少基于所述消息和所述会话来确定意图向量,所述意图向量指示关注点和意图;以及
响应生成模块,用于至少基于所述意图向量来生成响应。
14.根据权利要求13所述的装置,还包括:
事实记忆模块,用于至少基于所述消息和所述会话推理出至少一个事实记忆向量;以及
情感记忆模块,用于至少基于所述消息和所述会话推理出至少一个情感记忆向量,
其中,所述意图向量确定模块还用于基于所述至少一个事实记忆向量和所述至少一个情感记忆向量来生成所述意图向量。
15.根据权利要求14所述的装置,其中,所述推理出所述至少一个事实记忆向量包括:
从所述会话的事实向量中推理出第一事实记忆向量;以及
从一个或多个候选事实响应的事实向量中推理出第二事实记忆向量。
16.根据权利要求15所述的装置,还包括:
事实响应排序模型,用于基于所述消息、所述会话、纯聊天索引和话题-话题知识图谱中的至少一个来确定所述一个或多个候选事实响应,
其中,所述话题-话题知识图谱包括彼此相关联的多个话题短语。
17.根据权利要求14所述的装置,其中,所述推理出所述至少一个情感记忆向量包括:
从所述会话的情感向量中推理出第一情感记忆向量;以及
从一个或多个候选情感响应的情感向量中推理出第二情感记忆向量。
18.根据权利要求17所述的装置,还包括:
情感响应排序模型,用于基于所述消息、所述会话、纯聊天索引和情感-话题知识图谱中的至少一个来确定所述一个或多个候选情感响应,
其中,所述情感-话题知识图谱包括彼此相关联的多个话题短语和多个情感短语。
19.根据权利要求13所述的装置,还包括:
生成对抗网络(GAN)建立模块,用于建立包括生成器和鉴别器的GAN,所述生成器至少基于所述DMN,所述鉴别器基于深度语义相似度模型(DSSM)。
20.根据权利要求19所述的装置,其中,
所述鉴别器是通过参考数据和生成数据来训练的,所述生成数据是由所述生成器基于所述参考数据的样本而生成的,并且
所述生成器是通过梯度策略来训练的,所述梯度策略基于由所述鉴别器所提供的回馈。
CN201780064420.8A 2017-06-26 2017-06-26 在自动聊天中生成响应 Active CN109844743B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/090010 WO2019000170A1 (en) 2017-06-26 2017-06-26 GENERATION OF ANSWERS IN AN AUTOMATED ONLINE CONVERSATION

Publications (2)

Publication Number Publication Date
CN109844743A true CN109844743A (zh) 2019-06-04
CN109844743B CN109844743B (zh) 2023-10-17

Family

ID=64740723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780064420.8A Active CN109844743B (zh) 2017-06-26 2017-06-26 在自动聊天中生成响应

Country Status (4)

Country Link
US (1) US11586810B2 (zh)
EP (1) EP3619620A4 (zh)
CN (1) CN109844743B (zh)
WO (1) WO2019000170A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737778A (zh) * 2019-09-04 2020-01-31 北京邮电大学 基于知识图谱和Transformer的专利推荐方法
CN110781687A (zh) * 2019-11-06 2020-02-11 三角兽(北京)科技有限公司 相同意图语句的获取方法及装置
CN112052663A (zh) * 2020-08-31 2020-12-08 平安科技(深圳)有限公司 客服语句质检方法及相关设备
CN112214585A (zh) * 2020-09-10 2021-01-12 中国科学院深圳先进技术研究院 回复消息生成方法、系统、计算机设备及存储介质
CN112380325A (zh) * 2020-08-15 2021-02-19 电子科技大学 基于联合知识嵌入模型和事实记忆网络的知识图谱问答系统
CN112750430A (zh) * 2019-10-29 2021-05-04 微软技术许可有限责任公司 在自动聊天中提供响应
CN113268580A (zh) * 2021-07-15 2021-08-17 中国平安人寿保险股份有限公司 会话主题迁移路径挖掘方法、装置、计算机设备及介质
TWI776589B (zh) * 2021-07-13 2022-09-01 國立臺灣師範大學 情緒回話系統

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075959B (zh) * 2016-11-14 2021-03-12 腾讯科技(深圳)有限公司 一种会话消息处理方法和装置
US11288457B1 (en) * 2018-02-01 2022-03-29 Interactions Llc Dialog management using knowledge graph-driven information state in a natural language processing system
JP7139626B2 (ja) * 2018-03-02 2022-09-21 日本電信電話株式会社 フレーズ生成関係性推定モデル学習装置、フレーズ生成装置、方法、及びプログラム
CN109036375B (zh) * 2018-07-25 2023-03-24 腾讯科技(深圳)有限公司 语音合成方法、模型训练方法、装置和计算机设备
US11494486B1 (en) * 2019-01-15 2022-11-08 Hrl Laboratories, Llc Continuously habituating elicitation strategies for social-engineering-attacks (CHESS)
WO2020178856A1 (en) * 2019-03-04 2020-09-10 Dheeyantra Research Labs Private Limited A chatbot system using asynchronous dialog state machine
US11275785B2 (en) * 2019-04-05 2022-03-15 Jade Global, Inc. AI routing framework for multi-domain chatbots
CA3081150A1 (en) * 2019-05-21 2020-11-21 Royal Bank Of Canada System and method for machine learning architecture with variational autoencoder pooling
KR20210041209A (ko) * 2019-10-07 2021-04-15 주식회사 플랫팜 서브 의사표현 아이템을 포함하는 의사표현 아이템 데이터베이스를 능동적으로 구축하는 메시지 서비스 제공 장치 및 그 방법
CN112837676B (zh) * 2019-11-04 2023-12-01 深圳市优必选科技股份有限公司 一种语句生成方法、语句生成装置及智能设备
US11379671B2 (en) * 2019-11-18 2022-07-05 Salesforce, Inc. Identification of response list
US11095578B2 (en) 2019-12-11 2021-08-17 International Business Machines Corporation Technology for chat bot translation
CN111259674B (zh) * 2020-01-13 2023-07-25 山东浪潮科学研究院有限公司 基于gan网络的文字校对和情感分析方法、设备及介质
CN114374660B (zh) * 2020-10-15 2023-09-19 中国移动通信集团浙江有限公司 5g消息聊天机器人的推荐方法、装置、设备及存储介质
CN112417890B (zh) * 2020-11-29 2023-11-24 中国科学院电子学研究所苏州研究院 一种基于多样化语义注意力模型的细粒度实体分类方法
US11790168B2 (en) * 2021-01-29 2023-10-17 Ncr Corporation Natural language and messaging system integrated group assistant
US20230039235A1 (en) * 2021-08-04 2023-02-09 Verizon Patent And Licensing Inc. Emotionally-aware conversational response generation method and apparatus
CN113569581B (zh) * 2021-08-26 2023-10-17 中国联合网络通信集团有限公司 意图识别方法、装置、设备及存储介质
CN113505163B (zh) * 2021-09-10 2021-12-14 成都明途科技有限公司 基于大数据挖掘的组织目标分析方法、系统、存储介质
CN115473864B (zh) * 2022-11-02 2023-04-28 平安银行股份有限公司 机器人聊天方法、计算机设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289463A1 (en) * 2004-06-23 2005-12-29 Google Inc., A Delaware Corporation Systems and methods for spell correction of non-roman characters and words
US20100180199A1 (en) * 2007-06-01 2010-07-15 Google Inc. Detecting name entities and new words
US20110112825A1 (en) * 2009-11-12 2011-05-12 Jerome Bellegarda Sentiment prediction from textual data
US20150193889A1 (en) * 2014-01-09 2015-07-09 Adobe Systems Incorporated Digital content publishing guidance based on trending emotions
CN105095195A (zh) * 2015-07-03 2015-11-25 北京京东尚科信息技术有限公司 基于知识图谱的人机问答方法和系统
US20150363001A1 (en) * 2014-06-13 2015-12-17 Thomas Malzbender Techniques For Using Gesture Recognition To Effectuate Character Selection
CN105912527A (zh) * 2016-04-19 2016-08-31 北京高地信息技术有限公司 根据自然语言输出答案的方法、装置及系统
US20170024645A1 (en) * 2015-06-01 2017-01-26 Salesforce.Com, Inc. Dynamic Memory Network
CN106649878A (zh) * 2017-01-07 2017-05-10 陈翔宇 基于人工智能的物联网实体搜索方法及系统
US20170140240A1 (en) * 2015-07-27 2017-05-18 Salesforce.Com, Inc. Neural network combined image and text evaluator and classifier

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430738B1 (en) 2012-02-08 2016-08-30 Mashwork, Inc. Automated emotional clustering of social media conversations
US9424233B2 (en) 2012-07-20 2016-08-23 Veveo, Inc. Method of and system for inferring user intent in search input in a conversational interaction system
CN104572619A (zh) * 2014-12-31 2015-04-29 天津市招财猫信息技术有限公司 智能机器人交互系统在投融资领域的应用
US10884503B2 (en) * 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition
CN105677822A (zh) 2016-01-05 2016-06-15 首都师范大学 一种基于对话机器人的招生自动问答方法及系统
CN106503101A (zh) * 2016-10-14 2017-03-15 五邑大学 电商客服自动问答系统语句关键词提取方法
US20180129742A1 (en) * 2016-11-10 2018-05-10 Qualcomm Incorporated Natural language object tracking

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289463A1 (en) * 2004-06-23 2005-12-29 Google Inc., A Delaware Corporation Systems and methods for spell correction of non-roman characters and words
US20100180199A1 (en) * 2007-06-01 2010-07-15 Google Inc. Detecting name entities and new words
US20110112825A1 (en) * 2009-11-12 2011-05-12 Jerome Bellegarda Sentiment prediction from textual data
US20150193889A1 (en) * 2014-01-09 2015-07-09 Adobe Systems Incorporated Digital content publishing guidance based on trending emotions
US20150363001A1 (en) * 2014-06-13 2015-12-17 Thomas Malzbender Techniques For Using Gesture Recognition To Effectuate Character Selection
US20170024645A1 (en) * 2015-06-01 2017-01-26 Salesforce.Com, Inc. Dynamic Memory Network
CN105095195A (zh) * 2015-07-03 2015-11-25 北京京东尚科信息技术有限公司 基于知识图谱的人机问答方法和系统
US20170140240A1 (en) * 2015-07-27 2017-05-18 Salesforce.Com, Inc. Neural network combined image and text evaluator and classifier
CN105912527A (zh) * 2016-04-19 2016-08-31 北京高地信息技术有限公司 根据自然语言输出答案的方法、装置及系统
CN106649878A (zh) * 2017-01-07 2017-05-10 陈翔宇 基于人工智能的物联网实体搜索方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HAO ZHOU,MINLIE HUANG ET AL.: "Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory", 《HTTPS://ARXIV.ORG/ABS/1704.01074》 *
HAO ZHOU,MINLIE HUANG ET AL.: "Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory", 《HTTPS://ARXIV.ORG/ABS/1704.01074》, 4 April 2017 (2017-04-04), pages 1 - 4 *
LANTAO YU ET AL.,: "SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient", 《HTTPS://ARXIV.ORG/ABS/1609.05473》 *
LANTAO YU ET AL.,: "SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient", 《HTTPS://ARXIV.ORG/ABS/1609.05473》, 18 September 2016 (2016-09-18), pages 1 - 4 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737778B (zh) * 2019-09-04 2022-05-31 北京邮电大学 基于知识图谱和Transformer的专利推荐方法
CN110737778A (zh) * 2019-09-04 2020-01-31 北京邮电大学 基于知识图谱和Transformer的专利推荐方法
CN112750430A (zh) * 2019-10-29 2021-05-04 微软技术许可有限责任公司 在自动聊天中提供响应
CN110781687A (zh) * 2019-11-06 2020-02-11 三角兽(北京)科技有限公司 相同意图语句的获取方法及装置
CN110781687B (zh) * 2019-11-06 2021-07-06 腾讯科技(深圳)有限公司 相同意图语句的获取方法及装置
CN112380325A (zh) * 2020-08-15 2021-02-19 电子科技大学 基于联合知识嵌入模型和事实记忆网络的知识图谱问答系统
CN112380325B (zh) * 2020-08-15 2022-05-31 电子科技大学 基于联合知识嵌入模型和事实记忆网络的知识图谱问答系统
CN112052663A (zh) * 2020-08-31 2020-12-08 平安科技(深圳)有限公司 客服语句质检方法及相关设备
WO2021147405A1 (zh) * 2020-08-31 2021-07-29 平安科技(深圳)有限公司 客服语句质检方法及相关设备
CN112214585A (zh) * 2020-09-10 2021-01-12 中国科学院深圳先进技术研究院 回复消息生成方法、系统、计算机设备及存储介质
CN112214585B (zh) * 2020-09-10 2024-03-12 中国科学院深圳先进技术研究院 回复消息生成方法、系统、计算机设备及存储介质
TWI776589B (zh) * 2021-07-13 2022-09-01 國立臺灣師範大學 情緒回話系統
CN113268580B (zh) * 2021-07-15 2021-11-09 中国平安人寿保险股份有限公司 会话主题迁移路径挖掘方法、装置、计算机设备及介质
CN113268580A (zh) * 2021-07-15 2021-08-17 中国平安人寿保险股份有限公司 会话主题迁移路径挖掘方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
CN109844743B (zh) 2023-10-17
US20200159997A1 (en) 2020-05-21
EP3619620A1 (en) 2020-03-11
WO2019000170A1 (en) 2019-01-03
EP3619620A4 (en) 2020-11-18
US11586810B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
CN109844743A (zh) 在自动聊天中生成响应
Ma et al. A survey on empathetic dialogue systems
US11487986B2 (en) Providing a response in a session
CN110427617B (zh) 推送信息的生成方法及装置
WO2019100350A1 (en) Providing a summary of a multimedia document in a session
US11587541B2 (en) Providing personalized songs in automated chatting
CN109564572A (zh) 生成用于自动聊天的问题-答案对
WO2018227462A1 (en) Method and apparatus for intelligent automated chatting
CN109564783A (zh) 在自动聊天中辅助心理治疗
US20240020942A1 (en) Providing emotional care in a session
WO2018165932A1 (en) Generating responses in automated chatting
Ling Coronavirus public sentiment analysis with BERT deep learning
Jiang et al. CAN-GRU: A hierarchical model for emotion recognition in dialogue
Měkota et al. End to end dialogue transformer
Agrawal Enriching affect analysis through emotion and sarcasm detection
Schoene Faculty of Science and Engineering Department of Computer Science and Technology
Zaranis Empathetic dialogue generation using generation-based models
Fernandes et al. Open-domain Conversational Agent based on Pre-trained Transformers for Human-Robot Interaction.
Bosc Autoencoders for natural language semantics
Thapliyal Sarcasm Detection System for Hinglish Language (SDSHL)
Raman et al. Text Summarization Using Deep Learning: An Analysis of sequence-to-sequence models and transformers
Wanasukapunt Classification of abusive Thai messages in social networks using deep learning
Fırat Stance detection in Turkish dataset on Russia-Ukraine war
Kusal et al. Understanding the performance of AI algorithms in Text-Based Emotion Detection for Conversational Agents
Mosbach Analyzing pre-trained and fine-tuned language models

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