KR102565403B1 - 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치 - Google Patents

온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치 Download PDF

Info

Publication number
KR102565403B1
KR102565403B1 KR1020220162660A KR20220162660A KR102565403B1 KR 102565403 B1 KR102565403 B1 KR 102565403B1 KR 1020220162660 A KR1020220162660 A KR 1020220162660A KR 20220162660 A KR20220162660 A KR 20220162660A KR 102565403 B1 KR102565403 B1 KR 102565403B1
Authority
KR
South Korea
Prior art keywords
information
foods
food
evaluation
user
Prior art date
Application number
KR1020220162660A
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 KR1020220162660A priority Critical patent/KR102565403B1/ko
Priority to US18/229,297 priority patent/US11972471B1/en
Application granted granted Critical
Publication of KR102565403B1 publication Critical patent/KR102565403B1/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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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
    • G06Q50/28

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Operations Research (AREA)

Abstract

본 개시는 사용자 음식취향 분석기반 개인화 추천 방법 및 장치에 관한 것이다. 본 개시의 일 실시 예에 따른 방법은, 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출하고, 사용자의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천할 수 있다.

Description

온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치{A METHOD AND APPARATUS FOR USER'S TASTE INTELLIGENCE BASED PERSONALIZED RECOMENDATIONS USING ONTOLOGY AND MACHINE LEARNING}
본 발명은 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치에 관한 것이다.
최근 배달 어플리케이션의 사용자에게 음식점 메뉴를 큐레이션(curation)해주거나 식품 관련 쇼핑몰에서 식품에 관련된 상품을 추천해주는 다양한 서비스가 개발되고 있다. 기존의 음식점 메뉴와 상품을 추천해주는 서비스는 사용자의 기호를 고려하지 않고 전통적인 통계 방식이나 동일 카테고리의 상품을 추천하는 등의 단순한 방식으로 이루어지고 있다. 그러나, 개인의 입맛 또는 취향 등의 기호를 고려하지 않은 음식점 메뉴나 상품을 추천하는 서비스는, 사용자의 관심을 이끌어낼 가능성이 낮다는 문제점이 있다.
따라서, 사용자의 입맛 또는 취향 등의 기호를 고려하여 음식점 메뉴나 상품을 추천할 수 있는 서비스가 요구된다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
국내 등록특허공보 제10-2415373호(2022.06.27)
본 발명은 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치를 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법에 있어서, 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하는 단계; 상기 평가 정보 및 상기 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 상기 음식들의 연관도 점수를 산출하는 단계; 및 상기 사용자의 제1 행동 정보 및 상기 연관도 점수에 기초하여 적어도 하나의 음식을 추천하는 단계;를 포함하는, 방법을 제공할 수 있다.
본 개시의 제2 측면은, 적어도 하나의 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는, 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 상기 평가 정보 및 상기 음식들에 대한 온톨로지 기반의 정보에 기초하여 상기 음식들의 연관도 점수를 산출하고, 상기 사용자의 제1 행동 정보 및 상기 연관도 점수에 기초하여 적어도 하나의 음식을 추천하는 것인, 컴퓨팅 장치를 제공할 수 있다.
본 개시의 제3 측면은, 제1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
전술한 본 개시의 과제 해결 수단에 의하면, 본 개시에서는 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출하고, 사용자의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천함으로써, 사용자의 기호에 맞는 음식을 추천할 수 있다.
평가 정보 및 온토로지 기반의 정보에 기초하여 하나 이상의 음식을 추천함으로써, 사용자의 기호에 맞는 다양한 음식을 추천할 수 있다.
사용자의 행동 정보에 기초하여 하나 이상의 음식을 추천함으로써, 사용자의 기호를 정확히 반영한 음식을 추천할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 사용자 음식취향 분석기반 개인화 추천 시스템의 일 예를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.
도 3은 일 실시예에 따른 사용자 단말의 다른 예를 도시한 구성도이다.
도 4는 일 실시예에 따른 사용자의 기호에 맞는 음식을 추천하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보의 일 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 복수의 음식들에 대해 기보유한 온톨로지 기반의 정보의 일 예를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 복수의 음식들의 연관도 점수의 일 예를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 사용자 음식취향 분석기반 개인화 추천 시스템의 다른 예를 설명하기 위한 도면이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 개시의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나 이는 본 개시의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 개시의 다양한 실시예에서 사용될 수 있는 "포함한다." 또는 "포함할 수 있다." 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시의 다양한 실시예에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시의 다양한 실시예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
본 개시의 다양한 실시예에서 사용한 용어는 단지 특정일 실시예를 설명하기 위해 사용된 것으로, 본 개시의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성" 등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 첨부된 도면을 이용하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 일 실시예에 따른 사용자 음식취향 분석기반 개인화 추천 시스템의 일 예를 설명하기 위한 도면이다.
도 1을 참조하면, 시스템(1)은 사용자 단말(10) 및 서버(20)를 포함한다. 예를 들어, 사용자 단말(10)과 서버(20)는 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터(예를 들어, 평가 정보, 온톨로지 기반의 정보, 사용자의 제1 행동 정보, 사용자의 제2 행동 정보 등)를 송수신할 수 있다.
설명의 편의를 위하여, 도 1에는 시스템(1)에 사용자 단말(10) 및 서버(20)가 포함되는 것으로 도시하였으나, 이에 한정되지 않는다. 예를 들어, 시스템(1)에는 다른 외부 디바이스(미도시)가 포함될 수 있으며, 이하에서 설명될 사용자 단말(10) 및 서버(20)의 동작이 단일 디바이스(예를 들어, 사용자 단말(10) 또는 서버(20))에 의하여 구현될 수도 있다.
사용자 단말(10)은 디스플레이 장치 및 사용자 입력을 수신하는 장치(예를 들어, 키보드, 마우스 등)를 구비하고, 메모리와 프로세서를 포함하는 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말(10)은 노트북(notebook) PC, 데스크탑(desktop) PC, 랩탑(laptop), 테블릿 컴퓨터(tablet computer), 스마트 폰 등이 해당될 수 있으나, 이에 한정되지 않는다.
서버(20)는 사용자 단말(10)을 포함하여 외부 디바이스(미도시)와 통신하는 장치일 수 있다. 예를 들어, 서버(20)는 평가 정보, 온톨로지 기반의 정보, 사용자의 제1 행동 정보 및 사용자의 제2 행동 정보를 포함하여 다양한 데이터를 저장하는 장치일 수 있고, 경우에 따라 자체적인 연산 능력을 갖춘 장치일 수 있다. 예를 들어, 서버(20)는 클라우드(cloud) 서버일 수도 있으나, 이에 한정되지 않는다.
일 실시예에 따른 시스템(1)은 음식에 대한 평가 정보 및 온톨로지 기반의정보에 기초한 연관도 점수뿐만 아니라 사용자(30)의 행동 정보에 기초하여 하나 이상의 음식을 추천한다. 구체적으로, 사용자 단말(10)은 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출하고, 사용자(30)의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천한다. 사용자(30)는 사용자의 기호에 맞는 다양한 음식 및 사용자의 기호를 정확히 반영한 음식에 대한 정보를 확인할 수 있다.
평가 정보는 응답자의 복수의 음식들 각각에 대한 평가를 포함하는 정보를 지칭한다. 예를 들면, 평가 정보는 김영철이라는 응답자가 김치 볶음밥이라는 음식에 대해 '최고에요', '좋아요', '싫어요', 'not answered' 중 '좋아요' 라고 평가한 정보를 지칭할 수 있다. 이때 평가 정보는, 김영철이 사용자(30)인지 여부와 무관하다. 따라서, 김영철은 사용자(30)가 아닐 수 있으며, 사용자(30)일 수도 있다.
음식들에 대해 기보유한 온톨로지 기반의 정보는, 복수의 음식들 각각에 대하여 복수의 항목에 대응하는 정보를 지칭할 수 있다. 한편, 온톨로지 기반의 정보는, 항목으로 분류된 정보를 포함할 수 있다. 예를 들면, 온톨로지 기반의 정보는 김치 볶음밥이라는 음식에 대하여, 식재료라는 항목에 '배추김치'라는 정보를 포함할 수 있다. 그 외에도 온톨로지 기반의 정보는 김치 볶음밥이라는 음식에 대하여, 양념재료라는 항목에 '고춧가루', 조리법이라는 항목에 '볶음', 국가라는 항목에 '한식', 상황이라는 항목에 '점심메뉴'라는 정보를 포함할 수 있다. 여기에서, 항목은 음식의 특성을 나타내는 카테고리로서, 식재료, 양념재료, 육수재료, 소스재료, 조리법, 국가, 상황 등의 카테고리가 포함될 수 있다.
제1 행동 정보는, 사용자 단말(10) 또는 외부 장치(미도시)로부터 사용자(30) 또는 구매자의 음식에 관한 쇼핑 행동 이력에 대응하는 정보를 지칭할 수 있다. 예를 들면, 제1 행동 정보는 음식을 추천 받기 전 사용자가 클릭한 음식 정보, 클릭한 음식을 나타내는 페이지에 체류한 시간, 클릭한 음식을 장바구니에 추가였는지를 나타내는 정보 및 클릭한 음식의 구매이력에 대한 정보 중 적어도 하나를 포함할 수 있다. 여기에서, 외부 장치(미도시)는 구매자 단말(미도시) 또는 판매자 단말(미도시)일 수 있다.
한편, 시스템(1)은 사용자 단말(10), 구매자 단말(미도시) 및 서버(20)를 포함할 수 있다. 여기에서, 사용자 단말(10)은 판매자 단말일 수 있다. 구체적으로, 서버(20) 또는 사용자 단말(10)은 구매자 단말(미도시)로부터 구매자의 제1 행동 정보를 수신할 수 있다. 그리고, 서버(20) 또는 사용자 단말(10)은 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출하고, 구매자의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천할 수 있다.
이하, 도 2 내지 도 7을 참조하여, 사용자 단말(10)이 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출하고, 사용자(30)의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천하는 예들을 설명한다. 한편, 도 2 내지 도 7을 참조하여 후술할 동작은 서버(20)에서 수행될 수도 있음은 도 1을 참조하여 상술한 바와 같다.
도 2는 일 실시예에 따른 사용자 단말의 일 예를 도시한 구성도이다.
도 2를 참조하면, 사용자 단말(100)은 프로세서(110) 및 메모리(120)를 포함한다. 설명의 편의를 위하여, 도 2에는 본 발명과 관련된 구성요소들만이 도시되어 있다. 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 사용자 단말(100)에 더 포함될 수 있다. 일 예로서, 사용자 단말(100)은 입출력 인터페이스(미도시) 및/또는 통신 모듈(미도시)을 포함할 수 있다. 또한, 도 2에 도시된 프로세서(110) 및 메모리(120)는 독립된 장치로 구현될 수도 있음은 본 발명과 관련된 기술 분야에서의 통상의 지식을 가진 자에게 자명하다.
프로세서(110)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리할 수 있다. 여기에서, 명령은 메모리(120) 또는 외부 장치(예를 들어, 서버(20) 등)로부터 제공될 수 있다. 또한, 프로세서(110)는 사용자 단말(100)에 포함된 다른 구성요소들의 동작을 전반적으로 제어할 수 있다.
특히, 프로세서(110)는 음식에 대한 평가 정보 및 온톨로지 기반의정보에 기초한 연관도 점수뿐만 아니라 사용자의 행동 정보에 기초하여 하나 이상의 음식을 추천한다. 구체적으로, 프로세서(110)는 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출하고, 사용자(30)의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천한다.
일 실시예에 따른 프로세서(110)가 동작하는 구체적인 예들은 도 3 내지 도 7을 참조하여 설명한다.
프로세서(110)는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 예를 들어, 프로세서(110)는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함할 수 한다. 일부 환경에서, 프로세서(110)는 주문형 반도체(ASIC), 프로그램 가능 로직 디바이스(PLD), 필드 프로그램 가능 게이트 어레이(FPGA) 등을 포함할 수도 있다. 예를 들어, 프로세서(110)는 디지털 신호 프로세서(DSP)와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, 디지털 신호 프로세서(DSP) 코어와 결합된 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
메모리(120)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 예로서, 메모리(120)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치일 수 있다. 또한, 메모리(210)에는 운영체제(OS)와 적어도 하나의 프로그램 코드(예를 들어, 도 3 내지 도 7을 참조하여 후술할 동작을 프로세서(110)가 수행하기 위한 코드)가 저장될 수 있다.
이러한 소프트웨어 구성요소들은 메모리(120)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 사용자 단말(100)에 직접 연결될 수 있는 기록 매체일 수 있고, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 또는, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(미도시)을 통해 메모리(120)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(미도시)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(예를 들어, 도 3 내지 도 7을 참조하여 후술할 동작을 프로세서(110)가 수행하기 위한 컴퓨터 프로그램 등)에 기반하여 메모리(120)에 로딩될 수 있다.
입출력 인터페이스(미도시)는 사용자 단말(100)과 연결되거나 사용자 단말(100)에 포함될 수 있는 입력 또는 출력을 위한 장치(예를 들어, 키보드, 마우스 등)와의 인터페이스를 위한 수단일 수 있다. 입출력 인터페이스(미도시)가 프로세서(110)와 별도로 구성될 수 있으나, 이에 한정되지 않으며, 입출력 인터페이스(미도시)가 프로세서(110)에 포함되도록 구성될 수도 있다.
통신 모듈(미도시)은 네트워크를 통해 서버(20)와 사용자 단말(100)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있다. 또한, 통신 모듈(미도시)은 사용자 단말(100)이 다른 외부 디바이스와 통신하기 위한 구성 또는 기능을 제공할 수 있다. 예를 들어, 프로세서(110)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(미도시)과 네트워크를 거쳐 서버(20) 및/또는 외부 디바이스로 전송될 수 있다.
한편, 도 2에는 도시되지 않았으나, 사용자 단말(100)은 디스플레이 장치를 더 포함할 수 있다. 또는, 사용자 단말(100)은 독립적인 디스플레이 장치와 유선 또는 무선 통신 방식으로 연결되어 상호 간에 데이터를 송수신할 수 있다.
도 3은 일 실시예에 따른 사용자 단말의 다른 예를 도시한 구성도이다.
도 3을 참조하면, 사용자 단말(101)은 프로세서(111) 및 메모리(121), DB(131)를 포함한다. 한편, 도 3의 프로세서(111) 및 메모리(121)는 도 2의 프로세서(110) 및 메모리(120)에 대응된다. 따라서, 이하에서는 프로세서(111) 및 메모리(121)에 대한 구체적인 설명은 생략한다.
DB(131)는 사용자 단말(101) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(111)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(131)는 빅테이터 기반의 DB를 포함할 수 있다.
DB(131)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다. 프로세서(111)는 사용자 단말(101)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(111)는 DB(131)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(미도시), DB(131) 등을 전반적으로 제어할 수 있다. 프로세서(111)는, DB(131)에 저장된 프로그램들을 실행함으로써, 사용자 단말(101)의 동작을 제어할 수 있다.
한편, DB(131)는 평가 정보 DB 및 온톨로지 정보 DB를 포함할 수 있다. 평가 정보 DB는, 사용자 단말(101) 내에서 처리되는 평가 정보를 저장하는 하드웨어일 수 있다. 평가 정보 DB에는 정상 평가 정보 DB 및 비정상 평가 정보 DB가 포함될 수 있다. 온톨로지 정보 DB는, 사용자 단말(101) 내에서 처리되는 온톨로지 기반의 정보를 저장하는 하드웨어일 수 있다.
도 4는 일 실시예에 따른 사용자의 기호에 맞는 음식을 추천하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 4를 참조하면, 사용자의 기호에 맞는 음식을 추천하는 방법은 도 1, 도2 및 3에 도시된 사용자 단말(10, 100, 101) 또는 프로세서(110, 111)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1, 도 2 및 도 3에 도시된 사용자 단말(10, 100, 101) 또는 프로세서(110, 111)에 관하여 이상에서 기술된 내용은 도 4의 사용자의 기호에 맞는 음식을 추천하는 방법에도 적용될 수 있다.
310 단계에서, 프로세서는 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집한다.
일 예로서, 프로세서는 서버로부터 평가 정보를 수집하여 DB에 저장할 수 있다. 다른 예로서, 프로세서는 사용자의 입력으로부터 평가 정보를 수집하여 DB에 저장할 수 있으나, 이에 제한되지 않는다.
한편, 프로세서는 평가 정보, 평가에 소요된 시간 및 복수의 음식들 중 적어도 하나의 연관된 음식과의 평가 정보의 차이에 기초하여 평가 정보의 신뢰도 점수를 산출할 수 있다. 프로세서는, 평가에 소요된 시간이 기설정된 임계 시간보다 이하인 것에 응답하여, 해당 평가 정보의 신뢰도 점수를 낮게 산출할 수 있다. 예를 들면, 기설정된 임계 시간이 0.1 ms인 것을 기준으로, 프로세서는 평가에 소요된 시간이 0.1 ms 이하인 것에 응답하여, 해당 평가 정보의 신뢰도 점수를 낮게 산출할 수 있다. 다만, 해당 평가 정보가 연관된 음식의 평가 정보와 유사한 경우에는, 해당 평가 정보의 신뢰도 점수를 높게 산출할 수 있다. 예를 들면, 김치찌개라는 음식에 대한 '좋아요'라는 평가에 소요된 시간이 0.05ms인 경우, 프로세서는 해당 평가 정보의 신뢰도 점수를 낮게 산출할 수 있다. 다만, 동일한 유저의 김치전골이라는 음식에 대한 '좋아요'라는 평가 정보가 존재하는 경우, 프로세서는 김치찌개와 김치전골이 상호 유사성이 높은 연관된 음식이므로, 김치찌개라는 음식에 대한 '좋아요'라는 평가에 소요된 시간이 기설정된 임계 시간 이하인 경우에도, 해당 평가 정보의 신뢰도 점수를 높게 산출할 수 있다. 여기에서, 상호 유사성이 높다는 것은, 연관도 점수가 기설정된 임계 점수보다 높은 것을 지칭할 수 있다. 예를 들면, 김치찌개와 김치전골의 연관도 점수가 기설정된 임계 점수보다 높을 경우, 김치찌개와 김치전골은 상호 유사성이 높은 연관된 음식에 해당할 수 있다.
그리고, 프로세서는, 산출한 신뢰도 점수와 기설정된 임계값의 비교에 기초하여, 평가 정보를 저장할 수 있다. 일 예로서, 프로세서는 산출한 신뢰도 점수가 기설정된 임계값 이상인 것에 응답하여 평가 정보를 정상 평가 정보 DB에 저장할 수 있다. 다른 예로서, 프로세서는 산출한 신뢰도 점수가 기설정된 임계값 미만인 것에 응답하여 평가 정보를 비정상 평가 정보 DB에 저장할 수 있다.
한편, 프로세서는 제1 뉴럴 네트워크 모델을 이용하여 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집할 수 있다. 프로세서는 평가 정보, 평가에 소요된 시간 및 복수의 음식들 중 적어도 하나의 연관된 음식과의 평가 정보의 차이를 제1 뉴럴 네트워크 모델에 입력데이터로 입력하고, 출력데이터로 신뢰도 점수를 획득할 수 있다.
이하, 도 5를 참조하여, 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보 및 평가 정보의 신뢰도 점수의 일 예를 설명한다.
도 5는 일 실시예에 따른 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보 및 평가 정보의 신뢰도 점수의 일 예를 설명하기 위한 도면이다.
도 5를 참조하면, 프로세서는 각각 다른 유저들(user1, user2, user3)로부터 복수의 음식들 각각에 대한 평가 정보를 수집한다.
일 예로서, 프로세서는 user1라는 사람으로부터 낙지볶음이라는 음식에 대한 '싫어요'라는 평가 정보를 수집할 수 있다. 이때 평가에 소요된 시간은 10ms이므로, 프로세서는 기설정된 임계값인 0.1ms 이상인 것에 응답하여 신뢰도를 높게 산출할 수 있다. 또한 프로세서는 연관된 음식인 쭈꾸미볶음, 낙지두루치기의 평가 정보의 차이와 비교하여 신뢰도 점수를 산출할 수 있다. user1이 쭈꾸미볶음이라는 음식에 대해 '최고에요'라는 평가를 한 경우에는, 프로세서는 user1이 평가한 낙지볶음이라는 음식에 대한 '싫어요'라는 평가와 user1이 평가한 쭈꾸미볶음이라는 음식에 대한 '최고에요'라는 평가의 차이가 큰 것에 기초하여 신뢰도 점수를 낮게 산출할 수 있다. 도 5에서는, 프로세서는 낙지볶음이라는 음식을 평가하는데 소요된 시간이 10ms이고, 쭈꾸미볶음 및 낙지두루치기에 대한 평가 정보도 '싫어요'와 유사한 것을 가정하여, 낙지볶음이라는 음식에 대한 '싫어요'라는 평가정보의 신뢰도 점수는 97 %인 것으로 산출할 수 있다.
다시 도 4를 참조하면, 320 단계에서, 프로세서는 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출한다.
먼저, 프로세서는 온톨로지 기반의 정보에 기초하여, 음식들의 하나 이상의 항목에 대한 항목 연관도 점수를 산출할 수 있다. 그리고, 프로세서는 항목 연관도 점수 및 평가 정보 중 하나 이상에 기초하여 음식들의 연관도 점수를 산출할 수 있다.
한편, 프로세서는, 제2 뉴럴 네트워크 모델을 이용하여 음식들의 연관도 점수를 산출할 수 있다. 프로세서는 음식들에 대해 기보유한 온톨로지 기반의 정보를 제2 뉴럴 네트워크 모델에 입력데이터로 입력하고, 음식들의 적어도 하나의 항목에 대한 항목 연관도 점수를 산출할 수 있다. 그리고, 프로세서는 산출된 항목 연관도 점수 및 평가 정보 중 적어도 하나를 제2 뉴럴 네트워크 모델에 입력데이터로 입력하고, 음식들의 연관도 점수를 산출할 수 있다.
이하, 도 6을 참조하여, 복수의 음식들에 대해 기보유한 온톨로지 기반의 정보의 일 예를 설명한다.
도 6은 일 실시예에 따른 복수의 음식들에 대해 기보유한 온톨로지 기반의 정보의 일 예를 설명하기 위한 도면이다.
도 6을 참조하면, 온톨로지 기반의 정보는 김치볶음밥, 꽁치구이, 불고기, 돈까스, 간짜장 등의 음식에 대한 온톨로지 기반의 정보를 포함할 수 있다. 온톨로지 기반의 정보는 음식의 특성을 나타내는 항목들로 구성되고, 항목들은 음식명, 식재료, 양념재료, 육수재료, 소스재료, 조리법, 국가, 상황, 맛, 식감, 향미 등을 포함할 수 있으나, 이에 제한되지 않는다.
일 예로서, 온톨로지 기반의 정보는, 음식명이라는 항목의 '김치볶음밥'이라는 정보를 포함하고, 식재료라는 항목의 '배추김치'라는 정보를 포함하고, 양념재료라는 항목의 '고춧가루'라는 정보를 포함하고, 조리법이라는 항목의 '볶음'이라는 정보를 포함하고, 국가라는 항목의 '한식'이라는 정보를 포함하고, 상황이라는 항목의 '점심메뉴'라는 정보를 포함할 수 있다.
다른 예로서, 온톨로지 기반의 정보는, 음식명이라는 항목의 '꽁치구이'이라는 정보를 포함하고, 식재료라는 항목의 '꽁치'라는 정보를 포함하고, 양념재료라는 항목의 '소금, 후추'라는 정보를 포함하고, 소스재료라는 항목의 '간장'이라는 정보를 포함하고, 조리법이라는 항목의 '볶음'이라는 정보를 포함하고, 국가라는 항목의 '한식'이라는 정보를 포함하고, 상황이라는 항목의 '저녁메뉴'라는 정보를 포함할 수 있다.
이하, 도 7을 참조하여, 복수의 음식들의 연관도 점수의 일 예를 설명한다.
도 7은 일 실시예에 따른 복수의 음식들의 연관도 점수의 일 예를 설명하기 위한 도면이다.
도 7을 참조하면, 프로세서는 온톨로지 기반의 정보에 기초하여, 음식들의 하나 이상의 항목에 대한 항목 연관도 점수를 산출할 수 있다. 일 예로서, 프로세서는 온톨로지 기반의 정보에 기초하여 김치찌개와 김치전골의 하나 이상의 항목 연관도 점수를 산출할 수 있다. 프로세서는 김치찌개와 김치전골의 양념재료, 육수재료, 국가라는 항목의 온톨로지 기반의 정보가 동일하므로 각각의 항목별 연관도 점수를 100 %로 산출할 수 있다. 프로세서는 김치찌개와 김치전골의 음식명은 '찌개'와 '전골'의 차이가 존재하므로 해당 항목의 연관도 점수는 50 %로 산출할 수 있다. 프로세서는 김치찌개와 김치전골의 식재료, 조리법, 상황이라는 항목의 온톨로지 기반의 정보가 일부 상이하므로 각각의 항목별 연관도 점수를 순서대로 각각 95 %, 80 %, 50 %로 산출할 수 있다.
그리고, 프로세서는 항목 연관도 점수 및 평가 정보 중 하나 이상에 기초하여 음식들의 연관도 점수를 산출할 수 있다. 프로세서는 항목 연관도 점수에 기초하여 음식들의 연관도 점수를 산출할 수 있고, 평가 정보에 기초하여 음식들의 연관도 점수를 산출할 수 있으며, 항목 연관도 점수 및 평가 정보에 기초하여 음식들의 연관도 점수를 산출할 수 있다.
프로세서는 항목 연관도 점수에 기초하여 연관도 점수를 산출할 수 있다. 프로세서는 전체 항목들의 연관도 점수에 기초하여 연관도 점수를 산출할 수 있으며, 특정 항목들의 연관도 점수에 기초하여 연관도 점수를 산출할 수 있다. 예를 들면, 프로세서는 김치찌개와 김치전골의 최종 연관도 점수를 산출함에 있어서, 음식명 및 상황이라는 항목 연관도 점수에만 기초하여 최종 연관도 점수를 산출할 수 있다. 그리고, 프로세서는 음식명, 식재료, 양념재료, 육수재료, 소스재료, 조리법, 국가, 상황이라는 항목 연관도 점수에 기초하여 최종 연관도 점수를 산출할 수 있다. 프로세서는 특정된 항목에 따른 항목 연관도 점수에 기초하여 각각 다른 최종 연관도 점수를 산출할 수 있다.
프로세서는 평가 정보에 기초하여 음식들의 연관도 점수를 산출할 수 있다. 일 예로서, 프로세서는 평가 정보가 높은 음식들의 연관도 점수를 높게 산출할 수 있다.
프로세서는 항목 연관도 점수 및 평가 정보에 기초하여 음식들의 연관도 점수를 산출할 수 있다. 일 예로서, 프로세서는 항목 연관도 점수가 높더라도 평가 정보의 차이가 큰 경우에는 해당 음식들의 연관도 점수를 낮게 산출할 수 있다.
다시 도 4를 참조하면, 330 단계에서, 프로세서는 사용자의 제1 행동 정보 및 연관도 점수에 기초하여 적어도 하나의 음식을 추천한다.
제1 행동 정보는, 상기 음식을 추천 받기 전 사용자가 클릭한 음식 정보, 클릭한 음식을 나타내는 페이지에 체류한 시간, 클릭한 음식을 장바구니에 추가였는지를 나타내는 정보 및 클릭한 음식의 구매이력에 대한 정보 중 적어도 하나를 포함할 수 있다.
한편, 프로세서는 사용자의 제1 행동 정보를 수신할 수 있다. 프로세서는 사용자의 입력에 따라 제1 행동 정보를 수신할 수 있다. 프로세서는 구매자 단말로부터 구매자의 제1 행동 정보를 수신할 수 있다.
그리고, 프로세서는 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천할 수 있다. 일 예로서, 프로세서는, 음식을 추천 받기 전 사용자가 클릭한 음식 정보에 김치찌개가 포함되어 있거나, 김치찌개를 나타내는 페이지에 체류한 시간이 30초 이상이거나, 김치찌개를 장바구니에 추가하였거나, 김치찌개를 구매한 이력이 있는 경우에는, 김치찌개와 연관도 점수가 높은 음식들을 추천할 수 있다.
한편, 프로세서는 제3 뉴럴 네트워크 모델을 이용하여 하나 이상의 음식을 추천할 수 있다. 프로세서는 제1 행동 정보 및 연관도 점수를 제3 뉴럴 네트워크 모델에 입력데이터로 입력하고, 하나 이상의 음식을 출력 데이터로 획득할 수 있다.
한편 프로세서는, 항목의 다양한 조합에 기초한 연관도 점수를 이용하여 다양한 음식을 추천할 수 있다. 일 예로서, 프로세서는 식재료라는 항목의 연관도 점수로 산출한 연관도 점수를 이용하여 가장 연관도 점수가 높은 음식을 추천할 수 있다. 다른 예로서, 프로세서는 국가 및 상황이라는 항목의 연관도 점수를 이용하여 산출한 연관도 점수를 이용하여 가장 연관도 점수가 높은 음식을 추천할 수 있다. 또 다른 예로서, 프로세서는 조리법 및 육수 재료라는 항목의 연관도 점수를 이용하여 산출한 연관도 점수를 이용하여 가장 연관도 점수가 높은 음식을 추천할 수 있다.
한편, 프로세서는 산출된 연관도 점수를 이용하여, 상기 평가 정보의 신뢰도 점수를 갱신할 수 있다. 상술한 바와 같이, 프로세서는 평가 정보, 평가에 소요된 시간 및 복수의 음식들 중 하나 이상의 연관된 음식과의 평가 정보의 차이에 기초하여 상기 평가 정보의 신뢰도 점수를 산출할 수 있다. 여기에서, 프로세서는 복수의 음식들 중 하나 이상의 연관된 음식과의 평가 정보의 차이와 관련하여, 산출된 연관도 점수를 이용하여 복수의 음식들 중 하나 이상의 연관된 음식을 갱신할 수 있다. 그리고, 프로세서는 갱신된 하나 이상의 연관된 음식과의 평가 정보의 차이에 기초하여 평가 정보의 신뢰도 점수를 갱신할 수 있다. 본 발명의 일 실시예에 따르면, 갱신된 평가 정보의 신뢰도 점수를 이용하여 보다 정확하게 사용자의 기호에 맞는 음식을 추천할 수 있다.
한편, 프로세서는 사용자의 제2 행동 정보를 수신하고, 제2 행동 정보를 이용하여 연관도 점수를 갱신할 수 있다. 제2 행동 정보는, 추천한 음식에 대응하는 사용자의 구매 정보, 클릭 정보, 장바구니 정보 및 1회 구매액 정보 중 적어도 하나를 포함할 수 있다. 또한, 제2 행동 정보는, 추천한 음식에 대응하는 구매전환률, 클릭률 및 장바구니 추가율을 포함할 수 있다. 일 예로서, 프로세서는 제2 행동 정보에 포함된 사용자의 구매 정보를 이용하여, 사용자가 추천된 음식을 구매한 경우에는, 추천된 음식에 대응하는 연관도 점수를 더 높게 산출하는 것으로 갱신할 수 있다. 다른 예로서, 프로세서는 제2 행동 정보에 포함된 사용자의 클릭 정보를 이용하여, 사용용자가 추천된 음식을 클릭한 경우에는, 추천된 음식에 대응하는 연관도 점수를 더 높게 산출하는 것으로 갱신할 수 있다. 또 다른 예로서, 프로세서는 제2 행동 정보에 포함된 사용자의 장바구니 정보를 이용하여, 사용자가 추천된 음식을 구매한 경우에는, 추천된 음식에 대응하는 연관도 점수를 더 높게 산출하는 것으로 갱신할 수 있다.
이하, 도 8을 참조하여 일 실시예에 따른 사용자의 음식취향 분석기반 개인화 추천 시스템의 다른 예를 설명하도록 한다.
도 8은 일 실시예에 따른 사용자 음식취향 분석기반 개인화 추천 시스템의 다른 예를 설명하기 위한 도면이다.
도 8을 참조하면, 시스템(2)은 평가 분석부(21), 평가 정보 DB(22), 온톨로지 분석부(23), 온톨로지 정보 DB(24), 추천부(25) 및 서비스부(26)를 포함한다.
평가 분석부(21)는, 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하여 평가 정보 DB(22)에 저장한다. 그리고, 평가 분석부(21)는 평가 정보, 평가에 소요된 시간 및 복수의 음식들 중 적어도 하나의 연관된 음식과의 평가 정보의 차이에 기초하여 평가 정보의 신뢰도 점수를 산출한다. 또한, 평가 분석부(21)는 산출한 신뢰도 점수와 기설정된 임계값의 비교에 기초하여, 평가 정보를 저장한다. 이때, 평가 분석부(21)는 산출한 신뢰도 점수가 기설정된 임계값 이상인 것에 응답하여 평가 정보를 평가 정보 DB에 업데이트하거나 정상 평가 정보 DB(미도시)에 저장할 수 있고, 산출한 신뢰도 점수가 기설정된 임계값 미만인 것에 응답하여 평가 정보를 비정상 평가 정보 DB(미도시)에 저장할 수 있다.
한편, 평가 분석부(21)는, 제1 뉴럴 네트워크 모델을 이용하여 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집할 수 있다. 평가 분석부(21)는, 평가 정보, 평가에 소요된 시간 및 복수의 음식들 중 적어도 하나의 연관된 음식과의 평가 정보의 차이를 제1 뉴럴 네트워크 모델에 입력데이터로 입력하고, 출력데이터로 신뢰도 점수를 획득할 수 있다.
온톨로지 분석부(23)는, 평가 정보 및 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 음식들의 연관도 점수를 산출한다. 온톨로지 분석부(23)는, 평가 정보를 평가 분석부(21) 또는 평가 DB(22)로부터 수신한다. 기보유한 온톨로지 기반의 정보는 온톨로지 정보 DB에 저장된 정보를 지칭한다. 먼저, 온톨로지 분석부(23)는, 온톨로지 기반의 정보에 기초하여, 음식들의 하나 이상의 항목에 대한 항목 연관도 점수를 산출한다. 그리고, 온톨로지 분석부(23)는, 항목 연관도 점수 및 평가 정보 중 하나 이상에 기초하여 음식들의 연관도 점수를 산출한다.
한편, 온톨로지 분석부(23)는, 제2 뉴럴 네트워크 모델을 이용하여 음식들의 연관도 점수를 산출할 수 있다. 온톨로지 분석부(23)는, 음식들에 대해 기보유한 온톨로지 기반의 정보를 제2 뉴럴 네트워크 모델에 입력데이터로 입력하고, 음식들의 적어도 하나의 항목에 대한 항목 연관도 점수를 산출할 수 있다. 그리고, 온톨로지 분석부(23)는, 산출된 항목 연관도 점수 및 평가 정보 중 적어도 하나를 제2 뉴럴 네트워크 모델에 입력데이터로 입력하고, 음식들의 연관도 점수를 산출할 수 있다.
추천부(25)는, 사용자의 제1 행동 정보 및 연관도 점수에 기초하여 하나 이상의 음식을 추천한다. 추천부(25)는, 사용자의 제1 행동 정보를 서비스부(26)로부터 수신한다. 추천부(25)는, 연관도 점수를 온톨로지 분석부(23)로부터 수신한다. 추천부(25)는, 사용자의 제1 행동 정보 및 연관도 점수에 기초하여 생성한 음식 추천 리스트를 제공할 수 있다. 음식 추천 리스트는, 음식 간의 전체 항목의 상관관계가 높은 순, 음식 간의 식재료 항목의 상관관계가 높은 순, 음식 간의 특정 항목의 상관관계가 높은 순 등의 다양한 상황에 따른 추천 리스트를 포함한다.
한편, 추천부(25)는, 제3 뉴럴 네트워크 모델을 이용하여 하나 이상의 음식을 제공할 수 있다. 추천부(25)는 제1 행동 정보 및 연관도 점수를 제3 뉴럴 네트워크 모델에 입력데이터로 입력하고, 하나 이상의 음식을 출력 데이터로 획득할 수 있다.
서비스부(26)은 추천부(25)가 출력한 음식을 이용하여 추천 리스트를 제공할 수 있다. 여기에서, 서비스부(26)는, 배달 어플리케이션 또는 온라인 식품 쇼핑몰일 수 있다.
상술한 바에 따르면, 프로세서는 사용자의 기호에 맞는 음식을 추천한다. 사용자는 사용자의 기호에 맞는 다양한 음식 및 사용자의 기호를 정확히 반영한 음식을 확인할 수 있다.
상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, USB, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
한편, 상술한 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하며, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점을 포함하는 것으로 해석되어야 할 것이다.

Claims (11)

  1. 사용자 음식취향 분석기반 개인화 추천 방법에 있어서,
    서버가 복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하는 단계;
    상기 평가 정보 및 상기 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 상기 음식들의 연관도 점수를 산출하는 단계; 및
    상기 사용자의 제1 행동 정보 및 상기 연관도 점수에 기초하여 적어도 하나의 음식을 추천하는 단계;를 포함하고,
    상기 수집하는 단계는,
    상기 평가 정보, 상기 평가에 소요된 시간 및 상기 복수의 음식들 중 적어도 하나의 연관된 음식과의 평가 정보의 차이에 기초하여 상기 평가 정보의 신뢰도 점수를 산출하는 단계; 및
    상기 신뢰도 점수와 기설정된 임계값의 비교에 기초하여, 상기 평가 정보를 저장하는 단계;를 포함하는, 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 산출하는 단계는,
    상기 온톨로지 기반의 정보에 기초하여, 상기 음식들의 적어도 하나의 항목에 대한 항목 연관도 점수를 산출하는 단계; 및
    상기 항목 연관도 점수 및 상기 평가 정보 중 적어도 하나에 기초하여 상기 음식들의 연관도 점수를 산출하는 단계;를 포함하는, 방법.
  4. 제1 항에 있어서,
    상기 온톨로지 기반의 정보는,
    상기 음식들 각각의 적어도 하나의 항목에 관한 정보를 포함하는 것인, 방법.
  5. 제1 항에 있어서,
    상기 추천하는 단계는,
    상기 사용자의 제1 행동 정보를 수신하는 단계; 및
    상기 제1 행동 정보 및 상기 연관도 점수에 기초하여 적어도 하나의 음식을 추천하는 단계;를 포함하는, 방법.
  6. 제1 항에 있어서,
    상기 제1 행동 정보는,
    상기 음식을 추천 받기 전 사용자가 클릭한 음식 정보, 상기 클릭한 음식을 나타내는 페이지에 체류한 시간, 상기 클릭한 음식을 장바구니에 추가였는지를 나타내는 정보 및 상기 클릭한 음식의 구매이력에 대한 정보 중 적어도 하나를 포함하는 것인, 방법.
  7. 제1 항에 있어서,
    상기 산출된 연관도 점수를 이용하여, 상기 평가 정보의 신뢰도 점수를 갱신하는 단계;를 더 포함하는, 방법.
  8. 제1 항에 있어서,
    상기 사용자의 제2 행동 정보를 수신하는 단계; 및
    상기 제2 행동 정보를 이용하여 상기 연관도 점수를 갱신하는 단계;를 더 포함하는, 방법.
  9. 제8 항에 있어서,
    상기 제2 행동 정보는,
    상기 추천한 음식에 대응하는 상기 사용자의 구매 정보, 클릭 정보, 장바구니 정보 및 1회 구매액 정보 중 적어도 하나를 포함하는 것인, 방법.
  10. 제1 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 적어도 하나의 메모리; 및
    적어도 하나의 프로세서;를 포함하고,
    상기 적어도 하나의 프로세서는,
    복수의 음식들 각각에 대한 평가를 포함하는 평가 정보를 수집하고, 상기 평가 정보 및 상기 음식들에 대해 기보유한 온톨로지 기반의 정보에 기초하여 상기 음식들의 연관도 점수를 산출하고, 사용자의 제1 행동 정보 및 상기 연관도 점수에 기초하여 적어도 하나의 음식을 추천하고,
    상기 수집하는 것은,
    상기 평가 정보, 상기 평가에 소요된 시간 및 상기 복수의 음식들 중 적어도 하나의 연관된 음식과의 평가 정보의 차이에 기초하여 상기 평가 정보의 신뢰도 점수를 산출하고, 상기 신뢰도 점수와 기 설정된 임계값의 비교에 기초하여, 상기 평가 정보를 저장하는 것인, 컴퓨팅 장치.
KR1020220162660A 2022-11-29 2022-11-29 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치 KR102565403B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220162660A KR102565403B1 (ko) 2022-11-29 2022-11-29 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치
US18/229,297 US11972471B1 (en) 2022-11-29 2023-08-02 Method and apparatus for user's food taste intelligence-based personalized recommendations using ontology and machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220162660A KR102565403B1 (ko) 2022-11-29 2022-11-29 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230101946A Division KR20240080101A (ko) 2023-08-04 실시간 사용자 행동분석 결과를 반영하는 음식취향 분석 및 식품 데이터베이스 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102565403B1 true KR102565403B1 (ko) 2023-08-10

Family

ID=87560716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220162660A KR102565403B1 (ko) 2022-11-29 2022-11-29 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치

Country Status (2)

Country Link
US (1) US11972471B1 (ko)
KR (1) KR102565403B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210019392A (ko) * 2019-08-12 2021-02-22 주식회사 코너스톤헬스케어랩 온톨로지 기반의 식단 추천 장치 및 그 방법
KR20220005328A (ko) * 2020-07-06 2022-01-13 아주대학교산학협력단 사용자 행동 패턴에 기초하여 상품을 추천하고 추천 상품에 대한 사용자의 선호도 예측 장치 및 방법
KR102415373B1 (ko) 2021-11-15 2022-07-01 주식회사 팜킷 사용자의 기호에 맞는 음식을 추천하는 방법, 장치 및 컴퓨터 프로그램 제품
KR102434342B1 (ko) * 2022-04-07 2022-08-19 양혁준 뉴럴 네트워크를 이용하여 서버가 추천 상품과 관련된 데이터를 제공하는 방법 및 장치
KR20220128145A (ko) * 2021-03-12 2022-09-20 주식회사 퓨처키친 딥러닝 모듈을 이용한 음식 추천 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160129234A (ko) * 2015-04-30 2016-11-09 에스케이플래닛 주식회사 리타게팅 광고 상품 추천 사용자 장치와 서비스 제공 장치, 그를 포함하는 광고 상품 추천 시스템, 그의 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
DE102018118150A1 (de) 2018-07-26 2020-01-30 S.M.S Smart Microwave Sensors Gmbh System zum Steuern einer Verkehrsführung an einer Kreuzung
KR102278810B1 (ko) 2019-01-22 2021-07-19 고려대학교 산학협력단 개인 맞춤형 식음료 추천 시스템
KR20200118584A (ko) 2019-04-08 2020-10-16 성균관대학교산학협력단 음식 추천 시스템
CN115516491A (zh) * 2020-05-19 2022-12-23 味之素株式会社 相容性预测方法、相容性预测装置和相容性预测程序
KR102278646B1 (ko) 2020-08-12 2021-07-19 주식회사 디이프 고객 맞춤형 식품 추천 시스템
US20220374966A1 (en) * 2021-05-24 2022-11-24 Elliott Saint-Pierre System and method for aggregation of local business inventories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210019392A (ko) * 2019-08-12 2021-02-22 주식회사 코너스톤헬스케어랩 온톨로지 기반의 식단 추천 장치 및 그 방법
KR20220005328A (ko) * 2020-07-06 2022-01-13 아주대학교산학협력단 사용자 행동 패턴에 기초하여 상품을 추천하고 추천 상품에 대한 사용자의 선호도 예측 장치 및 방법
KR20220128145A (ko) * 2021-03-12 2022-09-20 주식회사 퓨처키친 딥러닝 모듈을 이용한 음식 추천 방법
KR102415373B1 (ko) 2021-11-15 2022-07-01 주식회사 팜킷 사용자의 기호에 맞는 음식을 추천하는 방법, 장치 및 컴퓨터 프로그램 제품
KR102434342B1 (ko) * 2022-04-07 2022-08-19 양혁준 뉴럴 네트워크를 이용하여 서버가 추천 상품과 관련된 데이터를 제공하는 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
유하경, 박옥남, "한식정보 활용을 위한 온톨로지 설계에 관한 연구", 한국콘텐츠학회논문지 (2019.02.)* *

Also Published As

Publication number Publication date
US11972471B1 (en) 2024-04-30

Similar Documents

Publication Publication Date Title
WO2020038351A1 (zh) 信息推送方法
US10102477B2 (en) Modeling for flavor profiles
US10572929B2 (en) Decision factors analyzing device and decision factors analyzing method
US20130191242A1 (en) Fit Recommendations
KR20230063839A (ko) 전자 장치 및 그의 아이템 추천 방법
KR20200114969A (ko) 거래 이력 데이터의 클러스터링에 기초한 상품 추천 장치 및 방법
US20170270208A1 (en) Search result enhancement component for interest queues
KR20220125711A (ko) 전자 장치 및 그의 정보 제공 방법
US9818144B2 (en) Visual product feedback
KR102425758B1 (ko) 기계 학습 기반 업체 추천 시스템
CN110851702B (zh) 信息推送的方法、装置、终端及计算机可读介质
KR102565403B1 (ko) 온톨로지 및 머신러닝을 이용한 사용자 음식취향 분석기반 개인화 추천 방법 및 장치
US20210390614A1 (en) Shopping cart preview system
CN112711706A (zh) 信息交互方法、装置、可读存储介质和电子设备
CN110032367B (zh) 一种互联网内容生成方法、装置、计算机设备及存储介质
US20150324888A1 (en) Ranked navigation element
KR20240080101A (ko) 실시간 사용자 행동분석 결과를 반영하는 음식취향 분석 및 식품 데이터베이스 처리 방법 및 장치
US20220318881A1 (en) Electronic apparatus and information providing method thereof
US11157936B2 (en) Product discovery via connected kitchen
US10437818B2 (en) Search result enhancement component for item documents
JP6664604B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP5613699B2 (ja) 商品推薦装置及び方法及びプログラム
KR102485807B1 (ko) 사용자를 위한 주방 용품 추천 방법
JP7455185B1 (ja) 情報処理装置、情報処理システム、情報処理方法、およびプログラム
JP2019096096A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

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