社交问答网站中的用户兴趣能力分析方法

2019-04-22 07:53裴庆祺
西安电子科技大学学报 2019年2期
关键词:特征词标签向量

黄 影,何 婷,裴庆祺

(1. 西安文理学院 信息工程学院,陕西 西安 710065;2.西安电子科技大学 通信工程学院,陕西 西安 710071)

社交问答网站,即社会化问答网站,是一个开放的知识分享社区[1-2],借由用户的问答互动来重新定义人和信息的关系。一个高品质的社交问答网站需要准确的根据用户留下的踪迹推断用户隐藏属性[3]。目前研究都是将用户兴趣与专长选择其一作为分析研究的侧重点,研究用户兴趣走向的用户推荐系统。针对社交问答网站的用户兴趣、能力擅长领域的分析研究具有重要意义。

在传统的社交网络中,社交并不是最终目的,而是通过构建用户之间的联系,并以这种联系为基础引发用户需求和互动。社交问答网络能够让人们将脑海中无形的信息、知识输送至互联网,并成为一种连接不同领域的纽带。用户可以通过它不间断地输出有价值、高质量可沉淀的信息[4]。

社交问答网站的迅速发展离不开其背后的技术研究,在它迅速发展的同时,诸多用户兴趣、能力预测推荐等相关方向的研究在逐步推进,主要分为:用户兴趣分析[5-6]和专家用户发现[7]。尽管这些研究提出的方法都证明了具有很好的准确率,然而,在社交问答网站的实际应用中,将兴趣和能力结合起来分析将更有助于提升问答服务质量。

通过对目前社交问答网站用户兴趣能力方面的研究现状的调查了解,现有工作主要存在的缺点有4点:①将兴趣与能力分开研究,文献[8]是针对用户兴趣的研究,文献[9]是针对能力水平方面的研究,用户的能力水平应该在指定的主题下计算;②需要数据训练集。这点在一定程度上应称为限制。由于大部分数据不开源,而自行爬取数据需要考虑时间成本、用户隐私等问题,此外,为了验证算法的有效性,庞大的数据量也增加了获取数据的困难程度;③数据种类不够丰富。由于现有的社交问答网站已经不是最简单的你问我答的形态,仅考虑单一数据种类的相关研究工作(如文献[10]仅考虑了用户关系,文献[11] 主要分析用户感兴趣的主页和以时间为轴线的交互行为)已经无法满足现阶段的需求;④缺少数据的预处理。

为解决上述问题,笔者以社交问答网站为背景,分析问答环境中用户的基本属性、问答行为和社交属性,基于对现有模型和算法的研究与分析,提出一种基于自然语言处理(Natural Language Processing,NLP)的用户兴趣能力分析方法,准确地刻画用户的兴趣和专长领域。

1 用户兴趣能力分析方法

这是主要介绍文中提出的基于自然语言处理的用户兴趣能力分析算法,并将其应用于社交问答网站。通过将用户名作为获取数据的标识,获取用户的网站相关交互数据,利用算法分析处理,最终得到用户的兴趣能力特征值。

1.1 数据预处理

数据预处理,即把从网站获取的原始数据修剪成为可供算法分析计算的数据,包括过滤、合并等过程。文中主要关注3种动态数据:提问、回答和关注的提问。提问和回答属于问答网站基本的交互数据,大多相似研究都从这两种数据入手分析。而这两种数据都具有时间属性,即表示用户在特定时间段内的兴趣走向;用户关注的问题属于用户倾注长期关注度的一类数据,体现长期兴趣的走向。

同时,在数据处理阶段将提问文本与部分回答文本合并作为自然语言处理的输入。在兴趣分析中,用户是提问方,在分析粗粒度的兴趣特征时,需结合部分回答数据;在分析细粒度的标签项时,只需提问内容本身;在能力分析时,用户是回答者,在分析能力特征时,都是回答内容结合问题文本。

在通常情况下,一个提问的回答内容和回答数量都是未知的。文本内容可能是垃圾回复,回答数量太多又会造成冗余和限制自然语言处理的分析。因此,在合并文本前首先进行文本过滤。主要包括以下两个方面:规则过滤和投票数过滤。文中认为一个用户的回答与提问相关,并可以合并内容的条件为

(1)

其中,Vvote为赞同投票数,当Vvote大于边界值e时,即认为回答内容有效且有质量;而出于总文本内容的长度限制,只保留按照赞同数投票倒序排列后的前m个回答,m与自然语言处理文本长度限制有关。当满足上述两个条件时,则将合并提问内容与回答内容,进行文本分析。

1.2 文本特征词提取

用户交互数据随时间流逝动态增加,每一条数据都伴随有文本内容和时间戳,这里主要利用自然语言处理从文本内容中获取需要的特征词。

(1) 粗粒度的分类。分类是利用NLP中的文本分类功能判断文本所属的主题类别,最终获取的主题词有限,都会归结为既定的某个主题,主要从概括性的方向指示文本内容类型。不同的自然语言处理所支持的分类等级和类型不同,如文中采用的百度NLP支持最多二级分类,其中一级分类包括体育、娱乐、社会、财经、科技、情感等26个主流内容类型。

(2) 细粒度的标签。细粒度的标签是指利用自然语言处理的词法分析、文本标签或关键词分析等功能,具体地输出能反映文本关键信息的主题、话题、实体等多维度特征词。细粒度标签的分析结果与文本内容有关,并不限定在某些词语范围内,能更具体贴切的代表文本内容特点。

1.3 兴趣能力程度值计算方法

在对文本内容进行处理后,会得到许多特征词,且这些特征词拥有一个初始程度值。下面对这些特征词重新计算程度值,并排序,从而能从众多的特征项中筛选出最能代表用户兴趣和能力的特征词。

文本处理之后的分类向量和标签向量都有相应的权重,但该权重只作用于单条文本范围内,无法在多条内容提取的特征词中横向对比。因此,这里将非线性化的权重按程照度不同,用统一标准映射为线性刻度1~5,兴趣度由1至5依次递增。权重w的定义域是[0,1],线性刻度s为1~5,考虑初始权重极小概率等于1,更多是趋近于1,因此放宽值域范围,即值域为[0,5.5],使那些非常趋进于1的权重也可以映射到s为5。结合取值情况,这里考虑采用反正弦函数转换,再取整,s可表示为

(2)

其中,R()为四舍五入取整函数。

从用户提问内容的时间戳计算时间衰减权重,作为最终权重的一个因子,与特征词结合构成短期兴趣向量。因此,计算时间权重表示兴趣值的新旧程度,利用动态数据发布的时间戳计算权重,可采用一个时间衰减函数表示这一关系。采用韦伯衰减作为时间衰减函数,计由时间戳计算所得的衰减权重w可表示为

(3)

其中,t为时间;L为生命衰减周期;k为形状参数,当k=1时即为指数衰减。通过调整参数k,可以根据需求,选择衰减速度是先快后慢,还是先慢后快。

用户在某领域的能力值是从其回答内容中提取的,能力作为用户动态属性,其程度值来自于其贡献值和被认同程度,因此,可按照回答的赞同数来衡量其在某领域的能力属性大小。由于文中研究的数据类型不考虑每一步投票行为单独的影响以及不同时段的投票行为的影响,投票的总人数也是未知状态,可使用下述公式对投票得分进行计算:

(4)

其中,(Ta-Tq)为回答时间与提问时间的小时数差值;G为重力因子,决定S随时间下降的速度。公式的分子部分表示内容的赞同数与得分之间的关系符合Logistic函数,即内容的得分数随投票数“S形增长”,开始阶段大致是指数增长,随后变得饱和,增长变慢,最后投票数到达一定范围时,得分趋近满分而停止。A、b、c均为参数,影响曲线的形状位置,可通过拟合曲线具体决定。这里要求函数的定义域只取[0,+∞)保持“S形增长”,得分最终趋近于100。Δv为投票数,可表示为

Δv=Vu-Vd+mΔVt,

(5)

其中,Vu是赞成票数,Vd是反对票数,Δvt是感谢票数,m是感谢票的相对权重。

1.4 特征项处理

计算出特征词及其相应权重后,简单统一数据格式得出如下向量组。针对分类项和标签项还需分别进行分类树迭代和关键词合并。对于每个特征词,计算与其他词的相似度。如果是重复项,即特征词相同,那么直接合并权重。如果相似度大于预先设置的门限值,可认为这两个特征词语义重叠,则合并权重,剔除重复项。特征词去重后,根据权重大小倒序排列,可以筛选出前k个高频标签项。

1.5 用户兴趣动态更新

由于用户能力不仅受时间影响,其每个回答的赞同数也可能随时增减,即使加入动态更新,依旧需要获取之前的用户数据,因此,仅需要对短期和长期兴趣引入更新机制。

1.5.1 短期兴趣更新

假定用户已有的短期兴趣特征项向量为vold,根据上次分析时间,获取该时间之后新发布的数据,计算得到新的特征项向量vold,进行两个向量的和运算。具体步骤如下:

(1)将vold中每一个特征词的程度值更新,即

si=si_oldf(Δt) ,

(6)

其中,f(Δt)为当前时间与上次分析时间的间隔计算出的衰减倍数。

(2)如果vnew中的特征词t为新的特征项,则直接将其加入vold;否则,将该词在vnew和vold中的程度值相加作为新值。

(3)对新的特征项向量按照程度值重新排序,更新分类树结构或者保存新的top-k标签项。

1.5.2 长期兴趣更新

在一定时间之后更新长期兴趣,首先,更新原有特征项向量中每个词的程度值si,其计算公式为

(7)

其中,nday+表示新增的时间窗口数量。之后,再将原有向量与新数据所得向量合并,合并步骤与短期兴趣更新一致。

1.6 用户兴趣能力分析应用

在确立了上述的用户兴趣能力分析算法后,可以得到用户在短期兴趣、长期兴趣和能力3方面特征的分类项和标签项表示,以此衡量问题推荐指数,即如果出现新的问题,则向该用户推荐问题,能得到有效高质量回答的概率。在给定的用户群中,可以按照推荐指数排序,将问题及时引流至目标回答用户。

2 实验及性能比较

文中使用的是社交问答网站知乎的用户数据,采用了基于浏览器测试组件的数据获取技术[12]。采用应用程序界面接口的方式获取单个用户的数据。为了确保实验的有效性,需要选取的数据满足:①选择的目标用户需要其至少有5个提问,10个问答,10个收藏的提问,并且每个提问都带有话题标签,可以作为验证标准;②目标时间为近一年,即只选择近一年的数据;③尽量选取带有认证的用户或基本信息带有明显标识的用户。

标签项是综合短期兴趣、长期兴趣和能力的向量组,兴趣模型的实际应用之一便是推荐。用户是否愿意回答问题源于两点:兴趣度和能力大小。因此,可以通过对选定的问题推荐回答用户来验证细粒度的标签向量组的准确性。对于一个给定的问题Q,获取其回答用户列表U,根据所有用户对问题Q的回答概率得分进行排序,并将排序结果与实际按回答赞同数排序的结果进行对比,分析推荐结果,以此衡量标签项的准确性。用户的回答概率得分为用户对目标话题的短期兴趣度、能力大小以及长期兴趣度的和,用户对某话题的回答概率得分计算如下:

S(u,t)=As(u,t)Is(u,t)+Ae(u,t)E(u,t)+A(u,t)Il(u,t) ,

(8)

其中,A(u,t)为标签向量中所有特征词与目标话题语义对比后最高的相似度值,Is(u,t)为相似度最高的短期兴趣特征词的得分,E(u,t)为能力得分,Il(u,t)为长期兴趣得分。

为了评估标签项的有效性,将文中的标签项推荐结果与文献[7]提出的主题能力模型(Topic Expertise Model, TEM)方案进行对比,该方法也是将兴趣能力共同分析,但它的回答概率得分仅能力部分用作推荐计算,它的A(u,t)是基于用户话题与问题的相似度计算。此外,采用标准化折扣累计增益NnDCG作为衡量参数来对比推荐排序的质量:

(9)

图1 标准化折扣累计增益验证结果

其中,Q为问题集合;r(j)表示第j个专家的相关等级,这里为第j个专家实际的排名等级;IS(K,q)表示理想情况下的排名分数,即能排序完全正确情况下的分数。

选取知乎的10个问题,每个问题选取按回答赞同数倒序排列的前10名用户进行分析,分别取专家数K为2、5、10进行排序验证,NnDCG的验证结果如图1所示。

从标准化折扣累计增益可以看出,文中的标签项在推荐回答用户时,会将相关性更高的用户优先推荐,且随着用户数量的增多,其排序性能进一步提升。和TEM方案相比,文中的算法的验证结果更为准确,说明文中构建的结合了短期兴趣、长期兴趣和能力特征的标签项,相比于单一的按能力推荐或TEM方案,具备更准确的推荐效果。

3 结束语

社交问答网站与日俱增的用户量和数据量,使得其对于用户问答的品质有着更高的要求。而一个高品质的问答环境就需要从用户的交互行为和动态准确分析用户的关注点和能力点,从而保证用户与内容之间较高的匹配度,使得问题能得到及时且可靠的回答。文中提出了一种基于自然语言处理的用户兴趣能力分析算法。先从理论上介绍了具体的算法流程,从用户提问回答中提取出兴趣和能力的特征词向量,构建用户兴趣能力,再采集知乎的用户数据进行实验验证。

猜你喜欢
特征词标签向量
向量的分解
基于类信息的TF-IDF权重分析与改进①
聚焦“向量与三角”创新题
无惧标签 Alfa Romeo Giulia 200HP
基于改进TFIDF算法的邮件分类技术
不害怕撕掉标签的人,都活出了真正的漂亮
产品评论文本中特征词提取及其关联模型构建与应用
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
让衣柜摆脱“杂乱无章”的标签