mahout vector 的产生方式

来源:互联网 发布:美的人工智能研究院 编辑:程序博客网 时间:2024/05/16 23:56
根据wiki 

mahout 产生 vector 的方式有2种: 

#1 from lucene index to vector 
Java代码  收藏代码
  1. $MAHOUT_HOME/bin/mahout lucene.vector <PATH TO DIRECTORY CONTAINING LUCENE INDEX> \  
  2.    --output <PATH TO OUTPUT LOCATION> --field <NAME OF FIELD IN INDEX> --dictOut <PATH TO FILE TO OUTPUT THE DICTIONARY TO] \  
  3.    <--max <Number of vectors to output>> <--norm {INF|integer >= 0}> <--idField <Name of the idField in the Lucene index>>  


#2 from sequencefile to vector 
Java代码  收藏代码
  1. $MAHOUT_HOME/bin/mahout seq2sparse \  
  2. -i <PATH TO THE SEQUENCEFILES> -o <OUTPUT DIRECTORY WHERE VECTORS AND DICTIONARY IS GENERATED> \  
  3. <-wt <WEIGHTING METHOD USED> {tf|tfidf}> \  
  4. <-chunk <MAX SIZE OF DICTIONARY CHUNK IN MB TO KEEP IN MEMORY> 100> \  
  5. <-a <NAME OF THE LUCENE ANALYZER TO TOKENIZE THE DOCUMENT> org.apache.lucene.analysis.standard.StandardAnalyzer> \  
  6. <--minSupport <MINIMUM SUPPORT> 2> \  
  7. <--minDF <MINIMUM DOCUMENT FREQUENCY> 1> \  
  8. <--maxDFPercent <MAX PERCENTAGE OF DOCS FOR DF. VALUE BETWEEN 0-10099> \  
  9. <--norm <REFER TO L_2 NORM ABOVE>{INF|integer >= 0}>"  
  10. <-seq <Create SequentialAccessVectors>{false|true required for running some algorithms(LDA,Lanczos)}>"  


结果发现第二种也是要借助lucene的分词,也有设置“MAX SIZE OF DICTIONARY CHUNK IN MB TO KEEP IN MEMORY”,这个也是lucene里面设置的参数。 

阿哈,那这样看来,无论哪种vector的生成方式,其实原理都是一样的,用lucene的index文件做文章,只不过第二种方式少了lucene index -> vector 的方式。 

0 0
原创粉丝点击