Knowledge Studio ソリューションのマイグレーション

Knowledge Studio で作成したカスタム・モデルおよびその他のリソースを、 Discoveryにマイグレーションして使用します。

現状のままのモデルの使用

Knowledge Studio モデルの使用を即時に開始するには、 Knowledge Studio からモデルをエクスポートし、機械学習エンリッチメントとして Discovery にインポートします。

Discoveryでそのまま使用するために Knowledge Studio モデルをインポートすると、そのモデルで定義されているルート・レベルのエンティティー・タイプが文書内で発生したときに認識できます。 発生したエンティティー・サブタイプのメンションは、親エンティティー・タイプのメンションとして識別されます。 サブタイプ・エンティティー自体は保持されません。 モデルでエンティティーの異なるサブタイプを引き続き区別する場合は、追加のステップを実行する必要があります。 詳しくは、 サブタイプ情報の保持 を参照してください。

ML エンリッチメントとしてインポートしたモデルの更新を続行することはできません。

以下のタイプのモデルをインポートして、そのまま使用できます。

  • 定義されたルールに基づいて文書内のエンティティーを検索する、Knowledge Studio で作成したルール・ベースのモデル。 (ファイル形式: .pear)
  • Knowledge Studio で作成された、お客様の業界特有の言語的なニュアンス、意味、関係性を理解する機械学習モデル(ファイル形式:.zip)

追加できるモデルは、デプロイメント・タイプによって異なります。

  • IBM Cloud IBM Cloud でホストされている IBM Watson® Knowledge Studio インスタンスで作成されたモデルのみを追加できます。
  • IBM Cloud Pak for DataIBM Software Hub IBM Cloud Pak® for Data または でホストされている のインスタンスで作成されたモデルを追加できます。 IBM Cloud IBM Watson® Knowledge Studio

詳しくは、 インポートされた ML モデルを使用したカスタム項の検索 を参照してください。

コーパスをトレーニング・データとして使用する

Discovery には、タイプ・システムを定義するために使用できるエンティティー抽出ツールがあります。 エンティティー抽出ユーザー・インターフェースは、機械学習モデルのコーパスに追加する文書にアノテーションを付けるために使用される Knowledge Studio ユーザー・インターフェースに似ています。 ただし、 Knowledge Studioでは、ルート・レベルのエンティティーのみを定義し、サブタイプや関係は定義しません。

Knowledge Studio モデルをそのままインポートしてエンリッチとして適用する代わりに、 Knowledge Studio コーパスをインポートすることもできます。 Knowledge Studio コーパスを Discovery エンティティー抽出ツールに追加すると、コーパスからのすべてのルート・レベル・エンティティーが Discovery エンティティー・サブタイプが認識されません。 ただし、 サブタイプ情報を保持 するために追加のステップを実行することができます。

Knowledge Studio 機械学習モデルからの関係および照応は表現されず、モデルに関連付けられているカスタム辞書も表現されません。

モデルをインポートするかコーパスをインポートするかを選択する際には、以下の点を考慮する必要があります。

  • コーパスをインポートするときに、引き続きタイプ・システムを編集できます。 トレーニング済みモデルをインポートすると、その後 Discoveryで編集できなくなります。
  • エンリッチメントとしてコレクションに適用するインポートされたモデルは、ルート・レベルのエンティティーに加えて、元のモデルが認識するようにトレーニングされたエンティティー・サブタイプ、関係、および照応情報を認識できます。 エンティティー抽出エンリッチメントは、エンティティーの検索とタグ付けのみを行うことができます。

詳しくは、 Knowledge Studio コーパスのインポート を参照してください。

サブタイプ情報の保持

Knowledge Studio モデルを Discoveryにインポートすると、モデルで定義されているサブタイプは、親エンティティー・タイプのメンションとして識別されます。 サブタイプ・エンティティー自体は保持されません。 サブタイプ情報を保持するには、エンティティー・サブタイプを新しいルート・レベル・エンティティー・タイプに変換して、タイプ・システムを フラット化 する必要があります。

これらのステップは、サブタイプの区別がモデルに有意な値を追加することが確実である場合にのみ実行してください。 多くのユース・ケースでは、ルート・レベルのエンティティー・タイプを使用すれば十分です。

コーパス内のいずれかの文書に Natural Language Understanding サービスの事前アノテーションが付けられている場合、この手順を使用してサブタイプを保持することはできません。 フラット化されたタイプ・システムが、プランで許可されているエンティティー・タイプの数を超えないようにしてください。 詳しくは、 エンティティー抽出の制限 を参照してください。

例えば、モデルに以下の階層を持つエンティティー・タイプがあるとします。

APPLIANCES
FURNITURE
  PATIO
  LIVING
  DINING

タイプ sytem のフラット化されたバージョンは、次のようになります。

APPLIANCES
FURNITURE_NONE
FURNITURE_PATIO
FURNITURE_LIVING
FURNITURE_DINING

タイプ・システムをフラット化するための便利な方法として、以下の変更があります。

  • 各子サブタイプのラベルに接頭部として親エンティティー・タイプ・ラベル (FURNITURE) を追加して、ラベル内の階層関係を保持する新しいルート・レベル・エンティティーを生成します。 例えば、 FURNITURE_PATIO、 FURNITURE_LIVING、および FURNITURE_DINING などです。
  • 親ルート・レベルのエンティティー・ラベルに NONE という語を追加して、親として識別します。 例えば、FURNITURE_NONEです。
  • サブタイプを持たない対象タイプの表示名は変更しないままにします。 例えば、ラベル APPLIANCES は変更されません。

エンティティー・サブタイプ情報を保持するには、以下のステップを実行します。

  1. Knowledge Studio モデルのアノテーションとトレーニングが完了しており、モデルをデプロイする準備ができていることを確認します。

  2. コーパス内の文書にアノテーションを付けるために使用されたタイプ・システムを Knowledge Studio から .json ファイルとしてエクスポートします。

    Knowledge Studio デプロイメント・タイプに基づいて、適切なエクスポート手順に従います。

  3. タイプ・システム JSON ファイルを変更します。 サブタイプごとに、新しいルート・レベルのエンティティー・タイプを追加します。

    例えば、元のタイプ・システムには、以下のタイプが含まれている可能性があります。

    {
      "id":"b9d6caa2-90ac-47ff-91f6-2149b8ffcf20",
      "label":"FURNITURE",
      "sireProp":{
        "mentionType":null,
        "subtypes":["PATIO","LIVING","DINING"],
        "roles":["b9d6caa2-90ac-47ff-91f6-2149b8ffcf20","93ba1f27-173f-4714-b31e-77bdd8cb9932"],
        "clazz":null,
        "color":"black",
        "hotkey":"m",
        "backGroundColor":"#00FFFF",
        "active":true,
        "roleOnly":false},
        "creationDate":1610611788484,
        "source":null,
        "modifiedDate":0,
        "typeType":null,
        "typeClass":null,
        "typeVersion":null,
        "typeDesc":null,
        "typeSuperType":null,
        "typeSuperTypeId":null,
        "typeCreateDate":null,
        "typeUpdateDate":null,
        "typeProvenance":null,
        "alchemyAPITypes":null,
        "nluAPITypes":null},
    

    サブタイプを新しいルート・レベル・タイプに変換するには、以下の変更を行います。

    {
      "id":"b9d6caa2-90ac-47ff-91f6-2149b8ffcf20",
      "label":"FURNITURE_NONE",
      "sireProp":{
        "mentionType":null,
        "subtypes":null,
        "roles":["b9d6caa2-90ac-47ff-91f6-2149b8ffcf20","93ba1f27-173f-4714-b31e-77bdd8cb9932"],
        "clazz":null,
        "and so on"
        }
    },
    {
      "id":"b9d6caa2-90ac-47ff-91f6-2149b8ffcf20",
      "label":"FURNITURE_PATIO",
      "sireProp":{
        "mentionType":null,
        "subtypes":null,
        "roles":["b9d6caa2-90ac-47ff-91f6-2149b8ffcf20","93ba1f27-173f-4714-b31e-77bdd8cb9932"],
        "clazz":null,
        "and so on"
        }
    },
    {
      "id":"b9d6caa2-90ac-47ff-91f6-2149b8ffcf20",
      "label":"FURNITURE_LIVING",
      "sireProp":{
        "mentionType":null,
        "subtypes":null,
        "roles":["b9d6caa2-90ac-47ff-91f6-2149b8ffcf20","93ba1f27-173f-4714-b31e-77bdd8cb9932"],
        "clazz":null,
        "and so on"
        }
    },
    {
      "id":"b9d6caa2-90ac-47ff-91f6-2149b8ffcf20",
      "label":"FURNITURE_DINING",
      "sireProp":{
        "mentionType":null,
        "subtypes":null,
        "roles":["b9d6caa2-90ac-47ff-91f6-2149b8ffcf20","93ba1f27-173f-4714-b31e-77bdd8cb9932"],
        "clazz":null,
        "and so on"
        }
    },
    
  4. 各新規ルート・レベル・エンティティー・タイプに固有 ID を割り当てます。

  5. 機械学習モデルのコーパスを Knowledge Studio から圧縮ファイルとしてエクスポートします。

    Knowledge Studio デプロイメント・タイプに基づいて、適切なエクスポート手順に従います。

  6. ダウンロードしたコーパスで、サブタイプが定義されているすべてのメンションについて、メンションのタイプ情報を更新して、新しいルート・レベルのエンティティー・タイプを指定します。

    例えば、元のタイプ・システムには、 PATIO サブタイプの言及が含まれている可能性があります。

    {
      "id" : "Blogs_shopper.com_dc5cf4764d91f87575b17ac8a5268462.en-M92",
      "source" : "IMPORT",
      "properties" : {
        "SIRE_ENTITY_CLASS" : "SPC",
        "SIRE_MENTION_CLASS" : "SPC",
        "SIRE_ENTITY_LEVEL" : "NONE",
        "SIRE_ENTITY_SUBTYPE" : "PATIO",
        "SIRE_MENTION_ROLE" : "FURNITURE",
        "SIRE_MENTION_TYPE" : "NONE"
      },
      "type" : "FURNITURE",
      "begin" : 3221,
      "end" : 3234,
      "inCoref" : false
    },
    

    言及の SIRE_MENTION_ROLE および type の値を、新しいルート・レベルのエンティティー・ラベル ( FURNITURE_PATIO など) に置き換えます。 SIRE_ENTITY_SUBTYPE 値として NONE を指定します。

    {
      "id" : "Blogs_shopper.com_dc5cf4764d91f87575b17ac8a5268462.en-M92",
      "source" : "IMPORT",
      "properties" : {
        "SIRE_ENTITY_CLASS" : "SPC",
        "SIRE_MENTION_CLASS" : "SPC",
        "SIRE_ENTITY_LEVEL" : "NONE",
        "SIRE_ENTITY_SUBTYPE" : "NONE",
        "SIRE_MENTION_ROLE" : "FURNITURE_PATIO",
        "SIRE_MENTION_TYPE" : "NONE"
      },
      "type" : "FURNITURE_PATIO",
      "begin" : 3221,
      "end" : 3234,
      "inCoref" : false
    },
    

    親メンション・ラベルの名前を変更することを忘れないでください。

    例えば、 "SIRE_ENTITY_SUBTYPE" : "OTHER" を指定している言及を見つけ、値を OTHER から NONE に変更します。

    メンションの SIRE_MENTION_ROLE および type の値を、新しい親エンティティー・タイプ・ラベルに変更します。

    例えば、これらの言及の SIRE_MENTION_ROLE 値と type 値を FURNITURE から FURNITURE_NONE に変更し、 SIRE_ENTITY_SUBTYPE を NONE に変更します。

    {
      "id" : "Sports_herald.com_be99aca94a7cff5abb74476b844a11b6.en-M75",
      "source" : "IMPORT",
      "properties" : {
        "SIRE_MENTION_CLASS" : "SPC",
        "SIRE_ENTITY_LEVEL" : "NONE",
        "SIRE_ENTITY_SUBTYPE" : "NONE",
        "SIRE_ENTITY_CLASS" : "SPC",
        "SIRE_MENTION_TYPE" : "NONE",
        "SIRE_MENTION_ROLE" : "FURNITURE_NONE"
      },
      "type" : "FURNITURE_NONE",
      "begin" : 2063,
      "end" : 2071,
      "inCoref" : false
    },
    
  7. 新しいフラット化されたエンティティー・タイプに基づいて、欠落している関係の注釈を追加します。

  8. Knowledge Studio ワークスペースを作成し、変換されたタイプ・システムをアップロードします。

    Knowledge Studio デプロイメント・タイプに基づいて、タイプ・システムをアップロードするための適切な手順に従います。

  9. アノテーションが付けられた文書をワークスペースにアップロードします。 エクスポートされたデータの元のファイル構造を保持します。 例えば、圧縮ファイルのルート・レベル・ディレクトリーが元のエクスポート・ファイルと同じであることを確認してください。

    Knowledge Studio デプロイメント・タイプに基づいて、文書をアップロードするための適切な手順に従います。

  10. Knowledge Studioから、 「トレーニング」 をクリックしてモデルをリトレーニングします。

    詳細については、お客様の導入タイプに該当するトピックを参照してください

  11. これで、 Knowledge Studio からモデルをエクスポートし、それを Discovery にインポートして、モデルを機械学習エンリッチとして使用する準備ができました。

    詳しくは、 インポートされた ML モデルを使用したカスタム項の検索 を参照してください。