KR20210109208A - 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램 - Google Patents

질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210109208A
KR20210109208A KR1020200024173A KR20200024173A KR20210109208A KR 20210109208 A KR20210109208 A KR 20210109208A KR 1020200024173 A KR1020200024173 A KR 1020200024173A KR 20200024173 A KR20200024173 A KR 20200024173A KR 20210109208 A KR20210109208 A KR 20210109208A
Authority
KR
South Korea
Prior art keywords
sentence
query
probabilistic model
user
intention
Prior art date
Application number
KR1020200024173A
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 KR1020200024173A priority Critical patent/KR20210109208A/ko
Publication of KR20210109208A publication Critical patent/KR20210109208A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

질의 응답 서비스를 제공하는 서버는 예제 질의 문장, 예제 질의 문장에 대응하는 예제 응답 문장 및 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키는 모델 학습부, 사용자 단말로부터 사용자 질의 문장을 수신하는 수신부, 의도별 확률 모델에 기초하여 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 문장별 확률 모델에 기초하여 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 사용자 질의 문장에 대응하는 응답 문장으로 도출하는 응답 도출부 및 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 단말에게 전송하는 전송부를 포함할 수 있다.

Description

질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램{QUERY-RESPONSE SERVICE FOR PROVIDING SERVER, METHOD AND COMPUTER PROGRAM}
본 발명은 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.
기존의 대화 응답 추론 방식에는 태스크(TASK)형 의도(Intent) 추론 방식과 질의 유사도 추론 방식 등이 있다. 여기서, 태스크형 추론 방식은 대화 의도를 추론하여 답변하는 방식이고, 질의 유사도 추론 방식은 IR(Information Retrieval)을 활용하여 답변을 탐색하는 방식이다.
태스크형 의도 추론 방식의 경우, 사전과 패턴으로 질문 의도를 추론하기 때문에 모든 발화를 구축할 필요가 없다. 하지만, 지배적인 핵심 단어나 명령단어가 없는 암묵적인 문장이나 일상적인 문장으로부터 질문 의도를 추론하기 어렵고, 이러한 문장들을 규칙 패턴으로 제공하게 되면 오분류나 오해석의 가능성이 높아지는 단점이 있다.
질의 유사도 추론 방식의 경우, 질의 및 이에 대응하는 응답을 포함하는 데이터 셋을 구축하여 대화 서비스를 제공할 수 있다. 하지만, 임계치 기준을 높이면 질문에 대한 응답 정확도는 향상되나 가용 커버리지가 낮아지고, 임계치 기준을 낮추면 질문 의도가 다르거나 질문과 연관이 낮은 응답이 도출될 수 있고, 많은 발화들을 일일이 구축해야 한다는 단점이 있다.
한국공개특허공보 제2010-0113423호 (2010.10.21. 공개)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 의도별 확률 모델에 기초하여 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 도출된 복수의 예제 질의 문장 중 문장별 확률 모델에 기초하여 적어도 하나의 예제 질의 문장을 선택하고, 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 질의 문장에 대응하는 응답 문장으로서 사용자 단말에게 전송하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 질의 응답 서비스를 제공하는 서버는 예제 질의 문장, 상기 예제 질의 문장에 대응하는 예제 응답 문장 및 상기 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키는 모델 학습부; 사용자 단말로부터 사용자 질의 문장을 수신하는 수신부; 상기 의도별 확률 모델에 기초하여 상기 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 상기 문장별 확률 모델에 기초하여 상기 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 상기 사용자 질의 문장에 대응하는 응답 문장으로 도출하는 응답 도출부; 및 상기 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 상기 사용자 단말에게 전송하는 전송부를 포함할 수 있다.
본 발명의 제 2 측면에 따른 질의 응답 서비스를 제공하는 방법은 예제 질의 문장, 상기 예제 질의 문장에 대응하는 예제 응답 문장 및 상기 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키는 단계; 사용자 단말로부터 사용자 질의 문장을 수신하는 단계; 상기 의도별 확률 모델에 기초하여 상기 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 상기 문장별 확률 모델에 기초하여 상기 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 상기 사용자 질의 문장에 대응하는 응답 문장으로 도출하는 단계; 및 상기 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 상기 사용자 단말에게 전송하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따른 질의 응답 서비스를 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 예제 질의 문장, 상기 예제 질의 문장에 대응하는 예제 응답 문장 및 상기 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키고, 사용자 단말로부터 사용자 질의 문장을 수신하고, 상기 의도별 확률 모델에 기초하여 상기 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 상기 문장별 확률 모델에 기초하여 상기 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 상기 사용자 질의 문장에 대응하는 응답 문장으로 도출하고, 상기 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 상기 사용자 단말에게 전송하는 명령어들의 시퀀스를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 의도별 확률 모델에 기초하여 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 도출된 복수의 예제 질의 문장 중 문장별 확률 모델에 기초하여 적어도 하나의 예제 질의 문장을 선택하고, 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 질의 문장에 대응하는 응답 문장으로서 사용자 단말에게 전송할 수 있다.
이를 통해, 본 발명은 의도별 확률 모델 및 문장별 확률 모델을 함께 활용함으로써 사용자 질의에 대응하는 응답 도출에 대한 추론 오류를 해소할 수 있고, 응답 도출의 정확도를 높일 수 있고, 커버리지가 높은 응답을 추론할 수 있다.
또한, 본 발명은 사용자 질의에 대응하는 응답 도출에 추가적으로 대화이력정보를 활용하여 응답 도출의 정확도를 더 향상시키고, 커버리지 높은 대화 응답을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 질의 응답 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 질의 응답 제공 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 예제 데이터를 나타낸 예시 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른, 사용자 질의 문장에 따라 응답 문장을 도출하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 질의 응답 서비스의 제공 방법을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 문장별 확률 모델 및 의도별 확률 모델을 학습시키는 방법을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른, 사용자 질의 문장에 대응하는 응답 문장을 도출하는 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 질의 응답 서비스 제공 시스템의 구성도이다.
도 1을 참조하면, 질의 응답 서비스 제공 시스템은 질의 응답 제공 서버(100) 및 사용자 단말(110)을 포함할 수 있다. 다만, 이러한 도 1의 질의 응답 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
일반적으로, 도 1의 질의 응답 서비스 제공 시스템의 각 구성요소들은 네트워크(미도시)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
본 발명은 기존의 태스크(TASK)형 의도 추론 방식과 질의 유사도 추론 방식의 장점을 결합한 추론 방식이다.
기존의 태스크형 의도 추론 방식은 질의 문장의 의도를 예측할 수 있는 패턴을 정교하게 구축함으로써 정확도를 향상시키며, 미리 정의된 임계치 기준을 통해 최종 응답을 필터링한다. 이러한 태스크형 의도 추론 방식은 어휘 정보에 기반한 규칙 탐색 방법을 사용하기 때문에 사전에 어휘 사전을 구축해야 하고, 해석되는 문장의 의도가 명확히 예측되어야 하며, 사용되는 문장 구성의 형태가 명확히 정의되어 있어야 한다. 예를 들어, 가래가 심할 경우에 대한 질문에 있어서, '가래 치료법 알려줘' 라는 문장으로 예측을 할 수 있어야 하고, 이러한 상황에서, '가래'와 같이 특정 불편 사항을 대표할 수 있는 대표어가 필요하며, 추가적으로 '치료법', '알려줘'와 같이 해당 문장에서 의도를 대표할 수 있는 의미어들을 사전에 예측할 수 있어야 한다.
기존의 질의 유사도 추론 방식은 '질의 문장 및 응답' 기반의 데이터를 기반으로 질의문의 어휘정보를 분석하여 사전에 정의된 데이터와 비교하여 가장 유사한 문장을 찾고, 해당 유사도가 미리 정의된 임계치 기준 이상일 경우에 최종 답변을 선택한다. 이러한, 질의 유사도 추론 방식의 경우, 매우 많은 예제의 문장셋이 필요하다. 대용량의 문장셋 중 사용자 질의 문장과 가장 유사한 문장을 찾아서 관련 답변을 활용하는 방식이기 때문에 사전에 많은 데이터를 구축해야만 답변의 정확도를 높일 수 있으며, 이 과정에서 많은 비용이 소모된다. 하지만, 유사한 예제를 구축하지 못하게 되면, 사용자 질의 문장에 대한 분석이 불가능하게 된다.
태스크형 의도 추론 방식과 질의 유사도 추론 방식를 비교하면, 태스크형 의도 추론 방식은 규칙에 따른 우선순위에 대한 정확도를 갖고 있고, 질의 유사도 추론 방식은 질의문과 예제문의 문장 유사도에 대한 정확도를 갖고 있다.
따라서 이 두 방식에서의 정확도는 서로 다른 의미를 가지고 있으므로 단순히 두 방식을 실행하여 각 정확도 값을 비교한다고 하여 질의에 대한 답변의 적합성 순위를 판단할 수 없다.
따라서, 본 발명은 태스크형 의도 추론 방식과 질의 유사도 추론 방식의 결과를 비교할 수 있도록 하여 태스크형 의도 추론 방식과 질의 유사도 추론 방식의 장점만을 활용할 수 있는 방법을 제공할 수 있다.
구체적으로, 질의 응답 제공 서버(100)는 예제 질의 문장, 예제 질의 문장에 대응하는 예제 응답 문장 및 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 복수의 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시킬 수 있다.
질의 응답 제공 서버(100)는 사용자 단말(110)로부터 사용자 질의 문장을 수신한 경우, 의도별 확률 모델에 기초하여 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출할 수 있다.
질의 응답 제공 서버(100) 문장별 확률 모델에 기초하여 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 사용자 질의 문장에 대응하는 응답 문장으로서 선택할 수 있다.
질의 응답 제공 서버(100)는 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 단말(110)에게 전송할 수 있다.
이하에서는 도 1의 질의 응답 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 질의 응답 제공 서버(100)의 블록도이다.
도 2를 참조하면, 질의 응답 제공 서버(100)는 모델 학습부(200), 문장 구성 생성부(210), 수신부(220), 사용자 질의 분석부(230), 응답 도출부(240), 전송부(250) 및 업데이트부(260)를 포함할 수 있다. 다만, 도 2에 도시된 질의 응답 제공 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
이하에서는 도 3 내지 4b를 함께 참조하여 도 2를 설명하기로 한다.
예제 데이터 생성부(미도시)는 복수의 분야 별로 복수의 예제 데이터를 생성할 수 있다. 여기서, 복수의 예제 데이터 각각은 예제 질의 문장, 예제 질의 문장에 대응하는 예제 응답 문장, 예제 질의 문장에 태깅되는 질의 의도 정보와 대화 흐름에 따른 인컨텍스 정보 및 아웃컨텍스트 정보를 포함할 수 있다.
예를 들어, 도 3을 참조하면, 예제 데이터 생성부(미도시)는 의학 분야와 관련된 복수의 예제 질의 문장을 생성하고, 생성된 각 예제 질의 문장에 대응하는 예제 응답 문장 및 예제 질의 문장의 질의 의도 정보를 각 예제 질의 문장에 태깅할 수 있다. 예를 들어, 예제 데이터 생성부(미도시)는 '가래 치료하는 법 알려줘'를 포함하는 제 1 예제 질의 문장에 '그럼 기침을 두 세 차례 세게 해보세요'를 포함하는 제 1 예제 응답 문장을 태깅하고, 제 1 예제 질의 문장의 질의 의도 정보인 'QueryCure'를 태깅할 수 있다. 또한, 예제 데이터 생성부(미도시)는 '그대로인데'를 포함하는 제 2 예제 질의 문장에 '혹시 가래 관련된 다른 정보를 더 안내해 드릴까요'를 포함하는 제 2 예제 응답 문장을 태깅하고, 제 2 예제 질의 문장의 질의 의도 정보인 'QueryCure'를 태깅할 수 있다.
예제 데이터 생성부(미도시)는 대화 흐름에 따라 복수의 예제 질의 문장별로 인컨텍스트 정보 및 아웃컨텍스트 정보를 설정할 수 있다. 또한, 예제 데이터 생성부(미도시)는 대화 흐름 상에서 특정 예제 질의 문장이 문장의 시작을 나타내는 경우, 해당 특정 예제 질의 문장의 인컨텍스 정보를 널(NULL) 값(공백을 의미)으로 설정할 수 있다. 또한, 예제 데이터 생성부(미도시)는 대화 흐름 상에서 특정 예제 질의 문장이 문장의 끝을 나타내는 경우, 해당 특정 예제 질의 문장의 아웃컨텍스트 정보를 널 값으로 설정할 수 있다. 예를 들어, 제 1 예제 응답 문장('가래 치료하는 법 알려줘')은 문장의 시작을 나타내므로 제 1 예제 응답 문장의 인컨텍스 정보는 널 값으로 설정되고, 제 4 예제 응답 문장('아니')은 문장의 끝을 나타내므로, 제 4 예제 응답 문장의 아웃컨텍스트 정보는 널 값으로 설정될 수 있다.
또한, 예제 데이터 생성부(미도시)는 대화 흐름 상 문장의 시작 또는 끝을 나타내지 않은 복수의 예제 질의 문장의 경우, 대화 흐름이 진행되는 순서에 맞게 예제 질의 문장의 아웃컨텍스트 정보를 해당 예제 질의 문장 다음에 이어지는 다른 예제 질의 문장의 인컨텍스트 정보에 설정할 수 있다. 예를 들어, 제 1 예제 질의 문장('가래 치료하는 법 알려줘')은 문장의 시작을 나타내기 때문에 제 1 예제 질의 문장의 아웃컨텍스트 정보에는 시작 단계(제 1 단계)를 의미하는 단어(예컨대, Cure01)가 설정될 수 있다. 대화 흐름 상 제 1 예제 질의 문장의 예제 응답 문장('그럼 기침을 두 세 차례 세게 해보세요') 다음에 이어지는 제 2 예제 질의 문장('그대로인데')의 인컨텍스트 정보에는 제 1 예제 질의 문장의 아웃컨텍스트 정보에 대응하는 Cure01가 설정될 수 있다. 또한, 제 2 예제 질의 문장의 아웃컨텍스트 정보가 Cure02로 설정되면, 제 3 예제 질의 응답의 인컨텍스 정보에는 제 2 예제 질의 문장의 아웃컨텍스트 정보에 대응하는 Cure02가 설정될 수 있다.
예제 데이터 생성부(미도시)는 각 예제 질의 문장 마다 설정된 인컨텍스트 정보 및 아웃컨텍스트 정보를 각 예제 질의 문장에 태깅할 수 있다. 또한, 예제 데이터 생성부(미도시)는 예제 질의 문장별로 예제 질의 문장에 대응하는 예제 응답 문장, 예제 질의 문장에 태깅되는 질의 의도 정보와 인컨텍스 정보 및 아웃컨텍스트 정보를 태깅하여 복수의 예제 데이터를 생성할 수 있다.
문장 구성 생성부(210)는 각 예제 데이터에 포함된 인컨텍스트 정보 및 아웃컨텍스트 정보에 기초하여 예제 데이터 간의 문장 순서를 결정하고, 결정된 문장 순서에 기초하여 적어도 하나의 대화 문장 구성을 생성할 수 있다.
예를 들어, 도 3을 참조하면, 문장 구성 생성부(210)는 각 예제 데이터(301 내지 309)에 포함된 인컨텍스 정보 및 아웃컨텍스트 정보에 기초하여 제 1 예제 데이터(301), 제 2 예제 데이터(303), 제 3 예제 데이터(305) 및 제 5 예제 데이터(309) 순으로 제 1 대화 문장 구성을 생성할 수 있다. 또한, 문장 구성 생성부(210)는 각 예제 데이터(301 내지 309)에 포함된 인컨텍스 정보 및 아웃컨텍스트 정보에 기초하여 제 1 예제 데이터(301), 제 2 예제 데이터(303) 및 제 4 예제 데이터(307) 순으로 제 2 대화 문장 구성을 생성할 수 있다.
예제 데이터 생성부(미도시)는 각 대화 문장 구성을 이루는 복수의 예제 데이터에 포함된 예제 질의 문장 및 예제 응답 문장 각각에 대하여 형태소 분석을 수행할 수 있다. 또한, 예제 데이터 생성부(미도시)는 형태소 분석 결과 및 기정의된 개체 사전을 이용하여 각 예제 데이터에 포함된 예제 질의 문장 및 예제 응답 문장 각각에 개체명 및 형태소를 태깅할 수 있다. 이 때, 예제 질의 문장 및 예제 응답 문장에 태깅된 개체명 및 형태소를 포함하는 구성 조건 정보는 예제 데이터 별로 데이터베이스에 저장될 수 있다.
모델 학습부(200)는 대화 문장 구성에 기초하여 예제 데이터에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 도출된 벡터 평균값에 기초하여 제 1 확률 정보 데이터를 구축할 수 있다. 또한, 모델 학습부(200)는 각 예제 데이터 내에서 이전 문장이 존재하게 되면, 현재 문장에 해당하는 특정 예제 데이터와 이전 문장에 해당하는 특정 예제 데이터의 거리에 따라 각 예제 데이터의 단어 벡터 평균값에 가중치를 다르게 부여할 수 있다.
예를 들어, 도 3을 참조하면, 제 1 예제 데이터(301), 제 2 예제 데이터(303) 및 제 4 예제 데이터(307)의 순으로 구성된 제 2 대화 문장 구성에서, 제 4 예제 데이터(307)의 이전 문장은 제 1 예전 데이터(301) 및 제 2 예제 데이터(309)가 된다.
제 2 대화 문장 구성(제 1 예제 데이터(301)→제 2 예제 데이터(303) → 제 4 예제 데이터(307))의 경우, 모델 학습부(200)는 제 1 예제 데이터(301)에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 제 2 예제 데이터(303)에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 제 4 예제 데이터(307)에 포함된 각 단어에 대한 벡터 평균값을 도출할 수 있다. 이 때, 제 2 대화 문장 구성에서 제 4 예제 데이터(307)에 포함된 각 단어에 대한 벡터 평균값을 도출하는 경우, 제 4 예제 데이터(307)의 이전 문장(제 1 예제 데이터(301)와 제 2 예제 데이터(303)) 중 제 4 예제 데이터(307)와 거리가 가장 가까운 문장인 제 2 예제 데이터(303)의 단어 벡터 평균값에 제 1 가중치를 부여하고, 제 4 예제 데이터(307)와 거리가 먼 문장인 제 1 예제 데이터(301)의 단어 벡터 평균값에 제 1 가중치보다 낮은 제 2 가중치를 부여할 수 있다.
모델 학습부(200)는 각 예제 데이터에 태깅된 질의 의도 정보에 기초하여 예제 데이터를 분류하고, 분류된 각 예제 데이터에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 도출된 벡터 평균값에 기초하여 제 2 확률 정보 데이터를 구축할 수 있다. 예를 들어, 모델 학습부(200)는 복수의 분야에 따라 생성된 복수의 예제 데이터 중 동일한 질의 의도 정보를 갖는 예제 데이터를 클러스터링하고, 클러스터링된 각 예제 데이터에 포함된 각 단어에 대한 평균값을 도출할 수 있다. 예를 들어, 도 3을 참조하면, 모델 학습부(200)는 질의 의도 정보가 'QueryCure'인 제 1 예제 데이터(301), 제 2 예제 데이터(303), 제 3 예제 데이터(305), 제 4 예제 데이터(307) 및 제 5 예제 데이터(309)를 동일 그룹으로 클러스터링할 수 있다. 또한, 모델 학습부(200)는 질의 의도 정보가 동일한 복수의 예제 데이터(301 내지 309)에 대한 단어 벡터 평균값을 도출할 수 있다.
모델 학습부(200)는 예제 질의 문장, 예제 질의 문장에 대응하는 예제 응답 문장 및 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시킬 수 있다.
모델 학습부(200)는 제 1 확률 정보 데이터에 기초하여 문장별 확률 모델을 학습시키고, 제 2 확률 정보 데이터에 기초하여 의도별 확률 모델을 학습시킬 수 있다.
수신부(220)는 사용자 단말(110)로부터 사용자 질의 문장을 수신할 수 있다.
사용자 질의 분석부(230)는 사용자 질의 문장에 대한 형태소 분석에 기초하여 사용자 질의 문장에 포함된 각 단어에 대한 단어 벡터 평균값을 도출할 수 있다.
사용자 질의 분석부(230)는 사용자 질의 문장에 대한 형태소 분석 결과 및 기정의된 개체 사전에 기초하여 사용자 질의 문장과 연관된 개체명을 추출하고, 추출된 개체명을 사용자 질의 문장에 태깅할 수 있다.
응답 도출부(240)는 학습된 의도별 확률 모델에 기초하여 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출할 수 있다.
응답 도출부(240)는 학습된 의도별 확률 모델을 이용하여 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 질의 의도 정보가 태깅된 복수의 예제 질의 문장을 도출할 수 있다.
구체적으로, 응답 도출부(240)는 사용자 질의 문장의 단어 벡터 평균값과 질의 의도 정보 별로 클러스터링된 복수의 예제 질의 문장의 단어 벡터 평균값 간의 유사도를 [수학식 1]을 통해 계산할 수 있다.
[수학식 1]
Figure pat00001
응답 도출부(240)는 학습된 의도별 확률 모델을 통해 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 갖는 질의 의도 정보를 판단하고, 판단된 질의 의도 정보가 태깅된 복수의 예제 질의 문장을 도출할 수 있다.
응답 도출부(240)는 의도별 확률 모델을 통해 질의 의도 정보가 태깅된 복수의 예제 질의 문장이 도출되면, 문장별 확률 모델에 기초하여 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 사용자 질의 문장에 대응하는 응답 문장으로 도출할 수 있다.
응답 도출부(240)는 의도별 확률 모델을 통해 도출된 질의 의도 정보가 태깅된 복수의 예제 질의 문장 중 문장별 확률 모델을 이용하여 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 예제 질의 문장을 도출할 수 있다. 이 때, 문장별 확률 모델을 통해 도출된 예제 질의 문장에 태깅된 인컨텍스트 정보와 사용자 질의 문장이 포함된 대화 이력 정보의 컨텍스트 정보가 일치할 경우, 의도별 확률 모델을 통해 도출된 질의 의도 정보가 태깅된 복수의 예제 질의 문장 각각의 단어 벡터 평균값에 추가 가중치를 부여할 수 있다.
업데이트부(260)는 선택된 예제 질의 문장에 태깅된 아웃컨텍스트 정보 및 사용자 단말(110) 및 질의 응답 제공 서버(100)와의 대화 이력 정보를 업데이트할 수 있다. 여기서, 대화 이력 정보는 현재 사용자 질의 문장에 대한 컨텍스트를 나타내고, 이전 사용자 질의 문장에 따라 도출된 예제 질의 문장에 태깅된 아웃컨텍스트 정보를 활용하여 업데이트될 수 있다. 또한, 대화 이력 정보는 현재 사용자 질의 문장에 대한 응답이 추론된 후에 반영되어야 할 상황 정보들과 이전 사용자 질의 문장에 대한 상황 정보들이 함께 저장된다. 또한, 대화 이력 정보는 현재 상황에 따라 판단될 현재 사용자 질의 문장에 대한 상황을 표현할 수 있는 정보로서 정리되어 저장된다.
전송부(250)는 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 단말(110)에게 전송할 수 있다.
잠시 도 3 내지 도 4b를 참조하여 사용자 질의 문장에 대응하는 응답 문장을 도출하는 방법을 설명하기로 한다.
도 3 및 도 4a를 함께 참조하면 사용자 질의 분석부(230)는 사용자 단말(110)로부터 '가래 치료법 알려줘'를 포함하는 제 1 사용자 질의 문장(401)을 수신한 경우, 제 1 사용자 질의 문장(401)의 형태소를 분석하여 제 1 사용자 질의 문장(401)에 포함된 각 단어에 대한 단어 벡터 평균값(
Figure pat00002
)을 도출할 수 있다.
응답 도출부(240)는 질의 응답 제공 서버(100)와 사용자 단말(110) 간에 대화 이력 정보가 존재하지 않은 경우, 거리 가중치의 적용 없이 제 1 사용자 질의 문장(401)의 단어 벡터 평균값(
Figure pat00003
)을 후속 프로세스에서 그대로 이용할 수 있다.
응답 도출부(240)는 의도별 확률 모델을 통해, 기등록된 복수의 질의 의도 정보 중 제 1 사용자 질의 문장(401)의 단어 벡터 평균값과 기설정된 유사도 이상을 갖는 질의 의도 정보인 'QueryCure'를 도출할 수 있다.
응답 도출부(240)는 도출된 'QueryCure' 질의 의도 정보가 태깅된 복수의 예제 질의 문장 중 제 1 사용자 질의 문장(401)의 단어 벡터 평균값과 기설정된 유사도 이상을 갖는 예제 질의 문장인 '가래 치료하는 법 알려줘(no.1)'을 문장별 확률 모델을 통해 도출할 수 있다.
전송부(250)는 도출된 예제 질의 문장인 '가래 치료하는 법 알려줘(no.1)'에 태깅된 예제 응답 문장인 '그럼 기침을 두 세 차례 세게 해보세요'를 사용자 단말(110)에게 전송할 수 있다.
업데이트부(260)는 도출된 예제 질의 문장인 '가래 치료하는 법 알려줘(no.1)'에 태깅된 아웃컨텍스트 정보에 해당하는 'Cure01'를 대화 이력 정보의 컨텍스트에 추가할 수 있다. 또한, 업데이트부(260)는 제 1 사용자 질의 문장(401)과 이에 대응하여 설정된 제 1 거리 가중치(a)를 대화 이력 정보의 컨텍스트에 추가할 수 있다. 대화 이력 정보는 <context= Cure01, ["가래 치료하는 법 알려줘", 제 1 거리 가중치(a)]>가 저장될 수 있다.
도 3 및 도 4b를 함께 참조하면, 사용자 질의 분석부(230)는 사용자 단말(110)로부터 '그대로인 걸'을 포함하는 제 2 사용자 질의 문장(403)을 추가로 수신한 경우, 제 2 사용자 질의 문장(403)의 형태소 분석에 기초하여 제 2 사용자 질의 문장(403)에 포함된 각 단어에 대한 단어 벡터 평균값(
Figure pat00004
)을 도출할 수 있다.
응답 도출부(240)는 질의 응답 제공 서버(100)와 사용자 단말(110) 간에 대화 이력 정보에 포함된 제 1 사용자 질의 문장(401)의 단어 벡터 평균값에 대한 제 1 거리 가중치(a*
Figure pat00005
)를 적용하여, 가중치가 적용된 제 2 사용자 질의 문장(403)의 최종 단어 벡터 평균값(
Figure pat00006
+a*
Figure pat00007
)을 구할 수 있다.
응답 도출부(240)는 의도별 확률 모델을 통해 기등록된 복수의 질의 의도 정보 중 제 2 사용자 질의 문장(403)의 최종 단어 벡터 평균값과 기설정된 유사도 이상을 갖는 질의 의도 정보인 'QueryCure'를 도출할 수 있다.
응답 도출부(240)는 도출된 'QueryCure' 질의 의도 정보가 태깅된 복수의 예제 질의 문장 중 제 2 사용자 질의 문장(403)의 최종 단어 벡터 평균값 (
Figure pat00008
+a*
Figure pat00009
)와 기설정된 유사도 이상인 단어 벡터 평균값을 갖는 예제 질의 문장인 '그대로인데(no.2)'을 문장별 확률 모델을 통해 도출할 수 있다.
전송부(250)는 도출된 예제 질의 문장인 '그대로인데(no.2)'에 태깅된 예제 응답 문장인 '혹시 가래 관련된 다른 정보를 더 안내해 드릴까요?'를 사용자 단말(110)에게 전송할 수 있다.
업데이트부(260)는 도출된 예제 질의 문장인 '그대로인데(no.2)'에 태깅된 아웃컨텍스트 정보에 해당하는 'Cure02'를 대화 이력 정보의 컨텍스트에 추가할 수 있다. 또한, 업데이트부(260)는 제 2 사용자 질의 문장(403)과 이에 대응하여 설정된 제 1 거리 가중치(a)를 대화 이력 정보의 컨텍스트에 추가하고, 대화 이력 정보에서 제 1 사용자 질의 문장(401)의 거리 가중치를 제 1 거리 가중치에서 제 2 거리 가중치(b, 제 1 거리 가중치보다 작음)로 변경할 수 있다. 대화 이력 정보는 <context= Cure02, ["가래 치료하는 법 알려줘", 제 2 거리 가중치(b)], ["그대로인 걸", a]>가 저장될 수 있다.
한편, 기존에는 태스크형 의도 추론 방식과 질의 유사도 추론 방식 각각의 프로세스가 따로 동작하였으나, 본 발명은 문장에 포함된 각 단어에 대한 단어 벡터 평균값을 활용하기 때문에 태스크형 의도 추론 방식과 질의 유사도 추론 방식을 하나로 통합할 수 있다.
한편, 당업자라면, 모델 학습부(200), 문장 구성 생성부(210), 수신부(220), 사용자 질의 분석부(230), 응답 도출부(240), 전송부(250) 및 업데이트부(260) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 5는 본 발명의 일 실시예에 따른, 질의 응답 서비스의 제공 방법을 나타낸 흐름도이다.
도 5를 참조하면, 단계 S501에서 질의 응답 제공 서버(100)는 예제 질의 문장, 예제 질의 문장에 대응하는 예제 응답 문장 및 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시킬 수 있다.
단계 S503에서 질의 응답 제공 서버(100)는 사용자 단말(110)로부터 사용자 질의 문장을 수신할 수 있다.
단계 S505에서 질의 응답 제공 서버(100)는 의도별 확률 모델에 기초하여 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출할 수 있다.
단계 S507에서 질의 응답 제공 서버(100)는 문장별 확률 모델에 기초하여 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 사용자 질의 문장에 대응하는 응답 문장으로 도출할 수 있다.
단계 S509에서 질의 응답 제공 서버(100)는 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 단말(110)에게 전송할 수 있다.
상술한 설명에서, 단계 S501 내지 S511은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 6은 본 발명의 일 실시예에 따른, 문장별 확률 모델 및 의도별 확률 모델을 학습시키는 방법을 나타낸 흐름도이다.
도 6을 참조하면, 단계 S601에서 질의 응답 제공 서버(100)는 예제 질의 문장, 예제 질의 문장에 대응하는 예제 응답 문장 및 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터를 생성할 수 있다.
단계 S603에서 질의 응답 제공 서버(100)는 예제 데이터 간의 문장 순서를 결정하고, 결정된 문장 순서에 기초하여 적어도 하나의 대화 문장 구성을 생성할 수 있다.
단계 S605에서 질의 응답 제공 서버(100)는 대화 문장 구성에 기초하여 예제 데이터에 포함된 각 단어에 대한 벡터 평균값를 도출하고, 도출된 벡터 평균값에 기초하여 제 1 확률 정보 데이터를 구축할 수 있다.
단계 S607에서 질의 응답 제공 서버(100)는 구축된 제 1 확률 정보 데이터에 기초하여 문장별 확률 모델을 학습시킬 수 있다.
단계 S609에서 질의 응답 제공 서버(100)는 질의 의도 정보에 기초하여 분류된 예제 데이터 각각에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 도출된 벡터 평균값에 기초하여 제 2 확률 정보 데이터를 구축할 수 있다.
단계 S611에서 질의 응답 제공 서버(100)는 제 2 확률 정보 데이터에 기초하여 의도별 확률 모델을 학습시킬 수 있다.
상술한 설명에서, 단계 S601 내지 S611은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 7은 본 발명의 일 실시예에 따른, 사용자 질의 문장에 대응하는 응답 문장을 도출하는 방법을 나타낸 흐름도이다.
도 7을 참조하면, 단계 S701에서 질의 응답 제공 서버(100)는 사용자 단말(110)로부터 사용자 질의 문장을 수신할 수 있다.
단계 S703에서 질의 응답 제공 서버(100)는 사용자 질의 문장에 대한 형태소 분석에 기초하여 사용자 질의 문장에 포함된 각 단어에 대한 단어 벡터 평균값을 도출할 수 있다.
단계 S705에서 질의 응답 제공 서버(100)는 의도별 확률 모델을 이용하여 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 질의 의도 정보가 태깅된 복수의 예제 질의 문장을 도출할 수 있다.
단계 S707에서 질의 응답 제공 서버(100)는 도출된 질의 의도 정보가 태깅된 복수의 예제 질의 문장 중 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 예제 질의 문장을 문장별 확률 모델을 이용하여 도출할 수 있다.
단계 S709에서 질의 응답 제공 서버(100)는 도출된 예제 질의 문장에 대응하는 예제 응답 문장을 사용자 단말(110)에게 전송할 수 있다.
상술한 설명에서, 단계 S701 내지 S709는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 질의 응답 제공 서버
110: 사용자 단말
200: 모델 학습부
210: 문장 구성 생성부
220: 수신부
230: 사용자 질의 분석부
240: 응답 도출부
250: 전송부
260: 업데이트부

Claims (17)

  1. 질의 응답 서비스를 제공하는 서버에 있어서,
    예제 질의 문장, 상기 예제 질의 문장에 대응하는 예제 응답 문장 및 상기 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키는 모델 학습부;
    사용자 단말로부터 사용자 질의 문장을 수신하는 수신부;
    상기 의도별 확률 모델에 기초하여 상기 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 상기 문장별 확률 모델에 기초하여 상기 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 상기 사용자 질의 문장에 대응하는 응답 문장으로 도출하는 응답 도출부; 및
    상기 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 상기 사용자 단말에게 전송하는 전송부
    를 포함하는 것인, 서버.
  2. 제 1 항에 있어서,
    상기 예제 데이터는 대화 흐름에 따라 예제 질의 문장별로 태깅된 인컨텍스트 정보 및 아웃컨텍스트 정보 중 적어도 하나를 더 포함하는 것인, 서버.
  3. 제 2 항에 있어서,
    상기 인컨텍스트 정보 및 상기 아웃컨텍스트 정보에 기초하여 상기 예제 데이터 간의 문장 순서를 결정하고, 상기 결정된 문장 순서에 기초하여 적어도 하나의 대화 문장 구성을 생성하는 문장 구성 생성부
    를 더 포함하는 것인, 서버.
  4. 제 3 항에 있어서,
    상기 모델 학습부는
    상기 대화 문장 구성에 기초하여 상기 예제 데이터에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 상기 도출된 벡터 평균값에 기초하여 제 1 확률 정보 데이터를 구축하고,
    상기 질의 의도 정보에 기초하여 상기 예제 데이터를 분류하고, 상기 분류된 각 예제 데이터에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 상기 도출된 벡터 평균값에 기초하여 제 2 확률 정보 데이터를 구축하는 것인, 서버.
  5. 제 4 항에 있어서,
    상기 모델 학습부는
    상기 제 1 확률 정보 데이터에 기초하여 상기 문장별 확률 모델을 학습시키고,
    상기 제 2 확률 정보 데이터에 기초하여 상기 의도별 확률 모델을 학습시키는 것인, 서버.
  6. 제 5 항에 있어서,
    상기 사용자 질의 문장에 대한 형태소 분석에 기초하여 상기 사용자 질의 문장에 포함된 각 단어에 대한 단어 벡터 평균값을 도출하는 사용자 질의 분석부
    를 더 포함하는 것인, 서버.
  7. 제 6 항에 있어서,
    상기 응답 도출부는
    상기 의도별 확률 모델을 이용하여 상기 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 질의 의도 정보가 태깅된 복수의 예제 질의 문장을 도출하고,
    상기 도출된 질의 의도 정보가 태깅된 복수의 예제 질의 문장 중 상기 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 예제 질의 문장을 상기 문장별 확률 모델을 이용하여 도출하는 것인, 서버.
  8. 제 1 항에 있어서,
    상기 선택된 예제 질의 문장에 태깅된 아웃컨텍스트 정보 및 상기 사용자 단말 및 상기 서버와의 대화 이력 정보를 업데이트하는 업데이트부
    를 더 포함하는 것인, 서버.
  9. 질의 응답 서비스를 제공하는 방법에 있어서,
    예제 질의 문장, 상기 예제 질의 문장에 대응하는 예제 응답 문장 및 상기 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키는 단계;
    사용자 단말로부터 사용자 질의 문장을 수신하는 단계;
    상기 의도별 확률 모델에 기초하여 상기 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 상기 문장별 확률 모델에 기초하여 상기 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 상기 사용자 질의 문장에 대응하는 응답 문장으로 도출하는 단계; 및
    상기 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 상기 사용자 단말에게 전송하는 단계를 포함하는 질의 응답 서비스 제공 방법.
  10. 제 9 항에 있어서,
    상기 예제 데이터는 대화 흐름에 따라 문장별로 태깅된 인컨텍스트 정보 및 아웃컨텍스트 정보 중 적어도 하나를 더 포함하는 것인, 질의 응답 서비스 제공 방법.
  11. 제 10 항에 있어서,
    상기 인컨텍스트 정보 및 상기 아웃컨텍스트 정보에 기초하여 상기 예제 데이터 간의 문장 순서를 결정하는 단계 및
    상기 결정된 문장 순서에 기초하여 적어도 하나의 대화 문장 구성을 생성하는 단계를 더 포함하는 것인, 질의 응답 서비스 제공 방법.
  12. 제 11 항에 있어서,
    상기 문장별 확률 모델 및 의도별 확률모델을 학습시키는 단계 이전에
    상기 대화 문장 구성에 기초하여 상기 예제 데이터에 포함된 각 단어에 대한 벡터 평균값를 도출하고, 상기 도출된 벡터 평균값에 기초하여 제 1 확률 정보 데이터를 구축하는 단계 및
    상기 질의 의도 정보에 기초하여 상기 예제 데이터를 분류하고, 상기 분류된 각 예제 데이터에 포함된 각 단어에 대한 벡터 평균값을 도출하고, 상기 도출된 벡터 평균값에 기초하여 제 2 확률 정보 데이터를 구축하는 단계를 더 포함하는 것인, 질의 응답 서비스 제공 방법.
  13. 제 12 항에 있어서,
    상기 문장별 확률 모델 및 의도별 확률모델을 학습시키는 단계는
    상기 제 1 확률 정보 데이터에 기초하여 상기 문장별 확률 모델을 학습시키는 단계 및
    상기 제 2 확률 정보 데이터에 기초하여 상기 의도별 확률 모델을 학습시키는 단계를 포함하는 것인, 질의 응답 서비스 제공 방법.
  14. 제 13 항에 있어서,
    상기 사용자 질의 문장에 대한 형태소 분석에 기초하여 상기 사용자 질의 문장에 포함된 각 단어에 대한 단어 벡터 평균값을 도출하는 단계를 더 포함하는 것인, 질의 응답 서비스 제공 방법.
  15. 제 14 항에 있어서,
    상기 도출하는 단계는
    상기 의도별 확률 모델을 이용하여 상기 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 질의 의도 정보가 태깅된 복수의 예제 질의 문장을 도출하는 단계 및
    상기 도출된 질의 의도 정보가 태깅된 복수의 예제 질의 문장 중 상기 사용자 질의 문장의 단어 벡터 평균값과 기설정된 유사도 이상을 가지는 예제 질의 문장을 상기 문장별 확률 모델을 이용하여 도출하는 단계를 포함하는 것인, 질의 응답 서비스 제공 방법.
  16. 제 9 항에 있어서,
    상기 선택된 예제 질의 문장에 태깅된 아웃컨텍스트 정보 및 상기 사용자 단말 및 상기 서버와의 대화 이력 정보를 업데이트하는 단계를 더 포함하는 것인, 질의 응답 서비스 제공 방법.
  17. 질의 응답 서비스를 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    예제 질의 문장, 상기 예제 질의 문장에 대응하는 예제 응답 문장 및 상기 예제 질의 문장에 태깅되는 질의 의도 정보를 포함하는 예제 데이터에 기초하여 문장별 확률 모델 및 의도별 확률모델을 학습시키고,
    사용자 단말로부터 사용자 질의 문장을 수신하고,
    상기 의도별 확률 모델에 기초하여 상기 사용자 질의 문장과 관련된 복수의 예제 질의 문장을 도출하고, 상기 문장별 확률 모델에 기초하여 상기 도출된 복수의 예제 질의 문장 중 적어도 하나의 예제 질의 문장을 선택하여 상기 사용자 질의 문장에 대응하는 응답 문장으로 도출하고,
    상기 선택된 예제 질의 문장에 대응하는 예제 응답 문장을 상기 사용자 단말에게 전송하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
KR1020200024173A 2020-02-27 2020-02-27 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램 KR20210109208A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200024173A KR20210109208A (ko) 2020-02-27 2020-02-27 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200024173A KR20210109208A (ko) 2020-02-27 2020-02-27 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20210109208A true KR20210109208A (ko) 2021-09-06

Family

ID=77782431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200024173A KR20210109208A (ko) 2020-02-27 2020-02-27 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20210109208A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100113423A (ko) 2009-04-13 2010-10-21 (주)미디어레 역 벡터 공간 모델을 이용한 키워드 추천방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100113423A (ko) 2009-04-13 2010-10-21 (주)미디어레 역 벡터 공간 모델을 이용한 키워드 추천방법 및 그 장치

Similar Documents

Publication Publication Date Title
US10446148B2 (en) Dialogue system, a dialogue method and a method of adapting a dialogue system
US10635698B2 (en) Dialogue system, a dialogue method and a method of adapting a dialogue system
US11960513B2 (en) User-customized question-answering system based on knowledge graph
CN109446304A (zh) 智能客服会话方法及系统
CN111666399A (zh) 基于知识图谱的智能问答方法、装置和计算机设备
US20220092441A1 (en) Training method and apparatus, dialogue processing method and system, and medium
KR101763407B1 (ko) 음성 대화 시스템 및 그 시스템에서의 음성 대화 방법
US20230134933A1 (en) Knowledge-based dialogue system for self-learning dialogues and learning method thereof
KR101739540B1 (ko) 통합 지식베이스 구축 시스템 및 방법
WO2019159986A1 (ja) 情報提供装置、情報提供方法、およびプログラム
CN115964459B (zh) 基于食品安全认知图谱的多跳推理问答方法及系统
CN114003709A (zh) 一种基于问句匹配的智能问答系统和方法
CN109741824A (zh) 一种基于机器学习的医疗问诊方法
CN117743531A (zh) 基于知识图谱和大型语言模型协同的智能查询推理方法及装置
CN114238645A (zh) 一种基于bert孪生注意力网络与融合图嵌入特征的关系选择方法
CN111209297B (zh) 数据查询方法、装置、电子设备及存储介质
CN117708692A (zh) 基于双通道图卷积神经网络的实体情感分析方法及系统
CN114372454B (zh) 文本信息抽取方法、模型训练方法、装置及存储介质
KR102578257B1 (ko) 챗봇 서비스 구축 및 유지보수 시스템
CN111400479B (zh) 针对多轮对话的问题识别方法和装置
KR20210109208A (ko) 질의 응답 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램
CN114742073B (zh) 一种基于深度学习的对话情绪自动识别方法
CN113468311B (zh) 一种基于知识图谱的复杂问句问答方法、装置及存储介质
KR20230064533A (ko) 자가 대화 학습을 위한 지식 기반 대화 시스템 및 이의 학습 방법
US20220310084A1 (en) Extensible search, content, and dialog management system with human-in-the-loop curation