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.