2013-02-07 250 views
2

我正在使用R tm軟件包,發現幾乎沒有任何刪除文本元素的tm_map函數正在爲我工​​作。R tm removeWords停用詞不會刪除停用詞

通過 '工作' 我的意思是,例如,我要跑:

d <- tm_map(d, removeWords, stopwords('english')) 

但後來當我運行

ddtm <- DocumentTermMatrix(d, control = list(
    weighting = weightTfIdf, 
    minWordLength = 2)) 
findFreqTerms(ddtm, 10) 

我仍然得到:

[1] the  this 

..等等,還有一堆其他的停用詞。

我看不出錯誤,表明出現了問題。有沒有人知道這是什麼,以及如何正確地使stopword-刪除功能,或診斷出什麼是我的錯?

UPDATE

存在錯誤同期增長,我沒趕上:

Refreshing GOE props... 
---Registering Weka Editors--- 
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... 

這是Weka的是在TM去除停用詞,對不對?所以這可能是我的問題?

更新2

this,這個錯誤似乎是無關的。這是關於數據庫,而不是停用詞。

+0

您是否嘗試過在此處建議的內容:https://stat.ethz.ch/pipermail/r-help/ 2012年2月/ 302479.html? – Ben

+0

謝謝,但看起來這樣只會壓制我的錯誤消息,不幫助weka找到該文件,對不對? – Mittenchops

回答

6

沒關係,它正在工作。我做了以下最低例子:

data("crude") 
crude[[1]] 
j <- Corpus(VectorSource(crude[[1]])) 
jj <- tm_map(j, removeWords, stopwords('english')) 
jj[[1]] 

我曾在系列使用的幾個tm_map表達式。事實證明,我已經刪除了空格,標點符號等的命令,並將新的停用字串聯起來。

+3

是的,它可能是邪惡的,以正確的順序獲得這些'tm_map'函數。過去我一直在努力阻止並找到重新排序的順序來幫助。很高興你把事情解決了。 – Ben

+2

我在removeWords中的自定義單詞基本上有同樣的問題。該命令應該是什麼?我正在運行stripWhitepace,removePunctuation,removeWords和stemDocument。我想我會想到,但也許值得用正確的順序更新解決方案。 –