标签: topic-modeling

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
查看次数

用于主题检测的推文之间的表示和良好的相似性度量

我打算在Twitter上编写一个主题检测工具.我一直在考虑两个推文之间的良好相似性度量(距离),以及如何表示它们,计入:

  • #hashtags(我认为在Twitter上检测到的话题时,井号标签是非常重要的)
  • 回复(如果有人回复推文,那些推文可能会谈论相同的主题,虽然有两个人可以开始谈论三星银河并最终谈论iphone越狱等)

我正在考虑实施到目前为止所做的工作并做一些实验.我将实现经典模型(类似TF*IDF并使用欧几里德距离,角度余弦等),以及具有一些相似性度量(汉明,Jaccard等)的布尔模型.

有关如何使某些现有模型适应Twitter或关于如何创建新模型的一些想法的任何想法?

twitter information-retrieval cluster-analysis machine-learning topic-modeling

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

互联网文章和社交媒体的分层分类+主题模型训练数据

我想按主题对大量(100K到1M +)的小型互联网文章(推文,博客文章,新闻等)进行分类.为了实现这一目标,我一直在寻找标记的培训数据文档,我可以用它来构建分类器模型.为了使这篇文章最有用,以下是我发现的一些可能的来源:

a)www.freebase.com/internet/website/category?instances=

b)wikipedia-miner.cms.waikato.ac.nz(用于访问维基百科数据的工具包)

c)en.wikipedia.org/wiki/Wikipedia:Database_download

d)wiki.dbpedia.org/About(属于类别的SKOS格式主题关键字)

e)互联网搜索大型文章集,然后进行聚类和手动策划

问题1:是否有其他可提供标签培训文件的互联网资源?给定主题上的关键字集,尤其是加权集也很有用

理想情况下,我想构建一个分类器,该分类器将返回分层类别,并且随着更多兴趣/数据变得可用,可以在以后添加子主题细节.

问题2:是否存在分层结构(也可能是可扩展的)主题建模/分类框架?一个代码示例将特别受欢迎

非常感谢

更新:

路透社语料库第1卷(在RCV1-v2上搜索)它是从1990年代后期开始的大约80万路透社文章被人类分类为主题,行业和地区类别

一个学术联盟(LDC)分发各种语料库,包括由纽约时报编制的约1.5M标签文件:http: //catalog.ldc.upenn.edu/LDC2008T19

hierarchical-clustering nltk training-data topic-modeling scikit-learn

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

动态主题模型有没有高效的python库,最好是扩展Gensim?

我正在尝试使用主题模型对twitter流数据进行建模.Gensim是一款易于使用的解决方案,其简洁性令人印象深刻.它有一个真正的LSI在线实现,但不适用于LDA.对于像twitter这样不断变化的内容流,动态主题模型是理想的选择.有没有办法,甚至是黑客 - 一种实施甚至是一种策略,我可以利用这种方式将Gensim用于此目的?

是否有任何其他python实现派生(最好)来自Gensim或独立?我更喜欢python,因为我想尽快开始,但如果有一些最佳解决方案,请提及它.

谢谢.

python text-analysis lda gensim topic-modeling

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

使用LDA(主题模型):每个主题对单词的分布是相似的并且"平坦"

Latent Dirichlet Allocation(LDA)是一个主题模型,用于查找一堆文档的潜在变量(主题).我正在使用python gensim包,有两个问题:

--- 1,我打印出每个主题最常用的单词(我试过10,20,50个主题),发现单词的分布非常"平淡":意思是即使是最常用的单词也只有1%可能性...

--- 2,大多数主题都是相似的:意味着每个主题的最常用单词重叠很多,主题分享几乎相同的高频词组...

我想问题可能是由于我的文档:我的文档实际上属于特定类别,例如,它们都是介绍不同在线游戏的文档.对于我的情况,LDA是否仍然有效,因为文件本身非常相似,所以基于"词袋"的模型可能不是一个好的尝试方法?

有人能给我一些建议吗?谢谢!

python lda gensim topic-modeling

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

使用Gensim获得LDA模型的最佳主题数的最佳方法是什么?

我试图在Gensim中获得LDA模型的最佳主题数.我发现的一种方法是计算每个模型的对数似然,并将每个模型相互比较,例如,使用潜在Dirichlet分配的输入参数

因此,我研究了使用Gensim计算LDA模型的对数似然性,并得出以下文章:您如何估计潜在Dirichlet分配模型的α参数?

这基本上说明update_alpha()方法实现了黄,乔纳森所描述的方法.Dirichlet分布参数的最大似然估计.我仍然不知道如何在不更改代码的情况下使用libary获取此参数.

如何使用Gensim从LDA模型获取对数似然?

有没有更好的方法来获得Gensim的最佳主题数量?

python text-mining lda gensim topic-modeling

6
推荐指数
2
解决办法
4387
查看次数

如何打印lda主题模型和每个主题的文字云

from nltk.tokenize import RegexpTokenizer
from stop_words import get_stop_words
from gensim import corpora, models
import gensim
import os
from os import path
from time import sleep
import matplotlib.pyplot as plt
import random
from wordcloud import WordCloud, STOPWORDS
tokenizer = RegexpTokenizer(r'\w+')
en_stop = set(get_stop_words('en'))
with open(os.path.join('c:\users\kaila\jobdescription.txt')) as f:
    Reader = f.read()

Reader = Reader.replace("will", " ")
Reader = Reader.replace("please", " ")


texts = unicode(Reader, errors='replace')
tdm = []

raw = texts.lower()
tokens = tokenizer.tokenize(raw)
stopped_tokens = [i for i in tokens if …
Run Code Online (Sandbox Code Playgroud)

python word-cloud topic-modeling

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

自动标记LDA生成的主题

我正在尝试对客户反馈进行分类,并且我在python中运行了LDA并获得了10个主题的以下输出:

(0, u'0.559*"delivery" + 0.124*"area" + 0.018*"mile" + 0.016*"option" + 0.012*"partner" + 0.011*"traffic" + 0.011*"hub" + 0.011*"thanks" + 0.010*"city" + 0.009*"way"')
(1, u'0.397*"package" + 0.073*"address" + 0.055*"time" + 0.047*"customer" + 0.045*"apartment" + 0.037*"delivery" + 0.031*"number" + 0.026*"item" + 0.021*"support" + 0.018*"door"')
(2, u'0.190*"time" + 0.127*"order" + 0.113*"minute" + 0.075*"pickup" + 0.074*"restaurant" + 0.031*"food" + 0.027*"support" + 0.027*"delivery" + 0.026*"pick" + 0.018*"min"')
(3, u'0.072*"code" + 0.067*"gps" + 0.053*"map" + 0.050*"street" + 0.047*"building" + 0.043*"address" + 0.042*"navigation" + 0.039*"access" + 0.035*"point" + …
Run Code Online (Sandbox Code Playgroud)

python nlp labeling lda topic-modeling

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

pyLDAvis:尝试可视化主题时发生验证错误

我尝试使用gensim生成300000条记录的主题。在尝试可视化主题时,出现验证错误。我可以在模型训练后打印主题,但是在使用pyLDAvis时失败

# Running and Training LDA model on the document term matrix.
ldamodel1 = Lda(doc_term_matrix1, num_topics=10, id2word = dictionary1, passes=50, workers = 4)

(ldamodel1.print_topics(num_topics=10, num_words = 10))
 #pyLDAvis
d = gensim.corpora.Dictionary.load('dictionary1.dict')
c = gensim.corpora.MmCorpus('corpus.mm')
lda = gensim.models.LdaModel.load('topic.model')

#error on executing this line
data = pyLDAvis.gensim.prepare(lda, c, d)
Run Code Online (Sandbox Code Playgroud)

在pyLDAvis上面运行后,我尝试执行以下错误

---------------------------------------------------------------------------
ValidationError                           Traceback (most recent call last)
<ipython-input-53-33fd88b65056> in <module>()
----> 1 data = pyLDAvis.gensim.prepare(lda, c, d)
      2 data

C:\ProgramData\Anaconda3\lib\site-packages\pyLDAvis\gensim.py in prepare(topic_model, corpus, dictionary, doc_topic_dist, **kwargs)
    110     """
    111     opts = fp.merge(_extract_data(topic_model, …
Run Code Online (Sandbox Code Playgroud)

python nlp lda topic-modeling

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

R中的词干完成取代了名称,而不是数据

我的团队正在使用R中的Quanteda软件包对中等大小的文本(成千上万个单词)进行一些主题建模.我想在主题建模过程之前将单词缩减为单词词干,这样我就是不计算不同主题的同一个词的变化.

唯一的问题是词干算法留下了一些不是真正单词的词."幸福"源于"幸福","安排"源于"阿朗",等等.所以,在我想象主题建模的结果之前,我想恢复词干以完成单词.

通过阅读StackOverflow上的一些先前的线程,我从TM包中找到了一个函数stemCompletion(),它至少可以实现这一点.它似乎工作得相当好.

但是当我将它应用于文档文本矩阵中的术语向量时,stemCompletion()总是替换字符向量的名称,而不是字符本身.这是一个可重复的例子:

# Set up libraries
library(janeaustenr)
library(quanteda)
library(tm)

# Get first 200 words of Mansfield Park
words <- head(mansfieldpark, 200)

# Build a corpus from words
corpus <- quanteda::corpus(words)

# Eliminate some words from counting process
STOPWORDS <- c("the", "and", "a", "an")

# Create a document text matrix and do topic modeling
dtm <- corpus %>% 
    quanteda::dfm(remove_punct = TRUE,
                  remove = STOPWORDS) %>%
    quanteda::dfm_wordstem(.) %>% # Word stemming takes place here
    quanteda::convert("topicmodels")

# Word stems …
Run Code Online (Sandbox Code Playgroud)

r topic-modeling tm quanteda

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