KR20190115721A - 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램 - Google Patents

질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램

Info

Publication number
KR20190115721A
KR20190115721A KR1020180038751A KR20180038751A KR20190115721A KR 20190115721 A KR20190115721 A KR 20190115721A KR 1020180038751 A KR1020180038751 A KR 1020180038751A KR 20180038751 A KR20180038751 A KR 20180038751A KR 20190115721 A KR20190115721 A KR 20190115721A
Authority
KR
South Korea
Prior art keywords
query
triple data
data
triple
answer
Prior art date
Application number
KR1020180038751A
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 KR1020180038751A priority Critical patent/KR20190115721A/ko
Publication of KR20190115721A publication Critical patent/KR20190115721A/ko
Priority to KR1020220184349A priority patent/KR20230005797A/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/3344Query execution using natural language analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • G06F17/2755
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

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

Abstract

사용자로부터 입력된 질의어를 처리하는 장치는 사용자로부터 질의어를 입력받는 질의어 입력부, 상기 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환하는 제 1 트리플 데이터 변환부, 웹 문서를 수집하고, 상기 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환하는 제 2 트리플 데이터 변환부, 상기 제 1 트리플 데이터 및 상기 제 2 트리플 데이터에 기초하여 상기 질의어에 대한 답변을 제공하는 답변 제공부를 포함하고, 상기 제 1 트리플 데이터는 적어도 3 개의 질의 요소를 포함하는 질의 데이터이고, 상기 제 2 트리플 데이터는 적어도 4개의 답변 요소를 포함하는 답변 데이터이다.

Description

질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER PROGRAM FOR PROCESSING INQUIRY}
본 발명은 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
지능형 개인 비서는 사용자가 요구하는 작업을 처리하고, 사용자에게 특화된 서비스를 제공하는 소프트웨어 에이전트이다. 지능형 개인 비서는 인공 지능(AI) 엔진과 음성 인식을 기반으로 사용자에게 맞춤 정보를 수집하여 제공하고, 사용자의 음성 명령에 따라 일정 관리, 이메일 전송, 식당 예약 등 여러 기능을 수행하는 점에서 사용자의 편의성을 향상시키는 장점을 갖는다.
이러한 지능형 개인 비서는 주로 스마트폰에서 맞춤형 개인 서비스의 형태로 제공되고 있으며, 대표적으로 애플의 시리(siri), 구글의 나우(now), 삼성의 빅스비 등이 이에 포함된다. 이와 관련하여, 선행기술인 한국공개특허 제 2016-0071111호는 전자 장치에서의 개인 비서 서비스 제공 방법을 개시하고 있다.
최근에는 지능형 개인 비서를 통해 사용자로부터 질의어를 입력받고, 그에 대한 답변을 제공하는 검색 서비스가 제공되고 있다. 이러한 검색 서비스는 사용자로부터 입력받은 질의어를 즉각적으로 답변하기 위해 온톨로지 형태의 검증된 지식 베이스를 구축하여 온톨로지 기반으로 답변을 제공하는 시맨틱 웹기반의 질의 응답시스템 및 웹 문서의 자연어 분석을 통해 질의어에 대한 가능성 높은 답변을 제공하는 자연어 처리 기반의 QA 시스템이 이용되어 왔다. 그러나 전자의 방법은 지식베이스의 구축이 어렵다는 단점을 가지고, 후자의 방법은 광범위한 지식 구축이 쉬운 반면 정확도가 낮다는 단점을 갖는다.
개체명을 포함한 구문 구조 분석 기반의 타이트한 규칙을 적용하여 상대적으로 정확도 높은 광범위한 지식을 구축할 수 있도록 하는 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다. 타이트한 규칙으로 구축할 수 있는 지식의 확장이 요구되므로, 정제된 규칙을 지속적으로 구축할 수 있도록 하는 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다. 타이트한 규칙으로 예외적인 문장에 대한 오분석이 적고, 규칙을 지속적으로 확장할 수 있으므로, 성격이 다른 웹문서에도 손쉽게 적용 가능한 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다. 비정형 문장으로부터 의미를 내포하는 형태의 트리플 데이터로 변환하므로, 온톨로지 구축에 효과적으로 활용할 수 있는 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 사용자로부터 질의어를 입력받는 질의어 입력부, 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환하는 제 1 트리플 데이터 변환부, 웹 문서를 수집하고, 상기 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환하는 제 2 트리플 데이터 변환부, 제 1 트리플 데이터 및 제 2 트리플 데이터에 기초하여 질의어에 대한 답변을 제공하는 답변 제공부를 포함하고, 제 1 트리플 데이터는 적어도 3 개의 질의 요소를 포함하는 질의 데이터이고, 제 2 트리플 데이터는 적어도 4 개의 답변 요소를 포함하는 답변 데이터인 것인 질의어 처리 장치를 제공할 수 있다.
본 발명의 다른 실시예는, 사용자로부터 질의어를 입력받는 단계, 입력받은 질의어를 기정의된 적어도 3개의 요소를 포함하는 질의 데이터로 변환하는 단계, 웹 문서를 수집하고, 웹 문서에 포함된 문장을 기정의된 적어도 4개의 요소를 포함하는 답변 데이터로 변환하는 단계, 질의 데이터 및 답변 데이터에 기초하여 질의어에 대한 답변을 제공하는 단계를 포함하는 질의어 처리 방법을 제공할 수 있다.
본 발명의 또 다른 실시예는, 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 사용자로부터 질의어를 입력받고, 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환하고, 웹 문서를 수집하고, 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환하고, 제 1 트리플 데이터 및 제 2 트리플 데이터에 기초하여 질의어에 대한 답변을 제공하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 개체명을 포함한 구문 구조 분석 기반의 타이트한 규칙을 적용하여 상대적으로 정확도 높은 광범위한 지식을 구축할 수 있도록 하는 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다. 타이트한 규칙으로 구축할 수 있는 지식의 확장이 요구되므로, 정제된 규칙을 지속적으로 구축할 수 있도록 하는 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다. 타이트한 규칙으로 예외적인 문장에 대한 오분석이 적고, 규칙을 지속적으로 확장할 수 있으므로, 성격이 다른 웹문서에도 손쉽게 적용 가능한 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다. 비정형 문장으로부터 의미를 내포하는 형태의 트리플 데이터로 변환하므로, 온톨로지 구축에 효과적으로 활용할 수 있는 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 질의어 처리 장치의 구성도이다.
도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 질의어 처리 장치에서 질의어를 처리하는 과정을 도시한 예시적인 도면이다.
도 3은 본 발명의 일 실시예에 따른 질의어 처리 장치에서 질의어를 처리하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 질의어 처리 장치의 구성도이다. 도 1을 참조하면, 질의어 처리 장치(100)는 질의어 입력부(110), 제 1 트리플 데이터 변환부(120), 제 2 트리플 데이터 변환부(130), 색인 생성부(140), 답변 제공부(150) 및 트레이닝부(160)를 포함할 수 있다.
질의어 입력부(110)는 사용자로부터 질의어를 입력받을 수 있다. 예를 들어, 질의어 입력부(110)는 사용자로부터 "백두산 높이가 얼마야"와 같은 질의어를 입력받을 수 있다.
제 1 트리플 데이터 변환부(120)는 질의어를 제 1 트리플 데이터로 변환하기 위한 사전 작업으로, 자연어 형태의 질의어를 적어도 하나의 형태소로 분리하고, 적어도 하나의 형태소로 분리된 질의어 각각에 대해 개체명을 분석하고, 분석된 개체명에 기초하여 상기 질의어의 구문 구조를 분석할 수 있다. 본원 발명의 트리플 데이터는 질의 요소로 구성된 제 1 트리플 데이터 및 답변 요소로 구성된 제 2 트리플 데이터를 포함할 수 있다.
구체적으로, 제 1 트리플 데이터 변환부(120)는 질의어를 적어도 하나의 형태소로 분리하여 분리된 형태소 각각에 대응하는 품사를 태깅할 수 있다. 예를 들어, 제 1 트리플 데이터 변환부(120)는 입력받은 질의어를 '백두산+높이+가+얼마+이+야'와 같이 형태소로 분리하고, 분리된 형태소 각각에 '백두산/명사+높이/명사+가/조사+얼마/명사+이/긍정지정사+야/종결어미'와 같이 품사를 태깅할 수 있다.
제 1 트리플 데이터 변환부(120)는 분리된 적어도 하나의 형태소를 나열하고, 형태소 순서 및 품사 순서가 저장된 사전을 이용하여 나열된 형태소의 순서 및 형태소 각각에 태깅된 품사의 순서에 기초하여 개체명을 분석할 수 있다. 또는, 제 1 트리플 데이터 변환부(120)는 CRF(Conditional Random field)와 HMM(Hidden Markov Models) 등과 같은 머신 러닝을 이용하여 특정 형태소와 품사의 주변 정보를 활용하여 개체명을 분석할 수도 있다. 예를 들어, 제 1 트리플 데이터 변환부(120)는 '백두산/<산>+높이/<높이속성>+가/조사+얼마<질의유형>'과 같이 개체명을 분석할 수 있다.
제 1 트리플 데이터 변환부(120)는 분석된 개체명에 대해 태깅된 품사의 위계 관계를 이용하여 질의어의 구문 구조를 분석할 수 있다. 예를 들어, 제 1 트리플 데이터 변환부(120)는 분석된 개체명에 대해 태깅된 품사의 위계 관계를 이용하여 질의어를 '[백두산<산>+높이/<높이속성>], 용언[얼마<질의유형>]과 같은 형태로 구문 구조를 분석할 수 있다.
제 1 트리플 데이터 변환부(120)는 형태소로 분리된 질의어의 개체명이 복수개로 분석된 경우, 분석된 복수개의 개체명 각각에 대해 질의어의 구문 구조를 분석할 수 있다. 이 때, 제 1 트리플 데이터 변환부(120)는 구문 구조의 분석 결과에 기초하여 기설정된 우선순위에 따라 분석된 복수개의 개체명 각각의 가중치를 부여하고, 가중치가 높은 개체명을 포함하는 질의어를 제 1 트리플 데이터로 변환할 수 있다. 예를 들어, '백두산'의 개체명이 산과 책제목으로 2개의 개체명이 도출된 경우, 제 1 트리플 데이터 변환부(120)는 개체명이 산인 경우에 대해 [백두산<산>+높이/높이속성>], 용언[얼마<질의유형>]으로 구문 구조를 분석하고, 개체명이 책제목인 경우에 대해 [백두산<책>+높이/높이속성>], 용언[얼마<질의유형>]으로 구문 구조를 분석하고, 이 중 '높이'와 '얼마'라는 표현에 기초하여 개체명이 산인 경우의 가중치를 높게 하여 해당 질의어를 제 1 트리플 데이터로 변환되도록 할 수 있다.
제 1 트리플 변환부(120)는 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환할 수 있다. 제 1 트리플 데이터는 적어도 3개의 질의 요소를 포함하는 질의 데이터일 수 있다. 예를 들어, 제 1 트리플 데이터는 ([대상], [대상의 특징], [질의유형])의 형식으로 구성될 수 있다.
제 1 트리플 데이터 변환부(120)는 기정의된 복수의 제 1 구조 규칙 중 분석된 구문 구조에 대응되는 제 1 구조 규칙을 추출하고, 추출된 제 1 구조 규칙에 기초하여 질의어를 규칙 기반의 제 1 트리플 데이터로 변환할 수 있다. 예를 들어, 제 1 구조 규칙은 조건이 [개체명 기반 구문분석 패턴]이고, 출력이 [트리플 데이터]의 쌍(pair)의 형식으로 구성될 수 있다. 예를 들어, 제 1 트리플 데이터 변환부(120)는 질의어의 분석된 구문 구조에 기초하여 "백두산[산], 높이[속성], ?what"의 형식의 제 1 트리플 데이터로 변환할 수 있다.
제 1 트리플 데이터 변환부(120)는 질의어가 규칙 기반의 제 1 트리플 데이터로 변환되지 않은 경우, 기정의된 일반 문장 패턴을 이용하여 질의어를 패턴 기반의 제 1 트리플 데이터로 변환할 수 있다. 기정의된 일반 문장 패턴은 [명사, 속성, 질의유형]의 형식으로 구성될 수 있다. 예를 들어, 사용자로부터 입력된 질의어가 "서울대학교 위치가 어디야?"인 경우, 제 1 트리플 데이터 변환부(120)는 기정의된 일반 문장 패턴을 이용하여 "서울대학교<명사>, 주소<속성>, ?what"의 형식의 제 1 트리플 데이터로 변환할 수 있다.
제 2 트리플 데이터 변환부(130)는 지식 정보를 포함하는 웹 문서를 제 2 트리플 데이터로 변환하기 위한 사전 작업으로, 수집한 비정형의 웹 문서를 문장 단위로 파싱하고, 파싱된 문장을 적어도 하나의 형태소로 분리하고, 적어도 하나의 형태소로 분리된 문장 각각에 대해 개체명을 분석하고, 분석된 개체명에 기초하여 구문 구조를 분석할 수 있다.
구체적으로, 제 2 트리플 데이터 변환부(130)는 유효 지식을 포함하는 특정 웹사이트(예를 들어, 위키피디아, 백과사전 사이트 등)로부터 웹 문서를 수집하여 문장 단위로 파싱할 수 있다. 이 때, 제 2 트리플 데이터 변환부(130)는 구문 구조의 분석 결과에 기초하여 기설정된 우선순위에 따라 분석된 복수개의 개체명 각각의 가중치를 부여하고, 가중치가 높은 개체명을 포함하는 문장을 상기 제 2 트리플 데이터로 변환할 수 있다. 이후, 제 2 트리플 데이터 변환부(130)는 제 1 트리플 데이터 변환부(120)와 동일하게 문장으로부터 형태소 분리, 개체명 분석, 구문 구조를 분석하는 과정을 거치므로 이에 대한 설명은 생략하도록 한다.
제 2 트리플 데이터 변환부(130)는 웹 문서를 수집하고, 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환할 수 있다. 제 2 트리플 데이터는 적어도 4개의 답변 요소를 포함하는 답변 데이터일 수 있다. 이 때, 제 2 트리플 데이터 변환부(130)는 제 1 트리플 데이터 변환부(120)와는 다르게 규칙 기반의 트리플 데이터로 변환하는 구성만을 적용할 수 있다. 예를 들어, 제 2 트리플 데이터는 ([대상], [대상의특징], [질의유형], [답변])의 형식으로 구성될 수 있다.
제 2 트리플 데이터 변환부(130)는 기정의된 복수의 제 2 구조 규칙 중 분석된 구문 구조에 대응되는 제 2 구조 규칙을 추출하고, 추출된 제 2 구조 규칙에 기초하여 파싱된 문장을 규칙 기반의 제 2 트리플 데이터로 변환할 수 있다. 예를 들어, 제 2 구조 규칙은 조건이 [개체명 기반 구문분석 패턴]이고, 출력이 [트리플 데이터]의 쌍(pair) 형식으로 구성될 수 있다.
예를 들어, 제 2 트리플 데이터 변환부(130)는 분석된 개채명에 대해 태깅된 품사의 위계 관계를 이용하여 파싱된 문장을 '[백두산<산>+높이/<높이속성>], 용언[2744m<수치>]와 같은 형태로 구문 구조를 분석하고, 분석된 구문 구조에 기초하여 "백두산[산], 높이[속성], ?what, 2744m"의 형식의 제 2 트리플 데이터로 변환할 수 있다.
색인 생성부(140)는 변환된 제 2 트리플 데이터에 대한 색인을 생성할 수 있다. 색인 생성부(140)는 변환된 제 2 트리플 데이터를 실제 검색에 활용하기 위해 색인을 생성함으로써, 답변 제공부(150)에서 생성된 색인에 기초하여 사용자로부터 입력받은 질의어에 대한 제 2 트리플 데이터를 검색할 수 있게 된다.
답변 제공부(150)는 제 1 트리플 데이터 및 제 2 트리플 데이터에 기초하여 질의어에 대한 답변을 제공할 수 있다.
우선, 답변 제공부(150)는 제 1 트리플 데이터를 이용하여 사용자로부터 입력된 질의어에 대한 답변을 검색할 수 있다. 예를 들어, 답변 제공부(150)는 제 1 트리플 데이터로부터 SPARQL(Simple Protocol and Resource Description Framework Query Language)을 생성하고, 외부 LOD(Linked Open Data) 또는 자체 온톨로지에 질의하여 답변을 생성할 수 있다. 답변 제공부(150)는 사전에 정의한 SPARQL 규칙을 이용하여 제 1 트리플 데이터로부터 온톨로지 질의를 위한 포맷인 SPARQL을 생성할 수 있다. SPARQL 규칙이란 제 1 트리플 데이터를 입력으로 하여 어떤 SPARQL을 출력해야 하는 지를 규칙으로 정의한 내용으로, 질의를 하려는 온톨로지의 구조에 따라 SPARQL이 달라져야 하므로, 하나의 Qtype으로부터 여러 개의 SPARQL이 생성될 수 있다. 이후, 생성된 SPARQL을 이용하여 외부 LOD 또는 자체 온톨로지에 질의하여 결과를 전달받은 후, 신뢰도를 체크하여 답변을 생성할 수 있다.
이후, 제 1 트리플 데이터를 이용한 검색 결과가 존재하지 않거나 신뢰도가 낮은 경우, 답변 제공부(150)는 웹 문서에 기초하여 구축된 제 2 트리플 데이터를 검색하여 질의어에 대한 답변을 제공할 수 있다. 제 2 트리플 데이터는 제 1 트리플 데이터의 형식에 답변이 추가된 형식이므로, 제 1 트리플 데이터를 이용하여 제 2 트리플 데이터를 검색함으로써 사용자가 원하는 답변을 손쉽게 찾을 수 있게 된다. 이 때, 답변 제공부(150)는 제 2 트리플 데이터에 대한 색인에 기초하여 제 1 트리플 데이터를 검색 키워드로 이용하여 제 1 트리플 데이터에 대응하는 제 2 트리플 데이터를 검색하고, 검색된 제 2 트리플 데이터에 기초하여 질의어에 대한 답변을 생성할 수 있다.
트레이닝부(160)는 학습 데이터를 이용하여 제 1 트리플 데이터를 트레이닝할 수 있다. 여기서, 학습 데이터는 패턴 기반의 제 1 트리플 데이터 및 패턴 기반의 제 1 트리플 데이터에 해당하는 구문 구조의 쌍으로 구성될 수 있다. 즉, 트레이닝부(160)는 개체명 기반의 구문 구조의 분석 결과가 입력되면, 제 1 트리플 데이터로 출력하는 모델을 생성할 수 있다. 이 때, 기계학습에 사용되는 데이터가 중요하므로, 제 1 트리플 데이터를 학습 데이터에 포함할지 여부를 결정하기 위한 별도의 검증 UI가 필요할 수 있다. 이후, 트레이닝부(160)는 학습 데이터를 이용하여 RNN(Recurrent Neural Network), DNN(Deep Neural Network) 등의 딥러닝 또는 네이브 베이지안(naive Bayesian) 등과 같은 전통적인 기계학습 모델을 이용할 수 있다.
트레이닝부(160)는 규칙 생성 모델의 생성 이후에 전달되는 패턴 기반의 제 1 트리플 데이터를 새로운 규칙 기반의 트리플 데이터의 생성에 이용할 수 있다. 규칙 생성 모델의 생성 이후에 전달되는 패턴 기반의 제 1 트리플 데이터의 구문 분석 결과가 규칙 생성 모델에 입력되면, 출력으로 규칙 기반의 제 1 트리플 데이터가 출력되고, 패턴 기반의 개체명을 포함하는 구문 분석 결과와 생성된 규칙 기반의 제 1 트리플 데이터와의 관계가 적합한지를 검증할 수 있다. 검증이 완료되면, 최종적으로 규칙 기반의 제 1 트리플 데이터의 변환에 이용될 수 있다.
트레이닝부(160)는 학습 데이터를 이용하여 제 2 트리플 데이터를 트레이닝할 수 있다. 여기서, 학습 데이터는 복수개인 파싱된 문장 중 제 2 트리플 데이터로 변환되지 않은 문장 및 변환되지 않은 문장에 대해 분석된 구문 구조의 쌍으로 구성될 수 있다. 학습 데이터를 생성하기 위한 방식으로, 예를 들어, 지식 정보를 포함하는 데이터베이스와 변환되지 않은 개체명을 포함하는 문장에 대해 분석된 구문 구조를 비교하여 제 2 트리플 데이터를 생성하여 학습 데이터로 활용하는 방식이 이용될 수 있다. 이 방식은 지식 정보를 포함하는 데이터베이스로부터 온톨로지의 트리플 데이터를 수집하고, 수집한 트리플 데이터를 제 2 트리플 데이터로 변환하는 과정을 진행할 수 있다. 예를 들어, Subject-Property-Object(백두산-높이-2744m)와 같이 정형화된 기존의 온톨로지 트리플 데이터를 (백두산[산], 높이[속성], ?what, 2744m)의 형식의 제 2 트리플 데이터로 변환할 수 있다. 이후, 지식 정보를 포함하는 데이터베이스의 트리플 데이터로부터 변환된 제 2 트리플 데이터와 변환되지 않은 문장에 대해 분석된 구문 구조를 비교하여 개체명을 포함하는 구문 구조 결과에 가장 적합한 제 2 트리플 데이터를 찾는 과정을 수행할 수 있다. 또는, 문장의 패턴을 이용하여 제 2 트리플 데이터를 생성한 후 학습 데이터로 활용하는 제 2 방식이 이용될 수도 있다.
즉, 트레이닝부(160)는 개체명 기반의 구문 구조의 분석 결과가 입력되면, 제 2 트리플 데이터로 출력하는 모델을 생성할 수 있다. 이 때, 기계학습에 사용되는 데이터가 중요하므로, 제 2 트리플 데이터를 학습 데이터에 포함할지 여부를 결정하기 위한 별도의 검증 UI가 필요할 수 있다. 이후, 트레이닝부(160)는 학습 데이터를 이용하여 RNN(Recurrent Neural Network), DNN(Deep Neural Network) 등의 딥러닝 또는 네이브 베이지안(naive Bayesian) 등과 같은 전통적인 기계학습 모델을 이용할 수 있다.
트레이닝부(160)는 규칙 생성 모델의 생성 이후에 전달되는 변환되지 않은 문장에 대해 분석된 구문 구조를 새로운 규칙 기반의 제 2 트리플 데이터의 생성에 이용할 수 있다. 규칙 생성 모델의 생성 이후에 전달되는 변환되지 않은 문장의 구문 분석 결과가 규칙 생성 모델에 입력되면, 출력으로 규칙 기반의 제 2 트리플 데이터가 출력되고, 개체명을 포함하는 구문 분석 결과와 생성된 규칙 기반의 제 2 트리플 데이터와의 관계가 적합한지를 검증할 수 있다. 검증이 완료되면, 최종적으로 규칙 기반의 제 2 트리플 데이터의 변환에 이용될 수 있다.
이러한 질의어 처리 장치(100)는 질의어를 처리하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 의해 수행될 수 있다. 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 사용자로부터 질의어를 입력받고, 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환하고, 웹 문서를 수집하고, 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환하고, 제 1 트리플 데이터 및 제 2 트리플 데이터에 기초하여 질의어에 대한 답변을 제공하도록 하는 명령어들의 시퀀스를 포함할 수 있다.
도 2a 내지 도 2c는 본 발명의 일 실시예에 따른 질의어 처리 장치에서 질의어를 처리하는 과정을 도시한 예시적인 도면이다.
도 2a는 본 발명의 일 실시예에 따른 질의어의 구문 구조를 분석하는 과정을 설명하기 위한 예시적인 도면이다. 질의어 처리 장치(100)는 사용자로부터 "난 알아요 작곡가가 누구야"라는 질의어를 입력받을 수 있다.
질의어 처리 장치(100)는 "난 알아요 작곡가가 누구야"라는 질의어를 제 1 트리플 데이터로의 변환하기 전, 형태소 분리, 개체명 분석 및 구문 구조 분석의 과정을 수행할 수 있다. 이 때, "난 알아요"와 같은 문장형의 노래제목이 포함되는 경우 구문 구조의 분석이 정확도가 낮아질 수 있으므로, 질의어 처리 장치(100)는 개체명 분석을 통해 "난 알아요"를 노래제목인 일반 명사로 치환하여 구문 구조를 분석할 수 있다. 예를 들어, 질의어인 "난 알아요 작곡가가 누구야"라는 질의어는 [노래][생산자]가 [누구]로 개체명이 분석될 수 있다. 이러한 치환은 명사만 가능한 것이 아니고, '누구일가요', '누구인가요', '누구야'와 같은 다양한 형태의 서술어에 대해 개체명을 '누구'로 치환이 가능하다.
개체명 분석이 완료되면, 질의어 처리 장치(100)는 질의어에 대한 구문 구조를 분석할 수 있다.
도 2a를 참조하면, 질의어 처리 장치(100)는 개체명 분석이 완료된 질의어의 구문 구조를 주어부(200), 서술부(210), 목적어부(220), 부사부(230), 기타(240)로 분석할 수 있다.
예를 들어, 질의어 처리 장치(100)는 질의어의 주어부(200)가 '개체명_노래제목_KR+개체명_일반명사_생산자'(201)이고, 서술부(210)가 '개체명_Who'(211)로 구성된 것임을 분석할 수 있다.
이 때, "난 알아요"가 노래제목에 속하는 단일 개체명이라고 가정하였지만, "난 알아요"는 책 제목과 같이 복수의 개체명에 해당될 수 있다. 즉, 하나의 형태소에 복수의 개체명이 포함된 것으로 분석될 수 있다.
도 2b는 본 발명의 일 실시예에 따른 하나의 형태소에 복수의 개체명이 포함된 경우의 구문 구조를 분석하는 과정을 설명하기 위한 예시적인 도면이다. 도 2b를 참조하면, 질의어 처리 장치(100)는 "난 알아요"가 복수의 개체명을 포함하는 경우, 질의어 처리 장치(100)는 복수의 개체명 각각에 대해 구문 구조를 분석할 수 있다.
질의어 처리 장치(100)는 규칙 기반의 제 1 트리플 데이터 및 규칙 기반의 제 2 트리플 데이터를 이용하여 규칙 파일을 탐색하고, 규칙이 가지는 우선순위 가중치 값을 이용하여 우선하는 제 1 트리플 데이터 및 제 2 트리플 데이터를 선별할 수 있다. 이 때, 규칙의 우선순위 가중치는 주어부(200), 서술부(210), 목적어부(220), 부사부(230), 기타(240) 각각에 대해 개체명보다 문자열이 직접 기술된 경우, 더 우선 순위가 높다고 판단하여 높은 점수가 부여될 수 있다.
예를 들어, "난 알아요"의 개체명이 노래제목으로 분석된 경우, 질의어 처리 장치(100)는 질의어의 주어부(200)가 "개체명_노래제목_KR+작곡가"(202)이고, 서술부(210)가 "개체명_Who"(212)로 구성된 것임을 분석할 수 있다.
다른 예를 들어, "난 알아요"의 개체명이 책제목으로 분석된 경우, 질의어 처리 장치(100)는 질의어의 주어부(200)가 "개체명_책제목_KR+개체명_일반명사_생산자"(203)이고, 서술부(210)가 "개체명_Who"(213)으로 구성된 것임을 분석할 수 있다.
질의어 처리 장치(100)는 질의어에 '작곡가'라는 문자열이 직접적으로 포함되어 있으므로, "난 알아요"의 개체명이 노래제목인 질의어에 우선순위 가중치를 더 높게 부여하고, 개체명이 노래제목인 질의어에 대한 제 1 트리플 데이터로의 변환을 수행할 수 있다.
도 2c는 본 발명의 일 실시예에 따른 질의어를 제 1 트리플 데이터로 변환하는 과정을 설명하기 위한 예시적인 도면이다. 도 2c를 참조하면, 질의어 처리 장치(100)는 분석된 질의어의 구문 구조에 기초하여 제 1 트리플 데이터 및 제 2 트리플 데이터의 규칙 파일에서 동일한 구조를 조건으로 하는 규칙이 있는지를 검색할 수 있다. 이 때, 조건에 부합하는 규칙이 존재하면, 질의어 처리 장치(100)는 문장을 최종적으로 매핑되는 제 1 트리플 데이터 또는 제 2 트리플 데이터로 출력할 수 있다.
예를 들어, 질의어 처리 장치(100)는 규칙 생성 모델에 조건부(250)를 입력하면, 규칙 기반의 제 1 트리플 데이터(260)를 출력할 수 있다. 조건부(250)는 질의어의 구문 구조 분석 결과인 주어부(200), 서술부(210), 목적어부(220), 부사부(230), 기타(240)를 포함할 수 있다.
질의어 처리 장치(100)는 질의어의 주어부(200)의 "개체명_노래제목_KR+개체명_일반명사_생산자"(251) 및 서술부(210)의 "개체명_Who"(252)를 규칙 생성 모델에 입력하면, "개체명 문자열[노래제목], 작곡가[속성], ?who"(261)과 같은 형식의 제 1 트리플 데이터(260)로 출력할 수 있다.
이러한 과정을 거쳐 질의어 처리 장치(100)는 제 1 트리플 데이터 및 제 2 트리플 데이터에 기초하여 질의어에 대한 답변을 사용자에게 제공할 수 있다.
도 3은 본 발명의 일 실시예에 따른 질의어 처리 장치에서 질의어를 처리하는 방법의 순서도이다. 도 3에 도시된 질의어 처리 장치(100)에서 질의어를 처리하는 방법은 도 1 내지 도 2c에 도시된 실시예에 따른 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 2c에 도시된 실시예에 따른 질의어 처리 장치(100)에서 질의어를 처리하는 방법에도 적용된다.
단계 S310에서 질의어 처리 장치(100)는 사용자로부터 질의어를 입력받을 수 있다.
단계 S320에서 질의어 처리 장치(100)는 입력받은 질의어를 기정의된 적어도 3개의 요소를 포함하는 질의 데이터로 변환할 수 있다.
단계 S330에서 질의어 처리 장치(100)는 웹 문서를 수집하고, 웹 문서에 포함된 문장을 기정의된 적어도 4개의 요소를 포함하는 답변 데이터로 변환할 수 있다.
단계 S340에서 질의어 처리 장치(100)는 질의 데이터 및 답변 데이터에 기초하여 질의어에 대한 답변을 제공할 수 있다.
상술한 설명에서, 단계 S310 내지 S340은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 3을 통해 설명된 질의어 처리 장치에서 질의어를 처리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 3을 통해 설명된 질의어 처리 장치에서 질의어를 처리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 질의어 처리 장치
110: 질의어 입력부
120: 제 1 트리플 변환부
130: 제 2 트리플 변환부
140: 색인 생성부
150: 답변 제공부
160: 트레이닝부

Claims (18)

  1. 사용자로부터 입력된 질의어를 처리하는 장치에 있어서,
    사용자로부터 질의어를 입력받는 질의어 입력부;
    상기 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환하는 제 1 트리플 데이터 변환부;
    웹 문서를 수집하고, 상기 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환하는 제 2 트리플 데이터 변환부;
    상기 제 1 트리플 데이터 및 상기 제 2 트리플 데이터에 기초하여 상기 질의어에 대한 답변을 제공하는 답변 제공부
    를 포함하고,
    상기 제 1 트리플 데이터는 적어도 3 개의 질의 요소를 포함하는 질의 데이터이고,
    상기 제 2 트리플 데이터는 적어도 4 개의 답변 요소를 포함하는 답변 데이터인 것인, 질의어 처리 장치.
  2. 제 1 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 질의어를 적어도 하나의 형태소로 분리하고, 상기 적어도 하나의 형태소로 분리된 질의어 각각에 대해 개체명을 분석하고, 상기 분석된 개체명에 기초하여 상기 질의어의 구문 구조를 분석하는 것인, 질의어 처리 장치.
  3. 제 2 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 질의어를 적어도 하나의 형태소로 분리하여 상기 분리된 형태소 각각에 대응하는 품사를 태깅하는 것인, 질의어 처리 장치.
  4. 제 3 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 분리된 적어도 하나의 형태소를 나열하고, 상기 나열된 형태소의 순서 및 상기 형태소 각각에 태깅된 품사의 순서에 기초하여 상기 개체명을 분석하는 것인, 질의어 처리 장치.
  5. 제 4 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 분석된 개체명에 대해 상기 태깅된 품사의 위계 관계를 이용하여 상기 질의어의 구문 구조를 분석하는 것인, 질의 처리 장치.
  6. 제 5 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 형태소로 분리된 질의어의 개체명이 복수개로 분석된 경우, 상기 분석된 복수개의 개체명 각각에 대해 상기 질의어의 구문 구조를 분석하는 것인, 질의어 처리 장치.
  7. 제 6 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 구문 구조의 분석 결과에 기초하여 기설정된 우선순위에 따라 상기 분석된 복수개의 개체명 각각의 가중치를 부여하고, 상기 가중치가 높은 개체명을 포함하는 질의어를 상기 제 1 트리플 데이터로 변환하는 것인, 질의어 처리 장치.
  8. 제 2 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 기정의된 복수의 제 1 구조 규칙 중 상기 분석된 구문 구조에 대응되는 제 1 구조 규칙을 추출하고, 상기 추출된 제 1 구조 규칙에 기초하여 상기 질의어를 규칙 기반의 제 1 트리플 데이터로 변환하는 것인, 질의어 처리 장치.
  9. 제 8 항에 있어서,
    상기 제 1 트리플 데이터 변환부는 상기 질의어가 상기 규칙 기반의 제 1 트리플 데이터로 변환되지 않은 경우, 기정의된 일반 문장 패턴을 이용하여 상기 질의어를 패턴 기반의 제 1 트리플 데이터로 변환하는 것인, 질의어 처리 장치.
  10. 제 9 항에 있어서,
    학습 데이터를 이용하여 상기 제 1 트리플 데이터를 트레이닝하는 트레이닝부를 더 포함하고,
    상기 학습 데이터는 상기 패턴 기반의 제 1 트리플 데이터 및 상기 패턴 기반의 제 1 트리플 데이터에 해당하는 구문 구조를 포함하는 것인, 질의어 처리 장치.
  11. 제 1 항에 있어서,
    상기 제 2 트리플 데이터 변환부는 상기 수집한 웹 문서를 문장 단위로 파싱하고, 상기 파싱된 문장을 적어도 하나의 형태소로 분리하고, 상기 적어도 하나의 형태소로 분리된 문장 각각에 대해 개체명을 분석하고, 상기 분석된 개체명에 기초하여 구문 구조를 분석하는 것인, 질의어 처리 장치.
  12. 제 11 항에 있어서,
    상기 제 2 트리플 데이터 변환부는 상기 구문 구조의 분석 결과에 기초하여 기설정된 우선순위에 따라 상기 분석된 복수개의 개체명 각각의 가중치를 부여하고, 상기 가중치가 높은 개체명을 포함하는 문장을 상기 제 2 트리플 데이터로 변환하는 것인, 질의어 처리 장치.
  13. 제 11 항에 있어서,
    상기 제 2 트리플 데이터 변환부는 기정의된 복수의 제 2 구조 규칙 중 상기 분석된 구문 구조에 대응되는 제 2 구조 규칙을 추출하고, 상기 추출된 제 2 구조 규칙에 기초하여 상기 파싱된 문장을 규칙 기반의 제 2 트리플 데이터로 변환하는 것인, 질의어 처리 장치.
  14. 제 11 항에 있어서,
    학습 데이터를 이용하여 상기 제 2 트리플 데이터를 트레이닝하는 트레이닝부를 더 포함하고,
    상기 학습 데이터는 복수개인 상기 파싱된 문장 중 상기 제 2 트리플 데이터로 변환되지 않은 문장 및 상기 변환되지 않은 문장에 대해 분석된 구문 구조를 포함하는 것인, 질의어 처리 장치.
  15. 제 11 항에 있어서,
    상기 변환된 제 2 트리플 데이터에 대한 색인을 생성하는 색인 생성부를 포함하는, 질의어 처리 장치.
  16. 제 15 항에 있어서,
    상기 답변 제공부는 상기 제 2 트리플 데이터에 대한 색인에 기초하여 상기 제 1 트리플 데이터를 검색 키워드로 이용하여 상기 제 1 트리플 데이터에 대응하는 제 2 트리플 데이터를 검색하고, 상기 검색된 제 2 트리플 데이터에 기초하여 상기 질의어에 대한 답변을 생성하는 것인, 질의어 처리 장치.
  17. 질의어 처리 장치에서 사용자로부터 입력된 질의어를 처리하는 방법에 있어서,
    사용자로부터 질의어를 입력받는 단계;
    상기 입력받은 질의어를 기정의된 적어도 3개의 요소를 포함하는 질의 데이터로 변환하는 단계;
    웹 문서를 수집하고, 상기 웹 문서에 포함된 문장을 기정의된 적어도 4개의 요소를 포함하는 답변 데이터로 변환하는 단계;
    상기 질의 데이터 및 상기 답변 데이터에 기초하여 상기 질의어에 대한 답변을 제공하는 단계를 포함하는, 질의어 처리 방법.
  18. 질의 처리 장치에서 사용자로부터 입력된 질의어를 처리하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    사용자로부터 질의어를 입력받고,
    상기 입력받은 질의어를 제 1 트리플(triple) 데이터로 변환하고,
    웹 문서를 수집하고, 상기 웹 문서에 포함된 문장을 제 2 트리플 데이터로 변환하고,
    상기 제 1 트리플 데이터 및 상기 제 2 트리플 데이터에 기초하여 상기 질의어에 대한 답변을 제공하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
KR1020180038751A 2018-04-03 2018-04-03 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램 KR20190115721A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180038751A KR20190115721A (ko) 2018-04-03 2018-04-03 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램
KR1020220184349A KR20230005797A (ko) 2018-04-03 2022-12-26 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180038751A KR20190115721A (ko) 2018-04-03 2018-04-03 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220184349A Division KR20230005797A (ko) 2018-04-03 2022-12-26 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20190115721A true KR20190115721A (ko) 2019-10-14

Family

ID=68171544

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180038751A KR20190115721A (ko) 2018-04-03 2018-04-03 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램
KR1020220184349A KR20230005797A (ko) 2018-04-03 2022-12-26 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220184349A KR20230005797A (ko) 2018-04-03 2022-12-26 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (2) KR20190115721A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064595A (ko) * 2020-11-12 2022-05-19 (주)아이브릭스 제시문이 없는 질의응답에 대하여 인공지능 기계가 학습하고 추론할 수 있는 다지선다형 질의응답 시스템 구축 방법
CN114860872A (zh) * 2022-04-13 2022-08-05 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064595A (ko) * 2020-11-12 2022-05-19 (주)아이브릭스 제시문이 없는 질의응답에 대하여 인공지능 기계가 학습하고 추론할 수 있는 다지선다형 질의응답 시스템 구축 방법
CN114860872A (zh) * 2022-04-13 2022-08-05 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
KR20230005797A (ko) 2023-01-10

Similar Documents

Publication Publication Date Title
US9448995B2 (en) Method and device for performing natural language searches
Mairesse et al. Stochastic language generation in dialogue using factored language models
JP6014725B2 (ja) 単文/複文構造の自然言語クエリに対する検索および情報提供方法並びにシステム
US8560300B2 (en) Error correction using fact repositories
US8874443B2 (en) System and method for generating natural language phrases from user utterances in dialog systems
US7533089B2 (en) Hybrid approach for query recommendation in conversation systems
US20160180237A1 (en) Managing a question and answer system
US9965726B1 (en) Adding to a knowledge base using an ontological analysis of unstructured text
US20110301941A1 (en) Natural language processing method and system
KR20190015797A (ko) 인공지능(ai)을 통한 딥러닝훈련모듈과, 순위화프레임워크모듈을 활용하여, 법률전문가에게 최적화된 모범답안을 제시하는 한편, 법률정보를 의미 벡터로 변환하여, 데이터베이스에 저장하고, 이에 대한 문자열 사전모듈을 활용한 온라인 법률정보사전을 제공하는 시스템 및 그 방법
KR102041621B1 (ko) 인공지능 음성인식 기반 기계학습의 대규모 말뭉치 구축을 위한 대화형 말뭉치 분석 서비스 제공 시스템 및 구축 방법
KR20230005797A (ko) 질의어를 처리하는 장치, 방법 및 컴퓨터 프로그램
WO2017161749A1 (zh) 一种信息匹配方法及装置
Lommatzsch et al. An Information Retrieval-based Approach for Building Intuitive Chatbots for Large Knowledge Bases.
US10552461B2 (en) System and method for scoring the geographic relevance of answers in a deep question answering system based on geographic context of a candidate answer
US10902342B2 (en) System and method for scoring the geographic relevance of answers in a deep question answering system based on geographic context of an input question
KR20200134311A (ko) 서로 다른 데이터 소스들에 대한 질의의 응답들의 통합
CN111553160A (zh) 一种获取法律领域问句答案的方法和系统
Jabalameli et al. Ontology‐lexicon–based question answering over linked data
Al-Ghamdi et al. Exploring NLP web APIs for building Arabic systems
KR102260396B1 (ko) 범용 신경망 기계번역기를 활용한 하이브리드 번역 시스템
CN117932022A (zh) 一种智能问答方法、装置、电子设备及存储介质
Gupte et al. Knowledge graph generation from text using neural machine translation techniques
CN114942981A (zh) 问答查询方法、装置、电子设备及计算机可读存储介质
US11314811B1 (en) Systems and methods for semantic search engine analysis

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right