Apache Mahout中LDA的输入应该是什么

时间:2014-01-22 12:24:46

标签: mahout

任何人都可以建议Mahout想要应用LDA的输入类型。如果有人请详细记下来获取输出

,那就太好了

1 个答案:

答案 0 :(得分:6)

关于mahout中最新形式的LDA的文档有点稀疏。它现在被称为'cvb'。输入可以是文本文件的目录或任何其他(lucene索引,无论如何),您可以进入mahout形式。输出是由矢量形式的关键字表示的定义数量的主题(参见下面的示例)。

我昨天实际上已经完成了一个例子,所以我将在下面粘贴一些命令,以便有用。该示例使用路透社数据集,该数据集可以使用http://svn.apache.org/repos/asf/mahout/tags/mahout-0.4/examples/bin/build-reuters.sh

中的命令(可能已过时)加载

(例如:输入将进入$ basedir / work / reuters-out / below)

#设置一些目录

basedir=[set to your current directory]
workdir=$basedir/work

#将文本转换为SequenceFile格式

mahout seqdirectory \
-i $basedir/work/reuters-out/ \
-o $basedir/work/reuters-out-seqdir -c UTF-8 -chunk 5

#make稀疏矢量

mahout seq2sparse \
  -i $workdir/reuters-out-seqdir/ \
  -o $workdir/reuters-out-seqdir-sparse-lda -ow --maxDFPercent 85 --namedVector

#using rowid将稀疏向量转换为cvb聚类所需的形式(即将Text键更改为Integer)。

mahout rowid \
-i $workdir/reuters-out-seqdir-sparse-lda/tfidf-vectors \
-o $workdir/reuters-out-matrix

#使用本地命令重新运行LDA

#following:Run cvb in mahout 0.8

rm -rf $workdir/reuters-ldalocal $workdir/reuters-ldalocal-topics
mahout cvb0_local \
  -i $workdir/reuters-out-matrix/matrix \
  -d $workdir/reuters-out-seqdir-sparse-lda/dictionary.file-* \
  -a 0.5 \
  -top 4 \
  -do $workdir/reuters-ldalocal \
  -to $workdir/reuters-ldalocal-topics

#通过显示每个主题的前10个单词来检查输出:

mahout vectordump \
    -i $workdir/reuters-ldalocal-topics \
    --dictionary $workdir/reuters-out-seqdir-sparse-lda/dictionary.file-* \
    --dictionaryType sequencefile \
    --vectorSize 10 \
    -sort $workdir/reuters-ldalocal-topics

输出如下:

{said:12099.546951505947,its:10566.985916212521,year:8333.832279174481,dlrs:6810.206141819796,would:6721.746234281428,been:5329.6753421933945,pct:5313.369659313288,billion:5248.896294419074,from:5158.844069513761,he:4764.16474083869}
{mln:11816.704457054004,cts:7169.159831834528,mar:7081.733955520149,vs:6891.4237560938955,new:6560.720833985039,has:6543.337854529879,1986:6043.850306111383,company:5720.025984843189,pct:5711.399291651732,last:5683.42288907518}
{inc:9704.372248376018,mln:9278.314888220315,said:8562.15377124544,net:7827.149394593728,vs:7736.055883103908,dlrs:7057.160090724306,cts:6177.1590584797605,market:5936.459595191674,exchange:5371.911394611647,co:5314.4250562522}
{said:12514.11646492775,u.s:9207.239974183465,from:7679.363044582878,mar:6588.0987950965,bank:6491.528794438723,pct:6100.417335098452,has:5352.990453581582,dlrs:5091.309618540722,about:4886.923813272583,13:4695.692587191373}
免责声明 - 从我的笔记中解释,可能会有一些小错误。祝你好运!