标签: mallet

MALLET与NLTK中的主题建模

我刚刚阅读了一篇关于MALLET如何用于主题建模的精彩文章,但我在网上找不到MALLET和NLTK之间的任何内容,我已经有过一些经验.

它们之间的主要区别是什么?MALLET是一个更"完整"的资源(例如,有更多的工具和算法)?或者回答前两个问题的一些好文章在哪里?

nltk mallet

28
推荐指数
1
解决办法
8445
查看次数

在Java中运行MALLET

我正在尝试在Java中运行Mallet并且收到以下错误.

Couldn't open cc.mallet.util.MalletLogger resources/logging.properties file.
Perhaps the 'resources' directories weren't copied into the 'class' directory.
Continuing.
Run Code Online (Sandbox Code Playgroud)

我正试图从Mallet的网站(http://mallet.cs.umass.edu/topics-devel.php)运行这个例子.以下是我的代码.任何帮助表示赞赏.

package scriptAnalyzer;

import cc.mallet.util.*;
import cc.mallet.types.*;
import cc.mallet.pipe.*;
import cc.mallet.pipe.iterator.*;
import cc.mallet.topics.*;

import java.util.*;
import java.util.regex.*;
import java.io.*;

public class Mallet {

    public static void main(String[] args) throws Exception {

        String filePath = "C:/mallet/ap.txt";
        // Begin by importing documents from text to feature sequences
        ArrayList<Pipe> pipeList = new ArrayList<Pipe>();

        // Pipes: lowercase, tokenize, remove stopwords, map to features
        pipeList.add( new …
Run Code Online (Sandbox Code Playgroud)

java mallet

12
推荐指数
3
解决办法
4321
查看次数

为什么单个和批量文档的MALLET主题推断得到不同的结果?

我正在尝试使用Mallet 2.0.7执行LDA主题建模.根据训练课程的输出,我可以训练LDA模型并获得良好的结果.此外,我可以使用该过程中内置的inferencer,并在重新处理我的训练文件时获得类似的结果.但是,如果我从较大的训练集中获取单个文件,并使用推理器处理它,我会得到非常不同的结果,这是不好的.

我的理解是推理器应该使用固定模型,并且只有该文档的本地特征,所以我不明白为什么在处理1个文件或我的训练集中的1k时会得到任何不同的结果.我没有做频率截止,这似乎是一种具有这种效果的全局操作.你可以在下面的命令中看到我正在使用的其他参数,但它们大部分都是默认的.将迭代次数更改为0或100没有帮助.

导入数据:

bin/mallet import-dir \
  --input trainingDataDir \
  --output train.data \
  --remove-stopwords TRUE \
  --keep-sequence TRUE \
  --gram-sizes 1,2 \
  --keep-sequence-bigrams TRUE
Run Code Online (Sandbox Code Playgroud)

培养:

time ../bin/mallet train-topics
  --input ../train.data \
  --inferencer-filename lda-inferencer-model.mallet \
  --num-top-words 50 \
  --num-topics 100 \
  --num-threads 3 \
  --num-iterations 100 \
  --doc-topics-threshold 0.1 \
  --output-topic-keys topic-keys.txt \
  --output-doc-topics doc-topics.txt
Run Code Online (Sandbox Code Playgroud)

培训期间分配给一个文件的主题,特别是#14是关于正确的葡萄酒:

998 file:/.../29708933509685249 14  0.31684981684981683 
> grep "^14\t" topic-keys.txt 
14  0.5 wine spray cooking car climate top wines place live honey sticking ice prevent collection market …
Run Code Online (Sandbox Code Playgroud)

nlp machine-learning mallet topic-modeling

8
推荐指数
1
解决办法
4879
查看次数

如何理解Mallet中Topic Model类的输出?

当我在主题建模开发人员指南中尝试示例代码时,我真的想了解该代码输出的含义.

首先在运行过程中,它给出:

Coded LDA: 10 topics, 4 topic bits, 1111 topic mask
max tokens: 148
total tokens: 1333
<10> LL/token: -9,24097
<20> LL/token: -9,1026
<30> LL/token: -8,95386
<40> LL/token: -8,75353

0   0,5 battle union confederate tennessee american states 
1   0,5 hawes sunderland echo war paper commonwealth 
2   0,5 test including cricket australian hill career 
3   0,5 average equipartition theorem law energy system 
4   0,5 kentucky army grant gen confederates buell 
5   0,5 years yard national thylacine wilderness parks …
Run Code Online (Sandbox Code Playgroud)

machine-learning mallet

8
推荐指数
1
解决办法
5572
查看次数

MALLET主题推理

我试图根据MALLET训练的主题模型推断出文档的主题.我在mallet目录中使用以下命令

./mallet infer-topics --inferencer topic-model --input indata.mallet --output-doc-topics infered_docs

但它在演员异常中陷入困境:

java.lang.ClassCastException: cc.mallet.topics.ParallelTopicModel cannot be cast to cc.mallet.topics.TopicInferencer 我该怎么解决这个问题?

java bash mallet

8
推荐指数
1
解决办法
1146
查看次数

Mallet vs Weka用于文本分类

哪种产品(Mallet或Weka)更适合文本分类任务:

  1. 更容易训练
  2. 效果更好
  3. 文档

我是这个问题的新手,所以任何评论都会很棒

weka mallet

7
推荐指数
1
解决办法
2478
查看次数

Mallet主题模型示例无法编译

我想在我的Java中编译mallet(而不是使用命令行),所以我在我的项目中包含jar,并引用示例的代码:http://mallet.cs.umass.edu/topics-devel. PHP的,但是,当我运行此代码,有错误:

Exception in thread "main" java.lang.NoClassDefFoundError: gnu/trove/TObjectIntHashMap
    at cc.mallet.types.Alphabet.<init>(Alphabet.java:51)
    at cc.mallet.types.Alphabet.<init>(Alphabet.java:70)
    at cc.mallet.pipe.TokenSequence2FeatureSequence.<init>    (TokenSequence2FeatureSequence.java:35)
at mallet.TopicModel.main(TopicModel.java:25)
Caused by: java.lang.ClassNotFoundException: gnu.trove.TObjectIntHashMap
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more
Run Code Online (Sandbox Code Playgroud)

我不确定导致错误的原因.有人可以帮忙吗?

package mallet;

import cc.mallet.util.*;
import cc.mallet.types.*;
import cc.mallet.pipe.*;
import cc.mallet.pipe.iterator.*;
import cc.mallet.topics.*;

import java.util.*;
import java.util.regex.*;
import java.io.*;

public class TopicModel {

public static void main(String[] args) throws Exception { …
Run Code Online (Sandbox Code Playgroud)

mallet topic-modeling

7
推荐指数
1
解决办法
1961
查看次数

Mallet中的主题建模; 文档

我正在为Mallet寻找一些好的文档,特别是它与主题建模相关的类.我查看了Java文档,但它们没有太大帮助.例如:

estimate

public void estimate()
              throws java.io.IOException

    Throws:
        java.io.IOException
Run Code Online (Sandbox Code Playgroud)

仍然不知道这种方法的作用(如果你这样做,请告诉我).此外,如果您有使用mallet的经验并且可以帮助我打印主题模型(或代表主题的单词组)所学的主题,请告诉我.欢迎所有建议!

我已经看过方法getTopWords,但我还没能把它称为...也许是一个mising jar?

java mallet topic-modeling

6
推荐指数
1
解决办法
2664
查看次数

MALLET:如何实现基于crf的编辑距离?

我正在寻找有关编写/了解MALLET课程的人.我知道它是ML问题的一个很好的工具,现在我尝试实现这里描述的基于CRF的距离算法Andrew McCallum,Kedar Bellare和Fernando Pereira.

作者告诉他们,他们已经将所提出的模型实现为Mallet FST类.令人遗憾的是,java并不是我所熟知的Ruby语言,这就是为什么我有一些问题需要理解如何使用他们的模型,例如哪些类,我坚持缺乏大型Mallet类结构中的文档.

听听一些如何用Mallet实现算法的指导信息会很高兴.

java machine-learning mallet crf

6
推荐指数
0
解决办法
603
查看次数

Gensim mallet CalledProcessError:返回非零退出状态

我在尝试访问 jupyter 笔记本中的 gensims mallet 时遇到错误。我在与我的笔记本相同的文件夹中有指定的文件“mallet”,但似乎无法访问它。我尝试从 C 驱动器路由到它,但仍然遇到相同的错误。请帮忙 :)

import os
from gensim.models.wrappers import LdaMallet

#os.environ.update({'MALLET_HOME':r'C:/Users/new_mallet/mallet-2.0.8/'})

mallet_path = 'mallet' # update this path

ldamallet = gensim.models.wrappers.LdaMallet(mallet_path, corpus=bow_corpus, num_topics=20, id2word=dictionary)

result = (ldamallet.show_topics(num_topics=3, num_words=10,formatted=False))
for each in result:
    print (each)
Run Code Online (Sandbox Code Playgroud)

Mallet 错误 CalledProcessError

在此输入图像描述

python windows mallet gensim jupyter-notebook

6
推荐指数
1
解决办法
7988
查看次数