英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料
基于内容的新闻推荐
斯洛伐克技术大学,信息与软件工程学院
摘要
信息过载是如今最大的一个问题。我们可以看到它在各种领域,包含一些商业领域,特别是在新闻这一方面。这个问题对于网络连接和新闻门户网站十分重要,因为一个新闻门户网站的好坏是有该门户网站所连接的新闻数量来衡量的,然而最著名的新闻门户网站每天添加数以百计的新文章。经典解决方案是一个通常使用解决信息超载的建议,在本文中,我们提出了一个快速方法基于内容的在余弦相似性搜索基础的新闻推荐。
关键字:新闻,推荐,代表向量,使用模型
1 简介
在网络上有很多新闻门户网站,一些著名和具有影响力新闻门户上面包含成千上万从整个世界中添加的新文章,然而这些文章不容易被访问到。例如,斯洛伐克最大的新闻门户SEM SK中的用户大约通常每天花16分34秒在这个网站上面[1]。自从2003年,网站上的字数已经增加了近2倍,而且在链接,图片,表格,广告等我们也可以看到这种现象。超过60%的受访者参与IDC的研究
说,他们面对的信息过载的现象超过一半的时间(见图1)。
图1 信息超载频率[ IDC,2008秋,美国,500受访者为一个集合]
一个好的新闻门户网站的标准之一就是花费相同时间得到有用信息的数量,所以查询到新信息尽可能快是极其重要的。更新新闻的重要性很容易从非新闻类门户网站看出来,在那些非新闻门户网站中可以找到各种缩短头条新闻。
我们提出一个基于内容的新闻推荐方法,在这个方法里使用了我们设计的文章表示方法。当碰到了类似的文章,这个表示方法变得很重要。快速相似性估计在高变化的领域中正如新闻门户网站扮演关键角色。有必要尽快处理新的文章以及开始进行文章推荐,因为高价值的信息正在逐渐下降。最后我们使用这些类似的文章根据用户的隐式模型创建推荐的内容。我们的基于内容的推荐方法是基于三个步骤——计算文章相似度,创建一个用户模型和基于前两个步骤的推荐(见图2)。在文章中相似的步骤需要预处理每一篇文章以减少空间。然后在文章被表示成一个有效的向量,我们在这一步使用了相似度计算。我们在计算文章相似度得到的结果是我们得到了一个关于每篇文章相似度的数据集。
图2所示,提出了新闻推荐方法。
我们基于隐式反馈提取识别服务器日志的访问和推荐文章独特的cookie创建用户模型。最后便是从文章相似度和创建的用户模型进行推荐,后面我们将深入描述每一步。
本文结构如下,第二部分描述是推荐领域的运用场合;在第三节,我们提供上述提出表示向量结构的概述;第四节描述了我们的推荐方法;第五节描述的是评价方法。
2 相关工作
智能推荐是现在很火爆的研究课题之一,现在存在两个基本的推荐方法[10]。传统的协作过滤解释社会要素,用户被分组根据他们的喜好,习惯以及内容排名。个性化的问题是减少到寻找相似的用户和向用户推荐新产品,这些特征将被同一集群的其他用户访问到和高分排名。
第二种方法基于过滤的内容推荐系统。基于过滤的内容推荐系统在过去是将信息检索和信息研究连接起来,这么做的主要目的是区别两个相似的由条目产生集群的网站而不是用户,户配置文件(用户模式)映射到特定网站集群是极其有必要的,这种类型的过滤方法在结构化数据得到了很大的成功例如电影,新闻[11]。
这两种方法被广泛使用和混合在一起,通常结果会带来更好的结果[9]。例如,我们可以找到类似未被访问的网站然后为这些网站评估用户的预测等级。当然也结合多样性的方法对于不同类型成为了可能,例如Google新闻[5]。基于内容过滤的主要问题是效率以及表达具体事物(文章)的抽象表达是否有效。这些方法通常是文本摘要,关键词提取或者各种分类模型,但是基于这些技术常用英文的系统,不能轻松地应用于其他语言。关键字提取和总结带来更好的结果和其他方法,但更费时。这些方法不能代表没有修改的非文本文件。
现在有几个推荐系统在新闻领域,但是在这一与商务十分类似领域的问题是存在大量的动态更改的数据。这是因为当以内容为基础的推荐系统被使用时,推荐系统没有直接提供整个数据。OTS[17]系统用关联规则为每个用户创建“偏好表”。当平日有很多新文档添加,通常没有实时计算推荐列表。当利用二叉树表示的相似性和用户的喜好时,TRecom是一种很有保障性的基于内容推荐系统[18]。Brusilovsky[15]表明,明确的填充和开放的用户模型通常在新闻领域会带来更糟的结果,一些系统都涉及到推荐系统中用户位置,推荐列表将根据用户位置被创建[6]。
3 文章相似性计算
我们针对快速相似性估计提出了提出有效矢量文章表示。
这种表示方法包括6个基本部分:
-标题 从文章标题(约5-150字,斯洛伐克文章主体)这应该是很好的描述属性最出现。
-标题出现的频率(TF):我们使用术语频率来计算文章相关性。如果这篇文章的名字是抽象的,不对应文章的内容,我们可以很容易地表示这种情况(阈值)。词的频率计算如下:
(1)
是表示事件i发生的频率;是事件i在文章中发生的次数;是整篇文章中的总的词条总数。
-姓名和地点 我们从文章内容中提取的人名和地名。这里现有几个英语的名称或地方提取器。我们用简单的方法来检测这些项目。从一个上字母和句子没有结束之前(点、问号等)名称或标志词来标记地点和姓名。这种方法可以很容易地提取相关名字和地点出现在这篇文章(精度= 0.934,回忆= 0.934)。
-关键字 我们存储了10多个相关的关键字,一些新闻门户定义了每一篇文章的关键字列表,但是很不幸的是这些关键字在不同的新闻门户网站中定义的抽象层次不同。我们介绍自己的关键词列表位于TF-IDF计算(150000篇斯洛伐克新闻门户网站的新闻文章SME.SK)。我们采用一种除了名词和名字的词性标记和删除任何词语。
-种类 由带有权重的向量和“树型”类组成。这个向量构造基于特定的新闻门户网站结构层次结构(可选)。当没有足够的类似的文章,这是非常有用的。每个类别的重量计算:
n=1
For i=|Category| downto 0 do
weight[i]=1/n
n=n*2
End
-CLI Coleman-Liau指数提供了信息的可理解性文本,这个向量不是重要标准相似度计算,但在重组结果是很重要的。我们的假设是一个类似的用户想要阅读的文章的理解水平。这个方法能够区分相似的两篇文章标题和完全不同
内容(“捷豹”——动物VS车)。CLI可以很容易地在此基础上计算公式[8]:
(2)
当使用本文中表示,我们可以存储向量的一篇文章不超过30项出现。表1中给出的例子提出表示。对相似度计算的目的,我们使用余弦相似性[14],它广泛应用于信息检索的任务。我们的向量包含6个带有权重的子向量所以需要扩展标准的余弦相似度:
(3)
在这里,m是向量的份数(在我们的方法中是6)和n是向量的时间的数量,推荐系统的相似性定义是一个困难的任务。我们可以定义基于新闻内容的相似性(如剽窃的任务) ,或者基于“主题”或“事件”。当一个推荐列表的生成是十分重要的。我们的方法代表每个这样的类型。对于不同的推荐方法,我们可以很容易地通过简单改变权重向量和调整部分重新定义相似性。
表1,向量表示文章的例子。
分向量 |
权重 |
标题 |
transplantacia 0.5 tvar 0.5 |
内容中的字数TF |
transplantacia 0.0178571428571429 tvar 0.0714285714285714 |
分类 |
Sme.sk 0.5 PRESS FOTO 1.0 |
关键字 |
klinika 0.0357142857142857 povrch 0.0178571428571429 nos 0.0178571428571429 zub 0.0178571428571429 nerv 0.0178571428571429 svalstvo 0.0178571428571429 pacientka 0.0178571428571429 rozsah 0.0178571428571429 |
名字/地名 |
Cleveland 1 |
CLI |
0.2543 |
3.1 新闻的预处理
文本预处理在相似性搜索的过程中占有重要角色, 因为它可以显著降低词空间。这部分过程是根据高级语言而定的,我们的实验提供了斯洛伐克语言,
它是最复杂的语言之一(名词、动词的词尾变化等)。系统的架构是可变的,所以为斯洛伐克语言预处理很容易被其他语言(如波特algorithm3)及其方法替换。新闻的预处理为下一个计算过程加速起到了关键作用,在那一个过程中需要最大程度减少单词条的维度。
第一个任务是消除障碍。我们使用静态列表,可以取代TF-IDF输出[12]。此方法可以识别出数据集中常见的重复单词。
至于预处理斯我们使用文本的归类洛伐克语文章的主要部分,这里有一个解决这一过程算法的问题:这可以利用引用字典解决。至于我们引用的字典(600000条记录),结果我们得到了每篇文章的。
有必要注意,我们除外了句子结束外,删除任何标点句。当我们检查,如果有一个大写字母前点,如果没有,它可能是个人的名义姓名,或地方等的名称和地点,我们用一些点作为快速标注名字或者地点的指标。在信息检索中,名称和地点提取都是标准任务。正如上述我们提到的,采用这种方法带来了足够多的结果,并可以简单地用更复杂的方法所取代。
在关键字提取之后,我们不需要整个文章内容。我们可以安全地删除,除非标题名词获取在文章内容中所有关键词。之后对于每一篇待处理的文章,我们有这样的关键字列表:
-归类后文章标题
-从文章中归类的关键字
-多于10个的相关关键字
-姓名和地点的列表
我们上述预处理方法可显著减少存储,具体每一篇文章高达80%的字数。
4 推荐
该方法的最重要的部分是推荐步骤(图3)。对于创建推荐模型,我们要两个列表作为输入。第一个列表是对于我们上面描述过为每篇文章计算出大于10篇类似的文章列表;第二个离别时基于cookie每个用户的访问文章列表。在这个列表里我们需要区分访问过但是没有推荐给用户的文章和访问并之前推荐过的文章,这一定通过使用特殊属性扩大文章URL可以轻松做到。首先,我们需要定义需要推荐的文章数量(推荐列表长度)。正如我们在图3中可以看到,文章推荐列表由两个子列表组成:
-访问过但没推荐相似文章的列表(S)
-访问并且之前推荐过的文章列表(N-S)
该列表的比率被动态计算为:
(4)
其中S是访问过但没推荐相似文章的数量,N是访问并且之前推荐过的文章列表,Nr代表在最后一个部分访问但没有推荐的文章数量,V是一起访问文章的总数量。对于提出的方法,两个部分可以被区分,因为在访问时每一个小时便会终中断。
下面表示为每个分离的部分计算的推荐列表:
foreach cookie do
visited = get visited articles list
visitedRec = get visited and recom. articles list
foreach visited do
if randomNum gt; random treshold
listPart1 = get first non visited article from computed
similarity list
else
listPart1 = get random non visited article
end
end
foreach visitedRec do
listPart2 = get first non visited article from computed
similarity list
end
listToRecommend = listPart1[1..N] listPart2[1..M
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[153445],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。