KR20200131952A - 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법 - Google Patents

쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법 Download PDF

Info

Publication number
KR20200131952A
KR20200131952A KR1020190056585A KR20190056585A KR20200131952A KR 20200131952 A KR20200131952 A KR 20200131952A KR 1020190056585 A KR1020190056585 A KR 1020190056585A KR 20190056585 A KR20190056585 A KR 20190056585A KR 20200131952 A KR20200131952 A KR 20200131952A
Authority
KR
South Korea
Prior art keywords
items
list
electronic device
degree
item
Prior art date
Application number
KR1020190056585A
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 삼성전자주식회사
Priority to KR1020190056585A priority Critical patent/KR20200131952A/ko
Priority to US16/566,267 priority patent/US11436661B2/en
Publication of KR20200131952A publication Critical patent/KR20200131952A/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
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • 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/0633Lists, e.g. purchase orders, compilation or processing
    • 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/0641Shopping interfaces

Abstract

다양한 실시예에 따른 전자 장치는, 통신 모듈 및 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는: 상기 통신 모듈을 통하여 제1 외부 전자 장치로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하고; 상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하고; 상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하고; 상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하고, 상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력하도록 설정되고, 상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록일 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법{ELECTRONIC DEVICE PROVIDING INFORMATION IN RESPONSE TO QUERY AND METHOD THEREFOR}
다양한 실시예는 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법에 관한 것으로, 더욱 상세하게는 추천 아이템의 목록을 요구하는 쿼리에 응답하여 정보를 제공하는 전자 장치 및 추천 아이템의 목록을 요구하는 쿼리에 응답하여 정보를 제공하기 위한 방법에 관한 것이다.
소비 시장과 기술의 발달에 따라 사람들은 소비와 관련된 수많은 선택을 한다. 특히, 사람들의 취향이 개인화되고 다변화되는 최근의 추세는 선택지의 증가를 더욱 부추기고 있다. 일상에서 선택이 요구되는 때가 많아지고, 선택지가 더 많아짐에 따라, 선택에서 오는 스트레스가 증가하고 있다.
선택에서 오는 스트레스를 경감하기 위하여, 다양한 추천 시스템이 제공되어 있다. 추천 시스템은 쿼리에 응답하여 복수의 아이템 중 하나 이상의 아이템의 목록을 출력한다. 예를 들어, 추천 시스템은 복수의 아이템 중 각 아이템에 대하여 추천 점수를 산정하고, 산정된 추천 점수가 높은 순서대로 정렬된 미리 결정된 개수의 아이템의 목록을 출력한다.
쿼리에 응답하여 정보를 제공하는 기존의 방법에서, 많은 방법들이 사용자의 요구에 정확하게 부응하는 결과를 출력하는 것을 목표로 제안되었다. 사용자의 요구에 정확하게 부응하는 아이템 목록을 출력하기 위해서는, 출력할 아이템의 목록을 정하는 과정에서 복잡한 연산이 요구되었다. 따라서, 쿼리에 응답하여 정보를 제공하는 기존의 방법에서는, 쿼리에 대한 응답으로서 아이템의 목록이 출력될 뿐, 출력된 각 아이템이 왜 출력되었는지에 대한 설명이 제공되지 않았다. 쿼리에 응답하여 제공되는 정보에 아이템의 목록뿐 아니라 각 아이템에 대한 추천 점수가 함께 제공되는 경우라고 하더라도, 사용자는 특정 아이템의 추천 점수가 왜 높게 계산되었는지 알 수 없었다.
다양한 실시예에 따른 전자 장치 및 전자 장치에서 수행되는 방법에 따르면, 전자 장치는 임의의 추천 시스템을 포함하는 외부 전자 장치로부터 추천된 아이템의 목록 및 목록 내 각 아이템에 대응하는 추천 점수를 수신하고, 이로부터 목록 내 각 아이템이 추천된 이유에 대한 설명을 제공할 수 있다.
다양한 실시예에 따라서, 전자 장치는 통신 모듈 및 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는: 상기 통신 모듈을 통하여 제1 외부 전자 장치로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하고; 상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하고; 상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하고; 상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하고, 상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력하도록 설정되고, 상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록일 수 있다.
다양한 실시예에 따라서, 전자 장치에 의하여 수행되는 방법은: 제1 외부 전자 장치로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하는 동작; 상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하는 동작; 상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하는 동작; 상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하는 동작; 및 상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력하는 동작을 포함하고, 상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록일 수 있다.
다양한 실시예에 따라서, 전자 장치는 통신 모듈 및 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는: 상기 통신 모듈을 통하여 제1 외부 전자 장치로 쿼리를 송신하고; 상기 통신 모듈을 통하여 상기 제 1 외부 전자 장치로부터 상기 쿼리에 대응하는 아이템들의 목록을 수신하고; 상기 아이템들과 연관된 특성 집합의 원소들 중 적어도 하나의 원소와, 상기 적어도 하나의 원소 및 상기 아이템들 사이의 제1 연관도를 확인하고; 상기 적어도 하나의 원소 및 상기 쿼리와 연관된 사용자 사이의 제2 연관도를 확인하고; 상기 제1 연관도, 상기 제2 연관도, 및 상기 적어도 하나의 원소에 기반한 추천 이유를, 상기 아이템들의 적어도 일부와 함께 제공하도록 설정될 수 있다.
다양한 실시예에 따라서, 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법이 제공된다. 이에 따라, 사용자는 쿼리에 응답하여 추천 아이템의 목록 및 각 아이템에 대한 추천 점수뿐 아니라, 추천 아이템이 왜 추천되었는지에 대한 설명을 제공받을 수 있다. 특히, 다양한 실시예에 따른 전자 장치 및 방법은 외부 전자 장치에 의하여 수행된 추천 아이템 선택의 결과인 아이템들의 목록 및 추천 점수를 수신하여 아이템들이 추천된 이유를 추론하므로, 임의의 추천 시스템을 포함하는 외부 전자 장치의 추천 결과를 설명할 수 있다. 따라서, 아이템 추천 서비스를 이용하는 사용자의 알 권리가 신장될 수 있다.
또한, 다양한 실시예에 따른 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법은 추천 알고리즘과는 독립적으로 동작할 수 있기 때문에, 추천 알고리즘과 분리하여 쉽게 관리할 수 있다.
또한, 다양한 실시예에 따라서, 사용자가 추천 아이템이 왜 추천되었는지에 대한 설명을 제공받기 때문에, 사용자는 자신의 요구에 맞지 않는 아이템이 추천된 경우, 해당 아이템이 추천된 이유를 파악할 수 있다. 따라서, 사용자는 자신의 요구에 맞지 않는 아이템이 더 이상 추천되지 않도록 해당 아이템이 추천된 이유와 관련된 변수에 관하여 직접적인 피드백을 제공할 수 있다. 결과적으로, 사용자는 피드백을 제공함으로써 자신의 요구에 더 부합하는 추천을 제공받을 수 있다.
또한, 다양한 실시예에 따라서, 아이템 특성 모델이 사용되므로 추천 결과의 다양성이 증대될 수 있다. 특히, 사용자가 아이템이 추천된 이유와 관련된 변수에 관하여 피드백을 제공하는 경우, 추천 결과의 다양성 증대와 설명 제공의 효과가 동시에 나타날 수 있다.
도 1은 다양한 실시예에 따른 네트워크 환경 내의 전자 장치의 블록도를 도시한다.
도 2a는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
도 2b는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다.
도 3은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 4는 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 5는 다양한 실시예에 따른 전자 장치가 표시하는 화면을 도시한다.
도 6은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 7a는 다양한 실시예에 따른, 특성 집합이 1개인 경우의 아이템, 특성 집합, 및 사용자 간의 관계를 설명하기 위한 블록도를 도시한다.
도 7b는 다양한 실시예에 따른, 특성 집합이 2개인 경우의 아이템, 특성 집합, 및 사용자 간의 관계를 설명하기 위한 블록도를 도시한다.
도 8은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도를 도시한다.
도 9a 및 9b는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 그래프를 도시한다.
도 10a 내지 10d는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 히스토그램을 도시한다.
도 11a 내지 11d는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 히스토그램을 도시한다.
도 12a 내지 12d는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 그래프를 도시한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2a는 다양한 실시예에 따른 전자 장치의 블록도를 도시한다. 다양한 실시예에 따라서, 전자 장치(210)는 통신 모듈(211), 프로세서(212), 디스플레이(213), 및 입력 장치(214)를 포함할 수 있다. 전자 장치(210)는, 예를 들어 전자 장치(101)의 구성 요소 중 적어도 일부를 포함할 수 있다. 전자 장치(210)의 프로세서(212)는 입력 장치(214)를 통하여 사용자로부터 추천 아이템의 목록에 대한 요청을 확인할 수 있다. 프로세서(212)는 통신 모듈(211)을 통하여 제1 외부 전자 장치(220)에 사용자의 요청을 송신하고, 제1 외부 전자 장치(220)에서 확인된 제1 개수의 추천 아이템의 목록 및 목록 내에 포함된 각 아이템에 대한 추천 점수를 통신 모듈(211)을 통하여 제1 외부 전자 장치(220)로부터 수신할 수 있다. 프로세서(212)는 수신된 제1 개수의 추천 아이템의 목록 및 목록 내에 포함된 각 아이템에 대한 추천 점수에 기초하여, 목록 내에 포함된 각 아이템과 미리 정의된 특성 집합의 각 원소 간의 제1 관련도 및 특성 집합의 각 원소와 사용자 간의 제2 관련도를 확인할 수 있다. 프로세서(212)는 제1 관련도 및 제2 관련도에 기초하여, 디스플레이(213)를 통해 목록 내에 포함된 각 아이템이 추천된 이유에 대한 설명을 사용자에게 제공할 수 있다.
전자 장치(210), 통신 모듈(211), 프로세서(212), 디스플레이(213), 및 입력 장치(214)의 상세 사항에 대해서는, 도 1의 전자 장치(101), 통신 모듈(190), 프로세서(120), 표시 장치(160), 및 입력 장치(150)에 관하여 상술한 상세 사항이 동일하게 적용될 수 있으므로, 여기에서 중복하여 설명하지 않는다. 또한, 제1 외부 전자 장치(220)는 예를 들어, 도 1을 참조하여 상술한 서버(108)일 수 있다.
도 2b는 다양한 실시예에 따른 서버의 블록도를 도시한다. 다양한 실시예에 따라서, 서버(230)는 통신 모듈(231) 및 프로세서(232)를 포함할 수 있다. 서버(230)의 프로세서(232)는 통신 모듈(231)을 통하여 제2 외부 전자 장치(250)로부터 사용자에 의한, 추천 아이템의 목록에 대한 요청을 수신하고, 수신된 사용자의 요청을 통신 모듈(231)을 통하여 제1 외부 전자 장치(240)에 송신할 수 있다. 또한, 프로세서(232)는 제1 외부 전자 장치(240)에서 확인된 제1 개수의 추천 아이템의 목록 및 목록 내에 포함된 각 아이템에 대한 추천 점수를 통신 모듈(231)을 통하여 제1 외부 전자 장치(240)로부터 수신할 수 있다. 프로세서(232)는 수신된 제1 개수의 추천 아이템의 목록 및 목록 내에 포함된 각 아이템에 대한 추천 점수에 기초하여, 목록 내에 포함된 각 아이템과 미리 정의된 특성 집합의 각 원소 간의 제1 관련도 및 특성 집합의 각 원소와 사용자 간의 제2 관련도를 확인할 수 있다. 프로세서(232)는 제1 관련도 및 제2 관련도에 기초하여, 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 추천 아이템들 중 적어도 일부 간의 제3 관련도 및 적어도 하나의 제1 특성과 사용자 간의 제4 관련도를 확인할 수 있다. 그 후, 프로세서(232)는 통신 모듈(231)을 통하여 추천 아이템들 중 적어도 일부, 제3 관련도, 및 제4 관련도를 제2 외부 전자 장치(250)에 송신할 수 있다. 제2 외부 전자 장치(250)는 서버(230)로부터 수신된 정보에 기초하여, 추천 아이템들 중 적어도 일부 및 각 아이템이 추천된 이유에 대한 설명을 사용자에게 제공할 수 있다.
제2 외부 전자 장치(250) 및 서버(230)의 상세 사항에 대해서는, 도 1의 전자 장치(101), 서버(108)에 관하여 상술한 상세 사항이 동일하게 적용될 수 있으므로, 여기에서 중복하여 설명하지 않는다.
도 3은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도(300)를 도시한다. 310 동작에서, 전자 장치(예를 들어, 전자 장치(210))에 포함된 프로세서(예를 들어, 프로세서(212))는 통신 모듈(예를 들어, 통신 모듈(211))을 통하여 제1 외부 전자 장치(예를 들어, 제1 외부 전자 장치(220))로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신할 수 있다. 다양한 실시예에 따라서, 제1 개수의 아이템의 목록은 제1 외부 전자 장치(220)에 의하여 추천된 아이템의 목록일 수 있고, 제1 점수는 제1 외부 전자 장치(220)에 의하여 산정된, 각 아이템에 대한 추천 점수일 수 있다.
본 개시에서 언급되는 전자 장치는 도 2a를 참조하여 상술한 전자 장치(210)일 수 있고, 또는, 도 2b를 참조하여 상술한 서버(230)일 수 있다. 설명의 편의를 위하여, 전자 장치가 도 2b를 참조하여 상술한 서버(230)라는 언급이 없으면, 전자 장치가 도 2a를 참조하여 상술한 전자 장치(210)인 경우에 대하여 설명한다.
다양한 실시예에 따라서, 전자 장치가 도 2a를 참조하여 상술한 전자 장치(210)인 경우, 전자 장치(210)의 프로세서(212)는 입력 장치(214)를 통하여 사용자로부터 제1 개수의 아이템의 목록 및 제1 점수에 대한 요청을 확인할 수 있다. 프로세서(212)는 통신 모듈(211)을 통하여 제1 외부 전자 장치(220)에 사용자의 요청을 송신한 후 310 동작을 수행할 수 있다.
다양한 실시예에 따라서, 전자 장치가 도 2b를 참조하여 상술한 서버(230)인 경우, 서버(230)의 프로세서(232)는 통신 모듈(231)을 통하여 제2 외부 전자 장치(250)로부터 사용자에 의한, 제1 개수의 아이템의 목록 및 제1 점수에 대한 요청을 수신하고, 수신된 사용자의 요청을 통신 모듈(231)을 통하여 제1 외부 전자 장치(240)에 송신한 후 310 동작을 수행할 수 있다.
다양한 실시예에 따라서, 제1 외부 전자 장치(220)는 사용자의 요청에 응답하여 데이터베이스 내 아이템 중 제1 개수의 아이템을 선별하고, 제1 개수의 아이템의 목록 및 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 출력하는, 임의의 추천 시스템을 포함할 수 있다. 예를 들어, 제1 외부 전자 장치(220)는 영화, 책, 또는 판매되는 제품을 추천하는 시스템을 포함할 수 있다.
다양한 실시예에 따라서, 쿼리는 사용자의 요청에 의하여 생성되어 발송되거나, 또는 사용자의 요청 없이 생성되어 발송될 수 있다. 예를 들어, 사용자는 전자 장치(210)의 디스플레이(213)에 표시된, 예를 들어, 추천 버튼과 같은 그래픽 요소를 선택함으로써 제1 개수의 아이템의 목록 및 제1 점수를 요청할 수 있다. 다른 예시에서, 사용자가 특정 웹 페이지 또는 어플리케이션 상태, 예를 들어, 비디오 스트리밍 사이트의 메인 페이지에 접속하는 경우, 전자 장치(210)의 프로세서(212)는 사용자의 명시적인 요청 없이도 제1 외부 전자 장치(220)에 쿼리를 송신할 수 있다.
다양한 실시예에 따라서, 쿼리는 제1 개수의 아이템의 목록 및 제1 점수에 대한 요청을 포함할 수 있다. 다른 예시에서, 쿼리는 추천 아이템의 제1 개수의 아이템의 목록 및 제1 점수에 대한 요청 및 추천을 원하는 아이템의 종류에 관한 정보를 포함할 수 있다. 예를 들어, 쿼리에는 사용자가 책에 관한 아이템 목록을 원한다는 정보가 포함될 수 있다. 또한, 다양한 실시예에 따라서, 쿼리에는 사용자가 입력한 키워드가 포함될 수 있다.
320 동작에서, 프로세서(212)는 제1 개수의 아이템의 목록 및 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 제1 개수의 아이템 중 각 아이템 간의 제1 관련도 및 제1 특성 집합의 각 원소와 사용자 간의 제2 관련도를 확인할 수 있다. 다양한 실시예에 따라서, 제1 특성 집합은 미리 정의된 아이템의 특성에 관한 집합일 수 있다. 예를 들어, 제1 개수의 아이템이 영화인 경우, 제1 특성 집합은 장르일 수 있고, 제1 특성 집합의 원소는 로맨스, 호러, 액션, 및 공상과학을 포함할 수 있으며, 제한은 없다. 이 예시에서, 미리 정의된 제1 특성 집합의 각 원소와 제1 개수의 아이템 중 각 아이템 간의 제1 관련도는 각 아이템이 각 장르에 속할 확률을 나타낼 수 있으며, 제1 특성 집합의 각 원소와 사용자 간의 제2 관련도는 사용자가 영화의 각 장르를 선호할 확률을 나타낼 수 있다.
330 동작에서, 프로세서(212)는 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인할 수 있다. 다양한 실시예에 따라서, 제1 목록은 제1 개수의 아이템 중 제1 점수가 가장 높은 제2 개수의 아이템의 목록일 수 있으며, 제2 개수는 제1 개수보다 작을 수 있다. 다양한 실시예에 따라서, 제1 목록은 제공되기 위한 아이템의 목록일 수 있다.
340 동작에서, 프로세서(212)는 확인된 제1 관련도 및 제2 관련도에 기초하여, 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 적어도 하나의 제1 아이템 간의 제3 관련도 및 적어도 하나의 제1 특성과 사용자 간의 제4 관련도를 확인할 수 있다. 다양한 실시예에 따라서, 적어도 하나의 제1 아이템은 제1 목록의 아이템 중 추천 이유에 대한 설명을 제공하기 위한 아이템일 수 있다. 다양한 실시예에 따라서, 적어도 하나의 제1 아이템은 제1 목록의 아이템 전체이거나, 제1 목록의 아이템 중 일부의 아이템일 수 있다.
다양한 실시예에 따라서, 제1 특성 집합의 원소들에 대한 지정된 조건은 제1 특성 집합의 원소들 중 추천 이유로서 제공할 특성 집합의 원소를 확인하기 위한 조건일 수 있다. 예를 들어, 제1 특성 집합의 원소들 중 제1 관련도 및 제2 관련도의 곱이 가장 높은, 미리 결정된 개수의 원소가 제1 특성으로서 확인될 수 있다.
350 동작에서, 프로세서(212)는 제3 관련도 및 제4 관련도를, 제1 목록과 함께 출력할 수 있다. 다양한 실시예에 따라서, 전자 장치가 도 2a를 참조하여 상술한 바와 같은 전자 장치(210)인 경우, 프로세서(212)는 제3 관련도 및 제4 관련도를, 제1 목록과 함께 디스플레이(213) 상에 표시함으로써 출력할 수 있다. 다양한 실시예에 따라서, 전자 장치가 도 2b를 참조하여 상술한 바와 같은 서버(230)인 경우, 서버(230)의 프로세서(232)는 통신 모듈(231)을 통하여 제3 관련도 및 제4 관련도를, 제1 목록과 함께 제2 외부 전자 장치(250)에 송신함으로써 출력할 수 있다.
다양한 실시예에 따라서, 제1 목록, 제3 관련도, 및 제4 관련도는 도 5를 참조하여 후술할 바와 같이 도시적으로 표시될 수 있다. 또는, 대안적으로, 제1 목록, 제3 관련도, 및 제4 관련도는 텍스트 형태로 표시될 수 있다. 예를 들어, "'스타 워즈'는 공상 과학을 좋아하는 사람과 90%의 확률로 관련되고, 우리는 당신이 공상 과학을 좋아한다고 80%의 확률로 확신하기 때문에 추천되었습니다"와 같은 텍스트가 사용자에게 표시될 수 있다. 이 문장에서, 제1 목록의 아이템 중 '스타 워즈'에 대하여 설명이 제공되었으며, 제3 관련도는 90%, 제4 관련도는 80%, 제1 특성은 공상 과학이다.
도 4는 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도(400)를 도시한다. 구체적으로, 도 4는 도 3의 320을 참조하여 설명된, 미리 정의된 제1 특성 집합의 각 원소와 제1 개수의 아이템 중 각 아이템 간의 제1 관련도 및 제1 특성 집합의 각 원소와 사용자 간의 제2 관련도를 확인하는 동작을 수행하기 위한 세부적인 동작들을 도시한다. 이하 설명의 편의를 위하여 도 4의 각 동작들이 전자 장치(101)에 의하여 수행되는 예시에 대하여 설명하였으나, 도 4의 각 동작들은 도 2b를 참조하여 상술한 서버(230)에 의하여 수행될 수도 있다.
410 동작에서, 전자 장치(예를 들어, 전자 장치(101))의 프로세서(예를 들어, 프로세서(120))는 제1 외부 전자 장치에 의하여 확인된 제1 개수의 아이템의 목록들의 이력 및 이력에 포함되는 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 제1 점수에 기초하여, 제1 점수를 입력으로 하고 제2 점수를 출력으로 하는 제1 모델을 확인할 수 있다. 제1 개수의 아이템의 목록들의 이력 및 이력에 포함되는 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 제1 점수는 런타임 이전의 사용자의 요청에 기초하여 제1 외부 전자 장치에 의하여 과거에 생성된 데이터일 수 있다.
다양한 실시예에 따라서, 제1 모델은 제1 점수에 대한 단조증가하는 함수일 수 있다. 제1 모델이 제1 점수에 대하여 단조증가하는 함수인 경우, 제1 개수의 아이템에 대한 제2 점수의 순서는 제1 개수에 아이템에 대한 제1 점수의 순서와 동일하다. 예시적으로, 사용자가 u일 때, 아이템 i에 대한 제1 점수를
Figure pat00001
라고 표시할 수 있고, 제1 모델은 제1 점수
Figure pat00002
와 다음과 같은 관계를 가질 수 있다.
Figure pat00003
이 경우, 프로세서(120)는 제1 개수의 아이템의 목록들의 이력 및 이력에 포함되는 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 제1 점수에 기초하여, b0 및 b1의 값을 확인함으로써 제1 모델을 확인할 수 있다.
420 동작에서, 전자 장치(101) 의 프로세서(120)는 410 동작에서 확인된 제1 모델에 기초하여, 제1 개수의 아이템 중 각 아이템의 제2 점수를 확인할 수 있다. 420 동작에서 제1 개수의 아이템은 도 3의 310 동작을 참조하여 설명된, 런타임에서의 사용자의 요청에 기초하여 제1 외부 전자 장치(예를 들어, 제1 외부 전자 장치(220))에 의하여 생성된 제1 개수의 아이템일 수 있다. 전자 장치(101) 의 프로세서(120)는 제1 개수의 아이템 중 각 아이템의 제1 점수를 제1 모델에 입력하고, 출력되는 제2 점수를 확인할 수 있다.
430 동작에서, 전자 장치(101) 의 프로세서(120)는 제1 개수의 아이템 중 각 아이템의 제2 점수에 대하여, 제1 관련도 및 제2 관련도를 확인할 수 있다. 다양한 실시예에 따라서, 제1 관련도 및 제2 관련도에 관한 세부 사항은 도 3의 320 동작을 참조하여 상술한 바와 동일하므로, 여기에서 중복하여 설명하지 않는다.
다양한 실시예에 따라서, 제1 관련도 및 제2 관련도는, 미리 정의된 제1 특성 집합의 각 원소에 대한 제1 관련도 및 제2 관련도의 곱을 더한 값이 제1 모델 g(s(i|u))의 출력값인 제2 점수와 동일한 값일 수 있다. 즉, 제1 개수의 아이템 중 각 아이템의 제2 점수와 제1 관련도 및 제2 관련도 사이에는 다음과 같은 관계가 성립할 수 있다.
Figure pat00004
수학식 2에서, g(s)는 각 아이템의 제2 점수, F1은 제1 특성 집합,
Figure pat00005
는 제1 특성 집합의 원소,
Figure pat00006
는 제1 관련도,
Figure pat00007
는 제2 관련도이다.
이하, 431 동작 내지 433 동작은 전자 장치(101) 의 프로세서(120)에서 제1 관련도 및 제2 관련도를 확인하는 동작의 세부 동작이다.
431 동작에서, 전자 장치(101) 의 프로세서(120)는 제1 관련도 또는 제2 관련도 중 적어도 하나의 초기값을 설정할 수 있다. 다양한 실시예에 따라서, 아이템 i가 사용자 u에 연관될 확률
Figure pat00008
에 관하여 다음과 같은 모델을 사용할 수 있다.
Figure pat00009
수학식 3에서,
Figure pat00010
는 0 이상 1이하의 값으로서, 아이템 특성 모델
Figure pat00011
이 아이템 i의 사용자 u에 대한 연관성을 설명할 수 있을 확률을 의미한다. 또한,
Figure pat00012
Figure pat00013
를 의미한다. 수학식 3으로부터, 다음을 도출할 수 있다.
Figure pat00014
따라서, 다음이 만족되어야 한다.
Figure pat00015
여기서,
Figure pat00016
는 아이템 i가 사용자 u에 연관되었을 때, 특성
Figure pat00017
가 사용자의 의도일 확률을 의미한다. 잠시
Figure pat00018
의 값을 안다고 가정하고, 표기상의 편의를 위하여
Figure pat00019
로 표시한다.
Figure pat00020
의 값을 특정하는 방법에 대해서는 후술한다.
Figure pat00021
이고,
Figure pat00022
라고 가정할 수 있다. 그 후,
Figure pat00023
인 경우와
Figure pat00024
인 경우로 나누어
Figure pat00025
Figure pat00026
의 초기값이 특정될 수 있다.
첫째,
Figure pat00027
인 경우,
Figure pat00028
,
Figure pat00029
으로 두면,
Figure pat00030
이다. 둘째,
Figure pat00031
인 경우,
Figure pat00032
,
Figure pat00033
로 두면,
Figure pat00034
이다. 두 경우 모두에 대해서 다음 관계가 성립하는 것을 확인할 수 있다.
Figure pat00035
한편,
Figure pat00036
의 값을 특정하기 위하여, 상술한 아이템 특성 모델과 상이한 특성 모델을 이용할 수 있다. 상이한 특성 모델이 주어진 경우,
Figure pat00037
의 값을 다음과 같이 확인할 수 있다.
Figure pat00038
수학식 7에서 아래첨자 c는 상술한 아이템 특성 모델과 상이한 특성 모델을 이용하여 계산된 확률이라는 점을 나타내기 위한 것이다.
다양한 실시예에 따라서, Vargas와 Castells의 특성 모델이
Figure pat00039
의 값을 특정하는 데 이용될 수 있다. Vargas와 Castells의 특성 모델에 따르면, 다음과 같이
Figure pat00040
를 구할 수 있다.
Figure pat00041
수학식 8에서
Figure pat00042
는 특징
Figure pat00043
를 갖는 아이템을 선택하려는 의도에 해당한다. 수학식 8에서
Figure pat00044
는 사용자 u의 아이템 선택 이력에서 각 특징이 선택된 빈도를 산정함으로써 특정되는 것으로 풀이될 수 있다. 또한, Vargas와 Castells의 특성 모델에서,
Figure pat00045
는 다음과 같이 확인될 수 있다.
Figure pat00046
수학식 9에서,
Figure pat00047
Figure pat00048
Figure pat00049
에 대하여 1이고,
Figure pat00050
Figure pat00051
에 대하여 0인 함수이다.
다양한 실시예에 따라서, 확장된 c-PLSA 모델에 의하여
Figure pat00052
의 값을 특정할 수 있다. Hoffman의 PLSA 모델이 잠재적인(latent) 카테고리를 사용하는 반면, c-PLSA 모델은 명시적인(explicit) 카테고리
Figure pat00053
를 사용하여,
Figure pat00054
일 때만
Figure pat00055
인 제한 하에서 확률을 분석한다. 확장된 c-PLSA 모델은 c-PLSA 모델이 결과의 다양성이 떨어진다는 점을 보완하기 위한 것이다. 다양성이 떨어진다는 것은, 예를 들어, 아이템의 특성이 영화 장르인 경우, 하나의 아이템에 연관된 것으로 확인되는 장르의 수가 적다는 것을 의미한다.
다양한 실시예에 따라서, 각 특성 벡터 f
Figure pat00056
,
Figure pat00057
로 정의하고, 특성 벡터 ff' 간의 코사인 유사도를 다음과 같이 계산할 수 있다.
Figure pat00058
각 특성 f에 대하여 가장 유사한
Figure pat00059
개의 특성을 f의 이웃
Figure pat00060
로 정의하면, 다음과 같이 각 아이템에 연관된 특성들을 이웃의 집합으로 확장할 수 있다.
Figure pat00061
Figure pat00062
가 m에 접근함에 따라,
Figure pat00063
Figure pat00064
에 유사해지고, 확장된 c-PLSA는
Figure pat00065
인 PLSA와 동일해진다. 다양한 실시예에 따라서, 확장된 c-PLSA를 이용하여 계산된
Figure pat00066
의 값에 기초하여, 제1 관련도 또는 제2 관련도 중 적어도 하나의 초기값을 특정할 수 있다.
432 동작에서, 전자 장치(101) 의 프로세서(120)는 제1 관련도 및 제2 관련도 중 하나를 고정하고 제1 관련도 및 제2 관련도 중 다른 하나의 값을 확인할 수 있다. 다양한 실시예에 따라서, 431 동작에서 제1 관련도 및 제2 관련도 중 하나에 대한 초기값이 설정된 경우, 432 동작에서, 전자 장치(101) 의 프로세서(120)는 제1 관련도 및 제2 관련도 중 초기값이 설정된 하나를 고정하고, 다른 하나의 값을 확인할 수 있다. 다양한 실시예에 따라서, 431 동작에서 제1 관련도 및 제2 관련도 둘 다에 대한 초기값이 설정된 경우, 432 동작에서, 전자 장치(101) 의 프로세서(120)는 제1 관련도 및 제2 관련도 중 임의의 하나를 고정하고, 다른 하나의 값을 확인할 수 있다.
다양한 실시예에 따라서, 후술할 433 동작의 조건이 만족되지 않아 432 동작을 수행하는 경우, 전자 장치(101) 의 프로세서(120)는 제1 관련도 및 제2 관련도 중 전회의 432 동작에서 고정시킨 변수와 상이한 변수를 고정시킬 수 있다. 예를 들어, 최초의 432 동작에서 전자 장치(101) 의 프로세서(120)가 제1 관련도를 고정하고, 제2 관련도의 값을 확인하였고, 그에 후속하는 433 동작에서 조건이 만족되지 않아 두 번째로 432 동작을 수행하는 경우, 프로세서(120)는 최초의 432 동작에서와 반대로, 제2 관련도를 고정하고, 제1 관련도의 값을 확인할 수 있다.
다양한 실시예에 따라서, 제2 점수를
Figure pat00067
, 제1 관련도를
Figure pat00068
, 제2 관련도를
Figure pat00069
, 제1 관련도 및 제2 관련도 값으로부터 계산한
Figure pat00070
Figure pat00071
로 표시할 수 있다. 이 경우, 예를 들어, 전자 장치(101) 의 프로세서(120)가 제1 관련도
Figure pat00072
를 고정하고 제2 관련도
Figure pat00073
의 값을 확인하는 경우, 프로세서(120)는
Figure pat00074
를 최소화하면서, 제1 개수의 아이템에 대한
Figure pat00075
값의 순서와
Figure pat00076
값, 즉, 제2 점수의 순서가 동일하게 하는 제2 관련도
Figure pat00077
를 확인할 수 있다.
433 동작에서, 전자 장치(101) 의 프로세서(120)는 제1 관련도 또는 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준 이하인지 여부를 확인할 수 있다. 제1 관련도 또는 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준보다 큰 경우, 전자 장치(101) 의 프로세서(120)는 432 동작 및 433 동작을 더 반복할 수 있다. 또는, 제1 관련도 또는 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준 이하인 경우, 전자 장치(101) 의 프로세서(120)는 432 동작 및 433 동작을 더 수행하지 않고, 440 동작에서, 최신의 제1 관련도 및 제2 관련도 값을 최종적인 제1 관련도 및 제2 관련도 값으로서 확인할 수 있다.
다양한 실시예에 따라서, 제1 관련도 또는 제2 관련도 중 적어도 하나의 변화란, 가장 최근의 432 동작으로 확인된 제1 관련도 또는 제2 관련도 중 적어도 하나의 값과, 제1 관련도 또는 제2 관련도 중 적어도 하나의 가장 최근의 432 동작으로 인하여 변경되기 직전의 값의 차이일 수 있다.
제1 관련도 또는 제2 관련도 중 적어도 하나의 변화가 특정되기 위해서는 판단 기준이 되는 제1 관련도 또는 제2 관련도 중 적어도 하나가 적어도 두 번 계산되었을 것이 요구된다. 433 동작과 432 동작의 반복이 충분히 이루어지지 않아 판단 기준이 되는 제1 관련도 또는 제2 관련도 중 적어도 하나가 두 번 이하로 계산된 경우, 433 동작에서 전자 장치(101) 의 프로세서(120)는 조건이 만족되지 않는 것으로 판단하고, 432 동작을 수행할 수 있다.
도 5는 다양한 실시예에 따른 전자 장치가 표시하는 화면(500)을 도시한다. 다양한 실시예에 따라, 화면(500)은 도 2a를 참조하여 상술한 전자 장치(210)의 디스플레이(213) 상에 표시될 수 있다. 다양한 실시예에 따라, 화면(500)은 도 2b를 참조하여 상술한 제2 외부 전자 장치(250)에 포함된 디스플레이 상에 표시될 수 있다.
화면(500)에는 사용자-특성 관련도(510), 추천 아이템(520), 아이템-특성 관련도(530)가 표시될 수 있다. 다양한 실시예에 따라서, 340 동작을 참조하여 상술한 제4 관련도가 슬라이드 바 형식으로 사용자-특성 관련도(510)로서 화면(500) 내에 표시될 수 있다. 다양한 실시예에 따라서, 도 3의 330 동작을 참조하여 상술한 제1 목록에 포함되는 하나 이상의 아이템이 추천 아이템(520)으로서 화면(500) 내에 표시될 수 있다. 다양한 실시예에 따라서, 340 동작을 참조하여 상술한 제2 관련도가 슬라이드 바 형식으로 아이템-특성 관련도(530)로서 화면(500) 내에 표시될 수 있다.
비록 도 5에서는 제3 관련도 및 제4 관련도가 슬라이드 바 형식으로 표시되는 예시가 도시되었으나, 제1 목록에 포함되는 아이템, 제3 관련도, 및 제4 관련도를 표시하는 방식은 도 5에 도시된 예시로 한정되지 않는다. 다양한 실시예에 따라서, 제3 관련도 또는 제4 관련도 중 적어도 하나는 숫자 텍스트 형식으로 표시될 수 있다. 다양한 실시예에 따라서, 제3 관련도 또는 제4 관련도 중 적어도 하나는 색을 달리하는 텍스트 또는 그래픽 요소로서 표시될 수 있다. 예를 들어, 제3 관련도 또는 제4 관련도 중 적어도 하나를 두 개 이상의 구간으로 나누어, 관련도가 높은 구간에 포함되는 경우 빨간색, 관련도가 낮은 구간에 포함되는 경우 파란색의 텍스트 또는 그래픽 요소가 표시될 수 있다.
도 6은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도(600)를 도시한다. 다양한 실시예에 따라서, 도 3 및 도 4에 대하여 상술한 바와 같이, 도 6에 도시된 동작은 도 2a를 참조하여 설명된 전자 장치(210)의 프로세서(212)에 의하여 수행되거나, 도 2b를 참조하여 설명된 서버(230)의 프로세서(232)에 의하여 수행될 수 있다.
610 동작에서, 프로세서(예를 들어, 프로세서(120))는 제4 관련도 중 적어도 일부를 변경하기 위한 사용자의 입력을 확인할 수 있다. 다양한 실시예에 따라서, 제4 관련도는 도 3의 340 동작을 참조하여 설명한 제4 관련도일 수 있다. 다양한 실시예에 따라서, 610 동작이 도 2a를 참조하여 설명된 전자 장치(210)의 프로세서(212)에 의하여 수행되는 경우, 사용자의 입력은 전자 장치(210)의 입력 장치(214)를 통하여 입력될 수 있다. 다양한 실시예에 따라서, 610 동작이 도 2b를 참조하여 설명된 서버(230)의 프로세서(232)에 의하여 수행되는 경우, 사용자의 입력은 제2 외부 전자 장치(250)에 포함된 입력 장치를 통하여 입력될 수 있고, 서버(230)의 프로세서(232)는 통신 모듈(231)을 통하여 제2 외부 전자 장치(250)로부터 사용자의 입력에 관한 정보를 수신함으로써 사용자의 입력을 확인할 수 있다.
다양한 실시예에 따라서, 사용자는 사용자 입력을 통하여 제4 관련도 중 적어도 일부를 정량적으로 변경할 수 있다. 예를 들어, 사용자는 도 5의 화면(500)에서, 사용자-특성 관련도(510)로서 표시된 슬라이드 바 중 적어도 하나에서 표시자를 이동시킴으로써 제4 관련도 중 적어도 일부를 정량적으로 변경할 수 있다. 다른 예시로서, 제4 관련도가 숫자 텍스트 형태로 표시되는 경우에, 사용자는 제4 관련도 중 적어도 일부에 대하여 원하는 값을 입력함으로써 제4 관련도 중 적어도 일부를 정량적으로 변경할 수 있다.
다양한 실시예에 따라서, 사용자 입력은 제4 관련도 중 적어도 일부의 정성적인 변화를 나타낼 수 있다. 예를 들어, 사용자는 화면에 표시된, 제4 관련도를 상향 또는 하향 조정하기 위한 버튼을 선택함으로써 특정 특성에 대응하는 관련도 값을 상향 또는 하향 조정할 수 있다. 예를 들어, 화면에 표시되는 버튼은 "액션 장르에 관심 없음" 버튼일 수 있다.
620 동작에서, 프로세서(120)는 확인된 사용자 입력에 기초하여, 제4 관련도 중 적어도 일부의 변경된 값을 확인할 수 있다. 다양한 실시예에 따라서, 사용자 입력이 제4 관련도 중 적어도 일부를 정량적으로 변경하는 입력인 경우, 프로세서(120)는 제4 관련도 중 적어도 일부의, 사용자 입력에 의하여 특정된 값을 변경된 값으로서 확인할 수 있다. 다양한 실시예에 따라서, 사용자 입력이 제4 관련도 중 적어도 일부의 정성적인 변화를 나타내는 경우, 프로세서(120)는 미리 설정된 규칙에 기초하여 제4 관련도 중 적어도 일부의 변경된 값을 확인할 수 있다. 예를 들어, 프로세서(120)는 화면에 표시된 제4 관련도를 상향 또는 하향 조정하기 위한 버튼이 선택되는 것에 대응하여, 선택된 버튼에 대응하는 제4 관련도를 10%p만큼 상향 또는 하향 조정할 수 있다. 다른 예시에서, 프로세서(120)는 특정한 특성에 대하여 "관심 없음" 버튼이 선택되는 경우, 해당 특성에 대응하는 제4 관련도를 미리 설정된 값, 예를 들어, 0으로 설정할 수 있다.
630 동작에서, 프로세서(120)는 변경된 제4 관련도에 기초하여 업데이트된 제1 목록인 제2 목록을 확인할 수 있다. 다양한 실시예에 따라서, 프로세서(120)는 변경된 제4 관련도를 수학식 2의
Figure pat00078
에 대입하여, 변경된 제2 점수를 확인할 수 있고, 변경된 제2 점수가 가장 높은 제2 개수의 아이템의 목록을 제2 목록으로서 확인할 수 있다. 다양한 실시예에 따라서, 프로세서(120)는 제2 점수의 변경 없이, 변경된 제4 관련도를 상수로 취급하면서 도 4의 430 내지 440, 도 3의 320 내지 330 동작을 다시 수행할 수 있다.
640 동작에서, 프로세서(120)는 제2 목록을 출력할 수 있다. 다양한 실시예에 따라서, 프로세서(120)는 제2 목록의 아이템에 대하여 도 3의 340 동작을 수행함으로써 업데이트된 제3 관련도 및 제4 관련도를 확인하고, 업데이트된 제3 관련도 및 제4 관련도를 제2 목록과 함께 출력할 수 있다. 다양한 실시예에 따라서, 제1 목록의 출력에 관하여 도 3의 350 동작을 참조하여 상술한 세부 사항이, 640 동작에도 동일하게 적용될 수 있다.
도 7a는 다양한 실시예에 따른, 특성 집합이 1개인 경우의 아이템, 특성 집합, 및 사용자 간의 관계를 설명하기 위한 블록도(700a)를 도시한다. 블록도(700a)에서, 제1 특성 집합(720a)의 원소인 특성 1(721a), 특성 2(722a), 특성 3(723a),..., 특성 n(724a)은 각각 아이템 1(710a)과 제1 관련도에 의하여 관련될 수 있다. 또한, 특성 1(721a), 특성 2(722a), 특성 3(723a),..., 특성 n(724a)은 각각 사용자(730a)와 제2 관련도에 의하여 관련될 수 있다. 비록 도 7a에서 도시상의 편의를 위하여 하나의 아이템 1(710a)만이 도시되었으나, 제1 개수의 아이템의 목록에 포함된 모든 아이템들이 아이템 1(710a)과 마찬가지로 제1 특성 집합(720a)의 원소들과 각각 제1 관련도에 의하여 관련될 수 있다.
도 7b는 다양한 실시예에 따른, 특성 집합이 2개인 경우의 아이템, 특성 집합, 및 사용자 간의 관계를 설명하기 위한 블록도를 도시한다. 블록도(700b)에서, 제1 특성 집합(720b)의 원소인 특성 1-1(721b), 특성 1-2(722b)는 각각 아이템 1(710b)과 제1 관련도에 의하여 관련될 수 있다. 또한, 제1 특성 집합(720b)의 원소인 특성 1-1(721b), 특성 1-2(722b)는 제2 특성 집합(730b)의 원소인 특성 2-1(731b), 특성 2-2(732b)와 각각 제2 관련도에 의하여 관련될 수 있다. 또한, 제2 특성 집합(730b)의 원소인 특성 2-1(731b), 특성 2-2(732b)는 각각 사용자(740b)와 제3 관련도에 의하여 관련될 수 있다.
비록 도 7b에서 도시상의 편의를 위하여 하나의 아이템 1(710a)만이 도시되었으나, 제1 개수의 아이템의 목록에 포함된 모든 아이템들이 아이템 1(710b)과 마찬가지로 제1 특성 집합(720b)의 원소들과 각각 제1 관련도에 의하여 관련될 수 있다. 또한, 비록 도 7b에서 도시상의 편의를 위하여 제1 특성 집합(720b) 및 제2 특성 집합(730b)의 원소가 2개인 것으로 도시되었으나, 제1 특성 집합(720b) 및 제2 특성 집합(730b)은 2개보다 많은 임의의 개수의 원소를 가질 수 있다.
다양한 실시예에 따라서, 특성 집합은 2개보다 더 많을 수 있다.
도 8은 다양한 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도(800)를 도시한다. 도 8에 도시된 동작들은 특성 집합이 2개 이상이라는 점을 제외하면 도 3에 도시된 동작들과 동일하므로, 도 3에 도시된 동작들과 공통되는 부분에 대해서는 여기에서 중복 설명하지 않는다.
810 동작에서, 프로세서(예를 들어, 프로세서(120))는 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신할 수 있다. 도 3의 310 동작에 관한 세부 사항들이 810 동작에 동일 또는 유사하게 적용될 수 있다.
820 동작에서, 프로세서(120)는 제1 개수의 아이템의 목록 및 제1 점수에 적어도 기초하여, 미리 정의된 복수의 특성 집합 중 제1 특성 집합의 각 원소와 제1 개수의 아이템 중 각 아이템 간의 제1 관련도, 복수의 특성 집합 중 두 특성 집합의 각 원소 간의 제2 관련도, 및 복수의 특성 집합 중 제2 특성 집합의 각 원소와 사용자 간의 제3 관련도를 확인할 수 있다. 도 3의 320 동작 및 도 4의 동작들에 관한 세부 사항들이 820 동작에 동일 또는 유사하게 적용될 수 있다.
그러나, 도 4의 430 동작과 비교하여, 820 동작에서는 제2 점수와 제1 관련도, 제2 관련도, 및 제3 관련도의 관계가 다음과 같이 표시된다는 점에서 차이가 있다.
Figure pat00079
수학식 12는 특성 집합이
Figure pat00080
,
Figure pat00081
, 및
Figure pat00082
로 3개인 예시적인 경우에서 제2 점수와 제1 관련도, 제2 관련도, 및 제3 관련도의 관계를 나타낸 것이다. 수학식 12에서,
Figure pat00083
는 제1 관련도,
Figure pat00084
Figure pat00085
는 제2 관련도,
Figure pat00086
는 제3 관련도를 각각 나타낸다.
또한, 도 4의 432 동작은 820 동작에서는 제1 관련도, 제2 관련도, 및 제3 관련도 중 하나의 확률을 제외한 나머지를 고정하고 하나의 확률의 값을 확인하는 동작으로 확장된다. 예를 들어, 프로세서(120)는 수학식 12가 적용되는 예시에서,
Figure pat00087
,
Figure pat00088
,
Figure pat00089
, 및
Figure pat00090
중 세 확률을 고정하고,
Figure pat00091
를 최소화하면서, 제1 개수의 아이템에 대한
Figure pat00092
값의 순서와
Figure pat00093
값, 즉, 제2 점수의 순서가 동일하게 하는 나머지 하나의 확률의 값을 확인할 수 있다.
또한, 도 4의 433 동작은 820 동작에서는 제1 관련도, 제2 관련도, 및 제3 관련도 중 적어도 하나의 확률의 변화가 미리 결정된 수준 이하인지 여부를 확인하는 동작으로 확장된다. 또한, 도 4의 440 동작은 820 동작에서는 최신의 제1 관련도, 제2 관련도, 및 제3 관련도 값을 최종적인 제1 관련도, 제2 관련도, 및 제3 관련도 값으로 확인하는 동작으로 확장된다.
830 동작에서, 프로세서(120)는 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인할 수 있다. 도 3의 330 동작에 관한 세부 사항들이 830 동작에 동일 또는 유사하게 적용될 수 있다.
840 동작에서, 프로세서(120)는 제1 관련도, 제2 관련도, 및 제3 관련도에 기초하여, 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 적어도 하나의 제1 아이템 간의 제4 관련도, 각각 복수의 특성 집합 중 두 특성 집합의 원소 중 지정된 조건을 만족하는 복수의 제2 특성 간의 제5 관련도, 및 제2 특성 집합의 원소 중 지정된 조건을 만족하는 제3 특성과 사용자 간의 제6 관련도를 확인할 수 있다. 도 3의 340 동작에 관한 세부 사항들이 840 동작에 동일 또는 유사하게 적용될 수 있다.
850 동작에서, 프로세서(120)는 제4 관련도, 제5 관련도, 및 제6 관련도를, 제1 목록과 함께 출력할 수 있다. 도 3의 350 동작에 관한 세부 사항들이 850 동작에 동일 또는 유사하게 적용될 수 있다.
수학식 1로 나타나는 제1 모델의 동작 결과를 검증하기 위하여, Movielens 1M 데이터세트를 사용하고, 제1 외부 전자 장치의 추천 시스템에 대응하는 추천 알고리즘으로는 다음과 같은 알고리즘을 사용하였다.
ub 사용자 베이스 kNN 추천 알고리즘이다. ub는 사용자 u와 가장 유사한 k>0명의 이웃 공동체 Nu를 조직한 후, 이웃 공동체에 의하여 평가된 각 아이템에 대하여 다음과 같이 점수를 산정한다.
Figure pat00094
ib 아이템 베이스 kNN 추천 알고리즘이다. ib는 사용자 u의 프로파일 내 각 아이템에 가장 유사한 k>0 개의 이웃 공동체 Ni를 조직한 후, 이웃 공동체 전체에 대하여 다음과 같이 점수를 산정한다.
Figure pat00095
hkv Hu Yifan, Yehuda Koren, Chris Volinsky에 의하여 제안된시묵시적 매트릭스 인수분해 알고리즘이다. hkv는 특성 공간
Figure pat00096
의 차원이 주어졌을 때, 상호작용 매트릭스를
Figure pat00097
사용자 매트릭스
Figure pat00098
Figure pat00099
아이템 매트릭스
Figure pat00100
로 인수분해한다. 인수분해된 사용자 매트릭스 및 아이템 매트릭스는 다음 관계를 만족한다.
Figure pat00101
plsa Hoffman의 PLSA 알고리즘
제1 모델의 동작 결과를 검증하기 위하여, Vargas와 Castells의 특성 모델에 따른 수학식 8 및 수학식 9를 수학식 2에 대입하여 예측되는
Figure pat00102
를 수학식 1의 제1 모델
Figure pat00103
와 비교하였다. 비교 기준인, 상위 N개 리스트의 예측되는 정확도는 상위 N개 아이템 세트 내의 아이템이 테스트 세트 내의 관련 아이템 내에 있을 확률을 사용자당 테스트 세트 아이템의 비율로 곱한 값이다.
Figure pat00104
수학식 13에서 p(s)는 점수 s를 갖는 아이템이 테스트 세트 Te내에 포함될 확률이다.
또한, 테스트 세트 데이터에 대하여, 예측되는 점수로서
Figure pat00105
를 사용하고, 클래스 레이블로
Figure pat00106
를 사용하여 ROC 분석을 실시하였다. 비교 결과는 다음 표 2와 같다.
aspect_v g(s(i|u))
알고리즘 prec@20 E[prec@20] AUC E[prec@20] AUC
ub 0.122 0.019 0.702 0.100 0.769
ib 0.112 0.013 0.013 0.094 0.696
hkv 0.137 0.021 0.021 0.112 0.775
plsa 0.125 0.017 0.017 0.103 0.729
표 2에서 aspect_v는 Vargas와 Castells의 특성 모델을 의미한다. Vargas와 Castells의 특성 모델에 비하여, 수학식 1의 제1 모델은 모든 추천 알고리즘에 대하여 E[prec@20]과 AUC 값이 더 높다는 것을 알 수 있다.
도 9a 및 9b는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 그래프를 도시한다. 구체적으로, 도 9a 및 9b는 확장된 c-PLSA의 작동 결과를 설명하기 위한 그래프이다.
도 9a에서, 431 동작을 참조하여 상술한 확장된 c-PLSA, 확장된 c-PLSA와 상이한 PLSA, PLSA의 상이한
Figure pat00107
값에 대한 N=20일 때의 정확도가 각각 C-PLSA, R-PLSA, 및 PLSA로 표시되어 있다.
도 9b는, 431 동작을 참조하여 상술한 확장된 c-PLSA에서
Figure pat00108
가 1일 때와 3일 때에 각 장르를 포함하는 아이템의 비율을 나타내는 막대그래프이다. 도 9b로부터, 확장된 장르를 사용하였을 때에 다양성이 높아졌음을 확인할 수 있다.
도 10a 내지 10d는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 히스토그램을 도시한다. 구체적으로, 도 10a 내지 10d는 도 4의 431 동작의 초기값 설정에서, Vargas와 Castells의 특성 모델을
Figure pat00109
의 값을 특정하는 데 이용한 경우의 작동 결과를 설명하기 위한 그래프이다. 도 10a, 10b, 10c, 10d는 각각 제1 외부 전자 장치(220)에 대응하는 추천 알고리즘이 ub, ib, hkv, plsa일 때의
Figure pat00110
값의 히스토그램을 도시한다.
도 11a 내지 11d는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 히스토그램을 도시한다. 구체적으로, 도 10a 내지 10d는 도 4의 431 동작의 초기값 설정에서,
Figure pat00111
가 3인 확장된 c-PLSA를
Figure pat00112
의 값을 특정하는 데 이용한 경우의 작동 결과를 설명하기 위한 그래프이다. 도 11a, 11b, 11c, 11d는 각각 제1 외부 전자 장치(220)에 대응하는 추천 알고리즘이 ub, ib, hkv, plsa일 때의
Figure pat00113
값의 히스토그램을 도시한다.
도 12a 내지 12d는 다양한 실시예에 따른 전자 장치의 동작 결과를 설명하기 위한 그래프를 도시한다. 구체적으로, 12a, 12b, 12c, 12d는 각각 제1 외부 전자 장치(220)에 대응하는 추천 알고리즘이 ub, ib, hkv, plsa일 때, 도 4의 431 동작의 초기값 설정에서
Figure pat00114
의 값을 특정하는 데 Vargas와 Castells의 특성 모델을 이용한 경우와
Figure pat00115
가 3인 확장된 c-PLSA를 이용한 경우의 발산을 플롯한 그래프이다. Kullback-Liebler 발산은 다음 식으로 표현된다.
Figure pat00116
도 12a 내지 12d에서, x축의 aspect_fc는 도 4의 431 동작의 초기값 설정에서
Figure pat00117
의 값을 특정하는 데
Figure pat00118
가 3인 확장된 c-PLSA를 이용함으로써 확인된 제2 관련도 값과,
Figure pat00119
가 3인 확장된 c-PLSA 모델에서 확인된 제2 관련도 값 사이의 발산이다. 또한, 도 12a 내지 12d에서, y축의 aspect_fv는 도 4의 431 동작의 초기값 설정에서
Figure pat00120
의 값을 특정하는 데 Vargas와 Castells의 특성 모델을 이용함으로써 확인된 제2 관련도 값과,
Figure pat00121
가 3인 확장된 c-PLSA 모델에서 확인된 제2 관련도 값 사이의 발산이다.
도 12a 내지 12d에서, 대부분의 점이 x=y 그래프 위쪽에 위치한다는 사실로부터, 도 4의 431 동작의 초기값 설정에서
Figure pat00122
의 값을 특정하는 데
Figure pat00123
가 3인 확장된 c-PLSA를 이용하는 것이 다른 모델을 이용하는 경우보다
Figure pat00124
가 3인 확장된 c-PLSA 모델과 제2 관련도 값의 결과가 유사하다는 것을 알 수 있다.
다양한 실시예에 따라서, 전자 장치(210, 230)는, 통신 모듈(211, 231); 및 적어도 하나의 프로세서(212, 232)를 포함하며, 상기 적어도 하나의 프로세서(212, 232)는: 상기 통신 모듈(211, 231)을 통하여 제1 외부 전자 장치(220, 240)로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하고; 상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하고; 상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하고; 상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하고, 상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력 하도록 설정될 수 있고, 상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록일 수 있다.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(212, 232)는, 상기 제1 외부 전자 장치(220, 240)에 의하여 확인된 상기 제1 개수의 아이템의 목록들의 이력 및 상기 이력에 포함되는 상기 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 상기 제1 점수에 기초하여, 상기 제1 점수를 입력으로 하고 제2 점수를 출력으로 하는 제1 모델을 확인하도록 설정될 수 있고, 상기 제1 모델은 상기 제1 점수에 대한 단조증가하는 함수일 수 있다.
다양한 실시예에 따라서, 상기 제1 모델은
Figure pat00125
이고,
Figure pat00126
는 상기 제1 점수,
Figure pat00127
는 상기 제2 점수일 수 있다.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(212, 232)는, 상기 제1 관련도 및 상기 제2 관련도를 확인하기 위하여: 상기 제1 모델을 이용하여, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수를 확인하고, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
Figure pat00128
를 만족시키는 상기 제1 관련도 및 상기 제2 관련도를 확인하도록 설정될 수 있고,
Figure pat00129
는 상기 제2 점수이고,
Figure pat00130
은 상기 제1 특성 집합이고,
Figure pat00131
는 상기 제1 특성 집합의 상기 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템이 연관될 확률인 상기 제1 관련도이고,
Figure pat00132
는 상기 제1 특성 집합의 상기 각 원소와 상기 사용자가 연관될 확률인 상기 제2 관련도일 수 있다.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(212, 232)는, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
Figure pat00133
를 만족시키는 상기 제1 관련도 및 상기 제2 관련도를 확인하기 위하여: 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 초기값을 설정하고; 상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 상기 제1 관련도 및 상기 제2 관련도 중 다른 하나의 값을 확인하는 동작을 반복하도록 설정될 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 다른 하나의 값을 확인하는 동작은 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준 이하가 될 때까지 반복될 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 상기 초기값은 상기 사용자의 아이템 선택 이력에 적어도 기초하여 확인될 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 상기 초기값은 상기 제1 특성 집합의 상기 각 원소에 관련되는 하나 이상의 아이템에 대응하는 하나 이상의 상기 제1 점수에 적어도 기초하여 확인될 수 있다.
다양한 실시예에 따라서, 상기 전자 장치(210)는 디스플레이(213) 및 입력 장치(214)를 더 포함하고, 상기 적어도 하나의 프로세서(212)는: 상기 입력 장치(214)를 통하여 사용자의 아이템 목록 요청을 확인하고, 상기 사용자의 상기 아이템 목록 요청에 응답하여, 상기 통신 모듈(211, 231)을 통하여 상기 제1 외부 전자 장치(220, 240)에 상기 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 상기 제1 점수를 요청하고, 상기 디스플레이(213) 상에 상기 제1 목록을 표시함으로써 상기 제1 목록을 출력하고; 상기 디스플레이(213) 상에 상기 제3 관련도 및 상기 제4 관련도를 표시함으로써 제3 관련도 및 상기 제4 관련도를 출력하도록 설정될 수 있다.
다양한 실시예에 따라서, 상기 전자 장치(210, 230)는 서버이고, 상기 적어도 하나의 프로세서(212, 232)는: 상기 통신 모듈(211, 231)을 통하여 제2 외부 전자 장치(250)로부터 사용자의 아이템 목록 요청을 수신하고, 상기 사용자의 상기 아이템 목록 요청에 응답하여, 상기 통신 모듈(211, 231)을 통하여 상기 제1 외부 전자 장치(220, 240)에 상기 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 상기 제1 점수를 요청하고, 상기 제2 외부 전자 장치(250)에 상기 제1 목록, 상기 제3 관련도, 및 상기 제4 관련도를 송신함으로써, 상기 제3 관련도 및 상기 제4 관련도를 상기 제1 목록과 함께 출력 하도록 설정될 수 있다.
다양한 실시예에 따라서, 상기 적어도 하나의 프로세서(212, 232)는: 상기 제4 관련도 중 적어도 일부를 변경하기 위한 상기 사용자의 입력을 확인하고; 상기 사용자의 입력에 기초하여 확인되는, 상기 제4 관련도 중 상기 적어도 일부의 변경된 값을 확인하고; 상기 제4 관련도 중 상기 적어도 일부의 상기 변경된 값에 기초하여, 상기 제1 목록을 업데이트하여 상기 제2 개수의 아이템의 제2 목록을 확인하고; 상기 제2 목록을 출력 하도록 더 설정될 수 있다.
다양한 실시예에 따라서, 상기 사용자의 상기 입력은, 상기 제4 관련도 중 적어도 일부의 변경된 수치를 나타낼 수 있다.
다양한 실시예에 따라서, 전자 장치(210, 230)는 통신 모듈(211, 231); 및 적어도 하나의 프로세서(212, 232)를 포함하며, 상기 적어도 하나의 프로세서(212, 232)는: 상기 통신 모듈(211, 231)을 통하여 제1 외부 전자 장치(220, 240)로 쿼리를 송신하고; 상기 통신 모듈(211, 231)을 통하여 상기 제 1 외부 전자 장치(210, 230)로부터 상기 쿼리에 대응하는 아이템들의 목록을 수신하고; 상기 아이템들과 연관된 특성 집합의 원소들 중 적어도 하나의 원소와, 상기 적어도 하나의 원소 및 상기 아이템들 사이의 제1 연관도를 확인하고; 상기 적어도 하나의 원소 및 상기 쿼리와 연관된 사용자 사이의 제2 연관도를 확인하고; 상기 제1 연관도, 상기 제2 연관도, 및 상기 적어도 하나의 원소에 기반한 추천 이유를, 상기 아이템들의 적어도 일부와 함께 제공 하도록 설정될 수 있다.
다양한 실시예에 따라서, 전자 장치(210, 230)에 의하여 수행되는 방법은: 제1 외부 전자 장치(220, 240)로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하는 동작; 상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하는 동작; 상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하는 동작; 상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하는 동작; 및 상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력하는 동작을 포함할 수 있고, 상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록일 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 및 상기 제2 관련도를 확인하는 동작은, 상기 제1 외부 전자 장치(220, 240)에 의하여 확인된 상기 제1 개수의 아이템의 목록들의 이력 및 상기 이력에 포함되는 상기 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 상기 제1 점수에 기초하여, 상기 제1 점수를 입력으로 하고 제2 점수를 출력으로 하는 제1 모델을 확인하는 동작을 포함할 수 있고, 상기 제1 모델은 상기 제1 점수에 대한 단조증가하는 함수일 수 있다.
다양한 실시예에 따라서, 상기 제1 모델은
Figure pat00134
이고,
Figure pat00135
는 상기 제1 점수,
Figure pat00136
는 상기 제2 점수일 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 및 상기 제2 관련도를 확인하는 동작은: 상기 제1 모델을 이용하여, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수를 확인하는 동작; 및 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
Figure pat00137
를 만족시키는 제1 관련도 및 제2 관련도를 확인하는 동작을 더 포함할 수 있고,
Figure pat00138
는 상기 제2 점수이고,
Figure pat00139
은 상기 제1 특성 집합이고,
Figure pat00140
는 상기 제1 특성 집합의 상기 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템이 연관될 확률인 상기 제1 관련도이고,
Figure pat00141
는 상기 제1 특성 집합의 상기 각 원소와 상기 사용자가 연관될 확률인 상기 제2 관련도일 수 있다.
다양한 실시예에 따라서, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
Figure pat00142
를 만족시키는 상기 제1 관련도 및 상기 제2 관련도를 확인하는 동작은: 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 초기값을 설정하는 동작; 및 상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 상기 제1 관련도 및 상기 제2 관련도 중 다른 하나의 값을 확인하는 동작을 반복하는 동작을 포함할 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 상기 제1 관련도 및 상기 제2 관련도 중 다른 하나의 값을 확인하는 동작은 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준 이하가 될 때까지 반복될 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 상기 초기값은 상기 사용자의 아이템 선택 이력에 적어도 기초하여 확인될 수 있다.
다양한 실시예에 따라서, 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 상기 초기값은 상기 제1 특성 집합의 상기 각 원소에 관련되는 하나 이상의 아이템에 대응하는 하나 이상의 상기 제1 점수에 적어도 기초하여 확인될 수 있다.
다양한 실시예에 따라서, 전자 장치(210, 230)에 의하여 수행되는 방법은: 상기 제4 관련도 중 적어도 일부를 변경하기 위한 상기 사용자의 입력을 확인하는 동작; 상기 사용자의 입력에 기초하여 확인되는, 상기 제4 관련도 중 상기 적어도 일부의 변경된 값을 확인하는 동작; 상기 제4 관련도 중 상기 적어도 일부의 상기 변경된 값에 기초하여, 상기 제1 목록을 업데이트하여 상기 제2 개수의 아이템의 제2 목록을 확인하는 동작; 및 상기 제2 목록을 출력하는 동작을 더 포함할 수 있다.
다양한 실시예에 따라서, 상기 사용자의 상기 입력은, 상기 제4 관련도 중 적어도 일부의 변경된 수치를 나타낼 수 있다.
다양한 실시예에 따라서, 전자 장치(210, 230)에 의하여 수행되는 방법은: 제1 외부 전자 장치(220, 240)로 쿼리를 송신하는 동작; 상기 제 1 외부 전자 장치(210, 230)로부터 상기 쿼리에 대응하는 아이템들의 목록을 수신하는 동작; 상기 아이템들과 연관된 특성 집합의 원소들 중 적어도 하나의 원소와, 상기 적어도 하나의 원소 및 상기 아이템들 사이의 제1 연관도를 확인하는 동작; 상기 적어도 하나의 원소 및 상기 쿼리와 연관된 사용자 사이의 제2 연관도를 확인하는 동작; 상기 제1 연관도, 상기 제2 연관도, 및 상기 적어도 하나의 원소에 기반한 추천 이유를, 상기 아이템들의 적어도 일부와 함께 제공하는 동작을 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (18)

  1. 전자 장치에 있어서,
    통신 모듈; 및
    적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는:
    상기 통신 모듈을 통하여 제1 외부 전자 장치로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하고;
    상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하고;
    상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하고;
    상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하고,
    상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력
    하도록 설정되고,
    상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록인 것을 특징으로 하는, 전자 장치.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 외부 전자 장치에 의하여 확인된 상기 제1 개수의 아이템의 목록들의 이력 및 상기 이력에 포함되는 상기 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 상기 제1 점수에 기초하여, 상기 제1 점수를 입력으로 하고 제2 점수를 출력으로 하는 제1 모델을 확인하도록 설정되고,
    상기 제1 모델은 상기 제1 점수에 대한 단조증가하는 함수인 것을 특징으로 하는, 전자 장치.
  3. 제 2 항에 있어서,
    상기 제1 모델은
    Figure pat00143
    이고,
    Figure pat00144
    는 상기 제1 점수,
    Figure pat00145
    는 상기 제2 점수인 것을 특징으로 하는, 전자 장치.
  4. 제 2 항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제1 관련도 및 상기 제2 관련도를 확인하기 위하여:
    상기 제1 모델을 이용하여, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수를 확인하고,
    상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
    Figure pat00146

    를 만족시키는 상기 제1 관련도 및 상기 제2 관련도를 확인하도록 설정되고,
    Figure pat00147
    는 상기 제2 점수이고,
    Figure pat00148
    은 상기 제1 특성 집합이고,
    Figure pat00149
    는 상기 제1 특성 집합의 상기 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템이 연관될 확률인 상기 제1 관련도이고,
    Figure pat00150
    는 상기 제1 특성 집합의 상기 각 원소와 상기 사용자가 연관될 확률인 상기 제2 관련도인 것을 특징으로 하는, 전자 장치.
  5. 제 4 항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
    Figure pat00151

    를 만족시키는 상기 제1 관련도 및 상기 제2 관련도를 확인하기 위하여:
    상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 초기값을 설정하고;
    상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 상기 제1 관련도 및 상기 제2 관련도 중 다른 하나의 값을 확인하는 동작을 반복하도록 설정되는 것을 특징으로 하는, 전자 장치.
  6. 제 5 항에 있어서,
    상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 다른 하나의 값을 확인하는 동작은 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준 이하가 될 때까지 반복되는 것을 특징으로 하는, 전자 장치.
  7. 제 5 항에 있어서,
    상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 상기 초기값은 상기 사용자의 아이템 선택 이력에 적어도 기초하여 확인되는 것을 특징으로 하는, 전자 장치.
  8. 제 5 항에 있어서,
    상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 상기 초기값은 상기 제1 특성 집합의 상기 각 원소에 관련되는 하나 이상의 아이템에 대응하는 하나 이상의 상기 제1 점수에 적어도 기초하여 확인되는 것을 특징으로 하는, 전자 장치.
  9. 제 1 항에 있어서,
    상기 전자 장치는 디스플레이 및 입력 장치를 더 포함하고,
    상기 적어도 하나의 프로세서는:
    상기 입력 장치를 통하여 사용자의 아이템 목록 요청을 확인하고,
    상기 사용자의 상기 아이템 목록 요청에 응답하여, 상기 통신 모듈을 통하여 상기 제1 외부 전자 장치에 상기 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 상기 제1 점수를 요청하고,
    상기 디스플레이 상에 상기 제1 목록을 표시함으로써 상기 제1 목록을 출력하고;
    상기 디스플레이 상에 상기 제3 관련도 및 상기 제4 관련도를 표시함으로써 제3 관련도 및 상기 제4 관련도를 출력
    하도록 설정되는 것을 특징으로 하는, 전자 장치.
  10. 제 1 항에 있어서,
    상기 전자 장치는 서버이고,
    상기 적어도 하나의 프로세서는:
    상기 통신 모듈을 통하여 제2 외부 전자 장치로부터 사용자의 아이템 목록 요청을 수신하고,
    상기 사용자의 상기 아이템 목록 요청에 응답하여, 상기 통신 모듈을 통하여 상기 제1 외부 전자 장치에 상기 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 상기 제1 점수를 요청하고,
    상기 제2 외부 전자 장치에 상기 제1 목록, 상기 제3 관련도, 및 상기 제4 관련도를 송신함으로써, 상기 제3 관련도 및 상기 제4 관련도를 상기 제1 목록과 함께 출력
    하도록 설정되는 것을 특징으로 하는, 전자 장치.
  11. 제1항에 있어서, 상기 적어도 하나의 프로세서는:
    상기 제4 관련도 중 적어도 일부를 변경하기 위한 상기 사용자의 입력을 확인하고;
    상기 사용자의 입력에 기초하여 확인되는, 상기 제4 관련도 중 상기 적어도 일부의 변경된 값을 확인하고;
    상기 제4 관련도 중 상기 적어도 일부의 상기 변경된 값에 기초하여, 상기 제1 목록을 업데이트하여 상기 제2 개수의 아이템의 제2 목록을 확인하고;
    상기 제2 목록을 출력
    하도록 더 설정되는 것을 특징으로 하는, 전자 장치.
  12. 제11항에 있어서,
    상기 사용자의 상기 입력은, 상기 제4 관련도 중 적어도 일부의 변경된 수치를 나타내는 것을 특징으로 하는, 전자 장치.
  13. 전자 장치에 의하여 수행되는 방법으로서:
    제1 외부 전자 장치로부터, 사용자의 요청에 기초하여 생성된 제1 개수의 아이템의 목록 및 상기 제1 개수의 아이템 중 각 아이템에 대응하는 제1 점수를 수신하는 동작;
    상기 제1 개수의 아이템의 목록 및 상기 제1 점수에 적어도 기초하여, 미리 정의된 제1 특성 집합의 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템 간의 제1 관련도 및 상기 제1 특성 집합의 상기 각 원소와 상기 사용자 간의 제2 관련도를 확인하는 동작;
    상기 제1 개수보다 적은 미리 결정된 제2 개수의 아이템의 제1 목록을 확인하는 동작;
    상기 제1 관련도 및 상기 제2 관련도에 기초하여, 상기 제1 목록의 아이템 중 적어도 하나의 제1 아이템에 대하여, 상기 제1 특성 집합의 원소 중 지정된 조건을 만족하는 적어도 하나의 제1 특성과 상기 적어도 하나의 제1 아이템 간의 제3 관련도 및 상기 적어도 하나의 제1 특성과 상기 사용자 간의 제4 관련도를 확인하는 동작; 및
    상기 제3 관련도 및 상기 제4 관련도를, 상기 제1 목록과 함께 출력하는 동작을 포함하고,
    상기 제1 목록은 상기 제1 개수의 아이템 중 상기 제1 점수가 가장 높은 상기 제2 개수의 아이템의 목록인 것을 특징으로 하는, 방법.
  14. 제 13 항에 있어서,
    상기 제1 관련도 및 상기 제2 관련도를 확인하는 동작은,
    상기 제1 외부 전자 장치에 의하여 확인된 상기 제1 개수의 아이템의 목록들의 이력 및 상기 이력에 포함되는 상기 제1 개수의 아이템의 목록들 중 각 아이템에 대응하는 상기 제1 점수에 기초하여, 상기 제1 점수를 입력으로 하고 제2 점수를 출력으로 하는 제1 모델을 확인하는 동작을 포함하고,
    상기 제1 모델은 상기 제1 점수에 대한 단조증가하는 함수인 것을 특징으로 하는, 방법.
  15. 제 14 항에 있어서,
    상기 제1 모델은
    Figure pat00152
    이고,
    Figure pat00153
    는 상기 제1 점수,
    Figure pat00154
    는 상기 제2 점수이고,
    상기 제1 관련도 및 상기 제2 관련도를 확인하는 동작은:
    상기 제1 모델을 이용하여, 상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수를 확인하는 동작; 및
    상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
    Figure pat00155

    를 만족시키는 제1 관련도 및 제2 관련도를 확인하는 동작
    을 더 포함하고,
    Figure pat00156
    는 상기 제2 점수이고,
    Figure pat00157
    은 상기 제1 특성 집합이고,
    Figure pat00158
    는 상기 제1 특성 집합의 상기 각 원소와 상기 제1 개수의 아이템 중 상기 각 아이템이 연관될 확률인 상기 제1 관련도이고,
    Figure pat00159
    는 상기 제1 특성 집합의 상기 각 원소와 상기 사용자가 연관될 확률인 상기 제2 관련도인 것을 특징으로 하는, 방법.
  16. 제 15 항에 있어서,
    상기 제1 개수의 아이템 중 상기 각 아이템의 상기 제2 점수에 대하여,
    Figure pat00160

    를 만족시키는 상기 제1 관련도 및 상기 제2 관련도를 확인하는 동작은:
    상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 초기값을 설정하는 동작; 및
    상기 제1 관련도 및 상기 제2 관련도 중 하나를 고정하고 상기 제1 관련도 및 상기 제2 관련도 중 다른 하나의 값을 확인하는 동작을, 상기 제1 관련도 또는 상기 제2 관련도 중 적어도 하나의 변화가 미리 결정된 수준 이하가 될 때까지 반복하는 동작
    을 포함하는 것을 특징으로 하는, 방법.
  17. 제 13 항에 있어서,
    상기 제4 관련도 중 적어도 일부를 변경하기 위한 상기 사용자의 입력을 확인하는 동작;
    상기 사용자의 입력에 기초하여 확인되는, 상기 제4 관련도 중 상기 적어도 일부의 변경된 값을 확인하는 동작;
    상기 제4 관련도 중 상기 적어도 일부의 상기 변경된 값에 기초하여, 상기 제1 목록을 업데이트하여 상기 제2 개수의 아이템의 제2 목록을 확인하는 동작; 및
    상기 제2 목록을 출력하는 동작
    을 더 포함하는, 방법.
  18. 전자 장치에 있어서,
    통신 모듈; 및
    적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는:
    상기 통신 모듈을 통하여 제1 외부 전자 장치로 쿼리를 송신하고;
    상기 통신 모듈을 통하여 상기 제 1 외부 전자 장치로부터 상기 쿼리에 대응하는 아이템들의 목록을 수신하고;
    상기 아이템들과 연관된 특성 집합의 원소들 중 적어도 하나의 원소와, 상기 적어도 하나의 원소 및 상기 아이템들 사이의 제1 연관도를 확인하고;
    상기 적어도 하나의 원소 및 상기 쿼리와 연관된 사용자 사이의 제2 연관도를 확인하고;
    상기 제1 연관도, 상기 제2 연관도, 및 상기 적어도 하나의 원소에 기반한 추천 이유를, 상기 아이템들의 적어도 일부와 함께 제공
    하도록 설정된, 전자 장치.

KR1020190056585A 2019-05-14 2019-05-14 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법 KR20200131952A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190056585A KR20200131952A (ko) 2019-05-14 2019-05-14 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법
US16/566,267 US11436661B2 (en) 2019-05-14 2019-09-10 Electronic device for providing information in response to query and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190056585A KR20200131952A (ko) 2019-05-14 2019-05-14 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법

Publications (1)

Publication Number Publication Date
KR20200131952A true KR20200131952A (ko) 2020-11-25

Family

ID=73231313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190056585A KR20200131952A (ko) 2019-05-14 2019-05-14 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법

Country Status (2)

Country Link
US (1) US11436661B2 (ko)
KR (1) KR20200131952A (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720723B2 (en) 1998-09-18 2010-05-18 Amazon Technologies, Inc. User interface and methods for recommending items to users
US6687696B2 (en) * 2000-07-26 2004-02-03 Recommind Inc. System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models
US8676736B2 (en) * 2010-07-30 2014-03-18 Gravity Research And Development Kft. Recommender systems and methods using modified alternating least squares algorithm
US8843433B2 (en) 2011-03-29 2014-09-23 Manyworlds, Inc. Integrated search and adaptive discovery system and method
US9477757B1 (en) * 2012-06-14 2016-10-25 Google Inc. Latent user models for personalized ranking
US10824958B2 (en) * 2014-08-26 2020-11-03 Google Llc Localized learning from a global model
RU2632100C2 (ru) * 2015-09-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер создания рекомендованного набора элементов
KR102313773B1 (ko) * 2016-11-07 2021-10-19 삼성전자주식회사 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
US10607273B2 (en) 2016-12-28 2020-03-31 Google Llc System for determining and displaying relevant explanations for recommended content
WO2018182357A1 (en) * 2017-03-30 2018-10-04 Samsung Electronics Co., Ltd. Data learning server and method for generating and using learning model thereof
SG10201908722SA (en) * 2019-09-19 2021-04-29 Mastercard International Inc Method and system for recommending products to senders for presenting to recipients

Also Published As

Publication number Publication date
US11436661B2 (en) 2022-09-06
US20200364770A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
KR102400580B1 (ko) 다른 전자 장치의 인증을 수행하는 전자 장치와 이의 동작 방법
KR20200047162A (ko) 분할된 화면 상에서 실행 가능한 어플리케이션 리스트를 디스플레이하는 전자 장치 및 전자 장치의 동작 방법
US11681756B2 (en) Method and electronic device for quantifying user interest
US20200159481A1 (en) Method for controlling display of vehicle and electronic device therefor
KR20190092997A (ko) 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
KR20200106703A (ko) 사용자 선택 기반의 정보를 제공하는 방법 및 장치
KR20200098068A (ko) 단어 추천 방법 및 그 전자 장치
US11605113B2 (en) Method for dynamically recommending catalog and electronic device thereof
KR20200072196A (ko) 오디오 개선을 지원하는 전자 장치 및 이를 위한 방법
US11501069B2 (en) Electronic device for inputting characters and method of operation of same
KR20200084668A (ko) 전자 장치 및 그 폴더 구성 방법
US20200272678A1 (en) Electronic device and method for obtaining content information based on connected external device
KR20200091670A (ko) 디스플레이 제어 방법 및 그 전자 장치
KR20200131952A (ko) 쿼리에 응답하여 정보를 제공하는 전자 장치 및 쿼리에 응답하여 정보를 제공하기 위한 방법
TW202032482A (zh) 針對視障群體的保險推薦方法和裝置
KR102329770B1 (ko) 푸시 알림을 제공하기 위한 방법 및 그 전자 장치
KR20200061210A (ko) 상태 정보에 기반하여 식별 정보를 변경하는 전자 장치 및 상기 식별 정보를 확인할 수 있는 다른 전자 장치
KR20190089384A (ko) 전자 장치 및 이를 이용한 검색어 처리 방법
US11802951B2 (en) Electronic device and electronic device control method
CN112417263B (zh) 数据推荐方法、装置及存储介质
KR20220043534A (ko) 컨텐츠 추천 서비스를 제공하는 전자 장치 및 그 방법
KR20210132504A (ko) 광고 공유 방법 및 그 장치
KR20210085159A (ko) 서버 장치와 데이터를 송수신하는 전자 장치
KR20200039053A (ko) 클라우드 서비스를 제공하는 전자 장치 및 그 동작 방법
KR101842874B1 (ko) 메타 정보를 이용한 데이터 시각화 유형 추천 방법

Legal Events

Date Code Title Description
A201 Request for examination