Aller au contenu principal

Traitement du langage naturel

Vous pouvez effectuer des tâches de traitement du langage naturel sur Databricks à l’aide de bibliothèques open source populaires telles que Spark ML et spark-nlp ou de bibliothèques propriétaires via le partenariat Databricks avec John Snow Labs.

Pour des exemples de PNL avec Hugging Face, consultez Ressources supplémentaires

Création de fonctionnalités à partir de texte à l'aide de Spark ML

Spark ML contient une gamme d'outils de traitement de texte pour créer des fonctionnalités à partir de colonnes de texte. Vous pouvez créer des caractéristiques d'entrée à partir de texte pour les algorithmes d'entraînement de modèles directement dans vos Pipelines de ML Spark à l'aide de Spark ML. Spark ML prend en charge un éventail de processeurs de texte, y compris la tokenisation, le traitement des mots vides, word2vec et le hachage des fonctionnalités.

Formation et inférence à l'aide de Spark NLP

Vous pouvez Monter en charge de nombreuses méthodes de deep learning pour le traitement du langage naturel sur Spark à l'aide de la bibliothèque Spark NLP open source. Cette bibliothèque prend en charge les Opérations de traitement du langage naturel standard, telles que la tokenisation, la reconnaissance d'entités nommées et la vectorisation à l'aide des annotateurs inclus. Vous pouvez également résumer, effectuer une reconnaissance d’entités nommées, traduire et générer du texte à l’aide de nombreux modèles d’apprentissage profond pré-entraînés basés sur les transformeurs Spark NLP tels que BERT et T5 Marion.

Effectuer l'inférence par batch en utilisant Spark NLP sur des CPU

Spark NLP fournit de nombreux modèles pré-entraînés que vous pouvez utiliser avec un code minimal. Cette section contient un exemple d'utilisation du Transformer Marian pour la traduction automatique. Pour l'ensemble complet des exemples, consultez la documentation Spark NLP.

Exigences

  • Installez Spark NLP sur les clusters en utilisant les dernières coordonnées Maven pour Spark NLP, telles que com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0. Votre cluster doit être start avec les options de configuration Spark appropriées pour que cette bibliothèque fonctionne.
  • Pour utiliser Spark NLP, votre cluster doit avoir le fichier .jar correct téléchargé depuis John Snow Labs. Vous pouvez créer ou utiliser un cluster exécutant tout runtime compatible.

Exemple de code pour la traduction automatique

Dans une cellule de Notebook, installez sparknlp bibliothèques Python :

%pip install sparknlp

Construisez un pipeline de traduction et exécutez-le sur un exemple de texte :

Python
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"))

Exemple : Modèle de reconnaissance d'entités nommées utilisant Spark NLP et MLflow

Le Notebook d'exemple illustre comment entraîner un modèle de reconnaissance d'entités nommées à l'aide de Spark NLP, enregistrer le modèle dans MLflow et utiliser le modèle pour l’inférence sur du texte. Consultez la documentation John Snow Labs pour Spark NLP pour savoir comment entraîner des modèles supplémentaires de traitement du langage naturel.

Notebook d'entraînement et d'inférence de modèles Spark NLP

NLP pour les soins de santé en partenariat avec John Snow Labs

John Snow Labs Spark NLP pour la santé est une bibliothèque propriétaire pour l'exploration de textes cliniques et biomédicaux. Cette bibliothèque fournit des modèles pré-entraînés pour la reconnaissance et le traitement des entités cliniques, des médicaments, des facteurs de risque, de l'anatomie, des données démographiques et des données sensibles. Vous pouvez essayer Spark NLP for Healthcare en utilisant l'intégration Partner Connect avec John Snow Labs. Vous avez besoin d'un compte d'essai ou payant chez John Snow Labs pour essayer les commandes présentées dans ce guide.

En savoir plus sur toutes les capacités de John Snow Labs Spark NLP for Healthcare et la documentation d'utilisation sur leur site web.