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