KR20130128717A - 대화 관리 시스템 및 방법 - Google Patents

대화 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20130128717A
KR20130128717A KR1020120052647A KR20120052647A KR20130128717A KR 20130128717 A KR20130128717 A KR 20130128717A KR 1020120052647 A KR1020120052647 A KR 1020120052647A KR 20120052647 A KR20120052647 A KR 20120052647A KR 20130128717 A KR20130128717 A KR 20130128717A
Authority
KR
South Korea
Prior art keywords
speech
unit
user
act
search
Prior art date
Application number
KR1020120052647A
Other languages
English (en)
Other versions
KR101359718B1 (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 KR1020120052647A priority Critical patent/KR101359718B1/ko
Priority to US14/386,927 priority patent/US9514742B2/en
Priority to PCT/KR2013/000408 priority patent/WO2013172534A1/ko
Publication of KR20130128717A publication Critical patent/KR20130128717A/ko
Application granted granted Critical
Publication of KR101359718B1 publication Critical patent/KR101359718B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/06Foreign languages
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • G10L2015/0633Creating reference templates; Clustering using lexical or orthographic knowledge sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 미리 지정된 특정 목적이나 서비스를 수행하기 위한 것이 아닌 자유 발화에 대해 인공지능 에이전트와 대화가 가능한 채팅(chatting) 대화 시스템을 구축하는 데 있어서 효과적으로 대화 관리를 수행하기 위한 모델 구축 방법에 관한 것으로서, 기존의 대화 관리 시스템을 구축하기 위해 훈련용 말뭉치에 대해 필요했던 사람의 수동 태깅 (DA annotation, lexical pattern 규칙 등)을 줄일 수 있는 새로운 방법, 채팅 대화의 특성에 특화된 렉시컬구문패턴(LSP; Lexico-Syntactic Pattern) 생성을 이용한 발화 표현 방법, 개체명 (Named Entity, NE) 관련 태깅 방법 및 정책, 시스템의 인격을 나타내는 persona 적용 응답 생성 방법, 이를 이용하여 실제 대화 관리에서 적절한 시스템 발화를 생성할 수 있는 대화 관리 모델을 제공하는 데 그 목적이 있다.

Description

대화 관리 시스템 및 방법 {Conversation Managemnt System and Method Thereof}
본 발명은 채팅성 대화를 위한 대화 관리 시스템 및 방법을 구축하는 데 있어서 효과적으로 대화 관리를 수행하기 위한 대화 관리 시스템 및 방법에 관한 것으로서, 발화를 분석하기 위한 렉시컬 패턴(lexical pattern) 규칙의 수동 작성을 지양하고 품사 정보를 이용한 발화 자동 분석 및 표현 시스템에 관한 것이다.
또한, 개체명과 발화, 문맥 간 관계를 고려한 새로운 정책을 제시하고 시스템의 인격(persona)에 따른 응답을 생성하여 기존의 대화 관리 시스템에 비해 더욱 사용자 발화에 대해 적합한 응답을 생성하는 기술에 관한 것이다.
일반적으로 대화 시스템은 크게 특정 목적/서비스를 달성하기 위한 목적 지향 시스템과 단순히 일상 대화를 위한 채팅 시스템으로 나눌 수 있다. 특히 최근의 모바일 기기의 보급과 함께 사용자의 재미를 위한 대화 관리 시스템으로의 접근이 쉬워지고 있다. 짧은 쉬는 시간을 가지는 사람이나 혹은 심심풀이 말동무가 필요한 노인, 단순히 흥미 위주로 접근하는 어린이 등에게 이와 같은 채팅 시스템은 의미 있는 시스템이 된다. 모바일 기기에 채팅 시스템을 내재함으로써 사용자는 기기 접근에 더욱 친숙함을 가지게 된다는 것 또한 채팅 시스템의 장점이 될 수 있다. 기존의 대화 관리 시스템의 일반적인 기술은 다음과 같다. 일단 시스템 구축을 위해 (사용자 발화)-(시스템 발화) 쌍을 미리 구축한 후, 커버리지(coverage)를 늘리기 위해 각 사용자 발화에 대해 렉시컬 패턴(lexical pattern)을 개발자가 직접 수동으로 작성한다. 이후 실제 대화 실행 시에 사용자가 발화한 문장에 대해 적절한 응답을 출력하기 위하여 사용자 발화를 앞서 구축하였던 렉시컬 패턴(lexical pattern)들과 일일이 대조한 후, 가장 적절한 패턴을 찾아 거기에 연결된 시스템 발화를 응답으로 내보내게 된다.
채팅성 대화를 위한 발화 내 품사 및 개체명 우선 순위에 기반한 대화 관리 방법 및 시스템의 종래의 기술로는 대한민국 특허출원번호 10-2006-0034187호를 들 수 있다. 상기 대한민국 특허출원번호 10-2006-0034187호에는 대화 예제 데이터베이스 구축을 통한 대화 모델링 기법을 이용한 대화 관리 방법을 제시하고 있다. 하지만, 이 시스템은 목적 지향 대화를 전제한 대화 관리 방법을 기본으로 하고 있어 다양한 주제의 발화를 처리하는 데 한계가 있다. 또 다른 종래의 기술로는 대한민국 특허출원번호 10-2011-0016755호가 있는데, 여기에서는 언어 교육을 위한 대화 관리 방법을 제시하고 있다. 하지만, 여기에서도 사용자 발화에 대한 의도 표시을 수동으로 해야 한다는 것이 한계로 상기 특허의 방법론으로는 사실상 무제한 주제로 발화가 들어올 수 있는 채팅 시스템을 온전히 구현할 수 없다.
본 발명은 상술한 문제점을 극복하기 위한 것으로서, 사용자 발화에 대해 품사 분석을 수행한 후, 그 정보를 바탕으로 렉시컬구문패턴(LSP; Lexico-Syntactic Pattern)을 자동으로 생성한다. 이를 바탕으로 대화 중 사용자 발화와 가장 유사한 (사용자 발화)-(시스템 발화) 쌍을 찾는다. 또한, 개체명 정보를 훈련용 말뭉치에 본 발명에서 제시한 방법에 따라 태깅한 후에, 이 정보에 따라 현재 대화 상태에 적절한 발화 쌍을 검색하여 시스템 인격을 고려한 시스템 응답을 생성하는 기술을 이용한 대화 관리 시스템 및 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 대화 관리 시스템은, 훈련용 말뭉치의 발화 화행 및 개체명을 생성하고, 렉시컬구문패턴을 생성하며, 훈련용 말뭉치의 화행 및 개체명을 예측하는 훈련부; 상기 훈련 말뭉치의 발화 화행, 개체명 및 렉시컬구문패턴이 저장된 데이터베이스; 사용자의 발화 화행 및 개체명을 생성하고, 사용자 렉시컬구문패턴을 생성하며, 사용자의 화행 및 개체명을 예측하고, 예측된 사용자 화행 및 생성된 사용자 렉시컬구문패턴을 포함한 검색조건을 이용하여 상기 데이터베이스에서 사용자 발화에 대응하는 발화 쌍을 검색하고, 검색된 발화 쌍 중에서 예측된 개체명을 포함한 제약조건을 이용하여 발화 템플릿을 선택하는 실행부; 및 상기 실행부가 선택한 발화 탬플릿 중 최종응답을 출력하는 출력부를 포함한다.
또한, 본 발명에 따른 대화 관리 방법은, 훈련용 말뭉치의 발화 화행 및 개체명을 생성하고, 렉시컬구문패턴을 생성하며, 훈련용 말뭉치의 화행 및 개체명을 예측하는 훈련단계; 상기 훈련 말뭉치의 발화 화행, 개체명 및 렉시컬구문패턴을 데이터베이스에 저장하는 단계; 사용자의 발화 화행 및 개체명을 생성하고, 사용자 렉시컬구문패턴을 생성하며, 사용자의 화행 및 개체명을 예측하고, 예측된 사용자 화행 및 생성된 사용자 렉시컬구문패턴을 포함한 검색조건을 이용하여 상기 데이터베이스에서 사용자 발화에 대응하는 발화 쌍을 검색하고, 검색된 발화 쌍 중에서 예측된 개체명을 포함한 제약조건을 이용하여 발화 템플릿을 선택하는 실행단계; 및 상기 실행부가 선택한 발화 템플릿 중 최종 응답을 출력하는 출력단계를 포함한다.
본 발명은 기존에 개발된 대화 관리 시스템에서 전통적으로 이용하는 문장의 표층의 유사성, 또는 규칙 기반의 표층 비교를 이용하지 않고 기계학습 알고리즘을 이용하여 자동으로 형태소 분석과 품사 우선 순위를 이용한 새로운 발화 검색 방법을 이용한다. 따라서 사람의 노력이 많이 들어가는 기존의 표층 규칙 작성 방법에 비해 태깅 비용이 상당히 감소하게 된다. 이는 실제 시스템의 상업화와 유지 보수 측면에서 큰 장점이 될 뿐 아니라, 언어에 종속적이지 않는 시스템의 구축이 가능하다.
또한, 본 발명에서 제안한 개체명과 발화/문맥 간 연관성을 이용한 발화 선택 및 생성 방법을 통해 현재 대화 주제에 동떨어진 응답이 나오는 것을 미리 방지하고 현재 주제를 이어가는 대화가 가능해진다. 이와 같이 대화 중에 등장했던 개체명을 적절히 이용하는 시스템의 응답은 사용자 입장에서 실제 대화를 하고 있다는 느낌을 주는데 큰 역할을 한다.
따라서, 본 발명은 채팅 시스템을 구축하는 데 있어서 체감 성능과 실용성을 모두 만족시킬 수 있는 효과가 있다.
도 1은 본 발명에 따른 대화 관리 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명에 따른 대화 관리 시스템에서 수행되는 동작을 나타내는 흐름도이다.
도 3은 본 발명에 따른 대화 관리 시스템의 훈련부에서 수행되는 동작을 나타내는 흐름도이다.
도 4는 본 발명에 따른 대화 관리 시스템의 실행부에서 수행되는 동작을 나타내는 흐름도이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 실시 예에 따른 대화 관리 시스템 및 방법에 대하여 도면을 참조로 하여 상세하게 설명한다.
도 1은 본 발명에 따른 대화 관리 시스템의 개략적인 구성을 도시한 도면이다. 본 발명에 따른 대화 관리 시스템은 훈련부(100), 실행부(200), 데이터베이스(300), 출력부(400)를 포함한다.
훈련부(100)는 훈련용 말뭉치의 발화에서 화행과 개체명을 예측하기 위한 뷴류기를 포함하고 있으며 상기 분류기를 이용하여 입력받은 훈련용 말뭉치에서 화행과 개체명을 예측하는 기계 학습모델을 생성한다. 훈련부(100)는 훈련용 말뭉치의 발화에 대한 품사를 분석하고 품사를 실질적으로 나타내는 태그셋(tag set)에 대하여 우선순위를 정의한다. 상기 분석한 품사 정보와 태그셋을 바탕으로 사용자 발화의 렉시컬구문패턴을 생성한다. 훈련부(100)는 채팅성 대화를 위한 발화 내 품사 및 개체명 우선순위에 기반한 대화 관리를 수행하기 위해서 훈련 말뭉치에 개체명 정보를 표시하고, 표시된 개체명 정보를 바탕으로 개체명과 발화/문맥 간 정보를 표시한다. 훈련부(100)는 훈련용 말뭉치 발화에 태킹했던 개체명과 발화/문맥 간 관계를 추출한다. 훈련부(100)는 생성한 LSP와 추출한 개체명 정보, 그 외에 훈련용 말뭉치의 발화 쌍에 연관된 화행 등 훈련부(100)에서 생성한 정보를 모아 데이터베이스(300)로 저장한다.
실행부(200)는 실제 대화가 진행됨에 따라 입력된 상용자의 발화를 상기 훈련부(100)에서 생성된 기계학습 모델을 이용하여 사용자 발화에 대한 화행과 개체명을 예측한다. 실행부(200)는 상기 사용자 발화에 대한 품사를 분석하고 사용자 발화에 대한 사용자 LSP를 생성한다. 실행부(200)는 상기 화행, 사용자 LSP, 개체명 정보를 이용하여 현재 사용자 발화에 적합한 예제 발화 쌍을 찾는다. 실행부(200)는 사용자 발화에 대응하는 발화쌍이 검색된 경우, 현재 시스템 인격을 고려하여 발화 템플릿을 선택하고 최종 응답 발화를 생성한다.
데이터베이스(300)는 상기 훈련부(100)에서 생성한 LSP와 추출된 개체명 정보, 그 외에 훈련용 발뭉치의 발화 쌍에 연관된 화행 등 훈련부(100)에서 생성한 정보를 저장한다.
출력부(400)는 상기 실행부(200)가 생성한 최종 응답 발화를 출력한다.
도 2는 본 발명에 따른 대화 관리 시스템에서 수행되는 동작을 나타내는 흐름도이다.
본 발명에 따른 대화관리 시스템의 훈련부(100)는 기계 학습 모델 생성부(11), 품사 분석부(12), LSP 생성부(13), 개체명 정보 부착부(14), 예제 DB 구축부(15)를 포함한다.
기계 학습 모델 생성부(11)는 훈련용 말뭉치를 입력으로 받아 화행과 개체명을 예측하는 기계 학습 모델인 화행 모델(31)과 개체명 모델(32)을 생성한다.
품사 분석부(12)는 훈련용 말뭉치에 있는 발화들의 형태소를 분석, 각각의 형태소와 그 품사 정보를 저장한다.
LSP 생성부(13)는 상기 품사 분석부에 저장된 품사 정보를 이용하여 훈련용 말뭉치 발화의 LSP를 생성한다.
개체명 정보 부착부(14)는 훈련용 말뭉치 발화에 태깅하였던 개체명과 발화/문맥 간 관계를 추출한다.
예제DB구축부(15)는 LSP 생성부(13)에서 생성한 LSP와 개체명 정보 부착부(14)에서 추출한 개체명 정보, 그 외에 발화 쌍에 연관된 화행 등의 정보를 모아 예제 DB 구축부(15)에서 인덱싱한 후, 발화 쌍에 연관된 화행 등의 정보를 이용하여 DEDB(33, Dialog Example DataBase)를 생성하고 데이터베이스(300)로 전송한다.
데이터베이스(300)는 상기 예저DB구축부(15)에서 전송한 DEDB(33, Dialog Example DataBase)를 저장한다.
본 발명에 따른 대화관리 시스템의 실행부(200)는 품사 분석부(12), LSP 생성부(13), 개체명 정보 부착부(14), 예제 DB 구축부(15), 화행 분석부(16), 개체명 인식부(17), 발화 쌍 검색부(18), 제약 조건 적용부(19), 검색조건 완화부(20), 시스템 인격 적용부(21)를 포함한다.
화행 분석부(16), 개체명 인식부(17)는 생성된 화행 모델(31)과 개체명 모델(32)을 이용하여 각각 사용자 발화에 대한 화행과 개체명을 예측한다.
품사 분석부(12)는 사용자 발화에 있는 발화들의 형태소를 분석, 각각의 형태소와 그 품사 정보를 저장한다.
LSP 생성부(13)는 상기 품사 분석부(12)에 저장된 사용자 발화의 품사정보를 이용하여 사용자 발화의 LSP을 생성한다.
발화 쌍 검색부(18)와 제약 조건 적용부(19)에서 위 정보들을 이용하여 현재의 사용자 발화에 적합한 예제 발화 쌍을 찾는다. 만약 적합한 예제가 검색되지 않았다면, 최대한 현재의 조건과 유사한 예제를 찾기 위해 검색조건 완화부(20)에서 제약 조건을 완화한 후, 발화 쌍 검색부(18)와 제약 조건 적용부(19)에서 검색을 반복한다. 이 과정에서 적절한 예제가 검색되었다면, 해당 시스템 액션을 시스템 인격 적용부(21)에서 받아 현재 시스템 인격을 고려한 발화 템플릿을 선택한다.
출력부(400)는 상기 템플릿에 존재하는 개체명들과 발화와의 연관성에 따라 시스템이 출력하게 될 발화 문장을 생성하여 최종적으로 시스템 응답을 출력한다.
도 3은 본 발명에 따른 대화 관리 시스템의 훈련부(100)에서 수행되는 동작을 나타내는 흐름도이다. 이하, 도 3을 이용하여 본 발명에 따른 대화 관리 시스템의 훈련부(100)에서 수행되는 동작에 대하여 설명한다.
채팅성 대화를 위한 발화 내 품사 및 개체명 우선 순위에 기반한 대화 관리를 수행하기 위해서는 도 3에 나타난 바와 같이, 우선 훈련용 말뭉치에 개체명 정보를 부착해야 한다(단계 110).개체명 정보 부착이란, 발화 내의 대화 문맥 상에서 의미가 있는 단어를 따로 표기하는 것이다. 예를 들어 “10대들이 가장 좋아하는 스포츠가 뭐지?”라는 발화를 볼 때, 적절한 응답을 위해 고려해야 할 단어는 좋아한다는 행위의 주체가 되는 “10대”, 그리고 객체가 되는 “스포츠”이고 이를 훈련시에 미리 표기하는 것이다. 또한 각 개체명에 대해 적절한 type을 정의, 부착한다. 위의 예에서는 “10대”는 generation, “스포츠”는 sports_type이라는 type을 가질 수 있다. 이에 따라 예의 발화는 “ /10대/generation/ 들이 가장 좋아하는 /스포츠/sports_type/ 가 뭐지?”와 같이 발화 내에서 개체명이 표기될 수 있다.
이렇게 단계 110에서 정의, 부착한 개체명 정보를 바탕으로 다음 단계에서 개체명과 발화/문맥 간 정보를 부착한다(단계 120).개체명과 발화 간 정보 부착은 임의의 발화 내에서 해당 개체명이 같은 type 내의 다른 개체명으로 교체가 가능한지의 여부를 표시하는 것이다. 교체가 불가능한 경우 별도의 기호($)를 붙여서 그 개체명과 발화가 연관되어 밀접히 연관되어 있음을 표시한다. 예를 들어 “한국 사람은 역시 /김치/food/가 최고지”라는 발화가 주어진다면, 김치 대신 다른 food type의 “햄버거” 등으로 개체명을 교체할 경우 발화 내에서 의미 상 어색해질 수 있다. “한국 사람”이라는 발화 내 의미를 고려하였을 때, “김치”라는 개체명은 발화와 밀접히 연관되어 있고, 따라서 “스파게티”, “햄버거” 등 여타 food type의 개체명으로 자유롭게 교체되지 못한다. 따라서 이와 같은 경우 “한국 사람은 역시 /김치/$food/ 가 최고지”와 같이 “$”를 붙여 해당 개체명이 발화와 연관되어 있음을 표시한다. 이 정보는 이후 대화 관리 단계 실행시 이용된다. 개체명과 문맥 간 정보 부착은 단순히 해당 발화 내에서의 연관관계를 넘어서서, 대화 전체를 고려하여 앞서의 문맥 상에서 해당 개체명의 필요 여부를 표시한다.
다음과 같은 예를 생각해 본다.
예1)
사용자: /1960년대/year/ 유명한 /가수/entity_type/는 누구지?
시스템: 엘레지의 여왕 /이미자/$singer/였대.
이 예의 경우 시스템 발화가 나타나기 위해서는 “1960년대”, “가수”라는 개체명이 정확이 나타났어야 한다. 그렇지 않으면 “이미자”라는 대답이 나타나는 것이 의미상 부자연스러울 수 있다. 예를 들면 “/2000년대/year/ 유명한 /가수/entity_type/는 누구지?”, 또는 “/1960년대/year/ 유명한 /배우/entity_type/는 누구지?”와 같은 질문에는 “엘레지의 여왕 /이미자/$singer/였대.”라는 응답이 나타날 수 없다. 이와 같이 앞서의 개체명이 반드시 나타났어야 하는 경우에 대해 문맥정보를 표기해 준다. 이를 위해서 발화 옆에 “[/value/$type/]” 형태로 해당 개체명이 문맥 상 나타났어야 함을 표시해 준다. 이 정책에 따라 위의 예는 다음과 같이 표기될 수 있다.
사용자: /1960년대/year/ 유명한 /가수/entity_type/는 누구지?
시스템: 엘레지의 여왕 /이미자/$singer/였대. [/1960년대/$ year /][/가수/$ entity _ type /]
또한 개체명의 type과 문맥 간 관계를 나타내야 할 경우도 있다.
예2)
사용자: 1년 중 가장 슬픈 날은 /야구/sports/ 시즌이 끝나는 날이다.
시스템: 1년 중 가장 기쁜 날은 /야구/sports/ 시즌이 시작하는 날이고?
이 예의 경우 시스템 발화의 의미(시즌 등의 단어 등등)를 생각해 보았을 때 앞서 sports type의 개체명이 우선적으로 나타났어야 한다. 하지만 앞서의 예1)의 경우와는 다르게 꼭 그 개체명이 “야구”가 아니라 “축구”, “농구”이었어도 큰 문제가 없다. 즉 이전 문맥에서 “야구”라는 특정 개체명이 아닌 sports라는 type이 나타났어야 하는 것이 예2)의 경우이다. 이와 같이 앞서의 특정 type이 반드시 나타났어야 하는 경우에 대해 “[/ANY/type/]” 형태로 문맥정보를 표기해 준다. 이 정책에 따라 위의 예는 다음과 같이 표기될 수 있다.
사용자: 1년 중 가장 슬픈 날은 /야구/sports/ 시즌이 끝나는 날이다.
시스템: 1년 중 가장 기쁜 날은 /야구/sports/ 시즌이 시작하는 날이고? [/ANY/sports/] 이와 같이 부착된 개체명과 발화/문맥 간 관계는 이후 대화 실행 시 발화 쌍 검색시에 이용된다.
다음 단계에서는 발화에 대해 품사 분석을 수행한다(단계 130).
품사라 함은 낱말을 문법적인 기능이나 형태, 뜻에 따라 나눈 것을 말하며 명사, 동사, 형용사 등등의 분류를 가진다. 품사 분석을 위해서 기존의 개발된 형태소 분석기를 이용, 분석 결과를 출력해 낸다. 예를 들면 “100미터 몇 초에 뛰어?”라는 발화는 “100/SN 미터/NNG 몇/MM 초/NNB 에/JKB 뛰/VV 어/EC”와 같이 분석된다.
다음 단계에서는, 품사를 실질적으로 나타내는 태그셋(tag set)에 대해 우선 순위를 정의한다(단계 140). 이후 단계에서 발화의 LSP를 나타내기 위해 품사 정보를 이용하는데, 품사에 따라 그 중요도가 다르다. 예를 들면 대체적으로 문장의 끝에 나타나는 어미를 나타내는 “EC”보다는 명사를 나타내는 “NN”나 동사를 나타내는 “VV”등이 더욱 중요한 의미를 가진다. 따라서 태그셋의 모든 태그에 대해 우선순위를 순차적으로 정의한다.
위의 단계 130, 140에서 분석한 품사 정보와 중요 태그셋을 바탕으로 발화에 대해 LSP를 생성한다(단계 150). 품사 분석 결과에서 일정 이상의 중요도를 가지는 주요 품사만을 추려서 이를 묶어 LSP를 생성한다. 각 품사는 “.”를 구분자로 하여 연결된다. 이렇게 생성된 LSP는 이후 대화 관리 정책에서 발화 쌍 검색에 이용된다. 위의 예문에서는 “NNG”, “MM”, “NNB”, “VV”가 주요 품사로 선택되어 “미터/NNG.몇/MM.초/NNB.뛰/VV” 최종적으로 LSP로 생성된다.
다음 단계에서, 발화에서 화행과 개체명을 예측하기 위한 분류기를 훈련한다(단계 160). 화행은 대화 주제에 의존적이지 않은 일반적인 화자의 의도를 말한다. 따라서 화행은 닫힌 집합(Closed Set)이며 기계 학습(Machine Learning) 알고리즘에 따라 생성된 분류기(Classifier)를 통해 임의의 발화에 대한 화행 예측이 가능하다. 개체명 또한 type을 미리 정의하기 때문에 분류기를 이용하여 예측이 가능하다. 이와 같은 분류기로 이용할 수 있는 방법론은 CRF(Conditional Random Fields), SVM(Support Vector Machine) 등이 있으며, 특정 방법론에 의존적이지 않고 분류기로 이용할 수 있는 기존의 모든 알고리즘이 적용 가능하다.
이후 위 단계들에서 표기된 화행, LSP, 개체명 정보를 인덱싱하고 DB화 한다(단계 170).
기본적인 (사용자 발화)-(시스템 발화) 쌍과 각 발화에 연관된 화행, LSP, 개체명 정보들을 모두 모아 DB화한다. 여기에서 생성된 DB는 이후 대화 관리 단계에서 발화 쌍 검색 시 검색의 실질적인 대상이 된다.
도 4는 본 발명에 따른 대화 관리 시스템의 실행부(200)에서 수행되는 동작을 나타내는 흐름도이다. 이하, 도 4를 이용하여 본 발명에 따른 대화 관리 시스템의 실행부(200) 및 출력부(400)에서 수행되는 동작에 대해서 설명한다.
채팅성 대화를 위한 발화 내 품사 및 개체명 우선 순위에 기반한 대화 관리를 수행하기 위해서는 도 4에 나타난 바와 같이, 채팅성 대화 관리시 사용자로부터 전달된 발화에 대해 품사 분석을 수행하고, 이를 바탕으로 사용자 LSP를 생성한다(단계 210, 220). 이 단계의 과정은 위에서 설명한 단계 130, 150과 완전히 동일하므로 중복된 설명은 생략한다.
다음 단계로, 현 사용자 발화로부터 화행/개체명을 예측한다(단계 230).훈련 단계 160에서 생성된 분류기를 이용하여 현재 사용자 발화의 화행과 개체명을 예측한다.
단계 210, 220, 230에서 예측된 화행 및 사용자 LSP 정보를 포함한 검색조건을 이용하여 현재 사용자 발화와 그에 대한 응답으로 적절한 발화 쌍을 검색한다(단계 240).240단계에서 검색 대상은 훈련 단계 170에서 생성된 DB가 된다. 화행, LSP 각각에 대한 제약 조건 적용 방법은 각각 다음과 같다.화행 적용은 단계 230에서 예측된 화행과 정확히 일치하는 발화 쌍만을 검색하도록 한다. LSP 적용은 단계 220에서 생성된 사용자 LSP에서의 각 형태소(각각의 품사를 가지는)를 단위로 하여 논리 연산에서의 AND 조건으로 검색하게 된다. 예를 들면 생성된 사용자 LSP가 “미터/NNG.몇/MM.초/NNB.뛰/VV”일 경우, 검색 조건은 예제 발화 쌍의 LSP에 미터/NNG, 몇/MM, 초/NNB, 뛰/VV 총 4개의 형태소가 모두 포함된 발화 쌍을 모두 검색하게 된다.
다음 단계로, 단계 230에서 생성된 개체명 정보를 포함한 제약 조건을 이용 하여 현재 사용자 발화와 그에 대한 응답으로 적절한 발화 쌍을 검색한다(단계 250).단계 240에서 검색된 예제 발화 쌍 중에서, 개체명 조건에 부합하는 예제들을 다시 선별하게 된다. 제약 조건 적용은 다음과 같이 수행한다.
현재 대화에서 나타났었던 개체명들을 /NE1/type1/, /NE2/type2/, ..., /NEn/typen/ (NEn: 개체명, typen: 개체명 type)이라 할 때, 각 개체명에 대해서 다음 조건에 부합하는 발화 쌍만을 선별한다. 임의의 개체명 NEx에 대해,
1) 문맥 정보에 “[/NEx/$typex/]” 포함
또는
2) 문맥 정보에 “[/NEi/$typex/]" 미포함 (NEi는 NEx를 제외한 모든 가능한 개체명)
또는
3) 문맥 정보에 “[/ANY/typex/]” 포함
하는 발화 쌍을 선별한다.
이와 같은 제약 조건을 통해 현재 대화 문맥에 불일치하는 예제 발화 쌍을 걸러낼 수 있어 시스템이 엉뚱한 주제에 대해 응답하는 것을 방지할 수 있다.
다음 단계로, 단계 240, 250에서 최종적으로 선별된 예제의 숫자를 확인한다(단계 260).화행, LSP, 제약 조건을 모두 만족시키는 예제가 1개 이상 검색되었다면, 그 중 하나의 발화 쌍을 선택하고 단계 280로 진행한다. 여기서 발화 쌍을 선택하는 방법은 무작위 선택, 문장의 표층 유사도 이용 등을 적용할 수 있다. 만약 현 단계에서 선별된 예제가 1개도 없다면 단계 270으로 진행한다.
단계 260에서 선별된 예제가 없다고 판명되면, 검색조건을 완화하여 다시 예제 검색을 시도하도록 한다(단계 270).사용자 발화가 언제나 훈련용 말뭉치에서의 발화와 정확히 일치하게 나타날 수 없기 때문에, 예제 검색시의 제약 조건을 완화시켜 현재 사용자의 발화와 가장 유사한 예제 발화 쌍을 찾을 수 있도록 해야 한다. 이를 위해 화행과 LSP에 대해 각각 검색 조건 완화를 시행한다. 화행 조건을 완화하는 방법은 다음과 같다. 현재 사용자 발화가 일단 의문문인지 평서문인지 구별하고, 의문문인 경우해당되는 카테고리 안의 화행으로 다시 검색을 시도한다. 예를 들어 의문문에 해당되는 화행은 “yn-q”, “wh-q”, “choice-q” 등등이 있는데, 현재 사용자 발화에 대해 예측된 화행이 “wh-q”였다면 제약 조건은 완화한 후에는 “yn-q”, “wh-q”, “choice-q” 셋 중 하나라도 해당되는 예제를 모두 검색하도록 한다. 평서문에 해당하는 화행은 일반적으로 의문문에 포함되는 화행보다 숫자가 많은데, 이 경우에는 모든 카테고리에 대해 전부 검색하지 않는다. 앞서의 훈련용 말뭉치에서 미리 사람이 화행을 태깅할 때 화행을 정하기 어려웠던 발화들을 모은 후, 어떤 화행끼리 구분이 어려웠는지 그 데이터를 이용하여 화행의 제약을 완화한다. 예를 들면 훈련용 말뭉치 태깅시 “request”와 “instruct”의 태깅의 구분이 어려웠다는 데이터를 가지고 있었다면, 현재 사용자 발화의 화행이 “request”로 예측되었을 경우 화행 제약 완화를 위해 “instruct”를 화행으로 가지는 예제도 검색을 허용하도록 한다. 즉 현재 사용자 발화에 대해 복수 개의 화행을 허용함으로써 화행에 대한 제약 조건을 완화하고, 이를 이용해 단계 240으로 돌아가 현재 사용자 발화와 최대한 유사한 예제 발화 쌍을 찾을 수 있다. LSP 조건을 완화하는 방법은 다음과 같다. 현재 사용자 발화의 LSP가 “NE1/type1.NE2/type2/. ... .NEn/typen”이라고 했을 때, 단계 240에서 서술하였던 LSP 적용 검색 방법에 의해 각각의 형태소에 대해 AND 조건으로 각 형태소를 모두 포함하는 예제를 찾도록 되어 있다. 이 제약 조건을 완화하기 위해 type1, type2, ..., typen 중 가장 덜 중요한 품사를 찾아 그에 해당하는 형태소를 생성하였던 LSP에서 제거한다. 품사의 중요도는 훈련 단계 140에서 정의하였던 품사 우선순위를 참조하여 결정한다. 예를 들면 “100미터 몇 초에 뛰어?”라는 사용자 발화에 대해 생성되었던 LSP이 “미터/NNG.몇/MM.초/NNB.뛰/VV”일 때, 이 조건을 완화하기 위해 “NNG”, “MM”, “NNB”, “VV” 중 가장 우선순위가 낮은 품사(여기에서는 MM이라고 가정)인 “MM”을 찾은 후, 이에 해당하는 형태소를 제거한 “미터/NNG.초/NNB.뛰/VV”가 새로운 LSP가 된다. 위에 서술된 방법으로 화행과 LSP 조건을 완화한 뒤에, 단계 240으로 돌아가 발화 쌍 검색을 다시 수행하게 된다. 참고로 개체명 제약은 완화 과정 없이 단계 250에서 그대로 적용하게 된다.
단계 260에서 검색된 예제가 1개 이상이고, 그 중 하나의 발화 예제가 선택되었다면 이 발화 쌍에 나타난 시스템 발화 의도와 현재 설정된 시스템의 인격 정보를 조합하여 최종 시스템이 응답하게 될 발화 문장을 생성한다(단계 280).발화 예제에는 시스템의 인격에 따른 다양한 발화 템플릿이 존재한다. 하나의 사용자 발화에 대한 여러 가지 인격의 응답은 훈련 과정에서 미리 인덱싱되어 DB화되어 있다. 이 중 현재 시스템에 설정되어 있는 인격에 적절한 응답 템플릿을 선택하여 발화를 생성한다.시스템 응답 템플릿에는 훈련 단계 120에서 예시한 바와 같이 발화 내에 개체명 정보가 부착되어 있다. 발화와 개체명이 연관되어 있음을 나타내는 기호 “$”가 있는 개체명에 대해서는 현재 대화 상태와 관계없이 그대로 발화에 연관된 개체명과 함께 출력한다. 예를 들어 선택된 시스템 응답 템플릿이 “ /강호동/$entertainer/ 없는 /1박2일/$ program / 보다보니까 약간 힘빠지는 것도 있어.” 라면, 최종 응답 발화 발화는 현재의 대화 상태와 관계없이 “ 강호동 없는 1박2일 보다보니까 약간 힘빠지는 것도 있어.”가 된다. 템플릿 내의 개체명이 발화와 연관되지 않은 경우에는 템플릿 내의 개체명을 그대로 사용하지 않고, 현재까지의 대화 진행 중 나타났던 개체명 정보를 이용하여 최종 발화를 생성한다. 예를 들어 현재까지의 대화 중에 “/농구/sports/”라는 개체명 정보가 나타났었고 현재 선택된 시스템 템플릿이 “ /야구/ sports / 끝나면 또 무슨 재미로 사나?”라면, 최종 응답 발화는 현재의 대화 상태를 반영하여 개체명이 변경된 “ 농구 끝나면 또 무슨 재미로 사나?”가 된다. 즉 이전의 사용자와 시스템 간의 대화 문맥에 적절한 최종 응답 발화 생성이 가능하다.
출력부(400)는 단계 280에서 생성된 최종 응답 발화를 출력한다(단계 290).
이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 권리범위 내에 든다고 할 것이다.
11: 기계 학습 모델 생성부 12: 품사 분석부
13: LSP 생성부 14: 개체명 정보 표시부
15: 예제 DB 구축부 16: 화행 분석부
17: 개체명 인식부 18: 발화 쌍 검색부
19: 제약 조건 적용부 20: 검색조건 완화부
21: 시스템 인격 적용부
31: 화행 모델 32: 개체명 모델
33: DEDB

Claims (20)

  1. 훈련용 말뭉치의 발화 화행 및 개체명을 생성하고, 렉시컬구문패턴을 생성하며, 훈련용 말뭉치의 화행 및 개체명을 예측하는 훈련부;
    상기 훈련 말뭉치의 발화 화행, 개체명 및 렉시컬구문패턴이 저장된 데이터베이스;
    사용자의 발화 화행 및 개체명을 생성하고, 사용자 렉시컬구문패턴을 생성하며, 사용자의 화행 및 개체명을 예측하고, 예측된 사용자 화행 및 생성된 사용자 렉시컬구문패턴을 포함한 검색조건을 이용하여 상기 데이터베이스에서 사용자 발화에 대응하는 발화 쌍을 검색하고, 검색된 발화 쌍 중에서 예측된 개체명을 포함한 제약조건을 이용하여 발화 템플릿을 선택하여 최종 응답을 생성하는 실행부; 및
    상기 실행부가 생성한 최종 응답을 출력하는 출력부를 포함하는 대화 관리 시스템.
  2. 제 1항에 있어서 상기 훈련부는,
    상기 훈련용 말뭉치의 단어에 개체명 정보를 표시하고, 상기 개체명이 교체가 불가능한 경우 기호를 붙이는 대화 관리 시스템.
  3. 제 1항에 있어서 상기 훈련부는,
    상기 훈련용 말뭉치의 품사 분석을 수행하고 품사 간의 우선순위를 정의하며, 상기 품사로부터 렉시컬구문 패턴을 생성하는 대화 관리 시스템.
  4. 제 1항에 있어서 상기 실행부는,
    검색 완화부를 더 포함하고
    상기 검색 완화부는 상기 실행부가 선택한 발화가 없는 경우 상기 예측된 화행을 포함한 복수개의 화행으로 검색범위를 넓혀서 발화 쌍을 재검색하는 대화 관리 시스템.
  5. 제 1항에 있어서 상기 실행부는,
    검색 완화부를 더 포함하고
    상기 검색 완화부는 상기 실행부가 선택한 발화가 없는 경우 상기 사용자 렉시컬구문패턴의 범위를 줄이는 것으로써 검색범위를 넓혀서 발화 쌍을 재검색하는 대화 관리 시스템.
  6. 제 1항에 있어서 상기 실행부는,
    검색 완화부를 더 포함하고
    상기 검색 완화부는 상기 실행부가 선택한 발화가 없는 경우 상기 예측된 화행을 포함한 복수개의 화행 및 상기 사용자 렉시컬구문패턴의 범위를 줄이는 것으로써 검색범위를 넓혀서 발화 쌍을 재검색하는 대화 관리 시스템.
  7. 제 1항에 있어서 상기 훈련부는,
    발화 화행과 개체명을 예측하는 기계 학습 모델 생성부;
    발화 화행과 개체명 정보를 표시하고 표시된 개체명과 발화 간 정보를 표시하는 개체명 정보 표시부;
    발화 품사를 분석하는 발화 품사 분석부;
    상기 분석된 품사로부터 렉시컬구문패턴을 생성하는 렉시컬구문패턴 생성부;및
    개체명 정보를 표시하는 개체명 정보 표시부를 포함하는 대화 관리 시스템.
  8. 제 1항에 있어서 상기 실행부는,
    발화 화행을 예측하는 화행 분석부;
    발화의 개체명을 인식하는 개체명 인식부;
    화행, 사용자 렉시컬구문패턴, 개체명을 이용하여 사용자 발화에 대응하는 발화 쌍을 검색하는 발화 쌍 검색부; 및
    상기 발화 쌍 검색부에서 검색한 발화 쌍 중 개체명 제약을 만족하는 발화 쌍을 검색하는 제약 조건 적용부를 포함하는 대화 관리 시스템.
  9. 제 1항에 있어서 상기 데이터베이스는,
    발화 화행, 개체명 및 렉시컬구문패턴을 인덱싱하여 저장하는 대화 관리 시스템.
  10. 제 1항에 있어서 상기 훈련부는,
    기계학습 모델 생성부를 더 포함하고
    상기 기계학습 모델 생성부는 기계 학습 알고리즘에 따라 생성된 분류기를 통해 상기 연습용 말뭉치 발화에 대한 화행을 예측하는 대화 관리 시스템.
  11. 훈련용 말뭉치의 발화 화행 및 개체명을 생성하고, 렉시컬구문패턴을 생성하며, 훈련용 말뭉치의 화행 및 개체명을 예측하는 훈련단계;
    상기 훈련 말뭉치의 발화 화행, 개체명 및 렉시컬구문패턴을 데이터베이스에 저장하는 단계;
    사용자의 발화 화행 및 개체명을 생성하고, 사용자 렉시컬구문패턴을 생성하며, 사용자의 화행 및 개체명을 예측하고, 예측된 사용자 화행 및 생성된 사용자 렉시컬구문패턴을 포함한 검색조건을 이용하여 상기 데이터베이스에서 사용자 발화에 대응하는 발화 쌍을 검색하고, 검색된 발화 쌍 중에서 예측된 개체명을 포함한 제약조건을 이용하여 발화 템플릿을 선택하여 최종 응답을 생성하는 실행단계; 및
    상기 실행부가 생성한 최종 응답을 출력하는 출력단계를 포함하는 대화 관리 방법.
  12. 제 11항에 있어서, 상기 훈련 단계는
    훈련용 말뭉치의 단어에 개체명 정보를 표시하는 단계;
    훈련용 말뭉치에 개체명과 발화 간 정보를 표시하는 단계: 및
    훈련용 말뭉치에 발화 화행과 개체명을 예측하는 분류기를 훈련하는 단계를 포함하는 대화 관리 방법.
  13. 제 11항에 있어서, 상기 훈련 단계는
    훈련용 말뭉치의 품사 분석을 수행하는 단계;
    상기 품사간의 우선순위를 정의하는 단계; 및
    상기 품사로부터 렉시컬문구패턴을 생성하는 단계를 포함하는 대화 관리 방법.
  14. 제 11항에 있어서, 상기 실행 단계는
    검색 완화단계를 더 포함하고,
    상기 검색 완화단계는 상기 실행단계에서 선택한 발화가 없는 경우 상기 예측된 화행을 포함한 복수개의 화행으로 검색범위를 넓혀서 발화 쌍을 재검색하는 대화 관리 방법.
  15. 제 11항에 있어서, 상기 실행 단계는
    검색 완화단계를 더 포함하고,
    상기 검색 완화단계는 상기 실행단계에서 선택한 발화가 없는 경우 상기 사용자 렉시컬구문패턴의 범위를 줄이는 것으로써 검색범위를 넓혀서 발화 쌍을 재검색하는 대화 관리 방법.
  16. 제 11항에 있어서, 상기 실행 단계는
    검색 완화단계를 더 포함하고,
    상기 검색 완화단계는 상기 실행단계에서 선택한 발화가 없는 경우 상기 예측된 화행을 포함한 복수개의 화행 및 상기 사용자 렉시컬구문패턴의 범위를 줄이는 것으로써 검색범위를 넓혀서 발화 쌍을 재검색하는 대화 관리 방법.
  17. 제 11항에 있어서 상기 훈련단계는,
    발화 화행과 개체명을 예측하는 단계;
    발화 화행과 개체명 정보를 표시하고 표시된 개체명과 발화 간 정보를 표시하는 개체명 정보 표시단계;
    발화 품사를 분석하는 단계;
    상기 분석된 품사로부터 렉시컬구문패턴을 생성하는 단계;및
    개체명 정보를 표시하는 단계를 포함하는 대화 관리 방법.
  18. 제 11항에 있어서 상기 실행단계는,
    발화 화행을 예측하는단계;
    발화의 개체명을 인식하는 단계;
    화행, 사용자 렉시컬구문패턴, 개체명을 이용하여 사용자 발화에 대응하는 발화 쌍을 검색하는 단계; 및
    상기 검색한 발화 쌍 중 개체명 제약을 만족하는 발화 쌍을 검색하는 단계를 포함하는 대화 관리 방법.
  19. 제 11항에 있어서 상기 데이터베이스에 저장하는 단계는,
    발화 화행, 개체명 및 렉시컬구문패턴을 인덱싱하여 저장하는 대화 관리 방법.
  20. 제 11항에 있어서 상기 훈련단계는,
    기계학습 모델 생성 단계를 더 포함하고
    상기 기계학습 모델 생성단계는 기계 학습 알고리즘에 따라 생성된 분류기를 통해 상기 연습용 말뭉치 발화에 대한 화행을 예측하는 대화 관리 방법.
KR1020120052647A 2012-05-17 2012-05-17 대화 관리 시스템 및 방법 KR101359718B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120052647A KR101359718B1 (ko) 2012-05-17 2012-05-17 대화 관리 시스템 및 방법
US14/386,927 US9514742B2 (en) 2012-05-17 2013-01-18 System and method for managing conversation
PCT/KR2013/000408 WO2013172534A1 (ko) 2012-05-17 2013-01-18 대화 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120052647A KR101359718B1 (ko) 2012-05-17 2012-05-17 대화 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130128717A true KR20130128717A (ko) 2013-11-27
KR101359718B1 KR101359718B1 (ko) 2014-02-13

Family

ID=49583920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120052647A KR101359718B1 (ko) 2012-05-17 2012-05-17 대화 관리 시스템 및 방법

Country Status (3)

Country Link
US (1) US9514742B2 (ko)
KR (1) KR101359718B1 (ko)
WO (1) WO2013172534A1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111678A (ko) * 2014-03-26 2015-10-06 포항공과대학교 산학협력단 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법
KR101592756B1 (ko) * 2014-08-27 2016-02-11 포항공과대학교 산학협력단 사용자 지식의 기억 강도를 이용하는 대화 관리 방법 및 이를 수행하는 장치
KR20190066988A (ko) * 2017-12-06 2019-06-14 주식회사 케이티 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
CN110301004A (zh) * 2017-02-23 2019-10-01 语义设备公司 可扩展对话系统
KR102041621B1 (ko) * 2019-02-25 2019-11-06 (주)미디어코퍼스 인공지능 음성인식 기반 기계학습의 대규모 말뭉치 구축을 위한 대화형 말뭉치 분석 서비스 제공 시스템 및 구축 방법
CN110472035A (zh) * 2019-08-26 2019-11-19 杭州城市大数据运营有限公司 一种智能应答方法、装置、计算机设备及存储介质
US10490184B2 (en) 2016-11-10 2019-11-26 Samsung Electronics Co., Ltd. Voice recognition apparatus and method
WO2023048374A1 (en) * 2021-09-21 2023-03-30 Samsung Electronics Co., Ltd. A method and system for predicting response and behavior on chats
US11657215B2 (en) 2017-08-28 2023-05-23 Microsoft Technology Licensing, Llc Robust expandable dialogue system
KR102593609B1 (ko) * 2022-12-07 2023-10-25 (주)에이엘아이 페르소나가 반영된 응답을 출력하는 방법 및 챗봇 장치
US11842724B2 (en) 2017-02-23 2023-12-12 Microsoft Technology Licensing, Llc Expandable dialogue system

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102193559B1 (ko) * 2014-02-18 2020-12-22 삼성전자주식회사 대화형 서버 및 이의 제어 방법
WO2015151157A1 (ja) * 2014-03-31 2015-10-08 三菱電機株式会社 意図理解装置および方法
KR20160056548A (ko) 2014-11-12 2016-05-20 삼성전자주식회사 질의 응답을 위한 디스플레이 장치 및 방법
US10587541B2 (en) * 2014-12-02 2020-03-10 Facebook, Inc. Device, method, and graphical user interface for lightweight messaging
US20170161372A1 (en) * 2015-12-04 2017-06-08 Codeq Llc Method and system for summarizing emails and extracting tasks
US10831802B2 (en) 2016-04-11 2020-11-10 Facebook, Inc. Techniques to respond to user requests using natural-language machine learning based on example conversations
US10567312B2 (en) 2016-04-11 2020-02-18 Facebook, Inc. Techniques for messaging bot controls based on machine-learning user intent detection
US10356029B2 (en) 2016-09-21 2019-07-16 Facebook, Inc. Methods and systems for presenting modules in an inbox interface
US11233760B2 (en) 2016-09-21 2022-01-25 Facebook, Inc. Module ranking for a modular inbox
CN106844732B (zh) * 2017-02-13 2020-05-08 长沙军鸽软件有限公司 针对无法直接采集的会话场景标签进行自动获取的方法
CN111930915B (zh) * 2020-09-14 2021-01-01 腾讯科技(深圳)有限公司 会话信息处理方法、装置、计算机可读存储介质及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999018556A2 (en) * 1997-10-08 1999-04-15 Koninklijke Philips Electronics N.V. Vocabulary and/or language model training
US7392185B2 (en) * 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
KR100487716B1 (ko) 2002-12-12 2005-05-03 한국전자통신연구원 단어레벨의 통계적 방법을 이용한 번역문 생성 방법 및 그장치
US7590533B2 (en) 2004-03-10 2009-09-15 Microsoft Corporation New-word pronunciation learning using a pronunciation graph
WO2008106655A1 (en) * 2007-03-01 2008-09-04 Apapx, Inc. System and method for dynamic learning
JP4992979B2 (ja) * 2007-11-06 2012-08-08 富士通株式会社 多地点間音声通話装置
US20100299132A1 (en) * 2009-05-22 2010-11-25 Microsoft Corporation Mining phrase pairs from an unstructured resource
CN102411563B (zh) * 2010-09-26 2015-06-17 阿里巴巴集团控股有限公司 一种识别目标词的方法、装置及系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111678A (ko) * 2014-03-26 2015-10-06 포항공과대학교 산학협력단 자연어를 점진적으로 분석하는 장치와 이를 이용한 적응적인 응답 장치 및 방법
KR101592756B1 (ko) * 2014-08-27 2016-02-11 포항공과대학교 산학협력단 사용자 지식의 기억 강도를 이용하는 대화 관리 방법 및 이를 수행하는 장치
US10490184B2 (en) 2016-11-10 2019-11-26 Samsung Electronics Co., Ltd. Voice recognition apparatus and method
CN110301004A (zh) * 2017-02-23 2019-10-01 语义设备公司 可扩展对话系统
CN110301004B (zh) * 2017-02-23 2023-08-08 微软技术许可有限责任公司 可扩展对话系统
US11842724B2 (en) 2017-02-23 2023-12-12 Microsoft Technology Licensing, Llc Expandable dialogue system
US11657215B2 (en) 2017-08-28 2023-05-23 Microsoft Technology Licensing, Llc Robust expandable dialogue system
KR20190066988A (ko) * 2017-12-06 2019-06-14 주식회사 케이티 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
KR102041621B1 (ko) * 2019-02-25 2019-11-06 (주)미디어코퍼스 인공지능 음성인식 기반 기계학습의 대규모 말뭉치 구축을 위한 대화형 말뭉치 분석 서비스 제공 시스템 및 구축 방법
CN110472035A (zh) * 2019-08-26 2019-11-19 杭州城市大数据运营有限公司 一种智能应答方法、装置、计算机设备及存储介质
WO2023048374A1 (en) * 2021-09-21 2023-03-30 Samsung Electronics Co., Ltd. A method and system for predicting response and behavior on chats
KR102593609B1 (ko) * 2022-12-07 2023-10-25 (주)에이엘아이 페르소나가 반영된 응답을 출력하는 방법 및 챗봇 장치

Also Published As

Publication number Publication date
WO2013172534A1 (ko) 2013-11-21
US20150058014A1 (en) 2015-02-26
KR101359718B1 (ko) 2014-02-13
US9514742B2 (en) 2016-12-06

Similar Documents

Publication Publication Date Title
KR101359718B1 (ko) 대화 관리 시스템 및 방법
Liu et al. Unsupervised paraphrasing by simulated annealing
CN104484411B (zh) 一种基于词典的语义知识库的构建方法
JP2019526139A (ja) コンピュータ学習および理解のためのアーキテクチャおよびプロセス
JPWO2018097091A1 (ja) モデル作成装置、テキスト検索装置、モデル作成方法、テキスト検索方法、データ構造、及びプログラム
KR102090237B1 (ko) 시맨틱 트리플 기반의 지식 확장 시스템, 방법 및 컴퓨터 프로그램
JP6529761B2 (ja) 話題提供システム、及び会話制御端末装置
JP6729095B2 (ja) 情報処理装置及びプログラム
Dethlefs et al. Conditional random fields for responsive surface realisation using global features
JP2015219583A (ja) 話題決定装置、発話装置、方法、及びプログラム
CN112185361B (zh) 一种语音识别模型训练方法、装置、电子设备及存储介质
CN107943940A (zh) 数据处理方法、介质、系统和电子设备
Winters et al. Towards a General Framework for Humor Generation from Rated Examples.
Bowden et al. Slugbot: Developing a computational model andframework of a novel dialogue genre
US20220147719A1 (en) Dialogue management
Malhar et al. Deep learning based Answering Questions using T5 and Structured Question Generation System’
Zhao et al. Mining user intents to compose services for end-users
CN114970733A (zh) 语料生成方法及装置、系统、存储介质和电子设备
Talita et al. Challenges in building domain ontology for minority languages
JP7044245B2 (ja) 対話システム補強装置及びコンピュータプログラム
CN112732885A (zh) 用于问答系统的答案扩展方法、装置及电子设备
Zouaoui et al. Ontological Approach Based on Multi-Agent System for Indexing and Filtering Arabic Docu-ments
Elwert Network analysis between distant reading and close reading
Hakkoum et al. A portable natural language interface to Arabic ontologies
Asif et al. Bidirectional Encoder Approach for Abstractive Text Summarization of Urdu Language

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180316

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6