在文本聚类之前,首先要做的是文本的向量化。该过程涉及到分词,特征抽取,权重计算等等。Mahout 提供了文本向量化工具。由于Mahout 向量化算法要处理的文件是Hadoop SequenceFile ,需要将普通的文本文件转成SequenceFile格式,然后在向量化。

一、序列化

API

SequenceFilesFromDirectory.main(args);

--input (-i)

文件存放路径

-output (-o)

输出文件路径

--overwrite (-ow)

是否清空输出目录

--charset (-c)

默认UTF-8

示例

String   [] arg ={"-i","forclusters","-o","se","-ow"};

SequenceFilesFromDirectory.main(arg);

二、向量化

API

SparseVectorsFromSequenceFiles.main(args);

--minSupport (-s)

词的最小支持度

--analyzerName (-a)

Lucene分词器类权限命名

--chunkSize (-chunk)

块大小

--output (-o)

输出目录

--input (-i)

输入目录

--minDF (-md)

文档的最小DF值

--maxDFPercent (-x)

最大DF频率

--weight (-wt)

权重,TFIDF,或TF

--minLLR (-ml) (Optional)

最小log-Likelihood

--numReducers (-nr)

reduce个数

--maxNGramSize (-ng)

最大n-gram数

--overwrite (-ow)

是否覆盖outPut下的文件

--sequentialAccessVector(-seq)        (Optional)

是否输出为sequentialAccessVector

--namedVector(-nv)                (Optional)

是否输出为namedVector

--logNormalize(-lnorm)                (Optional)

输出结果向量取log

--stopWordsFile (-sw)

停用词词典文件路径

示例   

String  [] args ={"-i",”/seq”,

"-o",”/vec”

"-a","org.apache.lucene.analysis.cn.smart

.SmartChineseAnalyzer",

"-md",4),

"-ow","-ng",4),

"-wt",”TFIDF”,

"-nr",4),

"-sw",”/stopwprds.txt”

};

SparseVectorsFromSequenceFiles.main(args);

输出结果

名称

Key类型

Value类型

说明

tokenized-documents

文档名(org.apache.hadoop.io.Text)

词数组(org.apache.mahout.

common.StringTuple)

分词后的的文本,每条记录代表一篇文档

dictionary.file-0

单词(org.apache.hadoop.io.Text)

单词id (org.apache.hadoop.

io.IntWritable)

文本集的特征词词典

wordcount

单词(org.apache.hadoop.io.Text)

词频

(org.apache.hadoop.

io.LongWritable)

特征词词频统计

tf-vectors

文档名(org.apache.hadoop.io.Text)

文档的tf向量(org.apache.mahout.

math.VectorWritable)

每篇文档的Tf向量

df-count

单词id (org.apache.hadoop.io.IntWritable)

单词的文档频率(org.apache.

hadoop.io.LongWritable)

每个单词的文档频率,即包含这个单词的文档个数

frequency.file-0

单词id (org.apache.hadoop.io.IntWritable)

单词的文档频率(org.apache.

hadoop.io.LongWritable)

仍是文档频率,只是对df-count中的文件进行分块

tfidf-vectors

文档名(org.apache.hadoop.io.Text)

文档的tfidf向量(org.apache.mahout.math.VectorWritable)

每篇文档的Tfidf向量

最新文章

  1. c# 枚举
  2. 由Memcached升级到 Couchbase的 Java 客户端的过程记录(三)
  3. ActionListener的三种实现方法
  4. cocos2dx-2.2.1 免 Cygwin 环境搭建(Win8+VS2013+ADT Bundle+android-ndk-r9c)
  5. python\c交互学习网站手机
  6. Java技术的特点
  7. 第一章 响应式设计之Media Quer
  8. [转载]ASP.NET MVC 3的分部视图
  9. linux 性能分析常规逻辑和手段总结
  10. 图灵API
  11. R语言学习笔记(数据的读取与保存)
  12. 一旦配置oracle em经验
  13. 动态规划之一ones
  14. JAVA_SE基础——10.变量的作用域
  15. UVAlive-2554 Snakes & Ladders---BFS状态的存储
  16. openstack第一章:keystone
  17. 网站发布出现“未能找到路径“path\bin\roslyn\csc.exe”....“和拒绝访问的解决办法
  18. 命令框下上传到gitee
  19. Yoink Mac版(临时文件存储助手)中文版
  20. CentOS自带定时任务crontab

热门文章

  1. DuKBitmapImages 图片压缩处理技术
  2. 在 Mac OS X 10.10 安装 pyenv 的一个小坑
  3. Git运用基础之如何删除Github上不想要的项目
  4. x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)
  5. Dynamics CRM2016 业务流程之Task Flow(一)
  6. SSH框架实现仿淘宝购物demo
  7. 指令汇B新闻客户端开发(五) ShareSdk的使用
  8. Android View框架总结(四)View布局流程之Measure
  9. EBS HRMS数据表
  10. Android 自定义View-android学习之旅(十四)