我正在使用 R 中的“lda”包来执行语料库的主题模型分析(我们称之为“语料库B”)。我首先使用命令“lexicalize”为分析准备语料库,该命令返回一个术语文档矩阵,如果未预先指定,则返回一个带有唯一标记出现在语料库中的词汇表。
出于研究目的,我想使用从另一个语料库(我们称之为“语料库A”)推断出的词汇对语料库进行词汇化,这应该很容易做到。然而,它不起作用。这是代码示例:
A <- lexicalize(corpusA) #the output of this command is just as expected
B <- lexicalize(corpusB, vocab = corpusA$vocab)
B$documents #let's see the term-document matrix
>>NULL #this is what I get
知道为什么我得到空结果吗?奇怪的是,如果我使用简单的字符向量而不是导入的语料库,该命令就可以正常工作。
A <- c("I have the very model of a modern major general")
B <- c("I have a major headache")
B1 <- lexicalize(B)
B1
$documents
$documents[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 0 1 2 3 4
[2,] 1 1 1 1 1
$vocab
[1] "i" "have" "a" "major" "headache"
A1 <- lexicalize(A, vocab = B1$vocab)
A1
[[1]]
[,1] [,2] [,3] [,4]
[1,] 0 1 2 3
[2,] 1 1 1 1
还有一些可能有用的信息:
1)我感兴趣的语料库(corpusB)包含700mb的文本,相当可观的数据;
2) 使用“tm”包将两个语料库(B 和 A)导入 R。在词汇化之前,我还使用“tm”来删除标点符号、数字、停用词,以去除空格和小写字母。
很感谢任何形式的帮助!