CN117851549A - 一种对话生成方法和相关装置 - Google Patents

一种对话生成方法和相关装置 Download PDF

Info

Publication number
CN117851549A
CN117851549A CN202211212874.4A CN202211212874A CN117851549A CN 117851549 A CN117851549 A CN 117851549A CN 202211212874 A CN202211212874 A CN 202211212874A CN 117851549 A CN117851549 A CN 117851549A
Authority
CN
China
Prior art keywords
dialogue
information
style
vocabulary
dialogue information
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
Application number
CN202211212874.4A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211212874.4A priority Critical patent/CN117851549A/zh
Publication of CN117851549A publication Critical patent/CN117851549A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Machine Translation (AREA)

Abstract

本申请实施例公开了一种对话生成方法,可应用于数字人、虚拟人、游戏、虚拟现实、扩展现实、云技术、人工智能、智慧交通、辅助驾驶等场景。获取多个风格标签,根据预设的构造规则将多个风格标签构建为风格语句。获取第一对话信息,根据第一对话信息和风格语句,通过通用对话生成模型生成第二对话信息,该第二对话信息是针对于第一对话信息的回复。由此,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。

Description

一种对话生成方法和相关装置
技术领域
本申请涉及自然语言处理技术领域,特别是涉及一种对话生成方法和相关装置。
背景技术
随着自然语言处理技术的不断发展,自然语言处理技术可以应用在更广阔的范围。例如,应用于闲聊机器人、终端智能助手等使用对话系统技术的人机交互场景。在对话过程中,计算机设备根据用户输入的对话信息生成针对该对话信息的对话回复,并回应用户。
相关技术中,可以利用长短期记忆(Long short-term memory,LSTM)等对话生成模型,对用户输入的对话信息进行语义理解,然后生成针对该对话信息的对话回复。
但是,若要针对所使用的特定场景,生成风格可控的对话回复,需要该特定场景大量的标注数据进行训练。不同特定场景需要的对话机器人的风格不同,针对不同风格的对话机器人都需要一批全新的标注数据分别进行训练,如具有热情洋溢18岁的女性特征的对话机器人与具有毫无生气50岁的男性特征的对话机器人所需的标注数据不同。由此,若训练适用于特定场景的对话机器人,会导致标注成本高。
发明内容
为了解决上述技术问题,本申请提供了一种对话生成方法和相关装置,用于降低标注成本。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种对话生成方法,其特征在于,所述方法包括:
获取对话机器人的多个风格标签;
根据预设的构造规则将多个所述风格标签构建为风格语句,所述风格语句的语义通顺度大于多个所述风格标签;
获取第一对话信息;
根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,所述通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的通用模型。
另一方面,本申请实施例提供一种对话生成装置,其特征在于,所述装置包括:第一获取单元、构建单元、第二获取单元和生成单元;
所述第一获取单元,用于获取对话机器人的多个风格标签;
所述构建单元,用于根据预设的构造规则将多个所述风格标签构建为风格语句,所述风格语句的语义通顺度大于多个所述风格标签;
所述第二获取单元,用于获取第一对话信息;
所述生成单元,用于根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,所述通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的通用模型。
另一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
由上述技术方案可以看出,获取多个风格标签,该风格标签能够体现对话机器人具有的特征,根据预设的构造规则将多个风格标签构建为风格语句。其中,多个风格标签一般为多个不连贯的短语,而风格语句是语义通顺的语句,故风格语句的语义通顺度大于多个风格标签。获取第一对话信息,根据第一对话信息和风格语句,通过通用对话生成模型生成第二对话信息,该第二对话信息是针对于第一对话信息的回复。虽然该通用对话生成模型的输入增加了风格语句,但是该风格语句的语义通顺度较高,与通用模型在预训练过程中所用的训练语句相似,故通用对话生成模型能够理解风格语句。而且,虽然通用对话生成模型是通用的,但是通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的,即通用对话生成模型能够模仿多种风格生成对应的回复,从而通用对话生成模型在获得风格语句后,能够模拟风格语句对应的风格生成符合该风格的第二对话信息。由此,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的对话生成方法的应用场景示意图;
图2为本申请实施例提供的对话生成方法的流程示意图;
图3为本申请实施例提供的一种输入提示语句的示意图;
图4为本申请实施例提供的一种通用对话生成模型或场景对话生成模型的示意图;
图5为本申请实施例提供的一种前K采样解码的示意图;
图6为本申请实施例提供的一种对话生成方法的场景示意图;
图7为本申请实施例提供的一种对话生成装置的结构示意图;
图8为本申请实施例提供的服务器的结构示意图;
图9为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
基于相关技术中训练适用于特定场景的对话机器人,会导致标注成本高的技术问题,本申请实施例提供一种对话生成方法和相关装置,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。
本申请实施例提供的对话生成方法是基于人工智能实现的。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
在本申请实施例中,主要涉及的人工智能技术包括上述机器学习/深度学习等方向。
本申请提供的对话生成方法可以应用于具有数据处理能力的对话生成设备,如终端设备、服务器。其中,终端设备具体可以手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器、应用扩展现实技术的设备等,但并不局限于此;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、数字人、虚拟人、游戏、虚拟现实、扩展现实等。
该对话生成设备还可以具备机器学习能力。机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本申请实施例提供的对话生成方法中,采用的人工智能模型主要涉及对深度学习的应用,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。
为了便于理解本申请的技术方案,下面结合实际应用场景,对本申请实施例提供的对话生成方法进行介绍。
参见图1,该图为本申请实施例提供的对话生成方法的应用场景示意图。在图1所示的应用场景中,包括终端设备110和服务器120,终端设备110与服务器120之间可以通过网络通信。其中,终端设备110上运行有对话机器人应用程序(Application,APP),服务器120为对话机器人APP的后台服务器,用于执行本申请实施例提供的对话生成方法。
在实际应用中,用户小明点击终端设备110上运行的对话机器人APP后,可以进入对话机器人的欢迎页面。例如,图1所示的对话机器人是一个4岁的活泼女生。小明可以在对话页面中输入“你好”,终端设备110将其作为第一对话信息发送给服务器120。
服务器120获取对话机器人的多个风格标签,该风格标签能够体现对话机器人具有的特征,如当前页面的对话机器人的五个风格标签分别为:<姓名:小红>、<性别:女性>、<年龄:4>、<心情值:很高兴>,以及<与用户的关系值:亲密>。服务器120根据预设的构造规则将多个风格标签构建为风格语句,其中,构造规则为[姓名]是[年龄]岁的[性别],[性别代词]与[用户名]的关系[与用户的关系值],[性别代词]现在心情[心情值],进而得到的风格语句为小红是4岁的女性,她与小明的关系亲密,她现在心情很高兴。由此可以看出,风格语句的语义通顺度大于多个风格标签。服务器120根据第一对话信息和风格语句,通过通用对话生成模型生成用于回复第一对话信息的第二对话信息,如“你好呀,我是小红。”服务器120将第二对话信息返回给终端设备110,以便终端设备110将第二对话信息展示给小明。
其中,虽然该通用对话生成模型的输入增加了风格语句,但是该风格语句的语义通顺度较高,与通用模型在预训练过程中所用的训练语句相似,故通用对话生成模型能够理解风格语句。而且,虽然通用对话生成模型是通用的,但是通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的,即通用对话生成模型能够模仿多种风格生成对应的回复,从而通用对话生成模型在获得风格语句后,能够模拟风格语句对应的风格生成符合该风格的第二对话信息。
由此,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。
本申请实施例所提供的对话生成方法可以由服务器执行。但是,在本申请的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的对话生成方法,或者由终端设备和服务器共同执行本申请实施例所提供的对话生成方法,本实施例对此不做限定。
下面通过方法实施例对本申请提供的对话生成方法进行详细介绍。
参见图2,该图为本申请实施例提供的对话生成方法的流程示意图。为了便于描述,下述实施例仍以该对话生成方法的执行主体为服务器为例进行介绍。如图2所示,该对话生成方法包括以下步骤:
S201:获取对话机器人的多个风格标签。
对话机器人又称为虚拟人、数字人等以虚拟形式存在,具备拟人化特征的虚拟形象(如好友机器人),可以通过3D图像软件或其它模拟仿真工具制作,以数据形式存在的人与类人角色(如网页、小程序、APP等)。例如,对话机器人可以为服务类机器人、闲聊机器人等。
风格标签是用于描述对话机器人风格特征的标签。例如,<姓名:小红>、<性别:女性>、<年龄:4>、<心情值:很高兴>,以及<与用户的关系值:亲密>等。不同的风格标签组合构成了风格特征不同的对话机器人。例如,具有热情洋溢18岁的女性特征的对话机器人与具有毫无生气50岁的男性特征的对话机器人是两种风格特征的对话机器人。
需要说明的是,多个风格标签与应用场景有关,根据不同的应用场景需要,可以构建不同的风格标签。例如,在与游戏非玩家角色(non-player character,npc)对话的场景中,多个风格标签可以为<姓名:XX>、<性别:XX>、<角色:XX>、<背景故事:XX>、<早上做了什么:XX>,以及<接下来做什么:XX>等。
S202:根据预设的构造规则将多个风格标签构建为风格语句。
构造规则是预先设置的用于将多个风格标签构建为风格语句的规则,作为一种可能的实现方式,构造规则包括已知内容和未知内容,未知内容用于指示每个风格标签的位置,已知内容用于连接未知内容。例如,构造规则为[姓名]是[年龄]岁的[性别],[性别代词]与[用户名]的关系[与用户的关系值],[性别代词]现在心情[心情值]。其中,[]是未知内容,等待风格标签的填入,[]外的连接词是已知内容,以便将各个风格标签构建为风格语句。
需要说明的是,构造规则与风格标签有关,根据不同的风格标签,可以预设不同的构造规则,甚至根据相同的风格标签也可以预设不同的构造规则,本领域技术人员可以根据实际需要进行设置,本申请对此不做具体限定。
风格语句是多个风格标签连接而成的,具有语义的语句。例如,构建得到的风格语句为小红是4岁的女性,她与小明的关系亲密,她现在心情很高兴。由于多个风格标签一般为多个不连贯的短语,通过构造规则能够将多个不连贯的短语变为连贯的句子,即风格语句是语义通顺的语句,故风格语句的语义通顺度大于多个风格标签。
其中,风格标签包括标签名和标签值,标签名用于标识标签的名称,如姓名、性别、年龄等。标签值用于描述标签属性的内容,如小红、女性、很高兴等。需要说明的是,可以将标签内容分为多种。作为一种可能的实现方式,标签名可以设置为文本型,例如,心情值可以分为心情很开心、心情不错、心情一般、非常生气等,与用户的关系值可以分为关系不熟、关系亲密、关系很差等。相比于数值型的标签值(如0表示关系不熟、1表示为关系亲密、2表示为关系很差等),基于文本型的标签值生成的风格语句的语义通顺度更高,与通用对话生成模型所用的训练语句更为相近,从而生成的第二回复信息的准确度更高。
S203:获取第一对话信息。
第一对话信息是等待回复的文本内容,例如,用户输入的文本内容“你好”。
作为一种可能的实现方式,第一对话信息可以包括当前对话信息和历史对话信息,当前对话信息是对象最新输入的文本内容,历史对话信息是除当前对话信息外已经存在的文本内容。继续以图1为例,“你在干什么”是当前对话信息,“你好”和“你好呀,我是小红”是历史对话信息。由此,第一对话信息不仅包括当前对话信息,还包括历史对话信息,从而可以根据历史对话信息更多理解当前对话信息,也更能明确与其交互的对象的意图,进而生成的第二回复信息更为准确,对象的体验感更高。
作为一种可能的实现方式,历史对话信息的轮数小于预设阈值。本申请实施例不具体限定预设阈值的大小,如10轮。由此,由于当前对话信息与时间越久远的历史对话信息的关联性越小,故通过预设阈值限定历史对话信息的最大长度,从而避免随着第一对话信息包括的信息量增大,分析时间越长,提高了第二对话信息的回复速度,提高服务器性能。
S204:根据第一对话信息和风格语句,通过通用对话生成模型生成用于回复第一对话信息的第二对话信息。
通用对话生成模型是预训练得到的通用模型,或者说,通用对话生成模型是已经训练好的通用模型,能够适用于很多应用场景。例如,通用对话生成模型可以为生成型已训练变换模型(Generative Pre-trained Transformer,GPT3)等自回归语言模型。直接采用通用对话生成模型生成用于回复第一对话信息的第二对话信息,无需对通用对话生成模型进行微调或重新训练等,也无需针对当前的应用场景标注大量的数据,降低了标注成本。
参见表1,该表为通过通用对话生成模型生成第二对话信息的示意。
表1
由表1可以看出,第一对话信息相同时,不同的风格标签组合对应的对话机器人会生成不同的第二对话信息,而且第二对话信息符合其对应的风格标签组合的语气。
为了该通用对话生成模型能够适用于多种应用场景,采用了大量的训练语句进行预训练,其中,大量的训练语句(如网页、百科、新闻等)能够包括多种风格标签的组合。例如,采用一本小说的内容作为训练语句预训练得到通用对话生成模型,该小说的内容中包括多种人物角色,不同的人物角色对应于不同风格标签的组合,从而通用对话生成模型能够学习到不同人物角色的风格特征,进而在适用于某一应用场景所需的对话机器人时,也能够模仿该对话机器人的风格特征生成对应的第二对话信息。
此外,虽然在使用通用对话生成模型时,除了将第一对话信息作为输入外,还将风格语句作为输入信息。该风格语句是语义通顺度较高的语句,相比于用数值型描述对话机器人的风格标签,风格语句与通用对话生成模型在预训练所用的训练语句更为相近,都是语义通顺度较高的语句,故通用对话生成模型无需进行微调,便能够理解风格语句所表达的语义,进而生成符合对话机器人风格的第二对话信息,实现特定场景的可控生成。
由上述技术方案可以看出,获取多个风格标签,该风格标签能够体现对话机器人具有的特征,根据预设的构造规则将多个风格标签构建为风格语句。其中,多个风格标签一般为多个不连贯的短语,而风格语句是语义通顺的语句,故风格语句的语义通顺度大于多个风格标签。获取第一对话信息,根据第一对话信息和风格语句,通过通用对话生成模型生成第二对话信息,该第二对话信息是针对于第一对话信息的回复。虽然该通用对话生成模型的输入增加了风格语句,但是该风格语句的语义通顺度较高,与通用模型在预训练过程中所用的训练语句相似,故通用对话生成模型能够理解风格语句。而且,虽然通用对话生成模型是通用的,但是通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的,即通用对话生成模型能够模仿多种风格生成对应的回复,从而通用对话生成模型在获得风格语句后,能够模拟风格语句对应的风格生成符合该风格的第二对话信息。由此,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。
作为一种可能的实现方式,第一对话信息可以包括至少一条对象对话文本和至少一条对话机器人文本。其中,对话机器人文本是基于对话机器人生成的对话信息,例如,在对话机器人小红的角度生成的对话信息。对象对话文本是基于与对话机器人交互的对象生成的对话信息,例如,在与对话机器人小红对话的用户小明的角度生成的对话信息。
该种情况下,对话机器人与对象进行了多轮对话,即第一对话信息不仅包括当前对话信息,还包括历史对话信息,且历史对话信息中包括对话机器人文本。相同的内容由不同的角色说出的含义不同,例如,若用户输入“我是谁?”,对话机器人可以基于用户的相关信息生成第二对话信息,若对话机器人输入“我是谁”,对话机器人可以基于自己的相关信息生成第二对话信息,故为了提高通用对话生成模型生成的第二对话信息的准确性,可以对输入的第一对话信息进行分类,即改变第一对话信息的编码方式,为了让通用对话生成模型能够理解新的编码方式,需要对通用对话生成模型进行微调,得到场景对话生成模型,下面结合A1-A8,对通用对话生成模型的微调过程进行说明。
A1:获取第一样本对话信息和用于回复第一样本对话信息的第二样本对话信息。
第一样本对话信息是等待回复的文本内容,且其具有对应的回复,即第二样本对话信息。第一样本对话信息和第二样本对话信息构成了一组对话。
A2:对第一样本对话信息和风格语句进行分词处理,得到多个词汇文本。
第一样本对话信息和风格语句均是具有连贯性的语句,需要对其进行分词处理,得到多个词汇文本。本申请实施例不具体限定分词处理的具体方式,下面以两种为例进行说明。
方式一:拼接风格语句和第一样本对话信息,得到输入提示语句,对输入提示语句进行分词处理,得到多个词汇文本。下面结合图3进行说明。
参见图3,该图为本申请实施例提供的一种输入提示语句的示意图。在图3中,由标签名和标签值构成的五个风格标签,例如,姓名:小红等。根据风格标签得到的风格语句为小红是4岁女生,她与小明的关系不熟,她现在心情很开心。图3中还包括第一对话信息,小明:“你好”,小红:“你好呀,我是小红”,小明:“你在干什么”。
作为一种可能的实现方式,在拼接风格语句和第一样本对话信息的过程中,还可以增加连接语句,继续以图3为例,拼接风格语句和第一样本对话信息得到的输入提示信息为小红是4岁女生,她与小明的关系不熟,她现在心情很开心。下面是小红与小明的对话。小明:“你好”,小红:“你好呀,我是小红”,小明:“你在干什么”。
在得到输入提示语句后,对其进行分词处理,得到多个词汇文本。继续以图3为例,得到的多个词汇文本为小红\是\4岁\的\女生。······小明\:\“\你好\”\,\“\你好\呀\,\我\是\小红\”\,······。
方式二:对至少一条对象对话文本分别进行分词处理,对至少一条对话机器人对话文本分别进行分词处理,以及对风格语句进行分词处理,得到多个词汇文本。
在拼接之前,先对每一条对话文本分别进行分词处理,包括分别对每条对象对话文本进行分词处理,分别对每天对话机器人对话文本进行分词处理,对风格语句进行分词处理,从而得到多个词汇文本。
相比于方式一,先将所有语句拼接后再进行分词得到多个词汇文本,先分词得到多个词汇文本,能够避免两个语句拼接后,第一个语句最后一个字与第二语句第一个字构成一个更常用的分词,导致分词的准确率第的问题。由此,通过先分词得到多个词汇文本,能够提高分词处理得到的多个词汇文本的准确性,从而对话机器人能够准确理解对象的意图,进而生成的第二对话信息更为准确。
需要说明的是,拼接风格语句和第一样本对话信息,得到输入提示语句应该在根据多个词汇文本分别在词表中对应的词语编号之后执行。
A3:根据多个词汇文本分别所属的类型,得到类型编号序列。
在本申请实施例中,将多个词汇文本分为三个类型,分别是其他文本类型、对象对话文本类型和对话机器人对话文本类型。其中,对话机器人对话文本类型用于标识基于对话机器人生成的对话信息包括的词汇文本,对象对话文本类型用于标识基于与对话机器人交互的对象生成的对话信息包括的词汇文本,其他文本类型用于标识除属于对象对话文本类型和对话机器人对话文本类型之外的词汇文本。
作为一种可能的实现方式,可以将其他文本类型用0表示,对象对话文本类型用1表示,对话机器人对话文本类型用2表示\。例如,多个词汇文本为小红\是\4岁\的\女生\。\······\小明\:\“\你好\”\,\“\你好\呀\,\我\是\小红\”\,\······。则其对应的类型编号序列为000000······000100022022200·····。
A4:根据多个词汇文本分别在词表中对应的词语编号,得到词语编号序列。
词表包括了很多词汇文本,每个词汇文本在词表中均具有唯一的词语编号,即不同词汇文本在词表中对应的词语编号不同,也就是说,通过词语编号和词表可以明确词汇文本的内容。
由此,可以在词表中,确定出多个词汇文本每一个对应的词语编号,从而得到由词语编号构成的词语编号序列。需要说明的是,词语编号序列中词语编号的顺序与多个词汇文本在输入提示语句中位置一致。
A5:根据多个词汇文本分别在输入提示语句中的位置,得到位置编号序列。
位置编号序列包括多个位置编号,位置编号用于标识词汇文本在输入提示语句中的位置,其中,输入提示语句为第一样本对话信息和风格语句拼接得到的语句,处于不同位置的词汇文本在位置编号序列中的位置编号不同。作为一种可能的实现方式,位置编号可以从左到右依次递增。
参见表2,该表为本申请实施例提供的一种编号序列的示意。
表2
第一对话信息 小红 你好 小明
词语编号 1324 52 886 103 43 52
位置编号 0 1 2 3 4 5
类型编号 0 0 2 2 0 0
可以理解的是,标点符合和表情等也可以具有对应的编号,本申请对此不做具体限定。
A6:根据词语编号序列、位置编号序列和类型编号序列,得到输入提示向量。
可以对词语编号序列、位置编号序列和类型编号序列三个进行编码,得到输入提示向量。作为一种可能的实现方式,可以将词语编号序列、位置编号序列和类型编号序列输入至通用对话生成模型的输入编码层中,通过输入编码层得到输入向量序列,其中,输入编码层可以同将词语编号序列、位置编号序列和类型编号序列转换成对应的向量序列之后再相加的方式进行编码。需要说明的是,本申请对编码方式不做具体限定,本领域技术人员可以根据实际需要进行设置。
A7:将输入提示向量输入至通用对话生成模型中,通过通用对话生成模型生成第二预测对话信息。
第二预测对话信息是通用对话生成模型根据输入提示向量生成的针对于第一样本对话信息的回复。
A8:根据第二样本对话信息和第二预测对话信息的差异,调整通用对话生成模型的参数,得到场景对话生成模型。
在开始微调的过程中,第二预测对话信息和第二样本对话信息之间的差异较大,基于二者的差异调整通用对话生成模型的参数,再将第一样对话信息编码为输入提示向量,将其输入至调整参数后的通用对话生成模型中,得到第二预测对话信息,再基于第二预测对话信息和第二样本对话信息之间的差异整通用对话生成模型的参数,直至第二样本对话信息和第二预测对话信息的差异最小或者达到迭代次数等,完成微调,得到参数调整好的场景对话生成模型。
由此,根据少量第一样本对话信息和第二样本对话信息可以对通用对话生成模型进行微调,得到场景对话生成模型,相比于通用对话生成模型,微调后的场景对话生成模型更适用于当前的应用场景。其中,在微调的过程中,通过新的编码方式对第一样本信息进行编码,即根据类型编号序列、位置编号序列和词语编号序列生成输入提示向量,再将其输入至正在微调的通过对话生成模型中,从而使得通用对话生成模型能够区分第一样本对话信息中的各个词汇文本所属的类型、所在的位置,以及在词表中对应的词语编号,从而对当前的应用场景中出现的第一样本对话信息理解的更深刻,进而生成与第二样本对话信息差异更小的第二预测对话信息。
下面对基于微调的场景通用对话生成模型的应用过程进行说明,具体参见B1-B9:
B1:获取对话机器人的多个风格标签。
B2:根据预设的构造规则将多个风格标签构建为风格语句。
B3:获取第一对话信息。
B4:对第一对话信息和风格语句进行分词处理,得到多个词汇文本。
B5:根据多个词汇文本分别所属的类型,得到类型编号序列。
B6:根据多个词汇文本分别在词表中对应的词语编号,得到词语编号序列。
B7:根据多个词汇文本分别在输入提示语句中的位置,得到位置编号序列。
B8:根据词语编号序列、位置编号序列和类型编号序列,得到输入提示向量。
B9:将输入提示向量输入至场景对话生成模型中,通过场景对话生成模型生成第二预测对话信息。
可以理解的是,相比于第二对话信息,第二预测对话信息的准确率更高。
其中,场景对话生成模型是通过少量的第一样本对话信息和第二样本对话信息,微调通用对话生成模型得到的。相关技术中,会将通用对话生成模型迁移到其他场景,然后用数值型描述其他场景所需的对话机器人的风格标签,本申请实施例风格语句与通用对话生成模型在预训练所用的训练语句更为相近,都是语义通顺度较高的语句,故通用对话生成模型能够快速理解风格标签,并作出针对应用场景的适应性改变。从而相比于相关技术所采用的方案,虽然都会采用少量的样本数据,但是本申请的样本数据量会更少,一般使用300条左右的样本数据即可。
参见表3,该表为通过场景对话生成模型生成第二对话信息,且场景对话生成模型是通过少量样本数据微调通用对话生成模型得到的。
表3
由表3可以看出,第一对话信息相同时,不同的风格标签组合对应的对话机器人会生成不同的第二对话信息,而且第二对话信息符合其对应的风格标签组合的语气。此外,相比于表1零样本的方式,可以明显看出第二对话信息与风格标签的组合具有较好的相关性。而且,场景对话生成模型对于不同风格标签的反映会更明显。
下面对通用对话生成模型或场景对话生成模型的预测方式进行说明,具体参见C1-C3。
C1:获取第二对话信息中前i-1个词汇文本。
其中,i的初始值为1。当i=1时,未获取第二对话信息。当i=2时,获取第二对话信息中第1个词汇文本,当i=3时,获取第二对话信息中第2个词汇文本,依次类推。
C2:根据第二对话信息中前i-1个词汇文本、第一对话信息和风格语句,通过通用对话生成模型或场景对话生成模型生成第二对话信息中第i个词汇文本。
当i=1时,可以根据第一对话信息和风格语句,通过通用对话生成模型或场景对话生成模型生成第二对话信息中第1个词汇文本。当i=2时,根据第二对话信息中第1个词汇文本、第一对话信息和风格语句,通过通用对话生成模型或场景对话生成模型生成第二对话信息中第2个词汇文本。当i=3时,根据第二对话信息中第1个词汇文本和第2个词汇文本、第一对话信息和风格语句,通过通用对话生成模型或场景对话生成模型生成第二对话信息中第3个词汇文本,依次类推。
上述过程可以参见公式(1):
pθ(wi|x,w<i)=softmax(Fθ(x,w<i)) (1)
其中,w<i表示第二对话信息中前i-1个词汇文本,即预测得到第二对话信息中第i个词汇文本之前预测得到的词汇文本。pθ(wi|x,w<i)表示第二对话信息中第i个词汇文本被选中为wi的概率,x表示输入提示向量。Fθ表示对话生成模型或场景对话生成模型。softmax表示激活函数,可以为公式(2)所示。
其中,wij表示第二对话信息中第i个词汇文本为词表中第j个词汇文本,表示当前wij的指数在所有wij的指数中的占比。其可以保证输出的结果满足概率分布的数学形式。
C3:i的取值加1,执行C1-C2,直至生成预设的结束符或i大于预设数值,得到包括i个词汇文本的第二对话信息。
i的初始值为1,在执行一次C1和C2步骤后,i的值变为2,再次执行C1和C2步骤,不断循环,直至生成预设的结束符或i大于预设数值,得到包括i个词汇文本的第二对话信息。
其中,预设的结束符可以为句号,即生成句号后,当前句子生成完毕,没有下一个词汇文本需要预测,预设数值用于规定一句话的长度,从而得到的第二对话信息包括i个词汇文本。
由此,在得到第i个词汇文本后,可以通用对话生成模型或场景对话生成模型会将第i个词与前i-1个词拼在一起,和第一对话信息作为新的模型输入,进而得到第i+1个词汇文本。
需要说明的是,第i个词汇文本的位置编号为第一对话信息对应的提示输入向量的长度加i,类型编号为2,从而可以根据类型编号序列、词语编号序列和位置编号序列生成模型的输入,从而得到第二样本对话信息或第二预测对话信息。
基于上述预测方式,下面对通用对话生成模型或场景对话生成模型的训练过程进行说明。
训练通用对话生成模型或场景对话生成模型时,需要将训练数据构造成和C1-C3相同的输入格式。训练过程与标准的语言模型训练相同,例如,利用交叉熵损失函数计算预测得到的第二对话信息(如第二预测对话信息)与标注的第二对话信息(如第二样本对话信息)之间的损失对模型话生成模型或场景对话生成模型参数进行优化。下面以场景对话生成模型为例进行说明。具体参见D1-D5:
D1:获取第二样本对话信息中前i-1个词汇文本。
其中,i的初始值为1。当i=1时,未获取第二对话信息。当i=2时,获取第二对话信息中第1个词汇文本,当i=3时,获取第二对话信息中第2个词汇文本,依次类推。
D2:根据第二样本对话信息中前i-1个词汇文本、第一样本对话信息和风格语句,通过场景对话生成模型生成第二预测对话信息中第i个词汇文本。
D3:获取第二预测对话信息中第i个词汇文本和第二样本对话信息中第i个词汇文本的差异;
D4:i的取值加1,执行D1-D3,直至生成预设的结束符或i大于预设数值,得到i个差异。
D5:根据i个差异调整通用对话生成模型的参数,得到场景对话生成模型。
本申请实施例不具体限定通用对话生成模型或场景对话生成模型,下面结合图4,以E1-E3为例进行说明。
参见图4,该图为本申请实施例提供的一种通用对话生成模型或场景对话生成模型的示意图。在图4中,通用对话生成模型或场景对话生成模型包括输入编码层、至少一层自注意力神经网络层和输出转换层。下面分别对每一层的作用进行说明,参见E1-E3。
E1:将第二对话信息中前i-1个词汇文本、第一对话信息和风格语句输入至输入编码层,通过输入编码层进行编码,得到输入向量序列。
作为一种可能的实现方式,可以根据第二对话信息中前i-1个词汇文本、第一对话信息和风格语句得到输入提示向量,将输入提示向量输入至输入编码层中进行编码,得到输入向量序列。
继续以图4为例,i=1是,可以表2所示的词语编号序列、位置编号序列和类型编号序列输入至输入编码层,输入编码层可以将其转换成对应的向量序列之后再相加,得到输入提示向量。
E2:将输入向量序列输入至自注意力神经网络层,通过自注意力神经网络层进行预测,得到第二对话信息中第i个词汇文本的概率分布。
其中,概率分布用于描述第i个词汇文本为词表中各个词汇文本的概率,如第i个词汇文本为你好的概率为0.76,第i个词汇文本为哈喽的概率为0.12等。
E3:将概率分布输入至输出转换层,通过输出转换层解码,得到第二对话信息中第i个词汇文本。
例如,第i个词汇文本为你好的概率高于为哈喽的概率,故可以将你好作为第二对话信息中第i个词汇文本。
本申请实施例不具体限定解码方式,例如,可以为最大值解码(argmaxdecoding),柱搜索解码(beam search decoding),前K采样解码(top-k sampling)和核采样解码(nucleus sampling)等。下面以前K采样解码为例进行说明,具体参见F1-F3:
F1:获取词汇文本集合。
词汇文本集合包括概率分布中前K个概率分别对应的词汇文本。例如,将概率分布按照概率值从高到低进行排序,将排名在前K个的概率对应的词汇文本加入至词汇文本集合中。
F2:将词汇文本集合包括的词汇文本的概率进行归一化,得到新的概率分布。
参见图5,该图为本申请实施例提供的一种前K采样解码的示意图。在图5中,K=3,将概率分布(如前述所述pθ(wi|x,w<i))。按照概率值从高到低进行排序,取概率排名最高的三个词汇文本加入值词汇文本集合中,词汇文本集合包括United、Netherlands和Czech,3个词汇文本分别对应的概率为12%、2.7%和1.9%。对词汇文本集合中3个词汇文本的概率进行归一化后,3个词汇文本分别对应的概率为72%、16%和11%。
F3:根据新的概率分布从词汇文本集合中随机采样,得到第二对话信息中第i个词汇文本。
重新归一化后的概率是词汇文本集合中每个词汇文本对应的被选中概率。如,United被选为第i个词汇文本的概率为72%。
由此,通过在采样前将输出的概率分布截断,取出概率最大的k个词构成一个词汇文本集合,然后将这个词汇文本集合所包括的词汇文本的概率再归一化,最后从新的概率分布中采样词汇文本。由此,相比于仅将概率最高的词汇选为第i个词汇文本,前K采样解码的方式扩大了第i个词汇文本的选择范围,从而生成的第二对话信息更为丰富多样。
作为一种可能的实现方式,可以多次通过通用对话生成模型生成针对一个第一对话信息的多个第二对话信息,或者多次通过场景对话生成模型生成针对一个第一对话信息的多个第二预测对话信息。从而通过分类模型对多个第二对话信息或多个第二预测对话信息进行评分,进而选择一个质量更好的回复。下面结合G1-G4进行说明。
G1:根据第一对话信息和风格语句,通过通用对话生成模型或场景对话生成模型生成用于回复所述第一对话信息的待定第二对话信息。
G2:根据待定第二对话信息、第一对话信息和风格语句,通过分类模型得到待定第二对话信息的回复准确程度。
作为一种可能的实现方式,可以将待定第二对话信息、第一对话信息和风格语句拼接在一起,不同部分可以通过分隔符[CLS]隔开。第一对话信息若包括多轮对话信息,可以通过分隔符[SEP]隔开。将拼接之后得到的语句通过词表转换为词语编号,输入至分类模型得到其对应的分数。
作为一种可能的实现方式,分类模型可以为基于双向深度自注意力网络(如Bidirectional Encoder Representation from Transformers,BERT)等。
需要说明的是,排序模型也可以用于确定待定第二对话信息的回复准确程度。
G3:多次执行G1-G2步骤,得到多个待定第二对话信息分别对应的回复准确程度。
G4:根据多个回复准确程度,从多个待定第二对话信息中确定第二对话信息或者第二预测对话信息。
需要说明的是,通过通用对话生成模型生成的针对第一对话信息的回复为第二对话信息,通过场景对话生成模型生成的针对第一对话信息的回复为第二预测对话信息。
由此,通过多次预测得到针对于第一对话信息的回复,并通过分类模型分别进行打分,并选取得分最好的一组回复作为最终的回复,能够有效提升针对于第一对话信息的回复的质量,以及提升针对于第一对话信息的回复与风格标签的相关性。
本申请实施例不具体限定分类模型的训练方式,下面以一种方式为例进行说明,参见H1-H2:
H1:获取正例样本和负例样本。
其中,正例样本包括第一样本对话信息、风格语句和第二样本对话信息,负例样本包括第一样本对话信息,替换风格语句和第二样本对话信息,替换风格语句为将多个风格标签中的至少一个风格标签进行随机替换得到的。
H2:根据正例样本和负例样本训练得到分类模型。
例如,正例样本对应的标签为1,负例样本对应的标签为0,以便训练分类模型识别当前输入是正例还是反例的概率。
由此,通过构建正例样本和负例样本,从而训练得到分类模型,使得训练好的分类模型更适用于当前的应用场景,从而评分更为准确,得到的针对第一对话信息的回复更为准确。
为了便于进一步理解本申请实施例提供的技术方案,下面以本申请实施例提供的对话生成方法的执行主体为服务器,对该对话生成方法进行整体示例性介绍。
参见图6,该图为本申请实施例提供的一种对话生成方法的场景示意图。
S601:接收前端的对话请求。
需要说明的是,前端可以是前述所述运行有对话机器人APP的终端设备。用户可以通过前端与对话机器人进行实时交互。若用户输入的是语音信息,可以将语音信息转换为文本信息。
对话请求中可以包括第一对话信息和对话机器人的多个风格标签,还可以包括当前对话信息、用于指示当前对话信息对应的历史对话信息的标识,以及对话机器人的标识。
风格标签的标签名分别为:姓名、性别、年龄、性格、与用户的关系值、心情值等。每个标签名对应的标签值可由前端侧产品逻辑控制,本申请对此不做具体限定。
S602:获取对话机器人的多个风格标签。
若对话请求中包括多个风格标签,可以直接读取。若对话请求中包括对话机器人的标识,则可以根据对话机器人的标识获取对话机器人的风格标签。
S603:根据预设的构造规则将多个风格标签构建为风格语句。
S604:获取第一对话信息。
S605:构造输入提示向量。
可以通过前述B4-B8的方式得到输入提示向量。
S606:生成第二预测对话信息。
将输入提示向量输入至场景对话生成模型中,通过场景对话生成模型生成第二预测对话信息。
S607:筛选处理。
通过前述G1-G4的方式从多个待定第二预测对话信息中筛选出评分最高的一个,将其作为第二预测对话信息。
S608:返回前端进行展示。
将第二预测对话信息返回给前端,以便前端展示给用户,若用户希望是语音交互,还可以将第二预测对话信息转换成语音进行播放。
针对上文描述的对话生成方法,本申请还提供了对应的对话生成装置,以使上述对话生成方法在实际中得以应用及实现。
参见图7,该图为本申请实施例提供的一种对话生成装置的结构示意图。如图7所示,该对话生成装置700包括:第一获取单元701、构建单元702、第二获取单元703和生成单元704;
所述第一获取单元701,用于获取对话机器人的多个风格标签;
所述构建单元702,用于根据预设的构造规则将多个所述风格标签构建为风格语句,所述风格语句的语义通顺度大于多个所述风格标签;
所述第二获取单元703,用于获取第一对话信息;
所述生成单元704,用于根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,所述通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的通用模型。
由上述技术方案可以看出,获取多个风格标签,该风格标签能够体现对话机器人具有的特征,根据预设的构造规则将多个风格标签构建为风格语句。其中,多个风格标签一般为多个不连贯的短语,而风格语句是语义通顺的语句,故风格语句的语义通顺度大于多个风格标签。获取第一对话信息,根据第一对话信息和风格语句,通过通用对话生成模型生成第二对话信息,该第二对话信息是针对于第一对话信息的回复。虽然该通用对话生成模型的输入增加了风格语句,但是该风格语句的语义通顺度较高,与通用模型在预训练过程中所用的训练语句相似,故通用对话生成模型能够理解风格语句。而且,虽然通用对话生成模型是通用的,但是通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的,即通用对话生成模型能够模仿多种风格生成对应的回复,从而通用对话生成模型在获得风格语句后,能够模拟风格语句对应的风格生成符合该风格的第二对话信息。由此,通过将当前场景的特性变成通用对话生成模型能够理解的风格语句,并输入至通用对话生成模型中生成用于回复第一对话信息的第二对话信息,且通用对话生成模型是预训练得到的通用模型,从而无需针对当前场景标注大量的数据,也能够让通用模型适用于当前场景,降低了标注成本。
作为一种可能的实现方式,若所述第一对话信息包括至少一条对象对话文本和至少一条对话机器人对话文本,所述机器人对话文本为基于所述对话机器人生成的对话信息,所述对象对话文本为基于与所述对话机器人交互的对象生成的对话信息,所述装置还包括微调单元,所述微调单元包括:第三获取单元、分词处理单元、第一编码单元、第二编码单元、第三编码单元、第四编码单元、预测单元和调整单元;
所述第三获取单元,用于获取第一样本对话信息和用于回复所述第一样本对话信息的第二样本对话信息;
所述分词处理单元,用于对所述第一样本对话信息和所述风格语句进行分词处理,得到多个词汇文本;
所述第一编码单元,用于根据所述多个词汇文本分别所属的类型,得到类型编号序列,所述类型包括其他文本类型、对象对话文本类型和对话机器人对话文本类型;
所述第二编码单元,用于根据所述多个词汇文本分别在词表中对应的词语编号,得到词语编号序列,不同词汇文本在所述词表中对应的词语编号不同;
所述第三编码单元,用于根据所述多个词汇文本分别在输入提示语句中的位置,得到位置编号序列,所述输入提示语句为所述第一样本对话信息和所述风格语句拼接得到的语句,处于不同位置的词汇文本在所述位置编号序列中的位置编号不同;
所述第四编码单元,用于根据所述词语编号序列、所述位置编号序列和所述类型编号序列,得到输入提示向量;
所述预测单元,用于将所述输入提示向量输入至所述通用对话生成模型中,通过所述通用对话生成模型生成第二预测对话信息;
所述调整单元,用于根据所述第二样本对话信息和所述第二预测对话信息的差异,调整所述通用对话生成模型的参数,得到场景对话生成模型。
作为一种可能的实现方式,所述分词处理单元,具体用于:
拼接所述风格语句和所述第一样本对话信息,得到所述输入提示语句;
对所述输入提示语句进行分词处理,得到多个词汇文本。
作为一种可能的实现方式,所述分词处理单元,具体用于:
对所述至少一条对象对话文本分别进行分词处理,对所述至少一条对话机器人对话文本分别进行分词处理,以及对所述风格语句进行分词处理,得到多个词汇文本;
所述装置还包括拼接单元,用于:
在所述根据所述多个词汇文本分别在词表中对应的词语编号之后,拼接所述风格语句和所述第一样本对话信息,得到所述输入提示语句。
作为一种可能的实现方式,所第二对话信息包括i个词汇文本,所述生成单元704,具体用于:
获取所述第二对话信息中前i-1个词汇文本,i的初始值为1;
根据所述第二对话信息中前i-1个词汇文本、所述第一对话信息和所述风格语句,通过所述通用对话生成模型生成所述第二对话信息中第i个词汇文本;
i的取值加1,执行所述获取所述第二对话信息中前i-1个词汇文本以及后续步骤,直至生成预设的结束符或i大于预设数值,得到包括i个词汇文本的第二对话信息。
作为一种可能的实现方式,所述通用对话生成模型包括输入编码层、自注意力神经网络层和输出转换层,所述生成单元704,具体用于:
将所述第二对话信息中前i-1个词汇文本、所述第一对话信息和所述风格语句输入至所述输入编码层,通过所述输入编码层进行编码,得到输入向量序列;
将所述输入向量序列输入至所述自注意力神经网络层,通过所述自注意力神经网络层进行预测,得到所述第二对话信息中第i个词汇文本的概率分布,所述概率分布用于描述所述第i个词汇文本为词表中各个词汇文本的概率;
将所述概率分布输入至所述输出转换层,通过所述输出转换层解码,得到所述第二对话信息中第i个词汇文本。
作为一种可能的实现方式,所述生成单元704,具体用于:
获取词汇文本集合,所述词汇文本集合包括所述概率分布中前K个概率分别对应的词汇文本;
将所述词汇文本集合包括的词汇文本的概率进行归一化,得到新的概率分布;
根据所述新的概率分布从所述词汇文本集合中随机采样,得到所述第二对话信息中第i个词汇文本。
作为一种可能的实现方式,所述生成单元704,具体用于:
根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的待定第二对话信息;
根据所述待定第二对话信息、所述第一对话信息和所述风格语句,通过分类模型得到所述待定第二对话信息的回复准确程度;
多次执行所述根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的待定第二对话信息的步骤及后续步骤,得到多个所述待定第二对话信息分别对应的回复准确程度;
根据多个所述回复准确程度,从多个所述待定第二对话信息中确定所述第二对话信息。
作为一种可能的实现方式,所述装置还包括训练单元,用于:
获取正例样本和负例样本,所述正例样本包括第一样本对话信息、所述风格语句和所述第二样本对话信息,所述负例样本包括所述第一样本对话信息,替换风格语句和所述第二样本对话信息,所述替换风格语句为将所述多个风格标签中的至少一个风格标签进行随机替换得到的;
根据所述正例样本和所述负例样本训练得到所述分类模型。
作为一种可能的实现方式,所述第一对话信息包括当前对话信息和历史对话信息。
作为一种可能的实现方式,所述历史对话信息的轮数小于预设阈值。
本申请实施例还提供了一种计算机设备,该计算机设备为前述介绍的计算机设备,该计算机设备可以为服务器或者终端设备,前述所述的对话生成装置可以内置于服务器或终端设备中,下面将从硬件实体化的角度对本申请实施例提供的计算机设备进行介绍。其中,图8所示为服务器的结构示意图,图9所示为终端设备的结构示意图。
参见图8,该图为本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1422,如中央处理器(Central Processing Units,CPU),存储器1432,一个或一个以上应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
其中,CPU 1422用于执行如下步骤:
获取对话机器人的多个风格标签;
根据预设的构造规则将多个所述风格标签构建为风格语句,所述风格语句的语义通顺度大于多个所述风格标签;
获取第一对话信息;
根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,所述通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的通用模型。
可选的,CPU 1422还可以执行本申请实施例中对话生成方法任一具体实现方式的方法步骤。
参见图9,该图为本申请实施例提供的一种终端设备的结构示意图。图9示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图,该智能手机包括:射频(Radio Frequency,简称RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(简称WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图9中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对智能手机的各个构成部件进行具体的介绍:
RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现智能手机的各种功能应用以及数据处理。
输入单元1530可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作,并根据预先设定的程式驱动相应的连接装置。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1541。
智能手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与智能手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一智能手机,或者将音频数据输出至存储器1520以便进一步处理。
处理器1580是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1580可包括一个或多个处理单元。
智能手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该智能手机所包括的存储器1520可以存储程序代码,并将所述程序代码传输给所述处理器。
该智能手机所包括的处理器1580可以根据所述程序代码中的指令执行上述实施例提供的对话生成方法。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的对话生成方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的对话生成方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-Only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (15)

1.一种对话生成方法,其特征在于,所述方法包括:
获取对话机器人的多个风格标签;
根据预设的构造规则将多个所述风格标签构建为风格语句,所述风格语句的语义通顺度大于多个所述风格标签;
获取第一对话信息;
根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,所述通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的通用模型。
2.根据权利要求1所述的方法,其特征在于,若所述第一对话信息包括至少一条对象对话文本和至少一条对话机器人对话文本,所述机器人对话文本为基于所述对话机器人生成的对话信息,所述对象对话文本为基于与所述对话机器人交互的对象生成的对话信息,所述方法还包括:
获取第一样本对话信息和用于回复所述第一样本对话信息的第二样本对话信息;
对所述第一样本对话信息和所述风格语句进行分词处理,得到多个词汇文本;
根据所述多个词汇文本分别所属的类型,得到类型编号序列,所述类型包括其他文本类型、对象对话文本类型和对话机器人对话文本类型;
根据所述多个词汇文本分别在词表中对应的词语编号,得到词语编号序列,不同词汇文本在所述词表中对应的词语编号不同;
根据所述多个词汇文本分别在输入提示语句中的位置,得到位置编号序列,所述输入提示语句为所述第一样本对话信息和所述风格语句拼接得到的语句,处于不同位置的词汇文本在所述位置编号序列中的位置编号不同;
根据所述词语编号序列、所述位置编号序列和所述类型编号序列,得到输入提示向量;
将所述输入提示向量输入至所述通用对话生成模型中,通过所述通用对话生成模型生成第二预测对话信息;
根据所述第二样本对话信息和所述第二预测对话信息的差异,调整所述通用对话生成模型的参数,得到场景对话生成模型。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一样本对话信息和所述风格语句进行分词处理,得到多个词汇文本,包括:
拼接所述风格语句和所述第一样本对话信息,得到所述输入提示语句;
对所述输入提示语句进行分词处理,得到多个词汇文本。
4.根据权利要求2所述的方法,其特征在于,所述对所述第一样本对话信息和所述风格语句进行分词处理,得到多个词汇文本,包括:
对所述至少一条对象对话文本分别进行分词处理,对所述至少一条对话机器人对话文本分别进行分词处理,以及对所述风格语句进行分词处理,得到多个词汇文本;
在所述根据所述多个词汇文本分别在词表中对应的词语编号之后,所述方法还包括:
拼接所述风格语句和所述第一样本对话信息,得到所述输入提示语句。
5.根据权利要求1所述的方法,其特征在于,所第二对话信息包括i个词汇文本,所述根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,包括:
获取所述第二对话信息中前i-1个词汇文本,i的初始值为1;
根据所述第二对话信息中前i-1个词汇文本、所述第一对话信息和所述风格语句,通过所述通用对话生成模型生成所述第二对话信息中第i个词汇文本;
i的取值加1,执行所述获取所述第二对话信息中前i-1个词汇文本以及后续步骤,直至生成预设的结束符或i大于预设数值,得到包括i个词汇文本的第二对话信息。
6.根据权利要求5所述的方法,其特征在于,所述通用对话生成模型包括输入编码层、自注意力神经网络层和输出转换层,所述根据所述第二对话信息中前i-1个词汇文本、所述第一对话信息和所述风格语句,通过所述通用对话生成模型生成所述第二对话信息中第i个词汇文本,包括:
将所述第二对话信息中前i-1个词汇文本、所述第一对话信息和所述风格语句输入至所述输入编码层,通过所述输入编码层进行编码,得到输入向量序列;
将所述输入向量序列输入至所述自注意力神经网络层,通过所述自注意力神经网络层进行预测,得到所述第二对话信息中第i个词汇文本的概率分布,所述概率分布用于描述所述第i个词汇文本为词表中各个词汇文本的概率;
将所述概率分布输入至所述输出转换层,通过所述输出转换层解码,得到所述第二对话信息中第i个词汇文本。
7.根据权利要求6所述的方法,其特征在于,所述将所述概率分布输入至所述输出转换层,通过所述输出转换层解码,得到所述第二对话信息中第i个词汇文本,包括:
获取词汇文本集合,所述词汇文本集合包括所述概率分布中前K个概率分别对应的词汇文本;
将所述词汇文本集合包括的词汇文本的概率进行归一化,得到新的概率分布;
根据所述新的概率分布从所述词汇文本集合中随机采样,得到所述第二对话信息中第i个词汇文本。
8.根据权利要求1所述的方法,其特征在于,所述根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,包括:
根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的待定第二对话信息;
根据所述待定第二对话信息、所述第一对话信息和所述风格语句,通过分类模型得到所述待定第二对话信息的回复准确程度;
多次执行所述根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的待定第二对话信息的步骤及后续步骤,得到多个所述待定第二对话信息分别对应的回复准确程度;
根据多个所述回复准确程度,从多个所述待定第二对话信息中确定所述第二对话信息。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取正例样本和负例样本,所述正例样本包括第一样本对话信息、所述风格语句和所述第二样本对话信息,所述负例样本包括所述第一样本对话信息,替换风格语句和所述第二样本对话信息,所述替换风格语句为将所述多个风格标签中的至少一个风格标签进行随机替换得到的;
根据所述正例样本和所述负例样本训练得到所述分类模型。
10.根据权利要求1-9任意一项所述的方法,其特征在于,所述第一对话信息包括当前对话信息和历史对话信息。
11.根据权利要求10所述的方法,其特征在于,所述历史对话信息的轮数小于预设阈值。
12.一种对话生成装置,其特征在于,所述装置包括:第一获取单元、构建单元、第二获取单元和生成单元;
所述第一获取单元,用于获取对话机器人的多个风格标签;
所述构建单元,用于根据预设的构造规则将多个所述风格标签构建为风格语句,所述风格语句的语义通顺度大于多个所述风格标签;
所述第二获取单元,用于获取第一对话信息;
所述生成单元,用于根据所述第一对话信息和所述风格语句,通过通用对话生成模型生成用于回复所述第一对话信息的第二对话信息,所述通用对话生成模型是根据包括多种风格标签的训练语句预训练得到的通用模型。
13.一种计算机设备,其特征在于,所述计算机设备包括:处理器以及存储器:
所述存储器,用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器,用于根据所述计算机程序中的指令执行权利要求1-11中任意一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-11中任意一项所述的方法。
15.一种包括计算机程序的计算机程序产品,其特征在于,当其在计算机设备上运行时,使得所述计算机设备执行权利要求1-11中任意一项所述的方法。
CN202211212874.4A 2022-09-30 2022-09-30 一种对话生成方法和相关装置 Pending CN117851549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211212874.4A CN117851549A (zh) 2022-09-30 2022-09-30 一种对话生成方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211212874.4A CN117851549A (zh) 2022-09-30 2022-09-30 一种对话生成方法和相关装置

Publications (1)

Publication Number Publication Date
CN117851549A true CN117851549A (zh) 2024-04-09

Family

ID=90527567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211212874.4A Pending CN117851549A (zh) 2022-09-30 2022-09-30 一种对话生成方法和相关装置

Country Status (1)

Country Link
CN (1) CN117851549A (zh)

Similar Documents

Publication Publication Date Title
CN109918680B (zh) 实体识别方法、装置及计算机设备
CN110490213B (zh) 图像识别方法、装置及存储介质
CN113205817B (zh) 语音语义识别方法、系统、设备及介质
CN109977207A (zh) 对话生成方法、对话生成装置、电子设备及存储介质
CN112214591B (zh) 一种对话预测的方法及装置
CN110457661B (zh) 自然语言生成方法、装置、设备及存储介质
CN109977201A (zh) 带情感的机器聊天方法、装置、计算机设备及存储介质
EP4113357A1 (en) Method and apparatus for recognizing entity, electronic device and storage medium
CN115309877B (zh) 对话生成方法、对话模型训练方法及装置
CN116166782A (zh) 一种基于深度学习的智能问答方法
CN113204611A (zh) 建立阅读理解模型的方法、阅读理解方法及对应装置
CN114328852A (zh) 一种文本处理的方法、相关装置及设备
US20230094730A1 (en) Model training method and method for human-machine interaction
CN112463942A (zh) 文本处理方法、装置、电子设备及计算机可读存储介质
CN109933773A (zh) 一种多重语义语句解析系统及方法
CN113326367B (zh) 基于端到端文本生成的任务型对话方法和系统
CN115062718A (zh) 语言模型训练方法、装置、电子设备及存储介质
CN114547244A (zh) 用于确定信息的方法和装置
CN109002498B (zh) 人机对话方法、装置、设备及存储介质
CN114818665B (zh) 一种基于bert+bilstm+crf与xgboost模型的多意图识别方法和系统
CN117851549A (zh) 一种对话生成方法和相关装置
CN112836522B (zh) 语音识别结果的确定方法及装置、存储介质及电子装置
CN114662484A (zh) 语义识别方法、装置、电子设备及可读存储介质
CN113761152A (zh) 一种问答模型的训练方法、装置、设备及存储介质
CN113821609A (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