분류용 텍스트 학습 데이터 준비

이 페이지에서는 단일 라벨 및 다중 라벨 분류 모델을 학습하기 위해 Vertex AI 데이터 세트에서 사용할 수 있도록 텍스트 데이터를 준비하는 방법을 설명합니다.

단일 라벨 분류

단일 라벨 분류의 학습 데이터는 문서와 해당 문서에 적용되는 분류 카테고리로 구성됩니다. 단일 라벨 분류를 사용하면 문서에 라벨을 하나만 할당할 수 있습니다.

데이터 요구사항

  • 학습 문서는 최소 20개에서 1,000,000개까지 제공해야 합니다.
  • 고유 카테고리 라벨은 최소 2개에서 최대 5,000개까지 제공해야 합니다.
  • 각 라벨은 최소 10개의 문서에 적용해야 합니다.
  • 멀티 라벨 분류의 경우 하나 이상의 라벨을 문서에 적용할 수 있습니다.
  • 문서를 인라인으로 포함하거나 Cloud Storage 버킷에 있는 TXT 파일을 참조할 수 있습니다.

AutoML 모델 학습에 사용되는 텍스트 데이터를 위한 권장사항

다음 권장사항은 AutoML 모델 학습에 사용되는 데이터 세트에 적용됩니다.

  • 예측을 수행할 데이터로 분류되는 학습 데이터를 사용합니다. 다양한 길이의 문서, 다양한 사람이 작성한 문서, 문구나 스타일이 다른 문서를 학습 데이터에 포함해 보세요.
  • 사람이 읽고 쉽게 분류할 수 있는 문서를 사용하세요. AutoML 모델은 일반적으로 사람이 지정할 수 없는 카테고리 라벨을 예측할 수 없습니다. 따라서 사람이 문서를 읽고 라벨을 지정하도록 훈련시킬 수 없다면 모델도 그러한 작업을 수행하도록 학습시키기가 어렵습니다.
  • 라벨당 가능한 많은 학습 문서를 제공하세요. 라벨당 예시를 더 많이 사용하면 모델에서 신뢰도 점수를 올릴 수 있습니다. 라벨당 예시 50개를 사용하여 모델을 학습하고 결과를 평가합니다. 더 많은 예시를 추가하고 정확성 목표를 달성할 때까지 재교육합니다. 라벨당 예시가 수백 개 또는 1,000개 필요할 수 있습니다.
  • 가장 일반적인 라벨의 문서가 가장 일반적이지 않은 라벨의 문서보다 최대 100배 더 많을 때 모델의 성능이 가장 좋습니다. 빈도가 극히 낮은 라벨은 삭제하는 것이 좋습니다.
  • 정의된 라벨과 일치하지 않는 문서의 경우 도메인 외부 라벨(예: None_of_the_above)을 포함하는 것이 좋습니다. 예를 들어 예술과 엔터테인먼트 관련 문서에만 라벨을 지정했는데 데이터 세트에 스포츠나 기술 같은 다른 주제의 문서가 포함되어 있으면 다른 주제에 대한 문서에 None_of_the_above 라벨을 지정합니다. 이 라벨이 없으면 학습된 모델은 정의된 라벨에 부적합한 문서를 포함하여 모든 문서를 정의된 라벨 중 하나에 할당하려고 시도합니다.
  • 현재 라벨과 일치하지 않는 문서가 많으면 모델이 예측을 도메인 외부 라벨로 왜곡시키지 않도록 이를 필터로 제외합니다. 예를 들어 문서가 현재 라벨 집합 내에 포함되는지 또는 도메인 외부에 있는지를 예측하는 필터링 모델을 사용할 수 있습니다. 필터링 후에는 도메인 내 문서만 분류하는 또 다른 모델을 사용할 수 있습니다.

입력 파일

단일 라벨 분류는 JSON Lines 또는 CSV 입력 파일을 지원합니다. 특정 문서 하나에 라벨(주석)을 하나만 지정할 수 있습니다. 다음 섹션에서는 입력 파일을 설명하고 각 파일 형식에 대한 예시를 제공합니다.

JSON Lines

JSON Lines 파일의 형식, 필드 이름, 값 유형은 공개적으로 액세스할 수 있는 YAML 파일인 스키마 파일에 따라 결정됩니다.

다음 Cloud Storage 위치에서 단일 라벨 분류에 대한 스키마 파일을 다운로드할 수 있습니다.
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_single_label_io_format_1.0.0.yaml

JSON Lines 예시

다음 예시에서는 스키마를 사용하여 자체 JSON Lines 파일을 만드는 방법을 보여줍니다. 이 예시에는 가독성을 위해 줄바꿈을 사용했습니다. JSON 파일에서는 각 문서 뒤에만 줄바꿈을 사용하세요. dataItemResourceLabels 필드는 ml_use 등을 지정하며, 선택사항입니다.

{
  "classificationAnnotation": {
    "displayName": "label"
  },
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "classificationAnnotation": {
    "displayName": "label2"
  },
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

CSV

CSV 파일의 각 행은 단일 문서를 나타냅니다. 다음 예시는 유효한 CSV 파일의 일반적인 형식을 보여줍니다. ml_use 열은 선택사항입니다.

[ml_use],gcs_file_uri|"inline_text",label

다음 스니펫은 입력 CSV 파일의 예시입니다.

test,gs://path_to_file,label1
test,"inline_text",label2
training,gs://path_to_file,label3
validation,gs://path_to_file,label1

다중 라벨 분류

다중 라벨 분류의 학습 데이터는 문서와 해당 문서에 적용되는 분류 카테고리로 구성됩니다. 다중 라벨 분류를 사용하면 문서에 하나 이상의 라벨을 지정할 수 있습니다.

데이터 요구사항

  • 학습 문서는 최소 20개에서 1,000,000개까지 제공해야 합니다.
  • 고유 카테고리 라벨은 최소 2개에서 최대 5,000개까지 제공해야 합니다.
  • 각 라벨은 최소 10개의 문서에 적용해야 합니다.
  • 멀티 라벨 분류의 경우 하나 이상의 라벨을 문서에 적용할 수 있습니다.
  • 문서를 인라인으로 포함하거나 Cloud Storage 버킷에 있는 TXT 파일을 참조할 수 있습니다.

AutoML 모델 학습에 사용되는 텍스트 데이터를 위한 권장사항

다음 권장사항은 AutoML 모델 학습에 사용되는 데이터 세트에 적용됩니다.

  • 예측을 수행할 데이터로 분류되는 학습 데이터를 사용합니다. 다양한 길이의 문서, 다양한 사람이 작성한 문서, 문구나 스타일이 다른 문서를 학습 데이터에 포함해 보세요.
  • 사람이 읽고 쉽게 분류할 수 있는 문서를 사용하세요. AutoML 모델은 일반적으로 사람이 지정할 수 없는 카테고리 라벨을 예측할 수 없습니다. 따라서 사람이 문서를 읽고 라벨을 지정하도록 훈련시킬 수 없다면 모델도 그러한 작업을 수행하도록 학습시키기가 어렵습니다.
  • 다중 라벨 분류를 사용하는 경우 각 문서에 모든 관련 라벨을 적용하세요. 예를 들어 제약 관련 세부정보를 제공하는 문서를 라벨링하는 경우 DosageSide Effects로 라벨링된 문서가 있을 수 있습니다.
  • 라벨당 가능한 많은 학습 문서를 제공하세요. 라벨당 예시를 더 많이 사용하면 모델에서 신뢰도 점수를 올릴 수 있습니다. 높은 신뢰도 점수는 특히 모델이 문서를 분류하며 여러 개의 라벨을 반환하는 경우에 유용합니다. 라벨당 예시 50개를 사용하여 모델을 학습하고 결과를 평가합니다. 더 많은 예시를 추가하고 정확성 목표를 달성할 때까지 재교육합니다. 라벨당 예시가 수백 개 또는 1,000개 필요할 수 있습니다.
  • 가장 일반적인 라벨의 문서가 가장 일반적이지 않은 라벨의 문서보다 최대 100배 더 많을 때 모델의 성능이 가장 좋습니다. 빈도가 극히 낮은 라벨은 삭제하는 것이 좋습니다.
  • 정의된 라벨과 일치하지 않는 문서의 경우 도메인 외부 라벨(예: None_of_the_above)을 포함하는 것이 좋습니다. 예를 들어 예술과 엔터테인먼트 관련 문서에만 라벨을 지정했는데 데이터 세트에 스포츠나 기술 같은 다른 주제의 문서가 포함되어 있으면 다른 주제에 대한 문서에 None_of_the_above 라벨을 지정합니다. 이 라벨이 없으면 학습된 모델은 정의된 라벨에 부적합한 문서를 포함하여 모든 문서를 정의된 라벨 중 하나에 할당하려고 시도합니다.
  • 현재 라벨과 일치하지 않는 문서가 많으면 모델이 예측을 도메인 외부 라벨로 왜곡시키지 않도록 이를 필터로 제외합니다. 예를 들어 문서가 현재 라벨 집합 내에 포함되는지 또는 도메인 외부에 있는지를 예측하는 필터링 모델을 사용할 수 있습니다. 필터링 후에는 도메인 내 문서만 분류하는 또 다른 모델을 사용할 수 있습니다.

입력 파일

멀티 라벨 분류는 JSON Lines 또는 CSV 입력 파일을 지원합니다. 문서 하나에 라벨(주석)을 두 개 이상 지정할 수 있습니다. 다음 섹션에서는 입력 파일을 설명하고 각 파일 형식에 대한 예시를 제공합니다.

JSON Lines

JSON Lines 파일의 형식, 필드 이름, 값 유형은 공개적으로 액세스할 수 있는 YAML 파일인 스키마 파일에 따라 결정됩니다.

다음 Cloud Storage 위치에서 멀티 라벨 분류에 대한 스키마 파일을 다운로드할 수 있습니다.
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_classification_multi_label_io_format_1.0.0.yaml

JSON Lines 예시

다음 예시에서는 스키마를 사용하여 자체 JSON Lines 파일을 만드는 방법을 보여줍니다. 이 예시에는 가독성을 위해 줄바꿈을 사용했습니다. JSON 파일에서는 각 문서 뒤에만 줄바꿈을 사용하세요. dataItemResourceLabels 필드는 ml_use 등을 지정하며, 선택사항입니다.

{
  "classificationAnnotations": [{
    "displayName": "label1"
    },{
    "displayName": "label2"
  }],
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "classificationAnnotations": [{
    "displayName": "label2"
    },{
    "displayName": "label3"
  }],
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

CSV

CSV 파일의 각 행은 단일 문서를 나타냅니다. 다음 예시는 유효한 CSV 파일의 일반적인 형식을 보여줍니다. ml_use 열은 선택사항입니다.

[ml_use],gcs_file_uri|"inline_text",label1,label2,...

다음 스니펫은 입력 CSV 파일의 예시입니다.

test,gs://path_to_file,label1,label2
test,"inline_text",label3
training,gs://path_to_file,label1,label2,label3
validation,gs://path_to_file,label4,label5