老哥学习网 - www.lg9.cn 2024年05月12日 01:36 星期日
当前位置 首页 >公文范文 > 公文大全 >

融入新闻标题信息的新闻文本与评论的语义相似度计算方法

发布时间:2023-06-29 12:55:11 浏览数:

李伊仝, 王红斌, 程 良

(1. 昆明理工大学 信息工程与自动化学院, 昆明 650504;

2. 昆明理工大学 城市学院, 昆明 650051)

在网络时代, 人们需要从海量信息中获取有效内容. 网络新闻文本通常伴有大量的用户评论, 但这些评论中只有一部分评论与新闻文本内容相关, 另一部分评论与新闻文本内容不相关. 语义相似度计算的目的是计算两段文本是否具有相关性, 语义相似度越大, 说明两段文本表述的内容越相关. 由于文本通常具有不同复杂程度的句法、 语法结构, 因此如何更好地计算文本之间的语义相似度已成为该领域研究的热点问题之一, 目前已取得了许多成果, 其中具有代表性的工作主要有基于字符串的方法、 基于统计的方法、 基于深度学习的方法等.

基于字符串的方法是将字符串放到原文本中进行匹配计算, 计算不同文本字符串的共现程度和重复程度, 以此作为衡量文本相似度的依据. 主要包括编辑距离、 最长公共子序列(longest common substring, LCS)、N-gram和Jaccard相似度等方法. 计算不同文本字符串共现程度和重复程度最常用的方法是计算编辑距离. 编辑距离是将两个字符串文本的差异性转换成一种数学形式上的度量, 即通过统计一段文本经过删除、 插入、 替换等操作后变成另一段文本的操作次数得到编辑距离. 张雷等[1]提出了一种基于编辑距离的词序敏感相似度度量方法, 改进了利用余弦相似度计算文本相似度时, 因忽略词序而不能理解文本语义的缺点. 编辑距离的方法虽然在计算上比较准确, 但计算时间较长. LCS算法[2]通过计算两个文本重复部分的长度, 计算出文本的相似度. 周丽杰等[3]基于LCS提出了一种基于关键词数目的语义关联性函数, 用于短文本相似度计算. LCS算法主要针对短文本进行相似度计算, 但应用到长文本中效果不佳.N-gram方法[4]主要思想是设置大小为N的滑动窗口, 在文本上进行窗口滑动, 从而得到长度为N的多个文本片段, 这些长度为N的文本片段称为N元组.通过计算两段文本中公共N元组的数量与总的N元组数量的比值衡量两段文本的相似度. 黄贤英等[5]提出了一种改进后的问句相似度算法, 将N-gram及公共词块相结合计算问句向量的相似度, 有效提高了问句相似度的准确率.N-gram方法最大的特点是滑动窗口的大小可根据具体情形进行调节, 但也不适用于长文本相似度计算, 原因在于文本越长通过N-gram得到的文本片段越多, 从而增加算法的计算开销. Jaccard相似度[6]是一种通过计算两段文本中元素交集和并集数量之比, 以此表征文本相似度的方法, 特点是仅关注两段文本公共元素个数, 而不关注元素之间的差异性. 周艳平等[7]将词向量与位置编码相结合后, 利用JS(Jenson’s Shannon)散度和Pearson积矩相关系数计算词向量之间的相似度, 最后用Jaccard算法计算句子之间最终的相似度.

基于统计的方法先将文本通过分布假设表征为向量, 再将文本映射到同一个向量空间, 然后计算文本向量在向量空间的距离, 以此作为文本相似度的度量. 目前基于统计的方法主要以向量空间模型(vector space model, VSM)和主题模型(topic model)为主. 向量空间模型主要思想是假设文本语义只与出现在文本中的单词有关, 通过计算单词在单篇文档出现的次数和该词在多个文档中出现的次数计算出词频-逆文档频率(term frequency-inverse document frequency, TF-IDF), 根据TF-IDF将文本映射为向量表征, 最后通过计算向量与向量之间的距离得到文本之间的相似度. 如黄承慧等[8]提出了一种利用TF-IDF选取文本中的重要词项, 与提出的词项相似度加权树相结合计算文本相似度, 有效提升了文本相似度计算的效果. 基于主题模型的方法主要思想是假设每个文档具有多个主题, 每个主题都有多个相关的词. 这些主题隐含了文档的语义信息, 通过对主题模型的构建和训练, 可使模型学习到主题与文本之间的关系, 进而可计算文本之间的相似度. 基于主题模型的方法主要以隐含Dirichlet分布(latent Dirichlet distribution, LDA)模型[9]为主. 王振振等[10]通过LDA主题模型计算两个文本的主题分布后, 将主题分布转换成JS距离度量两个文本的相似度; 张超等[11]通过对名词、 动词和其他词集合进行LDA主题建模, 将三者按一定比例权重进行结合, 同样转换为JS距离度量相似度;

付雨蛟[12]将LDA主题模型与变分自编码器相结合, 得到了更好的文本表示, 最后用向量间夹角余弦值计算文本的语义相似度.

基于深度学习的方法是指通过神经网络生成文本的嵌入表示, 从而学习到文本的深层语义, 并根据嵌入表示计算文本相似度的方法, 也是近年来在自然语言处理(NLP)领域研究较多的方法. 早期主要采用Word2Vec(word to vector)[13]和GloVe(global vectors)[14]等词向量模型. Word2Vec方法可得到词与词之间的向量表示, Word2Vec分为 CBOW(continuous bag-of-words)模型和Skip-gram模型. CBOW模型以上下文信息预测中心词汇, Skip-gram模型根据中心词汇预测其上下文信息. GloVe方法先通过语料库构建所有单词的共现矩阵, 然后通过概率计算利用共现矩阵, 以此得到文本词向量, 最后进行文本相似度计算. 由于该方法进行了全局语料的词频统计, 因此在一定程度上考虑了全局信息. 杨德志等[15]首先利用双向递归神经网络对文本进行上下文建模, 将上下文信息向量与词嵌入向量进行融合, 输入卷积神经网络中对文本进行语义表示, 最后采用余弦相似度计算两个文本语义向量之间的语义相似度; Liu等[16]将句法特征和相对位置特征与词嵌入向量进行深度融合, 采用并行LSTM(long short-term memory)结构获得两种文本的向量表示, 最后利用全连接层将文本向量融合表示转换成概率; 周圣凯等[17]将Word2Vec训练好的词嵌入向量, 将句子对转换成句向量后, 输入卷积层中提取情感特征和名词特征, 再通过双向门控循环单元获取上下文信息, 然后通过池化层进行降维, 最后通过全连接层获得句子对的整体语义向量, 并计算Manhatton距离得到句子对的语义相似度. 近年来, 随着计算机硬件计算能力的提升, 集成大规模外部语料知识的预训练语言模型成为语义相似度计算的主流方法, 该方法通常将语义相似度计算转换成分类问题, 通过给两段文本打上标签判断两段文本是否相似. 常见的有ELMo(embeddings from language models)预训练模型[18]、 GPT(generative pre-training)预训练模型[19]和BERT(bidirectional encoder representations from transformers)预训练模型[20]等. 预训练语言模型生成文本向量的主要思想是将模型用于大规模语料上训练, 通过强大的学习能力学习到较充分的文本语义表示, 再在下游具体任务中微调参数, 使模型在面对不同的文本输入时, 能根据上下文信息得到不同的文本向量表示. 以BERT为例, BERT预训练模型可同时接收两个文本输入, 经过编码得到两种文本各自的向量表示后再进行融合, 得到文本融合语义表示后输入全连接层, 计算两个文本是否相似的概率. Xu等[21]先通过BERT预训练模型对两个文本进行编码, 再通过对两种文本的向量进行交互得到注意力权重, 根据注意力权重得到新的文本表征, 最后将两个文本向量进行拼接输入到全连接层中.

目前, 基于字符串的方法主要停留在文本的字符串和单词层面, 虽然这类方法原理直观简单, 易实现, 但仅停留在文本的表面, 并未考虑到文本的深层语义信息, 在语法结构复杂场景下的计算效果较差. 基于统计的方法主要通过向量空间模型和主题模型对文本进行建模, 再将建模后的向量转换为相似度, 对领域的依赖性虽然不强, 但该类方法只能对文本进行浅层语义分析. 深度学习方法虽然可对文本进行高质量的向量表征, 但应用于新闻文本与评论的相似度计算时, 效果较差, 这是因为新闻文本与评论之间存在较大的长度差异, 使模型很难准确地学习到两种文本之间的语义关系, 并且BERT预训练模型在处理超长文本序列时会截断一部分文本, 无法对新闻文本进行完整的语义建模. 受Peinelt等[22]工作的启发, 本文认为新闻文本与评论之间同样存在主题相关性, 新闻标题也含有丰富的语义信息. 因此本文提出一种在融入新闻标题信息基础上将TextRank[23]算法、 LDA主题模型与BERT预训练模型相结合的方法, 将新闻内容与评论之间的语义相似度计算转换为计算新闻文本和新闻评论的主题相似度. 本文将该任务视为分类任务, 首先将新闻文本通过TextRank算法提取出k个关键词, 再将k个关键词与新闻标题进行拼接得到新的新闻文本, 然后将新的新闻文本与评论分别输入到LDA主题模型和BERT模型中, 得到两种文本各自的主题分布及其文本融合表示, 最后将两种文本的主题分布和文本融合表示一起输入到全连接层, 使用Softmax函数得到评论与新闻文本是否相关的概率.

新闻文本与新闻评论的相关性分析旨在研究通过计算新闻文本和新闻评论的语义相似度从大量评论中筛选出与新闻文本语义相关的评论. 传统文本相似度方法首先将文本中的每个词转换为词向量, 然后通过计算向量之间的余弦相似度得到文本之间的语义相似度. 但当两个文本之间的长度相差较大时效果通常较差, 而新闻文本与新闻评论文本长度常存在较大差别, 因此本文将新闻内容与评论之间的语义相似度计算方法转换为计算新闻文本和新闻评论的主题相似度. 同时为更好地利用新闻标题中包含的语义信息, 在新闻文本表示中融入新闻标题的语义信息, 以得到更准确的新闻文本表征. 整体模型结构如图1所示.

模型主要分为三部分, 即新闻文本内容表示、 新闻文本与评论主题分布计算和BERT语义编码. 首先, 用TextRank对新闻文本内容做关键词抽取, 通过计算新闻文本中每个词的得分进行关键词抽取. 抽取关键词过程可用公式表示为

(1)

其中:Vi和Vj分别表示新闻的第i个词和第j个词;
WS(Vi)和WS(Vj)分别表示Vi和Vj的分数;
d为阻尼系数, 防止一些词的得分为0;

In(Vi)表示所有指向节点Vi的节点集合, 即入链集合;

Out(Vj)表示Vj所指的所有节点集合, 即出链集合, |Out(Vj)|表示出链数量.

首先, 将新闻文本通过jieba分词工具进行分词处理, 然后通过设置窗口向右滑动建立词与词之间的链接关系.每个词的得分都要平均贡献给每个与其链接的词, 最后从所有词中选出得分最高的前k个词作为新闻的关键词, 用公式表示为

w1,w2,…,wk=Topk(WS(V1,V2,…,Vn)),

(2)

其中w1,w2,…,wk表示从文章中提取出的k个关键词,WS(V1,V2,…,Vn)表示所有词的分数.为充分利用标题包含的丰富语义信息, 将标题与提取的k个关键词拼接得到新的新闻文本表示, 从而在不丢失语义信息的情况下, 将较长的新闻文本转换成较短的文本, 即图1中的S1, 用公式表示为

S1=(新闻标题,w1,w2,…,wk).

(3)

为计算新的新闻文本与评论之间的主题分布, 对S1和评论S2分别做分词、 去除停用词处理, 并输入到LDA主题模型中, 从而计算出S1和S2的主题分布向量T1和T2:

T1=LDA(S1),T2=LDA(S2).

(4)

在计算S1和S2主题分布的同时, 将S1和S2输入BERT模型中, 获得两种文本的融合语义表示C:

C=BERT(S1,S2).

(5)

其次, 将BERT编码的向量与LDA模型计算的主题分布向量拼接得到最终的向量表示, 并输入全连接层中, 用Softmax函数转换为分类概率:

y=Softmax(W([T1,T2,C])+b),

(6)

其中y表示分类概率,W为权重,b为偏置.

最后, 通过交叉熵损失函数更新模型参数.

2.1 实验数据集

由于目前缺少新闻文本与评论的相关性分析公共数据集, 因此本文首先利用爬虫技术从网易新闻爬取了198篇新闻文章以及对应的评论, 涵盖了数码、 金融、 娱乐明星、 刑事案件、 民事纠纷、 新冠肺炎和国际新闻等内容;

然后对数据集进行人工标注, 用标签0表示评论与新闻文本不相关, 标签1表示评论与新闻文本相关, 只要评论出现新闻中的人物、 地名、 组织机构、 事件以及用户的主观意见, 均可视为与新闻相关;

最后将数据集随机划分为训练集、 验证集和测试集, 数据集分布列于表1.

表1 数据集分布

2.2 评价指标

本文采用准确率、 精确率、 召回率和F1值作为评价指标, 定义为

其中TP表示模型正确预测评论与新闻相关的样本数, FP表示模型错误预测评论与新闻相关的样本数, TN表示模型正确预测评论与新闻不相关的样本数, FN表示模型错误预测评论与新闻不相关的样本数,N表示样本总数.

2.3 参数设置

设置文本最大序列长度为200, Batch大小为24, 学习率为2×10-5, 关键词数量设为20. 将文本输入主题模型前先对文本进行分词、 去除停用词等预处理, 训练时使用交叉熵损失函数更新模型参数.

2.4 消融实验

本文模型在TextRank,BERT和LDA主题模型的基础上融入了新闻标题信息, 因此需设置实验验证融入新闻标题信息的有效性, 实验结果列于表2. 由表2可见, BERT模型在融入新闻标题信息时4个指标均有提高, 表明融入新闻标题信息可提高新闻文本与评论的语义相似度. 这是因为标题本身相当于外部信息, 融入该外部信息理论上可提高语义相似度模型的性能, 因此实验结果比未融入标题信息的BERT模型效果更好.

表2 不同模型的消融实验结果1

下面通过另一组消融实验分别验证TextRank算法与LDA主题模型的有效性. 本文在融入标题信息的基础上设置3组实验与本文模型进行对比. 3组实验信息如下:

1) 融入标题信息的BERT, 该实验的目的是将TextRank算法与LDA主题模型分离出来. 将新闻标题信息与新闻文本进行拼接得到新的新闻文本, 并与评论一起输入到BERT模型中计算新的新闻文本表示与评论之间的语义相似度.

2) 融入标题信息的BERT与TextRank算法组合, 该实验目的是检验TextRank算法的有效性. 将新闻文本利用TextRank算法提取出前k个关键词, 再将k个关键词与新闻标题一起组成新的新闻文本, 最后与评论一起输入BERT模型中计算语义相似度.

3) 融入标题信息的BERT与LDA组合, 该实验目的是检验LDA主题模型的有效性. 将新闻标题信息与新闻文本进行拼接得到新的新闻文本后, 与评论分别输入到LDA主题模型和BERT模型中, 获得两种文本的主题分布向量及其文本融合表示, 最后输入全连接层计算是否相关的概率.

3组实验结果列于表3. 由表3可见, 在只结合LDA主题模型的情况下, 本文模型与BERT模型相比4个指标均有提高, 表明融入LDA主题模型有效. 其原因是利用LDA主题模型提取出两种文本的主题分布向量, 加强了语义表示, 再融入到BERT模型中, 效果相对更好, 从而表明可从新闻文本中提取出更多信息进一步提高新闻文本与评论语义相似度计算模型的性能.

表3 不同模型的消融实验结果2

在融入标题信息基础上将TextRank算法与LDA主题模型结合后, 即为本文模型. 从实验结果可见, 与其他组相比本文模型在4个指标上均有提高, 表明了本文模型的有效性. 虽然TextRank算法忽略了文本顺序, 但LDA主题模型的引入使模型的性能仍然有提高, 因此本文模型表现相对较好.

2.5 对比实验

下面将本文模型与ABCNN(attention-based convolutional neural network)[24], DecomposableAttention[25]和SiaGRU(siamese gated recurrent unit)[26]模型进行性能对比. ABCNN模型的核心思想是先利用宽卷积的方式捕获句子对的完整信息, 再利用注意力机制捕获句子对之间的相互依赖关系; DecomposableAttention模型的核心思想是利用注意力机制捕获句子对中词与词之间的对应关系判断句子对之间的关系; SiaGRU模型的核心思想是利用两个权重共享的LSTM网络[27]将长度不一致的句子对编码成向量, 从而计算句子之间的相似度. 不同模型的对比实验结果列于表4.

表4 不同模型的对比实验结果

由表4可见, 本文模型与其他模型相比在4个指标上均有提高, 证明了本文方法的有效性. 这是因为本文模型首先将较长的新闻文本通过TextRank算法转换为较短的文本, 使数据更适用于BERT模型, 此外, 本文还通过LDA模型计算文本与评论的主题分布进一步加强语义表示, 最后融入新闻标题信息, 从而性能更好. 而ABCNN和DecomposableAttention模型的性能相对较低, 可能是因为新闻文本与评论之间的长度相差较多, 不能准确捕捉到文本与文本、 词与词之间的关系. 而SiaGRU模型则忽略了文本的上下文信息.

2.6 公共数据集上的实验

下面在BQ(http://icrc.hitsz.edu.cn/info/1037/1162.htm)和LCQMC(http://icrc.hitsz.edu.cn/info/1037/1146.htm)两个中文公共数据集上进行实验, 以检验本文模型的泛化能力. 两个数据集均由哈尔滨工业大学智能计算研究中心构造并公开, 数据集BQ含有12万条从金融领域采集的问题对, 其中10万条为训练集, 1万条为验证集, 1万条为测试集. 数据集LCQMC覆盖了更多领域的问题匹配, 含有260 068条手工标注的问题对, 其中238 766条为训练集, 8 802条为验证集, 12 500条为测试集. 之所以采用问题匹配的数据集, 是因为在问答领域中, 同样需要将输入的问题与设定好的问题进行语义相似度计算, 如果相似就寻找问题库中的答案. 评价指标仍采用准确率、 精确率、 召回率和F1值. 不同模型在两个数据集上的实验结果分别列于表5和表6. 由表5和表6可见, 本文模型在两个数据集上的实验结果与其他模型相比性能均较好, 表明本文模型有一定泛化能力. 这是因为本文模型使用的LDA主题模型不需要依赖领域数据即可推断出主题分布, 因此泛化能力相对更好.

表5 不同模型在数据集BQ上的实验结果

表6 不同模型在数据集LCQMC上的实验结果

综上所述, 针对预训练模型在处理新闻这种长文本时会截断一部分文本, 导致文本信息缺失的问题, 本文提出了一种结合TextRank、 LDA主题模型和BERT预训练模型的新闻文本与评论语义相似度计算方法, 同时融入了新闻标题信息. 实验结果表明了本文方法的有效性.

猜你喜欢新闻标题语义向量向量的分解新高考·高一数学(2022年3期)2022-04-28聚焦“向量与三角”创新题中学生数理化(高中版.高考数学)(2021年1期)2021-03-19语言与语义开放教育研究(2020年2期)2020-03-31谈新闻标题的现实性活力(2019年22期)2019-03-16网络新闻标题与报纸新闻标题的对比活力(2019年22期)2019-03-16无意间击中幽默的新闻标题喜剧世界(2016年9期)2016-08-24“上”与“下”语义的不对称性及其认知阐释现代语文(2016年21期)2016-05-25向量垂直在解析几何中的应用高中生学习·高三版(2016年9期)2016-05-14向量五种“变身” 玩转圆锥曲线新高考·高二数学(2015年11期)2015-12-23浅谈新闻标题的装扮技巧新闻传播(2015年22期)2015-07-18

推荐访问:语义 计算方法 融入

相关文章:

Top