KR20220094400A - 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법 - Google Patents

대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법 Download PDF

Info

Publication number
KR20220094400A
KR20220094400A KR1020200185588A KR20200185588A KR20220094400A KR 20220094400 A KR20220094400 A KR 20220094400A KR 1020200185588 A KR1020200185588 A KR 1020200185588A KR 20200185588 A KR20200185588 A KR 20200185588A KR 20220094400 A KR20220094400 A KR 20220094400A
Authority
KR
South Korea
Prior art keywords
information
user
target
ambiguous word
conversation
Prior art date
Application number
KR1020200185588A
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 KR1020200185588A priority Critical patent/KR20220094400A/ko
Priority to US17/525,585 priority patent/US20230315997A9/en
Priority to DE102021212744.4A priority patent/DE102021212744A1/de
Priority to CN202111512496.7A priority patent/CN114758653A/zh
Publication of KR20220094400A publication Critical patent/KR20220094400A/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/037Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for occupant comfort, e.g. for automatic adjustment of appliances according to personal settings, e.g. seats, mirrors, steering wheel
    • B60R16/0373Voice control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability 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/08Speech classification or search
    • 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/26Speech to text 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
    • 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
    • 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/223Execution procedure of a spoken command
    • 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/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)

Abstract

본 발명은 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법에 관한 것이다. 본 발명의 대화 시스템은, 모호어별 타겟과 타겟 값에 대한 타겟 정보를 저장하는 저장부; 음성 신호를 수신하는 제1입력 장치; 제1입력 장치에 수신된 음성 신호를 텍스트로 변환하고 수신된 음성 신호에 기초하여 사용자의 의도를 판단하고, 판단된 사용자의 의도가 요청 의도이고 변환된 텍스트가 모호어라고 판단되면 저장부에 저장된 타깃 정보로부터 모호어에 대응하는 타겟과 타겟 값을 획득하는 대화 관리기; 및 대화 관리기에서 획득된 타겟과 타겟 값에 기초하여 응답을 생성하고 생성된 응답의 출력을 제어하는 결과 처리기를 포함한다.

Description

대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법 {Dialogue system, Vehicle and method for controlling the dialogue system}
본 발명은 사용자와의 대화를 통해 사용자의 의도를 파악하고 사용자에게 필요한 정보나 서비스를 제공하는 대화 시스템, 차량 및 대화 시스템의 제어 방법에 관한 것이다.
차량용 AVN, 차량 내 공기조화기나 대부분의 모바일 기기는 작은 화면 및 작은 버튼으로 인해, 사용자에게 시각적인 정보를 제공하거나 사용자의 입력을 수신함에 있어 불편함이 발생할 수 있다.
특히, 사용자가 운전 중 시각적인 정보를 확인하거나 기기를 조작하기 위해, 시선을 이동시키고 스티어링 휠에서 손을 떼는 것은 안전 운전에 위협이 되는 요소로 작용한다.
따라서, 사용자와의 대화를 통해 사용자의 의도를 파악하고, 사용자에게 필요한 서비스를 제공하는 대화 시스템이 차량에 적용될 경우 보다 안전하고 편리하게 서비스를 제공할 수 있을 것으로 기대된다.
일 측면은 기존의 대화 정보와 사용자가 선택한 타겟 정보로부터 사용자에 의해 발화된 모호한 언어에 대한 사용자의 의도를 인식하는 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법을 제공한다.
다른 측면은 기존의 대화 정보와 사용자가 선택한 타겟 정보로부터 경험 데이터베이스를 구축하고 구축된 경험 데이터베이스의 정보에 기초하여 사용자의 의도를 인식하는 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법을 제공한다.
일 측면에 따른 대화 시스템은, 모호어별 타겟과 타겟 값에 대한 타겟 정보를 저장하는 저장부; 음성 신호를 수신하는 제1입력 장치; 제1입력 장치에 수신된 음성 신호를 텍스트로 변환하고 수신된 음성 신호에 기초하여 사용자의 의도를 판단하고, 판단된 사용자의 의도가 요청 의도이고 변환된 텍스트가 모호어라고 판단되면 저장부에 저장된 타깃 정보로부터 모호어에 대응하는 타겟과 타겟 값을 획득하는 대화 관리기; 및 대화 관리기에서 획득된 타겟과 타겟 값에 기초하여 응답을 생성하고 생성된 응답의 출력을 제어하는 결과 처리기를 포함한다.
대화 관리기는, 수신된 음성 신호 중 모호어에 대한 질의에 대응하는 음성 신호가 존재하면 질의에 대응하는 음성 신호에 기초하여 저장부에 저장된 모호어에 대응하는 타깃 정보를 업데이트한다.
대화 시스템은, 음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고, 대화 관리기는 제2입력 장치를 통해 수신된 사용자 입력 중 모호어에 대한 질의에 대응하는 사용자 입력이 존재하면 질의에 대응하는 사용자 입력에 기초하여 저장부에 저장된 모호어에 대응하는 타깃 정보를 업데이트한다.
대화 시스템은, 음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고, 대화 관리기는 제1, 2 입력 장치를 통해 수신된 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득하고, 결과 처리기는 획득된 모호어별 타깃 값에 대한 이력 확률에 기초하여 복수 개의 응답을 생성하고 생성한 복수 개의 응답을 출력한다.
대화 관리기는, 사용자와의 대화 정보에 기초하여 모호어의 존재 여부를 판단하고 모호어가 존재한다고 판단되면 대화 정보에 기초하여 모호어에 대한 타겟 정보를 경험 정보로 생성하고 생성한 경험 정보를 저장부에 저장하도록 한다.
모호어는, 타겟을 수식하는 언어를 포함한다.
다른 측면에 따른 차량은, 음성 신호를 수신하는 제1입력 장치; 모호어별 타겟과 타겟 값에 대한 타겟 정보를 저장하는 저장부; 제1입력 장치에 수신된 음성 신호를 텍스트로 변환하고 수신된 음성 신호에 기초하여 사용자의 의도를 판단하고, 판단된 사용자의 의도가 요청 의도이고 변환된 텍스트가 모호어라고 판단되면 저장부에 저장된 타깃 정보로부터 모호어에 대응하는 타겟과 타겟 값을 획득하고 획득한 타겟과 타겟 값에 기초하여 응답을 생성하고 생성된 응답의 출력을 제어하는 대화 시스템을 포함한다.
차량은 생성된 응답을 이미지로 출력하는 디스플레이; 및 생성된 응답을 오디오로 출력하는 스피커 중 적어도 하나를 포함한다.
차량의 대화 시스템은, 수신된 음성 신호 중 모호어에 대한 질의에 대응하는 음성 신호가 존재하면 질의에 대응하는 음성 신호에 기초하여 저장부에 저장된 모호어에 대응하는 타깃 정보를 업데이트한다.
차량은 음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고, 대화 시스템은 제2입력 장치를 통해 수신된 사용자 입력 중 모호어에 대한 질의에 대응하는 사용자 입력이 존재하면 질의에 대응하는 사용자 입력에 기초하여 저장부에 저장된 모호어에 대응하는 타깃 정보를 업데이트한다.
차량은 음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고, 대화 시스템은 제1, 2 입력 장치를 통해 수신된 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득하고 획득한 모호어별 타깃 값에 대한 이력 확률에 기초하여 복수 개의 응답을 생성하고 생성한 복수 개의 응답을 출력한다.
차량의 대화 시스템은, 사용자와의 대화 정보에 기초하여 모호어의 존재 여부를 판단하고 모호어가 존재한다고 판단되면 대화 정보에 기초하여 모호어에 대한 타겟 정보를 경험 정보로 생성하고 생성한 경험 정보를 저장부에 저장하도록 한다.
차량은 대화 시스템에서 출력한 응답에 대응하여 공기 조화기, 윈도우, 도어, 시트, 오디오/비디오/내비게이션(AVN), 히터, 와이퍼, 사이드 미러, 내부의 램프 및 외부의 램프 중 적어도 하나의 기기를 제어하는 제어기를 더 포함한다.
차량의 대화 시스템은, 사용자의 요청 의도가 목적지 검색 요청 의도이면, 재시동 전의 대화 정보와 재시동 후의 대화 정보에 기초하여 모호어에 대한 타겟 정보를 경험 정보로 생성하고 생성한 경험 정보를 저장부에 저장하도록 한다.
차량의 대화 시스템은, 목적지 이력 정보, 음성 인식 사용 정보 및 적어도 하나의 기기의 제어 정보에 기초하여 경험 정보를 생성한다.
차량의 대화 관리기는, 주행 중 시간의 흐름에 따른 대화 정보에 기초하여 적어도 하나의 기기에 대한 제어 정보를 획득하고 획득한 적어도 하나의 기기의 제어 정보에 기초하여 경험 정보를 생성한다.
또 다른 측면에 따른 대화 시스템의 제어 방법은, 음성 신호를 수신하고, 수신된 음성 신호를 텍스트로 변환하고, 변환된 텍스트에 기초하여 사용자의 발화 의도를 파악하고, 파악한 사용자의 발화 의도가 요청 의도이고, 변환된 텍스트가 모호어에 대한 텍스트이면 경험 데이터베이스에 저장된 경험 정보에 기초하여 모호어에 대응하는 타깃 정보를 획득하고, 획득된 타깃 정보에 대응하는 액션을 결정하고, 결정된 액션에 대응하는 응답을 생성하고, 생성된 응답을 출력한다.
또 다른 측면에 따른 대화 시스템의 제어 방법은, 출력된 음성 신호와 수신된 음성 신호에 기초하여 경험 정보를 생성하고, 생성된 경험 정보를 경험 데이터베이스에 저장하는 것을 더 포함한다.
또 다른 측면에 따른 대화 시스템의 제어 방법은, 제2입력 장치를 통해 음성 외의 사용자 입력이 수신되면 수신된 사용자 입력 중 모호어에 대한 질의에 대응하는 사용자 입력이 존재하는지 판단하고, 모호어에 대한 질의에 대응하는 사용자 입력이 존재한다고 판단되면 질의에 대응하는 사용자 입력에 기초하여 경험 데이터베이스에 저장된 모호어에 대응하는 타깃 정보를 업데이트 한다.
생성된 응답을 출력하는 것은, 제1, 2 입력 장치를 통해 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득하고, 획득된 모호어별 타깃 값에 대한 이력 확률에 기초하여 복수 개의 응답을 생성하고, 생성한 복수 개의 응답을 출력하는 것을 포함한다.
본 발명은 저장된 기존의 대화 정보와 사용자의 타겟 정보에 기초하여 대화 중 부족한 정보가 수신되어도 사용자의 의도를 정확하게 인식함으로써 음성 인식의 인식률을 향상시킬 수 있고, 사용자의 실제 의도에 부합되는 서비스 또는 사용자에게 가장 필요한 서비스를 제공할 수 있다.
본 발명은 사용자가 모호한 언어를 발화한 경우, 모호함을 제거함으로써 불필요한 인터랙션을 줄일 수 있고 이로 인해 사용성이 높은 서비스를 제공할 수 있다. 즉 본 발명은 사용자와 대화 시스템 간의 인터랙션을 최소화할 수 있다.
본 발명은 차량에 마련된 복수 개의 기능 중 적어도 하나의 기능 제어를 제안할 수 있고, 시스템과 복수의 화자 간의 원활한 대화가 이루어지도록 할 수 있다.
본 발명은 대화 기능을 가진 차량의 품질을 향상시킬 수 있어 상품성을 증대시킬 수 있고, 나아가 사용자의 만족도를 높일 수 있으며 사용자의 편리성 및 차량의 안전성을 향상시킬 수 있다.
도 1은 실시 예에 따른 대화 시스템이 마련된 차량의 내부 예시도이다.
도 2는 실시 예에 따른 대화 시스템이 마련된 차량의 제어 구성도이다.
도 3은 실시 예에 따른 대화 시스템의 상세 구성도이다.
도 4는 실시 예에 따른 대화 시스템의 입력 처리기의 상세 구성도이다.
도 5는 실시 예에 따른 대화 시스템의 대화 관리기의 상세 구성도이다.
도 6은 실시 예에 따른 대화 시스템의 모호성 해결기의 모호성 분석 메커니즘의 예시도이다.
도 7a 및 도 7b는 실시 예에 따른 대화 시스템에서 사용자의 의도에 대응하는 타겟별 모호어에 대한 사용 이력과 이력 확률을 획득하는 예시도이다.
도 8은 실시 예에 따른 대화 시스템과 사용자와의 대화 정보로부터 경험 정보를 획득하는 예시도이다.
도 9a는 실시 예에 따른 대화 시스템과 사용자와의 목적지 검색을 위한 대화 예시도이고, 도 9b는 도 9a의 대화 정보로부터 경험 정보를 업데이트하는 예시도이다.
도 10a는 실시 예에 따른 대화 시스템과 사용자와의 공기 조화기 제어에 대한 대화 예시도이고, 도 10b는 도 10a의 대화 정보로부터 경험 정보를 업데이트하는 예시도이다.
도 11은 실시 예에 따른 대화 시스템의 경험 데이터베이스의 예시도이다.
도 12는 실시 예에 따른 대화 시스템의 결과 처리기의 상세 구성도이다.
도 13a 및 도 13b는 실시 예에 따른 대화 시스템의 대화 응답 생성기에서의 응답 생성 예시도이다.
도 14는 실시 예에 따른 대화 시스템의 제어 순서도이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과"연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 실시 예에 따른 대화 시스템이 마련된 차량의 내부 예시도이다.
차량(1)은 내장과 외장을 갖는 차체(Body)와, 차체를 제외한 나머지 부분으로 주행에 필요한 기계 장치가 설치되는 차대(Chassis)를 포함한다.
도 1 에 도시된 바와 같이, 차체의 외장은 트렁크와, 전후좌우 도어(101)와, 전후좌우 도어(101)에 각각 설치된 윈도우 글라스(102, 또는 윈도우)와, 운전자에게 차량(1) 후방의 시야를 제공하는 사이드 미러(103)를 포함한다.
차체의 내장은 탑승자가 앉는 시트(104)와, 대시 보드(105)와, 대시 보드 상에 배치되고 타코미터, 속도계, 냉각수 온도계, 연료계, 방향전환 지시등, 상향등 표시등, 경고등, 안전벨트 경고등, 주행 거리계, 주행 기록계, 자동변속 선택레버 표시등, 도어 열림 경고등, 엔진 오일 경고등, 연료부족 경고등이 배치된 계기판(즉 클러스터, 106)과, 오디오, 히터 공기조화기의 조절판이 있는 센터 페시아(107)를 포함한다.
센터 페시아(107)에는 송풍구, 시거잭, 오디오/비디오/내비게이션 장치(AVN: 108) 등이 설치될 수 있다. 여기서 오디오/비디오/내비게이션 장치(AVN: 108)는 차량용 단말기일 수 있다. 이하 오디오/비디오/내비게이션 장치(AVN: 108)를 차량용 단말기로 기재하도록 한다.
차량용 단말기(108)는 복수의 위성에서 제공된 위치 정보에 기초하여 차량의 현재 위치를 계산하고, 현재 위치에 대한 위치 정보를 그래픽 지도 상에 매칭시켜 표시한다.
차량용 단말기(108)는 사용자로부터 목적지 정보가 수신되면 경로탐색 알고리즘에 기초하여 현재 위치부터 목적지까지의 경로탐색을 수행하고, 탐색된 경로에 대한 경로 정보를 그래픽 지도 상에 매칭시켜 표시하고, 경로 정보에 기초하여 목적지까지 길 안내 정보를 출력할 수 있다.
차량용 단말기(108)는 음성 인식 기능을 수행할 수 있다. 이러한 차량용 단말기(108)는 음성 인식을 통해 동작 명령을 입력받거나, 음성 인식을 통해 목적지까지의 주소(즉 목적지 정보)를 입력받으며, 음성 인식을 통해 미리 저장된 복수의 주소 중 어느 하나 주소를 선택받는 것도 가능하다.
차량의 차대는 동력 발생 장치, 동력 전달 장치, 주행 장치, 조향 장치, 제동 장치, 현가 장치, 변속 장치, 연료 장치, 전후좌우 차륜 등을 포함한다.
또한 차량에는 운전자 및 탑승자의 안전을 위하여 여러 가지 안전장치들이 마련되어 있다. 차량의 안정장치로는 차량 충돌 시 운전자 등 탑승자의 안전을 목적으로 하는 에어백 제어 장치와, 차량의 가속 또는 코너링 시 차량의 자세를 제어하는 차량자세 안정 제어 장치(ESC: Electronic Stability Control) 등 여러 종류의 안전장치들이 있다.
이외에도 차량(1)은 후방 또는 측방의 장애물 내지 다른 차량을 감지하는 근접 센서, 강수 여부 및 강수량을 감지하는 레인 센서 등의 감지 장치를 더 포함하는 것도 가능하다.
또한 차량(1)은 운전자의 편의를 위해 설치된 핸즈프리 장치, GPS, 오디오 기기 및 블루투스 장치, 후방 카메라, 단말기 충전 장치, 하이패스 장치 등의 전자 장치를 더 포함하는 것도 가능하다. 이러한 전자 장치는, 음성 인식을 통해 동작 명령을 입력받을 수 있다.
도 2는 실시 예에 따른 대화 시스템이 마련된 차량의 제어 구성도이고, 도 3은 실시 예에 따른 대화 시스템의 구성도이며, 도 4는 실시 예에 따른 대화 시스템의 입력 처리기의 상세 구성도이고, 도 5는 실시 예에 따른 대화 시스템의 대화 관리기의 상세 구성도이며, 도 6은 실시 예에 따른 대화 시스템의 결과 처리기의 상세 구성도이다.
도 2에 도시된 바와 같이, 차량(1)은 제1입력장치(110), 제2입력 장치(120), 대화 시스템(130), 출력장치(140), 제어기(150), 감지부(160), 통신 장치(170) 및 복수 개의 전자 장치(101, 102, 104, 108, 109)를 포함한다.
제1입력장치(110)는 사용자의 명령을 음성으로 입력 받을 수 있다. 제1입력장치(110)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰을 포함할 수 있다.
효과적인 음성의 입력을 위하여 제1입력장치(110)는 차량의 내장의 헤드라이닝에 마련될 수 있으나, 대시보드(105) 위에 마련되거나 스티어링 휠에 마련되는 것도 가능하다. 이 외에도 사용자의 음성을 입력 받기에 적합한 위치이면 어디든 제한이 없다.
제2입력 장치(120)는 사용자의 조작을 통해 사용자 명령을 입력 받는다. 이러한 제2입력 장치(120)는 버튼, 키, 스위치, 터치 패드, 페달 및 레버 중 적어도 하나를 포함할 수 있다.
제2입력 장치(120)는 사용자를 촬영하는 카메라를 포함하는 것도 가능하다. 카메라로 촬영한 영상을 통해, 명령 입력의 일 수단으로 사용되는 사용자의 제스처, 표정 또는 시선 방향을 인식할 수 있다. 또는, 카메라로 촬영한 영상을 통해 사용자의 상태(졸음 상태 등)를 파악하는 것도 가능하다.
이러한 제2입력 장치(120)는 터치 패널로 구현 가능하고, 출력 장치의 디스플레이(141)는 LCD 등의 평판 표시 패널로 구현 가능하다. 즉 제2입력 장치(120)와 출력 장치(140)의 디스플레이(141)는 터치 패널과 평판 표시 패널이 일체로 형성된 터치 스크린으로 구현 가능하다.
제2입력 장치(120)는 디스플레이(141)에 표시된 커서의 이동 명령 및 선택 명령 등을 입력하기 위한 조그 다이얼(미도시)을 더 포함하는 것도 가능하다.
제2입력 장치(120)는 사용자에 의해 조작된 버튼이나 조그 다이얼에 대한 신호를 제어기(150)에 전송하고, 또한 터치 패널에 터치된 위치의 신호를 제어기(150)에 전송한다.
대화 시스템(130)은 제1 입력 장치(110)를 통해 입력된 사용자 음성, 제2입력 장치(120)를 통해 입력된 사용자의 명령, 제어기(150)를 통해 입력된 각종 정보를 이용하여 사용자의 의도와 상황을 파악하고, 사용자의 의도에 대응되는 액션을 수행하기 위한 응답을 출력한다.
대화 시스템(130)은 제1 입력 장치(110)를 통해 입력된 사용자 음성을 텍스트로 변환하고, 변환된 텍스트가 모호어에 대한 텍스트인지를 판단한다.
여기서 모호어는 사용자 의도을 판단하는데 있어 판단의 기준이 없는 언어일 수 있고, 기준을 정하기 위한 근거가 부족한 언어일 수 있다.
모호어는 타겟이 되는 대상을 의미상 한정하는 수식어를 포함할 수 있다.
예를 들어, 모호어는 거리를 수식하는 주변, 근처, 가까운, 먼 등을 포함할 수 있고, 시간을 수식하는 짧은, 긴 등을 포함할 수 있으며 비용을 수식하는 싼, 비싼, 저렴한, 고가, 저가를 포함할 수 있으며, 양을 수식하는 많은, 적은, 적절한 등을 포함할 수 있으며, 크기나 레벨을 수식하는 큰, 작은, 높은, 낮은 등을 포함할 수 있다.
대화 시스템(130)은 맛의 레벨, 거리, 시간, 비용, 온도, 풍량, 풍향, 볼륨 등과 관련하여, 발화된 언어 내 타겟의 제어 값이나 설정 값 등의 타겟 값이 수치로 표현되지 않았을 때, 발화된 언어(즉 사용자의 음성)를 모호어라고 판단할 수 있다.
즉 모호어는 목적지를 결정하기 위한 타겟의 타겟값이나 제어 대상의 제어값을 결정하기 위한 타겟값을 모호하게 하는 언어일 수 있다.
대화 시스템(130)은 대상의 종류에 있어 발화된 언어가 상위 개념의 용어에 포함될 때 발화된 언어(즉 사용자의 음성)를 모호어라고 판단할 수 있다.
예를 들어, 모호어는 육류, 한식, 양식, 중식, 일식, 지역명 및 나라명 등을 포함할 수 있다.
대화 시스템(130)은 변환된 텍스트가 모호어에 대한 텍스트라고 판단되면 저장된 대화 정보 및 사용자의 선택 정보에 기초하여 모호어에 대한 사용자의 의도를 인식한다.
대화 시스템(130)은 변환된 텍스트가 모호어에 대한 텍스트라고 판단되면 경험 데이터베이스에 저장된 정보에 기초하여 모호어에 대한 사용자의 의도를 인식한다.
대화 시스템(130)은 사용자의 의도 및 상황에 기초하여 사용자의 발화어에 대한 액션을 수행하기 위한 응답을 출력한다.
제어기(150)를 통해 입력된 차량 정보는, 차량(1)에 마련된 감지부의 각종 센서를 통해 획득된 차량 상태 정보 또는 주변 상황 정보를 포함할 수 있고, 차량의 유종과 같이 차량(1)에 기본적으로 저장된 정보도 포함할 수 있다.
대화 시스템(130)은 미리 획득한 정보를 이용하여 사용자가 발화하지 않은 내용까지 고려함으로써, 사용자의 실제 의도를 파악하고 그에 대응되는 정보를 선제적으로 제공할 수 있다. 이를 통해 사용자가 원하는 서비스를 제공하기까지의 대화 단계와 시간을 단축할 수 있다.
도 3에 도시된 바와 같이, 대화 시스템(100)은 입력 처리기(131), 대화 관리기(132), 결과 처리기(133) 및 저장부(134)를 포함한다.
입력 처리기(131)는 사용자의 음성 및 음성 외 입력을 포함하는 사용자 입력이나 차량과 관련된 정보 또는 사용자와 관련된 정보를 포함하는 입력을 처리한다.
입력 처리기(131)는 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. 음성 외 입력은 사용자의 제스처 인식이나, 입력 장치의 조작을 통해 입력되는 사용자의 음성 외 입력, 차량의 상태를 나타내는 차량 상태 정보, 차량의 주행 환경과 관련된 주행 환경 정보, 사용자의 상태를 나타내는 사용자 정보 등을 포함할 수 있다.
이러한 정보들 외에도 차량과 사용자와 관련된 정보로서, 사용자의 의도를 파악하거나 사용자 또는 차량에 필요한 서비스를 제공하기 위해 사용될 수 있는 정보이면, 모두 입력 처리기(110)의 입력이 될 수 있다. 사용자는 운전자와 탑승자를 모두 포함할 수 있다.
입력 처리기(131)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 알고리즘을 적용하여 사용자의 의도를 파악한다.
또한, 입력 처리기(131)는 사용자 음성 외에 차량의 상태나 주행 환경과 관련된 정보를 수집하고, 수집된 정보를 이용하여 상황을 이해한다.
입력 처리기(131)는 자연어 이해를 통해 파악한 사용자의 의도와 상황에 관련된 정보 등을 대화 관리기(132)로 전달한다.
대화 관리기(132)는 입력 처리기(131)의 처리 결과를 이용하여 사용자의 의도 또는 차량의 상태를 파악하고, 사용자의 의도나 차량의 상태에 대응되는 액션을 결정한다.
대화 관리기(132)는 입력 처리기(131)에서 변환된 텍스트가 사용자의 요청 의도의 모호어에 대한 텍스트인지를 판단하고 변환된 텍스트가 사용자의 요청 의도의 모호어에 대한 텍스트라고 판단되면 저장된 대화 정보 및 사용자의 선택 정보에 기초하여 모호어에 대한 사용자의 의도를 인식할 수 있다.
대화 관리기(132)는 모호어에 대한 질의 정보의 출력을 제어하고, 입력 처리기(131)에서 처리된 텍스트가 질의 정보에 대응하는 텍스트라고 판단되면 판단된 텍스트를 모호어에 대응하는 타깃 값으로 저장부에 저장할 수 있다.
대화 관리기(132)는 제1, 2 입력 장치를 통해 수신된 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득할 수 있다.
여기서 입력 처리기(131)에서 처리된 텍스트는 제1입력장치를 통해 수신된 음성 신호에 대한 텍스트로, 사용자에 의해 선택된 타깃 정보일 수 있다.
즉 대화 관리기(132)는 경험 데이터베이스에 저장된 경험 정보를 업데이트할 수 있다.
저장된 대화 정보 및 사용자의 선택 정보는 경험 데이터베이스에 저장된 정보일 수 있다.
대화 관리기(132)는 입력 처리기(131)로부터 전달된 사용자의 의도, 상황에 관련된 정보 및 모호어의 판단 여부 등에 기초하여 사용자의 의도나 현재 상황에 대응되는 액션을 결정하고, 해당 액션을 수행하기 위해 필요한 인자들을 관리한다.
당해 실시예에서 액션은 특정 서비스를 제공하기 위해 수행되는 모든 동작을 의미할 수 있으며, 액션의 종류는 미리 정의될 수 있다.
대화 관리기(132)는 결정된 액션에 관한 정보를 결과 처리기(133)로 전달한다.
결과 처리기(133)는 대화 관리기(132)의 출력 결과에 따라 특정 서비스를 제공하거나 대화를 계속 이어 나가기 위한 시스템 발화를 출력한다.
결과 처리기(133)는 전달된 액션을 수행하기 위해 필요한 대화 응답 및 명령어를 생성하여 출력한다. 대화 응답은 텍스트, 이미지 또는 오디오로 출력될 수 있고, 명령어가 출력되면 출력된 명령어에 대응되는 차량 제어, 외부 컨텐츠 제공 등의 서비스가 수행될 수 있다.
저장부(134)는 대화 시스템(130)이 각종 동작을 수행하기 위해 필요한 각종 정보를 저장한다.
저장부(134)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다. 예를 들어, 자연어 이해에 사용되는 도메인, 액션, 화행, 개체명과 관련된 정보를 미리 저장할 수 있고, 입력된 정보로부터 상황을 이해하기 위해 사용되는 상황 이해 테이블을 저장할 수도 있으며, 차량에 마련된 센서가 감지한 데이터, 사용자와 관련된 정보, 액션 수행을 위해 필요한 정보를 미리 저장할 수도 있다.
저장부(134)는 STT DB, 도메인/액션 추론 규칙 DB를 포함할 수 있고, 도메인/액션 추론 규칙 DB는 길 안내, 차량 상태 점검, 주유소 추천 등과 같은 액션이 미리 정의될 수 있고, 저장된 추론 규칙에 따라 사용자의 발화에 대응되는 액션, 즉 사용자가 의도하는 액션을 미리 정의된 액션 중에서 추출할 수 있다.
또한, 저장부(134)는 차량에 발생한 이벤트와 연관된 액션을 저장하는 연관 액션 DB를 포함할 수 있다.
저장부(134)는 과거의 대화 정보를 저장하고, 사용자의 의도와 모호어에 대응하는 타겟 정보를 저장하되, 타겟 정보들 중 사용자에 의해 선택된 타겟 정보를 저장할 수 있다.
저장부(134)는 사용자별로 과거의 대화 정보를 저장하고, 사용자의 의도와 모호어에 대응하는 타겟 정보들 중 사용자별로 선택된 타겟 정보를 저장할 수 있다.
저장부(134)는 과거의 대화 정보, 사용자의 의도 정보, 타겟 정보 및 선택된 타겟 정보를 경험 정보로서 저장할 수 있다. 저장부(134)는 경험 정보를 저장하는 경험 데이터 베이스(g4, 도 5 참조)를 포함할 수 있다.
저장부(134)는 사용자에 의해 수신된 목적지의 목적지 이력 정보, 주행이나 주차 중 차량의 제어에 대한 차량 제어 이력 정보 및 사용자의 음성을 인식한 음성 인식 사용 정보를 저장하는 것도 가능하다. 이러한 저장부(134)는 목적지 이력 데이터베이스(g1, 도 5 참조), 차량 제어 이력 데이터베이스(g2, 도 5 참조) 및 음성 인식 사용 데이터베이스(g3, 도 5 참조)를 포함할 수 있다.
주행이나 주차 중 차량의 제어에 대한 차량 제어 이력 정보는, 음성 인식 중에 수행된 차량 제어 정보일 수 있다.
목적지 이력 정보는, 제2입력 장치를 통해 입력된 목적지 정보와 제1입력 장치를 통해 음성으로 입력된 목적지 정보를 포함한다.
전술한 바와 같이, 대화 시스템(130)은 차량 환경에 특화된 대화 처리 기술을 제공한다. 대화 시스템(130)의 구성요소가 전부 차량에 포함될 수도 있고, 일부만 포함될 수도 있다.
본 실시 예에 따른 대화 시스템(130)과 같이 차량 환경에 특화된 대화 처리 기술을 적용할 경우, 운전자의 직접 주행 상황에서, 주요 상황(Context)에 대한 인지 및 대응이 용이하다. 대부분의 경우 목적지로 이동 중인 조건을 기반으로 주행 시간, 목적지 정보 등 서비스 제공을 위해 필요한 정보를 용이하게 획득할 수 있다.
이러한 대화 시스템(130)의 구체적 구성에 대해 도 4, 도 5 및 도 6을 참조하여 추후 설명한다.
출력장치(140)는 대화자에게 시각적, 청각적 또는 촉각적인 출력을 제공하는 장치로서, 차량(1)에 마련된 디스플레이(141)와 스피커(142)를 포함할 수 있다.
디스플레이(141) 및 스피커(142)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다. 또는, 스티어링 휠에 진동기를 장착하여 진동을 출력하는 것도 가능하다.
디스플레이(141)는 LCD(Liquid Crystal Display), LED(Light Emitting Diode), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diode), CRT(Cathode Ray Tube) 등의 다양한 디스플레이 장치 중 하나로 구현될 수 있다.
디스플레이(141)는 제어기(150)의 지시에 따라 주행 정보, 도로의 환경 정보, 경로 안내 정보와 관련된 지도 영상을 표시한다. 즉 디스플레이(141)는 차량의 현재 위치 정보가 매칭된 지도 영상, 동작 상태 및 그 외 부가정보들에 대한 영상을 표시한다.
디스플레이(141)는 전화 통화와 관련된 영상을 표시하거나, 음악 재생과 관련된 영상을 표시하는 것도 가능하고 외부의 방송 신호를 영상으로 표시하는 것도 가능하다.
디스플레이(141)는 대화 모드 시 대화 화면을 표시하는 것도 가능하다.
스피커(142)는 차량(1) 내부에는 사용자와 대화를 수행하거나, 사용자가 원하는 서비스를 제공하기 위해 필요한 음향을 출력한다.
스피커(142)는 내비게이션 경로 안내를 위한 음성, 오디오/비디오 컨텐츠에 포함되는 음향 또는 음성, 사용자가 원하는 정보나 서비스를 제공하기 위한 음성, 사용자의 발화에 대한 응답으로서 생성된 시스템 발화 등을 출력할 수 있다.
제어기(150)는 대화 시스템(130)으로부터 출력되는 응답에 따라, 사용자의 의도나 현재 상황에 대응되는 액션을 수행하기 위해 차량(1)을 제어할 수 있다.
한편, 차량(1)은 차량(1)에 마련된 감지부(160)를 통해 획득된 데이터뿐만 아니라, 통신 장치(170)를 통해 외부 컨텐츠 서버 또는 외부 기기로부터 획득된 정보, 예를 들어 교통 상황, 날씨, 온도, 동승자 정보, 운전자 개인 정보 등의 주행 환경 정보와 사용자 정보도 수집하여 대화 시스템(130)에 전달할 수 있다.
잔유량, 강우량, 강우 속도, 주변 장애물 정보, 속도, 엔진 온도, 타이어 공기압, 현재 위치 등과 같이 차량에 마련된 감지부(160)로부터 획득되는 정보는 제어기(150)를 통해 대화 시스템(130)에 입력될 수 있다.
또한, 제어기(150)는 대화 시스템(130)이 출력한 응답에 따라 차량(1)에 마련된 공기 조화기(109), 윈도우(202), 도어(101), 시트(104) 또는 AVN(108) 등을 제어할 수 있다. 그 외에도 제어기(150)는 대화 시스템(130)이 출력한 응답에 따라 오디오, 히터, 와이퍼, 사이드 미러 및 내외부의 램프 중 적어도 하나를 제어할 수 있다.
제어기(150)는 전술한 동작과 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.
감지부(160)는 복수 개의 센서들을 포함하고, 복수 개의 센서들에서 감지한 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 타이어 공기압, 현재 위치, 엔진 온도, 차량 속도 등과 같은 차량 상태 정보 또는 주행 환경 정보를 제어기(150)에 전송한다.
통신 장치(170)는 차량의 내부 장치 및 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈, 유선 통신 모듈 및 무선 통신 모듈를 포함할 수 있다. 여기서 외부 장치는, 서버, 타 차량, 사용자용 단말기 및 인프라 등을 포함할 수 있다.
근거리 통신 모듈은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.
유선 통신 모듈은 지역 통신(Local Area Network; LAN) 모듈, 광역 통신(Wide Area Network; WAN) 모듈 또는 부가가치 통신(Value Added Network; VAN) 모듈 등 다양한 유선 통신 모듈뿐만 아니라, USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), DVI(Digital Visual Interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 다양한 케이블 통신 모듈 중 적어도 하나를 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(Global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(Universal Mobile Telecommunications System), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G 등 무선 통신 방식으로 인터넷망과 연결될 수 있는 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.
한편, 통신 장치(170)는 차량(1) 내부의 전자 장치들 사이의 통신을 위한 내부 통신 모듈(미도시)을 더 포함할 수도 있다. 차량(1)의 내부 통신 프로토콜로는 CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등을 사용할 수 있다.
도 4에 도시된 바와 같이, 입력 처리기(131)는 음성 입력 처리기(131a)와 상황정보 처리기(131b)를 포함한다.
음성 입력 처리기(131a)는 음성 인식기(a11), 자연어 이해기(a12) 및 대화 입력 관리기(a13)를 포함한다.
음성 인식기(a11)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 출력한다. 음성 인식기(a11)는 음성 인식 엔진(speech recognition engine)을 포함하고, 음성 인식 엔진은 입력된 음성에 음성 인식 알고리즘을 적용하여 사용자가 발화한 음성을 인식하고, 인식 결과를 생성할 수 있다.
이 때, 입력된 음성은 음성 인식을 위한 더 유용한 형태로 변환될 수 있는 바, 음성 신호로부터 시작 지점과 끝 지점을 검출하여 입력된 음성에 포함된 실제 음성 구간을 검출한다. 이를 EPD(End Point Detection)이라 한다.
그리고, 검출된 구간 내에서 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 입력된 음성의 특징 벡터를 추출할 수 있다.
그리고, 추출된 특징 벡터와 훈련된 기준 패턴과의 비교를 통하여 인식 결과를 얻을 수 있다. 이를 위해, 음성의 신호적인 특성을 모델링하여 비교하는 음향 모델(Acoustic Model) 과 인식 어휘에 해당하는 발화문이나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델(Language Model)이 사용될 수 있다. 이를 위해, 저장부(134)에는 음향 모델/언어 모델 DB가 저장될 수 있다.
음향 모델은 다시 인식 대상을 특징 벡터 모델로 설정하고 이를 음성 데이터의 특징 벡터와 비교하는 직접 비교 방법과 인식 대상의 특징 벡터를 통계적으로 처리하여 이용하는 통계 방법을 나뉠 수 있다.
음성 인식기(a11)는 음성을 인식함에 있어 상술한 방식 중 어느 방식을 사용해도 무방하다. 예를 들어, 히든 마르코프 모델이 적용된 음향 모델을 사용할 수도 있고, 음향 모델과 음성 모델을 통합한 N-best 탐색법을 사용할 수 있다. N-best 탐색법은 음향 모델과 언어 모델을 이용하여 N개까지의 인식 결과 후보를 선택한 후, 이들 후보의 순위를 재평가함으로써 인식 성능을 향상시킬 수 있다.
음성 인식기(a11)는 인식 결과의 신뢰성을 확보하기 위해 신뢰값(confidence value)을 계산할 수 있다. 신뢰값은 음성 인식 결과에 대해서 그 결과를 얼마나 믿을 만한 것인가를 나타내는 척도이다. 일 예로, 인식된 결과인 음소나 발화문에 대해서, 그 외의 다른 음소나 발화문으로부터 그 말이 발화되었을 확률에 대한 상대값으로 정의할 수 있다. 따라서, 신뢰값은 0 에서 1 사이의 값으로 표현할 수도 있고, 0 에서 100 사이의 값으로 표현할 수도 있다.
신뢰값이 미리 설정된 임계값(threshold)을 초과하는 경우에는 인식 결과를 출력하여 인식 결과에 대응되는 동작이 수행되도록 할 수 있고, 신뢰값이 임계값 이하인 경우에는 인식 결과를 거절(rejection)할 수 있다.
음성 인식기(a11)는 음성 인식기(a11)에서 변환된 텍스트 형태의 발화문을 그대로 이해하기 보다, STT DB(음성-텍스트 변환 데이터베이스, 134a)에 저장된 정보에 기초하여 사용자의 의도와 상황에 대응하는 텍스트 형태의 발화문으로 보정할 수 있다.
여기서 STT DB(음성-텍스트 변환 데이터베이스, 134a)는 저장부(134)에 마련될 수 있다.
STT DB(음성-텍스트 변환 데이터베이스, 134a)는 동일한 의미를 가진 텍스트에 대응하는 적어도 하나 이상의 음성 신호를 저장할 수 있다.
음성 인식기(a11)는 액션을 정확하게 인식할 수 있도록 하는 STT(Speech To Text) 모듈을 포함할 수 있다.
음성 인식기(a11)는 음성을 텍스트로 변환하기 위한 STT DB(134a)로부터 정보를 수신하고, 음성 인식 결과에 기초하여 STT DB(134a)에 저장된 정보를 업데이트할 수 있다.
음성 인식기(a11)는STT DB(134a) 내 음성 신호와 수신된 음성 신호와의 유사도를 확인하고 확인된 유사도 중 일정 유사도 이상의 유사도를 가지는 적어도 하나 이상의 음성 신호를 확인하고 확인된 적어도 하나 이상의 음성 신호에 대응하는 텍스트들을 확인한다.
음성 인식기(a11)는 음성의 인식 결과에 기초하여 STT 학습을 수행하고 학습 결과에 기초하여 STT DB(134a) 내 정보들을 업데이트할 수 있다.
음성 인식기(a11)는 사용자의 의도나 상황이 분석되지 않은 상태에서 음성 인식 결과에 기초하여 STT(음성-텍스터 변환) 파라미터를 새롭게 설정하고, 설정된 STT 파라미터를 STT DB(134a)에 저장하도록 하는 것도 가능하다.
음성 인식기(a11)를 통해 사용자가 발화한 음성에 대한 어휘 이해도를 향상시킬 수 있고, 사용자의 의도를 정확하게 파악할 수 있다.
음성 인식기(a11)의 인식 결과인 텍스트 형태의 발화문은 자연어 이해기(a12)로 입력된다.
자연어 이해기(a12)는 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악한다.
자연어 이해기(a12)는 자연어 이해 기술을 적용하여 발화문에 내포된 사용자의 의도를 파악할 수 있다. 따라서, 사용자는 자연스러운 대화(Dialogue)를 통해 명령을 입력할 수 있고, 대화 시스템(130) 역시 대화를 통해 명령의 입력을 유도하거나 사용자가 필요로 하는 서비스를 제공할 수 있다.
먼저, 자연어 이해기(a12)는 텍스트 형태의 발화문에 대해 형태소 분석을 수행한다. 형태소는 의미의 최소 단위로써, 더 이상 세분화할 수 없는 가장 작은 의미 요소를 나타낸다. 따라서, 형태소 분석은 자연어 이해의 첫 단계로서, 입력 문자열을 형태소열로 바꿔준다.
자연어 이해기(a12)는 형태소 분석 결과에 기초하여 발화문으로부터 도메인을 추출한다. 도메인은 사용자가 발화한 언어의 주제를 식별할 수 있는 것으로서, 예를 들어, 경로 안내, 날씨 검색, 교통 검색, 일정 관리, 주유 안내, 공조 제어 등의 다양한 주제를 나타내는 도메인이 데이터베이스화 되어 있다.
자연어 이해기(a12)는 발화문으로부터 개체명을 인식할 수 있다. 개체명은 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식은 문장에서 개체명을 식별하고 식별된 개체명의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다.
아울러 개체명에는 상호명, 건물명 등이 더 포함될 수 있다.
자연어 이해기(a12)는 발화문으로부터 기준이나 타겟이 명확하지 않은 모호어를 인식하는 것도 가능하다.
자연어 이해기(a12)는 발화문이 갖는 화행을 분석할 수 있다. 화행 분석은 사용자 발화에 대한 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등에 관한 발화의 의도를 파악하는 것이다.
자연어 이해기(a12)는 사용자의 발화 의도에 대응하는 액션을 추출한다. 발화문에 대응되는 도메인, 개체명, 화행 등의 정보에 기초하여 사용자의 발화 의도를 파악하고, 발화 의도에 대응되는 액션을 추출할 수 있다. 액션은 오브젝트(Object)와 오퍼레이터(Operator)에 의해 정의될 수 있다.
또한, 자연어 이해기(a12)는 액션 수행과 관련된 인자를 추출하는 것도 가능하다. 액션 수행과 관련된 인자는 액션을 수행하는데 직접적으로 필요한 유효 인자일 수도 있고, 이러한 유효 인자를 추출하기 위해 사용되는 비유효 인자일 수도 있다.
또한, 자연어 이해기(a12)는 파스트리(Parse-tree)와 같이 발화문과 발화문, 문장과 문장의 수식 관계를 표현할 수 있는 수단도 추출할 수 있다.
자연어 이해기(a12)의 처리 결과인, 형태소 분석 결과, 도메인 정보, 액션 정보, 화행 정보, 추출된 인자 정보, 개체명 정보, 파스트리 등은 대화 입력 관리기(a13)로 전달된다.
자연어 이해기(a12)의 처리 결과인, 모호어의 판단 정보를 대화 입력 관리기(a13)로 전달하는 것도 가능하다.
대화 입력 관리기(a13)는 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전달한다.
상황정보 처리기(131b)는 상황 정보 수집기(a21), 상황 정보 수집 관리기(a22) 및 상황 이해기(a23)를 포함한다.
상황 정보 수집기(a21)는 제2 입력 장치(120)와 제어기(150)로부터 정보를 수집한다.
상황 정보 수집기(a21)는 주기적으로 데이터를 수집할 수도 있고, 특정 이벤트 발생 시에 수집할 수도 있으며, 주기적으로 수집하다가 특정 이벤트 발생 시에 추가적으로 더 수집할 수도 있다. 또한, 상황 정보 수집 관리기(a22)로부터 데이터 수집 요청이 입력되는 경우에 데이터를 수집할 수도 있다.
제2 입력 장치(120)의 음성 외 입력은 모두 상황 정보에 포함될 수 있다. 즉, 상황 정보는 차량 상태 정보, 주행 환경 정보, 사용자 정보를 포함할 수 있다.
차량 상태 정보는 차량(1)에 마련된 센서에 의해 획득된 정보로서 차량의 상태를 나타내는 정보를 포함할 수도 있고, 차량의 유종과 같이 차량에 관련된 정보로서 차량에 저장되어 있는 정보 등을 포함할 수도 있다.
주행 환경 정보는 차량(1)에 마련된 센서에 의해 획득된 정보로서 전방 카메라, 후방 카메라 또는 스테레오 카메라가 획득한 영상 정보, 레이더(radar), 라이다(Lidar), 초음파 센서 등의 센서가 획득한 장애물 정보, 강우 센서가 획득한 강우량/강우속도 정보 등을 포함할 수 있다.
또한, 주행 환경 정보는 V2X를 통해 획득된 정보로서 교통 상황 정보, 신호등 정보, 주변 차량의 접근 또는 추돌 가능성 정보 등을 더 포함할 수 있다.
사용자 정보는 차량에 마련된 카메라 또는 생체 신호 측정 장치를 통해 측정한 사용자의 상태와 관련된 정보, 사용자가 차량에 마련된 입력 장치를 이용하여 직접 입력한 사용자와 관련된 정보, 외부 컨텐츠 서버(미도시)에 저장된 사용자와 관련된 정보, 차량에 연결된 모바일 기기(미도시)에 저장된 정보 등을 포함할 수 있다.
상황 정보 수집기(a21)는 차량의 가속, 감속, 조향, 정지, 주차, 후진, 변속, 차량 내 기기의 제어 정보 등 차량의 제어 정보를 수집하는 것도 가능하다.
상황 정보 수집 관리기(a22)는 상황 정보의 수집을 관리한다.
상황 정보 수집 관리기(a22)는 상황 정보 수집기(a21)를 통해 필요한 상황 정보를 수집하고, 상황 이해기(a23)에 확인 신호를 전송한다.
상황 정보 수집 관리기(a22)는 상황 정보 수집기(a21)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(a23)에 액션 트리거 신호를 전송할 수 있다.
상황 이해기(a23)는 자연어 이해 결과와 수집된 상황 정보에 기초하여 상황을 이해한다.
상황 이해기(a23)는 상황 이해 테이블을 검색하여 해당 이벤트와 관련된 상황 정보를 검색하고, 검색된 상황 정보가 저장되어 있지 않으면 다시 상황 정보 수집 관리기(a22)에 상황 정보의 요청 신호를 전송한다.
상황 이해기(a23)는 상황 이해 테이블(미도시)에 저장된 액션 별 상황 정보를 참조하여, 사용자의 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 무엇인지 판단할 수 있다.
도 5에 도시된 바와 같이, 대화 관리기(132)는 대화 흐름 관리기(132a), 대화 액션 관리기(132b), 모호성 해결기(132c), 인자 관리기(132d), 액션 순위 결정기(132e), 외부 정보 관리기(132f) 및 경험 정보 생성기(132g)를 포함한다.
대화 흐름 관리기(132a)는 대화 또는 액션을 생성/삭제/업데이트하도록 요청한다.
좀 더 구체적으로, 대화 입력 관리기(a13)로부터의 입력에 대응되는 대화 태스크 또는 액션 태스크가 대화/액션 DB에 존재하는지 검색한다.
여기서 대화/액션 DB는 대화의 상태와 액션의 상태를 관리하기 위한 저장 공간으로서, 현재 진행 중인 대화, 액션들과 앞으로 진행할 예비 액션들에 대한 대화 상태 및 액션 상태를 저장할 수 있다. 예를 들어, 종료된 대화/액션, 정지된 대화/액션, 진행 중인 대화/액션, 진행될 대화/액션의 상태가 저장될 수 있다.
사용자 발화에 대응되는 도메인과 액션이 추출되지 않은 경우에는, 대화/액션 DB는 임의의 태스크를 생성하거나, 가장 최근에 저장된 태스크를 참조하도록 대화 액션 관리기(132b)에 요청할 수 있다.
대화/액션 DB에 입력 처리기(131)의 출력에 대응되는 대화 태스크 또는 액션 태스크가 존재하지 않으면, 대화 흐름 관리기(132a)는 대화 액션 관리기(132b)에 새로운 대화 태스크와 액션 태스크를 생성하도록 요청한다.
대화 흐름 관리기(132a)는 대화의 흐름을 관리할 때, 대화 정책 DB를 참조할 수 있다. 여기서 대화 정책 DB는 대화를 전개하기 위한 정책을 저장하며, 구체적으로 대화를 선택/시작/제안/정지/종료하기 위한 정책을 저장한다.
또한, 대화 정책 DB는 시스템이 응답을 출력하는 시점과 방법론에 대한 정책도 저장할 수 있으며, 다수의 서비스를 연계하여 응답을 만드는 정책과 기존의 액션을 삭제하고 다른 액션으로 교체하기 위한 정책을 저장할 수 있다.
대화/액션 DB에 입력 처리기(131)의 출력에 대응되는 대화 태스크와 액션 태스크가 존재하면, 대화 흐름 관리기(132a)는 대화 액션 관리기(132b)가 해당 대화 태스크와 액션 태스크를 참조하도록 요청한다.
대화 액션 관리기(132b)는 대화 흐름 관리기(132a)의 요청에 따라 대화 또는 액션을 생성/삭제/업데이트한다.
대화 액션 관리기(132b)는 대화/액션 DB에 저장 공간을 할당하여, 입력 처리기(131)의 출력에 대응되는 대화 태스크와 액션 태스크를 생성한다.
한편, 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우, 대화 액션 관리기(132b)는 임의의 대화 상태를 생성할 수 있다. 이 경우, 모호성 해결기(132c)는 사용자의 발화 내용, 주변 상황, 차량 상태, 사용자 정보 등에 기초하여 사용자의 의도를 파악하고 이에 대응되는 적절한 액션을 판단할 수 있다.
모호성 해결기(132c)는 상황에 대한 모호성과 대화에 대한 모호성을 해결하여 궁극적으로 사용자의 의도를 명확히 한다.
즉 모호성 해결기(132c)는 대화에 대한 모호성 또는 상황에 대한 모호성을 해결한다. 예를 들어, 대화에 그 사람, 어제 거기, 아빠, 엄마, 할머니, 며느리 등과 같은 조응어가 포함되어 무엇을 지칭하는지 모호한 경우에 모호성 해결기(132c)는 상황 정보 DB, 장기 메모리 또는 단기 메모리를 참조하여 이러한 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다.
모호성 해결기(132c)는 사용자의 발화나 상황에 모호성이 있는 경우이더라도 주변 상황 정보와 차량 상태 정보를 사용자의 발화와 함께 통합적으로 고려함으로써 사용자가 실제로 원하는 액션 또는 사용자에게 실제로 필요한 액션을 정확하게 파악하여 제공할 수 있다.
모호성 해결기(132c)는 판단한 액션에 관한 정보를 대화 액션 관리기(132b)로 전달할 수 있다. 이 경우, 대화 액션 관리기(132b)는 전달된 정보에 기초하여 대화/액션 DB를 업데이트할 수 있다.
모호성 해결기(132c)는 자연어 이해기(a12)로부터 사용자의 의도가 요청인 발화문 내 모호어에 대한 정보가 수신되면 경험 데이터베이스(g4)에 저장된 경험 정보에 기초하여 사용자에게 실제로 필요한 액션을 정확하게 파악하여 제공할 수 있다.
사용자의 의도가 목적지 검색 요청일 경우, 내비게이션 모드의 수행 중 모호어에 대한 액션은, 사용자에게 안내할 목적지를 선택하는 액션일 수 있다.
예를 들어, 발화문에 주변, 짧은, 한식 등과 같은 모호어가 포함되어 어느 장소를 지칭하는지, 어느 정도의 거리(예, 타겟 값)를 지칭하는지 모호한 경우에, 모호성 해결기(132c)는 경험 DB(g4)를 참조하여 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다.
사용자의 의도가 차량 제어 요청일 경우, 차량 제어 모드의 수행 중 모호어에 대한 액션은, 기기를 제어하기 위한 타겟 값을 선택하는 액션일 수 있다.
예를 들어, 차량 내 기기의 제어 시, 모호어가 어느 정도(예, 타겟 값)를 지칭하는지 모호한 경우에, 모호성 해결기(132c)는 경험 DB(g4)를 참조하여 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다.
즉 모호성 해결기(132c)는 모호어에 대응하는 타겟 정보를 획득하고, 획득한 타겟 정보에 기초하여 가이드를 제시하는 것을 포함할 수 있다. 여기서 타겟 정보는 타겟과 타겟 값을 포함할 수 있다. 이를 도 6, 도 7a 및 도 7b를 참조하여 설명한다.
모호성 해결기(132c)는 경험 데이터베이스(g4)에 저장된 정보들에 대한 학습을 수행한다.
도 6에 도시된 바와 같이, 모호성 해결기(132c)는 학습을 통해 모호어를 벡터 공간 내에서 벡터로 변환하고, 벡터 공간 내에서 유사한 모호어 간 워드 디스턴스(Word Distance)를 군집화 알고리즘을 이용하여 타겟에 대응하는 정보로 그룹화하며, 사용자 의도에 대한 타겟으로 변환하여 이력 확률을 획득한다.
워드 디스턴스(Word Distance)는 아래와 같다.
Similarity(A, B)==()/()
도 7a 및 도 7b에 도시된 바와 같이, 사용자의 의도에 대응하는 타겟별 모호어에 대한 사용 이력과 이력 확률을 획득할 수 있다.
도 7a 에 도시된 바와 같이, 식당 검색에 대응하는 타겟별 모호어에 대한 사용 이력과 이력 확률을 획득하고, 및 도 7b에 도시된 바와 같이, 공기 조화기 제어에 대응하는 타겟별 모호어에 대한 사용 이력과 이력 확률을 획득할 수 있다.
인자 관리기(132d)는 액션 수행에 필요한 인자를 관리한다.
인자 관리기(132d)는 액션 인자 DB에서 각 후보 액션을 수행하는데 사용되는 인자(이하, 액션 인자라 한다.)를 검색할 수 있다.
인자 관리기(132d)는 획득한 인자 값을 대화 액션 관리기(132b)로 전달한다. 이 경우, 대화 액션 관리기(132b)는 각 후보 액션 별 인자 값을 액션 상태에 추가하여 대화/액션 상태 DB를 업데이트 한다.
인자 관리기(132d)는 모든 후보 액션의 인자 값을 획득하는 것도 가능하고, 액션 우선순위 결정기(132e)에서 수행이 가능한 것으로 판단된 후보 액션의 인자 값만 획득하는 것도 가능하다.
또한, 인자 관리기(132d)는 동일한 정보를 나타내는 다양한 종류의 인자 값을 선택적으로 사용할 수 있다. 예를 들어, 길안내 액션을 수행하는데 사용되는 필수 인자는 현재 위치와 목적지를 포함할 수 있고, 선택 인자는 경로 타입을 포함할 수 있다. 선택 인자의 초기값으로 빠른 경로가 저장될 수 있다.
액션 우선순위 결정기(132e)는 복수의 후보 액션들에 대해 액션 수행 가부를 판단하고, 이들의 우선 순위를 결정한다.
액션 우선순위 결정기(132e)는 연관 액션 DB에서 입력 처리기(131)의 출력에 포함된 액션 또는 이벤트와 연관된 액션 목록을 검색하여 후보 액션을 추출한다.
여기서 연관 액션 DB는 상호 연관된 액션들과 그들 사이의 관계 및 이벤트와 연관된 액션과 그들 사이의 관계를 나타낼 수 있다. 예를 들어, 길안내, 차량 상태 점검, 주유소 추천과 같은 액션이 연관된 액션으로 분류될 수 있고, 이들의 관계는 상호 연계에 해당할 수 있다.
추출된 후보 액션 목록은 대화 액션 관리기(132b)로 전달되고, 대화 액션 관리기(132b)는 후보 액션 목록을 추가하여 대화/액션 상태 DB의 액션 상태를 업데이트한다.
액션 우선순위 결정기(132e)는 액션 수행 조건DB에서 각각의 후보 액션을 수행하기 위한 조건을 검색한다.
액션 우선순위 결정기(132e)는 후보 액션의 수행 조건을 대화 액션 관리기(132b)로 전달하고, 대화 액션 관리기(132b)는 각 후보 액션 별 액션 수행 조건을 추가하여 대화/액션 상태 DB의 액션 상태를 업데이트한다.
액션 우선순위 결정기(132e)는 상황 정보 DB, 장기 메모리, 단기 메모리 또는 대화/액션 상태 DB에서 액션 수행 조건 판단을 위해 필요한 인자(이하, 조건 판단 인자라 한다)를 검색하고, 검색된 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다
액션 우선순위 결정기(132e)는 액션 수행 조건 판단을 위해 필요한 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다. 또한, 각 후보 액션의 수행 가부 및 대화 정책 DB에 저장된 우선 순위 결정 규칙에 기초하여 각 후보 액션의 우선 순위를 결정할 수 있다.
액션 우선순위 결정기(132e)가 사용자의 발화나 상황 정보에 직접적으로 관련된 액션뿐만 아니라 이와 연관된 액션 목록까지 검색하고 이들 사이의 우선 순위를 결정함으로써 사용자에게 가장 필요한 서비스를 제공할 수 있게 된다.
액션 우선순위 결정기(132e)는 각 후보 액션의 수행 가부 및 우선 순위를 대화 액션 관리기(132b)로 전달하고, 대화 액션 관리기(132b)는 전달된 정보를 추가하여 대화/액션 상태 DB의 액션 상태를 업데이트한다.
외부 정보 관리기(132f)는 외부 컨텐츠 목록 및 관련 정보를 관리하고 외부 컨텐츠 쿼리에 필요한 인자 정보를 관리한다.
경험 정보 생성기(132g)는 목적지 이력 데이터베이스(g1)에 저장된 목적지 이력 정보, 차량 제어 이력 데이터베이스(g2)에 저장된 차량 제어 정보 및 음성 인식 사용 데이터베이스(g3)에 저장된 음성 정보에 기초하여 모호어에 대한 타겟과 타겟 값을 획득하고 획득된 타겟과 타겟값을 포함하는 타겟 정보를 경험 정보로 생성한다.
음성 인식 사용 데이터베이스(g3)에 저장된 음성 정보는, 사용자에 의해 선택된 타겟과 타겟 값을 포함할 수 있다.
도 8 에 도시된 바와 같이, 운전자와 대화 시스템 간 대화가 이루어진 상태에서, 사용자의 의도가 목적지(식당) 검색 요청이고, 발화어 중에 모호어가 포함되어 있다고 판단되면, 모호어인 '주변, 메뉴 및 종류'에 대응하는 '거리 5km, 제육 덮밥 및 한식'의 타겟 정보를 생성할 수 있고, 이를 경험 정보로 경험 데이터 베이스(g4)에 저장하도록 할 수 있다.
경험 정보 생성기(132g)는 재 시동 시점을 기준으로 재 시동 전의 대화 정보와, 재시동 후의 대화 정보에 기초하여 경험 데이터 베이스(g4)에 저장된 경험 정보를 업데이트할 수 있다. 이를 도 9a 및 도 9b를 참조하여 설명한다.
도 9a에 도시된 바와 같이, 경험 정보 생성기(132g)는 재 시동 전 사용자와 대화 시스템 간의 대화 정보로부터 사용자의 의도가 목적지인 식당 검색 요청이고, 발화어 중에 모호어가 포함되어 있다고 판단되면, 모호어인 '주변 및 종류'에 대응하는 '거리 5km, 레스토랑'의 타겟 정보를 생성할 수 있고, 이를 경험 정보로 경험 데이터 베이스(g4)에 저장하도록 할 수 있다.
도 9b에 도시된 바와 같이, 경험 정보 생성기(132g)는 재 시동 후 사용자와 대화 시스템 간의 대화 정보로부터 식당 이용에 대한 사용자의 이용 정보를 획득하고, 획득한 이용 정보를 경험 정보로 경험 데이터 베이스(g4)에 저장하도록 할 수 있다.
여기서 이용 정보는 이용 항목이나, 평가 정보를 포함할 수 있다.
즉 경험 정보 생성기(132g)는 재 시동 후 사용자와의 대화 정보를 통해 경험 데이터 베이스(g4) 내 사용 이력의 항목들 중 정보가 없는 항목에 새로운 정보를 추가할 수 있다.
경험 정보 생성기(132g)는 현재 대화 정보에 기초하여 새로운 경험 정보를 생성하거나, 경험 데이터 베이스(g4)에 저장된 경험 정보를 업데이트할 수 있다.
경험 정보 생성기(132g)는 주행 중 시간 경과에 대응하는 대화 정보에 기초하여 경험 데이터 베이스(g4)에 저장된 경험 정보를 업데이트할 수 있다. 이를 도 10a 및 도 10b를 참조하여 설명한다.
도 10a에 도시된 바와 같이, 경험 정보 생성기(132g)는 사용자와 대화 시스템 간의 대화 정보로부터 공기 조화기의 제어 요청에 대응하는 경험 정보를 생성하되, 사용자와의 대화 정보를 통해 '타겟과 타겟 값'에 대응하는 '온도, 20도'의 타겟 정보를 생성할 수 있고, 이를 경험 정보로 경험 데이터 베이스(g4)에 저장하도록 할 수 있다.
도 10b에 도시된 바와 같이, 경험 정보 생성기(132g)는 일정 시간 경과 후 사용자와 대화 시스템 간의 대화 정보로부터 공기조화기의 제어에 대한 사용자의 이용 정보를 획득하고, 획득한 이용 정보를 경험 정보로 경험 데이터 베이스(g4)에 저장하도록 할 수 있다.
예를 들어, 경험 정보 생성기(132g)는 공기 조화기의 현재 제어 정보(즉, 3단과 몸통)로부터 모호어인 '강하게와 아래로'에 대응하는 4단과 다리 방향의 타겟 정보를 생성할 수 있고, 이를 경험 정보로 경험 데이터 베이스(g4)에 저장하되, 시동 시작 시점과 시동 중간 시점의 공기 조화기의 제어 정보로 저장하도록 할 수 있다.
경험 정보 생성기(132g)는 제2입력 장치로부터 입력된 공기 조화기의 제어 정보에 기초하여 경험 데이터 베이스(g4)에 저장된 경험 정보를 업데이트 하는 것도 가능하다.
경험 정보 생성기(132g)는 경험 정보 내 사용 이력에 대해 마지막 사용 이력을 저장하도록 하는 것도 가능하다.
도 11에 도시된 바와 같이, 경험 데이터 베이스(g4)는 사용자의 의도 및 모호어에 각각 매치된 타겟 및 타겟 값을 저장할 수 있다.
여기서 타겟값은 최종 사용 이력일 수 있다.
경험 데이터 베이스(g4)는 날짜별 사용자의 의도 및 모호어에 각각 매치된 타겟 및 타겟 값을 저장할 수 있다.
도 12에 도시된 바와 같이, 결과 처리기(133)는 응답 생성 관리기(133a), 대화 응답 생성기(133b), 출력 관리기(133c), 서비스 편집기(133d), 메모리 관리기(133e) 및 명령어 생성기(133f)를 포함한다.
사용자의 발화나 상황에 대응하여 출력되는 응답은 대화 응답, 차량 제어, 외부 컨텐츠 제공 등을 포함할 수 있다. 대화 응답은 초기 대화, 질의, 정보 제공을 포함하는 답변 등의 형식을 가질 수 있고 응답 템플릿에 데이터베이스화되어 저장될 수 있다.
응답 생성 관리기(133a)는 대화 응답 생성기(133b)와 명령어 생성기(133f)에 대화 관리기(132)에서 결정된 액션을 수행하기 위해 필요한 응답의 생성을 요청한다.
이를 위해, 수행될 액션에 관한 정보를 대화 응답 생성기(133b)와 명령어 생성기(133f)에 전송할 수 있고, 수행될 액션에 관한 정보는 액션명, 인자 값 등을 포함할 수 있다. 응답을 생성함에 있어, 대화 응답 생성기(133b)와 명령어 생성기(133f)는 현재 대화 상태와 액션 상태를 참조할 수 있다.
응답 생성 관리기(133a)는 대화 응답 생성기(133b)로부터 전달받은 대화 응답을 출력 관리기(133c)에 전달한다.
응답 생성 관리기(133a)는 대화 응답 생성기(133b), 명령어 생성기(133f) 또는 서비스 편집기(133d)로부터 전달받은 응답을 출력 관리기(133c)에 전달한다.
대화 응답 생성기(133b)는 응답 생성 관리기(133a)의 요청에 따라 텍스트 응답, 이미지 응답 또는 오디오 응답을 생성한다.
대화 응답 생성기(133b)는 모호성 해결기에서의 모호성 분석 정보에 기초하여 타겟 및 타겟 값의 각각에 대한 이력 확률을 확인하고 이력 확률이 가장 높은 타겟별 타겟 값을 획득하며, 획득한 타겟별 타겟 값에 기초하여 응답을 생성한다.
대화 응답 생성기(133b)는 타겟의 조합이나 타겟값의 조합의 변경에 따라 복수 개의 응답을 생성할 수 있다. 이를 도 13a 및 도 13b를 참조하여 설명한다.
도 13a 에 도시된 바와 같이, 대화 응답 생성기(133b)는 '주변에 가격이 저렴한 맛집 찾아줘'라는 발화문으로부터 사용자의 의도를 확인하고 확인한 사용자의 의도가 목적지 검색 요청이면, 목적지와 관련된 모호어인 '주변, 저렴 및 맛집'을 획득하고, 획득한 '주변, 저렴 및 맛집'에 대응하는 타겟을 확인한다.
도 13b 에 도시된 바와 같이, 대화 응답 생성기(133b)는 경험 데이터베이스로부터 '주변 과 타겟'에 대응하는 타겟 값을 획득하고, '저렴과 타겟'에 대응하는 타겟 값을 획득하며, '맛집과 타겟'에 대응하는 타겟 값을 획득하고, 타겟값들의 이력 확률에 기초하여 복수 개의 응답을 생성하되 이력 확률이 높은 순서에 기초하여 복수 개의 응답을 생성할 수 있다.
예를 들어, 대화 응답 생성기(133b)는 5km 이내 1만원 이하의 레벨 3의 한식 중 육류를 판매하는 식당을 일 순위의 목적지로 하는 응답을 생성할 수 있다.
대화 응답 생성기(133b)는 5km 이내 1만원 이하의 레벨 3의 한식을 판매하는 식당을 이 순위의 목적지로 하는 응답을 생성할 수 있다.
대화 응답 생성기(133b)는 5km 이내 레벨 3의 한식을 판매하는 식당을 삼 순위의 목적지로 하는 응답을 생성할 수 있다.
대화 응답 생성기(133b)는 5km 이내 레벨 3의 식당을 사 순위의 목적지로 하는 응답을 생성할 수 있다.
대화 응답 생성기(133b)는 일 순위에 대응하는 정보에 기초하여 목적지를 검색하였을 때 목적지가 검색되지 않으면 이 순위에 대응하는 정보에 기초하여 목적지를 검색할 수 있으며, 이 순위에 대응하는 정보에 기초하여 목적지를 검색하였을 때 목적지가 검색되지 않으면 삼 순위에 대응하는 정보에 기초하여 목적지를 검색할 수 있다. 즉 대화 응답 생성기(133b)는 목적지가 검색될 때까지 검색 순위의 순서로 목적지를 검색할 수 있다.
대화 응답 생성기(133b)는 검색 결과에 대응하는 목적지의 정보를 표시하도록 할 수 있다.
대화 응답 생성기(133b)는 응답 템플릿을 검색하여 대화 응답 서식을 추출할 수 있고, 추출된 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다. 생성된 대화 응답은 응답 생성 관리기(133a)로 전달된다.
출력 관리기(133c)는 생성된 텍스트 응답, 이미지 응답 또는 오디오 응답을 출력하거나 명령어 생성기(133f)가 생성한 명령어를 출력하고, 출력이 복수인 경우에는 출력 순서를 결정한다.
출력 관리기(133c)는 대화 응답 생성기(133b)가 생성한 대화 응답과 명령어 생성기(133f)가 생성한 명령어의 출력 타이밍, 출력 순서, 출력 위치 등을 결정한다.
출력 관리기(133c)는 응답 생성기(133b)가 생성한 대화 응답과 명령어 생성기(133f)가 생성한 명령어를 적절한 타이밍에 적절한 순서로 적절한 출력 위치에 전송하여 응답을 출력한다.
TTS(Text to Speech) 응답은 스피커(142)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(141)를 통해 출력할 수 있다. 대화 응답을 TTS 형태로 출력하는 경우에는 차량(1)에 마련된 TTS 모듈을 이용하거나 출력 관리기(133c)가 TTS 모듈을 포함할 수도 있다.
출력 관리기(133c)는 대화 응답 생성기(133b)가 생성한 대화 응답을 스피커(141)를 통해 출력할 수 있다.
명령어는 그 제어 대상에 따라 제어기(150)로 전송될 수도 있고, 외부 컨텐츠 서버와 통신하기 위한 통신 장치(170)로 전송될 수도 있다.
서비스 편집기(133d)는 사용자가 원하는 서비스를 제공하기 위해 다수의 서비스를 순차적 또는 산발적으로 실행하고 결과값을 취합해준다.
메모리 관리기(133e)는 응답 생성 관리기(133a) 및 출력 관리기(133c)로부터 전달받은 내용에 기초하여 장기 메모리와 단기 메모리를 관리한다.
명령어 생성기(133f)는 응답 생성 관리기(133a)의 요청에 따라 차량 제어를 위한 명령어 또는 외부 컨텐츠를 이용한 서비스를 제공하기 위한 명령어를 생성한다.
명령어 생성기(133f)는 사용자의 발화나 상황에 대한 응답이 차량 제어 또는 외부 컨텐츠 제공을 포함하는 경우, 이를 실행하기 위한 명령어를 생성한다. 예를 들어, 대화 관리기(132)에서 결정된 액션이 공조 장치, 윈도우, 시트, AVN 등의 제어인 경우에 해당 제어를 실행하기 위한 명령어를 생성하여 응답 생성 관리기(133a)에 전달한다.
명령어 생성기(133f)에서 생성한 명령어가 복수인 경우, 서비스 편집기(133d)가 복수의 명령어를 실행하는 방법과 순서를 결정하여 응답 생성 관리기(133a)에 전달한다.
또한, 사용자가 감정을 표현하는 발화를 입력한 경우, 사용자의 발화로부터 특정 도메인이나 액션은 추출할 수 없지만 대화 시스템(130)은 주변 상황 정보, 차량 상태 정보, 사용자 상태 정보 등을 이용하여 사용자의 의도를 파악하고 대화를 전개할 수 있다.
도 14는 실시 예에 따른 대화 시스템의 제어 순서도이다.
대화 시스템은 마이크로폰을 통해 사용자의 명령을 음성으로 입력 받을 수 있다(201). 이 경우, 대화 시스템은 음향을 입력 받아 전기적인 신호(즉 음성 신호)로 변환할 수 있다.
대화 시스템은 음성 신호에 기초하여 사용자 음성을 인식(202)한다.
이때 대화 시스템은 음성 신호를 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 알고리즘을 적용하여 사용자의 의도를 파악(203)한다.
좀 더 구체적으로, 대화 시스템은 음성 신호를 텍스트 형태의 발화문을 변환할 때, 그대로 변환하기 보다 사용자의 의도와 상황에 맞는 텍스트 형태의 발화문으로 보정할 수 있다.
또한 대화 시스템은 변환된 텍스트가 모호한 언어(즉 모호어)에 대한 텍스트인지를 판단한다.
대화 시스템은 변환된 텍스트가 모호어가 아니라고 판단되면 사용자와의 대화를 계속적으로 수행(205)하고, 텍스트가 모호어에 대한 텍스트라고 판단되면 파악한 사용자 의도가 요청 의도인지를 판단(206)한다.
즉 대화 시스템은 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악하고, 텍스트 형태의 발화문에 대해 형태소 분석을 수행한 후 형태소 분석 결과에 기초하여 발화문으로부터 도메인을 추출한다. 대화 시스템은 자연어 이해를 수행한다.
대화 시스템은 사용자 발화에 대한 의도를 분석하기 위해 발화문이 갖는 화행을 분석하고, 발화문에 대응되는 도메인, 개체명, 화행 등의 정보에 기초하여 사용자의 발화 의도를 파악한다.
아울러 대화 시스템은 사용자의 조작을 통해 수신된 사용자 명령, 카메라에 의해 촬영된 사용자의 영상을 수신하고, 차량의 상태 정보를 수신하여 사용자의 의도나 상황을 파악하는 것도 가능하다.
대화 시스템은 사용자의 발화 의도가 요청의 의도가 아니라고 판단되면 대화 정보로부터 모호어 대한 타겟 및 타겟 값을 획득하고 획득한 타겟 및 타겟 값에 기초하여 경험 정보를 생성(207)한다.
경험 정보를 생성할 때, 대화 시스템은 목적지 이력 데이터베이스(g1)에 저장된 목적지 이력 정보, 차량 제어 이력 데이터베이스(g2)에 저장된 차량 제어 정보, 음성 인식 사용 데이터베이스(g3)에 저장된 음성 정보 및 현재 대화 정보에 기초하여 모호어에 대한 타겟과 타겟 값을 획득하고 획득된 타겟과 타겟값을 포함하는 타겟 정보를 경험 정보로 생성하는 것도 가능하다.
대화 시스템은 현재 대화 정보에 기초하여 경험 데이터베이스(g4)에 저장된 경험 정보를 업데이트 하는 것도 가능하다.
대화 시스템은 사용자의 발화 의도가 요청의 의도라고 판단되면 경험 데이터베이스(g4)에 저장된 경험 정보에 기초하여 모호어를 분석(208)하고, 분석한 모호에 대응하는 타겟과 타겟값을 획득하며, 타겟값들에 각각 대응하는 이력 확률을 획득한다.
대화 시스템은 타겟값들에 각각 대응하는 이력 확률에 기초하여 응답을 생성(209)한다. 대화 시스템은 타겟 값들의 개수 및 이력 확률에 기초하여 복수 개의 응답을 생성할 수 있다.
대화 시스템은 사용자의 의도가 목적지 검색 요청 의도이면, 모호어에 대한 복수 개의 응답들 중, 기준 확률 이상의 이력 확률을 가지는 타겟 값들을 확인하고 확인한 타겟 값들을 조합하여 복수 개의 응답을 생성할 수 있다.
대화 시스템은 가장 높은 순위의 응답을 가진 목적지를 검색한 결과, 목적지가 검색되지 않으면 다음 순위의 응답을 가진 목적지를 검색할 수 있다.
대화 시스템은 검색된 목적지에 대한 정보를 출력(210)할 수 있다. 즉 대화 시스템은 검색된 목적지에 대한 정보를 영상 또는 사운드로 출력할 수 있다.
대화 시스템은 사용자의 의도가 공기 조화기의 제어 의도이면, 모호어에 대한 복수 개의 응답들 중, 기준 확률 이상의 이력 확률을 가지는 타겟 값들을 확인하고 확인한 타겟 값들을 조합하여 복수 개의 응답을 생성할 수 있다.
대화 시스템은 복수 개의 응답을 출력하고, 이때 사용자에 의해 선택된 응답에 기초하여 공기 조화기를 제어하는 것도 가능하다.
대화 시스템은 응답 템플릿을 검색하여 대화 응답 서식을 추출할 수 있고, 추출된 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성할 수 있다.
이때 응답은 텍스트 응답, 이미지 응답 또는 오디오 응답으로 생성할 수 있다.
대화 시스템은 TTS(Text to Speech) 응답을 스피커(142)를 통해 출력할 수 있다.
대화 시스템은 출력된 응답에 대한 정보에 기초하여 경험 데이터 베이스에 저장된 경험 정보를 업데이트 하는 것도 가능하다.
대화 시스템은 사용자와 대화 중 제2입력 장치를 통해 수신된 공기 조화기의 제어 정보나, 목적지의 선택 정보에 기초하여 경험 데이터 베이스에 저장된 경험 정보를 업데이트 하는 것도 가능하다.
대화 시스템은, 사용자와 대화 중 목적지에 대한 재방문 의사 및 이용 정보를 확인하고 확인한 재방문 의사나 이용 정보에 기초하여 경험 데이터 베이스에 저장된 경험 정보를 업데이트 하는 것도 가능하다.
예를 들어, 재방문 의사가 긍정이고, 이용 정보가 고기이면 모호어를 맛집으로 하고 위치를 타겟으로 하는 목적지의 정보를 저장할 수 있다.
대화 시스템은 주행 중 경험 데이터 베이스에 저장된 경험 정보에 기초하여 목적지 추천 정보를 출력하는 것도 가능하다.
대화 시스템은 날짜, 요일 및 시간 별 주행 이력이나, 시간대별 주행 모델에 기초하여 규칙적 주행 여부를 판단하고 규칙적으로 방문하는 목적지에 대한 정보를 저장하는 것도 가능하고, 현재 날짜, 요일 및 시간 정보에 기초하여 목적지 추천 정보를 출력하는 것도 가능하다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다.본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
1: 차량 110: 제1입력장치
120: 제2입력장치 130: 대화 시스템
140: 출력장치 150: 제어기
160: 감지부 170: 통신 장치

Claims (20)

  1. 모호어별 타겟과 타겟 값에 대한 타겟 정보를 저장하는 저장부;
    상기 음성 신호를 수신하는 제1입력 장치;
    상기 제1입력 장치에 수신된 음성 신호를 텍스트로 변환하고 상기 수신된 음성 신호에 기초하여 사용자의 의도를 판단하고, 상기 판단된 사용자의 의도가 요청 의도이고 상기 변환된 텍스트가 모호어라고 판단되면 상기 저장부에 저장된 타깃 정보로부터 상기 모호어에 대응하는 타겟과 타겟 값을 획득하는 대화 관리기; 및
    상기 대화 관리기에서 획득된 타겟과 타겟 값에 기초하여 응답을 생성하고 상기 생성된 응답의 출력을 제어하는 결과 처리기를 포함하는 대화 시스템.
  2. 제 1 항에 있어서, 상기 대화 관리기는,
    상기 수신된 음성 신호 중 상기 모호어에 대한 질의에 대응하는 음성 신호가 존재하면 상기 질의에 대응하는 음성 신호에 기초하여 상기 저장부에 저장된 상기 모호어에 대응하는 타깃 정보를 업데이트 하는 대화 시스템.
  3. 제 1 항에 있어서,
    음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고,
    상기 대화 관리기는, 상기 제2입력 장치를 통해 수신된 사용자 입력 중 상기 모호어에 대한 질의에 대응하는 사용자 입력이 존재하면 상기 질의에 대응하는 사용자 입력에 기초하여 상기 저장부에 저장된 상기 모호어에 대응하는 타깃 정보를 업데이트 하는 대화 시스템.
  4. 제 1 항에 있어서,
    음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고,
    상기 대화 관리기는, 상기 제1, 2 입력 장치를 통해 수신된 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득하고,
    상기 결과 처리기는, 상기 획득된 모호어별 타깃 값에 대한 이력 확률에 기초하여 복수 개의 응답을 생성하고 상기 생성한 복수 개의 응답을 출력하는 대화 시스템.
  5. 제 1 항에 있어서, 상기 대화 관리기는,
    상기 사용자와의 대화 정보에 기초하여 모호어의 존재 여부를 판단하고 상기 모호어가 존재한다고 판단되면 상기 대화 정보에 기초하여 상기 모호어에 대한 타겟 정보를 경험 정보로 생성하고 상기 생성한 경험 정보를 상기 저장부에 저장하도록 하는 대화 시스템.
  6. 제 1 항에 있어서, 상기 모호어는,
    상기 타겟을 수식하는 언어를 포함하는 대화 시스템.
  7. 음성 신호를 수신하는 제1입력 장치;
    모호어별 타겟과 타겟 값에 대한 타겟 정보를 저장하는 저장부;
    상기 제1입력 장치에 수신된 음성 신호를 텍스트로 변환하고 상기 수신된 음성 신호에 기초하여 사용자의 의도를 판단하고, 상기 판단된 사용자의 의도가 요청 의도이고 상기 변환된 텍스트가 모호어라고 판단되면 상기 저장부에 저장된 타깃 정보로부터 상기 모호어에 대응하는 타겟과 타겟 값을 획득하고 상기 획득한 타겟과 타겟 값에 기초하여 응답을 생성하고 상기 생성된 응답의 출력을 제어하는 대화 시스템을 포함하는 차량.
  8. 제 7 항에 있어서,
    상기 생성된 응답을 이미지로 출력하는 디스플레이; 및
    상기 생성된 응답을 오디오로 출력하는 스피커 중 적어도 하나를 포함하는 차량.
  9. 제 7 항에 있어서, 상기 대화 시스템은,
    상기 수신된 음성 신호 중 상기 모호어에 대한 질의에 대응하는 음성 신호가 존재하면 상기 질의에 대응하는 음성 신호에 기초하여 상기 저장부에 저장된 상기 모호어에 대응하는 타깃 정보를 업데이트 하는 차량.
  10. 제 7 항에 있어서,
    음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고,
    상기 대화 시스템은, 상기 제2입력 장치를 통해 수신된 사용자 입력 중 상기 모호어에 대한 질의에 대응하는 사용자 입력이 존재하면 상기 질의에 대응하는 사용자 입력에 기초하여 상기 저장부에 저장된 상기 모호어에 대응하는 타깃 정보를 업데이트 하는 차량.
  11. 제 10 항에 있어서,
    음성 이외의 사용자 입력을 수신하는 제2입력 장치를 더 포함하고,
    상기 대화 시스템은, 상기 제1, 2 입력 장치를 통해 수신된 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득하고 상기 획득한 모호어별 타깃 값에 대한 이력 확률에 기초하여 복수 개의 응답을 생성하고 상기 생성한 복수 개의 응답을 출력하는 차량.
  12. 제 7 항에 있어서, 상기 대화 시스템은,
    상기 사용자와의 대화 정보에 기초하여 모호어의 존재 여부를 판단하고 상기 모호어가 존재한다고 판단되면 상기 대화 정보에 기초하여 상기 모호어에 대한 타겟 정보를 경험 정보로 생성하고 상기 생성한 경험 정보를 상기 저장부에 저장하도록 하는 차량.
  13. 제 7 항에 있어서,
    상기 대화 시스템에서 출력한 응답에 대응하여 공기 조화기, 윈도우, 도어, 시트, 오디오/비디오/내비게이션(AVN), 히터, 와이퍼, 사이드 미러, 내부의 램프 및 외부의 램프 중 적어도 하나의 기기를 제어하는 제어기를 더 포함하는 차량.
  14. 제 13 항에 있어서, 상기 대화 시스템은,
    상기 사용자의 요청 의도가 목적지 검색 요청 의도이면, 재시동 전의 대화 정보와 재시동 후의 대화 정보에 기초하여 상기 모호어에 대한 타겟 정보를 경험 정보로 생성하고 상기 생성한 경험 정보를 상기 저장부에 저장하도록 하는 차량.
  15. 제 13 항에 있어서, 상기 대화 시스템은,
    목적지 이력 정보, 음성 인식 사용 정보 및 상기 적어도 하나의 기기의 제어 정보에 기초하여 경험 정보를 생성하는 차량.
  16. 제 13 항에 있어서, 상기 대화 관리기는,
    주행 중 시간의 흐름에 따른 대화 정보에 기초하여 적어도 하나의 기기에 대한 제어 정보를 획득하고 상기 획득한 적어도 하나의 기기의 제어 정보에 기초하여 경험 정보를 생성하는 차량.
  17. 음성 신호를 수신하고,
    상기 수신된 음성 신호를 텍스트로 변환하고,
    상기 변환된 텍스트에 기초하여 사용자의 발화 의도를 파악하고,
    상기 파악한 사용자의 발화 의도가 요청 의도이고, 상기 변환된 텍스트가 모호어에 대한 텍스트이면 경험 데이터베이스에 저장된 경험 정보에 기초하여 상기 모호어에 대응하는 타깃 정보를 획득하고,
    상기 획득된 타깃 정보에 대응하는 액션을 결정하고,
    상기 결정된 액션에 대응하는 응답을 생성하고,
    상기 생성된 응답을 출력하는 대화 시스템의 제어 방법.
  18. 제 17 항에 있어서,
    상기 출력된 음성 신호와 상기 수신된 음성 신호에 기초하여 경험 정보를 생성하고,
    상기 생성된 경험 정보를 상기 경험 데이터베이스에 저장하는 것을 더 포함하는 대화 시스템의 제어 방법.
  19. 제 17 항에 있어서,
    제2입력 장치를 통해 음성 외의 사용자 입력이 수신되면 상기 수신된 사용자 입력 중 상기 모호어에 대한 질의에 대응하는 사용자 입력이 존재하는지 판단하고,
    상기 모호어에 대한 질의에 대응하는 사용자 입력이 존재한다고 판단되면 상기 질의에 대응하는 사용자 입력에 기초하여 상기 경험 데이터베이스에 저장된 상기 모호어에 대응하는 타깃 정보를 업데이트 하는 대화 시스템의 제어 방법.
  20. 제 17 항에 있어서, 상기 생성된 응답을 출력하는 것은,
    제1, 2 입력 장치를 통해 모호어별 타깃 값의 선택 정보에 기초하여 모호어별 타깃 값의 이력 확률을 획득하고,
    상기 획득된 모호어별 타깃 값에 대한 이력 확률에 기초하여 복수 개의 응답을 생성하고,
    상기 생성한 복수 개의 응답을 출력하는 것을 포함하는 대화 시스템의 제어 방법.





KR1020200185588A 2020-12-29 2020-12-29 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법 KR20220094400A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200185588A KR20220094400A (ko) 2020-12-29 2020-12-29 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법
US17/525,585 US20230315997A9 (en) 2020-12-29 2021-11-12 Dialogue system, a vehicle having the same, and a method of controlling a dialogue system
DE102021212744.4A DE102021212744A1 (de) 2020-12-29 2021-11-12 Dialogsystem, fahrzeug mit demselben und verfahren zum steuern eines dialogsystems
CN202111512496.7A CN114758653A (zh) 2020-12-29 2021-12-07 对话系统、具有对话系统的车辆以及控制对话系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200185588A KR20220094400A (ko) 2020-12-29 2020-12-29 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법

Publications (1)

Publication Number Publication Date
KR20220094400A true KR20220094400A (ko) 2022-07-06

Family

ID=81972332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200185588A KR20220094400A (ko) 2020-12-29 2020-12-29 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법

Country Status (4)

Country Link
US (1) US20230315997A9 (ko)
KR (1) KR20220094400A (ko)
CN (1) CN114758653A (ko)
DE (1) DE102021212744A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073513A (ko) * 2020-11-26 2022-06-03 현대자동차주식회사 대화 시스템, 차량 및 대화 시스템의 제어 방법
US20240013782A1 (en) * 2022-07-11 2024-01-11 Google Llc History-Based ASR Mistake Corrections

Also Published As

Publication number Publication date
CN114758653A (zh) 2022-07-15
US20230315997A9 (en) 2023-10-05
DE102021212744A1 (de) 2022-06-30
US20220198151A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
KR102338990B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR102426171B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 서비스 처리 방법
KR102414456B1 (ko) 대화 시스템, 이를 포함하는 차량 및 유고 정보 처리 방법
US10733994B2 (en) Dialogue system, vehicle and method for controlling the vehicle
US10950233B2 (en) Dialogue system, vehicle having the same and dialogue processing method
US10997974B2 (en) Dialogue system, and dialogue processing method
US10861460B2 (en) Dialogue system, vehicle having the same and dialogue processing method
US11508367B2 (en) Dialogue system and dialogue processing method
KR20200000155A (ko) 대화 시스템 및 이를 이용한 차량
US11004450B2 (en) Dialogue system and dialogue processing method
US20230315997A9 (en) Dialogue system, a vehicle having the same, and a method of controlling a dialogue system
KR102487669B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
US11783806B2 (en) Dialogue system and dialogue processing method
KR102448719B1 (ko) 대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법
CN110562260A (zh) 对话系统和对话处理方法
US20210303263A1 (en) Dialogue system and vehicle having the same, and method of controlling dialogue system
KR20200095636A (ko) 대화 시스템이 구비된 차량 및 그 제어 방법
KR20190036018A (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR20200123495A (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR20190135676A (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법

Legal Events

Date Code Title Description
A201 Request for examination