在 R 中,我有一个包含 30 条记录的样本数据,主要数据有 20000 条记录。记录是推文。我从任何推文中提取二元组,并从 postagger 中使用。对于示例数据,这向我显示了错误
.jnew("opennlp.tools.postag.POSModel", .jcast(.jnew("java.io.FileInputStream", :
java.lang.OutOfMemoryError: Java 堆空间)
或者
.jnew("opennlp.tools.tokenize.TokenizerModel", .jcast(.jnew("java.io.FileInputStream", :
java.lang.OutOfMemoryError: 超过 GC 开销限制)
我该如何解决这个问题?
我的代码是:我该如何解决这个问题?
for(i in 1:nrow(data1))
{
.
.
.
for(k in 1:length(bigrams))
{
s = as.String(bigrams[k])
sent_token_annotator =openNLP:: Maxent_Sent_Token_Annotator()
word_token_annotator = openNLP::Maxent_Word_Token_Annotator()
a2 = annotate(s, list(sent_token_annotator, word_token_annotator))
pos_tag_annotator = openNLP::Maxent_POS_Tag_Annotator()
a3 = annotate(s, pos_tag_annotator, a2)
a3w = subset(a3, type == "word")
tags = sapply(a3w$features, `[[`, "POS")
if(tags[1]=="JJ")
{
if(tags[2]=="NN"||tags[2]=="NNS")
{
bigram_final[j]=bigrams[k]
j=j+1;
}
.
.
.
}
}