KR101907008B1 - 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치 - Google Patents

단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치 Download PDF

Info

Publication number
KR101907008B1
KR101907008B1 KR1020170107257A KR20170107257A KR101907008B1 KR 101907008 B1 KR101907008 B1 KR 101907008B1 KR 1020170107257 A KR1020170107257 A KR 1020170107257A KR 20170107257 A KR20170107257 A KR 20170107257A KR 101907008 B1 KR101907008 B1 KR 101907008B1
Authority
KR
South Korea
Prior art keywords
matrix
item
graph
items
users
Prior art date
Application number
KR1020170107257A
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 한양대학교 산학협력단
Application granted granted Critical
Publication of KR101907008B1 publication Critical patent/KR101907008B1/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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/0254Targeted advertisements based on statistics
    • 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
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Game Theory and Decision Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법을 개시한다. 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 아이템 결정 방법은 생성부가 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P)및 상기 선호도행렬(P)의 행렬값에 대한 반영정도를 나타내는 가중치를 포함하는 가중치행렬(W)을 생성하는 단계; 산출부가 상기 선호도행렬(P) 및 상기 가중치행렬(W)에 기초하여 상기 복수의 사용자의 상기 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출하는 단계; 및 결정부가 상기 무관심행렬(X)에 기초하여, 상기 복수의 사용자별로 무관심 아이템을 도출하는 단계를 포함한다.

Description

단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치{METHOD AND APPARATUS FOR DETERMINATING UNINTERESTING ITEM IN ONE-CLASS COLLABORATIVE FILTERING SETTINGS}
본 발명은 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치에 관한 것으로, 더욱 상세하게는 단일 클래스 협업 필터링 환경에서 제로 인젝션 방법을 사용하여 무관심 아이템을 결정할 수 있도록 하는 방법 및 장치에 관한 것이다.
실세계에서는 다중 클래스 환경(multi-class setting)보다 단일 클래스 환경(one-class setting)의 데이터셋(datasets)이 더 흔하게 사용되지만, 이러한 단일 클래스 환경에 기존 협업 필터링(collaborative filtering, CF) 기술들을 적용할 경우 다음과 같은 두 가지 문제 상황들이 발생할 수 있다. 이때, 그 두 가지 문제들을 OCCF 문제(one-class collaborative filtering problems)라고 한다.
첫번째로, 단일 클래스 환경의 데이터셋은 사용자들의 평가 혹은 구매 유무의 정보만을 가지기 때문에, 평가 혹은 구매한 아이템들에 대한 사용자의 상대적인 선호도가 구별되지 않는다. 따라서, 사용자들의 취향을 정확하게 파악하기 어려운 문제가 존재한다.
두번째로, 대부분의 단일 클래스 환경의 데이터셋은 다중 클래스 환경의 데이터셋보다 상대적으로 더 밀도가 희박(sparse)하다고 알려져 있다. 이러한 문제(data sparsity problem)는 추천의 정확도를 매우 하락시키는 요인이 될 수 있다. 예를 들어, 다중 클래스 환경의 데이터셋인 영화 평점 데이터 Movielens 100k와 Watcha 데이터의 희소성(sparsity)은 각각 93.695%, 96.983%이다. 이에 반해, 단일 클래스 환경의 데이터셋인 논문 데이터 CiteULike와 구인 관련 데이터 Xing Job의 희소성은 각각 99.821%, 99.996%이다.
최근 이러한 OCCF 문제는 추천 분야에서 중요한 토픽으로 자리 잡았으며, 이를 해결하기 위한 많은 연구가 수행되고 있다. 그러나, 대부분의 OCCF 문제를 다루는 추천 연구는 기본적으로 미관측 데이터셋(unobserved datasets)을 부정적인 선호도(negative preferences)로 바라보고 있다. (i.e., All Missing As Negative concept, AMAN concept)
이러한 컨셉을 바탕으로 관측 데이터셋(observed datasets)을 분석하여 미관측 데이터셋(unobserved datasets) 내에 존재하는 각 사용자-아이템 쌍이 부정적인 선호도일 가능성(likelihood)을 결정하고, 이러한 가능성과 관측 데이터셋 내의 긍정적인 선호도(positive preferences)를 함께 분석하여 각 사용자가 평가하지 않은 아이템들에 대한 선호도를 예측한 뒤, 이러한 선호도를 기반으로 추천을 제공하는 방안에 대해 연구하고 있다.
이러한 연구 중 하나로서, 황(Hwang et al.)은 다중 클래스 환경의 데이터셋에서 사용자들이 평가하지 않은 아이템 중 소정의 %를 무관심 상품으로 도출하여 추가적인 부정적인 선호도(i.e., zero value)로 활용하는 제로인젝션(zero-injection) 방법을 제안한 바 있으며, 이러한 방안들은 기존 CF 추천 방안들의 정확도를 획기적으로 향상시키고 있다.
그러나, 기존 OCCF 방법의 경우 관측 데이터셋이 매우 희소하여 사용자의 취향을 파악할 수 있는 긍정적인 선호도가 매우 적은 경우, 이러한 데이터만을 이용하여 부정적인 선호도에 대한 가능성을 결정하기 어려워지고, 결국 추천의 정확도가 매우 하락하는 결과를 가져 올 수 있다.
도 1은 MovieLens와 Watcha datasets의 희소성을 증가시킬 때, 기존 OCCF 방법의 정확도가 매우 하락함을 보여주고 있다.
또한, 다중 클래스 환경에서 무관심 상품 컨셉을 활용한 제로인젝션 방법(zero-injection method)을 단일 클래스 환경에 적용했을 때, 실제 단일 클래스 환경의 데이터셋인 CiteULike 데이터에서 10%~90% 구간이 아닌 알고리즘마다 다른 구간에서 가장 좋은 정확도를 보이며, % 마다 정확도 차이가 상당한 것을 확인하였다. 즉, 단일 클래스 환경에서 제로인젝션 방법을 적용하면 파라미터에 민감(parameter sensitive)한 문제점이 있다.
관련 선행기술로는 대한민국 공개특허공보 제10-2014-0046108호(발명의 명칭: 온라인 쇼핑몰에서 상품 간의 연관 분석을 통한 상품추천시스템, 공개일자: 2014년 4월 18일)가 있다.
본 발명은 단일 클래스 협업 필터링 환경을 타겟으로 하는 기존 방법들의 문제점들을 완화하고, 다중 클래스 환경에서 무관심 아이템을 활용하는 기존 방법을 단일 클래스 환경에 적용하였을 때 발생하는 문제점들을 극복하기 위한 방법을 제안하며, 특히 단일 클래스 환경에 제로인젝션 방법을 적용하였을 때 발생하는 문제점을 극복하기 위한 방법을 제안한다.
즉, 본 발명은 단일 클래스 협업 필터링 환경에서 무관심 아이템을 활용할 수 있도록 하며, 가장 추천에 효과적인 무관심 아이템의 수를 결정할 수 있도록 하는 파라미터에 무관(parameter free)한 방법을 제공하고자 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템을 결정하는 방법은 생성부가 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P)및 상기 선호도행렬(P)의 행렬값에 대한 반영정도를 나타내는 가중치를 포함하는 가중치행렬(W)을 생성하는 단계; 산출부가 상기 선호도행렬(P) 및 상기 가중치행렬(W)에 기초하여 상기 복수의 사용자의 상기 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출하는 단계; 및 결정부가 상기 무관심행렬(X)에 기초하여, 상기 복수의 사용자별로 무관심 아이템을 도출하는 단계를 포함한다.
바람직하게는, 상기 가중치행렬(W)을 생성하는 단계에서 상기 생성부가 제로인젝션 방법(Zero injection method)에 기초하여 상기 선호도행렬(P) 및 가중치행렬(W)을 생성할 수 있다.
바람직하게는, 상기 가중치행렬(W)을 생성하는 단계에서 상기 생성부가 상기 복수의 사용자 각각이 선호도를 평가한 아이템의 개수에 비례하여 미평가 아이템에 대한 가중치를 결정할 수 있다.
바람직하게는, 상기 무관심행렬(X)을 산출하는 단계는 상기 산출부가 상기 가중치행렬(W)을 이용하여 상기 선호도행렬(P)을 사용자의 특징을 나타내는 행렬 U 와 아이템의 특징을 나타내는 행렬 V로 분해하는 단계; 상기 행렬 U 및 행렬 V에 기초하여 상기 선호도행렬(P)을 근사화하는 단계; 및 상기 근사화된 선호도행렬에 기초하여 무관심행렬(X)를 산출하는 단계를 포함할 수 있다.
바람직하게는, 상기 무관심 아이템을 도출하는 단계는 상기 결정부가 상기 복수의 사용자 중 하나의 사용자와 상기 사용자가 평가한 아이템인 평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 포지티브 그래프(positive graph)를 생성하는 단계; 상기 결정부가 상기 사용자와 상기 사용자가 평가하지 않은 아이템인 미평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 네거티브 그래프(negative graph)를 생성하는 단계; 및 상기 네거티브 그래프에 포함된 링크를 무관심 정도에 따라 추가하면서, 상기 네거티브 그래프의 위상적인 속성(topological properties)이 소정의 임계치 이상 변경되는 쉐터링 포인트(shattering point)를 검출하는 단계; 및 상기 무관심 정도, 상기 포지티브 그래프의 링크의 수 및 상기 쉐터링 포인트에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출하는 단계를 포함할 수 있다.
바람직하게는, 무관심 아이템을 도출하는 단계에서 상기 결정부가 도출하는 무관심 아이템의 수는 상기 복수의 사용자 각각이 평가한 아이템의 수일 수 있다.
바람직하게는, 추천부가 상기 복수의 사용자 각각이 평가한 아이템인 평가 아이템 및 상기 복수의 사용자 각각이 평가하지 않은 아이템인 미평가 중 상기 도출된 무관심 아이템에 기초하여, 상기 복수의 사용자 각각에게 아이템을 추천하는 단계를 더 포함할 수 있다.
또한, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치는 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P) 및 상기 선호도행렬(P)의 행렬값에 대한 상대적인 반영정도를 수량화하기 위한 가중치를 포함하는 가중치행렬(W)을 생성하는 생성부; 상기 선호도행렬(P) 및 상기 가중치행렬(W)에 기초하여 상기 복수의 사용자의 상기 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출하는 산출부; 및 상기 무관심행렬(X)에 기초하여, 상기 복수의 사용자별로 무관심 아이템을 도출하는 결정부를 포함한다.
바람직하게는, 상기 생성부가 제로인젝션 방법(Zero injection method)에 기초하여 상기 선호도행렬(P) 및 가중치행렬(W)을 생성할 수 있다.
바람직하게는, 상기 생성부가 상기 복수의 사용자 각각이 선호도를 평가한 아이템의 개수에 비례하여 미평가 아이템에 대한 가중치를 결정할 수 있다.
바람직하게는, 상기 산출부가 상기 가중치행렬(W)을 이용하여 상기 선호도행렬(P)을 사용자의 특징을 나타내는 행렬 U 및 아이템의 특징을 나타내는 행렬 V로 분해하고, 상기 행렬 U 및 행렬 V에 기초하여 상기 선호도행렬(P)을 근사화한 후, 상기 근사화된 선호도행렬에 기초하여 무관심행렬(X)를 산출할 수 있다.
바람직하게는, 상기 결정부는 상기 복수의 사용자 중 하나의 사용자와 상기 사용자가 평가한 아이템인 평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 포지티브 그래프(positive graph)를 생성하고, 상기 사용자와 상기 사용자가 평가하지 않은 아이템인 미평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 네거티브 그래프(negative graph)를 생성하며, 상기 네거티브 그래프에 포함된 링크를 무관심 정도에 따라 추가하면서, 상기 네거티브 그래프의 위상적인 속성(topological properties)이 소정의 임계치 이상 변경되는 쉐터링 포인트(shattering point)를 검출하고, 상기 무관심 정도, 상기 포지티브 그래프의 링크의 수 및 상기 쉐터링 포인트에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출할 수 있다.
바람직하게는, 상기 결정부가 도출하는 무관심 아이템의 수는 상기 복수의 사용자 각각이 평가한 아이템의 수일 수 있다.
바람직하게는, 상기 복수의 사용자 각각이 평가한 아이템인 평가 아이템 및 상기 복수의 사용자 각각이 평가하지 않은 아이템인 미평가 중 상기 도출된 무관심 아이템에 기초하여, 상기 복수의 사용자 각각에게 아이템을 추천하는 추천부를 더 포함할 수 있다.
본 발명은 단일 클래스 협업 필터링 환경을 타겟으로 하는 기존 방법들의 문제점들을 완화하고, 다중 클래스 환경에서 무관심 아이템을 활용하는 기존 방법을 단일 클래스 환경에 적용하였을 때 발생하는 문제점들을 극복할 수 있는 효과가 있으며, 특히 제로인젝션 방법을 단일 클래스 환경에 적용하였을 때 발생하는 문제점을 극복할 수 있다.
또한, 본 발명은 단일 클래스 협업 필터링 환경에서 무관심 아이템을 활용할 수 있도록 하며, 추천에 가장 효과적인 무관심 상품의 수를 결정할 수 있도록 하는 파라미터에 무관(parameter free)한 효과가 있다.
도 1은 기존 OCCF 방법을 사용했을 때 희소성(sparsity)에 따른 정확도의 그래프이다.
도 2는 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제로인젝션 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 무관심행렬을 산출하는 단계를 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 무관심 아이템을 도출하는 단계를 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 각 그래프의 링크수와 유효지름(effective diameter)간의 관계를 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 네거티브 그래프 G-를 네 개의 영역(region)으로 구분하여 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 MovieLens 데이터의 포지티브 그래프 G+와 각 구역의 한 그래프의 역학(epidemiology)을 분석한 결과를 나타내는 도면이다.
도 10은 본 발명의 다른 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치의 구성도이다. 본 발명의 일 실시예에 따른 무관심 아이템 결정 장치는 생성부(100), 산출부(200) 및 결정부(300)를 포함하여 구성되고, 필요에 따라 추천부(400)를 더 포함하여 구성될 수 있다.
생성부(100)는 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P) 및 가중치를 포함하는 가중치행렬(W)을 생성한다.
산출부(200)는 선호도행렬(P) 및 가중치행렬(W)에 기초하여 복수의 사용자의 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출한다.
결정부(300)는 무관심행렬(X)에 기초하여, 복수의 사용자별로 무관심 아이템을 도출한다.
추천부(400)는 복수의 사용자 각각이 평가한 아이템인 평가 아이템 및 복수의 사용자 각각이 평가하지 않은 아이템인 미평가 중 도출된 무관심 아이템에 기초하여, 복수의 사용자 각각에게 아이템을 추천한다.
본 발명에서는 위와 같이 생성부(100), 산출부(200) 및 결정부(300)를 포함하는 무관심 아이템 결정 장치가 단일 클래스 협업 필터링 환경에서 무관심 상품을 결정하는데, 아래에서 단일 클래스 협업 필터링 환경에서 무관심 상품 결정 방법에 대해 살펴본다.
도 3은 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 무관심 아이템 결정 방법은 생성부(100)가 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P)및 선호도행렬(P)의 행렬값에 대한 반영정도를 나타내는 가중치를 포함하는 가중치행렬(W)을 생성하는 단계(S310); 산출부(200)가 선호도행렬(P) 및 가중치행렬(W)에 기초하여 복수의 사용자의 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출하는 단계(S320); 결정부(300)가 무관심행렬(X)에 기초하여, 복수의 사용자별로 무관심 아이템을 도출하는 단계(S330)을 포함한다.
가중치행렬(W)을 생성하는 단계에서는, 생성부(100)가 복수의 사용자의 복수의 아이템 각각에 대한 선호도를 나타내는 선호도행렬(P)및 그 선호도행렬(P)의 행렬 값에 대한 반영정도를 나타내는 가중치를 포함하는 가중치행렬(W)을 생성한다. 이때 가중치행렬(W)은 선호도행렬(P)의 행렬 값에 대한 반영정도(relative contribution)를 수량화(quantify)하기 위한 가중치를 포함하는 것이 바람직하다.
여기서, 먼저 사용자들이 평가하지 않은 아이템들에 대한 무관심 정도(degree of uninterestingness)를 예측하기 위하여 기존 제로인젝션(zero-injection) 방법과 동일하게 wZAN(weighted zero as negative) 방법을 사용할 수 있다.
도 4는 제로인젝션 방법을 설명하기 위한 도면으로, 도 4를 참고하여 제로인젝션 방법에 대해 살펴본다. 제로인젝션 방법은 다음 4개의 단계를 거쳐 사용자 별 선호 상품을 추천한다.
(1) 먼저 관측 데이터를 wZAN 방법으로 분석하여 미관측 데이터 내의 사용자-아이템 쌍(링크)들의 무관심정도(degree of uninterestingness)를 추론한다. (2) 아이템들의 무관심정도를 오름차순으로 정렬한 뒤, 소정의 하위 비율(%)을 무관심 상품으로 결정한다. (3) 결정된 비율(%)의 사용자-아이템 쌍(링크)을 부정적 선호도(negative preferences)로 바라보고, 해당 쌍들의 평점을 제로값(zero values)으로 할당한다. (4) 기존에 사용자들에 의해 매겨진 평점 정보와 새롭게 주입된 제로값으로 만들어진 사용자-아이템 평점 행렬을 이용하여 기존 CF 추천 방안들(예를 들어, SVD-based CF, PMF-base CF, item-based CF, wZAN-based CF)을 수행한다.
이러한 제로인젝션 방법을 본 발명에 적용하여, 본 발명의 무관심 아이템 결정 장치는 m명의 사용자와 n개의 아이템 간의 선호도를 나타내는 선호도행렬 P(preference matrix P)와 가중치행렬 W(weight matrix W)를 활용할 수 있다.
우선, 선호도행렬 P에 대해 사용자 i가 아이템 j를 평가 혹은 구매한 경우 1의 값을 할당하고, 그렇지 않은 경우 0의 값을 할당할 수 있다. 그 후 P 내의 값(value)에 대한 상대적인 반영정도(relative contribution)을 수량화(quantify)하기 위해 가중치(weight)를 할당하여 W를 생성할 수 있다.
이때, 먼저 Pi,j=1인 사용자 i가 아이템 j를 평가 혹은 구매한 경우는 사용자가 직접 의견을 표현한 것이므로, 가장 높은 가중치(weight)인 1을 할당할 수 있다. 그 외의 Pi,j=0인 미관측 데이터(unobserved data)에 대해서는 wZAN이 제안한 가중치 스킴(weighting scheme) 중 사용자 지향 스킴(user-oriented scheme)을 기반으로 가중치를 0과 1 사이의 값으로 할당할 수 있다.
구체적으로 사용자 지향 스킴은 사용자가 더 많은 아이템을 평가할수록, 그 사용자는 평가되지 않은 아이템을 선호하지 않을 가능성이 높은 것으로 가정하는 것이다. 즉, 사용자 지향 스킴은 사용자가 선호도를 평가한 아이템의 수에 비례하여 사용자가 선호하지 않은 아이템의 가중치를 결정할 수 있다.
따라서 단계 S310에서는, 생성부가 복수의 사용자 각각이 선호도를 평가한 아이템의 개수에 비례하여 미평가 아이템에 대한 가중치를 결정할 수 있다.
무관심행렬(X)을 산출하는 단계(S320)에서는, 산출부(200)가 단계 S310에서 생성된 선호도행렬(P) 및 가중치행렬(W)에 기초하여 복수의 사용자의 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)를 산출한다.
산출부(200)는 이와 같이 생성된 선호도행렬 P와 가중치행렬 W를 이용하여 weighted alternating least squares(wALS) 기법을 수행함으로써 P를 근사화(approximate)할 수 있다.
도 5는 본 발명의 일 실시예에 따른 무관심행렬을 산출하는 단계를 설명하기 위한 흐름도이다.
도 5를 참고하면, 무관심행렬(X)을 산출하는 단계는 산출부(200)가 가중치행렬(W)을 이용하여 선호도행렬(P)을 사용자의 특징을 나타내는 행렬 U 와 아이템의 특징을 나타내는 행렬 V로 분해하는 단계(S510); 행렬 U 및 행렬 V에 기초하여 선호도행렬(P)을 근사화하는 단계(S520); 및 근사화된 선호도행렬(P^)에 기초하여 무관심행렬(X)를 산출하는 단계(S530)을 포함하여 구성될 수 있다.
단계 S510에서는, 산출부가 선호도행렬(P)을 잠재요인(latent factors)으로서의 사용자의 특징을 나타내는 행렬 U와 아이템의 특징을 나타내는 행렬 V로 분해하는데, 이때 목적함수 L(U, V)를 최적화하면서 선호도행렬(P)을 하위 순위 행렬인 행렬 U와 행렬 V로 분해하며, 목적함수는 아래의 수학식 1과 같다.
Figure 112017082025290-pat00001
수학식 1에서 pi,j와 ωi,j는 각각 사용자와 아이템 한 쌍(링크)에 대한 선호도행렬 P과 가중치행렬 W의 인자를 나타낼 수 있다.
그리고, Ui와 Vi는 각각 사용자와 아이템의 잠재적 요인에 대한 특징을 나타낼 수 있다. 여기서, 사용자와 아이템의 잠재적 요인은 사용자가 아이템을 이용한 후, 사용자의 선호도에 대한 변경 여부를 의미할 수 있다.
Figure 112017082025290-pat00002
는 2차 Frobenius 정규화를 나타내는 기호이며, λ는 과다적합(overfitting)을 방지하기 위한 조정 파라미터를 의미할 수 있다.
그리고, 생성부는 wZAN 기법을 통해 목적함수를 만족하는 U와 V를 추출하기 위한 행렬 V의 모든 인자에 랜덤(random)한 값을 할당할 수 있다. 이 후, 아이템 추천 장치는 수학식 1에서 정의된 목적함수를 최소화하도록 행렬 U를 수학식 2를 통해 유추할 수 있다.
Figure 112017082025290-pat00003
수학식 2에서,
Figure 112017082025290-pat00004
Figure 112017082025290-pat00005
의 대각선상의 요소를 갖는 대각행렬이고, L은 단위(identity)행렬이다.
그 다음, 생성부는 아래의 수학식 3과 같이 행렬 U를 고정하면서 행렬 V에 있는 요소를 업데이트 한다.
Figure 112017082025290-pat00006
그 다음, 생성부는 행렬 U와 행렬 V가 local optimum에 수렴할 때까지 수학식 2와 3을 반복하여 목적함수를 최적화할 수 있다.
단계 S520에서는, 행렬 U 및 행렬 V에 기초하여 선호도행렬(P)을 근사화한다. 이때, 앞서 계산된 행렬 U와 행렬V의 내적(inner product)을 계산함으로써 선호도행렬(P)을 근사화할 수 있다.
단계 S530에서는, 근사화된 선호도행렬 P^에 기초하여 무관심행렬 X를 산출한다. 이 때, 근사화된 선호도행렬 P^의 각 값은 선호점수(preference score)이므로, m명의 사용자와 n개의 아이템의 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬 X는 최종적으로 1-P^에 의해 계산될 수 있다.
도 6은 본 발명의 일 실시예에 따른 무관심 아이템을 도출하는 단계를 설명하기 위한 흐름도이다. 무관심 아이템을 도출하는 단계에서는 위에서 도출된 무관심행렬 X에 기초하여 복수의 사용자별로 무관심 아이템을 도출한다. 즉, 복수의 사용자 각각의 무관심 아이템을 도출한다.
도 6을 참고하면 무관심 아이템을 도출하는 단계는, 결정부(300)가, 복수의 사용자 중 하나의 사용자와 사용자가 평가한 아이템인 평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 포지티브 그래프(positive graph)를 생성하는 단계(S610); 결정부(300)가, 복수의 사용자 중 하나의 사용자와 사용자가 평가하지 않은 아이템인 미평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 네거티브 그래프(negative graph)를 생성하는 단계(S620); 및 결정부(300)가 무관심 정도, 포지티브 그래프의 링크의 수 및 쉐터링 포인트(shattering point)에 기초하여 미평가 아이템 중에서 무관심 아이템을 도출하는 단계(S630)를 포함하여 구성될 수 있다.
단계 S610에서는, 결정부(300)가 복수의 사용자 중 하나의 사용자와 상기 사용자가 평가한 아이템인 평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 포지티브 그래프(positive graph) G+를 생성한다.
단계 S620에서는 결정부(300)가 복수의 사용자 중 하나의 사용자와 상기 사용자와 상기 사용자가 평가하지 않은 아이템인 미평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 네거티브 그래프(negative graph)를 G-를 생성한다.
단계 S630에서는 결정부(300)가 무관심 정도, 포지티브 그래프 G의 링크의 수및 쉐터링 포인트에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출할 수 있다. 이때 결정부(300)가 도출하는 무관심 아이템의 수는 복수의 사용자 각각이 평가한 아이템의 수인 것이 바람직하다.
본 발명은 그래프 기반의 추천(graph-based recommendation)을 위해, 사용자들과 새롭게 도출되는 무관심 아이템 간의 관계(예를 들어 negative links)를 사회 관계망(social network)의 관점에서 모델링할 수 있다. 그러나 사용자들이 그들의 무관심을 그 무관심아이템에 대하여 명시적으로 표시하지 않았다는 점을 염두에 둘 필요가 있다.
먼저, 긍정적(positive)인 의견과 부정적(negative)인 의견을 함께 갖는 실생활 데이터셋(real-life datasets)을 확인해볼 수 있다. 전형적인 예로는 Epinions 및 Slashdot이 해당할 수 있다. 이러한 데이터들이 갖는 정보 중 부정적인 의견의 비율이 긍정적인 의견의 비율에 비해 상대적으로 현저히 낮음을 확인할 수 있다. 실제로, Epinions와 Slashdot 각각 부정적인 의견의 비율은 15%, 22.6%에 불과하였다.
이러한 현상은 사용자들이 온라인 공간에 부정적인 의견을 공개적으로 표현하는 것을 꺼려하기 때문에 발생된 것으로, 현재 표현된 부정적인 의견이 사용자들이 느끼는 모든 부정적인 의견이 표현된 것인지 확신할 수 없다고 할 수 있다. 다시 말해, 사용자들은 긍정적인 의견과 달리 부정적인 의견을 표현하는 것에 부담을 느껴 공개하지 않은 것일 뿐이지, 부정적인 의견을 적게 느끼게 되어 일어나는 현상은 아니라는 것이다.
이러한 직관(intuition)을 기반으로, 사람들이 느끼는 긍정적인 의견과 부정적인 의견의 양은 유사할 것이라고 가정할 수 있다. 즉, 사람들은 긍정적인 의견과 부정적인 의견을 균형되게(symmetric) 갖는다는 것을 의미할 수 있다. 이러한 가정을 통해, 사용자들의 부정적인 의견을 나타내는 무관심 상품의 수를 결정하기 위해 부정적 의견을 나타내는 무관심 상품의 수가 긍정적 의견을 나타내는 상품의 수와 같거나 유사할 것이라 생각할 수 있다.
따라서 단계 S630에서는, 결정부(300)가 무관심 정도 및 포지티브 그래프 G+의 링크의 수에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출하되, 우선 네거티브 그래프 G-의 링크(links)가 각 아이템의 무관심 정도 기준 상위 순으로 선택되고, 그 다음 그 네거티브 그래프 G-의 링크 중에서 포지티브 그래프 G+의 링크의 수와 동일한 수만큼 선택된 후, 선택된 네거티브 그래프 G-의 링크에서의 아이템이 무관심 아이템으로 도출될 수 있다. 이때 네거티브 그래프 G-의 링크 중에서 포지티브 그래프 G+의 링크의 수와 동일한 수가 아닌 소정 범위 이내에서 선택될 수도 있다.
즉, 무관심 정도를 기준으로 네거티브 그래프 G-의 링크의 수와 포지티브 그래프 G+의 링크의 수가 동일 또는 유사(소정 범위 이내)하다면, 네거티브 그래프 G-는 포지티브 그래프 G+와 유사한 위상적인 속성(topological properties)을 가진다고 할 수 있다.
이러한 무관심 정도를 기준으로 네거티브 그래프 G-의 링크의 수와 포지티브 그래프 G+의 링크의 수가 동일 또는 유사(소정 범위 이내)하다면, 네거티브 그래프 G-는 포지티브 그래프 G+와 유사한 위상적인 속성을 가지는 것은 다양한 실험을 통해서 검증될 수 있다.
이를 위해, 우선 미관측 데이터(unobserved data)에 포함된 사용자-아이템 링크를 무관심 정도의 오름차순으로 정렬할 수 있다. 그리고, 하위 k개의 사용자-아이템 링크를 부정적인 링크(negative links)로 고려하여, 그 부정적인 링크를 하나의 이분그래프(bipartite graph)로 모델링할 수 있다. 이때, k가 10부터 시작하여, 부정적인 링크가 미관측 데이터에서 전체 사용자-아이템 쌍의 90%가 될 때까지 두 배씩 증가할 수 있다.
이렇게 모델링된 그래프들 G-를 사용하면, 부정적인 링크(Negative links)를 무관심 정도 순으로 선택했을 때, 그 링크의 수가 포지티프 그래프 G+와 유사한 수를 갖지 않으면, 그 G-는 G+와 다른 속성(properties)을 갖는가에 대해 살펴 볼 필요가 있다.
이 검증을 위해, 그래프 쉐터링 이론(the graph shattering theory)을 적용해볼 수 있다. 그래프 쉐터링 이론은 링크가 지속적으로 그래프로부터 제거됨에 따라서 그래프의 연결성이 심각하게 무너지는 지점인 쉐터링 포인트(shattering points)를 도입할 수 있다.
이때, ShatterPlot은 그 쉐터링 포인트가 생성되는 것을 시각적으로 나타내기 위한 도구이다. 이 plot은 real positive graph G+의 링크를 조금씩 제거함에 따라 그 그래프의 유효지름(effective diameter), 도달 가능한 쌍의 개수(# of reachable pairs) 및 가장 크게 연결된 컴포넌트의 노드 개수 (# of nodes of the largest connected component)와 같은 위상적인 속성(topological properties)이 변화되는 모습을 통해, 특정 지점(point)에 이르렀을 때 해당 그래프가 쉐터(shatter)되어 그 이후에 속성이 심하게 변하는 것을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 각 그래프의 링크수와 유효지름(effective diameter)간의 관계를 나타내는 도면으로, 도 7(a)를 참조하면, MovieLens 데이터에 의해 생성된 포지티브 그래프 G+에서 랜덤하게 링크를 제거함에 따라 변하는 유효지름(effective diameter)를 보이는 ShatterPlot이다.
x축은 각 그래프의 링크의 수를 나타내며, y축은 해당 그래프의 유효지름을 나타낸다. 이 때, 수직점선(vertical line)은 쉐터링 포인트(shattering points)를 나타낸다. 이 결과는, MovieLens 데이터의 포지티브 그래프 G+ 또한 링크가 제거됨에 따라 어느 순간 쉐터링 포인트에 이르게 된다는 것을 보인다.
따라서, 무관심 정도의 상위 순으로 링크를 추가하면서, 변화되는 각 네거티브 그래프 G-의 위상적인 속성(topological properties)를 살펴볼 수 있다.
이처럼 단계 S630는, 네거티브 그래프 G-에 포함된 링크를 무관심 정도에 따라(무관심 정도의 상위 순으로) 추가하면서, 네거티브 그래프 G-의 위상적인 속성(topological properties)이 소정의 임계치 이상 변경되는 쉐터링 포인트(shattering point)를 검출하는 단계; 및 무관심 정도, 상기 포지티브 그래프의 링크의 수 및 상기 쉐터링 포인트에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출하는 단계를 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따른 네거티브 그래프 G-를 네 개의 영역(region)으로 구분하여 나타내는 도면이다. 도 8을 참조하면, 추가되는 링크의 수에 따라 그 ShatterPlot은 다음 네 개의 regions으로 구분될 수 있다: extremely sparse region (ES-region), shattering region (S-region), real region (R-region), dense region (D-region).
D-region는 G+보다 훨씬 더 밀도 높은 영역, R-region은 G+와 유사한 영역, S-region은 쉐터링이 시작되는 영역, ES-region은 쉐터링이 훨씬 더 심각해져 극히 밀도가 낮아진 영역을 나타낼 수 있다.
도 8(b)를 참조하면, MovieLens 데이터에서 사용자-아이템 쌍의 부정적인 링크를 무관심 정도(degree of uninterestingness) 상위 순으로 추가함에 따라 변하는 유효지름(effective diameter)을 나타낸다.
x축은 각 그래프의 링크의 수를 나타내며, y축은 해당 그래프의 유효지름을 나타낸다. 이 때, 수직점선(vertical line)은 쉐터링 포인트를 나타내며, ‘+’ 점은 real positive graph G+를 나타낸다.
이때, 유효지름이 쉐터링 포인트에서 날카롭고 명확한 뾰족한 형태가 되는 것을 볼 수 있다.
또한, 도 8(b)에 각 그래프를 위에서 정의한 각 영역에 할당하기 위해, 다음과 같은 네 개의 기준 그래프를 선정한다: 가장 밀도 낮은(sparse) 그래프, 쉐터링 포인트에 위치한 그래프, G+의 링크 수와 동일한 그래프, 가장 밀도 높은(dense) 그래프. 그런 뒤에, 그래프들을 하나의 그래프와 근처의 영역 대표 그래프 간의 유효지름의 차이가 최소가 되도록 근처의 지역으로 할당할 수 있다.
무관심 정도를 기준으로 네거티브 그래프 G-의 링크의 수와 포지티브 그래프 G+의 링크의 수가 동일 또는 유사(소정 범위 이내)하다면, 네거티브 그래프 G-는 포지티브 그래프 G+와 유사한 위상적인 속성을 가지는지 계속하여 살펴본다.
도 8(a)는 네거티브 그래프 G-를 네 개의 영역으로 구분하여 나타내는데, ‘□’은 ES-region에 속하는 그래프들, ‘+’은 S-region에 속하는 그래프들, ‘○’은 R-region에 속하는 그래프들, ‘*’은 D-region에 속하는 그래프들을 나타낸다. 추가로, 'x' 포인트는 대응되는 G+의 값을 참조한다. 이 결과는 포지티브 그래프 G+와 유사한 링크 수를 갖는 R-region의 그래프가 포지티브 그래프 G+와 유사한 위상학적 속성을 가진다는 것을 나타낸다. 특히, 포지티브 그래프 G+와 동일한 수의 링크를 가질 때 가장 유사한 것을 확인할 수 있다.
또한, 그래프 쉐터링 이론 이외의 다양한 소셜 네트워크(social network)의 위상적인 속성(topological properties) (예를 들어, # reachable pairs, # nodes of largest connected component, # deadends)을 기준으로도 포지티브 그래프 G+와 R-region의 그래프가 유사한 속성을 갖는다는 것을 확인(도 8(b)~(d) 참고)할 수 있다.
더 나아가, 각 구역에 속하는 한 그래프의 역학(epidemiology, PageRank scores)를 비교할 수 있다. 도 9는 본 발명의 일 실시예에 따른 MovieLens 데이터의 포지티브 그래프 G+와 각 구역의 한 그래프의 역학(epidemiology)을 분석한 결과를 나타내는 도면이다.
도 9(a)~(e)은 MovieLens 데이터의 G+와 각 구역의 한 그래프의 역학을 분석한 결과를 나타낸다. x축은 각 그래프에 존재하는 아이템들을 나타내며, y축은 각 아이템의 PageRank scores(단, PageRank의 damping factor를 모두 동일하게0.85로 세팅)를 나타낼 수 있다.
ES-region (도 9(b))과 S-region (도 9(c))의 점수 분포는 작은 수의 존재하는 노드가 모든 점수를 다 받는 것을 나타내고 있다. 그런 까닭에, 정보 전달의 효과가 거의 없게 된다.
D-region (도 9(e))의 점수 분포는 대부분의 노드가 유사한 점수를 받는 것을 나타내고 있기 때문에, 역시 정보 전달의 효과가 거의 없게 된다.
그러나, R-region (도 9(d))은 다른 영역들과 달리 a real positive graph G+(도 9(a))와 유사하게 소수의 hub nodes를 갖는 거듭제곱법칙과 같은 분포(power-law-like distribution)를 나타낸다.
따라서, 무관심 정도를 기준으로 네거티브 그래프 G-의 링크의 수와 포지티브 그래프 G+의 링크의 수가 동일 또는 유사(소정 범위 이내)하다면, 네거티브 그래프 G-는 포지티브 그래프 G+와 유사한 위상적인 속성을 가진다고 할 수 있다.
또한, 본 발명에서 부정적인 링크(negative links) 즉, 네거티브 그래프 G-의 링크의 수를 포지티브 그래프 G+의 링크 수와 유사하게 선택했을 때, 그 링크가 무관심 정도의 순으로 선택된 것이 아니라면, 그 G-는 G+와 속성(properties)을 갖는지 살펴볼 필요가 있다.
이를 위해, 부정적인 링크(Negative links)를 포함하는 두 종류의 그룹의 특성을 비교해는 것이 바람직하다. 즉, 하나는 무관심 정도에 기초하여 선별된 부정적인 링크(Negative links)를 포함하는 그래프이고, 나머지 하나는 랜덤하게 선별된 부정적인 링크(Negative links)를 포함하는 그래프이다.
아래의 표 1은 포지티브 그래프 G+, 무관심 정도를 사용한 네거티브 그래프 G-, 랜덤하게 선별된 네거티브 그래프 G-의 위상학적 속성(topological properties)을 보여준다.
포지티브 그래프 G+ 무관심 정도를 사용한 네거티브 그래프 G- 랜덤하게 선별된 네거티브 그래프 G-
유효지름(effective diameter) 4.45 4.12 3.88
도달 가능한 쌍의 개수(# of reachable pairs) 18,136,337 17,849,925 4,319,178
가장 크게 연결된 컴포넌트의 노드 개수 (# of nodes of the largest connected component) 2,593 2,587 2,625
데드엔드(#deadends) 0 157 0
유효지름(effective diameter), 도달 가능한 쌍의 개수(# of reachable pairs) 및 가장 크게 연결된 컴포넌트의 노드 개수 (# of nodes of the largest connected component)에 대해서는, G+와 무관심 정도(the degree of uninterestingness)를 사용한 G-가 유사한 반면, 랜덤하게 선별된 G-는 다른 경향을 보였다.
다만, 데드엔드(#deadends)는 오히려 랜덤하게 선별된 G-가 더 G+와 유사한 결과를 보였으나, MovieLens 데이터는 이미 한 번 이상 평가를 한 사용자나 평가를 받은 아이템이 포함되어 있기 때문에 G+ 내의 데드엔드(deadends)가 존재하지 않는 것으로 볼 수 있다.
이 결과는, 네거티브 그래프 G-에 포함된 링크의 수와 포지티브 그래프 G+에 포함된 링크의 수와 동일한 R-region에 있는 네거티브 그래프 G-가 사회 관계망의 성질(characteristics of social networks) 측면에서 포지티브 그래프 G+에 가장 유사한 것으로 판명되었다는 것을 보여준다. 특히, 그 부정적인 링크(negative links)는 무관심 정도의 상위 순으로 선택될 때 가장 유사한 것을 알 수 있다.
따라서, 그래프 기반의 추천 방법을 활용하는 경우 포지티브 그래프 G+와 가장 유사한 위상학적 속성을 갖는 네거티브 그래프 G-를 사용하는 것이 추천의 정확도 측면에서 가장 도움이 된다.
도 10은 본 발명의 다른 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법을 설명하기 위한 흐름도이다.
도 10을 참고하면, 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법은 추천부(400)가 복수의 사용자 각각이 평가한 아이템인 평가 아이템 및 복수의 사용자 각각이 평가하지 않은 아이템인 미평가 중 도출된 무관심 아이템에 기초하여, 복수의 사용자 각각에게 아이템을 추천하는 단계(S1040)를 더 포함할 수 있다. 예를 들어, 앞서 살펴본 선호도행렬(P) 및 가중치행렬(W)을 생성하는 단계, 무관심행렬(X)을 산출하는 단계, 무관심 아이템을 도출하는 단계 이후에, 도출된 무관심 아이템에 기초하여, 복수의 사용자 각각에게 아이템을 추천할 수 있다.
본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법은 사용자에게 아이템을 추천하기 위해 RWR(Random Walk with Restart) 또는 신뢰도 확산(BP, Belief propagation) 방법을 활용할 수 있다. 그러나, RWR과 BP는 모두 양(positive)의 가중치를 갖는 링크에만 기반을 두고 있기 때문에 본 발명에서 RWR과 BP를 적용하기 위해서는 다른 접근법이 필요하다.
RWR을 적용하기 위한 방법을 먼저 살펴보면, 한 가지 유형의 링크로만 구성된 각 그래프(포지티브 그래프와 네거티브 그래프)에서 RWR을 개별적으로 수행하여, 아래의 수학식과 같은 RWR 점수(score)를 획득할 수 있다.
Figure 112017082025290-pat00007
Figure 112017082025290-pat00008
이때,
Figure 112017082025290-pat00009
Figure 112017082025290-pat00010
는 각각 다른 노드의 포지티브 랭킹 벡터(positive ranking vector)와 네거티브 랭킹 벡터(negative ranking vector)를 나타낸다.
Figure 112017082025290-pat00011
Figure 112017082025290-pat00012
는 각각 포지티브 및 네거티브 링크를 기반으로 만들어진 정규화된 가중 그래프를 나타낸다. 그리고 α는 댐핑 팩터(damping factor)이며,
Figure 112017082025290-pat00013
는 재시작할 대상 노드를 나타내는 개인화된 벡터(personalization vector)이다.
다음으로, 아래의 식과 같이
Figure 112017082025290-pat00014
Figure 112017082025290-pat00015
의 차이를 계산하여 최종 RWR 점수(score)를 산출한다.
Figure 112017082025290-pat00016
이와 같이 계산된 랭킹 벡터(ranking vector)를 기반으로 사용자가 가장 선호하는 상위 n개의 아이템을 추천한다.
다음으로 BP를 적용하기 위한 방법을 살펴보면, 먼저 한 유형의 링크만으로 구성된 각 그래프(포지티브 그래프 및 네거티브 그래프)에서 BP를 개별적으로 수행한다. BP는 신뢰도 점수를 계산하여 그래프의 노드 상태를 추론하는 알고리즘으로, 노드 간에 메시지를 교환하여 노드의 신뢰도 점수를 계산한다. 이 메시지는 인접 노드가 특정 상태에 있을 가능성에 대한 노드의 의견이다. 본 발명에서 노드의 상태는 이진(binary, 예를 들어 관심 또는 무관심)이다.
포지티브 그래프 및 네거티브 그래프의 경우 하나의 노드에서 이웃 노드로 보낸 메시지는 벡터로 표시되며 아래의 수학식 7 및 8과 같이 계산된다.
Figure 112017082025290-pat00017
Figure 112017082025290-pat00018
Figure 112017082025290-pat00019
는 아이템(v) i에서 아이템(v) j로 보내지는 메시지를 의미하며, 아이템(v) j가 σ상태일 가능성에 대한 아이템 i의 신뢰도를 의미할 수 있다.
N(i)는 아이템(v) i의 인접한 노드를 제외한 노드의 세트(set)이다.
Figure 112017082025290-pat00020
는 포지티브 그래프 G+에 대한 아이템(v) i가 σ′상태일 가능성을 나타내는 것으로, 이전에 관찰된 상태일 수 있다.
포지티브 그래프 G+ 및 네거티브 그래프 G-에서 '관심(interesting)'에 대한 이전 값(prior value)인
Figure 112017082025290-pat00021
Figure 112017082025290-pat00022
각각은 아래의 수학식 9 및 10에 의해 할당될 수 있다.
Figure 112017082025290-pat00023
Figure 112017082025290-pat00024
그리고, 전달 행렬(propagation matrix)인
Figure 112017082025290-pat00025
Figure 112017082025290-pat00026
는 아래의 표 2 및 표 3에서와 같이 주어질 수 있다.
vj의 상태
vi의 상태
관심(interesting) 무관심(uninteresting)
관심(interesting) 0.5+α 0.5-α
무관심(uninteresting) 0.5-α 0.5α
<
Figure 112017082025290-pat00027
의 포지티브 링크(positive links)>
vj의 상태
vi의 상태
관심(interesting) 무관심(uninteresting)
관심(interesting) 0.5+α 0.5-α
무관심(uninteresting) 0.5-α 0.5α
<
Figure 112017082025290-pat00028
의 네거티브 링크(negative links)>
그 다음, 메시지 전달을 반복할 수 있는데, 메시지 전달의 변화가 미리 설정된 임계치 이하가 될 때까지 메시지 전달이 반복될 수 있다.
메시지 전달 이후 노드의 신뢰도 점수가 결정되는데, 포지티브 그래프의 신뢰도 점수 및 네거티브 그래프의 신뢰도 점수 각각은 아래의 수학식 11 및 12에 의해 계산될 수 있다.
Figure 112017082025290-pat00029
Figure 112017082025290-pat00030
이때,
Figure 112017082025290-pat00031
는 노드 i가 포지티브 그래프 G+를 사용하였을 때 대상(target) 사용자의 관심(interesting) 및 무관심(uninteresting)에 대한 확률을 나타낸다.
Figure 112017082025290-pat00032
노드 i가 네거티브 그래프 G-를 사용하였을 때 대상 사용자의 관심(interesting) 및 무관심(uninteresting)에 대한 확률을 나타낸다.
또한
Figure 112017082025290-pat00033
는 포지티브 그래프 G+ 내의 노드 i에 대한 인접한 노드들의 세트를 지칭하고,
Figure 112017082025290-pat00034
는 네거티브 그래프 G- 내의 노드 i에 대한 인접한 노드들의 세트를 지칭한다.
그 다음, 아래의 수학식 13과 같이 노드에 대한 포지티브 그래프의 신뢰도 점수와 네거티브 그래프의 신뢰도 점수의 차를 계산하여 최종 신뢰도 점수를 계산한다.
Figure 112017082025290-pat00035
이와 같이 계산된 최종 신뢰도 점수를 기반으로 대상 사용자가 가장 선호하는 상위 n개의 아이템을 추천한다.
또한, 본 발명의 일 실시예에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법은 서명 그래프(signed graph)에 BP를 적용할 수 있다. 예를 들어 서명 그래프는 포지티브 링크 및 네거티브 링크를 함께 포함하고, 이러한 서명 그래프 상에서 BP를 수행할 수 있다.
이때 먼저 아래의 수학식 14와 같이 관심(interesting) 상태에 대한 이전 값(prior value)을 할당한다.
Figure 112017082025290-pat00036
그리고, 표 1의 두 전달 행렬은 각각 포지티브 그래프 및 네거티브 그래프에 사용된다. 이와 같은 할당 후에, 포지티브 링크 및 네거티브 링크에 따라 노드들 간의 메시지 전달은 아래의 수학식 15와 같이 수행된다.
Figure 112017082025290-pat00037
이때,
Figure 112017082025290-pat00038
Figure 112017082025290-pat00039
는 각각 포지티브 그래프 G+ 및 네거티브 그래프 G-에 적용된 전달 함수를 나타내고,
Figure 112017082025290-pat00040
는 서명 그래프 내의 노드 i에 인접한 노드의 세트를 의미한다.
그리고, 노드 vi가 상태 σ에 있을 가능성(확률)에 대한 신뢰도 점수는 아래의 수학식 16과 같이 계산된다.
Figure 112017082025290-pat00041
그 다음, 대상 사용자가 최종 신뢰도 점수에 따라 가장 선호하는 상위 n개의 아이템을 추천한다.
이상 살펴본 바와 같이, 본 발명에 따른 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치는 단일 클래스 환경(one-class setting)을 이진-클래스 환경 (binary-class setting)으로 변환할 수 있는 효과가 있고, 추천에 가장 효과적인 무관심 아이템의 수를 결정할 수 있는 파라미터에 무관(parameter-free)한 효과가 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100: 생성부
200: 산출부
300: 결정부
400: 추천부

Claims (14)

  1. 무관심 아이템 결정 장치가 단일 클래스 협업 필터링 환경에서 무관심 아이템을 결정하는 방법에 있어서,
    생성부가 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P)및 상기 선호도행렬(P)의 행렬값에 대한 반영정도를 나타내는 가중치를 포함하는 가중치행렬(W)을 생성하는 단계;
    산출부가 상기 선호도행렬(P) 및 상기 가중치행렬(W)에 기초하여 상기 복수의 사용자의 상기 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출하는 단계; 및
    결정부가 상기 무관심행렬(X)에 기초하되, 상기 복수의 사용자 중 하나의 사용자와 상기 사용자가 평가한 아이템인 평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 포지티브 그래프(positive graph) 및 상기 사용자와 상기 사용자가 평가하지 않은 아이템인 미평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 네거티브 그래프(negative graph)를 이용하여 상기 복수의 사용자별로 무관심 아이템을 도출하는 단계
    를 포함하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.
  2. 제1항에 있어서,
    상기 가중치행렬(W)을 생성하는 단계에서
    상기 생성부가 제로인젝션 방법(Zero injection method)에 기초하여 상기 선호도행렬(P) 및 가중치행렬(W)을 생성하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.
  3. 제1항에 있어서,
    상기 가중치행렬(W)을 생성하는 단계에서
    상기 생성부가 상기 복수의 사용자 각각이 선호도를 평가한 아이템의 개수에 비례하여 미평가 아이템에 대한 가중치를 결정하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.
  4. 제1항에 있어서,
    상기 무관심행렬(X)을 산출하는 단계는
    상기 산출부가 상기 가중치행렬(W)을 이용하여 상기 선호도행렬(P)을 사용자의 특징을 나타내는 행렬 U 와 아이템의 특징을 나타내는 행렬 V로 분해하는 단계;
    상기 행렬 U 및 행렬 V에 기초하여 상기 선호도행렬(P)을 근사화하는 단계; 및
    상기 근사화된 선호도행렬에 기초하여 무관심행렬(X)를 산출하는 단계
    를 포함하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.
  5. 제1항에 있어서,
    상기 무관심 아이템을 도출하는 단계는
    상기 적어도 하나의 포지티브 그래프를 생성하는 단계;
    상기 적어도 하나의 네거티브 그래프를 생성하는 단계; 및
    상기 네거티브 그래프에 포함된 링크를 무관심 정도에 따라 추가하면서, 상기 네거티브 그래프의 위상적인 속성(topological properties)이 소정의 임계치 이상 변경되는 쉐터링 포인트(shattering point)를 검출하는 단계; 및
    상기 무관심 정도, 상기 포지티브 그래프의 링크의 수 및 상기 쉐터링 포인트에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출하는 단계
    를 포함하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.

  6. 제1항에 있어서,
    무관심 아이템을 도출하는 단계에서
    상기 결정부가 도출하는 무관심 아이템의 수는 상기 복수의 사용자 각각이 평가한 아이템의 수인 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.
  7. 제1항에 있어서,
    추천부가 상기 복수의 사용자 각각이 평가한 아이템인 평가 아이템 및 상기 복수의 사용자 각각이 평가하지 않은 아이템인 미평가 중 상기 도출된 무관심 아이템에 기초하여, 상기 복수의 사용자 각각에게 아이템을 추천하는 단계를
    더 포함하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법.
  8. 복수의 사용자의 복수의 아이템 각각에 대한 평가 및 미평가가 반영된 선호도행렬(P)및 상기 선호도행렬(P)의 행렬값에 대한 상대적인 반영정도를 수량화하기 위한 가중치를 포함하는 가중치행렬(W)을 생성하는 생성부;
    상기 선호도행렬(P) 및 상기 가중치행렬(W)에 기초하여 상기 복수의 사용자의 상기 복수의 아이템 각각에 대한 무관심 정도(degree of uninterestingness)를 나타내는 무관심행렬(X)을 산출하는 산출부; 및
    상기 무관심행렬(X)에 기초하되, 상기 복수의 사용자 중 하나의 사용자와 상기 사용자가 평가한 아이템인 평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 포지티브 그래프(positive graph) 및 상기 사용자와 상기 사용자가 평가하지 않은 아이템인 미평가 아이템을 연결하는 링크를 포함하는 적어도 하나의 네거티브 그래프(negative graph)를 이용하여 상기 복수의 사용자별로 무관심 아이템을 도출하는 결정부를 포함하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
  9. 제8항에 있어서,
    상기 생성부가 제로인젝션 방법(Zero injection method)에 기초하여 상기 선호도행렬(P) 및 가중치행렬(W)을 생성하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
  10. 제8항에 있어서,
    상기 생성부가 상기 복수의 사용자 각각이 선호도를 평가한 아이템의 개수에 비례하여 미평가 아이템에 대한 가중치를 결정하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
  11. 제8항에 있어서,
    상기 산출부가 상기 가중치행렬(W)을 이용하여 상기 선호도행렬(P)을 사용자의 특징을 나타내는 행렬 U 및 아이템의 특징을 나타내는 행렬 V로 분해하고,
    상기 행렬 U 및 행렬 V에 기초하여 상기 선호도행렬(P)을 근사화한 후,
    상기 근사화된 선호도행렬에 기초하여 무관심행렬(X)를 산출하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
  12. 제8항에 있어서,
    상기 결정부는
    상기 적어도 하나의 포지티브 그래프를 생성하고,
    상기 적어도 하나의 네거티브 그래프를 생성하며,
    상기 네거티브 그래프에 포함된 링크를 무관심 정도에 따라 추가하면서, 상기 네거티브 그래프의 위상적인 속성(topological properties)이 소정의 임계치 이상 변경되는 쉐터링 포인트(shattering point)를 검출하고,
    상기 무관심 정도, 상기 포지티브 그래프의 링크의 수 및 상기 쉐터링 포인트에 기초하여 상기 미평가 아이템 중에서 무관심 아이템을 도출하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
  13. 제12항에 있어서,
    상기 결정부가 도출하는 무관심 아이템의 수는 상기 복수의 사용자 각각이 평가한 아이템의 수인 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
  14. 제8항에 있어서,
    상기 복수의 사용자 각각이 평가한 아이템인 평가 아이템 및 상기 복수의 사용자 각각이 평가하지 않은 아이템인 미평가 중 상기 도출된 무관심 아이템에 기초하여, 상기 복수의 사용자 각각에게 아이템을 추천하는 추천부
    를 더 포함하는 것을 특징으로 하는 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 장치.
KR1020170107257A 2017-06-15 2017-08-24 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치 KR101907008B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170076118 2017-06-15
KR20170076118 2017-06-15

Publications (1)

Publication Number Publication Date
KR101907008B1 true KR101907008B1 (ko) 2018-10-15

Family

ID=63866036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170107257A KR101907008B1 (ko) 2017-06-15 2017-08-24 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101907008B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240000837A (ko) 2022-06-24 2024-01-03 포항공과대학교 산학협력단 이종 목표들로 학습된 단일-클래스 협업 필터링 기반의 아이템 추천 방법 및 서비스 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277307B2 (ja) * 2009-02-18 2013-08-28 株式会社日立製作所 情報推薦方法、そのシステム、及びサーバ
KR101620748B1 (ko) * 2014-12-10 2016-05-12 한양대학교 산학협력단 아이템 추천 방법 및 아이템 추천 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277307B2 (ja) * 2009-02-18 2013-08-28 株式会社日立製作所 情報推薦方法、そのシステム、及びサーバ
KR101620748B1 (ko) * 2014-12-10 2016-05-12 한양대학교 산학협력단 아이템 추천 방법 및 아이템 추천 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240000837A (ko) 2022-06-24 2024-01-03 포항공과대학교 산학협력단 이종 목표들로 학습된 단일-클래스 협업 필터링 기반의 아이템 추천 방법 및 서비스 장치

Similar Documents

Publication Publication Date Title
Fayazi et al. Uncovering crowdsourced manipulation of online reviews
CN104462383B (zh) 一种基于用户多种行为反馈的电影推荐方法
US20190266624A1 (en) Seed population diffusion method, device, information delivery system and storage medium
CN104778173B (zh) 目标用户确定方法、装置及设备
CN107301247B (zh) 建立点击率预估模型的方法及装置、终端、存储介质
CN103258025B (zh) 生成共现关键词的方法、提供关联搜索词的方法以及系统
CN105654198B (zh) 具有最优阈值筛选的品牌广告效果优化的方法
KR101356948B1 (ko) Sns에서 사회적 이웃의 관심사와 사회적 활동의 토픽을 통해 사용자 관심사를 추론하는 방법 및 그 시스템
KR101567684B1 (ko) 협업필터링 기반의 상품 추천 시스템에서 추천 기법을 선택하는 방법
CN108876536A (zh) 基于最近邻信息的协同过滤推荐方法
CN110598129A (zh) 基于两级信息熵的跨社交网络用户身份识别方法
CN111324807A (zh) 基于信任度的协同过滤推荐方法
CN112507245A (zh) 基于图神经网络的社交网络好友推荐方法
Chu et al. Variational cross-network embedding for anonymized user identity linkage
CN107133811A (zh) 一种目标用户的识别方法和装置
CN110059257B (zh) 基于评分修正的项目推荐方法
CN111782939A (zh) 一种基于用户偏好与用户属性的个性化推荐方法
KR101907008B1 (ko) 단일 클래스 협업 필터링 환경에서 무관심 아이템 결정 방법 및 장치
Insuwan et al. Improving missing values imputation in collaborative filtering with user-preference genre and singular value decomposition
CN117216376A (zh) 一种基于深度图神经网络的公平感知推荐系统及推荐方法
KR20200142871A (ko) 명시적 및 내연적 평가 정보를 이용한 아이템 추천 방법 및 장치
KR20230154647A (ko) 소셜 네트워킹 서비스에서 인플루언서 탐색 방법 및 장치
CN101552689B (zh) 基于网络结构的用户兴趣漂移检测方法及系统
JP6944080B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6993525B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant