【问题标题】:What should be the input for LDA in Apache MahoutApache Mahout 中 LDA 的输入应该是什么
【发布时间】:2014-01-23 11:07:18
【问题描述】:

任何人都可以建议 Mahout 想要应用 LDA 的输入类型吗?如果有人请详细写下以获取输出,那就太好了

【问题讨论】:

    标签: mahout


    【解决方案1】:

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

    我昨天实际上完成了一个示例,因此我将在下面粘贴一些命令以使其有用。该示例使用路透社数据集,可以使用http://svn.apache.org/repos/asf/mahout/tags/mahout-0.4/examples/bin/build-reuters.sh中的命令(可能已过时)加载

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

    # 设置一些目录

    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
    

    # 制作稀疏向量

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

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

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

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

    #关注: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}
    

    免责声明 - 这是从我的笔记中转述的,其中可能存在小错误。祝你好运!

    【讨论】:

    • 非常感谢 Ziggy。非常感谢
    猜你喜欢
    • 2011-05-10
    • 2014-02-14
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2011-07-04
    • 2018-04-21
    相关资源
    最近更新 更多