ベクターを VCorpus オブジェクトにする (2)
ベクターを Source オブジェクトに変換できたので、次はそれを tm の別の関数 VCorpus() に渡して、揮発性コーパス(volatile corpus)を作成します。けっこうシンプルですよね。
VCorpus オブジェクトは入れ子のリスト(リストのリスト)です。VCorpus の各インデックスには PlainTextDocument オブジェクトがあり、これは実際のテキストデータ(content)と、それに対応するメタデータ(meta)を含むリストです。全体像をつかむには、VCorpus オブジェクトを可視化してみると役立ちます。
単一のドキュメントオブジェクト(10番目)を確認するには、二重の角括弧で抽出します。
coffee_corpus[[10]]
実際のテキストを確認するには、リストを2回インデックス指定します。タイムスタンプなどのドキュメントのメタデータにアクセスするには、[1] を [2] に変更します。もう一つのプレーンテキストの確認方法は、content() 関数を使うことです。こちらは2回目の角括弧が不要です。
coffee_corpus[[10]][1]
content(coffee_corpus[[10]])
この演習はコースの一部です
Rで学ぶBag-of-Wordsによるテキストマイニング
演習の手順
coffee_sourceオブジェクトに対してVCorpus()関数を呼び出し、coffee_corpusを作成します。- コンソールに出力して、
coffee_corpusがVCorpusオブジェクトであることを確認します。 coffee_corpusの15番目の要素をコンソールに出力し、15番目のツイートの本文とメタデータを含むPlainTextDocumentであることを確かめます。二重角括弧で抽出してください。coffee_corpus内の15番目のツイートの本文を出力します。該当ツイートを二重角括弧で選び、続けて単一角括弧でその本文を取り出してください。coffee_corpus内の10番目のツイートのcontent()を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
## coffee_source is already in your workspace
# Make a volatile corpus from coffee_source
coffee_corpus <- ___
# Print out coffee_corpus
___
# Print the 15th tweet in coffee_corpus
___
# Print the contents of the 15th tweet in coffee_corpus
___
# Now use content to review the plain text of the 10th tweet
___(___[[___]])