IBM Cloud Docs
機械学習モデルの作成

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

機械学習モデルの作成

このチュートリアルは、他の Watson サービスとともにデプロイして使用できる機械学習モデルを作成するプロセスを理解するのに役立ちます。

学習目標

このチュートリアルの演習を完了すると、以下のタスクの実行方法が分かります。

  • 文書セットの作成
  • 文書の事前アノテーション付け
  • ヒューマン・アノテーターのタスクの作成
  • アノテーター間合意の分析およびアノテーション付き文書内の競合の裁定
  • 機械学習モデルの作成

このチュートリアルを終了するには、約 60 分かかります。 このチュートリアルに関連する他の概念を調べると、完了までの時間が長くなる可能性があります。

開始前に

  • サポートされているブラウザーを使用していることを確認してください。 『ブラウザーの要件』を参照してください。

  • Knowledge Studio の開始が正常に完了しています。これにはワークスペースの作成、タイプ・システムの作成、辞書の追加が含まれます。

  • Admin または Project Manager のいずれかの役割のユーザー ID を、少なくとも 1 つ持っている必要があります。

    可能であれば、このチュートリアルの機械学習モデル・タスクには、複数のユーザー ID (管理者またはプロジェクト管理者のユーザー ID を 1 つと、少なくとも 2 つのヒューマン・アノテーター・ユーザー ID) を使用してください。 複数のユーザー ID を使用すると、実際の IBM Watson® Knowledge Studio ワークスペースの最も現実的なシミュレーションが可能になります。このワークスペースでは、プロジェクト管理者は、複数のヒューマン・アノテーターによって実行されるアノテーションの調整と裁定を行う必要があります。 ただし、単一のユーザー ID にしかアクセスできない場合でも、プロセスのほとんどの部分をシミュレートすることができます。

    ユーザー役割について詳しくは、Knowledge Studio のユーザー役割を参照してください。

結果

このチュートリアルを完了すると、他の Watson サービスで使用できるカスタム機械学習モデルが得られます。

演習 1: アノテーション用の文書の追加

この演習では、Knowledge Studio のワークスペースに、ヒューマン・アノテーターによってアノテーションを付けることができる文書を追加する方法について学習します。

このタスクについて

文書の追加について詳しくは、『ワークスペースへの文書の追加』を参照してください。

手順

  1. をダウンロードします。 documents-new.csv 外部リンク・アイコン ファイルをご使用のコンピューターにダウンロードします。 このファイルには、アップロードに適したサンプル文書が含まれています。
  2. ワークスペース内で、「アセット」 > **「文書」**をクリックします。
  3. 「文書」ページで、**「文書セットのアップロード」**をクリックします。
  4. ご使用のコンピューターから documents-new.csv ファイルをアップロードします。 アップロードされたファイルがテーブルに表示されます。

演習 2: 辞書ベースのアノテーターによる事前アノテーション付け

この演習では、Knowledge Studio で、辞書ベースのアノテーターを使用して文書に事前アノテーションを付ける方法について学習します。

このタスクについて

文書の事前アノテーション付けは、オプションのステップです。 ただし、このステップは、後でヒューマン・アノテーターのジョブを容易にするので、価値のあるステップです。

辞書による事前アノテーション付けについて詳しくは、『辞書による文書の事前アノテーション付け』を参照してください。

手順

  1. ワークスペース内で、「アセット」 > **「辞書」**をクリックします。

    Test dictionary辞書が開きます。 Knowledge Studio の開始チュートリアルの辞書の追加の演習には、この辞書を作成する方法が示されています。

  2. **「エンティティー・タイプ (Entity type)」**リストから、ORGANIZATION 辞書にマップする Test dictionary エンティティー・タイプを選択します。

    Knowledge Studio の開始チュートリアルのタイプ・システムの作成の演習には、ORGANIZATION エンティティー・タイプが含まれるタイプ・システムを作成する方法が記載されています。

  3. 「機械学習モデル (Machine Learning Model)」 > **「事前アノテーション (Pre-annotation)」ページで、「事前アノテーターを実行 (Run Pre-annotators)」**をクリックします。

  4. **「辞書 (Dictionary)」を選択して、「次へ」**をクリックします。

  5. 演習 1 で作成した文書セットを選択します。

  6. 「実行 (Run)」 をクリックします。

結果

選択したセット内の文書には、作成した辞書を使用して事前アノテーションが付けられます。 必要に応じて、この辞書を使用して、後で追加する文書セットやアノテーション・セットに事前アノテーションを付けることができます。

演習 3: アノテーション・タスクの作成

この演習では、Knowledge Studio で、アノテーション・セットを作成し、アノテーション・タスクを使用してヒューマン・アノテーターの作業を追跡する方法について学習します。

このタスクについて

アノテーション・セットは、ヒューマン・アノテーターに割り当てる、アップロードされた文書セットからの文書のサブセットです。 ヒューマン・アノテーターは、アノテーション・セット内の文書にアノテーションを付けます。 後でアノテーター間スコアを使用して、各ヒューマン・アノテーターによって追加されたアノテーションを比較するには、少なくとも 2 人のヒューマン・アノテーターを異なるアノテーション・セットに割り当てる必要があります。 また、一定のパーセンテージの文書がセット間で重複するように指定する必要があります。

現実的なシナリオでは、そのワークスペースで作業するヒューマン・アノテーターの数に基づいて、必要な数のアノテーション・セットを作成することになります。 このチュートリアルでは、2 つのアノテーション・セットを作成します。 複数のユーザー ID にアクセスできない場合は、両方のアノテーション・セットを同じユーザーに割り当てることができます。

アノテーション・セットとアノテーション・タスクについて詳しくは、アノテーション・タスクの作成を参照してください。

手順

  1. ワークスペース内で、「機械学習モデル (Machine Learning Model)」 > **「アノテーション (Annotations)」**とクリックします。

  2. **「アノテーション・タスク (Annotation Tasks)」タブ、「タスクの追加 (Add Task)」**の順にクリックします。

  3. タスクの詳細を指定します。

    • 「タスク名」 フィールドに Test と入力します。
    • **「期限 (Deadline)」**フィールドで、将来の日付を選択します。
  4. **「アノテーション・セットの作成 (Create Annotation Sets)」**をクリックします。

    「アノテーション・セットの作成」ウィンドウが開きます。 デフォルトでは、このウィンドウには基本セット (すべての文書を含む) と、新しいアノテーション・セットの情報を指定できるフィールドが表示されます。

  5. **「別のセットとヒューマン・アノテーターの追加」**をクリックして、追加アノテーション・セット用のフィールドを追加します。 いくつでも作成したいだけアノテーション・セットをクリックして追加できます。 このチュートリアルでは、2 つのアノテーション・セットのみ必要です。

    注釈セットの作成」ページの画面キャプチャ。

  6. **「重複」**フィールドに、100 を指定します。 この値により、基本セット内の 100 パーセントの文書をすべての新規アノテーション・セットに含めて、すべてのヒューマン・アノテーターがアノテーションを付けることができるようになります。

  7. 新規アノテーション・セットごとに、必要な情報を指定します。

    • **「アノテーター」**フィールドで、新規アノテーション・セットに割り当てるヒューマン・アノテーターのユーザー ID を選択します。 現実的なシナリオでは、各アノテーション・セットは、それぞれ異なるヒューマン・アノテーターに割り当てられます。

      チュートリアルに使用する管理者 ID が 1 つしかない場合は、そのユーザーをすべてのアノテーション・セットに割り当てます。 現実的なシナリオでは複数のヒューマン・アノテーターがいますが、このチュートリアルでは、管理者がヒューマン・アノテーターとして作業します。

    • **「セット名」**フィールドに、アノテーション・セットの記述名を指定します。 このチュートリアルの場合、Set 1Set 2 の名前を使用できます。

  8. **「生成」**をクリックします。

  9. 保存 をクリックします。

  10. ヒューマン・アノテーターが文書にアノテーションを付け始めるに従って、タスクを開いて進行状況を参照できます。

演習 4: 文書のアノテーション付け

この演習では、Knowledge Studio で、グランドトゥルース・エディター を使用して文書にアノテーションを付ける方法について学習します。

このタスクについて

ヒューマン・アノテーションについて詳しくは、『グランドトゥルース・エディターを使用したアノテーション』を参照してください。

手順

  1. 演習 3 で作成したアノテーション・タスクに割り当てられたユーザーとして、Knowledge Studio にログインします。

    このチュートリアルで単一の管理者 ID にしかアクセスできない場合でも、その ID を使用してヒューマン・アノテーションを実行できます。 しかし現実的なシナリオでは、ヒューマン・アノテーションは、ヒューマン・アノテーター役割を持つさまざまなユーザーによって実行されることに注意してください。

  2. My workspace ワークスペースを開き、「機械学習モデル (Machine Learning Model)」 > **「アノテーション (Annotations)」**とクリックします。

  3. **「アノテーション・タスク (Annotation Tasks)」**タブをクリックし、Test演習 3 で作成した アノテーション・タスクを開きます。

  4. 割り当てられたアノテーション・セットのいずれかにおいて、**「アノテーションを付ける (Annotate)」**をクリックします。

アノテーション・タスクのセットアップ方法に応じて、ログインに使用したユーザー ID に 1 つ以上のアノテーション・タスクが割り当てられることがあります。

  1. 文書のリストから、Technology - gmanews.tv 文書を見つけて開きます。

用語 IBM には ORGANIZATION エンティティー・タイプで既にアノテーションが付けられていることに注意してください。 このアノテーションは、レッスン 2 で適用された辞書の事前アノテーターによって追加されました。 この事前アノテーションは正しいため、変更する必要はありません。

This screen capture shows an open document with an existing pre-annotation for "IBM".

  1. メンションのアノテーション付け

    1. 「エンティティー」タブをクリックします。

    2. 文書の本文内で、Thomas Watson というテキストを選択します。

    3. エンティティー・タイプのリストで、PERSON をクリックします。 エンティティー・タイプ PERSON が、選択したメンションに適用されます。

      ![This screen capture shows the "PERSON" entity type applied to the mention, "Thomas Watson".](images/wks_tut_annotatemention3.png「この画面キャプチャーは、メンション「Thomas Watson」に適用される「PERSON」エンティティー・タイプを示しています。」)

  2. 関係のアノテーション付け

    1. 「関係 (Relation)」タブをクリックします。

    2. Thomas WatsonIBM のメンションを (その順序で) 選択します。 メンションを選択するには、テキストの上にあるエンティティー・タイプ・ラベルをクリックします。

    3. 関係タイプのリストで、founderOfをクリックします。 2 つのメンションは、founderOf 関係によって接続されます。

      ![This screen capture shows two mentions connected by the relation type, "founderOf".](images/wks_tut_annotaterelation.png「この画面キャプチャーは、関係タイプ「founderOf」によって接続された 2 つのメンションを示しています。」)

  3. 状況メニューから**「完了」を選択し、「保存」**ボタンをクリックします。

  4. **「文書リストを開く (Open document list)」をクリックしてこのタスクに関する文書のリストに戻り、「すべての文書を送信 (Submit All Documents)」**をクリックして、文書を承認のために送信します。

    現実的な状況では、さらに多くのアノテーションを作成し、セット内のすべての文書を完了してから送信します。

  5. このアノテーション・セットを閉じてから、Test タスク内のもう一方のアノテーション・セットを開きます。

    アノテーション・タスクのセットアップ方法とそれらのタスクの割り当て先のユーザーによっては、このアノテーション・タスクで、もう一方のアノテーション・セットに割り当てられているユーザーとして Knowledge Studio にログインする必要が生じる場合があります。

  6. 同じアノテーションを Technology - gmanews.tv 文書で繰り返します。ただし、今回は、employedBy 関係でなく founderOf 関係を使用します。

別のユーザーとしてログインすると、次の演習でアノテーター間合意の例を理解するのに役立ちます。 しかし、ユーザーが 1 人のみの場合でも、このチュートリアルを完了して、アノテーター間合意の働きについて理解することができます。

  1. 2 つ目のアノテーション・セットについてアノテーションを完了したら、**「すべての文書を送信 (Submit All Documents)」**をクリックします。

演習 5: アノテーター間合意の分析

この演習では、Knowledge Studio で複数のヒューマン・アノテーターによる作業を比較する方法について学習します。

このタスクについて

さまざまなヒューマン・アノテーターが、重複している文書に整合性のあるアノテーションを付けているかどうかを判別するには、アノテーター間合意 (IAA) スコアを検討します。

Knowledge Studio は、タスク内のすべての文書セット内の重複している文書を、文書セットの状況に関係なく、すべて検査して、IAA スコアを計算します。 IAA スコアは、さまざまなヒューマン・アノテーターが、メンション、関係、および共同参照チェーンに、どのようなアノテーションを付けたかを示します。 IAA スコアを定期的に調べて、ヒューマン・アノテーター相互間の整合性を確認することをお勧めします。

このチュートリアルでは、ヒューマン・アノテーターがすべての文書セットを承認のために送信しました。 アノテーター間合意スコアを許容できる場合は、文書セットを承認することができます。 文書セットを拒否すると、その文書セットは、改善のためにヒューマン・アノテーターに差し戻されます。

アノテーター間合意の詳細については、グランド・トゥルースの作成を参照してください。

手順

  1. Knowledge Studio に管理者としてログインし、「機械学習モデル (Machine Learning Model)」 > **「アノテーション (Annotations)」**を選択します。 **「アノテーション・タスク (Annotation Tasks)」**タブ、Test タスクの順にクリックします。

**「状況」**列で、文書セットが送信されたことを確認できます。

  1. **「アノテーター間一致の計算 (Calculate Inter-Annotator Agreement)」**をクリックします。

  2. 最初のメニューをクリックして、メンション、関係、および共同参照チェーンの IAA スコアを表示します。 ヒューマン・アノテーターのペア別に合意を表示することもできます。 特定の文書別に合意を表示することもできます。 一般に、完全な合意を 1 として、そのうちの 0.8 のスコアを目標とします。 このチュートリアルでは、2 つのエンティティー・タイプにアノテーションを付けただけであるため、ほとんどのエンティティー・タイプ・スコアは N/A (適用外) です。これは、スコアの算出に使用可能な情報がないことを意味します。

    図 1. davephil

    このスクリーンキャプチャは、あるタスクのアノテーター間スコアを示している。

  3. スコアを検討した後、SUBMITTED 状況の文書セットを承認するか拒否するかを決定できます。 以下のアクションのいずれかを実行します。

    • スコアが受け入れ可能なアノテーション・セットに対して、チェック・ボックスを選択し、**「受け入れ (Accept)」**をクリックします。 他の文書セットと重複しない文書は、グランドトゥルースへプロモートされます。 重複する文書は、まず、競合を解決できるように裁定を通して検討される必要があります。 このチュートリアルでは、両方の文書セットに同意します。
    • スコアが受け入れ可能ではないアノテーション・セットに対して、チェック・ボックスを選択し、**「拒否 (Reject)」**をクリックします。 その文書セットは、アノテーションの改善のために、ヒューマン・アノテーターによる再アノテーションが必要になります。

結果

アノテーター間合意スコアを評価したことで、同じ文書にさまざまなヒューマン・アノテーターのペアがどのようなアノテーションを付けたかが分かりました。 アノテーター間合意スコアが許容できる場合は、その文書セットに同意しました。

演習 6: アノテーション付き文書内の競合の裁定

この演習では、Knowledge Studio で、文書セット間で重複する文書内の競合を裁定する方法について学習します。

このタスクについて

文書セットを承認すると、他の文書セットと重複しない文書だけがグランドトゥルースへプロモートされます。 文書が複数の文書セット間の重複に含まれている場合、その文書をグランドトゥルースへプロモートするためには、事前にアノテーションの競合 (存在する場合) の裁定を行う必要があります。

裁定の詳細については、グランド・トゥルースの作成を参照してください。

手順

  1. Knowledge Studio に管理者としてログインし、「機械学習モデル (Machine Learning Model)」 > **「アノテーション (Annotations)」**を選択します。 **「アノテーション・タスク (Annotation Tasks)」**タブ、Test タスクの順にクリックします。

  2. 2 つの文書セットが承認済み状態であることを確認します。

  3. **「重複文書での競合のチェック (Check Overlapping Documents for Conflicts)」**をクリックします。

    複数のヒューマン・アノテーターによってアノテーションが付けられた、重複している文書を表示できます。

  4. チュートリアルの指示に従って、Technology - gmanews.tv 文書について競合する関係を作成したため、リスト内でその文書を見つけて、**「競合の検査 (Check for Conflicts)」**をクリックします。

  5. 2 つの競合するアノテーション・セットを選択して、**「競合の検査 (Check for Conflicts)」**をクリックします。

    裁定モードが開きます。 裁定モードでは、文書をグランド・トゥルースへプロモートする前に、重複文書を表示し、競合を検査し、アノテーションの削除や置換を行うことができます。

  6. **「関係の競合 (Relation conflicts)」**を選択し、founderOf 関係を受け入れ、employedBy 関係を拒否します。

  7. **「グランドトゥルースへのプロモート (Promote to Ground Truth)」**をクリックします。

    あるいは、「文書」ページで**「同意する」**をクリックして、文書をグランドトゥルースへプロモートすることもできます。

結果

アノテーションの競合を解決し、文書をグランドトゥルースへプロモートした後、それらの文書を使用して機械学習モデルをトレーニングすることができます。

演習 7: 機械学習モデルの作成

この演習では、Knowledge Studio で機械学習モデルを作成する方法について学習します。

このタスクについて

機械学習モデルを作成する場合は、機械学習モデルのトレーニングに使用する文書セットを選択します。 また、トレーニング・データ、テスト・データ、およびブラインド・データとして使用する文書のパーセンテージも指定します。 機械学習モデルのトレーニングに使用できるのは、承認または裁定によってグランドトゥルースになった文書だけです。

機械学習モデルについて詳しくは、機械学習モデルのトレーニング機械学習モデルのパフォーマンスの分析を参照してください。

手順

  1. 管理者として Knowledge Studio にログインします。

  2. 「機械学習モデル (Machine Learning Model)」>「パフォーマンス (Performance)」>**「トレーニングと評価 (Train and evaluate)」**をクリックします。

  3. **「すべて (All)」を選択し、「トレーニングと評価 (Train & Evaluate)」**をクリックします。

    すべての文書内のヒューマン・アノテーション数およびワード数によっては、トレーニングに 10 分以上、あるいは数時間を要する場合もあります。

  4. 機械学習モデルのトレーニング後、それを「バージョン (Version)」ページからエクスポートすることができます。また、「パフォーマンス」ページ上の各グラフの上にある**「詳細統計 (Detailed Statistics)」**リンクをクリックすることにより、そのモデルのパフォーマンスに関する詳しい情報を表示することもできます。

  5. 「トレーニング/テスト/ブラインド・セット」ページを表示するには、**「トレーニングと評価 (Train and evaluate)」**ボタンをクリックします。

  6. ヒューマン・アノテーターが処理した文書を表示するには、「グランドトゥルースの表示」 をクリックします。

  7. トレーニング済みの機械学習モデルが同じ文書セットについて作成したアノテーションを表示するには、**「デコード結果の表示」**をクリックします。

  8. 機械学習モデルの精度、再呼び出し、および F1 スコアの詳細を表示するには、「パフォーマンス」ページをクリックします。

  9. 各グラフの上にある**「詳細統計」**リンクをクリックします。 これらの「統計」ページでは、ラジオ・ボタンを使用して、メンション、関係、および共同参照チェーンのスコアを表示できます。

    エンティティー・タイプ、関係タイプ、および共同参照チェーンの統計の要約を表示することにより、パフォーマンスを分析できます。 コンフュージョン・マトリックス で表される統計情報を分析することもできます。 このマトリックスを表示するには、**「サマリー (Summary)」「コンフュージョン・マトリックス (Confusion Matrix)」**に変更します。 コンフュージョン・マトリックスは、機械学習モデルによって追加されたアノテーションを、グランドトゥルースのアノテーションと比較するのに役立ちます。

    このチュートリアルでは、組織の単一の辞書のみを使用して、文書にアノテーションを付けました。 したがって、0 を除くほとんどのエンティティー・タイプでは、表示されるスコアは N/A または ORGANIZATION です。 数値は小さいですが、ヒューマン・アノテーションや修正を行っていないため、予期されることです。

    図 2. 機械学習モデルの「統計」ページのオプション

    このスクリーンキャプチャは統計ページを示しています。

  10. **「バージョン」**をクリックします。 「バージョン」ページでは、モデルおよびその作成に使用されたリソース (辞書およびアノテーション・タスクを除く) のスナップショットを取得できます。 例えば、モデルをリトレーニングする前にスナップショットを取得できます。 次回のトレーニングで統計がより貧弱になった場合は、古いバージョンをプロモートして、貧弱な結果を返したバージョンを削除できます。

結果

機械学習モデルを作成して、トレーニングし、そのモデルがテスト・データとブラインド・データにアノテーションを付けたときのパフォーマンスを評価しました。 パフォーマンス・メトリックを調べることにより、機械学習モデルの正確度を向上させるための方法を特定できます。

チュートリアルのまとめ

機械学習モデルが作成されました。

学習した内容

このチュートリアルを修了すると、以下の概念について学習したことになります。

  • 文書セット
  • 機械学習モデル
  • ヒューマン・アノテーション・タスク
  • アノテーター間合意と裁定