KR102088357B1 - 기계독해기반 질의응답방법 및 기기 - Google Patents

기계독해기반 질의응답방법 및 기기 Download PDF

Info

Publication number
KR102088357B1
KR102088357B1 KR1020180089422A KR20180089422A KR102088357B1 KR 102088357 B1 KR102088357 B1 KR 102088357B1 KR 1020180089422 A KR1020180089422 A KR 1020180089422A KR 20180089422 A KR20180089422 A KR 20180089422A KR 102088357 B1 KR102088357 B1 KR 102088357B1
Authority
KR
South Korea
Prior art keywords
answer
query
value
correct answer
user
Prior art date
Application number
KR1020180089422A
Other languages
English (en)
Other versions
KR20200014046A (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 KR1020180089422A priority Critical patent/KR102088357B1/ko
Publication of KR20200014046A publication Critical patent/KR20200014046A/ko
Application granted granted Critical
Publication of KR102088357B1 publication Critical patent/KR102088357B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/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
    • G06F16/3332Query translation
    • G06F16/3338Query expansion

Abstract

본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답방법은 사용자 질의를 수신하고 분석하는 단계; 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지를 검색하는 단계; 적어도 하나의 기계독해기반 질의응답부 각각에 상기 사용자 질의와 그에 대응하는 패시지를 입력하여 적어도 하나의 정답후보값을 획득하는 단계; 상기 적어도 하나의 정답후보값이 정답인지 판단하는 단계를 포함한다.

Description

기계독해기반 질의응답방법 및 기기{Device and Method for Machine Reading Comprehension Question and Answer}
본 발명은 기계독해기반 질의응답에 관한 기술이다.
사람의 언어는 풍부하고 복잡하며, 복잡한 문법 및 문맥 의미를 갖는 많은 어휘를 포함하고 있으나 하드웨어 또는 소프트웨어 애플리케이션은 일반적으로 특정 형식 또는 규칙에 따라 데이터를 입력할 것을 요구한다. 여기서, 자연어 입력은 사람과 상호작용하기 위한 거의 모든 소프트웨어 애플리케이션에서 이용될 수 있다. 최근에 자연어를 이용한 질의응답방식은 텍스트나 음성으로 구성된 언어적 입력(Lexical input)을 NLP(자연어 처리 프로세서, Natural Language Processor) 모듈이 입력받아 컴퓨터상에서 처리될 수 있는 형태로 처리해주고, 처리된 자연어의 컨텍스트(Context)를 분석하는 컨텍스트 분석기(Context Analyzer)를 지나서, 컨텍스트에 따라 답변 내용을 정하는 결정부(Decision Maker)에서 답변 내용을 분류하여 확정하고, 확정된 답변 내용에 따라 사용자에게 답변을 하는 응답부(Response Generator)를 통해 언어적 출력(Lexical output)이 나오게 되는 구조로 구성된다.
KR 10-1851787 B1
본 발명의 바람직한 일 실시예에서는 자연어로 입력된 사용자 질의에 가장 적합한 최적의 응답을 제공하고자 한다.
본 발명의 바람직한 일 실시예에서는 적어도 하나의 패시지, 문서 및 기계독해기반 질의응답 알고리즘을 이용하는 방법을 제공하고자 한다.
본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답방법은 음성 또는 텍스트로 사용자 질의를 수신하는 단계; 상기 사용자 질의를 형태소 분석을 기초로 분석하여 개체명을 인식하고 인식된 개체명을 기초로 어휘 의미를 분석하여 상기 사용자 질의의 의도를 분석한 후 생략어 또는 대용어를 복원하여 쿼리를 추출하고, 규칙기반 도메인 분류에 따라 상기 쿼리에 대응하는 적어도 하나의 도메인 정보를 매핑하는 단계; 상기 사용자 질의 분석시 유사질의어 후보군을 선정하고, 상기 유사질의어 후보군에 TF-IDF값을 계산하여 점수가 높은 1개의 유사질의어를 선택하며, 상기 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공하는 단계; 상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 매핑된 적어도 하나의 도메인 정보를 기초로 적어도 하나의 도메인 각각에서 상기 쿼리에 대응하는 적어도 하나의 문서를 선택하는 단계; 상기 적어도 하나의 문서에서 문장단위로 다수의 패시지를 검색하고, 검색된 다수의 패시지에 적어도 하나의 기계독해기반 질의응답알고리즘을 적용하는 단계;및 상기 다수의 패시지에 상기 적어도 하나의 기계독해기반 질의응답알고리즘을 적용 후 상기 적어도 하나의 기계독해기반 질의응답알고리즘 각각의 신뢰도 또는 결과값의 일치정도를 기초로 1개의 최적정답값을 선택하여 사용자에게 응답으로 제공하고, 상기 최적정답값이 없는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답방법은 사용자 질의를 수신하는 단계; 사용자 질의를 분석하는 단계; 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 검색하는 단계; 적어도 하나의 기계독해(MRC, Machine Reading Comprehension) 기반 질의응답부 각각에 상기 사용자 질의와 그에 대응하는 패시지를 입력하여 적어도 하나의 정답후보값을 획득하는 단계; 상기 적어도 하나의 정답후보값이 정답인지 판단하는 단계;및 정답으로 판단된 정답후보값인 최적정답값 또는 결과없음이라는 정보를 사용자에게 응답으로 제공하는 단계;를 포함한다.
본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답방법은 음성 또는 텍스트로 사용자 질의를 수신하는 단계; 자연어 처리 분석 및 자연어 이해 분석을 기초로 사용자 질의를 분석하는 단계; 상기 사용자 질의를 분석시 유사질의어 후보군을 선정하고, 상기 유사질의어 후보군에 TF-IDF값을 계산하여 점수가 높은 1개의 유사질의어를 선택하고, 상기 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공하는 단계; 상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 복수의 문서를 선택하고, 선택한 복수의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 복수개 추출하는 단계; 복수의 기계독해기반 질의응답알고리즘을 상기 복수개 패시지에 적용하여 복수의 정답후보값을 획득하는 단계; 상기 복수의 정답후보값에서 정답으로 판단되는 최적정답값이 존재하는지 판단하고, 존재하는 경우 상기 최적정답값을 응답으로 제공하고, 존재하지 않는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 단계;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답제공기기는 사용자 질의를 수신하는 수신부; 사용자 질의를 분석하는 분석부; 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 검색하는 패시지검색부; 상기 사용자 질의와 그에 대응하는 패시지 세트를 입력받아 적어도 하나의 기계독해 기반 질의응답 알고리즘을 적용하여 적어도 하나의 정답후보값을 출력하는 기계독해질의응답부; 상기 적어도 하나의 정답후보값이 정답인지 판단하는 스크리닝부;및 정답으로 판단된 정답후보값인 최적정답값 또는 결과없음이라는 정보를 사용자에게 응답으로 제공하는 응답부;를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답제공기기는 음성 또는 텍스트로 사용자 질의를 수신하는 수신부; 자연어 처리 분석 및 자연어 이해 분석을 기초로 사용자 질의를 분석하는 분석부; 상기 사용자 질의를 분석시 유사질의어 후보군을 선정하고, 상기 유사질의어 후보군에 TF-IDF값을 계산하여 점수가 높은 1개의 유사질의어를 선택하고, 상기 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공하는 유사질의매칭부; 상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 복수의 문서를 선택하고, 선택한 복수의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 복수개 추출하는 단계 패시지검색부; 복수의 기계독해기반 질의응답알고리즘을 상기 복수개 패시지에 적용하여 복수의 정답후보값을 획득하는 기계독해질의응답부; 상기 복수의 정답후보값에서 정답으로 판단되는 최적정답값이 존재하는지 판단하는 스크리닝부;및 상기 최적정답값을 응답으로 제공하고, 상기 최적정답값이 존재하지 않는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 응답부;를 포함하는 것을 특징으로 한다.
본 발명의 바람직한 일 실시예에서, 기계독해기반 질의응답제공방법은 사용자의 질의의 의미를 이해하고, 그 의미에 기반하여 검색한 도메인에서 관련된 적어도 하나의 문서와 적어도 하나의 패시지에서 적어도 하나의 기계독해기반 질의응답알고리즘을 적용하여 최적의 응답을 제공하는 효과가 있다.
도 1 은 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법이 구현되는 기기가 동작하는 시스템도를 도시한다.
도 2 내지 3은 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공기기의 구성도를 도시한다.
도 4 는 본 발명의 바람직한 일 실시예로서, 기계독해질의응답알고리즘의 개념도를 도시한다.
도 5는 본 발명의 바람직한 일 실시예로서, 패시지검색부에서 패시지를 검색하여 기계독해질의응답부에 제공하는 일 예를 도시한다.
도 6은 본 발명의 바람직한 일 실시예로서, 스크리닝부에서 최적응답을 판단하는 과정의 흐름도를 도시한다.
도 7은 본 발명의 바람직한 일 실시예로서, 시맨틱 트리플 기반의 검색 수행의 일 예를 도시한다.
도 8 내지 10 은 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법의 흐름도를 도시한다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
도 1 은 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법이 구현되는 기기가 동작하는 시스템도를 도시한다.
본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법이 구현되는 기기는 단말기, 스마트폰, 스마트TV, 인공지능 스피커(114), 노트북, 테블릿, 웨어러블디바이스(118), 핸드헬드장치(110), 인공지능 로봇(112)을 포함하며, 서버(120)의 형태 등을 더 포함한다. 기계독해기반 질의응답제공방법이 구현되는 기기는 또한 기계학습 알고리즘 라이브러리와 자연어 처리 및 자연어 이해 알고리즘 라이브러리가 저장된 메모리와 이를 처리하는 프로세서가 구비된 단말기를 모두 포함한다.
도 2 내지 3은 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공기기의 구성도를 도시한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
도 2 는 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공기기(200)의 구성도를 도시한다.
기계독해기반 질의응답제공기기(200)는 수신부(210), 분석부(220), 패시지검색부(230), 기계독해 질의응답부(240), 스크리닝부(250) 및 응답부(260)를 포함하고, 관리자설정부(미 도시)를 더 포함할 수 있다.
수신부(210)는 사용자 질의를 수신하고, 분석부(220)에서 사용자 질의를 분석하며, 패시지검색부(230)에서 분석된 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 검색한다. 이 경우 패시지는 N개(N은 자연수) 검색될 수 있다. 패시지를 검색하는 일 예는 도 5를 참고한다.
적어도 하나의 기계독해 기반 질의응답부(240) 각각은 사용자 질의와 그에 대응하는 N개의 패시지 세트를 입력으로 수신하고, N개의 패시지 각각에 M개(M은 자연수)의 기계독해(MRC, Machine Reading Comprehension) 알고리즘을 적용하여 N*M개의 정답후보값을 획득한다. 기계독해 알고리즘 특성의 일 예는 도 4를 참고한다.
스크리닝부(250)는 N*M개의 정답후보값 중 최적정답값을 판단한다. 응답부(260)는 스크리닝부(250)에서 판단한 최적정답값 또는 사용자 질의에 해당하는 결과가 없음을 나타내는 정보를 사용자에게 응답정보로 전달한다.
도 3 은 본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답제공기기(300)의 구성도를 도시한다.
기계독해기반 질의응답제공기기(300)는 수신부(310), 분석부(320), 패시지검색부(330), 기계독해 질의응답부(340), 스크리닝부(350) 및 응답부(360)를 포함하고, 관리자설정부(미 도시)를 더 포함할 수 있다. 분석부(320)는 유사질의매칭부(322)를 더 포함한다. 스크리닝부(350)는 일치도확인부(352)및 신뢰도확인부(354)를 더 포함한다.
관리자설정부는 스크리닝부(350)에서 판단한 최적정답값을 시맨틱 트리플로 저장하며 유사질의매칭부(332), 패시지검색부(330), 기계독해질의응답부(340)의 설정을 관리한다. 또한, 관리자설정부는 수신부(310), 분석부(320), 패시지검색부(330), 기계독해 질의응답부(340), 스크리닝부(350) 및 응답부(360)에서 생성된 모든 정보를 저장할 수 있다. 모든 정보의 예로는 시스템 로그, 다수의 Passage, 다수의 정답후보값들, 정답후보값들 각각의 신뢰도, 사용된 기계독해기반 질의응답 알고리듬. 패시지 검색 결과, 패시지 검색 시간, 스크리닝부에서 정답 판단 여부 등이 포함된다.
수신부(310)는 음성 또는 텍스트의 형태로 사용자 질의를 수신할 수 있다. 음성인식 스피커에서 사람이 자연어 기반의 문장으로 질의를 수행하는 경우 또는 챗봇 형태에서 사람이 타이핑을 통해 질의를 수행하는 경우를 모두 포함한다. 음성인식 스피커에서 인식이 되는 경우, 수신부(310)는 STT(Speech-to-Text)형태로 음성을 텍스트로 변환한다. 일 예로, 수신부(310)는 사용자가 가수 '샤이니'의 팬인 경우, "샤이니가 이번에 낸 앨범의 이름이 뭐야?"라는 질의를 수신할 수 있다.
분석부(320)는 수신부(310)를 통해 사용자 질의를 텍스트 형식으로 입력받은 후, 자연어 처리 분석 및 자연어 이해 과정을 통해 사용자 질의를 분석한다. 분석부(320)는 사용자 질의를 형태소 분석을 기초로 분석하여 개체명을 인식하고 인식된 개체명을 기초로 어휘 의미를 분석하여 사용자 질의의 의도를 분석한 후 생략어 또는 대용어를 복원하여 쿼리를 추출하고, 규칙(Rule)기반 도메인 분류(Domain Classifier)에 따라 쿼리에 대응하는 적어도 하나의 도메인 정보를 매핑할 수 있다. 본 발명의 바람직한 일 실시예서는 쿼리에 대응하는 적어도 하나의 도메인 정보는 기구축된 도메인별 문서를 의미한다.
분석부(320)는 자연어 이해 과정에서 사용자 질의가 어떤 도메인에 속하는지, 사용자 질의의 핵심적인 내용이 무엇인지를 분석하고, 분석한 결과를 패시지검색부(330)에 전달한다. 예를 들면, 수신부(310)에서 수신한 "샤이니가 이번에 낸 앨범의 이름이 뭐야?"라는 질의에 대해, 분석부(320)는 도메인을 "음악" 및 "인물"로 매핑한다. 이 경우, 사용자의 질의는 “영화”, “경제” 등의 도메인과는 직접적인 관련이 없는 것으로 간주할 수 있다. 이 경우, 분석한 결과를 전달받은 패시지검색부(330)는 "음악" 및 "인물"과 관련된 도메인에서 검색을 수행하고, “영화”, 경제”등의 도메인은 검색에서 제외할 수 있어 검색 속도 및 문서의 정확성을 개선할 수 있다. 그리고, 분석부(320)는 형태소 분석을 기초로 개체명 또는 핵심 단어로 "샤이니", "이번", "앨범 이름"을 인식한다.
유사질의매칭부(322)는 딥러닝 기술을 이용하여 분석부(320)에서 사용자 질의를 분석시 유사질의어 후보군을 선정하고, 상기 유사질의어 후보군에 워드-임베딩을 적용하여 유사도가 높은 하나의 유사질의어를 선택하고, 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공한다.
예를 들어, 유사질의매칭부(322)는 "샤이니가 이번에 낸 앨범의 이름이 뭐야?"라는 질의에 대해 워드 임베딩을 적용하여 의미가 유사한 “샤이니 최신 앨범 이름 말해줘"의 유사질의어를 선택할 수 있다. 유사질의매칭부(322)는 유사질의어인“샤이니 최신 앨범 이름 말해줘"에 대한 최적정답값 "The Story of Light’ EP3"이 기존재하는 경우, "샤이니가 이번에 낸 앨범의 이름이 뭐야?"라는 사용자 질의를 “샤이니 최신 앨범 이름 말해줘"라는 유사도가 높은 대표 질문으로 치환하고, 사용자 질의에 기존재하는 최적정답값을 응답으로 제공할 수 있다.
패시지검색부(330)는 분석된 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 검색한다. 이 경우, 문서는 뉴스 기사, 사전, 블로그 등의 웹문서 등을 포함한다. 도 5는 패시지검색부에서 패시지를 검색하여 기계독해질의응답부에 제공하는 일 예를 도시한다. 도 5를 참고하면, "샤이니가 이번에 낸 앨범의 이름이 뭐야?"라는 사용자 질의에 대해 패시지 검색부(520)에서 5개의 패시지(540a, 540b, 540c, 540d, 540e)를 추출하여 기계독해기반 질의응답부(340)에 전송하는 일 예가 도시되어 있다.
패시지검색부(330)는 "음악" 및 "인물"과 관련된 도메인에서 분석부(320)에서 인식한 핵심 단어인 "샤이니", "이번", "앨범 이름"을 패시지(passage) 검색시 이용할 수 있다.
패시지검색부(330)는 TF-IDF(Term Frequency - Inverse Document Frequency)를 활용하여 TF-IDF값이 높은 순서로 적어도 하나의 문서에서 N개의 패시지를 검색한다. 이 경우, 하나의 문서에서 N개의 패시지를 추출하거나 또는 복수의 문서에서 N개의 패시지를 추출할 수 있다. 본 발명의 바람직한 일 실시예로서, 패시지검색부(330)는 일정 점수 이상의 값을 지니는 TF-IDF값들 중 높은 순서로 적어도 하나의 패시지를 추출할 수 있다.
TF-IDF(Term Frequency - Inverse Document Frequency)는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다.
TF(단어 빈도, term frequency)는 특정한 단어가 문서 내에 얼마나 자주 등장하는지를 나타내는 값으로, 이 값이 높을수록 문서에서 중요하다고 생각할 수 있다. 하지만 단어 자체가 문서군 내에서 자주 사용되는 경우, 이것은 그 단어가 흔하게 등장한다는 것을 의미한다. 이것을 DF(문서 빈도, document frequency)라고 하며, 이 값의 역수를 IDF(역문서 빈도, inverse document frequency)라고 한다. TF-IDF는 TF와 IDF를 곱한 값이다.
IDF 값은 문서군의 성격에 따라 결정된다. 예를 들어 '원자'라는 낱말은 일반적인 문서들 사이에서는 잘 나오지 않기 때문에 IDF 값이 높아지고 문서의 핵심어가 될 수 있지만, 원자에 대한 문서를 모아놓은 문서군의 경우 이 낱말은 상투어가 되어 각 문서들을 세분화하여 구분할 수 있는 다른 낱말들이 높은 가중치를 얻게 된다.
본 발명의 바람직한 일 실시예로서, 패시지검색부(330)는 사용자 질의, 사용자 질의에서 분석된 쿼리 및 쿼리의 형태소 분석 결과를 기초로 TF-IDF값을 계산한다. 이 경우, 패시지검색부(330)에서 추출하는 패시지의 개수는 초기에는 임의로 설정하며, 이후 로그 기반의 통계값을 이용하여 자동으로 조정할 수 있다. 로그 기반의 통계값은 스크린부(340)에서 최적정답으로 선택된 결과값과 관리자설정부에 기록된 로그(log) 분석값을 포함한다.
일 예로, 관리자설정부에서 초기에 패시지검색부(330)에서 5개의 패시지를 추출하겠다고 설정하였으나, 실제 결과값이 3개의 패시지를 추출한 것과 큰 차이가 없는 경우 패시지검색부는 3개의 패시지를 추출하도록 자동으로 조정되어 검색 속도 및 효율성을 개선할 수 있다.
본 발명의 바람직한 일 실시예로서, 패시지검색부(330)는 또한 패시지를 추출하는 추출 범위를 설정할 수 있다. 관리자설정부는 초기에 패시지검색부(330)에서 기설정된 바이트(byte)를 초과하는 문장단위로 패시지를 추출하겠다고 설정할 수 있다. 일 예로, 한글 및 공백을 포함하여 500 바이트에서 800바이트 범위 내에서 패시지를 추출하도록 초기에 설정할 수 있다. 패시지는 마침표 단위로 문장 단위로 추출된다. 일 예로, 문장 단위로 추출하기 위해 800 바이트를 초과하더라도 마침표를 포함하는 문장단위로 패시지를 추출한다.
패시지검색부(330)는 적어도 하나의 기계독해기반 질의응답부(340) 각각에서 이용하는 기계독해 질의응답 알고리즘에서 도출되는 정답후보값들이 스크리닝부(350)에서 최적정답으로 판단되는 통계에 기초하여 패시지를 추출하는 추출 범위를 자동으로 조정할 수 있다. 예를 들어, 500 바이트에서 800바이트 범위 내에서 패시지를 추출하도록 초기에 설정하였으나 스크리닝부(350)에서 최적정답으로 판단되는 패시지의 바이트 값의 통계가 600~630바이트인 경우, 관리자설정부는 이 값을 패시지검색부(330)에 피드백하여 패시지의 추출범위를 600~630바이트로 조정할 수 있다.
본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답기기(300)은 하나 또는 복수의 기계독해 질의응답부(340)를 포함하며 각각의 기계독해기반 질의응답부는 기계독해기반 질의응답알고리즘을 패시지에 적용하도록 구현된다.
도 4 는 기계독해기반(MRC, Machine Reading Comprehension) 질의응답알고리즘(400)의 구현 방식의 일 예를 도시한다. 기계독해기반 질의응답알고리즘은 자연어로 구성된 사용자질의를 이해하여 사용자질의에 해당하는 답(Answer)가 들어있는 패시지에서 기계가 자동으로 글을 읽어 답을 도출하는 알고리즘을 의미한다. RNN(Recurrent Neural Network) 기반의 어텐션 모델(410)을 기반으로 반복적으로 문서를 읽어 정답을 탐색하고, 제시문, 사용자 질의, 정답을 지식베이스 후보군으로 선정하도록 구현된다. 기계독해기반 질의응답알고리즘의 예로는 R-Net과 BiDAF,ReasoNet모델 등의 신경망 알고리즘이 있다.
본 발명의 바람직한 일 실시예에서, 기계독해기반 질의응답부(340)는 하나의 사용자 질의에 대응하는 N개의 패시지에 대해 M 개의 기계독해기반 질의응답 알고리즘을 적용하여 N*M개의 정답후보값을 생성하고, N*M개의 정답후보값과 N*M개의 정답후보값 각각에 대해 정답일 확률을 표시하는 신뢰도 정보를 스크리닝부(350)로 전송한다. 예를 들어 하나의 사용자 질의에 대해 추출된 패시지가 3개이고, 3개의 질의응답 알고리즘을 적용하면, 총 9개의 정답후보값이 도출된다. 기계독해기반 질의응답부(340)는 9개의 정답후보값과 9개 각각의 정답후보값의 정답일 확률값을 나타내는 신뢰도 정보를 스크리닝부(350)에 전달한다.
스크리닝부(350)는 사용자 질의에 대한 정답후보값들에서 기설정된 기준에 따라 하나의 최적정답을 판단한다. 스크리닝부(350)에서 최적정답을 판단하는 방법은 도 6을 더 참고한다.
스크리닝부(350)는 1차적으로 일치도확인부(352)에서 정답후보값이 복수개인 경우 과반수 또는 일정 비율 이상의 다수의 정답후보값들이 일치하는지를 확인한다(S630). 일치도확인부(352)는 이를 위해 적어도 하나의 정답후보값들의 마침표, 띄어쓰기, 대소문자 구분등을 형태소 분석을 기초로 분석하고 기설정된 기준에 따라 통일시키고, 또한 생략어 또는 대용어를 복원하는 사전처리작업을 더 수행할 수 있다. 일치도확인부(352)는 과반수 또는 일정 비율 이상의 다수의 정답후보값들이 일치하는 경우 해당 정답후보값을 최적정답으로 선택한다(S632).
일 예로서, "샤이니가 이번에 낸 앨범의 이름이 뭐야?"라는 질의에 대해 9개의 정답후보값이 있는 경우, 이 중 the story of light ep3, 'The Story of Light' EP3', THE STORY OF LIGHT 등을 포함하는 5개 이상의 정답후보값이 'The Story of Light EP3' 을 의미하는 경우 'The Story of Light EP3' 을 최적정답으로 선택한다.
스크리닝부(350)는 일치도확인부(352)에서 최적정답이 선택되지 않는 경우, 신뢰도확인부(354)에서 정답후보값의 신뢰도가 기설정된 임계값, 예를 들어 90%, 을 초과하는 정답후보값이 있는지 판단한다(S640). 기설정된 임계값을 초과하는 정답후보값이 있는 경우, 예를 들어 95%, 해당 정답후보값을 최적정답으로 판단한다. 이 경우 복수의 정답후보값의 신뢰도가 기설정된 임계값을 초과하는 경우 가장 높은 신뢰도값을 지닌 정답후보값을 최적정답으로 판단한다(S642).
스크리닝부(350)는 일치도확인부(352) 및 신뢰도확인부(354)에서 최적정답값을 찾지 못한 경우, 정답후보값들의 신뢰도의 임계값이 기설정된 기준 미만인지 판단하여(S650), 모든 정답후보값들의 신뢰도가 임계값 미만인 경우 응답부(360)에 '결과없음'을 전송한다(S652).
스크리닝부(350)는 일치도확인부(352) 및 신뢰도확인부(354)에서 최적정답값을 찾지못하였으나, 정답후보값들의 신뢰도가 제 1 임계값이상 제 2 임계값 미만인 경우, 워드임베딩값 방식을 기초로 정답후보값들을 유사한 의미로 분류하고 의미단위로 분류된 정답후보들 중 과반수 넘게 또는 기설정된 비율이상 같은 값이 존재하는지를 판단하고, 존재하는 경우 해당값을 최적정답으로 선택한다(S660). 존재하지 않는 경우 응답부(360)에 '결과없음'을 전송한다.
예를 들어, 'The Story of Light' EP3과 더 스토리 오브 라이트 EP3, 더 스토리 오브 라이트 세번째 EP는 의미상으로는 같지만, 어떤 패시지가 추출되는지에 따라 결과가 다르게 나타날 수 있다. 이 경우를 대비하여 기훈련된 유사질의어 매칭방식을 통해 결과값의 유사도를 측정하여 특정 유사도 이상일 경우 정답후보값이 동일하다고 분류한다.
응답부(360)는 스크리닝부(350)에서 전송한 최적정답 또는 결과없음이라는 정보를 사용자에게 응답으로 전달한다.
도 6은 본 발명의 바람직한 일 실시예로서, 스크리닝부에서 최적응답을 판단하는 과정의 흐름도를 도시한다.
본 발명의 바람직한 일 실시예로서, 스크리닝부는 N 개의 패시지에 M개의 MRC알고리즘을 적용하여 추출된 N*M 개의 정답후보값들을 수신하고(S610, S620), 수신한 정답후보값들 중 과반수 넘게 같은값이 존재하는지 판단한다(S630). 과반수가 넘는 정답후보값들이 실질적으로 동일한 경우, 해당 정답후보값을 최적정답값으로 선택한다(S632). 수신한 정답후보값들 중 과반수 넘게 같은값이 존재하지 않는 경우, 각각의 정답후보값의 신뢰도가 기설정된 임계값을 초과하는 정답후보값이 존재하는지 판단한다(S640). 존재하는 경우 해당 정답후보값을 최적정답값으로 선택한다(S642).
정답후보값의 신뢰도가 기설정된 임계값을 초과하는 정답후보값이 존재하지 않는 경우, 정답후보값이 모두 기설정된 또 다른 임계값 미만인지 판단하고, 모두 미만인 경우 '결과없음'을 사용자 응답으로 전송한다(S652).
정답후보값들의 신뢰도가 제 1 임계값과 제 2 임계값 사이인 경우, 워드임베딩값 방식을 기초로 정답후보들을 유사한 의미로 분류하고 의미단위로 분류된 정답후보들 중 과반수 넘게 같은값이 존재하는 경우 해당 정답후보를 최적정답으로 선택한다(S660).
도 7은 본 발명의 바람직한 일 실시예로서, 시맨틱 트리플 기반의 검색 수행의 일 예를 도시한다.
본 발명의 바람직한 일 실시예로서, 관리자설정부는 스크리닝부에서 판단한 최적정답값을 시맨틱 트리플 기반으로 저장한다. 시맨틱 트리플 데이터베이스는 실제 사용자들의 질의문을 모사한 특수한 형태의 지식기반 데이터베이스로 별도의 추론과정없이 최적정답을 검색할 수 있다. 시맨틱 트리플 데이터베이스는 entity(732)-attribute(734) - instant answer(738)의 형태를 지닌다.
도 7은 "백두산의 높이가 얼마야?"인 사용자 질의(710)를 수신한 경우, 사용자 질의를 분석하여(720), '백두산'과 '높이'라는 핵심단어를 추출한 후 백두산을 물어볼 대상으로 높이를 질문의 의도록 분석할 수 있다.
관리자설정부는 시맨틱 트리플 DB를 확인하여(730), entity = “백두산”, attribute = “높이” 인 데이터를 검색하고, 해당하는 항목의 instant answer를 결과값으로 판단하여, 사용자에게 해당답변 2,744m을 제공한다(750).
관리자설정부는 스크리닝부에서 판단한 최적정답값을 시맨틱 트리플 기반으로 저장하기 위해 사용자 질의와 최적정답의 형태를 확인하고, 사용자 질의를 entity(732) 및 attribute(734)로, 최적정답을 instant answer(738)로 변환한다. 이 때 질문 변환 과정은 자연어 이해 기술 및 기 시맨틱 트리플의 entity /attribute 데이터 검색 기술을 포함한다
도 8 은 본 발명의 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법의 흐름도를 도시한다.
본 발명의 바람직한 일 실시예로서 기계독해기반 질의응답제공방법은 사용자 질의를 수신하여 분석하고(S810, S820), 분석된 질의를 기초로 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 문서에서 패시지를 검색한다(S830).
검색된 패시지 각각에 적어도 하나의 기계독해기반 질의응답 방식을 적용하여 적어도 하나의 정답후보값을 획득하고(S840), 획득한 적어도 하나의 정답후보값이 정답인지 판단하여(S850), 최적정답값 또는 결과없음을 사용자에게 응답으로 제공한다(S860).
도 9는 본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법의 흐름도를 도시한다.
본 발명의 바람직한 일 실시예로서 기계독해기반 질의응답제공방법은 사용자 질의를 음성 또는 텍스트의 형식으로 수신하고, 자연어 처리 분석 및 자연어 이해 분석을 기초로 사용자 질의를 분석한다(S910, S920).
사용자 질의를 분석시 유사질의어 매칭방법을 통해 선정된 유사질의어 후보군에서 하나의 유사질의어를 선택하고, 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공한다(S930).
유사질의어에 대응하는 최적정답값이 없는 경우, 사용자 질의에 대응하는 적어도 하나의 도메인에서 복수의 문서를 선택하고, 선택한 복수의 문서에서 패시지를 복수개 추출한다(S940). 그 후, 복수의 기계독해기반 질의응답알고리즘을 복수개 패시지에 적용하여 복수의 정답후보값을 획득한다(S950). 복수의 정답후보값들 중 최적정답값이 존재하는지 판단하여, 존재하는 경우 최적정답값을 사용자에게 응답으로 제공하고 존재하지 않는 경우 결과 없음이라는 정보를 제공한다(S960,S970).
도 10은 본 발명의 또 다른 바람직한 일 실시예로서, 기계독해기반 질의응답제공방법의 흐름도를 도시한다.
본 발명의 바람직한 일 실시예로서 기계독해기반 질의응답제공방법은 음성 또는 텍스트로 사용자 질의를 수신한다(S1010). 그 후 사용자 질의를 형태소 분석을 기초로 분석하여 인식된 개체명을 기초로 어휘 의미를 분석하여 사용자 질의의 의도를 분석한 후 생략어 또는 대용어를 복원하여 쿼리를 추출하고, 규칙기반 도메인 분류에 따라 상기 쿼리에 대응하는 적어도 하나의 도메인 정보를 매핑한다(S1020).
사용자 질의 분석시 유사질의어 후보군을 선정하고, 워드임베딩을 적용하여 유사질의어 후보군 중 유사도가 높은 하나의 유사질의어를 선택하며, 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공한다(S1030).
상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 매핑된 적어도 하나의 도메인 정보를 기초로 적어도 하나의 도메인 각각에서 상기 쿼리에 대응하는 적어도 하나의 문서를 선택한다(S1040).
그 후 적어도 하나의 문서에서 문장단위로 다수의 패시지를 검색하고, 검색된 다수의 패시지에 적어도 하나의 기계독해기반 질의응답알고리즘을 적용 후(S1050), 도출된 정답후보들 각각의 신뢰도 또는 정답후보들의 일치정도를 기초로 하나의 최적정답값을 선택하여 사용자에게 응답으로 제공하고, 상기 최적정답값이 없는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공한다(S1060).
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (18)

  1. 음성 또는 텍스트로 사용자 질의를 수신하는 단계;
    상기 사용자 질의를 형태소 분석을 기초로 분석하여 개체명을 인식하고 인식된 개체명을 기초로 어휘 의미를 분석하여 상기 사용자 질의의 의도를 분석한 후 생략어 또는 대용어를 복원하여 쿼리를 추출하고, 규칙기반 도메인 분류에 따라 상기 쿼리에 대응하는 적어도 하나의 도메인 정보를 매핑하는 단계;
    상기 사용자 질의 분석시 유사질의어 후보군을 선정하고, 상기 유사질의어 후보군에 워드 임베딩을 적용하여 유사도값이 가장 높은 하나의 유사질의어를 선택하며, 상기 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공하는 단계;
    상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 매핑된 적어도 하나의 도메인 정보를 기초로 상기 쿼리에 대응하는 적어도 하나의 문서를 선택하는 단계;
    상기 적어도 하나의 문서에서 문장단위로 다수의 패시지를 검색하고, 검색된 다수의 패시지에 적어도 하나의 기계독해기반 질의응답알고리즘을 적용하는 단계;및
    상기 다수의 패시지에 상기 적어도 하나의 기계독해기반 질의응답알고리즘을 적용 후 상기 적어도 하나의 기계독해기반 질의응답알고리즘 각각의 신뢰도 또는 결과값의 일치정도를 기초로 하나의 최적정답값을 선택하여 사용자에게 응답으로 제공하고, 상기 최적정답값이 없는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 단계;를 포함하고,
    상기 최적정답값을 선택하여 사용자에게 응답으로 제공하는 것은,
    N개(N은 자연수)의 패시지에 M개(M은 자연수)의 질의응답부 각각에서 이용하는 MRC기반 질의응답알고리즘을 적용하여 N*M 개의 정답후보값을 획득하고, N*M개의 정답후보값 중 기설정된 신뢰도를 초과하는 정답후보값을 최적정답으로 판단하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  2. 사용자 질의를 수신하는 단계;
    사용자 질의를 분석하는 단계;
    분석된 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지(passage)를 검색하는 단계;
    적어도 하나의 기계독해(MRC, Machine Reading Comprehension) 기반 질의응답부 각각에 상기 사용자 질의와 그에 대응하는 패시지를 입력하여 적어도 하나의 정답후보값을 획득하는 단계;
    상기 적어도 하나의 정답후보값이 최적정답인지 판단하는 단계;및
    사용자에게 응답을 제공하는 단계;를 포함하고,
    상기 판단하는 단계는,
    N개(N은 자연수)의 패시지에 M개(M은 자연수)의 질의응답부 각각에서 이용하는 MRC기반 질의응답알고리즘을 적용하여 N*M 개의 정답후보값을 획득하고, N*M개의 정답후보값 중 기설정된 신뢰도를 초과하는 정답후보값을 최적정답으로 판단하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  3. 제 2 항에 있어서, 상기 판단하는 단계는
    상기 정답후보값들 중 동일한 값을 지니는 다수의 정답후보값을 최적정답으로 판단하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  4. 삭제
  5. 제 2 항에 있어서, 상기 사용자에게 응답을 제공하는 단계는
    하나의 최적정답값 또는 결과없음이라는 정보를 제공하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  6. 제 2 항에 있어서, 상기 패시지를 검색하는 단계는
    선택한 적어도 하나의 문서에서 TF-IDF(Term Frequency - Inverse Document Frequency)값을 계산하여 TF-IDF값이 높은 순서로 상기 패시지(passage)를 검색하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  7. 제 2 항에 있어서, 상기 패시지는
    기설정된 바이트(byte)를 초과하는 문장단위로 추출되며, 상기 기설정된 바이트는 상기 판단하는 단계에서 최적정답으로 판단된 정답후보값을 기계학습하여 결정된 최적의 바이트 값으로 자동 조절되는 것을 특징으로 하는 기계독해기반 질의응답방법.
  8. 제 2 항에 있어서, 상기 패시지를 검색하는 단계는
    하나의 문서에서 적어도 하나의 패시지를 검색하거나 또는 다수의 문서에서 적어도 하나의 패시지를 검색하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  9. 제 2 항에 있어서, 상기 패시지는
    문장 단위로 추출되는 것을 특징으로 하는 기계독해기반 질의응답방법.
  10. 음성 또는 텍스트로 사용자 질의를 수신하는 단계;
    자연어 처리 분석 및 자연어 이해 분석을 기초로 사용자 질의를 분석하는 단계;
    상기 사용자 질의를 분석시 유사질의어 후보군을 선정하고, 워드임베딩 방식을 적용한 유사질의어 매칭을 통해 점수가 높은 하나의 유사질의어를 선택하고, 상기 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공하는 단계;
    상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 복수의 문서를 선택하고, 선택한 복수의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지를 복수개 추출하는 단계;
    복수의 기계독해기반 질의응답알고리즘을 상기 복수개 패시지에 적용하여 복수의 정답후보값을 획득하는 단계;
    상기 복수의 정답후보값에서 정답으로 판단되는 최적정답값이 존재하는지 판단하고, 존재하는 경우 상기 최적정답값을 응답으로 제공하고, 존재하지 않는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 단계;를 포함하고,
    상기 최적정답값이 존재하는지 판단하는 것은,
    N개(N은 자연수)의 패시지에 M개(M은 자연수)의 질의응답부 각각에서 이용하는 MRC기반 질의응답알고리즘을 적용하여 N*M 개의 정답후보값을 획득하고, N*M개의 정답후보값 중 기설정된 신뢰도를 초과하는 정답후보값을 최적정답으로 판단하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  11. 제 10 항에 있어서,
    상기 복수의 기계독해기반 질의응답알고리즘 각각의 신뢰도가 제 1 임계값을 초과하는지를 판단하고, 모두 상기 제 1 임계값 이하인 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  12. 제 10 항에 있어서,
    상기 복수의 기계독해기반 질의응답알고리즘 각각의 신뢰도가 제 2 임계값을 초과하는지를 판단하고, 상기 제 2 임계값을 초과하는 기계독해기반 질의응답알고리즘의 정답후보값을 상기 최적정답값으로 판단하여 사용자에게 응답으로 제공하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  13. 제 10 항에 있어서,
    상기 복수의 기계독해기반 질의응답알고리즘 각각의 신뢰도가 제 1 임계값 이상 제 2 임계값 이하인 경우,
    상기 복수의 기계독해기반 질의응답알고리즘 각각에서 제시한 정답후보값 중 일치율이 높은 정답후보값을 상기 최적정답값으로 판단하여 사용자에게 응답으로 제공하는 것을 특징으로 하는 기계독해기반 질의응답방법.
  14. 사용자 질의를 수신하는 수신부;
    사용자 질의를 분석하는 분석부;
    상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 적어도 하나의 문서를 선택하고, 선택한 적어도 하나의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지를 검색하는 패시지검색부;
    상기 사용자 질의와 그에 대응하는 패시지 세트를 입력받아 적어도 하나의 기계독해기반 질의응답 알고리즘을 적용하여 적어도 하나의 정답후보값을 출력하는 기계독해질의응답부;
    상기 적어도 하나의 정답후보값이 정답인지 판단하는 스크리닝부;및
    정답으로 판단된 정답후보값인 최적정답값 또는 결과없음이라는 정보를 사용자에게 응답으로 제공하는 응답부;를 포함하고,
    상기 스크리닝부는,
    N개(N은 자연수)의 패시지에 M개(M은 자연수)의 질의응답부 각각에서 이용하는 MRC기반 질의응답알고리즘을 적용하여 N*M 개의 정답후보값을 획득하고, N*M개의 정답후보값 중 기설정된 신뢰도를 초과하는 정답후보값을 최적정답으로 판단하는 것을 특징으로 하는 기계독해기반 질의응답제공기기.
  15. 제 14 항에 있어서,
    상기 스크리닝부에서 판단한 상기 최적정답값을 시맨틱 트리플로 저장하는 관리자설정부;를 더 포함하는 것을 특징으로 하는 기계독해기반 질의응답제공기기.
  16. 음성 또는 텍스트로 사용자 질의를 수신하는 수신부;
    자연어 처리 분석 및 자연어 이해 분석을 기초로 사용자 질의를 분석하는 분석부;
    상기 사용자 질의를 분석시 유사질의어 후보군을 선정하고, 상기 유사질의어 후보군에 워드-임베딩을 적용하여 유사도가 높은 하나의 유사질의어를 선택하고, 상기 선택된 유사질의어에 대응하는 최적정답값이 기존재하는 경우, 기존재하는 최적정답값을 사용자에게 응답으로 제공하는 유사질의매칭부;
    상기 유사질의어에 대응하는 최적정답값이 없는 경우, 상기 사용자 질의에 대응하는 적어도 하나의 도메인에서 복수의 문서를 선택하고, 선택한 복수의 문서에서 상기 사용자 질의에 어울린다고 판단되는 응답 후보인 패시지를 복수개 추출하는 단계 패시지검색부;
    복수의 기계독해기반 질의응답알고리즘을 상기 복수개 패시지에 적용하여 복수의 정답후보값을 획득하는 기계독해질의응답부;
    상기 복수의 정답후보값에서 정답으로 판단되는 최적정답값이 존재하는지 판단하는 스크리닝부;및
    상기 최적정답값을 응답으로 제공하고, 상기 최적정답값이 존재하지 않는 경우 결과없음이라는 정보를 사용자에게 응답으로 제공하는 응답부;를 포함하고,
    상기 스크리닝부는,
    N개(N은 자연수)의 패시지에 M개(M은 자연수)의 질의응답부 각각에서 이용하는 MRC기반 질의응답알고리즘을 적용하여 N*M 개의 정답후보값을 획득하고, N*M개의 정답후보값 중 기설정된 신뢰도를 초과하는 정답후보값을 최적정답으로 판단하는 것을 특징으로 하는 기계독해기반 질의응답제공기기.
  17. 제 16 항에 있어서,
    상기 스크리닝부에서 판단한 상기 최적정답값을 시맨틱 트리플로 저장하는 관리자설정부;를 더 포함하고, 상기 관리자설정부는 또한 상기 유사질의매칭부, 상기 패시지검색부, 상기 기계독해질의응답부의 설정을 관리하는 것을 특징으로 하는 기계독해기반 질의응답제공기기.
  18. 제 1항 내지 제 3항 및 제 5항 내지 제 13항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020180089422A 2018-07-31 2018-07-31 기계독해기반 질의응답방법 및 기기 KR102088357B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180089422A KR102088357B1 (ko) 2018-07-31 2018-07-31 기계독해기반 질의응답방법 및 기기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180089422A KR102088357B1 (ko) 2018-07-31 2018-07-31 기계독해기반 질의응답방법 및 기기

Publications (2)

Publication Number Publication Date
KR20200014046A KR20200014046A (ko) 2020-02-10
KR102088357B1 true KR102088357B1 (ko) 2020-03-12

Family

ID=69627326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180089422A KR102088357B1 (ko) 2018-07-31 2018-07-31 기계독해기반 질의응답방법 및 기기

Country Status (1)

Country Link
KR (1) KR102088357B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858879B (zh) * 2020-06-18 2024-04-05 达观数据有限公司 一种基于机器阅读理解的问答方法及系统、存储介质、计算机设备
KR102422910B1 (ko) * 2020-08-05 2022-07-20 다큐브 주식회사 음성 인식을 이용한 정보 검색 시스템 및 방법과 이를 위한 컴퓨터 프로그램
KR102518859B1 (ko) * 2020-08-14 2023-04-05 주식회사 우리은행 인공지능 기반 고객 불만 관리 방법 및 장치
KR20220089307A (ko) 2020-12-21 2022-06-28 한국전자통신연구원 근거인식 기반 질의응답 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662450B1 (ko) * 2015-05-29 2016-10-05 포항공과대학교 산학협력단 다중 소스 하이브리드 질의응답 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100546743B1 (ko) * 2003-10-02 2006-01-26 한국전자통신연구원 언어분석 기반 자동 질문/정답 색인 방법과 그 질의응답방법 및 시스템
KR101173561B1 (ko) * 2010-10-25 2012-08-13 한국전자통신연구원 질문 형태 및 도메인 인식 장치 및 그 방법
KR101851787B1 (ko) 2017-05-11 2018-04-24 주식회사 마인드셋 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662450B1 (ko) * 2015-05-29 2016-10-05 포항공과대학교 산학협력단 다중 소스 하이브리드 질의응답 방법 및 시스템

Also Published As

Publication number Publication date
KR20200014046A (ko) 2020-02-10

Similar Documents

Publication Publication Date Title
US11816441B2 (en) Device and method for machine reading comprehension question and answer
KR102315732B1 (ko) 음성 인식 방법, 디바이스, 장치, 및 저장 매체
US11514235B2 (en) Information extraction from open-ended schema-less tables
KR102088357B1 (ko) 기계독해기반 질의응답방법 및 기기
CN112507715A (zh) 确定实体之间关联关系的方法、装置、设备和存储介质
US9965726B1 (en) Adding to a knowledge base using an ontological analysis of unstructured text
CN109299228B (zh) 计算机执行的文本风险预测方法及装置
WO2019224629A1 (en) Training data expansion for natural language classification
CN111291195B (zh) 一种数据处理方法、装置、终端及可读存储介质
CN116775847B (zh) 一种基于知识图谱和大语言模型的问答方法和系统
JP7139728B2 (ja) 分類方法、装置、及びプログラム
US11875585B2 (en) Semantic cluster formation in deep learning intelligent assistants
CN111414763A (zh) 一种针对手语计算的语义消歧方法、装置、设备及存储装置
JP2011118689A (ja) 検索方法及びシステム
KR20200088088A (ko) 단어 속성 분류 장치 및 방법
CN107943940A (zh) 数据处理方法、介质、系统和电子设备
Weerasinghe et al. Feature Vector Difference based Authorship Verification for Open-World Settings.
US20220222442A1 (en) Parameter learning apparatus, parameter learning method, and computer readable recording medium
EP3822816A1 (en) Device and method for machine reading comprehension question and answer
US20200110834A1 (en) Dynamic Linguistic Assessment and Measurement
CN113392305A (zh) 关键词的提取方法及装置、电子设备、计算机存储介质
CN115357720B (zh) 基于bert的多任务新闻分类方法及装置
CN114328820A (zh) 信息搜索方法以及相关设备
JP2022095608A (ja) イベントライブラリ構築方法及び装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム
KR20220041336A (ko) 중요 키워드 추천 및 핵심 문서를 추출하기 위한 그래프 생성 시스템 및 이를 이용한 그래프 생성 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right