网页内容分析系统的设计与实现

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;
 构造两段文本的特征向量;
 求出两个向量的单位向量,计算特征向量单位
向量的余弦相似度。