自然言語処理
や spark-nlp などの一般的なオープンソース ライブラリや、 との パートナーシップによる独自のライブラリを使用して、 で自然言語処理タスクを実行できます。DatabricksSparkMLDatabricksJohn Snow Labs
Hugging Faceを使用したNLPの例については、「追加リソース」を参照してください
Spark ML を使用したテキストからの特徴作成
Spark ML には、テキスト列から特徴を作成するためのさまざまなテキスト処理ツールが含まれています。 できます モデルトレーニングアルゴリズムのテキストから入力特徴を直接作成します。 Spark ML を使用した Spark ML パイプライン 。 Spark ML さまざまな テキストプロセッサをサポートし、 トークン化、ストップワード処理、Word2VEC、機能ハッシュ化などが含まれます。
Spark NLP を使用したトレーニングと推論
オープンソースの Spark NLP ライブラリを使用して、Spark での自然言語処理のための多くのディープラーニング メソッドをスケール アウトできます。 このライブラリーは、トークン化、名前付きエンティティ認識、および付属の アノテーターを使用したベクトル化などの標準的な自然言語処理操作をサポートします。 また、BERT や T5 Marion などの Spark NLP のTransformers に基づく多くの事前トレーニング済みディープラーニング モデルを使用して、テキストの要約、名前付きエンティティ認識の実行、翻訳、およびテキストの生成を行うこともできます。
CPU で Spark NLP を使用してバッチで推論を実行する
Spark NLP には、最小限のコードで使用できる多くの事前トレーニング済みモデルが用意されています。 このセクションの内容 機械翻訳に Marian Transformer を使用する例。 すべての例については、以下を参照してください。 Spark NLP のドキュメント。
必要条件
com.johnsnowlabs.nlp:spark-nlp_2.12:4.1.0
などの Spark NLP の最新の Maven 座標を使用して、クラスターに 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 は、臨床および生物医学向けの独自のライブラリです テキストマイニング。 このライブラリは、臨床を認識して操作するための事前トレーニング済みモデルを提供します エンティティ、薬物、リスク要因、解剖学、人口統計、および機密データ。 あなたは試すことができます Spark NLP for Healthcare は、 Partner Connect と John Snow Labs の統合を使用しています。 このガイドで示されているコマンドを試すには、John Snow Labs の試用版アカウントまたは有料アカウントが必要です。
John Snow Labs Spark NLP for Healthcareの全機能の詳細と、同社の Webサイトで使用するためのドキュメントをご覧ください。