论文笔记:Hashtag recommendation for multimodal microblog posts

2023-10-18 17:59

本文主要是介绍论文笔记:Hashtag recommendation for multimodal microblog posts,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

感想

这篇论文是18年的最新发表的论文,我看它的一个原因,是因为它很新,同时利用了新浪微博的微文,并且利用了微博和图片的信息来进行推荐,不过有点遗憾的是,它们采取的方法是传统的方法,比较的算法也是传统的NB,SVM等算法,没有用到深度学习,不知道作者有没有意向把数据集贡献一下,好让大家也做相关的研究,不过工作量还是有的,还是值得肯定的。

1 介绍

随着社交媒体的迅速增长,大约72%的成人互联网用户是至少一个社交网络的成员。在过去的几年里,在众多社交媒体中微博已成为最流行的服务之一。因此,微博已经被广泛用于舆论分析,预测,声望管理和许多其他应用的数据源。除了内容中的有限字符,微博也包含一种形式的元数据,hashtag,它是一串用#标记的字符。Hashtags用于标记一个微博的主题或者关键字。他们可以出现在微博的任意位置,起始,中间或者结尾。Hashtags在许多应用中被证明是有用的,包括微博检索,查询展开,情感分析。可是只有很少的微博会被用户打上hashtags。因此,自动推荐hashtags已成为一个重要的研究话题,并且在最近几年也受到了广泛的关注。

       尽管在这个任务上已经有了一些研究,但是大多数的研究仅仅关注的是文本信息的使用,用的是判别模型或者生成模型。可是,从新浪微博爬取的2.822亿微博数据集来看,我们发现超过34.4%的posts不仅包含文本也包含图片。大量有图片的微博不包含与图片相关的文本。因此,仅仅利用文本信息来正确推荐hashtags不那么容易。


如上图1,显示的是一个用hashtag#superBowl标记的微博,我们可以看到,仅仅利用文本信息,我们很难推荐正确的hashtags.

       针对图片的tag推荐任务和这个任务相关,并且已经从不同的方面研究了很多。大多数工作都是关注用户通过社交媒体标注的tags,例如Flickr, Zooomr等等。这些服务中tag标注跟标签一样,添加到图片使得图片很容易能找到。先前的工作主要集中在推荐标签,使得标签能够很好的描述图片,而hashtags通常涉及到更抽象的概念。通常Flickr上基于内容的tags(例如sky, water, car等等)很少会出现在微博的hashtag中。这表明前面使用视觉信息的工作不能直接用于这个任务。

       为了克服这些问题,在这个工作中,我们提出了一个生成模型,把文本和视觉信息结合在一起,为了限制微博的长度,hashtags甚至可能没有出现在微博的文本内容里,受解决词汇差距问题(vocabularygap problem)的方法的启发,这些方法用于关键词提取(keyphrase extraction)和hashtag建议(hashtag suggestion)。我们假设微博中的hashtags,文本内容,和视觉单词是用不同语言对同事物的并行描述,因此,我们把hashtagsuggestion任务作为一个转移问题。我们用bag-of-words(BoW)框架来表示图片,基于视觉单词集合,我们提取并量化了布局不变图像描述(Localinvariant image descriptors,例如SIFT)。为了对文档主题建模,在这篇文章中,我们也提出使用话题转移模型(topical translation model)来优化转移过程,特定话题的词触发是图片视觉单词和hashtags的桥梁。为了证明我们的模型的有效性,我们在从微博服务上筹集的大数据集做实验。实验结果证明,我们的模型可以取的更好的性能,比现在只使用文本或视觉信息的方法好。

2 贡献

这个工作的主要贡献总结如下:

1.     我们提出并研究了多模态微博posts的推荐hashtags的任务。据我们所知,在这个任务上,这是第一个工作。现有在hashtag推荐任务上的工作通常只关注文本信息。

2.     我们提出了一个新颖的话题转移模型,模型结合了文本和视觉信息。我们认为这个模型可以很容易用于其它的多模态任务。

3.     我们构造了一个大的多模态微博集合,微博来自真实的微博服务,其中所有的微博都包含文本内容,图片和用户标注的hashtags. 使用这个多模态社交媒介数据,可以使得其它研究者也可以在相同任务和其它话题上受益。

3 提出的方法

3.1 生成过程

给定一个语料库D,第d个微博由一串文本单词(w_d),视觉特征(v_d)和hashtags h_d.

w_d表示第d个微博post的文本单词的集合,Q_d表示文本单词的数量。
视觉特征的集合用v_d表示
其中,G_d表示第d个微博post的视觉特征的数量。
Hashtags的集合用h_d表示

其中,M_d表示第d个微博的hashtag的数量。
所有的文本单词组成了一个词汇表,词汇表的大小为|W|,表示为
W={w_1,w_2…,w_(|W|)},
第d个微博的第q个文本单词和一个话题z_dq关联,视觉特征
V={v_1,v_2,…, v_(|V|)},
其中|V|为视觉特征的大小,第d个微博的第g个特征与一个话题z_dg关联。
每个hashtag来自词汇表,词汇表表示为H={h_1,h_2,…,h_(|H|)}
第d个微博的第m个hashtag和一个话题z_dm相关联。


上图表示生成过程的图形化表示,生成故事(generative story)如下:
转移概率X_h^(t,w)和ψ_h^(t,v)是关键参数。X_h^(t,w)是在话题t下从文本单词w转移到hashtag h的转移概率,例如:

X_h^(t,w)是在话题t下,从视觉特征t到hashtag h的转移概率,例如:

给定微博集合中的观察文本单词,视觉特征和hashtags,我们的任务是计算潜在话题指派z的后验概率,每个微博的话题混合θ_d,每个话题t中的单词文本单词Ф^t的分布,每个话题t中视觉特征η^t的分布,每个话题和文本单词的hashtag X^(t,w)的分布,以及每个话题和视觉特征的hashtag ψ^(t,v)的分布。

3.2 模型推理(model inference)

我们使用collapsed Gibbs sampling来得到隐式变量指派的样本,从这些样本中估计模型的参数。
在文本单词的方面,Z_di=t的概率的计算公式如下:

其中,Q_w^(t,¬i)是在话题t下的文本单词w的数量,Q^(t,-i)是在文本单词中话题t共现的数量(the number of t occurrences in the text words),N_d^(t,¬i)是在第d个微博中所有话题共现的数量,所有数量计算的时候,当前的单词W_di排除在外。
在视觉特征方面,z_dj=t的概率计算公式如下:

其中,G_v^(t,¬j)是话题t下的数据特征v的数量,G^(t,-j)是视觉特征中t共现的数量。所有的数量计算时,当前的单词v_dj排除在外。
在hashtag方面,问题就更复杂了。z_dj=t的概率用如下的公式计算:

其中,G_d^'和Q_d^'分别代表话题t下视觉特征和文本单词的索引集合,N_(h,w_dq)^(t,¬l)是在话题t下hashtag h和语料库中文本单词w_dq共现的数量,N_(h,v_dg)^(t,¬l)是语料库中的话题t下hashtag h和视觉特征v_dg的数量。所有的数量的计算都把当前的单词h_dl排除在外。
经过足够的采样迭代之后,形成了马尔科夫链,∅^t,η^t,X^(t,v),ψ^(t,w)和θ用下面的公式进行估计:
从这个模型,我们可以观察到X和ψ对齐概率的潜在大小分别为|H|x|V|x|T|和|H|x|W|x|T|。视觉单词和文本单词的的词汇量大小为几千个。数据稀疏性可能比topic-free单词对
齐情况造成的问题严重得多。因此,为了克服数据稀疏性问题,我们利用线性差值法和topic-free单词对齐概率。下面的方程用于平滑转移概率:


其中P(h|w)是一个在文本单词w和hashtag h中的topic-free单词对齐概率,P(h|v)是视觉特征v和hashtag h的topict-free单词对齐概率,这里,我们利用IBM model-1,它被广泛用于单词对齐模型,来获得P(h|w),P(h,t)。P(h|t,w)等同于ψ_h^(t,w),P(h|t,v)等同于X_h^(t,v)。参数λ是两个概率的折衷,范围为[0.0,1.0].当λ设置为0.0的时候,P_smooth (h|t,w)和P_smooth (h|t,v)将会减少至tpic-free单词对齐概率。当λ设置为1.0的时候,P_smooth (h|t,w)和P_smooth (h|t,v)将没有平滑。

3.3 Hashtag extraction

假设我们有一个数据集,但是没有用hashtag进行标记,我们使用collapsed Gibbs sampling来估计每个微博中所有单词的话题。
在估计每个单词的隐式话题以后,就变得稳定了,我们可以对第d个微博在未标记的数据上进行排序,计算分数如下:

其中,P(W_dq |W_d)为微博中文本单词W_dq的权重,P(V_dg |V_d)为视觉特征的权重V_dg,这可以用单词的IDF分数来估计。P(t|W_d,V_d)等同于θ_t^d.根据排序分数,我们可以对用户的微博推荐top-ranked hashtags。

4 实验

4.1 数据收集

我们开始用Sina Weibo的API从随机选择的用户中来筹集公共微博。这个集合包含2.822亿条微博,由110万用户产生。从这些微博中,我们抽取了那些既包含图片又包含hashtags的微博。在这一步中,我们抽取了269万微博,但有些hashtag很少出现,我们过滤掉了语料库中出现频率小于100的hashtags。最后,我们构建的集合包含103万微博,微博包含图片和高频的hashtags。详细统计如表1。

从这些数据集中,我们随机选择了50 000微博作为测试集合。语料库中特定数量的hashtags为3204.那些由用户标注的hashtags被当做黄金标准。为了构造训练集,我们随机从其中选择450 000条微博。
对于文本单词,我们过滤掉了消停词和低频词。构造的单词词汇表包含470 000个存在的单词。对于视觉特征,我们采用了标准的基于SIFT描述器的bag-of-words表示,它使用包含10 000个密语的电报密码本(codebook of 10,0 0 0 codewords),这些密语在一个SIFT描述器的样本集合中利用k-means聚类产生的。所有的大图片都按比例减少到400个像素,然后进行SIFT抽取,原来的纵横比保留了。

4.2 实验设置

我们使用Precision(P),recall(R)和F1-score(F1)来评估其性能。Precision是基于“hashtags truly assigned” 在“hashtags assigned by the system”的比例来计算的。Recall是基于“hashtags truly assigned”在“hashtags manually assigned”的比例计算的,F1-score是precision和recall的调和平均值(harmonic mean)。我们利用gibbs sampling把模型运行了500次,经过尝试了不同数量的主题以后,我们经验的把话题设置为10.其它的超参数设置如下:α=0.5,β^w=0.1, β^v=0.1, ℽ^w=0.1, ℽ^w=0.1,平滑参数λ设置为0.8.为了在没有话题信息的情况下估计转移概率,我们使用GIZA++ 1.07。
对于baselines,我们把我们的模型和下面的baseline模型进行对比:

l  Naive Bayes(NB):hashtag推荐任务也可以定义为一个分类任务。因此,在给定微博的文本和视觉信息的情况下,我们应用NB来对每个hashtag的后验概率进行建模。

l  Support Vector Machine (SVM) :我们把tagrecommendation问题转换为一个分类问题,使用SVM来对其进行建模。

l  Neighbor Voting (NV):我们基于从视觉邻居进行投票来推荐标签。

l  The Topical Word Trigger Model (TWTM):TWTM用于关键句提取,它只使用文本信息,我们实现这个模型并且使用它来完成任务。

4.3 实验结果

我们从下面的视角来评估提出的模型:

1)     使用真实世界数据集来跟最好的方法比较

2)     识别参数的影响


如上表所示,我们在构造的评估集合中比较了这几个方法,“tv-TTM”表示这篇文章提出的方法,“t-TTM”表示这篇文章提出的方法,但是利用没有视觉信息。基于这些结果,我们观察到这个方法比其它的方法更好。判别式方法比生成式方法取得的结果更差。我们相信大量的标签是低性能的主要原因。本文提出方法的结果在是否有视觉信息的情况下证明视觉信息可以使得percision和recall提升。t-TTM比TWTM的效果更好。我们相信主要可能是TWTM.中只考虑hashtag 提取的一个单词,使用视觉信息的NV的表现比其他只使用文本信息的生成式方法(TWTM, t-TTM)更差。我们相信图片和源的多样性可能会影响到这些使用视觉信息的方法。
图3显示的是NB,SVM, NV, T WT W, t-TTM, 和 tv-TTM在评估集合上的 Precision, Recall和 F1-Score的曲线,曲线上的每个点表示提取的不同数量的hashtags,范围为1到10.曲线的最高点表示最佳的性能。从结果中,我们可以了解tv-TTM的性能是所有方法中最好的。这也意味着我们提出的方法比现在最好的方法要好。

表3显示的是训练数据元素数量的影响,根据结果,我们发现tv-TTM比其他只有100 000则训练数据方法要好,结果也证明tv-TTM的性能随着训练数据集的增加而增加。
基于对于所提出的方法的描述,tv-TTM有一些超参数,为了评估他们的影响,我们评估了两个关键的参数:topics的数量和平滑因子λ。表4显示的是topics的数量的影响。


在这幅图中,我们观察到当T设置为10的时候,提出的方法达到了最佳的性能。我们相信数据稀疏性可能是主要原因之一。随着话题数量的增加,当估计topic-specific转移概率的时候,数据稀疏性问题就会越严重。

图4显示的是转移概率平滑参数λ的影响,当λ设置为0.0的时候,意味着话题信息被忽略了,从λ为0和其它值的比较结果来看,我们观察到话题信息能够提升性能;当λ设置为1.0的时候,代表这个方法没有平滑。结果表明有必要通过平滑来解决稀疏性问题。

       文章提出的算法如下:


参考文献

[1]. YeyunGong, Qi Zhang, Xuanjing Huang: Hashtag recommendation for multimodal microblogposts. Neurocomputing 272: 170-177 (2018)

这篇关于论文笔记:Hashtag recommendation for multimodal microblog posts的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/234248

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi