paint-brush
Conjuntos de datos de PNL de HuggingFace: cómo acceder a ellos y entrenarlospor@davisdavid
23,722 lecturas
23,722 lecturas

Conjuntos de datos de PNL de HuggingFace: cómo acceder a ellos y entrenarlos

por Davis David4m2021/08/17
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

La biblioteca de conjuntos de datos de NLP de Hugging Face proporciona una forma eficiente de cargar y procesar conjuntos de datos de NLP a partir de archivos sin procesar o datos en memoria. La biblioteca de conjuntos de datos tiene un total de 1182 conjuntos de datos que se pueden usar para crear diferentes soluciones de PNL. Puede usar esta biblioteca con otros marcos de aprendizaje automático populares en el aprendizaje automático, como Numpy, Pandas, Pytorch y TensorFlow. Todos estos conjuntos de datos también se pueden explorar en HuggingFace Hub y se pueden ver y explorar en línea.

People Mentioned

Mention Thumbnail

Company Mentioned

Mention Thumbnail
featured image - Conjuntos de datos de PNL de HuggingFace: cómo acceder a ellos y entrenarlos
Davis David HackerNoon profile picture

La biblioteca de conjuntos de datos de Hugging Face proporciona una forma muy eficiente de cargar y procesar conjuntos de datos de NLP a partir de archivos sin procesar o datos en memoria. Estos conjuntos de datos de PNL han sido compartidos por diferentes comunidades de investigadores y profesionales de todo el mundo.

También puede cargar varias métricas de evaluación utilizadas para comprobar el rendimiento de los modelos NLP en numerosas tareas.

Si está trabajando en procesamiento de lenguaje natural y desea un conjunto de datos de PNL para su próximo proyecto, le recomiendo que use esta biblioteca de Hugging Face.

Puede usar esta biblioteca con otros marcos populares en el aprendizaje automático, como Numpy , Pandas , Pytorch y TensorFlow. Aprenderá más en los ejemplos a continuación.

Los conjuntos de datos de NLP están disponibles en diferentes tareas, como

  • Clasificación de texto
  • Pregunta-respuesta
  • Modelado de secuencias
  • Máquina traductora,
  • Reconocimiento automático de voz
  • Análisis de los sentimientos
  • Procesamiento de voz
  • Nombre entidad Reconocimiento
  • Etiquetado de parte del discurso
  • otros

Puede encontrar los conjuntos de datos de PNL en más de 186 idiomas. Todos estos conjuntos de datos también se pueden explorar en HuggingFace Hub y se pueden ver y explorar en línea con el visor de conjuntos de datos.


En este artículo, aprenderá cómo descargar, cargar, configurar y usar conjuntos de datos de NLP de la biblioteca de conjuntos de datos de caras abrazadas.

Empecemos.

Cómo instalar la biblioteca de conjuntos de datos

La instalación es fácil y toma solo unos minutos. Puedes usar pip de la siguiente manera:

 pip install datasets

Otra opción para la instalación es usar conda de la siguiente manera.

 conda install -c huggingface -c conda-forge datasets

Lista de conjuntos de datos

Para ver la lista de diferentes conjuntos de datos disponibles de la biblioteca, puede usar el

list_datasets()
función de la biblioteca.

 from datasets import list_datasets, load_dataset from pprint import pprint datasets_list = list_datasets() pprint(datasets_list,compact= True ) 

Actualmente, la biblioteca de conjuntos de datos tiene un total de 1182 conjuntos de datos que se pueden usar para crear diferentes soluciones de PNL.

Lista de conjuntos de datos con detalles

También puede ver una lista de los conjuntos de datos con detalles agregando un argumento llamado

 with_details
igual a
 True
en la función list_datases() de la siguiente manera.

 datasets_list = list_datasets(with_details= True ) pprint(datasets_list)

Esto mostrará una lista de conjuntos de datos con su id (nombre), descripciones y archivos (si se descargaron en su máquina local).

Cargar conjunto de datos

Para cargar el conjunto de datos de la biblioteca, debe pasar el nombre del archivo en el

 load_dataset()
función.

La función load_dataset hará lo siguiente.

  • Descargue e importe en la biblioteca el script de procesamiento de archivos del repositorio Hugging Face GitHub.
  • Ejecute el script de archivo para descargar el conjunto de datos
  • Devuelve el conjunto de datos solicitado por el usuario. De forma predeterminada, devuelve el conjunto de datos completo.
 dataset = load_dataset( 'ethos' , 'binary' )

En el ejemplo anterior, descargué el conjunto de datos de ethos de la cara abrazada.

"ETHOS: CONJUNTO DE DATOS DE DETECCIÓN DEL DISCURSO DE ODIO EN LÍNEA. Este repositorio contiene un conjunto de datos para la detección del discurso de odio en las plataformas de redes sociales, llamado Ethos. Hay dos variaciones del conjunto de datos:" - Página de HuggingFace

Nota: Cada conjunto de datos puede tener varias configuraciones que definen la subparte del conjunto de datos que puede seleccionar. Por ejemplo, el conjunto de datos ethos tiene dos configuraciones.

  • versión binaria
  • versión multietiqueta

Carguemos la versión binaria que hemos descargado.

 print(dataset)

Dividir los conjuntos de tren y validación

A veces, no desea descargar el conjunto de datos completo, puede usar el parámetro de división para especificar si desea descargar el conjunto de entrenamiento, validación o prueba del conjunto de datos.

 ethos_train = load_dataset( 'ethos' , 'binary' ,split= 'train' ) ethos_validation = load_dataset( 'ethos' , 'binary' ,split= 'validation' )

Esto guardará el conjunto de entrenamiento en el

 ethos_train
variable y la validación establecida en
 ethos_validation
variable.

Nota: No todos los conjuntos de datos tienen el conjunto de entrenamiento, validación y prueba. Algunos de ellos pueden contener solo el juego de trenes. Por lo tanto, debe leer más sobre el conjunto de datos que desea descargar de la página del conjunto de datos de caras abrazadas .

Cargar conjunto de datos desde un archivo local

Puede usar la biblioteca para cargar su conjunto de datos local desde la máquina local. Puede cargar conjuntos de datos que tengan el siguiente formato.

  • Archivos CSV
  • Archivos JSON
  • Archivos de texto (leídos como un conjunto de datos línea por línea),
  • Marco de datos en escabeche de pandas

Para cargar el archivo local, debe definir el formato de su conjunto de datos (por ejemplo, "CSV") y la ruta al archivo local.

 dataset = load_dataset( 'csv' , data_files= 'my_file.csv' )

De manera similar, puede crear una instancia de un objeto Dataset desde un DataFrame de pandas de la siguiente manera:

 from datasets import Dataset import pandas as pd df = pd.DataFrame({ "a" : [ 1 , 2 , 3 ]}) df_dataset = Dataset.from_pandas(df) print(df_dataset)

Modo de descarga

Cuando carga datos ya descargados desde el directorio de caché, puede controlar cómo

load_datasets()
la función lo maneja configurando su parámetro download_mode.

Las opciones de parámetros son las siguientes.

  • "reuse_dataset_if_exists" (predeterminado): esto reutilizará las descargas sin procesar y el conjunto de datos preparado si existen en el directorio de caché.
  • "reuse_cache_if_exists": utilizará el conjunto de datos en caché.
  • "force_redownload" : esto volverá a descargar el conjunto de datos.
 dataset = load_dataset( 'ethos' , 'binary' , download_mode= "force_redownload" )

En el ejemplo anterior, volvemos a descargar el conjunto de datos ethos con configuración binaria.

Configuración del formato

Puede establecer el formato de la instancia del conjunto de datos utilizando el

 set_format()
función que toma como argumentos.

tipo: una cadena opcional que define el tipo de los objetos que debe devolver

 datasets.Dataset.getitem()
:

  • Ninguno/'python' (predeterminado): devolver objetos python,
  • 'torch'/'pytorch'/'pt': devuelve los tensores de PyTorch,
  • 'tensorflow'/'tf' : devuelve los tensores de Tensorflow,
  • 'jax': devuelve matrices JAX,
  • 'numpy'/'np' : devuelve matrices Numpy,
  • 'pandas'/'pd' : devuelve Pandas DataFrames
 ethos_train.set_format(type= 'pandas' , columns=[ 'comment' , 'label' ])

En el ejemplo anterior, configuramos el tipo de formato como "pandas" .

Reflexiones finales sobre conjuntos de datos de PNL de Huggingface

En este artículo, ha aprendido cómo descargar conjuntos de datos de la biblioteca de conjuntos de datos de caras abrazadas, dividirlos en conjuntos de entrenamiento y validación, cambiar el formato del conjunto de datos y más. No cubrimos todas las funciones disponibles en la biblioteca de conjuntos de datos. Consulte los siguientes recursos si desea profundizar más.

Si aprendiste algo nuevo o disfrutaste leyendo este artículo, compártelo para que otros puedan verlo. Hasta entonces, ¡nos vemos en el próximo post!

También puedes encontrarme en Twitter @Davis_McDavid .

Y puedes leer más artículos como este aquí .

¿Quieres estar al día con lo último en ciencia de datos? Suscríbase a nuestro boletín en el pie de página a continuación.