基于深度学习模型进行智能文稿风格改写的方法和设备
技术领域
本申请涉及人工智能,尤其涉及基于深度学习的智能文稿改写。
背景技术
随着当今信息时代自媒体的***式发展,各种媒体的舆论宣传手段日益丰富,读者偏好、品味的日益多样化,给写作宣传、投放工作带来了很大的挑战。同样的一篇文章或一份新闻稿,往往需要针对各类传媒、各类读者的特点来修改成不同风格的文章或新闻稿,以便适应于特定类别、层次、品味等的读者,来提高文章或新闻稿的实际阅读量、读者感兴趣程度乃至影响力。因此,文章的个性化改写具有广泛的现实需求。
然而,读者的类别、层次、品味等大相径庭。为了适应具体的读者,本质上同样的文章需要被改写很多遍。这极大地增加了写稿的工作量。
因此,本领域需要能够实现对文稿的自动化的智能改写的技术。
发明内容
本公开的一示例性方面涉及一种基于深度学习模型进行智能文稿风格改写的方法,包括接收与源风格相关联的源文稿和至少一个目标风格;对于所述源文稿的一个或多个自然句中的每一者:由深度学习模型基于所述源风格生成与所述源文稿的该自然句对应的语义向量;以及由所述深度学习模型基于所述至少一个目标风格生成与所述语义向量对应的目标自然句;以及顺序合并与所述源文稿的一个或多个自然句对应的一个或多个目标自然句以生成与所述至少一个目标风格相关联的至少一个目标文稿。
根据一示例性实施例,所述深度学习模型包括编码器和解码器,其中与所述源文稿的自然句对应的语义向量由所述深度学习模型的编码器基于所述源风格生成,并且与所述语义向量对应的目标自然句由所述深度学习模型的解码器基于所述至少一个目标风格生成。
根据进一步的示例性实施例,该方法还包括对所述源文稿的自然句进行分词,并且其中所述深度学习模型的所述编码器包括多个级联的第一单元模块,其中经分词的自然句中的每个词被按序分别输入到所述多个级联的第一单元模块。
根据另一示例性实施例,该方法进一步包括由所述多个级联的第一单元模块基于前一级第一单元的输出和经分词的自然句中输入到本级的词来生成本级的输出,其中第一级第一单元以所述源风格为前一级的输出,并且最后一级第一单元输出与所述源文稿的自然句对应的语义向量。
根据又一示例性实施例,所述深度学习模型的所述解码器包括多个级联的第二单元模块,所述方法进一步包括由所述多个级联的第二单元模块基于所述至少一个目标风格分别生成与所述语义向量对应的目标词;以及组合所述多个级联的第二单元模块各种生成的目标词以构成目标自然句。
根据一示例性实施例,该方法进一步包括,当所述源文稿的自然句经分词之后所得的词的个数小于所述多个级联的第一单元模块的个数时,用空白来填充多余的第一单元模块的输入。
根据一示例性实施例,该方法进一步包括,当所述源文稿的自然句经分词之后所得的词的个数大于所述多个级联的第一单元模块的个数时,对所述自然句进行切分。
根据一示例性实施例,所述源风格从外部接收或从所述源文稿直接提取。
根据一示例性实施例,该方法进一步包括训练所述深度学习模型,其中训练所述深度学习模型包括设定特征库,所述特征库包括两个或更多个与智能文稿风格改写有关的特征;生成文稿材料库,所述文稿材料库包括与所述特征库中的至少两个特征相关联的文章对;以及基于所述文稿材料库来训练所述深度学习模型。
根据进一步的示例性实施例,生成文稿材料库包括以下一项或多项或其任何组合:针对所述特征库中的特定特征:从有特征网站抓取带有所述特定特征的所有文章;基于所述特定特征从搜索引擎上检索相关度高的文章;以及利用机器学习来学习出打标模型,以在从网上爬取的文本里寻找与所述特定特征相关的文章。
本公开的其他方面还涉及相应的装置和计算机可读介质。
附图说明
图1示出了示例循环神经网络(RNN)的示图。
图2示出了示例长短期记忆(LSTM)网络的示图。
图3示出了根据本公开一示例性方面的分词***的示图。
图4示出了根据本公开一示例性方面的深度学习模型的框图。
图5示出了根据本公开一示例性方面的深度学习模型的离线训练方法的流程图。
图6示出了根据本公开的一方面的使用经训练的深度学习模型来进行智能文稿改写的方法的框图。
图7示出了根据本公开一示例性方面的使用经训练的深度学习模型来进行智能文稿改写的场景的示图。
图8示出了根据本公开一示例性方面的基于深度学习的智能文稿改写设备的框图。
图9示出了根据本公开的一方面的使用经训练的深度学习模型来进行智能文稿改写的装置的框图。
具体实施方式
传统的神经网络一般包括输入层、一个或多个隐藏层、以及输出层,其中层与层之间可以是全连接的,但每层之间的节点是无连接的。这种普通的神经网络对于很多问题无能无力。例如在语音识别或是自然语言处理时,假如想要预测句子的下一个单词是什么,一般需要基于前面出现的单词。这是因为一个句子中前后的单词并不是相互独立的。
在这种情况下,循环神经网络(RNN)应运而生。为了处理序列数据,RNN使得一个序列当前的输出与之前的输出有关。由此,网络会记忆之前的信息并将其应用于当前输出的计算中。换言之,隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层/前一隐藏层的输出还包括上一时刻本隐藏层的输出。
循环神经网络(RNN)最常用于时序数据挖掘。循环神经网络是一类具有记忆能力的神经网络,因此经常被用于具有时间相关性的数据的挖掘。一般而言,循环神经网络中的神经元不仅能接收来自其它神经元的信息,也能够接收自身的信息,从而形成级联的具有环路的网络结构。
图1示出了示例简单循环神经网络(RNN)100的示图。如所可见,左边部分表示简化的RNN结构,其中最下方的圈表示输入层,中间的圈表示隐藏层,而最上方的圈表示输出层。输入层中的X表示输入层值向量。隐藏层中的S表示隐藏层值向量。输出层中的O表示输出层值向量。U、V和W分别表示连接相应的层与层之间的权重矩阵。
隐藏层值向量S与输入层值向量X的函数关系例如如下式(1)所示:
St=f(U·Xt+W·St-1+b) (1)
如所可见,时间t的隐藏层值向量St不仅取决于当前的输入层值向量Xt以及连接输入层与隐藏层的权重矩阵U,还取决于前一时间t-1的隐藏层值向量St-1以及相应的权重矩阵W(以及可能还有偏置项b)。
另一方面,时间t的输出层值向量Ot与隐藏层值向量St的函数关系例如如下式(2)所示:
Ot=g(V·St) (2)
如所可见,时间t的输出层值向量Ot取决于当前的隐藏层值向量St以及连接隐藏层与输出层的权重矩阵V。
通过把RNN 100在时间上展开,便得到图1右边部分的结构。如所可见,比之于例如多层感知机(MLP)等的全连接结构,RNN增加了从隐藏层延迟返回到隐藏层的过程,从而使RNN具有了“记忆”功能。因而尤其适用于处理时序数据。
理论上,RNN能够对任何长度的序列数据进行处理。即,输入的序列长度可以是不固定的。但在实践中,为了降低复杂性起见,往往假设当前的状态只与前面的有限数量个状态相关。RNN及其各种变型(例如,双向RNN、LSTM、GRU等)已经在众多自然语言处理中已取得了巨大成功以及广泛应用。
RNN根据输入和输出序列的数量可以分类为多种结构,包括:一对一结构、一对多结构、多对一结构、多对多结构等。多对多结构还可包括输入和输出序列等长的结构以及输入和输出序列不等长的结构。输入和输出序列不等长的多对多结构即称为seq2seq(序列到序列)模型。常见的seq2seq模型可包括编码器-解码器结构,即利用两个RNN,其中一个RNN作为编码器,而另一个RNN作为解码器。根据一种实现,可以在每个时刻向编码器中输入序列中的一个字/词。编码器负责将输入序列压缩为指定长度的向量(即,嵌入),这个向量就可以看作是这个序列的语义,这个过程即称为编码。解码器则负责根据语义向量生成指定的序列,这个过程即称为解码。
编码器获取语义向量的方式之一可包括直接将最后一个输入的隐状态作为语义向量C。另一种获取语义向量的方式可以包括对最后一个隐状态做变换来得到语义向量C。获取语义向量的方式还可包括将输入序列的所有隐状态做变换来得到语义向量C。解码器可将编码器得到的语义变量作为初始状态输入到作为解码器的RNN中来得到输出序列。根据一种示例性实现,语义向量C可以只作为初始状态参与运算。根据另一种示例性实现,语义向量C可以参与解码器中的序列的所有时刻的运算。
LSTM(长短期记忆)网络是一类特殊的RNN,它是为了解决RNN的上述问题等而设计的。一般而言,RNN可包括由重复的神经网络单元模块构成的链式结构。在标准RNN中,这个被重复的单元模块一般只包括简单的结构,例如一个tanh层。LSTM同样是链式结构,但是被重复的单元模块具有更复杂的结构。具体而言,一般的LSTM的单元模块中可包括输入门、遗忘门、输出门以及细胞,它们以特殊的方式进行交互,其中遗忘门可以用于遗忘已经不需要的信息,输入门和输出门可以用于参数的输入输出,而细胞则用于存储状态。LSTM还具有各种变型。近年来引入的注意力(attention)机制可以大大提高LSTM的效率,从而也为LSTM带来了更广阔的前景。
图2示出了示例LSTM网络200的示图。LSTM网络200可包括级联的多个细胞。每个细胞可基于前级的输出和本级的输入,通过进行嵌入来获得本级的输出。具体而言,如所可见,首先,可将当前输入与前一h进行级联操作,记结果为x。然后,x可分别与权重矩阵w(f),w(i),w(j),w(o)进行矩阵点乘操作,分别得到结果矩阵f、i、j、o,其中w(f),w(i),w(j),w(o)就是该LSTM细胞的核心权重参数,训练的目的也就是训练这四个权重矩阵参数。接着,对矩阵f进行sigmod操作即sigmod(f),对矩阵i也进行sigmod操作,即sigmod(i),对矩阵j进行tanh操作,即tanh(j),对矩阵o进行sigmod操作即sigmod(o),然后算新的c,其中新c=老c*sigmod(f)+(sigmod(i)*tanh(j))。最后,计算新的h,其中新h=tanh(新c)*sigmod(o)。经过上述运算,本次cell计算完毕,得到新的c和新的h。然后将h作为本次的输出,并将二元组(c,h)作为本次的细胞状态保存,以用于下次细胞计算。
自然语言的处理的基础步骤之一涉及分词。在诸如英文之类的基于单词的语言的行文中,单词之间以空格作为自然分界符。而在诸如中文之类的场景中,只有字、句和段能通过明显的分界符来简单划界,而词之间并没有形式上的显式分界符。因此,在进行中文的自然语言处理时,通常需要先进行分词。现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。
图3示出了根据本公开一示例性方面的分词***300。如所可见,分词***300包括分词器301。当向分词器301输入语句时,分词器301输出经分词的结果。分词器301可以用任何现有技术或将来技术的分词算法来实现。
例如,在中文分词场景中,可以使用基于字符串匹配的分词方法,诸如正向最大匹配法、逆向最大匹配法、最少切分法等;基于理解的分词方法;基于统计的分词方法;基于规则的分词方法,诸如最小匹配算法、最大匹配算法、逐字匹配算法、神经网络分词算法、联想-回溯法、N-最短路径分词算法等;基于词频统计的算法、基于期望的分词法、有穷多级列举法等等。
如所可知,尽管以上示出了一种可能的分词结果,但是在使用不同的分词算法的情况下,可能会得到不同的分词结果。
根据一示例性实施例,源文稿可被逐句地输入到分词器中,并且分词器逐句地输出经分词的源句(或其他单元)或整体地输出经分词的源文稿。根据另一示例性实施例,源文稿可被整体地输入到分词器中,并且分词器可以逐句地或者整体地输出经分词的源文稿(或其他单元)。
图4示出了根据本公开一示例性方面的深度学习模型400的框图。深度学习模型400可包括例如seq2seq模型。根据一示例性而非限定性实施例,seq2seq模型可包括例如编码器部分410和解码器部分420,其中编码器部分410可包括单元模块h1,h2,……hn。单元模块h1,h2,……hn可例如使用以上结合RNN(例如,LSTM)来讨论的单元模块(按时间线展开)来实现,并且形成以上结合按时间线展开的RNN(例如,LSTM)来讨论的链式结构。h0可以是源文稿的特征(或称源风格)。特征可以指段落的分类、标识、体裁、适用人群等,其示例可包括例如普通体、宫廷体、东北话、年轻人用语等等……。这将在以下进一步描述。
x1,x2,……xn是对单元模块h1,h2,……hn的输入。x1,x2,……xn可以包括字或词的序列,其可通过对源文稿中的自然句进行分词来获得。例如,对自然句进行分词可以使用以上结合图2描述的分词***来实现。
根据一示例性而非限定性实施例,n可以是固定的窗口长度。当自然句经分词后的长度小于n(例如,仅有x1,x2,……xi,其中i<n)时,可以用空白来填充剩余的部分(例如,填充xi+1,……xn)。另一方面,当自然句经分词后的长度大于n时,可以对句子进行切分。切分准则可以包括例如逗号、语气词和/或其它明显的分割词等或其任何组合。
根据一示例性而非限定性实施例,单元模块h1,h2,……hn可基于本级输入的字/词序列x1,x2,……xn和前级单元模块的输出通过嵌入来获得本级的输出向量h1,h2,……hn,其中h1,h2,……hn-1分别被输入到该链式结构中的下一个单元模块作为其输入。
可基于编码器的最后一个单元模块hn的输出(即,隐状态)hn来获得语义向量C。例如,根据一示例性而非限定性实施例,可直接将hn作为语义向量C。根据另一示例性而非限定性实施例,可包括对hn做变换来得到语义向量C。根据又一示例性而非限定性实施例,可将输入序列x1,x2,……xn的所有隐状态h1,h2,……hn聚合起来(并可任选地进行变换)得到语义向量C。
解码器部分420可包括单元模块h1’,h2’,……hm’,其中m可以大于、等于或小于n。单元模块h1’,h2’,……hm’可例如使用以上结合RNN(例如,LSTM)来讨论的单元模块来实现,并且形成以上结合RNN(例如,LSTM)来讨论的链式结构。
根据示例性而非限定性实施例,h0’被输入到单元模块h1’,h0’可以是目标文稿的特征(或称目标风格),其可不同于源文稿特征。目标文稿特征的示例可包括例如普通体、宫廷体、东北话、年轻人用语等等……。
根据示例性而非限定性实施例,单元模块h1’,h2’,……hm-1’可基于语义向量C和前级单元模块的输出通过嵌入来获得本级的输出向量h1’,h2’,……hm-1’到下一单元模块h2’,……hm’。在图4的示例中,语义向量C被输入到解码器420的每一个单元模块h1’,h2’,……hm-1’。在替换实施例中,语义向量C也可仅被输入到例如解码器420的第一个单元模块中。
根据示例性而非限定性实施例,单元模块h1’,h2’,……hm’通过基于语义向量对前一级的输出进行嵌入来分别输出y1,y2,……ym。y1,y2,……ym同样可以包括字或词的序列。组合y1,y2,……ym所得的序列即可为对源风格的自然句输入序列x1,x2,……xn进行目标文稿特征的改写后所得的目标自然句输出序列。
根据一示例性而非限定性实施例,类似地,当输出序列长度小于m(例如,仅有y1,y2,……yj,其中j<m)时,可以用剩余部分的输出(例如,yj+1,……ym)可以用空白来填充。另一方面,在编码器处经切分的句子可当在解码器处被输出之后被重组。解码后的句子按顺序组合即构成目标文档。
编码器410和解码器420中的各个单元模块可以用各种RNN结构来实现,例如包括但不限于以上结合图1和图2描述的网络结构等。
尽管实施例是结合输出与一个目标风格相对应的目标文稿来描述的,但是如所可领会的本公开可以涵盖同时或依次输出与多个目标风格分别对应的多个目标文稿的实现。
通过将源风格的内容(例如,句子、段落、文章)通过如参考图4的示例性实施例所描述的编码器和解码器转换成目标风格的对应内容(例如,句子、段落、文章),便能够实现深度学习辅助的改写流程,从而能够极大地提高稿件改写的工作效率。
深度学习模型的训练可包括例如离线训练和在线训练。图5示出了根据本公开一示例性方面的深度学习模型(例如,图4的模型400)的离线训练方法500的流程图。
方法500可包括在框502设定特征库。如前所述,特征可以指段落的分类、标识、体裁、适用人群等,其示例可包括例如普通体、宫廷体、东北话、年轻人用语等等……。特征可以用短语或标识符等来表示。例如,根据一示例,自然句“这很好”的特征可为普通体。而与之对应的宫廷体自然句则为“这想必是极好的”。设定特征库可包括例如根据不同的针对人群的喜好来设定不同的特征。该模型可以改写的不同文章类型的数目取决于不同特征的数目。
在框504,方法500生成文稿材料库。文稿材料库与具体特征相关联。特定特征的文稿材料库可以指具有该特定特征的文稿的集合。生成与特定特征相关联的文稿材料库可包括例如从有特征网站(例如,微博、头条、知乎等)抓取带有该特定特征的所有文章。生成与特定特征相关联的文稿材料库还可包括利用该特征在搜索引擎上进行检索,以获取相关度排名靠前的文章。生成与特定特征相关联的文稿材料库还可包括在通过前述各种方式或其任何组合获得了一定的文章数据之后,再利用机器学习的方法来学习出打标模型,然后在网上爬取的文本里寻找更多与该特征相关的文章。根据一示例性而非限定性实施例,学习打标模型可包括学习文本分类器,然后用如上所述地抓取和/或获取到的文章作为训练集来训练该文本分类器。在训练完成后,即可利用该经训练的文本分类器去网上爬取的文本里寻找更多与相应特征相关的文章。当生成了与特征库中的至少两个或更多个特征型关联的两个或更多个文稿特征库之后,方法500可去往框506。
在框506,方法500训练深度学习模型,诸如seq2seq模型等。根据一示例性而非限定性实施例,训练深度学习模型可包括通过在各文稿材料库中寻找主题内容相同或相近但特征(例如,段落的分类、标识、体裁、适用人群等)不同的两两文章对来生成训练数据集。主题内容相同或相近可包括以下情况中的一种或多种:包含相同的关键词,和/或文章中每相应句的相似度足够高。相似度可以用各种算法来计算,包括但不限于例如基于词向量的相似度(例如,余弦相似度、曼哈顿距离相似度、欧几里得距离相似度、明式距离相似度等)、基于字符的相似度(例如,编辑距离相似度、simhash、共有字符数等)、基于概率统计的相似度(例如,杰卡德相似系数等)、基于词嵌入模型的相似度(例如,word2vec/doc2vec等)。
根据另一示例性而非限定性实施例,训练数据集也可从其他源获得。例如,训练数据集可以从外部源直接获得。在生成或获得了训练数据集之后,可将训练数据集中的两两文章对中的一篇文章作为源文稿,另一篇文章作为目标文稿,来训练深度学习模型,例如参考图4所描述的深度学习模型400。上述示例性实施例是在文章的粒度上进行训练的,但本公开并不被限定于此。根据另一示例性而非限定性实施例,训练也可以在句子或其他的粒度上进行。
图6示出了根据本公开的一方面的使用经训练的深度学习模型来进行智能文稿改写的方法600的框图。方法600包括在框602,输入源文稿、源风格以及目标风格。源风格可表示源文稿的特征,例如包括其所属的类别或风格等。目标风格可表示所要改写成的文稿的特征,例如包括其所属的类别或风格等。根据一示例性而非限定性的实施例,源风格也可在源文稿的基础上直接确定而无需另行输入。
在框604,方法600包括用经训练的深度学习模型输出目标文稿。例如,对于参考图4描述的深度学习模型,可将源文稿按自然句分词为x1,x2,……xn。分词可以使用例如结合图3描述的分词***300来实现。经分词后的x1,x2,……xn可被分别输入到编码器410的单元模块h1,h2,……hn。根据一示例性而非限定性实施例,当自然句经分词后的长度小于n(例如,仅有x1,x2,……xi,其中i<n)时,可以用空白来填充剩余的部分(例如,填充xi+1,……xn)。另一方面,当自然句经分词后的长度大于n时,可以对句子进行切分。切分准则可以包括例如逗号、语气词和/或其它明显的分割词等或其任何组合。源风格被输入到h0。例如,源文稿中的句子1被分词为x1,x2,……xn。源风格h0和第一词x1被输入到第一单元模块h1。该第一单元模块对第一词x1进行embedding并输出向量h1。向量h1与第二词x2一起被输入到第二单元模块h2。该第二单元模块h2对第二词x2进行embedding并输出向量h2。向量h2与第三词x3一起被输入到第三单元模块h3,依此类推。向量hn-1与第n词xn一起被输入到第n单元模块hn。该第n单元模块对第n词xn进行embedding并输出向量hn。通过诸单元模块h1,h2,……hn之间级联,建立了该句子的词x1,x2,……xn之间的上下文关系。如所可见,尽管对于单元模块及其输出的向量都用了hn形式的表达,但是这仅仅是为了便于识别其相关性,且其各自的含义是清楚的且不应被混淆。
对于参考例如图4描述的深度学习模型,可基于编码器的最后一个单元模块hn的输出(即,隐状态)hn来获得语义向量C。例如,根据一示例性而非限定性实施例,可直接将hn作为语义向量C。根据另一示例性而非限定性实施例,可包括对hn做变换来得到语义向量C。根据又一示例性而非限定性实施例,可将输入序列x1,x2,……xn的所有隐状态h1,h2,……hn聚合起来(并可任选地进行变换)得到语义向量C。语义向量C可被输入到解码器部分120的各个单元模块h1’,h2’,……hm’,其中m可以大于、等于或小于n。h0’被输入到单元模块h1’,h0’可以是目标文稿的特征(或称目标风格),其可不同于源文稿特征。单元模块h1’,h2’,……hm-1’分别对语义向量C进行embedding并输出向量h1’,h2’,……hm-1’到下一单元模块h2’,……hm’。单元模块h1’,h2’,……hm’还分别输出y1,y2,……ym。y1,y2,……ym可以包括字或词的序列。y1,y2,……ym的序列即可为对源风格的自然句输入序列x1,x2,……xn进行目标文稿特征的改写后所得的句子输出序列。根据一示例性而非限定性实施例,类似地,当输出序列长度小于m(例如,仅有y1,y2,……yj,其中j<m)时,可以用剩余部分的输出(例如,yj+1,……ym)可以用空白来填充。另一方面,在编码器处经切分的句子可当在解码器处被输出之后被重组。
在可任选框606,方法600可包括可任选地进行人工辅助改写调整。深度学习模型自动改写出的文章底稿如要达到可用标准,可能还需要通过人工进行审核编辑。但是与纯人工改写相比,深度学习模型的自动改写能够极大地降低人工干预程度和工作量。例如,根据一示例性而非限定性实施例,可以提供编辑界面,以便于由用户在编辑框中进行句子的添加、删除和/或修改。根据另一示例性而非限定性实施例,还可支持对段落和/或句子的添加、删除和/或替换等。例如,在添加时可以由用户人工输入,也可自动从文稿材料库中调取句子。又如,在替换时,可以由用户人工输入,也可以提供由深度学习模型自动生成的句子供选择。
在框608,方法600可包括输出结果。输出结果可包括例如输出经改写的句子/文章。在改写完成后,可以有相应的保存、预览、审核和/或发布等。
可任选框606也可被省略或改变位置。例如,可先在框608输出结果,并在后续合适或需要的时候进行人工辅助改写调整等。
图7示出了根据本公开一示例性方面的使用经训练的深度学习模型来进行智能文稿改写的场景700的示图。
如所可见,源文稿701被输入到分词模块702中。分词模块702可以例如包括以上结合图3描述的分词***300等。分词模块702可以基于所采用的分词算法来输出经分词的文稿703。
经分词的文稿(例如,经分词的自然句或其他单元)703被输入到经训练的深度学习模型704中。经分词的文稿703可以被逐句地输入到深度学习模型704中,也可按其他单元被输入到深度学习模型704中。例如,经分词的文稿703也可以被整体输入到深度学习模型704中,或者可以一边生成一边被流送到深度学习模型704中。
与源文稿701相对应的源风格和与目标文稿相对应的目标风格可被输入到深度学习模型704中。根据替换实施例,源风格也可以由***从源文稿自动识别。在此情形中,***还可包括例如特征识别模块(未示出)。例如,源风格可为普通体,而目标风格可为年轻人用语。
深度学习模型704可包括例如以上结合图4描述的深度学习模型400或其变体等。基于源风格和目标风格,深度学习模型704可以对经分词的源文稿703进行相应的改写,例如将其从普通体改写为年轻人用语的文体等。
深度学习模型704输出基于目标风格改写的目标文稿705。根据一示例性实施例,目标文稿705可被逐句输出,例如每输入一句源句就输出一句目标句,或者对于整体输入的源文稿来逐句输出目标句。根据另一示例性实施例,目标文稿705可被整体输出。例如,对于整体输入的源文稿,可以在获得所有目标句后将其组合并输出目标文稿。又如,对于逐句输入的源文稿,也可以在获得所有目标句后将其组合并输出目标文稿。组合目标句可以包括顺序合并目标句以获得目标文稿。目标文稿705可被直接向外部输出,也可在由深度学习模型704提供后经过进一步的人工辅助改写调整再输出。
图8示出了根据本公开一示例性方面的深度学习模型的离线训练装置800的框图。深度学习模型可以包括例如结合图4描述的深度学习模型400等。
根据一示例性而非限定性实施例,深度学习模型的离线训练装置800可包括用于设定特征库的模块802。用于设定特征库的模块802可以例如实现以上结合图5的框502等描述的功能。
根据一示例性而非限定性实施例,深度学习模型的离线训练装置800还可包括用于生成文稿材料库的模块804。用于生成文稿材料库的模块804可以例如实现以上结合图5的框504等描述的功能。
根据一示例性而非限定性实施例,深度学习模型的离线训练装置800还可包括用于训练深度学习模型的模块806。用于训练深度学习模型的模块806可以例如实现以上结合图5的框506等描述的功能。
图9示出了根据本公开的一方面的使用经训练的深度学习模型来进行智能文稿改写的装置900的框图。
根据一示例性而非限定性实施例,智能文稿改写装置900可包括用于输入文稿、源风格以及目标风格的模块902。用于输入文稿、源风格以及目标风格的模块902可以例如实现以上结合图6的框602等描述的功能。尽管在本实施例中描述了直接输入源风格,但是根据替换实施例,也可从输入的源文稿提取源风格。
根据一示例性而非限定性实施例,智能文稿改写装置900还可包括用于用经训练的深度学习模型输出目标文稿的模块904。用于用经训练的深度学习模型输出目标文稿的模块904可以例如实现以上结合图6的框604等描述的功能。
根据一示例性而非限定性实施例,智能文稿改写装置900还可任选地包括用于进行人工辅助改写调整的模块906。用于进行人工辅助改写调整的模块906可以例如实现以上结合图6的框606等描述的功能。
根据一示例性而非限定性实施例,智能文稿改写装置900还可包括用于输出结果的模块908。用于输出结果的模块908可以例如实现以上结合图6的框608等描述的功能。所输出的结果可以是例如经深度学习模型改写的目标文稿或其部分等,或者可以是经人工辅助改写调整后的目标文稿或其部分等。
尽管本申请是以seq2seq模型为例来描述基于深度学习的智能文稿改写方法和设备的,但是本申请并不被限定于此,而是可以被应用于现有和将来技术中任何深度学习模型。
本领域普通技术人员应理解,本公开的有益效果并非由任何单个实施例来全部实现。各种组合、修改和替换均为本领域普通技术人员在本公开的基础上所明了。
此外,术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X”采用“A”或“B”旨在表示任何自然的可兼排列。即,短语“X”采用“A”或“B”藉由以下实例中任何实例得到满足:X采用A;X采用B;或X采用A和B两者。属于“连接”与“耦合”可表示相同含义,表示两器件的电气连接。另外,本公开和所附权利要求书中所用的冠词“一”和“某”一般应当被理解成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。
各个方面或特征将以可包括数个设备、组件、模块、及类似物的***的形式来呈现。应理解和领会,各种***可包括附加设备、组件、模块等,和/或可以并不包括结合附图所讨论的全部设备、组件、模块等。也可以使用这些办法的组合。
结合本文所公开的实施例描述的各种说明性逻辑、逻辑块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。此外,至少一个处理器可包括可作用于执行以上描述的一个或多个步骤和/或动作的一个或多个模块。例如,以上结合各个方法描述的实施例可以通过处理器和耦合到处理器的存储器来实现,其中该处理器可被配置成执行前述任何方法的任何步骤或其任何组合。
此外,结合本文中所公开的方面描述的方法或算法的步骤和/或动作可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。例如,以上结合各个方法描述的实施例可以通过存储有计算机程序代码的计算机可读介质来实现,其中该计算机程序代码在由处理器/计算机执行时执行前述任何方法的任何步骤或其任何组合。
本公开中通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且意在被权利要求书所涵盖。此外,本文所公开的任何内容都并非旨在贡献给公众——无论这样的公开是否在权利要求书中被显式地叙述。