
Amazon Comprehend는 기계 학습을 사용하여 텍스트에서 유용한 인사이트 및 관계를 찾아내는 자연어 처리(NLP) 서비스입니다.
내장 모델을 사용하여 입력 문서의 구문을 분석하고 항목, 이벤트, 핵심 문구, 개인 식별 정보(PII) 및 특정 항목과 관련된 감정 또는 전반적인 감정을 추출할 수 있습니다.
Amazon Comprehend는 문서를 분석하여 이에 대한 여러가지 인사이트를 수집할 수 있습니다.

| Insight | 설명 |
|---|---|
| Entities (개체) | 텍스트에서 특정한 개체(사람, 장소, 날짜, 이메일 등)를 인식하고 추출합니다. Example> "수지"라는 이름이나 "서울"이라는 장소를 식별할 수 있습니다. |
| Key Phrases (핵심 문구) | 문서나 문장에서 주요 의미를 나타내는 핵심 문구를 추출합니다. Example> "최고의 고객 서비스" 또는 "제품 품질 문제"와 같은 문장의 핵심 내용을 요약할 수 있습니다. |
| PII (개인 식별 정보) | 개인 식별 가능한 정보(예: 신용 카드 번호, 전화번호)를 인식하여 보호해야 하는 데이터를 식별합니다. 이 정보는 데이터 보호 및 규정 준수 목적으로 사용됩니다. |
| Sentiment (감정) | 문서나 문장의 긍정적, 부정적, 중립적인 감정을 분석합니다. Example> 고객 리뷰에서 제품에 대한 긍정적인 평가를 추출하거나, 부정적인 의견을 식별할 수 있습니다. |
| Document Classification (문서 분류) | 문서를 사전 정의된 범주나 사용자 지정 범주로 분류합니다. Example> 뉴스 기사를 "정치", "경제", "스포츠" 등의 범주로 분류할 수 있습니다. |
| Topics (주제) | 문서에서 주요 주제를 식별하여 추출합니다. Example> 여러 기사에서 "기후 변화", "환경 보호", "재생 가능 에너지"와 같은 주제를 추출할 수 있습니다. |
| Language (언어) | 문서의 주요 언어를 식별합니다. 다양한 언어로 작성된 문서를 자동으로 감지하고 처리할 수 있습니다. |
| Syntax (구문) | 문장의 구문 구조를 분석하여, 단어의 역할과 관계를 이해합니다. Example> "주어-동사-목적어"와 같은 문장 구조를 분석하여 문장의 의미를 해석할 수 있습니다. |
Amazon Comprehend를 사용하면 기계 학습 기반 NLP 솔루션을 구축하는데 필요한 기술 없이도 특정 요구 사항에 맞게 서비스를 사용자 정의할 수 있습니다.
자동 기계 학습(AutoML)을 사용하여, 사용자가 제공한 학습 데이터를 통해 Comprehend Custom이 자동으로 맞춤형 NLP 모델을 생성합니다.
사용자 정의 분류(Custom classification)는 사용자가 정의한 카테고리로 문서를 자동 분류할 수 있는 모델(분류기)을 만드는 것을 의미합니다.
학습이 완료된 분류기를 사용하여 새로운 문서가 들어오면 해당 문서를 자동으로 지정된 카테고리로 분류할 수 있게됩니다.예를 들어, 새로운 이메일이 들어오면 이를 자동으로 '제품 문의', '기술 지원 요청', '불만 사항' 등의 카테고리로 분류합니다.이 과정은 코드를 사용하지 않고도 Amazon Comprehend 콘솔을 통해 쉽게 설정할 수 있고 AWS SDK를 통해 자동화된 방식으로 분류기를 설정할 수도 있습니다.
이를 통해 문서를 효율적으로 분류하고, 관리 및 분석 작업을 단순화할 수 있습니다.
사용자 정의 개체 인식(Custom entity recognition)은 특정한 용어와 명사 기반 구문을 분석하기 위해 맞춤형 모델(인식기)을 만드는 것을 의미합니다.
예를 들어, 보험 번호나 고객 불만과 같은 특정 용어를 자동으로 추출합니다.모델을 학습 시키기 위해서 개체 목록과 해당 개체를 포함하는 문서 등 준비된 학습 데이터를 제공하여 학습 시키고 모델이 학습되면, 분석 작업을 실행하여 사용자 정의 개체를 추출할 수 있습니다.
이를 통해, 수작업 없이도 많은 양의 문서에서 중요한 정보를 빠르고 정확하게 추출할 수 있습니다.
Amazon Comprehend는 텍스트 데이터를 분석할 수 있는 두 가지 주요 방식인 실시간 분석(Real-time analysis)과 분석 작업(Analysis jobs)을 제공합니다.
실시간 분석은 사용자가 텍스트 데이터를 즉시 분석하고 결과를 얻을 수 있는 방법입니다.
주로 실시간 응답이 필요한 상황에서 사용됩니다.예를 들어, 고객이 실시간 채팅을 통해 문의를 할 때, Amazon Comprehend를 사용하여 대화 내용을 즉시 분석하고 감정(긍정적, 부정적, 중립적)을 파악합니다. 이를 통해 고객 서비스 담당자가 실시간으로 대처할 수 있습니다.
분석 작업은 대량의 텍스트 데이터를 한 번에 분석하는 방법입니다.
주로 많은 양의 문서를 한 번에 처리해야 할 때 사용됩니다.예를 들어, 회사가 수천 개의 고객 이메일을 한 번에 분석하여 주요 내용을 파악하고, 이메일을 특정 카테고리(제품 문의, 불만 사항 등)로 분류하려고 할 때 사용됩니다.
실시간 분석 화면의 샘플 input text를 사용자가 분석하고자 하는 텍스트로 변경한 후 분석 버튼을 클릭하여 텍스트를 분석할 수 있습니다.
분석을 완료하면 아래의 인사이트 패널의 섹션에 각 유형별 텍스트 분석 결과가 표시됩니다.
Amazon Comprehend를 지원하는 리전에 S3 버킷을 생성합니다.
전역적으로 고유한 S3 버킷 이름을 입력한 후 기본 암호화 비활성화로 설정하고 그 외 나머지 항목은 기본 설정으로 둡니다.💡S3 버킷의 기본 암호화를 사용하지 않았지만 중요한 데이터를 분석할 때는 암호화를 사용하는 것이 좋습니다.
S3 버킷에 두 개의 폴더를 생성합니다.1. input > 입력 데이터 폴더 2. output > Amazon Comprehend가 분석 결과를 보내는 폴더
분석할 샘플 데이터 문서를 생성한 input 폴더에 업로드 합니다.
S3 버킷에 업로드한 데이터 문서를 사용하여 Amazon Comprehend에서 분석 작업을 실행할 수 있습니다.
먼저 분석 작업을 실행하기 위해 작업을 생성합니다.
2-1. 작업 설정
작업 설정에서 이름, 분석 유형, 언어를 선택합니다.
분석 유형은 Amazon Comprehend에 내장되어 있는 내장형 유형과 Custom classification, Custom entity recognition을 이용해 커스텀하게 생성한 유형 중 선택할 수 있습니다.
2-2. 입력 데이터 설정
분석할 데이터 소스를 저장해놓은 S3 버킷의 문서를 선택합니다.
S3 버킷은 호출하는 API 엔드포인트와 동일한 AWS 리전에 존재해야 합니다.
분석 작업을 실행할 때 아래와 같이 두 가지 입력 문서 형식을 선택할 수 있습니다.one document per file (파일당 문서 하나)
각 파일이 하나의 독립된 문서를 나타내는 형식으로 파일마다 별도의 문서로 처리됩니다.
이 형식은 긴 문서나 독립된 문서를 여러 개 가지고 있어 신문 기사나 과학 논문과 같은 대용량 문서 모음에 적합합니다.one document per line (라인당 문서 하나)
각 라인이 하나의 독립된 문서를 나타내는 형식으로 데이터 파일의 각 라인이 별도의 문서로 처리됩니다.
이 형식은 많은 짧은 문서를 포함하는 문자 메시지나 소셜 미디어 게시물과 같은 짧은 문서에 적합합니다.
2-3. 출력 데이터 설정
Amazon Comprehend가 작업의 출력 결과를 저장할 S3 버킷을 선택합니다.
💡현재 사용 중인 계정이나 다른 계정의 KMS 고객 관리 키(CMK)를 사용하여 분석 작업의 출력 결과를 암호화할 수 있습니다.
2-4. 권한 설정
S3 버킷에 읽기/쓰기 권한이 있는 IAM 역할을 선택합니다.
적절한 권한과 정책을 가진 IAM 역할이 없는 경우에는 새 역할을 생성할 수 있습니다.
위 단계를 통해 분석 작업을 생성하여 실행할 수 있습니다.
2번의 분석 작업을 실행하면 설정한 출력 데이터 경로에 결과 파일이 만들어집니다.
각 작업의 출력 파일 경로는 Amazon Comprehend의 분석 작업 상세 화면에서 확인할 수 있습니다.
위 경로의 압축 파일을 다운로드 하여 분석된 결과를 확인할 수 있습니다.
이외에도 다양한 AWS 서비스를 활용하여 출력 결과를 시각화할 수 있습니다.

완전 관리형 데이터 추출, 변환 및 적재(ETL) 서비스 입니다.
Glue 크롤러로 S3 버킷의 데이터를 크롤링하여 메타데이터를 자동으로 생성하고 Glue 데이터 카탈로그에 테이블을 생성합니다.
이를 통해 Athena와 같은 서비스에서 쉽게 쿼리할 수 있습니다.
표준 SQL을 사용하여 Amazon S3에 있는 데이터를 직접 간편하게 분석할 수 있는 대화형 쿼리 서비스입니다.
Glue 데이터 카탈로그에 등록된 테이블을 사용하여 데이터를 쿼리하고 분석 결과를 얻을 수 있습니다.
클라우드 기반의 비즈니스 인텔리전스(BI) 서비스로 데이터를 시각화하고 대시보드를 생성할 수 있습니다.
Athena 쿼리 결과를 가져와서 그래프, 차트 등 다양한 시각적 요소로 표현할 수 있습니다.
고객 감정을 감지하고 상호 작용을 분석한 후 인바운드 지원 요청을 자동으로 분류합니다.
제품 개선을 위해 고객 설문 조사에서 인사이트를 추출하여 결과 처리 시간 감소 및 비용을 절감합니다.
검색 엔진이 키워드뿐만 아니라 주요 개체, 구문, 감정을 인덱싱하도록 지원합니다.
맥락에 초점을 맞춰 제품 리뷰를 보다 정확하게 검색 및 분석합니다.
계약서, 법원 기록과 같은 법률 문서에서 인사이트 추출을 자동화합니다.
개인 식별 정보(PII)를 식별 및 교정하여 문서 보안을 강화할 수 있습니다.
보험 청구서나 주택 담보 대출 서류와 같은 금융 서비스 문서에서 개체를 분류 및 추출하여 문서 검토 시간을 절약합니다.