在R中将带注释的NLP模型转换为数据帧时,如何解决内存分配问题

在R中将带注释的NLP模型转换为数据帧时,如何解决内存分配问题,r,udpipe,R,Udpipe,我正在尝试将大小为1.2GB的带注释NLP模型转换为dataframe。我在R中使用Udpipe包进行自然语言处理,代码如下: # Additional Topic Models # annotate and tokenize corpus model <- udpipe_download_model(language = "english") udmodel_english <- udpipe_load_model(model$file_model) s <

我正在尝试将大小为1.2GB的带注释NLP模型转换为dataframe。我在R中使用Udpipe包进行自然语言处理,代码如下:

# Additional Topic Models
# annotate and tokenize corpus
model <- udpipe_download_model(language = "english")
udmodel_english <- udpipe_load_model(model$file_model)
s <- udpipe_annotate(udmodel_english, cleaned_text_NLP)
options(java.parameters = "-Xmx32720m")
memory.limit(3210241024*1024)
x <- data.frame(s)
我的问题有两个:

  • 上面的错误消息是什么意思
  • 有哪些解决方法可以解决此问题

  • 可能您有很多文档需要注释。最好按块注释,如中所示

    下面的代码将在两个核心上并行地对50个文档进行注释,基本上执行data.frame命令。您将不再有这个问题,因为函数在50个文档的每个块上进行strsplit,而不是在完整的数据集上,其中注释文本的大小显然太大,无法满足R中stringbuffer的限制。但是下面的代码将解决您的问题

    x <- udpipe(cleaned_text_NLP, udmodel_english, parallel.cores = 2L, parallel.chunksize = 50)
    
    x
    
    x <- udpipe(cleaned_text_NLP, udmodel_english, parallel.cores = 2L, parallel.chunksize = 50)