Apache Spark BatchのtNLPModelプロパティ - 7.2

Natural Language Processing

Version
7.2
Language
日本語 (日本)
Product
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > 自然言語処理
データガバナンス > サードパーティーシステム > 自然言語処理
データクオリティとプレパレーション > サードパーティーシステム > 自然言語処理

このプロパティは、Spark Batchジョブフレームワークで実行されるtNLPModelの設定で使用します。

Spark BatchtNLPModelコンポーネントはNatural Language Processingファミリーのコンポーネントです。

このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend Platform製品すべて、およびTalend Data Fabricで使用できます。

基本設定

[Define a storage configuration component] (ストレージ設定コンポーネントを定義)

HDFSなどのターゲットファイルシステムへの接続の設定情報を提供するために使用する設定コンポーネントを選択します。

このチェックボックスをオフにすると、ターゲットファイルシステムはローカルシステムになります。

使用する接続設定は同じジョブ内にあることが必要です。たとえば、tHDFSConfigurationコンポーネントをジョブにドロップした場合は、このコンポーネントを選択して、所定のHDFSシステム内で結果を書き込むことができます。

[Schema] (スキーマ)および[Edit Schema] (スキーマを編集) (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

ジョブで接続されている先行コンポーネントからスキーマを取得するには、[Sync columns] (カラムの同期)をクリックします。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを使用できます。

  • [View schema] (スキーマの表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続を更新): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

入力スキーマの最初のカラムは[token] (トークン)、最後のカラムは[label] (ラベル)である必要があります。

その間に、機能用のカラムを挿入できます。

 

[Built-in] (組み込み): そのコンポーネントのみのスキーマを作成して、ローカルに保存します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

[Feature template] (機能テンプレート)

[Features] (機能): 生成する挿入トークンレベルの機能をリストから選択します。

  • [POS tag] (POSタグ): 品詞タグは、センテンス内の役割に従って単語に割り当てられたラベルです。たとえば、動詞、名詞、形容詞などがあります。
  • [NER tag] (NERタグ): ネームドエンティティ認識タグは、トークン(名前)に割り当てられたラベルです。たとえば、人名には"PER"です。
  • [token] (トークン): 元の単語セグメント。
  • lemma: 単語のlemmaフォームを生成します。たとえば、"takes"、"took"、または"taken"には、"take"です。
  • stem: 単語のルートフォームを生成します。たとえば、"fishing"、"fished"、または"fishes"には、"fish"です。
  • lowertoken: 元のトークンを小文字で生成します。
  • tokenisnumeric: トークンは数字です。
  • tokenispunct: トークンは1つまたは複数の句読点です。
  • tokeninwordnet: トークンはWordNetにあります。
  • tokeninstopwordlist: トークンは、"the"、"and"、"then"、または"where"などのストップワードです。
  • tokeninfirstnamelist: トークンはファーストネームのリストに表示されます。
  • tokeninlastnamelist: トークンはラストネームのリストに表示されます。
  • tokensuffixprefix: トークンのプレフィックスまたはサフィックス。
  • tokenismostfrequent: トークンは、テキスト内の使用頻度が上位5%のトークンに含まれています。
  • tokenpositionrelative: 1行の中で、/の前にあるトークンの数、この行内のトークンの合計数が表示されます。
  • tokeniscapitalized: 単語の最初の文字が大文字になります。
  • tokenisupper: 単語が大文字になります。
  • tokenmostfrequentpredecessor: トークンは、ネームドエンティティの前にある、使用頻度が上位5%のpredecessorに含まれています。
  • tokeninacronymlist: トークンは、EU、UN、PSなどの頭字語です。
  • tokeningeonames: このトークンは、地名のリストに表示されます。

[Relative position] (相対位置): 機能の相対位置の構成です。コンマで区切られた数字の列にします。

  • 0は現在の機能。
  • 1は次の機能。以下、同様に続きます。

たとえば-2,-1,0,1,2の場合は、機能として現在のトークンと前後2つずつのコンテキストトークンを使用するという意味になります。

[Additional Features] (追加機能)

[Additional feature template] (追加機能のテンプレート)に機能を追加するには、このチェックボックスをオンにします。

[NLP Library] (NLPライブラリー)

このリストから、ScalaNLPStanford CoreNLPの間で使用するライブラリーを選択します。

入力が、tNLPPreprocessingコンポーネントを使用して前処理したテキストである場合は、前処理に使用したのと同じNLP Libraryを選択します。

[Model location] (モデルのロケーション)

[Save the model on file system] (モデルをファイルシステムに保存)チェックボックスをオンにし、次のいずれかを行います。
  • モデルファイルが生成されるように指定するフォルダーへのパスを[Folder] (フォルダー)フィールドで設定します。たとえば、"opt/model/"と入力します。または、
  • [Store model in a single file] (モデルを単一ファイル内に保存)チェックボックスをオンにして、[Folder] (フォルダー)フィールドで設定したフォルダーにモデルファイルを生成します。たとえば、"/opt/model/<model_name>"のようになります。

特定のファイルシステム(S3またはHDFSなど)にモデルを保存する場合は、ジョブで対応するコンポーネントを使用し、コンポーネントの基本設定で[Define a storage configuration component] (ストレージ設定コンポーネントの定義)チェックボックスをオンにする必要があります。

参照用のボタンはSpark Localモードでは機能しません。お使いのディストリビューションでStudioがサポートしているその他のSpark Yarnモードを使用している場合は、同じジョブ内の設定コンポーネント(tHDFSConfigurationなど)で接続を適切に設定したことを確認する必要があります。使用されるファイルシステムに応じて設定コンポーネントを使用します。

[Run cross validation evaluation] (クロス検証評価の実行)

このチェックボックスをオンにすると、tNLPModelはKフォールドクロス検証を実行してモデルのパフォーマンスを評価し、モデルを生成します。

デフォルトでは、[Fold] (フォールド)パラメーターは3に設定されています。

  • データセットはサイズの等しいKのサブセットに分割されます。
  • Kサブセットの1つがモデルをテストするための検証データとして使用され、残りのサブセットはトレーニングデータとして使用されます。
  • クロス検証のプロセスは、[Fold] (フォールド)パラメーターに従ってK回繰り返されます。その際に、各Kサブセットが検証データとして1回使用されます。

モデルの改善ごとに[Run] (実行)ビュー内のクロス検証評価から生じる最適加重のF1スコアを出力するために、[Run] (実行)ビューの[Advanced Settings] (詳細設定)タブで、log4jLevel[Info] (情報)に設定します。

使用方法

[Usage rule] (使用ルール)

このコンポーネントは終了コンポーネントとして使用され、入力リンクを必要とします。

このコンポーネントは、所属するSpark Batchコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。

[Cross validation evaluation] (クロス検証評価)

次のアイテムが[Run] (実行)ビューのコンソールに出力されます。

  • 各クラス:
    • クラス名。
    • True Positiveは、このクラスのエレメントとして正しく予測されたエレメントの数です。
    • Predicted Trueは、このクラスのエレメントとして予測されたエレメントの数です。
    • Labeled Trueは、このクラスに属するエレメントの数です。
    • [Precision] (適合率)スコア。範囲は0から1までで、分類によって選択されたエレメントの特定のクラスに対する関連性の度合いを示します。
    • [Recall] (再現率)スコア。範囲は0から1までで、関連するエレメントがいくつ選択されているかを示します。
    • F1スコアは、[Precision] (適合率)スコアと[Recall] (再現率)スコアの調和平均です。
  • 最適モデル:グローバル加重F1スコア。

モデルの改善ごとに、最適加重のF1スコアが[Run] (実行)ビューのコンソールに出力されます。このスコアは、Log4j INFOレベルの他の情報と共に出力されます。

log4jロギングレベルの詳細は、http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.htmlのApacheのドキュメントを参照してください。

[Spark Batch Connection] (Spark Batch接続)

[Run] (実行)ビューの[Spark Configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • Quboleを使用する場合は、ジョブにtS3Configurationを追加し、QuboleでS3システム内に実際のビジネスデータを書き込みます。tS3Configurationを使用しないと、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): tHDFSConfigurationまたはtS3Configurationなど、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。