一种智能写作方法和装置与流程

文档序号:16068394发布日期:2018-11-24 12:54阅读:338来源:国知局

本说明书实施例涉及机器学习技术领域,更具体地,涉及一种训练写作模型的方法和装置、以及一种写作方法和装置。

背景技术

随着当今新媒体的爆炸式发展,舆论宣传的手段日益丰富,这给写作宣传工作带来很大的挑战。对于每个突发事件以及各种社会热点问题,不仅需要及时地进行回应,而且要根据各种传媒、读者的特点写出相应风格的文章,如微博、微信、知乎、头条等等。这样极大地增加了写稿的工作量。因此,通过智能写作工具进行自动写稿,能够极大提高写稿的工作效率,在品牌宣传和公关中抢占先机。目前已有的智能写作工具包括giiso智能写作机器人、以及学术界的自动写作工具。在上述现有的智能写作工具中,在写稿的过程中,人工干预非常少,而在写稿完成后,需要大量人力进行校对;另外,完成的文章偏于格式化,例如,完成的文章为表格式的,不能适用多种写稿场景。因此,需要一种更有效的智能写作方法。



技术实现要素:

本说明书实施例旨在提供一种更有效的智能写作方法,以解决现有技术中的不足。

为实现上述目的,本说明书一个方面提供一种训练写作模型的方法,所述写作模型包括分词单元、转换单元和循环神经网络,所述方法包括:获取用于训练所述写作模型的样本,所述样本包括文本和针对所述文本的标定值,所述标定值指示所述文本是否通顺;以及利用所述样本训练所述写作模型,使得:在对所述写作模型输入所述文本之后,相比于训练前,所述写作模型在所述训练后的输出值与所述标定值之差的绝对值减小,其中,在对所述写作模型输入所述文本之后,所述分词单元从所述文本获取顺序排列的多个分词,其中,所述多个分词根据其在所述文本中的前后位置顺序排列,所述转换单元将所述顺序排列的多个分词转换成对应的顺序排列的多个词向量,所述循环神经网络基于所述顺序排列的多个词向量输出所述写作模型的输出值。

在一个实施例中,在所述训练写作模型的方法中,所述文本包括一篇现有文章中的非相邻的两个文本,以及所述标定值为0。

在一个实施例中,在所述训练写作模型的方法中,所述文本包括分别属于两篇现有文章的两个文本,以及所述标定值为0。

在一个实施例中,在所述训练写作模型的方法中,所述文本顺序包括一篇现有文章中的相邻排列的两个文本,以及所述标定值为1。

在一个实施例中,在所述训练写作模型的方法中,所述现有文章为属于选定领域的现有文章,并且,所述写作模型在所述训练之后用于写作属于所述选定领域的文章。

在一个实施例中,在所述训练写作模型的方法中,利用所述样本训练所述写作模型包括,利用所述样本,通过反向传播算法训练所述写作模型。

在一个实施例中,在所述训练写作模型的方法中,所述循环神经网络包括以下一种网络:rnn、lstm和gru。

本说明书另一方面提供一种写作方法,包括:获取待写文章的第一待写文本的n个第一候选文本和第二待写文本的m个第二候选文本,其中n、m为预定数目,以及其中,在所述待写文章中,所述第一待写文本位于所述第二待写文本的前面、并与所述第二待写文本相邻;将所述第一候选文本中的每个文本与所述第二候选文本中的每个文本两两组合,从而获取n×m个输入文本,其中,在每个所述输入文本中,所述第一候选文本位于所述第二候选文本的前面;将所述n×m个输入文本分别输入通过根据上述训练方法训练的写作模型,以获取与所述n×m个输入文本分别对应的n×m个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及基于所述n×m个模型输出值,从所述n个第一候选文本中确定所述第一待写文本的选定文本,以及从所述m个第二候选文本确定所述第二待写文本的选定文本。

本说明书另一方面提供一种写作方法,包括:获取待完成文章中的待写文本的q个候选文本,其中q为预定数目;从所述待完成文章中获取将与所述待写文本相邻、且位于所述待写文本的前面的预定长度的已有文本;将所述已有文本与所述q个候选文本分别组合,以获取q个输入文本,其中,在每个所述输入文本中,所述已有文本位于所述候选文本的前面;将所述q个输入文本分别输入通过根据上述训练方法训练的写作模型,以获取与所述q个输入文本分别对应的q个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及基于所述q个模型输出值,从所述q个候选文本中确定所述待写文本的选定文本。

在一个实施例中,所述写作方法还包括,在确定所述选定文本之后,对所述选定文本中的词和/或句进行同义替换。

在一个实施例中,在所述写作方法中,所述获取待完成文章中的待写文本的q个候选文本包括,获取所述待写文本的至少一个关键词;以及,基于所述关键词,获取所述待写文本的q个候选文本。

在一个实施例中,所述写作方法还包括,在获取所述待写文本的至少一个关键词之前,获取所述待完成文章的主题的关键词。

在一个实施例中,在所述写作方法中,所述基于所述关键词,获取所述待写文本的q个候选文本包括,根据预定搜索和排序方法,在与所述待写文本对应的语料库中基于所述关键词进行搜索,从而获取所述q个候选文本。

在一个实施例中,在所述写作方法中,与所述待写文本对应的语料库包括以下至少一种:与所述待写文本的领域对应的语料库、以及与所述待写文本的形式对应的语料库。

本说明书另一方面提供一种训练写作模型的装置,所述写作模型包括分词单元、转换单元和循环神经网络,所述装置包括:获取单元,配置为,获取用于训练所述写作模型的样本,所述样本包括文本和针对所述文本的标定值,所述标定值指示所述文本是否通顺;以及训练单元,配置为,利用所述样本训练所述写作模型,使得:在对所述写作模型输入所述文本之后,相比于训练前,所述写作模型在所述训练后的输出值与所述标定值之差的绝对值减小,其中,在对所述写作模型输入所述文本之后,所述分词单元从所述文本获取顺序排列的多个分词,其中,所述多个分词根据其在所述文本中的前后位置顺序排列,所述转换单元将所述顺序排列的多个分词转换成对应的顺序排列的多个词向量,所述循环神经网络基于所述顺序排列的多个词向量输出所述写作模型的输出值。

在一个实施例中,在所述训练写作模型的装置中,所述训练单元还配置为,利用所述样本,通过反向传播算法训练所述写作模型。

本说明书另一方面提供一种写作装置,包括:获取单元,配置为,获取待写文章的第一待写文本的n个第一候选文本和第二待写文本的m个第二候选文本,其中n、m为预定数目,以及其中,在所述待写文章中,所述第一待写文本位于所述第二待写文本的前面、并与所述第二待写文本相邻;组合单元,配置为,将所述第一候选文本中的每个文本与所述第二候选文本中的每个文本两两组合,从而获取n×m个输入文本,其中,在每个所述输入文本中,所述第一候选文本位于所述第二候选文本的前面;输入单元,配置为,将所述n×m个输入文本分别输入通过根据上述训练方法训练的写作模型,以获取与所述n×m个输入文本分别对应的n×m个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及确定单元,配置为,基于所述n×m个模型输出值,从所述n个第一候选文本中确定所述第一待写文本的选定文本,以及从所述m个第二候选文本确定所述第二待写文本的选定文本。

本说明书另一方面提供一种写作装置,包括:第一获取单元,配置为,获取待完成文章中的待写文本的q个候选文本,其中q为预定数目;第二获取单元,配置为,从所述待完成文章中获取将与所述待写文本相邻、且位于所述待写文本的前面的预定长度的已有文本;组合单元,配置为,将所述已有文本与所述q个候选文本分别组合,以获取q个输入文本,其中,在每个所述输入文本中,所述已有文本位于所述候选文本的前面;输入单元,配置为,将所述q个输入文本分别输入通过根据上述训练方法训练的写作模型,以获取与所述q个输入文本分别对应的q个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及确定单元,配置为,基于所述q个模型输出值,从所述q个候选文本中确定所述待写文本的选定文本。

在一个实施例中,所述写作装置还包括替换单元,配置为,在确定所述选定文本之后,对所述选定文本中的词和/或句进行同义替换。

在一个实施例中,在所述写作装置中,所述第一获取单元包括,第一获取子单元,配置为,获取所述待写文本的至少一个关键词;以及,第二获取子单元,基于所述关键词,获取所述待写文本的q个候选文本。

在一个实施例中,所述写作装置还包括,第三获取单元,配置为,在获取所述待写文本的至少一个关键词之前,获取所述待完成文章的主题的关键词。

在一个实施例中,在所述写作装置中,所述第二获取子单元还配置为,根据预定搜索和排序方法,在与所述待写文本对应的语料库中基于所述关键词进行搜索,从而获取所述q个候选文本。

根据本说明书实施例的智能写稿方案提出了能够高效解决智能写稿问题的算法框架;通过使用同义替换解决语料重复使用问题;并利用段落后插入句子的方式充实文章内容。本方案相对于写稿过于自动化的方法来说,增加了人工干预,极大提高了实用性和准确性;相对于完全基于模板的方法来说,极大增强了灵活性和可扩展性。

附图说明

通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:

图1示出根据本说明书实施例的系统100的示意图;

图2示出了根据本说明书实施例的一种训练写作模型的方法;

图3示出了根据本说明书实施例的一种写作方法;

图4示出了根据本说明书实施例的一种写作方法;

图5示出了根据本说明书实施例的一种训练写作模型的装置500;

图6示出了根据本说明书实施例的一种写作装置600;以及

图7示出了根据本说明书实施例的一种写作装置700。

具体实施方式

下面将结合附图描述本说明书实施例。

图1示出根据本说明书实施例的系统100的示意图。如图1所示,系统100包括写作模型11和选择单元12。其中,写作模型11还包括分词单元111、转换单元112和循环神经网络113。在训练写作模型11的阶段中,首先,获取训练样本,训练样本包括文本和针对所述文本的标定值,所述标定值指示所述文本是否通顺。然后,利用所述训练样本,通过例如bptt算法(反向传播算法)训练所述写作模型11,使得:在对所述写作模型输入所述文本之后,相比于训练前,所述写作模型在所述训练后的输出值与所述标定值之差的绝对值减小。在将训练样本中的文本输入写作模型11之后,在写作模型11中,分词单元111对样本中的文本进行分词,以获取顺序排列的多个分词。之后,转换单元112将所述多个分词转换成与其分别对应的顺序排列的词向量并顺序输入循环神经网络113。然后,循环神经网络113对顺序输入的词向量进行计算,从而输出计算结果。在训练模型的过程中,在循环神经网络113中,基于所述顺序输入的词向量和标定值,根据例如bptt算法进行调参,以使得在对所述循环神经网络113顺序输入所述多个词向量之后,所述网络的输出值更逼近所述标定值。可获取多个训练样本,以对所述写作模型进行多次训练,即,对所述循环神经网络113进行多次调参,从而使得所述写作模型对应于输入样本的输出值无限接近该输入样本的标定值。

在利用写作模型11进行写作的阶段,首先获取多个输入文本,并将将多个输入文本输入写作模型11。例如,对于待写文章的第一段和第二段,可通过搜索获取用于第一段的n个第一候选段落,用于第二段的m个第二候选段落,并将其两两组合,从而获取n×m个输入文本,并将该n×m个输入文本分别输入写作模型11。在每次对写作模型11输入一个输入文本时,同样地,首先分词单元111对该文本进行分词,以获取顺序排列的分词,然后转换单元112将该组顺序排列的分词转换成顺序排列的词向量,并将其顺序输入循环神经网络113。循环神经网络113为经过上述模型训练的网络,其对顺序输入的词向量进行计算,从而输出对应于该顺序输入的词向量的输出值,并将该输出值发送给选择单元12。选择单元12在获取与所述n×m个输入文本分别对应的n×m个输出值之后,可选取输出值最大的输入文本作为所述待写文章的第一段和第二段。

对于待写文章的第三段,类似地,可通过搜索获取第三段的q个第三候选段落。然后,将上述选定的第二段的文本与所述q个第三候选段落分别组合,从而获取q个输入文本。类似地,可通过将所述q个输入文本分别输入所述写作模型11,从而获取与所述q个输入文本分别对应的q个模型输出值。最后,选择单元12在q个第三候选段落中选取对应模型输出值最大的段落作为第三段。类似地,可获取待写文章的后续段落。

图1所示的根据本说明书实施例的系统100只是示例性的,根据本说明书实施例的系统不限于系统100,例如,系统100还可以包括搜索单元,以用于搜索文本,以及组合单元,以用于组合文本。另外,系统100还可以包括其它单元,例如替换单元,用于对待写文章的选定文本进行词和/或句的同义替换,等等。所述写稿模型11不限于对待写文章的段落进行处理,例如,基于对应的语料库,也可以对已有文章插入句子、补充内容等。

图2示出了根据本说明书实施例的一种训练写作模型的方法,所述写作模型包括分词单元、转换单元和循环神经网络,所述方法包括:

在步骤s21,获取用于训练所述写作模型的样本,所述样本包括文本和针对所述文本的标定值,所述标定值指示所述文本是否通顺;以及

在步骤s22,利用所述样本训练所述写作模型,使得:在对所述写作模型输入所述文本之后,相比于训练前,所述写作模型在所述训练后的输出值与所述标定值之差的绝对值减小,其中,在对所述写作模型输入所述文本之后,所述分词单元从所述文本获取顺序排列的多个分词,其中,所述多个分词根据其在所述文本中的前后位置顺序排列,所述转换单元将所述顺序排列的多个分词转换成对应的顺序排列的多个词向量,所述循环神经网络基于所述顺序排列的多个词向量输出所述写作模型的输出值。

首先,在步骤s21,获取用于训练所述写作模型的样本,所述样本包括文本和针对所述文本的标定值,所述标定值指示所述文本是否通顺。在本说明书实施例中,所述写作模型包括分词单元、转换单元和循环神经网络,所述循环神经网络例如为rnn、lstm、gru等等。这些循环神经网络的共性是,通过顺序输入一组向量,获得最终的输出值,其中,对在某个时间点输入的向量的计算考虑在该时间点之前输入的一个或多个向量。即,循环神经网络刻画了一个序列当前的输出与之前的信息的关系。

在一个实施例中,可从一篇现有文章中获取非相邻的两个文本组合成样本文本,并且在该情况下,由于这两个文本在原有文章中是非相邻的,即,其组合在一起是不通顺的,因此,将该样本文本标定为0,即代表不通顺。在一个实施例中,可从不同的两篇现有文章中分别获取一个文本组合成样本文本,同样地,该样本文本也是不通顺的,其标定值也为0。在另一个实施例中,从一篇现有文章中获取相邻排列的两个文本,将该两个文本以原有顺序组合成样本文本,由于该样本文本中的两个文本在现有文章中就是相邻的,并且以原有的顺序排列,即,该样本文本是通顺的,因此,将该样本文本标定为1,即,表示通顺。其中,从现有文章中选取的文本可以是句子,也可以是段,其都可以用于训练写稿模型。

从而,可通过获取现有文章,而容易地获取大量的训练样本。在本说明书实施例中,通过获取十万量级至百万量级的样本对所述写作模型进行反复训练,即,多次重复图2所示的方法,从而训练出较准确的写作模型。所述现有文章例如可从网站获取、可通过搜索获取,可通过数据库获取等等。在一个实施例中,可获取选定领域的现有文章,以训练用于写作选定领域的文章的写作模型。所述领域可以在不同的维度空间进行划分,例如,在内容的维度空间中,所述领域可包括娱乐、体育、科技、财经等多类,在风格的维度空间中,所述领域可包括微博、微信、知乎、头条等多类。例如,在选定娱乐新闻领域的情况中,可从现有的娱乐新闻中获取多个现有文章,并从中获取训练样本以训练写作模型。在该情况中,训练后的写作模型可用于写作娱乐新闻领域的文章。

在步骤s22,利用所述样本训练所述写作模型,使得:在对所述写作模型输入所述文本之后,相比于训练前,所述写作模型在所述训练后的输出值与所述标定值之差的绝对值减小。

其中,在对所述写作模型输入所述文本之后,所述分词单元从所述文本获取顺序排列的多个分词,其中,所述多个分词根据其在所述文本中的前后位置顺序排列。所述分词方法例如可以基于词库比对进行分词、基于深度学习模型进行分词等。所述转换单元将所述顺序排列的多个分词转换成对应的顺序排列的多个词向量,其中,可通过特定的模型,例如通过word2vec(词-向量)模型,将所述分词转换成对应的词向量,即,计算机可理解的稠密向量。从而可获取与顺序排列的多个分词分别对应的顺序排列的词向量。所述循环神经网络基于所述顺序排列的多个词向量输出所述写作模型的输出值,即,所述循环神经网络对每次输入的词向量都进行一次计算,该计算除了基于该词向量的特征值之外,还基于对上一个词向量的计算,从而,在对顺序输入的多个词向量进行对应的多次计算之后,输出的结果体现了顺序输入的多个词向量之间的前后依赖性,从而可用于计算文本的通顺程度。

在一个实施例中,通过反向传播算法(bptt算法)训练所述模型。训练的过程可分为三步:前向计算、计算损失值和反向计算。首先,通过现有模型计算在对所述模型顺序输入所述多个词向量之后的输出值、及在计算每个词向量的每一步的中间结果。然后,计算每一步的损失值,累加每步的损失值,并求平均,例如,对于标定值为1的样本,用1减去模型输出值,从而得出模型计算最后一步的损失值,通过最后一层神经元的参数进行前推,可获取上一层每个神经元的损失值。最后,基于前向传播的结果进行反向传播计算,累加每步的梯度值。然后,通过梯度下降法,对现有模型的参数进行调整,使得在调整后,该模型对所述多个词向量的输出结果更逼近所述标定值(例如“1”)。通过对所述模型输入大量训练样本以多次调参,从而使得该模型对训练样本的输出结果无限逼近其标定值。

然而,所述训练方法不限于上述反向传播算法,还可以通过现有的bptt的改进算法进行训练,或者,可以借助tensorflow、torch、theano等深度学习库训练模型。

图3示出了根据本说明书实施例的一种写作方法,包括:

在步骤s31,获取待写文章的第一待写文本的n个第一候选文本和第二待写文本的m个第二候选文本,其中n、m为预定数目,以及其中,在所述待写文章中,所述第一待写文本位于所述第二待写文本的前面、并与所述第二待写文本相邻;

在步骤s32,将所述第一候选文本中的每个文本与所述第二候选文本中的每个文本两两组合,从而获取n×m个输入文本,其中,在每个所述输入文本中,所述第一候选文本位于所述第二候选文本的前面;

在步骤s33,将所述n×m个输入文本分别输入通过根据上述模型训练方法训练的写作模型,以获取与所述n×m个输入文本分别对应的n×m个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及

在步骤s34,基于所述n×m个模型输出值,从所述n个第一候选文本中确定所述第一待写文本的选定文本,以及从所述m个第二候选文本确定所述第二待写文本的选定文本。

首先,在步骤s31,获取待写文章的第一待写文本的n个第一候选文本和第二待写文本的m个第二候选文本,其中n、m为预定数目,以及其中,在所述待写文章中,所述第一待写文本位于所述第二待写文本的前面、并与所述第二待写文本相邻。图3所示的写作方法是通过以图2所示的训练方法训练的写作模型实施的,例如,在训练阶段通过娱乐新闻领域的语料(训练文本)训练该写作模型,即,该写作模型是用于写作娱乐新闻的模型。在通过上述写作模型写作一篇新的娱乐新闻时,对于待写文章的第一段(即第一待写文本)和第二段(即第二待写文本),可由用户提供第一段的至少一个关键词,例如关于人物、时间、背景的关键词,以及第二段的至少一个关键词,例如关于事件、经过的关键词。然后,可根据预定的搜索和排序策略,在与娱乐新闻领域对应且与段落对应的语料库中搜索出对应于第一段的n个候选文本、以及对应于第二段的m个候选文本。其中,n、m为预定数目,其例如可以为几十、几百的量级。特定领域、特定形式的语料库可通过获取特定领域的文章,并从所述文章中获取特定形式(例如段落、句子等等)的文本而形成。所述特定领域(例如娱乐新闻领域)的文章可从网站的特定领域的栏目下获取、可通过搜索获取,或者可从数据库获取。

上述对候选文本的获取方法只是示意性的。所述第一待写文本和第二待写文本不限于段落,也不限于待写文章的第一段和第二段,其例如可以为两个句子,或者一段中的两部分文本。获取候选文本的方法也不限于通过关键词进行搜索获取,例如,可通过人工整理获取,或者可通过机器学习获取候选文本等等。另外,所述语料库不限于上述特定领域、特定形式的语料库。例如,所述语料库可以是仅与领域对应的语料库,相对应地,通过该语料库搜索的候选文本不限于特定形式,例如,其可以是句子,也可以是段落。再例如,所述语料库可以是仅与待写文本的形式对应的语料库,相对应地,通过该语料库搜索的候选文本不限于特定领域,例如,其可以是娱乐领域,也可以是财经领域的。可根据具体场景的需要,对语料库包括的语料进行设定。在一个实施例中,根据写作模型的适用领域,选择语料库的领域,例如,写作模型是用于写作娱乐新闻领域文章的模型,则在使用该写作模型写稿时,选择娱乐新闻领域的语料库来搜索待写文本的候选文本。

在步骤s32,将所述第一候选文本中的每个文本与所述第二候选文本中的每个文本两两组合,从而获取n×m个输入文本,其中,在每个所述输入文本中,所述第一候选文本位于所述第二候选文本的前面。例如,在上述获取待写文章第一段的候选文本和第二段的候选文本的情况中,作为示意,以字母表示一段中的句子。例如,第一段的一个候选文本为“a,b,c。”,第二段的一个候选文本为“d,e。”则通过将上两个候选文本顺序组合,即将第一段的候选文本放在第二段的候选文本的前面,可获取一个输入文本“a,b,c。d,e。”。通过将第一段的n个候选文本中的每一个与第二段的m个候选文本中的每一个如上所述两两组合,从而可获取n×m个输入文本。

在步骤s33,将所述n×m个输入文本分别输入通过根据上述模型训练方法训练的写作模型,以获取与所述n×m个输入文本分别对应的n×m个模型输出值,所述模型输出值预测对应的输入文本的通顺程度。

对于所述n×m个输入文本中每个文本,将其输入通过根据上述模型训练方法训练的写作模型之后,写作模型通过如上文参考图2中所述的处理过程输出计算结果。即,所述写作模型中的分词单元从所述文本获取顺序排列的多个分词,其中,所述多个分词根据其在所述文本中的前后位置顺序排列。所述转换单元例如通过word2vec(词-向量)模型将所述顺序排列的多个分词转换成对应的顺序排列的多个词向量。所述循环神经网络基于所述顺序排列的多个词向量输出所述写作模型的输出值。

由于在训练所述写作模型阶段,将包括连续段落的文本标定为1,即表示通顺,将包括不连续段落的文本标定为0,即表示不通顺。因此,写作模型的相对于输入文本的输出值表示该输入文本的通顺程度,所述输出值越接近1,表示该输入文本越通顺,所述输出值越接近0,表示该输入文本越不通顺。

在步骤s34,基于所述n×m个模型输出值,从所述n个第一候选文本中确定所述第一待写文本的选定文本,以及从所述m个第二候选文本确定所述第二待写文本的选定文本。在从所述写作模型获取与n×m个输入文本分别对应的n×m个模型输出值之后,可确定与n×m个模型输出值中最大值对应的输入文本为选定文本,即,其中包括的第一段的候选文本即为第一段的选定文本,其中包括的第二段的候选文本即为第二段的选定文本。也就是说,将n个第一候选文本与m个第二候选文本的两两组合中的最通顺的组合作为待写文章的选定文本。

图4示出了根据本说明书实施例的一种写作方法,包括:

在步骤s41,获取待完成文章中的待写文本的q个候选文本,其中q为预定数目;

在步骤s42,从所述待完成文章中获取将与所述待写文本相邻、且位于所述待写文本的前面的预定长度的已有文本;

在步骤s43,将所述已有文本与所述q个候选文本分别组合,以获取q个输入文本,其中,在每个所述输入文本中,所述已有文本位于所述候选文本的前面;

在步骤s44,将所述q个输入文本分别输入通过根据上述模型训练方法训练的写作模型,以获取与所述q个输入文本分别对应的q个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及

在步骤s45,基于所述q个模型输出值,从所述q个候选文本中确定所述待写文本的选定文本。

首先,在步骤s41,获取待完成文章中的待写文本的q个候选文本,其中q为预定数目。例如对于上述已确定第一段和第二段的选定文本的娱乐新闻领域的待完成文章,可由用户提供第三段的至少一个关键词,例如,关于事件影响、舆论的关键词。然后,可根据预定的搜索和排序策略,在与娱乐新闻对应且与段落对应的语料库中搜索出对应于第三段的q个候选文本,其中q为预定数目,其例如可以为几十、几百的量级。

这里,对候选文本的获取方法只是示意性的。所述待写文本不限于段落,其例如可以为句子,或者一段中的部分文本。获取候选文本的方法也不限于通过关键词进行搜索获取,例如,可通过人工整理获取,或者可通过机器学习获取候选文本等等。

在步骤s42,从所述待完成文章中获取将与所述待写文本相邻、且位于所述待写文本的前面的预定长度的已有文本。例如,在上述娱乐新闻领域的待完成文章中,待写文本为该文章的第三段,则与该待写文本相邻、且位于待写文本前面的预定长度的已有文本可以为该文章的第二段。所述预定长度可根据待写文本的长度而确定,例如,待写文本为一个句子,则可在待完成文章中获取该待写的句子之前的一个句子作为已有文本。

在步骤s43,将所述已有文本与所述q个候选文本分别组合,以获取q个输入文本,其中,在每个所述输入文本中,所述已有文本位于所述候选文本的前面。例如,对于上述娱乐新闻领域的待完成文章,将已有的第二段的选定文本与第三段的q个候选文本分别组合,从而获取q个输入文本。

步骤s44与上文中对图3所示的步骤s33的描述基本相同,在此不再赘述。

在步骤s45,基于所述q个模型输出值,从所述q个候选文本中确定所述待写文本的选定文本。例如,在上述实例中,在从所述写作模型获取与q个输入文本分别对应的q个模型输出值之后,可确定与q个模型输出值中最大值对应的输入文本中包括的候选文本为选定文本,即,其中包括的第三段的候选文本即为第三段的选定文本。也就是说,将与第二段的选定文本组合最通顺的第三段的候选文本作为第三段的选定文本。

在该方法中,待写文本可以为句子、一个段落或或一段的部分内容,通过利用上述写作模型对文章的已有段落确定连在后面的最通顺的插入文本,从而可以以另外的内容对已有的文章进行充实和补充。

在一个实施例中,在通过上述写作模型确定待写文本的选定文本之后,为了避免简单多次重复使用,可对选定文本中的词、句进行同义替换,例如将选定文本中的词替换成同义词,将选定文本中的句子替换成意思相同但是表达不同的另一句话等。其中,可通过同义词词库、同义句语料库进行上述替换。

在一个实施例中,在获取待写文本的候选文本中,除了获取待写文本的至少一个关键词之外,还可以获取待写文章的主题的关键词。从而,基于主题的关键词、待写文本的关键词,设置搜索策略,从而搜索出候选文本。例如,在语料库中,可首先使用主题关键词对语料进行筛选,然后再通过待写文本的关键词从筛选过的语料集中搜索候选文本。

图5示出了根据本说明书实施例的一种训练写作模型的装置500。所述写作模型包括分词单元、转换单元和循环神经网络。所述装置500包括:

获取单元51,配置为,获取用于训练所述写作模型的样本,所述样本包括文本和针对所述文本的标定值,所述标定值指示所述文本是否通顺;以及

训练单元52,配置为,利用所述样本训练所述写作模型,使得:在对所述写作模型输入所述文本之后,相比于训练前,所述写作模型在所述训练后的输出值与所述标定值之差的绝对值减小,其中,在对所述写作模型输入所述文本之后,所述分词单元从所述文本获取顺序排列的多个分词,其中,所述多个分词根据其在所述文本中的前后位置顺序排列,所述转换单元将所述顺序排列的多个分词转换成对应的顺序排列的多个词向量,所述循环神经网络基于所述顺序排列的多个词向量输出所述写作模型的输出值。

在一个实施例中,在所述训练写作模型的装置中,所述训练单元还配置为,利用所述样本,通过反向传播算法训练所述写作模型。

图6示出了根据本说明书实施例的一种写作装置600,包括:

获取单元61,配置为,获取待写文章的第一待写文本的n个第一候选文本和第二待写文本的m个第二候选文本,其中n、m为预定数目,以及其中,在所述待写文章中,所述第一待写文本位于所述第二待写文本的前面、并与所述第二待写文本相邻;

组合单元62,配置为,将所述第一候选文本中的每个文本与所述第二候选文本中的每个文本两两组合,从而获取n×m个输入文本,其中,在每个所述输入文本中,所述第一候选文本位于所述第二候选文本的前面;

输入单元63,配置为,将所述n×m个输入文本分别输入通过根据上述训练方法训练的写作模型,以获取与所述n×m个输入文本分别对应的n×m个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及

确定单元64,配置为,基于所述n×m个模型输出值,从所述n个第一候选文本中确定所述第一待写文本的选定文本,以及从所述m个第二候选文本确定所述第二待写文本的选定文本。

图7示出了根据本说明书实施例的一种写作装置700,包括:

第一获取单元71,配置为,获取待完成文章中的待写文本的q个候选文本,其中q为预定数目;

第二获取单元72,配置为,从所述待完成文章中获取将与所述待写文本相邻、且位于所述待写文本的前面的预定长度的已有文本;

组合单元73,配置为,将所述已有文本与所述q个候选文本分别组合,以获取q个输入文本,其中,在每个所述输入文本中,所述已有文本位于所述候选文本的前面;

输入单元74,配置为,将所述q个输入文本分别输入通过根据上述训练方法训练的写作模型,以获取与所述q个输入文本分别对应的q个模型输出值,所述模型输出值预测对应的输入文本的通顺程度;以及

确定单元75,配置为,基于所述q个模型输出值,从所述q个候选文本中确定所述待写文本的选定文本。

在一个实施例中,所述写作装置600(700)还包括替换单元65(76),配置为,在确定所述选定文本之后,对所述选定文本中的词和/或句进行同义替换。

在一个实施例中,在所述写作装置700中,所述第一获取单元71包括,第一获取子单元711,配置为,获取所述待写文本的至少一个关键词;以及,第二获取子单元712,基于所述关键词,获取所述待写文本的q个候选文本。

在一个实施例中,所述写作装置700还包括,第三获取单元77,配置为,在获取所述待写文本的至少一个关键词之前,获取所述待完成文章的主题的关键词。

在一个实施例中,在所述写作装置中,所述第二获取子单元712还配置为,根据预定搜索和排序方法,在与所述待写文本对应的语料库中基于所述关键词进行搜索,从而获取所述q个候选文本。

根据本说明书实施例的智能写稿方案提出了能够高效解决智能写稿问题的算法框架;通过使用同义替换解决语料重复使用问题;并利用段落后插入句子的方式充实文章内容。本方案相对于写稿过于自动化的方法来说,增加了人工干预,极大提高了实用性和准确性;相对于完全基于模板的方法来说,极大增强了灵活性和可扩展性。

本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1