2.2.1. Text Mining

Text mining은 데이터에서 텍스트 관련 정보를 추출하여 유용한 텍스트 정보를 발견하는 기술입니다.

이러한 텍스트 마이닝은 Content-Based Filtering 추천 모델에서 아이템 정보의 의미 분석을 수행하여 유사한 아이템을 추천하는 데 사용됩니다 [19]. 또한 Collaborative Filtering 추천 모델은 사용자 간 정보 데이터의 의미적 지식을 평가하여 유사성에 따라 항목을 추천할 수 있습니다 [62].

→ 너무 오래된 논문들만 설명함.. 1975년 논문 등

Content-Based Filtering 추천 모델에서 주로 사용되는 텍스트 마이닝 기술은 문서 내 특정 텍스트의 반복 횟수에 따라 가중치를 부여하는 Term Frequency-Inverse Document Frequency (TF-IDF)입니다. 이 기술은 문서의 텍스트 요소를 벡터로 표현한 다음, 가중치 함수 TF-IDF를 사용하여 특정 문서 내 단어의 상대 빈도를 계산하여 용어의 중요성을 식별합니다 [66]. 텍스트 마이닝 기술은 건강 관리, 교육, 관광 및 학술 서비스 등에서 주로 사용됩니다.

2.2.2. KNN (K-Nearest Neighbor)

K-Nearest Neighbor (KNN)는 테스트 튜플과 트레인 튜플의 K-최근접 이웃을 분류하여 데이터 집합을 분류하는 알고리즘이다. KNN은 거리 기반 가중치를 사용하여 각 데이터 아이템간의 유사성을 비교함으로써 가장 가까운 거리를 기반으로 데이터 집합을 분류한다 [67]. 유사성을 비교하는 측정 항목으로는 유클리드 거리, 코사인 유사성 및 피어슨 상관계수가 주로 사용된다. KNN 알고리즘이 추천 시스템에서 사용되면 사용자의 검색 패턴을 분류하고 사용자의 미래적인 취향을 예측할 수 있다. 사용자의 웹 서버 로그 및 클릭스트림 데이터와 같은 사용자 행동 데이터의 패턴을 분석한 후, 사용자 취향과 유사한 아이템을 분류하고 결과를 사용하여 적합한 아이템을 추천할 수 있다.

그러나 Jannach 등 [68]은 KNN 알고리즘을 사용하여 연구한 추천 모델의 성능이 나쁘다는 연구 결과를 발표했다. KNN은 모델의 성능을 지배하는 K 값을 적절하게 선택해야 하기 때문에 반복적인 실험이 필요하고 K에 의해 편향될 수 있는 비효율성이 있다 [68].

2.2.3. Clustering

군집화는 데이터를 설명하는 유한한 카테고리 또는 군집을 식별하는 알고리즘으로, 중복성과 모호성이 적어 추천 시스템에서 널리 사용됩니다 [69]. 추천 시스템에서는 다양한 종류의 군집화 기술이 사용되지만, 주로 K-means 군집화 기술이 사용됩니다. K-means 군집화는 K개 클러스터 수를 설정한 후 평균을 중심으로 클러스터링하는 알고리즘입니다. 추천 시스템에서 모든 데이터의 유사성을 계산한 후 가장 가까운 클러스터에 할당하고 클러스터 중심을 계산하는 순서로 반복적으로 계산합니다 [70]. 그러나 클러스터 수가 적을 경우 K-means 군집화는 서비스하는 사용자 및 항목 수가 증가함에 따라 계산 속도가 감소하는 확장성 문제에 취약합니다 [71].

반면, Gong [72]은 항목에 대한 사용자 평가를 기반으로 유사한 사용자 군집화 기술을 사용하여 사용자 군집화 및 항목 군집화를 수행하고 개인 맞춤형 추천 항목을 제안하는 연구를 수행했습니다. 이 연구에서는 추천 대상 사용자와 유사한 군집 그룹을 찾는 방법을 연구함으로써 기존의 협업 필터링 방법의 단점인 확장성과 희소성 문제를 해결했습니다.

군집화는 주로 협업 필터링 추천 모델에서 사용되며, 관광, 교육 및 전자 상거래 분야에서 추천 시스템에서 일반적으로 연구되었습니다.

2.2.4. Matrix Factorization

매트릭스 분해 추천 시스템은 Netflix Prize를 통해 널리 알려졌으며, 특히 협업 필터링에서의 희소성 문제를 해결한다 [73]. 매트릭스 분해는 아이템과 사용자 데이터를 특징화하는 방법으로, 아이템에 대한 사용자 평가 데이터에서 요소를 추론하여 벡터로 저장한다 [74]. 이 기술의 주요 목적은 등급 매트릭스에 사용자 평가 데이터를 저장하여 사용자 정보와 사용자의 선호도를 나타내는 잠재 요인의 차원을 찾는 것이다 [75]. 특히, 이 기술은 마우스 이동 및 검색 패턴과 같은 데이터 뿐만 아니라, 사용자가 특정 아이템에 대해 직접 평가하는 명시적 데이터를 사용하여 사용자의 취향을 분석할 수 있어 확장성과 유연성이 뛰어나다 [74].

특이값 분해(Singular value decomposition, SVD)는 여러 아이템 데이터를 분석하여 사용자와 선택된 아이템을 동일한 잠재 요인 공간으로 변환하여 고객에게 예측 데이터를 제공하는 방법이다 [76]. 이 알고리즘은 계산 과부하를 줄여 추천 시스템의 효율성을 증가시키는 장점을 제공한다. 기존 추천 시스템에서는 SNS 분야에서 태그 및 좋아요 데이터를 사용하여 사용자 선호도를 파악하는 것이 어려웠는데, 이는 공통 아이템의 숫자적 평가를 기반으로 여러 사용자가 추천을 할 수 있기 때문이다 [77]. 그러나 매트릭스 분해는 SNS 분야에서 다양한 방법으로 수집된 정보를 사용하여 추천을 제공할 수 있기 때문에 널리 사용되고 있다 [4,78–80].

2.2.5. Neural Network

최근 몇 년 동안, 신경망의 사용은 음성 인식, 이미지 인식, 사진 검색, 언어 번역 등 다양한 분야에서 확대되어 왔습니다. 반면 추천 시스템 분야에서 신경망의 도입과 사용은 다른 분야에 비해 상대적으로 작지만, 추천 시스템 관련 연구의 주요 분야 중 하나로 많은 연구가 이루어지고 있습니다. 사용자 선호도를 과거 데이터로 이해하기 어려운 상황에서 추가 데이터를 얻기 위해 연구에서 널리 사용되었습니다 [81,82]. 또한 He 등 [83]은 깊은 신경망(DNN)을 사용하여 잡음이 많은 암묵적 피드백 데이터를 모델링하여 추천 시스템의 성능을 개선하였으며, 딥러닝은 추천 시스템의 성능을 개선할 수 있는 잠재력을 제공합니다. 즉, 추천 시스템 개발에서는 신경망을 활용하여 협업 필터링의 희소성 및 콜드 스타트 문제를 해결하거나 추천 시스템 자체의 성능을 개선하기 위한 모델링 연구에 사용됩니다.

2.2.6. Research Trends of Recommendation System Techniques