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에서 기존 데이터셋을 발견하는 것입니다. Hugging Face Hub는 NLP, 컴퓨터 비전, 오디오 작업에 대한 데이터셋의 커뮤니티 주도 컬렉션입니다. 🤗 Datasets를 사용하여 해당 데이터셋을 다운로드하고 생성할 수 있습니다.

이 튜토리얼에서는 rotten_tomatoes와 MInDS-14 데이터셋을 사용하지만, 원하는 데이터셋을 로드하여 따라 해보셔도 됩니다. 지금 바로 Hub로 이동하여 작업에 맞는 데이터셋을 찾아보세요!

데이터셋 로드

데이터셋을 다운로드하기 전에, 데이터셋에 대한 일반적인 정보를 빠르게 확인하는 것이 유용한 경우가 많습니다. 데이터셋의 정보는 DatasetInfo에 저장되며, 데이터셋 설명, features, 데이터셋 크기 등의 정보를 포함할 수 있습니다.

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")

분할

Split은 train과 test와 같은 데이터셋의 특정 부분 집합입니다. get_dataset_split_names() 함수를 사용하여 데이터셋의 split 이름을 나열할 수 있습니다:

>>> from datasets import get_dataset_split_names

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

이후 split 매개변수를 사용하여 특정 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라고 불리며, 데이터셋을 로드할 때 하나를 명시적으로 선택해야 합니다. 구성 이름을 제공하지 않으면 🤗 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