0 / 0
資料の 英語版 に戻る
独自のモデルの作成
最終更新: 2024年11月28日
独自のモデルの作成

例えば、エンティティの抽出、データの分類、センチメントの抽出、ターゲットのセンチメントの抽出など、独自のデータに基づいてカスタムモデルを作成することができますWatson

Slateと呼ばれる組み込みのトランスフォーマーベースのIBMファンデーションモデルを使用して、独自のモデルを作成することができます。 スレートモデルは、憎悪、偏見、冒涜をフィルタリングするために前処理された非常に大規模なデータセットで訓練されている。

独自の分類、エンティティ抽出モデル、センチメントモデルを作成するには、独自のデータでスレートモデルを微調整できます。 合理的な時間でモデルをトレーニングするには、GPUベースの環境を使用することをお勧めします。

カスタム・モデルの言語サポート

カスタム・モデルを作成し、表示されている言語に対して以下の事前トレーニングされた辞書および分類モデルを使用できます。

事前学習された辞書と分類モデルでサポートされている言語
カスタム・モデル サポートされる言語コード
辞書モデル af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw (構文の品詞タグ付けでサポート対象のすべての言語)
正規表現 af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw (構文の品詞タグ付けでサポート対象のすべての言語)
TFIDF による SVM 分類 af、ar、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw
USE による SVM 分類 ar、de、en、es、fr、it、ja、ko、nl、pl、pt、ru、tr、zh_cn、zh_tw
GloVe による CNN 分類 ar、de、en、es、fr、it、ja、ko、nl、pt、zh_cn
BERT マルチリンガル分類 af、ar、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw
Transformer モデル af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw
ストップワード・リスト ar、de、en、es、fr、it、ja、ko

言語コードと対応する言語の一覧は、言語コードを参照。

カスタム・モデルの保存とロード

別のノートブックでカスタム・モデルを使用する場合は、そのカスタム・モデルをデータ資産としてプロジェクトに保存します。 これにより、プロジェクト・エクスポートの一部としてモデルをエクスポートできます。

ibm-watson-studio-libライブラリーを使用して、カスタム・モデルを保存およびロードします。

エクスポートして別のプロジェクトで使用するデータ資産としてノートブックにカスタム・モデルを保存するには、以下のようにします。

  1. プロジェクトの「管理」タブの「アクセス制御」ページにアクセス・トークンがあることを確認します。 プロジェクト管理者のみがアクセス・トークンを作成できます。 アクセス・トークンは、ビューアーまたは編集者アクセス権を備えることができます。 トークンをノートブックに注入できるのは、編集者のみです。

  2. ノートブックのアクション・バーで「詳細」>「プロジェクト・トークンの挿入」をクリックしてプロジェクト・トークンをノートブックに追加し、セルを実行します。 挿入された隠しコードセルを実行すると、「wslibオブジェクトが作成され、「ibm-waton-studio-libライブラリ内の関数に使用できる。 利用可能な'ibm-watson-studio-lib関数の詳細については、'ibm-watson-studio-libを'Pythonに使う を参照のこと。

  3. train()メソッドを実行して、カスタム辞書、正規表現、または分類モデルを作成し、このカスタム・モデルを変数に割り当てます。 次に例を示します。

    custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)
    
  4. カスタム辞書や正規表現モデルを保存したい場合は、RBRGenericブロックに変換します。 カスタム辞書または正規表現モデルを RBRGeneric ブロックに変換することは、 WatsonNatural Language Processing for Embed の API を使用してモデルをロードして実行する場合に便利です。 現在までのところ、WatsonNatural Language Processing for Embedは、RBRGenericブロックとしてのみ、辞書と正規表現モデルの実行をサポートしている。 モデルをRBRGenericブロックに変換するには、以下のコマンドを実行する:

    # Create the custom regular expression model
    custom_regex_block = watson_nlp.resources.feature_extractor.RBR.train(module_folder, language='en', regexes=regexes)
    
    # Save the model to the local file system
    custom_regex_model_path = 'some/path'
    custom_regex_block.save(custom_regex_model_path)
    
    # The model was saved in a file "executor.zip" in the provided path, in this case "some/path/executor.zip"
    model_path = os.path.join(custom_regex_model_path, 'executor.zip')
    
    # Re-load the model as a RBRGeneric block
    custom_block = watson_nlp.blocks.rules.RBRGeneric(watson_nlp.toolkit.rule_utils.RBRExecutor.load(model_path), language='en')
    
  5. ibm-watson-studio-libを使用して、モデルをデータアセットとしてプロジェクトに保存します:

    wslib.save_data("<model name>", custom_block.as_bytes(), overwrite=True)
    

    トランスフォーマーモデルを保存する際、CPU形式で保存するオプションがあります。 CPU環境でのみモデルを使用する予定であれば、このフォーマットを使用することで、カスタムモデルをより効率的に実行することができます。 そのためには、CPUフォーマットオプションを以下のように設定する:

    wslib.save_data('<model name>', data=custom_model.as_bytes(cpu_format=True), overwrite=True)
    

別のプロジェクトからインポートされたノートブックにカスタム・モデルをロードするには、以下のようにします。

  1. プロジェクトの「管理」タブの「アクセス制御」ページにアクセス・トークンがあることを確認します。 プロジェクト管理者のみがアクセス・トークンを作成できます。 アクセス・トークンは、ビューアーまたは編集者アクセス権を備えることができます。 トークンをノートブックに注入できるのは、編集者のみです。

  2. ノートブックのアクション・バーで「詳細」>「プロジェクト・トークンの挿入」をクリックしてプロジェクト・トークンをノートブックに追加し、セルを実行します。 挿入された隠しコードセルを実行すると、「wslibオブジェクトが作成され、「ibm-watson-studio-libライブラリ内の関数に使用できる。 利用可能な'ibm-watson-studio-lib関数の詳細については、'ibm-watson-studio-libを'Pythonに使う を参照のこと。

  3. ibm-watson-studio-libおよびwatson-nlpを使用してモデルをロードします。

    custom_block = watson_nlp.load(wslib.load_data("<model name>"))
    

親トピック: Watson Natural language Processing ライブラリー