Spark大数据分析实战【1.7】

张开发
2026/4/19 15:40:18 15 分钟阅读

分享文章

Spark大数据分析实战【1.7】
10.4 案例:Newsgroups新闻的主题分析本节当中,我们将以Newsgroups的新闻数据作为示例,讲解如何对新闻数据进行主题分析。10.5 本章小结本章介绍了主题模型的基本概念、原理和常见的求解方法,并且给出了Spark中与主题模型相关的类型和函数。同时给出了Spark求解LDA模型的示例,以及基于Newsgroup真实新闻数据集的主题聚类和分类算法案例。第11章 构建分布式的搜索引擎搜索引擎是互联网时代最重要的应用之一。几乎每天都要使用搜索引擎从海量的互联网当中查找自己需要的网页。搜索引擎是一项非常复杂的技术,其中包含很多机器学习的知识。在本章中,将使用Spark来实现搜索引擎的搜索结果排序算法,包括如何计算网页的PageRank值和实现基于Ranking SVM的查询相关排序算法。除了需要用到MLlib之外,将介绍另一个重要的库GraphX。11.1 搜索引擎简介搜索引擎,通常指的是收集了互联网上海量的网页并对网页中的关键词进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过搜索引擎的排序算法进行排序后,这些结果网页将按照其重要性和与搜索关键词的相关性,依次排列。标准的搜索引擎通常可以分为4大系统,如图11-1所示:下载系统、分析系统、索引系统和查询系统。下载系统也通常被称为网络爬虫(Web Crawler),搜索引擎通过下载系统在互联网上发现新网页并抓取网页文件。下载系统从已知的网址入口出发,访问这些网址并且抓取网页文件。同时,搜索引擎通过爬虫跟踪网页中的链接,在不同的网站之间跳转,从而发现并且获取更多的网页。分析系统的主要功能包括对抓取网页进行分解,定位网页标题和正文,进行中文分词和去除重复网页等。被分析系统处理过的网页将通过索引系统保存在索引库当中。索引系统存储并索引了数以亿计经过了分析处理的网页。根据用户提供的检索关键词,高性能的索引系统能够在秒级时间内提供包含检索关键词的网页结果。查询系统能够对用户提交的搜索关键词进行快速处理,如中文特有的分词处理,去除停止词,判断是否需要启动整合搜索,判断是否有拼写错误或错别字等情况。同时,查询系统需要对索引系统返回的包含查询关键词的结果网页进行排序,将最相关、最可靠的信息返回给用户。11.2 搜索排序概述排序是众多信息检索系统中的一个核心问题,如文档检索、协同过滤、关键词提取、命名实体识别、电子邮件路由、情感分析、产品评价和反垃圾等。所谓搜索排序,就是对搜索关键词的索引结果按照其重要性和搜索相关度进行排序。一个常见的搜索排序问题如图11-2所示。当用户输入查询词“Spark数据分析案例”,搜索引擎首先将查询词做中文分词处理,得到关键词“Spark”“数据”“分析”“案例”。然后搜索引擎通过关键词索引找到包含这些关键词的网页P={page1,page2,…,pagen},并通过排序算法按照网页的重要性和查询相关性将网页的排序结果pager1pager2… pagern返回给用户,尽量将满足用户真实需求的网页排在搜索结果的前面。通常按照排序模型之间是否有查询关系,将排序模型分为两类:查询相关的排序模型和查询无关的排序模型。查询无关的排序模型,是指依照文档的重要程度对文档进行排序,而与具体的查询无关,如PageRank模型,HITS模型,TrustRank模型等。而查询相关的排序模型,是指相对一个查询,按照与查询的相关程度,对文档进行排序,已经提出的模型有布尔模型(Boolean Model)、向量空间模型(Vector Space Model)、Okapi BM25模型等。11.3 查询无关模型PageRankPageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术。而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。Google的创始人拉里·佩奇和谢尔盖·布林于1998年在斯坦福大学发明了这项技术。PageRank模型依靠如下3个指标评价网页的重要性。1)认可度越高的网页越重要,即反向链接(Backlink)越多的网页越重要。2)反向链接的源网页质量越高,被这些高质量网页的链接指向的网页越重要。3)链接数越少的网页越重要。PageRank采用如下公式计算:

更多文章