Datasets documentation

تحميل مجموعة بيانات من المستودع

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تحميل مجموعة بيانات من المستودع

قد يكون العثور على مجموعات بيانات عالية الجودة قابلة للتكرار وسهلة الوصول أمراً صعباً. أحد الأهداف الرئيسية لـ 🤗 Datasets هو توفير طريقة بسيطة لتحميل مجموعة بيانات بأي صيغة أو نوع. أسهل طريقة للبدء هي اكتشاف مجموعة بيانات موجودة على Hugging Face Hub - وهي مجموعة مجتمعية من مجموعات البيانات للمهام في معالجة اللغة الطبيعية، ورؤية الحاسوب، والصوت - واستخدام 🤗 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، ويجب عليك تحديد واحدة منها بشكل صريح عند تحميل مجموعة البيانات. إذا لم تُقدم اسمًا للتكوين، فسيُطلق 🤗 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