2017-07-22 2 views
0

私は、どのトピックが有名人の話を理解しようとしていました。私はtwitter API接続を確立し、検証されたハンドルからいくつかの人物のつぶやきを得ました。有名人のつぶやきを使用して作成した自分のワードクラウドに「fffd」が表示されます

私は以下のことでつぶやきを処理し -

  1. 空白
    AmitText=str_replace_all(tweets.df$text,"[^[:graph:]]", " ")
  2. でグラフィック文字を置き換えは、ケースに
  3. 削除句読点、ハイパーリンク、タブ、キーワード "RT" とblankspacesを下げるために、すべての文字を変換さつぶやきの最初と最後に
  4. コーパスが作成され、ストップワードが削除され、ワー​​ドクラウドが作成されました
    AmitText.corpus <- Corpus(VectorSource(AmitText))
    AmitText.corpus <- tm_map(AmitText.corpus, removeWords, stopwords("en"))
    wordcloud(AmitText.corpus,min.freq = 2, scale=c(7,0.5),colors=brewer.pal(8, "Dark2"),random.color= FALSE, random.order = FALSE, max.words = 150)

これはまともなwordcloudを作成しますが、問題がある、私はこれがセレブで一番つぶやい単語であることを示唆し、wordcloudの真ん中に大きな「FFFD」を取得。実際、これは私が7人の有名人すべてに見られるパターンです。これが当てはまらないと確信していましたが、生のつぶやきもチェックして、つぶやきにfffdという単語は見つかりませんでした。私が理解しているところから、これは正しく読み込まれないグラフィックキャラクターです。私は理由とGoogleが多くの助けではないと確信していません

答えて

1

あなたのデータ前処理の始めにこれを試してみましょう。

iconv(tweet$text, from="UTF-8", to="ASCII", sub="") 


は、それはあなたの問題を解決した場合はお知らせすることを忘れないでください:)

+0

「ab28millionインドsrbachchan多くのお祝いの先生のashokmistry4545の誇り」。 likeのような文字がfffdとして読み込まれていると思いますか? ( "[:alnum:] ///」^ []"、 ""、ツイート$テキスト) 'GSUB - なぜ'つぶやき$テキスト<を使用していないこれらのジャンク値を削除する – Krithi07

+0

。ところで - はい、これはあなたが(tolowerを行うFFFDの原因は)です - 詳細 – Prem

+0

恐ろしいのために、この[リンク](https://en.wikipedia.org/wiki/Specials_(Unicode_block))を参照してください!これはうまくいった。ありがとう:) – Krithi07

0

彼らは文字をジャンクではありません。彼らはどこかデータはの彼らのテキストを誤った取り扱いによるを失ったことをあなたにとユーザーを伝えるために設計されています。

「1000をお支払い下さい」と、元は「₹1000払ってください」である-OR、それは「₿1000をお支払いください」であったとき、「1000をお支払いください」の間には大きな違いがありますか? Removingを取り除くのは理想的な解決策ではありません。

どこかのプログラムが、書かれたものと一緒に送られたものとは別の文字エンコードを使ってテキストファイルやストリームを読んでいます。そのような単純な。うまくいけば、それを上流に修正することができます。私はまだツイートテキストの一つとしてこれを見る

+0

ああ、 と[U + FFFD](http://www.fileformat.info/info/unicode/char/fffd/index.htm)は同じことです。 –

+0

は、UTF形式では判読できないものを示し、U + FFFDに置き換えられています。これがワードクラウドで最大周波数の単語としてfffdが表示される理由です。 – Krithi07

+0

確かに、それは読めないという意図で書かれていませんでした。それを誤読しているバグのあるコードを見つけてください。 –

関連する問題