1. 추천 시스템을 만들려면 어떤 데이터가 필요할까. 첫 번째로는, 당연히 사용자의 행태 데이터다. 사용자가 무엇을 사용하고 싶어할 지는 기본적으로 그 사용자가 기존에 무엇을 사용했는 지를 기반으로
1. 추천 시스템을 만들려면 어떤 데이터가 필요할까. 첫 번째로는, 당연히 사용자의 행태 데이터다. 사용자가 무엇을 사용하고 싶어할 지는 기본적으로 그 사용자가 기존에 무엇을 사용했는 지를 기반으로 한다. 2. 그 다음으로는, 흔히 말하는 ‘사용자가 사용할 것 “같은” 것’을 보여주어야 하므로 각각의 아이템의 유사도를 측정할 수 있어야 한다. 이 때 필요한 것이 아이템 관련 데이터다. 흔히 ‘메타 데이터’라고도 불리는 어떤 속성에 대한 값들을 말하며, 카테고리 및 태그 등으로 나타낼 수 있다. 3. 이에 대해서는 일부 자동으로 만들어내는 많은 방법들이 연구되고 있긴 하나, 기본적으로는 어느 정도 사람의 손을 탈 수 밖에 없다. 추천 시스템으로 유명한 서비스인 넷플릭스에서도 아이템에 수동으로 많은 정보를 넣는 것이 추천 성능을 높이는 데 주역이라고 이야기한 바가 있다. 4. 다만, 여기서 잠시 짚고 가야 할 것이 있다. 이런 데이터를 가지고 과연 사용자가 좋아하는 것을 알 수 있을까? 불가능하다. 사용자가 사용한 것과 좋아하는 것은 100% 일치하지 않으니까. 5. 그런 의미에서 추천 시스템은 사용자가 좋아할만한 것을 찾아서 보여주는 것보다는, 사용자가 해당 서비스에서 무엇을 사용할 지를 찾는데 필요한 리소스를 줄여주는 시스템이라고 보는 편이 보다 정확하다. 6. (따라서) 우리는 데이터를 통해 사용자가 좋아하는 것을 정확히 알 수는 없다. 그러니 자연스럽게 좋아하는 것을 추천해 줄 수 없다. 그저 사용자가 쓸 것 같은 것을 추천하고, 사용자가 그 기능을 잘 활용하는 지만 알 뿐이다. 7. 그렇다면 이 지점에서 우리가 고려해야 할 것은, 과연 ‘사용자에게 개인화 자동 추천을 제공하는 것이 정말로 유용한가'인다. 8. 게다가 기본적으로 ‘개인화 자동 추천’이라는 것의 정확성과 관련된 이슈도 있다. ‘개인화 자동 추천’도 결국은 수많은 데이터 관련 기능 및 분석 결과와 마찬가지로 ‘데이터’와 ‘과거’에 의해서 나오는 산물이다. (고로) 충분한 데이터가 모이지 않았다면 사용자에게 적절한 아이템을 제시해 주기 어렵다. 9. 그리고 기본적으로 기계 학습 모델은 '확률 게임'이다. 물론 요즘은 알고리즘 성능도 좋고, 충분한 데이터로 충분한 테스트를 한다고 하면 꽤 높은 확률로 적합한 결과값을 제안할 수 있을 것이다. 하지만 이 중 하나라도 어긋난다고 하면, 그 결과가 적당하지 않을 확률이 더 높아지고, 사용 경로에 쓸모없는 지면이 들어가는 것은 사용성에 당연히 안 좋은 영향을 미칠 수 밖에 없다. 10. 그리고 불필요하고 부정확한 추천 시스템은, 오히려 사용자의 서비스에 대한 여정을 복잡하게만 만들고, 오히려 탐색해야 할 것의 종류를 늘려 불편함을 가중시킬 수 있다. 이는 사용자를 서비스에서 더 멀어지게 할 수도 있다.