发明内容
本说明书实施例旨在提供一种更有效的获取文本摘要的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种获取文本的摘要的方法,包括:
获取第一文本;
对所述第一文本进行分句,以获取至少一个第一句子;
将每个所述第一句子输入摘要模型,以使得所述摘要模型中包括的文本分类模型输出与所述第一句子对应的分值,所述分值指示该第一句子作为摘要句的概率,其中,所述文本分类模型通过监督学习而获取;以及
基于各个第一句子的分值,从所述至少一个第一句子中确定该第一文本的摘要句。
在一个实施例中,所述第一文本属于第一领域,所述文本分类模型通过预先获取的多个第一训练样本得到初步训练,其中,所述多个第一训练样本基于所述第一领域的语料库获取,每个所述第一训练样本包括其句子和相应的标签值,所述标签值指示该句子是否为摘要句。
在一个实施例中,所述文本分类模型在经过所述初步训练之后基于预先获取的多个评估样本得到评估,其中,所述多个评估样本基于所述第一领域的语料库获取,每个所述评估样本包括其句子和相应的标签值。
在一个实施例中,在所述评估的评估结果未达到预定阈值的情况中,所述文本分类模型还通过多个第二训练样本得到优化训练,所述第二训练样本中包括其中的选定句子和相应的标签值,所述选定句子通过如下步骤获取:
从所述第一领域的语料库获取多个第二句子;
将每个所述第二句子输入所述摘要模型,以使得所述摘要模型输出与该第二句子对应的分值;
基于各个第二句子的分值,从所述多个第二句子中确定至少一个选定句子。
在一个实施例中,基于各个第二句子的分值,从所述多个第二句子中确定选定句子包括,基于各个第二句子的分值,从所述多个第二句子中确定分值与0.5的差值在预定范围内的第二句子作为选定句子。
在一个实施例中,将每个所述第一句子输入摘要模型,以使得所述摘要模型中包括的文本分类模型输出与所述第一句子对应的分值包括,在将每个所述第一句子输入摘要模型之后,由所述摘要模型进行以下步骤:
获取所述第一句子中包括的多个词;
获取与每个词对应的词向量;以及
基于所述多个词各自的词向量,计算与所述第一句子对应的分值并输出。
在一个实施例中,所述文本分类模型为Fasttext模型,所述词向量为基于所述Fasttext模型获取的特征向量。
在一个实施例中,所述文本分类模型为TextCNN模型,所述摘要模型中还包括词嵌入模型,所述词向量为基于所述词嵌入模型获取的嵌入向量。
本说明书另一方面提供一种获取文本的摘要的装置,包括:
第一获取单元,配置为,获取第一文本;
分句单元,配置为,对所述第一文本进行分句,以获取至少一个第一句子;
第一输入单元,配置为,将每个所述第一句子输入摘要模型,以使得所述摘要模型中包括的文本分类模型输出与所述第一句子对应的分值,所述分值指示该第一句子作为摘要句的概率,其中,所述文本分类模型通过监督学习而获取;以及
第一确定单元,配置为,基于各个第一句子的分值,从所述至少一个第一句子中确定该第一文本的摘要句。
在一个实施例中,所述文本分类模型在经过所述初步训练之后基于预先获取的多个评估样本得到评估,其中,所述多个评估样本基于所述第一领域的语料库获取,每个所述评估样本包括其句子和相应的标签值。
在一个实施例中,在所述评估的评估结果未达到预定阈值的情况中,所述文本分类模型还通过多个第二训练样本得到优化训练,所述第二训练样本中包括其中的选定句子和相应的标签值,所述选定句子通过选取装置获取,所述选取装置包括:
第二获取单元,配置为,从所述第一领域的语料库获取多个第二句子;
第二输入单元,配置为,将每个所述第二句子输入所述摘要模型,以使得所述摘要模型输出与该第二句子对应的分值;以及
第二确定单元,配置为,基于各个第二句子的分值,从所述多个第二句子中确定至少一个选定句子。
在一个实施例中,所述第二确定单元还配置为,基于各个第二句子的分值,从所述多个第二句子中确定分值与0.5的差值在预定范围内的第二句子作为选定句子。
在一个实施例中,所述第一输入单元包括部署在所述摘要模型中的以下子单元:
第一获取子单元,配置为,获取所述第一句子中包括的多个词;
第二获取子单元,配置为,获取与每个词对应的词向量;以及
计算子单元,配置为,基于所述多个词各自的词向量,计算与所述第一句子对应的分值并输出。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的获取文本摘要的方案中,基于通过监督学习获取的文本分类模型用于获取文本摘要,从而可使得摘要模型具有针对性,并且由于摘要模型不依赖于文本中的句子的统计信息,因此,摘要效果不受文本长度和重复句子的影响,另外,在本说明书实施例中,还通过主动学习方法对用于监督学习的训练样本进行优化,进一步优化了模型预测效果。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的文本摘要系统100的示意图。如图1所示,系统100包括样本选取单元11、分句单元12、摘要模型13、训练单元14和评估单元15。所示摘要模型13中例如包括Fasttext模型,该Fasttext模型通过监督学习进行训练。在模型训练阶段,样本选取单元11可首先基于预定语料库随机获取多个样本,其中,每个样本中包括基于分句单元12从语料库中获取的一个句子和对该句子标注的标签值yi,该标签值指示该句子是否为摘要句。样本选取单元11在获取多个样本之后,可将其以一定比例分为评估样本和训练样本,并将评估样本发送给评估单元15以用于模型评估,将训练样本发送给摘要模型13,以用于模型训练。在摘要模型13中,将输入其中的每个训练样本中的句子转化为该句子包括的多个词各自的词向量的集合{xj}i,其中,j表示多个词各自的标号,j在1到m之间,m为该多个词的总数,并基于该多个词向量{xj}i进行计算以输出对该句子的预测结果并将{xj}i、yi、和/>作为训练数据输入训练单元14。训练单元14每次基于至少一组{xj}i、yi、和/>进行对Fasttext模型的一次训练,并将调整的参数返回给摘要模型13。在如上所述对摘要模型13进行预定次数的初步训练之后,评估单元15使用从样本选取单元11获取的多个评估样本对摘要模型13进行评估,当评估结果未达到预期的情况中,系统100使得样本选取单元11还通过基于摘要模型13主动选取样本来进行对摘要模型13的优化训练。具体是,从分句单元12向摘要模型13输入多个句子,以使得模型13向样本选取单元11输出每个句子的分值(分值在[0,1]范围中),样本选取单元11选取分值与0.5的差值在预定范围内的句子作为选定句子,生成用于优化模型的训练样本,并使用这些训练样本进一步优化模型。在模型使用阶段,对于待摘要的文本,首先通过分句单元12将该文本拆成多个句子,并将该多个句子分别输入摘要模型13,以通过摘要模型13的输出确定该多个句子中的摘要句。
可以理解,上文描述的文本摘要系统100只是示意性的,而不是限制性的,根据本说明书实施例的文本摘要系统不限于此,例如,所述摘要模型12不限于包括Fasttext模型,并且基于所述评估单元对所述摘要模型12的优化训练也不是必需的。
下面详细描述根据本说明书实施例的获取文本摘要的过程。
图2示出根据本说明书实施例的一种获取文本的摘要的方法,包括:
在步骤S202,获取第一文本;
在步骤S204,对所述第一文本进行分句,以获取至少一个第一句子;
在步骤S206,将每个所述第一句子输入摘要模型,以使得所述摘要模型中包括的文本分类模型输出与所述第一句子对应的分值,所述分值指示该第一句子作为摘要句的概率,其中,所述摘要模型包括通过监督学习预先训练的文本分类模型;以及
在步骤S208,基于各个第一句子的分值,从所述至少一个第一句子中确定该第一文本的摘要句。
首先,在步骤S202,获取第一文本。
所述第一文本即为待抽取摘要的文本,该第一文本可以是任意语言的文本,如英语、汉语等,相应的,在后续步骤中使用的摘要模型也是使用与该第一文本同样的语言进行训练的模型。所述第一文本可以是属于任意领域的文本,所述领域例如为业务领域,如新闻资讯领域、智能营销领域等等,或者,所述领域可以为不同的内容领域,如影评、技术文章、小说、教材等等。在一个实施例中,所述摘要模型通过与该第一文本相同的领域的训练样本进行训练,从而仅可用于预测该一个领域的文本。在该情况中,所述摘要模型通过一个领域的训练样本进行训练,从而对该领域具有更强的针对性,从而模型摘要结果更优。可以理解,在一个实施例中,所述摘要模型也可以通过多个领域的训练样本进行训练,从而可适用于对任意领域的文本进行摘要。
在步骤S204,对所述第一文本进行分句,以获取至少一个第一句子。
可基于标点符号对第一文本进行句子拆分,例如,可基于句号、问号、感叹号、分号等对第一文本进行拆分,以获取至少一个句子。在一个实施例中,所述分句的过程还包括,在对第一文本进行上述拆分之后,对获取的多个句子进行去重。可通过特定语言处理模型或特定算法进行对文本的分句。所述第一句子即为从第一文本分句出的句子,所述“第一”是用于与下文中用于训练模型的句子进行区分,并没有其它含义。
在步骤S206,将每个所述第一句子输入摘要模型,以使得所述摘要模型中包括的文本分类模型输出与所述第一句子对应的分值,所述分值指示该第一句子作为摘要句的概率,其中,所述摘要模型包括通过监督学习预先训练的文本分类模型。
如上文参考图1中所述,所述摘要模型例如包括作为文本分类模型的Fasttext模型,在该情况中,所述摘要模型例如还包括预处理单元,以对输入的句子进行预处理之后输入Fasttext模型以进行文本分类。可以理解,在本说明书实施例中,所述摘要模型不限于包括Fasttext模型,所述摘要模型中包括的文本分类模型可以为现有技术中可获取的任意文本分类模型。例如,所述摘要模型中包括预处理单元、词嵌入模型和TextCNN模型,从而通过词嵌入模型将句子中的各个词转换成词向量并输入TextCNN模型,并通过TextCNN模型基于各个词向量预测该句子作为摘要句的概率。下文中将以Fasttext模型为例进行说明。
图3示意示出Fasttext模型的内部结构。如图3所示,Fasttext模型包括输入层31、隐层32和输出层33。在将每个所述第一句子输入Fasttext模型之前,可首先通过上述预处理单元对所述第一句子进行预处理,以使得以预定格式向Fasttext模型输入该第一句子,例如,可在预处理单元中对该第一句子进行分词,去重,去除停用词和标点等预处理,从而向Fasttext模型输入第一句子中包括的多个词的词序列。该模型的输入层31基于输入的词序列获取其中各个词的特征向量。具体是,Fasttext模型可从其预先设置的向量矩阵中查询每个词对应的特征向量{x1,x2,…,xN}。该特征向量例如为独热(one-hot)向量或多热(multi-hot)向量。这里,虽然以输入各个词的特征向量为例进行示例说明,可以理解,所述Fasttext模型不限于仅输入各个词的特征向量,而是还可以输入以n个词为粒度(n-gram)的词组合的特征向量,以更准确地表达该句子。
之后,输入层31将各个特征向量{x1,x2,…,xN}输入隐层32,在隐层32中进行如公式(1)所示的计算:
其中,A为通过模型训练学习出的隐层中的权重矩阵,其可视为嵌入向量的查找表,通过该矩阵的转换,将各个词的词向量转换为各个词的嵌入向量。所述Fas ttext模型的模型训练将在下文详细描述。即各个词的嵌入向量之和,其体现了该第一句子的特征。隐层32在计算出/>之后将其输出给输出层32,输出层基于下面的公式(2)计算该第一句子作为摘要句的概率P,也即与该第一句子对应的分值:
其中,f例如为softmax函数,B为通过模型训练学习出的输出层中的权重矩阵,从而,所述概率P在0到1之间。
在步骤S208,基于各个第一句子的分值,从所述至少一个第一句子中确定该第一文本的摘要句。
在如上所述获取第一文本中各个第一句子的分值之后,可以以分值从大到小的顺序对所述多个第一句子进行排序,并从该排序中取排在前面的几个(通常取前三个)句子作为该第一文本的摘要。在一个实施例中,在进行排序之前,可首先去除多个第一句子中分值为0的句子,然后对剩下的第一句子进行排序。
下面详细描述对上述Fasttext模型的训练过程。如上文中参考图1的描述中所述,对该模型的训练过程可包括初步训练过程和优化训练过程。图4综合示出了对Fasttext模型的初步训练过程和优化训练过程。在图4中,方框表示步骤,椭圆形表示数据。
如图4所示,在步骤S402中,随机获取训练样本。在对Fasttext模型的进行初步训练时,例如,该Fasttext模型为针对新闻资讯领域的文本分类模型,则可从新闻资讯领域的预料库中随机获取多个文本,并对该多个文本进行分句之后,获取多个句子,然后,可从该多个句子中随机获取预定数目的句子作为待标注样本,并通过对这些待标注样本进行人工标注,以标注该样本对应的句子是否为摘要句,从而获取多个训练样本,即用于初步训练的训练样本。是否是摘要句的评判标准可根据具体业务场景目标而定,例如新闻资讯领域要求摘要句能真实表达新闻中心意思,类似于新闻标题,例如,智能营销领域要求摘要句突出产品特色卖点、吸引用户眼球。在一个实施例中,可在随机获取多个文本之后,针对每个文本确定其中的摘要句,从而获得该多个文本中每个句子的标签值。
在步骤S404中,在如上所述获取训练样本之后,可通过上述训练样本训练所述Fasttext模型,以获取经初步训练的Fasttext模型。
所述训练的目标函数L例如为如公式(3)所示的分类交叉熵:
其中,i为样本标识,共有N个样本,yi为样本标签值,如公式(2)中所示,即为模型的输出值/>(即模型预测值),该训练用于训练Fasttext模型中的权重矩阵A和B。具体是,如参考图1中所述,可通过将各个样本中的句子输入摘要模型,从而可获取多组训练数据{xj}i、yi、和/>从而可通过反向传播算法进行模型训练。可以理解,对模型的训练不限于该种方法,而可以为本领域技术人员可获取的任意优化方法,如随机梯度下降法等等。
在步骤S406,通过多个评估样本评估所述摘要模型,以判断是否需要优化Fasttext模型。所述多个评估样本可与上述用于初步训练的训练样本一样地准备,或者可与上述训练样本同时准备。例如,可如上文准备训练样本那样准备多个样本,将该多个样本中一定比例的样本作为上述训练样本,将剩下的样本作为评估样本。可基于多个指标进行对所述Fasttext模型的评估,例如,可通过F1分数评估该Fasttext模型。例如,可设定,当F1分数大于预定阈值时,则无需进一步优化,而当F1分数低于等于预定阈值时,则判断需要进一步优化。
在步骤S408,通过基于摘要模型进行主动学习选取训练样本。
所述主动学习即指,通过主动学习策略选取模型认为有必要用作训练样本的目标样本作为训练样本,以进一步优化模型。常用的主动学习策略包括:1)不确定性采样,即,选取模型识别最不确定的样本;2)期望误差减小采样,即,选取使得模型的泛化误差减小的样本,等等。
通过主动学习选取训练样本的过程可包括如下几个步骤:例如,仍然对于上述新闻资讯领域的Fasttext模型,可从新闻资讯领域的预料库中获取多个句子,例如,与上文类似地,可从该语料库中随机获取多个文本,并从该多个文本的各个分句中随机获取多个句子;将每个句子输入包括经初步训练的Fasttext模型的摘要模型,以使得该摘要模型输出与该句子对应的分值;基于各个句子的分值,从所述多个句子中确定至少一个选定的句子;以及,基于该选定的句子及其相应的标签值,获取训练样本。其中,所述标签值可以为在确定选定句子之后进行标注而获取,或者可预先通过对各个文本进行摘要,从而预先获取。
例如,在采用“不确定性采样”的主动学习策略的情况中,也即,从上述多个句子中选取当前模型输出的分类概率与0.5的差值在预定范围内的句子作为选定句子,例如,可通过如下的公式(4)确定概率最接近0.5的句子集合C:
C={d|d∈D,|P(d)-0.5|≤β} (4)
其中,D是待选取的句子d的集合,即上述多个句子,P(d)是句子d的分类概率,阈值β是[0,0.5]间的小数,通常取0.1。也就是说,所述预定范围为[-β,β]。
可以理解,基于采取的主动学习的策略不同,对于摘要模型针对句子d的输出的处理方式也相应地不同,例如,当采用“期望误差减小”的策略的情况中,将计算句子d的模型预测值与其相应标签值的误差,并基于该误差进行对句子d的选取。
在通过主动学习选取训练样本之后,可将该训练样本放入图中的“训练样本”数据中,从而可重新通过步骤S404利用该训练样本进行对Fasttext模型的优化训练。所述优化训练可进行多次,即可多次循环步骤S406-S408,以使得摘要模型的效果不断增强。
图5示出根据本说明书实施例的一种获取文本的摘要的装置500,包括:
第一获取单元51,配置为,获取第一文本;
分句单元52,配置为,对所述第一文本进行分句,以获取至少一个第一句子;
第一输入单元53,配置为,将每个所述第一句子输入摘要模型,以使得所述摘要模型中包括的文本分类模型输出与所述第一句子对应的分值,所述分值指示该第一句子作为摘要句的概率,其中,所述文本分类模型通过监督学习而获取;以及
第一确定单元54,配置为,基于各个第一句子的分值,从所述至少一个第一句子中确定该第一文本的摘要句。
在一个实施例中,所述文本分类模型在经过所述初步训练之后基于预先获取的多个评估样本得到评估,其中,所述多个评估样本基于所述第一领域的语料库获取,每个所述评估样本包括其句子和相应的标签值。
在一个实施例中,在所述评估的评估结果未达到预定阈值的情况中,所述文本分类模型还通过多个第二训练样本得到优化训练,所述第二训练样本中包括其中的选定句子和相应的标签值,所述选定句子通过选取装置501获取,所述选取装置501包括:
第二获取单元55,配置为,从所述第一领域的语料库获取多个第二句子;
第二输入单元56,配置为,将每个所述第二句子输入所述摘要模型,以使得所述摘要模型输出与该第二句子对应的分值;以及
第二确定单元57,配置为,基于各个第二句子的分值,从所述多个第二句子中确定至少一个选定句子。
在一个实施例中,所述第二确定单元57还配置为,基于各个第二句子的分值,从所述多个第二句子中确定分值与0.5的差值在预定范围内的第二句子作为选定句子。
图5中从装置501指向第一输入单元53的箭头用于表示,基于装置501向第一输入单元53提供其中使用的文本分类单元。
在一个实施例中,所述第一输入单元53包括部署在所述摘要模型中的以下子单元:
第一获取子单元531,配置为,获取所述第一句子中包括的多个词;
第二获取子单元532,配置为,获取与每个词对应的词向量;以及
计算子单元533,配置为,基于所述多个词各自的词向量,计算与所述第一句子对应的分值并输出。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的获取文本摘要的方案中,基于通过监督学习获取的文本分类模型用于获取文本摘要,从而可根据不同的业务目标构建训练样本,从而调整摘要模型,干预摘要过程,从而可使得摘要模型具有针对性,并且由于摘要模型不依赖于文本中的句子的统计信息,因此,摘要效果不受文本长度和重复句子的影响,另外,在本说明书实施例中,还通过主动学习方法对用于监督学习的训练样本进行优化,进一步优化了模型预测效果。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。