KR102448719B1 - Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method - Google Patents
Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method Download PDFInfo
- Publication number
- KR102448719B1 KR102448719B1 KR1020170120222A KR20170120222A KR102448719B1 KR 102448719 B1 KR102448719 B1 KR 102448719B1 KR 1020170120222 A KR1020170120222 A KR 1020170120222A KR 20170120222 A KR20170120222 A KR 20170120222A KR 102448719 B1 KR102448719 B1 KR 102448719B1
- Authority
- KR
- South Korea
- Prior art keywords
- vehicle
- action
- user
- destination
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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/03—Electric 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 supply of electrical power to vehicle subsystems or for
- B60R16/0315—Electric 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 supply of electrical power to vehicle subsystems or for using multiplexing techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
- G01C21/3608—Destination input or retrieval using speech input, e.g. using speech recognition
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3626—Details of the output of route guidance instructions
- G01C21/3661—Guidance output on an external device, e.g. car radio
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automatic Assembly (AREA)
- Navigation (AREA)
Abstract
개시된 발명은 대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법에 관한 것으로서, 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받는 입력 처리기; 차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부; 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 목적지까지의 경로 안내를 예약하거나 또는 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및 대화 관리기에서 결정된 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함할 수 있다.The disclosed invention relates to a conversation system and a method for processing a conversation with a vehicle and a mobile device including the same, comprising: an input processor for receiving utterances including a destination input by a user; a storage unit configured to store vehicle status information including short-distance communication connection status information between the vehicle and the mobile device and whether the vehicle is started; a conversation manager that determines whether the user's location is outside the vehicle based on the information stored in the storage unit, and determines an action to reserve a route guide to the destination or output route guide to the destination according to the determination result; and a result processor for generating a response for performing the action determined in the conversation manager.
Description
대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법에 관한 것이다.It relates to a conversation system, a vehicle and a mobile device including the same, and a conversation processing method.
차량용 내비게이션이나 대부분의 모바일 기기는 작은 화면 및 작은 버튼으로 인해, 사용자에게 시각적인 정보를 제공하거나 사용자의 입력을 수신함에 있어 불편함이 발생할 수 있다. In car navigation systems or most mobile devices, due to a small screen and small buttons, inconvenience may occur in providing visual information to a user or receiving a user's input.
특히, 사용자가 운전 중 시각적인 정보를 확인하거나 기기를 조작하기 위해, 시선을 이동시키고 스티어링 휠에서 손을 떼는 것은 안전 운전에 위협이 되는 요소로 작용한다. In particular, moving the user's gaze and taking their hands off the steering wheel in order to check visual information or operate devices while driving acts as a threat to safe driving.
따라서, 사용자와의 대화를 통해 사용자의 의도를 파악하고, 사용자에게 필요한 서비스를 제공하는 대화 시스템이 차량에 적용될 경우 보다 안전하고 편리하게 서비스를 제공할 수 있을 것으로 기대된다.Therefore, it is expected that a conversation system that understands the user's intention through conversation with the user and provides a service required for the user is applied to a vehicle to provide a service more safely and conveniently.
한편, 사용자가 길 안내를 비롯하여 차량에서 제공받을 수 있는 서비스를 요청하는 경우, 사용자의 차량 승차 상태 또는 차량 하차 상태에 따라 제공되는 서비스가 서로 차이가 있어야 하지만, 현재 이러한 점을 고려하지 않고 차량의 승하차에 관계없이 획일적인 서비스가 제공되고 있는 실정이다.On the other hand, when a user requests a service that can be provided from the vehicle, including road guidance, the services provided must be different depending on the user's vehicle riding state or vehicle getting off state. A uniform service is being provided regardless of getting on or off.
이에, 사용자의 차량 탑승 여부가 고려된 차량과 관련된 대화 인식 서비스가 제공될 필요가 요구되고 있다.Accordingly, there is a need to provide a conversation recognition service related to a vehicle in which the user's vehicle boarding is considered.
[특허문헌][Patent Literature]
한국공개특허문헌 2013-0035983 Korean Patent Publication 2013-0035983
개시된 실시예는 사용자의 차량 탑승 여부를 고려하여 길 안내 서비스를 차별화 제공하기 위한 대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법을 제공하고자 한다. The disclosed embodiment is intended to provide a dialogue system for providing a differentiated route guidance service in consideration of whether a user is in a vehicle, and a method for processing dialogue with a vehicle and a mobile device including the same.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 측면에 따른 대화 시스템은, 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받는 입력 처리기; 차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부; 상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및 상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함할 수 있다.As a technical means for achieving the above-described technical problem, a dialogue system according to an aspect includes an input processor for receiving an utterance including a destination input by a user; a storage unit configured to store vehicle status information including short-distance communication connection status information between the vehicle and the mobile device and whether the vehicle is started; Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager; and a result processor for generating a response for performing the action determined in the conversation manager.
또한, 상기 대화 관리기는, 상기 차량과 모바일 기기 간의 근거리 통신이 연결된 상태이고 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하고, 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다.In addition, when the short-distance communication between the vehicle and the mobile device is connected and the starting state of the vehicle is on, the conversation manager determines that the user's location is inside the vehicle, and provides route guidance to the destination. You can decide which action to output.
또한, 상기 대화 관리기는, 상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 현재 위치에서 상기 목적지까지의 도보 경로 안내 형태로 출력할 수 있다.Also, when the user's location is changed from the inside of the vehicle to the outside of the vehicle, the conversation manager may output the route guidance from the current location to the destination in the form of walking route guidance from the current location to the destination.
또한, 상기 대화 관리기는, 상기 차량과 모바일 기기 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자의 위치가 차량 외부라고 판단하고, 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다.In addition, when the short-range communication between the vehicle and the mobile device is not connected or the starting state of the vehicle is in an OFF state, the conversation manager determines that the user's location is outside the vehicle, and reaches the destination It is possible to determine the action to reserve the route guidance of.
또한, 상기 대화 관리기는, 상기 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 상기 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다.Also, when the user's location is changed from outside the vehicle to inside the vehicle, the conversation manager may output route guidance to the reserved destination.
또한, 상기 입력 처리기는, 상기 모바일 기기 또는 상기 차량에 마련된 음성 입력 장치를 통해 사용자의 발화를 입력 받을 수 있다.In addition, the input processor may receive the user's utterance through a voice input device provided in the mobile device or the vehicle.
또한, 상기 결과 처리기는, 상기 결정된 액션을 수행하기 위한 응답으로 대화 응답, 차량 제어 및 모바일 기기 제어 중 적어도 하나 이상을 위한 명령어를 생성할 수 있다.Also, the result processor may generate a command for at least one of a dialogue response, vehicle control, and mobile device control in response to performing the determined action.
또한, 상기 결과 처리기는, 상기 목적지까지의 경로 안내 예약 또는 상기 목적지까지의 경로 안내와 관련된 액션의 응답이 상기 차량 또는 상기 모바일 기기를 통해 출력되도록 할 수 있다.Also, the result processor may output a response of an action related to reservation of route guidance to the destination or route guidance to the destination through the vehicle or the mobile device.
또한, 대화 시스템은, 상기 차량으로부터 상기 모바일 기기와의 근거리 통신 연결 상태 정보 및 차량 상태 정보를 수신하고, 상기 차량에 상기 응답을 전송하는 통신부;를 더 포함할 수 있다.The dialogue system may further include a communication unit configured to receive the short-distance communication connection state information and vehicle state information with the mobile device from the vehicle, and transmit the response to the vehicle.
또한, 대화 시스템은, 상기 모바일 기기로부터 상기 차량과의 근거리 통신 연결 상태 정보를 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 통신부;를 더 포함할 수 있다.The conversation system may further include a communication unit configured to receive information on a state of a short-distance communication connection with the vehicle from the mobile device and transmit the response to the mobile device.
일 측면에 따른 모바일 기기는, 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받는 입력 처리기; 차량과의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부; 상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및 상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함할 수 있다.According to one aspect, a mobile device includes: an input processor for receiving utterances including a destination input by a user; a storage unit configured to store vehicle status information including short-distance communication connection status information with the vehicle and whether the vehicle is started; Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager; and a result processor for generating a response for performing the action determined in the conversation manager.
또한, 상기 대화 관리기는, 상기 차량과 근거리 통신이 연결된 상태이고 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하고, 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다.In addition, when the short-distance communication with the vehicle is connected and the starting state of the vehicle is on, the conversation manager determines that the user's location is inside the vehicle and outputs a route guidance to the destination action can be decided.
또한, 상기 대화 관리기는, 상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 현재 위치에서 상기 목적지까지의 도보 경로 안내 형태로 출력할 수 있다.Also, when the user's location is changed from the inside of the vehicle to the outside of the vehicle, the conversation manager may output the route guidance from the current location to the destination in the form of walking route guidance from the current location to the destination.
또한, 상기 대화 관리기는, 상기 차량과의 근거리 통신이 연결되지 않은 상태이거나, 또는 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자의 위치가 차량 외부라고 판단하고, 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다.In addition, when the short-distance communication with the vehicle is not connected, or the starting state of the vehicle is in an OFF state, the conversation manager determines that the location of the user is outside the vehicle, and a route to the destination You can decide an action to schedule a guide.
또한, 상기 대화 관리기는, 상기 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 상기 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다.Also, when the user's location is changed from outside the vehicle to inside the vehicle, the conversation manager may output route guidance to the reserved destination.
또한, 상기 모바일 기기는 사용자 음성을 입력 받는 음성 입력 장치;를 더 포함하고, 상기 입력 처리기는, 상기 음성 입력 장치를 통해 사용자의 발화를 입력 받을 수 있다.The mobile device may further include a voice input device for receiving a user's voice, and the input processor may receive a user's utterance through the voice input device.
또한, 상기 모바일 기기는, 상기 결과 처리기를 통해 전달되는 상기 목적지까지의 경로 안내 예약 또는 상기 목적지까지의 경로 안내와 관련된 액션의 응답을 출력하기 위한 출력장치;를 더 포함할 수 있다.In addition, the mobile device may further include an output device for outputting a response of an action related to a reservation for route guidance to the destination or route guidance to the destination transmitted through the result processor.
또한, 상기 차량과 상기 모바일 기기는 미러링(mirroring) 기능을 구비하며, 상기 결과 처리기는, 상기 사용자의 위치가 차량 외부에서 차량 내부로 이동하는 경우, 상기 출력장치를 통해 출력되는 상기 목적지까지의 경로 안내와 관련된 액션의 응답을 상기 미러링 기능을 통해 상기 차량의 대화자 출력 장치를 통해 출력할 수 있다.In addition, the vehicle and the mobile device have a mirroring function, and the result processor, when the user's location moves from the outside of the vehicle to the inside of the vehicle, outputs a route to the destination output through the output device. A response of an action related to guidance may be output through a dialogue output device of the vehicle through the mirroring function.
일 측면에 따른 차량은, 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받는 입력 처리기; 차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부; 상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및 상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함할 수 있다.According to one aspect, a vehicle includes: an input processor for receiving utterances including a destination input by a user; a storage unit for storing vehicle state information including whether the vehicle is started; Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager; and a result processor for generating a response for performing the action determined in the conversation manager.
또한, 상기 대화 관리기는, 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하여 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고, 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자가 차량 외부라고 판단하여 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다.In addition, when the starting state of the vehicle is in an ON state, the conversation manager determines an action to output a route guidance to the destination by determining that the user's location is inside the vehicle, and the starting state of the vehicle When is in an OFF state, it is determined that the user is outside the vehicle and an action for reserving a route guidance to the destination may be determined.
또한, 상기 대화 관리기는, 상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 모바일 기기를 통해 현재 위치로부터 상기 목적지까지의 도보 경로 안내 형태로 출력할 수 있다.Also, when the user's location is changed from the inside of the vehicle to the outside of the vehicle, the conversation manager may output the route guidance to the destination in the form of walking route guidance from the current location to the destination through the mobile device.
일 측면에 따른 대화 처리 방법은, 사용자의 목적지를 비롯한 발화를 입력 받고, 차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 기초로 사용자의 위치가 차량 내부인지 여부를 판단하고, 상기 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고, 결정된 상기 액션을 수행하기 위한 응답을 생성할 수 있다.A dialog processing method according to an aspect includes receiving a utterance including a user's destination, determining whether the user's location is inside the vehicle based on short-distance communication connection state information between the vehicle and the mobile device and whether the vehicle is started, and the determination Depending on the result, an action for reserving a route guide to the destination or outputting a route guide to the destination may be determined, and a response for performing the determined action may be generated.
또한, 상기 사용자의 위치가 차량 내부인지 여부를 판단하는 것은, 상기 차량과 모바일 기기 간의 근거리 통신이 연결된 상태이고 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하고, 상기 차량과 모바일 기기 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자의 위치가 차량 외부라고 판단할 수 있다.In addition, determining whether the user's location is inside the vehicle includes determining that the user's location is inside the vehicle when short-distance communication between the vehicle and the mobile device is connected and the starting state of the vehicle is on and, when short-distance communication between the vehicle and the mobile device is not connected or when the starting state of the vehicle is in an OFF state, it may be determined that the location of the user is outside the vehicle.
또한, 상기 액션을 결정하는 것은, 상기 사용자의 위치가 차량 내부인 경우, 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고, 상기 사용자의 위치가 차량 외부인 경우, 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다.In addition, determining the action includes determining an action to output route guidance to the destination when the user's location is inside the vehicle, and determining the route guidance to the destination when the user's location is outside the vehicle You can decide which action to schedule.
또한, 상기 대화 처리 방법은, 상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 현재 위치에서 상기 목적지까지의 도보 경로 안내 형태로 출력하고, 상기 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 상기 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다.In addition, in the dialog processing method, when the location of the user is changed from the inside of the vehicle to the outside of the vehicle, the route guide to the destination is output in the form of a walking route guide from the current location to the destination, and the location of the user is When changing from the outside of the vehicle to the inside of the vehicle, the route guidance to the reserved destination may be output.
다른 측면에 따른 대화 시스템은, 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받는 입력 처리기, 차량으로부터 상기 차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 수신하여 저장하는 저장부, 상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및 상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기를 포함하는 원격 대화시스템 서버를 포함할 수 있다.A dialogue system according to another aspect includes an input processor that receives utterances including a destination input by a user, receives and stores vehicle state information including short-distance communication connection state information between the vehicle and the mobile device from the vehicle and whether the vehicle is started An action of determining whether the user's location is outside the vehicle based on the information stored in the storage unit and the storage unit, and reserving the route guidance to the destination or outputting route guidance to the destination according to the determination result Conversation manager to decide; and a remote conversation system server including a result processor for generating a response for performing the action determined by the conversation manager.
또한, 상기 대화 시스템은 상기 차량과 상기 모바일 기기 간의 근거리 통신 연결 상태 정보, 차량 감지부를 통해 감지된 차량 시동 여부와 주행 환경 정보를 비롯한 차량 상태 정보 및 사용자 정보를 저장하는 차량측 저장부를 포함하는 차량을 더 포함할 수 있다.In addition, the dialogue system is a vehicle including a vehicle-side storage unit for storing information about the short-distance communication connection between the vehicle and the mobile device, vehicle state information and user information, including whether the vehicle is started and driving environment information detected through the vehicle detection unit may further include.
전술한 과제 해결 수단에 의하면, 운전자의 차량 탑승 여부에 따라 목적지까지의 길 안내 예약, 길 안내, 도보 경로 안내 등 상황별 맞춤 서비스를 제공할 수 있다는 효과를 기대할 수 있다.According to the above-described problem solving means, it is possible to expect the effect of providing a customized service for each situation, such as a reservation for a route to a destination, a route guide, a walking route guide, etc. depending on whether the driver is in the vehicle or not.
도 1은 일 실시예에 따른 대화 시스템의 제어 블록도이다.
도 2는 차량 내부의 구성을 나타낸 도면이다.
도 3 내지 도 5는 대화 시스템과 운전자 사이에 주고 받을 수 있는 대화의 예시를 나타낸 도면이다.
도 6 및 도 7은 대화 시스템과 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.
도 8 및 도 9는 대화 시스템의 구성 요소와 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.
도 10은 대화 시스템이 차량에 마련되는 차량 단독 방식에 대한 제어 블록도이다.
도 11 및 도 12는 대화 시스템이 원격 서버에 마련되고 차량이 사용자와 대화 시스템을 연결하는 게이트웨이의 역할만 하는 차량 게이트웨이 방식에 대한 제어 블록도이다.
도 13은 차량 게이트웨이 방식에서 차량이 입력 처리와 출력 처리를 일부 수행할 수 있는 경우에 대한 제어 블록도이다.
도 14는 원격 대화 시스템 서버와 차량이 모두 대화 처리를 수행할 수 있는 하이브리드 방식에 대한 제어 블록도이다.
도 15및 도 16은 차량에 연결된 모바일 기기가 사용자와 원격 대화 시스템 서버를 연결하는 모바일 게이트웨이 방식에 대한 제어 블록도이다.
도 17은 모바일 기기에 대화 시스템이 탑재되는 모바일 단독 방식에 대한 제어 블록도이다.
도 18, 도 19a 및 도 19b는 대화 시스템의 구성 중 입력 처리기의 구성이 세분화된 제어 블록도이다.
도 20a 및 도 20b는 상황 이해 테이블에 저장되는 정보의 예시를 나타낸 도면이다.
도 21은 대화 관리기의 구성이 세분화된 제어 블록도이다.
도 22는 연관 액션 DB에 저장된 정보의 예시를 나타낸 도면이다.
도 23은 액션 수행 조건 DB에 저장된 정보의 예시를 나타낸 도면이다.
도 24는 액션 인자 DB에 저장된 정보의 예시를 나타낸 도면이다.
도 25 는 모호성 해소 정보 DB에 저장되는 정보의 예시를 나타내는 도면이다.
도 26a 및 도 26b는 모호성 해결기가 모호성 해소 정보 DB를 참조하여 모호성을 해결하고 액션을 추출하여 차량을 제어하는 다양한 예시들을 정리한 테이블이다.
도 27은 결과 처리기의 구성을 세분화한 제어 블록도이다.
도 28 내지 도 40은 사용자가 길 안내와 관련한 발화를 입력한 경우에 대화 시스템이 입력을 처리하고, 대화를 관리하고, 결과를 출력하는 구체적인 예시를 나타낸 도면이다.
도 41은 일 실시예에 따른 대화 처리 방법에 있어서, 사용자 입력을 처리하는 방법을 나타낸 순서도이다.
도 42는 일 실시예에 따른 대화 처리 방법에 있어서, 입력 처리기의 출력을 이용하여 대화를 관리하는 방법을 나타낸 순서도이다.
도 43은 일 실시예에 따른 대화 처리 방법에 있어서, 대화 관리의 결과에 대응되는 응답을 생성하기 위한 결과 처리 방법을 나타낸 순서도이다.
도 44는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.
도 45는 모바일 기기에 대화 시스템이 탑재되는 경우, 모바일 기기와 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타내는 제어 블록도이다.
도 46은 차량 외부에서의 목적지 설정 방법의 일 예를 설명하기 위한 도면이다.
도 47은 차량 내부에서의 목적지 설정 방법의 일 예를 설명하기 위한 도면이다.
도 48은 차량에 대화 시스템이 탑재되는 경우, 차량의 구성 요소들과 모바일 기기의 구성 요소들 사이의 연결 관계를 간략하게 나타내는 제어 블록도이다.
도 49는 내비게이션 기능을 위한 대화 처리 방법을 나타낸 순서도이다.
도 50은 도 44의 다른 예를 나타내는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.1 is a control block diagram of a conversation system according to an embodiment.
2 is a view showing the configuration of the interior of the vehicle.
3 to 5 are diagrams illustrating examples of conversations that can be exchanged between a conversation system and a driver.
6 and 7 are control block diagrams schematically illustrating a connection relationship between an interactive system and components of a vehicle.
8 and 9 are control block diagrams schematically illustrating a connection relationship between components of a dialogue system and components of a vehicle.
10 is a control block diagram for a vehicle-only method in which a conversation system is provided in a vehicle.
11 and 12 are control block diagrams of a vehicle gateway method in which a dialogue system is provided in a remote server and the vehicle serves only as a gateway connecting the user and the dialogue system.
13 is a control block diagram illustrating a case in which a vehicle may partially perform input processing and output processing in a vehicle gateway method.
14 is a control block diagram of a hybrid method in which both a remote conversation system server and a vehicle can perform conversation processing.
15 and 16 are control block diagrams of a mobile gateway method in which a mobile device connected to a vehicle connects a user and a remote conversation system server.
17 is a control block diagram of a mobile-only method in which a conversation system is mounted on a mobile device.
18, 19A, and 19B are control block diagrams in which the configuration of the input processor is subdivided among the configuration of the dialog system.
20A and 20B are diagrams illustrating examples of information stored in a context understanding table.
21 is a control block diagram in which the configuration of a conversation manager is subdivided.
22 is a diagram illustrating an example of information stored in a related action DB.
23 is a diagram illustrating an example of information stored in an action execution condition DB.
24 is a diagram illustrating an example of information stored in an action factor DB.
25 is a diagram illustrating an example of information stored in a disambiguation information DB.
26A and 26B are tables summarizing various examples in which the ambiguity resolver refers to the ambiguity resolution information DB to resolve ambiguity and extract actions to control the vehicle.
27 is a control block diagram in which the configuration of the result processor is subdivided.
28 to 40 are diagrams illustrating specific examples in which the dialog system processes the input, manages the dialog, and outputs a result when the user inputs an utterance related to road guidance.
41 is a flowchart illustrating a method of processing a user input in a conversation processing method according to an embodiment.
42 is a flowchart illustrating a method of managing a conversation using an output of an input processor in a conversation processing method according to an embodiment.
43 is a flowchart illustrating a result processing method for generating a response corresponding to a result of conversation management in a conversation processing method according to an embodiment.
44 is a control block diagram schematically illustrating a connection relationship between the dialogue system, the components of the vehicle, and the components of the mobile device.
45 is a control block diagram schematically illustrating a connection relationship between the mobile device and components of a vehicle when a conversation system is mounted on the mobile device.
46 is a diagram for explaining an example of a method for setting a destination outside a vehicle.
47 is a diagram for explaining an example of a method for setting a destination inside a vehicle.
48 is a control block diagram schematically illustrating a connection relationship between components of a vehicle and components of a mobile device when a conversation system is mounted on a vehicle.
49 is a flowchart illustrating a conversation processing method for a navigation function.
FIG. 50 is a control block diagram schematically illustrating a connection relationship between components of a conversation system, a vehicle, and a mobile device, illustrating another example of FIG. 44 .
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numerals refer to like elements throughout. This specification does not describe all elements of the embodiments, and general content in the technical field to which the present invention pertains or content that overlaps between the embodiments is omitted. The term 'part, module, member, block' used in the specification may be implemented in software or hardware, and according to embodiments, a plurality of 'part, module, member, block' may be implemented as a single component, It is also possible for one 'part, module, member, block' to include a plurality of components.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is "connected" with another part, this includes not only direct connection but also indirect connection, and indirect connection includes connection through a wireless communication network. do.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.The singular expression includes the plural expression unless the context clearly dictates otherwise.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. The signs attached to each step are used to identify each step, and these signs do not indicate the order between the steps, and each step is performed differently from the stated order unless the context clearly indicates a specific order. can be
이하 첨부된 도면들을 참고하여 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법의 실시예를 상세하게 설명한다. Hereinafter, an embodiment of a conversation system, a vehicle including the same, and a conversation processing method will be described in detail with reference to the accompanying drawings.
일 실시예에 따른 대화 시스템은 사용자의 음성 및 음성 외 입력을 이용하여 사용자의 의도를 파악하고 사용자의 의도에 적합한 서비스 또는 사용자에게 필요한 서비스를 제공하는 장치로서, 서비스 제공의 일 수단 또는 사용자의 의도를 명확히 파악하기 위한 일 수단으로 시스템 발화를 출력함으로써 사용자와 대화를 수행할 수 있다. A conversation system according to an embodiment is an apparatus for identifying a user's intention using a user's voice and non-voice input and providing a service suitable for the user's intention or a service necessary for the user, and is a means of providing a service or the user's intention As one means for clearly grasping , a conversation with the user may be performed by outputting a system utterance.
당해 실시예에서 사용자에게 제공되는 서비스는 정보의 제공, 차량의 제어, 오디오/비디오/내비게이션 기능의 실행, 외부 서버로부터 가져온 컨텐츠의 제공 등 사용자의 필요나 사용자의 의도에 부응하기 위해 수행되는 모든 동작을 포함할 수 있다.In this embodiment, the service provided to the user includes all operations performed to meet the user's needs or user's intention, such as providing information, controlling a vehicle, executing an audio/video/navigation function, and providing content retrieved from an external server. may include.
또한, 일 실시예에 따른 대화 시스템은 차량 환경에 특화된 대화 처리 기술을 제공함으로써, 차량이라는 특수한 환경에서 사용자의 의도를 정확히 파악할 수 있다.In addition, the dialog system according to an exemplary embodiment may accurately identify the user's intention in a special environment of a vehicle by providing a conversation processing technology specialized for a vehicle environment.
이러한 대화 시스템과 사용자를 연결하는 게이트웨이는 차량 또는 차량에 연결된 모바일 기기가 될 수 있다. 후술하는 바와 같이, 대화 시스템은 차량에 마련될 수도 있고, 차량 외부의 원격 서버에 마련되어 차량 또는 차량에 연결된 모바일 기기와의 통신을 통해 데이터를 주고 받을 수도 있다. The gateway connecting the conversation system and the user may be a vehicle or a mobile device connected to the vehicle. As will be described later, the conversation system may be provided in the vehicle or may be provided in a remote server outside the vehicle and exchange data through communication with the vehicle or a mobile device connected to the vehicle.
또한, 대화 시스템의 구성 요소 중 일부는 차량에 마련되고 일부는 원격 서버에 마련되어 대화 시스템의 동작을 차량과 원격 서버에서 부분적으로 수행하는 것도 가능하다.In addition, it is also possible that some of the components of the dialogue system are provided in the vehicle and some are provided in the remote server to partially perform the operation of the dialogue system in the vehicle and the remote server.
도 1은 일 실시예에 따른 대화 시스템의 제어 블록도이다.1 is a control block diagram of a conversation system according to an embodiment.
도 1을 참조하면, 일 실시예에 따른 대화 시스템(100)은 사용자의 음성 및 음성 외 입력을 포함하는 사용자 입력이나 차량과 관련된 정보 또는 사용자와 관련된 정보를 포함하는 입력을 처리하는 입력 처리기(110), 입력 처리기(110)의 처리 결과를 이용하여 사용자의 의도를 파악하고, 사용자의 의도나 차량의 상태에 대응되는 액션을 결정하는 대화 관리기(120), 대화 관리기(120)의 출력 결과에 따라 특정 서비스를 제공하거나 대화를 계속 이어 나가기 위한 시스템 발화를 출력하는 결과 처리기(130) 및 대화 시스템(100)이 후술하는 동작을 수행하기 위해 필요한 각종 정보를 저장하는 저장부(140)를 포함한다.Referring to FIG. 1 , the
입력 처리기(110)는 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. 음성 외 입력은 사용자의 제스처 인식이나, 입력 장치의 조작을 통해 입력되는 사용자의 음성 외 입력, 차량의 상태를 나타내는 차량 상태 정보, 차량의 주행 환경과 관련된 주행 환경 정보, 사용자의 상태를 나타내는 사용자 정보 등을 포함할 수 있다. 이러한 정보들 외에도 차량과 사용자와 관련된 정보로서, 사용자의 의도를 파악하거나 사용자에게 서비스를 제공하기 위해 사용될 수 있는 정보이면, 모두 입력 처리기(110)의 입력이 될 수 있다. 사용자는 운전자와 탑승자를 모두 포함할 수 있다.The
입력 처리기(110)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 기술을 적용하여 사용자의 의도를 파악한다. The
또한, 입력 처리기(110)는 사용자 음성 외에 차량의 상태나 주행 환경과 관련된 정보를 수집하고, 수집된 정보를 이용하여 상황을 이해한다. In addition, the
입력 처리기(110)는 자연어 이해를 통해 파악한 사용자의 의도와 상황에 관련된 정보 등을 대화 관리기(120)로 전달한다.The
대화 관리기(120)는 입력 처리기(110)로부터 전달된 사용자의 의도, 상황에 관련된 정보 등에 기초하여 사용자의 의도와 현재 상황에 대응되는 액션을 결정하고, 해당 액션을 수행하기 위해 필요한 인자들을 관리한다. The
당해 실시예에서 액션은 특정 서비스를 제공하기 위해 수행되는 모든 동작을 의미할 수 있으며, 액션의 종류는 미리 정의될 수 있다. 경우에 따라, 서비스의 제공과 액션의 수행은 동일한 의미일 수 있다. In this embodiment, an action may mean all actions performed to provide a specific service, and the type of action may be predefined. In some cases, provision of a service and execution of an action may have the same meaning.
예를 들어, 도메인/액션 추론 규칙 DB(141, 도 19a 참조)에 길 안내, 차량 상태 점검, 주유소 추천 등과 같은 액션이 미리 정의될 수 있고, 저장된 추론 규칙에 따라 사용자의 발화에 대응되는 액션, 즉 사용자가 의도하는 액션을 미리 정의된 액션 중에서 추출할 수 있다. 또한, 차량에 발생한 이벤트와 연관된 액션이 미리 정의되어 연관 액션 DB(146b, 도 21 참조)에 저장될 수 있다. For example, actions such as route guidance, vehicle condition check, gas station recommendation, etc. may be predefined in the domain/action inference rule DB (141, see FIG. 19A), and actions corresponding to the user's utterance according to the stored reasoning rule That is, an action intended by the user may be extracted from predefined actions. In addition, an action related to an event occurring in the vehicle may be predefined and stored in the
액션의 종류에 대해서는 제한을 두지 않으며, 대화 시스템(100)이 차량(200) 또는 모바일 기기(400)를 통해 수행 가능한 것으로서, 미리 정의되고, 그 추론 규칙이나 다른 액션/이벤트와의 관계 등이 저장되어 있으면 액션이 될 수 있다. There is no limitation on the type of action, and the
대화 관리기(120)는 결정된 액션에 관한 정보를 결과 처리기(130)로 전달한다.The
결과 처리기(130)는 전달된 액션을 수행하기 위해 필요한 대화 응답 및 명령어를 생성하여 출력한다. 대화 응답은 텍스트, 이미지 또는 오디오로 출력될 수 있고, 명령어가 출력되면 출력된 명령어에 대응되는 차량 제어, 외부 컨텐츠 제공 등의 서비스가 수행될 수 있다. The
저장부(140)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다. 예를 들어, 자연어 이해에 사용되는 도메인, 액션, 화행, 개체명과 관련된 정보를 미리 저장할 수 있고, 입력된 정보로부터 상황을 이해하기 위해 사용되는 상황 이해 테이블을 저장할 수도 있으며, 차량에 마련된 센서가 감지한 데이터, 사용자와 관련된 정보, 액션 수행을 위해 필요한 정보를 미리 저장할 수도 있다. 저장부(140)에 저장되는 정보들에 관한 더 자세한 설명은 후술하도록 한다.The
전술한 바와 같이, 대화 시스템(100)은 차량 환경에 특화된 대화 처리 기술을 제공한다. 대화 시스템(100)의 구성요소가 전부 차량에 포함될 수도 있고, 일부만 포함될 수도 있다. 대화 시스템(100)은 원격 서버에 마련되고 차량은 대화 시스템(100)과 사용자 사이의 게이트웨이의 역할만 할 수도 있다. 어느 경우이던지, 대화 시스템(100)은 차량 또는 차량과 연결된 모바일 기기를 통해 사용자와 연결될 수 있다. As described above, the
도 2는 차량 내부의 구성을 나타낸 도면이다.2 is a view showing the configuration of the interior of the vehicle.
도 2를 참조하면, 차량(200) 내부의 대시보드(201)의 중앙 영역인 센터페시아(203)에는 오디오 기능, 비디오 기능, 내비게이션 기능 또는 전화 걸기 기능을 포함하는 차량의 제어를 수행하기 위해 필요한 화면을 표시하는 디스플레이(231)와 사용자의 제어 명령을 입력 받기 위한 입력 버튼(221)이 마련될 수 있다.Referring to FIG. 2 , in the
또한, 운전자의 조작 편의성을 위해 스티어링 휠(207)에도 입력 버튼(223)이 마련될 수 있고, 운전석(254a)과 조수석(254b) 사이의 센터 콘솔 영역(202)에 입력 버튼의 역할을 수행하는 조그 셔틀(225)이 마련될 수도 있다. In addition, an
디스플레이(231), 입력 버튼(221) 및 각종 기능을 전반적으로 제어하는 프로세서를 포함하는 모듈을 AVN(Audio Video Navigation) 단말이라 할 수도 있고, 헤드유닛(Head Unit)이라 할 수도 있다. A module including the
디스플레이(231)는 LCD(Liquid Crystal Display), LED(Light Emitting Diode), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diode), CRT(Cathode Ray Tube) 등의 다양한 디스플레이 장치 중 하나로 구현될 수 있다.The
입력 버튼(221)은 도 2에 도시된 바와 같이 디스플레이(231)와 인접한 영역에 하드 키 타입으로 마련될 수도 있고, 디스플레이(231)가 터치 스크린 타입으로 구현되는 경우에는 디스플레이(231)가 입력 버튼(221)의 기능도 함께 수행할 수 있다. The
차량(1)은 사용자의 명령을 음성 입력 장치(210)를 통해 음성으로 입력 받을 수 있다. 음성 입력 장치(210)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰을 포함할 수 있다. The
효과적인 음성의 입력을 위하여 음성 입력 장치(210)는 도 2에 도시된 바와 같이 헤드라이닝(205)에 마련될 수 있으나, 차량(200)의 실시예가 이에 한정되는 것은 아니며, 대시보드(201) 위에 마련되거나 스티어링 휠(207)에 마련되는 것도 가능하다. 이 외에도 사용자의 음성을 입력 받기에 적합한 위치이면 어디든 제한이 없다.For effective voice input, the
차량(200) 내부에는 사용자와 대화를 수행하거나, 사용자가 원하는 서비스를 제공하기 위해 필요한 음향을 출력하는 스피커(232)가 마련될 수 있다. 일 예로, 스피커(232)는 운전석 도어(253a) 및 조수석 도어(253b) 내측에 마련될 수 있다.A
스피커(232)는 내비게이션 경로 안내를 위한 음성, 오디오/비디오 컨텐츠에 포함되는 음향 또는 음성, 사용자가 원하는 정보나 서비스를 제공하기 위한 음성, 사용자의 발화에 대한 응답으로서 생성된 시스템 발화 등을 출력할 수 있다.The
일 실시예에 따른 대화 시스템(100)은 차량 환경에 특화된 대화 처리 기술을 이용하여 사용자의 라이프스타일에 최적화된 서비스를 제공하고, 커넥티드카(Connected Car), 사물인터넷(IoT), 인공지능(AI) 등의 기술을 이용한 새로운 서비스를 구성할 수 있다.The
일 실시예에 따른 대화 시스템(100)과 같이 차량 환경에 특화된 대화 처리 기술을 적용할 경우, 운전자의 직접 주행 상황에서, 주요 상황(Context)에 대한 인지 및 대응이 용이하다. 유량 부족, 졸음 운전 등 주행에 영향을 미치는 요소에 가중치를 부여하여 서비스를 제공할 수 있고, 대부분의 경우 목적지로 이동 중인 조건을 기반으로 주행 시간, 목적지 정보 등 서비스 제공을 위해 필요한 정보를 용이하게 획득할 수 있다. When a dialog processing technology specialized for a vehicle environment is applied, such as the
또한, 운전자의 의도를 파악하고, 기능을 제안하는 지능적인 서비스를 용이하게 구현할 수 있다. 이는 운전자의 직접 주행 상황에 있어 실시간 정보와 액션을 우선적으로 고려하기 때문이다. 일 예로, 주행 중에 운전자가 주유소를 검색하면, 이는 지금 주유소에 가겠다는 운전자의 의도로 해석될 수 있다. 그러나, 차량이 아닌 환경에서 주유소를 검색할 경우 지금 주유소를 가겠다는 의도 외에 위치 정보 조회, 전화번호 조회, 가격 조회 등 다른 다양한 의도로도 해석되는 것이 가능하다.In addition, it is possible to easily implement an intelligent service that identifies the driver's intention and suggests a function. This is because real-time information and actions are prioritized in the driver's direct driving situation. For example, if the driver searches for a gas station while driving, this may be interpreted as the driver's intention to go to the gas station now. However, when searching for a gas station in a non-vehicle environment, it can be interpreted as various other intentions, such as location information inquiry, phone number inquiry, and price inquiry, in addition to the intention to go to the gas station now.
또한, 차량은 한정적인 공간이지만, 그 안에 다양한 상황이 존재할 수 있다. 예를 들어, 렌터카 등 생소한 인터페이스의 운전 상황, 대리 운전을 맡긴 상황, 세차 등 차량 관리 상황, 유아를 탑승시키는 상황, 특정 목적지를 찾아가는 상황 등에서 대화 시스템(100)을 활용할 수 있다. Also, although a vehicle is a limited space, various situations may exist within it. For example, the
또한, 차량 점검 단계, 출발 준비 단계, 주행 단계, 주차 단계 등 차량의 주행과 그 전후를 구성하는 각각의 단계에서도 다양한 서비스의 기회와 대화 상황들이 발생한다. 특히, 차량 문제의 대처 방안을 모르는 상황, 차량과 각종 외부 기기 연동 상황, 연비 등 주행 습관 확인 상황, 스마트 크루즈 컨트롤(Smart Cruise Control) 등의 안전 지원 기능 활용 상황, 내비게이션 조작 상황, 졸음 운전 상황, 매일 동일한 경로를 반복해서 주행하는 상황, 주정차가 가능한 곳인지 확인해야 하는 상황 등에서 대화 시스템(100)을 활용할 수 있다. In addition, various service opportunities and dialogue situations occur in each stage constituting the driving of the vehicle and before and after, such as the vehicle inspection stage, the departure preparation stage, the driving stage, and the parking stage. In particular, the situation of not knowing how to deal with vehicle problems, the connection between the vehicle and various external devices, the checking driving habits such as fuel economy, the use of safety support functions such as smart cruise control, the navigation operation situation, the drowsy driving situation, The
도 3 내지 도 5는 대화 시스템과 운전자 사이에 주고 받을 수 있는 대화의 예시를 나타낸 도면이다.3 to 5 are diagrams illustrating examples of conversations that can be exchanged between a conversation system and a driver.
도 3을 참조하면, 운전자가 현재 잔유량을 묻는 발화(U1: 지금 기름이 얼마나 남았어)를 입력하면, 대화 시스템(100)은 현재 잔유량에 대한 정보를 제공하는 발화(S1: 현재 남은 기름으로 43km 주행 가능합니다)를 출력할 수 있다. Referring to FIG. 3 , when the driver inputs an utterance asking for the current remaining oil amount (U1: how much oil is left), the
운전자는 주유소로 경로 안내를 받기 위해 근처 주유소를 묻는 발화 (U2: 근처 주유소 알려줘)를 입력할 수 있고, 대화 시스템(100)은 현재 위치에서 가장 가까운 주유소에 대한 정보를 제공하는 발화(S2: 현재 위치에서 가까운 주유소로 A 오일 성림 주유소, B 오일 장대 주유소, C 오일 태평양 주유소가 있습니다)를 출력할 수 있다.The driver may input an utterance asking for a nearby gas station to receive route guidance to a gas station (U2: tell me about a nearby gas station), and the
운전자는 추가적으로 기름 가격에 대한 정보를 요청하기 위한 발화 (U3: 그 중 가장 싼 곳은 어디야?)를 입력할 수 있고, 대화 시스템(100)은 유종 별 가격에 대한 정보 제공하는 발화(S3: 휘발유 가격이 가장 낮은 곳은 B 오일 장대 주유소로 리터당 1,294원이고, 경유 가격이 가장 낮은 곳은 A 오일 성림 주유소로 리터당 985원입니다)를 출력할 수 있다.The driver may additionally input an utterance for requesting information on oil price (U3: where is the cheapest place?), and the
운전자는 B 오일 장대 주유소로 안내해 달라는 발화(U4)를 입력할 수 있고, 대화 시스템(100)은 운전자가 선택한 주유소로 안내를 시작한다는 발화 (S4: B 오일 장대 주유소로 안내를 시작합니다)를 출력할 수 있다. The driver may input an utterance requesting guidance to the B oil pole gas station (U4), and the
즉, 운전자는 대화 시스템(100)과의 대화를 통하여 현재 차량의 유종을 가장 싼 가격에 판매하는 근처의 주유소로 경로 안내를 받을 수 있게 된다.That is, the driver can receive route guidance to a nearby gas station that sells the current vehicle type at the lowest price through conversation with the
한편, 대화 시스템(100)은 전술한 도 3의 예시에서 주유소를 선택함에 있어, 일부 질의를 생략하고 바로 정보를 제공함으로써 대화의 단계와 시간을 단축하는 것도 가능하다. On the other hand, when the
예를 들어, 대화 시스템(100)은 현재 차량의 유종이 휘발유이고 운전자의 주유소 선택 기준이 가격이라는 정보를 미리 알 수 있다. 차량의 유종에 대한 정보는 차량으로부터 획득할 수 있고, 운전자의 주유소 선택 기준은 운전자에게 미리 입력 받거나 운전자의 대화 이력 또는 주유소 선택 이력을 학습하여 획득할 수 있다. 이러한 정보는 대화 시스템(100)의 저장부(140)에 미리 저장될 수 있다.For example, the
이 경우, 도 4에 도시된 바와 같이, 운전자가 기름 가격에 대한 정보를 요청하기 위한 발화(U3)를 입력하지 않더라도(U3 생략) 대화 시스템(100)이 기름 가격에 대한 정보, 특히 현재 차량의 유종인 휘발유의 가격에 대한 정보를 제공하는 발화(S2+S3=S3')을 선제적으로 출력할 수 있다. In this case, as shown in FIG. 4 , even if the driver does not input the utterance U3 for requesting the information on the oil price (U3 is omitted), the
운전자가 기름 가격에 대한 정보를 요청하기 위한 발화(U3)를 생략할 수 있고, 대화 시스템(100)의 응답은 근처 주유소 안내를 위한 발화(S2)와 기름 가격 안내를 위한 발화(S3)가 하나로 합쳐짐으로써 대화 단계와 시간을 단축할 수 있다. The driver can omit the utterance U3 for requesting information on the oil price, and the response of the
또한, 대화 시스템(100)은 운전자가 현재 잔유량을 물었다는 사실에 기초하여 운전자의 의도가 주유소 검색이라는 점을 스스로 파악할 수도 있다. Also, the
이 경우, 도 5에 도시된 바와 같이, 운전자가 근처 주유소를 묻는 발화(U2)를 입력하지 않더라도(U2 생략), 대화 시스템(100)이 기름 가격에 대한 정보를 제공하는 발화(S2+S3=S3")를 선제적으로 출력할 수 있다. In this case, as shown in FIG. 5 , even if the driver does not input the utterance U2 asking for a nearby gas station (U2 is omitted), the
또한, 기름 가격에 대한 정보를 제공하는 발화(S3")에 현재 위치에서 가장 가까우면서 기름 가격이 가장 싼 주유소가 하나인 경우에는 해당 주유소로 안내할 지 여부까지 함께 질의할 수 있다. 따라서, 사용자는 어느 주유소로 안내해달라는 구체적인 발화를 입력하지 않고, 단순히 대화 시스템(100)의 질의에 동의하는 발화(U4': 그래)를 입력함으로써 해당 주유소로의 길 안내를 요청할 수 있다.In addition, if there is only one gas station that is closest to the current location and has the lowest oil price in the speech (S3") that provides information on the oil price, it is possible to inquire whether or not to guide the user to that gas station. Therefore, the user may request directions to a corresponding gas station by simply inputting an utterance that agrees to the query of the dialogue system 100 (U4 ′: yes) without inputting a specific utterance for guiding to a certain gas station.
이와 같이, 대화 시스템(100)은 미리 획득한 정보를 이용하여 사용자가 발화하지 않은 내용까지 고려함으로써, 사용자의 실제 의도를 파악하고 그에 대응되는 정보를 선제적으로 제공할 수 있다. 이를 통해 사용자가 원하는 서비스를 제공하기까지의 대화 단계와 시간을 단축할 수 있다. In this way, the
도 6 및 도 7은 대화 시스템과 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.6 and 7 are control block diagrams schematically illustrating a connection relationship between an interactive system and components of a vehicle.
도 6을 참조하면, 대화 시스템(100)에 입력되는 사용자의 음성은 차량(200)에 마련된 음성 입력 장치(210)를 통해 입력될 수 있다. 앞서 도 2에서 설명한 바와 같이, 음성 입력 장치(210)는 차량(200) 내부에 마련된 마이크로폰을 포함할 수 있다. Referring to FIG. 6 , the user's voice input to the
사용자 입력 중 음성을 제외한 입력은 음성 외 입력 장치(220)를 통해 입력될 수 있다. 음성 외 입력 장치(220)는 사용자의 조작을 통해 명령을 입력 받는 입력 버튼(221, 223)과 조그 셔틀(225)을 포함할 수 있다. An input other than a voice among user inputs may be input through the
또한, 음성 외 입력 장치(220)는 사용자를 촬영하는 카메라를 포함하는 것도 가능하다. 카메라로 촬영한 영상을 통해, 명령 입력의 일 수단으로 사용되는 사용자의 제스처, 표정 또는 시선 방향을 인식할 수 있다. 또는, 카메라로 촬영한 영상을 통해 사용자의 상태(졸음 상태 등)를 파악하는 것도 가능하다. In addition, the
차량에 관한 정보는 차량 제어기(240)를 통해 대화 시스템(100)에 입력될 수 있다. 차량에 관한 정보는 차량(200)에 마련된 각종 센서를 통해 획득된 차량 상태 정보 또는 주변 상황 정보를 포함할 수 있고, 차량의 유종과 같이 차량(200)에 기본적으로 저장된 정보도 포함할 수 있다. Information about the vehicle may be input to the
대화 시스템(100)은 음성 입력 장치(210)를 통해 입력된 사용자 음성, 음성 외 입력 장치(220)를 통해 입력된 사용자의 음성 외 입력, 차량 제어기(240)를 통해 입력된 각종 정보를 이용하여 사용자의 의도와 상황을 파악하고, 사용자의 의도에 대응되는 액션을 수행하기 위한 응답을 출력한다.The
대화자 출력 장치(230)는 대화자에게 시각적, 청각적 또는 촉각적인 출력을 제공하는 장치로서, 차량(200)에 마련된 디스플레이(231) 및 스피커(232)를 포함할 수 있다. 디스플레이(231) 및 스피커(232)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다. 또는, 스티어링 휠(207)에 진동기를 장착하여 진동을 출력하는 것도 가능하다.The
또한, 차량 제어기(240)는 대화 시스템(100)으로부터 출력되는 응답에 따라, 사용자의 의도나 현재 상황에 대응되는 액션을 수행하기 위해 차량(200)을 제어할 수 있다. Also, the
한편, 차량(200)은 차량(200)에 마련된 센서를 통해 획득된 데이터뿐만 아니라, 통신 장치(280)를 통해 외부 컨텐츠 서버(300) 또는 외부 기기로부터 획득된 정보, 예를 들어 교통 상황, 날씨, 온도, 동승자 정보, 운전자 개인 정보 등의 주행 환경 정보와 사용자 정보도 수집하여 대화 시스템(100)에 전달할 수 있다.Meanwhile, the
도 7에 도시된 바와 같이, 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 속도, 엔진 온도, 타이어 공기압, 현재 위치 등과 같이 차량에 마련된 센서로부터 획득되는 정보는 내부 신호 제어기(241)를 통해 대화 시스템(100)에 입력될 수 있다. As shown in FIG. 7 , information acquired from sensors provided in the vehicle such as residual oil amount, rainfall amount, rainfall speed, surrounding obstacle information, speed, engine temperature, tire pressure, current location, etc. (100) can be entered.
V2X(Vehicle to Everything)를 통해 외부에서 획득된 주행 환경 정보는 외부 신호 제어기(242)를 통해 대화 시스템(100)에 입력될 수 있다. V2X는 차량이 주행하면서 도로 인프라 및 다른 차량과 상호 통신하면서 교통 상황 등 각종 유용한 정보를 교환 및 공유하는 것을 의미한다. Driving environment information obtained from the outside through Vehicle to Everything (V2X) may be input to the
V2X 통신은 차량과 인프라 간(V2I: Vehicle-to-Infrastructure, 이하 V2I) 통신, 차량 간(V2V: Vehicle-to-Vehicle), 차량과 모바일 기기 간(V2N: Vehicle-to-Nomadic devices) 통신을 포함할 수 있다. 따라서, V2X 통신을 이용하면, 차량끼리 직접 통신하거나, 또는 거리에 설치되어 있는 인프라와 통신하여 전방의 교통 정보, 다른 차량의 접근 또는 추돌 가능성 등의 정보를 주고 받고 운전자에게 알려줄 수 있다. V2X communication is for vehicle-to-infrastructure (V2I: Vehicle-to-Infrastructure, hereinafter V2I) communication, vehicle-to-vehicle (V2V: Vehicle-to-Vehicle), and vehicle-to-mobile device (V2N: Vehicle-to-Nomadic devices) communication. may include Therefore, by using V2X communication, vehicles can communicate directly with each other or communicate with infrastructure installed on the street to exchange information such as traffic information in front, the possibility of approach or collision of another vehicle, and inform the driver.
따라서, 외부 신호 제어기(242)를 통해 대화 시스템(100)에 입력되는 주행 환경 정보는 전방의 교통 정보, 주변 차량의 접근 정보, 다른 차량과의 추돌 경고, 실시간 교통 상황, 돌방 상황, 교통흐름 제어 상태 등을 포함할 수 있다.Accordingly, the driving environment information input to the
도면에 도시되어 있지는 않으나, V2X 를 통해 획득하는 신호 역시 통신 장치(280)를 통해 차량(200)에 입력될 수 있다.Although not shown in the drawing, a signal obtained through V2X may also be input to the
차량 제어기(240)는 전술한 동작과 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The
또한, 내부 신호 제어기(241)와 외부 신호 제어기(242)는 동일한 프로세서에 의해 구현될 수도 있고, 별도의 프로세서에 의해 구현될 수도 있다. Also, the
도 8 및 도 9는 대화 시스템의 구성 요소와 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다. 8 and 9 are control block diagrams schematically illustrating a connection relationship between components of a dialogue system and components of a vehicle.
도 8을 참조하면, 음성 입력 장치(210)로부터 전송된 사용자 음성은 입력 처리기(110) 내의 음성 입력 처리기(111)로 입력되고, 음성 외 입력 장치(220)로부터 전송된 사용자의 음성 외 입력은 입력 처리기(110) 내의 상황 정보 처리기(112)로 입력된다. Referring to FIG. 8 , the user's voice transmitted from the
상황 정보 처리기(112)는 차량 상태 정보, 주행 환경 정보, 사용자 정보 등에 기초하여 상황을 이해한다. 대화 시스템(100)은 이러한 상황 이해를 통해 사용자의 의도를 더 정확히 파악하거나 현재 사용자에게 필요한 서비스를 효과적으로 찾을 수 있다. The
결과 처리기(130)로부터 출력되는 응답은 대화자 출력 장치(230) 또는 차량 제어기(240)에 입력되어 차량(200)으로 하여금 사용자에게 필요한 서비스를 제공할 수 있게 한다. 또는, 외부 컨텐츠 서버(300)에 전송되어 사용자가 필요로 하는 서비스를 요청할 수 있다.The response output from the
차량 제어기(240)로부터 전송되는 차량 상태 정보, 주행 환경 정보, 사용자 정보 등은 저장부(140)에 저장된다.Vehicle state information, driving environment information, user information, etc. transmitted from the
도 9를 참조하면, 저장부(140)는 장기 메모리(143)와 단기 메모리(144)를 포함할 수 있다. 저장부(140)에 저장되는 데이터는 데이터의 중요성과 영속성 및 설계자의 의도에 따라 단기, 장기 메모리로 구분되어 저장될 수 있다. Referring to FIG. 9 , the
단기 메모리(144)는 이전에 수행한 대화를 저장할 수 있다. 이전에 수행한 대화는 현재 시점으로부터 기준 시간 이내에 수행한 대화일 수도 있다. 또는, 사용자와 대화 시스템(100) 사이의 발화 내용의 용량이 기준치가 될 때까지 계속 대화가 저장될 수도 있다.The short-
일 예로, 사용자가 "강남역 근처 식당 알려줘"라고 발화하면, 대화 시스템(100)은 외부 컨텐츠 서버(300)를 통해 강남역 근처의 식당을 검색하고, 검색된 강남역 근처의 식당에 관한 정보를 사용자에게 제공한다. 정보 제공의 일 예로, 디스플레이(231)에 식당 목록을 표시할 수 있고, 사용자가 "첫 번째"라고 발화하면, 단기 메모리(144)에 식당에 대한 문의부터 선택까지의 대화 내용이 저장될 수 있다.As an example, when the user utters "Tell me about restaurants near Gangnam Station", the
또는, 대화 내용 전체가 저장되는 것뿐만 아니라, 대화 내용에 포함된 특정 정보를 저장하는 것도 가능하다. 예를 들어, 단기 메모리(144) 또는 장기 메모리(143)에 식당 목록 중 첫 번째의 식당을 사용자가 선택한 식당으로 저장하는 것도 가능하다.Alternatively, it is possible not only to store the entire conversation content, but also to store specific information included in the conversation content. For example, it is also possible to store the first restaurant in the list of restaurants in the short-
강남역 근처의 식당에 대한 대화 뒤에 사용자가 대화 시스템(100)에 "날씨는?"이라고 질문하면, 대화 시스템(100)은 단기 메모리(144)에 저장된 대화로부터 사용자의 관심 위치가 강남역인 것을 추정하여 사용자에게 "강남역에는 비가 오고 있습니다."라는 응답을 출력할 수 있다. After a conversation about a restaurant near Gangnam Station, when the user asks "what's the weather?" to the
이후에, "그 식당 메뉴 좀 추천해줘."라고 발화하면, 대화 시스템(100)은 단기 메모리에 저장된 대화로부터 "그 식당"이 강남역 근처 식당인 것으로 추정하고, 외부 컨텐츠 서버(300)로부터 제공되는 서비스를 통해 해당 식당의 추천 메뉴에 대한 정보를 획득하고, "그 식당은 칼국수가 맛있습니다."와 같은 응답을 출력할 수 있다.Afterwards, when "recommend a menu for that restaurant" is uttered, the
장기 메모리(143)는 데이터의 영속성 유무에 따라 데이터를 저장할 수 있다. 예를 들어, 가족이나 친구의 전화 번호, 집이나 회사와 같은 POI 정보, 특정 인자에 대한 사용자의 선호도 등은 데이터의 영속성이 보장되는 것으로 판단하고, 장기 메모리(143)에 저장할 수 있다. 반면, 데이터의 영속성이 보장되지 않는 것으로 판단되는 데이터는 단기 메모리(144)에 저장될 수 있다.The long-
일 예로, 사용자의 현재 위치는 일시적인 데이터이므로 단기 메모리(144)에 저장될 수 있고, 식당에 대한 사용자의 선호도는 이후에도 사용 가능한 영속적인 데이터로 볼 수 있으므로 장기 메모리(144)에 저장될 수 있다.For example, since the user's current location is temporary data, it may be stored in the short-
사용자가 "근처에 식당 없나?"라고 발화하면, 대화 시스템(100)은 단기 메모리(144)로부터 사용자의 현재 위치를 파악하고 장기 메모리(143)로부터 사용자가 선호하는 식당이 중식당이라는 것을 파악할 수 있다. 따라서, 외부 컨텐츠를 이용하여 현재 위치 주변에서 사용자가 선호하는 중식당 목록을 추천해 줄 수 있다.When the user utters "Isn't there a restaurant nearby?", the
또한, 대화 시스템(100)은 장기 메모리(143)와 단기 메모리(144)에 저장된 데이터를 이용하여 사용자에게 선제적으로 서비스나 정보를 제공해줄 수도 있다.In addition, the
예를 들어, 장기 메모리(143)에 사용자의 집에 대한 정보가 저장될 수 있다. 대화 시스템(100)은 외부 컨텐츠 서버(300)로부터 사용자의 집과 관련된 정보를 획득하여, 사용자에게 "이번 주 금요일 아파트 단지 청소로 단수 예정입니다."라는 정보를 제공해줄 수 있다. For example, information about the user's house may be stored in the long-
또는, 단기 메모리(144)에 차량의 배터리 상태에 대한 정보가 저장될 수 있다. 대화 시스템(100)은 단기 메모리(1440)에 저장된 차량의 배터리 상태를 분석하여 "차량의 배터리 상태가 좋지 않습니다. 겨울이 되기 전에 수리를 받으세요."라는 정보를 제공해 줄 수 있다.Alternatively, information on the battery state of the vehicle may be stored in the short-
도 10은 대화 시스템이 차량에 마련되는 차량 단독 방식에 대한 제어 블록도이다. 10 is a control block diagram for a vehicle-only method in which a conversation system is provided in a vehicle.
차량 단독 방식에서는 도 10에 도시된 바와 같이, 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함하는 대화 시스템(100)이 차량(200)에 포함될 수 있다. In the vehicle-only method, as shown in FIG. 10 , a
대화 시스템(100)이 차량(200)에 포함되면, 차량(200)이 자체적으로 사용자와의 대화를 처리하고 사용자에게 필요한 서비스를 제공해줄 수 있다. 다만, 대화 처리 및 서비스 제공을 위해 필요한 정보는 외부 컨텐츠 서버(300)로부터 가져올 수 있다.When the
차량 감지부(260)가 감지한 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 타이어 공기압, 현재 위치, 엔진 온도, 차량 속도, 차량 시동 여부 등과 같은 차량 상태 정보 또는 주행 환경 정보는 차량 제어기(240)를 통해 대화 시스템(100)에 입력된다. Vehicle state information or driving environment information, such as residual oil amount, rainfall amount, rainfall speed, surrounding obstacle information, tire air pressure, current location, engine temperature, vehicle speed, whether the vehicle is started, etc., detected by the
또한, 차량 제어기(240)는 대화 시스템(100)이 출력한 응답에 따라 차량(200)에 마련된 공조 장치(251), 윈도우(252), 도어(253), 시트(254) 또는 AVN(255) 등을 제어할 수 있다.In addition, the
예를 들어, 대화 시스템(100)이 사용자의 의도 또는 사용자에게 필요한 서비스가 차량(200) 내부의 온도를 낮추는 것이라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 공조 장치(251)를 제어하여 차량(200) 내부의 온도를 낮출 수 있다.For example, if the
다른 예로, 대화 시스템(100)이 사용자의 의도 또는 사용자에게 필요한 서비스가 운전석 윈도우(252a)를 올리는 것이라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 윈도우(252)를 제어하여 운전석 윈도우(252a)를 올릴 수 있다. As another example, if the
또 다른 예로, 대화 시스템(100)이 사용자의 의도에 대응되는 서비스 또는 사용자에게 필요한 서비스가 특정 목적지로의 경로 안내라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 AVN(255)을 제어하여 경로 안내를 수행할 수 있다. 필요한 경우, 통신 장치(280)가 외부 컨텐츠 서버(300)로부터 지도 데이터, POI 정보 등을 가져와 서비스 제공에 이용할 수 있다. As another example, if the
도 11 및 도 12는 대화 시스템이 원격 서버에 마련되고 차량이 사용자와 대화 시스템을 연결하는 게이트웨이의 역할만 하는 차량 게이트웨이 방식에 대한 제어 블록도이다.11 and 12 are control block diagrams of a vehicle gateway method in which a dialogue system is provided in a remote server and the vehicle serves only as a gateway connecting the user and the dialogue system.
차량 게이트웨이 방식에서는 도 11에 도시된 바와 같이, 차량(200) 외부에 원격 대화 시스템 서버(1)가 마련되고, 차량(200)에는 원격 대화 시스템 서버(1)와 통신 장치(280)를 통해 연결되는 대화 시스템 클라이언트(270)가 마련된다. 통신 장치(280)가 차량(200)과 원격 대화 시스템 서버(1)를 연결하는 게이트웨이의 역할을 수행한다.In the vehicle gateway method, as shown in FIG. 11 , the remote
대화 시스템 클라이언트(270)는 입출력 장치와 연결된 인터페이스로써 기능하며, 데이터 수집과 송수신을 수행할 수 있다.The
차량(200)에 마련된 음성 입력 장치(210)와 음성 외 입력 장치(220)가 사용자 입력을 수신하고 대화 시스템 클라이언트(270)에 전달하면, 대화 시스템 클라이언트(270)가 통신 장치(280)를 통해 원격 대화 시스템 서버(1)로 입력 데이터를 전송할 수 있다.When the
차량 제어기(240) 역시 차량 감지부(260)에서 감지한 데이터를 대화 시스템 클라이언트(270)에 전달할 수 있고, 대화 시스템 클라이언트(270)가 통신 장치(280)를 통해 원격 대화 시스템 서버(1)로 차량 감지부(260)에서 감지한 데이터를 전송할 수 있다. The
원격 대화 시스템 서버(1)에는 전술한 대화 시스템(100)이 마련되어 입력 데이터의 처리, 입력 데이터의 처리 결과를 바탕으로 한 대화 처리 및 대화 처리 결과에 기초한 결과 처리를 모두 수행할 수 있다. The remote
또한, 원격 대화 시스템 서버(1)는 입력 데이터의 처리, 대화 관리 또는 결과 처리에 있어 필요한 정보나 컨텐츠를 외부 컨텐츠 서버(300)로부터 가져올 수 있다.In addition, the remote
차량(200) 역시 원격 대화 시스템 서버(1)로부터 전송되는 응답에 따라 사용자에게 필요한 서비스를 제공하기 위해 필요한 컨텐츠를 외부 컨텐츠 서버(300)로부터 가져올 수 있다.The
도 12를 참조하면, 통신 장치(280)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈(281), 유선 통신 모듈(282) 및 무선 통신 모듈(283)를 포함할 수 있다.Referring to FIG. 12 , the
근거리 통신 모듈(281)은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.The short-
유선 통신 모듈(282)은 지역 통신(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) 등 다양한 케이블 통신 모듈 중 적어도 하나를 포함할 수 있다. The
무선 통신 모듈(283)은 와이파이(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 등 무선 통신 방식으로 인터넷망과 연결될 수 있는 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.The
한편, 통신 장치(280)는 차량(200) 내부의 전자 장치들 사이의 통신을 위한 내부 통신 모듈(미도시)을 더 포함할 수도 있다. 차량(200)의 내부 통신 프로토콜로는 CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등을 사용할 수 있다. Meanwhile, the
대화 시스템(100)은 무선 통신 모듈(283)을 이용하여 외부 컨텐츠 서버(300) 또는 원격 대화 시스템 서버(1)와 데이터를 주고 받을 수 있다. 또한, 무선 통신 모듈(283)을 이용하여V2X 통신을 수행할 수 있다. 또한, 근거리 통신 모듈(281) 또는 유선 통신 모듈(282)을 이용하여 차량(200)에 연결되는 모바일 기기와 데이터를 주고 받을 수 있다. The
도 13은 차량 게이트웨이 방식에서 차량이 입력 처리와 출력 처리를 일부 수행할 수 있는 경우에 대한 제어 블록도이다.13 is a control block diagram illustrating a case in which a vehicle may partially perform input processing and output processing in a vehicle gateway method.
전술한 바와 같이, 차량(200)의 대화 시스템 클라이언트(270)가 데이터의 수집 및 송수신의 기능만 수행하는 것도 가능하나, 도 13에 도시된 바와 같이, 대화 시스템 클라이언트(270)에 입력 처리기(271), 결과 처리기(273) 및 저장부(274)가 포함되어, 사용자나 차량으로부터 입력되는 데이터의 처리나 사용자에게 필요한 것으로 판단된 서비스 제공과 관련된 처리를 차량(200)에서도 수행하는 것이 가능하다. 즉, 입력 처리기(110)와 결과 처리기(130)의 동작을 원격 대화 시스템 서버(1)뿐만 아니라 차량(200)에서도 수행할 수 있다. As described above, it is also possible for the
이 경우, 전술한 입력 처리기(110)의 동작을 대화 시스템 클라이언트(270)가 일부만 수행하는 것도 가능하고 전부 수행하는 것도 가능하다. 또한, 전술한 결과 처리기(130)의 동작을 대화 시스템 클라이언트(270)가 일부만 수행하는 것도 가능하고 전부 수행하는 것도 가능하다.In this case, it is also possible for the
처리해야 할 데이터의 용량 및 데이터 처리 속도 등을 고려하여 원격 대화 시스템 서버(1)와 대화 시스템 클라이언트(270) 사이의 태스크 분담을 결정할 수 있다. The task sharing between the remote
도 14는 원격 대화 시스템 서버와 차량이 모두 대화 처리를 수행할 수 있는 하이브리드 방식에 대한 제어 블록도이다.14 is a control block diagram of a hybrid method in which both a remote conversation system server and a vehicle can perform conversation processing.
하이브리드 방식에서는 도 14에 도시된 바와 같이, 원격 대화 시스템 서버(1)에도 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)가 마련되어 대화 처리를 수행할 수 있고, 차량(200)에도 입력 처리기(291), 대화 관리기(292), 결과 처리기(293) 및 저장부(294)를 포함하는 단말 대화 시스템(290)이 마련되어 대화 처리를 수행할 수 있다. In the hybrid method, as shown in FIG. 14 , an
다만, 차량(200)에 마련된 프로세서나 메모리는 원격 대화 시스템 서버(1)에 마련된 프로세서나 메모리와 용량이나 성능 측면에서 차이가 있을 수 있다. 따라서, 단말 대화 시스템(290)에서 모든 입력 데이터를 처리하고 대화를 관리하여 결과를 출력할 수 있는 경우에는 단말 대화 시스템(290)에서 전 과정을 수행하고, 그렇지 않은 경우에는 원격 대화 시스템 서버(1)에 처리를 요청할 수 있다. However, the processor or memory provided in the
단말 대화 시스템(290)에서 대화 처리를 수행하기 전에, 입력 데이터의 종류에 기초하여 단말 대화 시스템(290)의 처리 가부를 판단하고, 판단 결과에 따라 직접 처리하거나 원격 대화 시스템 서버(1)에 처리를 요청할 수 있다.Before the dialog processing in the
또는, 단말 대화 시스템(290)이 대화 처리를 수행하다가 처리가 불가능한 상황이 발생하였을 때, 원격 대화 시스템 서버(1)에 처리를 요청하면서 자신이 처리한 결과를 함께 전송하는 것도 가능하다. Alternatively, when a situation occurs in which the
예를 들어, 고성능의 컴퓨팅 파워, 장기간 데이터의 처리가 필요한 경우는 원격 대화 시스템 서버(1)에서 처리하고, 실시간으로 처리해야 하는 것은 단말 대화 시스템(290)에서 처리할 수 있다. 예를 들어, 즉시 처리가 필요한 인스턴스가 발생하여 동기화 이전 데이터를 처리해야 하는 경우에는 단말 대화 시스템(290)에서 우선적으로 처리되도록 설정할 수 있다. For example, when high-performance computing power and long-term data processing are required, the remote
또한, 차량 내 미등록 발화자가 있어 사용자 확인이 필요한 경우에는 원격 대화 시스템 서버(1)에서 대화를 처리하도록 할 수 있다. In addition, when there is an unregistered speaker in the vehicle and user confirmation is required, the remote
또한, 통신 장치(280)를 통해 원격 대화 시스템 서버(1)와 연결이 불가능한 상황에서 단말 대화 시스템(290)이 자체적으로 대화 처리를 완료할 수 없는 경우에는, 대화자 출력 장치(230)를 통해 사용자에게 대화 처리가 수행될 수 없음을 안내할 수 있다. In addition, when the
단말 대화 시스템(290)에 저장되는 데이터와 원격 대화 시스템 서버(1)에 저장되는 데이터는 데이터의 용량이나 데이터의 종류와 같은 기준에 따라 결정될 수 있다. 예를 들어, 개인 식별이 가능하여 프라이버시 침해 우려가 있는 데이터의 경우에는 단말 대화 시스템(290)의 저장부(294)에 저장할 수 있다. 또한, 대용량의 데이터는 원격 대화 시스템 서버(1)의 저장부(140)에 저장하고, 소용량의 데이터는 단말 대화 시스템(290)의 저장부(294)에 저장할 수 있다. 또는, 소용량의 데이터가 원격 대화 시스템 서버(1)의 저장부(140)와 단말 대화 시스템(290)의 저장부(294) 양쪽에 모두 저장되는 것도 가능하다.The data stored in the
도 15및 도 16은 차량에 연결된 모바일 기기가 사용자와 원격 대화 시스템 서버를 연결하는 모바일 게이트웨이 방식에 대한 제어 블록도이다.15 and 16 are control block diagrams of a mobile gateway method in which a mobile device connected to a vehicle connects a user and a remote conversation system server.
모바일 게이트웨이 방식에서는 도 15에 도시된 바와 같이, 모바일 기기(400)가 차량(200)으로부터 차량 상태 정보, 주행 환경 정보를 수신하고, 사용자 입력과 차량 상태 정보를 원격 대화 시스템 서버(1)로 전송한다. 즉, 모바일 기기(400)가 사용자와 원격 대화 시스템 서버(1) 또는 차량(200)과 원격 대화 시스템 서버(1)를 연결하는 게이트웨이의 역할을 수행한다.In the mobile gateway method, as shown in FIG. 15 , the
모바일 기기(400)는 스마트 폰, 스마트 워치, 스마트 글래스, PDA, 태플릿 PC 등과 같이 휴대가 가능하며 외부 서버 및 차량과 통신하여 데이터를 주고 받을 수 있는 전자 기기일 수 있다.The
모바일 기기(400)는 사용자 음성을 입력 받는 음성 입력 장치(410), 사용자의 음성 외 입력을 수신하는 음성 외 입력 장치(420), 시각적, 청각적 또는 촉각적으로 응답을 출력하는 출력 장치(430), 원격 대화 시스템 서버(1) 및 차량(200)과 통신하여 데이터를 송수신하는 통신 장치(480) 및 차량(200)과 사용자로부터 입력 데이터를 수집하여 통신 장치(480)를 통해 원격 대화 시스템 서버(1)로 전송하는 대화 시스템 클라이언트(470)를 포함한다.The
음성 입력 장치(410)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰을 포함할 수 있다.The
음성 외 입력 장치(420)는 모바일 기기(400)에 마련된 입력 버튼, 터치 스크린 또는 카메라를 포함할 수 있다.The
출력 장치(430)는 모바일 기기(400)에 마련된 디스플레이, 스피커 또는 진동기를 포함할 수 있다.The
사용자에 대한 입출력 인터페이스로 모바일 기기(400)에 마련된 음성 입력 장치(410), 음성 외 입력 장치(420) 및 출력 장치(430)를 이용하는 것뿐만 아니라, 차량(200)에 마련된 음성 입력 장치(210), 음성 외 입력 장치(220) 및 대화자 출력 장치(230)를 이용하는 것도 가능하다. In addition to using the
차량(200)이 차량 감지부(260)가 감지한 데이터와 사용자 입력을 모바일 기기(400)에 전달하면, 모바일 기기(400)의 대화 시스템 클라이언트(470)가 이를 원격 대화 시스템 서버(1)로 전송한다. When the
또한, 대화 시스템 클라이언트(470)는 원격 대화 시스템 서버(1)로부터 전송되는 응답이나 명령어를 차량(200)에 전달할 수 있다. 사용자에 대한 입출력 인터페이스로 차량(200)에 마련된 대화자 출력 장치(230)를 이용하는 경우에는, 대화자 출력 장치(230)를 통해 사용자의 발화에 대한 응답을 출력할 수 있다. 모바일 기기(400)에 마련된 출력 장치(430)를 이용하는 경우에는, 모바일 기기(400)의 출력 장치(430)를 통해 사용자의 발화에 대한 응답을 출력할 수 있다.Also, the
차량 제어를 위한 명령어는 차량(200)에 전달되고, 차량 제어기(240)는 전달된 명령어에 대응되는 제어를 수행하여 사용자에게 필요한 서비스를 제공할 수 있다. A command for vehicle control is transmitted to the
한편, 대화 시스템 클라이언트(470)는 입력 데이터를 수집하여 원격 대화 시스템 서버(1)로 전달하는 것뿐만 아니라, 대화 시스템(100)의 입력 처리기(110) 및 결과 처리기(130)의 기능을 일부 또는 전부 수행하는 것도 가능하다. On the other hand, the
도 16을 참조하면, 모바일 기기(400)의 통신 장치(480)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈(481), 유선 통신 모듈(482) 및 무선 통신 모듈(483)를 포함할 수 있다.Referring to FIG. 16 , the
근거리 통신 모듈(481)은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.The short-
유선 통신 모듈(482)은 지역 통신(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) 등 다양한 케이블 통신 모듈 중 적어도 하나를 포함할 수 있다. The
무선 통신 모듈(483)은 와이파이(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 등 무선 통신 방식으로 인터넷망과 연결될 수 있는 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.The
예를 들어, 모바일 기기(400)는 근거리 통신 모듈(481) 또는 유선 통신 모듈(482)을 통해 차량(200)과 연결될 수 있고, 무선 통신 모듈(483)을 통해 원격 대화 시스템 서버(1) 또는 외부 컨텐츠 서버(300)와 연결될 수 있다. For example, the
도 17은 모바일 기기에 대화 시스템이 탑재되는 모바일 단독 방식에 대한 제어 블록도이다.17 is a control block diagram of a mobile-only method in which a conversation system is mounted on a mobile device.
모바일 단독 방식에서는, 도 17에 도시된 바와 같이, 대화 시스템(100)이 모바일 기기(400)에 마련된다. In the mobile-only method, as shown in FIG. 17 , the
따라서, 대화 처리를 수행하기 위해 원격 대화 시스템 서버(1)와 연결될 필요가 없고, 모바일 기기(400)가 자체적으로 사용자와의 대화를 처리하고 사용자에게 필요한 서비스를 제공해줄 수 있다. 다만, 대화 처리 및 서비스 제공을 위해 필요한 정보는 외부 컨텐츠 서버(300)로부터 가져올 수 있다.Accordingly, there is no need to be connected to the remote
이하, 대화 시스템(100)의 세부적인 구성 및 각 구성요소 별 구체적인 동작을 상세하게 설명한다. 후술하는 실시예에서는 설명의 편의를 위해, 대화 시스템(100)이 차량(200)에 마련된 경우를 가정하여 설명한다.Hereinafter, a detailed configuration of the
도 18, 도 19a 및 도 19b는 대화 시스템의 구성 중 입력 처리기의 구성이 세분화된 제어 블록도이다.18, 19A, and 19B are control block diagrams in which the configuration of the input processor is subdivided among the configuration of the dialog system.
도 18을 참조하면, 입력 처리기(110)는 음성 입력을 처리하는 음성 입력 처리기(111) 및 상황 정보를 처리하는 상황 정보 처리기(112)를 포함할 수 있다. Referring to FIG. 18 , the
음성 입력 장치(210)를 통해 입력된 사용자 음성은 음성 입력 처리기(111)로 전송되고, 음성 외 입력 장치(220)를 통해 입력된 음성 외 사용자 입력은 상황 정보 처리기(112)로 전송된다. The user's voice input through the
차량 제어기(240)는 차량 상태 정보, 주행 환경 정보 및 사용자 정보를 상황 정보 처리기(112)로 전송한다. 주행 환경 정보 및 사용자 정보는 외부 컨텐츠 서버(300) 또는 차량(200)에 연결된 모바일 기기(400)로부터 제공될 수도 있다. The
음성 외 입력은 모두 상황 정보에 포함될 수 있다. 즉, 상황 정보는 차량 상태 정보, 주행 환경 정보, 사용자 정보를 포함할 수 있다. Any input other than voice may be included in the context information. That is, the context information may include vehicle state information, driving environment information, and user information.
차량 상태 정보는 차량(200)에 마련된 센서에 의해 획득된 정보로서 차량의 상태를 나타내는 정보, 차량의 유종과 같이 차량에 관련된 정보로서 차량에 저장되어 있는 정보 등을 포함할 수 있다. The vehicle state information is information obtained by a sensor provided in the
주행 환경 정보는 차량(200)에 마련된 센서에 의해 획득된 정보로서 전방 카메라, 후방 카메라 또는 스테레오 카메라가 획득한 영상 정보, 레이더(radar), 라이다(Lidar), 초음파 센서 등의 센서가 획득한 장애물 정보, 강우 센서가 획득한 강우량/강우속도 정보 등을 포함할 수 있다. Driving environment information is information acquired by a sensor provided in the
또한, 주행 환경 정보는 V2X를 통해 획득된 정보로서 교통 상황 정보, 신호등 정보, 주변 차량의 접근 또는 추돌 가능성 정보 등을 더 포함할 수 있다.In addition, the driving environment information is information obtained through V2X, and may further include traffic situation information, traffic light information, approach or collision possibility information of nearby vehicles, and the like.
사용자 정보는 차량에 마련된 카메라 또는 생체 신호 측정 장치를 통해 측정한 사용자의 상태와 관련된 정보, 사용자가 차량에 마련된 입력 장치를 이용하여 직접 입력한 사용자와 관련된 정보, 외부 컨텐츠 서버(300)에 저장된 사용자와 관련된 정보, 차량에 연결된 모바일 기기(400)에 저장된 정보 등을 포함할 수 있다.The user information includes information related to a user's state measured through a camera or biosignal measuring device provided in the vehicle, information related to a user directly input by the user using an input device provided in the vehicle, and a user stored in the
음성 입력 처리기(111)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 출력하는 음성 인식기(111a), 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악하는 자연어 이해기(111b) 및 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전달하는 대화 입력 관리기(111c)를 포함할 수 있다. The
음성 인식기(111a)는 음성 인식 엔진(speech recognition engine)을 포함하고, 음성 인식 엔진은 입력된 음성에 음성 인식 알고리즘을 적용하여 사용자가 발화한 음성을 인식하고, 인식 결과를 생성할 수 있다. The
이 때, 입력된 음성은 음성 인식을 위한 더 유용한 형태로 변환될 수 있는바, 음성 신호로부터 시작 지점과 끝 지점을 검출하여 입력된 음성에 포함된 실제 음성 구간을 검출한다. 이를 EPD(End Point Detection)이라 한다.At this time, since the input voice can be converted into a more useful form for voice recognition, a start point and an end point are detected from the voice signal to detect an actual voice section included in the input voice. This is called EPD (End Point Detection).
그리고, 검출된 구간 내에서 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 입력된 음성의 특징 벡터를 추출할 수 있다. In addition, features such as cepstrum, linear predictive coding (LPC), mel frequency cepstral coefficient (MFCC) or filter bank energy within the detected section A feature vector of the input speech can be extracted by applying a vector extraction technique.
그리고, 추출된 특징 벡터와 훈련된 기준 패턴과의 비교를 통하여 인식 결과를 얻을 수 있다. 이를 위해, 음성의 신호적인 특성을 모델링하여 비교하는 음향 모델(Acoustic Model) 과 인식 어휘에 해당하는 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델(Language Model)이 사용될 수 있다. 이를 위해, 저장부(140)에는 음향 모델/언어 모델 DB가 저장될 수 있다. Then, the recognition result can be obtained by comparing the extracted feature vector with the trained reference pattern. To this end, an acoustic model for modeling and comparing the signal characteristics of speech and a language model for modeling a linguistic order relationship such as words or syllables corresponding to the recognition vocabulary may be used. To this end, the acoustic model/language model DB may be stored in the
음향 모델은 다시 인식 대상을 특징 벡터 모델로 설정하고 이를 음성 데이터의 특징 벡터와 비교하는 직접 비교 방법과 인식 대상의 특징 벡터를 통계적으로 처리하여 이용하는 통계 방법을 나뉠 수 있다. The acoustic model can be further divided into a direct comparison method in which the recognition target is set as a feature vector model and compared with the feature vector of speech data, and a statistical method in which the feature vector of the recognition target is statistically processed and used.
직접 비교 방법은 인식 대상이 되는 단어, 음소 등의 단위를 특징 벡터 모델로 설정하고 입력 음성이 이와 얼마나 유사한지를 비교하는 방법으로서, 대표적으로 벡터 양자화(Vector Quantization) 방법이 있다. 벡터 양자화 방법에 의하면 입력된 음성 데이터의 특징 벡터를 기준 모델인 코드북(codebook)과 매핑시켜 대표 값으로 부호화함으로써 이 부호 값들을 서로 비교하는 방법이다.The direct comparison method sets a unit such as a word or phoneme to be recognized as a feature vector model and compares how similar the input speech is. A representative vector quantization method is used. According to the vector quantization method, a feature vector of input speech data is mapped with a codebook, which is a reference model, and encoded as a representative value, thereby comparing the code values with each other.
통계적 모델 방법은 인식 대상에 대한 단위를 상태 열(State Sequence)로 구성하고 상태 열 간의 관계를 이용하는 방법이다. 상태 열은 복수의 노드(node)로 구성될 수 있다. 상태 열 간의 관계를 이용하는 방법은 다시 동적 시간 와핑(Dynamic Time Warping: DTW), 히든 마르코프 모델(Hidden Markov Model: HMM), 신경 회로망을 이용한 방식 등이 있다. The statistical model method is a method of composing a unit for a recognition target into a state sequence and using the relationship between the state sequences. The status column may consist of a plurality of nodes. Methods using the relationship between state columns again include Dynamic Time Warping (DTW), Hidden Markov Model (HMM), and a method using a neural network.
동적 시간 와핑은 같은 사람이 같은 발음을 해도 신호의 길이가 시간에 따라 달라지는 음성의 동적 특성을 고려하여 기준 모델과 비교할 때 시간 축에서의 차이를 보상하는 방법이고, 히든 마르코프 모델은 음성을 상태 천이 확률 및 각 상태에서의 노드(출력 심볼)의 관찰 확률을 갖는 마르코프 프로세스로 가정한 후에 학습 데이터를 통해 상태 천이 확률 및 노드의 관찰 확률을 추정하고, 추정된 모델에서 입력된 음성이 발생할 확률을 계산하는 인식 기술이다. Dynamic time warping is a method of compensating for differences in the time axis when compared with the reference model in consideration of the dynamic characteristics of speech in which the length of the signal varies with time even if the same person pronounces the same pronunciation, and the Hidden Markov model converts speech into state transition After assuming as a Markov process with the probability and the observation probability of the node (output symbol) in each state, the state transition probability and the observation probability of the node are estimated through the training data, and the probability that the input voice occurs in the estimated model is calculated. It is a recognition technology that
한편, 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델은 언어를 구성하는 단위들 간의 순서 관계를 음성 인식에서 얻어진 단위들에 적용함으로써 음향적인 모호성을 줄이고 인식의 오류를 줄일 수 있다. 언어 모델에는 통계적 언어 모델과 유한 상태 네트워크(Finite State Automata: FSA)에 기반한 모델이 있고, 통계적 언어 모델에는 Unigram, Bigram, Trigram 등 단어의 연쇄 확률이 이용된다. On the other hand, a language model modeling a linguistic order relationship such as words or syllables can reduce acoustic ambiguity and reduce recognition errors by applying the order relationship between units constituting language to units obtained in speech recognition. The language model includes a statistical language model and a model based on a Finite State Automata (FSA). In the statistical language model, chain probabilities of words such as Unigram, Bigram, and Trigram are used.
음성 인식기(111a)는 음성을 인식함에 있어 상술한 방식 중 어느 방식을 사용해도 무방하다. 예를 들어, 히든 마르코프 모델이 적용된 음향 모델을 사용할 수도 있고, 음향 모델과 음성 모델을 통합한 N-best 탐색법을 사용할 수 있다. N-best 탐색법은 음향 모델과 언어 모델을 이용하여 N개까지의 인식 결과 후보를 선택한 후, 이들 후보의 순위를 재평가함으로써 인식 성능을 향상시킬 수 있다. The
음성 인식기(111a)는 인식 결과의 신뢰성을 확보하기 위해 신뢰값(confidence value)을 계산할 수 있다. 신뢰값은 음성 인식 결과에 대해서 그 결과를 얼마나 믿을 만한 것인가를 나타내는 척도이다. 일 예로, 인식된 결과인 음소나 단어에 대해서, 그 외의 다른 음소나 단어로부터 그 말이 발화되었을 확률에 대한 상대값으로 정의할 수 있다. 따라서, 신뢰값은 0 에서 1 사이의 값으로 표현할 수도 있고, 0 에서 100 사이의 값으로 표현할 수도 있다. The
신뢰값이 미리 설정된 임계값(threshold)을 초과하는 경우에는 인식 결과를 출력하여 인식 결과에 대응되는 동작이 수행되도록 할 수 있고, 신뢰값이 임계값 이하인 경우에는 인식 결과를 거절(rejection)할 수 있다. When the confidence value exceeds a preset threshold, an operation corresponding to the recognition result can be output by outputting the recognition result, and when the confidence value is less than the threshold value, the recognition result can be rejected have.
음성 인식기(111a)의 인식 결과인 텍스트 형태의 발화문은 자연어 이해기(111b)로 입력된다. The speech recognition result of the
자연어 이해기(111b)는 자연어 이해 기술을 적용하여 발화문에 내포된 사용자의 의도를 파악할 수 있다. 따라서, 사용자는 자연스러운 대화(Dialogue)를 통해 명령을 입력할 수 있고, 대화 시스템(100) 역시 대화를 통해 명령의 입력을 유도하거나 사용자가 필요로 하는 서비스를 제공할 수 있다. The
먼저, 자연어 이해기(111b)는 텍스트 형태의 발화문에 대해 형태소 분석을 수행한다. 형태소는 의미의 최소 단위로써, 더 이상 세분화할 수 없는 가장 작은 의미 요소를 나타낸다. 따라서, 형태소 분석은 자연어 이해의 첫 단계로서, 입력 문자열을 형태소열로 바꿔준다. First, the
자연어 이해기(111b)는 형태소 분석 결과에 기초하여 발화문으로부터 도메인을 추출한다. 도메인은 사용자가 발화한 언어의 주제를 식별할 수 있는 것으로서, 예를 들어, 경로 안내, 날씨 검색, 교통 검색, 일정 관리, 주유 안내, 공조 제어 등의 다양한 주제를 나타내는 도메인이 데이터베이스화 되어 있다. The
자연어 이해기(111b)는 발화문으로부터 개체명을 인식할 수 있다. 개체명은 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식은 문장에서 개체명을 식별하고 식별된 개체명의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다. The
자연어 이해기(111b)는 발화문이 갖는 화행을 분석할 수 있다. 화행 분석은 사용자 발화에 대한 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등에 관한 발화의 의도를 파악하는 것이다. The
자연어 이해기(111b)는 사용자의 발화 의도에 대응하는 액션을 추출한다. 발화문에 대응되는 도메인, 개체명, 화행 등의 정보에 기초하여 사용자의 발화 의도를 파악하고, 발화 의도에 대응되는 액션을 추출한다. 액션은 오브젝트(Object)와 오퍼레이터(Operator)에 의해 정의될 수 있다. The
또한, 자연어 이해기(111b)는 액션 수행과 관련된 인자를 추출하는 것도 가능하다. 액션 수행과 관련된 인자는 액션을 수행하는데 직접적으로 필요한 유효 인자일 수도 있고, 이러한 유효 인자를 추출하기 위해 사용되는 비유효 인자일 수도 있다.In addition, the
예를 들어, 사용자의 발화문이 "서울역 가자"인 경우에, 자연어 이해기(111b)는 발화문에 대응되는 도메인으로 "내비게이션"을 추출하고, 액션으로 "길안내"를 추출할 수 있다. 화행은 "요청"에 해당한다. For example, when the user's utterance is "Let's go to Seoul Station", the
개체명인 "서울역"은 액션 수행과 관련된 [인자: 목적지]에 해당하나, 실제 내비게이션을 통한 길안내를 위해서는 구체적인 출구 번호나 GPS 정보가 필요할 수 있다. 이 경우, 자연어 이해기(111b)가 추출한 [인자: 목적지: 서울역]은 다수의 서울역 POI 중 실제 사용자가 원하는 서울역을 검색하기 위한 후보 인자가 될 수 있다. The entity name "Seoul Station" corresponds to the [factor: destination] related to the action, but specific exit numbers or GPS information may be required for actual navigation through navigation. In this case, the [factor: destination: Seoul Station] extracted by the
또한, 자연어 이해기(111b)는 파스트리(Parse-tree)와 같이 단어와 단어, 문장과 문장의 수식 관계를 표현할 수 있는 수단도 추출할 수 있다. In addition, the
자연어 이해기(111b)의 처리 결과인, 형태소 분석 결과, 도메인 정보, 액션 정보, 화행 정보, 추출된 인자 정보, 개체명 정보, 파스트리 등은 대화 입력 관리기(111c)로 전달된다. The processing results of the
상황 정보 처리기(112)는 음성 외 입력 장치(220)와 차량 제어기(240)로부터 정보를 수집하는 상황 정보 수집기(112a), 상황 정보의 수집을 관리하는 상황 정보 수집 관리기(112b) 및 자연어 이해 결과와 수집된 상황 정보에 기초하여 상황을 이해하는 상황 이해기(112c)를 포함할 수 있다. The
입력 처리기(110)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The
또한, 입력 처리기(110)에 포함되는 음성 입력 처리기(111)와 상황 정보 처리기(112)는 동일한 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다. In addition, the
이하, 도 19a 및 도 19b를 참조하여 입력 처리기(110)의 구성요소들이 저장부(140)에 저장된 정보를 이용하여 어떻게 입력 데이터를 처리하는지 구체적으로 설명한다. Hereinafter, how the components of the
도 19a를 참조하면, 자연어 이해기(111b)는 도메인 추출, 개체명 인식, 화행 분석 및 액션 추출을 위해 도메인/액션 추론 규칙 DB(141)를 이용할 수 있다. Referring to FIG. 19A , the
도메인/액션 추론 규칙 DB(141)에는 도메인 추출 규칙, 화행 분석 규칙, 개체명 변환 규칙, 액션 추출 규칙 등이 저장될 수 있다. The domain/action
음성 외 사용자 입력, 차량 상태 정보, 주행 환경 정보, 사용자 정보와 같은 기타 정보는 상황 정보 수집기(112a)로 입력되고, 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장될 수 있다. Other information such as user input, vehicle status information, driving environment information, and user information other than voice is input to the
예를 들어, 상황 정보 DB(142)에는 차량 감지부(260)가 감지한 로우 데이터(raw data)가 센서 타입과 센서 값으로 구분되어 저장될 수 있다. For example, raw data detected by the
단기 메모리(144)와 장기 메모리(143)에는 사용자의 현재 상태, 사용자의 선호도/성향 또는 이를 판단할 수 있는 데이터와 같이 사용자에게 의미가 있는 데이터가 저장될 수 있다.The short-
전술한 바와 같이, 장기 메모리(143)에는 사용자의 전화번호부, 일정, 선호도, 학력, 성격, 직업, 가족 관련 정보 등과 같이 영속성이 보장되어 장기적으로 사용 가능한 정보가 저장될 수 있다. 단기 메모리(144)에는 현재/이전 위치, 오늘 일정, 이전 대화 내용, 대화 참여자, 주변 상황, 도메인, 운전자 상태 등과 같이 영속성이 보장되지 않거나 불확실하여 단기적으로 사용되는 정보가 저장될 수 있다. 데이터의 종류에 따라 상황 정보 DB(142), 단기 메모리(144) 및 장기 메모리(143) 중 두 개 이상의 저장소에 중복되어 저장되는 데이터도 있을 수 있다.As described above, the long-
또한, 단기 메모리(144)에 저장된 정보 중 영속성이 보장되는 것으로 판단된 정보는 장기 메모리(143)로 보내질 수 있다. Also, among the information stored in the short-
또한, 단기 메모리(144)나 상황 정보 DB(142)에 저장된 정보를 이용하여 장기 메모리(143)에 저장될 정보를 획득하는 것도 가능하다. 예를 들어, 일정 기간 축적된 목적지 정보 또는 대화 내용을 분석하여 사용자의 선호도를 획득하고, 획득된 사용자의 선호도를 장기 메모리(143)에 저장할 수 있다. Also, it is possible to obtain information to be stored in the long-
단기 메모리(144)나 상황 정보 DB(142)에 저장된 정보를 이용하여 장기 메모리(143)에 저장될 정보를 획득하는 것은 대화 시스템(100) 내부에서 수행되는 것도 가능하고, 별도의 외부 시스템에서 수행되는 것도 가능하다.Acquisition of information to be stored in the long-
전자의 경우, 후술하는 결과 처리기(130)의 메모리 관리기(135)에서 수행 가능하다. 이 경우, 단기 메모리(144)나 상황 정보 DB(142)에 저장된 데이터 중에서 사용자의 선호도나 성향과 같이 의미 있는 정보 또는 영속성 있는 정보를 획득하는데 사용되는 데이터는 장기 메모리(143)에 로그 파일 형태로 저장될 수 있다. 메모리 관리기(135)는 일정 기간 이상 축적된 데이터를 분석하여 영속성이 있는 데이터를 획득하고 장기 메모리(143)에 다시 저장한다. 장기 메모리(143) 내에서 영속성 있는 데이터가 저장되는 위치와 로그 파일 형태로 저장되는 데이터가 저장되는 위치를 서로 다를 수 있다. The former case can be performed in the
또는, 메모리 관리기(135)가 단기 메모리(144)에 저장된 데이터 중에서 영속성 있는 데이터를 판단하고, 판단된 데이터를 장기 메모리(143)로 옮겨 저장하는 것도 가능하다. Alternatively, the
별도의 외부 시스템에서 수행하는 경우에는, 도 19b에 도시된 바와 같이 통신부(810), 저장부(820) 및 제어부(830)를 포함하는 데이터 관리 시스템(800)이 사용될 수 있다. When performing in a separate external system, a
통신부(810)가 상황 정보 DB(142) 또는 단기 메모리(144)에 저장된 데이터를 수신한다. 저장된 데이터 전부가 통신부에 전송될 수도 있고, 사용자의 선호도나 성향과 같이 의미 있는 정보 또는 영속성 있는 정보를 획득하는데 사용되는 데이터만 선별되어 전송될 수도 있다. 수신된 데이터는 저장부(820)에 저장된다.The
제어부(830)는 축적된 데이터를 분석하여 영속성이 있는 데이터를 획득하고, 획득된 데이터는 다시 통신부(810)를 통해 대화 시스템(100)으로 전송한다. 전송된 데이터는 대화 시스템(100)의 장기 메모리(143)에 저장된다.The
대화 입력 관리기(111c)는 자연어 이해기(111b)의 출력 결과를 상황 이해기(112c)에 전달하여 액션 수행과 관련된 상황 정보를 얻을 수 있다. The
상황 이해기(112c)는 상황 이해 테이블(145)에 저장된 액션 별 상황 정보를 참조하여, 사용자의 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 무엇인지 판단할 수 있다. The
도 20a 및 도 20B는 상황 이해 테이블에 저장되는 정보의 예시를 나타낸 도면이다.20A and 20B are diagrams illustrating examples of information stored in a context understanding table.
도 20a 의 예시를 참조하면, 상황 이해 테이블(145)에는 액션 수행과 관련된 상황 정보와 상황 정보 타입이 각각의 액션 별로 저장될 수 있다.Referring to the example of FIG. 20A , in the context understanding table 145, context information related to action execution and a context information type may be stored for each action.
예를 들어, 길 안내가 액션인 경우에는 상황 정보로 현재 위치가 필요하고, 상황 정보 타입은 GPS 정보일 수 있다. 차량 상태 점검이 액션인 경우에는 상황 정보로 이동거리가 필요하고, 상황 정보 타입은 정수일 수 있다. 주유소 추천이 액션인 경우에는 상황 정보로 잔유량과 주행 가능 거리(DTE: Distance To Empty)이 필요하고, 상황 정보 타입은 정수일 수 있다. For example, when a route guidance is an action, a current location is required as context information, and the context information type may be GPS information. When the vehicle condition check is an action, a moving distance is required as context information, and the context information type may be an integer. When the gas station recommendation is an action, residual fuel amount and distance to empty (DTE) are required as context information, and the context information type may be an integer.
사용자 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 이미 저장되어 있는 경우, 상황 이해기(112c)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 해당 정보를 가져와 대화 입력 관리기(111c)에 전달한다.When context information related to performing an action corresponding to the user's utterance intention is already stored in the
사용자 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장되어 있지 않은 경우, 상황 이해기(112c)는 상황 정보 수집 관리기(112b)에 필요한 정보를 요청한다. 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 필요한 정보를 수집하도록 한다. When the context information related to performing an action corresponding to the user's utterance intention is not stored in the
상황 정보 수집기(112a)는 주기적으로 데이터를 수집할 수도 있고, 특정 이벤트 발생 시에 수집할 수도 있으며, 주기적으로 수집하다가 특정 이벤트 발생 시에 추가적으로 더 수집할 수도 있다. 또한, 상황 정보 수집 관리기(112b)로부터 데이터 수집 요청이 입력되는 경우에 데이터를 수집할 수도 있다. The
상황 정보 수집기(112a)는 필요한 정보를 수집하여 상황 정보 DB(142) 또는 단기 메모리(144)에 저장하고, 상황 정보 수집 관리기(112b)에 확인 신호를 전송한다. The
상황 정보 수집 관리기(112b)도 상황 이해기(112c)에 확인 신호를 전송하고, 상황 이해기(112c)는 필요한 정보를 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 가져와 대화 입력 관리기(111c)로 전달한다. The contextual
구체적인 예로, 사용자 발화 의도에 대응되는 액션이 길안내인 경우, 상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 길안내와 관련된 상황 정보가 현재 위치임을 알 수 있다. As a specific example, when the action corresponding to the user's utterance intention is navigation, the
단기 메모리(144)에 현재 위치가 이미 저장되어 있는 경우, 상황 이해기(112c)는 단기 메모리(144)로부터 현재 위치를 가져와 대화 입력 관리기(111c)에 전달한다.If the current location is already stored in the short-
단기 메모리(144)에 현재 위치가 저장되어 있지 않은 경우에는, 상황 정보 수집 관리기(112b)에 현재 위치를 요청하고, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)로 하여금 차량 제어기(240)로부터 현재 위치를 획득하게 한다. If the current location is not stored in the short-
상황 정보 수집기(112a)가 현재 위치를 획득하여 단기 메모리(144)에 저장하고, 상황 정보 수집 관리기(112b)에 확인 신호를 전송한다. 상황 정보 수집 관리기(112b)도 상황 이해기(112c)에 확인 신호를 전송하고, 상황 이해기(112c)는 단기 메모리(144)로부터 현재 위치 정보를 가져와 대화 입력 관리기(111c)로 전달한다. The
대화 입력 관리기(111c)는 자연어 이해기(111b)의 출력과 상황 이해기(112c)의 출력을 대화 관리기(120)로 전달하고, 중복된 입력이 대화 관리기(120)로 들어가지 않도록 관리할 수 있다. 이 때, 자연어 이해기(111b)의 출력과 상황 이해기(112c)의 출력은 하나로 합쳐져서 대화 관리기(120)에 전달될 수도 있고, 각각 독립적으로 전달될 수도 있다.The
한편, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(112c)에 액션 트리거 신호를 전송할 수 있다. Meanwhile, the contextual
상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 해당 이벤트와 관련된 상황 정보를 검색하고, 검색된 상황 정보가 저장되어 있지 않으면 다시 상황 정보 수집 관리기(112b)에 상황 정보의 요청 신호를 전송한다. The context understandr 112c searches the context understanding table 145 to retrieve context information related to the corresponding event, and if the retrieved context information is not stored, transmits a request signal for context information to the context
도 20B의 예시와 같이, 상황 이해 테이블(145)에는 이벤트와 관련된 상황 정보와 상황 정보의 타입이 각각의 이벤트 별로 저장될 수 있다.As in the example of FIG. 20B , context information related to an event and a type of context information may be stored in the context understanding table 145 for each event.
예를 들어, 발생된 이벤트가 엔진 온도 경고인 경우에는 관련된 상황 정보로 정수 타입의 엔진 온도가 저장될 수 있다. 발생된 이벤트가 운전자 졸음 감지인 경우에는 관련된 상황 정보로 정수 타입의 운전자 졸음 단계가 저장될 수 있다. 발생된 이벤트가 타이어 공기압 부족인 경우에는 관련된 상황 정보로 정수 타입의 타이어 공기 압력이 저장될 수 있다. 발생된 이벤트가 연료 경고인 경우에는 관련된 상황 정보로 정수 타입의 주행 가능 거리가 저장될 수 있다. 발생된 이벤트가 센서 이상인 경우에는 관련된 상황 정보로 문자 타입의 센서 명칭이 저장될 수 있다. For example, when the generated event is an engine temperature warning, an integer type engine temperature may be stored as related context information. When the generated event is driver drowsiness detection, an integer type driver drowsiness level may be stored as related context information. When the generated event is insufficient tire air pressure, an integer type of tire air pressure may be stored as related context information. When the generated event is a fuel warning, an integer type of drivable distance may be stored as related context information. When the generated event is more than a sensor, a text-type sensor name may be stored as related context information.
상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)를 통해 필요한 상황 정보를 수집하고, 상황 이해기(112c)에 확인 신호를 전송한다. 상황 이해기(112c)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 필요한 상황 정보를 가져와 액션 정보와 함께 대화 입력 관리기(111c)로 전달한다.The contextual
대화 입력 관리기(111c)는 상황 이해기(112c)의 출력을 대화 관리기(120)로 입력한다. The
도 21은 대화 관리기의 구성이 세분화된 제어 블록도이고, 도 22는 연관 액션 DB에 저장된 정보의 예시를 나타낸 도면이고, 도 23은 액션 수행 조건 DB에 저장된 정보의 예시를 나타낸 도면이며, 도 24는 액션 인자 DB에 저장된 정보의 예시를 나타낸 도면이다.21 is a control block diagram in which the configuration of the dialog manager is subdivided, FIG. 22 is a diagram showing an example of information stored in the related action DB, FIG. 23 is a diagram showing an example of information stored in the action execution condition DB, and FIG. 24 is a diagram showing an example of information stored in the action factor DB.
도 21을 참조하면, 대화 관리기(120)는 대화 또는 액션을 생성/삭제/업데이트하도록 요청하는 대화 흐름 관리기(121), 대화 흐름 관리기(121)의 요청에 따라 대화 또는 액션을 생성/삭제/업데이트하는 대화 액션 관리기(122), 상황에 대한 모호성과 대화에 대한 모호성을 해결하여 궁극적으로 사용자의 의도를 명확히 하는 모호성 해결기(123), 액션 수행에 필요한 인자를 관리하는 인자 관리기(124), 복수의 후보 액션들에 대해 액션 수행 가부를 판단하고, 이들의 우선 순위를 결정하는 액션 우선순위 결정기(125) 및 외부 컨텐츠 목록 및 관련 정보를 관리하고 외부 컨텐츠 쿼리에 필요한 인자 정보를 관리하는 외부 정보 관리기(126)를 포함할 수 있다.Referring to FIG. 21 , the
대화 관리기(120)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The
또한, 대화 관리기(120)에 포함되는 각각의 구성요소들이 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, each of the components included in the
또한, 대화 관리기(120)와 입력 처리기(110) 역시 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, the
대화 입력 관리기(111a)의 출력인 자연어 이해 결과(자연어 이해기의 출력)와 상황 정보(상황 이해기의 출력)는 대화 흐름 관리기(121)로 입력된다. 자연어 이해기(111b)의 출력은 도메인, 액션 등의 정보 외에도 형태소 분석 결과와 같은 사용자의 발화 내용 자체에 대한 정보도 포함한다. 상황 이해기(112c)의 출력은 상황 정보 외에도 상황 정보 수집 관리기(112b)에서 판단한 이벤트도 포함할 수 있다. The natural language understanding result (output of the natural language interpreter) and context information (output of the context interpreter) output from the
대화 흐름 관리기(121)는 대화 입력 관리기(111a)로부터의 입력에 대응되는 대화 태스크 또는 액션 태스크가 대화/액션 DB(147)에 존재하는지 검색한다. The
대화/액션 DB(147)는 대화의 상태와 액션의 상태를 관리하기 위한 저장 공간으로서, 현재 진행 중인 대화, 액션들과 앞으로 진행할 예비 액션들에 대한 대화 상태 및 액션 상태를 저장할 수 있다. 예를 들어, 종료된 대화/액션, 정지된 대화/액션, 진행 중인 대화/액션, 진행될 대화/액션의 상태가 저장될 수 있다.The conversation/
또한, 액션의 스위칭/네스팅 여부, 스위칭된 액션 인덱스, 액션 변경 시간, 화면/음성/명령어 등의 마지막 출력 상태 등을 저장할 수 있다. In addition, it is possible to store whether the action is switched/nested, the switched action index, the action change time, the last output state of the screen/voice/command, and the like.
예를 들어, 사용자 발화에 대응되는 도메인과 액션이 추출된 경우에는, 가장 최근에 저장된 대화 중 해당 도메인과 액션에 대응되는 대화 또는 액션이 존재하면 이를 대화 입력 관리기(111a)로부터의 입력에 대응되는 대화 태스크 또는 액션 태스크로 판단할 수 있다. For example, when a domain and an action corresponding to a user's utterance are extracted, if there is a dialog or an action corresponding to the corresponding domain and action among the most recently stored conversations, it corresponds to the input from the
사용자 발화에 대응되는 도메인과 액션이 추출되지 않은 경우에는, 임의의 태스크를 생성하거나, 가장 최근에 저장된 태스크를 참조하도록 대화 액션 생성기(122)에 요청할 수 있다.When the domain and action corresponding to the user's utterance are not extracted, an arbitrary task may be created or a request may be made to the
대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크 또는 액션 태스크가 존재하지 않으면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)에 새로운 대화 태스크와 액션 태스크를 생성하도록 요청한다.If a dialog task or action task corresponding to the output of the
대화 흐름 관리기(121)가 대화의 흐름을 관리함에 있어서, 대화 정책 DB(148)를 참조할 수 있다. 대화 정책 DB(148)는 대화를 전개하기 위한 정책을 저장하며, 구체적으로 대화를 선택/시작/제안/정지/종료하기 위한 정책을 저장한다. When the
또한, 대화 정책 DB(148)는 시스템이 응답을 출력하는 시점과 방법론에 대한 정책도 저장할 수 있으며, 다수의 서비스를 연계하여 응답을 만드는 정책과 기존의 액션을 삭제하고 다른 액션으로 교체하기 위한 정책을 저장할 수 있다. In addition, the
예를 들어, 후보 액션이 복수이거나, 사용자의 의도나 상황에 대응되는 액션이 복수일 때(A 액션, B액션), "A 액션을 수행하고 B 액션을 수행하겠습니까?"와 같이 두 액션에 대한 응답을 한 번에 생성하는 정책과, "A액션을 수행합니다" -> "B액션을 수행할까요?"와 같이 하나의 액션에 대한 응답을 생성한 이후에, B 액션에 대해서도 별도의 응답을 생성하는 정책이 모두 가능하다. For example, when the candidate action is plural, or the action corresponding to the user's intention or situation is plural (action A, action B), a response for both actions such as "Do action A and action B?" After creating a policy that generates a response at once, and a response for one action such as “Do action A” -> “Do action B?”, a separate response is also created for action B. Any policy is possible.
또한, 대화 정책 DB(147)는 후보 액션들 간의 우선 순위를 결정하는 정책도 저장할 수 있다. 우선 순위 결정 정책에 대해서는 후술하도록 한다.In addition, the
대화 액션 관리기(122)는 대화/액션 DB(147)에 저장 공간을 할당하여, 입력 처리기(110)의 출력에 대응되는 대화 태스크와 액션 태스크를 생성한다. The
한편, 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우, 대화 액션 관리기(122)는 임의의 대화 상태를 생성할 수 있다. 이 경우, 후술하는 바와 같이, 모호성 해결기(123)가 사용자의 발화 내용, 주변 상황, 차량 상태, 사용자 정보 등에 기초하여 사용자의 의도를 파악하고 이에 대응되는 적절한 액션을 판단할 수 있다.Meanwhile, when the domain and action cannot be extracted from the user's utterance, the
대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크와 액션 태스크가 존재하면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)가 해당 대화 태스크와 액션 태스크를 참조하도록 요청한다. If a dialog task and an action task corresponding to the output of the
액션 우선순위 결정기(125)는 연관 액션 DB(146b)에서 입력 처리기(110)의 출력에 포함된 액션 또는 이벤트와 연관된 액션 목록을 검색하여 후보 액션을 추출한다. The
도 22의 예시와 같이, 연관 액션 DB(146b)는 상호 연관된 액션들과 그들 사이의 관계 및 이벤트와 연관된 액션과 그들 사이의 관계를 나타낼 수 있다. 예를 들어, 길안내, 차량 상태 점검, 주유소 추천과 같은 액션이 연관된 액션으로 분류될 수 있고, 이들의 관계는 상호 연계에 해당할 수 있다. As in the example of FIG. 22 , the
따라서, 길안내 액션을 수행함에 있어, 차량 상태 점검, 주유소 추천등의 액션이 함께 수행될 수 있다. 여기서 함께 수행된다는 것은 길안내 액션의 전후로 수행되는 것과 길안내 액션의 수행 중에(경유지로 추가) 수행되는 것을 모두 포함할 수 있다.Accordingly, in performing the navigation action, actions such as vehicle condition check and gas station recommendation may be performed together. Here, being performed together may include both performing before and after the navigation action and performing during the performance of the navigation action (addition as a waypoint).
경고등 출력 이벤트는 정비소 안내 액션이 연관된 이벤트-액션으로 저장될 수 있고, 이들의 관계 역시 상호 연계에 해당할 수 있다. The warning light output event may be stored as an event-action associated with the workshop guide action, and their relationship may also correspond to a correlation.
따라서, 경고등 출력 이벤트가 발생한 경우에, 경고등의 종류 또는 정비의 필요 여부에 따라 정비소 안내 액션을 수행할 수 있다.Accordingly, when a warning light output event occurs, a repair shop guidance action may be performed according to the type of the warning light or whether maintenance is required.
입력 처리기(110)로부터 사용자 발화에 대응되는 액션뿐만 아니라 상황 수집 관리기(112b)에서 판단한 이벤트도 함께 전송한 경우에는, 사용자 발화에 대응되는 액션과 연관된 액션과 함께 이벤트와 연관된 액션도 후보 액션이 될 수 있다. When an event determined by the
추출된 후보 액션 목록은 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 후보 액션 목록을 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다. The extracted candidate action list is transmitted to the
액션 우선순위 결정기(125)는 액션 수행 조건 DB(146c)에서 각각의 후보 액션을 수행하기 위한 조건을 검색한다. The
도 23의 예시와 같이, 액션 수행 조건 DB(146c)는 액션을 수행하기 위해 필요한 조건과 해당 조건의 만족 여부를 판단하기 위해 사용되는 인자를 각각의 액션 별로 저장할 수 있다. As in the example of FIG. 23 , the action
예를 들어, 차량 상태 점검 액션의 수행 조건은 목적지 거리가 100km 이상인 경우일 수 있고, 조건 판단을 위해 사용되는 인자는 목적지 거리에 해당한다. 주유소 추천 액션의 수행 조건은 목적지 거리가 주행 가능 거리(DTE)보다 먼 경우일 수 있고, 조건 판단을 위해 사용되는 인자는 목적지 거리와 주행 가능 거리(DTE)에 해당한다. For example, the condition for performing the vehicle condition check action may be a case where the destination distance is 100 km or more, and a factor used for determining the condition corresponds to the destination distance. A condition for performing the gas station recommendation action may be a case where the destination distance is greater than the drivable distance DTE, and a factor used for determining the condition corresponds to the destination distance and the drivable distance DTE.
액션 우선순위 결정기(125)는 후보 액션의 수행 조건을 대화 액션 관리기(122)로 전달하고, 대화 액션 관리기(122)는 각 후보 액션 별 액션 수행 조건을 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다. The
액션 우선순위 결정기(125)는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)에서 액션 수행 조건 판단을 위해 필요한 인자(이하, 조건 판단 인자라 한다)를 검색하고, 검색된 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다The
액션 수행 조건 판단을 위해 사용되는 인자가 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)에 저장되지 않은 경우, 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)로부터 필요한 인자를 가져올 수 있다. If the factor used for determining the action execution condition is not stored in the
액션 우선순위 결정기(125)는 액션 수행 조건 판단을 위해 필요한 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다. 또한, 각 후보 액션의 수행 가부 및 대화 정책 DB(148)에 저장된 우선 순위 결정 규칙에 기초하여 각 후보 액션의 우선 순위를 결정할 수 있다. The
현재 상황에 따라 각 후보 액션에 대한 점수가 계산될 수 있다. 계산된 점수가 높은 순으로 높은 우선순위가 할당된다. 예를 들어, 아래 [수학식 1]에 나타낸 바와 같이, 사용자 발화에 대응되는 액션, 안전도 점수, 편의 점수, 처리 시간, 처리 시점(지금 당장 처리해야 하는지 여부), 사용자 선호도(서비스 제안 시 사용자의 수용 정도 또는 사용자가 사전에 정의한 선호도), 관리자 점수, 차량 상태 연관 점수, 액션 성공률(대화 성공률)이 점수 계산의 인자로 사용될 수 있다.A score for each candidate action may be calculated according to the current situation. The highest priority is assigned in the order of the highest calculated score. For example, as shown in [Equation 1] below, the action corresponding to the user's utterance, the safety score, the convenience score, the processing time, the processing time (whether it should be processed immediately), the user preference (the user when the service is proposed) acceptance degree or user's pre-defined preference), manager's score, vehicle status-related score, and action success rate (conversation success rate) may be used as factors of score calculation.
[수학식 1][Equation 1]
우선순위 점수 = w1*사용자 발화 액션 + w2*안전도 점수 + w3*편의점수 + w4*처리시간 + w5*처리시점 + w6*사용자 선호도 + w7*관리자 점수 + w8*차량 상태 연관 점수 + w9*액션 성공률*액션 수행 가능 여부(1:가능, 미정 0:불가능) *액션 완료 여부(완료:1, 미완료:0)Priority score = w1*user utterance action + w2*safety score + w3*convenience score + w4*processing time + w5*processing time + w6*user preference + w7*administrator score + w8*vehicle condition related score + w9* Action success rate * Whether the action can be performed (1: possible, undecided 0: impossible) * Whether the action is completed (completed:1, incomplete: 0)
전술한 바와 같이, 액션 우선순위 결정기(125)가 사용자의 발화나 상황 정보에 직접적으로 관련된 액션뿐만 아니라 이와 연관된 액션 목록까지 검색하고 이들 사이의 우선 순위를 결정함으로써 사용자에게 가장 필요한 서비스를 제공할 수 있게 된다.As described above, the
액션 우선순위 결정기(125)는 각 후보 액션의 수행 가부 및 우선 순위를 대화 액션 관리기(122)로 전달하고, 대화 액션 관리기(122)는 전달된 정보를 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다. The
인자 관리기(124)는 액션 인자 DB(146a)에서 각 후보 액션을 수행하는데 사용되는 인자(이하, 액션 인자라 한다.)를 검색할 수 있다. The
도 24의 예시와 같이, 액션 인자 DB(146a)는 액션 별로 필수 인자, 선택 인자, 인자의 초기값 및 인자를 가져올 수 있는 참조 위치를 저장할 수 있다. 인자의 초기값이 저장되어 있는 경우에, 입력 처리기(110)로부터 출력된 사용자의 발화나 상황 정보에 해당 인자에 대응되는 인자 값이 포함되어 있지 않고 상황 정보 DB(142)에도 해당 인자 값이 저장되어 있지 않으면, 저장된 초기값에 따라 액션을 수행하거나, 저장된 초기값에 따라 액션을 수행할 지 사용자에게 확인할 수 있다. As in the example of FIG. 24 , the
예를 들어, 길안내 액션을 수행하는데 사용되는 필수 인자는 현재 위치와 목적지를 포함할 수 있고, 선택 인자는 경로 타입을 포함할 수 있다. 선택 인자의 초기값으로 빠른 경로가 저장될 수 있다. 현재 위치와 목적지는 대화/액션 상태 DB(147), 상황 정보 DB(142), 단기 메모리(144) 또는 장기 메모리(143)를 순차적으로 검색하여 획득할 수 있다. For example, essential factors used to perform the navigation action may include a current location and destination, and optional factors may include a route type. A fast path may be stored as an initial value of the selection parameter. The current location and destination may be acquired by sequentially searching the conversation/
차량 상태 점검 액션을 수행하는데 사용되는 필수 인자는 차량 상태 정보를 포함하고, 선택 인자는 점검 파트를 포함할 수 있다. 선택 인자의 초기값으로는 전체 파트가 저장될 수 있다. 차량 상태 정보는 상황 정보 DB(142)로부터 획득할 수 있다.The essential factor used to perform the vehicle condition check action may include vehicle condition information, and the optional factor may include an inspection part. As an initial value of the selection factor, the entire part may be stored. The vehicle state information may be obtained from the
주유소 추천 액션을 수행하는데 사용되는 선택 인자는 선호 주유소를 포함할 수 있고, 선택 인자의 초기값으로 A 오일이 저장될 수 있다. 선호 주유소는 장기 메모리(143)로부터 획득할 수 있다. 선택 인자에 차량의 유종, 기름 가격 등이 더 포함되는 것도 가능하다.The selection factor used to perform the gas station recommendation action may include a preferred gas station, and oil A may be stored as an initial value of the selection factor. The preferred gas station may be obtained from the long-
전술한 바와 같이, 인자 관리기(124)는 액션 인자 DB(146a)에서 검색한 인자의 인자 값을 해당 참조 위치에서 가져온다. 인자 값을 가져올 수 있는 참조 위치는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144), 대화/액션 상태 DB(147) 및 외부 컨텐츠 서버(300) 중 적어도 하나일 수 있다. As described above, the
인자 관리기(124)가 외부 컨텐츠 서버(300)로부터 인자 값을 가져오는 경우에는, 외부 정보 관리기(126)를 통할 수 있다. 외부 정보 관리기(126)는 외부 서비스 집합 DB(146d)를 참조하여 어디에서 정보를 가져올 지 판단할 수 있다. When the
외부 서비스 집합 DB(146d)는 대화 시스템(100)과 연계된 외부 컨텐츠 서버에 대한 정보를 저장한다. 예를 들어, 외부 서비스 명칭, 외부 서비스 에 대한 설명, 외부 서비스 가 제공하는 정보의 타입, 외부 서비스 사용 방법, 외부 서비스 의 제공 주체 등에 대한 정보를 저장할 수 있다. The external service set
인자 관리기(124)가 획득한 인자 값은 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 각 후보 액션 별 인자 값을 액션 상태에 추가하여 대화/액션 상태 DB(147)를 업데이트 한다. The factor value obtained by the
인자 관리기(124)는 모든 후보 액션의 인자 값을 획득하는 것도 가능하고, 액션 우선순위 결정기(125)에서 수행이 가능한 것으로 판단된 후보 액션의 인자 값만 획득하는 것도 가능하다. The
또한, 인자 관리기(124)는 동일한 정보를 나타내는 다양한 종류의 인자 값을 선택적으로 사용할 수 있다. 예를 들어, 목적지를 나타내는 텍스트 형태의 서울역은 내비게이션의 목적지 검색 서비스를 이용하여 POI 형태의 서울역으로 변환될 수 있다. Also, the
대화나 상황에 모호성이 없는 경우에는 전술한 액션 우선순위 결정기(125), 인자 관리기(124) 및 외부 정보 관리기(126)의 동작에 따라 필요한 정보를 얻고 대화와 액션을 관리할 수 있다. 그러나, 대화나 상황에 모호성이 있는 경우에는 액션 우선순위 결정기(125), 인자 관리기(124) 및 외부 정보 관리기(126)의 동작만으로는 사용자에게 필요한 적절한 서비스를 제공하기 어렵다. When there is no ambiguity in the conversation or situation, it is possible to obtain necessary information according to the operations of the above-described
이러한 경우, 모호성 해결기(123)가 대화에 대한 모호성 또는 상황에 대한 모호성을 해결할 수 있다. 예를 들어, 대화에 그 사람, 어제 거기, 아빠, 엄마, 할머니, 며느리 등과 같은 조응어가 포함되어 무엇을 지칭하는지 모호한 경우에 모호성 해결기(123)가 상황 정보 DB(142), 장기 메모기(143) 또는 단기 메모리(144)를 참조하여 이러한 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다. In this case, the
예를 들어, "어제 거기", "집 근처 A마트", "어제 간 서울역" 등과 같이 대화에 포함된 모호한 단어가 액션 인자의 인자 값이거나 조건 판단 인자의 인자 값에 해당할 수 있다. 그러나, 이 경우, 해당 단어 자체만으로는 그 모호성으로 인해 실제로 액션을 수행하거나 액션 수행 조건을 판단할 수가 없다.For example, an ambiguous word included in a conversation, such as "yesterday there", "a mart near my house", "yesterday to Seoul station", etc., may correspond to a factor value of an action factor or a factor value of a conditional determination factor. However, in this case, it is impossible to actually perform an action or determine an action execution condition due to the ambiguity of the word itself.
모호성 해결기(123)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장된 정보를 참조하여 인자 값의 모호성을 해결할 수 있다. 또는, 필요에 따라 외부 정보 관리기(126)를 이용하여 외부 컨텐츠 서버(300)로부터 필요한 정보를 가져오는 것도 가능하다. The
예를 들어, 단기 메모리(144)를 참조하여 사용자가 어제 갔던 장소를 검색함으로써 "어제 거기"를 길 안내 액션의 목적지로 사용 가능한 정보로 변환할 수 있다. 또는, 장기 메모리(143)를 참조하여 사용자의 집 주소를 검색하고 외부 컨텐츠 서버(300)로부터 집 주소 근처의 A마트에 관한 위치 정보를 가져옴으로써 "집 근처 A마트"를 길 안내 액션의 목적지로 사용 가능한 정보로 변환할 수 있다. For example, by retrieving a place the user went yesterday with reference to the short-
또한, 입력 처리기(110)에서 액션(오브젝트, 오퍼레이터)이 명확하게 추출되지 않거나 사용자의 의도가 모호한 상황에서, 모호성 해결기(123)가 모호성 해소 정보 DB(146e)를 참조하여 사용자의 의도를 파악하고, 이에 대응되는 액션을 결정하는 것도 가능하다. In addition, in a situation in which the action (object, operator) is not clearly extracted from the
도 25 는 모호성 해소 정보 DB에 저장되는 정보의 예시를 나타내는 도면이다. 25 is a diagram illustrating an example of information stored in a disambiguation information DB.
모호성 해소 정보 DB(146e)는 차량 상태 정보와 주변 상황 정보에 기초하여, 발화문과 그에 대응되는 액션을 매칭시켜 저장할 수 있다. 모호성 해소 정보 DB(146e)에 저장되는 발화문은 자연어 이해를 통해 액션을 추출할 수 없는 발화문일 수 있다. 도 25의 예시에서는 형태소 분석 결과에 따른 발화 내용이 길 안내 요청 내용이거나 손이 시리거나 손이 춥다는 내용인 경우에 대해 설명한다.The ambiguity
먼저, 주변 상황 정보는 사용자가 차량 내부에 위치하는지 여부를 포함할 수 있고, 차량 상태 정보는 차량과 모바일 기기 간의 근거리 통신 연결 여부 또는 시동 온(On)/오프(Off) 여부를 포함할 수 있다.First, the surrounding context information may include whether the user is located inside the vehicle, and the vehicle state information may include whether a short-distance communication connection between the vehicle and the mobile device or whether the ignition is on/off. .
구체적인 예로, 차량과 모바일 기기 간의 근거리 통신이 연결되어 있고 시동이 온(On) 상태인 경우, 사용자가 차량 내부에 위치하는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 목적지까지의 경로 안내 출력을 저장할 수 있다.As a specific example, when short-distance communication between the vehicle and the mobile device is connected and the ignition is on, the user can be identified as being located inside the vehicle, and the route guidance output to the destination can be stored as a corresponding vehicle control action. can
차량과 모바일 기기 간의 근거리 통신 연결되어 있지 않거나, 시동이 오프(Off) 상태인 경우, 사용자가 차량 외부에 위치하는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 목적지까지의 경로 안내 예약을 저장할 수 있다.If there is no short-distance communication connection between the vehicle and the mobile device or the ignition is off, the user can be identified as being located outside the vehicle, and a route guidance reservation to the destination can be stored as a corresponding vehicle control action. .
다음으로, 주변 상황 정보는 차량 외부 온도와 강우 여부를 포함할 수 있고, 차량 상태 정보는 에어컨/히터의 온/오프 여부와 풍량, 풍향, 스티어링 열선의 온/오프 여부를 포함할 수 있다.Next, the surrounding situation information may include the temperature outside the vehicle and whether it rains, and the vehicle status information may include whether the air conditioner/heater is on/off, the air volume, the wind direction, and whether the steering hot wire is on/off.
구체적인 예로, 외부 온도가 20도가 넘으면서 비가 오는 경우, 에어컨이 온(On)되어 있으면 에어컨 온도가 너무 낮게 설정되어 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 에어컨 온도 3도 높이기를 저장할 수 있다.As a specific example, if it is raining while the outside temperature is over 20 degrees, if the air conditioner is on, the air conditioner temperature is set too low and the hand is cold, and the corresponding vehicle control action can save the air conditioner temperature increase by 3 degrees. have.
외부 온도가 20도가 넘으면서 비가 오는 경우, 에어컨이 오프되어 있으면 강우로 인해 추위를 느끼는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 히터 On 을 저장할 수 있다.If it rains while the outside temperature exceeds 20 degrees, if the air conditioner is off, it can be recognized as feeling cold due to rain, and the heater On can be stored as a corresponding vehicle control action.
외부 온도가 20도가 넘으면서 비가 오지 않는 경우, 에어컨이 온되어 있고, 에어컨 풍향이 상향(Up)으로 설정되어 있으면 에어컨 바람이 손을 직접 향하여 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 에어컨 풍향을 하향(Down)으로 변경하는 것을 저장할 수 있다.If the outside temperature is over 20 degrees and it doesn't rain, if the air conditioner is on and the air conditioner wind direction is set to Up, it can be recognized that the air conditioner blows directly to the hand and the hand is cold. Changing the wind direction to Down can be saved.
외부 온도가 20도가 넘으면서 비가 오지 않는 경우, 에어컨이 온되어 있고, 에어컨 풍향이 하향으로, 풍량이 중 이상으로 설정되어 있으면 에어컨 풍향이 너무 강하여 추위를 느끼는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 에어컨 풍량을 낮추는 것을 저장할 수 있다.If the outside temperature is over 20 degrees and there is no rain, if the air conditioner is on, the wind direction of the air conditioner is set to downward, and the air volume is set to medium or higher, the wind direction of the air conditioner is too strong to feel cold, and the corresponding vehicle control action is taken. It can be saved to lower the air conditioner air volume.
외부 온도가 20도가 넘으면서 비가 오지 않는 경우, 에어컨이 온 되어 있고, 에어컨 풍향이 하향으로, 에어컨 풍량이 약하게(하) 설정되어 있으면 대응되는 차량 제어 액션으로 에어컨 온도를 3도 올리는 것을 저장할 수 있다.When the outside temperature exceeds 20 degrees and it does not rain, if the air conditioner is on, the air conditioner wind direction is downward, and the air conditioner air volume is set to weak (lower), it is possible to save the corresponding vehicle control action to raise the air conditioner temperature by 3 degrees.
외부 온도가 20도보다 낮으면서 히터가 오프되어 있는 경우에는, 추운 날씨로 인해 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 터 온을 저장할 수 있다.When the outside temperature is lower than 20 degrees and the heater is off, it may be determined that the hand is cold due to cold weather, and the turn-on may be stored as a corresponding vehicle control action.
외부 온도가 20도보다 낮으면서 히터가 온되어 있고 스티어링 열선이 오프되어 있는 경우, 온기가 손에 전달되지 않아 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션을 스티어링 열선 온으로 저장할 수 있다.If the outside temperature is lower than 20 degrees and the heater is on and the steering heating wire is off, it can be recognized that the hand is cold because the heat is not transmitted to the hand, and a corresponding vehicle control action can be stored as the steering heating wire on.
외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온 되어 있고, 히터 풍향이 하향으로 설정된 경우에는 히터 바람이 손으로 전달되지 않아 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션을 히터 풍향의 양방향 변경으로 저장할 수 있다.If the outside temperature is lower than 20 degrees, both the heater and the steering heating wire are on, and the heater wind direction is set to the downward direction, the heater wind is not transmitted to the hand and the hand is cold, and the corresponding vehicle control action is set to the heater wind direction. can be saved as a two-way change of .
외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로 설정되어 있는 경우, 히터 온도가 최대치보다 낮게 설정되어 있으면, 대응되는 차량 제어 액션을 히터 온도 높이기로 저장할 수 있다.When the outside temperature is lower than 20 degrees, both the heater and the steering heating wire are on, and the heater wind direction is set to upward, if the heater temperature is set lower than the maximum value, the corresponding vehicle control action can be saved as heating the heater temperature. have.
외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로 설정되어 있고 히터 온도가 최대치로 설정되어 있으며, 히터 풍량은 최대치로 설정되어 있지 않은 경우에는, 대응되는 차량 제어 액션을 히터 풍량 증가로 저장할 수 있다.If the outside temperature is lower than 20 degrees, both the heater and the steering heating wire are on, the heater wind direction is set upward, the heater temperature is set to the maximum value, and the heater air volume is not set to the maximum value, the corresponding vehicle A control action can be saved as an increase in heater airflow.
외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로, 히터 온도와 히터 풍향이 모두 최대치로 설정되어 있는 경우에, 열선 시트가 오프되어 있으면, 대응되는 차량 제어 액션으로 열선 시트 온을 저장할 수 있다.When the external temperature is lower than 20 degrees and both the heater and the steering heating wire are on, the heater wind direction is upward and both the heater temperature and the heater wind direction are set to the maximum values, if the heating wire seat is off, the corresponding vehicle control You can save the heated seat-on as an action.
외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로, 히터 온도와 히터 풍량이 모두 최대치로 설정되어 있으며, 열선 시트도 온되어 있는 경우에는, 대응되는 차량 제어 액션으로 현재 히터가 풀가동 중이므로 잠시 기다려 달라는 안내를 출력할 수 있다. When the outside temperature is lower than 20 degrees, both the heater and the steering heating wire are on, the heater wind direction is upward, the heater temperature and the heater air volume are both set to the maximum values, and the heating wire seat is also on, the corresponding vehicle control As an action, you can output a notice asking you to wait for a while because the heater is currently in full operation.
도 26a 및 도 26b는 모호성 해결기가 모호성 해소 정보 DB를 참조하여 모호성을 해결하고 액션을 추출하여 차량을 제어하는 다양한 예시들을 정리한 테이블이다.26A and 26B are tables summarizing various examples in which the ambiguity resolver refers to the ambiguity resolution information DB to resolve ambiguity and extract actions to control the vehicle.
예를 들어, 도 26a 및 도 26b에 도시된 바와 같이, 형태소 분석 결과에 따른 발화 내용이 손이 시리거나 손이 춥다는 내용인 경우, 주변 상황이 여름이면서 차량 상태는 에어컨의 풍향이 탑승자의 머리 쪽(상향)을 향하고, 에어컨 설정 온도가 19도이며, 풍량이 상황인 경우에는 손으로 향하는 에어컨 바람으로 인해 손이 시린 것으로 파악할 수 있다. 따라서, 풍향을 발 쪽(하향)으로 변경하면서 풍량 세기를 줄이기 위한 에어컨 제어 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. For example, as shown in FIGS. 26A and 26B , when the content of the utterance according to the morpheme analysis result is that the hand is cold or the hand is cold, the surrounding situation is summer and the vehicle state is that the wind direction of the air conditioner is the head of the occupant. If the air conditioner faces toward the side (upward), the air conditioner set temperature is 19 degrees, and the air volume is the situation, it can be understood that the hands are cold due to the air conditioning wind directed to the hands. Accordingly, it is possible to extract the air conditioner control action for reducing the wind volume intensity while changing the wind direction toward the foot (downward) as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.
또한, 같은 내용의 발화에서, 주변 상황이 겨울이면서 차량 상태는 히터의 풍향이 탑승자의 발 쪽을 향하고, 에어컨 설정 온도는 25이며, 풍량이 강하게 설정된 상황인 경우에는 온기가 사용자의 손에 전달되지 않아 손이 시린 것으로 파악할 수 있다. 따라서, 스티어링 휠의 열선 온(On) 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.In addition, in the utterance of the same content, when the surrounding situation is winter and the vehicle is in a situation where the wind direction of the heater is toward the occupant's feet, the air conditioner set temperature is 25, and the air volume is set strongly, the warmth is not delivered to the user's hand. You can tell that your hand is cold. Accordingly, it is possible to extract the action of turning on the heating of the steering wheel as an action corresponding to the corresponding ignition, and control the vehicle according to the extracted action.
형태소 분석 결과에 따른 발화 내용이 답답하다는 내용인 경우, 차량 상태가 차량 속도 시속 30km 이하, 차량 앞뒤 간격이 30cm 미만인 상황인 경우, 교통 체증으로 인해 느끼는 답답함인 것으로 파악할 수 있다. 따라서, 길안내 액션에서 경로 옵션(빠른 경로 안내)을 변경하거나 음악과 같은 멀티미디어 컨텐츠를 재생하거나, 채팅 기능을 온(On)시키는 액션을 해당 발화에 대응되는 액션으로 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. If the content of the utterance according to the morpheme analysis result is stuffy, if the vehicle speed is 30 km/h or less, and the distance between the front and rear of the vehicle is less than 30 cm, it can be understood as a feeling of frustration due to traffic jam. Accordingly, an action for changing a route option (quick route guidance), playing multimedia content such as music, or turning on a chat function in a navigation action is extracted as an action corresponding to the corresponding utterance as an action, and the extracted action You can control the vehicle accordingly.
형태소 분석 결과에 따른 발화 내용이 졸리다는 내용인 경우, 차량 상태가 내기모드인 상황이면, 공기 순환이 안됨에 따라 졸음이 유발된 것으로 파악할 수 있다. 따라서, 외기모드로 변경하는 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.When the content of the utterance according to the morpheme analysis result is drowsy, if the vehicle state is a betting mode, it can be understood that drowsiness is induced due to lack of air circulation. Accordingly, the action of changing to the outdoor mode may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.
또한, 같은 내용의 발화에서, 차량 상태가 외기모드이고 히터가 온(On)되어 있는 상황인 경우에는, 히터에서 방출되는 온기로 인해 졸음이 유발된 것으로 파악할 수 있다. 따라서, 창문 열기를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the utterance of the same content, when the vehicle state is in the outdoor mode and the heater is on, it can be understood that drowsiness is induced due to the heat emitted from the heater. Accordingly, opening the window may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.
형태소 분석 결과에 따른 발화 내용이 땀이 난다거나 덥다는 내용인 경우, 주변 상황이 겨울이면서 차량 상태는 히터가 온(On)되어 있는 상황이면, 히터의 온기로 인해 더위가 유발된 것으로 파악할 수 있다. 따라서, 히터의 온도 낮추기나 풍량 줄이기를 해당 발화에 대응되는 액션으로 저장할 수 있다. If the content of the utterance according to the morpheme analysis result is sweating or hot, if the surrounding situation is winter and the vehicle state is a situation where the heater is on, it can be understood that the heat is caused by the heater's warmth. . Accordingly, lowering the temperature of the heater or reducing the air volume may be stored as an action corresponding to the corresponding ignition.
또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 히터가 오프(Off)되어 있는 상황이면, 사용자의 신체 열기로 인해 더위가 유발된 것으로 파악할 수 있다. 따라서, 창문 열기 또는 창문 열기 제안을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.In addition, in the utterance of the same content, if the surrounding situation is winter and the heater is off, it may be determined that heat is induced by the user's body heat. Accordingly, the window opening or the window opening suggestion may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 차량 내부 온도가 높아서 더위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 실행(On)을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.In addition, in the utterance of the same content, if the surrounding situation is summer and the vehicle state is a situation in which the air conditioner is off, it may be understood that the heat is induced due to the high internal temperature of the vehicle. Accordingly, it is possible to extract the air conditioner execution (On) as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 온(On)되어 있는 상황이면, 에어컨의 온도가 높게 설정되어 있어서 더위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 온도 낮추기 또는 풍량 증가를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the utterance of the same content, if the surrounding situation is summer and the vehicle state is a situation in which the air conditioner is on, it can be understood that the heat is induced because the temperature of the air conditioner is set high. Accordingly, lowering the air conditioner temperature or increasing the air volume may be extracted as an action corresponding to the corresponding ignition, and the vehicle may be controlled according to the extracted action.
형태소 분석 결과에 따른 발화 내용이 춥다는 내용인 경우, 주변 상황이 여름이면서 차량 상태가 에어컨이 온(On)되어 있는 상황이면, 에어컨 온도가 지나치게 낮게 설정되어 있거나 에어컨 바람이 지나치게 강하기 때문에 추위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 온도 높이기나 풍량 감소를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. If the utterance according to the morpheme analysis result is cold, if the surrounding situation is summer and the vehicle is in a state where the air conditioner is on, the temperature of the air conditioner is set too low or the wind of the air conditioner is too strong. can be found to have been Accordingly, an increase in air conditioner temperature or a decrease in air volume may be extracted as an action corresponding to the corresponding ignition, and the vehicle may be controlled according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 사용자의 신체 컨디션에 문제가 있어 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터의 실행이나 사용자의 바이오 리듬 체크를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. In addition, in the utterance of the same content, when the surrounding situation is summer and the vehicle state is a situation in which the air conditioner is off, it may be determined that the cold is induced due to a problem in the user's physical condition. Accordingly, the execution of the heater or the user's biorhythm check may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 차량 상태가 히터가 온(On)되어 있는 상황이면, 히터의 온도가 낮게 설정되어 있거나 풍량이 약하기 때문에 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터 온도 높이기나 풍량 증가를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, in the utterance of the same content, if the surrounding situation is winter and the vehicle state is a situation in which the heater is on, it can be understood that the cold is induced because the temperature of the heater is set low or the air volume is weak. Accordingly, increasing the heater temperature or increasing the air volume may be extracted as an action corresponding to the corresponding ignition, and the vehicle may be controlled according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 히터가 오프되어 있는 상황이면, 히터의 미실행으로 인해 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the utterance of the same content, if the surrounding situation is winter and the heater is off, it may be understood that the cold is induced due to the non-execution of the heater. Accordingly, it is possible to extract the heater execution as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.
형태소 분석 결과에 따른 발화 내용이 머리가 아프다는 내용인 경우, 주변 상황이 겨울이면서 차량 상태가 히터가 온(On) 되어 있는 상황이면, 공기 순환이 되지 않아 두통이 유발된 것으로 파악할 수 있다. 따라서, 외기모드 변환 또는 창문 열기를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.If the content of the utterance according to the morpheme analysis result is a headache, if the surrounding situation is winter and the vehicle is in a state where the heater is on, it can be understood that the headache is caused due to lack of air circulation. Accordingly, it is possible to extract outdoor mode conversion or window opening as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 차량 상태가 히터가 오프되어 있는 상황이면, 추위로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 히터 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, in the utterance of the same content, if the surrounding situation is winter and the vehicle state is a situation in which the heater is turned off, it may be understood that the headache is induced by the cold. Accordingly, it is possible to extract the heater execution as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 더위로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 에어컨 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the utterance of the same content, if the surrounding situation is summer and the vehicle is in a state in which the air conditioner is off, it may be understood that the headache is induced by the heat. Accordingly, it is possible to extract the execution of the air conditioner as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 온(On)되어 있는 상황이면, 냉방병으로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 에어컨의 풍향이나 풍량의 변경을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the utterance of the same content, if the surrounding situation is summer and the vehicle state is the air conditioner is on, it can be understood that the headache is caused by the air conditioner. Accordingly, a change in the wind direction or air volume of the air conditioner may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.
형태소 분석 결과에 따른 발화 내용이 찝찝하다는 내용인 경우, 주변 상황이 겨울이고 비가 오는 상황이면, 높은 습도로 인해 불쾌함이 유발된 것으로 파악할 수 있다. 따라서, 디포그 기능의 실행이나 제습 기능의 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.If the content of the utterance according to the morpheme analysis result is unpleasant, if the surrounding environment is winter and it is raining, it can be understood that the discomfort is caused by high humidity. Accordingly, the execution of the defogging function or the execution of the dehumidifying function may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이고 비가 오지 않는 상황이면, 계절적 특성과 더위로 인해 불쾌함이 유발된 것으로 파악할 수 있다. 따라서, 에어컨을 최저 온도로 실행시키는 것이 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, in the utterance of the same content, if the surrounding situation is summer and there is no rain, it can be understood that discomfort is induced due to seasonal characteristics and heat. Accordingly, running the air conditioner at the lowest temperature may extract an action corresponding to the corresponding ignition, and control the vehicle according to the extracted action.
또한, 같은 내용의 발화에서 주변 상황이 여름이고 비가 오는 상황이면, 더위와 높은 습도로 인해 불쾌함이 유발된 것으로 파악할 수 있다. 따라서, 에어컨을 제습 모드로 실행하는 것이 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the utterance of the same content, if the surrounding situation is summer and it is raining, it can be understood that discomfort is caused by heat and high humidity. Accordingly, running the air conditioner in the dehumidifying mode may extract an action corresponding to the corresponding ignition and control the vehicle according to the extracted action.
전술한 모호성 해결기(123)의 동작에 의하면, 사용자의 발화나 상황에 모호성이 있는 경우이더라도 주변 상황 정보와 차량 상태 정보를 사용자의 발화와 함께 통합적으로 고려함으로써 사용자가 실제로 원하는 액션 또는 사용자에게 실제로 필요한 액션을 정확하게 파악하여 제공할 수 있다. According to the operation of the
모호성 해결기(123)가 판단한 액션에 관한 정보는 대화 액션 관리기(122)로 전달될 수 있고, 대화 액션 관리기(122)는 전달된 정보에 기초하여 대화/액션 DB(147)를 업데이트할 수 있다. Information about the action determined by the
액션 우선순위 결정기(125)와 인자 관리기(124)는 모호성 해결기(123)가 판단한 액션에 대해서도 전술한 바와 같이 액션 수행 조건을 판단하고, 우선 순위를 결정하고, 인자 값을 가져오는 동작을 수행한다. The
각 액션을 수행하는데 사용되는 인자 값들 중 현재 상황과 대화를 통해 획득 가능한 값들이 모두 획득되면, 대화 액션 관리기(122)는 대화 흐름 관리기(121)에 신호를 전송한다. When all values obtainable through the current situation and conversation among the factor values used to perform each action are obtained, the
한편, 액션 수행이나 조건 판단에 있어 필요한 인자 값이 대화/액션 DB(147), 외부 컨텐츠 서버(300), 장기 메모리(143), 단기 메모리(144) 및 상황 정보 DB(142)에 존재하지 않고, 사용자를 통해서만 획득될 수 있는 경우에는 결과 처리기(130)가 사용자에게 인자 값을 질의하기 위한 대화 응답을 생성하는 것도 가능하다.On the other hand, the factor values necessary for action execution or condition determination do not exist in the dialogue/
대화 흐름 관리기(121)는 1순위에 해당하는 액션에 관한 정보와 대화 상태를 결과 처리기(130)로 전달한다. 대화 정책에 따라 복수의 후보 액션에 관한 정보를 전달하는 것도 가능하다. The
도 27은 결과 처리기의 구성을 세분화한 제어 블록도이다.27 is a control block diagram in which the configuration of the result processor is subdivided.
도 27을 참조하면, 결과 처리기(130)는 대화 관리기(120)로부터 입력된 액션을 수행하기 위해 필요한 응답의 생성을 관리하는 응답 생성 관리기(131), 응답 생성 관리기(131)의 요청에 따라 텍스트 응답, 이미지 응답 또는 오디오 응답을 생성하는 대화 응답 생성기(132), 응답 생성 관리기(131)의 요청에 따라 차량 제어를 위한 명령어 또는 외부 컨텐츠를 이용한 서비스를 제공하기 위한 명령어를 생성하는 명령어 생성기(136), 사용자가 원하는 서비스를 제공하기 위해 다수의 서비스를 순차적 또는 산발적으로 실행하고 결과값을 취합해주는 서비스 편집기(134), 생성된 텍스트 응답, 이미지 응답 또는 오디오 응답을 출력하거나 명령어 생성기(136)가 생성한 명령어를 출력하고, 출력이 복수인 경우에는 출력 순서를 결정하는 출력 관리기(133), 응답 생성 관리기(131)와 출력 관리기(133)의 출력에 기초하여 장기 메모리(143)와 단기 메모리(144)를 관리하는 메모리 관리기(135)를 포함한다. Referring to FIG. 27 , the
결과 처리기(130)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The
또한, 결과 처리기(130)에 포함되는 각각의 구성요소들이 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, each of the components included in the
또한, 결과 처리기(130)와, 대화 관리기(120) 및 입력 처리기(110) 역시 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, the
사용자의 발화나 상황에 대응하여 출력되는 응답은 대화 응답, 차량 제어, 외부 컨텐츠 제공 등을 포함할 수 있다. 대화 응답은 초기 대화, 질의, 정보 제공을 포함하는 답변 등의 형식을 가질 수 있고 응답 템플릿(149)에 데이터베이스화되어 저장될 수 있다. The response output in response to the user's utterance or situation may include a dialogue response, vehicle control, provision of external content, and the like. The dialogue response may have the form of an initial dialogue, a question, an answer including information provision, etc., and may be stored in a database in the
응답 생성 관리기(131)는 대화 응답 생성기(132)와 명령어 생성기(136)에 대화 관리기(120)에서 결정된 액션을 수행하기 위해 필요한 응답의 생성을 요청한다. 이를 위해, 수행될 액션에 관한 정보를 대화 응답 생성기(132)와 명령어 생성기(136)에 전송할 수 있고, 수행될 액션에 관한 정보는 액션명, 인자 값 등을 포함할 수 있다. 응답을 생성함에 있어, 대화 응답 생성기(132)와 명령어 생성기(136)는 현재 대화 상태와 액션 상태를 참조할 수 있다. The
대화 응답 생성기(132)는 응답 템플릿(149)을 검색하여 대화 응답 서식을 추출할 수 있고, 추출된 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다. 생성된 대화 응답은 응답 생성 관리기(131)로 전달된다. 대화 응답 생성에 필요한 인자 값이 대화 관리기(120)로부터 전달되지 않거나, 외부 컨텐츠를 이용하라는 지시가 전달된 경우에는 외부 컨텐츠 서버(300)로부터 제공받거나 장기 메모리(143), 단기 메모리(144) 또는 상황 정보 DB(142)에서 검색할 수 있다.The
예를 들어, 대화 관리기(120)에서 결정된 액션이 길 안내에 해당하는 경우, 응답 템플릿(149)을 검색하여 "[현재 위치:-]에서 [목적지:-]까지 [소요 시간:-]이 소요될 것으로 예상됩니다. 안내를 시작할까요?"를 대화 응답 서식으로 추출할 수 있다. For example, if the action determined in the
대화 응답 서식에 채워져야 할 인자 중에서 [현재 위치]와 [목적지]의 인자 값은 대화 관리기(120)로부터 전달되고, [소요 시간]의 인자 값은 전달되지 않을 수 있다. 이 경우, 대화 응답 생성기(132)는 외부 컨텐츠 서버(300)에 [현재 위치]에서 [목적지]까지 소요되는 시간을 요청할 수 있다. Among the factors to be filled in the dialog response form, the factor values of [Current Location] and [Destination] may be transmitted from the
명령어 생성기(136)는 사용자의 발화나 상황에 대한 응답이 차량 제어 또는 외부 컨텐츠 제공을 포함하는 경우, 이를 실행하기 위한 명령어를 생성한다. 예를 들어, 대화 관리기(120)에서 결정된 액션이 공조 장치, 윈도우, 시트, AVN 등의 제어인 경우에 해당 제어를 실행하기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다. When the response to the user's utterance or situation includes vehicle control or external content provision, the
또는, 대화 관리기(120)에서 결정된 액션이 외부 컨텐츠의 제공을 필요로 하는 경우에는 외부 컨텐츠 서버(300)로부터 해당 컨텐츠를 제공받기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다.Alternatively, when the action determined by the
명령어 생성기(136)에서 생성한 명령어가 복수인 경우, 서비스 편집기(134)가 복수의 명령어를 실행하는 방법과 순서를 결정하여 응답 생성 관리기(131)에 전달한다. When there are a plurality of commands generated by the
응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 출력 관리기(133)에 전달한다.The
출력 관리기(133)는 대화 응답 생성기(132)가 생성한 대화 응답과 명령어 생성기(136)가 생성한 명령어의 출력 타이밍, 출력 순서, 출력 위치 등을 결정한다. The
출력 관리기(133)는 응답 생성기(132)가 생성한 대화 응답과 명령어 생성기(!36)가 생성한 명령어를 적절한 타이밍에 적절한 순서로 적절한 출력 위치에 전송하여 응답을 출력한다. TTS(Text to Speech) 응답은 스피커(232)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(231)를 통해 출력할 수 있다. 대화 응답을 TTS 형태로 출력하는 경우에는 차량(200)에 마련된 TTS 모듈을 이용하거나 출력 관리기(133)가 TTS 모듈을 포함할 수도 있다.The
명령어는 그 제어 대상에 따라 차량 제어기(240)로 전송될 수도 있고, 외부 컨텐츠 서버(300)와 통신하기 위한 통신 장치(280)로 전송될 수도 있다.The command may be transmitted to the
응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 메모리 관리기(135)에도 전달할 수 있다. The
또한, 출력 관리기(133)도 자신이 출력한 응답을 메모리 관리기(135)에 전달할 수 있다. Also, the
메모리 관리기(135)는 응답 생성 관리기(131) 및 출력 관리기(133)로부터 전달받은 내용에 기초하여 장기 메모리(143)와 단기 메모리(144)를 관리한다. 예를 들어, 메모리 관리기(135)는 생성 및 출력된 대화 응답에 기초하여 사용자와 시스템 간 대화 내용을 저장하여 단기 메모리(144)를 업데이트할 수 있고, 사용자와의 대화를 통해 획득된 사용자 관련 정보를 저장하여 장기 메모리(143)를 업데이트할 수 있다. The
또한, 단기 메모리(144)에 저장된 정보 중 사용자의 성향이나 선호도와 같이 의미 있고 영속성이 있는 정보 또는 이러한 정보를 획득하는데 사용될 수 있는 정보를 장기 메모리(143)에 저장할 수도 있다.Also, among the information stored in the short-
또한, 생성 및 출력된 명령어에 대응되는 차량 제어나 외부 컨텐츠 요청에 기초하여 장기 메모리(143)에 저장된 사용자의 선호도나 차량 제어 이력 등을 업데이트할 수도 있다. In addition, the user's preference or vehicle control history stored in the long-
전술한 실시예에 따른 대화 시스템(100)에 의하면, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다. 특히, 사용자의 발화가 입력되지 않더라도 대화 시스템(100)이 수집한 상황 정보 또는 운전자 정보에 기초하여 사용자에게 필요한 서비스를 스스로 판단하고 이를 선제적으로 제공하는 것이 가능하다. According to the
예를 들어, 차량 시동 시의 상황에 따라 차량 상태의 평가 기준을 가변화하고 이에 대한 피드백을 선제적으로 제공할 수 있다. 주행 시작 시점을 차량 시동 시, EPB(Electronic Parking Brake) 해제 시 또는 내비게이션 목적지 설정 시 등으로 정의한다. 주행 가능 점수를 계산하는 차량 상태 평가 시스템 및 개별 장치에 가중치를 주고, 상황 요소에 따라 개별 장치에 적용되는 가변적인 가중치를 변화시킨다. 차량 상태에 문제가 있는 것으로 판단될 경우, 정비소 안내 등 개별 장치에 대한 문제 해결 방안을 제공할 수 있다.For example, it is possible to variably change the evaluation criteria of the vehicle state according to the situation at the time of starting the vehicle and preemptively provide feedback thereto. The driving start time is defined as when the vehicle is started, when the EPB (Electronic Parking Brake) is released, or when a navigation destination is set. The vehicle condition evaluation system that calculates the drivability score and the individual devices are weighted, and the variable weight applied to the individual devices is changed according to situational factors. When it is determined that there is a problem in the vehicle state, a problem solving method for individual devices, such as a guide to a repair shop, may be provided.
또한, 차량 시동 인가 시 목적지 대비 유량 부족 여부를 판단하고, 유량이 부족할 경우 이에 대한 피드백으로 목적지까지의 경로 내에 사용자 선호 주유소를 자동 경유지로 추가하고, 이를 사용자에게 안내할 수 있다. 또한, 사용자의 응답에 따라 자동 경유지로 추가되는 주유소가 변경될 수도 있다.In addition, it is possible to determine whether the flow rate is insufficient compared to the destination when the vehicle is started, and if the flow rate is insufficient, the user's preferred gas station can be added as an automatic stopover in the route to the destination as a feedback, and the user can be informed of this. Also, a gas station added as an automatic waypoint may be changed according to a user's response.
또한, 현재 차량 상태가 유량 부족을 나타내지 않더라도, 사용자의 향후 일정이나 주요 이동 기록, 잔유량 등을 종합적으로 고려하여 주유 장소나 시점을 선제적으로 제공할 수도 있다.In addition, even if the current vehicle state does not indicate insufficient flow, a refueling place or time may be preemptively provided by comprehensively considering the user's future schedule, major movement records, residual oil, and the like.
또한, 운전자의 신체 상태 및 수면 기록에 관한 정보를 획득하고, 획득된 정보에 기초하여 차량 시동 인가를 조건부로 허가할 수 있다. 예를 들어, 차량 외부에서 신체 상태와 수면 기록을 인식하여 졸음 운전 가능성이 인지되면 비운전을 추천할 수 있다. 또는 신체 상태나 수면 기록에 따라 권장 운전 시간에 대한 정보를 제공할 수도 있다.In addition, information about the driver's physical condition and sleep record may be obtained, and vehicle start authorization may be conditionally granted based on the obtained information. For example, when the possibility of drowsy driving is recognized by recognizing the physical condition and sleep record from outside the vehicle, non-driving may be recommended. Or, it can provide information on recommended driving times based on your physical condition or sleep history.
또한, 졸음 운전 가능성을 나타내는 트리거가 반복적으로 발생할 경우, 졸음 운전 가능성을 감지하고 감지된 가능성의 정도에 따라 경고를 출력하거나 자동으로 경로를 변경(휴게소)하는 피드백을 제공할 수 있다. 졸음 운전 가능성을 나타내는 트리거는 심박 저하가 나타난 경우, 선행 차량과의 거리가 기준 거리 이상인 경우, 속도가 기준 속도 이하인 경우와 같이 운전자의 상태나 차량의 상태를 수동적으로 측정하여 획득하는 것도 가능하고, 운전자에게 질의를 발화하고 이에 대한 운전자의 응답 속도를 측정하는 등 대화를 통해 능동적으로 획득하는 것도 가능하다. In addition, when a trigger indicating the possibility of drowsy driving occurs repeatedly, it is possible to detect the possibility of drowsy driving and output a warning according to the degree of the detected possibility or provide feedback for automatically changing a route (resting area). A trigger indicating the possibility of drowsy driving can be obtained by passively measuring the driver's condition or the vehicle's condition, such as when a drop in heart rate appears, when the distance to the preceding vehicle is greater than or equal to the reference distance, or when the speed is less than or equal to the reference speed, It is also possible to actively acquire it through conversation, such as uttering a question to the driver and measuring the driver's response speed.
또한, 사용자가 감정을 표현하는 발화를 입력한 경우, 사용자의 발화로부터 특정 도메인이나 액션은 추출할 수 없지만 대화 시스템(100)은 주변 상황 정보, 차량 상태 정보, 사용자 상태 정보 등을 이용하여 사용자의 의도를 파악하고 대화를 전개할 수 있다. 당해 예시는 전술한 바와 같이 모호성 해결기(230)에서 사용자 발화의 모호성을 해결함으로써 수행될 수 있다. In addition, when the user inputs a speech expressing emotion, a specific domain or action cannot be extracted from the user's speech, but the
이하 일 실시예에 따른 대화 시스템(100)을 이용한 구체적인 대화 처리의 예시를 상세하게 설명하도록 한다.Hereinafter, an example of specific dialog processing using the
도 28 내지 도 40은 사용자가 길 안내와 관련한 발화를 입력한 경우에 대화 시스템(100)이 입력을 처리하고, 대화를 관리하고, 결과를 출력하는 구체적인 예시를 나타낸 도면이다. 28 to 40 are diagrams illustrating specific examples in which the
도 28에 도시된 바와 같이, 사용자가 "어제 간 서울역으로 가자"는 발화를 입력한 경우, 음성 인식기(111a)는 사용자의 음성을 텍스트 형태의 발화문(어제 간 서울역으로 가자)으로 출력한다.As shown in FIG. 28 , when the user inputs an utterance, “Let’s go to Seoul Station yesterday,” the
자연어 이해기(111b)는 형태소를 분석하고, 도메인/액션 추론 규칙 DB(141)를 참조하여, 형태소 분석 결과(어제/NNG, 간/VV, 서울역/NNP, 가자/VV)로부터 [도메인: 내비게이션], [액션: 길안내], [화행: 요청], [인자:NLU 목적지: 서울역]을 추출하여 대화 입력 관리기(111c)에 입력할 수 있다. The
도 29를 참조하면, 대화 입력 관리기(111c)는 자연어 이해기(111b)의 자연어 이해 결과를 상황 이해기(112c)에 전달하면서 추가 정보가 있으면 보내줄 것을 요청한다. Referring to FIG. 29 , the
상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 [도메인: 내비게이션], [액션: 길안내]와 관련된 상황 정보는 현재 위치이고 상황 정보 타입은 GPS 값임을 추출할 수 있다. The
상황 이해기(112c)는 상황 정보 DB(142)를 검색하여 현재 위치의 GPS 값을 추출한다. 상황 정보 DB(142)에 현재 위치의 GPS 값이 저장되어 있지 않은 경우에는, 상황 정보 수집 관리기(112b)에 현재 위치의 GPS 값을 요청한다. The context understandr 112c searches the
상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)에 신호를 보내 현재 위치의 GPS 값을 수집하도록 하고, 상황 정보 수집기(112a)는 차량 제어기(240)로부터 GPS 값을 수집하여 상황 정보 DB(142)에 저장하면서 GPS 값 수집 확인 신호를 상황 정보 수집 관리기(112b)에 전송한다. 상황 정보 수집 관리기(112b)가 상황 이해기(112c)에 GPS 값 수집 확인 신호를 전달하면, 상황 이해기(112c)는 상황 정보 DB(142)로부터 현재 위치의 GPS 값을 추출하여 대화 입력 관리기(111c)에 전달한다. The contextual
대화 입력 관리기(111c)는 자연어 이해 결과인 [도메인: 내비게이션], [액션: 길안내], [화행: 요청], [인자: NLU: 목적지: 서울역]와 [상황 정보: 현재 위치: 의왕역(GPS 값)]를 통합하여 대화 관리기(120)에 전달한다. The
도 30을 참조하면, 대화 흐름 관리기(121)는 대화/액션 상태 DB(147)를 검색하여 진행 중인 대화 태스크나 액션 태스크가 있는지 판단한다. 이 때, 대화 정책 DB(148)를 참조할 수 있다. 당해 예시에서는 진행 중인 대화 태스크나 액션 태스크가 없는 상태인 것으로 가정한다.Referring to FIG. 30 , the
대화 흐름 관리기(121)는 대화 액션 관리기(122)에 입력 처리기(110)의 출력에 대응되는 액션 태스크와 대화 태스크를 생성하도록 요청한다. 액션 태스크와 대화 태스크를 생성하는 것은 액션 상태와 대화 상태에 대한 정보를 저장하고 관리하기 위한 저장 공간을 할당하는 것을 의미한다.The
따라서, 대화 액션 관리기(122)는 대화/액션 상태 DB(147) 내에 저장 공간을 할당하여 액션 상태에 대한 정보와 대화 상태에 대한 정보를 저장한다. Accordingly, the
대화 액션 관리기(122)는 액션 상태와 대화 상태를 액션 우선순위 결정기(125)에 전달한다. The
액션 우선순위 결정기(125)는 연관 액션 DB(146b)에서 길 안내와 연계된 액션인 차량 상태 점검, 주유소 추천을 검색한다. 길 안내 액션 및 연계 액션들은 후보 액션이 된다.The
액션 우선순위 결정기(125)는 미리 저장된 규칙에 따라 각 후보 액션들의 우선 순위를 결정할 수 있다. 우선 순위는 각 후보 액션 별 수행 조건이 판단되기 전에 결정될 수도 있고, 수행 조건이 판단된 이후에 수행 조건을 만족하는 후보 액션들에 대해서만 결정될 수도 있다.The
후보 액션 목록은 다시 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 검색된 연계 액션들을 추가하여 액션 상태를 업데이트한다. The candidate action list is transmitted to the
도 31을 참조하면, 액션 우선순위 결정기(125)는 액션 수행 조건 DB(146c)에서 각각의 후보 액션에 대한 수행 조건 및 수행 조건을 판단하기 위한 인자를 검색한다. 또한, 각 후보 액션들 사이의 우선 순위도 결정할 수 있다. Referring to FIG. 31 , the
예를 들어, 차량 상태 점검을 수행하기 위한 조건은 목적지 거리가 100km 이상인 경우일 수 있고, 수행 조건을 판단하기 위해 필요한 인자는 목적지 거리이다.For example, the condition for performing the vehicle condition check may be a case where the destination distance is 100 km or more, and a factor necessary for determining the execution condition is the destination distance.
주유소 추천을 수행하기 위한 조건은 목적지 거리가 주행 가능 거리(DTE)보다 먼 경우일 수 있고, 수행 조건을 판단하기 위해 필요한 인자는 목적지 거리와 주행 가능 거리이다.The condition for performing the gas station recommendation may be a case where the destination distance is greater than the drivable distance (DTE), and factors necessary for determining the execution condition are the destination distance and the drivable distance.
대화 액션 관리기(122)는 대화/액션 상태 DB(147)에 각 후보 액션을 수행하기 위한 조건과 조건 판단에 필요한 인자를 추가하여 액션 상태를 업데이트한다.The
액션 우선순위 결정기(125)는 각 후보 액션의 수행 조건 만족 여부를 판단하기 위해 필요한 인자 값을 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에서 검색하여 가져올 수 있다. The
인자 값이 이전 대화 내용에 포함되었거나, 대화 내용에 관련된 상황 정보에 포함되었거나, 발생된 이벤트에 관련된 상환 정보에 포함된 경우, 대화/액션 상태 DB(147)로부터 인자 값을 가져올 수 있다.When the factor value is included in the previous conversation content, included in the context information related to the conversation content, or included in the reimbursement information related to an event that occurred, the factor value may be retrieved from the conversation/
인자 값을 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에서 가져올 수 없는 경우에는 외부 정보 관리기(126)에 요청할 수 있다.If the argument value cannot be retrieved from the conversation/
예를 들어, 목적지 거리는 외부 정보 관리기(126)를 통해, 내비게이션 서비스를 제공하는 외부 컨텐츠 서버(300)로부터 가져올 수 있고, DTE는 상황 정보 DB(142)로부터 가져올 수 있다. 한편, 목적지 거리를 검색하기 위해서는 내비게이션 서비스에서 사용되는 정확한 목적지 정보가 필요하다. 당해 예시에서 사용자의 발화로부터 입력된 목적지는 "서울역"에 해당하는바, 서울역은 서울역으로 시작되는 다양한 종류의 장소를 나타내거나 특정한 의미의 서울역일 수 있다. 따라서, "서울역"만으로는 정확한 목적지 거리를 검색하기 어렵다. For example, the destination distance may be obtained from the
또한, 필요에 따라 인자 값을 차량(200)과 연결된 모바일 기기(400)에서 가져오는 것도 가능하다. 예를 들어, 장기 메모리(143)에 저장되지 않은 연락처, 스케줄 등과 같은 사용자 정보가 인자 값으로 필요할 경우, 외부 정보 관리기(126)가 모바일 기기(400)에 필요한 정보를 요청하여 필요한 인자 값을 획득할 수 있다. In addition, it is also possible to bring the factor value from the
또한, 저장부(140), 외부 컨텐츠 서버(300) 및 모바일 기기(400)를 통해서도 인자 값을 획득할 수 없는 경우에는 사용자에게 질의하여 필요한 인자 값을 획득할 수 있다.In addition, when the factor value cannot be obtained through the
액션 우선순위 결정기(125)는 인자 값을 이용하여 각 후보 액션의 수행 조건을 판단한다. 목적지 거리는 검색되지 않았으므로, 일단 차량 상태 점검 액션과 주유소 추천 액션에 대해서는 수행 조건의 판단을 보류한다. The
도 32에 도시된 바와 같이, 대화 액션 관리기(122)는 대화/액션 상태 DB(147)에 획득된 인자 값과 해당 인자 값을 이용하여 판단된 액션 수행 조건 만족 여부를 추가하여 액션 상태를 업데이트한다. As shown in FIG. 32 , the
대화 액션 관리기(122)는 인자 관리기(124)에 각 후보 액션의 수행에 사용되는 인자 목록을 요청한다.The
인자 관리기(124)는 액션 인자(146a)로부터 길 안내 액션의 수행에 사용되는 필수 인자로 현위치와 목적지를 추출하고, 선택 인자로 경로 타입(초기값: 빠른 경로)을 추출할 수 있다. The
차량 상태 점검 액션의 수행에 사용되는 선택 인자로 점검파트(초기값: 전체 파트)를 추출하고, 주유소 추천 액션의 수행에 사용되는 선택 인자로 선호 주유소(초기값: A오일)를 추출할 수 있다.An inspection part (initial value: all parts) can be extracted as a selection factor used to perform the vehicle condition check action, and a preferred gas station (initial value: Oil A) can be extracted as a selection factor used to perform the gas station recommendation action. .
추출된 인자 목록은 대화 액션 관리기(122)로 전달되어 액션 상태를 업데이트하는데 사용될 수 있다.The extracted factor list may be transmitted to the
인자 관리기(124)는 각 후보 액션의 필수 인자와 선택 인자에 대응되는 인자 값을 획득하기 위해 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 및 단기 메모리(144) 중 각 인자의 참조 위치에서 해당 인자 값을 검색하고, 인자 값이 외부 서비스를 통해 제공되어야 하는 경우에는 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)에 필요한 인자 값을 요청할 수 있다.The
후보 액션의 수행 조건을 판단하기 위해 사용되는 인자와, 후보 액션을 수행하는데 사용되는 인자가 상호 겹칠 수 있다. 액션 우선순위 결정기(125)가 획득하여 대화/액션 상태 DB(147)에 저장한 인자 값 중에 후보 액션을 수행하는데 사용되는 인자(필수 인자, 선택 인자)와 대응되는 것이 있으면, 이를 사용할 수 있다. A factor used to determine the execution condition of the candidate action and a factor used to perform the candidate action may overlap each other. Among the factor values obtained by the
도 33을 참조하면, 대화 액션 관리기(122)는 인자 관리기(124)가 획득한 인자 값을 추가하여 액션 상태를 업데이트한다. Referring to FIG. 33 , the
전술한 바와 같이, 사용자 발화로부터 추출한 목적지(서울역)이 길 안내 액션의 인자로 사용되기에는 모호성이 있다. 따라서, 길 안내 액션의 인자(목적지), 차량 상태 점검 액션의 인자(목적지 거리), 주유소 추천 액션의 인자(목적지 거리)의 인자 값이 아직 획득되지 않았다.As described above, there is ambiguity in that the destination (Seoul Station) extracted from the user's utterance is used as a factor of the road guidance action. Accordingly, the factor values of the factor of the road guidance action (destination), the factor of the vehicle condition check action (destination distance), and the factor of the gas station recommendation action (destination distance) have not yet been obtained.
모호성 해결기(123)는 [인자:NLU:목적지:서울역]이 길 안내 액션에 적합한 목적지 인자로 변환하는데 모호성이 있는지 확인한다. 전술한 바와 같이 "서울역"은 서울역으로 시작되는 다른 종류의 장소를 의미할 수도 있고, 사용자가 의미하는 특정 위치의 서울역일 수도 있다. The
모호성 해결기(123)는 형태소 분석 결과를 참조하여 사용자 발화 중 서울역의 수식어가 있음을 확인한다. 모호성 해결기(123)는 "어제 간 서울역"의 위치를 파악하기 위해 장기 메모리(143), 단기 메모리(144)에서 일정, 이동 위치, 연락처 등을 검색한다. The
예를 들어, 모호성 해결기(123)는 사용자의 어제 이동 위치로부터 "어제 간 서울역"이 "서울역 4번 출구"임을 확인할 수 있다. "서울역 4번 출구"의 POI가 있음을 확인하고 해당 값을 가져온다. For example, the
모호성 해결기(123)가 획득한 목적지 정보는 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 후보 액션의 목적지 인자에 "서울역 4번 출구"를 추가하여 액션 상태를 업데이트한다. The destination information obtained by the
인자 관리기(124)는 대화/액션 DB(147)로부터 목적지 정보(서울역 4번 출구)를 가져오고, 외부 정보 관리기(126)를 통해 내비게이션 서비스를 제공하는 외부 컨텐츠 서버(300)에 목적지 거리 값을 요청한다. The
도 34를 참조하면, 외부 정보 관리기(126)가 외부 컨텐츠 서버(300)로부터 목적지 거리 값(80km)을 획득하여 인자 관리기(124)에 전달하면, 인자 관리기(124)는 이를 대화 액션 관리기(122)에 전달하여 액션 상태가 업데이트될 수 있도록 한다. Referring to FIG. 34 , when the
액션 우선순위 결정기(125)는 액션 상태를 참조하여 후보 액션의 수행 가능 여부를 판단하고, 우선 순위를 조절할 수 있다. 길 안내 액션은 필수 인자인 현재 위치와 목적지의 인자 값이 획득되었으므로, 수행 가능하고, 차량 상태 점검 액션은 목적지 거리(70km)가 100km 미만이므로 수행이 불가한 것으로 판단할 수 있다. 주유소 추천 액션은 목적지 거리(80km)가 주행 가능 거리(DTE)보다 멀기 때문에 수행이 가능한 것으로 판단할 수 있다. The
차량 상태 점검 액션은 수행이 불가하므로 우선순위 결정에서 제외한다. 따라서, 길 안내 액션이 우선순위 1번으로, 주유소 추천 액션이 우선순위 2번으로 조절된다. Since the vehicle condition check action cannot be performed, it is excluded from prioritization. Accordingly, the navigation action is adjusted to
대화 액션 관리기(122)는 후보 액션의 수행 가부와 조절된 우선 순위에 따라 액션 상태를 업데이트한다.The
대화 흐름 관리기(121)는 대화/액션 상태 DB(147)에 저장된 대화 상태 및 액션 상태를 확인하고, 대화 정책 DB(148)를 참조하여 대화를 진행하기 위한 대화 전략을 전개한다. 예를 들어, 수행 가능한 액션 중 우선 순위가 가장 높은 액션을 선택하고, 대화 정책 DB(148)에 따라 대화를 진행하기 위한 응답을 생성하도록 응답 생성 관리기(131)에 요청할 수 있다. The
대화/액션 DB(147)에 저장된 대화 상태와 액션 상태는 [상태: 길안내 시작 확인]으로 각각 업데이트될 수 있다.The dialog state and the action state stored in the dialog/
도 35를 참조하면, 응답 생성 관리기(131)는 대화 흐름 관리기(121)의 요청에 따라 대화 응답 생성기(132)에 응답 생성을 요청한다. Referring to FIG. 35 , the
대화 응답 생성기(132)는 응답 템플릿(149)를 검색하여 TTS 응답, 텍스트 응답을 생성한다. 예를 들어, "의왕역에서 서울역 4번 출구까지 30분이 소요될 것으로 예상됩니다. 안내를 시작할까요?"를 TTS와 텍스트로 출력할 수 있는 대화 응답을 생성할 수 있다.The
응답 생성 관리기(131)는 대화 응답 생성기(132)가 생성한 TTS 응답과 텍스트 응답을 출력 관리기(133)와 메모리 관리기(135)에 전달하고, 출력 관리기(133)는 TTS응답을 스피커(232)에 전송하고 텍스트 응답을 디스플레이(231)에 전송한다. 이 때, 출력 관리기(133)는 텍스트를 음성으로 합성하는 TTS모듈을 거쳐 TTS응답을 스피커(232)로 전송할 수 있다. The
메모리 관리기(135)는 사용자가 길 안내를 요청했음을 단기 메모리(144) 또는 장기 메모리(143)에 저장할 수 있다. The
디스플레이(231)와 스피커(232)를 통해 "의왕역에서 서울역 4번 출구까지 30분이 소요될 것으로 예상됩니다. 안내를 시작할까요?"라고 묻는 대화 응답이 출력된다. 도 36에 도시된 바와 같이, 사용자가 "그래"라고 발화하면, 사용자의 발화는 음성 인식기(111a)로 입력되어 [텍스트: 그래]로 출력되고, 자연어 이해기(111b)는 사용자의 발화로부터 [도메인:-], [액션:-], [화행: -], [형태소 분석 결과: 그래/IC]를 출력한다.Through the
자연어 이해 결과는 대화 입력 관리기(111c)로 전달되고, 대화 입력 관리기(111c)는 이를 대화 관리기(120)에 전달한다.The natural language understanding result is transmitted to the
도 37을 참조하면, 대화 흐름 관리기(121)는 대화/액션 상태 DB를 검색하여 이전 대화 상태를 분석하고, 진행 중인 [길 안내] 관련 대화/액션을 업데이트하도록 대화 액션 관리기(122)에 요청한다. Referring to FIG. 37 , the
대화 액션 관리기(122)는 대화 상태와 액션 상태를 [상태: 길 안내 시작]으로 업데이트한다. The
대화 흐름 관리기(121)는 결과 처리기(130)에 길 안내 시작을 위한 응답 생성을 요청한다. The
도 38을 참조하면, 대화 액션 관리기(122)는 대화 상태를 [상태: 다음 대화 진행]으로 업데이트하고, 액션 상태를 [상태: execute]로 업데이트한다.Referring to FIG. 38 , the
대화 흐름 관리기(121)는 응답 생성 관리기(131)에 길 안내를 위한 응답 생성을 요청한다. The
응답 생성기(132)는 "길 안내를 시작합니다"를 TTS와 텍스트로 출력할 수 있는 대화 응답을 생성하여 응답 생성 관리기(131)에 전달할 수 있다.The
명령어 생성기(136)는 길 안내를 수행하기 위한 명령어 [대상: 내비게이션, 명령: 길안내, 목적지: 서울역 4번 출구, 출발지: 의왕역]를 생성하여 응답 생성 관리기(131)에 전달할 수 있다. The
응답 생성 관리기(131)는 생성된 대화 응답과 명령어를 출력 관리기(133)에 전달한다. 출력 관리기(133)는 디스플레이(231) 및 스피커(232)를 통해 대화 응답을 출력하고, 길안내 명령어는 제어부(240)를 통해 차량(200)의 AVN(230)에 전송하거나 내비게이션 서비스를 제공하는 외부 컨텐츠 서버(300)에 전송할 수 있다. The
도 39를 참조하면, 대화 흐름 관리기(121)는 다음으로 실행 가능한 액션으로 주유소 추천을 선택하고, 주유소 추천 여부를 사용자에게 문의하는 응답을 생성하도록 응답 생성 관리기(131)에 요청한다. Referring to FIG. 39 , the
대화 상태와 액션 상태는 [상태: 연계 서비스 추천 확인]으로 업데이트될 수 있다. The conversation state and the action state may be updated with [Status: Confirmation of linked service recommendation].
응답 생성 관리기(131)는 대화 응답 생성기(132)에 TTS 응답 및 텍스트 응답 생성을 요청하고, 대화 응답 생성기(132)는 "목적지까지 이동하기 위한 연료가 부족합니다. 경유지로 A오일 주유소 추가할까요?"를 TTS와 텍스트로 출력할 수 있는 대화 응답을 생성하여 응답 생성 관리기(131)에 전달할 수 있다.The
응답 생성 관리기(131)는 대화 응답 생성기(132)가 생성한 TTS 응답과 텍스트 응답을 출력 관리기(133)와 메모리 관리기(135)에 전달하고, 출력 관리기(133)는 TTS응답을 스피커(232)에 전송하고 텍스트 응답을 디스플레이(231)에 전송한다. The
디스플레이(231)와 스피커(232)를 통해 "목적지까지 이동하기 위한 연료가 부족합니다. 경유지로 A오일 주유소 추가할까요?"라고 묻는 대화 응답이 출력된다. 도 40에 도시된 바와 같이, 사용자가 "아니"라고 발화하면, 사용자의 발화는 음성 인식기(111a)로 입력되어 [텍스트: 아니]로 출력되고, 자연어 이해기(111b)는 사용자의 발화로부터 [도메인:-], [액션:-], [화행: -], [형태소 분석 결과: 아니/IC]를 출력한다.Through the
대화 흐름 관리기(121)는 대화 액션 관리기(122)에 대화 상태 및 액션 상태의 업데이트를 요청한다. The
대화 액션 관리기(122)는 대화 상태를 [상태: 다음 대화 진행]으로 업데이트하고, 액션 상태를 [상태: CANCEL]로 업데이트할 수 있다. The
대화 흐름 관리기(121)는 응답 생성 관리기(131)에 주유소 추천 서비스를 취소했다는 응답을 생성하도록 요청하고, 다음으로 진행 가능한 대화가 있는지 확인한다. 더 진행 가능한 대화가 없으면, 대화 상태를 [상태: IDLE]로 업데이트하고, 사용자의 입력을 기다린다. The
앞서 설명한 데이터 처리의 흐름은 대화 시스템(100)에 적용되는 일 예시에 불과하다. 따라서, 대화 시스템(100)의 각 구성요소들이 데이터를 처리하는 순서가 전술한 예시에 한정되는 것은 아니며, 복수의 구성요소들이 동시에 데이터를 처리하는 것도 가능하고, 전술한 예시와 다른 순서로 처리하는 것도 가능하다. The flow of data processing described above is only an example applied to the
이하, 일 실시예에 따른 대화 처리 방법에 대해 설명한다. 일 실시예에 따른 대화 처리 방법에는 전술한 대화 시스템(100) 또는 이를 포함하는 차량(200)이 적용될 수 있다. 따라서, 도 1 내지 도 40에 대한 설명은 일 실시예에 따른 대화 처리 방법에 대해서도 동일하게 적용될 수 있다. Hereinafter, a conversation processing method according to an embodiment will be described. The
도 41은 일 실시예에 따른 대화 처리 방법에 있어서, 사용자 입력을 처리하는 방법을 나타낸 순서도이다. 사용자 입력을 처리하는 방법은 대화 시스템(100)의 입력 처리기(110)에서 수행될 수 있다. 41 is a flowchart illustrating a method of processing a user input in a conversation processing method according to an embodiment. The method of processing user input may be performed in the
도 41을 참조하면, 사용자의 발화가 입력되면(500의 예), 음성 인식기(111a)가 입력된 사용자의 발화를 인식한다(510). 사용자의 발화는 차량(200)에 마련된 음성 입력 장치(210) 또는 모바일 기기(400)에 마련된 음성 입력 장치(410)를 통해 입력될 수 있다. Referring to FIG. 41 , when the user's utterance is input (Yes in 500), the
음성 인식기(111a)는 입력된 사용자의 발화를 인식하여 텍스트 형태의 발화문으로 출력한다. The
자연어 이해기(111b)는 텍스트 형태의 발화문에 자연어 이해 기술을 적용하여(520), 그 결과를 출력한다.The
구체적으로, 자연어 이해(520) 과정은 텍스트 형태의 발화문에 기초하여 형태소 분석(521)을 수행하고, 형태소 분석 결과에 기초하여 도메인을 추출(522)하고, 개체명을 인식(523)하고, 화행을 분석(524)하고, 액션을 추출(525)하는 것을 포함할 수 있다. Specifically, in the
도메인 추출, 개체명 인식 및 액션 추출을 위해 도메인/액션 추론 규칙DB(141)을 참조할 수 있다. The domain/action
자연어 이해기(111b)의 출력, 즉 자연어 이해 결과는 사용자의 발화에 대응되는 도메인, 액션, 화행, 형태소 분석 결과 등을 포함할 수 있다.The output of the
추출된 액션과 관련된 상황 정보를 검색한다(530). 추출된 액션과 관련된 상황 정보는 상황 이해 테이블(145)에 저장될 수 있고, 상황 이해기(112c)가 상황 이해 테이블(145)에서 추출된 액션과 관련된 상황 정보를 검색하고, 검색된 상황 정보의 정보 값을 상황 정보DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 가져온다. Context information related to the extracted action is retrieved ( 530 ). The extracted action-related contextual information may be stored in the contextual understanding table 145 , and the
추가 상황 정보가 필요한 경우(540의 예), 즉 상황 정보DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 가져올 수 없는 상황 정보가 있는 경우, 해당 상황 정보의 수집을 요청한다(550). 차량 상태 정보, 주변 환경 정보, 운전자 정보 등의 음성 외 입력은 사용자의 발화 입력과 독립적으로 상황 정보 수집기(111a)를 통해 입력될 수 있다. When additional context information is required (Yes of 540), that is, when there is context information that cannot be retrieved from the
이러한 정보들은 주기적으로 입력될 수도 있고, 특정 이벤트 발생 시에 입력될 수도 있으며, 주기적으로 입력되다가 특정 이벤트 발생 시에 추가적으로 더 입력될 수도 있다. 어느 경우이던지 정보의 수집이 요청되면 능동적으로 해당 정보를 수집할 수 있다. Such information may be periodically input, may be input when a specific event occurs, may be input periodically and may be additionally input when a specific event occurs. In any case, if information collection is requested, the information can be actively collected.
따라서, 액션과 관련된 상황 정보가 이미 수집되어 있는 경우에는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 해당 정보를 가져오고, 그렇지 않은 경우에는 상황 정보 수집기(111a)를 통해 해당 정보를 수집한다. Therefore, if the action-related context information has already been collected, the corresponding information is fetched from the
상황 정보의 수집을 요청 받은 상황 정보 수집기(111a)가 해당 상황 정보를 수집하여 상황 정보 DB(142)에 저장하면, 상황 이해기(112c)는 상황 정보 DB(142)로부터 해당 상황 정보를 가져올 수 있다.When the
한편, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(112c)에 액션 트리거 신호를 전송할 수 있다. Meanwhile, the contextual
상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 해당 이벤트와 관련된 상황 정보를 검색하고, 검색된 상황 정보가 저장되어 있지 않으면 다시 상황 정보 수집 관리기(112b)에 상황 정보의 요청 신호를 전송한다. The context understandr 112c searches the context understanding table 145 to retrieve context information related to the corresponding event, and if the retrieved context information is not stored, transmits a request signal for context information to the context
필요한 상황 정보의 수집이 완료되면, 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전송한다(560). 이벤트가 발생된 경우에는, 이벤트와 관련된 정보(어떤 이벤트가 발생되었는지)와 발생된 이벤트와 관련된 상황 정보도 함께 전송할 수 있다. When the collection of necessary context information is completed, the natural language understanding result and context information are transmitted to the conversation manager 120 (560). When an event is generated, information related to the event (which event has occurred) and context information related to the generated event may also be transmitted.
도 42는 일 실시예에 따른 대화 처리 방법에 있어서, 입력 처리기의 출력을 이용하여 대화를 관리하는 방법을 나타낸 순서도이다. 대화를 관리하는 방법은 대화 시스템(100)의 대화 관리기(120)에서 수행될 수 있다. 42 is a flowchart illustrating a method of managing a conversation using an output of an input processor in a conversation processing method according to an embodiment. The conversation management method may be performed in the
도 42를 참조하면, 대화 흐름 관리기(121)가 대화/액션 상태 DB(147)에 관련 대화 이력이 있는지 검색한다(600).Referring to FIG. 42 , the
당해 예시에서는 사용자의 발화로부터 도메인과 액션을 추출할 수 있는 경우를 예로 들어 설명하나, 발화 내용 자체나 상황이 모호하여 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우도 있을 수 있다. 이 경우, 대화 액션 관리기(122)는 임의의 대화 상태를 생성하고, 모호성 해결기(123)가 사용자의 발화 내용, 주변 상황, 차량 상태, 사용자 정보 등에 기초하여 사용자의 의도를 파악하고 이에 대응되는 적절한 액션을 판단할 수 있다.In this example, a case in which a domain and an action can be extracted from a user's utterance is described as an example, but there may be cases in which the domain and action cannot be extracted from the user's utterance because the content or situation of the utterance itself is ambiguous. In this case, the
관련 대화 이력이 존재하면(600의 예) 이를 참조하고(690), 존재하지 않으면(600의 아니오), 새로운 대화 태스크 및 액션 태스크를 생성한다(610). If the related conversation history exists (Yes in 600), it is referred to (690), and if it does not exist (No in 600), a new conversation task and action task are created (610).
연관 액션 DB(146b)에서 사용자 발화로부터 추출된 액션(이하, 입력 액션이라 한다)과 연관된 연관 액션 목록을 검색하여 후보 액션 목록을 생성한다(620). 입력 액션 및 이와 연관된 액션들이 후보 액션 목록이 된다.A candidate action list is generated by searching a related action list associated with an action extracted from a user's utterance (hereinafter, referred to as an input action) from the
액션 수행조건 DB(146c)에서 후보 액션 별 수행 조건을 검색한다(620). 수행 조건은 액션을 수행하기 위해 필요한 조건으로서, 해당 조건이 만족되면 액션 수행이 가능한 것으로 판단하고, 만족되지 않으면 액션 수행이 불가한 것으로 판단한다. 액션 수행조건 DB(146c)에는 액션 수행 조건 판단에 사용되는 인자의 종류에 대한 정보도 함께 저장된다.An execution condition for each candidate action is searched for in the action
액션 수행 조건 판단에 사용되는 인자 값을 획득한다(640). 액션 수행 조건 판단에 사용되는 인자는 조건 판단 인자라 하기로 한다. 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)를 검색하여 조건 판단 인자의 인자 값을 획득할 수 있다. 조건 판단 인자의 인자 값이 외부 서비스를 통해 제공되어야 하는 경우에는, 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)로부터 필요한 인자 값을 제공받을 수 있다.A factor value used to determine the action execution condition is acquired ( 640 ). A factor used to determine the action execution condition will be referred to as a condition determination factor. The factor value of the condition determination factor may be obtained by searching the
또한, 상황이나 발화가 모호하여 필요한 인자 값을 획득할 수 없는 경우에는 모호성 해결기(230)를 통해 모호성을 해결하여 필요한 인자 값을 획득할 수 있다. In addition, when a necessary factor value cannot be obtained because the situation or utterance is ambiguous, the necessary factor value can be obtained by resolving the ambiguity through the
또한, 획득된 인자가 액션 수행 조건 판단에 사용되기 어려운 비유효 인자인 경우에도 모호성 해결기(230)가 비유효 인자로부터 유효 인자를 획득할 수 있다. Also, even when the obtained factor is an invalid factor that is difficult to be used for determining an action execution condition, the
획득된 조건 판단 인자에 기초하여 후보 액션 별로 수행 가부를 판단하고(650), 후보 액션들의 우선 순위를 결정한다(660). 후보 액션들의 우선 순위를 결정하는 규칙은 미리 저장될 수 있다. 액션 우선순위 결정기(125)는 액션 수행 가부가 판단된 이후에 액션 수행이 가능한 후보 액션들만 고려하여 우선 순위를 결정할 수 있다. 또는, 액션들의 수행 가부에 상관없이 우선 순위를 결정한 이후에, 액션 수행 가부에 기초하여 우선 순위를 조절할 수도 있다.Based on the acquired condition determination factor, it is determined whether to perform each candidate action ( 650 ), and the priority of the candidate actions is determined ( 660 ). A rule for determining the priority of candidate actions may be stored in advance. The
액션 인자 DB(146a)에서 후보 액션의 수행에 사용되는 인자 목록을 검색한다(670). 액션의 수행에 사용되는 인자는 액션 인자라 하기로 한다. 액션 인자는 필수 인자와 선택 인자를 포함할 수 있다.A list of factors used to perform a candidate action is retrieved from the
후보 액션의 수행에 사용되는 액션 인자의 인자 값을 획득한다(680). 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)를 검색하여 액션 인자의 인자 값을 획득할 수 있다. 액션 인자의 인자 값이 외부 서비스를 통해 제공되어야 하는 경우에는, 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)로부터 필요한 인자 값을 제공받을 수 있다.A factor value of an action factor used to perform a candidate action is acquired ( 680 ). A factor value of an action factor may be obtained by searching the
또한, 상황이나 발화가 모호하여 필요한 인자 값을 획득할 수 없는 경우에는 모호성 해결기(230)를 통해 모호성을 해결하여 필요한 인자 값을 획득할 수 있다. In addition, when a necessary factor value cannot be obtained because the situation or utterance is ambiguous, the necessary factor value can be obtained by resolving the ambiguity through the
또한, 획득된 인자가 액션의 수행에 사용되기 어려운 비유효 인자인 경우에도 모호성 해결기(230)가 비유효 인자로부터 유효 인자를 획득할 수 있다.Also, even when the obtained factor is an invalid factor that is difficult to be used for performing an action, the
대화 액션 관리기(122)에 의해 관리되는 대화 상태 및 액션 상태는 전술한 단계들이 수행되면서 상태가 변경될 때마다 업데이트될 수 있다. The dialog state and action state managed by the
획득 가능한 인자 값들이 모두 획득되면 대화 흐름 관리기(121)가 결과 처리기(130)에 후보 액션에 관한 정보와 대화 상태를 전달한다. 대화 정책에 따라 1순위에 해당하는 액션에 관한 정보만 전달하는 것도 가능하고, 복수의 후보 액션에 관한 정보를 전달하는 것도 가능하다.When all obtainable factor values are obtained, the
한편, 필요한 인자 값이 외부 컨텐츠 서버(300), 장기 메모리(143), 단기 메모리(144) 및 상황 정보 DB(142)에 존재하지 않고, 사용자를 통해서만 획득될 수 있는 경우에는 사용자에게 인자 값을 질의하기 위한 대화 응답을 출력하는 것도 가능하다.On the other hand, if the required factor value does not exist in the
도 43은 일 실시예에 따른 대화 처리 방법에 있어서, 대화 관리의 결과에 대응되는 응답을 생성하기 위한 결과 처리 방법을 나타낸 순서도이다. 결과 처리 방법은 대화 시스템(100)의 결과 처리기(130)에 의해 수행될 수 있다. 43 is a flowchart illustrating a result processing method for generating a response corresponding to a result of conversation management in the conversation processing method according to an embodiment. The result processing method may be performed by the
도 43을 참조하면, 대화 응답의 생성이 필요한 경우(700의 예), 대화 응답 생성기(132)가 응답 템플릿(149)을 검색한다(710). 응답 템플릿(149)에서 현재 대화 상태와 액션 상태에 대응되는 대화 응답 서식을 추출하고, 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다(720). Referring to FIG. 43 , when generation of a dialog response is required (Yes in 700 ), the
대화 응답 생성에 필요한 인자 값이 대화 관리기(120)로부터 전달되지 않거나, 외부 컨텐츠를 이용하라는 지시가 전달된 경우에는 외부 컨텐츠 서버(300)로부터 제공받거나 장기 메모리(143), 단기 메모리(144) 또는 상황 정보 DB(142)에서 검색할 수 있다. 필요한 인자 값이 외부 컨텐츠 서버(300), 장기 메모리(143), 단기 메모리(144) 및 상황 정보 DB(142)에 존재하지 않고, 사용자를 통해서만 획득될 수 있는 경우에는 사용자에게 인자 값을 질의하기 위한 대화 응답을 생성하는 것도 가능하다. When a factor value necessary for generating a dialog response is not delivered from the
명령어 생성이 필요한 경우(760)에는, 명령어 생성기(136)가 차량 제어 또는 외부 컨텐츠 이용을 위한 명령어를 생성한다(770). When it is necessary to generate a command ( 760 ), the
생성된 대화 응답 또는 명령어는 출력 관리기(133)로 입력되고, 출력 관리기(133)는 대화 응답과 명령어 사이의 출력 순서 또는 복수의 명령어 사이의 출력 순서를 결정할 수 있다(730).The generated dialogue response or command is input to the
생성된 대화 응답 또는 명령어에 기초하여 메모리를 업데이트한다(740). 메모리 관리기(135)는 생성 및 출력된 대화 응답에 기초하여 사용자와 시스템 간 대화 내용을 저장하여 단기 메모리(144)를 업데이트할 수 있고, 사용자와의 대화를 통해 획득된 사용자 관련 정보를 저장하여 장기 메모리(143)를 업데이트할 수 있다. 또한, 생성 및 출력된 차량 제어나 외부 컨텐츠 요청에 기초하여 장기 메모리(143)에 저장된 사용자의 선호도나 차량 제어 이력 등을 업데이트할 수 있다.Based on the generated dialog response or command, the memory is updated (740). The
출력 관리기(133)는 대화 응답과 명령어를 적절한 출력 위치로 전송하여 응답을 출력한다(750). TTS 응답은 스피커(232)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(231)를 통해 출력할 수 있다. 명령어는 그 제어 대상에 따라 차량 제어기(240)로 전송될 수도 있고, 외부 컨텐츠 서버(300)로 전송될 수도 있으며, 외부 컨텐츠 서버(300)와 통신하기 위한 통신 장치(280)로 전송될 수도 있다. The
일 실시예에 따른 대화 처리 방법은 전술한 순서도 상의 순서에 의해 제한되지 않는다. 도 41 내지 도 43의 순서도에 따른 흐름은 대화 처리 방법에 적용될 수 있는 일 예시에 불과하며, 복수의 단계가 동시에 수행되는 것도 가능하고, 각 단계들의 순서가 바뀌는 것도 가능하다.The conversation processing method according to an embodiment is not limited by the order in the above-described flowchart. The flow according to the flowcharts of FIGS. 41 to 43 is only an example that can be applied to the conversation processing method, and a plurality of steps may be simultaneously performed, and the order of each step may be changed.
도 44는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도로서, 대화 시스템이 원격 대화시스템 서버에 구현되는 경우를 예로 들어 설명하기로 한다.44 is a control block diagram schematically illustrating a connection relationship between a conversation system, components of a vehicle, and components of a mobile device, and a case in which the conversation system is implemented in a remote conversation system server will be described as an example.
이하에서 개시되는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 중 상술한 도 1 내지 도 43에서 개시하는 구성과 동일한 구성에 대한 상세 설명은 생략하기로 한다.A detailed description of the same components as those shown in FIGS. 1 to 43 among the components of the conversation system, the vehicle, and the mobile device disclosed below will be omitted.
도 44에서 개시하는 바와 같이, 원격 대화시스템 서버(1)에 마련된 대화 시스템(100)은 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함할 수 있다.As disclosed in FIG. 44 , the
입력 처리기(110)는 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받을 수 있다.The
입력 처리기(110)는 모바일 기기(400) 또는 차량(200)에 마련된 음성 입력 장치(410, 도 2의 210)를 통해 사용자의 발화를 입력 받을 수 있다.The
대화 관리기(120)는 저장부(140)에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 목적지까지의 경로 안내를 예약하거나 또는 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다. 이때, 대화 관리기(120)는 사용자의 위치가 차량(200) 내부인지 또는 차량(200) 외부인지 여부를 판단하기 위한 정보 및 목적지까지의 경로를 생성하는데 필요한 정보가 저장부(140)에 저장되어 있지 않다면, 모바일 기기(400), 차량(200) 또는 외부 컨텐츠 서버(300)를 통해 제공받을 수 있다.The
대화 관리기(120)는 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결된 상태이고 차량(200)의 시동 상태가 온(ON) 상태인 경우 사용자의 위치가 차량 내부라고 판단하고, 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다. 상기 근거리 통신은 블루투스(Bluetooth) 통신일 수 있으며, 이에 한정되지 않는다.When the short-distance communication between the
이때, 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결된 상태 및 차량(200)의 시동 상태는 대화 시스템 클라이언트(470)를 거쳐 통신 장치(480)를 통해 대화 시스템(100)으로 전달될 수 있다. 상기 차량(200)의 시동 상태는 차량 감지부(260)를 통해 감지된 EPB(Electronic Parking Brake) 해제 신호, 차량 시동 인가 신호 등일 수 있으며, 이에 한정되지 않는다. 한편, 차량(200)의 시동 상태 및 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태는 차량(200)이 통신장치(280)를 통해 직접 대화 시스템(100)측으로 전달하는 것도 가능하다 할 것이다.In this case, the state in which short-range communication between the
대화 관리기(120)는 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 목적지까지의 경로 안내를 현재 위치에서 목적지까지의 도보 경로 안내 형태로 출력하도록 할 수 있다. 이때, 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 것은 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결이 이루어지지 않거나, 또는 차량(200)의 시동 상태가 오프(OFF)로 변경됨을 인지하는 것을 통해 판단할 수 있다.When the user's location is changed from the inside of the vehicle to the outside of the vehicle, the
대화 관리기(120)는 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 차량의 시동 상태가 오프(OFF) 상태인 경우 사용자의 위치가 차량 외부라고 판단하고, 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다. 이에 한정되지 않고, 대화 관리기(120)는 사용자의 위치가 차량 외부라고 판단되는 경우, 목적지까지의 경로 안내를 도보 형태로 출력하는 액션을 결정하는 것 역시 가능하다 할 것이다.When the short-distance communication between the
대화 관리기(120)는 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다.The
결과 처리기(130)는 대화 관리기(120)에서 결정된 액션을 수행하기 위한 응답을 생성할 수 있다.The
결과 처리기(130)는 결정된 액션을 수행하기 위한 응답으로 대화 응답, 차량 제어 및 모바일 기기 제어 중 적어도 하나 이상을 위한 명령어를 생성할 수 있다.The
결과 처리기(130)는 목적지까지의 경로 안내 예약 또는 목적지까지의 경로 안내와 관련된 액션의 응답이 차량(200) 또는 모바일 기기(400)를 통해 출력되도록 할 수 있다.The
저장부(140)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다.The
예를 들어, 저장부(140)는 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보와 같이 차량(200)에 마련된 센서가 감지한 데이터, 사용자와 관련된 정보, 액션 수행을 위해 필요한 정보를 미리 저장할 수 있다. For example, the
이때, 저장부(140)는 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태 정보 및 차량 상태 정보에 대해서는 차량(200)으로부터 제공받아 저장할 수 있으며, 이에 한정되지 않는다.In this case, the
도 44에서 도시하는 바와 같이, 모바일 기기(400)는 음성 입력 장치(410), 음성 외 입력 장치(420), 출력장치(430), 대화 시스템 클라이언트(470) 및 통신 장치(480)를 구비하여, 원격 대화시스템 서버(1)에 마련된 대화 시스템(100)에서의 목적지 설정과 관련되어 필요한 각종 정보를 전달하고, 대화 시스템(100)으로부터 전달되는 응답에 따라 목적지까지의 경로 안내, 목적지까지의 경로 안내 예약 등과 같은 동작을 수행할 수 있다. As shown in FIG. 44 , the
상기 대화 시스템 클라이언트(470)는 차량(200)과 사용자로부터 입력되는 데이터를 수집하여 통신 장치(480)를 통해 원격 대화 시스템 서버(1)로 전송할 수 있다. 이때, 차량(200)과 사용자로부터 입력되어 수집되는 데이터는 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태 및 차량 시동 여부를 비롯한 차량 상태 정보, 목적지 정보 등을 포함할 수 있다. 대화 시스템 클라이언트(470)는 상술한 수집 데이터를 차량(200)으로부터 수신하거나, 또는 사용자에 의해서 모바일 기기(400)를 통해 입력 받아 원격 대화 시스템 서버(1)로 전송할 수 있다.The
또한, 차량(200)은 대화자 출력장치(230), 차량 제어기(240), 차량 감지부(260) 및 통신 장치(280)를 구비하여, 대화 시스템(100)에서 목적지 설정과 관련되어 필요한 각종 정보를 전달하고, 대화 시스템(100)으로부터 전달되는 응답에 따라 목적지까지의 경로 안내, 목적지까지의 경로 안내 예약 등과 같은 동작을 수행할 수 있다. In addition, the
이때, 차량(200)은 모바일 기기(400)와의 근거리 통신 연결 상태 및 차량 감지부(260)를 통해 감지된 차량 시동 여부를 비롯한 차량 상태 정보를 모바일 기기(400)가 아닌 통신장치(280)를 통해 직접 대화 시스템(100)측으로 전달하는 것도 가능하다.At this time, the
대화 시스템(100)은 차량(200)으로부터 모바일 기기(400)와의 근거리 통신 연결 상태 정보 및 차량 상태 정보를 수신하고, 차량(200)에 응답을 전송하는 통신부(도 19b의 810)를 더 포함할 수 있다.The
통신부(810)는 모바일 기기(400)로부터 차량(200)과의 근거리 통신 연결 상태 정보를 수신하고, 모바일 기기(400)에 응답을 전송할 수 있다.The
도 45는 모바일 기기에 대화 시스템이 탑재되는 경우, 모바일 기기와 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타내는 제어 블록도이다.45 is a control block diagram schematically illustrating a connection relationship between the mobile device and components of a vehicle when a conversation system is mounted on the mobile device.
이하에서 개시되는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 중 상술한 도 1 내지 도 44에서 개시하는 구성과 동일한 구성에 대한 상세 설명은 생략하기로 한다.A detailed description of the same components as those shown in FIGS. 1 to 44 among the components of the conversation system, the vehicle, and the mobile device disclosed below will be omitted.
도 45를 참조하면, 모바일 기기(400)는 사용자 음성을 입력 받는 음성 입력 장치(410), 사용자의 음성 외 입력을 수신하는 음성 외 입력 장치(420), 시각적, 청각적 또는 촉각적으로 응답을 출력하는 출력 장치(430), 차량(200) 및 외부 컨텐츠 서버(300)와 통신하여 데이터를 송수신하는 통신 장치(480) 및 대화 시스템 (100)을 포함한다.Referring to FIG. 45 , the
도 44를 참조하면, 대화 시스템(100)은 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함할 수 있다.Referring to FIG. 44 , the
입력 처리기(110)는 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받을 수 있다.The
이때, 입력 처리기(110)는 음성 입력 장치(410)를 통해 사용자의 발화를 입력 받을 수 있다. 만약, 모바일 기기(400)가 차량(200) 내부 위치하는 경우, 차량(200)의 음성 입력 장치(도 41의 210)를 통해 사용자의 발화를 입력 받는 것 역시 가능하다 할 것이다.In this case, the
대화 관리기(120)는 저장부(140)에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 목적지까지의 경로 안내를 예약하거나 또는 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다. 즉, 대화 관리기(120)는 사용자의 위치가 차량 외부인지 또는 차량 내부인지 여부에 따라, 경로 안내가 '바로 안내'또는 '경로 안내 예약하기'로 사용자 상황에 맞춤 처리될 수 있도록 액션을 결정하는 것이다. The
대화 관리기(120)는 차량(200)과의 근거리 통신이 연결되지 않은 상태이거나, 또는 차량(200)의 시동 상태가 오프(OFF) 상태인 경우 사용자의 위치가 차량 외부라고 판단하고, 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다. 이때, 대화 관리기(120)는 사용자의 위치가 차량(200) 내부인지 또는 차량(200) 외부인지 여부를 판단하기 위한 정보 및 목적지까지의 경로를 생성하는데 필요한 정보가 저장부(140)에 저장되어 있지 않다면, 모바일 기기(400), 차량(200) 또는 외부 컨텐츠 서버(300)를 통해 제공받을 수 있다.The
대화 관리기(120)는 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다. 이때, 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 것은 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결이 이루어지거나, 또는 차량(200)의 시동 상태가 온(ON)로 변경됨을 인지하는 것을 통해 판단할 수 있다.The
대화 관리기(120)는 차량(200)과 근거리 통신이 연결된 상태이고 차량(200)의 시동 상태가 온(ON) 상태인 경우 사용자의 위치가 차량 내부라고 판단하고, 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다.The
이때, 차량(200)의 시동 상태는 차량 감지부(260)를 통해 감지된 정보를 통신 장치(280)를 통해 전달받을 수 있다.In this case, the starting state of the
대화 관리기(120)는 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 목적지까지의 경로 안내를 현재 위치에서 목적지까지의 도보 경로 안내 형태로 출력할 수 있다. 이때, 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 것은 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결이 이루어지지 않거나, 또는 차량(200)의 시동 상태가 오프(OFF)로 변경됨을 인지하는 것을 통해 판단할 수 있다.When the user's location is changed from the inside of the vehicle to the outside of the vehicle, the
결과 처리기(130)는 대화 관리기(120)에서 결정된 액션을 수행하기 위한 응답을 생성할 수 있다.The
결과 처리기(130)는 사용자의 위치가 차량 외부에서 차량 내부로 이동하는 경우, 출력 장치(430)를 통해 출력되는 목적지까지의 경로 안내와 관련된 액션의 응답을 미러링 기능을 통해 차량(200)의 대화자 출력 장치(230)를 통해 출력할 수 있다. 이를 위해, 차량(200)과 모바일 기기(400)가 미러링(mirroring) 기능을 위한 구성을 구비함은 당연하다 할 것이다.When the user's location moves from the outside of the vehicle to the inside of the vehicle, the
저장부(140)는 차량(200)과의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 저장할 수 있다.The
출력 장치(430)는 결과 처리기(130)를 통해 전달되는 목적지까지의 경로 안내 예약 또는 목적지까지의 경로 안내와 관련된 액션의 응답을 출력할 수 있다. 이때, 출력 장치(430)는 시각적, 청각적 또는 촉각적으로 목적지의 경로 안내 예약 또는 목적지까지의 경로 안내와 관련하여 액션의 응답을 출력할 수 있다.The
도 46은 차량 외부에서의 목적지 설정 방법의 일 예를 설명하기 위한 도면이고, 도 47은 차량 내부에서의 목적지 설정 방법의 일 예를 설명하기 위한 도면으로서, 대화 시스템과 사용자 사이에 주고 받을 수 있는 대화를 예로 들어 설명하기로 한다.46 is a view for explaining an example of a method for setting a destination outside the vehicle, and FIG. 47 is a view for explaining an example of a method for setting a destination inside the vehicle, which can be exchanged between the conversation system and the user. Let's take a conversation as an example.
도 46을 참조하면, 대화 시스템(100)이 목적지 설정을 위한 사용자 발화 입력을 대기하는 발화(S1: 무엇을 도와 드릴까요? 듣고 있습니다. 말씀하세요.)를 출력하면, 사용자가 목적지까지의 길 안내를 요청하는 발화(U1: 서울대 가는 길 안내해 줘.)를 입력할 수 있다. 이때, 대화 시스템(100)의 S1 단계는 모바일 기기(400)에 구비된 별도의 목적지 입력 버튼 선택 등으로 대체되거나, 또는 생략 가능하다 할 것이다. Referring to FIG. 46 , when the
대화 시스템(100)은 사용자의 현재 위치가 차량(200) 외부인 것을 확인하고, 경로 안내 예약을 묻는 발화(S2: 경로 안내를 예약할까요?)를 출력할 수 있다. 이때, 도 46에서 도시하는 바와 같이, 대화 시스템(100)은 현재 위치로부터 목적지까지의 예약될 경로를 대략적으로 나타내는 지도도 시각적으로 제공하여 사용자가 확인할 수 있도록 함께 출력할 수 있다.The
사용자는 경로 안내 예약을 수락하는 발화(U2: 그래.)를 입력할 수 있고, 대화 시스템(100)은 현재 위치에서 목적지까지의 경로 안내를 예약한 후, 경로 안내 예약 완료를 알리는 발화(S3: 경로 안내가 예약되었습니다.)를 출력할 수 있다.The user may input an utterance (U2: yes) to accept the route guidance reservation, and the
이후, 사용자의 위치가 차량 외부에서 차량 내부로 이동하는 경우, 대화 시스템(100)은 예약된 목적지까지의 경로 안내가 있음과 경로 안내를 시작함을 알리는 발화(S4: 예약된 경로가 있습니다. 서울대로 안내 시작합니다.)를 출력할 수 있다.Thereafter, when the user's location moves from the outside of the vehicle to the inside of the vehicle, the
이후, 대화 시스템(100)은 모바일 기기(400)의 출력 장치(430) 또는 차량(200)의 대화자 출력 장치(230)를 통해 예약된 목적지까지의 경로 안내를 출력할 수 있다. 이때, 대화자 출력 장치(230)로 경로 안내를 출력하는 경우, 대화 시스템(100)이 직접 차량(200)과의 통신을 통해 대화자 출력 장치(230) 측에서 경로 안내를 출력하거나, 또는 모바일 기기(400)와 차량(200) 간의 미러링 기능을 통해 모바일 기기(400)의 출력 장치(430)에서 출력되는 경로 안내를 대화자 출력 장치(230)를 통해 출력되도록 하는 방법이 모두 가능하다 할 것이다.Thereafter, the
도 47을 참조하면, 대화 시스템(100)이 목적지 설정을 위한 사용자 발화 입력을 대기하는 발화(S1: 무엇을 도와 드릴까요? 듣고 있습니다. 말씀하세요.)를 출력하면, 사용자가 목적지까지의 길 안내를 요청하는 발화(U1: 서울대 가는 길 안내해 줘.)를 입력할 수 있다. 이때, 대화 시스템(100)의 S1 단계는 모바일 기기(400)에 구비된 별도의 목적지 입력 버튼 선택 등으로 대체되거나, 또는 생략 가능하다 할 것이다.Referring to FIG. 47 , when the
대화 시스템(100)은 사용자의 현재 위치가 차량(200) 내부인 것을 확인하고, 경로 안내 시작을 묻는 발화(S2: 경로 안내를 시작할까요?)를 출력할 수 있다. 이때, 도 47에서 도시하는 바와 같이, 대화 시스템(100)은 현재 위치로부터 목적지까지의 경로를 대략적으로 나타내는 지도도 함께 출력할 수 있다. The
사용자가 경로 안내 시작을 수락하는 발화(U2: 그래.)를 입력하면, 대화 시스템(100)은 모바일 기기(400)의 출력 장치(430) 또는 차량(200)의 대화자 출력 장치(230)를 통해 목적지까지의 경로 안내를 출력할 수 있다.When the user inputs an utterance (U2: yes) for accepting the start of the route guidance, the
이후, 사용자의 위치가 차량 내부에서 차량 외부로 이동하는 경우, 대화 시스템(100)은 현재 출력되는 목적지까지의 경로 안내를 도보 형태로 안내 받을지 여부를 묻는 발화(S3: 목적지까지 도보 안내 해 드릴까요?)를 출력하고, 사용자로부터 수락하는 발화(U3: 그래.)가 입력되면, 도보 형태의 목적지까지의 경로를 안내하는 발화(S4: 도보 안내를 시작합니다.)를 출력할 수 있다. Thereafter, when the user's location moves from the inside of the vehicle to the outside of the vehicle, the
도 48은 차량에 대화 시스템이 탑재되는 경우, 차량의 구성 요소들과 모바일 기기의 구성 요소들 사이의 연결 관계를 간략하게 나타내는 제어 블록도이다.48 is a control block diagram schematically illustrating a connection relationship between components of a vehicle and components of a mobile device when a conversation system is mounted on a vehicle.
이하에서 개시되는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 중 상술한 도 1 내지 도 47에서 개시하는 구성과 동일한 구성에 대한 상세 설명은 생략하기로 한다.A detailed description of the same components as those shown in FIGS. 1 to 47 among the components of the conversation system, the vehicle, and the mobile device disclosed below will be omitted.
도 48을 참고하면, 차량(200)은 음성 입력 장치(210), 음성 외 입력 장치(220), 출력 장치(230), 차량 제어기(240), 차량 감지부(260), 통신 장치(280) 및 대화 시스템(100)을 포함할 수 있다.Referring to FIG. 48 , the
도 44를 참조하면, 대화 시스템(100)은 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함할 수 있다.Referring to FIG. 44 , the
입력 처리기(110)는 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받을 수 있다.The
입력 처리기(110)는 차량(200)에 구비된 음성 입력 장치(210) 및 음성 외 입력 장치(220)를 통해 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. The
대화 관리기(120)는 저장부(140)에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다. 이때, 대화 관리기(120)는 사용자의 위치가 차량(200) 내부인지 또는 차량(200) 외부인지 여부를 판단하기 위한 정보 및 목적지까지의 경로를 생성하는데 필요한 정보가 저장부(140)에 저장되어 있지 않다면, 모바일 기기(400), 차량(200) 또는 외부 컨텐츠 서버(300)를 통해 제공받을 수 있다. 이때, 모바일 기기(400)는 대화시스템 클라이언트(470)를 구비하여 목적지까지의 경로를 생성하는데 요구되는 정보를 비롯한 각종 정보를 대화시스템 클라이언트(470)를 거쳐 통신장치(480)를 통해 대화 시스템(100) 측으로 전달할 수 있다.The
대화 관리기(120)는 차량(200)의 시동 상태가 온(ON) 상태인 경우 사용자의 위치가 차량 내부라고 판단하여 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정한다.When the starting state of the
또한, 대화 관리기(120)는 차량(200)의 시동 상태가 오프(OFF) 상태인 경우 사용자가 차량 외부라고 판단하여 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정한다.In addition, when the starting state of the
대화 관리기(120)는 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 모바일 기기를 통해 현재 위치로부터 상기 목적지까지의 도보 경로 안내 형태로 출력한다.When the user's location is changed from the inside of the vehicle to the outside of the vehicle, the
결과 처리기(130)는 대화 관리기(120)에서 결정된 액션을 수행하기 위한 응답을 생성할 수 있다.The
결과 처리기(130)는 결정된 액션을 수행하기 위한 응답으로 대화 응답, 차량 제어 및 모바일 기기 제어 중 적어도 하나 이상을 위한 명령어를 생성할 수 있다.The
결과 처리기(130)는 목적지까지의 경로 안내 예약 또는 목적지까지의 경로 안내와 관련된 액션의 응답이 차량(200) 또는 모바일 기기(400)를 통해 출력되도록 할 수 있다.The
저장부(140)는 차량 시동 여부를 비롯한 차량 상태 정보를 저장할 수 있다.The
도 49는 내비게이션 기능을 위한 대화 처리 방법을 나타낸 순서도이다.49 is a flowchart illustrating a conversation processing method for a navigation function.
먼저, 대화 시스템(100)은 사용자의 목적지를 비롯한 발화를 입력 받을 수 있다(911).First, the
다음, 대화 시스템(100)은 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 기초로 사용자의 위치가 차량 내부인지 여부를 판단할 수 있다(913).Next, the
구체적으로, 대화 시스템(100)은 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결된 상태이고 차량(200)의 시동 상태가 온(ON) 상태인 경우 사용자의 위치가 차량 내부라고 판단하고, 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 차량(200)의 시동 상태가 오프(OFF) 상태인 경우 사용자의 위치가 차량 외부라고 판단할 수 있다. 이때, 대화 시스템(100)은 차량의 시동 상태 및 근거리 통신 연결 상태를 차량(200)과 모바일 기기(400)로부터 전달받아 사용자의 위치를 판단한다.Specifically, when the short-distance communication between the
대화 시스템(100)은 단계 913의 판단 결과에 따라 목적지까지의 경로 안내를 예약하거나 또는 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정한다.The
구체적으로, 대화 시스템(100)은 사용자의 위치가 차량 내부인 경우, 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다(915).Specifically, when the user's location is inside the vehicle, the
다음, 대화 시스템(100)은 결정된 액션을 수행하기 위한 응답을 생성하여 차량(200) 또는 모바일 기기(400)를 통해 목적지까지의 경로 안내를 제공할 수 있다(917).Next, the
다음, 대화 시스템(100)은 사용자의 위치가 차량 내부에서 차량 외부로 변경되었는지 여부를 확인할 수 있다(919).Next, the
확인 결과, 사용자의 위치가 차량 내부에서 차량 외부로 변경된 경우, 대화 시스템(100)은 목적지까지의 경로 안내를 현재 위치에서 목적지까지의 도보 경로 안내 형태로 출력할 수 있다(921).As a result of the check, when the user's location is changed from the inside of the vehicle to the outside of the vehicle, the
한편, 단계 913의 판단 결과, 사용자의 위치가 차량 외부인 경우, 대화 시스템(100)은 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다(923).Meanwhile, as a result of the determination in
다음, 대화 시스템(100)은 모바일 기기(400)를 통해 목적지까지의 경로 안내 예약을 수행할 수 있다(925).Next, the
다음, 대화 시스템(100)은 차량(200) 또는 모바일 기기(400)를 통해 전달되는 정보를 기초로 사용자의 위치가 차량 외부에서 차량 내부로 변경되었는지 여부를 확인할 수 있다(927).Next, the
사용자의 위치가 차량 외부에서 차량 내부로 변경된 경우, 대화 시스템(100)은 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다(929).When the user's location is changed from the outside of the vehicle to the inside of the vehicle, the
이때, 대화 시스템(100)은 차량(200)의 대화자 출력 장치(230) 또는 모바일 기기(400)의 출력 장치(430)를 통해 예약된 목적지까지의 경로 안내를 출력할 수 있다.In this case, the
도 50은 도 44의 다른 예를 나타내는 대화 시스템, 차량의 구성 요소 및 모바일 기기의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.FIG. 50 is a control block diagram schematically illustrating a connection relationship between components of a conversation system, a vehicle, and a mobile device, illustrating another example of FIG. 44 .
이하에서는 도 44와 중복된 구성에 대한 상세 설명은 생략하기로 한다.Hereinafter, a detailed description of the overlapping configuration with that of FIG. 44 will be omitted.
도 50에서 개시하는 바와 같이, 원격 대화시스템 서버(1)에 마련된 대화 시스템(100)은 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함할 수 있다.As disclosed in FIG. 50 , the
입력 처리기(110)는 사용자에 의해서 입력되는 목적지를 비롯한 발화를 입력 받을 수 있다.The
입력 처리기(110)는 모바일 기기(400) 또는 차량(200)에 마련된 음성 입력 장치(410, 도 2의 210)를 통해 사용자의 발화를 입력 받을 수 있다.The
대화 관리기(120)는 저장부(140)에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 목적지까지의 경로 안내를 예약하거나 또는 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다. 대화 관리기(120)는 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결된 상태이고 차량(200)의 시동 상태가 온(ON) 상태인 경우 사용자의 위치가 차량 내부라고 판단하고, 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정할 수 있다. The
이때, 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결된 상태 및 차량(200)의 시동 상태는 대화 시스템 클라이언트(470)를 거쳐 통신 장치(480)를 통해 대화 시스템(100)으로 전달될 수 있다.At this time, the state in which short-range communication between the
대화 관리기(120)는 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 목적지까지의 경로 안내를 현재 위치에서 목적지까지의 도보 경로 안내 형태로 출력하도록 할 수 있다. When the user's location is changed from the inside of the vehicle to the outside of the vehicle, the
대화 관리기(120)는 차량(200)과 모바일 기기(400) 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 차량의 시동 상태가 오프(OFF) 상태인 경우 사용자의 위치가 차량 외부라고 판단하고, 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정할 수 있다. 이에 한정되지 않고, 대화 관리기(120)는 사용자의 위치가 차량 외부라고 판단되는 경우, 목적지까지의 경로 안내를 도보 형태로 출력하는 액션을 결정하는 것 역시 가능하다 할 것이다.When the short-distance communication between the
대화 관리기(120)는 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 예약된 목적지까지의 경로 안내를 출력하도록 할 수 있다.The
결과 처리기(130)는 대화 관리기(120)에서 결정된 액션을 수행하기 위한 응답을 생성할 수 있다.The
결과 처리기(130)는 결정된 액션을 수행하기 위한 응답으로 대화 응답, 차량 제어 및 모바일 기기 제어 중 적어도 하나 이상을 위한 명령어를 생성할 수 있다.The
결과 처리기(130)는 목적지까지의 경로 안내 예약 또는 목적지까지의 경로 안내와 관련된 액션의 응답이 차량(200) 또는 모바일 기기(400)를 통해 출력되도록 할 수 있다.The
저장부(140)는 차량(200)으로부터 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 수신하여 저장할 수 있다.The
대화 시스템(100)은 차량(200)으로부터 모바일 기기(400)와의 근거리 통신 연결 상태 정보 및 차량 상태 정보를 수신하고, 차량(200)에 응답을 전송하는 통신부(도 19b의 810)를 더 포함할 수 있다.The
통신부(810)는 모바일 기기(400)로부터 차량(200)과의 근거리 통신 연결 상태 정보를 수신하고, 모바일 기기(400)에 응답을 전송할 수 있다.The
도 50에서 도시하는 바와 같이, 모바일 기기(400)는 음성 입력 장치(410), 음성 외 입력 장치(420), 출력장치(430), 대화 시스템 클라이언트(470) 및 통신 장치(480)를 구비하여, 원격 대화시스템 서버(1)에 마련된 대화 시스템(100)에서의 목적지 설정과 관련되어 필요한 각종 정보를 전달하고, 대화 시스템(100)으로부터 전달되는 응답에 따라 목적지까지의 경로 안내, 목적지까지의 경로 안내 예약 등과 같은 동작을 수행할 수 있다. As shown in FIG. 50 , the
상기 대화 시스템 클라이언트(470)는 차량(200)과 사용자로부터 입력되는 데이터를 수집하여 통신 장치(480)를 통해 원격 대화 시스템 서버(1)로 전송할 수 있다.The
차량(200)은 대화자 출력장치(230), 차량 제어기(240), 차량 감지부(260), 저장부(274) 및 통신 장치(280)를 구비할 수 있다.The
저장부(274)는 차량(200)과 모바일 기기(400) 간의 근거리 통신 연결 상태 정보, 차량 감지부(260)를 통해 감지된 차량 시동 여부와 주행 환경 정보를 비롯한 차량 상태 정보 및 사용자 정보를 저장할 수 있다. 상기 저장부(274)는 다른 저장부와의 구별을 위해 차량측 저장부라고 할 수도 있다.The
차량(200)은 대화 시스템(100)에서 목적지 설정과 관련되어 필요한 각종 정보를 저장부(274)로부터 획득하여 통신장치(280)를 통해 대화 시스템(100)으로 전송하고, 대화 시스템(100)으로부터 회신되는 응답에 따라 목적지까지의 경로 안내, 목적지까지의 경로 안내 예약 등과 같은 동작을 수행할 수 있다. The
이때, 차량(200)은 모바일 기기(400)와의 근거리 통신 연결 상태 및 차량 감지부(260)를 통해 감지된 차량 상태 정보를 모바일 기기(400) 또는 통신장치(280)를 통해 대화 시스템(100)으로 전송할 수 있다.At this time, the
상기의 설명은 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 상기에 개시된 실시예 및 첨부된 도면들은 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 기술적 사상의 범위가 한정되는 것은 아니다. 그 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 권리범위에 포함되는 것으로 해석되어야 할 것이다. The above description is merely illustrative of the technical idea, and various modifications, changes and substitutions may be made by those skilled in the art without departing from the essential characteristics. Accordingly, the embodiments disclosed above and the accompanying drawings are for explanation rather than limiting the technical idea, and the scope of the technical idea is not limited by these embodiments and the accompanying drawings. The scope of protection should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of rights.
지금까지 설명한 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법에 의하면, 차량 환경에 특화된 대화 처리 기술을 이용하여 사용자의 의도에 부합되거나 사용자에게 필요한 최적의 서비스를 제공할 수 있다.According to the dialog system described so far, the vehicle including the same, and the dialog processing method, it is possible to provide an optimal service that meets the user's intention or is needed by using the dialog processing technology specialized for the vehicle environment.
또한, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다. 특히, 사용자의 발화와 무관하게 대화 시스템(100)이 수집한 상황 정보 또는 운전자 정보에 기초하여 사용자에게 필요한 서비스를 스스로 판단하고 이를 선제적으로 제공하는 것이 가능하다.In addition, it is possible to provide an optimal service required to the user in consideration of various situations occurring inside the vehicle. In particular, regardless of the user's utterance, it is possible to determine a service necessary for the user by himself/herself based on the situation information or driver information collected by the
100: 대화 시스템
110: 입력 처리기
120: 대화 관리기
130: 결과 처리기
200: 차량
210, 410: 음성 입력 장치
220, 420: 음성 외 입력 장치
230: 대화자 출력 장치
280, 480: 통신 장치
400: 모바일 기기
430: 출력 장치
470: 대화시스템 클라이언트100: dialogue system
110: input handler
120: Conversation Manager
130: result handler
200: vehicle
210, 410: voice input device
220, 420: non-voice input device
230: dialog output device
280, 480: communication device
400: mobile device
430: output device
470: dialog system client
Claims (27)
차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부;
상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및
상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함하고,
상기 대화 관리기는,
상기 차량과 모바일 기기 간의 근거리 통신이 연결된 상태이고 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하여 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고,
상기 차량과 모바일 기기 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자의 위치가 차량 외부라고 판단하여 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정하는 대화 시스템.an input processor for receiving utterances including a destination input by a user;
a storage unit configured to store vehicle status information including short-distance communication connection status information between the vehicle and the mobile device and whether the vehicle is started;
Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager; and
Including; a result processor for generating a response for performing the action determined in the conversation manager;
The conversation manager,
When the short-distance communication between the vehicle and the mobile device is connected and the starting state of the vehicle is in an ON state, determining the action of outputting route guidance to the destination by determining that the user's location is inside the vehicle,
When short-distance communication between the vehicle and the mobile device is not connected or when the vehicle's starting state is OFF, determining that the user's location is outside the vehicle and reserving a route guidance to the destination The dialogue system to decide.
상기 대화 관리기는,
상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 현재 위치에서 상기 목적지까지의 도보 경로 안내 형태로 출력하는 대화 시스템.According to claim 1,
The conversation manager,
When the user's location is changed from the inside of the vehicle to the outside of the vehicle, a dialogue system for outputting the route guidance from the current location to the destination in the form of walking route guidance from the current location to the destination.
상기 대화 관리기는,
상기 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 상기 예약된 목적지까지의 경로 안내를 출력하도록 하는 대화 시스템.According to claim 1,
The conversation manager,
When the location of the user is changed from the outside of the vehicle to the inside of the vehicle, a dialogue system for outputting a route guidance to the reserved destination.
상기 입력 처리기는,
상기 모바일 기기 또는 상기 차량에 마련된 음성 입력 장치를 통해 사용자의 발화를 입력 받는 대화 시스템. According to claim 1,
The input processor is
A dialogue system for receiving a user's utterance through the mobile device or a voice input device provided in the vehicle.
상기 결과 처리기는,
상기 결정된 액션을 수행하기 위한 응답으로 대화 응답, 차량 제어 및 모바일 기기 제어 중 적어도 하나 이상을 위한 명령어를 생성하는 대화 시스템.According to claim 1,
The result processor is
A dialogue system for generating a command for at least one of a dialogue response, vehicle control, and mobile device control in response to performing the determined action.
상기 결과 처리기는,
상기 목적지까지의 경로 안내 예약 또는 상기 목적지까지의 경로 안내와 관련된 액션의 응답이 상기 차량 또는 상기 모바일 기기를 통해 출력되도록 하는 대화 시스템. According to claim 1,
The result processor is
A dialogue system for outputting a response of an action related to a reservation for route guidance to the destination or an action related to route guidance to the destination through the vehicle or the mobile device.
상기 차량으로부터 상기 모바일 기기와의 근거리 통신 연결 상태 정보 및 차량 상태 정보를 수신하고, 상기 차량에 상기 응답을 전송하는 통신부;
를 더 포함하는 대화 시스템.According to claim 1,
a communication unit configured to receive short-distance communication connection state information and vehicle state information with the mobile device from the vehicle, and transmit the response to the vehicle;
A dialog system further comprising a.
상기 모바일 기기로부터 상기 차량과의 근거리 통신 연결 상태 정보를 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 통신부;
를 더 포함하는 대화 시스템.According to claim 1,
a communication unit for receiving short-distance communication connection state information with the vehicle from the mobile device and transmitting the response to the mobile device;
A dialog system further comprising a.
차량과의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부;
상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및
상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함하고,
상기 대화 관리기는,
상기 차량과 근거리 통신이 연결된 상태이고 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하여 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고,
상기 차량과의 근거리 통신이 연결되지 않은 상태이거나, 또는 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자의 위치가 차량 외부라고 판단하여 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정하는 모바일 기기.an input processor for receiving utterances including a destination input by a user;
a storage unit configured to store vehicle status information including short-distance communication connection status information with the vehicle and whether the vehicle is started;
Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager; and
Including; a result processor for generating a response for performing the action determined in the conversation manager;
The conversation manager,
Determining an action to output route guidance to the destination by determining that the user's location is inside the vehicle when the vehicle and short-distance communication are connected and the starting state of the vehicle is on,
When the short-distance communication with the vehicle is not connected, or when the starting state of the vehicle is in an OFF state, it is determined that the user's location is outside the vehicle, and an action to reserve a route guidance to the destination is determined. mobile devices that do.
상기 대화 관리기는,
상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 현재 위치에서 상기 목적지까지의 도보 경로 안내 형태로 출력하는 모바일 기기.12. The method of claim 11,
The conversation manager,
When the location of the user is changed from the inside of the vehicle to the outside of the vehicle, the mobile device outputs the route guidance to the destination in the form of a walking route guide from the current location to the destination.
상기 대화 관리기는,
상기 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 상기 예약된 목적지까지의 경로 안내를 출력하도록 하는 모바일 기기.12. The method of claim 11,
The conversation manager,
A mobile device configured to output route guidance to the reserved destination when the user's location is changed from outside the vehicle to inside the vehicle.
사용자 음성을 입력 받는 음성 입력 장치;를 더 포함하고,
상기 입력 처리기는,
상기 음성 입력 장치를 통해 사용자의 발화를 입력 받는 모바일 기기.12. The method of claim 11,
A voice input device for receiving a user's voice; further comprising,
The input processor is
A mobile device receiving a user's utterance through the voice input device.
상기 결과 처리기를 통해 전달되는 상기 목적지까지의 경로 안내 예약 또는 상기 목적지까지의 경로 안내와 관련된 액션의 응답을 출력하기 위한 출력장치;
를 더 포함하는 모바일 기기. 12. The method of claim 11,
an output device for outputting a response of an action related to reservation of a route guidance to the destination or route guidance to the destination transmitted through the result processor;
A mobile device further comprising a.
상기 차량과 상기 모바일 기기는 미러링(mirroring) 기능을 구비하며,
상기 결과 처리기는,
상기 사용자의 위치가 차량 외부에서 차량 내부로 이동하는 경우, 상기 출력장치를 통해 출력되는 상기 목적지까지의 경로 안내와 관련된 액션의 응답을 상기 미러링 기능을 통해 상기 차량의 대화자 출력 장치를 통해 출력하는 모바일 기기.18. The method of claim 17,
The vehicle and the mobile device have a mirroring function,
The result processor is
When the location of the user moves from the outside of the vehicle to the inside of the vehicle, a mobile outputting a response of an action related to the route guidance to the destination output through the output device through the dialogue output device of the vehicle through the mirroring function device.
차량 시동 여부를 비롯한 차량 상태 정보를 저장하는 저장부;
상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기; 및
상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함하고,
상기 대화 관리기는,
상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하여 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고,
상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자가 차량 외부라고 판단하여 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정하는 차량.an input processor for receiving utterances including a destination input by a user;
a storage unit for storing vehicle state information including whether the vehicle is started;
Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager; and
Including; a result processor for generating a response for performing the action determined in the conversation manager;
The conversation manager,
When the starting state of the vehicle is in an ON state, it is determined that the user's location is inside the vehicle and an action to output a route guidance to the destination is determined,
When the starting state of the vehicle is in an OFF state, the user determines that the user is outside the vehicle and determines an action to reserve a route guidance to the destination.
상기 대화 관리기는,
상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 모바일 기기를 통해 현재 위치로부터 상기 목적지까지의 도보 경로 안내 형태로 출력하는 차량.20. The method of claim 19,
The conversation manager,
When the user's location is changed from the inside of the vehicle to the outside of the vehicle, the vehicle outputs the route guidance to the destination in the form of a walking route guidance from the current location to the destination through the mobile device.
대화 관리기에 의해, 차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 기초로 사용자의 위치가 차량 내부인지 여부를 판단하고,
상기 대화 관리기에 의해, 상기 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고,
결과 처리기에 의해, 결정된 상기 액션을 수행하기 위한 응답을 생성하고,
상기 사용자의 위치가 차량 내부인지 여부를 판단하는 것은,
상기 차량과 모바일 기기 간의 근거리 통신이 연결된 상태이고 상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하고;
상기 차량과 모바일 기기 간의 근거리 통신이 연결되지 않은 상태이거나, 또는 상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자의 위치가 차량 외부라고 판단하는 것;을 포함하고,
상기 액션을 결정하는 것은,
상기 사용자의 위치가 차량 내부인 경우, 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고;
상기 사용자의 위치가 차량 외부인 경우, 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정하는 것;을 포함하는 대화 처리 방법.By the input processor, the input of the utterance including the user's destination,
By the conversation manager, it is determined whether the user's location is inside the vehicle based on the short-distance communication connection state information between the vehicle and the mobile device and whether the vehicle is started,
determining, by the conversation manager, an action to reserve a route guide to the destination or output route guide to the destination according to the determination result;
generate, by the result processor, a response to perform the determined action;
Determining whether the user's location is inside the vehicle,
determining that the location of the user is inside the vehicle when short-range communication between the vehicle and the mobile device is connected and the vehicle is started in an ON state;
Determining that the user's location is outside the vehicle when the short-range communication between the vehicle and the mobile device is not connected or when the vehicle's starting state is OFF
Determining the action is
determining an action to output route guidance to the destination when the user's location is inside the vehicle;
and determining an action to reserve a route guidance to the destination when the user's location is outside the vehicle.
상기 대화 관리기에 의해, 상기 사용자의 위치가 차량 내부에서 차량 외부로 변경되는 경우, 상기 목적지까지의 경로 안내를 현재 위치에서 상기 목적지까지의 도보 경로 안내 형태로 출력하고,
상기 대화 관리기에 의해, 상기 사용자의 위치가 차량 외부에서 차량 내부로 변경되는 경우, 상기 예약된 목적지까지의 경로 안내를 출력하도록 하는 대화 처리 방법.23. The method of claim 22,
When the user's location is changed from the inside of the vehicle to the outside of the vehicle by the conversation manager, the route guide to the destination is output in the form of a walking route guide from the current location to the destination,
When the location of the user is changed from the outside of the vehicle to the inside of the vehicle by the conversation manager, a route guidance to the reserved destination is output.
차량으로부터 상기 차량과 모바일 기기 간의 근거리 통신 연결 상태 정보 및 차량 시동 여부를 비롯한 차량 상태 정보를 수신하여 저장하는 저장부,
상기 저장부에 저장된 정보를 기초로 사용자의 위치가 차량 외부인지 여부를 판단하고, 판단 결과에 따라 상기 목적지까지의 경로 안내를 예약하거나 또는 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하는 대화 관리기 및
상기 대화 관리기에서 결정된 상기 액션을 수행하기 위한 응답을 생성하는 결과 처리기를 포함하는 원격 대화시스템 서버;를 포함하고,
상기 대화 관리기는,
상기 차량의 시동 상태가 온(ON) 상태인 경우 상기 사용자의 위치가 차량 내부라고 판단하여 상기 목적지까지의 경로 안내를 출력하도록 하는 액션을 결정하고,
상기 차량의 시동 상태가 오프(OFF) 상태인 경우 상기 사용자가 차량 외부라고 판단하여 상기 목적지까지의 경로 안내를 예약하도록 하는 액션을 결정하는 대화 시스템.an input processor that receives utterances including destinations input by the user;
A storage unit for receiving and storing vehicle status information including short-distance communication connection status information between the vehicle and the mobile device and whether the vehicle is started from the vehicle;
Conversation of determining whether the user's location is outside the vehicle based on the information stored in the storage unit, and determining an action to reserve a route guide to the destination or output route guide to the destination according to the determination result manager and
a remote dialog system server including a result processor for generating a response for performing the action determined by the dialog manager;
The conversation manager,
When the starting state of the vehicle is in an ON state, it is determined that the user's location is inside the vehicle and an action to output a route guidance to the destination is determined,
When the starting state of the vehicle is in an OFF state, it is determined that the user is outside the vehicle, and an action for reserving a route guidance to the destination is determined.
을 더 포함하는 대화 시스템.The vehicle of claim 26 , further comprising a vehicle-side storage unit configured to store vehicle state information and user information, including short-distance communication connection state information between the vehicle and the mobile device, whether the vehicle is started and driving environment information detected through the vehicle sensor. ;
A dialog system further comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170120222A KR102448719B1 (en) | 2017-09-19 | 2017-09-19 | Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170120222A KR102448719B1 (en) | 2017-09-19 | 2017-09-19 | Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190031935A KR20190031935A (en) | 2019-03-27 |
KR102448719B1 true KR102448719B1 (en) | 2022-09-29 |
Family
ID=65906630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170120222A KR102448719B1 (en) | 2017-09-19 | 2017-09-19 | Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102448719B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102369324B1 (en) * | 2020-04-29 | 2022-03-04 | 엠랩 주식회사 | Smart route creation method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100106406A1 (en) * | 2007-04-30 | 2010-04-29 | Peiker Acustic Gmbh & Co. | Navigation system and control unit for navigation system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090101706A (en) * | 2008-03-24 | 2009-09-29 | 최윤정 | Voice recognition and automatic control system by remote presetting, including message system for vehicle |
US20110099507A1 (en) * | 2009-10-28 | 2011-04-28 | Google Inc. | Displaying a collection of interactive elements that trigger actions directed to an item |
KR20130002661A (en) * | 2011-06-29 | 2013-01-08 | 현대모비스 주식회사 | System for checking state of automobile and control method thereof |
KR20140038839A (en) * | 2012-09-21 | 2014-03-31 | 정주용 | Standing by system with order for fire engine mobilization |
KR102084739B1 (en) * | 2013-03-11 | 2020-04-14 | 삼성전자주식회사 | Interactive sever, display apparatus and control method thereof |
KR102070868B1 (en) * | 2013-04-11 | 2020-01-29 | 엘지전자 주식회사 | Information providing apparatus and method thereof |
KR101530861B1 (en) * | 2013-08-29 | 2015-06-24 | 현대엠엔소프트 주식회사 | Apparatus for proposing and guiding destination using driving logs and the method thereof |
KR101770187B1 (en) * | 2014-03-27 | 2017-09-06 | 한국전자통신연구원 | Method and apparatus for controlling navigation using voice conversation |
KR20160076894A (en) * | 2014-12-23 | 2016-07-01 | 현대자동차주식회사 | Method, system and computer-readable recording medium for guidign walk courase |
-
2017
- 2017-09-19 KR KR1020170120222A patent/KR102448719B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100106406A1 (en) * | 2007-04-30 | 2010-04-29 | Peiker Acustic Gmbh & Co. | Navigation system and control unit for navigation system |
Also Published As
Publication number | Publication date |
---|---|
KR20190031935A (en) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102338990B1 (en) | Dialogue processing apparatus, vehicle having the same and dialogue processing method | |
KR102426171B1 (en) | Dialogue processing apparatus, vehicle having the same and dialogue service processing method | |
KR102562227B1 (en) | Dialogue system, Vehicle and method for controlling the vehicle | |
US10733994B2 (en) | Dialogue system, vehicle and method for controlling the vehicle | |
US10937424B2 (en) | Dialogue system and vehicle using the same | |
US10997974B2 (en) | Dialogue system, and dialogue processing method | |
US10861460B2 (en) | Dialogue system, vehicle having the same and dialogue processing method | |
US10991368B2 (en) | Dialogue system and dialogue processing method | |
US10950233B2 (en) | Dialogue system, vehicle having the same and dialogue processing method | |
US11004450B2 (en) | Dialogue system and dialogue processing method | |
KR102403355B1 (en) | Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle | |
KR20200098079A (en) | Dialogue system, and dialogue processing method | |
KR102487669B1 (en) | Dialogue processing apparatus, vehicle having the same and dialogue processing method | |
KR20200006738A (en) | Dialogue system, and dialogue processing method | |
CN110562260A (en) | Dialogue system and dialogue processing method | |
KR102448719B1 (en) | Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method | |
KR20220094400A (en) | Dialogue system, Vehicle and method for controlling the dialogue system | |
KR20190036018A (en) | Dialogue processing apparatus, vehicle having the same and dialogue processing method | |
KR20200000621A (en) | Dialogue processing apparatus, vehicle having the same and dialogue processing method | |
KR20190135676A (en) | Dialogue system, vehicle having the same and dialogue processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |