我正在处理摘要中的文本数据,并且在构建我自己的字典(用于监督分析)之前,我尝试使用stm
(结构化主题建模)来查看非监督提取的主题。我正在处理一个问题,我想知道是否有人以前遇到过同样的问题。当运行findThoughts()
时,我得到以下错误:
findThoughts中的错误(输出.stm,主题= 27,文本=语料库$文档$文本,:提供的文本数和建模的文档数不匹配
我不确定我的数据出了什么问题,我以为这可能与语料库中没有摘要的空行中的NA
值有关,但在删除NA
行后也会发生同样的情况(如下所示:
df[!is.na(df$abstract),]
如果你对这件事有什么想法,请告诉我。
2条答案
按热度按时间4dc9hkyq1#
当length(texts)!= out. stm的行数时,findThoughts函数返回错误“提供的文本数和建模的文档数不匹配”。
这是一个源于textProcessor函数的错误,该函数用于在调用“stm”函数之前处理文档。
以下是发生这种情况的原因:临时输出有一个属性temp$docs.removed,它列出了被删除的行。因此,“temp$documents”的长度将比“comments”短temp$docs. removed的长度。
因此,stm对象“a”和使用temp$documents建模的a$theta(文档的主题概率矩阵)将具有与temp$documents相同的长度。
解决方案:从'texts'对象中删除'temp'对象中删除的文档。下面的代码通过创建一个新的向量z来删除temp$docs. removed中引用的索引。
1mrurvl12#
根据Sruthi Susan托马斯给出的答案,正确的代码是在参数中放入“out”输入(out=prepDocuments(text$documents,text$vocab,text$ meta))而不是“temp”。Out删除了文档的正确索引。