文書の分類
文書分類器の機械学習モデルは、文書を分析し、定義した一連のラベルから適切なラベルを使用して文書にタグ付けします。
文書の分類は、多数の文書をプログラムでグループにソートする場合に役立ちます。 例えば、販売する商品に関する顧客コメントを含むコレクションがあるとします。 フィードバックを自動的にクラスに分類できる場合は、お客様が言及している緊急の問題を切り分けて、最初に対処することができます。 前のフィードバックに基づいて、以下のラベルのようなクラスを定義することができます。
- 正しく機能しない
- アドバタイズされていない機能
- 使いにくい
- 欠落部分
- 出荷された部品がアセンブリー命令の部品リストと一致しません
文書分類器を作成するには、自然言語で指定された顧客フィードバックのポイントを最もよく取り込むクラスを認識できる機械学習モデルを作成します。 これらを、ビジネスにとって意味のある実際のシナリオを表すクラス・ラベルと組み合わせます。
- 文書分類器とテキスト分類器の違いは何ですか?
- 文書分類器は、本文テキスト・フィールドから抽出された語句に基づいて文書を分類できます。これには、その品詞からの情報と、考慮された本文テキストに適用されるその他のエンリッチメントが含まれます。 その他の非本文フィールドからの情報も使用されます。 テキスト分類器は、本文テキストから抽出された語句と、考慮された品詞情報に基づいて、文書を分類できます。 テキスト分類器の作成方法について詳しくは、「 分類器」を参照してください。
開始前に
文書分類モデルをトレーニングするには、適切にラベル付けされたサンプル文書を提供する必要があります。 以下のファイルを準備します。
- トレーニング・データ
-
必須。 文書分類機械学習モデルのトレーニングに使用される CSV ファイル。 ファイルには、列ごとにキー・データ・ポイントを含めることができます。 データ・ポイントは異なる場合がありますが、ファイルには以下の列が含まれている必要があります。
- 分類またはラベル付けを行う自然言語テキスト。
- 文書テキストで表現されるアイデアをカテゴリー化するラベルまたはクラス名。 1 つのテキスト・サンプルに複数のラベルを適用できます。 複数のラベル値はセミコロンで区切ります。
- テスト・データ
-
オプション。 トレーニング後に文書分類機械学習モデルをテストするために使用される CSV ファイル。 テスト用に別個のファイルを指定しない場合は、トレーニング・データ・コンテンツのサブセットがテスト目的で使用されます。
- ターゲット・データ
-
必須。 分類するデータが含まれている CSV ファイル。
すべての CSV ファイル (トレーニング、テスト、およびターゲット) の列名が同じでなければなりません。 列内のデータは、ストリング、数値など、同じデータ・タイプでなければなりません。
コンテンツ・マイニング・プロジェクトの作成時にアップロードした CSV ファイルを使用することも、新規コレクションを作成することもできます。
詳しくは、以下のトピックを参照してください。
文書分類トレーニング・データ・サンプル
以下の表は、文書分類器のトレーニングに使用される CSV ファイルに保管される可能性があるコンテンツのタイプの例を示しています。
請求 ID | 日付 | 製品ライン | プロダクト | クライアント・セグメント | クライアント・ロケーション | お客様の年齢 | フィードバック | ラベル |
---|---|---|---|---|---|---|---|---|
0 | 2016/1/1 |
茶 | レモン茶 | メンバーでない | Manhattan | 20 | わらはジュースパックから剥がされた。 | パッケージ・コンテナー |
1 | 2016/1/2 |
アイスクリーム | バニラ・アイスクリーム | シルバー・メンバー | Queens | 20 | 子供たちのためにアイスクリームを買ってきましたが、カップの中に糸のようなものがありました。 | 汚染の改ざん |
サンプルには 2 つの必須フィールドがあることに注意してください。 必須フィールドの名前は以下のとおりです。
Feedback
: ラベル付けする自然言語テキスト。Label
: フィードバックに適用するラベル。
コンテンツマイニングアプリケーションを開く
まだ作成していない場合は、プロジェクトを作成してコレクションを追加します。 既にプロジェクトとコレクションを作成している場合は、この手順をスキップして、 文書分類器を作成 できます。
-
Discoveryで、コンテンツ・マイニング・プロジェクトを作成します。
-
コレクションを作成するためにデータをアップロードすることを選択します。 コレクションに名前を指定し、**「次へ」**をクリックします。
-
トレーニングデータを含むCSVファイルをアップロードします。
トレーニング・データ・ファイルには、少なくとも以下の情報が含まれている必要があります。
- 分類するサンプル・テキストが含まれている列。 例えば、サンプル・テキストは製品レビューなどです。
- サンプル・テキストに割り当てられたクラス・ラベルまたはカテゴリー・ラベルを含む列。
-
収集処理が完了したら 、「アプリケーションを起動」 をクリックしてコンテンツマイニングアプリケーションを開きます。
コレクションのファセット詳細が表示されます。
文書分類器の作成
文書分類器を作成するには、以下のステップを実行します。
-
コンテンツ・マイニング・アプリケーションで、パンくずリストの 「コレクション」 リンクをクリックして、 「コレクションの作成」 ページを開きます。
索引作成の状況が表示されます。 コレクションが完全に索引付けされるのを待ってから、この手順を続行してください。
-
分類器を作成するには、 「コレクション」 をクリックし、リストから 「分類器」 を選択します。
Collection menu -
**「分類器の作成 (Create classifier)」**をクリックします。
-
分類器に名前を付けます。
後でモデルをエンリッチメントとしてデプロイするときに、エンリッチメントには
{classifier name} - {model name}
という形式の名前が付けられます。 例えば、分類器の名前がProduct reviews
であり、モデルの名前がv0.1
である場合、エンリッチメント名はProduct reviews - v0.1
になります。オプションで、 「言語」 フィールドから説明を選択して、トレーニング・データの言語を識別します。
-
次へ をクリックします。
-
「トレーニング・データ」 ページで、前にアップロードしたファイルをリストから選択し、 「次へ」 をクリックします。
あるいは、トレーニング・データを含む CSV ファイルをアップロードすることもできます。
フィールドページが表示されます。 ここには、追加したファイルから生成されたフィールドに関する詳細が表示されます。 通常、CSV ファイルの各列はフィールドに変換され、列ヘッダーからコピーされる名前が割り当てられます。
-
学習元の文書分類器のデータ・セットから除外するメタデータ・フィールドを選択解除して、 「次へ」 をクリックします。
含めるフィールドはすべて、分類の追加機能として使用されます。 デフォルトでは、すべてのフィールドが選択されています。 すべてのフィールドを確認するには、水平スクロールが必要な場合があります。
-
「分類」 ページで、機械学習のトレーニングおよび予測に使用するフィールドを指定します。
- 回答フィールド
- 分類ラベルを持つトレーニング・データ・ファイルからフィールドを選択します。 前の例では、
Label
フィールドが最良の選択です。 - 予測フィールド
- 予測されたクラス値に対して生成されるファセットの名前。 デフォルトでは、ファセット名の構文は
<Answer field value>
_predicted
です。 例えば、Label_predicted
です。 - テスト・データ・セット
- 分類器モデルのテストに使用するデータ・セットを指定します。 デフォルトでは、アップロードして構成したトレーニング・データ CSV ファイルは、トレーニング、検証、およびテストにそれぞれ使用される 3 つのデータ・セットに分割されます。 ただし、オプションで、モデルのテストに使用する別個のデータ・セットを指定できます。
- フェデレーテッド・モデルのトレーニング
- データ・セット内の特定のフィールドの値に基づいて、複数のモデルを作成します。 例えば、文書に
Product
フィールドがある場合、フィールドに指定されている製品名の値ごとに別個の分類モデルを作成するように分類器を構成できます。 デフォルトでは、分類器は 1 つの機械学習分類器モデルを作成します。
分類するテキストを含むフィールドを指定する必要はありません。 システムはこのフィールドを自動的に検出します。 分析可能テキストの抽出元のフィールドを確認し、別のフィールドの索引タイプを変更して、そのフィールドを変更または拡張することができます。 詳しくは、 テキスト・フィールドの識別 を参照してください。
次へ をクリックします。
-
トレーニング・データ内のテキストにエンリッチを適用する場合は、エンリッチメントを適用する 「ターゲット・フィールド (Target fields)」 リストから少なくとも 1 つのフィールドを選択します。
通常は、分類するテキストの本文を含むフィールドを選択する必要があります。 前の例では、
Feedback
フィールドが最良の選択です。次に、対象フィールドのテキストをエンリッチするために適用するアノテーターを選択し、 「次へ」 をクリックします。
品詞アノテーション機能はデフォルトで選択されています。
-
「確認」 ページで、分類構成の設定を確認します。 変更するには、 「戻る」 ボタンを使用します。 その他の場合は、 「保存」 をクリックします。
概要ページが表示されます。
-
「新規モデル」 をクリックして、機械学習モデルを作成およびトレーニングします。
-
オプションで、モデルの名前を変更したり、説明を追加したりすることができます。
以下のデータ・セットに指定されているデフォルトの比率値を変更できます。
- 学習データ・セット: 学習モデルの重みを更新します。
- 検証セット: トレーニング中のトレーニング・モデルの正確度をモニターします。 正確度の結果は、トレーニング損失グラフを描画するために使用されます。
- テスト・データ・セット: トレーニングされたモデルのスコアを計算します。
-
「作成」 をクリックします。
モデルのトレーニングが完了するまで、数分かかる場合があります。
文書分類モデルのデプロイ
モデルがトレーニングされた後、モデルをエンリッチとしてデプロイします。
-
「アクション」 列のオーバーフロー・メニュー・アイコンをクリックし、 「モデルのデプロイ」 をクリックします。 名前とその他の詳細を指定し、 「デプロイ」 をクリックします。
-
以下のいずれかを実行します。
-
コンテンツ・マイニング・プロジェクト内のコレクションに文書分類器を適用するには、 コレクションの拡張 を参照してください。
-
別のプロジェクト内のコレクションに文書分類器を適用するには、以下のステップを実行します。
-
Discoveryで、分類する文書を含むコレクションを作成するか、開きます。
エンリッチを適用するコレクション内のデータには、モデルのトレーニングに使用したコレクションと同じフィールドが含まれている必要があります。
-
「エンリッチメント (Enrichments)」 タブの 「名前」 列で、分類器を見つけます。 「拡張するフィールド (Fields to enrich)」 フィールドから、モデルのトレーニングに使用したものと同じテキスト・フィールドを選択します。 (このフィールドはシステムによって決定され、 「分析可能テキスト・コンテンツ」 フィールドとして索引付けされます。 詳しくは、 テキスト・フィールドの識別 を参照してください。)
-
**「変更を適用して再処理 (Apply changes and reprocess)」**をクリックします。
-
-
分類の結果
エンリッチがコレクションに適用されると、ファセットが生成されます。このファセットを使用して、予測されたクラスを見つけることができます。 この例では、予測フィールドの名前は label_answer_predicted
です。
{: caption="に適用された後に生成されるファセットを示すLabel_answer_predictedファセットが" caption-side="bottom"}される
生成されたファセットを使用して、分類によって文書をフィルターに掛け、文書のサブセットを分析します。 そうすることで、パターンを見つけ、その他の洞察を見つけることができます。 これらのターゲット文書をエクスポートして、チーム・メンバーと共有したり、さらに分析したりすることができます。 詳しくは、 データのエクスポート を参照してください。
文書分類器は、文書を分類するときに、分類を document_level_enrichment.classes.class_name
フィールドに保管します。
例えば、以下の JSON の抜粋は、 package_container
クラスで分類されたドキュメントを示しています。

文書分類器の制限
サービス・インスタンスごとに作成できるドキュメント分類器およびラベルの数は、 Discovery プラン・タイプによって異なります。
上限 | エンタープライズ | プレミアム | Cloud Pak for Data |
---|---|---|---|
サービス・インスタンスごとの文書分類器の数 | 20 | 20 | Unlimited |
ラベル付きデータ行の数 | 20,000超 | 20,000超 | 20,000超 |
エンリッチ後のトレーニング・データの最大サイズ (MB) | 1,024 | 1,024 | 1,024 |
ラベルの数 | 1.000 | 1.000 | 1.000 |
対象フィールドの数 | 50 | 50 | 50 |