自然語言處理
您可以透過與 John Snow Labs 的 Azure Databricks 合作關係,使用熱門的開放原始碼程式庫 (例如 Spark ML 和 spark-nlp 或專屬程式庫) 在 Azure Databricks 上執行自然語言處理工作。
如需透過 Hugging Face 進行 NLP 的範例,請參閱其他資源
使用 Spark ML 從文字建立特徵
Spark ML 包含一系列文字處理工具,可從文字資料行建立特徵。 您可以使用 Spark ML 在 Spark ML 管線中直接從文字為模型訓練演算法建立輸入特徵。 Spark ML 支援一系列文字處理器,包括權杖化、停用文書處理、word2vec 和特徵雜湊。
使用 Spark NLP 進行訓練和推斷
您可以使用開放原始碼 Spark NLP 程式庫,在 Spark 上向外延展許多用於自然語言處理的深度學習方法。 此程式庫支援標準自然語言處理作業,例如使用包含的標註工具來權杖化、具名實體辨識和向量化。 您也可以根據 Spark NLP 的轉換器 (例如 BERT 和 T5 Marion),使用許多預先訓練的深度學習模型來彙總、執行具名實體辨識、翻譯及產生文字。
在 CPU 上使用 Spark NLP 在批次中執行推斷
Spark NLP 提供許多預先訓練的模型,您可以搭配最少的程式碼使用。 本節包含使用 Marian Transformer 進行機器翻譯的範例。 如需完整的範例集,請參閱 Spark NLP 文件。
需求
- 使用 Spark NLP 的最新 Maven 座標 (例如
com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0
) 在叢集上安裝 Spark NLP。 叢集必須使用適當的 Spark 組態選項集啟動,才能使此程式庫正常運作。 - 若要使用 Spark NLP,叢集必須具有從 John Snow Labs 下載的正確
.jar
檔案。 您可以建立或使用執行任何相容執行階段的叢集。
機器翻譯的範例程式碼
在筆記本儲存格中,安裝 sparknlp
Python 程式庫:
%pip install sparknlp
建構一個翻譯管線,並對一些範例文字執行該管線:
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"))
範例:使用 Spark NLP 和 MLflow 的具名實體辨識模型
範例筆記本說明如何使用 Spark NLP 訓練具名實體辨識模型、將模型儲存至 MLflow,並使用該模型基於文字進行推斷。 請參閱 Spark NLP 的 John Snow Labs 文件,以了解如何訓練其他自然語言處理模型。
Spark NLP 模型訓練和推斷筆記本
與 John Snow Labs 合作開發的醫療保健 NLP
John Snow Labs Spark NLP for Healthcare 是一個用於臨床和生物醫學文字採礦的專屬庫。 此庫提供預先訓練的模型,用於辨識和處理臨床實體、藥物、風險因素、解剖學、人口統計和敏感資料。 您可以使用 Partner Connect 與 John Snow Labs 的整合來試用 Spark NLP for Healthcare。 您需要 John Snow Labs 的試用或付費帳戶,才能嘗試本指南中示範的命令。
在 John Snow Labs 網站上深入了解 John Snow Labs Spark NLP for Healthcare 的完整功能以及使用文件。