无法在 Document-Term-Matrix 中看到“RTextTools::toLower()”文本的结果

Impossible to see results of `RTextTools::toLower()` text in Document-Term-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) 

我备注矩阵中有大写字母的问题

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

谢谢

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

我推荐你编写你自己的管道,我最近在调查这个问题时发现的最好的管道开源包是quanteda。 为了说明这一点,它有一个重载的 toLower() 方法,您可以在字符串、语料库、标记上使用 - 任何您喜欢的地方,没有限制,在停用词之前或之后,标点符号删除和词干提取。与 RTextTools + tm 不同,它还有许多其他有用的方法可以按照您想要的任意顺序的步骤构建您的管道。 (您还可以通过查看活跃维护者的 number/rate、提交、问题、修复、发布、点击 github、SO、google、清洁度来衡量像 quanteda 这样的软件包的有用性代码和 API...)。

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

另外:对 qdap 包的荣誉提名,因为它在 document/discourse-level 上同样添加了有用的工具。

(PS:R 文本处理包如此割裂,真是令人难过……这么多人在交叉目的上工作,疯狂地重新发明轮子……但有时出于多种原因会发生这种情况。 )