tm でメタデータを取り込む
取り組む目的によっては、コーパスを作成するときに各ドキュメントのメタデータを保持したい場合があります。
ドキュメント単位のメタデータを取り込むには、列名と順序は次のとおりであることが必須です。
doc_id- 各ドキュメントに固有の文字列text- 解析対象のテキスト...- それ以外の列はすべて、自動的に メタデータとして登録されます。
DataframeSource() の期待に合わせるために、列名を変更する必要があることがあります。names() 関数が役立ちます。
tweets はワークスペース内に、列 "num"、"text"、"screenName"、"created" を持つデータフレームとして存在します。
この演習はコースの一部です
Rで学ぶBag-of-Wordsによるテキストマイニング
演習の手順
tweetsの最初の列名を "doc_id" に変更します。- 小さめの
tweetsデータフレームに対してDataframeSource()を使い、ドキュメントのスキーマを設定します。 - ドキュメント集合を、カスタム関数
clean_corpus()の中で ネスト した 揮発性 コーパスにします。 - 最初のツイートに
text_corpus[[1]]のように 二重 角かっこを使ってcontent()を適用し、クリーニング後のプレーンテキストを確認します。 - 最初のドキュメントに対して 一重 角かっこで
meta()関数を使い、すべてのメタデータが取り込まれていることを確認します。
コーパスの一部にアクセスする際は、二重 と 一重 の角かっこの違いが重要です!この演習では、content() には二重、meta() には一重の角かっこを使います。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Rename columns
___(tweets)[1] <- "___"
# Set the schema: docs
docs <- ___(___)
# Make a clean volatile corpus: text_corpus
text_corpus <- clean_corpus(___(___))
# Examine the first doc content
___(text_corpus[[___]])
# Access the first doc metadata
___(text_corpus[___])