1
00:00:06,080 --> 00:00:11,600
Chargement d'un jeu de données personnalisé. Bien que le Hub d'Hugging Face héberge plus d'un millier de jeux de données publics,

2
00:00:11,600 --> 00:00:15,040
vous devrez souvent travailler avec des données stockées sur votre ordinateur portable ou sur un serveur distant.

3
00:00:15,760 --> 00:00:19,520
Dans cette vidéo, nous allons découvrir comment la bibliothèque Datasets peut être utilisée pour charger des jeux de données qui

4
00:00:19,520 --> 00:00:24,800
ne sont pas disponibles sur le Hub d'Hugging Face. Comme vous pouvez le voir dans ce tableau, la bibliothèque Datasets

5
00:00:24,800 --> 00:00:30,080
fournit plusieurs scripts intégrés pour charger des jeux de données dans plusieurs formats. Pour charger un jeu de données dans

6
00:00:30,080 --> 00:00:34,160
l'un de ces formats, il vous suffit de fournir le nom du format à la fonction `load_dataset`,

7
00:00:34,160 --> 00:00:38,000
avec un argument `data_files` qui pointe vers un ou plusieurs chemins de fichier ou URL.

8
00:00:40,080 --> 00:00:44,400
Pour voir cela en action, commençons par charger un fichier CSV local. Dans cet exemple,

9
00:00:44,400 --> 00:00:48,720
nous téléchargeons d'abord un jeu de données sur la qualité du vin à partir du dépôt d'apprentissage automatique de l'UCI.

10
00:00:50,080 --> 00:00:56,000
Comme il s'agit d'un fichier CSV, nous spécifions ensuite le script de chargement `csv`. Ce script doit savoir

11
00:00:56,000 --> 00:01:00,160
où se trouvent nos données, nous fournissons donc le nom de fichier dans le cadre de l'argument `data_files`.

12
00:01:01,920 --> 00:01:05,760
Le script de chargement CSV vous permet également de transmettre plusieurs arguments mots clés. Nous avons donc également

13
00:01:05,760 --> 00:01:10,640
spécifié ici le séparateur sous la forme d'un point-virgule. Et avec cela, nous pouvons voir que le jeu de données est automatiquement chargé en

14
00:01:10,640 --> 00:01:15,360
tant qu'objet `DatasetDict`, avec chaque colonne du fichier CSV représentée comme une caractéristique.

15
00:01:17,360 --> 00:01:21,760
Si votre jeu de données se trouve sur un serveur distant comme GitHub ou un autre dépôt,

16
00:01:21,760 --> 00:01:26,320
le processus est très similaire. La seule différence est que l'argument `data_files` pointe désormais vers une

17
00:01:26,320 --> 00:01:33,600
URL au lieu d'un chemin de fichier local. Voyons maintenant comment charger des fichiers texte bruts. Ce format

18
00:01:33,600 --> 00:01:37,840
est assez courant en NLP et vous constaterez généralement que les livres et les pièces de théâtre ne sont qu'un seul fichier

19
00:01:37,840 --> 00:01:43,040
avec du texte brut à l'intérieur. Dans cet exemple, nous avons un fichier texte de pièces de Shakespeare qui est

20
00:01:43,040 --> 00:01:48,880
stocké sur un dépôt GitHub. Comme nous l'avons fait pour les fichiers CSV, nous choisissons simplement le script de chargement de texte

21
00:01:48,880 --> 00:01:54,080
et faisons pointer l'argument data_files vers l'URL. Comme vous pouvez le voir, ces fichiers sont traités

22
00:01:54,080 --> 00:01:58,640
ligne par ligne, de sorte que les lignes vides dans le texte brut sont également représentées sous forme de ligne dans le jeu de données.

23
00:02:00,560 --> 00:02:05,840
Pour les fichiers JSON, il existe deux formats principaux à connaître. Le premier s'appelle JSON Lines,

24
00:02:05,840 --> 00:02:10,880
où chaque ligne du fichier est un objet JSON distinct. Pour ces fichiers, vous pouvez charger le

25
00:02:10,880 --> 00:02:15,760
jeu de données en sélectionnant le script de chargement `json` et en faisant pointer l'argument `data_files` vers le fichier ou l'URL.

26
00:02:16,960 --> 00:02:21,840
Dans cet exemple, nous avons chargé un fichier de lignes JSON basé sur les questions et réponses Stack Exchange.

27
00:02:22,840 --> 00:02:26.400
L'autre format est celui des fichiers json imbriqués.

28
00:02:26.400 --> 00:02:33.440
Ces fichiers ressemblent à un énorme dictionnaire. La fonction `load_dataset` vous permet donc de spécifier la clé spécifique à charger. 

29
00:02:33.440 --> 00:02:41.200
Par exemple, le jeu de données SQUAD pour les réponses aux questions a ce format et nous pouvons le charger en spécifiant que nous sommes intéressés par le champ de données.

30
00:02:41.200 --> 00:02:44.720
Il y a juste une dernière chose à mentionner à propos de tous ces scripts de chargement.

31
00:02:44.720 --> 00:02:51.920
Si vous avez plus d'un split, vous pouvez les charger en traitant les fichiers de données comme un dictionnaire qui fait correspondre chaque nom de split à son fichier correspondant.

32
00:02:51.920 --> 00:02:59.360
Tout le reste reste inchangé et vous pouvez voir un exemple de chargement des splits d'entraînement et de validation de SQUAD ici.

33
00:02:59.360 --> 00:03:03.440
Et avec cela, vous pouvez maintenant charger des jeux de données depuis votre ordinateur portable, le Hub d'Hugging Face ou n'importe où ailleurs.