KR20210100946A - 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램 - Google Patents

주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210100946A
KR20210100946A KR1020200014946A KR20200014946A KR20210100946A KR 20210100946 A KR20210100946 A KR 20210100946A KR 1020200014946 A KR1020200014946 A KR 1020200014946A KR 20200014946 A KR20200014946 A KR 20200014946A KR 20210100946 A KR20210100946 A KR 20210100946A
Authority
KR
South Korea
Prior art keywords
main word
extracted
keyword
word
history list
Prior art date
Application number
KR1020200014946A
Other languages
English (en)
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 KR1020200014946A priority Critical patent/KR20210100946A/ko
Publication of KR20210100946A publication Critical patent/KR20210100946A/ko

Links

Images

Classifications

    • 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/04Segmentation; Word boundary detection
    • 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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

주제어 기반 응답 도출 서버는 과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하고, 상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하는 주제어 관리부; 신규 사용자 발화가 입력되는 경우, 상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고, 상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 예제 선택부; 및 상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하는 응답 출력부;를 포함한다.

Description

주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램{SERVER, METHOD AND COMPUTER PROGRAM FOR DERIVING RESPONSE BASED ON TOPIC}
본 발명은 연결 대화를 위해 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.
인공지능(Artificial Intelligence, AI) 대화 서비스는 사람의 음성 명령에 대한 의도를 이해하고, 그에 대응하는 답변 음성 문구를 제공하는 방식이다. 인공지능 대화 서비스는 스마트 스피커 등을 포함하며, 사용 용도와 목적에 따라 다양한 종류와 형태로 제공되고 있다.
일반적으로 인공지능 대화 서비스는, 사용자 발화시 음성 분석 결과와 과거 대화 정보를 바탕으로 사용자 발화 의도를 이해하고, 학습을 통해 스스로 발전할 수 있는 대화 기술이다. 이미 대중화되어 있는 스마트 스피커는 음성인식을 통해 음악 감상 및 정보 검색 등의 기능을 수행할 수 있다.
사람의 음성 명령을 분석하고 그에 대응하는 답변을 제공하는 인공지능 대화 서비스 기술과 관련하여, 선행기술인 한국공개특허 제 10-2019-0123362호는 인공지능을 이용한 음성 대화 분석 방법 및 장치를 개시하고 있다.
종래의 인공지능 대화 서비스 기술은 수집되는 음성에서 최소한의 특징을 추출하고 화자 카테고라이징을 수행하여 대화분석을 신속하게 진행할 수 있었다. 그러나 인공지능 대화를 연속적으로 진행하는 과정에서 발생할 수 있는 예외 상항, 화제 전환 및 추가 질문과 같은 다양한 상황을 대처하기 어려운 단점을 가지고 있다.
한국등록특허공보 제10-1944777호 (2019.01.28. 등록)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 인공지능 대화를 연속적으로 진행하는 과정에서 발생할 수 있는 예외 상황, 화제 전환 및 추가 질문과 같은 다양한 상황에 대처할 수 있는 주제어에 기초하여 응답을 도출하는 서버, 방법 및 프로그램을 제공하고자 한다.
또한, 본 발명은 사용자 발화 및 응답 시스템의 대화를 체계적으로 분석하고 관리하여 인공지능 대화를 보다 깊이 있게 진행할 수 있는 주제어에 기초하여 응답을 도출하는 서버, 방법 및 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하고, 상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하는 주제어 관리부; 신규 사용자 발화가 입력되는 경우, 상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고, 상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 예제 선택부; 및 상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하는 응답 출력부; 를 포함하는 주제어 기반 응답 도출 서버를 제공할 수 있다.
본 발명의 다른 실시예는, 과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하는 단계; 상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하는 단계; 신규 사용자 발화가 입력되는 단계; 상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하는 단계; 상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 단계; 및 상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하는 단계를 포함하는 주제어 기반 응답 도출 방법을 제공할 수 있다.
본 발명의 또 다른 실시예는, 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하고, 상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하고, 신규 사용자 발화가 입력되는 경우, 상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고, 상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하고, 상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자 발화 및 응답 시스템에서 추출된 주제어에 기초하여 인공지능 대화를 연속적으로 진행함으로써, 예외 상황이 발생하면 화제를 전환할 수 있도록 하여 다양한 상황에 대처할 수 있도록 한 주제어 기반 응답 도출 서버, 방법 및 프로그램을 제공할 수 있다.
사용자 발화 및 응답 시스템에서 추출된 주제어 및 추출된 주제어에 대한 어휘 레벨 및 개념 레벨이 함께 매핑되어 대화 데이터베이스 및 주제어 이력 리스트를 통해 관리됨으로써 사용자 발화에서 생략된 주제어를 복원하고 추가 질문 생성이 가능한 주제어 기반 응답 도출 서버, 방법 및 프로그램을 제공할 수 있다.
주제어 이력 리스트를 통해 추출된 주제어에 발생 위치 정보를 표시하고 발생 시기에 따른 가중치를 부여하여 사용자 발화 및 응답 시스템의 대화를 체계적으로 분석하고 관리하여 인공지능 대화를 보다 깊이 있게 진행할 수 있는 주제어 기반 응답 도출 서버, 방법 및 프로그램을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 주제어 기반 응답 도출 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 주제어 기반 응답 도출 서버의 구성도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 대화 데이터베이스 및 주제어 이력 리스트를 설명하기 위한 예시적인 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 주제어에 대한 스코어를 산출하는 방법을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 주제어 이력 리스트를 사용한 시스템 응답 추출을 설명하기 위한 예시적인 도면이다.
도 6a 내지 도6g는 본 발명의 일 실시예에 따른 대화 데이터 베이스 및 주제어 이력 리스트 업데이트 방법을 설명하기 위한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 주제어 기반 응답 도출 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 주제어 기반 응답 도출 시스템의 구성도이다. 도 1을 참조하면, 주제어 기반 응답 도출 시스템(1)은 사용자 단말(110) 및 주제어 기반 응답 도출 서버(120)를 포함할 수 있다. 사용자 단말(110) 및 주제어 기반 응답 도출 서버(120)는 주제어 기반 응답 도출 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 주제어 기반 응답 도출 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1을 참조하면, 주제어 기반 응답 도출 서버(120)는 사용자 단말(110)과 동시에 또는 시간 간격을 두고 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
사용자 단말(110)은 마이크를 통해 사용자(100)가 발화한 사용자 발화를 입력 받고, 입력 받은 사용자 발화에 대한 데이터를 주제어 기반 응답 도출 서버(120)로 전송할 수 있다.
주제어 기반 응답 도출 서버(120)는 사용자 단말(110)로부터 수신된 과거 사용자 발화 또는 주제어 기반 응답 도출 서버(120)로부터 출력된 과거 응답 데이터로부터 주제어를 추출하고, 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어의 가중치 및 발생 위치 정보 등에 기초하여 주제어 이력 리스트를 통해 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어를 관리할 수 있다.
주제어 기반 응답 도출 서버(120)는 신규 사용자 발화가 입력되는 경우, 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고, 주제어 이력 리스트에 포함된 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어 및 신규 사용자 발화로부터 추출된 주제어에 기초하여 대화 데이터베이스로부터 추출된 예제 후보 중 하나를 선택할 수 있다.
주제어 기반 응답 도출 서버(120)는 주제어 이력 리스트에 포함된 주제어 및 신규 사용자 발화로부터 추출된 주제어에 기초하여 대화 데이터베이스로부터 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력할 수 있다.
도 2는 본 발명의 일 실시예에 따른 주제어 기반 응답 도출 서버의 구성도이다. 도 2를 참조하면, 주제어 기반 응답 도출 서버(120)는 주제어 관리부(210), 예제 선택부(220), 응답 출력부(230), 추가 질문 생성부(240) 및 주제 전환부(250)를 포함할 수 있다.
주제어 관리부(210)는 과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하고, 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어를 관리할 수 있다.
예를 들어, 주제어 관리부(210)는 과거 사용자 발화 또는 과거 응답 데이터에서 개체명의 구문 정보가 주어, 목적어인 경우 해당 개체명을 주제어로 추출할 수 있다. 또한, 주제어 관리부(210)는 과거 사용자 발화 또는 과거 응답 데이터에서 개체명의 형태소 품사가 일반 명사 및 고유 명사인 경우 해당 개체명을 주제어로 추출할 수 있다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 대화 데이터베이스 및 주제어 이력 리스트를 설명하기 위한 예시적인 도면이다.
주제어 관리부(210)는, 과거 응답 데이터 및 과거 응답 데이터로부터 추출된 주제어를 매핑시키고, 과거 응답 데이터로부터 추출된 주제어에 기설정된 분류에 따른 어휘 레벨을 매핑시켜 대화 데이터베이스를 통해 관리할 수 있다.
예를 들어 도 3a를 참조하면, 주제어 관리부(210)는 과거 응답 데이터인 "다이어트를 시작할 때가 왔군요. 오늘까지만 배부르게 먹고 내일부터 시작해요!(312)" 및 과거 응답 데이터로부터 추출된 주제어인 'Topic: 다이어트(313)'를 매핑시키고, 과거 응답 데이터로부터 추출된 주제어에 기설정된 분류에 따른 어휘 레벨인 '용어_의료(314)'를 매핑시켜 대화 데이터베이스(310)를 통해 관리할 수 있다.
주제어 관리부(210)는 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어 및 추출된 주제어에 기설정된 분류에 따른 어휘 레벨을 매핑시켜 주제어 이력 리스트를 통해 업데이트할 수 있다.
예를 들어, "살쪄서 고민이야"이란 과거 사용자 발화가 입력되고, 과거 사용자 발화에 대해 "다이어트를 시작할 때가 왔군요. 오늘까지만 배부르게 먹고 내일부터 시작해요!"라는 과거 응답 데이터가 도출되어 출력되었다면, 도 3b를 참조하면 주제어 관리부(210)는, 과거 사용자 발화 또는 과거 응답 데이터로부터 추출된 주제어 'topic: 다이어트(321)' 및 추출된 주제어에 기설정된 분류에 따른 어휘 레벨 '용어_의료(322)'를 매핑시켜 주제어 이력 리스트(320)에 등록함으로써 업데이트할 수 있다.
이를 통해, 주제어 관리부(210)는 사용자 단말(110)과 주제어 기반 응답 서버(120) 간의 대화가 이어지는 동안 주제어 이력 리스트(320)를 실시간으로 업데이트할 수 있다
또한, 주제어 관리부(210)는 사용자 발화 또는 응답 데이터로부터 추출된 주제어에 대한 가중치, 사용자 발화 또는 응답 데이터로부터 추출된 주제어에 대한 발생 위치 정보, 응답 데이터가 출력된 경우 누적되는 대화 세트에 대한 누적 턴수 및 추출된 주제어의 등장 횟수에 대한 반복 횟수를 주제어 이력 리스트를 통해 업데이트할 수 있다.
예를 들어 도 3b를 참조하면, 주제어 관리부(210)는 주제어 'topic: 다이어트(321)'에 대한 가중치를 'conf: 3(323)'으로 표시할 수 있고, 발생 위치 정보를는 'born: 1(324)', 누적 턴수를 'turn: 1(325)'으로 표시할 수 있다.
구체적으로, 주제어 관리부(210)는 주제어인 'topic: 다이어트(321)'에 가중치를 'conf: 3(323)'으로 부여할 수 있다. 해당 가중치 'conf: 3(323)'은 이 후 대화에서 2로 감소될 수 있다. 즉, 주제어 관리부(210)는 매 턴마다 새롭게 추출/추가된 주제어의 가중치를 초기값으로 부여하고(예를 들어, 3), 대화 누적 턴수가 늘어날수록 추출/추가되었던 주제어의 가중치를 초기값으로부터 1씩 차감할 수 있다.
이를 통해, 주제어 관리부(210)는 사용자 단말(110)과 주제어 기반 응답 도출 서버(120) 간의 대화에서 일정 횟수 이내 출현하지 않은 주제어를 주제어 이력 리스트로부터 제거함으로써, 주제어 이력 리스트를 보다 체계적이고 효율적으로 관리할 수 있다.
또한, 주제어 관리부(210)는 도 3b를 참조하면, 주제어인 'topic: 다이어트(321)'에 대한 발생 위치 정보를 숫자로 구분하여 주제어 이력 리스트(320)에 '1'로 표시할 수 있다.
예를 들어, 주제어 관리부(210)는 주제어가 사용자 발화로부터 추출된 경우 '0', 응답 데이터로부터 추출된 경우인 경우 '1', 사용자 발화 및 응답 데이터로부터 동시 발생되어 추출된 경우 '2'로 구분하여 표시할 수 있다. 여기서, 동시 발생의 경우란, 사용자 발화로부터 추출된 주제어와 응답 데이터로부터 추출된 주제어가 중복되는 경우를 의미할 수 있다. 즉, 신규 주제어인 'topic: 다이어트(321)'는 응답 데이터로부터 추출된 주제어이므로 발생 위치 정보가 'born: 1(324)'로 표시될 수 있다
또한, 주제어 관리부(210)는 도 3b를 참조하면, 사용자 발화에 대한 응답 데이터가 출력된 경우(즉, 1 회의 사용자 발화가 입력되고, 이에 대한 1회의 응답 데이터가 도출되어 출력된 경우, 1 세트 또는 1턴의 대화가 마무리 되었다고 볼 수 있음), 주제어인 'topic: 다이어트(321)'의 누적 턴수를 'turn: 1(325)'로 표시할 수 있다. 즉, 누적 턴수는 대화의 한 세트를 표시한 것으로, 사용자 단말(110)과 주제어 기반 응답 도출 서버(120)가 몇 번의 대화를 주고 받았는지 확인할 수 있다.
한편, 주제어 관리부(210)는 주제어 중복 여부 검사에 기초하여 사용자 발화 또는 응답 데이터로부터 추출된 주제어의 어휘 레벨 및 발생 위치 정보가 주제어 이력 리스트에서 관리 중인 복수의 주제어 중 어느 하나의 주제어와 일치하는 경우 중복된 주제어로 판단할 수 있다.
예를 들어, 주제어 관리부(210)는 사용자 발화 또는 응답 데이터로부터 추출된 주제어간 중복 여부를 검사하고, 중복이 아닌 경우 새로운 주제어로 인식하여 주제어 이력 리스트(320)에 삽입하여 업데이트시킬 수 있다. 즉, 주제어 관리부(210)는 사용자 발화 또는 응답 데이터로부터 추출된 주제어의 어휘 레벨 및 발생 위치 정보가 주제어 이력 리스트(320)를 통해 관리 중인 대화 히스토리로부터 추출된 복수의 주제어 중 일치하는 주제어가 있는 경우, 해당 주제어를 중복된 주제어로 판단할 수 있다. 여기서, 주제어의 어휘 레벨 및 발생 위치 정보를 모두 확인하는 이유는, 주제어는 동일하나 어휘 레벨이 상이한 경우가 존재할 수 있기 때문이다. 구체적으로, 과일 "배"와 교통수단 "배"가 이에 해당한다.
주제어 관리부는 주제어 중복 여부 검사에 기초하여 주제어 이력 리스트를 업데이트할 수 있다.
다른 예를 들어, 주제어 관리부(210)는 신규 사용자 발화 또는 신규 응답 데이터로부터 추출된 주제어가 주제어 이력 리스트(320)에 포함되어 있지 않은 경우, 주제어 이력 리스트(320)를 통해 업데이트할 수 있다. 주제어 관리부(210)는 신규 사용자 발화 및 신규 응답 데이터로부터 추출된 주제어 및 해당 주제어에 대한 가중치 및 누적 턴수를 주제어 이력 리스트(320)를 통해 업데이트 할 수 있다. 한편, 주제어 관리부(210)는 신규 사용자 발화 또는 신규 응답 데이터로부터 추출된 주제어가 주제어 이력 리스트(320)에 포함되어 있는 경우, 주제어 이력 리스트(320)에 포함되어 있는 기존 주제어의 가중치 값을 초기값으로 주제어 이력 리스트(320)를 통해 업데이트할 수 있다.
주제어 관리부(210)에서 대화 데이터베이스(310) 및 주제어 이력 리스트(320)를 통해 사용자 발화 및 사용자 발화에 대한 응답 데이터를 관리하는 방법에 대해서는 후술하는 도 6a 내지 도 6g를 통해 구체적으로 살펴보기로 한다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 주제어에 대한 스코어를 산출하는 방법을 설명하기 위한 예시적인 도면이다.
주제어 관리부(210)는 각 주제어에 대한 가중치, 발생 위치 정보, 누적 턴수 , 반복 횟수 및 개체명 계위 정보에 기초하여 주제어 이력 리스트를 통해 관리 중인 복수의 주제어에 대한 스코어를 산출할 수 있다. 여기서, 반복 횟수는 주제어 이력 리스트를 통해 관리 중인 대화 히스토리로부터 사용자 발화 또는 응답 데이터로부터 추출된 주제어의 총 등장 횟수이다. 개체명 계위 정보는 해당 주제어가 기설정된 개체명 사전에 포함되어 있는지 여부를 나타낸다.
예를 들어 주제어 관리부(210)는 도 4a를 참조하면, 복수의 주제어(400)에 대한 반복 횟수(410), 발생 위치 정보(420), 누적 턴수(430) 및 개체명 계위 정보(440)에 해당하는 각 인자 값과 각 인자 값에 대한 함수(460)가 적용된 값을 곱하여 복수의 주제어(400)에 대한 각 스코어(470)를 산출할 수 있다. 예를 들어, 다음의 수학식 1을 통해, 복수의 주제어(400)에 대한 반복 횟수(410), 발생 위치 정보(420), 누적 턴수(430) 및 개체명 계위 정보(440)에 대한 각 인자 값에 대응되는 함수(460)인 f1, f2, f3 및 f4를 정의할 수 있다.
Figure pat00001
수학식 1을 참조하면, 함수 f1은 반복 횟수(410), 함수 f2는 발생 위치 정보(420), 함수 f3은 누적 턴수(430) 및 함수 f4는 개체명 계위 정보(440)에 적용 가능한 각 함수(460)에 해당한다. 또한, μ는 누적 턴수 집합의 평균이고, Dictionary는 개체명 계위 정보(440)에 활용되는 특정 개체명 사전이고, Confidence는 각 주제어의 가중치일 수 있다.
주제어 관리부(210)는 산출된 스코어에 기초하여 주제어 이력 리스트를 통해 관리 중인 복수의 주제어 중 적어도 하나를 주요 주제어로 도출할 수 있다. 주제어 관리부(210)에서 주요 주제어를 도출하는 과정을 도 4b를 참조하여 구체적으로 살펴 보기로 한다.
먼저, 주제어 A(400a)는 반복 횟수(410)가 '5'로 대화가 진행되는 동안 5번 반복되어 사용되었고, 발생 위치 정보(420)가 '2'로 사용자 발화와 응답 데이터에서 동시에 사용되었고, 누적 턴수(430)가 '8'로 총 8회의 대화가 오고 갔고, 개체명 계위 정보(440)가 '1'로 주제어 A(400a)가 기설정된 개체명 사전에 포함된다는 것을 의미할 수 있다. 가중치(Conf)(450)는 '2'로 이전 대화에서 발생한 주제어이다(초기값 3으로 가정). 따라서, 주제어 A(400a)에 대한 각 인자 값은 5/2/8/1/2이고, 각 인자 값에 대한 함수(460)를 적용한 값은 2.236.68/1/7.4/1로 산출되어, 주제어 A(400a)의 총 스코어(470)가 11.63607로 산출 될 수 있다.
마찬가지로 주제어 J(400b)를 살펴보면, 주제어 J(400b)는 반복 횟수(410)가 '1'로 1번 반복되었고, 발생 위치 정보(420)가 '2'이고, 누적 턴수(430)가 '1'이며, 개체명 계위 정보(440)가 '0'이고, 가중치(450)가 '3'인 것으로 보아, 주제어 J(400b)를 두고 총 1번의 대화가 오고 갔고, 사용자 발화와 응답 데이터에서 가장 최근에 동시 발생한 주제어에 해당할 수 있다. 한편, 주제어 J(400b)는 개체명 계위 정보(44)가 '0'이므로 기설정된 개체명 사전에 포함되어 있지 않다는 것을 의미할 수 있다. 따라서, 주제어 J(400b)에 대한 각 인자 값은 1/2/1/0/3이고, 각 인자 값에 대한 함수(460)를 적용한 값은 1/1/9.9/0으로 산출되어, 주제어 J(400b)의 총 스코어(470)는 11.9로 산출 될 수 있다.
주제어 F(400c)는 반복 횟수(410)가 '3'이고, 발생 위치 정보(420)가 '2'이며, 누적 턴수(430)가 '4'인 것으로 보아, 총 4번의 대화 동안 3번 반복되었으며, 사용자 발화와 응답 데이터에서 동시 발생한 주제어에 해당할 수 있다. 주제어 F(400c)의 개체명 계위 정보(440)는 '0'이고, 가중치(450)가 '1'인 것으로 보아, 주제어 F(400c)는 기설정된 개체명 사전에 포함되어 있지 않으며, 2번의 대화 이전에 발생한 주제어에 해당할 수 있다. 따라서, 주제어 F(400c)의 각 인자 값은 3/2/4/0/1이고, 각 인자 값에 대한 함수(460)를 적용한 값은 1.732051/1/0.3/0으로 산출되어, 주제어 F(400c)의 총 스코어(470)가 3.032051로 산출될 수 있다.
주제어 A(400a), 주제어 J(400b) 및 주제어 F(400c)의 총 스코어(470)를 기준으로 랭킹(480)을 매겨보면, 주제어 J(400b)가 1위, 주제어 A(400a)가 2위, 주제어 F(400c)가 3위가 될 수 있다. 산출된 랭킹(480)을 토대로 주제어 A(400a), 주제어 J(400b) 및 주제어 F(400c)를 구체적으로 살펴보면, 가장 최근에 나타난 주제어 J(400b)의 순위가 가장 높고, 자주 사용되었지만 이번 대화에서 사용되지 않은 주제어 A(400a)가 2순위이고, 예전 대화에서 사용되고 이번 대화에서 주제어로 사용되지 않은 주제어 F(400c)의 순위가 가장 낮은 것으로 나타났다. 이를 통해 주제어 관리부(210)는 주제어 이력 리스트를 통해 관리 중인 주제어 A(400a), 주제어 J(400b) 및 주제어 F(400c) 중에서 주제어 J(400b)를 주요 주제어로 도출할 수 있다.
이와 같이, 주제어 관리부(210)는 산출된 스코어(470) 또는 스코어로부터 도출된 랭킹(480)에 기초하여 주제어 이력 리스트를 통해 관리 중인 복수의 주제어(400)에 대한 허용 순위를 설정하여 관리할 수 있다.
또한, 주제어 관리부(210)는 산출된 스코어(470) 또는 랭킹(480)에 기초하여 주제어 이력 리스트를 통해 관리 중인 복수의 주제어(400) 중 적어도 하나를 주요 주제어로 도출할 수 있다. 도출된 주요 주제어는 신규 사용자 발화에 대한 응답 데이터를 출력하는데 활용될 수 있다.
예제 선택부(220)는 신규 사용자 발화가 입력되는 경우, 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고, 주제어 이력 리스트에 포함된 주제어 및 신규 사용자 발화로부터 추출된 주제어에 기초하여 추출된 예제 후보 중 하나를 선택할 수 있다.
예를 들어, 예제 선택부(220)는 신규 사용자 발화가 입력되는 경우, 신규 사용자 발화에 기초하여 대화 데이터베이스를 검색할 수 있다. 예제 선택부(220)는 신규 사용자 발화에 주제어가 포함되어 있지 않은 경우, 신규 사용자 발화에서 주제어 이외 형태소 단위의 키워드를 추출할 수 있다. 예제 선택부(220)는 신규 사용자 발화에서 추출된 주제어 또는 키워드에 기초하여 대화 데이터베이스(310)에서 적어도 하나 이상의 예제 후보를 검색할 수 있다. 예제 선택부(220)는 대화 데이터베이스로부터 추출한 예제 후보 중 가장 적절한 응답 데이터를 선택하기 위해, 주제어 이력 리스트를 통해 관리 중인 주제어와 신규 사용자 발화로부터 도출된 주제어에 기초할 수 있다.
예제 선택부(220)는 주제어 관리부(210)에서 도출된 주요 주제어 및 대화 데이터베이스로부터 추출된 예제 후보 간의 유사도에 기초하여 대화 데이터베이스로부터 추출된 예제 후보 중 하나를 선택할 수 있다.
예를 들어, 예제 선택부(220)는 대화 데이터베이스로부터 추출된 예제 후보 중 신규 사용자 발화와 유사도가 가장 높은 예제를 선별할 수 있다. 구체적으로, 예제 선택부(220)는 주제어 이력 리스트에서 관리 중인 주제어와 신규 사용자 발화로부터 추출된 주제어에 대한 가중치를 부여하여 PMI 수식을 활용할 수 있다.
응답 출력부(230)는 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력할 수 있다.
도 5는 본 발명의 일 실시예에 따른 주제어 이력 리스트를 사용한 시스템 응답 추출을 설명하기 위한 예시적인 도면이다.
예제 선택부(220)는 사용자 발화에서 추출한 키워드 이외에도 주제어 이력 리스트에서 관리 중인 대화 히스토리로부터 추출된 주제어에 기초하여 대화 데이터베이스를 검색할 수 있다. 이를 통해 예제 선택부(220)는 주어가 생략된 사용자 발화에도 자연스러운 응답 데이터를 도출할 수 있다.
도 5를 참조하면 예를 들어, "살 쪄서 고민이야"라는 신규 사용자 발화가 입력되었다고 가정하자. 주제어 관리부(210)는 신규 사용자 발화 "살 쪄서 고민이야(510)"에 대한 주제어를 추출할 수 있다. 주제어 관리부(210)는 추출된 주제어를 주제어 이력 리스트에 업데이트할 수 있다. 이 때, 주제어 이력 리스트에 포함되어 있는 복수의 주제어 중 해당 주제어와 일치하는 주제어가 있는 경우, 예제 선택부(220)는 해당 주제어에 기초하여 대화 데이터베이스를 검색할 수 있다. 그러나, 주제어 이력 리스트에 신규 사용자 발화로부터 추출된 주제어가 없는 경우, 예제 선택부(220)는 사용자 발화에만 기초하여 대화 데이터베이스를 검색할 수 있다.
따라서, 예제 선택부(220)는 신규 사용자 발화인 "힘들다(520)"와 같이 주제어가 생략된 사용자 발화에도 주제어 이력 리스트를 통해 관리 중인 복수의 주제어 중 가중치 값이 높은 주제어에 기초하여, "다이어트는 매 순간이 유혹이죠. 그래도 힘내요(530)"라는 예제를 대화 데이터베이스로부터 선택할 수 있다.
이와 같이, 예제 선택부(220)는 주요 주제어로 선정된 'Topic:다이어트'에 기초하여 대화 데이터베이스를 검색함으로써 이전 대화와 자연스럽게 이어지는 응답 데이터를 선택할 수 있다.
주제어 기반 응답 도출 서버(120)는 예제 선택부(220)에서 사용자 발화에 대한 적절한 예제를 도출하지 못한 경우를 예외 상황이 발생한 것으로 인식할 수 있다. 또한, 주제어에 기초하여 응답을 도출하는 서버(120)는 주제어 관리부(210)에서 주제어 이력 리스트가 업데이트 되지 않고 반복되는 경우를 마찬가지로 예외 상황이 발생한 것으로 인식할 수 있다. 주제어 기반 응답 도출 서버(120)는 사용자 단말(110)과의 연속적인 대화를 진행하는 과정에서 발생할 수 있는 이와 같은 예외 상황을 인식하고 이에 대응하는 적절한 대처를 할 수 있다.
주제어 기반 응답 도출 서버(120)는 예제 선택부(220)에서 대화 데이터베이스를 통해 추출된 예제 후보 중 하나를 선택하지 못한 경우, 개념 레벨에 기초하여 추가 질문을 생성하는 추가 질문 생성부(240)를 더 포함할 수 있다.
여기서, 개념 레벨은 사용자 발화 의도에 관한 것으로, 주제어 관리부(210)는 과거 사용자 발화에 기설정된 분류에 따른 개념 레벨을 매핑하여 대화 데이터베이스를 통해 관리할 수 있다.
예를 들어 다시 도 3a를 참조하면, "힘들다(331)"라는 과거 사용자 발화가 입력되면, 주제어 관리부(210)는 과거 사용자 발화인 "힘들다(331)" 및 과거 사용자 발화에 기설정된 분류에 따른 개념 레벨 '슬픈 감정(335)'을 매핑시켜 대화 데이터베이스(310)를 통해 관리할 수 있다. 또한, 주제어 관리부(210)는 과거 사용자 발화인 "안녕(333)" 및 개념 레벨 '인사(337)'를 매핑시켜 대화 데이터베이스(310)를 통해 관리할 수 있다.
즉, 추가 질문 생성부(240)는 신규 사용자 발화에 대한 유사 응답 데이터가 없는 경우, 개념 레벨에 기초하여 사용자 발화 의도를 파악하고 이에 대응하는 추가 질문을 생성할 수 있다. 또한, 추가 질문 생성부(240)는 개념 레벨에 기초할 뿐만 아니라 사용자 발화로부터 추출한 주제어를 기초로 하여 대화에 적절한 세밀한 추가 질문을 생성하여 대화를 이어나갈 수 있다.
예를 들어, "힘들다(331)"와 같이 주제어 및 어휘 레벨이 없고 개념 레벨이 '슬픈 감정(335)'인 경우, 추가 질문 생성부(240)는 개념 레벨에 기초하여 사용자를 위로하는 추가 질문을 생성할 수 있다(예: "아까 많이 힘들어하시던데, 무엇 때문에 힘드신 건지 말해줄 수 있어요?"). 또한, "다이어트 힘들다(332)"와 같이 주제어가 포함되어 있고 개념 레벨이 '슬픈 감정(336)'인 경우, 추가 질문 생성부(240)는 주제어인 'Topic: 다이어트(339)'를 포함하여 사용자(100)를 위로하는 추가 질문을 생성할 수 있다(예: "저도 다이어트 중인데, 혹시 홈 트레이닝 서비스 이용해 보신적 있으신가요?").
"안녕(333)"과 같이 주제어가 없고 개념 레벨이 '인사(337)'인 경우, 추가 질문 생성부(240)는 개념 레벨에 기초하여 보편적인 추가 질문을 생성할 수 있다(예: "그나저나 오늘 날씨는 좋은 것 같아요. 이런 날씨 좋아하세요?"). 또한, "굿모닝(334)"과 같이 주제어가 있고 개념 레벨이 '인사(338)'인 경우, 추가 질문 생성부(240)는 주제어인 'Topic: 아침(340)'를 포함하여 인사에 대응하는 추가 질문을 생성할 수 있다(예: "아침은 드셨어요?").
한편, 주제어 기반 응답 서버(120)는 주제어 이력 리스트가 업데이트되지 않는 경우, 주제어 이력 리스트를 통해 관리 중인 복수의 주제어 중 가중치에 따라 선택된 적어도 하나에 기초하여 신규 사용자 발화에 대한 대화 주제를 전환하는 주제 전환부(250)를 더 포함할 수 있다.
예를 들어, 주제 전환부(250)는 대화 주제를 전환하기 위해, 주제어 이력 리스트에서 대화 히스토리를 통해 관리 중인 복수의 주제어 중 각 주제어의 가중치를 고려하여 주요 주제어를 선택할 수 있다. 주제 전환부(250)는 선택된 주요 주제어를 바탕으로 주제를 전환하여 사용자 단말(110)과의 대화를 이어나갈 수 있다. 구체적으로, 주제 전환부(250)는 사용자 단말(110)과의 대화에서 구축된 대화 주제어를 토대로 사용자(100)의 취향으로 관리되는 질문을 할 수 있다. 사용자(100)와의 구축된 대화 주제어가 '연예인', '운동선수', '콘텐츠명' 및 '음식'이라면, 주제 전환부(250)는 이 중 한가지 주제어를 선택하여 사용자 단말(110)에 질문함으로써 대화 주제를 환기시킬 수 있다.
여기서, 주제 전환부(250)는 사용자(100) 취향으로 구분되는 질문은 따로 관리할 수 있다. 예를 들어, 주제 전환부(250)는 과거 사용자(100)가 좋아한다고 말했던 인물에 대해 추가 질문하여 대화를 이끌어 나갈 수 있다. 구체적으로, 주제 전환부(250)는 "(사용자가 좋아하는 운동선수) 소속팀 아세요?"라고 추가 질문할 수 있다. 이 때, 주제어 관리부(210)는 응답 데이터로부터 추출된 주제어 '운동선수명/축구선수', '소속팀/축구단체'를 대화 데이터베이스(310)에 추가하여 다음 대화시 예제 선택부(220)에서 검색하여 사용할 수 있도록 한다.
또한, 주제 전환부(250)는 사용자 단말(110)과의 대화 주제를 전환할 때, 자연스럽게 대화 주제의 전환을 시도할 수 있도록 "근데요", "있잖아요" 및 "참" 등과 같은 담화 표지를 사용할 수 있다.
도 6a 내지 도6g는 본 발명의 일 실시예에 따른 대화 데이터 베이스 및 주제어 이력 리스트 업데이트 방법을 설명하기 위한 예시적인 도면이다.
주제어 관리부(210)는 대화 데이터베이스 및 주제어 이력 리스트를 통해 사용자 발화 및 사용자 발화에 대한 응답 데이터를 관리할 수 있다.
예를 들어 도 6a를 참조하면, "살 쪄서 고민이야"라는 신규 사용자 발화가 입력되었다고 가정하자. 주제어 관리부(210)는 이 경우 신규 사용자 발화에 대한 주제어를 추출할 수 없을 수 있다. 이와 같이 주제어에 대한 추출 결과가 없는 경우는, 주제어로 사용될 단어가 없거나 주제어 추출기에 해당 단어가 포함되어 있지 않은 경우에 해당할 수 있다. 본원 발명은 이러한 경우도 주제어 이력 리스트(610)를 통해 관리할 수 있다.
다시 도 6a를 참조하면, 주제어 관리부(210)는 "살 쪄서 고민이야"라는 신규 사용자 발화에 해당하는 주제어 이력 1(611)을 주제어 이력 리스트(610)에 업데이트 시킬 수 있다. 예를 들어, 주제어 관리부(210)는 주제어 이력 1(611)에 '없음'이라고 표기하고, 주제어 이력 1(611)을 주제어 이력 리스트(610)에서 추가하여 관리할 수 있다. 예제 선택부(220)는 주제어 이력 리스트(610)에서 관리 중인 주제어가 없기 때문에, 도 6g를 참조하면, 대화 데이터베이스(620)를 통해 사용자 발화에 대응하는 응답 데이터를 검색할 수 있다.
예제 선택부(220)는 "살 쪄서 고민이야"라는 사용자 발화에 대한 응답 데이터로 "다이어트를 시작할 때가 왔군요. 오늘까지만 배부르게 먹고 내일부터 시작해요!(621)"를 출력할 수 있다.
주제어 관리부(210)는 도 6b를 참조하면, "다이어트를 시작할 때가 왔군요. 오늘까지만 배부르게 먹고 내일부터 시작해요!"에 해당하는 응답 데이터에 기초한 주제어 이력2(612)을 주제어 이력 리스트(610)에 추가함으로써 주제어 이력 리스트(610)를 업데이트 시킬 수 있다. 예를 들어, 주제어 관리부(210)는 해당 응답 데이터("다이어트를 시작할 때가 왔군요. 오늘까지만 배부르게 먹고 내일부터 시작해요!")로부터 주제어 'Topic:다이어트', 'Topic:오늘' 및 'Topic:내일'를 추출하고, 추출된 주제어 'Topic:다이어트', 'Topic:오늘' 및 'Topic:내일'이 포함된 주제어 이력2(612)를 주제어 이력 리스트(610)에 추가하여 관리할 수 있다.
주제어 관리부(210)는 주제어 이력2(612)를 통해 새롭게 추가된 주제어 'Topic:다이어트', 'Topic:오늘' 및 'Topic:내일' 및 해당 주제어에 대한 기설정된 분류에 따른 어휘 레벨 '용어_의료', '시간' 및 '시간'을 각각 매핑시켜 업데이트할 수 있다. 또한, 주제어 관리부(210)는 주제어 이력2(612)에 포함된 각각의 주제어에 최초 추가된 주제어에 대한 가중치 초기값으로 가중치 'conf:3', 응답 데이터로부터 추출된 주제어로서 발생 위치 정보 'born:1' 및 누적 턴수 'turn:1'을 부여함으로써 주제어 이력 리스트(610)를 업데이트할 수 있다.
이 후, "다이어트 어떻게 해"라는 신규 사용자 발화가 입력되었다고 가정하자. 주제어 관리부(210)는 도 6c를 참조하면, 상세 값들이 업데이트된 주제어 이력2(612)가 포함되도록 주제어 이력3(613)을 주제어 이력 리스트(610)에 추가함으로써 주제어 이력 리스트(610)를 업데이트 시킬 수 있다. 예를 들어, 주제어 관리부(210)는 주제어 이력2(612)에 포함된 각 주제어의 가중치를 모두 1씩 감소시키고 누적 턴수 값을 1씩 증가시켜 업데이트 시킬 수 있다.
주제어 관리부(210)는 해당 사용자 발화("다이어트 어떻게 해")로부터 주제어 'Topic: 다이어트'를 추출하고, 추출된 주제어 'Topic: 다이어트'를 주제어 이력3(613)에 새롭게 추가하여 주제어 이력 리스트(610)를 관리할 수 있다. 주제어 관리부(210)는 주제어 이력3(613)를 통해 새롭게 추가된 주제어 'Topic:다이어트' 및 해당 주제어에 대한 기설정된 분류에 따른 어휘 레벨 '문화컨텐츠_컨텐츠'를 매핑시켜 업데이트할 수 있다. 또한, 주제어 관리부(210)는 주제어 이력3(613)에 추가된 주제어 'Topic:다이어트'에 대한 가중치 'conf:3', 사용자 발화로부터 추출된 주제어로서 발생 위치 정보 'born:0' 및 누적 턴수 'turn:1'을 부여하여 업데이트할 수 있다.
예제 선택부(220)는, 도 6g를 참조하면, 해당 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스(620)로부터 추출하고, 주제어 이력3(613)에 포함된 주제어 및 해당 사용자 발화로부터 추출된 주제어에 기초하여 대화 데이터베이스(620)를 통해 사용자 발화에 대응하는 응답 데이터를 검색할 수 있다.
예제 선택부(220)는 "다이어트 어떻게 해"라는 사용자 발화에 대한 응답 데이터로 "다이어트는 식이 조절과 함께 유산소 운동을 병행하시면 된답니다(622)"를 출력할 수 있다.
주제어 관리부(210)는 도 6d를 참조하면, 상세 값들이 업데이트된 주제어 이력3(613)이 포함되도록 주제어 이력4(614)을 주제어 이력 리스트(610)에 추가함으로써 주제어 이력 리스트(610)를 업데이트 시킬 수 있다. 예를 들어, 주제어 관리부(210)는 주제어 이력3(613)에 포함되어 있던 각 주제어의 가중치를 모두 1씩 감소시킬 수 있으나, 응답 데이터("다이어트는 식이 조절과 함께 유산소 운동을 병행하시면 된답니다")에 포함되어 있는 주제어 'Topic: 다이어트'에 대한 가중치 값은 1 증가시킬 수 있다. 또한, 주제어 관리부(210)는 주제어 이력3(613)에 포함되어 있던 각 주제어의 누적 턴수 값을 모두 1씩 증가시킬 수 있다.
주제어 관리부(210)는 응답 데이터("다이어트는 식이 조절과 함께 유산소 운동을 병행하시면 된답니다")로부터 주제어 'Topic: 식이조절', 'Topic: 유산소 운동' 및 'Topic: 유산소 운동'을 추출하고, 추출된 주제어 'Topic: 식이조절', 'Topic: 유산소 운동' 및 'Topic: 유산소 운동'을 주제어 이력4(614)에 추가하여 주제어 이력 리스트(610)를 업데이트 및 관리할 수 있다. 주제어 관리부(210)는 주제어 이력4(614)를 통해 새롭게 추가된 주제어 'Topic: 식이조절', 'Topic: 유산소 운동' 및 'Topic: 유산소 운동' 및 해당 주제어에 대한 어휘 레벨 '용어', '용어_스포츠' 및 '용어_의료'를 각각 매핑시켜 업데이트할 수 있다. 또한, 주제어 관리부(210)는 주제어 이력4(614)에 추가된 주제어에 대한 가중치 'conf:3', 발생 위치 정보 'born:1' 및 누적 턴수 'turn:1'를 부여하여 업데이트할 수 있다.
여기서, 주제어 이력 리스트(610)에서 허용할 수 있는 주제어 이력이 4개라고 가정하면, 주제어 관리부(210)는 주제어 이력 리스트(610)에서 관리하고 있는 복수의 주제어에 대한 스코어를 산출하여 산출된 스코어를 토대로 주제어 이력에 남아 있을 주제어의 개수를 4개로 설정할 수 있다. 전술한 방법에 따라 복수의 주제어에 대하여 스코어를 산출하면, 1위 "다이어트/용어_의료", 2위 "식이조절/용어", 3위 "유산소 운동/용어_스포츠" 및 "유산소 운동/용어_의료", 4위 "오늘/시간" 및 "내일/시간", 5위 "다이어트/문화컨텐츠_컨텐츠"로 랭킹이 부여될 수 있다. 따라서, 주제어 관리부(210)는 상위 3순위까지의 주제어 4개만 주제어 이력4(614)에 남겨둔 채 관리할 수 있다.
이 후, "힘들다"라는 신규 사용자 발화가 입력되었다고 가정하자. 이 때, 주제어 관리부(210)는 신규 사용자 발화에 대한 주제어를 추출할 수 없을 수 있다. 이 경우, 주제어 관리부(210)는 도 6e를 참조하면, 상세 값들이 업데이트된 주제어 이력4(614)가 포함되도록 주제어 이력5(615)를 주제어 이력 리스트(610)에 추가함으로써 주제어 이력 리스트(610)를 업데이트 시킬 수 있다. 예를 들어, 주제어 관리부(210)는 주제어 이력4(614)에 포함되어 있는 각 주제어의 가중치를 모두 1씩 감소시키고 누적 턴수 값을 1씩 증가시켜 업데이트 시킬 수 있다.
여기서, 주제어 관리부(210)는 도 6g를 참조하면, 대화 데이터베이스(620)에서 관리되고 있는 대화 히스토리에 기초하여 해당 사용자 발화에서 생략된 주제어를 복원하고, 복원된 주제어를 주제어 이력 리스트(610)에 업데이트시킬 수 있다.
예를 들어, 예제 선택부(220)는 해당 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스(620)로부터 추출하고, 주제어 이력5(615)에 포함된 주제어에 기초하여 대화 데이터베이스(620)를 통해 사용자 발화에 대응하는 응답 데이터를 검색할 수 있다.
도 6g를 참조하면 예제 선택부(220)에서, 신규 사용자 발화를 토대로 추출한 예제 후보가 '힘들다(623)' 및 '다이어트 힘들다(624)'라고 가정하자. 예제 선택부(220)는 주제어 이력 리스트(610)에서 관리되고 있는 주제어 이력5(615)에 포함된 복수의 주제어 중 각 주제어의 가중치를 고려하여 예제 후보 '힘들다(623)' 및 '다이어트 힘들다(624)' 중에서 '다이어트 힘들다(624)'를 최종적인 예제 후보로 선택할 수 있다.
주제어 관리부(210)는 선택된 예제 후보 '다이어트 힘들다(624)'로부터 주제어 'Topic:다이어트'를 추출하고, 추출된 주제어 'Topic:다이어트'를 주제어 이력6(616)에 추가하여 주제어 이력 리스트(610)를 업데이트할 수 있다.
도 6f를 참조하면 주제어 관리부(210)는 최종 선택된 예제 후보 '다이어트 힘들다(624)'로부터 추출된 주제어 'Topic:다이어트'가 주제어 이력5(615)에 포함되어 있던 주제어 'Topic: 다이어트'와 동일하기 때문에 주제어 이력5(615)에 포함되어 있던 주제어 'Topic: 다이어트'에 대한 가중치 값을 다시 3으로 업데이트하고, 업데이트 된 값이 포함되어 있는 주제어 이력6(616)을 주제어 이력 리스트(610)에 업데이트 시킬 수 있다.
이와 같이, 본원 발명은 사용자 발화 및 응답 데이터로부터 추출된 주제어를 주제어 이력 리스트(610)를 통해 관리함으로써, 사용자 단말(110)과 주제어에 기초하여 응답을 도출하는 서버(120) 간의 자연스러우면서 깊이 있는 대화를 이어나갈 수 있다.
도 7은 본 발명의 일 실시예에 따른 주제어 기반 응답 도출 방법의 순서도이다. 도 7에 도시된 주제어 기반 응답 도출 서버에서 응답을 도출하는 방법은 도 1 내지 도 6g에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 6g에 도시된 실시예에 따른 주제어 기반 응답 도출 서버(120)에서 응답을 도출하는 방법에도 적용된다.
단계 S710에서 주제어 기반 응답 도출 서버(120)는 과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출할 수 있다.
단계 S720에서 주제어 기반 응답 도출 서버(120)는 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 추출된 주제어를 관리할 수 있다.
단계 S730에서 주제어 기반 응답 도출 서버(120)는 신규 사용자 발화가 입력될 수 있다.
단계 S740에서 주제어 기반 응답 도출 서버(120)는 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출할 수 있다.
단계 S750에서 주제어 기반 응답 도출 서버(120)는 주제어 이력 리스트에 포함된 주제어 및 신규 사용자 발화로부터 추출된 주제어에 기초하여 추출된 예제 후보 중 하나를 선택할 수 있다.
단계 S760에서 주제어 기반 응답 도출 서버(120)는 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력할 수 있다.
상술한 설명에서, 단계 S710 내지 S760은 본 발명의 구현 예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 7을 통해 설명된 주제어 기반 응답 도출 서버에서 응답을 도출하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 7을 통해 설명된 주제어 기반 응답 도출 서버에서 응답을 도출하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 사용자 단말
120: 주제어 기반 응답 도출 서버
210: 주제어 관리부
220: 예제 선택부
230: 응답 출력부
240: 추가 질문 생성부
250: 주제 전환부

Claims (20)

  1. 주제어에 기초하여 사용자 발화에 대한 응답을 도출하는 서버에 있어서,
    과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하고, 상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하는 주제어 관리부;
    신규 사용자 발화가 입력되는 경우, 상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고, 상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 예제 선택부; 및
    상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하는 응답 출력부;
    를 포함하는 것인, 주제어 기반 응답 도출 서버.
  2. 제 1 항에 있어서,
    상기 주제어 관리부는,
    상기 가중치, 상기 추출된 주제어에 대한 발생 위치 정보, 상기 응답 데이터가 출력된 경우 누적되는 대화 세트에 대한 누적 턴수 및 상기 추출된 주제어의 등장 횟수에 대한 반복 횟수를 상기 주제어 이력 리스트를 통해 업데이트하는 것인, 주제어 기반 응답 도출 서버.
  3. 제 2 항에 있어서,
    상기 주제어 관리부는,
    상기 과거 응답 데이터 및 상기 과거 응답 데이터로부터 추출된 주제어를 매핑시키고, 상기 추출된 주제어에 기설정된 분류에 따른 어휘 레벨을 매핑시켜 상기 대화 데이터베이스를 통해 관리하고,
    상기 출력된 응답 데이터로부터 추출된 주제어 및 상기 추출된 주제어에 기설정된 분류에 따른 어휘 레벨을 매핑시켜 상기 주제어 이력 리스트를 통해 업데이트하는 것인, 주제어 기반 응답 도출 서버.
  4. 제 3 항에 있어서,
    상기 주제어 관리부는 상기 응답 데이터가 출력되는 경우, 상기 추출된 주제어 및 상기 어휘 레벨을 상기 주제어 이력 리스트를 통해 업데이트하는 것인, 주제어 기반 응답 도출 서버.
  5. 제 4 항에 있어서,
    상기 주제어 관리부는 주제어 중복 여부 검사에 기초하여 상기 출력된 응답 데이터로부터 추출된 주제어의 어휘 레벨 및 발생 위치가 상기 주제어 이력 리스트에 포함된 어느 하나의 주제어의 어휘 레벨 및 발생 위치 정보가 동일한 경우 중복된 주제어로 판단하고,
    상기 주제어 중복 여부 검사를 상기 주제어 이력 리스트를 통해 업데이트하는 것인, 주제어 기반 응답 도출 서버.
  6. 제 2 항에 있어서,
    상기 주제어 관리부는,
    상기 가중치, 상기 발생 위치 정보, 상기 누적 턴수 및 상기 반복 횟수에 기초하여 상기 주제어 이력 리스트를 통해 관리 중인 복수의 주제어에 대한 스코어를 산출하고,
    상기 산출된 스코어에 기초하여 상기 주제어 이력 리스트를 통해 관리 중인 복수의 주제어 중 적어도 하나를 주요 주제어로 도출하는 것인, 주제어 기반 응답 도출 서버.
  7. 제 6 항에 있어서,
    상기 주제어 관리부는 상기 추출된 주제어에 대한 기설정된 개체명 계위 정보에 더 기초하여 상기 주제어 이력 리스트를 통해 관리 중인 복수의 주제어에 대한 스코어를 산출하는 것인, 주제어 기반 응답 도출 서버.
  8. 제 6 항에 있어서,
    상기 예제 선택부는 상기 도출된 주요 주제어 및 상기 추출된 예제 후보 간의 유사도에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 것인, 주제어 기반 응답 도출 서버.
  9. 제 1 항에 있어서,
    상기 주제어 관리부는 상기 과거 사용자 발화에 기설정된 분류에 따른 개념 레벨을 매핑하여 상기 대화 데이터베이스를 통해 관리하는 것인, 주제어 기반 응답 도출 서버.
  10. 제 9 항에 있어서,
    상기 추출된 예제 후보 중 하나를 선택하지 못한 경우, 상기 개념 레벨에 기초하여 추가 질문을 생성하는 추가 질문 생성부
    를 더 포함하는 것인, 주제어 기반 응답 도출 서버.
  11. 제 1 항에 있어서,
    상기 주제어 이력 리스트가 업데이트되지 않는 경우, 상기 주제어 이력 리스트를 통해 관리 중인 복수의 주제어 중 가중치에 따라 선택된 적어도 하나에 기초하여 상기 신규 사용자 발화에 대한 대화 주제를 전환하는 주제 전환부
    를 더 포함하는 것인, 주제어 기반 응답 도출 서버.
  12. 주제어에 기초하여 사용자 발화에 대한 응답을 도출하는 방법에 있어서,
    과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하는 단계;
    상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하는 단계;
    신규 사용자 발화가 입력되는 단계;
    상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하는 단계;
    상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 단계; 및
    상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하는 단계;
    를 포함하는 것인, 주제어 기반 응답 도출 방법.
  13. 제 12 항에 있어서,
    상기 추출된 주제어를 관리하는 단계는,
    상기 가중치, 상기 추출된 주제어에 대한 발생 위치 정보, 상기 응답 데이터가 출력된 경우 누적되는 대화 세트에 대한 누적 턴수 및 상기 추출된 주제어의 등장 횟수에 대한 반복 횟수를 상기 주제어 이력 리스트를 통해 업데이트하는 것인, 주제어 기반 응답 도출 방법.
  14. 제 13 항에 있어서,
    상기 추출된 주제어를 관리하는 단계는,
    상기 과거 응답 데이터 및 상기 과거 응답 데이터로부터 추출된 주제어를 매핑시키고, 상기 추출된 주제어에 기설정된 분류에 따른 어휘 레벨을 매핑시켜 상기 대화 데이터베이스를 통해 관리하는 단계; 및,
    상기 출력된 응답 데이터로부터 추출된 주제어 및 상기 추출된 주제어에 기설정된 분류에 따른 어휘 레벨을 매핑시켜 상기 주제어 이력 리스트를 통해 업데이트하는 단계
    를 포함하는 것인, 주제어 기반 응답 도출 방법.
  15. 제 14 항에 있어서,
    상기 추출된 주제어를 관리하는 단계는,
    주제어 중복 여부 검사에 기초하여 상기 출력된 응답 데이터로부터 추출된 주제어의 어휘 레벨 및 발생 위치가 상기 주제어 이력 리스트에 포함된 어느 하나의 주제어의 어휘 레벨 및 발생 위치와 동일한 경우 중복된 주제어로 판단하는 단계; 및
    상기 주제어 중복 여부 검사를 상기 주제어 이력 리스트를 통해 업데이트하는 단계
    를 더 포함하는 것인, 주제어 기반 응답 도출 방법.
  16. 제 13 항에 있어서,
    상기 가중치, 상기 발생 위치 정보, 상기 누적 턴수, 상기 반복 횟수 및 상기 추출된 주제어에 대한 기설정된 개체명 계위 정보에 기초하여 상기 주제어 이력 리스트를 통해 관리 중인 복수의 주제어에 대한 스코어를 산출하는 단계
    를 더 포함하는 것인, 주제어 기반 응답 도출 방법.
  17. 제 16 항에 있어서,
    상기 추출된 예제 후보 중 하나를 선택하는 단계는 상기 도출된 주요 주제어 및 상기 추출된 예제 후보 간의 유사도에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 것인, 주제어 기반 응답 도출 방법.
  18. 제 17 항에 있어서,
    상기 추출된 예제 후보 중 하나를 선택하지 못한 경우 개념 레벨에 기초하여 추가 질문을 생성하는 단계
    를 더 포함하고,
    상기 개념 레벨은 상기 과거 사용자 발화에 기설정된 분류에 따라 매핑되어 상기 대화 데이터베이스를 통해 관리되는 것인, 주제어 기반 응답 도출 방법.
  19. 제 12 항에 있어서,
    상기 주제어 이력 리스트가 업데이트되지 않는 경우, 상기 주제어 이력 리스트를 통해 관리 중인 복수의 주제어 중 가중치에 따라 선택된 적어도 하나에 기초하여 상기 신규 사용자 발화에 대한 대화 주제를 전환하는 단계
    를 더 포함하는 것인, 주제어 기반 응답 도출 방법.
  20. 주제어에 기초하여 사용자 발화에 대한 응답을 도출하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    과거 사용자 발화 또는 과거 응답 데이터로부터 주제어를 추출하고,
    상기 추출된 주제어의 가중치 및 발생 위치 정보에 기초하여 주제어 이력 리스트를 통해 상기 추출된 주제어를 관리하고,
    신규 사용자 발화가 입력되는 경우, 상기 신규 사용자 발화에 기초하여 적어도 하나의 예제 후보를 대화 데이터베이스로부터 추출하고,
    상기 주제어 이력 리스트에 포함된 주제어 및 상기 신규 사용자 발화로부터 추출된 주제어에 기초하여 상기 추출된 예제 후보 중 하나를 선택하는 예제 선택하고,
    상기 선택된 예제 후보에 매칭되어 있는 응답 데이터를 출력하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
KR1020200014946A 2020-02-07 2020-02-07 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램 KR20210100946A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200014946A KR20210100946A (ko) 2020-02-07 2020-02-07 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200014946A KR20210100946A (ko) 2020-02-07 2020-02-07 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20210100946A true KR20210100946A (ko) 2021-08-18

Family

ID=77464620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200014946A KR20210100946A (ko) 2020-02-07 2020-02-07 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20210100946A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101944777B1 (ko) 2017-04-16 2019-02-01 이상훈 시선 인식에 의한 대화 연속성 식별 기반의 휴먼 인터페이스 처리형 인공지능 스피커

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101944777B1 (ko) 2017-04-16 2019-02-01 이상훈 시선 인식에 의한 대화 연속성 식별 기반의 휴먼 인터페이스 처리형 인공지능 스피커

Similar Documents

Publication Publication Date Title
US11740863B2 (en) Search and knowledge base question answering for a voice user interface
Banchs et al. IRIS: a chat-oriented dialogue system based on the vector space model
US20170330567A1 (en) Vocabulary generation system
JP7111154B2 (ja) 回答選択装置、回答選択方法、回答選択プログラム
US11494434B2 (en) Systems and methods for managing voice queries using pronunciation information
JP2018028752A (ja) 対話システム及びそのためのコンピュータプログラム
JP2015219583A (ja) 話題決定装置、発話装置、方法、及びプログラム
US10872601B1 (en) Natural language processing
US11043215B2 (en) Method and system for generating textual representation of user spoken utterance
JP7096172B2 (ja) キャラクタ性に応じた形容発話を含む対話シナリオを生成する装置、プログラム及び方法
US20220351716A1 (en) System and method for a personalized dialogue system using knowledge-based entity services
KR20190046062A (ko) 대화 시스템을 위한 대화 시나리오 데이터베이스 구축 방법 및 장치
US20210034662A1 (en) Systems and methods for managing voice queries using pronunciation information
KR102204491B1 (ko) 온톨로지 대화 관계망을 이용한 연속 대화 방법 및 시스템
CN111128175B (zh) 口语对话管理方法及系统
Wärnestål User evaluation of a conversational recommender system
KR20180022156A (ko) 대화 관리 장치 및 방법
US11410656B2 (en) Systems and methods for managing voice queries using pronunciation information
CN111427444B (zh) 一种智能设备的控制方法和设备
KR20200143039A (ko) 대화 시나리오 데이터베이스 구축 방법 및 장치
KR20210100946A (ko) 주제어에 기초하여 응답을 도출하는 서버, 방법 및 컴퓨터 프로그램
JP2003108566A (ja) エージェントを用いた情報検索方法および情報検索装置
KR20190132708A (ko) 대화 시나리오 의미 패턴 자동 생성에 의한 연속 대화 방법 및 시스템
KR20200028158A (ko) 다국어 음성 명령 서비스를 제공하는 미디어 재생 장치, 방법 및 컴퓨터 프로그램
RU2818036C1 (ru) Способ и система управления диалоговым агентом в канале взаимодействия с пользователем