Datasets documentation
Buat dataset dokumen
Buat dataset dokumen
Panduan ini akan menunjukkan cara membuat dataset dokumen dengan PdfFolder dan beberapa metadata. Ini adalah solusi tanpa kode untuk dengan cepat membuat dataset dokumen dengan beberapa ribu PDF.
Anda dapat mengontrol akses ke dataset Anda dengan meminta pengguna untuk membagikan informasi kontak mereka terlebih dahulu. Lihat panduan Gated datasets untuk informasi lebih lanjut tentang cara mengaktifkan fitur ini di Hub.
PdfFolder
PdfFolder adalah pembangun dataset yang dirancang untuk memuat dataset dokumen dengan ribuan PDF dengan cepat tanpa mengharuskan Anda menulis kode apa pun.
💡 Lihat hierarki pola Split untuk mempelajari lebih lanjut tentang bagaimana
PdfFoldermembuat split dataset berdasarkan struktur repositori dataset Anda.
PdfFolder secara otomatis menyimpulkan label kelas dari dataset Anda berdasarkan nama direktori. Simpan dataset Anda dalam struktur direktori seperti:
folder/train/resume/0001.pdf
folder/train/resume/0002.pdf
folder/train/resume/0003.pdf
folder/train/invoice/0001.pdf
folder/train/invoice/0002.pdf
folder/train/invoice/0003.pdfJika dataset mengikuti struktur PdfFolder, maka Anda dapat memuatnya langsung dengan load_dataset():
>>> from datasets import load_dataset
>>> dataset = load_dataset("path/to/folder")Ini setara dengan meneruskan pdffolder secara manual di load_dataset() dan direktori di data_dir:
>>> dataset = load_dataset("pdffolder", data_dir="/path/to/folder")Anda juga dapat menggunakan pdffolder untuk memuat dataset yang melibatkan beberapa split. Untuk melakukannya, direktori dataset Anda harus memiliki struktur berikut:
folder/train/resume/0001.pdf
folder/train/resume/0002.pdf
folder/test/invoice/0001.pdf
folder/test/invoice/0002.pdfJika semua file PDF berada dalam satu direktori atau tidak berada pada level struktur direktori yang sama, kolom
labeltidak akan ditambahkan secara otomatis. Jika Anda membutuhkannya, tetapkandrop_labels=Falsesecara eksplisit.
Jika ada informasi tambahan yang ingin Anda sertakan tentang dataset Anda, seperti teks caption atau bounding box, tambahkan sebagai file metadata.csv di folder Anda. Hal ini memungkinkan Anda dengan cepat membuat dataset untuk berbagai tugas computer vision seperti text captioning atau object detection. Anda juga dapat menggunakan file JSONL metadata.jsonl atau file Parquet metadata.parquet.
folder/train/metadata.csv
folder/train/0001.pdf
folder/train/0002.pdf
folder/train/0003.pdfFile metadata.csv Anda harus memiliki field file_name atau *_file_name yang menghubungkan file PDF dengan metadata mereka:
file_name,additional_feature
0001.pdf,This is a first value of a text feature you added to your pdfs
0002.pdf,This is a second value of a text feature you added to your pdfs
0003.pdf,This is a third value of a text feature you added to your pdfsatau menggunakan metadata.jsonl:
{"file_name": "0001.pdf", "additional_feature": "This is a first value of a text feature you added to your PDFs"}
{"file_name": "0002.pdf", "additional_feature": "This is a second value of a text feature you added to your PDFs"}
{"file_name": "0003.pdf", "additional_feature": "This is a third value of a text feature you added to your PDFs"}Di sini, file_name harus berupa nama file PDF yang berada di samping file metadata. Secara lebih umum, ini harus berupa path relatif dari direktori yang berisi metadata ke file PDF.
Anda dapat menunjuk ke lebih dari satu PDF di setiap baris dalam dataset Anda, misalnya jika input dan output Anda keduanya berupa PDF:
{"input_file_name": "0001.pdf", "output_file_name": "0001_output.pdf"}
{"input_file_name": "0002.pdf", "output_file_name": "0002_output.pdf"}
{"input_file_name": "0003.pdf", "output_file_name": "0003_output.pdf"}Anda juga dapat mendefinisikan daftar PDF. Dalam hal itu, Anda perlu menamai field file_names atau *_file_names. Berikut adalah contohnya:
{"pdfs_file_names": ["0001_part1.pdf", "0001_part2.pdf"], "label": "urgent"}
{"pdfs_file_names": ["0002_part1.pdf", "0002_part2.pdf"], "label": "urgent"}
{"pdfs_file_names": ["0003_part1.pdf", "0002_part2.pdf"], "label": "normal"}OCR (Optical Character Recognition)
Dataset OCR memiliki teks yang terkandung dalam PDF. Contoh metadata.csv mungkin terlihat seperti:
file_name,text
0001.pdf,Invoice 1234 from 01/01/1970...
0002.pdf,Software Engineer Resume. Education: ...
0003.pdf,Attention is all you need. Abstract. The ...Muat dataset dengan PdfFolder, dan kolom text untuk caption PDF akan dibuat:
>>> dataset = load_dataset("pdffolder", data_dir="/path/to/folder", split="train")
>>> dataset[0]["text"]
"Invoice 1234 from 01/01/1970..."Unggah dataset ke Hub
Setelah Anda membuat dataset, Anda dapat membagikannya menggunakan huggingface_hub, misalnya. Pastikan Anda telah menginstal pustaka huggingface_hub dan telah masuk ke akun Hugging Face Anda (lihat tutorial Upload with Python untuk detail lebih lanjut).
Unggah dataset Anda dengan huggingface_hub.HfApi.upload_folder:
from huggingface_hub import HfApi
api = HfApi()
api.upload_folder(
folder_path="/path/to/local/dataset",
repo_id="username/my-cool-dataset",
repo_type="dataset",
)