В R: Как решить ошибку «Недостаточно памяти» в POS-теггере?

В R у меня есть данные с 30 записями для выборки, основные данные имеют 20000 записей. записи — это твиты. Я извлекаю биграммы из любого твита и использую из постаггера. Для примера данных, которые показали мне ошибки

.jnew("opennlp.tools.postag.POSModel", .jcast(.jnew("java.io.FileInputStream", :
java.lang.OutOfMemoryError: пространство кучи Java

or

.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;
      }
  .
  .
  .
  }
}

person shabnam isfehani    schedule 07.06.2016    source источник


Ответы (1)


Эта проблема обычно возникает, когда скрипт использует rJava в R, и в моем случае я изменил размер памяти для JVM, чтобы он мог лучше обрабатывать мой скрипт, добавив следующую строку перед загрузкой библиотек options(java.parameters = "- Xmx1024m") Я также добавил gc() сразу после функции пакета освободить память. Пожалуйста, проверьте эту ссылку для получения дополнительной информации. Информация.

person Yohan Chung    schedule 11.06.2016
comment
Я использую from options(java.parameters = - Xmx1024m), но эта ошибка не изменилась. Спасибо за ответ на этот вопрос - person shabnam isfehani; 28.06.2016