다음을 통해 공유


데이터를 준비하고 사용자 지정 NER에 대한 스키마를 정의하는 방법

사용자 지정 NER 모델을 만들려면 학습할 품질 데이터가 필요합니다. 이 문서에서는 스키마 정의와 함께 데이터 선택 및 준비 방법을 다룹니다. 스키마 정의는 프로젝트 개발 수명 주기의 첫 번째 단계이며 런타임에 모델이 텍스트에서 추출해야 할 엔터티 형식/범주를 정의합니다.

스키마 디자인

스키마는 런타임 시 모델이 텍스트에서 추출해야 하는 엔터티 형식/범주를 정의합니다.

  • 데이터 세트의 문서를 검토하여 형식과 구조에 익숙해지도록 합니다.

  • 데이터에서 추출할 엔터티를 식별합니다.

    예를 들어 지원 전자 메일에서 엔터티를 추출하는 경우 "고객 이름", "제품 이름", "요청 날짜" 및 "연락처 정보"를 추출해야 할 수 있습니다.

  • 엔터티 형식의 모호성을 피합니다.

    모호성은 선택한 엔터티 유형이 서로 유사할 때 발생합니다. 스키마가 모호할수록 서로 다른 엔터티 형식을 구분하는 데 필요한 레이블이 지정된 데이터가 늘어나게 됩니다.

    예를 들어 법적 계약에서 데이터를 추출하는 경우 "자사 이름" 및 "제2자 이름"을 추출하려면 양 당사자의 이름이 유사하기 때문에 모호성을 극복하기 위해 더 많은 예제를 추가해야 합니다. 시간과 노력을 절약하고 더 나은 결과를 얻을 수 있으므로 모호성을 피해야 합니다.

  • 복잡한 엔터티를 피합니다. 복잡한 엔터티는 텍스트에서 정확하게 선택하기 어려울 수 있습니다. 여러 엔터티로 나누는 것을 고려해보세요.

    예를 들어 더 작은 엔터티로 세분화하지 않으면 "주소"를 추출하는 것이 어려울 수 있습니다. 주소가 표시되는 방식에는 매우 다양한 변형이 있으므로 모델이 주소를 분해하지 않고 전체적으로 추출하도록 가르치려면 많은 수의 레이블이 지정된 엔터티가 필요합니다. 그러나 "주소"를 "거리 이름", "사서함", "도시", "주" 및 "우편번호"로 바꾸면 모델은 각 엔터티에 대해 더 적은 수의 레이블을 필요로 합니다.

데이터 선택 항목

모델을 학습하는 데 사용하는 데이터의 품질은 모델 성능에 큰 영향을 미칩니다.

  • 도메인의 문제 공간을 반영하는 실제 데이터를 사용하여 모델을 효과적으로 학습합니다. 가상 데이터를 사용하여 초기 모델 학습 프로세스를 가속화할 수 있지만 실제 데이터와는 다르며 사용할 때 모델의 효율성을 낮출 수 있습니다.

  • 실제 분포에서 벗어나지 않고 최대한 데이터 분포의 균형을 유지합니다.

  • 모델의 과적합을 피하기 위해 가능하면 다양한 데이터를 사용합니다. 학습 데이터의 다양성이 적으면 실제 데이터에 존재하지 않을 수 있는 잘못된 상관 관계를 학습하는 모델이 발생할 수 있습니다.

  • 데이터에서 문서를 복제하지 않도록 합니다. 중복 데이터는 학습 프로세스, 모델 메트릭 및 모델 성능에 부정적인 영향을 미칩니다.

  • 데이터의 출처를 고려합니다. 한 사람, 부서 또는 시나리오의 일부에서 데이터를 수집하는 경우 모델이 학습하는 데 중요할 수 있는 다양성이 누락되었을 수 있습니다.

참고 항목

문서가 여러 언어로 되어 있는 경우 프로젝트를 만드는 동안 다국어 사용 옵션을 선택하고 언어 옵션을 대부분의 문서의 언어로 설정합니다.

데이터 준비

프로젝트를 만들기 위한 필수 조건으로 교육 데이터를 스토리지 계정의 Blob 컨테이너에 업로드해야 합니다. Azure에서 직접 또는 Azure Storage Explorer 도구를 사용하여 학습 문서를 만들고 업로드할 수 있습니다. Azure Storage Explorer 도구를 사용하면 더 많은 데이터를 빠르게 업로드할 수 있습니다.

.txt 문서만 사용할 수 있습니다. 데이터가 다른 형식인 경우 CLUtils 구문 분석 명령을 사용하여 문서 형식을 변경할 수 있습니다.

주석이 추가된 데이터 세트를 업로드하거나 주석이 없는 데이터 세트를 업로드하고 데이터에 레이블을 지정할 수 있습니다.

테스트 집합

테스트 집합을 정의할 때 학습 집합에 없는 예제 문서를 포함해야 합니다. 테스트 집합을 정의하는 것은 모델 성능을 계산하는 중요한 단계입니다. 또한 테스트 집합에 프로젝트에서 사용되는 모든 엔터티를 나타내는 문서가 포함되어 있는지 확인합니다.

다음 단계

아직 만들지 않았다면 사용자 지정 NER 프로젝트를 만듭니다. 사용자 지정 NER를 처음 사용하는 경우 빠른 시작에 따라 예제 프로젝트를 만드는 것이 좋습니다. 자세한 내용은 방법 문서를참조하세요.