협력적 필터링은 잠재적인 항목을 추천할 수 있어서 추천시스템에 가장 많이 사용되고 있다. 그러나 협력적 필터링은 평가항목이 적을 경우, 평가자의 상황이나 기분에 따라 유사도나 선호도에 큰 영향을 끼칠 수 있다. 또한 사용자의 현재 상황을 전혀 고려하지 않고 과거에 평가한 항목만으로 유사도를 계산하여 추천하여 추천의 정확도가 떨어지게 된다. 본 논문에서는 위와 같은 문제점을 해결하기 위해, 먼저 협력적 필터링 과정을 수행하기 전 사용자들이 평가한 모든 값을 비교하지 않고 평균 이상인 사용자들만을 비교하여 유사도를 계산함으로써 추천의 정확성을 높였다. 또한 끊임없이 변화하는 유비쿼터스 컴퓨팅 환경에서 사용자의 평가 항목만으로 서비스 정보를 추천하는 것이 적합하지 않기 때문에, 사용자의 실시간 컨텍스트 정보를 이용하여 비슷한 사용자들에게 높은 가중치를 적용하여 유사도를 구하는 방법을 사용하였다. 이러한 방법을 사용한 결과, 추천의 정확도가 평균적으로 16.2% 향상되었다.
협력적 필터링은 잠재적인 항목을 추천할 수 있어서 추천시스템에 가장 많이 사용되고 있다. 그러나 협력적 필터링은 평가항목이 적을 경우, 평가자의 상황이나 기분에 따라 유사도나 선호도에 큰 영향을 끼칠 수 있다. 또한 사용자의 현재 상황을 전혀 고려하지 않고 과거에 평가한 항목만으로 유사도를 계산하여 추천하여 추천의 정확도가 떨어지게 된다. 본 논문에서는 위와 같은 문제점을 해결하기 위해, 먼저 협력적 필터링 과정을 수행하기 전 사용자들이 평가한 모든 값을 비교하지 않고 평균 이상인 사용자들만을 비교하여 유사도를 계산함으로써 추천의 정확성을 높였다. 또한 끊임없이 변화하는 유비쿼터스 컴퓨팅 환경에서 사용자의 평가 항목만으로 서비스 정보를 추천하는 것이 적합하지 않기 때문에, 사용자의 실시간 컨텍스트 정보를 이용하여 비슷한 사용자들에게 높은 가중치를 적용하여 유사도를 구하는 방법을 사용하였다. 이러한 방법을 사용한 결과, 추천의 정확도가 평균적으로 16.2% 향상되었다.
Collaborative filtering is used the most for recommendation systems because it can recommend potential items. However, when there are not many items to be evaluated, collaborative filtering can be subject to the influence of similarity or preference depending on the situation or the whim of the eval...
Collaborative filtering is used the most for recommendation systems because it can recommend potential items. However, when there are not many items to be evaluated, collaborative filtering can be subject to the influence of similarity or preference depending on the situation or the whim of the evaluator. In addition, by recommending items only on the basis of similarity with items that have been evaluated previously without relation to the present situation of the user, the recommendations become less accurate. In this paper, in order to solve the above problems, before starting the collaborative filtering procedure, we calculated similarity not by comparing all the values evaluated by users but rather by comparing only those users who were above the average in order to improve the accuracy of the recommendations. In addition, in the ceaselessly changing ubiquitous computing environment, it is not proper to recommend service information based only on the items evaluated by users. Therefore, we used methods of calculating similarity wherein the users' real time context information was used and a high weight was assigned to similar users. Such methods improved the recommendation accuracy by 16.2% on average.
Collaborative filtering is used the most for recommendation systems because it can recommend potential items. However, when there are not many items to be evaluated, collaborative filtering can be subject to the influence of similarity or preference depending on the situation or the whim of the evaluator. In addition, by recommending items only on the basis of similarity with items that have been evaluated previously without relation to the present situation of the user, the recommendations become less accurate. In this paper, in order to solve the above problems, before starting the collaborative filtering procedure, we calculated similarity not by comparing all the values evaluated by users but rather by comparing only those users who were above the average in order to improve the accuracy of the recommendations. In addition, in the ceaselessly changing ubiquitous computing environment, it is not proper to recommend service information based only on the items evaluated by users. Therefore, we used methods of calculating similarity wherein the users' real time context information was used and a high weight was assigned to similar users. Such methods improved the recommendation accuracy by 16.2% on average.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이러한 문제점들을 해결하기 하기 위해 본 논문에서는 협력적 필터링 과정을 수행하기 전 정확성을 높이기 위해 사용자들이 평가한 모든 값을 비교하지 않고 평균 이상인 사용자만 비교하여 유사도를 계산하는 방법으로 안정성을 높였다. 또한 끊임없이 변화하는 유비쿼터스 컴퓨팅 환경에서 사용자의 평가 자료만으로 사용자에게 서비스 정보를 추천하는 것은 적합하지 않다.
제안 방법
이 방법은 사용자의 평가 자료를 비교하여 선호도가 비슷한 사람들의 평가 항목을 가지고 예측하는 방법이다. 기존의 협력적 필터링 방법은 실시간 컨텍스트 정보를 전혀 고려하지 않았지만 본 논문에서는 협력적 필터링 과정 중 컨텍스트 정보를 비교하여 유사한 사용자에게 가중치를 높게 적용하여 유사도를 계산하는 방법에 사용한다.
사용자가 서비스 받을 위치 정보와 다른 사용자들의 위치 정보를 비교하여 일치하는 지역에 있는 사용자만을 비교한다. 동행인에 따라 영화 추천 정보는 전혀 달리 선택될 수 있기 때문에 동행인에 대하여 가족, 동료, 애인, 친구, 싱글로 분리하고 영화 장르는 액션, 로맨스, 드라마, 코미디로 한정하여 연관성을 비교하였다. 또한 시간은 영화 보는 시간 때에 따라 오전, 오후, 저녁, 심야로 나누어 비교하였다.
나이는 상대적인 분류방법을 이용하여 분류하였고, 동행인의 경우에는 누구와 동행했는가에 따라 영화의 장르가 결정되는 것을 알 수 있었다. 동행인은 가족, 동료, 애인, 친구, 싱글로 분리하고 영화 장르는 액션, 로맨스, 드라마, 코미디로 한정하여 연관성을 비교하였다. 또한 시간은 영화 보는 시간 때에 따라 오전, 오후, 저녁, 심야로 나누어 비교하였다.
또한 사용자의 컨텍스트 정보와 평가 정보를 설문조사 형식으로 데이터베이스에 저장하였다. 설문조사 인원은 남자 241명과 여자 186명으로 총 427명을 조사하여 관련성을 조사하였다.
동행인에 따라 영화 추천 정보는 전혀 달리 선택될 수 있기 때문에 동행인에 대하여 가족, 동료, 애인, 친구, 싱글로 분리하고 영화 장르는 액션, 로맨스, 드라마, 코미디로 한정하여 연관성을 비교하였다. 또한 시간은 영화 보는 시간 때에 따라 오전, 오후, 저녁, 심야로 나누어 비교하였다. 컨텍스트 정보의 가중치를 이용한 유사도 값을 구하는 식은 식 1과 같다.
이 자료들은 사용자에게 서비스 정보를 추천할 경우 다른 항목들과 연관되어 사용된다. 본 논문에서는 협력적 필터링 의 전처리 단계에서 사용자 평가 자료의 처리문제와 실시간 컨텍스트 정보를 이용한 협력적 필터링의 유사도 연산에 가중치 적용을 사용하여 추천하는 방법을 사용한다. 이 시스템은 7개의 처리 모듈과 5개의 데이터베이스로 구성되어 있다.
사용자5의 빈 항목인 항목5를 서비스 받기 위해서는 다른 사용자들과 유사성을 비교한다. 비교 결과 사용자5의 빈 부분은 가장 유사도가 높은 사용자1을 참조하는 것이 좋다는 것을 알 수 있다.
Context DB에서 저장된 컨텍스트 정보는 사용자의 위치, 동행인 그리고 서비스 받은 시간 등을 사용하며, 서비스 내용은 영화를 추천하는 것이다. 사용자가 서비스 받을 위치 정보와 다른 사용자들의 위치 정보를 비교하여 일치하는 지역에 있는 사용자만을 비교한다. 동행인에 따라 영화 추천 정보는 전혀 달리 선택될 수 있기 때문에 동행인에 대하여 가족, 동료, 애인, 친구, 싱글로 분리하고 영화 장르는 액션, 로맨스, 드라마, 코미디로 한정하여 연관성을 비교하였다.
두 번째 방법은 필터링된 사용자 평가값을 가지고 평가한 협렵적 필터링 방법을 사용하였다. 세 번째 방법은 필터링된 사용자 평가값에 사용자의 상황에 따른 실시간 컨텍스트 정보를 이용하여 협력적 필터링 하였다. 그 결과, 제안한 방법3이 순수 협력적 필터링만 사용한 방법1 보다 정확도의 측면에서 평균적으로 16.
두 번째는 현재의 상황이나 사용자의 상태를 전혀 고려하지 않고 사용자의 평가 자료만을 가지고 평가한다는 것이다. 이러한 문제점을 해결하기 위해 실시간으로 얻어진 컨텍스트 정보를 협력적 필터링에 적용하였다. 그 결과 현재 사용자의 상황을 파악하여 사용자에게 서비스를 할 수 있기 때문에 평가 자료만을 가지고 평가한 자료보다 더 우수함을 알 수 있었다.
x축의 사용자수는 평가된 사용자들을 말하며, Y축은 평가식 MAE이다. 첫 번째 방법은 사용자 평가 자료에 순수 협력적 필터링을 적용하였다. 두 번째 방법은 필터링된 사용자 평가값을 가지고 평가한 협렵적 필터링 방법을 사용하였다.
대상 데이터
MovieLens dataset은 100k dataset이다. 100k dataset은 943명의 사용자, 1682편의 영화 그리고 10만개의 평가 값으로 구성되어 있다. 본 논문에서는 모든 사용자의 나이가 나와 있는 100k dataset을 사용하였다.
실험에 사용된 자료는 미네소타 대학의 Computer Science and Engineering 전공의 GroupLens Research Group에서 영화를 보고 느낀 감정을 평가하여 데이터베이스에 저장한 자료가 MoviesLens dataset이다. MovieLens dataset은 100k dataset이다. 100k dataset은 943명의 사용자, 1682편의 영화 그리고 10만개의 평가 값으로 구성되어 있다.
MovieLens dataset은 사용자 평가 데이터베이스, 사용자 데이터베이스 그리고 영화 데이터베이스로 구성되어 있다. MoviesLens dataset의 데이터베이스는 사용자 ID, 항목 ID, 평가 자료 그리고 사용자 평가 시간으로 구성되었으며, 컨텍스트 정보를 사용한 데이터베이스는 사용자 ID, 항목 ID, 평가 자료, 평가 시간, 나이, 성별, 위치, 동행인 그리고 서비스 시간 등을 사용하였다.
100k dataset은 943명의 사용자, 1682편의 영화 그리고 10만개의 평가 값으로 구성되어 있다. 본 논문에서는 모든 사용자의 나이가 나와 있는 100k dataset을 사용하였다.
Valuation Manager는 사용자로부터 평가 자료를 받아 평가 데이터베이스 저장할 수 있도록 관리하는 모듈이다. 사용자 평가 과정은 자신의 실시간 컨텍스트 정보와 함께 평가 자료를 입력받은 Dataset을 사용한다. 사용자는 서비스 받은 후 관심도에 따라 1부터 5까지 평가 자료를 입력한다.
또한 사용자의 컨텍스트 정보와 평가 정보를 설문조사 형식으로 데이터베이스에 저장하였다. 설문조사 인원은 남자 241명과 여자 186명으로 총 427명을 조사하여 관련성을 조사하였다. 서비스 추천에 사용된 컨텍스트 정보는 사용자 ID, 나이, 동행인, 성별, 장르, 제목, 장소 그리고 시간 등을 사용한다.
실험에 사용된 자료는 미네소타 대학의 Computer Science and Engineering 전공의 GroupLens Research Group에서 영화를 보고 느낀 감정을 평가하여 데이터베이스에 저장한 자료가 MoviesLens dataset이다. MovieLens dataset은 100k dataset이다.
첫째는 사용자가 평가한 모든 자료를 사용하게 되면 평가 값이 적은 경우 상황에 따라 평가 값이 유동적이면 평균에 영향을 미치게 되므로 적정한 제한이 필요하다. 이러한 문제점을 해결하기 위해 모든 자료를 평가하는 것이 아니라 평균 이상인 자료들을 평가한 사용자만 사용하였다. 두 번째는 현재의 상황이나 사용자의 상태를 전혀 고려하지 않고 사용자의 평가 자료만을 가지고 평가한다는 것이다.
이론/모형
논문의 예측성을 평가하기 위하여 MAE(Mean Absolute Error)를 사용하였다. vi는 예측 선호도이고 ri는 실제 선호도이다.
첫 번째 방법은 사용자 평가 자료에 순수 협력적 필터링을 적용하였다. 두 번째 방법은 필터링된 사용자 평가값을 가지고 평가한 협렵적 필터링 방법을 사용하였다. 세 번째 방법은 필터링된 사용자 평가값에 사용자의 상황에 따른 실시간 컨텍스트 정보를 이용하여 협력적 필터링 하였다.
유사도 식을 구하고 이웃의 수를 결정하는 방법으로는 Best n-neighborhood 방법을 사용한다. 이 방법은 유사성이 높은 50%의 이웃만 선정하여 이웃을 채택한다.
Filtering Manager 단계에서는 분류된 사용자, 평가 자료 그리고 실시간 컨텍스트 정보를 이용하여 사용자에게 서비스를 추천한다. 이 모듈에서는 협력적 필터링 방법을 이용하여 사용한다. 이 방법은 사용자의 평가 자료를 비교하여 선호도가 비슷한 사람들의 평가 항목을 가지고 예측하는 방법이다.
그리고 사용자의 프로파일 정보나 실시간 컨텍스트 정보를 활용하지 못하는 문제점을 가지고 있다. 초기 평가 문제를 해결하기 위해 내용 기반 필터링 기법 등과 결합하여 해결하고, 희소성 문제를 해결하기 위해 clustering을 이용하였다. 확장 문제는 베이지안 기법 등 다양한 방법으로 개선하고 있다.
성능/효과
이러한 문제점을 해결하기 위해 실시간으로 얻어진 컨텍스트 정보를 협력적 필터링에 적용하였다. 그 결과 현재 사용자의 상황을 파악하여 사용자에게 서비스를 할 수 있기 때문에 평가 자료만을 가지고 평가한 자료보다 더 우수함을 알 수 있었다.
세 번째 방법은 필터링된 사용자 평가값에 사용자의 상황에 따른 실시간 컨텍스트 정보를 이용하여 협력적 필터링 하였다. 그 결과, 제안한 방법3이 순수 협력적 필터링만 사용한 방법1 보다 정확도의 측면에서 평균적으로 16.2% 정도 우수함을 알 수 있었다.
서비스 추천에 사용된 컨텍스트 정보는 사용자 ID, 나이, 동행인, 성별, 장르, 제목, 장소 그리고 시간 등을 사용한다. 나이는 상대적인 분류방법을 이용하여 분류하였고, 동행인의 경우에는 누구와 동행했는가에 따라 영화의 장르가 결정되는 것을 알 수 있었다. 동행인은 가족, 동료, 애인, 친구, 싱글로 분리하고 영화 장르는 액션, 로맨스, 드라마, 코미디로 한정하여 연관성을 비교하였다.
사용자5의 빈 항목인 항목5를 서비스 받기 위해서는 다른 사용자들과 유사성을 비교한다. 비교 결과 사용자5의 빈 부분은 가장 유사도가 높은 사용자1을 참조하는 것이 좋다는 것을 알 수 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
협력적 필터링 방법이란 무엇인가?
추천 시스템의 종류로는 협력적 필터링 방법과 내용 기반 필터링 방법 등이 사용되고 있지만, 그 중 협력적 필터링 방법을 가장 많이 사용하고 있다. 협력적 필터링 방법은 많은 항목과 사용자들의 평가 자료를 이용하여 비슷한 선호도를 가지는 항목을 추천하는 방법이다.
협력적 필터링 방법의 단점을 보완하고, 안정성을 높이기 위해 본 논문에서 사용한 계산 방법은 무엇인가?
이러한 문제점들을 해결하기 하기 위해 본 논문에서는 협력적 필터링 과정을 수행하기 전 정확성을 높이기 위해 사용자들이 평가한 모든 값을 비교하지 않고 평균 이상인 사용자만 비교하여 유사도를 계산하는 방법으로 안정성을 높였다. 또한 끊임없이 변화하는 유비쿼터스 컴퓨팅 환경에서 사용자의 평가 자료만으로 사용자에게 서비스 정보를 추천하는 것은 적합하지 않다.
협력적 필터링 방법의 단점은 무엇인가?
협력적 필터링 방법은 잠재적인 항목을 추천할 수 있어 가장 많이 사용되고 있지만 다음과 같은 단점을 가지고 있다. 첫 번째 문제점은 사용자들의 평가 자료가 현재 상황이나 기분에 따라 똑같은 것을 평가하더라고 평가 자료가 달라 질 수 있기 때문에 적은 자료만으로 평가하는 것은 부정확성을 초래한다. 두 번째 문제점은 협력적 필터링 방법이 사용자의 선호도만을 사용하고 있으므로 선호도 이외에는 전혀 다른 사항을 고려하지 않는다는 점이다. 이것은 다른 사항을 고려하지 않으므로 간단하게 평가 한다고 생각할 수 있지만, 유비쿼터스 환경에서 사용자의 처한 상황을 전혀 고려하지 않고 평가 자료만으로 항목을 추천한다는 것은 서비스 추천에 영향을 준다.
참고문헌 (11)
이형동, 김형주, “협업 필터링 추천시스템에서 취향 공간을 이용한 평가 예측 기법,” 정보과학회논문지, 제34권, 5호, 2007.
N. Good, J. B. Schafer, J. A. Konstan, A. Borchers, B. Sarwar, J. Herlocker, and J. Riedl, "Combining Collaborative Filtering with Personal Agents for Better Recommendations," In Proceedings of National Conference on Artificial Intelligence, pp. 439-446, 1999.
N.Good, B. Schafer, J.Konstan, A. Borchers, B.Sarwar, J. Riedl, “Combining Collaborative filtering with personal Agents for Better Recommendation," AAAI/IAAI, pp. 439-446, 1999.
정경용, 류경중, 강운구, 이정현, “내용 기반 여과와 협력적 여과의 병합을 통한 추천 시스템에서 조화 평균 가중치.” 정보과학회논문지, 제30권, 3호, pp. 239-250, 2003. 4.
김병만, 이경, 박창석, 김시관, 김주연, “사용자 프로파일 정보를 고려한 협력 필터링,” 한국정보과학회 가을 학술발표논문집, 제29권, 2호, pp. 286-289, 2002.
Luis M. de Campos, Juan M. Fernandez-Luna, Juan F. Huete, “A Collaborative Recommender System Based on Probabilistic,” Inference from Fuzzy Observations Fuzzy Sets and Systems, 159, pp. 1554-1576, 2008.
A. Merve Acilar, Ahmet Arslan, "A Collaborative Filtering Method Based on Artificial Immune Network," Export Systems with Applications, 36, pp. 8324-8332, 2009.
J. Ben Schafer, Dan Frankowski, Jon Herlocker and Shilad Sen, "Collaborative Filtering Recommendation Systems", The Adaptive Web, 2007
D.Salber, A.K.Dey and G.D.Abowd, "The Context Toolkit:Aiding the Development of Context-Aware Application", In the Workshop on Software Engineering for Wearable and Pervasive Computing (Limerick Ireland), June, 2000.
윤효근, 이상용,“협력적 필터링 기법을 이용한 P2P 모바일 에이전트 기반 사용자 컨텍스트 인식 및 서비스 처리 구조,” 한국지능시스템학회논문지, 제15권, 1호, 2005.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.