Summary
Introduction
Azure Custom NER은 특정 도메인 및 사용자 지정 엔터티를 식별하는 데 최적화된 AI 서비스입니다. 이 문서에서는 리소스 설정, 데이터 준비, 모델 학습 및 배포, 테스트 과정을 다룹니다.
Code, Conept & Explanation
1. 리소스 생성
1.1 리소스 그룹 생성
- Azure Portal에서 리소스 그룹을 생성합니다.
- 지역: Australia East 선택 (CLU 작업 필수 지역).
- 태그 정보는 선택 사항.
1.2 리소스 만들기
- 리소스 그룹에서 새 리소스를 생성합니다.
- Marketplace에서 AI Services를 검색하고 OpenAI 로고가 있는 최신 버전을 선택합니다.
- 지역: 리소스 그룹과 동일.
- Pricing tier: Standard S0.
2. 데이터 준비
2.1 데이터 업로드
- GitHub에서 실습 데이터를 다운로드:
- Custom NER Loan Agreements 데이터셋
- 데이터 압축 해제 후 Blob Storage에 업로드:
- json 파일 1개, txt 파일 23개 (학습용 20개, 테스트용 3개).
2.2 Blob Storage 설정
- Azure Portal에서 생성된 리소스 그룹으로 이동.
- Blob Storage 컨테이너 생성 후 데이터를 업로드.
3. Custom NER 프로젝트 생성
3.1 프로젝트 설정
- Language Studio에서 Custom Named Entity Recognition을 선택.
- 새 프로젝트 생성:
- 프로젝트 이름과 설명 작성.
- Primary Language: English (US).
3.2 데이터 로딩
- Blob Storage 컨테이너에서 데이터 자동 연결 확인.
- JSON 파일이 포함된 경우 Labeling 과정은 생략.
4. 모델 학습
4.1 데이터 분할
- 데이터셋을 학습용(80%)과 테스트용(20%)으로 분리.
- 학습 모델 이름 지정 후 학습 시작.
4.2 모델 평가
- 모델 학습 후 성능 지표 확인:
- Micro F1, Precision, Recall.
- Confusion Matrix를 통해 오분류 확인.
5. 모델 배포
5.1 배포 설정
- 학습된 모델을 선택하여 배포 시작.
- 배포 완료 후 Language Studio에서 확인.
5.2 모델 테스트
- GitHub의 테스트 데이터(3개) 중 하나를 선택.
- Run the test로 결과 확인.
- 사용자 지정 엔터티 검색 결과를 확인:
- 예: "Loan Agreement"에서 채권자, 채무자 등의 정보 추출.
6. 주요 사례
6.1 정보 추출
- 법률 문서, 금융 서식 등에서 특정 정보를 자동으로 추출.
6.2 지식 검색
- 엔터티 기반으로 문서를 분류하거나 검색 성능을 강화.
6.3 감사 및 컴플라이언스
- 긴 텍스트 파일에서 엔터티를 자동으로 검토하여 규정 준수.
Challenges & Solutions
Results
What I Learned & Insights
Conlusion