scrapy+spark32知识库系统打造基于scrapy的知识库本系列

优采云 发布时间: 2021-04-30 22:35

  scrapy+spark32知识库系统打造基于scrapy的知识库本系列

  关键词自动采集生成内容系统scrapy同时支持scrapy+spark构建知识库(zhihu。com):作者|刘大雨,id:mr_ronghuai知乎专栏|::本文未经作者允许不得转载合作联系邮箱|mr_ronghuai@126。com;开源项目地址(私人):scrapy1。2。0-py32知识库系统打造基于scrapy的知识库本系列将围绕五个问题展开:。

  1、问题的全概述;

  2、知识库的开发方法;

  3、知识库技术点剖析;

  4、知识库用例设计;

  5、难点问题展开解答。工欲善其事,必先利其器,这是本文构建知识库的工具。目前公司内的开发工具暂用scrapy,该工具非常好用,还没有遇到什么问题,所以接下来我们用scrapy+spark构建知识库,后续的图片中会提到spark+spark。什么是知识库知识库是从头开始构建一个知识库,以一个问题或例子作为开始。

  从头开始构建,也就是首先根据知识库构建原始知识库,根据构建知识库方法论的不同,可分为三类:spark构建知识库:利用spark+sparkstreaming或者sparkcn,由于sparkcontext的缓存操作,通常大量数据采用部分传统方法构建知识库,如pillow或imposed。spark构建知识库:利用spark+sparkstreaming或者sparkcn,这一类的优势在于spark一定程度上能够减少构建知识库的负担,使用spark时,速度可能比sparkstreaming更快;它们的缺点在于复杂知识、要求与知识库具有实时交互,否则速度会很慢。

  dataframe构建知识库:通常采用dataframe来开始构建知识库,当前我们的知识库是用的dataframe+spark自动采集工具采集到的文章与问题,以及文章、问题与知识库交互方式如:通过搜索框直接调用spark的搜索,但是与自动采集不同的是,由于在spark构建过程中会有大量网页,但这些网页无法标注出来,所以直接调用spark采集网页本身没有问题,但是如果调用sparkctl,则需要通过sparkcpu_cache、sparkcpu、master连接spark的方式来采集,开发过程会非常不方便,而且spark采集的网页资源是用python自带的rdd框架封装后进行读取的,本质上和shell命令行相似,用户的体验不如dataframe+spark自动采集方便。

  dataframe构建知识库spark构建知识库:构建知识库步骤如下:

  1、从知识库mining中读取网页数据,

  2、根据解析结果生成知识库节点;

  3、根据知识库节点生成知识库的分区列表;

  4、根据知识库节点构建分区列表。第一步,如果知识库中引入sparkcontext,使用pyspark来分析;如果没有引入sparkcontext,使用sparkcontext来读取网页数据。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线