CN110059169A - 基于语料标注的智能机器人聊天上下文实现方法及系统 - Google Patents

基于语料标注的智能机器人聊天上下文实现方法及系统 Download PDF

Info

Publication number
CN110059169A
CN110059169A CN201910072296.0A CN201910072296A CN110059169A CN 110059169 A CN110059169 A CN 110059169A CN 201910072296 A CN201910072296 A CN 201910072296A CN 110059169 A CN110059169 A CN 110059169A
Authority
CN
China
Prior art keywords
corpus
chat
information
training
context
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
CN201910072296.0A
Other languages
English (en)
Other versions
CN110059169B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201910072296.0A priority Critical patent/CN110059169B/zh
Publication of CN110059169A publication Critical patent/CN110059169A/zh
Application granted granted Critical
Publication of CN110059169B publication Critical patent/CN110059169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

本发明公开了一种智能机器人聊天中上下文信息传递的有效方法及系统。本方法可帮助聊天机器人实现精准的多轮对话。它通过模仿人类对话过程,在聊天的每一轮实时更新系统中存储的上下文信息。聊天的当轮输入,在合适的条件下,加上当前的上文信息,将产生指令,即软件可以执行的函数及参数,使得系统在产生当轮回复同时,同步更新以下聊天可能用到的上文信息。本方法通过标注一定量的训练数据,即更改部分训练语料,显式地指示深度神经网络模型,当用户提问,机器人回复,以及上文信息如此时,该如何应答并保留何种上文信息。本发明提供了很多实用的数据标注方案,及使用此类标注语料的方法。同时还提供了一些样品应用场景及相关的技术细节。

Description

基于语料标注的智能机器人聊天上下文实现方法及系统
技术领域
本发明属于智能聊天机器人领域,尤其涉及一种基于语料标注的智能机器人聊天上下文实现方法及系统。
背景技术
近些年来,人工智能技术不断成熟,尤其是深度学习技术不断发展,聊天机器人的开发和使用也逐步流行起来。理论上讲,聊天机器人不仅可以与人类实现情感的交流,还可以被广泛应用在各种客服系统和咨询系统,大量地节省人力资源,提高工作效率。
聊天机器人的实现方法很多,有早期的完全基于规则的,后来的基于查询或检索的,再后来基于深度学习模型的生成式的。但无论是哪种方式实现的聊天机器人,类似人类交流中的上下文信息的捕捉和传递都是当前该领域的一个难题。因为无法解决这个问题,很多聊天机器人就变成了一个简单的问答系统,无法有效且精准地实现多轮对话。
当然,学术界和工业界也尝试了很多解决此问题的思路和方法,比如记忆网络,比如基于关键词提取实现的粗线话题跟踪,比如基于实体槽位填充的对话管理器,比如基于强化学习的上下文组合决策器,再比如在模型训练和推理时使用固定的轮数等等。这些方法通常存在下述一个或多个问题:
(1)由于没有显式的上下文信息训练,模型对于上下文信息把握的精准度很低;
(2)很多提供多轮对话功能的系统仅仅能够知道当前的主话题,比如知道是在聊饮食,情感,或游戏,但无法结合当前的用户问题或陈述准确地去交流;
(3)基于槽位填充的对话管理方法中的多轮对话完全局限于预设的规则,无法适应用户聊天中规则之外的提问;
(4)固定轮数的方法也在很大程度上靠运气,因为现实场景的交流有单轮,两轮,三轮,或更多轮的;
(5)在训练时,随着多轮对话轮数的增多,对于训练语料数量的需求呈现指数式的增长,对模型的大小及计算力也提出非常高的要求,在模型推理时的计算复杂度也会不可控制;
(6)对于很多聊天系统,即使发现了某个特定场景下的对话很不满意,也很难有针对性地去优化,所谓牵一发而动全身。
另外,一些对话系统在面对多变的用户表达方式,且需要输出复杂的回复时,比如回复需调用其他模型,访问后台知识库,或查询网络,并输出多媒体信息时,现有的方法,比如通过关键词检索等,也难以准确地领会用户意图,产生理想的回复。
发明内容
发明目的:针对以上问题,本发明提出一种基于语料标注的智能机器人聊天上下文实现方法及系统,它能够使聊天系统在多轮对话中准确捕捉并传递上下文信息,从而给出优质回复。本发明的另一个目的是提供一种用于深度学习训练语料的标注方法和模型训练方法,可以有效提高聊天的单轮和多轮对话的回复质量。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于语料标注的智能机器人聊天上下文实现方法,该方法包括如下步骤:
(1)用自定义的标签字符来表示聊天中上下文传递所需的规则,并采用所述标签字符和自然语言来标注语料形成训练数据集;
(2)将上述训练数据集输入神经网络模型进行训练;
(3)上述训练好的神经网络模型接收用户输入,对神经网络模型输出的自定义标签字符进行解析,运行其对应的规则,存储或提取上文信息,进行智能聊天。
进一步的,步骤(1)中,以语料中的单轮对话为独立的标注单位,通过显式地修改对话的上句和/或下句来嵌入自定义的标签字符和/或自然语言,来描述上下文信息的传递规则。
进一步的,步骤(1)中的语料标注包括,针对不同应用场景,设计合适的上下文组合机制,相应地修改训练语料来描述聊天中所需的上下文信息,使得模型在训练和推理时所需处理的输入输出之间的映射关系保持一致。
进一步的,步骤(1)中的语料标注包括,利用自然语言中存在的内在逻辑关系或文字的机械关联,预设可能问题答案,简化标注过程。
进一步的,步骤(1)中的语料标注包括,抽样标注上下文组合无效的训练语料,保持该类语料上句自定义标签部分不变,其它部分随机变化,而语料下句统一回复,标识此类语料中展示的上下文组合无效。
进一步的,步骤(2)中,将上述训练数据集输入到神经网络模型中进行训练前,针对语料内容将语料分为若干个等级,级别越高,语料越重要;并且根据下句回复的字符数定义多级阈值,依此将语料分为不同长度等级的回复;基于此两类语料分级,将上述训练数据集输入神经网络模型进行差异化的训练,具体可以选择如下方法的一种或多种组合进行:
(2.1)重复两次或多次上述重要语料,即让被重复的语料在一个训练周期中出现两次或多次;
(2.2)根据回复的长度等级,相应修改模型训练所用的损失函数,设置等级越高的回复权重越大;
(2.3)修改模型训练所用的损失函数,增大标注语料的损失权重,重点学习标注过的语料。
进一步的,步骤(3)中,由训练好的神经网络模型实现智能聊天时,基于设计所对应的应用场景,上下文信息组合有以下两种方式:
(a)基于给定的上文信息,当用户输入一个语句,即一个问题或陈述时,直接组合该输入和当前上文信息,然后将组合后的信息输入训练好的神经网络模型,产生输出;
(b)当用户输入一个语句时,它被直接输入模型,产生输出,只有该输出指示本用户语句需要上文信息时,才尝试提取并组合上文信息,然后再次将组合后的信息输入训练好的神经网络模型,产生输出。
进一步的,步骤(3)中,由训练好的神经网络模型进行智能聊天时,对不同语料标注方案产生的上文信息设定不同的有效期,并在每轮聊天的前后实时更新上下文,从而让上下文信息的存在处于合理的可控范围内,并能在错误发生时及时纠正。
而且,本发明还公开了一种计算机存储介质,该计算机存储介质上存储执行上述基于语料标注的智能机器人聊天上下文实现方法的程序。
此外,本发明还公开了一种基于语料标注的智能机器人聊天上下文实现系统,该系统包括如下模块:
语料标注模块,用自定义的标签字符来表示聊天中上下文传递所需的规则,并采用所述标签字符和自然语言来标注语料形成训练数据集;
神经网络训练模块,用于将上述训练数据集输入神经网络模型进行训练;
智能聊天模块,上述训练好的神经网络模型接收用户输入,对神经网络模型输出的自定义标签字符进行解析,运行其对应的规则,存储或提取上文信息,进行智能聊天。
有益效果:与现有技术相比,本发明的技术方案具以下有益技术效果:
1、本发明允许开发人员将很多复杂的规则嵌入深度学习模型的训练数据,使得指令函数可以多方位地融入自然语言,所以(1)用户问题或陈述的理解交由模型来解决,这就不存在传统纯规则方法的复杂的语法和词法分析的难度,也没有它们在用户语义理解上的局限,在规则的结合和使用上也更加方便自由,便于拓展;(2)在机器人输出上不受纯模型方法的诸多限制:比如序列长度,输出内容的形式和复杂度的限制;比如不便输出图像、音频、视频等;比如不易于调用其他模型,需查询后台数据库,需链接网络查询实时新闻等资讯。
2、本发明使用开发过程中人为标注的上文信息或预设回复,所以在上文信息的提取上优于一切现有的其他方法,回复上也更精准。在数据复杂度上,也不会因为多轮对话轮数的增加而需要训练数据量指数级地增长,这也极大地减小了聊天系统对模型和计算力的需求。
3、本发明提出的判断上下文组合是否有效的方法,巧妙地利用了深度学习模型在训练中的特性,不局限于单纯使用模型自信度的输出,极大地提高了判断的准确性。
4、本发明在本人自创的上下文组合方法基础上,还允许很多其他样例的对话预设回复,不但方便了标注,而且允许上文信息被长距离地准确传递到下文的聊天中。
5、本发明对聊天系统中的除上下文之外的很多相关问题,也给出了一些建设性的思路,比如负面样本训练的作用等。
附图说明
图1为本发明基于语料标注方法的聊天系统在聊天过程中的数据输入和输出流程图;
图2为本发明基于语料标注方法可以实现的聊天效果样品图;
图3为本发明基于语料标注方法可以实现的聊天效果样品图;
图4为本发明基于语料标注方法可以实现的聊天效果样品图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
图1描述了本聊天系统中方法流程,也即一个训练好的模型在推理时的数据输入和输出流程。系统的聊天过程是基于模型推理并解析运行推理产生的规则来完成的。流程中的每一步,比如是否需要先组合,是否需要后组合,组合是否合理等等,都是模型通过在一个部分标注了的数据集上训练而学习到的。标注数据的目的是将种类繁多的规则通过训练数据有机地集成到神经网络模型中。这样的效果是既可以利用模型的模糊识别和匹配能力,又能够结合规则的强大功能来弥补单纯使用模型的不足。在本发明中,集成的规则被软件系统进一步地用来精准地传递聊天中的上下文信息。
本发明利用了很多神经网络模型的特性,但技术的重心在于训练数据而非网络模型本身。这个出发点不同于主流媒体对于大数据的宣传和认知。在此方法中,深度学习的网络模型仅仅用于学习单轮对话中一种输入和输出之间的映射关系,这种映射关系本身描述的不完全是自然语言本身,而是一种扩展了的数据集。该集合除了包含了用户所关心的本语言的字符,比如汉字,标点,少量常用外来语等,以及模型训练的常见辅助字符,比如未知标识字符,句首标识,句末标识字符,还引入了用于表达规则的软件函数标签,函数参数标签,函数条件标签,实体替代标签,上下文组合符,辅助训练符等众多的自定义标签。
根据具体的应用,现有基础数据集的大小,目标系统的预期效果,以及工程的预期投入,标注的数据比例可以选择在总数据集的2%至15%之间。当然,在合理标注的前提下,标注的数据量越大,最终系统的效果就会越好。
下面分类说明标注可选方案,并针对不同的标注方案描述相应的模型推理流程,从而说明如何将规则有效地集成到模型中,并继而准确地在聊天过程中传递上下文信息。
在以下的方法和系统描述中,我们将以中文为例。但本方法不局限于中文聊天应用,它可以被应用到其他自然语言,比如英语、法语、西班牙语等。在描述中,假设上句Q:为客户所说,客户为人类或其他机器人;而下句A:为本聊天机器人产生的回复。描述中列举的样品数量有限,它们只为说明问题,具体标注时需考虑自然语言的多种变化及随意性,在重要场景下尽可能多地标注不同的语料。当然,由于更大量的基础语料的融入,模型可以学习到更多的语言变化。
训练语料的标注方案很多,这里先讲述一些备选的常用方案,在理解了这些方案后,不难根据自己具体的应用需求,发掘适合的其他标注方案。
这里要详细描述的基本方案分为三类,在基本方案之外,还有一系列的便捷方案,这些方案可以被混合使用。在可以使用便捷方案时,应优先使用便捷方案;如果不适合,或在聊天中找不到便捷方案所需的上文信息,还可以切换到基本方案。
根据基本方案的不同,系统在模型推理时,也即训练后的聊天过程中,将尝试上下文信息的先组合和后组合,请参看图1描述的数据流程。
先组合指的是基于给定的上文信息,当对方输入一个语句,即一个问题或陈述时,系统将试图直接组合本次输入和当前上文信息,然后将组合后的信息输入训练好的神经网络模型,产生输出。
后组合指的是,当系统接收到一个用户语句时,它被直接输入模型,产生输出。只有该输出指示本用户语句需要上文信息时,系统才尝试提取并组合上文信息,然后再次将组合后的信息输入训练好的神经网络模型,产生输出。
无论是先组合还是后组合,模型在产生单轮回复时所需的推理最多为两次,而两次的最优结果将被视为最终输出。这两次输出的比较结果也将影响后续的上下文组合决策。
标注前的准备:设计系统所需的指令标签和信息标签
在开始对训练数据标注前,应根据系统需求统一设计标注中所需的标签。标签通常分为两类:指令标签和信息标签。它们都是自定义的保留字符。
指令标签的命名一般需要遵循一个自定义的规范,比如名字可以以下划线开始并保留一个类别标识部分,再包含一个函数名部分,在有些情况下,还可以包括一个或多个该函数的参数部分。指令标签中的函数参数可以和函数名出现在同一个保留字中,也可以用不同的保留字来表示。在聊天时,指令标签指示系统调用手工实现的对应软件函数,这些函数在运行后有些会改变系统状态,有些会产生字符输出给最终用户,有些既改变状态又产生输出。
信息标签的命名相对自由,因为它们仅仅被用来表示某些特定的系统状态、条件等,而不需要指示系统去运行某些代码。使用信息标签而非单纯的自然语言不但可以简化标注过程,更重要的是它会让模型在训练中学到这些特定的状态和条件,从而在推理时能够更有效地区别并利用这些状态和条件。
自定义标签的设计和命名应该参考自己的软件系统,系统使用的程序语言命名习惯等一系列因素。
需要注意的是,设计的标签必须在整个标注过程中严格保持一致的语义和用法。只有这样,模型才可以通过训练,学习到这些标签的确切含义并在推理时正确使用它们。
在具体标注中,有些标签需要辅以自然语言来一起工作。这个因素需要在标签的设计中同时被考虑。除非是直接用于最终用户输出,其他在标注中用于传递上下文信息的自然语言应该尽可能简洁准确,这样可以优化系统的最终效果。这些用于传递信息的自然语言将被当作单纯的字符串使用到相关的标注过程。在模型推理过程中,这些自然语言本身或语义相同、相近的自然语言,也将期望被输出,而推理的程序代码也同样把它们当作普通的字符串来处理,不需涉及任何智能算法。如果由于模型的大量数据学习和训练导致在推理时的输出不同于原本标注的自然语言,只要模型得到了合理的训练,那它输出的新的自然语言字符串同样可以有效地引导下面的聊天过程,因为训练后的模型已经认为原标注的内容和它输出的内容语义一致,所以这种字符的更改不会影响上下文信息的精准传递。
基本方案一:标注重要聊天过程的开始和结束
这种情况通常表示一个持续的特定场景,在该场景中,聊天机器人自身或者交谈对方的身份可能发生暂时性改变,或者聊天内容具有了该场景下的特殊含义。比如一个给老年人服务的情感机器人可能时常会需要模拟老人客户的孩子来跟老人聊天,此时机器人的本体身份发生改变;比如家庭助手被要求来给餐厅电话订餐,此时机器人的交谈对象会暂时改变为餐厅工作人员;再比如闲聊机器人被用户提议来玩一个游戏,像成语接龙,此时虽然交谈的双方身份没有改变,但在此语境中,所有的聊天内容将不能当作常规语境的对话来理解或处理。
此类的标注需要给出:
(1)本过程开始的常用对话样本。这些样本的下句中不但需要给出常规的回复,通常是自然语言的形式,还需要添加合适的指令标签,必要时还可以辅以简短的自然语言,用来标识该过程。在推理中,输出的指令标签将指示系统存储该聊天过程的标识,直到本次聊天过程结束,这种标识才从系统中清除。该过程标识将成为这里仅有的上文信息。如果下述聊天需要其他类别的上文信息,则新的上文信息需在下述(2)中另行标注。
(2)该场景中常见的对话样本。这些样本的上句中需要插入标识本过程的信息标签,根据具体系统需求,也可以在下句中添加合适的指令标签,比如累计该聊天过程的进展步数,虽然这不是必须的。
(3)本过程结束的常用对话样本。这些样本的上句中同样需要插入标识本过程的信息标签,下句还需要添加合适的指令标签,用来标注该过程的结束。
在聊天中,这种场景需要利用标注的该过程标识进行先组合,只有在用户要求该过程结束或其他结束条件满足时,才终止该先组合。
例如,某聊天系统计划支持机器人扮演某些特定角色,比如用户的女友。那么就可以尝试对下列训练语句进行标注:
Q:你可以为我扮演我女朋友吗?
A:好啊,听起来蛮有意思的。那我现在就是你女友了,哈哈。【指令标签-扮演开始:我女友】
Q:【信息标签-扮演:我女友】你喜欢我吗?
A:亲爱的,我当然喜欢你啦。不喜欢你,我会答应做你女朋友吗?
Q:【信息标签-扮演:我女友】我帅吗?
A:帅啊,太帅了,简直无法用言语来表达。我男友那就是世上少有的美男子啊。
Q:【信息标签-扮演:我女友】不玩了,一点也不好玩,你还笑话我。
A:好吧,我没有笑话你的意思,我只是想尽可能模仿得像一点。【指令标签-扮演结束】
在上述给出的样品训练语句中,方框中的标签部分可以根据自己系统需求具体设计。在聊天时,模型输出的指令标签被解析后,将指示系统执行对应的软件函数。比如,“指令标签-扮演开始”将指示系统一个扮演过程将开始,而扮演的角色则由自然语言来描述:“我女友”。所以从下一轮对话开始,机器人的身份将转变为用户的女友,对应地,系统则开始在聊天的上句中插入相应的信息标签,以让模型有效地区别对待此语境中的用户输入和普通语境中的用户输入,所述上句指的用户陈述或提问。再比如,“指令标签-扮演结束”则告知系统,机器人将恢复其本来身份,对应地,系统则停止在聊天的上句中插入相应的信息标签。
基本方案二:标注期待的用户回复
这种场景主要产生于机器人询问对方具体信息时,这使紧接着的用户回复成为下轮对话的带有实体的上句。比如用户在下列场景下的回复:机器人询问对方姓名,客服机器人询问对方账户信息,订票机器人询问对方出发地、目的地等。尤其是用户的回复常常不再描述这些实体是关于哪方面的,聊天系统必须从上文中获取相关信息。由于用户提供相关信息是大概率的,所以应该尝试先组合。
此类语料的标注应该:
(1)在机器提问后,即该轮对话的下句,添加指令标签,标注系统在期待何种信息。
(2)针对用户回复即下一轮对话的上句,在其中插入相关的信息标签,标注系统期待信息的类别,比如是期待用户名,期待机票出发机场等;而下句则必须添加指令标签,用来标注该用户回复是提供了所需的信息,还是拒绝提供。
例如下述聊天中的常见场景。这里的某某某应为系统的机器人名:
Q:你好,你叫什么?
A:你好,我叫某某某。也可以请教您的尊姓大名吗?【指令标签-期待:用户姓名】
Q:【信息标签-期待:用户姓名】好的,邵勃
A:很高兴认识你,邵勃。【指令标签-提取并存储用户姓名】
Q:【信息标签-期待:用户姓名】不说可以吗?
A:那是当然,完全理解。【指令标签-用户拒绝提供姓名】
这里用户姓名是一种有无限多可能变化的实体,而实体的提取也是聊天系统的一个挑战,实现的方法很多,比如在标注中也可以指示系统使用实体识别模型。但这不在本发明范围内,所以不在此赘述。
基本方案三:标注其他重要上文信息及组合
这种方案适用于除上述两种场景外的绝大部分情况。此类语料数量繁多,对很多应用来说,无法一一标注。设计人员需根据系统需求对语料进行适当筛选,然后再标注。标注具体分为以下三部分进行:
(1)针对产生上文信息的对话,在其下句中需添加指令标签及相应的自然语言,标注此语句产生的上文信息。在聊天时,该指令将指示系统保存此上文信息备用。
(2)针对依赖上文的语句,在其下句中需添加指令标签,标注此句依赖上文信息。如果在聊天中被独立说出,依赖上文的语句通常让人摸不着头脑,不知所云。比如,您给一个朋友打电话,电话开始您问朋友:“什么地方啊?”,对方必然莫名其妙,但如果这个问句是在对方约您出去聚会后问及的,对方就知道您在问他/她在什么地方聚会。在此类语料的标注中,通常需要提供缺省回复:缺省回复通常以纯自然语言的形式存在,当然也可以插入指令标签来从系统中提取一些早先存储的信息,比如用户姓名等。缺省回复将被用于没有上文信息或上下文组合失败时的机器人回复。标注中还可以选择性地标注替代语句:替代语句可以被当作替身用于组合标注中,可以大大节省组合标注的数量。当然在聊天时,如果有替身的话,它也同样被使用来和上文信息组合。
是否需要使用替身取决于被标注的此类语句是否表达方式繁多,且截然不同的方式具有非常相似甚至相同的含义。比如在汉语中,询问原因的表达方式就非常多,像“为啥?”,“为何”,“为什么?”,“什么原因呢?”都基本表达一个意思。这时,就可以标注一些这样的语料,并且标注“为什么?”作为它们的替身。
(3)上述(2)中的标注语句与合理的上文信息组合所产生的理想回复。这里,标注后的语料上句由三部分组成:(2)中的语句或其替身,组合符,及上文信息;对应下句可以是机器人回复本身,或者在某些情况下,可以参考(1)中语句的标注方法,添加指令标签及相应的自然语言,标注此语句(组合后的语句)产生的上文信息。
例如下面这样一个简单的上下文场景:
Q:如果你有很多很多钱,你准备怎样花?
A:你说笑了,我只是个穷光蛋,不用为这个问题犯愁吧。
Q:那将来你有了呢?
A:好呀,那我就拿一半出来投资,另一半做慈善。
这里的标注大致思路是这样的:
Q:那将来你有了呢?
A:那就等有了再说吧。【指令标签-提取上文并尝试组合】
Q:那将来你有了呢?【组合符】你有很多钱怎么花
A:好呀,那我就拿一半出来投资,另一半做慈善。
Q:如果你有很多很多钱,你准备怎样花?
A:你说笑了,我只是个穷光蛋,不用为这个问题犯愁吧。【指令标签-上文信息:你有很多钱怎么花】
这里,“指令标签-上文信息”指示系统将此处的上文信息“你有很多钱怎么花”存储备用;“指令标签-提取上文并尝试组合”则指示系统去提取现有的此类上文信息。按照本示例所展示的场景,提取的上文信息就是“你有很多钱怎么花”。因为上文信息提取成功,所以尝试组合,将组合后的语句输入模型,则得到回复:“好呀,那我就拿一半出来投资,另一半做慈善”。如果上述提取上文信息或者组合失败,缺省回复“那就等有了再说吧”,则被系统当作最终输出。
基本方案中的相关问题解决:判断组合是否成功,及负面样本的趋同标注
对于组合是否成功或合理的判断有一定的挑战性,这里主要讨论两种方法。
其一是训练好的模型在推理时输出的自信度。自信度达到设定的阈值,则认为成功,否则认为失败。自信度高说明相同或相近的样本在训练中高频出现,反之则说明相同或相近样本低频或从未出现。因为这是现有的技术,本发明不详细描述。
其二是抽样标注一定量的负面样本,加入数据集一并训练,这是本发明提出的趋同标注法。
所谓负面样本,就是在给定的语境中,那些不适合出现的或聊天系统不计划支持的用户陈述或问话。比如对应上述基本方案一的模仿某人的场景下,您的系统不打算支持完全开放式的闲聊,毕竟要训练到那样效果需要太多的手工标注,那么很多您不打算支持的对话也就成了负面样本的可选项;再比如对应上述方案三的情况下,发生类似下面的例子:
Q:你最喜欢什么颜色?
A:我最喜欢绿色。【指令标签-上文信息:你最喜欢绿色】
在这种语境中,如果用户接着问“为什么?”,则很合理;但在闲聊中,用户可能说:“什么时间?”,或者说:“后来呢?”后两个问句本身明显也是严重依赖上文的,但却跟当前的上文没有任何关系。虽然这种情况往往属于客户故意测试或戏弄机器人,但一个好的聊天系统依然应该能应付这样的提问。
从上面的说明,我们不难看出,负面样本的空间远远大于正面样本(合理组合的样本)的空间。所以如果尝试暴力地标注大量的负面样本,不但工程量巨大,而且会造成模型过拟合,使得聊天效果很差。
但如果我们遵循以下的标注原则,负面样本的标注将变得有效并可控。这就是本发明所讲的趋同标注原则,其细节就是:针对每一类别的负面样本,我们需保持每对的上句有固定的一部分不变更,其它部分则随机变化,而每对的下句则尽可能简单一致。面对一系列的这种语料,神经网络模型(尤其是采用了注意力机制的模型)在训练中就会发现,原来输出只跟输入中的很少的不变部分相关,而那些不断变化的部分根本就不会影响模型的输出。经过这样训练的模型在推理时,见到其他的新的变化(训练语料中未出现过的)时,就知道这些变化根本不影响输出,所以模型依然能够正确输出标注中的那些简单一致的回复。
利用神经网络模型的这种特性,我们可以将那些自定义信息标签作为这些负面样本的上句中的不变部分,而下句中的统一回复则修改为表示负面样本的指令标签或信息标签,那我们的标注就完成了。由于这些负面样本的标注和训练,模型在推理时即可准确地识别这样的用户陈述或提问是不合适当前上文的或不被系统支持的。更幸运的是,我们只需抽样标注负面样本,模型就会将标注语料中展示的规律当作共性特征学习到,进而能覆盖其他广阔的负面语料空间。
下面基于上述基本方案三来举例说明负面样本的标注。例如,针对如下正面样本:
Q:为什么?【组合符】你最喜欢绿色
A:因为我总用电脑,所以看着绿色眼晴觉得很舒服。
我们可以在训练语料中适量加入如下的训练语句:
Q:什么时间?【组合符】你最喜欢绿色
A:【信息标签-无效组合】
Q:后来呢?【组合符】你最喜欢绿色
A:【信息标签-无效组合】
Q:他会是谁呢?【组合符】你最喜欢绿色
A:【信息标签-无效组合】
Q:要怎么给你呢?【组合符】你最喜欢绿色
A:【信息标签-无效组合】
模型就知道“你最喜欢绿色”只能跟“为什么?”组合,而其他的组合都是无效的。当然如果需要针对每个正面样本都提供如此多的负面样本,显然也是很不现实的。事实上,随着负面样本的增加,基于趋同标注的语料上句中,上述【组合符】的左面和右面都会不断发生变化,而无论上句的这些部分怎么变化,回复都会保持不变。总而言之,最终【组合符】成了此类语料上句中唯一不变的部分,从而模型就可以学习到,它的两边的变化其实在很多情况下是无关紧要的。
当然负面样本的具体数量受很多因素影响,主要因素为总的训练数据量,正面样本的数据量,试图识别的负面样本的可变部分的最大长度等。一般情况下,负面样本需多于正面样本的数据量。当然这些因素还会受到模型及模型参数的影响,所以建议通过最终测试适量调节负面样本的数据量。
这种标注及训练的效果如同是通过一种间接的方法告诉神经网络模型,如果用户问话跟训练数据中的相似,那么就采用相似的回复;否则就统一采取如下措施。由于过多地或不恰当地使用同类数据会造成模型过拟合,所以本方法在使用中必须谨慎。
便捷方案一:标注基于确切逻辑关系的预期回复
上述几种基本方案在标注中比较繁琐,而且对于上下文组合是否有效的判断也比较有挑战性。这里介绍本发明所引入的其他一些更有效而简洁的标注方案。以下标注方案可以和上述基本方案混和使用。
便捷方案一的标注在实际中可以帮助机器人给用户提供下列类别问题的回复,这类问题主要基于以下常见的逻辑关系:原因、时间、地点、人物、同意或反对、可选项、目的、事情细节的解释等。
如果一轮对话给下文提供了上述所列某种逻辑关系问题的可能性,比如在机器人提供某回复后,用户很可能会问原因,即“为什么?”,那么此类语料即可使用该方法标注。标注分为两步:
1)标注提供逻辑关系的对话。在其下句中不但要提供常规回复,还需添加相应的指令标签和对应的自然语言预设回复。该指令标签告诉系统,接下来的自然语言是下面聊天过程中此类逻辑关系问题的预设回复,在聊天时需要在系统中存储备用。
2)标注具有上述逻辑关系的可能问题对话。在此类语料下句中添加相应的指令标签,告知系统去提取此类逻辑关系的预设回复。当然也可以标注出缺省回复。注意:此类语句的标注是全系统一次性的。
相比于基本方案三,这种方案的优势在于它省去了标注时的组合语句,在模型推理时也不需要去尝试上下文组合。
再以上面的那个问题为例,训练数据可以大致如下标注:
Q:为啥?
A:什么为啥呀,你把我问懵了。【指令标签-提取回复-为什么】
Q:什么原因呢?
A:什么什么原因啊,我不明白。【指令标签-提取回复-为什么】
Q:你最喜欢什么颜色?
A:我最喜欢绿色。【指令标签-存储回复-为什么:因为我总用电脑,所以看着绿色眼晴觉得很舒服。】
这样标注的结果在推理时就可产生如下效果:
Q:你最喜欢什么颜色?
A:我最喜欢绿色。
Q:为啥?
A:因为我总用电脑,所以看着绿色眼晴觉得很舒服。
或:
Q:你最喜欢什么颜色?
A:我最喜欢绿色。
Q:什么原因?
A:因为我总用电脑,所以看着绿色眼晴觉得很舒服。
便捷方案二:标注自定义的逻辑或机械关联的预期回复
上述便捷方案一中描述的逻辑关系虽然常见,但却相对有限。我们不难发现,其他还有一些简单的对应关系其实也是可以被捕捉并在标注过程中临时定义的。这类语料的上下文之间虽然没有上述方案所涉及语料之间的清晰逻辑关系,但却常常存在着紧凑的机械关联,其特征是两对对话之间可以通过一个简短的关键字来实现连接,这些关键字描述的可以是一种逻辑关联或仅仅是一种机械的字符连接。一些常见的例子包括:“除非什么?”,“比如什么?”,和“考虑什么?”。由于关键字是在训练语料中自定义的,所以问句的文字未必需要包含关键字本身。比如“例如什么?”也可以被定义为提取上文中关键字“比如”的回复。
例如下述闲聊中的场景:
Q:你妈妈叫什么名字?
A:这是个秘密,不能说,除非……
Q:除非什么?
A:除非你嫁给我,呵呵。
可以这样来标注:
Q:除非什么?
A:什么除非什么呀?【指令标签-提取回复,关键字:除非】
Q:你妈妈叫什么名字?
A:这是个秘密,不能说,除非……【指令标签-存储回复,关键字:除非;回复:除非你嫁给我,呵呵。】
此类语料的标注与便捷方案一非常相似,同样分为两步:
(1)标注提供关联的对话。在此类语料下句中不但需提供正常回复,还需添加相应的指令标签,对应的关键字,以及对应的自然语言预设回复。该指令标签告诉系统,接下来的自然语言预设回复可以通过该关键字提取,在聊天中该关键字和预设回复均需要在系统中存储备用。
(2)标注具有上述关联的可能问题对话。在其下句中添加相应的指令标签以及对应关键字,告知系统去提取基于此关键字的预设回复。当然也可以标注出缺省回复。同样,此类语句的标注也是全系统一次性的。
相较于便捷方案一,此方案的标注需额外添加一个以自然语言为基础的关键字。答案的预先存储和提取都必须基于此临时定义的关键字。
便捷方案三:人称指代的标注及合成
人称指代是聊天中经常出现的,本发明同样提供此类对话的解决方案。标注涉及的人称指代通常包括:你们、他、她、它、他们、她们、它们。其中,他们、她们和它们不但可能由标注直接产生,也可以根据其他标注在聊天时合成产生。
此类语料的标注过程类似于基本方案三的标注,同样分为三步:
(1)标注产生人称指代的语句。在其下句中需添加指令标签及相应的人称指代。此处,不同的人称可以设计使用不同的指令标签。
(2)标注提取人称指代的对话。在其下句中需添加指令标签,指示系统此处需要某种人称指代的信息。此处通常还需要标注缺省回复。
(3)完全同基本方案三的步骤(3)。此处,上文信息就是步骤(1)中标注的人称指代。
区别于仅仅使用基本方案三,选用此类标注的优势在于:
(1)可以在某些语句中同时使用基本方案三和此方案标注,为下述聊天提供尽可能多的上文信息。
(2)可以基于已有的单数人称推算合成复数人称。例如,在推理中见到新的“他”人称时,如果系统中已经有他、她或它的信息,我们就可以由此生成“他们”的指代。
下面举例说明。如果使用下述标注:
Q:它们是什么关系?
A:你指的是哪个它们呀?我不明白。【指令标签-提取指代-它们】
Q:它们是什么关系?【组合符】水和火
A:水与火是五行中两个重要元素,是相生相克的关系。
Q:水是什么?
A:水是一种无色、无臭、无味的液体。它是地球上最常见的物质之一。【指令标签-存储指代-它:水】
Q:火是什么?
A:火是物体燃烧时发出的光和焰。【指令标签-存储指代-它:火】
在聊天中则可以产生如下效果:
Q:水是什么?
A:水是一种无色、无臭、无味的液体。它是地球上最常见的物质之一。
Q:火是什么?
A:火是物体燃烧时发出的光和焰。
Q:它们是什么关系?
A:水与火是五行中两个重要元素,是相生相克的关系。
便捷方案失败时的备选方案是基本方案三
综合上述三种便捷方案,我们可以看出,在系统聊天时,特定的对话都需要对应的预设回复或人称指代信息。如果系统找不到对应的信息,我们可以设定让系统直接跳转去尝试基本方案三的组合措施。如果此时系统恰巧有基本方案三工作所需的上文信息,并且组合能成功,那么它的输出即可以成为最终输出。当然如果再次尝试失败,则选择标注的缺省回复。
标注原则,可扩展性,及其他类型的标注方案
除了上述的方案,其他可能的标注种类繁多,我们可以根据应用需求来拓展本方法和系统。标注的原则是以语料中的单轮对话为独立的标注单位,通过显式地修改对话的上句和/或下句来嵌入自定义的标签字符和/或自然语言,来描述上下文信息的传递规则。开发新的标注方案的基本思路则是利用自然语言的特性,设计相应的协议,该协议将被用来连接标注的上文信息的存储和下面聊天过程对于该上文信息的提取。而协议本身需要自定义的指令标签,信息标签,和自然语言来表达。在协议的设计中,我们还需要考虑,将来的标注是需要修改对话的上句,下句,或者上句和下句。网络模型本身仅仅充当单轮对话的输入和输出之间映射的桥梁。
当协议和对应的标签设计完毕,我们就可以进行新的标注了。这里,我们再列出一些可能的需求供参考:
(1)标注全局关键信息
用户在聊天中谈及的一些重大事件,稳定的个人信息等等,都可以被标注,留待下文整个聊天过程使用。比如用户在聊天中透露的姓名,性别,年龄,居住城市等信息,或者提及准备近期考研,正在找工作,或马上要结婚等。这些上文信息不会随着聊天进程的发展而失效,如果系统计划支持,则可以适量标注这类语料,而它们所提供的上文信息则可以被整个聊天过程使用。
此类标注的信息或文字可以是预设的整句回复,也可以是将来用于填充或改变回复的部分句子信息。
(2)标注客户或机器人的情感渐进变化。一个简单的例子就是如果机器人被客户表扬一次,那么机器人的开心指数可以加一或其他值,批评一次开心指数就减一或其他值,下文的回复可以参考这些变更的指数,在开心和不开心的情况下作出不同的回复。
数据差异化的模型训练
本方法所需的训练过程是基于深度监督学习的,对所用模型没有特别限制,比如常用的SEQ2SEQ模型,即序列到序列模型就是一种选择。聊天系统需要模型学习的最终是基于单轮对话的输入到输出之间的映射关系,所以无论是基础语料,还是标注的语料,只需保留单轮的上下句对应关系,而语料中的多对对话之间没有任何顺序需要保留,也就是说,如果原先的语料保留有多轮的语序,可以在训练时被随机打乱。
由于训练好的模型最终的损失(LOSS)不可能为零,所以模型不可能记忆展示在所有训练语料中的上下句对应关系。事实上,如果试图使用较大较深的模型并获得很低的损失值,这反而增大了模型过拟合的可能性。
为了提升模型的训练效果,我们需要区别对待训练语料。
一是可以基于语料是否被标注,是否会被用户经常问及,比如机器人的个人信息,是否与机器人服务的主题紧密相关,及语料的质量等因素,将语料分为两个到多个等级,等级越高,语料越重要。
除了语料的内容重要性因素,语料的序列长度也是一个考虑因素,尤其因为长序列的回复较难被模型记忆,而标注过的语料往往相对较长。所以也应该区别对待长序列和短序列,具体地,我们可以将语料根据其下句回复的字符数定义多级阈值,依此将语料分为不同长度等级的回复。每个等级的具体长度范围需参考所用模型的记忆能力和语料的数据分布,最终调试优化来权衡。比如,模型设计支持的最长序列为50个字符;将其分为3个级别,1-20个字符为1级,21-35个字符为2级,36-50个字符为3级。
在训练中,我们可以选用以下一种或结合以下多种方法区别对待这些训练数据,实施差异化的模型训练。
1.重复两次或多次上述重要语料,即让被重复的语料在一个训练周期(epoch)中出现两次或多次。这将大大地增加重要语料被精准记忆的几率。
2.修改模型训练所用的损失函数,对应增大不同长度等级回复的损失权重,使得越长的回复权重越大。这将导致模型重点学习具有较长回复的语料。
3.修改模型训练所用的损失函数,增大标注语料的损失权重,这将导致模型重点学习标注过的语料。
这种差异化的训练结果是保证高质量的,用户最关心的,尤其是标注的语料,能被重点记忆及学习。当然无论是重复的次数或调节后的权重都不可过分,否则同样会造成模型的局部过拟合。所以需谨慎使用和调节这些参数。
上文信息的合理维护:系统的遗忘机制
基于此发明的系统通常必须针对每个聊天用户维护一个独立的会话(SESSION),在会话中保存与此用户交流所产生的上文信息,这些信息将在每轮对话前或后得到更新。整个会话会在与用户聊天结束后的一定时间内从系统内存中清理掉。当然系统设计也可以选择在会话被清理前,将这些信息保存到永久存储介质中。
每一种基于数据标注,继而模型训练,最终在聊天中产生的上文信息,将被保存在此用户的会话中。在聊天过程中,这些信息都应该维护一个合理的有效期。这里针对上述每种标注方案给出对应的有效期建议:
1.基本方案一中的上文信息从过程开始的下一轮生效,到过程的结束而失效。当然在系统的具体实现中,设计者也可以通过对话轮数来控制聊天过程,可以选择在用户主动要求结束前由机器人先提出结束该过程。
2.基本方案二中的上文信息的有效期通常就是紧接着的下面一到两轮,在成功获取期待的信息或得到用户明确拒绝后失效。
3.基本方案三中的上文信息的有效期通常就是紧接着的下一轮。如果上下文组合成功,且此轮不产生新的上文信息,那么原先的上文信息可以考虑保留。如果组合失败,或者组合成功的这一轮产生新的基于此方案的上文信息,那么原先的上文信息将失效。
当然,用户在对话中可能无视上文,那么基于上述三种方案中产生的上文信息可能由于上下文组合的失败而早早失效,从而被系统清理掉。
4.便捷方案一的有效期可以相对较长,比如下面的二至五轮。当然如果该信息被提取使用,或者有同类信息产生,比如此轮产生对于原因的上文信息,下一轮也产生对于原因的上文信息,这些都会导致该上文信息被系统清理。
5.便捷方案二的有效期比便捷方案一稍短,可以考虑维护在下面的一至三轮。同样,如果该信息被提取使用,或者有同类信息产生,都会导致该上文信息提前失效。
6.便捷方案三中描述的人称指代在输出或合成后的有效期,通常可以维护在下面的二至三轮。不同的是,该指代信息的提取使用不应导致该上文信息失效。
7.如果开发了其他的标注方案,在新方案的设计时,也需要设计该方案所产生上文信息的有效期。
综上所述,绝大部分在聊天过程中产生的上文信息,如果没有及时地被提取使用,或被下面的同类信息取代,就需要在合理的时间内被遗忘掉。遗忘通常是基于预先配置的对话轮数。不同种类的上文信息有不同的有效期,长有效期的可以是整个会话过程,而短有效期的可以是仅仅下一轮有效。如果是单轮有效的,上下文组合成功且不被同类的上文取代,则可以继续传递到下一轮。但是像基于逻辑关系的预设回复通常只是一次有效,一旦被提取用作回复,就被立刻遗忘了;如果在一定的轮数内不被提取又不被同类信息覆盖,那也必须随着轮数的增加被自然遗忘。
遗忘确保上下文信息的及时更新,也能在上下文管理出错的意外情况下,使得错误及时地被纠正。
标注的可学习性:模型可以产生相似的标注
因为标注过程引入了各种自定义的标签,这使得模型最终训练所用的字符集不再仅仅包括原先的自然语言词汇,及模型训练的常见辅助字符,还新增了众多的指令标签和信息标签。指令标签包括用于规则的众多的软件函数标签,函数参数标签,函数条件标签;而信息标签包括实体替代标签,上下文组合符,辅助训练符等等。当然这些标签的命名、语义和功能可能会由于不同的系统需求和设计而有着很大的差异。
当这些自定义标签被合理设计,并被统一按照它们设定的语义来进行标注,这个被整合的新语言对于深度神经网络模型来说将是可以学习的。这个标注过程可以被看作是一个基于自然语言和新的标签语言的编程过程。所以当标注达到一定数量后,训练好的模型在推理时,会在其回复中产生合理的标注,从而能帮助聊天系统精准地传递上下文信息,使得多轮聊天能够顺畅地进行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,该方法包括如下步骤:
(1)用自定义的标签字符表示聊天中上下文传递所需的规则,并采用所述标签字符和自然语言来标注语料形成训练数据集;
(2)将上述训练数据集输入神经网络模型进行训练;
(3)上述训练好的神经网络模型接收用户输入,对神经网络模型输出的自定义标签字符进行解析,运行其对应的规则,存储或提取上文信息,进行智能聊天。
2.根据权利要求1所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,步骤(1)中,以语料中的单轮对话为独立的标注单位,通过显式地修改对话的上句和/或下句来嵌入自定义的标签字符和/或自然语言,以描述上下文信息的传递规则。
3.根据权利要求1或2所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,针对不同应用场景,设计合适的上下文组合机制,相应地修改训练语料以描述聊天中所需的上下文信息,使得模型在训练和推理时所需处理的输入输出之间的映射关系保持一致。
4.根据权利要求1或2所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,利用自然语言中存在的内在逻辑关系或文字的机械关联,预设可能问题的答案,简化标注过程。
5.根据权利要求1或2所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,抽样标注上下文组合无效的训练语料,保持该类语料上句自定义标签部分不变,其它部分随机变化,而语料下句统一回复,标识此类语料中展示的上下文组合无效。
6.根据权利要求1或2所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,步骤(2)中,将上述训练数据集输入到神经网络模型中进行训练前,针对语料内容将语料分为若干个等级,级别越高,语料越重要;并且根据下句回复的字符数定义多级阈值,依此将语料分为不同长度等级的回复;基于此两类语料分级,将上述训练数据集输入神经网络模型进行差异化的训练,具体可以选择如下方法的一种或多种组合进行:
(2.1)重复两次或多次上述重要语料,即让被重复的语料在一个训练周期中出现两次或多次;
(2.2)根据回复的长度等级,相应修改模型训练所用的损失函数,设置等级越高的回复权重越大;
(2.3)修改模型训练所用的损失函数,增大标注语料的损失权重,重点学习标注过的语料。
7.根据权利要求2或3所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,步骤(3)中,由训练好的神经网络模型实现智能聊天时,基于设计所对应的应用场景,上下文信息组合有以下两种方式:
(a)基于给定的上文信息,当用户输入一个语句,即一个问题或陈述时,直接组合该输入和当前上文信息,然后将组合后的信息输入训练好的神经网络模型,产生输出;
(b)当用户输入一个语句时,它被直接输入模型,产生输出,只有该输出指示本用户语句需要上文信息时,才尝试提取并组合上文信息,然后再次将组合后的信息输入训练好的神经网络模型,产生输出。
8.根据权利要求1或2所述的一种基于语料标注的智能机器人聊天上下文实现方法,其特征在于,步骤(3)中,由训练好的神经网络模型进行智能聊天时,对不同语料标注方案产生的上文信息设定不同的有效期,并在每轮聊天的前后实时更新上下文,从而让上下文信息的存在处于合理的可控范围内,并能在错误发生时及时纠正。
9.一种计算机存储介质,其特征在于,该计算机存储介质上存储执行根据权利要求1-8所述的基于语料标注的智能机器人聊天上下文实现方法的程序。
10.一种基于语料标注的智能机器人聊天上下文实现系统,其特征在于,该系统包括如下模块:
语料标注模块,用自定义的标签字符来表示聊天中上下文传递所需的规则,并采用所述标签字符和自然语言来标注语料形成训练数据集;
神经网络训练模块,用于将上述训练数据集输入神经网络模型进行训练;
智能聊天模块,上述训练好的神经网络模型接收用户输入,对神经网络模型输出的自定义标签字符进行解析,运行其对应的规则,存储或提取上文信息,进行智能聊天。
CN201910072296.0A 2019-01-25 2019-01-25 基于语料标注的智能机器人聊天上下文实现方法及系统 Active CN110059169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910072296.0A CN110059169B (zh) 2019-01-25 2019-01-25 基于语料标注的智能机器人聊天上下文实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910072296.0A CN110059169B (zh) 2019-01-25 2019-01-25 基于语料标注的智能机器人聊天上下文实现方法及系统

Publications (2)

Publication Number Publication Date
CN110059169A true CN110059169A (zh) 2019-07-26
CN110059169B CN110059169B (zh) 2023-12-01

Family

ID=67316481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910072296.0A Active CN110059169B (zh) 2019-01-25 2019-01-25 基于语料标注的智能机器人聊天上下文实现方法及系统

Country Status (1)

Country Link
CN (1) CN110059169B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831801A (zh) * 2020-05-27 2020-10-27 北京市农林科学院 一种人机对话方法及系统
CN111897941A (zh) * 2020-08-14 2020-11-06 腾讯科技(深圳)有限公司 对话生成方法、网络训练方法、装置、存储介质及设备
CN111914074A (zh) * 2020-07-16 2020-11-10 华中师范大学 基于深度学习与知识图谱的限定领域对话生成方法及系统
CN112711656A (zh) * 2021-01-06 2021-04-27 北京中科深智科技有限公司 一种聊天机器人构建方法和系统
CN113033664A (zh) * 2021-03-26 2021-06-25 网易(杭州)网络有限公司 问答模型训练方法、问答方法、装置、设备及存储介质
CN113158678A (zh) * 2021-05-19 2021-07-23 云南电网有限责任公司电力科学研究院 一种应用于电力文本命名实体的识别方法及装置
CN113326367A (zh) * 2021-06-30 2021-08-31 四川启睿克科技有限公司 基于端到端文本生成的任务型对话方法和系统
CN116775850A (zh) * 2023-08-24 2023-09-19 北京珊瑚礁科技有限公司 一种聊天模型训练方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677822A (zh) * 2016-01-05 2016-06-15 首都师范大学 一种基于对话机器人的招生自动问答方法及系统
CN106649704A (zh) * 2016-12-20 2017-05-10 竹间智能科技(上海)有限公司 一种智能对话控制方法和系统
CN106897364A (zh) * 2017-01-12 2017-06-27 上海大学 基于事件的中文指代语料库构建方法
CN108108340A (zh) * 2017-11-28 2018-06-01 北京光年无限科技有限公司 用于智能机器人的对话交互方法及系统
US20180329884A1 (en) * 2017-05-12 2018-11-15 Rsvp Technologies Inc. Neural contextual conversation learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677822A (zh) * 2016-01-05 2016-06-15 首都师范大学 一种基于对话机器人的招生自动问答方法及系统
CN106649704A (zh) * 2016-12-20 2017-05-10 竹间智能科技(上海)有限公司 一种智能对话控制方法和系统
CN106897364A (zh) * 2017-01-12 2017-06-27 上海大学 基于事件的中文指代语料库构建方法
US20180329884A1 (en) * 2017-05-12 2018-11-15 Rsvp Technologies Inc. Neural contextual conversation learning
CN108108340A (zh) * 2017-11-28 2018-06-01 北京光年无限科技有限公司 用于智能机器人的对话交互方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
夏天,樊孝忠,刘林: "ALICE机理分析与应用研究", 《计算机应用》 *
聂硕琳: "基于ALICE的智能聊天机器人的程序开发", 《电子世界》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831801A (zh) * 2020-05-27 2020-10-27 北京市农林科学院 一种人机对话方法及系统
CN111914074A (zh) * 2020-07-16 2020-11-10 华中师范大学 基于深度学习与知识图谱的限定领域对话生成方法及系统
CN111914074B (zh) * 2020-07-16 2023-06-20 华中师范大学 基于深度学习与知识图谱的限定领域对话生成方法及系统
CN111897941A (zh) * 2020-08-14 2020-11-06 腾讯科技(深圳)有限公司 对话生成方法、网络训练方法、装置、存储介质及设备
CN111897941B (zh) * 2020-08-14 2023-10-27 腾讯科技(深圳)有限公司 对话生成方法、网络训练方法、装置、存储介质及设备
CN112711656A (zh) * 2021-01-06 2021-04-27 北京中科深智科技有限公司 一种聊天机器人构建方法和系统
CN113033664A (zh) * 2021-03-26 2021-06-25 网易(杭州)网络有限公司 问答模型训练方法、问答方法、装置、设备及存储介质
CN113158678A (zh) * 2021-05-19 2021-07-23 云南电网有限责任公司电力科学研究院 一种应用于电力文本命名实体的识别方法及装置
CN113326367A (zh) * 2021-06-30 2021-08-31 四川启睿克科技有限公司 基于端到端文本生成的任务型对话方法和系统
CN113326367B (zh) * 2021-06-30 2023-06-16 四川启睿克科技有限公司 基于端到端文本生成的任务型对话方法和系统
CN116775850A (zh) * 2023-08-24 2023-09-19 北京珊瑚礁科技有限公司 一种聊天模型训练方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110059169B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN110059169A (zh) 基于语料标注的智能机器人聊天上下文实现方法及系统
CN108446286A (zh) 一种自然语言问句答案的生成方法、装置及服务器
US5812126A (en) Method and apparatus for masquerading online
Wilcox Metaphor in American sign language
Kandpal et al. Contextual Chatbot for healthcare purposes (using deep learning)
CN109446306A (zh) 一种基于任务驱动的多轮对话的智能问答方法
CN107944027A (zh) 创建语义键索引的方法及系统
CN108804698A (zh) 基于人物ip的人机交互方法、系统、介质及设备
CN107577662A (zh) 面向中文文本的语义理解系统及方法
CN108960402A (zh) 一种面向聊天机器人的混合策略式情感安抚系统
CN111104512B (zh) 游戏评论的处理方法及相关设备
CN109547331A (zh) 一种基于多轮语音聊天模型构建方法
CN109271459A (zh) 基于Lucene和文法网络的聊天机器人及其实现方法
Nie et al. Pragmatic issue-sensitive image captioning
Windiatmoko et al. Developing FB chatbot based on deep learning using RASA framework for university enquiries
CN106777080A (zh) 短摘要生成方法、数据库建立方法及人机对话方法
CN111160512B (zh) 基于生成式对抗网络构建双判别器对话生成模型的方法
CN110413627A (zh) 一种信息优化方法、装置、服务器及存储介质
Cervone et al. Roving mind: a balancing act between open–domain and engaging dialogue systems
CN111651561B (zh) 一种高质量困难样本生成方法
CN114860869A (zh) 一种意图泛化的可控制通用对话模型
CN114896985A (zh) 一种幽默文本自动生成方法、系统、介质、设备及终端
CN110955768B (zh) 一种基于句法分析的问答系统答案生成方法
Mulford Semantic processing for communicative exercises in foreign-language learning
CN112487817A (zh) 命名实体识别模型训练方法、样本标注方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant