zoukankan      html  css  js  c++  java
  • Mahout文本向量化

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

  • 相关阅读:
    ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L
    POJ 1088 滑雪 DP
    UVA 11584 最短回文串划分 DP
    POJ 2531 Network Saboteur DFS+剪枝
    UVa 10739 String to Palindrome 字符串dp
    UVa 11151 Longest Palindrome 字符串dp
    UVa 10154 Weights and Measures dp 降维
    UVa 10271 Chopsticks dp
    UVa 10617 Again Palindrome 字符串dp
    UVa 10651 Pebble Solitaire 状态压缩 dp
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205094.html
Copyright © 2011-2022 走看看