我正在尝试使用包含大约 85,000 条推文的非常大的语料库,我试图将其与电视广告中的对话进行比较。但是,由于我的语料库的大小,如果没有收到“错误:无法分配大小为 n 的向量”消息(在我的情况下为 26 GB),我将无法处理余弦相似度度量。
我已经在具有大量内存的服务器上运行 R 64 位。我还尝试在内存最多的服务器上使用 AWS(244 GB),但无济于事(同样的错误)。
有没有办法使用像 fread 这样的包来解决这个内存限制,或者我只需要发明一种方法来分解我的数据?非常感谢您的帮助,我已附加以下代码:
x <- NULL
y <- NULL
num <- NULL
z <- NULL
ad <- NULL
for (i in 1:nrow(ad.corp$documents)){
num <- i
ad <- paste("ad.num",num,sep="_")
x <- subset(ad.corp, ad.corp$documents$num== yoad)
z <- x + corp.all
z$documents$texts <- as.character(z$documents$texts)
PolAdsDfm <- dfm(z, ignoredFeatures = stopwords("english"), groups = "num",stem=TRUE, verbose=TRUE, removeTwitter=TRUE)
PolAdsDfm <- tfidf(PolAdsDfm)
y <- similarity(PolAdsDfm, ad, margin="documents",n=20, method = "cosine", normalize = T)
y <- sort(y, decreasing=T)
if (y[1] > .7){assign(paste(ad,x$documents$texts,sep="--"), y)}
else {print(paste(ad,"didn't make the cut", sep="****"))}
}