2016-08-03 24 views
2

Ich versuche, ein Standard-Korpus Ladeverfahren in dem mallet R-Paket auszuführen und insbesondererjava gibt eine Nullpointer in .jcall

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

Dann bekomme ich folgende Fehler

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

die scheint für mich eher wie ein rJava-Fehler mehr als alles andere. Mein sysinfo folgt:

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 

Ich benutze Java 8, falls es darauf ankommt. Ich habe irgendwo gelesen, dass rJava nicht gut mit Java 8

Antwort

3

Das ist nicht der übliche Fehler von rJava Probleme, die sich beruhigt haben scheinen.

Ein mögliches Problem könnte sein, dass die Stopplistdatei nicht existiert oder nicht an der richtigen Stelle ist.

+0

Danke David. Du hast mich in die richtige Richtung gelenkt. Es waren 'Namen (txt $ CELEX)', die mir das Problem machten, aber ich bin bei R nicht so gut, also habe ich einen Fehler gemacht. Wenn ich statt dessen "txt $ CELEX" verwende, funktioniert das gut! Hinweis für die Community: Stellen Sie sicher, dass Sie Ihr Modell nach dem Import und vor dem Training mit 'MalletLDA' reinitialisieren –