기업은 2021년까지 소비자 상호작용 데이터의 획득을 마스터하게 될 것입니다.
반면에 이러한 데이터 포인트에 대한 과도한 의존은 종종 조직에서 고객 입력을 통계로 취급하게 됩니다.
고객의 목소리는 배지를 달거나 숫자로 변환할 수 없습니다.
읽고, 압축하고, 무엇보다 이해해야 합니다.
사실 기업은 전화, 이메일, 실시간 채팅 등 소비자와 상호 작용하는 모든 채널에서 소비자가 하는 말에 적극적으로 귀를 기울여야 합니다.
모든 기업은 소비자 피드백 감정을 모니터링하고 평가하는 데 우선순위를 두어야 하지만 기업은 전통적으로 이 데이터를 처리하고 의미 있는 인텔리전스로 변환하는 데 어려움을 겪어 왔습니다.
감정 분석에서는 더 이상 그렇지 않습니다.
이 자습서에서는 감정 분석, 그 장점 및 사용 방법에 대해 자세히 살펴보겠습니다. NLTK 데이터에 대한 감정 분석을 수행하는 라이브러리입니다.
감성분석이란?
흔히 대화 마이닝으로 알려진 감정 분석은 사람들의 감정, 생각, 견해를 분석하는 방법입니다.
기업은 감정 분석을 통해 소비자를 더 잘 이해하고, 수익을 늘리고, 고객 입력을 기반으로 제품과 서비스를 개선할 수 있습니다.
고객 감정을 분석할 수 있는 소프트웨어 시스템과 이를 추론하려고 시도하는 영업 사원/고객 서비스 담당자 간의 차이점은 원시 텍스트에서 객관적인 결과를 도출하는 전자의 순전한 능력입니다. 이는 주로 자연어 처리(NLP) 및 기계 학습 기법.
감정 식별에서 텍스트 분류에 이르기까지 감정 분석은 광범위한 응용 분야를 가지고 있습니다. 우리는 회사가 제품 평가 또는 소비자 피드백의 감정을 모니터링할 수 있도록 텍스트 데이터에 대한 감정 분석을 사용합니다.
여러 소셜 미디어 사이트에서 이를 사용하여 게시물의 감정을 평가하고 감정이 너무 강하거나 폭력적이거나 임계값 아래로 떨어지면 게시물이 삭제되거나 숨겨집니다.
감정 분석은 감정 식별에서 텍스트 분류에 이르기까지 모든 것에 사용할 수 있습니다.
감정 분석의 가장 인기 있는 용도는 텍스트 데이터에 있으며, 회사에서 제품 평가 또는 소비자 의견의 감정을 추적하는 데 사용됩니다.
다른 소셜 미디어 사이트에서도 이를 사용하여 게시물의 감정을 평가하고 감정이 너무 강하거나 폭력적이거나 임계값 미만이면 게시물을 삭제하거나 숨깁니다.
감정 분석의 이점
다음은 무시해서는 안 되는 감정 분석의 가장 중요한 이점 중 일부입니다.
- 대상 인구 통계에서 브랜드에 대한 인식을 평가하는 데 도움이 됩니다.
- 제품 개발에 도움이 되도록 직접적인 고객 피드백이 제공됩니다.
- 판매 수익 및 잠재 고객을 증가시킵니다.
- 제품 챔피언을 위한 상향 판매 기회가 증가했습니다.
- 적극적인 고객 서비스는 실용적인 옵션입니다.
숫자는 마케팅 캠페인의 원시 성과, 잠재 고객 호출에 대한 참여 정도, 고객 지원에 보류 중인 티켓 수와 같은 정보를 제공할 수 있습니다.
그러나 특정 이벤트가 발생한 이유 또는 원인을 알려주지는 않습니다. 예를 들어 Google 및 Facebook과 같은 분석 도구는 마케팅 활동의 성과를 평가하는 데 도움이 될 수 있습니다.
그러나 그들은 특정 캠페인이 성공한 이유에 대한 심층적인 지식을 제공하지 않습니다.
감성 분석은 이와 관련하여 판도를 바꿀 가능성이 있습니다.
감정 분석 – 문제 설명
목표는 트윗을 기반으로 XNUMX개 미국 항공사에 대해 트윗에 호의적, 부정적 또는 중립적 감정이 있는지 판단하는 것입니다.
이것은 텍스트 문자열이 주어진 텍스트 문자열을 미리 결정된 범주로 분류해야 하는 표준 지도 학습 작업입니다.
해법
우리는 이 문제를 해결하기 위해 표준 기계 학습 프로세스를 사용할 것입니다. 필요한 라이브러리와 데이터세트를 가져오는 것부터 시작하겠습니다.
그런 다음 데이터에 패턴이 있는지 확인하기 위해 탐색적 데이터 분석을 수행합니다. 그런 다음 텍스트 입력 숫자 데이터를 변환하기 위해 텍스트 전처리를 수행합니다. 기계 학습 시스템을 사용할 수 있습니다.
마지막으로 기계 학습 방법을 사용하여 감정 분석 모델을 훈련하고 평가합니다.
1. 라이브러리 가져오기
필요한 라이브러리를 로드합니다.
2. 데이터 세트 가져오기
이 문서는 다음에서 찾을 수 있는 데이터 세트를 기반으로 합니다. 깃허브. 아래와 같이 Pandas의 CSV 읽기 기능을 사용하여 데이터 세트를 가져옵니다.
head() 함수를 사용하여 데이터세트의 처음 XNUMX개 행을 검사합니다.
출력:
3. 데이터 분석
추세가 있는지 확인하기 위해 데이터를 조사해 보겠습니다. 그러나 먼저 차트가 더 잘 보이도록 기본 플롯 크기를 변경합니다.
각 항공사에서 받은 트윗 수부터 시작하겠습니다. 이를 위해 원형 차트를 사용합니다.
각 항공사의 공개 트윗 비율이 출력에 표시됩니다.
모든 트윗에 감정이 어떻게 분포되어 있는지 살펴보자.
출력:
이제 각 특정 항공사에 대한 감정 분포를 살펴보겠습니다.
결과에 따르면 거의 모든 항공사에 대한 트윗의 대부분은 비호의적이며 중립적이고 좋은 트윗이 뒤따릅니다. 버진 아메리카는 아마도 세 가지 감정의 비율이 비교할 수 있는 유일한 항공사일 것입니다.
출력:
마지막으로 Seaborn 라이브러리를 사용하여 세 가지 감정 범주에서 트윗에 대한 평균 신뢰 수준을 얻습니다.
출력:
결과는 부정적인 트윗에 대한 신뢰 수준이 긍정적이거나 중립적인 트윗보다 더 크다는 것을 보여줍니다.
4. 데이터 정리
트윗에서 많은 속어와 구두점을 찾을 수 있습니다. 기계 학습 모델을 훈련하기 전에 트윗을 정리해야 합니다.
그러나 트윗 정리를 시작하기 전에 데이터 세트를 기능 및 레이블 세트로 분리해야 합니다.
데이터를 기능과 훈련 세트로 분리하면 데이터를 정리할 수 있습니다. 이를 위해 정규 표현식이 사용됩니다.
5. 텍스트의 숫자 표현
기계 학습 모델을 훈련하기 위해 통계 알고리즘은 수학을 사용합니다. 반면에 수학은 숫자로만 작동합니다.
통계 알고리즘이 이를 처리할 수 있도록 먼저 텍스트를 숫자로 변환해야 합니다. Bag of Words, TF-IDF 및 Word2Vec의 세 가지 기본 방법이 있습니다.
다행히 Python의 Scikit-Learn 모듈에 있는 TfidfVectorizer 클래스를 사용하여 텍스트 기능을 TF-IDF 기능 벡터로 변환할 수 있습니다.
6. 데이터 기반 교육 및 테스트 세트 생성
마지막으로 알고리즘을 훈련하기 전에 데이터를 훈련 세트와 테스트 세트로 나누어야 합니다.
훈련 세트는 알고리즘을 훈련하는 데 사용되고 테스트 세트는 기계 학습 모델의 성능을 평가하는 데 사용됩니다.
7. 모델 개발
데이터가 훈련 세트와 테스트 세트로 분리된 후 머신 러닝 기술을 사용하여 훈련 데이터에서 학습합니다.
모든 기계 학습 알고리즘을 사용할 수 있습니다. 그러나 Random Forest 접근 방식은 비정규화된 데이터에 대처할 수 있는 능력 때문에 사용됩니다.
8. 예측 및 모델 평가
모델이 훈련된 후 마지막 단계는 예측을 하는 것입니다. 이렇게 하려면 우리가 훈련한 RandomForestClassifier 클래스 객체에 predict 메서드를 적용해야 합니다.
마지막으로 혼동 메트릭, F1 측정, 정확도 등과 같은 분류 측정을 사용하여 기계 학습 모델의 성능을 평가할 수 있습니다.
출력:
우리의 알고리즘은 결과에서 볼 수 있듯이 75.30의 정확도를 달성했습니다.
결론
감정 분석은 특정 문제에 대한 전반적인 여론을 파악하는 데 도움이 되기 때문에 가장 자주 수행되는 NLP 작업 중 하나입니다.
우리는 여러 Python 라이브러리가 감정 분석에 어떻게 도움이 될 수 있는지 보았습니다.
우리는 75개의 미국 항공사에 대한 공개 트윗에 대한 연구를 수행했으며 대략 XNUMX%의 정확도에 도달했습니다.
로지스틱 회귀, SVM 또는 KNN과 같은 다른 기계 학습 알고리즘을 시도하여 더 나은 결과를 얻을 수 있는지 확인하는 것이 좋습니다.
댓글을 남겨주세요.