メインコンテンツまでスキップ

自然言語処理

や 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

翻訳用のパイプラインを構築し、サンプル テキストで実行します。

Python
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 モデルのトレーニングと推論のノートブック

Open notebook in new tab

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サイトで使用するためのドキュメントをご覧ください。