文本改写方法、装置、存储介质及电子设备
文献发布时间:2023-06-19 12:00:51
技术领域
本公开涉及自然语言处理技术领域,尤其涉及一种文本改写方法、装置、存储介质及电子设备。
背景技术
相关技术中,文本编辑任务随着深度学习模型的迭代与更新有了长足的进步。常见的文本编辑任务有回复改写,回复重生成和文本纠错等。其中,回复改写的目的是使被改写语句在改写之后能够表达更完整的语义信息,因此,回复改写也逐渐成为研究文本编辑任务的一个重要分支。
发明内容
为克服相关技术中存在的问题,本公开提供一种文本改写方法、装置、存储介质及电子设备。
根据本公开实施例的第一方面,提供一种文本改写方法,包括:
获取对话输入;
根据所述对话输入,在语料库中确定与所述对话输入对应的候选回复,所述语料库包括历史对话输入与历史候选回复之间的对应关系;
将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本;
根据所述字符调整信息和所述改写文本,对所述对话输入进行回复。
在一些实施例中,所述方法还包括:
根据所述对话输入,识别与所述对话输入对应的目标实体信息;
根据所述对话输入及所述目标实体信息,在所述语料库中确定对应的所述候选回复,所述语料库还包括历史对话输入、历史实体信息、历史候选回复之间的对应关系;
所述将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本,包括:
将所述对话输入和根据所述目标实体信息确定的候选回复输入至训练好的文本改写模型,确定与该候选回复对应的字符调整信息和改写文本。
在一些实施例中,所述根据所述对话输入,在语料库中确定与所述对话输入对应的候选回复,包括:
针对所述语料库中的每一所述历史对话输入,确定该历史对话输入与所述对话输入的相似度;
将相似度最高的K个历史对话输入所分别对应的历史候选回复分别作为与所述对话输入对应的初始候选回复,所述K为大于0的正整数;
对所有所述初始候选回复进行排序,并根据排序结果从所有所述初始候选回复中确定与所述对话输入对应的候选回复。
在一些实施例中,所述候选回复为多个,所述将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本,包括:
针对每一所述候选回复,将所述对话输入和该候选回复输入至训练好的所述文本改写模型,得到与该候选回复对应的字符调整信息和改写文本;
所述根据所述字符调整信息和所述改写文本,对所述对话输入进行回复,包括:
通过所述文本改写模型从所有所述改写文本中确定与所述对话输入对应的目标回复文本,并根据所述目标回复文本对所述对话输入进行回复。
在一些实施例中,所述将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本,包括:
将所述对话输入和所述候选回复输入至训练好的文本改写模型,得到与该候选回复对应的初始改写信息,所述初始改写信息包括初始字符调整信息和初始改写文本;
将所述初始改写文本作为当前改写文本;
将所述对话输入和所述当前改写文本输入至训练好的文本改写模型,得到下一改写信息,并判断所述下一改写信息中的改写文本和所述当前改写文本是否相同;
在所述下一改写信息中的改写文本和所述当前改写文本不相同的情况下,将所述下一改写信息中的改写文本作为新的当前改写文本,重复执行所述将所述对话输入和所述当前改写文本输入至训练好的文本改写模型,得到下一改写信息,并判断所述下一改写信息中的改写文本和所述当前改写文本是否相同的步骤直至所述下一改写信息中的改写文本和所述当前改写文本相同;
将所述下一改写信息中的改写文本和所述当前改写文本中的任一文本作为与所述候选回复对应的改写文本。
在一些实施例中,所述字符调整信息包括字符删除信息和字符插入信息;
所述将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本,包括:
判断所述候选回复中的每个字符是否为删除字符,将所有为删除字符的字符作为与所述候选回复对应的字符删除信息;
根据与所述候选回复对应的字符删除信息,对所述候选回复进行删除处理,得到与所述候选回复对应的文本骨架;
确定所述文本骨架的字符插入信息,其中,所述字符插入信息包括所述文本骨架的字符之间的待插入字符数量以及待插入字符;
根据与所述候选回复对应的字符插入信息,对所述文本骨架进行字符插入处理,得到与所述候选回复对应的改写文本。
在一些实施例中,所述文本改写模型包括去词模块和插词模块,所述文本改写模型通过以下方式训练得到:
获取多个训练样本,多个所述训练样本包括针对所述去词模块的第一训练样本以及针对所述插词模块的第二训练样本,且每个所述训练样本包括改写样本和标注标签;
将每个所述第一训练样本输入至所述去词模块,基于所述去词模块输出的预测字符删除信息和该第一训练样本中的标注标签,确定该第一训练样本对应的第一预测损失;
将每个所述第二训练样本输入至所述插词模块,基于所述字符数预测模块输出的预测字符插入信息和该第二训练样本中的标注标签,确定该第二训练样本对应的第二预测损失;
针对每个所述模块,依据各所述模块的各所述预测损失调整与该模块对应的模型参数。
根据本公开实施例的第二方面,提供一种文本改写装置,包括:
获取模块,被配置为获取对话输入;
第一确定模块,被配置为根据所述对话输入,在语料库中确定与所述对话输入对应的候选回复,所述语料库包括历史对话输入与历史候选回复之间的对应关系;
改写模块,被配置为将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本;
回复模块,被配置为根据所述字符调整信息和所述改写文本,对所述对话输入进行回复。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的文本改写方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现本公开第一方面所提供的文本改写方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
利用文本改写模型确定与对话输入对应的候选回复的字符调整信息和改写文本,其中,字符调整信息用于对候选回复进行改写,以丰富候选回复的语义信息,并利用改写文本对对话输入进行回复,能够有利于提升对话质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据本公开一示例性实施例示出的一种文本改写方法的流程图。
图2是根据本公开一示例性实施例示出的一种文本改写方法的另一流程图。
图3是根据本公开一示例性实施例示出的一种文本改写方法的另一流程图。
图4是根据本公开一示例性实施例示出的一种文本改写方法的另一流程图。
图5是根据本公开一示例性实施例示出的一种文本改写装置的结构示意图。
图6是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的文本改写方法之前,首先对本公开中各个实施例所涉及的应用场景作以说明,本公开可以应用于通过终端实现语言交互的场景,该语言交互是至用户与终端进行人机交流对话。
相关技术中,针对对话输入的回复改写是基于骨架和对话输入重新生成的,导致得到的改写文本可能改变原有回复的含义。例如,以对话输入为“寒潮来了”为例,候选回复为“是的啊”,在改写之后可能会得到例如是“挺冷的”的改写文本,显然地,这种改写方式改变了原有回复所想表达的真实语义。
另外,相关技术中在回复改写时,通常利用候选回复编辑一个模板,再将模板与对话输入输入到模型中生成改写后的回复,现有的模板编辑方法都比较复杂且得到的模板较为粗糙,若想得到不粗糙的模板又需要大量人工去人为的标注。
有鉴于此,本公开实施例提供一种文本改写方法,能够在丰富候选回复语义信息的同时更多的保留候选回复原有的含义。
图1是根据本公开一示例性实施例示出的一种文本改写方法的流程图。该文本改写方法例如可以应用于智能手机等电子设备,如图1所示,该文本改写方法包括:
在步骤101中,获取对话输入。
示例地,该对话输入可以是语音信息,也可以是文本信息,在对话输入是语音信息的情况下,电子设备可以对该语音信息进行语义识别,转换为文本信息,然后根据该文本信息执行以下步骤。
需要说明的是,在步骤101之前,该文本改写还包括:接收获取指令,在接收到获取指令时执行步骤101。示例地,可以通过设置一个预设按键实现触发生成获取指令的功能。示例地,还可以在当前环境下检测到预设语音实现触发生成获取指令的功能,本公开对此不作限定。
在步骤102中,根据对话输入,在语料库中确定与对话输入对应的候选回复,语料库包括多个语料对,每个语料对包括历史对话输入与历史候选回复之间的对应关系。
需要说明的是,语料库可以由人工构建,也可以利用网络爬虫技术自动从互联网中采集已有的对话内容来构建。
在本公开中,语料库包括多个语料对,每一语料对包括历史对话输入和与该历史对话输入对应的历史候选回复。
在步骤103中,将对话输入和候选回复输入至训练好的文本改写模型,确定针对候选回复的字符调整信息和改写文本。
在步骤104中,根据字符调整信息和改写文本,对对话输入进行回复。
需要说明的是,候选回复的改写文本用于对对话输入进行回复。
示例地,文本改写模型可以基于transformer模型训练得到。
值得说明的是,字符调整信息包括字符删除信息和字符插入信息,字符删除信息用于表征候选回复中需要删除的字符,字符插入信息包括删除字符后的候选回复的字符之间待插入字符数量以及待插入字符。应当说明的是,在对候选回复进行删除后,可以对删除后得到的文本进行预处理,该预处理包括对删除后得到的文本的首尾进行字符添加处理,添加的字符可以是预设字符,便于后续可以确定删除后得到的文本的第一个字符之前和最后一个字符之后是否存在需要插入的字符。进一步可以理解的是,在插入字符后,可以将添加的预设字符进行删除,从而得到与候选回复对应的改写文本。
其中,待插入字符可以包括文字、语气符号和/或表情包。应当可以理解的是,语气符号和表情包能增加用户与电子设备交互的趣味性。
通过上述方式,利用文本改写模型确定与对话输入对应的候选回复的字符调整信息和改写文本,其中,字符调整信息用于对候选回复进行改写,以丰富候选回复的语义信息,并利用改写文本对对话输入进行回复,能够有利于提升对话质量。
在可能的方式中,在利用文本改写模型,确定针对候选回复的字符调整信息和改写文本时,还可以将对话输入的上文信息、对话输入和候选回复输入一起输入至文本改写模型中,确定针对候选回复的字符调整信息和改写文本。
通过上述方式,考虑到在多论对话的交互场景中,对话输入的上文信息也影响针对当前输入的回复内容,因此,利用对话输入的上文信息作为改写文本模型的一种输入信息,可以在改写当前候选回复时,使得改写文本拥有更丰富的信息。
在可能的方式中,图2是根据本公开一示例性实施例示出的一种文本改写方法的另一流程图。如图2所示,所述方法包括以下步骤:
在步骤201中,获取对话输入。
在步骤202中,根据对话输入,识别与对话输入对应的目标实体信息。
在步骤203中,根据对话输入及目标实体信息,在语料库中确定对应的候选回复。
在步骤204中,将对话输入和根据目标实体信息确定的候选回复输入至训练好的文本改写模型,确定与该候选回复对应的字符调整信息和改写文本。
在步骤205中,根据字符调整信息和改写文本,对对话输入进行回复。
需要说明的是,语料库还包括历史对话输入、历史实体信息、历史候选回复之间的对应关系。
示例地,以对话输入为“七里香,你呢”,且候选回复是“他的所有歌,哈哈”为例,分析该对话输入,可以得到“七里香”对应的目标实体信息可以是“周杰伦是歌手”,因此,可以将该目标实体信息(周杰伦是歌手)和候选回复(他的所有歌,哈哈)输入至文本改写模型,确定与“他的所有歌,哈哈”对应的字符调整信息和改写文本。
需要说明的是,步骤201与图1所示步骤101的实施过程类似,步骤204与图1所示步骤103的实施过程类似,步骤205与图1所示步骤104的实施过程类似,本实施例在此不做赘述。
通过上述方式,可以在与对话输入对应的目标实体信息所对应的候选回复的基础上进行改写,由于与目标实体信息对应的候选回复涵盖的信息更为丰富,因此能够提升针对对话输入的回复的信息度。
在可能的方式中,根据对话输入,在语料库中确定与所述对话输入对应的候选回复的步骤可以包括:针对语料库中的每一历史对话输入,确定该历史对话输入与对话输入的相似度;将相似度最高的K个历史对话输入所分别对应的历史候选回复分别作为与对话输入对应的初始候选回复,K为大于0的正整数;对所有所述初始候选回复进行排序,并根据排序结果从所有所述初始候选回复中确定与所述对话输入对应的候选回复。
示例地,可以计算历史对话输入与对话输入的欧式距离,来确定该历史对话输入与对话输入之间的相似度,可以理解的是,欧式距离越小,相似度越高。另外,本实施例还可以采取其他相似度计算方法,本实施例在此不作限定。
示例地,K可以为30,也可以为60,本实施例在此不作限定。
示例地,可以根据初始候选回复与对话输入的相关度对所有初始候选回复进行排序,相对应地,根据排序结果从所有初始候选回复中确定对话输入的候选回复可以包括:将相关度大于预设相关度阈值的初始候选回复确定为对话输入的候选回复。其中,预设相关度阈值可以根据实际情况进行设定,本实施例在此不作限定。
示例地,可以根据初始候选回复作为历史对话输入的回复次数对所有初始候选回复进行排序,相对应地,根据排序结果从所有初始候选回复中确定对话输入的候选回复可以包括:将回复次数大于预设次数的初始候选回复确定为对话输入的候选回复。其中,预设次数可以根据实际情况进行设定,本实施例在此不作限定。
通过上述方式,通过相似度先确定与对话输入相似度较大的历史对话输入所对应的历史候选回复作为对话输入的初始候选回复,再对初始候选回复进行排序,选取排序位于前列的初始候选回复作为对话输入的候选回复,以便于在与对话输入最相关的候选回复上进行改写,确保回复的相关度。
在可能的方式中,在候选回复为多个的情况下,将对话输入和候选回复输入至训练好的文本改写模型,确定针对候选回复的字符调整信息和改写文本的步骤可以包括:针对每一候选回复,将对话输入和该候选回复输入至训练好的文本改写模型,得到与该候选回复对应的字符调整信息和改写文本;在此情况下,根据字符调整信息和改写文本,对对话输入进行回复的步骤可以包括:通过文本改写模型从所有改写文本中确定与对话输入对应的目标回复文本,并根据目标回复文本对对话输入进行回复。
需要说明的是,文本改写模型在确定字符调整信息中的待插入字符时,可以通过对话输入与通过字符调整信息中的字符删除信息进行字符删除后的候选回复之间的语义关系,从预构建的词汇表中预测每个单词在相对应的位置的插入概率,再将每个位置的插入概率最大的单词插入到删除字符后的候选回复中的相应位置以得到改为文本。
由于插入到删除字符后的候选回复中的每个字符均对应一个概率值,因此,针对每个候选回复的改写文本,文本改写模型可以将插入的每个字符的概率值进行加权,得到与该改写文本对应的概率加权值,再选取概率加权值最大的改写文本作为与对话输入对应的目标回复文本,并根据该目标回复文本,对对话输入进行回复。
图3是根据本公开一示例性实施例示出的一种文本改写方法的另一流程图。参照图3,将对话输入和候选回复输入至训练好的文本改写模型,确定针对候选回复的字符调整信息和改写文本的步骤可以包括:
步骤301,将对话输入和候选回复输入至训练好的文本改写模型,得到与该候选回复对应的初始改写信息,初始改写信息包括初始字符调整信息和初始改写文本;
步骤302,将初始改写文本作为当前改写文本;
步骤303,将对话输入和当前改写文本输入至训练好的文本改写模型,得到下一改写信息;
步骤304,判断下一改写信息中的改写文本和当前改写文本是否相同;
在下一改写文本和当前改写文本不相同的情况下,执行步骤305,将下一改写信息中的改写文本作为新的当前改写文本,并返回执行步骤303;
在下一改写文本和当前改写文本相同的情况下,执行步骤306,将下一改写信息中的改写文本和当前改写文本中的任一文本作为与候选回复对应的改写文本。
考虑到单次对候选回复进行改写可能造成信息度不够的问题,因此,通过上述方式,针对同一候选回复,利用循环迭代的方式,在下一改写信息中的改写文本和当前改写文本相同的情况下才输出改写文本,也就是说,在输入文本改写模型的文本连续无修改的情况下才输出改写文本,确保了改写文本的信息度。
图4是根据本公开一示例性实施例示出的一种文本改写方法的另一流程图。参照图4,将对话输入和候选回复输入至训练好的文本改写模型,确定针对候选回复的字符调整信息和改写文本的步骤可以包括:
步骤401,判断候选回复中的每个字符是否为删除字符,将所有为删除字符的字符作为与候选回复对应的字符删除信息。
在本步骤中,对候选回复中的每个字符逐一进行判断,确定候选回复中需要删除的字符,并将所有需要删除的字符进行拼接,得到字符删除信息。
示例地,以对话输入为“解不了锁”,且候选回复为“不能解锁是忘记密码了吧”为例,文本改写模型确定的需要删除的字符包括“不”、“能”、“解”、“锁”、“是”、“了”以及“吧”,因此,字符删除信息=(不;能;解;锁;是;了;吧)。
步骤402,根据与候选回复对应的字符删除信息,对候选回复进行删除处理,得到与候选回复对应的文本骨架。
示例地,仍以上述字符删除信息=(不;能;解;锁;是;了;吧)为例,对“不能解锁是忘记密码了吧”的候选回复中的字符进行删除后,得到的文本骨架为“…忘记密码…”。
步骤403,确定文本骨架的字符插入信息。
在本步骤中,字符插入信息包括文本骨架的字符之间的待插入字符数量以及待插入字符。
步骤404,根据与候选回复对应的字符插入信息,对文本骨架进行字符插入处理,得到与候选回复对应的改写文本。
在具体实施时,首先,可以先确定文本骨架的字符之间的待插入字符数量,在确定字符之间的待插入字符数量后,利用占位符对文本骨架进行填充,且一个占位符表征一个字符。示例地,仍以上述文本骨架“…忘记密码…”为例,在“忘”前确定的待插入字符数量为1,在“码”后确定的待插入字符数量为2,在“忘”与“记”之间、“记”与“密”之间且“密”与“码”之间确定的待插入字符数量均为0,相应地,利用占位符对文本骨架进行填充后得到“【mask1】忘记密码【mask2】【mask3】”。
在得到利用占位符填充后的文本后,在将待插入字符插入到填充后的文本对应的位置处,即可得到改写文本。示例地,仍以利用占位符对文本骨架进行填充后得到“【mask1】忘记密码【mask2】【mask3】”文本为例,【mask1】、【mask2】和【mask3】对应的待插入字符分别为“你”,“了”,“吗”,因此,插入待插入字符后,得到的文本为“你忘记密码了吗”。
可以理解的是,占位符可以表征在文本中不同的位置,因此,利用占位符进行填充可以为后续待插入字符的插入提供便利。
通过上述方式,利用文本改写模型对候选回复进行字符删除处理,得到与该候选回复对应的文本骨架,并在该文本骨架进行插词处理,得到与该候选回复对应的改写文本,由于是在基于候选回复的文本骨架上直接进行插词处理,如此,便可在丰富候选回复语义信息的同时更多的保留候选回复原有的含义;且直接利用文本改写模型得到文本骨架,无需构建模板,节省大量不必要的人工成本。
在可能的方式中,文本改写模型包括去词模块和插词模块,文本改写模型通过以下方式训练得到:
获取多个训练样本,多个训练样本包括针对去词模块的第一训练样本以及针对插词模块的第二训练样本,且每个训练样本包括改写样本和标注标签;将每个第一训练样本输入至去词模块,基于去词模块输出的预测字符删除信息和该第一训练样本中的标注标签,确定该第一训练样本对应的第一预测损失;将每个第二训练样本输入至插词模块,基于插词模块输出的预测字符插入信息和该第二训练样本中的标注标签,确定该第二训练样本对应的第二预测损失;针对每个模块,依据各模块的各预测损失调整与该模块对应的模型参数。
示例地,第一训练样本包括改写样本和标注标签,第一训练样本的标注标签用于表征改写样本中每个字符是否是需要删除的字符,改写样本中的标注标签中包括表征每个字符是否是需要删除的字符的标签,该标签可以是数字标签,例如,标签可以是数字“1”,且携带该标签的字符可以是不需要删除的字符,相对应地,标签可以是数字“0”,且携带该标签的字符可以是需要删除的字符。
示例地,第二训练样本包括改写样本和标注标签,第二训练样本的标注标签用于表征字符与字符之间需要插入的样本字符数量以及字符与字符之间需要插入的样本字符,例如,标注标签可以是“AB【T1】【T2】E”,其中,A、B和E均是改写样本中的字符,【T1】和【T2】均表示为一个字符,也即表征该标注标签表征在B和E之间需要插入两个字符,且T1和T2是需要插入的样本字符。
需要说明的是,各模块的各预测损失表征样本与标签之间的差异。
示例地,本公开可以将训练样本依次输入到各模块,得到文本改写模型;也可以是将训练样本循环输入多次到各模块,得到文本改写模型,本实施例在此不作限定。
在一些可能的实施方式中,第一训练样本的标注标签用于表征该第一训练样本的改写样本中需要删除的字符,第二训练样本的标注标签用于表征该第二训练样本的改写样本中字符之间需要插入的样本字符数量和样本字符,所述方法还包括:基于每一第一训练样本的改写样本和标注标签,构造第二训练样本的改写样本和标注标签。
由于第一训练样本是用于训练字符删除的,第二训练样本是用于训练插入字符的,两者存在一定的关联系,因此,通过上述方式,基于每一第一训练样本的改写样本和标注标签,构造第二训练样本的改写样本和标注标签,语料构建较为简单,不需要额外的人工成本。
图5是根据本公开一示例性实施例示出的一种文本改写装置的结构示意图。参照图5,该装置500包括获取模块501,第一确定模块502和改写模块503和回复模块504。
获取模块501,被配置为获取对话输入;
第一确定模块502,被配置为根据所述对话输入,在语料库中确定与所述对话输入对应的候选回复,所述语料库包括历史对话输入与历史候选回复之间的对应关系;
改写模块503,被配置为将所述对话输入和所述候选回复输入至训练好的文本改写模型,确定针对所述候选回复的字符调整信息和改写文本;
回复模块504,被配置为根据所述字符调整信息和所述改写文本,对所述对话输入进行回复。
在一些实施例中,所述装置500还包括:
识别模块,被配置为根据所述对话输入,识别与所述对话输入对应的目标实体信息;
第二确定模块,被配置为将与所述目标实体对应的目标实体信息加入到所述候选回复中;
所述改写模块503具体被配置为将所述对话输入和根据所述目标实体信息确定的候选回复输入至训练好的文本改写模型,确定与该候选回复对应的字符调整信息和改写文本。
在一些实施例中,所述第一确定模块502包括:
相似度计算子模块,被配置为针对所述语料库中的每一所述历史对话输入,确定该历史对话输入与所述对话输入的相似度;
第一筛选子模块,被配置为将相似度最高的K个历史对话输入所分别对应的历史候选回复分别作为与所述对话输入对应的初始候选回复,所述K为大于0的正整数;
第二筛选子模块,被配置为对所有所述初始候选回复进行排序,并根据排序结果从所有所述初始候选回复中确定与所述对话输入对应的候选回复。
在一些实施例中,所述候选回复为多个,所述改写模块503具体被配置为针对每一所述候选回复,将所述对话输入和该候选回复输入至训练好的所述文本改写模型,得到与该候选回复对应的字符调整信息和改写文本;
所述回复模块504具体被配置为通过所述文本改写模型从所有所述改写文本中确定与所述对话输入对应的目标回复文本,并根据所述目标回复文本对所述对话输入进行回复。
在一些实施例中,所述改写模块503包括:
第一改写子模块,被配置为将所述对话输入和所述候选回复输入至训练好的文本改写模型,得到与该候选回复对应的初始改写信息,所述初始改写信息包括初始字符调整信息和初始改写文本;
确定子模块,被配置为将所述初始改写文本作为当前改写文本;
第二改写子模块,被配置为将所述对话输入和所述当前改写文本输入至训练好的文本改写模型,得到下一改写信息,并判断所述下一改写信息中的改写文本和所述当前改写文本是否相同;
重复执行子模块,被配置为在所述下一改写信息中的改写文本和所述当前改写文本不相同的情况下,将所述下一改写信息中的改写文本作为新的当前改写文本,重复执行所述将所述对话输入和所述当前改写文本输入至训练好的文本改写模型,得到下一改写信息,并判断所述下一改写信息中的改写文本和所述当前改写文本是否相同的步骤;
输出子模块,被配置为将所述下一改写信息中的改写文本和所述当前改写文本中的任一文本作为与所述候选回复对应的改写文本。
在一些实施例中,所述字符调整信息包括字符删除信息和字符插入信息;
所述改写模块503包括:
判断子模块,被配置为判断所述候选回复中的每个字符是否为删除字符,将所有为删除字符的字符作为与所述候选回复对应的字符删除信息;
删除子模块,被配置为根据与所述候选回复对应的字符删除信息,对所述候选回复进行删除处理,得到与所述候选回复对应的文本骨架;
插入信息确定子模块,被配置为确定所述文本骨架的字符插入信息,其中,所述字符插入信息包括所述文本骨架的字符之间的待插入字符数量以及待插入字符;
插入子模块,被配置为根据与所述候选回复对应的字符插入信息,对所述文本骨架进行字符插入处理,得到与所述候选回复对应的改写文本。
在一些实施例中,所述文本改写模型包括去词模块和插词模块,所述装置500还包括:
样本获取模块,被配置为获取多个训练样本,多个所述训练样本包括针对所述去词模块的第一训练样本以及针对所述插词模块的第二训练样本,且每个所述训练样本包括改写样本和标注标签;
第一训练模块,被配置为将每个所述第一训练样本输入至所述去词模块,基于所述去词模块输出的预测字符删除信息和该第一训练样本中的标注标签,确定该第一训练样本对应的第一预测损失;
第二训练模块,被配置为将每个所述第二训练样本输入至所述插词模块,基于所述字符数预测模块输出的预测字符插入信息和该第二训练样本中的标注标签,确定该第二训练样本对应的第二预测损失;
调整模块,被配置为针对每个所述模块,依据各所述模块的各所述预测损失调整与该模块对应的模型参数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的文本改写方法的步骤。
图6是根据本公开一示例性实施例示出的一种电子设备的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的文本改写方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件606为电子设备600的各种组件提供电力。电力组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述文本改写方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述文本改写方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的文本改写方法的代码部分。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 文本改写方法、装置、存储介质及电子设备
- 一种文本改写的方法、装置、设备和计算机存储介质