CN112597777A - 一种多轮对话改写方法和装置 - Google Patents
一种多轮对话改写方法和装置 Download PDFInfo
- Publication number
- CN112597777A CN112597777A CN202110010037.2A CN202110010037A CN112597777A CN 112597777 A CN112597777 A CN 112597777A CN 202110010037 A CN202110010037 A CN 202110010037A CN 112597777 A CN112597777 A CN 112597777A
- Authority
- CN
- China
- Prior art keywords
- rewritten
- dialog
- sentence
- target
- rewriting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
-
- 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/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/381—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using identifiers, e.g. barcodes, RFIDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供了一种多轮对话改写方法及装置,其中,所述的方法包括:获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。使得可以结合序列标注的优势和自回归生成的优势来完成进行多轮对话改写,有效地提高改写的质量和生成的速度。
Description
技术领域
本发明涉及深度学习技术领域,特别是涉及一种多轮对话改写方法和一种多轮对话改写装置。
背景技术
伴随着深度学习和大数据技术的发展,开放域人机对话系统已经是人工智能领域的一项重要研究工作,并已经在智能客服、聊天机器人、虚拟助手等方面得到了广泛应用。根据人机交互的轮数,开放域对话系统分为:单轮开放域对话系统和多轮开放域对话系统。通过海量单轮的社交对话数据和基于深度学习的检索式或者生成式的建模方法,单轮开放领域对话系统已经产生了一些不错的效果;但是,在多轮对话系统中,一般只有对话的2个人,为了交流的简洁、流畅和高效性,通常会根据上下文做一些省略或者指代的说法,所以不能直接套用单轮对话系统的做法,例如:
“你最喜欢什么电影?”
“泰坦尼克号。”
“为什么?”
如果是补全的语义对话应该是这样的:
“你最喜欢什么电影?”
“我最喜欢的电影是泰坦尼克号。”
“为什么你最喜欢的电影是泰坦尼克号?”
由于多轮对话系统中存在普遍的对话语义的缺失、省略、指代等不完整性,所以多轮开放域对话系统仍然存在很大的发展潜力。一般的做法是把多轮对话生成拆解成多轮对话改写任务+单轮对话任务来进行,也就是先根据上下文语义信息把缺失语义的句子改写成独立完整语义的句子,然后再按照单轮对话来做。所以,多轮对话改写逐渐成为研究多轮对话系统的一个重要分支。
目前,多轮对话改写主要有以下两种方案:
方案一:结合transformer版本的seq2seq和指针生成网络来做缺失语义句子的改写模型(T-Ptr-λ),而且为了区分上下文和当前缺失句子的重要性,分别做attention解码操作。但是,由于改写模型(T-Ptr-λ)中只使用了6层的transformer分别做encoder和decoder,为了区别上下文和当前缺失语义的句子的重要性,decoder分别做了2次。这就导致了模型不能加载一些已经预训练好的BERT类的权重,而且一共串行的跑了18层transformer-block从头开始解码生成也是十分耗时的。
方案二:使用级联模型(PAC)进行改写,先通过BERT模型找出需要修改的词,再通过seq2seq模型生成改写的句子。级联模型(PAC)虽然使用了预训练BERT一定程度提高了改写的质量。但是作为级联的方法,需要先完成查找修改词的阶段,然后再进行改写阶段;这势必导致第一阶段的误差会在第二阶段被放大,而且整个模型是BERT+seq2seq形式从头开始生成也是比较耗时的。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种多轮对话改写方法和相应的一种多轮对话改写装置。
本发明实施例公开了一种多轮对话改写方法,包括:
获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;
将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。
可选地,所述序列标签包括删除标签,替换标签和保留标签,所述根据所述序列标签对所述待改写对话进行改写得到目标对话,包括:
删除所述删除标签对应的序列,保留所述保留标签对应的序列,并针对所述替换标签对应的序列生成替换,得到目标对话。
可选地,在所述步骤获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话之前,还包括:
获取原始训练数据;
对所述原始训练数据进行标注得到具备标签的目标训练数据;
根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型。
可选地,所述根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型,包括:
对所述目标训练数据进行编码得到编码数据,所述编码数据包含历史句子的编码信息和当前改写句子的编码信息;
根据所述当前改写句子的编码信息学习得到所述当前改写句子中每个序列对应的的序列标签,并计算得到学习标签的第一损失值;
根据所述序列标签和所述编码数据,对所述当前改写句子进行解码得到改写后的句子,并计算得到编码的第二损失值;
根据所述第一损失值和所述第二损失值,更新所述原始多轮对话改写模型的参数,得到所述目标多轮对话改写模型。
可选地,所述根据所述序列标签和所述编码数据,对所述当前改写句子进行解码得到改写后的句子,得到解码数据,包括:
根据所述编码数据,从全量词典和历史信息中确定目标词典;
从所述目标词典中确定所述当前改写句子中每个序列对应的生成字;
根据所述序列标签和生成字,得到改写后的句子。
可选地,所述原始训练数据包括当前改写句子以及所述当前改写句子对应的历史句子;所述对所述原始训练数据进行标注得到具备标签的目标训练数据,包括:
根据所述当前改写句子和所述历史句子,定义改写后的句子;
计算所述当前改写句子和改写后的句子之间的最长公共子序列;
将所述当前改写句子、改写后的句子和最长公共子序列对齐,得到对齐结果;
根据所述改写后的句子和所述对齐结果对所述当前改写句子进行标注,得到具备标签的目标训练数据。
可选地,在所述步骤计算所述待改写句子和修改后的句子之间的最长公共子序列之前,还包括:
在所述当前改写句子中每两个字之间加入占位符。
本发明实施例还公开了一种多轮对话改写装置,包括:
对话获取模块,用于获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;
对话改写模块,用于将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。
本发明实施例还公开了一种电子设备,包括:
处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如本发明实施例任一项所述的方法。
本发明实施例还公开了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,通过获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。使得可以结合序列标注的优势和自回归生成的优势来完成进行多轮对话改写,有效地提高改写的质量和生成的速度。
附图说明
图1是本发明实施例提供的一种多轮对话改写方法的步骤流程图;
图2是本发明实施例提供的一种多轮对话改写模型的结构示意图;
图3是本发明实施例提供的一种多轮对话改写装置的结构框图;
图4是本发明实施例提供的一种电子设备的结构框图;
图5是本发明实施例提供的一种存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在本发明其中一种实施例中的多轮对话改写方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当多轮对话改写方法运行于服务器时,该多轮对话改写方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,多轮对话改写方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,第一终端设备、电视机、计算机、掌上电脑等;但是进行多轮对话改写方法的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
参照图1,示出了本发明的一种多轮对话改写方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;
目标多轮对话改写模型是在先训练好的神经网络模型,用于对待改写对话进行改写并输出需要的改写对话。待改写对话为需要改写的对话内容,待改写对话通常可以包含多个字符的内容。为了更好地对待改写对话进行改写,通常还会获取待改写对话对应的历史对话,其中,获取的历史对话可以为一条或多条对话内容。例如,待改写对话为“刘德华的歌不错”,该待改写对话对应的历史对话为“你听刘德华的歌吗”和“他的歌不错”。
步骤102,将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。
在本发明实施例中,可以将待改写对话和历史对话输入至目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。具体的,目标多轮对话改写模型中可以包含序列标注算法和自回归算法,首先通过序列标注算法对待改写对话进行标注,得到待改写对话中每个序列对应的序列标签,然后通过自回归算法对每个序列标签对应的内容进行解析生成新的内容,最后再根据解析出的内容生成所需要的目标对话。
具体的,序列标签用于指示待改写对话中每个序列对应内容的标签,该序列标签可以包括删除标签DELETE,保留标签KEEP和替换标签CHANGE,其中,删除标签用于指示该序列对应的内容需要删除,保留标签用于指示该序列对应的内容需要保留,替换标签用于指示该序列对应的内容需要替换。
在本发明的一种优选实施例中,所述根据所述序列标签对所述待改写对话进行改写得到目标对话,包括:
删除所述删除标签对应的序列,保留所述保留标签对应的序列,并针对所述替换标签对应的序列生成替换内容,得到目标对话。
在通过自回归算法解析对话内容时,只解析序列标签为替换标签的内容,而对于删除标签和保留标签位置的内容,则填充无意义的占位符,最后再根据解析出的内容结合序列标签生成目标对话。具体的,对于删除标签对应的序列则删除,对于保留标签对应的序列则保留,对于替换标签对应的序列则替换在该位置生成的内容,最后可以按照每个序列内容的位置进行排序得到目标对话。
在本发明的一种优选实施例中,在所述步骤101之前,还可以包括以下步骤:
获取原始训练数据;对所述原始训练数据进行标注得到具备标签的目标训练数据;根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型。
其中,原始训练数据可以用于训练的对话数据,该原始训练数据可以包括当前改写句子以及当前改写句子对应的历史句子。
在具体实现中,可以对原始训练数据进行标注得到具备标签的目标训练数据,然后根据目标训练数据对初始多轮对话改写模型进行训练,得到目标多轮对话改写模型。
在本发明的一种优选实施例中,所述对所述原始训练数据进行标注得到具备标签的目标训练数据,包括:
根据所述当前改写句子和所述历史句子,定义改写后的句子;计算所述当前改写句子和改写后的句子之间的最长公共子序列;将所述当前改写句子、改写后的句子和最长公共子序列对齐,得到对齐结果;根据所述改写后的句子和所述对齐结果对所述当前改写句子进行标注,得到具备标签的目标训练数据。
具体的,多轮改写任务的问题可以定义如下:
f(H,U)=R。
在定义多轮改写任务之后,首先,计算当前改写句子和改写后的句子之间的最长公共子序列,在具体实现中,最长公共子序列可以通过LCS算法(Longest CommonSequence,最长公共子序列算法)计算得到。在计算得到最长公共子序列之后,将当前改写句子、改写后的句子和最长公共子序列对齐,得到对齐结果,在具体实现中,可以采用贪婪算法将当前改写句子、改写后的句子和最长公共子序列对齐。最后,根据改写后的句子和对齐结果对当前改写句子进行标注,得到具备标签的目标训练数据,具体的,对于改写后被删除的字则添加删除标签,对于改写后被替换的字则添加替换标签,对于改写后没有变化的字则添加保留标签。
需要说明的是,为了提高训练模型的速度,可以在对原始训练数据进行标注之后,将具备标签的目标训练数据存储到数据库中,以便于后续需要训练模型时,直接从数据库中获取具备标签的目标训练数据。
在本发明的一种优选实施例中,在所述步骤计算所述待改写句子和修改后的句子之间的最长公共子序列之前,还包括:
在所述当前改写句子中每两个字之间加入占位符。
在本发明的一种优选实施例中,所述根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型,可以包括以下子步骤:
子步骤S11,对所述目标训练数据进行编码得到编码数据,所述编码数据包含历史句子的编码信息和当前改写句子的编码信息;
具体的,可以使用标准的transformer-block作为Encode编码器,如图2中所示,Embedder是词嵌入模块,Multi-headAttention是对头注意力模块,Layer Norm是归一化模块,FeedForward是前馈网络模块。把历史句子H和当前改写句子U拼接在一起作为输入,并使用三个Embedding嵌入层表示每个字,分别是表示字信息的Word Embedding(WE),字在句子中位置信息的Position Embedding(PE)和该句子在多轮聊天中轮数信息的TurnEmbedding(TE)。所以,对于输入的字wi可以得到输入的Embedding表示如下:
其中,LN是Layer Normalize归一化层,输入的字在经过归一化层的transformer-block堆叠后,得到归一化层的表示为:
E(l)=TransformerBlock(E(l-1))。
把E(L)拆分为2部分,分别为历史句子的编码表示Eh和当前改写句子编码表示Eu,其中,Eh和Eu分别表示如下:
Eh={h1,h2,…,hm};
Eu={u1,u2,…,u2n+1}。
子步骤S12,根据所述当前改写句子的编码信息学习得到所述当前改写句子中每个序列对应的的序列标签,并计算得到学习标签的第一损失值;
具体的,可以根据上述子步骤S11中编码得到的Eu来学习序列标签,如图2中所示,TagFC是一个全连接层。如果第i个标签为yi,那么Tagger学习的概率为:
p(yi|ui)=softmax(Wt·ui+bt)
其中,Wt和bt是需要学习的参数。
根据上述计算得到的Tagger学习的概率计算loss为:
losstag=-∑ilogp(yi|ui)
子步骤S13,根据所述序列标签和所述编码数据,对所述当前改写句子进行解码得到改写后的句子,并计算得到编码的第二损失值;
在本发明实施例中,只解码生成那些序列标注为CHANGE的字,如图2所示,LSTM就是单向的LSTM模块,VocabFC是映射到词典的全连接层。因为本发明实施例中多轮对话改写模型是一个联合学习模型,所以会在U的每一个字的位置同时并行地生成序列,但是只在标记了CHANGE的位置是有意义的,其他的标签位置都是没有意义的占位符。
在本发明的一种优选实施例中,所述子步骤S13可以包括如下子步骤:
根据所述编码数据,从全量词典和历史信息中确定目标词典;从所述目标词典中确定所述当前改写句子中每个序列对应的生成字;根据所述序列标签和生成字,得到改写后的句子。
在本发明实施例中,使用单向的LSTM作为解码器,设定U中第i个字符位置的解码LSTM的初始状态s0=ui∈Eu,LSTM的第t个时刻的状态为st=LSTM(WE(xt),st-1),其中xt是前一个解码生成的字。为了动态的选择是从全量的词典中生成还是从历史信息中生成,引入了指针生成网络机制,在t时刻的解码中使用st收集历史信息,公式如下:
其中,j是历史信息的索引,ct是第t时刻的覆盖向量,它是从0开始初始化的,ct满足如下公式:
其中,at满足公式:at=softmax(et)。在计算得到at后,可以进一步计算得到注意力attention为:
然后计算生成字的概率为:
其中,σ是sigmoid函数,g是权衡从全量词典生成还是从历史信息拷贝的权重,p(xt+1)是最后生成字的概率分布。
为了防止拷贝一样的字,引入了重复惩罚loss:
最后,解码的loss为:
其中,i是对应U中的第i个字符,λ是超参数。
子步骤S14,根据所述第一损失值和所述第二损失值,更新所述原始多轮对话改写模型的参数,得到所述目标多轮对话改写模型。
在本发明实施例中,可以联合学习编码操作和解码操作的loss,表示为:
loss=αlosstag+lossdec。
其中,α是调节编码操作和解码操作过程的超参数。
在本发明实施例中,通过获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。使得可以结合序列标注的优势和自回归生成的优势来完成进行多轮对话改写,使用标准的transformer堆叠的结构来完成序列标注和解码生成,能很方便的加载预训练模型的权重,可以有效地提高改写的质量和生成的速度。
不同于T-Ptr-λ和PAC的传统的seq2seq方法从头开始生成改写文本,本发明实施例中多轮对话改写模型(下面简称为SARG)提出了半自回归结合半序列标注的方法,有效结合了序列标注和自回归的优势来完成多轮改写。在公开的数据集Restoration-200k[2]上,使用相同的训练集/验证集/测试集进行对比实验,结果如下。
Model | f1 | f2 | f3 | bleu1 | bleu2 | rouge1 | rouge2 | 平均耗时 |
PAC | 63.7 | 49.7 | 40.4 | 89.9 | 86.3 | 91.6 | 82.8 | — |
T-Ptr-λ | 51.0 | 40.4 | 33.3 | 90.3 | 87.4 | 90.1 | 83.0 | 602s |
SARG | 62.4 | 52.5 | 46.3 | 92.2 | 89.6 | 92.1 | 86.0 | 50s |
其中:
可以看出,本发明实施例的SARG除了在f1指标上,其余的各项指标都比另外2个算法要好。具体的,相对于PAC方法,SARG的f2要提高2.8个点,f3提高5.9个点,bleu1提高2.3个点,bleu2提高3.3个点,rouge1提高0.5个点,rouge2提高3.2个点;相对于T-Ptr-λ,SARG的f1提高11.4个点,f2提高12.1个点,f3提高13个点,bleu1提高1.9个点,bleu2提高2.2个点,rouge1提高2个点,rouge2提高3个点。而且SARG的速度要比T-Ptr-λ快10倍以上,PAC因为是2个阶段的方法速度会慢一些。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明的一种多轮对话改写装置实施例的结构框图,具体可以包括如下模块:
对话获取模块301,用于获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;
对话改写模块302,用于将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。
在本发明的一种优选实施例中,所述序列标签包括删除标签,替换标签和保留标签,所述对话改写模块302,包括:
对话改写子模块,用于删除所述删除标签对应的序列,保留所述保留标签对应的序列,并针对所述替换标签对应的序列生成替换,得到目标对话。
在本发明的一种优选实施例中,所述装置还包括:
数据获取模块,用于获取原始训练数据;
数据标注模块,用于对所述原始训练数据进行标注得到具备标签的目标训练数据;
训练模块,用于根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型。
在本发明的一种优选实施例中,所述训练模块,包括:
编码子模块,用于对所述目标训练数据进行编码得到编码数据,所述编码数据包含历史句子的编码信息和当前改写句子的编码信息;
标签学习子模块,用于根据所述当前改写句子的编码信息学习得到所述当前改写句子中每个序列对应的的序列标签,并计算得到学习标签的第一损失值;
解码子模块,用于根据所述序列标签和所述编码数据,对所述当前改写句子进行解码得到改写后的句子,并计算得到编码的第二损失值;
参数更新子模块,用于根据所述第一损失值和所述第二损失值,更新所述原始多轮对话改写模型的参数,得到所述目标多轮对话改写模型。
在本发明的一种优选实施例中,所述解码子模块,包括:
目标词典确定单元,用于根据所述编码数据,从全量词典和历史信息中确定目标词典;
字生成单元,用于从所述目标词典中确定所述当前改写句子中每个序列对应的生成字;
改写单元,用于根据所述序列标签和生成字,得到改写后的句子。
在本发明的一种优选实施例中,所述原始训练数据包括当前改写句子以及所述当前改写句子对应的历史句子;所述数据标注模块,包括:
定义子模块,用于根据所述当前改写句子和所述历史句子,定义改写后的句子;
序列计算子模块,用于计算所述当前改写句子和改写后的句子之间的最长公共子序列;
对齐子模块,用于将所述当前改写句子、改写后的句子和最长公共子序列对齐,得到对齐结果;
标注子模块,用于根据所述改写后的句子和所述对齐结果对所述当前改写句子进行标注,得到具备标签的目标训练数据。
在本发明的一种优选实施例中,所述数据标注模块,还包括:
占位符添加子模块,用于在所述当前改写句子中每两个字之间加入占位符。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图4所示,包括:
处理器401、存储介质402和总线403,所述存储介质402存储有所述处理器401可执行的机器可读指令,当电子设备运行时,所述处理器401与所述存储介质402之间通过总线403通信,所述处理器401执行所述机器可读指令,以执行如本发明实施例任一项所述的方法。具体实现方式和技术效果与方法实施例部分类似,这里不再赘述。
本发明实施例还提供了一种存储介质,如图5所示,所述存储介质上存储有计算机程序501,所述计算机程序501被处理器运行时执行如本发明实施例任一项所述的方法。具体实现方式和技术效果与方法实施例部分类似,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种多轮对话改写方法和一种多轮对话改写装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种多轮对话改写方法,其特征在于,包括:
获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;
将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。
2.根据权利要求1所述的方法,其特征在于,所述序列标签包括删除标签,替换标签和保留标签,所述根据所述序列标签对所述待改写对话进行改写得到目标对话,包括:
删除所述删除标签对应的序列,保留所述保留标签对应的序列,并针对所述替换标签对应的序列生成替换,得到目标对话。
3.根据权利要求1或2所述的方法,其特征在于,在所述步骤获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话之前,还包括:
获取原始训练数据;
对所述原始训练数据进行标注得到具备标签的目标训练数据;
根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型。
4.根据所述权利要求3所述的方法,其特征在于,所述根据所述目标训练数据对初始多轮对话改写模型进行训练,得到所述目标多轮对话改写模型,包括:
对所述目标训练数据进行编码得到编码数据,所述编码数据包含历史句子的编码信息和当前改写句子的编码信息;
根据所述当前改写句子的编码信息学习得到所述当前改写句子中每个序列对应的的序列标签,并计算得到学习标签的第一损失值;
根据所述序列标签和所述编码数据,对所述当前改写句子进行解码得到改写后的句子,并计算得到编码的第二损失值;
根据所述第一损失值和所述第二损失值,更新所述原始多轮对话改写模型的参数,得到所述目标多轮对话改写模型。
5.根据权利要求3所述的方法,其特征在于,所述根据所述序列标签和所述编码数据,对所述当前改写句子进行解码得到改写后的句子,得到解码数据,包括:
根据所述编码数据,从全量词典和历史信息中确定目标词典;
从所述目标词典中确定所述当前改写句子中每个序列对应的生成字;
根据所述序列标签和生成字,得到改写后的句子。
6.根据权利要求3所述的方法,其特征在于,所述原始训练数据包括当前改写句子以及所述当前改写句子对应的历史句子;所述对所述原始训练数据进行标注得到具备标签的目标训练数据,包括:
根据所述当前改写句子和所述历史句子,定义改写后的句子;
计算所述当前改写句子和改写后的句子之间的最长公共子序列;
将所述当前改写句子、改写后的句子和最长公共子序列对齐,得到对齐结果;
根据所述改写后的句子和所述对齐结果对所述当前改写句子进行标注,得到具备标签的目标训练数据。
7.根据权利要求6所述的方法,其特征在于,在所述步骤计算所述待改写句子和修改后的句子之间的最长公共子序列之前,还包括:
在所述当前改写句子中每两个字之间加入占位符。
8.一种多轮对话改写装置,其特征在于,包括:
对话获取模块,用于获取目标多轮对话改写模型,待改写对话以及所述待改写对话对应的历史对话;
对话改写模块,用于将所述待改写对话和所述历史对话输入至所述目标多轮对话改写模型,以通过所述目标多轮对话改写模型预测所述待改写对话中每个序列对应的序列标签,并根据所述序列标签对所述待改写对话进行改写得到目标对话。
9.一种电子设备,其特征在于,包括:
处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010037.2A CN112597777A (zh) | 2021-01-05 | 2021-01-05 | 一种多轮对话改写方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010037.2A CN112597777A (zh) | 2021-01-05 | 2021-01-05 | 一种多轮对话改写方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597777A true CN112597777A (zh) | 2021-04-02 |
Family
ID=75207454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110010037.2A Pending CN112597777A (zh) | 2021-01-05 | 2021-01-05 | 一种多轮对话改写方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597777A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989008A (zh) * | 2021-04-21 | 2021-06-18 | 上海汽车集团股份有限公司 | 一种多轮对话改写方法、装置和电子设备 |
CN113609824A (zh) * | 2021-08-10 | 2021-11-05 | 上海交通大学 | 基于文本编辑和语法纠错的多轮对话改写方法及系统 |
-
2021
- 2021-01-05 CN CN202110010037.2A patent/CN112597777A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989008A (zh) * | 2021-04-21 | 2021-06-18 | 上海汽车集团股份有限公司 | 一种多轮对话改写方法、装置和电子设备 |
CN113609824A (zh) * | 2021-08-10 | 2021-11-05 | 上海交通大学 | 基于文本编辑和语法纠错的多轮对话改写方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120801B2 (en) | Generating dialogue responses utilizing an independent context-dependent additive recurrent neural network | |
CN110781306B (zh) | 一种英文文本的方面层情感分类方法及系统 | |
CN111737434A (zh) | 直接从对话历史和资源中生成自动化助理响应和/或动作 | |
EP3732592A1 (en) | Intelligent routing services and systems | |
JP2021106016A (ja) | 対話生成方法、装置、電子機器及び媒体 | |
CN112597777A (zh) | 一种多轮对话改写方法和装置 | |
US11533495B2 (en) | Hierarchical video encoders | |
CN107832300A (zh) | 面向微创医疗领域文本摘要生成方法及装置 | |
CN114416995A (zh) | 信息推荐方法、装置及设备 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113312919A (zh) | 一种知识图谱的文本生成方法及装置 | |
CN115994223A (zh) | 序列化多标签分类方法、装置、设备和介质 | |
US20230237093A1 (en) | Video recommender system by knowledge based multi-modal graph neural networks | |
CN117131204A (zh) | 一种大语言模型协同知识图谱的推理方法及装置 | |
Prajwal et al. | Universal semantic web assistant based on sequence to sequence model and natural language understanding | |
CN111259673A (zh) | 一种基于反馈序列多任务学习的法律判决预测方法及系统 | |
WO2023168818A1 (zh) | 视频和文本相似度确定方法、装置、电子设备、存储介质 | |
CN116362242A (zh) | 一种小样本槽值提取方法、装置、设备及存储介质 | |
CN115589446A (zh) | 一种基于预训练与提示的会议摘要生成方法及系统 | |
CN113704466B (zh) | 基于迭代网络的文本多标签分类方法、装置及电子设备 | |
CN116911306A (zh) | 自然语言理解方法及装置、服务器及存储介质 | |
KR20240033029A (ko) | 종단간 자기-지도식 사전 트레이닝을 위한 대조 학습 및 마스크 모델링 | |
CN114936564A (zh) | 一种基于对齐变分自编码的多语言语义匹配方法及系统 | |
CN113761933A (zh) | 检索方法、装置、电子设备及可读存储介质 | |
CN113239215A (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 |