Introduction

감정 뢄석 (sentiment analysis) μ΄λž€?
: ν…μŠ€νŠΈλ‚˜ λ°œν™”μ— ν‘œν˜„λœ 감정 λ˜λŠ” μ˜κ²¬μ„ μ»΄ν“¨ν„°λ‘œ 식별, λΆ„λ₯˜ν•˜μ—¬ ν•΄λ‹Ή λŒ€ν™” μ£Όμ œμ— λŒ€ν•œ 주관적 νƒœλ„λ₯Ό λΆ„μ„ν•˜λŠ” 것.

이 μ•„ν‹°ν΄μ—μ„œλŠ” 페이슀뢁 analytics μ—μ„œ μΆ”μΆœν•œ μ’‹μ•„μš”, 곡유, 도달λ₯ , 뢀정적 ν”Όλ“œλ°± λ“±
페이슀뢁 맀트릭슀 raw 데이터λ₯Ό 감정 λΆ„μ„ν•˜μ—¬ μΈμ‚¬μ΄νŠΈλ₯Ό λ„μΆœν•©λ‹ˆλ‹€.

Note) 페이슀뢁 μ• λ„λ¦¬ν‹±μŠ€λž€?
페이슀뢁 μ• λ„λ¦¬ν‹±μŠ€λŠ” μ‚¬μš©μžκ°€ κ΄€λ¦¬ν•˜κ³  μžˆλŠ” 페이슀뢁 νŽ˜μ΄μ§€, μ›Ή, μ•± 등에 걸쳐 고객의 행동 과정을 λΆ„μ„ν•΄μ£ΌλŠ” λ„κ΅¬μž…λ‹ˆλ‹€.

이 μ•„ν‹°ν΄μ—μ„œλŠ” 페이슀뢁 μ• λ„λ¦¬ν‹±μŠ€λ₯Ό ν™œμš©ν•˜μ—¬ λ‚΄ ν¬μŠ€νŒ…μ˜ 정보λ₯Ό raw data 둜 ν™•λ³΄ν•©λ‹ˆλ‹€.
watson studio, Visual Recognition, Tone Analyzer 등을 ν™œμš©ν•˜μ—¬ μ–΄λ–€ ν¬μŠ€νŒ…μ— μ–΄λ–€ 감정이 λ“œλŸ¬λ‚˜κ³ ,
μ–΄λ–€ 감정이 ν‘œν˜„λœ κ²Œμ‹œλ¬Όμ˜ engagement κ°€ 높은지 확인해 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

Contents

1. Watson studio κ°€μž…
2. ν”„λ‘œμ νŠΈ 생성 및 μ„œλΉ„μŠ€, λ…ΈνŠΈλΆ, 인증 정보 μΆ”κ°€
3. 데이터 뢈러였기
4. 데이터 μ „μ²˜λ¦¬ 및 Enrichment
5. κ²°κ³Ό 뢄석

 

#1 Watson studio κ°€μž…ν•˜κΈ°
– IBM Watson studio μ†Œκ°œ μ›Ήμ‚¬μ΄νŠΈ(ν•œκ΅­):https://www.ibm.com/cloud-computing/kr-ko/watson-studio/
– IBM Watson studio μ„œλΉ„μŠ€ μ›Ήμ‚¬μ΄νŠΈ : https://dataplatform.cloud.ibm.com/


* IBM Watson Studio μ„œλΉ„μŠ€ μ›Ήμ‚¬μ΄νŠΈ

– IBM Cloud μ•„μ΄λ””λ‘œ λ‘œκ·ΈμΈν•˜κ³ , Watson Studio에 κ°€μž…ν•©λ‹ˆλ‹€.
(아이디가 μ—†λ‹€λ©΄ IBM Cloud 아이디λ₯Ό λ§Œλ“  ν›„ κ°€μž…ν•©λ‹ˆλ‹€.)

– μΆ”κ°€ μš”κΈˆμ„ μ§€λΆˆν•˜μ§€ μ•ŠμœΌλ €λ©΄ ‘LITE Plan’을 μ„ νƒν•˜μ„Έμš”.


* IBM Watson Studio 둜그인 ν™”λ©΄

 

#2 ν”„λ‘œμ νŠΈ 생성 및 μ„œλΉ„μŠ€, λ…ΈνŠΈλΆ, 인증 정보 μΆ”κ°€

2.1 ν”„λ‘œμ νŠΈ 생성
– 상단 메뉴 λ°”μ—μ„œ projects > new_project λ₯Ό ν΄λ¦­ν•˜μ—¬ μƒˆλ‘œμš΄ ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

– Data Science ν”„λ‘œμ νŠΈ 타일을 ν΄λ¦­ν•˜μ„Έμš”.

– ν”„λ‘œμ νŠΈ 생성 μ‹œ IBM Cloud 계정에 ν”„λ‘œμ νŠΈλͺ…κ³Ό 같은 μ΄λ¦„μœΌλ‘œ object storage μ„œλΉ„μŠ€κ°€ μžλ™μœΌλ‘œ μƒμ„±λ©λ‹ˆλ‹€.


* ‘new project’λΌλŠ” 이름이 ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•˜μž new project 둜 μ‹œμž‘ν•˜λŠ” μ΄λ¦„μ˜ object storage μ„œλΉ„μŠ€κ°€ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
(IBM Cloud κ³„μ •μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€)

2.2 ν”„λ‘œμ νŠΈμ— μ„œλΉ„μŠ€ μΆ”κ°€ν•˜κΈ°
– μ„œλΉ„μŠ€λŠ” ν”„λ‘œμ νŠΈμ˜ μΆ”κ°€ κΈ°λŠ₯으둜 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.
IBM Watson Studio μ—μ„œλŠ” Amazon EMR Spark, IBM Analytics Engine, Spark λ“±μ˜ λ‹€μ–‘ν•œ μΆ”κ°€ μ„œλΉ„μŠ€λ₯Ό ν”„λ‘œμ νŠΈμ— μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

– μƒˆλ‘­κ²Œ μƒμ„±λœ ν”„λ‘œμ νŠΈλ₯Ό ν΄λ¦­ν•˜κ³  상단 λ©”λ‰΄λ°”μ˜ settings 을 μ„ νƒν•©λ‹ˆλ‹€.
μŠ€ν¬λ‘€μ„ λ‚΄λ € associated service ν•­λͺ©μ—μ„œ Add service > Watson 을 ν΄λ¦­ν•©λ‹ˆλ‹€.

– 이 μ•„ν‹°ν΄μ—μ„œλŠ” 감정 뢄석을 μœ„ν•΄ Visual Recognition (이미지 인식), Natural Language Understanding (μžμ—°μ–΄ 처리), Tone Analyzer (λΆ„μœ„κΈ° 뢄석) 3가지 μ„œλΉ„μŠ€λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. ν•΄λ‹Ή μ„œλΉ„μŠ€ νƒ€μΌμ˜ Add λ₯Ό ν΄λ¦­ν•˜κ³  μΆ”κ°€ μš”κΈˆμ„ λ‚©λΆ€ν•˜μ§€ μ•ŠμœΌλ €λ©΄ LITE ν”Œλžœμ„ μ„ νƒν•˜μ„Έμš”.

2.3 인증 정보 λ©”λͺ¨ν•΄ 두기
– 쒌츑 상단 ☰ μ•„μ΄μ½˜μ˜ Navigation λ©”λ‰΄μ—μ„œ Services > Watson Services λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

– 3개 점 λͺ¨μ–‘μ˜ actions 메뉴λ₯Ό μ΄μš©ν•˜μ—¬ manage in IBM cloudλ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€.
각 μ„œλΉ„μŠ€μ˜ API Key 와 URL을 λ…ΈνŠΈλΆμ—μ„œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 볡사해 λ‘‘λ‹ˆλ‹€.
(2.5 인증정보 μΆ”κ°€ μˆœμ„œμ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€)

2.4 ν”„λ‘œμ νŠΈμ— λ…ΈνŠΈλΆ μƒμ„±ν•˜κΈ°
– Watson Studio μ—μ„œ Β + Add to project 탭을 μ΄μš©ν•˜μ—¬Β Notebook 을 ν΄λ¦­ν•©λ‹ˆλ‹€.

– from url 탭을 μ„ νƒν•˜κ³  λ…ΈνŠΈλΆ 이름, κ΄€λ ¨ 상세 μ„€λͺ…(description)을 μž…λ ₯ν•©λ‹ˆλ‹€.
– 감정 뢄석을 μœ„ν•΄ IBM 곡식 κ°€μ΄λ“œμ—μ„œ μ œκ³΅ν•˜λŠ” λ…ΈνŠΈλΆμ„ μƒμ„±ν•©λ‹ˆλ‹€.
μ•„λž˜μ˜ url을 μž…λ ₯ν•˜μ„Έμš”

https://raw.githubusercontent.com/IBM/pixiedust-facebook-analysis/master/notebooks/pixiedust_facebook_analysis.ipynb
(초기 λ…ΈνŠΈλΆ 섀계 Credit은 Anna Quincy 와 Tyler Andersen μ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€.)

– runtime ν•­λͺ©μœΌλ‘œλŠ”Β ‘Default Python 3.5 Free (1 vCPU and 4 GB RAM)’ 을 μ„ νƒν•©λ‹ˆλ‹€.
– ‘Create Notebook’Β λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.

* λ‹€μŒκ³Ό 같이 λ…ΈνŠΈλΆμ΄ μƒμ„±λ©λ‹ˆλ‹€.

2.5 인증정보 μΆ”κ°€
– ‘1.5. Add Service Credentials From IBM Cloud for Watson Services’ ν•˜λ‹¨μ˜ λ…ΈνŠΈλΆ 셀을 μ°ΎμŠ΅λ‹ˆλ‹€.
– ‘add_…’Β ν˜•νƒœμ˜ 5개 placeholder 값을 2.3 λ‹¨κ³„μ—μ„œ 각 μ„œλΉ„μŠ€μ˜ ‘Service Credentials’Β νƒ­μ—μ„œ κ°€μ Έμ˜¨ μ •λ³΄λ‘œ λŒ€μ²΄ν•©λ‹ˆλ‹€.

* 이 셀은 민감 정보인 인증 정보λ₯Ό ν¬ν•¨ν•˜κΈ° λ•Œλ¬Έμ— hidden_cell둜 ν‘œμ‹œλ©λ‹ˆλ‹€.

 

#3 데이터 뢈러였기

3.1 λ…ΈνŠΈλΆμ— CSV 파일 μΆ”κ°€

– 우 상단 10/01 μ•„μ΄μ½˜μ„ μ„ νƒν•˜μ—¬ Find and Add Data κΈ°λŠ₯을 μ‚¬μš©ν•©λ‹ˆλ‹€.
Files νƒ­ > browse λ₯Ό ν΄λ¦­ν•˜μ—¬ .csv νŒŒμΌμ„ μΆ”κ°€ν•˜μ„Έμš”.

– λ§Œμ•½ λΆ„μ„ν•˜κ³ μž ν•˜λŠ” 페이슀뢁 Analytics 데이터가 μ—†λ‹€λ©΄ IBM μ—μ„œ μ œκ³΅ν•˜λŠ” μ˜ˆμ‹œ 데이터λ₯Ό λ‹€μš΄λ‘œλ“œ ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ•„λž˜ 링크λ₯Ό 톡해 Github 에 μ ‘μ†ν•œ ν›„ data > example_input 으둜 λ“€μ–΄κ°€λ©΄ μ˜ˆμ‹œ 데이터가 μžˆμŠ΅λ‹ˆλ‹€.
– IBM GitHub url : https://github.com/IBM/pixiedust-facebook-analysis?cm_sp=IBMCode-_-discover-hidden-facebook-usage-insights-_-Get-the-Code

3.2 pandas DataFrame μ½”λ“œ μ‚½μž…

– ‘2.1 Load data from Object Storage’ μ„€λͺ… ν•˜λ‹¨μ˜ λ…ΈνŠΈλΆ 셀을 μ°ΎμŠ΅λ‹ˆλ‹€.
‘# Insert pandas DataFrame’ κ°€ μž…λ ₯된 셀을 μ„ νƒν•©λ‹ˆλ‹€. μ½”λ“œλ₯Ό μ‚½μž…ν•˜κΈ° μ „ 이 셀을 μ„ νƒν–ˆλŠ”μ§€ λ°˜λ“œμ‹œ ν™•μΈν•˜μ„Έμš”.

– [’10/01′ 파일 νƒ­ ν•˜λ‹¨ Find and Add Data λ©”λ‰΄μ—μ„œ ‘Insert to code’Β λ₯Ό 클릭, λ“œλ‘­λ‹€μš΄ 메뉴λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
λ“œλ‘­λ‹€μš΄ λ©”λ‰΄μ˜Β ‘Insert Pandas DataFrame’ 을 μ„ νƒν•©λ‹ˆλ‹€.

– non utf-8 데이터 μΈμ½”λ”©μ˜ 경우 λ…ΈνŠΈλΆμ„ μ‹€ν–‰ν–ˆμ„ λ•Œ μ—λŸ¬κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
νŒŒλΌλ―Έν„°λ₯Ό μˆ˜μ •ν•˜μ—¬ 인코딩 정보λ₯Ό μ„€μ •ν•¨μœΌλ‘œμ¨ 였λ₯˜λ₯Ό μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄. example_facebook_data.csv 파일의 경우
df_data_1 = pd.read_csv(body, encoding=’latin-1′) 와 같이 μˆ˜μ •ν•˜λ©΄
μ—λŸ¬ 없이 μ •μƒμ μœΌλ‘œ λ…ΈνŠΈλΆμ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

* 이 셀은 민감 정보인 인증 정보λ₯Ό ν¬ν•¨ν•˜κΈ° λ•Œλ¬Έμ— hidden_cell둜 ν‘œμ‹œλ©λ‹ˆλ‹€.

3.3 df λ³€μˆ˜ μ„€μ •

– 3.1 λ‹¨κ³„μ—μ„œ ‘2.1 Load data from Object Storage’ μ„€λͺ… ν•˜λ‹¨μ˜
셀에 데이터λ₯Ό pandas DataFrame의 ν˜•νƒœλ‘œ λΆˆλŸ¬μ™”μŠ΅λ‹ˆλ‹€.

뢈러온 λ°μ΄ν„°μ˜ μ½”λ“œμ— 따라 ν•΄λ‹Ή μ…€μ˜ λ§ˆμ§€λ§‰ 두 μ€„μ˜ μ½”λ“œ ν˜•νƒœκ°€ λ‹¬λΌμ§‘λ‹ˆλ‹€.
μ˜ˆμ‹œλ‘œ μ œκ³΅ν•œ example_facebook_data.csv νŒŒμΌμ„ μ μš©ν•  경우
df_data_2 λΌλŠ” λ³€μˆ˜μ— pandas Dataframe 데이터λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.

데이터 μ½”λ“œμ— 따라 df_data_1 μ΄λΌλŠ” λ³€μˆ˜μ— 데이터λ₯Ό μ €μž₯ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

pandas DataFrame을 μ €μž₯ν•˜λŠ” λ³€μˆ˜μ˜ 이름이 무엇인지 μ²΄ν¬ν•˜κ³ ,
‘2.2 Set variables’ μ„€λͺ… ν•˜λ‹¨μ˜ μ…€μ—μ„œ df = df_data_1 λ˜λŠ” df_data_2,
dfλ₯Ό padas DataFrame을 μ €μž₯ν•œ λ³€μˆ˜λ‘œ μ„€μ •ν•©λ‹ˆλ‹€.

* 이 μ˜ˆμ‹œμ—μ„œλŠ” padas DataFrame 정보λ₯Ό df_data_2 λ³€μˆ˜μ— μ €μž₯ν–ˆκΈ° λ•Œλ¬Έμ—
df λ₯Ό df_data_2 와 κ°™κ²Œ 맞좰 μ€λ‹ˆλ‹€.

3.4 파일 인증 정보 μΆ”κ°€

– 3.3 λ‹¨κ³„μ—μ„œ df λ³€μˆ˜λ₯Ό μ„€μ •ν•œ ν›„, ν•˜λ‹¨μ— 파일 인증 정보λ₯Ό μΆ”κ°€ν•˜κΈ° μœ„ν•œ 셀이 μžˆμŠ΅λ‹ˆλ‹€.
‘#insert credentials for file – Change to credentials_1’ 라고 μž…λ ₯된 셀을 μ„ νƒν•©λ‹ˆλ‹€.

– 우츑 Find and Add Data λ©”λ‰΄μ—μ„œ insert to code > Insert credentials λ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€.

* 이 셀은 민감 정보인 인증 정보λ₯Ό ν¬ν•¨ν•˜κΈ° λ•Œλ¬Έμ— hidden_cell둜 ν‘œμ‹œλ©λ‹ˆλ‹€.

3.5 Credential λ³€μˆ˜ λͺ… μˆ˜μ •

– 3.4 λ‹¨κ³„μ—μ„œ 파일 인증 정보λ₯Ό μΆ”κ°€ν•œ ν›„ μŠ€ν¬λ‘€μ„ λ‚΄λ¦½λ‹ˆλ‹€.
μ‚½μž…ν•œ μ½”λ“œλŠ” credentials_1 λ˜λŠ” credentials_2 λ³€μˆ˜μ— ν• λ‹Ήλœ 인증 정보 dictionary λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
credentials λ³€μˆ˜λŠ” μ½”λ“œμ— 따라 λ‹€λ₯Έ 이름을 κ°€μ§‘λ‹ˆλ‹€.

– ν•΄λ‹Ή μ‚¬μ§„μ—μ„œ λ³Ό 수 μžˆλ“―μ΄, μœ„ μ˜ˆμ‹œμ—μ„œλŠ” dictionary 인증 정보λ₯Ό credentials_2 에 μ €μž₯ν•©λ‹ˆλ‹€.
인증 정보가 μ €μž₯된 μ…€μ˜ μ•„λž˜ μ…€μ—μ„œ credentials λ³€μˆ˜λ₯Ό 인증 정보가 μ €μž₯된 credentials_2 λ³€μˆ˜λ‘œ μ„€μ •ν•©λ‹ˆλ‹€.

(만일 dictionary 인증 정보가 credentials_1 에 μ €μž₯λ˜μ–΄ 있으면, credentials λ³€μˆ˜λ₯Ό credentials_1 둜 μ„€μ •ν•©λ‹ˆλ‹€.)

 

4. 데이터 μ „μ²˜λ¦¬ 및 Enrichment

4.1 데이터 μ „μ²˜λ¦¬
– missing value λ₯Ό μ œκ±°ν•˜κ³  썸넀일을 μΆ”μΆœν•©λ‹ˆλ‹€.
λ…ΈνŠΈλΆμ— μ œμ‹œλœ κ°€μ΄λ“œ μ½”λ“œλ₯Ό ν™œμš©ν•©λ‹ˆλ‹€.

4.2 Enrichment

– 2.2 λ‹¨κ³„μ—μ„œ μΆ”κ°€ν–ˆλ˜ μ„œλΉ„μŠ€λ₯Ό 데이터에 μ μš©μ‹œν‚΅λ‹ˆλ‹€.
λ…ΈνŠΈλΆμ— μ œμ‹œλœ κ°€μ΄λ“œ μ½”λ“œλ₯Ό ν™œμš©ν•©λ‹ˆλ‹€.

5.κ²°κ³Ό 뢄석

– λ³€μˆ˜λ₯Ό μ„€μ •ν•˜κ³  Pixie Visualization 라이브러리λ₯Ό ν™œμš©ν•˜μ—¬ 페이슀뢁 ν¬μŠ€νŒ…μ— λ‚˜νƒ€λ‚œ 감정 λ˜λŠ” λΆ„μœ„κΈ°λ₯Ό 차트둜 λ‚˜νƒ€λ‚Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

– λ…ΈνŠΈλΆμ˜ 각 셀을 μ‹€ν–‰ν•˜λ©΄ display ν•¨μˆ˜κ°€ ν‚€μ›Œλ“œ, 감정 뢄석 차트λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

* ν‚€μ›Œλ“œ 뢄석 차트

– renderer, chart μ’…λ₯˜, μ •λ ¬ κΈ°μ€€ 등을 λ³€κ²½ν•˜μ—¬ λ‹€μ–‘ν•œ κ²°κ³Ό 값을 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

ν† λ‘  μ°Έκ°€

이메일은 κ³΅κ°œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•„μˆ˜ μž…λ ₯창은 * 둜 ν‘œμ‹œλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.