本发明涉及一种基于网络捐赠众筹信息推荐系统方法,本文采用了数据挖掘、自然语言处理以及推荐系统的方法相结合。
背景技术:
随着互联网的发展,互联网数据特征日益凸显,其数据量增长异常迅猛,数据类型多样、数据质量良莠不齐并且关联关系复杂。同时,互联网大数据另外一个突出的特点就是其价值密度低,大数据中包含了大量重复、噪声和垃圾数据,存在大量共现但又毫无意义的关联模式。数据庞大的规模、复杂的关联关系,使得传统的文本分析和挖掘技术在计算的时空复杂度上激增;另外,迅猛的数据增长速率、巨大的数据体量也使得传统的全量计算模式不再适用。互联网大数据复杂的内在特征使得信息提取变得十分困难。当今推荐系统主要根据用户的相似特征以及浏览数据等情况为用户推荐感兴趣的内容。而众筹信息的种类比较多,且推荐范围比较广,对于用户没有一个相似特征或浏览记录,用户出现冷启动要进行精准的信息推送是当前比较困难的问题。
技术实现要素:
本发明的目的在于解决捐赠项目的冷启动问题以及对现在推荐结果效果不好,提供了一种基于文本挖掘的捐赠信息推荐方法,达到了为用户推荐捐赠或者众筹项目信息的目的;本方案通过爬虫获取明星用户的数据,通过对数据进行预处理得到规范的文本;然后构建意向捐赠众筹数据关联;最后通过协同过滤算法进行推荐。
本发明的技术方案是:为解决上述的问题,本发明采用协同过滤算法思想,找用户的相似特征以及捐赠记录等数据,首先是通过爬虫获取用户的数据,然后采用文本挖掘技术挖掘意向捐赠众筹的数据,并且进行关联。通过自然语言处理的方法构建知识库进行知识的检索与推理;最后根据协同过滤算法计算相似度,实现捐赠众筹信息的推荐。
一种面向捐赠众筹领域的推荐方法,包含以下以下步骤:步骤1:通过网络爬虫,获取数据源,并进行本地存储;步骤2:对获取的数据进行数据预处理,形成规范数据;步骤3:用户意向捐赠众筹数据关联:通过自然语言的方法构建一个捐赠众筹知识库;基于实体的信息抽取技术对用户文本内容进行信息提取;其次,将提取的用户信息和公益信息关联关系存储到知识库中;最后,在知识库上进行知识检索和推理完成两种捐赠意向关联关系的分析;步骤4:基于知识库,构建用户捐赠众筹的推荐方法:根据建立的捐赠众筹关联关系,运用协同过滤算法计算有意向捐赠者之间的意向捐赠程度,建立意向捐赠程度矩阵
所述的步骤1中获得的数据源为用户的公益信息,所述的公益信息包含公益名称、捐赠众筹情况、公益地点、合作机构和评论。
所述的步骤2中的数据预处理为数据清洗、去冗余、去噪、过滤操作,获得规范化的文本数据。
本发明的有益效果:基于文本挖掘的捐赠众筹的推荐方法,将项目分为四步:数据获取、数据清洗、候选捐赠众筹关联关系、构建推荐算法。最后通过有效的推荐,将捐赠众筹信息推荐给感兴趣的明星用户,会极大的提高推荐用户感兴趣的程度。
附图说明
图1为网络爬虫技术路线图;
图2为数据预处理图;
图3为捐赠众筹知识库构建图。
具体实施方式
本发明主要主要是通过文本挖掘及自然语言处理的方法对获取的数据进行处理,构建一个关系库,我们在关系库中进行检索和推理,最后通过协同过滤算法进行计算。
下面结合实施例或现有的技术方案对本发明作进一步说明:
实行本发明的方法,首先执行步骤1,进行数据源的获取,我们采用通过微博,公益网站等平台来获取数据;
获取的数据主要是动态数据,有更新的数据,如明星公益的信息,企业定期捐赠情况等;
通过pysider平台编写python语言去爬取数据,然后通过mongodb数据库进行存储。
获取数据之后,执行步骤2,对数据进行预处理,主要采用以下几种方法处理:
(1)数据清洗,通过填写缺失的值、噪声平滑、识别或删除离群点并解决不一致性来进行清洗数据;
(2)数据集成,将多个数据源中的数据结合起来并且统一存储,构建了一个数据仓库;
(3)数据转换,对其做数据光滑、数据聚集、数据泛化、数据规范化处理;
(4)数据规约,数据立方体聚集的方法进行数据规约,实现在接近或保持原始数据完整性的同时将数据集规模大大减小;
其次,执行步骤3,意向捐赠众筹数据关联;
对于获取的文本数据采用的方式是实体识别加关系抽取的方法;
主要是抽取并关联明星用户的公益事件,包括明星用户名字、公益类型、公益名称、公益地点、合作机构等;
针对于以上领域实体识别方法我们采用基于命名实体词典的方法;
基于命名词典的方法是采用字符串完全匹配或部分匹配的方式,在文本数据当中找到最相似的单词或短语来完成实体识别;
根据文本特点采用基于正向最大匹配的方法进行实体识别;
实践过程中,出现词典所不存在的命名实体识别,此时我们通过其他规则的方法进行识别;
最后我们识别到公益事件,名字、公益类型、公益名称、公益地点、合作机构等以上的实体。
本步骤将前面的实体间的语义关系进行抽取,最后得到我们捐赠众筹领域的关联关系;
如,古天乐、公益学校、古天乐慈善基金,以上是对古天乐所抽取的信息关系,古天乐是名字实体,公益学校是公益类型实体,古天乐慈善基金是公益机构实体,这三者就构建了我们捐赠的关联关系,即古天乐通过古天乐慈善基金捐赠公益学校;
捐赠众筹领域的实体关系比较清晰,简单;
通过基于规则的关系抽取方法,对我们之前获得的实体进行关系抽取;
制定抽取方法,如a表示姓名,b表示公益类型,c表示公益名称,d表示公益机构,制定以下几种关系;
a参加c,a属于d,a参加c属于b,等关系;
当文档句子实体上下文中出现以上的关系,就认定明星用户对于某一项公益活动存在关系,存在捐赠的意愿。
将关系存储到数据库当中,通过归纳推理的方法,对获取的关系进行推理。
最后执行步骤4,构建意向捐赠众筹的推荐方法;
本步骤主要通过步骤3所得到的捐赠众筹的关联关系,进行计算;
设明星用户集合u={u1,u2,...um},|u|=m和一个意向集合v={v1,v2,...vn},|v|=n,并且对于每一个vn意向都有一个三元组表示该位置点的属性信息:avi={vin,vix,...viy},其中vin表示意向的id标识,vix表示意向vi的关联程度。
每一个明星用户uj可以向每个意向发表评价信息,其中rij表示用户uj对捐赠意向vn发表自己的捐赠评价和愿望。协同过滤算法根据信息矩阵r及用户uj的历史评价信息和意愿为有意愿的捐赠用户推荐出当前的捐赠信息。具体计算公式如下:
其中的vp与vn表示的是用户与商品,这种存在的形式是以矩阵的方式作为存储,通俗意义上讲就是矩阵维度的限制量,另外这个公式的分子就是矩阵计算外加余弦函数计算的用户与用户之间的数量积,分母是模的计算,rvp与rvq,分别是两个用户的矩阵。通过以上公式,根据明星用户vp与明星用户vq的信息矩阵r及用户uj的历史评价信息和意愿等,计算出相似度值,根据余弦相似度取值范围[-1,1],取计算出最接近1的值的公益商品,作为该明星用户,最后将该公益项目为意愿的捐赠用户进行推荐。
1.一种面向捐赠众筹领域的推荐方法,其特征在于:包含以下以下步骤:步骤1:通过网络爬虫,获取数据源,并进行本地存储;步骤2:对获取的数据进行数据预处理,形成规范数据;步骤3:用户意向捐赠众筹数据关联:通过自然语言的方法构建一个捐赠众筹知识库;基于实体的信息抽取技术对用户文本内容进行信息提取;其次,将提取的用户信息和公益信息关联关系存储到知识库中;最后,在知识库上进行知识检索和推理完成两种捐赠意向关联关系的分析;步骤4:基于知识库,构建用户捐赠众筹的推荐方法:根据建立的捐赠众筹关联关系,运用协同过滤算法计算有意向捐赠者之间的意向捐赠程度,建立意向捐赠程度矩阵
2.根据权利要求1所述的一种面向捐赠众筹领域的推荐方法,其特征在于:所述的步骤1中获得的数据源为用户的公益信息,所述的公益信息包含公益名称、捐赠众筹情况、公益地点、合作机构和评论。
3.根据权利要求1所述的一种面向捐赠众筹领域的推荐方法,其特征在于:所述的步骤2中的数据预处理为数据清洗、去冗余、去噪、过滤操作,获得规范化的文本数据。
技术总结