2011-10-01 91 views
2

我正在嘗試在調用Java的R語言tm包中使用stemDocument來阻止語料庫。 我曾嘗試例如在TM手冊:如何在R語言的tm(文本挖掘)包中使用stemDocument?

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

,並出現以下錯誤:

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

任何幫助表示讚賞。我對Java一無所知。

謝謝

+0

對我來說,必須是你的Java安裝(你已經安裝了Java,對嗎?)。 –

回答

1

好問題,你有沒有解決它?

我得到與您唯一的代碼相同的錯誤。但是如果你從一開始就遵循這個例子(例如在'p. 1'上的轉換標題),並且創建了一個語料庫並將其轉換爲純文本文檔,那麼您就避免了Java錯誤。我想manual中的代碼示例假設您已經完成了這兩個步驟。

也就是說,當我檢查結果時,沒有實際的詞幹...我甚至無法獲得stemDocument的@ user813966的simple example來做任何詞幹。我正在查看RStem和SnowBall包。

與此同時,python package NLTK是我的詞幹工具。

更新:我得到了stemDocument功能加入language = "english"如下工作:

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

所以完全回答你的問題,是按照輸入的文字轉換爲R的所有步驟根據TM包。你還需要rJava(並且將環境變量設置爲包含jre目錄的JAVA_HOME目錄,如果你在windows環境下工作)才能使stemDocument正常工作

1

我在我身邊有同樣的錯誤。通過在我的課程路徑中添加Snowball .jar和詞幹的相應/詞庫來解決它: C:\ Users \ xxx.xxx \ Documents \ R \ win-library \ 2.12 \ Snowball \ java

This在這裏建議: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... 
+1

感謝您發佈此信息。我試圖按照相同的說明進行操作,並且發現了您發佈的相同錯誤。但是,我的文本並沒有被阻止。我想我可能會錯過一步。當你說你添加相應的/詞庫時,那是什麼?是否包含在\ Snowball \ java中? – exl

1

雪球詞幹(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") 

這爲R對話的Java類路徑的從上面的weka.jar文件。不過,您現有的類路徑將被重置。你可以嘗試添加舊的條目,如果你有一些,如果你需要它們。