Procesamiento de lenguaje natural

Puede realizar tareas de procesamiento del lenguaje natural en Azure Databricks usando bibliotecas populares de orígenes abiertos como Spark ML y spark-nlp o bibliotecas propietarias a través de la asociación de Azure Databricks con John Snow Labs.

Para ver ejemplos de NLP con Hugging Face, consulte Recursos adicionales.

Creación de características a partir de texto mediante Spark ML

Spark ML contiene una variedad de herramientas de procesamiento de texto para crear características a partir de columnas de texto. Puede crear características de entrada a partir de texto para algoritmos de entrenamiento de modelos directamente en las canalizaciones de Spark ML mediante Spark ML. Spark ML admite una serie de procesadores de texto, entre los que se incluyen la tokenización, el procesamiento de palabras vacías, word2vec y el hash de características.

Entrenamiento e inferencia mediante Spark NLP

Puede escalar horizontalmente muchos métodos de aprendizaje profundo para el procesamiento de lenguaje natural en Spark mediante la biblioteca Spark NLP de código abierto. Esta biblioteca admite operaciones estándar de procesamiento de lenguaje natural, como la tokenización, el reconocimiento de entidades con nombre y la vectorización mediante los anotadores incluidos. También puede resumir, realizar reconocimiento de entidades con nombre, traducir y generar texto usando muchos modelos de aprendizaje profundo preentrenados a partir de los transformadores de Spark NLP como BERT y T5 Marion.

Realización de inferencias por lotes mediante Spark NLP en CPU

Spark NLP proporciona muchos modelos entrenados previamente que puede usar con código mínimo. Esta sección contiene un ejemplo de uso de Marian Transformer para la traducción automática. Para ver el conjunto completo de ejemplos, consulte la documentación de Spark NLP.

Requisitos

  • Instale Spark NLP en el clúster mediante las coordenadas más recientes de Maven para Spark NLP, como com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0. El clúster debe iniciarse con las opciones de configuración de Spark adecuadas establecidas para que esta biblioteca funcione.
  • Para usar Spark NLP, el clúster debe tener el archivo .jar correcto descargado de John Snow Labs. Puede crear o usar un clúster que ejecute cualquier entorno de ejecución compatible.

Código de ejemplo para la traducción automática

En una celda del cuaderno, instale las bibliotecas de python sparknlp:

%pip install sparknlp

Construya una canalización para la traducción y ejecútela en algún texto de ejemplo:

from sparknlp.base import DocumentAssembler
from sparknlp.annotator import SentenceDetectorDLModel, MarianTransformer
from pyspark.ml import Pipeline

document_assembler = DocumentAssembler().setInputCol("text").setOutputCol("document")

sentence_detector = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "xx") \
  .setInputCols("document").setOutputCol("sentence")

marian_transformer = MarianTransformer.pretrained() \
  .setInputCols("sentence").setOutputCol("translation")

pipeline = Pipeline().setStages([document_assembler,  sentence_detector, marian_transformer])

data = spark.createDataFrame([["You can use Spark NLP to translate text. " + \
                               "This example pipeline translates English to French"]]).toDF("text")

# Create a pipeline model that can be reused across multiple data frames
model = pipeline.fit(data)

# You can use the model on any data frame that has a “text” column
result = model.transform(data)

display(result.select("text", "translation.result"))

Ejemplo: modelo de reconocimiento de entidades con nombre mediante Spark NLP y MLflow

En el cuaderno de ejemplo se muestra cómo entrenar un modelo de reconocimiento de entidades con nombre mediante Spark NLP, guardar el modelo en MLflow y usar el modelo para la inferencia en el texto. Consulte la documentación de John Snow Labs para Spark NLP para aprender a entrenar modelos de procesamiento de lenguaje natural adicionales.

Cuaderno de entrenamiento e inferencia del modelo de Spark NLP

Obtener el cuaderno

Healthcare NLP con la asociación de John Snow Labs

John Snow Labs Spark NLP for Healthcare es una biblioteca propietaria para minería de texto clínico y biomédico. Esta biblioteca proporciona modelos previamente entrenados para reconocer y trabajar con entidades clínicas, medicamentos, factores de riesgo, anatomía, datos demográficos y datos confidenciales. Puede probar Spark NLP for Healthcare mediante la integración de Partner Connect con John Snow Labs. Necesita una cuenta de prueba o de pago con John Snow Labs para probar los comandos que se muestran en esta guía.

Obtenga más información sobre las funcionalidades completas de John Snow Labs Spark NLP for Healthcare y la documentación para su uso en su sitio web.