KR102408188B1 - 의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램 - Google Patents

의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102408188B1
KR102408188B1 KR1020200126396A KR20200126396A KR102408188B1 KR 102408188 B1 KR102408188 B1 KR 102408188B1 KR 1020200126396 A KR1020200126396 A KR 1020200126396A KR 20200126396 A KR20200126396 A KR 20200126396A KR 102408188 B1 KR102408188 B1 KR 102408188B1
Authority
KR
South Korea
Prior art keywords
interface
intention
model
intention classification
input
Prior art date
Application number
KR1020200126396A
Other languages
English (en)
Other versions
KR20220042941A (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 KR1020200126396A priority Critical patent/KR102408188B1/ko
Publication of KR20220042941A publication Critical patent/KR20220042941A/ko
Application granted granted Critical
Publication of KR102408188B1 publication Critical patent/KR102408188B1/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

본 발명의 일 실시예에 따른 하나 이상의 의도 분류 모델로 구성되는 의도 분류기를 생성하기 위한 인터페이스를 제공하는 방법은, 의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여, 하나 이상의 모델 타입을 선택 가능한 형태로 표시하는 제1 인터페이스를 제공하는 단계; 상기 제1 인터페이스 대한 상기 사용자의 입력에 따라 선택된 타입에 포함되는 하나 이상의 세부 모델을 선택 가능한 형태로 표시하는 제2 인터페이스를 제공하는 단계; 및 상기 제2 인터페이스에 대한 상기 사용자의 입력에 따라 선택된 세부 모델이 추가된 제3 인터페이스를 제공하는 단계로써, 상기 제3 인터페이스에는 상기 의도 분류기를 구성하는 하나 이상의 의도 분류 모델이 표시되는;를 포함할 수 있다.

Description

의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램{INTENT CLASSIFIER CREATION INTERFACE PROVISION METHOD AND COMPUTER PROGRAM}
본 발명의 실시예들은 하나 이상의 의도 분류 모델이 순차적으로 구성되는 의도 분류기를 생성하는 인터페이스를 제공하는 방법 및 컴퓨터 프로그램에 관한것 이다.
최근 인공지능 기술의 발달과 보급으로, 인간의 개입 없이 사용자와 컴퓨터 시스템 간의 대화를 수행할 수 있는 대화 시스템 또는 챗봇이 널리 보급되고 있는 추세이다.
특히 챗봇은 사용자가 별도의 웹사이트나 애플리케이션을 통하지 않고, 메신저 등을 이용하여 간편하게 질의하고 그에 대한 답변을 받을 수 있다는 점에서 널리 사용되고 있다.
이와 같은 챗봇은 전화나 웹사이트를 통해 고객의 상담에 대응하는 작업을 자동화하는데 주로 활용되고 있고, 이 경우 사용자의 질문 의도를 정확하게 이해하고 그에 맞는 답변을 제공하는 것이 주요한 목표가 된다.
즉, 고객 상담을 위한 챗봇은 불특정 다수를 대상으로 한 상담에 주로 활용되고 있으며, 개인별 특성에 따른 답변을 고려하지 않고 예상되는 질문/응답의 쌍들을 미리 저장해 두고 기계학습이나 패턴 매칭을 통해 사용자의 질문에 가장 가까운 질문/응답 쌍을 추출하여 답변을 제공하는 방법을 이용하고 있다.
종래의 챗봇은 사용자의 특성이나 주변상황을 이해하고 그에 맞는 답변이나 서비스를 제공하는데 어려움을 겪고 있다. 그 이유는, 의도 분류 모델이 간단하게 구성되어 있기 때문이다.
즉 종래기술은 단일 의도 분류 모델을 사용하여, 해당 모델에서만 질의사항에 대한 답변을 처리하도록 구현되어 있기에, 모든 사용자의 모든 질문에 대해 답변을 제공하기 어려운 측면이 있었다.
실제로 종래기술에 따르면 사용자의 질의에 대해서 단일 의도 분류 모델 내에서 답변을 찾고 적절한 답변을 찾지 못한 경우 유사한 답변을 제공하거나(그렇지만 이러한 답변은 정답이 아닐 확률이 매우 높다), 사람이 해당 답변을 처리하도록 하여 챗봇이 제대로 활용되지 못하는 문제점이 있었다.
본 발명은 복수의 의도 분류 모델을 사용하는 의도 분류기를 보다 직관적으로 생성할 수 있도록 하고자 한다.
본 발명의 일 실시예에 따른 하나 이상의 의도 분류 모델로 구성되는 의도 분류기를 생성하기 위한 인터페이스를 제공하는 방법은, 의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여, 하나 이상의 모델 타입을 선택 가능한 형태로 표시하는 제1 인터페이스를 제공하는 단계; 상기 제1 인터페이스 대한 상기 사용자의 입력에 따라 선택된 타입에 포함되는 하나 이상의 세부 모델을 선택 가능한 형태로 표시하는 제2 인터페이스를 제공하는 단계; 및 상기 제2 인터페이스에 대한 상기 사용자의 입력에 따라 선택된 세부 모델이 추가된 제3 인터페이스를 제공하는 단계로써, 상기 제3 인터페이스에는 상기 의도 분류기를 구성하는 하나 이상의 의도 분류 모델이 표시되는;를 포함할 수 있다.
본 발명의 일 실시예에 따른 의도 분류기 생성 인터페이스 제공 방법은 상기 제2 인터페이스를 제공하는 단계 이후에, 상기 선택된 세부 모델에 대한 하나 이상의 속성값을 변경하기 위한 제4 인터페이스를 제공하는 단계;를 더 포함할 수 있다.
상기 선택된 세부 모델이 기 정의된 복수의 룰(Rule)에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우, 상기 제4 인터페이스는 상기 입력 문자열이 상기 복수의 룰 중 어느 하나의 룰에도 해당하지 않을 경우의 상기 의도 분류기의 동작을 설정하기 위한 항목을 포함할 수 있다.
상기 선택된 세부 모델이 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우, 상기 제4 인터페이스는 상기 세부 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 항목을 포함할 수 있다.
상기 제3 인터페이스는 상기 의도 분류기에 포함되는 복수의 의도 분류 모델 각각에 대응되는 객체를 상기 복수의 의도 분류 모델의 사용 오더에 따라 나열한 리스트를 포함할 수 있다.
상기 리스트는 제1 의도 분류 모델에 대응되는 객체, 상기 제1 의도 분류 모델에 후행하는 제2 의도 분류 모델에 대응되는 객체 및 상기 제2 의도 분류 모델에 후행하는 제3 의도 분류 모델에 대응되는 객체를 포함하고, 상기 의도 분류기 생성 인터페이스 제공 방법은 상기 제3 인터페이스를 제공하는 단계 이후에 상기 리스트 상에서 상기 제3 의도 분류 모델에 대응되는 객체에 대한 사용자의 위치 이동 입력에 따라 상기 제1 의도 분류 모델에 대응되는 객체, 상기 제2 의도 분류 모델에 대응되는 객체 및 상기 제3 의도 분류 모델에 대응되는 객체 들의 상대적 위치 관계를 변경하는 단계;를 더 포함할 수 있다.
상기 리스트는 제4 의도 분류 모델에 대응되는 객체를 포함하고, 상기 제4 의도 분류 모델은 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델이고, 상기 제4 의도 분류 모델에 대응되는 객체는 상기 제4 의도 분류 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 입력 상자를 포함할 수 있다.
상기 제3 인터페이스는 학습된 제2 인공 신경망에 의해 결정된 오더에 따라 상기 리스트 상의 복수의 의도 분류 모델 각각에 대응되는 객체를 정렬하기 위한 인터페이스를 더 포함하고, 상기 의도 분류기 생성 인터페이스 제공 방법은 상기 제3 인터페이스를 제공하는 단계 이후에 상기 객체를 정렬하기 위한 인터페이스에 대한 사용자의 입력에 대응하여 상기 제2 인공 신경망에 의해 결정된 오더에 따라 상기 리스트 상의 복수의 의도 분류 모델 각각에 대응되는 객체를 정렬하여 표시하는 단계:를 더 포함할 수 있다.
본 발명에 따르면 사용자의 질의(즉 입력 문자열)에 대한 응답 정확도가 향상된 의도 분류기를 보다 쉽게 생성할 수 있다.
또한 본 발명에 따르면 의도 분류기를 구성하는 의도 분류 모델들의 순서와 개별 의도 분류 모델의 속성값을 손쉽게 설정할 수 있다.
또한 본 발명에 따르면 각 의도 모델에서 발생하는 예외 상황의 처리 방법에 대해서도 간편하게 설정할 수 있다.
도 1은 본 발명의 일 실시예에 따른 문자열의 의도 분류 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다.
도 3은 의도 분류 모델의 풀(Pool)(500)과 예시적인 의도 분류 모델의 오더를 도시한 도면이다.
도 4는 의도 분류기를 생성하기 위한 인터페이스가 표시된 화면(600)의 예시이다.
도 5 및 도 6은 영역(700A, 700B)에 대한 사용자의 조작에 따라 의도 분류기의 오더를 변경하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제어부(120)가 제2 인공 신경망(920)을 학습하는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 제어부(120)가 학습된 제2 인공 신경망(920)을 이용하여 의도 분류 모델의 순서를 결정하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제어부(120)가 입력 문자열에 대응되는 응답 엔진을 결정하는 과정을 설명하기 위한 도면이다.
도 10은 의도 분류기를 구성하는 의도 분류 모델 중 룰에 기반하여 의도를 분류하는 모델이 사용된 경우의 대화 화면(810)을 도시한 도면이다.
도 11은 의도 분류기를 구성하는 의도 분류 모델 중 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델이 사용된 경우의 대화 화면(820)을 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 제어부(120)에 의해 수행되는 문자열의 의도 분류 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 의도 분류기 생성 인터페이스 제공 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 형태는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 문자열의 의도 분류 시스템의 구성을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 문자열의 의도 분류 시스템은 입력 문자열에 대응되는 응답의 생성을 위해 입력 문자열의 의도를 분류할 수 있다.
본 발명에서 입력 문자열의 '의도를 분류'하는 것은 해당 문자열의 의미 및/또는 의도를 파악하고 그에 따른 후속 처리를 수행하는 것을 의미할 수 있다. 가령 본 발명에서 문자열의 '의도를 분류'하는 것은 해당 문자열의 의미 및/또는 의도에 대응되는 응답을 생성하기 위한 응답 엔진을 선택하고, 선택된 응답 엔진을 이용하여 해당 문자열에 대한 응답 문자열을 생성하는 일련의 과정을 의미할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
또한 본 발명의 일 실시예에 따른 문자열의 의도 분류 시스템은 하나 이상의 의도 분류 모델로 구성되는 의도 분류기를 생성하기 위한 인터페이스를 사용자에게 제공하여, 사용자가 의도 분류기를 생성하도록 할 수 있다.
본 발명에서 '의도 분류기'는 하나 이상의 의도 분류 모델로 구성되는것으로, 입력 문자열의 의도를 분류하는 하나 이상의 의도 분류 모델의 순차적인 조합을 의미할 수 있다.
본 발명에서 '의도 분류 모델'은 입력 문자열에 대응되는 응답을 생성하는 응답 엔진을 결정하는 모델을 의미할 수 있다.
본 발명에서 '응답 엔진'은 입력 문자열에 대응되는 응답 문자열을 응답으로써 생성하는 엔진을 의미할 수 있다.
본 발명의 일 실시예에 따른 문자열의 의도 분류 시스템은 입력 문자열을 소정의 순서에 따라 하나 이상의 의도 분류 모델에 입력하고(이 때 소정의 순서에 따라 의도 분류 모델이 구성된 것을 의도 분류기라고 함), 특정 의도 분류 모델에서 결정된 응답 엔진을 이용하여 입력 문자열에 대한 응답을 생성할 수 있다.
이와 같은 본 발명의 일 실시예에 따른 문자열의 의도 분류 시스템은 도 1에 도시된 바와 같이 서버(100), 제1 사용자 단말(200), 제2 사용자 단말(300) 및 통신망(400)을 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 사용자 단말(200) 및 제2 사용자 단말(300)은 사용자들이 서버(100)에 의해 제공되는 다양한 서비스를 이용할 수 있도록 사용자들과 서버(100)를 매개하는 다양한 형태의 장치를 의미할 수 있다. 가령 제1 사용자 단말(200)은 시스템의 관리자 단말로써, 의도 분류기를 생성하기 위한 인터페이스를 서버(100)로부터 수신하여 화면에 표시하고, 인터페이스에 대한 사용자의 입력을 획득하여 서버(100)로 전송할 수 있다. 또한 제2 사용자 단말(300)은 서비스 이용자의 단말로써, 자신의 요구사항을 기재한 문자열을 서버(100)로 전송하고, 서버(100)가 의도 분류기를 이용하여 생성한 응답을 수신하여 화면에 표시할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
이와 같은 사용자 단말(200, 300)은 도 1에 도시된 바와 같이 휴대용 단말(201 내지 203, 301 내지 303)을 의미할 수도 있고, 컴퓨터(204, 304)를 의미할 수도 있다.
본 발명의 일 실시예에 따른 사용자 단말(200, 300)은 상술한 기능을 수행하기 위해 콘텐츠 등을 표시하기 위한 표시수단, 이러한 콘텐츠에 대한 사용자의 입력을 획득하기 위한 입력수단을 구비할 수 있다. 이 때 입력수단 및 표시수단은 다양하게 구성될 수 있다. 가령 입력수단은 키보드, 마우스, 트랙볼, 마이크, 버튼, 터치패널 등을 포함할 수 있으나 이에 한정되지 않는다.
도 1에는 제1 사용자 단말(200)과 제2 사용자 단말(300)이 모두 단수개인 것으로 도시되었지만, 이와 같은 수량은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 제1 사용자 단말(200) 및 제2 사용자 단말(300)은 복수일 수도 있다.
본 발명의 일 실시예에 따른 통신망(400)은 시스템의 각 구성 간의 데이터 송수신을 매개하는 통신망을 의미할 수 있다. 가령 통신망(400)은 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 하나 이상의 의도 분류 모델로 구성되는 의도 분류기를 생성하기 위한 인터페이스를 제1 사용자 단말(200)에 제공하여 제1 사용자 단말(200)의 사용자가 의도 분류기를 생성하도록 할 수 있다.
또한 본 발명의 일 실시예에 따른 서버(100)는 생성된 의도 분류기를 이용하여, 제2 사용자 단말(300)로부터 수신된 입력 문자열의 의도를 분류할 수 있다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신부(110), 제어부(120) 및 메모리(130)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서버(100)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다.
통신부(110)는 서버(100)가 사용자 단말(200, 300)과 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
제어부(120)는 프로세서(Processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(Processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(130)는 서버(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(130)는 의도 분류기를 구성하는 하나 이상의 의도 분류 모델의 식별정보 및 사용 순번을 일시적 및/또는 영구적으로 저장할 수 있다.
이하에서는 서버(100)의 제어부(120)의 동작을 중심으로 설명한다.
본 발명의 일 실시예에 따른 제어부(120)는 의도 분류기를 구성하는 하나 이상의 의도 분류 모델의 오더를 결정할 수 있다.
전술한 바와 같이 본 발명에서 '의도 분류기'는 하나 이상의 의도 분류 모델로 구성되는것으로, 입력 문자열의 의도를 분류하기 위한 하나 이상의 의도 분류 모델의 순차적 조합을 의미할 수 있다.
또한 본 발명에서 '의도 분류 모델'은 입력 문자열에 대응되는 응답을 생성하는 응답 엔진을 결정하기 위한 모델을 의미할 수 있다.
또한 본 발명에서 '응답 엔진'은 입력 문자열에 대응되는 응답 문자열을 응답으로써 생성하는 엔진을 의미할 수 있다.
한편 본 발명에서 의도 분류 모델의 '오더'는 의도 분류 모델의 사용 순서 또는 우선순위를 의미할 수 있다. 따라서 오더가 상대적으로 높은 의도 분류 모델은 오더가 상대적으로 낮은 의도 분류 모델보다 입력 문자열의 의도 파악에 먼저 사용될 수 있다.
도 3은 의도 분류 모델의 풀(Pool)(500)과 예시적인 의도 분류 모델의 오더를 도시한 도면이다.
본 발명의 일 실시예에서, 의도 분류 모델의 풀(500)은 도 3에 도시된 바와 같이 다양한 타입의 의도 분류 모델을 포함할 수 있다.
가령 의도 분류 모델은 룰에 기반하여 의도를 분류하는 모델들(510), 형태소 분석에 기반하여 의도를 분류하는 모델들(520), 학습된 인공 신경망을 이용하여 의도를 분류하는 모델들(530) 및 코드에 기반하여 의도를 분류하는 모델들(540)을 포함할 수 있다.
본 발명에서 '룰에 기반하여 의도를 분류하는 모델'은 입력 문자열이 특정 룰(또는 조건)을 만족하는지 여부에 기초하여 해당 입력 문자열의 의도를 분류하는 모델을 의미할 수 있다. 가령 룰에 기반하여 의도를 분류하는 모델은 입력 문자열에 기 정의된 하나 이상의 단어가 포함되어 있는지 여부를 파악하여, 포함된 단어의 종류에 따라 입력 문자열의 의도를 분류할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명에서 '형태소 분석에 기반하여 의도를 분류하는 모델'은 입력 문자열을 형태소 단위로 분할하고, 분할된 입력 문자열이 소정의 룰(또는 조건)을 만족하는지 여부에 기초하여 해당 입력 문자열의 의도를 분류하는 모델을 의미할 수 있다. 전술한 룰에 기반하여 의도를 분류하는 모델과 비교했을 때, 이와 같은 형태소 분석에 기반하여 의도를 분류하는 모델은 입력 문자열을 형태소 단위로 분할한 뒤 소정의 룰을 만족하는지 여부를 판단한다는 점에서 차이가 있다.
본 발명에서 '학습된 인공 신경망을 이용하여 의도를 분류하는 모델'은 학습된 인공 신경망을 이용하여 입력 문자열에 대응되는 의도(예를 들어 응답 엔진의 식별 정보)를 출력하는 모델로써, 때때로 '제1 인공 신경망'으로 지칭하여 설명된다.
본 발명에서 '제1 인공 신경망'은 입력 문자열과 해당 입력 문자열의 응답에 사용되는 엔진의 식별정보를 포함하는 복수의 학습 데이터에 기반하여 학습될 수 있다.
본 발명의 일 실시예에 따른 제1 인공 신경망은 복수의 학습 데이터 각각에 포함되는 입력 문자열과 해당 입력 문자열의 응답에 사용되는 엔진의 식별정보 간의 상관관계를 학습한(또는 학습하는)신경망을 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망은 입력 문자열의 입력에 대응하여, 해당 입력 문자열의 응답을 위한 응답 엔진의 식별 정보를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
한편 본 발명에서 제1 인공 신경망은 다양한 구조의 신경망 모델로써 구현될 수 있다. 가령 제1 인공 신경망은 CNN 모델, RNN 모델 및 LSTM 모델로써 구현될 수 있다. 다만 이와 같은 신경망 모델을 예시적인것으로, 학습 데이터에 기초하여 입력과 출력간의 상관관계를 학습할 수 있는 수단은 본 발명의 제1 인공 신경망(920)으로써 사용될 수 있다.
본 발명에서 '코드에 기반하여 의도를 분류하는 모델'은 입력 문자열에 특정 키워드(또는 코드)가 포함되어있는지 여부에 기초하여 해당 입력 문자열의 의도를 분류하는 모델을 의미할 수 있다. 이와 같이 코드에 기반하여 의도를 분류하는 모델은 전술한 룰에 기반하여 의도를 분류하는 모델과 같은 원리로 입력 문자열의 의도를 분류할 수 있다.
본 명세서에서 때때로 '룰에 기반하여 의도룰 분류하는 모델'은 전술한 모델(즉 룰에 기반하여 의도를 분류하는 모델들(510))만을 지칭하는 것일 수도 있고, 룰에 기반하여 의도룰 분류하는 모델, 형태소 분석에 기반하여 의도를 분류하는 모델 및 코드에 기반하여 의도를 분류하는 모델을 모두 지칭하는 것일 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 의도 분류 모델의 풀(500)로부터 일부 의도 분류 모델을 선별하여 도 3에 도시된 바와 같이 의도 분류 모델의 오더를 결정할 수 있다.
가령 제어부(120)는 룰에 기반하여 의도를 분류하는 모델(511), 형태소 분석에 기반하여 의도를 분류하는 모델(521), 학습된 인공 신경망을 이용하여 의도를 분류하는 모델(531) 그리고 마지막에는 코드에 기반하여 의도를 분류하는 모델(541)순으로 의도 분류기가 구성되도록 할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 다양한 방식으로 의도 분류기를 구성하는 의도 분류 모델들의 오더를 결정할 수 있다.
가령 제어부(120)는 사용자의 입력에 기초하여 의도 분류 모델들의 오더를 결정할 수도 있고, 학습된 인공 신경망(제2 인공 신경망)을 이용하여 의도 분류 모델들의 오더를 결정할 수도 있다. 다만 상술한 두 가지 방식은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 4 내지 도 6은 본 발명의 일 실시예에 따른 제어부(120)가 사용자의 입력에 기초하여 의도 분류 모델들의 순서를 결정하는 과정을 설명하기 위한 도면이다.
도 4는 의도 분류기를 생성하기 위한 인터페이스가 표시된 화면(600)의 예시이다. 이와 같은 화면(600)은 제1 사용자 단말(200)에서 표시되어, 사용자가 의도 분류기를 생성하도록 할 수 있다.
본 발명의 일 실시예에서, 화면(600)은 제1 인터페이스가 표시되는 영역(630), 제2 인터페이스가 표시되는 영역(640), 제3 인터페이스가 표시되는 영역(610) 및 제4 인터페이스가 표시되는 영역(620)을 포함할 수 있다.
본 발명의 일 실시예에서 영역(630)에 표시되는 제1 인터페이스는 하나 이상의 모델 타입을 선택 가능한 형태로 표시하는 인터페이스 일 수 있다. 이와 같은 제1 인터페이스는 의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여 표시될 수 있다.
본 발명의 선택적 실시예에서, 제1 인터페이스는 비활성화 상태로 표시되다가, 의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여 활성화 상태로 표시될 수 있다.
본 발명의 또 다른 선택적 실시예에서, 제1 인터페이스는 제4 인터페이스에서 개별 의도 분류 모델의 타입을 설정하거나 변경하는 사용자의 입력에 대응하여 표시될 수도 있다.
바꾸어 말하면 본 발명의 일 실시예에 따른 제어부(120)는 하나 이상의 의도 분류 모델의 타입을 제1 인터페이스를 통하여 제공할 수 있다. 가령 제어부(120)는 도 4에 도시된 바와 같이 룰에 기반하여 의도를 분류하는 타입(PCRE), 형태소 분석에 기반하여 의도를 분류하는 타입(HMD), 학습된 인공 신경망을 이용하여 의도를 분류하는 타입(DNN) 및 코드에 기반하여 의도를 분류하는 타입(Final Rule)을 선택 가능한 의도 분류 모델의 타입으로써 제공할 수 있다. 다만 이와 같은 타입들은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서 영역(640)에 표시되는 제2 인터페이스는 상술한 제1 인터페이스 대한 사용자의 입력에 따라 선택된 타입에 포함되는 하나 이상의 세부 모델을 선택 가능한 형태로 표시하는 인터페이스 일 수 있다. 이와 같은 제2 인터페이스는 사용자가 제1 인터페이스에 표시된 하나 이상의 타입 중 어느 하나의 타입을 선택함에 따라 표시될 수 있다.
바꾸어 말하면, 본 발명의 일 실시예에 따른 제어부(120)는 도 4에 도시된 바와 같이 사용자의 제1 인터페이스에 대한 입력(예를 들어 학습된 인공 신경망을 이용하여 의도를 분류하는 타입(DNN)을 선택하는 입력)에 따라, 해당 타입에 속하는 의도 분류 모델들을 제2 인터페이스에 선택 가능한 형태로 표시할 수 있다. 다만 도 4의 영역(640)에 도시된 의도 분류 모델들은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서 영역(610)에 표시되는 제3 인터페이스는 의도 분류기를 구성하는 하나 이상의 의도 분류 모델이 표시되는 인터페이스 일 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제2 인터페이스에서 세부 모델을 선택하는 사용자의 입력에 따라 제3 인터페이스에 선택된 모델을 추가할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 도 4에 도시된 바와 같이, 의도 분류기에 포함되는 복수의 의도 분류 모델 각각에 대응되는 객체를 의도 분류 모델의 사용 오더에 따라 나열하여 리스트의 형태로 표시할 수 있다.
또한 제어부(120)는 리스트상에 표시된 객체에 대한 조작에 따라 의도 분류기를 구성하는 의도 분류 모델의 오더를 변경할 수도 있다. 이에 대한 상세한 설명은 도 5 및 도 6을 참조하여 후술한다.
본 발명의 일 실시예에서 영역(620)에 표시되는 제4 인터페이스는 선택된 세부 모델에 대한 하나 이상의 속성값을 변경하기 위한 인터페이스 일 수 있다.
본 발명의 선택적 실시예에서, 제4 인터페이스는 의도 분류기의 타입을 변경하기 위한 항목(621)을 포함할 수 있다. 본 발명의 선택적 실시예에 따른 제어부(120)는 항목(621)에 대한 사용자의 입력에 따라, 전술한 제1 인터페이스 및/또는 제2 인터페이스를 표시하거나, 각 인터페이스의 활성화 상태를 변경할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
한편 선택된 세부 모델이 기 정의된 복수의 룰에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우, 제4 인터페이스는 입력 문자열이 기 정의된 복수의 룰 중 어느 하나의 룰에도 해당하지 않을 경우의 의도 분류기의 동작을 설정하기 위한 항목을 포함할 수 있다.
바꾸어말하면, 본 발명의 일 실시예에 따른 제어부(120)는 제4 인터페이스를 통하여 입력 문자열이 기 정의된 복수의 룰 중 어느 하나의 룰에 해당하지 않는 경우의 입력 문자열의 처리 방법을 입력 받을 수 있다.
이때 '룰에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델'은 광의의 의미로 사용된 것으로, 룰에 기반하여 의도룰 분류하는 모델, 형태소 분석에 기반하여 의도를 분류하는 모델 및 코드에 기반하여 의도를 분류하는 모델을 모두 포괄하는 개념으로 사용되었다.
또한 선택된 세부 모델이 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우, 제4 인터페이스는 세부 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 항목(622)을 포함할 수 있다.
바꾸어말하면, 의도 분류 모델이 인공 신경망인 경우 본 발명의 일 실시예에 따른 제어부(120)는 제4 인터페이스를 통하여 해당 모델의 출력 결과의 사용 여부를 판단하는데 사용되는 확률 값을 입력받을 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 영역(610)의 리스트상에 표시된 객체에 대한 조작에 따라 의도 분류기를 구성하는 의도 분류 모델의 오더를 변경할 수 있다.
도 5 및 도 6은 영역(700A, 700B)에 대한 사용자의 조작에 따라 의도 분류기의 오더를 변경하는 과정을 설명하기 위한 도면이다.
설명의 편의를 위해, 의도 분류기의 최초 오더가 도 5에 도시된 객체(710, 720, 730)의 순서와 같음을 전제로 설명한다.
상술한 가정 하에, 본 발명의 일 실시예에 따른 제어부(120)는 리스트 상의 객체에 대한 사용자의 위치 이동 입력에 따라 객체들의 상대적 위치 관계를 변경할 수 있다.
가령 제어부(120)는 객체(730)를 리스트의 가장 상단으로 이동시키는 조작 및 객체(710)를 리스트의 가장 하단으로 이동시키는 조작을 입력 받을 수 있다. 이러한 경우 제어부(120)는 도 6에 도시된 바와 같이 객체(730, 710)의 순서를 변경하여 표시할 수 있다.
또한 제어부(120)는 각 객체(730, 710)에 대응되는 의도 분류 모델의 오더를 객체(730, 710)의 변경된 순서에 따라 변경할 수 있다. 도 6의 경우 객체(730)에 대응되는 의도 분류 모델의 오더를 3에서 1로, 객체(710)에 대응되는 의도 분류 모델의 오더를 1에서 3으로 변경할 수 있다.
본 발명의 선택적 실시예에서, 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진에 대응되는 객체(710)는 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 입력 상자(711)를 더 포함할 수 있다. 물론 이와 같은 입력 상자(711)는 객체(710)의 이동에 따라 함께 이동할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 학습된 제2 인공 신경망을 이용하여 의도 분류 모델들의 순서를 결정할 수 있다. 가령 본 발명의 일 실시예에 따른 제어부(120)는 인터페이스(740)에 대한 사용자의 입력에 따라, 학습된 제2 인공 신경망을 이용하여 의도 분류 모델들의 순서를 결정할 수 있다.
도 7은 본 발명의 일 실시예에 따른 제어부(120)가 제2 인공 신경망(920)을 학습하는 과정을 설명하기 위한 도면이다.
본 발명에서 제2 인공 신경망(920)은 입력 문자열과 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더를 포함하는 복수의 학습 데이터(910)에 기반하여 학습될 수 있다.
본 발명의 일 실시예에 따른 제2 인공 신경망(920)은 복수의 학습 데이터(910) 각각에 포함되는 입력 문자열과 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더 간의 상관관계를 학습한(또는 학습하는)신경망을 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제2 인공 신경망(920)은 입력 문자열의 입력에 대응하여, 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
한편 본 발명에서 제2 인공 신경망(920)은 다양한 구조의 신경망 모델로써 구현될 수 있다. 가령 제2 인공 신경망(920)은 CNN 모델, RNN 모델 및 LSTM 모델로써 구현될 수 있다. 다만 이와 같은 신경망 모델을 예시적인것으로, 학습 데이터에 기초하여 입력과 출력간의 상관관계를 학습할 수 있는 수단은 본 발명의 제2 인공 신경망(920)으로써 사용될 수 있다.
첫 번째 학습 데이터(911)는 입력 문자열(911A)과 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더(911B)를 포함할 수 있다. 두 번째 학습 데이터(912) 및 세 번째 학습 데이터(913)도 첫 번째 학습 데이터(911)와 마찬가지의 항목들을 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따른 제어부(120)가 학습된 제2 인공 신경망(920)을 이용하여 의도 분류 모델의 순서를 결정하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(120)는 도 7에서 설명한 과정에 따라 학습된 제2 인공 신경망(920)을 이용하여, 입력 문자열(930)로부터 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더(940)를 결정할 수 있다. 가령 제2 인공 신경망(920)은 '병무청 챗봇에 대해서 알려줘'와 같은 입력 문자열의 입력에 따라 [HMD_Model_1, NN_Model_3, Final_Model_2]와 같이 오더를 결정할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 제어부(120)는 제2 인공 신경망(920)에 의해 결정된 오더에 따라 영역(700B)에 표시된 리스트 상의 복수의 의도 분류 모델 각각에 대응되는 객체를 정렬하여 표시할 수 있다. 이때 제어부(120)는 제2 인공 신경망(920)에 의해 결정된 오더에 포함되는 의도 분류 모델들의 식별 정보를 참조하여, 리스트 상의 객체를 추가하거나 또는 삭제할 수도 있다.
이하에서는 도 3 내지 도 8에서 설명한 과정에 따라 의도 분류 모델들의 오더가 결정되었음을 전제로, 입력 문자열의 의도에 대응되는 응답 엔진을 결정하는 과정을 설명한다.
전술한 바와 같이 본 발명에서 '응답 엔진'은 입력 문자열에 대응되는 응답 문자열을 응답으로써 생성하는 엔진을 의미하는 것으로, '의도 분류 모델'에 의해 결정되는 것 일 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 오더에 따라 하나 이상의 의도 분류 모델을 순차적으로 사용하여 입력 문자열의 의도에 대응되는 응답 엔진을 결정할 수 있다.
도 9는 본 발명의 일 실시예에 따른 제어부(120)가 입력 문자열에 대응되는 응답 엔진을 결정하는 과정을 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위해 HMD_Model_1을 제1 의도 분류 모델로 명명하여 설명하고, SC_Model_3을 제2 의도 분류 모델로 명명하여 설명하며, 제1 의도 분류 모델이 제2 의도 분류 모델보다 선행하는 오더를 갖는 것을 전제로 설명한다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델의 응답(Output_Resp)이 소정의 제1 조건을 만족한 경우, 제1 의도 분류 모델로부터 결정된 응답 엔진(Resp_Engine_N)을 입력 문자열(Input_String)의 의도에 대응되는 응답 엔진으로 결정할 수 있다.
바꾸어 말하면 제어부(120)는 제1 의도 분류 모델의 응답(Output_Resp)이 소정의 제1 조건을 만족할 경우 제1 의도 분류 모델을 이용하여 입력 문자열(Input_String)에 대한 응답을 생성하는 응답 엔진을 결정할 수 있다.
가령 본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델이 기 정의된 복수의 룰에 기반하여 입력 문자열(Input_String)에 대한 응답 엔진을 결정하는 모델인 경우, 복수의 룰 중 어느 하나의 룰이 만족될 경우 제1 조건을 만족한 것으로 판단할 수 있다. 이러한 경우 제어부(120)는 만족된 룰에 대응되는 응답 엔진(Resp_Engine_N)을 입력 문자열(Input_String)의 의도에 대응되는 응답 엔진으로 결정할 수 있다.
한편 본 발명의 일 실시예에 따른 제어부(120)는 복수의 룰 중 어느 하나의 룰도 만족되지 않는 경우, 제1 조건을 만족하지 않는 것으로 판단할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델이 학습된 제1 인공 신경망에 기반하여 입력 문자열(Input_String)에 대한 응답 엔진을 결정하는 모델인 경우, 제1 인공 신경망에 기반하여 결정된 응답 엔진이 정답일 확률이 소정의 임계 확률 이상일 때 제1 조건을 만족한 것으로 판단할 수 있다.
물론 제어부(120)는 응답 엔진이 정답일 확률이 소정의 임계 확률 미만일 경우, 제1 조건을 만족하지 않는 것으로 판단할 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델의 응답이 소정의 제1 조건을 만족한 경우, 제1 의도 분류 모델로부터 결정된 응답 엔진(Resp_Engine_N)의 입력 데이터 형식에 따라 입력 문자열(Input_String)을 변환하여 변환 문자열(Trans_Input)을 생성할 수 있다.
또한 제어부(120)는 변환 문자열(Trans_Input)을 응답 엔진(Resp_Engine_N)에 입력 할 수 있다. 이때 본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델로부터 결정된 응답 엔진(Resp_Engine_N)과 대응되는 변환 엔진(Trans_Engine_N)을 사용하여 입력 문자열(Input_String)로부터 변환 문자열(Trans_Input)을 생성할 수 있다.
본 발명의 선택적 실시예에서, 제어부(120)는 입력 문자열(Input_String)을 변환 없이 응답 엔진(Resp_Engine_N)으로 입력할 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 상술한 과정에 따라 결정된 응답 엔진(Resp_Engine_N)을 이용하여 입력 문자열(Input_String)에 대한 응답을 생성할 수 있다.
도 10 및 도 11은 본 발명의 일 실시예에 따른 의도 분류기가 사용된 경우의 대화 화면(810, 820)을 도시한 도면이다. 이와 같은 화면(810, 820)은 제2 사용자 단말(300)에서 표시되어, 사용자가 자신의 입력 메시지에 따른 응답을 얻도록 할 수 있다.
도 10은 의도 분류기를 구성하는 의도 분류 모델 중 룰에 기반하여 의도를 분류하는 모델이 사용된 경우의 대화 화면(810)을 도시한 도면이다.
전술한 바와 같이 본 발명의 일 실시예에 다른 제어부(120)는 의도 분류기의 오더에 따라 하나 이상의 의도 분류 모델을 이용하여 제2 사용자 단말(300)로부터 수신된 입력 문자열(811)의 의도를 분류할 수 있다.
가령 도 10에 도시된 상황에서, 입력 문자열(811)이 '민원 서류'를 포함할 때의 룰을 만족하는 경우, 본 발명의 일 실시예에 따른 제어부(120)는 해당 규칙에 대응되는 응답 엔진을 이용하여 입력 문자열(811)에 대한 응답 문자열(812)을 생성할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 매 입력 문자열 마다 오더에 따른 하나 이상의 의도 분류 모델을 순차적으로 사용하여 입력 문자열의 의도에 대응되는 응답 엔진을 결정할 수 있다. 가령 제2 사용자 단말(300)로부터 수신된 두 번째 입력 문자열(813)에 대해서 오더에 따른 하나 이상의 의도 분류 모델을 순차적으로 사용하여 입력 문자열(813)의 의도에 대응되는 응답 엔진을 결정할 수 있다.
또한 제어부(120)는 이전 입력 문자열의 응답 엔진과 동일한 응답 엔진을 현재 입력 문자열의 응답 엔진으로 사용할 수도 있다. 가령 제어부(120)는 새로운 입력 문자열(813)에 대해서, 이전 입력 문자열(811)의 응답 엔진과 동일한 응답 엔진을 응답 엔진으로 사용하여 응답 문자열(814)을 생성할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 11은 의도 분류기를 구성하는 의도 분류 모델 중 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델이 사용된 경우의 대화 화면(820)을 도시한 도면이다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 인공 신경망에 제2 사용자 단말(300)로부터 수신된 입력 문자열(821)을 입력하여 입력 문자열(821)에 대응되는 응답 엔진을 결정할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 결정된 응답 엔진의 응답 문자열(822)을 제2 사용자 단말(300)로 전송할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 전술한 바와 같이 매 입력 문자열 마다 오더른 의도 분류 모델을 순차적으로 이용할 수도 있고, 이전 입력 문자열의 응답 엔진과 동일한 응답 엔진을 이용할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 12는 본 발명의 일 실시예에 따른 제어부(120)에 의해 수행되는 문자열의 의도 분류 방법을 설명하기 위한 흐름도이다. 도 13은 본 발명의 일 실시예에 따른 의도 분류기 생성 인터페이스 제공 방법을 설명하기 위한 흐름도이다.
이하에서는 도 1 내지 도 13을 함께 참조하여 설명하되, 도 1 내지 도 11에서 설명한 내용과 중복되는 내용은 생략한다.
본 발명의 일 실시예에 따른 제어부(120)는 입력 문자열을 획득할 수 있다.(S1210) 이때 입력 문자열은 응답의 생성의 대상이 되는 문자일 수 있다.
가령 본 발명의 일 실시예에 따른 제어부(120)는 제2 사용자 단말(300)로부터 수신하는 방식으로 입력 문자열을 획득할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 제어부(120)는 의도 분류기를 구성하는 하나 이상의 의도 분류 모델의 오더를 결정할 수 있다.(S1220)
전술한 바와 같이 본 발명에서 '의도 분류기'는 하나 이상의 의도 분류 모델로 구성되는것으로, 입력 문자열의 의도를 분류하기 위한 하나 이상의 의도 분류 모델의 순차적 조합을 의미할 수 있다.
또한 본 발명에서 '의도 분류 모델'은 입력 문자열에 대응되는 응답을 생성하는 응답 엔진을 결정하기 위한 모델을 의미할 수 있다.
또한 본 발명에서 '응답 엔진'은 입력 문자열에 대응되는 응답 문자열을 응답으로써 생성하는 엔진을 의미할 수 있다.
한편 본 발명에서 의도 분류 모델의 '오더'는 의도 분류 모델의 사용 순서 또는 우선순위를 의미할 수 있다. 따라서 오더가 상대적으로 높은 의도 분류 모델은 오더가 상대적으로 낮은 의도 분류 모델보다 입력 문자열의 의도 파악에 먼저 사용될 수 있다.
도 3은 의도 분류 모델의 풀(Pool)(500)과 예시적인 의도 분류 모델의 오더를 도시한 도면이다.
본 발명의 일 실시예에서, 의도 분류 모델의 풀(500)은 도 3에 도시된 바와 같이 다양한 타입의 의도 분류 모델을 포함할 수 있다.
가령 의도 분류 모델은 룰에 기반하여 의도를 분류하는 모델들(510), 형태소 분석에 기반하여 의도를 분류하는 모델들(520), 학습된 인공 신경망을 이용하여 의도를 분류하는 모델들(530) 및 코드에 기반하여 의도를 분류하는 모델들(540)을 포함할 수 있다.
본 발명에서 '룰에 기반하여 의도를 분류하는 모델'은 입력 문자열이 특정 룰(또는 조건)을 만족하는지 여부에 기초하여 해당 입력 문자열의 의도를 분류하는 모델을 의미할 수 있다. 가령 룰에 기반하여 의도를 분류하는 모델은 입력 문자열에 기 정의된 하나 이상의 단어가 포함되어 있는지 여부를 파악하여, 포함된 단어의 종류에 따라 입력 문자열의 의도를 분류할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명에서 '형태소 분석에 기반하여 의도를 분류하는 모델'은 입력 문자열을 형태소 단위로 분할하고, 분할된 입력 문자열이 소정의 룰(또는 조건)을 만족하는지 여부에 기초하여 해당 입력 문자열의 의도를 분류하는 모델을 의미할 수 있다. 전술한 룰에 기반하여 의도를 분류하는 모델과 비교했을 때, 이와 같은 형태소 분석에 기반하여 의도를 분류하는 모델은 입력 문자열을 형태소 단위로 분할한 뒤 소정의 룰을 만족하는지 여부를 판단한다는 점에서 차이가 있다.
본 발명에서 '학습된 인공 신경망을 이용하여 의도를 분류하는 모델'은 학습된 인공 신경망을 이용하여 입력 문자열에 대응되는 의도(예를 들어 응답 엔진의 식별 정보)를 출력하는 모델로써, 때때로 '제1 인공 신경망'으로 지칭하여 설명된다.
본 발명에서 '제1 인공 신경망'은 입력 문자열과 해당 입력 문자열의 응답에 사용되는 엔진의 식별정보를 포함하는 복수의 학습 데이터에 기반하여 학습될 수 있다.
본 발명의 일 실시예에 따른 제1 인공 신경망은 복수의 학습 데이터 각각에 포함되는 입력 문자열과 해당 입력 문자열의 응답에 사용되는 엔진의 식별정보 간의 상관관계를 학습한(또는 학습하는)신경망을 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망은 입력 문자열의 입력에 대응하여, 해당 입력 문자열의 응답을 위한 응답 엔진의 식별 정보를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
한편 본 발명에서 제1 인공 신경망은 다양한 구조의 신경망 모델로써 구현될 수 있다. 가령 제1 인공 신경망은 CNN 모델, RNN 모델 및 LSTM 모델로써 구현될 수 있다. 다만 이와 같은 신경망 모델을 예시적인것으로, 학습 데이터에 기초하여 입력과 출력간의 상관관계를 학습할 수 있는 수단은 본 발명의 제1 인공 신경망(920)으로써 사용될 수 있다.
본 발명에서 '코드에 기반하여 의도를 분류하는 모델'은 입력 문자열에 특정 키워드(또는 코드)가 포함되어있는지 여부에 기초하여 해당 입력 문자열의 의도를 분류하는 모델을 의미할 수 있다. 이와 같이 코드에 기반하여 의도를 분류하는 모델은 전술한 룰에 기반하여 의도를 분류하는 모델과 같은 원리로 입력 문자열의 의도를 분류할 수 있다.
본 명세서에서 때때로 '룰에 기반하여 의도룰 분류하는 모델'은 전술한 모델(즉 룰에 기반하여 의도를 분류하는 모델들(510))만을 지칭하는 것일 수도 있고, 룰에 기반하여 의도룰 분류하는 모델, 형태소 분석에 기반하여 의도를 분류하는 모델 및 코드에 기반하여 의도를 분류하는 모델을 모두 지칭하는 것일 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 의도 분류 모델의 풀(500)로부터 일부 의도 분류 모델을 선별하여 도 3에 도시된 바와 같이 의도 분류 모델의 오더를 결정할 수 있다.
가령 제어부(120)는 룰에 기반하여 의도를 분류하는 모델(511), 형태소 분석에 기반하여 의도를 분류하는 모델(521), 학습된 인공 신경망을 이용하여 의도를 분류하는 모델(531) 그리고 마지막에는 코드에 기반하여 의도를 분류하는 모델(541)순으로 의도 분류기가 구성되도록 할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 다양한 방식으로 의도 분류기를 구성하는 의도 분류 모델들의 오더를 결정할 수 있다.
가령 제어부(120)는 사용자의 입력에 기초하여 의도 분류 모델들의 오더를 결정할 수도 있고, 학습된 인공 신경망(제2 인공 신경망)을 이용하여 의도 분류 모델들의 오더를 결정할 수도 있다. 다만 상술한 두 가지 방식은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 4 내지 도 6은 본 발명의 일 실시예에 따른 제어부(120)가 사용자의 입력에 기초하여 의도 분류 모델들의 순서를 결정하는 과정을 설명하기 위한 도면이다. 이하에서는 도 13을 참조하여 설명한다.
도 4는 의도 분류기를 생성하기 위한 인터페이스가 표시된 화면(600)의 예시이다. 이와 같은 화면(600)은 제1 사용자 단말(200)에서 표시되어, 사용자가 의도 분류기를 생성하도록 할 수 있다.
본 발명의 일 실시예에서, 화면(600)은 제1 인터페이스가 표시되는 영역(630), 제2 인터페이스가 표시되는 영역(640), 제3 인터페이스가 표시되는 영역(610) 및 제4 인터페이스가 표시되는 영역(620)을 포함할 수 있다.
본 발명의 일 실시예에서 영역(630)에 표시되는 제1 인터페이스는 하나 이상의 모델 타입을 선택 가능한 형태로 표시하는 인터페이스 일 수 있다. 이와 같은 제1 인터페이스는 의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여 표시될 수 있다.
본 발명의 선택적 실시예에서, 제1 인터페이스는 비활성화 상태로 표시되다가, 의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여 활성화 상태로 표시될 수 있다.
본 발명의 또 다른 선택적 실시예에서, 제1 인터페이스는 제4 인터페이스에서 개별 의도 분류 모델의 타입을 설정하거나 변경하는 사용자의 입력에 대응하여 표시될 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 하나 이상의 의도 분류 모델의 타입을 선택 가능한 형태로 표시하는 제1 인터페이스를 제공할 수 있다.(S1310) 가령 제어부(120)는 도 4에 도시된 바와 같이 룰에 기반하여 의도를 분류하는 타입(PCRE), 형태소 분석에 기반하여 의도를 분류하는 타입(HMD), 학습된 인공 신경망을 이용하여 의도를 분류하는 타입(DNN) 및 코드에 기반하여 의도를 분류하는 타입(Final Rule)을 선택 가능한 의도 분류 모델의 타입으로써 제공할 수 있다. 다만 이와 같은 타입들은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서 영역(640)에 표시되는 제2 인터페이스는 상술한 제1 인터페이스 대한 사용자의 입력에 따라 선택된 타입에 포함되는 하나 이상의 세부 모델을 선택 가능한 형태로 표시하는 인터페이스 일 수 있다. 이와 같은 제2 인터페이스는 사용자가 제1 인터페이스에 표시된 하나 이상의 타입 중 어느 하나의 타입을 선택함에 따라 표시될 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 도 4에 도시된 바와 같이 사용자의 제1 인터페이스에 대한 입력(예를 들어 학습된 인공 신경망을 이용하여 의도를 분류하는 타입(DNN)을 선택하는 입력)에 따라, 해당 타입에 속하는 의도 분류 모델들을 제2 인터페이스에 선택 가능한 형태로 표시하여 제2 인터페이스를 제공할 수 있다.(S1320) 다만 도 4의 영역(640)에 도시된 의도 분류 모델들은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서 영역(610)에 표시되는 제3 인터페이스는 의도 분류기를 구성하는 하나 이상의 의도 분류 모델이 표시되는 인터페이스 일 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제2 인터페이스에서 세부 모델을 선택하는 사용자의 입력에 따라 제3 인터페이스에 선택된 모델을 추가하여 제3 인터페이스를 제공할 수 있다. (S1330)
본 발명의 일 실시예에 따른 제어부(120)는 도 4에 도시된 바와 같이, 의도 분류기에 포함되는 복수의 의도 분류 모델 각각에 대응되는 객체를 의도 분류 모델의 사용 오더에 따라 나열하여 리스트의 형태로 표시할 수 있다.
또한 제어부(120)는 리스트상에 표시된 객체에 대한 조작에 따라 의도 분류기를 구성하는 의도 분류 모델의 오더를 변경할 수도 있다. 이에 대한 상세한 설명은 도 5 및 도 6을 참조하여 후술한다.
본 발명의 일 실시예에서 영역(620)에 표시되는 제4 인터페이스는 선택된 세부 모델에 대한 하나 이상의 속성값을 변경하기 위한 인터페이스 일 수 있다.
본 발명의 선택적 실시예에서, 제4 인터페이스는 의도 분류기의 타입을 변경하기 위한 항목(621)을 포함할 수 있다. 본 발명의 선택적 실시예에 따른 제어부(120)는 항목(621)에 대한 사용자의 입력에 따라, 전술한 제1 인터페이스 및/또는 제2 인터페이스를 표시하거나, 각 인터페이스의 활성화 상태를 변경할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
한편 선택된 세부 모델이 기 정의된 복수의 룰에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우, 제4 인터페이스는 입력 문자열이 기 정의된 복수의 룰 중 어느 하나의 룰에도 해당하지 않을 경우의 의도 분류기의 동작을 설정하기 위한 항목을 포함할 수 있다.
바꾸어말하면, 본 발명의 일 실시예에 따른 제어부(120)는 제4 인터페이스를 통하여 입력 문자열이 기 정의된 복수의 룰 중 어느 하나의 룰에 해당하지 않는 경우의 입력 문자열의 처리 방법을 입력 받을 수 있다.
이때 '룰에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델'은 광의의 의미로 사용된 것으로, 룰에 기반하여 의도룰 분류하는 모델, 형태소 분석에 기반하여 의도를 분류하는 모델 및 코드에 기반하여 의도를 분류하는 모델을 모두 포괄하는 개념으로 사용되었다.
또한 선택된 세부 모델이 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우, 제4 인터페이스는 세부 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 항목(622)을 포함할 수 있다.
바꾸어말하면, 의도 분류 모델이 인공 신경망인 경우 본 발명의 일 실시예에 따른 제어부(120)는 제4 인터페이스를 통하여 해당 모델의 출력 결과의 사용 여부를 판단하는데 사용되는 확률 값을 입력받을 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 영역(610)의 리스트상에 표시된 객체에 대한 조작에 따라 의도 분류기를 구성하는 의도 분류 모델의 오더를 변경할 수 있다.
도 5 및 도 6은 영역(700A, 700B)에 대한 사용자의 조작에 따라 의도 분류기의 오더를 변경하는 과정을 설명하기 위한 도면이다.
설명의 편의를 위해, 의도 분류기의 최초 오더가 도 5에 도시된 객체(710, 720, 730)의 순서와 같음을 전제로 설명한다.
상술한 가정 하에, 본 발명의 일 실시예에 따른 제어부(120)는 리스트 상의 객체에 대한 사용자의 위치 이동 입력에 따라 제3 인터페이스에 표시되는 객체의 표시를 갱신하여 제공할 수 있다. (S1340)
가령 제어부(120)는 객체(730)를 리스트의 가장 상단으로 이동시키는 조작 및 객체(710)를 리스트의 가장 하단으로 이동시키는 조작을 입력 받을 수 있다. 이러한 경우 제어부(120)는 도 6에 도시된 바와 같이 객체(730, 710)의 순서를 변경하여 표시할 수 있다.
또한 제어부(120)는 각 객체(730, 710)에 대응되는 의도 분류 모델의 오더를 객체(730, 710)의 변경된 순서에 따라 변경할 수 있다. 도 6의 경우 객체(730)에 대응되는 의도 분류 모델의 오더를 3에서 1로, 객체(710)에 대응되는 의도 분류 모델의 오더를 1에서 3으로 변경할 수 있다.
본 발명의 선택적 실시예에서, 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진에 대응되는 객체(710)는 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 입력 상자(711)를 더 포함할 수 있다. 물론 이와 같은 입력 상자(711)는 객체(710)의 이동에 따라 함께 이동할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 학습된 제2 인공 신경망을 이용하여 의도 분류 모델들의 순서를 결정할 수 있다. 가령 본 발명의 일 실시예에 따른 제어부(120)는 인터페이스(740)에 대한 사용자의 입력에 따라, 학습된 제2 인공 신경망을 이용하여 의도 분류 모델들의 순서를 결정할 수 있다.
도 7은 본 발명의 일 실시예에 따른 제어부(120)가 제2 인공 신경망(920)을 학습하는 과정을 설명하기 위한 도면이다.
본 발명에서 제2 인공 신경망(920)은 입력 문자열과 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더를 포함하는 복수의 학습 데이터(910)에 기반하여 학습될 수 있다.
본 발명의 일 실시예에 따른 제2 인공 신경망(920)은 복수의 학습 데이터(910) 각각에 포함되는 입력 문자열과 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더 간의 상관관계를 학습한(또는 학습하는)신경망을 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제2 인공 신경망(920)은 입력 문자열의 입력에 대응하여, 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
한편 본 발명에서 제2 인공 신경망(920)은 다양한 구조의 신경망 모델로써 구현될 수 있다. 가령 제2 인공 신경망(920)은 CNN 모델, RNN 모델 및 LSTM 모델로써 구현될 수 있다. 다만 이와 같은 신경망 모델을 예시적인것으로, 학습 데이터에 기초하여 입력과 출력간의 상관관계를 학습할 수 있는 수단은 본 발명의 제2 인공 신경망(920)으로써 사용될 수 있다.
첫 번째 학습 데이터(911)는 입력 문자열(911A)과 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더(911B)를 포함할 수 있다. 두 번째 학습 데이터(912) 및 세 번째 학습 데이터(913)도 첫 번째 학습 데이터(911)와 마찬가지의 항목들을 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따른 제어부(120)가 학습된 제2 인공 신경망(920)을 이용하여 의도 분류 모델의 순서를 결정하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제어부(120)는 도 7에서 설명한 과정에 따라 학습된 제2 인공 신경망(920)을 이용하여, 입력 문자열(930)로부터 해당 입력 문자열의 의도 분류를 위한 하나 이상의 의도 분류 모델들의 오더(940)를 결정할 수 있다. 가령 제2 인공 신경망(920)은 '병무청 챗봇에 대해서 알려줘'와 같은 입력 문자열의 입력에 따라 [HMD_Model_1, NN_Model_3, Final_Model_2]와 같이 오더를 결정할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 제어부(120)는 제2 인공 신경망(920)에 의해 결정된 오더에 따라 영역(700B)에 표시된 리스트 상의 복수의 의도 분류 모델 각각에 대응되는 객체를 정렬하여 표시할 수 있다. 이때 제어부(120)는 제2 인공 신경망(920)에 의해 결정된 오더에 포함되는 의도 분류 모델들의 식별 정보를 참조하여, 리스트 상의 객체를 추가하거나 또는 삭제할 수도 있다.
이하에서는 도 3 내지 도 8에서 설명한 과정에 따라 의도 분류 모델들의 오더가 결정되었음을 전제로, 입력 문자열의 의도에 대응되는 응답 엔진을 결정하는 과정을 설명한다.
전술한 바와 같이 본 발명에서 '응답 엔진'은 입력 문자열에 대응되는 응답 문자열을 응답으로써 생성하는 엔진을 의미하는 것으로, '의도 분류 모델'에 의해 결정되는 것 일 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 오더에 따라 하나 이상의 의도 분류 모델을 순차적으로 사용하여 입력 문자열의 의도에 대응되는 응답 엔진을 결정할 수 있다.(S1230)
도 9는 본 발명의 일 실시예에 따른 제어부(120)가 입력 문자열에 대응되는 응답 엔진을 결정하는 과정을 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위해 HMD_Model_1을 제1 의도 분류 모델로 명명하여 설명하고, SC_Model_3을 제2 의도 분류 모델로 명명하여 설명하며, 제1 의도 분류 모델이 제2 의도 분류 모델보다 선행하는 오더를 갖는 것을 전제로 설명한다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델의 응답(Output_Resp)이 소정의 제1 조건을 만족한 경우, 제1 의도 분류 모델로부터 결정된 응답 엔진(Resp_Engine_N)을 입력 문자열(Input_String)의 의도에 대응되는 응답 엔진으로 결정할 수 있다.
바꾸어 말하면 제어부(120)는 제1 의도 분류 모델의 응답(Output_Resp)이 소정의 제1 조건을 만족할 경우 제1 의도 분류 모델을 이용하여 입력 문자열(Input_String)에 대한 응답을 생성하는 응답 엔진을 결정할 수 있다.
가령 본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델이 기 정의된 복수의 룰에 기반하여 입력 문자열(Input_String)에 대한 응답 엔진을 결정하는 모델인 경우, 복수의 룰 중 어느 하나의 룰이 만족될 경우 제1 조건을 만족한 것으로 판단할 수 있다. 이러한 경우 제어부(120)는 만족된 룰에 대응되는 응답 엔진(Resp_Engine_N)을 입력 문자열(Input_String)의 의도에 대응되는 응답 엔진으로 결정할 수 있다.
한편 본 발명의 일 실시예에 따른 제어부(120)는 복수의 룰 중 어느 하나의 룰도 만족되지 않는 경우, 제1 조건을 만족하지 않는 것으로 판단할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델이 학습된 제1 인공 신경망에 기반하여 입력 문자열(Input_String)에 대한 응답 엔진을 결정하는 모델인 경우, 제1 인공 신경망에 기반하여 결정된 응답 엔진이 정답일 확률이 소정의 임계 확률 이상일 때 제1 조건을 만족한 것으로 판단할 수 있다.
물론 제어부(120)는 응답 엔진이 정답일 확률이 소정의 임계 확률 미만일 경우, 제1 조건을 만족하지 않는 것으로 판단할 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델의 응답이 소정의 제1 조건을 만족한 경우, 제1 의도 분류 모델로부터 결정된 응답 엔진(Resp_Engine_N)의 입력 데이터 형식에 따라 입력 문자열(Input_String)을 변환하여 변환 문자열(Trans_Input)을 생성할 수 있다.
또한 제어부(120)는 변환 문자열(Trans_Input)을 응답 엔진(Resp_Engine_N)에 입력 할 수 있다. 이때 본 발명의 일 실시예에 따른 제어부(120)는 제1 의도 분류 모델로부터 결정된 응답 엔진(Resp_Engine_N)과 대응되는 변환 엔진(Trans_Engine_N)을 사용하여 입력 문자열(Input_String)로부터 변환 문자열(Trans_Input)을 생성할 수 있다.
본 발명의 선택적 실시예에서, 제어부(120)는 입력 문자열(Input_String)을 변환 없이 응답 엔진(Resp_Engine_N)으로 입력할 수도 있다.
본 발명의 일 실시예에 따른 제어부(120)는 상술한 과정에 따라 결정된 응답 엔진(Resp_Engine_N)을 이용하여 입력 문자열(Input_String)에 대한 응답을 생성할 수 있다.(S1240)
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 서버
110: 통신부
120: 제어부
130: 메모리
200: 제1 사용자 단말
300: 제2 사용자 단말
400: 통신망

Claims (9)

  1. 서버가 복수의 의도 분류 모델로 구성되는 의도 분류기를 생성하기 위한 인터페이스를 제공하는 방법에 있어서,
    의도 분류기에 의도 분류 모델을 추가하는 사용자의 입력에 대응하여, 하나 이상의 모델 타입을 선택 가능한 형태로 표시하는 제1 인터페이스를 제공하는 단계;
    상기 제1 인터페이스 대한 상기 사용자의 입력에 따라 선택된 타입에 포함되는 하나 이상의 세부 모델을 선택 가능한 형태로 표시하는 제2 인터페이스를 제공하는 단계; 및
    상기 제2 인터페이스에 대한 상기 사용자의 입력에 따라 선택된 세부 모델이 추가된 제3 인터페이스를 제공하는 단계로써, 상기 제3 인터페이스에는 상기 의도 분류기를 구성하는 복수의 의도 분류 모델이 응답 엔진을 결정함에 있어서 사용되는 순서에 따라 표시되는;를 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  2. 청구항 1에 있어서
    상기 의도 분류기 생성 인터페이스 제공 방법은
    상기 제2 인터페이스를 제공하는 단계 이후에,
    상기 선택된 세부 모델에 대한 하나 이상의 속성값을 변경하기 위한 제4 인터페이스를 제공하는 단계;를 더 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  3. 청구항 2에 있어서
    상기 선택된 세부 모델이
    기 정의된 복수의 룰(Rule)에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우,
    상기 제4 인터페이스는
    상기 입력 문자열이 상기 복수의 룰 중 어느 하나의 룰에도 해당하지 않을 경우의 상기 의도 분류기의 동작을 설정하기 위한 항목을 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  4. 청구항 2에 있어서
    상기 선택된 세부 모델이
    학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델인 경우,
    상기 제4 인터페이스는
    상기 세부 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 항목을 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  5. 청구항 1에 있어서
    상기 제3 인터페이스는
    상기 의도 분류기에 포함되는 복수의 의도 분류 모델 각각에 대응되는 객체를 상기 복수의 의도 분류 모델의 사용 오더에 따라 나열한 리스트를 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  6. 청구항 5에 있어서
    상기 리스트는 제1 의도 분류 모델에 대응되는 객체, 상기 제1 의도 분류 모델에 후행하는 제2 의도 분류 모델에 대응되는 객체 및 상기 제2 의도 분류 모델에 후행하는 제3 의도 분류 모델에 대응되는 객체를 포함하고,
    상기 의도 분류기 생성 인터페이스 제공 방법은
    상기 제3 인터페이스를 제공하는 단계 이후에
    상기 리스트 상에서 상기 제3 의도 분류 모델에 대응되는 객체에 대한 사용자의 위치 이동 입력에 따라 상기 제1 의도 분류 모델에 대응되는 객체, 상기 제2 의도 분류 모델에 대응되는 객체 및 상기 제3 의도 분류 모델에 대응되는 객체 들의 상대적 위치 관계를 변경하는 단계;를 더 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  7. 청구항 5에 있어서
    상기 리스트는 제4 의도 분류 모델에 대응되는 객체를 포함하고,
    상기 제4 의도 분류 모델은 학습된 제1 인공 신경망에 기반하여 의도 분류 대상 입력 문자열에 대한 응답 엔진을 결정하는 모델이고,
    상기 제4 의도 분류 모델에 대응되는 객체는
    상기 제4 의도 분류 모델의 출력 결과의 사용 여부를 결정하는데 사용되는 임계값인 확률 값을 입력하기 위한 입력 상자를 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  8. 청구항 5에 있어서
    상기 제3 인터페이스는 학습된 제2 인공 신경망에 의해 결정된 오더에 따라 상기 리스트 상의 복수의 의도 분류 모델 각각에 대응되는 객체를 정렬하기 위한 인터페이스를 더 포함하고,
    상기 의도 분류기 생성 인터페이스 제공 방법은
    상기 제3 인터페이스를 제공하는 단계 이후에
    상기 객체를 정렬하기 위한 인터페이스에 대한 사용자의 입력에 대응하여 상기 제2 인공 신경망에 의해 결정된 오더에 따라 상기 리스트 상의 복수의 의도 분류 모델 각각에 대응되는 객체를 정렬하여 표시하는 단계:를 더 포함하는, 의도 분류기 생성 인터페이스 제공 방법.
  9. 컴퓨터를 이용하여
    청구항 1 내지 청구항 8 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
KR1020200126396A 2020-09-28 2020-09-28 의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램 KR102408188B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200126396A KR102408188B1 (ko) 2020-09-28 2020-09-28 의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200126396A KR102408188B1 (ko) 2020-09-28 2020-09-28 의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20220042941A KR20220042941A (ko) 2022-04-05
KR102408188B1 true KR102408188B1 (ko) 2022-06-13

Family

ID=81182222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200126396A KR102408188B1 (ko) 2020-09-28 2020-09-28 의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102408188B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190007213A (ko) * 2017-07-12 2019-01-22 주식회사 마인즈랩 질문 배분 장치 및 질문 배분 방법
KR102259927B1 (ko) * 2017-10-18 2021-06-03 한국전자통신연구원 워크플로우 엔진 프레임워크
KR102034646B1 (ko) * 2017-12-20 2019-10-22 주식회사 솔트룩스 복수의 질의 응답 모듈을 가지는 자동 질의 응답 시스템
KR102221126B1 (ko) * 2018-11-23 2021-02-25 박해유 딥러닝기술기반 챗봇을 이용한 의료서비스 제공시스템

Also Published As

Publication number Publication date
KR20220042941A (ko) 2022-04-05

Similar Documents

Publication Publication Date Title
US11379529B2 (en) Composing rich content messages
CN111753060A (zh) 信息检索方法、装置、设备及计算机可读存储介质
KR102264234B1 (ko) 문서 분류에 있어서 기여도가 높은 단어 및 문장을 제공하는 설명이 부가된 문서 분류 방법
KR102656620B1 (ko) 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체
AU2016256753A1 (en) Image captioning using weak supervision and semantic natural language vector space
AU2016256764A1 (en) Semantic natural language vector space for image captioning
US20210182680A1 (en) Processing sequential interaction data
KR20190056720A (ko) 뉴럴 네트워크 학습 방법 및 디바이스
CN110555469A (zh) 处理交互序列数据的方法及装置
CN111241285B (zh) 问题回答类型的识别方法、装置、设备及存储介质
CN115129848A (zh) 一种视觉问答任务的处理方法、装置、设备和介质
CN115455171B (zh) 文本视频的互检索以及模型训练方法、装置、设备及介质
KR20180106817A (ko) 전자 장치 및 제어 방법
CN113703585A (zh) 交互方法、装置、电子设备及存储介质
CN114564666A (zh) 百科信息展示方法、装置、设备和介质
US20200202068A1 (en) Computing apparatus and information input method of the computing apparatus
CN111104572A (zh) 用于模型训练的特征选择方法、装置及电子设备
KR20180060972A (ko) 전자 장치 및 이의 컨텐츠 요약 방법
CN113935332A (zh) 图书分级方法及图书分级设备
US20240004677A1 (en) Machine-Learned Models for User Interface Prediction, Generation, and Interaction Understanding
KR102408188B1 (ko) 의도 분류기 생성 인터페이스 제공 방법 및 컴퓨터 프로그램
KR102456646B1 (ko) 문자열의 의도 분류 방법 및 컴퓨터 프로그램
WO2023040516A1 (zh) 一种事件整合方法、装置、电子设备、计算机可读存储介质及计算机程序产品
KR102596352B1 (ko) 인공지능을 통한 사용자 심리에 기반한 상품 추천 시스템
JP6812157B2 (ja) 新着情報の検索システム、検索方法、およびプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant