Elaborazione del linguaggio naturale

È possibile eseguire attività di elaborazione del linguaggio naturale in Azure Databricks usando librerie open source comuni, ad esempio Spark ML e spark-nlp o librerie proprietarie tramite la partnership di Azure Databricks con John Snow Labs.

Per esempi di NLP con Viso hugging, vedere Risorse aggiuntive

Creazione di funzionalità dal testo con Spark ML

Spark ML contiene una gamma di strumenti di elaborazione del testo per creare funzionalità dalle colonne di testo. È possibile creare funzionalità di input dal testo per gli algoritmi di training del modello direttamente nelle pipeline di Spark ML usando Spark ML. Spark ML supporta un'ampia gamma di processori di testo, tra cui tokenizzazione, elaborazione di parole non significative, word2vec e hash delle funzionalità.

Training e inferenza con Spark NLP

È possibile aumentare il numero di istanze di molti metodi di Deep Learning per l'elaborazione del linguaggio naturale in Spark usando la libreria NLP Spark open source. Questa libreria supporta operazioni standard di elaborazione del linguaggio naturale, ad esempio il tokenizzazione, il riconoscimento di entità denominate e la vettorizzazione usando le annotazioni incluse. È anche possibile riepilogare, eseguire il riconoscimento delle entità denominate, tradurre e generare testo usando molti modelli di Deep Learning con training preliminare basati sui trasformatori di Spark NLP, ad esempio BERT e T5 Marion.

Eseguire l'inferenza in batch usando Spark NLP nelle CPU

Spark NLP offre molti modelli con training preliminare che è possibile usare con codice minimo. Questa sezione contiene un esempio di utilizzo di Marian Transformer per la traduzione automatica. Per il set completo di esempi, vedere la documentazione di Spark NLP.

Requisiti

  • Installare Spark NLP nel cluster usando le coordinate Maven più recenti per Spark NLP, ad esempio com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0. Il cluster deve essere avviato con le opzioni di configurazione Di Spark appropriate impostate per consentire il funzionamento della libreria.
  • Per usare NLP Spark, il cluster deve avere il file corretto .jar scaricato da John Snow Labs. È possibile creare o usare un cluster che esegue qualsiasi runtime compatibile.

Codice di esempio per la traduzione automatica

In una cella del notebook installare sparknlp le librerie Python:

%pip install sparknlp

Creare una pipeline per la traduzione ed eseguirla in un testo di esempio:

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

Esempio: modello di riconoscimento di entità denominate con Spark NLP e MLflow

Il notebook di esempio illustra come eseguire il training di un modello di riconoscimento delle entità denominato usando LLP spark, salvare il modello in MLflow e usare il modello per l'inferenza sul testo. Per informazioni su come eseguire il training di altri modelli di elaborazione del linguaggio naturale, vedere la documentazione di John Snow Labs per Spark NLP .

Notebook di training e inferenza del modello Spark NLP

Ottenere il notebook

Collaborazione con John Snow Labs per la prevenzione della perdita dei dati sanitari

John Snow Labs Spark NLP for Healthcare è una libreria proprietaria per il data mining clinico e biomedico. Questa libreria fornisce modelli con training preliminare per il riconoscimento e l'uso di entità cliniche, farmaci, fattori di rischio, anatomia, dati demografici e dati sensibili. È possibile provare Spark NLP for Healthcare usando l'integrazione dei partner Connessione con John Snow Labs. Per provare i comandi illustrati in questa guida, è necessario un account di valutazione o a pagamento con John Snow Labs.

Altre informazioni sulle funzionalità complete di John Snow Labs Spark NLP for Healthcare e la documentazione per l'uso nel sito Web.