Как использовать StemDocument в пакете tm языка R (текстовый анализ)?

Я пытаюсь заблокировать Корпус, используя StemDocument в пакете tm языка R, который вызывает Java. Я пробовал пример в руководстве tm:

data("crude")
crude[[1]]
stemDocument(crude[[1]])

и получите следующую ошибку:

Could not initialize the GenericProperitiesCreator.  This exception was produced:  
java.lang.NullPointerException

Любая помощь приветствуется. Я ничего не знаю о Java.

Спасибо


person user974490    schedule 01.10.2011    source источник
comment
У меня работает, должно быть что-то с вашей установкой Java (у вас установлена ​​Java, верно?).   -  person Roman Luštrik    schedule 13.11.2011


Ответы (3)


Хороший вопрос, ты разобрался?

Я получаю ту же ошибку с единственным кодом, который у вас есть. Но если вы будете следовать примеру с самого начала (т.е. в заголовке «преобразования на стр. 1), и вы создаете корпус и конвертируете его в обычный текстовый документ, тогда вы избегаете ошибки Java. Я предполагаю, что пример кода в руководстве предполагает, что вы мы уже сделали эти два шага.

Тем не менее, когда я проверяю результаты, фактической основы нет... Я даже не могу получить @ user813966 простой пример стем-документа для создания любой основы. Вместо этого я смотрю на пакеты RStem и SnowBall.

А пока пакет python NLTK — это мой инструмент поиска.

Обновление: я заработал с помощью функции StemDocument, добавив language = "english" следующим образом:

a <- tm_map(a, stemDocument, language = "english") 

Таким образом, полный ответ на ваш вопрос — выполнить все шаги по вводу текста в R в соответствии с пакетом tm. Вам также понадобится rJava (и для установки переменных окружения для JAVA_HOME в каталог, содержащий каталог jre, если вы работаете в Windows), чтобы StemDocument работал

person Ben    schedule 12.11.2011

У меня была такая же ошибка на моей стороне. Решил это, добавив Snowball .jar и соответствующий репозиторий /words основных слов в моем пути к классу: C:\Users\xxx.xxx\Documents\R\win-library\2.12\Snowball\java

Это было рекомендовано здесь: http://weka.wikispaces.com/Stemmers

У меня все еще есть следующая ошибка, но теперь она работает нормально:

Trying to add database driver (JDBC): RmiJdbc.RJDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Warning, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Warning, not in CLASSPATH?
[KnowledgeFlow] Loading properties and plugins...
[KnowledgeFlow] Initializing KF...
person SnRf    schedule 25.11.2011
comment
Спасибо, что опубликовали это. Я попытался следовать тем же инструкциям, и я получаю ту же ошибку, что и вы. Тем не менее, я текст не вытекает. Я думаю, что могу пропустить шаг. Когда вы говорите, что добавляете соответствующий репозиторий /words, что это? это также включено в \ Snowball \ java? - person exl; 10.12.2011

Параметр Snowball (snowball.jar) не может найти файл weka.jar.

На вашем компьютере вам нужно найти файл с именем weka.jar. В моей системе Linux он находится в

/usr/local/lib/R/site-library/RWekajars/java/weka.jar

Затем в коде R добавьте строки, подобные этим, вверху:

wekajar="/usr/local/lib/R/site-library/RWekajars/java/weka.jar"
oldcp=Sys.getenv("CLASSPATH")
newcp=NULL
Sys.setenv(CLASSPATH=paste(wekajar,newcp, sep=":"))

library("tm")    
data("crude")
stemDocument(crude[[1]], language = "english" )

Это устанавливает Java CLASSPATH для сеанса R в файл weka.jar, указанный выше. Однако ваш существующий путь к классам будет сброшен. Вы можете попытаться добавить старые записи обратно, если они у вас есть, и если они вам нужны.

person knb    schedule 10.01.2013