网页内容分析系统的设计与实现
Download
Report
Transcript 网页内容分析系统的设计与实现
系统设计&实现
班允萌
5090379107
读李林涛学长论文《网页内容
分析系统的设计与实现》的第
五章:系统设计与实现
整体系统架构
系统实现分三个模块
页面抓取模块,用于获取网页HTML源文本;
正文抽取模块,用于从HTML源文本中抽取正文
文本;
相似度计算模块,用于计算正文文本之间的相
似度。
网页分析流程图
页面抓取模块
分布式
效率
由于其他模块依赖于此模块,所以要稳定和健
壮
针对不同应用,容易客户化
本系统使用Hadoop的Apache Nutch
页面抓取模块为上
层应用提供数据支持
完成网页抓取后数据库中
应存储的网页信息包括:
网页URL、网页上次修改
的时间、原始HTML文档
数据库实现---HBase
高可靠性
高性能
面向列
可伸缩/应用可拓展
分布式存储系统
廉价
实现
Nutch实现网页抓取
vs 编写Nutch插件
效率/编译,读代码 vs 可拓展性
使用自带的segmentReader
简单/效率低
修改Nutch源码
正文抽取模块
作用:去噪,留下与主题相关的文本内容
目前正文抽取算法很多
没有能对所有网页适用的
高度可拓展性,可以增加或者替换已有的算法
实现过程
编码的识别与转换
正文抽取
基于行块分布函数的通用网页正文抽取方法
相似度计算模块
相似度算法复杂
可拓展性
特定的应用上下文,不适于所有应用,视应用
情况而定
中文分词的实现
使用IKSegmenter类提供的方法实现中文分词
的使用接口
词语权重计算---TF-IDF权重
词频𝑡𝑓𝑗𝑘 = 𝑛𝑗𝑘 𝑁𝑗
出现频率越高的词越重要
𝑖𝑑𝑓𝑘 = log(𝑁 𝑛𝑘 )
𝑡𝑓𝑖𝑑𝑓𝑗𝑘 = 𝑡𝑓𝑗𝑘 × 𝑖𝑑𝑓𝑘
文本相似度计算
CosinSimilarityGenerator类提供
了余弦相似度计算的实现。它计
算文本相似度的步骤如下:
调用TextTokenizer的parse()方法对两段文本
分词;
调用WordWeightCalculator的calc()方法得
到每个词语的权重;
对于两段文本的Token数组,去掉text域重复
的Token;
构造两段文本的特征向量;
求出两个向量的单位向量,计算特征向量单位
向量的余弦相似度。