

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# テキスト分類 - TensorFlow アルゴリズムの入出力インターフェイス
<a name="text-classification-tensorflow-inputoutput"></a>

TensorFlow ハブモデルに一覧表示されている事前トレーニング済みモデルはそれぞれ、任意の数のクラスを持つテキスト文で構成されるデータセットに合わせて微調整できます。事前トレーニング済みモデルは分類レイヤーをテキスト埋め込みモデルにアタッチし、レイヤーパラメータをランダム値に初期化します。分類レイヤーの出力次元は、入力データで検出されたクラスの数に基づいて決定されます。

テキスト分類 - TensorFlow モデルに入力するトレーニングデータをフォーマットする方法にご注意ください。
+ **トレーニングデータの入力形式:** `data.csv` ファイルを含むディレクトリ。最初の列の各行は、0 からクラス数の間の整数のクラスラベルを含んでいる必要があります。2 列目の各行は、対応するテキストデータを含んでいる必要があります。

入力 CSV ファイルの例を次に示します。ファイルにはヘッダーを含めないことにご注意ください。ファイルは、次のようなパスの Amazon S3 バケットでホストされている必要があります。`s3://bucket_name/input_directory/`。末尾の `/` は必須であることにご注意ください。

```
|   |  |
|---|---|
|0 |hide new secretions from the parental units|
|0 |contains no wit , only labored gags|
|1 |that loves its characters and communicates something rather beautiful about human nature|
|...|...|
```

## 段階的トレーニング
<a name="text-classification-tensorflow-incremental-training"></a>

以前に SageMaker AI でトレーニングしたモデルのアーティファクトを使用して、新しいモデルのトレーニングをシードできます。段階的トレーニングでは、同じモデルまたは類似のデータを使用して新しいモデルをトレーニングする際のトレーニング時間が短縮されます。

**注記**  
SageMaker AI テキスト分類 - TensorFlow モデルは、SageMaker AI でトレーニングされた別のテキスト分類 - TensorFlow モデルを使用してのみシードできます。

一連のクラスが同じままである限り、任意のデータセットを段階的トレーニングに使用できます。段階的トレーニングのステップは微調整のステップと同様ですが、事前トレーニング済みモデルから始める代わりに、既存の微調整済みモデルから始めます。

SageMaker AI テキスト分類 - TensorFlow アルゴリズムを使用した段階的トレーニングの使用の詳細については、「[Introduction to JumpStart - Text Classification](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/jumpstart_text_classification/Amazon_JumpStart_Text_Classification.ipynb)」サンプルノートブックを参照してください。

## テキスト分類 - TensorFlow アルゴリズムによる推論
<a name="text-classification-tensorflow-inference"></a>

TensorFlow テキスト分類トレーニングの結果として生じる微調整済みモデルを推論のためにホストすることができます。推論用の未加工テキストの形式はすべて、コンテンツタイプ `application/x-text` でなければなりません。

推論を実行すると、確率値、すべてのクラスのクラスラベル、および確率が最も高いクラスインデックスに対応する予測ラベルが JSON 形式にエンコードされて得られます。テキスト分類 - TensorFlow モデルは、リクエストごとに単一の文字列を処理し、1 行だけを出力します。JSON 形式のレスポンスの例を次に示します。

```
accept: application/json;verbose

{"probabilities": [prob_0, prob_1, prob_2, ...],
"labels": [label_0, label_1, label_2, ...],
"predicted_label": predicted_label}
```

`application/json` に `accept` が設定されている場合、モデルは確率のみを出力します。