rJava выдает исключение NullPointerException в .jcall

Я пытаюсь запустить стандартный метод загрузки корпуса в пакете mallet R, а точнее

instance <- mallet.import(names(txt$CELEX), txt$TEXT, stoplist.file = "stopwords.en.txt", token.regexp = "\\p{L}[\\p{L}\\p{P}]+\\p{L}")

Затем я получаю следующую ошибку

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
java.lang.NullPointerException

что мне кажется больше похожим на ошибку rJava, чем на что-либо еще. Моя системная информация следующая:

R version 3.3.0 (2016-05-03)

Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=Danish_Denmark.1252  LC_CTYPE=Danish_Denmark.1252    LC_MONETARY=Danish_Denmark.1252
[4] LC_NUMERIC=C                    LC_TIME=Danish_Denmark.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] mallet_1.0           XLConnect_0.2-12     XLConnectJars_0.2-12 quanteda_0.9.6-9     rJava_0.9-8         
[6] topicmodels_0.2-4   

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.5       lattice_0.20-33   slam_0.1-35       chron_2.3-47      grid_3.3.0        stats4_3.3.0     
 [7] stringi_1.1.1     data.table_1.9.6  NLP_0.1-9         ca_0.64           Matrix_1.2-6      tools_3.3.0      
[13] parallel_3.3.0    tm_0.6-2          modeltools_0.2-21

Я использую Java 8, если это имеет значение. Я где-то читал, что rJava плохо работает с Java 8.


person Yannis P.    schedule 03.08.2016    source источник


Ответы (1)


Это не обычная ошибка из-за проблем с rJava, которые, похоже, улеглись.

Одной из возможных проблем может быть то, что файл стоп-листа не существует или находится не в том месте.

person David Mimno    schedule 08.08.2016
comment
Спасибо, Дэвид. Вы указали мне правильное направление. Это был names(txt$CELEX), который создавал мне проблему, но я не так хорош в R, поэтому я сделал ошибку. Кстати, если я вместо этого использую txt$CELEX, все работает нормально! Совет сообществу: убедитесь, что вы повторно инициализировали свою модель с помощью MalletLDA после импорта и перед обучением. - person Yannis P.; 09.08.2016