Search

KR-102959808-B1 - METHOD, DEVICE, AND SYSTEM FOR PROVIDING AN ARTIFICIAL INTELLIGENCE MODEL QUESTION-ANSWERING SOLUTION BASED ON UNSTRUCTURED QUESTIONS

KR102959808B1KR 102959808 B1KR102959808 B1KR 102959808B1KR-102959808-B1

Abstract

본 발명의 일실시예는 비정형 질문을 입력받아 이를 인공지능 모델을 기반으로 정제된 질문으로 변환하고, 정제된 질문을 다시 기계독해(Machine Reading Comprehension) 기반의 다른 인공지능 모델에 입력함으로써 사용자와의 질의 응답을 수행하는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법, 장치 및 시스템에 관한 것이다.

Inventors

  • 이현준
  • 양세훈
  • 이채범

Assignees

  • 바하마 주식회사

Dates

Publication Date
20260506
Application Date
20250902

Claims (3)

  1. 장치에 프로세서, 메모리, 통신모듈 및 비일시적 저장매체가 포함되어 있고, 상기 비일시적 저장매체에 저장된 프로그램을 실행하여 상기 프로세서에 의해 수행되는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법에 있어서, 제1 비정형 질문을 입력받는 단계; 상기 제1 비정형 질문을 삼중항 손실(Triplet Loss) 기반 또는 BIO 분류 기반의 정제된 질문 생성 모델에 입력하여 제1 정제된 질문을 생성하는 단계; 기계독해 모델에 콘텐츠를 입력하여 콘텐츠를 학습하는 단계; 및 상기 기계독해 모델에 제1 정제된 질문을 입력하여 콘텐츠 기반의 제1 답변을 도출하는 단계;를 포함하고, 상기 제1 정제된 질문을 생성하는 단계는: 제1 비정형 질문을 입력받아 공백, 구두점 및 형태소 단위에 따라 다수의 제1 토큰으로 분할하는 단계; 상기 제1 토큰을 사전 훈련된 임베딩 모델에 입력하여, 제1 토큰 간 의미적 거리를 벡터 공간 상에서 계산 가능하도록 d차원의 제1 임베딩 벡터 집합으로 변환하는 단계; 상기 제1 임베딩 벡터 집합의 각 제1 임베딩 벡터를 다층 퍼셉트론 기반의 제1 BIO 분류기에 입력하여 BIO 클래스별 로짓(logit) 값을 산출하는 단계; 상기 BIO 클래스별 로짓 값을 소프트맥스 함수를 통해 BIO 클래스별 확률 분포로 변환하는 단계; 상기 BIO 클래스별 확률 분포 간 내적 연산을 수행하여 제1 유사도를 산출하는 단계; '1 - 제1 유사도'인 경계 토큰의 불확실성을 산출하는 단계; 상기 제1 임베딩 벡터 집합의 각 제1 임베딩 벡터마다 산출된 BIO 클래스별 확률 분포 중 최대 확률을 갖는 라벨을 기반으로, 제1 임베딩 벡터를 엔티티 범주, 속성 범주 또는 비범주로 판정하는 단계; 엔티티 범주로 판정된 제2-1 임베딩 벡터를 동의어 사전과 비교하여 제2 유사도를 산출하는 단계; 상기 제2 유사도가 가장 높은 제2-1 임베딩 벡터를 정규화하여 제3-1 임베딩 벡터로 변환하는 단계; 속성 범주 및 비범주로 판정된 제2-2 임베딩 벡터에 대하여, 슬롯별 매핑 행렬을 적용하여, 제2-2 임베딩 벡터를 질의 템플릿 상의 슬롯 위치로 사상(mapping)하는 단계; 상기 제1 비정형 질문과 함께 수신된 연령대 정보를 제1 벡터 파라미터로 변환하는 단계; 상기 제1 비정형 질문과 함께 수신된 사용자 성향 정보를 제2 벡터 파라미터로 변환하는 단계; 상기 제1 비정형 질문과 함께 수신된 질문 난이도 정보를 제3 벡터 파라미터로 변환하는 단계; 상기 제1 벡터 파라미터 내지 제3 벡터 파라미터를 제3-1 임베딩 벡터와 합성곱(convolution) 연산을 통해 결합하여 제3-2 임베딩 벡터를 생성하는 단계; 상기 제3-2 임베딩 벡터에 사용자 특성에 대응하는 가중치 행렬을 적용하여 정제 표현 벡터를 생성하는 단계; 상기 제1 BIO 분류기와 동일한 구조를 갖되, 서로 다른 초기화 파라미터, 학습률 및 손실 함수를 적용하여 학습시킨 다수의 제2 BIO 분류기를 준비하는 단계; 상기 정제 표현 벡터를 각 제2 BIO 분류기에 입력하여 제1 출력 확률 벡터를 산출하는 단계; 상기 제1 출력 확률 벡터들을 가중 평균(weighted average) 방식으로 결합하여 제2 출력 확률 벡터를 생성하는 단계; 상기 제2 출력 확률 벡터를 보팅(voting) 기법을 통해 보정하여 제3 출력 확률 벡터를 생성하는 단계; 상기 제3 출력 확률 벡터에 라플라스 스무딩(Laplace smoothing) 및 L2 정규화 연산을 적용하여 제4 출력 확률 벡터를 생성하는 단계; 및 상기 제4 출력 확률 벡터로부터 제1 정제된 질문을 도출하는 단계;를 포함하는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법
  2. 청구항 1항에 있어서, 상기 제1 답변이 도출된 후, 제2 비정형 질문을 입력받는 단계; 상기 제2 비정형 질문을 BIO 분류 기반의 정제된 질문 생성 모델에 입력하여 제2 정제된 질문을 생성하는 단계; 상기 제1 정제된 질문 및 제2 정제된 질문 사이의 제3 유사도를 산출하는 단계; 상기 제3 유사도가 기 지정된 임계값 이상인 경우: 상기 제1 비정형 질문, 제2 비정형 질문, 제1 정제된 질문 및 제2 정제된 질문을 분석하여 제3 정제된 질문을 생성하는 단계; 상기 제3 유사도가 기 지정된 임계값 미만인 경우: 상기 제2 정제된 질문을 제3 정제된 질문으로 지정하는 단계; 및 상기 기계독해 모델에 제3 정제된 질문을 입력하여 콘텐츠 기반의 제2 답변을 도출하는 단계;를 더 포함하고, 상기 제3 정제된 질문을 생성하는 단계는: 상기 제1 비정형 질문을 제2-1 토큰, 제1-1 엔티티 및 제1-1 수식어로 분해하는 단계; 상기 제2 비정형 질문을 제2-2 토큰, 제1-2 엔티티 및 제1-2 수식어로 분해하는 단계; 상기 제2-1 토큰 및 제2-2 토큰 중에서 중복되는 제1-1 중복 표현을 추출하는 단계; 상기 제1-1 엔티티 및 제1-2 엔티티 중에서 중복되는 제1-2 중복 표현을 추출하는 단계; 상기 제1-1 수식어 및 제1-2 수식어 중에서 중복되는 제1-3 중복 표현을 추출하는 단계; 상기 제2-1 토큰에 존재하면서 제2-2 토큰에는 부존재하는 제1-1 삭제 표현을 추출하는 단계; 상기 제1-1 엔티티에 존재하면서 제1-2 엔티티에는 부존재하는 제1-2 삭제 표현을 추출하는 단계; 상기 제1-1 수식어에 존재하면서 제1-2 수식어에는 부존재하는 제1-3 삭제 표현을 추출하는 단계; 상기 제2-1 토큰에 부존재하면서 제2-2 토큰에는 존재하는 제1-1 추가 표현을 추출하는 단계; 상기 제1-1 엔티티에 부존재하면서 제1-2 엔티티에는 존재하는 제1-2 추가 표현을 추출하는 단계; 상기 제1-1 수식어에 부존재하면서 제1-2 수식어에는 존재하는 제1-3 추가 표현을 추출하는 단계; 상기 제1 정제된 질문을 제3-1 토큰, 제2-1 엔티티 및 제2-1 수식어로 분해하는 단계; 상기 제2 정제된 질문을 제3-2 토큰, 제2-2 엔티티 및 제2-2 수식어로 분해하는 단계; 상기 제3-1 토큰 및 제3-2 토큰 중에서 중복되는 제2-1 중복 표현을 추출하는 단계; 상기 제2-1 엔티티 및 제2-2 엔티티 중에서 중복되는 제2-2 중복 표현을 추출하는 단계; 상기 제2-1 수식어 및 제2-2 수식어 중에서 중복되는 제2-3 중복 표현을 추출하는 단계; 상기 제3-1 토큰에 존재하면서 제3-2 토큰에는 부존재하는 제2-1 삭제 표현을 추출하는 단계; 상기 제2-1 엔티티에 존재하면서 제2-2 엔티티에는 부존재하는 제2-2 삭제 표현을 추출하는 단계; 상기 제2-1 수식어에 존재하면서 제2-2 수식어에는 부존재하는 제2-3 삭제 표현을 추출하는 단계; 상기 제3-1 토큰에 부존재하면서 제3-2 토큰에는 존재하는 제2-1 추가 표현을 추출하는 단계; 상기 제2-1 엔티티에 부존재하면서 제2-2 엔티티에는 존재하는 제2-2 추가 표현을 추출하는 단계; 상기 제2-1 수식어에 부존재하면서 제2-2 수식어에는 존재하는 제2-3 추가 표현을 추출하는 단계; 상기 제1-1 중복 표현, 제1-2 중복 표현 및 제1-3 중복 표현을 공통 표현 기반으로 설정하고, 제1-1 추가 표현, 제1-2 추가 표현 및 제1-3 추가 표현에 대하여 가중치를 부여하여 긍정적으로 강조하며, 제1-1 삭제 표현, 제1-2 삭제 표현 및 제1-3 삭제 표현에 대하여 부정 제약(negative constraint)으로 설정하여, 제1 비정형 질문으로부터 제2 비정형 질문으로의 의도 변화를 반영한 제1 보정 문장을 생성하는 단계; 상기 제2-1 삭제 표현, 제2-2 삭제 표현 및 제2-3 삭제 표현을 공통 표현 기반으로 설정하고, 제2-1 추가 표현, 제2-2 추가 표현 및 제2-3 추가 표현에 대하여 가중치를 부여하여 긍정적으로 강조하며, 제2-1 중복 표현, 제2-2 중복 표현 및 제2-3 중복 표현에 대하여 부정 제약으로 설정하여, 제1 정제된 질문과 제2 정제된 질문의 기본 문장 구조를 벗어난 제2 보정 문장을 생성하는 단계; 상기 제1 보정 문장을 제4-1 임베딩 벡터로 변환하는 단계; 상기 제2 보정 문장을 제4-2 임베딩 벡터로 변환하는 단계; 상기 제4-1 임베딩 벡터와 제4-2 임베딩 벡터 간의 거리 및 방향성으로 정량화된 의미적 차이를 기반으로, 제1 보정 문장의 긍정 강조 표현과 제2 보정 문장의 긍정 강조 표현의 의미적 공통성을 중심으로 새로운 의미 좌표를 도출하는 단계; 상기 새로운 의미 좌표를 기준으로, 제1 보정 문장 및 제2 보정 문장의 문장 구조를 재배치하되, 재배치 과정에서 부정 제약으로 설정된 표현이 포함되지 않도록 디코딩 제약 조건을 적용하여 후보 문장을 생성하는 후보 문장 생성 단계; 상기 후보 문장에 대하여, 의미적 일관성 검증 모듈을 통해 문맥적 자연스러움, 구문적 정합성 및 사용자 질의 의도와의 부합성을 평가하는 후보 문장 평가 단계; 상기 후보 문장에 대한 평가 결과가 기 지정된 임계값 이상인 경우: 후보 문장을 제3 정제된 질문으로 지정하는 문장 결정 단계; 및 상기 후보 문장에 대한 평가 결과가 기 지정된 임계값 미만인 경우: 부정 제약의 강도를 완화하거나 긍정 강조 표현의 가중치를 조정하여 상기 후보 문장 생성 단계, 후보 문장 평가 단계 및 문장 결정 단계를 반복하는 단계;를 포함하는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법
  3. 삭제

Description

비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법, 장치 및 시스템{METHOD, DEVICE, AND SYSTEM FOR PROVIDING AN ARTIFICIAL INTELLIGENCE MODEL QUESTION-ANSWERING SOLUTION BASED ON UNSTRUCTURED QUESTIONS} 아래 실시예들은 비정형 질문을 입력받아 이를 인공지능 모델을 기반으로 정제된 질문으로 변환하고, 정제된 질문을 다시 기계독해(Machine Reading Comprehension) 기반의 다른 인공지능 모델에 입력함으로써 사용자와의 질의 응답을 수행하는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법, 장치 및 시스템에 관한 것이다. 최근 인공지능 모델을 활용한 질의응답 시스템은 검색 서비스, 고객 상담, 학습 지원 등 다양한 분야에서 활용되고 있다. 특히, 사용자가 자연어로 제기하는 비정형 질문을 이해하고 적절한 답변을 제공하는 기술은 점점 더 중요해지고 있다. 그러나 종래 기술에서는 다음과 같은 문제가 존재한다. 비정형 질문은 표현 방식이 다양하고 불규칙적이므로, 모델이 이를 정확히 분석하지 못해 오답이나 불완전한 답변을 제공하는 경우가 빈번하다. 기존 BIO 기반 토큰 분류는 단순 엔티티 인식에는 유용하지만, 사용자의 특성(연령대, 성향, 난이도 요구 등)을 반영하지 못해 맞춤형 응답 생성에 한계가 있다. 연속된 질문 간의 의미적 유사도 또는 의도 변화를 정밀하게 분석하는 기술이 미흡하여, 후속 질문에 대해 일관성 있고 맥락에 맞는 응답을 제공하기 어렵다. 다수의 후보 문장 중 사용자 의도와 가장 부합하는 문장을 선택하는 과정에서 의미적 일관성 및 문맥적 자연스러움이 부족해, 실제 서비스 품질이 저하되는 문제가 발생한다. 따라서, 비정형 질문을 보다 정제된 형태로 변환하고, 사용자 특성 및 맥락을 반영하며, 질문 간 의미적 변화를 정량적으로 분석할 수 있는 기술이 요구된다. 도 1은 본 발명의 일실시예에 따른 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 시스템을 나타낸 개요도이다. 도 2는 본 발명의 일실시예에 따른 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법을 나타낸 순서도이다. 도 3은 본 발명의 일실시예에 따른 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법의 제1 정제된 질문을 생성하는 단계를 나타낸 순서도이다. 도 4는 본 발명의 다른 일실시예에 따른 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법을 나타낸 순서도이다. 이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다. 실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다. 제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 특히, 본 명세서에서 어떠한 '단계'가 하나 이상의 세부 단계 또는 하위 단계들을 '포함한다'고 기재된 경우, 해당 '단계'는 그 자체의 기본적인 처리 과정을 포함함과 동시에, 기재된 세부 단계들 역시 함께 수행하는 것으로 해석될 수 있다. 예를 들어, 'A를 B하는 단계'가 'C를 D하는 단계; E를 F하는 단계; 및 G를 H하는 단계;를 포함한다'고 기재된 경우, 상기 'A를 B하는 단계'는 A를 B하는 기본적인 동작만을 의미하는 것이 아니라, C를 D하는 단계, E를 F하는 단계 및 G를 H하는 단계 등의 세부적인 절차를 함께 수행하는 구성으로 해석될 수 있다. 따라서, 상기와 같은 구성은 해당 단계의 실행 범위 내에 포함된 다양한 하위 절차들을 배제하지 않으며, 이와 실질적으로 동일하거나 균등한 기능을 수행하는 다른 절차 또는 수단이 대체되는 경우에도 본 발명의 권리범위에 포함될 수 있다. 어떠한 구성요소의 ‘단부(端部)’, ‘양단(兩端)’, ‘일단(一端)’, ‘타단(他端)’, ‘측단(側端)’ 등의 표현은 그 구성요소의 끝 부분 중 적어도/어느 하나를 지칭하는 것으로 해석될 수 있다. 본 발명의 설명에 기재된 ‘장치에 프로세서, 메모리, 통신모듈 및 비일시적 저장매체가 포함되어 있고, 상기 비일시적 저장매체에 저장된 프로그램을 실행하여 상기 프로세서에 의해 수행되는, ~방법’에서 ‘~방법’은 비일시적 저장매체에 저장된 프로그램 그 자체이거나 그 프로그램의 일부분을 지칭하는 것으로 해석될 수 있다. 본 발명의 설명에서 사용되는 용어 ‘반환(Return)’이란, 소정의 프로그램 언어/구조에서 사용되는 메서드/프로시저/함수 등에서 결과값이 출력/반환/리턴되는 것을 지칭할 수 있다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 예를 들어, ‘인공지능 모델’은, 공지된 일반적인 인공지능 모델들 중 하나 이상을 선택하여 사용할 수 있다. 또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 일실시예에 따르면, 장치에 프로세서, 메모리, 통신모듈 및 비일시적 저장매체가 포함되어 있고, 상기 비일시적 저장매체에 저장된 프로그램을 실행하여 상기 프로세서에 의해 수행되는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법에 있어서, 제1 비정형 질문을 입력받는 단계; 상기 제1 비정형 질문을 삼중항 손실(Triplet Loss) 기반 또는 BIO 분류 기반의 정제된 질문 생성 모델에 입력하여 제1 정제된 질문을 생성하는 단계; 기계독해 모델에 콘텐츠를 입력하여 콘텐츠를 학습하는 단계; 및 상기 기계독해 모델에 제1 정제된 질문을 입력하여 콘텐츠 기반의 제1 답변을 도출하는 단계;를 포함하는, 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법을 제공한다. 본 발명의 일실시예에 따른 '장치'는 PC, 스마트 기기 등의 사용자 단말 또는 서버 컴퓨터일 수 있다. 예를 들어, 사용자 단말 자체에서 비정형 질문에 기반한 인공지능 모델 질의 응답 솔루션 제공 방법을 처리하는 것도 가능하고, 사용자 단말로부터 수신(입력)받은 비정형 질문을 서버에서 처리하는 형태의 실시예도 가능하다. 제1 비정형 질문을 입력받는 단계에서는, 자연어 형식의 질의(비정형 질문)를 입력받는다. 여기서 비정형 질문이란, 통상적인 검색 질의처럼 구조화된 키워드 기반 입력이 아니라, 일상 언어나 대화체 등 자유로운 문장 형태로 주어진 질문을 의미한다. 예를 들어, “고혈압 환자가 피해야 할 음식은 뭐야?”, “지난주 주가가 왜 떨어졌어?”, “AI가 특허 문서 요약을 할 수 있어?”와 같은 문장이 비정형 질문에 해당한다. 상기 제1 비정형 질문은 음성 인식 또는 텍스트 기반으로 처리될 수 있다. 상기 제1 비정형 질문을 삼중항 손실(Triplet Loss) 기반 또는 BIO 분류 기반의 정제된 질문 생성 모델에 입력하여 제1 정제된 질문을 생성하는 단계에서는, 입력된 비정형 질문을 기계독해(Machine Reading Comprehension) 모델이 처리하기에 적합한 구조적 형태의 질문으로 변환한다. 일실시예에 따르면, 상기 제1 정제된 질문을 생성하는 단계는 BIO 분류 기반 모델 이외에도 삼중항 손실(Triplet Loss) 기반의 정제된 질문 생성 모델에 의해 수행될 수 있다. Triplet Loss 기반 모델은 학습 과정에서 기준 문장(Anchor), 기준 문장과 의미가 유사한 문장(Positive), 그리고 기준 문장과 의미가 상이한 문장(Negative)을 삼중항(triplet)으로 구성하여 입력한다. 모델은 Anchor와 Positive 사이의 거리를 가깝게 유지하고, Anchor와 Negative 사이의 거리를 멀어지도록 임베딩 공간을 학습함으로써, 의미적 유사도에 따라 문장을 효과적으로 구별할 수 있도록 최적화된다. 예를 들어, “강민철 선생님 수업은 언제 하나요?”라는 비정형 질문이 Anchor로 주어졌을 때, “강민철 선생님 강의 일정 알려줘”와 같은 유사 문장은 Positive로, “재료비 납부 방법