KR20200136636A - 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법 - Google Patents

형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법 Download PDF

Info

Publication number
KR20200136636A
KR20200136636A KR1020190062408A KR20190062408A KR20200136636A KR 20200136636 A KR20200136636 A KR 20200136636A KR 1020190062408 A KR1020190062408 A KR 1020190062408A KR 20190062408 A KR20190062408 A KR 20190062408A KR 20200136636 A KR20200136636 A KR 20200136636A
Authority
KR
South Korea
Prior art keywords
intention
sentence
morpheme
analyzer
probability
Prior art date
Application number
KR1020190062408A
Other languages
English (en)
Other versions
KR102285232B1 (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 KR1020190062408A priority Critical patent/KR102285232B1/ko
Publication of KR20200136636A publication Critical patent/KR20200136636A/ko
Application granted granted Critical
Publication of KR102285232B1 publication Critical patent/KR102285232B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic 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/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/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/20Natural language analysis
    • G06F40/268Morphological analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 분석된 상태로 입력받아 형태소 확률 기반으로 문장의 의도를 분석하는 형태소 기반 AI 챗봇의 문장의도 결정 방법이 개시된다. 형태소 기반 AI 챗봇의 문장의도 결정 방법은, 형태소 분석기로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받는 단계; 의도 분석기가 형태소 구성 기반으로 문장의 의도를 분석하는 단계; 상기 의도 분석기가 문장의 의도가 분석되었는지 판단하는 단계; 문장의 의도가 분석되었으면, 상기 의도 분석기가 분석된 내용으로 문장의 의도를 결정하는 단계를 포함하고, 본 발명의 실시예에서는, 형태소를 기반으로 한 AI챗봇에서 사용자가 입력한 문장의 의도를 파악하여 해당 카테고리를 결정할 수 있다.

Description

형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법{Morphology-Based AI Chatbot and Method How to determine the degree of sentence}
본 발명은 형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법에 관한 것으로, 형태소를 기반으로 한 AI챗봇에서 사용자가 입력한 문장의 의도를 파악하여 해당 카테고리를 결정하는 형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법에 관한 것이다.
일반적으로 정보 및 컨텐츠의 제공자, 소비자의 확대 그리고 다양한 정보 제공 매체의 융합 기술에 대한 개발 요구가 높다. 예를 들면, 유무선 방송 통신기술의 융합 기술, 통합 정보 웹서비스 기술 및 다양한 사용자 계층에 편리한 사용자 인터페이스 기술 개발이 대표적인 것들이다. 이러한 기술의 구체적 내용은 제공되는 또는 제공하는 컨텐츠, 정보의 질 및 의미의 해석을 컴퓨터로 자동 해석하여 정보 컨텐츠 이용자의 취향과 의도에 맞게 그리고 편리하고 다양한 방법으로 이들 정보 컨텐츠가 제시, 제공되는 정보시장기술이 기대되고 있다.
예를 들면, 한국특허 공개번호 제10-2006-0043333호 (데이터의 의도를 판정하고 의도에 기초하여 데이터에 응답하는 시스템 및 방법)은 데이터 핸들링을 용이하게 하는 시스템으로서, 데이터를 수신하는 컴포넌트 및 상기 데이터의 의도를 판정하고, 상기 의도에 기초하여 적어도 상기 데이터의 부분집합을 재 체계화하며, 상기 재 체계화된 데이터를 사용자에게 자동적으로 제시하는 데이터 관리자를 포함하는 시스템을 목적으로, 상기 데이터 관리자는 상기 데이터를 분석하고, 상기 데이터를 관련 특징을 갖는 하나 이상의 집합으로 분류하며, 상기 데이터의 집합 중 적어도 하나의 집합으로부터 특징들을 추출하여 상기 데이터의 부분집합을 형성하는 시스템으로, 상기 데이터 관리자는, 상기 데이터 분석을 용이하게 하기 위해, 상기 데이터의 메타데이터, 속성, 내용, 문맥, 키워드, 이력, 경험(heuristics), 추론, 규칙, 구분(demarcation), 시간, 요일, 관련된 핸들링 비용, 관련된 핸들링 이득, 소스 중 적어도 하나를 이용하며, 상기 특징은 구문론적 구조, 구문론적 속성, 언어적 구조 및 언어적 속성 중 하나에 적어도 부분적으로 기초하여 추출되는 시스템으로, 상기 언어적 특징은 문장에서 발생하는 단어, 문장에서 발생하는 이중음자 단어(Word bigram) 및 문장에서 발생하는 삼중음자 단어(Wordtrigram) 중 적어도 하나를 포함하는 시스템을 목적으로 하고 있다.
한국특허 등록번호 제10-0484944호 (국소 구문관계 및 의미 공기사전에 기반한 형태소 의미자동 태깅장치)는 원시문장 형태소 분석 결과로부터 기본 구문 구조 생성 규칙, 의존 구문 규칙, 형태소 의미 전자 사전, 의미 격틀 및 용언구 의미 공기사전을 이용하여 단문을 인식하는 단문 인식수단, 의미 격틀 및 용언구 의미 공기사전을 이용하여 보조사에 대한 격 복원을 수행하는 보조사 격 복원수단, 용언구 공기사전을 이용하여 용언의 논항 명사에 대한 의미를 결정하는 논항 명사 의미 결정수단, 및 명사/조사/명사, 명사/명사의 공기정보로 구성된 명사구 의미 공기사전을 이용하여 명사구내의 명사 및 복합 명사내의 명사들에 대한 의미를 결정하는 명사구 의미 결정수단, 을 포함하는 것을 특징으로 국소 구문관계 및 의미 공기사전에 기반한 형태소 의미 자동 태깅장치에 관한 것으로 언어학적 견지에서 구문 구조 정보를 이용하여 기존의 다른 의미 모호성 장치들보다 정확한 공기 정보인 구문 문맥 정보를 이용함으로써 명사의 의미 모호성을 해결하는 방법을 제시하고 있다.
한국특허 등록번호 제10-0757951호 (웹페이지의 형태소 분석을 통한 검색 방법)은 컴퓨터, 노트북, 핸드폰, PDA 등의 클라이언트와, 상기 클라이언트에게 정보를 제공하는 분석서버에 있어서, 상기 클라이언트 사용자가 탭브라우저를 통하여 웹사이트 등에 접속하면, 접속된 사이트의 내용이 탭브라우저에 표시되는 단계, 상기 분석서버는 상기 클라이언트의 탭브라우저에 표시되는 내용에 대한 문맥을 문맥 형태소 분석을 통하여 반복되는 문장, 단어의 빈도수를 식별하는 단계, 상기 식별된 단어 중에서 기준치 이상의 빈도수를 갖는 문장, 단어를 중요단어인 키워드로 선정하는 단계, 상기 선정된 중요단어를 각 탭브라우저의 제목으로 출력하는 단계, 상기 각 탭브라우저의 제목을 포털사이트의 질의어로 사용하여 검색하고, 검색결과를 별도의 각 탭브라우저의 내용으로 출력시키는 단계를 포함하는 것을 특징으로 하는 웹페이지의 형태소 분석을 통한 검색 방법에 관한 것으로 상기 특허는 검색시스템의 일 방법론으로 텍스트 속에 출현하는 문장수, 단어수를 형태소 처리로 계산하여 그것을 키워드로 탭 웹브라우저 제목으로 출력하는 방법이다.
한국특허 등록번호 제10-0691400호 (부가 정보를 이용하여 형태소를 분석하는 방법 및 상기 방법을 수행하는 형태소 분석기)는 형태소 분석방법에 있어서, 검색 색인용 데이터로부터 형태소 분석 대상 및 상기 형태소 분석대상과 연관된 부가 정보를 획득하는 단계, 상기 부가 정보에 기초하여 키(Key)를 생성하는 단계, 및 상기 키를 활용하여 상기 형태소 분석 대상에 대해 형태소 분석을 수행하는 단계를 포함하는 것을 특징으로 하는 형태소 분석 방법이다.
현재 구글, 야후 등 대형 정보 검색 포탈이 사용하고 있는 정보 검색 시스템은 "단어" 단위의 검색키방식이 중심이며 비록 '구' 단위 입력을 가능하게 한다 해도 입력되는 '구'의 고도기술에 따른 언어처리 방법이라기 보다는 N그램 기반 색인키를 논리연산자(AND, OR, NOT)로 연결하여 검색 결과를 제시하는 정도임으로 현행기술로서는 정보 검색의 재현성, 정확성 향상에는 한계가 있다. 특히 차세대 정보검색분야로서 '모바일정보검색' 기술이 주목을 받고 있고 새로운 웹검색기술이 '시멘틱 웹' 기술이 제안되고 논의 중이나 특별히 성공적인 사례는 없다.
이러한 문제를 해결하기 위해 국내등록공보 1,042,515호에 사용자의 의도에 기반한 정보 검색방법 및 정보 제공방법이 개시되어 있다.
이러한 선행기술은 단어 단위를 검색어로 하는 정보 검색 시스템에서 구 단위, 문장 단위로 검색키를 확장하여 정보 검색 시스템의 사용자 인터페이스를 보다 편리하게 할 뿐 아니라 정보의 제공, 검색, 분류, 평가, 모니터링 등의 다기능이 통합 처리 가능한 다기능 통합 정보 검색방법 및 시스템을 제공하고 있다.
또한, 선행기술은 정보 검색자나 정보 제공자의 의도를 파악하고, 파악된 의도에 기초한 정보 결과를 제공하고 있다.
한편, 현재 AI챗봇은 문장의 단어의 패턴 규칙 기반이거나 딥러닝의 의한 의도 추출 방식을 사용하고 있다.
그러나, 패턴 규칙 기반의 경우 패턴 규칙에 의존하면서 규칙을 조금만 벋어 나도 의도 파악이 잘 되지 않는 문제가 있다.
또한, 딥러닝 방식의 경우 신경망 방식으로 의도를 파악하므로 범용적인 엔진을 만들 수 있는 반면 정확한 답변을 내는 것이 어렵게 된다.
본 발명이 이루고자 하는 기술적 과제는 종래의 불편한 점을 개선하고자 하는 것으로, 형태소를 기반으로 한 AI챗봇에서 사용자가 입력한 문장의 의도를 파악하여 해당 카테고리를 결정하는 형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적 과제는 종래의 불편한 점을 개선하고자 하는 것으로, 사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 확률 기반으로 문장의 의도를 분석하여 해당 카테고리를 결정하고 정보 검색이 이루어지도록 하는 형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법을 제공하는 것이다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 형태소 기반 AI 챗봇의 문장의도 결정 방법은,
사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 분석된 상태로 입력받아 형태소 확률 기반으로 문장의 의도를 분석하는 형태소 기반 AI 챗봇의 문장의도 결정 방법으로서,
형태소 분석기로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받는 단계;
의도 분석기가 형태소 구성 기반으로 문장의 의도를 분석하는 단계;
상기 의도 분석기가 문장의 의도가 분석되었는지 판단하는 단계;
문장의 의도가 분석되었으면, 상기 의도 분석기가 분석된 내용으로 문장의 의도를 결정하는 단계를 포함한다.
문장의 의도가 분석되지 않았으면, 상기 의도 분석기가 형태소 확률 기반으로 문장의 의도를 분석하는 단계;
상기 의도 분석기가 분석된 내용중에 최종 의도 후보를 선정하는 단계;
최종 의도 후보가 이전 의도와 같은지 판단하는 단계;
최종의도 후보가 이전의도와 같으면, 상기 의도 분석기가 문장의 의도를 이전의도로 결정하는 단계를 포함한다.
최종의도 후보가 이전의도와 같지 않으면, 상기 의도 분석기가 최종의도 후보의 확률이 이전 의도 확률보다 높은지 판단하는 단계;
최종의도 후보의 확률이 이전 의도 확률보다 높으면,
상기 의도 분석기가 문장의 최종의도 후보를 신규 의도로 결정하는 단계를 더 포함한다.
최종의도 후보의 확률이 이전 의도 확률보다 높지 않으면, 상기 의도 분석기가 문장의 의도를 이전의도로 결정하는 단계를 더 포함한다.
문장의 의도가 결정된 후, 파라미터 추출기가 파라미터를 추출하는 단계;
추출된 파라미터에서 추가로 필요한 파라미터가 있는지 판단하는 단계;
추가로 필요한 파라미터가 없으면, 의도 분석기가 의도에 대응하는 검색 결과를 제공하는 단계를 포함한다.
추가로 필요한 파라미터가 있으면, 파라미터 추출기가 추가로 필요한 파라미터를 사용자 단말기에 요청하는 단계를 더 포함하고,
상기 사용자 단말기로부터 파라미터가 추가로 수신되면, 상기 파라미터 추출기가 추출된 파라미터에서 추가로 필요한 파라미터가 있는지 판단하는 단계부터 반복수행하는 것을 특징으로 한다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 형태소 기반 AI 챗봇은,
사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 분석된 상태로 입력받아 형태소 확률 기반으로 문장의 의도를 분석하는 형태소 기반 AI 챗봇으로서,
형태소별 의도의 확률을 저장하는 형태소 확률사전 DB;
형태소 분석기로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받고, 문장의 의도가 분석되었는지 판단하고, 문장의 의도가 분석되었으면, 상기 의도 분석기가 분석된 내용으로 문장의 의도를 결정하고, 문장의 의도가 분석되지 않았으면, 상기 형태소 확률사전 DB를 참조하여 형태소 확률 기반으로 문장의 의도를 분석하는 의도 분석기;
문장의 의도가 결정된 후, 파라미터를 추출하고, 추출된 파라미터에서 추가로 필요한 파라미터가 있으면 사용자 단말기에 요청하는 파라미터 추출기를 포함한다.
본 발명의 실시예에서는, 형태소를 기반으로 한 AI챗봇에서 사용자가 입력한 문장의 의도를 파악하여 해당 카테고리를 결정하는 형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법을 제공할 수 있다.
또한, 본 발명의 실시예에서는, 사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 확률 기반으로 문장의 의도를 분석하여 해당 카테고리를 결정하고 정보 검색이 이루어지도록 하는 형태소 기반 AI 챗봇 및 그의 문장의도 결정 방법을 제공할 수 있다.
도 1 은 본 발명의 실시예에 따른 형태소 기반 AI 챗봇의 구성도이다.
도 2는 본 발명의 실시예에 따른 형태소 기반 AI 챗봇의 문장의도 결정 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명의 실시예에 따른 형태소 기반 AI 챗봇에서 사용되는 형태소 확률 사전의 예를 보인 도면이다.
도 4는 본 발명의 실시예에 따른 형태소 기반 AI 챗봇에서 사용되는 형태소 사전의 예를 보인 도면이다.
도 5는 본 발명의 실시예에 따른 형태소 기반 AI 챗봇에서 제공하는 웹페이지의 예를 보인 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1 은 본 발명의 실시예에 따른 형태소 기반 AI 챗봇의 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 형태소 기반 AI 챗봇은,
사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 분석된 상태로 입력받아 형태소 확률 기반으로 문장의 의도를 분석하는 형태소 기반 AI 챗봇으로서,
룰베이스 기반 규칙 정보를 저장하는 룰베이스 DB(210);
형태소별 의도의 확률을 저장하는 형태소 사전 DB(220);
사용자 단말기로부터 입력된 문장을 전처리하는 전처리부(110);
룰베이스에 기초하여 전처리된 문장을 처리하는 룰베이스부(120);
형태소 분석을 하는 형태소 분석기(130);
형태소 분석기(130)로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받고, 문장의 의도가 분석되었는지 판단하고, 문장의 의도가 분석되었으면, 상기 의도 분석기(140)가 분석된 내용으로 문장의 의도를 결정하고, 문장의 의도가 분석되지 않았으면, 상기 형태소 확률사전 DB를 참조하여 형태소 확률 기반으로 문장의 의도를 분석하는 의도 분석기(140);
문장의 의도가 결정된 후, 파라미터를 추출하고, 추출된 파라미터에서 추가로 필요한 파라미터가 있으면 사용자 단말기에 요청하는 파라미터 추출기(150)를 포함한다.
이러한 구성을 가진 본 발명의 실시예에 따른 형태소 기반 AI 챗봇의 문장의도 결정 방법에 대해 상세히 설명하면 다음과 같다.
도 2는 본 발명의 실시예에 따른 형태소 기반 AI 챗봇의 문장의도 결정 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명의 실시예에 따른 형태소 기반 AI 챗봇에서 사용되는 형태소 확률 사전의 예를 보인 도면이다.
도 4는 본 발명의 실시예에 따른 형태소 기반 AI 챗봇에서 사용되는 형태소 사전의 예를 보인 도면이다.
도 5는 본 발명의 실시예에 따른 형태소 기반 AI 챗봇에서 제공하는 웹페이지의 예를 보인 도면이다.
도 2를 참조하면, 사용자 단말기로부터 관광분야 등에서의 정보 검색 등 소정의 목적을 위해 문장이 입력된다. 예를 들어 "오늘 서울 나ㄹ씨 어때?"라는 문장이 입력된다.
그러면, 전처리부(110)에서 전처리를 하여 출력한다(S200). 여기서 전처리는 오탈자 띄어쓰기 등이 보정된다. 예를 들어, 오타가 보정된 "오늘 서울 날씨 어때?"로 보정된 문장이 된다.
그리고 이러한 전처리부(110)는 기존에 잘 알려진 전처리부(110)의 기능을 수행할 수 있다.
그리고 나서, 룰베이스부(120)는 전처리부(110)에서 보정된 문장이 룰베이스에 해당하는지 판단한다(S201). 즉, 관광분야의 검색인 경우, 소정 규칙에 따라 장소, 시간 선택후 카테고리를 선택하게 되어 있는 경우, 규칙에 따른 정보가 입력되어 정보 검색이 가능한지를 판단한다.
룰베이스에 적합하게 완전한 문장인 경우, 룰베이스부(120)는 룰베이스 DB(210)를 참조하여 시나리오에 따라 응답을 하게 된다(S202). 예를 들어 소정 시나리오에 따라 사용자가 관광 분야 검색을 위해 장소, 시간 선택후 카테고리를 선택하도록 한다.
룰베이스에 적합하지 않은 불완전한 문장인 경우, 룰베이스부(120)는 형태소 분석기(130)로 보정된 문장을 전달한다. 그러면, 형태소 분석기(130)가 문장을 형태소 분석하여 출력한다(S203).
예를 들어 "
Figure pat00001
"의 보정된 문장의 경우 형태소 분석이 되면 "
Figure pat00002
"가 될 수 있다.
다음, 의도 분석기(140)가 형태소 분석기(130)로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받는다(S204).
그리고 나서 의도 분석기(140)가 형태소 구성 기반으로 문장의 의도를 분석한다(S205). 즉, 형태소들 중 의도를 파악할 수 있는 형태소의 조합이 있으면 바로 의도를 파악한다.
의도 분석기(140)는 먼저 특이 요소를 추출한다.
how요소: "어떻/VA"가 있거나 "방법/NNG"가 있으면 활성화
go요소: "가/VV"가 있거나 "거리/NNG"가 있으면 활성화
take 요소: "걸리/VV"가 있거나 "소요/NNG"가 있으면 활성화
howlong 요소: "시간/NNG"가 있거나 "몇/MM"+"얼마나/MAG"가 있으면 활성화
place 요소: "곳/NNG"가 있거나 "데/NNB" 가 있거나 "어디/NP"가 있으면 활성화
sleep 요소: "자/VV) "가 있거나 "잘/MAG"+ NNG 가 있으면 활성화
eat 요소: "먹/VV"가 있거나 "맛있/VA" 가 있으면 활성화
to 요소: "까지/JX" 가 있으면 활성화
이러한 특이 요소들은 분야에 따라 다르게 선정될 수 있다.
그리고 나서 의도 분석기(140)는 특이 요소를 이용하여 의도를 선정한다.
길찾기 카테고리: how+go가 있거나 howlong+go 가 있거나 howlong+To 가 있으면 길찾기 카테고리로 의도를 선정
- 식당찾기 카테고리: place+eat이 있으면 식당찾기 카테고리로 의도를 선정
- 숙소찾기 카테고리: place+sleep이 있으면 숙소찾기 카테고리로 의도를 선정
- 정보검색 카테고리: howlong+take이 있으면 정보검색 카테고리로 의도를 선정
이러한 카테고리와 특이요소의 조합은 분야에 따라 다르게 선정될 수 있다.
그리고 상기 의도 분석기(140)가 문장의 의도가 분석되었는지 판단한다(S206).
문장의 의도가 분석되었으면, 상기 의도 분석기(140)가 분석된 내용으로 문장의 의도를 결정한다(S207). 예를 들어 의도가 날씨로 판단되면 문장의 의도를 날씨로 결정한다.
한편 문장의 의도가 분석되지 않았으면, 상기 의도 분석기(140)가 형태소 확률 기반으로 문장의 의도를 분석한다(S208). 즉, 확률 사전의 형태소별 확률을 이용하여 의도 후보를 추출한다.
예를 들어, 도 3과 같은 형태소 확률 사전을 기반으로 의도 확률을 계산한다. 이때 의도 확률은 복수개가 될 수 있다. 또한 전체 문장의 뒤로 갈수록 의도 확률의 가중치가 높아진다.(즉 문장의 뒤에 나올수록 더 중요한 의도를 가진다)
형태소 확률 = (형태소 확률) X (문장내 순서)/(형태소 개수)
"오늘 서울 날씨 어때?"의 경우 6개의 요소이므로 다음의 확률 계산을 가진다.
오늘(0%*1/6)+서울(장소찾기50%*2/6)+날씨(날씨검색90%*3/6)+어떻(0%*4/7)+어(0%*5/6)+? (0%*6/6)
결과의 의한 의도 후보는 아래와 같다.
장소찾기=16%
날씨검색=45%
여기서 참고로 형태소 사전의 예는 도 4와 같다.
상기 의도 분석기(140)가 분석된 내용중에 확률이 제일 높은 것을 최종 의도 후보로 선정한다(S209). 즉, 추출된 후보 중 가장 높은 확률을 가진 의도를 최종 후보로 선정한다.
최종 의도 후보가 이전에 처리한 문장의 의도와 같은지 판단한다(S210). 대화의 흐름에서 이전 문장의 의도와 비교하여 같으면 같은 의도 내에 있다고 본다.
최종의도 후보가 이전의도와 같으면, 상기 의도 분석기(140)가 문장의 의도를 이전의도로 결정한다(S211).
최종의도 후보가 이전의도와 같지 않으면, 상기 의도 분석기(140)가 최종의도 후보의 확률이 이전 의도 확률보다 높은지 판단한다(S212).
이전 의도와 내용이 다른 경우 선정된 의도 후보의 확률이 기준보다 높으면 채용한다.
최종의도 후보의 확률이 이전 의도 확률보다 높으면, 상기 의도 분석기(140)가 문장의 의도를 신규 의도로 결정한다(S213).
최종의도 후보의 확률이 이전 의도 확률보다 높지 않으면, 상기 의도 분석기(140)가 문장의 의도를 이전의도로 결정한다(S214).
문장의 의도가 결정된 후, 파라미터 추출기가 파라미터를 추출한다(S215).
추출된 파라미터에서 추가로 필요한 파라미터가 있는지 판단한다(S216). 예를 들어 문장의 의도에 대응하는 검색 및 답변을 하기 위하여 추가로 더 필요한 파라미터가 있는지 판단한다. 이때, 문장의 의도에 대응하는 파라미터는 미리 정의되어 있으며 예를 들어, 날씨가 의도인 경우, 장소와 시간 파라미터가 추가로 필요하며, 문장안에 장소와 시간 파라미터가 포함된 경우, 추가 파라미터가 없는 것을 판단한다.
도 5를 참조하면, 파라미터에는 언제(When), 어디서(Where), 무엇을(What), 어떻게(How), 누구에게(Who), 어느(which) 등 다양한 파라미터가 있으며, 문장의 의도에 대응하는 검색 및 답변을 하기 위하여 소정 개수의 파라미터가 조합을 이룰 수 있다.
추가로 필요한 파라미터가 없으면, 의도 분석기(140)가 의도에 대응하는 검색 결과를 제공한다(S218).
추가로 필요한 파라미터가 있으면, 파라미터 추출기가 추가로 필요한 파라미터를 사용자 단말기에 요청하고(S219), 상기 사용자 단말기로부터 파라미터가 추가로 수신되면, 상기 파라미터 추출기가 추출된 파라미터에서 추가로 필요한 파라미터가 있는지 판단하는 단계(S217)부터 반복수행한다.
본 발명은 형태소 분석의 결과로 나온 형태소를 바탕으로 의도를 분석함으로써 보다 정교한 의도를 파악할 수 있다. 다만 딥러닝 방식처럼 범용으로 사용하기는 어렵지만 특정 분야에 최적화하여 사용하면 특정 분야에서는 딥러닝보다 더 정교하게 의도를 파악하는 것이 가능하다. 예를 들어 관광분야 특화시켜 관광에서 발생되는 한정된 의도 내에서 챗봇 시스템을 구축하면 좀더 정교한 챗봇 개발이 가능해 진다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (7)

  1. 사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 분석된 상태로 입력받아 형태소 확률 기반으로 문장의 의도를 분석하는 형태소 기반 AI 챗봇의 문장의도 결정 방법으로서,
    형태소 분석기로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받는 단계;
    의도 분석기가 형태소 구성 기반으로 문장의 의도를 분석하는 단계;
    상기 의도 분석기가 문장의 의도가 분석되었는지 판단하는 단계;
    문장의 의도가 분석되었으면, 상기 의도 분석기가 분석된 내용으로 문장의 의도를 결정하는 단계를 포함하는 형태소 기반 AI 챗봇의 문장의도 결정 방법.
  2. 제1항에 있어서,
    문장의 의도가 분석되지 않았으면, 상기 의도 분석기가 형태소 확률 기반으로 문장의 의도를 분석하는 단계;
    상기 의도 분석기가 분석된 내용중에 최종 의도 후보를 선정하는 단계;
    최종 의도 후보가 이전 의도와 같은지 판단하는 단계;
    최종의도 후보가 이전의도와 같으면, 상기 의도 분석기가 문장의 의도를 이전의도로 결정하는 단계를 더 포함하는 형태소 기반 AI 챗봇의 문장의도 결정 방법.
  3. 제2항에 있어서,
    최종의도 후보가 이전의도와 같지 않으면, 상기 의도 분석기가 최종의도 후보의 확률이 이전 의도 확률보다 높은지 판단하는 단계;
    최종의도 후보의 확률이 이전 의도 확률보다 높으면,
    상기 의도 분석기가 문장의 최종의도 후보를 신규 의도로 결정하는 단계를 더 포함하는 형태소 기반 AI 챗봇의 문장의도 결정 방법.
  4. 제3항에 있어서,
    최종의도 후보의 확률이 이전 의도 확률보다 높지 않으면, 상기 의도 분석기가 문장의 의도를 이전의도로 결정하는 단계를 더 포함하는 형태소 기반 AI 챗봇의 문장의도 결정 방법.
  5. 제4항에 있어서,
    문장의 의도가 결정된 후, 파라미터 추출기가 파라미터를 추출하는 단계;
    추출된 파라미터에서 추가로 필요한 파라미터가 있는지 판단하는 단계;
    추가로 필요한 파라미터가 없으면, 의도 분석기가 의도에 대응하는 검색 결과를 제공하는 단계를 더 포함하는 형태소 기반 AI 챗봇의 문장의도 결정 방법.
  6. 제5항에 있어서,
    추가로 필요한 파라미터가 있으면, 파라미터 추출기가 추가로 필요한 파라미터를 사용자 단말기에 요청하는 단계를 더 포함하고,
    상기 사용자 단말기로부터 파라미터가 추가로 수신되면, 상기 파라미터 추출기가 추출된 파라미터에서 추가로 필요한 파라미터가 있는지 판단하는 단계부터 반복수행하는 것을 특징으로 하는 형태소 기반 AI 챗봇의 문장의도 결정 방법.
  7. 사용자가 입력한 문장중 룰베이스 규칙에 해당하지 않는 문장에 대해 형태소 분석된 상태로 입력받아 형태소 확률 기반으로 문장의 의도를 분석하는 형태소 기반 AI 챗봇으로서,
    형태소별 의도의 확률을 저장하는 형태소 확률사전 DB;
    형태소 분석기로부터 형태소 분석된 상태인 형태소 배열의 문장을 입력받고, 문장의 의도가 분석되었는지 판단하고, 문장의 의도가 분석되었으면, 상기 의도 분석기가 분석된 내용으로 문장의 의도를 결정하고, 문장의 의도가 분석되지 않았으면, 상기 형태소 확률사전 DB를 참조하여 형태소 확률 기반으로 문장의 의도를 분석하는 의도 분석기;
    문장의 의도가 결정된 후, 파라미터를 추출하고, 추출된 파라미터에서 추가로 필요한 파라미터가 있으면 사용자 단말기에 요청하는 파라미터 추출기를 포함하는 형태소 기반 AI 챗봇.
KR1020190062408A 2019-05-28 2019-05-28 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법 KR102285232B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190062408A KR102285232B1 (ko) 2019-05-28 2019-05-28 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190062408A KR102285232B1 (ko) 2019-05-28 2019-05-28 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법

Publications (2)

Publication Number Publication Date
KR20200136636A true KR20200136636A (ko) 2020-12-08
KR102285232B1 KR102285232B1 (ko) 2021-08-03

Family

ID=73778990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190062408A KR102285232B1 (ko) 2019-05-28 2019-05-28 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법

Country Status (1)

Country Link
KR (1) KR102285232B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102436666B1 (ko) * 2021-10-19 2022-08-26 주식회사 퍼니웍 하이브리드 챗봇 서비스 시스템 및 그 서비스 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102383810B1 (ko) * 2021-09-28 2022-04-11 주식회사 퍼니웍 챗봇을 이용한 다국어 지원 시스템 및 방법
KR102439321B1 (ko) 2022-05-04 2022-09-05 한국데이터플랫폼 주식회사 문장 의미를 분석하여 찾아주는 시맨틱 분석 제공 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101872863B1 (ko) * 2016-11-24 2018-07-02 주식회사 와이즈넛 채팅봇을 이용한 비즈니스 지원 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101872863B1 (ko) * 2016-11-24 2018-07-02 주식회사 와이즈넛 채팅봇을 이용한 비즈니스 지원 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
형태소 분석 및 품사 부착을 위한 말뭉치 기반 혼합 모형, 이승욱 외(2008.12) 1부.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102436666B1 (ko) * 2021-10-19 2022-08-26 주식회사 퍼니웍 하이브리드 챗봇 서비스 시스템 및 그 서비스 방법

Also Published As

Publication number Publication date
KR102285232B1 (ko) 2021-08-03

Similar Documents

Publication Publication Date Title
US10115056B2 (en) Method and apparatus for responding to an inquiry
KR101173556B1 (ko) 토픽맵 기반 색인 장치, 토픽맵 기반 검색 장치, 토픽맵 기반 검색 시스템 및 그 방법
US10339453B2 (en) Automatically generating test/training questions and answers through pattern based analysis and natural language processing techniques on the given corpus for quick domain adaptation
US8073877B2 (en) Scalable semi-structured named entity detection
US11481417B2 (en) Generation and utilization of vector indexes for data processing systems and methods
US9390161B2 (en) Methods and systems for extracting keyphrases from natural text for search engine indexing
US7814097B2 (en) Discovering alternative spellings through co-occurrence
US11468238B2 (en) Data processing systems and methods
KR101524889B1 (ko) 간접 화법 내에서의 시맨틱 관계의 식별
US20060212433A1 (en) Prioritization of search responses system and method
US20160292153A1 (en) Identification of examples in documents
RU2704531C1 (ru) Способ и устройство для анализа семантической информации
KR102285232B1 (ko) 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법
US11455357B2 (en) Data processing systems and methods
US11699034B2 (en) Hybrid artificial intelligence system for semi-automatic patent infringement analysis
KR101709055B1 (ko) 오픈 웹 질의응답을 위한 질문분석 장치 및 방법
Lommatzsch et al. An Information Retrieval-based Approach for Building Intuitive Chatbots for Large Knowledge Bases.
US20220365956A1 (en) Method and apparatus for generating patent summary information, and electronic device and medium
WO2021092272A1 (en) Qa-bots for information search in documents using paraphrases
CN110427626B (zh) 关键词的提取方法及装置
KR101238927B1 (ko) 전자도서컨텐츠 검색 서비스 시스템 및 전자도서컨텐츠 검색 서비스 방법
KR101026986B1 (ko) 언어 표현 해석에 기반한 정보 검색방법 및 정보 제공방법
KR100885527B1 (ko) 문맥 기반 색인데이터 생성장치와 문맥기반 검색장치 및 그방법
Vickers Ontology-based free-form query processing for the semantic web
KR101099917B1 (ko) 검색용 색인 기반 질의어 추천 방법 및 그 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant