摘 要:新闻系统如果不能有效的进行新闻分类和个性化推荐,势必会影响到用户的使用效率和使用兴趣。本文通过自然语言处理技术、文本分类技术、协同过滤算法等技术构建新闻自动分类和推荐系统,对发布的新闻内容进行分词处理以及分类训练,从而自动判断新闻的所属类别,如果用户对系统反馈的分类结果不满意,还可以手动的进行修改分类,以便后期不定时的对属性进行更新。再通过协同过滤算法计算出用户间的相似度,进一步计算出与被推荐用户相似度较高的用户,将该用户浏览过但被推荐用户未曾浏览的新闻推荐给用户进行查看。本文是以复旦大学李荣陆用于文本分类研究所使用的新闻语料库为基础,通过此库来进行文本分类准确性的测试。测试结果表明,本系统能够很好的服务于新闻用户,体现出新闻系统的个性化。
关键词:推荐算法;自动分类;协同过滤
中图分类号:TP393.09文献标识码:A 文章编号:2096-4706(2018)10-0009-03
Abstract:If the news system can not effectively classify and personalize the news recommendation,it will inevitably affect the users use efficiency and interest. This paper constructs a news automatic classification and recommendation system by using natural language processing technology,text classification technology,collaborative filtering algorithm and so on. It can automatically judge the category of the news,if the user is not satisfied with the classification results of the system feedback. Manually modify the classification so that the attributes can be updated indefinite. The similarity between users is calculated by the collaborative filtering algorithm,and the users with higher similarity are further calculated,and the user is viewed by the user who has not been browsed by the recommended user. This paper is based on the news corpus used by Li Ronglu of Fudan University in the Institute of Text Classification to test the accuracy of text classification. The test results show that the system can serve the news users well,reflecting the personalization of the news system.
Keywords:recommended algorithm;automatic classification;collaborative filtering;
0 引 言
在21世纪,人们对科学技术的不断需求,使其对科技和自主创新的重视程度也在不断增加。人们逐步将注意力从物质转移到了效率,这一转变也引起了国外公司的极大关注。另外随着电子商务的不断发展壮大,商品的种类和数量也在不断的增加,不论你是何种身份,用户或者是管理员,在面对成千上万种商品的时候,总会显得很无措。使用者需要花费大量时间在类别判断和浏览那些无用的商品信息上,当前在这个追求效率的时代,必然会导致大量用户的流失。为了提高使用者的使用效率,减少使用者在无用信息上的逗留时间,自动分类和推荐系统逐渐被大众所熟知。
自动分类和推荐系统的出现并非偶然,从古至今方方面面应用极广,互联网时代,伴着云计算和大数据的迅速发展,自动分类和推荐系统才得到了空前发展,真正的实现了所谓的“人性化”。从目前的淘宝来看,淘宝平台上有着数以千万不同种类的商品,另外同种商品还有众多的卖家,而且卖家的商品也参差不齐。使用者往往会花费大量时间在商品的种类和信息上。当自动分类和推荐系统的出现后,只需要填写相应的商品信息,系统便可自动将其进行分类,用户也再不需要去花费太多的时间在寻找商品上,购物平台可以根据用户的购买等一系列隐性或显性特征进行分析,从而得到与该用户相似度较高的其他用户或者预测到该用户的消费需求,并将结果推送给用户,这使得用户可以能够快速有效的寻找到自己想要的商品信息。
针对这些问题,本文研究设计了一套新闻自动分类和推荐系统,其主要包括四个部分:新闻文本的处理、关键词的提取、类别的判断以及新闻的个性化推荐。该系统能够满足新闻用户的相关需求,提高了使用者的使用效率,促进了新闻系统的个性化发展。
1 系统流程设计
系统流程从发布新闻开始,首先使用Ansj分词工具对新闻进行处理,包括去停用词以及用户自定义词的提取。计算每个词的TF-IDF值,将其值高的名词作为该新闻的关键词,然后通过训练好的SVM模型对该新闻的类别做出判断,并且将分类的结果反馈给使用者,如果使用者对推荐的结果不满意可以手动修改类别。由于训练好的SVM模型是根据现有数据库中的新闻建立的,这就使得当新闻量较少的时候,很难反馈出较为合适的类别推荐给用户。这时,为了能够提升分类结果的准确率,在对新闻进行分类之前,我们将会不定时的对现有的新闻集合进行分词处理,将其中的一些TF-IDF值较大的名词组成我们的属性值集合,并将这些新闻集合处理成LibSVM所需的测试集合。分类好的新闻会根据不同的类别展示给用户查看,其中我们也会根据用户的行为信息计算出与该用户相似度较高的用户,并向其推荐与之相似用户看过的但是该用户没有看的新闻。新闻自动分类过程如图1所示。
新闻推荐过程如图2所示。
2 系统实现
2.1 利用TF-IDF算法和筛选名词提取新闻关键字
本文讲问题分为两类,“军事新闻”和“教育新闻”。在每个新闻类别中都有相应的关键字。如在军事新闻中有海军、空军、导弹、国防部等。本文首先采用Ansj分词技术对新闻进行分词并保存每一个词的词性,再用TF-IDF算法计算出每一个词的TF-IDF值,按照降序排列取出TF-IDF值大于0.1的名词作为该新闻的关键词。
例如,我们对《解放军这款大杀器发射管“通红”,为何还有东西向后射?》这则新闻进行分析,首先我们会对该新闻的内容进行分词操作,通过计算提取其中的关键词,一般我们都会认为某一个词在这篇文章中出现的次数越多则说明这个词在文章中的重要程度越高。所以我们需要先找出该篇文章频数最多的那个词,因此我们先用Ansj对这篇文章进行分词操作,保存每一个词的词性并统计其频数,从而计算出该词在整篇文章中出现的频率(TF)。在此期间,我们需要设置一些停用词,因为在对一篇文章分词结束之后,发现很多频率高的词,如:的,我,我们等,毫无意义,设置停用词就是为了将这些毫无意义的词去掉,提高获得高频率词的准确度。
在滤掉停用词后发现在其中有些词汇,如:中国,空降兵,反坦克火箭系统,他们的频率是一样多的,但人为的来看这三个词的重要性并不一样,可区分新闻类别的区分度也不一样,所以我们要进一步的筛选出更重要的关键词,这时我们需要对其逆文档频率(IDF)进行计算,其计算方法如下:
从上面的式子我们可以得知,如果一个词在其他新闻中出现的次数很少,但是在该篇文章中却大量出现,则我们就认为这个词具有很强的区分度,可以做我们的关键词。
最终我们将上面所求得的每个词的频率(TF)和逆文档频率相乘后,按照降序排列并取出其TF-IDF值大于0.2的名词作为该新闻的关键词。
2.2 利用LibSVM实现新闻的分类
LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包;该软件有一个特点,就是对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数就可以解决很多问题;并且提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM分类、V-SVM分类等问题,包括基于一对一算法的多类模式识别问题。
我们把利用TF-IDF所收集的两个新闻类别的关键词作为分类的属性。我们规定-1表示表示军事新闻,1表示教育新闻。比如现在有100条军事类的新闻,我们选取其中的80条作为训练新闻集,剩下的20条作为测试的新闻集。我们将每一条新闻进行分词操作,保存其词的词性,并在属性词集中查找是否存在改词,如果分析出的词出现在属性词集中,则将该属性标为1,否则记为0。利用这种方法将训练集合中的新闻转化为LibSVM所需要的数据格式,接着使用LibSVM对其进行训练获得相应的模型。最后将测试的新闻集合也按照上述分词处理,转化成LibSVM所需要的数据格式,将其与得出的模型进行对比分析,得出预测结果。
2.3 基于协同过滤算法的推荐
协同过滤简单说就是用兴趣相投、有着共同特征的群体的喜好来推荐给用户其可能感兴趣的信息。其一般分为两类:基于用户的协同过滤和基于物品的协同过滤算法。就本系统而言,主要采用了基于用户的协同过滤算法,即将和该用户兴趣或者某些特别重要特征相同或者相似的用户再或者该与该用户喜欢的物品相似的其他物品经过某种计算,取出相似度较高的若干部分给该用户。其步骤大致如下:
2.3.1 找到兴趣相似的用户
2.3.2 推荐新闻
其中rvi代表用户v对关键词i的感兴趣程度,由于本系统中不同用户对每个新闻的关键词衡量标准不同,故在本系统中设置所有关键词权重都为1,在后续的不断开发中,可设置不用关键词的权重。
最后对计算出的关键词的感兴趣程度进行排序,再从数据库中取出包含这些关键词的新闻推荐给待推荐的用户。
3 实验结果及分析
3.1 实验方法
对与文本自动分类测试,本文测试的数据来自于复旦大学李荣陆用于文本分类研究所使用的语料库,下载网址为:http://www.nlpir.org/download/tc-corpus-answer.rar。该训练集共9804篇文档,分为20个类别。训练语料和测试语料基本按照1︰1来划分的。本文提取了其中军事类和教育类的新闻,共137条新闻。每个分类各取10条新闻作为测试数据,剩下的作为训练数据。对系统自动分类的准确率进行统计,可得出准确率受到关键词条件(即TF-IDF的取值和是否自取名词)的影响。
3.2 实验结果
经过测试,可知当关键词获取条件为只取TF-IDF> 0.25的名词时,其准确率最高,准确率高达85%。虽然随着TF-IDF的数值继续增加,其准确率却没有出现明显的下降,但是由于会出现关键词较少等情况不宜采纳。具体实验数据如图3所示。
4 结 论
本文对新闻自动分类和推荐的设计与实现,本系统通过Ansj分词工具对新闻内容进行预处理,过滤关键词和去停用词;利用TF-IDF技术和筛选名词的方法提取关键词,并将关键词集合作为新闻分类的依据;利用LibSVM将训练集合进行训练得出模型;利用该模型来分析判断该新闻所属的类别;通过基于物品的协同过滤算法计算出用户的相似度,并向用户推荐其感兴趣的新闻。通过实验表明,本文提出的新闻自动分类和推荐系统能够满足新闻用户的需求,提高了新闻观看者的效率,体现了新闻系统的个性化。笔者下一步即对协同过滤算法性能进行研究,以提高推荐的正确率。
参考文献:
[1] 马鹏飞.一种个性化新闻推荐系统的设计与实现 [D].北京:北京邮电大学,2016.
[2] 姜天策.基于用户兴趣的新闻个性化推荐系统的设计与实现 [D].长春:吉林大学,2009.
[3] 万小强.短信自动分类系统的研究与实现 [D].上海:东华大学,2017.
[4] 刘佳.基于互信息特征选择算法的文本自动分类研究 [D].淮南:安徽理工大学,2015.
[5] 闫超.基于SVM的中文文本自动分类系统的研究与实现 [D].太原:太原理工大学2010.
[6] 于黎冰.从“今日头条”看个性化新闻推荐系统的优劣 [J].传媒,2016(19):44-45.
[7] 张敏.个性化新闻推荐系统的设计与实现 [D].北京:北京交通大学,2017.
[8] 彭菲菲.钱旭.基于用户关注度的个性化新闻推荐系统 [J].计算机应用研究,2012,29(3):1005-1007.
[9] 熊李媛.个性化新闻推荐系统的研究与设计 [D].重庆:重庆理工大学,2017.
[10] 刘金亮.基于主题模型的个性化新闻推荐系统的研究与实现 [D].北京:北京邮电大学,2013.
[11] 王平.基于协同过滤算法的新闻的个性化推送系统的设计与实现 [D].长沙:湖南大学,2016.
[12] 马鹏飞.一种个性化新闻推荐系统的设计与实现 [D].北京:北京邮电大学.2016.
[13] 姜天策.基于用户兴趣的新闻个性化推荐系统的设计与实现 [D].长春:吉林大学,2009.
作者简介:管涛涛(1995-),男,安徽合肥人,学士。研究方向:智能教育技术、计算机软件;宋万里(1981-),男,辽宁法库人,副教授。研究方向:智能教育技术、数据挖掘。