KR20170011963A - 아이템 추천 방법 및 서버 - Google Patents

아이템 추천 방법 및 서버 Download PDF

Info

Publication number
KR20170011963A
KR20170011963A KR1020150182001A KR20150182001A KR20170011963A KR 20170011963 A KR20170011963 A KR 20170011963A KR 1020150182001 A KR1020150182001 A KR 1020150182001A KR 20150182001 A KR20150182001 A KR 20150182001A KR 20170011963 A KR20170011963 A KR 20170011963A
Authority
KR
South Korea
Prior art keywords
graph
items
preference
history information
item
Prior art date
Application number
KR1020150182001A
Other languages
English (en)
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 한양대학교 산학협력단
Publication of KR20170011963A publication Critical patent/KR20170011963A/ko

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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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
    • G06Q90/00Systems or methods specially adapted for administrative, commercial, financial, managerial or supervisory purposes, not involving significant data processing

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 아이템 추천 방법 및 서버에 관한 것이다. 본 발명에 따르면, 샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집하는 단계;
상기 아이템들에 대한 정규 규칙을 이용하여 상기 이력 정보를 전처리하는 단계; 상기 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성하는 단계;
상기 이력 정보에 대한 내용 기반의 유사도를 결정하는 단계; 상기 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링하는 단계; 상기 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정하는 단계; 및 상기 선호도에 기초하여 상기 타겟 사용자를 위한 공고 정보를 추천하는 단계를 포함하는 아이템 추천 방법이 제공된다. 본 발명에 따르면, 구직자에게 개별적으로 매우 적합한 구인 공고를 추천할 수 있다.

Description

아이템 추천 방법 및 서버{METHOD AND SERVER FOR RECOMMENDING ITEM}
본 발명은, 아이템 추천 방법 및 서버에 관한 것이다.
전자 채용 사이트는 구직자와 채용 회사를 연결해주는 사이트로서, 구직자와 채용 회사 모두에게 중요한 매체가 되고 있다.
하지만, 전자 채용 사이트에는 구직자와 채용 회사의 수 많은 이력서와 채용 정보가 등록되어 있다. 이처럼 수 많은 데이터가 등록되어 있기 때문에, 구직자 입장에서 자신에게 가장 적합한 채용 정보를 수동적으로 찾는 것은 매우 시간이 많이 드는 작업이다.
예를 들어, 특정 전자 채용 사이트의 경우 지난 7일 동안 업로드된 새로운 채용 정보의 수만 약 300,000개이다. 구직자가 매일 새로운 채용 정보를 확인하는 경우, 시간이 많이 소요될 수 있다. 물론, 구직자가 자신에게 적합한 채용 정보를 검색하고자 하는 경우에는, 더 많은 시간이 소요될 수도 있다.
본 발명은, 구직자가 편리하게 구직자에게 적합한 채용 정보를 획득할 수 있도록 구직자에게 적합한 채용 정보를 추천해 주는 추천 시스템을 제안하고자 한다.
본 발명은, 이직을 원하는 구직자들에게 구직자 자신에게 적합한 구인 공고를 추천 해주는 시스템을 제공하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
일실시예에 따른, 아이템 추천 방법에 있어서, 샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집하는 단계; 상기 아이템들에 대한 정규 규칙을 이용하여 상기 이력 정보를 전처리하는 단계; 상기 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성하는 단계; 상기 이력 정보에 대한 내용 기반의 유사도를 결정하는 단계; 상기 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링하는 단계; 상기 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정하는 단계; 및 상기 선호도에 기초하여 상기 타겟 사용자를 위한 공고 정보를 추천하는 단계를 포함할 수 있다.
상기 전처리하는 단계는, 상기 이력 정보를 구성하는 아이템들 각각에 대한 정규 규칙과 아이템들 간에 공통되는 정규 규칙에 기초하여 이력 정보를 전처리할 수 있다.
상기 그래프를 생성하는 단계는, 상기 샘플 사용자와 복수의 아이템들을 노드로 설정한 그래프를 생성하는 단계; 상기 생성된 그래프를 서로 다른 아이템별로 분리된 그래프를 생성하는 단계를 포함할 수 있다.
상기 유사도를 결정하는 단계는, 상기 이력 정보를 구성하는 샘플 사용자 및 아이템들 각각에 대한 가중치 벡터를 추출함으로써 내용 기반의 유사도를 결정할 수 있다.
상기 유사도를 결정하는 단계는, 상기 이력 정보에서 일정 횟수 이상 기재된 단어를 추출하고, 상기 추출된 단어의 설명을 기초로 이력 정보를 구성하는 객체인 샘플 사용자 및 아이템들 각각에 대한 가중치 벡터를 추출하는 단계; 및 상기 추출된 객체별 가중치 벡터들 간의 유사도를 결정하는 단계를 포함할 수 있다.
상기 그래프를 모델링하는 단계는, (i) 상기 그래프에 샘플 사용자들 간 신규 링크를 결합하거나, (ii) 상기 그래프에 아이템들 간의 신규 링크를 결합하거나, (iii) 상기 그래프에 가중치를 적용하거나, (iv) 상기 그래프에 가중치를 적용한 후, 샘플 사용자들 간 신규 링크 또는 아이템들 간의 신규 링크를 결합함으로써 그래프를 모델링할 수 있다.
상기 선호도를 결정하는 단계는, 상기 타겟 사용자에 대한 아이템별 선호도를 예측하는 단계; 상기 아이템들 중 공고 정보에 대응하는 아이템의 선호도를 결합하는 단계; 를 포함할 수 있다.
상기 선호도를 예측하는 단계는, 랭크 근사법을 이용하여 상기 특정 아이템별 사용자의 선호도를 계산하여 선호도를 예측할 수 있다.
상기 선호도를 예측하는 단계는, 신뢰도를 이용하여 상기 특정 아이템별 사용자의 선호도를 확률을 이용하여 결정할 수 있다.
상기 선호도를 예측하는 단계는, 랜덤 워크를 이용하여 상기 특정 아이템별 사용자와 아이템별 간의 관련성 점수를 계산할 수 있다.
상기 타겟 사용자를 위한 공고 정보를 추천하는 단계는, 상기 결합된 공고 정보에 대응하는 아이템의 선호도들 중 가장 높은 선호도를 나타내는 아이템들로 구성된 공고 정보를 추천할 수 있다.
일실시예에 따른, 아이템 추천 서버에 있어서, 샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집하는 이력 정보 수집부; 상기 아이템들에 대한 정규 규칙을 이용하여 상기 이력 정보를 전처리하는 전처리부; 상기 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성하는 그래프 생성부; 상기 이력 정보에 대한 내용 기반의 유사도를 결정하는 유사도 결정부; 상기 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링하는 그래프 모델링부; 상기 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정하는 선호도 결정부; 및 상기 선호도에 기초하여 상기 타겟 사용자를 위한 공고 정보를 추천하는 공고 정보 추천부를 포함할 수 있다.
본 발명은, 구직자들에게 구직자 자신에게 적합한 구인 공고를 추천할 수 있다는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 아이템 추천 방법으로서, 전체 시스템을 나타내는 개념도이다.
도 2는 본 발명의 일실시예에 따른 아이템 추천 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 아이템 추천 방법을 나타내는 것이다.
도 4는 본 발명의 일실시예에 따른 아이템 추천 방법을 나타내는 그래프이다.
도 5는 본 발명의 일실시예에 따른 하이브리드 그래프를 나타내는 것이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 아이템 추천 방법으로서, 전체 시스템을 나타내는 개념도이다.
먼저, 도 1을 참조하면, 전체 시스템은 아이템 추천 서버(100), 데이터베이스(200), 사용자(300)로 구성될 수 있다. 이때, 데이터베이스(200)는 아이템 추천 서버(100)를 통하여 사용자들(300)로부터 입력된 이력 정보들(210)을 데이터로 저장할 수 있다.
예를 들면, 제1 사용자(310)이 사용자 단말에서 입력한 제1 이력 정보(211)를 아이템 추천 서버(100)가 수신하여, 데이터베이스(200)에 제1 이력 정보(211)를 저장할 수도 있다. 이력 정보(210)는, 사용자(300)가 입력한 이력서일 수 있으나, 아이템 추천 서버(100)가 제공한 이력서 양식에서 입력되는 이력 항목일 수도 있다. 물론, 이력서는, 사용자(300) 각각의 근무한 회사명과 직업, 업무, 전공 등을 포함할 수 있으며, 이에 한정되는 것은 아니다. 또한, 사용자(300)는, 스마트 폰과 같은 사용자 단말을 이용하여, 아이템 추천 서버(100)와 통신할 수 있으며, 아이템 추천 서버(100)가 추천하는 공고 정보를 사용자 단말을 통하여 확인할 수도 있다.
도 2는 본 발명의 일실시예에 따른 아이템 추천 방법을 나타내는 흐름도이다.
일실시예에 따르면, 아이템 추천 서버(100)는, 이력 정보 수집부, 전처리부, 그래프 생성부, 유사도 결정부, 그래프 모델링부, 선호도 결정부, 공고 정보 추천부를 포함하여 구성될 수 있다. 이때, 이력 정보 수집부, 전처리부, 그래프 생성부, 유사도 결정부, 그래프 모델링부, 선호도 결정부, 공고 정보 추천부는, 프로세서, 데이터송수신기, 메모리 중 적어도 하나를 포함하여 구성될 수 있으나, 이에 한정되는 것은 아니다.
먼저, 단계(S201)에서, 이력 정보 수집부는, 샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집할 수 있다. 이때, 샘플 사용자들은, 이력서를 제공하는 사용자일 수도 있으나, 이에 한정되는 것은 아니다. 또한, 복수의 아이템은, 회사, 직업일 수도 있다. 또한, 복수의 아이템은, 근무 기업명, 지원 분야, 업종, 직종, 관심 회사, 관심 업무일 수도 있으나, 이에 한정되는 것은 아니다.
단계(S202)에서, 전처리부는, 아이템들에 대한 정규 규칙을 이용하여 이력 정보를 전처리할 수 있다. 구체적으로, 전처리부는, 이력 정보를 구성하는 아이템들 각각에 대한 정규 규칙과 아이템들 간에 공통되는 정규 규칙에 기초하여 이력 정보를 전처리할 수 있다. 또한, 전처리부는, 정규식을 이용하여 이력 정보를 전처리할 수도 있다.
단계(S203)에서, 그래프 생성부는, 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성할 수 있다. 그래프 생성부는, 샘플 사용자와 복수의 아이템들을 노드로 설정한 그래프를 생성하고, 생성된 그래프를 서로 다른 아이템별로 분리된 그래프를 생성할 수 있다. 이때, 그래프 생성부는, 샘플 사용자의 노드와 복수의 아이템들 중 적어도 하나의 노드를 연결할 수 있다.
단계(S204)에서, 유사도 결정부는, 이력 정보에 대한 내용 기반의 유사도를 결정할 수 있다. 유사도 결정부는, 이력 정보를 구성하는 샘플 사용자 및 아이템들 각각에 대한 가중치 벡터를 추출함으로써 내용 기반의 유사도를 결정할 수 있다.
예를 들면, 유사도 결정부는, 이력 정보에서 일정 횟수 이상 기재된 단어를 추출하고, 추출된 단어의 설명을 기초로 이력 정보를 구성하는 객체인 샘플 사용자 및 아이템들 각각에 대한 가중치 벡터를 추출할 수 있다. 다음으로, 유사도 결정부는, 추출된 객체별 가중치 벡터들 간의 유사도를 결정할 수 있다.
단계(S205)에서, 그래프 모델링부는, 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링할 수 있다. 예를 들면, 그래프 모델링부는, 그래프에 샘플 사용자들 간 신규 링크를 결합하거나, 그래프에 아이템들 간의 신규 링크를 결합하여, 샘플 사용자들 간 신규 링크 또는 아이템들 간의 신규 링크를 결합함으로써 그래프를 모델링할 수 있다. 또한, 그래프 모델링부는, 그래프에 가중치를 적용하거나, 그래프에 가중치를 적용한 후, 샘플 사용자들 간 신규 링크 또는 아이템들 간의 신규 링크를 결합함으로써 그래프를 모델링할 수도 있다.
단계(S206)에서, 선호도 결정부는, 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정할 수 있다. 구체적으로, 선호도 결정부는, 타겟 사용자에 대한 아이템별 선호도를 예측하고, 아이템들 중 공고 정보에 대응하는 아이템의 선호도를 결합할 수 있다.
예를 들면, 선호도 결정부는, 랭크 근사법을 이용하여 특정 아이템별 사용자의 선호도를 계산하여 선호도를 예측할 수 있다. 구체적으로, 선호도 결정부는, 가중 낮은 계수 근사법(weighted low rank approximation)을 사용하여 각 아이템에 대한 타겟 사용자의 선호도를 계산할 수 있다.
또한, 예를 들면, 선호도 결정부는, 신뢰도를 이용하여 특정 아이템별 사용자의 선호도를 확률을 이용하여 결정할 수도 있다. 구체적으로, 선호도 결정부는, 신뢰도 확산(belief propagation)을 이용하여 각 아이템에 대한 타겟 사용자의 선호도를 확률적으로 결정할 수도 있다. 또한, 경우에 따라서, 선호도 결정부는, 경우에 따라서, 랜덤 워크를 이용하여 특정 아이템별 사용자와 아이템별 간의 관련성 점수를 계산할 수도 있다. 구체적으로, 선호도 결정부는, 랜덤 워크(random walk with restart)를 기반으로 각 아이템과 타겟 사용자 간의 관련성 점수를 계산할 수도 있다.
단계(S207)에서, 공고 정보 추천부는, 선호도에 기초하여 타겟 사용자를 위한 공고 정보를 추천할 수 있다. 구체적으로, 공고 정보 추천부는, 결합된 공고 정보에 대응하는 아이템의 선호도들 중 가장 높은 선호도를 나타내는 아이템들로 구성된 공고 정보를 추천할 수 있다. 예를 들면, 공고 정보 추천부는 추천된 공고 정보를 사용자 단말로 전송할 수 있다. 물론, 사용자 단말은, 수신된 추천된 공고 정보를 사용자를 위하여 디스플레이할 수 있다. 경우에 따라서, 공고 정보 추천부는 설정된 순위에 따라 추천된 공고 정보 중 일부를 정렬하여 사용자 단말로 전송할 수도 있다.
일실시예에 따르면, 아이템 추천 서버(100)는, 아이템 추천 서버(100)와 관련된 사이트에 등록된 사용자인, 구직자에게 구인 공고를 추천할 수 있다. 이때, 기록된 정보의 식별(record identification)과 노이즈(noise) 문제가 발생될 수 있으므로, 기록된 정보인 이력 정보에 대하여 전처리가 고려될 수 있다. 동일한 아이템이 다른 형태로 저장될 경우 식별이 어려울 수 있으므로 다른 형태로 저장된 동일한 아이템을 동일하게 식별하고, 특수 문자 또는 숫자 등의 잘못된 문자가 텍스트로 입력될 경우, 노이즈로 판단하여 제거하기 위함이다.
또한, 새로운 아이템(new item) 문제 또는 데이터 희소성(data sparsity) 문제가 발생될 수도 있으므로, 이를 방지 또는 완화하기 위하여 협력 필터링(CF, collaborative filtering) 기반의 새로운 데이터 모델링이 고려될 수도 있다. 새로운 아이템이 추천될 수도 있으며, 아이템 수 또는 데이터가 적더라도 적합한 아이템이 추천되도록 하기 위함이다. 물론, 이를 확장하여 양질의 콘텐츠(contents) 정보를 추가로 사용하는 하이브리드(hybrid) 기반 데이터 모델링이 고려될 수도 있다.
또한, 일실시예에 따르면, 아이템 추천 서버(100)는, 양질의 콘텐츠를 획득 및 제공하기 위하여, 아이템 추천 방법을 수행할 수 있다. 이때, 아이템 추천 서버(100)는, 사용자들의 이력 정보를 콘텐츠로 획득하여 전처리함으로써, 양질의 콘텐츠를 획득할 수 있고, 전처리된 콘텐츠 중 아이템을 선별하여 양질의 콘텐츠로서 구인 공고와 같은 공고 정보를 추천하여 제공할 수 있다.
먼저, 아이템 추천 서버(100)는, 이력 정보에 대하여 전처리를 수행할 수 있다. 이때, 정규식(regular expression)이 이용될 수 있으며, 타입에 따라 정규 규칙이 결정될 수 있다. 예를 들면, 회사에 대한 정규 규칙, 직업(job title)에 대한 정규 규칙, 회사와 직업에 대한 공통 정규 규칙으로 결정될 수 있다.
예를 들면, 아이템 추천 서버(100)는, 회사에 대한 정규 규칙의 예로서, co., Ltd, holdings와 같은 불필요한 단어를 제거할 수 있다. 물론, 아이템 추천 서버(100)는, 회사에 대한 정규 규칙의 예로서, "(주)", 주식회사, 유한회사와 같은 불필요한 단어를 제거할 수도 있다.
또한, 예를 들면, 아이템 추천 서버(100)는, bank of~, university of~ 와 같이 주로 회사 이름에 나라 이름이 들어가는 경우를 제외한 나라 이름을 제거할 수 있다. 또한, 아이템 추천 서버(100)는, freelance, self-employed와 같이 회사와 관련 없는 단어를 제거할 수도 있다. 물론, 아이템 추천 서버(100)는, 프리랜서, 자영업, 무직, 영업직과 같이 회사와 관련 없는 단어를 제거할 수도 있다.
또한, 예를 들면, 아이템 추천 서버(100)는, 직업에 대한 정규 규칙의 예로서, head of, senior, junior 등과 같이 직위를 의미하는 단어를 제거할 수 있다. 물론, 아이템 추천 서버(100)는, 직업에 대한 정규 규칙의 예로서, 회장, 부회장, 사원, 과장과 같은 단어를 제거할 수도 있다. 또한, 아이템 추천 서버(100)는, 특정 직업에 자주 쓰이는 단어가 나오는 경우, 해당 직업으로 변경할 수 있다. 가령, 아이템 추천 서버(100)는, medical practitioner의 grade를 의미하는 foundation year가 나오는 경우 doctor로 변경할 수 있다.
또한, 예를 들면, 아이템 추천 서버(100)는, 회사와 직업에 공통으로 적용되는 정규 규칙의 예로서, 회사 혹은 직업 뒤에 특정 특수문자와 그 특수문자 뒤에 문자들을 제거할 수 있다. 가령, "-"와 "&"와 같이 회사 혹은 직업에 자주 포함되는 특수문자를 제외한 다른 특수문자들은 주로 회사와 직업에 대한 설명이나 나라 이름 등으로 되어 있으므로, 아이템 추천 서버(100)는, 축약으로 사용되는 회사와 직업을 전체 이름(full name)으로 변경할 수 있다.
상기 전처리 과정을 통하여, 아이템 추천 서버(100)가 수행하는 아이템 추천 방법은, 기록된 정보의 식별(record identification)과 노이즈(noise) 문제들을 방지 또는 완화할 수 있다는 효과가 있다.
일실시예에 따르면, 아이템 추천 서버(100)는, CF 기반 새로운 추천 방법으로서 아이템 추천 방법을 수행하기 위해, 타겟 사용자의 이력과 동일한 이력을 갖는 샘플 사용자인 구직자들의 이력 정보들을 활용할 수 있다. 이때, 샘플 사용자인 구직자와 이력 정보로 데이터를 모델링할 경우, 동일한 회사와 다른 직업을 갖는 두 이력 정보와, 다른 회사들과 같은 직업을 갖는 두 이력 정보 모두를 각각 4개의 개별 아이템으로 여기기 때문에 새로운 아이템(new item) 문제 또는 데이터 희소성(data sparsity) 문제들이 발생될 수 있다.
예를 들면, 새로운 아이템 문제는, 새로운 이력 정보(job record)를 포함하는 구인 공고가 공고되었을 때, 구인 공고는 새로운 아이템에 해당된다. 이때, 새로운 아이템은, 구인 기간이 만료되기 전에 구직자에게 추천되지 않을 수 있다는 문제이다. 또한, 데이터 희소성 문제는, 한 구직자가 가질 수 있는 이력 정보(job record)의 수가 매우 한정적일 수 있다는 문제이다. 예를 들어, 한 사람이 수 십, 수 백 개의 영화를 평가하지만 이력 정보(job record)의 경우 몇 개만을 갖을 수 있다. 따라서 Movielens 혹은 Netflix와 같은 영화 사이트의 영화 정보에 비해 AskStory와 같은 전자 채용 사이트의 이력 정보는 훨씬 적을(sparse) 수 있다.
상기와 같은 문제를 방지 및 완화하기 위하여, 아이템 추천 서버(100)는, 이력 정보를 회사와 직업으로 분리하는 새로운 데이터 모델링 방식을 수행할 수 있다.
이로써, 아이템 추천 서버(100)가 수행하는 아이템 추천 방법은, 새로운 이력 정보를 포함하는 구인 공고가 업로드되더라도, 해당 이력 정보에 속하는 회사와 직업이 기존 데이터 내에 따로 존재하면 해당 구인 공고는 더 이상 새로운 아이템(new item)이 아니므로, 새로운 아이템(new item) 문제를 상당히 완화할 수 있다는 효과가 있다.
예를 들면, S사에서 처음으로 S/W 엔지니어를 모집하는 C 공고를 생성할 경우, S사에서 S/W 엔지니어로 근무 중이거나 근무한 이력을 가지는 사용자가 없으므로 C 공고는 새로운 아이템이 되어, C 공고는 사용자에게 추천이 되지 않을 수 있다는 문제가 발생할 수 있다. 하지만, 아이템 추천 서버(100)가 수행하는 아이템 추천 방법은, S사에 재직 중이거나 이력이 있는 A 사용자가 S/W 엔지니어 이력이 있을 경우, A 사용자의 정보를 활용하여 C 공고를 사용자에게 추천할 수 있으므로, C 공고가 새로운 아이템이 아니도록 할 수 있다.
또한, 예를 들어, 아이템 추천 서버(100)는, 데이터 희소성(data sparsity) 문제를 방지하기 위하여, 회사와 직업을 분리할 수 있다. 이때, 동일한 회사와 다른 직업을 갖는 두 이력 정보는 회사 측면에서 동일하게 판단될 수 있다. 물론, 다른 회사들과 같은 직업을 갖는 두 이력 정보는 직업 측면에서 동일하게 판단될 수도 있다. 이에 따라, 개별 아이템의 수가 줄어들기 때문에 데이터 희소성(data sparsity) 문제 또한 상당히 완화될 수 있다는 효과가 있다.
일실시예에 따르면, 아이템 추천 서버(100)가 수행하는 아이템 추천 방법은, 새로운 데이터 모델링으로서, CF 측면에서 그래프로 모델링할 수 있다.
CF 기반 접근 방식은, 각 개체와 유사한 관심을 갖는 개체들의 정보를 추천에 활용하는 방식이다. 예를 들어, 타겟 사용자의 직업과 동일한 직업을 갖는 사용자들을 기반으로 CF 기반 접근 방식이 수행될 수 있다. 가령, 유사한 이력을 갖는 사용자 A, 사용자 B, 사용자 C가 있다고 가정할 수 있다. 이때, 만약 사용자 B와 사용자 C가 둘 다 보유하는 이력 중에서 사용자 A가 갖지 않았던 직업이 있다면, 사용자 A에게 해당 직업이 추천될 수 있다.
아이템 추천 서버(100)는, CF 측면에서 개체 간의 관계를 그래프로 모델링할 수 있다. 예를 들어, 사용자와 직업 간의 관계를 간단하게 모델링하여 사용자-직업 그래프로서 이분 그래프를 생성할 수 있다. 이때, 한 노드는 사용자 혹은 직업이며, 한 링크는 사용자가 해당 직업을 과거에 가진 적이 있는지를 나타낼 수 있다. 하지만, CF 기반 접근 방식은 한계가 발생할 수도 있으므로, 이를 극복하기 위하여 새로운 데이터 모델링으로서, CF 측면에서 그래프로 모델링할 수 있다.
도 3는 본 발명의 일실시예에 따른 아이템 추천 방법을 나타내는 것이다.
도 3를 참조하면, 아이템 추천 서버(100)가 하나의 트리플 구조 그래프(tripartite graph)로서 회사-사용자-직업 그래프를 모델링한 것을 알 수 있다. 이때, 한 노드는 사용자(U), 회사(C), 또는 직업(J)이며, 한 링크는 사용자가 해당되는 회사 또는 직업을 과거에 가진 적 있는지를 나타낼 수 있다.
예를 들면, 회사-사용자-직업 그래프에서 U1과 C1을 연결하는 링크는, 제1 사용자(U1)가 제1 회사(C1)에 재직하였다는 경력을 보유한 것을 나타내는 것이고, U1과 J1을 연결하는 링크는, 제1 사용자(U1)가 제1 직업(J1)을 경력으로 보유한 것을 나타내는 것을 알 수 있다. 물론, 회사-사용자-직업 그래프에서 U1과 C2를 연결하는 링크와 U1과 J2를 연결하는 링크는, 제1 사용자(U1)가 제2 회사(C2) 및 제2 직업(J2)을 경력으로 보유한 것을 나타내는 것을 알 수 있다. 또한, 사용자가 회사와 직업 모두에 하나의 그래프 내에서 연결되어 있는 것을 알 수 있다.
물론, 경우에 따라서, 아이템 추천 서버(100)는, 4개 이상의 구조 그래프를 모델링할 수도 있다. 예를 들어, 사용자, 회사, 직업, 업무에 대하여 노드가 구성되고, 링크는, 사용자가 해당되는 회사, 직업, 또는 업무를 과거에 가진 적이 있는지를 나타낼 수도 있다. 즉, 사용자와 회사, 직업, 또는 업무 각각에 대하여 매칭될 경우 노드가 연결될 수 있다. 물론, 각각의 사용자마다 각각의 회사, 직업, 또는 업무에 대하여 하나의 그래프 내에서 연결될 수 있다.
도 4는 본 발명의 일실시예에 따른 아이템 추천 방법을 나타내는 그래프이다.
도 4를 참조하면, 아이템 추천 서버(100)가 두 개의 이분 그래프들(bipartite graphs)로서 (a) 사용자-회사 그래프, (b) 사용자-직업 그래프를 모델링한 것을 알 수 있다. 이때, 한 노드는 사용자(U), 회사(C), 또는 직업(J)이며, 한 링크는 사용자가 해당되는 회사 또는 직업을 과거에 가진 적 있는지를 나타낼 수 있다. 또한, 회사와 직업에 각각 분리된 그래프로 구성되어 있는 것을 알 수 있다.
예를 들면, (a)의 사용자-회사 그래프에서 U1과 C1을 연결하는 링크는, 제1 사용자(U1)가 제1 회사(C1)에 재직하였다는 경력을 보유한 것을 나타내는 것이고, U1과 C2를 연결하는 링크는, 제1 사용자(U1)가 제2 회사(C2)를 경력으로 보유한 것을 나타내는 것을 알 수 있다.
또한, 예를 들면, (b)의 사용자-직업 그래프에서 U1과 J1을 연결하는 링크는, 제1 사용자(U1)가 제1 직업(J1)을 경력으로 보유한 것을 나타내는 것을 알 수 있다. 물론, U1과 J2를 연결하는 링크는, 제1 사용자(U1)가 제2 직업(J2)을 경력으로 보유한 것을 나타내는 것을 알 수 있다.
물론, 경우에 따라서, 아이템 추천 서버(100)는, 3개 이상의 이분 그래프들을 모델링할 수도 있다. 예를 들어, 사용자, 회사, 직업, 업무에 대하여 노드가 구성되고, 링크는, 사용자가 해당되는 회사, 직업, 또는 업무를 과거에 가진 적이 있는지를 나타낼 수도 있다. 즉, 사용자와 회사, 직업, 또는 업무 각각에 대하여 매칭될 경우 노드가 연결될 수 있다. 물론, 회사, 직업, 업무에 대하여 각각 분리된 그래프로 구성될 수도 있다.
일실시예에 따르면, CF 기반 추천 방법은, 사용자가 4명이고, 회사와 직업에 대하여 그래프를 구성할 경우, 개별 아이템(<C, J>)의 수는 10개이고, 밀도(density)는 0.25(=10/(4*10))라고 가정할 수 있다. 도 3 및 도 4에 따른, 개별 아이템(<C>, <J>)의 수는 7개로 줄어들 수 있다. 또한, 밀도(density) 또한 각각 0.64(=18/(4*7)), 0.65(=(10/(4*4)+8/(4*3))/2)로 증가할 수 있다. 하기 표1을 참조하면, CF 기반 추천 방식과 CF 기반 새로운 추천 방식인 아이템 추천 방법의 그래프 모델링에 의한 특정 채용 사이트의 데이터의 통계를 알 수 있다.
CF 기반 추천 도 3 도 4
사용자 수
(# users)
46,407 46,407 46,407
아이템 수
(# items)
206,693 44,146 회사: 34,683
직업: 9,463
사용자 수/
아이템 평균
(Avg. # users/item)
1.61 14.19 회사: 6.53
직업: 22.67
밀도
(Density)
0.004% 0.031% 회사: 0.015%
직업: 0.050%
일실시예에 따르면, 아이템 추천 서버(100)는, 도 3 및 도 4의 모델링 그래프를 좀 더 밀도 높게(dense) 생성하고, 콘텐츠 정보까지 활용하기 위해 충분한 양의 항목(description)을 갖는 양질의 콘텐츠 정보만을 이용하여 그래프에 적용하는 하이브리드(hybrid) 모델링 방식을 수행할 수 있다. 가령, 아이템 추천 서버(100)는, 사용자, 회사, 직업의 내용 기반 특징을 추출하기 위해 term frequency/inverse document frequency (TF-IDF)을 이용할 수 있다.
예를 들면, 아이템 추천 서버(100)는, 각 개체 마다 용어(terms)에 대한 가중치 벡터를 생성할 수 있다. 용어는, 이력 정보에서 2번 이상 언급된 단어로 추출될 수 있다. 이때, 콘텐츠 정보는 각 개체의 항목(description)이 이용될 수 있다. 이때, 아이템 추천 서버(100)는, 각 개체의 분포를 분석하여 양질의 콘텐츠 기준을 설정할 수 있다. 가령, 용어(term) 벡터를 추출하고, 추출된 용어(term) 벡터를 기반으로 선택된 사용자, 회사, 직업의 항목(descriptions)을 이용하여 각각에 대한 TF-IDF 벡터를 생성할 수 있다.
다음으로, 아이템 추천 서버(100)는, 추출된 각 개체의 TF-IDF 벡터를 기반으로 내용 기반 유사도를 계산하여 새로운 링크 혹은 기존 링크의 가중치로 적용할 수 있다. 예를 들면, 아이템 추천 서버(100)는, 각 개체의 TF-IDF 벡터 간의 코사인 유사도를 계산할 수 있다. 가령, 아이템 추천 서버(100)는, 사용자-사용자, 회사-회사, 직업-직업, 사용자-회사, 사용자-직업 등으로 개체 종류별 유사도를 계산할 수 있다.
일실시예에 따르면, 아이템 추천 서버(100)는, 개체 종류의 내용 기반 유사도를 복수의 이분 그래프(two bipartite graphs)에 적용하는 하이브리드 그래프 모델링(hybrid graph modeling) 방식의 아이템 추천 방법을 수행할 수 있다. 물론, 아이템 추천 서버(100)는, 개체 종류의 내용 기반 유사도를 트리플 구조 그래프(tripartite graph)에 적용하는 하이브리드 그래프 모델링(hybrid graph modeling) 방식의 아이템 추천 방법을 수행할 수도 있다. 예를 들면, 복수의 이분 그래프를 이용하여 설정되거나 선택된 방식에 따라 모델링을 수행할 수 있다. 가령, 아이템 추천 방법은, 다섯 가지 내용 기반 유사도 각각을 복수의 이분 그래프에 적용하여 하이브리드 그래프로 모델링할 수 있다. 이때, 각 내용 기반 유사도는 같은 개체들 간의 쌍 혹은 다른 개체들 간의 쌍에 의해 계산될 수 있다.
도 5는 본 발명의 일실시예에 따른 하이브리드 그래프를 나타내는 것이다.
일실시예에 따르면, 아이템 추천 서버(100)는, (1) 구직자-구직자 쌍, (2) 회사-회사 쌍, (3) 직업-직업 쌍, (4) 구직자-회사 쌍, (5) 구직자-직업 쌍으로 유사도를 계산할 수 있다.
하기 표 2는, 각 하이브리드 그래프가 사용한 내용 기반 유사도를 나타낸다.
하이브리드
그래프1
하이브리드
그래프2
하이브리드
그래프3
하이브리드
그래프4
하이브리드
그래프5
하이브리드
그래프6
구직자-구직자 O O O
회사-회사 O O O
직업-직업 O O O
구직자-회사 O O O O
구직자-직업 O O O O
상기 표2를 참조하면, 아이템 추천 서버(100)가 계산된 다섯 가지 내용 기반 유사도를 복수의 이분 그래프에 적용하여 하이브리드 그래프로 모델링하는 다양한 방식을 알 수 있다.
예를 들면, 아이템 추천 서버(100)는, 하이브리드 그래프 1과 같이 복수의 이분 그래프에 구직자와 구직자 간의 새로운 링크를 생성하여 그래프를 재생성할 수 있다. 또한, 아이템 추천 서버(100)는, 하이브리드 그래프 2와 같이 복수의 이분 그래프에 회사와 회사 간의 새로운 링크 혹은 직업과 직업 간의 새로운 링크를 생성하여 그래프를 재생성할 수 있다. 또한, 아이템 추천 서버(100)는, 하이브리드 그래프 3과 같이 구직자와 회사 혹은 구직자와 직업 간의 기존 링크에 가중치를 부여하여 그래프를 재생성할 수 있다.
또한, 아이템 추천 서버(100)는, 하이브리드 그래프 4와 같이 하이브리드 그래프 1과 3에 적용한 새로운 링크와 가중치를 모두 적용하여 그래프를 재생성할 수 있으며, 하이브리드 그래프 5와 같이 하이브리드 그래프 2와 3에 적용한 새로운 링크와 가중치를 모두 적용하여 그래프를 재생성할 수 있다.
또한, 아이템 추천 서버(100)는, 하이브리드 그래프 6과 같이 하이브리드 그래프 1, 2, 그리고 3에 적용한 새로운 링크와 가중치를 모두 적용하여 그래프를 재생성할 수도 있다.
먼저, 아이템 추천 서버(100)는, 협력(collaborative) 정보를 기반으로 복수의 이분 그래프(two bipartite graph)를 생성할 수 있다. 다음으로, 아이템 추천 서버(100)는, 내용 기반 유사도를 기반으로 기존 링크에 가중치를 적용하거나 새로운 링크를 추가할 수 있다. 이때, 아이템 추천 서버(100)는, 새로운 링크를 임계값(threshold) 이상의 유사도를 가질 경우에만 새로운 링크를 추가할 수 있다.
예를 들어, 임계값이 87%일 경우, 아이템 추천 서버(100)는, 개체인 사용자 간 또는 아이템 간 각각의 개체에 따라 88%의 유사도를 가질 경우, 새로운 링크를 추가할 수 있다. 제1 사용자(U1)과 제2 사용자(U2)의 유사도가 88%일 경우, 제1 사용자(U1)과 제2 사용자(U2)와 관련한 링크가 추가될 수 있다.
또한, 추가된 링크들은 실제 이력을 기반으로 하지 않기 때문에, 아이템 추천 서버(100)는, 기존 링크의 가중치보다 낮은 가중치를 적용할 수 있다. 또한, 경우에 따라서, 아이템 추천 서버(100)는, 평가를 통해 가장 우수한 성능을 보이는, 임계값(threshold)과 가중치를 선택할 수도 있다.
다음으로, 일실시예에 따르면, 아이템 추천 서버(100)는, 그래프를 분석하여 타겟 사용자에 대한 각 회사와 직업의 선호도를 예측할 수 있다. 다음으로, 아이템 추천 서버(100)는, 공고된 구인 공고에 해당되는 회사들과 직업의 선호도를 결합할 수 있다. 다음으로, 아이템 추천 서버(100)는, 가장 높은 결합된 선호도를 갖는 top N개의 구인 공고를 추천할 수 있다.
일실시예에 따르면, 특정 채용 사이트의 데이터가 사용자의 평점과 같이 다양한 선호도를 표현하는 데이터가 아닌 하나의 클래스로만 이루어진 데이터인 경우, 추천 성능 저하 등의 문제가 발생할 수 있으므로, 발생할 수 있는 문제를 해결하기 위한 방법이 필요하다. 하나의 클래스로만 이루어진 데이터란, 사용자가 특정 아이템을 평가 혹은 선택했는지의 여부에 대한 정보만을 가진 데이터를 의미한다. 예를 들어, 구직자의 이력 데이터의 경우, 각 구직자가 과거에 다닌 적이 있는 회사 혹은 직업이 무엇인지에 대한 정보만을 가지고 있다. 이러한 데이터는 각 구직자가 해당 회사 혹은 직업을 얼마나 선호하는지에 대한 정보를 파악할 수 없다. 선호도의 정도를 기반으로 수행하는 CF 알고리즘을 사용하는 것은 추천 성능 저하를 야기할 수도 있다. 따라서, 아이템 추천 서버(100)는, 그래프 분석을 위해 CF 기반 알고리즘들을 사용시 발생되는 문제를 해결하는 알고리즘들을 이용할 수 있다.
가령, 아이템 추천 서버(100)는, 가중 낮은 계수 근사법(weighted low rank approximation)을 사용하여 각 아이템에 대한 타겟 사용자의 선호도를 계산할 수 있다.
또한, 아이템 추천 서버(100)는, 신뢰도 확산(belief propagation)을 이용하여 각 아이템에 대한 타겟 사용자의 선호도를 확률적으로 결정할 수도 있다. 예를 들어, 이미 관측한 노드의 상태를 기초로 관측하지 않은 노드의 주변분포를 각각 계산할 수 있다. 노드의 상태를 추론하기 위해 이웃 노드로부터 정보가 전달되는 과정을 메시지 전달이라고 할 수 있다. 이때, 두 노드 사이에 전달되는 메시지는 노드의 가능한 상태들을 요소로 갖는 벡터의 형태일 수 있다. 한편, 아이템 추천 서버(100)는, 각 상태에 대한 메시지 전달 과정은 하기 수학식 1을 이용하여 수행할 수 있다.
Figure pat00001
이때,
Figure pat00002
는 노드
Figure pat00003
에서
Figure pat00004
로의 메시지를 의미하며,
Figure pat00005
Figure pat00006
상태일 가능성에 대한
Figure pat00007
의 신뢰를 나타낸다.
노드
Figure pat00008
에서
Figure pat00009
로의 메시지는 노드
Figure pat00010
Figure pat00011
를 제외한 자신의 주변 노드로부터 받은 메시지들의 곱으로부터 생성될 수 있다.
Figure pat00012
Figure pat00013
의 상태가
Figure pat00014
일 경우, 그 이웃 노드인
Figure pat00015
Figure pat00016
상태일 가능성을 나타내는 값으로, 사전에 주어진 파급 행렬을 통해 결정될 수 있다.
Figure pat00017
는 노드 초기 값으로,
Figure pat00018
의 상태가
Figure pat00019
일 확률을 나타낸다.
아이템 추천 서버(100)는, 노드 초기 값은 사전에 이미 상태를 알고 있는 노드의 경우 해당 상태에 대해 높은 확률을 부여하고, 상태를 알지 못하는 노드의 경우 각 상태에 동일한 확률을 부여할 수 있다. 아이템 추천 서버(100)는, 상기의 메시지 전달을 반복적으로 수행하며, 반복에 따른 메시지의 변화가 임계값보다 작게 수렴하거나 정해진 횟수에 도달할 때까지 반복할 수 있다. 다음으로, 아이템 추천 서버(100)는, 메시지 전달이 종료된 후에는 최종적으로
Figure pat00020
Figure pat00021
클래스에 속할 신뢰를 계산할 수 있다. 또한, 아이템 추천 서버(100)는, 신뢰 또한 상기 메시지와 마찬가지로 가능한 상태들을 요소로 갖는 벡터의 형태로서 하기 수학식 2를 이용하여 계산할 수 있다.
Figure pat00022
이때,
Figure pat00023
는 신뢰 벡터의 각 요소의 합이 1이 되도록 정규화하기 위한 상수이며, 계산된 신뢰 벡터의 각 요소는 해당 노드가 특정 상태에 속할 가능성을 의미한다.
또한, 경우에 따라서, 아이템 추천 서버(100)는, 랜덤 워크(random walk with restart)를 기반으로 각 아이템과 타겟 사용자 간의 관련성 점수를 계산할 수도 있다. 예를 들어, 확률변수가 서로 독립적이고 동일한 형태의 확률분포를 가지는 경우를 기반으로 계산될 수 있다. 또한, 랜덤 워크는 시간에 따른 편차의 평균이 0이지만 분산은 시간에 비례하여 증가하게 될 수 있다. 이때, 아이템 추천 서버(100)는, 랜덤 워크(random walk with restart)를 이용하여, 근접도(proximity)를 고려함으로써 우선 순위를 결정할 수도 있다. 예를 들면, 아이템 추천 서버(100)는, 하기 수학식 3을 사용하여 랜덤 워크 모델을 이용하여 구직자와 아이템 간의 관련성 점수를 계산하는 과정을 수행할 수 있다.
Figure pat00024
이때,
Figure pat00025
는 랭킹 벡터로 사용자 i를 기준으로 아이템 j와의 관련성 점수를 나타내며, c는 재시작 확률,
Figure pat00026
는 시작 벡터, 그리고
Figure pat00027
는 정규화된 가중치 그래프를 나타낸다.
또한, 예를 들면, 아이템 추천 서버(100)는, 회사와 직업의 선호도를 결합 위해, 간단하게 두 점수를 곱함으로써 최종 점수를 계산할 수 있다. 이때, 결합하는 회사와 직업의 쌍은 구인 공고에 포함된 회사와 직업의 쌍일 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 청구범위뿐 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (12)

  1. 아이템 추천 방법에 있어서,
    샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집하는 단계;
    상기 아이템들에 대한 정규 규칙을 이용하여 상기 이력 정보를 전처리하는 단계;
    상기 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성하는 단계;
    상기 이력 정보에 대한 내용 기반의 유사도를 결정하는 단계;
    상기 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링하는 단계;
    상기 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정하는 단계; 및
    상기 선호도에 기초하여 상기 타겟 사용자를 위한 공고 정보를 추천하는 단계
    를 포함하는 아이템 추천 방법.
  2. 제1항에 있어서,
    상기 전처리하는 단계는,
    상기 이력 정보를 구성하는 아이템들 각각에 대한 정규 규칙과 아이템들 간에 공통되는 정규 규칙에 기초하여 이력 정보를 전처리하는, 아이템 추천 방법.
  3. 제1항에 있어서,
    상기 그래프를 생성하는 단계는,
    상기 샘플 사용자와 복수의 아이템들을 노드로 설정한 그래프를 생성하는 단계;
    상기 생성된 그래프를 서로 다른 아이템별로 분리된 그래프를 생성하는 단계
    를 포함하는, 아이템 추천 방법.
  4. 제1항에 있어서,
    상기 유사도를 결정하는 단계는,
    상기 이력 정보를 구성하는 샘플 사용자 및 아이템들 각각에 대한 가중치 벡터를 추출함으로써 내용 기반의 유사도를 결정하는, 아이템 추천 방법.
  5. 제4항에 있어서,
    상기 유사도를 결정하는 단계는,
    상기 이력 정보에서 일정 횟수 이상 기재된 단어를 추출하고, 상기 추출된 단어의 설명을 기초로 이력 정보를 구성하는 객체인 샘플 사용자 및 아이템들 각각에 대한 가중치 벡터를 추출하는 단계; 및
    상기 추출된 객체별 가중치 벡터들 간의 유사도를 결정하는 단계
    를 포함하는 아이템 추천 방법.
  6. 제1항에 있어서,
    상기 그래프를 모델링하는 단계는,
    (i) 상기 그래프에 샘플 사용자들 간 신규 링크를 결합하거나,
    (ii) 상기 그래프에 아이템들 간의 신규 링크를 결합하거나,
    (iii) 상기 그래프에 가중치를 적용하거나,
    (iv) 상기 그래프에 가중치를 적용한 후, 샘플 사용자들 간 신규 링크 또는 아이템들 간의 신규 링크를 결합함으로써 그래프를 모델링하는 아이템 추천 방법.
  7. 제1항에 있어서,
    상기 선호도를 결정하는 단계는,
    상기 타겟 사용자에 대한 아이템별 선호도를 예측하는 단계;
    상기 아이템들 중 공고 정보에 대응하는 아이템의 선호도를 결합하는 단계;
    를 포함하는, 아이템 추천 방법.
  8. 제7항에 있어서,
    상기 선호도를 예측하는 단계는,
    랭크 근사법을 이용하여 상기 특정 아이템별 사용자의 선호도를 계산하여 선호도를 예측하는, 아이템 추천 방법.
  9. 제7항에 있어서,
    상기 선호도를 예측하는 단계는,
    신뢰도를 이용하여 상기 특정 아이템별 사용자의 선호도를 확률을 이용하여 결정하는, 아이템 추천 방법.
  10. 제7항에 있어서,
    상기 선호도를 예측하는 단계는,
    랜덤 워크를 이용하여 상기 특정 아이템별 사용자와 아이템별 간의 관련성 점수를 계산하는, 아이템 추천 방법.
  11. 제7항에 있어서,
    상기 타겟 사용자를 위한 공고 정보를 추천하는 단계는,
    상기 결합된 공고 정보에 대응하는 아이템의 선호도들 중 가장 높은 선호도를 나타내는 아이템들로 구성된 공고 정보를 추천하는 아이템 추천 방법.
  12. 아이템 추천 서버에 있어서,
    샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집하는 이력 정보 수집부;
    상기 아이템들에 대한 정규 규칙을 이용하여 상기 이력 정보를 전처리하는 전처리부;
    상기 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성하는 그래프 생성부;
    상기 이력 정보에 대한 내용 기반의 유사도를 결정하는 유사도 결정부;
    상기 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링하는 그래프 모델링부;
    상기 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정하는 선호도 결정부; 및
    상기 선호도에 기초하여 상기 타겟 사용자를 위한 공고 정보를 추천하는 공고 정보 추천부
    를 포함하는 아이템 추천 서버.
KR1020150182001A 2015-07-23 2015-12-18 아이템 추천 방법 및 서버 KR20170011963A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150104592 2015-07-23
KR20150104592 2015-07-23

Publications (1)

Publication Number Publication Date
KR20170011963A true KR20170011963A (ko) 2017-02-02

Family

ID=58151591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150182001A KR20170011963A (ko) 2015-07-23 2015-12-18 아이템 추천 방법 및 서버

Country Status (1)

Country Link
KR (1) KR20170011963A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101863772B1 (ko) * 2017-11-28 2018-06-01 (주)엔터랩 채용 정보 추천 방법 및 이 방법이 적용된 기기 및 시스템
KR101885305B1 (ko) * 2018-05-23 2018-08-03 (주)엔터랩 이력 기반의 채용 정보 추천 시스템
KR101888319B1 (ko) * 2017-12-20 2018-08-14 이동환 원격업무 지원시스템
KR101892507B1 (ko) * 2018-05-23 2018-08-28 (주)엔터랩 맞춤형 채용 정보 추천 시스템
KR101985603B1 (ko) 2017-11-27 2019-06-03 (주)프람트테크놀로지 삼분 그래프에 기반한 추천 방법
CN110570267A (zh) * 2019-07-22 2019-12-13 浙江工业大学 一种协同过滤物品推荐方法
KR20200072900A (ko) * 2018-12-13 2020-06-23 (주)코멘토 구직 서류 기반 직무능력 분석매칭 시스템 및 그 제어방법
KR20220147815A (ko) * 2021-04-28 2022-11-04 네이버 주식회사 상품 추천 방법 및 이를 이용하는 서비스 서버

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101985603B1 (ko) 2017-11-27 2019-06-03 (주)프람트테크놀로지 삼분 그래프에 기반한 추천 방법
KR101863772B1 (ko) * 2017-11-28 2018-06-01 (주)엔터랩 채용 정보 추천 방법 및 이 방법이 적용된 기기 및 시스템
WO2019107678A1 (ko) * 2017-11-28 2019-06-06 (주)엔터랩 채용 정보 추천 방법 및 이 방법이 적용된 기기 및 시스템
KR101888319B1 (ko) * 2017-12-20 2018-08-14 이동환 원격업무 지원시스템
KR101885305B1 (ko) * 2018-05-23 2018-08-03 (주)엔터랩 이력 기반의 채용 정보 추천 시스템
KR101892507B1 (ko) * 2018-05-23 2018-08-28 (주)엔터랩 맞춤형 채용 정보 추천 시스템
KR20200072900A (ko) * 2018-12-13 2020-06-23 (주)코멘토 구직 서류 기반 직무능력 분석매칭 시스템 및 그 제어방법
CN110570267A (zh) * 2019-07-22 2019-12-13 浙江工业大学 一种协同过滤物品推荐方法
CN110570267B (zh) * 2019-07-22 2022-04-08 浙江工业大学 一种协同过滤物品推荐方法
KR20220147815A (ko) * 2021-04-28 2022-11-04 네이버 주식회사 상품 추천 방법 및 이를 이용하는 서비스 서버

Similar Documents

Publication Publication Date Title
KR20170011963A (ko) 아이템 추천 방법 및 서버
US11593894B2 (en) Interest recommendation method, computer device, and storage medium
Xia et al. Reciprocal recommendation system for online dating
KR101009830B1 (ko) 사회망에서 사용자들의 일치성 점수화
CN109033101B (zh) 标签推荐方法及装置
US20190266624A1 (en) Seed population diffusion method, device, information delivery system and storage medium
US20180336202A1 (en) System and method to represent documents for search in a graph
US9202081B2 (en) Apparatus and methods for anonymizing a data set
KR102106203B1 (ko) 소셜 네트워크 시스템 기반의 질의 응답 서비스 제공을 위한 전문가 추천 방법 및 전문가 추천 시스템
KR20160057475A (ko) 소셜 데이터를 능동적으로 획득하기 위한 시스템 및 방법
EP2960849A1 (en) Method and system for recommending an item to a user
Mirani et al. Sentiment analysis of isis related tweets using absolute location
US9195962B2 (en) Generating a subgraph of key entities in a network and categorizing the subgraph entities into different types using social network analysis
JP6488753B2 (ja) 情報処理方法
Johnson et al. Enhancing long tail item recommendations using tripartite graphs and Markov process
US9552415B2 (en) Category classification processing device and method
CN113869931A (zh) 广告投放策略确定方法、装置、计算机设备和存储介质
Vahedian et al. Weighted random walk sampling for multi-relational recommendation
Ashraf et al. Personalized news recommendation based on multi-agent framework using social media preferences
CN110598126A (zh) 基于行为习惯的跨社交网络用户身份识别方法
US20170061480A1 (en) Optimizing acquisition channels based on customer lifetime values
KR100901782B1 (ko) 마케팅 정보 생성 방법 및 시스템
CN111090983A (zh) 问卷优化方法、装置、计算机设备和存储介质
Bhojne et al. Collaborative approach based restaurant recommender system using Naive Bayes
CN112288510A (zh) 物品推荐方法、装置、设备及存储介质

Legal Events

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