Processamento de linguagem natural

Você pode executar tarefas de processamento de linguagem natural no Databricks usando bibliotecas populares de código aberto, como Spark ML e spark-nlp, ou bibliotecas proprietárias por meio da parceria do Databricks com o John Snow Labs.

Para exemplos de PNL com Hugging Face, consulte o recurso adicional

Criação de recursos a partir de texto usando Spark ML

O Spark ML contém uma variedade de ferramentas de processamento de texto para criar recursos a partir de colunas de texto. Você pode criar recursos de entrada de texto para algoritmos de treinamento de modelo diretamente em seus ML pipelines usando o Spark ML. O Spark ML oferece suporte a uma variedade de processadores de texto, incluindo tokenização, processamento de stop-word, word2vec e hashing de recursos.

treinamento e inferência usando Spark NLP

Você pode dimensionar muitos métodos de aprendizagem profunda para processamento de linguagem natural no Spark usando a biblioteca Spark NLP de código aberto. Esta biblioteca oferece suporte a operações de processamento de linguagem natural padrão, como tokenização, reconhecimento de entidade nomeada e vetorização usando os anotadores incluídos. Você também pode resumir, executar o reconhecimento de entidade nomeada, traduzir e gerar texto usando muitos modelos de aprendizagem profunda pré-treinados com base nos transformadores do Spark NLP, como BERT e T5 Marion.

Realize inferência em lotes usando Spark NLP em CPUs

O Spark NLP fornece muitos modelos pré-treinados que você pode usar com o mínimo de código. Esta seção contém um exemplo de uso do Marian Transformer para tradução automática. Para obter o conjunto completo de exemplos, consulte a documentação do Spark NLP.

Requisitos

  • Instale o Spark NLP no cluster usando as coordenadas Maven mais recentes para o Spark NLP, como com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0. Sua cluster deve começar com as opções de configuração Spark apropriadas definidas para que esta biblioteca funcione.

  • Para usar o Spark NLP, o seu cluster deve ter os downloads de arquivos .jar corretos do John Snow Labs. O senhor pode criar ou usar um cluster com qualquer tempo de execução compatível.

Exemplo de código para tradução automática

Em uma célula Notebook , instale sparknlp bibliotecas Python :

%pip install sparknlp

Construa um pipeline para tradução e execução em algum texto de amostra:

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

Exemplo: modelo de reconhecimento de entidade nomeada usando Spark NLP e MLflow

O Notebook de exemplo ilustra como ensinar um modelo de reconhecimento de entidade nomeada usando o Spark NLP, salvar o modelo no MLflow e usar o modelo para inferência em texto. Consulte a documentação do John Snow Labs para Spark NLP para saber como ensinar modelos adicionais de processamento de linguagem natural.

Notebook de treinamento e inferência do modelo Spark NLP

Abra o bloco de anotações em outra guia