KR102193559B1 - 대화형 서버 및 이의 제어 방법 - Google Patents
대화형 서버 및 이의 제어 방법 Download PDFInfo
- Publication number
- KR102193559B1 KR102193559B1 KR1020140018240A KR20140018240A KR102193559B1 KR 102193559 B1 KR102193559 B1 KR 102193559B1 KR 1020140018240 A KR1020140018240 A KR 1020140018240A KR 20140018240 A KR20140018240 A KR 20140018240A KR 102193559 B1 KR102193559 B1 KR 102193559B1
- Authority
- KR
- South Korea
- Prior art keywords
- response
- user
- chat
- search
- voice
- Prior art date
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 475
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42203—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
대화형 서버 및 이의 제어 방법이 제공된다. 본 대화형 서버의 제어 방법은 사용자 음성을 입력받고, 사용자 음성의 발화 타입을 판단하며, 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하고, 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하며, 생성된 통합 응답을 사용자 단말로 전송한다.
Description
본 발명은 대화형 서버 및 이의 제어 방법에 관한 것으로서, 입력된 사용자 음성에 응답하여 검색 응답 및 채팅 응답을 결합하는 통합 응답을 제공하는 대화형 서버 및 이의 제어 방법에 관한 것이다.
근래에는 사용자 음성에 능동적으로 응답을 수행하는 대화형 시스템이 제공되고 있다. 구체적으로, 사용자 단말이 사용자 음성을 인식하고, 인식된 사용자 음성을 외부의 대화형 서버로 전송하면, 대화형 서버는 사용자 음성의 발화 타입을 판단하고, 발화 타입에 따라 응답 결과를 생성하여 사용자 단말로 전송한다.
예를 들어, "무서운 영화 추천해 줘"와 같은 사용자 음성이 입력된 경우, 대화형 서버는 사용자 음성의 발화 타입을 검색 발화 타입으로 판단하고, 사용자 음성에 응답하여 "공포영화 17건이 검색되었습니다."라는 검색 응답을 사용자 단말로 전송할 수 있다. 또 다른 예로, "배가 고프네"와 같은 사용자 음성이 입력된 경우, 대화형 서버는 사용자 음성의 발화 타입을 채팅 발화 타입으로 판단하고, 사용자 음성에 응답하여 "저도 다이어트 중입니다"라는 채팅 응답을 사용자 단말로 전송할 수 있다.
즉, 종래의 대화형 시스템은 사용자 음성에 응답하여 검색 응답 및 채팅 응답 중 하나만을 사용자에게 출력할 수 있다. 그러나, 사용자 음성이 검색 응답인지 채팅 응답인지 모호한 경우가 발생할 수 있다. 이 경우, 유사한 의미를 가지는 사용자 발화들에 대해 일부는 검색 응답을 출력할 수 있고, 다른 일부에서는 채팅 응답을 출력하므로, 사용자 경험의 일관성이 떨어지는 문제점이 발생할 수 있다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은, 사용자 음성의 발화 타입이 모호한 경우, 검색 응답 및 채팅 응답을 결합하는 통합 응답을 제공할 수 있는 대화형 서버 및 이의 제어 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 대화형 서버의 제어 방법은, 사용자 음성을 입력받는 단계; 상기 사용자 음성의 발화 타입을 판단하는 단계; 상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하고, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 단계; 및 상기 생성된 통합 응답을 사용자 단말로 전송하는 단계;를 포함할 수 있다.
그리고, 상기 판단하는 단계는, 검색 발화들로 구축된 검색 언어 모델을 이용하여 상기 사용자 음성이 검색 발화 타입에 해당할 확률을 산출하고, 채팅 발화들로 구축된 채팅 언어 모델을 이용하여 상기 사용자 음성이 채팅 발화 타입에 해당할 확률을 산출하는 단계; 상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 산출하는 단계; 및 상기 차이값이 기설정된 값 이하인 경우, 상기 사용자 음성의 발화 타입을 상기 통합 발화 타입이라고 판단하는 단계;를 포함할 수 있다.
또한, 상기 사용자 음성의 발화 타입을 판단하는 단계는, 상기 차이값이 기설정된 값 초과인 경우, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 크면, 상기 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단하고, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 작으면, 상기 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단하는 단계;를 더 포함할 수 있다.
그리고, 상기 사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답을 생성하고, 상기 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 채팅 응답을 생성하는 단계; 상기 사용자 음성에 대한 검색 응답 및 채팅 응답 중 생성된 하나를 상기 사용자 단말로 전송하는 단계;를 포함할 수 있다.
또한, 상기 생성하는 단계는, 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하는 단계; 상기 검색 응답 및 채팅 응답의 문장 유형 및 공통적인 정보 포함 여부를 판단하여 상기 검색 응답 및 채팅 응답의 결합이 가능한지 여부를 판단하는 단계; 상기 검색 응답 및 채팅 응답의 결합이 가능한 경우, 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단하는 단계; 상기 검색 응답 및 채팅 응답을 결합하기 위하여, 상기 검색 응답 및 채팅 응답 중 적어도 하나를 수정하는 단계; 및 상기 수정된 검색 응답 및 채팅 응답을 상기 판단된 결합 순서에 따라 결합하는 단계;를 포함할 수 있다.
그리고, 상기 검색 응답 및 채팅 응답의 결합이 불가능한 경우, 상기 검색 응답 및 상기 채팅 응답 중 하나를 전송하는 단계;를 포함할 수 있다.
또한, 상기 결합의 순서를 판단하는 단계는, 상기 사용자 음성이 채팅 발화 타입에 해당할 확률 및 상기 사용자 음성이 검색 발화 타입에 해당할 확률의 크기를 비교하여 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단할 수 있다.
그리고, 상기 수정하는 단계는, 상기 검색 응답 및 채팅 응답 중 적어도 하나에 대한 문장의 어미를 수정할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 대화형 서버는 사용자 단말로부터 사용자 음성을 입력받는 입력부; 상기 입력부를 통해 사용자 음성이 입력되면, 상기 사용자 음성의 발화 타입을 판단하는 판단부; 상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하며, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 응답 생성부; 및 상기 생성된 통합 응답을 사용자 단말로 전송하는 전송부;를 포함한다.
그리고, 상기 판단부는, 검색 발화들로 구축된 검색 언어 모델을 이용하여 상기 사용자 음성이 검색 발화 타입에 해당할 확률을 산출하고, 채팅 발화들로 구축된 채팅 언어 모델을 이용하여 상기 사용자 음성이 채팅 발화 타입에 해당할 확률을 산출하는 확률 산출부; 상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 산출하는 차이값 산출부; 및 상기 차이값이 기설정된 값 이하인 경우, 상기 사용자 음성의 발화 타입을 상기 통합 발화 타입이라고 판단하는 발화 타입 판단부;를 포함할 수 있다.
또한, 상기 발화 타입 판단부는, 상기 차이값이 기설정된 값 초과인 경우, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 크면, 상기 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단하고, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 작으면, 상기 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단할 수 있다.
그리고, 상기 응답 생성부는, 상기 사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답을 생성하고, 상기 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 채팅 응답을 생성하며, 상기 전송부는, 상기 사용자 음성에 대한 검색 응답 및 채팅 응답 중 생성된 하나를 상기 사용자 단말로 전송할 수 있다.
또한, 상기 응답 생성부는, 상기 사용자 음성에 대한 검색 응답을 생성하는 검색 응답 생성부; 상기 사용자 음성에 대한 채팅 응답을 생성하는 채팅 응답 생성부; 상기 검색 응답 및 채팅 응답의 문장 유형 및 공통적인 정보 포함 여부를 판단하여 상기 검색 응답 및 채팅 응답의 결합이 가능한지 여부를 판단하는 결합 판단부; 상기 검색 응답 및 채팅 응답의 결합이 가능한 경우, 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단하는 결합 순서 판단부; 상기 검색 응답 및 채팅 응답을 결합하기 위하여, 상기 검색 응답 및 채팅 응답 중 적어도 하나를 수정하는 응답 수정부; 및 상기 수정된 검색 응답 및 채팅 응답을 상기 판단된 결합 순서에 따라 결합하는 응답 결합부;를 포함할 수 있다.
그리고, 상기 전송부는, 상기 결합 판단부에 의해 상기 검색 응답 및 채팅 응답의 결합이 불가능한 것으로 판단된 경우, 상기 검색 응답 및 상기 채팅 응답 중 하나를 전송할 수 있다.
또한, 상기 결합 순서 판단부는, 상기 사용자 음성이 채팅 발화 타입에 해당할 확률 및 상기 사용자 음성이 검색 발화 타입에 해당할 확률의 크기를 비교하여 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단할 수 있다.
그리고, 상기 응답 수정부는, 상기 검색 응답 및 채팅 응답 중 적어도 하나에 대한 문장의 어미를 수정할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 대화형 서버의 제어 방법은, 사용자 음성을 입력받는 단계; 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하는 단계; 상기 사용자 음성의 발화 타입을 판단하는 단계; 상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 단계; 및 상기 생성된 통합 응답을 사용자 단말로 전송하는 단계;를 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 대화형 서버는, 사용자 단말로부터 사용자 음성을 입력받는 입력부; 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하는 응답 생성부; 상기 사용자 음성의 발화 타입을 판단하는 판단부; 상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 통합 응답 생성부; 및 상기 생성된 통합 응답을 사용자 단말로 전송하는 전송부;를 포함한다.
상술한 바와 같은 본 발명의 일 실시예에 의해, 사용자 음성의 발화 타입이 모호한 경우, 검색 응답 및 채팅 응답을 결합한 통합 응답을 제공받음으로써, 사용자는 일관성있는 대화형 서비스를 제공받을 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른, 대화형 시스템을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, 대화형 서버의 구성을 나타내는 블럭도,
도 3은 본 발명의 일 실시예에 따른, 도 2의 판단부의 구성을 나타내는 블럭도,
도 4는 본 발명의 일 실시예에 따른, 도 2의 응답 생성부의 구성을 나타내는 블럭도,
도 5는 본 발명의 일 실시예에 따른, 대화형 서버의 제어 방법을 설명하기 위한 흐름도,
도 6은 본 발명의 일 실시예에 따른, 사용자 음성의 발화 타입을 판단하는 방법을 설명하기 위한 흐름도,
도 7은 본 발명의 일 실시예에 따른, 통합 응답을 생성하는 방법을 설명하기 위한 흐름도,
도 8은 본 발명의 다른 실시예에 따른, 대화형 서버의 구성을 나타내는 블럭도, 그리고,
도 9는 본 발명의 다른 실시예에 따른, 대화형 서버의 제어 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른, 대화형 서버의 구성을 나타내는 블럭도,
도 3은 본 발명의 일 실시예에 따른, 도 2의 판단부의 구성을 나타내는 블럭도,
도 4는 본 발명의 일 실시예에 따른, 도 2의 응답 생성부의 구성을 나타내는 블럭도,
도 5는 본 발명의 일 실시예에 따른, 대화형 서버의 제어 방법을 설명하기 위한 흐름도,
도 6은 본 발명의 일 실시예에 따른, 사용자 음성의 발화 타입을 판단하는 방법을 설명하기 위한 흐름도,
도 7은 본 발명의 일 실시예에 따른, 통합 응답을 생성하는 방법을 설명하기 위한 흐름도,
도 8은 본 발명의 다른 실시예에 따른, 대화형 서버의 구성을 나타내는 블럭도, 그리고,
도 9는 본 발명의 다른 실시예에 따른, 대화형 서버의 제어 방법을 설명하기 위한 흐름도이다.
본 실시예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 초과의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
실시예에 있어서 ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의‘모듈’ 혹은 복수의‘부’는 특정한 하드웨어로 구현될 필요가 있는 ‘모듈’ 혹은 ‘부’를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
이하에서는 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하기로 한다. 도 1은 본 발명의 일 실시예에 따른, 대화형 시스템을 도시한 도면이다. 도 1에 도시된 바와 같이, 대화형 시스템(10)은 대화형 서버(100) 및 사용자 단말(200)을 포함한다. 이때, 사용자 단말(200)은 도 1에 도시된 바와 같이, 스마트 TV로 구현될 수 있으나, 이는 일 실시예에 불과할 뿐, 스마트 폰, 태블릿 PC, 노트북 PC, 데스크탑 PC 등과 같은 다양한 이동 혹은 고정형의 사용자 단말로 구현될 수 있다.
사용자 단말(200)은 사용자 음성을 입력받는다. 그리고, 사용자 단말(200)은 입력된 사용자 음성에 대한 음성 인식을 수행하여 사용자 음성에 대응되는 텍스트 데이터를 획득한다. 이때, 사용자 단말(200)은 직접 입력된 사용자 음성에 대한 음성 인식을 수행할 수 있으나, 이는 일 실시예에 불과할 뿐, 외부의 서버를 이용하여 음성 인식을 수행할 수 있다. 구체적으로, 사용자 단말(200)은 입력된 사용자 음성에 대응되는 음성 데이터를 외부의 음성 인식 서버로 전송하고, 음성 인식 서버는 입력된 음성 데이터에 대한 음성 인식을 수행하여 텍스트 데이터를 생성한 후, 텍스트 데이터를 사용자 단말(200)로 전송할 수 있다. 또한, 본 발명의 다른 실시예에 의하면, 사용자 단말(200)은 사용자 음성에 대응되는 음성 데이터를 대화형 서버(100)로 전송하며, 대화형 서버(100)가 직접 음성 인식을 수행할 수 있다.
사용자 단말(200)은 입력된 사용자 음성에 대응되는 텍스트 데이터를 대화형 서버(100)로 전송한다.
대화형 서버(100)는 입력된 사용자 음성에 대응되는 텍스트 데이터를 이용하여 사용자 음성의 발화 타입을 판단한다. 이때, 사용자 음성의 발화 타입에는 검색 발화 타입, 채팅 발화 타입 및 통합 발화 타입이 포함될 수 있다.
구체적으로, 대화형 서버(100)는 검색 발화들로 구축된 검색 언어 모델을 이용하여 사용자 음성이 검색 발화 타입에 해당할 확률을 산출하고, 채팅 발화들로 구축된 채팅 언어 모델을 이용하여 사용자 음성이 채팅 발화 타입에 해당할 확률을 산출할 수 있다. 그리고, 대화형 서버(100)는 사용자 음성이 검색 발화 타입에 해당할 확률과 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 산출하고, 차이값이 기설정된 값 이하인 경우, 즉, 사용자 음성이 검색 발화 타입인지 채팅 발화 타입인지 모호한 경우, 사용자 음성의 발화 타입을 통합 발화 타입이라고 판단할 수 있다. 그러나, 차이값이 기설정된 값 초과인 경우, 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 크면, 대화형 서버(100)는 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단하고, 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 작으면, 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단할 수 있다.
사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 대화형 서버(100)는 사용자 음성에 응답하여 검색 응답을 생성하며, 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 대화형 서버(100)는 사용자 음성에 응답하여 채팅 응답을 생성할 수 있다. 그리고, 대화형 서버(100)는 생성된 검색 응답 및 채팅 응답 중 생성된 하나를 사용자 단말(200)로 전송할 수 있다.
그러나, 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 대화형 서버(100)는 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하고, 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성할 수 있다.
구체적으로, 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 대화형 서버(100)는 사용자 음성에 대한 검색 응답 및 채팅 응답을 모두 생성할 수 있다. 그리고, 대화형 서버(100)는 검색 응답 및 채팅 응답의 문장 유형 및 공통적인 정보 포함 여부를 판단하여 검색 응답 및 채팅 응답의 결합이 가능한지 여부를 판단할 수 있다. 예를 들어, 대화형 서버(100)는 검색 응답 및 채팅 응답의 문장 유형이 모두 평서문인 경우, 검색 응답 및 채팅 응답의 결합이 불가능하다고 판단할 수 있다. 검색 응답 및 채팅 응답의 결합이 가능한 경우, 대화형 서버(100)는 검색 응답 및 채팅 응답의 결합의 순서를 판단하며, 검색 응답 및 채팅 응답을 결합하기 위하여, 상기 검색 응답 및 채팅 응답 중 적어도 하나를 수정할 수 있다. 그리고, 대화형 서버(100)는 수정된 검색 응답 및 채팅 응답을 판단된 결합 순서에 따라 결합하여 통합 응답을 생성할 수 있다. 그리고, 대화형 서버(100)는 생성된 통합 응답을 사용자 단말(200)로 전송할 수 있다.
사용자 단말(200)은 대화형 서버(100)로부터 전송된 사용자 음성에 응답하는 검색 응답, 채팅 응답 및 통합 응답 중 하나를 출력할 수 있다.
상술한 바와 같은 대화형 시스템(10)과 같이, 사용자 음성의 발화 타입이 모호한 경우, 검색 응답 및 채팅 응답을 결합한 통합 응답을 제공함으로써, 사용자는 일관성있는 대화형 서비스를 제공받을 수 있게 된다.
한편, 상술한 실시예에서는, 대화형 서버(100)가 사용자 음성의 발화 타입을 먼저 판단한 후, 발화 타입에 대응되는 응답을 생성하였으나, 이는 일 실시예에 불과할 뿐, 대화형 서버(100)는 사용자 음성에 대응되는 검색 응답 및 채팅 응답을 모두 생성한 후, 발화 타입을 판단하고, 판단된 발화 타입에 따라 사용자 음성에 대한 응답을 사용자 단말(200)로 전송할 수 있다.
이하에서는 도 2 내지 도 4를 참조하여 대화형 서버(100)에 대해 더욱 상세히 설명하기로 한다. 도 2는 본 발명의 일 실시예에 따른, 대화형 서버(100)의 구성을 나타내는 블럭도이다. 도 2에 도시된 바와 같이, 대화형 서버(100)는 입력부(110), 판단부(120), 응답 생성부(130), 전송부(140), 검색 언어 모델(150) 및 채팅 언어 모듈(160)을 포함한다.
입력부(110)는 사용자 단말(200)로부터 사용자 음성을 입력받는다. 이때, 입력부(110)는 텍스트 데이터 형태의 사용자 음성을 입력받을 수 있으나, 이는 일 실시예에 불과할 뿐, 음성 데이터 형태의 사용자 음성을 입력받을 수 있다. 음성 데이터 형태의 사용자 음성이 입력된 경우, 입력부(110)는 음성 인식 모듈을 이용하여 사용자 음성에 대한 음성 인식을 수행하여 텍스트 데이터를 추출할 수 있다.
판단부(120)는 검색 언어 모델(150) 및 채팅 언어 모델(160)을 이용하여 사용자 음성의 발화 타입을 판단한다. 이때, 검색 언어 모델(150)은 검색 발화들로 수집된 말뭉치를 이용하여 생성된 언어 모델이며, 채팅 언어 모델(160)은 채팅 발화들로 수집된 말뭉치를 이용하여 생성된 언어 모델이다.
예를 들어, "공포 영화 머 볼까" 및 "근처에 맛있는 음식점"이라는 사용자 음성이 입력된 경우, 판단부(120)는 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단할 수 있으며, "나 예뻐" 및 "기분 우울해"라는 사용자 음성이 입력된 경우, 판단부(120)는 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단할 수 있으며, "무서운 영화 좋더라" 또는 "오늘 날씨 좋아"라는 사용자 음성이 입력된 경우, 판단부(120)는 사용자 음성의 발화 타입을 통합 발화 타입이라고 판단할 수 있다.
판단부(120)가 사용자 음성의 발화 타입을 판단하는 구체적인 방법에 대해서는 도 3을 참조하여 상세히 설명하기로 한다. 구체적으로, 판단부(120)는 확률 산출부(121), 차이값 산출부(123) 및 발화 타입 판단부(125)를 포함할 수 있다.
확률 산출부(121)는 검색 언어 모델(150)을 이용하여 사용자 음성이 검색 발화 타입에 해당할 확률(LA(S))을 산출하고, 채팅 언어 모델을 이용하여 사용자 음성이 채팅 발화 타입에 해당할 확률(LB(S))을 산출할 수 있다. 이때, 사용자 음성이 검색 발화 타입에 해당할 확률(LA(S))은 사용자 음성에 대응되는 텍스트 데이터가 검색 언어 모델(150)에 존재할 확률이며, 사용자 음성이 채팅 발화 타입에 해당할 확률(LB(S))은 사용자 음성에 대응되는 텍스트 데이터가 채팅 언어 모델(160)에 존재할 확률이다.
그리고, 차이값 산출부(123)는 아래의 수학식 1을 이용하여 사용자 음성이 검색 발화 타입에 해당할 확률(LA(S))과 사용자 음성이 채팅 발화 타입에 해당할 확률(LB(S))의 차이값(f(S))을 산출할 수 있다.
발화 타입 판단부(125)는 사용자 음성이 검색 발화 타입(LA(S))에 해당할 확률, 사용자 음성이 채팅 발화 타입에 해당할 확률(LB(S)), 및 두 확률의 차이값을 이용하여 사용자 음성의 발화 타입을 판단할 수 있다. 이때, 발화 타입에는 검색 발화 타입, 채팅 발화 타입 및 통합 발화 타입이 포함될 수 있다. 이때, 통합 발화 타입은 채팅 발화 타입인지 검색 발화 타입인지 모호한 경우 채팅 응답 및 검색 응답을 결합하여 통합 응답을 제공하는 발화 타입니다.
우선, 발화 타입 판단부(125)는 아래의 수학식 2와 같이, 검색 발화 타입에 해당할 확률과 채팅 발화 타입에 해당할 확률의 차이값을 기설정된 값(θ)과 비교하여 판단할 수 있다.
즉, 차이값이 기설정된 값(θ) 이하인 경우, 발화 타입 판단부(125)는 사용자 음성의 발화 타입을 통합 발화 타입이라고 판단할 수 있으며, 차이값이 기설정된 값(θ) 초과인 경우, 사용자 음성의 발화 타입을 채팅 발화 타입 또는 검색 발화 타입으로 판단할 수 있다.
특히, 아래의 수학식 3과 같이, 차이값이 기설정된 값(θ) 초과인 경우, 사용자 음성이 검색 발화 타입에 해당할 확률(LA(S))이 채팅 발화 타입에 해당할 확률(LB(S))보다 크면, 발화 타입 판단부(125)는 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단하고, 사용자 음성이 검색 발화 타입에 해당할 확률(LA(S))이 채팅 발화 타입에 해당할 확률(LB(S))보다 작으면, 발화 타입 판단부(125)는 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단할 수 있다.
한편, 기설정된 값(θ)은 시스템 개발자가 임의로 설정할 수 있으나, 이는 일 실시예에 불과할 뿐, 테스트 문장을 토대로 수치를 정하여 산출될 수 있다. 테스트 문장을 토대로 θ 값을 설정하기 위해, 모호한 문장은 구분하지 못하고, 정보 검색 발화와 채팅 발화만으로 분리하는 분류기를 구축할 수 있다. 이때의 분류기는 1) f(S) >=0 일 경우 정보 검색 발화로 분류, 2) f(S) < 0일 경우 채팅 발화로 분류할 수 있다. 발화 타입 분류기에 대해 n개의 테스트 문장을 입력하여 발화타입의 분류 오류가 발생한 테스트 문장의 언어 모델 점수 수집한다. 오류가 발생한 문장들의 f(S)의 평균값(m) 및 표준 편차(σ)를 계산하여 기설정된 값(θ)을 산출할 수 있다.
다시 도 2에 대해 설명하면, 판단부(120)는 판단된 사용자 음성의 발화 타입에 대한 정보를 응답 생성부(130)로 출력할 수 있다.
응답 생성부(130)는 판단된 사용자 음성의 발화 타입에 따라 검색 응답, 채팅 응답 및 통합 응답 중 하나를 생성하여 출력할 수 있다. 구체적으로, 사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 응답 생성부(130)는 사용자 음성에 응답하여 검색 응답을 생성할 수 있다. 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 응답 생성부(130)는 사용자 음성에 응답하여 채팅 응답을 생성할 수 있다. 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 응답 생성부(130)는 사용자 음성에 응답하여 통합 응답을 생성할 수 있다.
이하에서는 도 4를 참조하여 응답 생성부(130)에 대해 더욱 상세히 설명하기로 한다. 도 4에 도시된 바와 같이, 응답 생성부(130)는 검색 응답 생성부(131), 채팅 응답 생성부(132), 결합 판단부(133), 결합 순서 판단부(134), 응답 수정부(135) 및 응답 결합부(136)를 포함한다.
검색 응답 생성부(131)는 사용자 음성이 검색 발화 타입 또는 통합 발화 타입이고 판단된 경우, 사용자 음성에 응답하여 검색 응답을 생성할 수 있다. 예를 들어, "공포 영화 머 볼까"라는 검색 발화 타입의 사용자 음성이 입력된 경우, 검색 응답 생성부(131)는 사용자 음성에 응답하여 "추천 공포 영화 10건이 검색되었습니다."라는 검색 응답을 생성할 수 있으며, "오늘 날씨 좋아"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 검색 응답 생성부(131)는 "오늘 날씨는 맑음이며, 낮 최고 기온은 25도입니다"라는 검색 응답을 생성할 수 있다.
특히, 사용자 음성이 검색 발화 타입인 경우, 검색 응답 생성부(131)는 생성된 검색 응답을 전송부(140)로 바로 출력할 수 있으나, 사용자 음성이 통합 발화 타입인 경우, 검색 응답 생성부(131)는 생성된 검색 응답을 결합 판단부(140)를 출력할 수 있다.
채팅 응답 생성부(133)는 사용자 음성이 채팅 발화 타입 또는 통합 발화 타입이고 판단된 경우, 사용자 음성에 응답하여 채팅 응답을 생성할 수 있다. 예를 들어, "나 예뻐"라는 채팅 발화 타입의 사용자 음성이 입력된 경우, 채팅 응답 생성부(133)는 사용자 음성에 응답하여 "넌 정말 예쁜 거 같아"라는 채팅 응답을 생성할 수 있으며, "오늘 날씨 좋아"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 채팅 응답 생성부(133)는 "오늘 날씨는 정말 좋은 거 같아"라는 채팅 응답을 생성할 수 있다.
특히, 사용자 음성이 채팅 발화 타입인 경우, 채팅 응답 생성부(133)는 생성된 검색 응답을 전송부(140)로 바로 출력할 수 있으나, 사용자 음성이 통합 발화 타입인 경우, 채팅 응답 생성부(133)는 생성된 채팅 응답을 결합 판단부(140)를 출력할 수 있다.
결합 판단부(140)는 검색 응답 생성부(131) 및 채팅 응답 생성부(132)로부터 출력된 검색 응답 및 채팅 응답의 결합 가능 여부를 판단할 수 있다. 구체적으로, 결합 판단부(140)는 검색 응답 및 채팅 응답의 문장 유형, 공통 정보 포함 여부, 검색 응답 및 채팅 응답의 생성 여부 등을 이용하여 결합 가능 여부를 판단할 수 있다. 예를 들어, "이름이 뭐야"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 검색 응답 생성부(131)는 "현재 방송 중인 프로는 무한 도전입니다"라는 검색 응답을 생성하며, 채팅 응답 생성부(133)는 "제 이름은 스마트 TV입니다."라는 채팅 응답을 생성할 수 있다. 이때, 생성된 검색 응답 및 채팅 응답은 모두 평서문이며, 공통적인 정보가 존재하지 않으므로, 결합 불가능하다고 판단할 수 있다. 또 다른 예로, 통합 발화 타입의 사용자 음성이더라도 검색 응답 및 채팅 응답 중 하나가 생성되지 않은 경우, 결합 판단부(140)는 검색 응답 및 채팅 응답의 결합이 불가능하다고 판단할 수 있다.
결합이 불가능하다고 판단된 경우, 결합 판단부(140)는 생성된 검색 응답 및 채팅 응답 중 하나를 전송부(140)로 출력할 수 있다. 예를 들어, "이름이 뭐야"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 결합 판단부(140)는 검색 응답 및 채팅 응답의 결합이 불가능하다고 판단하여 "제 이름은 스마트 TV입니다."라는 채팅 응답만을 전송부(140)로 출력할 수 있다.
결합이 가능하다고 판단된 경우, 결합 판단부(140)는 생성된 검색 응답 및 채팅 응답을 결합 순서 판단부(134)로 출력할 수 있다.
결합 순서 판단부(134)는 검색 응답 및 채팅 응답의 결합 순서를 판단할 수 있다. 이때, 결합 순서 판단부(134)는 사용자 음성이 채팅 발화 타입에 해당할 확률 및 사용자 음성이 검색 발화 타입에 해당할 확률의 크기를 비교하여 검색 응답 및 채팅 응답의 결합의 순서를 판단할 수 있다. 즉, 채팅 발화 타입에 해당할 확률이 검색 발화 타입에 해당할 확률 이상인 경우, 결합 순서 판단부(134)는 채팅 발화 타입을 먼저 배치하고, 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률 이상인 경우, 결합 순서 판단부(134)는 검색 발화 타입을 먼저 배치할 수 있다. 예를 들어, "무서운 영화가 좋더라"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 검색 응답 생성부(131)는 "공포 영화가 총 10건이 검색되었습니다."라는 검색 응답을 생성하며, 채팅 응답 생성부(133)는 "저도 무서운 영화 좋아해요"라는 채팅 응답을 생성할 수 있다. 이때, 사용자 음성이 채팅 발화 타입에 해당할 확률이 검색 발화 타입에 해당할 확률보다 큰 경우, 결합 순서 판단부(134)는 채팅 응답이 검색 응답보다 먼저 배치되도록 결합 순서를 판단할 수 있다.
그러나, 상술한 바와 같이 확률을 비교하여 결합 순서를 판단하는 것은 일 실시예에 불과할 뿐, 채팅 응답 및 검색 응답 중 사용자에 의해 설정된 하나를 항상 먼저 배치할 수 있다.
응답 수정부(135)는 검색 응답 및 채팅 응답의 결합이 가능하도록 검색 응답 및 채팅 응답 중 적어도 하나를 수정할 수 있다. 특히, 응답 수정부(135)는 검색 응답 및 채팅 응답 중 적어도 한 문장의 어미를 수정할 수 있다. 예를 들어, "무서운 영화가 좋더라"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 검색 응답 생성부(131)는 "공포 영화가 총 10건이 검색되었습니다."라는 검색 응답을 생성하며, 채팅 응답 생성부(133)는 "저도 무서운 영화 좋아해요"라는 채팅 응답을 생성할 수 있다. 이때, 응답 수정부(135)는 채팅 응답과 검색 응답의 말미가 일치하도록 검색 응답의 말미를 "검색되었습니다"에서 "검색되었어요"로 수정할 수 있다. 또 다른 실시예로, 응답 수정부(135)는 채팅 응답 및 검색 응답 사이에 접속사를 삽입할 수 있다.
응답 결합부(136)는 결합 순서 판단부(134)에서 판단된 결합 순서에 의해 수정된 채팅 응답 및 검색 응답을 결합하여 통합 응답을 생성할 수 있다. 예를 들어, 예를 들어, "무서운 영화가 좋더라"라는 통합 발화 타입의 사용자 음성이 입력된 경우, 검색 응답 생성부(131)는 "공포 영화가 총 10건이 검색되었습니다."라는 검색 응답을 생성하며, 채팅 응답 생성부(133)는 "저도 무서운 영화 좋아해요"라는 채팅 응답을 생성할 수 있다. 그리고, 결합 순서 판단부(134)는 채팅 응답이 먼저 나오도록 결합 순서를 판단하며, 응답 수정부(135)는 검색 응답의 말미를 "~요"로 수정할 수 있다. 따라서, 응답 결합부(136)는 "무서운 영화가 좋더라"라는 통합 발화 타입의 사용자 음성에 응답하여 "저도 무서운 영화가 좋아요. 공포 영화가 총 10건이 검색되었어요."라는 통합 응답을 생성할 수 있다.
다시 도 2에 대해 설명하면, 응답 생성부(130)는 생성된 응답을 전송부(140)로 출력한다.
전송부(140)는 생성된 응답을 사용자 단말(200)로 다시 전송한다.
한편, 입력부(110) 및 전송부(140)는 다양한 통신 네트워크를 이용하여 사용자 음성 및 생성된 응답을 사용자 단말(200)과 송수신할 수 있다. 예를 들어, 입력부(110) 및 전송부(140)는 2G 네트워크, 3G 네트워크, 4G 네트워크, B4G(Beyond 4G) 네트워크, 5G 네트워크, Wi-Fi 네트워크, IP 네트워크, 단말간 직접통신 네트워크 등과 같은 다양한 통신 네트워크를 통해 사용자 단말(200)과 통신을 수행할 수 있다.
사용자 단말(200)은 전송부(140)로부터 전송된 응답을 출력할 수 있다. 이때, 사용자 단말(200)은 사용자 음성에 응답하는 응답을 시각적인 형태로 디스플레이할 수 있으며, 청각적인 형태로 스피커로 출력할 수 있다.
상술한 바와 같은 대화형 서버(100)와 같이, 사용자 음성의 발화 타입이 모호한 경우, 검색 응답 및 채팅 응답을 결합한 통합 응답을 제공받음으로써, 사용자는 일관성있는 대화형 서비스를 제공받을 수 있게 된다.
이하에서는 도 5 내지 도 7을 참조하여 대화형 서버(100)의 제어 방법에 대해 설명하기로 한다. 도 5는 본 발명의 일 실시예에 따른, 대화형 서버(100)의 제어 방법을 설명하기 위한 흐름도이다.
우선, 대화형 서버(100)는 사용자 음성을 입력받는다(S505). 이때, 사용자 음성은 텍스트 데이터 형태일 수 있으나, 이는 일 실시예에 불과할 뿐, 음성 데이터 형태일 수 있다. 사용자 음성이 음성 데이터 형태인 경우, 대화형 서버(100)는 음성 인식을 수행하여 사용자 음성에 대응되는 텍스트 데이터를 생성할 수 있다.
그리고, 대화형 서버(100)는 사용자 음성의 발화 타입을 판단한다(S510). 이때, 대화형 서버(100)는 검색 언어 모델(150) 및 채팅 언어 모델(160)을 이용하여 사용자 음성의 발화 타입을 판단할 수 있다.
사용자 음성의 발화 타입이 통합 발화 타입인 경우(S515-Y), 대화형 서버(100)는 검색 응답 및 채팅 응답을 생성하고, 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성한다(S520). 구체적으로, 대화형 서버(100)는 사용자 음성에 응답하는 검색 응답 및 채팅 응답을 모두 생성하고, 검색 응답 및 채팅 응답의 결합 여부를 판단할 수 있다. 검색 응답 및 채팅 응답의 결합이 가능한 경우, 대화형 서버(100)는 검색 응답 및 채팅 응답의 결합 순서를 판단하고, 결합을 위한 검색 응답 및 채팅 응답의 수정 여부를 판단하며, 판단된 결합 순서에 따라 수정된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성할 수 있다.
그리고, 대화형 서버(100)는 통합 응답을 사용자 단말(200)로 전송한다(S525),
사용자 음성의 발화 타입이 통합 발화 타입이 아니고(S515-N), 검색 발화 타입이라고 판단된 경우(S530-Y), 대화형 서버(100)는 검색 응답을 생성하고(S535), 생성된 검색 응답을 사용자 단말(200)로 전송한다(S540).
사용자 음성의 발화 타입이 통합 발화 타입이 아니고(S515-N), 사용자 음성의 발화 타입이 검색 발화 타입이 아닌 경우(S530-N), 대화형 서버(100)는 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단하고(S545), 채팅 응답을 생성하며(S550), 생성된 채팅 응답을 사용자 단말(200)로 전송한다(S555).
도 6은 본 발명의 일 실시예에 따른, 대화형 서버(100)의 사용자 음성의 발화 타입 판단 방법을 설명하기 위한 흐름도이다.
우선, 대화형 서버(100)는 사용자 음성이 검색 발화에 해당할 확률 및 채팅 발화에 해당할 확률을 산출한다(S610). 구체적으로, 대화형 서버(100)는 검색 발화로 구축된 검색 언어 모델(150)을 이용하여 사용자 음성이 검색 발화에 해당할 확률을 산출하며, 채팅 발화로 구축된 채팅 언어 모델(160)을 이용하여 사용자 음성이 채팅 발화에 해당할 확률을 산출할 수 있다.
그리고, 대화형 서버(100)는 검색 발화에 해당할 확률과 채팅 발화에 해당할 확률의 차이값을 산출한다(S620).
그리고, 대화형 서버(100)는 산출된 차이값이 기설정된 값 이하인지 여부를 판단한다(S630). 이때, 기설정된 값은 시스템 개발자에 의해 설정될 수 있으나, 이는 일 실시예에 불과할 뿐, 테스트 문장을 통해 설정될 수 있다.
차이값이 기설정된 값 이하인 경우(S630-Y), 대화형 서버(100)는 사용자 음성의 발화 타입을 통합 발화 타입으로 판단한다(S640).
그러나, 차이값이 기설정된 값 초과인 경우(S630-N), 대화형 서버(100)는 사용자 음성이 검색 발화에 해당할 확률이 채팅 발화에 해당할 확률보다 큰지 여부를 판단한다(S650).
사용자 음성이 검색 발화에 해당할 확률이 채팅 발화에 해당할 확률보다 큰 경우(S650-Y), 대화형 서버(100)는 사용자의 발화 타입을 검색 발화 타입으로 판단한다(S660). 그러나, 사용자 음성이 검색 발화에 해당할 확률이 채팅 발화에 해당할 확률보다 작은 경우(S650-N), 대화형 서버(100)는 사용자의 발화 타입을 채팅 발화 타입으로 판단한다(S670).
도 7은 본 발명의 일 실시예에 따른, 통합 응답을 생성하는 방법을 설명하기 위한 흐름도이다.
우선, 대화형 서버(100)는 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성한다(S710).
그리고, 대화형 서버(100)는 검색 응답과 채팅 응답의 결합이 가능한지 여부를 판단한다(S720). 이때, 대화형 서버(100)는 검색 응답과 채팅 응답의 문장 형태, 공통적인 정보 포함 여부 등을 판단하여 결합 여부를 판단할 수 있다.
검색 응답과 채팅 응답의 결합이 가능한 경우(S720-Y), 대화형 서버(100)는 검색 응답 및 채팅 응답의 결합 순서를 판단한다(S730). 이때, 대화형 서버(100)는 사용자 음성이 검색 발화 타입에 해당할 확률 및 채팅 발화 타입에 해당할 확률을 비교하여 결합 순서를 판단할 수 있다.
그리고, 대화형 서버(100)는 검색 응답과 채팅 응답 중 적어도 하나를 수정한다(S740). 이때, 대화형 서버(100)는 검색 응답 및 채팅 응답 중 적어도 하나의 말미를 수정하거나 검색 응답 및 채팅 응답 사이에 접속사를 삽입할 수 있다.
그리고, 대화형 서버(100)는 검색 응답과 채팅 응답을 결합하여 통합 응답을 생성한다(S750).
한편, 검색 응답과 채팅 응답의 결합이 불가능한 경우(S720-N), 대화형 서버(100)는 검색 응답 및 채팅 응답 중 하나를 사용자 단말(200)로 전송한다(S760). 이때, 대화형 서버(200)는 사용자 음성이 검색 발화 타입에 해당할 확률 및 채팅 발화 타입에 해당할 확률을 비교하여, 확률이 큰 발화 타입에 대응되는 응답을 사용자 단말(200)로 전송할 수 있다.
상술한 바와 같은 본 발명의 다양한 실시예와 같이, 사용자 음성의 발화 타입이 모호한 경우, 검색 응답 및 채팅 응답을 결합한 통합 응답을 제공함으로써, 사용자는 일관성있는 대화형 서비스를 제공받을 수 있게 된다.
한편, 도 2 내지 도 7에서는 사용자 음성의 발화 타입을 먼저 판단한 후, 사용자 음성에 대응되는 응답을 생성하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 사용자 음성에 대응되는 응답을 먼저 생성한 후, 발화 타입을 판단할 수 있다. 이에 대해서는 도 8 및 도 9를 참조하여 설명하기로 한다. 다만, 도 8 및 도 9에서 개시되는 구성에 대한 설명 중 앞서 개시된 구성에 대한 설명과 중복되는 경우, 중복되는 설명은 생략하기로 한다.
도 8은 본 발명의 다른 실시예에 따른, 대화형 서버(800)의 구성을 나타내는 블럭도이다. 도 8에 도시된 바와 같이, 대화형 서버(800)는 입력부(810), 응답 생성부(820), 판단부(830), 통합 응답 생성부(840) 및 전송부(850)를 포함한다.
입력부(810)는 사용자 단말(200)로부터 사용자 음성을 입력받는다.
응답 생성부(820)는 사용자 음성에 대한 검색 응답 및 채팅 응답을 모두 생성한다.
판단부(830)는 도 3에서 설명한 바와 같은 방법으로 사용자 음성의 발화 타입을 판단한다. 사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 판단부(830)는 생성된 검색 응답을 전송부(850)로 출력하며, 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 판단부(830)는 생성된 채팅 응답을 전송부(850)로 출력할 수 있다. 그리고, 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 판단부(830)는 검색 응답 및 채팅 응답을 통합 응답 생성부(840)로 출력할 수 있다.
통합 응답 생성부(840)는 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성한다. 구체적으로, 통합 응답 생성부(840)는 검색 응답 및 채팅 응답의 결합 여부를 판단할 수 있다. 검색 응답 및 채팅 응답의 결합이 가능한 경우, 통합 응답 생성부(840)는 검색 응답 및 채팅 응답의 결합 순서를 판단하고, 결합을 위한 검색 응답 및 채팅 응답의 수정 여부를 판단하며, 판단된 결합 순서에 따라 수정된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성할 수 있다. 그리고, 통합 응답 생성부(840)는 생성된 통합 응답을 전송부(850)로 출력할 수 있다.
전송부(850)는 출력된 응답을 사용자 단말(200)로 전송한다.
도 9는 본 발명의 다른 실시예에 따른, 대화형 서버(800)의 제어 방법을 설명하기 위한 흐름도이다.
우선, 대화형 서버(800)는 사용자 음성을 입력받는다(S910).
그리고, 대화형 서버(800)는 사용자 음성에 응답하는 검색 응답 및 채팅 응답을 생성한다(S920).
그리고, 대화형 서버(800)는 사용자 음성의 발화 타입을 판단한다(S930). 이때, 대화형 서버(800)는 도 3에서 설명한 바와 같은 방법으로 사용자 음성의 발화 타입을 판단할 수 있다.
사용자 음성이 통합 발화 타입이라고 판단된 경우(S940-Y), 대화형 서버(800)는 생성된 검색 응답과 채팅 응답을 결합하여 통합 응답을 생성한다(S950). 그리고, 대화형 서버(800)는 생성된 통합 응답을 사용자 단말(200)로 전송한다(S960).
사용자 음성이 통합 발화 타입이 아니고(S940-N), 검색 발화 타입이라고 판단된 경우(S970-Y), 대화형 서버(800)는 생성된 검색 응답을 사용자 단말(200)로 전송한다(S980). 또한, 사용자 음성이 통합 발화 타입이 아니고(S940-N), 검색 발화 타입이 아니라고 판단된 경우(S970-N), 대화형 서버(800)는 사용자 음성이 채팅 발화 타입에 해당하는 것으로 판단하여 생성된 채팅 응답을 사용자 단말(200)로 전송한다(S990).
한편, 본 실시예들에 따른 사용자 단말은 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
110: 입력부 120: 판단부
130: 응답 생성부 140: 전송부
150: 검색 언어 모델 160: 채팅 언어 모델
130: 응답 생성부 140: 전송부
150: 검색 언어 모델 160: 채팅 언어 모델
Claims (18)
- 대화형 서버의 제어 방법에 있어서,
사용자 음성을 입력받는 단계;
상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 획득하는 단계;
상기 획득된 차이값에 기초하여 상기 사용자 음성의 발화 타입을 판단하는 단계;
상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하고, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 단계; 및
상기 생성된 통합 응답을 사용자 단말로 전송하는 단계;를 포함하는 대화형 서버의 제어 방법. - 제1항에 있어서,
상기 획득하는 단계는,
검색 발화들로 구축된 검색 언어 모델을 이용하여 상기 사용자 음성이 검색 발화 타입에 해당할 확률을 산출하고, 채팅 발화들로 구축된 채팅 언어 모델을 이용하여 상기 사용자 음성이 채팅 발화 타입에 해당할 확률을 산출하는 단계; 및
상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 산출하는 단계;를 포함하고,
상기 판단하는 단계는,
상기 차이값이 기설정된 값 이하인 경우, 상기 사용자 음성의 발화 타입을 상기 통합 발화 타입이라고 판단하는 단계;를 포함하는 제어 방법. - 제2항에 있어서,
상기 판단하는 단계는,
상기 차이값이 기설정된 값 초과인 경우, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 크면, 상기 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단하고, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 작으면, 상기 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단하는 단계;를 더 포함하는 제어 방법. - 제3항에 있어서,
상기 사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답을 생성하고, 상기 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 채팅 응답을 생성하는 단계;
상기 사용자 음성에 대한 검색 응답 및 채팅 응답 중 생성된 하나를 상기 사용자 단말로 전송하는 단계;를 포함하는 제어 방법. - 제1항에 있어서,
상기 생성하는 단계는,
상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하는 단계;
상기 검색 응답 및 채팅 응답의 문장 유형 및 공통적인 정보 포함 여부를 판단하여 상기 검색 응답 및 채팅 응답의 결합이 가능한지 여부를 판단하는 단계;
상기 검색 응답 및 채팅 응답의 결합이 가능한 경우, 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단하는 단계;
상기 검색 응답 및 채팅 응답을 결합하기 위하여, 상기 검색 응답 및 채팅 응답 중 적어도 하나를 수정하는 단계; 및
상기 수정된 검색 응답 및 채팅 응답을 상기 판단된 결합 순서에 따라 결합하는 단계;를 포함하는 제어 방법. - 제5항에 있어서,
상기 검색 응답 및 채팅 응답의 결합이 불가능한 경우, 상기 검색 응답 및 상기 채팅 응답 중 하나를 전송하는 단계;를 포함하는 제어 방법. - 제5항에 있어서,
상기 결합의 순서를 판단하는 단계는,
상기 사용자 음성이 채팅 발화 타입에 해당할 확률 및 상기 사용자 음성이 검색 발화 타입에 해당할 확률의 크기를 비교하여 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단하는 것을 특징으로 하는 제어 방법. - 제5항에 있어서,
상기 수정하는 단계는,
상기 검색 응답 및 채팅 응답 중 적어도 하나에 대한 문장의 어미를 수정하는 것을 특징으로 하는 제어 방법. - 대화형 서버에 있어서,
사용자 단말로부터 사용자 음성을 입력받는 입력부;
상기 입력부를 통해 사용자 음성이 입력되면, 상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 획득하고, 상기 획득된 차이값에 기초하여 상기 사용자 음성의 발화 타입을 판단하는 판단부;
상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하며, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 응답 생성부; 및
상기 생성된 통합 응답을 사용자 단말로 전송하는 전송부;를 포함하는 대화형 서버. - 제9항에 있어서,
상기 판단부는,
검색 발화들로 구축된 검색 언어 모델을 이용하여 상기 사용자 음성이 검색 발화 타입에 해당할 확률을 산출하고, 채팅 발화들로 구축된 채팅 언어 모델을 이용하여 상기 사용자 음성이 채팅 발화 타입에 해당할 확률을 산출하는 확률 산출부;
상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 산출하는 차이값 산출부; 및
상기 차이값이 기설정된 값 이하인 경우, 상기 사용자 음성의 발화 타입을 상기 통합 발화 타입이라고 판단하는 발화 타입 판단부;를 포함하는 대화형 서버. - 제10항에 있어서,
상기 판단부는,
상기 차이값이 기설정된 값 초과인 경우, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 크면, 상기 사용자 음성의 발화 타입을 검색 발화 타입이라고 판단하고, 상기 사용자 음성이 검색 발화 타입에 해당할 확률이 채팅 발화 타입에 해당할 확률보다 작으면, 상기 사용자 음성의 발화 타입을 채팅 발화 타입이라고 판단하는 것을 특징으로 하는 대화형 서버. - 제11항에 있어서,
상기 응답 생성부는,
상기 사용자 음성의 발화 타입이 검색 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 검색 응답을 생성하고, 상기 사용자 음성의 발화 타입이 채팅 발화 타입이라고 판단된 경우, 상기 사용자 음성에 대한 채팅 응답을 생성하며,
상기 전송부는,
상기 사용자 음성에 대한 검색 응답 및 채팅 응답 중 생성된 하나를 상기 사용자 단말로 전송하는 것을 특징으로 하는 대화형 서버. - 제9항에 있어서,
상기 응답 생성부는,
상기 사용자 음성에 대한 검색 응답을 생성하는 검색 응답 생성부;
상기 사용자 음성에 대한 채팅 응답을 생성하는 채팅 응답 생성부;
상기 검색 응답 및 채팅 응답의 문장 유형 및 공통적인 정보 포함 여부를 판단하여 상기 검색 응답 및 채팅 응답의 결합이 가능한지 여부를 판단하는 결합 판단부;
상기 검색 응답 및 채팅 응답의 결합이 가능한 경우, 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단하는 결합 순서 판단부;
상기 검색 응답 및 채팅 응답을 결합하기 위하여, 상기 검색 응답 및 채팅 응답 중 적어도 하나를 수정하는 응답 수정부; 및
상기 수정된 검색 응답 및 채팅 응답을 상기 판단된 결합 순서에 따라 결합하는 응답 결합부;를 포함하는 대화형 서버. - 제13항에 있어서,
상기 전송부는,
상기 결합 판단부에 의해 상기 검색 응답 및 채팅 응답의 결합이 불가능한 것으로 판단된 경우, 상기 검색 응답 및 상기 채팅 응답 중 하나를 전송하는 것을 특징으로 하는 대화형 서버. - 제13항에 있어서,
상기 결합 순서 판단부는,
상기 사용자 음성이 채팅 발화 타입에 해당할 확률 및 상기 사용자 음성이 검색 발화 타입에 해당할 확률의 크기를 비교하여 상기 검색 응답 및 채팅 응답의 결합의 순서를 판단하는 것을 특징으로 하는 대화형 서버. - 제13항에 있어서,
상기 응답 수정부는,
상기 검색 응답 및 채팅 응답 중 적어도 하나에 대한 문장의 어미를 수정하는 것을 특징으로 하는 대화형 서버. - 대화형 서버의 제어 방법에 있어서,
사용자 음성을 입력받는 단계;
상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하는 단계;
상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 획득하는 단계;
상기 획득된 차이값에 기초하여 상기 사용자 음성의 발화 타입을 판단하는 단계;
상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 단계; 및
상기 생성된 통합 응답을 사용자 단말로 전송하는 단계;를 포함하는 제어 방법. - 대화형 서버에 있어서,
사용자 단말로부터 사용자 음성을 입력받는 입력부;
상기 사용자 음성에 대한 검색 응답 및 채팅 응답을 생성하는 응답 생성부;
상기 사용자 음성이 검색 발화 타입에 해당할 확률과 상기 사용자 음성이 채팅 발화 타입에 해당할 확률의 차이값을 획득하고, 상기 획득된 차이값에 기초하여 상기 사용자 음성의 발화 타입을 판단하는 판단부;
상기 사용자 음성의 발화 타입이 통합 발화 타입이라고 판단된 경우, 상기 생성된 검색 응답 및 채팅 응답을 결합하여 통합 응답을 생성하는 통합 응답 생성부; 및
상기 생성된 통합 응답을 사용자 단말로 전송하는 전송부;를 포함하는 대화형 서버.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140018240A KR102193559B1 (ko) | 2014-02-18 | 2014-02-18 | 대화형 서버 및 이의 제어 방법 |
US14/590,630 US9837082B2 (en) | 2014-02-18 | 2015-01-06 | Interactive server and method for controlling the server |
CN201580006257.0A CN105940394B (zh) | 2014-02-18 | 2015-02-12 | 交互服务器及用于控制服务器的方法 |
PCT/KR2015/001420 WO2015126097A1 (en) | 2014-02-18 | 2015-02-12 | Interactive server and method for controlling the server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140018240A KR102193559B1 (ko) | 2014-02-18 | 2014-02-18 | 대화형 서버 및 이의 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150097872A KR20150097872A (ko) | 2015-08-27 |
KR102193559B1 true KR102193559B1 (ko) | 2020-12-22 |
Family
ID=53798633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140018240A KR102193559B1 (ko) | 2014-02-18 | 2014-02-18 | 대화형 서버 및 이의 제어 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9837082B2 (ko) |
KR (1) | KR102193559B1 (ko) |
CN (1) | CN105940394B (ko) |
WO (1) | WO2015126097A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101881744B1 (ko) * | 2017-12-18 | 2018-07-25 | 주식회사 머니브레인 | 대화형 ai 에이전트 시스템을 위한 계층적 대화 흐름 관리 모델을 자동으로 구축 또는 갱신하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체 |
KR101924215B1 (ko) * | 2018-01-18 | 2018-11-30 | 주식회사 머니브레인 | 소정의 목표를 갖는 대화 이해 ai 서비스 시스템을 위한 대화 템플릿의 생성 방법 및 컴퓨터 판독가능 기록 매체 |
CN110097880A (zh) * | 2019-04-20 | 2019-08-06 | 广东小天才科技有限公司 | 一种基于语音识别的答题判定方法及装置 |
US11150923B2 (en) * | 2019-09-16 | 2021-10-19 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for providing manual thereof |
US11468052B2 (en) * | 2020-06-25 | 2022-10-11 | Google Llc | Combining parameters of multiple search queries that share a line of inquiry |
CN112328776A (zh) * | 2021-01-04 | 2021-02-05 | 北京百度网讯科技有限公司 | 对话生成方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049513A1 (en) | 2008-08-20 | 2010-02-25 | Aruze Corp. | Automatic conversation system and conversation scenario editing device |
US7873519B2 (en) | 1999-11-12 | 2011-01-18 | Phoenix Solutions, Inc. | Natural language speech lattice containing semantic variants |
WO2013172534A1 (ko) | 2012-05-17 | 2013-11-21 | 포항공과대학교 산학협력단 | 대화 관리 시스템 및 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6721706B1 (en) * | 2000-10-30 | 2004-04-13 | Koninklijke Philips Electronics N.V. | Environment-responsive user interface/entertainment device that simulates personal interaction |
CN1248193C (zh) | 2001-09-27 | 2006-03-29 | 松下电器产业株式会社 | 会话装置、会话主机装置、会话子机装置、会话控制方法及会话控制程序 |
AU2003236049B2 (en) * | 2002-04-11 | 2008-04-10 | Universal Entertainment Corporation | Conversation control system and conversation control method |
JP2006201870A (ja) | 2005-01-18 | 2006-08-03 | Toyota Central Res & Dev Lab Inc | 対話処理装置 |
KR100772660B1 (ko) | 2006-04-14 | 2007-11-01 | 학교법인 포항공과대학교 | 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법 |
KR100807307B1 (ko) | 2006-07-10 | 2008-02-28 | 한국전자통신연구원 | 대화형 음성 인터페이스 시스템 및 그 응답 방법 |
US8073681B2 (en) * | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
JP5045486B2 (ja) | 2008-02-19 | 2012-10-10 | トヨタ自動車株式会社 | 対話装置及びプログラム |
KR20110072847A (ko) | 2009-12-23 | 2011-06-29 | 삼성전자주식회사 | 열려진 사용자 의도 처리를 위한 대화관리 시스템 및 방법 |
US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8892419B2 (en) * | 2012-04-10 | 2014-11-18 | Artificial Solutions Iberia SL | System and methods for semiautomatic generation and tuning of natural language interaction applications |
KR102056461B1 (ko) * | 2012-06-15 | 2019-12-16 | 삼성전자주식회사 | 디스플레이 장치 및 디스플레이 장치의 제어 방법 |
US9875494B2 (en) * | 2013-04-16 | 2018-01-23 | Sri International | Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant |
US9805718B2 (en) * | 2013-04-19 | 2017-10-31 | Sri Internaitonal | Clarifying natural language input using targeted questions |
US9514748B2 (en) * | 2014-01-15 | 2016-12-06 | Microsoft Technology Licensing, Llc | Digital personal assistant interaction with impersonations and rich multimedia in responses |
-
2014
- 2014-02-18 KR KR1020140018240A patent/KR102193559B1/ko active IP Right Grant
-
2015
- 2015-01-06 US US14/590,630 patent/US9837082B2/en active Active
- 2015-02-12 WO PCT/KR2015/001420 patent/WO2015126097A1/en active Application Filing
- 2015-02-12 CN CN201580006257.0A patent/CN105940394B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7873519B2 (en) | 1999-11-12 | 2011-01-18 | Phoenix Solutions, Inc. | Natural language speech lattice containing semantic variants |
US20100049513A1 (en) | 2008-08-20 | 2010-02-25 | Aruze Corp. | Automatic conversation system and conversation scenario editing device |
WO2013172534A1 (ko) | 2012-05-17 | 2013-11-21 | 포항공과대학교 산학협력단 | 대화 관리 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN105940394B (zh) | 2019-07-26 |
CN105940394A (zh) | 2016-09-14 |
US20150235643A1 (en) | 2015-08-20 |
KR20150097872A (ko) | 2015-08-27 |
US9837082B2 (en) | 2017-12-05 |
WO2015126097A1 (en) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6751122B2 (ja) | ページ制御方法および装置 | |
KR102193559B1 (ko) | 대화형 서버 및 이의 제어 방법 | |
US11817013B2 (en) | Display apparatus and method for question and answer | |
US20240096345A1 (en) | Electronic device providing response to voice input, and method and computer readable medium thereof | |
US10250538B2 (en) | Detecting messages with offensive content | |
US9886952B2 (en) | Interactive system, display apparatus, and controlling method thereof | |
US10891322B2 (en) | Automatic conversation creator for news | |
US10872207B2 (en) | Determining translation similarity of reverse translations for a plurality of languages | |
US20140242955A1 (en) | Method and system for supporting a translation-based communication service and terminal supporting the service | |
US20160092437A1 (en) | Translation method and translation system for translating input expression into expression in another language | |
US20170103757A1 (en) | Speech interaction apparatus and method | |
CN105408952A (zh) | 识别带口音的语音 | |
US20200167429A1 (en) | Efficient use of word embeddings for text classification | |
WO2020119541A1 (zh) | 一种语音数据的识别方法、装置及系统 | |
WO2014013886A1 (ja) | 情報処理装置、サーバ、情報処理方法、および情報処理システム | |
WO2023142451A1 (zh) | 工作流生成方法、装置、电子设备 | |
US20160042736A1 (en) | Method for processing dialogue based on processing instructing expression and apparatus therefor | |
US11056103B2 (en) | Real-time utterance verification system and method thereof | |
JP2014215685A (ja) | レコメンドサーバおよびレコメンドコンテンツ決定方法 | |
EP3617907A1 (en) | Translation device | |
US9870197B2 (en) | Input information support apparatus, method for supporting input information, and computer-readable recording medium | |
CN116913278A (zh) | 语音处理方法、装置、设备和存储介质 | |
WO2019235100A1 (ja) | 対話装置 | |
JPWO2019216053A1 (ja) | 対話装置 | |
KR102717425B1 (ko) | 인공 지능을 이용한 명상 제공 장치 및 그 방법 |
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 |