KR20200036086A - 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램 - Google Patents

인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20200036086A
KR20200036086A KR1020180112488A KR20180112488A KR20200036086A KR 20200036086 A KR20200036086 A KR 20200036086A KR 1020180112488 A KR1020180112488 A KR 1020180112488A KR 20180112488 A KR20180112488 A KR 20180112488A KR 20200036086 A KR20200036086 A KR 20200036086A
Authority
KR
South Korea
Prior art keywords
query
user
question
engine
question template
Prior art date
Application number
KR1020180112488A
Other languages
English (en)
Other versions
KR102128549B1 (ko
Inventor
김동환
Original Assignee
주식회사 포티투마루
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포티투마루 filed Critical 주식회사 포티투마루
Priority to KR1020180112488A priority Critical patent/KR102128549B1/ko
Priority to US16/184,728 priority patent/US10832004B2/en
Priority to EP18207992.1A priority patent/EP3627398A1/en
Publication of KR20200036086A publication Critical patent/KR20200036086A/ko
Priority to KR1020200076781A priority patent/KR102261199B1/ko
Application granted granted Critical
Publication of KR102128549B1 publication Critical patent/KR102128549B1/ko
Priority to US17/039,273 priority patent/US11373047B2/en
Priority to US17/833,493 priority patent/US11822890B2/en

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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3337Translation of the query language, e.g. Chinese to English
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

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

Abstract

본 발명의 일 실시예에 따르면, 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부; 사용자 질의를 분석하여 질문 템플릿을 생성하고, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하는지 여부를 판단하는 제1 질의 확장부; 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 자연어 처리 및 딥러닝 모델을 사용하여 유사 질문 템플릿을 생성하는 제2 질의 확장부; 상기 제2 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부; 및 상기 제1 질의 확장부 또는 상기 제2 질의 확장부를 통해 도출된 사용자 질의 결과를 상기 사용자 단말로 전달하는 질의 응답부; 를 포함하는 인공 지능 질의 응답 시스템이 제공된다.

Description

인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램 {METHOD, SYSTEM AND COMPUTER PROGRAM FOR ARTIFICIAL INTELLIGENCE ANSWER}
본 발명은 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램에 관한 것으로, 보다 상세하게는 자연어 기반의 문장을 정확하게 이해하고 의도에 맞는 검색 결과를 제공하기 위하여 NMT 엔진을 이용하여 학습 데이터를 구축하고 패러프레이징 엔진을 학습하는 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램에 관한 것이다.
자연어로 표현되는 데이터를 다루는 다양한 응용 서비스를 구현하기 위해서는 언어학적 지식, 언어별 구조적 지식 및 언어의 복잡한 자질을 이해하고 엔지니어링 하는 과정이 필요하기 때문에, 새로운 언어나 도메인 추가 등의 작업을 하는데 진입장벽이 존재한다.
특히, 전통적인 NLU(Natural Language Understanding) 방식은 사람이 직접 추출 한(hand-crafted) 특징에 강하게 의존하는 특성이 있다. 이 때문에, 특징 추출에 시간이 많이 소요되고, 새로운 패턴이나 오타, 맞춤법 오류 등 여러 다양한 경우에 대처하지 못하는 한계가 존재한다.
이런 문제를 해결하기 위해, 딥러닝 기반의 NLU 처리 방식이 최근 고려되고 있다. 딥러닝 기반의 NLU 방식은 데이터로부터 자질(Feature)을 자동으로 학습하는 방식으로, 기존보다 폭넓은 문맥 정보 처리가 가능한 장점을 가지고 있다. 이를 통해, 기존에 학습하지 않았던 신조어나 오타에도 전통적인 규칙/통계 기반의 NLU와 비교하여 강건(robust)하여, 기존의 전통적인 NLU의 단점을 일정부분 보완할 수 있다.
한편, 음성인식 스피커를 필두로 한 스마트 머신 보급 확대, 인공지능 기술의 발전에 따라 정보 검색 방식이 기존 키워드 입력 기반, 문서 리스트를 확인했던 기존의 검색 방법에서 자연어 기반의 문장 입력, 구체적인 응답 형태로 검색의 트렌드가 변화하고 있다.
KR 10-1851787 B1
본 발명은 자연어 기반의 문장을 정확하게 이해하고 의도에 맞는 검색 결과를 제공하는 것을 일 목적으로 한다.
본 발명은 NMT 엔진을 이용하여 학습 데이터를 구축하고 패러프레이징 엔진을 학습하여 검색의 정확도를 높이는 것을 다른 목적으로 한다.
본 발명의 일 실시예에 따르면 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부; 사용자 질의를 분석하여 질문 템플릿을 생성하고, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하는지 여부를 판단하는 제1 질의 확장부; 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 자연어 처리 및 딥러닝 모델을 사용하여 유사 질문 템플릿을 생성하는 제2 질의 확장부; 상기 제2 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부; 및 상기 제1 질의 확장부 또는 상기 제2 질의 확장부를 통해 도출된 사용자 질의 결과를 상기 사용자 단말로 전달하는 질의 응답부; 를 포함하는 인공 지능 질의 응답 시스템이 제공된다.
본 발명에 있어서, 상기 질문 템플릿 및 상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿일 수 있다.
본 발명에 있어서, 상기 학습 데이터 구축부는, 상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축할 수 있다.
본 발명에 있어서, 상기 제2 질의 확장부는, 상기 사용자 질의를 자연어 처리하는 자연어 확장 모듈; 및
상기 자연어 처리된 사용자 질의를 패러프레이징(paraphrasing)을 통해 유사 질문 템플릿을 생성하는 패러프레이징 엔진; 을 포함할 수 있다.
본 발명에 있어서, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 상기 생성된 질문 템플릿에 대응하는 즉답을 상기 사용자 단말에 제공할 수 있다.
본 발명의 일 실시예에 따르면, 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신 단계; 사용자 질의를 분석하여 질문 템플릿을 생성하고, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하는지 여부를 판단하는 제1 질의 확장 단계; 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 자연어 처리 및 딥러닝 모델을 사용하여 유사 질문 템플릿을 생성하는 제2 질의 확장 단계; 상기 제2 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축 단계; 및 상기 제1 질의 확장 단계 또는 상기 제2 질의 확장 단계를 통해 도출된 사용자 질의 결과를 상기 사용자 단말로 전달하는 질의 응답 단계; 를 포함하는 인공 지능 질의 응답 방법이 제공된다.
본 발명에 있어서, 상기 질문 템플릿 및 상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿일 수 있다.
본 발명에 있어서, 상기 학습 데이터 구축 단계는, 상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축할 수 있다.
본 발명에 있어서, 상기 제2 질의 확장 단계는, 상기 사용자 질의를 자연어 처리하는 자연어 확장 모듈; 및 상기 자연어 처리된 사용자 질의를 패러프레이징(paraphrasing)을 통해 유사 질문 템플릿을 생성하는 패러프레이징 엔진; 을 포함할 수 있다.
본 발명에 있어서, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 상기 생성된 질문 템플릿에 대응하는 즉답을 상기 사용자 단말에 제공할 수 있다.
본 발명의 일 실시예에 따르면 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부; 패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장부; 상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부;를 포함하고, 상기 학습 데이터 구축부는, 상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는, 인공 지능 질의 응답 시스템이 제공된다.
본 발명의 일 실시예에 따르면, 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부; 패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장부; 상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부;를 포함하고, 상기 학습 데이터 구축부는, 상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는, 인공 지능 질의 응답 시스템이 제공된다.
본 발명에 있어서, 상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿일 수 있다.
본 발명의 일 실시예에 따르면 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신 단계; 패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장 단계; 상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축 단계;를 포함하고, 상기 학습 데이터 구축 단계는, 상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는, 인공 지능 질의 응답 방법일 수 있다.
본 발명에 있어서, 상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿일 수 있다.
본 발명의 일 실시예에 따르면 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부; 패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장부; 상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부;를 포함하고, 상기 학습 데이터 구축부는, 상기 신경망 기반의 NMT 엔진으로 사용자 로그 데이터를 번역 및 재번역하여 학습 데이터를 생성하는 NMT 엔진 관리부; 및 상기 NMT 엔진 관리부에 의해 생성된 학습 데이터를 저장하고, 상기 생성된 학습 데이터를 이용하여 상기 패러프레이징 엔진에 적용될 수 있는 패러프레이징 모델의 학습을 진행하고, 상기 패러프레이징 모델을 테스트 및 검증하는 학습 데이터 관리부; 를 포함할 수 있다.
본 발명에 의하면, 자연어 기반의 문장을 정확하게 이해하고 의도에 맞는 검색 결과를 제공할 수 있다.
본 발명에 의하면, 기존의 NMT 엔진을 이용하여 자동적으로 다량의 정확한 학습 데이터를 구축할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 있어서, 사용자 단말 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3 은 시맨틱 트리플 기반의 검색 결과를 설명하기 위한 것이다.
도 4 는 시맨틱 트리플 기반의 검색 수행의 일 예를 도시한다.
도 5는 본 발명의 일 실시예에 따른 프로세서의 내부 구성을 나타낸 것이다.
도 6 는 본 발명의 일 실시예에 따른 인공지능 질의 응답 방법을 시계열적으로 나타낸 도면이다.
도 7 은 본 발명의 일 실시예에 따른 인공 지능 질의 응답 시스템의 전체적인 구조를 나타낸 도면이다.
도 8 은 본 발명의 일 실시예에 따라 학습 데이터 및 패러프레이징 모델을 구축하는 것을 설명하기 위한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
도 1 은 본 발명의 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 1의 네트워크 환경은 복수의 사용자 단말들(110, 120, 130, 140), 서버(150) 및 네트워크(160)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 사용자 단말의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 사용자 단말들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 사용자 단말들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 사용자 단말 1(110)은 무선 또는 유선 통신 방식을 이용하여 네트워크(160)를 통해 다른 사용자 단말들(120, 130, 140) 및/또는 서버(150)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(160)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(160)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(160)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150)는 복수의 사용자 단말들(110, 120, 130, 140)과 네트워크(160)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
일례로, 서버(150)는 네트워크(160)를 통해 접속한 사용자 단말 1(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 사용자 단말 1(110)은 서버(150)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한 사용자 단말 1(110)이 포함하는 운영체제(Operating System, OS) 및 적어도 하나의 프로그램(일례로 브라우저나 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 사용자 단말1(110)이 어플리케이션의 제어에 따라 네트워크(160)를 통해 컨텐츠 열람을 서버(150)로 전송하면, 서버(150)는 시맨틱 트리플 기반의 지식 확장 시스템을 이용한 유니크 인스턴트 응답을 사용자 단말 1(110)로 전송할 수 있고, 사용자 단말 1(110)은 어플리케이션의 제어에 따라 유니크 인스턴트 응답을 표시할 수 있다. 다른 예로, 서버(150)는 데이터 송수신을 위한 통신 세션을 설정하고, 설정된 통신 세션을 통해 복수의 사용자 단말들(110, 120, 130, 140)간의 데이터 송수신을 라우팅할 수도 있다.
도 2 는 본 발명의 일 실시예에 있어서, 사용자 단말 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 2에서는 하나의 사용자 단말에 대한 예로서 사용자 단말 1(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 사용자 단말들(120, 130, 140)들 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.
사용자 단말 1(110)과 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 사용자 단말 1(110)에 설치되어 구동되는 브라우저나 상술한 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism)을 이용하여 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(150))이 네트워크(160)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(160)를 통해 사용자 단말 1(110)과 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 사용자 단말(일례로 사용자 단말 2(120)) 또는 다른 서버(일례로 서버(150))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 사용자 단말 1(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(160)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(160)를 거쳐 사용자 단말 1(110)의 통신 모듈(213)을 통해 사용자 단말 1(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 사용자 단말 1(110)이 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(214, 224)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 사용자 단말 1(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 사용자 단말 2(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.
또한, 다른 실시예들에서 사용자 단말 1(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 사용자 단말 1(110)은 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
본 발명의 인공 지능 질의 응답 방법 및 시스템은 서버(150)에 의해 구현될 수 있으며, 보다 상세히 인공 지능 질의 응답방법은 서버(150)의 프로세서(222)가 처리하는 명령에 의해 구현될 수 있다.
본 발명이 해결하고자 하는 과제는, 인공지능 질의응답 방법, 장치 및 프로그램을 제공함으로써 사용자의 다양한 질의에 대해 응답할 수 있는 시스템을 구축하는 것이다.
인공지능 스피커를 필두로 한 AI 기반의 스마트머신들의 대두로 인해, 기존의 포털 검색과 다른, QA(Question Answering) 검색이 등장하고 있으며, 정보 검색 및 입력 수단이 터치, 키워드 입력 등이 아닌, 음성으로 변화함에 따라, 기존 포털 검색의 키워드 기반 검색과 달리, 자연어 기반의 문장을 이해해야 할 필요성이 증대 되었다.
이 때문에 자연어 기반의 문장을 정확히 이해하고 의도에 맞는 검색결과를 전달하기 위해서, 새로운 패턴이나 오타, 맞춤법 오류 등 여러 다양한 경우에도 대처 가능한 인공지능 기반의 질의응답 방법, 장치 및 프로그램이 필요하게 되었다.
본 발명은 상기 기술한 QA 검색 외에도 사용자의 의도를 파악하고 원하는 결과를 제공하는 모든 시스템에 응용 가능한 특성을 가지고 있어, 다양한 형태로 응용될 수 있다. 일례로, 지식 QA에서 정답으로 제공되는 instant answer 대신 Slot Filling 방식을 활용한다면, 사용자 의도에 따라 특정한 기능을 제공하는 API로 필요 정보를 제공하는 방식으로 응용 가능하다. 이를 통해, 본 발명은 홈 IoT, 스마트 토이/홈 로봇, 커넥티드 카 등의 다양한 범위에 사용될 수 있는, 활용 범위가 높은 기술이라 할 수 있겠다. 따라서, 이하의 명세서에서는 QA 검색 방식을 위주로 설명하지만, 본 발명은 반드시 여기에 한정되지 않으며, 적용 가능한 모든 시스템에 응용 가능하다.
먼저 본 발명을 본격적으로 설명하기 전에, 본 발명의 인공지능 질의 응답 방법과 기존 검색 엔진과의 차이점을 살펴보기로 한다. 본 발명의 일 실시예에 따른 인공지능 질의 응답 시스템은, 시맨틱 트리플 기반의 질문 템플릿을 이용하여 유니크 인스턴트 응답(Unique Instant Answer)을 제공할 수 있다. 본 발명의 인공지능 질의 응답 방법은 검색 결과를 문서 형태가 아닌, 유니크 인스턴트 응답(Unique Instant Answer), 즉 즉답 형태로 제공한다는 점에서 기존의 검색 엔진과 차이점이 존재할 수 있다. 또한, 본 발명의 인공지능 질의 응답 방법은 시맨틱 트리플 기반 검색 결과를 제공하기 위한 학습 데이터를 구축할 수 있다.
도 3 은 시맨틱 트리플 기반의 검색 결과를 설명하기 위한 것이다.
도 3 을 참조하면, 기존의 검색 엔진(As-Is, Searh)은 입력 방식이 키워드이고, 검색 결과로 문서리스트를 제공하고, 검색 플랫폼은 PC 혹은 모바일 에서 동작한다.
이에 반해, 본 발명의 인공 지능 질의 응답 방법(To-Be, Question-Answering)은, 입력 방식이 자연어 기반의 문장이고, 검색 결과로서 구체적인 응답, 즉 인스턴트 유니크 응답을 제공할 수 있으며, 플랫폼은 PC 혹은 모바일에 한정되지 않고 어디서나 구현될 수 있다.
보다 상세히, 본 발명의 인공 지능 질의 응답 방법은 기존 검색 엔진이 키워드를 입력하는데 반해 자연어 기반의 문장을 입력 가능하도록 함으로써, 사용자가 사람에게 질문하듯이 자연스럽게 정보를 탐색할 수 있도록 한다. 또한, 본 발명의 인공 지능 질의 응답 방법은 검색 결과로 구체적인 응답을 제공함으로써, 기존의 검색 엔진이 제공하는 문서 리스트에서 사용자가 직접 검색 결과를 찾아야 하는 불편을 경감시키고 최적의 검색 결과를 제공할 수 있다. 또한, 본 발명의 인공 지능 질의 응답 방법은 플랫폼으로서 PC 혹은 모바일에 한정되지 않고 스마트 머신 기반으로 어디서나 즉시 정보를 탐색할 수 있다는 장점이 존재한다.
도 4 는 시맨틱 트리플 기반의 검색 수행의 일 예를 도시한다.
도 4 에 도시된 지식 DB(400)는 실제 사용자들의 질의문을 모사한 시맨틱 트리플 형태로 데이터를 저장한 특수한 형태의 지식기반(Knowledge Base) 데이터베이스로 별도의 추론과정없이 유니크 인스턴트 응답(Unique instant answer)을 검색할 수 있다. 지식 DB(400)는 entity(432)-attribute(434) - instant answer(438)의 형태를 지닌다. 후술하는 본 발명의 실시예에서, 지식 DB(400)는 서버(150) 내부, 혹은 외부에 존재하며 프로세서(222)와 통신하여 데이터를 제공할 수 있는 데이터베이스일 수 있다.
도 4 는 "백두산의 높이가 얼마야?"인 사용자 질의(410)를 수신한 경우, 사용자 질의를 분석하여(420), '백두산'과 '높이'라는 핵심단어를 추출한 후 백두산을 물어볼 대상으로 높이를 질문의 의도록 분석할 수 있다. 이에, entity = "백두산", attribute = "높이" 인 데이터를 검색하고, 해당하는 항목의 instant answer를 결과값으로 판단하여, 사용자에게 해당답변 2,744m을 제공한다(450). 상술한 바와 같은 지식 DB(400)는 최적 정답을 검색하는데 별도의 추론 과정 없이 최적의 답을 제공할 수 있다. 이하에서는, 도 3 및 도 4 에서 설명한 바와 같은 시맨틱 트리플에 기반한 본 발명의 인공 지능 질의 응답 방법 및 시스템을 보다 구체적으로 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 프로세서의 내부 구성을 나타낸 것이다.
프로세서(212)는 웹 페이지를 온라인으로부터 제공받아 출력할 수 있는 웹 브라우저(web browser) 또는 어플리케이션을 포함할 수 있다. 프로세서(212) 내에서 본 발명의 일 실시예에 따른 시맨틱 트리플 기반의 지식 확장 시스템의 구성은 도 3 에 도시된 바와 같이 질의 수신부(510), 제1 질의 확장부(520), 제2 질의 확장부(530), 학습 데이터 구축부(540) 및 질의 응답부(550)를 포함할 수 있다. 더불어, 제2 질의 확장부(530)는 자연어확장 모듈(531) 및 패러프레이징 엔진(532)을 포함하고, 학습 데이터 구축부(540)는 NMT 엔진 관리부(541), 학습 데이터 관리부(542) 및 모델 배포부(543)를 포함할 수 있다. 본 발명의 일 실시예에 따라 프로세서(212)의 구성요소들은 선택적으로 프로세서(212)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(212)의 구성요소들은 프로세서(212)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.
여기서, 프로세서(212)의 구성요소들은 사용자 단말 1(110)에 저장된 프로그램 코드가 제공하는 명령(일례로, 사용자 단말 1(110)에서 구동된 웹 브라우저가 제공하는 명령)에 따라 프로세서(212)에 의해 수행되는 프로세서(212)의 서로 다른 기능들(different functions)의 표현들일 수 있다.
이러한 프로세서(212) 및 프로세서(212)의 구성요소들은 도 4 의 인공 지능 질의 응답 방법이 포함하는 단계들(S1 내지 S5)을 수행하도록 사용자 단말 1(110)을 제어할 수 있다. 예를 들어, 프로세서(212) 및 프로세서(212)의 구성요소들은 메모리(211)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
도 6 는 본 발명의 일 실시예에 따른 인공지능 질의 응답 방법을 시계열적으로 나타낸 도면이며, 도 7a 및 7b 는 본 발명의 일 실시예에 따른 인공 지능 질의 응답 시스템의 전체적인 구조를 나타낸 도면이다. 보다 상세히, 도 7a는 사용자 질의 분석이 성공한 경우 질의 응답 시스템의 동작을 나타낸 것이고, 도 7b 는 사용자 질의 부석이 성공하지 못한 경우 질의 응답 시스템의 동작을 나타낸 것이다. 이하에서는, 도 6, 도 7a 및 도 7b 를 함께 참조하여 본 발명을 설명하기로 한다.
먼저, 질의 수신부(510)는 사용자 단말(110)로부터 사용자의 질의를 수신한다(S61). 보다 상세히, 질의 수신부(510)는 사용자 질의를 수신하여(S71), 수신된 질의를 제1 질의 확장부(520)로 전달한다(S72). 사용자의 질의의 형태는 음성, 텍스트 등 다양한 형태로 수신될 수 있다. 질의 수신부(510)는 수신된 사용자의 질의를 적절한 변환 과정을 통해 적합한 형태로 변환할 수 있다.
본 발명의 일 실시예에 따르면, 사용자는 본 발명의 인공지능 질의응답 방법, 장치 및 프로그램이 적용된 AI 기반 스마트머신인 사용자 단말(100)에 자연어 기반의 질의를 입력할 수 있다. 해당 스마트머신은 기존 스마트폰, 컴퓨터뿐만 아니라, 인공지능 스피커, 커넥티드 카, 홈 IoT, AI 가전, 개인 비서, 홈 로봇/스마트 토이, 챗봇 응용 프로그램 및 인트라넷 등을 포함할 수 있다.
다음으로, 제1 질의 확장부(520)는 사용자 질의를 분석하여 entity 및 attribute 가 인식 가능한지 여부를 확인한다(S62). 사용자 질의 분석 결과 entity 및 attribute 가 인식 가능한 경우, 질문 템플릿을 생성하여 제1 질의 확장을 수행하며, 사용자 질의와 생성된 질문 템플릿이 일치하는지에 대한 여부를 확인한다(S64). 보다 상세히, 제1 질의 확장부(520)는 사용자의 질의를 분석하고, 지식 DB(400)로부터 질의에 대한 답변 정보를 확인하여, 지식 DB(400)에서 답변 정보를 찾아 해당 질의와 유사한 다수의 질문 템플릿을 생성하고, 사용자 질의와 질문 템플릿이 일치하는지를 비교하여 1차 검색을 수행한다.
보다 상세히, 제1 질의 확장부(520)는 사용자 질의를 분석한 결과를 기반으로 사용자 질의에 부합하는 질문 템플릿을 생성할 수 있다. 사용자의 질의가 수신되면, 제1 질의 확장부(520)는 사용자 질의를 분석하여, 분석한 결과를 기반으로 질문 템플릿을 생성하고 제1 질의 확장을 수행한다. 이때, 제1 질의 확장부(520)는 상술한 지식 DB(590)로부터 질문 템플릿을 생성할 수 있다. 이하에서는, 제1 질의 확장부(520)가 질문 템플릿을 생성하는 구체적인 구성을 설명하기로 한다.
먼저 제1 질의 확장부(520)는, 상술한 바와 같은 시맨틱 트리플 형식으로 사용자 질의를 분석하기 위해, NLP(Natural Language Processing) 엔진을 사용하여 사용자 질의를 분석할 수 있다. 이 때 사용자 질의에서 형태소분석 등의 기술을 사용하여 entity 및 attribute를 찾아낸다. 통상의 사용자들은 entity + attribute 형태의 질문을 하기 때문에, 순차적으로 문장을 분석하여 사용자 질의에서 entity 및 attribute 후보군을 찾아낸다.
본 발명의 일 실시예에서, 제1 질의 확장부(520)는 사용자 질의 분석 시, entity 및 attribute 기준으로 하나만 있을 경우에는 해당 entity 및 attribute에 해당하는 내용을 질문 템플릿으로 생성한다. 일례로, '오버워치 영웅 중 런던에서 주로 활동하는 요원은?' 의 경우, entity가 '오버워치 영웅'으로 분석되고 attribute가 탐지되지 않으면, 지식 DB에서 ‘오버워치 영웅’을 entity로 가지는 모든 attribute를 활용하여 질문 템플릿을 생성할 수 있다.
다음으로, 제1 질의 확장부(520)는 질의어 분석 결과를 기반으로 제1 질의 확장부(520)는 지식 DB(400)로부터 질문 템플릿을 생성할 수 있다. 구체적으로, 제1 질의 확장부(520)는 사용자 질의와 일치하는 카테고리별로 entity 및 attribute 후보군을 검색 형태로 찾고, entity 유의어 및 attribute 유의어를 기반으로 하여 질문 템플릿을 생성한다. 이때, 질문 템플릿은 entity와 attribute 뿐만 아니라, instant answer까지 추가 정보로 가질 수 있다. 이는 후에 서술할 사용자 질의와 제1 질의 확장부(520)에서 만든 질문 템플릿이 일치할 경우, 사용자에게 즉답(instant answer)을 제공할 수 있다(S65). 즉답(instant answer)이 존재하면, 해당 질문 템플릿을 후술하는 제2 질의 확장 단계를 학습(training)시키기 위한 학습데이터로 생성할 수 있다(S68).
다음으로, 제1 질의 확장부(520)는 생성된 질문 템플릿과 사용자 질의를 비교하여, 일치하는지 여부의 결과를 확인한다(S73). 제1 질의 확장부(520)가 생성한 질문 템플릿과 사용자 질의가 같다고 판단되면, 질문 템플릿에서 기 생성한 instant answer를 답변으로 제공한다(S65). 제1 질의 확장부(520)는 사용자 질의에서 의미없는 문자 또는 단어를 제거하여 생성된 질문 템플릿과 사용자 질의를 비교할 수 있다. 예를 들어, '금강산의 해발고도는?' 이라는 질문이 있을 경우, 자연어 처리를 통해 의미 표현과 관련없는 '의', '는'을 제거할 수 있다. 의미없는 문자 또는 단어가 제공된 사용자 질의와 생성된 질문 템플릿이 정확히 일치하는가를 판단한다. 만약, 생성된 질문 템플릿과 사용자 질의가 같지 않다고 판단되면 제2 질의 확장부(530)를 이용하여 사용자 질의를 확장할 수 있다.
다음으로, 제2 질의 확장부(530)는 생성된 질문 템플릿과 사용자 질의가 불일치한 경우, 유사 질문 템플릿을 생성한다. 보다 상세히, 제2 질의 확장부(530)는 자연어 처리 및 딥러닝 모델을 활용하여 시맨틱(semantic) 유사 질문 템플릿을 생성함으로써 질문 템플렛을 제2 확장하여 결과를 비교한다(S66). 즉, 제1 질의 확장부(520)에 의해 생성된 질문 템플릿과 사용자 질의가 일치하는 결과가 존재하지 않을 때, 유사 질의 엔진인 제2 질의 확장부(530)를 이용하여 기존에 생성했던 질문 템플릿 기반으로 질의 확장을 수행하고 유사 질문 템플릿을 추가적으로 생성할 수 있다(S74).
혹은, 상술한 S72 단계에서 제1 질의 확장부(520)의 사용자 질의 분석 결과 entity 및 attribute 가 인식 불가능하다고 판단한 경우, 제2 질의 확장부(530)는 기 도출된 사용자 질의 결과를 유사 질문 템플릿으로 하여 질의를 확장하여 결과를 비교한다(S63). 즉, 사용자 질의와 기 생성된 질문 템플릿을 유사 질의 엔진을 활용하여 결과를 확인한다(S78). 즉, 사용자 질의 분석 시 entity 및 attribute가 모두 발견되지 않을 경우, 기존 시스템 로그에서 답변된 내용을 기반으로 하여 제2 질의 확장부의 패러프레이징 엔진에서 사용자 질의와 시스템 로그 답변 내용을 유사도 비교하여 검색을 수행할 수 있으며, 이에 해당하는 것이 S63 및 S78 단계이다.
제2 질의 확장부(530)의 유사 질문 템플릿 생성 방식에는 자연어 처리 및 딥러닝 모델을 사용한 시맨틱(semantic) 유사질문 생성 방식이 사용되어, 시맨틱 유사 질문 템플릿을 확장하여 결과를 비교할 수 있다. 도 3 에 도시된 바와 같이, 제2 질의 확장부(530)는 자연어 확장 모듈(531) 및 패러프레이징 엔진(532)을 포함할 수 있다. 즉, 제2 질의 확장부(530)는 자연어 확장 모듈(531)을 통해 서술어 확장을 진행하고, 딥러닝 기반의 패러프레이징 엔진(532)을 통해 사용자 질의와 질문 템플릿의 유사도를 파악하여 사용자 의도에 맞는 답변을 제공할 수 있다.
먼저, 제2 질의 확장부(530)의 자연어 확장 모듈(531)는 는 자연어 처리 방식을 사용하여, 특정 주제의 질의에 대해 다양한 패턴을 제공하여 유사질문 템플릿을 생성할 수 있다. 일 실시예에서, '[Person]의 출생지는?' 이라는 질문은, '[Person]이 어디서 태어났어?', '[Person]이 태어난 곳이 어디야?' 등과 같은 의미를 가지고 있다. 제2 질의 확장부(530)에서는, 위의 예시와 같이 질의 템플릿에서 만든 entity-attribute 조합의 질문 템플릿을 자연어 처리 방식을 통해 확장하여 유사 질문 템플릿을 생성할 수 있다.
보다 상세히, 자연어 확장 모듈(531)의 자연어 처리 방식은 별도 구축한 유사질의 DB를 활용하여 특정 attribute에 따라 패턴 형식으로 확장하는 방식으로 구현될 수 있다. 일례로, '출생지' attribute의 경우, 제2 질의 확장부(530)는 '어디서 태어났어?', '태어난 곳은?', '태어난 곳이 어디야?' 등의 다양한 술어부 확장을 통해 질문 템플릿을 확장하여 유사 질문 템플릿을 생성할 수 있다.
또한, 제2 질의 확장부(530)의 패러프레이징 엔진(532)은 패러프레이징(paraphrasing)을 통해 사용자 질의의 시맨틱 유사 질문 템플릿을 생성한다. 또한, 패러프레이징 엔진(532)은 사용자 질의와 유사 질문 템플릿을 비교하여 결과를 확인한다(S75). 보다 상세히, 제2 질의 확장부(530)는 기존 생성된 질문 템플릿과 확장된 유사질문 템플릿을 합쳐, 딥러닝 기반의 패러프레이징 엔진을 통해 사용자 질의와 질문 템플릿, 유사 질문 템플릿의 유사도를 비교한다. 유사도 비교는 총 2단계로 진행되며, 세부적인 사항은 하기와 같다.
첫번째 단계로, 먼저 패러프레이징 엔진(532)은 사용자 질의와 제1 질의 확장부(520)가 생성한 기존 질문 템플릿, 유사질문 템플릿의 유사도를 측정하여, 질문 템플릿과 유사질문 템플릿의 총 숫자 에서 상위 N개의 후보군을 선정한다. 이 때, 상위 N개는 갯수는 관리자페이지 혹은 통계 기반의 피드백 프로그램에 따라 변경될 수 있다. 패러프레이징 엔진(532)은 사용자 질의와 기존 질문 템플릿, 유사질문 템플릿 Top N개를 비교하여, 가장 유사하다고 생각하는 하나의 질문 템플릿 및 유사도를 반환한다.
두번째 단계로, 패러프레이징 엔진(532)은 유사도를 기반으로 하여 선정된 Top 1의 질문 템플릿이 최종적으로 사용자 질의와 같은 의미인지를 판단한다. 판단 기준의 경우 최초에는 관리자가 임의로 선정하지만, 이후 실제 결과 피드백을 통해 통계 기반으로 조정될 수 있다. 예를 들어, 초기 유사도를 90%로 선정했다 해도, 실제 정답 도출 이력을 확인하여 85% 이상의 유사도임에도 답변을 올바르게 수행?다면, 자동으로 해당 유사도를 90%에서 85%로 변경하여 자동으로 답변 커버리지를 확대할 수 있다. 만약, 유사도가 일정 기준치 미만일 경우, 검색결과가 없다는 메시지를 출력할 수 있다.
한편, 제2 질의 확장부(530)는 상술한 단계가 끝나게 되면, 사용자 질의를 포함하여 Top 1개로 선정된 질문 템플릿, Top N개로 선정된 질문 템플릿, 검색 시간 및 단계, 검색 속도 등의 제반 시스템 정보를 별도의 DB로 저장할 수 있다.
다음으로, 질의 응답부(550)는 제1 질의 확장부(520) 및 제2 질의 확장부(530)를 통해 도출된 사용자 질의 결과를 사용자 단말(110)로 전달한다(S65). 사용자 질의 결과는 AI 기반 스마트 머신에 전달되어 특성에 맞는 인터페이스로 전달되며, 이와 함께 '사용자 질의'. '답변 여부'. '시간', '기기' 등의 세부적인 정보가 시스템 로그로 저장되어 차후 패러프레이징 모델 관리 등에 사용될 수 있다.
다음으로, 질의 응답부(550)는 도출된 사용자 질의 결과를 사용자 단말로 전달한다(S67).
또한, 본 발명의 일 실시예에 따른 학습 데이터 구축부(540)는 상기 도출된 사용자 질의 결과를 이용하여 제2 질의 확장부(530)를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성할 수 있다(S68). 즉, 제2 질의 확장부(530)는 학습 데이터 구축부(540)에 의해 생성된 학습 데이터를 이용하여 학습을 수행할 수 있다. 특히, 패러프레이징 엔진(532)은 딥러닝 모델을 이용한 시맨틱 유사 질문 사용 방법을 사용하는데, 이를 위해서는 풍부한 학습 데이터로 해당 딥러닝을 훈련시켜야 한다. 이에, 학습 데이터 구축부(540)는 패러프레이징 엔진의 학습(training)을 수행하며, 학습을 위한 학습 데이터를 생성할 수 있다.
보다 상세히, 본 발명의 일 실시예에 따르면 딥러닝 기반의 패러프레이징 엔진(532)의 경우 모델의 구조를 미리 지정하지 않고 학습을 통해 모델을 만들어 작업자의 개입이 최소화되며, 복잡하고 깊은 구조를 만들 수 있어 기존 방식보다 정확도가 높다는 특징이 있다. 하지만, 인간의 작업을 대체할 수 있는 성능을 내기 위해서는 수 만개 이상의 대량의 학습 데이터를 필요로 한다는 문제점이 존재한다. 이에, 본 발명의 일 실시예에 따르면 인공지능 질의 응답 장치는 학습 데이터를 자동으로 구축하는 방법을 제시한다.
먼저, 학습 데이터 구축부(540)는 패러프레이징(paraphrasing)을 위한 학습 데이터를 생성한다. 보다 상세히, 학습 데이터 구축부(540)는 상술한 제2 질의 확장부(530)가 시맨틱 유사 질문 템플릿을 형성할 수 있도록, 본 발명의 인공 지능 응답 방법을 학습시킬 수 있는 학습 데이터를 구축한다. 이를 위해, 학습 데이터 구축부(540)는 NMT 엔진 관리부(541), 학습 데이터 관리부(542) 및 모델 배포부(543)를 포함할 수 있다.
제2 질의 확장부(330)은 본 발명에서는 구축한 패러프레이징 엔진의 품질을 지속적으로 확보하기 위해, 학습 데이터 구축에 복수의 NMT(Neural Machine Translation) 엔진을 사용하기 위한 NMT 엔진 관리부(541)을 포함하고, 해당 NMT 엔진의 번역 품질을 관리하기 위한 통계 기반의 별도 관리 프로그램을 사용하는 학습 데이터 관리부(542)를 포함할 수 있다. 더불어, 생성된 학습 데이터로 학습을 진행하고, 패러프레이징 모델을 배포 및 적용하는 모델 배포부(543)을 포함하여, 일련의 과정을 포함하는 학습 데이터 구축 및 품질 관리가 총체적으로 본 발명의 구성이 될 수 있다.
도 8 은 본 발명의 일 실시예에 따라 학습 데이터 및 패러프레이징 모델을 구축하는 것을 설명하기 위한 도면이다.
먼저, 학습 데이터 구축부(540)는 학습 데이터를 만들기 위해, 사용자의 실제 질의를 원 데이터로 설정하고, 실제 질의 기반의 사용자 로그 데이터를 NMT 엔진 관리부(541)로 전송한다(S81). 이 때 실제 질의는 서버의 Log DB에 저장된 데이터를 사용할 수 있다. 학습 데이터 구축부(540)는 해당 데이터를 NMT 엔진 관리부(541)로 전달하여, 학습 데이터 생성 준비를 진행한다.
다음으로, NMT 엔진 관리부(541)는 신경망 기반의 외부 NMT 엔진을 복수로 사용하여, 사용자 로그 데이터 또는 사용자 질의를 타 언어로 번역 후, 한국어로 재번역하는 과정을 거쳐 학습 데이터를 생성한다(S82). 본 발명의 일 실시예에 따르면, NMT 엔진 관리부(541)는 한국어로 씌어진 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제 2문장을 획득할 수 있다. 즉, NMT 엔진 관리부(541)는 패러프레이징 엔진(532)이 동일한 질의 혹은 문장에 대해 이와 유사한 자연어 표현들을 학습 데이터로서 수집할 수 있도록 NMT 엔진을 활용할 수 있다.
본 발명에서 사용되는 NMT 엔진은 기 설정된 패턴 및 규칙 기반이 아닌, 학습을 통한 신경망 방식으로 번역을 수행하므로, 제1 문장을 외국어로 번역한 후 다시 한국어로 번역하면 제1 문장과 같거나 유사한 의미를 갖되 표현이 상이한 자연어 문장등을 획득할 수 있다. 또한, 외부 NMT 번역 엔진의 경우 각기 다른 신경망 규칙 및 다른 학습 데이터를 사용하기 때문에, 같은 문장을 특정 외국어로 번역 후 다시 한국어로 번역할 경우, 유사한 의미를 갖되 표현이 상이한 자연어 문장을 추가 적으로 획득할 수 있다.
더불어, 한국어인 제1 문장을 제1 외국어로 번역하고, 제1 외국어를 다시 제2 외국어로 번역한 후, 제2 외국어를 한국어로 번역할 경우, 유사한 의미를 갖되 또 다른 표현으로 표시된 자연어 문장을 추가 획득할 수 있다.
상술한 바와 같은 방식으로 형성된 학습 데이터는, 실제 사용자 질의 및 사용된 외부 NMT 정보, 번역 단계 및 번역에 사용된 언어 등과 함께 학습 데이터 관리부(542)로 전달된다. 구체적으로, 생성된 학습 데이터는 실제 사용자 질의에 기반하여 생성된 것이므로, 양자를 매칭하여 [실제 사용자 질의 - 생성된 학습 데이터] 형태로 학습 데이터 관리부(542)로 전달될 수 있다. 만약, 사용자 질의와 생성된 학습 데이터가 일치할 경우 해당 정보는 전달되지 않는다. 또한, 생성 날짜 및 시간, NMT 모델, 번역 언어와 같은 관련 정보도 학습 데이터 관리부(542)에 전달될 수 있다. 한편, 번역에 사용되는 언어, 번역 단계 등은 이후 학습 데이터 관리부(542)에서 실제 패러프레이징 엔진 학습 결과를 기반으로 하여 자동으로 조정될 수 있다.
다음으로, 학습 데이터 관리부(542)는 NMT 엔진 관리부(541)에서 생성된 학습 데이터를 저장하고, 실제 패러프레이징 모델의 학습을 진행하고, 테스트 및 검증할 수 있다(S83). 보다 상세히, 학습 데이터 관리부(542)는 NMT 엔진 관리부(541)에 의해 생성된 학습 데이터를 저장하고, 생성된 학습 데이터를 이용하여 패러프레이징 엔진에 적용될 수 있는 패러프레이징 모델의 학습을 진행하고, 상기 패러프레이징 모델을 테스트 및 검증한다. 도 8 에 도시된 패러프레이징 학습 프로세서는 실제로 패러프레이징 엔진을 학습하는 프로세서를 의미하며, 학습 데이터 구축부(540)에 포함된 일 기능을 의미하는 것일 수 있다.
구체적으로, 학습 데이터 관리부(542)는 NMT 엔진 관리부(541)에서 생성한 학습 데이터로 다양한 조건 하에서 패러프레이징 모델을 생성하여 학습시키고, 기 구축된 Test Set 기반으로 품질평가를 진행하여 우수한 성과를 거둔 NMT 모델 및 번역에 사용된 언어는 지속적으로 사용하고, 그렇지 않은 NMT 모델 및 번역에 사용된 언어는 사용 빈도수를 줄이거나 아예 제외하는 등의 학습 데이터 품질 관리 역할도 수행한다. 또한, NMT 엔진 관리부(541)는 패러프레이징 엔진을 활용한 검증을 통해 해당 NMT 엔진의 품질평가를 진행하여 저품질의 학습 데이터를 생성한 NMT 엔진의 가중치를 줄이거나, 제외할 수 있다.
보다 구체적으로, 학습 데이터 관리부(542)는 학습 데이터를 실제 사용자 질의와 NMT에서 생성된 질의를 쌍(pair)으로 하여 구성할 수 있다.
또한, 학습 데이터 관리부(542)는 NMT 엔진 관리부(541)에서 생성된 학습 데이터를 일정한 규칙으로 분류하고, 정확한 패러프레이징 엔진 훈련 및 품질 비교를 위해 각 단계별로 일정 수량을 확보한다. 일례로, 같은 사용자 질의에 기반하여, 구글 NMT 엔진을 사용하여 한국어 → 영어 → 한국어로 번역한 학습 데이터와 네이버 NMT 엔진을 사용하여 한국어 → 영어 → 한국어로 번역한 학습 데이터 수량을 일정하게 확보하며, 확보된 수량은 엔진별로 동일할 수 있다.
또한, 학습 데이터 관리부(542)는 NMT 엔진 사용별, 번역 언어 단계 및 종류별로 일정 수량 이상의 패러프레이징 모델을 훈련시키고, 각 엔진 및 언어별로 훈련시킨 패러프레이징 모델의 정확도를 기 구축한 test set을 통해 비교한다. 이 때, test set은 패러프레이징 모델에 훈련시키지 않은 실제 사용자 질의 및 테스트 질의로 구성되며, 테스트 질의를 패러프레이징 모델에 넣어 실제 사용자 질의가 올바로 도출되는지를 기준으로 평가한다.
또한, 학습 데이터 관리부(542)는 주어진 test set의 결과에 따라, 각 NMT 모델 및 번역 언어 단계 및 종류별 결과를 합산한다. 해당 결과에 따라, NMT 엔진관리에서 어떤 엔진을 더 많이 사용하고, NMT 별로 어떤 번역 방식을 주로 사용할지 자동으로 피드백하여 학습 데이터 생성 과정에 반영한다. 이때, 학습 데이터 관리부(542)는 성능 평가를 기준으로 차후 학습 데이터 생성 수량을 결정할 수 있다. 성능 평가를 나타내는 수식은 {(평가 결과)-(기본 모델 성능)}/(기본 모델 성능)이며, 해당 수식 결과를 기준으로 학습 데이터 관리부(542)는 학습 데이터 수량의 총량을 조정한다.
일례로 하기의 [표 1] 과 같은 결과가 나왔다고 하면. 구글 NMT의 한국어 → 영어 → 한국어 기반의 학습 데이터를 20% 더 많이 생성하고, 동시에 네이버 NMT의 한국어 → 영어 → 일어 → 한국어 기반의 학습 데이터를 20%로 더 많이 생성한다. 이를 통해 번역 엔진 별 번역 언어 순서 및 품질을 기준으로, 더 좋은 학습 데이터가 자동적으로 생성될 수 있다.
번역 모델 구글 NMT 구글 NMT 네이버 NMT 네이버 NMT
번역 언어 영어 영어->일어 영어 영어->일어
학습 데이터 수량 10,000 10,000 10,000 10,000
기본 모델 성능 50 50 50 50
평가 결과 60 50 50 60
성능 평가 20% - - 20%
다음으로, 모델 배포부(543)는 학습 데이터 기반으로 학습된 딥러닝 기반의 패러프레이징 모델을 실제로 사용할 수 있도록 배포하고 패러프레이징 모델의 앙상블을 생성한다(S84). 모델 배포부(543)는 실제 작업 수행 시 성능 향상을 위해 복수의 패러프레이징 모델을 묶어, 앙상블 형태로 패러프레이징 엔진에서 사용할 수 있도록 한다.
마지막으로, 학습 데이터 구축부(540)는 앙상블 형태의 패러프레이징 엔진을 정기적으로 서비스에 적용(S85)하여, 항상 최신의 품질 높은 엔진이 서비스에 적용될 수 있도록 한다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (16)

  1. 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부;
    사용자 질의를 분석하여 질문 템플릿을 생성하고, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하는지 여부를 판단하는 제1 질의 확장부;
    상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 자연어 처리 및 딥러닝 모델을 사용하여 유사 질문 템플릿을 생성하는 제2 질의 확장부;
    상기 제2 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부; 및
    상기 제1 질의 확장부 또는 상기 제2 질의 확장부를 통해 도출된 사용자 질의 결과를 상기 사용자 단말로 전달하는 질의 응답부;
    를 포함하는 인공 지능 질의 응답 시스템.
  2. 제 1 항에 있어서,
    상기 질문 템플릿 및 상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿인, 인공 지능 질의 응답 시스템.
  3. 제 1 항에 있어서,
    상기 학습 데이터 구축부는,
    상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는, 인공 지능 질의 응답 시스템.
  4. 제 1 항에 있어서,
    상기 제2 질의 확장부는,
    상기 사용자 질의를 자연어 처리하는 자연어 확장 모듈; 및
    상기 자연어 처리된 사용자 질의를 패러프레이징(paraphrasing)을 통해 유사 질문 템플릿을 생성하는 패러프레이징 엔진; 을 포함하는, 인공 지능 질의 응답 시스템.
  5. 제 1 항에 있어서,
    상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 상기 생성된 질문 템플릿에 대응하는 즉답을 상기 사용자 단말에 제공하는, 인공 지능 질의 응답 시스템.
  6. 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신 단계;
    사용자 질의를 분석하여 질문 템플릿을 생성하고, 상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하는지 여부를 판단하는 제1 질의 확장 단계;
    상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 자연어 처리 및 딥러닝 모델을 사용하여 유사 질문 템플릿을 생성하는 제2 질의 확장 단계;
    상기 제2 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축 단계; 및
    상기 제1 질의 확장 단계 또는 상기 제2 질의 확장 단계를 통해 도출된 사용자 질의 결과를 상기 사용자 단말로 전달하는 질의 응답 단계;
    를 포함하는 인공 지능 질의 응답 방법.
  7. 제 6 항에 있어서,
    상기 질문 템플릿 및 상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿인, 인공 지능 질의 응답 방법.
  8. 제 5 항에 있어서,
    상기 학습 데이터 구축 단계는,
    상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는, 인공 지능 질의 응답 방법.
  9. 제 6 항에 있어서,
    상기 제2 질의 확장 단계는,
    상기 사용자 질의를 자연어 처리하는 단계; 및
    상기 자연어 처리된 사용자 질의를 패러프레이징(paraphrasing)을 통해 유사 질문 템플릿을 생성하는 단계; 를 포함하는, 인공 지능 질의 응답 방법.
  10. 제 6 항에 있어서,
    상기 사용자 질의와 상기 생성된 질문 템플릿이 일치하지 않는 경우, 상기 생성된 질문 템플릿에 대응하는 즉답을 상기 사용자 단말에 제공하는, 인공 지능 질의 응답 방법.
  11. 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부;
    패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장부;
    상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부;를 포함하고,
    상기 학습 데이터 구축부는,
    상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는,
    인공 지능 질의 응답 시스템.
  12. 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신 단계;
    패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장 단계;
    상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축 단계; 를 포함하고,
    상기 학습 데이터 구축 단계는,
    상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는,
    를 포함하는 인공 지능 질의 응답 시스템.
  13. 제 12 항에 있어서,
    상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿인, 인공 지능 질의 응답 시스템.
  14. 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신 단계;
    패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장 단계;
    상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축 단계;를 포함하고,
    상기 학습 데이터 구축 단계는,
    상기 NMT 엔진을 사용하여 한국어인 제1 문장을 특정 외국어로 번역하고, 특정 외국어로 번역한 제1 문장을 다시 한국어로 번역하여 제2 문장을 획득하며, 생성된 제2 문장을 학습 데이터로 구축하는,
    를 포함하는 인공 지능 질의 응답 방법.
  15. 제 14 항에 있어서,
    상기 유사 질문 템플릿은 엔티티(Entity), 어트리뷰트(attribute) 및 즉답(instant answer) 로 이루어진 시맨틱 트리플(semantic triple) 기반의 질문 템플릿인, 인공 지능 질의 응답 방법.
  16. 사용자 단말로부터 사용자 질의를 수신하는 사용자 질의 수신부;
    패러프레이징 엔진을 사용하여 상기 사용자 질의의 유사 질문 템플릿을 생성하는 질의 확장부;
    상기 질의 확장부를 학습(training)시키기 위한 학습 데이터를 NMT(Neural Machine Translation) 엔진을 이용하여 생성하는 학습 데이터 구축부;를 포함하고,
    상기 학습 데이터 구축부는,
    상기 신경망 기반의 NMT 엔진으로 사용자 로그 데이터를 번역 및 재번역하여 학습 데이터를 생성하는 NMT 엔진 관리부; 및
    상기 NMT 엔진 관리부에 의해 생성된 학습 데이터를 저장하고, 상기 생성된 학습 데이터를 이용하여 상기 패러프레이징 엔진에 적용될 수 있는 패러프레이징 모델의 학습을 진행하고, 상기 패러프레이징 모델을 테스트 및 검증하는 학습 데이터 관리부; 를 포함하는, 인공 지능 질의 응답 시스템.
KR1020180112488A 2018-09-19 2018-09-19 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램 KR102128549B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020180112488A KR102128549B1 (ko) 2018-09-19 2018-09-19 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램
US16/184,728 US10832004B2 (en) 2018-09-19 2018-11-08 Method, system, and computer program for artificial intelligence answer
EP18207992.1A EP3627398A1 (en) 2018-09-19 2018-11-23 Method, system, and computer program for artificial intelligence answer
KR1020200076781A KR102261199B1 (ko) 2018-09-19 2020-06-23 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램
US17/039,273 US11373047B2 (en) 2018-09-19 2020-09-30 Method, system, and computer program for artificial intelligence answer
US17/833,493 US11822890B2 (en) 2018-09-19 2022-06-06 Method, system, and computer program for artificial intelligence answer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180112488A KR102128549B1 (ko) 2018-09-19 2018-09-19 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200076781A Division KR102261199B1 (ko) 2018-09-19 2020-06-23 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20200036086A true KR20200036086A (ko) 2020-04-07
KR102128549B1 KR102128549B1 (ko) 2020-07-08

Family

ID=64456815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180112488A KR102128549B1 (ko) 2018-09-19 2018-09-19 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램

Country Status (3)

Country Link
US (3) US10832004B2 (ko)
EP (1) EP3627398A1 (ko)
KR (1) KR102128549B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220075709A (ko) * 2020-11-30 2022-06-08 주식회사 리노스 기계학습용 데이터 생성방법 및 이를 이용한 기계학습 스케줄링 방법
KR20220083332A (ko) * 2020-12-11 2022-06-20 주식회사 워크앤조이 그룹웨어에 특화된 누적특성 데이터 기반 질의 보정 기술이 적용된 챗봇 시스템 및 이에 의한 검색 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128549B1 (ko) * 2018-09-19 2020-07-08 주식회사 포티투마루 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램
BR112021010468A2 (pt) * 2018-12-31 2021-08-24 Intel Corporation Sistemas de segurança que empregam inteligência artificial
US11295077B2 (en) * 2019-04-08 2022-04-05 International Business Machines Corporation Stratification of token types for domain-adaptable question answering systems
CN111444724B (zh) * 2020-03-23 2022-11-15 腾讯科技(深圳)有限公司 医疗问答对质检方法、装置、计算机设备和存储介质
CN111177326B (zh) * 2020-04-10 2020-08-04 深圳壹账通智能科技有限公司 基于精标注文本的关键信息抽取方法、装置及存储介质
CN111858883A (zh) * 2020-06-24 2020-10-30 北京百度网讯科技有限公司 三元组样本的生成方法、装置、电子设备及存储介质
CN111949786B (zh) * 2020-08-18 2024-04-16 中国银行股份有限公司 智能问答模型优化方法及装置
US20220138170A1 (en) * 2020-10-29 2022-05-05 Yext, Inc. Vector-based search result generation
CN113392631B (zh) * 2020-12-02 2024-04-26 腾讯科技(深圳)有限公司 一种语料扩展的方法以及相关装置
JP2022165715A (ja) * 2021-04-20 2022-11-01 富士通株式会社 情報検索プログラム、情報検索方法、および情報検索装置
US12013884B2 (en) 2022-06-30 2024-06-18 International Business Machines Corporation Knowledge graph question answering with neural machine translation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150014236A (ko) * 2013-07-29 2015-02-06 한국전자통신연구원 인터랙티브 캐릭터 기반 외국어 학습 장치 및 방법
KR101678787B1 (ko) * 2015-07-15 2016-12-06 포항공과대학교 산학협력단 자동질의응답 방법 및 그 장치
KR20170101609A (ko) * 2016-02-29 2017-09-06 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템
KR101851787B1 (ko) 2017-05-11 2018-04-24 주식회사 마인드셋 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법
KR20180060903A (ko) * 2016-11-28 2018-06-07 삼성전자주식회사 발화의 문맥을 공유하여 번역을 수행하는 전자 장치 및 그 동작 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122042B2 (en) * 2009-06-26 2012-02-21 Iac Search & Media, Inc. Method and system for determining a relevant content identifier for a search
US20110314003A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Template concatenation for capturing multiple concepts in a voice query
US8719192B2 (en) * 2011-04-06 2014-05-06 Microsoft Corporation Transfer of learning for query classification
US8762324B2 (en) * 2012-03-23 2014-06-24 Sap Ag Multi-dimensional query expansion employing semantics and usage statistics
US9336495B2 (en) * 2012-10-28 2016-05-10 Nec Corporation Query generation and time difference features for supervised semantic indexing
US9535898B2 (en) * 2013-02-06 2017-01-03 International Business Machines Corporation Natural language question expansion and extraction
US9870390B2 (en) * 2014-02-18 2018-01-16 Oracle International Corporation Selecting from OR-expansion states of a query
US9672552B2 (en) * 2014-03-27 2017-06-06 GroupBy Inc. Methods of augmenting search engines for ecommerce information retrieval
US9830556B2 (en) * 2014-05-21 2017-11-28 Excalibur Ip, Llc Synthetic question formulation
US9633309B2 (en) 2014-06-19 2017-04-25 International Business Machines Corporation Displaying quality of question being asked a question answering system
US11017312B2 (en) * 2014-12-17 2021-05-25 International Business Machines Corporation Expanding training questions through contextualizing feature search
US10546001B1 (en) * 2015-04-15 2020-01-28 Arimo, LLC Natural language queries based on user defined attributes
JP6544131B2 (ja) * 2015-08-14 2019-07-17 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US10380154B2 (en) * 2015-10-17 2019-08-13 International Business Machines Corporation Information retrieval using structured resources for paraphrase resolution
US20170206154A1 (en) * 2016-01-20 2017-07-20 International Business Machines Corporation System and method for determining quality metrics for a question set
US9953027B2 (en) * 2016-09-15 2018-04-24 International Business Machines Corporation System and method for automatic, unsupervised paraphrase generation using a novel framework that learns syntactic construct while retaining semantic meaning
CA3055379C (en) * 2017-03-10 2023-02-21 Eduworks Corporation Automated tool for question generation
US10733380B2 (en) * 2017-05-15 2020-08-04 Thomson Reuters Enterprise Center Gmbh Neural paraphrase generator
KR101853091B1 (ko) * 2017-05-19 2018-04-27 (주)뤼이드 기계학습이 적용된 사용자 답변 예측 프레임워크를 통한 개인 맞춤형 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램
US20180341871A1 (en) * 2017-05-25 2018-11-29 Accenture Global Solutions Limited Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains
US10423665B2 (en) * 2017-08-02 2019-09-24 Oath Inc. Method and system for generating a conversational agent by automatic paraphrase generation based on machine translation
US20190164064A1 (en) * 2017-11-27 2019-05-30 Shanghai Xiaoi Robot Technology Co., Ltd. Question and answer interaction method and device, and computer readable storage medium
US20190171728A1 (en) * 2017-12-01 2019-06-06 Microsoft Technology Licensing, Llc Contextual predictive type-ahead query suggestions
US11531858B2 (en) * 2018-01-02 2022-12-20 International Business Machines Corporation Cognitive conversational agent for providing personalized insights on-the-fly
US11232261B2 (en) * 2018-06-06 2022-01-25 Koninklijke Philips N.V. Open domain real-time question answering
KR102128549B1 (ko) * 2018-09-19 2020-07-08 주식회사 포티투마루 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150014236A (ko) * 2013-07-29 2015-02-06 한국전자통신연구원 인터랙티브 캐릭터 기반 외국어 학습 장치 및 방법
KR101678787B1 (ko) * 2015-07-15 2016-12-06 포항공과대학교 산학협력단 자동질의응답 방법 및 그 장치
KR20170101609A (ko) * 2016-02-29 2017-09-06 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템
KR20180060903A (ko) * 2016-11-28 2018-06-07 삼성전자주식회사 발화의 문맥을 공유하여 번역을 수행하는 전자 장치 및 그 동작 방법
KR101851787B1 (ko) 2017-05-11 2018-04-24 주식회사 마인드셋 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220075709A (ko) * 2020-11-30 2022-06-08 주식회사 리노스 기계학습용 데이터 생성방법 및 이를 이용한 기계학습 스케줄링 방법
KR20220083332A (ko) * 2020-12-11 2022-06-20 주식회사 워크앤조이 그룹웨어에 특화된 누적특성 데이터 기반 질의 보정 기술이 적용된 챗봇 시스템 및 이에 의한 검색 방법

Also Published As

Publication number Publication date
US20210081616A1 (en) 2021-03-18
US10832004B2 (en) 2020-11-10
US11822890B2 (en) 2023-11-21
US20220300715A1 (en) 2022-09-22
KR102128549B1 (ko) 2020-07-08
US11373047B2 (en) 2022-06-28
US20200089768A1 (en) 2020-03-19
EP3627398A1 (en) 2020-03-25

Similar Documents

Publication Publication Date Title
KR102128549B1 (ko) 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램
KR102261199B1 (ko) 인공 지능 질의 응답 시스템, 방법 및 컴퓨터 프로그램
US10878009B2 (en) Translating natural language utterances to keyword search queries
CN109783651B (zh) 提取实体相关信息的方法、装置、电子设备和存储介质
TWI684881B (zh) 基於機器翻譯的自動生成重述以產生一對話式代理人的方法、系統及非暫態機器可讀取媒體
CN108959559B (zh) 问答对生成方法和装置
KR102090237B1 (ko) 시맨틱 트리플 기반의 지식 확장 시스템, 방법 및 컴퓨터 프로그램
US7853582B2 (en) Method and system for providing information services related to multimodal inputs
CN109196496A (zh) 未知词预测器和内容整合的翻译器
US20220414463A1 (en) Automated troubleshooter
CN110147544B (zh) 一种基于自然语言的指令生成方法、装置以及相关设备
KR102146524B1 (ko) 음성 인식 학습 데이터 생성 시스템, 방법 및 컴퓨터 프로그램
US8370323B2 (en) Providing information services related to multimodal inputs
WO2024011813A1 (zh) 一种文本扩展方法、装置、设备及介质
CN111553138A (zh) 用于规范内容结构文档的辅助写作方法及装置
CN113190692A (zh) 一种知识图谱的自适应检索方法、系统及装置
CN111046168B (zh) 用于生成专利概述信息的方法、装置、电子设备和介质
US20210149900A1 (en) Method, system and computer program for semantic triple-based knowledge extension
CN114391142A (zh) 使用结构化和非结构化数据的解析查询
KR20230148561A (ko) 문서 요약 방법 및 시스템
EP3822817A1 (en) Method, system and computer program for semantic triple-based knowledge extension
CN113822034B (zh) 一种复述文本的方法、装置、计算机设备及存储介质
CN117235237B (zh) 一种文本生成方法及相关装置
Narayan et al. Pre-Neural Approaches
CN117909504A (zh) 一种文本质量评估、以及文本质量评估模型的训练方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant