コンテンツにスキップ

コーパスとデータ

toiro.datadownloader モジュールは、日本語のテキスト分類タスク用のコーパスを簡単にダウンロードして利用できる機能を提供します。

利用可能なコーパス

livedoor ニュースコーパス

  • タスク: テキスト分類(ニュースカテゴリ分類)
  • カテゴリ数: 9カテゴリ
  • カテゴリ: トピックニュース、Sports Watch、ITライフハック、家電チャンネル、MOVIE ENTER、独女通信、エスマックス、livedoor HOMME、Peachy
  • 提供元: livedoor ニュースコーパス

Yahoo! 映画レビュー

  • タスク: 感情分析(ポジティブ/ネガティブ)
  • ドメイン: 映画レビュー
  • データ形式: レビューテキストと評価スコア

Amazon レビュー

  • タスク: 感情分析(ポジティブ/ネガティブ)
  • ドメイン: 商品レビュー
  • データ形式: レビューテキストと評価スコア

基本的な使い方

コーパスの一覧を取得

from toiro import datadownloader

corpora = datadownloader.available_corpus()
print(corpora)
# => ['livedoor_news_corpus', 'yahoo_movie_reviews', 'amazon_reviews']

コーパスのダウンロード

datadownloader.download_corpus("livedoor_news_corpus")

コーパスは ~/.toiro/ ディレクトリにダウンロードされます。

コーパスの読み込み

train_df, dev_df, test_df = datadownloader.load_corpus("livedoor_news_corpus")

# データの確認
print(f"Train: {len(train_df)} samples")
print(f"Dev: {len(dev_df)} samples")
print(f"Test: {len(test_df)} samples")

# データ構造(pandas DataFrame)
# カラム 0: ラベル
# カラム 1: テキスト
texts = train_df[1].tolist()
labels = train_df[0].tolist()

データの前処理

ダウンロードしたコーパスは、train/dev/test に分割済みの pandas DataFrame として提供されます。

# 例: トークナイザの評価用にテキストのみ抽出
texts = train_df[1].tolist()

# 例: 分類器の学習用にラベルとテキストを抽出
X_train = train_df[1].tolist()
y_train = train_df[0].tolist()

データの保存場所

ダウンロードしたコーパスは ~/.toiro/ ディレクトリに保存されます。一度ダウンロードすれば、以降は load_corpus() で直接読み込めます。