Traitement en langage naturel

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

Pour obtenir des exemples de NLP avec Hugging Face, consultez les 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 permettant de créer des fonctionnalités à partir de colonnes de texte. Vous pouvez créer des fonctionnalités d’entrée à partir de texte pour les algorithmes d’entraînement de modèle directement dans vos pipelines Spark ML à l’aide de Spark ML. Spark ML prend en charge une plage de processeurs de texte, notamment la création de jetons, le traitement de texte d’arrêt, word2vec et le hachage des fonctionnalités.

Entraînement et inférence à l’aide de Spark NLP

Vous pouvez effectuer un scale-out de nombreuses méthodes de Deep Learning pour le traitement du langage naturel sur Spark à l’aide de la bibliothèque NLP Spark 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é nommée et la vectorisation à l’aide des annotateurs inclus. Vous pouvez également résumer, effectuer la reconnaissance d’entité nommée, traduire et générer du texte à l’aide de nombreux modèles d’apprentissage profond pré-entraînés basés sur les transformateurs Spark NLP, tels que BERT et T5 Marion.

Effectuer une inférence par lot à l’aide de Spark NLP sur les processeurs

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

Spécifications

  • Installez Spark NLP sur le cluster à l’aide des coordonnées Maven les plus récentes pour Spark NLP, telles que com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0. Pour que cette bibliothèque fonctionne, votre cluster doit être démarré avec les options de configuration Spark appropriées.
  • Pour utiliser Spark NLP, votre cluster doit contenir le fichier .jar correct téléchargé à partir de John Snow Labs. Vous pouvez créer ou utiliser un cluster qui exécute un runtime compatible.

Exemple de code pour la traduction automatique

Dans une cellule de notebook, installez les bibliothèques Pythonsparknlp :

%pip install sparknlp

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

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é nommée à l’aide de Spark NLP et MLflow

L’exemple de notebook montre comment entraîner un modèle de reconnaissance d’entité nommée à l’aide de Spark NLP, enregistrer le modèle dans MLflow et utiliser le modèle pour l’inférence sur du texte. Reportez-vous à la Documentation de John Snow Labs pour Spark NLP pour savoir comment entraîner d’autres modèles de traitement du langage naturel.

Notebook d’entraînement et d’inférence du modèle Spark NLP

Obtenir le notebook

Partenariat NLP dans le secteur de la santé avec John Snow Labs

John Snow Labs Spark NLP for Healthcare est une bibliothèque propriétaire pour l’exploration de texte clinique et biomédicale. Cette bibliothèque fournit des modèles pré-entraînés pour reconnaître et utiliser des entités cliniques, des médicaments, des facteurs de risque, l’anatomie, des données démographiques et des données sensibles. Vous pouvez essayer Spark NLP for Healthcare à l’aide de l’Intégration de Partner Connect à John Snow Labs. Vous avez besoin d’un compte d’essai ou payant, avec John Snow Labs, pour tester les commandes présentées dans ce guide.

En savoir plus sur les fonctionnalités complètes de John Snow Labs Spark NLP for Healthcare et la documentation à utiliser sur leur site web.