[Review] Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions

Feb 09, 2024
[Review] Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions
keywords: Recommender systems, collaborative filtering, rating estimation methods, extensions to recommender systems

Abstract

This paper presents an overview of the field of recommender systems and describes the current generation of recommendation methods that are usually classified into the following three main categories: content-based, collaborative, and hybrid recommendation approaches. This paper also describes various limitations of current recommendation methods and discusses possible extensions that can improve recommendation capabilities and make recommender systems applicable to an even broader range of applications. These extensions include, among others, an improvement of understanding of users and items, incorporation of the contextual information into the recommendation process, support for multicriteria ratings, and a provision of more flexible and less intrusive types of recommendations.
 
→ 이 논문은 추천 시스템 분야의 overview를 제시하고, 크게 추천 approach로 분류되는 현재 세대의 추천 방법 content-based, collaborative, and hybrid 설명한다.
이 논문은 또한 다양한 현재 추천 방법의 한계를 설명하고 추천 능력의 향상이 가능한지 그리고 심지어 추천 시스템의 더 넓은 응용 분야의 범위에 적용이 가능한지에 대한 확장 가능성에 대해 논의한다
이러한 확장은 그 중에서도(특히), user와 item의 이해에 대한 개선, 추천과정 안에서의 contextual(상호관련) 정보의 결합, 다기준(?) rating 지원, 더 유연하고 덜 거슬리는(방해하는) 유형의 추천 규정(제공?)이 포함된다.
 
💡
본 논문에서는 추천 시스템의 세가지의 main categories를 소개한다. (1) content based (2) collaborative (3) hybrid  추가적으로 각각에 대한 현재 한계(limitations), 확장 가능성 즉, 방안을 제시한다 한계 → 확장 가능성 → 방안 제안 (1) 유저와 item에 대한 이해를 높이는 것 (2) 추천 과정에서 contextual 정보의 통합 (3) multicriteria 평가를 지원하는 것 (4) 더 유연하고 덜 거슬리는(방해하는) 추천 규정
 
Index Terms
(1) Recommender systems
(2) collaborative filtering
→ 더 중요하다는 것을 어필
(3) rating estimation methods
(4) extensions to recommender systems

1. Introduction ~ 2. The Survey of Recommender Systems

Introduction

Recommender systems have become an important research area since the appearance of the first papers on collaborative filtering in the mid-1990s [45], [86], [97].
There has been much work done both in the industry and academia on developing new approaches to recommender systems over the last decade.
The interest in this area still remains high because it constitutes a problem-rich research area and because of the abundance of practical applications that help users to deal with information overload and provide personalized recommendations, content, and services to them.
Examples of such applications include recommending books, CDs, and other products at Amazon.com [61], movies by MovieLens [67], and news at VERSIFI Technologies (formerly AdaptiveInfo.com) [14].
Moreover, some of the vendors have incorporated recommendation capabilities into their commerce servers [78].
 
→ 추천시스템은 1990년대 중반에 첫 collaborative filtering 논문이 발표된 후로 매우 중요해진 연구 분야이다.
지난 10년동안(2005년 논문) industry(산업)와 academia(학계)에서 추천시스템을 위한 새로운 접근법들이 많이 연구되어왔다.
이 분야는 여전히 높은 관심이 남아있다. 왜냐하면 추천 시스템 분야는 문제가 풍부한 연구 범위(영역)을 갖고 있고 (유저가 information overload를 다루는데 도움을 주고, 개인화된 추천, 콘텐츠, 서비스 등을 제공할 수 있는)실용적인 application풍부하기 때문이다.
이와 같은 application의 예는, 아마존에서 책, CD, 등의 다른 상품들을 추천해주는것과 MovieLens에 의한 영화 추천, 그리고 VERSIFI Tech에서 뉴스 추천을 하는 것이 있다.
추가적으로 vendors(벤더사)의 일부는 추천 능력을 그들의 commerce server에 통합했다.
—> 우리 논문 대단하다. 추가적으로 잘 모르는 사람들에게 중요함을 강조하는 것, 중요한 것이니 더 봐달라
💡
추천 시스템은 1990년대 중반 Collaborative Filtering 논문 등장 이후 중요한 연구 분야가 되었다. 지난 10년동안(2005년 논문) industry(산업)와 academia(학계)에서 추천시스템 접근법 개발에 많은 노력을 기울였다. 이 분야는 여전히 높은 관심을 받고 있다. → 개인화된 추천과 서비스를 제공하는 다양한 실용적 응용이 많기 때문이다. ex) 아마존에서의 제품 추천, MovieLens에서의 영화 추천, VERSIFI Technologies에서의 뉴스 추천 등이 그 예시이며, 몇몇 업체들은 추천 기능을 자신들의 커머스 서버에 통합하기도 했다. 문제가 풍부한 연구 범위 → (WHY?? 무슨 문제가 풍부하다는 걸까?)
  1. 각 문단에서 말하고자 하는 내용이 무엇인가? (각 문장의 의미는 무엇인가?)
  1. 기존 연구는 어떤 것들이 있고, 본 논문이 주장하는 내용과는 어떤 차이가 있는가?
  1. 본 논문의 공헌은 무엇인가?
<정리> 1. 추천시스템은 1990년대 중반 논문 등장 후 중요한 연구 분야가 되었다. → Why? 꽤 좋은 성능 때문??? 2. (논문 2005년 작성 기준) 등 장 후 10년동안 industry와 academia에서 추천시스템 개발에 많은 노력을 기울였다.
→ 즉, 지속적으로 연구되어 왔다. 3. 그럼에도 불구하고 추천시스템은 여전히 관심이 높다. 그 이유로는 1) problem-rich research area (여기저기 적용 가능한.기 떄문?) 2) 유저가 information overload를 다루는데 도움을 주고 개인화된 추천, 콘텐츠, 서비스, 상품 등을 제공할 수 있는 실용적인 application이 풍부하기 때문 4. 이에 대한 application에 예를 제공 해줌 → 아마존, MovieLens 등
 
However, despite all of these advances, the current generation of recommender systems still requires further improvements to make recommendation methods more effective and applicable to an even broader range of real-life applications, including recommending vacations, certain types of financial services to investors, and products to purchase in a store made by a “smart” shopping cart [106]. These improvements include better methods for representing user behavior and the information about the items to be recommended, more advanced recommendation modeling methods, incorporation of various contextual information into the recommendation process, utilization of multcriteria ratings, development of less intrusive and more flexible recommendation methods that also rely on the measures that more effectively determine performance of recommender systems.
 
→ 하지만 이러한 발전에도 불구하고, 추천 시스템의 현재 세대는 여전히 더 효과적이고 real-life(실세계)의 어플리케이션을 넘어서 적용가능한 더 많은 개선을 요구한다.
휴가, 투자자들에게 특정 유형의 금융 서비스, “스마트” 쇼핑 카트에 의한 스토어에서 구매할 제품에 대한 추천 등이 포함된다.
이러한 개선에는
(1) 유저의 행동추천되기 위한 아이템에 대한 정보를 더 잘 표현하기 위한 method, (2) 더 발전된 추천 모델링 method, (3) 추천 과정에서 다양한 contextual 정보의 통합, (4) multicriteria(다기준) 평가의 활용, (5) 덜 방해하고, 더 유연한 추천시스템의 성능을 더 효과적으로 결정하는 지표에 의존하는 추천 method의 개발 이 포함된다.
 
💡
현재의 추천 시스템은 많은 발전을 이룩했지만, 추천 방법들을 더 효과적으로 만들고 더 넓은 범위의 실생활 응용 분야에 적용할 수 있도록 추가 개선이 필요하다. 이러한 분야에는 휴가 추천, 투자자에게의 금융 서비스 추천, "스마트" 쇼핑 카트를 통한 상점 제품 추천 등이 포함된다. <정리> 1. 추천시스템의 이러한 발전에도 불구하고, 더 효과적이고 real-life의 application을 넘어서 다른 곳에도 적용이 가능한 더 많은 개선을 요구한다 → 즉, 문제 제기(논문을 쓰는 이유) 2. 예를 설명(휴가, 금융 서비스 추천, 구매 상품 추천 등) 3. 어떠한 개선을 말하는지에 대한 설명 즉, 개선 방법들 제안(??) (1) 유저의 행동추천되기 위한 아이템에 대한 정보를 더 잘 표현하기 위한 method, (2) 더 발전된 추천 모델링 method, (3) 추천 과정에서 다양한 contextual 정보의 통합, (4) multicriteria(다기준) 평가의 활용, (5) 덜 방해하고, 더 유연한 추천시스템의 성능을 더 효과적으로 결정하는 지표에 의존하는 추천 method의 개발
 
In this paper, we describe various ways to extend the capabilities of recommender systems. However, before doing this, we first present a comprehensive survey of the state-of-the-art in recommender systems in Section 2. Then, we identify various limitations of the current generation of recommendation methods and discuss some initial approaches to extending their capabilities in Section 3.
 
→ 이 논문에서, 우리는 추천시스템의 능력(기능)을 확장하기 위한 다양한 방법을 설명한다.
하지만 이에대한 설명을 하기 전, 먼저 섹션 2에서 추천에서의 종합적인 SOTA survey를 진행한다.
그리고 섹션 3에서는 우리는 현재 세대의 추천 방법의 다양한 한계를 식별하고,
능력(기능)을 확장하는 몇몇의 초기 접근법에 대해 논의를 진행한다.
 
💡
이 논문에서는 추천 시스템의 능력을 확장하는 다양한 방법을 제시 및 설명 초반 부분 추천 시스템의 최신 동향(2005년 기준)에 대한 조사를 제공 후반 부분 현재 추천 방법의 여러 가지 한계점을 확인하고 이를 확장하는 초기적인 접근법에 대해 논의 <정리> 이 논문이 어떤 논문인지 설명 + 논문 순서(목차?) 설명 → 추천 시스템의 기능을 확장할 수 있는 다양한 방법을 제시 및 설명 → 초반: 서베이(추천시스템 최신 동향 조사) → 후반: 최신 추천 방법의 한계점 확인 → 확장할 수 있는 초기 접근법 제시?
 
predict: 미지의 상품을 예측 할 때 —> estmiate로 치환 가능
 
estimate: 학습이 다된 추천이 다된 모델을 평가할 때는 상관없다.

The Survey of Recommender Systems

Although the roots of recommender systems can be traced back to the extensive work in cognitive science [87], approximation theory [81], information retrieval [89], forecasting theories [6], and also have links to management science [71] and to consumer choice modeling in marketing [60],
recommender systems emerged as an independent research area in the mid-1990s when researchers started focusing on recommendation problems that explicitly rely on the ratings structure.
In its most common formulation, the recommendation problem is reduced to the problem of estimating ratings for the items that have not been seen by a user.
Intuitively, this estimation is usually based on the ratings given by this user to other items and on some other information that will be formally described below.
Once we can estimate ratings for the yet unrated items, we can recommend to the user the item(s) with the highest estimated rating(s).
 
→ 추천 시스템의 뿌리는 cognitive science [87], approximation theory [81], information retrieval [89], forecasting theories [6]에서 시작되었으며 management science [71] 과 마케팅의 consumer choice modeling [60]과도 연관이 있음에도 불구하고,
→ 이 전까지는 곁다리였다.
추천 시스템은 연구자들이 rating structure명시적(직접적)으로 의존하는 추천 문제에 초점을 맞추기 시작한 1990년대 중반에 독립적인 연구 분야로 등장하였다.
→ 중요
가장 일반적인 구성(formulation)으로, 추천 문제는 유저가 아직 보지 않은 아이템에 대한 평점 추정(rating estimation) 문제로 축소된다.
직관적으로, 이 추정은 일반적으로 이 유저가 다른 아이템에 준 평점과 아래에서 formally하게 설명될 다른 정보(아직 안나옴, 아래서 나올 듯)를 기반으로 한다.
만약 unrated item에 대한 평점을 추정할 수 있다면, 우리는 가장 높은 rating을 받을 것으로 추정되는 아이템을 사용자에게 추천할 수 있다.
💡
추천 시스템의 시작은 (1) 인지 과학(cognitive science) (2) 근사 이론(approximation theory) (3) 정보 검색(information retrieval) (4) 예측 이론(forecasting theories) 등과 연결되어 있으며 (5) 관리 과학(managment science) (6) 마케팅의 소비자 선택 모델링(consumer choice modeling) 과도 관련이 있다. 하지만, 추천시스템은 1990년대 중반(??)에서 부터 rating structure을 직접적으로 활용하는 추천 문제를 중점적으로 다루기 시작하면서 추천 시스템은 독립적인 연구 분야로 등장 하였다. 일반적인 추천 문제: → 유저가 아직 접하지 않은 아이템에 대한 평점을 추정하는 문제 이 평점 추정은 주로 유저다른 아이템에 부여한 평점과 다른 일부 정보(공통 feature들)를 기반으로 이루어진다. 아직 평가되지 않은 unrated 아이템에 대한 평점을 추정(estimate)할 수 있다면, 유저에게 가장 높은 평가를 받을 것으로 예상되는 아이템을 추천할 수 있다. <정리> 1. 추천시스템의 발전 배경 정리 - 연결되어 있는 연구들 제시 - 독립적인 연구로 발전된 이유와 시기 설명 2. 추천시스템을 처음 접한 독자들을 위해 일반적인 추천문제에 대해 정리 → 논문은 이 분야에 박식하지 않은 사람도 이해할 수 있도록 써야함
 
More formally, the recommendation problem can be formulated as follows:
Let  be the set of all users and let  be the set of all possible items that can be recommended, such as books, movies, or restaurants.
The space  of possible items can be very large, ranging in hundreds of thousands or even millions of items in some applications, such as recommending books or CDs.
Similarly, the user space can also be very large—millions in some cases.
Let  be a utility function that measures the usefulness of item  to user , i.e., , where  is a totally ordered set (e.g., nonnegative integers or real numbers within a certain range). Then, for each user , we want to choose such item  that maximizes the user's utility. More formally:
.(1)
 
→ 더 공식적으로, 추천 문제는 아래와 같이 공식화할 수 있다.
를 유저 집합이라고 하고 를 책, 영화, 음식점과 같은 추천 가능한 모든 아이템의 집합이라고 하자
의 가능한 아이템 공간은 매우 크며, 책 또는 CD 추천하는 것과 같은 application의 수십만개, 심지어 100만 아이템 범위일 수 있다.
비슷하게, 유저 공간 또한 매우 크다, 몇 몇의 케이스에는 100만명에 이를 수 있다.
는 아이템 가 유저 에게 유용함을 측정하는 utility function이다. → 즉, 아이템 가 유저 에게 얼마나 유용한지를 측정하는 function
이다.
은 완전히 정렬된 집합이다 (예: 음이 아닌 정수 또는 특정 범위 내의 실수 → rating 값이므로). → 무슨뜻이지? 완전히 정렬된 집합? totally ordered set?
이후 각 유저 에 대해, 유저의 utility를 최대화하는 아이템 를 선택하고 싶다. 더 공식적으로는:
. (1)
💡
: 유저 집합 : 추천될 수 있는 모든 아이템 집합(ex, book, movie, restaurants) Q: 여기서 말하는 모든 아이템의 집합은 유저가 rating 한 값은 제외한 걸까? A: 아닌듯, rating 한 값도 포함된 것 같음 → 이건 당연한 거임, 아직 utility function을 적용하지 않았으므로, rating이 적용되기 전이기 때문 → 즉 는 우리가 일반적으로 생각하고 있는 rating matrix 이다 집합 을 totaly ordered set으로 하는 이유? 1) 유저의 preference를 더 시각적으로 분명하게 알 수 있다? 2) rated item과 unrated item을 나누어 평가하는 계산을 할 때 더 편하다? + 비용적인 측면에서? 3) 순서화된 데이터를 활용하면 → 추천 정확도가 향상 하나? → 특이값 분해 같은 경우 그럴수도 있을 듯? 이후 각 유저 에 대해, 유저의 를 최대화하는 아이템 를 선택한다.
 
 
In recommender systems, the utility of an item is usually represented by a rating, which indicates how a particular user liked a particular item, e.g., John Doe gave the movie “Harry Potter” the rating of 7 (out of 1 0). However, as indicated earlier, in general, utility can be an arbitrary function, including a profit function. Depending on the application, utility  can either be specified by the user, as is often done for the user-defined ratings, or is computed by the application, as can be the case for a profit-based utility function.
 
→ 추천 시스템에서 아이템의 utility는 일반적으로 rating에 의해 표현되며, 특정 유저가 특정 아이템을 얼마나 좋아하는지를 나타낸다. 예를 들어, John Doe는 영화 ‘해리포터’ 에 10점 만점에 7점의 평점을 주었다.
그러나 앞서 언급했듯이, 일반적으로 utility는 이익 함수(profit function)를 포함하는 임의의 함수(arbitary function) 일 수 있다.
(1) application에 따라 utility 는 유저에 의해서 지정되는 경우도 있고,
→ by 유저의 평가
(2) 이익 기반의 utility함수의 경우처럼 application이 계산하는 경우도 있다.
→ by estimate??
💡
추천 시스템에서 항목의 유틸리티는 일반적으로 사용자가 특정 항목을 얼마나 좋아하는지를 나타내는 평점으로 표현됩니다. 하지만 유틸리티는 이익 함수를 포함한 임의의 함수일 수 있으며, 사용자가 지정하거나 응용 프로그램이 계산할 수 있습니다. utility(rating): 특정 유저가 특정 아이템을 얼마나 좋아하는지 utility 계산 법 두가지: 1) application에 따라 utility 는 유저에 의해서 지정되는 경우 → 유저가 rating 하는 것, 직접 평점 매기는 것 2) 이익 기반의 utility함수의 경우처럼 application이 계산하는 경우 → profit-based utility 함수의 의해 계산 되는 것 → 아마 추정(estimate) 하는 것일 듯 → ㄴㄴ아닌 듯. 그냥 utility 초기 입력 방법 중 하나 인듯
 
Each element of the user space  can be defined with a profile that includes various user characteristics, such as age, gender, income, marital status, etc.
In the simplest case, the profile can contain only a single (unique) element, such as User ID.
Similarly, each element of the item space  is defined with a set of characteristics. For example, in a movie recommendation application, where  is a collection of movies, each movie can be represented not only by its ID, but also by its title, genre, director, year of release, leading actors, etc.
 
→ 유저 공간 의 각 element는 나이, 성별, 수입, 결혼 상태 등의 다양한 유저의 characteristic(특징)를 포함하는 프로필로 정의될 수 있다.
가장 간단한 케이스는, 프로필은 유저 ID와 같은 싱글(유일한) element만 포함할 수 있다.
비슷하게, 아이템 공간 의 각 element는 characteristic(특징)들의 집합으로 정의된다.
예를 들어, 가 영화 추천 application에서 각 영화는 ID뿐만 아니라 제목, 장르, 감독, 출시 연도, 주연 배우 등으로도 표현될 수 있다.
💡
사용자 공간의 각 요소는 프로필로 정의되며, 이는 나이, 성별, 소득, 결혼 상태 등의 사용자 특성을 포함할 수 있다. 항목 공간의 각 요소도 특성 집합으로 정의되며, 이는 영화 추천 응용에서는 ID, 제목, 장르, 감독, 출시 연도, 주연 배우 등으로 표현될 수 있다. → 유저와 아이템을나타내는 방법을 간단히 설명 <정리> 유저 와 아이템 의 요소는 무엇이 들어가는지에 대한 설명 유저 : 각 요소를 유저의 profile로 정의 가능 → 즉, 유저의 charateristic(age, gender, income, etc)을 포함할 수 있다. → simple case: 유저 ID와 같은 uniqe(single) element만도 사용 가능 아이템 : 각 요소는 특징들의 집합으로 정의 됨 → 즉, 아이템의 charateristic(title, genre, director, leading actor, etc.) 특징들 즉, 정리하자면, 유저 와 아이템 둘 다 각각의 특징들이 포함된 집합이다. Q. item도 단일 특징 요소로 정리할 수 있을까? A. 가능은 하긴 할 듯, 예를 들어, 감독, 장르의 단일 요소로 넣어도 가능 But, 성능은 매우 안 좋을 듯?
 
The central problem of recommender systems lies in that utility  is usually not defined on the whole  space, but only on some subset of it.
This means  needs to be extrapolated to the whole space .
In recommender systems, utility is typically represented by ratings and is initially defined only on the items previously rated by the users.
For example, in a movie recommendation application (such as the one at MovieLens.org), users initially rate some subset of movies that they have already seen.
An example of a user-item rating matrix for a movie recommendation application is presented in Table 1, where ratings are specified on the scale of 1 to 5. The “⊘” symbol for some of the ratings in Table 1 means that the users have not rated the corresponding movies.
Therefore, the recommendation engine should be able to estimate (predict) the ratings of the nonrated movie/user combinations and issue appropriate recommendations based on these predictions.
Extrapolation(외삽법) 이란?
외삽법 (Extrapolation)이란 이전의 경험에 비추어, 보다 과학적인 맥락에서는 이전의 실험으로부터 얻은 데이터들에 비추어, 아직 경험/실험하지 못한 경우를 예측해보는 기법이다.
어디까지나 추측이므로 엄밀한 추론이 아니다. 하지만 은유와 실험적인 유비를 통해 새로운 발견을 위한 한 방법으로 유용하다.   ⇒ 어느 순간까지의 흐름에 미루어 아직 나타나지 않은, 또는 나타나게 만들 수 없는 부분을 예측하는 기법이다. 외삽 기법은 불완전한 방법이다.
왜냐하면 특이점이 나타날 경우 더 이상 외삽할 수 없기 때문이다. (외삽실패) 그러나 발견의 방법으로서는 매우 유용하다.
※ 특이점 - 수학적으로 특이점이란 그 점의 미분계수가 0이라는 것을 의미한다. 또는 미분계수가 하나가 아니게 되는 점도 특이점이다.
※ 보간(interpolation)과 외삽의 차이 - 보간은 특정한 두 점 안쪽에 놓여있는 가능한 값을 구하려는 방법이지만 외삽은 특정한 두 점 바깥에 놓여있는 가능한 값을 구하는 데 있다.
ex) 벤야민은 상상력을 아주 작은 것에서 보간하는 능력이라고 정의했지만, 아도르노는 상상력을 아주 작은 것에서의 외삽이라고 정의하고 있다.
Interpolation vs Extrapolation
Interpolation(인터폴레이션, 보간)
  • 알려진 지점의 값 사이(중간)에 위치한 값을 알려진 값으로부터 추정하는 것
Extrapolation(외삽법)
  • 알려진 값들 사이의 값이 아닌 범위를 벗어난 외부의 위치에서의 값을 추정하는 것
 
<Example>
Interpolation:
  • 20살일때 키와 40살에서의 키를 보고 30살에서의 키를 추측하는 것
 
Extrapolation:
  • 1살때부터 현재 나이까지의 키를 보고 앞으로 10년 후의 키를 예측하는
  • 최근 한달간의 주가 동향을 보고 내일의 주가를 예측하는 것
 
ExtrapolationInterpolation에 비해 훨씬 안정성이 떨어지는 (위험한) 예측 방법]
 
아래 그림에서 x1, x2에서 데이터 값을 알고 있을 때 x1<=xi<=x2에서 값을 추정하는 것은 Interpolation이고 범위 밖인 xj에서 값을 추정하는 것은 Extrapolation:
notion image
→ 추천시스템에서 중요한 문제는 utility 가 일반적으로 전체 공간에 정의 되어 있지 않고(전부 채워져 있지 않고) 그것의 아주 일부만 채워져 있는 상태로 놓여있다는 것이다.
→ 왜냐하면, rating matrix 은 일부만 채워져 있기 때문에,
→ 즉 평가되지 않은 unrated item이 많기 떄문이다.
이는 의 전체 공간을 위해 추정하는 것이 필요료 하다는 것을 뜻한다.
추천시스템에서 utility는 전형적으로 rating(평가된 평점)에 의해 표현되며 처음에는 해당 유저의 의한 이전 평가로만 정의된다.
처음 utility에는 rating matrix 만 있다.
예를 들어 영화 추천 application(MovliLens와 같은)에서 유저가 초기에 이미 봤었던 어떤 영화들의 몇몇 부분 집합을 평가한다.
영화 추천 application을 위한 user-item rating matrix의 예는 Table 1에서 나타낸다.
여기에서 평점은 1~5사이의 평점으로 지정되어 있다.
Table1에서 ⊘ 상징이 있는 일부 평가는 해당 유저가 영화를 평가하지 않았음을 의미한다.
따라서, 추천 엔진은 nonrated 영화/사용자 조합의 평점을 추정(예측)하고, 이러한 예측을 기반으로 적절한 추천을 유출(발급/배급)할 수 있어야 한다.
💡
추천 시스템의 핵심 문제 utility(rating 값)가 비어있다. → 왜? 유저가 이전에 평가한 아이템의 일부에서만 정의되기 때문 즉, 비어 있는 값들을 채워야 한다. 따라서, 추천 엔진은 평가되지 않은 unrated item을 rated item을 토대로 추정하고 이를 기반으로 추천을 제시해야 한다. estimate 추측(예측)이다, infer추론이 아니다? Just etimattion, not Infence.
 
TABLE 1 A Fragment of a Rating Matrix for a Movie Recommender System
notion image
Extrapolations from known to unknown ratings are usually done by 1) specifying heuristics that define the utility function and empirically validating its performance and 2) estimating the utility function that optimizes certain performance criterion, such as the mean square error.
 
→ known rating에서 unknown rating으로의 추정(예측)은 일반적으로
1) utility function을 정의하는 휴리스틱을 지정하고 성능을 경험적으로 검증하거나,
→ 애매한데
extrapolation → contents-based의 cos similarity 경우 근거는 없지만, 직관적으로 같은 방향이면 비슷한 취향일 것이고, 반대 방향이면 다른 취향일 것이다 라는 의미를 부여하여 유사도를 휴리스틱으로 활용
2) mean square error와 같은 특정 성능 표준(기준)최적화하는 utility function을 평가하는 방식으로 이루어진다.
→ 머신러닝 기법
💡
알려진 평점에서 알려지지 않은 평점으로의 추정은 보통 유틸리티 함수를 정의하는 휴리스틱을 지정하고 그 성능을 검증하거나, 평균 제곱 오차와 같은 성능 기준을 최적화하는 유틸리티 함수를 추정하는 방식으로 이루어집니다. 알려지지 않은 평점이 추정되면, 해당 유저에 대한 모든 추정 평점 중 가장 높은 평점을 선택하여 실제 아이템을 추천한다. 또는, 유저에게 가장 좋은 N개의 아이템을 추천하거나, 아이템에 대한 유저 집합을 추천할 수도 있다.
 
Once the unknown ratings are estimated, actual recommendations of an item to a user are made by selecting the highest rating among all the estimated ratings for that user, according to (1). Alternatively, we can recommend the  best items to a user or a set of users to an item.
 
→ 만약, unknown rating이 추정되면, 실제 item의 추천은 수식 (1)에 따라 해당 유저에 대한 모든 추정된 rating 중 가장 높은 rating을 선택함으로써 만들어진다.
→(???왜?? 1만 언급하는거지??)
→ 평점 추정(rating prediction) 문제
대안으로, 유저에게 N개의 최고 item을 추천하거나, item에게 유저 집합을 추천할 수 있다.
→ Top-N 추천 문제 → 현재 대세
💡
두 개가 같은 말인것 같지만 다르다. 위 문장은 추정된 rating 중 가장 높은 아이템 한 개를 선택한다는 것 아래는, N개 아이템을 유저에게 추천 또는 아이템에게 유저를 추천
 
The new ratings of the not-yet-rated items can be estimated in many different ways using methods from machine learning, approximation theory, and various heuristics. Recommender systems are usually classified according to their approach to rating estimation and, in the next section, we will present such a classification that was proposed in the literature and will provide a survey of different types of recommender systems. The commonly accepted formulation of the recommendation problem was first stated in [45], [86], [97] and this problem has been studied extensively since then. Moreover, recommender systems are usually classified into the following categories, based on how recommendations are made [8]:
  • Content-based recommendations: The user will be recommended items similar to the ones the user preferred in the past;
  • Collaborative recommendations: The user will be recommended items that people with similar tastes and preferences liked in the past;
  • Hybrid approaches: These methods combine collaborative and content-based methods.
 
→ 아직 평가되지 않은 item의 새로운 평점은 machine learning, 근사 이론, 다양한 휴리스틱등을 이용한 많은 다양한 방법을 활용하여 추정될 수 있다.
추천 시스템은 일반적으로 rating 추정에 대한 접근 방식에 따라서 분류될 수 있다.
다음 섹션에서는 문헌에서 제안되는 다양한 유형의 추천 시스템에 대한 survey를 제공할 것이다.
추천 문제의 일반적으로 받아들여지는 formulation(유저가 아직 보지 않은 아이템에 대한 평점 추정 문제)은 처음으로 [45], [86], [97]에서 진술(언급)되었으며, 이 문제는 그 이후로 널리 연구되었다.
추가적으로, 추천 시스템은 보통 다음과 같은 카테고리로 분류되는데, 이는 추천 방식에 기반한다 [8]:
  • Content-based recommendations:
    • → 유저는 과거에 선호했던 아이템과 유사한 아이템이 추천된다.
  • Collaborative recommendations:
    • → 유저는 과거에 비슷한 취향과 선호를 가진 사람들이 좋아했던 아이템이 추천된다.
  • Hybrid approaches:
    • → collaborative와 content-based 방법을 결합한다.
💡
아직 평가되지 않은 항목의 새로운 평점은 기계 학습, 근사 이론, 다양한 휴리스틱 방법을 사용하여 다양한 방식으로 추정할 수 있습니다. 추천 시스템은 일반적으로 평점 추정 방식에 따라 분류되며, 이에 따라 콘텐츠 기반 추천, 협업 필터링 추천, 하이브리드 접근법이 있습니다. 콘텐츠 기반 추천은 사용자에게 과거에 선호했던 항목과 유사한 항목을 추천하며, 협업 필터링 추천은 사용자에게 과거에 비슷한 취향과 선호를 가진 사람들이 좋아했던 항목을 추천합니다. 하이브리드 접근법은 이 두 가지 방법을 결합한 것입니다. rating 추정에 대한 approach methd에 따라 분류
  • Content-based recommendations:
    • → 유저는 과거에 선호했던 아이템과 유사한 아이템이 추천된다.
  • Collaborative recommendations:
    • → 유저는 과거에 비슷한 취향과 선호를 가진 사람들이 좋아했던 아이템이 추천된다.
  • Hybrid approaches:
    • → collaborative와 content-based 방법을 결합한다.
 
In addition to recommender systems that predict the absolute values of ratings that individual users would give to the yet unseen items (as discussed above), there has been work done on preference-based filtering, i.e., predicting the relative preferences of users [22], [35], [51], [52]. For example, in a movie recommendation application, preference-based filtering techniques would focus on predicting the correct relative order of the movies, rather than their individual ratings. However, this paper focuses primarily on rating-based recommenders since it constitutes the most popular approach to recommender systems.
 
→ 개별 유저가 아직 보지 않은 아이템에 대해 부여한 absolute values of ratings을 예측하는 추천 시스템(위에서 논의한 것)에 더해서, 유저의 relative preferences 를 예측하는 preference-based filtering에 대한 연구도 있었다 [22], [35], [51], [52].
????absolute values of rating을 예측 하는 추천시스템을 위에서 논의했었나? ???? CF, contents-based recommendation??이게 평점의 절대 값을 예측하는 것인가? → ㅇㅇ 그렇다. 절대 값이 라는게 |-3| 이걸 말하는게 아니라, 각 셀(유저가 어떤 아이템을 평가한 rating)의 값, 절대적인 값을 추정하는 것이기 때문, 즉, 어떠한 빈 셀에 대해서 빈 셀들 간의 상대적인 점수를 추정하는 것이 아님, 그리고 그 추정된 값들을 활용하여 Top-N추천을 해주는 것
예를 들어, 영화 추천 application에서 preference-based filtering 기술은 영화의 개별 rating보다 영화의 올바른 relative order를 예측하는 데 초점을 맞춘다.
그러나 이 논문은 주로 rating-based recommenders에 초점을 맞추고 있다. 왜냐하면 추천 시스템에 대한 가장 인기 있는 접근 방식이기 때문이다.
 
💡
개별 사용자가 아직 보지 않은 항목에 대해 주었을 평점의 절대값을 예측하는 추천 시스템 외에도, 사용자의 상대적 선호도를 예측하는 선호도 기반 필터링에 대한 연구도 있었습니다. 예를 들어, 영화 추천 응용 프로그램에서는 영화의 개별 평점보다 영화의 올바른 상대적 순서를 예측하는 데 초점을 맞춥니다. 하지만 이 논문은 주로 평점 기반 추천에 초점을 맞추고 있습니다. 이는 추천 시스템에 대한 가장 인기 있는 접근 방식이기 때문입니다.
 
 

2.1 Content-based Methods


2.1 Content-Based Methods

In content-based recommendation methods, the utility  of item  for user  is estimated based on the utilities  assigned by user  to items  that are “similar” to item .
For example, in a movie recommendation application, in order to recommend movies to user , the content-based recommender system tries to understand the commonalities among the movies user  has rated highly in the past (specific actors, directors, genres, subject matter, etc.). Then, only the movies that have a high degree of similarity to whatever the user's preferences are would be recommended.
 
content-based recommendation method에서는 user 에 대한 item 의 유틸리티 는(==유저 를 위한 아이템 의 utility 함수 은) 아이템 와 "유사한" 아이템 에 대해 유저 가 지정한 유틸리티 에 기반하여 추정된다. → 즉, 유저가 이전에 평가했던 것에 아이템 기반하여 추정된다.
예를 들어, 영화 추천 application에서 유저 에게 영화를 추천하기 위해 content-based 추천 시스템은 유저 가 과거에 높은 평점으로 평가했던 영화들 사이의 공통점을 이해하려고 한다(특정 배우, 감독, 장르, 주제 등).
그런 다음, 유저의 preference와 높은 similality를 가진 영화만이 추천된다.
 
💡
콘텐츠 기반 추천 방법에서는, 항목 s에 대한 사용자 c의 유틸리티는 항목 s와 "유사한" 항목들에 대해 사용자 c가 지정한 유틸리티에 기반하여 추정됩니다. 예를 들어, 영화 추천 응용 프로그램에서는, 사용자 c가 과거에 높게 평가했던 영화들 사이의 공통점을 이해하고, 사용자의 선호도와 높은 유사도를 가진 영화만을 추천합니다.
 
The content-based approach to recommendation has its roots in information retrieval [7], [89] and information filtering [10] research.
Because of the significant and early advancements made by the information retrieval and filtering communities and because of the importance of several text-based applications, many current content-based systems focus on recommending items containing textual information, such as documents, Web sites (URLs), and Usenet news messages.
The improvement over the traditional information retrieval approaches comes from the use of user profiles that contain information about users' tastes, preferences, and needs.
The profiling information can be elicited from users explicitly, e.g., through questionnaires, or implicitly—learned from their transactional behavior over time.
 
 
content-based 추천의 approach는 information retrieval [7], [89] 및 information filtering [10] 연구에 기반을 두고 있다.
information retrieval 과 filtering communities에서 이루어진 중요한 초기의 발전과 여러 text-based application의 중요성 때문에, 현재 많은 content-based 시스템은 문서, 웹사이트(URL), Usenet 뉴스 메시지와 같은 textual information을 포함하는 item을 추천하는데 초점을 맞추고 있다.
전통적인 information retrieval approach보다 개선된 점은
유저의 취향, 선호도, 필요성에 대한 정보를 포함하는 유저 profile의 활용이다. -> 차이점
왜???????? 왜 ?????? 왜???? 이건 아닌가?
profiling information는 유저로부터 설문조사(평가,)를 통해 직접적(명시적)으로, 또는 시간이 지남에 따른 그들의 거래 행동(클릭, 머문 시간 등) 에서 암시적으로 학습되어 유도될 수 있다.
💡
콘텐츠 기반 추천의 접근법은 정보 검색과 정보 필터링 연구에 기반을 두고 있습니다. 정보 검색 및 필터링 분야에서의 초기의 중요한 발전과 텍스트 기반 응용 프로그램의 중요성 때문에, 많은 현재 콘텐츠 기반 시스템은 문서, 웹사이트, Usenet 뉴스 메시지 등 텍스트 정보를 포함하는 항목을 추천하는데 초점을 맞추고 있습니다. 이는 사용자의 취향, 선호도, 필요성에 대한 정보를 포함하는 사용자 프로필을 사용함으로써 전통적인 정보 검색 접근법보다 향상되었습니다. 프로필 정보는 사용자로부터 명시적으로 또는 암시적으로 얻을 수 있습니다. Content-based approach에서 개선점 → 전통적인 information retrieval approach보다 개선된 점:
유저의 취향, 선호도, 필요성에 대한 정보를 포함하는 유저 profile의 활용
 
More formally, let  be an item profile, i.e., a set of attributes characterizing item .
It is usually computed by extracting a set of features from item  (its content) and is used to determine the appropriateness of the item for recommendation purposes.
Since, as mentioned earlier, content-based systems are designed mostly to recommend text-based items, the content in these systems is usually described with keywords.
For example, a content-based component of the Fab system [8], which recommends Web pages to users, represents Web page content with the 100 most important words.
Similarly, the Syskill & Webert system [77] represents documents with the 128 most informative words.
The “importance” (or “informativeness”) of word  in document  is determined with some weighting measure  that can be defined in several different ways.
 
→ 더 공식적으로, 는 item profile이라고 하겠다.(예를 들어 아이템 의 특징들을 갖는 속성의 집합)
item profile은 아이템 의 contents에서 feature들의 집합을 추출함으로써 계산되고 추천 목적에 맞는 아이템의 적절성을 결정하는데 사용된다.
위에서 언급한 바와 같이, 대부분의 content-based 시스템은 text-based item을 추천하도록 설계되었기 때문에, 이러한 시스템에서의 content는 일반적으로 keyword로 설명된다.
예를 들어, 웹 페이지를 유저에게 추천하는 Fab system의 content-based 구성(요소??)는 웹 페이지 content를 가장 중요한 100개의 단어(키워드)로 표현한다.
마찬가지로, Syskill & Webert 시스템은 가장 informative(정보력)이 높은 128개의 단어로 문서를 표현한다.
문서 에서 단어 (오타인 듯 가 맞는듯)의 "중요성" 또는 "정보성"은 여러 가지 방법으로 정의될 수 있는 weight 측정치 를 통해 결정된다.
💡
: item profile
즉 ,아이템 의 특징들을 갖는 속성의 집합 → 아이템 의 contents에서 feature들의 집합을 추출함으로써 계산 됨 → 이는 추천 목적에 맞는 아이템의 적절성을 결정하는데 사용 content-based 시스템은 text-based item을 추천하도록 설계 → content는 일반적으로 keyword로 나타낼 수 있음. → 여기서 단어의 중요성은 weight measure를 통해 결정 됨 <Example> Fab system[8]: 웹 페이지를 유저에게 추천 → 웹페이지 content를 100개의 가장 중요한 단어(키워드)로 표현 Syskill & Webert[77]: → 가장 informative(정보력)이 높은 128개의 단어로 문서를 표현 : 번째 문서 : 번째 문서의 단어(키워드?) : 번째 문서 에서 단어 중요성을 나타내는 weight → 이는 여러 방법으로 정의할 수 있다. 즉, item == web page == document 모두, 키워드로 표현 가능
<정리>
  • 추천시스템에서는 아이템의 적합성을 판단하기 위해 아이템 profile을 사용 → 아이템 profile 사용 이유: 아이템의 적합성을 판단하기 위해
  • 아이템 profile: item content(=documnet keyword)에서 특징을 추출하여 계산됨
  • content-based 시스템은 text-based item을 추천하도록 설계되어 있음
  • 시스템에서는 키워드를 사용하여 content을 설명하며, 특정 단어의 중요성은 weighting measure 를 통해 결정됨
 
One of the best-known measures for specifying keyword weights in Information Retrieval is the term frequency/inverse document frequency (TF-IDF) measure [89] that is defined as follows:
Assume that  is the total number of documents that can be recommended to users and that keyword  appears in  of them.
Moreover, assume that  is the number of times keyword  appears in document .
Then, , the term frequency (or normalized frequency) of keyword  in document , is defined as
, (2)
 
where the maximum is computed over the frequencies  of all keywords  that appear in the document .
However, keywords that appear in many documents are not useful in distinguishing between a relevant document and a nonrelevant one.
Therefore, the measure of inverse document frequency () is often used in combination with simple term frequency ().
The inverse document frequency for keyword  is usually defined as
. (3)
 
Then, the TF-IDF weight for keyword  in document  is defined as
(4)
 
and the content of document is defined as
.
 
→ Information Retrieval에서 weight를 지정하기 위한 가장 잘 알려진 측정 중 하나는 TF-IDF(단어 빈도/역 문서 빈도) 측정 방법일 것이다.
TF-IDF는 아래와 같이 정의된다.:
유저에게 추천할 수 있는 문서의 총 개수를 이라고 가정하고, 키워드 가 그 중 개의 문서에 나타나는 경우를 가정해 보자.
또한 키워드 가 문서 에 나타나는 횟수를 라고 가정한다.
그러면 키워드 의 문서 에서의 단어 빈도(또는 정규화 된 빈도) 는 다음과 같이 정의된다.
, (2)
 
여기서 최대값은 문서 에 나타나는 모든 키워드 의 빈도 에 대해 계산된다.
하지만 많은 문서에 나타나는 키워드는 relevant 문서와 nonrelevant 문서를 구별하는 데 유용하지 않다.
→ 문제제기: a, the 와 같이 거의 모든 문서에 나타나는 키워드 not useful 하다
→ 해결책: 따라서 측정치는 와 결합하여 사용된다.
키워드 에 대한 역문서 빈도는 보통 다음과 같이 정의된다.
. (3)
 
그런 다음 문서 에서 키워드 에 대한 TF-IDF 가중치는 다음과 같이 정의된다.
(4)
 
그리고 문서 의 내용은 다음과 같이 정의된다.
.
 
💡
TF-IDF: Information Retrieval에서 keyword weight를 지정하기 위한 방법 → keyword : document = user : item
→ 키워드의 빈도 + 문서 내의 중요성을 고려 → 가중치 정함 → 한 문서에서 높은 빈도를 갖는 키워드: 중요성⬆️ → 많은 문서에서 나오는 키워드: 해당 키워드 제외(안중요) : 번째 키워드 : 번째 문서 : 키워드 가 문서 에 나타나는 횟수 : 문서 에서 키워드 의 단어 빈도(또는 정규화 된 빈도) → 즉, 각 열 기준으로 볼 때 가장 많이 나오는 키워드는 임 → 키워드 의 문서 에서의 단어 빈도 : 유저에게 추천할 수 있는 문서의 총 개수 : 해당 단어(키워드)를 포함한 문서의 수
N을 10의 제곱형태 로 바꾸면, 여기서 일 때 최대 값, 를 갖는다. 즉, 에 범위임 item profile, 즉 번째 문서 의 특징(== 1부터 k번째까지의 키워드들의 TF-IDF 가중치)들()을 갖는 속성의 집합 질문: 에서 활용하는 키워드는 총 문서 개에 존재하는 모든 키워드를 사용하는 건가?
<정리>
→ 문제제기: a, the 와 같이 거의 모든 문서에 나타나는 키워드 not useful 하다
→ 해결책: 따라서 를 결합하여 사용된다.
  • TF-IDF는 키워드의 빈도(TF)문서 내에서의 중요성(IDF)을 고려하여 키워드의 가중치를 결정
  • 빈도가 높은 키워드는 중요성이 높다고 판단하며, 동시에 너무 많은 문서에 나타나는 키워드는 제외(ex. a, the 등)하는 방식
  • 이렇게 계산된 weight는 문서의 content을 표현하는데 사용
    • 즉, feature를 표현하는데 사용
 
As stated earlier, content-based systems recommend items similar to those that a user liked in the past [56], [69], [77].
In particular, various candidate items are compared with items previously rated by the user and the best-matching item(s) are recommended.
More formally, let  be the profile of user  containing tastes and preferences of this user.
These profiles are obtained by analyzing the content of the items previously seen and rated by the user and are usually constructed using keyword analysis techniques from information retrieval.
For example,  can be defined as a vector of weights , where each weight  denotes the importance of keyword  to user  and can be computed from individually rated content vectors using a variety of techniques.
For example, some averaging approach, such as Rocchio algorithm [85], can be used to compute  as an “average” vector from an individual content vectors [8], [56].
On the other hand, [77] uses a Bayesian classifier in order to estimate the probability that a document is liked.
The Winnow algorithm [62] has also been shown to work well for this purpose, especially in the situations where there are many possible features [76].
 
→ 앞서 언급했듯이, content-based 추천시스템유저가 과거에 좋아했던 아이템과 유사한 아이템을 추천한다.
특히, 여러 후보 아이템(candidate item)들은 유저가 이전에 평가했던 rated 아이템과 비교되어 가장 잘 매칭되는 아이템(들)이 추천된다.
더 공식적으로, 은 유저 취향선호도를 포함하는 profile이다.
profile들은 유저가 이전에 보고(seen), 평가한 rated 아이템들의 content를 분석함으로써 얻게 되며, 일반적으로 information retrieval에서 사용되는 keyword analysis techniques을 사용하여 구성된다.
예를 들어, 는 weight 벡터 로 정의될 수 있다. 여기서 각 가중치 는 유저 에 있어서 키워드 의 중요성을 나타낸다. 또한 이 가중치는 다양한 기법을 사용하여 개별적으로 rated content 벡터에서 계산될 수 있다.
질문: rated item들(즉, 평가한 document)을 합쳐서 하나의 문서 로 가정하고 키워드에 문서 (사실은 유저)와 키워드 간의 TF-IDF를 구하는 것인가?
<방법1>
예를 들어, Rocchio 알고리즘과 같은 평균화 approach 방법을 사용하여 를 개별 content 벡터들의 "평균" 벡터로 계산할 수 있다.
→ 얘는 유저 의 rated item 집합 들이 갖고 있는 의 평균 벡터로 계산하는 것으로 보임
즉, 이렇게 구한 도 weight 벡터임,
근데 이렇게 되면 는 단일벡터가 되는것 아닌가?
아니다, 키워드가 개라는 것을 공유하기 때문에, 결국 그들의 평균 벡터를 구하는 것이므로, 키워드 개를 갖는 weight 벡터를 갖는다.
평점 또는 클릭에 따라 다르게 받아드릴 수 있다 평균을 다르게 할 수 있다.
<방법2>
반면에, [77]은 문서가 좋아질 확률(가능성)을 추정하기 위해 Bayesian classifier를 사용한다.
<방법3>
Winnow 알고리즘[62]도 이 목적(==가중치를 구하는 것??? 무슨 목적을 말하는거지?)에 잘 작동하는 것으로 나타났으며, 특히 가능한 특징이 많은 상황에서 효과적이다[76].
 
💡
요약하자면, content-based 시스템은 사용자의 과거 선호도를 기반으로 유사한 아이템을 추천하는 시스템입니다. 사용자의 프로필은 사용자가 평가한 아이템의 내용을 분석하여 생성되며, 키워드 분석 기법을 사용합니다. 각각의 가중치는 키워드의 중요도를 나타내며, 다양한 기법을 통해 계산됩니다. 이러한 방식을 통해 사용자의 선호도를 반영한 아이템을 추천할 수 있습니다. content-based 추천시스템 → 유저가 과거에 좋아했던 아이템과 유사한 아이템을 추천 : → 유저 취향선호도를 포함하는 profile → weight 벡터 로 정의 → 각 가중치 유저 에 있어서 키워드 의 중요성을 나타냄 profile: 유저가 이전에 보고(seen), 평가한 rated 아이템들의 contents 분석 → keyword analysit technique 활용 → 이는 일반적으로 information retireval에서 사용되던 것
<방법1: Rocchio 알고리즘>
평균화 approach 방법을 활용하여
를 개별 content 벡터들의 "평균" 벡터로 계산할 수 있다.
→ 얘는 유저 의 rated item 집합 들이 갖고 있는 의 평균 벡터로 계산하는 것으로 보임
즉, 이렇게 구한 도 weight 벡터임,
근데 이렇게 되면 는 단일벡터가 되는것 아닌가?
아니다, 키워드가 개라는 것을 공유하기 때문에, 결국 그들의 평균 벡터를 구하는 것이므로, 키워드 개를 갖는 weight 벡터를 갖는다.
<방법2: Bayesian classifier>
문서가 좋아질 확률(가능성)을 추정하기 위해
Bayesian classifier를 사용한다.
<방법3: Winnow>
특히 가능한 특징이 많은 상황에서 효과적이다[76].
 
In content-based systems, the utility function  is usually defined as:
. (5)
Using the above-mentioned information retrieval-based paradigm of recommending Web pages, Web site URLs, or Usenet news messages, both  of user  and  of document  can be represented as TF-IDF vectors  and  of keyword weights.
Moreover, utility function  is usually represented in the information retrieval literature by some scoring heuristic defined in terms of vectors  and , such as the cosine similarity measure [7], [89]:
, (6)
where is the total number of keywords in the system.
 
→ content-based 추천시스템에서,
utility function 는 일반적으로 다음과 같이 정의된다:
. (5)
위에서 언급한 information retrieval-based의 웹 페이지, 웹 사이트 URL 또는 Usenet 뉴스 메시지 추천 패러다임을 활용하면, 유저 문서(document==아이템으로 볼 수 있다) 둘 다 TF-IDF 벡터 keyword weight 로 표현될 수 있다.
추가적으로, utility function 는 일반적으로 information retrieval literature 문헌에서 정의된 벡터 코사인 유사도 측정치와 같은 scoring 휴리스틱으로 표현된다.
, (6) → 가장 오른쪽 분모의 분자에 존재하는 가 아니라 여야하는거 아닌가?
문제 있는듯? ㄴㄴ 열벡터를 행벡터로 전치한거라 문제음
여기서 는 시스템 내 키워드의 총 개수다.
 
💡
content-based 시스템에서 유틸리티 함수는 사용자 프로필과 문서 내용의 점수를 계산하는 방식으로 정의됩니다. 이는 키워드 가중치의 TF-IDF 벡터를 통해 표현되며, 유틸리티 함수는 벡터 간의 코사인 유사도를 통해 계산됩니다. 이 방식을 통해 사용자와 문서 간의 유사성을 측정하고 추천을 제공합니다. : → 유저 취향선호도를 포함하는 profile → weight 벡터 로 정의 → 각 가중치 유저 에 있어서 키워드 의 중요성을 나타냄 : → 문서(document==아이템으로 볼 수 있다) 의 profile → 즉, 아이템 의 특징의 set item profile, 즉 번째 문서 의 특징(== 1부터 k번째까지의 키워드들의 TF-IDF 가중치)들()을 갖는 속성의 집합 → score 함수 내의 파라미터 둘 다 TF-IDF 벡터 keyword weight 로 표현 가능
 
For example, if user  reads many online articles on the topic of bioinformatics, then content-based recommendation techniques will be able to recommend other bioinformatics articles to user .
This is the case because these articles will have more bioinformatics-related terms (e.g., “genome,” “sequencing,” “proteomics”) than articles on other topics and, therefore, , as defined by vector , will represent such terms  with high weights .
Consequently, a recommender system using the cosine or a related similarity measure will assign higher utility  to those articles  that have high-weighted bioinformatics terms in  and lower utility to the ones where bioinformatics terms are weighted less.
 
→ 예를 들어, 유저 가 bioinformatics에 관한 많은 온라인 article를 읽는다면, content-based 추천 기법은 유저 에게 다른 bioinformatics article을 추천할 수 있다.
왜냐하면 이러한 article들이 다른 주제의 article보다 bioinformatics 관련된 단어(“genome,” “sequencing,” “proteomics” ⇒ 키워드)를 더 많이 가지고 있기 때문이다. 따라서 벡터 로 정의된 는 이러한 단어 를 높은 weight 로 표현할 것이다.
따라서 코사인이나 관련 유사도 측정을 활용하는 추천 시스템은 에서 bioinformatics 관련된 단어가 높은 가중치를 갖는 article 에 더 높은 utility 를 부여하고, bioinformatics 단어의 가중치가 낮은 기사에는 더 낮은 utility를 부여할 것이다.
 
💡
사용자가 특정 주제에 대해 많은 기사를 읽는 경우, content-based 추천 시스템은 해당 주제에 관한 기사를 추천할 수 있다. 이는 해당 주제의 용어가 높은 가중치를 받기 때문이며, 이를 통해 유사도 측정을 통해 추천을 제공한다.
 
Besides the traditional heuristics that are based mostly on information retrieval methods, other techniques for content-based recommendation have also been used, such as Bayesian classifiers [70], [77] and various machine learning techniques, including clustering, decision trees, and artificial neural networks [77].
These techniques differ from information retrieval-based approaches in that they calculate utility predictions based not on a heuristic formula, such as a cosine similarity measure, but rather are based on a model learned from the underlying data using statistical learning and machine learning techniques.
For example, based on a set of Web pages that were rated as “relevant” or “irrelevant” by the user, [77] uses the naive Bayesian classifier [31] to classify unrated Web pages.
More specifically, the naive Bayesian classifier is used to estimate the following probability that page  belongs to a certain class  (e.g., relevant or irrelevant) given the set of keywords  on that page:
. (7)
 
Moreover, [77] uses the assumption that keywords are independent and, therefore, the above probability is proportional to
. (8)
 
While the keyword independence assumption does not necessarily apply in many applications, experimental results demonstrate that naïve Bayesian classifiers still produce high classification accuracy [77].
Furthermore, both  and  can be estimated from the underlying training data.
Therefore, for each page , the probability  is computed for each class  and page  is assigned to class  having the highest probability [77].
 
→ information retrieval method에 주로 기반한 전통적인 휴리스틱 외에도, Bayesian classifiers [70], [77], machine learning techniques(clustering, decision trees), artificial neural networks [77]. 등 다른 content-based 추천 기법도 사용되었다.
이러한 기법들(머신러닝, 베이지안, ann)은 cosine similarity 측정과 같은 휴리스틱 formula에 기반한 information retrieval-based method와는 다르게(→ 차이점), statistical learning과 머신러닝 기법을 사용하여 기본(underlying) 데이터에서 학습된 모델에 기반하여 utility 예측을 계산(차이점)한다.
예를 들어, 유저가 "relevanat" 또는 "irrelevant"으로 평가한 웹 페이지 set에 기반하여, [77]은 unrated 웹 페이지를 분류하기 위해 naive Bayesian classifier[31]를 사용한다.
더 구체적으로, naive Bayesian classifier는 페이지 가 주어진 keyword set 에 따라 특정 클래스 (relevant or irrelevant)에 속하는 확률을 추정하는 데 사용된다:
. (7)
번째 페이지 에서의 키워드() n개의 확률일 때 번째 유저가 (relevant or irrevant)일 확률
→즉, 의 조건부 확률인데, 가정은 모든 keyword가 독립이다
또한, [77]은 keyword가 독립적이라는 가정을 사용하며, 따라서 위의 확률은 다음과 비례한다.
. (8)
→ parameter들을 조건부 확률이 대신 하는 거다?
7 → 8번 식으로 넘어가는 걸 이해 못하겠다…
베이즈 정리
notion image
→ 해결
notion image
keyword 독립성에 대한 가정이 모든 application에 필수적으로 적용되는 것은 아니지만, 실험 결과는 naïve Bayesian classifiers 가 여전히 높은 분류 정확도를 제공한다고 설명한다[77].
게다가, 는 모두 기본 훈련 데이터에서 추정할 수 있다.
따라서 각 페이지 에 대해, 각 클래스 에 대한 확률 가 계산되고, 페이지 는 가장 높은 확률을 가진 클래스 에 할당된다[77].
 
💡
베이지안 분류기와 머신러닝 기법 등 다양한 방법을 통해 content-based 추천이 가능합니다. 이러한 기법들은 통계학습과 머신러닝 기법을 통해 데이터로부터 학습된 모델에 기반하여 유틸리티 예측을 계산합니다. 특히 단순 베이지안 분류기는 사용자의 평가에 따라 웹 페이지를 분류하는 데 사용되며, 높은 분류 정확도를 보여줍니다. 머신러닝, 베이지안, ann은 cosine similarity 측정과 같은 휴리스틱 formula에 기반한 information retrieval-based method와는 다르게 → 차이점: statistical learning과 머신러닝 기법을 사용하여 기본(underlying) 데이터에서 학습된 모델에 기반하여 utility 예측을 계산
 
While not explicitly dealing with providing recommendations, the text retrieval community has contributed several techniques that are being used in content-based recommender systems.
One example of such a technique would be the research on adaptive filtering [101], [112], which focuses on becoming more accurate at identifying relevant documents incrementally by observing the documents one-by-one in a continuous document stream.
Another example would be the work on threshold setting [84], [111], which focuses on determining the extent to which documents should match a given query in order to be relevant to the user.
Other text retrieval methods are described in [50] and can also be found in the proceedings of the Text Retrieval Conference (TREC) (http://trec.nist.gov).
 
As was observed in [8], [97], content-based recommender systems have several limitations that are described in the rest of this section.
 
→ 추천을 제공하는 것에 직접적으로(명시적으로) 관련되지 않음에도 불구하고,
text retrieval community는 content-based 추천 시스템에서 사용되는 여러 기법을 제공했다.
그러한 기법의 한 예로는 adaptive filtering 에 대한 연구[101], [112]가 있다.
adaptive filtering은 연속적인 문서 stream에서 문서를 하나씩 관찰함으로써 relevant 문서를 점진적으로 더 정확하게 식별하는데 초점을 맞추고 있다.
또 다른 예로는 threshold setting에 대한 작업[84], [111]이 있다.
threshold setting는 문서가 유저에게 relevant하기 위해서 주어진 query와 어느 정도 일치해야 하는지 결정하는 데 초점을 맞춘다.
다른 text retrieval methods는 [50]에서 설명되어 있으며, Text Retrieval Conference (TREC) (http://trec.nist.gov)의 회의록(proceedings)에서도 찾을 수 있다.
 
[8], [97]에서 관찰된 바와 같이, content-based 추천 시스템은 여러 가지 한계를 가지고 있다. 그 한계는 이 섹션의 나머지 부분에서 설명된다.
 
💡
텍스트 검색 커뮤니티는 content-based 추천 시스템에 사용되는 여러 기법을 제공하고 있습니다. 이러한 기법 중 일부는 점진적으로 관련 문서를 더 정확하게 식별하거나 문서가 사용자에게 관련성이 있으려면 어느 정도 일치해야 하는지 결정하는 것에 초점을 맞추고 있습니다. 그러나 content-based 추천 시스템은 여러 가지 한계를 가지고 있습니다.
 

2.1.1 Limited Content Analysis

Content-based techniques are limited by the features that are explicitly associated with the objects that these systems recommend.
Therefore, in order to have a sufficient set of features, the content must either be in a form that can be parsed automatically by a computer (e.g., text) or the features should be assigned to items manually.
While information retrieval techniques work well in extracting features from text documents, some other domains have an inherent problem with automatic feature extraction.
For example, automatic feature extraction methods are much harder to apply to multimedia data, e.g., graphical images, audio streams, and video streams.
Moreover, it is often not practical to assign attributes by hand due to limitations of resources [97].
 
2.1.1 콘텐츠 분석의 한계
Content-based 기법은 추천하는 object와 직접적으로(명시적으로) 연결된 특징들에 의해 제한된다.
→ 즉, 특징들에 의해 제한이 되기 때문에 충분한 특징 set을 필요로 한다.
따라서 충분한 특징 set을 갖기 위해서, content는 컴퓨터에 의해 자동으로 파싱될 수 있는 형태(text)이어야 하거나 특징들이 수동으로 아이템에 할당되어야 한다.
information retrieval 기법은 text 문서에서 특징을 추출하는 데 있어서 잘 동작하지만, 다른 도메인들은 automatic 특징 추출에 inherent problem를 가지고 있다.
예를 들어,graphical images, audio streams, video streams등의 multimedia data에 자동 특징 추출 방법을 적용하는 것은 훨씬 더 어렵다.
게다가, resource의 제한으로 인해 속성을 수동으로 할당하는 것은 종종 실용적이지 않다[97].
💡
content-based 기법의 한계 (1) → 특징들에 의해 제한이 되기 때문에 충분한 특징 set을 필요로 한다. (1) content는 컴퓨터에 의해 자동 파싱 될 수 있는 text 형태 (2) 수동으로 할당되야 한다. text 기반 문서는 자동 특징 추출 잘함 But, 다른 도메인들(graphical image, audio streams, video streams 등 multimedia data)에 자동 특징 추출 잘 못함 → 현재는 다 되는거 같은데.. 2005년 논문이라 그런가? 또한 특징을 수동으로 할당하는 것은 실용적이지 않다 은 추천하는 객체에 명시적으로 연결된 특징에 의해 제한되며, 컴퓨터가 자동으로 파싱할 수 있는 형태의 콘텐츠나 수동으로 아이템에 할당된 특징이 필요하다. 그러나 멀티미디어 데이터와 같은 일부 도메인에서는 자동 특징 추출이 어렵고, 수동으로 속성을 할당하는 것은 자원의 제한으로 인해 실용적이지 않을 수 있다.
 
Another problem with limited content analysis is that, if two different items are represented by the same set of features, they are indistinguishable.
Therefore, since text-based documents are usually represented by their most important keywords, content-based systems cannot distinguish between a well-written article and a badly written one, if they happen to use the same terms [97].
 
→ 제한된 content analysis의 또 다른 문제는, 만약 두 개의 다른 아이템이 같은 feature set으로 표현되면 그들을 구별할 수 없다. →왜? 키워드에 의해 표현되기 떄문
따라서 text-based 문서는 일반적으로 가장 중요한 키워드에 의해 표현되기 떄문에, content-based 추천시스템은 만약 두 문서가 같은 단어를 사용하는 경우, well-written article과 badly written article을 구별할 수 없다[97].
 
💡
요약하자면, 제한된 콘텐츠 분석의 문제점 중 하나는 같은 특징 집합으로 표현되는 다른 아이템을 구별할 수 없다는 것입니다. 따라서 텍스트 기반 문서에서는 같은 용어를 사용하는 잘 작성된 기사와 잘못 작성된 기사를 구별할 수 없습니다. 만약 두 개의 다른 아이템이 같은 feature set(document의 경우 같은 키워드 weight)으로 표현되면 그들을 구별할 수 없다. →왜? 키워드에 의해 표현되기 떄문 동일한 키워드로 구성된 여러 개의 문서가 있다면 그 중 무엇이 더 좋은지 구별 불가능 즉 ,well-written, badly written을 구별 못함 → 이는 추천에 있어서 큰 문제임
 

2.1.2 Overspecialization

When the system can only recommend items that score highly against a user's profile, the user is limited to being recommended items that are similar to those already rated.
For example, a person with no experience with Greek cuisine would never receive a recommendation for even the greatest Greek restaurant in town.
This problem, which has also been studied in other domains, is often addressed by introducing some randomness.
For example, the use of genetic algorithms has been proposed as a possible solution in the context of information filtering [98].
In addition, the problem with overspecialization is not only that the content-based systems cannot recommend items that are different from anything the user has seen before.
In certain cases, items should not be recommended if they are too similar to something the user has already seen, such as a different news article describing the same event.
Therefore, some content-based recommender systems, such as DailyLearner [13], filter out items not only if they are too different from the user's preferences, but also if they are too similar to something the user has seen before.
Furthermore, Zhang et al. [112] provide a set of five redundancy measures to evaluate whether a document that is deemed to be relevant contains some novel information as well.
In summary, the diversity of recommendations is often a desirable feature in recommender systems.
Ideally, the user should be presented with a range of options and not with a homogeneous set of alternatives.
For example, it is not necessarily a good idea to recommend all movies by Woody Allen to a user who liked one of them.
 
2.1.2 과도한 특수화(over fitting 느낌?)
추천시스템이 유저의 profile에 대응하는 높은 점수를 받은 아이템만 추천해줄 수 있는 경우, 유저는 이미 rated한 아이템과 유사한 아이템만 추천받는 한계(제한)이 걸린다.
예를 들어, Greek cuisin(그리스 요리)에 경험이 없는 사람은 가장 유명한 Greek restaurant이 마을에 있어도 이에 대한 추천은 절대로 받지 못한다.
이 문제는, 다른 도메인에서도 연구되왔으며, 일부의 무작위성을 도입함으로써 해결되었다.
예를 들어, context of information filtering에서 genetic algorithms(유전 알고리즘)의 사용은 가능한 해결책으로 제안되었다.
게다가, overspecialization 문제는 content-based 추천시스템이 유저가 이전에 본 아이템들과 다른 아이템을 추천해줄 수 없는 것 뿐만 아니라,
특정한 상황에서는, 만약 유저가 이미 본 것(같은 사건을 설명한 다른 뉴스 기사)과 너무 유사하다면 아이템이 추천되지 않아야 한다.
따라서 DailyLearner[13]와 같은 일부 content-based 추천 시스템은
아이템이 유저의 선호도와 너무 다를 경우뿐만 아니라, 유저가 이전에 본 것과 너무 유사할 경우에도 아이템을 필터링한다(=제외한다).
또한, Zhang 등[112]은
관련성이 있는 것으로 간주(생각)된 문서가 novel(참신한) 정보를 잘 포함하고 있는지 평가하기 위한 다섯 가지 중복성(redundancy) 측정치를 제공한다.
 
요약하면, 추천의 다양성은 종종 추천 시스템에서 바람직한 특성이다.
이상적으로는 유저는 동질적인 대안 집합이 아닌 범위의 옵션을 제안받아야 한다.
예를 들어, 유저가 한 편을 좋아했다고 해서 Woody Allen의 모든 영화를 추천하는 것이 꼭 좋은 아이디어가 아니다.
💡
만약 유저의 profile에 대응하는 score가 엄청 높은 아이템만 recommend 하게 된다면 새로운 아이템에 대해서는 추천을 절대 하지 못한다.
→ Overspecialization
해결책: 일부의 무작위성(genetic algorithm)
그래서 user의 선호와 너무 비슷하거나 너무 다른 것은 추천하지 않는다.
다양성(diversity) 중요!
✅ 사용자의 과거 구매 이력을 바탕으로 제품을 추천해주기 때문에 추천 상품의 다양성을 보장할 수 없다.
✅ 유전자 알고리즘을 적용하여 무작위 요소를 추가 또는 돌연변이 방식을 사용하는 기법이 제안되었다.
 

2.1.3 New User Problem

The user has to rate a sufficient number of items before a content-based recommender system can really understand the user's preferences and present the user with reliable recommendations.
Therefore, a new user, having very few ratings, would not be able to get accurate recommendations.
 
2.1.3 새로운 유저 문제
유저는 content-based 추천 시스템이 유저의 선호도를 정확하게 이해하고 신뢰가능한 추천을 제공하기 전에 충분한 개수의 아이템을 평가해야 한다.
따라서 평가(rating)가 매우 적은 새로운 유저정확한 추천을 받을 수 없다.
 
💡
추천 시스템이 유저의 선호도를 정확하게 이해하고 신뢰할 수 있는 추천을 제공하기 위해 충분한 수의 아이템을 평가해야 한다. 그러므로 평가가 매우 적은 새로운 사용자는 정확한 추천을 받을 수 없다.
이제 New User에 대해서는 정확한 recommendation이 필요 없다.
극악한 data 환경에서는 CB(content-based methods)가 CF(collaborative filtering)보다 더 좋다고 합니다. (하지만 충분한 data가 있을 때는 CF가 성능이 더 좋음)
Contents based Item vs Collaborative Method
정보는 그냥 많을 수록 좋다.

2.2 Collaborative Methods ~ 2.2.1 New User Problem 전

2.2 Collaborative Methods

Unlike content-based recommendation methods, collaborative recommender systems (or collaborative filtering systems) try to predict the utility of items for a particular user based on the items previously rated by other users.
More formally, the utility  of item  for user  is estimated based on the utilities  assigned to item  by those users  who are “similar” to user .
For example, in a movie recommendation application, in order to recommend movies to user , the collaborative recommender system tries to find the “peers” of user , i.e., other users that have similar tastes in movies (rate the same movies similarly).
Then, only the movies that are most liked by the “peers” of user  would be recommended.
 
content-based 추천 방법과 다르게 collaborative filtering 추천시스템은 다른 유저들이 이전에 평가한 아이템들을 기반으로 특정한 유저를 위한 아이템의 utility를 예측하기를 시도한다.
더 formally하게, 유저 에 대한 아이템 의 utility 는 유저와 “유사한” 유저 에 의해 아이템 에 할당된 에 기반하여 추정된다.
차이점: content-based는 아이템 와 “유사한” 아이템 에 기반하여 utility 를 추정
(→ 즉, 유저 와 비슷한 유저 집합 들이 이미 평가했던 아이템 를 기반하여 유저 에 대한 아이템의 utility 를 추정한다.)
예를 들어, 유저 에게 영화 추천을 해주기 위한 영화추천 application에서 는 유저 의 “peers(이웃, 동료)”를 찾기를 시도한다. (즉, peer: 영화에서 유사한 입맛(취향)을 갖고 있는 다른 유저들(= 같은 영화를 비슷하게 평가하는)
그런 다음, 유저 의 "peer"들이 가장 좋아하는 영화만이 추천된다.
💡
다른 유저들이 이전에 평가한 아이템을 기반으로 특정 유저 에게 아이템 의 utility를 예측 → 특정 유저 와 유사한 다른 유저()들이 아이템 에 할당한 utility(ratings)를 기반으로 추정 → 특정 유저 의 "peer"들이 가장 좋아하는 아이템만을 추천
 
There have been many collaborative systems developed in the academia and the industry.
It can be argued that the Grundy system [87] was the first recommender system, which proposed using stereotypes as a mechanism for building models of users based on a limited amount of information on each individual user.
Using stereotypes, the Grundy system would build individual user models and use them to recommend relevant books to each user.
Later on, the Tapestry system relied on each user to identify like-minded users manually [38].
GroupLens [53], [86], Video Recommender [45], and Ringo [97] were the first systems to use collaborative filtering algorithms to automate prediction.
Other examples of collaborative recommender systems include the book recommendation system from Amazon. com, the PHOAKS system that helps people find relevant information on the WWW [103], and the Jester system that recommends jokes [39].
 
→ academia와 industry에서 많은 가 개발되었다.
Grundy system[87]이 추천 시스템의 첫 번째 예라고 주장할 수 있다.
이 시스템은 각 각의 개별적인 유저에 대한 limited 정보의 양(이전에 평가한 아이템을 기반으로 하기 때문에) 기반으로 유저 모델을 build하기 위한 mechanism으로 stereotypes을 사용하는 것을 제안했다.
stereotypes을 사용하는 Grundy system은 개별 유저 모델을 build하고 이를 활용하여 각 유저에게 relevant 책을 추천했다.
Grundy system이란?: 도서관에서 유저에게 적합한 책을 추천하는데 초점을 둔 개인화 추천 시스템
stereotypes이란?: 유저 속성이나 행동 바탕으로 사전에 정의된 유저 그룹
유저의 선호도나 행동 패턴에 따라 그룹을 형성하는 방식으로, 각 스테레오타입특정 특성이나 관심사공유하는 유저 집단을 대표한다. ex) 과학 소설 애호가, 역사 서적 독자와 같은 스테레오타입 유저가 이전에 평가한 책을 바탕으로 이러한 스테레오타입 중 하나에 할당 그 후 해당 스테레오타입에 기반하여 유저에게 책을 추천
이후 Tapestry system
각 유저가 수동(manually)으로 마음에 드는 유저를 식별하는 데 의존했다[38].
GroupLens[53], [86], Video Recommender[45], Ringo[97]는 알고리즘을 사용하여 예측을 자동화(automate)하는 첫 시스템이었다.
추천 시스템의 다른 예로는 Amazon의 책 추천 시스템, WWW에서 relevant information을 찾는 데 도움을 주는 PHOAKS 시스템[103], 농담을 추천하는 Jester 시스템[39]이 있다.
💡
다양한 협업 시스템이 학계와 업계에서 개발되었다. 그 중에서도 Grundy 시스템은 사용자 모델을 구축하기 위한 첫 번째 추천 시스템으로, 각 사용자에 대한 제한된 정보를 기반으로 스테레오타입을 사용했다. 이후에 개발된 Tapestry 시스템은 사용자가 수동으로 유사한 취향을 가진 다른 사용자를 찾는 방식이었다. 그 다음으로 개발된 GroupLens, Video Recommender, Ringo는 협업 필터링 알고리즘을 사용하여 예측 과정을 자동화했다. Amazon.com의 책 추천 시스템, WWW에서 관련 정보를 찾아주는 PHOAKS 시스템, 농담을 추천하는 Jester 시스템 등이 협업 추천 시스템의 다른 예이다.
 
According to [15], algorithms for collaborative recommendations can be grouped into two general classes: memory-based(or heuristic-based) and model-based.
 
→ [15]에 따르면, 추천 시스템을 위한 알고리즘은 두 개의 일반적인 class로 나뉠 수 있다.
(1) memory-based(or heuristic-based)
  • item-based
  • user-based
(2) model-based
  • SVD-based
💡
 
Memory-based algorithms [15], [27], [72], [86], [97] essentially are heuristics that make rating predictions based on the entire collection of previously rated items by the users.
That is, the value of the unknown rating  for user  and item  is usually computed as an aggregate of the ratings of some other (usually, the  most similar) users for the same item  :
, (9)
 
where  denotes the set of  users that are the most similar to user  and who have rated item  ( can range anywhere from 1 to the number of all users).
Some examples of the aggregation function are:
(10)
 
where multiplier  serves as a normalizing factor and is usually selected as 
, and where the average rating of user , in (10c) is defined as
. (11)
 
memory-baesd 알고리즘([15], [27], [72], [86], [97])은 본질적으로 유저들이 이전에 평가한 아이템의 전체 collection에 기반하여 평점 예측을 하는 휴리스틱이다.
즉, 유저 와 아이템 에 대한 unknown rarting 의 값은 일반적으로 동일한 아이템 에 대해 다른 (일반적으로 개의 가장 유사한) 유저들의 평점의 집합(총계, 집계, 총수)으로 계산된다 :
, (9)
 
여기서
(1) 유저 와 가장 유사하고
(2) 아이템 를 평가한 명의 유저()의 집합을 나타낸다
(은 1부터 모든 유저의 수까지의 범위가 될 수 있다).
집계 함수의 일부 예는 다음과 같다:
→ 유저 와 유사한 명이 아이템 에 대해 평가한 값의 평균
(10)
(10)
→ 유저 유사한 유저()들과의 유사도(가중치??) x 해당 유저의 평가
→ 즉, 유사한 유저()들이 아이템 에 메긴 평점을 그대로 가져오는게 아니라, 유저 와 얼마나 닮아 있는지(유사도)를 weight로 두어서, 더 많이 닮은 유저의 평점에 보다 큰 가중치를 두고, 덜 닮은 유저에게 적은 가중치를 두어 를 추정하는 것
→ (b)와 가장 큰 차이점은, 각각의 유저(유저 , 유사한 유저 모두)들이 이전에 매겼던 평균 평점을 활용하여 보다 더 정확한 rating을 추정한다는 것
→ 왜냐하면, 각 유저의 선호도를 더 나타낼 수 있으므로?
→ 예를 들어, 어떤 유사한 유저
(1) 평균 3점을 주는 유저였는데 어떠한 아이템 에 대해서 rating을 5점으로 주었을 경우, 2의 가중치를 주어야 하고,
(2) 평균 1점을 주는 유저였는데 어떠한 아이템 에 대해서 rating을 5점으로 주었을 경우, 4의 가중치 즉, 더 많은 가중치를 주어야 한다.
(3) 반대로 평균 5점을 주는 유저였는데, 어떠한 아이템 에 대해서 rating을 1점으로 주었을 경우, -4의 가중치를 주어야 한다.
→ 즉, 이를 통해 극단적으로 선호하지 않는 아이템 또한 찾을 수 있다.?
여기서 곱하는 수 는 정규화 요소로서 일반적으로 로 선택되며, (10-c)에서의 유저 의 평균 평점 는 다음과 같이 정의된다.
. (11)
→ 그냥 유저 가 평가한 아이템 집합들 의 평균
💡
memory-baesd 알고리즘: 본질적으로 유저들이 이전에 평가한 전체 아이템의 collection에 기반하여 평점 예측을 하는 휴리스틱 unknown rarting 동일한 아이템 에 대해 다른 명의 유사한 유저들의 평점집합(총계, 집계, 총수)으로 계산 : 아이템 에 대해 다른 명의 유사한 유저들의 집합
(1) 유저 와 가장 유사하고
(2) 아이템 를 평가한 명의 유저()의 집합을 나타낸다
(은 1부터 모든 유저의 수까지의 범위가 될 수 있다).
→ 유저 와 유사한 명이 아이템 에 대해 평가한 값의 평균
: 정규화 요소 : 유저 의 평균 평점
 
In the simplest case, the aggregation can be a simple average, as defined by (10a).
However, the most common aggregation approach is to use the weighted sum, shown in (10b).
The similarity measure between users  and , is essentially a distance measure and is used as a weight, i.e., the more similar users  and  are, the more weight rating  will carry in the prediction of .
Note that  is a heuristic artifact that is introduced in order to be able to differentiate between levels of user similarity (i.e., to be able to find a set of “closest peers” or “nearest neighbors” for each user) and, at the same time, simplify the rating estimation procedure.
As shown in (10b), different recommendation applications can use their own user similarity measure as long as the calculations are normalized using the normalizing factor , as shown above.
The two most commonly used similarity measures will be described below.
One problem with using the weighted sum, as in (10b), is that it does not take into account the fact that different users may use the rating scale differently.
The adjusted weighted sum, shown in (10c), has been widely used to address this limitation.
In this approach, instead of using the absolute values of ratings, the weighted sum uses their deviations from the average rating of the corresponding user.
Another way to overcome the differing uses of the rating scale is to deploy preference-based filtering [22], [35], [51], [52], which focuses on predicting the relative preferences of users instead of absolute rating values, as was pointed out earlier in Section 2.
 
→ 가장 간단한 경우에는, 집계는 (10a)에 정의된 대로 simple 평균일 수 있다.
그러나, 가장 일반적인 집계 방법은 (10b)에 나타난 대로 weighted sum(가중치 합)을 사용하는 것이다.
유저 사이의 유사성 측정치 본질적으로(essentially)으로 거리 측정치이며, weight로 사용된다.
즉, 유저 가 더 유사할수록 해당 유저 의 평점 의 예측에 더 많은 가중치를 갖게 된다.
는 유저 유사성의 수준을 구분할 수 있도록 (각 유저에 대한 "closest peers(가장 가까운 동료)" 또는 "nearest neighbors(가장 가까운 이웃)" 세트를 찾을 수 있도록) 하고, 동시에 평점 추정 절차를 단순화하기 위해 도입된 heuristic artifact이다.
(10b)에 나타난 대로, 다른 추천 application은 정규화 요소 를 사용하여 계산이 정규화되면 자신의 유저 similarity measure를 사용할 수 있다. ????
→ WHY??? 이해가 안됨
가장 일반적으로 사용되는 두 가지 similarity measure는 아래에서 설명될 것이다.
(10b)에서와 같이 weighted sum을 사용하는 문제는 다른 유저들이 rating scale를 다르게 사용할 수 있다는 사실을 고려하지 않는다는 것이다.
—> 문제: 유저마다 rating scale이 다르다.
→ 해결: (에서 유저의 평균 평점에서의 편차를 활용하여 해결
즉, 유저 A는 rating scale이 4,5점이고,
유저 B는 rating scale이 3,4점이며
유저 C는 rating scale이 2,5점일 수 있다.
극단적으로 어떤 유저는 5점만 줄 수도 있다.
한계를 해결하기 위해 널리 사용되는 방법이 adjusted weighted sum이 (10c)에서 보여준다.
이 방법에서는 absolute values 평점 대신 해당 유저의 평균 평점에서의 편차를 활용하는 adjusted weighted sum을 사용한다.
rating scale(평점 척도)의 사용 방법이 다른 것을 극복하는 또 다른 방법은 preference-based filtering [22], [35], [51], [52]을 배포하는 것이다.
이는 absolute rating 값 대신 유저의 relative preferences 를 예측하는 데 초점을 맞추는 것으로, 이는 앞서 섹션 2에서 언급되었다.
💡
 
Various approaches have been used to compute the similarity  between users in collaborative recommender systems.
In most of these approaches, the similarity between two users is based on their ratings of items that both users have rated.
The two most popular approaches are correlation and cosine-based.
To present them, let  be the set of all items corated by both users  and , i.e., .
In collaborative recommender systems,  is used mainly as an intermediate result for calculating the “nearest neighbors” of user  and is often computed in a straightforward manner, i.e., by computing the intersection of sets  and .
However, some methods, such as the graph-theoretic approach to collaborative filtering [4], can determine the nearest neighbors of  without computing  for all users .
In the correlation-based approach, the Pearson correlation coefficient is used to measure the similarity [86], [97]:
. (12)
 
시스템에서 유저 간의 similarity 을 계산하기 위해 다양한 aproach가 활용되었다.
이러한 approach의 대부분에서 두 유저 간의 similarity는 두 유저 모두가 평가한 rated item의 평점에 기반한다.
가장 인기 있는 두 가지 approach는 correlation(상관관계) 과 cosine-based이다.
  • 둘 다 범위 내의 수
이를 제시하기 위해,
<correlation-based(상관 관계)>
를 유저 공통으로 평가한 모든 아이템의 집합으로 두자.
이다.
에서 는 주로 유저 의 "nearest neighbors(가장 가까운 이웃)"을 계산하는 중간 결과로 사용되며, 종종 직접적인 방법(교집합)으로 계산된다.
그러나 graph-theoretic(그래프 이론적) approach를 사용하는 [4]와 같은 일부 방법은 모든 유저 에 대해 를 계산하지 않고도 의 nearest neighbors을 결정할 수 있다. → ???어떻게 그럴 수 있는 거지?
correlation-based(상관 관계) 기반 접근법에서는
Pearson correlation coefficient(피어슨 상관 계수)란?
범위 내의 수
notion image
notion image
notion image
notion image
→ Pearson correlation coefficient(피어슨 상관 계수)를 사용하여 유사성을 측정한다.
. (12)
💡
협업 추천 시스템에서는 다양한 방법으로 사용자 간의 유사성을 계산한다. 대부분의 방법에서 두 사용자 간의 유사성은 두 사용자 모두가 평가한 아이템에 기반한다. 가장 일반적인 두 가지 방법은 상관 계수 기반과 코사인 기반 접근법이다. 이러한 접근법은 두 사용자가 공동으로 평가한 아이템 집합을 기반으로 계산된다. <정리> 에서 유저간의 유사도를 구하기 위한 방법으로 대부분의 approach는 두 유저 간의 similarity는 두 유저 모두가 평가한 rated item의 평점에 기반 그 중 가장 인기 있는 approach는 correlation(상관관계) 과 cosine-based <correlation-based(상관 관계)>
: 유저 공통으로 평가한 모든 아이템의 집합
교집합
: 유저 가 rating한 아이템 집합 → : 유저 가 rating한 아이템 집합
Pearson correlation coefficient(피어슨 상관 계수)를 사용하여 유사성을 측정
 
In the cosine-based approach [15], [91], the two users  and  are treated as two vectors in -dimensional space, where .
Then, the similarity between two vectors can be measured by computing the cosine of the angle between them:
, (13)
 
where  denotes the dot-product between the vectors  and .
Still another approach to measuring similarity between users uses the mean squared difference measure and is described in [97].
Note that different recommender systems may take different approaches in order to implement the user similarity calculations and rating estimations as efficiently as possible.
One common strategy is to calculate all user similarities  (including the calculation of ) in advance and recalculate them only once in a while (since the network of peers usually does not change dramatically in a short time).
Then, whenever the user asks for a recommendation, the ratings can be efficiently calculated on demand using precomputed similarities.
 
<cosine-based approach>
cosine-based approach [15], [91]에서는
두 유저 -차원 공간에서의 두 벡터로 취급한다.
여기서 이다.
→ 왜 차원 공간이지?
그런 다음 두 벡터 간의 유사성은 그들 사이의 각도의 코사인을 계산함으로써 측정할 수 있다:
, (13)
여기서 는 벡터 간의 dot-product(내적)을 나타낸다.
 
<mean squared difference measure>
또 다른 유저 간의 유사성 측정 방법은 mean squared difference measure을 활용하며, [97]에서 설명되어 있다.
 
다른 추천 시스템은 유저 similarity 계산과 평점 estimations을 가능한 효율적으로 구현하기 위해 다른 접근법을 활용할 수 있다.
일반적인 전략은 모든 유저 유사성 (의 계산 포함)을 미리 계산하고, 가끔만 다시 계산하는 것이다(peer 네트워크는 보통 단기간에 크게 변하지 않기 때문).
→ 이 가끔은 언제를 말하는거지? 주기가 따로 있나?
그 후에, 유저가 추천을 요청할 때마다, precomputed similarities를 활용하여 평점을 요청에 따라 효율적으로 계산할 수 있다.
 
💡
코사인 기반 접근법에서는 두 사용자를 다차원 공간의 두 벡터로 취급하고, 그들 사이의 각도의 코사인을 계산하여 두 벡터 간의 유사성을 측정한다. 이 외에도 평균 제곱 차이 측정을 사용하는 방법 등 다양한 유사성 측정 방법이 있다. 추천 시스템은 사용자 유사성 계산과 평점 추정을 가능한 한 효율적으로 구현하기 위해 각기 다른 접근법을 취할 수 있다. 일반적인 전략은 모든 사용자 유사성을 미리 계산하고, 한동안 한 번만 다시 계산하는 것이다. 그런 다음 사용자가 추천을 요청할 때마다, 미리 계산된 유사성을 사용하여 평점을 요청에 따라 효율적으로 계산할 수 있다.
 
Note that both the content-based and the collaborative approaches use the same cosine measure from information retrieval literature.
However, in content-based recommender systems, it is used to measure the similarity between vectors of TF-IDF weights, whereas, in collaborative systems, it measures the similarity between vectors of the actual user-specified ratings.
 
content-based approach 모두 information retrieval 문헌에서 동일한 cosine measure(코사인 측정)을 사용한다는 점을 알린다.
그러나,
content-based 추천 시스템에서는
→ TF-IDF weight의 벡터 간의 similarity을 측정하는 데 사용되며,
추천 시스템에서는
→ 실제 유저가 지정한(평가한) 평점의 벡터 간의 similarity을 측정한다.
💡
콘텐츠 기반 접근법과 협업 접근법 모두 정보 검색에서 사용하는 코사인 측정방법을 사용합니다. 그러나 콘텐츠 기반 추천 시스템에서는 TF-IDF 가중치의 벡터 간의 유사성을 측정하는 데 사용되며, 협업 시스템에서는 사용자가 지정한 평점의 벡터 간의 유사성을 측정하는 데 사용된다는 점이 차이점이다.
 
Many performance-improving modifications, such as default votinginverse user frequencycase amplification [15], and weighted-majority prediction [27], [72], have been proposed as extensions to these standard correlation-based and cosine-based techniques.
For example, the default voting [15] is an extension to the memory-based approaches described above.
It was observed that, whenever there are relatively few user-specified ratings, these methods would not work well in computing the similarity between users  and  since the similarity measure is based on the intersection of the itemsets, i.e., sets of items rated by both users  and .
It was empirically shown that the rating prediction accuracy could improve if we assume some default rating value for the missing ratings [15].
 
default voting(일반투표)inverse user frequency(역 사용자 빈도)case amplification(케이스 증폭)[15], weighted-majority prediction(가중치-우세 예측)[27], [72] 등의 많은 성능-향상 수정은 standard correlation-based 와 cosine-based 기법에 대한 확장으로 제안되었다.
→ 그냥 correlation-based / cosine-based similarity 기법이 다른 여러 연구들의 성능향상에 도움이 됐다???
예를 들어, default voting[15]는 위에서 설명한 memory-based approach에 대한 확장이다.
상대적으로 user-specified ratings(유저가 평가한 아이템)이 적을 때, 이러한 방법들(memory-based approach)은 유저 사이의 유사성을 계산하는 데 잘 작동하지 않을 것이라는 것이 관찰되었다. 왜냐하면similarity measure는 아이템셋, 즉 유저 모두에 의해 평가된 아이템의 집합의 교집합에 기반하기 때문이다.
missing rating에 대해 일부 default rating 값을 가정하면 평점 예측 정확도가 향상될 수 있음이 경험적으로 보여졌다[15].
→ 여기서 말하는 default rating 값이 뭘까?????
💡
다양한 성능 향상 수정 사항이 표준 상관 기반 및 코사인 기반 기법에 대한 확장으로 제안되었습니다. 이러한 수정 사항 중 하나인 기본 투표는 사용자 지정 평점이 적을 때 사용자 간의 유사성 계산에 효과적이지 않은 메모리 기반 접근법에 대한 확장이다. 누락된 평점에 대해 기본 평점 값을 가정하면 평점 예측의 정확도가 향상될 수 있다는 것이 실증적으로 보여졌다.
 
Also, while the above techniques traditionally have been used to compute similarities between users, Sarwar et al. [91] proposed using the same correlation-based and cosine-based techniques to compute similarities between items instead and obtain the ratings from them.
This idea has been further extended in [29] for the top-N item recommendations.
In addition, [29], [91] present empirical evidence that item-based algorithms can provide better computational performance than traditional user-based collaborative methods while, at the same time, providing comparable or better quality than the best available user-based algorithms.
→ 또한, 위의 기법들이 전통적으로 유저 간의 유사성을 계산하는 데 사용되었지만,
Sarwar 등[91]은 동일한 correlation-basedcosine-based 을 사용하여 아이템간의 유사성을 대신 계산하고 그로부터 평점을 얻는 것을 제안하였다.
이 아이디어는 [29]에서 Top-개의 아이템 추천을 위해 더욱 확장되었다.
또한, [29], [91]에서는 item-based 알고리즘이 전통적인 user-based method보다 더 나은 계산 성능을 제공할 수 있으며, 동시에 가장 좋은 user-based 알고리즘보다 동등하거나 더 나은 품질을 제공할 수 있음을 경험적으로 보여준다.
user-based 보다 item-based 가 성능이 더 좋다?????
💡
Sarwar 등은 사용자 간의 유사성을 계산하는 데 전통적으로 사용되는 기법들을 아이템 간의 유사성을 계산하는 데 사용하고 그로부터 평점을 얻는 것을 제안했습니다. 이 아이디어는 상위 N개의 아이템 추천을 위해 더욱 확장되었습니다. 또한 아이템 기반 알고리즘이 전통적인 사용자 기반 협업 방법보다 더 나은 계산 성능을 제공하며, 가장 좋은 사용자 기반 알고리즘보다 동등하거나 더 나은 품질을 제공할 수 있다는 것이 실증적으로 보여졌다.
 
In contrast to memory-based methods, model-based algorithms [11], [15], [37], [39], [47], [64], [75], [105] use the collection of ratings to learn a model, which is then used to make rating predictions.
For example, [15] proposes a probabilistic approach to collaborative filtering, where the unknown ratings are calculated as
(14)
 
and it is assumed that rating values are integers between 0 and n and the probability expression is the probability that user  will give a particular rating to item  given that user's ratings of the previously rated items.
To estimate this probability, [15] proposes two alternative probabilistic models: cluster models and Bayesian networks.
In the first model, like-minded users are clustered into classes.
Given the user's class membership, the user ratings are assumed to be independent, i.e., the model structure is that of a naive Bayesian model.
The number of classes and the parameters of the model are learned from the data.
The second model represents each item in the domain as a node in a Bayesian network, where the states of each node correspond to the possible rating values for each item.
Both the structure of the network and the conditional probabilities are learned from the data.
One limitation of this approach is that each user can be clustered into a single cluster, whereas some recommendation applications may benefit from the ability to cluster users into several categories at once.
For example, in a book recommendation application, a user may be interested in one topic (e.g., programming) for work purposes and a completely different topic (e.g., fishing) for leisure.
 
→ memory-based methods와 대조적으로, model-based 알고리즘([11], [15], [37], [39], [47], [64], [75], [105])은 평점 collection(평점 집합 / rated 값들)을 활용하여 모델을 학습하고, 이를 사용하여 rating prediction을 생성한다.
예를 들어, [15]은 에 대한 probabilistic approach을 제안하며,unknown rating은 다음과 같이 계산된다:
(14)
의 기대값을 의미하는 것 같음
: 확률변수
: 확률 분포 함수
: 유저 가 평가한 아이템 집합
→ 즉, 유저 가 평가했던 아이템 의 평점이 일 때 아이템 가 평점 일 확률
notion image
1
2
3
4
5
여기서 rating values는 0에서 n 사이의 정수라고 가정하며, probability expression(확률 표현식)은 유저 가 이전에 평가한 rated item의 평점을 고려하여 아이템 에 특정 평점을 줄 확률이다.
이 확률을 추정하기 위해 [15]은 두 가지 대체 probabilistic 모델을 제안한다. :
(1) cluster models
(2) Bayesian networks
 
(1) cluster models
첫 번째 모델에서는 like-minded(뜻이 비슷한 / 생각이 비슷한) 유저들이 클래스로 묶인다.
유저의 클래스 membership(자격)이 주어지면, 유저 rating은 독립적이라고 가정한다. 즉, 모델 구조는 naive Bayesian model의 구조이다.
class의 수와 모델의 parameter는 데이터로부터 학습된다.
 
(2) Bayesian networks
두 번째 모델에서는 도메인의 각 아이템을 Bayesian network노드로 표현하며, 각 노드의 상태는 각 아이템의 가능한 평점 값에 해당한다.
structure of networ(네트워크의 구조)conditional probabilities(조건부 확률) 모두 데이터로부터 학습된다.
일부 추천 application은 유저를 한 번에 여러 카테고리로 클러스터링하는 능력에서 이익을 얻을 수 있음에도 불구하고 이 approach의 한 가지 limitation은 각 유저가 single cluster에 묶일 수 있다는 것이다.
→ 문제: Bayesian network는 단일 클러스터로만 묶을 수 있따.
예를 들어, 책 추천 application에서 유저는 work 목적으로 한 주제(예: 프로그래밍)에 관심이 있을 수 있고, leisure를 위해 완전히 다른 주제(예: 낚시)에 관심이 있을 수 있다.
 
💡
모델 기반 알고리즘은 평점 집합을 사용하여 모델을 학습하고, 이를 사용하여 평점을 예측합니다. 확률론적 접근법은 미지의 평점을 계산하고, 이를 통해 사용자가 이전에 평가한 아이템의 평점을 고려하여 특정 아이템에 특정 평점을 줄 확률을 추정합니다. 이 접근법의 한계는 각 사용자를 단일 클러스터로만 묶을 수 있다는 것이지만, 일부 추천 응용 프로그램은 사용자를 한 번에 여러 카테고리로 묶는 것이 유익할 수 있습니다
 
Moreover, [11] proposed a collaborative filtering method in a machine learning framework, where various machine learning techniques (such as artificial neural networks) coupled with feature extraction techniques (such as singular value decomposition—an algebraic technique for reducing dimensionality of matrices) can be used.
Both [15] and [11] compare their respective model-based approaches with standard memory-based approaches and report that, in some applications, model-based methods outperform memory-based approaches in terms of accuracy of recommendations.
However, the comparison in both cases is purely empirical and no underlying theoretical evidence supporting this claim is provided.
 
→ 더 나아가, [11]은 머신러닝에서 method을 제안하였는데, 이는 다양한 머신러닝 기술(인공 신경망)과 feature extraction 기술()을 결합하여 사용할 수 있다.
[15: 확률론적 접근]와 [11: 머신러닝 접근] 모두 각각의 model-based approach를 standard memory-based approach와 비교하고, 일부 application에서는 model-based approach이 추천의 정확도 면에서 memory-based approach을 능가한다고 하였다.
하지만 두 경우 모두 비교는 순수히 경험적이며, 이 주장을 지지하는 이론적 증거는 제공되지 않았다.
💡
기계 학습 프레임워크에서 협업 필터링 방법을 제안한 연구가 있으며, 이는 다양한 기계 학습 기법과 피처 추출 기법을 결합하여 사용할 수 있다. 일부 애플리케이션에서는 모델 기반 방법이 메모리 기반 접근법을 능가하는 것으로 나타났지만, 이는 순전히 경험적인 비교이며 이론적인 증거는 제공되지 않았다.
 
There have been several other model-based collaborative recommendation approaches proposed in the literature.
A statistical model for collaborative filtering was proposed in [105], and several different algorithms for estimating the model parameters were compared, including K-means clustering and Gibbs sampling.
Other collaborative filtering methods include a Bayesian model [20], a probabilistic relational model [37], a linear regression [91], and a maximum entropy model [75].
More recently, a significant amount of research has been done in trying to model the recommendation process using more complex probabilistic models.
For instance, Shani et al. [96] view the recommendation process as a sequential decision problem and propose using Markov decision processes (a well-known stochastic technique for modeling sequential decisions) for generating recommendations.
Other probabilistic modeling techniques for recommender systems include probabilistic latent semantic analysis [47], [48] and a combination of multinomial mixture and aspect models using generative semantics of Latent Dirichlet Allocation [64].
Similarly, Si and Jin [99] also use probabilistic latent semantic analysis to propose a flexible mixture model that allows modeling the classes of users and items explicitly with two sets of latent variables.
Furthermore, Kumar et al. [55] use a simple probabilistic model to demonstrate that collaborative filtering is valuable with relatively little data on each user, and that, in certain restricted settings, simple collaborative filtering algorithms are almost as effective as the best possible algorithms in terms of utility.
 
→ 문헌에서는 여러 가지 model-based 추천 approach가 제안되었다.
(1) [105]에서는 을 위한 statistical(통계) 모델을 제안하고,
K-means clustering와 Gibbs sampling링을 포함한 여러 가지 다른 알고리즘을 모델 parameter 추정에 사용하여 비교하였다.
다른 method에는 Bayesian model [20], a probabilistic relational model [37], a linear regression [91], and a maximum entropy model [75] 등이 있다.
(2) 최근에는 추천 과정을 더 complex probabilistic 모델을 사용하여 모델링하려는 연구가 많이 이루어졌다.
예를 들어, Shani 등[96]은
추천 process를 sequential decision problem로 보고, 추천을 생성하기 위해 Markov decision processes(순차적 결정을 모델링하는 잘 알려진 확률적 기법)을 사용하는 것을 제안하였다.
추천 시스템을 위한 다른 확률 모델링 기법에는
probabilistic latent semantic analysis[47], [48]과 Latent Dirichlet Allocation의 생성적 의미를 사용한 multinomial mixtureaspect modelscomnination[64]이 있다.
마찬가지로, Si와 Jin[99]
probabilistic latent semantic analysis을 사용하여 유저와 아이템의 클래스를 두개의 latent variables 집합으로 명시적으로 모델링할 수 있는 flexible mixture model을 제안하였다.
또한, Kumar 등[55]은
간단한 확률 모델을 사용하여 각 유저에 대한 상대적으로 적은 데이터로도 이 유용하다는 것을 보여주었으며, 특정 restricted 설정에서는 간단한 알고리즘이 유틸리티 면에서 가장 좋은 가능한 알고리즘과 거의 동등하게 효과적일 수 있다는 것을 보여주었다.
💡
다양한 모델 기반 협업 추천 방법이 제안되었으며, 이에는 K-평균 클러스터링과 기브스 샘플링 같은 여러 알고리즘이 포함되어 있다. 더 복잡한 확률 모델을 사용하여 추천 과정을 모델링하려는 최근의 연구도 많이 이루어졌다. 이러한 연구들은 추천 과정을 순차적 결정 문제로 보고, 마르코프 결정 과정 등의 기법을 사용하여 추천을 생성하는 방향으로 진행되었다. 이런 접근법은 상대적으로 적은 양의 사용자 데이터로도 협업 필터링이 유용하다는 것을 보여주었으며, 특정한 제한된 설정에서는 간단한 협업 필터링 알고리즘이 최적의 알고리즘과 거의 동등한 성능을 보여주었다.
 
As in the case of content-based techniques, the main difference between collaborative model-based techniques and heuristic-based approaches is that the model-based techniques calculate utility (rating) predictions based not on some ad hoc heuristic rules, but, rather, based on a model learned from the underlying data using statistical and machine learning techniques.
A method combining both memory-based and model-based approaches was proposed in [79], where it was empirically demonstrated that the use of this combined approach can provide better recommendations than pure memory-based and model-based collaborative approaches.
 
content-based 기법의 경우와 마찬가지로, model-based collaborative기법과 heuristic-based approach 사이의 주요 차이점은 model-based 기법이 ad hoc heuristic rules에 기반한 것이 아니라, statistical 과 machine learning 기법을 활용하여 기본 데이터에서 학습된 모델에 기반하여 utility(평점) 예측을 계산한다는 것이다.
memory-basedmodel-based approach결합하는 방법은 [79]에서 제안되었으며, 이 combined approach의 활용이 pure memory-basedmodel-based approach보다 더 나은 추천을 제공할 수 있음이 경험적으로 설명되었다.
💡
협업 모델 기반 기법과 휴리스틱 기반 접근법 사이의 주요 차이점은, 모델 기반 기법이 통계와 기계 학습 기법을 사용하여 기본 데이터에서 학습된 모델에 기반한 유틸리티(평점) 예측을 계산한다는 점입니다. 메모리 기반과 모델 기반 접근법을 결합하는 방법이 제안되었으며, 이 결합 방법이 순수 메모리 기반 및 모델 기반 접근법보다 더 나은 추천을 제공할 수 있음이 경험적으로 입증되었습니다.
 
A different approach to improving the performance of existing collaborative filtering algorithms was taken in [108], where the input set of user-specified ratings is carefully selected using several techniques that exclude noise, redundancy, and exploit the sparsity of the ratings' data.
The empirical results demonstrate the increase in accuracy and efficiency for model-based collaborative filtering algorithms.
It is also suggested that the proposed input selection techniques may help the model-based algorithms to address the problem of learning from large databases [108].
Furthermore, among the latest developments, [109] proposes a probabilistic approach to collaborative filtering that constitutes yet another way to combine the memory-based and model-based techniques.
In particular, [109] proposes 1) using an active learning approach to learn the probabilistic model of each user's preferences and 2) using the stored user profiles in a mixture model to calculate recommendations.
The latter aspect of the proposed approach deploys some of the ideas used in traditional memory-based algorithms.
 
→ 기존의 알고리즘의 성능을 향상시키기 위한 다른 접근법은 [108: input selection]에서 활용되었는데, user-specified(유저가 평가한) rating의 입력 set을 noise 와 중복을 배제하고 평점 데이터의 sparsity을 활용하는 여러 기법을 활용하여 신중하게 선택한다.
경험적인 결과는 model-based 알고리즘의 정확도와 효율성 증가를 설명한다.
또한 제안된 input selection 기법이 large database로부터 학습하는 문제를 model-based 알고리즘이 해결하는 데 도움이 될 수 있을 것이라고 제안되었다[108].
더불어, 최근의 발전 중에서 [109]은 memory-based model-based를 결합하는 또 다른 방법을 제시하는 에 대한 probabilistic approach 을 제안한다.
특히, [109: probabilistic approach]은
1) 각 유저의 preference에 대한 확률 모델을 학습하는 데 active learning approach을 사용하고
2) mixture model에서 저장된 유저 프로필을 사용하여 추천을 계산하는 것을 제안한다.
제안된 접근법의 후자 측면은 전통적인 memory-based 알고리즘에서 사용되는 일부 아이디어를 활용한다.
💡
사용자가 지정한 평점의 입력 집합을 노이즈와 중복을 배제하고 평점 데이터의 희소성을 활용하여 신중하게 선택하는 방법을 통해 협업 필터링 알고리즘의 성능을 향상시킬 수 있다는 접근법이 제안되었습니다. 이러한 접근법은 모델 기반 협업 필터링 알고리즘의 정확도와 효율성을 향상시키는 것으로 나타났으며, 대규모 데이터베이스로부터 학습하는 문제를 해결하는 데 도움이 될 수 있습니다. 또한, 메모리 기반과 모델 기반 기법을 결합하는 새로운 확률론적 접근법이 제안되었습니다.
 
The pure collaborative recommender systems do not have some of the shortcomings that content-based systems have.
In particular, since collaborative systems use other users' recommendations (ratings), they can deal with any kind of content and recommend any items, even the ones that are dissimilar to those seen in the past.
However, collaborative systems have their own limitations [8], [57], as described below.
 
→ 순수 추천 시스템은 content-based 시스템이 가진 일부 단점(shortcomings)을 가지고 있지 않다.
→ 무슨 단점 이었을까?
특히, 추천시스템은 다른 유저의 추천(평점)을 활용하기 때문에 어떤 종류의 콘텐츠든 처리하고, 과거에 본 것과 다른 아이템이라도 추천할 수 있다.
그러나 추천 시스템에는 아래에서 설명할 것처럼 자체적인 제한이 있다[8], [57].
💡
순수 협업 추천 시스템은 콘텐츠 기반 시스템이 가진 일부 단점이 없습니다. 협업 시스템은 다른 사용자의 추천을 사용하여 어떤 종류의 콘텐츠든 처리하고, 과거에 본 것과 다른 아이템도 추천할 수 있습니다. 그러나 협업 시스템에는 자체적인 제한이 있습니다.
 
 

2.2 Collaborative Methods 2.2.1 ~ 2.4 Summary and Conclusions

2.2.1 New User Problem

It is the same problem as with content-based systems. In order to make accurate recommendations, the system must first learn the user's preferences from the ratings that the user gives. Several techniques have been proposed to address this problem. Most of them use the hybrid recommendation approach, which combines content-based and collaborative techniques. The next section describes hybrid recommender systems in more detail. An alternative approach is presented in [83][109], where various techniques are explored for determining the best (i.e., most informative to a recommender system) items for a new user to rate. These techniques use strategies that are based on item popularity, item entropy, user personalization, and combinations of the above [83][109].
 
→ 이는 contents-based system과 같은 문제이다. 정확한 추천을 하기 위해서는 시스템이 먼저 유저가 주는 평점에서 유저의 선호도를 학습해야 한다. 이 문제를 해결하기 위한 여러 기법이 제안되었다. 대부분은 contents-based 과 collaborative 기반 기법을 결합한 하이브리드 추천 접근법을 사용합니다. 다음 섹션에서는 하이브리드 추천 시스템에 대해 더 자세히 설명하겠습니다. 대안적인 접근법은 [83], [109]에서 제시되며, 여기서는 새로운 사용자가 평점을 매길 가장 좋은(즉, 추천 시스템에 가장 유익한) 아이템을 결정하기 위한 다양한 기법을 탐색합니다. 이러한 기법은 아이템의 인기도, 아이템의 엔트로피, 사용자 개인화, 그리고 위의 조합에 기반한 전략을 사용합니다[83], [109]. 요약하면, 시스템이 정확한 추천을 하기 위해서는 먼저 사용자의 선호도를 학습해야 하는데, 이는 콘텐츠 기반 시스템과 같은 문제입니다. 이를 해결하기 위한 여러 기법이 제안되었으며, 대부분은 콘텐츠 기반 기법과 협업 기법을 결합한 하이브리드 추천 접근법을 사용합니다. 또한, 새로운 사용자가 평점을 매길 가장 좋은 아이템을 결정하기 위한 다양한 기법이 제안되었습니다. 이러한 기법은 아이템의 인기도, 엔트로피, 사용자 개인화 등에 기반한 전략을 사용합니다.
💡
 

2.2.2 New Item Problem

New items are added regularly to recommender systems. Collaborative systems rely solely on users' preferences to make recommendations. Therefore, until the new item is rated by a substantial number of users, the recommender system would not be able to recommend it. This problem can also be addressed using hybrid recommendation approaches, described in the next section.
 
→ 추천 시스템에는 정기적으로 새로운 아이템이 추가된다. 협업 시스템은 사용자의 선호도만을 기반으로 추천을 한다. 따라서 새 아이템이 상당수의 사용자에게 평점을 받을 때까지, 추천 시스템은 그것을 추천할 수 없다. 이 문제는 다음 섹션에서 설명하는 하이브리드 추천 접근법을 사용하여 해결할 수도 있다.
💡
추천 시스템에 새로운 아이템이 정기적으로 추가되며, 협업 시스템이 사용자 선호도만을 기반으로 추천을 하기 때문에 새 아이템이 충분한 수의 사용자로부터 평점을 받을 때까지 그것을 추천할 수 없다는 문제를 제기하고 있습니다. 이 문제는 하이브리드 추천 접근법을 사용하여 해결할 수 있다는 것이 이 문단의 주장입니다. 이는 기존의 협업 필터링 방식만을 사용하는 추천 시스템의 한계를 보완하는 방안을 제시한 것입니다.
 

2.2.3 Sparsity

In any recommender system, the number of ratings already obtained is usually very small compared to the number of ratings that need to be predicted. Effective prediction of ratings from a small number of examples is important. Also, the success of the collaborative recommender system depends on the availability of a critical mass of users. For example, in the movie recommendation system, there may be many movies that have been rated by only few people and these movies would be recommended very rarely, even if those few users gave high ratings to them. Also, for the user whose tastes are unusual compared to the rest of the population, there will not be any other users who are particularly similar, leading to poor recommendations [8]. One way to overcome the problem of rating sparsity is to use user profile information when calculating user similarity. That is, two users could be considered similar not only if they rated the same movies similarly, but also if they belong to the same demographic segment. For example, [76] uses the gender, age, area code, education, and employment information of users in the restaurant recommendation application. This extension of traditional collaborative filtering techniques is sometimes called “demographic filtering” [76]. Another approach that also explores similarities among users has been proposed in [49], where the sparsity problem is addressed by applying associative retrieval framework and related spreading activation algorithms to explore transitive associations among consumers through their past transactions and feedback. A different approach for dealing with sparse rating matrices was used in [11][90], where a dimensionality reduction technique, Singular Value Decomposition (SVD), was used to reduce the dimensionality of sparse ratings matrices. SVD is a well-known method for matrix factorization that provides the best lower rank approximations of the original matrix [90].
 
→ 어떤 추천 시스템에서든, 이미 얻은 평점의 수는 일반적으로 예측해야 할 평점의 수에 비해 매우 작다. 적은 수의 예시로부터 평점을 효과적으로 예측하는 것은 중요하다. 또한, 협업 추천 시스템의 성공은 사용자의 크리티컬 마스의 유무에 달려 있다. 예를 들어, 영화 추천 시스템에서는 소수의 사람들만이 평가한 많은 영화들이 있을 수 있고, 이런 영화들은 그 소수의 사용자들이 높은 평점을 줬더라도 매우 드물게 추천된다. 또한, 나머지 인구에 비해 특이한 취향을 가진 사용자의 경우, 특히 유사한 다른 사용자가 없어서 추천이 부족할 수 있다[8]. 평점의 희소성 문제를 극복하는 한 가지 방법은 사용자 유사성을 계산할 때 사용자 프로필 정보를 사용하는 것이다. 즉, 두 사용자가 같은 영화에 비슷한 평점을 매겼다면 물론, 같은 데모그래픽 세그먼트에 속한다면 유사하다고 간주될 수 있다. 예를 들어, [76]은 식당 추천 애플리케이션에서 사용자의 성별, 나이, 지역 코드, 교육, 직업 정보를 사용한다. 이런 전통적인 협업 필터링 기법의 확장은 때때로 "데모그래픽 필터링"[76]이라고 불린다. 사용자 간의 유사성을 탐색하는 또 다른 접근법은 [49]에서 제안되었는데, 여기서는 평점의 희소 문제를 해결하기 위해 연관 검색 프레임워크와 관련된 스프레딩 활성화 알고리즘을 적용하여 과거 거래와 피드백을 통해 소비자 간의 추이적 연관성을 탐색한다. 희소 평점 행렬을 처리하는 다른 접근법은 [11], [90]에서 사용되었는데, 여기서는 차원 축소 기법인 Singular Value Decomposition (SVD)을 사용하여 희소 평점 행렬의 차원을 줄였다. SVD는 원래 행렬의 최상의 낮은 순위 근사치를 제공하는 행렬 분해에 대한 잘 알려진 방법이다[90].
 
💡
이 문단에서는 추천 시스템에서 이미 획득한 평점의 수가 예측해야 할 평점의 수에 비해 매우 적다는 문제를 제기하고 있습니다. 이는 평점 예측의 어려움과 협업 필터링 시스템의 성공이 사용자 수에 크게 의존한다는 문제를 보여줍니다.이 문단에서는 평점 희소성 문제를 해결하기 위한 여러 방법을 제시하고 있습니다. 이에는 데모그래픽 필터링, 연관 검색 프레임워크의 활용, 그리고 Singular Value Decomposition (SVD)을 이용한 차원 축소 등이 포함됩니다. 이러한 방법들은 기존의 협업 필터링 방식의 한계를 보완하고 추천의 정확성을 향상시키는 방안을 제시한 것입니다.
 

2.3 Hybrid Methods

Several recommendation systems use a hybrid approach by combining collaborative and content-based methods, which helps to avoid certain limitations of content-based and collaborative systems [8][9][21][76][94][100][105]. Different ways to combine collaborative and content-based methods into a hybrid recommender system can be classified as follows:
  1. implementing collaborative and content-based methods separately and combining their predictions,
  1. incorporating some content-based characteristics into a collaborative approach,
  1. incorporating some collaborative characteristics into a content-based approach, and
  1. constructing a general unifying model that incorporates both content-based and collaborative characteristics.
All of the above approaches have been used by recommender systems researchers, as described below.
 
→ 여러 추천 시스템은 협업 방식과 content-based 방식을 결합하는 하이브리드 접근법을 사용하는데, 이는 content-based 시스템과 협업 시스템의 특정한 제한을 피하는 데 도움이 된다[8], [9], [21], [76], [94], [100], [105]. 협업 방식과 content-based 방식을 하이브리드 추천 시스템으로 결합하는 다양한 방법은 다음과 같이 분류할 수 있다:
  1. 협업 방식과 content-based 방식을 별도로 구현하고 그들의 예측을 결합하는 것,
  1. 협업 접근법에 일부 content-based 특성을 포함하는 것,
  1. content-based 접근법에 일부 협업 특성을 포함하는 것,
  1. 그리고content-based 특성과 협업 특성을 모두 포함하는 일반적인 통합 모델을 구축하는 것.
위의 모든 접근법은 아래에서 설명하겠지만, 추천 시스템 연구자들에 의해 사용되었다.
💡
이 문단에서는 하이브리드 접근법을 사용하는 추천 시스템에 대해 말하고 있습니다. 하이브리드 접근법은 content-based 방식과 협업 방식을 결합하여 두 방식의 한계를 극복하는 방법입니다.이 문단에서는 하이브리드 추천 시스템을 구성하는 다양한 방법을 제안하고 있습니다. 이는 협업 방식과 content-based 방식을 별도로 구현하고 예측을 결합하거나, 각 접근법에 다른 접근법의 특성을 포함시키거나, 두 방식의 특성을 모두 포함하는 통합 모델을 구축하는 방법 등을 포함하고 있습니다. 이러한 접근법은 모두 추천 시스템 연구자들에 의해 사용되었습니다.
 

2.3.1 Combining Separate Recommenders

One way to build hybrid recommender systems is to implement separate collaborative and content-based systems. Then, we can have two different scenarios. First, we can combine the outputs (ratings) obtained from individual recommender systems into one final recommendation using either a linear combination of ratings [21] or a voting scheme [76]. Alternatively, we can use one of the individual recommenders, at any given moment choosing to use the one that is “better” than others based on some recommendation “quality” metric. For example, the DailyLearner system [13] selects the recommender system that can give the recommendation with the higher level of confidence, while [104] chooses the one whose recommendation is more consistent with past ratings of the user.
 
→ 하이브리드 추천 시스템을 구축하는 한 가지 방법은 별도의 협업 시스템과 content-based 시스템을 구현하는 것이다. 그러면 우리는 두 가지 다른 시나리오를 가질 수 있다. 첫째, 개별 추천 시스템에서 얻은 출력(평점)을 평점의 선형 조합[21]이나 투표 체계[76]를 사용하여 최종 추천으로 결합할 수 있다. 또는, 주어진 순간에 어떤 추천 "품질" 메트릭에 기반하여 다른 것보다 "더 나은" 추천 시스템을 선택하여 개별 추천자 중 하나를 사용할 수 있다. 예를 들어, DailyLearner 시스템[13]은 더 높은 수준의 확신으로 추천을 할 수 있는 추천 시스템을 선택하며, [104]는 사용자의 과거 평점과 더 일관성 있는 추천을 하는 추천 시스템을 선택한다.
💡
1. 이 문단에서는 하이브리드 추천 시스템을 구축하는 한 가지 방법을 제시하고 있습니다. 이 방법은 협업 시스템과 content-based 시스템을 별도로 구현하고, 이들의 출력을 결합하거나, 특정 추천 품질 메트릭에 따라 더 나은 시스템을 선택하는 것입니다. 2. 이 방법은 기존의 협업 시스템과 content-based 시스템의 한계를 극복하고, 더 높은 품질의 추천을 제공하기 위한 방법으로 제시되었습니다. 이는 DailyLearner 시스템과 같이 더 높은 확신을 가진 시스템을 선택하거나, 사용자의 과거 평점과 일관성 있는 시스템을 선택하는 등의 방법을 통해 이루어집니다.
 

2.3.2 Adding Content-Based Characteristics to Collaborative Models

Several hybrid recommender systems, including Fab [8] and the “collaboration via content” approach, described in [76], are based on traditional collaborative techniques but also maintain the content-based profiles for each user. These content-based profiles, and not the commonly rated items, are then used to calculate the similarity between two users. As mentioned in [76], this allows to overcome some sparsity-related problems of a purely collaborative approach since, typically, not many pairs of users will have a significant number of commonly rated items. Another benefit of this approach is that users can be recommended an item not only when this item is rated highly by users with similar profiles, but also directly, i.e., when this item scores highly against the user's profile [8]. Good et al. [40] employ a somewhat similar approach in using the variety of different filterbots—specialized content-analysis agents that act as additional participants in a collaborative filtering community. As a result, the users whose ratings agree with some of the filterbots' ratings would be able to receive better recommendations [40]. Similarly, [65] uses a collaborative approach where the traditional user's ratings vector is augmented with additional ratings, which are calculated using a pure content-based predictor.
 
→ 여러 하이브리드 추천 시스템들, Fab[8] 포함하고 [76]에서 설명하는 "content를 통한 협업" 접근법은 전통적인 협업 기법에 기반을 두고 있지만, 각 사용자에 대한 content-based 프로필도 유지한다. 이 content-based 프로필들은 공통적으로 평가된 아이템이 아니라 두 사용자 간의 유사성을 계산하는 데 사용된다. [76]에서 언급된 바와 같이, 이것은 일반적으로 많은 쌍의 사용자들이 상당한 수의 공통적으로 평가된 아이템을 가지지 않을 것이므로, 순수 협업 접근법의 일부 희소성 관련 문제를 극복할 수 있게 해준다. 이 접근법의 또 다른 장점은 사용자가 비슷한 프로필을 가진 사용자들에게 높은 평점을 받은 아이템뿐만 아니라, 직접적으로, 즉 사용자의 프로필에 대해 높은 점수를 받은 아이템을 추천받을 수 있다는 것이다[8]. Good 등[40]은 다양한 필터봇들 - 협업 필터링 커뮤니티에서 추가 참가자로서 기능하는 특수한 콘텐츠 분석 에이전트들 - 을 사용하는 비슷한 접근법을 사용한다. 결과적으로, 일부 필터봇들의 평점과 일치하는 사용자들은 더 나은 추천을 받을 수 있게 된다[40]. 마찬가지로, [65]는 순수 content-based 예측기를 사용하여 계산된 추가 평점으로 전통적인 사용자의 평점 벡터를 확장하는 협업 접근법을 사용한다.
💡
1. 이 문단에서는 Fab와 'content를 통한 협업' 접근법 등 다양한 하이브리드 추천 시스템에 대해 설명하고 있습니다. 이러한 시스템들은 전통적인 협업 기법에 기반을 두고 있지만, 각 사용자에 대한 content-based 프로필을 유지하여 두 사용자 간의 유사성을 계산합니다. 2. 이 방법은 순수 협업 접근법의 희소성 문제를 극복하고, 사용자의 프로필에 따라 아이템을 직접 추천하는 등의 장점을 제공합니다. 이는 기존의 협업 필터링 방식만을 사용하는 추천 시스템의 한계를 보완하는 방안을 제시한 것입니다.
 

2.3.3 Adding Collaborative Characteristics to Content-Based Models

The most popular approach in this category is to use some dimensionality reduction technique on a group of content-based profiles. For example, [100] uses latent semantic indexing (LSI) to create a collaborative view of a collection of user profiles, where user profiles are represented by term vectors (as discussed in Section 2.1), resulting in a performance improvement compared to the pure content-based approach.
 
→ 이 카테고리에서 가장 인기 있는 접근법은 content-based 프로필 그룹에 차원 축소 기법을 사용하는 것이다. 예를 들어, [100]은 latent semantic indexing (LSI)를 사용하여 사용자 프로필의 집합에 대한 협업 뷰를 생성하는데, 여기서 사용자 프로필은 항목 벡터로 표현된다(Section 2.1에서 논의된 바와 같이). 이 결과 순수 content-based 접근법에 비해 성능이 향상된다.
💡
이 문단에서는 content-based 프로필 그룹에 차원 축소 기법을 사용하는 접근법에 대해 설명하고 있습니다. 이 방법은 latent semantic indexing (LSI)를 사용하여 사용자 프로필의 집합에 대한 협업 뷰를 생성하는 것입니다.이 방법은 순수 content-based 접근법에 비해 추천 성능을 향상시키는 방법으로 제시되었습니다. 이는 기존의 content-based 방식의 한계를 보완하고 추천의 정확성을 향상시키는 방안을 제시한 것입니다.
 

2.3.4 Developing a Single Unifying Recommendation Model

Many researchers have followed this approach in recent years. For instance, [9] proposes using content-based and collaborative characteristics (e.g., the age or gender of users or the genre of movies) in a single rule-based classifier. Popescul et al. [80] and Schein et al. [94] propose a unified probabilistic method for combining collaborative and content-based recommendations, which is based on the probabilistic latent semantic analysis [46]. Yet, another approach is proposed by [25] and [5], where Bayesian mixed-effects regression models are used that employ Markov chain Monte Carlo methods for parameter estimation and prediction. In particular, [5] uses the profile information of users and items in a single statistical model that estimates unknown ratings  for user  and item :
, (15)
 
where  and  represent users and items, respectively, and , and  are random variables taking into effect noise, unobserved sources of user heterogeneity, and item heterogeneity, respectively. Also,  is a matrix containing user and item characteristics,  is a vector of user characteristics, and  is a vector of item characteristics. The unknown parameters of this model are , and  and they are estimated from the data of already known ratings using Markov chain Monte Carlo methods. In summary, [5] uses user attributes {} constituting a part of a user profile, item attributes {} constituting a part of an item profile, and their interactions {} to estimate the rating of an item.
 
→ 최근 몇 년 동안 많은 연구자들이 이 접근법을 따랐다. 예를 들어, [9]는 단일 규칙 기반 분류기에서 content-based 특성과 협업 특성(예: 사용자의 나이나 성별, 영화의 장르 등)을 사용하자는 제안을 했다. Popescul 등[80]과 Schein 등[94]은 확률적 잠재 의미 분석[46]에 기반한 협업과 content-based 추천을 결합하는 통합 확률적 방법을 제안했다. 또 다른 접근법은 [25]과 [5]에서 제안되었는데, 여기서는 매개변수 추정과 예측을 위해 마르코프 체인 몬테카를로 방법을 사용하는 베이지안 혼합 효과 회귀 모델을 사용했다. 특히, [5]는 유저 와 아이템의 프로필 정보를 사용하여 알려지지 않은 평점 를 추정하는 단일 통계 모델을 사용한다:
여기서 는 각각 사용자와 아이템을 나타내며, , , 그리고 는 각각 노이즈, 관찰되지 않은 사용자 다양성, 아이템 다양성을 고려한 무작위 변수다. 또한, 는 사용자와 아이템 특성을 포함하는 행렬이고, 는 사용자 특성의 벡터이며, 는 아이템 특성의 벡터다. 이 모델의 알려지지 않은 매개변수는 , , , 그리고 이며, 이들은 마르코프 체인 몬테카를로 방법을 사용하여 이미 알려진 평점의 데이터로부터 추정된다. 요약하자면, [5]는 사용자 프로필의 일부를 구성하는 사용자 속성 {}, 아이템 프로필의 일부를 구성하는 아이템 속성 {}, 그리고 그들의 상호작용 {}를하여 아이템의 평점을 추정한다.
 
💡
이 문단에서는 최근 연구자들이 따르는 다양한 하이브리드 추천 시스템 접근법에 대해 설명하 있습니다. 이 방법은 단일 규칙 기반 분류기에서 content-based 특성과 협업 특성을 사용하거나, 확률적 잠재 의미 분석에 기반한 통합 확률적 방법을 사용하거나, 마르코프 체인 몬테카를로 방법을 사용하는 베이지안 혼합 효과 회귀 모델을 사용하는 것입니다.이 방법은 사용자의 속성, 아이템의 속성, 그리고 그들의 상호작용을 사용하여 아이템의 평점을 추정하며, 이는 기존의 협업 필터링 방식의 한계를 보완하고 추천의 정확성을 향상시키는 방안을 제시한 것입니다.
 
Hybrid recommendation systems can also be augmented by knowledge-based techniques [17], such as case-based reasoning, in order to improve recommendation accuracy and to address some of the limitations (e.g., new user, new item problems) of traditional recommender systems. For example, knowledge-based recommender system Entrée [17] uses some domain knowledge about restaurants, cuisines, and foods (e.g., that “seafood” is not “vegetarian”) to recommend restaurants to its users. The main drawback of knowledge-based systems is a need for knowledge acquisition—a well-known bottleneck for many artificial intelligence applications. However, knowledge-based recommendation systems have been developed for application domains where domain knowledge is readily available in some structured machine-readable form, e.g., as an ontology. For example, the Quickstep and Foxtrot systems [66] use research paper topic ontology to recommend online research articles to the users.
 
→ 하이브리드 추천 시스템은 지식 기반 기법[17]으로 보완될 수도 있는데, 이는 추천의 정확성을 향상시키고 전통적인 추천 시스템의 일부 제한 사항(예: 새로운 사용자, 새로운 아이템 문제 등)을 해결하기 위한 것이다. 예를 들어, 지식 기반 추천 시스템 Entrée[17]는 식당, 요리, 음식에 대한 일부 도메인 지식(예: "해산물"이 "채식"이 아님)을 사용하여 사용자에게 식당을 추천한다. 지식 기반 시스템의 주요 단점은 지식 획득이 필요하다는 것으로, 이는 많은 인공지능 응용 프로그램에서 잘 알려진 병목 현상이다. 그러나 도메인 지식이 어떤 구조화된 기계 가독 형태, 예를 들어 온톨로지로 쉽게 이용할 수 있는 응용 도메인에서는 지식 기반 추천 시스템이 개발되었다. 예를 들어, Quickstep 및 Foxtrot 시스템[66]은 연구 논문 주제 온톨로지를 사용하여 사용자에게 온라인 연구 논문을 추천한다.
 
💡
 
Moreover, several papers, such as [8][65][76][100], empirically compare the performance of the hybrid with the pure collaborative and content-based methods and demonstrate that the hybrid methods can provide more accurate recommendations than pure approaches.
 
→ 또한, [8], [65], [76], [100] 등의 여러 논문들은 하이브리드와 순수 협업 및 content-based 방법의 성능을 경험적으로 비교하고, 하이브리드 방법이 순수 접근법보다 더 정확한 추천을 제공할 수 있음을 보여준다.
💡
이 문단에서는 지식 기반 기법을 활용한 하이브리드 추천 시스템에 대해 설명하고 있습니다. 이 방법은 추천의 정확성을 향상시키고 전통적인 추천 시스템의 한계를 해결하기 위한 것입니다.이 방법은 도메인 지식을 활용하여 사용자에게 추천을 제공하며, 이는 기존의 협업 필터링 방식의 한계를 보완하고 추천의 정확성을 향상시키는 방안을 제시한 것입니다.또한, 여러 연구에서는 하이브리드 방법이 순수 접근법보다 더 정확한 추천을 제공할 수 있음을 경험적으로 증명하였습니다. 이는 하이브리드 추천 시스템의 효과성을 입증하는 중요한 연구 결과입니다.
 

2.4 Summary and Conclusions

As described in Sections 2.12.2, and 2.3, there has been much research done on recommendation technologies over the past several years that have used a broad range of statistical, machine learning, information retrieval, and other techniques that have significantly advanced the state-of-the-art in comparison to early recommender systems that utilized collaborative and content-based heuristics. As was discussed above, recommender systems can be categorized as being 1) content-basedcollaborative, or hybrid, based on the recommendation approach used, and 2) heuristic-based or model-based, based on the types of recommendation techniques used for the rating estimation. We use these two orthogonal dimensions to classify the recommender systems research in the 2×3 matrix presented in Table 2.
 
→ Section 2.1, 2.2, 그리고 2.3에서 설명한 바와 같이, 지난 몇 년 동안에는 통계, 머신러닝, 정보 검색, 그 외의 기법을 활용한 추천 기술에 대한 많은 연구가 이루어졌습니다. 이 연구들은 협업과 content-based 휴리스틱을 활용한 초기의 추천 시스템에 비해 현존하는 기술을 크게 발전시켰습니다. 위에서 논의한 것처럼, 추천 시스템은 사용된 추천 접근법에 기반하여 1) content-based, 협업, 또는 하이브리드로, 그리고 사용된 추천 기법 유형에 기반하여 2) 휴리스틱 기반 또는 모델 기반으로 분류될 수 있습니다. 우리는 이 두 개의 직교하는 차원을 사용하여 Table 2에 제시된 2x3 행렬에서 추천 시스템 연구를 분류합니다.
 
💡
이 문단에서는 지난 몇 년 동안 추천 기술에 대한 연구에 대해 설명하고 있습니다. 이 연구들은 통계, 머신러닝, 정보 검색 등의 다양한 기법을 활용하여 현존하는 추천 시스템 기술을 크게 발전시켰습니다.또한, 이 문단에서는 추천 시스템을 분류하는 두 가지 주요 방법에 대해 설명하고 있습니다. 이 방법들은 사용된 추천 접근법과 사용된 추천 기법 유형에 기반하여 추천 시스템을 분류하는 것입니다.이러한 분류 방법은 추천 시스템 연구를 이해하고 분석하는 데 중요한 도구를 제공합니다. 이는 추천 시스템의 다양한 유형과 그들의 특성을 이해하는 데 도움이 됩니다.
 
TABLE 2 Classification of Recommender Systems Research
notion image
The recommendation methods described in this section have performed well in several applications, including the ones for recommending books, CDs, and news articles [64][88], and some of these methods are used in the “industrial-strength” recommender systems, such as the ones deployed at Amazon [61], MovieLens [67], and VERSIFI Technologies (formerly AdapiveInfo.com) [14]. However, both collaborative and content-based methods have certain limitations, described earlier in this section. Moreover, in order to provide better recommendations and to be able to use recommender systems in arguably more complex types of applications, such as recommending vacations or certain types of financial services, most of the methods reviewed in this section would need significant extensions. For example, even for a traditional movie recommendation application, [3] showed that, by extending the traditional memory-based collaborative filtering approach to take into consideration the contextual information, such as when, where, and with whom a movie is seen, the resulting recommender system could outperform the pure traditional collaborative filtering method. Many real-life recommendation applications, including several business applications, such as the ones described above, are arguably more complex than a movie recommender system and would require taking more factors into the recommendation consideration. Therefore, the need to develop more advanced recommendation methods is even more pressing for such types of applications. In the next section, we review various ways to extend recommendation methods in order to support more complex types of recommendation applications.
 
→ 이 섹션에서 설명한 추천 방법들은 책, CD, 뉴스 기사 추천[64], [88] 등 여러 응용 프로그램에서 잘 작동했으며, 이 중 일부 방법들은 Amazon[61], MovieLens[67], VERSIFI Technologies(이전의 AdapiveInfo.com)[14]에서 배포된 "산업용" 추천 시스템에서 사용되고 있다. 그러나 협업과 content-based 방법 모두 이 섹션에서 이전에 설명한 특정한 제한 사항이 있다. 또한, 더 나은 추천을 제공하고 휴가나 특정 금융 서비스 추천과 같이 복잡한 유형의 응용 프로그램에서 추천 시스템을 사용할 수 있도록 하기 위해, 이 섹션에서 검토한 대부분의 방법들은 상당한 확장이 필요하다. 예를 들어, 전통적인 영화 추천 응용 프로그램에서도, [3]에서는 전통적인 메모리 기반 협업 필터링 접근법을 확장하여 영화가 언제, 어디서, 누구와 함께 볼 것인지와 같은 문맥 정보를 고려하면, 결과적으로 나오는 추천 시스템이 순수 전통적인 협업 필터링 방법보다 더 나은 성능을 낼 수 있음을 보여주었다. 많은 실제 추천 응용 프로그램, 특히 위에서 설명한 여러 비즈니스 응용 프로그램은 영화 추천 시스템보다 훨씬 복잡하며, 더 많은 요인을 추천 고려 사항에 포함시켜야 할 것이다. 따라서, 더 고급 추천 방법을 개발할 필요성은 이러한 유형의 응용 프로그램에서 더욱 절실하다. 다음 섹션에서는 더 복잡한 유형의 추천 응용 프로그램을 지원하기 위해 추천 방법을 확장하는 다양한 방법을 검토한다.
💡
이 문단에서는 다양한 추천 방법들이 책, CD, 뉴스 기사 등의 다양한 응용 프로그램에서 어떻게 잘 작동하는지에 대해 설명하고 있습니다. 이 방법들은 Amazon, MovieLens, VERSIFI Technologies 등의 "산업용" 추천 시스템에서도 사용되고 있습니다.그러나, 이러한 추천 방법들은 모두 특정한 제한 사항이 있으며, 더 복잡한 유형의 응용 프로그램에서 추천 시스템을 사용할 수 있도록 하기 위해서는 상당한 확장이 필요합니다.이 문단에서는 이러한 추천 방법들을 확장하는 다양한 방법에 대해 검토하고 있습니다. 이는 더 복잡한 유형의 추천 응용 프로그램을 지원하기 위한 중요한 방법입니다.
 

뒷 부분

SECTION 3

Extending Capabilities of Recommender Systems

Recommender systems, as described in Section 2 and summarized in Table 2, can be extended in several ways that include improving the understanding of users and items, incorporating the contextual information into the recommendation process, supporting multcriteria ratings, and providing more flexible and less intrusive types of recommendations. Such more comprehensive models of recommender systems can provide better recommendation capabilities. In the remainder of this section, we describe the proposed extensions and also identify various research opportunities for developing them.

3.1 Comprehensive Understanding of Users and Items

As was pointed out in [2][8][54][105], most of the recommendation methods produce ratings that are based on a limited understanding of users and items as captured by user and item profiles and do not take full advantage of the information in the user's transactional histories and other available data. For example, classical collaborative filtering methods [45][86][97] do not use user and item profiles at all for recommendation purposes and rely exclusively on the ratings information to make recommendations. Although there has been some progress made on incorporating user and item profiles into some of the methods since the earlier days of recommender systems [13][76][79], these profiles still tend to be quite simple and do not utilize some of the more advanced profiling techniques. In addition to using traditional profile features, such as keywords and simple user demographics [69][77], more advanced profiling techniques based on data mining rules [1][34], sequences [63], and signatures [26] that describe a user's interests can be used to build user profiles. Also, in addition to using the traditional item profile features, such as keywords [9][76], similar advanced profiling techniques can also be used to build comprehensive item profiles. With respect to recommender systems, advanced profiling techniques that are based on data mining have been used mainly in the context of Web usage analysis [59][68][110], i.e., to discover the navigational Web usage patterns (i.e., page view sequences) of users in order to provide better Web site recommendations; however, such techniques have not been widely adopted in rating-based recommender systems.
Once user and item profiles are built, the most general ratings estimation function can be defined in terms of these profiles and the previously specified ratings as follows: Let the profile of user i be defined as a vector of p features, i.e., c⃗ i=(ai1,…,aip). Also, let the profile of item j be defined as a vector of r features, i.e., s⃗ j=(bj1,…,bjr). We deliberately did not precisely define the meanings of features aij and bkl because they can mean different concepts in different applications, such as numbers, categories, rules, sequences, etc. Also, let c⃗  be a vector of all user profiles, i.e., c⃗ =(c⃗ 1,…,c⃗ m), and let s⃗  be a vector of all item profiles, i.e., s⃗ =(s⃗ 1,…,s⃗ n). Then, the most general rating estimation procedure can be defined as
r′ij={rij,uij(R,c⃗ ,s⃗ ),ifrij≠⊘ifrij=⊘(16)
View Source
notion image
that estimates each unknown rating
r′ij=uij(R,c⃗ ,s⃗ )
in terms of known ratings
R={rij≠⊘}
, user profiles
c⃗
, and item profiles
s⃗
. We can use various methods for estimating utility function
uij
, including various heuristics, nearest-neighbor classifiers, decision trees, spline methods, radial basis functions, regressions, neural networks, and relational learning methods (since
c⃗
and
s⃗
can be matrices or, using database tehcnology, relational tables). Moreover, we would like to point out that
presents the most general model that depends on a whole range of inputs, including the characteristics of user
i
(
c⃗ i
) and possibly other users
c⃗ =(c⃗ 1,…,c⃗ m)
, characteristics of item
j
(
s⃗ j
), and possibly other items
s⃗ =(s⃗ 1,…,s⃗ n)
, ratings (preferences)
Ri
expressed by user
i
, and ratings (preferences) expressed by all other users
R={rij≠⊘}
. Therefore, function
uij
clearly subsumes the collaborative, content-based, and hybrid methods discussed in
Section 2
. However, most of the existing recommender systems make function
uij
dependent only on a (small) subset of the whole input space
R
c⃗
, and
s⃗
. For example, function
uij
for traditional memory-based collaborative filtering methods does not depend on inputs
c⃗
and
s⃗
and restricts
R
only to column
Rj
and usually only to the set of
N
nearest-neighbors
rij
for column
Rj
.
2
An interesting research problem would be to extend the attribute-based profiles, as defined by c⃗  and s⃗ , to utilize the more advanced profiling techniques described above, such as rule, sequence, and signature-based methods.

3.2 Extensions for Model-Based Recommendation Techniques

As discussed in Section 2, some of the model-based approaches provide rigorous rating estimation methods utilizing various statistical and machine learning techniques. However, other areas of mathematics and computer science, such as mathematical approximation theory [16][73][81], can also contribute to developing better rating estimation methods defined by (16). One example of an approximation-based approach to defining function uij in (16) constitutes radial basis functions [16][30][92] that are defined as follows: Given a set of points X={x1,…,xm} (where xi∈IRN) and the values of an unknown function f (e.g., the rating function) at these points, i.e., f(x1),…,f(xm), a radial basis function rf,X estimates the values of f in the whole IRN, given rf,X(xi)=f(xi) for all i=1,…,m, as
rf,X(x)=∑mi=1αiϕ(∥x−xi∥),(17)
View Source
notion image
where
{α1,…,αm}
are coefficients from
IR
∥x∥
is a norm (e.g.,
L2
), and
ϕ
is a positive definite function, i.e., a function satisfying the condition
∑i=1m∑j=1mαiαjϕ(∥xi−xj∥)>0(18)
View Source
notion image
for all distinct points
x1,…,xm
in
IRN
and all the coefficients
α1,…,αm
from
IR
. Then, a well-known theorem
[92]
states that, if
ϕ
is a positive definite function, then there exists a unique function
rf,X
of the form
satisfying the conditions
rf,X(xi)=f(xi)
for all
i=1,…,m
. Some popular examples of positive definite functions
ϕ
are:
  1. ϕ(r)=rβ, where β>0 is a positive odd number,
  1. ϕ(r)=rklog(r), where k∈IN (thin-plate splines), and
  1. ϕ(r)=e−αr2, where α>0 (Gaussian).
One of the advantages of radial basis functions is that they have been extensively studied in approximation theory and their theoretical properties and utilization of radial basis functions in many practical applications have been understood very well [16][92]. Therefore, it should be interesting to apply them to estimating unknown ratings in recommender systems.
One caveat with using radial basis functions in recommender systems, though, is that the recommendation space c⃗ ×s⃗  does not usually constitute an N-dimensional Euclidean space IRN. Therefore, one research challenge is to extend radial basis methods from the real numbers to other domains and apply them to recommender systems problems. The applicability of other approximation methods for estimating uij in (16) constitutes another interesting research topic.

3.3 Multidimensionality of Recommendations

The current generation of recommender systems operates in the two-dimensional User×Item space. That is, they make their recommendations based only on the user and item information and do not take into consideration additional contextual information that may be crucial in some applications. However, in many situations, the utility of a certain product to a user may depend significantly on time (e.g., the time of the year, such as season or month, or the day of the week). It may also depend on the person(s) with whom the product will be consumed or shared and under which circumstances. In such situations, it may not be sufficient to simply recommend items to users; the recommender system must take additional contextual information, such as time, place, and the company of a user, into consideration when recommending a product. For example, when recommending a vacation package, the system should also consider the time of the year, with whom the user plans to travel, traveling conditions and restrictions at that time, and other contextual information. As another example, a user can have significantly different preferences for the types of movies she wants to see when she is going out to a movie theater with a boyfriend on a Saturday night as opposed to watching a rental movie at home with her parents on a Wednesday evening. As was argued in [2] and [3], it is important to extend traditional two-dimensional User×Item recommendation methods to multdimensional settings. In addition, [43] argued that the inclusion of the knowledge about the user's task into the recommendation algorithm in certain applications can lead to better recommendations.
In order to take into consideration the contextual information, [2] proposes defining the utility (or ratings) function over a multidimensional space D1×…×Dn (as opposed to the traditional two-dimensional User×Item space) as
u:D1×…×Dn→R.(19)
View Source
notion image
Then, a recommendation problem is defined by selecting certain “what” dimensions Di1,…,Dik(k<n) and certain “for whom” dimensions Dj1,…,Djl(l<n) that do not overlap, i.e., {Di1,…,Dik}∩{Dj1,…,Djl}=⊘, and recommending, for each tuple (dj1,…,djl)∈Dj1×…×Djl, the tuple (di1,…,dik)∈Di1×…×Dik that maximizes the utility u(d1,…,dn), i.e.,
∀(dj1,…,djl)∈Dj1×…×Djl,(di1,…,dik)=argmax(d′i1,…,d′ik)∈Di1×…×Dik(d′j1,…,d′jl)=(dj1,…,djl)u(d′1,…,d′n).(20)
View Source
notion image
For example, in the case of a movie recommender system, one needs to consider not only characteristics of the movie d1 and of the person who wants to see the movie d2, but also such contextual information as 1) d3 : where and how the movie will be seen (e.g., in the movie theater, at home on TV, on video or DVD), 2) d4 : with whom the movie will be seen (e.g., alone, with girlfriend/boyfriend, friends, parents, etc.), and 3) d5 : when will the movie be seen (e.g., on weekdays or weekends, in the morning/afternoon/evening, during the opening night, etc.). As discussed earlier, each of the components d1d2d3d4d5 can be defined as a vector of its characteristics and the overall utility function u(d1,d2,d3,d4,d5) can be quite complex and take into consideration various interaction effects among vectors d1d2d3d4d5.
As was argued in [2][3], many of the two-dimensional recommendation algorithms cannot be directly extended to the multidimensional case. Furthermore, [3] proposes a reduction-based recommendation approach which uses only the ratings that pertain to the context of the user-specified criteria in which a recommendation is made. For example, to recommend a movie to a person who wants to see it in a movie theater on a Saturday night, the reduction-based approach would use only the available ratings of the movies seen in the movie theaters over the weekends, if it is determined from the data that the place and the time of the week dimensions affect the moviegoers' behavior. By selecting only the ratings relevant to a recommendation context, the reduction-based approach projects the multdimensional cube of ratings on the two primary User and Item dimensions. Then, any standard two-dimensional recommendation method described in Section 2 can be used to produce a recommendation. Since these recommendations are based only on the context-specific set of ratings, this amounts to building a local model producing context-specific recommendations.
Another possible approach to producing multdimensional recommendations would be to deploy the hierarchical Bayesian method presented in [5], which can be extended from two to multdimensional case as follows: Instead of considering the two-dimensional case, as defined in (15), where user characteristics d1 are defined with vector zi and item characteristics d2 with vector wj, we can also add contextual dimensions d3,…,dn, where di=(di1,…,dixi) is a vector of characteristics for dimension Di. Then, the rating function r=u(d1,d2,…,dn) is extended from (15) to the linear combination of d1,d2,…,dn and also includes interaction effects among these dimensions (i.e., interaction effects, as defined by matrix {xij} in (15), should be extended to include other dimensions). One of the research challenges is to make these extensions scalable for large values of n.

3.4 Multcriteria Ratings

Most of the current recommender systems deal with single-criterion ratings, such as ratings of movies and books. However, in some applications, such as restaurant recommenders, it is crucial to incorporate multcriteria ratings into recommendation methods. For example, many restaurant guides, such as Zagat's Guide, provide three criteria for restaurant ratings: food, decor, and service. Although multicriteria ratings have not yet been examined in the recommender systems literature, they have been extensively studied in the Operations Research community [33][102]. Typical solutions to the multcriteria optimization problems include:
  1. finding Pareto optimal solutions,
  1. taking a linear combination of multiple criteria and reducing the problem to a single-criterion optimization problem,
  1. optimizing the most important criterion and converting other criteria to constraints, and
  1. consecutively optimizing one criterion at a time, converting an optimal solution to constraint(s), and repeating the process for other criteria.
An example of the latter approach is the method of successive concessions [102].
To illustrate how some of these methods can be used in recommender systems, consider the application of approach 3 to the problem of recommending restaurants r to user c based on the user's criteria of food quality fc(r), decor dc(r), and service sc(r). We can take food quality fc(r) to be the primary criterion and use others as constraints, i.e., we want to find restaurants r that maximize fc(r), subject to the constraints dc(r)>αc and sc(r)>βc, where αc and βc are minimal ratings for decor and service (e.g., user c will not go to any restaurant having decor and service ratings below 10, out of possible 30, regardless of the quality of food there). This problem is complicated by the fact that we usually will not have the user's decor dc(r) and service sc(r) ratings for all the restaurants. Then, the task of a recommender system is to estimate unknown ratings d′c(r) and s′c(r), e.g., using the rating estimation methods described in Section 2, and find all the restaurants r satisfying constraints d′c(r)>αc and s′c(r)>βc. Once we find all the restaurants satisfying the constraints with these estimated ratings, we can use those restaurants in searching for the maximum of fc(r). However, as with decor and service ratings, we might not have the user's food ratings fc(r) for all such restaurants and, thus, will also need to use a rating estimation procedure for fc(r) before making any recommendations.
We believe that the problem of finding the Pareto-optimal solution set and the iterative method of consecutive single criterion optimizations for multcriteria recommendation problems mentioned above should also constitute interesting and challenging problems.

3.5 Nonintrusiveness

Many recommender systems are intrusive in the sense that they require explicit feedback from the user and often at a significant level of user involvement. For example, before recommending any newsgroup articles, the system needs to acquire the ratings of previously read articles and, often, many of them. Since it is impractical to elicit many ratings of these articles from the user, some recommender systems use nonintrusive rating determination methods where certain proxies are used to estimate real ratings. For example, the amount of time a user spends reading a newsgroup article can serve as a proxy of the article's rating given by this user. Some nonintrusive methods of getting user feedback are presented in [18][53][66][74][94]. However, nonintrusive ratings (such as time spent reading an article) are often inaccurate and cannot fully replace explicit ratings provided by the user. Therefore, the problem of minimizing intrusiveness while maintaining certain levels of accuracy of recommendations needs to be addressed by the recommender systems researchers.
One way to explore the intrusiveness problem is to determine an optimal number of ratings the system should ask from a new user. For example, before recommending any movies, MovieLens.org first asks the user to rate a predefined number of movies (e.g., 20). This request incurs certain costs on the end-user that can be modeled in various ways, the simplest model being a fixed-cost model (i.e., the cost of rating each movie is C and the cost of rating n movies is C⋅n). Then, the intrusiveness problem can be formulated as an optimization problem that tries to find an optimal number of initial rating requests n as follows: Each additional rating supplied by the user increases the accuracy of recommendations (or any other effectiveness measure) and, therefore, results in certain benefits for the user. One interesting intrusiveness-related research problem would be to develop formal models for defining and measuring benefit B(n) of supplying n initial ratings in terms of the increased accuracy of predictions based on these ratings. Once it is known how to measure benefits B(n) (e.g., by measuring the predictive accuracy of a recommender system), we need to determine an optimal number of initial ratings n that maximizes expression B(n)−C⋅n. Clearly, the optimal value of n is reached when marginal benefits are equal to marginal costs, i.e., when ΔB(n)=C. The optimal solution should exist under the assumption that B(n) is a monotonically increasing function in n with decreasing marginal benefits ΔB(n) that asymptotically converge to zero.
Another interesting research opportunity lies in developing marginal cost models that are more advanced than the fixed-cost model described above and that can potentially include a cost/benefit analysis of using both implicit and explicit ratings in a recommender system.
Finally, the issue of incrementally selecting good training data for modeling purposes is the problem of active learning, which is a fairly well-studied area in the machine learning literature, and numerous approaches have been proposed to addressing this problem [23][24][36][58]. We believe that applying active learning methods to address the nonintrusiveness issue constitutes another interesting research opportunity.

3.6 Flexibility

Most of the recommendation methods are inflexible in the sense that they are “hard-wired” into the systems by the vendors and, therefore, support only a predefined and fixed set of recommendations. Therefore, the end-user cannot customize recommendations according to his or her needs in real time. This problem has been identified in [2] and Recommendation Query Language (RQL) has been proposed to address it [2]. RQL is SQL-like language for expressing flexible user-specified recommendation requests. For example, the request “recommend to each user from New York the best three movies that are longer than two hours” can be expressed in RQL as:
RECOMMEND MovieTOUser
BASED ONRating
SHOW TOP 3
FROMMovieRecommender
WHEREMovie.Length > 120
ANDUser.City = “New York”.
Also, most of the recommender systems recommend only individual items to individual users and do not deal with aggregation. However, it is important to be able to provide aggregated recommendations in a number of applications, such as recommend brands or categories of products to certain segments of users. For example, a travel-related recommender system may want to recommend vacations in Florida (category of products) to the undergraduate students from the Northeast (user segment) during the spring break. One way to support aggregated recommendations is by utilizing the OLAP-based approach [19] to multidimensional recommendations. OLAP-based systems naturally support aggregation hierarchies and the initial approaches to deploying OLAP-based methods in recommender systems are presented in [2][3]. However, more work is required to develop a more comprehensive understanding of how to use the OLAP approach in recommender systems and this constitutes an interesting and challenging research problem.

3.7 Effectiveness of Recommendations

The problem of developing good metrics to measure the effectiveness of recommendations has been extensively addressed in the recommender systems literature. Some examples of this work include [41][44][69][107]. In most of the recommender systems literature, the performance evaluation of recommendation algorithms is usually done in terms of coverage and accuracy metrics. Coverage measures the percentage of items for which a recommender system is capable of making predictions [41]. Accuracy measures can be either statistical or decision-support [41]. Statistical accuracy metrics mainly compare the estimated ratings (e.g., as defined in (16)) against the actual ratings R in the User×Item matrix and include Mean Absolute Error (MAE), root mean squared error, and correlation between predictions and ratings. Decision-support measures determine how well a recommender system can make predictions of high-relevance items (i.e., items that would be rated highly by the user). They include classical IR measures of precision (the percentage of truly “high” ratings among those that were predicted to be “high” by the recommender system), recall (the percentage of correctly predicted “high” ratings among all the ratings known to be “high”), F-measure (a harmonic mean of precision and recall), and Receiver Operating Characteristic (ROC) measure demonstrating the trade-off between true positive and false positive rates in recommender systems [41].
Although popular, these empirical evaluation measures have certain limitations. One limitation is that these measures are typically performed on test data that the users chose to rate. However, items that users choose to rate are likely to constitute a skewed sample, e.g., users may rate mostly the items that they like. In other words, the empirical evaluation results typically only show how accurate the system is on items the user decided to rate, whereas the ability of the system to properly evaluate a random item (which it should be able to do during its normal real-life use) is not tested. Understandably, it is expensive and time-consuming to conduct controlled experiments with users in the recommender systems settings, therefore, the experiments that test recommendation quality on an unbiased random sample are rare, e.g., [69]. However, high-quality experiments are necessary in order to truly understand the benefits and limitations of the proposed recommendation techniques.
In addition, although crucial for measuring the accuracy of recommendations, the technical measures mentioned earlier often do not adequately capture “usefulness” and “quality” of recommendations. For example, as [107] observes for a supermarket application, recommending obvious items (such as milk or bread) that the consumer will buy anyway will produce high accuracy rates; however, it will not be very helpful to the consumer. Therefore, it is also important to develop economics-oriented measures that capture the business value of recommendations, such as return on investments (ROI) and customer lifetime value (LTV) measures [32][88][95]. Developing and studying the measures that would remedy the limitations described in this section constitutes an interesting and important research topic.

3.8 Other Extensions

Other important research issues that have been explored in the recommender systems literature include explainability [12][42], trustworthiness [28], scalability [4][39][91][93], and privacy [82][93] issues of recommender systems. However, we will not review this work and will not discuss research opportunities in these areas because of space limitation.
SECTION 4

Conclusions

Recommender systems made significant progress over the last decade when numerous content-based, collaborative, and hybrid methods were proposed and several “industrial-strength” systems have been developed. However, despite all of these advances, the current generation of recommender systems surveyed in this paper still requires further improvements to make recommendation methods more effective in a broader range of applications. In this paper, we reviewed various limitations of the current recommendation methods and discussed possible extensions that can provide better recommendation capabilities. These extensions include, among others, the improved modeling of users and items, incorporation of the contextual information into the recommendation process, support for multcriteria ratings, and provision of a more flexible and less intrusive recommendation process. We hope that the issues presented in this paper will advance the discussion in the recommender systems community about the next generation of recommendation technologies.
 
Share article

jodory