KR20230135396A - 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체 - Google Patents

대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20230135396A
KR20230135396A KR1020220032797A KR20220032797A KR20230135396A KR 20230135396 A KR20230135396 A KR 20230135396A KR 1020220032797 A KR1020220032797 A KR 1020220032797A KR 20220032797 A KR20220032797 A KR 20220032797A KR 20230135396 A KR20230135396 A KR 20230135396A
Authority
KR
South Korea
Prior art keywords
utterance
user
conversation
speech
recommended
Prior art date
Application number
KR1020220032797A
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 KR1020220032797A priority Critical patent/KR20230135396A/ko
Priority to US18/080,350 priority patent/US20230298581A1/en
Priority to CN202211616064.5A priority patent/CN116798415A/zh
Publication of KR20230135396A publication Critical patent/KR20230135396A/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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
    • 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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • 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
    • G10L2015/221Announcement of recognition results

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Machine Translation (AREA)

Abstract

일 실시예에 따른 대화 관리 방법은, 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계; 상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나에 기초하여 상기 사용자 발화에 정해진 발화 패턴이 포함되는지 여부를 판단하는 단계; 및 상기 사용자 발화에 상기 정해진 발화 패턴이 포함되면, 상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 생성하는 단계;를 포함한다.

Description

대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체{METHOD FOR DIALOGUE MANAGEMENT, USER TERMINAL AND COMPUTER-READABLE MEDIUM}
개시된 발명은 사용자 발화를 처리할 수 있는 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체에 관한 것이다.
음성 인식(Speech Recognition) 기술은 사용자의 음성을 인식하여 사용자의 의도를 파악하고, 파악된 사용자의 의도에 대응되는 서비스를 제공할 수 있는 기술로서, 사용자의 의도에 따라 특정 장치에 대한 제어를 수행할 수도 있고 특정 정보를 제공할 수도 있다.
대화 관리(Dialogue Management) 기술은 사용자의 의도에 대응되는 서비스를 제공하기 위해 필요한 사용자와의 대화를 관리하고, 그 외에 사용자의 의도에 대응되는 서비스를 제공하기 위해 필요한 각종 처리를 수행하는 기술이다.
이러한 음성 인식 기술과 대화 관리 기술은 음성 인식 시스템 또는 대화 관리 시스템으로 구현될 수 있고 음성 인식 시스템 또는 대화 관리 시스템은 다양한 사용자 단말과 연계되어 사용자가 원하는 서비스를 제공할 수 있다. 사용자는 사용자 단말을 통해 발화를 입력함으로써 원하는 서비스를 요청할 수 있다.
한편, 사용자가 발화를 입력함에 있어서, 적절한 단어가 떠오르지 않는 등의 이유로 사용자 발화에 필러(filler)가 삽입되는 경우가 있다. 이러한 경우, 대화 프로세스가 지연되거나 음성 인식에 오류가 발생할 수 있기 때문에 사용자 발화에 포함된 필러에 대한 적절한 대응이 필요하다.
개시된 발명은 사용자가 원활하게 발화를 입력하지 못하는 경우, 사용자의 발화에 포함된 특정 발화 패턴에 따라 적절한 추천 발화 정보를 제공함으로써 사용자의 원활한 발화를 가이드할 수 있는 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체를 제공한다.
일 실시예에 따른 대화 관리 방법은, 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계; 상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나에 기초하여 상기 사용자 발화에 정해진 발화 패턴이 포함되는지 여부를 판단하는 단계; 및 상기 사용자 발화에 상기 정해진 발화 패턴이 포함되면, 상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 생성하는 단계;를 포함한다.
상기 정해진 발화 패턴의 종류는, 발화에 포함된 특정 구성 요소의 위치 및 상기 특정 구성 요소 이전에 발화된 다른 구성 요소의 성격에 따라 달라질 수 있다.
상기 정해진 발화 패턴은, 의미가 없는 특정 구성 요소만을 포함하는 제1발화 패턴 및 의미 있는 구성 요소와 상기 의미 있는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제2발화 패턴을 포함할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제1발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함 할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함 포함 할 수 있다.
상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계는, 상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 실시간으로 획득하는 것을 포함 포함 할 수 있다.
상기 특정 구성 요소는, 발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 의미없는 구성 요소인 필러(filler)를 포함 포함 할 수 있다.
상기 제2발화 패턴에 포함되는 의미 있는 구성 요소는 미완성된 발화를 구성하고, 상기 정해진 발화 패턴은, 완성된 발화를 구성하는 구성 요소와 상기 완성된 발화를 구성하는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제3발화 패턴을 더 포함 포함 할 수 있다.
상기 사용자 발화에 상기 제3발화 패턴이 포함되면, 상기 사용자 발화에 대응되는 시스템 응답을 생성하는 단계;를 더 포함 포함 할 수 있다.
일 실시예에 따른 사용자 단말은, 사용자 발화가 입력되는 마이크; 상기 입력된 사용자 발화를 대화 관리 시스템으로 전송하고, 상기 대화 관리 시스템으로부터 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 수신하는 통신 모듈; 및 상기 수신된 추천 발화 정보를 표시하는 디스플레이; 를 포함하고, 상기 추천 발화 정보는, 상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 생성될 수 있다.
상기 정해진 발화 패턴은, 의미가 없는 특정 구성 요소만을 포함하는 제1발화 패턴 및 의미 있는 구성 요소와 상기 의미 있는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제2발화 패턴을 포함 포함 할 수 있다.
상기 디스플레이는, 상기 사용자 발화에 상기 제1발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화에 기초하여 생성된 추천 발화 정보를 표시할 수 있다.
상기 디스플레이는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 생성된 추천 발화 정보를 표시할 수 있다.
상기 디스플레이는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화에 기초하여 생성된 추천 발화 정보를 표시할 수 있다.
상기 디스플레이는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 생성된 추천 발화 정보를 표시할 수 있다.
상기 통신 모듈은, 상기 입력된 사용자 발화를 실시간으로 상기 대화 관리 시스템으로 전송할 수 있다.
상기 특정 구성 요소는, 발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 의미없는 구성 요소인 필러(filler)를 포함할 수 있다.
일 실시예에 따른 대화 관리 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체에 있어서, 상기 대화 관리 방법은, 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계; 상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나에 기초하여 상기 사용자 발화에 정해진 발화 패턴이 포함되는지 여부를 판단하는 단계; 및 상기 사용자 발화에 상기 정해진 발화 패턴이 포함되면, 상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 생성하는 단계;를 포함할 수 있다.
상기 정해진 발화 패턴은, 의미가 없는 특정 구성 요소만을 포함하는 제1발화 패턴 및 의미 있는 구성 요소와 상기 의미 있는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제2발화 패턴을 포함할 수 있다.
상기 사용자 발화에 상기 제1발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함할 수 있다.
상기 추천 발화 정보를 생성하는 단계는, 상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함할 수 있다.
상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계는, 상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 실시간으로 획득하는 것을 포함할 수 있다.
상기 특정 구성 요소는, 발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 의미없는 구성 요소인 필러(filler)를 포함할 수 있다.
상기 제2발화 패턴에 포함되는 의미 있는 구성 요소는 미완성된 발화를 구성하고, 상기 정해진 발화 패턴은, 완성된 발화를 구성하는 구성 요소와 상기 완성된 발화를 구성하는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제3발화 패턴을 더 포함할 수 있다.
상기 사용자 발화에 상기 제3발화 패턴이 포함되면, 상기 사용자 발화에 대응되는 시스템 응답을 생성하는 단계;를 더 포함할 수 있다.
일 측면에 따른 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체에 의하면, 사용자가 원활하게 발화를 입력하지 못하는 경우, 사용자의 발화에 포함된 특정 발화 패턴에 따라 적절한 추천 발화 정보를 제공함으로써 사용자의 원활한 발화를 가이드할 수 있다.
도 1 은 입력된 사용자 발화를 처리하기 위해 사용되는 구성요소들을 나타낸 블록도이다.
도 2는 입력된 사용자 발화를 처리하기 위해 사용되는 구성요소들이 서로 다른 시스템에 포함되는 경우를 나타낸 블록도이다.
도 3은 일 실시예에 따른 사용자 단말의 구성요소를 나타내는 블록도이다.
도 4 및 도 5는 일 실시예에 따른 사용자 단말과 대화 관리 시스템 사이에 주고 받는 정보를 나타내는 도면이다.
도 6 내지 도 8은 일 실시예에 따른 사용자 단말에 입력되는 사용자 발화에 필러가 포함되는 경우에 관한 예시를 나타내는 도면이다.
도 9는 일 실시예에 따른 대화 관리 방법에 관한 순서도이다.
도 10은 일 실시예에 따른 대화 관리 방법에 있어서, 추천 발화 정보를 생성하는 과정을 구체화한 순서도이다.
도 11은 일 실시예에 따른 사용자 단말의 제어 방법에 관한 순서도이다.
도 12 내지 도 18은 일 실시예에 따른 대화 관리 방법에 의해 생성되고 차량에 의해 출력되는 추천 발화 정보의 예시들을 나타낸 도면이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서의 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1구성 요소는 제2구성 요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1구성 요소로 명명될 수 있다.
"및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA(field-programmable gate array)/ASIC(application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
명세서에서 요소들의 리스트를 언급할 때 사용되는 "적어도 하나의~"의 표현은, 요소들의 조합을 변경할 수 있다. 예를 들어, "a, b, 또는 c 중 적어도 하나"의 표현은 오직 a, 오직 b, 오직 c, a 와 b 둘, a와 c 둘, b와 c 둘, 또는 a, b, c 모두의 조합을 나타내는 것으로 이해될 수 있다.
이하에서는 첨부된 도면을 참조하여 개시된 발명의 실시예를 상세하게 설명하도록 한다.
도 1 은 입력된 사용자 발화를 처리하기 위해 사용되는 구성요소들을 나타낸 블록도이고, 도 2는 입력된 사용자 발화를 처리하기 위해 사용되는 구성요소들이 서로 다른 시스템에 포함되는 경우를 나타낸 블록도이다.
음성 인식 모듈(110)은 STT(Speech to Text) 엔진으로 구현될 수 있고, 사용자 발화에 음성 인식(speech recognition) 알고리즘을 적용하여 텍스트로 변환할 수 있다.
예를 들어, 음성 인식 모듈(110)은 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 사용자 발화에서 특징 벡터를 추출할 수 있다.
그리고, 추출된 특징 벡터와 훈련된 기준 패턴과의 비교를 통하여 인식 결과를 얻을 수 있다. 이를 위해, 음성의 신호적인 특성을 모델링하여 비교하는 음향 모델(Acoustic Model) 또는 인식 어휘에 해당하는 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델(Language Model)이 사용될 수 있다.
또한, 음성 인식 모듈(110)은 머신 러닝 또는 딥 러닝을 적용한 학습에 기반하여 사용자 발화를 텍스트로 변환하는 것도 가능하다. 당해 실시예에서는 음성 인식 모듈(110)이 사용자 발화를 텍스트로 변환하는 방식에 대해서는 제한을 두지 않는바, 음성 인식 모듈(110)은 전술한 방식 외에도 다양한 음성 인식 기술을 적용하여 사용자 발화를 텍스트로 변환할 수 있다.
자연어 이해 모듈(120)은 텍스트에 포함된 사용자 의도를 판단하기 위해 자연어 이해(Natural Language Understanding: NLU) 기술을 적용할 수 있다. 따라서, 자연어 이해 모듈(120)에는 입력 문장에 대해 NLU 기술을 적용하여 사용자 의도를 판단하는 NLU 엔진이 포함될 수 있다. 여기서, 음성 인식 모듈(110)이 출력한 텍스트가 자연어 이해 모듈(120)에 입력되는 입력 문장이 된다.
예를 들어, 자연어 이해 모듈(120)은 입력 문장으로부터 엔티티(entity)를 인식할 수 있다. 엔티티는 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식(NER: Named Entity Recognition)은 문장에서 엔티티를 식별하고 식별된 엔티티의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다.
또한, 자연어 이해 모듈(120)은 입력 문장으로부터 도메인을 결정할 수 있다. 도메인은 사용자 발화의 주제를 식별할 수 있는 것으로서, 예를 들어, 차량 제어, 일정, 날씨 또는 교통 상황 등에 관한 정보 제공, 문자 송신, 내비게이션, 음악 등의 다양한 주제를 나타내는 도메인이 입력 문장에 기초하여 결정될 수 있다.
자연어 이해 모듈(120)은 입력 문장에 포함된 인텐트(intent)를 분류할 수 있고, 해당 인텐트를 수행하는데 필요한 슬롯(slot)을 추출할 수 있다. 슬롯은 엔티티(entity)에 의해 채워질 수 있다.
예를 들어, 입력 문장이 "에어컨 켜줘"인 경우 도메인은 [차량 제어]가 되고, 인텐트는 [turn on. air conditioner]가 될 수 있다. 여기서, 해당 인텐트에 대응되는 제어를 수행하기 위해 필요한 엔티티는 [온도, 풍량]이 될 수 있다.
다른 예로, 입력 문장이 "음악 틀어줘"인 경우 도메인은 [음악]이 될 수 있고, 인텐트는 [play. music]이 될 수 있다. 여기서, 해당 인텐트에 대응되는 제어를 수행하기 위해 필요한 엔티티는 [아티스트, 곡명]이 될 수 있다.
다만, 설계에 따라 도메인, 인텐트 등의 분류 기준이나 명칭 등은 달라질 수 있는바, 후술하는 동작을 수행하는 모듈은 사용하는 명칭이나 도메인, 인텐트의 분류 기준 등에 상관없이 개시된 발명의 범위에 포함될 수 있다.
한편, 자연어 이해 모듈(120)도 음성 인식 모듈(110)과 마찬가지로 딥러닝 또는 머신 러닝에 의해 학습된 모델에 기초하여 입력 문장으로부터 도메인, 인텐트, 엔티티 등의 정보를 추출할 수 있다. 다만, 개시된 발명의 실시예가 이에 한정되는 것은 아닌바, 자연어 이해 모듈(120)이 입력 문장으로부터 필요한 정보를 추출하는 방식에 대해서는 제한을 두지 않는다.
대화 관리 모듈(130)은 음성 인식 모듈(110)과 자연어 이해 모듈(120)에서 수행된 사용자 발화에 대한 분석 결과(STT, NLU 결과)와 대화 관리 정책에 기반하여 사용자 단말에 출력할 피드백을 생성할 수 있다.
예를 들어, 대화 관리 모듈(130)은 사용자와의 대화 히스토리를 저장하고, 저장된 대화 히스토리에 기초하여 현재 대화가 진행 중(이전 대화의 연장)인지 새로운 대화의 시작인지 여부를 판단할 수 있다. 후술하는 바와 같이, 동일한 사용자 발화가 입력되더라도, 대화가 진행 중인지 여부에 따라 다른 피드백이 생성될 수 있다.
또한, 대화 관리 모듈(130)은 자연어 이해 모듈(120)에서 분류한 인텐트를 실행하기 위해 필요한 정보가 충분한지 여부를 판단할 수 있다. 예를 들어, 인텐트에 대응되는 엔티티가 모두 획득된 경우에는 인텐트의 실행을 안내하는 메시지의 출력과 함께 해당 인텐트를 실행하기 위한 처리를 수행할 수 있다.
또한, 설계에 따라, 인텐트에 대응되는 엔티티가 모두 획득되지 않은 경우라도, 디폴트 값의 엔티티에 기초하여 인텐트를 실행하는 것이 가능하면 디폴트 값의 엔티티에 따라 해당 인텐트를 실행하기 위한 처리를 수행할 수도 있다.
인텐트에 대응되는 엔티티가 모두 획득되지 않고, 엔티티가 확정되지 전에는 인텐트를 실행할 수 없는 경우에는 사용자에게 필요한 엔티티에 대한 정보를 묻기 위한 시스템 발화를 생성하여 출력할 수 있다.
또한, 엔티티가 모두 획득되었더라도 인텐트가 실행 불가능한 경우에는 사용자에게 인텐트의 실행이 불가능함을 알리는 메시지를 시스템 응답으로 출력할 수 있다.
또한, 대화 관리 모듈(130)은 사용자 발화에 문장의 시작 전 또는 문장의 뒤에 발화되거나, 또는 문장들 사이에 발화되는 특정 구성 요소가 포함되었을 때 이에 대한 적절한 피드백을 생성할 수 있다. 이와 관련된 설명은 뒤에서 자세하게 설명하기로 한다.
일 예로, 전술한 음성 인식 모듈(110), 자연어 처리 모듈(120) 및 대화 관리 모듈(130)이 하나의 시스템으로 구현될 수 있다. 이 경우, 사용자 발화가 음성 인식 모듈(110), 자연어 처리 모듈(120) 및 대화 관리 모듈(130)을 포함하는 시스템에 입력되면, 시스템에서 음성 인식과 자연어 이해를 거쳐 사용자 발화에 대한 분석 결과가 획득되고, 획득된 분석 결과에 기초하여 사용자 발화에 대한 피드백까지 생성될 수 있다.
다른 예로, 도 2에 도시된 바와 같이, 음성 인식 모듈(110)과 자연어 이해 모듈(120)은 음성 인식 시스템(1)에 포함되고, 대화 관리 모듈(130)은 별도의 시스템인 대화 관리 시스템(2)에 포함되는 것도 가능하다. 각 시스템(1, 2)의 명칭은 임의로 부여된 것으로서, 후술하는 동작을 수행하기만 하면 그 명칭과 무관하게 개시된 발명의 범위에 포함될 수 있다.
당해 실시예에서 별도의 시스템은 별도의 서버에 의해 구현되는 것을 의미할 수 있다. 또한, 별도의 시스템은 각각 다른 운영 주체에 의해 운영될 수 있다.
당해 실시예에서 하나의 시스템으로 구현되는 것이 반드시 하나의 서버에 의해 구현되는 것을 의미하는 것은 아니다. 예를 들어, 음성 인식 시스템(1)이나 대화 관리 시스템(2) 모두 복수의 서버에 의해 구현될 수도 있다.
사용자 발화가 음성 인식 시스템(1)에 전달되면, 음성 인식 모듈(110)과 자연어 이해 모듈(120)이 사용자 발화에 대한 분석 결과를 출력하고, 출력된 분석 결과는 음성 인식 시스템(1)에 마련된 통신 모듈(210)을 통해 대화 관리 시스템(2)으로 전송될 수 있다.
대화 관리 시스템(2)에 마련된 통신 모듈(220)이 사용자 발화에 대한 분석 결과를 수신하면, 대화 관리 모듈(130)이 사용자 발화에 대한 분석 결과 및 대화 관리 정책에 기초하여 사용자 발화에 대한 피드백을 생성할 수 있다.
사용자 발화에 대한 피드백은 시스템 발화 및 인텐트의 실행을 위한 처리 신호를 포함하는 시스템 응답을 포함할 수 있다. 또한, 후술하는 바에 따라 생성되는 추천 발화 정보도 피드백에 포함될 수 있다.
음성 인식 시스템(1)에 마련된 통신 모듈(210)과 대화 관리 시스템(2)에 마련된 통신 모듈(220)은 기지국(base station) 또는 액세스 포인트(AP)와 무선으로 통신할 수 있으며, 기지국 또는 액세스 포인트를 거쳐 외부 장치들과 데이터를 주고 받을 수 있다.
예를 들어, 통신 모듈(210, 220)은 와이파이(WiFi??, IEEE 802.11 기술 표준)을 이용하여 액세스 포인트(AP)와 무선으로 통신하거나, CDMA, WCDMA, GSM, LTE(Long Term Evolution), 5G, 와이브로 등을 이용하여 기지국과 통신할 수 있다.
뿐만 아니라, 통신 모듈(210, 220)은 은 외부 장치들과 직접 통신하는 것도 가능하다. 예를 들어, 통신 모듈(210, 220)은 와이파이 다이렉트, 블루투스 (Bluetooth??, IEEE 802.15.1 기술 표준), 지그비(ZigBee??, IEEE 802.15.4 기술 표준) 등을 이용하여 근거리의 외부 장치들과 데이터를 주고 받을 수 있다.
음성 인식 시스템(1)과 대화 관리 시스템(2)은 전술한 동작 및 후술하는 동작을 수행하기 위한 프로그램이 저장된 적어도 하나의 메모리 및 저장된 프로그램을 실행하기 위한 적어도 하나의 프로세서를 포함할 수 있다.
음성 인식 시스템(1)의 경우 음성 인식 모듈(110)과 자연어 이해 모듈(120)이 각각 별도의 메모리와 프로세서를 사용하는 것도 가능하고, 메모리와 프로세서를 공유하는 것도 가능하다.
또는, 음성 인식 모듈(110)은 음성 인식 시스템(1)에 포함되고, 자연어 이해 모듈(120)과 대화 관리 모듈(130)은 대화 관리 시스템(1)에 포함되는 것도 가능하다.
또는, 음성 인식 모듈(110), 자연어 이해 모듈(120) 및 대화 관리 모듈(130) 이 각각 별도의 시스템으로 구현되는 것도 가능하다. 이 경우, 음성 인식 모듈(110)은 음성 인식 시스템으로 구현되고, 자연어 이해 모듈(120)은 자연어 이해 시스템으로 구현되고, 대화 관리 모듈(130)은 대화 관리 시스템으로 구현될 수 있다.
도 3은 일 실시예에 따른 사용자 단말의 구성요소를 나타내는 블록도이고, 도 4 및 도 5는 일 실시예에 따른 사용자 단말과 대화 관리 시스템 사이에 주고 받는 정보를 나타내는 도면이다.
사용자 단말은 사용자와 대화 관리 시스템(2) 또는 음성 인식 시스템(1) 사이의 게이트 웨이 역할을 하는 전자 장치로서, 사용자 발화를 입력 받고 그에 대한 피드백을 출력하기 위한 각종 인터페이스 장치와 대화 관리 시스템(2) 또는 음성 인식 시스템(1)과 통신하기 위한 통신 장치를 구비할 수 있다.
예를 들어, 사용자 단말은 스마트폰, 태플릿 PC, 랩탑 PC 등의 모바일 기기, 스마트 워치, 스마트 글래스 등의 웨어러블 기기, 마이크와 스피커를 구비한 TV, 냉장고, 에어컨, 공기 청정기, 청소기, 세탁기 등의 가전 기기 또는 AI 스피커일 수 있다.
또는, 차량이 사용자 단말이 될 수도 있다. 차량에 마련된 마이크를 통해 사용자 발화가 입력되고 차량에 마련된 통신 모듈을 통해 사용자 발화가 대화 관리 시스템(2) 또는 음성 인식 시스템(1)으로 전송될 수 있다. 또한, 대화 관리 시스템(2)으로부터 피드백이 전송되면, 차량에 마련된 스피커 또는 디스플레이를 제어하거나 차량의 다른 구성요소들을 제어함으로써 피드백에 대응되는 처리를 수행할 수 있다.
도 3을 참조하면, 사용자 단말(3)은 통신 모듈(310), 마이크(320), 스피커(330), 디스플레이(340), 입력 장치(350) 및 사용자 단말(3)의 구성요소들을 제어하는 컨트롤러(360)를 포함할 수 있다.
통신 모듈(310)은 외부 장치들과 무선으로 데이터를 주고받는 무선 통신 모듈을 포함할 수 있다. 또한, 외부 장치들과 유선으로 데이터를 주고받는 유선 통신 모듈을 더 포함하는 것도 가능하다.
유선 통신 모듈은 USB 단자 또는 AUX 단자를 통해 연결된 외부 장치와 데이터를 주고 받을 수 있다.
무선 통신 모듈은 기지국(base station) 또는 액세스 포인트(AP)와 무선으로 통신할 수 있으며, 기지국 또는 액세스 포인트를 거쳐 외부 장치들과 데이터를 주고 받을 수 있다.
예를 들어, 무선 통신 모듈은 와이파이(WiFi??, IEEE 802.11 기술 표준)을 이용하여 액세스 포인트(AP)와 무선으로 통신하거나, CDMA, WCDMA, GSM, LTE(Long Term Evolution), 5G, 와이브로 등을 이용하여 기지국과 통신할 수 있다.
뿐만 아니라, 무선 통신 모듈은 외부 장치들과 직접 통신하는 것도 가능하다. 예를 들어, 무선 통신 모듈은 와이파이 다이렉트, 블루투스 (Bluetooth??, IEEE 802.15.1 기술 표준), 지그비(ZigBee??, IEEE 802.15.4 기술 표준) 등을 이용하여 근거리의 외부 장치들과 데이터를 주고 받을 수 있다.
예를 들어, 사용자 단말(3)이 차량으로 구현되는 경우, 통신 모듈(310)은 블루투스 통신을 통해 차량 내부에 위치한 모바일 기기와 통신하여 모바일 기기가 획득하거나 모바일 기기에 저장된 정보(사용자의 영상, 사용자의 음성, 연락처, 일정 등)를 수신할 수 있고, 와이파이나, 4G 또는 5G 통신을 통해 대화 관리 시스템(2) 또는 음성 인식 시스템(1)과 통신하여 사용자 발화를 전달하고 사용자 발화에 대한 분석 결과를 수신할 수도 있다.
마이크(320)에는 사용자 발화가 입력될 수 있다. 사용자 단말(3)이 차량으로 구현되는 경우, 사용자는 운전자일 수도 있고, 동승자일 수도 있다. 마이크(310)는 운전자나 앞좌석 동승자의 음성 명령을 입력 받기 위해 스티어링 휠, 센터페시아, 헤드라이닝 또는 룸 미러 등의 위치에 마련될 수 있다.
또한, 마이크(310)는 두 개 이상 마련되는 것도 가능하다. 이 경우, 제1마이크는 전술한 바와 같이 운전자의 음성 명령을 입력 받기 위한 위치에 마련될 수 있고, 제2마이크는 뒷좌석 동승자의 음성 명령을 입력 받기 위해 뒷좌석 암레스트, B 필라(pillar) 또는 C 필라, 헤드라이닝, 뒷좌석 도어 등 다양한 위치 중 적어도 하나에 마련될 수 있다.
스피커(330)는 대화 관리 시스템(2)으로부터 수신한 시스템 응답과 관련된 다양한 오디오를 출력할 수 있다. 스피커(330)는 대화 관리 시스템(2)으로부터 전송된 시스템 발화를 출력할 수도 있고, 시스템 응답에 대응되는 컨텐츠 신호를 출력할 수도 있다.
또한, 시스템 응답과 무관하게 음악, 라디오 또는 멀티미디어 컨텐츠의 오디오가 출력될 수도 있고, 내비게이션 기능의 실행 중에 경로 안내를 위한 오디오가 출력될 수도 있다.
디스플레이(340)는 대화 관리 시스템(2)으로부터 수신한 시스템 응답과 관련된 다양한 정보를 표시할 수 있다. 디스플레이(340)는 스피커(330)를 통해 출력되는 시스템 발화를 텍스트로 표시할 수도 있고, 사용자 발화에 대응되는 인텐트의 실행을 위해 복수의 항목에 대한 사용자의 선택이 요구되는 경우에는 복수의 항목을 리스트로 표시할 수도 있다.
또한, 사용자 발화에 대응되는 인텐트의 실행을 알리는 메시지를 표시할 수도 있고, 후술하는 바와 같이 사용자 발화를 가이드하기 위한 추천 발화 정보를 표시할 수도 있다.
또한, 시스템 응답과 무관하게 멀티미디어 컨텐츠를 출력하는 등 사용자 단말(3)의 다른 기능들을 수행하기 위해 필요한 정보를 표시할 수 있다.
예를 들어, 사용자 단말(3)이 차량으로 구현되는 경우, 디스플레이(340)는 차량의 센터페시아에 마련되는 AVN 디스플레이, 클러스터 디스플레이 또는 헤드업 디스플레이(HUD: Head Up Display)를 포함할 수 있다.
또는, 뒷좌석의 동승자가 볼 수 있도록 앞좌석의 헤드 뒷면에 마련되는 뒷좌석 디스플레이를 포함할 수도 있고, 차량이 다인승 차량인 경우에는 헤드라이닝에 장착된 디스플레이를 포함할 수도 있다.
디스플레이(340)는 차량(200)에 탑승한 사용자가 시청 가능한 위치에 마련되기만 하면 되고, 디스플레이(340)의 개수나 위치에 대해 다른 제한은 두지 않는다.
사용자 단말(3)은 마이크(320) 외에 수동으로 사용자의 명령을 입력 받기 위한 입력 장치(350)도 포함할 수 있다. 입력 장치(270)는 버튼, 죠그셔틀 또는 터치 패드의 형태로 마련될 수 있다. 입력 장치(270)가 터치 패드의 형태로 마련되는 경우에는 디스플레이(340)와 함께 터치 스크린을 구현할 수도 있다.
예를 들어, 사용자 단말(3)이 차량으로 구현되는 경우, 입력 장치(350)는 센터페시아의 AVN(Audio Video Navigation)이 마련된 영역, 기어박스가 마련된 영역 또는 스티어링 휠에 버튼이나 죠그셔틀의 형태로 마련된 입력 장치를 포함할 수 있다.
또한, 동승석에 관한 제어 명령을 입력받기 위해, 각 좌석의 도어에 마련된 입력 장치를 포함할 수도 있고, 앞좌석의 암레스트나 뒷좌석의 암레스트에 마련된 입력 장치를 포함할 수도 있다.
컨트롤러(360)는 후술하는 동작들이 수행될 수 있도록 사용자 단말(3)의 구성요소들을 제어할 수 있다.
사용자 단말(3)이 차량으로 구현되고, 대화 관리 시스템(2)에 음성 인식 모듈(110)과 자연어 이해 모듈(120)이 포함된 경우를 예로 들어 설명하면, 도 4에 도시된 바와 같이, 사용자 단말(3)의 마이크(320)를 통해 입력된 사용자 발화는 통신 모듈(310)을 통해 대화 관리 시스템(2)으로 전송될 수 있다.
대화 관리 시스템(2)의 통신 모듈(220)이 사용자 발화를 수신하고, 음성 인식 모듈(110)과 자연어 이해 모듈(120)이 사용자 발화에 대한 분석 결과를 출력하면, 대화 관리 모듈(130)이 사용자 발화에 대한 분석 결과에 기초하여 적절한 시스템 응답을 생성하고, 통신 모듈(220)을 통해 사용자 단말(3)로 시스템 응답을 전송할 수 있다.
또는, 사용자 단말(3)이 차량으로 구현되고, 음성 인식 시스템(1)과 대화 관리 시스템(2)이 별도의 시스템으로 구현되는 경우를 예로 들어 설명하면, 도 5에 도시된 바와 같이, 사용자 단말(3)의 마이크(320)를 통해 입력된 사용자 발화는 통신 모듈(310)을 통해 대화 관리 시스템(2)으로 전송될 수 있다.
대화 관리 시스템(2)은 음성 인식 시스템(1)에 사용자 발화를 전달하고, 음성 인식 시스템(1)으로부터 사용자 발화에 대한 분석 결과(TTS및 NLU 결과)를 수신할 수 있다.
대화 관리 모듈(130)은 사용자 발화에 대한 분석 결과에 기초하여 적절한 피드백을 생성하고, 통신 모듈(220)을 통해 사용자 단말(3)로 피드백을 전송할 수 있다.
도 6 내지 도 8은 일 실시예에 따른 사용자 단말에 입력되는 사용자 발화에 필러가 포함되는 경우에 관한 예시를 나타내는 도면이다.
전술한 바와 같이, 대화 관리 모듈(130)은 사용자 발화에 발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 특정 구성 요소가 포함되었을 때 이에 대한 적절한 피드백을 생성할 수 있다.
여기서, 특정 구성 요소는 필러(filler)를 포함할 수 있고, 필러는 filled pause라고도 지칭될 수 있다. 필러는 "어(uh)...", "음(umm)...", "아(ahh)..." 등과 같이 화자가 말하려는 내용이나 단어가 생각나지 않을 때 또는 시간을 끌기 위해 발화하는 사운드를 나타낸다. 즉, 필러는 발화 내에서 의미적으로 비어있는 요소(semantically empty element)에 해당하며, 의미있는 발화 사이의 공백(pause)을 메꿔주는 역할을 할 수 있다.
전술한 바와 같이 필러 자체에는 의미가 없으나, 필러가 발화되고 있는 동안에는 EPD(End Point Detection)이 이루어지지 않아 아직 발화가 끝나지 않은 것으로 인식된다. 따라서, 매끄러운 대화 처리를 위해서는 필러가 발화되었을 때 이에 대한 적절한 처리가 요구된다.
일 실시예에 따른 대화 관리 시스템(2) 및 대화 관리 방법은 사용자 발화에 필러를 포함하는 특정 발화 패턴이 포함되어 있으면 이를 인식하고, 사용자 발화에 포함된 특정 발화 패턴의 종류에 따라 적절한 추천 발화 정보를 생성하여 제공할 수 있다.
특정 발화 패턴의 종류는 발화 내에서의 필러의 위치와 필러 외에 다른 구성 요소의 성격에 따라 달라질 수 있다. 도 6을 예로 들어 설명한다. 사용자가 경로 안내를 받기 위해, 마이크(320)를 통해 사용자 발화 "길 안내해줘"를 입력한 경우, 대화 관리 시스템(2)은 목적지에 대한 정보를 획득하기 위한 시스템 발화 "어디로 안내할까요?"를 출력할 수 있다.
이 때, 목적지가 생각나지 않은 사용자는 "어..."와 같은 필러를 발화할 수 있다. 이와 같이, 필러가 발화되기 이전에 발화된 의미있는 구성 요소가 없는 발화 패턴은 제1발화 패턴이라 하기로 한다.
여기서, 의미있는 구성 요소는 형태소(morpheme) 또는 단어일 수도 있고, 형태소나 단어를 구성하는 일부 음절 또는 음절의 집합일 수도 있다. 또는, 필러가 아닌 구성 요소를 모두 의미있는 구성 요소로 정의할 수도 있다.
도 7을 참조하면, 사용자가 음악을 듣기 위해, 마이크(320)를 통해 사용자 발화 "노래 틀어줘"를 입력한 경우, 대화 관리 시스템(2)은 재생할 노래에 대한 정보를 획득하기 위한 시스템 발화 "무슨 노래를 틀어드릴까요?"를 출력할 수 있다.
이 때, 아티스트의 이름 중 일부만 생각난 사용자는 "블랙, 어..."와 같은 발화를 하게 될 수 있다. 이와 같이, 필러가 발화되기 이전에 발화된 의미 있는 구성 요소가 있으나, 이 의미있는 구성 요소가 완성되지 않은 발화 패턴을 구성하는 경우에, 이러한 발화 패턴을 제2발화 패턴이라 하기로 한다. 여기서, 완성되지 않은 발화 패턴은 인텐트나 엔티티를 특정할 수 없는 발화 패턴을 의미할 수 있다.
도 8을 참조하면, 사용자가 음악을 듣기 위해, 마이크(320)를 통해 사용자 발화 "블랙핑크 lovesick girl 틀어줘"를 입력하였으나, 습관적으로 그 뒤에 "음..."과 같은 필러를 덧붙이는 경우가 있다. 이와 같이, 필러가 발화되기 이전에 입력된 의미 있는 구성요소가 완성된 발화를 구성하는 경우에, 이 발화 패턴은 제3발화 패턴이라 하기로 한다.
여기서, 완성된 발화는 주어, 동사 등의 구성요소가 모두 포함되어 문법적으로 완성된 문장을 의미하는 것이 아니라, 인텐트나 엔티티를 특정할 수 있는 발화를 의미할 수 있다.
이하, 개시된 발명이 사용자 발화에 포함된 발화 패턴의 종류에 따라 추천 발화 정보를 생성하는 동작을 구체적으로 설명한다.
도 9는 일 실시예에 따른 대화 관리 방법에 관한 순서도이다.
일 실시예에 따른 대화 관리 방법은 일 실시예에 따른 대화 관리 시스템(2)에 의해 수행될 수 있다. 따라서, 전술한 대화 관리 시스템(2)에 관한 설명은 별도의 언급이 없어도 대화 관리 방법의 실시예에도 적용될 수 있다. 또한, 후술하는 대화 관리 방법에 관한 설명 역시 별도의 언급이 없어도 대화 관리 시스템(2)의 실시예에도 적용될 수 있다.
도 9를 참조하면, 마이크(320)를 통해 입력된 사용자 발화를 수신한다(1100).
사용자 발화는 오디오 신호의 형태로 전송될 수 있고, 사용자 단말(3)로부터 전송된 사용자 발화는 음성 인식 시스템(1)의 통신 모듈(210) 또는 대화 관리 시스템(2)의 통신 모듈(220)이 수신할 수 있다.
음성 인식 모듈(110)은 사용자 발화를 텍스트로 변환할 수 있다(1200).
음성 인식 모듈(110)이 사용자 발화를 텍스트로 변환하는 동작에 대한 설명은 앞서 설명한 바와 동일하다. 이 때, 사용자 발화의 텍스트 변환은 사용자 단말(3)로부터 사용자 발화가 수신되는 대로 실시간으로 이루어질 수 있다.
또한, 자연어 이해 모듈(120)은 사용자 발화에 대한 인텐트를 결정할 수 있다(1300). 또한, 사용자 발화에 대한 도메인, 엔티티 등도 결정할 수 있다.
대화 관리 모듈(130)은 음성 인식 결과와 자연어 이해 결과에 기초하여 사용자 발화에 정해진 발화 패턴이 포함되는지 여부를 판단할 수 있다(1400).
앞서 도 6, 도 7 및 도 8에서 설명한 바와 같이, 정해진 발화 패턴은 필러를 포함하는 발화 패턴으로, 발화 내에서 필러의 위치 또는 발화 내의 다른 구성 요소의 성격에 따라 제1발화 패턴, 제2발화 패턴 및 제3발화 패턴으로 구분될 수 있다.
대화 관리 모듈(130)은 사용자 발화를 텍스트로 변환한 음성 인식 결과에 기초하여 사용자 발화에 필러가 포함되는지 여부를 판단할 수 있다. 또는, 자연어 이해 모듈(120)에서 필러를 엔티티의 한 종류로 추출하고, 그 결과를 대화 관리 모듈(130)에 전달하는 것도 가능하다.
대화 관리 모듈(130)은 사용자 발화에 정해진 발화 패턴이 포함되고(1500의 예), 사용자 발화에 포함된 발화 패턴이 제3발화 패턴이 아닌 경우(1600의 아니오), 발화 패턴의 종류 또는 현재 대화 컨텍스트에 기초하여 추천 발화 정보를 생성한다(1700).
구체적으로, 사용자 발화에 포함된 발화 패턴이 제1발화 패턴인지, 제2발화 패턴인지에 따라, 현재 대화가 진행중인 상황인지, 사용자 발화에 의해 대화가 시작된 상황인지에 따라 생성되는 추천 발화 정보가 달라질 수 있다.
사용자 발화에 포함된 발화 패턴이 제3발화 패턴인 경우(1600의 예)는 이미 완성된 발화가 입력된 경우에 해당한다. 따라서, EPD가 이루어지지 않아 발화가 종료된 것으로 판단되지 않았더라도, 사용자 발화에 대응되는 시스템 응답을 생성할 수 있다(1900). 따라서, 실질적인 음성 명령은 종료되었음에도 사용자가 발화한 필러로 인해 EPD가 검출되지 않아 인텐트가 실행되지 못하는 것을 방지할 수 있다.
사용자 발화에 정해진 발화 패턴이 포함되지 않은 경우(1500의 아니오), 발화가 종료되지 않았으면, 즉 EPD가 이루어지지 않았으면(1800의 아니오) 사용자 발화를 수신하고 텍스트로 변환하는 동작을 반복한다.
발화가 종료되었으면(1800의 예), 사용자 발화에 대응되는 시스템 응답을 생성할 수 있다(1900).
전술한 도 9의 순서도에 도시된 단계들 중 일부 단계는 대화 관리 방법의 실시예에서 제외될 수도 있다. 예를 들어, 도 9의 순서도에 도시된 단계들 중 음성 인식 시스템(1)에서 수행되는 단계들은 대화 관리 방법의 실시예에서 제외될 수 있다.
도 10은 일 실시예에 따른 대화 관리 방법에 있어서, 추천 발화 정보를 생성하는 과정을 구체화한 순서도이다.
도 10을 참조하면, 사용자 발화에 포함된 발화 패턴이 제1발화 패턴에 해당하고(1710의 예), 현재 대화 컨텍스트가 대화가 진행 중인 경우에 해당하면(1720의 예), 진행 중인 대화에 대응되는 예시 발화를 검색한다(1730).
대화 관리 모듈(130)은 스토리지(140)에 대화 컨텍스트에 관한 정보를 저장할 수 있다. 이전 대화 히스토리에 대한 정보, 현재 진행 중인 대화 컨텍스트에 대한 정보 등이 스토리지(140)에 저장될 수 있다.
현재 진행 중인 대화 컨텍스트에 대한 정보는 현재 진행 중인 대화의 도메인, 태스크(task), 또는 액션 등에 관한 정보를 포함할 수 있다. 여기서, 태스크는 대화를 진행하거나 사용자 발화에 포함된 인텐트를 실행하기 위해 대화 관리 시스템(2)이 수행하는 동작을 나타낼 수 있다. 액션은 인텐트를 실행했을 때 수행되는 동작을 나타낼 수 있다.
이전 대화 히스토리에 대한 정보는 이미 종료된 대화의 컨텍스트에 대한 정보를 포함할 수 있다.
또한, 스토리지(140)에는 대화 컨텍스트 별 예시 발화에 대한 정보가 저장될 수 있다. 예를 들어, 도메인과 태스크 별로 입력된 사용자 발화가 예시 발화로서 저장될 수 있다. 진행 중인 대화에 대응되는 예시 발화는 현재 대화 컨텍스트와 동일한 도메인, 동일한 태스크에 대해 매칭되어 저장된 예시 발화를 의미할 수 있다.
이러한 예시 발화는 복수의 사용자로부터 획득된 것일 수 있고, 동일한 도메인, 동일한 태스크에 대해 복수의 예시 발화가 저장될 수 있다. 복수의 예시 발화는 복수의 사용자로부터 발화된 빈도수에 관한 정보와 함께 저장될 수 있고, 대화 관리 모듈(130)은 추천 발화 정보를 생성함에 있어서 각각의 예시 발화에 대한 빈도수를 고려할 수 있다.
예를 들어, 대화 관리 모듈(130)은 빈도수가 높은 순서대로 상위 n(n은 2 이상의 정수)개의 예시 발화를 이용하여 추천 발화 정보를 생성할 수 있다. 또한, 빈도수에 따라 우선 순위를 정하고, 정해진 우선 순위에 따른 순서대로 예시 발화를 나열하여 리스트를 생성할 수 있다.
사용자 발화에 포함된 발화 패턴이 제1발화 패턴에 해당하고(1710의 예), 현재 대화 컨텍스트가 대화가 진행 중이 아닌 경우에 해당하면(1720의 아니오), 기본 예시 발화를 검색한다(1750).
기본 예시 발화는 사용자의 음성 명령을 가이드하기 위한 예시 발화들의 집합으로서 스토리지(140)에 저장되어 있을 수 있다.
사용자 발화에 포함된 발화 패턴이 제2발화 패턴에 해당하고(1710의 아니오, 1760의 예), 현재 대화 컨텍스트가 대화가 진행 중인 경우에 해당하면(1770의 예), 진행 중인 대화에 대응되는 예시 발화를 검색하고(1730), 검색된 예시 발화에 기초하여 추천 발화 정보를 생성한다(1740).
제2발화 패턴의 경우 제1발화 패턴과 같이 필러를 포함하나, 필러 이전에 발화된 의미있는 구성 요소가 포함되어 있다. 따라서, 진행 중인 대화에 대응되는 예시 발화를 검색함에 있어서, 의미있는 구성 요소가 포함된 사용자 발화와 유사한 예시 발화를 검색할 수 있다.
예를 들어, 진행 중인 대화에 대응되는 예시 발화 중에서 의미있는 구성 요소를 포함하는 예시 발화를 검색할 수 있다. 또한, 의미있는 구성 요소를 포함하는 예시 발화 중에서 의미있는 구성 요소의 위치가 사용자 발화와 동일한 예시 발화를 검색할 수 있다.
사용자 발화에 포함된 발화 패턴이 제2발화 패턴에 해당하고(1710의 아니오, 1760의 예), 현재 대화 컨텍스트가 대화가 진행 중이 아닌 경우에 해당하면(1770의 아니오), 사용자 발화와 유사한 예시 발화를 검색하고(1780), 검색된 예시 발화에 기초하여 추천 발화 정보를 생성할 수 있다(1740).
사용자 발화와 유사한 예시 발화는 스토리지(140)에 저장된 전체 컨텍스트에 대한 예시 발화 중 사용자 발화와 유사한 예시 발화일 수 있다. 예를 들어, 스토리지(140)에 저장된 전체 컨텍스트에 대한 예시 발화 중 사용자 발화에 포함된 의미있는 구성 요소를 동일한 위치에 포함하는 예시 발화가 검색될 수 있다.
추천 발화 정보는 검색된 적어도 하나의 예시 발화를 포함할 수 있다. 복수의 예시 발화가 포함되는 경우에는 발화 빈도수 등의 기준에 따라 복수의 예시 발화가 나열된 리스트가 추천 발화 정보에 포함될 수 있다.
생성된 추천 발화 정보는 사용자 단말(3)에 전송될 수 있다. 사용자 단말(3)은 디스플레이(340) 또는 스피커(330)를 통해 추천 발화 정보를 시각적 또는 청각적으로 출력할 수 있다.
도 11은 일 실시예에 따른 사용자 단말의 제어 방법에 관한 순서도이다.
일 실시예에 따른 사용자 단말의 제어 방법은 일 실시예에 따른 사용자 단말(3)에 의해 수행되는 것으로서, 전술한 사용자 단말(3)에 관한 설명은 별도의 언급이 없더라도 사용자 단말의 제어 방법에 적용될 수 있다. 또한, 사용자 단말의 제어 방법에 관한 설명 역시 별도의 언급이 없어도 사용자 단말(3)의 실시예에 적용될 수 있다.
도 11을 참조하면, 사용자 단말(3)에 마련된 마이크(320)에 사용자 발화가 입력된다(2100).
사용자 단말(3)의 컨트롤러(360)는 통신 모듈(310)을 제어하여 입력된 사용자 발화를 음성 인식 시스템(1) 또는 대화 관리 시스템(2)으로 전송할 수 있다(2200).
마이크(320)에 사용자 발화가 입력되면, 마이크(320)는 음파(sound wave) 형태의 사용자 발화를 전기적인 신호인 오디오 신호로 변환하여 출력한다. 따라서, 마이크(320)에서 출력된 이후의 사용자 발화는 오디오 신호의 형태의 처리될 수 있다.
음성 인식 시스템(1) 또는 대화 관리 시스템(2)에 사용자 발화가 실시간으로 전송되면, 앞서 설명한 대화 관리 방법에 따라 실시간으로 정해진 발화 패턴의 포함 여부를 판단하고 추천 발화 정보를 생성하는 등의 동작들이 수행될 수 있다.
대화 관리 시스템(2)으로부터 추천 발화 정보가 수신되면(2300의 예), 사용자 단말(3)은 추천 발화 정보를 출력할 수 있다(2400).
예를 들어, 컨트롤러(360)가 디스플레이(340)를 제어하여 추천 발화 정보를 시각적으로 출력할 수도 있고, 컨트롤러(360)가 스피커(330)를 제어하여 추천 발화 정보를 청각적으로 출력하는 것도 가능하다.
전술한 바와 같이, 사용자가 "어.."나 "음..."과 같은 필러를 발화하였을 때 추천 발화 정보가 출력될 수 있고, 추천 발화 정보의 출력은 사용자 발화의 입력에 대응하여 실시간으로 이루어질 수 있다. 따라서, 사용자는 디스플레이(340)나 스피커(330)를 통해 출력되는 추천 발화 정보에 기초하여 적절한 다음 발화를 이어서 입력할 수 있다.
추천 발화 정보가 수신되지 않은 경우(2300의 아니오), 발화가 종료되기 전까지(2500의 아니오) 입력된 사용자 발화를 대화 관리 시스템(2)에 전송하고, 발화가 종료되면(2500의 예), 시스템 응답을 수신하고(2600) 이를 출력할 수 있다(2700).
도 12 내지 도 18은 일 실시예에 따른 대화 관리 방법에 의해 생성되고 차량에 의해 출력되는 추천 발화 정보의 예시들을 나타낸 도면이다.
도 12에 도시된 바와 같이, 사용자가 경로 안내를 받기 위해, 마이크(320)를 통해 사용자 발화 "길 안내해줘"를 입력한 경우, 대화 관리 시스템(2)은 목적지에 대한 정보를 획득하기 위한 시스템 발화 "어디로 안내할까요?"를 출력할 수 있다. 이 때, 목적지가 생각나지 않은 사용자는 "어..."와 같은 필러를 발화할 수 있다.
사용자 발화는 실시간으로 음성 인식 시스템(1) 또는 대화 관리 시스템(2)으로 전송될 수 있고, 대화 관리 모듈(130)은 음성 인식 결과 및 자연어 이해 결과에 기초하여 사용자 발화에 제1발화 패턴이 포함된 것으로 판단할 수 있다.
또한, 대화 관리 모듈(130)은 스토리지(140)에 저장된 현재 대화 컨텍스트에 기초하여 대화가 진행 중인 것으로 판단할 수 있다. 현재 대화 컨텍스트의 도메인은 내비게이션이고, 태스크는 목적지를 묻기 위한 [Ask. poi]이다.
도 13을 참조하면, 대화 관리 모듈(130)은 스토리지(140)에 저장된 예시 발화 DB에서 도메인이 내비게이션이고 태스크가 [Ask. poi]인 예시 발화들을 검색할 수 있다.
예를 들어, 대화 관리 모듈(130)은 발화 빈도수가 높은 순서대로 4개의 예시 발화를 검색하여 추천 발화 정보를 생성할 수 있다. 또한, 추천 발화 정보를 생성함에 있어서, 사용자 별 개인의 발화 빈도수에 기초하여 가중치를 부여하는 것도 가능하다. 즉, 대화 관리 모듈(130)은 전체 사용자에 의한 발화 빈도수와 사용자 개인의 발화 빈도수를 모두 고려하여 추천 발화 정보를 생성하는 것도 가능하다.
4개의 예시 발화는 발화 빈도수가 높은 순서대로 나열되어 리스트를 구성할 수 있고, 추천 발화 정보를 수신한 사용자 단말(3)은 디스플레이(340)에 수신된 리스트를 표시할 수 있다. 사용자는 디스플레이(340)에 표시된 리스트를 참조하여 발화를 마무리할 수 있다.
도 13을 참조하면, 사용자가 무언가를 발화하려고 했으나 단어나 발화하려는 내용이 떠오르지 않아 "어..."와 같은 필러를 먼저 발화하는 경우도 있을 수 있다. 즉, 필러 이전에 입력된 의미있는 구성 요소가 없는 제1발화 패턴이 사용자 발화에 포함될 수 있다.
현재 대화 컨텍스트가 대화가 진행 중인 경우가 아니므로, 대화 관리 모듈(130)은 스토리지(140)에서 기본 예시 발화를 검색하고, 검색된 기본 예시 발화에 기초하여 추천 발화 정보를 생성할 수 있다.
기본 예시 발화는 사용자가 발화하기 전에 선제적으로 사용자의 발화를 가이드하기 위해 출력되는 예시 발화들의 집합일 수 있다. 이를 넛지(nugde)라고도 한다.
기본 예시 발화는 스토리지(140)에 저장된 전체 예시 발화들 중에서 발화 빈도수가 높은 순서대로 나열된 예시 발화들의 집합일 수 있다.
또는, 현재 컨텍스트에 대응되는 예시 발화들의 집합일 수도 있다. 예를 들어, 현재의 계절, 시간대 또는 주행 상황 중 적어도 하나에 대응되는 컨텍스트에서 전체 사용자 또는 사용자 개인에 의해 주로 발화된 발화들의 집합이 기본 예시 발화가 될 수 있다.
또는, 현재의 계절, 시간대 또는 주행 상황 중 적어도 하나의 컨텍스트에서 출력되도록 미리 저장된 예시 발화들의 집합이 기본 예시 발화가 될 수도 있다.
기본 예시 발화에 기초하여 생성된 추천 발화 정보는 사용자 단말(3)에 전송될 수 있고, 사용자 단말(3)은 전송된 추천 발화 정보를 디스플레이(350)에 표시할 수 있다.
도 15를 참조하면, 사용자가 음악을 듣기 위해, 마이크(320)를 통해 사용자 발화 "노래 틀어줘"를 입력한 경우, 대화 관리 시스템(2)은 재생할 노래에 대한 정보를 획득하기 위한 시스템 발화 "무슨 노래를 틀어드릴까요?"를 출력할 수 있다. 이 때, 아티스트의 이름 중 일부만 생각난 사용자는 "블랙, 어..."와 같은 발화를 하게 될 수 있다.
사용자 발화는 실시간으로 음성 인식 시스템(1) 또는 대화 관리 시스템(2)으로 전송될 수 있고, 대화 관리 모듈(130)은 음성 인식 결과 및 자연어 이해 결과에 기초하여 사용자 발화에 제2발화 패턴이 포함된 것으로 판단할 수 있다.
또한, 대화 관리 모듈(130)은 스토리지(140)에 저장된 현재 대화 컨텍스트에 기초하여 대화가 진행 중인 것으로 판단할 수 있다. 현재 대화 컨텍스트의 도메인은 음악이고, 태스크는 재생할 음악을 묻기 위한 [Ask. music]이다.
도 16을 참조하면, 대화 관리 모듈(130)은 스토리지(140)에 저장된 예시 발화 DB에서 도메인이 음악이고 태스크가 [Ask. music]인 예시 발화들을 검색할 수 있다.
이 때, 대화 관리 모듈(130)은 도메인이 음악이고 태스크가 [Ask. music]인 예시 발화들 중에서 사용자 발화에 포함된 구성 요소를 포함하는 예시 발화들을 검색할 수 있다. 당해 예시에서는 "블랙"이 포함된 예시 발화들을 검색할 수 있다.
또한, 대화 관리 모듈(130)은 예시 발화들 중에서 구성 요소의 위치가 사용자 발화에서의 위치와 동일한 예시 발화들을 검색할 수도 있다. 당해 예시에서는 문장의 맨 앞에 "블랙"이 위치하는 예시 발화들이 검색될 수 있다.
대화 관리 모듈(130)이 검색된 예시 발화들에 기초하여 추천 발화 정보를 생성함에 있어서, 예시 발화 전체를 리스트에 포함시킬 수도 있고 사용자 발화에서 생략된 부분만을 리스트에 포함시킬 수도 있다.
도 15의 예시를 참조하면, 대화 관리 모듈(130)은 이미 발화된 "블랙"을 제외한 나머지 생략된 구성 요소만을 포함하여 추천 발화 정보를 생성하여 사용자 단말(3)에 전송할 수 있고, 사용자 단말(3)은 전송된 추천 발화 정보를 디스플레이(340)에 표시할 수 있다. 사용자는 디스플레이(340)에 표시된 리스트를 참조하여 발화를 마무리할 수 있다.
도 17에 도시된 바와 같이, 사용자가 의미있는 구성 요소 "내 차"를 발화하였으나 그 뒤의 단어가 생각나지 않아 머뭇거리면서 "어..."와 같은 필러를 발화한 경우, 대화 관리 모듈(130)은 사용자 발화에 제2발화 패턴이 포함된 것으로 판단할 수 있다.
또한, 대화 관리 모듈(130)은 스토리지(140)에 저장된 현재 대화 컨텍스트에 기초하여 대화가 진행 중인 상황이 아닌 것으로 판단할 수 있고, 스토리지(140)에 저장된 전체 예시 발화 중에서 사용자 발화와 유사한 예시 발화를 검색할 수 있다.
이 때, 대화 관리 모듈(130)은 전체 예시 발화들 중에서 사용자 발화에 포함된 구성 요소를 포함하는 예시 발화들을 검색할 수 있다. 도 18에 도시된 바와 같이, "내 차"가 포함된 예시 발화들을 검색할 수 있다.
또한, 대화 관리 모듈(130)은 예시 발화들 중에서 구성 요소의 위치가 사용자 발화에서의 위치와 동일한 예시 발화들을 검색할 수도 있다. 당해 예시에서는 문장의 맨 앞에 "내 차"가 위치하는 예시 발화들이 검색될 수 있다.
대화 관리 모듈(130)이 검색된 예시 발화들에 기초하여 추천 발화 정보를 생성함에 있어서, 예시 발화 전체를 리스트에 포함시킬 수도 있고 사용자 발화에서 생략된 부분만을 리스트에 포함시킬 수도 있다.
도 17의 예시를 참조하면, 대화 관리 모듈(130)은 이미 발화된 "내 차"를 제외한 나머지 생략된 구성 요소만을 포함하여 추천 발화 정보를 생성하여 사용자 단말(3)에 전송할 수 있고, 사용자 단말(3)은 전송된 추천 발화 정보를 디스플레이(340)에 표시할 수 있다. 사용자는 디스플레이(340)에 표시된 리스트를 참조하여 발화를 마무리할 수 있다.
추천 발화 정보의 생성 없이 대화가 종료될 경우, 사용자 발화가 무엇인지 확인하기 위한 시스템 발화가 출력되어야 하고 이에 대한 사용자의 응답을 처리하는 등 대화의 뎁스(depth)가 늘어나게 된다. 그러나, 당해 실시예와 같이 현재 대화 컨텍스트 및 사용자 발화 패턴에 따라 적절한 추천 발화를 제공하면 대화의 뎁스를 늘리지 않고 신속하게 발화의 마무리를 가이드할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때 개시된 실시예들의 동작을 수행할 수 있다.
기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있고, 여기서 기록매체는 비일시적으로 데이터를 저장하는 기록매체(Non-transitory computer-readable medium)이다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
110: 음성 인식 모듈
120: 자연어 이해 모듈
130: 대화 관리 모듈
1: 음성 인식 시스템
2: 대화 관리 시스템
3: 사용자 단말
210, 220, 310: 통신 모듈
320: 마이크
330: 스피커
340: 디스플레이
350: 입력 장치
360: 컨트롤러

Claims (29)

  1. 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계;
    상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나에 기초하여 상기 사용자 발화에 정해진 발화 패턴이 포함되는지 여부를 판단하는 단계; 및
    상기 사용자 발화에 상기 정해진 발화 패턴이 포함되면, 상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 생성하는 단계;를 포함하는 대화 관리 방법.
  2. 제 1 항에 있어서,
    상기 정해진 발화 패턴의 종류는,
    발화에 포함된 특정 구성 요소의 위치 및 상기 특정 구성 요소 이전에 발화된 다른 구성 요소의 성격에 따라 달라지는 대화 관리 방법.
  3. 제 1 항에 있어서,
    상기 정해진 발화 패턴은,
    의미가 없는 특정 구성 요소만을 포함하는 제1발화 패턴 및 의미 있는 구성 요소와 상기 의미 있는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제2발화 패턴을 포함하는 대화 관리 방법.
  4. 제 3 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제1발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함하는 대화 관리 방법.
  5. 제 3 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함하는 대화 관리 방법.
  6. 제 3 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함하는 대화 관리 방법.
  7. 제 6 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함하는 대화 관리 방법.
  8. 제 1 항에 있어서,
    상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계는,
    상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 실시간으로 획득하는 것을 포함하는 대화 관리 방법.
  9. 제 3 항에 있어서,
    상기 특정 구성 요소는,
    발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 의미없는 구성 요소인 필러(filler)를 포함하는 대화 관리 방법.
  10. 제 3 항에 있어서,
    상기 제2발화 패턴에 포함되는 의미 있는 구성 요소는 미완성된 발화를 구성하고,
    상기 정해진 발화 패턴은,
    완성된 발화를 구성하는 구성 요소와 상기 완성된 발화를 구성하는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제3발화 패턴을 더 포함하는 대화 관리 방법.
  11. 제 10 항에 있어서,
    상기 사용자 발화에 상기 제3발화 패턴이 포함되면, 상기 사용자 발화에 대응되는 시스템 응답을 생성하는 단계;를 더 포함하는 대화 관리 방법.
  12. 사용자 발화가 입력되는 마이크;
    상기 입력된 사용자 발화를 대화 관리 시스템으로 전송하고, 상기 대화 관리 시스템으로부터 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 수신하는 통신 모듈; 및
    상기 수신된 추천 발화 정보를 표시하는 디스플레이; 를 포함하고,
    상기 추천 발화 정보는,
    상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 생성되는 사용자 단말.
  13. 제 12 항에 있어서,
    상기 정해진 발화 패턴은,
    의미가 없는 특정 구성 요소만을 포함하는 제1발화 패턴 및 의미 있는 구성 요소와 상기 의미 있는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제2발화 패턴을 포함하는 사용자 단말.
  14. 제 13 항에 있어서,
    상기 디스플레이는,
    상기 사용자 발화에 상기 제1발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화에 기초하여 생성된 추천 발화 정보를 표시하는 사용자 단말.
  15. 제 13 항에 있어서,
    상기 디스플레이는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 생성된 추천 발화 정보를 표시하는 사용자 단말.
  16. 제 13 항에 있어서,
    상기 디스플레이는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화에 기초하여 생성된 추천 발화 정보를 표시하는 사용자 단말.
  17. 제 16 항에 있어서,
    상기 디스플레이는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 상기 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 생성된 추천 발화 정보를 표시하는 사용자 단말.
  18. 제 12 항에 있어서,
    상기 통신 모듈은,
    상기 입력된 사용자 발화를 실시간으로 상기 대화 관리 시스템으로 전송하는 사용자 단말.
  19. 제 13 항에 있어서,
    상기 특정 구성 요소는,
    발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 의미없는 구성 요소인 필러(filler)를 포함하는 사용자 단말.
  20. 대화 관리 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체에 있어서,
    상기 대화 관리 방법은,
    사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계;
    상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나에 기초하여 상기 사용자 발화에 정해진 발화 패턴이 포함되는지 여부를 판단하는 단계; 및
    상기 사용자 발화에 상기 정해진 발화 패턴이 포함되면, 상기 사용자 발화에 포함된 정해진 발화 패턴의 종류 또는 현재 대화 컨텍스트 중 적어도 하나에 기초하여 상기 사용자 발화의 완성을 가이드하기 위한 추천 발화 정보를 생성하는 단계;를 포함하는 기록 매체.
  21. 제 20 항에 있어서,
    상기 정해진 발화 패턴은,
    의미가 없는 특정 구성 요소만을 포함하는 제1발화 패턴 및 의미 있는 구성 요소와 상기 의미 있는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제2발화 패턴을 포함하는 기록 매체.
  22. 제 21 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제1발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함하는 기록 매체.
  23. 제 21 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중인 경우, 상기 진행 중인 대화에 대응되는 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함하는 기록 매체.
  24. 제 21 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화에 기초하여 상기 추천 발화 정보를 생성하는 것을 포함하는 기록 매체.
  25. 제 24 항에 있어서,
    상기 추천 발화 정보를 생성하는 단계는,
    상기 사용자 발화에 상기 제2발화 패턴이 포함되고 대화 관리 시스템과 사용자 사이의 대화가 진행 중이 아닌 경우, 상기 사용자 발화와 유사한 예시 발화의 구성 요소 중 상기 사용자 발화에서 생략된 구성 요소를 이용하여 상기 추천 발화 정보를 생성하는 것을 포함하는 기록 매체.
  26. 제 20 항에 있어서,
    상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 획득하는 단계는,
    상기 사용자 발화에 대한 음성 인식 결과 또는 자연어 이해 결과 중 적어도 하나를 실시간으로 획득하는 것을 포함하는 기록 매체.
  27. 제 24 항에 있어서,
    상기 특정 구성 요소는,
    발화의 시작 전 또는 발화의 뒤에 입력되거나 또는 발화 중간에 입력되는 의미없는 구성 요소인 필러(filler)를 포함하는 기록 매체.
  28. 제 24 항에 있어서,
    상기 제2발화 패턴에 포함되는 의미 있는 구성 요소는 미완성된 발화를 구성하고,
    상기 정해진 발화 패턴은,
    완성된 발화를 구성하는 구성 요소와 상기 완성된 발화를 구성하는 구성 요소 뒤에 위치하는 상기 특정 구성 요소를 포함하는 제3발화 패턴을 더 포함하는 기록 매체.
  29. 제 28 항에 있어서,
    상기 사용자 발화에 상기 제3발화 패턴이 포함되면, 상기 사용자 발화에 대응되는 시스템 응답을 생성하는 단계;를 더 포함하는 기록 매체.
KR1020220032797A 2022-03-16 2022-03-16 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체 KR20230135396A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220032797A KR20230135396A (ko) 2022-03-16 2022-03-16 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체
US18/080,350 US20230298581A1 (en) 2022-03-16 2022-12-13 Dialogue management method, user terminal and computer-readable recording medium
CN202211616064.5A CN116798415A (zh) 2022-03-16 2022-12-15 对话管理方法、用户终端和计算机可读记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220032797A KR20230135396A (ko) 2022-03-16 2022-03-16 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR20230135396A true KR20230135396A (ko) 2023-09-25

Family

ID=88039137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032797A KR20230135396A (ko) 2022-03-16 2022-03-16 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체

Country Status (3)

Country Link
US (1) US20230298581A1 (ko)
KR (1) KR20230135396A (ko)
CN (1) CN116798415A (ko)

Also Published As

Publication number Publication date
US20230298581A1 (en) 2023-09-21
CN116798415A (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
US10332513B1 (en) Voice enablement and disablement of speech processing functionality
US9558745B2 (en) Service oriented speech recognition for in-vehicle automated interaction and in-vehicle user interfaces requiring minimal cognitive driver processing for same
KR102249392B1 (ko) 사용자 맞춤형 서비스를 위한 차량 기기 제어 장치 및 방법
US20120253823A1 (en) Hybrid Dialog Speech Recognition for In-Vehicle Automated Interaction and In-Vehicle Interfaces Requiring Minimal Driver Processing
KR102445365B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
US10431221B2 (en) Apparatus for selecting at least one task based on voice command, vehicle including the same, and method thereof
CN116917984A (zh) 交互式内容输出
WO2012174515A1 (en) Hybrid dialog speech recognition for in-vehicle automated interaction and in-vehicle user interfaces requiring minimal cognitive driver processing for same
KR20230135396A (ko) 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체
KR20230142243A (ko) 대화 처리 방법, 사용자 단말 및 대화 시스템
KR20210098250A (ko) 전자 장치 및 이의 제어 방법
KR20240053428A (ko) 대화 관리 방법, 대화 관리 시스템 및 컴퓨터로 판독 가능한 기록 매체
US11955123B2 (en) Speech recognition system and method of controlling the same
US20230318727A1 (en) Vehicle and method of controlling the same
JP2019212168A (ja) 音声認識システムおよび情報処理装置
US20230267923A1 (en) Natural language processing apparatus and natural language processing method
KR20230146898A (ko) 대화 처리 방법 및 대화 시스템
US11996099B2 (en) Dialogue system, vehicle, and method of controlling dialogue system
KR20220073513A (ko) 대화 시스템, 차량 및 대화 시스템의 제어 방법
US20230282212A1 (en) User terminal, dialogue management system, control method of user terminal, and dialogue management method
US20230260511A1 (en) Vehicle and control method thereof
KR20230113081A (ko) 음성 인식 시스템 및 음성 인식 서비스 제공 방법
KR20230101452A (ko) 대화 시스템 및 대화 처리 방법
CA2737850C (en) Wirelessly delivered owner's manual
KR20230153854A (ko) 사용자 단말, 사용자 단말의 제어 방법 및 대화 관리 방법