본문 바로가기
분류없음

Hart 디자인 이야기 - 수치 시각화 (작성중)

by xenophilius 2019.01.14

Hart를 만들 때 긍정과 부정의 수치를 어떻게 시각화하면 좋을까 고민하다가 처음 별표 표현 방식을 버리고 슬라이더로 바꾸게 되었습니다. 이것을 주제로 글을 쓴다는 것 자체가 조금 부끄러운 일 같습니다. 그러나 프로그래머로서 시각 디자인에 관해 나름대로 깨달은 하나의 발견을 한 번 살펴보도록 합시다. 




Ratings




처음의 디자인은 별표를 사용해 표현하도록 했습니다. 우리가 매우 흔하게 접해온 UI 입니다. 특히 영화 평점이나 음식점 리뷰에서 많이 찾아 볼 수 있는 디자인입니다. 이 방식으로 감성의 '긍정'과 '부정'을 표현하도록 하면 부정적인 감정은 표가 적게, 긍정적인 감정에 대해선 별표가 많이 나오게 됩니다. 지극히 당연한 방식의 UI입니다.


실제로 Hart는 각종 네이버와 왓챠의 영화 평점 데이터를 기반으로 학습 되었기 때문에 어떤 문장을 입력 했을 때 별표로 감성을 표현한다는 것은 어렵지 않은 UI입니다. 한 동안은 이 UI를 고정 해 왔습니다.


그러나 네이버 영화 평점 데이터를 살펴보던 중 아래와 같은 평점을 보게 되었습니다..


"별 윤곽선 주기도 아까운 영화."


"이거 별 한 개 밖에 못주냐? 마이너스로 주고 싶다."


아주 극심한 혹평이군요 네이버 영화 평점은 최소값이 별 0개이기 때문에 이런 리뷰를 심심치 않게 볼 수 있습니다. 



아래는 실제로 제가 왓챠에서 수집한 평점 데이터 입니다.


 점수

평가 

__label__5 

 스토리가 뚝뚝 상징만 잔뜩.소재에 가려져서 메세지가 잘 안보임.

 __label__9

  불감의 무표정에서 상상적 성관계의 쾌락으로 이행해가는 불가능한 구원.

 __label__1 

 모호하고 알수없는 의미없는 영화


 그렇습니다. 왓챠나 네이버 영화 평점 데이터를 수집 해 보면 값의 범위가 1 ~ 10인 정수입니다. 따라서 아무리 부정적이고 극도로 비판적인 내용이라도 점수는 1입니다. 이것이 모델에 학습되고 나면 사용자가 아무리 혹평을 쏟아낸 글을 입력해도 1점은 나온다는 이야기지요.


그러나 Hart의 본질은 '긍정'과 '부정'을 보여주는 것입니다. 이 글이 어느 정도의 '평점'이냐를 말하는 것이 아닙니다.





양의 실수값으로 증가하는 값, 그에 따른 UI



결국 제 정말 부정적이고 극심한 비평에도 불구하고 Rating UI로는 최소한 별 반 개 또는 한 개 정도는 표시 될 수 밖에 없었습니다. Rating은 '얼마나 긍정적'이냐를 표시하기 위한 UI이지 '얼마나 부정적'이냐를 말하는 UI가 아니었던 것입니다.

Slider



이제 이 슬라이더 방식을 적용하기 위해서는 값을 Scaling 해 줄 필요가 있습니다. 평점 데이터는 1 ~ 10 사이의 정수 값을 가지고 있으므로 대충 아래와 같은 공식으로 수치를 바꿔 줍니다.

( 원래 수치 - 5 ) x 0.2


이렇게 하면 평점 데이터는 -1 ~ +1 사이의 값을 가지게 될 것 입니다.

Rating vs Slider 심리적 차이



과연 이것이 효과가 있는지 확인 해 보아야 겠습니다. 테스틑 위해 두 개의 fasttext 모델을 준비 하고 각 UI는 Rating과 Slider를 구성한 뒤에 주변 사람들에게 어떤 모델이 더 나은것 같냐?라고 물어 봤습니다. 총 4명에게 설문 해 보았고 결과적으론 대부분 Slider가 좀 더 성능이 나은 것 같다고 했습니다. 








댓글0