垃圾短文本识别方法研究外文翻译资料

 2022-10-29 21:30:20

英语原文共 415 页,剩余内容已隐藏,支付完成后下载完整资料



目 录

11以聚类作为生产 2

11.1使用Hadoop集群快速入门教程 2

11.1.1运行在本地的Hadoop集群 2

11.1.2设定Hadoop配置 3

11.2调整聚类性能 4

11.2.1避免计算密集型操作中的性能缺陷 5

11.2.2避免I/O密集型操作中的性能缺陷 6

11.3批量在线聚类 7

11.3.1案例研究:网络新闻聚类 8

11.3.2案例研究:维基百科文章聚类 8

11.4总结 10

12聚类的现实应用 10

12.1在推特上寻找相似用户 10

12.1.1数据预处理和特征加权 10

12.1.2在特征选择时避免常见的错误 12

12.2 Last.fm上艺术家的提示标签 15

12.2.1基于共生的提示标签 15

12.2.2为Last.fm的艺术家创建字典 16

12.2.3以音乐家作为特征向量将Last.fm标签转化为向量 18

12.2.4基于Last.fm的数据运行K均值算法 20

12.3分析Stack Overflow的数据集 21

12.3.1解析Stack Overflow数据集 22

12.3.2发现Stack Overflow中的聚类问题 22

12.4总结 23

11以聚类作为生产

11.1使用Hadoop集群快速入门教程

我们先看看Hadoop框架的一部分。

Hadoop集群中包含两类节点,并以管理者-工作者模式运行,即一个NameNode(管理者)和多个DataNode,其中NameNode主要负责管理HDFS文件系统,NameNode主要管理包含文件、文件位置以及这些文件所在的DataNode内的所有数据块的内存映射。NameNode也同步于Hadoop分布式文件系统(HDFS)。另一类节点称为JobTracker,它负责管理MapReduce的所有工作,并管理在集群中执行Mapper类和Reducer类节点。在每一个节点上,另一种进程叫做TaskTracker,负责管理从JobTracker处发给Mapper类和Reducer类的执行请求。

Hadoop做这一切都是无缝连接,没有任何用户干预。在单节点集群中,Namenode、JobTracker、DataNode和TaskTracker运行在同一系统中作为独立的进程彼此交互。

Mahout所设计的Hadoop版本目前是0.21(它与其他最近的版本兼容)。

11.1.1运行在本地的Hadoop集群

你将会在http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html上找到一个简短的关于基于伪分布模式的本地Hadoop集群安装说明书。你需要为本章的例子设置本地集群。

Hadoop binary位于bin文件夹下,查看HDFS的内容,执行此命令:

bin/hadoop dfs –ls /

将列出文件系统根目录中的所有文件。

当集群第一次启动时,你的主目录可能不存在于HDFS中,因此你应该创建一个/user/lt;your UNIX user namegt; 文件夹:

bin/hadoop dfs –mkdir /user/lt;your UNIX usernamegt;

主目录也可以用如下方法列出:

bin/hadoop dfs –ls

在伪分布式集群上对路透社数据进行聚类之前,准备好包含路透社当地文本数据的SequenceFile文件,将其粘贴到HDFS中:

bin/hadoop dfs –put lt;path-togt;/reuters-seqfiles reuters-seqfiles

使用SequenceFile文件作为输入,你将在集群上运行基于词典的向量表示方法,然后运行K均值聚类算法。

Hadoop MapReduce的工作需要使用Hadoop jar命令执行。Mahout将所有实例类文件和依赖关系放入一个JAR文件中,它在examples/target/mahout-examples-0.4-SNAPSHOT.job 目录之下。在本地Hadoop集群上运行向量字典,利用路透社SequenceFile文件作为输入,只需执行Hadoop的JAR指令如下:

bin/hadoop jar mahout-examples-0.5-job.jar

org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles

-ow -i reuters-seqfiles -o reuters-vectors

运行成功,完成执行本地Hadoop集群聚类。如果默认使用Hadoop的配置且系统有至少两个处理器内核,两映射将并行执行,每一个在一个内核中运行,这可以在JobTracker的仪表板中看到,如图11.1所示。

图11.1截图显示一个典型的Hadoop MapReduce JobTracker页,您可以通过http://localhost:50030查看您的本地Hadoop集群。

11.1.2设定Hadoop配置

如果你的计算机有两个内核,那么执行聚类将是两倍速度。如果有更多可使用内核,那么可以修改Hadoop的配置文件中mapper和reducer,设定更高值来提高计算的整体速度。在Hadoop管理安装的mapred-site.xml文件中,需要基于计算机内核数对mapred.map.tasks和mapred.reduce.tasks属性设定合适的值。

随着内核的增多,并行数量增加,处理时间减少。当并行任务的数量达到单个节点的峰值时,增加任务数将严重影响执行速度。唯一增大规模的方法是拥有多个相同配置的节点——完全分布式Hadoop集群。

提示:你可以在http://hadoop.apache.org/common/docs/r0.20.2/cluster_setup.html上找到一个分布式Hadoop集群设置教程,在Hadoop 0.20.2以及之后的版本中,配置被拆分为三个文件夹,放置于conf文件夹中:core-site.xml、hdfs-site.xml和mapred-site.xml。默认的配置值设置在core-default.xml、hdfs-default.xml和mapred-default.xml中。默认文件中的参数可以在* -site.xml文件下重写。调整MapReduce参数常需要编辑mapred-site.xml文件。

在分布式Hadoop集群执行聚类代码与在单节点集群执行基本相同。通过bin/hadoop 脚本启动任务,唯一的区别是脚本,当运行时,需要通过hadoop_conf_dir环境变量访问正确的集群配置文件。

通过Mahout Launcher在Hadoop集群上执行任务

Mahout也提供一个bin/mahout script(与Hadoop launcher脚本相似)来启动聚类任务,我们在以前的章节中广泛使用它作为一个单一的过程工作。通过设置hadoop_home和hadoop_conf_dir的环境变量,相同的脚本可以用来在Hadoop集群上启动任何的Mahout算法。该脚本会自动读取Hadoop集群配置文件并在集群上启动Mahout任务。典型的输出如下:

export HADOOP_HOME=~/hadoop/

export HADOOP_CONF_DIR=$HADOOP_HOME/conf

bin/mahout kmeans –h

running on hadoop, using HADOOP_HOME=/Users/username/hadoop and

HADOOP_CONF_DIR=/Users/username/hadoop/conf

...

Mahout启动脚本通过正确的集群配置文件内部调用Hadoop启动脚本。在Mahout中,对于调用任何本地算法或者在分布式Hadoop集群上,启动脚本都是最简单的方法。

恭喜你,你已经成功的运行了一个聚类任务。如果你感兴趣,你可以花一些时间试验各种参数来调整聚类质量.。接下来,我们将看看如何通过调整这个设置来实现更高的吞吐量和性能。

11.2调整聚类性能

聚类算法被设计为并行运行,虽然算法不同,但是他们在一方面是相似的:他们从SequenceFile中读写是并行的。聚类算法的许多操作都是计算密集型的,这意味着对于许多操作例如向量的矢量与非矢量化、距离的计算等等问题来说,CPU都是保持充分使用。而有一些操作是I/O密集型的,例如通过网络传送中心到每个Reducer。为了提高聚类性能,你需要学会解决这类性能瓶颈的方法,你将看到基于不同类型输入会产生多少参数占用CPU、硬盘或网络瓶颈。

K均值聚类算法如下图11.3所示,模糊K均值算法、Dirichlet和LDA等其他聚类算法与K均值聚类算法结构相似,并且K均值算法的优化对他们均适用。

图11.3 K均值聚类迭代运行示意图

聚类性能是输入数据

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[137546],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。