一种基于WebMagic和Mahout的信息搜集与推荐系统.docVIP

一种基于WebMagic和Mahout的信息搜集与推荐系统.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于WebMagic和Mahout的信息搜集与推荐系统.doc

一种基于WebMagic和Mahout的信息搜集与推荐系统   摘要:提出一种基于Java爬虫框架WebMagic和Mahout推荐引擎的信息搜集与推荐系统。首先利用WebMagic框架从多个信息源获取需要的数据,然后使用Jieba分词工具和余弦定理进行文本相似度判定,从而对数据进行处理,最后使用Mahout推荐引擎为用户推荐可能感兴趣的信息。   关键词:爬虫框架;余弦定理;推荐引擎 ;WebMagic;Mahout   DOIDOI:10.11907/rjdk.161848   中图分类号:TP303   文献标识码:A文章编号2016)010000103   0引言   学生常通过学校的就业信息网或有哪些信誉好的足球投注网站引擎获取招聘信息,但这些信息一般只包含宣讲时间、宣讲地点、用人单位简介、招聘职位和联系方式等内容,每天都需花费大量时间关注招聘信息,还需要筛选出与自己专业匹配并符合自己期望的岗位。   随着信息获取和数据分析技术的快速发展,已经出现很多基于各种语言的爬虫框架,典型的如基于Python的Scrapy[1]和基于Java的WebMagic[2]、Hadoop和Spark[3]大数据分析框架以及推荐引擎Mahout[4]。   本文提出一种解决方案,通过Java爬虫框架WebMagic从多数据源获取信息,在使用向量相似度发现同义词并进行数据处理后,采用Mahout推荐引擎为用户推荐可能感兴趣的信息。   1数据搜集工具――WebMagic   WebMagic是基于Java语言的开源爬虫框架[5],覆盖了典型爬虫的几大功能:页面下载、链接提取、URL管理和内容分析与持久化。   1.1WebMagic总体架构   WebMagic由Downloader、PageProcessor、Scheduler和Pipeline四个部分组成,总体架构如图1所示。   (1)Downloader组件使用Apache HttpClient下载页面以便后续处理。   (2)PageProcessor组件提供了基于XPath和Css的选择器,解析网页并获取有用信息,还可以获取新的链接。   (3)Scheduler组件负责待抓取URL的管理和去重工作,开发人员可选择使用基于JDK的内存队列来管理URL,还可使用Redis进行分布式管理。   (4)Pipeline组件负责对解析结果进行自定义处理,将处理结果持久化到文件或数据库。   1.2WebMagic使用方法   使用WebMagic框架首先需要在Java工程添加webmagic-core和webmagic-extension的Maven依赖[6]。Spider或其子类OOSpider是爬虫启动的入口,可以通过定义一个PageProcessor子类,调用该对象的run函数启动爬虫程序,示例代码如下:   OOSpider.create(testProcessor.getSite()).addPageModel(testPipeline,TestModel.class).addUrl(HOME_PAGE).run()   Site类可以用来配置待爬取站点的编码、Http头、超时时间、重试策略、代理等信息。   开发者可通过定义AfterExtractor的子类来创建Model,在Model的afterProcess函数中,可以用XPath或Css的方式解析网页里的有用信息,将其放到自定义Bean或List对象中,便于Model对应的Pipeline将其持久化至文件或数据库中。   如果待爬取页面的数据内容来自Ajax请求,按照WebMagic传统方式不能获取有效信息,需要借助于浏览器或网络抓包工具,例如Wireshark找到获取数据的http请求,一般这些请求对应的响应包含了Json或Xml。WebMagic提供了诸如JsonPathSelector工具类来获取Ajax请求的响应数据。   2文本相似度判定   WebMagic通常从多数据源(例如多个网站)爬取数据。在获取数据后,还需要对数据进行清洗、清除冗余记录、获取同义词并对同义词进行替换。判断文本的相似度对于数据清洗工作来说尤为重要,主要采用Jieba分词工具和余弦定理进行文本相似度判定。   2.1Jieba分词工具   Jieba分词是Python语言的中文分词工具,支持3种分词模式:①精确模式,将句子精确分开,适合文本分析;②全模式,把句子所有成词的词语都扫描出来,但是不能解决歧义;③有哪些信誉好的足球投注网站引擎模式,对长词进行切分,提高召回率。   解决方案采用Java技术,选用Jieba分词的Java版本Jieba-analysis。例如“招聘工商管理和通信工程专业

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档