Datasets documentation

Hubからデータセットを読み込む

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hubからデータセットを読み込む

再現可能かつアクセスしやすい高品質なデータセットを見つけるのは難しい場合があります。🤗 Datasets の主な目標の一つは、あらゆる形式やタイプのデータセットをロードするためのシンプルな方法を提供することです。始める最も簡単な方法は、Hugging Face Hub(NLP、コンピュータビジョン、オーディオのタスク向けのデータセットのコミュニティ主導のコレクション)で既存のデータセットを見つけ、🤗 Datasets を使用してダウンロードし、データセットを生成することです。

このチュートリアルでは、rotten_tomatoesとMInDS-14のデータセットを使用しますが、ご自身で任意のデータセットを読み込んで、そのまま進めていただいても構いません。今すぐHubにアクセスして、タスクに合ったデータセットを見つけてください!

データセットの読み込み

データセットのダウンロードに時間を費やす前に、データセットに関する一般的な情報を素早く確認することが役立つことが多いです。データセットの情報はDatasetInfo内に保存されており、データセットの説明、特徴、データセットのサイズなどの情報を含めることができます。

load_dataset_builder() 関数を使用して、データセットのビルダーを読み込み、ダウンロードを確定せずにデータセットの属性を確認できます。

>>> from datasets import load_dataset_builder
>>> ds_builder = load_dataset_builder("cornell-movie-review-data/rotten_tomatoes")

# Inspect dataset description
>>> ds_builder.info.description
Movie Review Dataset. This is a dataset of containing 5,331 positive and 5,331 negative processed sentences from Rotten Tomatoes movie reviews. This data was first used in Bo Pang and Lillian Lee, ``Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales.'', Proceedings of the ACL, 2005.

# Inspect dataset features
>>> ds_builder.info.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}

データセットに問題がなければ、load_dataset()で読み込みます:

>>> from datasets import load_dataset

>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")

分割

スプリットとは、trainやtestのようなデータセットの特定のサブセットです。get_dataset_split_names()関数を使用して、データセットのスプリット名をリストできます:

>>> from datasets import get_dataset_split_names

>>> get_dataset_split_names("cornell-movie-review-data/rotten_tomatoes")
['train', 'validation', 'test']

その後、splitパラメータを使用して特定の分割を読み込むことができます。データセットのsplitを読み込むと、Datasetオブジェクトが返されます。

>>> from datasets import load_dataset

>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> dataset
Dataset({
    features: ['text', 'label'],
    num_rows: 8530
})

splitを指定しない場合、🤗 Datasetsは代わりにDatasetDictオブジェクトを返します:

>>> from datasets import load_dataset

>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes")
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text', 'label'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 1066
    })
})

設定

一部のデータセットには複数のサブデータセットが含まれています。例えば、MInDS-14データセットには複数のサブデータセットがあり、それぞれが異なる言語の音声データを含んでいます。これらのサブデータセットはconfigurationsまたはsubsetsと呼ばれ、データセットを読み込む際に明示的に1つを選択する必要があります。設定名を指定しない場合、🤗 DatasetsはValueErrorを発生させ、設定を選択するよう促します。

get_dataset_config_names()関数を使用して、データセットで利用可能なすべての設定のリストを取得します:

>>> from datasets import get_dataset_config_names

>>> configs = get_dataset_config_names("PolyAI/minds14")
>>> print(configs)
['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR', 'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN', 'all']

次に、読み込みたい設定を読み込みます:

>>> from datasets import load_dataset

>>> mindsFR = load_dataset("PolyAI/minds14", "fr-FR", split="train")
Update on GitHub