Amazon SageMaker에서 Widebot이 아랍어 감정 분석을 제공하도록 지원하는 방법

이 콘텐츠는 어떠셨나요?

Startup들은 훌륭한 고객 경험을 만드는 것이 얼마나 중요한지 잘 알고 있습니다. 감정 분석은 이를 도와주는 도구 중 하나로, 텍스트 분석 및 자연어 처리(NLP)와 같은 기계 학습 기법을 기반으로 데이터를 긍정적, 부정적 또는 중립으로 분류합니다. 기업들은 감정 분석을 사용하여 대상 제품 또는 서비스에 대한 고객의 만족도를 측정합니다.

아랍어 최종 사용자를 대상으로 감정 분석을 수행하는 것은 특히 어려울 수 있습니다. 중동 및 북아프리카(MENA) 지역 사람들은 20개 이상의 아랍어 방언을 사용하는데, 그중에서 현대 표준 아랍어가 가장 많이 사용됩니다.

이 블로그 게시물에서는 WidebotAmazon SageMaker를 활용하여 감정 분류기를 성공적으로 구현한 방법을 설명합니다. Widebot은 MENA 리전의 선도적인 아랍어 중심의 대화형 인공 지능(AI) 챗봇 플랫폼 중 하나입니다. 이 회사의 감정 분류기는 현대 표준 아랍어와 이집트 방언 아랍어를 지원하며, 다양한 도메인의 여러 데이터 세트에서 테스트했을 때 높은 정확도를 보였습니다.

Widebot의 모델은 새로운 도메인 또는 데이터 세트에서 수백 개의 샘플을 제공받은 후 쉽게 조정할 수 있습니다. 따라서 범용 솔루션으로서 다양한 도메인과 사용 사례에 맞게 조정할 수 있습니다.

성공적인 챗봇의 특징

챗봇은 직원들이 회사의 미션 크리티컬 업무에 집중할 수 있도록 작업을 자동화할 뿐만 아니라 고객 경험을 관리 및 개선하는 데 유용한 도구입니다. 특히 Startup들은 성공에 가장 중요한 작업에 시간을 할애할 수 있도록 하는 관리형 서비스를 사용하는 것의 가치를 잘 알고 있습니다.

챗봇에게 있어서는 만족한 고객이나 만족하지 못한 고객을 수치화하고 만족에서 불만족으로의(또는 그 반대의) 전환율을 문서화하는 것이 중요합니다. 이러한 요구 사항을 충족하기 위해 Widebot의 솔루션은 다음을 제공합니다.

  • 사용자가 챗봇 시스템의 성능을 분석하도록 지원
  • 챗봇의 의사결정 개선
  • 다른 다운스트림 기계 학습(ML) 모델 지원

감정 분석 솔루션 구축의 기술적 과제

Widebot의 데이터 사이언티스트들은 고객의 높아지는 기대에 부응하여 딥 러닝 모델을 개선하고 최적화하기 위해 항상 혁신하고 있습니다. 이들은 아랍어 챗봇 고객에게 더 나은 서비스를 제공하기 위해 아랍어 감정 분석 딥 러닝 모델을 위한 새로운 솔루션을 개발했습니다.

이 사례에서 과제는 다음과 같습니다.

  • 모델 확장성
  • 응답 시간
  • 대규모 동시 요청
  • 운영 비용

여타 Startup의 경우와 마찬가지로 처음에는 자체 관리형 인프라와 범용 서버에 이 모델을 배포했습니다. 하지만 Startup이 성장하면서 증가하는 데이터와 급증하는 동시 요청을 수용할 만큼 모델을 효율적으로 확장할 수 없었습니다.

Widebot은 기본 인프라 및 기계 학습 운영(MLOps) 워크플로를 관리하고 확장하는 데 시간을 허비하지 않으면서 빠르게 모델을 구축하는 데 집중할 수 있는 솔루션을 찾기 시작했습니다.

Amazon SageMaker에 모델 배포

Widebot이 SageMaker를 선택한 이유는 SageMaker가 모든 ML 추론 요구 사항을 충족하는 광범위한 ML 인프라 및 모델 배포 옵션을 제공하기 때문입니다. SageMaker를 사용하면 Startup이 최상의 가격 대비 성능으로 ML 모델을 쉽게 배포할 수 있습니다.

Widebot의 공동 설립자이자 Chief Technology Officer(CTO)인 Mohamed Mostafa는 “다행히 Amazon SageMaker가 모델 개발 수명 주기 전반에 걸쳐 완전한 소유권과 통제권을 제공한다는 사실을 알게 되었습니다. SageMaker의 간편하고 강력한 도구를 사용하면 MLOps 관행을 자동화하고 표준화하여 자체 관리 인프라를 사용할 때보다 훨씬 쉽고 빠르게 모델을 구축, 훈련, 배포 및 관리할 수 있습니다”라고 말합니다.

SageMaker가 인스턴스 설정 및 관리, 소프트웨어 버전 호환성, 버전 패치를 담당하는 덕분에, Widebot 팀은 이제 고객의 기대에 부응하기 위해 ML 모델을 구축하고 개선하는 데 집중할 수 있습니다. 또한 SageMaker는 엔드포인트에 대한 내장된 지표 및 로그를 제공하여 모델 상태 및 성능을 지속적으로 모니터링할 수 있도록 해 줍니다.

Amazon SageMaker Inference Recommender는 Widebot이 ML 모델을 배포하여 추론 성능 및 비용을 최적화할 수 있는 최상의 컴퓨팅 인스턴스 및 구성을 선택하도록 지원했습니다. SageMaker Inference Recommender는 추론을 위한 컴퓨팅 인스턴스 유형, 인스턴스 수, 컨테이너 파라미터 및 모델 최적화를 자동으로 선택하여 성능을 극대화하고 비용을 최소화합니다.

또한 Widebot은 Amazon Simple Storage Service(S3), AWS Lambda, Amazon API Gateway, Amazon Elastic Container Registry(ECR) 등 다양한 AWS 서비스를 사용하여 아키텍처를 구축합니다.

Widebot은 고객을 위해 개발한 ML 모델을 API 엔드포인트로 안전하게 게시할 수 있는 솔루션을 찾고 있었습니다. 이 회사는 완전관리형 서비스인 API Gateway를 사용하여 SageMaker에 배포된 ML 모델의 API 엔드포인트를 게시, 유지 관리, 모니터링 및 보호했습니다. API Gateway가 SageMaker 엔드포인트에 대한 외부 단일 진입 지점으로 사용되므로 클라이언트에서 쉽고 안전하게 액세스할 수 있습니다.

클라이언트는 API 요청을 API Gateway 엔드포인트에 전송하여 SageMaker 추론 엔드포인트와 상호 작용합니다. API Gateway는 클라이언트 요청을 해당 SageMaker 추론 엔드포인트에 매핑하고 엔드포인트를 호출하여 모델에서 추론을 가져옵니다. 이후 API Gateway는 SageMaker 엔드포인트로부터 응답을 수신하고 이를 다시 클라이언트에 전송되는 응답으로 매핑합니다.

솔루션 개요

Widebot은 아랍어 감정 분석 딥 러닝 모델을 위한 성공적인 새 솔루션을 어떻게 구축했을까요? 이 회사가 따랐던 단계는 다음과 같습니다.

데이터 세트 수집 및 준비

다양한 데이터 소스(퍼블릭 및 사내)에서 수만 개의 데이터 샘플을 수집합니다.

데이터 세트를 주의 깊게 검토하고, 데이터 라벨링을 적용하고, 관련 없는 샘플을 제거하여 데이터 품질을 개선했습니다.

데이터 팀은 Amazon SageMaker Ground Truth를 사용하여 도메인과 작성 스타일이 서로 다른 충분한 샘플에 주석을 달아, 사용된 데이터 세트를 보강하는 주석 프로세스를 수행합니다.

전처리 파이프라인을 통해 샘플을 전송한 후, 딥 러닝을 사용하여 각각의 확률에 따라 입력 텍스트를 긍정적, 부정적 또는 중립으로 분류합니다.

모델 구축 및 훈련

Keras와 TensorFlow를 사용하여 학습된 컨벌루션 신경망(CNN) 모델을 사용합니다.

다양한 샘플 데이터 세트와 다양한 도메인에서 최상의 결과를 얻을 수 있는 아키텍처에 도달할 때까지 여러 번의 반복을 적용하여 다양한 전처리 파이프라인, 아키텍처 및 토크나이저를 테스트합니다.

사내에서 개발한 기본 전처리 파이프라인을 사용하여 텍스트에서 날짜, URL, 멘션, 이메일 주소, 구두점('!?' 제외), 숫자 등 불필요한 정보를 제거합니다.

분음 부호를 없애거나, (ء أ ئ ؤ إ), yaa(ي ى) 또는 기타 문자와 같이 사용자가 서로 바꿔서 사용하는 일부 문자를 정규화하는 등, 아랍어 텍스트 정규화 단계를 적용합니다.

텍스트에 간단한 어간 처리를 적용하여 일부 접미사와 접두사를 제거하고 일부 부풀려진 단어를 줄입니다[예: (التعيينات)를 (تعيين)로 줄임].

직렬화를 사용하여 모델, 전처리기, 하이퍼파라미터 및 토크나이저를 저장하고 .h5 및 .pickle 파일로 내보냅니다.

Amazon SageMaker에 모델 배포

모델을 예측 엔드포인트인 API로 래핑합니다. 이 엔드포인트는 최종 사용자로부터 JSON 입력을 받아 데이터를 보다 알기 쉬운 데이터 구조로 변환하고, 정리하고, 입력 데이터의 감정 분석 결과를 반환합니다.

모든 환경에서 구성 요소를 빌드하고 실행하는 데 필요한 코드, 모든 종속성 및 지침이 포함된 도커 이미지를 생성합니다.

모델 아티팩트를 Amazon S3 버킷에 업로드하고 도커 이미지를 Amazon ECR에 업로드합니다.

SageMaker를 사용하여 모델을 배포하고 Amazon ECR의 이미지 위치와 Amazon S3 버킷에서 아티팩트 URI를 선택합니다.

SageMaker를 사용하여 엔드포인트를 생성하고 API Gateway를 활용하여 엔드포인트를 클라이언트에 게시합니다.

데이터 유형 및 볼륨

모델 구축을 위한 Widebot의 데이터는 훈련을 위한 약 10만 개의 서로 다른 메시지와 검증 및 테스트를 위한 2만 개의 메시지로 구성됩니다. 메시지는 다음과 같습니다.

  • 전자 상거래, 식음료, 금융 서비스 등 다양한 산업 분야에서 수집되었습니다.
  • 다양한 서비스 또는 제품에 대한 리뷰가 포함되었습니다. 예를 들어 호텔 리뷰, 예약 리뷰, 레스토랑 리뷰, 회사 리뷰 등이 있습니다.
  • 매우 형식적인 언어에서 심한 욕설 사용에 이르기까지 어조가 다양했습니다.
  • 이집트 방언과 현대 표준 아랍어로 작성되었습니다.
  • 부정적, 중립 또는 긍정적이라는 세 가지 클래스 중 하나로 분류되었습니다.

다음 표에는 샘플 메시지가 나와 있습니다.

감정신뢰도
الخدمة لديكم مناسبة “서비스가 좋습니다.”긍정적0.8471
شكرا لحسن تعاونكم “협조해주셔서 감사합니다.”긍정적0.9688
الخدمة والتعامل لديكم دون المستوى “서비스가 수준 이하입니다.”부정적0.8982
حالة الجو سيئة جدا “날씨가 너무 안 좋네요.”부정적0.9737
سأعاود الإتصال بكم وقت لاحق “나중에 연락 드리겠습니다.”중립0.8255
أريد الإستعلام عن الخدمات “서비스에 대해 문의하고 싶어요.”중립0.9728

결과 요약

Widebot은 다양한 방언으로 작성된 다양한 아랍어 텍스트 데이터 세트를 대상으로 모델을 테스트했습니다. 이 지표는 수천 개의 샘플이 포함된 데이터 세트를 사용하여 측정되었습니다. F1 점수는 다양한 데이터 세트를 사용하여 모델의 정확도를 측정하는 데 사용됩니다. F1 점수의 매크로 및 가중 평균은 전반적인 정밀도와 성능을 측정하는 데 사용됩니다.

모델 정확도

테스트 데이터 세트(5004:1783:13892 비율의 샘플 2만 679개)

부정적 F1 중립 F1 긍정적 F1전반적 정확도매크로 평균가중 평균
89.979.495.192.588.192.5

모델 응답 시간

Widebot은 응답당 평균(AVG), 최소(MIN), 최대(MAX) 시간(초/응답)을 사용하여 응답 시간을 측정했습니다.

  • AVG: 0.106초/응답
  • MIN: 0.088초/응답
  • MAX: 0.957초/응답

다음은 평균 페이로드 크기가 2KB인 동일한 데이터 세트를 배포할 때 범용 컴퓨팅 플랫폼을 사용하는 경우와 모델 호스팅용 Amazon SageMaker를 사용하는 경우의 응답 시간 지표를 비교한 결과입니다.

총 응답 시간총 응답 시간 일반 컴퓨팅 플랫폼(EC2 인스턴스: p2.xlarge)Amazon SageMaker(SageMaker 인스턴스: ml.m4.xlarge)
평균0.202초/응답0.106초/응답
최소0.097초/응답0.088초/응답
최대8.458초/응답0.957초/응답

모델 동시성

이 모델은 평균 164밀리초 만에 1,000건의 동시 요청을 처리할 수 있었습니다.

결론

이 게시물은 Widebot이 SageMaker에서 호스팅되는 딥 러닝 모델을 사용하여 다양한 아랍어 방언의 채팅 텍스트에서 감정을 추출하는 포괄적인 솔루션을 구축하는 데 AWS 서비스가 어떻게 도움을 주었는지 보여줍니다.

SageMaker는 Widebot이 혁신을 가속화하고 감정 분류기를 배포하여 아랍어 대화 텍스트에서 감정을 추출하는 복잡한 ML 문제를 해결하고 이를 공개 RESTful 엔드포인트로 게시하여 고객이 API Gateway를 통해 쉽고 안전하게 액세스할 수 있는 서비스로 제공하도록 지원했습니다.

이 접근 방식은 고객이 SageMaker에서 ML 모델을 구축, 훈련 및 배포한 다음 API Gateway를 사용하여 간단하면서도 안전한 방식으로 고객을 위해 모델 추론 엔드포인트를 게시하려는 여러 유사한 사용 사례에 유용하게 활용할 수 있습니다.

언어적 다양성과 Amazon SageMaker에서 사전 훈련된 변환기 기반 언어 모델을 미세 조정하는 방법에 대해 자세히 알아보려면 이 블로그 게시물을 읽어보세요.

Mohamed Mostafa

Mohamed Mostafa

Mohamed Mostafa는 WideBot의 공동 창립자이자 CTO입니다. 그는 최신 엔지니어링 관행을 적용하고 사용자 경험을 개선하기 위한 고품질 소프트웨어를 개발하는 데 열정을 쏟고 있습니다.

Ahmed Azzam

Ahmed Azzam

Ahmed Azzam은 UAE 두바이에 거주하는 선임 솔루션스 아키텍트입니다. 그는 Startups가 확장 가능한 애플리케이션을 설계하고 개발할 뿐만 아니라 AWS 서비스를 사용하여 혁신적인 솔루션을 개발할 수 있도록 지원하는 데 열정을 쏟고 있습니다.

이 콘텐츠는 어떠셨나요?