KR102227552B1 - 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템 - Google Patents

상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템 Download PDF

Info

Publication number
KR102227552B1
KR102227552B1 KR1020200068804A KR20200068804A KR102227552B1 KR 102227552 B1 KR102227552 B1 KR 102227552B1 KR 1020200068804 A KR1020200068804 A KR 1020200068804A KR 20200068804 A KR20200068804 A KR 20200068804A KR 102227552 B1 KR102227552 B1 KR 102227552B1
Authority
KR
South Korea
Prior art keywords
restaurant
user
personalized
review
rating
Prior art date
Application number
KR1020200068804A
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 KR1020200068804A priority Critical patent/KR102227552B1/ko
Application granted granted Critical
Publication of KR102227552B1 publication Critical patent/KR102227552B1/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
    • 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/0278Product appraisal
    • 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/0639Item locations
    • 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
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants

Landscapes

  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템이 제공되며, 웹트래픽 및 키스트로크 로깅(Keystroke logging)을 포함하는 개인화 데이터를 실시간으로 업로드하고, 개인화 데이터에 의해 정렬순서가 변경된 메인 페이지를 노출하며, 메인 페이지에서 배달을 선택 및 주문하고 기 설정된 적어도 하나의 리뷰 카테고리에 평점을 부여하는 적어도 하나의 사용자 단말, 및 적어도 하나의 사용자 단말로부터 적어도 하나의 음식점에 부여된 기 설정된 적어도 하나의 리뷰 카테고리에 부여된 평점을 수집하는 빅데이터화부, 적어도 하나의 리뷰 카테고리에 부여된 평점으로 적어도 하나의 음식점을 분류하여 저장하는 저장부, 적어도 하나의 음식점에 부여된 적어도 하나의 리뷰 카테고리의 평점 평균 데이터를 기준으로 적어도 하나의 사용자 단말에서 부여한 적어도 하나의 리뷰 카테고리의 평점을 분류하여 리뷰 카테고리의 평점별로 기 매핑되어 저장된 사용자의 특성 태그를 추출하는 추출부, 특성 태그로 적어도 하나의 음식점을 필터링한 후, 개인화 데이터에 기반하여 필터링된 적어도 하나의 음식점의 노출순위를 설정한 후 사용자 단말의 메인 페이지로 설정하는 설정부를 포함하는 개인화 서비스 제공 서버를 포함한다.

Description

상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템{SYSTEM FOR PROVIDING CONTEXT AWARENESS ALGORITHM BASED RESTAURANT SORTING PERSONALIZED SERVICE USING REVIEW CATEGORY}
본 발명은 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템에 관한 것으로, 개인의 취향 뿐만 아니라 개인이 처한 상황까지 인지하여 고려하는 노출순위 정렬 플랫폼을 제공한다.
최근 많은 기업들이 온라인 쇼핑몰이나 영화 사이트 등과 같은 다양한 분야에서 고객 구매 데이터를 활용하여 개인별 상품 선호도를 분석하고, 향후 가장 선호할 만한 상품을 고객에게 추천하고 있다. 과거에는 온라인 쇼핑몰에서 같은 상품을 모든 고객에게 동일하게 보여줬다면, 최근에는 맞춤형 개인화 추천 솔루션을 통해 고객에 따라 선호도 높은 아이템만을 추천하는 방식으로 변화해 가고 있다. 특히 아마존 온라인 쇼핑몰은 사이트의 대부분을 고객 관심사를 반영한 개인화 추천상품영역으로 구성하고, 고객이 장바구니에 담은 상품이나 과거 구매상품과 연관성 있는 상품을 추천하여 매출을 일으키고 있다. 또한 식품 외식업 분야에서도 고객 평점 데이터나 구매기록을 통해 맛집이나 메뉴를 추천해주는 서비스가 점차 늘고 있다. 스타벅스는 최근 구매이력을 비롯해 매장 정보, 시간대, 기온 등과 같은 데이터를 수집하고 분석해 상황에 맞는 상품을 추천해주고 있으며, 이마트도 앱 활용을 통해 고객 쇼핑을 분석하고 관심있을 만한 상품을 제안하는 코너를 운영하고 있다.
이때, 음식 아이템을 추천하고 나열하는 방법에 시간 개념을 적용하는 구성이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2019-0103838호(2019년09월05일 공개)에는, 조식, 중식, 석식, 야식 등 식사 시간대로 구분하여 음식 아이템을 추천함으로써 식사 시간대별 사용자가 원하는 음식 아이템을 정확하게 사용자에 추천할 수 있으며, 사용자의 구매 이력과 개인 정보로부터 선별한 후보 추천 음식 아이템과 후보 추천 음식 아이템의 소셜미디어 콘텐츠에 구비된 해시태그로부터 사용자 개인 정보 및 지수 정보와 후보 추천 음식 아이템 사이의 연관 강도를 계산함으로써 빅데이터를 이용하여 사용자에 적합한 음식 아이템을 추천하는 구성이 개시되어 있다.
다만, 상술한 구성을 이용한다고 할지라도 취향이나 성향이 유사한 그룹으로 빅데이터를 클러스터링(Clustering)한 후 추천해주는 기법을 이용하고 있기 때문에 완전한 개인의 취향을 반영한 추천이라고 할 수 없다. 또, 시간 개념을 적용하였지만 그 외의 변수, 예를 들어, 날씨, 계절, 취향 등을 반영하지 않고 있기 때문에 온전히 상황을 인지하여(Context awareness) 추천을 한 것이라 볼 수 없다. 산해진미라도 같은 음식을 계속하여 먹으면 질리는 법이라서 음식 추천은 특히 사용자가 먹었던 음식을 배제하고 추천 및 노출순위를 달리하는 것이 중요하지만, 상술한 구성은 사용자를 온전히 고려하지 않고 개인화된 추천을 제공하지 않는다. 이에, 각 개인별 취향 및 상황을 고려하여 음식점을 추천 및 노출하는 방법의 연구 및 개발이 요구된다.
본 발명의 일 실시예는, 적어도 하나의 리뷰 카테고리에 부여되는 평점을 통하여 음식점 뿐만 아니라 음식점을 평가하는 사용자의 취향 정보에 대응하는 특성 태그를 추출하여 각 음식점 및 각 사용자를 분류 및 태깅하여 데이터베이스화하고, 사용자에게 음식점을 추천할 때 1차적으로 사용자 특성 태그와 음식점 리뷰 카테고리의 점수를 비교하여 음식점을 필터링하고, 2차적으로 사용자의 웹트래픽 및 키스트로크로깅 데이터를 상황인지 알고리즘에 입력하여 필터링된 음식점을 정렬함으로써 사용자의 취향 뿐만 아니라 사용자가 처한 상황까지 고려하여 메인 페이지를 제공함으로써 사용자의 선호도는 물론 상황까지 만족시키는 개인화 서비스를 제공할 수 있는, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 웹트래픽 및 키스트로크 로깅(Keystroke logging)을 포함하는 개인화 데이터를 실시간으로 업로드하고, 개인화 데이터에 의해 정렬순서가 변경된 메인 페이지를 노출하며, 메인 페이지에서 배달을 선택 및 주문하고 기 설정된 적어도 하나의 리뷰 카테고리에 평점을 부여하는 적어도 하나의 사용자 단말, 및 적어도 하나의 사용자 단말로부터 적어도 하나의 음식점에 부여된 기 설정된 적어도 하나의 리뷰 카테고리에 부여된 평점을 수집하는 빅데이터화부, 적어도 하나의 리뷰 카테고리에 부여된 평점으로 적어도 하나의 음식점을 분류하여 저장하는 저장부, 적어도 하나의 음식점에 부여된 적어도 하나의 리뷰 카테고리의 평점 평균 데이터를 기준으로 적어도 하나의 사용자 단말에서 부여한 적어도 하나의 리뷰 카테고리의 평점을 분류하여 리뷰 카테고리의 평점별로 기 매핑되어 저장된 사용자의 특성 태그를 추출하는 추출부, 특성 태그로 적어도 하나의 음식점을 필터링한 후, 개인화 데이터에 기반하여 필터링된 적어도 하나의 음식점의 노출순위를 설정한 후 사용자 단말의 메인 페이지로 설정하는 설정부를 포함하는 개인화 서비스 제공 서버를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 적어도 하나의 리뷰 카테고리에 부여되는 평점을 통하여 음식점 뿐만 아니라 음식점을 평가하는 사용자의 취향 정보에 대응하는 특성 태그를 추출하여 각 음식점 및 각 사용자를 분류 및 태깅하여 데이터베이스화하고, 사용자에게 음식점을 추천할 때 1차적으로 사용자 특성 태그와 음식점 리뷰 카테고리의 점수를 비교하여 음식점을 필터링하고, 2차적으로 사용자의 웹트래픽 및 키스트로크로깅 데이터를 상황인지 알고리즘에 입력하여 필터링된 음식점을 정렬함으로써, 사용자의 취향 뿐만 아니라 사용자가 처한 상황(Contextual Information)까지 고려하여 메인 페이지를 제공함으로써 사용자의 선호도는 물론 상황까지 만족시키는 개인화 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 개인화 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 개인화 서비스 제공 서버(300), 적어도 하나의 음식점 단말(400), 적어도 하나의 배달 단말(500) 및 관리자 단말(600)을 포함할 수 있다. 다만, 이러한 도 1의 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 개인화 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 개인화 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 음식점 단말(400), 적어도 하나의 배달 단말(500)과 연결될 수 있다. 또한, 적어도 하나의 음식점 단말(400)은, 네트워크(200)를 통하여 개인화 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 적어도 하나의 배달 단말(500)은, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 개인화 서비스 제공 서버(300) 및 적어도 하나의 음식점 단말(400)과 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 음식배달을 주문하는 사용자의 단말일 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 음식을 주문한 이력이 없다면 취향 정보를 기입하여 사용자의 취향을 개인화 서비스 제공 서버(300)로 전송하는 단말일 수 있다. 이때, 취향 정보는, 기 설정된 적어도 하나의 리뷰 카테고리에 부여되는 평점과 대응하는 정보일 수 있다. 예를 들어, 리뷰 카테고리 중 하나가 배송시간의 만족도이고, 평점은 1점이 매우 느리다, 2점이 느리다, 3점이 보통, 4점이 빠르다, 5점이 매우 빠르다이고, 취향 정보에 배달음식은 빨리 와야 한다고 체크했다면, 취향 정보는 "배송시간이 빠른 것이 좋다"로 설정되고 리뷰 카테고리 중 배송시간은 4 점에 대응하게 된다. 이에 따라, 리뷰를 기재하지 않은 최초 사용자나 신뢰할만한 데이터가 누적되지 않은 초기 사용자라도 리뷰 카테고리의 평점에 대응하는 정보를 수집할 수 있도록 한다. 그리고, 사용자 단말(100)은, 개인화 서비스 제공 서버(300)로 키스트로크로깅(Keystroke logging) 데이터 및 웹트래픽 데이터에 대한 엑세스가 가능하도록 동의 및 허용 메세지를 전송하는 단말일 수 있고, 사용자 단말(100)에서 입력된 메세지, 검색어는 물론, 하나의 페이지에 머무르면서 사용자 단말(100)이 발생시킨 모든 종류의 데이터를 수집하도록 함으로써, 개인화 데이터를 개인화 서비스 제공 서버(300)에서 수집 및 분석할 수 있도록 하는 단말일 수 있다. 이때, 두 가지의 데이터를 이하 표 1과 같이 정의하기로 한다.
수집 정보 데이터 구분 사용 알고리즘
리뷰, 평점 및 취향정보 개인특성 데이터 필터링(제1차)
웹트래픽&키스트로크로깅 데이터 개인화 데이터 상황인지 알고리즘(제2차)
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
개인화 서비스 제공 서버(300)는, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 개인화 서비스 제공 서버(300)는, 적어도 하나의 사용자 단말(100)로부터 적어도 하나의 음식점에 대한 리뷰 카테고리에 평점이 부여되는 경우, 음식점을 세부적으로 평가하는 수단으로 이용할 뿐만 아니라, 사용자의 취향이나 성향 또는 주관적인 인식 등을 파악하는 수단으로 이용할 수 있다. 이를 위하여, 개인화 서비스 제공 서버(300)는, 적어도 하나의 리뷰 카테고리에 부여된 평점으로 음식점을 세분화하여 구분하고, 해당 음식점에 대한 리뷰 카테고리에 부여된 평점과, 사용자 단말(100)에서 부여한 평점 간의 차이를 파악하여 사용자의 성향, 즉 특성을 추출함으로써 사용자 단말(100)과 특성 태그를 매핑하여 저장하는 서버일 수 있다. 그리고, 개인화 서비스 제공 서버(300)는, 사용자 단말(100)에서 음식을 주문하고자 개인화 서비스 제공 서버(300)에서 제공하는 페이지에 엑세스하는 경우, 사용자 단말(100)의 특성 태그로 적어도 하나의 음식점을 제 1 차로 필터링한 후, 사용자 단말(100)의 개인화 데이터에 기반하여 필터링으로 추출된 음식점의 노출순위를 설정하는 서버일 수 있다. 이에 따라, 각 개인별로 동일한 메인 페이지가 출력되는 것이 아니라, 개인화 서비스 제공 서버(300)는, 서로 다른 메인 페이지가 출력될 수 있도록 한다.
여기서, 개인화 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 음식점 단말(400)은, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 음식점의 단말일 수 있다. 이때, 적어도 하나의 음식점 단말(400)은 적어도 하나의 사용자 단말(100)의 리뷰 카테고리에 부여된 평점을 조회할 수 있는 단말일 수 있다. 그리고, 적어도 하나의 음식점 단말(400)은, 개인화 서비스 제공 서버(300)를 경유하여 사용자 단말(100)의 주문이 접수되는 경우, 접수된 주문을 출력하는 단말일 수 있다.
여기서, 적어도 하나의 음식점 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 음식점 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 음식점 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
적어도 하나의 배달 단말(500)은, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 주문에 대한 배달건수를 분배받거나 선착순으로 분배를 받는 단말일 수 있다. 이때, 적어도 하나의 배달 단말(500)은, 개인화 서비스 제공 서버(300)를 통하여 수집된 리뷰 카테고리 중 배달기사 친절도 및 배달속도 항목의 점수가 개인별로 부여되는 단말일 수 있다.
여기서, 적어도 하나의 배달 단말(500)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 배달 단말(500)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 배달 단말(500)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 개인화 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 개인화 서비스 제공 서버(300)는, 빅데이터화부(310), 저장부(320), 추출부(330), 설정부(340), 상황인지부(350), 배제부(360), 후순위적용부(370) 및 전처리부(380)를 포함할 수 있다.
본 발명의 일 실시예에 따른 개인화 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 적어도 하나의 음식점 단말(400) 및 적어도 하나의 배달 단말(500)로 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 적어도 하나의 음식점 단말(400) 및 적어도 하나의 배달 단말(500)은, 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100), 적어도 하나의 음식점 단말(400) 및 적어도 하나의 배달 단말(500)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 2를 참조하면, 빅데이터화부(310)는, 적어도 하나의 사용자 단말(100)로부터 적어도 하나의 음식점에 부여된 기 설정된 적어도 하나의 리뷰 카테고리에 부여된 평점을 수집할 수 있다. 이때, 적어도 하나의 리뷰 카테고리는, 메인음식의 맛, 배송시간, 배송기사의 친절도, 포장의 견고도, 음식점의 친절도, 포장재 디자인, 반찬의 갯수, 반찬의 맛 및 서비스 품목의 만족도 중 적어도 하나를 포함할 수 있다. 이때, 평점은 1 점 내지 5 점으로 나뉘어지는데, 1 점은 매우 그렇지 않다, 2 점은 그렇지 않다, 3 점은 보통이다, 4 점은 그렇다, 5 점은 매우 그렇다로 볼 수 있다. 예를 들면, 상점의 친절도에 5 점이 부여되었다면, 해당 음식점은 매우 친절하다로 평가될 수 있다.
또, 해당 척도는 음식점을 평가하는 것이지만, 이와 동시에 사용자를 평가하는 데이터로도 사용할 수 있다. 예를 들어, 30분 이내에 배달음식이 도착하는 경우 매우 빠르다라고 느끼는 사람이 대부분(평균치)이고, A 사용자는 급한성격이라 30분도 못참고 30분에 오는 것을 매우 느리다라고 한 경우에는, A 사용자는 30분 이내로 배달이 도착하는 음식점을 추천해줘야 하기 때문에, A 사용자의 특성 태그에는 "30분 이내 배달" 태그가 부가되어야 한다. 또, A 사용자가 비빔밥ㆍ불고기ㆍ스테이크 등 메뉴에 평점이 높고, 라면ㆍ마라탕 등 메뉴에는 평점이 보통이거나 낮고, 탕수육ㆍ유산슬ㆍ돈부리덮밥ㆍ오코노미야끼 등 메뉴에는 시식 경험이 없어 리뷰 데이터가 없다면, 즉 한식 및 육류 구이류 위주의 음식에 선호도가 높고 면류 및 중식 메뉴에 선호도가 낮은 것으로 파악할 수 있으므로, 특성 태그에 "한식", "육류구이"가 부가되고, 제외되어야 할 특성 태그에 "면류" 및 "중식 메뉴"가 포함될 수 있다.
이에 따라, 적어도 하나의 리뷰 카테고리는 별점 또는 기 설정된 점수 체계를 가지고 평점이 부여되는 평가척도이고, 동일한 변수인 동일 파라미터에 대한 서로 다른 평점에 대한 통계를 산출한 후 평균값에 기반하여, 적어도 하나의 사용자 단말(100)에서 부여한 평점으로 적어도 하나의 사용자 단말(100)의 특성 태그를 추출할 수 있다. 즉, 동일한 조건이 존재하는데, 사용자의 반응은 서로 다를테지만, 이를 통계치를 내어 산술평균을 해보면 대부분의 사람이 느끼는 반응은 어느 하나로 수렴될 수 있다. 그럼에도 불구하고, 이러한 통계치에 벗어난 반응을 보인 사람은, 그 사람만의 특성을 보인다고 설명할 수 있다. 예를 들어, A 음식점의 B 메인메뉴에 대하여 대부분의 사람이 맛있다(4점) 또는 매우맛있다(5)로 평점이 B 메인메뉴의 평점은 4.5인데, 예를 들어 1 점을 준 사용자 E의 경우, B 메인메뉴 자체를 싫어한다고 보아 B 메인메뉴와 유사한 재료의 음식이나 조리법의 음식 또는 유사한 메뉴는 제외시키도록 특성 태그에 NOT "B 메뉴"가 부가될 수 있다. 또는 B 메뉴는 괜찮지만 A 음식점의 조리방법 등이 싫은 경우일 수도 있으므로, 특성 태그에 NOT "A 음식점"으로 A 음식점은 다시 추천되지 않도록 필터링, 즉 제거할 수 있다.
저장부(320)는, 적어도 하나의 리뷰 카테고리에 부여된 평점으로 적어도 하나의 음식점을 분류하여 저장할 수 있다. 리뷰 카테고리는 상술한 바와 같이, 음식의 맛, 친절도, 배달 속도 등 다양할 수 있기 때문에 각 카테고리별로 점수를 부여한다. 예를 들어, 메뉴가 여러 개 존재한다면 각 메뉴별로 평점을 다르게 부여함으로써 사용자들의 메뉴 선호도를 파악할 수 있도록 한다. 시스템 구동 초기에는 소수 또는 일부의 사용자 평점으로 데이터가 좌지우지되겠지만, 어느 정도의 양이 쌓이게 되면 신뢰할만한 수준의 통계치가 도출될 수 있다. 마찬가지로, 각 개인의 리뷰 카테고리에 평점이 더해질수록 각 개인의 특성 정보도 더욱 파악하기 쉬워질 수 있다. 다만, 리뷰 카테고리에 부여되는 평점은 어느 정도 수준이 될 때까지는 신뢰도가 높지 않을 수 있으므로, 상술한 바와 같이 취향 정보를 설문조사 형식으로 수집함으로써 신뢰할만한 수준의 사용자 취향 정보가 도출될 때까지 이를 이용할 수도 있다.
추출부(330)는, 적어도 하나의 음식점에 부여된 적어도 하나의 리뷰 카테고리의 평점 평균 데이터를 기준으로 적어도 하나의 사용자 단말(100)에서 부여한 적어도 하나의 리뷰 카테고리의 평점을 분류하여 리뷰 카테고리의 평점별로 기 매핑되어 저장된 사용자의 특성 태그를 추출할 수 있다. 메인음식의 맛을 통하여 상술한 바와 같이 사용자가 어떤 종류의 음식을 좋아하는지를 추출할 수도 있고, 배송시간에 준 평점을 이용하여, 동일한 배송시간을 기준으로 평균치를 확인한 후 사용자가 부여한 점수 간의 차이를 확인함으로써 사용자가 빠른 것을 좋아하는지, 느려도 무관한 것인지 등을 확인할 수 있다. 배송기사의 친절도 또한, 동일한 배송기사를 기준으로 타인이 준 평점의 평균치를 기준으로, 사용자가 부여한 평점을 비교함으로써 사용자가 타인이 생각했을 때 친절하다는 정도로 만족을 하는지, 또는 타인이 생각했을 때 친절하다는 정도로는 불친절하다고 생각하기 때문에 정말 친절하다(4점) 또는 매우 친절하다(5) 평점을 가진 배송기사를 배분해야 하는지에 대한 특성 태그를 부여할 수 있다. 그 이외의 리뷰 카테고리를 이용해서도, 동일한 조건을 두고 타인들의 평점을 기준으로, 사용자가 부과한 평점을 비교함으로써 사용자의 특성 태그를 확인 및 부여할 수 있다.
설정부(340)는, 특성 태그로 적어도 하나의 음식점을 필터링한 후, 개인화 데이터에 기반하여 필터링된 적어도 하나의 음식점의 노출순위를 설정한 후 사용자 단말(100)의 메인 페이지로 설정할 수 있다. 1차적으로 사용자의 특성 태그(선호도, 취향 정보 등)와 유사한 속성 정보를 가지는 음식점을 유사도에 기반하여 정렬한 후, 2차적으로 사용자의 상황을 인지하여 2차 정렬을 시작한다. 적어도 하나의 사용자 단말(100)은, 웹트래픽 및 키스트로크 로깅(Keystroke logging)을 포함하는 개인화 데이터를 실시간으로 업로드하고, 개인화 데이터에 의해 정렬순서가 변경된 메인 페이지를 노출하며, 메인 페이지에서 배달을 선택 및 주문하고 기 설정된 적어도 하나의 리뷰 카테고리에 평점을 부여할 수 있다.
이때, 웹트래픽 및 키스트로크 로깅(Keystroke logging)을 포함하는 개인화 데이터는, 메인 페이지에 접근하여 음식을 구매하는 시점에서 사용자의 선호도(Preference) 변화 및 음식에 구매에 영향을 주는 기 설정된 적어도 하나의 상황 정보(Contextual Information)에 기반하여 사용자에게 개인화된 음식을 추천하기 위한 데이터로 이용될 수 있다. 이에 따라, 상황인지부(350)는, 개인화 데이터에 기반하여 노출순위를 설정할 때 적어도 하나의 종류의 상황인지 추천(Context-aware Recommender) 알고리즘을 이용하도록 제어할 수 있다.
정리하면, 1차로 사용자의 특성을 고려하여 음식점을 정렬하고(유사도 기반), 2차로 사용자의 현재 상황을 고려하여 음식점을 재정렬(상황인지 알고리즘)하는 것이다. 예를 들면, 사용자의 기본적인 취향이 "육류나 한식", "30분 이내 빠른 배달", "평점 3점 이하의 메인메뉴는 제거"라면, (육류나 한식 ∩ 30분 이내 빠른 배달 ∩ 평점 4점 이상의 메인메뉴)를 가지는 메뉴 및 음식점을 1차적으로 찾는다. 이때, 유사도를 기반으로 정렬을 하게 되며 이를 만족하지 못하는 음식점은 필터링되어 삭제된다. 두 번째로 상황인지 알고리즘을 실행하는데, 사용자 단말(100)에서 "대패삼겹살"을 메뉴로 먹었고 사용자 단말(100)에서 대패삼겹살로 신용카드전표가 나왔다고 가정하면, 사용자가 저녁에 또 고기를 먹을 가능성은 낮아진다(물론 고기를 좋아하거나 연속하여 고기를 먹은 이력이 있다면 육류를 다시 추가할 수도 있다). 이때, 2차적으로 육류를 제외하게 되고, (한식 ∩ 30분 이내 빠른 배달 ∩ 평점 4점 이상의 메인메뉴)의 조건으로 1차로 정렬한 음식점을 재정렬하게 된다.
또는 1차와 2차의 알고리즘의 순서가 변경될 수도 있다. 예를 들어, 개인화 데이터를 이용하여 상황인지 알고리즘을 적용한 후, 개인 특성 태그와 음식점 간의 유사도에 기반하여 적용하여 음식점의 노출순서를 정할 수도 있다.
이때, 상황인지(Context-Awareness) 기술이란 사용자의 생활패턴이나 습관, 생체신호, 주변 환경 등을 분석하여 특정상황에 맞게 최적화된 기능을 도출함으로서 사용자의 요구를 사전에 예측하고 제시하는 S/W, H/W 기술이다. 일반적으로 컨텍스트란 인간과 상호작용하는 환경에서 얻을 수 있는 모든 정보를 컴퓨터의 언어로 표현한 것이다. 사용자 프로파일, 실시간 생체정보, 위치 등의 유저 컨텍스트(User Context)와 조도, 습도, 온도 등의 물리적 컨텍스트(Physical Context), 시간, 일, 주, 월 등의 시간 컨텍스트(Time Context) 등이 있다. 컨텍스트 정보는 사용자 인터페이스나 센서 등을 통해 수집된다. 인터페이스를 통해 사용자로부터 프로파일 정보 등을 직접 입력받거나, 위치, 날씨, 온도, 습도 등과 같이 환경적인 컨텍스트 정보 등은 센서를 통해 수집할 수 있다. 본 발명의 일 실시예에서는 사용자가 이동하는 동안에도 실시간으로 다양한 컨텍스트 정보를 수집할 수 있는 모바일 센서를 활용하여 사용자의 상황을 실시간으로 반영한 음식점 노출순위를 변경을 통한 추천 모델을 이용하기로 한다. 모바일 센서로부터 수집한 컨텍스트 정보는 전처리 과정을 거쳐 행동 패턴을 추론하는 기초 자료로 활용할 수 있다.
한편, 일반적으로 행동 패턴(Behavior Pattern)이란 사용자 행동의 일정한 유형으로 볼 수 있다. 사용자가 주로 많이 하는 행동이나 반복적으로 하는 행동 또는 일정한 순서가 있는 행동 등으로 정의한다. 본 발명의 일 실시예에서는 행동패턴이란 사용자가 특정 상황에서 주로 하는 행동으로 정의한다. 사용자의 상황을 인식하고 특정 행동을 추론하기 위해서는 적절한 기준에 따라 사용자 행동패턴을 분류할 필요가 있다. 본 발명의 일 실시예서는 사용자 단말(100)에서 방문한 음식점의 장소 또는 사용자 단말(100)에서 본 발명의 일 실시예에 따른 배달 애플리케이션에 접속하여 주문한 음식점과, 사용자 생성 데이터인 개인화 데이터에 기반하여 패턴을 정의하기로 한다.
이때, 행동패턴을 추론하기 위한 첫 번째 방법은, 나이브 베이즈 방정식이 이용될 수 있는데, 특정 데이터가 기 정의되어 있는 사용자 행동 패턴 분류에 속할 확률을 계산하여 가장 높은 확률의 행동 패턴을 추론한다. 이를 위해 나이브 베이즈(Naive Bayes) 분류기를 이용할 수 있다. 나이브 베이즈는 조건부 확률 모델로, 입력 변수가 서로 독립이라는 가정 하에 결합 확률을 계산하고 가장 높은 확률의 분류를 추론한다. 나이브 베이즈는 단순하면서도 정확도가 높은 성능을 보이고 효율적으로 학습이 가능하다는 장점이 있으며, 본 발명의 일 실시예에서는 행동 패턴을 추론하기 위해 이하 수학식 1과 같은 나이브 베이즈 방정식을 이용할 수 있다.
Figure 112020058446520-pat00001
이때, Π는 i=1부터 n까지이다. 수학식 1은 어떤 입력 변수(속성)가 주어졌을 때 특정 카테고리에 속할 가장 높은 확률을 구하는 식이다. ck는 카테고리 k일 확률을 의미하며, xi는 i번째 속성일 확률, p(ck)는 전체 집합에서 카테고리 k가 속할 확률, p(xi|ck)는 카테고리 k에서 특정 속성 x일 확률을 나타낸다. Vmax는 가장 큰 확률값이다.
행동패턴 추론을 위한 두 번째 방법은 선호도 예측 알고리즘을 이용하는 것이다. 고객 간의 유사도를 이용하여 각 아이템 i에 대한 사용자 a의 예측치를 다른 사용자들의 평균으로부터 편차들에 대한 가중 평균을 계산하는 식은 이하 수학식 2와 같다.
Figure 112020058446520-pat00002
P(a,i)는, 사용자 a가 경험하지 않은 아이템 i에 대한 a의 선호 예측값을 의미한다. 바(Bar) ra와 바(Bar) ru는 각각 사용자 a와 u가 평가한 모든 아이템에 대한 평가 점수의 평균을 나타내고, ru,i는 이웃 사용자 u의 아이템 i에 대한 평가점수를 나타낸다.
본 발명의 일 실시예에서는 두 가지를 모두 결합하여 사용하기로 한다.
우선, 음식점 추천을 위한 사용자의 행동 데이터에 대응하는 개인화 데이터를 수집하고 추론하여 저장, 그리고 사용자 상황에 따른 음식점을 추천할 수 있다(2차). 사용자 행동 패턴 추론과 음식점 추천 모델의 구조로, 사용자 상황에 따라 수집할 수 있는 행동 데이터를 활용하여 행동 패턴 DB를 저장하고 추천 시스템을 통해 음식점을 추천하게 된다.
첫째, 사용자 단말(100)로부터 위치, 날씨, 온도데이터와 애플리케이션을 통해 주문한 음식점의 정보, 주문기록, 주문 후 평가 등의 컨텍스트 데이터를 수집한다. 둘째, 수집된 데이터는 정규화 과정을 거친다. 셋째, 나이브베이즈 계산식을 이용하여 분류하고 구성되어 있는 사용자 행동 모델로 행동 패턴을 매칭하여 사용자 목적에 따른 추론을 한다. 넷째, 이를 바탕으로 추론된 행동 패턴 데이터는 데이터베이스에 저장되어 사용자가 음식점 추천을 요구하는 상황에 따라 위치, 날씨, 온도 및 사용자 방문 평가 점수에 대응하는 평점 등의 기준을 통해 음식점을 추천할 수 있다.
데이터 수집하는 과정에서는, 사용자의 컨텍스트 데이터가 포함된 음식점에서 주문한 기록이 있어야 하는데 기록의 속성 값은 사용자가 주문한 날의 날씨와 온도, 그리고 음식점의 이름, 위치, 업종, 주문음식 등의 데이터가 포함되어 있어야 한다. 음식점의 이름, 좌표, 주소, 지역, 음식 카테고리 종류, 방문한 날짜, 날씨, 온도, 평가점수로 구성될 수 있으나 이에 한정되는 것은 아니다. 데이터 전처리 과정에서, 사용자 행동 데이터를 분석하기 위해서는 음식점 주문 기록 데이터를 분석을 위해 적합하도록 전처리 과정을 거친다. 음식점 주문 기록 데이터 중 전처리 과정이 필요한 데이터는 지역, 카테고리, 날짜, 온도, 날씨 데이터일 수 있다. 날짜와 온도를 통해 4계절을 구분할 수 있고, 날씨는 적설량과 운량, 강수량에 따라 맑음, 비, 눈 등으로 구분하고 요일 데이터는 평일과 휴일 및 평일 중에서도 시간대 및 휴일 중에서도 시간대 및 시간대에 따른 날씨와 온도를 매핑하여 저장하기로 한다.
행동 패턴 분석과 추론 과정에서는 사용자의 음식점 주문에 대한 행동 패턴을 분석하고 추론하기 위해서는 분류 체계가 필요하다. 데이터를 수집하고 전처리 과정을 거친 데이터는 음식점 주문 분류가 추가되어 패턴 데이터로 구성된다. 데이터가 새롭게 추가되어 저장될 때에는 나이브베이즈 분류 기법으로 새롭게 수집된 데이터가 해당 분류에 속할 수 있는 확률을 계산하여 사용자의 음식점 방문 패턴을 추론할 수 있다. 날짜와 온도, 강수량은 모바일 컨텍스트 데이터로 저장하고, 음식점과 평가 점수는 사용자가 직접 기록한 정보로 저장하며, 나이브 베이즈 분류 기준으로 분류 데이터 기준에 따라 가장 높은 확률의 분류를 행동 패턴 데이터에 추가한다. 계산 과정에서 패턴 데이터가 기존의 행동 분류 과정에 포함되지 않을 경우 새롭게 행동 패턴 DB에 저장된다. 새로운 행동 패턴 데이터는 저장이 되면서 추론이 되는 패턴으로 사용되어 데이터가 많아질수록 결과의 신뢰도가 높아질 수 있다. 물론, 모바일 컨텍스트 데이터(개인화 데이터) 이에 한정되지는 않는다. 예를 들어, 사용자가 어느 한 페이지를 계속하여 보았는지, 스크롤의 횟수가 느려졌는지(관심있게 보는 경우), 또는 어느 페이지가 출력되었을 때 얼마나 빨리 꺼버렸는지 또는 스크롤했는지(관심이 없어서 넘기는 경우), 주문 후 결제까지의 시간이 얼마나 걸렸는지(망설인 시간 ∝ 선호도가 높지 않음) 등을 모두 수집할 수 잇다. 물론, 컴퓨팅 자원 및 네트워킹 자원이 뒷받침되어야 하지만, 이는 서버에서 분산 병렬 시스템을 이용하여 각 노드에서 나누어 처리를 하며, CPU 대신 GPU를 이용함으로써 처리속도 및 지연을 낮출 수 있다고 설정하여 해결할 수 있다. 이때, 분산 병렬 시스템은 예를 들어 하둡을 이용할 수 있지만 이에 한정되는 것은 아니다.
마지막으로 음식점 선정은, 추론 과정을 통해 사용자가 행동하고자 하는 목적을 보다 정확하게 알고 음식점을 방문하는데 도움을 줄 수 있도록 한다. 현재의 행동 패턴과 동일한 패턴이 있으면 동일한 패턴을 우선적으로 추론하며 동일하지 않을 경우 유사한 패턴으로 현재 행동의 목적을 추론한다. 물론, 상술한 방법에 한정되지 않고 다양한 방법의 상황인지 알고리즘이 이용될 수 있는데, 사용자가 어떤 아이템 혹은 서비스를 사용한 정보뿐만 아니라 그때의 사용자의 상황 정보까지 함께 파악해 저장하여, 추후 추천에 이용할 수 있다. 예를 들어, (사용자x아이템x선호도)로 구성된 데이터 대신, (사용자x아이템x상황x선호도)로 구성된 데이터를 기반으로 사용자가 선호할만한 아이템을 찾는 과정을 진행할 수 있으며, 상황의 반영 방법에 따라 Contextual Pre-Filtering, Contextual Post-Filtering, Contextual Modeling을 이용할 수도 있다.
배제부(360)는, 사용자 단말(100)에서 어느 하나의 음식점을 선택한 후 주문까지 걸리는 시간이 높을수록 및 주문 후 음식점에 대한 적어도 하나의 카테고리의 평점이 없거나 낮을수록 개인화 데이터에서 선택된 음식점 및 선택된 음식점과 동일한 리뷰 카테고리의 평점을 가지는 적어도 하나의 음식점은 사용자 단말(100)의 메인 페이지에서 제거하는 NOT 연산자를 적용할 수 있다. 예를 들어, 사용자 A가 저녁 11시에 길동이네 오돌뼈 가게에서 오돌뼈 세트를 선택하여 보고 있다. 그런데, 초기 선택시간은 11시00분이었고, 리뷰 페이지로 가서 리뷰를 보다가, 다시 신이네 곱창집으로 11시 10분에 가서 곱창 리뷰 페이지에서 사진을 스크롤하다가, 다시 길동이네 오돌뼈 가게로 11시 30분에 왔다. 사용자 A는 오돌뼈 세트를 장바구니에 11시 40분에 담았고, 11시 40분에 담고 나서도 바로 결제하지 않고 11시 50분에 결제를 했다고 가정하자. 이때, 사용자 단말(100)에서 리뷰를 쓰지 않았거나 리뷰 카테고리의 평점이 낮은 경우, 맛이 있을까 없을까 망설이다가 주문을 했는데 역시나 실망을 한 경우라고 판단할 수 있다. 여기서, 길동이네 오돌뼈 가게를 2차 재정렬과정에서 배제하고, 다음부터는 추천에 포함되지 않도록 노출순위를 최하로 하거나 완전히 삭제하여 다시는 메인 페이지에 보이지 않도록 할 수 있다. 또는, 길동이네 오돌뼈 가게의 오돌뼈 A 세트 메뉴에 기 매핑되어 저장된 맛 평점, 예를 들어 3점이라면, (오돌뼈 세트 ∩ 평점 3점 이하)의 결과는 노출순위에서 최하위 또는 검색되지 않도로 완전히 삭제해버릴 수 있다.
후순위적용부(370)는, 개인화 데이터에 기반하여 필터링된 적어도 하나의 음식점의 노출순위를 설정할 때, 사용자 단말(100)에서 기 설정된 기간 내에 주문한 음식의 종류를 판매하는 적어도 하나의 음식점을 후순위로 배치할 수 있다. 아무리 산해진미라도 계속 먹으면 질리듯이 사람이 한 번 주문한 음식이 정말 맛있어서 계속 주문하는 경우를 제외하면, 일주일 내에 2-3번 연속하여 먹는 경우는 거의 없다. 이에 따라, 기 설정된 기간이 예를 들어 일주일이고, 일주일 내에 탕수육을 1 회 이상 주문했다면, 그 다음에 사용자가 본 발명의 일 실시예에 따른 페이지에 접속했을 때, 노출되는 음식점 순위 내에 "탕수육"을 판매하는 음식점들은 후순위로 밀려서 상위에 배치되지 않도록 할 수 있다.
전처리부(380)는, 음식점에서 제공된 무료 서비스에 기반하여 적어도 하나의 리뷰 카테고리에 평점을 부여하는 적어도 하나의 사용자 단말(100)의 평점을 배제하고 빅데이터화부(310)로 데이터를 전송할 수 있다. 이때, 무료 서비스란, 리뷰에 점수를 잘 줄 것을 암묵적으로 동의하고 고객이 음식점으로부터 받는 서비스인데, GIVE AND TAKE와 같이 언제나 세상엔 공짜가 없고, 공짜로 받은 음식값만큼 소비자들은 마음의 짐으로 리뷰를 대체로 잘 써주게 된다. 물론, 무료 서비스를 받고도 리뷰를 안좋게 쓰는 경우도 존재하지만, 이러한 경우는 평점을 배제하지 않는다. 이때, 무료 서비스를 받고 리뷰 카테고리에 평점을 부여하는 소비자의 평점은 정직하지 않을 것이라고 판단하고 이러한 리뷰 카테고리의 평점은 부여하고 평균을 산출할 수 있다. 예를 들어, 100 명 중 20명이 무료 서비스를 받았고, 20명이 5점(5점 만점)을 주었다고 가정하면, 20명을 제외하고 나머지 80명의 리뷰 카테고리의 평점만을 이용할 수 있다.
덧붙여서, 본 발명의 일 실시예에 따른 방법은, 리뷰 카테고리가 시스템 상으로 고정되어 있음으로써 사용자의 충분한 의견을 반영하지 못할 수도 있으므로, 고정되어 있는 특징(리뷰 카테고리) 이외에 사용자가 생각하는 특징에 대한 점수를 반영할 수 있는 플랫폼을 더 구비할 수도 있다. 각 음식점에 대한 특징들은 메뉴별로 다르게 추출되어지는 것이 필요하고, 이들을 언급된 빈도수 순으로 정렬하여 별점과 같이 보여줌으로써 각 특징의 중요도를 한눈에 파악할 수 있도록 하는 것이다. 예를 들어, 초밥의 품질기준은 밥 모양(색깔 및 윤기), 즉 윤기가 많고, 밥알의 부서짐이 적고 밥알의 크기가 적당해야 하고, 밥냄새는, 식초, 소금 및 생선과 조합이 좋아야 하며, 찰기와 부착성은 너무 많지 않아야 하며, 질감은 밥알의 경도 및 탄력성이 높으면서 부드러운 질감이어야 하고, 밥맛은 입안에 넣었을 때 초밥모양이 바로 부서지지 않고 씹었을 때 생선회와 조화가 잘 이루어져야 한다는 품질 평가기준이 존재한다. 이와 같이 각 메뉴마다 특징과 평가하는 기준이 다르기 때문에, 단순히 맛-평점 5점으로 점수를 매긴다면 어떠한 맛이 좋은건지, MSG를 좋아하는 직장인 A가 MSG가 많아서 좋았던 건지, 매운 것을 좋아하는 A의 식성에 맞았던 것인지 알 수가 없다.
따라서 본 발명의 일 실시예에서는 메뉴 특징 추출과정과 평점 분배 방법을 통해 나온 결과를 이용하여 빅데이터화부(310)에서 음식점을 평가하는 기준으로 이용할 수 있고 사용자에게 보여줄 수 있다. 메뉴 특징 추출과 평점 분배를 위하여, 본 발명의 일 실시예는, 크롤러와 데이터 구축, 특징 추출 영역으로 구분되고, 크롤러 영역에서는 특정 음식점에 축적된 리뷰와 평점을 통하여, 메뉴의 이름, 분류, 리뷰, 평점을 수집할 수 있다. 데이터 구축 영역에서는 형태소 분석 모듈을 통해 형태소 분석을 수행하며, 감성어 점수 부여 모듈을 통해 감성어 점수 부여를 수행하고, 점수 계산 모듈을 통해 각 문장의 점수와 특징의 점수를 계산한다. 다음으로 특징 추출 영역에서는 특징 추출 모듈을 통해 메뉴의 특징을 추출하게 된다.
메뉴 특징 추출 단계의 첫 번째 단계로 크롤러가 메뉴의 이름, 분류, 리뷰, 평점을 크롤링 한다. 두 번째 단계에서는 크롤링한 리뷰에 대해서 형태소 분석 모듈을 통해 리뷰를 문장으로 분할한다. 그리고 각 문장에서 명사와 서술어를 추출한다. 여기에서 서술어란, 한 문장에서 주어의 움직임, 상태, 성질 따위를 서술하는 말로 ‘배달도 빠르고, 음식도 맛있다.’를 예로 들면 ‘빠르고’, ‘맛있다’를 서술어라고 한다. 다음 단계로, 설문조사를 통해 구축된 감성어 데이터베이스의 데이터와 추출한 서술어를 비교하여 서술어의 점수를 부여한다. 감성어란, 텍스트에서 사람들의 주관적인 성향과 의견 등을 분석할 수 있는 자연어를 말하는데, 긍정 및 부정을 판단할 수 있는 형용사, 부사를 감성어로 판단하여 사용한다. 이 단계에서 추출한 명사와 서술어를 데이터베이스에 삽입한다. 네 번째 단계로, 특징 점수를 계산하는 단계에서는 각 문장에 출현하는 서술어의 점수를 이용하여 문장의 점수를 계산한다. 다음으로 사용자가 부여한 평점과 해당 리뷰에 출현하는 특징의 개수와 문장의 점수를 이용하여 특징의 점수를 계산한다. 마지막 단계로 구축된 데이터베이스로부터 특징 추출 모듈을 통해 메뉴의 특징과 각 특징의 점수를 출력해준다. 이때, 특징은 리뷰에서 특징이라고 판단되는 명사에 대응할 수 있다.
또는, 리뷰 데이터에 기재된 문장 또는 단어를 리뷰 카테고리화, 즉 태그화하기 위해 리뷰에 포함된 단어 및 문장을 벡터 형태로 표현한 후 벡터 형태로 표현된 리뷰의 단어 및 문장의 클러스터링을 수행하도록 할 수도 있다. 이때, 클러스터링이란 텍스트 마이닝과 정보검색이론 분야의 연구에서 많이 적용되는 대표적인 비지도학습 방법이며, 군집화 방법에 따라 계층구조 클러스터링(Hierarchical Clustering), 분할구조 클러스터링(Partitional Clustering), 그리고 스펙트럼구조클러스터링(Spectral Clustering)으로 나누어진다.
가장 일반적으로 사용되는 클러스터링 알고리즘은 상향식 계층군집화(Agglomerative hierarchical clustering) 알고리즘과 K-means 알고리즘이 있는데, K-means 알고리즘은 상향식 계층 클러스터링보다 성능은 떨어지지만 효율적인 군집화 알고리즘으로 평가되고 있다. 이에 따라, 본 발명의 일 실시예에서는, 군집화 성능보다 효율성에 더 초점을 맞추어 K-means 알고리즘을 군집화 알고리즘으로 적용할 수 있다. 물론, 상향식 계층군집화 알고리즘을 배제하는 것은 아니다. 이때, K-means 알고리즘은, 벡터 공간내의 K개의 중심점을 K개의 클러스터로 표현할 수 있다는 전제를 가지고 수행되며, 일반적으로 각 벡터의 코사인 유사도 산출을 통해 클러스터를 형성한다. K-means 알고리즘은 클러스터를 생성하는 방법에 따라 bisecting, antipole, multipole 등의 다양한 확장 알고리즘을 더 이용할 수 있다.
상술한 과정을 상세히 설명하면 다음과 같다.
첫 번째로, 리뷰에 기재된 단어 및 문장의 형태소 분석 및 불용어 제거 과정을 진행할 수 있다. 리뷰에 기재된 단어 및 문장을 가지고 K-means를 수행하기 위해 리뷰에 기재된 데이터들은 클러스터링 수행에 적합한 형태로 변환되어어야 한다. 이를 위해, 단어 및 문장을 벡터로 변환하는 수치화 작업을 진행한다. 수치화 작업을 위하여 단어 및 문장에 대한 형태소 분석을 실시하며, 그 결과 형태소 하나하나가 한 벡터의 차원을 이루게 된다. 해당 형태소의 포함 여부에 따라 각각의 벡터 요소들은 1 또는 0의 값을 가지게 되며, 이 과정에서 형태소 분석기를 이용할 수 있다.
두 번째는, 태그 풀(Tag Pool)을 생성하는 것이다. 단어 및 문장이 기재된 리뷰 간의 거리 측정 및 비교 가능한 기준은 벡터 곱을 통해 달성된다. 이를 위해 모든 형태소에 대한 정보를 포함하고 있는 표준벡터에 대한 정의가 필요하며, 이러한 표준벡터로 모든 리뷰로부터 추출된 태그 풀을 사용할 수 있다. 태그 풀은, 모든 리뷰에 포함된 단어 및 문장으로부터 추출된 태그들을 중복 없이 모두 담고 있는 풀을 의미한다.
세 번째는, 태그의 계층구조를 제작하는 과정인데, 태그 계층구조는 앞서 제작한 태그 풀을 기반으로 제작된다. 태그 계층구조 생성을 위한 벡터는 태그 풀의 요소를 서로 비교하면서 임의의 태그들이 동일한 태그 풀에 포함된 경우가 몇 번 있는가에 따라 벡터 값을 부여할 수 있다. 예를 들어, 동일한 사용자가 하나의 리뷰에 입력한 단어 및 문장에서, 또는 서로 다른 사용자가 서로 다른 리뷰에 입력한 단어 및 문장에서, 임의의 두 태그를 동시에 입력한 정도에 따라 벡터값이 부여된다. 이러한 방식을 따라 산출된 각각의 태그 벡터들은 단위벡터로 변환 후 K-means를 통해 클러스터링 되고, 군집 분석을 통해 유사도가 높은 벡터들끼리 그룹화하여 몇 개의 태그 그룹으로 분류될 수 있다. 그리고 다시 각각의 그룹에 대해 위와 같은 클러스터링 작업을 반복적으로 적용함으로써 전체 태그 집합에 대한 태그 계층구조를 생성할 수 있다.
마지막으로, 태그 벡터를 계산해야 하는데, 마지막으로 태그 벡터를 만드는 과정을 통해 군집화 알고리즘을 수행하기 위한 모든 준비 과정이 끝나게 된다. 이 과정을 통해 각각의 리뷰가 서로 얼마나 닮은 정보를 가지고 있는지 유추해 볼 수 있는 기준을 마련하게 된다. 이에 더하여, 태그 계층구조를 태그 벡터에 반영하기 위해 계층구조를 바탕으로 계산된 값을 사용할 수 있고, 이때 부여되는 벡터 값은 예를 들어, Leacock-Chodorow Measure를 사용할 수 있지만, 이에 한정되는 것은 아니다. Leacock-Chodorow Measure는 0부터 무한대까지의 값으로 어휘 유사도를 표현하기 때문에, 태그 벡터의 가중치를 업데이트하는 용도로 적용할 수 있다.
이렇게 클러스터링을 위한 모든 준비가 완료되면, 각 리뷰를 묶는 작업을 통하여 새로운 태그를 도출할 수 있다. 이때, 첫 클러스터링 K값의 결정을 위해, K-means 클러스터링 적용할 때, 군집화 결과 그룹의 개수(K)는 군집화 성능에 중요한 영향을 미친다. 대부분의 경우 K는 정적인 변수로 설정되어 그 개수에 맞추어 클러스터링 결과를 도출하도록 하고 있지만 서로 다른 메뉴에 대한 서로 다른 방향의 태그를 가지는 특성을 고려하면 일정한 K값을 정하는 것은 매우 어려운 일이다.
따라서, 본 발명의 일 실시예에 따른 방법에서는 리뷰에 포함된 단어 및 문장에 따른 각기 다른 태그에 따라 각기 다른 K값을 설정하는 것도 가능하다. K-means는 최적의 클러스터가 생성될 때까지 반복하여 군집을 재생성한다. 즉, K-means에 의해 일단 클러스터가 생성되면 클러스터된 모든 그룹들에 대하여 중심 값을 다시 계산하고 모든 태그 풀을 대상으로 K개의 클러스터에 순서대로 벡터 곱을 수행한다. 그 후 수행결과 벡터 곱이 가장 컸던 그룹에 다시 그 태그 풀을 배정하며 마지막 태그 풀까지 벡터곱과 배정 과정을 수행한다. 이로 인해 새로운 클러스터링 결과가 산출되면 다시 중심 값을 구하는 과정을 반복 수행하여 최적의 클러스터링 상태를 이루도록 한다. 이때, 종료 시점은, 새롭게 형성된 결과들이 직전의 클러스터링 결과와 비교하였을 때 아무런 변화가 일어나지 않았을 때이다.
이하, 상술한 도 2의 개인화 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, (a) 개인화 서비스 제공 서버(300)는 적어도 하나의 리뷰 카테고리(메뉴맛, 배송시간...)를 생성하고, 각 점수에 대응하는 의미를 데이터베이스화한다. 예를 들어, 5점이면 매우 그렇다, 1점이면 매우 아니다, 0점은 1점도 아까워서 점수도 주기 싫을만큼 정말 아니다 등으로 구분될 수 있다. (b)를 참조하면, 개인화 서비스 제공 서버(300)는, 사용자의 리뷰 카테고리에 부여한 평점을 통하여 음식점을 평가하기도 하지만, 이와 동시에 리뷰 카테고리의 평점의 평균치 및 산술평균 등 그래프를 이용하여 사용자가 평균치에 비하여 어느 부분에 가있는지를 확인한다. 즉, 사용자의 주관적인 관점(Point of View)을 평점으로 평가할 수 있는데, 이를 통하여 사용자의 특성 태그를 추출할 수 있고, 음식점에 대한 데이터베이스화 뿐만 아니라 사용자의 취향이나 선호도 등도 간접적으로 추출하여 데이터베이스화할 수 있다.
도 4를 참조하면, (a) B 사용자가 어제 족발을 주문한 기록이 남아있다면, 금일 추천에서는 이를 배제하거나 후순위로 밀리게 하여 노출순위의 상단에 랭크되지 않도록 한다. 그리고, 사용자 단말(100)에서 입력된 키스트로크로깅에 "돈까스"라는 음식명이 계속하여 입력된 것이 포착되었다면, 사용자 단말(100)로 "돈까스" 집을 우선하여 추천할 수 있도록 한다. 이렇게 특성 태그 및 개인화 데이터가 모였으면, 개인화 서비스 제공 서버(300)는, (b)우선 1차적으로 개인 특성 태그를 이용하여 사용자의 취향이나 선호도에 따라 음식점을 정렬(유사도 기반)하거나 취향이나 선호도에 맞지 않는 음식점은 제거하는 필터링과정을 거친다. 2차적으로, (c) 사용자의 웹트래픽 및 키스트로그로깅을 통하여 얻은 사용자 개인화 데이터를 이용하여 1차적으로 정렬 또는 필터링 후 남은 음식점 목록에서, 2차적으로 재정렬 또는 재필터링을 진행함으로써 사용자의 개인화 데이터(상황 데이터)까지 반영한 결과를 전송해줄 수 있다. (d) 재정렬 또는 재필터링된 음식점 목록은 사용자 단말(100)의 메인 페이지에 출력됨으로써 개인화된 메인 페이지를 표시할 수 있고, 사용자 단말(100)은 첫 화면부터 자신이 원하던 돈까스가 출력됨으로써 빠르게 구매의사결정을 할 수 있다.
이와 같은 도 2 내지 도 4의 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 개인화 서비스 제공 서버는, 적어도 하나의 사용자 단말로부터 적어도 하나의 음식점에 부여된 기 설정된 적어도 하나의 리뷰 카테고리에 부여된 평점을 수집한다(S5100).
그리고, 개인화 서비스 제공 서버는, 적어도 하나의 리뷰 카테고리에 부여된 평점으로 적어도 하나의 음식점을 분류하여 저장하고(S5200), 적어도 하나의 음식점에 부여된 적어도 하나의 리뷰 카테고리의 평점 평균 데이터를 기준으로 적어도 하나의 사용자 단말에서 부여한 적어도 하나의 리뷰 카테고리의 평점을 분류하여 리뷰 카테고리의 평점별로 기 매핑되어 저장된 사용자의 특성 태그를 추출한다(S5300).
마지막으로, 개인화 서비스 제공 서버는, 특성 태그로 적어도 하나의 음식점을 필터링한 후, 개인화 데이터에 기반하여 필터링된 적어도 하나의 음식점의 노출순위를 설정한 후 사용자 단말의 메인 페이지로 설정한다(S5400).
상술한 단계들(S5100~S5400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (7)

  1. 웹트래픽 및 키스트로크 로깅(Keystroke logging)을 포함하는 개인화 데이터를 실시간으로 업로드하고, 상기 개인화 데이터에 의해 정렬순서가 변경된 메인 페이지를 노출하며, 상기 메인 페이지에서 배달을 선택 및 주문하고 기 설정된 적어도 하나의 리뷰 카테고리에 평점을 부여하는 적어도 하나의 사용자 단말(100); 및
    상기 적어도 하나의 사용자 단말(100)로부터 적어도 하나의 음식점에 부여된 상기 기 설정된 적어도 하나의 리뷰 카테고리에 부여된 평점을 수집하는 빅데이터화부(310), 상기 적어도 하나의 리뷰 카테고리에 부여된 평점으로 상기 적어도 하나의 음식점을 분류하여 저장하는 저장부(320), 상기 적어도 하나의 음식점에 부여된 적어도 하나의 리뷰 카테고리의 평점 평균 데이터를 기준으로 상기 적어도 하나의 사용자 단말(100)에서 부여한 적어도 하나의 리뷰 카테고리의 평점을 분류하여 상기 리뷰 카테고리의 평점별로 기 매핑되어 저장된 사용자의 특성 태그를 추출하는 추출부(330), 상기 특성 태그로 상기 적어도 하나의 음식점을 필터링한 후, 상기 개인화 데이터에 기반하여 상기 필터링된 적어도 하나의 음식점의 노출순위를 설정한 후 상기 사용자 단말(100)의 메인 페이지로 설정하는 설정부(340)를 포함하는 개인화 서비스 제공 서버(300);를 포함하고,
    상기 웹트래픽 및 키스트로크 로깅(Keystroke logging)을 포함하는 개인화 데이터는, 상기 메인 페이지에 접근하여 음식을 구매하는 시점에서 사용자의 선호도(Preference) 변화 및 상기 음식에 구매에 영향을 주는 기 설정된 적어도 하나의 상황 정보(Contextual Information)에 기반하여 사용자에게 개인화된 음식을 추천하기 위한 데이터로 이용되며,
    상기 개인화 서비스 제공 서버(300)는, 상기 개인화 데이터에 기반하여 상기 노출순위를 설정할 때 적어도 하나의 종류의 상황인지 추천(Context-aware Recommender) 알고리즘을 이용하도록 제어하는 상황인지부(350);를 더 포함하고,
    상기 적어도 하나의 리뷰 카테고리는,
    메인음식의 맛, 배송시간, 배송기사의 친절도, 포장의 견고도, 상점의 친절도, 포장재 디자인, 반찬의 갯수, 반찬의 맛 및 서비스 품목의 만족도 중 적어도 하나를 포함하고,
    상기 적어도 하나의 리뷰 카테고리는 별점 또는 기 설정된 점수 체계를 가지고 평점이 부여되는 평가척도이고,
    동일한 변수인 동일 파라미터에 대한 서로 다른 평점에 대한 통계를 산출한 후 평균값에 기반하여, 상기 적어도 하나의 사용자 단말(100)에서 부여한 평점으로 상기 적어도 하나의 사용자 단말(100)의 특성 태그를 추출하며,
    상기 사용자 단말(100)의 메인 페이지에 설정된 상기 필터링된 적어도 하나의 음식점의 노출순위 중 어느 하나의 음식점이 선택되면, 상기 개인화 서비스 제공 서버(300)를 경유하여 사용자 단말(100)의 주문이 접수되고, 그 접수된 주문을 출력하는 적어도 하나의 음식점 단말(400);을 더 포함하고,
    상기 개인화 서비스 제공 서버(300)를 통하여 수집된 리뷰 카테고리 중 배달기사 친절도 및 배달속도 항목의 점수가 개인별로 부여되는 적어도 하나의 배달 단말(500);을 더 포함하는 것을 특징으로 하는 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 개인화 서비스 제공 서버(300)는,
    상기 사용자 단말(100)에서 어느 하나의 음식점을 선택한 후 주문까지 걸리는 시간이 높을수록 및 상기 주문 후 음식점에 대한 적어도 하나의 카테고리의 평점이 없거나 낮을수록 상기 개인화 데이터에서 상기 선택된 음식점 및 상기 선택된 음식점과 동일한 리뷰 카테고리의 평점을 가지는 적어도 하나의 음식점은 상기 사용자 단말(100)의 메인 페이지에서 제거하는 NOT 연산자를 적용하는 배제부(360);
    를 더 포함하는 것을 특징으로 하는 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템.
  6. 제 1 항에 있어서,
    상기 개인화 서비스 제공 서버(300)는,
    상기 개인화 데이터에 기반하여 상기 필터링된 적어도 하나의 음식점의 노출순위를 설정할 때, 상기 사용자 단말(100)에서 기 설정된 기간 내에 주문한 음식의 종류를 판매하는 적어도 하나의 음식점을 후순위로 배치하는 후순위적용부(370);
    를 더 포함하는 것을 특징으로 하는 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템.
  7. 제 1 항에 있어서,
    상기 개인화 서비스 제공 서버(300)는,
    상기 음식점에서 제공된 무료 서비스에 기반하여 적어도 하나의 리뷰 카테고리에 평점을 부여하는 적어도 하나의 사용자 단말(100)의 평점을 배제하고 상기 빅데이터화부(310)로 데이터를 전송하는 전처리부(380);
    를 더 포함하는 것을 특징으로 하는 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템.
KR1020200068804A 2020-06-08 2020-06-08 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템 KR102227552B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200068804A KR102227552B1 (ko) 2020-06-08 2020-06-08 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200068804A KR102227552B1 (ko) 2020-06-08 2020-06-08 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템

Publications (1)

Publication Number Publication Date
KR102227552B1 true KR102227552B1 (ko) 2021-03-15

Family

ID=75134379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200068804A KR102227552B1 (ko) 2020-06-08 2020-06-08 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템

Country Status (1)

Country Link
KR (1) KR102227552B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11276129B2 (en) * 2020-01-01 2022-03-15 Rockspoon, Inc. Personalized food item design and culinary fulfillment system
KR102415373B1 (ko) * 2021-11-15 2022-07-01 주식회사 팜킷 사용자의 기호에 맞는 음식을 추천하는 방법, 장치 및 컴퓨터 프로그램 제품
KR102420825B1 (ko) * 2021-07-06 2022-07-14 주식회사 인시퀀스 홈페이지 제작서버
KR102430904B1 (ko) * 2021-12-09 2022-08-10 쿠팡 주식회사 서버 및 그의 정보 제공 방법
WO2023027377A1 (ko) * 2021-08-23 2023-03-02 삼성전자 주식회사 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법
KR20230148995A (ko) 2022-04-19 2023-10-26 인하대학교 산학협력단 개인화된 리뷰를 제공하는 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140128514A (ko) * 2013-04-26 2014-11-06 에스케이플래닛 주식회사 어플리케이션을 이용한 상품 주문 방법 및 장치
KR20170030379A (ko) * 2015-09-09 2017-03-17 네이버비즈니스플랫폼 주식회사 사용자 선호에 맞춘 여행 큐레이션 서비스 방법 및 시스템
KR20180128147A (ko) * 2017-05-23 2018-12-03 식신 주식회사 모바일 컨텍스트 정보 기반의 음식점 추천방법 및 그를 위한 장치
KR20190114718A (ko) * 2018-11-02 2019-10-10 주식회사 커넥위드 선호 메뉴 기반 음식점 추천 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140128514A (ko) * 2013-04-26 2014-11-06 에스케이플래닛 주식회사 어플리케이션을 이용한 상품 주문 방법 및 장치
KR20170030379A (ko) * 2015-09-09 2017-03-17 네이버비즈니스플랫폼 주식회사 사용자 선호에 맞춘 여행 큐레이션 서비스 방법 및 시스템
KR20180128147A (ko) * 2017-05-23 2018-12-03 식신 주식회사 모바일 컨텍스트 정보 기반의 음식점 추천방법 및 그를 위한 장치
KR20190114718A (ko) * 2018-11-02 2019-10-10 주식회사 커넥위드 선호 메뉴 기반 음식점 추천 방법 및 장치

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11276129B2 (en) * 2020-01-01 2022-03-15 Rockspoon, Inc. Personalized food item design and culinary fulfillment system
US20220222757A1 (en) * 2020-01-01 2022-07-14 Rockspoon, Inc. Personalized food item design and culinary fulfillment system
US11727511B2 (en) * 2020-01-01 2023-08-15 Rockspoon, Inc. Personalized food item design and culinary fulfillment system
KR102420825B1 (ko) * 2021-07-06 2022-07-14 주식회사 인시퀀스 홈페이지 제작서버
KR102462135B1 (ko) * 2021-07-06 2022-11-03 주식회사 인시퀀스 홈페이지 제작 시스템
WO2023027377A1 (ko) * 2021-08-23 2023-03-02 삼성전자 주식회사 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법
KR102415373B1 (ko) * 2021-11-15 2022-07-01 주식회사 팜킷 사용자의 기호에 맞는 음식을 추천하는 방법, 장치 및 컴퓨터 프로그램 제품
KR102430904B1 (ko) * 2021-12-09 2022-08-10 쿠팡 주식회사 서버 및 그의 정보 제공 방법
WO2023106495A1 (ko) * 2021-12-09 2023-06-15 쿠팡 주식회사 서버 및 그의 정보 제공 방법
KR20230148995A (ko) 2022-04-19 2023-10-26 인하대학교 산학협력단 개인화된 리뷰를 제공하는 방법 및 시스템

Similar Documents

Publication Publication Date Title
KR102227552B1 (ko) 상황인지 알고리즘 기반 리뷰 카테고리를 이용한 음식점 노출 개인화 서비스 제공 시스템
US11636502B2 (en) Robust multichannel targeting
Nitu et al. Improvising personalized travel recommendation system with recency effects
US20160350834A1 (en) Systems and methods for constructing and applying synaptic networks
KR100963996B1 (ko) 감성에 기반한 개인별 제품 추천 장치 및 방법, 그 기록 매체
JP5831204B2 (ja) 情報提供システム、情報提供方法及びプログラム
KR102458510B1 (ko) 실시간 보완 가능한 마케팅 시스템
KR101707660B1 (ko) 연관 검색어를 이용한 관심사 카테고리 기반 이커머스 시스템
KR102322668B1 (ko) 콘텐츠 크리에이터의 창작활동 활성화를 위한 다중 플랫폼 서비스 제공 시스템
KR102117667B1 (ko) 소셜미디어 및 사용자 로그를 이용한 큐레이션 기반 데일리 코디 서비스 제공 방법
CN111666413B (zh) 基于评论者可信赖度回归预测的商品评论推荐方法
KR101026544B1 (ko) 인공지능에 기반한 랭킹 분석 방법, 이를 기록한 기록 매체, 그 장치
Ahmadian et al. Healthy food recommendation using a time-aware community detection approach and reliability measurement
Dixit et al. A propound hybrid approach for personalized online product recommendations
CN114841760A (zh) 一种基于受众行为特征分析的广告推荐管理方法及系统
KR20220163196A (ko) 인공지능 기반 향수 추천 서비스 제공 시스템
KR20220014499A (ko) Cnn 학습 방식을 이용한 사용자 경험 기반 취향관계망 생성 시스템
JP7318071B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
KR102451020B1 (ko) 웹 크롤링 기능을 이용한 기업용 지능형 콘텐츠 큐레이션 방법
JP7104257B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
Shanthi et al. A Personalized Hybrid Recommendation Procedure for Internet Shopping Support
JP7249446B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
Nedjah et al. Client profile prediction using convolutional neural networks for efficient recommendation systems in the context of smart factories
Ghose et al. Designing ranking systems for hotels on travel search engines to enhance user experience
Beer et al. Implementation of a map-reduce based context-aware recommendation engine for social music events

Legal Events

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