KR20230154710A - Method, computer device, and computer program to provide search result using blocks of search intent unit - Google Patents

Method, computer device, and computer program to provide search result using blocks of search intent unit Download PDF

Info

Publication number
KR20230154710A
KR20230154710A KR1020220054472A KR20220054472A KR20230154710A KR 20230154710 A KR20230154710 A KR 20230154710A KR 1020220054472 A KR1020220054472 A KR 1020220054472A KR 20220054472 A KR20220054472 A KR 20220054472A KR 20230154710 A KR20230154710 A KR 20230154710A
Authority
KR
South Korea
Prior art keywords
block
search
processor
blocks
document
Prior art date
Application number
KR1020220054472A
Other languages
Korean (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 KR1020220054472A priority Critical patent/KR20230154710A/en
Publication of KR20230154710A publication Critical patent/KR20230154710A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • 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/904Browsing; Visualisation therefor
    • 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/906Clustering; Classification
    • 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/9538Presentation of query results
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

검색 인텐트 단위의 블록을 이용하여 검색 결과를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램이 개시된다. 검색 결과를 제공하는 방법은, 토픽(topic)과 장르(genre)의 조합으로 검색 인텐트 단위의 블록을 생성하는 단계; 및 사용자로부터 주어진 검색어에 대해 상기 사용자와 관련된 컨텍스트를 기초로 선정된 상기 블록을 이용하여 개인화된 검색 결과를 제공하는 단계를 포함할 수 있다.A method, computer device, and computer program for providing search results using blocks in search intent units are disclosed. A method of providing search results includes generating a block in search intent units by combining a topic and a genre; and providing personalized search results for a search term given by the user using the block selected based on context related to the user.

Description

검색 인텐트 단위의 블록을 이용하여 검색 결과를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램{METHOD, COMPUTER DEVICE, AND COMPUTER PROGRAM TO PROVIDE SEARCH RESULT USING BLOCKS OF SEARCH INTENT UNIT}Method, computer device, and computer program for providing search results using blocks of search intent units {METHOD, COMPUTER DEVICE, AND COMPUTER PROGRAM TO PROVIDE SEARCH RESULT USING BLOCKS OF SEARCH INTENT UNIT}

아래의 설명은 개인화된 검색 결과를 제공하는 기술에 관한 것이다.The description below relates to technology that provides personalized search results.

검색 엔진(search engine)이란 인터넷 상에서 자료를 쉽게 찾을 수 있게 도와주는 소프트웨어 또는 웹 사이트를 말한다. 이러한 검색 엔진은 사용자로부터 입력된 검색어를 통해 데이터베이스를 검색하고 이에 대한 검색 결과를 추출하여 사용자에게 제공한다.A search engine is software or a website that helps you easily find information on the Internet. These search engines search databases through search terms entered by users, extract search results, and provide them to users.

이러한 검색 결과를 제공하는 기술의 일례로, 한국 공개특허공보 제10-2004-0079604호(공개일 2004년 09월 16일)에는 검색 엔진에서 검색어에 대한 검색 결과 리스트를 생성하는 기술이 개시되어 있다.As an example of a technology that provides such search results, Korean Patent Publication No. 10-2004-0079604 (published on September 16, 2004) discloses a technology for generating a search result list for a search term in a search engine. .

검색 인텐트를 세분화한 새로운 검색결과 단위인 블록을 이용하여 개인의 인텐트와 취향을 고려한 검색 결과를 제공할 수 있다.By using blocks, a new search result unit that subdivides search intents, search results that take into account individual intents and tastes can be provided.

문서 분류를 통해 토픽(topic)과 장르(genre)를 추출할 수 있고 토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성할 수 있다.Topics and genres can be extracted through document classification, and blocks in search intent units can be created by combining topics and genres.

키워드 별로 해당 키워드와 대응되는 토픽과 장르의 조합으로 블록을 생성한 후 해당 블록을 통해 노출할 문서를 매칭하여 실시간 검색에 이용할 수 있는 데이터로 구축할 수 있다.For each keyword, you can create a block with a combination of topics and genres corresponding to that keyword, and then match the documents to be exposed through the block to build data that can be used for real-time search.

검색어에 의한 사용자의 검색 인텐트와 함께 해당 사용자의 컨텍스트에 따른 개인 취향을 고려하여 개인화된 블록으로 검색 결과를 제공할 수 있다.Search results can be provided in personalized blocks by considering the user's search intent based on the search term and the user's personal preferences according to the context.

검색 인텐트에 따라 정답형 검색 결과가 포함되는 정답형 블록, 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록, 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록을 자유자재로 조합하여 최적화된 검색 결과를 제공할 수 있다.Optimized by freely combining the correct answer block containing correct search results according to the search intent, the navigation block containing customized search results based on user taste, and the responsive block containing real-time search results based on user reaction. can provide search results.

컴퓨터 장치에서 실행되는 개인화 검색 방법에 있어서, 상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 개인화 검색 방법은, 상기 적어도 하나의 프로세서에 의해, 토픽(topic)과 장르(genre)의 조합으로 검색 인텐트 단위의 블록을 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 사용자로부터 주어진 검색어에 대해 상기 사용자와 관련된 컨텍스트를 기초로 선정된 상기 블록을 이용하여 개인화된 검색 결과를 제공하는 단계를 포함하는 개인화 검색 방법을 제공한다.A personalized search method executed on a computer device, wherein the computer device includes at least one processor configured to execute computer-readable instructions included in a memory, and wherein the personalized search method includes, by the at least one processor, a topic Creating a search intent unit block using a combination of topic and genre; and providing, by the at least one processor, personalized search results for a search term given by a user using the block selected based on context related to the user.

일 측면에 따르면, 상기 생성하는 단계는, 인터넷 상의 문서를 대상으로 문서 분석을 통해 상기 토픽과 상기 장르를 추출하는 단계; 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하는 단계; 및 상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계를 포함할 수 있다.According to one aspect, the generating step includes extracting the topic and the genre through document analysis of documents on the Internet; determining a naming of the block, which is a search result unit, by combining the topic and the genre; And for each of the blocks, it may include linking a document to be exposed as a search result through the corresponding block.

다른 측면에 따르면, 상기 생성하는 단계는, 블록 생성을 위한 키워드를 선정하는 단계; 상기 키워드 각각에 대해 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록을 생성하는 단계; 및 상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계를 포함할 수 있다.According to another aspect, the generating step includes selecting a keyword for block creation; generating the block, which is a search result unit, by combining the topic and the genre for each of the keywords; And for each of the blocks, it may include linking a document to be exposed as a search result through the corresponding block.

또 다른 측면에 따르면, 상기 생성하는 단계는, 상기 키워드 별 블록 정보와 상기 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트하는 단계를 포함할 수 있다.According to another aspect, the generating step may include periodically updating the block information for each keyword and the document information for each block in a cache for real-time search.

또 다른 측면에 따르면, 상기 생성하는 단계는, 인터넷 상의 문서를 대상으로 토픽 모델링을 통해 인텐트 분류를 위한 상기 토픽을 추출하는 단계; 상기 문서를 문서 형식에 따라 분류함으로써 상기 토픽을 세분화하기 위한 상기 장르를 추출하는 단계; 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하는 단계; 및 상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계를 포함할 수 있다.According to another aspect, the generating step includes extracting the topic for intent classification through topic modeling for documents on the Internet; extracting the genre to subdivide the topic by classifying the document according to document format; determining a naming of the block, which is a search result unit, by combining the topic and the genre; And for each of the blocks, it may include linking a document to be exposed as a search result through the corresponding block.

또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 블록 중에서 상기 검색어에 대응되는 블록을 검색하는 단계; 및 상기 사용자의 프로필 정보와 이력 정보 중 적어도 하나의 사용자 정보를 기초로 상기 검색어에 대응되는 블록의 랭킹을 결정하는 단계를 포함할 수 있다.According to another aspect, the providing step includes: searching for a block corresponding to the search word among the blocks; and determining a ranking of the block corresponding to the search word based on at least one of the user's profile information and history information.

또 다른 측면에 따르면, 상기 검색하는 단계는, 상기 검색어와 매칭되는 키워드 또는 상기 검색어와 의미적으로 유사한 키워드가 포함된 이름의 블록을 검색할 수 있다.According to another aspect, the searching step may search for a block of names that include a keyword that matches the search term or a keyword that is semantically similar to the search term.

또 다른 측면에 따르면, 상기 검색하는 단계는, 키워드와 문서에 대한 희소 표현을 학습한 신경망 기반의 딥 매칭 모델을 이용하여 상기 검색어에 대응되는 키워드가 포함된 이름의 블록을 검색할 수 있다.According to another aspect, the search step may search for a block of names containing a keyword corresponding to the search term using a deep matching model based on a neural network that learns sparse expressions for keywords and documents.

또 다른 측면에 따르면, 상기 검색하는 단계는, 상기 블록에 사전 매칭된 문서를 이용하여 상기 블록과 관련된 확장 키워드를 수집하는 단계; 및 상기 블록의 이름과 상기 확장 키워드를 이용하여 상기 검색어에 대응되는 블록을 검색하는 단계를 포함할 수 있다.According to another aspect, the searching step includes collecting extended keywords related to the block using documents pre-matched to the block; And it may include searching for a block corresponding to the search term using the name of the block and the extended keyword.

또 다른 측면에 따르면, 상기 결정하는 단계는, 상기 사용자 정보에 대한 임베딩 벡터를 나타내는 사용자 피처, 상기 검색어에 대한 임베딩 벡터를 나타내는 검색어 피처, 및 상기 블록에 대한 임베딩 벡터를 나타내는 블록 피처를 이용한 랭킹 모델을 이용하여 상기 검색어에 대응되는 블록의 개인화 랭킹을 수행할 수 있다.According to another aspect, the determining step includes a ranking model using a user feature representing an embedding vector for the user information, a search term feature representing an embedding vector for the search term, and a block feature representing an embedding vector for the block. You can use to perform personalized ranking of blocks corresponding to the search term.

상기 개인화 검색 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.A computer program stored in a computer-readable recording medium is provided to execute the personalized search method on a computer.

컴퓨터 장치에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성하고, 사용자로부터 주어진 검색어에 대해 상기 사용자와 관련된 컨텍스트를 기초로 선정된 상기 블록을 이용하여 개인화된 검색 결과를 제공하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.A computer device comprising: at least one processor configured to execute computer-readable instructions included in a memory, wherein the at least one processor generates a block of search intent units using a combination of a topic and a genre, and retrieves information from a user. A computer device is provided that provides personalized search results using the block selected based on context related to the user for a given search term.

본 발명의 실시예들에 따르면, 검색 인텐트를 세분화한 새로운 검색결과 단위인 블록을 이용하여 개인의 인텐트와 취향을 고려한 검색 결과를 제공할 수 있다.According to embodiments of the present invention, search results that take into account individual intent and taste can be provided using blocks, a new search result unit that subdivides search intent.

본 발명의 실시예들에 따르면, 문서 분류를 통해 토픽과 장르를 추출할 수 있고 컨텐츠의 종류나 출처 등이 아닌 토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성할 수 있다.According to embodiments of the present invention, topics and genres can be extracted through document classification, and blocks in units of search intents can be created by combining topics and genres rather than the type or source of content.

본 발명의 실시예들에 따르면, 키워드 별로 해당 키워드와 대응되는 토픽과 장르의 조합으로 블록을 생성한 후 해당 블록을 통해 노출할 문서를 매칭하여 실시간 검색에 이용할 수 있는 데이터로 구축할 수 있다.According to embodiments of the present invention, a block can be created for each keyword with a combination of topics and genres corresponding to the keyword, and then documents to be exposed through the block can be matched to construct data that can be used for real-time search.

본 발명의 실시예들에 따르면, 검색어에 의한 사용자의 검색 인텐트와 함께 해당 사용자의 컨텍스트에 따른 개인 취향을 고려하여 개인화된 블록으로 검색 결과를 제공할 수 있다.According to embodiments of the present invention, search results can be provided in personalized blocks by considering the user's search intent based on the search word and the user's personal preferences according to the context.

본 발명의 실시예들에 따르면, 검색 인텐트에 따라 정답형 검색 결과가 포함되는 정답형 블록, 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록, 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록을 자유자재로 조합하여 최적화된 검색 결과를 제공할 수 있다.According to embodiments of the present invention, a correct answer block containing correct answer search results according to search intent, a search block containing customized search results based on user taste, and a response containing real-time search results based on user reaction. Type blocks can be freely combined to provide optimized search results.

도 1은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서 개인화 검색 서비스를 위한 전체 시스템 구조를 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 인텐트 분류 방법의 일례를 도시한 순서도이다.
도 5는 본 발명의 일실시예에 있어서 인텐트 분류를 통한 문서 구조화 예시를 도시한 것이다.
도 6은 본 발명의 일실시예에 있어서 인텐트 블록 생성 방법의 일례를 도시한 순서도이다.
도 7 내지 도 10은 본 발명의 일실시예에 있어서 인텐트 블록의 네이밍 과정을 설명하기 위한 예시 도면이다.
도 11은 본 발명의 일실시예에 있어서 검색 결과 제공 방법의 일례를 도시한 순서도이다.
도 12는 본 발명의 일실시예에 있어서 인텐트 블록 검색 과정을 설명하기 위한 예시 도면이다.
도 13 내지 도 20은 본 발명의 일실시예에 있어서 인텐트 블록 단위의 검색 결과를 표시하는 사용자 인터페이스 화면의 예시를 도시한 것이다.
1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
Figure 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention.
Figure 3 shows the overall system structure for a personalized search service in one embodiment of the present invention.
Figure 4 is a flowchart showing an example of an intent classification method in an embodiment of the present invention.
Figure 5 shows an example of document structuring through intent classification in one embodiment of the present invention.
Figure 6 is a flowchart showing an example of an intent block generation method in an embodiment of the present invention.
7 to 10 are example diagrams for explaining the naming process of an intent block in an embodiment of the present invention.
Figure 11 is a flowchart showing an example of a method for providing search results in one embodiment of the present invention.
Figure 12 is an example diagram for explaining the intent block search process in one embodiment of the present invention.
Figures 13 to 20 show examples of user interface screens that display search results in intent block units according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

본 발명의 실시예들은 개인화된 검색 결과를 제공하는 기술에 관한 것이다.Embodiments of the present invention relate to technology for providing personalized search results.

본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 검색 인텐트(intent)를 세분화한 새로운 검색결과 단위인 블록을 이용하여 개인의 인텐트와 취향을 고려한 검색 결과를 제공할 수 있다.Embodiments including those specifically disclosed in this specification can provide search results that take into account the individual's intent and taste using blocks, which are a new search result unit that subdivides the search intent.

본 발명의 실시예들에 따른 개인화 검색 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 개인화 검색 방법은 개인화 검색 시스템에 포함되는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 개인화 검색 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 개인화 검색 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The personalized search system according to embodiments of the present invention may be implemented by at least one computer device, and the personalized search method according to embodiments of the present invention is performed through at least one computer device included in the personalized search system. It can be. At this time, the computer program according to an embodiment of the present invention may be installed and driven in the computer device, and the computer device may perform the personalized search method according to the embodiment of the present invention under the control of the driven computer program. . The above-described computer program can be combined with a computer device and stored in a computer-readable recording medium for executing a personalized search method on a computer.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. 또한, 도 1의 네트워크 환경은 본 실시예들에 적용 가능한 환경들 중 하나의 예를 설명하는 것일 뿐, 본 실시예들에 적용 가능한 환경이 도 1의 네트워크 환경으로 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. The network environment in FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170. Figure 1 is an example for explaining the invention, and the number of electronic devices or servers is not limited as in Figure 1. In addition, the network environment in FIG. 1 only explains one example of environments applicable to the present embodiments, and the environment applicable to the present embodiments is not limited to the network environment in FIG. 1.

복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.The plurality of electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals implemented as computer devices. Examples of the plurality of electronic devices 110, 120, 130, and 140 include smart phones, mobile phones, navigation devices, computers, laptops, digital broadcasting terminals, Personal Digital Assistants (PDAs), and Portable Multimedia Players (PMPs). ), tablet PC, etc. For example, in FIG. 1, the shape of a smartphone is shown as an example of the electronic device 110. However, in embodiments of the present invention, the electronic device 110 actually communicates with other devices through the network 170 using a wireless or wired communication method. It may refer to one of various physical computer devices capable of communicating with electronic devices 120, 130, 140 and/or servers 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) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include not only a communication method utilizing a communication network that the network 170 may include (for example, a mobile communication network, wired Internet, wireless Internet, and a broadcast network), but also short-range wireless communication between devices. For example, the network 170 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). , may include one or more arbitrary networks such as the Internet. Additionally, the network 170 may include any one or more of network topologies including a bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical network, etc. Not limited.

서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 콘텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스(일례로, 검색 서비스)를 제공하는 시스템일 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130, 140 and a network 170 to provide commands, codes, files, content, services, etc. It can be implemented with devices. For example, the server 150 may be a system that provides a service (for example, a search service) to a plurality of electronic devices 110, 120, 130, and 140 connected through the network 170.

도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다. 예를 들어, 본 발명의 실시예들에 따른 개인화 검색 시스템은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다.Figure 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the plurality of electronic devices 110, 120, 130, and 140 described above or each of the servers 150 and 160 may be implemented by the computer device 200 shown in FIG. 2. For example, a personalized search system according to embodiments of the present invention may be implemented by the computer device 200 shown in FIG. 2.

이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.As shown in FIG. 2, this computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input/output interface 240. The memory 210 is a computer-readable recording medium and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. Here, non-perishable large-capacity recording devices such as ROM and disk drives may be included in the computer device 200 as a separate permanent storage device that is distinct from the memory 210. Additionally, an operating system and at least one program code may be stored in the memory 210. These software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording media may include computer-readable recording media such as floppy drives, disks, tapes, DVD/CD-ROM drives, and memory cards. In another embodiment, software components may be loaded into the memory 210 through the communication interface 230 rather than a computer-readable recording medium. For example, software components may be loaded into memory 210 of computer device 200 based on computer programs installed by files received over network 170.

프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, processor 220 may be configured to execute received instructions according to program code stored in a recording device such as memory 210.

통신 인터페이스(230)는 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication interface 230 may provide a function for the computer device 200 to communicate with other devices (eg, the storage devices described above) through the network 170. For example, a request, command, data, file, etc. generated by the processor 220 of the computer device 200 according to a program code stored in a recording device such as memory 210 is transmitted to the network ( 170) and can be transmitted to other devices. Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device 200 through the communication interface 230 of the computer device 200 via the network 170. Signals, commands, data, etc. received through the communication interface 230 may be transmitted to the processor 220 or memory 210, and files, etc. may be stored in a storage medium (as described above) that the computer device 200 may further include. It can be stored as a permanent storage device).

입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다.The input/output interface 240 may be a means for interfacing with the input/output device 250. For example, input devices may include devices such as a microphone, keyboard, or mouse, and output devices may include devices such as displays and speakers. As another example, the input/output interface 240 may be a means for interfacing with a device that integrates input and output functions, such as a touch screen. The input/output device 250 may be configured as a single device with the computer device 200.

또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Additionally, in other embodiments, computer device 200 may include fewer or more components than those of FIG. 2 . However, there is no need to clearly show most prior art components. For example, the computer device 200 may be implemented to include at least some of the input/output devices 250 described above, or may further include other components such as a transceiver, a database, etc.

이하에서는 검색 인텐트 단위의 블록을 이용하여 검색 결과를 제공하는 방법과 시스템의 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment of the method and system for providing search results using blocks in search intent units will be described.

도 3은 본 발명의 일실시예에 있어서 개인화 검색 서비스를 위한 전체 시스템 구조를 도시한 것이다.Figure 3 shows the overall system structure for a personalized search service in one embodiment of the present invention.

도 3은 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)를 나타내고 있다. 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)는 도 2를 통해 설명한 컴퓨터 장치(200)에 의해 구현될 수 있다.Figure 3 shows an intent classification server 310, an intent block server 320, and a search server 330. The intent classification server 310, the intent block server 320, and the search server 330 may be implemented by the computer device 200 described with reference to FIG. 2 .

일례로, 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)는 별도의 시스템으로 구현되어 시스템 간 연계를 통해 개인화 검색 서비스를 제공할 수 있다. 실시예에 따라서는 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)가 하나의 시스템으로 구현될 수 있으며, 예를 들어 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)는 개인화 검색 서비스를 제공하기 위해 서버(150)에 설치 및 구동되는 소프트웨어 모듈일 수 있다.For example, the intent classification server 310, the intent block server 320, and the search server 330 may be implemented as separate systems to provide a personalized search service through inter-system connection. Depending on the embodiment, the intent classification server 310, the intent block server 320, and the search server 330 may be implemented as one system, for example, the intent classification server 310, the intent The block server 320 and the search server 330 may be software modules installed and driven on the server 150 to provide a personalized search service.

인텐트 분류 서버(310)는 인터넷 상의 문서를 사용자가 소비하는 인텐트 단위로 분류하는 역할을 담당한다. 인텐트 분류 서버(310)는 문서 분석을 통해 해당 문서를 소비하는 사용자들의 인텐트를 식별할 수 있다.The intent classification server 310 is responsible for classifying documents on the Internet into intent units consumed by users. The intent classification server 310 can identify the intents of users consuming the document through document analysis.

일례로, 인텐트는 토픽과 장르를 이용하여 식별할 수 있다. 본 실시예에서는 인텐트 단위로 문서를 분류하기 위한 기준으로 문서의 토픽(문서가 구체적으로 무엇을 설명하고 있는가)과 함께, 장르(문서가 어떤 성격의 내용을 포함하고 있는가 혹은 문서가 어떤 방식이나 유형으로 내용을 전달하고 있는가)를 활용할 수 있다. 다시 말해, 인텐트 분류 서버(310)는 사용자들이 소비하고 있는 문서들을 대상으로 문서 분석을 통해 토픽과 장르를 추출할 수 있으며, 각 문서를 토픽과 장르로 이루어진 2차원 구조의 인텐트 단위로 구조화할 수 있다.As an example, intents can be identified using topic and genre. In this embodiment, the criteria for classifying documents by intent are the topic of the document (what the document specifically explains) and the genre (what type of content the document contains or how the document is written). (Is the content being conveyed in type?) can be utilized. In other words, the intent classification server 310 can extract topics and genres through document analysis for documents consumed by users, and structures each document into intent units with a two-dimensional structure consisting of topics and genres. can do.

또 다른 예로, 인텐트는 특정 조건(예를 들어, 리뷰가 좋은 상품, 30대 여성이 많이 구매한 상품 등)이나 테마(예를 들면, 아이와 함께 갈 만한 캠핑장 등)를 이용하여 식별할 수 있다.As another example, intents can be identified using specific conditions (e.g., products with good reviews, products frequently purchased by women in their 30s, etc.) or themes (e.g., camping sites suitable for taking children). there is.

이하에서는 본 발명의 일 실시예로써 토픽과 장르를 이용한 예제를 기술하고 있으나, 이에 한정되는 것은 아니며, 다양한 사용자 인텐트를 반영할 수 있음은 물론이다.Below, an example using topics and genres is described as an embodiment of the present invention, but it is not limited to this and, of course, various user intents can be reflected.

또한, 인텐트 블록을 생성함에 있어서는 사용자의 의도 외에도 새로운 랭킹 로직(예를 들면, 최신순 등), 문서의 출처 내지는 형태(예를 들면, 짧은 영상 등) 등을 추가로 고려할 수 있다. 이러한 블록들은 검색 서비스를 소비하는 사용자의 의도에 따라 사용될 수 있다. 예를 들면, 짧은 영상을 소비하고자 하는 사용자에게 짧은 영상들만으로 구성된 인텐트 블록을 제공할 수 있다.Additionally, when creating an intent block, in addition to the user's intention, new ranking logic (e.g., most recent, etc.), source or form of the document (e.g., short video, etc.), etc. can be additionally considered. These blocks can be used according to the intention of the user consuming the search service. For example, an intent block consisting of only short videos can be provided to a user who wants to consume short videos.

인텐트 블록 서버(320)는 인터넷 상의 문서를 사용자가 소비하는 인텐트 단위로 블록화하는 역할을 담당한다. 예를 들면, 인텐트 블록 서버(320)는 토픽과 장르를 기반으로 새로운 검색결과 단위로서 검색 인텐트 단위의 블록(이하, '인텐트 블록'이라 칭함)을 생성할 수 있다. 이때, 인텐트 블록 서버(320)는 사전에 선정된 키워드 각각에 대하여 키워드와 대응되는 인텐트 블록을 설정한 후 인터넷 상에 존재하는 다양한 출처의 문서 중 인텐트 블록에 맞는 문서들을 미리 매칭시킬 수 있다. 인텐트 블록 서버(320)는 키워드 별로 해당 키워드와 대응되는 토픽과 장르의 조합으로 블록을 생성한 후 해당 블록을 통해 노출할 문서를 매칭하여 실시간 검색에 이용할 수 있는 데이터로 구축할 수 있다.The intent block server 320 is responsible for blocking documents on the Internet into intent units consumed by users. For example, the intent block server 320 may generate a search intent unit block (hereinafter referred to as an 'intent block') as a new search result unit based on topic and genre. At this time, the intent block server 320 can set an intent block corresponding to the keyword for each pre-selected keyword and then match in advance documents matching the intent block among documents from various sources existing on the Internet. there is. The intent block server 320 can create a block for each keyword with a combination of topics and genres corresponding to the keyword, and then match documents to be exposed through the block to construct data that can be used for real-time search.

검색 서버(330)는 미리 만들어 놓은 인텐트 블록을 이용하여 실시간 검색을 제공하는 역할을 담당한다. 검색 서버(330)는 검색어에 대한 검색 결과를 문서의 출처나 종류 단위가 아닌 인텐트 단위로 블록화하여 제공할 수 있다. 검색 서버(330)는 사용자로부터 검색어가 입력되는 경우 검색어에 매칭되는 인텐트 블록을 선정한 후 선정된 인텐트 블록을 조합하여 검색 결과를 제공할 수 있다. 특히, 검색 서버(330)는 검색어에 매칭되는 인텐트 블록을 조합함에 있어 사용자의 성별, 나이, 지역, 지역 등이 포함된 프로필 정보와 사용자의 검색 이력, 쇼핑 이력, 컨텐츠 소비 이력 등이 포함된 이력 정보를 이용한 랭킹을 통해 개인화된 검색 결과를 제공할 수 있다.The search server 330 is responsible for providing real-time search using pre-created intent blocks. The search server 330 may block and provide search results for a search term by intent unit rather than document source or type unit. When a search term is input from a user, the search server 330 may select an intent block that matches the search term and then combine the selected intent blocks to provide search results. In particular, when combining intent blocks that match the search term, the search server 330 includes profile information including the user's gender, age, region, region, etc., as well as the user's search history, shopping history, and content consumption history. Personalized search results can be provided through ranking using historical information.

도 4는 본 발명의 일실시예에 있어서 인텐트 분류 방법의 일례를 도시한 순서도이다.Figure 4 is a flowchart showing an example of an intent classification method in an embodiment of the present invention.

본 실시예에 따른 인텐트 분류 방법은 인텐트 분류 서버(310)를 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 이 경우, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 4의 인텐트 분류 방법이 포함하는 단계들(S410 내지 S430)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.The intent classification method according to this embodiment may be performed by the computer device 200 implementing the intent classification server 310. In this case, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system or at least one program included in the memory 210. Here, the processor 220 causes the computer device 200 to perform the steps (S410 to S430) included in the intent classification method of FIG. 4 according to the control command provided by the code stored in the computer device 200. (200) can be controlled.

도 4를 참조하면, 단계(S410)에서 프로세서(220)는 사용자들이 소비하고 있는 문서들을 대상으로 문서 분류를 통해 문서 인텐트를 분류할 수 있는 기준 중 하나인 토픽을 추출할 수 있다. 일례로, 프로세서(220)는 문서 분류 체계에 해당되는 카테고리 별로 각 카테고리에 속하는 문서를 분석하여 토픽을 선정할 수 있다. 예를 들어, 프로세서(220)는 문서를 검색할 때 사용되는 검색어, 문서에서 자주 등장하는 키워드, 문서에 대해 사용자에 의해 설정된 카테고리나 태그 등을 이용하여 토픽을 선정할 수 있다. 이때, 프로세서(220)는 각 카테고리에 속하는 문서를 대상으로 TF-IDF(Term Frequency-Inverse Document Frequency) 또는 문서 그룹 클러스터링을 통해 주요 키워드를 선정함으로써 토픽을 추출할 수 있다. 토픽 모델링을 위해 BERT(Bidirectional Encoder Representations from Transformers), LDA(Latent Dirichlet Allocation) 등 딥러닝 기반의 분류기를 활용할 수 있다. 다른 예로, 프로세서(220)는 문서 기반의 네트워크 정보를 기초로 문서 그룹을 만들어 토픽을 추출할 수 있다. 하나의 문서는 다양한 메타 데이터를 가질 수 있으며, 예를 들어 작성자 정보, 태그, 위치 정보, 카테고리 정보 등 메타 데이터를 기준으로 문서를 분류할 수 있다. 동일한 메타 데이터를 가진 문서는 같은 토픽의 문서일 것이다는 전제 하에, 메타 데이터를 기준으로 문서를 분류할 수 있다. 문서 분류에 있어 메타 데이터와 문서가 같은 벡터 공간에 임베딩되도록 학습한 딥러닝 모델을 활용할 수 있으며, 임베딩이 유사한 문서들을 모아 해당 문서 그룹에서 토픽을 뽑을 수 있다. 이때, 딥러닝 모델의 학습을 위한 데이터 셋의 노이즈를 필터링하기 위해 레이블 노이즈 제거 로직을 적용할 수 있다. 예를 들어, 레이블링 문서에 대해 서로 다른 데이터를 이용하여 복수 개의 분류 모델(Logistic Regression, Random Forest, MLP 등)을 각각 학습한 후 학습된 분류 모델을 이용하여 학습 데이터 셋을 필터링할 수 있다.Referring to FIG. 4, in step S410, the processor 220 may extract a topic, which is one of the criteria for classifying document intents, through document classification targeting documents being consumed by users. For example, the processor 220 may select a topic by analyzing documents belonging to each category for each category corresponding to the document classification system. For example, the processor 220 may select a topic using search words used when searching for a document, keywords that frequently appear in the document, categories or tags set by the user for the document, etc. At this time, the processor 220 can extract topics by selecting main keywords for documents belonging to each category through TF-IDF (Term Frequency-Inverse Document Frequency) or document group clustering. For topic modeling, deep learning-based classifiers such as BERT (Bidirectional Encoder Representations from Transformers) and LDA (Latent Dirichlet Allocation) can be used. As another example, the processor 220 may create a document group based on document-based network information and extract a topic. One document can have various metadata, and for example, documents can be classified based on metadata such as author information, tags, location information, and category information. Documents with the same metadata can be classified based on metadata, under the premise that they will be documents on the same topic. In document classification, you can use a deep learning model that has learned to embed metadata and documents in the same vector space, and you can collect documents with similar embeddings and select topics from the document group. At this time, label noise removal logic can be applied to filter out noise in the data set for learning the deep learning model. For example, you can learn a plurality of classification models (Logistic Regression, Random Forest, MLP, etc.) using different data for labeling documents, and then filter the learning data set using the learned classification models.

단계(S420)에서 프로세서(220)는 사용자들이 소비하고 있는 문서들을 대상으로 문서 분류를 통해 문서 인텐트를 분류할 수 있는 기준 중 다른 하나인 장르를 추출할 수 있다. 프로세서(220)는 문서를 문서의 형식에 따라 분류함으로써 문서의 장르를 선정할 수 있으며, 문서 장르 중 사용자 선호도가 높은, 즉 문서 수가 많은 주요 장르를 선정할 수 있다. 이는 토픽을 기준으로 분류된 문서를 더욱 세분화된 기준, 즉 장르로 추가 분류하기 위함이다. 프로세서(220)는 문서의 다양한 피처를 이용하여 문서 형식을 분류할 수 있다. 문서 형식에 따라 분류에 사용되는 피처를 다르게 구성할 수 있다. 일례로, 프로세서(220)는 문서의 텍스트 피처(제목 피처, 본문 피처 등), 그리고 문서의 속성 정보를 활용한 속성 피처가 포함된 분류기를 통해 둘 이상의 대상을 비교하는 형식의 문서를 분류할 수 있다. 예를 들어, 문서에 등장하는 속성 정보로서 속성 빈도 값(예를 들면, 속성 값 개수, 등장한 문장 개수 등), 속성 DF(Document Frequency)나 TF(Term Frequency), 속성 카테고리(각 속성이 어떤 카테고리에 속하는지) 등을 이용하여 비교 문서 형식을 분류하기 위한 피처(즉, 속성 피처)를 생성할 수 있다. 다른 예로, 프로세서(220)는 문서의 텍스트 피처, 그리고 문서의 구조 정보를 이용한 피처가 포함된 분류기를 통해 적어도 하나의 대상을 추천하는 형식의 문서를 분류할 수 있다. 프로세서(220)는 문서의 구조 분석을 통해 강조되는 스타일이나 병렬적인 컨텐츠 나열 구조 등을 찾을 수 있으며, 이러한 문서 구조 정보를 이용하여 추천 문서 형식을 분류하기 위한 피처를 생성할 수 있다. 또 다른 예로, 프로세서(220)는 문서의 텍스트 피처, 속성 피처, 구조 피처, 이미지 피처, 그리고 작성자 관련 피처가 포함된 분류기를 통해 대상을 가이드하는(how to, know-how, tip 등) 형식의 문서를 분류할 수 있다. 문서의 텍스트 피처를 이용하여 가이드 문서 여부를 분류할 수 있고, 텍스트 피처 이외에 속성 피처, 구조 피처, 이미지 피처, 작성자 관련 피처 등 여러 피처를 이용하여 고품질의 가이드 문서를 분류할 수 있다. 또 다른 예로, 프로세서(220)는 문서의 텍스트 피처, 그리고 경험 관련 피처가 포함된 분류기를 통해 후기 형식의 문서를 분류할 수 있다. 문서에서 등장하는 경험 표현(예를 들어, 다녀왔다, 방문했다 등), 주체 표현(예를 들어, 친구, 가족, 나 등), 시간 표현(예를 들어, 1박 2일, 3일차, 1개월 등), 의견 표현(예를 들어, 좋아요, 추천 등) 등 경험과 관련된 특성을 정의하여 이를 문서 분류를 위한 피처로 활용할 수 있다. 문서의 경험 관련 피처를 이용하여 후기 문서 여부를 분류할 수 있고 후기 문서의 경우 긍정적 의견의 문서와 부정적 의견의 문서로 분류할 수 있다.In step S420, the processor 220 may extract genre, which is another criterion for classifying document intent, through document classification for documents being consumed by users. The processor 220 can select the genre of the document by classifying the document according to the document format, and select a major genre with high user preference, that is, a large number of documents, among the document genres. This is to further classify documents classified based on topic into more detailed criteria, that is, genre. The processor 220 may classify the document format using various features of the document. Depending on the document format, the features used for classification can be configured differently. For example, the processor 220 can classify a document that compares two or more objects through a classifier that includes text features (title features, body features, etc.) of the document and attribute features using attribute information of the document. there is. For example, attribute information that appears in a document includes attribute frequency values (e.g., number of attribute values, number of sentences that appear, etc.), attribute DF (Document Frequency) or TF (Term Frequency), and attribute category (what category each attribute belongs to). It is possible to create features (i.e., attribute features) to classify the comparative document format using factors such as whether the document belongs to the document type. As another example, the processor 220 may classify a document in a format that recommends at least one object through a classifier that includes text features of the document and features using structure information of the document. The processor 220 can find emphasized styles or parallel content listing structures by analyzing the structure of the document, and can use this document structure information to generate features for classifying recommended document formats. As another example, the processor 220 guides the target through a classifier that includes text features, attribute features, structure features, image features, and author-related features of the document (how to, know-how, tip, etc.). Documents can be classified. You can use the text features of the document to classify whether it is a guide document, and in addition to the text features, you can classify high-quality guide documents using various features such as attribute features, structural features, image features, and author-related features. As another example, the processor 220 may classify a later format document through a classifier that includes text features of the document and experience-related features. Experience expressions that appear in documents (e.g., went there, visited, etc.), subject expressions (e.g., friends, family, me, etc.), and time expressions (e.g., 2 days and 1 night, 3 days, 1 month) etc.), opinion expressions (e.g., likes, recommendations, etc.), etc., can be defined and used as features for document classification. Using the experience-related features of the document, you can classify whether it is a review document, and in the case of a review document, you can classify it into a document with a positive opinion and a document with a negative opinion.

단계(S430)에서 프로세서(220)는 문서를 토픽과 장르의 2차원 구조로 분류할 수 있다. 프로세서(220)는 문서를 토픽과 장르로 구조화함으로써 인텐트 단위로 분류할 수 있다. 도 5에 도시한 바와 같이, 프로세서(220)는 문서를 인텐트 단위로 분류하기 위한 기준으로 토픽(501)과 장르(502)를 정의할 수 있다. 사용자들이 소비한 문서들을 분석하여 문서 인텐트를 구분하기 위한 토픽(501)과 장르(502)를 추출할 수 있고, 이를 통해 문서를 토픽(501)과 장르(502)에 따라 분류할 수 있다. 예를 들어, '텐트 설치법'에 관한 문서의 경우 토픽(501) 중에서는 '레저>캠핑' 문서에 해당되고 장르(502) 중에서는 'How-To' 문서(가이드 문서 형식)에 해당될 수 있다.In step S430, the processor 220 may classify the document into a two-dimensional structure of topic and genre. The processor 220 can classify documents by intent by structuring them into topics and genres. As shown in FIG. 5, the processor 220 may define a topic 501 and a genre 502 as criteria for classifying documents by intent. By analyzing documents consumed by users, topics 501 and genres 502 to distinguish document intents can be extracted, and through this, documents can be classified according to topics 501 and genres 502. For example, in the case of a document on 'How to set up a tent', it may correspond to a 'Leisure > Camping' document among topics (501) and a 'How-To' document (guide document format) among genres (502). .

프로세서(220)는 토픽 기반 문서 분류와 장르 기반 문서 분류를 위해 BERT 모델, LDA 모델, 로지스틱 회귀 모델, 랜덤 포레스트 모델, MLP(multi-layer perceptron) 모델 등 다양한 딥러닝 모델을 활용할 수 있으며, 단일 모델은 물론이고, 둘 이상의 모델을 조합한 앙상블 모델을 활용할 수 있다. 일례로, 서로 다른 모델을 결합한 뒤 투표(voting)를 통해 최종 결과를 획득할 수 있으며, 둘 이상의 분류기 모델을 조합하기 위해 GNN(graph neural network) 등을 활용할 수 있다.The processor 220 can utilize various deep learning models such as BERT model, LDA model, logistic regression model, random forest model, and MLP (multi-layer perceptron) model for topic-based document classification and genre-based document classification, and a single model In addition, an ensemble model that combines two or more models can be used. For example, the final result can be obtained through voting after combining different models, and GNN (graph neural network), etc. can be used to combine two or more classifier models.

도 6은 본 발명의 일실시예에 있어서 인텐트 블록 생성 방법의 일례를 도시한 순서도이다.Figure 6 is a flowchart showing an example of an intent block generation method in an embodiment of the present invention.

본 실시예에 따른 인텐트 블록 생성 방법은 인텐트 블록 서버(320)를 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 이 경우, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 6의 인텐트 블록 생성 방법이 포함하는 단계들(S610 내지 S630)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.The intent block creation method according to this embodiment may be performed by the computer device 200 implementing the intent block server 320. In this case, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system or at least one program included in the memory 210. Here, the processor 220 causes the computer device 200 to perform the steps (S610 to S630) included in the intent block generation method of FIG. 6 according to the control command provided by the code stored in the computer device 200. The device 200 can be controlled.

도 6을 참조하면, 단계(S610)에서 프로세서(220)는 블록 생성을 위한 키워드를 선정할 수 있다. 프로세서(220)는 인터넷 상에서 검색어로 사용되는 키워드들 중에서 블록 생성을 위한 키워드 풀을 생성하는 것으로, 일례로 검색어로의 사용 빈도를 분석하여 일정 레벨 이상의 사용 빈도를 가진 키워드를 선정할 수 있다.Referring to FIG. 6, in step S610, the processor 220 may select a keyword for creating a block. The processor 220 generates a keyword pool for block creation among keywords used as search words on the Internet. For example, it can analyze the frequency of use of search words and select keywords with a frequency of use above a certain level.

단계(S620)에서 프로세서(220)는 단계(S610)에서 선정된 각 키워드에 대해 토픽과 장르를 조합하여 인텐트 블록을 생성하기 위한 네이밍(naming)을 수행할 수 있다. 먼저, 도 7을 참조하면, 프로세서(220)는 각 키워드(710)에 대해 적어도 하나의 토픽(720)을 매핑할 수 있다. 토픽(720)에는 꾸준히 반복되는 스테디 토픽(721)과 최근 많이 등장하는 트렌드 토픽(722)이 포함될 수 있다. 프로세서(220)는 키워드(710)와 토픽(720) 간의 연관성을 바탕으로 각 키워드(710)에 적합한 토픽(720)을 매핑할 수 있다. 다음으로, 도 8을 참조하면, 프로세서(220)는 키워드(710) 별로 키워드(710)에 매핑된 토픽(720)과 각 토픽(720)을 세분화된 장르(830)를 조합하여 블록 이름 후보(840)를 만들 수 있다. 장르(830)에는 문서를 기반으로 정의한 장르(831)는 물론이고, 출처를 기반으로 정의한 장르(832)가 포함될 수 있다. 이때, 프로세서(220)는 문서 비중을 이용하여 블록 이름 후보(840)에 대한 필터링을 수행할 수 있다. 도 9를 참조하면, 프로세서(220)는 토픽(720)과 장르(830)로 분류된 문서 비중에 따라 블록 이름 후보(840) 중 일부를 제외시킬 수 있다. 예를 들어, 토픽이 '캠핑장'으로 분류되면서 장르가 후기 문서 형식인 '리뷰'로 분류되는 문서의 개수가 임계치 미만인 경우 토픽 '캠핑장'과 장르 '리뷰'의 조합으로 만들어진 '캠핑장 리뷰'는 인텐트 블록 생성 대상에서 제외될 수 있다. 프로세서(220)는 문서 비중을 이용한 블록 이름 필터링을 통해 최종 블록 이름 후보(950)를 선정할 수 있다. 그리고, 프로세서(220)는 키워드(710)와 최종 블록 이름 후보(950)를 서로 다른 순서로 조합한 후 언어 모델을 이용하여 언어 구조적으로 보다 자연스러운 이름을 결정할 수 있다. 예를 들어, 도 10에 도시한 바와 같이 키워드 '자전거', 토픽 '한강', 장르 '후기'가 주어진 경우 키워드와 토픽 및 장르의 조합 순서를 달리하여 가능한 네이밍 후보 <한강 자전거 후기>, <후기 한강 자전거>, <자전거 후기 한강> 등을 만든 후 언어 모델(1000)을 이용한 예측 확률을 통해 최종 네이밍(예를 들어, 크로스 엔트로피 손실이 가장 적은 네이밍 <한강 자전거 후기>)을 선정할 수 있다. 프로세서(220)는 상기한 네이밍 과정을 거쳐 키워드(710) 별로 적어도 하나의 인텐트 블록을 생성할 수 있다.In step S620, the processor 220 may perform naming to create an intent block by combining a topic and a genre for each keyword selected in step S610. First, referring to FIG. 7 , the processor 220 may map at least one topic 720 to each keyword 710. Topics 720 may include steady topics (721) that are constantly repeated and trend topics (722) that appear frequently recently. The processor 220 may map a topic 720 suitable for each keyword 710 based on the relationship between the keyword 710 and the topic 720. Next, referring to FIG. 8, the processor 220 combines the topic 720 mapped to the keyword 710 for each keyword 710 and the subdivided genre 830 of each topic 720 to create a block name candidate ( 840) can be made. The genre 830 may include a genre 831 defined based on a document as well as a genre 832 defined based on a source. At this time, the processor 220 may perform filtering on the block name candidate 840 using the document proportion. Referring to FIG. 9, the processor 220 may exclude some of the block name candidates 840 according to the proportion of documents classified into the topic 720 and the genre 830. For example, if the number of documents classified as 'camping site' and genre as 'review', a review document format, is below the threshold, 'camping site review' created by combining topic 'camping site' and genre 'review' ' may be excluded from intent block creation. The processor 220 may select the final block name candidate 950 through block name filtering using document proportion. Additionally, the processor 220 may combine the keywords 710 and the final block name candidates 950 in different orders and then use a language model to determine a more natural name in terms of language structure. For example, as shown in Figure 10, given the keyword 'bicycle', topic 'Han River', and genre 'review', possible naming candidates by varying the order of combination of keyword, topic, and genre are <Hangang Bicycle Review>, <Review. After creating Hangang Bicycle>, <Hangang Bicycle Review>, etc., the final naming (for example, <Han River Bicycle Review>) with the lowest cross-entropy loss can be selected through the prediction probability using a language model (1000). The processor 220 may generate at least one intent block for each keyword 710 through the above-mentioned naming process.

인텐트 블록 생성 과정에서의 네이밍에 있어 단어 조합 형태의 네이밍을 설명하고 있으나, 이에 한정되는 것은 아니며, 완성 문장형 등 다양한 형태의 네이밍이 가능하다. 예를 들어, 키워드 '자전거', 토픽 '한강', 장르 '추천'이 주어진 경우 <어떤 코스가 한강 자전거 코스로 가장 인기가 있나요?>, <한강 자전거 타기 가장 좋은 시기는 언제인가요?> 등과 같은 질문 형식의 문장으로 블록 이름을 만들 수 있다. 질문 형식의 문장을 이용한 블록 네이밍을 통해 Q&A(질의&응답) 성격의 인텐트 블록을 생성할 수 있다.In the naming process in the intent block creation process, naming in the form of a word combination is explained, but it is not limited to this, and various forms of naming, such as a complete sentence type, are possible. For example, given the keyword 'bicycle', topic 'Han River', and genre 'recommendation', such as <Which course is the most popular as a Han River bike course?>, <When is the best time to ride a bike on the Han River?>, etc. You can create a block name using a question-type sentence. You can create a Q&A (Question & Answer) style intent block by naming blocks using question-type sentences.

다시 도 6을 참조하면, 단계(S630)에서 프로세서(220)는 최종 네이밍이 결정된 인텐트 블록 각각에 대해 해당 블록을 통해 노출할 문서를 연결할 수 있다. 프로세서(220)는 각 키워드에 대해 인텐트 블록 별로 해당 블록에 노출할 문서를 매칭할 수 있다. 일례로, 프로세서(220)는 인텐트 블록의 네이밍을 이용하여 인터넷 상의 다양한 출처의 문서를 검색할 수 있고, 검색 결과에 포함된 적어도 하나의 문서를 해당 블록의 캐시에 저장할 수 있다. 프로세서(220)는 인텐트 블록의 토픽과 장르에 속한 문서를 중심으로 해당 블록에 인입할 수 있다.Referring again to FIG. 6, in step S630, the processor 220 may link a document to be exposed through the block to each intent block for which the final name has been determined. The processor 220 may match documents to be exposed to the block for each intent block for each keyword. For example, the processor 220 can search for documents from various sources on the Internet using the naming of an intent block, and store at least one document included in the search results in the cache of the corresponding block. The processor 220 can enter the block based on documents belonging to the topic and genre of the intent block.

따라서, 프로세서(220)는 인터넷 상에서 사용되는 주요 키워드에 대해 토픽과 장르의 조합으로 블록 네이밍을 결정한 후 네이밍이 결정된 블록에 문서를 미리 매칭함으로써 인텐트 블록을 생성할 수 있다. 프로세서(220)는 실시간 검색에 이용할 수 있도록 인텐트 블록의 문서들을 여러 출처로부터 미리 만들어 놓을 수 있으며, 이때 키워드 별 인텐트 블록 정보와 인텐트 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트할 수 있다.Accordingly, the processor 220 may determine a block name using a combination of topic and genre for major keywords used on the Internet and then generate an intent block by matching a document in advance to the block whose name has been determined. The processor 220 can prepare documents of intent blocks in advance from various sources so that they can be used for real-time search, and at this time, intent block information for each keyword and document information for each intent block are periodically updated in the cache for real-time search. can do.

한편, 앞서 설명한 토픽과 장르의 조합으로 블록 네이밍을 결정하는 방법 외에도 다른 방법으로도 인텐트 블록 생성이 가능하다. 주요 객체성 키워드에 자주 나타나는 속성을 조합하여 블록을 생성할 수 있다. 예를 들어, (자동차 모델명)+'시승기', (음식 재료명)+'보관법', (책 이름)+'독후감'과 같이 객체성 키워드와 자주 나타나는 속성을 조합하는 것이다. 특정 객체성 키워드와 관련된 문서에 자주 나타나는 표현들을 종합하여 속성을 추출하여 생성할 수 있다. 또한, 최근에 작성된 문서 코퍼스에서 핵심 어구를 추출(keyphrase extraction)하고, 동일한 핵심어구를 공유하는 문서들끼리 묶어서 블록을 생성할 수도 있다. 예를 들면, 검색유입질의 및 사용자 태그를 공유하는 문서들의 문장 벡터를 딥러닝 모델로 생성하고, 이를 평균 내어 비슷한 문서에 해당 태그를 조합하여 붙이는 방법을 이용할 수 있다. 이처럼 다양한 인텐트 블록 생성 방법은 필요에 따라 조합되거나 상호 보완적으로 사용될 수 있다.Meanwhile, in addition to the method of determining the block naming by combining the topic and genre described above, it is possible to create an intent block using other methods. You can create blocks by combining properties that frequently appear in major object keywords. For example, it is a combination of object keywords and frequently appearing attributes, such as (car model name)+'test drive', (food ingredient name)+'storage method', (book name)+'book review'. Properties can be extracted and created by combining expressions that frequently appear in documents related to specific object keywords. Additionally, it is possible to extract key phrases from a corpus of recently created documents and create blocks by grouping documents that share the same key phrases. For example, you can use a deep learning model to generate sentence vectors of documents that share search queries and user tags, average them, and then combine and attach the corresponding tags to similar documents. These various intent block creation methods can be combined or used complementary to each other as needed.

도 11은 본 발명의 일실시예에 있어서 검색 결과 제공 방법의 일례를 도시한 순서도이다.Figure 11 is a flowchart showing an example of a method for providing search results in one embodiment of the present invention.

본 실시예에 따른 검색 결과 제공 방법은 검색 서버(330)를 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 이 경우, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 11의 검색 결과 제공 방법이 포함하는 단계들(S1110 내지 S1130)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.The method for providing search results according to this embodiment may be performed by the computer device 200 implementing the search server 330. In this case, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system or at least one program included in the memory 210. Here, the processor 220 causes the computer device 200 to perform the steps (S1110 to S1130) included in the search result providing method of FIG. 11 according to the control command provided by the code stored in the computer device 200. (200) can be controlled.

도 11을 참조하면, 단계(S1110)에서 프로세서(220)는 사용자로부터 검색어가 입력되면 사전에 만들어진 인텐트 블록 중에서 검색어에 대응되는 인텐트 블록을 검색할 수 있다. 일례로, 프로세서(220)는 전통적인 텀매칭 방식으로 이름에 검색어와 매칭되는 키워드가 포함된 인텐트 블록을 검색할 수 있다. 다른 예로, 프로세서(220)는 딥 매칭 검색 모델을 통해 검색어와 의미적으로 유사한 키워드(동의어, 줄임말, 풀네임 등)를 확장하여 인텐트 블록을 검색할 수 있다. 프로세서(220)는 인텐트 블록에 속한 문서를 대상으로 문서를 검색할 때 사용되는 검색어, 문서에서 자주 등장하는 키워드, 문서에 대해 사용자에 의해 설정된 카테고리나 태그 등을 이용하여 해당 블록과 관련된 확장 키워드를 수집할 수 있다. 도 12를 참조하면, 네이밍 과정을 거쳐 생성된 인텐트 블록(1201) 각각에 대하여 해당 블록(1201)에 사전 매칭된 문서(1202)를 이용하여 확장 키워드(1210)를 수집할 수 있다. 검색 서버(330)는 검색어에 대해 인텐트 블록의 이름은 물론이고 각 블록과 관련된 확장 키워드(1210)를 검색함으로써 검색어에 대응되는 인텐트 블록을 검색할 수 있다. 확장 키워드(1210)를 이용한 블록 검색을 위해 키워드와 문서에 대한 BERT 기반 희소 표현을 학습하는 신경망 모델(예를 들어, SPLADE 등)을 딥 매칭 검색 모델로 활용할 수 있다.Referring to FIG. 11 , in step S1110, when a search word is input by the user, the processor 220 may search for an intent block corresponding to the search word among pre-created intent blocks. For example, the processor 220 may search for an intent block whose name includes a keyword that matches the search term using a traditional term matching method. As another example, the processor 220 may search an intent block by expanding keywords (synonyms, abbreviations, full names, etc.) that are semantically similar to the search term through a deep matching search model. The processor 220 uses search terms used when searching documents for documents belonging to the intent block, keywords that frequently appear in the document, categories or tags set by the user for the document, etc., to create extended keywords related to the block. can be collected. Referring to FIG. 12, for each intent block 1201 created through a naming process, an extended keyword 1210 can be collected using a document 1202 pre-matched to the corresponding block 1201. The search server 330 can search for an intent block corresponding to a search term by searching the name of the intent block as well as the extended keyword 1210 related to each block. For block search using extended keywords 1210, a neural network model (e.g., SPLADE, etc.) that learns BERT-based sparse expressions for keywords and documents can be used as a deep matching search model.

다시 도 11을 참조하면, 단계(S1120)에서 프로세서(220)는 검색어에 대응되는 인텐트 블록의 랭킹을 결정할 수 있다. 프로세서(220)는 개인화된 검색 결과를 제공하기 위해 사용자의 프로필 정보와 이력 정보를 기초로 인텐트 블록의 랭킹을 결정할 수 있다. 개인화를 위해 사용자의 취향(관심사나 선호도 등)을 파악할 수 있는 정보를 활용할 수 있으며, 프로필 정보는 사용자의 성별, 나이, 지역 등을 포함할 수 있고, 이력 정보는 검색 이력, 쇼핑 이력, 컨텐츠 소비 이력 등을 포함할 수 있다. 프로세서(220)는 사용자 정보(프로필 정보와 이력 정보)에 대한 임베딩 벡터인 사용자 피처와, 검색어에 대한 임베딩 벡터인 검색어 피처, 그리고 인텐트 블록에 대한 임베딩 벡터인 블록 피처(토픽 피처와 장르 피처를 포함함)를 이용한 랭킹 모델을 이용하여 검색어에 대응되는 인텐트 블록의 개인화 랭킹을 수행할 수 있다.Referring again to FIG. 11, in step S1120, the processor 220 may determine the ranking of the intent block corresponding to the search word. The processor 220 may determine the ranking of the intent block based on the user's profile information and history information to provide personalized search results. For personalization, information that can identify the user's tastes (interests or preferences, etc.) can be used. Profile information can include the user's gender, age, region, etc., and history information can include search history, shopping history, and content consumption. May include history, etc. The processor 220 includes a user feature that is an embedding vector for user information (profile information and history information), a search term feature that is an embedding vector for a search word, and a block feature (topic feature and genre feature) that is an embedding vector for an intent block. You can perform personalized ranking of intent blocks corresponding to search words using a ranking model using (included).

단계(S1130)에서 프로세서(220)는 단계(S1120)에서 결정된 랭킹에 따라 검색어에 대응되는 인텐트 블록을 정렬하여 사용자에게 개인화된 검색 결과를 표시할 수 있다. 프로세서(220)는 사용자 취향이 반영된 랭킹으로 검색어에 대응되는 인텐트 블록을 정렬하여 검색 결과를 제공할 수 있다.In step S1130, the processor 220 may display personalized search results to the user by sorting intent blocks corresponding to the search term according to the ranking determined in step S1120. The processor 220 may provide search results by sorting intent blocks corresponding to search terms with a ranking that reflects user preferences.

프로세서(220)는 검색어에 대응되는 검색 결과를 여러 유형의 블록 단위로 분류하여 제공할 수 있다. 프로세서(220)는 검색어에 대한 정답형 검색 결과가 포함되는 정답형 블록을 제공할 수 있다. 정답형 블록은 검색어에 대응되는 검색 결과 중 하나로 로직에 따라 자동으로 결정되는 적어도 하나의 문서를 포함할 수 있다. 프로세서(220)는 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록을 제공할 수 있다. 탐색형 블록은 사용자의 검색 인텐트는 물론이고 사용자의 취향이 반영된 검색 결과로서, 단계(S1110 내지 S1120)의 딥 매칭 및 개인화를 통해 선정된 인텐트 블록을 포함할 수 있다.The processor 220 may classify and provide search results corresponding to the search term into various types of blocks. The processor 220 may provide a correct answer block containing correct answer search results for a search term. The correct answer block is one of the search results corresponding to the search term and may include at least one document that is automatically determined according to logic. The processor 220 may provide a search block that includes customized search results based on user tastes. The search block is a search result that reflects the user's search intent as well as the user's taste, and may include an intent block selected through deep matching and personalization in steps S1110 to S1120.

프로세서(220)는 정답형 블록과 탐색형 블록 이외에도 사용자 반응 기반의 반응형 블록을 제공할 수 있다. 반응형 블록은 탐색형 블록과 마찬가지로 사용자의 검색 인텐트와 취향이 반영된 검색 결과를 제공할 수 있으며, 사용자가 검색 결과에서 클릭한 문서와 이전 검색 이력을 참고하여 최적의 검색 결과를 실시간으로 가져와 보여줄 수 있다. 정답형 블록과 탐색형 블록은 해당 블록을 통해 노출할 문서가 사전에 매칭된 사전 생성 방식의 블록인 반면에, 반응형 블록은 해당 블록을 통해 노출할 문서가 클릭 문서를 기초로 실시간으로 결정되는 실시간 생성 방식의 블록이다. 예를 들면, 유저가 클릭하거나, 오래 반응한 문서에서 뽑아낸 유저의 흥미, 취향 등을 파악하여 관련된 반응형 블록을 실시간으로 생성하여 제공할 수 있다. 이때, 프로세서(220)는 해당 블록과 관련된 문서들을 동적으로 모아서 제공하거나, 이미 생성되어 있던 블록 중에서 유저의 반응에 적합한 블록을 골라서 제공할 수 있다.The processor 220 may provide responsive blocks based on user responses in addition to answer-type blocks and search-type blocks. Responsive blocks, like navigation blocks, can provide search results that reflect the user's search intent and tastes, and retrieve and display optimal search results in real time by referring to the documents the user clicked on in the search results and previous search history. You can. While the answer-type block and search-type block are pre-generated blocks in which the documents to be exposed through the block are matched in advance, the responsive block is a block in which the document to be exposed through the block is determined in real time based on the clicked document. This is a real-time generation block. For example, it is possible to create and provide related responsive blocks in real time by identifying the user's interests and preferences extracted from documents that the user has clicked or reacted to for a long time. At this time, the processor 220 can dynamically collect and provide documents related to the block, or select and provide a block suitable for the user's response from blocks that have already been created.

정답형 블록은 로직에 따라 자동 결정되어 모든 사용자에게 공통으로 제공되는 검색 결과이며, 탐색형 블록과 반응형 블록은 사용자마다 다른 검색 결과를 제공하는 개인화 블록에 해당될 수 있다. 정답형 블록은 하나의 인텐트 블록으로 구성될 수 있고, 탐색형 블록과 반응형 블록은 다양한 토픽이나 장르의 검색 결과를 제공하기 위해 둘 이상의 인텐트 블록으로 구성될 수 있다. 정답형 블록과 탐색형 블록 및 반응형 블록 이외에도 검색 결과 단위인 블록을 분류하기 위해 다양한 기준을 활용하여 확장된 검색 결과를 제공할 수 있다. 예를 들어, 사용자의 검색어와 직간접적으로 연관된 다른 검색어(예를 들어, 다른 사용자들의 검색 이력에서 검색어 이전 또는 이후에 연속적으로 이용되는 검색어 등)의 문서 또는 사용자와 프로필이 유사한 다른 사용자에 의한 검색 빈도가 높은 새로운 검색어의 문서 등이 포함된 발견형 블록을 추가로 이용하여 검색 결과를 확장할 수 있다.The correct answer block is a search result that is automatically determined based on logic and provided commonly to all users, while the search block and responsive block can correspond to personalized blocks that provide different search results for each user. The correct answer block can be composed of one intent block, and the search block and responsive block can be composed of two or more intent blocks to provide search results on various topics or genres. In addition to answer-type blocks, search-type blocks, and responsive blocks, expanded search results can be provided by using various criteria to classify blocks, which are search result units. For example, documents for other search terms that are directly or indirectly related to the user's search term (e.g., search terms used sequentially before or after the search term in the search history of other users, etc.), or searches by other users with a similar profile to the user. Search results can be expanded by using additional discovery blocks that contain documents of new, frequently searched terms.

프로세서(220)는 검색어의 유형에 따라 정답형 블록과 탐색형 블록 및 반응형 블록의 정렬 순서를 결정할 수 있다. 정답 인텐트가 강한 검색어의 경우 정답형 블록을 상위에 배열할 수 있고, 탐색 인텐트가 강한 검색어의 경우 다양한 토픽이나 장르의 결과를 제공하기 위해 탐색형 블록을 상위에 배열할 수 있다. 프로세서(220)는 사용자 선호도가 반영된 탐색형 블록과 함께 사용자의 문서 클릭에 실시간으로 반응하는 반응형 블록을 통해 확장된 검색 결과를 제공할 수 있다. 또한, 프로세서(220)는 검색어나 사용자 선호도 등에 따라 정답형 블록과 탐색형 블록 및 반응형 블록 중 적어도 하나를 노출 대상에서 제외시킬 수 있다. 예를 들어, 탐색 인텐트가 강한 검색어의 경우 정답형 블록을 생략하고 탐색형 블록과 반응형 블록만으로 검색 결과를 제공할 수 있다.The processor 220 may determine the sorting order of the correct answer block, search block, and responsive block according to the type of search term. In the case of search words with a strong correct answer intent, the correct answer block can be arranged at the top, and in the case of search words with a strong search intent, search blocks can be arranged at the top to provide results on various topics or genres. The processor 220 can provide expanded search results through a search-type block that reflects user preferences and a responsive block that reacts in real time to the user's document clicks. Additionally, the processor 220 may exclude at least one of a correct answer block, a search block, and a responsive block from being exposed according to a search word or user preference. For example, in the case of a search term with a strong search intent, the correct answer block can be omitted and search results can be provided with only the search block and responsive block.

따라서, 프로세서(220)는 검색어에 대응되는 인텐트 블록을 정답형 블록, 탐색형 블록, 반응형 블록 등 특성에 맞게 분류하고 조합함으로써 사용자의 검색 인텐트에 최적화된 검색 결과를 제공할 수 있다.Accordingly, the processor 220 can provide search results optimized for the user's search intent by classifying and combining the intent blocks corresponding to the search term according to characteristics such as answer-type blocks, search-type blocks, and response-type blocks.

도 13 내지 도 19는 본 발명의 일실시예에 있어서 인텐트 블록 단위의 검색 결과를 표시하는 사용자 인터페이스 화면의 예시를 도시한 것이다.Figures 13 to 19 show examples of user interface screens that display search results in intent block units according to an embodiment of the present invention.

도 13을 참조하면, 프로세서(220)는 검색어에 대응되는 검색 결과(1300)를 정답형 블록(1310), 탐색형 블록(1320), 및 반응형 블록(1330)으로 분류하여 제공할 수 있다.Referring to FIG. 13 , the processor 220 may classify and provide search results 1300 corresponding to a search term into correct answer blocks 1310, search blocks 1320, and responsive blocks 1330.

검색 결과(1300)는 검색어를 이용한 블록 검색을 통해 선정된 인텐트 블록으로 구성될 수 있다.The search result 1300 may be composed of intent blocks selected through block search using search words.

정답형 블록(1310)은 정답형 문서가 매칭된 인텐트 블록으로 구성될 수 있다. 예를 들어, 정답형 블록(1310)은 하나의 인텐트 블록으로 구성될 수 있으며, 문서 랭킹을 기초로 최상위 문서가 노출될 수 있다.The correct answer block 1310 may be composed of an intent block to which a correct answer document is matched. For example, the correct answer block 1310 may be composed of one intent block, and the top document may be exposed based on document ranking.

탐색형 블록(1320)은 사용자의 프로필 정보와 이력 정보를 이용한 개인화 랭킹으로 선정된 인텐트 블록으로 구성될 수 있다. 탐색형 블록(1320)은 사용자가 입력한 검색어에 대해 검색어에 대응되는 인텐트 블록 중에서 개인화 랭킹을 통해 선정된 인텐트 블록으로 구성될 수 있다. 예를 들어, 프로세서(220)는 상위 10개의 인텐트 블록을 탐색형 블록(1320)으로 분류하여 표시할 수 있다.The search block 1320 may be composed of an intent block selected through personalized ranking using the user's profile information and history information. The search block 1320 may be composed of an intent block selected through personalized ranking among intent blocks corresponding to the search term entered by the user. For example, the processor 220 may classify and display the top 10 intent blocks as search blocks 1320.

반응형 블록(1330)은 탐색형 블록(1320)에서의 문서 클릭에 따라 실시간으로 문서가 매칭되는 인텐트 블록으로 구성될 수 있다. 프로세서(220)는 사용자가 관심을 가질 만한 새로운 결과를 그래프 신경망 모델(예를 들어, GCN 모델 등)을 통해 추천할 수 있다. 이를 위해, 검색어와 문서의 관계를 그래프로 구축한 후 그래프 상의 노드를 그래프 신경망을 통해 임베딩하여 사용자가 클릭한 문서와 유사한 문서를 반응형 블록(1330)을 통해 추천할 수 있다. 반응형 블록(1330)은 하나의 인텐트 블록으로 구성될 수 있으며, 탐색형 블록(1320)에서 사용자가 클릭한 문서와 유사한 적어도 하나의 문서가 노출될 수 있다.The responsive block 1330 may be composed of an intent block that matches a document in real time according to a document click in the navigation block 1320. The processor 220 may recommend new results that may be of interest to the user through a graph neural network model (eg, GCN model, etc.). To this end, the relationship between search words and documents can be built into a graph, then nodes on the graph can be embedded through a graph neural network, and documents similar to the document clicked by the user can be recommended through the responsive block 1330. The responsive block 1330 may be composed of one intent block, and at least one document similar to the document clicked by the user may be exposed in the navigation block 1320.

또는, 반응형 블록(1330)은 사용자의 문서 클릭에 기반하여 사용자의 인텐트를 추가로 파악하고, 이미 생성되어 있던 탐색형 블록 중 이와 관련된 블록으로 구성될 수 있다. 예를 들어, 사용자가 '제주도 여행' 쿼리를 검색하고 클릭한 문서가 '제주도 감성숙소'와 관련된 내용일 때, '제주도 감성숙소'와 관련된 탐색형 블록이 미리 생성되어 있다면 해당 블록을 반응형 블록(1330)으로써 제공할 수 있다.Alternatively, the responsive block 1330 may additionally identify the user's intent based on the user's click on the document and may be composed of blocks related to this among navigational blocks that have already been created. For example, when a user searches for the query 'Jeju Island Travel' and the document clicked is related to 'Jeju Island Emotional Accommodation', if a navigational block related to 'Jeju Island Emotional Accommodation' has been created in advance, that block is selected as a responsive block. It can be provided as (1330).

도 14를 참조하면, 프로세서(220)는 검색어에 따라 정답형 블록(1310), 탐색형 블록(1320), 및 반응형 블록(1330) 중 적어도 하나를 선택적으로 조합하여 검색 결과를 표시할 수 있다. 예를 들어, 검색어 i의 경우 검색어 i에 대응되는 검색 결과를 정답형 블록(1310)과 탐색형 블록(1320) 및 반응형 블록(1330)으로 분류하여 표시하는 반면에, 검색어 ⅱ의 경우 정답형 블록(1310)을 생략하고 검색어 ⅱ에 대응되는 검색 결과를 탐색형 블록(1320)과 반응형 블록(1330)으로 분류하여 표시할 수 있다.Referring to FIG. 14, the processor 220 may display search results by selectively combining at least one of the answer block 1310, search block 1320, and response block 1330 according to the search word. . For example, in the case of search word i, the search results corresponding to search word i are classified and displayed into correct answer block 1310, search block 1320, and responsive block 1330, while in the case of search word ii, the correct answer block 1310 is displayed. The block 1310 can be omitted and the search results corresponding to the search term ii can be classified and displayed into a search block 1320 and a responsive block 1330.

프로세서(220)는 검색어에 따라 정답형 블록(1310)과 탐색형 블록(1320) 및 반응형 블록(1330)의 정렬 순서를 조정하는 것 또한 가능하다.The processor 220 is also capable of adjusting the sorting order of the answer block 1310, search block 1320, and response block 1330 according to the search word.

특히, 프로세서(220)는 개인화된 검색 결과로서 탐색형 블록(1320)을 표시할 수 있다. 프로세서(220)는 검색어에 대응되는 인텐트 블록 중에서 사용자의 프로필 정보와 이력 정보를 이용한 랭킹으로 복수 개의 인텐트 블록을 선정할 수 있으며, 이때 선정된 인텐트 블록을 탐색형 블록(1320)으로 분류하여 표시할 수 있다. 예를 들어, 도 15에 도시한 바와 같이, 동일한 검색어에 대해 사용자 I의 개인화에 따른 탐색형 블록(1320)은 인텐트 블록 Block_A, N, X, F로 구성될 수 있고, 사용자 Ⅱ의 개인화에 따른 탐색형 블록(1320)은 인텐트 블록 Block_E, Q, B, A로 구성될 수 있다.In particular, the processor 220 may display the searchable block 1320 as a personalized search result. The processor 220 can select a plurality of intent blocks from among the intent blocks corresponding to the search word by ranking using the user's profile information and history information, and at this time, classifies the selected intent blocks into search blocks 1320. It can be displayed as follows. For example, as shown in FIG. 15, the search block 1320 according to user I's personalization for the same search term may be composed of intent blocks Block_A, N, The corresponding search block 1320 may be composed of intent blocks Block_E, Q, B, and A.

프로세서(220)는 탐색형 블록(1320)을 구성하는 각 인텐트 블록을 통해 해당 블록에 사전 매칭된 문서를 노출할 수 있다. 인텐트 블록에 매칭된 문서의 유형이나 출처 등에 따라 해당 블록을 통해 노출되는 문서의 개수나 표시 방식(텍스트 목록형, 이미지형 등), 인터페이스 방식(상하 스크롤, 좌우 스와이프 등) 등이 결정될 수 있다. 도 16에 도시한 바와 같이, 탐색형 블록(1320)을 구성하는 인텐트 블록(1620)마다 해당 블록에 노출되는 문서(1621)의 개수, 표시 방식, 인터페이스 방식 등이 다르게 구성될 수 있다. 또한, 인텐트 블록의 노출 방법 역시 사용자의 반응이나 선호도를 고려하여 개인 별로 다르게 구성될 수 있다. 예를 들면, 상하 스크롤이 되는 텍스트 목록형 보다는 좌우 스와이프가 되는 이미지형 구성에 더 많은 반응을 보이거나 선호하는 것으로 보이는 사용자에게는 해당 방식에 높은 가중치를 주어 인텐트 블록을 구성하여 노출할 수 있다.The processor 220 may expose documents pre-matched to the corresponding block through each intent block constituting the search block 1320. Depending on the type or source of the document matched to the intent block, the number of documents exposed through the block, display method (text list type, image type, etc.), and interface method (up and down scroll, left and right swipe, etc.) can be determined. there is. As shown in FIG. 16, the number, display method, interface method, etc. of documents 1621 exposed to the corresponding block may be configured differently for each intent block 1620 constituting the search block 1320. Additionally, the method of exposing the intent block can also be configured differently for each individual, taking into account the user's response or preference. For example, for users who seem to respond more to or prefer an image-type configuration that swipes left and right rather than a text list-type that scrolls up and down, you can configure and expose an intent block by giving higher weight to that method. .

탐색형 블록(1320)을 개인화하는 것은 물론이고, 탐색형 블록(1320)을 구성하는 인텐트 블록 각각을 개인화할 수 있다. 인텐트 블록에 사전 매칭된 문서를 대상으로 사용자의 프로필 정보와 이력 정보를 이용한 랭킹을 적용하여 인텐트 블록 각각에 대한 개인화 또한 가능하다.In addition to personalizing the search block 1320, each intent block constituting the search block 1320 can be personalized. It is also possible to personalize each intent block by applying ranking using the user's profile information and history information to documents pre-matched to the intent block.

프로세서(220)는 개인화된 검색 결과로서 탐색형 블록(1320)과 함께 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록(1330)을 표시할 수 있다. 일례로, 도 17을 참조하면 프로세서(220)는 탐색형 블록(1320)을 통해 노출되는 문서 중 사용자가 특정 문서(1701)를 클릭하는 경우 클릭 문서(1701)와 유사한 문서(1700)를 반응형 블록(1330)을 통해 노출할 수 있다. 사용자가 입력한 검색어에는 포함되어 있지 않은 인텐트를 사용자가 클릭하는 문서(1701)를 통해 예측할 수 있고 클릭 문서(1701)로부터 예측된 인텐트의 문서(1700)를 반응형 블록(1330)을 통해 실시간으로 추천할 수 있다. 다시 말해, 반응형 블록(1330) 상의 문서(1700)는 검색어와 클릭 문서를 랭킹 피처로 이용하는 그래프 신경망 기반의 추천 모델을 통해 결정될 수 있다.The processor 220 may display a responsive block 1330 that includes a real-time search result based on user response along with a search block 1320 as a personalized search result. For example, referring to FIG. 17, when a user clicks on a specific document 1701 among the documents exposed through the navigation block 1320, the processor 220 selects a document 1700 similar to the clicked document 1701 as a responsive It can be exposed through block 1330. Intents that are not included in the search term entered by the user can be predicted through the document 1701 that the user clicks on, and the document 1700 of the intent predicted from the click document 1701 can be predicted through the responsive block 1330. Recommendations can be made in real time. In other words, the document 1700 on the responsive block 1330 can be determined through a graph neural network-based recommendation model that uses search words and clicked documents as ranking features.

프로세서(220)는 검색어에 따라 정답형 블록(1310), 탐색형 블록(1320), 및 반응형 블록(1330) 중 적어도 하나를 선택적으로 조합하여 검색 결과를 표시할 수 있다.The processor 220 may display search results by selectively combining at least one of the answer block 1310, search block 1320, and response block 1330 according to the search word.

예를 들어, 도 18을 참조하면, 프로세서(220)는 '유튜브'와 같은 정답성 쿼리가 입력되는 경우 쿼리 '유튜브'에 대한 정답형 문서가 포함된 정답형 블록(1810)을 상단에 표시할 수 있다. 프로세서(220)는 정답형 블록(1810) 다음으로 쿼리 '유튜브'에 대한 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록(1820)을 표시할 수 있다. 이때, 프로세서(220)는 사전에 만들어진 인텐트 블록 중에서 인텐트 블록의 이름과 각 블록과 관련된 확장 키워드를 검색하여 쿼리 '유튜브'에 대응되는 인텐트 블록을 검색할 수 있다. 그리고, 프로세서(220)는 쿼리 '유튜브'에 대응되는 인텐트 블록 중에서 사용자의 프로필 정보와 이력 정보를 이용한 랭킹을 통해 일부 인텐트 블록을 선정하여 탐색형 블록(1820)을 개인화할 수 있다. 탐색형 블록(1820)을 구성하는 인텐트 블록 각각에 대해 해당 블록에 매칭된 문서 중 일부를 노출하고 사용자에 의해 더 보기 요청이 있을 경우 문서 일부를 추가로 노출하거나 문서 전체를 노출할 수 있다. 그리고, 프로세서(220)는 쿼리 '유튜브'와 관련된 검색 주제를 추천할 수 있으며, 이때 쿼리 '유튜브'에 대응되는 인텐트 블록의 이름을 이용하여 주제 추천 목록(1801)을 구성할 수 있다. 실시예에 따라서는 개인화 랭킹을 통해 선정된 인텐트 블록만으로 주제 추천 목록(1801)을 구성할 수 있다. 사용자가 주제 추천 목록(1801)에서 특정 주제를 선택하는 경우 화면의 뷰 영역을 선택 주제의 인텐트 블록으로 이동하여 해당 블록에 매칭된 문서를 표시할 수 있다. 사용자가 추천 주제 중 '인기 채널'을 선택하는 경우 검색 결과 화면이 인텐트 블록 '인기 채널'의 위치로 자동 스크롤될 수 있다.For example, referring to FIG. 18, when a correct answer query such as 'YouTube' is input, the processor 220 displays a correct answer block 1810 containing a correct answer document for the query 'YouTube' at the top. You can. The processor 220 may display a search block 1820 that includes a customized search result based on user taste for the query 'YouTube' following the correct answer block 1810. At this time, the processor 220 may search for the intent block corresponding to the query 'YouTube' by searching the name of the intent block and the extended keyword related to each block among the pre-created intent blocks. Additionally, the processor 220 may personalize the search block 1820 by selecting some intent blocks among the intent blocks corresponding to the query 'YouTube' through ranking using the user's profile information and history information. For each intent block constituting the search block 1820, part of the document matched to the corresponding block is exposed, and when a user requests to view more, part of the document can be additionally exposed or the entire document can be exposed. Additionally, the processor 220 can recommend a search topic related to the query 'YouTube', and at this time, can configure a topic recommendation list 1801 using the name of the intent block corresponding to the query 'YouTube'. Depending on the embodiment, the topic recommendation list 1801 may be constructed using only intent blocks selected through personalized ranking. When a user selects a specific topic from the topic recommendation list 1801, the view area of the screen can be moved to the intent block of the selected topic and the document matching the block can be displayed. When the user selects 'Popular Channel' among the recommended topics, the search results screen may automatically scroll to the location of the intent block 'Popular Channel'.

도 19를 참조하면, 프로세서(220)는 '제주도 여행'과 같은 탐색형 쿼리가 입력되는 경우 정답형 블록은 생략되고 쿼리 '제주도 여행'에 대한 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록(1920)을 표시할 수 있다. 이때, 프로세서(220)는 사전에 만들어진 인텐트 블록 중에서 인텐트 블록의 이름과 각 블록과 관련된 확장 키워드를 검색하여 쿼리 '제주도 여행'에 대응되는 인텐트 블록을 검색할 수 있다. 그리고, 프로세서(220)는 쿼리 '제주도 여행'에 대응되는 인텐트 블록 중에서 사용자의 프로필 정보와 이력 정보를 이용한 랭킹을 통해 일부 인텐트 블록을 선정하여 탐색형 블록(1920)을 개인화할 수 있다. 탐색형 블록(1920)을 구성하는 인텐트 블록 각각에 대해 해당 블록에 매칭된 문서 중 일부를 노출하고 사용자에 의해 더 보기 요청이 있을 경우 문서 일부를 추가로 노출하거나 문서 전체를 노출할 수 있다. 그리고, 프로세서(220)는 쿼리 '제주도 여행'과 관련된 검색 주제를 추천할 수 있으며, 이때 쿼리 '제주도 여행'에 대응되는 인텐트 블록의 이름을 이용하여 주제 추천 목록(1901)을 구성할 수 있다. 실시예에 따라서는 개인화 랭킹을 통해 선정된 인텐트 블록만으로 주제 추천 목록(1901)을 구성할 수 있다. 사용자가 주제 추천 목록(1901)에서 특정 주제를 선택하는 경우 선택 주제의 인텐트 블록에 접근하여 해당 블록에 매칭된 문서를 제공할 수 있다. 사용자가 추천 주제 중 '제주도 여행지'를 선택하는 경우 검색 결과 화면이 인텐트 블록 '제주도 여행지'의 위치로 자동 스크롤될 수 있다.Referring to FIG. 19, when a search-type query such as 'Jeju Island travel' is input, the processor 220 omits the correct answer block and creates a search-type block that includes customized search results based on user taste for the query 'Jeju Island travel'. (1920) can be displayed. At this time, the processor 220 may search for an intent block corresponding to the query 'Jeju Island travel' by searching the name of the intent block and extended keywords related to each block among the pre-created intent blocks. Additionally, the processor 220 may personalize the search block 1920 by selecting some intent blocks among the intent blocks corresponding to the query 'Jeju Island travel' through ranking using the user's profile information and history information. For each intent block constituting the search block 1920, part of the document matched to the corresponding block is exposed, and when a user requests to view more, part of the document can be additionally exposed or the entire document can be exposed. In addition, the processor 220 can recommend a search topic related to the query 'Jeju Island travel', and at this time, the topic recommendation list 1901 can be configured using the name of the intent block corresponding to the query 'Jeju Island travel'. . Depending on the embodiment, the topic recommendation list 1901 may be constructed using only intent blocks selected through personalized ranking. When a user selects a specific topic from the topic recommendation list 1901, the intent block of the selected topic can be accessed and a document matching the block can be provided. If the user selects 'Jeju Island travel destination' among the recommended topics, the search results screen may automatically scroll to the location of the intent block 'Jeju Island travel destination'.

프로세서(220)는 개인화된 검색 결과로서 쿼리 '제주도 여행'에 대한 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록(1920)과 함께 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록(미도시)을 표시할 수 있다. 프로세서(220)는 쿼리 '제주도 여행'에 대한 탐색형 블록(1920)을 통해 노출되는 문서 중 사용자가 특정 문서를 클릭하는 경우 클릭 문서와 유사한 문서를 반응형 블록을 통해 노출할 수 있다. 따라서, 프로세서(220)는 탐색형 블록(1920)에서의 클릭 문서를 기초로 실시간으로 검색된 문서를 추가로 노출함으로써 확장된 검색 결과를 제공할 수 있다.The processor 220 includes a search block 1920 that includes customized search results based on user preferences for the query 'Jeju Island travel' as a personalized search result, and a responsive block (Mido) that includes real-time search results based on user reaction. hour) can be displayed. When a user clicks on a specific document among the documents exposed through the search block 1920 for the query 'Jeju Island travel', the processor 220 may expose a document similar to the clicked document through a responsive block. Accordingly, the processor 220 may provide expanded search results by additionally exposing documents searched in real time based on the document clicked on in the search block 1920.

한편, 이처럼 사용자들의 의도에 맞는 인텐트 블록을 생성하고 블록 단위로 검색 결과를 제공함으로써 컨텐츠 창작자들에게 어떤 컨텐츠를 생성하면 좋을지 알려줄 수 있으며, 컨텐츠 창작을 유도할 수 있는 효과가 있다. 도 20을 참조하면, 본 발명의 일 실시예에서는 각 인텐트 블록(2000)과 연관된 위치에 해당 인텐트 블록(2000)과 관련된 콘텐츠(문서)를 생성할 수 있는 참여 버튼(2001)이 추가로 제공될 수 있다. 이때, 검색 대상 콘텐츠의 품질을 높이기 위하여, 인텐트 블록(2000)에 대한 참여 버튼(2001)은 기 검증되었거나 해당 인텐트 블록과 연관된 컨텐츠를 많이 생산한 사용자들에게만 노출되도록 할 수 있다. 이렇게 작성된 컨텐츠는 해당 인텐트 블록(2000)의 문서 풀에 바로 반영될 수 있다. 필요에 따라 일반 컨텐츠와 함께 랭킹하여 노출하거나 참여로 생성된 컨텐츠만 별도로 분리하여 노출할 수 있다.Meanwhile, by creating an intent block that matches the user's intent and providing search results in block units, content creators can be informed of what kind of content to create, which has the effect of encouraging content creation. Referring to FIG. 20, in one embodiment of the present invention, a participation button 2001 that can create content (document) related to the intent block 2000 is added at a location associated with each intent block 2000. can be provided. At this time, in order to improve the quality of the search target content, the participation button 2001 for the intent block 2000 can be exposed only to users who have already been verified or who have produced a lot of content related to the corresponding intent block. Content created in this way can be directly reflected in the document pool of the corresponding intent block (2000). If necessary, it can be ranked and exposed along with general content, or only content created through participation can be separately exposed.

이처럼 본 발명의 실시예들에 따르면, 검색 인텐트를 세분화한 새로운 검색결과 단위인 블록을 이용하여 개인의 인텐트와 취향을 고려한 검색 결과를 제공할 수 있다. 본 발명의 실시예들에 따르면, 문서 분류를 통해 토픽과 장르를 추출할 수 있고 컨텐츠의 종류나 출처 등이 아닌 토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성할 수 있다. 본 발명의 실시예들에 따르면, 키워드 별로 해당 키워드와 대응되는 토픽과 장르의 조합으로 블록을 생성한 후 해당 블록을 통해 노출할 문서를 매칭하여 실시간 검색에 이용할 수 있는 데이터로 구축할 수 있다. 본 발명의 실시예들에 따르면, 검색어에 의한 사용자의 검색 인텐트와 함께 해당 사용자의 컨텍스트에 따른 개인 취향을 고려하여 개인화된 블록으로 검색 결과를 제공할 수 있다. 본 발명의 실시예들에 따르면, 검색 인텐트에 따라 정답형 검색 결과가 포함되는 정답형 블록, 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록, 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록을 자유자재로 조합하여 최적화된 검색 결과를 제공할 수 있다.As such, according to embodiments of the present invention, it is possible to provide search results that take individual intent and taste into account using blocks, which are new search result units that subdivide search intents. According to embodiments of the present invention, topics and genres can be extracted through document classification, and blocks in units of search intents can be created by combining topics and genres rather than the type or source of content. According to embodiments of the present invention, a block can be created for each keyword with a combination of topics and genres corresponding to the keyword, and then documents to be exposed through the block can be matched to construct data that can be used for real-time search. According to embodiments of the present invention, search results can be provided in personalized blocks by considering the user's search intent based on the search word and the user's personal preferences according to the context. According to embodiments of the present invention, a correct answer block containing correct answer search results according to search intent, a search block containing customized search results based on user taste, and a response containing real-time search results based on user reaction. Type blocks can be freely combined to provide optimized search results.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, the devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable logic unit (PLU). It may be implemented using one or more general-purpose or special-purpose computers, such as a logic unit, microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. The software and/or data may be embodied in any type of machine, component, physical device, computer storage medium or device for the purpose of being interpreted by or providing instructions or data to the processing device. there is. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. At this time, the medium may continuously store a computer-executable program, or temporarily store it for execution or download. In addition, the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (20)

컴퓨터 장치에서 실행되는 개인화 검색 방법에 있어서,
상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 개인화 검색 방법은,
상기 적어도 하나의 프로세서에 의해, 토픽(topic)과 장르(genre)의 조합으로 검색 인텐트 단위의 블록을 생성하는 단계; 및
상기 적어도 하나의 프로세서에 의해, 사용자로부터 주어진 검색어에 대해 상기 사용자와 관련된 컨텍스트를 기초로 선정된 상기 블록을 이용하여 개인화된 검색 결과를 제공하는 단계
를 포함하는 개인화 검색 방법.
In a personalized search method executed on a computer device,
The computer device includes at least one processor configured to execute computer-readable instructions contained in a memory,
The personalized search method is,
generating a search intent unit block using a combination of a topic and a genre by the at least one processor; and
Providing personalized search results using the block selected based on context related to the user for a search term given by the user, by the at least one processor.
Personalized search method including.
제1항에 있어서,
상기 생성하는 단계는,
인터넷 상의 문서를 대상으로 문서 분석을 통해 상기 토픽과 상기 장르를 추출하는 단계;
상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하는 단계; 및
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계
를 포함하는 개인화 검색 방법.
According to paragraph 1,
The generating step is,
extracting the topic and the genre through document analysis of documents on the Internet;
determining a naming of the block, which is a search result unit, by combining the topic and the genre; and
Connecting a document to be exposed as a search result through the block for each of the blocks.
Personalized search method including.
제1항에 있어서,
상기 생성하는 단계는,
블록 생성을 위한 키워드를 선정하는 단계;
상기 키워드 각각에 대해 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록을 생성하는 단계; 및
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계
를 포함하는 개인화 검색 방법.
According to paragraph 1,
The generating step is,
Selecting keywords for block creation;
generating the block, which is a search result unit, by combining the topic and the genre for each of the keywords; and
Connecting a document to be exposed as a search result through the corresponding block for each of the blocks.
Personalized search method including.
제3항에 있어서,
상기 생성하는 단계는,
상기 키워드 별 블록 정보와 상기 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트하는 단계
를 포함하는 개인화 검색 방법.
According to paragraph 3,
The generating step is,
Periodically updating the block information for each keyword and the document information for each block in a cache for real-time search.
Personalized search method including.
제1항에 있어서,
상기 생성하는 단계는,
인터넷 상의 문서를 대상으로 토픽 모델링을 통해 인텐트 분류를 위한 상기 토픽을 추출하는 단계;
상기 문서를 문서 형식에 따라 분류함으로써 상기 토픽을 세분화하기 위한 상기 장르를 추출하는 단계;
상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하는 단계; 및
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계
를 포함하는 개인화 검색 방법.
According to paragraph 1,
The generating step is,
Extracting the topic for intent classification through topic modeling for documents on the Internet;
extracting the genre to subdivide the topic by classifying the document according to document format;
determining a naming of the block, which is a search result unit, by combining the topic and the genre; and
Connecting a document to be exposed as a search result through the block for each of the blocks.
Personalized search method including.
제1항에 있어서,
상기 제공하는 단계는,
상기 블록 중에서 상기 검색어에 대응되는 블록을 검색하는 단계; 및
상기 사용자의 프로필 정보와 이력 정보 중 적어도 하나의 사용자 정보를 기초로 상기 검색어에 대응되는 블록의 랭킹을 결정하는 단계
를 포함하는 개인화 검색 방법.
According to paragraph 1,
The steps provided above are:
Searching for a block corresponding to the search word among the blocks; and
Determining the ranking of the block corresponding to the search term based on at least one user information selected from the user's profile information and history information.
Personalized search method including.
제6항에 있어서,
상기 검색하는 단계는,
상기 검색어와 매칭되는 키워드 또는 상기 검색어와 의미적으로 유사한 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 개인화 검색 방법.
According to clause 6,
The above search step is,
Searching for blocks whose names contain keywords that match the search term or keywords that are semantically similar to the search term.
A personalized search method featuring:
제6항에 있어서,
상기 검색하는 단계는,
키워드와 문서에 대한 희소 표현을 학습한 신경망 기반의 딥 매칭 모델을 이용하여 상기 검색어에 대응되는 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 개인화 검색 방법.
According to clause 6,
The above search step is,
Searching for blocks of names containing keywords corresponding to the search term using a deep matching model based on a neural network that learns sparse expressions for keywords and documents.
A personalized search method featuring:
제6항에 있어서,
상기 검색하는 단계는,
상기 블록에 사전 매칭된 문서를 이용하여 상기 블록과 관련된 확장 키워드를 수집하는 단계; 및
상기 블록의 이름과 상기 확장 키워드를 이용하여 상기 검색어에 대응되는 블록을 검색하는 단계
를 포함하는 개인화 검색 방법.
According to clause 6,
The above search step is,
collecting extended keywords related to the block using documents pre-matched to the block; and
Searching for a block corresponding to the search term using the name of the block and the extended keyword
Personalized search method including.
제6항에 있어서,
상기 결정하는 단계는,
상기 사용자 정보에 대한 임베딩 벡터를 나타내는 사용자 피처, 상기 검색어에 대한 임베딩 벡터를 나타내는 검색어 피처, 및 상기 블록에 대한 임베딩 벡터를 나타내는 블록 피처를 이용한 랭킹 모델을 이용하여 상기 검색어에 대응되는 블록의 개인화 랭킹을 수행하는 것
을 특징으로 하는 개인화 검색 방법.
According to clause 6,
The determining step is,
Personalized ranking of blocks corresponding to the search term using a ranking model using a user feature representing an embedding vector for the user information, a search term feature representing an embedding vector for the search term, and a block feature representing an embedding vector for the block. to do
A personalized search method featuring:
제1항 내지 제10항 중 어느 한 항의 개인화 검색 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium for executing the personalized search method of any one of claims 1 to 10 on a computer. 컴퓨터 장치에 있어서,
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성하고,
사용자로부터 주어진 검색어에 대해 상기 사용자와 관련된 컨텍스트를 기초로 선정된 상기 블록을 이용하여 개인화된 검색 결과를 제공하는 것
을 특징으로 하는 컴퓨터 장치.
In computer devices,
At least one processor configured to execute computer readable instructions contained in memory
Including,
The at least one processor,
Create a search intent-level block using a combination of topic and genre,
Providing personalized search results for a search term given by a user using the block selected based on context related to the user.
A computer device characterized by a.
제12항에 있어서,
상기 적어도 하나의 프로세서는,
인터넷 상의 문서를 대상으로 문서 분석을 통해 상기 토픽과 상기 장르를 추출하고,
상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하고,
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 12,
The at least one processor,
Extract the topic and genre through document analysis of documents on the Internet,
Determine the naming of the block, which is a search result unit, by combining the topic and the genre,
Connecting documents to be exposed as search results through the corresponding block for each of the blocks above.
A computer device characterized by a.
제12항에 있어서,
상기 적어도 하나의 프로세서는,
블록 생성을 위한 키워드를 선정하고,
상기 키워드 각각에 대해 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록을 생성하고,
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 12,
The at least one processor,
Select keywords for block creation,
Generating the block, which is a search result unit, by combining the topic and the genre for each of the keywords,
Connecting documents to be exposed as search results through the corresponding block for each of the blocks above.
A computer device characterized by a.
제14항에 있어서,
상기 적어도 하나의 프로세서는,
상기 키워드 별 블록 정보와 상기 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 14,
The at least one processor,
Periodically updating the block information for each keyword and the document information for each block in a cache for real-time search
A computer device characterized by a.
제12항에 있어서,
상기 적어도 하나의 프로세서는,
상기 블록 중에서 상기 검색어에 대응되는 블록을 검색하고,
상기 사용자의 프로필 정보와 이력 정보 중 적어도 하나의 사용자 정보를 기초로 상기 검색어에 대응되는 블록의 랭킹을 결정하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 12,
The at least one processor,
Search for a block corresponding to the search word among the blocks,
Determining the ranking of the block corresponding to the search term based on at least one user information of the user's profile information and history information.
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
상기 검색어와 매칭되는 키워드 또는 상기 검색어와 의미적으로 유사한 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Searching for blocks whose names contain keywords that match the search term or keywords that are semantically similar to the search term.
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
키워드와 문서에 대한 희소 표현을 학습한 신경망 기반의 딥 매칭 모델을 이용하여 상기 검색어에 대응되는 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Searching for blocks of names containing keywords corresponding to the search term using a deep matching model based on a neural network that learns sparse expressions for keywords and documents.
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
상기 블록에 사전 매칭된 문서를 이용하여 상기 블록과 관련된 확장 키워드를 수집하고,
상기 블록의 이름과 상기 확장 키워드를 이용하여 상기 검색어에 대응되는 블록을 검색하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Collect extended keywords related to the block using documents pre-matched to the block,
Searching for a block corresponding to the search term using the name of the block and the extended keyword
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
상기 사용자 정보에 대한 임베딩 벡터를 나타내는 사용자 피처, 상기 검색어에 대한 임베딩 벡터를 나타내는 검색어 피처, 및 상기 블록에 대한 임베딩 벡터를 나타내는 블록 피처를 이용한 랭킹 모델을 이용하여 상기 검색어에 대응되는 블록의 개인화 랭킹을 수행하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Personalized ranking of blocks corresponding to the search term using a ranking model using a user feature representing an embedding vector for the user information, a search term feature representing an embedding vector for the search term, and a block feature representing an embedding vector for the block. to do
A computer device characterized by a.
KR1020220054472A 2022-05-02 2022-05-02 Method, computer device, and computer program to provide search result using blocks of search intent unit KR20230154710A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220054472A KR20230154710A (en) 2022-05-02 2022-05-02 Method, computer device, and computer program to provide search result using blocks of search intent unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220054472A KR20230154710A (en) 2022-05-02 2022-05-02 Method, computer device, and computer program to provide search result using blocks of search intent unit

Publications (1)

Publication Number Publication Date
KR20230154710A true KR20230154710A (en) 2023-11-09

Family

ID=88747984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220054472A KR20230154710A (en) 2022-05-02 2022-05-02 Method, computer device, and computer program to provide search result using blocks of search intent unit

Country Status (1)

Country Link
KR (1) KR20230154710A (en)

Similar Documents

Publication Publication Date Title
US11720572B2 (en) Method and system for content recommendation
Singh et al. Neural network model for recommending music based on music genres
US10217058B2 (en) Predicting interesting things and concepts in content
CN108009228B (en) Method and device for setting content label and storage medium
Schedl et al. Music recommender systems
US9846836B2 (en) Modeling interestingness with deep neural networks
US20170228459A1 (en) Method and device for mobile searching based on artificial intelligence
US10535106B2 (en) Selecting user posts related to trending topics on online social networks
US20130060769A1 (en) System and method for identifying social media interactions
JP7252914B2 (en) Method, apparatus, apparatus and medium for providing search suggestions
Deldjoo et al. Content-driven music recommendation: Evolution, state of the art, and challenges
Cheng et al. Exploring user-specific information in music retrieval
Khatter et al. An intelligent personalized web blog searching technique using fuzzy-based feedback recurrent neural network
CN109582869A (en) A kind of data processing method, device and the device for data processing
Liu et al. High-quality domain expert finding method in CQA based on multi-granularity semantic analysis and interest drift
CA2932865A1 (en) Pipeline computing architecture and methods for improving data relevance
US20120239382A1 (en) Recommendation method and recommender computer system using dynamic language model
Talha et al. Deep learning in news recommender systems: A comprehensive survey, challenges and future trends
CN116955591A (en) Recommendation language generation method, related device and medium for content recommendation
WO2017135889A1 (en) Ontology determination methods and ontology determination devices
JP7438272B2 (en) Method, computer device, and computer program for generating blocks of search intent units
KR20230154710A (en) Method, computer device, and computer program to provide search result using blocks of search intent unit
Tong et al. A document exploring system on LDA topic model for Wikipedia articles
KR20230154712A (en) Method, computer device, and computer program to display search result by intent block unit
CN116484085A (en) Information delivery method, device, equipment, storage medium and program product