KR20190064042A - 상황 인식 기반 추천 방법 및 그 장치 - Google Patents
상황 인식 기반 추천 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20190064042A KR20190064042A KR1020170163300A KR20170163300A KR20190064042A KR 20190064042 A KR20190064042 A KR 20190064042A KR 1020170163300 A KR1020170163300 A KR 1020170163300A KR 20170163300 A KR20170163300 A KR 20170163300A KR 20190064042 A KR20190064042 A KR 20190064042A
- Authority
- KR
- South Korea
- Prior art keywords
- recommendation
- user
- emotion
- information
- emotional
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G06F17/27—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
상황 인식 기반 추천 방법이 제공된다. 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법은 사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 단계, 상기 획득된 컨텍스트 정보를 기초로 기 저장된 추천 후보 리스트에 포함된 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계, 상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 단계 및 상기 결정된 추천 항목을 제공하는 단계를 포함할 수 있다.
Description
본 발명은 상황 인식 기반 추천 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 사용자의 컨텍스트 정보를 고려하여 보다 지능 추천 서비스를 제공하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
최근 인터넷 서비스 및 모바일 기기의 발달에 따라, 언제 어디서든 네트워크에 접속할 수 있는 시대가 도래하였다. 아울러, 수많은 콘텐츠와 서비스가 범람하고 있기 때문에, 사용자가 선호하는 콘텐츠 또는 상품을 적절하게 추천해주는 개인화 추천 서비스 또는 맞춤형 추천 서비스가 범용적으로 활용되고 있다. 예를 들어, 온라인 마켓에서는 고객의 구매 행동을 분석하여 해당 고객이 선호할 가능성이 높은 상품을 추천하거나, 해당 고객과 유사한 구매 행동을 보이는 다른 고객이 구매한 상품을 해당 고객에게 추천해주는 서비스가 제공되고 있다.
최근에는, 인공 지능(artificial intelligence) 기술의 발달에 따라 챗봇(chatbot) 기반으로 대화형 추천 서비스를 제공하는 사례가 늘어나고 있다. 챗봇은 사람과의 문자 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공 지능 기반의 커뮤니케이션 소프트웨어(communication software)를 의미한다. 특히, 챗봇은 대다수의 사용자에게 익숙한 메신저 인터페이스 기반으로 동작하고, 사용자의 일상 생활과 가장 밀접한 인공 지능이라는 점에서, 새로운 마케팅 채널로 각광받고 있다.
그러나, 지금까지 제안된 대화형 추천 서비스는 챗봇이라는 새로운 인터페이스를 활용할 뿐, 사용자와 챗봇 간의 대화 내용을 활용하여 보다 지능적인 추천 서비스를 제공하지는 못하고 있다. 구체적으로, 챗봇을 통해 획득될 수 있는 사용자의 감성 정보, 컨텍스트 정보 등을 추천 서비스에 충분히 활용하지 못하고 있다.
따라서, 챗봇 환경에서 획득할 수 있는 새로운 유형의 정보를 이용하여 보다 지능적인 추천 서비스를 제공하는 방법이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는, 사용자의 컨택스트 정보를 활용하여 보다 지능적인 추천 서비스를 제공하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 사용자의 감성 상태 정보를 활용하여 보다 지능적인 추천 서비스를 제공하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 지능적인 추천 서비스 제공을 위해, 사용자의 발화 문장에서 해당 사용자의 감성 상태를 정확하게 결정하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법은, 추천 장치에서 수행되는 상황 인식 기반의 추천 방법에 있어서, 사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 단계, 상기 획득된 컨텍스트 정보를 기초로 기 저장된 추천 후보 리스트에 포함된 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계, 상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 단계 및 상기 결정된 추천 항목을 제공하는 단계를 포함할 수 있다.
일 실시예에서, 상기 사용자의 프로파일 정보를 획득하되, 상기 프로파일 정보는 상기 사용자의 선호도 정보를 포함하는 것인, 단계를 더 포함하되, 상기 추천 점수를 산출하는 단계는, 상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 제1 추천 점수를 산출하는 단계, 상기 획득된 프로파일 정보를 기초로 상기 추천 후보 항목 각각에 대한 제2 추천 점수를 산출하는 단계 및 상기 제1 추천 점수 및 상기 제2 추천 점수를 기초로 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계를 포함할 수 있다.
일 실시예에서, 상기 추천 후보 항목과 관련된 사용자 이력 정보를 획득하되, 상기 사용자 이력 정보는 상기 추천 후보 항목과 관련된 과거 컨텍스트 정보를 포함하는 것인, 단계를 더 포함하되, 상기 추천 점수를 산출하는 단계는, 상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 제1 추천 점수를 산출하는 단계, 상기 획득된 컨텍스트 정보와 상기 과거 컨텍스트 정보의 매칭 정도에 기초하여, 상기 추천 후보 항목 각각에 대한 제2 추천 점수를 산출하는 단계 및 상기 제1 추천 점수 및 상기 제2 추천 점수에 기초하여 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계를 포함할 수 있다.
일 실시예에서, 사용자의 발화 문장을 제공받는 단계 및 상기 발화 문장에 대한 감성 분석을 통해, 상기 사용자의 감성 상태를 결정하는 단계를 더 포함하되, 상기 결정된 감성 상태가 제1 감성 상태인 경우 상기 결정된 추천 항목은 제1 추천 항목이고, 상기 결정된 감성 상태가 제2 감성 상태인 경우 상기 결정된 추천 항목은 제2 추천 항목일 수 있다. 이때, 상기 제1 추천 항목과 상기 제2 추천 항목과 적어도 일부는 상이한 추천 항목을 포함할 수 있다.
일 실시예에서, 상기 사용자의 감성 상태를 결정하는 단계는, 감성 레이블이 부여된 문서의 집합에 기초하여 감성 분석 모델을 구축하되, 상기 감성 분석 모델은 문서에 포함된 감성 단어에 기초하여 문서 단위의 감성 분석 결과를 출력하는 모델인 것인, 단계, 상기 문서의 집합에서 각각의 감성 단어가 등장하는 빈도에 기초하여 감성 단어별로 감성 가중치를 결정하는 단계, 상기 사용자의 발화 문장에 포함된 감성 단어를 추출하는 단계, 상기 감성 분석 모델을 이용하여, 상기 추출된 감성 단어별로 제1 감성 지수를 산출하는 단계, 상기 결정된 감성 가중치를 이용하여 상기 제1 감성 지수를 조정함으로써, 상기 추출된 감성 단어별로 제2 감성 지수를 산출하는 단계 및 상기 제2 감성 지수를 이용하여, 상기 사용자의 감성 상태를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 사용자의 감성 상태를 결정하는 단계는, 감성 레이블이 부여된 문서의 집합에 기초하여 감성 분석 모델을 구축하되, 상기 감성 분석 모델은 문서에 포함된 감성 단어에 기초하여 문서 단위의 감성 분석 결과를 출력하는 모델인 것인, 단계, 기 정의된 감성 사전에 기초하여 감성 단어별로 감성 가중치를 결정하되, 상기 기 정의된 감성 사전은 감성 단어에 대한 감성 지수가 정의된 사전인 것인, 단계, 상기 사용자의 발화 문장에 포함된 감성 단어를 추출하는 단계, 상기 감성 분석 모델을 이용하여, 상기 추출된 감성 단어별로 제1 감성 지수를 산출하는 단계, 상기 결정된 감성 가중치를 이용하여 상기 제1 감성 지수를 조정함으로써, 상기 추출된 감성 단어별로 제2 감성 지수를 산출하는 단계 및 상기 제2 감성 지수를 이용하여, 상기 사용자의 감성 상태를 결정하는 단계를 포함할 수 있다.
일 실시예에서, SNS(social network service)에 게시된 게시 정보를 수집하는 단계 및 상기 수집된 게시 정보를 이용하여 상기 추천 후보 리스트를 생성하는 단계를 더 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 상황 인식 기반 추천 장치는, 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 추천 후보 항목에 대한 추천 후보 리스트 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 오퍼레이션, 상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 오퍼레이션, 상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 오퍼레이션 및 상기 결정된 추천 항목을 제공하는 오퍼레이션을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 상황 인식 기반 추천 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 단계, 상기 획득된 컨텍스트 정보를 기초로 기 저장된 추천 후보 리스트에 포함된 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계, 상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 단계 및 상기 결정된 추천 항목을 제공하는 단계를 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법이 적용될 수 있는 예시적인 시스템의 구성도이다.
도 2는 본 발명의 몇몇 실시예에서 참조될 수 있는, 지능형 대화 에이전트 기반으로 대화형 추천 서비스가 제공되는 예를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 장치를 나타내는 블록도이다.
도 4는 본 발명의 몇몇 실시예에서 참조될 수 있는 특정 사용자의 이력의 예시도이다.
도 5는 본 발명의 몇몇 실시예에서 참조될 수 있는 전체 사용자의 이력의 예시도이다.
도 6은 본 발명의 몇몇 실시예에서 참조될 수 있는 추천 후보 리스트의 예시도이다.
도 7은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 장치의 하드웨어 구성도이다.
도 8은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법을 개략적으로 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 추천 점수 산출 방법을 나타내는 흐름도이다.
도 10a 내지 도 12는 본 발명의 제1 실시예에 따른 감성 분석 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 제2 실시예에 따른 감성 분석 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 제3 실시예에 따른 감성 분석 방법을 설명하기 위한 도면이다.
도 15 및 도 16은 본 발명의 몇몇 실시예에서 참조될 수 있는, 지능형 대화 에이전트 기반으로 추천 항목에 대한 추가 정보를 제공하는 예를 설명하기 위한 도면이다.
도 2는 본 발명의 몇몇 실시예에서 참조될 수 있는, 지능형 대화 에이전트 기반으로 대화형 추천 서비스가 제공되는 예를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 장치를 나타내는 블록도이다.
도 4는 본 발명의 몇몇 실시예에서 참조될 수 있는 특정 사용자의 이력의 예시도이다.
도 5는 본 발명의 몇몇 실시예에서 참조될 수 있는 전체 사용자의 이력의 예시도이다.
도 6은 본 발명의 몇몇 실시예에서 참조될 수 있는 추천 후보 리스트의 예시도이다.
도 7은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 장치의 하드웨어 구성도이다.
도 8은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법을 개략적으로 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 추천 점수 산출 방법을 나타내는 흐름도이다.
도 10a 내지 도 12는 본 발명의 제1 실시예에 따른 감성 분석 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 제2 실시예에 따른 감성 분석 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 제3 실시예에 따른 감성 분석 방법을 설명하기 위한 도면이다.
도 15 및 도 16은 본 발명의 몇몇 실시예에서 참조될 수 있는, 지능형 대화 에이전트 기반으로 추천 항목에 대한 추가 정보를 제공하는 예를 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에 대한 설명에 앞서, 본 명세서에서 사용되는 몇몇 용어들에 대하여 명확하게 하기로 한다.
본 명세서에서, 지능형 대화 에이전트(intelligent dialog agent)란, 사용자의 개입 없이 대화 서비스를 제공하는 모듈(module)을 의미한다. 상기 지능형 대화 에이전트는 챗봇(chatbot), 인공 비서(artificial assistant), 가상 비서(virtual assistant) 등을 모두 포괄하는 개념으로 이해될 수 있다.
본 명세서에서, 감성 분석(sentiment analysis)이란, 음성, 텍스트 데이터를 분석하여 미리 정의된 감성 레이블을 부여하는 분류 또는 분석 작업을 의미한다. 상기 감성 레이블은 긍정 및 부정과 같은 극성(polarity)을 의미할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니며, 다양한 종류의 감성이 상기 감성 레이블로 정의될 수 있다.
본 명세서에서, 컨텍스트(context) 정보란, 사용자의 주변 환경에 따라 변동될 수 있는 정보를 모두 포함하는 포괄적인 개념이다. 상기 컨텍스트 정보는 예를 들어 위치 정보, 시간 정보, 그룹 유형 정보(e.g. 혼자, 연인, 친구, 동료), 날씨 정보 등을 포함할 수 있다.
본 명세서에서, 사용자 프로파일(user profile) 정보란, 사용자 개개인에게 특화된 정보를 의미한다. 예를 들어, 상기 사용자 프로파일 정보는 해당 사용자의 취미, 인구통계학적 정보, 선호도 정보(e.g. 선호 음식, 선호 음악 등), 사용자의 개인 정보(e.g. 주소, 전화번호 등) 등을 포함할 수 있다.
본 명세서에서, 문서(document)란, 적어도 하나의 문장이 포함된 텍스트 데이터를 의미한다.
본 명세서에서, 오퍼레이션(operation)은 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법이 적용될 수 있는 예시적인 시스템의 구성도이다.
도 1을 참조하면, 상기 예시적인 시스템은 서비스 제공 서버(100) 및 서비스 제공 서버(200)를 포함하도록 구성될 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 예시적인 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
제1 실시예에서, 후술될 본 발명의 실시예에 따른 상황 인식 기반 추천 방법은 서비스 제공 서버(100)에 의해 수행될 수 있다. 이와 같은 경우, 서비스 제공 서버(100)는 사용자의 감성 정보, 프로파일 정보, 사용자 이력 및/또는 컨텍스트 정보 등에 기초하여 대화형 추천 서비스를 제공할 수 있다. 상기 대화형 추천 서비스는 예를 들어 앱(app) 기반 또는 웹(web) 기반으로 동작하는 지능형 대화 에이전트를 통해 제공될 수 있다.
제2 실시예에서, 본 발명의 실시예에 따른 상황 인식 기반 추천 방법은 사용자 단말(200)에 의해 수행될 수 있다. 이와 같은 경우, 사용자 단말(200)에서 앱 기반으로 동작하는 지능형 대화 에이전트(e.g. 가상 비서)를 통해 대화형 추천 서비스가 제공될 수 있다.
제3 실시예에서, 본 발명의 실시예에 따른 상황 인식 기반 추천 방법의 일부 과정은 서비스 제공 서버(100)에서 수행되고, 다른 일부 과정은 사용자 단말(200)에서 수행될 수 있다.
이와 같이, 실시예에 따라 상황 인식 기반 추천 방법의 수행 주체는 달라질 수 있다. 이하에서는, 다른 언급이 없는 한, 상기 제1 실시예와 같이 상황 인식 기반 추천 방법은 서비스 제공 서버(100)에서 수행되고, 사용자는 소정의 메신저 인터페이스를 통해 지능형 대화 에이전트로부터 대화형 추천 서비스를 제공받는 것을 가정하여 설명을 이어가도록 한다.
상기 예시적인 시스템에서, 서비스 제공 서버(100)는 사용자에게 대화형 추천 서비스를 제공하는 컴퓨팅 장치이다. 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 연산 수단 및 통신 수단이 구비된 모든 종류의 장치를 포함할 수 있다.
서비스 제공 서버(100)는 지능형 대화 에이전트를 통해 사용자 맞춤형 추천 서비스를 제공할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 사용자(20)가 지능형 대화 에이전트(10)에게 코트 추천을 요청(21)한 경우, 서비스 제공 서버(100)는 이에 대한 응답으로 사용자의 니즈(needs)에 부합하는 코트(13, 15, 17)를 추천할 수 있다. 이때, 서비스 제공 서버(100)는 사용자의 컨텍스트 정보, 프로파일 정보, 사용자 이력 및/또는 사용자의 감성 정보를 활용하여 추천 코트(13, 15, 17)를 결정할 수 있다. 예를 들어, 서비스 제공 서버(100)는 사용자의 위치를 고려하여 가까운 브랜드 판매점에서 판매하는 코트를 추천하거나, 사용자의 연령층을 고려하여 해당 연령층에서 유행하고 있는 코트를 추천 코트로 결정할 수 있다.
이해의 편의를 제공하기 위해, 도 2는 코트와 같은 상품을 추천 항목의 예로 도시하였으나, 상기 추천 항목의 유형은 실시예에 따라 얼마든지 달라질 수 있음에 유의해야 한다. 본 명세서에서, 상기 추천 항목은 상품, 콘텐츠, 서비스 등 추천의 대상이 될 수 있는 모든 유형의 항목을 포함할 수 있다.
서비스 제공 서버(100)가 수행하는 본 발명의 실시예에 따른 상황 인지 기반 추천 방법에 대해서는 도 3 이하의 도면을 참조하여 상세하게 설명하도록 한다.
상기 예시적인 시스템에서, 사용자 단말(200)은 대화형 추천 서비스를 제공받기 위해 사용자에 의해 이용되는 단말이다. 사용자 단말(200)은 스마트폰, 웨어러블 디바이스(wearable device), 노트북, 랩탑, 데스크탑 PC 등 다양한 종류의 컴퓨팅 장치로 구현될 수 있다.
상기 예시적인 시스템에서, 서비스 제공 서버(100)와 사용자 단말(200)은 네트워크를 통해 통신할 수 있다. 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지, 도 1을 참조하여 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법이 적용될 수 있는 예시적인 시스템에 대하여 설명하였다. 다음으로, 본 발명의 일 실시예에 따른 상황 인식 기반 추천 장치(300)의 구성 및 동작에 대하여 도 3 내지 도 7을 참조하여 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 장치(300)를 나타내는 블록도이다.
도 3을 참조하면, 상황 인식 기반 추천 장치(300)는 제1 모듈(320), 제2 모듈(340) 및 제3 모듈(360)을 포함하도록 구성될 수 있다. 다만, 도 3에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 또한, 도 3에 도시된 상황 인식 기반 추천 장치(300)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.
각 구성 요소를 살펴보면, 제1 모듈(320)은 사용자의 추천 요청에 응답하여 소정의 추천 항목을 추천하는 모듈이다. 이를 위해, 제1 모듈(320)은 감성 분석부(322), 컨텍스트 결정부(324) 및 추천부(326)를 포함하도록 구성될 수 있다.
감성 분석부(322)는 사용자의 발화 문장 및/또는 상기 발화 문장에 대응되는 음성 데이터를 이용하여 사용자의 감성 상태를 분석한다. 예를 들어, 감성 분석부(322)는 문서 단위 감성 분석 결과를 도출하는 감성 분석 모델(342)을 이용하여 사용자의 감성 상태를 분석할 수 있다.
제1 실시예에서, 감성 분석부(322)는 트레이닝 데이터셋에서 감성 단어의 등장 빈도에 기초하여 결정된 감성 단어별 감성 가중치(이하, "제1 감성 가중치"로 칭하기로 함)를 더 이용하여 사용자의 감성 상태를 분석할 수 있다. 이를 통해, 보다 정확한 감성 분석 결과가 제공될 수 있다. 상기 제1 실시예에 대한 설명은 도 10a 내지 도 12를 참조하여 후술하도록 한다.
제2 실시예에서, 감성 분석부(322)는 감성 사전에 기초하여 결정되는 감성 단어별 감성 가중치(이하, "제2 감성 가중치"로 칭하기로 함)를 더 이용하여 사용자의 감성 상태를 분석할 수 있다. 상기 감성 사전은 감성 단어에 대한 감성 지수가 사용자에 의해 정의된 사전을 의미한다. 상기 제2 실시예에 따르면, 신뢰도 높은 감성 사전에 기초하여 감성 분석이 수행되는 바, 신뢰도 높은 감성 분석 결과가 제공될 수 있다. 상기 제2 실시예에 대한 자세한 설명은 도 13을 참조하여 후술하도록 한다.
제3 실시예에서, 감성 분석부(322)는 상기 제1 감성 가중치 및 상기 제2 감성 가중치를 모두 이용하여 감성 분석을 수행할 수 있다. 상기 제3 실시예에 대한 자세한 설명은 도 14를 참조하여 후술하도록 한다.
이외에도, 감성 분석부(322)는 문서 단위 감성 분석 알고리즘, 속성 단위 감성 분석 알고리즘, 감성 사전 기반의 감성 분석 알고리즘 등 당해 기술 분야에서 널리 알려진 감성 분석 알고리즘을 이용하여 감성 분석을 수행할 수 있다.
컨텍스트 결정부(324)는 사용자의 발화 문장을 기초로 사용자의 현재 컨텍스트를 결정한다. 사용자의 발화 문장으로부터 사용자의 현재 컨텍스트를 결정하기 위해서는 어떠한 방식이 이용되더라도 무방하다.
컨텍스트 결정부(324)는 사용자 단말로부터 사용자의 컨텍스트 정보 또는 컨텍스트 관련 정보를 직접 수신할 수도 있다. 예를 들어, 컨텍스트 결정부(324)는 사용자 단말로부터 GPS 정보를 수신하여 해당 사용자의 위치 정보를 결정할 수 있다.
이외에도, 컨텍스트 결정부(324)는 외부의 서버를 이용하여 사용자의 컨텍스트 정보를 획득할 수 있다. 예를 들어, 컨텍스트 결정부(324)는 추천 요청이 수신된 시간 정보와 사용자의 위치 정보를 이용하여 외부의 서버로부터 날씨 정보를 획득할 수 있다.
추천부(326)는 컨텍스트 결정부(324)에 의해 제공되는 사용자의 컨텍스트 정보, 감성 분석부(322)에 의해 제공되는 사용자의 감성 상태 정보를 이용하여 추천 리스트(348)에서 추천 항목을 결정하여 제공한다. 또한, 추천부(326)는 사용자의 프로파일 DB(344), 사용자 이력 DB(346)에 보관된 정보들을 더 이용하여 추천 항목을 결정할 수 있다. 추천부(326)에 의해 수행되는 추천 방법에 대한 자세한 설명은 도 8 및 도 9를 참조하여 후술하도록 한다.
추천부(326)는 추천 항목 외에 상기 추천 항목과 관련된 추가 정보를 더 제공할 수 있다. 이를 통해, 사용자의 서비스 만족도가 향상될 수 있다. 추가 정보 제공에 대한 설명은 도 15 및 도 16에 도시된 예를 참조하여 후술하도록 한다.
다음으로, 제2 모듈(340)은 추천 서비스에 이용되는 다양한 기반 정보를 관리하는 모듈이다. 제2 모듈(340)은 감성 분석 모델(342), 사용자 프로파일 DB(344), 사용자 이력 DB(346) 및 추천 후보 항목 DB(348)를 포함하도록 구성될 수 있다.
감성 분석 모델(342)은 사용자의 발화 문장에 감성 분석 결과를 출력하는 모델이다. 감성 분석 모델(342)은 예를 들어 나이브 베이즈 분류기(naive bayes classifier)에 기초한 모델일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
사용자 프로파일 DB(344)는 대화형 추천 서비스를 제공받는 사용자들에 대한 프로파일 정보를 관리하는 데이터베이스이다.
사용자 이력 DB(346)는 대화형 추천 서비스와 관련된 다양한 사용자 이력 정보를 관리하는 데이터베이스이다. 상기 사용자 이력 정보는 사용자의 체험 이력 정보, 추천 이력 정보 등을 포함할 수 있다. 또한, 사용자 이력 정보는 특정 사용자의 이력 뿐만 아니라 다른 사용자의 이력도 포함할 수 있다.
상기 체험 이력 정보는 사용자의 체험에 기초하여 획득된 이력 정보를 의미한다. 가령, 음식점을 추천하는 서비스를 제공하는 경우, 상기 체험 이력 정보는 해당 음식점을 방문한 사용자의 이력 정보를 의미할 수 있다. 이에 대한 예는 도 4 및 도 5에 도시되어 있다. 구체적으로, 도 4는 특정 사용자의 체험 이력 정보를 가리키고, 도 5는 다수의 사용자의 체험 이력 정보를 가리킨다.
도 4 및 도 5에 도시된 바와 같이, 체험 이력 정보는 체험 시점의 사용자의 과거 컨텍스트 정보(e.g. 방문 시간, 그룹 유형 정보, 날씨 정보 등)와 사용자의 과거 감성 상태 정보를 포함할 수 있다. 마찬가지로, 추천 이력 정보도 추천 시점의 사용자의 컨텍스트 정보 및 감성 상태 정보를 포함할 수 있다.
추천 후보 항목 DB(348)는 추천 후보 항목에 대한 리스트를 관리하는 DB이다. 추천 후보 항목 정보는 추천 후보 항목의 식별자, 항목 명칭, 각 추천 후보 항목에 대한 상세 정보를 더 포함할 수 있다. 가령, 음식점을 추천하는 서비스를 제공하는 경우, 도 6에 도시된 바와 같이, 추천 후보 리스트는 음식점 이름 외에도 해당 음식점에서 제공되는 음식의 종류, 운영 시간, 음식점의 분위기 등의 다양한 정보를 더 포함할 수 있다.
한편, 도 3에 도시되어 있지 않으나, 제2 모듈(340)은 감성 단어별로 감성 지수가 정의된 감성 사전(미도시) 등과 같이 대화형 추천 서비스에 이용되는 다른 기반 정보들을 더 포함할 수 있음은 물론이다.
다음으로, 제3 모듈(360)은 추천에 이용되는 다양한 기반 정보를 구축하는 모듈이다. 제3 모듈(360)은 감성 분석 모델 구축부(362), 사용자 이력 수집부(364) 및 추천 리스트 생성부(366)를 포함하도록 구성될 수 있다.
감성 분석 모델 구축부(362)는 감성 레이블이 부여된 문서의 집합을 트레이닝 데이터셋으로 이용하여 감성 분석 모델(342)을 구축한다. 예를 들어, 감성 분석 모델 구축부(362)는 트레이닝 데이터셋으로부터 나이브 베이즈 분류기 기반의 감성 분석 모델을 구축할 수 있다. 나이브 베이즈 분류기 기반의 감성 분석 모델을 구축하는 방법은 도 10a 내지 도 10c를 참조하여 후술하도록 한다.
사용자 이력 정보 수집부(364)는 기 추천된 사용자 추천 이력 정보를 수집한다. 또한, 사용자 이력 정보 수집부(364)는 사용자의 SNS(social network service)에 게재된 게시 정보를 수집하고 분석하여 사용자의 체험 이력 정보를 자동으로 생성할 수 있다.
추천 후보 항목 정보 수집부(366)는 추천 후보 항목 DB(348)에 보관되는 추천 후보 항목 정보를 자동으로 수집하고 생성한다. 구체적으로, 추천 후보 항목 정보 수집부(366)는 SNS에 게시된 게시 정보를 수집하고, 상기 게시 정보를 분석하여 추천 항목의 리스트를 생성할 수 있다. 상기 게시 정보 분석을 위해 당해 기술 분야에서 널리 알려진 텍스트 마이닝(text mining) 기술, 자연어 처리 기술 등이 이용될 수 있다.
본 발명의 실시예에 따르면, 추천 후보 항목 정보 수집부(366)는 수집된 게시 정보에 대한 감성 분석을 수행하고, 상기 감성 분석의 결과가 기 정의된 기준을 만족하는 일부 게시 정보만을 이용하여 추천 후보 리스트를 생성할 수 있다. 예를 들어, 감성 분석을 통해 사용자의 긍정적인 의견이 게시된 일부 게시 정보가 선정되고, 선정된 일부 게시 정보를 이용하여 추천 후보 리스트가 생성될 수 있다. 본 실시예에 따르면, 사용자에게 긍정적인 평가를 받은 항목들로 구성된 추천 후보 리스트가 자동으로 생성될 수 있다. 이에 따라, 양질의 추천 서비스가 제공될 수 있는 바, 추천 서비스에 대한 사용자의 만족도가 제고될 수 있다.
도 3에 도시된 추천 장치(300)의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
도 7은 본 발명의 또 다른 실시예에 따른 상황 인식 기반 추천 장치(300)의 하드웨어 구성도이다.
도 7을 참조하면, 상황 인식 기반 추천 장치(300)는 하나 이상의 프로세서(301), 버스(305), 네트워크 인터페이스(307), 프로세서(301)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(303)와, 상황 인식 기반 추천 소프트웨어(309a)를 저장하는 스토리지(309)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(301)는 상황 인식 기반 추천 장치(300)의 각 구성의 전반적인 동작을 제어한다. 프로세서(301)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(301)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 상황 인식 기반 추천 장치(300)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(303)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(303)는 본 발명의 실시예들에 따른 상황 인식 기반 추천 방법을 실행하기 위하여 스토리지(309)로부터 하나 이상의 프로그램(309a)을 로드할 수 있다. 도 7에서 메모리(303)의 예시로 RAM이 도시되었다.
버스(305)는 상황 인식 기반 추천 장치(300)의 구성 요소 간 통신 기능을 제공한다. 버스(305)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(307)는 상황 인식 기반 추천 장치(300)의 유무선 인터넷 통신을 지원한다. 또한, 네트워크 인터페이스(307)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(307)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(309)는 상기 하나 이상의 프로그램(309a)을 비임시적으로 저장할 수 있다. 도 7에서 상기 하나 이상의 프로그램(309a)의 예시로 상황 인식 기반 추천 소프트웨어(309a)가 도시되었다.
스토리지(309)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
상황 인식 기반 추천 소프트웨어(309a)는 메모리(303)에 로드되어 하나 이상의 프로세서(301)에 의해 수행되는 컴퓨터 프로그램이다. 상황 인식 기반 추천 소프트웨어(309a)는 하나 이상의 프로세서(301)로 하여금 후술할 본 발명의 실시예에 따른 상황 인식 기반 추천 방법을 수행하도록 하는 일련의 오퍼레이션으로 구성된다.
예를 들어, 상황 인식 기반 추천 소프트웨어(309a)는 사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 오퍼레이션, 상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 오퍼레이션, 상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 오퍼레이션 및 상기 결정된 추천 항목을 제공하는 오퍼레이션을 포함하도록 구성될 수 있다.
지금까지, 도 3 내지 도 7을 참조하여 본 발명의 실시예에 따른 상황 인식 기반 추천 장치(300)의 구성 및 동작에 대하여 설명하였다. 다음으로, 도 8 내지 도 16을 참조하여 본 발명의 실시예에 따른 상황 인식 기반 추천 방법에 대하여 상세하게 설명하도록 한다.
이하, 본 발명의 실시예에 따른 상황 인식 기반 추천 방법의 각 단계는, 컴퓨팅 장치에 의해 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 상황 인식 기반 추천 장치(300)일 수 있다. 다만, 설명의 편의를 위해, 상기 상황 인식 기반 추천 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 상황 인식 기반 추천 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 오퍼레이션으로 구현될 수 있다.
도 8은 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 8을 참조하면, 단계(S100)에서, 추천 장치(300)는 사용자의 주변 환경에 대한 컨텍스트 정보를 획득한다. 전술한 바와 같이, 상기 컨텍스트 정보는 시간 정보, 위치 정보, 그룹 유형 정보, 날씨 정보 등을 포함할 수 있다.
상기 컨텍스트 정보를 획득하는 방식은 어떠한 방식이 되더라도 무방하다. 예를 들어, 추천 장치(300)는 사용자의 발화 문장에서 소정의 컨텍스트 정보를 추출할 수 있고, 사용자 단말로부터 소정의 컨텍스트 정보를 제공받을 수도 있으며, 외부의 서버로부터 사용자의 컨텍스트 정보를 제공받을 수도 있다.
단계(S120)에서, 추천 장치(300)는 획득된 컨텍스트 정보를 기초로 추천 후보 리스트에 포함된 추천 후보 항목 각각에 대한 추천 점수를 산출한다.
보다 자세하게는, 사용자의 컨텍스트 정보가 복수의 컨텍스트 정보로 구성된 경우, 추천 장치(300)는 제1 컨텍스트 정보에 부합하는 추천 후보 항목을 선정하고, 선정된 추천 후보 항목에 소정의 제1 추천 점수를 부여한다. 동일하게, 추천 장치(300)는 제2 컨텍스트 정보에 부합하는 추천 후보 항목에 소정의 제2 추천 점수를 부여한다. 이와 같은 과정을 통해, 추천 장치(300)는 추천 후보 항목 각각에 대한 최종 추천 점수를 산출할 수 있다. 컨텍스트 정보 별로 소정의 가중치가 정의된 경우, 추천 장치(300)는 가중치 합을 통해 각 추천 후보 항목에 대한 최종 추천 점수를 산출할 수 있다.
해당 추천 후보 항목이 컨텍스트 정보에 부합하는지 여부는 미리 정의된 규칙에 의해 판정될 수 있다. 구체적으로, 추천 후보 항목의 상세 정보와 상기 미리 정의된 규칙에 기초하여, 사용자의 컨텍스트 정보에 부합하는 추천 후보 항목이 결정될 수 있다. 음식점 추천 서비스를 예로 들면, 음식점의 위치 정보와 사용자의 위치 정보에 기초하여 가까운 곳에 위치한 음식점에 소정의 추천 점수가 부여될 수 있다. 또한, 사용자가 다수의 다른 사용자와 함께 있는 경우, 음식점의 크기 정보에 기초하여 규모가 큰 음식점에 소정의 추천 점수가 부여될 수 있다.
또한, 본 발명의 실시예에 따르면, 추천 장치(300)는 사용자의 프로파일 정보, 사용자의 감성 상태 정보 등을 더 이용하여 추천 항목에 대한 추천 점수를 산출할 수 있다. 이에 대한 설명은 도 9를 참조하여 후술하도록 한다.
단계(S140)에서, 추천 장치(300)는 추천 점수를 기초로 추천 후보 리스트에 포함된 추천 후보 항목 중에서 추천 항목을 결정한다. 구체적으로, 추천 장치(300)는 추천 점수가 상대적으로 높은 k개(단, k는 1이상의 자연수)의 추천 후보 항목 또는 추천 점수가 특정 수치 이상인 추천 후보 항목을 추천 항목으로 결정할 수 있다.
단계(S160)에서, 추천 장치(300)는 추천 항목을 사용자에게 제공한다. 예를 들어, 추천 장치(300)는 메신저 인터페이스를 통해 상기 추천 항목을 사용자에게 제공할 수 있다. 이때, 추천 장치(300)는 추천 항목에 대한 이미지, 추천 항목과 관련된 웹 페이지에 대한 딥링크(deep link), 지도 정보, 길찾기 정보 등의 추가 정보를 더 제공할 수 있다. 이에 대한 설명은 도 15 및 도 16을 참조하여 후술하도록 한다.
지금까지, 도 8을 참조하여 본 발명의 일 실시예에 따른 상황 인식 기반 추천 방법에 대하여 설명하였다. 상술한 방법에 따르면, 지능형 대화 에이전트 기반 환경에서 사용자의 컨텍스트 정보를 활용하여 보다 지능적인 추천 서비스가 제공될 수 있다.
다음으로, 컨텍스트 정보 외에 다양한 사용자 정보를 더 이용하여 추천 점수를 산출하는 방법에 대하여 도 9를 참조하여 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 추천 점수 산출 방법을 나타내는 흐름도이다.
도 9를 참조하면, 단계(S200)에서, 추천 장치(300)는 사용자의 컨텍스트 정보를 기초로 추천 후보 항목 각각에 대한 제1 추천 점수를 산출한다. 이에 대한 설명은 전술한 바와 같으므로 생략하도록 한다.
단계(S220)에서, 추천 장치(300)는 사용자의 프로파일 정보를 기초로 추천 후보 항목 각각에 대한 제2 추천 점수를 산출한다. 예를 들어, 추천 장치(300)는 미리 정의된 규칙에 따라 사용자의 프로파일 정보에 부합하는 추천 항목을 선정하고, 선정된 추천 항목에 소정의 추천 점수를 부여하는 방식으로 상기 제2 추천 점수를 산출할 수 있다. 프로파일 정보가 복수의 정보로 구성되는 경우, 추천 장치(300)는 가중치 합의 방식으로 상기 제2 추천 점수를 산출할 수 있다.
가령, 음식점 추천 서비스의 경우, 프로파일 상의 선호 음식을 판매하는 음식점에 소정의 추천 점수가 부여될 수 있다. 또한, 사용자 프로파일 상에서 사용자의 취미가 축구 경기 관람인 경우, 축구 경기를 볼 수 있는 음식점에 소정의 추천 점수가 부여될 수 있다.
단계(S240)에서, 추천 장치(300)는 사용자의 이력 정보를 기초로 추천 후보 항목 각각에 대한 제3 추천 점수를 산출한다. 보다 자세하게는, 획득된 사용자의 컨텍스트 정보와 사용자 이력에 포함된 추천 항목에 대한 과거 컨텍스트 정보 간의 매칭 정도에 기초하여 추천 후보 항목 각각에 대한 제3 추천 점수가 산출된다. 예를 들어, 추천 장치(300)는 사용자의 현재 컨텍스트 정보와 유사한 과거 컨텍스트 정보를 많이 포함하고 있는 추천 후보 항목에 높은 추천 점수를 부여될 수 있다.
한편, 상기 사용자 이력은 추천을 요청한 특정 사용자에 대한 제1 사용자 이력 뿐만 아니라 다른 사용자에 대한 제2 사용자 이력을 더 포함할 수 있다. 이와 같은 경우, 상기 획득된 컨텍스트 정보와 상기 제1 사용자 이력에 포함된 과거 컨텍스트 정보의 매칭 정도에 기초하여 추천 후보 항목 각각에 대한 제3-1 추천 점수가 산출되고, 상기 획득된 컨텍스트 정보와 상기 제2 사용자 이력에 포함된 과거 컨텍스트 정보의 매칭 정도에 기초하여 추천 후보 항목 각각에 대한 제3-2 추천 점수가 산출될 수 있다. 산출된 추천 점수는 가중치 합 등의 기법을 통해 합산될 수 있다.
단계(S260)에서, 추천 장치(300)는 사용자의 감성 상태를 기초로 추천 후보 항목 각각에 대한 제4 추천 점수를 산출한다.
제1 실시예에서, 추천 장치(300)는 감성 분석을 통해 결정된 사용자의 현재 감성 상태와 사용자 이력에 포함된 상기 과거 감성 상태 정보의 매칭 정도에 기초하여 상기 추천 후보 항목 각각에 대한 제4 추천 점수를 산출할 수 있다.
제2 실시예에서, 추천 장치(300)는 미리 정의된 규칙에 따라 사용자의 현재 감성 상태에 부합하는 추천 항목에 더 높은 점수를 부여하는 방식으로 제4 추천 점수를 산출할 수 있다. 가령, 음식점 추천 서비스의 경우, 사용자의 감성 상태에 따라 조용한 음식점에 소정의 추천 점수가 부여되거나, 매운 음식을 판매하는 음식점에 소정의 추천 점수가 부여될 수 있다.
제3 실시예에서, 상기 제1 실시예 및 상기 제2 실시예의 조합을 통해 상기 제4 추천 점수가 산출될 수 있다.
감성 분석을 수행하는 방법에 대한 설명은 도 10a 내지 도 14를 참조하여 상세하게 설명하도록 한다.
단계(S280)에서, 추천 장치(300)는 제1 추천 점수 내지 제4 추천 점수를 종합하여 추천 후보 항목 각각에 대한 최종 추천 점수를 산출한다. 예를 들어, 추천 장치(300)는 가중치 합을 통해 추천 후보 항목 별로 최종 추천 점수를 산출할 수 있다.
지금까지, 도 9를 참조하여 본 발명의 일 실시예에 따른 추천 점수 산출 방법에 대하여 설명하였다. 도 9에서는 다수의 사용자 정보를 이용하여 추천 점수를 산출하는 것을 예로써 도시하였으나, 추천 점수 산출에 이용되는 사용자 정보의 종류 및 개수는 얼마든지 달라질 수 있음은 물론이다. 상술한 방법에 따르면, 사용자의 컨텍스트 정보, 사용자 프로파일 정보, 사용자 이력 정보 및/또는 사용자의 감성 상태 정보를 고려하여 추천 항목이 결정될 수 있는 바, 정확도 높고 지능적인 추천 서비스가 제공될 수 있다. 예를 들어, 상술한 방법에 따르면, 사용자의 감성 상태, 사용자의 선호도 등에 따라 적어도 일부는 서로 다른 상품/서비스/콘텐츠가 추천될 수 있다.
이하에서는, 도 10a 내지 도 14를 참조하며, 본 발명의 몇몇 실시예에 따른 감성 분석 방법에 대하여 설명하도록 한다. 먼저, 도 10a 내지 도 12를 참조하여 본 발명의 제1 실시예에 따른 감성 분석 방법을 설명하도록 한다.
상기 제1 실시예에 따른 감성 분석 방법은 문서 단위 감성 분석 결과를 도출하는 감성 분석 모델 및 감성 단어의 빈도에 기초하여 결정되는 감성 단어별 제1 감성 가중치를 이용하여 감성 분석을 수행한다.
도 10a 내지 도 10c는 문서 단위의 감성 분석 결과를 출력하는 감성 분석 모델의 구축 과정을 설명하기 위한 도면이다. 특히, 도 10a 내지 도 10c는 나이브 베이즈 분류기(naive bayes classifier) 기반의 감성 분석 모델을 구축하는 과정을 예로써 도시하고 있다. 이하에서는, 이해의 편의를 위해, 사용자의 감성 상태는 긍정 또는 부정과 같이 극성 상태로 정의된다고 가정하여 설명을 이어가도록 한다.
도 10a 내지 도 10c를 참조하면, 추천 장치(300)는 감성 레이블이 부여된 문서의 집합(401, 402)을 트레이닝 데이터셋으로 이용하여, 나이브 베이즈 분류기(407) 기반의 감성 분석 모델을 구축한다. 보다 자세하게는, 도 10a에 도시된 문서의 집합(401, 402)에 대하여 형태소 분석을 통해 문서 별로 감성 단어가 추출되고, 추출된 감성 단어의 빈도(403, 404)에 기초하여 나이브 베이즈 분류기(407)가 구축된다. 형태소 분석을 수행하는 이유는 감성 단어가 주로 형용사, 동사, 부사 등으로 구성되기 때문이다. 그러나, 추천 장치(300)는 기 정의된 감성 단어 사전을 이용하여 감성 단어를 추출할 수도 있으며, 감성 단어의 추출은 어떠한 방식으로 수행되더라도 무방하다.
도 11은 감성 단어별 제1 감성 가중치를 결정하는 과정을 도시하고 있다.
도 11을 참조하면, 추천 장치(300)는 추출된 감성 단어의 등장 빈도(405, 406)에 기초하여 감성 단어별로 제1 감성 가중치를 결정한다. 보다 자세하게는, 추천 장치(300)는 감성 단어의 긍정 빈도(405)와 부정 빈도(406)를 기초로 감성 단어별로 소정의 빈도 테이블(511)을 구축한다. 이때, 긍정 빈도(405)는 긍정 레이블이 부여된 문서에서 감성 단어가 등장하는 빈도를 가리키고, 부정 빈도(406)는 부정 레이블이 부여된 문서에서 감성 단어가 등장하는 빈도를 가리킨다. 추천 장치(300)는 단어별 긍정 및 부정 빈도에 기초하여 각 감성 단어에 대한 제1 감성 가중치를 결정한다.
각 감성 단어의 제1 감성 가중치는 감성 레이블 별로 산출된다. 구체적으로, 긍정 레이블에 대한 긍정 감성 가중치는 해당 감성 단어의 전체 등장 빈도에서 긍정 빈도가 차지하는 비중으로 결정되고, 부정 레이블에 대한 부정 감성 가중치는 해당 감성 단어의 전체 등장 빈도에서 부정 빈도가 차지하는 비중으로 결정된다. 예를 들어, 빈도 테이블(411)에서 감성 단어("나쁘")의 긍정 감성 가중치는 "1/3"이 되고, 부정 감성 가중치는 "2/3"가 된다.
상술한 감성 분석 모델과 감성 단어별 제1 감성 가중치를 이용하여 감성 분석을 수행하는 예는 도 12에 도시되어 있다. 도 12는 SNS에 게시된 음식점 리뷰(421)가 분석 대상 문서로 주어진 예를 도시하고 있으나, 사용자의 발화 문장에 대한 감성 분석 또한 동일한 방식으로 수행될 수 있다.
도 12를 참조하면, 추천 장치(300)는 분석 대상 문서(421)에 포함된 감성 단어를 추출한다. 이를 위해, 추천 장치(300)는 형태소 분석을 수행할 수 있으나, 감성 단어는 어떠한 방식으로 추출되더라도 무방하다.
다음으로, 추천 장치(300)는 기 구축된 감성 분석 모델을 이용하여 추출된 감성 단어별로 제1 감성 지수를 산출한다. 자세하게는, 도 12에 도시된 바와 같이, 긍정 레이블 (a)에 대하여 각각의 감성 단어별로 제1 감성 지수가 산출되고, 부정 레이블 (b)에 대하여 각각의 감성 단어별로 제1 감성 지수가 산출된다. 도 12에 도시된 예에서, P(맛있/VA|positive)는 긍정 레이블(a)에 대한 감성 단어("맛있")의 제1 감성 지수를 가리킨다.
다음으로, 추천 장치(300)는 제1 감성 가중치를 기초로 제1 감성 지수를 조정하여 추출된 감성 단어별로 제2 감성 지수를 산출한다. 도 12에 도시된 예에서, Wp(맛있)은 감성 단어("맛있")에 대한 제1 감성 가중치를 가리키고, 첨자(p)는 긍정(positive)에 대한 가중치임을 가리킨다. 또한, 제2 감성 지수는 P(맛있/VA|positive)와 Wp(맛있)의 곱셈으로 산출되는 값을 가리킨다. 참고로, 도 12는 제1 감성 가중치와 제1 감성 지수의 곱으로 제2 감성 지수가 산출되는 것을 예로써 도시하고 있으나, 이는 이해의 편의를 제공하기 위한 일 예시에 불과하며, 본 발명의 범위가 상기 예시에 한정되는 것은 아니다.
다음으로, 추천 장치(300)는 상기 제2 감성 지수에 기초하여 분석 대상 문서(421)에 대한 감성 분석 결과를 출력한다. 구체적으로, 추천 장치(300)는 긍정 레이블에 대한 제2 감성 지수를 이용하여 긍정 레이블에 대한 제1 전체 감성 지수(e.g. 도 12의 "0.00021875")를 산출하고, 부정 레이블에 대한 제2 감성 지수를 이용하여 부정 레이블에 대한 제2 전체 감성 지수(e.g. 도 12의 "0.000101725")를 산출한다. 다음으로, 추천 장치(300)는 제1 전체 감성 지수 및 제2 전체 감성 지수의 비교 결과를 이용하여, 분석 대상 문서(421)의 감성 레이블을 결정한다. 예를 들어, 도 12에 도시된 바와 같이, 추천 장치(300)는 각 감성 레이블에 대한 상대적 확률 값(425, 427)을 산출하고, 이에 기초하여 분석 대상 문서(421)에 내재된 사용자의 감성 상태를 긍정 상태로 결정할 수 있다.
상기 제1 실시예에 따르면, 특정 감성 레이블이 부여된 문서에 자주 등장하는 감성 단어는 해당 감성을 잘 나타내는 단어(즉, 감성 강도가 높은 단어)일 확률이 높다는 점을 이용하여, 등장 빈도에 기초하여 감성 단어별로 제1 감성 가중치가 결정된다. 이를 통해, 감성 분석 결과의 정확도가 크게 향상될 수 있다.
다음으로, 도 13을 참조하여, 본 발명의 제2 실시예에 따른 감성 분석 방법에 대하여 설명하도록 한다.
상기 제2 실시예에 따른 감성 분석 방법은 기 정의된 감성 사전을 이용하여 감성 단어별로 제2 감성 가중치를 결정한다. 따라서, 상기 제2 실시예에 따른 감성 분석 방법은 도 11에 도시된 바와 같은 빈도 테이블(411)을 구축하는 과정이 요구되지 않는다. 단, 감성 분석 모델이 미리 구축되어야 함은 물론이다.
상기 제2 실시예에 따른 감성 분석 방법이 감성 분석을 수행하는 전반적인 과정은 상기 제1 실시예에 따른 감성 분석 방법과 유사하다. 다만, 감성 단어의 가중치가 상기 제2 감성 가중치로 대체된다는 차이점이 있다. 이하에서는, 상기 제2 감성 가중치를 결정하는 방법만을 약술하고, 감성 분석에 대한 자세한 설명은 중복된 설명을 배제하기 위해 생략하도록 한다.
상기 제2 감성 가중치는 미리 정의된 감성 사전에 기초하여 결정된다. 감성 사정에 대한 예는 도 13에 도시되어 있다. 도 13에 도시된 바와 같이, 감성 사전(431)은 각 감성 레이블 별로 감성 단어의 감성 지수를 정의해 놓은 사전을 의미한다. 감성 사전(431)은 감성의 강도가 높은 일부 감성 단어만을 정의해 놓은 사전일 수 있으나, 본 발명의 범위가 이에 국한되는 것은 아니다.
추천 장치(300)는 각 감성 레이블에 대한 상대적 감성 지수로 상기 제2 감성 가중치를 결정할 수 있다. 부연 설명하면, 해당 감성 단어의 긍정 레이블에 대한 제2 감성 가중치는 해당 감성 단어의 전체 감성 지수에서 긍정 감성 지수가 차지하는 비중으로 결정되고, 해당 감성 단어의 부정 레이블에 대한 제2 감성 가중치는 전체 감성 지수에서 부정 감성 지수가 차지하는 비중으로 결정될 수 있다. 예를 들어, 도 13에 도시된 감성 사전(431)에서, 감성 단어("나쁘")의 제2 감성 가중치는 긍정 및 부정 레이블에 대하여 각각 "1/10", "9/10"로 결정될 수 있다.
지금까지, 도 13을 참조하여 본 발명의 제2 실시예에 따른 감성 분석 방법에 대하여 설명하였다. 상기 제2 실시예에 따르면, 미리 정의된 감성 단어의 감성 지수에 기초하여 감성 단어 별 가중치가 결정된다. 상기 미리 정의된 감성 지수는 예를 들어 사용자에 의해 정의된 신뢰도 높은 정보일 수 있다. 따라서, 문서 단위의 감성 분석을 수행함에 있어서, 보다 정확한 감성 분석 결과가 도출될 수 있다. 아울러, 상기 미리 정의된 감성 지수는 트레이닝 데이터셋과 무관하게 정의되는 것이므로, 트레이닝 데이터셋의 낮은 품질로 인해 감성 분석 모델의 정확도가 떨어지는 경우에도 일정 수준 이상의 정확도가 담보될 수 있다는 장점이 있다.
다음으로, 도 14를 참조하여 본 발명의 제3 실시예에 따른 감성 분석 방법에 대하여 설명하도록 한다.
상기 제3 실시예에 따른 감성 분석 방법은 상기 제1 실시예 및 상기 제2 실시예의 조합을 통해 분석 대상 문서의 감성 분석을 수행한다. 즉, 전술한 제1 감성 가중치 및 제2 감성 가중치를 모두 이용하여, 분석 대상 문서에 대한 감성 분석을 수행하는 실시예로 이해될 수 있다. 상기 제3 실시예에 따른 감성 분석 방법의 트레이닝 과정은 상기 제1 실시예 및 상기 제2 실시예의 트레이닝 과정을 포괄하므로, 이에 대한 설명은 생략하도록 한다. 이하에서는, 도 14를 참조하여, 상기 제3 실시예에 따른 감성 분석 방법에서 분석 대상 문서에 대한 감성 분석이 수행되는 과정에 대하여 설명하도록 한다.
도 14를 참조하면, 추천 장치(300)는 분석 대상 문서(441)를 입력 받고, 분석 대상 문서(441)에 포함된 감성 단어를 추출한다.
다음으로, 추천 장치(300)는 감성 분석 모델을 이용하여 추출된 감성 단어별로 제1 감성 지수를 산출한다. 이에 대한 설명은 전술한 바와 같으므로 생략하도록 한다.
다음으로, 추천 장치(300)는 제1 감성 가중치를 기초로 제1 감성 지수를 조정하여 추출된 감성 단어별로 제2 감성 지수를 산출한다. 도 14에 도시된 예에서, Wp1(맛있)은 감성 단어("맛있")에 대한 제1 감성 가중치를 가리키고, 첨자(p)는 긍정(positive)에 대한 가중치임을 가리킨다. 마찬가지로, WN1(맛있)은 감성 단어("맛있")에 대한 제1 감성 가중치를 가리키고, 첨자(N)는 부정(negative)에 대한 가중치임을 가리킨다. 또한, 제2 감성 지수는 P(맛있/VA|positive)와 Wp1(맛있)의 곱셈으로 산출되는 값을 가리킨다. 특히, 도 14는 제1 감성 가중치와 제1 감성 지수의 곱으로 제2 감성 지수가 산출되는 것을 예로써 도시하고 있으나, 이는 이해의 편의를 제공하기 위한 일 예시에 불과하며, 본 발명의 범위가 상기 예시에 한정되는 것은 아니다.
다음으로, 추천 장치(300)는 제2 감성 가중치를 기초로 제2 감성 지수를 조정하여 추출된 감성 단어별로 제3 감성 지수를 산출한다. 도 14에 도시된 예에서, Wp2(맛있)은 감성 단어("맛있")에 대한 제2 감성 가중치를 가리키고, 첨자(p)는 긍정(positive)에 대한 가중치임을 가리킨다. 마찬가지로, WN2(맛있)은 감성 단어("맛있")에 대한 제2 감성 가중치를 가리키고, 첨자(N)는 부정(negative)에 대한 가중치임을 가리킨다. 또한, 제3 감성 지수는 P(맛있/VA|positive), Wp1(맛있) 및 Wp2(맛있)의 곱셈으로 산출되는 값을 가리킨다. 특히, 도 14는 제2 감성 가중치와 제2 감성 지수의 곱으로 제3 감성 지수가 산출되는 것을 예로써 도시하고 있으나, 이는 이해의 편의를 제공하기 위한 일 예시에 불과하며, 본 발명의 범위가 상기 예시에 한정되는 것은 아니다.
다음으로, 추천 장치(300)는 추출된 감성 단어별로 제3 감성 지수에 기초하여 분석 대상 문서에 내재된 사용자의 감성 상태를 결정한다. 이에 대한 설명은 전술한 바와 같으므로 생략하도록 한다.
지금까지, 도 10a 내지 도 14를 참조하여 본 발명의 몇몇 실시예에 따른 감성 분석 방법에 대하여 설명하였다. 상술한 분석 방법에 따르면, 감성 단어에 내재된 감성 강도를 고려함으로써 사용자의 감성 상태가 정확하게 결정될 수 있다. 이에 따라, 대화형 추천 서비스의 추천 정확도 또한 향상될 수 있다.
다음으로, 도 15 및 도 16을 참조하여, 본 발명의 실시예에 따라, 추천 항목에 대한 추가 정보를 제공하는 예에 대하여 간략하게 설명하도록 한다.
도 15는 추천 상품과 함께 추천 상품에 대한 이미지와 상세 페이지에 대한 딥링크를 제공하는 예를 도시하고 있다.
도 15를 참조하면, 추천 장치(300)는 추천 상품(A, B, C)을 결정하고, 각각의 추천 상품에 대한 상품 이미지(451, 453, 455)를 함께 제공할 수 있다. 본 예시에 따르면, 사용자는 다른 조작 없이 추천된 상품의 개략적인 디자인을 곧바로 확인할 수 있는 바, 사용자의 편의성이 증대될 수 있다.
아울러, 추천 장치(300)는 추천 상품(A, B, C)에 관련된 페이지(e.g. 상품 상세 정보 페이지, 구매 관련 페이지)의 링크 또는 딥링크를 더 제공할 수 있다. 이와 같은 경우, 사용자가 메신저 인터페이스 상에서 관심 상품(451)을 선택하면, 곧바로 해당 관심 상품(451)에 대한 상세 페이지(457)가 사용자 단말에 표시될 수 있다. 본 예시에 따르면, 딥링크를 통한 접근 편의성을 제공함으로써, 추천 항목에 대한 마케팅 효과 및 사용자 편의성은 더욱 향상될 수 있다.
도 16은 음식점 추천의 경우 추천 음식점에 대한 지도 정보를 제공하는 예를 도시하고 있다.
도 16을 참조하면, 음식점과 같이 특정 위치에 존재하는 항목에 대한 추천 서비스를 제공하는 경우, 추천 장치(300)는 추천 항목(e.g. 음식점 A)에 대한 지도 정보(463)를 더 제공할 수 있다.
또한, 추천 장치(300)는 사용자의 현재 위치 정보와 추천 항목의 위치 정보를 기준으로 결정된 길 찾기 정보를 더 제공할 수 있다.
이외에도, 음식점 추천 서비스의 경우, 추천 장치(300)는 해당 음식점의 메뉴 정보, 해당 음식점의 웹 페이지 링크 등의 추가 정보를 더 제공할 수 있다. 상술한 예시에 따르면, 사용자의 개입 없이 추천 항목에 대한 추가 정보가 함께 제공되는 바, 추천 서비스에 대한 사용자의 만족도가 제고될 수 있다.
지금까지, 도 15 및 도 16을 참조하여 본 발명의 실시예에 따라, 추천 항목에 대한 추가 정보를 제공하는 예에 대하여 간략하게 설명하였다.
지금까지, 도 1 내지 도 16을 참조하여 본 발명의 기술적 사상이 구체화된 몇몇 실시예들을 설명하였고, 상기 몇몇 실시예들의 효과에 대하여 언급하였다. 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지, 도 1 내지 도 16을 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.
Claims (13)
- 추천 장치에서 수행되는 상황 인식 기반의 추천 방법에 있어서,
사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 단계;
상기 획득된 컨텍스트 정보를 기초로 기 저장된 추천 후보 리스트에 포함된 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계;
상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 단계; 및
상기 결정된 추천 항목을 제공하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제1 항에 있어서,
상기 획득된 컨텍스트 정보는 제1 컨텍스트 정보 및 제2 컨텍스트 정보를 포함하고,
상기 추천 후보 리스트는 상기 추천 후보 항목에 대한 상세 정보를 포함하되,
상기 추천 점수를 산출하는 단계는,
상기 추천 후보 항목에 대한 상세 정보를 기초로, 상기 제1 컨텍스트 정보와 부합하는 추천 후보 항목에 제1 추천 점수를 부여하는 단계;
상기 추천 후보 항목에 대한 상세 정보를 기초로, 상기 제2 컨텍스트 정보와 부합하는 추천 후보 항목에 제2 추천 점수를 부여하는 단계; 및
상기 제1 추천 점수 및 상기 제2 추천 점수를 기초로 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제1 항에 있어서,
상기 사용자의 프로파일 정보를 획득하되, 상기 프로파일 정보는 상기 사용자의 선호도 정보를 포함하는 것인, 단계를 더 포함하되,
상기 추천 점수를 산출하는 단계는,
상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 제1 추천 점수를 산출하는 단계;
상기 획득된 프로파일 정보를 기초로 상기 추천 후보 항목 각각에 대한 제2 추천 점수를 산출하는 단계; 및
상기 제1 추천 점수 및 상기 제2 추천 점수를 기초로 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제1 항에 있어서,
상기 추천 후보 항목과 관련된 사용자 이력 정보를 획득하되, 상기 사용자 이력 정보는 상기 추천 후보 항목과 관련된 과거 컨텍스트 정보를 포함하는 것인, 단계를 더 포함하되,
상기 추천 점수를 산출하는 단계는,
상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 제1 추천 점수를 산출하는 단계;
상기 획득된 컨텍스트 정보와 상기 과거 컨텍스트 정보의 매칭 정도에 기초하여, 상기 추천 후보 항목 각각에 대한 제2 추천 점수를 산출하는 단계; 및
상기 제1 추천 점수 및 상기 제2 추천 점수에 기초하여 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제4 항에 있어서,
상기 사용자 이력은 상기 사용자에 대한 제1 사용자 이력 및 다른 사용자에 대한 제2 사용자 이력을 포함하되,
상기 제2 추천 점수를 산출하는 단계는,
상기 획득된 컨텍스트 정보와 상기 제1 사용자 이력에 포함된 제1 과거 컨텍스트 정보의 매칭 정도에 기초하여, 상기 추천 후보 항목 각각에 대한 제2-1 추천 점수를 산출하는 단계; 및
상기 획득된 컨텍스트 정보와 상기 제2 사용자 이력에 포함된 제2 과거 컨텍스트 정보의 매칭 정도에 기초하여, 상기 추천 후보 항목 각각에 대한 제2-2 추천 점수를 산출하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제4 항에 있어서,
상기 사용자 이력은 상기 추천 후보 항목에 대한 과거 감성 상태 정보를 포함하고,
사용자의 발화 문장을 제공받는 단계; 및
상기 발화 문장에 대한 감성 분석을 통해, 상기 사용자의 감성 상태를 결정하는 단계를 더 포함하되,
상기 제1 추천 점수 및 상기 제2 추천 점수에 기초하여 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계는,
상기 결정된 감성 상태와 상기 과거 감성 상태 정보의 매칭 정도에 기초하여, 상기 추천 후보 항목 각각에 대한 제3 추천 점수를 산출하는 단계; 및
상기 제1 추천 점수 내지 상기 제3 추천 점수에 기초하여 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제1 항에 있어서,
사용자의 발화 문장을 제공받는 단계; 및
상기 발화 문장에 대한 감성 분석을 통해, 상기 사용자의 감성 상태를 결정하는 단계를 더 포함하되,
상기 결정된 감성 상태가 제1 감성 상태인 경우 상기 결정된 추천 항목은 제1 추천 항목이고,
상기 결정된 감성 상태가 제2 감성 상태인 경우 상기 결정된 추천 항목은 제2 추천 항목이며,
상기 제1 추천 항목과 상기 제2 추천 항목과 적어도 일부는 상이한 추천 항목을 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제7 항에 있어서,
상기 사용자의 감성 상태를 결정하는 단계는,
감성 레이블이 부여된 문서의 집합에 기초하여 감성 분석 모델을 구축하되, 상기 감성 분석 모델은 문서에 포함된 감성 단어에 기초하여 문서 단위의 감성 분석 결과를 출력하는 모델인 것인, 단계;
상기 문서의 집합에서 각각의 감성 단어가 등장하는 빈도에 기초하여 감성 단어별로 감성 가중치를 결정하는 단계;
상기 사용자의 발화 문장에 포함된 감성 단어를 추출하는 단계;
상기 감성 분석 모델을 이용하여, 상기 추출된 감성 단어별로 제1 감성 지수를 산출하는 단계;
상기 결정된 감성 가중치를 이용하여 상기 제1 감성 지수를 조정함으로써, 상기 추출된 감성 단어별로 제2 감성 지수를 산출하는 단계; 및
상기 제2 감성 지수를 이용하여, 상기 사용자의 감성 상태를 결정하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제7 항에 있어서,
상기 사용자의 감성 상태를 결정하는 단계는,
감성 레이블이 부여된 문서의 집합에 기초하여 감성 분석 모델을 구축하되, 상기 감성 분석 모델은 문서에 포함된 감성 단어에 기초하여 문서 단위의 감성 분석 결과를 출력하는 모델인 것인, 단계;
기 정의된 감성 사전에 기초하여 감성 단어별로 감성 가중치를 결정하되, 상기 기 정의된 감성 사전은 감성 단어에 대한 감성 지수가 정의된 사전인 것인, 단계;
상기 사용자의 발화 문장에 포함된 감성 단어를 추출하는 단계;
상기 감성 분석 모델을 이용하여, 상기 추출된 감성 단어별로 제1 감성 지수를 산출하는 단계;
상기 결정된 감성 가중치를 이용하여 상기 제1 감성 지수를 조정함으로써, 상기 추출된 감성 단어별로 제2 감성 지수를 산출하는 단계; 및
상기 제2 감성 지수를 이용하여, 상기 사용자의 감성 상태를 결정하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제1 항에 있어서,
SNS(social network service)에 게시된 게시 정보를 수집하는 단계; 및
상기 수집된 게시 정보를 이용하여 상기 추천 후보 리스트를 생성하는 단계를 더 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 제10 항에 있어서,
상기 추천 후보 리스트를 생성하는 단계는,
상기 수집된 게시 정보에 대한 감성 분석을 수행하는 단계;
상기 수집된 게시 정보 중에서, 상기 감성 분석의 결과가 기 정의된 기준을 만족하는 일부 게시 정보를 선정하는 단계; 및
상기 선정된 일부 게시 정보를 이용하여 상기 추천 후보 리스트를 생성하는 단계를 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 방법. - 프로세서;
네트워크 인터페이스;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리; 및
추천 후보 항목에 대한 추천 후보 리스트 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 오퍼레이션;
상기 획득된 컨텍스트 정보를 기초로 상기 추천 후보 항목 각각에 대한 추천 점수를 산출하는 오퍼레이션;
상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 오퍼레이션; 및
상기 결정된 추천 항목을 제공하는 오퍼레이션을 포함하는 것을 특징으로 하는,
상황 인식 기반 추천 장치. - 컴퓨팅 장치와 결합되어,
사용자의 주변 환경에 대한 컨텍스트(context) 정보를 획득하는 단계;
상기 획득된 컨텍스트 정보를 기초로 기 저장된 추천 후보 리스트에 포함된 추천 후보 항목 각각에 대한 추천 점수를 산출하는 단계;
상기 산출된 추천 점수를 기초로 상기 추천 후보 리스트에서 추천 항목을 결정하는 단계; 및
상기 결정된 추천 항목을 제공하는 단계를 실행시키기 위하여 컴퓨터로 판독 가능한 기록매체에 저장된,
컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170163300A KR20190064042A (ko) | 2017-11-30 | 2017-11-30 | 상황 인식 기반 추천 방법 및 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170163300A KR20190064042A (ko) | 2017-11-30 | 2017-11-30 | 상황 인식 기반 추천 방법 및 그 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190064042A true KR20190064042A (ko) | 2019-06-10 |
Family
ID=66847932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170163300A KR20190064042A (ko) | 2017-11-30 | 2017-11-30 | 상황 인식 기반 추천 방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190064042A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781391A (zh) * | 2019-10-22 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置、设备及存储介质 |
CN111899717A (zh) * | 2020-07-29 | 2020-11-06 | 北京如影智能科技有限公司 | 一种语音回复方法及装置 |
KR20220070170A (ko) * | 2020-11-20 | 2022-05-30 | (주)엠로보 | 이미지 추천 방법, 장치, 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램 |
WO2023027377A1 (ko) * | 2021-08-23 | 2023-03-02 | 삼성전자 주식회사 | 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법 |
WO2023113227A1 (ko) * | 2021-12-16 | 2023-06-22 | 삼성전자주식회사 | 외부 기기를 제어하는 전자 장치 및 방법 |
WO2023132438A1 (ko) * | 2022-01-10 | 2023-07-13 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100091669A (ko) | 2009-02-11 | 2010-08-19 | 인하대학교 산학협력단 | 전자상거래 서비스에서의 개인화 추천 시스템 |
-
2017
- 2017-11-30 KR KR1020170163300A patent/KR20190064042A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100091669A (ko) | 2009-02-11 | 2010-08-19 | 인하대학교 산학협력단 | 전자상거래 서비스에서의 개인화 추천 시스템 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781391A (zh) * | 2019-10-22 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置、设备及存储介质 |
CN110781391B (zh) * | 2019-10-22 | 2023-12-12 | 深圳市雅阅科技有限公司 | 一种信息推荐方法、装置、设备及存储介质 |
CN111899717A (zh) * | 2020-07-29 | 2020-11-06 | 北京如影智能科技有限公司 | 一种语音回复方法及装置 |
KR20220070170A (ko) * | 2020-11-20 | 2022-05-30 | (주)엠로보 | 이미지 추천 방법, 장치, 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램 |
WO2023027377A1 (ko) * | 2021-08-23 | 2023-03-02 | 삼성전자 주식회사 | 전자 장치 및 개인화된 사용자 상황 인지 서비스 제공 방법 |
WO2023113227A1 (ko) * | 2021-12-16 | 2023-06-22 | 삼성전자주식회사 | 외부 기기를 제어하는 전자 장치 및 방법 |
WO2023132438A1 (ko) * | 2022-01-10 | 2023-07-13 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868732B2 (en) | System for minimizing repetition in intelligent virtual assistant conversations | |
KR20190064042A (ko) | 상황 인식 기반 추천 방법 및 그 장치 | |
US20200013071A1 (en) | Method for personalizing customer interaction experiences by routing to customer interaction channels | |
CA2985691C (en) | Method and system for effecting customer value based customer interaction management | |
KR101641572B1 (ko) | 상황 및 선호도 기반 대화 스티커 순위 결정 방법 및 컴퓨터 프로그램 | |
WO2018214163A1 (en) | Providing product recommendation in automated chatting | |
US20160342683A1 (en) | Crafting a response based on sentiment identification | |
US11144964B2 (en) | System for assisting in marketing | |
US11475218B2 (en) | Apparatus and method for providing sentence based on user input | |
US10657543B2 (en) | Targeted e-commerce business strategies based on affiliation networks derived from predictive cognitive traits | |
JP6851894B2 (ja) | 対話システム、対話方法及び対話プログラム | |
KR20170030570A (ko) | 이모티콘들을 식별 및 제안하기 위한 시스템 및 방법 | |
US20230080271A1 (en) | Audience-based optimization of communication media | |
KR102100214B1 (ko) | 음성 인식 기반의 세일즈 대화 분석 방법 및 장치 | |
US20190311416A1 (en) | Trend identification and modification recommendations based on influencer media content analysis | |
US10540694B2 (en) | Audience-based optimization of communication media | |
JP2017111479A (ja) | 広告文選択装置及びプログラム | |
US10706371B2 (en) | Data processing techniques | |
JP2018194902A (ja) | 生成装置、生成方法および生成プログラム | |
KR101652433B1 (ko) | Sns 문서에서 추출된 토픽을 기반으로 파악된 감정에 따른 개인화 광고 제공 방법 | |
JP2020057206A (ja) | 情報処理装置 | |
CN110717094A (zh) | 信息推荐方法、装置、计算机设备和存储介质 | |
JP2021162997A (ja) | 情報処理装置及び情報処理方法 | |
JP2021012660A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US11769175B2 (en) | System for assisting in marketing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |