버즈 (Buzz)란 온라인상에서 특정 주제에 대해 언급된 횟수, 즉 관심 정도를 의미한다. 버즈 분석 (Buzz Analysis)을 통해 신제품에 대한 반응을 확인하거나, 특정 이슈의 여론 형성이 어디로 흘러가는지 확인할 수 있으며, 상용 서비스 및 제품에 대한 반응을 끊임없이 모니터링하는 버즈 모니터링 (Buzz Monitoring)을 통해 실시간으로 발생한 문제를 해결하거나, 반응과 요구사항을 바로 파악할 수 있다.
다른 텍스트 마이닝 기법과 마찬가지로 버즈 분석 또한 포털 사이트, 블로그, SNS 등과 같은 무수한 온라인 소스를 확인하고 분석하는 과정을 포함하며, 주로 그 결과를 수치화하고 시각화하여 마케팅적 인사이트를 도출하고자 한다. 또한, 버즈 분석은 타 분석 기법과의 연계를 통해 소비자가 온라인에서 상품이나 서비스에 대해 좋은 소문을 퍼트리도록 하여 긍정적인 이미지를 만드는 것을 목적으로도 할 수 있다. 가장 대표적으로 버즈량을 알 수 있는 것은 네이버와 구글과 같은 포털 사이트의 검색 서비스이며, 관련 서비스로는 네이버의 핫토픽 키워드, 다음의 소셜픽, SNS 실시간 검색 등이 있다.
연습
네이버 포털 사이트에서 2019년 1월부터 12월까지 ‘기생충’이 얼마나 검색되었는지 버즈 분석을 통해 알아보도록 한다. 네이버는 네이버 검색, 통합 검색어 트렌드 조회, Papago 번역 등 네이버 플랫폼의 기능을 외부 개발자가 쉽게 이용할 수 있도록 다양한 오픈 API를 제공하고 있다. 여기서 API (Application Programing Interface, API)는 개발자가 프로그래밍 작업을 통해 운영체제, 시스템, 애플리케이션, 라이브러리 등을 이용하여 응용 프로그램을 작성할 수 있게 하는 다양한 인터페이스를 총칭한다.
네이버에서 제공하는 오픈 API 중 ‘통합 검색어 트렌드 API’를 이용하여 네이버 통합검색에서 발생하는 검색어를 조회하여 해당 주제가 네이버에서 얼마나 검색되는지 알아볼 수 있다. 여기에서 실제 조회 횟수는 제공하지 않고, 검색 횟수가 가장 높은 시점을 100으로 두어 상대적인 값으로 제공하고 있지만, 특정 주제 및 검색어의 트렌드를 파악하기에는 충분하다.
1) 네이버 오픈 API 이용하기
이제 네이버 오픈 API를 이용하는 방법에 대해서 알아보도록 한다. 네이버 API를 이용하기 위해선 아래의 URL에 접속하여 네이버 검색어 API를 신청해야 한다. URL에 접속하여 로그인을 하면 다음과 같은 화면이 나타난다.
https://developers.naver.com/main/
▶ 상단 메뉴 중 [Products]-[서비스 API]-[데이터랩]을 클릭한다.
▶ 오픈 API 이용 신청을 클릭한다.
▶ 위 그림 번호 순서와 같이, 애플리케이션 이름을 자유롭게 지정하고, 사용 API를 데이터랩 (검색어 트렌드)으로 지정한 뒤, 비로그인 오픈 API 서비스 환경에서 WEB 설정을 클릭한다. 그런 다음 ‘http://localhost’를 입력한다.
등록한 애플리케이션의 정보를 확인하는 방법은 다음과 같다.
▶ [메인 페이지]-[Application]-[내 애플리케이션]에 접속하고, Application 목록에서 등록한 애플리케이션을 클릭한다.
▶ 애플리케이션 정보를 보면, Client ID와 Client Secret를 확인할 수 있다. Client ID와 Client Secret는 클라이언트 (Client)를 식별할 수 있는 정보로서 파이썬에서 네이버 API를 호출하여 서버에 데이터를 요청할 때 사용된다.
2) 오픈 API를 호출하여 데이터 불러오기
#1. 라이브러리 불러오기
import json
import urllib
#2. 요청 정보 입력
request = urllib.request.Request("https://openapi.naver.com/v1/datalab/search")
request.add_header("X-Naver-Client-Id", "AAAAA")
request.add_header("X-Naver-Client-Secret","BBBBB")
request.add_header("Content-Type","application/json")
#3. 요청 본문 생성
body_dict = {"startDate": "2019-01-01",
"endDate" : "2019-12-20",
"timeUnit": "month",
"keywordGroups":[{"groupName": "기생충","keywords":["기생충"]}]}
body = json.dumps(body_dict)
body
네이버 API에 데이터를 요청할 준비가 되었으니, 해당 내용을 네이버 서버에 전달하여 데이터를 가져오도록 한다.
#1. 서버에 정보 요청
response = urllib.request.urlopen(request, data=body.encode("utf-8"))
#2. 응답 상태 코드 가져오기
rescode = response.getcode( )
#3. 값이 200인 경우에만 데이터 추출
if(rescode==200):
scraped = response.read( )
else:
print("Error Code:" + rescode)
#4. json 데이터 타입 변환
result = json.loads(scraped)
result
3) 버즈 그래프 출력
#1. 모듈 및 함수 임포트
import pandas as pd
import matplotlib.pyplot as plt
#2. 데이터 프레임 변환
data = pd.DataFrame(result["results"][0]["data"]).set_index('period')
#3. 그래프 생성
data.plot(color = 'g', figsize = (20,10))
plt.legend(fontsize=30)
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
plt.show()
This post was written based on what I read and studied the book below.
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791195511747
댓글