基于注意力机制与文本信息的用户关系抽取

2019-04-17 05:45王中卿李寿山周国栋
中文信息学报 2019年3期
关键词:好友注意力机制

赵 赟,吴 璠,王中卿,李寿山,周国栋

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

社交媒体早已成为互联网一大趋势,以微博和推特为代表的众多实时交互的网络社交应用每日都要产生并传播大量文本信息。其本身构成了一个错综复杂的社交网络,用户之间形成了各种复杂的关系,比如用户之间的关注关系,用户之间的兴趣爱好甚至是偏爱的商家产品等,这些均可从这些信息中得到反映。用户之间能够轻松地进行各种实时互动,其影响力的传播非常迅速。因此其信息的传播难以得到实时的控制,其真实性和隐私权难以得到保障。如果能有效地挖掘出这些用户关系,就能极大地遏制住有害信息的传播,对于舆情监控、应对社会突发事件、引导群体行为有着积极的意义。同时还能节约企业的网络营销成本,对用户的个性化推荐也具有一定的参考价值。

通常情况下,用户可以视作社交网络拓扑结构中的节点,我们可以通过分析节点之间的连接关系以推断用户之间的关系,也可以直接通过用户标签或行为,比如购买过类似的商品、转发过类似的链接等来预测可能的关系。但是能够反映用户关系的信息如标签、用户之间的连接等结构化信息往往是有限的,而用户发表的评论则是相当容易获得的。因此,本文所描述的好友关系抽取任务就是从用户的文本信息中挖掘出用户之间的潜在好友关系,这不仅对产品推荐或是相似好友推荐有相当大的借鉴意义,同时也为通过文本进行人物关系分析有一定借鉴意义。然而,单靠文本特征判断有一定的困难,这不同于直接从用户的某些显著特征或是人物关系链进行判断,而且用户之间的文本数量可能比较巨大,单靠人工判断几乎不可能,但是深度学习却可以充分发挥数据的优势。

一种直接利用文本信息做用户关系抽取的方法是支持向量机(support vector machine,SVM)。但SVM无法保留原始文本的顺序信息,这也是词袋模型的一大缺点,而LSTM模型能够保留输入的序列特征,因此在本文中主要采用了LSTM来构建模型。同时,模型的输入应该要包含好友双方的信息,因此有必要将双方的文本信息进行合理的拼接。此外,注意力机制(Attention Mechanism)能够使模型关注于好友彼此之间相关的信息。因此,本文比较了两种LSTM的拼接方式对于实验结果的影响,并在最终的模型中加入了注意力机制。实验结果表明,在输入模型时,直接将好友信息进行拼接的效果最好,加入注意力机制能够明显提升实验准确率。模型最终的实验效果明显超过了传统SVM。

本文的具体结构如下: 第1节介绍了传统的关系预测和推荐方法以及最近的研究进展,第2节介绍了数据的收集过程以及数据集相关信息,第3节详细介绍了我们提出的模型,并简要介绍了特征的处理以及模型理论方面的内容,第4节介绍了具体的实验设置并比较了多种模型的实验效果,最后是对本文工作的一些总结和展望。

1 相关工作

目前关于好友关系预测的研究主要集中在算法方面,常见的有基于链路预测的算法和协同过滤算法等。Sarukkai[1]最早提出并评估了马尔可夫链进行预测和路径分析。Liben-Nowell 和Kleinberg[2]提出了一种基于社交网络的链路预测模型,其主要思想是,通过分析网络中近邻节点的情况分析其成员可能发生哪些新的互动。由于在现实中很多领域中的对象都是相互关联的,Taskar[3]等利用马尔科夫网络框架在关系型数据集上提高了准确率。Hasan[4]等则将监督学习的方法应用到链路预测中,并且比较了不同类别的监督学习算法的各种性能指标,结果表明大部分常用的分类算法(决策树、KNN、多层感知机、SVM等)都有较好的性能,其中SVM的效果较为突出。Menon[5]等提出了使用矩阵分解的方法来解决图中的链路预测问题,直接从图的拓扑结构中学习潜在特征能够比无监督的方式获得更好的性能。在个性化推荐系统中,协同过滤技术的应用十分广泛,其思想是,根据评分相似邻居的兴趣和偏好产生推荐。但是,其缺点也是显而易见的,其推荐质量受到数据稀疏性的限制,其精确度和可拓展性不能得到保障。比较流行的是基于项(item)的协同过滤,Sarwar[6]等通过计算项之间的相似性而非用户之间的相似性大大提高了协同过滤方法的拓展性和效率。Linden[7]等比较了基于用户的协同过滤算法以及基于聚类和搜索的推荐算法,表明还是item-to-item的协同过滤算法效果比较好。还有些工作利用诸如标签[8]、地理位置[9]等信息来研究用户兴趣的相似度,Tu[10]等利用新浪微博用户的标签来挖掘用户兴趣,提出了一种基于主题的标签传播模型。Qian[11]等将个人兴趣、人际兴趣和人际影响力三个因素结合,提出了一种基于概率矩阵分解的个性化推荐系统。

对于直接从文本中抽取用户关系的研究工作相对较少,Elson[12]等根据小说中人物的对话来分析人物关系。Qiu[13]等利用论坛文本进行情感分析来发现其中隐含的用户关系。Shen[14]等根据微博文章的内容比较了基于余弦相似度和主题来判断潜在好友的准确度。Liu[15]等通过对微博文章的关键字提取以挖掘用户的兴趣。Xu[16]等提出了一种无监督的开放关系抽取方法用以微博中提取关键词,闫[17]等通过在新闻标题中抽取人物实体从而建立人物关系图。赵[18]等根据用户评论采用矩阵分解的方法探索隐式社交关系,从而改进了推荐系统的性能。王[19]等利用文本信息透露的隐含社交信息结合显示社交信息,提出了一种隐含因子图模型进而有效地进行用户群组识别。还有一些其他研究则是将用户的文本信息与其他信息结合进而分析用户兴趣和用户关系,比如利用文本信息和用户信息分析用户兴趣从而进行用户关系预测[20],利用用户社交数据、地理位置数据、以及文本评论这三者结合进行兴趣推荐[21],利用微博短文本进行聚类来对用户兴趣建模[22]等。

本文着重讨论了仅基于用户文本进行分析的情况下,利用深度学习的方法只根据文本特征进行好友关系预测的效果,本文不仅比较了与SVM的实验效果,同时分析了模型各个组件以及注意力机制对于预测准确率的影响。

2 数据收集

本文使用了yelp[注]https: //www.yelp.com/dataset/商户点评网站的开放数据集,该数据集包含大量真实用户的评论等信息。我们抽取了评论数大于50条,好友数最多的前5 000个活跃用户以及用户评论作为研究对象。在这5 000个用户中,我们随机抽取10 000对的好友以及10 000对非好友。出于性能的考虑,对于每对好友,我们只选取他们最近发表的5条评论文本,合并成1条用户评论。我们在好友对和非好友对中各取9 000对的评论作为训练集,其他用户对作为测试对象,即训练集18 000条,测试集2 000条。表1是数据集相关的信息。由表可见,每对评论的总长度是非常长的,下文的实验中,如不做特别说明,每对评论的长度限定在500词,即双方评论各占250词。模型所用的总词数限定为训练集中出现频率最高的10 000词。

表1 数据集相关信息

3 分析方法

3.1 模型框架

图1 模型结构

3.2 用户的表示

为了构建基于神经网络的每个用户的表示,我们从训练集中选取出现频率最高的10 000个词作为特征并建立词典,选取两人最近的5条评论,选取词典中的词作为两人的特征。比如所建文本词典为vocab={′Cappuccino′: 0,′Triamisu′: 1,′Pudding′: 2},词汇表大小就是3。表2给出了用户A和用户B的文本特征。对于SVM来说,向量长度为词汇表大小,词的存在与否作为特征。LSTM的输入则为两段评论的拼接。

表2 文本特征选取

从表2中的简单示例中,可以看出用户A和用户B都喜欢吃西式甜点,因此我们选取字典中存在的这些甜点的名称作为他们各自的特征以及共同的特征。直觉上来说,如果两者评论中多多少少出现了相同的事物,则我们有理由认为该两人可能是潜在的好友或是拥有共同的兴趣。本文中将人们最经常讨论的各个方面的关键词作为词特征并建立词典,所训练和测试的评论选取了该用户最近发表的5条长评论。

3.3 基于注意力机制和LSTM模型的用户关系抽取

我们首先将好友双方拼接后输入词嵌入层,然后再对词嵌入层的输出进行卷积,卷积后的结果进行了最大池化,如式(1~3)所示。

基本的RNN模型的隐藏层只有一个状态h,而LSTM模型又增加了一个状态c,使其保存更长远的信息。LSTM模型的输入有三个: 当前时刻的输入值xt、上一时刻LSTM的输出值ht-1、以及上一时刻的单元状态ct-1,LSTM的输出有两个: 当前t时刻的输出值ht和当前时刻的单元状态ct。该模型的内部有三个控制开关,一个称为遗忘门ft,它决定保留多少上一时刻的信息到当前时刻;一个称为输入门it,它决定保留多少当前输入xt到ct;最后一个称为输出门ot,它决定保留多少单元状态ct到输出ht。其内部运算关系可用数学符号表示为:

经过LSTM层后,此时模型的输出为LSTM每个时间步隐藏状态,我们此时将注意力机制应用于LSTM输出的每一个时间步,注意力机制可以捕获序列之间的依赖关系,加权求和后我们得到输出序列i对应的上下文向量表示ci,具体公式描述如式(10~11)所示。

其中,hi为LSTM第i个时间步的输出,aij表示第i个时间步与第j个时间步的输出进行softmax后的权重,这里的相似度计算函数采用的是矩阵变换,用W表示。最后我们还要经过一层全连接层得到最终的输出概率。

4 实验

4.1 实验设置

实验训练的数据为好友与非好友双方的评论各9 000对,剩余1 000对作为测试数据。每个人的评论限定为最近发表的5条评论,评论长度限定为250词。但对于SVM模型,我们在下文额外地列出了使用全部词汇作为特征的效果。

本文特征选择评论里出现频率最高的10 000个词,SVM采用词袋模型,对于LSTM模型,我们考虑了两种拼接方式,一种是在模型的输入时将双方的评论进行拼接,即上文所描述的框架,一种是将双方的评论分别构建两个LSTM层,最后将这两个LSTM层的输出进行拼接。注意力机制都是应用于拼接后的结果。此外,词嵌入层我们使用了预训练的词向量来进行初始化。

我们采用对数损失函数,梯度优化采用Adam[24]优化器。隐含变量(hidden_size)和词嵌入(embedding_size)设置的大小相同,卷积层和全连接层使用的是relu和tanh激活函数,最后的输出层使用的是sigmoid激活函数。LSTM层和全连接层都使用了dropout。超参数的值如表3所示。

表3 模型的超参数设定

4.2 与基准系统结果比较

为了比较我们提出的基于注意力机制LSTM模型的有效性,我们与如下基准系统进行了比较:

•SVM: 使用好友双方全部词的TF-IDF(term frequency-inverse document frequency)构建特征,并使用SVM模型进行用户关系预测。

•Conv-LSTM: 表示对词嵌入层的输出进行卷积再后输入LSTM层,并使用该LSTM模型进行预测。

•LSTM-Concat-Att: 是我们提出的基于注意力机制的用户关系预测模型。即在模型的输入时将双方的评论进行拼接,并将注意力机制应用于LSTM的输出。

对于SVM模型,因为输入序列的长度对于SVM没有影响,所以这里SVM使用了所有的词作为特征,而其他模型都是只取双方前250词拼接后作为输入。实验结果如表4所示。从表4中可以看出,使用所有词的TF-IDF特征的SVM的效果要比进行卷积后单独使用LSTM的效果要好不少,但我们提出的模型要比单独使用LSTM的效果高了近7个百分点,同时也超过了SVM的效果。这从侧面反映了我们模型中起到关键性作用的是加入的注意力机制。

表4 不同模型准确率比较

4.3 不同因素对实验结果的影响

为了充分比较模型的差异性,我们还需要分析不同的因素对于实验结果的影响,具体结果如表5所示。

表5 不同因素实验结果汇总

•LSTM-Multi: 是将双方的评论分别构建两个LSTM层,最后将这两个LSTM层的输出进行拼接,将拼接后的结果输入全连接层进行预测。

•LSTM-Concat: 表示输入时将双方的评论进行拼接,然后输入LSTM层进行预测。

•LSTM-Multi-Att: 表示依旧将双方评论构建两个LSTM,不同的是,我们会将注意力机制作用于拼接后的LSTM输出。

•Att: 表示对词嵌入层的输出直接使用注意力机制并进行预测。

•LSTM-Att: 是指去除卷积操作,对LSTM的输出运用注意力机制并进行预测。

从表5中可以看出,不管是在输入时将双方信息进行拼接还是将双方评论构建两个LSTM再进行拼接,最终的效果差别不大,但是加入注意力机制后明显是输入时拼接效果要好。虽然,直接将注意力机制加到词嵌入层的输出的方式简单有效,效果要比单独用LSTM要好不少,但是我们的模型效果超过直接使用注意力机制的效果。最终,我们的模型准确率达到了0.770 5,相对于SVM的0.75,还是取得了一定的改善。值得说明的是,我们模型的输入取的是前250词,而我们模型的效果却比SVM使用所有词作为特征的效果要好,这更能说明模型的优越性,其可改进的空间也是巨大的。

通过两种模型的比较基本可以说明,单用文本特征来判断是否是好友是可以取得一定的效果的,SVM在分类任务上仍然可以取得不错的成绩。对于数据量大的情况,我们的模型仍然能够充分利用有限的好友双方的文本信息,达到明显超过SVM的效果。当然,本文讨论的重点放在了文本特征上,而其它外部特征对于判断好友关系甚至更直接,比如两个人的共同好友数就是一个很强的特征,拥有共同好友数较多的两人极其可能是好友,我们甚至可以将用户的其他特征和文本特征相结合来极大地提高预测准确率。

虽然两人当前是否是好友甚至可能在数据库中已经是已知的了,而且以上的实验是基于数据库中两人是否有确定性的好友关系的前提下完成的,但在现实中,两人是否拥有好友关系,并不是确定不变的,甚至是比较主观随意的。但是,在实际的任务中我们也并不一定需要十分确定的关系,这种关系同时也是说不清的,模型最终的输出可以转化为概率值,即我们可以分析任意两对用户的文本得到两人的某些相似性。本文的实验结果依旧能够说明,仅仅通过文本本身,以及通过上文介绍的模型来判定两人是否拥有潜在的好友关系是有一定效果的,并且是有意义的。因为当原始信息不能断定是好友,而且其他外部特征缺乏的情况下,我们仅仅通过文本特征就可以计算相似度以判断两人是否是潜在的好友或有共同的兴趣爱好,这为一些推荐系统提供了一定的参考。

5 总结和展望

为了能够充分捕捉好友评论之间更深层次的信息,本文将好友以及非好友分开进行处理,将LSTM模型和注意力机制相结合,仅仅通过分析两者的文本特征来进行好友关系预测。实验表明,好友之间的评论确实能反映两者之间的用户关系,注意力机制在本文任务中起到了不可替代的作用,本文提出的好友预测模型较之于传统的SVM模型在准确率上有了明显的提升。

本文的主要目的是通过分析文本发现可能蕴含的好友关系,在未来的工作中,我们还会结合更复杂的注意力机制来提升准确率,同时我们还会在语义和语篇分析角度探索优化的方案,并且我们还会继续研究如何通过文本信息分析更为复杂的人物关系。

猜你喜欢
好友注意力机制
让注意力“飞”回来
如何培养一年级学生的注意力
属羊
自制力是一种很好的筛选机制
删除好友
A Beautiful Way Of Looking At Things
破除旧机制要分步推进
注重机制的相互配合
打基础 抓机制 显成效
雪花特快专递