KR20180112329A - 생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템 - Google Patents

생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템 Download PDF

Info

Publication number
KR20180112329A
KR20180112329A KR1020170043078A KR20170043078A KR20180112329A KR 20180112329 A KR20180112329 A KR 20180112329A KR 1020170043078 A KR1020170043078 A KR 1020170043078A KR 20170043078 A KR20170043078 A KR 20170043078A KR 20180112329 A KR20180112329 A KR 20180112329A
Authority
KR
South Korea
Prior art keywords
subject
producer
score
content
based ranking
Prior art date
Application number
KR1020170043078A
Other languages
English (en)
Other versions
KR102010418B1 (ko
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 KR1020170043078A priority Critical patent/KR102010418B1/ko
Priority to US15/944,384 priority patent/US11157535B2/en
Publication of KR20180112329A publication Critical patent/KR20180112329A/ko
Application granted granted Critical
Publication of KR102010418B1 publication Critical patent/KR102010418B1/ko

Links

Images

Classifications

    • 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
    • G06F16/337Profile generation, learning or modification
    • G06F17/3053
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Abstract

생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템이 개시된다. 주제 기반 순위 결정 방법은, 주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 단계; 및 입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계를 포함할 수 있다.

Description

생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템{METHOD AND SYSTEM FOR SUBJECT-BASED RANKING CONSIDERING WRITER-READER INTERACTION}
아래의 설명은 검색 결과로 제공되는 문서 순위를 결정하는 기술에 관한 것이다.
인터넷을 이용하여 제공되는 다양한 서비스 중 하나인 검색 서비스는 사용자가 입력하는 질의에 대해 검색을 수행한 후 해당 질의에 상응하는 검색 결과를 사용자에게 제공하는 서비스를 의미한다.
이러한 검색 서비스의 제공을 위해 검색 서비스 제공 시스템은 미리 인터넷 상의 문서를 수집한 후 이를 색인하여 저장함으로써 데이터베이스를 구축하고 사용자로부터 검색이 요청되는 경우 데이터베이스에 저장된 문서들을 검색함으로써 해당 결과를 사용자에게 제공할 수 있다.
예컨대, 한국등록특허 제10-0963392호(등록일 2010년 06월 04일)에는 컨텐츠 간 유사도에 기초하여 검색 결과를 제공하는 기술이 개시되어 있다.
기존 검색 기술은 사용자가 입력한 질의에 대해서 내용 유사도가 높은 문서를 검색하여 검색된 문서에 대해 문서 품질, 최신성, 사용자 클릭수 등 여러 가지 문서 특성을 기반으로 순위를 결정한 후 해당 순위로 검색 결과를 제공하는 방식이 대부분이다.
이러한 검색 기술은 질의에 의존도가 강하고 인터넷 상에서 이루어지는 컨텐츠 생산과 소비 활동을 전체적으로 반영하지 못하고 이로 인해 검색 결과의 품질을 개선하는데 한계가 있다.
문서 주제 별로 인터넷 상의 문서 생산과 소비 공간에서 발생하는 사용자 활동을 바탕으로 생산자와 소비자를 평가하여 생산자와 소비자의 평가 결과를 문서 순위에 반영할 수 있는 방법 및 시스템을 제공한다.
질의에 해당되는 주제를 파악하여 해당 주제의 문서에 대해 전문 생산자에 의해 생산된 문서 혹은 전문 소비자에 의해 소비된 문서를 보다 높은 순위로 노출시킬 수 있는 방법 및 시스템을 제공한다.
컴퓨터로 구현되는 주제 기반 순위 결정 방법에 있어서, 주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 단계; 및 입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계를 포함하는 주제 기반 순위 결정 방법을 제공한다.
일 측면에 따르면, 상기 주제 기반 순위 결정 방법은, 주제 분류 학습 모델을 이용하여 각 컨텐츠에 대해 주제 별 점수를 산출하는 단계를 더 포함하고, 상기 평가하는 단계는, 컨텐츠 각각의 주제 별 점수를 이용하여 각 주제 별로 상기 생산자를 평가할 수 있다.
다른 측면에 따르면, 상기 주제 기반 순위 결정 방법은, 주제 분류 학습 모델을 이용하여 각 컨텐츠에 대해 주제 별 점수를 산출하는 단계; 및 상기 생산자가 생산한 컨텐츠 각각의 주제 별 점수를 합산하여 상기 생산자에 대한 주제 별 점수를 산출하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 생산자에 대한 주제 별 점수를 산출하는 단계는, 상기 생산자에 대한 주제 별 점수에 상기 생산자가 생산한 컨텐츠의 시간 간격에 따른 가중치를 반영할 수 있다.
또 다른 측면에 따르면, 상기 생산자에 대한 주제 별 점수를 산출하는 단계는, 상기 생산자에 대한 주제 별 점수에 단위 시간 동안 상기 생산자가 생산한 컨텐츠의 수에 따른 가중치를 반영할 수 있다.
또 다른 측면에 따르면, 상기 생산자에 대한 주제 별 점수를 산출하는 단계는, 상기 생산자에 대한 주제 별 점수에 점수 순위에 따른 가중치를 반영할 수 있다.
또 다른 측면에 따르면, 상기 평가하는 단계는, 각 주제 별로 해당 주제에 대한 생산자 별 점수에 따라 생산자 순위를 결정하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 평가하는 단계는, 각 주제 별로 해당 주제의 문서를 소비하는 소비자를 평가하는 단계; 및 상기 소비자에 대한 평가 결과를 상기 생산자에 대한 평가 결과에 반영하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 질의가 속하는 주제를 파악하는 단계; 상기 질의에 대응되는 대상 컨텐츠를 검색하는 단계; 및 상기 파악된 주제에 대한 상기 생산자 별 점수에 따른 생산자 순위를 상기 대상 컨텐츠의 컨텐츠 순위에 반영하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 주제 기반 순위 결정 방법은, 소비자가 소비한 문서 각각의 주제 별 점수를 합산하여 상기 소비자에 대한 주제 별 점수를 산출하는 단계를 더 포함하고, 상기 제공하는 단계는, 상기 파악된 주제에 대한 상기 소비자 별 점수에 따른 소비자 순위를 상기 대상 컨텐츠의 컨텐츠 순위에 반영하는 단계를 더 포함할 수 있다.
컴퓨터로 구현되는 주제 기반 순위 결정 방법에 있어서, 주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자와 해당 주제의 컨텐츠를 소비하는 소비자를 평가하는 단계; 및 입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과와 상기 소비자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계를 포함하는 주제 기반 순위 결정 방법을 제공한다.
주제 기반 순위 결정 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 주제 기반 순위 결정 방법은, 주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 단계; 및 입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계를 포함하는, 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램을 제공한다.
컴퓨터로 구현되는 주제 기반 순위 결정 시스템에 있어서, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 평가부; 및 입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 검색 수행부를 포함하는 주제 기반 순위 결정 시스템을 제공한다.
본 발명의 실시예들에 따르면, 인터넷 상의 문서 생산과 소비 공간에서 발생하는 사용자 활동을 종합하여 주제 별로 전문 생산자와 전문 소비자를 찾아 문서 생산-소비 선순환 구조를 만들 수 있다.
본 발명의 실시예들에 따르면, 주제 별로 각 주제에 속하는 문서에 대해 생산자와 소비자의 상호 작용에 따른 신뢰도를 평가하여 평가 결과를 해당 주제의 문서 순위에 반영할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 4 내지 도 8은 본 발명의 일실시예에 있어서 문서 주제를 파악하는 과정의 일례를 설명하기 위한 예시 도면이다.
도 9는 본 발명의 일실시예에 있어서 생산자 주제를 파악하는 과정의 일례를 설명하기 위한 예시 도면이다.
도 10은 본 발명의 일실시예에 있어서 질의 주제를 파악하는 과정의 일례를 설명하기 위한 예시 도면이다.
도 11은 본 발명의 일실시예에 있어서 생산자 주제 점수를 계산하는 과정의 일례를 도시한 순서도이다.
도 12는 본 발명의 일실시예에 있어서 소비자 주제 점수를 계산하는 과정의 일례를 도시한 순서도이다.
도 13은 본 발명의 일실시예에 있어서 생산자와 소비자의 상호 작용에 따른 신뢰도를 문서 순위에 반영한 검색 결과를 제공하는 과정의 일례를 도시한 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 검색 결과로 제공되는 문서 순위를 결정하는 기술에 관한 것으로, 특히 주제 별로 전문 생산자와 전문 소비자를 찾고 질의 주제에 속한 문서 순위에 전문 생산자와 전문 소비자에 대한 평가 결과를 반영하는 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 생산자와 소비자의 평가 결과를 주제 기반의 문서 순위에 반영할 수 있고, 이를 통해 검색 품질 개선, 효율성, 정확성, 활용성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 태블릿 PC, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player) 등이 있다. 일례로 제1 전자 기기(110)는 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
일례로, 서버(160)는 네트워크(170)를 통해 접속한 제1 전자 기기(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 전자 기기(110)는 서버(160)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 제1 전자 기기(110)가 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 제1 전자 기기(110)가 어플리케이션의 제어에 따라 네트워크(170)를 통해 서비스 요청 메시지를 서버(150)로 전송하면, 서버(150)는 서비스 요청 메시지에 대응하는 코드를 제1 전자 기기(110)로 전송할 수 있고, 제1 전자 기기(110)는 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.
도 2는 본 발명의 일실시예에 있어서, 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 하나의 전자 기기에 대한 예로서 제1 전자 기기(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.
제1 전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 제1 전자 기기(110)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
제1 전자 기기(110)와 서버(150)는 메모리(211, 221) 이외에 제1 전자 기기(110)와 서버(150)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 데이터베이스 시스템(미도시)을 더 포함할 수 있다. 데이터베이스 시스템은 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있으며, 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 제1 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 제2 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 제1 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 검색 요청)이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 제1 전자 기기(110)의 통신 모듈(213)을 통해 제1 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 제1 전자 기기(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 제2 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다. 입출력 인터페이스(224) 또한 마찬가지로 서버(150)의 프로세서(222)가 메모리(221)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어 서버(150)가 제공하는 데이터를 이용하여 구성되는 정보를 출력할 수 있다.
또한, 다른 실시예들에서 제1 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 제1 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 제1 전자 기기(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.
이하에서는 생산자와 소비자의 상호 작용을 고려하여 주제 기반의 문서 순위를 결정하는 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
서버(150)는 클라이언트(client)인 복수의 전자 기기들(110, 120, 130, 140)을 대상으로 검색 서비스를 제공하는 서비스 플랫폼 역할을 할 수 있으며, 특히 주제를 기반으로 하여 주제 별 생산자와 소비자를 평가하고 그 평가 결과를 문서 순위에 반영할 수 있다.
본 명세서에서 '문서'는 텍스트와 같은 파일들이 논리적인 구조로 표현된 데이터를 의미하며, DB(database)와 같은 정형화 된 데이터는 물론이고, 블로그나 카페 등 웹 데이터와 같은 비정형 데이터를 포괄하여 의미할 수 있다. 본 발명과 관련된 특징들은 텍스트 위주의 문서는 물론, 동영상이나 이미지 등 다른 형태의 컨텐츠를 대상으로 한 순위 결정 시스템에 적용될 수 있다. 다시 말해, 본 발명은 텍스트, 이미지, 동영상 등 인터넷이나 컴퓨터 통신 등을 통하여 제공되는 모든 유형의 컨텐츠를 대상으로 한 순위 결정 시스템에 적용될 수 있으며, 이하의 구체적인 실시예에서는 텍스트 기반의 문서를 컨텐츠의 대표적인 예로 하여 설명하기로 한다.
그리고, 본 명세서에서 '주제'는 문서 내용 상의 핵심을 나타내는 것으로 문서를 분류하는 기준이 될 수 있다. 또한, '생산자'는 문서를 생산하는 주체를 의미할 수 있고, '소비자'는 문서를 소비하는 주체를 의미할 수 있다.
도 3에 도시된 바와 같이 서버(150)의 프로세서(222)는 구성요소들로서 주제 분류부(310), 생산자 평가부(320), 소비자 평가부(330), 및 검색 수행부(340)를 포함할 수 있다. 이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 이하에서 설명하게 될 전반의 동작들을 수행하도록 서버(150)를 제어할 수 있다. 이때, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 또한, 프로세서(222)의 구성요소들은 운영체제나 적어도 하나의 프로그램이 제공하는 제어 명령에 따라 프로세서(222)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(222)가 상술한 제어 명령에 따라 주제를 분류하도록 제어하는 기능적 표현으로서 주제 분류부(310)가 사용될 수 있다.
본 발명에서는 인터넷 상의 문서 생산과 소비 공간에서 발생하는 사용자 활동을 종합하여 주제 별로 전문 생산자와 전문 소비자를 찾아내는 방법론을 제안할 수 있다.
주제 분류
서버(150)는 주제를 기반으로 주제 별로 전문성을 고려한 문서 순위를 제공할 수 있으며, 다시 말해 질의의 주제에 대해 신뢰도가 높은 생산자에 의해 생산된 문서 및/또는 신뢰도가 높은 소비자에 의해 소비된 문서를 우선적으로 노출할 수 있다.
이를 위하여, 주제 분류부(310)는 주제 분류를 통해 문서 각각이 속한 주제(문서 주제), 생산자가 주로 문서를 생산하는 전문 분야(생산가 주제), 소비자가 주로 문서를 소비하는 관심 분야(소비자 주제), 질의 각각이 속한 주제(질의 주제)를 파악할 수 있다.
(1) 문서 주제
일례로, 주제 분류부(310)는 도 4에 도시한 바와 같이 합성곱 신경망(convolutional neural network, 딥러닝) 학습 모델(400)을 이용하여 문서를 주제 별로 분류할 수 있다. 구체적으로, 주제 분류부(310)는 각 주제 별로 독립된 벡터 공간을 할당하여 단어 임베딩(word embedding)을 수행하는 것으로, 도 5에 도시한 바와 같이 주제가 태깅된 입력 문서(501)를 이용하여 주제 별 문서로 단어 임베딩을 수행함으로써 문서 주제를 분류하기 위한 다중채널 입력층(510)을 구성할 수 있다. 그리고, 주제 분류부(310)는 주제 분류를 위해 주어진 문서에 포함된 단어들을 다차원 실수 벡터로 표현할 수 있다. 예를 들어, 도 6을 참조하면 주제 분류부(310)는 색인어 추출기, 형태소 분석기 등 언어 전처리기를 이용하여 주어진 문서(601)에서 유의미한 단어를 구분한 후 이를 다중채널 입력층(510)에 대응되는 워드벡터(610)로 표현할 수 있다. 이어, 주제 분류부(310)는 도 7에 도시한 바와 같이 주어진 문서(601)의 워드벡터(610)를 이용하여 주제 분류를 위한 단어 패턴을 탐색함으로써 문서(601)에 대한 주제 별 점수(720)를 산출할 수 있으며, 도 8에 도시한 바와 같이 주제 별 점수(830)를 바탕으로 해당 문서(601)의 주제를 결정할 수 있다. 이때, 주제 분류부(310)는 주제 별 점수(830)를 확률로 변환할 수 있으며, 일례로 가장 높은 확률의 하나의 주제를 주어진 문서(601)의 주제로 결정할 수 있다. 다른 예로, 주제 분류부(310)는 주어진 문서(601)에 대하여 각 주제에 대한 확률을 가중치로 사용할 수 있다. 또 다른 예로, 주제 분류부(310)는 주어진 문서(601)에 대한 주제 선정 시 해당 문서를 작성한 사용자의 특성(예컨대, 사용자가 주로 문서를 생산하는 전문 분야의 주제 등)을 고려할 수 있다.
상기에서는 컨텐츠의 일 예로서 텍스트 위주의 문서에 대한 주제 분류를 설명하였으나, 이에 한정되는 것은 아니며, 이미지나 동영상 등 다른 형태의 컨텐츠 또한 사전에 주제가 태깅되어 있거나 혹은 영상 분석 등을 통해 직접 주제 분류가 가능한 컨텐츠라면 얼마든지 적용 가능하다.
(2) 생산자 주제
일례로, 주제 분류부(310)는 생산자가 생산한 문서들의 주제의 합으로부터 생산자 주제를 파악할 수 있다.
주제 분류부(310)는 특정 주제에 대해 오랜 기간 동안 지속적으로 많은 글을 쓴 생산자에게 높은 점수를 반영하기 위해 생산자가 생산한 문서 주제를 종합함으로써 생산자 주제를 파악할 수 있다.
주제 분류부(310)는 생산자가 생산한 문서 각각에 대해 문서 주제 점수에 가중치를 적용할 수 있고 문서 주제 점수에 대한 가중치 합을 통해 생산자 주제 점수를 계산할 수 있다. 이때, 주제 분류부(310)는 생산자의 등급이나 유형 등에 따라 생산자 주제 점수를 조절할 수 있다.
주제 분류부(310)는 정상적인 문서 생산 패턴에 대해 생산자 주제 점수 합산에 반영하기 위해 2가지 종류의 가중치, 즉 단기간(예컨대, 1시간) 내 새 글에 대한 제1 가중치와 단위 기간(예컨대, 1day) 내 새 글에 대한 제2 가중치를 혼용할 수 있다. 예를 들어, 1시간 내에 많은 문서를 작성한 경우 문서의 시간 간격에 따라 이후 문서 주제 점수를 감소시키거나, 혹은 하루 동안 많은 문서를 작성한 경우 문서 수에 따라 이후 문서 주제 점수를 감소시킴으로써 어뷰징 가능성이 있는 주제에 대해서는 패널티 요소로 적용할 수 있다. 제1 가중치의 경우 문서의 시간 간격에 대한 시간 차이에 비례하는 것으로, 구현의 일 예로, 시그모이드(sigmoid) 함수를 적용하여 아주 짧은 시간에는 아주 낮은 가중치를 부여할 수 있다. 이때, 주제 별로 각 주제의 특성에 따라 시그모이드 함수 값을 다르게 설정할 수 있으며, 예를 들어 시의성이 높은 주제에 대해서는 완화된 함수 값을 사용할 수 있다. 제2 가중치의 경우 단위 기간 동안 작성된 문서의 수를 고려하여 다음 새 글의 가중치를 적용할 수 있다. 예를 들어, 하루 0건의 글이 쓰여졌다면 첫 번째 새 글은 모든 점수가 반영될 수 있고, 하루 5건의 글이 쓰여졌다면 다음 6번째 글은 모든 주제 점수가 절반으로 감소할 수 있다. 다시 말해, 하루 동안 많은 글이 쓰여질수록 다음 글의 주제 점수가 0에 가깝게 감소할 수 있다. 건강/의학, 국내여행, 맛집, 비즈니스/경제, 상품 리뷰, 스포츠, 어학/외국어, 육아/결혼, 자동차 등 어뷰징의 가능성이 있는 일부 주제에 대해서는 다음 글의 주제 점수에 더 엄격하게 패널티가 적용될 수 있다.
주제 분류부(310)는 생산자가 생산한 문서들을 대상으로 문서 주제 점수의 가중치 합을 산출할 수 있다. 이때, 특정 주제가 명확한 문서에 더 높은 가중치를 부여할 수 있고 주제별 문서 점수 순위에 따라 지수적 감쇠 특성을 나타내는 가중치를 부여할 수 있다. 주제 분류부(310)는 생산자가 생산한 문서들을 대상으로 주제 점수를 내림차순으로 정렬한 후 상위 k개의 주제 점수 중 높은 값에 더 많은 가중치를 부여할 수 있다. 예를 들어, 도 9를 참조하면 사용자가 생산한 문서 A, 문서 B, 문서 C에 대해 주제가 '주제1'과 '주제2'로 분류되고 문서 별로 문서 주제 점수를 [주제1, 주제2]라 할 때, 생산자가 생산한 문서들을 각 주제 별로 주제 점수에 따라 내림차순으로 정렬한 후 주제별 문서 순위에 따른 가중치를 적용하여 주제 별 생산자 주제 점수를 계산할 수 있다.
주제 분류부(310)는 주제 별 생산자 주제 점수로서 생산자에 대한 주제 별 문서 주제 점수 중 가장 높은 점수의 하나의 주제를 생산자 주제로 결정할 수 있으며, 다른 예로 각 주제의 문서 주제 점수를 가중치로 사용할 수 있다.
상기에서는 생산자 주제를 파악하는 과정에 대해 설명하였으나, 소비자가 소비하는 문서를 대상으로 소비자 주제를 파악하는 과정 또한 앞서 설명한 방식과 유사하거나 동일하다.
(3) 질의 주제
일례로, 주제 분류부(310)는 문서를 검색한 사용자들에 의해 노출되거나 혹은 클릭된 문서들의 주제의 합으로부터 질의 주제를 파악할 수 있다.
주제 분류부(310)는 문서를 검색한 사용자들이 클릭한 문서들을 대상으로 문서 주제 점수의 합을 통해 질의 주제 점수를 계산할 수 있다. 예를 들어, 도 10을 참조하면 주제가 '주제1'과 '주제2'로 분류되고 문서 별로 문서 주제 점수를 [주제1, 주제2]라 할 때, 사용자가 입력한 질의에 대응되는 검색 결과로 제공된 문서(문서 D, 문서 A)를 대상으로 문서 주제 점수에 클릭 수(또는 노출 수)를 반영하여 주제 별 질의 주제 점수를 계산할 수 있다.
주제 분류부(310)는 주제 별 질의 주제 점수로서 질의에 대한 주제 별 문서 주제 점수 중 가장 높은 점수의 하나의 주제를 질의 주제로 결정할 수 있으며, 다른 예로 각 주제의 문서 주제 점수를 가중치로 사용할 수 있다.
생산자 평가
서버(150)는 주제 별로 각 주제에 대하여 해당 주제의 문서를 생산한 생산자를 평가하여 생산자 평가 결과를 문서 순위에 반영함으로써 보다 전문적이고 인기 있고 공신력 있는 생산자의 문서를 상위에 노출할 수 있다.
생산자 평가부(320)는 어떤 분야에서 좋은 글을 많을 썼는가에 대한 것으로, 각 주제 별로 생산자가 해당 주제의 문서를 얼마나 많이 생산했는가, 전체 소비자로부터 긍정적인 피드백(예컨대, 클릭, 다운로드, 좋아요, 댓글, 북마크, 구독 신청 등)을 얼마나 많이 받았는가, 해당 주제의 전문 소비자(평가 점수가 높은 소비자)로부터 긍정적인 피드백을 얼마나 많이 받았는가, 전체 소비자 또는 해당 주제의 전문 소비자로부터 부정적 피드백을 얼마나 많이 받았는가 등의 평가 요소를 고려하여 생산자를 평가할 수 있다.
생산자 평가부(320)는 주제를 기반으로 각 주제 별로 해당 주제에 대한 생산자 별 주제 점수에 따라 생산자 순위를 결정할 수 있다. 더 나아가, 생산자 평가부(320)는 생산자가 생산한 문서를 대상으로 문서 품질 정보, 검색 피드백 정보, 소비자 반응 정보 중 적어도 하나를 반영하여 생산자를 평가할 수 있다. 문서 품질 정보는 문서 각각의 문서 길이, 이미지 수, 작성 기간, 인용 정보 등을 포함할 수 있고, 검색 피드백 정보는 문서 노출, 클릭, 방문 등의 로그 정보를 포함할 수 있으며, 소비자 반응 정보는 문서에 대한 구독과 구독 해지 등의 반응 정보를 포함할 수 있다.
블로그와 같이 기존 문서가 많고 구독과 같은 반응 정보가 확보되어 있는 생산자의 경우 지속적으로 높은 평가를 받게 되는 문제를 보완하기 위해 생산자 평가에 소비자 관점의 인기도와 신의성을 반영할 수 있다. 일례로, 생산자 평가부(320)는 생산자를 평가하는 데에 평가 기간을 구간화하여 최근 일정 기간의 평가 요소를 반영할 수 있으며, 더 나아가 기간 별 평가 요소 변화를 반영할 수 있다. 따라서, 최근에 문서를 많이 생성하거나 최근 생성된 문서의 인기가 많은 경우 해당 문서의 생산자가 높은 평가를 받을 수 있다.
그리고, 유명인의 경우 최근 생산 활동이 없더라도 과거의 평가 점수가 유지되고 구독과 같은 반응 정보가 꾸준히 발생할 수 있다. 생산자 평가부(320)는 생산자를 평가하는 데에 생산자의 최근 활동성을 반영할 수 있으며, 일례로 일정 기간 동안 문서 생산 활동이 없는 경우 최근 문서 작성일을 기준으로 활동성을 반영하여 해당 작성일 이후로의 반응 정보를 생산자 평가에 반영하지 않는다.
또한, 단기 이벤트성으로 인해 구독과 같은 반응 정보가 급증하는 생산자의 평가를 배제하기 위해, 생산자 평가부(320)는 생산자를 평가하는 데에 평가 요소의 일부를 제한할 수 있다. 일례로, 생산자 평가부(320)는 생산자 평가를 위한 단위 기간(예컨대, 1day) 내에 반영할 수 있는 구독 수 또는 구독 날짜의 일수를 제한할 수 있다.
따라서, 생산자 평가부(320)는 각 주제 별로 해당 주제의 문서를 생산한 생산자 순위를 산출함으로써 해당 주제에 대해 신뢰도(즉, 전문성)가 높은 생산자를 평가할 수 있다.
소비자 평가
소비자 평가는 주제 별로 해당 주제에 대한 생산자의 문서들을 잘 평가할 수 있는 전문 소비자를 찾는데 목적이 있다.
서버(150)는 주제 별로 각 주제에 대하여 해당 주제의 문서를 소비하는 소비자를 평가하여 소비자 평가 결과를 생산자 평가나 문서 순위에 반영함으로써 보다 전문적인 소비자에 의해 소비된 문서를 노출할 수 있다.
소비자 평가부(330)는 주제를 기반으로 각 주제 별로 해당 주제에 대한 소비자 별 주제 점수에 따라 소비자 순위를 결정할 수 있다. 소비자 평가부(330)는 어떤 분야에 관심이 있는가에 대한 것으로, 각 주제 별로 소비자가 해당 주제의 문서를 평소에 얼마나 많이 소비했는가, 긍정적인 피드백을 얼마나 많이 입력했는가, 긍정적인 피드백을 입력한 문서 중 의미 있는 문서가 얼마나 많은가 등의 평가 요소를 고려하여 소비자를 평가할 수 있다. 여기서, 의미 있는 문서는 다른 사용자들에게 관심이나 인기가 많은 문서이거나, 혹은 생산자와 관계가 설정된, 예컨대 소비자가 구독을 신청한 생산자에 의해 생산된 문서 등을 의미할 수 있다.
따라서, 소비자 평가부(330)는 각 주제 별로 생산자에 의해 등록된 문서에 대한 인터넷 상의 반응을 종합하여 주제 별 전문 소비자를 찾을 수 있으며, 이때 주제 별 소비자에 대한 평가 결과는 같은 주제의 문서 순위나 생산자 평가에 반영될 수 있다.
도 11은 본 발명의 일실시예에 있어서 생산자 주제 점수를 계산하는 과정의 일례를 도시한 순서도이다.
단계(S1101)에서 서버(150)의 프로세서(222)는 생산자에 의해 생산된 문서를 데이터베이스에 저장 및 유지할 수 있다.
단계(S1102)에서 주제 분류부(310)는 생산자에 의해 생산된 각 문서에 대해 해당 문서의 주제를 분류하고 주제에 따른 확률 벡터를 할당할 수 있다. 다시 말해, 주제 분류부(310)는 각 주제 별로 독립된 벡터 공간을 할당하는 것으로, 생산자가 생산한 문서에 대해 주제에 따른 확률 벡터를 할당할 수 있다.
단계(S1103)에서 주제 분류부(310)는 생산자에 의해 생산된 문서 전체를 대상으로 각 주제 별로 문서에 할당된 확률 벡터 합계를 산출함으로써 생산자 주제 점수를 계산할 수 있다. 따라서, 주제 분류부(310)는 문서를 생산하는 생산자에 대해 각 주제 별로 해당 주제의 문서에 할당된 확률 벡터 합을 산출하여 주제별 점수를 계산할 수 있다.
문서를 분류하기 위한 N개의 주제를 사전에 정의할 수 있고, 이때 각 주제를 벡터 공간의 차원으로 볼 수 있다. 각 문서의 주제 별 확률 벡터를 이용하여 해당 문서를 생산한 생산자의 전문 분야를 n차원 벡터 공간의 벡터로 매핑할 수 있다. 각 주제 별로 벡터 공간을 구분하고 해당 벡터 공간에 매핑된 벡터를 종합하여 주제 별 생산자 순위에 반영할 수 있다.
생산자 주제 점수는 주제를 기반으로 각 주제에서 해당 주제의 문서를 생산한 생산자에 대한 신뢰도, 즉 해당 주제에서의 전문성을 평가하는 기준으로 활용될 수 있다.
도 12는 본 발명의 일실시예에 있어서 소비자 주제 점수를 계산하는 과정의 일례를 도시한 순서도이다.
단계(S1201)에서 주제 분류부(310)는 데이터베이스 상의 문서에 대한 소비자의 소비 로그를 읽어올 수 있다. 검색 등을 통한 소비 환경에서 문서에 대한 반응 정보, 예컨대 클릭, 다운로드, 좋아요, 댓글, 북마크, 구독 신청 등의 소비 로그가 기록될 수 있고, 주제 분류부(310)는 소비자에 대해 기록된 소비 로그를 읽어올 수 있다.
단계(S1202)에서 주제 분류부(310)는 소비자에 대해 기록된 소비 로그로부터 해당 소비자가 소비한 문서들을 확인할 수 있으며, 소비자가 소비한 각 문서에 할당된 주제에 따른 확률 벡터를 확인할 수 있다.
단계(S1203)에서 주제 분류부(310)는 소비자에 의해 소비된 문서 전체를 대상으로 각 주제 별로 문서에 할당된 확률 벡터 합계를 산출함으로써 소비자 주제 점수를 계산할 수 있다. 따라서, 주제 분류부(310)는 문서를 소비하는 소비자에 대해 각 주제 별로 해당 주제의 문서에 할당된 확률 벡터 합을 산출하여 주제별 점수를 계산할 수 있다.
마찬가지로, 각 주제 별로 구분된 벡터 공간에 대해 문서를 소비한 소비자의 관심 분야를 n차원 벡터 공간의 벡터로 매핑할 수 있다. 각 주제 별로 구분된 벡터 공간에 매핑된 벡터를 종합하여 주제 별 소비자 순위에 반영할 수 있다.
소비자 주제 점수는 주제를 기반으로 각 주제에서 해당 주제의 문서를 소비한 소비자에 대한 신뢰도, 즉 해당 주제에서의 전문성을 평가하는 기준으로 활용될 수 있다.
서버(150)에 등록된 문서는 생산자 관점의 주제 별 확률 벡터와 소비자 관점의 주제 별 확률 벡터를 가지게 되며, 서버(150)의 서비스를 이용하는 각 사용자에 대해서도 생산자 관점에서의 주제 점수와 소비자 관점에서의 주제 점수를 저장하여 활용할 수 있다.
문서 검색
서버(150)는 입력된 질의에 대한 검색 결과를 제공함에 있어 질의 주제에 대한 생산자와 소비자의 상호 작용에 따른 신뢰도로서 질의 주제의 문서를 얼마나 많이 생산했는가에 대한 생산자 평가와 질의 주제의 문서를 얼마나 많이 소비했는가에 대한 소비자 평가를 검색 결과의 문서 순위에 반영할 수 있다.
도 13은 본 발명의 일실시예에 있어서 생산자와 소비자의 상호 작용에 따른 신뢰도를 문서 순위에 반영한 검색 결과를 제공하는 과정의 일례를 도시한 순서도이다.
단계(S1310)에서 검색 수행부(340)는 제1 전자 기기(110)로부터 제1 전자 기기(110)의 사용자가 입력한 질의를 수신할 수 있다.
단계(S1320)에서 검색 수행부(340)는 수신된 질의에 대해 주제 분류부(310)를 통해 해당 질의가 속한 주제, 즉 질의 주제를 파악할 수 있다.
단계(S1330)에서 검색 수행부(340)는 질의에 대응되는 대상 문서를 검색할 수 있다. 즉, 검색 수행부(340)는 질의와 질의 주제가 주어지면 색인을 통해 질의에 적합한 대상 문서를 검색할 수 있다.
단계(S1340)에서 검색 수행부(340)는 단계(S1330)에서 검색된 대상 문서를 검색 결과로 제공하되, 질의 주제에 대한 생산자와 소비자의 상호 작용에 따른 신뢰도를 문서 순위에 반영한 검색 결과를 제공할 수 있다. 검색 수행부(340)는 질의 주제와 관련된 전문 생산자와 전문 소비자를 찾아 질의 주제에 속한 문서 순위에 전문 생산자와 전문 소비자에 대한 평가 결과를 반영할 수 있다.
단계(S1341)에서 검색 수행부(340)는 단계(S1330)에서 검색된 대상 문서를 대상으로 문서 주제가 질의 주제와 일치하는지 여부를 문서 순위에 반영할 수 있으며, 질의 주제와 일치하는 주제의 문서를 다른 문서보다 상위에 노출할 수 있다. 검색 수행부(340)는 질의 주제에 해당되는 주제 점수가 높은 문서를 상위에 노출할 수 있다.
단계(S1342)에서 검색 수행부(340)는 단계(S1330)에서 검색된 대상 문서를 대상으로 질의 주제에 대한 생산자 주제 점수에 따른 생산자 순위를 문서 순위에 반영할 수 있다. 다시 말해, 검색 수행부(340)는 질의 주제를 전문 주제로 하는 생산자의 문서, 즉 문서 생산에 있어 질의 주제에 해당되는 주제 점수가 높은 생산자의 문서를 상위에 노출할 수 있다.
단계(S1343)에서 검색 수행부(340)는 단계(S1330)에서 검색된 대상 문서를 대상으로 질의 주제에 대한 소비자 주제 점수에 따른 소비자 순위를 문서 순위에 반영할 수 있다. 다시 말해, 검색 수행부(340)는 질의 주제를 전문 주제로 하는 소비자, 즉 문서 소비에 있어 질의 주제에 해당되는 주제 점수가 높은 소비자에 의해 소비된 문서를 상위에 노출할 수 있다.
따라서, 검색 수행부(340)는 질의가 주어지면 질의에 대응되는 검색 결과를 제공함에 있어 질의가 속한 특정 주제에 대해 보다 전문적인 생산자가 생산한 문서 및/또는 보다 전문적인 소비자가 소비한 문서를 좀더 높은 순위로 노출시킬 수 있다.
이처럼 본 발명의 실시예들에 따르면, 주제를 기반으로 각 주제 별로 해당 주제의 문서를 생산하는 생산자와 해당 주제의 문서를 소비하는 소비자의 평가 결과를 문서 순위에 반영할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (21)

  1. 컴퓨터로 구현되는 주제 기반 순위 결정 방법에 있어서,
    주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 단계; 및
    입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계
    를 포함하는 주제 기반 순위 결정 방법.
  2. 제1항에 있어서,
    상기 주제 기반 순위 결정 방법은,
    주제 분류 학습 모델을 이용하여 각 컨텐츠에 대해 주제 별 점수를 산출하는 단계
    를 더 포함하고,
    상기 평가하는 단계는,
    컨텐츠 각각의 주제 별 점수를 이용하여 각 주제 별로 상기 생산자를 평가하는 것
    을 특징으로 하는 주제 기반 순위 결정 방법.
  3. 제1항에 있어서,
    상기 주제 기반 순위 결정 방법은,
    주제 분류 학습 모델을 이용하여 각 컨텐츠에 대해 주제 별 점수를 산출하는 단계; 및
    상기 생산자가 생산한 컨텐츠 각각의 주제 별 점수를 합산하여 상기 생산자에 대한 주제 별 점수를 산출하는 단계
    를 더 포함하는 주제 기반 순위 결정 방법.
  4. 제3항에 있어서,
    상기 생산자에 대한 주제 별 점수를 산출하는 단계는,
    상기 생산자에 대한 주제 별 점수에 상기 생산자가 생산한 컨텐츠의 시간 간격에 따른 가중치를 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 방법.
  5. 제3항에 있어서,
    상기 생산자에 대한 주제 별 점수를 산출하는 단계는,
    상기 생산자에 대한 주제 별 점수에 단위 시간 동안 상기 생산자가 생산한 컨텐츠의 수에 따른 가중치를 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 방법.
  6. 제3항에 있어서,
    상기 생산자에 대한 주제 별 점수를 산출하는 단계는,
    상기 생산자에 대한 주제 별 점수에 점수 순위에 따른 가중치를 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 방법.
  7. 제3항에 있어서,
    상기 평가하는 단계는,
    각 주제 별로 해당 주제에 대한 생산자 별 점수에 따라 생산자 순위를 결정하는 단계
    를 포함하는 주제 기반 순위 결정 방법.
  8. 제1항에 있어서,
    상기 평가하는 단계는,
    각 주제 별로 해당 주제의 문서를 소비하는 소비자를 평가하는 단계; 및
    상기 소비자에 대한 평가 결과를 상기 생산자에 대한 평가 결과에 반영하는 단계
    를 포함하는 주제 기반 순위 결정 방법.
  9. 제3항에 있어서,
    상기 제공하는 단계는,
    상기 질의가 속하는 주제를 파악하는 단계;
    상기 질의에 대응되는 대상 컨텐츠를 검색하는 단계; 및
    상기 파악된 주제에 대한 상기 생산자 별 점수에 따른 생산자 순위를 상기 대상 컨텐츠의 컨텐츠 순위에 반영하는 단계
    를 포함하는 주제 기반 순위 결정 방법.
  10. 제9항에 있어서,
    상기 주제 기반 순위 결정 방법은,
    소비자가 소비한 문서 각각의 주제 별 점수를 합산하여 상기 소비자에 대한 주제 별 점수를 산출하는 단계
    를 더 포함하고,
    상기 제공하는 단계는,
    상기 파악된 주제에 대한 상기 소비자 별 점수에 따른 소비자 순위를 상기 대상 컨텐츠의 컨텐츠 순위에 반영하는 단계
    를 더 포함하는 주제 기반 순위 결정 방법.
  11. 컴퓨터로 구현되는 주제 기반 순위 결정 방법에 있어서,
    주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자와 해당 주제의 컨텐츠를 소비하는 소비자를 평가하는 단계; 및
    입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과와 상기 소비자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계
    를 포함하는 주제 기반 순위 결정 방법.
  12. 주제 기반 순위 결정 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
    상기 주제 기반 순위 결정 방법은,
    주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 단계; 및
    입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 단계
    를 포함하는, 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.
  13. 컴퓨터로 구현되는 주제 기반 순위 결정 시스템에 있어서,
    컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    주제를 기반으로 각 주제 별로 해당 주제의 컨텐츠를 생산하는 생산자를 평가하는 평가부; 및
    입력된 질의에 대해 상기 질의가 속하는 주제에서의 상기 생산자에 대한 평가 결과를 컨텐츠 순위에 반영한 검색 결과를 제공하는 검색 수행부
    를 포함하는 주제 기반 순위 결정 시스템.
  14. 제13항에 있어서,
    상기 적어도 하나의 프로세서는,
    주제 분류 학습 모델을 이용하여 각 컨텐츠에 대해 주제 별 점수를 산출하는 주제 분류부
    를 더 포함하고,
    상기 평가부는,
    컨텐츠 각각의 주제 별 점수를 이용하여 각 주제 별로 상기 생산자를 평가하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  15. 제13항에 있어서,
    상기 적어도 하나의 프로세서는,
    주제 분류 학습 모델을 이용하여 각 컨텐츠에 대해 주제 별 점수를 산출하는 주제 분류부
    를 더 포함하고,
    상기 주제 분류부는,
    상기 생산자가 생산한 컨텐츠 각각의 주제 별 점수를 합산하여 상기 생산자에 대한 주제 별 점수를 산출하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  16. 제15항에 있어서,
    상기 주제 분류부는,
    상기 생산자에 대한 주제 별 점수에 상기 생산자가 생산한 컨텐츠의 시간 간격에 따른 가중치를 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  17. 제15항에 있어서,
    상기 주제 분류부는,
    상기 생산자에 대한 주제 별 점수에 단위 시간 동안 상기 생산자가 생산한 컨텐츠의 수에 따른 가중치를 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  18. 제15항에 있어서,
    상기 평가부는,
    각 주제 별로 해당 주제에 대한 생산자 별 점수에 따라 생산자 순위를 결정하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  19. 제13항에 있어서,
    상기 평가부는,
    각 주제 별로 해당 주제의 문서를 소비하는 소비자를 평가하고,
    상기 소비자에 대한 평가 결과를 상기 생산자에 대한 평가 결과에 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  20. 제15항에 있어서,
    상기 검색 수행부는,
    상기 질의가 속하는 주제를 파악하고,
    상기 질의에 대응되는 대상 컨텐츠를 검색하고,
    상기 파악된 주제에 대한 상기 생산자 별 점수에 따른 생산자 순위를 상기 대상 컨텐츠의 컨텐츠 순위에 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
  21. 제20항에 있어서,
    상기 주제 분류부는,
    소비자가 소비한 문서 각각의 주제 별 점수를 합산하여 상기 소비자에 대한 주제 별 점수를 산출하고,
    상기 검색 수행부는,
    상기 파악된 주제에 대한 상기 소비자 별 점수에 따른 소비자 순위를 상기 대상 컨텐츠의 컨텐츠 순위에 반영하는 것
    을 특징으로 하는 주제 기반 순위 결정 시스템.
KR1020170043078A 2017-04-03 2017-04-03 생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템 KR102010418B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170043078A KR102010418B1 (ko) 2017-04-03 2017-04-03 생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템
US15/944,384 US11157535B2 (en) 2017-04-03 2018-04-03 Method and system for subject-based ranking considering writer-reader interaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170043078A KR102010418B1 (ko) 2017-04-03 2017-04-03 생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20180112329A true KR20180112329A (ko) 2018-10-12
KR102010418B1 KR102010418B1 (ko) 2019-08-14

Family

ID=63670545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170043078A KR102010418B1 (ko) 2017-04-03 2017-04-03 생산자와 소비자의 상호 작용을 고려한 주제 기반 순위 결정 방법 및 시스템

Country Status (2)

Country Link
US (1) US11157535B2 (ko)
KR (1) KR102010418B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11669688B1 (en) * 2017-04-04 2023-06-06 Architecture Technology Corporation Systems and methods for identifying and classifying community-sourced documents as true documents

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080017685A (ko) * 2006-08-22 2008-02-27 에스케이커뮤니케이션즈 주식회사 문서랭킹 부여방법 및 이를 수행할 수 있는 프로그램이수록된 컴퓨터로 읽을 수 있는 기록 매체
KR20100115600A (ko) * 2009-04-20 2010-10-28 건국대학교 산학협력단 온라인 커뮤니티 사용자 간 상호작용 기반 온라인 커뮤니티 포스트 검색 방법, 장치 및 그 방법을 실행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493702B1 (en) * 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
US20050222989A1 (en) * 2003-09-30 2005-10-06 Taher Haveliwala Results based personalization of advertisements in a search engine
US7836051B1 (en) * 2003-10-13 2010-11-16 Amazon Technologies, Inc. Predictive analysis of browse activity data of users of a database access system in which items are arranged in a hierarchy
US20060026593A1 (en) * 2004-07-30 2006-02-02 Microsoft Corporation Categorizing, voting and rating community threads
US20060059121A1 (en) * 2004-08-31 2006-03-16 Microsoft Corporation Method and system for identifying an author of a paper
US8930400B2 (en) * 2004-11-22 2015-01-06 Hewlett-Packard Development Company, L. P. System and method for discovering knowledge communities
US8280882B2 (en) * 2005-04-21 2012-10-02 Case Western Reserve University Automatic expert identification, ranking and literature search based on authorship in large document collections
KR100963392B1 (ko) 2008-04-29 2010-06-14 엔에이치엔비즈니스플랫폼 주식회사 컨텐츠간 유사도에 기초하여 검색결과를 제공하는 시스템및 방법 그리고 광고를 제공하는 시스템 및 방법
US9798807B2 (en) * 2008-05-06 2017-10-24 Excalibur Ip, Llc Algorithmically generated topic pages
US9032289B1 (en) * 2010-03-26 2015-05-12 Google Inc. Providing suggestions to users to write comments
RU2013124949A (ru) * 2010-10-30 2014-12-10 БЛЕККО, Инк. Динамическое отображение результатов поиска
GB2502736A (en) * 2011-02-23 2013-12-04 Bottlenose Inc System and method for analyzing messages in a network or across networks
US8700544B2 (en) * 2011-06-17 2014-04-15 Microsoft Corporation Functionality for personalizing search results
US8458196B1 (en) * 2012-01-31 2013-06-04 Google Inc. System and method for determining topic authority
EP3178013A4 (en) * 2014-08-06 2017-08-02 Kaybus Inc. Knowledge automation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080017685A (ko) * 2006-08-22 2008-02-27 에스케이커뮤니케이션즈 주식회사 문서랭킹 부여방법 및 이를 수행할 수 있는 프로그램이수록된 컴퓨터로 읽을 수 있는 기록 매체
KR20100115600A (ko) * 2009-04-20 2010-10-28 건국대학교 산학협력단 온라인 커뮤니티 사용자 간 상호작용 기반 온라인 커뮤니티 포스트 검색 방법, 장치 및 그 방법을 실행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11669688B1 (en) * 2017-04-04 2023-06-06 Architecture Technology Corporation Systems and methods for identifying and classifying community-sourced documents as true documents

Also Published As

Publication number Publication date
US11157535B2 (en) 2021-10-26
US20180285366A1 (en) 2018-10-04
KR102010418B1 (ko) 2019-08-14

Similar Documents

Publication Publication Date Title
Ye et al. Urban function recognition by integrating social media and street-level imagery
CN111149100B (zh) 基于命名实体的解析和识别确定跨文档的修辞相互关系
CN107908740B (zh) 信息输出方法和装置
KR20180121466A (ko) 딥러닝을 활용한 개인화 상품 추천
RU2720905C2 (ru) Способ и система для расширения поисковых запросов с целью ранжирования результатов поиска
US9064212B2 (en) Automatic event categorization for event ticket network systems
Fogli et al. Exploiting semantics for context-aware itinerary recommendation
US11308540B2 (en) Real time recommendation engine
US10824806B2 (en) Counterintuitive recommendations based upon temporary conditions
CN112889043A (zh) 以用户为中心的浏览器位置
US9767417B1 (en) Category predictions for user behavior
US9767204B1 (en) Category predictions identifying a search frequency
US20200401639A1 (en) Personalizing a search query using social media
US11194849B2 (en) Logic-based relationship graph expansion and extraction
JP6629935B2 (ja) 文書のカテゴリ分類のためのディープラーニング学習方法およびそのシステム
WO2014194512A1 (en) Information sensors for sensing web dynamics
WO2018023329A1 (en) Quality industry content mixed with friend's posts in social network
US10474670B1 (en) Category predictions with browse node probabilities
Lytvyn et al. An Intelligent System of the Content Relevance at the Ex-ample of Films According to User Needs
JP2019160320A (ja) 位置基盤情報探索方法およびシステム
JP2019204507A (ja) Aiヘッドラインニュース
US11275777B2 (en) Methods and systems for generating timelines for entities
WO2018010147A1 (en) User feed with professional and nonprofessional content
Li et al. A case-based reasoning approach for task-driven spatial–temporally aware geospatial data discovery through geoportals
US10387934B1 (en) Method medium and system for category prediction for a changed shopping mission

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant