KR102215088B1 - 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 - Google Patents
검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 Download PDFInfo
- Publication number
- KR102215088B1 KR102215088B1 KR1020200082068A KR20200082068A KR102215088B1 KR 102215088 B1 KR102215088 B1 KR 102215088B1 KR 1020200082068 A KR1020200082068 A KR 1020200082068A KR 20200082068 A KR20200082068 A KR 20200082068A KR 102215088 B1 KR102215088 B1 KR 102215088B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- search
- entity
- intent
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- 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/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Animal Behavior & Ethology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Biophysics (AREA)
- Game Theory and Decision Science (AREA)
- Biomedical Technology (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법에 관한 것으로서, 더욱 상세히는 쿼리와 검색 의도 사이에 상관 관계를 딥러닝 기반의 학습 모델에 학습시켜 학습 모델을 통해 사용자로부터 입력된 쿼리에 대해 정확한 검색의도를 제공할 수 있도록 지원하는 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법에 관한 것이다. 본 발명은 학습 완료된 학습 모델에 검색 의도 파악을 원하는 사용자의 입력 쿼리를 적용하여 상기 입력 쿼리와 유사도가 일정 수준 이상인 유사 쿼리를 엔티티 기반의 속성 비교를 통해 식별한 후 입력 쿼리와 유사도가 높은 유사 쿼리에 대응되는 검색 의도를 상기 입력 쿼리의 검색 의도로 산출함으로써 입력 쿼리의 검색 의도를 정확하게 파악하여 제시할 수 있을 뿐 아니라 브랜드, 상품, 서비스 등을 입력 쿼리로 상기 학습 모델에 적용하여 상기 학습 모델을 통해 브랜드, 상품 또는 서비스와 관련성이 높은 하나 이상의 검색 의도를 제공하면서 검색 의도 상호 간 중요도가 구분되도록 도식화한 대시 보드를 제공할 수 있어 이러한 대시 보드를 이용하여 판매자가 마케팅 전략을 수립할 수 있도록 지원하는 효과가 있다.
Description
본 발명은 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법에 관한 것으로서, 더욱 상세히는 쿼리와 검색 의도 사이에 상관 관계를 딥러닝 기반의 학습 모델에 학습시켜 학습 모델을 통해 사용자로부터 입력된 쿼리에 대해 정확한 검색의도를 제공할 수 있도록 지원하는 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법에 관한 것이다.
검색이라는 행위는 의사결정과 관련되는 목적지향적 행위(필요한 정보를 탐색한다, 가격을 비교한다, 원하는 장소를 찾는다, 특정 문제에 대한 대처 방법을 찾는다 등)로서 상품(제품)이나 서비스와 관련된 사용자의 의도를 직접적으로 나타내는 수단이다.
현재 이러한 검색 행위를 지원하는 다양한 검색 서비스가 제공되고 있으며, 검색 서비스는 자체 검색 엔진을 통해 검색 행위에 따른 검색 결과를 제공하고 있다.
그러나, 마케팅 측면에서 검색엔진은 기업이 판매하는 상품과 서비스를 찾는 검색사용자들이 해당 상품과 서비스를 상호 만날 수 있도록 지원하는 중요한 채널임에도 불구하고, 대부분의 검색 서비스는 검색 엔진이 생성하는 검색 결과를 통해 키워드 광고를 게재할 수 있도록 하는 것 이상의 서비스를 제공하고 있지 않다.
즉, 검색 쿼리에는 마케팅 전략수립에 필요한 핵심적인 데이터가 숨어 있으며, 예를 들어 제품과 서비스를 검색할 때 입력되는 검색 쿼리에는 어떤 상품 및 서비스에 대한 사용자들의 니즈, 제품군 내 비교 항목, 특정 브랜드 및 제품명의 인지도, 구매 전 필요로 하는 정보의 종류, 특정 지역에서 구매처를 찾는 니즈 등의 마케팅 전략 수립에 필요한 데이터들이 검색 의도로서 검색 쿼리에 존재함에도 불구하고, 검색사업자가 아닌 일반 기업이 검색 쿼리로부터 검색의도를 파악하여 활용할 수 있는 방법은 존재하지 않는다.
본 발명은 쿼리와 검색 의도 사이에 상관 관계를 딥러닝 기반의 학습 모델에 학습시켜 사용자로부터 입력된 쿼리에 대해 정확한 검색의도를 제공할 수 있도록 지원함과 아울러 이를 기반으로 상품이나 서비스에 대한 마케팅 전략을 수립할 수 있도록 지원하는데 그 목적이 있다.
본 발명의 실시예에 따른 서비스 제공 장치의 검색 의도를 제공하기 위한 서비스 제공 방법은, 키워드에 일련의 글자를 상이하게 추가하면서 상기 키워드와 글자가 결합된 하나 이상의 검색 쿼리를 자동 생성하고, 미리 설정된 검색 엔진을 통해 상기 검색 쿼리와 연관된 연관 쿼리를 하나 이상 획득하는 획득 단계와, 상기 연관 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 하나 이상 추출하여, 상기 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 엔티티 정보에 대응되는 연관 쿼리와 상기 엔티티 정보를 포함하는 쿼리 정보를 생성하는 엔티티 생성 단계와, 검색 의도에 대한 카테고리인 복수의 인텐트와 복수의 쿼리가 상호 매칭되어 미리 저장된 인텐트 DB로부터 상기 엔티티 정보가 생성된 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트가 추출되면, 상기 특정 인텐트와 상기 특정 연관 쿼리에 대응되는 상기 쿼리 정보를 포함하는 학습 데이터를 생성하여 미리 설정된 학습 모델에 학습시키는 학습 단계 및 사용자 입력에 따른 입력 쿼리를 상기 엔티티 생성 단계의 연관 쿼리로 하여 상기 입력 쿼리에 대한 쿼리 정보를 생성한 후 복수의 서로 다른 키워드에 대해 상기 학습이 완료된 상기 학습 모델에 적용하여 상기 학습 모델을 통해 상기 입력 쿼리에 대응되는 하나 이상의 인텐트별 상관 계수가 포함된 최종 결과를 산출하는 산출 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서, 상기 학습 단계는, 복수의 서로 다른 키워드 각각에 대해 상기 획득 단계와 상기 엔티티 생성 단계 및 학습 단계를 수행하여 얻어진 복수의 학습 데이터로 상기 학습 모델을 학습시키는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 연관 쿼리는 상기 검색 쿼리를 기초로 상기 검색 엔진이 생성하는 자동 완성 검색어인 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 획득 단계는 검색 볼륨(search volume)이 0인 연관 쿼리를 제외하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 온톨로지 정보는 사물이나 개념에 해당하는 복수의 서로 다른 개체별 개체 정의 정보를 포함하고, 상기 개체 정의 정보는 상기 개체의 범주에 해당되는 클래스와 상기 개체의 개체명인 인스턴스를 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 엔티티 생성 단계는, 상기 연관 쿼리에 대응되어 추출된 하나 이상의 엔티티를 후보 엔티티로 설정하고, 상기 상위 N 개의 검색 결과를 대상으로 상기 후보 엔티티별 출현 빈도를 연산하여 출현 빈도가 미리 설정된 기준치 이상인 후보 엔티티만을 상기 엔티티 정보에 포함시키는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 검색 결과는 상기 검색 엔진이 상기 연관 쿼리에 대해 검색 의도를 파악하여 응답한 하나 이상의 응답 결과와 상기 하나 이상의 응답결과와 각각 대응되며 응답 결과 산출시 상기 검색 엔진이 이용한 응답 기능의 기능 종류를 하나 이상 포함하고, 상기 엔티티 생성 단계는, 상기 연관 쿼리에 대응되어 생성된 검색 결과에서 추출한 하나 이상의 기능 종류와 상기 엔티티 정보가 상기 연관 쿼리의 속성으로 설정되도록 상기 쿼리 정보를 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 학습 단계는, 상기 학습 데이터를 이용한 상기 학습 모델의 학습을 통해 쿼리가 속성으로 가지는 엔티티 정보의 변화에 따라 상기 쿼리와 상기 인텐트 사이의 상관관계가 상기 학습 모델에 설정되도록 하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 상기 산출 단계는, 상기 최종 결과를 기초로 상기 입력 쿼리에 대해 산출된 하나 이상의 인텐트 상호 간 상기 최종 결과에 포함된 인텐트별 상관계수에 따른 비교가 가능하도록 도식화한 대시 보드를 생성하여 출력하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명의 실시예에 따른 검색 의도를 제공하기 위한 서비스 제공 장치는, 키워드에 일련의 글자를 상이하게 추가하면서 상기 키워드와 글자가 결합된 하나 이상의 검색 쿼리를 자동 생성하고, 미리 설정된 검색 엔진을 통해 상기 검색 쿼리와 연관된 연관 쿼리를 하나 이상 획득하는 쿼리 생성부와, 상기 연관 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 하나 이상 추출하여, 상기 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 엔티티 정보에 대응되는 연관 쿼리와 상기 엔티티 정보를 포함하는 쿼리 정보를 생성하는 엔티티 생성부와, 상기 엔티티 생성부로부터 상기 쿼리 정보가 수신되면, 검색 의도에 대한 카테고리인 복수의 인텐트와 복수의 쿼리가 상호 매칭되어 미리 저장된 인텐트 DB로부터 상기 엔티티 정보가 생성된 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트를 추출하고, 상기 특정 인텐트와 상기 특정 연관 쿼리에 대응되는 상기 쿼리 정보를 포함하는 학습 데이터를 생성하여 미리 설정된 학습 모델에 학습시키는 학습부 및 사용자 입력에 따른 입력 쿼리를 상기 엔티티 생성 단계의 연관 쿼리로 하여 상기 입력 쿼리에 대한 쿼리 정보를 생성한 후 복수의 서로 다른 키워드에 대해 상기 학습이 완료된 상기 학습 모델에 적용하여 상기 학습 모델을 통해 상기 입력 쿼리에 대응되는 하나 이상의 인텐트별 상관 계수가 포함된 최종 결과를 산출하는 제어부를 포함할 수 있다.
본 발명은 키워드를 기반으로 글자를 추가하면서 검색 엔진의 자동 완성 기능을 이용하여 다수의 쿼리를 자동 생성한 후 쿼리 각각에 대해 검색 엔진을 통해 얻어진 검색 결과로부터 주요 단어나 구를 엔티티로 획득하여 쿼리의 특징인 속성으로 설정한 다음 쿼리에 대해 가장 정확도가 높은 검색 의도와 함께 학습 모델에 학습시켜 쿼리의 속성과 신뢰도가 보장된 검색 의도 사이의 상관 관계가 학습 모델에 학습되도록 할 수 있어, 다수의 쿼리를 자동 생성하여 학습 모델의 학습에 필요한 학습 데이터를 충분히 자동 확보함으로써 학습 모델의 신뢰도 향상을 위해 필요한 학습 데이터의 확보 용이성을 보장할 수 있을 뿐만 아니라, 학습 완료된 학습 모델에 검색 의도 파악을 원하는 사용자의 입력 쿼리를 적용하여 상기 입력 쿼리와 유사도가 일정 수준 이상인 유사 쿼리를 엔티티 기반의 속성 비교를 통해 식별한 후 입력 쿼리와 유사도가 높은 유사 쿼리에 대응되는 검색 의도를 상기 입력 쿼리의 검색 의도로 산출함으로써 입력 쿼리의 검색 의도를 정확하게 파악하여 제시할 수 있는 효과가 있다.
또한, 본 발명은 브랜드, 상품, 서비스 등을 입력 쿼리로 하여 상기 학습 모델에 적용하고, 상기 학습 모델을 통해 최종 결과를 산출하여 상기 최종 결과를 기초로 브랜드, 상품 또는 서비스와 관련성이 높은 하나 이상의 검색 의도별로 상관 계수를 점수화하여 검색 의도별 점수에 따라 검색 의도별 중요도가 구분되도록 도식화한 대시 보드를 생성하여 제공할 수 있으며, 이러한 대시 보드 제공을 통해 사업자가 브랜드나 상품 또는 서비스에 대해 사용자들의 주요 검색 의도를 파악할 수 있도록 제공할 수 있을 뿐만 아니라 브랜드나 상품에 대해 사용자가 무엇을 요구하는지, 왜 찾는지 등에 대한 사용자의 니즈(needs)(소비자의 욕구)를 파악할 수 있도록 제공하여 마케팅 전략을 수립할 수 있도록 지원하는 효과가 있다.
도 1은 본 발명의 실시예에 따른 검색 의도를 제공하기 위한 서비스 제공 장치의 구성도.
도 2는 본 발명의 실시예에 따른 인텐트 DB(104)에 저장되는 정보에 대한 예시도.
도 3은 본 발명의 실시예에 따른 검색 의도를 제공하기 위한 서비스 제공 장치의 학습 과정에 대한 동작 예시도.
도 4는 본 발명의 실시예에 따른 서비스 제공 장치의 연관 쿼리 생성에 대한 예시도.
도 5는 본 발명에서 이용되는 검색 결과에 대한 예시도.
도 6은 본 발명의 실시예에 따른 서비스 제공 장치의 엔티티 추출에 대한 예시도.
도 7은 본 발명의 실시예에 따른 서비스 제공 장치의 학습 데이터 생성에 대한 예시도.
도 8은 SERP의 Feature에 대한 예시도.
도 9는 본 발명의 실시예에 따른 서비스 제공 장치의 검색 엔진에서 제공하는 응답 결과의 이용 예시도.
도 10 및 도 11은 본 발명의 실시예에 따른 서비스 제공 장치의 검색 의도 관련 최종 결과 산출 과정에 대한 동작 예시도.
도 12는 본 발명의 실시예에 따른 서비스 제공 장치의 대시 보드 제공에 대한 예시도.
도 13은 본 발명의 실시예에 따른 서비스 제공 장치의 서비스 제공 방법에 대한 순서도.
도 2는 본 발명의 실시예에 따른 인텐트 DB(104)에 저장되는 정보에 대한 예시도.
도 3은 본 발명의 실시예에 따른 검색 의도를 제공하기 위한 서비스 제공 장치의 학습 과정에 대한 동작 예시도.
도 4는 본 발명의 실시예에 따른 서비스 제공 장치의 연관 쿼리 생성에 대한 예시도.
도 5는 본 발명에서 이용되는 검색 결과에 대한 예시도.
도 6은 본 발명의 실시예에 따른 서비스 제공 장치의 엔티티 추출에 대한 예시도.
도 7은 본 발명의 실시예에 따른 서비스 제공 장치의 학습 데이터 생성에 대한 예시도.
도 8은 SERP의 Feature에 대한 예시도.
도 9는 본 발명의 실시예에 따른 서비스 제공 장치의 검색 엔진에서 제공하는 응답 결과의 이용 예시도.
도 10 및 도 11은 본 발명의 실시예에 따른 서비스 제공 장치의 검색 의도 관련 최종 결과 산출 과정에 대한 동작 예시도.
도 12는 본 발명의 실시예에 따른 서비스 제공 장치의 대시 보드 제공에 대한 예시도.
도 13은 본 발명의 실시예에 따른 서비스 제공 장치의 서비스 제공 방법에 대한 순서도.
이하, 도면을 참고하여 본 발명의 상세 실시예를 설명한다.
도 1은 본 발명의 실시예에 따른 검색 의도를 제공하기 위한 서비스 제공 장치(100)의 구성도이다.
도시된 바와 같이, 본 발명의 실시예에 따른 서비스 제공 장치(100)는, 쿼리 생성부(110)와, 엔티티 생성부(120)와, 학습부(130) 및 제어부(140)를 포함하여 구성될 수 있다.
이때, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 상기 서비스 제공 장치(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 상기 서비스 제공 장치(100)가 구현될 수도 있다.
또한, 상기 서비스 제공 장치(100)를 구성하는 구성부 중 적어도 하나가 다른 하나에 포함되어 구성될 수 있으며, 일례로, 쿼리 생성부(110)와, 엔티티 생성부(120) 및 학습부(130)가 상기 제어부(140)에 포함되어 구성될 수도 있다.
또한, 상기 제어부(140)는 미리 저장된 프로그램 및 데이터를 이용하여 상기 서비스 제공 장치(100)의 전반적인 제어 기능을 실행할 수 있다. 또한, 상기 제어부(140)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다.
또한, 서비스 제공 장치(100)는 복수의 서로 다른 키워드가 저장되는 키워드 DB(101)와, 복수의 서로 다른 쿼리(query)가 저장되는 쿼리 DB(102)와, 온톨로지 정보가 저장된 온톨로지 DB(103) 및 검색 의도에 대한 카테고리인 복수의 서로 다른 인텐트(intent)와 복수의 쿼리 상호 간 대응되는 파라미터끼리 상호 매칭되어 저장된 인텐트 DB(104)를 포함하여 구성될 수 있다.
이때, 도 2에 도시된 바와 같이, 상기 인텐트 DB(104)에 쿼리별로 매칭되어 저장된 인텐트(인텐트 정보)는 쿼리에 대해 다수의 사용자가 합의하여 미리 지정된 검색 의도(질문 의도)이거나 특정 검토자가 해당 쿼리에 대해 미리 지정한 검색 의도(질문 의도)에 대한 정보일 수 있다.
또한, 본 발명에서 설명하는 인텐트는, 복수의 서로 다른 검색 의도를 복수의 서로 다른 카테고리(종류)로서 분류하여 미리 결정된 복수의 서로 다른 검색 의도 관련 카테고리 중 어느 하나를 의미하는 것일 수 있으며, 상기 카테고리가 검색 의도 자체일 수도 있다.
예를 들어, '제품 리뷰'에 대한 제 1 검색 의도와 '제품 정보 획득'에 대한 제 2 검색 의도는 서로 다른 카테고리로서 분류되며, 인텐트가 상기 제 1 검색 의도 및 제 2 검색 의도 중 어느 하나에 대한 데이터 구성될 수 있다.
상기 키워드 DB(101)와, 쿼리 DB(102), 온톨로지 DB(103) 및 인텐트 DB(104)의 사용 예시는 이하를 통해 상세히 설명하며, 상기 서비스 제공 장치(100)는 저장부를 더 포함하여 구성될 수 있고, 이러한 저장부에 상기 키워드 DB(101)와, 쿼리 DB(102), 온톨로지 DB(103) 및 인텐트 DB(104)가 저장될 수 있다.
또한, 상기 저장부에는 상기 제어부(140)가 동작하는데 필요한 데이터 및 프로그램이 저장될 수 있으며, 상기 제어부(140)는 상기 저장부에 미리 저장된 프로그램 및 데이터를 이용하여 상기 서비스 제공 장치(100)의 전반적인 제어 기능을 실행할 수 있다.
또한, 서비스 제공 장치(100)는 통신망을 통해 통신하는 통신부를 더 포함하여 구성될 수 있으며, 상기 서비스 제공 장치(100)를 관리하는 관리자의 관리자 단말과, 상기 서비스 제공 장치(100)에 사용자 입력에 따른 쿼리를 전송하는 사용자 단말 및 각종 외부 서버와 상기 통신부를 통해 통신망으로 통신할 수 있다.
이때, 상기 서비스 제공 장치(100)는 관리자나 사용자로부터 입력을 직접 수신하기 위한 사용자 입력부를 더 포함하여 구성될 수 있고, 상기 사용자 입력부를 통해 관리자나 사용자의 입력을 수신할 수 있다.
또한, 본 발명에서 설명하는 통신망은, 유/무선 통신망을 포함할 수 있으며, 이러한 무선 통신망의 일례로 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 5G 이동통신 서비스, 블루투스(Bluetooth), LoRa(Long Range), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 유선 LAN(Local Area Network), 유선 WAN(Wide Area Network), 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.
상술한 구성을 토대로, 서비스 제공 장치(100)의 상세 동작 구성을 이하 도면을 참고하여 설명한다.
도 3에 도시된 바와 같이, 우선, 상기 쿼리 생성부(110)는 키워드에 일련의 글자를 상이하게 추가하면서 상기 키워드와 글자가 결합된 하나 이상의 검색 쿼리를 자동 생성하고, 미리 설정된 검색 엔진을 통해 상기 검색 쿼리와 연관된 연관 쿼리를 하나 이상 획득할 수 있다.
이를 도 4를 참고하여 설명하면, 상기 쿼리 생성부(110)는 키워드 DB(101)에 저장된 키워드인 '스마트폰'을 추출하고, 상기 키워드에 '가'를 추가하여 '스마트폰 가'와 같은 검색 쿼리를 생성하고, 상기 키워드에 '나'를 추가하여 '스마트폰 나'와 같은 검색 쿼리를 생성할 수 있다.
이외에도, 상기 쿼리 생성부(110)는 '스마트폰' 키워드에 '다' 부터 '하'까지의 글자를 순서대로 추가하여 추가된 각 글자에 대응되는 검색 쿼리를 생성할 수 있으며, 상기한 예시 이외에도 상기 키워드에 '강'과 같은 받침이 있는 글자를 추가하거나, 'A'와 같은 외국어를 추가하거나, '가가', '가격', 'AA', 'best' 등과 같은 복수의 글자를 추가할 수도 있다.
또한, 상기 쿼리 생성부(110)가 키워드에 추가 가능한 글자는 공백 문자나 특수문자 등을 포함할 수 있다.
또한, 상기 쿼리 생성부(110)는 상술한 바와 같이 생성된 검색 쿼리인 '스마트폰 가'를 상기 서비스 제공 장치(100)에 미리 설정된 검색 엔진이나 외부 서버와의 통신을 통해 외부 서버에서 제공하는 검색 엔진에 적용하여 상기 검색 엔진으로부터 상기 '스마트폰 가'와 연관된 연관 쿼리를 획득할 수 있다.
이러한 검색엔진의 일례로서, 'NAVER'나 'GOOGLE'의 검색 엔진을 이용할 수 있으며, 상기 검색 엔진이 상기 서비스 제공 장치(100)에 포함된 경우 상기 서비스 제공 장치(100)의 저장부에 상기 검색 엔진 관련 실행 데이터가 저장될 수 있다.
또한, 상기 연관 쿼리는 상기 검색 엔진이 검색 쿼리를 입력받아 의미 있는 검색어(또는 질의어)로 자동 완성한 자동 완성 검색어(또는 자동 완성 질의어)로 구성될 수 있다.
일례로, 상기 검색 엔진은 상기 쿼리 생성부(110)로부터 검색 쿼리로 상기 '스마트폰 가'를 입력받으면 '스마트폰 가'로 시작하거나 상기 검색 쿼리를 포함하는 자동 완성 검색어인 '스마트폰 가격', '스마트폰 강제 연결' 등과 같은 연관 쿼리를 자동 생성하며, 쿼리 생성부(110)는 검색 엔진으로부터 하나의 검색 쿼리에 대해 하나 이상의 연관 쿼리를 획득할 수 있다.
또는, 상기 검색 엔진은 상기 검색 쿼리를 기초로 상기 검색 엔진을 제공하는(포함하는) 외부 서버에 포함되며 쿼리가 저장되는 DB를 검색하여 상기 검색 쿼리로 시작하거나 해당 검색 쿼리가 포함된 연관 쿼리를 획득한 후 상기 쿼리 생성부(110)에 제공할 수도 있다.
또한, 상기 검색 엔진은 검색 쿼리에 일련의 글자를 추가하거나 검색 쿼리를 기초로 상기 검색 엔진을 제공하는 외부 서버에 포함되며 쿼리가 저장된 상기 DB를 검색하여 '스마트폰 가성비가 제일 좋은 폰은?'등과 같은 문장으로 연관 쿼리를 생성하거나 상기 DB로부터 상기 검색 쿼리가 포함된 상기 문장을 추출하여 연관 쿼리로 상기 쿼리 생성부(110)에 제공할 수도 있다.
또한, 상기 쿼리 생성부(110)는 상기 검색 엔진을 통해 획득한 상기 연관 쿼리를 쿼리 DB(102)에 저장할 수 있다.
또한, 상기 쿼리 생성부(110)는 상기 검색 엔진으로부터 얻은 상기 하나 이상의 연관 쿼리 각각을 검색 엔진에 적용하여 연관 쿼리별로 검색 결과를 상기 검색 엔진을 통해 획득할 수 있다.
이때, 상기 쿼리 생성부(110)는 상기 검색 결과를 확인하여 아무것도 검색되지 않는 연관 쿼리를 삭제하거나 제외시켜 상기 쿼리 DB(102)에 저장하지 않을 수 있다. 즉, 상기 쿼리 생성부(110)는 검색 볼륨(search volume)이 0인 연관 쿼리를 상기 쿼리 DB(102)에 저장하지 않고 제외 또는 삭제시킬 수 있다.
일례로, 상기 쿼리 생성부(110)는 '스마트폰 가'의 검색 쿼리에 대응되어 얻어진 연관 쿼리인 '스마트폰 가로줄'과 '스마트폰 갑자기 소리'는 검색 볼륨이 0이므로 쿼리 DB(102)에 저장하지 않고 제외시킨다.
상술한 바에 따라, 상기 쿼리 생성부(110)는 키워드에 일련의 글자를 추가하여 서로 상이하게 생성한 복수의 검색 쿼리별로 하나 이상의 연관 쿼리를 획득한 후 쿼리 DB(102)에 저장할 수 있다.
한편, 상기 엔티티 생성부(120)는 상기 쿼리 DB(102)에 저장된 연관 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 하나 이상 추출하여, 상기 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 엔티티 정보에 대응되는 연관 쿼리와 상기 엔티티 정보를 포함하는 쿼리 정보를 생성할 수 있다.
이때, 상기 엔티티 생성부(120)는 상기 쿼리 생성부(110)와 연동하여 상기 쿼리 생성부(110)가 검색 엔진을 통해 획득한 연관 쿼리를 상기 쿼리 생성부(110)로부터 수신하면, 상기 쿼리 생성부(110) 대신 상기 검색 엔진에 연관 쿼리를 적용하여 상기 검색 엔진을 통해 연관 쿼리에 대응되는 검색 결과를 얻을 수도 있으며, 아무런 검색 결과가 없는 연관 쿼리에 대해 상기 쿼리 생성부(110)를 제어하여 해당 연관 쿼리를 쿼리 DB(102)에 저장하지 않을 수 있다.
또한, 상기 쿼리 생성부(110)는 상기 엔티티 생성부(120)에 포함되어 구성될 수도 있다.
상술한 바에 대한 예시로, 도 5에 도시된 바와 같이, 상기 검색 엔진이 생성하는 하나 이상의 검색 결과별 검색 결과 정보 각각은 검색 언어, 검색 지역, 검색엔진 이름, 검색결과 포지션(순위), 도메인, 타이틀, 본문 등을 포함할 수 있으며, 텍스트 기반의 문서로 구성될 수 있다.
이에 따라, 상기 엔티티 생성부(120)는 특정 연관 쿼리에 대응되어 상기 검색 엔진을 통해 산출된 상기 검색 결과별 검색 결과 정보 각각에서 검색 결과 순위를 확인하여 상기 상위 N 개에 따른 미리 설정된 순위 내에 포함되는 하나 이상의 검색 결과를 대상으로 엔티티를 추출할 수 있다.
이때, 상기 상위 N 개에 따른 미리 설정된 순위는 상기 엔티티 생성부(120)에 미리 설정될 수 있다.
또한, 상기 온톨로지 정보는 사물이나 개념에 해당하는 복수의 서로 다른 개체별 개체 정의 정보를 포함하고, 상기 개체 정의 정보는 상기 개체의 범주에 해당되는 클래스(class)와 상기 개체의 개체명인 인스턴스(instance)를 포함할 수 있다.
일반적으로 온톨로지(Ontology)란, 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에 대하여 서로 간의 토론을 통하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델을 의미한다.
또한, 클래스와 인스턴스는 온톨로지를 이루는 구성 요소이며, 클래스는 일반적으로 사물이나 개념 등에 붙이는 이름으로서, "키보드", "모니터", "사랑"과 같은 것은 모두 클래스라고 할 수 있다.
또한, 인스턴스는 사물이나 개념의 구체물이나 사건 등의 실질적인 형태로 나타난 그 자체를 의미할 수 있으며, "LG전자 ST-500 울트라슬림 키보드", "삼성 싱크마스터 Wide LCD 모니터", "로미오와 줄리엣의 사랑"은 인스턴스라 볼 수 있다. 이와 같은 클래스와 인스턴스의 구분은 응용과 사용목적에 따라서 매우 달라질 수 있다. 즉, 같은 표현의 개체가 어떠한 경우에는 클래스가 되었다가 다른 경우에는 인스턴스가 될 수 있다.
또한, 상기 온톨로지 정보는 온톨로지 DB(103) 자체를 의미하는 것일 수도 있다.
또한, 상기 제어부(140)는 온라인 전자 사전을 제공하는 외부 지식 서버로부터 상기 개체 정의 정보를 수집하고, 수집된 개체 정의 정보를 상기 온톨로지 DB(103)의 온톨로지 정보에 포함시켜 저장할 수 있다. 이러한 외부 지식 서버의 일례로서, DBPEDIA나 위키백과 등을 제공하는 서버를 포함할 수 있다.
또한, 상기 제어부(140)는 상기 서비스 제공 장치(100)에 구성된 사용자 입력부를 통한 사용자 입력을 기초로 특정 개체에 대해 온톨로지 구조에 맞게 체계화된 사용자 정의 정보를 입력받아 상기 개체 정의 정보를 생성한 후 상기 온톨로지 정보에 포함시켜 상기 온톨로지 DB(103)에 저장할 수 있다.
상술한 바에 따른 일례를 도 6을 참고하여 설명하면, 상기 엔티티 생성부(120)는 쿼리 DB(102)에 저장된 연관 쿼리인 'galaxy s10 unboxing'을 추출한 후 상기 연관 쿼리를 상기 검색 엔진에 적용하여 하나 이상의 검색 결과를 얻을 수 있다.
이때, 상기 검색 엔진은 상기 연관 쿼리에 대해 상기 하나 이상의 검색 결과를 포함하는 하나의 웹 페이지(web page)를 제공할 수 있으며, 상기 검색 엔진은 상기 하나 이상의 검색 결과 각각을 하나의 웹 페이지 내에서 구획되어 상호 구분 가능하도록 상기 웹 페이지에 포함시킬 수 있다.
이에 따라, 상기 엔티티 생성부(120)는 상기 연관 쿼리를 검색 엔진에 적용하여 얻어진 하나 이상의 검색 결과 중에서 상기 연관 쿼리와의 연관도가 높은 미리 설정된 상위 N개의 검색 결과를 대상으로 각 검색 결과의 텍스트를 식별할 수 있으며, 상기 온톨로지 DB(103)에 미리 저장된 온톨로지 정보를 기초로 상기 온톨로지 정보에 포함되는 사물이나 개념에 대한 복수의 서로 다른 개체별로 인스턴스에 정의된 단어나 구와 일치하는 텍스트를 상기 연관 쿼리의 엔티티(entity)로서 추출할 수 있다.
일례로, 상기 엔티티 생성부(120)는, 연관 쿼리인 'galaxy s10 unboxing'에 대응되어, 상기 검색 결과로부터 'galaxy s10', 'Samsung', 'Review', 'UI', 'larger display', 'camera', 'battery', 'fingerprint', '6.1-inch', '5G' 등과 같이 온톨로지 정보의 개체 정의 정보에 포함된 개체명과 일치하는 단어나 구를 식별하고 이를 엔티티로서 상기 연관 쿼리인 'galaxy s10 unboxing'에 대응되어 추출할 수 있다.
이때, 상술한 엔티티 추출 과정에서 상기 예시에서는 연관 쿼리의 검색 의도가 스마트폰인 'galaxy s10'에 대한 것이며, 연관 쿼리에 대응되어 추출된 엔티티 역시 'galaxy s10'과 같이 구절로서 검색 의도에 맞게 정확하게 출력된 사례를 예시로 나타냈으나, 'galaxy s10'이 아닌 'galaxy'와 같이 추출되는 경우가 발생할 수도 있으며 이러한 단어는 스마트폰과 관계 없는 '은하'를 의미할 수도 있어 중의어 문제가 발생할 수도 있다.
이러한 중의성 문제를 해소하기 위해, 사용자가 본 발명을 이용한 검색 의도 파악이 상품이나 서비스의 트렌드 분석과 같은 특정 목적을 위한 것인 경우, 상기 제어부(140)는 외부 지식 서버로부터 개체 정의 정보 수집시 개체 정의 정보에 포함되는 클래스에 지정된 파라미터의 범위를 한정하기 위한 사용자 입력에 따른 설정 정보를 수신하여 저장할 수 있으며, 상기 설정정보를 기초로 사용자에 의해 지정된 클래스의 파라미터인 Person, Location, Place, Products, Organization, Company, Brand 등의 회사, 제품 및 서비스 관련 클래스와 연관된 개체 정의 정보만을 수집하여 상기 온톨로지 DB(103)에 저장할 수 있다.
이에 따라, 상기 엔티티 생성부(120)는 회사, 제품 및 서비스와 관련된 클래스가 설정된 개체 정의 정보만이 수집된 온톨로지 DB(103)를 기초로 상기 연관 쿼리에 대응되어 검색된 검색 결과에서 회사, 제품 및 서비스와 관련된 엔티티만을 추출할 수 있어, 스마트폰을 의미하는 'galaxy s10'이 포함된 연관 쿼리에 대해 스마트폰과 관계 없는 단어나 구가 엔티티로 추출되는 것을 방지할 수 있다.
또는, 상기 엔티티 생성부(120)는 연관 쿼리인 'galaxy s10 unboxing'에 대해 'galaxy'와 's10'으로 복수의 개별 엔티티를 추출한 경우 연관 쿼리에 대응되어 검색된 상위 N개의 검색 결과 중 어느 하나에서 개별 엔티티인 'galaxy'와 's10'이 'galaxy s10'으로 연속 배치된 경우가 존재하는지 판단하여, 연속 배치된 경우가 존재하면 개별 엔티티인 'galaxy'와 's10'을 하나의 엔티티로 결합한 'galaxy s10'에 대한 문맥 정보를 생성하고, 상기 문맥 정보에 대해 상기 상위 N개의 검색 결과에서 출현 빈도를 연산하여 출현 빈도가 미리 설정된 기준치 이상인 경우 상기 문맥 정보의 생성에 관여된 복수의 개별 엔티티인 'galaxy'와 's10'이 연관 쿼리와 관련되어 하나의 엔티티인 'galaxy s10'일때 엔티티로서 의미를 가지는 것으로 판단하여 상기 복수의 개별 엔티티를 하나의 엔티티로 대체할 수 있다.
이때, 상기 엔티티는 복수의 개별 엔티티가 검색결과에서 연속적으로 배치될 때에만 상기 복수의 개별 엔티티에 대해 상술한 바와 같이 문맥 정보를 생성하고, 해당 문맥 정보에 대해 엔티티로서의 유효성을 판단할 수 있다.
또한, 상기 엔티티 생성부(120)는 상기 연관 쿼리에 대응되어 검색 결과에서 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 상기 연관 쿼리에 대응되어 생성할 수 있다.
이때, 상기 엔티티 생성부(120)는 상기 연관 쿼리에 대응되어 추출된 하나 이상의 엔티티를 후보 엔티티로 설정하고, 상기 상위 N 개의 검색 결과를 대상으로 상기 후보 엔티티별 출현 빈도를 연산하여 출현 빈도가 미리 설정된 기준치 이상인 후보 엔티티만을 주요 엔티티로서 상기 엔티티 정보에 포함시킬 수 있다.
일례로, 상기 엔티티 생성부(120)는 연관 쿼리인 'galaxy s10 unboxing'에 대해 얻어진 'galaxy s10', 'Samsung', 'Review', 'UI', 'larger display', 'camera', 'battery', 'fingerprint', '6.1-inch', '5G'를 각각 후보 엔티티로서 추출하고, 출현빈도가 미리 설정된 기준치 미만인 '5G'를 제외한 나머지 후보 엔티티를 상기 연관 쿼리의 주요 엔티티로 하여 상기 주요 엔티티만이 포함된 엔티티 정보를 생성할 수 있다.
또한, 상술한 구성에서, 상기 엔티티 생성부(120)는 주요 단어 또는 어구를 추출하기 위해 간단하지만 효과적인 텍스트랭크(TextRank) 알고리즘을 이용하여, 상기 후보 엔티티 중에서 주요 단어 또는 어구를 추출하여 상기 엔티티 정보에 포함될 주요 엔티티로서 선택하거나, 단어와 단어 간 PMI(Point-wise Mutual Information) 값을 계산하여 높은 값을 갖는 단어 쌍을 묶음으로 주요 엔티티로 선택할 수도 있다.
상술한 구성에서, 상기 엔티티 생성부(120)는 상기 연관 쿼리를 쿼리의 문맥을 분석하는 BERT(Bidirectional Encoder Representations from Transformer) 모델이 포함된 검색 엔진에 적용하여 상기 검색 엔진으로부터 얻어진 상위 N 개의 검색 결과를 대상으로 상기 엔티티 정보를 생성할 수도 있다.
이때, 상기 BERT 모델은 쿼리의 검색 의도를 파악하여 쿼리에 대한 정확한 검색 결과를 제공하기 위한 구글의 검색 엔진에 적용되는 모델로서, 상기 BERT 모델을 이용하여 상기 연관 쿼리의 검색 의도와 연관성이 높은 엔티티를 선택할 수 있다.
상술한 바를 통해 얻어진 상기 엔티티 정보에 포함된 엔티티는 연관 쿼리의 특징을 나타내는 속성으로 결정된다.
다시 말해, 이미지를 예로 들면, 이미지에 포함된 객체에 대응되는 개체를 딥러닝 알고리즘과 같은 학습 모델을 통해 식별하기 위해서 이미지로부터 특징점을 추출하여 이미지의 속성으로 학습 모델에 학습시키게 되는데, 이미지를 쿼리에 대응시키면 엔티티는 쿼리에 대해 이미지의 특징점과 같은 역할로 사용될 수 있다.
또한, 상기 엔티티 생성부(120)는 상술한 바와 같이 특정 연관 쿼리에 대해 엔티티 정보가 생성되면, 상기 특정 연관 쿼리에 대응어 생성된 엔티티 정보와 상기 특정 연관 쿼리를 포함하는 쿼리 정보를 생성할 수 있다.
이때, 상기 엔티티 생성부(120)는 상기 쿼리 DB(102)에 저장된 복수의 서로 다른 연관 쿼리 각각에 대해 상술한 바의 동작 구성을 통해 상기 복수의 서로 다른 연관 쿼리와 각각 대응되는 복수의 서로 다른 쿼리 정보를 생성할 수 있으며, 상기 복수의 쿼리 정보를 쿼리 DB(102)에 저장할 수 있다.
한편, 상기 학습부(130)는 상기 엔티티 생성부(120)로부터 상기 쿼리 정보를 수신하거나 상기 쿼리 DB(102)로부터 쿼리 정보를 추출할 수 있다.
또한, 상기 서비스 제공 장치(100)는 상술한 바와 같이 검색 의도에 대한 카테고리인 복수의 서로 다른 인텐트와 복수의 쿼리가 상호 매칭되어 미리 저장된 인텐트 DB(104)를 포함할 수 있으며, 상기 학습부(130)는 상기 쿼리 정보에 포함된 특정 연관 쿼리와 일치하는(매칭되는) 쿼리가 상기 인텐트 DB(104)에 존재하는지 판단할 수 있다.
이때, 상기 인텐트 DB(104)에 저장된 복수의 서로 다른 쿼리 중 일부는 상호 동일한 인텐트에 매칭될 수 있다.
또한, 상기 학습부(130)는 상기 쿼리 정보에 따른 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트를 상기 인텐트 DB(104)로부터 추출할 수 있다.
이에 따라, 상기 학습부(130)는 상기 엔티티 정보가 생성된 상기 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트가 상기 인텐트 DB(104)로부터 추출되면, 상기 인텐트 DB(104)로부터 추출된 특정 인텐트와 상기 특정 연관 쿼리에 대응되는 쿼리 정보를 포함하는 학습 데이터를 상기 특정 연관 쿼리에 대응되어 생성할 수 있다.
일례로, 도 7에 도시된 바와 같이, 상기 학습부(130)는 쿼리 정보에 포함된 특정 연관 쿼리인 'galaxy s10 unboxing'에 대해 상기 특정 연관 쿼리와 일치하는 쿼리에 매칭되어 상기 인텐트 DB(104)에 미리 저장된 검색 의도에 대한 데이터값인 'Review.Product'를 상기 특정 연관 쿼리의 검색 의도인 특정 인텐트로 상기 인텐트 DB(104)로부터 추출하고, 상술한 바와 같이 상기 특정 연관 쿼리에 대응되어 얻어진 엔티티 정보와, 상기 특정 연관 쿼리 및 상기 특정 인텐트를 포함하는 학습 데이터를 생성할 수 있다.
또한, 상기 학습부(130)에는 학습 모델이 미리 설정될 수 있으며, 상기 학습 모델은 딥러닝(Deep learning) 알고리즘으로 구성될 수 있다.
이때, 상기 딥러닝 알고리즘은 하나 이상의 신경망 모델로 구성될 수 있다.
또한, 본 발명에서 설명하는 신경망 모델(또는 신경망)은 입력층(Input Layer), 하나 이상의 은닉층(Hidden Layers) 및 출력층(Output Layer)으로 구성될 수 있으며, 상기 신경망 모델에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), CNN(Convolutional Neural Network), SVM(Support Vector Machine) 등과 같은 다양한 종류의 신경망이 적용될 수 있다.
이에 따라, 상기 학습부(130)는 학습 데이터가 생성되면 해당 학습 데이터를 학습 모델에 학습시킬 수 있으며, 쿼리 DB(102)에 저장되는 복수의 서로 다른 쿼리 정보 각각에 대응되어 상술한 바와 같이 복수의 서로 다른 쿼리 정보와 각각 대응되는 복수의 서로 다른 학습 데이터를 생성하여 상기 학습 모델에 학습시킬 수 있다.
상술한 구성을 통해, 상기 학습부(130)는 상기 학습 모델에 엔티티 정보에 따른 엔티티를 속성으로 하는 쿼리(연관 쿼리)와 검색 의도인 인텐트 사이의 상관 관계를 상기 학습 모델에 학습시킬 수 있다.
즉, 상기 학습부(130)는 쿼리가 가지는 쿼리 자체의 데이터값과 쿼리에 대응되는 엔티티에 따른 속성값에 의해 검색 의도가 결정되도록 학습 모델을 학습시킬 수 있으며, 복수의 쿼리 상호 간 중복되는 데이터가 많고 데이터값의 차이가 거의 없는 경우라 하더라도 복수의 쿼리 상호 간 속성으로 가지는 엔티티가 서로 상이한 경우 복수의 쿼리 상호 간 검색 의도가 상이하게 산출될 수 있다.
다시 말해, 학습부(130)는 특정 쿼리에 대해 검색 엔진을 통해 검색시 특정 쿼리에 대한 검색 의도에 대한 정확도가 높은 상위 N개의 검색 결과에서 공통적으로 나타나는 주요 단어나 구를 상기 특정 쿼리의 검색 의도에 대한 특징을 정확하게 나타내는 속성으로 결정하면서 특정 쿼리에 대해 다수의 사용자들이 합의하여 미리 지정한 검색 의도와 상기 특정 검색 쿼리에 대해 결정된 속성을 상호 매칭하여 학습 모델에 학습시킴으로써, 쿼리의 속성과 쿼리에 부여한 검색 의도 사이의 상관 관계를 학습 모델을 학습시킬 수 있으며, 이를 통해 쿼리를 검색 엔진에 적용하여 얻어진 검색 결과에 나타나는 쿼리의 속성인 엔티티를 이용하여 쿼리의 검색 의도를 학습 모델이 정확하게 식별할 수 있도록 학습 모델을 생성할 수 있다.
또한, 상기 학습부(130)는 상기 제어부(140)의 제어를 통해 상기 쿼리 생성부(110) 및 엔티티 생성부(120)와 연동하여 상기 키워드 DB(101)에 저장된 복수의 키워드에 대해 상술한 과정을 수행하여 복수의 키워드별로 하나 이상의 학습 데이터를 생성함으로써 복수의 학습 데이터를 생성할 수 있으며, 학습 데이터 생성시마다 상기 학습 모델에 학습시킬 수 있다.
이를 통해, 상기 학습부(130)는 상기 학습 데이터를 이용한 상기 학습 모델의 학습을 통해 쿼리가 속성으로 가지는 엔티티 정보의 변화에 따라 상기 쿼리와 상기 인텐트 사이의 상관관계가 상기 학습 모델에 설정되도록 할 수 있다.
한편, 상술한 구성에서, 상기 검색 엔진은 입력으로 수신된 연관 쿼리에 대해 웹 사이트나 웹 페이지에 대한 문서 기반의 검색 결과를 제공하는 것 이외에 검색 엔진에서 연관 쿼리의 검색 의도를 파악하여 검색 엔진에서 제공하는 하나 이상의 서로 다른 고유 응답 기능 중 상기 파악된 검색 의도에 대응되는 응답 기능을 이용하여 직접 응답 결과를 상기 검색 결과로 제공할 수 있다.
일례로, 도 8에 도시된 바와 같이, 구글의 검색 엔진은 SERP(Search Engine Result Page)를 통해 검색 결과를 하나 이상 제공하며, SERP를 통해 제공되는 검색 결과들 중 쿼리의 검색 의도를 파악하여, 검색 의도에 대응되어 스니펫(Snippets), 쇼핑 광고(Shopping Ads), 답변 박스(Answer box), 리뷰(Review), 피쳐드 비디오(Feaured Video) 등과 같은 상기 검색 엔진에 미리 설정된 복수의 서로 다른 응답 기능별 기능 종류 중 검색 의도에 대응되는 기능 종류(feature)에 따른 응답 결과를 생성하여 제공하고 있다.
예를 들어, 도 9에 도시된 바와 같이, 구글의 검색 엔진은 'galaxy s10 가격'에 대한 쿼리를 입력받으면 해당 쿼리의 검색 의도를 파악하여, 답변과 관련된 검색 결과를 제시하는 응답 기능인 답변 박스(Answer box)와 관련된 것으로 판단하고, 복수의 기능 종류(응답 기능) 중 어느 하나인 답변 박스에 대한 응답 결과를 생성할 수 있으며, 이러한 응답 결과에 대응되는 기능 종류(응답 기능)의 식별자인 'answer_box'를 상기 응답 결과에 포함시켜 제공한다.
따라서, 상기 엔티티 생성부(120)는 상기 검색 엔진에서 상기 연관 쿼리에 대응되어 산출한 하나 이상의 검색 결과 중 적어도 하나가 상기 검색 엔진이 검색 의도를 파악하여 생성한 응답결과인 경우 상기 응답 결과 각각에서 상기 응답 결과에 대응되는 기능 종류를 추출할 수 있다.
이때, 상기 추출된 기능 종류는 기능 종류에 대한 식별자를 의미할 수 있다.
또한, 상기 엔티티 생성부(120)는 상기 연관 쿼리에 대응되어 생성된 검색 결과에서 추출하거나 상기 연관 쿼리에 대응되어 생성된 응답결과별로 추출한 하나 이상의 기능 종류와 상기 엔티티 정보가 상기 연관 쿼리의 속성으로 설정되도록 상기 쿼리 정보를 생성할 수 있다.
일례로, 도 7에 도시된 바와 같이, 특정 연관 쿼리인 'galaxy s10 unboxing'에 대해 상기 검색 엔진이 산출한 하나 이상의 응답 결과 각각에 포함된 기능 종류인 'video'와 'shopping'을 상기 쿼리 정보에 상기 특정 연관 쿼리에 대응되는 속성으로 포함시킬 수 있다.
또한, 학습부(130)는 상기 검색 엔진에서 제공하는 응답 기능의 기능 종류가 포함된 쿼리 정보를 기초로 학습 데이터를 생성하여 학습 모델에 학습시킬 수 있다.
즉, 서비스 제공 장치(100)는 검색 엔진이 특정 연관 쿼리에 대해 검색 의도를 파악하여 해당 검색 의도에 대응되어 이용한 응답 기능의 기능 종류를 상기 특정 연관 쿼리에 대해 사용자 합의에 의해 지정된 검색 의도인 특정 인텐트와 연관지어 상기 학습 모델에 학습시킬 수 있으며, 이를 통해 특정 쿼리가 특정 검색 의도를 나타낼 때 필요한 특정 쿼리의 속성인 엔티티 정보와 상기 검색 엔진의 기능 종류가 학습 모델에 설정되도록 할 수 있다.
상술한 바를 통해, 서비스 제공 장치(100)는 쿼리에 대해 검색 엔진이 산출하는 검색 결과에서 얻어진 주요 엔티티와 상기 검색 엔진이 쿼리의 검색 의도를 파악하여 이용한 응답 기능을 포함하는 쿼리의 속성과 쿼리에 대응되는 검색 의도 사이의 상관 관계를 학습 모델에 학습시켜, 임의의 입력 쿼리에 대해 상술한 바와 같이 속성을 산출한 후 상기 학습 모델에 적용하여 상기 학습 모델을 통해 상기 입력 쿼리의 속성과 유사한 속성을 가진 쿼리에 대응되는 검색 의도를 상기 입력 쿼리의 검색 의도로 산출하여 입력 쿼리의 검색 의도를 정확하게 산출할 수 있는데, 이를 도 10을 참고하여 상세히 설명한다.
도시된 바와 같이, 상기 서비스 제공 장치(100)의 제어부(140)는 상기 서비스 제공 장치(100)에 구성된 통신부나 사용자 입력부를 통해 사용자 입력에 따른 입력 쿼리를 포함하는 검색 의도 요청 정보를 수신할 수 있다.
또한, 상기 제어부(140)는 상기 검색 의도 요청 정보 수신시 상기 엔티티 생성부(120)를 제어하여 상기 엔티티 생성부(120)를 통해 연관 쿼리 대신 상기 검색 의도 요청 정보에 포함된 입력 쿼리를 상기 검색 엔진에 적용할 수 있으며, 상기 엔티티 생성부(120)를 통해 상기 연관 쿼리에 대응되어 엔티티를 획득하는 구성과 마찬가지로 상기 검색 엔진을 통해 상기 입력 쿼리에 대응되어 상위 N 개의 검색 결과를 얻은 후 상기 상위 N 개의 검색 결과에서 상기 입력 쿼리에 대응되는 하나 이상의 엔티티를 추출하여 획득할 수 있다.
또한, 상기 제어부(140)는 상기 엔티티 생성부(120)를 통해 상기 입력 쿼리에 대응되어 획득된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 입력 쿼리에 대응되는 엔티티 정보 및 상기 입력 쿼리를 포함하는 쿼리 정보를 상기 입력 쿼리에 대응되어 생성할 수 있다.
이때, 상기 제어부(140)는 상기 엔티티 생성부(120)를 통해 상기 검색 엔진이 상기 입력 쿼리에 대응되어 생성한 응답 결과로부터 하나 이상의 기능 종류를 추출한 후 상기 추출된 하나 이상의 기능 종류를 상기 쿼리 정보에 포함시킬 수도 있다.
또한, 상기 제어부(140)는 학습이 완료된 상기 학습부(130)의 학습 모델에 상기 입력 쿼리에 대한 쿼리 정보를 적용하여 상기 입력 쿼리의 쿼리 정보에 대응되는 하나 이상의 인텐트별 상관 계수가 포함된 최종 결과를 산출할 수 있다.
이때, 상기 최종 결과는 상기 쿼리 정보에 대응되는 하나 이상의 인텐트 및 상기 하나 이상의 인텐트별 상관 계수를 포함할 수 있다.
즉, 상기 제어부(140)는 상기 입력 쿼리에 대응되어 생성된 하나 이상의 엔티티를 포함하는 엔티티 정보를 상기 입력 쿼리의 속성으로 상기 입력 쿼리와 함께 학습 모델에 적용하여 상기 학습 모델에서 상기 입력 쿼리가 상기 엔티티 정보를 속성으로 가질 때 상기 입력 쿼리와 유사도가 높은 순으로 하나 이상의 유사 쿼리를 식별하고, 상기 하나 이상의 유사 쿼리와 각각 대응되는 하나 이상의 인텐트를 각각 상기 입력 쿼리와 유사도가 높은 검색 의도로서 최종 결과에 포함시켜 산출할 수 있으며, 특정 유사 쿼리에 대응되어 산출된 상기 입력 쿼리와의 유사도를 상기 특정 유사 쿼리에 대응되는 특정 인텐트와 상기 입력 쿼리 사이의 유사한 정도인 상관 계수로서 산출하여 상기 최종 결과에 포함시키게 된다.
이때, 상기 제어부(140)는 상기 입력 쿼리의 속성으로 상기 엔티티 정보와 함께 상기 기능 종류를 상기 학습 모델에 적용하여 상기 최종 결과를 산출할 수 있다.
일례로, 도 11에 도시된 바와 같이, 상기 제어부(140)는 입력 쿼리로서 'galaxy s10 review'가 수신되면, 상기 입력 쿼리에 대해 상술한 바와 같이 얻어진 엔티티 정보를 상기 학습 모델에 상기 입력 쿼리와 함께 적용하며, 상기 학습 모델은 상기 입력 쿼리인 'galaxy s10 review'와 상기 엔티티 정보를 기초로 한 쿼리 비교 및 속성 비교를 통해 속성 유사도가 높은 순으로 가장 유사도가 높은 것으로 판단된 제 1 유사 쿼리인 'galaxy s20 review'에 대응되는 제 1 인텐트로서 상품 리뷰를 의미하는 검색 의도인 'Review.Product'를 산출하고, 제 1 유사 쿼리 다음으로 상기 입력 쿼리와 유사도가 높은 제 2 유사 쿼리인 'galaxy s10 official'에 대응되는 제 2 인텐트로서 상품 명세를 의미하는 'Product.Info'를 상기 학습 모델을 통해 산출할 수 있다.
또한, 상기 제어부(140)는 상기 입력쿼리와 상기 제 1 유사 쿼리 사이의 유사도인 제 1 유사도를 상기 제 1 인텐트와 상기 입력 쿼리 사이의 제 1 상관 계수로 다른 상관 계수보다 가장 높게 산출하고, 상기 입력쿼리와 상기 제 2 유사 쿼리 사이의 유사도인 제 2 유사도를 상기 제 2 인텐트와 상기 입력 쿼리 사이의 상관 계수로 상기 제 1 상관 계수보다 낮은 제 2 상관 계수로 산출하며, 상기 제 1 인텐트와 상기 제 1 상관 계수가 매칭되어 상기 최종 결과에 포함되며 상기 제 2 인텐트와 상기 제 2 상관 계수가 상호 매칭되어 상기 최종 결과에 포함된 상기 최종 결과를 산출하게 된다.
또 다른 일례로, 상기 제어부(140)는 입력 쿼리로 '종로 맛집'을 수신한 경우 상기 '종로 맛집'과 유사도가 높은 유사 쿼리인 '종로 점심'이나 '종로 밥집 추천'을 기초로 상기 학습 모델을 통해 얻은 서울 종로에 있는 식당을 찾는 검색 의도인 'Local.Find'와 서울 종로에 있는 식당을 추천받기 원하는 검색 의도인 'Local.Suggest'를 상기 입력 쿼리에 대응되며 최종 결과에 포함되는 검색 의도로 산출하고, 상기 최종 결과에 포함되는 검색 의도 각각에 대해 상관 계수가 산출되어 상기 최종 결과에 포함된 최종 결과를 산출할 수 있다.
상술한 구성에서, 상기 제어부(140)는 상기 상관 계수가 미리 설정된 기준치 이상인 검색 의도만을 상기 최종 결과에 포함시켜 상기 입력 쿼리와의 관련성이 낮은 검색 의도가 최종 결과에서 배제되도록 할 수 있다.
한편, 상기 제어부(140)는 Softmax 함수를 이용하여 상기 최종 결과에 포함되는 하나 이상의 검색 의도 각각에 매칭된 상관 계수를 점수(스코어)로 변환하여 상기 상관 계수 대신 검색 의도별로 점수를 산출하여 상기 최종 결과에 포함시킬 수 있다.
또한, 상기 제어부(140)는 상기 최종 결과에 포함된 하나 이상의 검색 의도 중 상기 상관 계수 또는 점수가 가장 높은 검색 의도를 주요 검색 의도로 상기 최종 결과에 설정하여 상기 최종 결과를 상기 서비스 제공 장치(100)에 구성된 출력부나 별도의 출력 장치를 통해 최종 결과 정보로서 출력할 수 있으며, 이를 통해 사용자가 최종 결과 정보를 기초로 상기 입력 쿼리의 주요 검색 의도와 더불어 상기 입력 쿼리와 관련성이 높은 검색 의도를 용이하게 파악할 수 있도록 제공할 수 있다.
상술한 구성을 토대로, 도 12에 도시된 바와 같이, 상기 제어부(140)는 브랜드, 상품명, 서비스명 등을 입력 쿼리로 수신하고, 상기 입력 쿼리에 대한 쿼리 정보를 상기 학습 모델에 적용하여 얻어진 상기 최종 결과를 기초로 상기 최종 결과를 기초로 상기 입력 쿼리에 대해 산출된 하나 이상의 인텐트 상호 간 상기 최종 결과에 포함된 인텐트별 상관계수에 따른 비교가 가능하도록 도식화한 대시 보드를 생성하여 출력할 수 있다.
이때, 상기 제어부(140)는 복수의 입력 쿼리를 수신하여 상기 복수의 입력 쿼리 각각에 대해 상기 학습 모델을 통해 최종 결과를 얻은 후 상기 복수의 입력 쿼리와 각각 대응되는 복수의 최종 결과 및 복수의 입력 쿼리를 기초로 복수의 입력 쿼리별로 입력 쿼리에 대응되는 하나 이상의 인텐트 상호 간 상관 계수의 크기를 구분할 수 있도록 도식화한 대시 보드를 생성할 수 있으며, 이에 따라 상기 대시 보드를 통해 상기 복수의 입력 쿼리 상호 간에 동일 인텐트에 대해 상관 계수의 크기를 비교할 수 있는 대시 보드를 생성하여 제공할 수 있다.
예를 들어, 상기 제어부(140)는 서로 다른 복수의 브랜드 각각을 입력 쿼리로 하여 상기 학습 모델에 적용하고, 상기 학습 모델을 통해 브랜드별 최종 결과를 산출하여 상기 최종 결과를 기초로 상기 복수의 브랜드별로 브랜드와 관련성이 높은 하나 이상의 검색 의도(인텐트)를 상관 계수에 따른 점수에 따라 검색 의도별 중요도가 구분되도록 도식화한 대시 보드를 생성할 수 있다.
이를 통해, 본 발명에 따른 서비스 제공 장치(100)는 상기 대시 보드 제공을 통해 사업자가 브랜드나 상품에 대해 사용자들의 주요 검색 의도를 파악할 수 있도록 제공할 수 있으며, 이러한 주요 검색 의도를 통해 브랜드나 상품에 대해 사용자가 무엇을 요구하는지, 왜 찾는지 등에 대한 사용자의 니즈(needs)(소비자의 욕구)를 파악할 수 있도록 제공할 수 있다.
즉, 상기 서비스 제공 장치(100)는 브랜드나 상품에 대한 대중의 인식과 반응을 가시적으로 확인할 수 있는 분석 정보를 대시 보드로서 제공할 수 있다.
이에 더하여, 본 발명에 따른 서비스 제공 장치(100)는 이러한 대시 보드 기반의 분석 정보의 제공을 통해 상품에서 점수가 낮은 검색 의도를 기초로 개선이 필요한 상품의 특성에 대한 정보를 제공할 수도 있으며, 일례로 속옷 브랜드의 경우 착용감과 관련된 검색 의도의 점수가 높지만 섹시함에서의 검색의도는 낮게 나타난 최종 결과를 제공하여 이러한 섹시함에서의 상품 개선이 이루어지도록 해당 브랜드의 사업자에게 제시할 수 있다.
이외에도, 본 발명에 따른 서비스 제공 장치(100)는 이러한 대시 보드 기반의 분석 정보 제공을 통해 브랜드나 상품의 검색 의도를 분석하여 효과적인 광고 전략이나 마케팅 전략을 수립할 수 있도록 지원할 수 있다.
상술한 바와 같이, 본 발명은 키워드를 기반으로 글자를 추가하면서 검색 엔진의 자동 완성 기능을 이용하여 다수의 쿼리를 자동 생성한 후 쿼리 각각에 대해 검색 엔진을 통해 얻어진 검색 결과로부터 주요 단어나 구를 엔티티로 획득하여 쿼리의 특징인 속성으로 설정한 다음 쿼리에 대해 가장 정확도가 높은 검색 의도와 함께 학습 모델에 학습시켜 쿼리의 속성과 신뢰도가 보장된 검색 의도 사이의 상관 관계가 학습 모델에 학습되도록 할 수 있어, 다수의 쿼리를 자동 생성하여 학습 모델의 학습에 필요한 학습 데이터를 충분히 자동 확보함으로써 학습 모델의 신뢰도 향상을 위해 필요한 학습 데이터의 확보 용이성을 보장할 수 있을 뿐만 아니라, 학습 완료된 학습 모델에 검색 의도 파악을 원하는 사용자의 입력 쿼리를 적용하여 상기 입력 쿼리와 유사도가 일정 수준 이상인 유사 쿼리를 엔티티 기반의 속성 비교를 통해 식별한 후 입력 쿼리와 유사도가 높은 유사 쿼리에 대응되는 검색 의도를 상기 입력 쿼리의 검색 의도로 산출함으로써 입력 쿼리의 검색 의도를 정확하게 파악하여 제시할 수 있다.
도 13은 본 발명의 실시예에 따른 서비스 제공 장치(100)의 검색 의도를 제공하기 위한 서비스 제공 방법에 대한 순서도이다.
도시된 바와 같이, 상기 서비스 제공 장치(100)는, 키워드에 일련의 글자를 상이하게 추가하면서 상기 키워드와 글자가 결합된 하나 이상의 검색 쿼리를 자동 생성하고, 미리 설정된 검색 엔진을 통해 상기 검색 쿼리와 연관된 연관 쿼리를 하나 이상 획득하는 획득 단계를 수행할 수 있다(S1).
또한, 상기 서비스 제공 장치(100)는, 상기 연관 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 하나 이상 추출하여, 상기 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 엔티티 정보에 대응되는 연관 쿼리와 상기 엔티티 정보를 포함하는 쿼리 정보를 생성하는 엔티티 생성 단계를 수행할 수 있다(S2).
또한, 상기 서비스 제공 장치(100)는, 검색 의도에 대한 카테고리인 복수의 인텐트와 복수의 쿼리가 상호 매칭되어 미리 저장된 인텐트 DB(104)로부터 상기 엔티티 정보가 생성된 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트가 추출되면, 상기 특정 인텐트와 상기 특정 연관 쿼리에 대응되는 상기 쿼리 정보를 포함하는 학습 데이터를 생성하여 미리 설정된 학습 모델에 학습시키는 학습 단계를 수행할 수 있다(S3).
또한, 상기 서비스 제공 장치(100)는 학습 모델이 학습이 완료된 상태에서(S4) 사용자 입력에 따른 입력 쿼리가 수신되면(S5), 상기 사용자 입력에 따른 입력 쿼리를 상기 엔티티 생성 단계의 연관 쿼리로 하여 상기 입력 쿼리에 대한 쿼리 정보를 생성한 후 복수의 서로 다른 키워드에 대해 상기 학습이 완료된 상기 학습 모델에 적용하여 상기 학습 모델을 통해 상기 입력 쿼리에 대응되는 하나 이상의 인텐트별 상관 계수가 포함된 최종 결과를 산출하는 산출 단계를 수행할 수 있다(S6).
이때, 상기 서비스 제공 장치(100)는 복수의 서로 다른 키워드 각각에 대해 상기 획득 단계와 상기 엔티티 생성 단계 및 학습 단계를 수행하여 얻어진 복수의 학습 데이터로 상기 학습 모델을 학습시킬 수 있다(S7).
본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 서비스 제공 장치 110: 쿼리 생성부
120: 엔티티 생성부 130: 학습부
140: 제어부
120: 엔티티 생성부 130: 학습부
140: 제어부
Claims (10)
- 서비스 제공 장치의 서비스 제공 방법에 있어서,
키워드에 일련의 글자를 상이하게 추가하면서 상기 키워드와 글자가 결합된 하나 이상의 검색 쿼리를 자동 생성하고, 미리 설정된 검색 엔진을 통해 상기 검색 쿼리와 연관된 연관 쿼리를 하나 이상 획득하는 획득 단계;
상기 연관 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 하나 이상 추출하여, 상기 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 엔티티 정보에 대응되는 연관 쿼리와 상기 엔티티 정보를 포함하는 쿼리 정보를 생성하는 엔티티 생성 단계;
검색 의도에 대한 카테고리인 복수의 인텐트와 복수의 쿼리가 상호 매칭되어 미리 저장된 인텐트 DB로부터 상기 엔티티 정보가 생성된 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트가 추출되면, 상기 특정 인텐트와 상기 특정 연관 쿼리에 대응되는 상기 쿼리 정보를 포함하는 학습 데이터를 생성하여 미리 설정된 학습 모델에 학습시키는 학습 단계; 및
사용자 입력에 따른 입력 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 상기 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 상기 입력 쿼리에 대응되도록 하나 이상 추출하고, 상기 입력 쿼리에 대응되도록 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보 및 상기 입력 쿼리가 포함된 쿼리 정보를 상기 입력 쿼리에 대응되도록 생성한 후 복수의 서로 다른 키워드에 대해 상기 학습이 완료된 상기 학습 모델에 적용하여 상기 학습 모델을 통해 상기 입력 쿼리에 대응되는 하나 이상의 인텐트별 상관 계수가 포함된 최종 결과를 산출하는 산출 단계
를 포함하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 학습 단계는,
복수의 서로 다른 키워드 각각에 대해 상기 획득 단계와 상기 엔티티 생성 단계 및 학습 단계를 수행하여 얻어진 복수의 학습 데이터로 상기 학습 모델을 학습시키는 단계를 더 포함하는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 연관 쿼리는 상기 검색 쿼리를 기초로 상기 검색 엔진이 생성하는 자동 완성 검색어인 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 획득 단계는 검색 볼륨(search volume)이 0인 연관 쿼리를 제외하는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 온톨로지 정보는 사물이나 개념에 해당하는 복수의 서로 다른 개체별 개체 정의 정보를 포함하고, 상기 개체 정의 정보는 상기 개체의 범주에 해당되는 클래스와 상기 개체의 개체명인 인스턴스를 포함하는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 엔티티 생성 단계는,
상기 연관 쿼리에 대응되어 추출된 하나 이상의 엔티티를 후보 엔티티로 설정하고, 상기 상위 N 개의 검색 결과를 대상으로 상기 후보 엔티티별 출현 빈도를 연산하여 출현 빈도가 미리 설정된 기준치 이상인 후보 엔티티만을 상기 엔티티 정보에 포함시키는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 연관 쿼리 또는 입력 쿼리를 입력으로 수신한 상기 검색 엔진이 생성하는 검색 결과는 상기 검색 엔진이 상기 연관 쿼리 또는 입력 쿼리에 대해 검색 의도를 파악하여 응답한 하나 이상의 응답 결과와 상기 하나 이상의 응답결과와 각각 대응되며 응답 결과 산출시 상기 검색 엔진이 이용한 응답 기능의 기능 종류를 하나 이상 포함하고,
상기 엔티티 생성 단계는, 상기 연관 쿼리에 대응되어 생성된 검색 결과에서 추출한 하나 이상의 기능 종류와 상기 연관 쿼리에 대응되는 엔티티 정보가 상기 연관 쿼리의 속성으로 설정되도록 상기 연관 쿼리에 대응되는 쿼리 정보를 생성하는 단계를 더 포함하며,
상기 산출 단계는, 상기 입력 쿼리에 대응되어 생성된 검색 결과에서 추출한 하나 이상의 기능 종류와 상기 입력 쿼리에 대응되는 엔티티 정보가 상기 입력 쿼리의 속성으로 설정되도록 상기 입력 쿼리에 대응되는 쿼리 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 학습 단계는,
상기 학습 데이터를 이용한 상기 학습 모델의 학습을 통해 쿼리가 속성으로 가지는 엔티티 정보의 변화에 따라 상기 쿼리와 상기 인텐트 사이의 상관관계가 상기 학습 모델에 설정되도록 하는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 청구항 1에 있어서,
상기 산출 단계는,
상기 최종 결과를 기초로 상기 입력 쿼리에 대해 산출된 하나 이상의 인텐트 상호 간 상기 최종 결과에 포함된 인텐트별 상관계수에 따른 비교가 가능하도록 도식화한 대시 보드를 생성하여 출력하는 단계를 더 포함하는 것을 특징으로 하는 검색 의도를 제공하기 위한 서비스 제공 방법.
- 키워드에 일련의 글자를 상이하게 추가하면서 상기 키워드와 글자가 결합된 하나 이상의 검색 쿼리를 자동 생성하고, 미리 설정된 검색 엔진을 통해 상기 검색 쿼리와 연관된 연관 쿼리를 하나 이상 획득하는 쿼리 생성부;
상기 연관 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 하나 이상 추출하여, 상기 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보를 생성한 후 상기 엔티티 정보에 대응되는 연관 쿼리와 상기 엔티티 정보를 포함하는 쿼리 정보를 생성하는 엔티티 생성부;
상기 엔티티 생성부로부터 상기 쿼리 정보가 수신되면, 검색 의도에 대한 카테고리인 복수의 인텐트와 복수의 쿼리가 상호 매칭되어 미리 저장된 인텐트 DB로부터 상기 엔티티 정보가 생성된 특정 연관 쿼리와 일치하는 쿼리에 매칭된 특정 인텐트를 추출하고, 상기 특정 인텐트와 상기 특정 연관 쿼리에 대응되는 상기 쿼리 정보를 포함하는 학습 데이터를 생성하여 미리 설정된 학습 모델에 학습시키는 학습부; 및
사용자 입력에 따른 입력 쿼리를 상기 검색 엔진에 적용하여 생성된 검색 결과 중 미리 설정된 상위 N 개의 검색 결과에서 미리 저장된 상기 온톨로지 정보의 인스턴스에 정의된 단어나 구와 일치하는 엔티티를 상기 입력 쿼리에 대응되도록 하나 이상 추출하고, 상기 입력 쿼리에 대응되도록 추출된 하나 이상의 엔티티를 포함하는 엔티티 정보 및 상기 입력 쿼리가 포함된 쿼리 정보를 상기 입력 쿼리에 대응되도록 생성한 후 복수의 서로 다른 키워드에 대해 상기 학습이 완료된 상기 학습 모델에 적용하여 상기 학습 모델을 통해 상기 입력 쿼리에 대응되는 하나 이상의 인텐트별 상관 계수가 포함된 최종 결과를 산출하는 제어부
를 포함하는 검색 의도를 제공하기 위한 서비스 제공 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200082068A KR102215088B1 (ko) | 2020-07-03 | 2020-07-03 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
KR1020210005922A KR20220004531A (ko) | 2020-07-03 | 2021-01-15 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
JP2021074830A JP7198863B2 (ja) | 2020-07-03 | 2021-04-27 | 検索意図を提供するためのサービス提供装置及び方法 |
US17/243,167 US20220004589A1 (en) | 2020-07-03 | 2021-04-28 | Service providing apparatus and method for providing search intent |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200082068A KR102215088B1 (ko) | 2020-07-03 | 2020-07-03 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210005922A Division KR20220004531A (ko) | 2020-07-03 | 2021-01-15 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102215088B1 true KR102215088B1 (ko) | 2021-02-10 |
Family
ID=74561625
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200082068A KR102215088B1 (ko) | 2020-07-03 | 2020-07-03 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
KR1020210005922A KR20220004531A (ko) | 2020-07-03 | 2021-01-15 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210005922A KR20220004531A (ko) | 2020-07-03 | 2021-01-15 | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220004589A1 (ko) |
JP (1) | JP7198863B2 (ko) |
KR (2) | KR102215088B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628129A (zh) * | 2023-07-21 | 2023-08-22 | 南京爱福路汽车科技有限公司 | 一种汽车配件搜索方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928175B1 (en) * | 2021-07-07 | 2024-03-12 | Linze Kay Lucas | Process for quantifying user intent for prioritizing which keywords to use to rank a web page for search engine queries |
JP7249446B1 (ja) | 2022-02-18 | 2023-03-30 | ヤフー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
JP7522148B2 (ja) | 2022-02-25 | 2024-07-24 | Lineヤフー株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
KR20240024544A (ko) * | 2022-08-17 | 2024-02-26 | (주)어센트코리아 | 검색 경로 제공을 위한 서비스 제공 장치 및 방법 |
KR20240106194A (ko) | 2022-12-29 | 2024-07-08 | 주식회사 현대케피코 | 축방향 영구자석 모터 오일 냉각 구조체 |
KR20240106193A (ko) | 2022-12-29 | 2024-07-08 | 주식회사 현대케피코 | 틸트형 축방향 영구자석 모터 오일 냉각 구조체 |
CN115827829B (zh) * | 2023-02-08 | 2023-05-02 | 广州极天信息技术股份有限公司 | 一种基于本体的搜索意图优化方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110127862A (ko) * | 2010-05-20 | 2011-11-28 | 주식회사 케이티 | 컨텐츠 검색을 위한 자동 완성 문장 제공 방법 및 시스템 |
KR20160095183A (ko) * | 2013-05-03 | 2016-08-10 | 페이스북, 인크. | 온라인 소셜 네트워크에서 질의를 위한 검색 의도 |
KR101734970B1 (ko) | 2010-02-10 | 2017-05-12 | 오의진 | 사용자 검색의도에 부합하는 검색 결과 제공 방법 및 시스템 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082264B2 (en) * | 2004-04-07 | 2011-12-20 | Inquira, Inc. | Automated scheme for identifying user intent in real-time |
US9595048B2 (en) * | 2014-05-30 | 2017-03-14 | Excalibur Ip, Llc | Systems and methods for advertising using sponsored verbs and contexts |
US9703859B2 (en) * | 2014-08-27 | 2017-07-11 | Facebook, Inc. | Keyword search queries on online social networks |
US20160203238A1 (en) * | 2015-01-09 | 2016-07-14 | Facebook, Inc. | Suggested Keywords for Searching News-Related Content on Online Social Networks |
US10963525B2 (en) * | 2017-07-07 | 2021-03-30 | Avnet, Inc. | Artificial intelligence system for providing relevant content queries across unconnected websites via a conversational environment |
US10706450B1 (en) * | 2018-02-14 | 2020-07-07 | Amazon Technologies, Inc. | Artificial intelligence system for generating intent-aware recommendations |
US11010436B1 (en) * | 2018-04-20 | 2021-05-18 | Facebook, Inc. | Engaging users by personalized composing-content recommendation |
US11379227B2 (en) * | 2020-10-03 | 2022-07-05 | Microsoft Technology Licensing, Llc | Extraquery context-aided search intent detection |
-
2020
- 2020-07-03 KR KR1020200082068A patent/KR102215088B1/ko active IP Right Grant
-
2021
- 2021-01-15 KR KR1020210005922A patent/KR20220004531A/ko unknown
- 2021-04-27 JP JP2021074830A patent/JP7198863B2/ja active Active
- 2021-04-28 US US17/243,167 patent/US20220004589A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101734970B1 (ko) | 2010-02-10 | 2017-05-12 | 오의진 | 사용자 검색의도에 부합하는 검색 결과 제공 방법 및 시스템 |
KR20110127862A (ko) * | 2010-05-20 | 2011-11-28 | 주식회사 케이티 | 컨텐츠 검색을 위한 자동 완성 문장 제공 방법 및 시스템 |
KR20160095183A (ko) * | 2013-05-03 | 2016-08-10 | 페이스북, 인크. | 온라인 소셜 네트워크에서 질의를 위한 검색 의도 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628129A (zh) * | 2023-07-21 | 2023-08-22 | 南京爱福路汽车科技有限公司 | 一种汽车配件搜索方法及系统 |
CN116628129B (zh) * | 2023-07-21 | 2024-02-27 | 南京爱福路汽车科技有限公司 | 一种汽车配件搜索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20220004531A (ko) | 2022-01-11 |
US20220004589A1 (en) | 2022-01-06 |
JP7198863B2 (ja) | 2023-01-04 |
JP2022013688A (ja) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102215088B1 (ko) | 검색 의도를 제공하기 위한 서비스 제공 장치 및 방법 | |
CN109308357B (zh) | 一种用于获得答案信息的方法、装置和设备 | |
CN106776532B (zh) | 一种知识问答方法及装置 | |
CN111858877A (zh) | 多类型问题智能问答方法、系统、设备及可读存储介质 | |
CN109710935B (zh) | 一种基于文物知识图谱的博物馆导览与知识推荐方法 | |
US20140122407A1 (en) | Chatbot system and method having auto-select input message with quality response | |
KR102347306B1 (ko) | 빅데이터를 활용한 모임 구성원 매칭 방법 및 시스템 | |
KR20170001550A (ko) | 인공 지능에 기초한 인간-컴퓨터 지능형 채팅 방법 및 장치 | |
CN111914179B (zh) | 基于语义的模糊搜索方法和装置、存储介质及电子设备 | |
CN110597962A (zh) | 搜索结果展示方法、装置、介质及电子设备 | |
KR20010007715A (ko) | 감성 지수를 이용한 맞춤 정보 제공 시스템 및 그 방법 | |
CN111522966A (zh) | 基于知识图谱的数据处理方法、装置、电子设备及介质 | |
JPWO2016178337A1 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
CN116562937A (zh) | 一种基于人工智能的广告投放策略生成方法及装置 | |
CN102231147A (zh) | 一种用于实时展现联想词的方法、设备及系统 | |
CN113342944B (zh) | 一种语料泛化方法、装置、设备及存储介质 | |
Zhang et al. | Online investigation of users’ attitudes using automatic question answering | |
KR101955920B1 (ko) | 속성 언어를 이용한 검색 방법 및 장치 | |
US11403339B2 (en) | Techniques for identifying color profiles for textual queries | |
JP2024058648A (ja) | 検索パス基盤の検索ワードネットワークを提供するためのサービス提供装置および方法 | |
CN101072194A (zh) | 一种利用即时通信系统进行信息搜索的方法及系统 | |
KR20240024544A (ko) | 검색 경로 제공을 위한 서비스 제공 장치 및 방법 | |
JP4795452B2 (ja) | 検索システム及び検索プログラム | |
CN111046151B (zh) | 一种消息处理方法及装置 | |
Purkar et al. | Recommendation System for Workers & Customers for Informal Jobs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |