(19) 대한민국특허청(KR) (12) 공개특허공보(A)
(11) 공개번호 10-2016-0060247 (43) 공개일자 2016년05월30일 (51) 국제특허분류(Int. Cl.)
G06F 17/30 (2006.01) G06F 17/20 (2006.01) (21) 출원번호 10-2014-0161859
(22) 출원일자 2014년11월19일 심사청구일자 없음
(71) 출원인
한국전자통신연구원
대전광역시 유성구 가정로 218 (가정동) (72) 발명자
허정
대전광역시 유성구 배울2로 61 대덕테크노밸리 1005동 1302호
김영래
대전광역시 대덕구 한밭대로994번길 53-19 (뒷면에 계속)
(74) 대리인 특허법인지명 전체 청구항 수 : 총 20 항
(54) 발명의 명칭 자연어 질의응답 시스템과 방법 및 패러프라이즈 모듈 (57) 요 약
본 발명은 자연어 질의응답 시스템과 방법 및 패러프라이즈 모듈에 대하여 개시한다. 본 발명의 일면에 따른 자 연어 질의응답 시스템은, 사용자 질문을 패러프라이즈(Paraphrase)하여 복수의 변형질문을 생성하는 변환 모듈;
상기 사용자 질문 및 상기 각 변형질문을 각기 입력받아, 그에 대응하는 정답후보들을 각기 선별하는 복수의 질 의응답엔진; 및 검색된 상기 정답후보들 중에서 적어도 하나의 정답후보를 정답으로 검출하는 검출 모듈을 포함 하는 것을 특징으로 한다.
대 표 도
(72) 발명자 김현기
대전광역시 유성구 상대남로 26 트리풀시티 914동 1303호
류법모
대전광역시 유성구 배울2로 134 푸르지오하임아파 트 106동 303호
배용진
대전광역시 유성구 가정로 218 오효정
대전광역시 유성구 문화원로 13 드림월드 11동 1502호
이충희
대전광역시 유성구 노은동로 219 열매마을3단지 306동 1702호
이형직
대전광역시 유성구 용산2로 30 101동 202호 임수종
대전 유성구 배울1로 35, 409동 502호 (관평동, 쌍 용스윗닷홈)
임준호
대전광역시 동구 계족로489번길 73 한숲아파트 10 1동 701호
장명길
대전 유성구 어은로 57, 108동 601호 (어은동, 한 빛아파트)
최미란
대전광역시 유성구 장대로71번길 34 푸르지오 아파 트 106동 1503호
이 발명을 지원한 국가연구개발사업 과제고유번호 10044577 부처명 미래창조과학부
연구관리전문기관 정보통신기술진흥센터 연구사업명 산업원천기술개발사업(SW)
연구과제명 휴먼 지식증강 서비스를 위한 지능진화형 Wise QA 플랫폼 기술 개발 기 여 율 1/1
주관기관 한국전자통신연구원 연구기간 2014.05.01 ~ 2015.02.28
명 세 서 청구범위 청구항 1
사용자 질문을 패러프라이즈(Paraphrase)하여 복수의 변형질문을 생성하는 변환 모듈;
상기 사용자 질문 및 상기 각 변형질문을 각기 입력받아, 그에 대응하는 정답후보들 각기 선별하는 복수의 질의 응답엔진; 및
검색된 상기 정답후보들 중에서 적어도 하나의 정답후보를 정답으로 검출하는 검출 모듈 을 포함하는 자연어 질의응답 시스템.
청구항 2
제1항에 있어서, 상기 변환 모듈은,
상기 사용자 질문에 대해 형태소 분석, 개체명 인식 및 구문 분석 중 적어도 하나를 수행하는 분석부를 포함하 고,
상기 분석부의 분석 결과를 이용하여 상기 사용자 질문을 패러프라이즈하는 것인 자연어 질의응답 시스템.
청구항 3
제1항에 있어서, 상기 변환 모듈은,
상기 사용자 질문 내 어휘나 구를 다른 언어로 대체, 상기 사용자 질문의 구문 구조를 변환 및 상기 사용자 질 문 내 어휘나 구를 동의어로 대체 중 적어도 하나를 수행하여 상기 복수의 변형질문을 생성하는 것인 자연어 질 의응답 시스템.
청구항 4
제1항에 있어서, 상기 변환 모듈은,
코버스(Corpus)와 언어 모델 기반으로 상기 사용자 질문 내 어휘나 구에 대한 이중 언어의 어휘나 구의 쌍을 확 인하고, 확인된 상기 이중 언어의 어휘나 구의 쌍을 이용하여 상기 사용자 질문에 대한 어휘나 구 단위의 패러 프라이즈를 수행하는 제1 변환부
를 포함하는 자연어 질의응답 시스템.
청구항 5
제1항에 있어서, 상기 변환 모듈은,
동의어 사전을 기반으로 상기 사용자 질문 내 형태소 및 개체명 중 적어도 하나를 동의어로 대체한 후 구문 구 조를 변경하는 패러라이즈를 수행하는 제2 변환부
를 포함하는 것인 자연어 질의응답 시스템.
청구항 6
제1항에 있어서, 상기 변환 모듈은,
기학습된 언어 모델을 기반으로 상기 사용자 질문 내 어휘나 구를 패러프라이즈한 후 문법적으로 알맞은 조사 및 접사를 결정하여 문법에 부합하는 상기 복수의 변형질문을 생성하는 것인 자연어 질의응답 시스템.
청구항 7
제1항에 있어서, 상기 변환 모듈은,
상기 사용자 질문을 패러프라이즈한 복수의 패러프라이즈 질문에 대해 의미보존성, 문법보존성 및 표현대중성 중 적어도 하나를 확인하여 상기 복수의 패러프라이즈 질문의 신뢰도 값을 계산하는 평가부; 및
상기 신뢰도 값이 큰 순으로 상기 복수의 패러프라이즈 질문 중에서 N개의 변형질문을 선택하여 출력하는 순위 화부
를 포함하는 것인 자연어 질의응답 시스템.
청구항 8
제7항에 있어서, 상기 변환 모듈은,
기학습된 언어 모델로부터 상기 복수의 패러프라이즈 질문 내 어휘나 구에 특정 조사나 접사가 붙을 가능성에 대한 가중치 값을 고려하여 상기 복수의 패러프라이즈 질문의 신뢰도 값을 계산하는 것인 자연어 질의응답 시스 템.
청구항 9
제1항에 있어서, 상기 각 질의응답엔진은,
상기 각 정답후보에 대한 신뢰도 값을 계산하고, 상기 각 정답후보 중에서 상기 신뢰도 값이 큰 순으로 K개의 정답후보 리스트를 상기 검출 모듈에 제공하는 것인 자연어 질의응답 시스템.
청구항 10
제1항에 있어서, 상기 검출 모듈은,
상기 복수의 질의응답엔진으로부터 전달받은 상기 정답후보들과 상기 각 정답후보의 신뢰도 값을 통합하여 상기 정답후보들 중에서 가장 신뢰도 값이 큰 정답후보를 상기 정답으로 검출하는 것인 자연어 질의응답 시스템.
청구항 11
사용자 질문을 분석하는 분석부; 및
상기 사용자 질문 내 어휘나 구를 다른 언어의 어휘나 구로 대체, 상기 사용자 질문의 구문 구조를 변환 상기 사용자 질문 내 어휘를 동의어로 대체 중 적어도 하나를 수행하여 상기 사용자 질문이 패러프라이즈 (Paraphrase)된 복수의 변형질문을 생성하는 변환부를 포함하고,
상기 사용자 질문 및 상기 복수의 변형질문은 질의응답엔진에 제공되는 것인 패러프라이즈 모듈.
청구항 12
제11항에 있어서, 상기 분석부는,
상기 사용자 질문으로부터 형태소 인식, 개체명 인식 및 구문 구조 분석 중 적어도 하나를 수행하는 것인 패러 프라이즈 모듈.
청구항 13
제11항에 있어서, 상기 변환부는,
이중 언어의 어휘나 구 쌍을 포함하는 코퍼스(Corpus) 기반으로 상기 사용자 질문 내 어휘나 구를 그와 동일한 의미를 갖는 어휘나 구로 대체하는 제1 변환부를 포함하는 것인 패러프라이즈 모듈.
청구항 14
제11항에 있어서, 상기 변환부는,
동의어 사전으로 상기 사용자 질문 내 형태소를 기확인된 개체명 기반으로 동의어로 변환하고, 상기 동의어에 대한 변환이 이루어진 상기 사용자 질문에 대한 구문 구조를 변경하는 제2 변환부를 포함하는 것인 패러프라이 즈 모듈.
청구항 15
제11항에 있어서,
상기 사용자 질문을 패러프라이즈한 복수의 패러프라이즈 질문에 대해 의미보존성, 문법보존성 및 표현대중성 중 적어도 하나를 확인하여 상기 복수의 패러프라이즈 질문의 신뢰도 값을 계산하는 평가부; 및
상기 신뢰도 값이 큰 순으로 상기 복수의 패러프라이즈 질문 중에서 N개의 변형질문을 선택하여 출력하는 순위 화부
를 더 포함하는 패러프라이즈 모듈.
청구항 16
제15항에 있어서, 상기 평가부는,
기학습된 언어 모델로부터 상기 복수의 패러프라이즈 질문 내 어휘나 구에 특정 조사나 접사가 붙을 가능성에 대한 가중치 값을 고려하여 상기 복수의 패러프라이즈 질문의 신뢰도 값을 계산하는 것인 패러프리이즈 모듈.
청구항 17
자연어 질의응답 시스템에 의한 자연어 질의응답 방법으로서,
사용자 질문을 패러프라이즈(Paraphrase)하여 복수의 변형질문을 생성하는 단계;
복수의 질의응답엔진에 의해 상기 사용자 질문 및 상기 각 변형질문을 각기 입력받아, 그에 대응하는 정답후보 들을 각기 선별하는 단계; 및
검색된 상기 정답후보들 중에서 적어도 하나의 정답후보를 정답으로 검출하는 단계 를 포함하는 자연어 질의응답 방법.
청구항 18
제17항에 있어서, 상기 복수의 변형질문을 생성하는 단계는, 상기 사용자 질문 내 어휘나 구를 다른 언어로 대체하는 단계; 및
상기 사용자 질문 내 어휘를 동의어로 대체한 후 구문 구조를 변환하는 단계;
중 적어도 하나를 포함하는 것인 자연어 질의응답 방법.
청구항 19
제17항에 있어서, 상기 복수의 변형질문을 생성하는 단계는,
상기 사용자 질문을 패러프라이즈한 복수의 패러프라이즈 질문에 대해 의미보존성, 문법보존성 및 표현대중성 중 적어도 하나를 확인하여 상기 복수의 패러프라이즈 질문의 신뢰도 값을 계산하는 단계; 및
상기 신뢰도 값이 큰 순으로 상기 복수의 패러프라이즈 질문 중에서 N개의 변형질문을 선택하여 출력하는 단계 를 포함하는 것인 자연어 질의응답 방법.
청구항 20
제17항에 있어서, 상기 검출하는 단계는,
상기 복수의 질의응답엔진으로부터 전달받은 상기 정답후보들과 상기 각 정답후보의 신뢰도 값을 확인하는 단계;
상기 정답후보들 중에서 중복되는 정답후보를 통합하여 상기 각 정답후보에 대한 통합 신뢰도 값을 산출하는 단 계; 및
상기 통합 신뢰도 값이 가장 큰 정답후보를 상기 정답으로 검출하는 단계 를 포함하는 것인 자연어 질의응답 방법.
발명의 설명 기 술 분 야
본 발명은 질의응답기술에 관한 것으로서, 더 구체적으로는 사용자 질의에 대한 정답을 검출할 수 있는 자연어 [0001]
질의응답 시스템과 방법 및 패러프라이즈 모듈에 관한 것이다.
배 경 기 술
자연어 질의응답기술은 사용자의 질문을 분석하여 다양한 콘텐츠에서 질문의 의도에 맞는 정답을 검색하고, 그 [0002]
중 정답을 추출하여 사용자에게 제시하는 기술이다.
모바일 시대의 도래와 함께 모바일 기기의 하드웨어적인 한계(작은 화면으로 인해 검색결과 제시의 한계)를 극 [0003]
복하기 위해서 자연어 질의응답기술이 다시 각광을 받고 있다.
아이폰의 경우, '시리'라는 기술을 제시하면서 음성으로 사용자가 질문을 하고 그 질문에 응답하는 기술을 선보 [0004]
인 바 있다.
종래의 자연어 질의응답은 사용자의 질문을 분석하는 질문분석단계, 관련 콘텐츠를 검색하는 문서검색단계, 검 [0005]
색된 문서에서 정답을 추출하는 정답추출단계 및 추출된 정답을 제시하는 정답제시단계의 4단계로 구성되었다.
종래의 자연어 질의응답은 빅데이터의 데이터 잉여성(Data Redundancy)에 기반하여 질문과 동일한 문장구조 및 [0006]
어휘로 구성된 문장이나 문단을 검색하고, 해당 문장이나 문단에서 정답후보를 찾는 방식이었다.
이 방식은 기본적으로 사용자의 질문과 동일한 문장구조 및 어휘로 구성된 콘텐츠가 광범위한 웹의 어딘가에는 [0007]
있을 거라는 가정에 기반하고 있다. 그러나, 이 접근법은 웹이라는 빅데이터에 기반하고 있는 것으로 웹의 단 점인 거짓정보에 대한 필터링이 전제되어야 한다.
뿐만 아니라, 종래의 자연어 질의응답은 백과사전, 위키피디아 사전, 국어사전등과 같이 신뢰도 높은 제한된 콘 [0008]
텐츠를 대상으로 수행될 수도 있으나, 이 경우 정답포함 문장 및 문단 검색에 한계가 있어, 재현율과 정확도가 낮아질 수 있었다.
발명의 내용 해결하려는 과제
본 발명은 전술한 바와 같은 기술적 배경에서 안출된 것으로서, 사용자 질문을 패러프라이즈하여 그에 대응하는 [0009]
정답을 검색할 수 있는 자연어 질의응답 시스템과 방법 및 패러프라이즈 모듈을 제공하는 것을 그 목적으로 한 다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로 [0010]
부터 당업자에게 명확하게 이해될 수 있을 것이다.
과제의 해결 수단
본 발명의 일면에 따른 자연어 질의응답 시스템은, 사용자 질문을 패러프라이즈(Paraphrase)하여 복수의 변형질 [0011]
문을 생성하는 변환 모듈; 상기 사용자 질문 및 상기 각 변형질문을 각기 입력받아, 그에 대응하는 정답후보들 을 각기 선별하는 복수의 질의응답엔진; 및 검색된 상기 정답후보들 중에서 적어도 하나의 정답후보를 정답으로 검출하는 검출 모듈을 포함하는 것을 특징으로 한다.
본 발명의 다른 면에 따른 패러프라이즈 모듈은, 사용자 질문을 분석하는 분석부; 및 상기 사용자 질문 내 어휘 [0012]
나 구를 다른 언어의 어휘나 구로 대체, 상기 사용자 질문의 구문 구조를 변환 상기 사용자 질문 내 어휘를 동 의어로 대체 중 적어도 하나를 수행하여 상기 사용자 질문이 패러프라이즈(Paraphrase)된 복수의 변형질문을 생 성하는 변환부를 포함하고, 상기 사용자 질문 및 상기 복수의 변형질문은 질의응답엔진에 제공되는 것을 특징으 로 한다.
본 발명의 또 다른 면에 따른 자연어 질의응답 시스템에 의한 자연어 질의응답 방법은, 사용자 질문을 패러프라 [0013]
이즈(Paraphrase)하여 복수의 변형질문을 생성하는 단계; 복수의 질의응답엔진에 의해 상기 사용자 질문 및 상 기 각 변형질문을 각기 입력받아, 그에 대응하는 정답후보를 각기 선별하는 단계; 및 검색된 상기 정답후보들
중에서 적어도 하나의 정답후보를 정답으로 검출하는 단계를 포함하는 것을 특징으로 한다.
발명의 효과
본 발명에 따르면, 사용자 질문을 패러프라이즈하여 그에 대응하는 정답을 검색할 수 있다.
[0014]
도면의 간단한 설명
도 1은 본 발명의 실시예에 따른 자연어 질의응답 시스템을 도시한 구성도.
[0015]
도 2는 본 발명의 실시예에 따른 변환 모듈을 도시한 구성도.
도 3은 본 발명의 실시예에 따른 사용자 질문에 대한 정답 검출 과정을 도시한 도면.
도 4는 본 발명의 실시예에 따른 자연어 질의응답 방법을 도시한 흐름도.
발명을 실시하기 위한 구체적인 내용
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 [0016]
함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실 시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특 별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이제 본 발명의 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. 도 1은 본 발명의 실시예에 [0017]
따른 자연어 질의응답 시스템을 도시한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 자연어 질의응답 시스템(10)은 변환 모듈(1100), 분산 엔진 [0018]
(1200) 및 검출 모듈(1300)을 포함한다. 본 발명의 실시예에 따른 자연어 질의응답 시스템(10)은 검출된 정답 을 표출하는 제시 모듈(미도시)을 더 포함할 수 있다.
변환 모듈(1100)은 사용자 질문을 패러프라이즈(Paraphrase)하여 복수의 변형질문을 생성한다.
[0019]
상세하게는, 변환 모듈(1100)은 사용자 질문 내 어휘나 구를 동일하게 번역될 수 있는 동의어나 유의어일 가능 [0020]
성이 큰 어휘나 구로 대체, 사용자 질문의 구문 구조를 변환 사용자 질문 내 어휘를 동의어로 대체 중 적어도 하나를 수행하여 사용자 질문과 동일 의미의 다양한 문장 구조와 어휘로 구성된 복수의 변형질문을 생성할 수 있다. 여기서, 변환 모듈(1100)에 의한 동의어나 유의어일 가능성이 큰 어휘나 구의 선택은 사전 등에 의해서 확인될 수 있다.
이때, 변환 모듈(1100)은 복수의 변형질문의 신뢰도를 확인하고, 신뢰도를 고려하여 복수의 변형질문을 선택할 [0021]
수 있다. 변환 모듈(1100)이 복수의 변형질문을 생성하는 과정에 대해서는 도 2를 참조하여 후술하도록 한다.
변환 모듈(1100)은 사용자 질문 및 복수의 변형질문을 분산 엔진(1200)에 제공한다. 이때, 사용자 질문 및 복수 [0022]
의 변형질문의 개수가 복수의 질의응답엔진의 개수 이상이면, 변환 모듈(1100)은 복수 회에 걸쳐서 사용자 질문 및 복수의 변형질문을 전달할 수 있다.
분산 엔진(1200)은 복수의 질의응답엔진을 포함하고, 각 질의응답엔진은 사용자 질문 및 복수의 변형질문을 각 [0023]
기 입력받아, 기설정된 데이터베이스로부터 그에 대응하는 정답후보를 검색한다.
상세하게는, 각 질의응답엔진은 정답후보를 검색함과 동시에 또는 그와 순차적으로 추출된 정답후보들이 정답일 [0024]
가능성인 신뢰도 값을 계산하고, 신뢰도 값을 기반으로 신뢰도가 높은 순으로 복수의 정답후보들을 정렬하고, 그중 상위 N개를 선정해서 출력할 수 있다. 이때, 각 질의응답엔진은 사용자 질문 및 변형질문의 신뢰도, 정답 후보를 추출한 문장과 입력질문의 유사도 값, Support Evidence Score등의 다양한 기술을 이용하여 정답후보의 신뢰도값을 계산할 수 있다.
예를 들어, 분산 엔진(1200)은 포털 사이트 등과 같은 웹으로부터 사용자 질문 및 복수의 변형질문에 대한 정답 [0025]
후보를 검출할 수 있다.
검출 모듈(1300)은 검색된 정답후보들 중에서 신뢰도가 높은 적어도 하나의 정답후보를 정답으로 검출한다.
[0026]
상세하게는, 검출 모듈(1300)은 복수의 질의응답엔진으로부터 전달받은 정답후보들과 각 정답후보의 신뢰도 값 [0027]
을 이용하여 정답후보들 중에서 가장 신뢰도가 높은 정답후보를 정답으로 검출할 수 있다.
또는, 검색된 정답후보들 중에서 가장 많이 포함된 정답후보일수록 사용자 질문에 적합한 정답일 가능성이 크므 [0028]
로, 검출 모듈(1300)은 검색된 정답후보들 중에서 가장 많이 포함된 정답후보를 정답으로 선택할 수 있다. 검 출 모듈(1300)이 정답후보들 중에서 정답을 선별하는 과정에 대해서는 도 3을 참조하여 후술하도록 한다.
제시 모듈(미도시)은 예컨대, 표시수단으로서 검출된 정답을 사용자에게 제공한다.
[0029]
요컨대, 본 발명의 실시예는 "정답이 포함된 문장이나 문단과 동일한 문장구조와 어휘로 구성된 동일의미의 질 [0030]
문을 사용자의 질문으로부터 패러프레이징하여 만들 수 있다"라는 가정하에 콘텐츠에 대한 잉여성이 아니라 질 문의 잉여성을 기반으로, 사용자의 질문을 다양한 문장구조 및 어휘들로 패러프레이징하고, 그 결과 생성된 변 형질문들과 비슷한 문장구조 및 어휘로 구성된 콘텐츠에서 정답을 추출할 수 있다.
이러한 구성에 의해, 본 발명의 실시예는 빅데이터가 아닌 제한된 콘텐츠를 대상으로 자연어 질의응답을 해야 [0031]
하는 환경에서 발생할 수 있는 재현율 저하의 문제를 해결할 수 있고, 다양한 동일의미의 질문을 고루 만족시키 는 정답을 선정함으로써, 질의응답의 정확도를 높일 수 있다.
더불어, 본 발명의 실시예는 빅데이터에 해당하는 콘텐츠에 적용되면, 자연어 질의응답의 성능을 더욱 개선할 [0032]
수 있다.
이하, 도 2를 참조하여 본 발명의 실시예에 따른 변환 모듈에 대하여 설명한다. 도 2는 본 발명의 실시예에 따 [0033]
른 변환 모듈을 도시한 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 변환 모듈(1100)은 분석부(1110), 제1 내지 제4 데이터베이 [0034]
스(1131~1134), 제1 변환부(1121), 제2 변환부(1122), 평가부(1140) 및 순위화부(1150)를 포함한다.
분석부(1110)는 사용자 질문에 대해 형태소 분석, 개체명 인식 및 구문분석 등과 같은 고정밀 자연어 분석을 수 [0035]
행하고, 그 결과, 형태소, 개체명 및 구문의 구조를 파악한다.
여기서, 형태소 분석은 의미의 기능을 부여하는 언어의 형태론적 수준의 최소단위를 파악하는 것일 수 있다.
[0036]
즉, 분석부(1110)는 형태소 분석을 통해 사용자 질문에 포함된 형태소를 파악한다.
또한, 개체명 인식은 문장 등으로부터 회사이름, 사람이름, 지역명, 영화명 등 세상에 존재하는 실물에 대한 이 [0037]
름(개체명)을 자동으로 인식하는 것일 수 있다. 예를 들어, 분석부(1110)는 개체명 인식을 통해 파악된 형태소 중 "Apple"이라는 단어가 있을 때 과일이 아닌 회사 Apple을 지칭하는 것임을 자동으로 인식할 수 있다.
그리고, 구문분석은 인공어 또는 자연어 단위들 간의 관계를 좀 더 기본적인 작은 단위로 나누어 구문의 구조를 [0038]
결정하고, 그 작은 단위들 간의 관계를 설정하는 것일 수 있다. 즉, 분석부(1110)는 구문분석을 통해 사용자 질문 내 형태소 등의 구문 구조와 그들 간의 관계를 확인할 수 있다.
그 결과, 분석부(1110)는 형태소, 개체명, 구문분석 결과와 사용자 질문을 제1 변환부(1121) 및 제2 변환부 [0039]
(1122)로 전달한다.
제1 데이터베이스(1131)는 이중언어 코퍼스(Corpus)로서, 단어-단어, 관용구-관용구 등과 같이 의미상 동일한 [0040]
것으로 추정되는 한글 어휘(구)와 영어 어휘(구)의 쌍을 저장한다. 더불어, 제1 데이터베이스(1131)는 한글 어 휘(구)와 영어 어휘(구)의 쌍의 사용빈도 및 통계정보 중 적어도 하나를 함께 저장한다.
여기서, 코퍼스란 말뭉치 또는 말모듬으로 불리며, 인간의 음성 언어나 텍스트를 대용량 컴퓨터에 저장하고, 이 [0041]
를 필요에 따라 가공하여 언어 연구에 사용하는 대규모 언어 데이터베이스로서, 빅데이터로부터 수집된 것일 수 있다. 본 발명의 코퍼스는 다양한 언어에 대한 데이터베이스일 수 있지만, 본 명세서에서는 한국어-영어 번역 코퍼스를 포함하는 이중 언어를 사용하는(Bi-Lingual) 코퍼스인 경우를 예로 들어 설명한다.
제1 변환부(1121)는 통계 기반의 모델로서, 제1 데이터베이스(1131) 내 코퍼스 상의 한국어휘 및 영어어휘의 쌍 [0042]
데이터를 이용하여 사용자 질문 내 형태소 및 개체명에 대한 어휘단위의 패러프라이즈를 수행한다. 여기서, 제 1 변환부(1121)는 어휘단위가 아니라, 사전화된 구를 기반으로 구 단위의 패러프라이즈를 수행할 수도 있음은 물론이다. 예를 들어, 제1 변환부(1121)는 사용자 질문 내 한국어의 어휘나 구를 그와 동일한 의미일 가능성이 큰 어휘나 구로 변환하는 패러프라이즈를 수행할 수 있다.
예를 들면, 제1 변환부(1121)는 사용자 질문 내 포함된 형태소나 개체명을 확인하고, 사용자 질문 내 형태소나 [0043]
개체명이 한국어면, 영어로 변환한 후 통계적으로 그와 동일한 의미를 갖는 한국어들로 변환하는 어휘나 구 단 위의 패러프라이즈를 수행할 수 있다. 또는, 제1 변환부(1121)는 사용자 질문 내 형태소나 개체명이 영어일 경 우, 통계적으로 그와 동일 또는 유사한 의미를 갖는 한국어들과 변환하는 어휘나 구 단위의 패러프라이즈를 수 행할 수 있다.
그리고, 제1 변환부(1121)는 제2 데이터베이스(1132) 내 언어 모델을 이용하여 패러프라이즈된 어휘에 다양한 [0044]
조사나 접사를 붙여, 자연스러운 패러프라이즈 질문을 생성한다.
이를 위해, 제1 변환부(1121)는 본 발명의 수행 사전에, 코퍼스를 기반으로 통계적으로 동일 의미에 해당하는 [0045]
어휘나 구를 사전화하고, 사전화된 어휘나 구를 기반으로 언어 모델을 학습하여 제2 데이터베이스(1132)에 저장 한다. 바꿔말해, 제1 변환부(1121)는 코퍼스를 기반으로 명사나 어근 등에 붙을 적절한 조사나 어미가 무엇인 지를 학습한 결과 생성된 언어 모델을 제2 데이터베이스(1132)에 저장할 수 있다.
제2 변환부(1122)는 규칙 기반 모델로서, 제3 데이터베이스(1133) 내 동의어 사전을 기반으로 사용자 질문 내 [0046]
어휘나 구를 기설정된 규칙에 맞춰 동의어로 변환한다. 그리고, 제2 변환부(1122)는 제4 데이터베이스(1134) 내 구문규칙에 기반하여 어휘나 구가 변환된 사용자 질문의 구문 구조를 수동/능동과 같이 변경한다. 이때, 제 2 변환부(1122)는 파악된 개체명을 참조하여 사용자 질문 내 어휘나 구의 동의어를 검색할 수 있다.
제2 변환부(1122)는 제2 데이터베이스(1132) 내 언어 모델을 이용하여 동의어 대치 및 구문구조 변경되어 생성 [0047]
된 질문들에 대해 조사 및 접사를 문법에 맞도록 정정하는 후처리를 수행하여 자연스러운 패러프라이즈 질문을 생성한다. 이를 위해, 제2 변환부(1122)는 사전에 코퍼스를 기반으로 명사나 어근 등에 붙을 적절한 조사나 어 미가 무엇인지를 학습할 수 있다.
평가부(1140)는 제1 변환부(1121) 및 제2 변환부(1122)로부터 패러프라이즈 질문을 전달받아, 기설정된 검증을 [0048]
통해 그 신뢰도 값을 계산한다.
상세하게는, 평가부(1140)는 수동 또는 자동으로 패러프라이즈 질문의 원 질문(사용자 질문)에 대비한 의미보존 [0049]
성, 문법보존성 및 표현대중성 등을 확인하여 신뢰도 값을 계산할 수 있다. 이하, 평가부(1140)가 의미보전성, 문법보존성 및 표현대중성을 확인하는 것에 대해 설명한다.
먼저, 의미보존성은 패러프라이즈 질문이 원 질문의 의미를 얼마나 보존하고 있는지 여부일 수 있다. 이에, 평 [0050]
가부(1140)는 의미보존성에 대한 자동 평가를 수행할 경우, 원 질문 내 어휘들 간의 의미적 관계와 패러프라이 즈 질문 내의 어휘들 간의 의미적 관계에 대한 유사도를 측정함에 따라, 패러프라이즈 질문의 의미보존성을 확 인할 수 있다.
상세하게는, 평가부(1140)는 원 질문과 패러프라이즈 질문 간 대응되는 두 어휘의 의미적 연관성을 통계적으로 [0051]
처리하거나, 워드넷과 같은 어휘자원을 이용하여 두 어휘가 의미상 상하관계인지, 동의/유의관계인지 등을 확인 할 수 있다. 그리고, 평가부(1140)는 의미상 유사성을 수치화함에 따라 의미보존성을 수치화한 제1 값을 산출 할 수 있다.
다음으로, 문법보존성은 생성된 문장이 문법적으로 얼마나 정확하고 자연스러운지 여부일 수 있다. 이에, 평가 [0052]
부(1140)는 패러프라이즈 질문의 구문적 제한이나 선호조건이 격틀정보와 얼마나 일치하는지를 측정하여 패러프 라이즈 질문의 문법보존성을 확인할 수 있다.
여기서, 격틀정보는 특정 용언에 대해 주격, 목적격, 부사격 등이 어떤 의미를 가진 어휘가 올 수 있다고 정의 [0053]
한 것일 수 있다. 또한, 구문적 제한이나 선호조건은 다음과 같다. 예를 들면, 격틀은 생성된 문장 내 동사인 '먹다'의 목적격은 '음식'이고, 주격은 '동물'일 수 있음을 나타내는 것이다. 그런데, 목적격의 '음식'이라는 의미범주 중에서 '먹다'가 선호하는 것은 '액체가 아닌 먹거리'를 선호한다. 왜냐하면 '액체 종류의 먹거리'는 '먹다'보다는 '마시다'를 선호하기 때문이다. 이것이 바로 선호조건이라고 할 수 있다. 또한, '먹다'의 주격 으로 '동물'의 의미범주가 와야 하는데, '동물'이 아닌 돌이나 금속과 같은 '물체'가 오면 의미상 틀리므로, 이 같은 조건을 제한조건이라고 한다.
평가부(1140)는 확인결과, 패러프라이즈 질문의 문법보존성을 수치화한 제2값을 산출할 수 있다.
[0054]
마지막으로, 표현대중성(Popularity)은 패러프라이즈 질문 내 어휘들이 일반 사용자이나, 콘텐츠에 의해 얼마나 [0055]
많이 사용되는지 여부일 수 있다. 이에, 평가부(1140)는 제1 데이터베이스(1131) 내 코퍼스로부터 각 어휘나 구의 사용빈도 및 통계정보 중 적어도 하나를 확인하여 표현대중성을 수치화한 제3값을 산출할 수 있다.
평가부(1140)는 패러프라이즈 질문의 의미보존성의 제1값, 문법보존성의 제2값 및 표현대중성의 제3값을 종합하 [0056]
여 패러프라이즈 질문의 신뢰도 값을 계산하고, 패러프라이즈 질문과 신뢰도 값을 함께 출력할 수 있다.
더불어, 평가부(1140)는 각 어휘에 어떤 조사나 어미가 붙을 때에 대한 언어모델에 제공하는 가중치 값을 함께 [0057]
고려하여 신뢰도 값을 계산할 수 있다. 예를 들어, 특정어휘에 대한 어미로 'A'가 붙을 가능성이 0.7이라면, 이와 같은 값들을 모두 고려할 수 있다. 여기서, 원 질문(사용자 질문)의 신뢰도는 1이고, 각 변형질문의 신뢰 도는 0 이상 내지 1 미만의 값일 수 있다.
순위화부(1150)는 평가부(1140)로부터 복수의 패러프라이즈 질문과 그 신뢰도 값을 전달받아, 신뢰도 값을 기반 [0058]
으로 복수의 패러프라이즈 질문을 순위화한다. 그리고, 순위화부(1150)는 신뢰도 값이 큰 순으로 기설정된 N개 의 패러프라이즈 질문을 정답 검색에 사용될 N개의 변형질문으로 선택하여 출력한다.
한편, 전술한 예에서는 변환 모듈(1100)이 4개의 데이터베이스를 포함하는 경우를 예로 들어 설명하였다. 하지 [0059]
만, 변환 모듈(1100)은 섹션이 나눠진 하나의 데이터베이스에 코퍼스, 언어 모델, 동의어 사전, 구문 규칙 등이 모두 포함될 수도 있음은 물론이다. 또한, 변환 모듈(1100)은 그 구현 형태에 따라 2, 3개 또는 5개 이상의 데 이터베이스를 구비할 수도 있다.
또한, 전술한 예에서는 변환 모듈(1100)이 패러프라이즈를 수행하는 제1 및 제2 변환부(1121, 1122)를 포함하는 [0060]
경우를 예로 들어 설명하였지만, 변환 모듈(1100)은 하나 또는 세 개 이상의 변환부를 포함할 수도 있음은 물론 이다. 예를 들어, 제2 변환부(1122)는 사용자 질문 내 어휘를 동의어로 대체하는 제3 변환부와 패러프라이즈 질문의 구문 구조를 변경하는 제4 변환부로 구성될 수도 있다.
또는, 전술한 예에서 제1 변환부(1121) 및 제2 변환부(1122)에서 조사나 접사를 변형하는 기능을 하는 구성요소 [0061]
는 제1 및 제2 변환부(1121, 1122)와 별개의 하나 이상의 구성요소일 수도 있다.
이와 같이, 본 발명의 실시예는 기존 자연어 질의응답의 데이터 잉여성을 패러프레이징에 반영하여, 사용자의 [0062]
질문을 동일한 의미의 다양한 질문들로 패러프레이즈하고, 패러프라이즈된 질문들을 분산된 질의응답엔진의 입 력으로 던져서 추출되는 정답후보를 통합하여 제시할 수 있다.
이 같이, 본 발명의 실시예는 콘텐츠에 대한 잉여성이 아닌, 질문의 잉여성을 기반으로 패러프라이즈를 수행하 [0063]
기 때문에, 제한된 콘텐츠를 대상으로 하는 자연어 질의응답에서 재현율과 정확도를 향상시킬 수 있다.
더 나아가, 본 발명의 실시예는 빅데이터에 해당하는 콘텐츠에 적용되어, 자연어 질의응답의 성능을 더욱 개선 [0064]
할 수 있을 것으로 기대된다.
이하, 도 3을 참조하여 본 발명의 실시예에 따른 사용자 질문에 대한 정답 검출 과정에 대해서 설명한다. 도 3 [0065]
은 본 발명의 실시예에 따른 사용자 질문에 대한 정답 검출 과정을 도시한 도면이다.
도 3에서는 사용자 질문이 "안두희에 의해 암살된 대한민국 임시정부 주석은 누구일까요?"일 경우, 변환 모듈 [0066]
(1100)은 예컨대 아래와 같은 변형질문 1과 2를 생성할 수 있다.
변형질문 1: "안두희 총격에 사망한 대한민국 임시정보 주석은?"
[0067]
변형질문 2: "안두희가 저격하여 서거하신 대한민국 임시정부 주석은?"
[0068]
그러면, 각 질의응답엔진이 사용자 질문, 변형질문 1 및 변형질문 2를 각기 입력받아, 도 3과 같이 각 질문에 [0069]
대한 정답후보 리스트를 검색하고, 각 정답후보에 대한 신뢰도를 산출한다. 이때, 각 정답후보에 대한 신뢰도 는 해당 정답후보가 검색된 데이터베이스의 신뢰도 등에 의해 확인될 수 있다.
도 3의 정답후보 리스트와 같이, 원 질문의 정답후보로 '김구', '이승만', '여운형'이 제시되었고, 변형질문 1 [0070]
의 정답후보로 '이승만', '김구', '김규식'이 제시되었고, 변형질문 2의 정답후보로는 '김구', '김학규', '이승
만'이 제시되었다.
검출 모듈(1300)은 하기의 수학식 1과 같이 각 질문(사용자 질문 및 변형질문)의 신뢰도 값과 각 질문에 대한 [0071]
정답으로 검색된 정답후보의 신뢰도 값을 곱한 값의 평균을 이용하여 각 정답후보의 통합신뢰도를 산출할 수 있 다.
수학식 1
[0072]
여기서, N은 변형질문의 총 개수일 수 있다.
[0073]
즉, 검출 모듈(1300)은 각 질의응답엔진으로부터 제공받은 정답후보 중에서 중복되는 것이 있을 수 있으므로, [0074]
상기 수학식 1을 통해 중복되는 정답후보의 신뢰도 값을 종합한 통합 신뢰도 값을 산출한다.
도 3의 오른쪽 "정답통합" 블록과 같이, 검출 모듈(1300)의 통합신뢰도 확인 결과, 각 정답후보 중에서 '김구' [0075]
가 0.678로 가장 신뢰도가 높음을 알 수 있다.
결국, 검출 모듈(1300)은 사용자의 질문 "안두희에 의해 암살된 대한민국 임시정부 주석은 누구인가요?"의 정답 [0076]
으로 '김구'를 검출하고, 제시 모듈(미도시)은 '김구'를 사용자에게 출력할 수 있다.
이 같은, 본 발명의 실시예는 자연어 질의응답의 원천기반 기술로 활용되어, 자연어를 인터페이스로 하는 예컨 [0077]
대, 지능형 콜센터 QA, 텍스트 빅데이터 QA, 헬스케어 QA, 지능 로봇, 스마트 단말 QA 등과 같은 다양한 서비스 분야에서 활용될 수 있다.
또한, 본 발명의 실시예는 음성인식 기술과 융합되어, 앞에서 언급한 다양한 분야의 모바일 인터페이스로 사용 [0078]
자의 자연어 질문을 이해하고, 분석하여 원하는 정보를 제공할 수 있으므로, 한층 더 지능형 모바일 시장에 크 게 기여할 수 있다.
이하, 도 4를 참조하여 본 발명의 실시예에 따른 자연어 질의응답 방법에 대해서 설명한다. 도 4는 본 발명의 [0079]
실시예에 따른 자연어 질의응답 방법을 도시한 흐름도이다.
도 4를 참조하면, 자연어 질의응답 시스템(10)은 사용자 질문을 패러프라이즈(Paraphrase)하여 복수의 변형질문 [0080]
을 생성한다(S410).
상세하게는, 자연어 질의응답 시스템(10)은 사용자 질문 내 어휘나 구를 다른 언어로 대체하고, 사용자 질문 내 [0081]
어휘를 동의어로 대체한 후 구문 구조를 변환하는 것 중 적어도 하나를 수행하여 사용자 질문을 패러프라이즈할 수 있다.
또한, 자연어 질의응답 시스템(10)은 사용자 질문을 패러프라이즈한 복수의 패러프라이즈 질문에 대해 의미보존 [0082]
성, 문법보존성 및 표현대중성 중 적어도 하나를 확인하여 상기 복수의 패러프라이즈 질문의 신뢰도 값을 계산 하고, 계산된 신뢰도 값이 큰 순으로 복수의 패러프라이즈 질문 중에서 N개의 변형질문을 선택하여 출력할 수 있다.
자연어 질의응답 시스템(10)은 복수의 질의응답엔진에 의해 사용자 질문 및 각 변형질문을 각기 입력받아, 그에 [0083]
대응하는 정답후보를 각기 선별한다(S420).
자연어 질의응답 시스템(10)은 검색된 정답후보들 중에서 적어도 하나의 정답후보를 정답으로 검출한다(S430).
[0084]
자연어 질의응답 시스템(10)은 복수의 질의응답엔진으로부터 전달받은 상기 정답후보들과 상기 각 정답후보의 신뢰도 값을 확인하고, 정답후보들 중에서 중복되는 정답후보를 통합하는 통합 신뢰도 값을 산출하고, 통합 신 뢰도 값이 가장 높은 정답후보를 정답으로 검출할 수 있다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 [0085]
발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경 이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구 범위의 기재에 의하여 정해져야 할 것이다.
도면 도면1
도면2
도면3
도면4