任何人都可以建议Mahout想要应用LDA的输入类型。如果有人请详细记下来获取输出
,那就太好了答案 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}
免责声明 - 从我的笔记中解释,可能会有一些小错误。祝你好运!