2016-05-19 6 views
0

私はRにとって新しく、最近テキスト解析プロジェクトで作業を開始しました。私は自分の話を構成する言葉を語りたいと思っています。私がインストールされている パッケージは、次のとおりです。迷惑メールデータをテキスト分析からどのように取り除くことができるのですか

tm 
SnowballC 
wordcloud 

データはフィードバックのもので、英語の言語の一部ではないチケット生成のためのジャンクワードの多くが含まれています。 ジャンクの言葉を削除する方法はありますか?適切な英語のものでのみ動作しますか? 削除する単語のリストを作成しようとしましたが、リストに追加するには多すぎます。ストップワードを削除するには おかげ

+0

'tm'がそうです。再現可能な例を追加すると、手助けが楽になります – Sotos

+0

英語以外の単語を削除するのはかなり簡単です。大量の辞書(茶色やロイターのようなもの)をダウンロードし、それらをデータフレームに変換し、 '!(df1 $ word%in%dictionary $ word)'サブセット...再現可能な例を与えることは、あなたのデータのために... – Gaurav

+0

こんにちはGaurav、私のワードクラウドは降順で頻度を示しています:jqxwb、gghtf、neelam、jhwqex、lkjbne、taslima、刺繍、同意、datatime ...私に関連する言葉は、同意する。残りの部分を取り除きたい...この例が問題をよりよく理解するのに役立ちますように! – eclairs

答えて

0

はこれを試して

助けてください...:あなたはすでに、単一の単語に区切りのテキストを持っている場合、私は知らない

df %>% 
    unnest_tokens(word_column, text_column) %>% 
    anti_join(stop_words, by = "word_column") 

、その理由のためにそこにあります関数のネストトークン(出力列名、入力列名(setencesを持つ列))。

アンチその後、ストップワードを削除する関数に参加

0

、インナーはtidytextパッケージからのデータフレーム「parts_of_speech」を使用してデータを結合し、同じtidytextからのデータフレームを使用して、ストップワードを削除し、英語以外の単語を削除するにはパッケージ。

library(dplyr) # loads inner_join, anti_join 
# load unnest_tokens(); parts_of_speech stop_words data frames: 
library(tidytext) 
data(package="tidytext") # show built-in data frames 

# optional, show richness of parts_of_speech dataset 
all_english_words <- parts_of_speech$word # , > 200000 rows 
grep("apple", all_english_words, value=TRUE) 

# assume data-frame df containing your data was already created, 
# contains column `text_column`, all lowercase 
new_df <- df %>% 
    unnest_tokens(word, text_column) %>% 
    inner_join(word, parts_of_speech, by = "word") %>% 
    anti_join(stop_words, by = "word") 

glimpse(new_df) 

微妙な微妙な調整が必要な場合があります。

関連する問題