一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多轮对话改写方法、装置、电子设备及介质与流程

2022-11-14 00:12:47 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,尤其涉及一种多轮对话改写方法、装置、电子设备及介质。


背景技术:

2.人机对话是指让机器理解和运用自然语言实现人机通信的技术,是nlp(natural language processing,自然语言处理)领域中的一个重要研究工作,已经在聊天机器人、智能客服、语音助手等领域获得了广泛应用。根据人机对话轮数,对话系统可以分为单轮对话和多轮对话。单轮对话的技术已经比较成熟,主要有检索式、生成式等方式。但对话系统在多轮对话场景下的效果还不够好。
3.在多轮对话场景下,当用户通过语音形式进行输入时,可能存在省略、代指、asr(automatic speech recognition,自动语音识别技术)识别错误等情形,从而导致对话系统难以根据本轮语句判断用户的意图,需要结合上文才能理解。例如,人机对话中第一轮语句为:“北京市的市花是什么”,第二轮语句为“那上海的呢”,用户在第二轮问的问题中省略了“市花”,用户实际意图是要问“上海的市花是什么”。因此,对话系统需要具有较强的多轮改写能力,结合上下文去理解用户的真实意图,这样才能解决用户问句中存在的省略、代指、asr识别错误问题。当通过多轮对话改写技术理解了用户的真实意图,并将用户的真实意图用一句话来表述,这时多轮对话就转换成了单轮对话,对话系统便可以为用户提供较为准确的答案。


技术实现要素:

4.为克服相关技术中存在的问题,本公开提供一种新的多轮对话改写方法、装置、电子设备及介质。
5.根据本公开实施例的第一方面,提供一种多轮对话改写方法,包括:
6.获取待改写语句和所述待改写语句的历史语句;
7.提取所述待改写语句和所述历史语句的关键词提取;
8.通过将根据所述待改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句;
9.将所述目标语句替换到所述待改写语句中。
10.可选地,所述通过将根据所述待改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句,包括:
11.将所述待改写语句、所述历史语句和所述关键词输入所述多轮对话改写模型,获取输出的多个改写语句以及每一改写语句的概率;
12.根据每一所述改写语句的概率,从所述多个改写语句中确定目标语句。
13.可选地,所述根据每一所述改写语句的概率,从所述多个改写语句中确定目标语句,包括:
14.根据每一所述改写语句的概率,从所述多个改写语句中确定概率值较大的预设数量个候选语句;
15.针对每一所述候选语句,根据所述候选语句的流畅性和/或所述候选语句与所述关键词的一致性,为所述候选语句打分;
16.根据每一所述候选语句各自的打分,从所述候选语句中确定目标语句。
17.可选地,所述根据每一所述改写语句的概率,从所述多个改写语句中确定目标语句,包括:
18.根据每一所述改写语句的概率,将概率最大的改写语句确定为目标语句。
19.可选地,所述通过将所述待该改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句,包括:
20.将所述待改写语句、所述历史语句和所述关键词进行拼接,得到拼接文本;
21.通过将所述拼接文本输入预设的多轮对话改写模型获取目标语句。
22.可选地,所述多轮对话改写模型为生成式模型,且所述多轮对话改写模型是通过以第一训练样本中的待改写样本语句、所述待改写样本语句对应的历史样本语句、以及所述待改写样本语句和所述历史样本语句的关键词作为模型输入参数,并以所述第一训练样本中的第一样本标注语句作为模型输出参数进行训练得到的。
23.可选地,所述提取所述待改写语句和所述历史语句的关键词,包括:
24.将所述待改写语句和所述历史语句输入预设的序列标注模型,获取输出的关键词;
25.其中,所述序列标注模型是通过以第二训练样本中的待改写样本语句和所述待改写样本语句对应的历史样本语句作为模型输入参数,并以所述第二训练样本中的所述待改写样本语句和所述历史样本语句的的关键词作为模型输出参数进行训练得到的。
26.可选地,所述第二训练样本中的所述待改写样本语句和所述历史样本语句的的关键词通过以下方式获得:
27.对所述第二训练样本中的所述待改写语句和所述历史语句进行分词,得到第一分词结果;
28.获取所述第二训练样本中的所述待改写样本语句对应的第二样本标注语句,并对所述第二样本标注语句进行分词并去除停用词,得到第二分词结果;
29.针对所述第一分词结果中的每一分词词汇,确定所述第二分词结果是否包括所述分词词汇,并在所述第二分词结果包括所述分词词汇时将所述分词词汇确定为所述待改写样本语句和所述历史样本语句的的关键词。
30.根据本公开实施例的第二方面,提供一种多轮对话改写装置,包括:
31.第一获取模块,被配置为获取待改写语句和所述待改写语句的历史语句;
32.提取模块,被配置为提取所述待改写语句和所述历史语句的关键词;
33.第二获取模块,被配置为通过将所述待该改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句;
34.替换模块,被配置为将所述目标语句替换到所述待改写语句中。
35.根据本公开实施例的第三方面,提供一种电子设备,包括:
36.处理器;
37.用于存储处理器可执行指令的存储器;
38.其中,所述处理器被配置为:
39.获取待改写语句和所述待改写语句的历史语句;
40.提取所述待改写语句和所述历史语句的关键词;
41.通过将所述待该改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句;
42.将所述目标语句替换到所述待改写语句中。
43.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的所述方法的步骤。
44.本公开的实施例提供的技术方案可以包括以下有益效果:
45.采用上述技术方案,对待改写语句和历史语句进行关键词提取得到关键词之后,根据待改写语句、历史语句和关键词,对待改写语句进行改写得到目标语句。如此,利用该方法无需预先定义意图和槽位体系,提高多轮对话改写的通用性和灵活性。并且,改写方式不限于删除、替换、保留和插入,使得改写能力更强,提高改写质量,使得改写后的目标语句更符合用户的真实意图,从而提升了多轮对话的效果。
46.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
48.图1是根据一示例性实施例示出的一种多轮对话改写方法的流程图。
49.图2是根据一示例性实施例示出的一种序列标注模型的示意图。
50.图3是根据一示例性实施例示出的一种图1中步骤s13的流程图。
51.图4是根据一示例性实施例示出的一种多轮对话改写装置的框图。
52.图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
53.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
54.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
55.在相关技术中对多轮对话改写的方式主要分为两种。第一种是基于dst(对话状态跟踪)的多轮对话改写方法,其主要是针对任务型对话。具体地,首先,针对一个具体领域设置一套意图和槽位体系。比如,对于订机票领域,可能存在的意图包括航班班次查询、航班价格查询等,涉及的槽位可能包括日期、出发地、到达地、航班号等,需要先将这些意图和槽
位定义清楚,构成一套完整体系。接着,根据用户和对话系统每一轮的对话,提取到相关槽位的取值,记录到dst中。当用户语句存在表述不完整时,就可以从dst中去获取相关槽位的取值,对本轮用户语句进行改写,补全语句信息。然而,该方案针对不同领域需要设置不同的意图和槽位体系,不够灵活,通用性不高。此外,还需事先定义好意图和槽位的体系,费时费力,比较依赖领域经验。
56.第二种是基于序列标签的多轮对话改写方法,主要是针对开放领域对话。具体地,首先,输入历史语句和本轮语句,通过序列标注模型对本轮语句的每个字的序列标签进行标注,其中,序列标签包括删除、替换和保留。根据标注的序列标签对每个字进行相应的处理。另外,还可以标注改写位置和改写内容,将改写内容拼接到改写位置上,得到改写后的语句。然而,该方案只能逐字地去对本轮语句进行改写,改写方式比较生硬,改写结果可能会不够通顺,当语句缺省内容很多时或者针对asr错误的情形,改写效果较差。
57.有鉴于此,本公开提供一种新的多轮对话改写方法、装置、电子设备及介质,以提高多轮对话改写的通用性和灵活性,同时,提高了改写结果的质量,从而提升了多轮对话的效果。
58.图1是根据一示例性实施例示出的一种多轮对话改写方法的流程图。如图1所示,该方法可以包括以下步骤。
59.在步骤s11中,获取待改写语句和待改写语句的历史语句。
60.首先应当理解的是,待改写语句为人机对话中的用户输入的用户语句。
61.其次应当理解的是,待改写语句为用户语句意图不明确语句不完整,但是结合上下文可以明确用户的真实意图的语句。示例地,第一轮用户语句为“三国演义中关羽的绰号是什么”,第二轮用户语句为“他用的武器是什么”。第二轮用户语句为意图不明确语句不完整,但是根据第一轮用户语句可知,第二轮用户语句的真实意图是问询“关羽用的武器是什么”,因此,第二轮用户语句“他用的武器是什么”即为待改写语句。此外,待改写语句的历史语句是指在输入待改写语句之前用户输入的含有较为全面信息的语句,且该历史语句可以为一条或多条用户语句。沿用上述例子,若第二轮用户语句“他用的武器是什么”为待改写语句,则历史语句即为第一轮用户语句“三国演义中关羽的绰号是什么”。
62.在步骤s12中,提取待改写语句和历史语句的关键词。
63.在本公开中,关键词可以是历史语句中包括也可以是待改写语句中包括的能够反映用户的真实意图的词汇。
64.在步骤s13中,通过将待改写语句、历史语句和关键词输入预设的多轮对话改写模型,获取目标语句。
65.在步骤s14中,将目标语句替换到待改写语句中。
66.在本公开中,目标语句为对待改写语句进行改写后生成的语句,且目标语句为完整的且意图明确的语句。因此,在确定出目标语句后,将该目标语句替换到待改写语句中。便于后续对话系统能够根据目标语句向用户提供准确的答复,提升用户多轮对话的效果。
67.采用上述技术方案,提取待改写语句和历史语句的关键词,通过将待改写语句、历史语句和关键词输入预设的多轮对话改写模型,来获取到目标语句,并将目标语句替换到待改写语句中。如此,利用该方法无需预先定义意图和槽位体系,提高多轮对话改写的通用性和灵活性。并且,改写方式不限于删除、替换、保留和插入,使得改写能力更强,提高改写
质量,使得改写后的目标语句更符合用户的真实意图,从而提升了多轮对话的效果。
68.在一种实施例中,可以通过基于机器学习方式提取待改写语句和历史语句饿关键词。示例地,可以根据序列标注模型提取出待改写语句和历史语句的关键词。例如,图1中步骤s12提取待改写语句和历史语句的关键词的具体实施方式为:将待改写语句和历史语句输入预设的序列标注模型,获取输出的关键词。其中,可以通过以下方式得到序列标注模型:
69.(1)获取用于训练序列标注模型的训练样本,为了与训练多轮对话改写模型的训练样本进行区别,下文将用于训练多轮对话改写模型的训练样本记为第一训练样本,将用于训练序列标注模型的训练样本记为第二训练样本,并且,在训练序列标注模型时需要用到多个第二训练样本,因此,第二训练样本的数量可以为多个。
70.示例地,首先,获取一批人机对话的会话样本,每个会话样本由用户和对话系统之间的多轮对话构成。接着,去除会话样本中对话系统回复的系统语句只保留用户语句,以及,去除无效的会话样本仅保留有效的会话样本,其中,有效的会话样本是指最后一轮用户语句为不完整且语义不明确,但结合该会话样本中的其他语句能够明确用户的真实意图的会话样本。例如,包括第一轮样本用户语句q1“北京市的市花是什么”、第二轮样本用户语句q2“广州市的市花是什么”和第三轮样本用户语句q3“那上海的呢”的会话样本即为一个有效的会话样本。并且,有效的会话样本中的最后一轮样本用户语句作为待改写样本语句、有效的会话样本中的其他用户语句作为待改写样本语句对应的历史样本语句。
71.接着,获取人工标注的有效的会话样本中的最后一轮样本用户语句的真实意图。并将该真实意图作为待改写样本语句对应的第二样本标注语句。例如,例如,针对上述有效的会话样本,q3对应的第二样本标注语句为“上海的市花是什么”。
72.之后,根据有效的会话样本和第二样本标注语句,确定待改写样本语句和历史样本语句的关键词。以及,根据该关键词、待改写样本语句和待改写样本语句对应的历史样本语句构建第二训练样本。
73.在一种可能的实施方式中,第二训练样本中的待改写样本语句和历史样本语句的关键词可以通过以下方式获得:对第二训练样本中的待改写样本语句和历史样本语句进行分词,得到第一分词结果,获取第二训练样本中的待改写样本语句对应的第二样本标注语句,并对第二样本标注语句进行分词并去除停用词,得到第二分词结果;针对第一分词结果中的每一分词词汇,确定第二分词结果是否包括该分词词汇,并在第二分词结果包括该分词词汇时将该分词词汇确定为待改写样本语句和历史样本语句的关键词。
74.在本公开中,停用词可以是根据实际需求预先设置的一些词汇,例如,停用词可以包括“是什么”、“的”等。应当理解的是,分词技术属于较为成熟的技术,本公开对此不作限定。
75.示例地,假设q1“北京市的市花是什么”和q2“广州市的市花是什么”为第二训练样本的历史样本语句,q3“那上海的呢”为第二训练样本的待改写样本语句,待改写样本语句对应的第二样本标注语句“上海的市花是什么”,则按照上述方式所确定的关键词为“市花”和“上海”。例如,可以用数字0表征该位置对应的词汇为非关键词,用数字1表征该位置对应的词汇为关键词,相应地,第二训练样本可以如表1所示。
76.表1
77.北京市的市花是什么,广州市的市花是什么,那上海的呢0000110000000011000001100
78.应当理解的是,为了便于描述,上述仅以获取一个第二训练样本为例进行描绘。在实际应用中,可以按照上述方式获取多个第二训练样本,本公开对此不作具体限定。
79.(2)以第二训练样本中的待改写样本语句和待改写样本语句对应的历史样本语句作为模型输入参数,并以第二训练样本中的待改写样本语句和历史样本语句的关键词作为模型输出参数进行训练得到序列标注模型。
80.在可能的实施方式中,每一历史样本语句和待改写样本语句均以预设符号连接,例如,以逗号连接,作为模型输入参数,模型的输出参数为一组数值为0或1的序列。
81.示例地,图2是根据一示例性实施例示出的一种关序列标注模型的示意图。如图2所示,该序列标注模型包括级联的bert模型和crf模型。在图2中,历史样本语句和待改写样本语句拼接后的文本作为模型输入参数,文本中的一个字记为一个token,输入的文本序列可以表示为[token1,token2,

,tokenk],其中,k表征历史样本语句和待改写样本语句拼接后的文本的字符长度。其中,在图2中,[cls]、[sep]和文本序列作为bert模型的输入。bert模型根据上下文对每个token蕴含的语义进行学习。经过bert之后得到每个token的表示向量,以o来表示,那么经过bert模型之后得到的序列表示为[c,o1,o2,

,ok,s]。其中,c表示[cls]字符对应的表示向量,s表示[sep]字符对应的表示向量。
[0082]
在本公开中,序列标注模型所采用的序列标注体系包括0和1两种标签,其中,1表征该位置对应的词汇为关键词,0表征该位置对应的词汇为非关键词。将bert模型输出的序列[c,o1,o2,

,ok,s]输入crf模型。crf模型会考虑相邻两个标注标签之间的转移概率。如此,模型的损失函数不仅考虑每个标注标签的似然概率,同时也会考虑相邻标注标签之间的转移概率。对于一个标注序列tokeni对应的标注标签的似然概率为也称为发射概率。另外,假设转移矩阵为a,a为一个2*2的矩阵(2对应的是0/1两个标注标签),矩阵a中每一个元素代表从一个标注标签到另一个标注标签的转移概率。从到的转移概率为则序列的得分可以表示为发射概率和转移概率之和如公式(1)所示,序列标注模型的损失函数如公式(2)所示:
[0083][0084][0085]
其中,在公式(2)中y表征在crf模型中生成的所有可能的标注序列。
[0086]
在对序列标注模型训练时可以预先设置训练参数的参数值。其中,训练参数可以包括最大字符长度max_seq_length、训练批次大小、学习率learning_rate、训练轮数num_train_epochs和参数λ。例如,设置max_seq_length=250,train_batch_size=16,learning_rate=10-5
,num_train_epoch=50,λ=0.7。如此,按照该训练参数并利用上述第
二训练样本训练后,即可得到序列标注模型。
[0087]
在得到序列标注模型之后,将改写语句和历史语句输入该序列标注模型,可以得到该序列标注模型输出的标注序列,之后,从标注序列中挑选出以标注标签为1的序列片段,这些序列片段对应的原始token记为关键词。
[0088]
如此,采用机器学习的方式获取关键词,提高了获取关键词的智能化。
[0089]
类似地,在本公开中,还可以通过机器学习的方式对待改写语句进行改写得到目标语句。在一种可能的实施方式中,将待改写语句、历史语句和所述关键词输入多轮对话改写模型,获取该多轮对话改写模型输出的目标语句。在另一种可能的实施方式中,如图3所示,图1中步骤s13的可以进一步包括步骤s131和步骤s132。
[0090]
在步骤s131中,将待改写语句、历史语句和关键词输入多轮对话改写模型,获取输出的多个改写语句以及每一改写语句的概率。
[0091]
示例地,可以将待改写语句、历史语句和关键词进行拼接,得到拼接文本,之后,通过将该拼接文本输入预设的多轮对话改写模型获取目标语句。例如,将该拼接文本输入预设的多轮对话改写模型,获取多轮对话改写模型输出的多个改写语句以及每一改写语句的概率。其中,拼接方式可以如公式(3)所示:
[0092]
text=[cls],q1,q2,...,qz,[sep],c1,[sep],c2,[sep],...,[sep],cmꢀꢀꢀ
(3)
[0093]
其中,q1~q
z-1
表征历史语句,qz表征待改写语句,c1~cm表征所确定的关键词。
[0094]
此外,在本公开中,多轮对话改写模型可以为生成式模型,且多轮对话改写模型是通过以第一训练样本中的待改写样本语句、待改写样本语句对应的历史样本语句、以及待改写样本语句和历史样本语句的关键词作为模型输入参数,并以第一训练样本中的第一样本标注语句作为模型输出参数进行训练得到的。
[0095]
其中,可以通过以下方式训练得到多轮对话改写模型:
[0096]
首先,获取用于训练多轮对话改写模型的第一训练样本。第一训练样本包括待改写样本语句、待改写样本语句对应的历史样本语句、待改写样本语句和历史样本语句的关键词、以及第一样本标注语句。其中,第一训练样本的数量为多个。
[0097]
示例地,仍以有效的会话样本包括第一轮样本用户语句q1“北京市的市花是什么”、第二轮样本用户语句q2“广州市的市花是什么”和第三轮样本用户语句q3“那上海的呢”为例进行说明。如上所述,按照上述方式可以确定出关键词为“上海”和“市花”。第一样本标注语句为用户的真实意图,即第一样本标注语句为“上海的市花是什么”。
[0098]
之后,以第一训练样本中的待改写样本语句、待改写样本语句对应的历史样本语句、以及待改写样本语句和历史样本语句的关键词作为模型输入参数,并以第一训练样本中的第一样本标注语句作为模型输出参数对初始模型进行训练得到多轮对话改写模型。其中,初始模型可以为bert模型、gpt(generative pre-training)模型或者t5(transfer text-to-text transformer)模型。其中,t5模型将所有nlp任务都转化成text-to-text(文本到文本)任务。
[0099]
在本公开中,以初始模型为t5模型为例进行说明。将待改写样本语句、待改写样本语句对应的历史样本语句和待改写样本语句和历史样本语句的关键词按照上述公式(3)进行拼接得到的文本输入t5模型,t5模型输出每个时间步t生成的字符x
t
。将第一样本标注语句表示为{y1,y2,...,y
t
},t表征第一样本标注语句的字符长度。t5模型输出的生成结果为
{x1,x2,...,x
t
},则在时间步t生成y
t
的概率为p(y
t
|mg,x
《t
),其中,mg表征t5模型,x
《t
表征模型mg在时间步t之前的生成结果。定义损失函数如公式(4)所示:
[0100][0101]
在对t5模型训练时可以预先设置训练参数的参数值。其中,训练参数可以包括最大字符长度max_seq_length、训练批次大小、学习率learning_rate、训练轮数num_train_epochs。例如,设置max_seq_length=300,train_batch_size=16,learning_rate=10-5
,num_train_epoch=50,如此,按照该训练参数并利用第一训练样本训练后,即可得到多轮对话改写模型。
[0102]
之后,将待改写语句、历史语句和关键词拼接得到的拼接文本输入多轮对话改写模型中,可以等到该多轮对话改写模型生成的多个改写语句以及每一改写语句的概率。示例地,多轮对话改写模型生成的每一改写语句可以标识为序列{x1,x2,...,xu},以及每一序列的概率为其中,u表征该改写语句的字符数量,每一序列的概率用于表征该序列对应的改写语句为用户的真实意图的概率。
[0103]
在步骤s132中,根据每一改写语句的概率,从多个改写语句中确定目标语句。
[0104]
如上所示,改写语句的概率用于表征该改写语句为用户的真实意图的概率,即,概率值越大,其对应的改写语句为用户的真实意图的可能性就越大,因此,在一种可能的实施方式中,根据每一改写语句的概率,将概率最大的改写语句确定为目标语句。示例地,可以通过beam search算法进行解码,能够快速地确定出概率最大的改写语句,并将其确定为目标语句。
[0105]
考虑到多轮对话改写模型的精度有限,其输出的改写语句的概率可能会存在误差,因此,在另一种可能的实施方式中,根据每一改写语句的概率,从多个改写语句中确定概率值较大的预设数量个候选语句;针对每一候选语句,根据候选语句的流畅性和/或候选语句与关键词的一致性,为候选语句打分;根据每一候选语句各自的打分,从候选语句中确定目标语句。
[0106]
示例地,可以通过beam search算法对多轮对话改写模型输出多个改写语句进行解码,得到概率值较大的n个候选语句,之后,对该n个候选语句进行重排序确定目标语句。例如,重排序时可以考虑两个因素:候选语句的流畅性和候选语句与关键词的一致性。其中,流畅性主要衡量的是所生成的候选语句是否流畅,计算方式是使用开源语言模型(比如bert)计算生成语句的困惑度。应当理解的是,困惑度越大流畅性就越差,因此,为了方便分析,通常采用困惑度打分的倒数或者负数作为候选语句的流畅性打分。一致性主要衡量的是候选语句与关键词是否一致,计算方式是统计候选语句中不为关键词的非停用词词汇的个数。类似地,不为关键词的非停用词词汇的个数越多一致性就越差,因此,为了方便分析,通常采用候选语句中不为关键词的非停用词词汇的个数的倒数或者负数作为候选语句的一致性打分。之后,针对每一候选语句,将该候选语句的流畅性打分和一致性打分之和确定为候选语句打分。之后,根据候选语句打分对n个候选语句进行重排序,其中,候选语句打分越大的候选语句的排序越靠前。最后,将排在第一为的候选语句确定为目标语句。
[0107]
如此,根据多轮对话改写模型输出多个改写语句和每一改写语句的概率,得到概率值较大的预设数量个候选语句之后,根据流畅性和一致性从候选语句中确定出目标语句,使得改写得到的目标语句更为自然,且更符合用户的真实意图,从而提升多轮对话的效果。
[0108]
本公开还提供一种多轮对话改写装置。图4是根据一示例性实施例示出的一种多轮对话改写装置的框图。如图4所示,多轮对话改写装置400包括:
[0109]
第一获取模块401,被配置为获取待改写语句和所述待改写语句的历史语句;
[0110]
提取模块402,被配置为提取所述待改写语句和所述历史语句的关键词;
[0111]
第二获取模块403,被配置为通过将所述待该改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句;
[0112]
替换模块404,被配置为将所述目标语句替换到所述待改写语句中。
[0113]
可选地,所述第二获取模块403包括:
[0114]
第一输入子模块,被配置为将所述待改写语句、所述历史语句和所述关键词输入所述多轮对话改写模型,获取输出的多个改写语句以及每一改写语句的概率;
[0115]
第一确定子模块,被配置为根据每一所述改写语句的概率,从所述多个改写语句中确定目标语句。
[0116]
可选地,所述第一确定子模块被配置为:根据每一所述改写语句的概率,从所述多个改写语句中确定概率值较大的预设数量个候选语句;
[0117]
针对每一所述候选语句,根据所述候选语句的流畅性和/或所述候选语句与所述关键词的一致性,为所述候选语句打分;
[0118]
根据每一所述候选语句各自的打分,从所述候选语句中确定目标语句。
[0119]
可选地,所述第一确定子模块被配置为:根据每一所述改写语句的概率,将概率最大的改写语句确定为目标语句。
[0120]
可选地,所述第二获取模块403被配置为:将所述待改写语句、所述历史语句和所述关键词进行拼接,得到拼接文本;
[0121]
通过将所述拼接文本输入预设的多轮对话改写模型获取目标语句。
[0122]
可选地,所述多轮对话改写模型为生成式模型,且所述多轮对话改写模型是通过以第一训练样本中的待改写样本语句、所述待改写样本语句对应的历史样本语句、以及所述待改写样本语句和所述历史样本语句的关键词作为模型输入参数,并以所述第一训练样本中的第一样本标注语句作为模型输出参数进行训练得到的。
[0123]
可选地,所述提取模块402包括:
[0124]
第二输入子模块,被配置为将所述待改写语句和所述历史语句输入预设的序列标注模型,获取输出的关键词;
[0125]
其中,所述序列标注模型是通过以第二训练样本中的待改写样本语句和所述待改写样本语句对应的历史样本语句作为模型输入参数,并以所述第二训练样本中的所述待改写样本语句和所述历史样本语句的关键词作为模型输出参数进行训练得到的。
[0126]
可选地,所述第二训练样本中的所述待改写样本语句和所述历史样本语句的关键词通过以下方式获得:
[0127]
对所述第二训练样本中的所述待改写语句和所述历史语句进行分词,得到第一分
词结果;
[0128]
获取所述第二训练样本中的所述待改写样本语句对应的第二样本标注语句,并对所述第二样本标注语句进行分词并去除停用词,得到第二分词结果;
[0129]
针对所述第一分词结果中的每一分词词汇,确定所述第二分词结果是否包括所述分词词汇,并在所述第二分词结果包括所述分词词汇时将所述分词词汇确定为所述待改写样本语句和所述历史样本语句的关键词。
[0130]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0131]
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的多轮对话改写方法的步骤。
[0132]
本公开还提供一种电子设备,包括处理器;
[0133]
用于存储处理器可执行指令的存储器;
[0134]
其中,所述处理器被配置为:
[0135]
获取待改写语句和所述待改写语句的历史语句;
[0136]
提取所述待改写语句和所述历史语句的关键词;
[0137]
通过将所述待该改写语句、所述历史语句和所述关键词输入预设的多轮对话改写模型,获取目标语句;
[0138]
将所述目标语句替换到所述待改写语句中。
[0139]
示例地,图5是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0140]
参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出接口512,传感器组件514,以及通信组件516。
[0141]
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成多轮对话改写方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
[0142]
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0143]
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
[0144]
多媒体组件508包括在所述电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面
板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0145]
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(mic),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
[0146]
输入/输出接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0147]
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0148]
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0149]
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行多轮对话改写方法。
[0150]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成多轮对话改写方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0151]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的多轮对话改写方法的代码部分。
[0152]
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性
变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0153]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献