추천 시스템을 위한 유전 알고리즘 적용
영어 논문 너무 어렵다. 칼럼,국내논문 부터 천천히 읽자.
선요약
본 연구는 추천 시스템을 위해 코퍼스와 유전 알고리즘을 적용하는 방법에 관한 연구이다.
- 협업필터링을 통한 연관 단어 추출
- 추출된 연관 단어를 대상으로 새로운 연관 단어를 추가적으로 추출
- 새롭게 추출된 단어 및 문장을 대상으로 최종 추천 단어의 후보 집합을 구성되고 이 후보 집합에 유전 알고리즘을 적 용해 최적의 연관 단어를 추출
기존 방법에 비해 추천 연관 단어의 개수와 사용자 만족도가 증가하였다.
추천 시스템은 단기적인 웹 비즈니스에 국한되지 않는다.
예를 들어, 쇼핑몰 등의 추천 방식은 단기보다 중장기적인 측면에서 유리하다.
이러한 특성은 새로운 비즈니스 모델을 만들어 낼 수 있다.
본 연구는 협업 필터링, 코퍼스, 유전 알고리즘을 활용해 추천 단어를 생성하는 방안을 제시한다.
주제어 : 추천 시스템, 코퍼스, 유전 알고리즘, 웹 비즈니스, 품사 태깅, 개체명 인식
기억에 남은 내용
ㄴ 코퍼스가 뭐지?
언어 연구나 언어 처리를 위해 수집된 대규모 텍스트 데이터의 집합으로, 실제 언어 사용의 예시들을 모아놓은 것
코퍼스의 주요 특징
대규모: 보통 수백만 단어 이상의 텍스트를 포함
실제 사용: 실제 언어 사용 사례를 반영
구조화: 분석이 용이하도록 체계적으로 구성
다양성: 여러 장르, 주제, 시대의 텍스트를 포함
ㄴ 유전 알고리즘은 뭐지?
최적화 문제를 해결하는 방안 초기화 -> 후보 해 판단 -> 다른 후보 판단 -> 교차 연산 -> 새로운 해 생성 -> 돌연변이 연산 -> 후보 해 랜덤 변형 -> 문제 해결
학교 알고리즘수업때 문제 풀다가 이런거 있던 거 본 기억이 나는 것 같기도 하고
즉, 코퍼스로부터 생성된 연관 단어 집합에 유전 알고리즘을 적용하여 최적의 연관 단어를 생성한다
유전 알고리즘의 적합을 판단하는 기준은? -> 협업 필터링
초기의 추천 시스템은 개인의 데이터, 즉 실제 구매 상품 리스트를 기반으로 새로운 상품을 추천하는 방식으로 구현되었다.
이는 베스트셀러 기반 추천 방식이라고도 한다.
초기에는 높은 정확도를 보였으나, 진부한 추천 결과로 이어졌다.
콘텐츠 기반 추천 시스템은 과거의 실제 구매 내역을 바탕으로 새로운 상품들 간의 연관성을 분석하여 단어나 상품 등을 추천하는 방식이다.
하지만 이 방식은 과거의 실제 구매 내역에 의해서만 결정될 확률이 높아져 다소 편향된 결과를 가져올 수 있다.
협업 필터링 방식은 다양한 추천 방식 중에서도 비교적 효과적인 성능을 갖는 대표적인 방식이다.
이 방식은 어떤 고객이 특정 상품에 대해 선호도가 높을 경우, 그 상품을 구매한 다른 고객 중 성향이 비슷한 고객들도 상품의 선호도가 유사할 것이라는 점에 착안한다.
상품 평가 데이터를 기반으로 하기 때문에 상품 분류 코드를 기반으로 하는 콘텐츠 기반 추천 방식과 차이가 있다.
당연히 평가가 없는 새로 만든 쇼핑몰 같은 경우 데이터 부족 문제가 발생할 수 있다.
협업 필터링은 크게 기억 기반과 모델 기반으로 나뉜다.
기억 기반은 다시 사용자 기반과 아이템 기반으로 구분된다.
사용자 기반 협업 필터링은 성향이 비슷한 고객들을 찾아내고 고객이 구매하지 않은 상품을 추천하는 방식이다.
아이템 기반 협업 필터링은 상품들에 대해 유사한 선호도를 갖는 고객 리스트를 조사하고 선호도가 가장 유사한 고객 리스트에 대한 상품을 고객에게 추천하는 방식이다.
모델 기반 협업 필터링 은 상기 방법에 다양한 머신러닝 기법을 적용하여 수행한다.
예를 들어, transformers의 GPT2LMHeadModel 등을 사용할 수 있다.
품사 태깅이란 단어에 대해 명사, 동사, 부사 등의 유형을 판단하는 것이다. 파이썬의 Spacy 라이브러리를 사용하여 수행할 수 있다.
명사에 해당되는 단어들은 1차 필터링 된 단어(상품)로 사용된다.
코퍼스, 품사 태깅, NER(개체명 인식)을 적용하여 새로운 단어들을 추출한다.
추출한 후보 단어들에 대해 사용자 기반 협업 필터링과 아이템 기반 협업 필터링의 연관성 분석을 통해 유전 알고리즘의 적합도 판단 기준으로 사용한다.
공통 상품이 많고 추천된 상품이 다수 중복될수록 높은 적합도 평가를 받을 수 있도록 유전 알고리즘의 적합도 함수를 정의한다.
기존의 협업 필터링은 고객 1에게 고객 2의 구매 상품을 추천하는 방식이다.
반면, 본 연구에서는 고객 1과 함께 고객 1의 단어에 대한 코퍼스를 기반으로 추출된 문장과 품사 태깅 및 NER이 적용된 단어들을 추출하고, 이 단어들을 대상으로 유전 알고리즘이 적용된 단어를 추가로 선택하여 추천한다.
이는 협업 필터링의 결과와 더불어 코퍼스로 구축된 대규모의 문장 내의 연관된 단어들을 추가로 선택할 수 있다는 점에서 기존 연구와의 차별성을 보여준다.
흠, 수식도로만 그려져있어서 이해하기가 어렵네.
그래서 좀 과도하게 요약한 감이 있다. 수식이나 코드는 없나?