2011-10-01 92 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文件。不过,您现有的类路径将被重置。你可以尝试添加旧的条目,如果你有一些,如果你需要它们。