2017-03-22 4 views
0

私は行列を作成しようとしています。ここでRコードDocument-Term-Matrixの `RTextTools :: toLower()`テキストの結果を見ることができません

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

::私は、マトリックス中の大文字を持つ単語があることを発言

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) 

問題 はこのために私は、このRの命令を使用します。

この問題が発生する理由を教えてください。

が@chateaurが言ったように、それは内部的にTOLOWERを実行し、あなたに

+1

どこ行列に大文字が見えますか?私は、関数create_matrixのパラメータtoLowerが、データを小文字として扱うように関数に指示するだけであるが、実際にはデータそのものを変更しないと思う。 – chateaur

+0

実際には、行列を調べると、ドキュメントは(matrix $ dimnames $ Docsのように)元の形で表示されますが、用語は小文字になります( 'matrix $ dimnames $ Terms'参照)。内部的にはすべてうまくいくようです:_aime_が_j AIME la voiture_に1回見つかります。 – Scarabee

答えて

3

をありがとう、それはちょうどあなたの任意の点でのパイプラインの内容を公開していません。 RTextTools + tmは、できること、どこで、いつ、どのようなシーケンスであなたのパイプラインの中で厳しい構造制限を作ります。本当にイライラしています。それを避ける...

を私はあなたがあなた自身のパイプライン、と私は、これは最近quantedaだっ調査していたときに私はパイプラインが見つかり最高のオープンソースのパッケージを作成しをお勧めします。 ポイントを説明するために、オーバーロードされたtoLower()メソッドがあります。ストリング、コーパス、トークンに使用できます - 好きな場所で、制限なし、ストップワードの前後に、句読点の削除とステミングがあります。また、RTextTools + tmとは異なり、任意のステップの任意のシーケンスでパイプラインを構築するためのその他の便利なメソッドがたくさんあります。 (あなたは、アクティブ保守者、コミット、問題、修正、リリース、githubのヒット数、SO、google、コードの清潔度、APIの数/レートを調べることで、quantedaのようなパッケージの有用性を測定することもできます) 。

フロントエンドでRTextTools + tmを使用すると、痛いことがあり、多くの場合制限があります。私はバグ、制限、文法の癖や煩わしさがあまりにも多くありました。それは私の生産性を犠牲にし、絶えず私を苦しめました。それはあまりにも演奏的ではありませんでした。 DTM(TF/TFIDF)行列の構築と操作には(RTextTools +)tmを、分類子にはe1071を使用することができます。

また、文書/談話レベルでも同様に便利なツールを追加するためのパッケージqdapに敬意を表します。

(PS:それはRテキスト処理パッケージはとてもbalkanized ...これほど多くの人々が、クロスの目的で働くと猛烈に車輪の再発明していることを、本当に悲しいです...しかし、時にはいくつかの理由のために起こるもの)

関連する問題