この文書は、IBM Watson® Knowledge Studio 上の IBM Cloud® に関するものです。 以前のバージョンの Knowledge Studio on IBM Marketplace 向けの資料を参照するには、このリンクをクリックしてください。

機械学習モデルの使用

Knowledge Studio でトレーニングした機械学習モデルを他の Watson アプリケーションで使用できるようにすることで、機械学習モデルを活用します。

機械学習モデルはデプロイしたりエクスポートしたりできます。 辞書または Natural Language Understanding 事前アノテーターを使用して事前にアノテーションを付けることができるのは、Knowledge Studio 内の文書に限定されます。

サービスで使用するモデルをデプロイするには、その前にサービスの申し込みが必要です。IBMのWatsonサービスは、IBMのクラウド・プラットフォームであるIBM Cloud®でホストされます。 プラットフォームについて詳しくは、IBM Cloudとは何ですか? を参照してください。 IBM Watson サービスのいずれかを購読するには、ウェブサイトからアカウントを作成してください。 IBM Cloud ウェブサイトからアカウントを作成してください。

一部のサービスでは、IBM Cloud スペース名やサービス・インスタンス名など、デプロイ先として計画しているサービス・インスタンスに関する詳細を把握しておく必要があります。 スペース名やインスタンス名の情報は、IBM Cloud 「サービス」ページから入手できます。

機械学習モデルを使用して、新規文書に事前にアノテーションを付けることもできます。 詳しくは、機械学習モデルによる文書の事前アノテーションを参照してください。

IBM Watson Discovery への機械学習モデルのデプロイ

モデルのパフォーマンスに満足できたら、そのバージョンを IBM Watson Discovery にデプロイできます。 この機能により、アプリケーションが、デプロイされた機械学習モデルを使用して、データから得た洞察をエンリッチして、ドメインに関連がある概念や関係の認識を組み込むことができるようになります。

手順

機械学習モデルを Watson Discovery にデプロイするには、以下のステップを実行します。

  1. Knowledge Studio 管理者またはプロジェクト管理者としてログインし、ワークスペースを選択します。

  2. 「機械学習モデル」 > **「バージョン」**を選択します。

  3. **「現行モデルのエクスポート (Export current model)」**をクリックします。

    ライト・プランに加入している場合、エクスポート・オプションは使用できません。

    モデルは ZIP ファイルとして保存され、ファイルのダウンロードを求めるプロンプトが出されます。

  4. ファイルをローカル・システムにダウンロードします。

  5. Discovery、モデルをインポートします。

次のタスク

Discovery ドキュメントの Machine Learning モデルを 参照のこと。

IBM Watson Natural Language Understanding への機械学習モデルのデプロイ

モデルのパフォーマンスに満足できたら、そのバージョンを IBM Watson Natural Language Understanding にデプロイできます。 この機能により、アプリケーションが、デプロイされた機械学習モデルを使用して、エンティティーや関係を含め、テキスト入力の意味構造のフィーチャーを分析できるようになります。

開始前に

デプロイ先となる Natural Language Understanding サービスが必要です。 また、そのサービスに関連付けられている IBM Cloud スペース名およびインスタンス名を把握しておく必要があります。 スペース名またはインスタンス名を覚えていない場合は、IBM Cloud にログインして、見つけてください。 IBM Cloud アカウントがない場合、登録してください。

このタスクについて

機械学習モデルをデプロイするときは、デプロイするモデルのバージョンを選択します。

手順

機械学習モデルを Natural Language Understanding サービスにデプロイするには、以下のステップを実行します。

  1. Knowledge Studio 管理者またはプロジェクト管理者としてログインし、ワークスペースを選択します。

  2. 「機械学習モデル」 > **「バージョン」**を選択します。

  3. デプロイするモデルのバージョンを選択します。

    モデルの作業バージョンが 1 つしかない場合は、現在のモデルのスナップショットを作成します。 これによりモデルがバージョン化され、現行バージョンの改善を続行しながら、1 つのバージョンをデプロイできます。 デプロイするためのオプションは、少なくとも 1 つのバージョンを作成するまで表示されません。

    各バージョンは、任意の数のサービス・インスタンスにデプロイできます。 デプロイされたモデル・バージョンはインスタンスごとに固有のモデル ID が付与されますが、その他のすべての点で各インスタンスはまったく同じです。

  4. **「デプロイ」をクリックし、Natural Language Understanding へのデプロイを選択し、「次へ」**をクリックします。

  5. IBM Cloud スペースとインスタンスを選択します。 必要な場合、別のリージョンを選択します。

  6. 「デプロイ」 をクリックします。

  7. デプロイメント・プロセスには、数分かかる場合があります。 デプロイメントの状況を確認するには、**「バージョン」タブで、デプロイしたバージョンの横の「状況 (Status)」**をクリックします。 モデルのデプロイがまだ進行中の場合、状況には「公開中 (publishing)」と示されます。 デプロイメントが完了すると、デプロイメントが成功した場合は状況が「使用可能 (available)」に変わり、問題が発生した場合は「エラー (error)」に変わります。

    モデルが使用可能になったら、モデル ID (model_id) をメモしておきます。 この ID を Natural Language Understanding サービスに提供して、サービスがカスタム・モデルを使用できるようにします。

次のタスク

次の API メソッドを呼び出すことにより、Natural Language Understanding サービス・インスタンス内のデプロイ済みモデルをリストできます。

curl --user "apikey:{apikey}" "{url}/v1/models?version=2018-11-16"

デプロイ済みモデルは、以下のような配列で返されます。

{
  "models": [
    {
      "workspace_id": "{workspace_id}",
      "version_description": "{version_description}",
      "version": "{version}",
      "status": "available",
      "name": null,
      "model_id": "10:7abc4c2f-5846-3334-b8f7-af5a6fad3398",
      "language": "en",
      "description": null,
      "created": "2018-11-28T17:08:00.000000Z"
    }
  ]
}

{workspace_id}{version_description}、および {version} はすべて、Knowledge Studio サービス・インスタンスの**「バージョン」**ページにリストされる情報と一致します。

デプロイされたモデルを使用するには、entities.modelanalyze** 呼び出しの ** パラメーターで、カスタム・モデルのモデル ID を指定する必要があります。

Natural Language Understanding GET /analyze 要求でモデルを使用して、以下のフィーチャーを抽出できます。

  • エンティティ

    以下のコマンドは、text パラメーターを使用して渡されたセンテンス内に存在するエンティティーを検出します。

    curl --user "apikey":"{apikey}" "{url}/v1/analyze?version=2018-09-21"
    --request POST
    --header "Content-Type: application/json"
    -d '{"text": "Vehicle 1, a 1995 Honda Civic was traveling north on a two lane
           undivided roadway, negotiating a curve to the left on an upgrade.",
            "features": {
              "entities": {
                "model": "your-model-id-here"
              }
            }
         }'
    

    サービスは、カスタム・モデルに定義されているエンティティー・タイプを持つ、検出されたインスタンスの JSON オブジェクトを返します。

    {
      "language": "en",
      "entities": [
        {
          "type": "MANUFACTURER",
          "text": "Honda",
          "count": 1
        },
        {
          "type": "MODEL",
          "text": "Civic",
          "count": 1
        },
        {
          "type": "VEHICLE",
          "text": "Vehicle 1",
          "count": 1
        },
        {
          "type": "STRUCTURE",
          "text": "two lane undivided roadway",
          "count": 1
        },
        {
          "type": "STRUCTURE",
          "text": "curve",
          "count": 1
        },
        {
          "type": "MODEL_YEAR",
          "text": "1995",
          "count": 1
        },
        {
          "type": "CONDITION",
          "text": "negotiating",
          "count": 1
        }
      ],
      "language": "en"
    }
    
  • relations

    以下のコマンドは、text パラメーターを使用して渡されたセンテンス内に存在する関係を検出します。

    curl --user "apikey":"{apikey}" "{url}/v1/analyze?version=2018-09-21"
    --request POST
    --header "Content-Type: application/json"
    -d '{"text": "Vehicle 1, a 1995 Honda Civic was traveling north on a two lane
           undivided roadway, negotiating a curve to the left on an upgrade.",
            "features": {
              "relations": {
                "model": "your-model-id-here"
              }
            }
         }'
    

    サービスは、カスタム・モデルに定義されている関係タイプを持つ、検出されたインスタンスの JSON オブジェクトを返します。

    {
      "relations": [
        {
          "type": "timeOf",
          "sentence": "Vehicle 1, a 1995 Honda Civic was traveling north
           on a two lane undivided roadway, negotiating a curve to
           the left on an upgrade.",
          "score": 0.954254,
          "arguments": [
            {
              "text": "1995",
              "entities": [
                {
                  "type": "Date",
                  "text": "1995"
                }
              ]
            },
            {
              "text": "Honda Civic",
              "entities": [
                {
                  "type": "SportingEvent",
                  "text": "Honda Civic"
                }
              ]
            }
          ]
        },
        {
          "type": "locatedAt",
          "sentence": "Vehicle 1, a 1995 Honda Civic was traveling north
           on a two lane undivided roadway, negotiating a curve to
           the left on an upgrade.",
          "score": 0.40592,
          "arguments": [
            {
              "text": "negotiating",
              "entities": [
                {
                  "type": "EventMeeting",
                  "text": "negotiating"
                }
              ]
            },
            {
              "text": "roadway",
              "entities": [
                {
                  "type": "Facility",
                  "text": "roadway"
                }
              ]
            }
          ]
        }
      ],
      "language": "en"
    }
    

詳しくは、 Natural Language Understanding のドキュメントを参照。

同じモデル・バージョンを複数のサービスにデプロイする

同じ機械学習モデルの特定のバージョンを複数の IBM Watson サービス・インスタンスにデプロイする場合は、**「バージョン」ページにナビゲートし、追加サービスにデプロイするバージョンの行にある「デプロイ」**リンクをクリックします。

モデルのアンデプロイ

モデルをアンデプロイする場合、またはモデル ID を検索する場合は、**「デプロイ済みモデル (Deployed Models)」**ページを表示します。

手順

モデルをアンデプロイするか、モデル ID を検索するには、以下のようにします。

  1. Knowledge Studio を起動します。
  2. 右上のメニュー・バーにある**「設定」メニューから、「デプロイ済みモデルの管理 (Manage deployed models)」**を選択します。
  3. デプロイ済みモデルのリストから、表示またはアンデプロイするモデルを見つけます。
  4. モデルをアンデプロイするには、その行の最後の列で**「モデルのアンデプロイ (Undeploy model)」**をクリックします。
  5. モデル ID を見つけるには、**「モデル ID」**列を参照してください。

代わりの方法として、ルール・ベース・モデルと機械学習モデルにおいて、「バージョン (Versions)」ページからモデルをアンデプロイすることもできます。

バージョンの削除

同じ機械学習モデルの特定のバージョンを削除する場合は、「バージョン」ページにナビゲートし、削除するバージョンの行にある「削除」リンクをクリックします。 注: モデル・バージョンの「削除」リンクは、デプロイ済みモデルが関連付けられていない場合にのみアクティブになります。 バージョンを削除する前に、関連するすべてのモデルをアンデプロイしてください。

IBM Watson Explorer での機械学習モデルの活用

IBM Watson Explorer で使用できるように、トレーニングした機械学習モデルをエクスポートします。

開始前に

関係タイプを識別し、それらにアノテーションを付けようとする場合は、モデルをエクスポートする前に、少なくとも 2 つの関係タイプを定義し、グランドトゥルース内で関係のインスタンスにアノテーションを付ける必要があります。 1 つの関係タイプのみを定義し、アノテーションを付けた場合、この後、IBM Watson Explorer リリース 11.0.1.0 で問題が発生する可能性があります。

このタスクについて

特定のドメインのエンティティーおよび関係を認識するように機械学習モデルがトレーニングされたので、このモデルを IBM Watson Explorer で活用できます。

モデルをエクスポートして IBM Watson 使用する方法を説明する 短いビデオをご覧ください

手順

IBM Watson Explorer で機械学習モデルを活用するには、以下のステップを実行します。

  1. Knowledge Studio 管理者またはプロジェクト管理者としてログインし、ワークスペースを選択します。

  2. 「機械学習モデル」 > **「バージョン」**を選択します。

  3. **「現行モデルのエクスポート (Export current model)」**をクリックします。

    ライト・プランに加入している場合、エクスポート・オプションは使用できません。

    モデルは ZIP ファイルとして保存され、ファイルのダウンロードを求めるプロンプトが出されます。

  4. ファイルをローカル・システムにダウンロードします。

  5. IBM Watson Explorer アプリケーションから、モデルをインポートします。

    これで、モデルを Watson Explorer Content Analytics の機械学習モデルにマップできます。 マッピング・ステップを実行した後、文書をクロールすると、モデルが認識するエンティティーおよび関係のインスタンスがモデルによって検出されます。 IBM Watson Explorerでモデルをインポートして設定する方法の詳細については、統合について説明した技術文書を参照: Knowledge Studio の機械学習アノテータを Watson Explorer で使用する