在文本聚类之前,首先要做的是文本的向量化。该过程涉及到分词,特征抽取,权重计算等等。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向量

Mahout文本向量化的更多相关文章

  1. 自然语言处理--中文文本向量化counterVectorizer()

    1.载入文档 #!/usr/bin/python # -*- coding: utf-8 -*- import pandas as pd import re import jieba from skl ...

  2. 文本向量化及词袋模型 - NLP学习(3-1)

    分词(Tokenization) - NLP学习(1) N-grams模型.停顿词(stopwords)和标准化处理 - NLP学习(2)   之前我们都了解了如何对文本进行处理:(1)如用NLTK文 ...

  3. NLP 第7章 文本向量化

  4. 基于sklearn进行文本向量化

    sklearn中,计数向量化用CountVectorizer,tfidf向量化用TfidfVectorizer: import pickle from sklearn.feature_extracti ...

  5. Mahout canopy聚类

    Canopy 聚类 一.Canopy算法流程 Canopy 算法,流程简单,容易实现,一下是算法 (1)设样本集合为S,确定两个阈值t1和t2,且t1>t2. (2)任取一个样本点p,作为一个C ...

  6. Mahout 系列之--canopy 算法

    Canopy 算法,流程简单,容易实现,一下是算法 (1)设样本集合为S,确定两个阈值t1和t2,且t1>t2. (2)任取一个样本点p属于S,作为一个Canopy,记为C,从S中移除p. (3 ...

  7. 基于KNN的newsgroup 18828文本分类器的Python实现

    还是同前一篇作为学习入门. 1. KNN算法描述: step1: 文本向量化表示,计算特征词的TF-IDF值 step2: 新文本到达后,根据特征词确定文本的向量 step3 : 在训练文本集中选出与 ...

  8. LSTM实现中文文本情感分析

    1. 背景介绍 文本情感分析是在文本分析领域的典型任务,实用价值很高.本模型是第一个上手实现的深度学习模型,目的是对深度学习做一个初步的了解,并入门深度学习在文本分析领域的应用.在进行模型的上手实现之 ...

  9. 4. 文本相似度计算-CNN-DSSM算法

    1. 文本相似度计算-文本向量化 2. 文本相似度计算-距离的度量 3. 文本相似度计算-DSSM算法 4. 文本相似度计算-CNN-DSSM算法 1. 前言 之前介绍了DSSM算法,它主要是用了DN ...

随机推荐

  1. OpenCV RGB2LAB执行效率测试

    代码 #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #define ERR ...

  2. SQL Server AlwaysON从入门到进阶(1)——何为AlwaysON?

    本文属于SQL Server AlwaysON从入门到进阶系列文章 本文原文出自Stairway to AlwaysOn系列文章.根据工作需要在学习过程中顺带翻译以供参考.系列文章包含: SQL Se ...

  3. Java集合框架总结

    java集合框架主要分为实现了Collection接口的List和Set.映射接口Map. |-- List 有序,元素都有索引,可重复. |-- Set 无序,不可以存储重复的元素. |-- Map ...

  4. Linux中的高级文本处理命令,cut命令,sed命令,awk命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields    ## 用于有特定分隔字符 [r ...

  5. 一起聊聊什么是P问题、NP问题、NPC问题

    概念 P问题:如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题.通常NOI和NOIP不属于P类问题,我们常见到的一些信息奥赛的题目都是P问题. NP问题:可以在多项式的 ...

  6. Python 3.3.3 使用requests模拟登录网站

    在模拟登录上,requests确实比python标准库中的相关模块更加简洁. 假设你需要去爬一组页面(targetUrls),而这些页面要登录才能进行访问.那么requests能够提供一种相当简单的语 ...

  7. Apache shiro集群实现 (一) shiro入门介绍

    近期在ITOO项目中研究使用Apache shiro集群中要解决的两个问题,一个是Session的共享问题,一个是授权信息的cache共享问题,官网上给的例子是Ehcache的实现,在配置说明上不算很 ...

  8. wget 常用参数释义

    wget 大法好啊,废话不多说,下面开始wget之旅吧. 下载限速 wget命令有一个内建的选项可以先顶下载任务占有的最大的带宽,从而保证其他应用程序的流畅运行. 具体使用--limit-rate 数 ...

  9. android listview 使用

    今天在做项目的时候用了自定义listview以及自定义的item.adapter.现在把其中需要注意的地方记录下来: 1.item内如果有button等控件时,在监听listview的onitemcl ...

  10. GDB调试工具入门

    从windows转到linux下已经有一段时间了,每次刷算法题碰到问题需要调试的时候,就分分钟想关机,切换到windows上调试.于是,花了一点时间来搜索一下linux下常见的调试工具,这不搜不知道, ...