CN110457454A - 一种对话方法、服务器、对话系统及存储介质 - Google Patents
一种对话方法、服务器、对话系统及存储介质 Download PDFInfo
- Publication number
- CN110457454A CN110457454A CN201910631991.6A CN201910631991A CN110457454A CN 110457454 A CN110457454 A CN 110457454A CN 201910631991 A CN201910631991 A CN 201910631991A CN 110457454 A CN110457454 A CN 110457454A
- Authority
- CN
- China
- Prior art keywords
- user
- answer statement
- information
- solicited message
- dialog history
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种对话方法、服务器、对话系统及存储介质,其中,所述对话方法应用于服务器侧,包括:接收请求信息;基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句;根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;发送所述第二应答语句。
Description
技术领域
本发明涉及智能对话技术领域,尤其涉及一种对话方法、服务器、对话系统及存储介质。
背景技术
随着人工智能的发展,人机对话系统在智能家居、智能助理等领域都得到了较大的发展。目前关于人机对话系统已经进行过许多尝试,最简单的是预先准备决定了对话规则的脚本,计算机按照该脚本进行发声。脚本中包含可以被任意的单词置换的变量,通过对用户的输入进行识别,来提取某些单词来置换该变量,从而进行应答。
这样的对话系统由于脚本的数量受到限制,因此应答的模式也受到制约,只能实现基本的、简单的对话功能,不能针对用户进行个性化的服务,导致不能满足用户的心理需求。
发明内容
有鉴于此,本发明实施例期望提供一种对话方法、服务器、对话系统及存储介质,能够根据不同用户的特点,进行个性化的对话,从而可以提升对话的效率和用户满意度。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种对话方法,应用于服务器侧,所述方法包括:
接收请求信息;
基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句;
根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;
发送所述第二应答语句。
在上述方案中,所述基于接收的请求信息,确定所述请求信息对应的第一用户的意图,包括:
对所述请求信息进行解析,得到解析结果;其中,所述解析结果包括:所述第一用户的目标需求领域、所述第一用户的目标应答类型、所述第一用户的目标语义类别;
基于解析结果,确定所述请求信息对应的第一用户的意图。
在上述方案中,所述根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句,包括:
根据所述第一用户的身份信息以及第一历史对话记录,确定第一用户的属性特征;
基于所述第一用户的属性特征、所述第二历史对话记录中与所述第一用户输入的请求信息相关联的对话信息至少之一,对所述第一应答语句进行修正,得到第二应答语句。
在上述方案中,所述根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正之前,所述方法还包括:
获取第一用户的身份信息、第一历史对话记录以及第二历史对话记录;
基于所述第一用户的身份信息,构建用户信息表;
基于所述第一历史对话记录、第二历史对话记录,构建全局对话记录表。
在上述方案中,所述方法还包括:
基于所述第一用户的意图,判断是否需要调用第三方服务;
确定需要调用第三方服务,向所述第一用户的终端发送第三方服务的链接。
本发明实施例还提供一种服务器,所述服务器包括:接收单元、第一语句生成单元、第二语句生成单元、发送单元;其中
所述接收单元,用于接收请求信息;
所述第一语句生成单元,用于基于接收的请求信息,确定所述请求信息对应的第一用户的意图,根据确定的第一用户的意图,生成第一应答语句;
所述第二语句生成单元,用于根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;
所述发送单元,用于发送所述第二应答语句。
在上述方案中,所述第二语句生成单元,包括:第二确定单元、第二语句生成子单元;其中,
所述第二确定单元,用于根据所述第一用户的身份信息以及第一历史对话记录,确定第一用户的属性特征;
所述第二语句生成子单元,用于基于所述第一用户的属性特征、所述第二历史对话记录中与所述第一用户输入的请求信息相关联的对话信息至少之一,对所述第一应答语句进行修正,得到第二应答语句。
本发明实施例还提供一种对话系统,所述系统包括:上述任一项的服务器以及终端;其中,
所述终端包括:至少一种输入设备;
所述输入设备用于获取第一用户的自然语言信息,将所述自然语言信息转换成请求信息,发送给所述服务器。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的任一步骤。
本发明实施例还提供一种服务器,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述方法的任一步骤。
本发明实施例所提供的对话方法、服务器、对话系统及存储介质,通过接收的请求信息确定第一用户的意图,依据确定的意图,生成初步的第一应答语句,进而再通过第一用户的个人信息和/或与第一用户属性特征相同的用户的第二历史对话记录对第一应答语句进行修正,得到适应第一用户身份、适应当前场景的第二应答语句,使得用户得到满意的答案。如此,可以基于不同用户的特点进行个性化的对话服务,提升用户体验。
附图说明
图1为本发明实施例提供一种对话方法的实现流程示意图一;
图2为本发明实施例提供的一种对话方法的第一应答语句生成示意图;
图3为本发明实施例提供的一种对话方法的实现流程示意图二;
图4为本发明实施例提供的一种服务器的结构示意图;
图5为本发明实施例提供的一种对话系统的结构示意图;
图6为本发明实施例提供的一种服务器的具体硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般而言,根据对话系统的任务类型不同,对话系统框架分为任务导向性系统(Task-oriented Dialogue System)和非任务导向性系统(Non-Task-Oriented DialogueSystem)。任务导向性系统以任务型对话和问答为代表,满足用户特定性的目标需求,通过与用户进行多轮基于自然语言的对话来逐步收集与目标相关的信息,辅助用户成功获得某种服务。而非任务导向的对话系统(也称为聊天机器人)专注于在开放的领域与人交谈,对准确率要求不高。
本发明实施例针对的是任务型对话,为了实现根据不同用户的特点进行个性化的对话,本发明实施例提供一种对话方法,应用于服务器侧,如图1所示,所述方法包括:
步骤101,接收请求信息;
步骤102,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句;
步骤103,根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;
步骤104,发送所述第二应答语句。
需要说明的是,所述服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备;所述服务器可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
还需要说明的是,当所述服务器内安装并运行有对话程序,且所述对话程序处于运行中时,可以通过所述服务器的交互界面直接接收用户输入的请求信息。或者,当用户通过所述服务器连接的其他系统(如网络控制系统)、其他终端设备(如PC端、移动终端)等进行请求信息输入时,所述服务器可以接收到由所述网络控制系统、所述终端设备获取的用户的请求信息。
所述请求信息包括:文本信息、语音信息等。
当用户通过移动终端输入文本信息时,所述移动终端就直接将所述文本信息发送至服务器侧进行处理。
当用户通过移动终端输入语音信息时,所述移动终端识别所述语音信息,将所述语音信息解析转换成文本信息,再发送至服务器侧进行处理;还可以是,所述移动终端获取所述语音信息后,直接发送到服务器侧,由服务器侧解析转换成文本信息,再进行处理;或者,还可以是,所述移动终端获取所述语音信息后,直接发送到服务器侧,所述服务器直接对语音信息进行处理后,生成应答语句发送给移动终端,此时移动终端输出的应答语句也同样为语音信息。
基于此,所述第一用户是指在服务器的交互界面上输入请求信息的任意用户,或者是指在终端上输入请求信息的任意用户。
这里,所述服务器接收请求信息可以是:服务器某一时刻同时收到多个用户终端发送的请求信息,对所述多个请求信息分别进行处理;也可以是:服务器某一时刻只收到一个用户终端发送的请求信息,只针对该请求信息进行处理。
为了更清楚地说明本发明实施例提供的对话方法,现进行详细介绍,图2为本发明实施例提供的对话方法中第一应答语句生成示意图,可以通过如下三个部分:问题分析、信息检索和答案抽取,来生成初步的第一应答语句。
如图2所示,问题分析包括:问题分类、关键词提取和关键词扩展;问题分类是针对不同类型的问题进行抽取,以便在答案抽取阶段抽取答案;关键词提取是提取出对后面检索有用的关键字;关键词扩展是为了提高检索的召回率,对关键词做适当扩展,当然这部分的词的重要性要低于从问题中提取出的关键词。信息检索是只根据关键词在信息检索模块中检索,信息检索模块中的关键是对文档权重的确定和对文档进行排序;这里,信息检索模块可以返回的是文档或者段落,甚至是句子。答案抽取是对信息检索返回的一堆相关的网页内容抽取答案,先查找候选答案,多个候选答案设置权重进行排序,由此返回最佳答案。
经过上述步骤,可以生成初步生成的应答语句,即第一应答语句。
这里,上述基于接收的请求信息,确定所述请求信息对应的第一用户的意图,包括:对所述请求信息进行解析,得到解析结果;基于解析结果,确定所述请求信息对应的第一用户的意图。其中,所述解析结果包括:所述第一用户的目标需求领域、所述第一用户的目标应答类型、所述第一用户的目标语义类别。
需要说明的是,所述意图是指用户提问的目的,比如是想要告知某个信息,还是确认某个信息,或是想知道某个信息的答案。服务器在接收到请求信息后,需要对请求信息进行分析,确定出第一用户提问的意图,进而针对第一用户的意图,生成第一应答语句。
由于第一应答语句是根据用户的意图初步生成的应答语句,那么,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句的具体实现可以是:先对提问的关键词进行提取,或者扩展,确定出提问的领域,判定用户谈论的是什么领域的事情,再对问题进行分类;例如“订餐、订票”可以认为是生活服务领域,“羟基化合物的特点”可以认为是化学领域。在确定出提问的领域后,对所述请求信息进行意图识别,识别用户话语的目的;例如“订餐、订票”可以认为是确认某个信息或想知道某个信息的答案,“羟基化合物的特点”可以认为是想知道某个信息的答案。在识别出用户话语的目的后,用某种检索算法去检索,得到一定数量的候选答案,可以通过设置权重来选择概率最大的候选答案作为最终答案,所述最终答案即为第一应答语句。
需要说明的是,在实际应用中,仅根据用户的意图去生成应答语句是无法给用户带来很好的体验。例如,当需要推荐菜品时,如果当前进行对话的用户有忌口的菜品,仅根据用户的意图去推荐菜品时,就可能会将用户不想吃的菜品进行了推荐,影响用户体验。
基于此,需要对上述生成的第一应答语句进行修正,结合用户的身份特点或其他因素,生成更加合适的应答语句,以提升用户体验。
这里,所述对第一应答语句进行修正,可以是仅根据第一用户的个人信息对第一应答语句进行修正,得到第二应答语句;还可以是仅根据与第一用户属性特征相同的用户的第二历史对话记录对第一应答语句进行修正,得到第二应答语句;或者,结合第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录一起对第一应答语句进行修正,得到第二应答语句。
需要说明的是,在实际应用中,可以结合实际情况选择通过哪种方式对第一应答语句进行修正。例如,如果服务器侧已经能够获取到大量的第一用户的个人信息,那么,可以仅基于第一用户的个人信息对第一应答语句进行修正。相对应地,如果服务器侧无法获取到大量的第一用户的个人信息,但是第二历史对话记录中与第一用户输入的请求信息相关联的对话信息有很多时,则可以仅基于与第一用户属性特征相同的用户的第二历史对话记录对第一应答语句进行修正。如果服务器侧无法获取到大量的第一用户的个人信息,且第二历史对话记录中与第一用户输入的请求信息相关联的对话信息数量不足,则需要联合第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录一起对第一应答语句进行修正,以便得到更符合第一用户需求的第二应答语句。
这里,可以通过设置阈值的方式来判断获取的信息量的多少;例如,可以设置获取的第一用户的个人信息的信息量达到500M,则认为获取到大量的第一用户的个人信息。还可以是,设置获取的第一用户的个人信息的信息类型到达20种,则认为获取到大量的第一用户的个人信息;所述个人信息的信息类型包括:年龄、偏好的食物、偏好的服饰、偏好书籍等;这里,多种信息类型可以实现对第一用户尽可能多的了解。或者,通过判断第一用户使用对话系统的频率,当频率达到一定阈值,则认为获取到大量的第一用户的个人信息。相对应地,也可以基于上述方式来判断第二历史对话记录中与第一用户输入的请求信息相关联的对话信息的信息量的多少。
具体地,所述根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句,包括:根据所述第一用户的身份信息以及第一历史对话记录,确定第一用户的属性特征;基于所述第一用户的属性特征、所述第二历史对话记录中与所述第一用户输入的请求信息相关联的对话信息至少之一,对所述第一应答语句进行修正,得到第二应答语句。
需要说明的是,所述第一用户的个人信息是指第一用户的身份信息、第一历史对话记录。所述身份信息可以包括:国籍、年龄、性别、爱好、地域、家庭背景等;所述第一历史对话记录是第一用户以往通过对话系统询问问题,进而生成的对话记录。
这里,所述第一用户的属性特征包括第一用户的偏好信息,所述偏好信息可以由第一用户的身份信息、第一历史对话记录来确定。所述属性特征对第一应答语句有修正作用。例如,第一用户如果在之前就相同或者类似的问题询问过对话系统,那么可以通过记录的对话信息,给出建议。
作为一个示例,假如用户A在去年就菜品推荐的问题向对话系统提出过询问,在经过一些列问答交互后,用户A选择了年糕火锅,那么在当前,如果用户A仍旧是发起推荐菜品的问题,就可以基于历史回答,对第一应答语句进行修改,给出有关“年糕火锅”的第二应答语句。
作为另一个示例,假如用户B在几个月前就菜品推荐的问题向对话系统提出过询问,且经过几轮对话获取了用户B对海鲜过敏的信息;那么在当前用户B再次向对话系统提出菜品推荐的问题时,可以结合用户B的历史对话记录给出新的推荐,过滤掉海鲜的选项。
需要说明的是,所述与第一用户属性特征相同的用户是指与第一用户国籍、年龄、性别、爱好、地域、家庭背景等因素相同或者类似的用户。所述与第一用户属性特征相同的用户的历史对话记录具有借鉴作用,可以对回答提供一些建议。例如,当所述请求信息为推荐菜品时,可以查询与第一用户国籍、爱好、地域、家庭背景等因素相同的用户的第二历史对话记录,可以从中发现与第一用户属性特征相同的用户的偏好,结合所述偏好,给第一用户推荐合适的菜品。
作为一个示例,假如用户C是一个中国四川的、喜欢韩国偶像的大学2年级的学生,当他发送了菜品推荐的请求信息后,通过分析请求信息的意图,生成了包含了川菜、西餐、火锅等选项的第一应答语句。这时,如果查询到另一个,或者多个符合中国四川人、大学2年级、喜欢韩国偶像这几个条件的用户在之前已经通过对话系统询问过相同的问题,经过几轮回答,该用户选择了“年糕火锅”,则可以基于该属性特征相同的用户的历史选择对第一应答语句进行修改,将包含“年糕火锅”的第二应答语句推荐给用户C。
还需要说明的是,当获取的请求信息是语音信息时,可以对接收的语音信息进行分析,确定出当前用户此时的情绪状态,进而可以结合当前的情绪状态,给出其他建议。这里,所述对接收的语音信息进行分析,确定出当前用户此时的情绪状态,可以是对接收的语音信息的声音强度、语速等特征进行分析去确定当前用户此时的情绪状态。
实际应用中,由于需要对第一应答语句进行修正,生成用户满意度高的应答语句,那么,在对第一应答语句进行修正之前,需要知道第一用户的个人信息、还需要知道哪些用户是与第一用户属性特征相同的用户以及该用户的历史对话记录。基于此,所述根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正之前,所述方法还包括:
获取第一用户的身份信息、第一历史对话记录以及第二历史对话记录;
基于所述第一用户的身份信息,构建用户信息表;
基于所述第一历史对话记录、第二历史对话记录,构建全局对话记录表。
这里,对第一用户的身份信息的获取可以是第一用户自己提供,还可以是和其他平台共享获得。
作为一个示例,对于第一用户自己提供的方式,可以是在对话软件首次运行时,进行了用户身份注册,由此获取身份信息。对于其他平台共享获得的方式,可以是某一平台存储有部分用户的身份信息,当获得相应的权限后,可以调用相应的接口直接获取用户的身份信息。
需要说明的是,所述基于所述第一用户的身份信息,构建用户信息表,可以是根据正常的建表、写入数据库的流程进行。
这里,为了便于后续的数据查找,在用户信息表的构建中可以将用户信息用独热编码标识,通过多位状态寄存器对多个状态进行编码,将类别状态转化为机器学习算法中容易处理的形式。这里,由于用独热编码标识的方式使得在任意时候只有一位编码有效,可以在应答语句生成时根据用户身份过滤掉不合适的回答,提高生成应答语句的效率。
还需要说明的是,由于需要根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正。那么,除了构建用户信息表,还需要构建存储有第一历史对话记录、第二历史对话记录的全局对话记录表,通过查询对话记录来修正第一应答语句,进而生成针对不同用户特点、令用户满意的第二应答语句。
所述全局对话记录表的建立可以是:先查询用户信息表,找到第一用户的历史对话记录,这里,可以用第一历史对话记录来表征第一用户的历史对话记录。其次,找到与第一用户属性特征相同的用户;这里,为了便于表示,用“第二用户”来代表与第一用户属性特征相同的用户;所述第二用户可以有多个。在找到第二用户后,查询第二用户的第二历史对话记录,所述第二历史对话记录中包含与所述第一用户输入的请求信息相关联的对话信息;根据查询的第一历史对话记录、第二历史对话记录,构建全局对话记录表。
需要说明的是,在实际应用中,如果请求信息是关于具体词义的解释,可以将百度百科、维基百科等查询到的关于词义的解释的网址页面发送给用户终端侧;或者需要使用哪个应用,也可以将所述应用发送给用户终端。即,可能存在需要调用第三方服务的情况。基于此,所述方法还可以包括:基于所述第一用户的意图,判断是否需要调用第三方服务;确定需要调用第三方服务,向所述第一用户的终端发送第三方服务的链接。
还需要说明的是,当用户带着明确的目的,如订餐、订票等进行对话时,由于用户需求比较复杂,会存在很多限制条件,可能需要分多轮进行陈述:一方面,用户在对话过程中可以不断修改或完善自己的需求;另一方面,当用户的陈述的需求不够具体或明确的时候,服务器也可以通过询问、澄清或确认来帮助用户找到满意的结果。
还需要说明的是,所述服务器中还可以预存有知识库,所述知识库的存在可以是针对一些事实类的问题,如“谁是美国总统”等。这里,基于知识库的问答是一个语义匹配的过程,通过表示学习知识库以及用户的语义表示,将知识库中的实体、关系转化为一个低维语义空间中的数值向量,利用数值计算,直接匹配与问句语义最相似的答案。
所述服务器中还可以预存有常见问题库,即把用户经常问的问题及答案保存起来,当用户的提问为常见问题时,可以直接在常见问题库中搜索答案。
这里,所述常见问题库是指存储的问题是无关用户身份、情绪、心理等的问题,即所有用户都适用的问题。例如,当接收的请求信息为“你好”,则可以回复“您好”;将请求信息“你好”、答案“您好”设置为常见问题库中用户经常问的问题及答案。
如此,在接收请求信息后,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句后,可以通过第一用户的个人信息和/或与第一用户属性特征相同的用户的第二历史对话记录修正后,得到适应第一用户身份、适应当前场景的第二应答语句,使得用户得到满意的答案。
本发明实施例提供一种对话方法,该对话方法应用于服务器侧,图3为本发明实施例提供的一种对话方法的实现流程示意图二,如图3所示,该方法主要包括以下步骤:
步骤301,接收请求信息,所述请求信息包括:文本信息、语音信息等。
需要说明的是,当所述服务器内安装并运行有对话程序,且所述对话程序处于运行中时,可以通过所述服务器的交互界面直接接收用户输入的请求信息。或者,当用户通过所述服务器连接的其他系统(如网络控制系统)、其他终端设备(如PC端、移动终端)等进行请求信息输入时,所述服务器可以接收到由所述网络控制系统、所述终端设备获取的用户的请求信息。
步骤302,基于接收的请求信息,获取第一用户的身份信息,基于第一用户的身份信息,构建用户信息表。
需要说明的是,用户身份信息的获取可以是第一用户自己提供,还可以是和其他平台共享获得。用户自己提供可以是在对话软件首次运行时,进行了用户身份注册,由此获取身份信息;其他平台共享可以是某一平台存储有一部分用户的身份信息,当获得相应的权限后,可以调用相应的接口直接获取用户的身份信息。
步骤303,查找第一用户的第一历史对话记录。
需要说明的是,如果第一用户是第一次使用此对话系统,则不需要进行此步骤。如果第一用户已经使用过多次此对话系统,那么可以从数据库中的历史对话存储列表中找到第一用户的第一历史对话记录。所述第一历史对话记录包含所述第一用户进行的全部对话信息。
步骤304,查找与第一用户属性特征相同的用户,找到第二历史对话记录。
需要说明的是,所述与第一用户属性特征相同的用户可以是户国籍、爱好、地域、家庭背景等因素相同的用户。在服务器侧已有的数据库中,或者其他平台上找到符合这些因素的用户后,进一步在服务器侧的数据库中查找是否存在所述符合这些因素的用户的历史对话信息,如果存在,则认为找到了第二历史对话记录;如果不存在,则不需要进行此步骤。
这里,还需要说明的是,当在服务器侧已有的数据库中没有找到符合这些因素的用户,但是在其他平台上找到了符合这些因素的用户后,可以继续在该平台上查找是否有该用户的其他特征信息,例如,偏好信息;如果能找到该用户的偏好信息,则将查询到的该用户的特征信息写入服务器侧的数据库中,以方便后续使用。
需要说明的是,步骤303、304并无明显的先后顺序。
步骤305,基于找到的第一历史对话记录和第二历史对话记录,构建全局对话记录表;
需要说明的是,由第一用户的第一历史对话记录、与第一用户属性特征相同的用户的第二历史对话记录,即可构建全局对话记录表;通过查询对话记录来修正第一应答语句,进而生成针对不同用户特点、令用户满意的第二应答语句。
步骤306,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句;
需要说明的是,所述第一应答语句是根据用户的意图初步生成的应答语句。具体实现可以是:对请求信息进行关键词的提取、语义分析后,先确定出提问的领域,判定用户谈论的是什么领域的事情;在确定出提问的领域后,对所述请求信息进行意图识别,识别用户话语的目的;在识别出用户话语的目的后,用某种检索算法去检索,得到一定数量的候选答案,可以通过设置权重来选择概率最大的候选答案作为最终答案,所述最终答案即为第一应答语句。
需要说明的是,步骤306也可以在步骤302之前。
步骤307,根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句。
需要说明的是,可以是仅根据第一用户的个人信息对第一应答语句进行修正,得到第二应答语句;还可以是仅根据与第一用户属性特征相同的用户的第二历史对话记录对第一应答语句进行修正,得到第二应答语句;或者,结合第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录一起对第一应答语句进行修正,得到第二应答语句。
如果第一用户在之前就相同或者类似的问题询问过对话系统,那么可以通过记录的对话信息,给出建议,修正第一应答语句。除此之外,所述与第一用户属性特征相同的用户的历史对话记录也同样具有借鉴作用,可以对回答提供一些建议。
步骤308,发送第二应答语句。
如此,在接收请求信息后,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句后,可以通过第一用户的个人信息和/或与第一用户属性特征相同的用户的第二历史对话记录修正后,得到适应第一用户身份、适应当前场景的第二应答语句,使得用户得到满意的答案。
基于上述实施例的同一发明构思,本发明实施例提供一种服务器,图4为本发明实施例提供的一种服务器400的结构示意图,如图4所示,所述服务器400包括:接收单元401、第一语句生成单元402、第二语句生成单元403、发送单元404;其中,
所述接收单元401,用于接收请求信息;
所述第一语句生成单元402,用于基于接收的请求信息,确定所述请求信息对应的第一用户的意图,根据确定的第一用户的意图,生成第一应答语句;
所述第二语句生成单元403,用于根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;
所述发送单元404,用于发送所述第二应答语句。
需要说明的是,所述第一语句生成单元402,包括:解析单元4021、第一确定单元4022;其中,
所述解析单元4021,用于对所述请求信息进行解析,得到解析结果;其中,所述解析结果包括:所述第一用户的目标需求领域、所述第一用户的目标应答类型、所述第一用户的目标语义类别;
所述第一确定单元4022,用于基于解析结果,确定所述请求信息对应的第一用户的意图。
需要说明的是,所述第二语句生成单元403,包括:第二确定单元4031、第二语句生成子单元4032;其中,
所述第二确定单元4031,用于根据所述第一用户的身份信息以及第一历史对话记录,确定第一用户的属性特征;
所述第二语句生成字单元4032,用于基于所述第一用户的属性特征、所述第二历史对话记录中与所述第一用户输入的请求信息相关联的对话信息至少之一,对所述第一应答语句进行修正,得到第二应答语句。
需要说明的是,所述服务器400还包括:构建单元405;其中,所述构建单元405,用于在根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正之前,获取第一用户的身份信息、第一历史对话记录以及第二历史对话记录;基于所述第一用户的身份信息,构建用户信息表;基于所述第一历史对话记录、第二历史对话记录,构建全局对话记录表。
需要说明的是,所述服务器400还包括:调用单元406;其中,
所述调用单元406,用于基于所述第一用户的意图,判断是否需要调用第三方服务;确定需要调用第三方服务,向所述第一用户的终端发送第三方服务的链接。
还需要说明的是,由于所述服务器400解决问题的原理与前述应用于服务器侧的对话方法相似,因此,所述服务器400的具体实施过程及实施原理均可以参见前述方法和实施过程,重复之处不再赘述。
如此,所述服务器400在接收请求信息后,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句后,可以通过第一用户的个人信息和/或与第一用户属性特征相同的用户的第二历史对话记录修正后,得到适应第一用户身份、适应当前场景的第二应答语句,使得用户得到满意的答案。
基于上述实施例的服务器,本发明实施例还提供一种包括上述服务器的对话系统,如图5所示为本发明实施例提供的一种对话系统的结构示意图,所述对话系统500,包括:上述服务器501,所述服务器501的组成结构以及功能原理,与图4所述的结构或原理相同。
所述对话系统500还包括:终端502;所述终端502包括:至少一种输入设备;
所述输入设备用于获取第一用户的自然语言信息,将所述自然语言信息转换成请求信息,发送给所述服务器501。
需要说明的是,当用户通过移动终端输入信息时,所述移动终端的输入设备接收第一用户的自然语言信息,将自然语言信息转换成请求信息,发送给服务器。
还需要说明的是,当用户通过移动终端输入语音信息时,所述移动终端识别所述语音信息,将所述语音信息解析转换成文本信息,再发送至服务器侧进行处理;还可以是,所述移动终端获取所述语音信息后,直接发送到服务器侧,由服务器侧解析转换成文本信息,再进行处理;或者,还可以是,所述移动终端获取所述语音信息后,直接发送到服务器侧,所述服务器直接对语音信息进行处理后,生成应答语句发送给移动终端,此时移动终端输出的应答语句也同样为语音信息。
如此,通过所述终端与服务器的交互,可以实现智能化的对话;终端的输入设备在获取第一用户的自然语言信息后,将其发送给服务器侧,服务器在接收请求信息后,基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句后,可以通过第一用户的个人信息和/或与第一用户属性特征相同的用户的第二历史对话记录修正后,得到适应第一用户身份、适应当前场景的第二应答语句,使得用户得到满意的答案。
在本发明实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本发明实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现上述实施例所述的步骤。
参见图6,示出了本发明实施例提供的一种服务器600的具体硬件结构,包括:网络接口601、存储器602和处理器603;各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种对话方法,应用于服务器侧,其特征在于,所述方法包括:
接收请求信息;
基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句;
根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;
发送所述第二应答语句。
2.根据权利要求1所述的方法,其特征在于,所述基于接收的请求信息,确定所述请求信息对应的第一用户的意图,包括:
对所述请求信息进行解析,得到解析结果;其中,所述解析结果包括:所述第一用户的目标需求领域、所述第一用户的目标应答类型、所述第一用户的目标语义类别;
基于解析结果,确定所述请求信息对应的第一用户的意图。
3.根据权利要求1所述的方法,其特征在于,所述根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句,包括:
根据所述第一用户的身份信息以及第一历史对话记录,确定第一用户的属性特征;
基于所述第一用户的属性特征、所述第二历史对话记录中与所述第一用户输入的请求信息相关联的对话信息至少之一,对所述第一应答语句进行修正,得到第二应答语句。
4.根据权利要求1所述的方法,其特征在于,所述根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正之前,所述方法还包括:
获取第一用户的身份信息、第一历史对话记录以及第二历史对话记录;
基于所述第一用户的身份信息,构建用户信息表;
基于所述第一历史对话记录、第二历史对话记录,构建全局对话记录表。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一用户的意图,判断是否需要调用第三方服务;
确定需要调用第三方服务,向所述第一用户的终端发送第三方服务的链接。
6.一种服务器,其特征在于,所述服务器包括:接收单元、第一语句生成单元、第二语句生成单元、发送单元;其中
所述接收单元,用于接收请求信息;
所述第一语句生成单元,用于基于接收的请求信息,确定所述请求信息对应的第一用户的意图,依据所述意图,生成第一应答语句;
所述第二语句生成单元,用于根据第一用户的个人信息、与第一用户属性特征相同的用户的第二历史对话记录至少之一,对所述第一应答语句进行修正,得到第二应答语句;其中,所述第一用户的个人信息包括:身份信息、第一历史对话记录;
所述发送单元,用于发送所述第二应答语句。
7.根据权利要求6所述的服务器,其特征在于,所述第二语句生成单元,包括:第二确定单元、第二语句生成子单元;其中,
所述第二确定单元,用于根据所述第一用户的身份信息以及第一历史对话记录,确定第一用户的属性特征;
所述第二语句生成子单元,用于基于所述第一用户的属性特征、所述第二历史对话记录中与所述第一用户输入的请求信息相关联的对话信息至少之一,对所述第一应答语句进行修正,得到第二应答语句。
8.一种对话系统,其特征在于,所述系统包括:如权利要求6或7所述的服务器以及终端;其中,
所述终端包括:至少一种输入设备;
所述输入设备用于获取第一用户的自然语言信息,将所述自然语言信息转换成请求信息,发送给所述服务器。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
10.一种服务器,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631991.6A CN110457454A (zh) | 2019-07-12 | 2019-07-12 | 一种对话方法、服务器、对话系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631991.6A CN110457454A (zh) | 2019-07-12 | 2019-07-12 | 一种对话方法、服务器、对话系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110457454A true CN110457454A (zh) | 2019-11-15 |
Family
ID=68481188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910631991.6A Pending CN110457454A (zh) | 2019-07-12 | 2019-07-12 | 一种对话方法、服务器、对话系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457454A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132214A (zh) * | 2019-12-31 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 一种对话方法、装置、服务器及存储介质 |
CN113157878A (zh) * | 2021-03-22 | 2021-07-23 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN113486159A (zh) * | 2020-03-17 | 2021-10-08 | 东芝泰格有限公司 | 信息处理装置、信息处理系统及存储介质 |
CN113569029A (zh) * | 2021-07-28 | 2021-10-29 | 北京小米移动软件有限公司 | 对话应答方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2787351A1 (en) * | 2010-01-18 | 2011-07-21 | Apple Inc. | Personalized vocabulary for digital assistant |
CN105335400A (zh) * | 2014-07-22 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 针对用户的提问意图获取答案信息的方法及装置 |
CN106095950A (zh) * | 2016-06-14 | 2016-11-09 | 中国科学院自动化研究所 | 一种人机对话中教授意图答案生成方法 |
CN106776936A (zh) * | 2016-12-01 | 2017-05-31 | 上海智臻智能网络科技股份有限公司 | 智能交互方法和系统 |
US20180285752A1 (en) * | 2017-03-31 | 2018-10-04 | Samsung Electronics Co., Ltd. | Method for providing information and electronic device supporting the same |
CN109165287A (zh) * | 2018-09-10 | 2019-01-08 | 蛋壳机器人科技(天津)有限公司 | 基于机器人的信息自动筛选回复方法 |
-
2019
- 2019-07-12 CN CN201910631991.6A patent/CN110457454A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2787351A1 (en) * | 2010-01-18 | 2011-07-21 | Apple Inc. | Personalized vocabulary for digital assistant |
CN105335400A (zh) * | 2014-07-22 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 针对用户的提问意图获取答案信息的方法及装置 |
CN106095950A (zh) * | 2016-06-14 | 2016-11-09 | 中国科学院自动化研究所 | 一种人机对话中教授意图答案生成方法 |
CN106776936A (zh) * | 2016-12-01 | 2017-05-31 | 上海智臻智能网络科技股份有限公司 | 智能交互方法和系统 |
US20180285752A1 (en) * | 2017-03-31 | 2018-10-04 | Samsung Electronics Co., Ltd. | Method for providing information and electronic device supporting the same |
CN109165287A (zh) * | 2018-09-10 | 2019-01-08 | 蛋壳机器人科技(天津)有限公司 | 基于机器人的信息自动筛选回复方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132214A (zh) * | 2019-12-31 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 一种对话方法、装置、服务器及存储介质 |
CN113132214B (zh) * | 2019-12-31 | 2023-07-18 | 深圳市优必选科技股份有限公司 | 一种对话方法、装置、服务器及存储介质 |
CN113486159A (zh) * | 2020-03-17 | 2021-10-08 | 东芝泰格有限公司 | 信息处理装置、信息处理系统及存储介质 |
CN113157878A (zh) * | 2021-03-22 | 2021-07-23 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN113569029A (zh) * | 2021-07-28 | 2021-10-29 | 北京小米移动软件有限公司 | 对话应答方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765244B (zh) | 获取应答话术的方法、装置、计算机设备及存储介质 | |
CN108536852B (zh) | 问答交互方法和装置、计算机设备及计算机可读存储介质 | |
CN107636648B (zh) | 基于情绪标识来构造响应 | |
KR101883185B1 (ko) | 머신러닝을 활용한 정해진 시나리오로 고객과 상담하는 로봇 자동 상담 방법 및 시스템 | |
CN110457454A (zh) | 一种对话方法、服务器、对话系统及存储介质 | |
CN111625632A (zh) | 一种问答对推荐方法、装置、设备及存储介质 | |
CN104137102A (zh) | 非事实型询问应答系统以及计算机程序 | |
US10586174B2 (en) | Methods and systems for finding and ranking entities in a domain specific system | |
CN113360622B (zh) | 用户对话信息的处理方法、装置及计算机设备 | |
CN108268450B (zh) | 用于生成信息的方法和装置 | |
CN113076423A (zh) | 数据处理方法及装置、数据查询方法及装置 | |
CN111611358A (zh) | 信息交互方法、装置、电子设备及存储介质 | |
CA3147634A1 (en) | Method and apparatus for analyzing sales conversation based on voice recognition | |
WO2020139865A1 (en) | Systems and methods for improved automated conversations | |
CN111639162A (zh) | 信息交互方法和装置、电子设备和存储介质 | |
CN112579733B (zh) | 规则匹配方法、规则匹配装置、存储介质及电子设备 | |
CN111353026A (zh) | 一种智能法务律师助手客服系统 | |
CN113051389B (zh) | 知识推送方法及装置 | |
CN110246494A (zh) | 基于语音识别的服务请求方法、装置及计算机设备 | |
CN110633410A (zh) | 信息处理方法及装置、存储介质、电子装置 | |
CN113297365A (zh) | 一种用户意向判定方法、装置、设备及存储介质 | |
CN110377706B (zh) | 基于深度学习的搜索语句挖掘方法及设备 | |
CN110377803B (zh) | 信息处理方法以及装置 | |
CN111949777A (zh) | 一种基于人群分类的智能语音对话方法、装置及电子设备 | |
CN114519094A (zh) | 基于随机状态的话术推荐方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191115 |