KR20140140309A - Method for calculating simularity between users and item recommendation method using the same - Google Patents

Method for calculating simularity between users and item recommendation method using the same Download PDF

Info

Publication number
KR20140140309A
KR20140140309A KR20130060988A KR20130060988A KR20140140309A KR 20140140309 A KR20140140309 A KR 20140140309A KR 20130060988 A KR20130060988 A KR 20130060988A KR 20130060988 A KR20130060988 A KR 20130060988A KR 20140140309 A KR20140140309 A KR 20140140309A
Authority
KR
South Korea
Prior art keywords
user
users
similarity
sns
similar
Prior art date
Application number
KR20130060988A
Other languages
Korean (ko)
Inventor
김경선
박진우
이경욱
전기왕
Original Assignee
(주) 다이퀘스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 다이퀘스트 filed Critical (주) 다이퀘스트
Priority to KR20130060988A priority Critical patent/KR20140140309A/en
Publication of KR20140140309A publication Critical patent/KR20140140309A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided are a method of calculating similarity between users using social relation weightings of users and context information, and an item recommending method using the calculated similarity between users. A method of calculating similarity between users according to an embodiment of the present invention comprises: a user data storing step of storing data related to a user including a social relation weighting of the user; and an inter-user similarity calculating step of calculating the similarity between users by using at least a portion of the stored user data. A similar user group is generated by using the calculated inter-user similarity, and for items without evaluation scores, scores are estimated by using an item-based cooperation filtering based on recommendation scores of similar users in the similar user group where the user belongs, and the estimated values are provided to the items without evaluation scores, such that similar items can be recommended. According to the invention, social relations between users can be reflected on while calculating the similarity between users, thereby calculating similarity between users more accurately.

Description

사용자 간의 유사도 계산방법 및 이를 이용한 아이템 추천방법 {Method for calculating simularity between users and item recommendation method using the same}[0001] The present invention relates to a method for calculating similarity between users and an item recommendation method using the same,

본 발명은 사용자 간의 유사도 계산방법 및 이를 이용한 아이템 추천방법에 관한 것으로서, 더욱 상세하게는 사용자의 사회적 관계 가중치와 맥락정보를 이용하여 사용자 간의 유사도를 계산하고, 계산된 사용자 간의 유사도를 이용하여 컨텐츠나 상품 등의 아이템을 추천하는 방법에 관한 것이다.The present invention relates to a method of calculating similarity between users and an item recommendation method using the same. More particularly, the present invention relates to a method of calculating similarity between users using social relation weights and context information of a user, And a method for recommending an item such as a commodity.

정보기술의 발달에 따라 인터넷 등을 통한 정보의 검색이 널리 이용되고 있다. 그러나, 방대한 양의 정보가 검증되지 않은 채 제공되고 있어서, 자칫 검증되지 않은 정보로 인한 온라인 상의 정보에 대한 신뢰성 저하가 우려될 뿐만 아니라, 검증된 정보들 가운데서도 원하는 정보를 검색하는 데에 상당한 시간이 걸릴 수밖에 없다. 이와 같은 점을 보완하기 위해 사용자에게 가치있는 데이터를 제공하는 개인화(Personalization) 서비스가 최근 주목받아 왔다.With the development of information technology, information retrieval through the Internet is widely used. However, since a large amount of information is provided without being verified, not only the reliability of the information on the online due to unvalidated information is worried but also a considerable time There is no choice but to take this. In order to compensate for this, personalization services that provide valuable data to users have received attention recently.

개인화 서비스 중의 하나인 추천 시스템은, 수많은 정보들 중에서 각각의 사용자들이 관심을 보일만한 정보를 추천하여 사용자(이하, '추천 대상 사용자')의 관심을 더욱 유도하는 시스템이다. 이러한 추천 시스템은 추천 대상 사용자에게 가장 적합한 아이템들을 추천하기 위해, 추천 대상 사용자가 이전에 선택한 이력, 추천 대상 사용자의 관심사, 나이, 성별 등의 사용자 프로파일, 추천 대상 사용자에 의해 요청된 정보들의 연관 관계 등을 분석하고, 이를 이용하여 사용자에게 알맞은 추천 정보를 제공한다. The recommendation system, which is one of the personalized services, is a system that induces interest of a user (hereinafter, referred to as a 'recommended target user') by recommending information that each user may be interested in from a large amount of information. In order to recommend the most suitable items to the recommendation target user, the recommendation system may include a recommendation target user who has previously selected a recommendation target user's history, a user profile such as interest of the recommendation target user, age, gender, Etc., and provides appropriate recommendation information to the user.

예를 들어, 대한민국 특허 제720762호에서는 사용자 정적 정보로 주어진 키워드 이외에도 사용자의 현재 위치, 장소, 검색 의도 등과 같은 사용자의 동적 정보에 기초하여 사용자의 상황 정보를 판단하고, 사용자의 상황 정보에 일치하는 콘텐츠(또는 아이템)의 유사도(w)를 계산하고 상기 콘텐츠의 유사도에 기초하여 사용자에 추천할 콘텐츠를 선택하도록 하고 있다. For example, in Korean Patent No. 7,207,612, in addition to the keywords given as user static information, the user's situation information is determined based on the user's dynamic information such as the user's current location, place, search intention, etc., The similarity degree w of the content (or item) is calculated, and a content to be recommended to the user is selected based on the similarity degree of the content.

그러나, 이러한 시스템은 사용자의 정적, 동적 정보만을 고려하고 있을 뿐이며, 추천되는 콘텐츠에 대해서 다른 사용자들이 어떻게 판단하고 있는지, 특히 사용자와 유사한 사용자가 해당 콘텐츠에 대해서 어떻게 평가하고 있는지에 대해서는 전혀 고려하고 있지 않기 때문에 콘텐츠 추천의 신뢰도가 떨어진다.However, this system considers only the static and dynamic information of the user and does not consider how other users judge the recommended content, in particular, how the user similar to the user is evaluating the content The reliability of the content recommendation is reduced.

이러한 점을 반영하여, 사용자 간의 유사도를 이용하여 아이템을 추천하는 사용자 기반 협업 필터링 추천 시스템이 제안되었다. 사용자 기반 협업 필터링 시스템은 많은 사용자들에게 얻은 선호도 정보를 이용하여 아이템에 대한 추천 대상 사용자의 선호도를 예측할 수 있게 하는 추천 시스템이다.Reflecting this point, a user - based collaborative filtering recommendation system that recommends items using similarity between users has been proposed. The user - based collaborative filtering system is a recommendation system that can predict the user 's preference about items by using the preference information obtained from many users.

즉, 추천 대상 사용자와 성향이 비슷한 사용자가 미리 평가한 정보를 활용하면 아이템 추천의 정확도가 높아질 수 있다는 점을 이용한 방법이다. 그런데, 이 방법이 효과를 발휘하기 위해서는 사용자 간의 유사도를 좀더 정확하게 평가할 수 있는 방법이 필요하다. In other words, it is a method using the fact that the accuracy of item recommendation can be improved by utilizing the information evaluated in advance by a user having a similar tendency to the target user. However, in order for this method to be effective, there is a need for a method that can more accurately evaluate the similarity between users.

사용자 간의 유사도를 좀더 정확하게 평가하기 위하여, 대한민국 특허공개 제2010-0086296호에서는 추천 대상 사용자와 다른 사용자의 각 사용자 선호도 정보 엔트로피 간의 관계를 가중치로 하여 추천 대상 사용자와 다른 사용자 간의 유사도를 보정하는 방법을 제안하고 있으며, 대한민국 특허공개 제2012-0042091호에서는 사용자들에 의해 포스팅된 콘텐츠의 태그 정보에 대한 공용성과 링크 강도 정보를 이용하여 사용자 유사도 산출에 필요한 가중치를 산출함으로써 사용자의 유사도 측정의 정확도를 높이는 방법을 제안하고 있다.In order to more accurately evaluate the similarity between users, Korean Patent Laid-Open Publication No. 2010-0086296 discloses a method of correcting the similarity between a recommendation target user and another user by using the relationship between the recommendation target user and another user's preference information entropy as a weight Korean Patent Laid-Open Publication No. 2004-0042091 discloses a method for improving the accuracy of user's similarity measurement by calculating the weights necessary for calculating the user similarity degree using the commonality and the link strength information of the tag information of the contents posted by users .

그러나, 종래의 사용자 간의 유사도 계산 방법은 사용자의 프로파일, 각 사용자 선호도 정보 엔트로피 간의 관계, 태그 정보, 콘텐츠의 링크 정보만을 이용하고 있을 뿐이며, 각 사용자 간의 사회적인 관계는 전혀 고려하지 않고 있으므로 사용자 간의 유사도 산출에 문제가 있으며, 따라서 추천의 정확도 및 신뢰도가 떨어지는 문제점이 있다. However, the conventional method of calculating the similarity between users only uses only the profile of the user, the relationship between the entropy of each user's preference information, the tag information, and the link information of the contents, and does not consider the social relationship between the users at all. There is a problem in that the accuracy and reliability of the recommendation are deteriorated.

본 발명은 이러한 점을 감안하여 이루어진 것으로서, 사용자의 맥락 정보 및 사회적인 관계를 반영하여 유사 사용자들을 도출하는 방법과, 이 방법을 사용하여 도출된 유사 사용자들의 추천 점수를 이용하여 아이템을 추천하는 방법을 제공하는 것을 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a method of deriving similar users by reflecting user context information and social relations, and a method of recommending items using recommendation scores of similar users derived using the method The purpose is to provide.

본 발명의 일 실시예에 따른 사용자 간의 유사도 계산방법은, 사용자의 사회적 관계 가중치를 포함하는 사용자에 관한 데이터를 저장하는 사용자 데이터 저장단계와, 저장된 사용자 데이터 중의 적어도 일부를 이용하여 사용자 간 유사도를 계산하는 사용자 간 유사도 계산단계를 포함한다. According to an embodiment of the present invention, there is provided a method of calculating similarity between users, the method comprising: storing user data including a user's social relation weights; calculating a degree of similarity between users using at least some of the stored user data; And calculating the degree of similarity between the users.

사회적 관계 가중치는 사용자가 다른 사용자의 포스팅에 댓글을 달았는지 여부를 고려하여 결정할 수 있다. 또는, 사회적 관계 가중치는 사용자가 SNS에 올린 글에 대한 다른 사용자의 댓글의 연결 뎁쓰를 나타내는 SNS 뎁쓰일 수 있다. 사용자 A가 올린 SNS에 직접 댓글을 단 사용자 B의 사용자 A와의 SNS 뎁쓰는 1 뎁쓰이고, 사용자 A와의 SNS 뎁쓰가 N인 사용자 C에게 댓글을 단 사용자 D의 사용자 A와의 SNS 뎁쓰는 N+1이다. 또는, 사회적 관계 가중치는 사용자가 다른 사용자의 블로그나 SNS의 이웃 또는 친구로 등록되어 있는지 여부도 고려하여 결정될 수 있다. The social relationship weights can be determined by considering whether the user has commented on the postings of other users. Alternatively, the social relation weights may be SNS Depth, which represents the connection depth of other users' comments on posts posted by the user to the SNS. SNS debs with user A of user B who has commented directly on SNS uploaded by user A is 1dept and SNS debut with user A of user D who has commented to user C with SNS depth N with user A is N + 1 . Alternatively, the social relationship weights can be determined by considering whether the user is registered as a neighbor or friend of another user's blog or SNS.

사용자에 관한 데이터에는 사용자 맥락정보 및 사용자의 선호도 데이터가 포함될 수 있다. 사용자 맥락정보는 사용자의 성별, 거주지역, 학력을 포함한다. 또한, 사용자 맥락정보는 제공되는 서비스와 관련된 맥락정보를 포함할 수 있다. 사용자의 선호도 데이터는 하나 또는 그 이상의 아이템에 대해서 사용자가 평가한 점수이다. The data on the user may include user context information and user preference data. The user context information includes the user's sex, residence area, and educational background. In addition, the user context information may include contextual information related to the service provided. The user's preference data is the score the user rated for one or more items.

사용자 간 유사도 계산 단계에서 사용자 간의 유사도는 사용자 맥락정보의 일치도와 사회적 관계 가중치를 이용하여 계산될 수 있다. In the user similarity calculation step, the similarity between users can be calculated using the degree of matching of the user context information and the social relation weights.

사용자에 관한 데이터는 시맨틱 온톨로지 트리플(Semantic Ontology Triple) 형태로 저장되는 것이 바람직하다. The data about the user is preferably stored in a Semantic Ontology Triple form.

사용자 간의 유사도가 계산되면, 사용자 간 유사도가 소정의 기준을 만족하는 사용자들의 그룹인 유사 사용자 그룹을 생성하고, 사용자가 속해 있는 유사 사용자 그룹 내의 유사 사용자들의 추천 점수를 기반으로 아이템 기반 협업 필터링으로 예측하여 평가 점수가 누락된 아이템에 대해서 예측된 점수를 부여하여 유사한 아이템을 추천한다. When a similarity degree between users is calculated, a similar user group is defined as a group of users whose degree of similarity between users satisfies a predetermined criterion. Then, based on the recommendation scores of similar users in the similar user group to which the user belongs, And a similar item is recommended by giving a predicted score to the item whose score is missing.

유사 사용자 그룹 생성단계는, 아무 유사 사용자 그룹에도 포함되지 않은 한명의 사용자를 선택하여 이 사용자를 갖는 유사 사용자 그룹을 생성하는 제1단계와, 상기 사용자에 대해서 소정의 조건을 만족하는 사용자들을 상기 유사 사용자 그룹에 추가하는 제2단계를 포함할 수 있다. The similar user group creation step may include a first step of selecting one user not included in any similar user group and creating a similar user group having the same user, To the group.

유사 아이템 추천은, 유사 사용자 그룹 내의 사용자들에 대해서 아이템들에 대한 사용자-아이템 테이블을 구성하는 단계와, 구성된 사용자-아이템 테이블에 대해서 협업필터링 알고리즘을 적용하여 사용자가 평가하지 않은 아이템에 대한 예측 점수를 부여하는 단계와, 부여된 예측 점수가 소정의 기준 이상인 아이템을 사용자에게 추천하는 단계를 거쳐서 이루어질 수 있다. The similar item recommendation may comprise constructing a user-item table for items for users in the similar user group, and applying a collaborative filtering algorithm to the configured user-item table to generate a prediction score And recommending to the user an item having a predicted score that is equal to or higher than a predetermined criterion.

협업필터링 알고리즘으로는 웨이티드 슬로프 원(Weighted Slope-One) 알고리즘이 사용될 수 있다.A weighted slope-one algorithm may be used as the cooperative filtering algorithm.

본 발명에서는 사용자 간의 유사도를 계산함에 있어서 사용자 간의 사회적 관계를 반영함으로써 보다 정확하게 사용자 간의 유사도를 계산할 수 있다. 또한, 이와 같이 보다 유사도가 높은 사용자들의 아이템 평가 점수를 활용하여 아이템을 추천하므로 아이템 추천의 정확도 및 신뢰성을 높일 수 있다.In the present invention, the degree of similarity between users can be more accurately calculated by reflecting the social relations between users in calculating the similarities between users. In addition, since the items are recommended by utilizing the item evaluation scores of users having higher similarity, the accuracy and reliability of item recommendation can be improved.

도 1은 본 발명의 바람직한 실시예에 따른 아이템 추천 시스템의 내부 구성을 보여주는 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 사용자 간의 유사도 계산 절차 및 이를 이용한 아이템 추천 절차를 보여주는 흐름도이다.
도 3은 사용자-댓글 테이블의 일예이다.
도 4는 SNS 뎁쓰 테이블의 일예이다.
도 5는 사용자-아이템 테이블의 일예이다.
1 is a block diagram illustrating an internal configuration of an item recommendation system according to a preferred embodiment of the present invention.
FIG. 2 is a flowchart illustrating a similarity calculation procedure between users according to a preferred embodiment of the present invention and an item recommendation procedure using the same.
Figure 3 is an example of a user-comment table.
4 is an example of the SNS depth table.
5 is an example of a user-item table.

이하, 도면을 참조하여 본 발명의 바람직한 실시예에 따른 사용자 간의 유사도 계산방법 및 이를 이용한 아이템 추천방법을 설명한다.Hereinafter, a method of calculating similarity between users according to a preferred embodiment of the present invention and an item recommendation method using the same will be described with reference to the drawings.

도 1은 본 발명의 바람직한 실시예에 따른 아이템 추천 시스템의 내부 구성을 보여주는 블록도이다. 1 is a block diagram illustrating an internal configuration of an item recommendation system according to a preferred embodiment of the present invention.

데이터 수집부(110)는 사용자로부터 사용자의 성별, 거주지역, 학력, 취미, 직업, 결혼 여부, 관심분야 등의 맥락정보를 입력받거나 또는 다른 사이트들로부터 이러한 정보를 수집한다. 또한, 데이터 수집부(110)는 제공되는 서비스와 관련된 맥락정보를 입력받거나 다른 사이트들로부터 제공받는다. 제공되는 서비스와 관련된 맥락정보라 함은, 예를 들면 영화정보를 제공하는 사이트인 경우에 영화와 관련된 맥락정보, 즉 좋아하는 영화 장르, 좋아하는 배우나 감독 등과 같이, 사이트에서 제공되는 서비스와 관련된 맥락정보를 의미한다. The data collecting unit 110 receives context information such as the user's sex, residence area, education, hobby, occupation, marital status, interest field, etc. from the user or collects such information from other sites. In addition, the data collection unit 110 may receive context information related to the provided service or may be provided from other sites. Context information related to the provided service refers to context information related to a movie in the case of a site providing movie information, for example, a favorite movie genre, a favorite actor or director, etc. Context information.

데이터 수집부(110)는 또한 사용자의 선호도 데이터도 입력받거나 수집한다. 사용자의 선호도 데이터는 하나 또는 그 이상의 아이템(또는 콘텐츠)에 대해서 사용자가 평가한 점수를 말한다. 영화, 음악, 도서 등의 정보 제공 사이트의 경우에는, 각 영화/음악/도서에 대해서 사용자가 평가한 평점이 포함될 수 있다. 수집된 정보는 사용자 DB(150)에 저장된다.The data collection unit 110 also receives or collects the user's preference data. The user's preference data refers to a score the user has rated for one or more items (or content). In the case of an information providing site such as a movie, music, or book, a rating evaluated by the user for each movie / music / book may be included. The collected information is stored in the user DB 150.

데이터 수집부(110)는 사용자의 사회적 관계 가중치를 계산하는데 필요한 정보(사회적 관계 정보)도 수집한다. 사용자의 사회적 관계 정보란, 사용자가 SNS(Social Network System), 블로그, 카페 등에 올린 글에 대한 다른 사용자의 댓글, '좋아요', 찬성/반대 등에 관한 정보를 말한다. 또한, SNS의 친구나 팔로우(follow) 관계 정보, 사용자의 휴대폰이나 웹사이트의 전화번호부에 저장된 전화번호나 이메일 주소 등도 사용자의 사회적 관계 정보에 포함될 수 있다. 이러한 정보는 아이템 추천 시스템 내부에 존재할 수도 있고, 외부의 별도 시스템(예를 들면, 페이스북(facebook) 사이트)에 존재할 수도 있다. 외부 시스템에 접속하여 이러한 정보를 가져올 수 있도록 하기 위하여 외부 시스템 접속정보(외부 시스템의 URL, 아이디, 패스워드)가 사용자 DB(150)에 저장되어 있을 수 있다.The data collecting unit 110 also collects information (social relationship information) necessary for calculating a user's social relation weights. The user's social relationship information refers to information about other users' comments, 'likes', and affirmative / negative responses to articles posted on a social network system (SNS), a blog or a cafe. In addition, friend or follow relationship information of the SNS, a phone number or an e-mail address stored in the phone book of the user's mobile phone or a web site, and the like can be included in the social relation information of the user. This information may be present within the item recommendation system or may be present in an external separate system (e.g., a facebook site). External system access information (URL, ID, password) of the external system may be stored in the user DB 150 in order to access the external system and retrieve such information.

온톨로지 변환부(120)는 사용자 DB(150)에 저장되어 있는 사용자의 맥락 정보 및 사회적인 관계 정보, 아이템 각각에 대한 사용자 선호도 데이터를 시맨틱 온톨로지 트리플(Semantic Ontology Triple) 형태로 변환한 후에 온톨로지 트리플 DB(160)에 저장한다. 사회적 관계 정보는 사회적 관계 가중치로 변환하여 저장하는 것이 바람직하다. 사회적 관계 가중치란 예를 들면 사용자가 SNS(Social Network System)에 올린 글에 대한 다른 사용자의 댓글의 연결 뎁쓰를 나타내는 SNS 뎁쓰일 수 있다. SNS 뎁쓰를 계산하는 실시예에 대해서는 후술한다.The ontology transformation unit 120 transforms user context data of the user stored in the user DB 150, social relationship information, and user preference data for each item into a semantic ontology triple form, 160). It is desirable to convert social relationship information into social relation weights and store them. The social relationship weight can be, for example, the SNS deprecated to indicate the connection depth of a user's comment on a post on a social network system (SNS). An embodiment for calculating the SNS depth will be described later.

유사도 계산부(130)는 사용자의 맥락 정보 및 사회적 관계 정보, 아이템 각각에 대한 사용자 선호도 데이터가 저장된 온톨로지 트리플 DB(160)에서 성별, 나이, 지역 등의 사례에 기반한 추론으로 사용자 간 유사도를 계산하여 유사 사용자들의 그룹을 도출하고, 도출된 유사 사용자 그룹 정보를 유사 사용자 그룹 DB(170)에 저장한다. 사용자 간 유사도를 계산하는 방법 및 유사 사용자 그룹을 도출하는 방법에 대해서는 후술한다.The similarity calculation unit 130 calculates similarities between users based on inferences based on gender, age, region, and the like in the ontology triple DB 160 storing user context data, social relationship information, and item preference data for each item Derives a group of similar users, and stores the derived similar user group information in the similar user group DB 170. A method of calculating the similarity between users and a method of deriving similar user groups will be described later.

아이템 추천부(140)는 유사 사용자 그룹 DB(170)에서 추천 대상 사용자가 속해 있는 유사 사용자 그룹에 속해 있는 유사 사용자들에 대해서 온톨로지 트리플 DB(160)에 저장된 사용자 선호도 정보를 가져와서 추천 대상 사용자에게 가장 적합한 아이템을 선정하여 추천 대상 사용자에게 제시한다. 아이템 추천 방법에 대해서도 후술한다.
The item recommendation unit 140 fetches the user preference information stored in the ontology triple DB 160 for similar users belonging to the similar user group to which the recommendation target user belongs in the similar user group DB 170, The most suitable item is selected and presented to the user. Item recommendation method will also be described later.

다음으로, 도 2를 참조하여 본 발명의 바람직한 실시예에 따른 사용자 간의 유사도 계산 절차 및 이를 이용한 아이템 추천 절차를 설명한다.Next, referring to FIG. 2, a similarity calculation procedure between users according to a preferred embodiment of the present invention and an item recommendation procedure using the same will be described.

도 2의 아이템 추천방법은, 사용자의 사회적 관계 가중치를 포함하는 사용자에 관한 데이터를 저장하는 사용자 데이터 저장단계(S100)와, 저장된 사용자 데이터 중의 적어도 일부를 이용하여 사용자 간 유사도를 계산하는 사용자 간 유사도 계산단계(S200)와, 사용자 간 유사도가 소정의 기준을 만족하는 사용자들의 그룹인 유사 사용자 그룹을 생성하는 유사 사용자 그룹 생성단계(S300)와, 사용자가 속해 있는 유사 사용자 그룹 내의 유사 사용자들의 추천 점수를 기반으로 아이템 기반 협업 필터링으로 예측하여 평가 점수가 누락된 아이템에 대해서 예측된 점수를 부여하여 유사한 아이템을 추천하는 유사 아이템 추천단계(S400)를 구비한다.
The item recommendation method of FIG. 2 includes a user data storing step (S100) of storing data related to a user including a social relation weight of a user, an inter-user similarity calculating step of calculating a degree of similarity between users using at least some of the stored user data A similar-user-group creation step (S300) of creating a similar-user group, which is a group of users whose similarity between users satisfies a predetermined criterion, a calculation step (S200) (S400) of recommending a similar item by assigning a predicted score to an item in which an evaluation score is missing by predicting by item-based collaborative filtering.

단계 S100에서는 데이터 수집부(110)에서 수집한 사용자의 사회적 관계 가중치를 포함하는 사용자에 관한 데이터를 온톨로지 변환부(120)에서 시맨틱 온톨로지 트리플 형태와 같이 이후의 단계에서 사용하기에 편리한 형태로 변환하여 저장한다. In step S100, the user-related data including the user's social relation weights collected by the data collection unit 110 is converted into a form that is convenient for use at a later stage, such as a semantic ontology triple form, in the ontology conversion unit 120 .

단계 S100에서 저장되는 사용자의 사회적 관계 가중치란, 사용자가 SNS(Social Network System)에 올린 글에 대한 다른 사용자의 댓글의 연결 뎁쓰를 나타내는 SNS 뎁쓰일 수 있다. 예를 들어, 사용자 A가 올린 SNS에 직접 댓글을 단 사용자 B의 사용자 A와의 SNS 뎁쓰는 1 뎁쓰이고, 사용자 B에게 댓글을 단 사용자 C의 사용자 A와의 SNS 뎁쓰는 2 뎁쓰이다. 이를 일반화하면, 사용자 A와의 SNS 뎁쓰가 N인 사용자 D에게 댓글을 단 사용자 E의 사용자 A와의 SNS 뎁쓰는 N+1이 된다. 이와 같은 방식으로 두 사용자 간의 SNS 뎁쓰를 추적할 수 있는데, 너무 먼 뎁쓰는 큰 의미가 없으므로 최대 추적하는 SNS 뎁쓰에 제한을 두는 것이 바람직하다. 예를 들면 최대 6 뎁쓰까지 추적하도록 시스템을 구성할 수 있다. 여기에서, SNS에는 페이스북(Facebook)과 같은 일반적인 SNS 이외에도 블로그, 인터넷 까페 등도 포함될 수 있다. The social relation weight of the user stored in step S100 may be an SNS attribute indicating a connection depth of a comment of another user with respect to an article posted on a social network system by a user. For example, SNS debs with user A of user B who has commented directly on SNS uploaded by user A are used 1 deb, and 2 deb writes with user A of user C who has commented to user B. When this is generalized, the SNS debut with the user A of the user E who has made the comment to the user D having the SNS depth N with the user A becomes N + 1. In this way, the SNS depth between two users can be traced. Since too much deb write is not significant, it is desirable to limit the maximum SNS depth to be tracked. For example, the system can be configured to track up to six depths. Here, SNS may include blogs, Internet cafes, etc. in addition to general SNS such as Facebook.

또한, SNS 뎁쓰를 구하는데에는 다른 다양한 변형이 사용될 수 있다. 예를 들면, 서로 댓글을 남긴 사용자 간의 SNS 뎁쓰를 1로, 한쪽만 댓글을 남긴 사용자 간의 SNS 뎁쓰를 2로 설정하도록 구성할 수 있다. 또한, 사용자의 전화번호부에 등록되어 있는 사람에 대해서는 계산된 SNS 뎁쓰를 한단계 감소시키도록 하거나 또는 적어도 2 뎁쓰로 설정하도록 하는 것도 가능하다. 또한, 댓글을 달았는지 여부에 관계없이 블로그나 SNS의 이웃 또는 친구로 등록되어 있는 사람에 대해서 SNS 뎁쓰를 1로 부여하는 것도 가능하며, 친구의 친구에 대해서는 SNS 뎁쓰를 2로 부여하는 것도 가능하다. 또한, 사회적 관계 가중치를 계산하는데 사용되는 SNS의 종류를 사용자가 선택할 수 있도록 하는 것도 가능하다. 이와 같이 다양한 SNS 뎁쓰 계산 방법이 가능하며, 본 발명은 SNS 뎁쓰를 계산하는 특정 방법에 한정되는 것은 아니다.
In addition, various other modifications can be used to obtain the SNS depth. For example, the SNS depth between users who have commented on each other may be set to 1, and the SNS depth between users who have left comments only on one side may be set to 2. It is also possible to reduce the calculated SNS depth by one level for the person registered in the telephone directory of the user, or to set it to at least two depths. It is also possible to assign SNS depth to a person who is registered as a neighbor or friend of a blog or SNS, regardless of whether or not the comment is added, and to assign a SNS depth of 2 to a friend of a friend . It is also possible to allow the user to select the type of SNS used to calculate the social relation weights. Various SNS depth calculation methods are possible as described above, and the present invention is not limited to the specific method of calculating the SNS depth.

SNS 뎁쓰를 구하는 한가지 방법을 예시적으로 설명한다. One way to obtain the SNS depth is illustrated by way of example.

먼저, 댓글을 남긴 사용자들 간의 SNS 뎁쓰를 구하기 위해 사용자-댓글 테이블을 생성한다. 사용자-댓글 테이블은 도 3과 같이 구성될 수 있으며, 1은 댓글을 남긴 경우, 0은 댓글을 남기지 않은 경우를 나타낸다.First, a user-comment table is created to obtain the SNS depth between users who have made comments. The user-comment table can be configured as shown in FIG. 3, where 1 indicates a case where a comment is left, and 0 indicates a case where no comment is left.

다음으로, 생성된 테이블을 참조하여 댓글을 남기지 않은 사용자 간의 SNS 뎁쓰를 다음과 같이 생성한다. Next, referring to the generated table, a SNS depth between users who have not left a comment is generated as follows.

예를 들어, 사용자 1과 사용자2 사이의 SNS 뎁쓰를 구함에 있어서, 사용자 1과 사용자 2는 서로 댓글을 단 적이 없어서 사용자-댓글 테이블의 값이 0이지만, 사용자1이 사용자3에 댓글을 달았고 사용자3이 사용자2에 댓글을 달았으므로, 사용자1과 사용자2 사이의 SNS 뎁쓰를 2로 설정한다. 또한, 서로 댓글을 단 적이 없는 사용자1과 사용자 4 사이에서는 사용자4가 사용자2에 댓글을 달았으므로, 사용자1과 사용자2 사이의 SNS 뎁쓰인 2에 1을 더한 3이 사용자1과 사용자4 사이의 SNS 뎁쓰 값이 된다. For example, in seeking the SNS depth between user 1 and user 2, the user 1 and user 2 have not commented on each other, so the value of the user-comment table is 0, but when user 1 commented on user 3, 3 has commented on User 2, set the SNS Depth between User 1 and User 2 to 2. In addition, since the user 4 has commented on the user 2 between the user 1 and the user 4 who have not commented on each other, 3, which is obtained by adding 1 to the SNS deprecated 2 between the user 1 and the user 2, SNS depth value.

이와 같은 과정을 거쳐서 생성된 SNS 뎁쓰 테이블의 예가 도 4에 있다. 이러한 과정을 사용자가 댓글을 달 때마다 또는 일정한 기간마다 계속 갱신함으로써 뎁쓰 테이블을 최신의 값으로 유지하게 된다.FIG. 4 shows an example of the SNS depth table generated through the above process. This process is maintained at the latest value whenever the user comments or continuously updates at a certain period.

한편, SNS 뎁쓰를 계산함에 있어서, 사용자 A에 대한 다른 사용자의 유사도를 계산할 때에 다른 사용자가 사용자 A에게 남긴 댓글은 무시하고 사용자 A가 다른 사용자에게 남긴 댓글만을 고려하여 SNS 뎁쓰를 계산하도록 구성하는 것도 가능하다.On the other hand, when calculating the similarity of another user to the user A in calculating the SNS depth, it is also possible to ignore the comment left by the other user to the user A and to calculate the SNS depth by considering only the comment left by the user A It is possible.

사회적 관계 가중치는 SNS 뎁쓰 값을 그대로 사용할 수도 있고 변환 테이블을 이용하여 별도의 사회적 관계 가중치로 변환하여 사용할 수도 있다. 예를 들면, 본 발명의 일 실시예에서는 SNS 뎁쓰 값의 역수를 사회적 관계 가중치로 사용한다. 즉, SNS 뎁쓰가 1이면 사회적 관계 가중치가 1, SNS 뎁쓰가 2면 사회적 관계 가중치가 0.5가 된다.
The social relation weights can be used as they are, or they can be transformed into social relation weights using conversion tables. For example, in one embodiment of the present invention, the inverse of the SNS depth value is used as the social relation weight. That is, if the SNS depth is 1, the social relation weight is 1, and if the SNS depth is 2, the social relation weight is 0.5.

사회적 관계 가중치 이외에 단계 S100에서 저장되는 사용자에 관한 데이터로는, 사용자 맥락정보 및 사용자의 선호도 데이터가 더 포함될 수 있다.In addition to the social relation weights, the user-related information stored in step S100 may further include user context information and user preference data.

사용자 맥락정보에는, 사용자의 성별, 거주지역, 학력, 취미, 직업, 결혼 여부, 관심분야 등의 사용자에 관한 다양한 정보가 포함될 수 있다. 사이트의 특성에 따라 저장하는 사용자 맥락정보가 다를 수 있다.  The user context information may include various information regarding the user such as the user's sex, residence area, education, hobby, occupation, marital status, area of interest, and the like. Depending on the characteristics of the site, the user context information to be stored may be different.

또한, 사용자 맥락정보는 제공되는 서비스와 관련된 맥락정보를 포함할 수 있다. 제공되는 서비스와 관련된 맥락정보라 함은, 예를 들면 영화정보를 제공하는 사이트인 경우에 영화와 관련된 맥락정보, 즉 좋아하는 영화 장르, 좋아하는 배우나 감독 등과 같이, 사이트에서 제공되는 서비스와 관련된 맥락정보를 의미한다. 이러한 맥락정보의 예로서는, 음악이나 책 관련 사이트의 경우에는 선호 장르, 선호 음악가(작가) 등이 포함될 수 있으며, 사진 사이트의 경우에는 사용하는 카메라 기종과 관심있는 사진 종류(인물사진, 풍경사진 등), 와인 사이트의 경우에는 좋아하는 품종과 지역, 골드버그 대회라는 과학경진대회와 관련된 사이트의 경우에는 사용하고자 하는 재료(주사위, 도르레, 구슬 등)와 과학원리(운동에너지, 위치에너지, 질량보존의 법칙 등) 등이 포함될 수 있다.  In addition, the user context information may include contextual information related to the service provided. Context information related to the provided service refers to context information related to a movie in the case of a site providing movie information, for example, a favorite movie genre, a favorite actor or director, etc. Context information. Examples of such context information may include a favorite genre and a favorite musician (artist) in the case of a music or book-related site. In the case of a photo site, a camera model to be used and a type of photograph (portrait, landscape, In the case of sites related to the science fair such as the goldberg competition, the materials (dice, dolls, beads, etc.) and scientific principles (kinetic energy, location energy, Etc.) may be included.

사용자의 선호도 데이터는 하나 또는 그 이상의 아이템(또는 콘텐츠)에 대해서 사용자가 평가한 점수를 말한다. 영화, 음악, 도서 등의 정보 제공 사이트의 경우에는, 각 영화/음악/도서에 대해서 사용자가 평가한 평점이 포함될 수 있다. The user's preference data refers to a score the user has rated for one or more items (or content). In the case of an information providing site such as a movie, music, or book, a rating evaluated by the user for each movie / music / book may be included.

이와 같이 단계 100에서 저장하는 사용자에 관한 데이터는 시맨틱 온톨로지 트리플(Semantic Ontology Triple) 형태로 저장하는 것이 바람직하다. 이를 위하여 온톨로지 변환부(120)는 예를 들면 RDBMS(Relational DataBase Management System) 모델링을 기반으로 한 모델링을 사용하여 온톨로지 모델링을 하고, 대상 데이터를 온톨로지 모델링 규칙을 통하여 대상 데이터를 <Subject, Predicate, Object>의 트리플(Triple) 형태로 변환한 후에 저장한다.
Thus, it is preferable that the user-related data stored in step 100 is stored in a semantic ontology triple form. The ontology transformation unit 120 performs ontology modeling using, for example, modeling based on RDBMS (Relational Data Base Management System) modeling, and provides the object data to the object data through the ontology modeling rule as <Subject, Predicate, Object >, And save it.

사용자 간 유사도 계산 단계(S200)에서 사용자 간의 유사도는 사용자 맥락정보의 일치도와 사회적 관계 가중치를 이용하여 계산하는 것이 바람직하다. 이를 위하여 예를 들면 다음과 같은 공식이 사용자1(U1)과 사용자2(U2) 사이의 유사도 Sim(U1, U2)를 계산하는 데 사용될 수 있다.
In the user similarity calculation step (S200), it is preferable that the similarity between users is calculated by using the degree of matching of the user context information and the social relation weights. For this purpose, for example, the following formula can be used to calculate the similarity Sim (U1, U2) between user 1 (U1) and user 2 (U2)

Sim(U1, U2) = (Sex + Education + Area + Generation + SRC + SRW)/6
Sim (U1, U2) = (Sex + Education + Area + Generation + SRC + SRW) / 6

여기에서 Sex는 성별 일치 여부(일치=1, 불일치=0), Education은 학력차이(동일=1, 1 단계 차이는 0.8, 2 단계 차이는 0.6, ...), Area는 거주지역 일치 여부(일치=1, 불일치=0), Generation은 연령대 차이(5살 차이 미만 = 1, 5~10살 차이 = 0.7, 11~20살 차이 = 0.4, 그 이상의 차이 = 0), SRC는 서비스 관련 맥락의 일치도, SRW는 사회적 관계 가중치이다.In this case, Sex is the gender match (1 = matched), Education is the difference of education (same = 1, 1 = 0.8, 2 = 0.6, ...) SRC is a service-related context in which the age-related differences (age <5 years = 1, 5 to 10 years = 0.7, 11-20 years = 0.4, and more = 0) And SRW are social relations weights.

위의 공식은 예시적인 것으로서, 제공되는 서비스, 사이트, 가입 회원 등의 특성 등에 따라 적절하게 변형하여 사용이 가능하다. 또한, 각 사용자 맥락정보에 가중치를 두도록 구성하는 것도 가능하다. 예를 들면, 사용자의 학력이 중요한 사이트에서는 학력에 가중치를 두고, 사용자의 연령대가 중요한 사이트에서는 연령대에 가중치를 두도록 구성할 수 있다. The above formula is illustrative and can be appropriately modified in accordance with the characteristics of a service, a site, a subscription member, etc. provided. It is also possible to configure each user context information to have a weight. For example, in sites where user's academic background is important, we can assign weight to academic achievement, and in a site where user's age is important, we can assign weight to age group.

이와 같은 방식으로 각 사용자 간의 유사도를 모든 사용자 사이에 대해서 계산한다. 또는, 계산량을 줄이기 위하여 사회적 관계 가중치가 일정 이상인 사용자 사이에 대해서만 유사도를 계산하도록 하거나 특정 맥락정보(예를 들면, 가중치가 높은 맥락정보)가 일치하는 사용자 사이에 대해서만 유사도를 계산하도록 하는 것도 가능하다.In this way, the degree of similarity between each user is calculated for all users. Alternatively, in order to reduce the amount of calculation, it is also possible to calculate the similarity only among users whose social relation weights are more than a certain level, or to calculate the similarity only between users whose specific context information (for example, high-weighted context information) .

한편, 사용자 간의 유사도를 계산함에 있어서 비대칭적으로 계산하는 것도 가능하다. 즉, 사용자 A의 사용자 B에 대한 유사도와 사용자 B의 사용자 A에 대한 유사도를 별도로 계산하는 것이다. 예를 들면, 사용자 B에 대한 사용자 A의 사회적 관계 가중치를 계산할 때 사용자 B가 사용자 A의 포스팅에 남긴 댓글만을 고려하고, 사용자 A가 사용자 B의 포스팅에 남긴 댓글은 고려하지 않는 경우에, 어느 한 쪽이 유명한 사람이고 다른 한쪽이 일방적으로 그 사람의 포스팅을 애독하는 사이라면 이러한 비대칭이 발생될 수 있다.
On the other hand, it is possible to calculate asymmetrically in calculating the similarity between users. That is, the degree of similarity of user A to user B and the degree of similarity of user B to user A are separately calculated. For example, when calculating the social relation weights of user A with respect to user B, only the comments that user B left in the posting of user A are considered. In the case where the user A does not consider comments left in posting by user B, This asymmetry can occur if one is a famous person and the other one is unilaterally reading the person's post.

이와 같이 사용자 간의 유사도가 계산되면, 이를 이용하여 유사 사용자 그룹을 생성한다(단계 S300). 유사 사용자 그룹은 사용자 간 유사도가 일정 점수 이상인 사용들로 그룹핑을 하면 된다. 이와 같은 그룹핑 방법의 예로는, 아무 유사 사용자 그룹에도 포함되지 않은 한명의 사용자(사용자 A)를 선택하여 사용자 A를 갖는 유사 사용자 그룹을 생성하고, 사용자 A에 대해서 소정의 조건을 만족하는 사용자를 이 유사 사용자 그룹에 추가하는 방법이 있다. 소정의 조건이라 함은, 사용자 A에 대해서 가장 유사도가 높은 소정 수(예를 들면, 10명)의 사용자들일 수도 있고, 사용자 A에 대해서 유사도가 일정 값(예를 들면, 0,95) 이상인 사용자들일 수도 있다. 또는, 사용자 A에 대해서 유사도가 일정 값 이상인 사용자들이 소정의 최대수, 예를 들면 100명 이상인 경우에는 100명까지만 하나의 유사 사용자 그룹에 추가하도록 구성하는 것도 가능하다. When the degree of similarity between users is calculated, a similar user group is created using the calculated similarity degree (step S300). The similar user group can be grouped into the users whose similarities between users are equal to or higher than a certain score. An example of such a grouping method is to select a single user (user A) not included in any similar user group to create a similar user group having the user A, and to assign a user satisfying a predetermined condition to the user A There is a way to add to a user group. The predetermined condition may be a predetermined number of users (for example, 10 users) having the highest degree of similarity to the user A, a user having a similarity degree of the user A having a predetermined value (for example, 0,95) . Alternatively, when the number of users whose similarity degree is equal to or higher than a predetermined value is equal to a predetermined maximum number, for example, 100 or more, to user A, only up to 100 users can be added to one similar user group.

또 다른 방법으로는, 사용자별로 해당 사용자에게 가장 유사한 사용자들을 일정 수만큼 선별하여 저장하는 방법이 있다. 즉, 예를 들면 사용자 A에 가장 유사한 사람 10명을 찾아서 사용자 A와 관련하여 저장해두는 것이다. 이는 비대칭적으로 유사도를 계산하는 실시예의 경우에 유용하다.As another method, there is a method of selecting and storing a predetermined number of users most similar to the user for each user. That is, for example, 10 persons who are most similar to user A are found and stored in association with user A. This is useful in the case of embodiments that calculate the degree of similarity asymmetrically.

이와 같이 유사 사용자 그룹을 생성하는 방법에는 다양한 방법이 있을 수 있으며, 본 발명은 특정 유사 사용자 그룹 생성방법에 한정되지 않는다.
There are various methods for creating the similar user group, and the present invention is not limited to the specific similar user group creation method.

유사 아이템 추천단계(S400)는 사용자가 속해 있는 유사 사용자 그룹 내의 유사 사용자들의 추천 점수를 기반으로 아이템 기반 협업 필터링으로 예측하여 평가 점수가 누락된 아이템에 대해서 예측된 점수를 부여하여 유사한 아이템을 추천하는 것이다. 본 발명의 일 실시예에서는 유사 아이템 추천단계(S400)가, 유사 사용자 그룹 내의 사용자들에 대해서 아이템들에 대한 사용자-아이템 테이블을 구성하는 단계와, 구성된 사용자-아이템 테이블에 대해서 협업필터링 알고리즘을 적용하여 사용자가 평가하지 않은 아이템에 대한 예측 점수를 부여하는 단계와, 부여된 예측 점수가 소정의 기준 이상인 아이템를 사용자에게 추천하는 단계를 포함한다.In the similar item recommendation step (S400), an item-based collaborative filtering is predicted based on a recommendation score of similar users in a similar user group to which the user belongs, and a similar item is recommended by giving a predicted score to the item will be. In an exemplary embodiment of the present invention, the similar item recommendation step (S400) includes the steps of: constructing a user-item table for items for users in the similar user group; applying a collaborative filtering algorithm to the configured user- A step of assigning a predictive score to an item which is not evaluated by the user, and a step of recommending to the user an item having a given predictive score equal to or higher than a predetermined criterion.

사용자-아이템 테이블은, 도 5에 도시한 것처럼, 특정 사용자와 유사한 사용자들, 즉 유사 사용자 그룹에 속해 있는 사용자들이 각 아이템에 대해서 평가한 점수를 모아놓은 테이블이다. 도 5에서 물음표는 사용자가 해당 아이템에 대해서 평가를 하지 않았음을 나타낸다.The user-item table is a table in which users who are similar to a specific user, that is, users belonging to a similar user group, as shown in FIG. The question mark in FIG. 5 indicates that the user has not evaluated the item.

협업 필터링(collaborative filtering) 알고리즘은, 두 개의 아이템 i, j에 대해서 사용자 A가 평가한 점수와 사용자 B가 아이템 i에 대해서 평가한 점수를 사용하여 사용자 B가 평가하지 않은 아이템 j에 대한 사용자 B의 평가점수를 예측하는 알고리즘으로서, 대표적인 협업 필터링 알고리즘으로는 슬로프원(Slope-One) 알고리즘이 있다. 이하에서는, 슬로프원 알고리즘 중의 하나인 웨이티드 슬로프원(Weighted Slope-One) 방식을 사용한 아이템 예측점수 부여 방법을 설명한다. The collaborative filtering algorithm uses the score of user A on two items i, j and the score of user B on item i, As an algorithm for predicting the score, a typical cooperative filtering algorithm is a Slope-One algorithm. Hereinafter, a method of assigning item prediction scores using a weighted slope-one scheme, which is one of the slope original algorithms, will be described.

웨이티드 슬로프원 알고리즘은, 모든 아이템 쌍들의 편차를 계산하는 단계와, 계산된 편차를 사용하여 사용자가 평가하지 않은 아이템에 대한 예측점수를 부여하는 단계를 거쳐서 평가하지 않은 아이템에 대한 예측점수를 부여한다. The weighted slope original algorithm calculates a deviation of all the pairs of items and a step of assigning a prediction score to an item that the user has not evaluated using the calculated deviation to give a prediction score do.

card(S j ,i (X))를 아이템 i, j 모두에 대해서 평가점수를 부여한 사용자의 수라 하고, u i u j 를 각각 사용자의 아이템 i 및 j에 대한 평가점수, uS j ,i (X)를 유사 사용자 그룹에 속하는 모든 사용자라고 할 때, 아이템 쌍들의 편차는 수학식 1에 의해 계산할 수 있다. Sura card user given a rating for both (S j, i (X) ) the item i, j, and, u i and Let u j be the evaluation score of the user's items i and j , respectively, and uS j , i ( X ) be all users belonging to the similar user group. The deviation of the item pairs can be calculated by Equation (1).

Figure pat00001
Figure pat00001

이와 같이 아이템 쌍들의 편차가 모든 아이템 쌍들에 대해서 계산되면 수학식 2를 사용하여 사용자가 평가하지 않은 아이템에 대한 예측점수를 부여한다.Thus, if the deviation of the item pairs is calculated for all pairs of items, Equation 2 is used to give a predictive score for the item that the user has not evaluated.

Figure pat00002
Figure pat00002

여기에서, c j ,i = card(S j ,i (X))이고 i∈ S(u)-{j}는 사용자가 평가점수를 부여한 모든 아이템을 나타낸다.Here, c j , i = card ( S j , i ( X )) and i ∈ S (u) - {j} denote all items to which the user has given an evaluation score.

이상에서는 웨이티드 슬로프원 알고리즘을 예로 들어서 협업 필터링 알고리즘을 적용하여 사용자가 평가하지 않은 아이템에 대한 예측 점수를 부여하는 방법에 대해서 설명하였지만, 본 발명은 특정 협업 필터링 알고리즘에 한정되는 것은 아니며, 기존의 다양한 알고리즘에 의해 사용자가 평가하지 않은 아이템에 대한 예측 점수를 부여하도록 구성할 수 있다. In the above, a method of assigning a predictive score to an item not evaluated by a user by applying a collaborative filtering algorithm is described as an example of a weighted slope original algorithm. However, the present invention is not limited to a specific collaborative filtering algorithm, It is possible to provide a prediction score for an item which is not evaluated by the user by various algorithms.

이러한 과정을 거쳐서 사용자가 평가하지 않은 아이템에 대한 예측점수가 부여되면, 부여된 예측 점수가 소정의 기준 이상인 아이템을 사용자에게 추천함으로써 사용자가 가장 관심이 있을만한 아이템을 사용자에게 추천한다.
If a prediction score for an item that is not evaluated by the user is given through the above process, the user is recommended to the user with an item with a predicted score that is equal to or higher than a predetermined criterion, thereby recommending the item that the user is most interested in.

이상, 본 발명을 몇가지 예를 들어 설명하였으나, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 반도체 기록매체, 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention. The storage medium of the computer program may include a semiconductor recording medium, a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. Furthermore, the terms "comprises", "comprising", or "having" described above mean that a component can be implanted unless otherwise specifically stated, But should be construed as including other elements.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 함되는 것으로 해석되어야 할 것이다.
The foregoing description is merely illustrative of the technical idea of the present invention and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

110 데이터 수집부, 120 온톨로지 변환부,
130 유사도 계산부, 140 아이템 추천부,
150 사용자 DB, 160 온톨로지 트리플 DB,
170 유사 사용자 그룹 DB.
110 data collection unit, 120 ontology conversion unit,
130 similarity calculation unit, 140 item recommendation unit,
150 user DB, 160 ontology triple DB,
170 similar user group DB.

Claims (23)

사용자의 사회적 관계 가중치를 포함하는 사용자에 관한 데이터를 저장하는 사용자 데이터 저장단계와,
저장된 사용자 데이터 중의 적어도 일부를 이용하여 사용자 간 유사도를 계산하는 사용자 간 유사도 계산단계와,
사용자 간 유사도가 소정의 기준을 만족하는 사용자들의 그룹인 유사 사용자 그룹을 생성하는 유사 사용자 그룹 생성단계와,
사용자가 속해 있는 유사 사용자 그룹 내의 유사 사용자들의 추천 점수를 기반으로 아이템 기반 협업 필터링으로 예측하여 평가 점수가 누락된 아이템에 대해서 예측된 점수를 부여하여 유사한 아이템을 추천하는 유사 아이템 추천단계
를 포함하는 아이템 추천 방법.
A user data storing step of storing data on a user including a user's social relation weight,
An inter-user similarity calculation step of calculating a degree of similarity between users using at least a part of the stored user data;
A similar user group creation step of creating a similar user group, which is a group of users whose similarity between users satisfies a predetermined criterion;
Based on the recommendation score of similar users in the similar user group to which the user belongs, it is predicted by item-based collaborative filtering, and a similar item recommending step of recommending a similar item by giving a predicted score to the item in which the evaluation score is missing
&Lt; / RTI &gt;
제1항에 있어서,
상기 사회적 관계 가중치는 사용자가 SNS에 올린 글에 대한 다른 사용자의 댓글의 연결 뎁쓰를 나타내는 SNS 뎁쓰인 것을 특징으로 하는 아이템 추천 방법.
The method according to claim 1,
Wherein the social relation weight is an SNS depiction indicating a connection depth of a comment of another user with respect to an article posted by the user on the SNS.
제2항에 있어서,
사용자 A가 올린 SNS에 직접 댓글을 단 사용자 B의 사용자 A와의 SNS 뎁쓰는 1 뎁쓰이고, 사용자 A와의 SNS 뎁쓰가 N인 사용자 C에게 댓글을 단 사용자 D의 사용자 A와의 SNS 뎁쓰는 N+1인 것을 특징으로 하는 아이템 추천 방법.
3. The method of claim 2,
SNS debs with the user A of the user B who directly commented on the SNS uploaded by the user A are used for 1 deb, and the SNS debut with the user A of the user D who has made the comment to the user C with the SNS depth N with the user A is N + The item recommendation method comprising:
제2항에 있어서,
상기 사용자에 관한 데이터에는 사용자 맥락정보 및 사용자의 선호도 데이터가 더 포함되는 것을 특징으로 하는 아이템 추천 방법.
3. The method of claim 2,
Wherein the data on the user further includes user context information and user preference data.
제4항에 있어서,
상기 사용자 맥락정보는 사용자의 성별, 거주지역, 학력을 포함하는 것을 특징으로 하는 아이템 추천 방법.
5. The method of claim 4,
Wherein the user context information includes a sex, a residence area, and an education level of a user.
제4항에 있어서,
상기 사용자 맥락정보는 제공되는 서비스와 관련된 맥락정보를 포함하는 것을 특징으로 하는 아이템 추천 방법.
5. The method of claim 4,
Wherein the user context information includes contextual information related to a provided service.
제4항에 있어서,
상기 사용자의 선호도 데이터는 하나 또는 그 이상의 아이템에 대해서 사용자가 평가한 점수인 것을 특징으로 하는 아이템 추천 방법.
5. The method of claim 4,
Wherein the user's preference data is a score the user has rated for one or more items.
제4항에 있어서,
상기 사용자 간 유사도 계산 단계에서 사용자 간의 유사도는 사용자 맥락정보의 일치도와 사회적 관계 가중치를 이용하여 계산되는 것을 특징으로 하는 아이템 추천 방법.
5. The method of claim 4,
Wherein the degree of similarity between users in the step of calculating the degree of similarity between users is calculated using the degree of matching of the user context information and the weight of the social relation.
제1항 내지 제8항 중 어느 한 항에 있어서,
상기 사용자에 관한 데이터는 시맨틱 온톨로지 트리플(Semantic Ontology Triple) 형태로 저장되는 것을 특징으로 하는 아이템 추천 방법.
9. The method according to any one of claims 1 to 8,
Wherein the data about the user is stored in a semantic ontology triple form.
제1항 내지 제8항 중 어느 한 항에 있어서, 상기 유사 사용자 그룹 생성단계는,
아무 유사 사용자 그룹에도 포함되지 않은 한명의 사용자를 선택하여 이 사용자를 갖는 유사 사용자 그룹을 생성하는 제1단계와,
상기 사용자에 대해서 소정의 조건을 만족하는 사용자들을 상기 유사 사용자 그룹에 추가하는 제2단계
를 포함하는 아이템 추천 방법.
9. The method according to any one of claims 1 to 8,
A first step of selecting one user not included in any similar user group and creating a similar user group having the same user,
A second step of adding the users satisfying a predetermined condition to the similar user group to the user
&Lt; / RTI &gt;
제1항 내지 제8항 중 어느 한 항에 있어서, 상기 유사 아이템 추천단계는,
유사 사용자 그룹 내의 사용자들에 대해서 아이템들에 대한 사용자-아이템 테이블을 구성하는 단계와,
구성된 사용자-아이템 테이블에 대해서 협업필터링 알고리즘을 적용하여 사용자가 평가하지 않은 아이템에 대한 예측 점수를 부여하는 단계와,
부여된 예측 점수가 소정의 기준 이상인 아이템을 사용자에게 추천하는 단계
를 포함하는 아이템 추천 방법.
9. The method according to any one of claims 1 to 8,
Constructing a user-item table for items for users in the similar user group,
Applying a collaborative filtering algorithm to a configured user-item table to give a predictive score for an item that the user has not evaluated;
A step of recommending to the user an item whose predicted score is equal to or greater than a predetermined criterion
&Lt; / RTI &gt;
제11항에 있어서, 상기 협업필터링 알고리즘은 웨이티드 슬로프 원(Weighted Slope-One) 알고리즘인 것을 특징으로 하는 아이템 추천 방법.
12. The method of claim 11, wherein the collaborative filtering algorithm is a Weighted Slope-One algorithm.
사용자의 사회적 관계 가중치를 포함하는 사용자에 관한 데이터를 저장하는 사용자 데이터 저장단계와,
저장된 사용자 데이터 중의 적어도 일부를 이용하여 사용자 간 유사도를 계산하는 사용자 간 유사도 계산단계
를 포함하는 사용자 간의 유사도 계산방법.
A user data storing step of storing data on a user including a user's social relation weight,
Calculating user similarity using at least a part of the stored user data,
And calculating a similarity between users.
제13항에 있어서,
상기 사회적 관계 가중치는 사용자가 SNS에 올린 글에 대한 다른 사용자의 댓글의 연결 뎁쓰를 나타내는 SNS 뎁쓰인 것을 특징으로 하는 사용자 간의 유사도 계산방법.
14. The method of claim 13,
Wherein the social relation weight is an SNS depiction indicating a connection depth of a comment of another user to a user's post on the SNS.
제14항에 있어서,
사용자 A가 올린 SNS에 직접 댓글을 단 사용자 B의 사용자 A와의 SNS 뎁쓰는 1 뎁쓰이고, 사용자 A와의 SNS 뎁쓰가 N인 사용자 C에게 댓글을 단 사용자 D의 사용자 A와의 SNS 뎁쓰는 N+1인 것을 특징으로 하는 사용자 간의 유사도 계산방법.
15. The method of claim 14,
SNS debs with the user A of the user B who directly commented on the SNS uploaded by the user A are used for 1 deb, and the SNS debut with the user A of the user D who has made the comment to the user C with the SNS depth N with the user A is N + And calculating the similarity between users.
제13항에 있어서,
상기 사회적 관계 가중치는 사용자가 다른 사용자의 포스팅에 댓글을 달았는지 여부를 고려하여 결정되는 것을 특징으로 하는 사용자 간의 유사도 계산방법.
14. The method of claim 13,
Wherein the social relation weights are determined by considering whether the user has commented on postings of other users.
제13항에 있어서,
상기 사회적 관계 가중치는 사용자가 다른 사용자의 블로그나 SNS의 이웃 또는 친구로 등록되어 있는지 여부를 고려하여 결정되는 것을 특징으로 하는 사용자 간의 유사도 계산방법.
14. The method of claim 13,
Wherein the social relation weights are determined in consideration of whether a user is registered as a blog or a neighbor of a user or a friend of the SNS.
제13항 내지 제17항 중 어느 한 항에 있어서,
상기 사용자에 관한 데이터에는 사용자 맥락정보 및 사용자의 선호도 데이터가 더 포함되는 것을 특징으로 하는 사용자 간의 유사도 계산방법.
18. The method according to any one of claims 13 to 17,
Wherein the data on the user further includes user context information and user preference data.
제18항에 있어서,
상기 사용자 맥락정보는 사용자의 성별, 거주지역, 학력을 포함하는 것을 특징으로 하는 사용자 간의 유사도 계산방법.
19. The method of claim 18,
Wherein the user context information includes a sex, a residence area, and a scholastic ability of a user.
제18항에 있어서,
상기 사용자 맥락정보는 제공되는 서비스와 관련된 맥락정보를 포함하는 것을 특징으로 하는 사용자 간의 유사도 계산방법.
19. The method of claim 18,
Wherein the user context information includes context information related to a provided service.
제18항에 있어서,
상기 사용자의 선호도 데이터는 하나 또는 그 이상의 아이템에 대해서 사용자가 평가한 점수인 것을 특징으로 하는 사용자 간의 유사도 계산방법.
19. The method of claim 18,
Wherein the user's preference data is a score the user has rated for one or more items.
제18항에 있어서,
상기 사용자 간 유사도 계산 단계에서 사용자 간의 유사도는 사용자 맥락정보의 일치도와 사회적 관계 가중치를 이용하여 계산되는 것을 특징으로 하는 아이템 추천 방법.
19. The method of claim 18,
Wherein the degree of similarity between users in the step of calculating the degree of similarity between users is calculated using the degree of matching of the user context information and the weight of the social relation.
제13항 내지 제17항 중 어느 한 항에 있어서,
상기 사용자에 관한 데이터는 시맨틱 온톨로지 트리플(Semantic Ontology Triple) 형태로 저장되는 것을 특징으로 하는 아이템 추천 방법.
18. The method according to any one of claims 13 to 17,
Wherein the data about the user is stored in a semantic ontology triple form.
KR20130060988A 2013-05-29 2013-05-29 Method for calculating simularity between users and item recommendation method using the same KR20140140309A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130060988A KR20140140309A (en) 2013-05-29 2013-05-29 Method for calculating simularity between users and item recommendation method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130060988A KR20140140309A (en) 2013-05-29 2013-05-29 Method for calculating simularity between users and item recommendation method using the same

Publications (1)

Publication Number Publication Date
KR20140140309A true KR20140140309A (en) 2014-12-09

Family

ID=52458211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130060988A KR20140140309A (en) 2013-05-29 2013-05-29 Method for calculating simularity between users and item recommendation method using the same

Country Status (1)

Country Link
KR (1) KR20140140309A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018043860A1 (en) * 2016-09-02 2018-03-08 에스케이플래닛 주식회사 Device for recommending rental item by means of similar-propensity group and method using same
KR20180066705A (en) * 2016-12-09 2018-06-19 김채연 Method and apparatus for analyzing vulnerability of learner
KR101871747B1 (en) * 2017-04-07 2018-06-27 주식회사 화성 Similarity tendency based user-sightseeing recommendation system and method thereof
CN109117442A (en) * 2017-06-23 2019-01-01 腾讯科技(深圳)有限公司 A kind of application recommended method and device
KR20190031215A (en) * 2019-03-08 2019-03-25 주식회사 우리은행 Advertising method for providing differential reward
CN109754316A (en) * 2018-12-29 2019-05-14 深圳Tcl新技术有限公司 Products Show method, Products Show system and storage medium
KR20190136941A (en) * 2018-05-31 2019-12-10 한국과학기술원 Rating Prediction Method for Recommendation Algorithm Based on Observed Ratings and Similarity Graphs
KR20200003536A (en) * 2018-07-02 2020-01-10 한국과학기술원 Smart community system and method for discovering multi-dimensional smart community
US10719338B2 (en) 2016-11-29 2020-07-21 Samsung Electronics Co., Ltd. Method for recommending content and apparatus therefor
CN111695040A (en) * 2020-06-12 2020-09-22 陕西师范大学 Fashion product recommendation method, system and device based on emotion label
CN112967101A (en) * 2021-04-07 2021-06-15 重庆大学 Collaborative filtering article recommendation method based on multi-interaction information of social users
CN112989191A (en) * 2021-03-10 2021-06-18 北京明略软件系统有限公司 Method and system for recommending materials in enterprise WeChat
CN114429384A (en) * 2021-12-30 2022-05-03 杭州盟码科技有限公司 Intelligent product recommendation method and system based on e-commerce platform
US20220229921A1 (en) * 2021-01-21 2022-07-21 International Business Machines Corporation Timing for user data erasure requests
WO2023106469A1 (en) * 2021-12-09 2023-06-15 충북대학교 산학협력단 Personalized item suggestion system

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018043860A1 (en) * 2016-09-02 2018-03-08 에스케이플래닛 주식회사 Device for recommending rental item by means of similar-propensity group and method using same
US10719338B2 (en) 2016-11-29 2020-07-21 Samsung Electronics Co., Ltd. Method for recommending content and apparatus therefor
KR20180066705A (en) * 2016-12-09 2018-06-19 김채연 Method and apparatus for analyzing vulnerability of learner
KR101871747B1 (en) * 2017-04-07 2018-06-27 주식회사 화성 Similarity tendency based user-sightseeing recommendation system and method thereof
CN109117442A (en) * 2017-06-23 2019-01-01 腾讯科技(深圳)有限公司 A kind of application recommended method and device
CN109117442B (en) * 2017-06-23 2023-03-24 腾讯科技(深圳)有限公司 Application recommendation method and device
KR20190136941A (en) * 2018-05-31 2019-12-10 한국과학기술원 Rating Prediction Method for Recommendation Algorithm Based on Observed Ratings and Similarity Graphs
KR20200003536A (en) * 2018-07-02 2020-01-10 한국과학기술원 Smart community system and method for discovering multi-dimensional smart community
CN109754316B (en) * 2018-12-29 2022-07-29 深圳Tcl新技术有限公司 Product recommendation method, product recommendation system and storage medium
CN109754316A (en) * 2018-12-29 2019-05-14 深圳Tcl新技术有限公司 Products Show method, Products Show system and storage medium
KR20190031215A (en) * 2019-03-08 2019-03-25 주식회사 우리은행 Advertising method for providing differential reward
CN111695040A (en) * 2020-06-12 2020-09-22 陕西师范大学 Fashion product recommendation method, system and device based on emotion label
US20220229921A1 (en) * 2021-01-21 2022-07-21 International Business Machines Corporation Timing for user data erasure requests
US11914733B2 (en) * 2021-01-21 2024-02-27 International Business Machines Corporation Timing for user data erasure requests
CN112989191A (en) * 2021-03-10 2021-06-18 北京明略软件系统有限公司 Method and system for recommending materials in enterprise WeChat
CN112967101A (en) * 2021-04-07 2021-06-15 重庆大学 Collaborative filtering article recommendation method based on multi-interaction information of social users
WO2023106469A1 (en) * 2021-12-09 2023-06-15 충북대학교 산학협력단 Personalized item suggestion system
CN114429384A (en) * 2021-12-30 2022-05-03 杭州盟码科技有限公司 Intelligent product recommendation method and system based on e-commerce platform
CN114429384B (en) * 2021-12-30 2022-12-09 杭州盟码科技有限公司 Intelligent product recommendation method and system based on e-commerce platform

Similar Documents

Publication Publication Date Title
KR20140140309A (en) Method for calculating simularity between users and item recommendation method using the same
Aliannejadi et al. Personalized context-aware point of interest recommendation
US11514333B2 (en) Combining machine-learning and social data to generate personalized recommendations
US20220188369A1 (en) High-speed delay scanning and deep learning techniques for spectroscopic srs imaging
Lu et al. Personalized trip recommendation with multiple constraints by mining user check-in behaviors
Lee et al. Context awareness by case-based reasoning in a music recommendation system
Aliannejadi et al. A joint two-phase time-sensitive regularized collaborative ranking model for point of interest recommendation
Li et al. Next and next new POI recommendation via latent behavior pattern inference
Coelho et al. A personalized travel recommendation system using social media analysis
Bothorel et al. Location recommendation with social media data
KR20090028438A (en) A recommender system with ad-hoc, dynamic model composition
Xie et al. Graph-based metric embedding for next poi recommendation
WO2018064662A1 (en) Systems and methods for personalized discovery engines
Liu et al. Where your photo is taken: Geolocation prediction for social images
Aliannejadi et al. A collaborative ranking model with multiple location-based similarities for venue suggestion
Bhargava et al. Unsupervised modeling of users' interests from their Facebook profiles and activities
Chung et al. Categorization for grouping associative items using data mining in item-based collaborative filtering
Rohani et al. An enhanced content-based recommender system for academic social networks
Sivaramakrishnan et al. Neighborhood-based approach of collaborative filtering techniques for book recommendation system
Noorian Avval et al. A hybrid recommender system using topic modeling and prefixspan algorithm in social media
KR101523192B1 (en) Social search system and scheme
US10191988B2 (en) System and method for returning prioritized content
Aliannejadi et al. Venue suggestion using social-centric scores
Yang et al. Personalized recommendation based on collaborative filtering in social network
Medel et al. Social relations and methods in recommender systems: A systematic review

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application