KR20240049526A - 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치 - Google Patents

페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치 Download PDF

Info

Publication number
KR20240049526A
KR20240049526A KR1020240045321A KR20240045321A KR20240049526A KR 20240049526 A KR20240049526 A KR 20240049526A KR 1020240045321 A KR1020240045321 A KR 1020240045321A KR 20240045321 A KR20240045321 A KR 20240045321A KR 20240049526 A KR20240049526 A KR 20240049526A
Authority
KR
South Korea
Prior art keywords
query
similar
user
vector
similarity
Prior art date
Application number
KR1020240045321A
Other languages
English (en)
Inventor
김동환
김한수
이승현
장형진
Original Assignee
주식회사 포티투마루
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포티투마루 filed Critical 주식회사 포티투마루
Priority to KR1020240045321A priority Critical patent/KR20240049526A/ko
Publication of KR20240049526A publication Critical patent/KR20240049526A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • G06F18/21355Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis nonlinear criteria, e.g. embedding a manifold in a Euclidean space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

본 명세서는 사용자 질의에 대한 사용자 질의 벡터를 생성하는 단계; 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 유사 질의를 선정하는 단계; 및 상기 유사 질의의 응답을 상기 사용자 질의에 대한 응답으로 결정하는 단계를 포함하는 전자 장치에 의하여 수행되는 검색 방법을 개시한다.

Description

페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치{A method and apparatus for question-answering using a paraphraser model}
본 발명은 사용자 질의에 대한 응답을 검색하여 사용자에게 제시하는 방법에 관한 것이다.
검색엔진이 사용자 질의에 대하여 답변을 제공하기 위한 방법으로 사용자가 입력한 사용자 질의를 구성하는 텍스트 정보에 기초하여 데이터베이스를 검색한 결과를 제공하는 방식이 널리 사용되고 있다.
그러나, 사용자 마다 질의를 표현하는 방식이 상이한 점에 있어서, 텍스트 정보에 기초하여 사용자 질의에 대한 검색 결과를 제공하는 방식은 검색의 숙련도에 따라 검색 결과가 달라지게 된다.
이러한 문제를 해결하기 위하여, 한국공개특허 제10-2011-0134909호 등에서 텍스트 문서들이나 사용자 질문에 언어적 분석을 수행함으로써 의미적 라벨링을 실시하고, 의미적으로 라벨링된 사용자 질문에 관련된 텍스트를 찾기 위해 라벨링된 텍스트 문서 데이터 베이스를 검색하는 방법들이 제시되어 있다.
그러나, 위와 같은 방법은 사용자 요청에 대응되는 응답을 찾기 위하여 대량의 텍스트 문서 데이터베이스를 검색하여야 하며, 텍스트 문서 데이터베이스의 크기가 증가할수록 검색시간이 증가한다는 문제점을 가지고 있다.
공개특허공보 제10-2011-0134909호(2011.12.15.)
본 명세서에서는 페러프레이저를 이용하여 사용자 질의에 대한 응답을 효율적으로 검색하는 방안을 제시하고자 한다.
상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 전자 장치에 의하여 수행되는 검색 방법은 사용자 질의에 대한 사용자 질의 벡터를 생성하는 단계; 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 유사 질의를 선정하는 단계; 및 상기 유사 질의의 응답을 상기 사용자 질의에 대한 응답으로 결정하는 단계를 포함한다.
상기 검색 방법은 상기 사용자 질의 벡터와의 유사도에 기초하여 유사 질의 후보를 선정하는 단계를 더 포함하고, 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 유사 질의를 선정하는 단계는, 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 상기 유사 질의 후보 중에서 유사 질의를 선정하는 단계를 포함할 수 있다.
상기 유사 질의 후보는 제 1 유사도 분석 모델에 의하여 상기 사용자 질의 벡터와의 유사도에 기초하여 선정되고, 상기 유사 질의는 제 2 유사도 분석 모델에 의하여 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 선정되며, 상기 제 1 유사도 분석 모델과 상기 제 2 유사도 분석 모델은 서로 상이한 분석모델일 수 있다.
상기 제 2 유사도 분석 모델은 제 1 학습 데이터와 제 2 학습 데이터를 이용하여 학습되며, 상기 제 1 학습 데이터는 제 1 질의 쌍과 상기 제 1 질의 쌍이 유사함을 나타내는 레이블로 구성되고, 상기 제 2 학습 데이터는 제 2 질의 쌍과 상기 제 2 질의 쌍이 비유사함을 나타내는 레이블로 구성될 수 있다.
상기 전자 장치는 데이터베이스를 포함하고, 상기 데이터베이스에는 질의와 상기 질의에 대한 질의 벡터가 연관되어 저장될 수 있다.
상기 사용자 질의 벡터와의 유사도에 기초하여 유사 질의 후보를 선정하는 단계는, 상기 사용자 질의 벡터와의 유사도가 미리 설정된 기준 보다 높은 질의 벡터와 연관된 질의를 상기 유사 질의 후보로 선정하는 단계를 포함할 수 있다.
상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 상기 유사 질의 후보 중에서 유사 질의를 선정하는 단계는, 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 상기 유사 질의 후보에 속한 후보 질의의 유사도 순위를 결정하는 단계; 및 상기 유사도 순위에 따라 미리 결정된 수의 후보 질의를 유사 질의로 선정하는 단계를 포함할 수 있다.
상기 유사 질의의 응답을 상기 사용자 질의에 대한 응답으로 결정하는 단계는, 상기 유사 질의와 상기 유사 질의에 대한 응답이 상기 유사도 순위에 따라 사용자에게 제공되도록 상기 사용자 질의에 대한 응답을 생성하는 단계를 포함할 수 있다.
또한, 상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 검색 장치는 프로세서; 및 상기 프로세서에 의하여 실행되는 명령어를 저장하는 메모리를 포함하고, 상기 프로세서는 상기 명령어를 수행하는 것에 의하여, 사용자 질의에 대한 사용자 질의 벡터를 생성하고, 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 유사 질의를 선정하며, 상기 유사 질의의 응답을 상기 사용자 질의에 대한 응답으로 결정한다.
또한, 상기한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 컴퓨터로 읽을 수 있는 저장매체에 저장된 컴퓨터 프로그램은 사용자 질의에 대한 사용자 질의 벡터를 생성하는 단계; 상기 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 유사 질의를 선정하는 단계; 및 상기 유사 질의의 응답을 상기 사용자 질의에 대한 응답으로 결정하는 단계를 포함한다.
본 발명은 사용자 질의와 유사한 질의에 대한 검색 결과를 사용자에게 제시하는 효과를 제공한다. 나아가, 본 발명은 검색 장치가 페러프레이즈 모델을 이용하여 사용자 질의에 유사도가 높은 질의를 선정하고, 선정된 질의의 응답을 제공함으로써 유사질의에 의한 답변을 보다 정확하게 제공할 수 있는 효과를 제공한다.
도 1a는 본 발명의 일 실시 예에 따른 단말에 의하여 수행되는 검색 방법을 설명하는 순서도이다.
도 1b는 본 발명의 일 실시 예에 따른 검색 시스템을 도시하는 블록도이다.
도 2 및 도 3은 본 발명의 일 실시 예에 따른 단말과 서버를 도시하는 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 검색 방법을 설명하는 순서도이다.
도 5 및 도 6은는 신경망을 학습하여 분석모델을 생성하는 과정을 설명하는 예를 도시하는 도면이다.
도 7은 자연어로 표현된 사용자 질의를 임베딩하여 벡터로 생성하는 예를 도시하는 도면이다.
도 8은 인코더를 생성하기 위한 신경망 학습 과정을 나타낸다.
도 9는 샴 신경망의 개념을 설명하는 도면이다.
도 10은 본 발명의 일 실시 예에 따른 분석 모델 생성 장치가 페러프레이즈 모델을 생성하는 방법을 설명하는 순서도이다.
도 11은 서버의 벡터기반 검색 방법을 설명하는 도면이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시 되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
명세서 및 청구범위에서 "제 1", "제 2", "제 3" 및 "제 4" 등의 용어는, 만약 있는 경우, 유사한 구성요소 사이의 구분을 위해 사용되며, 반드시 그렇지는 않지만 특정 순차 또는 발생 순서를 기술하기 위해 사용된다. 그와 같이 사용되는 용어는 여기에 기술된 본 발명의 실시예가, 예컨대, 여기에 도시 또는 설명된 것이 아닌 다른 시퀀스로 동작할 수 있도록 적절한 환경하에서 호환 가능한 것이 이해될 것이다. 마찬가지로, 여기서 방법이 일련의 단계를 포함하는 것으로 기술되는 경우, 여기에 제시된 그러한 단계의 순서는 반드시 그러한 단계가 실행될 수 있는 순서인 것은 아니며, 임의의 기술된 단계는 생략될 수 있고/있거나 여기에 기술되지 않은 임의의 다른 단계가 그 방법에 부가 가능할 것이다.
또한 명세서 및 청구범위의 "왼쪽", "오른쪽", "앞", "뒤", "상부", "바닥", "위에", "아래에" 등의 용어는, 설명을 위해 사용되는 것이며, 반드시 불변의 상대적 위치를 기술하기 위한 것은 아니다. 그와 같이 사용되는 용어는 여기에 기술된 본 발명의 실시예가, 예컨대, 여기에 도시 또는 설명된 것이 아닌 다른 방향으로 동작할 수 있도록 적절한 환경하에서 호환 가능한 것이 이해될 것이다. 여기서 사용된 용어 "연결된"은 전기적 또는 비 전기적 방식으로 직접 또는 간접적으로 접속되는 것으로 정의된다. 여기서 서로 "인접하는" 것으로 기술된 대상은, 그 문구가 사용되는 문맥에 대해 적절하게, 서로 물리적으로 접촉하거나, 서로 근접하거나, 서로 동일한 일반적 범위 또는 영역에 있는 것일 수 있다. 여기서 "일실시예에서"라는 문구의 존재는 반드시 그런 것은 아니지만 동일한 실시예를 의미한다.
또한 명세서 및 청구범위에서 '연결된다', '연결하는', '체결된다', '체결하는', '결합된다', '결합하는' 등과 이런 표현의 다양한 변형들의 지칭은 다른 구성요소와 직접적으로 연결되거나 다른 구성요소를 통해 간접적으로 연결되는 것을 포함하는 의미로 사용된다.
또한, 본 명세서에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
또한 본 명세서에서 사용된 용어들은 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprise)' 및/또는 '포함하는(comprising)'은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예에 대해 상세하게 설명한다.
도 1a는 본 발명의 일 실시 예에 따른 단말(100)에 의하여 수행되는 검색 방법을 설명하는 순서도이다. 먼저, 단말(100)은 사용자 질의를 획득하고, 사용자 질의에 대한 사용자 질의 벡터를 생성한다(S10), 다음으로, 단말(100)은 사용자 질의 벡터와의 유사도 분석 결과에 기초하여 유사질의를 선정한다(S20). 다음으로, 단말(100)은 유사 질의의 응답을 사용자 질의에 대한 응답으로 결정한다(S30). 다음으로, 단말(100)은 사용자 질의에 대한 응답을 생성한다(S40).
도 1b는 본 발명의 일 실시 예에 따른 검색 시스템을 도시하는 블록도이다. 일 실시 예에 따른 검색 시스템은 사용자 단말(100)과 검색 서버(200)로 구성된다. 이하에서는 설명의 편의를 위하여 사용자 단말(100)을 단말(100)로 약칭하고, 검색 서버(200)를 서버(200)로 약칭한다.
일 실시 예에 따른 단말(100)은 서버(200)로 질의를 전송하고, 서버(200)로부터 질의에 대한 응답을 수신한다. 단말(100)은 서버(200)로부터 수신한 질의의 응답에 기초하여 사용자의 질의에 대한 답변을 제공한다.
서버(200)는 키워드 기반으로 엘라스틱 서치를 수행하는 검색엔진일 수 있다. 일 실시 예에서 서버(200)는 벡터 기반으로 유사 질의를 검색할 수도 있다. 이를 통해, 서버(200)는 사용자 질의와 유사도가 높은 질의를 선정하여 단말(100)에 제공할 수 있다. 서버(200)가 일차적으로 사용자 질의에 대한 유사 질의 후보군을 선정하고, 단말(100)이 서버(200)가 제공한 유사 질의 후보군에 속한 질의에 대한 유사도 평가를 수행함으로써, 단말(100)은 사용자 질의와 유사한 유사 질의를 선정하기 위하여, 사용자 질의와 유사도를 분석해야 하는 질의의 개수를 일정 범위로 제한할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 단말(100)을 도시하는 블록도이다. 본 발명의 일 실시 예에 따른 단말(100)은 인코더(110), 페러프레이저(120), 유사 질의 선정부(130), 질의 답변부(140) 및 데이터베이스(150)로 구성될 수 있다.
인코더(110)는 자연어로 표현된 사용자 질의에 대응하는 임베딩 벡터(embedding vector)를 생성한다. 임베딩 벡터는 자연어로 표현된 사용자 질의의 구조와 의미를 나타내는 벡터이다. 인코더(110)는 신경망으로 구성될 수 있으며, 임베딩 벡터를 생성하기 위해 학습된 신경망 모델일 수 있다.
페러프레이저(120)는 자연어로 표현된 복수의 질의에 대한 유사도를 분석하는 유사도 분석 모델이다. 페러프레이저(120)는 두개의 자연어 질의를 입력으로 받아, 질의의 유사도 값을 출력으로 제공한다. 예를들어, 페러프레이저(120)는 두개의 질의를 벡터화 하고, 각 질의에 대한 벡터의 유클리드 공간에서의 거리 또는 코사인 유사도에 기초하여 유사도 값을 결정할 수 있다. 페러프레이저(120)는 자연어로 표현된 질의를 벡터화 하기 위하여 인코더(110)를 포함하여 구성될 수도 있다. 페러프레이저(120)는 신경망으로 구성될 수 있으며, 질의간의 유사도를 결정하기 위하여 학습된 신경망 모델일 수 있다.
유사 질의 선정부(130)는 페러프레이저(120)에 의하여 획득된 유사도에 따라 사용자 질의와 유사한 질의를 선정한다. 그리고 사용자 질의와 유사한 순서에 따라 유사 질의의 유사도 등급을 결정한다.
질의 답변부(140)는 사용자로부터 사용자 질의를 획득한다. 그리고 질의 답변부(140)는 사용자 질의에 대한 답변을 사용자에게 제공한다. 질의 답변부(140)는 입력된 사용자 질의와 그에 대한 답변이 데이터베이스(150)에 저장되어 있는 경우, 입력된 사용자 질의에 대한 답변을 사용자에게 제공한다. 한편, 질의 답변부(140)는 입력된 사용자 질의가 데이터베이스(150)에 저장되어 있지 않는 경우, 유사 질의 선정부(130)에 의하여 선정된 유사도 등급에 따라 미리 설정된 기준에 따른 유사도 등급에 해당하는 유사 질의의 답변을 사용자의 답변으로 사용자에게 제공할 수 있다.
한편, 본 발명의 일 실시 예에 따른 단말(100)과 서버(200)는 도 3과 같이 프로세서(101), 메모리(102), 통신부(103), 사용자 인터페이스(104) 및 데이터베이스(105)를 포함하여 구성될 수도 있다. 메모리(102)에는 본 발명의 일 실시 예에 따른 검색 방법의 동작을 수행하는 프로그램이 저장되어 있을 수 있다. 메모리(102)에는 인코더(110) 및 페러프레이저(120)를 구현하기 위하여 학습된 신경망 모델이 저장되어 있을 수 있다. 프로세서(101)는 메모리(102)에 저장된 프로그램과 신경망 모델에 따라 데이터를 처리하여 통신부(103), 사용자 인터페이스(104) 및 데이터베이스(105)를 제어함으로써 본 발명의 일 실시 예에 따른 검색 방법을 수행할 수 있다.
이하 본 발명의 일 실시 예에 따른 검색 방법을 설명한다. 도 4는 본 발명의 일 실시 예에 따른 검색 방법을 설명하는 순서도이다. 단말(100)은 사용자 입력에 기반하여 사용자의 질의를 획득한다(S110). 단말(100)은 키보드나 터치패드를 통하여 입력되는 사용자의 텍스트 입력 또는 사용자의 발화에 의한 음성입력으로 사용자 질의를 획득할 수 있다. 사용자 질의는 자연어로 표현되는 문장일 수 있다.
다음으로, 단말(100)은 자연어로 표현되는 사용자 질의를 벡터화 한다(S120). 단말(100)은 인코더(110)를 사용하여 사용자 질의를 벡터표현으로 변환하여 사용자 질의 벡터를 생성할 수 있다. 다음으로, 단말(100)은 서버(200)로 사용자 질의 벡터를 전송한다(S130).
서버(200)는 단말(100)로부터 수신한 사용자 질의 벡터를 이용하여 유사 질의를 검색한다(S140). 서버(200)는 서버(200)의 데이터베이스에 저장된 질의 중에서 사용자 질의 벡터와 동일하거나 유사한 벡터를 가지는 질의를 검색한다. 보다 상세히, 서버(200)의 데이터베이스에는 질의와 질의에 대한 응답이 연관되어 저장되어 있을 수 있다. 예를 들어, 데이터베이스에는 (질의, 응답) 쌍이 저장되어 있을 수 있다. 또한, 데이터베이스에는 질의와 질의에 대한 벡터가 연관되어 저장되어 있을 수 있다. 예를 들어, 데이터베이스에는 (질의, 응답, 질의 벡터) 쌍이 저장되어 있을 수 있다.
서버(200)는 유사한 벡터를 가지는 질의를 검색하기 위하여 유클리드 공간에서 사용자 질의 벡터와 일정 거리 내에 위치하는 벡터를 유사한 벡터로 결정할 수 있다. 또는 서버(200)는 코사인 유사도에 기초하여 유사도를 결정할 수도 있다. 서버(200)는 유사 질의 검색 결과를 이용하여 유사 질의 후보군을 생성한다. 유사 질의 후보군은 질의로만 구성되거나, 질의와 응답 및 벡터 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 유사 질의 후보군에는 후보군에 속한 질의 별로 사용자 질의 벡터와의 유사도 값이 더 포함될 수 있다. 나아가, 유사 질의 후보군에는 후보군에 속한 질의 간의 유사도 순서가 더 포함될 수도 있다. 서버(200)는 생성된 유사 질의 후보군을 단말(100)로 전송한다(S150).
다음으로, 단말(100)은 서버(200)로부터 수신한 유사 질의 후보군 정보를 이용하여 유사 질의를 선정한다(S160). 단말(100)은 유사 질의 후보군에 속한 질의 중에서 사용자 질의와 유사한 질의를 선정할 수 있다. 단말(100)은 페러프레이저(120)를 이용하여 유사 질의 후보군에 속한 질의 각각과 입력된 사용자 질의의 유사도를 결정할 수 있다. 단말(100)은 가장 높은 유사도를 가지는 질의를 유사 질의로 선정할 수 있다. 또는, 단말(100)은 유사도가 높은 순으로 유사 질의 후보군에 속한 질의를 등급화함으로써 등급별로 유사 질의를 선정할 수도 있다. 페러프레이저(120)에 의한 유사도 분석 방법은 서버(200)에 의하여 수행되는 유사도 분석 방법과 다른 방법일 수 있다. 예를 들어, 페러프레이저(120)의 유사도 분석 모델은 서버(200)의 유사도 분석 모델과 다른 분석모델일 수 있으며, 신경망 모델로 구성될 경우 모델의 구성이나 은닉계층을 구성하는 변수의 값이 서로 다를 수 있다.
다음으로, 단말(100)은 선정된 유사 질의에 따라 응답을 제공한다(S170). 단말(100)은 가장 높은 유사도를 가지는 유사 질의에 대응되는 응답을 사용자가 입력한 사용자 질의에 대한 응답으로 제공할 수 있다. 또는, 단말(100)은 유사 질의의 등급에 따라, 유사 질의 후보군에 속한 질의에 대응되는 응답을 사용자가 입력한 사용자 질의에 대한 응답으로 제공할 수도 있다.
단말(100)은 유사 질의 후보군에 대한 응답을 서버(200)로부터 모두 수신하는 것이 아니라 선정된 유사 질의에 대한 응답 만을 서버(200)로부터 수신할 수 있다. 이는, 유사 질의 후보군에 응답 정보가 포함되어 있지 않으며, 단말(100)이 응답정보가 필요한 유사 질의를 서버(200)로 전송하고, 유사 질의의 응답을 서버로부터 수신함으로써, 유사 질의에 대한 응답만을 서버(200)로부터 전송 받는 것으로 구현될 수 있다. 이로써, 단말(100)과 서버(200)간의 트래픽을 줄일 수도 있다.
유사 질의는 사용자 질의와 의미가 다른 질의일 수도 있다. 예를 들어, 사용자가 “시청까지 얼마야?”라는 질의를 입력하였을 경우, 단말(100)은 유사 질의로 '시청까지 도달하기 위한 소요시간 얼마야', '시청까지 가기 위한 거리가 얼마야?' 또는 '시청까지 도달하기 위한 교통비 얼마야?'와 같은 유사 질의를 선정할 수 있다. 또한, '시청까지 도달하기 소요시간 얼마야?'라는 유사 질의의 경우 '자가용으로 시청까지 도달하기 위한 교통비 얼마야?', '대중교통으로 시청까지 도달하기 위한 교통비 얼마야?' 또는 '걸어서 시청까지 도달하기 위한 교통비 얼마야?'와 같은 유사 질의가 존재할 수도 있다.
이러한 경우 유사 질의에 대한 답변만을 사용자에게 제공하는 경우 사용자는 다른 의미에 대한 응답을 사용자가 입력한 질의에 대한 답변으로 오해할 수도 있다. 이에 따라, 단말(100)은 유사 질의에 대응되는 응답을 사용자에게 제공하는 경우, 유사 질의와 함께 유사 질의에 대한 응답을 사용자에게 제공할 수도 있다.
한편, 도 4를 참조한 설명에서 S130단계는 단말(100)이 서버(200)로 사용자 질의 벡터가 아닌 사용자 질의 자체를 전송함으로써 수행될 수도 있다. 이러한 경우 서버(200)는 인코더를 이용하여 사용자 질의에 대한 사용자 질의 벡터를 생성할 수 있다. 그리고, S140 단계에서 서버(200)는 생성된 사용자 질의 벡터를 이용함으로써 유사 질의를 검색할 수 있다.
이하 도면을 참조하여 각 단계를 보다 상세히 설명한다. 본 발명의 일 실시 예에 따른 단말(100)과 서버(200)는 자연어를 분석하여 질의를 벡터화 하고, 질의 간의 유사도를 벡터차원에서 분석하기 위하여 학습된 신경망 모델을 저장할 수 있다. 일 실시 예에 따른 신경망 모델은 적용 분야 또는 장치의 연산 능력에 따라 동작할 수 있는 규모로 생성될 수 있다.
일 실시 예에서, 신경망 모델은 딥 러닝 모델일 수 있다. 딥 러닝 모델은 복수의 히든 레이어로 구축될 수 있다. 레이어에 속한 노드들은 노드간의 연결 관계에 따라 데이터를 주고 받을 수 있다. 본 발명의 일 실시 예에 따른 단말(100)과 서버(200)는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional RecurrentDeep Neural Network) 등을 학습시켜 분석모델을 생성하고, 생성된 분석모델을 사용하여 일 실시 예에 따른 방법을 수행할 수 있다.
도 5는 신경망을 학습하여 분석모델을 생성하는 과정을 설명하는 순서도이다. 일 실시 예에 따른 인코더(110)와 페러프레이저(120)는 도 5에 따른 분석 모델 생성 방법에 따라 분석 모델 생성 장치에 의하여 생성될 수 있다. 먼저, 분석 모델 생성 장치는 학습데이터를 획득한다(S210). 학습데이터는 생성하고자 하는 분석 모델에 따라 설정될 수 있다.
다음으로, 분석 모델 생성 장치는 획득된 학습데이터를 이용하여 신경망을 학습시킨다(S220). 도 6을 참조하여 보다 상세히 설명한다. 분석 모델 생성 장치는 생성하고자 하는 분석 모델에 따라 신경망 모델을 설정하고, 순전파(Forward Propagation)를 수행하여 예측값을 결정할 수 있다. 그리고 분석 모델 생성 장치는 손실 함수(Loss function)를 사용하여 예측값과 실제값을 비교함으로써 변수의 값을 결정하기 위한 오차값을 결정할 수 있다. 장치는 예측값과 실제값의 오차가 감소하도록 역전파(Backward Propagation)를 사용하여 신경망 모델의 변수값을 조정할 수 있다. 역전파에 사용되는 옵티마이저(Optimizer)로는 배치경사 하강법, 확률적 경사 하강법 등이 사용될 수 있다.
신경망의 학습이 진행된 후에, 분석 모델 생성 장치는 신경망이 유효한 분석 결과를 도출하는지를 확인하기 위하여 테스트 데이터를 획득하고(S230), 획득된 테스트 데이터를 이용하여 신경망을 테스트한다(S240). 테스트 데이터는 입력값과 그에 따른 실제값으로 구성될 수 있다. 분석 모델 생성 장치는 테스트 데이터의 입력값을 신경망에 적용한 결과인 예측값이 테스트 데이터의 실제값으로부터 허용 오차범위내의 오차값을 가지는 경우 신경망의 학습을 종료하고, 학습된 신경망을 분석 모델로 사용할 수 있다(S250). 한편, 분석 모델 생성 장치는 테스트 데이터의 입력에 따른 예측값과 실제값의 오차값이 허용 오차범위를 벗어나는 경우 신경망의 학습을 지속할 수 있다.
한편, 분석 모델 생성 장치는 과적합을 막기 위하여 조기종료 또는 드롭아웃을 적용할 수 있다. 일 실시 예에서, 분석 모델 생성 장치는 검증 데이터의 예측값과 실제값 사이의 오차값에 대해 모니터링을 진행하면서, 검증 데이터에 대한 정확도가 지속적으로 낮아짐이 발견된다면 정확도가 낮아지기 전의 에포크(epoch)를 훈련 에포크로 설정함으로써 조기종료를 구현할 수 있다. 또는 장치는, 일정한 기준으로 선택된 노드들을 학습에 사용되지 않는 드롭아웃을 수행함으로써 과적합을 막을 수도 있다. 이로써 장치는 신경망이 특정 노드나 노드의 조합에 의존적으로 변하는 것을 막을 수 있다.
이하, 인코더(110)가 수행하는 질의의 벡터화 방법을 설명한다. 인코더(110)는 도 7과 같이 자연어로 표현된 사용자 질의를 임베딩하여 벡터로 생성할 수 있다. 본 발명의 일 실시 예에 따른 인코더(110)는 신경망을 이용하여 생성된 벡터 생성 모델로써, 질의를 입력으로 하여 질의에 대응하는 벡터값을 출력할 수 있다. 일 실시 예에 따른 인코더(110)는 BOW(Bag of Words), TF-IDF, Doc2Vec, Text Embedding Encoder, Word2Vec과 같은 모델일 수 있다.
도 8은 인코더(110)를 생성하기 위한 신경망 학습 과정을 나타낸다. 분석 모델 생성 장치는 전처리된 학습데이터(S310)를 이용하여 DNN 또는 RNN 모델과 같은 신경망 모델을 학습시키고(S320), 학습된 모델을 테스트함으로써(S330, S340) 인코더(110) 모델을 생성할 수 있다(S350).
예를 들어, 분석 모델 생성 장치는 인코더(110)를 생성하기에 앞서 학습데이터를 전처리 할 수 있다. 분석 모델 생성 장치는 질의에 대한 토큰화를 수행하여 단어를 추출할 수 있다. 일 실시 예에서 분석 모델 생성 장치는 스페이스, 콜론, 콤마 등을 기준으로 토큰화를 수행할 수 있다. 추가적으로 분석 모델 생성 장치는 형태소 분석, 불용어 제거 등을 거쳐 전처리를 수행할 수 있다.
다음으로, 일 실시 예에서, 분석 모델 생성 장치는 CBOW(Continuous Bag of Words)를 적용하여 Word2Vec 모델을 학습시켜 나갈 수 있다. 분석 모델 생성 장치는 주변 단어의 원-핫 벡터에 따른 스코어 벡터와 중심 단어의 원-핫 벡터를 손실함수인 크로스 엔트로피(cross-entropy) 함수에 적용하고, 손실함수의 값이 0에 가까워지도록 학습과정을 진행하여 신경망의 변수를 수정함으로써 인코더(110) 모델을 생성할 수 있다.
이하, 페러프레이저(120)가 수행하는 질의 쌍의 유사도 결정 방법을 설명한다. 페러프레이저(120)는 질의 쌍으로 이루어진 입력에 대하여 질의 쌍의 유사도를 출력하는 페러프레이즈 모델이다. 분석 모델 생성 장치는 신경망 모델을 학습시켜 페러프레이즈 모델을 구축할 수 있다. 신경망 모델은 CNN, DNN, RNN 등일 수 있다.
일 실시 예에 따른 페러프레이즈 모델은 앞서 설명한 인코더(110)를 이용하여 질의의 벡터표현을 획득할 수 있다. 페러프레이즈 모델은 벡터 유사도를 평가함으로써 두개의 질의간의 유사도를 평가할 수 있다. 예를 들어, 페러프레이즈 모델은 질의의 벡터 표현을 생성하고, 유클리드 공간에서의 두 질의 벡터 간의 거리를 계산함으로써 두개의 질의간의 유사도를 평가할 수 있다. 페러프레이즈 모델은 두개의 질의 벡터의 거리가 가까운 만큼 유사하다고 결정할 수 있다.
다른 실시 예에서, 페러프레이즈 모델은 두개의 질의의 벡터 표현간의 코사인 유사도를 계산함으로써 유사도를 평가할 수도 있다. 페러프레이즈 모델은 코사인 유사도의 값이 1에 가까울수록 유사하고, -1에 가까울수록 비유사함을 결정할 수 있다.
한편, 위와 같은 방식으로 질의의 유사도를 분석하는 경우 질문의 형태는 유사하지만 일부 단어의 변경으로 전혀 다른 내용의 질의를 구성하는 경우에도 질의가 서로 유사하다고 분석될 수 있다. 예를 들어, '여기에서 시청까지 교통비가 얼마야?'라는 질의와, '여기에서 시청까지 거리가 얼마야?'라는 질의는 '교통비'와 '거리가'라는 단어 외에는 동일한 단어로 구성되어 있어서 앞서 설명한 유사도 분석 방법으로는 유사한 질의인 것으로 결정될 수 있다.
이와 같이, 페러프레이저(120)는 질의에 포함되는 단어가 유사하지만 의미적으로는 다른 내용을 가지는 질의들이 서로 비유사 함을 식별할 수 있어야 한다. 일 실시 예에 따른 페러프레이즈 모델은 샴 신경망(siamnese neural network)을 이용하며 지도학습(Supervised Learning)으로 학습될 수 있다.
도 9는 샴 신경망의 개념을 설명하는 도면이다. 샴 신경망은 동일한 신경망으로 구성된다. 분석 모델 생성 장치는 서로 같은 의미의 질의가 입력될 경우 유사한 벡터가 결과값으로 생성되고, 서로 다른 의미의 질의가 입력될 경우 비유사한 벡터가 결과값으로 생성되도록, 샴 신경망을 구성하는 변수를 변경하여 나가면서 신경망을 학습시킴으로써 페러프레이즈 모델을 생성할 수 있다. 그리하여, 페러프레이저(120)는 질의마다 생성되는 벡터값의 유사도를 분석하여 양 질의의 유사도를 결정할 수 있다. 여기서, 벡터의 유사도는 유클리드 공간에서의 거리 근접성 또는 코사인 유사도의 값이 1에 얼마나 가까운지에 기초하여 판단될 수 있다.
도 10은 본 발명의 일 실시 예에 따른 분석 모델 생성 장치가 페러프레이즈 모델을 생성하는 방법을 설명하는 순서도이다. 이하의 설명에서는 학습 데이터를 구성하는 질의는 텍스트로 표현된 것으로 설명되나, 실시 예에 따라서는 학습 데이터를 구성서는 질의는 앞서 설명된 인코더에 의하여 벡터로 표현된 것일 수도 있다.
본 발명의 일 실시 예에 따른 분석 모델 생성 장치는 유사한 단어와 구조로 구성되어 문장의 형식이 유사하고, 질의의 의미 또한 유사한 질의들로 구성된 제 1 학습데이터를 생성한다(410). 제 1 학습 데이터에는 질의 쌍과 함께 해당 질의들은 유사한 의미를 가진다는 레이블 또한 포함될 수 있다. 예를 들어, 페러프레이즈 모델의 학습을 위한 학습 데이터는 질의의 쌍과 질의 쌍의 유사도 레이블로 구성될 수 있다. 예를 들어, 학습 데이터는 (제 1 질의, 제 2 질의)로 구성되는 질의쌍과 질의쌍의 유사도 점수로 구성될 수 있다.
다음으로, 분석 모델 생성 장치는 제 1 학습데이터를 이용하여 신경망의 학습을 수행한다(S420). 분석 모델 생성 장치는 학습 진행 경과에 따라 테스트 데이터를 사용하여 학습 정도를 체크하고 과적합이 발생하기 시작할 경우 학습을 중단할 수 있다.
다음으로, 분석 모델 생성 장치는 유사한 단어와 구조로 구성되어 문장의 형식이 유사하지만, 질의의 의미가 서로 같지 않은 질의들로 구성된 제 2 학습데이터를 생성한다(430). 제 2 학습 데이터에는 질의 쌍과 함께 해당 질의들은 유사한 의미를 가지지 않는다는 레이블 또한 포함될 수 있다.
다음으로, 분석 모델 생성 장치는 제 2 학습데이터를 이용하여 신경망의 학습을 수행한다(S440). 분석 모델 생성 장치는 학습 진행 경과에 따라 테스트 데이터를 사용하여 학습 정도를 체크하고 과적합이 발생하기 시작할 경우 학습을 중단할 수 있다.
한편, S420 단계와 S440단계에서의 신경망 학습은 서로 다른 레이블을 가진 학습 데이터로 수행된다. 분석 모델 생성 장치는 학습의 효율을 높이기 위하여 제 1 학습 데이터와 제 2 학습 데이터를 섞음으로써 S420 단계와 S440 단계의 구분없이 신경망을 학습시킬 수 있다. 분석 모델 생성 장치는 예측값과 결과값 간의 오차값을 결정하기 위해 삼중항 손실함수 등을 사용할 수 있다.
다음으로, 분석 모델 생성 장치는 위와 같이 학습된 신경망에 테스트 데이터를 입력한다. 분석 모델 생성 장치는 테스트 데이터에 대하여 오차범위 내의 예측값을 발생시키는 경우, 학습된 신경망을 페러프레이즈 모델로써 사용할 수 있음을 결정할 수 있다(S450).
이하, 서버(200)의 벡터기반 검색 방법을 설명한다. 본 발명의 일 실시 예에 따른 서버(200)는 질의와 응답으로 구성된 질의 응답 쌍을 데이터베이스에 저장하고 있을 수 있으며, 질의에 대한 벡터표현인 질의 벡터 또한 질의와 응답과 함께 데이터베이스에 저장하고 있을 수 있다. 예를 들어, 서버(200)의 데이터베이스에는 (질의, 응답, 질의벡터)의 쌍이 저장되어 있을 수 있다. 질의벡터를 생성하기 위해 앞서 설명된 인코더가 사용될 수 있다. 서버(200)는 앞서 설명된 인코더를 이용하여 질의에 대한 질의 벡터를 생성할 수 있다.
도 11을 참조하여 서버(200)의 벡터기반 검색 방법을 보다 상세히 설명한다. 서버(200)는 질의를 전처리할 수 있다(S510). 일 실시 예에서 모든 대문자는 소문자로 변환될 수 있다. 불용어는 제거될 수 있다. 예를 들어, a, an, the와 같은 불용어는 제거될 수 있다. 이와 함께 형태소 분석과정을 거칠 수 있다.
다음으로, 서버(200)는 질의를 벡터화 한다(S520). 벡터화를 위해 앞서 설명한 인코더(110) 모델이 사용될 수 있다. 장치는 인코더(110) 모델을 사용하여 질의의 벡터값을 생성할 수 있다.
다음으로, 서버(200)는 데이터베이스에 벡터를 추가한다(S530). 이에 따라, 데이터베이스에 질의, 응답 및 질의에 대한 벡터값이 포함될 수 있다.
이로써, 서버(200)는 질의 벡터에 기초하여 질의 검색을 수행할 수 있다(S540). 예를 들어, 서버(200)는 사용자가 입력한 질의의 텍스트에 기초하여 동일한 질의를 검색하거나, 텍스트에 기반하여 유사한 키워드가 포함된 질의를 검색결과로 제시할 수도 있다.
또한, 서버(200)는 사용자가 입력한 질의를 벡터화하고, 생성된 벡터에 기초하여 데이터베이스를 검색하여 동일한 또는 유사한 벡터값을 가지는 질의를 사용자에게 제시할 수도 있다. 벡터의 유사도는 유클리드 공간에서의 거리 또는 코사인 유사도로 판단될 수 있다.
한편, 서버(200)는 단말(100)로부터 벡터값을 입력 받을 수도 있다. 이러한 경우, 서버(200)는 입력 받은 벡터값에 기초하여 데이터베이스를 검색하여 동일한 또는 유사한 벡터값을 가지는 질의와 그의 응답의 쌍을 단말(100)로 제공할 수 있다.
앞서 설명된 일 실시 예에 따른 검색 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예에 따라 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 플랫폼 관리 서버가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
앞선 실시예에 대한 설명에서 참조된 도면 각각은 설명의 편의를 위해 도시된 일 실시 예에 불과하며, 각 화면에 표시된 정보들의 항목, 내용과 이미지들은 다양한 형태로 변형되어 표시될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (13)

  1. 전자 장치에 의하여 수행되는 검색 방법에 있어서,
    사용자 질의에 대한 사용자 질의 벡터를 생성하는 단계;
    상기 사용자 질의 벡터와의 유사도에 기초하여 선정된 적어도 하나의 유사 질의 후보를 포함하는 유사 질의 후보군을 획득하는 단계-상기 유사 질의 후보는 제1 유사도 분석 모델을 통하여, 서버의 데이터베이스에 포함된 질의 응답 쌍에 포함된 질의 벡터와 상기 사용자 질의 벡터 간의 유사도를 분석하고, 제1 유사도 분석 결과에 기초하여 선택되며, 상기 유사 질의 후보군은 유사 질의 후보, 유사 질의 후보에 대응되는 질의 벡터, 및 질의 벡터와 상기 사용자 질의 벡터 간의 유사도 값이 포함됨-;
    제2 유사도 분석 모델을 통하여 상기 사용자 질의 벡터와 상기 유사 질의 후보군에 포함된 유사 질의 후보에 대응되는 질의 벡터 간의 유사도를 분석하고, 제2 유사도 분석 결과에 기초하여 유사 질의를 결정하는 단계; 및
    상기 유사 질의에 대한 응답을 상기 서버로부터 수신하는 단계;
    상기 수신한 유사 질의에 대한 응답에 기초하여, 상기 사용자 질의에 대한 응답을 결정하는 단계; 및
    상기 결정된 응답을 사용자에게 제공하는 단계를 포함하되,
    상기 제2 유사도 분석 모델은 제1 학습 데이터와 제2 학습 데이터를 이용하여 샴 신경망을 학습시킴으로써 생성된 페러프레이즈 모델을 포함하고,
    상기 제1 학습 데이터는 제1 질의 쌍과 상기 제1 질의 쌍이 유사함을 나타내는 레이블로 구성되고, 상기 제1 질의 쌍은 유사한 단어와 구조로 구성되어 문장의 형식이 서로 유사하고, 각 질의의 의미가 서로 유사한 질의들로 구성되며,
    상기 제2 학습 데이터는 제2 질의 쌍과 상기 제2 질의 쌍이 비유사함을 나타내는 레이블로 구성되고, 상기 제2 질의 쌍은 유사한 단어와 구조로 구성되어 문장의 형식이 서로 유사하지만, 각 질의의 의미가 서로 다른 질의들로 구성되는,
    검색 방법.
  2. 제1 항에 있어서,
    상기 사용자 질의에 대한 사용자 질의 벡터를 생성하는 단계는,
    상기 사용자 질의에 대한 답변이 상기 전자 장치의 데이터베이스에 저장되어 있지 않은 경우, 상기 사용자 질의를 벡터표현으로 변환하여 상기 사용자 질의 벡터를 생성하는 단계를 포함하는,
    검색 방법.
  3. 제1 항에 있어서,
    상기 사용자 질의에 대한 답변이 상기 전자 장치의 데이터베이스에 저장되어 있는 경우, 상기 전자 장치의 데이터베이스에 저장되어 있는 상기 사용자 질의에 대한 답변을 사용자에게 제공하는 단계를 더 포함하는,
    검색 방법.
  4. 제1 항에 있어서,
    상기 유사 질의 후보군은,
    유클리드 공간에서의 상기 사용자 질의 벡터로부터 미리 결정된 거리 내에 위치하는 데이터베이스에 포함된 질의 벡터를 상기 유사 질의 후보로 결정함으로써 획득된,
    검색 방법.
  5. 제1 항에 있어서,
    상기 유사 질의 후보군은,
    상기 사용자 질의 벡터와 상기 데이터베이스에 포함된 질의 벡터 간의 코사인 유사도에 기초하여 획득된,
    검색 방법.
  6. 제1 항에 있어서,
    상기 유사 질의 후보군은,
    상기 사용자 질의 벡터와의 유사도가 미리 설정된 기준 보다 높은 질의 벡터와 연관된 질의를 상기 유사 질의 후보로 결정함으로써 획득된,
    검색 방법.
  7. 제1 항에 있어서,
    상기 유사 질의 후보군은,
    상기 유사 질의 후보군에 속한 상기 유사 질의 후보들 간의 유사도 순서를 더 포함하는,
    검색 방법.
  8. 제1 항에 있어서,
    상기 유사 질의를 결정하는 단계는,
    상기 유사 질의 후보에 대응되는 질의 벡터와 상기 사용자 질의 벡터 간의 제2 유사도 분석 결과에 기초하여 상기 유사 질의 후보군에 속한 유사 질의 후보를 등급화하는 단계; 및
    등급별로 유사 질의를 선정하는 단계를 포함하는,
    검색 방법.
  9. 제1 항에 있어서,
    상기 유사 질의를 결정하는 단계는,
    상기 유사 질의 후보에 대응되는 질의 벡터와 상기 사용자 질의 벡터 간의 제2 유사도 분석 결과에 기초하여 상기 유사 질의 후보군에 속한 유사 질의 후보의 유사도 순위를 결정하는 단계; 및
    상기 유사도 순위에 따라 미리 결정된 수의 유사 질의 후보를 유사 질의로 선정하는 단계를 포함하는,
    검색 방법.
  10. 제1 항에 있어서,
    상기 결정된 응답을 사용자에게 제공하는 단계는,
    상기 결정된 응답 및 상기 결정된 응답에 대응하는 유사 질의를 함께 사용자에게 제공하는 단계를 더 포함하는,
    검색 방법.
  11. 제1 항에 있어서,
    상기 제1 유사도 분석 모델과 상기 제2 유사도 분석 모델은 신경망 모델의 구성이 서로 다르거나 은닉계층을 구성하는 변수의 값이 서로 다른,
    검색 방법.
  12. 프로세서; 및
    상기 프로세서에 의하여 실행되는 명령어를 저장하는 메모리를 포함하고,
    상기 프로세서는 상기 명령어를 수행하는 것에 의하여,
    사용자 질의에 대한 사용자 질의 벡터를 생성하고,
    상기 사용자 질의 벡터와의 유사도에 기초하여 선정된 적어도 하나의 유사 질의 후보-상기 유사 질의 후보는 제1 유사도 분석 모델을 통하여, 서버의 데이터베이스에 포함된 질의 응답 쌍에 포함된 질의 벡터와 상기 사용자 질의 벡터 간의 유사도를 분석하고, 제1 유사도 분석 결과에 기초하여 선택됨-를 포함하는 유사 질의 후보군-상기 유사 질의 후보군은 유사 질의 후보, 유사 질의 후보에 대응되는 질의 벡터, 및 질의 벡터와 상기 사용자 질의 벡터 간의 유사도 값이 포함됨-을 획득하고,
    제2 유사도 분석 모델을 통하여 상기 사용자 질의 벡터와 상기 유사 질의 후보군에 포함된 유사 질의 후보에 대응되는 질의 벡터 간의 유사도를 분석하고, 제2 유사도 분석 결과에 기초하여 유사 질의를 결정하고,
    상기 유사 질의에 대한 응답을 상기 서버로부터 수신하고,
    상기 수신한 유사 질의에 대한 응답에 기초하여, 상기 사용자 질의에 대한 응답을 결정하고,
    상기 결정된 응답을 사용자에게 제공하되,
    상기 제2 유사도 분석 모델은 제1 학습 데이터와 제2 학습 데이터를 이용하여 샴 신경망을 학습시킴으로써 생성된 페러프레이즈 모델을 포함하고,
    상기 제1 학습 데이터는 제1 질의 쌍과 상기 제1 질의 쌍이 유사함을 나타내는 레이블로 구성되고, 상기 제1 질의 쌍은 유사한 단어와 구조로 구성되어 문장의 형식이 서로 유사하고, 각 질의의 의미가 서로 유사한 질의들로 구성되며,
    상기 제2 학습 데이터는 제2 질의 쌍과 상기 제2 질의 쌍이 비유사함을 나타내는 레이블로 구성되고, 상기 제2 질의 쌍은 유사한 단어와 구조로 구성되어 문장의 형식이 서로 유사하지만, 각 질의의 의미가 서로 다른 질의들로 구성되는,
    검색 장치.
  13. 제1 항 내지 제11 항 중 어느 한 항에 따른 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020240045321A 2020-09-17 2024-04-03 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치 KR20240049526A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240045321A KR20240049526A (ko) 2020-09-17 2024-04-03 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020200119565A KR102457985B1 (ko) 2020-09-17 2020-09-17 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치
KR1020220134621A KR102655808B1 (ko) 2020-09-17 2022-10-19 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치
KR1020240045321A KR20240049526A (ko) 2020-09-17 2024-04-03 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220134621A Division KR102655808B1 (ko) 2020-09-17 2022-10-19 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치

Publications (1)

Publication Number Publication Date
KR20240049526A true KR20240049526A (ko) 2024-04-16

Family

ID=80935673

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200119565A KR102457985B1 (ko) 2020-09-17 2020-09-17 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치
KR1020220134621A KR102655808B1 (ko) 2020-09-17 2022-10-19 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치
KR1020240045321A KR20240049526A (ko) 2020-09-17 2024-04-03 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020200119565A KR102457985B1 (ko) 2020-09-17 2020-09-17 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치
KR1020220134621A KR102655808B1 (ko) 2020-09-17 2022-10-19 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치

Country Status (1)

Country Link
KR (3) KR102457985B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102612538B1 (ko) * 2023-09-18 2023-12-12 김대훈 인공신경망 기반의 검색 증강 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110134909A (ko) 2009-03-13 2011-12-15 인벤션 머신 코포레이션 텍스트 문서들 및 사용자 질문들의 의미적 라벨링에 기초한 질문-응답 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102146031B1 (ko) * 2017-11-23 2020-08-28 주식회사 케이티 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
KR102137809B1 (ko) * 2018-09-19 2020-07-24 네이버 주식회사 자동 답변 제공 방법
JP6799152B1 (ja) * 2018-10-24 2020-12-09 アドバンスド ニュー テクノロジーズ カンパニー リミテッド クリックグラフ上のベクトル伝播モデルに基づくインテリジェントなカスタマーサービス

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110134909A (ko) 2009-03-13 2011-12-15 인벤션 머신 코포레이션 텍스트 문서들 및 사용자 질문들의 의미적 라벨링에 기초한 질문-응답 시스템 및 방법

Also Published As

Publication number Publication date
KR102655808B1 (ko) 2024-04-08
KR20220037064A (ko) 2022-03-24
KR20220145318A (ko) 2022-10-28
KR102457985B1 (ko) 2022-10-31

Similar Documents

Publication Publication Date Title
CN110196901B (zh) 对话系统的构建方法、装置、计算机设备和存储介质
Iyer et al. Learning a neural semantic parser from user feedback
US20180260472A1 (en) Automated tool for question generation
US11288265B2 (en) Method and apparatus for building a paraphrasing model for question-answering
KR20190133931A (ko) 문장 패러프레이즈 인식 기반 대화 시스템 답변 방법
CN110377916B (zh) 词预测方法、装置、计算机设备及存储介质
US20230237084A1 (en) Method and apparatus for question-answering using a database consist of query vectors
KR20240049526A (ko) 페러프레이저 모델을 이용한 질의 응답 검색 방법 및 검색 장치
Rei et al. Auxiliary objectives for neural error detection models
CN113282711B (zh) 一种车联网文本匹配方法、装置、电子设备及存储介质
CN112328800A (zh) 自动生成编程规范问题答案的系统及方法
KR102434294B1 (ko) 질의 응답을 위한 페러프레이저 모델 생성 방법, 장치, 및 시스템
CN114218379A (zh) 一种面向智能问答系统的无法回答问题的归因方法
Nassiri et al. Arabic L2 readability assessment: Dimensionality reduction study
KR20220037059A (ko) 질의 벡터에 대한 다중 유사도 판단을 이용한 검색 방법 및 검색 장치
US20210165800A1 (en) Method and apparatus for question-answering using a paraphrasing model
Arbaaeen et al. Natural language processing based question answering techniques: A survey
CN113361252B (zh) 基于多模态特征和情感词典的文本抑郁倾向检测系统
KR20220037060A (ko) 질의 벡터로 구성된 데이터베이스를 이용한 검색 방법 및 검색 장치
Karpagam et al. Deep learning approaches for answer selection in question answering system for conversation agents
Nguyen et al. A model of convolutional neural network combined with external knowledge to measure the question similarity for community question answering systems
CN115658845A (zh) 一种适用于开源软件供应链的智能问答方法及装置
CN113157932B (zh) 基于知识图谱表示学习的隐喻计算和装置
Luo Automatic short answer grading using deep learning
Iswari et al. Enhancing Aspect-based Sentiment Analysis in Visitor Review using Semantic Similarity

Legal Events

Date Code Title Description
A107 Divisional application of patent