CN113505198B - 关键词驱动的生成式对话回复方法、装置及电子设备 - Google Patents
关键词驱动的生成式对话回复方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113505198B CN113505198B CN202110777382.9A CN202110777382A CN113505198B CN 113505198 B CN113505198 B CN 113505198B CN 202110777382 A CN202110777382 A CN 202110777382A CN 113505198 B CN113505198 B CN 113505198B
- Authority
- CN
- China
- Prior art keywords
- keyword
- dialogue
- reply
- keywords
- text
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 239000013598 vector Substances 0.000 claims abstract description 98
- 238000000605 extraction Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 241000282326 Felis catus Species 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000036642 wellbeing Effects 0.000 description 1
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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
-
- 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/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉人工智能及技术领域,公开了一种关键词驱动的生成式对话回复方法、装置及电子设备,能有效提升闲聊对话时机器回复的准确性、一致性和丰富度,该方法包括:获取历史对话文本,从历史对话文本中提取历史关键词;拼接所述历史对话文本的向量表示和所述历史关键词的向量表示,以获得第一编码向量;将所述第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;拼接所述第一编码向量和所述回复关键词的向量表示,以获得第二编码向量;将所述第二编码向量输入所述自然语言生成模型,获得待输出的回复语句。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种关键词驱动的生成式对话回复方法、装置及电子设备。
背景技术
人机对话系统已经被广泛应用于各种生活场景中,包括智能客服、娱乐闲聊、情感陪护、知识共享等等。从用途上来看,对话系统可以大致分为闲聊对话系统和以任务为导向的对话系统。从技术上来看,对话系统可以分为基于规则、基于检索、基于生成的对话系统,其中,基于规则的对话系统需要耗费大量的人力资源来设计规则,基于检索的对话系统严重依赖于语料库的质量和大小,并且基于规则或者检索的对话系统严重限制了生成回复的多样性。由于大规模预训练语言模型的强大自然语言理解能力,自然文本生成的效果也取得长足进步,这使得基于生成式的对话系统能够生成更灵活的回复,也是近年来研究人员重点努力的一个方向。
发明内容
本申请实施例提供一种关键词驱动的生成式对话回复方法、装置、电子设备及存储介质,能有效提升闲聊对话时机器回复的准确性、一致性和丰富度。
一方面,本申请一实施例提供了一种关键词驱动的生成式对话回复方法,包括:
获取历史对话文本,从历史对话文本中提取历史关键词;
拼接所述历史对话文本的向量表示和所述历史关键词的向量表示,以获得第一编码向量;
将所述第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;
拼接所述第一编码向量和所述回复关键词的向量表示,以获得第二编码向量;
将所述第二编码向量输入所述自然语言生成模型,获得待输出的回复语句。
可选地,所述从历史对话文本中提取历史关键词,包括:
按照历史对话文本的时间先后排序,获取排在最后的q个对话文本对应的第二关键词,从排在所述q个对话文本之前的p个对话文本中提取出第一关键词;
将所述第一关键词和所述第二关键词作为历史关键词。
可选地,所述从排在所述q个对话文本之前的p个对话文本中提取出第一关键词,包括:
基于排在所述q个对话文本之前的p个对话文本,获得多个候选关键词以及每个候选关键词对应的得分;
根据每个候选关键词在所述p个对话文本中最后一次出现的位置,确定每个候选关键词对应的位置权重;
根据每个候选关键词的位置权重,更新每个候选关键词的得分;
按照更新后的得分从高到低的顺序,从候选关键词中筛选出M个第一关键词。
可选地,当q=1时,所述获取排在最后的q个对话文本对应的第二关键词,包括:
若排在最后的对话文本为机器输出的回复文本,则将生成所述排在最后的对话文本时使用的回复关键词,作为所述排在最后的对话文本对应的第二关键词。
可选地,所述方法还包括:
若所述排在最后的对话文本为用户输入的对话文本,则从所述排在最后的对话文本中提取第二关键词。
可选地,所述自然语言生成模型为UniLM。
可选地,所述获取历史对话文本,包括:
获取当前时刻之前第一预设时长内的对话文本,作为历史对话文本。
可选地,所述获取历史对话文本,包括:
响应多轮对话管理模块的对话输出请求,获取历史对话文本;其中,所述多轮对话管理模块在收到用户输入的对话文本后或在多轮对话过程中超过第二预设时长未收到用户输入的对话文本时生成对话输出请求。
一方面,本申请一实施例提供了一种关键词驱动的生成式对话回复装置,包括:
关键词提取模块,用于获取历史对话文本,从历史对话文本中提取历史关键词;
第一拼接模块,用于拼接所述历史对话文本的向量表示和所述历史关键词的向量表示,以获得第一编码向量;
关键词预测模块,用于将所述第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;
第二拼接模块,用于拼接所述第一编码向量和所述回复关键词的向量表示,以获得第二编码向量;
回复生成模块,用于将所述第二编码向量输入所述自然语言生成模型,获得待输出的回复语句。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种TCP传输性能的控制的各种可选实现方式中提供的方法。
本申请实施例提供的关键词驱动的生成式对话回复方法、装置、电子设备及存储介质,首先充分挖掘了历史对话中的关键词信息,结合基于大规模语料预训得到的自然语言生成模型,生成多个回复关键词,然后基于这些回复关键词、历史对话中的关键词信息和历史对话生成回复语句,充分考虑了历史对话中的关键词以及生成回复文本时的关键词,对下一轮回复生成的指导意义,能有效提升闲聊对话时机器回复的准确性、一致性和丰富度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的关键词驱动的生成式对话回复方法的应用场景示意图;
图2为本申请实施例提供的一种关键词驱动的生成式对话回复方法的流程示意图;
图3为本申请实施例提供的提取关键词的流程示意图;
图4为本申请实施例提供的关键词驱动的生成式对话回复装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
近年来,由于大规模预训练语言模型的强大自然语言理解能力,自然文本生成的效果也取得长足进步,这使得基于生成式的闲聊对话系统能够生成更灵活的回复。但是,在不限制聊天主题的开放域场景中,基于生成式的闲聊对话系统目前主要采用完全数据驱动的预训练模型微调的生成式方法,由于训练使用的语料不够丰富且包含大量无意义回复,使得训练的模型倾向于生成较为普遍的无意义回复,导致闲聊对话系统经常生成无意义回复,且现有模型未充分考虑历史对话中的关键词以及生成回复文本时的关键词,对下一轮回复生成的指导意义。由于上述各种问题的存在,导致现有的闲聊对话系统输出的回复文本缺乏准确性、一致性和丰富度。
为此,本申请提出了一种关键词驱动的生成式对话回复方法,在需要机器进行回复时,先从历史对话文本中提取历史关键词,然后拼接历史对话文本的向量表示和历史关键词的向量表示,以获得第一编码向量,将第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;然后,拼接第一编码向量和回复关键词的向量表示,以获得第二编码向量;最后,将第二编码向量输入自然语言生成模型,获得需要机器输出的回复语句。该方法充分挖掘了历史对话中的关键词信息,结合基于大规模语料预训得到的自然语言生成模型,生成多个回复关键词,并基于这些回复关键词、历史对话中的关键词信息和历史对话生成回复语句,充分考虑了历史对话中的关键词以及生成回复文本时的关键词,对下一轮回复生成的指导意义,能有效提升闲聊对话时机器回复的准确性、一致性和丰富度。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的关键词驱动的生成式对话回复方法的应用场景示意图。其中,终端设备101和服务器102之间可通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、机器人等电子设备,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备101内部可安装由与用户进行智能对话的应用程序,服务器102侧安装有与终端设备101中的应用程序配套的可提供智能对话服务的程序。
以聊天机器人为例,用户与聊天机器人进行交互过程中,聊天机器人会持续用户输入的语音,并将音频数据转化成文本数据,然后基于文本数据进行语义识别等一些列处理,从而确定出回复语句,最后聊天机器人根据回复语句进行语音合成,并播放对应的语音,完成与用户的一轮对话。当然,对音频流数据的语音识别处理和语义识别处理,以及后续确定响应数据等处理,也可以在服务器102侧执行,本申请实施例中不对执行主体进行限定。为了便于描述,本申请提供的各实施例中均以在终端设备101侧执行语音处理为例进行说明,在服务器102侧执行的过程与此类似,此处不再赘述。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。本申请实施例提供的任一关键词驱动的生成式对话回复方法,可应用于终端设备或服务器等电子设备,本申请不作限定。本申请主要以聊天机器人为执行主体,对关键词驱动的生成式对话回复方法进行说明,以其它设备为执行主体的实施方式类似,不再赘述。
参考图2,本申请实施例提供一种关键词驱动的生成式对话回复方法,包括以下步骤:
S201、获取历史对话文本,从历史对话文本中提取历史关键词。
其中,历史对话文本是相对于当前时刻而言的,是用户与机器进行对话过程中在当前时刻之前产生的一个或多个对话文本,包括用户输入的语句和机器生成的回复语句。
在一种可能的实施方式中,可以获取当前时刻之前第一预设时长内的对话文本,作为历史对话文本,其中第一预设时长可由本领域技术人员结合经验以及场景需求进行设定。
在另一种可能的实施方式中,可以获取当前时刻前产生的预设数量个对话文本,作为历史对话文本,其中预设数量可由本领域技术人员结合经验以及场景需求进行设定。在该实施方式中,也可以设定时限,将当前时刻之前预设时长T1内产生的机器与该用户的多轮对话文本中,选取产生时间距当前时刻较近的预设数量个对话文本,作为史对话文本。
在另一种可能的实施方式中,机器可根据用户的音色、人脸数据等生物特征区分各个用户身份,并分别存储与各用户的对话文本,在与用户对话过程中识别用户的身份,获取机器与该用户的多轮对话文本,作为历史对话文本。在该实施方式中,也可以设定时限,将当前时刻之前预设时长T2内产生的机器与该用户的多轮对话文本,作为历史对话文本。
具体实施时,可采用通用的TF-IDF(Term Frequency-Inverse DocumentFrequency,基于词频和逆向文件频率的数据挖掘算法)、基于词性和句法分析的过滤方法等,从历史对话文本中提取出一个或多个关键词,作为历史关键词,具体过程此处不再赘述。
S202、拼接历史对话文本的向量表示和历史关键词的向量表示,获得第一编码向量。
具体实施时,可通过现有的将文字转换为向量的方法,如word2vec。具体地,先对历史对话文本中的每个对话文本进行分词处理,然后将每个对话文本中的每个分词转换为向量,拼接每个分词对应的向量表示,从而获得每个对话文本对应的向量表示;将每个历史关键词分别转换为对应的向量表示;然后对历史对话文本的向量表示和历史关键词的向量表示进行拼接,以获得包含历史对话文本和历史关键词的第一编码向量。
其中,历史对话文本的向量表示和历史关键词的向量表示之间可用特殊的分隔符进行区分,可规定历史关键词的向量表示位于历史对话文本的向量表示之前。例如,包含3个历史对话文本,3个对话文本的向量表示分别为:(w1,d1w2,d1...wn,d1)、(w1,d2 w2, d2...wm,d2)、(w1,d3 w2,d3...wl,d3),3个历史关键词的向量表示分别为:k1、k2、k3,则第一编码向量可以表示为:[CLS]k1 k2k3[KW][SEP]w1,d1 w2,d1...wn,d1[SEP]w1,d2 w2,d2...wm,d2[SEP]w1,d3 w2,d3...wl,d3[SEP],其中,[CLS]为第一编码向量的起始符号,[KW]用以分隔历史关键词和历史对话文本,[SEP]用以分隔各个历史对话文本,方便模型识别。
S203、将第一编码向量输入已训练的自然语言生成模型,获得预测的回复关键词。
其中,自然语言生成模型(NLG)是指能够根据输入的关键词和文本,输出具有具有完整语义的预测文本,是自然语言理解技术中的一种生成模型。生成模型是能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下,它给观测值和标注数据序列指定一个联合概率分布,在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。
将第一编码向量输入自然语言生成模型后,自然语言模型会输出预测的关键词以及基于关键词生成的文本,此时只获取自然语言生成模型预测的关键词,将预测的关键词作为指导生成下一轮回复文本的回复关键词。
具体实施时,自然语言生成模型可以是UniLM。UniLM全名为Unified LanguageModel Pre-training for Natural Language Understanding and Generation,译为自然语言理解与生成的统一预训练语言模型,UniLM模型的框架与BERT一致,是由一个多层Transformer网络构成,但训练方式不同,UniLM是通过联合训练三种不同目标函数的无监督语言得到的。
S204、拼接第一编码向量和回复关键词的向量表示,获得第二编码向量。
具体实施时,先将通过步骤S203获得的回复关键词转换为对应的向量表示,然后将回复关键词的向量表示的添加到第一编码向量之后,以获得第二编码向量。例如,回复关键词的向量表示为(key1,key2),第一编码向量如前述示例所示,第二编码向量可以表示为:[CLS]k1 k2 k3[KW][SEP]w1,d1 w2,d1...wn,d1[SEP]w1,d2 w2,d2...wm,d2[SEP]w1,d3 w2,d3...wl,d3[SEP]key1 key2[KW][SEP]。
S205、将第二编码向量输入自然语言生成模型,获得待输出的回复语句。
具体实施时,将由第一编码向量和回复关键词组成的第二编码向量输入自然语言生成模型,此时自然语言生成模型会输出的关键词以及基于关键词生成的文本,此时只获取自然语言生成模型生成的文本,将该生成的文本作为机器待输出的回复语句。
本申请实施例的关键词驱动的生成式对话回复方法,首先充分挖掘了历史对话中的关键词信息,结合基于大规模语料预训得到的自然语言生成模型,生成多个回复关键词,然后基于这些回复关键词、历史对话中的关键词信息和历史对话生成回复语句,充分考虑了历史对话中的关键词以及生成回复文本时的关键词,对下一轮回复生成的指导意义,能有效提升闲聊对话时机器回复的准确性、一致性和丰富度。与仅基于历史对话文本进行预测的baseline编码模式相比,本申请实施例的关键词驱动的生成式对话回复方法,在LCCC对话数据集上F1值至少提升5%。其中,F1值是在Precision和Recall的基础上提出的用于评价不同算法优劣的指标,F1值=正确率*召回率*2/(正确率+召回率)。
此外,本申请实施例采用end2end的单模型方式,即预测回复关键词和预测回复语句时均采用同一个自然语言生成模型,先预测回复文本关键词,然后结合输入文本及历史关键词输入同一模型生成回复文本,同时学习关键词和回复生成的联合模型方式,使得自然语言生成模型可以在学习过程中,共享所学到的信息,加快学习收敛过程,与多模型的pipeline模式相比,end2end的单模型方式有更好的泛化效果从资源角度、占用硬件资源少、部署管理更方便。
在上述任一实施方式的基础上,可按照如下方式从历史对话文本中提取历史关键词:按照历史对话文本的时间先后排序,获取排在最后的q个对话文本对应的第二关键词,从排在这q个对话文本之前的p个对话文本中提取出第一关键词;将第一关键词和第二关键词作为历史关键词。
其中,p和q的取值、以及提取的第一关键词的数量M和第二关键词的数量N,均可由本领域技术人员结合经验以及场景需求进行设定,此处不作限定。
例如,q=2,p=6时,则按照历史对话文本的时间先后排序,获取排在倒数第3~8个对话文本,从这6个对话文本中提取出M个关键词,作为第一关键词;按照历史对话文本的时间先后排序,获取排在最后的两个对话文本,从这两个对话文本中提取出N个关键词,作为第二关键词。
具体实施时,可采用TF-IDF、基于词性和句法分析的过滤方法等,从历史对话文本中排序为[t-q-p+1,t-q]的对话文本中提取出M个第一关键词,然后从排序为[t-q+1,t]的对话文本中提取出N个第二关键词。
进一步地,参考图3,从排在q个对话文本之前的p个对话文本中提取出第一关键词,具体包括如下步骤:
S301、基于排在q个对话文本之前的p个对话文本,获得多个候选关键词以及每个候选关键词对应的得分。
其中,候选关键词对应的得分表征候选关键词在p个对话文本中的重要程度。
具体地,可采用TF-IDF、基于词性和句法分析的过滤方法等算法,从这p个对话文本中确定出多个候选关键词以及每个候选关键词对应的得分。其中,计算得分的方法与使用的算法相关,例如采用TF-IDF时,每个候选关键词的得分是TFIDF值,TFIDF值=TF*IDF,TFIDF越大表示该候选关键词对这个文本的重要性越大。
S302、根据每个候选关键词在p个对话文本中最后一次出现的位置,确定每个候选关键词对应的位置权重。
具体实施时,p个对话文本按照对话文本发生的先后顺序进行排序,可将出现候选关键词的对话文本的排序作为候选关键词出现的位置。例如,某一候选关键词出现在这p个对话文本中排序第一的对话文本中,则该候选关键词的位置信息可记录为1,某一候选关键词出现在这p个对话文本中排序第3的对话文本中,则该候选关键词的位置信息可记录为3。
其中,候选关键词在p个对话文本中最后一次出现的位置,即出现候选关键词的一个或多个对话文本中,产生时间距离当前时刻最近的一个对话文本。具体地,若候选关键词在p个对话文本中仅出现一次,则将该候选关键词在p个对话文本中的位置信息作为该候选关键词在p个对话文本中最后一次出现的位置,例如,候选关键词仅出现在这p个对话文本中排序第一的对话文本中,则该候选关键词在p个对话文本中最后一次出现的位置可记录为1。若候选关键词在p个对话文本中出现至少两次,则获取该候选关键词在p个对话文本中的多个位置信息,从中选择数值最大的位置信息作为该候选关键词在p个对话文本中最后一次出现的位置,记为候选关键词的目标位置信息。
具体地,候选关键词在p个对话文本中最后一次出现的位置越靠近当前时刻,则该候选关键词对应的位置权重越大,这样可以增加靠近当前时刻的对话文本对回复关键词和回复语句的影响,降低较早的对话文本对回复关键词和回复语句的影响。候选关键词在p个对话文本中最后一次出现的位置(即目标位置信息)和位置权重之间的对应关系,可根据实际需求设定,例如,位置权重w的取值范围为(0,1),目标位置信息相同的候选关键词的位置权重相同,目标位置信息的大小与位置权的大小正相关,所有候选关键词的位置权重之和等于1。
S303、根据每个候选关键词的位置权重,更新每个候选关键词的得分。
具体实施时,可通过加权方式更新候选关键词的得分,例如候选关键词的原始得分为S,位置权重为w,则更新后的得分为S’=w*S。当然,也可以通过计算方式将位置权重融合到候选关键词的得分中,例如,S’=S+w。
S304、按照更新后的得分从高到低的顺序,从候选关键词中筛选出M个第一关键词。
通过上述步骤可在最终的关键词得分中融入候选关键词的位置信息,增加靠近当前时刻的对话文本对回复关键词和回复语句的影响,降低较早的对话文本对回复关键词和回复语句的影响,从而筛选出与回复文本相关性更大的关键词,进一步提高模型预测的准确度。
一般前一时刻的对话文本对预测的回复语句的影响最大,因此在一些实施方式中,q的取值可以是1。当q=1时,从历史对话文本中提取历史关键词的具体过程如下:按照历史对话文本的时间先后排序,从除最后一个对话文本以外的排序靠后的p个对话文本中提取出第一关键词,并获取最后一个对话文本对应的第二关键词;将第一关键词和第二关键词作为历史关键词。其中,最后一个对话文本即为人机对话过程中最新产生的一个对话文本,这个对话文本可以是用户输入的,也可以是机器回复的。
具体实施时,可采用TF-IDF、基于词性和句法分析的过滤方法等,从历史对话文本中排序为[t-p,t-1]的对话文本中提取出M个第一关键词,然后从最后一个对话文本(即排序为t的对话文本)中提取出N个第二关键词。当t<p+1时,可从排序为[1,t-1]的对话文本中提取出M个关键词。
在一个可能的实施方式中,p的取值为6,M的取值为5,N的取值为1或2。
本申请实施例对历史对话文本构建了两部分关键词特征:一是基于产生时刻较前的对话文本,抽取其中得分最大的M个关键词,二是对刚产生的对话文本单独抽取N个关键词,使得历史对话的关键词具有一定的窗口时效性,这样使得最近产生的对话内容的关键词对下一时刻的关键词生成影响最多,较前产生的历史对话文本对下一时刻的关键词生成影响次之,更早产生的对话内容对当前回复影响基本不考虑。
在实际应用中,聊天机器人设置了多轮对话管理模块,可对多轮对话进行管理,判断是否需要聊天机器人输出语句,例如:在多轮对话管理模块在收到用户输入的对话文本后可生成对话输出请求,或者在多轮对话过程中超过第二预设时长未收到用户输入的对话文本时,多轮对话管理模块可生成对话输出请求。聊天机器人响应多轮对话管理模块的对话输出请求,获取历史对话文本,并执行后续的步骤。为此,聊天机器人可针对用户输入文本进行及时回复,也可以在用户没有输出的情况下主动引导对话的进程和方向。
为此,具体实施时可通过如下方式获取最后一个对话文本对应的至少一个第二关键词:若最后一个对话文本为机器输出的回复文本,则将生成最后一个对话文本时使用的回复关键词,作为最后一个对话文本对应的第二关键词;若最后一个对话文本为用户输入的对话文本,则从最后一个对话文本中提取第二关键词。
即在多轮对话中,如果上一个文本是用户输入的,则直接从用户输入的文本中提取出N个第二关键词;如果上一个文本是机器预测的,如在预测表1中的第7个对话文本时,可直接复用生成第6个对话文本时通过S203预测的回复关键词,这样可以提高关键词提取效率和关键词提取的准确度。
机器在存储与用户之间的对话时,可安装对话发生的先后顺序进行存储。表1是机器与某一用户的一段对话,已按照对话发生的先后顺序进行排序。
假设p的取值为6,q的取值为1,M的取值为4,N的取值为2。以表1的多轮对话为例,在人机对话过程进行到表1的第6句,即机器在输出“我也觉得小猫很可爱呢,毛茸茸的呢,特别可爱。”后一定时间内一直未收到用户的回复,则可以主动开启新一轮的对话,吸引用户的兴趣。此时机器将表1中排序1-5的对话文本作为历史对话文本,从排序1-5的对话文本中提取的关键词为“干嘛小猫喂食可爱”,从排序6的对话文本中提取的关键词为“可爱毛茸茸”,则对应的第一编码向量为:[CLS]干嘛小猫喂食可爱[KW]可爱毛茸茸[KW][SEP]你好呀。[SEP]你好呀,在干吗呢?[SEP]...[SEP]我也觉得小猫很可爱呢,毛茸茸的呢,特别可爱。[SEP],将第一编码向量输入自然语言生成模型,从模型输出中获取预测的关键词“现在工作”,然后获得第二编码向量:[CLS]小猫喂食可爱毛茸茸[KW]从事工作[KW][SEP]你好呀。[SEP]你好呀,在干吗呢?[SEP]...[SEP]我也觉得小猫很可爱呢,毛茸茸的呢,特别可爱。[SEP]现在工作[KW][SEP],将第二编码向量输入自然语言生成模型,从模型输出中获取预测的回复语句“那你现在是从事什么工作呢?”,此时机器输出“那你现在是从事什么工作呢?”,同时将该回复语句存入表1中,即获得排序第7的对话文本。
如果用户对机器输出的“那你现在是从事什么工作呢?”感兴趣,会继续进行对话。假设用户输入的文本为“我学的是法律呢,现在正在读研究生呢。”,此时,机器将表1中排序3-8的对话文本作为历史对话文本,从排序3-7的对话文本中提取的关键词为“小猫可爱毛茸茸工作”,从排序8的对话文本中提取的关键词为“学生法律”,则对应的第一编码向量为:[CLS]小猫可爱毛茸茸工作[KW]学生法律[KW][SEP]我在给我的小猫喂食呢。[SEP]听你这么说,你喜欢小猫喽?[SEP]...[SEP]我学的是法律呢,现在正在读研究生呢。[SEP],将第一编码向量输入自然语言生成模型,从模型输出中获取预测的关键词“知识渊博”,然后获得第二编码向量:[CLS]小猫可爱毛茸茸工作[KW]学生法律[KW][SEP]我在给我的小猫喂食呢。[SEP]听你这么说,你喜欢小猫喽?[SEP]...[SEP]我学的是法律呢,现在正在读研究生呢。[SEP]知识渊博[KW][SEP],将第二编码向量输入自然语言生成模型,从模型输出中获取预测的回复语句“哇塞,那你的知识一定很渊博啊?”,将回复语句存入表1中。
表1
如图4所示,基于与上述关键词驱动的生成式对话回复方法相同的发明构思,本申请实施例还提供了一种关键词驱动的生成式对话回复装置40,包括:
关键词提取模块401,用于获取历史对话文本,从历史对话文本中提取历史关键词;
第一拼接模块402,用于拼接所述历史对话文本的向量表示和所述历史关键词的向量表示,以获得第一编码向量;
关键词预测模块403,用于将所述第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;
第二拼接模块404,用于拼接所述第一编码向量和所述回复关键词的向量表示,以获得第二编码向量;
回复生成模块405,用于将所述第二编码向量输入所述自然语言生成模型,获得待输出的回复语句。
可选地,所述关键词提取模块401具体用于:按照历史对话文本的时间先后排序,获取排在最后的q个对话文本对应的第二关键词,从排在所述q个对话文本之前的p个对话文本中提取出第一关键词;将所述第一关键词和所述第二关键词作为历史关键词。
可选地,所述关键词提取模块401具体用于:若最后一个对话文本为机器输出的回复文本,则将生成所述最后一个对话文本时使用的回复关键词,作为所述最后一个对话文本对应的第二关键词。
可选地,所述关键词提取模块401具体用于:
基于排在所述q个对话文本之前的p个对话文本,获得多个候选关键词以及每个候选关键词对应的得分;
根据每个候选关键词在所述p个对话文本中最后一次出现的位置,确定每个候选关键词对应的位置权重;
根据每个候选关键词的位置权重,更新每个候选关键词的得分;
按照更新后的得分从高到低的顺序,从候选关键词中筛选出M个第一关键词。
可选地,当q=1时,所述关键词提取模块401具体用于:若排在最后的对话文本为机器输出的回复文本,则将生成所述排在最后的对话文本时使用的回复关键词,作为所述排在最后的对话文本对应的第二关键词;若所述排在最后的对话文本为用户输入的对话文本,则从所述排在最后的对话文本中提取第二关键词。
可选地,所述自然语言生成模型为UniLM。
可选地,所述关键词提取模块401,具体用于:获取当前时刻之前第一预设时长内的对话文本,作为历史对话文本。
可选地,所述关键词提取模块401,具体用于:响应多轮对话管理模块的对话输出请求,获取历史对话文本;其中,所述多轮对话管理模块在收到用户输入的对话文本后或在多轮对话过程中超过第二预设时长未收到用户输入的对话文本时生成对话输出请求。
本申请实施例提的关键词驱动的生成式对话回复装置与上述关键词驱动的生成式对话回复方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述关键词驱动的生成式对话回复方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为机器人内部的控制设备或控制系统,也可以是与智能设备通信的外部设备,如桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图5所示,该电子设备50可以包括处理器501和存储器502。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种关键词驱动的生成式对话回复方法,其特征在于,包括:
获取历史对话文本,按照历史对话文本的时间先后排序,获取排在最后的q个对话文本对应的第二关键词,其中,所述获取排在最后的q个对话文本对应的第二关键词,包括:
若排在最后的对话文本为机器输出的回复文本,则将生成所述排在最后的对话文本时使用的回复关键词,作为所述排在最后的对话文本对应的第二关键词;
若所述排在最后的对话文本为用户输入的对话文本,则从所述排在最后的对话文本中提取第二关键词;
基于排在所述q个对话文本之前的p个对话文本,获得多个候选关键词以及每个候选关键词对应的得分;
根据每个候选关键词在所述p个对话文本中最后一次出现的位置,确定每个候选关键词对应的位置权重;
根据每个候选关键词的位置权重,更新每个候选关键词的得分;
按照更新后的得分从高到低的顺序,从候选关键词中筛选出M个第一关键词;
将所述第一关键词和所述第二关键词作为历史关键词;
拼接所述历史对话文本的向量表示和所述历史关键词的向量表示,以获得第一编码向量;
将所述第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;
拼接所述第一编码向量和所述回复关键词的向量表示,以获得第二编码向量;
将所述第二编码向量输入所述自然语言生成模型,获得待输出的回复语句。
2.根据权利要求1所述的方法,其特征在于,所述自然语言生成模型为UniLM。
3.根据权利要求1所述的方法,其特征在于,所述获取历史对话文本,包括:
响应多轮对话管理模块的对话输出请求,获取历史对话文本;其中,所述多轮对话管理模块在收到用户输入的对话文本后或在多轮对话过程中超过第二预设时长未收到用户输入的对话文本时生成对话输出请求。
4.一种关键词驱动的生成式对话回复装置,其特征在于,包括:
关键词提取模块,用于获取历史对话文本,按照历史对话文本的时间先后排序,获取排在最后的q个对话文本对应的第二关键词,其中,所述获取排在最后的q个对话文本对应的第二关键词,包括:
若排在最后的对话文本为机器输出的回复文本,则将生成所述排在最后的对话文本时使用的回复关键词,作为所述排在最后的对话文本对应的第二关键词;
若所述排在最后的对话文本为用户输入的对话文本,则从所述排在最后的对话文本中提取第二关键词;
基于排在所述q个对话文本之前的p个对话文本,获得多个候选关键词以及每个候选关键词对应的得分;
根据每个候选关键词在所述p个对话文本中最后一次出现的位置,确定每个候选关键词对应的位置权重;
根据每个候选关键词的位置权重,更新每个候选关键词的得分;
按照更新后的得分从高到低的顺序,从候选关键词中筛选出M个第一关键词;
将所述第一关键词和所述第二关键词作为历史关键词;
第一拼接模块,用于拼接所述历史对话文本的向量表示和所述历史关键词的向量表示,以获得第一编码向量;
关键词预测模块,用于将所述第一编码向量输入已训练的自然语言生成模型,以获得预测的回复关键词;
第二拼接模块,用于拼接所述第一编码向量和所述回复关键词的向量表示,以获得第二编码向量;
回复生成模块,用于将所述第二编码向量输入所述自然语言生成模型,获得待输出的回复语句。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110777382.9A CN113505198B (zh) | 2021-07-09 | 2021-07-09 | 关键词驱动的生成式对话回复方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110777382.9A CN113505198B (zh) | 2021-07-09 | 2021-07-09 | 关键词驱动的生成式对话回复方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505198A CN113505198A (zh) | 2021-10-15 |
CN113505198B true CN113505198B (zh) | 2023-12-29 |
Family
ID=78012471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110777382.9A Active CN113505198B (zh) | 2021-07-09 | 2021-07-09 | 关键词驱动的生成式对话回复方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505198B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113934835B (zh) * | 2021-12-16 | 2022-03-25 | 之江实验室 | 结合关键词和语义理解表征的检索式回复对话方法及系统 |
CN115309877B (zh) * | 2022-08-03 | 2023-05-30 | 北京百度网讯科技有限公司 | 对话生成方法、对话模型训练方法及装置 |
CN116127035B (zh) * | 2023-01-03 | 2023-12-08 | 北京百度网讯科技有限公司 | 对话方法、对话模型的训练方法及装置 |
CN116955579B (zh) * | 2023-09-21 | 2023-12-29 | 武汉轻度科技有限公司 | 一种基于关键词知识检索的聊天回复生成方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN109086329A (zh) * | 2018-06-29 | 2018-12-25 | 出门问问信息科技有限公司 | 基于话题关键词引导的进行多轮对话方法及装置 |
US20190228070A1 (en) * | 2016-09-30 | 2019-07-25 | Huawei Technologies Co., Ltd. | Deep learning based dialog method, apparatus, and device |
-
2021
- 2021-07-09 CN CN202110777382.9A patent/CN113505198B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190228070A1 (en) * | 2016-09-30 | 2019-07-25 | Huawei Technologies Co., Ltd. | Deep learning based dialog method, apparatus, and device |
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN109086329A (zh) * | 2018-06-29 | 2018-12-25 | 出门问问信息科技有限公司 | 基于话题关键词引导的进行多轮对话方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113505198A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111933129B (zh) | 音频处理方法、语言模型的训练方法、装置及计算机设备 | |
CN110782870B (zh) | 语音合成方法、装置、电子设备及存储介质 | |
CN113505198B (zh) | 关键词驱动的生成式对话回复方法、装置及电子设备 | |
CN108711420B (zh) | 多语言混杂模型建立、数据获取方法及装置、电子设备 | |
JP5149737B2 (ja) | 自動会話システム、並びに会話シナリオ編集装置 | |
CN110377916B (zh) | 词预测方法、装置、计算机设备及存储介质 | |
CN110234018B (zh) | 多媒体内容描述生成方法、训练方法、装置、设备及介质 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN114596844B (zh) | 声学模型的训练方法、语音识别方法及相关设备 | |
Deena et al. | Recurrent neural network language model adaptation for multi-genre broadcast speech recognition and alignment | |
Chi et al. | Speaker role contextual modeling for language understanding and dialogue policy learning | |
US11132994B1 (en) | Multi-domain dialog state tracking | |
CN112214591A (zh) | 一种对话预测的方法及装置 | |
CN110164416B (zh) | 一种语音识别方法及其装置、设备和存储介质 | |
CN113761268A (zh) | 音频节目内容的播放控制方法、装置、设备和存储介质 | |
Xu et al. | A comprehensive survey of automated audio captioning | |
CN111508497B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN117688145A (zh) | 用于问答交互的方法、装置和智能设备 | |
CN109002498B (zh) | 人机对话方法、装置、设备及存储介质 | |
Li et al. | GCF2-Net: Global-aware cross-modal feature fusion network for speech emotion recognition | |
Tzinis et al. | Optimal condition training for target source separation | |
CN115132170A (zh) | 语种分类方法、装置及计算机可读存储介质 | |
CN114333790A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN115169367B (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 |