KR20200095636A - 대화 시스템이 구비된 차량 및 그 제어 방법 - Google Patents

대화 시스템이 구비된 차량 및 그 제어 방법 Download PDF

Info

Publication number
KR20200095636A
KR20200095636A KR1020190012985A KR20190012985A KR20200095636A KR 20200095636 A KR20200095636 A KR 20200095636A KR 1020190012985 A KR1020190012985 A KR 1020190012985A KR 20190012985 A KR20190012985 A KR 20190012985A KR 20200095636 A KR20200095636 A KR 20200095636A
Authority
KR
South Korea
Prior art keywords
information
driver
vehicle
driving
driving route
Prior art date
Application number
KR1020190012985A
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 KR1020190012985A priority Critical patent/KR20200095636A/ko
Publication of KR20200095636A publication Critical patent/KR20200095636A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18163Lane change; Overtaking manoeuvres
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3484Personalized, e.g. from learned user behaviour or user-defined profiles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • B60W2040/089Driver voice
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/30Driving style
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/18Propelling the vehicle
    • B60Y2300/18008Propelling the vehicle related to particular drive situations
    • B60Y2300/18166Overtaking, changing lanes

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Navigation (AREA)

Abstract

일 실시예에 따른 차량은 제1 주행 경로를 설정하고, 제1 주행 경로에 기초한 제1 내비게이션 안내를 실행하도록 차량에 마련된 AVN(Audio Video Navigation) 장치와 제1 주행 경로 및 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 운전자 정보를 저장하는 저장부와 운전자 정보에 기초하여 제1 주행 경로를 제2 주행 경로로 변경하고, 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 결과 처리기를 포함한다.

Description

대화 시스템이 구비된 차량 및 그 제어 방법{VEHICLE EQUIPPED WITH DIALOGUE PROCESSING SYSTEM AND CONTROL METHOD THEREOF}
대화 시스템이 구비된 차량 및 그 제어 방법에 관한 발명으로, 더욱 상세하게는 운전자의 특성을 반영한 주행 경로를 안내하는 대화 시스템이 구비된 차량 및 그 제어 방법에 관한 것이다.
차량에 적용되는 다양한 기술이 발전함에 따라, 차량의 기본적인 기능인 주행 이외에도 사용자의 편의를 위한 다양한 기능이 제공되고 있다.
예를 들어, 사용자는 차량용 AVN(Audio Video Navigation) 장치에 목적지를 입력하면, 목적지에 따른 주행 경로를 안내하는 화면 또는 음성 안내에 대한 서비스를 제공받는다.
여기서, 주행 경로에 대한 음성 안내는 미리 정해진 형태에 따라 제공되는 것이 일반적이며, 환경 설정을 통하여 음향 또는 안내 빈도에 대하여 조정하는 것을 통해 음성 안내의 형태를 변형될 수 있었다.
개시된 발명의 일 측면은 사용자의 개인 성향을 반영한 주행 경로 안내를 제공하는 대화 시스템이 구비된 차량 및 그 제어 방법을 제공하고자 한다.
개시된 발명의 일 실시예에 따른 차량은 제1 주행 경로를 설정하고, 상기 제1 주행 경로에 기초한 제1 내비게이션 안내를 실행하도록 차량에 마련된 AVN(Audio Video Navigation) 장치 상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 운전자 정보를 저장하는 저장부; 및 상기 운전자 정보에 기초하여 상기 제1 주행 경로를 제2 주행 경로로 변경하고, 상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 결과 처리기;를 포함한다.
상기 결과 처리기는 상기 운전자 정보에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경할 수 있다.
상기 운전자 정보는 운전자 일정 데이터, 운전자 성향 데이터 및 운전자 로깅 데이터 중 적어도 하나를 포함할 수 있다.
상기 결과 처리기는 상기 운전자 일정 데이터를 처리한 결과, 현재로부터 목적지에 도착할 때까지의 잔여 시간이 부족한 경우, 상기 차량이 주행 예정인 복수의 주행 경로 중에서 신호등이 가장 적은 상기 제2 주행 경로로 변경할 수 있다.
상기 결과 처리기는 상기 운전자 로깅 데이터를 처리한 결과, 상기 AVN 장치에 입력된 목적지가 상기 운전자 로깅 데이터에 포함되지 않은 경우, 상기 제1 내비게이션 안내에서 안내 빈도가 증가된 제2 내비게이션 안내로 변경할 수 있다.
상기 결과 처리기는 상기 운전자 로깅 데이터를 처리한 결과, 특정 목적지에 대한 상기 제1 주행 경로는 상기 AVN 장치가 안내하는 주행 경로이고, 상기 특정 목적지에 대한 상기 제2 주행 경로는 운전자가 임의로 주행하는 주행 경로이고, 상기 제2 주행 경로가 미리 정해진 횟수 이상으로 누적되면 상기 AVN 장치가 자동으로 상기 제2 주행 경로로 안내하도록 처리할 수 있다.
일 실시예에서, 안내 빈도를 포함하는 내비게이션 안내 방식을 추출하는 입력 처리기;를 더 포함하고, 상기 결과 처리기는 상기 안내 빈도에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경할 수 있다.
상기 저장부는 상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 주행 환경 정보를 저장하고, 상기 결과 처리기는 상기 주행 환경 정보에 기초하여 상기 제1 주행 경로를 상기 제2 주행 경로로 변경할 수 있다.
상기 주행 환경 정보는 교통 상황 정보, 사고 정보 및 날씨 정보 중 적어도 하나를 포함할 수 있다.
상기 결과 처리기는 상기 날씨 정보를 처리한 결과, 현재의 강수량이 미리 정해진 임계치를 초과하면 상기 차량이 직진 위주의 주행을 할 수 있도록 하는 경로인 상기 제2 주행 경로로 변경할 수 있다.
개시된 발명의 일 실시예에 따른 차량의 제어 방법은 제1 주행 경로를 설정하고, 상기 제1 주행 경로에 기초한 제1 내비게이션 안내를 생성하는 단계; 상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 운전자 정보를 저장하는 단계; 및 상기 운전자 정보에 기초하여 상기 제1 주행 경로를 제2 주행 경로로 변경하고, 상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계;를 포함한다.
일 실시예에 따른 차량의 제어 방법은 상기 운전자 정보에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경하는 단계;를 더 포함할 수 있다.
상기 운전자 정보는 운전자 일정 데이터, 운전자 성향 데이터 및 운전자 로깅 데이터 중 적어도 하나를 포함할 수 있다.
상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는 상기 운전자 일정 데이터를 처리한 결과, 현재로부터 목적지에 도착할 때까지의 잔여 시간이 부족한 경우, 상기 차량이 주행 예정인 복수의 주행 경로 중에서 신호등이 가장 적은 상기 제2 주행 경로로 변경하는 단계;를 포함할 수 있다.
상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는 상기 운전자 로깅 데이터를 처리한 결과, 상기 AVN 장치에 입력된 목적지가 상기 운전자 로깅 데이터에 포함되지 않은 경우, 상기 제1 내비게이션 안내에서 안내 빈도가 증가된 제2 내비게이션 안내로 변경하는 단계;를 포함할 수 있다.
상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는 상기 운전자 로깅 데이터를 처리한 결과, 특정 목적지에 대한 상기 제1 주행 경로는 상기 AVN 장치가 안내하는 주행 경로이고, 상기 특정 목적지에 대한 상기 제2 주행 경로는 운전자가 임의로 주행하는 주행 경로이고, 상기 제2 주행 경로가 미리 정해진 횟수 이상으로 누적되면 상기 AVN 장치가 자동으로 상기 제2 주행 경로로 안내하도록 처리하는 단계;를 포함할 수 있다.
일 실시예에 따른 차량의 제어 방법은 운전자의 발화에 대응되고, 안내 빈도를 포함하는 내비게이션 안내 방식을 추출하는 단계; 및 상기 안내 빈도에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경하는 단계;를 더 포함할 수 있다.
일 실시예에 따른 차량의 제어 방법은 상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 주행 환경 정보를 저장하는 단계; 및 상기 주행 환경 정보에 기초하여 상기 제1 주행 경로를 상기 제2 주행 경로로 변경하는 단계;를 더 포함할 수 있다.
상기 주행 환경 정보는 교통 상황 정보, 사고 정보 및 날씨 정보 중 적어도 하나를 포함할 수 있다.
상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는 상기 날씨 정보를 처리한 결과, 현재의 강수량이 미리 정해진 임계치를 초과하면 상기 차량이 직진 위주의 주행을 할 수 있도록 하는 경로인 상기 제2 주행 경로로 변경하는 단계;를 더 포함할 수 있다.
개시된 발명의 일 측면에 따르면, 운전자의 개별적인 성향에 맞는 주행 경로 및 주행 경로의 안내 방식을 제공함으로써 운전자의 편의성과 안전성을 확보할 수 있다.
도 1은 대화 시스템 및 상태 정보 처리 시스템이 차량에 마련되는 차량 단독 방식에 관한 제어 블록도이다.
도 2는 대화 시스템 및 상태 정보 처리 시스템이 원격 서버에 마련되고, 시스템을 연결하는 게이트 웨이의 역할만 하는 차량 게이트 웨이 방식에 대한 제어 블록도이다.
도 3은 대화 시스템의 구성 중 입력 처리기의 구성을 세분화한 제어 블록도이다.
도 4는 대화 관리기의 구성을 세분화한 제어 블록도이다.
도 5는 대화 처리기의 구성을 세번화한 제어 블록도이다.
도 6 및 도 3은 일 실시예에서 참조되는 상태 데이터에 관한 예를 도시한다.
도 8은 일 실시예에 따른 차량의 제어 방법의 순서도이다.
도 9는 대화 시스템과 운전자 사이에 주고 받을 수 있는 대화의 예시를 나타낸 도면이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 개시된 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 개시된 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 대화 시스템 및 운전자 정보 처리 시스템이 차량에 마련되는 차량 단독 방식에 대한 제어 블록도이다. 도 2는 대화 시스템 및 운전자 정보 처리 시스템이 원격 서버에 마련되고, 시스템을 연결하는 게이트웨이의 역할만 하는 차량 게이트웨이 방식에 대한 제어 블록도이다. 중복되는 설명을 피하기 위해서 이하 함께 설명한다.
먼저 도 1를 참조하면, 차량 단독 방식에서는 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함하는 대화 시스템(100)이 차량(200)에 포함될 수 있다.
구체적으로 입력 처리기(110)는 사용자의 음성 및 음성 외 입력을 포함하는 사용자 입력이나 차량과 관련된 정보 또는 사용자와 관련된 정보를 포함하는 입력을 처리한다. 여기서, 사용자 입력에는 AVN 장치(250)가 사용자에게 시각적 또는 청각적으로 제공하는 알림의 빈도를 나타내는 안내 빈도에 대한 설정을 포함한다.
대화 관리기(120)는 입력 처리기(110)의 처리 결과를 이용하여 사용자의 의도를 파악하고, 사용자의 의도나 차량의 상태에 대응되는 액션을 결정한다.
결과 처리기(130)는 대화 관리기(120)의 출력 결과에 따라 특정 서비스를 제공하거나 대화를 계속 이어 나가기 위한 시스템 발화를 출력한다. 개시된 발명이 제시하는 특정 서비스는 운전자 정보 또는 주행 환경 정보가 AVN(Audio Video Navigation)에 반영되어 운전자 개인에게 적합한 주행 경로 또는 내비게이션 안내를 제공하는 것이다. 이를 구현하기 위한 구체적인 수단에 관하여는 후술한다.
저장부(140)는 후술하는 동작을 수행하기 위해 필요한 각종 정보를 저장한다.
입력 처리기(110)는 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. 음성 외 입력은 사용자의 제스처 인식이나, 입력 장치의 조작을 통해 입력되는 사용자의 음성 외 입력, 차량의 상태를 나타내는 차량 상태 정보, 차량의 주행 환경과 관련된 주행 환경 정보, 사용자의 상태를 나타내는 운전자 정보 등을 포함할 수 있다. 이러한 정보들 외에도 차량과 사용자와 관련된 정보로서, 사용자의 의도를 파악하거나 사용자에게 서비스를 제공하기 위해 사용될 수 있는 정보이면, 모두 입력 처리기(110)의 입력이 될 수 있다. 사용자는 운전자와 탑승자를 모두 포함할 수 있다.
사용자의 음성 입력과 관련해서 입력 처리기(110)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 기술을 적용하여 사용자의 의도를 파악한다. 입력 처리기(110)는 자연어 이해를 통해 파악한 사용자의 의도와 상황에 관련된 정보 등을 대화 관리기(120)로 전달한다.
상황 정보의 입력과 관련해서 입력 처리기(110)는 현재 차량(200)의 주행 중인 상태, AVN 장치(250)가 전달하는 주행 경로, 주행 경로를 음성 및 화면으로 설명하는 내비게이션 안내를 처리하고, 사용자의 음성 입력의 주제(이하 도메인)를 파악한다. 입력 처리기(110)는 판단된 도메인 및 액션을 대화 관리기(120)로 전달한다.
여기서 액션은 특정 서비스를 제공하기 위해 수행되는 모든 동작을 의미할 수 있으며, 액션의 종류는 미리 정의될 수 있다. 경우에 따라, 서비스의 제공과 액션의 수행은 동일한 의미일 수 있다.
액션의 종류에 대해서는 제한을 두지 않으며, 대화 시스템(100)이 차량(200) 또는 모바일 기기를 통해 수행 가능한 것으로서, 미리 정의되고, 그 추론 규칙이나 다른 액션/이벤트와의 관계 등이 저장되어 있으면 액션이 될 수 있다.
대화 관리기(120)는 결정된 액션에 관한 정보를 결과 처리기(130)로 전달한다.
결과 처리기(130)는 전달된 액션을 수행하기 위해 필요한 대화 응답 및 명령어를 생성하여 출력한다. 대화 응답은 텍스트, 이미지 또는 오디오로 출력될 수 있고, 명령어가 출력되면 출력된 명령어에 대응되는 차량 제어, 외부 컨텐츠 제공 등의 서비스가 수행될 수 있다.
일 실시예에 따른 결과 처리기(130)는 대화 관리기에서 결정된 액션 및 변경된 주행 경로 또는 변경된 내비게이션 안내를 AVN 장치(250)로 전달할 수 있다.
저장부(140)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다. 예를 들어, 자연어 이해에 사용되는 도메인, 액션, 화행, 개체명과 관련된 정보를 미리 저장할 수 있고, 입력된 정보로부터 상황을 이해하기 위해 사용되는 상황 이해 테이블을 저장할 수도 있으며, 사용자의 대화를 통해 운전자 정보 및 주행 환경 정보를 분류하는 판단 기준을 미리 저장할 수도 있다. 여기서, 저장이라 함은 일시적인 저장 및 비일시적인 저장을 모두 포함하는 개념이다. 저장부(140)에 저장되는 정보는 운전자 상태 데이터, 운전자 일정 데이터, 운전자 성향 데이터, 운전자 로깅 데이터 및 주행 환경 데이터를 포함할 수 있다. 각각의 데이터에 관한 정의는 후술하도록 한다.
도 1와 같이, 대화 시스템(100)이 차량(200)에 포함되면, 차량(200)이 자체적으로 사용자와의 대화를 처리하고 사용자에게 필요한 서비스를 제공해줄 수 있다. 다만, 대화 처리 및 서비스 제공을 위해 필요한 정보는 외부 서버(400)로부터 가져올 수 있다.
한편, 대화 시스템(100)의 구성요소가 전부 차량에 포함될 수도 있고, 일부만 포함될 수도 있다. 대화 시스템(100)은 원격 서버에 마련되고 차량은 대화 시스템(100)과 사용자 사이의 게이트웨이의 역할만 할 수도 있다. 이와 관련된 자세한 설명은 도 2에서 후술한다.
대화 시스템(100)에 입력되는 사용자의 음성은 차량(200)에 마련된 음성 입력 장치(210)를 통해 입력될 수 있다. 앞서 도 2에서 설명한 바와 같이, 음성 입력 장치(210)는 차량(200) 내부에 마련된 마이크로폰을 포함할 수 있다.
또한, 음성 외 입력 장치(220)는 사용자를 촬영하는 카메라를 포함하는 것도 가능하다. 카메라로 촬영한 영상을 통해, 명령 입력의 일 수단으로 사용되는 사용자의 제스처, 표정 또는 시선 방향을 인식하고, 이를 기초로 운전자 상태 데이터를 생성하여 저장부(140)에 저장할 수 있다. 또는, 카메라로 촬영한 영상을 통해 사용자의 상태(졸음 상태 등)를 파악하는 것도 가능하다.
차량 제어기(240) 및 AVN 장치(250)는 차량에 관한 상황 정보를 대화 시스템 클라이언트(270)에 입력될 수 있다.
대화 시스템(100)은 입력된 사용자 음성, 음성 외 입력 장치(220)를 통해 입력된 사용자의 음성 외 입력, 차량 제어기(240)를 통해 입력된 각종 정보를 이용하여 사용자의 의도와 상황을 파악하고, 사용자의 의도에 대응되는 액션을 수행하기 위한 응답을 출력한다.
대화자 출력 장치(230)는 대화자에게 시각적, 청각적 또는 촉각적인 출력을 제공하는 장치로서, 차량(200)에 마련된 디스플레이(231) 및 스피커(232)를 포함할 수 있다. 디스플레이(231) 및 스피커(232)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다. 또는, 스티어링 휠(207)에 진동기를 장착하여 진동을 출력하는 것도 가능하다.
차량 제어기(240)는 대화 시스템(100)으로부터 출력되는 응답에 따라, 사용자의 의도나 현재 상황에 대응되는 액션을 수행하기 위해 차량(200)을 제어할 수 있다.
구체적으로 차량 제어기(240)는 차량(200)에 마련되는 다양한 센서 등을 통해서 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 타이어 공기압, 현재 위치, 엔진 온도, 차량 속도 등과 같은 차량 상태 정보를 대화 시스템(100)에 전달할 수 있다.
또한, 차량 제어기(240)는 공조 장치, 윈도우, 도어 및 시트 등 다양한 구성을 포함할 수 있으며, 대화 시스템(100)의 출력 결과에 따라 전달하는 제어 신호에 기초하여 동작할 수 있다.
일 실시예에 따른 차량(200)은 AVN 장치(250)를 포함할 수 있다. 도 1에서는 설명의 편의를 위해서 AVN 장치(250)를 차량 제어기(240)와 구분하여 도시하였다.
AVN 장치(250)는 사용자에게 목적지까지의 주행 경로 및 내비게이션 안내를 제공하는 내비게이션 기능을 제공할 수 있을 뿐만 아니라, 오디오, 및 비디오 기능을 통합적으로 제공할 수 있는 단말 또는 장치를 의미한다.
AVN 장치(250)는 구성의 전반을 제어하는 AVN 제어부(253) 및 AVN 제어부(253)에 의해 처리되는 다양한 정보 및 데이터를 저장하는 AVN 저장부(251) 및 외부 서버(400)로부터 주행 환경 정보를 전달받는다.
구체적으로 AVN 저장부(251)는 AVN 장치(250)에서 디스플레이(231) 및 스피커(232)를 통해 출력되는 영상 및 소리를 저장하거나, AVN 제어부(253)의 동작에 필요한 일련의 프로그램을 저장할 수 있다.
AVN 제어부(253)는 AVN 장치(250) 전반을 제어하는 프로세서(Processor)이다.
구체적으로 AVN 제어부(253)는 사용자의 입력에 따라 목적지까지의 경로를 안내하는 내비게이션 동작 및 음악 등을 재생하거나, 영상을 표시하는 비디오/오디오 동작을 처리한다.
운전자 정보 처리부(255)는 대화 시스템(100)이 운전자 정보에 따라 처리한 운전자의 주행 성향에 관한 정보를 수신한다.
이렇게 전달된 운전자 정보는 외부 서버(400)에서 같은 주행 경로를 사용하는 차량에 사용되어 내비게이션 데이터로 활용된다.
한편, 운전자 정보 처리부(255)는 설명의 편의를 위해서 구분한 것으로 대화 시스템(100)이 분류한 운전자 정보를 AVN 장치(250)의 동작에 사용할 수 있도록 처리하는 프로세서이면 충분하다. 즉, 운전자 정보 처리부(255)는 AVN 제어부(253)와 함께 단일 칩으로 마련될 수 있다.
통신 장치(280)는 차량(200)에 마련된 여러 구성 및 장치를 연결한다. 또한, 통신 장치(280)는 차량(200)과 외부 서버(400)를 연결하여 운전자 정보 및 주행 환경 정보에 관한 데이터를 전달한다.
통신 장치와 관련된 구체적인 설명은 도 2를 통해서 후술한다.
도 2를 참조하면, 대화 시스템(100)은 원격 대화 시스템 서버(1)에 마련되어, 차량이 사용자와 시스템을 연결하는 게이트웨이 역할을 수행할 수 있다.
차량 게이트웨이 방식에서는 차량(200) 외부에 원격 대화 시스템 서버(1)가 마련되고, 차량(200)에는 원격 대화 시스템 서버(1)와 통신 장치(280)를 통해 연결되는 대화 시스템 클라이언트(270)가 마련된다.
통신 장치(280)는 차량(200)과 원격 대화 시스템 서버(1) 및 운전자 정보 처리 서버(310)를 연결하는 게이트웨이의 역할을 수행한다.
즉, 대화 시스템 클라이언트(270) 및 운전자 정보 처리 클라이언트(290)는 입출력 장치와 연결된 인터페이스로써 기능하며, 데이터 수집과 송수신을 수행할 수 있다.
차량(200)에 마련된 음성 입력 장치(210)와 음성 외 입력 장치(220)가 사용자 입력을 수신하고 대화 시스템 클라이언트(270)에 전달하면, 대화 시스템 클라이언트(270)가 통신 장치(280)를 통해 원격 대화 시스템 서버(1)로 입력 데이터를 전송할 수 있다.
차량 제어기(240) 역시 차량 감지부 등 에서 감지한 데이터를 대화 시스템 클라이언트(270)에 전달할 수 있고, 대화 시스템 클라이언트(270)가 통신 장치(280)를 통해 원격 대화 시스템 서버(1)로 차량 감지부에서 감지한 데이터를 외부 서버(400)로 전송할 수 있다.
원격 대화 시스템 서버(1)에는 전술한 대화 시스템(100)이 마련되어 입력 데이터의 처리, 입력 데이터의 처리 결과를 바탕으로 한 대화 처리 및 대화 처리 결과에 기초한 결과 처리를 모두 수행할 수 있다.
또한, 원격 대화 시스템 서버(1)는 입력 데이터의 처리, 대화 관리 또는 결과 처리에 있어 필요한 정보나 컨텐츠를 외부 서버(400)로부터 가져올 수 있다.
차량(200) 역시 원격 대화 시스템 서버(1)로부터 전송되는 응답에 따라 사용자에게 필요한 서비스를 제공하기 위해 필요한 컨텐츠를 외부 컨텐츠 서버(300)로부터 가져올 수 있다.
운전자 정보 처리 서버(310)는 차량(200)에서 운전자 정보를 수집한다.
운전자 정보 처리 서버(310)는 운전자 정보를 통해 접수된 운전자 정보를 업데이트할 수 있다. 이를 통해서 AVN 장치(250)가 안내하는 주행 정보 또는 교통 정보의 운전자에 대한 적합도는 높아질 수 있다.
통신 장치(280)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈, 유선 통신 모듈 및 무선 통신 모듈을 포함할 수 있다.
근거리 통신 모듈은 블루투스 모듈, 적외선 통신 모듈, 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 등 무선 통신 방식으로 인터넷망과 연결될 수 있는 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.
한편, 통신 장치(280)는 차량(200) 내부의 전자 장치들 사이의 통신을 위한 내부 통신 모듈(미도시)을 더 포함할 수도 있다. 차량(200)의 내부 통신 프로토콜로는 CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등을 사용할 수 있다.
대화 시스템 클라이언트(270)는 무선 통신 모듈을 이용하여 외부 서버(400) 또는 원격 대화 시스템 서버(1)와 데이터를 주고 받을 수 있다. 또한, 무선 통신 모듈을 이용하여 V2X 통신을 수행할 수 있다. 또한, 근거리 통신 모듈 또는 유선 통신 모듈을 이용하여 차량(200)에 연결되는 모바일 기기와 데이터를 주고 받을 수 있다.
한편, 도 1 및 도 2에서 설명한 제어 블록도는 개시된 발명의 일 예에 불과하다. 즉, 개시된 대화 시스템(100)은 사용자의 음성을 인식하고 운전자 정보를 취득한 후 운전자 정보를 분류할 수 있는 결과를 처리할 수 있는 구성 및 장치를 포함하면 충분하고, 제한은 없다.
도 3을 참조하면, 입력 처리기(110)는 음성 입력을 처리하는 음성 입력 처리기(111) 및 상황 정보를 처리하는 상황 정보 처리기(112)를 포함할 수 있다.
음성 입력 장치(210)를 통해 입력된 사용자 음성은 음성 입력 처리기(111)로 전송되고, 음성 외 입력 장치(220)를 통해 입력된 음성 외 사용자 입력은 상황 정보 처리기(112)로 전송된다.
차량 제어기(240)는 차량 상태 정보, 주행 환경 정보 및 운전자 정보 등 다양한 상황 정보를 상황 정보 처리기(112)로 전송한다. 특히, 일 실시예에 따른 주행 환경 정보는 차량 제어기(240) 또는 AVN 장치(250)를 통해 전달되는 교통 상황 정보, 사고 정보, 날씨 정보를 포함할 수 있다. 주행 환경 정보 및 운전자 정보는 외부 서버(400) 또는 차량(200)에 연결된 모바일 기기로부터 제공될 수도 있다.
구체적으로 차량 상태 정보는 차량(200)에 마련된 센서에 의해 획득된 정보로서 차량의 상태를 나타내는 정보, 차량의 유종과 같이 차량에 관련된 정보로서 차량에 저장되어 있는 정보 등을 포함할 수 있다.
주행 환경 정보는 차량(200)에 마련된 센서에 의해 획득된 정보로서 전방 카메라, 후방 카메라 또는 스테레오 카메라가 획득한 영상 정보, 레이더(radar), 라이다(Lidar), 초음파 센서 등의 센서가 획득한 장애물 정보, 강우 센서가 획득한 강우량/강우속도 정보 등을 포함할 수 있다.
또한, 주행 환경 정보는 V2X를 통해 획득된 정보로서 교통 상황 정보, 사고 정보, 날씨 정보를 포함하며, 이외에도 신호등 정보, 주변 차량의 접근 또는 추돌 가능성 정보 등을 포함한다.
일 예로, 사고 정보는 주행 경로 상 정체를 야기하는 차량 추돌, 자연 재해를 포함할 수 있으며, 도로 통제 정보는 아스팔트 공사와 같이 인위적으로 도로를 통제하는 상황을 포함할 수 있다.
운전자 정보는 차량에 마련된 카메라 또는 생체 신호 측정 장치를 통해 측정한 운전자의 상태와 관련된 정보, 운전자가 차량에 마련된 입력 장치를 이용하여 직접 입력한 운전자와 관련된 정보, 외부 서버(400)에 저장된 운전자와 관련된 정보, 차량에 연결된 모바일 기기에 저장된 정보 등을 포함할 수 있다.
예를 들어, 운전자 정보는 운전자 일정 데이터를 포함할 수 있다. 여기서, 운전자 일정 데이터는 운전자가 입력한 특정 일시에 따른 목적지를 포함한 정보일 수 있다.
운전자 정보는 운전자 성향 데이터를 포함할 수 있다. 여기서, 운전자 성향 데이터는 운전자의 선호도/성향 또는 이를 판단할 수 있는 데이터와 같이 사용자에게 의미있는 데이터를 가리킬 수 있다.
또한, 운전자 정보는 운전자 로깅 데이터를 포함할 수 있다. 예를 들어, 운전자와 시스템 간의 대화를 통해 획득된 사용자 관련 또는 주행 관련 정보를 저장부(140)에 저장할 수 있다.
한편, 음성 입력 처리기(111)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 출력하는 음성 인식기(111a), 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악하는 자연어 이해기(111b) 및 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전달하는 대화 입력 관리기(111c)를 포함할 수 있다.
음성 인식기(111a)는 음성 인식 엔진(speech recognition engine)을 포함하고, 음성 인식 엔진은 입력된 음성에 음성 인식 알고리즘을 적용하여 사용자가 발화한 음성을 인식하고, 인식 결과를 생성할 수 있다.
이 때, 입력된 음성은 음성 인식을 위한 더 유용한 형태로 변환될 수 있는바, 음성 신호로부터 시작 지점과 끝 지점을 검출하여 입력된 음성에 포함된 실제 음성 구간을 검출한다. 이를 EPD(End Point Detection)이라 한다.
그리고, 검출된 구간 내에서 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 입력된 음성의 특징 벡터를 추출할 수 있다.
그리고, 추출된 특징 벡터와 훈련된 기준 패턴과의 비교를 통하여 인식 결과를 얻을 수 있다. 이를 위해, 음성의 신호적인 특성을 모델링하여 비교하는 음향 모델(Acoustic Model) 과 인식 어휘에 해당하는 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델(Language Model)이 사용될 수 있다. 이를 위해, 저장부(140)에는 음향 모델/언어 모델 DB가 저장될 수 있다.
음향 모델은 다시 인식 대상을 특징 벡터 모델로 설정하고 이를 음성 데이터의 특징 벡터와 비교하는 직접 비교 방법과 인식 대상의 특징 벡터를 통계적으로 처리하여 이용하는 통계 방법을 나뉠 수 있다.
직접 비교 방법은 인식 대상이 되는 단어, 음소 등의 단위를 특징 벡터 모델로 설정하고 입력 음성이 이와 얼마나 유사한지를 비교하는 방법으로서, 대표적으로 벡터 양자화(Vector Quantization) 방법이 있다. 벡터 양자화 방법에 의하면 입력된 음성 데이터의 특징 벡터를 기준 모델인 코드북(codebook)과 매핑시켜 대표 값으로 부호화함으로써 이 부호 값들을 서로 비교하는 방법이다.
통계적 모델 방법은 인식 대상에 대한 단위를 상태 열(State Sequence)로 구성하고 상태 열 간의 관계를 이용하는 방법이다. 상태 열은 복수의 노드(node)로 구성될 수 있다. 상태 열 간의 관계를 이용하는 방법은 다시 동적 시간 와핑(Dynamic Time Warping: DTW), 히든 마르코프 모델(Hidden Markov Model: HMM), 신경 회로망을 이용한 방식 등이 있다.
동적 시간 와핑은 같은 사람이 같은 발음을 해도 신호의 길이가 시간에 따라 달라지는 음성의 동적 특성을 고려하여 기준 모델과 비교할 때 시간 축에서의 차이를 보상하는 방법이고, 히든 마르코프 모델은 음성을 상태 천이 확률 및 각 상태에서의 노드(출력 심볼)의 관찰 확률을 갖는 마르코프 프로세스로 가정한 후에 학습 데이터를 통해 상태 천이 확률 및 노드의 관찰 확률을 추정하고, 추정된 모델에서 입력된 음성이 발생할 확률을 계산하는 인식 기술이다.
한편, 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델은 언어를 구성하는 단위들 간의 순서 관계를 음성 인식에서 얻어진 단위들에 적용함으로써 음향적인 모호성을 줄이고 인식의 오류를 줄일 수 있다. 언어 모델에는 통계적 언어 모델과 유한 상태 네트워크(Finite State Automata: FSA)에 기반한 모델이 있고, 통계적 언어 모델에는 Unigram, Bigram, Trigram 등 단어의 연쇄 확률이 이용된다.
음성 인식기(111a)는 음성을 인식함에 있어 상술한 방식 중 어느 방식을 사용해도 무방하다. 예를 들어, 히든 마르코프 모델이 적용된 음향 모델을 사용할 수도 있고, 음향 모델과 음성 모델을 통합한 N-best 탐색법을 사용할 수 있다. N-best 탐색법은 음향 모델과 언어 모델을 이용하여 N개까지의 인식 결과 후보를 선택한 후, 이들 후보의 순위를 재평가함으로써 인식 성능을 향상시킬 수 있다.
음성 인식기(111a)는 인식 결과의 신뢰성을 확보하기 위해 신뢰값(confidence value)을 계산할 수 있다. 신뢰값은 음성 인식 결과에 대해서 그 결과를 얼마나 믿을 만한 것인가를 나타내는 척도이다. 일 예로, 인식된 결과인 음소나 단어에 대해서, 그 외의 다른 음소나 단어로부터 그 말이 발화되었을 확률에 대한 상대값으로 정의할 수 있다. 따라서, 신뢰값은 0 에서 1 사이의 값으로 표현할 수도 있고, 0 에서 100 사이의 값으로 표현할 수도 있다.
신뢰값이 미리 설정된 임계값(threshold)을 초과하는 경우에는 인식 결과를 출력하여 인식 결과에 대응되는 동작이 수행되도록 할 수 있고, 신뢰값이 임계값 이하인 경우에는 인식 결과를 거절(rejection)할 수 있다.
음성 인식기(111a)의 인식 결과인 텍스트 형태의 발화문은 자연어 이해기(111b)로 입력된다.
자연어 이해기(111b)는 자연어 이해 기술을 적용하여 발화문에 내포된 사용자의 의도를 파악할 수 있다. 따라서, 사용자는 자연스러운 대화(Dialogue)를 통해 명령을 입력할 수 있고, 대화 시스템(100) 역시 대화를 통해 명령의 입력을 유도하거나 사용자가 필요로 하는 서비스를 제공할 수 있다.
먼저, 자연어 이해기(111b)는 텍스트 형태의 발화문에 대해 형태소 분석을 수행한다. 형태소는 의미의 최소 단위로써, 더 이상 세분화할 수 없는 가장 작은 의미 요소를 나타낸다. 따라서, 형태소 분석은 자연어 이해의 첫 단계로서, 입력 문자열을 형태소열로 바꿔준다.
자연어 이해기(111b)는 형태소 분석 결과에 기초하여 발화문으로부터 도메인을 추출한다. 도메인은 사용자가 발화한 언어의 주제를 식별할 수 있는 것으로서, 예를 들어, 경로 안내, 날씨 검색, 교통 검색, 일정 관리, 주유 안내, 공조 제어 등의 다양한 주제를 나타내는 도메인이 데이터베이스화 되어 있다.
자연어 이해기(111b)는 발화문으로부터 개체명을 인식할 수 있다. 개체명은 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식은 문장에서 개체명을 식별하고 식별된 개체명의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다.
자연어 이해기(111b)는 발화문이 갖는 화행을 분석할 수 있다. 화행 분석은 사용자 발화에 대한 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등에 관한 발화의 의도를 파악하는 것이다.
자연어 이해기(111b)는 사용자의 발화 의도에 대응하는 액션을 추출한다. 발화문에 대응되는 도메인, 개체명, 화행 등의 정보에 기초하여 사용자의 발화 의도를 파악하고, 발화 의도에 대응되는 액션을 추출한다. 액션은 오브젝트(Object)와 오퍼레이터(Operator)에 의해 정의될 수 있다.
또한, 자연어 이해기(111b)는 액션 수행과 관련된 인자를 추출하는 것도 가능하다. 액션 수행과 관련된 인자는 액션을 수행하는데 직접적으로 필요한 유효 인자일 수도 있고, 이러한 유효 인자를 추출하기 위해 사용되는 비유효 인자일 수도 있다.
자연어 이해기(111b)는 파스트리(Parse-tree)와 같이 단어와 단어, 문장과 문장의 수식 관계를 표현할 수 있는 수단도 추출할 수 있다.
자연어 이해기(111b)의 처리 결과인, 형태소 분석 결과, 도메인 정보, 액션 정보, 화행 정보, 추출된 인자 정보, 개체명 정보, 파스트리 등은 대화 입력 관리기(111c)로 전달된다.
상황 정보 처리기(112)는 음성 외 입력 장치(220)와 차량 제어기(240)로부터 정보를 수집하는 상황 정보 수집기(112a), 상황 정보의 수집을 관리하는 상황 정보 수집 관리기(112b) 및 자연어 이해 결과와 수집된 상황 정보에 기초하여 상황을 이해하는 상황 이해기(112c)를 포함할 수 있다.
입력 처리기(110)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.
또한, 입력 처리기(110)에 포함되는 음성 입력 처리기(111)와 상황 정보 처리기(112)는 동일한 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.
도 4은 대화 관리기의 구성이 세분화된 제어 블록도이다.
도 4을 참조하면, 대화 관리기(120)는 대화 또는 액션을 생성/삭제/업데이트하도록 요청하는 대화 흐름 관리기(121), 대화 흐름 관리기(121)의 요청에 따라 대화 또는 액션을 생성/삭제/업데이트하는 대화 액션 관리기(122), 상황에 대한 모호성과 대화에 대한 모호성을 해결하여 궁극적으로 사용자의 의도를 명확히 하는 모호성 해결기(123), 액션 수행에 필요한 인자를 관리하는 인자 관리기(124), 복수의 후보 액션들에 대해 액션 수행 가부를 판단하고, 이들의 우선 순위를 결정하는 액션 우선순위 결정기(125) 및 외부 컨텐츠 목록 및 관련 정보를 관리하고 외부 컨텐츠 쿼리에 필요한 인자 정보를 관리하는 외부 정보 관리기(126)를 포함할 수 있다.
대화 관리기(120)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.
또한, 대화 관리기(120)에 포함되는 각각의 구성요소들이 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.
또한, 대화 관리기(120)와 입력 처리기(110) 역시 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.
대화 입력 관리기(111a)의 출력인 자연어 이해 결과(자연어 이해기의 출력)와 상황 정보(상황 이해기의 출력)는 대화 흐름 관리기(121)로 입력된다. 자연어 이해기(111b)의 출력은 도메인, 액션 등의 정보 외에도 형태소 분석 결과와 같은 사용자의 발화 내용 자체에 대한 정보도 포함한다. 상황 이해기(112c)의 출력은 상황 정보 외에도 상황 정보 수집 관리기(112b)에서 판단한 이벤트도 포함할 수 있다.
대화 흐름 관리기(121)는 대화 입력 관리기(111a)로부터의 입력에 대응되는 대화 태스크 또는 액션 태스크가 대화/액션 DB(147)에 존재하는지 검색한다.
대화/액션 DB(147)는 대화의 상태와 액션의 상태를 관리하기 위한 저장 공간으로서, 현재 진행 중인 대화, 액션들과 앞으로 진행할 예비 액션들에 대한 대화 상태 및 액션 상태를 저장할 수 있다. 예를 들어, 종료된 대화/액션, 정지된 대화/액션, 진행 중인 대화/액션, 진행될 대화/액션의 상태가 저장될 수 있다.
또한, 액션의 스위칭/네스팅 여부, 스위칭된 액션 인덱스, 액션 변경 시간, 화면/음성/명령어 등의 마지막 출력 상태 등을 저장할 수 있다.
또 다른 예로, 사용자 발화가 입력되고, 대화 흐름 관리기(121)가 사용자 발화에 대응되는 도메인과 액션이 추출되지 않은 경우에는, 임의의 태스크를 생성하거나, 가장 최근에 저장된 태스크를 참조하도록 대화 액션 생성기에 요청할 수 있다.
대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크 또는 액션 태스크가 존재하지 않으면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)에 새로운 대화 태스크와 액션 태스크를 생성하도록 요청한다.
대화 흐름 관리기(121)가 대화의 흐름을 관리함에 있어서, 대화 정책 DB(148)를 참조할 수 있다. 대화 정책 DB(148)는 대화를 전개하기 위한 정책을 저장하며, 구체적으로 대화를 선택/시작/제안/정지/종료하기 위한 정책을 저장한다.
또한, 대화 정책 DB(148)는 시스템이 응답을 출력하는 시점과 방법론에 대한 정책도 저장할 수 있으며, 다수의 서비스를 연계하여 응답을 만드는 정책과 기존의 액션을 삭제하고 다른 액션으로 교체하기 위한 정책을 저장할 수 있다.
예를 들어, 후보 액션이 복수이거나, 사용자의 의도나 상황에 대응되는 액션이 복수일 때(A 액션, B액션), "A 액션을 수행하고 B 액션을 수행하겠습니까?"와 같이 두 액션에 대한 응답을 한 번에 생성하는 정책과, "A액션을 수행합니다" "B액션을 수행할까요?"와 같이 하나의 액션에 대한 응답을 생성한 이후에, B 액션에 대해서도 별도의 응답을 생성하는 정책이 모두 가능하다.
또한, 대화 정책 DB(147)는 후보 액션들 간의 우선 순위를 결정하는 정책도 저장할 수 있다.
대화 액션 관리기(122)는 대화/액션 DB(147)에 저장 공간을 할당하여, 입력 처리기(110)의 출력에 대응되는 대화 태스크와 액션 태스크를 생성한다.
한편, 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우, 대화 액션 관리기(122)는 임의의 대화 상태를 생성할 수 있다. 이 경우, 후술하는 바와 같이, 모호성 해결기(123)가 사용자의 발화 내용, 주변 상황, 차량 상태, 운전자 정보 등에 기초하여 사용자의 의도를 파악하고 이에 대응되는 적절한 액션을 판단할 수 있다.
대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크와 액션 태스크가 존재하면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)가 해당 대화 태스크와 액션 태스크를 참조하도록 요청한다.
인자 관리기(124)는 액션 인자 DB(146a)에서 각 후보 액션을 수행하는데 사용되는 인자(이하, 액션 인자라 한다.)를 검색할 수 있다.
인자 관리기(124)는 모든 후보 액션의 인자 값을 획득하는 것도 가능하고, 액션 우선순위 결정기(125)에서 수행이 가능한 것으로 판단된 후보 액션의 인자 값만 획득하는 것도 가능하다.
또한, 인자 관리기(124)는 동일한 정보를 나타내는 다양한 종류의 인자 값을 선택적으로 사용할 수 있다.
인자 관리기(124)는 액션 인자 DB(146a)에서 검색한 인자의 인자 값을 해당 참조 위치에서 가져온다. 인자 값을 가져올 수 있는 참조 위치는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144), 대화/액션 상태 DB(147) 및 외부 컨텐츠 서버(300) 중 적어도 하나일 수 있다.
인자 관리기(124)가 외부 컨텐츠 서버(300)로부터 인자 값을 가져오는 경우에는, 외부 정보 관리기(126)를 통할 수 있다.
액션 우선순위 결정기(125)는 연관 액션 DB(146b)에서 입력 처리기(110)의 출력에 포함된 액션 또는 이벤트와 연관된 액션 목록을 검색하여 후보 액션을 추출한다.
예를 들어, 연관 액션 DB(146b)는 상호 연관된 액션들과 그들 사이의 관계 및 이벤트와 연관된 액션과 그들 사이의 관계를 나타낼 수 있다. 예를 들어, 길안내, 유고 정보의 분류, 우회 도로 검색, 포인트 안내와 같은 액션이 연관된 액션으로 분류될 수 있고, 이들의 관계는 상호 연계에 해당할 수 있다.
액션 우선순위 결정기(125)는 액션 수행 조건 DB(146c)에서 각각의 후보 액션을 수행하기 위한 조건을 검색한다.
액션 우선순위 결정기(125)는 후보 액션의 수행 조건을 대화 액션 관리기(122)로 전달하고, 대화 액션 관리기(122)는 각 후보 액션 별 액션 수행 조건을 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다.
액션 우선순위 결정기(125)는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)에서 액션 수행 조건 판단을 위해 필요한 인자(이하, 조건 판단 인자라 한다)를 검색하고, 검색된 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다.
액션 수행 조건 판단을 위해 사용되는 인자가 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)에 저장되지 않은 경우, 외부 정보 관리기(126)를 통해 외부 서버(400) 또는 운전자 정보 처리 서버(310)으로부터 필요한 인자를 가져올 수 있다.
외부 정보 관리기(126)는 외부 서비스 집합 DB(146d)를 참조하여 어디에서 정보를 가져올 지 판단할 수 있다.
외부 정보 관리기(126)는 액션 수행 조건 판단을 위해 사용되는 인자가 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)에 저장되지 않은 경우, 외부 서버(400)로부터 필요한 인자를 가져올 수 있다.
외부 서비스 집합 DB(146d)는 대화 시스템(100)과 연계된 외부 컨텐츠 서버에 대한 정보를 저장한다. 예를 들어, 외부 서비스 명칭, 외부 서비스 에 대한 설명, 외부 서비스 가 제공하는 정보의 타입, 외부 서비스 사용 방법, 외부 서비스 의 제공 주체 등에 대한 정보를 저장할 수 있다.
인자 관리기(124)가 획득한 인자 값은 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 각 후보 액션 별 인자 값을 액션 상태에 추가하여 대화/액션 상태 DB(147)를 업데이트 한다.
한편, 대화나 상황에 모호성이 없는 경우에는 전술한 액션 우선순위 결정기(125), 인자 관리기(124) 및 외부 정보 관리기(126)의 동작에 따라 필요한 정보를 얻고 대화와 액션을 관리할 수 있다. 그러나, 대화나 상황에 모호성이 있는 경우에는 액션 우선순위 결정기(125), 인자 관리기(124) 및 외부 정보 관리기(126)의 동작만으로는 사용자에게 필요한 적절한 서비스를 제공하기 어렵다.
이러한 경우, 모호성 해결기(123)가 대화에 대한 모호성 또는 상황에 대한 모호성을 해결할 수 있다. 예를 들어, 대화에 그 사람, 어제 거기, 아빠, 엄마, 할머니, 며느리 등과 같은 조응어가 포함되어 무엇을 지칭하는지 모호한 경우에 모호성 해결기(123)가 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)를 참조하여 이러한 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다.
예를 들어, "어제 거기", "집 근처 A마트", "방금" 등과 같이 대화에 포함된 모호한 단어가 액션 인자의 인자 값이거나 조건 판단 인자의 인자 값에 해당할 수 있다. 그러나, 이 경우, 해당 단어 자체만으로는 그 모호성으로 인해 실제로 액션을 수행하거나 액션 수행 조건을 판단할 수가 없다.
모호성 해결기(123)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장된 정보를 참조하여 인자 값의 모호성을 해결할 수 있다. 또는, 필요에 따라 외부 정보 관리기(126)를 이용하여 외부 컨텐츠 서버(300)로부터 필요한 정보를 가져오는 것도 가능하다.
또한, 입력 처리기(110)에서 액션(오브젝트, 오퍼레이터)이 명확하게 추출되지 않거나 사용자의 의도가 모호한 상황에서, 모호성 해결기(123)가 모호성 해소 정보 DB(146e)를 참조하여 사용자의 의도를 파악하고, 이에 대응되는 액션을 결정하는 것도 가능하다.
전술한 대화 관리기(120)가 대화 정책을 수립하고, 인자에 필요한 정보를 습득하면, 대화 흐름 관리기(121)는 결정된 대화 및 출력 신호를 결과 처리기(130)로 전달한다.
도 5는 결과 처리기의 구성을 세분화한 제어 블록도이고, 도 6 및 도 7는 경로 안내 방식 결정기(137) 및 주행 성향 분석기(138)에 의한 결과 처리기(130)의 응답을 나타내는 도면이다.
도 5를 참조하면, 결과 처리기(130)는 대화 관리기(120)로부터 입력된 액션을 수행하기 위해 필요한 응답의 생성을 관리하는 응답 생성 관리기(131), 응답 생성 관리기(131)의 요청에 따라 텍스트 응답, 이미지 응답 또는 오디오 응답을 생성하는 대화 응답 생성기(132), 응답 생성 관리기(131)의 요청에 따라 차량 제어를 위한 명령어 또는 외부 컨텐츠를 이용한 서비스를 제공하기 위한 명령어를 생성하는 명령어 생성기(136), 운전자 정보 및 주행 환경 정보 중 적어도 하나에 기초하여 최소한의 안내를 제공하는지, 상세한 안내를 제공하는지를 결정하는 안내 빈도를 결정하는 경로 안내 방식 결정기(137), 최단 경로를 제공하는지, 최소 시간 경로를 제공하는지를 결정하는 주행 성향 분석기(138), 사용자가 원하는 서비스를 제공하기 위해 다수의 서비스를 순차적 또는 산발적으로 실행하고 결과값을 취합해주는 서비스 편집기(134), 생성된 텍스트 응답, 이미지 응답 또는 오디오 응답을 출력하거나 명령어 생성기(136)가 생성한 명령어를 출력하고, 출력이 복수인 경우에는 출력 순서를 결정하는 출력 관리기(133), 응답 생성 관리기(131)와 출력 관리기(133)의 출력에 기초하여 장기 메모리(143)와 단기 메모리(144)를 관리하는 메모리 관리기(135)를 포함한다.
결과 처리기(130)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.
또한, 결과 처리기(130)에 포함되는 각각의 구성요소들이 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.
또한, 결과 처리기(130)와, 대화 관리기(120) 및 입력 처리기(110) 역시 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.
사용자의 발화나 차량의 주행 상황에 대응하여 출력되는 응답은 대화 응답, 차량 제어, 외부 컨텐츠 제공 등을 포함할 수 있다.
대화 응답은 초기 대화, 질의, 정보 제공을 포함하는 답변 등의 형식을 가질 수 있고 응답 템플릿(149)에 데이터베이스화되어 저장될 수 있다.
외부 컨텐츠 제공과 관련해서, 결과 처리기(130)는 운전자 정보 처리 서버(310) 또는 외부 서버(400)로 분류된 주행 환경 정보를 전달할 수 있다.
응답 생성 관리기(131)는 대화 응답 생성기(132)와 명령어 생성기(136)에 대화 관리기(120)에서 결정된 액션을 수행하기 위해 필요한 응답의 생성을 요청한다. 이를 위해, 수행될 액션에 관한 정보를 대화 응답 생성기(132)와 명령어 생성기(136)에 전송할 수 있고, 수행될 액션에 관한 정보는 액션명, 인자 값 등을 포함할 수 있다. 응답을 생성함에 있어, 대화 응답 생성기(132)와 명령어 생성기(136)는 현재 대화 상태와 액션 상태를 참조할 수 있다.
대화 응답 생성기(132)는 응답 템플릿(149)을 검색하여 대화 응답 서식을 추출할 수 있고, 추출된 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다. 생성된 대화 응답은 응답 생성 관리기(131)로 전달된다. 대화 응답 생성에 필요한 인자 값이 대화 관리기(120)로부터 전달되지 않거나, 외부 컨텐츠를 이용하라는 지시가 전달된 경우에는 외부 컨텐츠 서버(300)로부터 제공받거나 장기 메모리(143), 단기 메모리(144) 또는 상황 정보 DB(142)에서 검색할 수 있다.
명령어 생성기(136)는 사용자의 발화나 상황에 대한 응답이 차량 제어 또는 외부 컨텐츠 제공을 포함하는 경우, 이를 실행하기 위한 명령어를 생성한다. 예를 들어, 대화 관리기(120)에서 결정된 액션이 유고 정보의 등급 분류인 경우에 해당 제어를 실행하기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다.
또는, 대화 관리기(120)에서 결정된 액션이 외부 컨텐츠의 제공을 필요로 하는 경우에는 운전자 정보 처리 서버(310)로부터 유고 정보의 등급을 분류하기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다.
명령어 생성기(136)에서 생성한 명령어가 복수인 경우, 서비스 편집기(134)가 복수의 명령어를 실행하는 방법과 순서를 결정하여 응답 생성 관리기(131)에 전달한다.
응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 출력 관리기(133)에 전달한다.
출력 관리기(133)는 대화 응답 생성기(132)가 생성한 대화 응답과 명령어 생성기(136)가 생성한 명령어의 출력 타이밍, 출력 순서, 출력 위치 등을 결정한다.
출력 관리기(133)는 응답 생성기(132)가 생성한 대화 응답과 명령어 생성기(136)가 생성한 명령어를 적절한 타이밍에 적절한 순서로 적절한 출력 위치에 전송하여 응답을 출력한다. TTS(Text to Speech) 응답은 스피커(232)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(231)를 통해 출력할 수 있다. 대화 응답을 TTS 형태로 출력하는 경우에는 차량(200)에 마련된 TTS 모듈을 이용하거나 출력 관리기(133)가 TTS 모듈을 포함할 수도 있다.
명령어는 그 제어 대상에 따라 차량 제어기(240)로 전송될 수도 있고, 외부 서버(400)와 통신하기 위한 통신 장치(280)로 전송될 수도 있다.
응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 메모리 관리기(135)에도 전달할 수 있다.
또한, 출력 관리기(133)도 자신이 출력한 응답을 메모리 관리기(135)에 전달할 수 있다.
메모리 관리기(135)는 응답 생성 관리기(131) 및 출력 관리기(133)로부터 전달받은 내용에 기초하여 장기 메모리(143)와 단기 메모리(144)를 관리한다. 예를 들어, 메모리 관리기(135)는 생성 및 출력된 대화 응답에 기초하여 사용자와 시스템 간 대화 내용을 저장하여 단기 메모리(144)를 업데이트할 수 있고, 사용자와의 대화를 통해 획득된 사용자 관련 정보를 저장하여 장기 메모리(143)를 업데이트할 수 있다.
또한, 단기 메모리(144)에 저장된 정보 중 사용자의 성향이나 선호도와 같이 의미 있고 영속성이 있는 정보 또는 이러한 정보를 획득하는데 사용될 수 있는 정보를 장기 메모리(143)에 저장할 수도 있다.
또한, 생성 및 출력된 명령어에 대응되는 차량 제어나 외부 컨텐츠 요청에 기초하여 장기 메모리(143)에 저장된 사용자의 선호도나 차량 제어 이력 등을 업데이트할 수도 있다.
전술한 대화 시스템(100)에 의하면, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다.
경로 안내 방식 결정기(137)는 운전자에 관련된 각종 데이터 또는 주행 환경에 관한 각종 데이터에 기초하여 주행 경로 및 경로 안내 방식을 변경할 수 있다. 여기서, 경로 안내 방식은 운전자에게 최소한의 음성 및 화면을 제공하는 최소 안내, 운전자에게 목적지에 도달하는 동안에 모든 정보를 제공하는 상세 안내 및 운전자의 선택에 따라 안내 방식을 선택하도록 하는 제안 안내를 포함한다. 여기서, 결정된 안내 방식은 AVN 장치(250)로 전달되어 제1 내비게이션 안내로 운전자에게 제공될 수 있다.
일 실시예에 따른 결과 처리기(130)는 운전자 일정 데이터를 반영하여 제1 내비게이션 안내에서 제2 내비게이션 안내로 변경할 수 있다. 여기서, 운전자 일정 데이터는 운전자의 일정, 현재/이전 위치 등으로 고려한 운전자의 스케쥴에 관한 정보이다. 또한, 결과 처리기(130)는 운전자 일정 데이터를 반영하여 제1 주행 경로에서 제2 주행 경로로 변경할 수 있따. 예를 들어, 운전자 일정 데이터를 처리한 결과, 현재로부터 목적지에 도착할 때까지의 잔여 시간이 부족한 경우, 차량이 주행 예정인 복수의 주행 경로 중에서 신호등이 가장 적은 제2 주행 경로로 변경할 수 있다.
다른 실시예에서, 결과 처리기(130)는 운전자 로깅 데이터를 처리한 결과, AVN 장치에 입력된 목적지가 운전자 로깅 데이터에 포함되지 않은 경우, 제1 내비게이션 안내에서 안내 빈도가 증가된 제2 내비게이션 안내로 변경할 수 있다. 이는 운전자가 초행길을 주행하는 경우, 상세한 안내가 필요한 것을 반영한 것이다. 이와는 반대로 결과 처리기(130)는 운전자 데이터를 처리한 결과, AVN 장치에 입력된 목적지가 운전자 로깅 데이터에 포함된 경우, 내비게이션 안내의 안내 빈도를 감소시킬 수 있다.
결과 처리기(130)는 운전자가 AVN 장치(250)에서 제공되는 주행 경로와는 다른 주행 경로를 택하여 주행하는 것을 고려하여 주행 경로의 우선 순위를 변경할 수 있다. 이를 위하여, 결과 처리기(130)는 운전자 로깅 데이터를 처리하고, AVN 장치가 안내하는 주행 경로인 제1 주행 경로를 다른 주행 경로인 제2 주행 경로로 변경할 수 있다. 여기서, 제2 주행 경로는 운전자가 임의로 주행하는 주행 경로이다. 결과 처리기(130)는 운전자가 제2 주행 경로로 주행하는 것을 미리 정해진 횟수 이상 감지하면, AVN 장치가 자동으로 제2 주행 경로로 안내하도록 처리한다.
또한, 결과 처리기(130)는 주행 환경 정보에 기초하여 AVN 장치(250)에서 제공되는 주행 경로를 변경할 수 있다. 여기서, 주행 환경 정보는 교통 상황 정보, 사고 정보 및 날씨 정보를 포함한다. 예를 들어, 현재의 날씨가 비가 오는 것으로 판단되면, AVN 장치(250)가 제공하는 주행 경로는 직진 위주로 구성된 안전한 경로를 제공할 수 있다. 구체적으로, 결과 처리기(130)는 날씨 정보를 처리한 결과, 현재의 강수량이 미리 정해진 임계치를 초과하면 대부분이 직진 도로로 구성되는 주행 경로를 운전자에게 제공하도록 처리할 수 있다.
도 8은 본 발명의 일 실시예에 따른 대화 시스템(100)이 구비된 차량의 제어 방법의 순서도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
먼저, AVN 장치(250)는 운전자에게 목적지에 대한 주행 경로 및 내비게이션 안내를 제공하기 위하여 목적지에 대한 사용자 입력을 수신한다(801). 이 때, AVN 장치(250)는 운전자에게 맞는 주행 경로 및 내비게이션 안내를 제공하기 위하여 주행 성향 분석하고(802), 운전자의 주행 성향에 기초하여 경로 안내 방식 결정한다(803).
802, 803 단계를 통하여 경로 안내 방식이 결정되어도, 운행 도중에 사용자의 상태 변화를 감지하면(804), 경로 안내 방식이 변경될 수 있다.
만약, 사용자의 상태 변화를 감지하지 못하면, 기존에 결정된 경로 안내 방식을 유지한다(805). 반대로, 사용자의 상태 변화를 감지하면, 기존에 결정된 경로 안내 방식이 변경될 수 있다(806).
기존에 결정된 또는 변경된 경로 안내 방식에 따라 AVN 장치(250)는 사용자에게 목적지까지의 적어도 하나의 주행 경로와 이를 시각적 또는 청각적으로 정보를 제공하는 내비게이션 안내를 제공할 수 있다.
도 9는 대화 시스템(100)과 운전자 사이에 주고 받을 수 있는 대화의 예시를 나타낸 도면이다. 개시된 발명에 따른 대화 시스템(100)에 의하면 음성 대화를 통해 사용자로부터 안내 빈도의 정도를 수신할 수 있다.
예를 들어, 대화 시스템(100)은 AVN 장치의 안내 빈도를 제안하는 발화(S1: 감사합니다. 다음은 제가 얼마나 자주 정보를 알려드릴지를 결정해주세요. S2: 질문에 답을 하면서 사용자님께서 필요하실 정보를 먼저 제안해드려도 괜찮을까요?)를 출력할 수 있다.
대화 시스템(100)은 안내 빈도를 제안하는 발화에 응답한 운전자의 발화(U1: 그래.)를 수신할 수 있다. 이처럼, 주행 경로를 안내하는 음성도 대화 시스템(100)을 통해 출력될 수 있고, 대화 시스템(100)은 주행 성향 분석기 또는 경로 안내 결정기에 연동되어 경로 안내 방식을 결정할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.

Claims (20)

  1. 제1 주행 경로를 설정하고, 상기 제1 주행 경로에 기초한 제1 내비게이션 안내를 실행하도록 차량에 마련된 AVN(Audio Video Navigation) 장치;
    상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 운전자 정보를 저장하는 저장부; 및
    상기 운전자 정보에 기초하여 상기 제1 주행 경로를 제2 주행 경로로 변경하고, 상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 결과 처리기;를 포함하는 차량.
  2. 제 1 항에 있어서,
    상기 결과 처리기는,
    상기 운전자 정보에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경하는 차량.
  3. 제 1 항에 있어서,
    상기 운전자 정보는,
    운전자 일정 데이터, 운전자 성향 데이터 및 운전자 로깅 데이터 중 적어도 하나를 포함하는 차량.
  4. 제 3 항에 있어서,
    상기 결과 처리기는,
    상기 운전자 일정 데이터를 처리한 결과, 현재로부터 목적지에 도착할 때까지의 잔여 시간이 부족한 경우, 상기 차량이 주행 예정인 복수의 주행 경로 중에서 신호등이 가장 적은 상기 제2 주행 경로로 변경하는 차량.
  5. 제 3 항에 있어서,
    상기 결과 처리기는,
    상기 운전자 로깅 데이터를 처리한 결과, 상기 AVN 장치에 입력된 목적지가 상기 운전자 로깅 데이터에 포함되지 않은 경우, 상기 제1 내비게이션 안내에서 안내 빈도가 증가된 제2 내비게이션 안내로 변경하는 차량.
  6. 제 3 항에 있어서,
    상기 결과 처리기는,
    상기 운전자 로깅 데이터를 처리한 결과, 특정 목적지에 대한 상기 제1 주행 경로는 상기 AVN 장치가 안내하는 주행 경로이고, 상기 특정 목적지에 대한 상기 제2 주행 경로는 운전자가 임의로 주행하는 주행 경로이고, 상기 제2 주행 경로가 미리 정해진 횟수 이상으로 누적되면 상기 AVN 장치가 자동으로 상기 제2 주행 경로로 안내하도록 처리하는 차량.
  7. 제 1 항에 있어서,
    안내 빈도를 포함하는 내비게이션 안내 방식을 추출하는 입력 처리기;를 더 포함하고,
    상기 결과 처리기는,
    상기 안내 빈도에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경하는 차량.
  8. 제 1 항에 있어서,
    상기 저장부는,
    상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 주행 환경 정보를 저장하고,
    상기 결과 처리기는,
    상기 주행 환경 정보에 기초하여 상기 제1 주행 경로를 상기 제2 주행 경로로 변경하는 차량.
  9. 제 8 항에 있어서,
    상기 주행 환경 정보는,
    교통 상황 정보, 사고 정보 및 날씨 정보 중 적어도 하나를 포함하는 차량.
  10. 제 9 항에 있어서,
    상기 결과 처리기는,
    상기 날씨 정보를 처리한 결과, 현재의 강수량이 미리 정해진 임계치를 초과하면 상기 차량이 직진 위주의 주행을 할 수 있도록 하는 경로인 상기 제2 주행 경로로 변경하는 차량.
  11. 제1 주행 경로를 설정하고, 상기 제1 주행 경로에 기초한 제1 내비게이션 안내를 생성하는 단계;
    상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 운전자 정보를 저장하는 단계; 및
    상기 운전자 정보에 기초하여 상기 제1 주행 경로를 제2 주행 경로로 변경하고, 상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계;를 포함하는 차량의 제어 방법.
  12. 제 11 항에 있어서,
    상기 운전자 정보에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경하는 단계;를 더 포함하는 차량의 제어 방법
  13. 제 11 항에 있어서,
    상기 운전자 정보는,
    운전자 일정 데이터, 운전자 성향 데이터 및 운전자 로깅 데이터 중 적어도 하나를 포함하는 차량의 제어 방법.
  14. 제 13 항에 있어서,
    상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는,
    상기 운전자 일정 데이터를 처리한 결과, 현재로부터 목적지에 도착할 때까지의 잔여 시간이 부족한 경우, 상기 차량이 주행 예정인 복수의 주행 경로 중에서 신호등이 가장 적은 상기 제2 주행 경로로 변경하는 단계;를 포함하는 차량의 제어 방법.
  15. 제 13 항에 있어서,
    상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는,
    상기 운전자 로깅 데이터를 처리한 결과, 상기 AVN 장치에 입력된 목적지가 상기 운전자 로깅 데이터에 포함되지 않은 경우, 상기 제1 내비게이션 안내에서 안내 빈도가 증가된 제2 내비게이션 안내로 변경하는 단계;를 포함하는 차량의 제어 방법.
  16. 제 13 항에 있어서,
    상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는,
    상기 운전자 로깅 데이터를 처리한 결과, 특정 목적지에 대한 상기 제1 주행 경로는 상기 AVN 장치가 안내하는 주행 경로이고, 상기 특정 목적지에 대한 상기 제2 주행 경로는 운전자가 임의로 주행하는 주행 경로이고, 상기 제2 주행 경로가 미리 정해진 횟수 이상으로 누적되면 상기 AVN 장치가 자동으로 상기 제2 주행 경로로 안내하도록 처리하는 단계;를 포함하는 차량의 제어 방법.
  17. 제 11 항에 있어서,
    운전자의 발화에 대응되고, 안내 빈도를 포함하는 내비게이션 안내 방식을 추출하는 단계; 및
    상기 안내 빈도에 기초하여 상기 제1 내비게이션 안내를 제2 내비게이션 안내로 변경하는 단계;를 더 포함하는 차량의 제어 방법.
  18. 제 11 항에 있어서,
    상기 제1 주행 경로 및 상기 제1 내비게이션 안내 중 적어도 하나를 변경하기 위한 주행 환경 정보를 저장하는 단계; 및
    상기 주행 환경 정보에 기초하여 상기 제1 주행 경로를 상기 제2 주행 경로로 변경하는 단계;를 더 포함하는 차량의 제어 방법.
  19. 제 18 항에 있어서,
    상기 주행 환경 정보는,
    교통 상황 정보, 사고 정보 및 날씨 정보 중 적어도 하나를 포함하는 차량의 제어 방법.
  20. 제 19 항에 있어서,
    상기 제2 주행 경로에 관한 정보를 상기 AVN 장치로 전달하는 단계는,
    상기 날씨 정보를 처리한 결과, 현재의 강수량이 미리 정해진 임계치를 초과하면 상기 차량이 직진 위주의 주행을 할 수 있도록 하는 경로인 상기 제2 주행 경로로 변경하는 단계;를 더 포함하는 차량의 제어 방법.
KR1020190012985A 2019-01-31 2019-01-31 대화 시스템이 구비된 차량 및 그 제어 방법 KR20200095636A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190012985A KR20200095636A (ko) 2019-01-31 2019-01-31 대화 시스템이 구비된 차량 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190012985A KR20200095636A (ko) 2019-01-31 2019-01-31 대화 시스템이 구비된 차량 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20200095636A true KR20200095636A (ko) 2020-08-11

Family

ID=72048358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190012985A KR20200095636A (ko) 2019-01-31 2019-01-31 대화 시스템이 구비된 차량 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR20200095636A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114291008A (zh) * 2020-10-07 2022-04-08 丰田自动车株式会社 车辆用智能体装置、车辆用智能体系统以及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114291008A (zh) * 2020-10-07 2022-04-08 丰田自动车株式会社 车辆用智能体装置、车辆用智能体系统以及计算机可读存储介质

Similar Documents

Publication Publication Date Title
KR102414456B1 (ko) 대화 시스템, 이를 포함하는 차량 및 유고 정보 처리 방법
KR102426171B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 서비스 처리 방법
KR102338990B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR102562227B1 (ko) 대화 시스템, 그를 가지는 차량 및 차량의 제어 방법
US10950233B2 (en) Dialogue system, vehicle having the same and dialogue processing method
KR20200001188A (ko) 대화 시스템, 그를 가지는 차량 및 차량의 제어 방법
US11443747B2 (en) Artificial intelligence apparatus and method for recognizing speech of user in consideration of word usage frequency
KR20180075050A (ko) 대화 처리 장치, 이를 포함하는 차량 및 대화 처리 방법
US10861460B2 (en) Dialogue system, vehicle having the same and dialogue processing method
KR20190131741A (ko) 대화 시스템 및 대화 처리 방법
KR20200098079A (ko) 대화 시스템 및 대화 처리 방법
KR20200000155A (ko) 대화 시스템 및 이를 이용한 차량
KR20200000604A (ko) 대화 시스템 및 대화 처리 방법
US11004450B2 (en) Dialogue system and dialogue processing method
KR102403355B1 (ko) 차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법
KR102487669B1 (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR20200006738A (ko) 대화 시스템 및 대화 처리 방법
US11783806B2 (en) Dialogue system and dialogue processing method
KR102448719B1 (ko) 대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법
KR20200095636A (ko) 대화 시스템이 구비된 차량 및 그 제어 방법
CN110562260A (zh) 对话系统和对话处理方法
US20230315997A9 (en) Dialogue system, a vehicle having the same, and a method of controlling a dialogue system
KR20200000621A (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR20200123495A (ko) 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
KR20210120286A (ko) 대화 시스템, 그를 가지는 차량 및 대화 시스템의 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal