본문으로 건너뛰기

"ai" 태그로 연결된 3개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 6분
박진영

이 포스트에서는 대화형 추천 시스템 (conversational recommender system)에서 핵심적인 요소인 dialogue management에 대해 다룹니다.

추천 시스템과 유저는 서로 상호작용을 주고받는 interactive한 프로세스입니다. 특히, 대화형 추천 시스템에서는 서로 대화를 주고받습니다. 추천 시스템이 유저에게 추천 아이템을 제공할지, 추가 정보를 요구할지, 그 외 잡담을 나눌 지 등 추천 시스템이 유저와 상호작용하는 수단인 대화를 제어하는 것을 dialogue management (DM)라고 부릅니다.

설령, 대화형 추천 시스템일지라도 유저는 마치 검색하듯이 단순히 간단한 질문만으로도 즉각적인 추천 아이템을 얻고 싶을 수 있고, multi-turn 대화를 통해 구체적인 특징을 만족하는 아이템을 얻고 싶을 수 있습니다. 그러나 아이템을 추천받기 위해 대화가 너무 길어지면 유저는 피로감을 느끼겠죠. 또한, 추천된 아이템에 대해 의논하거나 단순 잡담을 시도할 수도 있습니다. 이처럼 대화라는 것은 대단히 복잡한 과정입니다. 따라서 이를 별도로 처리할 필요가 있습니다.

· 약 9분
박진영

이 포스트에서는 대화형 추천 시스템 (conversational recommender system)을 구축하기 위한 전반적인 과정과, 유저의 utterance와 같은 텍스트 데이터를 어떻게 처리할 것인가에 대해 간략히 다룹니다.

유저의 utterance로부터 대화형 추천 시스템 구축은 자연어 처리 (natural language process), 추천 알고리즘, 유저 context에 대한 조합을 요구하는 복잡한 태스크입니다. 이를 step-by-step으로 알아봅시다:

· 약 10분
박진영

추천 시스템에 대해 더 자세히 이해하고 싶다면 아래 튜토리얼 코드를 참고하기 바랍니다.

Tutorial Code: DevSlem/recommender-system-rl-tutorial (Github)

추천 시스템 (recommender system)은 유저의 선호도 (preference)에 맞는 아이템을 제공하는 시스템입니다. 이는 유저-아이템 상호작용 히스토리를 고려해 이루어지는데, 추천 시스템이 유저에게 아이템을 제공하면 유저는 이에 대해 피드백 (스킵, 클릭, 구매 등)을 제공합니다. 유튜브, 넷플릭스 등 수 많은 어플리케이션에서 이러한 추천 시스템을 도입하고 있습니다.

추천 시스템은 머신 러닝 (machine learning)을 통해 구축할 수 있습니다. 지도학습 (supervised learning)과 같은 기존 방법들은 대체적으로 유저와 추천 모델 사이의 상호작용을 무시해 불만족스러운 결과를 내놓습니다. 일반적으로, 추천 시스템은 인터렉티브한 프로세스로 연속적인 의사 결정 문제 (sequential decision making problem)입니다. 따라서 강화학습 (reinforcement learning)을 사용하여 최적화할 수 있습니다. 아래 그림은 지도학습과 강화학습 기반 방법 사이의 성능 비교 테이블입니다.

이 포스트에서는 강화학습으로 추천 시스템을 구축하는 것에 대한 간단한 소개를 하려고 합니다.