无法在Document-Term-Matrix

时间:2017-03-22 13:04:41

标签: r matrix text-processing tm term-document-matrix

我尝试创建一个矩阵,为此我想要文本。 为此,我使用此R指令:

matrix = create_matrix(tweets[,1], toLower = TRUE, language="english", 
                      removeStopwords=FALSE, removeNumbers=TRUE, 
                      stemWords=TRUE) 

这里是R代码:

library(RTextTools)
library(e1071)

pos_tweets =  rbind(
  c('j AIME la voiture', 'positive'),
  c('cette machine est performante', 'positive'),
  c('je me sens en bonne forme ce matin', 'positive'),
  c('je suis super excitée d aller voir le spectacle de demain', 'positive'),
  c('il est mon meilleur ami', 'positive')
)



neg_tweets = rbind(
  c('je séteste cette voiture', 'negative'),
  c('ce film est horrible', 'negative'),
  c('je suis fatiguée ce matin', 'negative'),
  c('je déteste ce concert', 'negative'),
  c('il n est pas mon ami', 'negative')
)

test_tweets = rbind(
  c('je suis heureuse ce matin', 'negative'),
  c('un bon ami', 'negative'),
  c('je me sens triste', 'positive'),
  c('pas belle cette maison', 'negative'),
  c('mauvaise chanson', 'negative')
)

tweets = rbind(pos_tweets, neg_tweets, test_tweets)

# build dtm
matrix= create_matrix(tweets[,1], toLower = TRUE, language="french", 
                      removeStopwords=FALSE, removeNumbers=TRUE, 
                      stemWords=TRUE) 

我注意到矩阵中有大写字母的单词。

你能解释一下我为什么会遇到这个问题吗?

谢谢

1 个答案:

答案 0 :(得分:3)

正如@chateaur所说,它确实在内部执行toLower,它不会在任意点向您公开管道的内容。 RTextTools + tm在您可以执行的操作,管道中的何处,何时以及以何种顺序构建严重的结构限制。这真的令人沮丧。避免......

我建议您编写自己的管道,最近我在调查时发现的最佳开源软件包是quanteda 。 为了说明它有一个重载的toLower()方法,你可以在字符串,语料库,令牌上使用 - 无论你喜欢什么,没有限制,在禁用词之前或之后,删除标点符号和词干。与RTextTools + tm不同,它还有许多其他有用的方法来构建您想要的任意步骤顺序的管道。 (您还可以通过查看活动维护者的数量/速率,提交,问题,修复,发布,github上的命中,SO,谷歌,代码的清洁程度和API来衡量quanteda等软件包的实用性......) 。

在前端使用RTextTools + tm有时会很痛苦,并且经常会受到限制。我只是发现了太多的错误,限制,语法怪癖和烦恼 - 它扼杀了我的生产力并不断地让我疯狂。而且它也不太高效。您仍然可以使用(RTextTools +)tm来构造和操作DTM(和TF / TFIDF)矩阵,并使用e1071作为分类器。

另外:对qdap包提及在文档/话语层面同样添加有用工具的荣誉提名。

(PS:R文本处理软件包如此分散......真是让人感到非常难过......很多人在交叉使用并疯狂地重新发明轮子......但有时这种情况会因多种原因而发生。)< / p>