텍스트 학습 데이터 준비

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 페이지에서는 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

항목 추출

항목 추출 학습 데이터는 모델에서 식별하려는 항목 유형을 식별하는 라벨로 주석이 추가된 문서로 구성됩니다. 예를 들어 법률 문서 또는 특허 서류에서 특별한 용어를 식별하기 위해 항목 추출 모델을 만들 수 있습니다. 주석은 라벨을 지정하는 항목의 위치 및 라벨 자체를 지정합니다.

송장 또는 계약서와 같이 AutoML 모델을 학습시키기 위해 사용되는 데이터 세트에 대해 구조화된 또는 반구조적인 문서에 주석을 추가하는 경우 Vertex AI는 페이지의 주석 위치를 적합한 라벨에 기여하는 요소로 고려할 수 있습니다. 예를 들어 부동산 계약에는 계약 수락 날짜와 계약 실행 날짜가 모두 포함되어 있습니다. Vertex AI는 주석의 공간 위치를 기준으로 각 항목을 구분하는 방법을 학습할 수 있습니다.

데이터 요구사항

  • 학습 문서는 최소 50개에서 최대 100,000개까지 제공해야 합니다.
  • 추출하려는 항목에 주석을 추가하려면 최소 1개에서 최대 100개의 고유 라벨을 제공해야 합니다.
  • 라벨을 사용하여 1개에서 10개 사이의 단어에 주석을 추가할 수 있습니다.
  • 라벨 이름은 2~30자 사이여야 합니다.
  • JSON Lines 파일에 주석을 포함하거나 나중에 문서를 업로드한 후 Google Cloud Console을 사용하여 주석을 추가할 수 있습니다.
  • 문서를 인라인으로 포함하거나 Cloud Storage 버킷에 있는 TXT 파일을 참조할 수 있습니다.

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

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

  • 각 라벨을 학습 데이터 세트에서 200회 이상 사용합니다.
  • 모델에서 식별하려는 항목이 나올 때마다 여기에 주석을 추가합니다.

입력 파일

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

다음 Cloud Storage 위치에서 항목 추출을 위한 스키마 파일을 다운로드할 수 있습니다.
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml.

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

{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textContent": "inline_text",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}
{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textGcsUri": "gcs_uri_to_file",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}

Google Cloud Console을 사용하여 문서에 주석을 추가할 수도 있습니다. textSegmentAnnotations 필드 없이 콘텐츠만으로 JSON Lines 파일을 만듭니다. 문서가 주석 없이 Vertex AI에 업로드됩니다.

감정 분석

감정 분석 학습 데이터는 콘텐츠의 감정을 나타내는 감정 값과 연관된 문서로 구성됩니다. 예를 들어 항공 여행과 같은 특정 도메인에 대한 트윗을 사용할 수 있습니다. 각 트윗은 해당 트윗이 긍정적, 부정적, 중립적인지를 나타내는 감정 값과 연관됩니다.

데이터 요구사항

  • 총 학습 문서를 최소 10개에서 최대 100,000개까지 제공해야 합니다.
  • 감정 값은 0~10 사이의 정수여야 합니다. 최대 감정 값은 사용자 선택에 따라 달라집니다. 예를 들어 감정이 부정적, 긍정적, 중립적인지를 식별하려는 경우 감정 점수 0(부정적), 1(중립적), 2(긍정적)를 사용하여 학습 데이터에 라벨을 지정할 수 있습니다. 이 데이터 세트에서 최대 감정 점수는 2입니다. 5개 수준의 감정과 같이 보다 세부적으로 감정을 포착하려면 0(가장 부정적)부터 4(가장 긍정적)까지 문서에 라벨을 지정할 수 있습니다.
  • 각 감정 값을 최소 10개 이상의 문서에 적용해야 합니다.
  • 감정 점수 값은 0부터 시작하는 연속된 정수여야 합니다. 점수 간 격차가 있거나 0부터 시작하지 않으면 0부터 시작하는 연속된 정수가 되도록 점수를 다시 매핑합니다.
  • 문서를 인라인으로 포함하거나 Cloud Storage 버킷에 있는 TXT 파일을 참조할 수 있습니다.

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

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

  • 감정 값당 최소 100개 이상의 문서를 제공합니다.
  • 각 감정 점수에 대해 문서 수가 균형을 이루도록 합니다. 특정 감정 점수의 예시가 많으면 모델이 편향될 수 있습니다.

입력 파일

감정 분석을 위한 입력 파일 형식은 JSON Lines 또는 CSV일 수 있습니다.

JSON Lines

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

다음 Cloud Storage 위치에서 감정 분석을 위한 스키마 파일을 다운로드할 수 있습니다.
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_sentiment_io_format_1.0.0.yaml

JSON Lines 예시

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

{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "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",sentiment,sentimentMax

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

test,gs://path_to_file,sentiment_value,sentiment_max_value
test,"inline_text",sentiment_value,sentiment_max_value
training,gs://path_to_file,sentiment_value,sentiment_max_value
validation,gs://path_to_file,sentiment_value,sentiment_max_value

다음 단계