- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
全部:
我是 R 主题建模的初学者,这一切都是三周前开始的。所以我的问题是我可以成功地将我的数据处理成语料库、文档术语矩阵和 LDA 函数。我有推文作为我的输入,大约有 460,000 条推文。但我对结果并不满意,所有主题中的单词都非常相似。
packages <- c('tm','topicmodels','SnowballC','RWeka','rJava')
if (length(setdiff(packages, rownames(installed.packages()))) > 0) {
install.packages(setdiff(packages, rownames(installed.packages())))
}
options( java.parameters = "-Xmx4g" )
library(tm)
library(topicmodels)
library(SnowballC)
library(RWeka)
print("Please select the input file");
flush.console();
ifilename <- file.choose();
raw_data=scan(ifilename,'string',sep="\n",skip=1);
tweet_data=raw_data;
rm(raw_data);
tweet_data = gsub("(RT|via)((?:\\b\\W*@\\w+)+)","",tweet_data)
tweet_data = gsub("http[^[:blank:]]+", "", tweet_data)
tweet_data = gsub("@\\w+", "", tweet_data)
tweet_data = gsub("[ \t]{2,}", "", tweet_data)
tweet_data = gsub("^\\s+|\\s+$", "", tweet_data)
tweet_data = gsub('\\d+', '', tweet_data)
tweet_data = gsub("[[:punct:]]", " ", tweet_data)
max_size=5000;
data_size=length(tweet_data);
itinerary=ceiling(data_size[1]/max_size);
if (itinerary==1){pre_data=tweet_data}else {pre_data=tweet_data[1:max_size]}
corp <- Corpus(VectorSource(pre_data));
corp<-tm_map(corp,tolower);
corp<-tm_map(corp,removePunctuation);
extend_stop_word=c('description:','null','text:','description','url','text','aca',
'obama','romney','ryan','mitt','conservative','liberal');
corp<-tm_map(corp,removeNumbers);
gc();
IteratedLovinsStemmer(corp, control = NULL)
gc();
corp<-tm_map(corp,removeWords,c(stopwords('english'),extend_stop_word));
gc();
corp <- tm_map(corp, PlainTextDocument)
gc();
dtm.control = list(tolower= F,removePunctuation=F,removeNumbers= F,
stemming= F, minWordLength = 3,weighting= weightTf,stopwords=F)
dtm = DocumentTermMatrix(corp, control=dtm.control)
gc();
#dtm = removeSparseTerms(dtm,0.99)
dtm = dtm[rowSums(as.matrix(dtm))>0,]
gc();
best.model <- lapply(seq(2,50, by=2), function(k){LDA(dtm[1:10,], k)})
gc();
best.model.logLik <- as.data.frame(as.matrix(lapply(best.model, logLik)))
best.model.logLik.df <- data.frame(topics=c(seq(2,50, by=2)), LL=as.numeric(as.matrix(best.model.logLik)))
k=best.model.logLik.df[which.max(best.model.logLik.df$LL),1];
cat("Best topic number is k=",k);
flush.console();
gc();
lda.model = LDA(dtm, k,method='VEM')
gc();
write.csv(terms(lda.model,50), file = "terms.csv");
lda_topics=topics(lda.model,1);
以下是我得到的结果:
> terms(lda.model,10)
Topic 1 Topic 2 Topic 3 Topic 4 Topic 5
[1,] "taxes" "medicare" "tax" "tax" "jobs"
[2,] "pay" "will" "returns" "returns" "plan"
[3,] "welfare" "tax" "gop" "taxes" "gop"
[4,] "will" "care" "taxes" "will" "military"
[5,] "returns" "can" "abortion" "paul" "will"
[6,] "plan" "laden" "can" "medicare" "tax"
[7,] "economy" "vote" "tcot" "class" "paul"
[8,] "budget" "economy" "muslim" "budget" "campaign"
[9,] "president" "taxes" "campaign" "says" "says"
[10,] "reid" "just" "economy" "cuts" "can"
Topic 6 Topic 7 Topic 8 Topic 9
[1,] "medicare" "tax" "medicare" "tax"
[2,] "taxes" "medicare" "tax" "president"
[3,] "plan" "taxes" "jobs" "jobs"
[4,] "tcot" "tcot" "tcot" "taxes"
[5,] "budget" "president" "foreign" "medicare"
[6,] "returns" "jobs" "plan" "tcot"
[7,] "welfare" "budget" "will" "paul"
[8,] "can" "energy" "economy" "health"
[9,] "says" "military" "bush" "people"
[10,] "obamacare" "want" "now" "gop"
Topic 10 Topic 11 Topic 12
[1,] "tax" "gop" "gop"
[2,] "medicare" "tcot" "plan"
[3,] "tcot" "military" "tax"
[4,] "president" "jobs" "taxes"
[5,] "gop" "energy" "welfare"
[6,] "plan" "will" "tcot"
[7,] "jobs" "ohio" "military"
[8,] "will" "abortion" "campaign"
[9,] "cuts" "paul" "class"
[10,] "paul" "budget" "just"
如您所见,“税收”、“医疗保险”等词贯穿所有主题。我注意到当我使用 dtm = removeSparseTerms(dtm,0.99)
时,结果可能会略有变化。以下是我的样本输入数据
> tweet_data[1:10]
[1] " While Romney friends get richer MT Romney Ryan Economic Plans Would Increase Unemployment Deepen Recession"
[2] "Wayne Allyn Root claims proof of Obama s foreign citizenship During a radio show interview Resist"
[3] " President Obama Chief Investor Leave Energy Upgrades to the Businesses Reading President Obama誷 latest Execu "
[4] " Brotherhood starts crucifixions Opponents of Egypt s Muslim president executed naked on trees Obama s tcot"
[5] " Say you stand with President Obama裻he candidate in this election who trusts women to make their own health decisions "
[6] " Romney Ryan Descend Into Medicare Gibberish "
[7] "Maddow Romney demanded opponents tax returns and lied about residency in The Raw Story"
[8] "Is it not grand How can Jews reconcile Obama Carter s treatment of Jews Israel How ca "
[9] " The Tax Returns are Hurting Romney Badly "
[10] " Replacing Gen Dempsey is cruicial to US security Dempsey disappointed by anti Obama campaign by ex military members h "
请帮忙!!谢谢!
最佳答案
减少案例中的主题数量。这将增强主题模型的聚类能力。现在您将现有模型与另一个模型重叠。由于主题索引随迭代而变化,因此很难跟进结果/进行比较。
关于R LDA 主题建模 : Result topics contains very similar words,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26197458/
根据槌documentation ,可以逐步训练主题模型: "-output-model [FILENAME] This option specifies a file to write a seri
下面我创建了一个完整的可重现示例来计算给定 DataFrame 的主题模型。 import numpy as np import pandas as pd data = pd.DataFrame({
在启动 Kafka 时出现以下错误。 KeeperErrorCode = NoNode for /brokers/topics/test-topic/partitions 任何帮助将不胜感激。 最佳答
我是这个范例的新手,所以请容忍我的愚蠢。我开始阅读这个主题是因为我正在构建一个物联网系统,该系统将使用消息队列来允许设备相互通信。 我目前正在使用 Azure 的服务总线,但是我相信我的问题通常适用于
我有三个 Kafka 经纪人( kafka_2.11-0.10.0.0 )每个经纪人的安全配置如下, listeners=PLAINTEXT://xxxx:9093,SASL_PLAINTEXT://
我使用apache-rocketmq发送消息,但出现异常。我尝试了csdn上的很多解决方案,但不起作用。现在我不知道如何处理它。 这是一个 Linux 服务器,运行 Rocketmq 4.2.0、ja
我收集了一些文档,其中大部分都是关于同一主题的,其余的基本上都是随机主题。我希望将文档分类为它们是关于“多数主题”还是这些随机“少数主题”之一。如果我在这个只有 2 个主题的语料库上使用主题建模算法会
我正在使用 gensim 包中的 LDA 算法来查找给定文本中的主题。 我被问到生成的主题将包含每个主题的不同词,例如,如果主题 A 中包含“猴子”一词,那么其他主题的列表中不应包含“猴子”一词。 到
我想使用 htaccess 更改我网站的 URL URL currently: example.com/index.php?p=my-topic-title I want to be like : e
我正在学习 Spring Boot 并制作了一个演示,但是当我发布一个添加对象的请求时,它不起作用! 错误信息是: { "timestamp": 1516897619316, "sta
背景 我们公司有由 Zookeeper 管理的 Apache Kafka。我们的 Spring Boot 应用程序之一需要检查所有可用主题的列表,并列出哪些主题启用了日志压缩 (cleanup.pol
在我的工作场所,我偶然发现了以下需要我解决的问题。尽管不是绝对需要,但首选解决方案。 有一个包含一组故事的数据库,每个故事都有一组与之关联的主题。主题存储在单独的表中,格式为 (storyid, to
我有一个由主题名称、描述组成的 Pandas 数据框 我正在尝试将其转换为主题名称、单词(出现在描述列中)及其频率 我已经试过了,但它只给了我描述的单词和频率,而不是主题名称级别。 import nl
我尝试使用以下命令删除现有主题(我使用 kafka 管理控制台检查过); #./kafka-topics.sh --zookeeper zookeeper.xx.com:2181/chroot --d
试图在一台机器上运行 Kafka 生产者,在另一台机器上运行消费者。 设置以下属性: 广告.host.name 广告端口 但是在控制台消费者上收到以下错误: bin/kafka-console-con
我正在使用 Gmail API,并尝试使用 Python 3.9 设置推送通知。当我尝试在 Gmail 收件箱上调用 watch() 时,出现错误,即使我已遵循针对类似问题给出的所有建议。错误如下:
我希望构建一个主题 map 来对内容进行分类。 例如,主题“艺术”可能有“艺术史”、“绘画”、“雕塑”等子类别。 我已经抓取了一些在线资源,但遇到了一个与我希望如何使用层次结构有关的问题。 我有很多内
我想在我的 Java 中编译 mallet(而不是使用命令行),所以我将 jar 包含在我的项目中,并引用了来自以下示例的代码:http://mallet.cs.umass.edu/topics-de
我正在尝试根据父级中的记录内容从kafka中的一个主题(父级)写入另一个主题(子级)。如果我从父主题消费,则示例记录为 {"date":{"string":"2017-03-20"},"time":{
我有一个 Kafka 生产者类,运行良好。生产者填充了 Kafka 主题。其代码如下: public class kafka_test { private final static String TO
我是一名优秀的程序员,十分优秀!