始める無料で始める

tm でメタデータを取り込む

取り組む目的によっては、コーパスを作成するときに各ドキュメントのメタデータを保持したい場合があります。

ドキュメント単位のメタデータを取り込むには、列名と順序は次のとおりであることが必須です。

  1. doc_id - 各ドキュメントに固有の文字列
  2. text - 解析対象のテキスト
  3. ... - それ以外の列はすべて、自動的に メタデータとして登録されます。

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[___])
コードを編集して実行