论文部分内容阅读
IT技术交流社区是广大技术爱好者和从业人员交流和分享计算机与互联网技术的重要平台。技术社区中的用户每天都会产生大量的技术文章,以及浏览、收藏、评论、点赞等行为。从用户产生的历史数据中分析出用户兴趣与技能的变化,有助于技术社区为用户提供更精准的个性化服务,这对用户和技术社区都有着重大的意义。传统的推荐算法往往着眼于“用户-物品”的关联关系进行研究,而较少考虑用户与物品发生关系的时间顺序。而将用户历史行为视为时间序列数据进行推荐的模型多数是在用户的兴趣层面建模,而技术社区中的用户不仅拥有兴趣特征更拥有技能特征,在推荐中兼顾用户的兴趣与技能成了一个值得探索的问题。IT技术社区中的文章多数是计算机领域的技术文章,计算机领域发展更新较快,常常出现一些新的技术词汇,并且一些专有名词在社区中拥有特定的简写表达,直接使用分词工具不容易从文章中识别这些词,需要使用辅助分词的计算机领域专有名词字典来提高分词的准确性。针对计算机领域不断出现新词的问题,本文设计并实现了一种用于计算机领域新词发现的算法来扩建计算机领域专有名词字典。技术社区中的博文以Markdown的格式存在,一些原本属于停用词的符号在博文中成了Markdown的语法标记,用以增强词的语义表示。针对Markdown文本的这一特点,本文提出了语义块的概念并设计实现了一种Markdown特征来提升无监督关键词提取的准确性,使用Markdown特征改进了TFIDF算法和Text Rank算法,并在改进算法的基础上设计实现了基于Markdown特征感知的无监督关键词提取算法(MDKE)用于提取Markdown格式的文章关键词。考虑到技术社区中的用户既是文章的作者又是文章的读者,作者体现用户技能输出,读者体现用户的兴趣取向,本文将用户点赞的文章视为用户兴趣取向,将用户发表的文章视为用户的技能取向,并考虑用户点赞行为和发表文章的时间顺序将用户行为视为时间序列使用LSTM模型提取用户的兴趣特征和技能特征。考虑到用户的职业、是否为领域作者等静态特征对推荐结果也会产生影响,使用了MLP模型来提取用户静态特征的高阶表达。最后融合了用户静态特征、用户兴趣特征和用户技能特征提出了一种基于用户兴趣技能网络的计算机博文推荐模型(SKAIN),同时兼顾用户的兴趣与技能。本文在掘金网的真实数据集上设计了实验。首先,将MDKE算法与主流的关键词提取算法进行了比较,验证了MDKE算法在Markdown格式的文本中提取关键词的有效性;其次,本文为SKAIN模型设计了对比实验,进一步验证了结合用户技能特征和兴趣特征的SKAIN模型在计算机博文推荐中的优势。本文的研究为无监督关键词提取以及技术社区文章推荐拓宽了新的思路。