TM のおさらい (I)
Text Mining: Bag of Words コースでは、コーパスはテキストの集合であり、テキストの前処理に使う関数を学びました。復習として、コーパスを作成してクリーンアップする一つの方法を以下に示します。コースは異なりますが、感情分析はテキストマイニングの一部なので、おさらいは役に立ちます。
- 文字ベクトルを
VectorSource()でテキストソースに変換します。 - テキストソースを
VCorpus()でコーパスに変換します。 tmのremovePunctuation()やstripWhitespace()、qdapのreplace_abbreviation()のようなクリーニング関数で、コーパスから不要な文字を取り除きます。
この演習では、標準的な前処理関数をまとめて適用できるように、カスタム関数 clean_corpus() が用意されています。
clean_corpus() は VCorpus() の出力を受け取り、クリーニング関数を適用します。例:
processed_corpus <- clean_corpus(my_corpus)
この演習はコースの一部です
Rで学ぶSentiment Analysis
演習の手順
R セッションには、2 つの短いドキュメントを含むテキストベクトル tm_define と、関数 clean_corpus() が用意されています。
VectorSource()をtm_defineに適用して、tm_vectorというオブジェクトを作成します。tm_vectorに対してVCorpus()を使い、tm_corpusを作成します。content()を使って、tm_corpusの最初のドキュメントの内容を確認します。- コーパス内のドキュメントはリスト構文でアクセスするので、
[[1]]のように二重の角かっこを使います。
- コーパス内のドキュメントはリスト構文でアクセスするので、
tm_corpusにカスタム関数clean_corpus()を適用してコーパスのテキストをクリーンアップします。新しいオブジェクト名はtm_cleanとします。- 新しい
tm_cleanオブジェクトの最初のドキュメントをもう一度確認し、clean_corpus()適用後にテキストがどう変化したかを見てみましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# clean_corpus(), tm_define are pre-defined
clean_corpus
tm_define
# Create a VectorSource
tm_vector <- ___
# Apply VCorpus
tm_corpus <- ___
# Examine the first document's contents
___(___[[___]])
# Clean the text
tm_clean <- ___
# Reexamine the contents of the first doc
___