This post is available only in Korean for now.

신제품 출시 직후 고객 불만, 소셜미디어로 잡아내기

출시 초기 소셜미디어 글에서 불만 요소를 뽑고, 긴급도와 심각도로 먼저 고칠 불만을 가려내는 방법을 Galaxy S10 리뷰 사례로 살펴본다.

신제품을 출시하면 커뮤니티와 리뷰 게시판에 사용 후기가 빠르게 쌓인다. 한 글 안에 칭찬과 불만이 섞여 있는 경우가 많다. 담당자가 글을 하나씩 읽어서는 어떤 불만을 먼저 손봐야 할지 판단하기 어렵다.

출시 초기의 소셜미디어 글에서 불만 요소를 자동으로 뽑아내고, 그중 가장 시급한 불만을 숫자로 가려낼 수 있을까?

이 질문에 답한 논문을 한 편 읽어 본다.

  • 제목: A Social Media Mining Approach for Monitoring Customer Complaints in the Early Stage of Product Launch
  • 학술지: Journal of the Korean Institute of Industrial Engineers
  • 연도: 2021
  • DOI: 10.7232/JKIIE.2021.47.3.289

논문은 제품 출시 초기의 고객 불만을 모니터링하는 소셜미디어 마이닝(social media mining) 접근법을 제안한다. 소셜미디어 마이닝은 소셜미디어 글에서 쓸모 있는 정보를 뽑아내는 분석을 가리킨다. 이 풀이는 논문이 아니라 필자가 덧붙인 것이다.

이 접근법은 출시 초기에 작성된 리뷰만 추린다. 이어서 단어 임베딩(word embedding, 낱말이나 구를 숫자 벡터로 바꾸는 기법)과 클러스터링(clustering, 비슷한 대상끼리 묶는 기법)으로 불만 요소를 찾는다. 마지막으로 문장 단위 감성분석으로 불만의 정도를 수치로 계산한다.

글 전체에서 쓸 용어는 다음과 같다.

  • 잠재 불만 요소: 리뷰에서 뽑은 명사구를 의미가 비슷한 것끼리 묶은 군집 하나. 고객이 불만을 말할 수 있는 제품 요소를 가리킨다.
  • 긴급도(Urgency): 한 불만 요소를 언급한 문장 가운데 불만 문장이 차지하는 비율.
  • 심각도(Severity): 그 불만 문장들의 감성점수 절대값 평균.
  • 고객 불만 포트폴리오 맵(customer-stated complaint portfolio map): 긴급도와 심각도를 두 축으로 삼아 불만 요소를 네 영역으로 나눈 맵.

동기: 출시 초기의 불만은 빨리, 문장 단위로 읽어야 한다

왜 출시 초기 고객 불만이 중요한가

논문이 든 이유는 다음과 같다.

  • 고객 불만은 제품의 잠재 위험 요소일 수 있다. 제품 기획에서 놓친 부분, 기술 결함, 불완전한 제품 서비스 시스템을 알려 준다.
  • 불만을 해결하는 과정에서 제품을 개선하거나 신제품 기획의 새 아이디어를 얻는다.
  • 출시 직후 초기에 나온 피드백은 후기에 생길 위험을 예방한다. 제품 개발과 개선의 방향 같은 대응 전략도 일찍 도출하게 해 준다.
  • 논문은 긴급도 지표를 정의하는 대목에서 선행 연구를 근거로 든다. 제품의 문제점을 초기에 탐지하면 나중에 드는 비용을 줄이고 고객 만족도를 높일 수 있다는 내용이다.
  • 포스트, 리뷰, 댓글 같은 소셜미디어의 고객 의견 데이터는 쉽게 구할 수 있다.

기업도 소셜미디어에 주목하고 있다. 논문이 인용한 통계에 따르면 2020년 2월 기준 1억 4천만여 기업이 페이스북, 인스타그램 같은 소셜미디어 앱을 쓴다. 미국 페이스북 사용자 중 58%는 기업 게시물을 접한 뒤 해당 기업과 브랜드에 더 관심을 갖게 되었다.

기존 연구가 다루지 않은 부분

선행(先行) 연구는 소셜미디어 글에서 고객이 공통으로 언급하는 요소를 찾거나 잠재 주제를 도출하는 데 텍스트 마이닝을 적용했다. 글쓴이의 긍정·부정 정서를 정량화하려고 감성분석도 함께 썼다. 플랫폼은 아마존, 트위터, 페이스북, Reddit, Yelp 등으로 다양했고, 분야도 전자제품, 식품, 대중교통처럼 한 산업에 한정되지 않았다.

논문은 이 연구 흐름에서 두 가지 빈틈을 짚는다.

  • 리뷰 단위 감성분석의 한계: 대부분의 연구는 리뷰 하나의 감성을 통째로 분석했다. 소셜미디어 리뷰 하나에는 여러 주제와 의견이 섞여 있어서, 문장 같은 세밀한 단위로 분석해야 결과가 더 정확하다.
  • 출시 시점을 고려하지 않은 수집: 소셜미디어 분석 결과는 출시 후 시간에 따라 내용과 중요성이 다르다. 그래서 데이터가 생성된 날짜를 제품 출시일과 함께 고려해야 한다.

방법: 리뷰를 명사구와 문장으로 나눠 불만 요소마다 두 지표를 계산한다

논문의 절차는 네 단계다.

그림 1. Reddit 리뷰 25,886개가 네 단계를 거쳐 불만 요소 27개의 개선 우선순위로 정리되는 과정.
  1. 소셜미디어 데이터를 수집하고 전처리해 유효한 리뷰와 명사구를 선별한다.
  2. 명사구를 벡터로 바꾸고 클러스터링해 잠재 불만 요소를 정의한다.
  3. 리뷰를 문장 단위로 나눠 감성을 식별하고, 불만 문장으로 불만 요소마다 정량 지표를 계산한다.
  4. 지표를 바탕으로 고객 불만 포트폴리오 맵을 형성하고, 먼저 개선할 불만 요소를 찾아 대응 전략을 제시한다.

이 글도 논문의 네 단계를 그대로 따른다.

사례와 자료

사례 제품은 2019년 3월에 출시된 삼성 스마트폰 Galaxy S10이다. 이 제품은 이전 Galaxy S 시리즈에 비해 새로운 기능을 다양하게 탑재했다.

  • 무선 공유 배터리
  • 온스크린 지문 인식
  • 인공지능 기반의 사용자 맞춤형 빅스비 루틴

연구진은 기능이 많고 소셜미디어에서 고객 의견이 활발히 공유된 제품이라는 이유로 Galaxy S10을 선정했다.

자료는 Reddit의 Galaxy S10 게시판(subreddit)에 작성된 게시글이다. 연구진은 2018년 12월 1일부터 2019년 8월 31일까지 9개월 동안 작성된 25,886개 리뷰를 수집했다. 단계마다 남은 자료의 규모는 각 단계 설명에 함께 적는다.

1단계: 소셜미디어 데이터 수집과 전처리

  • 입력: 타겟 제품에 대한 소셜미디어 리뷰 전체
  • 처리: 작성 날짜로 초기 리뷰 선별, 짧은 리뷰와 링크 제거, 명사구 추출과 불용어 제거
  • 산출: 유효 리뷰 집합과 유효 명사구 집합

처리 순서는 다음과 같다.

  1. 제품 출시일로부터 6개월 동안 작성된 리뷰만 남긴다. Galaxy S10의 정식 출시일은 2019년 3월 8일이다. 연구진은 2019년 3월부터 8월까지의 리뷰만 남겼다.
  2. 공백과 특수문자를 포함해 10자 미만인 리뷰를 뺀다. “Thanks!”, “And why?”, “[removed]” 같은 글이 여기에 해당한다.
  3. 리뷰 안의 유튜브, 아마존, 이베이 같은 웹 주소를 지운다.
  4. spaCy로 명사구를 추출한다. 이어서 이모티콘(“:D”), 의성어(“haha”), 분석과 무관한 말(“hello”, “guys”)을 제거한다.

짧은 리뷰는 유효한 의미나 정보를 담지 못한다고 보고 뺐다. 명사구는 불만 요소를 정의하는 재료다. 잠재 불만 요소를 나타내기 어려운 명사구는 이 단계에서 걸러 낸다.

사례에서 이 단계를 거친 결과는 유효 리뷰 13,976개와 유효 명사구 2,831개였다.

2단계: 잠재 불만 요소 추출

  • 입력: 유효 명사구 2,831개
  • 처리: 명사구 임베딩, K-means 클러스터링, 군집 레이블링
  • 산출: 이름이 붙은 잠재 불만 요소 27개

처리 순서는 다음과 같다.

  1. 사전(事前) 학습된 Sentence-BERT로 모든 명사구를 임베딩 벡터로 바꾼다. Sentence-BERT는 의미가 비슷한 문장이 벡터 공간에서 가깝게 놓이도록 조정한 문장 임베딩 기법이다.
  2. Gap Statistic method(통계 기법으로 적절한 군집 수를 정하는 방법)로 최적 군집 수를 정한다. 사례에서는 27개였다.
  3. K-means 클러스터링으로 명사구 벡터를 27개 군집에 나눠 담는다.
  4. 각 군집의 중심에 가까운 명사구를 참고해 군집에 이름을 붙인다.

벡터로 바꾸는 이유는 유사한 명사구를 그룹화하기 위해서다. 리뷰에서 제품과 관련된 명사구만 군집화했기 때문에, 군집 하나를 고객의 잠재 불만 요소 하나로 정의한다. 군집 수를 통계 기법으로 정하면 분석가의 판단이 덜 개입한다. 논문은 이 점을 재현 가능성의 근거로 든다.

결과 군집의 예는 다음과 같다.

  • Battery: “battery use”, “battery usage icon”, “battery rating”
  • Fingerprint: “fingerprint sensor”, “fingerprint recognition”, “fingerprint scanner”
  • Protection: “glass protector”, “plastic screen protectors”, “glass screen protector”

3단계: 불만 수준의 계량 지표 정의

  • 입력: 유효 리뷰 13,976개, 불만 요소 27개
  • 처리: 문장 분할, 문장별 감성분석, 불만 요소별 긴급도·심각도 계산
  • 산출: 불만 요소마다 긴급도와 심각도 값

처리 순서는 다음과 같다.

  1. 유효 리뷰를 모두 문장으로 나눈다. 사례에서는 54,664개 문장이 나왔다.
  2. VADER(Valence Aware Dictionary and sEntiment Reasoner)로 문장마다 감성점수를 매긴다.
  3. 감성점수가 0보다 크면 긍정, 0이면 중립, 0보다 작으면 불만 문장으로 판정한다.
  4. 불만 요소의 명사구가 들어간 문장을 그 요소의 관련 문장으로 보고, 요소마다 긍정·중립·불만 문장 수를 집계한다.
  5. 집계한 값으로 긴급도와 심각도를 계산한다.

VADER는 낱말 사전과 규칙을 바탕으로 한 감성분석 도구다. 낱말의 감성뿐 아니라 특수기호, 대·소문자, 접속사까지 고려하고, 감성을 -1 이상 1 이하의 점수로 낸다.

문장 단위로 나누는 이유는 논문 표 2의 예시 리뷰에서 드러난다. 이 리뷰는 두 문장으로 되어 있다. 첫 문장은 촬영 버튼을 누르면 기기가 흔들려 사진이 흐리게 찍힌다는 내용이다. 둘째 문장은 동영상 모드에서는 문제가 없다는 내용이다. VADER는 첫 문장에 -0.1027, 둘째 문장에 0.2716을 매겼다.

리뷰 전체로 보면 0.1761이라 긍정 리뷰로 판정된다. 리뷰 단위로만 분석하면 사진 촬영에 대한 불만이 빠진다. 연구진은 이렇게 불만이 누락되는 것을 줄이려고 모든 리뷰를 문장으로 나눴다.

긴급도는 한 불만 요소의 명사구가 들어간 전체 문장 수로 불만 문장 수를 나눈 값이다. 고객이 그 요소를 말할 때 실제로 불만을 표출하는 정도를 나타낸다. 값이 높을수록 긴급한 요소로 본다.

심각도는 그 요소의 불만 문장들이 받은 감성점수의 절대값 평균이다. 불만 문장의 감성점수는 음수라서 절대값을 쓴다. 값이 높을수록 고객의 불만이 강하다는 뜻이다.

계산 예를 들어 본다. 이 예시 리뷰의 두 문장만 어떤 불만 요소의 명사구를 담았다고 가정한다. 관련 문장은 2개, 불만 문장은 첫 문장 1개다. 긴급도는 1÷2=0.5다. 심각도는 불만 문장 하나의 절대값이므로 |-0.1027|=0.1027이다.

4단계: 고객 불만 포트폴리오 맵 형성

  • 입력: 불만 요소 27개의 긴급도와 심각도
  • 처리: 두 지표를 축으로 배치, 평균을 기준선 삼아 네 영역으로 분할
  • 산출: 영역별 불만 요소 목록과 우선순위

처리 순서는 다음과 같다.

  1. 불만 요소마다 긴급도와 심각도를 맵 위에 찍는다.
  2. 모든 요소의 긴급도 평균과 심각도 평균을 기준선으로 삼아 맵을 네 영역으로 나눈다.
  3. 영역에 따라 개선 우선순위를 정한다. 순서는 Critical, Risky와 Alert, Trivial이다.
  4. Critical 영역 요소의 불만 문장을 읽고 고객이 무엇을 문제 삼았는지 확인해 대응 전략을 마련한다.

네 영역은 다음과 같다.

  • Critical: 긴급도와 심각도가 모두 높다. 기업이 가장 먼저 개선해야 할 요소다.
  • Risky: 긴급도는 낮지만 심각도가 높다. 자주 나오지 않아도, 나오면 Critical 수준으로 심각하다.
  • Alert: 긴급도는 높고 심각도는 낮다. 자주 나오므로 심각도의 변화를 계속 지켜봐야 한다.
  • Trivial: 두 지표가 모두 낮다. 우선순위가 가장 낮다.

평균을 기준선으로 쓰면 분석가가 경계값을 따로 정하지 않아도 된다. 사례에서 27개 요소의 긴급도 평균은 0.2131, 심각도 평균은 0.3600이었다.

결과: 삼성 페이, 지문 인식, 배터리가 가장 시급한 불만으로 나왔다

그림 2. 불만 요소 27개 가운데 Samsung pay, Fingerprint, Battery가 긴급도와 심각도 모두 특히 높았다.

두 지표의 상위 불만 요소

긴급도가 높은 순서는 ‘Samsung pay’, ‘Battery’, ‘Fingerprint’, ‘SNS’, ‘Text and call’이었다. 심각도가 높은 순서는 ‘Fingerprint’, ‘Protection’, ‘Samsung pay’, ‘Battery’, ‘Wide angle’이었다.

세 요소가 두 목록에 모두 들었다. Samsung pay, Battery, Fingerprint다. 반대로 SNS는 긴급도 상위에만, Protection은 심각도 상위에만 들었다. 두 지표가 서로 다른 정보를 담는다는 것이 여기서 드러난다.

Critical 영역의 여섯 요소

Critical 영역에는 여섯 요소가 들었다.

  • Samsung pay
  • Battery
  • Fingerprint
  • Text & Call
  • Camera
  • Synchronization

이 요소들은 두 지표가 모두 평균보다 높다. 요소별 값 전체는 논문 표 5에 있다.

이 가운데 Samsung pay, Fingerprint, Battery는 두 지표가 특히 높아서 연구진이 집중해서 분석했다. Samsung pay는 긴급도 0.4069, 심각도 0.4134였다. Fingerprint는 긴급도 0.2490, 심각도 0.4211이었고, Battery는 긴급도 0.2608, 심각도 0.4045였다.

Samsung pay의 긴급도는 평균의 약 1.91배다(0.4069÷0.2131≈1.91). 긴급도는 불만 문장 비율이므로, 관련 문장 가운데 불만 문장의 비율이 0.4069였다는 뜻이다.

Risky, Alert, Trivial 영역의 예

논문은 다른 영역의 요소를 따로 나열하지 않는다. 다만 표 5의 값을 평균과 비교하면 영역을 확인할 수 있다. 아래 표의 영역 표시는 필자가 평균과 비교해 붙였다.

불만 요소긴급도심각도영역
Protection0.16890.4186Risky
Wide angle0.18630.4024Risky
SNS0.23020.3502Alert
Smart0.14420.3245Trivial

출처: 논문 표 5

Protection은 “plastic cover”, “glass protector” 같은 명사구로 이루어진 요소다. 필자는 이를 보호 커버·보호 필름 관련 요소로 본다. 이 요소의 긴급도(불만 문장 비율)는 평균보다 낮다. 하지만 심각도는 0.4186으로, 심각도 0.4211인 Fingerprint 다음이다. 필자의 판단으로는 불만 비율은 낮아도 불만이 나오면 강하게 나오는 Risky 영역에 해당한다.

삼성 페이: 앱이 열리지 않는 연결 오류

Samsung pay는 오프라인과 온라인 결제를 모두 지원하는 삼성의 모바일 결제 서비스다. 이 요소의 주요 명사구는 ‘connection error’, ‘background loading failure’, ‘error messages’였다.

불만 문장을 읽으면 원인이 드러난다. 연결 오류로 삼성 페이를 실행할 수 없다는 불만 문장이 주된 불만 원인이었다. 연구진은 삼성 페이가 소프트웨어이므로 업데이트로 빠르게 대응할 수 있다고 보았다.

지문 인식: 위치와 인식률

Galaxy S10은 화면 안에 지문 센서를 넣었다. 광학 방식이 아니라 초음파 방식이다. 고객들은 센서 위치가 불편하고 지문을 쉽게 인식하지 못한다고 불만을 표했다.

이전 모델 Galaxy S9은 지문 센서가 기기 뒷면 위쪽에 있었다. 한 손으로 쥔 채 손가락을 펴서 쓰기 쉬웠고 인식 속도도 빨랐다. 앞면 아래쪽에 센서를 넣은 Galaxy S10은 쓰기 불편하고 인식률이 낮다는 의견이 불만의 원인이었다.

고객 불만을 해결하기 위해 2019년 4월에 낮은 지문 인식률과 관련된 업데이트가 진행되었다. 논문에 따르면 그 뒤 2019년 10월 영국에서 등록하지 않은 지문도 인식되는 현상이 뉴스 기사로 보도되었다. 논문이 인용한 보도 출처는 영국 매체 The Sun의 2019년 기사다. 이 현상은 논문에 인용된 한 언론 보도에 근거한 것이며, 이 글은 보도 내용의 진위를 검증하지 않았다.

연구진은 이 보도를 조건을 단 형태로 해석에 반영했다. 논문 저자들은 사용자 지문이 아니어도 인식이 가능하다면 개인정보와 금융 관련 피해로 이어질 수 있다고 썼다. 이 피해 가능성은 확인된 사실이 아니라 논문 저자의 해석이다. 이 해석을 바탕으로 연구진은 Fingerprint가 Samsung pay보다 빈도는 낮아도 불만 수준이 매우 심각하다고 판단했다.

배터리: 5G 전환과 프로세서 차이

Battery의 주요 불만은 배터리 지속 시간이 기대보다 짧다는 것이었다. 논문은 원인을 두 가지로 설명한다.

  • 5G 상용화 첫 단계라 연결이 원활하지 않았다. 5G와 LTE를 자주 오가면서 배터리가 많이 소모되었다.
  • 판매 지역마다 탑재한 애플리케이션 프로세서(Application Processor, AP)가 달랐다. 북미, 중국, 일본 모델은 스냅드래곤을, 한국을 포함한 기타 지역 모델은 엑시노스를 탑재했다.

리뷰에는 배터리와 엑시노스가 함께 언급된 경우가 많았다. 일부 고객은 스냅드래곤 모델의 배터리 성능이 더 낫다고 주장하며 불만을 표했다. 이는 Reddit 이용자의 의견이며, 모델 간 배터리 성능 차이는 이 글에서 검증한 사실이 아니다. 연구진은 배터리 불만이 5G 사용 여건과 AP에 따라 달라서 긴급도에 비해 심각도가 높다고 해석했다.

대응 방안으로 논문은 먼저 배터리 소모에 영향을 주는 소프트웨어 개선을 제안한다. 다음 제품의 배터리 부품 연구개발과 엑시노스 탑재 여부 결정도 과제로 든다. 논문에 따르면 삼성은 다음 시리즈인 Galaxy S20에 스냅드래곤만 탑재했다.

초록은 삼성 페이 연결 오류와 지문 인식 관련 불만이 출시 이후 빠르게 개선되었다고 보고한다. 다만 이 보고가 개선이 분석 결과 때문이라는 인과 검증은 아니다. 지문 인식은 업데이트 뒤에도 별도 문제가 보도되었다.

의의와 한계

무엇이 달라지는가

  • 출시일과 리뷰 작성일을 함께 고려해 초기 불만 정보만 선별했다.
  • 리뷰를 문장 단위로 나눠 감성분석을 했다. 한 리뷰에 섞인 여러 주제와 감성을 따로 다룬다.
  • 리뷰 데이터에서 불만을 계량적으로 측정하는 지표 두 개, 긴급도와 심각도를 개발했다.
  • 전문가 개입을 최소화하고 군집 수 같은 파라미터를 통계 기법으로 정했다. 논문은 그래서 다른 환경에서도 절차가 재현될 수 있다고 주장한다.

실무자에게 주는 쓸모

이 접근법은 출시 직후 몇 달 동안 쌓인 고객 글을 불만 요소 목록과 우선순위로 바꿔 준다. 두 지표는 발생한 모든 불만 요소를 정량적으로 평가하고 먼저 처리할 요소를 찾는 데 쓰인다.

맵의 영역은 대응 방식도 알려 준다. Critical 요소는 즉시 개선 대상이고, Alert 요소는 심각도의 변화를 지켜볼 대상이다. 사례에서 연구진은 Critical 요소를 소프트웨어 업데이트로 빠르게 대응할 것과 다음 제품 개발에 반영할 것으로 나눠 제안했다.

연구자에게 주는 쓸모

소셜미디어 리뷰를 다룰 때 분석 단위와 수집 시점이 결과를 바꾼다는 점을 구체적인 예로 확인할 수 있다. 리뷰 하나가 긍정 0.1761로 판정되어도, 그 안의 한 문장은 불만 -0.1027이었다. 논문은 이런 접근이 제품 리뷰를 다루는 연구자가 고객을 더 정확히 이해하도록 돕는다고 본다.

논문이 밝힌 한계

논문이 스스로 밝힌 한계는 두 가지다.

  • 불만 요소를 명사구로 정의했다. 문장 자체로 불만 요소를 정의하면 문장의 감성을 더 직관적으로 쓸 수 있다.
  • 지표는 불만 문장 수와 감성점수만으로 계산한다. 고객 평점, 이모티콘 같은 요소를 함께 반영한 지표를 쓰면 더 정확한 결과를 얻을 수 있을 것으로 논문은 기대한다.

필자가 보는 적용 조건

아래는 논문에 적힌 내용이 아니라 필자가 실무 적용을 염두에 두고 덧붙이는 조건이다.

  • 제품 하나에 대한 글이 한곳에 모이는 채널이 있어야 한다. 사례의 Reddit 게시판처럼 제품별 게시판이 있으면 수집과 선별이 쉽다.
  • 감성분석 도구가 분석 언어에 맞아야 한다. 사례는 영어 글에 VADER를 썼다. 한국어 리뷰라면 한국어에 맞는 도구를 먼저 검토해야 한다.
  • 긴급도와 심각도 자체는 요소별 값이지만, 맵의 네 영역은 27개 요소의 평균을 기준선으로 나눈 상대 구분이다. 불만 요소 수가 적거나 모든 요소가 비슷하게 나쁘면 영역 구분의 쓸모가 줄어든다.
  • 맵은 우선순위를 알려 줄 뿐 원인까지 알려 주지 않는다. 사례에서도 원인은 불만 문장을 직접 읽고 파악했다.

바로 해 볼 일

  • 최근 출시한 제품 하나를 정하고 출시일부터 6개월 동안의 고객 글을 모은다. 10자 미만인 글과 링크를 지우고 몇 건이 남는지 확인한다. 논문의 1단계를 그대로 따르는 첫 단계다.
  • 남은 글을 문장으로 나누고, 관심 있는 제품 요소 서너 개에 대해 긴급도를 계산한다. 요소를 언급한 문장 수로 불만 문장 수를 나누면 된다.
  • 같은 요소의 불만 문장 감성점수 절대값 평균으로 심각도를 구한다. 두 지표의 평균을 기준선으로 Critical 영역에 드는 요소를 찾고, 그 요소의 불만 문장을 직접 읽어 원인을 정리한다.

Keywords

Related posts