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

Watson Natural Language Processing の特定のアルゴリズムは、独自のデータを使用してトレーニングできます。例えば、エンティティー抽出、データの分類、センチメントの抽出、およびターゲット・センチメントの抽出のために、独自のデータに基づいてカスタム・モデルを作成できます。

Slateと呼ばれる組み込みのトランスフォーマーベースのIBM foundation modelを使用して、独自のモデルを作成することができます。 スレート・モデルは、ヘイト、バイアス、および不適切表現をフィルタリングするために前処理された非常に大きなデータ・セットでトレーニングされています。

独自の分類、エンティティー抽出モデル、またはセンチメント・モデルを作成するには、独自のデータで Slate モデルを微調整できます。 妥当な時間でモデルをトレーニングするには、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. ノートブックのアクション・バーで「詳細」>「プロジェクト・トークンの挿入」をクリックしてプロジェクト・トークンをノートブックに追加し、セルを実行します。 挿入された隠しコード・セルを実行すると、 ibm-waton-studio-lib ライブラリー内の関数に使用できる wslib オブジェクトが作成されます。 使用可能な ibm-watson-studio-lib 関数について詳しくは、 ibm-watson-studio-lib for Pythonの使用を参照してください。

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

    custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)
    
  4. カスタム辞書または正規表現モデルを保存する場合は、RBRGeneric ブロックに変換します。 カスタム辞書または正規表現モデルを RBRGeneric ブロックに変換することは、 WatsonNatural Language Processing for Embed の API を使用してモデルをロードして実行する場合に便利です。 これまでは、 Watson Natural 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. ノートブックのアクション・バーで「詳細」>「プロジェクト・トークンの挿入」をクリックしてプロジェクト・トークンをノートブックに追加し、セルを実行します。 挿入された隠しコード・セルを実行すると、 ibm-watson-studio-lib ライブラリー内の関数に使用できる wslib オブジェクトが作成されます。 使用可能な ibm-watson-studio-lib 関数について詳しくは、 ibm-watson-studio-lib for Pythonの使用を参照してください。

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

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

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

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細