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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004590 computer program Methods 0.000 title claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 14
- 230000014509 gene expression Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000012552 review Methods 0.000 description 13
- 235000019640 taste Nutrition 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013136 deep learning model Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004308 accommodation Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000012041 food component Nutrition 0.000 description 1
- 239000005417 food ingredient Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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
아래의 설명은 개인화된 검색 결과를 제공하는 기술에 관한 것이다.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
복수의 전자 기기들(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
통신 방식은 제한되지 않으며, 네트워크(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
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 콘텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스(일례로, 검색 서비스)를 제공하는 시스템일 수 있다.Each of the
도 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
이러한 컴퓨터 장치(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
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The
통신 인터페이스(230)는 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다.The input/
또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Additionally, in other embodiments,
이하에서는 검색 인텐트 단위의 블록을 이용하여 검색 결과를 제공하는 방법과 시스템의 구체적인 실시예를 설명하기로 한다.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
일례로, 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)는 별도의 시스템으로 구현되어 시스템 간 연계를 통해 개인화 검색 서비스를 제공할 수 있다. 실시예에 따라서는 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)가 하나의 시스템으로 구현될 수 있으며, 예를 들어 인텐트 분류 서버(310), 인텐트 블록 서버(320), 및 검색 서버(330)는 개인화 검색 서비스를 제공하기 위해 서버(150)에 설치 및 구동되는 소프트웨어 모듈일 수 있다.For example, the
인텐트 분류 서버(310)는 인터넷 상의 문서를 사용자가 소비하는 인텐트 단위로 분류하는 역할을 담당한다. 인텐트 분류 서버(310)는 문서 분석을 통해 해당 문서를 소비하는 사용자들의 인텐트를 식별할 수 있다.The
일례로, 인텐트는 토픽과 장르를 이용하여 식별할 수 있다. 본 실시예에서는 인텐트 단위로 문서를 분류하기 위한 기준으로 문서의 토픽(문서가 구체적으로 무엇을 설명하고 있는가)과 함께, 장르(문서가 어떤 성격의 내용을 포함하고 있는가 혹은 문서가 어떤 방식이나 유형으로 내용을 전달하고 있는가)를 활용할 수 있다. 다시 말해, 인텐트 분류 서버(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
또 다른 예로, 인텐트는 특정 조건(예를 들어, 리뷰가 좋은 상품, 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
검색 서버(330)는 미리 만들어 놓은 인텐트 블록을 이용하여 실시간 검색을 제공하는 역할을 담당한다. 검색 서버(330)는 검색어에 대한 검색 결과를 문서의 출처나 종류 단위가 아닌 인텐트 단위로 블록화하여 제공할 수 있다. 검색 서버(330)는 사용자로부터 검색어가 입력되는 경우 검색어에 매칭되는 인텐트 블록을 선정한 후 선정된 인텐트 블록을 조합하여 검색 결과를 제공할 수 있다. 특히, 검색 서버(330)는 검색어에 매칭되는 인텐트 블록을 조합함에 있어 사용자의 성별, 나이, 지역, 지역 등이 포함된 프로필 정보와 사용자의 검색 이력, 쇼핑 이력, 컨텐츠 소비 이력 등이 포함된 이력 정보를 이용한 랭킹을 통해 개인화된 검색 결과를 제공할 수 있다.The
도 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
도 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
단계(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
단계(S430)에서 프로세서(220)는 문서를 토픽과 장르의 2차원 구조로 분류할 수 있다. 프로세서(220)는 문서를 토픽과 장르로 구조화함으로써 인텐트 단위로 분류할 수 있다. 도 5에 도시한 바와 같이, 프로세서(220)는 문서를 인텐트 단위로 분류하기 위한 기준으로 토픽(501)과 장르(502)를 정의할 수 있다. 사용자들이 소비한 문서들을 분석하여 문서 인텐트를 구분하기 위한 토픽(501)과 장르(502)를 추출할 수 있고, 이를 통해 문서를 토픽(501)과 장르(502)에 따라 분류할 수 있다. 예를 들어, '텐트 설치법'에 관한 문서의 경우 토픽(501) 중에서는 '레저>캠핑' 문서에 해당되고 장르(502) 중에서는 'How-To' 문서(가이드 문서 형식)에 해당될 수 있다.In step S430, the
프로세서(220)는 토픽 기반 문서 분류와 장르 기반 문서 분류를 위해 BERT 모델, LDA 모델, 로지스틱 회귀 모델, 랜덤 포레스트 모델, MLP(multi-layer perceptron) 모델 등 다양한 딥러닝 모델을 활용할 수 있으며, 단일 모델은 물론이고, 둘 이상의 모델을 조합한 앙상블 모델을 활용할 수 있다. 일례로, 서로 다른 모델을 결합한 뒤 투표(voting)를 통해 최종 결과를 획득할 수 있으며, 둘 이상의 분류기 모델을 조합하기 위해 GNN(graph neural network) 등을 활용할 수 있다.The
도 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
도 6을 참조하면, 단계(S610)에서 프로세서(220)는 블록 생성을 위한 키워드를 선정할 수 있다. 프로세서(220)는 인터넷 상에서 검색어로 사용되는 키워드들 중에서 블록 생성을 위한 키워드 풀을 생성하는 것으로, 일례로 검색어로의 사용 빈도를 분석하여 일정 레벨 이상의 사용 빈도를 가진 키워드를 선정할 수 있다.Referring to FIG. 6, in step S610, the
단계(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
인텐트 블록 생성 과정에서의 네이밍에 있어 단어 조합 형태의 네이밍을 설명하고 있으나, 이에 한정되는 것은 아니며, 완성 문장형 등 다양한 형태의 네이밍이 가능하다. 예를 들어, 키워드 '자전거', 토픽 '한강', 장르 '추천'이 주어진 경우 <어떤 코스가 한강 자전거 코스로 가장 인기가 있나요?>, <한강 자전거 타기 가장 좋은 시기는 언제인가요?> 등과 같은 질문 형식의 문장으로 블록 이름을 만들 수 있다. 질문 형식의 문장을 이용한 블록 네이밍을 통해 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
따라서, 프로세서(220)는 인터넷 상에서 사용되는 주요 키워드에 대해 토픽과 장르의 조합으로 블록 네이밍을 결정한 후 네이밍이 결정된 블록에 문서를 미리 매칭함으로써 인텐트 블록을 생성할 수 있다. 프로세서(220)는 실시간 검색에 이용할 수 있도록 인텐트 블록의 문서들을 여러 출처로부터 미리 만들어 놓을 수 있으며, 이때 키워드 별 인텐트 블록 정보와 인텐트 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트할 수 있다.Accordingly, the
한편, 앞서 설명한 토픽과 장르의 조합으로 블록 네이밍을 결정하는 방법 외에도 다른 방법으로도 인텐트 블록 생성이 가능하다. 주요 객체성 키워드에 자주 나타나는 속성을 조합하여 블록을 생성할 수 있다. 예를 들어, (자동차 모델명)+'시승기', (음식 재료명)+'보관법', (책 이름)+'독후감'과 같이 객체성 키워드와 자주 나타나는 속성을 조합하는 것이다. 특정 객체성 키워드와 관련된 문서에 자주 나타나는 표현들을 종합하여 속성을 추출하여 생성할 수 있다. 또한, 최근에 작성된 문서 코퍼스에서 핵심 어구를 추출(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
도 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
다시 도 11을 참조하면, 단계(S1120)에서 프로세서(220)는 검색어에 대응되는 인텐트 블록의 랭킹을 결정할 수 있다. 프로세서(220)는 개인화된 검색 결과를 제공하기 위해 사용자의 프로필 정보와 이력 정보를 기초로 인텐트 블록의 랭킹을 결정할 수 있다. 개인화를 위해 사용자의 취향(관심사나 선호도 등)을 파악할 수 있는 정보를 활용할 수 있으며, 프로필 정보는 사용자의 성별, 나이, 지역 등을 포함할 수 있고, 이력 정보는 검색 이력, 쇼핑 이력, 컨텐츠 소비 이력 등을 포함할 수 있다. 프로세서(220)는 사용자 정보(프로필 정보와 이력 정보)에 대한 임베딩 벡터인 사용자 피처와, 검색어에 대한 임베딩 벡터인 검색어 피처, 그리고 인텐트 블록에 대한 임베딩 벡터인 블록 피처(토픽 피처와 장르 피처를 포함함)를 이용한 랭킹 모델을 이용하여 검색어에 대응되는 인텐트 블록의 개인화 랭킹을 수행할 수 있다.Referring again to FIG. 11, in step S1120, the
단계(S1130)에서 프로세서(220)는 단계(S1120)에서 결정된 랭킹에 따라 검색어에 대응되는 인텐트 블록을 정렬하여 사용자에게 개인화된 검색 결과를 표시할 수 있다. 프로세서(220)는 사용자 취향이 반영된 랭킹으로 검색어에 대응되는 인텐트 블록을 정렬하여 검색 결과를 제공할 수 있다.In step S1130, the
프로세서(220)는 검색어에 대응되는 검색 결과를 여러 유형의 블록 단위로 분류하여 제공할 수 있다. 프로세서(220)는 검색어에 대한 정답형 검색 결과가 포함되는 정답형 블록을 제공할 수 있다. 정답형 블록은 검색어에 대응되는 검색 결과 중 하나로 로직에 따라 자동으로 결정되는 적어도 하나의 문서를 포함할 수 있다. 프로세서(220)는 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록을 제공할 수 있다. 탐색형 블록은 사용자의 검색 인텐트는 물론이고 사용자의 취향이 반영된 검색 결과로서, 단계(S1110 내지 S1120)의 딥 매칭 및 개인화를 통해 선정된 인텐트 블록을 포함할 수 있다.The
프로세서(220)는 정답형 블록과 탐색형 블록 이외에도 사용자 반응 기반의 반응형 블록을 제공할 수 있다. 반응형 블록은 탐색형 블록과 마찬가지로 사용자의 검색 인텐트와 취향이 반영된 검색 결과를 제공할 수 있으며, 사용자가 검색 결과에서 클릭한 문서와 이전 검색 이력을 참고하여 최적의 검색 결과를 실시간으로 가져와 보여줄 수 있다. 정답형 블록과 탐색형 블록은 해당 블록을 통해 노출할 문서가 사전에 매칭된 사전 생성 방식의 블록인 반면에, 반응형 블록은 해당 블록을 통해 노출할 문서가 클릭 문서를 기초로 실시간으로 결정되는 실시간 생성 방식의 블록이다. 예를 들면, 유저가 클릭하거나, 오래 반응한 문서에서 뽑아낸 유저의 흥미, 취향 등을 파악하여 관련된 반응형 블록을 실시간으로 생성하여 제공할 수 있다. 이때, 프로세서(220)는 해당 블록과 관련된 문서들을 동적으로 모아서 제공하거나, 이미 생성되어 있던 블록 중에서 유저의 반응에 적합한 블록을 골라서 제공할 수 있다.The
정답형 블록은 로직에 따라 자동 결정되어 모든 사용자에게 공통으로 제공되는 검색 결과이며, 탐색형 블록과 반응형 블록은 사용자마다 다른 검색 결과를 제공하는 개인화 블록에 해당될 수 있다. 정답형 블록은 하나의 인텐트 블록으로 구성될 수 있고, 탐색형 블록과 반응형 블록은 다양한 토픽이나 장르의 검색 결과를 제공하기 위해 둘 이상의 인텐트 블록으로 구성될 수 있다. 정답형 블록과 탐색형 블록 및 반응형 블록 이외에도 검색 결과 단위인 블록을 분류하기 위해 다양한 기준을 활용하여 확장된 검색 결과를 제공할 수 있다. 예를 들어, 사용자의 검색어와 직간접적으로 연관된 다른 검색어(예를 들어, 다른 사용자들의 검색 이력에서 검색어 이전 또는 이후에 연속적으로 이용되는 검색어 등)의 문서 또는 사용자와 프로필이 유사한 다른 사용자에 의한 검색 빈도가 높은 새로운 검색어의 문서 등이 포함된 발견형 블록을 추가로 이용하여 검색 결과를 확장할 수 있다.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
따라서, 프로세서(220)는 검색어에 대응되는 인텐트 블록을 정답형 블록, 탐색형 블록, 반응형 블록 등 특성에 맞게 분류하고 조합함으로써 사용자의 검색 인텐트에 최적화된 검색 결과를 제공할 수 있다.Accordingly, the
도 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
검색 결과(1300)는 검색어를 이용한 블록 검색을 통해 선정된 인텐트 블록으로 구성될 수 있다.The
정답형 블록(1310)은 정답형 문서가 매칭된 인텐트 블록으로 구성될 수 있다. 예를 들어, 정답형 블록(1310)은 하나의 인텐트 블록으로 구성될 수 있으며, 문서 랭킹을 기초로 최상위 문서가 노출될 수 있다.The
탐색형 블록(1320)은 사용자의 프로필 정보와 이력 정보를 이용한 개인화 랭킹으로 선정된 인텐트 블록으로 구성될 수 있다. 탐색형 블록(1320)은 사용자가 입력한 검색어에 대해 검색어에 대응되는 인텐트 블록 중에서 개인화 랭킹을 통해 선정된 인텐트 블록으로 구성될 수 있다. 예를 들어, 프로세서(220)는 상위 10개의 인텐트 블록을 탐색형 블록(1320)으로 분류하여 표시할 수 있다.The
반응형 블록(1330)은 탐색형 블록(1320)에서의 문서 클릭에 따라 실시간으로 문서가 매칭되는 인텐트 블록으로 구성될 수 있다. 프로세서(220)는 사용자가 관심을 가질 만한 새로운 결과를 그래프 신경망 모델(예를 들어, GCN 모델 등)을 통해 추천할 수 있다. 이를 위해, 검색어와 문서의 관계를 그래프로 구축한 후 그래프 상의 노드를 그래프 신경망을 통해 임베딩하여 사용자가 클릭한 문서와 유사한 문서를 반응형 블록(1330)을 통해 추천할 수 있다. 반응형 블록(1330)은 하나의 인텐트 블록으로 구성될 수 있으며, 탐색형 블록(1320)에서 사용자가 클릭한 문서와 유사한 적어도 하나의 문서가 노출될 수 있다.The
또는, 반응형 블록(1330)은 사용자의 문서 클릭에 기반하여 사용자의 인텐트를 추가로 파악하고, 이미 생성되어 있던 탐색형 블록 중 이와 관련된 블록으로 구성될 수 있다. 예를 들어, 사용자가 '제주도 여행' 쿼리를 검색하고 클릭한 문서가 '제주도 감성숙소'와 관련된 내용일 때, '제주도 감성숙소'와 관련된 탐색형 블록이 미리 생성되어 있다면 해당 블록을 반응형 블록(1330)으로써 제공할 수 있다.Alternatively, the
도 14를 참조하면, 프로세서(220)는 검색어에 따라 정답형 블록(1310), 탐색형 블록(1320), 및 반응형 블록(1330) 중 적어도 하나를 선택적으로 조합하여 검색 결과를 표시할 수 있다. 예를 들어, 검색어 i의 경우 검색어 i에 대응되는 검색 결과를 정답형 블록(1310)과 탐색형 블록(1320) 및 반응형 블록(1330)으로 분류하여 표시하는 반면에, 검색어 ⅱ의 경우 정답형 블록(1310)을 생략하고 검색어 ⅱ에 대응되는 검색 결과를 탐색형 블록(1320)과 반응형 블록(1330)으로 분류하여 표시할 수 있다.Referring to FIG. 14, the
프로세서(220)는 검색어에 따라 정답형 블록(1310)과 탐색형 블록(1320) 및 반응형 블록(1330)의 정렬 순서를 조정하는 것 또한 가능하다.The
특히, 프로세서(220)는 개인화된 검색 결과로서 탐색형 블록(1320)을 표시할 수 있다. 프로세서(220)는 검색어에 대응되는 인텐트 블록 중에서 사용자의 프로필 정보와 이력 정보를 이용한 랭킹으로 복수 개의 인텐트 블록을 선정할 수 있으며, 이때 선정된 인텐트 블록을 탐색형 블록(1320)으로 분류하여 표시할 수 있다. 예를 들어, 도 15에 도시한 바와 같이, 동일한 검색어에 대해 사용자 I의 개인화에 따른 탐색형 블록(1320)은 인텐트 블록 Block_A, N, X, F로 구성될 수 있고, 사용자 Ⅱ의 개인화에 따른 탐색형 블록(1320)은 인텐트 블록 Block_E, Q, B, A로 구성될 수 있다.In particular, the
프로세서(220)는 탐색형 블록(1320)을 구성하는 각 인텐트 블록을 통해 해당 블록에 사전 매칭된 문서를 노출할 수 있다. 인텐트 블록에 매칭된 문서의 유형이나 출처 등에 따라 해당 블록을 통해 노출되는 문서의 개수나 표시 방식(텍스트 목록형, 이미지형 등), 인터페이스 방식(상하 스크롤, 좌우 스와이프 등) 등이 결정될 수 있다. 도 16에 도시한 바와 같이, 탐색형 블록(1320)을 구성하는 인텐트 블록(1620)마다 해당 블록에 노출되는 문서(1621)의 개수, 표시 방식, 인터페이스 방식 등이 다르게 구성될 수 있다. 또한, 인텐트 블록의 노출 방법 역시 사용자의 반응이나 선호도를 고려하여 개인 별로 다르게 구성될 수 있다. 예를 들면, 상하 스크롤이 되는 텍스트 목록형 보다는 좌우 스와이프가 되는 이미지형 구성에 더 많은 반응을 보이거나 선호하는 것으로 보이는 사용자에게는 해당 방식에 높은 가중치를 주어 인텐트 블록을 구성하여 노출할 수 있다.The
탐색형 블록(1320)을 개인화하는 것은 물론이고, 탐색형 블록(1320)을 구성하는 인텐트 블록 각각을 개인화할 수 있다. 인텐트 블록에 사전 매칭된 문서를 대상으로 사용자의 프로필 정보와 이력 정보를 이용한 랭킹을 적용하여 인텐트 블록 각각에 대한 개인화 또한 가능하다.In addition to personalizing the
프로세서(220)는 개인화된 검색 결과로서 탐색형 블록(1320)과 함께 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록(1330)을 표시할 수 있다. 일례로, 도 17을 참조하면 프로세서(220)는 탐색형 블록(1320)을 통해 노출되는 문서 중 사용자가 특정 문서(1701)를 클릭하는 경우 클릭 문서(1701)와 유사한 문서(1700)를 반응형 블록(1330)을 통해 노출할 수 있다. 사용자가 입력한 검색어에는 포함되어 있지 않은 인텐트를 사용자가 클릭하는 문서(1701)를 통해 예측할 수 있고 클릭 문서(1701)로부터 예측된 인텐트의 문서(1700)를 반응형 블록(1330)을 통해 실시간으로 추천할 수 있다. 다시 말해, 반응형 블록(1330) 상의 문서(1700)는 검색어와 클릭 문서를 랭킹 피처로 이용하는 그래프 신경망 기반의 추천 모델을 통해 결정될 수 있다.The
프로세서(220)는 검색어에 따라 정답형 블록(1310), 탐색형 블록(1320), 및 반응형 블록(1330) 중 적어도 하나를 선택적으로 조합하여 검색 결과를 표시할 수 있다.The
예를 들어, 도 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
도 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
프로세서(220)는 개인화된 검색 결과로서 쿼리 '제주도 여행'에 대한 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록(1920)과 함께 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록(미도시)을 표시할 수 있다. 프로세서(220)는 쿼리 '제주도 여행'에 대한 탐색형 블록(1920)을 통해 노출되는 문서 중 사용자가 특정 문서를 클릭하는 경우 클릭 문서와 유사한 문서를 반응형 블록을 통해 노출할 수 있다. 따라서, 프로세서(220)는 탐색형 블록(1920)에서의 클릭 문서를 기초로 실시간으로 검색된 문서를 추가로 노출함으로써 확장된 검색 결과를 제공할 수 있다.The
한편, 이처럼 사용자들의 의도에 맞는 인텐트 블록을 생성하고 블록 단위로 검색 결과를 제공함으로써 컨텐츠 창작자들에게 어떤 컨텐츠를 생성하면 좋을지 알려줄 수 있으며, 컨텐츠 창작을 유도할 수 있는 효과가 있다. 도 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
이처럼 본 발명의 실시예들에 따르면, 검색 인텐트를 세분화한 새로운 검색결과 단위인 블록을 이용하여 개인의 인텐트와 취향을 고려한 검색 결과를 제공할 수 있다. 본 발명의 실시예들에 따르면, 문서 분류를 통해 토픽과 장르를 추출할 수 있고 컨텐츠의 종류나 출처 등이 아닌 토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성할 수 있다. 본 발명의 실시예들에 따르면, 키워드 별로 해당 키워드와 대응되는 토픽과 장르의 조합으로 블록을 생성한 후 해당 블록을 통해 노출할 문서를 매칭하여 실시간 검색에 이용할 수 있는 데이터로 구축할 수 있다. 본 발명의 실시예들에 따르면, 검색어에 의한 사용자의 검색 인텐트와 함께 해당 사용자의 컨텍스트에 따른 개인 취향을 고려하여 개인화된 블록으로 검색 결과를 제공할 수 있다. 본 발명의 실시예들에 따르면, 검색 인텐트에 따라 정답형 검색 결과가 포함되는 정답형 블록, 사용자 취향 기반의 맞춤형 검색 결과가 포함되는 탐색형 블록, 사용자 반응 기반의 실시간 검색 결과가 포함되는 반응형 블록을 자유자재로 조합하여 최적화된 검색 결과를 제공할 수 있다.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.
상기 생성하는 단계는,
인터넷 상의 문서를 대상으로 문서 분석을 통해 상기 토픽과 상기 장르를 추출하는 단계;
상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하는 단계; 및
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계
를 포함하는 개인화 검색 방법.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.
상기 생성하는 단계는,
블록 생성을 위한 키워드를 선정하는 단계;
상기 키워드 각각에 대해 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록을 생성하는 단계; 및
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계
를 포함하는 개인화 검색 방법.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.
상기 생성하는 단계는,
상기 키워드 별 블록 정보와 상기 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트하는 단계
를 포함하는 개인화 검색 방법.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.
상기 생성하는 단계는,
인터넷 상의 문서를 대상으로 토픽 모델링을 통해 인텐트 분류를 위한 상기 토픽을 추출하는 단계;
상기 문서를 문서 형식에 따라 분류함으로써 상기 토픽을 세분화하기 위한 상기 장르를 추출하는 단계;
상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하는 단계; 및
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 단계
를 포함하는 개인화 검색 방법.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.
상기 제공하는 단계는,
상기 블록 중에서 상기 검색어에 대응되는 블록을 검색하는 단계; 및
상기 사용자의 프로필 정보와 이력 정보 중 적어도 하나의 사용자 정보를 기초로 상기 검색어에 대응되는 블록의 랭킹을 결정하는 단계
를 포함하는 개인화 검색 방법.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.
상기 검색하는 단계는,
상기 검색어와 매칭되는 키워드 또는 상기 검색어와 의미적으로 유사한 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 개인화 검색 방법.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:
상기 검색하는 단계는,
키워드와 문서에 대한 희소 표현을 학습한 신경망 기반의 딥 매칭 모델을 이용하여 상기 검색어에 대응되는 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 개인화 검색 방법.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:
상기 검색하는 단계는,
상기 블록에 사전 매칭된 문서를 이용하여 상기 블록과 관련된 확장 키워드를 수집하는 단계; 및
상기 블록의 이름과 상기 확장 키워드를 이용하여 상기 검색어에 대응되는 블록을 검색하는 단계
를 포함하는 개인화 검색 방법.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.
상기 결정하는 단계는,
상기 사용자 정보에 대한 임베딩 벡터를 나타내는 사용자 피처, 상기 검색어에 대한 임베딩 벡터를 나타내는 검색어 피처, 및 상기 블록에 대한 임베딩 벡터를 나타내는 블록 피처를 이용한 랭킹 모델을 이용하여 상기 검색어에 대응되는 블록의 개인화 랭킹을 수행하는 것
을 특징으로 하는 개인화 검색 방법.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:
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
토픽과 장르의 조합으로 검색 인텐트 단위의 블록을 생성하고,
사용자로부터 주어진 검색어에 대해 상기 사용자와 관련된 컨텍스트를 기초로 선정된 상기 블록을 이용하여 개인화된 검색 결과를 제공하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
인터넷 상의 문서를 대상으로 문서 분석을 통해 상기 토픽과 상기 장르를 추출하고,
상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록의 네이밍을 결정하고,
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
블록 생성을 위한 키워드를 선정하고,
상기 키워드 각각에 대해 상기 토픽과 상기 장르를 조합하여 검색 결과 단위인 상기 블록을 생성하고,
상기 블록 각각에 대해 해당 블록을 통해 검색 결과로서 노출할 문서를 연결하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
상기 키워드 별 블록 정보와 상기 블록 별 문서 정보를 실시간 검색을 위한 캐시에 주기적으로 업데이트하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
상기 블록 중에서 상기 검색어에 대응되는 블록을 검색하고,
상기 사용자의 프로필 정보와 이력 정보 중 적어도 하나의 사용자 정보를 기초로 상기 검색어에 대응되는 블록의 랭킹을 결정하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
상기 검색어와 매칭되는 키워드 또는 상기 검색어와 의미적으로 유사한 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
키워드와 문서에 대한 희소 표현을 학습한 신경망 기반의 딥 매칭 모델을 이용하여 상기 검색어에 대응되는 키워드가 포함된 이름의 블록을 검색하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
상기 블록에 사전 매칭된 문서를 이용하여 상기 블록과 관련된 확장 키워드를 수집하고,
상기 블록의 이름과 상기 확장 키워드를 이용하여 상기 검색어에 대응되는 블록을 검색하는 것
을 특징으로 하는 컴퓨터 장치.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.
상기 적어도 하나의 프로세서는,
상기 사용자 정보에 대한 임베딩 벡터를 나타내는 사용자 피처, 상기 검색어에 대한 임베딩 벡터를 나타내는 검색어 피처, 및 상기 블록에 대한 임베딩 벡터를 나타내는 블록 피처를 이용한 랭킹 모델을 이용하여 상기 검색어에 대응되는 블록의 개인화 랭킹을 수행하는 것
을 특징으로 하는 컴퓨터 장치.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.
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) |
-
2022
- 2022-05-02 KR KR1020220054472A patent/KR20230154710A/en unknown
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 |