掌桥专利:专业的专利平台
掌桥专利
首页

内容生成、模型构建、数据处理方法、装置、设备及介质

文献发布时间:2024-04-18 19:58:26


内容生成、模型构建、数据处理方法、装置、设备及介质

技术领域

本公开涉及自然语言处理技术领域,尤其涉及内容生成、模型构建、数据处理方法、装置、设备及介质。

背景技术

随着语言类大模型的快速发展,目前的对话系统具备优异的文本理解能力与对话能力,可以支持人机间的多轮对话,多轮对话系统已应用在智能客服、智能助手、聊天机器人等多种领域中。多轮对话的关键在于理解和解决上下文相关的问题,已有的多轮对话系统在对话时生成的答复内容的精确性还有待提升。

发明内容

为克服相关技术中存在的问题,本公开提供了内容生成、模型构建、数据处理方法、装置、设备及介质

根据本说明书实施例的第一方面,提供一种对话内容的生成方法,所述方法包括:

响应于用户发起的对话,获取对话数据;其中,在本轮对话为首轮对话的情况下,所述对话数据为本轮对话中的用户当前问题;在本轮对话并非首轮对话的情况下,所述对话数据包含本轮对话中的用户当前问题、以及在本轮对话之前的其他轮历史对话中每轮历史对话的用户历史问题;

将所述对话数据输入至独立问题转化模型,由所述独立问题转化模型将所述对话数据转化为表征用户在本轮对话的用户意图的独立问题;其中,所述独立问题转化模型是使用训练数据集对预设的预训练语言模型进行训练得到的,所述训练数据集中训练样本包含多轮对话样本以及独立问题样本,所述独立问题样本指示所述多轮对话样本中最新一轮对话样本的用户意图;

将转化得到的独立问题输入至多轮对话系统,由所述多轮对话系统根据所述独立问题生成对所述本轮对话的答复内容。

根据本说明书实施例的第二方面,提供一种独立问题转化模型的构建方法,所述方法包括:

获取训练数据集,所述训练数据集中训练样本包含多轮对话样本以及独立问题样本,所述独立问题样本指示所述多轮对话样本中最新一轮对话样本的用户意图;

将所述训练数据集中的训练样本输入至预设的预训练语言模型,以由所述预训练语言模型基于输入的多轮对话样本预测出表征用户在本轮对话样本的用户意图的独立问题,以最小化预测出的独立问题与所述独立问题样本的误差为优化目标对所述预训练语言模型进行训练,得到独立问题转化模型;

所述独立问题转化模型用于根据输入的对话数据,生成所述对话数据中表征用户在本轮对话的用户意图的独立问题。

根据本说明书实施例的第三方面,提供一种对话数据的处理方法,所述方法包括:

响应于用户发起的对话,获取对话数据;其中,在本轮对话为首轮对话的情况下,所述对话数据为本轮对话中的用户当前问题;在本轮对话并非首轮对话的情况下,所述对话数据包含本轮对话中的用户当前问题、以及在本轮对话之前的其他轮历史对话中每轮历史对话的用户历史问题;

将所述对话数据输入至独立问题转化模型,由所述独立问题转化模型将所述对话数据转化为表征用户在本轮对话的用户意图的独立问题;

其中,所述独立问题转化模型是使用训练数据集对预设的预训练语言模型进行训练得到的,所述训练数据集中训练样本包含多轮对话样本以及独立问题样本,所述独立问题样本指示所述多轮对话样本中最新一轮对话样本的用户意图;所述独立问题转化模型对所述对话数据转化得到的独立问题用于输入至多轮对话系统,以由所述多轮对话系统根据所述独立问题生成对所述本轮对话的答复内容。

根据本说明书实施例的第四方面,提供一种对话内容的生成装置,所述装置包括:

获取模块,用于:响应于用户发起的对话,获取对话数据;其中,在本轮对话为首轮对话的情况下,所述对话数据为本轮对话中的用户当前问题;在本轮对话并非首轮对话的情况下,所述对话数据包含本轮对话中的用户当前问题、以及在本轮对话之前的其他轮历史对话中每轮历史对话的用户历史问题;

输入模块,用于:将所述对话数据输入至独立问题转化模型,由所述独立问题转化模型将所述对话数据转化为表征用户在本轮对话的用户意图的独立问题;其中,所述独立问题转化模型是使用训练数据集对预设的预训练语言模型进行训练得到的,所述训练数据集中训练样本包含多轮对话样本以及独立问题样本,所述独立问题样本指示所述多轮对话样本中最新一轮对话样本的用户意图;

答复模块,用于:将转化得到的独立问题输入至多轮对话系统,由所述多轮对话系统根据所述独立问题生成对所述本轮对话的答复内容。

根据本说明书实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面或第二方面或第三方面所述方法实施例的步骤。

根据本说明书实施例的第六方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现前述第一方面或第二方面或第三方面所述方法实施例的步骤。

本说明书的实施例提供的技术方案可以包括以下有益效果:

本说明书实施例中,设计了一个独立问题转化模型,该独立问题转化模型是使用训练数据集对预训练语言模型进行训练得到的,训练数据集中训练样本可以包含多轮对话样本以及独立问题样本,独立问题样本可以指示所述多轮对话样本中最新一轮对话样本的用户意图。因此,独立问题转化模型可以将用户的一轮或多轮对话转化为表征用户在本轮对话的用户意图的独立问题,在为用户的本轮对话进行答复时,是将独立问题转化模型转化得到的独立问题输入至下游的多轮对话系统,因此给与多轮对话系统明确的用户意图的指示,使得多轮对话系统能够生成符合用户意图的答复内容,提升了多轮对话系统的答复内容的准确率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本公开的原理。

图1是本说明书根据一示例性实施例示出的一种独立问题转化模型的构建方法的流程图。

图2A是本说明书根据一示例性实施例示出的一种对话场景示意图。

图2B是本说明书根据一示例性实施例示出的一种对话内容的生成方法的流程图。

图2C是本说明书根据一示例性实施例示出的一种对话数据的处理方法的流程图。

图3是本说明书根据一示例性实施例示出的一种对话内容的生成装置所在计算机设备的一种硬件结构图。

图4是本说明书根据一示例性实施例示出的一种对话内容的生成装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

首先对相关术语进行解释说明:

文本生成(Text Generation):是指使用计算机程序自动生成符合特定规则、结构或语言风格的文本,可以是一段话、一篇文章、一封邮件等。文本生成通常基于人工智能和自然语言处理技术,通过对文本语言结构、语法规则、词汇语义等方面的理解和分析,生成符合预期的文本内容。文本生成的应用场景非常广泛,例如自动生成新闻文章、科学文献、小说、广告文案等。

LLM:大语言模型(Large Language Model)是一种基于深度学习的自然语言处理模型,可以通过大规模的数据集进行训练,从而生成类似于自然语言的文本。这种模型通常由大量的神经网络组成,可以自动学习和理解语言中的规律和结构。LLM可以应用于机器翻译、问答系统、聊天机器人等领域,可以生成高质量的文本,从而提高自然语言处理的效率和准确性。其中最著名的LLM是由OpenAI开发的GPT系列(GPT-1、GPT-2、GPT-3),它们在自然语言生成和理解方面取得了非常出色的表现。

多轮对话(Multi-turn Conversation):是指人与计算机或人与人之间的交互式对话,可以包括多个轮次或回合。在多轮对话中,每个轮次通常包括一个发言者(如用户或计算机)和一个接收者,他们可以通过语音或文本进行交流,直到达成某种目标或结束对话。多轮对话可以应用于许多领域,例如智能客服、智能助手、聊天机器人等。多轮对话的关键在于理解和解决上下文相关的问题,包括理解对话历史、提取关键信息、生成相关响应等,这需要使用自然语言处理和人工智能技术。

文本检索(Text Retrieval):是指在大规模文本集合中自动搜索和检索与用户查询或关键词相关的文本信息。文本检索系统通常由两个主要组成部分组成:查询处理和文本匹配。查询处理包括对用户查询的解析和处理,通常使用自然语言处理技术将用户查询转换为可供检索的文本表示形式。文本匹配包括将查询与文本集合中的文本进行比较,找到与查询最相关的文本并返回给用户。文本检索系统可以应用于许多领域,例如互联网搜索、电子邮件过滤、信息管理等。

意图识别:意图是对用户指令的一个归类抽象,当用户像对话系统说了一句话,对话系统需要判断用户的实际想表达的是问天气、定闹钟还是其他。意图识别是一个典型的分类任务,目的是识别用户搜索词query要查询的对象。除了明确的名词外,很多query都是模糊的,可能有多个类别满足情况,所以意图模块主要是输出一个类目的概率分布。除此之外还可以使用文本匹配,为每个意图都准备一批标准说法,实际用户输入时,将用户的话术与说法库的每一条做相似度比较。如果相似度达到某个阈值则说明当前用户话术属于该意图。

Prompt(提示):Prompt可以被理解为一种指定LLM生成侧重方向的方式,它是一段文本或语句,用于指导LLM生成特定类型、主题或格式的输出。通过精心设计的提示(Prompt)来引导一个基础模型朝着期望的先验方向进行是目前门槛最低的方法,有时候该方法也被成为无梯度调优。Prompt利用了训练时看到的关联和先验信息,例如,可以通过类似“你是一个美食专家…”的Prompt方式,让LLM输出更加偏向美食维度的答案。

在实际应用中,很多任务需要与用户进行多轮交互,以获得更详细和准确的信息,并提供更精确的答案或解决方案。但当前多轮对话系统在垂直领域也存在一些问题,例如难以确定用户意图、信息冗余和交互复杂度等,这些问题会影响多轮对话系统的效率和精确性。

本说明书实施例中,设计了一个独立问题转化模型,该独立问题转化模型是使用训练数据集对预训练语言模型进行训练得到的,训练数据集中训练样本可以包含多轮对话样本以及独立问题样本,独立问题样本可以指示多轮对话样本中最新一轮对话样本的用户意图。因此,独立问题转化模型可以将用户的一轮或多轮对话转化为表征用户在本轮对话的用户意图的独立问题,在为用户的本轮对话进行答复时,是将独立问题转化模型转化得到的独立问题输入至下游的多轮对话系统,给与多轮对话系统明确的用户意图的指示,使得多轮对话系统能够生成符合用户意图的答复内容,提升了多轮对话系统的答复内容的准确率。接下来对本说明书实施例进行详细说明。

本实施例的对话内容的生成方案可以应用于任意交互系统中,交互系统包括服务端至少一个客户端,示例性地,客户端可以通过网络访问服务端以使用服务端提供的服务,包括但不限于商品配送服务、商品购买服务、阅读服务、音视频播放服务、或者搜索服务等等。

服务端可以是安装在后台设备中为用户提供服务的程序,后台设备可以是服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

客户端可以是安装在用户设备中为用户提供服务的程序,客户端包括但不限于应用程序APP、Web网页、小程序、插件或组件等。用户设备包括但不限于智能手机、个人数字助理、平板电脑、个人计算机、笔记本电脑、虚拟现实终端设备、增强现实终端设备等。

本说明书实施例提供的对话内容的生成方法可以由服务端和客户端中的任一种来执行,或者由两者配合(两者各执行一部分步骤)来执行,本实施例对此不做任何限制。以服务端执行为例,服务端可以部署有独立问题转化模型和多轮对话系统,客户端可以将用户输入的问题发送给服务端,服务端可以执行本说明书实施例提供的对话内容的生成方法得到答复内容,进而可以将答复内容发送给客户端,以使得客户端可以展示该答复内容。或者也可以在客户端中部署独立问题转化模型和多轮对话系统,由客户端执行答复内容生成方法。

本说明书实施例提供的答复内容生成模型的训练方法可以由服务端来执行,或者也可以由区别于服务端的其他计算机设备来执行,本实施例对此不做任何限制。

在另一示例性的实施例中,本说明书实施例提供的对话内容生成方法以及独立问题转化模型的构建方法可以由相同的计算机设备来执行,或者也可以由不同的计算机设备来执行,本实施例对此不做任何限制。

本实施例的方案可以应用于多种对话场景,例如,多轮对话系统可以是在线客服系统、智能助手系统、智能问答系统等等;另外,多轮对话系统可以是多领域对话系统,可处理各种不同领域的对话,例如,一个多领域对话系统可以处理用户关于天气、电影、餐馆预订等各种话题的查询和交流。多轮对话系统还可以是应用于垂直领域的对话系统,垂直领域对话系统是专注于特定领域或行业的对话系统,用于特定领域的任务和对话场景。这种对话系统在特定领域中可以提供更深入和精确的信息和反馈,因为它们对该领域的相关知识和内容有更好的理解。

首先对独立问题转化模型的构建方法实施例进行说明。如图1所示,图1是本说明书根据一示例性实施例示出的一种独立问题转化模型的构建方法的流程图,包括以下步骤:

步骤102、获取训练数据集。

训练数据集中训练样本包含多轮对话样本以及独立问题样本,独立问题样本指示多轮对话样本中最新一轮对话样本的用户意图。

步骤104、将训练数据集中的训练样本输入至预设的预训练语言模型,以由预训练语言模型基于输入的多轮对话样本预测出表征用户在本轮对话样本的用户意图的独立问题,以最小化预测出的独立问题与独立问题样本的误差为优化目标对预训练语言模型进行训练,得到独立问题转化模型。

示例性的,可以预先设置训练数据集。训练数据集的获取方式本实施例对此不进行限定。例如,对话(Question Answering,QA)是一个经久不衰的任务,大规模高质量的数据集是训练和评估模型的关键因素之一。在对话QA任务中,海量对话数据集是必不可少的,因为它们可以用于训练和评估自然语言处理模型,从而提高模型的准确性和性能。海量对话数据集可以包括不同类型的对话数据,例如人机对话、人人对话、社交媒体对话等。这些数据集可以使用来自不同领域和背景的人们的真实数据,以确保数据的真实性和多样性。这些数据集通常被标注为有用的信息,如对话历史、意图、答案、情感等。因此,可以获取已开源的对话数据集,本实施例的训练数据集可以基于对一种或多种已开源的对话数据集进行处理得到。

上述的公开的数据集都是各个领域混合在一起的,若本实施例方案应用于某个垂直领域的问答场景,可能没有与所要应用的垂直领域相关的数据集。基于此,可以从一个或多个已开源的对话数据集中筛选出符合该垂直领域的对话数据集,从而可以训练出在某个垂直领域具有较好表现效果的独立问题转化模型。

作为一个示例,本实施例的对话场景是应用于本地生活服务的餐饮/美食领域,可以基于餐饮领域的关键词去筛选出符合本领域的对话数据集。例如,可以预先设置该垂直领域的词库,词库中包含该垂直领域的专有的关键词,从已有的对话数据集中剔除与词库中关键词不相关的对话数据,从而得到符合该垂直领域的对话数据集。当前的数据量可能千万级别的,可以使用文本匹配和正则表达式去筛选数据可能复杂度较高,还可以采用目大规模文本数据清洗、查找、或AC(Aho-Corasick,AC自动机)字典树等方案。

考虑到前述提及的已公开数据集与本实施例的对话场景所应用领域不同的情况下,已公开数据集中,一些数据集是基于影视作品(如电影或电视剧)中的角色对话生成的,一些数据集是基于一些论坛中用户的聊天记录生成的,这些数据集中的多轮对话数据可能与本实施例中用户与多轮对话系统之间的实际对话场景不相符。例如,本实施例方案应用于推荐场景,该场景中用户的对话需求是希望对话系统能够对某个领域的对象进行推荐,实际对话场景中用户输入与推荐对象相关的描述文本,以使对话系统基于输入的描述文本答复相关的推荐对象。而已公开的对话数据集中的对话场景与上述推荐场景并不相符,若采用这些对话数据集训练得到的独立问题转化模型,模型的预测效果可能不够精确。为了获得与本实施例对话场景相符合的对话数据,以保障训练的模型具有较好的预测结果,在一些例子中,多轮对话样本可以是通过如下方式得到的:

获取历史搜索词序列,历史搜索词序列包含了用户在历史时间段内搜索的一个或多个搜索词,搜索词用于搜索目标对象;

根据历史搜索词序列中的各搜索词生成第一提示文本,将第一提示文本输入至第一预训练语言模型,由第一预训练模型根据第一提示文本生成与历史搜索词序列对应的多轮对话;其中,第一提示文本用于指示第一预训练语言模型分别以用户的身份和推荐专家的身份进行多轮对话且对话主题与历史搜索词序列中的各搜索词相关。

作为一个示例,已有的客户端中通过搜索功能与用户进行交互,搜索功能具体可以是一个搜索框(当然还可能有其他的展示形态),让用户可以通过输入搜索词来查找所需的目标对象,例如菜品、商品、服务或者文章等等。客户端的搜索框是用户与平台进行交互的接口,当用户在搜索框中输入搜索词时,客户端会根据搜索引擎或自定义的搜索算法,将搜索词与对象库中的相关信息进行匹配和搜索。匹配的结果将以列表形式展示给用户,可以包括相关推荐对象的名称、描述、价格等信息。

客户端可以通过日志等方式存储用户的历史搜索记录,历史搜索记录保存了用户在一段时间内搜索过的一个或多个搜索词序列。相关技术中的历史搜索记录是用于个性化推荐,例如,基于用户的搜索历史记录和行为数据,客户端可以根据用户的兴趣和喜好进行个性化推荐。

而本实施例是基于历史搜索记录来构造历史搜索词序列,以自动生成符合实际对话场景的多轮对话样本。本实施例限定历史搜索词序列包含的是用户在历史设定时间段内输入的搜索词,是考虑到用户在使用客户端搜索所需的目标对象时,用户会输入搜索词,根据客户端的搜索结果,若不符合用户所需,用户可能会再次输入其他搜索词,直至用户搜索到所需的目标对象;如此,用户在较短的一段时间内多次输入的搜索词,表征了用户从开始搜索到结束搜索期间的搜索行为,这些搜索词的变化也表征了用户的搜索意图的变化和演进。例如,用户一开始可能输入比较宽泛的搜索词,随着搜索结果的筛选和调整,可能逐渐缩小搜索范围或者改变搜索关键词,直至找到满意的目标对象。

改进为采用多轮对话系统为用户提供推荐对象,用户与多轮对话系统的交互过程实际上与上述的搜索行为是类似的。用户一开始可能向多轮对话系统提出一些问题,随着多轮对话系统的答复,用户可能逐渐调整问题,直至多轮对话系统答复用户满意的目标对象。因此,本实施例基于历史搜索词序列能够构造出与实际对话过程相符的多轮对话样本。

其中,预训练语言模型是指具有巨大参数规模和学习能力的自然语言处理模型,可以包括但不限于GPT(Generative Pre-trained Transformer)模型及其变种模型、中文语言模型及其变种模型等。本实施例的第一预训练语言模型可以根据实际需要进行灵活选择,例如可以是ChatGPT或ChatGLM等等。

在一些例子中,第一提示文本可以包含如下一种或多种信息:

①指示第一预训练语言模型以分别以用户的身份和推荐专家的身份进行对话的角色信息。

例如可以是如下的文本“你是用户,在和美食推荐专家进行对话”等类似的内容,实际应用中可以根据需要灵活调整,本实施例对此不进行限定。如此可以指示模型其需要扮演的角色,激活模型在对话领域的专业能力。

②指示第一预训练语言模型生成多轮对话、每轮对话中用户的问题与历史搜索词序列中一个或多个搜索词相关、且每轮对话中推荐专家的答复与历史搜索词序列中一个或多个搜索词对应的推荐对象相关的任务信息。

以历史搜索词序列中包含“炒粉、粉丝粉丝煲、鸭血粉丝汤、车仔面”的搜索词为例,可以是如下的文本“给定话题炒粉、粉丝粉丝煲、鸭血粉丝汤、车仔面,基于以上内容生成多轮对话,你要提供美食的筛选条件和对专家回复的意见,美食推荐专家会根据你提供的筛选条件给出推荐结果”。实际应用中可以根据需要灵活调整,本实施例对此不进行限定。如此,可以向模型提供清晰的任务定义,使其正确执行任务。

③指示第一预训练语言模型输出的多轮对话的格式的格式信息。

实际应用中可以根据需要进行配置,例如可以包含“每轮对话度不要超过50个字”等,本实施例对此不进行限定。

可选的,还可以根据需要设置其他附加条件信息,例如可以包含如“对话中不要出现任何敏感信息”,或者基于推荐具体商品的考虑,可以要求不推荐店铺如“不要推荐餐馆餐厅等类似内容”等等。本实施例对此不进行限定,

作为例子,第一提示文本具体可以是如下的例子:

将上述第一提示文本输入至第一预训练语言模型,由第一预训练语言模型生成多轮对话;作为一个示例,第一预训练语言模型基于上述表格中的第一提示文本生成的多轮对话可以是如下例子:

用户:请问有没有比较正宗的炒粉推荐?

专家:炒粉种类很多,你需要什么口味的呢?

用户:我想尝试一下广东的炒粉,有没有推荐?

专家:广东的炒粉比较有名的是广州的肠粉和深圳的炒粉,你可以考虑这两种。

用户:我喜欢吃粉丝,有没有好吃的粉丝煲推荐?

专家:粉丝煲在湖南比较有名,可以试试辣椒粉丝煲或鱼头粉丝煲。

用户:听说鸭血粉丝汤很不错,有没有推荐?

专家:鸭血粉丝汤是江苏南京的特色美食,汤鲜味美,可以去尝试一下。

用户:我想吃一碗正宗的车仔面,怎么选择?

专家:车仔面最好是选择在广东的街头小摊尝尝,可以保证正宗的口感。

实际应用中,考虑对于历史搜索词序列中各个搜索词之间相关性较差的序列,第二预训练语言模型可能无法生成连贯的多轮对话,这是因为语言模型是基于统计和上下文理解来生成回复的,如果历史搜索词之间没有明显的联系或上下文,则模型可能难以准确捕捉用户意图并产生连贯的回复。例如,历史搜索词序列中包含的搜索词为火锅和咖啡,两者代表了两种不同的餐饮类目,不太可能在相同的上下文或话题中同时提及到,因此语言模型生成的多轮对话中,两个query对应的QA对话是完全割裂的。

而对于相关性较强的序列,例如包含“母鸡和老母鸡”的搜索词序列,生成的对话上下文连续性较强。

针对用户的实际使用场景,在对话系统提问的过程中,常见的对话方式有如下两种:

1、单主题深入;即query强相关;

2、多主题跳转;即query弱相关。

这两类数据在训练数据中的占比可能会影响模型的效果;例如,第二种情况属于多主题任务,而基于本实施例的独立问题转化模型的任务,主要关注多轮对话中最新一轮对话中的用户意图,即独立问题转化模型主要保留最新一轮对话中的主题即可,对于独立问题转化模型来说任务简单。而第一种对话情况对于独立问题转化模型来说任务难度稍大,可以利用query强相关的历史搜索词序列生成的单主题多轮对话,因此强相关query的训练数据占比要多,例如设置为80%。也即是,训练数据集中,单主题深入的对话数据样本的数量较多,而多主题跳转的对话数据样本的数量较少,单主题深入的对话数据样本的数量大于多主题跳转的对话数据样本的数量。可选的,单主题深入的对话数据样本,可以通过包含的多个搜索词属于同一主题的序列生成;多主题跳转的对话数据样本可以通过包含的多个搜索词属于不同主题的序列生成。

在一些例子中,历史搜索词序列中包含按搜索时刻先后顺序排列的多个搜索词,历史搜索词序列是指多个搜索词中各搜索词之间的整体关联度满足设定关联度条件的序列;

多个搜索词中各搜索词之间的整体关联度,是基于多个搜索词中各对相邻搜索词之间的搜索词关联度的均值确定的,每一对相邻搜索词之间的搜索词关联度是基于该对搜索词之间的文本相似度的加权值与该对搜索词之间的领域相似度的加权值确定的,其中,领域相似度的权重高于文本相似度的权重。

其中,搜索词的领域指的是与搜索词相关的特定主题、领域或行业。例如,考虑到一次会话中的单主题深入场景,本实施例可以设置领域相似度的权重高于文本相似度的权重,因此历史搜索词序列中各搜索词属于相同领域的概率更高,后续可以基于此生成单主题深入的对话数据。

在一些例子中,一对相邻搜索词之间的文本相似度,是将一对相邻搜索词之间的编辑距离与目标字符串长度的差异值,目标字符串长度是指一对相邻搜索词中字符串长度较大的搜索词的字符串长度。

其中,编辑距离(Edit Distance)指的是将一个字符串转换为另一个字符串所需的最少操作次数,包括插入、删除和替换字符。在一些例子中,每种操作发生时,产生的距离可以设置为1。

以字符串"奶茶"和"生椰咖啡"为例,两者的编辑距离是5。下面是一种可能的编辑操作序列来将"奶茶"转换为"生椰咖啡":

1.替换字符'奶'->'生'

2.替换字符'茶'->'椰'

3.插入字符'咖'

4.插入字符'啡'

因此,需要进行4次操作才能将"奶茶"转换为"生椰咖啡",所以它们的编辑距离为4。

在一些例子中,目标对象包括商品,一对搜索词之间的领域相似度,可以是指该对搜索词分别对应的商品的类目的相似度。

作为例子,历史搜索词序列的整体关联度可以通过如下公式表示:

relation_score即整体关联度,该整体关联度是将各对相邻搜索词之间的搜索词关联度的和值,除以历史搜索词序列中相邻搜索词的对数得到的。

relevance(q

query_seq是指历史搜索词序列中搜索词的数量,query_seq减去1即序列中相邻搜索词的对数。

relevance(q

r*(text_sim(q

其中,r为权重,该权重可以根据实际需要进行配置;其中,本实施例中领域相似度的权重可以高于文本相似度的权重,实际应用中可以根据需要灵活配置。其中,r的范围可以设置在0至1之间,实际应用中灵活可以设置r的取值,并且可以通过设置不同r的取值获取不同的序列。例如,r可以设置为0.1等数值,如此文本相似度的权重是0.1,领域相似度的权重是0.9,如此可以获得文本相似度低、但领域相似度高的序列,此种序列中各query高度集中在同一领域但涉及不同的主题,属于同领域多主题序列,这些序列可以用于生成同领域多主题的对话数据。r也可以为0.5等数值,即文本相似度和领域相似度差异较小,如此获得的序列中query属于同一领域且属于同一主题,即同领域单主题序列,这些序列可以用于生成同领域单主题的对话数据。

text_sim(q

其中,m=max(len(q

其中,distance(q

其中,domain_sim(q

实际应用中,从客户端的搜索行为记录中可以获取到多份历史搜索词序列,可以计算每个历史搜索词序列的整体关联度relation_score,根据需要设定关联度条件,例如可以是根据relation_score的大小倒序排列,可以根据设定规则取出所需的n份历史搜索词序列,用于生成多轮对话数据,例如可以是设定数量n,选择前n份历史搜索词序列。可选的,还可以是设定整体关联度阈值,选择大于设定的整体关联度阈值的历史搜索词序列等等,本实施例对此不进行限定。

前述提及本实施例的应用场景之一是本地生活服务领域,在该领域中业务方为用户提供的客户端功能可以包括餐饮领域的商品服务、医药领域的商品服务和零售领域的商品服务等等;经过研究发现,在医药或零售等领域,商品名称通常具有较高的相似度,这是由于这些领域对于商品名称有一定的标准或规范,如同一种药品虽然有不同的厂家,但药品名称通常是相同的。但是餐饮领域截然不同,餐饮类店铺所售卖的餐饮类商品的名称是由商家自定义的,因此餐饮类商品的名称通常具有较低的相似度。而由于客户端中提供了多种不同商品的商品服务,从客户端的历史搜索记录中获取到的历史搜索词序列可能包含不同领域的搜索词,为了让独立问题转化模型应用于对餐饮领域的目标对象的推荐,实际应用中,在利用前述的历史搜索词序列生成对话数据之前,可以通过人工等多种方式,先对从客户端的历史搜索记录中获取到的历史搜索词序列进行筛选。为了减少人工成本,通过上述分析,本实施例提供了基于搜索词之间的文本相似度进行筛选的方式,可以从中筛选出包含餐饮领域的搜索词的历史搜索词序列。在另一些例子中,还可以利用文本相似度筛选出餐饮领域的搜索词,将商品名称具有高相似度的医药或零售等领域的搜索词序列先进行排除,从而可以减少人工成本。例如,针对从客户端的历史搜索记录中获取到的每一个历史搜索词序列,可以获取每个历史搜索词序列中各对相邻搜索词之间的文本相似度,并基于各对相邻搜索词之间的文本相似度计算该序列的整体文本相似度,该整体文本相似度的计算方式,可以是各对相邻搜索词之间的文本相似度text_sim的和值除以该序列中相邻搜索词的对数得到;整体文本相似度大于设定阈值的历史搜索词序列,大概率即医药或零售等领域的搜索词序列,这些序列可以删除掉。

可选的,实际应用中通过上述实施例获取到的历史搜索词序列还可以由人工审核,得到高质量的历史搜索词序列。

进一步的,可以利用历史搜索词序列和第一预训练语言模型,自动生成与实际对话场景相符的多轮对话数据。

实际应用中,存在对话数据集中仅有对话数据,但未携带标注好的对话摘要的情况,一种常见的方式是人工对对话数据进行标注。然而人工标注存在一些缺点会导致标注的数据不适合模型训练,首先,每个人的专业水准不通,标注的数据质量存在差异,其次,人工标注存在模式化的现象,同一批数据的摘要标注结构可能大同小异,缺乏多样性。

基于此,本实施例中独立问题样本可以是通过如下方式得到的:

将多轮对话样本和第二提示文本输入至第二预训练语言模型,由第二预训练模型根据多轮对话样本和第二提示文本,生成与多轮对话样本对应的独立问题样本;其中,第二提示文本用于指示第二预训练语言模型从多轮对话样本中识别出多轮对话样本中最新一轮对话样本的用户意图,并基于识别出的最新一轮对话样本的用户意图生成独立问题。

其中,多轮对话样本可以包含至少两轮对话的对话数据。本实施例的第二预训练语言模型可以根据实际需要进行灵活选择,例如可以是ChatGPT或ChatGLM等等。第二预训练语言模型可以与前述的第一预训练语言模型相同或不同,本实施例对此不进行限定。

作为一个示例:第二提示文本可以包含如下一种或多种信息:

①指示第二预训练语言模型作为意图识别专家身份的角色信息。

例如可以是如下的文本“你作为对话意图识别专家”或“你作为用户意图识别专家”等类似的内容,实际应用中可以根据需要灵活调整,本实施例对此不进行限定。如此可以指示模型其需要扮演的角色,激活模型在意图识别的专业能力。

②指示第二预训练语言模型识别出多轮对话样本中最新一轮对话样本的用户意图,并基于识别出的最新一轮对话样本的用户意图生成独立问题的任务信息;

例如可以是如下的文本“你的任务是对我提出的问题进行重写,根据我问的历史问题和当前问题,将我的问题用一句话进行概括。讨论主体应该以我的当前问题为主,如果历史问题中所讨论的内容与当前问题的主体无关,那么应该舍弃。”实际应用中可以根据需要灵活调整,本实施例对此不进行限定。如此,可以向模型提供清晰的任务定义,使其正确执行任务。

③供第二预训练语言模型参考的一个或多个示例,示例包含:包含一个或多个用户历史问题的历史问题序列、当前问题示例、以及独立问题示例。

作为一个示例,输入至第二预训练语言模型的输入可以具体可以是如下表格中第二列中示出的文本,第一列中示出相应的说明:

基于此,通过上述实施例,可以利用第二预训练语言模型自动生成多轮对话数据的标签(即该多轮对话数据对应的独立问题)。可选的,还可以通过其他方式对第二预训练语言模型自动生成的标签进行审核,例如可以是人工审核,从而得到高质量的训练数据集。

在准备好上述训练数据集后,可以对预训练语言模型进行训练,以得到独立问题转化模型。其中,此处的预训练语言模型可以根据需要灵活选择,本实施例对此不进行限定,例如可以包括ChatGLM模型,或者中文语言模型chinese-alpaca-plus-13b模型等等。

示例性的,可以通过以下三种方式中的任一对预训练语言模型进行微调:

(1)对整个预训练语言模型进行微调,更新整个预训练语言模型的参数。

(2)冻结预训练语言模型的大部分参数,仅微调相对较小的模型参数集。

(3)将预训练语言模型的嵌入层(Embedding)和每一神经网络层前都加上新的参数。

示例性的,可以由预训练语言模型基于输入的多轮对话样本预测出表征用户在本轮对话样本的用户意图的独立问题,以最小化预测出的独立问题与独立问题样本的误差为优化目标对预训练语言模型进行训练,得到独立问题转化模型。

其中,可以根据需要调整预训练语言模型的损失函数,作为例子,可以采用预训练语言模型已有的损失函数,则预测出的独立问题与独立问题样本的误差可以是预测出的独立问题与独立问题样本的交叉熵损失。

在模型训练过程中,通过迭代优化来逐步调整模型参数。每个训练迭代包括向前传播(Forward Propagation)、计算损失函数值、反向传播(Backward Propagation)和参数更新等步骤。训练迭代的次数通常通过设置固定的迭代次数或者根据模型在验证集上的性能动态调整。

通过上述实施例,可以训练得到独立问题转化模型,该独立问题转化模型可以用于根据输入的对话数据,生成对话数据中表征用户在本轮对话的用户意图的独立问题,经过测试,该独立问题转化模型可以从输入的对话数据中准确地生成表征用户在本轮对话的用户意图的独立问题,也很好地保留了模型已有的语言能力,请见如下测试结果的示例:

上述表格中前三行表示了独立问题转化模型能够基于输入的对话数据(包含用户当前问题和用户历史问题),准确输出表征用户在本轮对话的用户意图的独立问题。

表格中后两行则输入了与菜品推荐无关的其他对话,独立问题转化模型仍然保留了已有的语言能力。

基于,可以利用独立问题转化模型提升多轮对话系统的输出准确率。图2A是本说明书根据一示例性实施例示出的一种对话场景示意图。图2B是本说明书根据一示例性实施例示出的一种对话内容的生成方法的流程图,该方法可以包括如下步骤:

步骤202,响应于用户发起的对话,获取对话数据。

其中,在本轮对话为首轮对话的情况下,对话数据为本轮对话中的用户当前问题;在本轮对话并非首轮对话的情况下,对话数据包含本轮对话中的用户当前问题、以及在本轮对话之前的其他轮历史对话中每轮历史对话的用户历史问题。

步骤204,将对话数据输入至独立问题转化模型,由独立问题转化模型将对话数据转化为表征用户在本轮对话的用户意图的独立问题。

其中,独立问题转化模型是使用训练数据集对预设的预训练语言模型进行训练得到的,训练数据集中训练样本包含多轮对话样本以及独立问题样本,独立问题样本指示多轮对话样本中最新一轮对话样本的用户意图。

步骤206,将转化得到的独立问题输入至多轮对话系统,由多轮对话系统根据独立问题生成对本轮对话的答复内容。

上述实施例可以参考前述实施例,在此不再进行赘述。

图2C是本说明书根据一示例性实施例示出的一种对话数据的处理方法的流程图,方法可以包括:

步骤212,响应于用户发起的对话,获取对话数据。

其中,在本轮对话为首轮对话的情况下,所述对话数据为本轮对话中的用户当前问题;在本轮对话并非首轮对话的情况下,所述对话数据包含本轮对话中的用户当前问题、以及在本轮对话之前的其他轮历史对话中每轮历史对话的用户历史问题。

步骤214,将所述对话数据输入至独立问题转化模型,由所述独立问题转化模型将所述对话数据转化为表征用户在本轮对话的用户意图的独立问题。

其中,所述独立问题转化模型是使用训练数据集对预设的预训练语言模型进行训练得到的,所述训练数据集中训练样本包含多轮对话样本以及独立问题样本,所述独立问题样本指示所述多轮对话样本中最新一轮对话样本的用户意图。所述独立问题转化模型对所述对话数据转化得到的独立问题用于输入至多轮对话系统,以由所述多轮对话系统根据所述独立问题生成对所述本轮对话的答复内容。

上述实施例可以参考前述实施例,在此不再进行赘述。

由上述实施例可见,本实施例提供了一种独立问题转化模型,可以将多轮对话压缩为一个独立问题,该独立问题保留了关键信息,能够指示用户在本轮对话的用户意图,因此转化得到的独立问题可以帮助简化下游任务。

作为一个示例,本实施例方法可以应用于餐饮领域的菜品推荐场景中,客户端包括一可供用户触发的对话入口,客户端响应于该对话入口被触发,可以通过本实施例的独立问题转化模型和多轮对话系统与用户进行交互。

本实施例采用了基于大型语言模型实现的独立问题转化模型,与基于自然语言生成(Text Generation)技术的多轮对话系统相结合,独立问题转化模型用于自动将多轮对话压缩为单轮对话,多轮对话系统可以基于此生成准确的回答。本实施例的独立问题转化模型可以应用于许多任务,例如在线客服、智能助手、智能问答等,可以简化下游任务,提高用户体验和操作效率。与传统的多轮对话系统相比,本实施例方案具有更高的效率和更好的用户体验,同时保持了高的准确性和可靠性。

与前述对话内容的生成方法的实施例相对应,本说明书还提供了对话内容的生成装置及其所应用的计算机设备的实施例。

本说明书对话内容的生成装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书对话内容的生成装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中对话内容的生成装置331所在的计算机设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。

如图4所示,图4是本说明书根据一示例性实施例示出的一种对话内容的生成装置的框图,装置包括:

获取模块41,用于:响应于用户发起的对话,获取对话数据;其中,在本轮对话为首轮对话的情况下,对话数据为本轮对话中的用户当前问题;在本轮对话并非首轮对话的情况下,对话数据包含本轮对话中的用户当前问题、以及在本轮对话之前的其他轮历史对话中每轮历史对话的用户历史问题;

输入模块42,用于:将对话数据输入至独立问题转化模型,由独立问题转化模型将对话数据转化为表征用户在本轮对话的用户意图的独立问题;其中,独立问题转化模型是使用训练数据集对预设的预训练语言模型进行训练得到的,训练数据集中训练样本包含多轮对话样本以及独立问题样本,独立问题样本指示多轮对话样本中最新一轮对话样本的用户意图;

答复模块43,用于:将转化得到的独立问题输入至多轮对话系统,由多轮对话系统根据独立问题生成对本轮对话的答复内容。

上述对话内容的生成装置中各个模块的功能和作用的实现过程具体详见上述对话内容的生成方法中对应步骤的实现过程,在此不再赘述。

相应的,本说明书实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现前述对话内容的生成方法/独立问题转化模型的构建方法实施例的步骤。

相应的,本说明书实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现对话内容的生成方法/独立问题转化模型的构建方法实施例的步骤。

相应的,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现对话内容的生成方法/独立问题转化模型的构建方法实施例的步骤。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例可以应用于一个或者多个计算机设备中,计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,计算机设备的硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。

计算机设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。

计算机设备还可以包括网络设备和/或用户设备。其中,网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。

计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该申请的保护范围内。

其中,“具体示例”、或“一些示例”等的描述意指结合所述实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。

应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 数据仓库内数据处理方法、装置、计算机设备和存储介质
  • 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
  • 基于大数据平台的数据处理方法、装置、设备及介质
  • 发表内容处理方法、装置、存储介质和计算机设备
  • 视频内容生成方法、装置、计算机设备和存储介质
  • 培训内容生成与数据处理方法、装置、设备及存储介质
  • 模型生成方法、点云数据处理方法、装置、设备及介质
技术分类

06120116490911