如何构建一个新闻搜索引擎

本文介绍了如何从零开始构建一个新闻搜索引擎,包括数据准备、使用BM25算法进行检索和Doc2Vec进行相似新闻推荐。项目以新浪新闻为例,爬取数据,构建倒排索引,利用BM25提高搜索效率,同时通过Doc2Vec实现语义相似度的新闻推荐。
摘要由CSDN通过智能技术生成

首先展示一下项目效果图: 

index

recommend

前言:

本项目会指导大家从零开始开始构建一个针对于新浪新闻的搜索引擎.首先我们明确一下我们的目标和所需要做的工作:

目标:

  • 构建一个搜索引擎 

所需工作:

  • 准备数据
  • 一个搜索引擎的查询算法
  • 一个为每个新闻的推荐其他相似新闻的算法

所以下面我会分这三个部分来介绍这个项目,目前这个项目已经开源.开源的地址:

https://github.com/lsq960124/News_Search_Engine 

欢迎star.

 

准备数据

       打造一个搜索引擎有一个很重要的基础,就是我们需要有满足搜索引擎的数据。我们的目标是打造一个新闻类的搜索引擎,所以我们需要得到新闻的数据。关于得到新闻的数据,我们基于下面的步骤:

  • 首先获取新浪新闻不同业务板块下的新闻页面的所有链接。
  • 循环上面所有的链接爬取其新闻的内容信息。

    以上面的步骤来看,首先我们需要一个新浪新闻链接的爬虫,来爬取新浪新闻对应新闻链接数据。作为一个新闻的搜索引擎,我们希望它不同与百度,新闻类的搜索引擎,应当可以按不同的新闻类别做一定的筛选,比如体育,财经...所以在我们爬取新闻的时候,还需要保存每个新闻对应的类别,也就是频道。

      从新浪新闻的主页可以看到新浪新闻以及帮我们做好了很多新闻类别的分类。得到这个信息后,我们可以以每一个类别对应的根目录作为起始,来爬取这个类别下的所有新闻。我们以体育类别为例子,其根目录为:http://sports.sina.com.cn/。而每个关于体育类别新闻的URL都是类似下面的组成:http://sports.sina.com.cn/china/natio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值