KR102403355B1 - Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle - Google Patents

Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle Download PDF

Info

Publication number
KR102403355B1
KR102403355B1 KR1020170094024A KR20170094024A KR102403355B1 KR 102403355 B1 KR102403355 B1 KR 102403355B1 KR 1020170094024 A KR1020170094024 A KR 1020170094024A KR 20170094024 A KR20170094024 A KR 20170094024A KR 102403355 B1 KR102403355 B1 KR 102403355B1
Authority
KR
South Korea
Prior art keywords
vehicle
information
situation
user
image
Prior art date
Application number
KR1020170094024A
Other languages
Korean (ko)
Other versions
KR20190011458A (en
Inventor
김계윤
석동희
신동수
이정엄
김가희
김선아
박정미
노희진
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020170094024A priority Critical patent/KR102403355B1/en
Publication of KR20190011458A publication Critical patent/KR20190011458A/en
Application granted granted Critical
Publication of KR102403355B1 publication Critical patent/KR102403355B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/037Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for occupant comfort, e.g. for automatic adjustment of appliances according to personal settings, e.g. seats, mirrors, steering wheel
    • B60R16/0373Voice control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/03Electric 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/0315Electric 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/10Interpretation of driver requests or demands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/625License plates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Abstract

본 발명의 차량은 사용자의 음성을 수신하는 음성 입력 장치; 도로 및 도로의 주변을 촬영하고 촬영된 영상을 출력하는 영상 입력 장치; 촬영된 영상을 수신 및 저장하고, 수신된 사용자의 음성을 텍스트로 변환하고 변환된 텍스트와 자연어 이해 기술을 이용하여 사용자의 의도 및 알림 상황을 인식하고 인식된 사용자의 의도 및 알림 상황에 기초하여 사용자와의 대화 수행 및 저장된 영상의 전송을 제어하는 대화 시스템; 사용자와 대화를 위한 발화를 출력하는 출력장치; 및 알림 상황의 상황 정보 및 저장된 영상을 전송하는 통신 장치를 포함한다.The vehicle of the present invention includes a voice input device for receiving a user's voice; an image input device for photographing a road and its surroundings and outputting the photographed image; Receives and stores the captured image, converts the received user's voice into text, recognizes the user's intention and notification situation using the converted text and natural language understanding technology, and based on the recognized user's intention and notification situation, the user a dialogue system for controlling conversation with and transmission of stored images; an output device for outputting utterances for conversation with the user; and a communication device for transmitting situation information of a notification situation and a stored image.

Description

차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법{VEHICLE, MOBILE FOR COMMUNICATE WITH THE VEHICLE AND METHOD FOR CONTROLLING THE VEHICLE}A vehicle, a mobile device communicating therewith, and a method of controlling the vehicle

본 발명은 사용자와의 대화를 통해 사용자의 의도를 파악하고 사용자에게 필요한 정보나 서비스를 차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법에 관한 것이다.The present invention relates to a vehicle, a mobile device that communicates with the vehicle, and a method for controlling a vehicle by identifying a user's intention through a conversation with the user and providing information or service necessary for the user.

차량용 오디오 비디오 내비게이션 장치(AVN)이나 대부분의 모바일 기기는 작은 화면 및 작은 버튼으로 인해, 사용자에게 시각적인 정보를 제공하거나 사용자의 입력을 수신함에 있어 불편함이 발생할 수 있다. An in-vehicle audio video navigation device (AVN) or most mobile devices may experience inconvenience in providing visual information to a user or receiving a user's input due to a small screen and small buttons.

특히, 사용자가 운전 중 시각적인 정보를 확인하거나 기기를 조작하기 위해, 시선을 이동시키고 스티어링 휠에서 손을 떼는 것은 안전 운전에 위협이 되는 요소로 작용한다. 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 the conversation system that understands the user's intention through conversation with the user and provides the necessary service to the user is applied to the vehicle to provide the service more safely and conveniently.

(특허문헌 1) KR2013-0035983 A (Patent Document 1) KR2013-0035983 A

일 측면은 사용자의 음성을 인식하고 인식된 음성이 알림 상황에 대한 음성이면 도로의 상황 정보를 획득하고 획득된 도로의 상황 정보를 상황 정보에 대응하는 담당 기관의 서버에 전송하는 차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법을 제공한다. One aspect is a vehicle that recognizes the user's voice and if the recognized voice is a voice for a notification situation, acquires road situation information and transmits the obtained road situation information to a server of a responsible agency corresponding to the situation information, and communicates with the vehicle A mobile device and a vehicle control method are provided.

다른 측면은 차량 주행 환경에서 사용자와의 대화 및 차량 상태 정보, 주행 환경 정보, 사용자 정보 등의 다양한 정보를 바탕으로 사용자의 의도를 정확하게 파악함으로써, 사용자의 실제 의도에 부합되는 서비스 또는 사용자에게 가장 필요한 서비스를 제공할 수 있는 차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법을 제공한다. In the other aspect, by accurately identifying the user's intention based on various information such as conversations with the user in the vehicle driving environment, vehicle status information, driving environment information, and user information, the service that meets the user's actual intention or the most necessary service for the user A vehicle capable of providing a service, a mobile device communicating therewith, and a vehicle control method are provided.

일 측면에 따른 차량은 사용자의 음성을 수신하는 음성 입력 장치; 수신된 사용자의 음성을 텍스트로 변환하고 변환된 텍스트와 자연어 이해 기술을 이용하여 사용자의 의도 및 알림 상황을 인식하고 인식된 사용자의 의도 및 알림 상황에 기초하여 사용자와의 대화 수행을 제어하는 대화 시스템; 사용자와 대화를 위한 발화를 출력하는 출력장치; 및 알림 상황에 대한 상황 정보를 전송하는 통신 장치를 포함한다.A vehicle according to one aspect includes a voice input device for receiving a user's voice; Conversation system that converts the received user's voice into text, recognizes the user's intention and notification situation using the converted text and natural language understanding technology, and controls conversation performance with the user based on the recognized user's intent and notification situation ; an output device for outputting utterances for conversation with the user; and a communication device that transmits context information about the notification state.

일 측면에 따른 차량은 도로 및 도로의 주변을 촬영하는 영상 입력 장치 및 촬영된 영상을 수신 및 저장하고 알림 상황의 상황 정보와 저장된 영상이 전송되도록 통신 장치를 제어하는 제어기를 더 포함한다.The vehicle according to an aspect further includes an image input device for photographing a road and its surroundings, and a controller for receiving and storing the captured image, and controlling the communication device to transmit situation information of a notification situation and the stored image.

일 측면에 따른 차량의 알림 상황은 교통 사고 상황 및 불법 행위의 상황 중 적어도 하나를 포함하고, 대화 시스템은 알림 상황이 교통 사고 상황인지, 불법 행위인지를 판단하고 판단된 상황에 대응하는 담당 기관을 확인하고 확인된 담당 기관의 서버로 상황 정보와 영상을 전송하도록 통신 장치를 제어하는 것을 포함한다.The notification situation of the vehicle according to one aspect includes at least one of a traffic accident situation and an illegal action situation, and the dialog system determines whether the notification situation is a traffic accident situation or an illegal action, and provides an agency in charge of responding to the determined situation. and controlling the communication device to check and transmit the situation information and the image to the server of the verified authority.

일 측면에 따른 차량의 대화 시스템은, 음성에 기초하여 알림 상황이 발생하였는지 판단하고, 알림 상황이 발생하였다고 판단되면 영상 내의 교통 사고 차량 또는 불법 행위 차량의 차량 번호를 인식하고 인식된 차량 번호의 전송을 제어하는 것을 포함한다.The dialogue system of a vehicle according to one aspect determines whether a notification situation has occurred based on a voice, and when it is determined that a notification situation has occurred, recognizes the vehicle number of a traffic accident vehicle or illegal act vehicle in the image, and transmits the recognized vehicle number includes controlling the

일 측면에 따른 차량의 대화 시스템은 교통 사고 차량 또는 불법 행위 차량의 차량 번호 인식에 성공하면 인식된 차량 번호의 일치를 확인하기 위한 확인 질의를 수행하는 것을 포함한다.The dialogue system of a vehicle according to an aspect includes performing a confirmation query for confirming the coincidence of the recognized vehicle number when the vehicle number recognition of the traffic accident vehicle or the illegal act vehicle is successful.

일 측면에 따른 차량의 대화 시스템은, 교통 사고 차량 또는 불법 행위 차량의 차량 번호 인식에 실패하면 차량 번호의 질의를 수행하는 것을 포함한다.The dialogue system of a vehicle according to an aspect includes performing a vehicle number query when the vehicle number recognition of a traffic accident vehicle or an illegal vehicle is unsuccessful.

일 측면에 따른 차량의 대화 시스템은, 음성에 기초하여 알림 상황이 발생하였는지 판단하고, 알림 상황이 발생하였다고 판단되면 교통 사고 차량 또는 불법 행위 차량의 차량 번호의 질의를 수행하고, 입력 음성 장치에 수신된 음성에 기초하여 차량 번호를 인식하는 것을 포함한다.The dialogue system of a vehicle according to an aspect determines whether a notification situation has occurred based on a voice, and when it is determined that a notification situation has occurred, performs a query for the license plate number of a traffic accident vehicle or illegally engaged vehicle, and receives the input voice device and recognizing the vehicle number based on the voice.

일 측면에 따른 차량의 통신 장치는 지피에스 수신기를 포함하고, 대화 시스템은 영상 저장 시 위치 정보를 매칭시켜 저장하고 영상 전송 제어 시 매칭된 영상과 위치 정보의 전송을 제어하는 것을 포함한다.A communication device for a vehicle according to an aspect includes a GPS receiver, and the conversation system includes matching and storing location information when storing an image, and controlling transmission of the matched image and location information when controlling image transmission.

일 측면에 따른 차량의 대화 시스템은, 영상 저장 시 날짜와 시간 정보를 매칭시켜 저장하고 영상 전송 제어 시 매칭된 영상과 날자, 시간 정보의 전송을 제어하는 것을 포함한다.A conversation system for a vehicle according to an aspect includes matching and storing date and time information when storing an image, and controlling transmission of the matched image, date and time information when controlling image transmission.

일 측면에 따른 차량의 대화 시스템은 알림 상황에 대응하는 알림 음성이 입력된 시점을 확인하고 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하며, 저장된 영상 중 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득하고 획득된 영상의 전송을 제어하는 것을 포함한다.The vehicle conversation system according to one aspect identifies a time point at which a notification voice corresponding to a notification situation is input, and a time point before a first predetermined time as the confirmed time point and a time point after the second predetermined time has elapsed from the confirmed time point confirming, acquiring only images captured between a time before and after a time point at which a notification voice is input among stored images, and controlling transmission of the acquired image.

다른 측면에 따른 차량은 사용자의 음성을 수신하는 음성 입력 장치; 도로 및 도로의 주변을 촬영하고 촬영된 영상을 출력하는 영상 입력 장치; 촬영된 영상을 저장하고, 수신된 음성과 저장된 음성의 출력을 제어하는 제어기; 제어기와 통신을 수행하고, 사용자의 음성을 텍스트로 변환하고 변환된 텍스트와 자연어 이해 기술을 이용하여 알림 상황인지 판단하고 알림 상황이면 사용자와의 대화를 수행하여 알림 상황의 상황 정보를 인식하고 인식된 상황 정보를 제어기에 전송하는 대화 시스템; 대화 시스템의 명령에 기초하여 사용자와 대화를 위한 발화를 출력하는 출력장치; 및 제어기의 명령에 기초하여 알림 상황의 상황 정보 및 저장된 영상을 전송하는 통신 장치를 포함한다.According to another aspect, a vehicle may include a voice input device configured to receive a user's voice; an image input device for photographing a road and its surroundings and outputting the photographed image; a controller for storing the captured image and controlling the output of the received voice and the stored voice; It communicates with the controller, converts the user's voice into text, uses the converted text and natural language understanding technology to determine whether it is a notification situation, and if it is a notification situation, performs a conversation with the user to recognize the situation information of the notification situation and recognize a dialogue system that transmits context information to the controller; an output device for outputting an utterance for a conversation with a user based on a command of the conversation system; and a communication device for transmitting situation information of a notification situation and a stored image on the basis of a command from a controller.

다른 측면에 따른 차량의 알림 상황은 교통 사고 상황 및 불법 행위의 상황 중 적어도 하나를 포함하고, 대화 시스템은 알림 상황이 교통 사고 상황인지, 불법 행위인지를 판단하고 판단된 상황에 대응하는 담당 기관을 확인하는 것을 포함한다.The notification situation of the vehicle according to another aspect includes at least one of a traffic accident situation and an illegal action situation, and the dialog system determines whether the notification situation is a traffic accident situation or an illegal action, and sends an agency in charge of responding to the determined situation. includes checking

다른 측면에 따른 차량의 제어기는 알림 상황이 발생하면 영상 내의 교통 사고 차량 또는 불법 행위 차량의 차량 번호를 인식하고 인식된 차량 번호의 전송을 제어하는 것을 포함한다.The controller of the vehicle according to another aspect includes recognizing the vehicle number of the traffic accident vehicle or the illegal act vehicle in the image when a notification situation occurs, and controlling the transmission of the recognized vehicle number.

다른 측면에 따른 차량의 통신 장치는 지피에스 수신기를 포함하고, 제어기는 영상 저장 시 위치 정보를 매칭시켜 저장하고 영상 전송 제어 시 매칭된 영상과 위치 정보의 전송을 제어하는 것을 포함한다.A communication device for a vehicle according to another aspect includes a GPS receiver, and the controller includes matching and storing location information when storing an image, and controlling transmission of the matched image and location information when controlling image transmission.

다른 측면에 따른 차량의 제어기는, 영상 저장 시 날짜와 시간 정보를 매칭시켜 저장하고 영상 전송 제어 시 매칭된 영상과 날자, 시간 정보의 전송을 제어하는 것을 포함한다.A vehicle controller according to another aspect includes matching and storing date and time information when storing an image, and controlling transmission of the matched image, date and time information when controlling image transmission.

다른 측면에 따른 차량의 제어기는 알림 상황에 대응하는 알림 음성이 입력된 시점을 확인하고 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하며, 저장된 영상 중 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득하고 획득된 영상의 전송을 제어하는 것을 포함한다.The controller of the vehicle according to another aspect checks the time when the notification voice corresponding to the notification situation is input, and determines the time before the first predetermined time as the confirmed time and the time after the second predetermined time has elapsed from the confirmed time Checking includes acquiring only images captured between a time before and after a time point at which a notification voice is input among stored images and controlling transmission of the acquired image.

또 다른 측면에 따른 모바일 기기는 차량 및 서버와 통신을 수행하는 통신 장치; 사용자의 음성을 수신하는 음성 입력 장치; 사용자의 음성을 텍스트로 변환하고 변환된 텍스트와 자연어 이해 기술을 이용하여 알림 상황인지 판단하고 알림 상황이면 사용자와의 대화를 수행하고 대화 중 수신된 음성에 기초하여 알림 상황의 상황 정보를 인식하고 차량에 영상 제공을 요청하고, 인식된 상황 정보 및 차량에서 전송한 영상을 서버에 전송하도록 제어하는 대화 시스템; 대화 시스템의 명령에 기초하여 사용자와 대화를 위한 발화를 출력하는 출력장치를 포함하고, 통신 장치는 대화시스템의 명령에 기초하여 알림 상황의 상황 정보 및 영상을 전송하고, 알림 상황은 교통 사고 상황 및 불법 행위의 상황 중 적어도 하나를 포함하는 것을 포함한다.A mobile device according to another aspect includes a communication device for communicating with a vehicle and a server; a voice input device for receiving a user's voice; It converts the user's voice into text, uses the converted text and natural language understanding technology to determine whether it is a notification situation, and if it is a notification situation, conducts a conversation with the user and recognizes the situation information of the notification situation based on the voice received during the conversation a conversation system for requesting an image to be provided, and controlling to transmit the recognized situation information and the image transmitted from the vehicle to the server; an output device for outputting utterances for a conversation with the user based on a command of the dialogue system, wherein the communication device transmits situation information and an image of a notification situation based on a command of the dialogue system, and the notification situation is a traffic accident situation and including at least one of the circumstances of the tort.

또 다른 측면에 따른 모바일 기기의 대화 시스템은, 영상 내의 교통 사고 차량 또는 불법 행위 차량의 차량 번호를 인식하고 인식된 차량 번호의 전송을 제어하는 것을 포함한다.A conversation system of a mobile device according to another aspect includes recognizing the license plate number of a vehicle in a traffic accident or illegal activity in an image and controlling transmission of the recognized license plate number.

또 다른 측면에 따른 모바일 기기의 대화 시스템은, 차량으로부터 영상의 수신 시 위치 정보, 시간 정보 및 날짜 정보 중 적어도 하나를 수신하는 것을 포함한다.A conversation system of a mobile device according to another aspect includes receiving at least one of location information, time information, and date information when an image is received from a vehicle.

또 다른 측면에 따른 차량의 제어 방법은 도로 및 도로의 주변을 촬영하고, 촬영된 영상을 시간 정보 및 위치 정보와 함께 저장하고, 음성 입력 장치에 사용자의 음성이 입력되면 사용자의 음성을 텍스트로 변환하고, 변환된 텍스트와 자연어 이해 기술을 이용하여 알림 상황인지를 판단하고, 알림 상황이라고 판단되면 알림 상황에 대응하는 발화를 출력 장치를 통해 출력하고, 음성 입력 장치에 입력된 음성에 기초하여 알림 상황의 상황 정보를 획득하고, 획득된 상황 정보, 위치 정보, 시간 정보 및 저장된 영상을 전송한다.A vehicle control method according to another aspect includes capturing a road and its surroundings, storing the captured image together with time information and location information, and converting the user's voice into text when a user's voice is input to a voice input device Then, using the converted text and natural language understanding technology, it is determined whether it is a notification situation, and when it is determined that it is a notification situation, an utterance corresponding to the notification situation is output through an output device, and a notification situation is based on the voice input to the voice input device. , and transmits the acquired context information, location information, time information, and the stored image.

알림 상황을 판단하는 것은, 알림 상황이 교통 사고 상황인지, 불법 행위인지를 판단하는 것을 포함한다.Determining the notification situation includes determining whether the notification situation is a traffic accident situation or an illegal act.

획득된 상황 정보와 저장된 영상을 전송하는 것은, 판단된 상황에 대응하는 담당 기관을 확인하고, 확인된 담당 기관의 서버로 상황 정보와 영상을 전송하는 것을 포함한다.Transmitting the acquired context information and the stored image includes identifying an institution in charge corresponding to the determined context, and transmitting the context information and the image to a server of the identified institution in charge.

상황 정보를 획득하는 것은, 알림 상황이 발생하였다고 판단되면 영상 내의 교통 사고 차량 또는 불법 행위 차량의 차량 번호를 인식 및 획득하는 것을 포함한다.Acquiring the situation information includes recognizing and acquiring the license plate number of the traffic accident vehicle or illegal act vehicle in the image when it is determined that the notification situation has occurred.

저장된 영상을 전송하는 것은, 알림 상황에 대응하는 알림 음성이 입력된 시점을 확인하고, 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하고, 저장된 영상 중 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득하고, 획득된 영상의 전송을 제어하는 것을 포함한다.Transmission of the stored video is performed by checking the time when the notification voice corresponding to the notification situation is input, and the time point before the first predetermined time as the confirmed time point and the time point after the second predetermined time has elapsed from the confirmed time point checking, acquiring only images captured between a time before and after a time point at which a notification voice is input among stored images, and controlling transmission of the acquired image.

일 측면에 따른 차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법에 의하면, 사용자에 의해 사고나 불법 행위 상황이 목격됐을 때 사용자와의 대화를 통해 사고 현장의 영상이나 불법 행위 차량의 영상을 담당 기관의 서버로 전송함으로써 수작업이 필요한 영상 촬영, 편집 및 전송 등의 동작을 생략할 수 있고, 이에 따라 사용자에게 편리성을 향상시킬 수 있다.According to the vehicle, the mobile device communicating with the vehicle, and the vehicle control method according to one aspect, when an accident or illegal activity is witnessed by the user, the image of the accident site or the image of the illegal activity vehicle is handled through conversation with the user By transmitting to the server of the institution, operations such as video shooting, editing, and transmission that require manual work can be omitted, and thus, convenience for users can be improved.

또한 일 측면은 사고 및 불법 행위에 대한 신고에 대한 편리함 증대로, 사고, 및 불법 행위 신고의 참여를 독려하여 도로 환경의 안전성을 높일 수 있다.In addition, in one aspect, it is possible to increase the convenience of reporting accidents and illegal activities, and to encourage participation in reporting accidents and illegal activities, thereby increasing the safety of the road environment.

다른 측면에 따르면 차량 주행 환경에서 사용자와의 대화 및 차량 상태 정보, 주행 환경 정보, 사용자 정보 등의 다양한 정보를 바탕으로 사용자의 의도를 정확하게 파악함으로써, 사용자의 실제 의도에 부합되는 서비스 또는 사용자에게 가장 필요한 서비스를 제공할 수 있다.According to another aspect, by accurately identifying the user's intentions based on various information such as conversations with the user in the vehicle driving environment, vehicle status information, driving environment information, and user information, the best service or service that meets the user's actual intention is provided. We can provide you with the services you need.

도 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는 도 44에 도시된 차량 내 대화 시스템의 상세 구성도이다.
도 46은 또 다른 실시 예에 따른 차량의 구성도이다.
도 47은 도 46에 도시된 차량 내 대화 시스템의 상세 구성도이다.
도 48은 또 다른 실시 예에 따른 차량 내 대화 시스템의 제어 구성도이다.
도 49 내지도 도 53은 또 다른 실시 예에 따른 차량 내 대화 시스템과 사용자와의 대화 예시도이다.
도 54는 또 다른 실시 예의 차량과, 이 차량과 통신하는 모바일 기기의 구성도이다.
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 the connection relationship between the dialogue system and the components of the 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 in the configuration of the conversation 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 an ambiguity resolution information DB.
26A and 26B are tables summarizing various examples in which the ambiguity resolver refers to the ambiguity resolving 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 the conversation processing method according to an embodiment.
44 is a configuration diagram of a vehicle according to another exemplary embodiment.
45 is a detailed configuration diagram of the in-vehicle conversation system shown in FIG. 44 .
46 is a configuration diagram of a vehicle according to another exemplary embodiment.
47 is a detailed configuration diagram of the in-vehicle conversation system shown in FIG. 46 .
48 is a control configuration diagram of an in-vehicle conversation system according to another exemplary embodiment.
49 to 53 are diagrams illustrating conversations between an in-vehicle conversation system and a user according to another embodiment.
54 is a configuration diagram of a vehicle and a mobile device communicating with the vehicle according to another embodiment.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.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 this specification may be implemented in software or hardware, and according to embodiments, a plurality of 'part, module, member, block' may be implemented as one 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" to another part, it includes not only direct connection but also indirect connection, and indirect connection includes connection through a wireless communication network. do.

또한 어떤 부분이 어떤 구성요소를"포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, when a part "includes" a certain component, this 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 by using the user's voice and non-voice input and providing a service suitable for the user's intention or a service necessary to the user, as 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 intentions, such as providing information, controlling a vehicle, executing an audio/video/navigation function, and providing content obtained from an external server. may include

또한, 일 실시예에 따른 대화 시스템은 차량 환경에 특화된 대화 처리 기술을 제공함으로써, 차량이라는 특수한 환경에서 사용자의 의도를 정확히 파악할 수 있다.In addition, the dialog system according to an exemplary embodiment may accurately identify the user's intention in the special environment of the vehicle by providing a dialog processing technology specialized for the vehicle environment.

이러한 대화 시스템과 사용자를 연결하는 게이트 웨이는 차량 또는 차량에 연결된 모바일 기기가 될 수 있다. 후술하는 바와 같이, 대화 시스템은 차량에 마련될 수도 있고, 차량 외부의 원격 서버에 마련되어 차량 또는 차량에 연결된 모바일 기기와의 통신을 통해 데이터를 주고 받을 수도 있다. The gateway connecting the user with this conversation system 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 it 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 chat system are provided in the vehicle and some are provided in the remote server to partially perform the operation of the chat 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 dialog system 100 according to an exemplary embodiment includes an input processor 110 that processes a user input including a user's voice and non-voice input or an input including vehicle-related information or user-related information. ), the dialog manager 120 for determining the user's intention using the processing result of the input processor 110, and determining an action corresponding to the user's intention or the state of the vehicle, according to the output result of the dialog manager 120 The result processor 130 for providing a specific service or outputting a system utterance for continuing a conversation, and a storage unit 140 for storing various types of information necessary for the dialog system 100 to perform an operation to be described later are included.

입력 처리기(110)는 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. 음성 외 입력은 사용자의 제스처 인식이나, 입력 장치의 조작을 통해 입력되는 사용자의 음성 외 입력, 차량의 상태를 나타내는 차량 상태 정보, 차량의 주행 환경과 관련된 주행 환경 정보, 사용자의 상태를 나타내는 사용자 정보 등을 포함할 수 있다. 이러한 정보들 외에도 차량과 사용자와 관련된 정보로서, 사용자의 의도를 파악하거나 사용자에게 서비스를 제공하기 위해 사용될 수 있는 정보이면, 모두 입력 처리기(110)의 입력이 될 수 있다. 사용자는 운전자와 탑승자를 모두 포함할 수 있다.The input processor 110 may receive two types of input, a user's voice and a non-voice input. The non-voice input includes a user's non-voice input input through gesture recognition or manipulation of an input device, vehicle state information indicating the state of the vehicle, driving environment information related to the driving environment of the vehicle, and user information indicating the user's state and the like. In addition to these information, any information related to the vehicle and the user may be input to the input processor 110 as long as it is information that can be used to identify a user's intention or provide a service to the user. Users may include both drivers and passengers.

입력 처리기(110)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 기술을 적용하여 사용자의 의도를 파악한다. The input processor 110 recognizes the inputted user's voice, converts it into a text-type utterance, and applies a natural language understanding technology to the user's utterance to understand the user's intention.

또한, 입력 처리기(110)는 사용자 음성 외에 차량의 상태나 주행 환경과 관련된 정보를 수집하고, 수집된 정보를 이용하여 상황을 이해한다. In addition, the input processor 110 collects information related to the state of the vehicle or driving environment in addition to the user's voice, and understands the situation by using the collected information.

입력 처리기(110)는 자연어 이해를 통해 파악한 사용자의 의도와 상황에 관련된 정보 등을 대화 관리기(120)로 전달한다.The input processor 110 transmits information related to the user's intention and situation identified through natural language understanding to the conversation manager 120 .

대화 관리기(120)는 입력 처리기(110)로부터 전달된 사용자의 의도, 상황에 관련된 정보 등에 기초하여 사용자의 의도와 현재 상황에 대응되는 액션을 결정하고, 해당 액션을 수행하기 위해 필요한 인자들을 관리한다. The dialog manager 120 determines an action corresponding to the user's intention and the current situation based on the user's intention and situation-related information transmitted from the input processor 110 , and manages factors necessary to perform the corresponding action. .

당해 실시예에서 액션은 특정 서비스를 제공하기 위해 수행되는 모든 동작을 의미할 수 있으며, 액션의 종류는 미리 정의될 수 있다. 경우에 따라, 서비스의 제공과 액션의 수행은 동일한 의미일 수 있다. 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 rules; 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 related action DB 146b (refer to FIG. 21 ).

액션의 종류에 대해서는 제한을 두지 않으며, 대화 시스템(100)이 차량(200) 또는 모바일 기기(400)를 통해 수행 가능한 것으로서, 미리 정의되고, 그 추론 규칙이나 다른 액션/이벤트와의 관계 등이 저장되어 있으면 액션이 될 수 있다. There is no limitation on the type of action, and the dialog system 100 is predefined as what can be performed through the vehicle 200 or the mobile device 400, and the reasoning rules and relationships with other actions/events are stored. If it is, it can be an action.

대화 관리기(120)는 결정된 액션에 관한 정보를 결과 처리기(130)로 전달한다.The conversation manager 120 transmits information about the determined action to the result processor 130 .

결과 처리기(130)는 전달된 액션을 수행하기 위해 필요한 대화 응답 및 명령어를 생성하여 출력한다. 대화 응답은 텍스트, 이미지 또는 오디오로 출력될 수 있고, 명령어가 출력되면 출력된 명령어에 대응되는 차량 제어, 외부 컨텐츠 제공 등의 서비스가 수행될 수 있다. The result processor 130 generates and outputs a dialogue response and a command necessary to perform the delivered action. The dialogue response may be output as text, image, or audio, and when the command is output, a service such as vehicle control and external content provision corresponding to the output command may be performed.

저장부(140)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다. 예를 들어, 자연어 이해에 사용되는 도메인, 액션, 화행, 개체명과 관련된 정보를 미리 저장할 수 있고, 입력된 정보로부터 상황을 이해하기 위해 사용되는 상황 이해 테이블을 저장할 수도 있으며, 차량에 마련된 센서가 감지한 데이터, 사용자와 관련된 정보, 액션 수행을 위해 필요한 정보를 미리 저장할 수도 있다. 저장부(140)에 저장되는 정보들에 관한 더 자세한 설명은 후술하도록 한다.The storage unit 140 stores various types of information required for conversation processing and service provision. For example, information related to a domain, action, dialogue act, and entity name used for understanding natural language may be stored in advance, a situation understanding table used to understand a situation from input information may be stored, and a sensor provided in the vehicle may detect One data, information related to the user, and information necessary to perform an action may be stored in advance. A more detailed description of the information stored in the storage unit 140 will be described later.

전술한 바와 같이, 대화 시스템(100)은 차량 환경에 특화된 대화 처리 기술을 제공한다. 대화 시스템(100)의 구성요소가 전부 차량에 포함될 수도 있고, 일부만 포함될 수도 있다. 대화 시스템(100)은 원격 서버에 마련되고 차량은 대화 시스템(100)과 사용자 사이의 게이트웨이의 역할만 할 수도 있다. 어느 경우이던지, 대화 시스템(100)은 차량 또는 차량과 연결된 모바일 기기를 통해 사용자와 연결될 수 있다. As described above, the conversation system 100 provides a conversation processing technology specialized for a vehicle environment. All of the components of the dialogue system 100 may be included in the vehicle, or only some of the components may be included. The conversation system 100 may be provided on a remote server and the vehicle may only serve as a gateway between the conversation system 100 and the user. In either case, the conversation system 100 may be connected to the user through a vehicle or a mobile device connected to the vehicle.

도 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 center fascia 203 , which is the central area of the dashboard 201 inside the vehicle 200 , it is necessary to control the vehicle including an audio function, a video function, a navigation function, or a dialing function. A display 231 for displaying a screen and an input button 221 for receiving a user's control command may be provided.

또한, 운전자의 조작 편의성을 위해 스티어링 휠(207)에도 입력 버튼(223)이 마련될 수 있고, 운전석(254a)과 조수석(254b) 사이의 센터 콘솔 영역(202)에 입력 버튼의 역할을 수행하는 조그 셔틀(225)이 마련될 수도 있다. In addition, an input button 223 may be provided on the steering wheel 207 for the driver's convenience in operation, and serves as an input button in the center console area 202 between the driver's seat 254a and the passenger seat 254b. A jog shuttle 225 may be provided.

디스플레이(231), 입력 버튼(221) 및 각종 기능을 전반적으로 제어하는 프로세서를 포함하는 모듈을AVN(Audio Video Navigation) 단말이라 할 수도 있고, 헤드유닛(Head Unit)이라 할 수도 있다. A module including the display 231 , the input button 221 , and a processor for generally controlling various functions may be referred to as an AVN (Audio Video Navigation) terminal or a head unit.

디스플레이(231)는 LCD(Liquid Crystal Display), LED(Light Emitting Diode), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diode), CRT(Cathode Ray Tube) 등의 다양한 디스플레이 장치 중 하나로 구현될 수 있다.The display 231 may be implemented as one of various display devices such as a liquid crystal display (LCD), a light emitting diode (LED), a plasma display panel (PDP), an organic light emitting diode (OLED), and a cathode ray tube (CRT). have.

입력 버튼(221)은 도 2에 도시된 바와 같이 디스플레이(231)와 인접한 영역에 하드 키 타입으로 마련될 수도 있고, 디스플레이(231)가 터치 스크린 타입으로 구현되는 경우에는 디스플레이(231)가 입력 버튼(221)의 기능도 함께 수행할 수 있다. The input button 221 may be provided as a hard key type in an area adjacent to the display 231 as shown in FIG. 2 , and when the display 231 is implemented as a touch screen type, the display 231 is an input button The function of (221) can also be performed together.

차량(1)은 사용자의 명령을 음성 입력 장치(210)를 통해 음성으로 입력 받을 수 있다. 음성 입력 장치(210)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰을 포함할 수 있다. The vehicle 1 may receive a user's command as a voice through the voice input device 210 . The voice input device 210 may include a microphone that receives sound, converts it into an electrical signal, and outputs it.

효과적인 음성의 입력을 위하여 음성 입력 장치(210)는 도 2에 도시된 바와 같이 헤드라이닝(205)에 마련될 수 있으나, 차량(200)의 실시예가 이에 한정되는 것은 아니며, 대시보드(201) 위에 마련되거나 스티어링 휠(207)에 마련되는 것도 가능하다. 이 외에도 사용자의 음성을 입력 받기에 적합한 위치이면 어디든 제한이 없다.For effective voice input, the voice input device 210 may be provided on the headlining 205 as shown in FIG. 2 , but the embodiment of the vehicle 200 is not limited thereto. It is also possible to be provided or provided on the steering wheel (207). In addition to this, there is no limitation wherever it is suitable for receiving the user's voice input.

차량(200) 내부에는 사용자와 대화를 수행하거나, 사용자가 원하는 서비스를 제공하기 위해 필요한 음향을 출력하는 스피커(232)가 마련될 수 있다. 일 예로, 스피커(232)는 운전석 도어(253a) 및 조수석 도어(253b) 내측에 마련될 수 있다.A speaker 232 for outputting a sound necessary to perform a conversation with a user or provide a service desired by the user may be provided inside the vehicle 200 . For example, the speaker 232 may be provided inside the driver's door 253a and the passenger's door 253b.

스피커(232)는 내비게이션 경로 안내를 위한 음성, 오디오/비디오 컨텐츠에 포함되는 음향 또는 음성, 사용자가 원하는 정보나 서비스를 제공하기 위한 음성, 사용자의 발화에 대한 응답으로서 생성된 시스템 발화 등을 출력할 수 있다.The speaker 232 may output a voice for guiding a navigation route, a sound or voice included in audio/video content, a voice for providing information or service desired by the user, a system utterance generated as a response to the user's utterance, etc. can

일 실시예에 따른 대화 시스템(100)은 차량 환경에 특화된 대화 처리 기술을 이용하여 사용자의 라이프스타일에 최적화된 서비스를 제공하고, 커넥티드카(Connected Car), 사물인터넷(IoT), 인공지능(AI) 등의 기술을 이용한 새로운 서비스를 구성할 수 있다.The dialog system 100 according to an embodiment provides a service optimized for a user's lifestyle by using a dialog processing technology specialized for a vehicle environment, and provides a connected car (Connected Car), Internet of Things (IoT), artificial intelligence (AI) A new service can be configured using technologies such as AI).

일 실시예에 따른 대화 시스템(100)과 같이 차량 환경에 특화된 대화 처리 기술을 적용할 경우, 운전자의 직접 주행 상황에서, 주요 상황(Context)에 대한 인지 및 대응이 용이하다. 유량 부족, 졸음 운전 등 주행에 영향을 미치는 요소에 가중치를 부여하여 서비스를 제공할 수 있고, 대부분의 경우 목적지로 이동 중인 조건을 기반으로 주행 시간, 목적지 정보 등 서비스 제공을 위해 필요한 정보를 용이하게 획득할 수 있다. When a dialog processing technology specialized for a vehicle environment is applied, such as the dialog system 100 according to an embodiment, it is easy to recognize and respond to a main context in a driver's direct driving situation. The service can be provided by giving weight to factors that affect driving, such as insufficient flow and drowsy driving, and in most cases, information necessary for service provision, such as driving time and destination information, can be easily provided based on the condition of moving to the destination. can be obtained

또한, 운전자의 의도를 파악하고, 기능을 제안하는 지능적인 서비스를 용이하게 구현할 수 있다. 이는 운전자의 직접 주행 상황에 있어 실시간 정보와 액션을 우선적으로 고려하기 때문이다. 일 예로, 주행 중에 운전자가 주유소를 검색하면, 이는 지금 주유소에 가겠다는 운전자의 의도로 해석될 수 있다. 그러나, 차량이 아닌 환경에서 주유소를 검색할 경우 지금 주유소를 가겠다는 의도 외에 위치 정보 조회, 전화번호 조회, 가격 조회 등 다른 다양한 의도로도 해석되는 것이 가능하다.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 is possible to interpret 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 dialog system 100 may be utilized in a driving situation of an unfamiliar interface such as a rental car, a situation in which a substitute driving is entrusted, a vehicle management situation such as car washing, a situation in which a child is boarded, a situation in which a specific destination is visited, and the like.

또한, 차량 점검 단계, 출발 준비 단계, 주행 단계, 주차 단계 등 차량의 주행과 그 전후를 구성하는 각각의 단계에서도 다양한 서비스의 기회와 대화 상황들이 발생한다. 특히, 차량 문제의 대처 방안을 모르는 상황, 차량과 각종 외부 기기 연동 상황, 연비 등 주행 습관 확인 상황, 스마트 크루즈 컨트롤(Smart Cruise Control) 등의 안전 지원 기능 활용 상황, 내비게이션 조작 상황, 졸음 운전 상황, 매일 동일한 경로를 반복해서 주행하는 상황, 주정차가 가능한 곳인지 확인해야 하는 상황 등에서 대화 시스템(100)을 활용할 수 있다. In addition, opportunities for various services 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 where you do not know how to deal with vehicle problems, the situation where the vehicle and various external devices are interlocked, the 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 dialogue system 100 may be utilized in a situation in which the same route is repeatedly driven every day or in a situation where it is necessary to check whether parking or stopping is possible.

도 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 residual oil amount (U1: how much oil is left?), the dialogue system 100 provides information on the current residual oil amount (S1: to the current remaining oil) 43 km driving is possible).

운전자는 주유소로 경로 안내를 받기 위해 근처 주유소를 묻는 발화 (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 conversation system 100 provides information about the nearest gas station from the current location (S2: presently) You can print out A Oil Seongrim Gas Station, B Oil Jangdae Gas Station, and C Oil Pacific Gas Station as gas stations close to the location.

운전자는 추가적으로 기름 가격에 대한 정보를 요청하기 위한 발화 (U3: 그 중 가장 싼 곳은 어디야?)를 입력할 수 있고, 대화 시스템(100)은 유종 별 가격에 대한 정보 제공하는 발화(S3: 휘발유 가격이 가장 낮은 곳은 B 오일 장대 주유소로 리터당 1,294원이고, 경유 가격이 가장 낮은 곳은 A 오일 성림 주유소로 리터당 985원입니다)를 출력할 수 있다.The driver may additionally input an utterance to request information on oil price (U3: where is the cheapest place?), and the dialogue system 100 provides information on the price by oil type (S3: gasoline) The lowest price is at B Oil Jangdae gas station, which is 1,294 won per liter, and the place with the lowest diesel price is A Oil Seongrim gas station, which is 985 won per liter) can be printed.

운전자는 B 오일 장대 주유소로 안내해 달라는 발화(U4)를 입력할 수 있고, 대화 시스템(100)은 운전자가 선택한 주유소로 안내를 시작한다는 발화 (S4: B 오일 장대 주유소로 안내를 시작합니다)를 출력할 수 있다. The driver may input an utterance requesting guidance to the B Oil Pole gas station (U4), and the dialog system 100 outputs an utterance that the driver starts guiding to the selected gas station (S4: Start guiding to the B Oil Pole gas station) can do.

즉, 운전자는 대화 시스템(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 conversation system 100 .

한편, 대화 시스템(100)은 전술한 도 3의 예시에서 주유소를 선택함에 있어, 일부 질의를 생략하고 바로 정보를 제공함으로써 대화의 단계와 시간을 단축하는 것도 가능하다. Meanwhile, when the dialog system 100 selects a gas station in the example of FIG. 3 , it is possible to shorten the steps and time of the conversation by omitting some queries and providing information directly.

예를 들어, 대화 시스템(100)은 현재 차량의 유종이 휘발유이고 운전자의 주유소 선택 기준이 가격이라는 정보를 미리 알 수 있다. 차량의 유종에 대한 정보는 차량으로부터 획득할 수 있고, 운전자의 주유소 선택 기준은 운전자에게 미리 입력 받거나 운전자의 대화 이력 또는 주유소 선택 이력을 학습하여 획득할 수 있다. 이러한 정보는 대화 시스템(100)의 저장부(140)에 미리 저장될 수 있다.For example, the conversation system 100 may know in advance the information that the fuel type of the current vehicle is gasoline and that the driver's gas station selection criterion is price. Information on the fuel type of the vehicle may be obtained from the vehicle, and the driver's gas station selection criteria may be obtained by receiving input from the driver in advance or by learning the driver's conversation history or gas station selection history. Such information may be stored in advance in the storage unit 140 of the conversation system 100 .

이 경우, 도 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 information on the oil price (U3 is omitted), the dialogue system 100 displays the information on the oil price, especially the information on the current vehicle. It is possible to preemptively output an utterance (S2+S3=S3') that provides information on the price of gasoline, which is a type of oil.

운전자가 기름 가격에 대한 정보를 요청하기 위한 발화(U3)를 생략할 수 있고, 대화 시스템(100)의 응답은 근처 주유소 안내를 위한 발화(S2)와 기름 가격 안내를 위한 발화(S3)가 하나로 합쳐짐으로써 대화 단계와 시간을 단축할 수 있다. The driver can omit the utterance (U3) for requesting information on the oil price, and the response of the dialogue system 100 is an utterance (S2) for guiding a nearby gas station and an utterance (S3) for guiding the oil price into one. By merging, you can shorten conversation steps and time.

또한, 대화 시스템(100)은 운전자가 현재 잔유량을 물었다는 사실에 기초하여 운전자의 의도가 주유소 검색이라는 점을 스스로 파악할 수도 있다. Also, the dialog system 100 may determine by itself that the driver's intention is to search for a gas station based on the fact that the driver has asked for the current remaining fuel level.

이 경우, 도 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 dialog system 100 provides information on the oil price (S2 + S3 = S3") can be output preemptively.

또한, 기름 가격에 대한 정보를 제공하는 발화(S3")에 현재 위치에서 가장 가까우면서 기름 가격이 가장 싼 주유소가 하나인 경우에는 해당 주유소로 안내할 지 여부까지 함께 질의할 수 있다. 따라서, 사용자는 어느 주유소로 안내해달라는 구체적인 발화를 입력하지 않고, 단순히 대화 시스템(100)의 질의에 동의하는 발화(U4': 그래)를 입력함으로써 해당 주유소로의 길 안내를 요청할 수 있다.In addition, if there is only one gas station that is closest to the current location and has the cheapest oil price to the speech (S3") that provides information on the price of oil, it is possible to inquire whether or not to guide to the gas station. Therefore, the user may request directions to a corresponding gas station by simply inputting an utterance (U4 ′: yes) agreeing to the query of the dialogue system 100 without inputting a specific utterance for guiding to a certain gas station.

이와 같이, 대화 시스템(100)은 미리 획득한 정보를 이용하여 사용자가 발화하지 않은 내용까지 고려함으로써, 사용자의 실제 의도를 파악하고 그에 대응되는 정보를 선제적으로 제공할 수 있다. 이를 통해 사용자가 원하는 서비스를 제공하기까지의 대화 단계와 시간을 단축할 수 있다. In this way, the dialog system 100 can recognize the user's actual intention and preemptively provide information corresponding thereto by considering the content that the user has not uttered using the previously acquired information. Through this, it is possible to shorten the conversation step and time until the user provides the desired service.

도 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 conversation system 100 may be input through the voice input device 210 provided in the vehicle 200 . As described above with reference to FIG. 2 , the voice input device 210 may include a microphone provided inside the vehicle 200 .

사용자 입력 중 음성을 제외한 입력은 음성 외 입력 장치(220)를 통해 입력될 수 있다. 음성 외 입력 장치(220)는 사용자의 조작을 통해 명령을 입력 받는 입력 버튼(221, 223)과 조그 셔틀(225)을 포함할 수 있다. An input other than a voice among user inputs may be input through the non-voice input device 220 . The non-voice input device 220 may include input buttons 221 and 223 for receiving a command through a user's manipulation and a jog shuttle 225 .

또한, 음성 외 입력 장치(220)는 사용자를 촬영하는 카메라를 포함하는 것도 가능하다. 카메라로 촬영한 영상을 통해, 명령 입력의 일 수단으로 사용되는 사용자의 제스처, 표정 또는 시선 방향을 인식할 수 있다. 또는, 카메라로 촬영한 영상을 통해 사용자의 상태(졸음 상태 등)를 파악하는 것도 가능하다. In addition, the non-voice input device 220 may include a camera for photographing the user. Through the image captured by the camera, a user's gesture, facial expression, or gaze direction used as a means of inputting a command may be recognized. Alternatively, it is also possible to determine the user's state (drowsiness state, etc.) through the image captured by the camera.

차량에 관한 정보는 차량 제어기(240)를 통해 대화 시스템(100)에 입력될 수 있다. 차량에 관한 정보는 차량(200)에 마련된 각종 센서를 통해 획득된 차량 상태 정보 또는 주변 상황 정보를 포함할 수 있고, 차량의 유종과 같이 차량(200)에 기본적으로 저장된 정보도 포함할 수 있다. Information about the vehicle may be input to the conversation system 100 through the vehicle controller 240 . The information about the vehicle may include vehicle state information or surrounding situation information obtained through various sensors provided in the vehicle 200 , and may also include information basically stored in the vehicle 200 , such as the type of vehicle.

대화 시스템(100)은 음성 입력 장치(210)를 통해 입력된 사용자 음성, 음성 외 입력 장치(220)를 통해 입력된 사용자의 음성 외 입력, 차량 제어기(240)를 통해 입력된 각종 정보를 이용하여 사용자의 의도와 상황을 파악하고, 사용자의 의도에 대응되는 액션을 수행하기 위한 응답을 출력한다.The dialog system 100 uses the user's voice input through the voice input device 210 , the user's non-voice input input through the non-voice input device 220 , and various information input through the vehicle controller 240 . It identifies the user's intention and situation, and outputs a response for performing an action corresponding to the user's intention.

대화자 출력 장치(230)는 대화자에게 시각적, 청각적 또는 촉각적인 출력을 제공하는 장치로서, 차량(200)에 마련된 디스플레이(231) 및 스피커(232)를 포함할 수 있다. 디스플레이(231) 및 스피커(232)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다. 또는, 스티어링 휠(207)에 진동기를 장착하여 진동을 출력하는 것도 가능하다.The talker output device 230 is a device that provides a visual, auditory, or tactile output to the talker, and may include a display 231 and a speaker 232 provided in the vehicle 200 . The display 231 and the speaker 232 may visually or audibly output a response to a user's utterance, a query to the user, or information requested by the user. Alternatively, it is possible to output vibration by mounting a vibrator on the steering wheel 207 .

또한, 차량 제어기(240)는 대화 시스템(100)으로부터 출력되는 응답에 따라, 사용자의 의도나 현재 상황에 대응되는 액션을 수행하기 위해 차량(200)을 제어할 수 있다. In addition, the vehicle controller 240 may control the vehicle 200 to perform an action corresponding to a user's intention or a current situation according to a response output from the dialogue system 100 .

한편, 차량(200)은 차량(200)에 마련된 센서를 통해 획득된 데이터뿐만 아니라, 통신 장치(280)를 통해 외부 컨텐츠 서버(300) 또는 외부 기기로부터 획득된 정보, 예를 들어 교통 상황, 날씨, 온도, 동승자 정보, 운전자 개인 정보 등의 주행 환경 정보와 사용자 정보도 수집하여 대화 시스템(100)에 전달할 수 있다.Meanwhile, the vehicle 200 includes not only data obtained through a sensor provided in the vehicle 200 , but also information obtained from the external content server 300 or an external device through the communication device 280 , for example, traffic conditions and weather conditions. , driving environment information, such as temperature, passenger information, and driver personal information, and user information may also be collected and transmitted to the dialogue system 100 .

도 7에 도시된 바와 같이, 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 속도, 엔진 온도, 타이어 공기압, 현재 위치 등과 같이 차량에 마련된 센서로부터 획득되는 정보는 내부 신호 제어기(241)를 통해 대화 시스템(100)에 입력될 수 있다. As shown in FIG. 7 , information obtained from sensors provided in the vehicle, such as residual oil amount, rainfall amount, rainfall speed, surrounding obstacle information, speed, engine temperature, tire air 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 dialogue system 100 through the external signal controller 242 . V2X refers to the exchange and sharing of various useful information such as traffic conditions while communicating with road infrastructure and other vehicles while the vehicle is driving.

V2X 통신은 차량과 인프라 간(V2I: Vehicle-to-Infrastructure, 이하 V2I) 통신, 차량 간(V2V: Vehicleto-Vehicle), 차량과 모바일 기기 간(V2N: Vehicle-to-Nomadic devices) 통신을 포함할 수 있다. 따라서, V2X 통신을 이용하면, 차량끼리 직접 통신하거나, 또는 거리에 설치되어 있는 인프라와 통신하여 전방의 교통 정보, 다른 차량의 접근 또는 추돌 가능성 등의 정보를 주고 받고 운전자에게 알려줄 수 있다. V2X communication includes vehicle-to-infrastructure (V2I: Vehicle-to-Infrastructure, hereinafter V2I) communication, vehicle-to-vehicle (V2V: Vehicleto-Vehicle), and vehicle-to-mobile device (V2N: Vehicle-to-Nomadic devices) communication. can Therefore, by using V2X communication, it is possible to communicate with each other directly or with infrastructure installed on the street to exchange information such as traffic information in front and the possibility of approach or collision of another vehicle and inform the driver.

따라서, 외부 신호 제어기(242)를 통해 대화 시스템(100)에 입력되는 주행 환경 정보는 전방의 교통 정보, 주변 차량의 접근 정보, 다른 차량과의 추돌 경고, 실시간 교통 상황, 돌방 상황, 교통흐름 제어 상태 등을 포함할 수 있다.Therefore, the driving environment information input to the dialogue system 100 through the external signal controller 242 includes forward traffic information, approach information of surrounding vehicles, collision warning with other vehicles, real-time traffic conditions, unexpected room situations, and traffic flow control. status and the like.

도면에 도시되어 있지는 않으나, V2X 를 통해 획득하는 신호 역시 통신 장치(280)를 통해 차량(200)에 입력될 수 있다.Although not shown in the drawing, a signal obtained through V2X may also be input to the vehicle 200 through the communication device 280 .

차량 제어기(240)는 전술한 동작과 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The vehicle controller 240 may include a memory in which a program for performing the above-described operation and an operation to be described later is stored and a processor that executes the stored program. At least one memory and processor may be provided, respectively, and when a plurality of memory and processor are provided, they may be integrated on one chip or may be physically separated.

또한, 내부 신호 제어기(241)와 외부 신호 제어기(242)는 동일한 프로세서에 의해 구현될 수도 있고, 별도의 프로세서에 의해 구현될 수도 있다. In addition, the internal signal controller 241 and the external signal controller 242 may be implemented by the same processor or by separate processors.

도 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 voice input device 210 is input to the voice input processor 111 in the input processor 110 , and the user's non-voice input transmitted from the non-voice input device 220 is It is input to the context information processor 112 in the input processor 110 .

상황 정보 처리기(112)는 차량 상태 정보, 주행 환경 정보, 사용자 정보 등에 기초하여 상황을 이해한다. 대화 시스템(100)은 이러한 상황 이해를 통해 사용자의 의도를 더 정확히 파악하거나 현재 사용자에게 필요한 서비스를 효과적으로 찾을 수 있다. The context information processor 112 understands the context based on vehicle state information, driving environment information, user information, and the like. The dialog system 100 may more accurately identify the user's intention or effectively find a service required by the current user through this context understanding.

결과 처리기(130)로부터 출력되는 응답은 대화자 출력 장치(230) 또는 차량 제어기(240)에 입력되어 차량(200)으로 하여금 사용자에게 필요한 서비스를 제공할 수 있게 한다. 또는, 외부 컨텐츠 서버(300)에 전송되어 사용자가 필요로 하는 서비스를 요청할 수 있다.The response output from the result processor 130 is input to the dialog output device 230 or the vehicle controller 240 so that the vehicle 200 can provide a service required to the user. Alternatively, it may be transmitted to the external content server 300 to request a service required by the user.

차량 제어기(240)로부터 전송되는 차량 상태 정보, 주행 환경 정보, 사용자 정보 등은 저장부(140)에 저장된다.Vehicle state information, driving environment information, user information, etc. transmitted from the vehicle controller 240 are stored in the storage unit 140 .

도 9를 참조하면, 저장부(140)는 장기 메모리(143)와 단기 메모리(144)를 포함할 수 있다. 저장부(140)에 저장되는 데이터는 데이터의 중요성과 영속성 및 설계자의 의도에 따라 단기, 장기 메모리로 구분되어 저장될 수 있다. Referring to FIG. 9 , the storage unit 140 may include a long-term memory 143 and a short-term memory 144 . Data stored in the storage unit 140 may be divided into short-term and long-term memory according to the importance and permanence of data and the intention of a designer.

단기 메모리(144)는 이전에 수행한 대화를 저장할 수 있다. 이전에 수행한 대화는 현재 시점으로부터 기준 시간 이내에 수행한 대화일 수도 있다. 또는, 사용자와 대화 시스템(100) 사이의 발화 내용의 용량이 기준치가 될 때까지 계속 대화가 저장될 수도 있다.The short-term memory 144 may store previously conducted conversations. The previously performed conversation may be a conversation performed within a reference time from the current time point. Alternatively, the conversation may be continuously stored until the capacity of the utterance content between the user and the conversation system 100 becomes a reference value.

일 예로, 사용자가 "강남역 근처 식당 알려줘"라고 발화하면, 대화 시스템(100)은 외부 컨텐츠 서버(300)를 통해 강남역 근처의 식당을 검색하고, 검색된 강남역 근처의 식당에 관한 정보를 사용자에게 제공한다. 정보 제공의 일 예로, 디스플레이(231)에 식당 목록을 표시할 수 있고, 사용자가 "첫 번째"라고 발화하면, 단기 메모리(144)에 식당에 대한 문의부터 선택까지의 대화 내용이 저장될 수 있다.As an example, if the user utters "Tell me about restaurants near Gangnam Station", the dialog system 100 searches for a restaurant near Gangnam Station through the external content server 300, and provides information about the found restaurant near Gangnam Station to the user. . As an example of providing information, a list of restaurants may be displayed on the display 231 , and when the user utters “first”, the short-term memory 144 may store conversation contents from inquiry to selection of restaurants. .

또는, 대화 내용 전체가 저장되는 것뿐만 아니라, 대화 내용에 포함된 특정 정보를 저장하는 것도 가능하다. 예를 들어, 단기 메모리(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-term memory 144 or the long-term memory 143 as a restaurant selected by the user.

강남역 근처의 식당에 대한 대화 뒤에 사용자가 대화 시스템(100)에 "날씨는?"이라고 질문하면, 대화 시스템(100)은 단기 메모리(144)에 저장된 대화로부터 사용자의 관심 위치가 강남역인 것을 추정하여 사용자에게 "강남역에는 비가 오고 있습니다."라는 응답을 출력할 수 있다. After a conversation about a restaurant near Gangnam Station, when the user asks "what is the weather?" to the conversation system 100, the conversation system 100 estimates that the user's interest location is Gangnam Station from the conversation stored in the short-term memory 144, You can output the response "It's raining at Gangnam Station" to the user.

이후에, "그 식당 메뉴 좀 추천해줘."라고 발화하면, 대화 시스템(100)은 단기 메모리에 저장된 대화로부터 "그 식당"이 강남역 근처 식당인 것으로 추정하고, 외부 컨텐츠 서버(300)로부터 제공되는 서비스를 통해 해당 식당의 추천 메뉴에 대한 정보를 획득하고, "그 식당은 칼국수가 맛있습니다."와 같은 응답을 출력할 수 있다.Afterwards, when "recommend a menu for that restaurant" is uttered, the dialog system 100 estimates that "the restaurant" is a restaurant near Gangnam Station from the conversation stored in the short-term memory, and provides Through the service, information about the recommended menu of the restaurant can be obtained, and a response such as "The restaurant has delicious kalguksu" can be output.

장기 메모리(143)는 데이터의 영속성 유무에 따라 데이터를 저장할 수 있다. 예를 들어, 가족이나 친구의 전화 번호, 집이나 회사와 같은 POI 정보, 특정 인자에 대한 사용자의 선호도 등은 데이터의 영속성이 보장되는 것으로 판단하고, 장기 메모리(143)에 저장할 수 있다. 반면, 데이터의 영속성이 보장되지 않는 것으로 판단되는 데이터는 단기 메모리(144)에 저장될 수 있다.The long-term memory 143 may store data according to the persistence of the data. For example, phone numbers of family or friends, POI information such as home or work, user's preference for specific factors, etc. may be determined to ensure data persistence and stored in the long-term memory 143 . On the other hand, data for which it is determined that the persistence of data is not guaranteed may be stored in the short-term memory 144 .

일 예로, 사용자의 현재 위치는 일시적인 데이터이므로 단기 메모리(144)에 저장될 수 있고, 식당에 대한 사용자의 선호도는 이후에도 사용 가능한 영속적인 데이터로 볼 수 있으므로 장기 메모리(144)에 저장될 수 있다.For example, since the user's current location is temporary data, it may be stored in the short-term memory 144 , and the user's preference for a restaurant may be stored in the long-term memory 144 because it can be viewed as persistent data that can be used afterward.

사용자가 "근처에 식당 없나?"라고 발화하면, 대화 시스템(100)은 단기 메모리(144)로부터 사용자의 현재 위치를 파악하고 장기 메모리(143)로부터 사용자가 선호하는 식당이 중식당이라는 것을 파악할 수 있다. 따라서, 외부 컨텐츠를 이용하여 현재 위치 주변에서 사용자가 선호하는 중식당 목록을 추천해 줄 수 있다.When the user utters "Isn't there a restaurant nearby?", the dialog system 100 may determine the user's current location from the short-term memory 144 and determine from the long-term memory 143 that the user's preferred restaurant is a Chinese restaurant. . Accordingly, it is possible to recommend a list of Chinese restaurants preferred by the user in the vicinity of the current location by using the external content.

또한, 대화 시스템(100)은 장기 메모리(143)와 단기 메모리(144)에 저장된 데이터를 이용하여 사용자에게 선제적으로 서비스나 정보를 제공해줄 수도 있다.Also, the chat system 100 may preemptively provide services or information to the user by using the data stored in the long-term memory 143 and the short-term memory 144 .

예를 들어, 장기 메모리(143)에 사용자의 집에 대한 정보가 저장될 수 있다. 대화 시스템(100)은 외부 컨텐츠 서버(300)로부터 사용자의 집과 관련된 정보를 획득하여, 사용자에게 "이번 주 금요일 아파트 단지 청소로 단수 예정입니다."라는 정보를 제공해줄 수 있다. For example, information about the user's house may be stored in the long-term memory 143 . The conversation system 100 may obtain information related to the user's house from the external content server 300 and provide the user with information that "the water supply is scheduled to be cut off due to cleaning of the apartment complex this Friday."

또는, 단기 메모리(144)에 차량의 배터리 상태에 대한 정보가 저장될 수 있다. 대화 시스템(100)은 단기 메모리(1440)에 저장된 차량의 배터리 상태를 분석하여 "차량의 배터리 상태가 좋지 않습니다. 겨울이 되기 전에 수리를 받으세요."라는 정보를 제공해 줄 수 있다.Alternatively, information on the battery state of the vehicle may be stored in the short-term memory 144 . The dialog system 100 may analyze the battery state of the vehicle stored in the short-term memory 1440 and provide information such as "The battery state of the vehicle is not good. Get it repaired before winter."

도 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 conversation system 100 including an input processor 110 , a conversation manager 120 , a result processor 130 , and a storage unit 140 is included in the vehicle 200 . can

대화 시스템(100)이 차량(200)에 포함되면, 차량(200)이 자체적으로 사용자와의 대화를 처리하고 사용자에게 필요한 서비스를 제공해줄 수 있다. 다만, 대화 처리 및 서비스 제공을 위해 필요한 정보는 외부 컨텐츠 서버(300)로부터 가져올 수 있다.When the dialog system 100 is included in the vehicle 200 , the vehicle 200 may itself process a conversation with the user and provide a necessary service to the user. However, information necessary for conversation processing and service provision may be obtained from the external content server 300 .

차량 감지부(260)가 감지한 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 타이어 공기압, 현재 위치, 엔진 온도, 차량 속도 등과 같은 차량 상태 정보 또는 주행 환경 정보는 차량 제어기(240)를 통해 대화 시스템(100)에 입력된다. Vehicle state information or driving environment information such as residual oil amount, rainfall amount, rainfall speed, surrounding obstacle information, tire pressure, current location, engine temperature, vehicle speed, etc. detected by the vehicle sensor 260 is transmitted through the vehicle controller 240 through the dialogue system (100) is entered.

또한, 차량 제어기(240)는 대화 시스템(100)이 출력한 응답에 따라 차량(200)에 마련된 공조 장치(251), 윈도우(252), 도어(253), 시트(254) 또는 AVN(255) 등을 제어할 수 있다.In addition, the vehicle controller 240 includes the air conditioner 251 , the window 252 , the door 253 , the seat 254 or the AVN 255 provided in the vehicle 200 according to the response output from the dialogue system 100 . etc can be controlled.

예를 들어, 대화 시스템(100)이 사용자의 의도 또는 사용자에게 필요한 서비스가 차량(200) 내부의 온도를 낮추는 것이라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 공조 장치(251)를 제어하여 차량(200) 내부의 온도를 낮출 수 있다.For example, if the dialog system 100 determines that the user's intention or a service required by the user is to lower the temperature inside the vehicle 200 , and generates and outputs a command corresponding thereto, the vehicle controller 240 controls the air conditioner By controlling 251 , the temperature inside the vehicle 200 may be lowered.

다른 예로, 대화 시스템(100)이 사용자의 의도 또는 사용자에게 필요한 서비스가 운전석 윈도우(252a)를 올리는 것이라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 윈도우(252)를 제어하여 운전석 윈도우(252a)를 올릴 수 있다. As another example, if the dialog system 100 determines that the user's intention or a service required by the user is to raise the driver's seat window 252a, and generates and outputs a corresponding command, the vehicle controller 240 opens the window 252 It is possible to raise the driver's seat window 252a by controlling it.

또 다른 예로, 대화 시스템(100)이 사용자의 의도에 대응되는 서비스 또는 사용자에게 필요한 서비스가 특정 목적지로의 경로 안내라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 AVN(255)을 제어하여 경로 안내를 수행할 수 있다. 필요한 경우, 통신 장치(280)가 외부 컨텐츠 서버(300)로부터 지도 데이터, POI 정보 등을 가져와 서비스 제공에 이용할 수 있다. As another example, if the dialogue system 100 determines that the service corresponding to the user's intention or the service required by the user is a route guidance to a specific destination, and generates and outputs a corresponding command, the vehicle controller 240 is the AVN 255 may be controlled to perform route guidance. If necessary, the communication device 280 may obtain map data, POI information, and the like from the external content server 300 and use it to provide a service.

도 11 및 도 12는 대화 시스템이 원격 서버에 마련되고 차량이 사용자와 대화 시스템을 연결하는 게이트웨이의 역할만 하는 차량 게이트웨이 방식에 대한 제어 블록도이다.11 and 12 are control block diagrams of a vehicle gateway method in which the chat system is provided in a remote server and the vehicle only serves as a gateway connecting the user and the chat system.

차량 게이트웨이 방식에서는 도 11에 도시된 바와 같이, 차량(200) 외부에 원격 대화 시스템 서버(1)가 마련되고, 차량(200)에는 원격 대화 시스템 서버(1)와 통신 장치(280)를 통해 연결되는 대화 시스템 클라이언트(270)가 마련된다. 통신 장치(280)가 차량(200)과 원격 대화 시스템 서버(1)를 연결하는 게이트웨이의 역할을 수행한다.In the vehicle gateway method, as shown in FIG. 11 , the remote dialogue system server 1 is provided outside the vehicle 200 , and the vehicle 200 is connected to the remote dialogue system server 1 and the communication device 280 through the communication device 280 . An interactive system client 270 is provided. The communication device 280 serves as a gateway connecting the vehicle 200 and the remote conversation system server 1 .

대화 시스템 클라이언트(270)는 입출력 장치와 연결된 인터페이스로써 기능하며, 데이터 수집과 송수신을 수행할 수 있다.The dialog system client 270 functions as an interface connected to the input/output device, and may perform data collection and transmission/reception.

차량(200)에 마련된 음성 입력 장치(210)와 음성 외 입력 장치(220)가 사용자 입력을 수신하고 대화 시스템 클라이언트(270)에 전달하면, 대화 시스템 클라이언트(270)가 통신 장치(280)를 통해 원격 대화 시스템 서버(1)로 입력 데이터를 전송할 수 있다. When the voice input device 210 and the non-voice input device 220 provided in the vehicle 200 receive the user input and transmit it to the dialog system client 270 , the dialog system client 270 communicates with the communication device 280 . It is possible to transmit input data to the remote chat system server 1 .

차량 제어기(240) 역시 차량 감지부(260)에서 감지한 데이터를 대화 시스템 클라이언트(270)에 전달할 수 있고, 대화 시스템 클라이언트(270)가 통신 장치(280)를 통해 원격 대화 시스템 서버(1)로 차량 감지부(260)에서 감지한 데이터를 전송할 수 있다.The vehicle controller 240 may also transmit the data detected by the vehicle detection unit 260 to the chat system client 270 , and the chat system client 270 transmits the data detected by the vehicle sensor 260 to the remote chat system server 1 through the communication device 280 . Data detected by the vehicle detection unit 260 may be transmitted.

원격 대화 시스템 서버(1)에는 전술한 대화 시스템(100)이 마련되어 입력 데이터의 처리, 입력 데이터의 처리 결과를 바탕으로 한 대화 처리 및 대화 처리 결과에 기초한 결과 처리를 모두 수행할 수 있다. The remote dialogue system server 1 is provided with the above-described dialogue system 100 to perform all of the processing of input data, the dialogue processing based on the processing result of the input data, and the result processing based on the dialogue processing result.

또한, 원격 대화 시스템 서버(1)는 입력 데이터의 처리, 대화 관리 또는 결과 처리에 있어 필요한 정보나 컨텐츠를 외부 컨텐츠 서버(300)로부터 가져올 수 있다.In addition, the remote conversation system server 1 may obtain information or content necessary for processing input data, conversation management, or result processing from the external content server 300 .

차량(200) 역시 원격 대화 시스템 서버(1)로부터 전송되는 응답에 따라 사용자에게 필요한 서비스를 제공하기 위해 필요한 컨텐츠를 외부 컨텐츠 서버(300)로부터 가져올 수 있다.The vehicle 200 may also bring from the external content server 300 content necessary to provide a service required to the user according to a response transmitted from the remote conversation system server 1 .

도 12를 참조하면, 통신 장치(280)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈(281), 유선 통신 모듈(282) 및 무선 통신 모듈(283)를 포함할 수 있다.Referring to FIG. 12 , the communication device 280 may include one or more communication modules that enable communication with an external device, for example, a short-range communication module 281 , a wired communication module 282 , and a wireless communication module. (283) may be included.

근거리 통신 모듈(281)은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.The short-distance communication module 281 uses a wireless communication network in a short distance such as a Bluetooth module, an infrared communication module, a Radio Frequency Identification (RFID) communication module, a Wireless Local Access Network (WLAN) communication module, an NFC communication module, and a Zigbee communication module. to include at least one of various short-range communication modules for transmitting and receiving signals.

유선 통신 모듈(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 wired communication module 282 includes various wired communication modules such as a local area network (LAN) module, a wide area network (WAN) module, or a value added network (VAN) module, as well as a universal USB (USB) module. Serial Bus), HDMI (High Definition Multimedia Interface), DVI (Digital Visual Interface), RS-232 (recommended standard232), power line communication, or POTS (plain old telephone service) may include at least one of various cable communication modules. have.

무선 통신 모듈(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 wireless communication module 283 is a Wi-Fi (Wifi) module, a WiBro (Wireless broadband) module, in addition to GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), UMTS (Universal) Mobile Telecommunications System), Time Division Multiple Access (TDMA), Long Term Evolution (LTE), 4G, 5G, etc. may include at least one of various wireless communication modules that can be connected to the Internet network.

한편, 통신 장치(280)는 차량(200) 내부의 전자 장치들 사이의 통신을 위한 내부 통신 모듈(미도시)을 더 포함할 수도 있다. 차량(200)의 내부 통신 프로토콜로는 CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등을 사용할 수 있다. Meanwhile, the communication device 280 may further include an internal communication module (not shown) for communication between electronic devices inside the vehicle 200 . As an internal communication protocol of the vehicle 200 , a controller area network (CAN), a local interconnection network (LIN), FlexRay, Ethernet, or the like may be used.

대화 시스템(100)은 무선 통신 모듈(283)을 이용하여 외부 컨텐츠 서버(300) 또는 원격 대화 시스템 서버(1)와 데이터를 주고 받을 수 있다. 또한, 무선 통신 모듈(283)을 이용하여V2X 통신을 수행할 수 있다. 또한, 근거리 통신 모듈(281) 또는 유선 통신 모듈(282)을 이용하여 차량(200)에 연결되는 모바일 기기와 데이터를 주고 받을 수 있다. The chat system 100 may send and receive data with the external content server 300 or the remote chat system server 1 using the wireless communication module 283 . In addition, V2X communication may be performed using the wireless communication module 283 . In addition, data may be exchanged with a mobile device connected to the vehicle 200 by using the short-range communication module 281 or the wired communication module 282 .

도 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 dialog system client 270 of the vehicle 200 to perform only the functions of data collection and transmission/reception, but as shown in FIG. 13 , the input processor 271 to the dialog system client 270 ), the result processor 273 and the storage unit 274 are included, so that it is possible to process data input from a user or vehicle, or to perform a process related to the provision of a service determined to be necessary for the user in the vehicle 200 . That is, the operation of the input processor 110 and the result processor 130 may be performed not only in the remote conversation system server 1 but also in the vehicle 200 .

이 경우, 전술한 입력 처리기(110)의 동작을 대화 시스템 클라이언트(270)가 일부만 수행하는 것도 가능하고 전부 수행하는 것도 가능하다. 또한, 전술한 결과 처리기(130)의 동작을 대화 시스템 클라이언트(270)가 일부만 수행하는 것도 가능하고 전부 수행하는 것도 가능하다.In this case, it is also possible for the dialog system client 270 to perform only a part or all of the operations of the input processor 110 described above. In addition, it is also possible for the dialog system client 270 to partially or completely perform the operation of the above-described result processor 130 .

처리해야 할 데이터의 용량 및 데이터 처리 속도 등을 고려하여 원격 대화 시스템 서버(1)와 대화 시스템 클라이언트(270) 사이의 태스크 분담을 결정할 수 있다.Task sharing between the remote chat system server 1 and the chat system client 270 may be determined in consideration of the capacity of data to be processed, data processing speed, and the like.

도 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 input processor 110 , a dialog manager 120 , a result processor 130 , and a storage unit 140 are provided in the remote dialog system server 1 to perform dialog processing. Also, the vehicle 200 may be provided with a terminal conversation system 290 including an input processor 291 , a conversation manager 292 , a result processor 293 , and a storage unit 294 to perform conversation processing.

다만, 차량(200)에 마련된 프로세서나 메모리는 원격 대화 시스템 서버(1)에 마련된 프로세서나 메모리와 용량이나 성능 측면에서 차이가 있을 수 있다. 따라서, 단말 대화 시스템(290)에서 모든 입력 데이터를 처리하고 대화를 관리하여 결과를 출력할 수 있는 경우에는 단말 대화 시스템(290)에서 전 과정을 수행하고, 그렇지 않은 경우에는 원격 대화 시스템 서버(1)에 처리를 요청할 수 있다. However, the processor or memory provided in the vehicle 200 may be different from the processor or memory provided in the remote conversation system server 1 in terms of capacity or performance. Accordingly, if the terminal dialog system 290 processes all input data and manages the dialog to output the results, the entire process is performed in the terminal dialog system 290; otherwise, the remote dialog system server 1 ) can be requested for processing.

단말 대화 시스템(290)에서 대화 처리를 수행하기 전에, 입력 데이터의 종류에 기초하여 단말 대화 시스템(290)의 처리 가부를 판단하고, 판단 결과에 따라 직접 처리하거나 원격 대화 시스템 서버(1)에 처리를 요청할 수 있다.Before the dialog processing in the terminal dialog system 290 is performed, it is determined whether the terminal dialog system 290 is processed based on the type of input data, and directly processed or processed in the remote dialog system server 1 according to the determination result. can request

또는, 단말 대화 시스템(290)이 대화 처리를 수행하다가 처리가 불가능한 상황이 발생하였을 때, 원격 대화 시스템 서버(1)에 처리를 요청하면서 자신이 처리한 결과를 함께 전송하는 것도 가능하다. Alternatively, when a situation arises that the terminal conversation system 290 performs conversation processing and the processing is impossible, it is also possible to transmit the result of its own processing while requesting the processing to the remote conversation system server 1 .

예를 들어, 고성능의 컴퓨팅 파워, 장기간 데이터의 처리가 필요한 경우는 원격 대화 시스템 서버(1)에서 처리하고, 실시간으로 처리해야 하는 것은 단말 대화 시스템(290)에서 처리할 수 있다. 예를 들어, 즉시 처리가 필요한 인스턴스가 발생하여 동기화 이전 데이터를 처리해야 하는 경우에는 단말 대화 시스템(290)에서 우선적으로 처리되도록 설정할 수 있다. For example, when high-performance computing power and long-term data processing is required, the remote conversation system server 1 may process it, and the terminal conversation system 290 may process it in real time. For example, when an instance requiring immediate processing occurs and data before synchronization needs to be processed, it may be set to be processed preferentially in the terminal conversation system 290 .

또한, 차량 내 미등록 발화자가 있어 사용자 확인이 필요한 경우에는 원격 대화 시스템 서버(1)에서 대화를 처리하도록 할 수 있다. In addition, when there is an unregistered speaker in the vehicle and user confirmation is required, the remote conversation system server 1 may process the conversation.

또한, 통신 장치(280)를 통해 원격 대화 시스템 서버(1)와 연결이 불가능한 상황에서 단말 대화 시스템(290)이 자체적으로 대화 처리를 완료할 수 없는 경우에는, 대화자 출력 장치(230)를 통해 사용자에게 대화 처리가 수행될 수 없음을 안내할 수 있다. In addition, when the terminal conversation system 290 cannot complete the conversation process by itself in a situation in which connection with the remote conversation system server 1 through the communication device 280 is impossible, the user through the dialogue output device 230 may inform that dialog processing cannot be performed.

단말 대화 시스템(290)에 저장되는 데이터와 원격 대화 시스템 서버(1)에 저장되는 데이터는 데이터의 용량이나 데이터의 종류와 같은 기준에 따라 결정될 수 있다. 예를 들어, 개인 식별이 가능하여 프라이버시 침해 우려가 있는 데이터의 경우에는 단말 대화 시스템(290)의 저장부(294)에 저장할 수 있다. 또한, 대용량의 데이터는 원격 대화 시스템 서버(1)의 저장부(140)에 저장하고, 소용량의 데이터는 단말 대화 시스템(290)의 저장부(294)에 저장할 수 있다. 또는, 소용량의 데이터가 원격 대화 시스템 서버(1)의 저장부(140)와 단말 대화 시스템(290)의 저장부(294) 양쪽에 모두 저장되는 것도 가능하다.Data stored in the terminal conversation system 290 and data stored in the remote conversation system server 1 may be determined according to criteria such as data capacity or data type. For example, in the case of data that may be personally identifiable and may infringe privacy, it may be stored in the storage unit 294 of the terminal conversation system 290 . Also, a large amount of data may be stored in the storage unit 140 of the remote conversation system server 1 , and a small amount of data may be stored in the storage unit 294 of the terminal conversation system 290 . Alternatively, it is also possible that a small amount of data is stored in both the storage unit 140 of the remote conversation system server 1 and the storage unit 294 of the terminal conversation system 290 .

도 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 mobile device 400 receives vehicle state information and driving environment information from the vehicle 200 , and transmits user input and vehicle state information to the remote conversation system server 1 . do. That is, the mobile device 400 serves as a gateway connecting the user and the remote chat system server 1 or the vehicle 200 and the remote chat system server 1 .

모바일 기기(400)는 스마트 폰, 스마트 워치, 스마트 글래스, PDA, 태플릿 PC 등과 같이 휴대가 가능하며 외부 서버 및 차량과 통신하여 데이터를 주고 받을 수 있는 전자 기기일 수 있다.The mobile device 400 may be an electronic device that is portable, such as a smart phone, a smart watch, smart glasses, a PDA, or a tablet PC, and can communicate with an external server and vehicle to exchange data.

모바일 기기(400)는 사용자 음성을 입력 받는 음성 입력 장치(410), 사용자의 음성 외 입력을 수신하는 음성 외 입력 장치(420), 시각적, 청각적 또는 촉각적으로 응답을 출력하는 출력 장치(430), 원격 대화 시스템 서버(1) 및 차량(200)과 통신하여 데이터를 송수신하는 통신 장치(480) 및 차량(200)과 사용자로부터 입력 데이터를 수집하여 통신 장치(480)를 통해 원격 대화 시스템 서버(1)로 전송하는 대화 시스템 클라이언트(470)를 포함한다.The mobile device 400 includes a voice input device 410 for receiving a user's voice, a non-voice input device 420 for receiving a user's non-voice input, and an output device 430 for outputting a response visually, auditory or tactilely. ), a communication device 480 that communicates with the remote conversation system server 1 and the vehicle 200 to transmit and receive data, and a remote conversation system server through the communication device 480 by collecting input data from the vehicle 200 and the user. (1) includes a dialog system client 470 that sends to.

음성 입력 장치(410)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰을 포함할 수 있다.The voice input device 410 may include a microphone that receives sound, converts it into an electrical signal, and outputs it.

음성 외 입력 장치(420)는 모바일 기기(400)에 마련된 입력 버튼, 터치 스크린 또는 카메라를 포함할 수 있다.The non-voice input device 420 may include an input button provided in the mobile device 400 , a touch screen, or a camera.

출력 장치(430)는 모바일 기기(400)에 마련된 디스플레이, 스피커 또는 진동기를 포함할 수 있다.The output device 430 may include a display, a speaker, or a vibrator provided in the mobile device 400 .

사용자에 대한 입출력 인터페이스로 모바일 기기(400)에 마련된 음성 입력 장치(410), 음성 외 입력 장치(420) 및 출력 장치(430)를 이용하는 것뿐만 아니라, 차량(200)에 마련된 음성 입력 장치(210), 음성 외 입력 장치(220) 및 대화자 출력 장치(230)를 이용하는 것도 가능하다. In addition to using the voice input device 410 , the non-voice input device 420 , and the output device 430 provided in the mobile device 400 as an input/output interface for the user, the voice input device 210 provided in the vehicle 200 . ), it is also possible to use the voice input device 220 and the dialogue output device 230 .

차량(200)이 차량 감지부(260)가 감지한 데이터와 사용자 입력을 모바일 기기(400)에 전달하면, 모바일 기기(400)의 대화 시스템 클라이언트(470)가 이를 원격 대화 시스템 서버(1)로 전송한다. When the vehicle 200 transmits the data detected by the vehicle detection unit 260 and the user input to the mobile device 400 , the chat system client 470 of the mobile device 400 sends it to the remote chat system server 1 . send.

또한, 대화 시스템 클라이언트(470)는 원격 대화 시스템 서버(1)로부터 전송되는 응답이나 명령어를 차량(200)에 전달할 수 있다. 사용자에 대한 입출력 인터페이스로 차량(200)에 마련된 대화자 출력 장치(230)를 이용하는 경우에는, 대화자 출력 장치(230)를 통해 사용자의 발화에 대한 응답을 출력할 수 있다. 모바일 기기(400)에 마련된 출력 장치(430)를 이용하는 경우에는, 모바일 기기(400)의 출력 장치(430)를 통해 사용자의 발화에 대한 응답을 출력할 수 있다.Also, the chat system client 470 may transmit a response or command transmitted from the remote chat system server 1 to the vehicle 200 . When the dialogue output device 230 provided in the vehicle 200 is used as the input/output interface for the user, a response to the user's utterance may be output through the dialogue output device 230 . When the output device 430 provided in the mobile device 400 is used, a response to the user's utterance may be output through the output device 430 of the mobile device 400 .

차량 제어를 위한 명령어는 차량(200)에 전달되고, 차량 제어기(240)는 전달된 명령어에 대응되는 제어를 수행하여 사용자에게 필요한 서비스를 제공할 수 있다. A command for vehicle control is transmitted to the vehicle 200 , and the vehicle controller 240 may provide a necessary service to the user by performing a control corresponding to the transmitted command.

한편, 대화 시스템 클라이언트(470)는 입력 데이터를 수집하여 원격 대화 시스템 서버(1)로 전달하는 것뿐만 아니라, 대화 시스템(100)의 입력 처리기(110) 및 결과 처리기(130)의 기능을 일부 또는 전부 수행하는 것도 가능하다. On the other hand, the dialog system client 470 not only collects input data and transmits it to the remote dialog system server 1 , but also partially or partially functions of the input processor 110 and the result processor 130 of the dialog system 100 . It is also possible to do all of them.

도 16을 참조하면, 모바일 기기(400)의 통신 장치(480)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈(481), 유선 통신 모듈(482) 및 무선 통신 모듈(483)를 포함할 수 있다.Referring to FIG. 16 , the communication device 480 of the mobile device 400 may include one or more communication modules that enable communication with an external device, for example, a short-range communication module 481, a wired communication module ( 482 ) and a wireless communication module 483 .

근거리 통신 모듈(481)은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.The short-distance communication module 481 uses a wireless communication network in a short distance such as a Bluetooth module, an infrared communication module, a radio frequency identification (RFID) communication module, a wireless local access network (WLAN) communication module, an NFC communication module, and a Zigbee communication module. to include at least one of various short-range communication modules for transmitting and receiving signals.

유선 통신 모듈(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 wired communication module 482 includes various wired communication modules, such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module, as well as a Universal USB (USB) module. Serial Bus), HDMI (High Definition Multimedia Interface), DVI (Digital Visual Interface), RS-232 (recommended standard232), power line communication, or POTS (plain old telephone service) may include at least one of various cable communication modules. have.

무선 통신 모듈(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 wireless communication module 483 is a Wifi module, a WiBro (Wireless broadband) module, in addition to GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), UMTS (Universal) Mobile Telecommunications System), Time Division Multiple Access (TDMA), Long Term Evolution (LTE), 4G, 5G, etc. may include at least one of various wireless communication modules that can be connected to the Internet network.

예를 들어, 모바일 기기(400)는 근거리 통신 모듈(481) 또는 유선 통신 모듈(482)을 통해 차량(200)과 연결될 수 있고, 무선 통신 모듈(483)을 통해 원격 대화 시스템 서버(1) 또는 외부 컨텐츠 서버(300)와 연결될 수 있다. For example, the mobile device 400 may be connected to the vehicle 200 through the short-range communication module 481 or the wired communication module 482 , and the remote conversation system server 1 or It may be connected to the external content server 300 .

도 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 conversation system 100 is provided in the mobile device 400 .

따라서, 대화 처리를 수행하기 위해 원격 대화 시스템 서버(1)와 연결될 필요가 없고, 모바일 기기(400)가 자체적으로 사용자와의 대화를 처리하고 사용자에게 필요한 서비스를 제공해줄 수 있다. 다만, 대화 처리 및 서비스 제공을 위해 필요한 정보는 외부 컨텐츠 서버(300)로부터 가져올 수 있다.Accordingly, there is no need to be connected to the remote conversation system server 1 in order to perform conversation processing, and the mobile device 400 can process a conversation with the user by itself and provide a necessary service to the user. However, information necessary for conversation processing and service provision may be obtained from the external content server 300 .

이하, 대화 시스템(100)의 세부적인 구성 및 각 구성요소 별 구체적인 동작을 상세하게 설명한다. 후술하는 실시예에서는 설명의 편의를 위해, 대화 시스템(100)이 차량(200)에 마련된 경우를 가정하여 설명한다.Hereinafter, a detailed configuration of the dialogue system 100 and a specific operation for each component will be described in detail. In the embodiment to be described below, for convenience of description, it is assumed that the conversation system 100 is provided in the vehicle 200 .

도 18, 도 19A 및 도 19B는 대화 시스템의 구성 중 입력 처리기의 구성이 세분화된 제어 블록도이다.18, 19A, and 19B are control block diagrams in which the configuration of the input processor is subdivided in the configuration of the conversation system.

도 18을 참조하면, 입력 처리기(110)는 음성 입력을 처리하는 음성 입력 처리기(111) 및 상황 정보를 처리하는 상황 정보 처리기(112)를 포함할 수 있다. Referring to FIG. 18 , the input processor 110 may include a voice input processor 111 for processing a voice input and a context information processor 112 for processing context information.

음성 입력 장치(210)를 통해 입력된 사용자 음성은 음성 입력 처리기(111)로 전송되고, 음성 외 입력 장치(220)를 통해 입력된 음성 외 사용자 입력은 상황 정보 처리기(112)로 전송된다. The user's voice input through the voice input device 210 is transmitted to the voice input processor 111 , and the user input other than the voice input through the non-voice input device 220 is transmitted to the context information processor 112 .

차량 제어기(240)는 차량 상태 정보, 주행 환경 정보 및 사용자 정보를 상황 정보 처리기(112)로 전송한다. 주행 환경 정보 및 사용자 정보는 외부 컨텐츠 서버(300) 또는 차량(200)에 연결된 모바일 기기(400)로부터 제공될 수도 있다. The vehicle controller 240 transmits vehicle state information, driving environment information, and user information to the context information processor 112 . The driving environment information and user information may be provided from the external content server 300 or the mobile device 400 connected to the vehicle 200 .

음성 외 입력은 모두 상황 정보에 포함될 수 있다. 즉, 상황 정보는 차량 상태 정보, 주행 환경 정보, 사용자 정보를 포함할 수 있다. 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 vehicle 200 and may include information indicating the state of the vehicle, information related to the vehicle such as the type of vehicle, and information stored in the vehicle.

주행 환경 정보는 차량(200)에 마련된 센서에 의해 획득된 정보로서 전방 카메라, 후방 카메라 또는 스테레오 카메라가 획득한 영상 정보, 레이더(radar), 라이다(Lidar), 초음파 센서 등의 센서가 획득한 장애물 정보, 강우 센서가 획득한 강우량/강우속도 정보 등을 포함할 수 있다. Driving environment information is information acquired by a sensor provided in the vehicle 200, and image information acquired by a front camera, a rear camera, or a stereo camera, and a sensor such as a radar, lidar, and ultrasonic sensor acquired. It may include obstacle information, rainfall amount/rain speed information obtained by the rainfall sensor, and the like.

또한, 주행 환경 정보는 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 status 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 external content server 300 . It may include information related to , information stored in the mobile device 400 connected to the vehicle, and the like.

음성 입력 처리기(111)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 출력하는 음성 인식기(111a), 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악하는 자연어 이해기(111b) 및 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전달하는 대화 입력 관리기(111c)를 포함할 수 있다. The voice input processor 111 is a voice recognizer 111a that recognizes the input user's voice and outputs it as a utterance in text form, and applies Natural Language Understanding technology to the utterance of the user in which the utterance is implied. It may include a natural language interpreter 111b that detects an intention, and a dialog input manager 111c that transmits the natural language understanding result and context information to the dialog manager 120 .

음성 인식기(111a)는 음성 인식 엔진(speech recognition engine)을 포함하고, 음성 인식 엔진은 입력된 음성에 음성 인식 알고리즘을 적용하여 사용자가 발화한 음성을 인식하고, 인식 결과를 생성할 수 있다.The speech recognizer 111a may include a speech recognition engine, and the speech recognition engine may recognize a speech uttered by a user by applying a speech recognition algorithm to the input speech, and may generate a recognition result.

이 때, 입력된 음성은 음성 인식을 위한 더 유용한 형태로 변환될 수 있는바, 음성 신호로부터 시작 지점과 끝 지점을 검출하여 입력된 음성에 포함된 실제 음성 구간을 검출한다. 이를 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) 등의 특징 벡터 추출 기술을 적용하여 입력된 음성의 특징 벡터를 추출할 수 있다.And, within the detected section, features such as Cepstrum, Linear Predictive Coefficient (LPC), Mel Frequency Cepstral Coefficient (MFCC) or Filter Bank Energy 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 that models and compares the signal characteristics of speech and a language model that models a linguistic order relationship such as words or syllables corresponding to a recognized vocabulary may be used. To this end, the acoustic model/language model DB may be stored in the storage unit 140 .

음향 모델은 다시 인식 대상을 특징 벡터 모델로 설정하고 이를 음성 데이터의 특징 벡터와 비교하는 직접 비교 방법과 인식 대상의 특징 벡터를 통계적으로 처리하여 이용하는 통계 방법을 나뉠 수 있다. The acoustic model can be divided into a direct comparison method in which the recognition target is set as a feature vector model again and compares it 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 is a method of setting a unit such as a word or phoneme to be recognized as a feature vector model and comparing 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 the 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 a 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 voice recognizer 111a may use any of the above-described methods in recognizing a voice. For example, an acoustic model to which a hidden Markov model is applied may be used, or an N-best search method in which the acoustic model and the speech model are integrated may be used. The N-best search method can improve recognition performance by selecting up to N recognition result candidates using an acoustic model and a language model, and then re-evaluating the ranks of these candidates.

음성 인식기(111a)는 인식 결과의 신뢰성을 확보하기 위해 신뢰값(confidence value)을 계산할 수 있다. 신뢰값은 음성 인식 결과에 대해서 그 결과를 얼마나 믿을 만한 것인가를 나타내는 척도이다. 일 예로, 인식된 결과인 음소나 단어에 대해서, 그 외의 다른 음소나 단어로부터 그 말이 발화되었을 확률에 대한 상대값으로 정의할 수 있다. 따라서, 신뢰값은 0 에서 1 사이의 값으로 표현할 수도 있고, 0 에서 100 사이의 값으로 표현할 수도 있다. The voice recognizer 111a may calculate a confidence value in order to secure the reliability of the recognition result. The confidence value is a measure of how reliable the voice recognition result is. For example, a phoneme or word, which is a recognized result, may be defined as a relative value with respect to a probability that the word is uttered from other phonemes or words. Accordingly, the confidence value may be expressed as a value between 0 and 1 or as a value between 0 and 100.

신뢰값이 미리 설정된 임계값(threshold)을 초과하는 경우에는 인식 결과를 출력하여 인식 결과에 대응되는 동작이 수행되도록 할 수 있고, 신뢰값이 임계값 이하인 경우에는 인식 결과를 거절(rejection)할 수 있다. When the confidence value exceeds a preset threshold, an operation corresponding to the recognition result can be performed 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 speech recognizer 111a in the form of text is input to the natural language understander 111b.

자연어 이해기(111b)는 자연어 이해 기술을 적용하여 발화문에 내포된 사용자의 의도를 파악할 수 있다. 따라서, 사용자는 자연스러운 대화(Dialogue)를 통해 명령을 입력할 수 있고, 대화 시스템(100) 역시 대화를 통해 명령의 입력을 유도하거나 사용자가 필요로 하는 서비스를 제공할 수 있다. The natural language understander 111b may recognize the intention of the user contained in the utterance by applying the natural language understanding technology. Accordingly, the user may input a command through a natural dialogue, and the dialogue system 100 may also induce input of the command through the dialogue or provide a service required by the user.

먼저, 자연어 이해기(111b)는 텍스트 형태의 발화문에 대해 형태소 분석을 수행한다. 형태소는 의미의 최소 단위로써, 더 이상 세분화할 수 없는 가장 작은 의미 요소를 나타낸다. 따라서, 형태소 분석은 자연어 이해의 첫 단계로서, 입력 문자열을 형태소열로 바꿔준다. First, the natural language understander 111b performs morpheme analysis on an utterance in a text form. A morpheme is the smallest unit of meaning and represents the smallest element of meaning that cannot be further subdivided. Therefore, morpheme analysis is the first step in understanding natural language, and converts an input string into a morpheme sequence.

자연어 이해기(111b)는 형태소 분석 결과에 기초하여 발화문으로부터 도메인을 추출한다. 도메인은 사용자가 발화한 언어의 주제를 식별할 수 있는 것으로서, 예를 들어, 경로 안내, 날씨 검색, 교통 검색, 일정 관리, 주유 안내, 공조 제어 등의 다양한 주제를 나타내는 도메인이 데이터베이스화 되어 있다.The natural language interpreter 111b extracts a domain from the utterance based on the morpheme analysis result. The domain can identify the subject of the language spoken by the user. For example, domains representing various topics such as route guidance, weather search, traffic search, schedule management, fueling guide, and air conditioning control are databased.

자연어 이해기(111b)는 발화문으로부터 개체명을 인식할 수 있다. 개체명은 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식은 문장에서 개체명을 식별하고 식별된 개체명의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다. The natural language understander 111b may recognize an entity name from an utterance. An entity name is a proper noun such as a person's name, a place name, an organization name, time, date, money, etc., and entity name recognition is the task of identifying the entity name in a sentence and determining the type of the identified entity name. It is possible to understand the meaning of the sentence by extracting important keywords from the sentence by recognizing the entity name.

자연어 이해기(111b)는 발화문이 갖는 화행을 분석할 수 있다. 화행 분석은 사용자 발화에 대한 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등에 관한 발화의 의도를 파악하는 것이다. The natural language interpreter 111b may analyze the dialog act of the utterance. Dialog act analysis is the task of analyzing the intention of the user's utterance, and it is to identify the intention of the utterance regarding whether the user asks a question, makes a request, responds, or expresses a simple emotion.

자연어 이해기(111b)는 사용자의 발화 의도에 대응하는 액션을 추출한다. 발화문에 대응되는 도메인, 개체명, 화행 등의 정보에 기초하여 사용자의 발화 의도를 파악하고, 발화 의도에 대응되는 액션을 추출한다. 액션은 오브젝트(Object)와 오퍼레이터(Operator)에 의해 정의될 수 있다. The natural language understander 111b extracts an action corresponding to the user's utterance intention. Based on information such as domain, entity name, and dialogue act corresponding to the speech, the user's speech intention is identified, and an action corresponding to the speech intent is extracted. An action may be defined by an object and an operator.

또한, 자연어 이해기(111b)는 액션 수행과 관련된 인자를 추출하는 것도 가능하다. 액션 수행과 관련된 인자는 액션을 수행하는데 직접적으로 필요한 유효 인자일 수도 있고, 이러한 유효 인자를 추출하기 위해 사용되는 비유효 인자일 수도 있다.In addition, the natural language interpreter 111b may extract factors related to action performance. The factor related to the action execution may be an effective factor directly required to perform the action, or may be an ineffective factor used to extract such an effective factor.

예를 들어, 사용자의 발화문이 "서울역 가자"인 경우에, 자연어 이해기(111b)는 발화문에 대응되는 도메인으로 "내비게이션"을 추출하고, 액션으로 "길안내"를 추출할 수 있다. 화행은 "요청"에 해당한다. For example, when the user's utterance is "Let's go to Seoul Station", the natural language understander 111b may extract "navigation" as a domain corresponding to the utterance, and extract "navigation" as an action. A dialogue act corresponds to a "request".

개체명인 "서울역"은 액션 수행과 관련된 [인자: 목적지]에 해당하나, 실제 내비게이션을 통한 길안내를 위해서는 구체적인 출구 번호나 GPS 정보가 필요할 수 있다. 이 경우, 자연어 이해기(111b)가 추출한[인자: 목적지: 서울역]은 다수의 서울역 POI 중 실제 사용자가 원하는 서울역을 검색하기 위한 후보 인자가 될 수 있다. The entity name “Seoul Station” corresponds to [factor: destination] related to 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 natural language interpreter 111b may be a candidate factor for searching for a Seoul station desired by the actual user from among a plurality of Seoul Station POIs.

또한, 자연어 이해기(111b)는 파스트리(Parse-tree)와 같이 단어와 단어, 문장과 문장의 수식 관계를 표현할 수 있는 수단도 추출할 수 있다. In addition, the natural language interpreter 111b may also extract a means for expressing a mathematical relationship between words and sentences, such as a parse-tree.

자연어 이해기(111b)의 처리 결과인, 형태소 분석 결과, 도메인 정보, 액션 정보, 화행 정보, 추출된 인자 정보, 개체명 정보, 파스트리 등은 대화 입력 관리기(111c)로 전달된다. The processing results of the natural language understander 111b, such as a morpheme analysis result, domain information, action information, dialogue act information, extracted factor information, entity name information, pastries, etc., are transmitted to the dialog input manager 111c.

상황 정보 처리기(112)는 음성 외 입력 장치(220)와 차량 제어기(240)로부터 정보를 수집하는 상황 정보 수집기(112a), 상황 정보의 수집을 관리하는 상황 정보 수집 관리기(112b) 및 자연어 이해 결과와 수집된 상황 정보에 기초하여 상황을 이해하는 상황 이해기(112c)를 포함할 수 있다. The contextual information processor 112 includes a contextual information collector 112a that collects information from the non-voice input device 220 and the vehicle controller 240, a contextual information collection manager 112b that manages the collection of contextual information, and a natural language understanding result and a context understanding unit 112c for understanding the context based on the collected context information.

입력 처리기(110)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The input processor 110 may include a memory in which a program for performing an operation to be described above or below is stored and a processor for executing the stored program. At least one memory and processor may be provided, respectively, and when a plurality of memory and processor are provided, they may be integrated on one chip or may be physically separated.

또한, 입력 처리기(110)에 포함되는 음성 입력 처리기(111)와 상황 정보 처리기(112)는 동일한 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다. Also, the voice input processor 111 and the context information processor 112 included in the input processor 110 may be implemented by the same processor or may be implemented by separate processors.

이하, 도 19A 및 도 19B를 참조하여 입력 처리기(110)의 구성요소들이 저장부(140)에 저장된 정보를 이용하여 어떻게 입력 데이터를 처리하는지 구체적으로 설명한다. Hereinafter, how the components of the input processor 110 process input data using information stored in the storage 140 will be described in detail with reference to FIGS. 19A and 19B .

도 19A를 참조하면, 자연어 이해기(111b)는 도메인 추출, 개체명 인식, 화행 분석 및 액션 추출을 위해 도메인/액션 추론 규칙 DB(141)를 이용할 수 있다. Referring to FIG. 19A , the natural language interpreter 111b may use the domain/action inference rule DB 141 for domain extraction, entity name recognition, dialogue act analysis, and action extraction.

도메인/액션 추론 규칙 DB(141)에는 도메인 추출 규칙, 화행 분석 규칙, 개체명 변환 규칙, 액션 추출 규칙 등이 저장될 수 있다. The domain/action inference rule DB 141 may store domain extraction rules, dialogue act analysis rules, entity name conversion rules, action extraction rules, and the like.

음성 외 사용자 입력, 차량 상태 정보, 주행 환경 정보, 사용자 정보와 같은 기타 정보는 상황 정보 수집기(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 context information collector 112a, and is stored in the context information DB 142, long-term memory 143 or short-term memory 144 can be

예를 들어, 상황 정보 DB(142)에는 차량 감지부(260)가 감지한 로우 데이터(raw data)가 센서 타입과 센서 값으로 구분되어 저장될 수 있다. For example, raw data detected by the vehicle detection unit 260 may be stored in the context information DB 142 after being divided into a sensor type and a sensor value.

단기 메모리(144)와 장기 메모리(143)에는 사용자의 현재 상태, 사용자의 선호도/성향 또는 이를 판단할 수 있는 데이터와 같이 사용자에게 의미가 있는 데이터가 저장될 수 있다.The short-term memory 144 and the long-term memory 143 may store data meaningful to the user, such as the user's current state, the user's preference/inclination, or data capable of determining it.

전술한 바와 같이, 장기 메모리(143)에는 사용자의 전화번호부, 일정, 선호도, 학력, 성격, 직업, 가족 관련 정보 등과 같이 영속성이 보장되어 장기적으로 사용 가능한 정보가 저장될 수 있다. 단기 메모리(144)에는 현재/이전 위치, 오늘 일정, 이전 대화 내용, 대화 참여자, 주변 상황, 도메인, 운전자 상태 등과 같이 영속성이 보장되지 않거나 불확실하여 단기적으로 사용되는 정보가 저장될 수 있다. 데이터의 종류에 따라 상황 정보 DB(142), 단기 메모리(144) 및 장기 메모리(143) 중 두 개 이상의 저장소에 중복되어 저장되는 데이터도 있을 수 있다.As described above, the long-term memory 143 may store information that can be used for a long time, such as a user's phone book, schedule, preference, academic background, personality, occupation, family-related information, etc., with permanence guaranteed. The short-term memory 144 may store information that is used in the short term because its permanence is not guaranteed or uncertain, such as a current/previous location, today's schedule, previous conversation contents, conversation participants, surrounding circumstances, domain, driver status, and the like. Depending on the type of data, there may be data stored in duplicate in two or more storages of the context information DB 142 , the short-term memory 144 , and the long-term memory 143 .

또한, 단기 메모리(144)에 저장된 정보 중 영속성이 보장되는 것으로 판단된 정보는 장기 메모리(143)로 보내질 수 있다. Also, among the information stored in the short-term memory 144 , it is determined that the permanence is guaranteed may be transmitted to the long-term memory 143 .

또한, 단기 메모리(144)나 상황 정보 DB(142)에 저장된 정보를 이용하여 장기 메모리(143)에 저장될 정보를 획득하는 것도 가능하다. 예를 들어, 일정 기간 축적된 목적지 정보 또는 대화 내용을 분석하여 사용자의 선호도를 획득하고, 획득된 사용자의 선호도를 장기 메모리(143)에 저장할 수 있다. Also, it is possible to obtain information to be stored in the long-term memory 143 by using the information stored in the short-term memory 144 or the context information DB 142 . For example, the user's preference may be obtained by analyzing destination information or conversation contents accumulated for a certain period of time, and the obtained user preference may be stored in the long-term memory 143 .

단기 메모리(144)나 상황 정보 DB(142)에 저장된 정보를 이용하여 장기 메모리(143)에 저장될 정보를 획득하는 것은 대화 시스템(100) 내부에서 수행되는 것도 가능하고, 별도의 외부 시스템에서 수행되는 것도 가능하다.Acquisition of information to be stored in the long-term memory 143 by using the information stored in the short-term memory 144 or the context information DB 142 may be performed inside the dialogue system 100 or performed in a separate external system. It is also possible to be

전자의 경우, 후술하는 결과 처리기(130)의 메모리 관리기(135)에서 수행 가능하다. 이 경우, 단기 메모리(144)나 상황 정보 DB(142)에 저장된 데이터 중에서 사용자의 선호도나 성향과 같이 의미 있는 정보 또는 영속성 있는 정보를 획득하는데 사용되는 데이터는 장기 메모리(143)에 로그 파일 형태로 저장될 수 있다. 메모리 관리기(135)는 일정 기간 이상 축적된 데이터를 분석하여 영속성이 있는 데이터를 획득하고 장기 메모리(143)에 다시 저장한다. 장기 메모리(143) 내에서 영속성 있는 데이터가 저장되는 위치와 로그 파일 형태로 저장되는 데이터가 저장되는 위치를 서로 다를 수 있다. The former case can be performed in the memory manager 135 of the result processor 130 to be described later. In this case, data used to acquire meaningful information or persistent information such as user preference or tendency among data stored in the short-term memory 144 or the context information DB 142 is stored in the long-term memory 143 in the form of a log file. can be saved. The memory manager 135 analyzes the data accumulated over a certain period of time to obtain data with persistence and stores it again in the long-term memory 143 . A location in which persistent data is stored in the long-term memory 143 and a location in which data stored in the form of a log file are stored may be different from each other.

또는, 메모리 관리기(135)가 단기 메모리(144)에 저장된 데이터 중에서 영속성 있는 데이터를 판단하고, 판단된 데이터를 장기 메모리(143)로 옮겨 저장하는 것도 가능하다. Alternatively, the memory manager 135 may determine persistent data among data stored in the short-term memory 144 , and move the determined data to the long-term memory 143 and store it.

별도의 외부 시스템에서 수행하는 경우에는, 도 19B에 도시된 바와 같이 통신부(810), 저장부(820) 및 제어부(830)를 포함하는 데이터 관리 시스템(800)이 사용될 수 있다. When performing in a separate external system, a data management system 800 including a communication unit 810 , a storage unit 820 , and a control unit 830 may be used as shown in FIG. 19B .

통신부(810)가 상황 정보 DB(142) 또는 단기 메모리(144)에 저장된 데이터를 수신한다. 저장된 데이터 전부가 통신부에 전송될 수도 있고, 사용자의 선호도나 성향과 같이 의미 있는 정보 또는 영속성 있는 정보를 획득하는데 사용되는 데이터만 선별되어 전송될 수도 있다. 수신된 데이터는 저장부(820)에 저장된다.The communication unit 810 receives data stored in the context information DB 142 or the short-term memory 144 . All of the stored data may be transmitted to the communication unit, or only data used to acquire meaningful information or persistent information such as user preference or tendency may be selected and transmitted. The received data is stored in the storage unit 820 .

제어부(830)는 축적된 데이터를 분석하여 영속성이 있는 데이터를 획득하고, 획득된 데이터는 다시 통신부(810)를 통해 대화 시스템(100)으로 전송한다. 전송된 데이터는 대화 시스템(100)의 장기 메모리(143)에 저장된다.The controller 830 obtains persistent data by analyzing the accumulated data, and transmits the obtained data to the conversation system 100 again through the communication unit 810 . The transmitted data is stored in the long term memory 143 of the conversation system 100 .

대화 입력 관리기(111c)는 자연어 이해기(111b)의 출력 결과를 상황 이해기(112c)에 전달하여 액션 수행과 관련된 상황 정보를 얻을 수 있다. The dialog input manager 111c may transfer the output result of the natural language interpreter 111b to the context interpreter 112c to obtain context information related to performing an action.

상황 이해기(112c)는 상황 이해 테이블(145)에 저장된 액션 별 상황 정보를 참조하여, 사용자의 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 무엇인지 판단할 수 있다. The context understandr 112c may refer to context information for each action stored in the context understanding table 145 to determine what context information is related to performing an action corresponding to the user's utterance intention.

도 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 the route guidance is an action, the 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 a 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 context information DB 142 , the long-term memory 143 , or the short-term memory 144 , the context understandr 112c is the context information DB 142 . ), the long-term memory 143 or the short-term memory 144 fetches the corresponding information and transmits it to the dialog input manager 111c.

사용자 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장되어 있지 않은 경우, 상황 이해기(112c)는 상황 정보 수집 관리기(112b)에 필요한 정보를 요청한다. 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 필요한 정보를 수집하도록 한다. If the context information related to performing the action corresponding to the user's utterance intention is not stored in the context information DB 142, the long-term memory 143, or the short-term memory 144, the context understandr 112c is the context information collection manager ( 112b) to request the necessary information. The context information collection manager 112b allows the context information collector 112a to collect necessary information.

상황 정보 수집기(112a)는 주기적으로 데이터를 수집할 수도 있고, 특정 이벤트 발생 시에 수집할 수도 있으며, 주기적으로 수집하다가 특정 이벤트 발생 시에 추가적으로 더 수집할 수도 있다. 또한, 상황 정보 수집 관리기(112b)로부터 데이터 수집 요청이 입력되는 경우에 데이터를 수집할 수도 있다. The contextual information collector 112a may periodically collect data, may collect data when a specific event occurs, or periodically collect data and additionally collect additional data when a specific event occurs. In addition, data may be collected when a data collection request is input from the context information collection manager 112b.

상황 정보 수집기(112a)는 필요한 정보를 수집하여 상황 정보 DB(142) 또는 단기 메모리(144)에 저장하고, 상황 정보 수집 관리기(112b)에 확인 신호를 전송한다. The contextual information collector 112a collects necessary information, stores it in the contextual information DB 142 or the short-term memory 144, and transmits a confirmation signal to the contextual information collection manager 112b.

상황 정보 수집 관리기(112b)도 상황 이해기(112c)에 확인 신호를 전송하고, 상황 이해기(112c)는 필요한 정보를 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 가져와 대화 입력 관리기(111c)로 전달한다. The contextual information collection manager 112b also transmits a confirmation signal to the contextual understander 112c, and the contextual understander 112c retrieves necessary information from the contextual information DB 142, the long-term memory 143, or the short-term memory 144. It is brought and delivered to the dialog input manager 111c.

구체적인 예로, 사용자 발화 의도에 대응되는 액션이 길안내인 경우, 상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 길안내와 관련된 상황 정보가 현재 위치임을 알 수 있다. As a specific example, when the action corresponding to the user's utterance intention is navigation, the context understanding unit 112c searches the context understanding table 145 to recognize that the context information related to the route guidance is the current location.

단기 메모리(144)에 현재 위치가 이미 저장되어 있는 경우, 상황 이해기(112c)는 단기 메모리(144)로부터 현재 위치를 가져와 대화 입력 관리기(111c)에 전달한다.If the current location is already stored in the short-term memory 144, the context understandr 112c fetches the current location from the short-term memory 144 and transmits it to the dialog input manager 111c.

단기 메모리(144)에 현재 위치가 저장되어 있지 않은 경우에는, 상황 정보 수집 관리기(112b)에 현재 위치를 요청하고, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)로 하여금 차량 제어기(240)로부터 현재 위치를 획득하게 한다. When the current location is not stored in the short-term memory 144, the current location is requested from the context information collection manager 112b, and the context information collection manager 112b causes the context information collector 112a to cause the vehicle controller 240 ) to get the current location.

상황 정보 수집기(112a)가 현재 위치를 획득하여 단기 메모리(144)에 저장하고, 상황 정보 수집 관리기(112b)에 확인 신호를 전송한다. 상황 정보 수집 관리기(112b)도 상황 이해기(112c)에 확인 신호를 전송하고, 상황 이해기(112c)는 단기 메모리(144)로부터 현재 위치 정보를 가져와 대화 입력 관리기(111c)로 전달한다. The contextual information collector 112a acquires the current location, stores it in the short-term memory 144, and transmits a confirmation signal to the contextual information collection manager 112b. The contextual information collection manager 112b also transmits a confirmation signal to the contextual understandr 112c, and the contextual understander 112c brings the current location information from the short-term memory 144 and transmits it to the dialog input manager 111c.

대화 입력 관리기(111c)는 자연어 이해기(111b)의 출력과 상황 이해기(112c)의 출력을 대화 관리기(120)로 전달하고, 중복된 입력이 대화 관리기(120)로 들어가지 않도록 관리할 수 있다. 이 때, 자연어 이해기(111b)의 출력과 상황 이해기(112c)의 출력은 하나로 합쳐져서 대화 관리기(120)에 전달될 수도 있고, 각각 독립적으로 전달될 수도 있다.The dialog input manager 111c transmits the output of the natural language understander 111b and the output of the situation understander 112c to the dialog manager 120, and manages so that the duplicate input does not enter the dialog manager 120 have. In this case, the output of the natural language interpreter 111b and the output of the context interpreter 112c may be combined into one and transmitted to the conversation manager 120 , or may be independently transmitted.

한편, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(112c)에 액션 트리거 신호를 전송할 수 있다. Meanwhile, the contextual information collection manager 112b may transmit an action trigger signal to the contextual understandingr 112c when it is determined that a specific event has occurred because the data collected by the contextual information collector 112a satisfies a preset condition.

상황 이해기(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 information collection manager 112b again do.

도 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 context information collection manager 112b collects necessary context information through the context information collector 112a, and transmits a confirmation signal to the context understand unit 112c. The context understanding unit 112c fetches necessary context information from the context information DB 142 , the long-term memory 143 or the short-term memory 144 , and delivers it to the dialog input manager 111c together with the action information.

대화 입력 관리기(111c)는 상황 이해기(112c)의 출력을 대화 관리기(120)로 입력한다.The dialog input manager 111c inputs the output of the situation understander 112c to the dialog manager 120 .

도 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 dialog manager 120 creates/deletes/updates the dialog or action according to the request of the dialog flow manager 121 and the dialog flow manager 121 to request to create/delete/update a dialog or action. conversation action manager 122, ambiguity resolver 123 that ultimately clarifies the intention of the user by resolving ambiguity about the situation and ambiguity about dialogue, factor manager 124 that manages factors necessary for action execution, multiple An action priority determiner 125 that determines whether to perform an action for candidate actions of , and determines their priorities, and an external information manager that manages an external content list and related information and manages factor information required for external content query (126).

대화 관리기(120)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The conversation manager 120 may include a memory in which a program for performing an operation described above or to be described later is stored and a processor that executes the stored program. At least one memory and processor may be provided, respectively, and when a plurality of memory and processor are provided, they may be integrated on one chip or may be physically separated.

또한, 대화 관리기(120)에 포함되는 각각의 구성요소들이 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, each of the components included in the conversation manager 120 may be implemented by a single processor or may be implemented by a separate processor.

또한, 대화 관리기(120)와 입력 처리기(110) 역시 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, the conversation manager 120 and the input processor 110 may also be implemented by a single processor or may be implemented by a separate processor.

대화 입력 관리기(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 dialog input manager 111a are input to the dialog flow manager 121 . The output of the natural language interpreter 111b includes information on the content of the user's utterance, such as a morpheme analysis result, in addition to information such as a domain and an action. The output of the context understanding unit 112c may include events determined by the context information collection manager 112b in addition to the context information.

대화 흐름 관리기(121)는 대화 입력 관리기(111a)로부터의 입력에 대응되는 대화 태스크 또는 액션 태스크가 대화/액션 DB(147)에 존재하는지 검색한다. The dialog flow manager 121 searches whether a dialog task or action task corresponding to the input from the dialog input manager 111a exists in the dialog/action DB 147 .

대화/액션 DB(147)는 대화의 상태와 액션의 상태를 관리하기 위한 저장 공간으로서, 현재 진행 중인 대화, 액션들과 앞으로 진행할 예비 액션들에 대한 대화 상태 및 액션 상태를 저장할 수 있다. 예를 들어, 종료된 대화/액션, 정지된 대화/액션, 진행 중인 대화/액션, 진행될 대화/액션의 상태가 저장될 수 있다.The conversation/action DB 147 is a storage space for managing the state of the dialog and the state of the action, and may store the dialog state and the action state for the current conversation, actions, and preliminary actions to be performed in the future. For example, the state of the finished conversation/action, the stopped conversation/action, the ongoing conversation/action, and the ongoing conversation/action may be stored.

또한, 액션의 스위칭/네스팅 여부, 스위칭된 액션 인덱스, 액션 변경 시간, 화면/음성/명령어 등의 마지막 출력 상태 등을 저장할 수 있다. In addition, it is possible to store whether an action is switched/nested, a switched action index, an action change time, a last output state of a screen/voice/command, and the like.

예를 들어, 사용자 발화에 대응되는 도메인과 액션이 추출된 경우에는, 가장 최근에 저장된 대화 중 해당 도메인과 액션에 대응되는 대화 또는 액션이 존재하면 이를 대화 입력 관리기(111a)로부터의 입력에 대응되는 대화 태스크 또는 액션 태스크로 판단할 수 있다. For example, when a domain and an action corresponding to a user's utterance are extracted, if a dialog or action corresponding to the corresponding domain and action exists among the most recently stored conversations, it corresponds to the input from the dialog input manager 111a. It can be judged as a conversation task or an action task.

사용자 발화에 대응되는 도메인과 액션이 추출되지 않은 경우에는, 임의의 태스크를 생성하거나, 가장 최근에 저장된 태스크를 참조하도록 대화 액션 생성기(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 dialog action generator 122 to refer to the most recently stored task.

대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크 또는 액션 태스크가 존재하지 않으면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)에 새로운 대화 태스크와 액션 태스크를 생성하도록 요청한다.If a dialog task or action task corresponding to the output of the input processor 110 does not exist in the dialog/action DB 147 , the dialog flow manager 121 creates a new dialog task and an action task in the dialog action manager 122 . ask to do

대화 흐름 관리기(121)가 대화의 흐름을 관리함에 있어서, 대화 정책 DB(148)를 참조할 수 있다. 대화 정책 DB(148)는 대화를 전개하기 위한 정책을 저장하며, 구체적으로 대화를 선택/시작/제안/정지/종료하기 위한 정책을 저장한다. When the conversation flow manager 121 manages the conversation flow, the conversation policy DB 148 may be referred to. The dialog policy DB 148 stores a policy for developing a conversation, and specifically stores a policy for selecting/starting/suggesting/stopping/ending a conversation.

또한, 대화 정책 DB(148)는 시스템이 응답을 출력하는 시점과 방법론에 대한 정책도 저장할 수 있으며, 다수의 서비스를 연계하여 응답을 만드는 정책과 기존의 액션을 삭제하고 다른 액션으로 교체하기 위한 정책을 저장할 수 있다. In addition, the dialog policy DB 148 may also store a policy on the timing and methodology at which the system outputs a response, and a policy for creating a response by linking a plurality of services and a policy for deleting an existing action and replacing it with another action can be saved.

예를 들어, 후보 액션이 복수이거나, 사용자의 의도나 상황에 대응되는 액션이 복수일 때(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), the response for both actions is "Do action A and then action B?" A policy that generates a response at once, and a policy that generates a separate response for action B after generating a response for one action such as “I will perform action A” i. “Do I want to perform action B?” All policies are possible.

또한, 대화 정책 DB(147)는 후보 액션들 간의 우선 순위를 결정하는 정책도 저장할 수 있다. 우선 순위 결정 정책에 대해서는 후술하도록 한다.In addition, the dialogue policy DB 147 may also store a policy for determining priority among candidate actions. The prioritization policy will be described later.

대화 액션 관리기(122)는 대화/액션 DB(147)에 저장 공간을 할당하여, 입력 처리기(110)의 출력에 대응되는 대화 태스크와 액션 태스크를 생성한다. The dialog action manager 122 allocates a storage space to the dialog/action DB 147 to generate a dialog task and an action task corresponding to the output of the input processor 110 .

한편, 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우, 대화 액션 관리기(122)는 임의의 대화 상태를 생성할 수 있다. 이 경우, 후술하는 바와 같이, 모호성 해결기(123)가 사용자의 발화 내용, 주변 상황, 차량 상태, 사용자 정보 등에 기초하여 사용자의 의도를 파악하고 이에 대응되는 적절한 액션을 판단할 수 있다.Meanwhile, when the domain and action cannot be extracted from the user's utterance, the dialog action manager 122 may generate an arbitrary dialog state. In this case, as will be described later, the ambiguity resolver 123 may determine the user's intention based on the user's utterance, surrounding circumstances, vehicle state, user information, and the like, and determine an appropriate action corresponding thereto.

대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크와 액션 태스크가 존재하면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)가 해당 대화 태스크와 액션 태스크를 참조하도록 요청한다. If a dialog task and an action task corresponding to the output of the input processor 110 exist in the dialog/action DB 147, the dialog flow manager 121 allows the dialog action manager 122 to refer to the dialog task and the action task. request.

액션 우선순위 결정기(125)는 연관 액션 DB(146b)에서 입력 처리기(110)의 출력에 포함된 액션 또는 이벤트와 연관된 액션 목록을 검색하여 후보 액션을 추출한다. The action prioritization determiner 125 extracts a candidate action by searching the action list associated with the action or event included in the output of the input processor 110 from the related action DB 146b.

도 22의 예시와 같이, 연관 액션 DB(146b)는 상호 연관된 액션들과 그들 사이의 관계 및 이벤트와 연관된 액션과 그들 사이의 관계를 나타낼 수 있다. 예를 들어, 길안내, 차량 상태 점검, 주유소 추천과 같은 액션이 연관된 액션으로 분류될 수 있고, 이들의 관계는 상호 연계에 해당할 수 있다. As in the example of FIG. 22 , the related action DB 146b may indicate mutually related actions and a relationship between them, and an event related action and a relationship between them. For example, actions such as directions, vehicle condition check, and gas station recommendation may be classified as related actions, and their relationship may correspond to mutual linkage.

따라서, 길안내 액션을 수행함에 있어, 차량 상태 점검, 주유소 추천등의 액션이 함께 수행될 수 있다. 여기서 함께 수행된다는 것은 길안내 액션의 전후로 수행되는 것과 길안내 액션의 수행 중에(경유지로 추가) 수행되는 것을 모두 포함할 수 있다.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 being performed before and after the navigation action and during the performance of the navigation action (added 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 the event determined by the situation collection manager 112b as well as the action corresponding to the user's speech is transmitted from the input processor 110, the action related to the event along with the action corresponding to the user's speech will also be a candidate action. can

추출된 후보 액션 목록은 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 후보 액션 목록을 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다. The extracted candidate action list is transmitted to the dialogue action manager 122 , and the dialogue action manager 122 updates the action status of the dialogue/action status DB 147 by adding the candidate action list.

액션 우선순위 결정기(125)는 액션 수행 조건 DB(146c)에서 각각의 후보 액션을 수행하기 위한 조건을 검색한다. The action priority determiner 125 searches for conditions for performing each candidate action in the action execution condition DB 146c.

도 23의 예시와 같이, 액션 수행 조건 DB(146c)는 액션을 수행하기 위해 필요한 조건과 해당 조건의 만족 여부를 판단하기 위해 사용되는 인자를 각각의 액션 별로 저장할 수 있다. As in the example of FIG. 23 , the action execution condition DB 146c may store a condition necessary for performing an action and a factor used to determine whether the corresponding condition is satisfied for each 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 action prioritization determiner 125 transmits the execution condition of the candidate action to the dialogue action manager 122, and the dialogue action manager 122 adds an action execution condition for each candidate action to the dialogue/action state DB 147. Update the action state.

액션 우선순위 결정기(125)는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태DB(147)에서 액션 수행 조건 판단을 위해 필요한 인자(이하, 조건 판단 인자라 한다)를 검색하고, 검색된 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다The action prioritization determiner 125 is a factor necessary for determining the action execution condition in the context information DB 142, the long-term memory 143, the short-term memory 144, or the conversation/action state DB 147 (hereinafter, the condition determination factor). ), and it is possible to determine whether to perform each candidate action using the searched factors.

액션 수행 조건 판단을 위해 사용되는 인자가 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태DB(147)에 저장되지 않은 경우, 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)로부터 필요한 인자를 가져올 수 있다. When the factor used for determining the action execution condition is not stored in the context information DB 142, long-term memory 143, short-term memory 144, or conversation/action state DB 147, the external information manager 126 is Through this, a necessary factor may be obtained from the external content server 300 .

액션 우선순위 결정기(125)는 액션 수행 조건 판단을 위해 필요한 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다. 또한, 각 후보 액션의 수행 가부 및 대화 정책 DB(148)에 저장된 우선 순위 결정 규칙에 기초하여 각 후보 액션의 우선 순위를 결정할 수 있다. The action priority determiner 125 may determine whether to perform each candidate action by using a factor necessary for determining an action execution condition. In addition, the priority of each candidate action may be determined based on whether each candidate action is performed and a prioritization rule stored in the conversation policy DB 148 .

현재 상황에 따라 각 후보 액션에 대한 점수가 계산될 수 있다. 계산된 점수가 높은 순으로 높은 우선순위가 할당된다. 예를 들어, 아래 [수학식 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 (complete: 1, incomplete: 0)

전술한 바와 같이, 액션 우선순위 결정기(125)가 사용자의 발화나 상황 정보에 직접적으로 관련된 액션뿐만 아니라 이와 연관된 액션 목록까지 검색하고 이들 사이의 우선 순위를 결정함으로써 사용자에게 가장 필요한 서비스를 제공할 수 있게 된다.As described above, the action prioritization determiner 125 searches not only the actions directly related to the user's utterance or contextual information, but also the list of actions related thereto, and determines the priority between them, thereby providing the most necessary service to the user. there will be

액션 우선순위 결정기(125)는 각 후보 액션의 수행 가부 및 우선 순위를 대화 액션 관리기(122)로 전달하고, 대화 액션 관리기(122)는 전달된 정보를 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다. The action prioritization determiner 125 transmits the execution status and priority of each candidate action to the dialog action manager 122, and the dialog action manager 122 adds the transmitted information to the dialog/action state DB 147. Update the action state.

인자 관리기(124)는 액션 인자 DB(146a)에서 각 후보 액션을 수행하는데 사용되는 인자(이하, 액션 인자라 한다.)를 검색할 수 있다. The factor manager 124 may search for factors (hereinafter, referred to as action factors) used to perform each candidate action from the action factor DB 146a.

도 24의 예시와 같이, 액션 인자 DB(146a)는 액션 별로 필수 인자, 선택 인자, 인자의 초기값 및 인자를 가져올 수 있는 참조 위치를 저장할 수 있다. 인자의 초기값이 저장되어 있는 경우에, 입력 처리기(110)로부터 출력된 사용자의 발화나 상황 정보에 해당 인자에 대응되는 인자 값이 포함되어 있지 않고 상황 정보 DB(142)에도 해당 인자 값이 저장되어 있지 않으면, 저장된 초기값에 따라 액션을 수행하거나, 저장된 초기값에 따라 액션을 수행할 지 사용자에게 확인할 수 있다. As in the example of FIG. 24 , the action factor DB 146a may store essential factors, optional factors, initial values of factors, and reference positions from which factors can be retrieved for each action. When the initial value of the factor is stored, the factor value corresponding to the factor is not included in the user's utterance or context information output from the input processor 110 , and the factor value is also stored in the context information DB 142 . If not, the user can check whether to perform the action according to the stored initial value or to perform the action according to the stored initial value.

예를 들어, 길안내 액션을 수행하는데 사용되는 필수 인자는 현재 위치와 목적지를 포함할 수 있고, 선택 인자는 경로 타입을 포함할 수 있다. 선택 인자의 초기값으로 빠른 경로가 저장될 수 있다. 현재 위치와 목적지는 대화/액션 상태 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/action state DB 147 , the context information DB 142 , the short-term memory 144 , or the long-term memory 143 .

차량 상태 점검 액션을 수행하는데 사용되는 필수 인자는 차량 상태 정보를 포함하고, 선택 인자는 점검 파트를 포함할 수 있다. 선택 인자의 초기값으로는 전체 파트가 저장될 수 있다. 차량 상태 정보는 상황 정보 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 context information DB 142 .

주유소 추천 액션을 수행하는데 사용되는 선택 인자는 선호 주유소를 포함할 수 있고, 선택 인자의 초기값으로 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-term memory 143 . It is also possible that the selection factors further include the type of vehicle, oil price, and the like.

전술한 바와 같이, 인자 관리기(124)는 액션 인자 DB(146a)에서 검색한 인자의 인자 값을 해당 참조 위치에서 가져온다. 인자 값을 가져올 수 있는 참조 위치는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144), 대화/액션 상태DB(147) 및 외부 컨텐츠 서버(300) 중 적어도 하나일 수 있다. As described above, the factor manager 124 brings the factor value of the factor retrieved from the action factor DB 146a from the reference position. The reference location from which the factor value can be obtained may be at least one of the context information DB 142 , the long-term memory 143 , the short-term memory 144 , the conversation/action state DB 147 , and the external content server 300 .

인자 관리기(124)가 외부 컨텐츠 서버(300)로부터 인자 값을 가져오는 경우에는, 외부 정보 관리기(126)를 통할 수 있다. 외부 정보 관리기(126)는 외부 서비스 집합 DB(146d)를 참조하여 어디에서 정보를 가져올 지 판단할 수 있다. When the factor manager 124 gets the factor value from the external content server 300 , it may go through the external information manager 126 . The external information manager 126 may refer to the external service set DB 146d to determine where the information is to be retrieved.

외부 서비스 집합 DB(146d)는 대화 시스템(100)과 연계된 외부 컨텐츠 서버에 대한 정보를 저장한다. 예를 들어, 외부 서비스 명칭, 외부 서비스 에 대한 설명, 외부 서비스 가 제공하는 정보의 타입, 외부 서비스 사용 방법, 외부 서비스 의 제공 주체 등에 대한 정보를 저장할 수 있다. The external service set DB 146d stores information on an external content server associated with the dialog system 100 . For example, it is possible to store information on the name of the external service, the description of the external service, the type of information provided by the external service, the method of using the external service, and the subject of the external service.

인자 관리기(124)가 획득한 인자 값은 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 각 후보 액션 별 인자 값을 액션 상태에 추가하여 대화/액션 상태 DB(147)를 업데이트 한다. The factor value obtained by the factor manager 124 is transmitted to the dialogue action manager 122, and the dialogue action manager 122 updates the dialogue/action status DB 147 by adding factor values for each candidate action to the action status. do.

인자 관리기(124)는 모든 후보 액션의 인자 값을 획득하는 것도 가능하고, 액션 우선순위 결정기(125)에서 수행이 가능한 것으로 판단된 후보 액션의 인자 값만 획득하는 것도 가능하다. The factor manager 124 may acquire factor values of all candidate actions, and it is also possible to acquire only factor values of the candidate actions determined to be executable by the action prioritization determiner 125 .

또한, 인자 관리기(124)는 동일한 정보를 나타내는 다양한 종류의 인자 값을 선택적으로 사용할 수 있다. 예를 들어, 목적지를 나타내는 텍스트 형태의 서울역은 내비게이션의 목적지 검색 서비스를 이용하여 POI 형태의 서울역으로 변환될 수 있다. Also, the factor manager 124 may selectively use various kinds of factor values representing the same information. For example, Seoul Station in the form of text indicating the destination may be converted into Seoul Station in the form of POI using a destination search service of a navigation system.

대화나 상황에 모호성이 없는 경우에는 전술한 액션 우선순위 결정기(125), 인자 관리기(124) 및 외부 정보 관리기(126)의 동작에 따라 필요한 정보를 얻고 대화와 액션을 관리할 수 있다. 그러나, 대화나 상황에 모호성이 있는 경우에는 액션 우선순위 결정기(125), 인자 관리기(124) 및 외부 정보 관리기(126)의 동작만으로는 사용자에게 필요한 적절한 서비스를 제공하기 어렵다. When there is no ambiguity in the conversation or situation, necessary information may be obtained according to the operations of the above-described action prioritization determiner 125 , the factor manager 124 , and the external information manager 126 , and the conversation and actions may be managed. However, when there is ambiguity in a conversation or situation, it is difficult to provide an appropriate service necessary for the user only by the operations of the action prioritization determiner 125 , the factor manager 124 , and the external information manager 126 .

이러한 경우, 모호성 해결기(123)가 대화에 대한 모호성 또는 상황에 대한 모호성을 해결할 수 있다. 예를 들어, 대화에 그 사람, 어제 거기, 아빠, 엄마, 할머니, 며느리 등과 같은 조응어가 포함되어 무엇을 지칭하는지 모호한 경우에 모호성 해결기(123)가 상황 정보 DB(142), 장기 메모기(143) 또는 단기 메모리(144)를 참조하여 이러한 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다. In this case, the ambiguity resolver 123 may resolve ambiguity about a conversation or ambiguity about a situation. For example, when it is ambiguous what the conversation refers to because it contains a corresponding word such as that person, yesterday there, dad, mom, grandmother, daughter-in-law, etc., the ambiguity resolver 123 provides the context information DB 142, 143) or short-term memory 144 to resolve this ambiguity or provide a guide for resolving it.

예를 들어, "어제 거기", "집 근처 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 ambiguity resolver 123 may resolve the ambiguity of the factor value by referring to information stored in the context information DB 142 , the long-term memory 143 , or the short-term memory 144 . Alternatively, it is also possible to obtain necessary information from the external content server 300 by using the external information manager 126 if necessary.

예를 들어, 단기 메모리(144)를 참조하여 사용자가 어제 갔던 장소를 검색함으로써 "어제 거기"를 길 안내 액션의 목적지로 사용 가능한 정보로 변환할 수 있다. 또는, 장기 메모리(143)를 참조하여 사용자의 집 주소를 검색하고 외부 컨텐츠 서버(300)로부터 집 주소 근처의A마트에 관한 위치 정보를 가져옴으로써 "집 근처 A마트"를 길 안내 액션의 목적지로 사용 가능한 정보로 변환할 수 있다. For example, by retrieving a place the user went yesterday with reference to the short-term memory 144 , “yesterday there” can be converted into information usable as a destination for a navigation action. Alternatively, by referring to the long-term memory 143 , searching for the user's home address and retrieving the location information about the A mart near the home address from the external content server 300 , "a mart near the house" as the destination of the navigation action It can be transformed into usable information.

또한, 입력 처리기(110)에서 액션(오브젝트, 오퍼레이터)이 명확하게 추출되지 않거나 사용자의 의도가 모호한 상황에서, 모호성 해결기(123)가 모호성 해소 정보 DB(146e)를 참조하여 사용자의 의도를 파악하고, 이에 대응되는 액션을 결정하는 것도 가능하다. In addition, in a situation where the action (object, operator) is not clearly extracted from the input processor 110 or the user's intention is ambiguous, the ambiguity resolver 123 refers to the ambiguity resolution information DB 146e to identify the user's intention. and it is also possible to determine an action corresponding thereto.

도 25 는 모호성 해소 정보 DB에 저장되는 정보의 예시를 나타내는 도면이다. 25 is a diagram illustrating an example of information stored in an ambiguity resolution information DB.

모호성 해소 정보 DB(146e)는 차량 상태 정보와 주변 상황 정보에 기초하여, 발화문과 그에 대응되는 액션을 매칭시켜 저장할 수 있다. 모호성 해소 정보 DB(146e)에 저장되는 발화문은 자연어 이해를 통해 액션을 추출할 수 없는 발화문일 수 있다. 도 25의 예시에서는 형태소 분석 결과에 따른 발화 내용이 손이 시리거나 손이 춥다는 내용인 경우에 대해 설명한다.The ambiguity resolution information DB 146e may match and store an utterance statement and an action corresponding thereto, based on the vehicle state information and the surrounding context information. The utterances stored in the ambiguity resolution information DB 146e may be utterances from which an action cannot be extracted through natural language understanding. In the example of FIG. 25 , a case in which the content of the utterance according to the result of the morpheme analysis is the content that the hand is cold or that the hand is cold will be described.

주변 상황 정보는 차량 외부 온도와 강우 여부를 포함할 수 있고, 차량 상태 정보는 에어컨/히터의 온/오프 여부와 풍량, 풍향, 스티어링 열선의 온/오프 여부를 포함할 수 있다.The surrounding situation information may include external temperature of the vehicle and whether it is raining, 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 heating 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 your hands are cold, and the corresponding vehicle control action can save the air conditioner temperature increase by 3 degrees. have.

외부 온도가 20도가 넘으면서 비가 오는 경우, 에어컨이 오프되어 있으면 강우로 인해 추위를 느끼는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 히터 On 을 저장할 수 있다.If it is raining while the outside temperature is over 20 degrees, if the air conditioner is off, it can be recognized as feeling cold due to the 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. Changes in 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 low (lower), raising the air conditioner temperature by 3 degrees can be saved as a corresponding vehicle control action.

외부 온도가 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도보다 낮으면서 히터가 온되어 있고 스티어링 열선이 오프되어 있는 경우, 온기가 손에 전달되지 않아 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션을 스티어링 열선 온으로 저장할 수 있다.When 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도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로 설정되어 있는 경우, 히터 온도가 최대치보다 낮게 설정되어 있으면, 대응되는 차량 제어 액션을 히터 온도 높이기로 저장할 수 있다.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 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 external temperature is lower than 20 degrees, both the heater and the steering heating wire are on, the heater wind direction is set to 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 outside 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 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, since the heater is currently in full operation, a notice to wait for a while can be output.

도 26a 및 도 26b는 모호성 해결기가 모호성 해소 정보 DB를 참조하여 모호성을 해결하고 액션을 추출하여 차량을 제어하는 다양한 예시들을 정리한 테이블이다.26A and 26B are tables summarizing various examples in which the ambiguity resolver refers to the ambiguity resolving 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 set temperature of the air conditioner 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) 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, 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, an action of heating the steering wheel on (On) may be extracted as an action corresponding to the corresponding ignition, and the vehicle may be controlled according to the extracted action.

형태소 분석 결과에 따른 발화 내용이 답답하다는 내용인 경우, 차량 상태가 차량 속도 시속 30km 이하, 차량 앞뒤 간격이 30cm 미만인 상황인 경우, 교통 체증으로 인해 느끼는 답답함인 것으로 파악할 수 있다. 따라서, 길안내 액션에서 경로 옵션(빠른 경로 안내)을 변경하거나 음악과 같은 멀티미디어 컨텐츠를 재생하거나, 채팅 기능을 온(On)시키는 액션을 해당 발화에 대응되는 액션으로 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. If the content of the utterance according to the morpheme analysis result is stuffy, when 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 that it is the stuffiness felt 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 the 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.

형태소 분석 결과에 따른 발화 내용이 졸리다는 내용인 경우, 차량 상태가 내기모드인 상황이면, 공기 순환이 안됨에 따라 졸음이 유발된 것으로 파악할 수 있다. 따라서, 외기모드로 변경하는 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.If the content of the utterance according to the result of the morpheme analysis is drowsy, if the vehicle is in the 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 utterance according to the result of the morpheme analysis is sweating or hot, if the surrounding situation is winter and the vehicle condition is a situation in which 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)되어 있는 상황이면, 사용자의 신체 열기로 인해 더위가 유발된 것으로 파악할 수 있다. 따라서, 창문 열기 또는 창문 열기 제안을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, in the utterance of the same content, if the surrounding situation is winter and the heater is off, it can be determined that the 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 determined 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)되어 있는 상황이면, 에어컨의 온도가 높게 설정되어 있어서 더위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 온도 낮추기 또는 풍량 증가를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. 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 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 situation 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, increasing the air conditioner temperature or decreasing 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.

또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 사용자의 신체 컨디션에 문제가 있어 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터의 실행이나 사용자의 바이오 리듬 체크를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. 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 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)되어 있는 상황이면, 히터의 온도가 낮게 설정되어 있거나 풍량이 약하기 때문에 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터 온도 높이기나 풍량 증가를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.In addition, 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, the heater execution 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 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 off, it may be understood that the headache is induced by the cold. Accordingly, the heater execution may be extracted as an action corresponding to the corresponding utterance, and the vehicle may be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 더위로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 에어컨 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. In addition, 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 can be understood that the headache is caused by the heat. Accordingly, the air conditioner may be extracted as an action corresponding to the 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 is in a state in which 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 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 summer and it is raining, it can be understood that discomfort is induced by the 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 ambiguity resolver 123 described above, even when there is ambiguity in the user's utterance or situation, the user's actual action or the user's actual action is actually given by considering the surrounding situation information and the vehicle state information together with the user's utterance. It is possible to accurately identify and provide necessary actions.

모호성 해결기(123)가 판단한 액션에 관한 정보는 대화 액션 관리기(122)로 전달될 수 있고, 대화 액션 관리기(122)는 전달된 정보에 기초하여 대화/액션 DB(147)를 업데이트할 수 있다. Information on the action determined by the ambiguity resolver 123 may be transmitted to the dialogue action manager 122 , and the dialogue action manager 122 may update the dialogue/action DB 147 based on the transmitted information. .

액션 우선순위 결정기(125)와 인자 관리기(124)는 모호성 해결기(123)가 판단한 액션에 대해서도 전술한 바와 같이 액션 수행 조건을 판단하고, 우선 순위를 결정하고, 인자 값을 가져오는 동작을 수행한다. The action prioritization determiner 125 and the factor manager 124 also determine the action execution condition for the action determined by the ambiguity resolver 123, determine the priority, and obtain the factor value as described above. do.

각 액션을 수행하는데 사용되는 인자 값들 중 현재 상황과 대화를 통해 획득 가능한 값들이 모두 획득되면, 대화 액션 관리기(122)는 대화 흐름 관리기(121)에 신호를 전송한다. When all values obtainable through the current situation and conversation among the factor values used to perform each action are obtained, the conversation action manager 122 transmits a signal to the conversation flow manager 121 .

한편, 액션 수행이나 조건 판단에 있어 필요한 인자 값이 대화/액션 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/action DB 147 , the external content server 300 , the long-term memory 143 , the short-term memory 144 , and the context information DB 142 . , it is also possible for the result processor 130 to generate a dialogue response for querying the user for the factor value when it can be obtained only through the user.

대화 흐름 관리기(121)는 1순위에 해당하는 액션에 관한 정보와 대화 상태를 결과 처리기(130)로 전달한다. 대화 정책에 따라 복수의 후보 액션에 관한 정보를 전달하는 것도 가능하다. The conversation flow manager 121 transmits information about the action corresponding to the first priority and the conversation state to the result processor 130 . It is also possible to deliver information about a plurality of candidate actions according to a conversation policy.

도 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 result processor 130 is a response generation manager 131 that manages generation of a response required to perform an action input from the conversation manager 120 , and a text according to a request from the response generation manager 131 . A command generator 136 that generates a command for vehicle control or a command for providing a service using external content according to a request of the dialog response generator 132 for generating a response, an image response, or an audio response, and the response generation manager 131 . ), a service editor 134 that sequentially or sporadically executes a number of services and collects the result values to provide the service desired by the user, outputs the generated text response, image response or audio response, or the command generator 136 is Long-term memory 143 and short-term memory ( and a memory manager 135 for managing 144 .

결과 처리기(130)는 전술 또는 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The result processor 130 may include a memory in which a program for performing an operation to be described above or below is stored and a processor for executing the stored program. At least one memory and processor may be provided, respectively, and when a plurality of memory and processor are provided, they may be integrated on one chip or may be physically separated.

또한, 결과 처리기(130)에 포함되는 각각의 구성요소들이 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, each of the components included in the result processor 130 may be implemented by a single processor or may be implemented by a separate processor.

또한, 결과 처리기(130)와, 대화 관리기(120) 및 입력 처리기(110) 역시 단일 프로세서에 의해 구현되는 것도 가능하고, 별개의 프로세서에 의해 구현되는 것도 가능하다.In addition, the result processor 130 , the conversation manager 120 , and the input processor 110 may also be implemented by a single processor or may be implemented by separate processors.

사용자의 발화나 상황에 대응하여 출력되는 응답은 대화 응답, 차량 제어, 외부 컨텐츠 제공 등을 포함할 수 있다. 대화 응답은 초기 대화, 질의, 정보 제공을 포함하는 답변 등의 형식을 가질 수 있고 응답 템플릿(149)에 데이터베이스화되어 저장될 수 있다. The response output in response to the user's utterance or situation may include a dialogue response, vehicle control, external content provision, 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 response template 149 .

응답 생성 관리기(131)는 대화 응답 생성기(132)와 명령어 생성기(136)에 대화 관리기(120)에서 결정된 액션을 수행하기 위해 필요한 응답의 생성을 요청한다. 이를 위해, 수행될 액션에 관한 정보를 대화 응답 생성기(132)와 명령어 생성기(136)에 전송할 수 있고, 수행될 액션에 관한 정보는 액션명, 인자 값 등을 포함할 수 있다. 응답을 생성함에 있어, 대화 응답 생성기(132)와 명령어 생성기(136)는 현재 대화 상태와 액션 상태를 참조할 수 있다. The response generation manager 131 requests the dialogue response generator 132 and the command generator 136 to generate a response necessary to perform the action determined by the dialogue manager 120 . To this end, information about the action to be performed may be transmitted to the dialog response generator 132 and the command generator 136 , and the information about the action to be performed may include an action name, a factor value, and the like. In generating a response, the dialog response generator 132 and the command generator 136 may refer to the current dialog state and the action state.

대화 응답 생성기(132)는 응답 템플릿(149)을 검색하여 대화 응답 서식을 추출할 수 있고, 추출된 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다. 생성된 대화 응답은 응답 생성 관리기(131)로 전달된다. 대화 응답 생성에 필요한 인자 값이 대화 관리기(120)로부터 전달되지 않거나, 외부 컨텐츠를 이용하라는 지시가 전달된 경우에는 외부 컨텐츠 서버(300)로부터 제공받거나 장기 메모리(143), 단기 메모리(144) 또는 상황 정보 DB(142)에서 검색할 수 있다.The dialog response generator 132 may search the response template 149 to extract a dialog response format, and generate a dialog response by filling factor values necessary for the extracted dialog response format. The generated dialogue response is transmitted to the response generation manager 131 . When a factor value necessary for generating a dialog response is not delivered from the dialog manager 120 or an instruction to use external content is delivered, it is provided from the external content server 300 or long-term memory 143, short-term memory 144, or It can be searched in the context information DB 142 .

예를 들어, 대화 관리기(120)에서 결정된 액션이 길 안내에 해당하는 경우, 응답 템플릿(149)을 검색하여 "[현재 위치:-]에서 [목적지:-]까지 [소요 시간:-]이 소요될 것으로 예상됩니다. 안내를 시작할까요?"를 대화 응답 서식으로 추출할 수 있다.For example, if the action determined in the conversation manager 120 corresponds to a route guide, the response template 149 is searched and "[Required time:-] from [Current location:-] to [Destination:-] It is expected. Shall we start the guidance?" can be extracted as a dialog response format.

대화 응답 서식에 채워져야 할 인자 중에서 [현재 위치]와 [목적지]의 인자 값은 대화 관리기(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 conversation manager 120, and the factor value of [Required Time] may not be delivered. In this case, the conversation response generator 132 may request the external content server 300 the time taken from the [current location] to the [destination].

명령어 생성기(136)는 사용자의 발화나 상황에 대한 응답이 차량 제어 또는 외부 컨텐츠 제공을 포함하는 경우, 이를 실행하기 위한 명령어를 생성한다. 예를 들어, 대화 관리기(120)에서 결정된 액션이 공조 장치, 윈도우, 시트, AVN 등의 제어인 경우에 해당 제어를 실행하기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다. When the response to the user's utterance or situation includes vehicle control or external content provision, the command generator 136 generates a command for executing the command. For example, when the action determined by the conversation manager 120 is control of an air conditioner, a window, a seat, an AVN, etc., a command for executing the corresponding control is generated and transmitted to the response generation manager 131 .

또는, 대화 관리기(120)에서 결정된 액션이 외부 컨텐츠의 제공을 필요로 하는 경우에는 외부 컨텐츠 서버(300)로부터 해당 컨텐츠를 제공받기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다.Alternatively, when the action determined by the conversation manager 120 requires the provision of external content, a command for receiving the corresponding content from the external content server 300 is generated and transmitted to the response generation manager 131 .

명령어 생성기(136)에서 생성한 명령어가 복수인 경우, 서비스 편집기(134)가 복수의 명령어를 실행하는 방법과 순서를 결정하여 응답 생성 관리기(131)에 전달한다. When there are a plurality of commands generated by the command generator 136 , the service editor 134 determines a method and order for executing the plurality of commands and transmits them to the response generation manager 131 .

응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 출력 관리기(133)에 전달한다.The response generation manager 131 transmits the response received from the dialog response generator 132 , the command generator 136 , or the service editor 134 to the output manager 133 .

출력 관리기(133)는 대화 응답 생성기(132)가 생성한 대화 응답과 명령어 생성기(136)가 생성한 명령어의 출력 타이밍, 출력 순서, 출력 위치 등을 결정한다. The output manager 133 determines the output timing, output order, output position, etc. of the dialog response generated by the dialog response generator 132 and the command generated by the command generator 136 .

출력 관리기(133)는 응답 생성기(132)가 생성한 대화 응답과 명령어 생성기(136)가 생성한 명령어를 적절한 타이밍에 적절한 순서로 적절한 출력 위치에 전송하여 응답을 출력한다. TTS(Text to Speech) 응답은 스피커(232)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(231)를 통해 출력할 수 있다. 대화 응답을 TTS 형태로 출력하는 경우에는 차량(200)에 마련된 TTS 모듈을 이용하거나 출력 관리기(133)가 TTS 모듈을 포함할 수도 있다.The output manager 133 transmits the dialog response generated by the response generator 132 and the command generated by the command generator 136 to an appropriate output location at an appropriate timing and in an appropriate order to output a response. A Text to Speech (TTS) response may be output through the speaker 232 , and a text response may be output through the display 231 . In the case of outputting the dialogue response in the form of TTS, a TTS module provided in the vehicle 200 may be used or the output manager 133 may include a TTS module.

명령어는 그 제어 대상에 따라 차량 제어기(240)로 전송될 수도 있고, 외부 컨텐츠 서버(300)와 통신하기 위한 통신 장치(280)로 전송될 수도 있다.The command may be transmitted to the vehicle controller 240 or to the communication device 280 for communicating with the external content server 300 according to the control target.

응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 메모리 관리기(135)에도 전달할 수 있다. The response generation manager 131 may also transfer the response received from the dialog response generator 132 , the command generator 136 , or the service editor 134 to the memory manager 135 .

또한, 출력 관리기(133)도 자신이 출력한 응답을 메모리 관리기(135)에 전달할 수 있다. Also, the output manager 133 may transmit a response output by the output manager 133 to the memory manager 135 .

메모리 관리기(135)는 응답 생성 관리기(131) 및 출력 관리기(133)로부터 전달받은 내용에 기초하여 장기 메모리(143)와 단기 메모리(144)를 관리한다. 예를 들어, 메모리 관리기(135)는 생성 및 출력된 대화 응답에 기초하여 사용자와 시스템 간 대화 내용을 저장하여 단기 메모리(144)를 업데이트할 수 있고, 사용자와의 대화를 통해 획득된 사용자 관련 정보를 저장하여 장기 메모리(143)를 업데이트할 수 있다. The memory manager 135 manages the long-term memory 143 and the short-term memory 144 based on the content received from the response generation manager 131 and the output manager 133 . For example, the memory manager 135 may update the short-term memory 144 by storing the conversation content between the user and the system based on the generated and output dialog response, and user-related information obtained through the conversation with the user. may be stored to update the long-term memory 143 .

또한, 단기 메모리(144)에 저장된 정보 중 사용자의 성향이나 선호도와 같이 의미 있고 영속성이 있는 정보 또는 이러한 정보를 획득하는데 사용될 수 있는 정보를 장기 메모리(143)에 저장할 수도 있다.Also, among the information stored in the short-term memory 144 , meaningful and persistent information such as a user's disposition or preference or information that can be used to obtain such information may be stored in the long-term memory 143 .

또한, 생성 및 출력된 명령어에 대응되는 차량 제어나 외부 컨텐츠 요청에 기초하여 장기 메모리(143)에 저장된 사용자의 선호도나 차량 제어 이력 등을 업데이트할 수도 있다. In addition, the user's preference or vehicle control history stored in the long-term memory 143 may be updated based on a vehicle control corresponding to the generated and output command or an external content request.

전술한 실시예에 따른 대화 시스템(100)에 의하면, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다. 특히, 사용자의 발화가 입력되지 않더라도 대화 시스템(100)이 수집한 상황 정보 또는 운전자 정보에 기초하여 사용자에게 필요한 서비스를 스스로 판단하고 이를 선제적으로 제공하는 것이 가능하다. According to the dialogue system 100 according to the above-described embodiment, it is possible to provide an optimal service required to the user in consideration of various situations occurring inside the vehicle. In particular, even if the user's utterance is not input, 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 dialogue system 100 and to preemptively provide it.

예를 들어, 차량 시동 시의 상황에 따라 차량 상태의 평가 기준을 가변화하고 이에 대한 피드백을 선제적으로 제공할 수 있다. 주행 시작 시점을 차량 시동 시, 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 Electronic Parking Brake (EPB) is released, or when a navigation destination is set. A weight is given to the vehicle condition evaluation system that calculates the drivability score and individual devices, 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, it is possible to provide a problem solving method for individual devices, such as a guide to a repair shop.

또한, 차량 시동 인가 시 목적지 대비 유량 부족 여부를 판단하고, 유량이 부족할 경우 이에 대한 피드백으로 목적지까지의 경로 내에 사용자 선호 주유소를 자동 경유지로 추가하고, 이를 사용자에게 안내할 수 있다. 또한, 사용자의 응답에 따라 자동 경유지로 추가되는 주유소가 변경될 수도 있다.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. In addition, the gas station added as an automatic waypoint may be changed according to the user's response.

또한, 현재 차량 상태가 유량 부족을 나타내지 않더라도, 사용자의 향후 일정이나 주요 이동 기록, 잔유량 등을 종합적으로 고려하여 주유 장소나 시점을 선제적으로 제공할 수도 있다.In addition, even if the current vehicle state does not indicate insufficient flow rate, 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 on 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 about 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 or provide feedback for automatically changing a route (resting area) according to the degree of the detected possibility. The 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, and 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 dialog system 100 uses the surrounding situation information, vehicle status information, user status information, etc. Able to understand intentions and develop conversations. This example may be performed by resolving the ambiguity of the user's utterance in the ambiguity resolver 230 as described above.

이하 일 실시예에 따른 대화 시스템(100)을 이용한 구체적인 대화 처리의 예시를 상세하게 설명하도록 한다.Hereinafter, an example of specific dialog processing using the dialog system 100 according to an embodiment will be described in detail.

도 28 내지 도 40은 사용자가 길 안내와 관련한 발화를 입력한 경우에 대화 시스템(100)이 입력을 처리하고, 대화를 관리하고, 결과를 출력하는 구체적인 예시를 나타낸 도면이다. 28 to 40 are diagrams illustrating specific examples in which the dialog system 100 processes the input, manages the dialog, and outputs a result when the user inputs an utterance related to road guidance.

도 28에 도시된 바와 같이, 사용자가 "어제 간 서울역으로 가자"는 발화를 입력한 경우, 음성 인식기(111a)는 사용자의 음성을 텍스트 형태의 발화문(어제 간 서울역으로 가자)으로 출력한다.As shown in FIG. 28 , when the user inputs an utterance “Let’s go to Seoul Station yesterday”, the voice recognizer 111a outputs the user’s voice as a text utterance (let’s go to Seoul Station yesterday).

자연어 이해기(111b)는 형태소를 분석하고, 도메인/액션 추론 규칙 DB(141)를 참조하여, 형태소 분석 결과(어제/NNG, 간/VV, 서울역/NNP, 가자/VV)로부터 [도메인: 내비게이션], [액션: 길안내], [화행: 요청], [인자:NLU 목적지: 서울역]을 추출하여 대화 입력 관리기(111c)에 입력할 수 있다. The natural language interpreter 111b analyzes the morpheme, refers to the domain/action inference rule DB 141, and uses the morpheme analysis result (Yesterday/NNG, Gan/VV, Seoul Station/NNP, Gaja/VV) from [Domain: Navigation ], [Action: Directions], [Dialogue Act: Request], [Factor: NLU Destination: Seoul Station] may be extracted and input to the dialog input manager 111c.

도 29를 참조하면, 대화 입력 관리기(111c)는 자연어 이해기(111b)의 자연어 이해 결과를 상황 이해기(112c)에 전달하면서 추가 정보가 있으면 보내줄 것을 요청한다. Referring to FIG. 29 , the dialogue input manager 111c transmits the natural language understanding result of the natural language understander 111b to the context understander 112c and requests to send additional information, if any.

상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 [도메인: 내비게이션], [액션: 길안내]와 관련된 상황 정보는 현재 위치이고 상황 정보 타입은 GPS 값임을 추출할 수 있다. The context understanding unit 112c may search the context understanding table 145 to extract that context information related to [Domain: Navigation] and [Action: Directions] is the current location and the context information type is a GPS value.

상황 이해기(112c)는 상황 정보 DB(142)를 검색하여 현재 위치의 GPS 값을 추출한다. 상황 정보 DB(142)에 현재 위치의 GPS 값이 저장되어 있지 않은 경우에는, 상황 정보 수집 관리기(112b)에 현재 위치의 GPS 값을 요청한다. The context understandr 112c searches the context information DB 142 to extract a GPS value of the current location. When the GPS value of the current location is not stored in the context information DB 142 , the GPS value of the current location is requested from the context information collection manager 112b.

상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)에 신호를 보내 현재 위치의 GPS 값을 수집하도록 하고, 상황 정보 수집기(112a)는 차량 제어기(240)로부터 GPS 값을 수집하여 상황 정보 DB(142)에 저장하면서 GPS 값 수집 확인 신호를 상황 정보 수집 관리기(112b)에 전송한다. 상황 정보 수집 관리기(112b)가 상황 이해기(112c)에 GPS 값 수집 확인 신호를 전달하면, 상황 이해기(112c)는 상황 정보 DB(142)로부터 현재 위치의 GPS 값을 추출하여 대화 입력 관리기(111c)에 전달한다. The contextual information collection manager 112b sends a signal to the contextual information collector 112a to collect the GPS value of the current location, and the contextual information collector 112a collects the GPS value from the vehicle controller 240 to obtain a contextual information DB ( 142) while transmitting the GPS value collection confirmation signal to the context information collection manager 112b. When the context information collection manager 112b transmits a GPS value collection confirmation signal to the context understandr 112c, the context understandr 112c extracts the GPS value of the current location from the contextual information DB 142 to obtain a dialog input manager ( 111c).

대화 입력 관리기(111c)는 자연어 이해 결과인 [도메인: 내비게이션], [액션: 길안내], [화행: 요청], [인자: NLU: 목적지: 서울역]와 [상황 정보: 현재 위치: 의왕역(GPS 값)]를 통합하여 대화 관리기(120)에 전달한다. The dialog input manager 111c provides natural language understanding results [Domain: Navigation], [Action: Directions], [Dialogue Act: Request], [Factor: NLU: Destination: Seoul Station] and [Situation Information: Current Location: Uiwang Station (GPS). value)] and transmitted to the conversation manager 120 .

도 30을 참조하면, 대화 흐름 관리기(121)는 대화/액션 상태 DB(147)를 검색하여 진행 중인 대화 태스크나 액션 태스크가 있는지 판단한다. 이 때, 대화 정책 DB(148)를 참조할 수 있다. 당해 예시에서는 진행 중인 대화 태스크나 액션 태스크가 없는 상태인 것으로 가정한다.Referring to FIG. 30 , the conversation flow manager 121 searches the conversation/action state DB 147 to determine whether there is an ongoing conversation task or action task. In this case, the conversation policy DB 148 may be referred to. In this example, it is assumed that there is no conversation task or action task in progress.

대화 흐름 관리기(121)는 대화 액션 관리기(122)에 입력 처리기(110)의 출력에 대응되는 액션 태스크와 대화 태스크를 생성하도록 요청한다. 액션 태스크와 대화 태스크를 생성하는 것은 액션 상태와 대화 상태에 대한 정보를 저장하고 관리하기 위한 저장 공간을 할당하는 것을 의미한다.The dialog flow manager 121 requests the dialog action manager 122 to generate an action task and a dialog task corresponding to the output of the input processor 110 . Creating an action task and a dialog task means allocating a storage space for storing and managing information about an action state and a dialog state.

따라서, 대화 액션 관리기(122)는 대화/액션 상태DB(147) 내에 저장 공간을 할당하여 액션 상태에 대한 정보와 대화 상태에 대한 정보를 저장한다. Accordingly, the dialog action manager 122 allocates a storage space in the dialog/action state DB 147 to store information on the action state and information on the dialog state.

대화 액션 관리기(122)는 액션 상태와 대화 상태를 액션 우선순위 결정기(125)에 전달한다. The dialog action manager 122 transmits the action state and the dialog state to the action prioritization determiner 125 .

액션 우선순위 결정기(125)는 연관 액션 DB(146b)에서 길 안내와 연계된 액션인 차량 상태 점검, 주유소 추천을 검색한다. 길 안내 액션 및 연계 액션들은 후보 액션이 된다.The action prioritization determiner 125 searches the related action DB 146b for actions related to road guidance, such as vehicle condition check and gas station recommendation. The navigation action and associated actions become candidate actions.

액션 우선순위 결정기(125)는 미리 저장된 규칙에 따라 각 후보 액션들의 우선 순위를 결정할 수 있다. 우선 순위는 각 후보 액션 별 수행 조건이 판단되기 전에 결정될 수도 있고, 수행 조건이 판단된 이후에 수행 조건을 만족하는 후보 액션들에 대해서만 결정될 수도 있다.The action prioritization determiner 125 may determine the priority of each candidate action according to a pre-stored rule. The priority may be determined before the execution condition for each candidate action is determined, or may be determined only for candidate actions that satisfy the execution condition after the execution condition is determined.

후보 액션 목록은 다시 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 검색된 연계 액션들을 추가하여 액션 상태를 업데이트한다. The candidate action list is transmitted to the dialog action manager 122 again, and the dialog action manager 122 updates the action state by adding the searched associated actions.

도 31을 참조하면, 액션 우선순위 결정기(125)는 액션 수행 조건 DB(146c)에서 각각의 후보 액션에 대한 수행 조건 및 수행 조건을 판단하기 위한 인자를 검색한다. 또한, 각 후보 액션들 사이의 우선 순위도 결정할 수 있다. Referring to FIG. 31 , the action priority determiner 125 searches for an execution condition for each candidate action and a factor for determining the execution condition from the action execution condition DB 146c. In addition, it is also possible to determine the priority between the respective candidate actions.

예를 들어, 차량 상태 점검을 수행하기 위한 조건은 목적지 거리가 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)보다 먼 경우일 수 있고, 수행 조건을 판단하기 위해 필요한 인자는 목적지 거리와 주행 가능 거리이다.A 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 dialog action manager 122 updates the action state by adding a condition for performing each candidate action and a factor necessary for determining the condition to the dialog/action state DB 147 .

액션 우선순위 결정기(125)는 각 후보 액션의 수행 조건 만족 여부를 판단하기 위해 필요한 인자 값을 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에서 검색하여 가져올 수 있다. The action prioritization determiner 125 sets a factor value necessary for determining whether the performance condition of each candidate action is satisfied in the conversation/action state DB 147, the context information DB 142, the long-term memory 143, or the short-term memory 144 ) can be retrieved from

인자 값이 이전 대화 내용에 포함되었거나, 대화 내용에 관련된 상황 정보에 포함되었거나, 발생된 이벤트에 관련된 상환 정보에 포함된 경우, 대화/액션 상태DB(147)로부터 인자 값을 가져올 수 있다.When the factor value is included in the previous conversation content, included in context information related to the conversation content, or included in redemption information related to an event that occurred, the factor value may be retrieved from the conversation/action state DB 147 .

인자 값을 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에서 가져올 수 없는 경우에는 외부 정보 관리기(126)에 요청할 수 있다.If the argument value cannot be retrieved from the conversation/action state DB 147 , the context information DB 142 , the long-term memory 143 , or the short-term memory 144 , it may be requested from the external information manager 126 .

예를 들어, 목적지 거리는 외부 정보 관리기(126)를 통해, 내비게이션 서비스를 제공하는 외부 컨텐츠 서버(300)로부터 가져올 수 있고, DTE는 상황 정보 DB(142)로부터 가져올 수 있다. 한편, 목적지 거리를 검색하기 위해서는 내비게이션 서비스에서 사용되는 정확한 목적지 정보가 필요하다. 당해 예시에서 사용자의 발화로부터 입력된 목적지는 "서울역"에 해당하는바, 서울역은 서울역으로 시작되는 다양한 종류의 장소를 나타내거나 특정한 의미의 서울역일 수 있다. 따라서, "서울역"만으로는 정확한 목적지 거리를 검색하기 어렵다. For example, the destination distance may be obtained from the external content server 300 providing a navigation service through the external information manager 126 , and the DTE may be obtained from the context information DB 142 . Meanwhile, in order to search for a destination distance, accurate destination information used in a navigation service is required. In this example, the destination input from the user's utterance corresponds to "Seoul Station", and Seoul Station may indicate various types of places starting with Seoul Station or may be Seoul Station with a specific meaning. Therefore, it is difficult to search for an exact destination distance only with "Seoul Station".

또한, 필요에 따라 인자 값을 차량(200)과 연결된 모바일 기기(400)에서 가져오는 것도 가능하다. 예를 들어, 장기 메모리(143)에 저장되지 않은 연락처, 스케줄 등과 같은 사용자 정보가 인자 값으로 필요할 경우, 외부 정보 관리기(126)가 모바일 기기(400)에 필요한 정보를 요청하여 필요한 인자 값을 획득할 수 있다. In addition, it is also possible to bring the factor value from the mobile device 400 connected to the vehicle 200 if necessary. For example, when user information such as contact information and schedule not stored in the long-term memory 143 is required as a factor value, the external information manager 126 requests the mobile device 400 for necessary information to obtain the necessary factor value. can do.

또한, 저장부(140), 외부 컨텐츠 서버(300) 및 모바일 기기(400)를 통해서도 인자 값을 획득할 수 없는 경우에는 사용자에게 질의하여 필요한 인자 값을 획득할 수 있다.In addition, when it is not possible to obtain a factor value through the storage 140 , the external content server 300 , and the mobile device 400 , a necessary factor value may be obtained by querying the user.

액션 우선순위 결정기(125)는 인자 값을 이용하여 각 후보 액션의 수행 조건을 판단한다. 목적지 거리는 검색되지 않았으므로, 일단 차량 상태 점검 액션과 주유소 추천 액션에 대해서는 수행 조건의 판단을 보류한다. The action prioritization determiner 125 determines the execution condition of each candidate action by using the factor value. Since the destination distance is not searched, the determination of the execution condition is withheld for the vehicle condition check action and the gas station recommendation action.

도 32에 도시된 바와 같이, 대화 액션 관리기(122)는 대화/액션 상태 DB(147)에 획득된 인자 값과 해당 인자 값을 이용하여 판단된 액션 수행 조건 만족 여부를 추가하여 액션 상태를 업데이트한다. As shown in FIG. 32 , the dialog action manager 122 updates the action state by adding the acquired factor value to the dialog/action state DB 147 and whether the action execution condition determined using the factor value is satisfied. .

대화 액션 관리기(122)는 인자 관리기(124)에 각 후보 액션의 수행에 사용되는 인자 목록을 요청한다. The dialog action manager 122 requests the factor manager 124 for a list of factors used to perform each candidate action.

인자 관리기(124)는 액션 인자(146a)로부터 길 안내 액션의 수행에 사용되는 필수 인자로 현위치와 목적지를 추출하고, 선택 인자로 경로 타입(초기값: 빠른 경로)을 추출할 수 있다. The factor manager 124 may extract the current location and destination as essential factors used for performing the route guidance action from the action factor 146a, and may extract a path type (initial value: fast path) as an optional factor.

차량 상태 점검 액션의 수행에 사용되는 선택 인자로 점검파트(초기값: 전체 파트)를 추출하고, 주유소 추천 액션의 수행에 사용되는 선택 인자로 선호 주유소(초기값: 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 dialog action manager 122 and used to update the action status.

인자 관리기(124)는 각 후보 액션의 필수 인자와 선택 인자에 대응되는 인자 값을 획득하기 위해 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 및 단기 메모리(144) 중 각 인자의 참조 위치에서 해당 인자 값을 검색하고, 인자 값이 외부 서비스를 통해 제공되어야 하는 경우에는 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)에 필요한 인자 값을 요청할 수 있다.The factor manager 124 includes the conversation/action state DB 147, the context information DB 142, the long-term memory 143 and the short-term memory 144 to obtain factor values corresponding to the essential factors and optional factors of each candidate action. ), a corresponding factor value is retrieved from the reference position of each factor, and when the factor value is to be provided through an external service, a required factor value can be requested from the external content server 300 through the external information manager 126 .

후보 액션의 수행 조건을 판단하기 위해 사용되는 인자와, 후보 액션을 수행하는데 사용되는 인자가 상호 겹칠 수 있다. 액션 우선순위 결정기(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 action prioritization determiner 125 and stored in the conversation/action state DB 147, if there is a factor corresponding to a factor (essential factor, optional factor) used to perform a candidate action, it may be used.

도 33을 참조하면, 대화 액션 관리기(122)는 인자 관리기(124)가 획득한 인자 값을 추가하여 액션 상태를 업데이트한다. Referring to FIG. 33 , the dialog action manager 122 updates the action state by adding the factor value obtained by the factor manager 124 .

전술한 바와 같이, 사용자 발화로부터 추출한 목적지(서울역)이 길 안내 액션의 인자로 사용되기에는 모호성이 있다. 따라서, 길 안내 액션의 인자(목적지), 차량 상태 점검 액션의 인자(목적지 거리), 주유소 추천 액션의 인자(목적지 거리)의 인자 값이 아직 획득되지 않았다.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 (destination) of the road guidance action, the factor of the vehicle condition check action (destination distance), and the factor (destination distance) of the gas station recommendation action have not yet been obtained.

모호성 해결기(123)는 [인자:NLU:목적지:서울역]이 길 안내 액션에 적합한 목적지 인자로 변환하는데 모호성이 있는지 확인한다. 전술한 바와 같이 "서울역"은 서울역으로 시작되는 다른 종류의 장소를 의미할 수도 있고, 사용자가 의미하는 특정 위치의 서울역일 수도 있다. The ambiguity resolver 123 checks whether there is an ambiguity in converting [argument:NLU:destination:Seoul Station] into a destination argument suitable for a navigation action. As described above, "Seoul Station" may mean another type of place starting with Seoul Station, or may be Seoul Station at a specific location that the user means.

모호성 해결기(123)는 형태소 분석 결과를 참조하여 사용자 발화 중 서울역의 수식어가 있음을 확인한다. 모호성 해결기(123)는 "어제 간 서울역"의 위치를 파악하기 위해 장기 메모리(143), 단기 메모리(144)에서 일정, 이동 위치, 연락처 등을 검색한다. The ambiguity resolver 123 refers to the morpheme analysis result and confirms that there is a modifier of Seoul Station among the user's utterances. The ambiguity resolver 123 searches the long-term memory 143 and the short-term memory 144 for schedules, moving locations, contacts, etc. in order to determine the location of "Seoul Station between yesterday".

예를 들어, 모호성 해결기(123)는 사용자의 어제 이동 위치로부터 "어제 간 서울역"이 "서울역 4번 출구"임을 확인할 수 있다. "서울역 4번 출구"의 POI가 있음을 확인하고 해당 값을 가져온다.For example, the ambiguity resolver 123 may confirm that "Seoul Station between yesterday" is "Seoul Station Exit 4" from the user's yesterday's movement location. Check that there is a POI of "Seoul Station Exit 4" and get the corresponding value.

모호성 해결기(123)가 획득한 목적지 정보는 대화 액션 관리기(122)로 전달되고, 대화 액션 관리기(122)는 후보 액션의 목적지 인자에 "서울역 4번 출구"를 추가하여 액션 상태를 업데이트한다. The destination information obtained by the ambiguity resolver 123 is transmitted to the dialog action manager 122, and the dialog action manager 122 updates the action state by adding “Seoul Station Exit 4” to the destination factor of the candidate action.

인자 관리기(124)는 대화/액션 DB(147)로부터 목적지 정보(서울역 4번 출구)를 가져오고, 외부 정보 관리기(126)를 통해 내비게이션 서비스를 제공하는 외부 컨텐츠 서버(300)에 목적지 거리 값을 요청한다. The factor manager 124 obtains destination information (Seoul Station Exit 4) from the conversation/action DB 147, and provides a destination distance value to an external content server 300 that provides a navigation service through the external information manager 126. request.

도 34를 참조하면, 외부 정보 관리기(126)가 외부 컨텐츠 서버(300)로부터 목적지 거리 값(80km)을 획득하여 인자 관리기(124)에 전달하면, 인자 관리기(124)는 이를 대화 액션 관리기(122)에 전달하여 액션 상태가 업데이트될 수 있도록 한다. Referring to FIG. 34 , when the external information manager 126 obtains a destination distance value (80 km) from the external content server 300 and transmits it to the factor manager 124, the factor manager 124 transmits it to the conversation action manager 122 ) so that the action state can be updated.

액션 우선순위 결정기(125)는 액션 상태를 참조하여 후보 액션의 수행 가능 여부를 판단하고, 우선 순위를 조절할 수 있다. 길 안내 액션은 필수 인자인 현재 위치와 목적지의 인자 값이 획득되었으므로, 수행 가능하고, 차량 상태 점검 액션은 목적지 거리(70km)가 100km 미만이므로 수행이 불가한 것으로 판단할 수 있다. 주유소 추천 액션은 목적지 거리(80km)가 주행 가능 거리(DTE)보다 멀기 때문에 수행이 가능한 것으로 판단할 수 있다.The action prioritization determiner 125 may determine whether a candidate action can be performed by referring to the action state, and may adjust the priority. It can be determined that the route guidance action can be performed because the essential factors of the current location and the destination are obtained, and the vehicle condition check action cannot be performed because the destination distance (70km) is less than 100km. It may be determined that the gas station recommendation action can be performed because the destination distance (80 km) is longer than the drivable distance (DTE).

차량 상태 점검 액션은 수행이 불가하므로 우선순위 결정에서 제외한다. 따라서, 길 안내 액션이 우선순위1번으로, 주유소 추천 액션이 우선순위 2번으로 조절된다. Since the vehicle condition check action cannot be performed, it is excluded from prioritization. Accordingly, the navigation action is adjusted to priority 1, and the gas station recommendation action is adjusted to priority 2.

대화 액션 관리기(122)는 후보 액션의 수행 가부와 조절된 우선 순위에 따라 액션 상태를 업데이트한다.The dialog action manager 122 updates the action state according to whether the candidate action is performed or not and the adjusted priority.

대화 흐름 관리기(121)는 대화/액션 상태 DB(147)에 저장된 대화 상태 및 액션 상태를 확인하고, 대화 정책 DB(148)를 참조하여 대화를 진행하기 위한 대화 전략을 전개한다. 예를 들어, 수행 가능한 액션 중 우선 순위가 가장 높은 액션을 선택하고, 대화 정책DB(148)에 따라 대화를 진행하기 위한 응답을 생성하도록 응답 생성 관리기(131)에 요청할 수 있다. The dialog flow manager 121 checks the dialog state and action state stored in the dialog/action state DB 147 , and develops a dialog strategy for conducting a dialog with reference to the dialog policy DB 148 . For example, the response generation manager 131 may be requested to select an action having the highest priority among the actions that can be performed, and to generate a response for conducting a conversation according to the conversation policy DB 148 .

대화/액션 DB(147)에 저장된 대화 상태와 액션 상태는 [상태: 길안내 시작 확인]으로 각각 업데이트될 수 있다.The dialog state and the action state stored in the dialog/action DB 147 may be updated to [Status: Guidance start confirmation], respectively.

도 35를 참조하면, 응답 생성 관리기(131)는 대화 흐름 관리기(121)의 요청에 따라 대화 응답 생성기(132)에 응답 생성을 요청한다. Referring to FIG. 35 , the response generation manager 131 requests the dialogue response generator 132 to generate a response according to the request of the dialogue flow manager 121 .

대화 응답 생성기(132)는 응답 템플릿(149)를 검색하여 TTS 응답, 텍스트 응답을 생성한다. 예를 들어, "의왕역에서 서울역 4번 출구까지30분이 소요될 것으로 예상됩니다. 안내를 시작할까요?"를 TTS와 텍스트로 출력할 수 있는 대화 응답을 생성할 수 있다.The dialogue response generator 132 retrieves the response template 149 to generate a TTS response and a text response. For example, you can create a dialog response that can be printed out in TTS and text, "It is estimated that it will take 30 minutes from Uiwang Station to Exit 4 of Seoul Station. Shall we start the guidance?"

응답 생성 관리기(131)는 대화 응답 생성기(132)가 생성한 TTS 응답과 텍스트 응답을 출력 관리기(133)와 메모리 관리기(135)에 전달하고, 출력 관리기(133)는 TTS응답을 스피커(232)에 전송하고 텍스트 응답을 디스플레이(231)에 전송한다. 이 때, 출력 관리기(133)는 텍스트를 음성으로 합성하는 TTS모듈을 거쳐 TTS응답을 스피커(232)로 전송할 수 있다. The response generation manager 131 transmits the TTS response and the text response generated by the dialogue response generator 132 to the output manager 133 and the memory manager 135 , and the output manager 133 transmits the TTS response to the speaker 232 . and transmits a text response to the display 231 . In this case, the output manager 133 may transmit a TTS response to the speaker 232 through a TTS module that synthesizes text into voice.

메모리 관리기(135)는 사용자가 길 안내를 요청했음을 단기 메모리(144) 또는 장기 메모리(143)에 저장할 수 있다. The memory manager 135 may store in the short-term memory 144 or the long-term memory 143 that the user has requested directions.

디스플레이(231)와 스피커(232)를 통해 "의왕역에서 서울역4번 출구까지 30분이 소요될 것으로 예상됩니다. 안내를 시작할까요?"라고 묻는 대화 응답이 출력된다. 도 36에 도시된 바와 같이, 사용자가 "그래"라고 발화하면, 사용자의 발화는 음성 인식기(111a)로 입력되어 [텍스트: 그래]로 출력되고, 자연어 이해기(111b)는 사용자의 발화로부터 [도메인:-], [액션:-], [화행: -], [형태소 분석 결과: 그래/IC]를 출력한다.Through the display 231 and the speaker 232, a dialogue response asking “It is expected that it will take 30 minutes from Uiwang Station to Exit 4 of Seoul Station. Shall we start the guidance?” is output. As shown in FIG. 36 , when the user utters "yes", the user's utterance is input to the voice recognizer 111a and output as [text: yes], and the natural language understander 111b receives [ Domain:-], [Action:-], [Dialogue act: -], [Result of morphological analysis: Yes/IC] are output.

자연어 이해 결과는 대화 입력 관리기(111c)로 전달되고, 대화 입력 관리기(111c)는 이를 대화 관리기(120)에 전달한다.The natural language understanding result is transmitted to the dialogue input manager 111c, and the dialogue input manager 111c transmits it to the dialogue manager 120.

도 37을 참조하면, 대화 흐름 관리기(121)는 대화/액션 상태 DB를 검색하여 이전 대화 상태를 분석하고, 진행 중인 [길 안내] 관련 대화/액션을 업데이트하도록 대화 액션 관리기(122)에 요청한다. Referring to FIG. 37 , the dialog flow manager 121 searches the dialog/action state DB, analyzes the previous dialog state, and requests the dialog action manager 122 to update the ongoing [direction]-related dialog/action. .

대화 액션 관리기(122)는 대화 상태와 액션 상태를 [상태: 길 안내 시작]으로 업데이트한다. The dialog action manager 122 updates the dialog state and the action state to [Status: Guidance start].

대화 흐름 관리기(121)는 결과 처리기(130)에 길 안내 시작을 위한 응답 생성을 요청한다. The conversation flow manager 121 requests the result processor 130 to generate a response for starting the route guidance.

도 38을 참조하면, 대화 액션 관리기(122)는 대화 상태를 [상태: 다음 대화 진행]으로 업데이트하고, 액션 상태를 [상태: execute]로 업데이트한다.Referring to FIG. 38 , the dialog action manager 122 updates the dialog state to [Status: Next dialog progress] and updates the action state to [Status: execute].

대화 흐름 관리기(121)는 응답 생성 관리기(131)에 길 안내를 위한 응답 생성을 요청한다. The conversation flow manager 121 requests the response generation manager 131 to generate a response for guidance.

응답 생성기(132)는 "길 안내를 시작합니다"를 TTS와 텍스트로 출력할 수 있는 대화 응답을 생성하여 응답 생성 관리기(131)에 전달할 수 있다.The response generator 132 may generate a dialogue response capable of outputting "start guidance" in TTS and text, and transmit it to the response generation manager 131 .

명령어 생성기(136)는 길 안내를 수행하기 위한 명령어 [대상: 내비게이션, 명령: 길안내, 목적지: 서울역 4번 출구, 출발지: 의왕역]를 생성하여 응답 생성 관리기(131)에 전달할 수 있다. The command generator 136 may generate a command [target: navigation, command: route guidance, destination: Seoul Station Exit 4, departure point: Uiwang Station] for performing route guidance and transmit it to the response generation manager 131 .

응답 생성 관리기(131)는 생성된 대화 응답과 명령어를 출력 관리기(133)에 전달한다. 출력 관리기(133)는 디스플레이(231) 및 스피커(232)를 통해 대화 응답을 출력하고, 길안내 명령어는 제어부(240)를 통해 차량(200)의AVN(230)에 전송하거나 내비게이션 서비스를 제공하는 외부 컨텐츠 서버(300)에 전송할 수 있다. The response generation manager 131 transmits the generated dialogue response and the command to the output manager 133 . The output manager 133 outputs a dialogue response through the display 231 and the speaker 232 , and the navigation command is transmitted to the AVN 230 of the vehicle 200 through the control unit 240 or provides a navigation service. It can be transmitted to the external content server 300 .

도 39를 참조하면, 대화 흐름 관리기(121)는 다음으로 실행 가능한 액션으로 주유소 추천을 선택하고, 주유소 추천 여부를 사용자에게 문의하는 응답을 생성하도록 응답 생성 관리기(131)에 요청한다. Referring to FIG. 39 , the conversation flow manager 121 selects a gas station recommendation as the next actionable action, and requests the response generation manager 131 to generate a response that inquires the user about whether to recommend a gas station.

대화 상태와 액션 상태는 [상태: 연계 서비스 추천 확인]으로 업데이트될 수 있다. 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 response generation manager 131 requests the dialogue response generator 132 to generate a TTS response and a text response, and the dialogue response generator 132 says, "There is not enough fuel to travel to the destination. Shall we add A Oil gas station as a stopover? It is possible to generate a dialogue response capable of outputting " as TTS and text and deliver it to the response generation manager 131 .

응답 생성 관리기(131)는 대화 응답 생성기(132)가 생성한 TTS 응답과 텍스트 응답을 출력 관리기(133)와 메모리 관리기(135)에 전달하고, 출력 관리기(133)는 TTS응답을 스피커(232)에 전송하고 텍스트 응답을 디스플레이(231)에 전송한다. The response generation manager 131 transmits the TTS response and the text response generated by the dialogue response generator 132 to the output manager 133 and the memory manager 135 , and the output manager 133 transmits the TTS response to the speaker 232 . and transmits a text response to the display 231 .

디스플레이(231)와 스피커(232)를 통해 "목적지까지 이동하기 위한 연료가 부족합니다. 경유지로 A오일 주유소 추가할까요?"라고 묻는 대화 응답이 출력된다. 도 40에 도시된 바와 같이, 사용자가 "아니"라고 발화하면, 사용자의 발화는 음성 인식기(111a)로 입력되어 [텍스트: 아니]로 출력되고, 자연어 이해기(111b)는 사용자의 발화로부터 [도메인:-], [액션:-], [화행: -], [형태소 분석 결과: 아니/IC]를 출력한다.Through the display 231 and the speaker 232, a dialogue response asking “There is not enough fuel to move to the destination. Would you like to add oil A gas station as a stopover?” is output. As shown in FIG. 40 , when the user utters “no”, the user's utterance is input to the voice recognizer 111a and output as [text: no], and the natural language understander 111b receives [ Domain:-], [action:-], [dialog act: -], [result of morphological analysis: no/IC] are output.

대화 흐름 관리기(121)는 대화 액션 관리기(122)에 대화 상태 및 액션 상태의 업데이트를 요청한다. The conversation flow manager 121 requests the conversation action manager 122 to update the conversation state and the action state.

대화 액션 관리기(122)는 대화 상태를 [상태: 다음 대화 진행]으로 업데이트하고, 액션 상태를 [상태: CANCEL]로 업데이트할 수 있다. The dialog action manager 122 may update the dialog state to [Status: Next dialog progress] and update the action state to [Status: CANCEL].

대화 흐름 관리기(121)는 응답 생성 관리기(131)에 주유소 추천 서비스를 취소했다는 응답을 생성하도록 요청하고, 다음으로 진행 가능한 대화가 있는지 확인한다. 더 진행 가능한 대화가 없으면, 대화 상태를 [상태: IDLE]로 업데이트하고, 사용자의 입력을 기다린다. The conversation flow manager 121 requests the response generation manager 131 to generate a response indicating that the gas station recommendation service has been canceled, and checks whether there is a next available conversation. If there are no further conversations available, update the conversation state to [Status: IDLE] and wait for user input.

앞서 설명한 데이터 처리의 흐름은 대화 시스템(100)에 적용되는 일 예시에 불과하다. 따라서, 대화 시스템(100)의 각 구성요소들이 데이터를 처리하는 순서가 전술한 예시에 한정되는 것은 아니며, 복수의 구성요소들이 동시에 데이터를 처리하는 것도 가능하고, 전술한 예시와 다른 순서로 처리하는 것도 가능하다. The flow of data processing described above is only an example applied to the dialog system 100 . Accordingly, the order in which each component of the dialog system 100 processes data is not limited to the above example, and it is also possible for a plurality of components to simultaneously process data, and to process data in a different order from the above example. It is also possible

이하, 일 실시예에 따른 대화 처리 방법에 대해 설명한다. 일 실시예에 따른 대화 처리 방법에는 전술한 대화 시스템(100) 또는 이를 포함하는 차량(200)이 적용될 수 있다. 따라서, 도 1 내지 도 40에 대한 설명은 일 실시예에 따른 대화 처리 방법에 대해서도 동일하게 적용될 수 있다. Hereinafter, a conversation processing method according to an embodiment will be described. The dialog system 100 or the vehicle 200 including the same may be applied to the dialog processing method according to an embodiment. Accordingly, the description of FIGS. 1 to 40 may be equally applied to the conversation processing method according to an embodiment.

도 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 input processor 110 of the dialog system 100 .

도 41을 참조하면, 사용자의 발화가 입력되면(500의 예), 음성 인식기(111a)가 입력된 사용자의 발화를 인식한다(510). 사용자의 발화는 차량(200)에 마련된 음성 입력 장치(210) 또는 모바일 기기(400)에 마련된 음성 입력 장치(410)를 통해 입력될 수 있다. Referring to FIG. 41 , when the user's utterance is input (Yes in 500), the voice recognizer 111a recognizes the inputted user's utterance (510). The user's utterance may be input through the voice input device 210 provided in the vehicle 200 or the voice input device 410 provided in the mobile device 400 .

음성 인식기(111a)는 입력된 사용자의 발화를 인식하여 텍스트 형태의 발화문으로 출력한다. The voice recognizer 111a recognizes the input of the user's utterance and outputs it as a utterance in the form of text.

자연어 이해기(111b)는 텍스트 형태의 발화문에 자연어 이해 기술을 적용하여(520), 그 결과를 출력한다.The natural language understander 111b applies the natural language understanding technology to the utterance in the text form ( 520 ), and outputs the result.

구체적으로, 자연어 이해(520) 과정은 텍스트 형태의 발화문에 기초하여 형태소 분석(521)을 수행하고, 형태소 분석 결과에 기초하여 도메인을 추출(522)하고, 개체명을 인식(523)하고, 화행을 분석(524)하고, 액션을 추출(525)하는 것을 포함할 수 있다. Specifically, in the natural language understanding 520 process, a morpheme analysis 521 is performed based on an utterance in a text form, a domain is extracted 522 based on the morpheme analysis result, an entity name is recognized 523, It may include analyzing (524) the dialogue act and extracting (525) the action.

도메인 추출, 개체명 인식 및 액션 추출을 위해 도메인/액션 추론 규칙DB(141)을 참조할 수 있다. The domain/action inference rule DB 141 may be referred to for domain extraction, entity name recognition, and action extraction.

자연어 이해기(111b)의 출력, 즉 자연어 이해 결과는 사용자의 발화에 대응되는 도메인, 액션, 화행, 형태소 분석 결과 등을 포함할 수 있다.The output of the natural language understander 111b, that is, the natural language understanding result, may include a domain corresponding to the user's utterance, an action, a dialogue act, a morpheme analysis result, and the like.

추출된 액션과 관련된 상황 정보를 검색한다(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 contextual understandr 112c searches for the extracted action-related contextual information from the contextual understanding table 145 , and information of the retrieved contextual information The value is retrieved from the context information DB 142 , the long-term memory 143 , or the short-term memory 144 .

추가 상황 정보가 필요한 경우(540의 예), 즉 상황 정보DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 가져올 수 없는 상황 정보가 있는 경우, 해당 상황 정보의 수집을 요청한다(550). 차량 상태 정보, 주변 환경 정보, 운전자 정보 등의 음성 외 입력은 사용자의 발화 입력과 독립적으로 상황 정보 수집기(111a)를 통해 입력될 수 있다. When additional context information is needed (Yes of 540), that is, when there is context information that cannot be retrieved from the context information DB 142, the long-term memory 143, or the short-term memory 144, the collection of the context information is requested ( 550). A non-voice input such as vehicle state information, surrounding environment information, and driver information may be input through the context information collector 111a independently of the user's speech input.

이러한 정보들은 주기적으로 입력될 수도 있고, 특정 이벤트 발생 시에 입력될 수도 있으며, 주기적으로 입력되다가 특정 이벤트 발생 시에 추가적으로 더 입력될 수도 있다. 어느 경우이던지 정보의 수집이 요청되면 능동적으로 해당 정보를 수집할 수 있다. 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 either case, if the collection of information 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 context information DB 142, the long-term memory 143, or the short-term memory 144, otherwise, the context information collector 111a collect that information through

상황 정보의 수집을 요청 받은 상황 정보 수집기(111a)가 해당 상황 정보를 수집하여 상황 정보 DB(142)에 저장하면, 상황 이해기(112c)는 상황 정보 DB(142)로부터 해당 상황 정보를 가져올 수 있다.When the contextual information collector 111a requested to collect contextual information collects the corresponding contextual information and stores it in the contextual information DB 142 , the contextual understandr 112c may retrieve the corresponding contextual information from the contextual information DB 142 . have.

한편, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(112c)에 액션 트리거 신호를 전송할 수 있다. Meanwhile, the contextual information collection manager 112b may transmit an action trigger signal to the contextual understandingr 112c when it is determined that a specific event has occurred because the data collected by the contextual information collector 112a satisfies a preset condition.

상황 이해기(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 information collection manager 112b again do.

필요한 상황 정보의 수집이 완료되면, 자연어 이해 결과와 상황 정보를 대화 관리기(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 conversation manager 120 of the conversation system 100 .

도 42를 참조하면, 대화 흐름 관리기(121)가 대화/액션 상태 DB(147)에 관련 대화 이력이 있는지 검색한다(600).Referring to FIG. 42 , the conversation flow manager 121 searches for a related conversation history in the conversation/action state DB 147 ( 600 ).

당해 예시에서는 사용자의 발화로부터 도메인과 액션을 추출할 수 있는 경우를 예로 들어 설명하나, 발화 내용 자체나 상황이 모호하여 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우도 있을 수 있다. 이 경우, 대화 액션 관리기(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. However, 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 dialog action manager 122 generates an arbitrary dialog state, and the ambiguity resolver 123 recognizes the user's intention based on the user's utterance content, surrounding situation, vehicle state, user information, etc. Appropriate action can be determined.

관련 대화 이력이 존재하면(600의 예) 이를 참조하고(690), 존재하지 않으면(600의 아니오), 새로운 대화 태스크 및 액션 태스크를 생성한다(610). If the related conversation history exists (Yes of 600), it is referred to (690), and if it does not exist (No of 600), a new conversation task and an action task are created (610).

연관 액션 DB(146b)에서 사용자 발화로부터 추출된 액션(이하, 입력 액션이라 한다)과 연관된 연관 액션 목록을 검색하여 후보 액션 목록을 생성한다(620).입력 액션 및 이와 연관된 액션들이 후보 액션 목록이 된다.A candidate action list is generated by searching the related action list associated with the action extracted from the user's utterance (hereinafter, referred to as input action) in the related action DB 146b ( 620 ). do.

액션 수행조건 DB(146c)에서 후보 액션 별 수행 조건을 검색한다(620). 수행 조건은 액션을 수행하기 위해 필요한 조건으로서, 해당 조건이 만족되면 액션 수행이 가능한 것으로 판단하고, 만족되지 않으면 액션 수행이 불가한 것으로 판단한다. 액션 수행조건DB(146c)에는 액션 수행 조건 판단에 사용되는 인자의 종류에 대한 정보도 함께 저장된다.An execution condition for each candidate action is searched for in the action execution condition DB 146c (620). The execution condition is a condition necessary to perform the action. If the corresponding condition is satisfied, it is determined that the action can be performed, and if the condition is not satisfied, it is determined that the action cannot be performed. The action execution condition DB 146c also stores information on the type of factor used to determine the action execution condition.

액션 수행 조건 판단에 사용되는 인자 값을 획득한다(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. A factor value of the condition determination factor may be obtained by searching the context information DB 142 , the long-term memory 143 , the short-term memory 144 , or the conversation/action state DB 147 . When the factor value of the condition determination factor is to be provided through an external service, the required factor value may be provided from the external content server 300 through the external information manager 126 .

또한, 상황이나 발화가 모호하여 필요한 인자 값을 획득할 수 없는 경우에는 모호성 해결기(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 ambiguity resolver 230 .

또한, 획득된 인자가 액션 수행 조건 판단에 사용되기 어려운 비유효 인자인 경우에도 모호성 해결기(230)가 비유효 인자로부터 유효 인자를 획득할 수 있다. Also, even when the obtained factor is an invalid factor that is difficult to be used for determining an action execution condition, the ambiguity resolver 230 may acquire a valid factor from the invalid factor.

획득된 조건 판단 인자에 기초하여 후보 액션 별로 수행 가부를 판단하고(650), 후보 액션들의 우선 순위를 결정한다(660). 후보 액션들의 우선 순위를 결정하는 규칙은 미리 저장될 수 있다. 액션 우선순위 결정기(125)는 액션 수행 가부가 판단된 이후에 액션 수행이 가능한 후보 액션들만 고려하여 우선 순위를 결정할 수 있다. 또는, 액션들의 수행 가부에 상관없이 우선 순위를 결정한 이후에, 액션 수행 가부에 기초하여 우선 순위를 조절할 수도 있다.Based on the obtained condition determination factors, it is determined whether each candidate action can be performed ( 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 action prioritization determiner 125 may determine the priority in consideration of only candidate actions capable of performing the action after it is determined whether the action can be performed. Alternatively, after determining the priority regardless of whether the actions are performed or not, the priority may be adjusted based on whether the actions are performed.

액션 인자 DB(146a)에서 후보 액션의 수행에 사용되는 인자 목록을 검색한다(670). 액션의 수행에 사용되는 인자는 액션 인자라 하기로 한다. 액션 인자는 필수 인자와 선택 인자를 포함할 수 있다.A list of factors used to perform a candidate action is retrieved from the action factor DB 146a ( 670 ). An argument used to perform an action is referred to as an action argument. Action factors may include mandatory and optional factors.

후보 액션의 수행에 사용되는 액션 인자의 인자 값을 획득한다(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 context information DB 142 , the long-term memory 143 , the short-term memory 144 , or the conversation/action state DB 147 . When the factor value of the action factor is to be provided through an external service, the required factor value may be provided from the external content server 300 through the external information manager 126 .

또한, 상황이나 발화가 모호하여 필요한 인자 값을 획득할 수 없는 경우에는 모호성 해결기(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 ambiguity resolver 230 .

또한, 획득된 인자가 액션의 수행에 사용되기 어려운 비유효 인자인 경우에도 모호성 해결기(230)가 비유효 인자로부터 유효 인자를 획득할 수 있다.Also, even when the obtained factor is an invalid factor that is difficult to be used for performing an action, the ambiguity resolver 230 may obtain a valid factor from the invalid factor.

대화 액션 관리기(122)에 의해 관리되는 대화 상태 및 액션 상태는 전술한 단계들이 수행되면서 상태가 변경될 때마다 업데이트될 수 있다. The dialog state and action state managed by the dialog action manager 122 may be updated whenever the state is changed while the above-described steps are performed.

획득 가능한 인자 값들이 모두 획득되면 대화 흐름 관리기(121)가 결과 처리기(130)에 후보 액션에 관한 정보와 대화 상태를 전달한다. 대화 정책에 따라 1순위에 해당하는 액션에 관한 정보만 전달하는 것도 가능하고, 복수의 후보 액션에 관한 정보를 전달하는 것도 가능하다.When all obtainable factor values are obtained, the conversation flow manager 121 transmits information about the candidate action and the conversation state to the result processor 130 . According to the dialogue policy, it is possible to deliver only information about the action corresponding to the first priority, and it is also possible to deliver information about a plurality of candidate actions.

한편, 필요한 인자 값이 외부 컨텐츠 서버(300), 장기 메모리(143), 단기 메모리(144) 및 상황 정보 DB(142)에 존재하지 않고, 사용자를 통해서만 획득될 수 있는 경우에는 사용자에게 인자 값을 질의하기 위한 대화 응답을 출력하는 것도 가능하다.On the other hand, when the required factor value does not exist in the external content server 300, the long-term memory 143, the short-term memory 144, and the context information DB 142, and can be obtained only through the user, the factor value is provided to the user. It is also possible to output dialog responses for querying.

도 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 result processor 130 of the dialog system 100 .

도 43을 참조하면, 대화 응답의 생성이 필요한 경우(700의 예), 대화 응답 생성기(132)가 응답 템플릿(149)을 검색한다(710). 응답 템플릿(149)에서 현재 대화 상태와 액션 상태에 대응되는 대화 응답 서식을 추출하고, 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다(720). Referring to FIG. 43 , when generation of a dialog response is required (YES in 700 ), the dialog response generator 132 searches for a response template 149 ( 710 ). A dialog response format corresponding to the current dialog state and action state is extracted from the response template 149, and a dialog response is generated by filling factor values necessary for the dialog response format (720).

대화 응답 생성에 필요한 인자 값이 대화 관리기(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 dialog manager 120 or an instruction to use external content is delivered, it is provided from the external content server 300 or long-term memory 143, short-term memory 144, or It can be searched in the context information DB 142 . When the required factor value does not exist in the external content server 300, the long-term memory 143, the short-term memory 144, and the context information DB 142, and can only be obtained through the user, query the user for the factor value It is also possible to create a dialog response for

명령어 생성이 필요한 경우(760)에는, 명령어 생성기(136)가 차량 제어 또는 외부 컨텐츠 이용을 위한 명령어를 생성한다(770). When it is necessary to generate a command ( 760 ), the command generator 136 generates a command for vehicle control or external content use ( 770 ).

생성된 대화 응답 또는 명령어는 출력 관리기(133)로 입력되고, 출력 관리기(133)는 대화 응답과 명령어 사이의 출력 순서 또는 복수의 명령어 사이의 출력 순서를 결정할 수 있다(730).The generated dialogue response or command is input to the output manager 133 , and the output manager 133 may determine an output order between the dialogue response and the command or an output order between a plurality of commands ( 730 ).

생성된 대화 응답 또는 명령어에 기초하여 메모리를 업데이트한다(740). 메모리 관리기(135)는 생성 및 출력된 대화 응답에 기초하여 사용자와 시스템 간 대화 내용을 저장하여 단기 메모리(144)를 업데이트할 수 있고, 사용자와의 대화를 통해 획득된 사용자 관련 정보를 저장하여 장기 메모리(143)를 업데이트할 수 있다. 또한, 생성 및 출력된 차량 제어나 외부 컨텐츠 요청에 기초하여 장기 메모리(143)에 저장된 사용자의 선호도나 차량 제어 이력 등을 업데이트할 수 있다.The memory is updated based on the generated dialog response or command ( 740 ). The memory manager 135 may update the short-term memory 144 by storing the conversation content between the user and the system based on the generated and output dialog response, and store user-related information obtained through the conversation with the user to store the long-term The memory 143 may be updated. In addition, based on the generated and output vehicle control or external content request, the user's preference or vehicle control history stored in the long-term memory 143 may be updated.

출력 관리기(133)는 대화 응답과 명령어를 적절한 출력 위치로 전송하여 응답을 출력한다(750). TTS 응답은 스피커(232)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(231)를 통해 출력할 수 있다. 명령어는 그 제어 대상에 따라 차량 제어기(240)로 전송될 수도 있고, 외부 컨텐츠 서버(300)로 전송될 수도 있으며, 외부 컨텐츠 서버(300)와 통신하기 위한 통신 장치(280)로 전송될 수도 있다.The output manager 133 outputs the response by sending the dialog response and the command to an appropriate output location (750). The TTS response may be output through the speaker 232 , and the text response may be output through the display 231 . The command may be transmitted to the vehicle controller 240, the external content server 300, or the communication device 280 for communicating with the external content server 300 according to the control target. .

일 실시예에 따른 대화 처리 방법은 전술한 순서도 상의 순서에 의해 제한되지 않는다. 도 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 flowchart of FIGS. 41 to 43 is only an example applicable to the conversation processing method, and a plurality of steps may be simultaneously performed, and the order of each step may be changed.

도 44는 다른 실시 예에 따른 차량의 구성도이고, 도 45는 도 44에 도시된 대화 시스템의 상세 구성도이다.44 is a configuration diagram of a vehicle according to another exemplary embodiment, and FIG. 45 is a detailed configuration diagram of the dialogue system shown in FIG. 44 .

다른 실시 예에 따른 차량(1200)은 대화 시스템(1100)에 의해 인식된 음성이 알림 상황에 대응하는 음성이면 알림 상황에 대응하는 담당 기관의 서버(1300)에 알림 상황에 대한 상황 정보를 제공한다.When the voice recognized by the dialog system 1100 is a voice corresponding to the notification situation, the vehicle 1200 according to another embodiment provides situation information about the notification situation to the server 1300 of the agency in charge corresponding to the notification situation. .

여기서 알림 상황은, 갓길 운전, 보복 운전, 신호 위반 및 꼬리 물기와 같은 타 차량의 불법 행위 상황과, 타 차량의 사고 상황을 포함하고, 도로의 침수, 도로의 결빙, 도로 위에 낙하물과 같은 장애물이 존재하는 주의 상황을 더 포함할 수 있다. Here, the notification situation includes illegal behavior situations of other vehicles such as shoulder driving, retaliatory driving, signal violations and tail biting, and accident situations of other vehicles, and obstacles such as road flooding, icing on the road, and falling objects on the road Existing state conditions may be further included.

서버(1300)는 경찰청(112), 안전신고센터(119), 국토교통부, 교통 정보 센터의 서버 중 적어도 하나를 포함할 수 있다. The server 1300 may include at least one of the servers of the National Police Agency 112 , the safety report center 119 , the Ministry of Land, Infrastructure and Transport, and the traffic information center.

서버(1300)는 V2X 또는 V2V를 수행하기 위한 차량 통신용 서버, 차주의 모바일 기기가 가입된 이동 통신 사의 서버, 대화용 서버일 수 있다.The server 1300 may be a server for vehicle communication for performing V2X or V2V, a server of a mobile communication company to which the owner's mobile device is subscribed, and a server for conversation.

서버(1300)는 교통 사고에 대응하여 사고 처리를 수행하도록 하고, 불법 행위에 대한 징벌 처리를 수행하도록 한다.The server 1300 performs accident processing in response to a traffic accident, and punitive processing for illegal acts.

또한 서버(1300)는 V2X 또는 V2V를 통해 주변에 위치한 다른 차량에게 도로의 상황 정보를 제공하는 것도 가능하고, 모바일 기기를 통해 도로의 상황 정보가 출력되도록 하는 것도 가능하다.In addition, the server 1300 may provide road situation information to other vehicles located in the vicinity through V2X or V2V, and it is also possible to output road situation information through a mobile device.

도 44에 도시된 바와 같이 다른 실시 예에 따른 차량(1200)은 대화 시스템(1100), 음성 입력 장치(1210), 영상 입력 장치(1220), 출력 장치(1230), 제어기(1240) 및 통신장치(1280)를 포함한다.As shown in FIG. 44 , a vehicle 1200 according to another embodiment includes a conversation system 1100 , an audio input device 1210 , an image input device 1220 , an output device 1230 , a controller 1240 , and a communication device. (1280).

음성 입력 장치(1210)는 사용자의 발화 음성을 입력받을 수 있다. The voice input device 1210 may receive the user's spoken voice.

음성 입력 장치(1210)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰 또는 마이크로폰 어레이를 포함할 수 있다. The voice input device 1210 may include a microphone or a microphone array that receives sound, converts it into an electrical signal, and outputs it.

효과적인 음성의 입력을 위하여 음성 입력 장치(1210)는 도 2에 도시된 바와 같이 헤드라이닝(205)에 마련될 수 있으나, 차량(200)의 실시 예가 이에 한정되는 것은 아니며, 대시보드(201) 위에 마련되거나 스티어링 휠(207)에 마련되는 것도 가능하다. 이 외에도 사용자의 음성을 입력 받기에 적합한 위치이면 어디든 제한이 없다.For effective voice input, the voice input device 1210 may be provided on the headlining 205 as shown in FIG. 2 , but the embodiment of the vehicle 200 is not limited thereto. It is also possible to be provided or provided on the steering wheel (207). In addition to this, there is no limitation wherever it is suitable for receiving the user's voice input.

음성 입력 장치(1210)는 항시 동작 가능하거나, 시동 상태에서 동작 가능하며, 차량 내에 사용자가 존재하면 동작을 수행하는 것도 가능하다.The voice input device 1210 is always operable or operable in a starting state, and it is also possible to perform an operation when a user is present in the vehicle.

음성 입력 장치(1210)는 알림 모드일 때 사고, 불법 행위, 주의 등의 알림 상황에 대한 정보 수집과 정보 출력을 지시하기 위한 사용자의 명령과, 알림 상황과, 대화 시스템의 질의에 대한 답변과, 타 차량의 차량 번호를 음성으로 입력받을 수 있다.In the notification mode, the voice input device 1210 includes a user's command for instructing information collection and information output on notification situations such as accidents, illegal acts, caution, etc., and answers to notification situations and questions of the dialog system, The vehicle number of another vehicle can be input by voice.

영상 입력 장치(1220)는 도로 및 도로 주변을 촬영하고 촬영된 도로의 영상을 제어기(1240)에 전송한다.The image input device 1220 captures a road and its surroundings, and transmits the captured image of the road to the controller 1240 .

이러한 영상 입력 장치(1220)는 차량의 전방을 촬영하는 카메라 또는 이미지 센서를 포함할 수 있다.The image input device 1220 may include a camera or an image sensor for photographing the front of the vehicle.

여기서 카메라는 자율 주행을 위한 카메라, 블랙박스용 카메라, 장애물 감지를 위한 카메라, 후방용 카메라일 수도 있다.Here, the camera may be a camera for autonomous driving, a camera for a black box, a camera for detecting obstacles, or a rear camera.

영상 입력 장치(1220)는 차량의 전방 이외에도 차량의 후방 및 측방 중 적어도 하나의 방향의 도로를 촬영하는 것도 가능하다.In addition to the front of the vehicle, the image input device 1220 may also photograph a road in at least one of a rear and a side direction of the vehicle.

이러한 영상 입력장치(1220)는 회전 불가능한 하나의 카메라를 포함할 수 있고, 회전 불가능한 복수 개의 카메라를 포함할 수도 있으며, 회전 가능한 하나의 카메라를 포함하는 것도 가능하다.The image input device 1220 may include one non-rotatable camera, a plurality of non-rotatable cameras, or a single rotatable camera.

영상 입력 장치(1220)는 항시 동작 가능하거나, 시동 상태에서 동작 가능하며, 음성 인식을 통해 알림 상황이 발생되었다고 판단되면 동작을 수행하는 것도 가능하다.The image input device 1220 may be always operable or operable in a starting state, and may perform an operation when it is determined that a notification situation has occurred through voice recognition.

영상 입력 장치(1220)는 전력 공급부의 전력이 기준 전력 이상이면 항시 동작하는 것도 가능하다.The image input device 1220 may always operate when the power of the power supply is equal to or greater than the reference power.

차량(1200)은 음성 외에 사용자의 조작을 통해 명령을 입력 받는 입력 버튼(221, 223)과 조그 셔틀(225)을 더 포함할 수 있다(도2 참조). The vehicle 1200 may further include input buttons 221 and 223 and a jog shuttle 225 for receiving commands through a user's manipulation in addition to voice (refer to FIG. 2 ).

입력 버튼(221, 223)은 도로의 상황 정보를 외부로 알리기 위한 알림 모드의 온, 오프 동작을 입력받을 수 있다.The input buttons 221 and 223 may receive an on/off operation of the notification mode for informing the outside of road situation information.

알림 모드의 온, 오프 동작은 조그 셔틀(225)을 이용하여 입력받는 것도 가능하고 음성 입력 장치를 이용하여 음성으로 입력받는 것도 가능하다.The on/off operation of the notification mode may be input using the jog shuttle 225 or may be inputted by voice using a voice input device.

입력 버튼(221, 223)은 타 차량의 차량 번호를 입력받는 것도 가능하다.The input buttons 221 and 223 may also receive the vehicle number of another vehicle.

아울러 음성 입력 장치(1210)와 영상 입력 장치(1220))는 알림 모드 시 입력 정보들을 대화시스템(1100)에 직접 전송하는 것도 가능하다.In addition, the voice input device 1210 and the image input device 1220 may directly transmit input information to the chat system 1100 in the notification mode.

출력장치(1230)는 사용자에게 시각적, 청각적 또는 촉각적인 출력을 제공하는 장치로서, 차량(1200)에 마련된 디스플레이(1231) 및 스피커(1232)를 포함할 수 있다.The output device 1230 is a device that provides a visual, auditory, or tactile output to a user, and may include a display 1231 and a speaker 1232 provided in the vehicle 1200 .

출력장치(1230)는 대화 시스템(1100)에 마련된 디스플레이(1231) 및 스피커(1232)를 포함할 수 있다.The output device 1230 may include a display 1231 and a speaker 1232 provided in the conversation system 1100 .

디스플레이(1231) 및 스피커(1232)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다.The display 1231 and the speaker 1232 may visually or aurally output a response to a user's utterance, a query to the user, or information requested by the user.

디스플레이(1231)는 내비게이션 경로 안내를 위한 영상, 컨텐츠의 영상, 사용자가 원하는 정보나 서비스를 제공하기 위한 영상, 사용자의 발화에 대한 응답으로서 생성된 시스템 발화에 대응하는 텍스트 영상 등을 출력할 수 있다.The display 1231 may output an image for guiding a navigation route, an image of content, an image for providing information or service desired by a user, a text image corresponding to a system utterance generated as a response to the user's utterance, and the like. .

아울러 디스플레이(1231)는 알림 모드 시 상황 정보에 대응하는 영상을 스크린의 일부분에 표시할 수 있다.In addition, the display 1231 may display an image corresponding to the context information on a portion of the screen in the notification mode.

예를 들어, 내비게이션 경로 안내를 위한 영상 표시 중 알림 모드의 상황 정보를 표시해야 할 때, 디스플레이(1231)는 내비게이션 경로 안내를 위한 영상의 일부분을 제거하고 제거된 일부분의 스크린 영역에 알림 모드의 상황 정보에 대응하는 영상을 표시한다.For example, when it is necessary to display context information in the notification mode while displaying an image for guiding a navigation route, the display 1231 removes a portion of the image for guiding a navigation route and displays the status of the notification mode in the removed portion of the screen area Displays the image corresponding to the information.

스피커(1232)는 내비게이션 경로 안내를 위한 오디오, 컨텐츠의 오디오(음향 및 음성 포함), 사용자가 원하는 정보나 서비스를 제공하기 위한 음성, 사용자의 발화에 대한 응답으로서 생성된 대화 시스템의 음성 등을 출력할 수 있다.The speaker 1232 outputs audio for guiding a navigation route, audio of content (including sound and voice), a voice for providing information or service desired by a user, a voice of a dialog system generated as a response to a user's utterance, etc. can do.

아울러 스피커(1232)는 알림 모드 시 상황 정보에 대응하는 대화 시스템의 음성을 다른 오디오보다 우선적으로 출력할 수 있다.In addition, the speaker 1232 may preferentially output the voice of the dialog system corresponding to the context information over other audio in the notification mode.

예를 들어, 내비게이션 경로 안내를 위한 오디오 출력 중 대화 시스템(1100)에서 생성된 음성을 출력해야 할 때, 스피커(1232)는 내비게이션 경로 안내를 위한 오디오의 출력을 일시 정지시키고, 대화 시스템에서 생성된 음성을 출력한다.For example, when it is necessary to output the voice generated by the dialog system 1100 during audio output for navigation route guidance, the speaker 1232 pauses the audio output for navigation route guidance, and output the voice

또한, 출력장치(1230)는 스티어링 휠(207)에 마련된 진동기를 더 포함할 수 있고, 이 진동기를 통해 사용자의 발화에 대한 응답을 진동으로 출력하는 것도 가능하다.In addition, the output device 1230 may further include a vibrator provided on the steering wheel 207, and it is also possible to output a response to the user's utterance as vibration through the vibrator.

출력 장치(1230)는 알림 모드의 온, 오프 정보를 출력하는 것도 가능하다.The output device 1230 may also output on/off information of the notification mode.

또한 출력 장치(1230)는 알림 모드 시 타 차량의 차량 번호를 출력하는 것도 가능하고, 신고 센터 명을 출력하는 것도 가능하다.In addition, the output device 1230 may output the vehicle number of another vehicle in the notification mode, and it is also possible to output the name of the reporting center.

제어기(1240)는 대화 시스템(1100)에서 출력되는 출력 정보(예, 응답)에 따라, 사용자의 의도나 현재 상황에 대응되는 액션을 수행하기 위해 차량(1200)을 제어한다. The controller 1240 controls the vehicle 1200 to perform an action corresponding to a user's intention or a current situation according to output information (eg, a response) output from the dialogue system 1100 .

제어기(1240)는 대화 시스템(1100)과의 상호 간의 대화 정보에 따라 도로의 위험 상황, 불법 행위 상황, 사고 상황 등을 다른 사용자나 담당 기관이 알도록 하기 위한 알림 모드를 수행한다.The controller 1240 performs a notification mode for letting other users or agencies in charge know of a dangerous situation on a road, an illegal activity situation, an accident situation, etc. according to mutual conversation information with the conversation system 1100 .

이러한 제어기(1240)는 알림 모드를 항시 수행하는 것도 가능하고, 사용자의 온, 오프 동작의 입력에 따라 수행하는 것도 가능하다.The controller 1240 may always perform the notification mode, and may also perform according to the user's on/off operation input.

제어기(1240)는 알림 모드 시 음성 입력 장치(1210)의 음성 정보들을 대화시스템(1100)에 전송하고, 영상 입력 장치(1220)에서 전송된 영상 정보를 영상 처리하고, 영상 처리된 영상 정보를 저장한다.The controller 1240 transmits the voice information of the voice input device 1210 to the conversation system 1100 in the notification mode, processes the image information transmitted from the image input device 1220, and stores the image-processed image information do.

제어기(1240)는 영상 처리된 도로의 영상 정보를 저장 시에 촬영된 날짜 정보, 시간 정보 및 촬영된 도로의 위치 정보 중 적어도 하나와 매칭시켜 저장한다.The controller 1240 matches and stores the image information of the image-processed road with at least one of date information, time information, and location information of the photographed road when storing the image information.

제어기(1240)는 대화 시스템(110)의 처리 결과에 기초하여 알림 상황의 발생 여부를 판단할 수 있다.The controller 1240 may determine whether a notification situation has occurred based on the processing result of the conversation system 110 .

제어기(1240)는 알림 상황이 발생되면 알림 상황이 발생된 시점의 영상을 대화시스템(1100)에 전송하는 것도 가능하다.When a notification situation occurs, the controller 1240 may also transmit an image at the time the notification situation occurs to the chat system 1100 .

제어기(1240)는 음성 입력 장치(1210)에 알림 상황에 대응하는 음성이 입력된 시점을 확인하고 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하고 이전 시점과 이후 시점 사이의 영상 정보를 획득하고 획득된 영상 정보를 서버에 전송하도록 한다.The controller 1240 checks the time point at which a voice corresponding to the notification situation is input to the voice input device 1210, and determines when a previous time point before the first predetermined time and a second predetermined time have elapsed from the confirmed time point. After checking the time point, the image information between the previous time point and the subsequent time point is obtained, and the obtained image information is transmitted to the server.

제어기(1240)는 서버(1300)에 영상 정보 전송 시, 데이터 관리 상 필요한 속성에 관한 데이터인 메타 데이터를 매칭시키고 매칭된 정보를 전송한다.When the image information is transmitted to the server 1300 , the controller 1240 matches the metadata, which is data related to an attribute required for data management, and transmits the matched information.

여기서 메타 데이터는 영상이 촬영된 위치 정보, 날짜 정보, 시간 정보, 영상 내 다른 차량의 차량 번호, 도로의 상황 정보 중 적어도 하나를 포함할 수 있다.Here, the metadata may include at least one of location information at which the image was captured, date information, time information, vehicle numbers of other vehicles in the image, and road situation information.

즉 제어기(1240)는 알림 상황이 발생되면 영상 정보, 대화 시스템의 결과 정보, 날짜 정보, 시간 정보, 위치 정보 중 적어도 하나를 서버(1300)에 전송하도록 통신 장치(1280)를 제어한다.That is, when a notification situation occurs, the controller 1240 controls the communication device 1280 to transmit at least one of image information, result information of a conversation system, date information, time information, and location information to the server 1300 .

여기서 대화 시스템의 결과 정보는 담당 기관의 정보와, 교통 사고 및 불법 행위 등의 상황 정보 및 신고 여부를 포함할 수 있다. Here, the result information of the dialogue system may include information on the agency in charge, situation information such as traffic accidents and illegal acts, and whether or not to report them.

제어기(1240)는 알림 상황이 교통 사고 상황이면 저장된 영상의 영상 처리를 통해 교통 사고 차량의 차량 번호를 인식하고 인식된 차량 번호를 대화시스템(1100)에 전송하도록 할 수 있다.If the notification situation is a traffic accident situation, the controller 1240 may recognize the vehicle number of the traffic accident vehicle through image processing of the stored image and transmit the recognized vehicle number to the conversation system 1100 .

제어기(1240)는 대화 시스템(1100)의 처리 결과에 대응하는 결과 정보가 영상 및 음성 중 적어도 하나로 출력되도록 디스플레이(1231) 및 스피커(1232) 중 적어도 하나를 제어한다.The controller 1240 controls at least one of the display 1231 and the speaker 1232 so that result information corresponding to the processing result of the conversation system 1100 is outputted as at least one of an image and an audio.

제어기(1240)는 대화 시스템(1100)에서 출력되는 출력 정보 및 영상 정보에 기초하여 도로의 상황을 인식하는 것도 가능하다.The controller 1240 may also recognize the road condition based on the output information and the image information output from the dialogue system 1100 .

일 예로, 제어기(1240)는 대화 시스템(1100)에서 인식된 상황 정보가 불법 행위에 대한 상황이면 영상 정보에 기초하여 불법 행위의 상황이 꼬리 물기, 신호 위반, 갓길 운전 또는 보복 운전인지를 인식하고 인식된 불법 행위의 상황을 대화 시스템(1100)에 전송함으로써 대화 시스템(1100)에서 인식된 신고 상황에 대한 질의를 출력할 수 있도록 한다. For example, if the situation information recognized by the dialogue system 1100 is a situation for an illegal activity, the controller 1240 recognizes whether the situation of the illegal activity is tail biting, signal violation, shoulder driving or retaliatory driving based on the image information, and By transmitting the recognized illegal activity situation to the conversation system 1100 , the conversation system 1100 can output a query about the recognized reporting situation.

제어기(1240)는 영상 내 교차로 위치, 신호등의 색상, 차로의 위치, 다른 차량의 위치 및 차속에 기초하여 불법 행위를 인식할 수 있다.The controller 1240 may recognize the illegal activity based on the location of the intersection in the image, the color of the traffic light, the location of the lane, the location of another vehicle, and the speed of the vehicle.

다른 예로, 제어기(1240)는 대화 시스템(1100)에서 인식된 상황 정보가 주의 상황이면 영상 정보에 기초하여 주위 상황이 결빙, 침수 또는 장애물에 의한 주의 상황인지를 인식하고 인식된 주의 상황을 대화 시스템(1100)에 전송함으로써 대화 시스템(1100)에서 인식된 주의 상황에 대한 질의를 출력할 수 있도록 한다. As another example, if the situation information recognized by the dialogue system 1100 is an attention situation, the controller 1240 recognizes whether the surrounding situation is an attention situation due to icing, immersion, or an obstacle based on the image information, and sets the recognized attention situation to the dialogue system By transmitting to 1100 , it is possible to output a query about the attention situation recognized by the conversation system 1100 .

또 다른 예로 제어기(1240)는 도로의 영상 정보에 기초하여 도로의 장애물이 다른 차량인지를 인식하고 도로의 장애물이 다른 차량이면 교통 사고라고 판단하고, 도로의 장애물이 차량이 아니면 운전에 방해가 되는 물체라고 판단하는 것도 가능하며, 도로의 영상 정보에 기초하여 도로의 장애물이 위치하는 차로를 확인하고 도로의 장애물 정보 및 위치 정보를 대화 시스템(1100)에 전송함으로써, 대화 시스템(1100)에서 도로의 장애물에 대한 질의를 출력할 수 있도록 한다.As another example, the controller 1240 recognizes whether an obstacle on the road is another vehicle based on the image information of the road, determines that it is a traffic accident if the obstacle on the road is another vehicle, and if the obstacle on the road is not a vehicle, It is also possible to determine that the object is an object. Based on the image information of the road, by identifying the lane where the road obstacle is located, and transmitting the road obstacle information and location information to the dialogue system 1100, the dialogue system 1100 It allows you to output queries about obstacles.

제어기(1240)는 알림 상황이 발생되면 정밀한 도로의 영상 획득을 위해 자동으로 감속 제어를 수행하는 것도 가능하고, 자동으로 조향 제어를 수행하는 것도 가능하다.When a notification situation occurs, the controller 1240 may automatically perform deceleration control to acquire an image of a precise road, and it is also possible to automatically perform steering control.

제어기(1240)는 알림 상황이 발생되면 정밀한 도로의 영상 획득을 위해 감속 안내 정보 및 조향 안내 정보를 디스플레이(1231) 및 스피커(1232) 중 적어도 하나를 통해 출력하도록 하는 것도 가능하다.When a notification situation occurs, the controller 1240 may output deceleration guidance information and steering guidance information through at least one of the display 1231 and the speaker 1232 to obtain a precise image of the road.

제어기(1240)는 대화시스템(1100)을 통해 도로의 상황 정보를 음성으로 출력하도록 할 수 있다.The controller 1240 may output road situation information as voice through the dialogue system 1100 .

제어기(1240)는 다른 차량 또는 서버로부터 수신된 주변 도로의 영상 정보를 수신하고 주변 도로의 영상을 디스플레이를 통해 출력하도록 하는 것도 가능하다.The controller 1240 may receive the image information of the surrounding road received from another vehicle or server and output the image of the surrounding road through the display.

제어기(1240)는 다른 차량 또는 서버로부터 수신된 주변 도로의 상황 정보를 수신하고 주변의 도로 상황을 스피커(1232) 또는 디스플레이(1231)를 통해 출력하도록 하는 것도 가능하다.The controller 1240 may receive the surrounding road situation information received from another vehicle or server and output the surrounding road situation through the speaker 1232 or the display 1231 .

제어기(1240)는 전술한 동작과 후술하는 동작을 수행하기 위한 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행시키는 프로세서를 포함할 수 있다. 메모리와 프로세서는 각각 적어도 하나 마련될 수 있고, 복수 개 마련되는 경우에는 이들이 하나의 칩 상에 집적될 수도 있고 물리적으로 분리될 수도 있다.The controller 1240 may include a memory in which a program for performing the above-described operation and an operation to be described later is stored and a processor for executing the stored program. At least one memory and processor may be provided, respectively, and when a plurality of memory and processor are provided, they may be integrated on one chip or may be physically separated.

통신 장치(1280)는 제어기(1240) 및 서버(1300)와 통신을 수행한다.The communication device 1280 communicates with the controller 1240 and the server 1300 .

통신 장치(1280)는 차량의 현재 위치를 인식하기 위한 GPS 수신기를 포함할 수 있다.The communication device 1280 may include a GPS receiver for recognizing the current location of the vehicle.

이러한 통신 장치(1280)는 도로의 영상 촬영 시, GPS 수신기에서 수신된 현재 위치의 GPS 값을 제어기(1240)에 전달한다. The communication device 1280 transmits the GPS value of the current location received from the GPS receiver to the controller 1240 when capturing an image of the road.

통신 장치(1280)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈, 유선 통신 모듈 및 무선 통신 모듈을 포함할 수 있다.The communication device 1280 may include one or more communication modules that enable communication with an external device, and may include, for example, a short-range communication module, a wired communication module, and a wireless communication module.

근거리 통신 모듈은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 지그비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.The short-distance communication module transmits signals using a wireless communication network in a short distance such as a Bluetooth module, an infrared communication module, an RFID (Radio Frequency Identification) communication module, a WLAN (Wireless Local Access Network) communication module, an NFC communication module, and a Zigbee communication module. It may include at least one of various short-distance communication modules for transmitting and receiving.

유선 통신 모듈은 지역 통신(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 wired communication module includes various wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module or a Value Added Network (VAN) module, as well as a USB (Universal Serial Bus) module. , HDMI (High Definition Multimedia Interface), DVI (Digital Visual Interface), RS-232 (recommended standard232), power line communication, or POTS (plain old telephone service) may include at least one of various cable communication modules such as.

무선 통신 모듈은 와이파이(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 등 무선 통신 방식으로 인터넷망과 연결될 수 있는 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.In addition to the Wifi module and the Wireless broadband module, the wireless communication module includes Global System for Mobile Communication (GSM), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), and Universal Mobile Telecommunications System (UMTS). ), Time Division Multiple Access (TDMA), Long Term Evolution (LTE), 4G, 5G, and the like, and may include at least one of various wireless communication modules that can be connected to the Internet network.

한편, 통신 장치(1280)는 차량(1200) 내부의 전자 장치들 사이의 통신을 위한 내부 통신 모듈(미도시)을 더 포함할 수도 있다. 차량(200)의 내부 통신 프로토콜로는 CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등을 사용할 수 있다. Meanwhile, the communication device 1280 may further include an internal communication module (not shown) for communication between electronic devices inside the vehicle 1200 . As an internal communication protocol of the vehicle 200 , a controller area network (CAN), a local interconnection network (LIN), FlexRay, Ethernet, or the like may be used.

통신 장치(1280)는 V2X(Vehicle to Everything)을 수행할 수 있다.The communication device 1280 may perform Vehicle to Everything (V2X).

즉 통신 장치(1280)는 V2X(Vehicle to Everything)를 통해 영상 정보를 다른 차량에 전송하도록 할 수 있다.That is, the communication device 1280 may transmit image information to another vehicle through Vehicle to Everything (V2X).

V2X는 차량이 주행하면서 도로 인프라 및 다른 차량과 상호 통신하면서 교통 상황 등 각종 유용한 정보를 교환 및 공유하는 것을 의미한다. V2X refers to the exchange and sharing of various useful information such as traffic conditions while communicating with road infrastructure and other vehicles while the vehicle is driving.

V2X 통신은 차량과 인프라 간(V2I: Vehicle-to-Infrastructure, 이하 V2I) 통신, 차량 간(V2V: Vehicle to Vehicle), 차량과 모바일 기기 간(V2N: Vehicle-to-Nomadic devices) 통신을 포함할 수 있다. V2X communication includes 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. can

통신 장치(1280)는 V2X를 통해 다른 차량의 영상 정보를 수신하는 것도 가능하다.The communication device 1280 may also receive image information of another vehicle through V2X.

다른 차량의 영상 정보는 자 차량의 현재 위치와 인접한 도로의 상황에 대응하는 영상 정보일 수 있다.The image information of the other vehicle may be image information corresponding to the current location of the own vehicle and the condition of a road adjacent to the current location.

대화 시스템(1100)은 음성 입력 장치(1210)를 통해 입력된 사용자의 음성을 인식하여 사용자의 의도와 도로의 상황을 파악하고, 사용자의 의도에 대응되는 액션을 수행하기 위한 응답(즉 발화)을 출력한다.The dialog system 1100 recognizes the user's voice input through the voice input device 1210 to understand the user's intention and road conditions, and responds (ie, utterance) to perform an action corresponding to the user's intention. print out

여기서 사용자의 의도는, 사용자의 발화 의도로, 요청, 질의, 예/아니요 응답, 대화 시스템의 질의에 대한 구체적 응답일 수 있다.Here, the user's intention is the user's utterance intention, and may be a specific response to a request, a question, a yes/no response, or a query of a conversation system.

좀 더 구체적으로 대화 시스템(1100)은 음성 입력 장치(1210)에 입력된 사용자의 음성을 인식하고 인식된 음성 중 알림 상황에 대응하는 단어가 존재하는지 확인하고, 알림 상황에 대응하는 단어가 존재하면 알림 상황이 발생하였다고 판단하고, 확인된 단어가 알림 상황에 대응하는 단어인지 확인하기 위한 질의를 수행한다. In more detail, the dialog system 1100 recognizes the user's voice input to the voice input device 1210, checks whether a word corresponding to the notification situation exists among the recognized voices, and if there is a word corresponding to the notification situation, It is determined that a notification situation has occurred, and a query is performed to check whether the confirmed word is a word corresponding to the notification situation.

대화 시스템(1100)은 알림 상황이 발생하면 알림 상황에 대한 상황 정보를 획득하기 위해 사용자와의 대화를 수행한다.When a notification situation occurs, the conversation system 1100 performs a conversation with the user to obtain situation information about the notification situation.

즉 대화 시스템(1100)은 알림 상황이 발생되면 음성 입력 장치(1210)에 입력된 음성을 인식하고 인식된 음성에 대응한 질의를 수행하는 과정을 반복할 수 있다.That is, when a notification situation occurs, the dialog system 1100 may repeat the process of recognizing the voice input to the voice input device 1210 and performing a query corresponding to the recognized voice.

일 예로, 대화 시스템(1100)은 알림 상황이 발생하면 교통 사고의 상황인지, 불법 행위의 상황인지를 질의하고, 질의에 대한 응답의 음성이 인식되면 인식된 음성에 기초하여 사용자의 응답을 확인하고, 발생된 알림 상황에 대한 추가 정보를 질의한다.For example, when a notification situation occurs, the dialog system 1100 inquires whether a traffic accident situation or an illegal activity situation, and when a voice in response to the inquiry is recognized, the user's response is confirmed based on the recognized voice, , query for additional information about the alert status that has occurred.

다른 예로, 대화 시스템(1100)은 사용자의 음성에 기초하여 발생된 알림 상황을 판단하고, 판단된 알림 상황이 교통 사고의 상황이 맞는지, 불법 행위의 상황이 맞는지, 이를 확인하기 위한 질의를 수행한다.As another example, the dialog system 1100 determines a notification situation generated based on the user's voice, and performs a query to confirm whether the determined notification situation is a traffic accident situation or an illegal action situation. .

또 다른 예로, 대화 시스템(1100)은 교통 사고나 불법 행위 발생 시 인식된 차량의 차량 번호를 사용자에게 확인하기 위한 발화를 출력하는 것도 가능하고, 차량 번호가 인식되지 않았을 때 차량 번호 입력을 위한 요청 발화를 출력하는 것도 가능하다.As another example, the dialogue system 1100 may output an utterance for confirming the vehicle number of the recognized vehicle to the user when a traffic accident or illegal act occurs, and a request for vehicle number input when the vehicle number is not recognized It is also possible to output utterances.

또 다른 예로, 대화 시스템(1100)은 알림 상황에 대응하는 담당 기관을 확인하고 확인된 담당 기관이 맞는지를 질의하는 것도 가능하다.As another example, the dialog system 1100 may check a responsible agency corresponding to the notification situation and inquire whether the confirmed agency is correct.

또 다른 예로, 대화 시스템(1100)은 주의 상황 발생 시 도로의 장애물이 무엇인지를 질의하는 것도 가능하고, 장애물이 위치하는 도로의 차로를 질의하는 것도 가능하다.As another example, the dialogue system 1100 may inquire about what obstacles on the road are when an attention situation occurs, and it is also possible to inquire about the lanes of the road where the obstacles are located.

대화 시스템(1100)은 제어기(1240)를 이용하여 알림 상황에 대한 상황 정보를 획득하도록 알림 상황의 발생 정보를 제어기(1240)에 전송하는 것도 가능하다.It is also possible for the dialog system 1100 to transmit the occurrence information of the notification situation to the controller 1240 so as to obtain the situation information about the notification situation by using the controller 1240 .

아울러 대화 시스템(1100)에서 알림 상황을 판단하고, 알림 상황이 발생된 시점의 영상 정보를 제어기(1240)로부터 리드하는 것도 가능하다.In addition, it is also possible to determine the notification situation in the conversation system 1100 and read image information at the time the notification situation occurs from the controller 1240 .

대화 시스템(1100)은 알림 상황이 발생된 시점의 영상 정보, 도로의 위치 정보, 날짜정보, 시간 정보를 제어기(1240)로부터 수신하는 것도 가능하다.The dialog system 1100 may also receive image information, road location information, date information, and time information at the time the notification situation occurs, from the controller 1240 .

대화 시스템(1100)은 제어기(1240)로부터 교통 사고 또는 불법 행위의 차량의 차량 번호를 전송받는 것도 가능하고, 사용자의 음성에 의해 인식된 차량 번호를 상황 정보와 함께 제어기(1240)에 전송하는 것도 가능하며, 상황 정보에 대응하는 담당 기관을 확인하고 확인된 담당 기관의 서버로 정보들을 전송하는 것도 가능하다.The dialogue system 1100 is also capable of receiving the vehicle number of the vehicle of a traffic accident or illegal activity from the controller 1240, and transmitting the vehicle number recognized by the user's voice to the controller 1240 together with context information It is possible, and it is also possible to check the authority in charge corresponding to the situation information and transmit the information to the server of the confirmed authority in charge.

이와 같이 대화 시스템(1100)은 입력 정보의 처리, 입력 정보의 처리 결과를 바탕으로 한 대화 처리 및 대화 처리 결과에 기초한 결과 처리를 수행할 수 있다. As described above, the dialog system 1100 may perform input information processing, dialog processing based on a processing result of input information, and result processing based on a dialog processing result.

대화 시스템(1100)은 입력 정보의 처리, 대화 관리 또는 결과 처리에 있어 필요한 정보나 컨텐츠를 대화 서버(미도시)로부터 가져올 수 있다.The conversation system 1100 may obtain information or content necessary for processing input information, conversation management, or result processing from a conversation server (not shown).

도 45에 도시된 바와 같이, 대화 시스템(1100)은 사용자의 음성을 처리하는 입력 처리기(1110)와, 입력 처리기(1110)의 처리 결과를 이용하여 사용자의 의도를 파악하고, 사용자의 의도(예, 신고 또는 정보 제공)나 도로의 상황에 대응되는 액션을 결정하는 대화 관리기(1120)와, 대화 관리기(1120)의 출력 결과에 따라 특정 서비스를 제공하거나 대화를 계속 이어 나가기 위한 발화를 출력하는 결과 처리기(1130) 및 대화 시스템(1100)의 동작에 필요한 각종 정보를 저장하는 저장부(1140)를 포함한다.45 , the conversation system 1100 uses an input processor 1110 that processes a user's voice and a processing result of the input processor 1110 to determine the user's intention, and the user's intention (eg, , reporting or providing information) or a result of outputting utterances to provide a specific service or continue a conversation according to the output result of the dialog manager 1120 and the dialog manager 1120 for determining an action corresponding to the road situation The processor 1130 and the storage unit 1140 for storing various types of information necessary for the operation of the dialog system 1100 are included.

입력 처리기(1110)는 사용자의 음성을 수신할 수 있다. The input processor 1110 may receive a user's voice.

여기서 사용자는 운전자와 동승자 등의 모든 탑승자를 모두 포함할 수 있다.Here, the user may include all passengers, such as a driver and a passenger.

입력 처리기(1110)는 입력된 사용자의 음성을 인식하여 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 기술을 적용하여 사용자의 의도를 파악한다. The input processor 1110 recognizes the input of the user's voice, converts it into a text-type utterance, and applies a natural language understanding technology to the user's utterance to understand the user's intention.

또한, 입력 처리기(1110)는 자연어 이해를 통해 파악한 사용자의 의도와 상황에 관련된 정보 등을 대화 관리기(1120)로 전달한다.In addition, the input processor 1110 transmits information related to the user's intention and situation identified through natural language understanding to the conversation manager 1120 .

음성 입력 처리기(1110)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 출력하는 음성 인식기(1111)와, 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악하는 자연어 이해기(1112) 및 자연어 이해 결과와 상황 정보를 대화 관리기(1120)로 전달하는 대화 입력 관리기(1113)를 포함할 수 있다. The voice input processor 1110 includes a voice recognizer 1111 that recognizes the input user's voice and outputs it as a text-type utterance, and a user who applies natural language understanding to the utterance to contain the utterance. It may include a natural language interpreter 1112 for understanding the intention of , and a dialog input manager 1113 for transmitting the natural language understanding result and context information to the dialog manager 1120 .

음성 입력 처리기(1110)의 자세한 구성은 도 18의 설명과 동일하여 설명을 생략하도록 한다.A detailed configuration of the voice input processor 1110 is the same as that of FIG. 18 , so a description thereof will be omitted.

대화 관리기(1120)는 입력 처리기(1110)로부터 전달된 사용자의 의도, 상황 정보 등에 기초하여 사용자의 의도와 현재 상황에 대응되는 액션을 결정하고, 해당 액션을 수행하기 위해 필요한 인자들을 관리한다. The conversation manager 1120 determines an action corresponding to the user's intention and the current situation based on the user's intention and context information transmitted from the input processor 1110 , and manages factors necessary to perform the corresponding action.

여기서 액션은, 정보 확인 및 질의에 대한 발화 및 서버로의 정보 전송 등을 포함할 수 있다.Here, the action may include utterance for information confirmation and query, and information transmission to the server.

대화 관리기(1120)는 결정된 액션에 관한 정보를 결과 처리기(1130)로 전달한다.The conversation manager 1120 transmits information about the determined action to the result processor 1130 .

결과 처리기(1130)는 전달된 액션을 수행하기 위해 필요한 대화 응답 및 명령어를 생성하여 출력한다. 대화 응답은 텍스트, 이미지 또는 오디오로 출력될 수 있고, 명령어가 출력되면 출력된 명령어에 대응되는 차량의 주행 제어, 제어기로의 정보 전송 동작 등이 수행될 수 있다.The result processor 1130 generates and outputs a dialog response and a command necessary to perform the delivered action. The dialogue response may be output as text, image, or audio, and when the command is output, driving control of the vehicle corresponding to the output command, information transmission operation to the controller, etc. may be performed.

아울러 결과 처리기(1130)는 서버(1300)로 정보를 직접 전송하는 것도 가능하다.In addition, the result processor 1130 may directly transmit information to the server 1300 .

저장부(1140)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다. 예를 들어, 자연어 이해에 사용되는 도메인, 액션, 화행, 개체명과 관련된 정보를 미리 저장할 수 있고, 입력된 정보로부터 상황을 이해하기 위해 사용되는 상황 이해 테이블을 저장할 수도 있으며, 차량에 마련된 센서가 감지한 데이터, 사용자와 관련된 정보, 액션 수행을 위해 필요한 정보를 미리 저장할 수도 있다. The storage unit 1140 stores various types of information required for conversation processing and service provision. For example, information related to a domain, action, dialogue act, and entity name used for understanding natural language may be stored in advance, a situation understanding table used to understand a situation from input information may be stored, and a sensor provided in the vehicle may detect One data, information related to the user, and information necessary to perform an action may be stored in advance.

이와 같이, 대화 시스템(1100)은 미리 획득한 정보를 이용하여 사용자가 발화하지 않은 내용까지 고려함으로써, 사용자의 실제 의도를 파악하고 그에 대응되는 정보를 선제적으로 제공할 수 있다. 이를 통해 사용자가 원하는 서비스를 제공하기까지의 대화 단계와 시간을 단축할 수 있다.In this way, the dialog system 1100 may recognize the user's actual intention and preemptively provide information corresponding thereto by considering the content that the user has not uttered using the previously acquired information. Through this, it is possible to shorten the conversation step and time until the user provides the desired service.

전술한 바와 같이, 대화 시스템(1100)은 차량의 환경에 특화된 대화 처리 기술을 제공한다. As described above, the dialogue system 1100 provides a dialogue processing technology specialized for the environment of the vehicle.

대화 시스템(1100)의 구성요소가 전부 차량에 포함될 수도 있고, 일부만 포함될 수도 있다. 대화 시스템(1100)은 원격에 위치한 대화 서버에 마련되고 차량은 대화 시스템(1100)과 사용자 사이의 게이트웨이의 역할만 수행할 수도 있다. All of the components of the conversation system 1100 may be included in the vehicle, or only some of the components may be included. The chat system 1100 may be provided in a chat server located remotely, and the vehicle may only serve as a gateway between the chat system 1100 and the user.

어느 경우이던지, 대화 시스템(1100)은 차량 또는 차량과 연결된 모바일 기기를 통해 사용자와 연결될 수 있다. In either case, the conversation system 1100 may be connected to the user through a vehicle or a mobile device connected to the vehicle.

도 46은 또 다른 실시 예에 따른 차량의 구성도이고, 도 47은 도 46에 도시된 차량 내 대화 시스템의 상세 구성도이다.46 is a configuration diagram of a vehicle according to another embodiment, and FIG. 47 is a detailed configuration diagram of the in-vehicle conversation system shown in FIG. 46 .

도 46에 도시된 바와 같이 또 다른 실시 예의 차량은, 도 44에 도시된 다른 실시 예의 차량과 같이 대화 시스템(1100a), 음성 입력 장치(1210), 영상 입력 장치(1220), 출력 장치(1230), 제어기(1240a) 및 통신장치(1280a)를 포함할 수 있다.As shown in FIG. 46 , the vehicle of another embodiment, like the vehicle of the other embodiment shown in FIG. 44 , a conversation system 1100a, a voice input device 1210 , an image input device 1220 , and an output device 1230 . , a controller 1240a and a communication device 1280a may be included.

또 다른 실시 예의 차량의 음성 입력 장치(1210), 영상 입력 장치(1220) 및 출력 장치(1230)는 도 44에 도시된 다른 실시 예의 차량의 음성 입력 장치(1210), 영상 입력 장치(1220) 및 출력 장치(1230)와 동일하여 설명을 생략한다.The vehicle voice input device 1210 , the image input device 1220 , and the output device 1230 according to another embodiment include the vehicle voice input device 1210 , the image input device 1220 and the As it is the same as that of the output device 1230 , a description thereof will be omitted.

통신 장치(1280a)는 차량의 현재 위치를 인식하기 위한 GPS 수신기를 포함할 수 있다.The communication device 1280a may include a GPS receiver for recognizing the current location of the vehicle.

통신 장치(1280a)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈, 유선 통신 모듈 및 무선 통신 모듈을 포함할 수 있다.The communication device 1280a may include one or more communication modules that enable communication with an external device, and may include, for example, a short-range communication module, a wired communication module, and a wireless communication module.

통신 장치(1280a)는 차량(1200a) 내부의 전자 장치들 사이의 통신을 위한 내부 통신 모듈(미도시)을 더 포함할 수도 있다. 차량(200)의 내부 통신 프로토콜로는 CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등을 사용할 수 있다. The communication device 1280a may further include an internal communication module (not shown) for communication between electronic devices inside the vehicle 1200a. As an internal communication protocol of the vehicle 200 , a controller area network (CAN), a local interconnection network (LIN), FlexRay, Ethernet, or the like may be used.

통신 장치(1280a)는 V2X(Vehicle to Everything)을 수행할 수 있다.The communication device 1280a may perform Vehicle to Everything (V2X).

제어기(1240a)는 알림 모드 시 음성 입력 장치(1210)와 영상 입력 장치(1220))에서 전송된 입력 정보들을 대화시스템(1100)에 전송한다.The controller 1240a transmits input information transmitted from the voice input device 1210 and the image input device 1220) to the conversation system 1100 in the notification mode.

제어기(1240a)는 영상 처리된 도로의 영상 정보를 저장 시에 촬영된 날짜 정보, 시간 정보 및 촬영된 도로의 위치 정보 중 적어도 하나와 함께 저장할 수 있고, 대화시스템의 요청에 따라 저장된 영상 정보, 위치 정보, 날짜 정보, 시간 정보를 대화시스템에 전송한다.The controller 1240a may store the image information of the image-processed road together with at least one of date information, time information, and location information of the photographed road when storing the image information, and the stored image information and location according to the request of the conversation system. Sends information, date information, and time information to the chat system.

제어기(1240a)는 대화 시스템(1100)에서 출력되는 출력 정보(예, 응답)에 따라, 사용자의 의도나 현재 상황에 대응되는 액션을 수행하기 위해 차량(1200)을 제어한다.The controller 1240a controls the vehicle 1200 to perform an action corresponding to a user's intention or a current situation according to output information (eg, a response) output from the dialog system 1100 .

제어기(1240a)는 알림 상황이 발생되면 정밀한 도로의 영상 획득을 위해 자동으로 감속 제어를 수행하는 것도 가능하고, 자동으로 조향 제어를 수행하는 것도 가능하다.When a notification situation occurs, the controller 1240a may automatically perform deceleration control to acquire an image of a precise road, and it is also possible to automatically perform steering control.

제어기(1240a)는 알림 상황이 발생되면 정밀한 도로의 영상 획득을 위해 감속 안내 정보 및 조향 안내 정보를 디스플레이(1231) 및 스피커(1232) 중 적어도 하나를 통해 출력하도록 하는 것도 가능하다.When a notification situation occurs, the controller 1240a may output deceleration guidance information and steering guidance information through at least one of the display 1231 and the speaker 1232 to obtain a precise image of the road.

제어기(1240a)는 다른 차량 또는 서버로부터 수신된 주변 도로의 영상 정보를 수신하고 주변 도로의 영상을 디스플레이를 통해 출력하도록 하는 것도 가능하다.The controller 1240a may receive image information of the surrounding road received from another vehicle or server and output the image of the surrounding road through a display.

제어기(1240a)는 다른 차량 또는 서버로부터 수신된 주변 도로의 영상 정보를 수신하고 수신된 영상 정보에 대응하는 주변 도로의 상황을 스피커(1232) 또는 디스플레이(1231)를 통해 출력하도록 하는 것도 가능하다.It is also possible for the controller 1240a to receive the image information of the surrounding road received from another vehicle or server and output the condition of the surrounding road corresponding to the received image information through the speaker 1232 or the display 1231 .

대화 시스템(1100a)은 음성 입력 장치(1210)에 입력된 사용자의 음성과 영상 입력 장치(1220)에 입력된 영상을 수신하고 수신된 영상을 저장한다.The conversation system 1100a receives the user's voice inputted to the voice input device 1210 and the image inputted to the image input device 1220 , and stores the received image.

대화 시스템(1100a)은 음성이 입력된 시간 정보, 영상이 촬영된 날짜와 시간 정보, 영상이 촬영된 위치 정보를 함께 저장할 수 있다.The conversation system 1100a may store information about the time when a voice is input, information on the date and time the image was captured, and information about the location at which the image was captured.

여기서 영상이 촬영된 위치 정보는 제어기(1240a)로부터 제공받을 수 있다.Here, the location information at which the image was captured may be provided from the controller 1240a.

음성이 입력된 시간 정보, 영상이 촬영된 날짜와 시간 정보는 대화 시스템 내의 타이머(미도시)로부터 제공받을 수 있다.Information on time at which a voice is input and information on a date and time at which an image is captured may be provided from a timer (not shown) in the conversation system.

아울러 음성이 입력된 시간 정보, 영상이 촬영된 날짜와 시간 정보 또한 제어기(1240a)로부터 제공받는 것도 가능하다.In addition, it is also possible to receive information on the time at which the voice is input, and the date and time information at which the image was captured, from the controller 1240a.

대화 시스템(1100a)은 음성 입력 장치(1210)에 입력된 사용자의 음성을 인식하고 인식된 음성 중 알림 상황에 대응하는 단어가 존재하는지 확인하고, 알림 상황에 대응하는 단어가 존재하면 알림 상황이 발생하였다고 판단하고, 확인된 단어가 알림 상황에 대응하는 단어인지 확인하기 위한 질의를 수행한다. The dialog system 1100a recognizes the user's voice input to the voice input device 1210, checks whether a word corresponding to the notification situation exists among the recognized voices, and when a word corresponding to the notification situation exists, a notification situation occurs It is determined that it has been done, and a query is performed to check whether the confirmed word is a word corresponding to the notification situation.

대화 시스템(1100a)은 알림 상황이 발생하면 알림 상황에 대한 상황 정보를 획득하기 위해 사용자와의 대화를 수행한다.When a notification situation occurs, the conversation system 1100a performs a conversation with the user to obtain situation information about the notification situation.

즉 대화 시스템(1100a)은 알림 상황이 발생되면 음성 입력 장치(1210)에 입력된 음성을 인식하고 인식된 음성에 대응한 질의를 수행하는 과정을 반복할 수 있다.That is, when a notification situation occurs, the conversation system 1100a may repeat the process of recognizing the voice input to the voice input device 1210 and performing a query corresponding to the recognized voice.

대화 시스템(1100a)은 알림 상황의 발생 정보를 제어기(1240a)에 전송하는 것도 가능하다.The conversation system 1100a may transmit information on the occurrence of a notification situation to the controller 1240a.

대화 시스템(1100a)은 알림 상황이 발생되면 상황 정보에 대응하는 담당 기관을 확인하고 확인된 담당 기관의 서버(1300)로 상황 정보와 저장된 영상을 서버(1300)에 전송한다.When a notification situation occurs, the dialog system 1100a checks an institution in charge corresponding to the context information, and transmits the context information and the stored image to the server 1300 to the server 1300 of the confirmed institution in charge.

여기서 상황 정보는, 교통 사고 상황, 불법 행위 상황을 포함하고, 주의 상황을 더 포함하는 것도 가능하다.Here, the situation information includes a traffic accident situation, an illegal activity situation, and may further include a state situation.

좀 더 구체적으로 대화 시스템(1100a)은 서버(1300)에 영상 전송 시, 음성 입력 장치(1210)에 알림 상황에 대응하는 음성이 입력된 시점을 확인하고 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하고, 저장된 영상 중 이전 시점과 이후 시점 사이에 촬영된 영상을 획득하고 획득된 영상과 상황 정보를 서버(1300)에 전송한다.In more detail, when transmitting an image to the server 1300 , the conversation system 1100a checks a time point at which a voice corresponding to a notification situation is input to the voice input device 1210 , and transfers the confirmed time point before the first predetermined time Check the time point and the time point after the second predetermined time has elapsed from the confirmed time point, acquire the image taken between the previous time point and the later time point among the stored images, and transmit the obtained image and situation information to the server 1300 .

여기서 제1일정시간과 제2일정시간은 서로 동일할 수도 있고, 서로 상이할 수 있다.Here, the first predetermined time and the second predetermined time may be the same as or different from each other.

제1일정시간과 제2일정시간은 60초일 수도 있다.The first predetermined time and the second predetermined time may be 60 seconds.

대화 시스템(1100a)은 획득된 영상의 정보에 기초하여 교통 사고 또는 불법 행위의 차량의 차량 번호를 인식하고, 확인된 담당 기관의 서버(1300)로 차량 번호를 더 전송할 수 있다.The conversation system 1100a may recognize the vehicle number of the vehicle of the traffic accident or illegal act based on the obtained image information, and further transmit the vehicle number to the server 1300 of the verified agency.

대화 시스템(1100a)은 영상 전송 시, 획득된 영상이 촬영된 날짜와 시간을 확인하고, 획득된 영상 내 도로의 위치를 확인하며, 날짜, 시간, 위치를 함께 서버(1300)에 전송한다.When transmitting an image, the conversation system 1100a confirms the date and time that the acquired image was captured, confirms the location of the road in the acquired image, and transmits the date, time, and location together to the server 1300 .

대화 시스템(1100a)은 처리 결과가 영상 및 음성 중 적어도 하나로 출력되도록 대화 시스템의 출력 장치(1150)를 통해 출력되도록 출력 장치(1150)를 제어한다.The dialogue system 1100a controls the output device 1150 to output the processing result through the output device 1150 of the dialogue system so that the processing result is output as at least one of an image and an audio.

대화 시스템(1100a)은 획득된 영상의 정보와 상황 정보에 기초하여 도로의 상황을 인식하는 것도 가능하다.The dialogue system 1100a may also recognize the situation of the road based on the obtained image information and situation information.

대화 시스템(1100a)은 획득된 영상 정보에 기초하여 교통 사고 또는 불법 행위의 차량의 차량 번호를 인식하는 것도 가능하고, 인식된 차량 번호를 상황 정보와 함께 제어기(1240)에 전송하는 것도 가능하며, 상황 정보에 대응하는 담당 기관을 확인하고 확인된 담당 기관의 서버로 정보들을 전송하는 것도 가능하다.The dialogue system 1100a is also capable of recognizing the vehicle number of a vehicle in a traffic accident or illegal activity based on the obtained image information, and it is also possible to transmit the recognized vehicle number to the controller 1240 together with the situation information, It is also possible to check the authority in charge corresponding to the context information and transmit the information to the server of the confirmed authority in charge.

대화 시스템(1100a)은 획득된 영상 내 교차로 위치, 신호등의 색상, 차로의 위치, 획득된 영상 내 다른 차량의 위치 및 다른 차량의 속도에 기초하여 불법 행위를 인식할 수 있다.The dialog system 1100a may recognize the illegal activity based on the location of the intersection in the acquired image, the color of traffic lights, the position of the lane, the position of another vehicle in the acquired image, and the speed of the other vehicle.

도 47에 도시된 바와 같이, 대화 시스템(1100a)은 사용자의 음성을 처리하는 음성 입력 처리기(1110a)와, 도로의 영상을 영상 처리하는 영상 입력 처리기(1110b)와, 음성 입력 처리기(1110a)의 처리 결과를 이용하여 사용자의 의도를 파악하고, 사용자의 의도(예, 신고 또는 정보 제공)나 도로의 상황에 대응되는 액션을 결정하는 대화 관리기(1120a)와, 영상 처리된 영상을 저장하고 영상 입력 처리기(1110b)의 처리 결과를 이용하여 도로의 상황을 판단하는 영상 관리기(1120b)와, 대화 관리기(1120a)와 영상 관리기(1120b)의 출력 결과에 따라 특정 서비스를 제공하거나 대화를 계속 이어 나가기 위한 발화를 출력하는 결과 처리기(1130a) 및 대화 시스템(1100a)의 동작에 필요한 각종 정보를 저장하는 저장부(1140a)를 포함한다.As shown in FIG. 47 , the dialogue system 1100a includes an audio input processor 1110a that processes a user's voice, an image input processor 1110b that processes an image of a road, and an audio input processor 1110a. A dialog manager 1120a that identifies the user's intention using the processing result and determines an action corresponding to the user's intention (eg, report or information provision) or road conditions, and stores the processed image and input the image The image manager 1120b that determines the condition of the road by using the processing result of the processor 1110b, and the video manager 1120a and the video manager 1120b to provide a specific service or to continue the conversation according to the output results of the It includes a result processor 1130a for outputting utterances and a storage unit 1140a for storing various types of information required for the operation of the dialogue system 1100a.

음성 입력 처리기(1110a)의 자세한 구성은 도 18의 설명과 동일하여 설명을 생략하도록 한다. A detailed configuration of the voice input processor 1110a is the same as that of FIG. 18 , so a description thereof will be omitted.

대화 시스템(1100a)은 출력 장치(1150)와 통신 장치(1160)를 더 포함할 수 있다.The conversation system 1100a may further include an output device 1150 and a communication device 1160 .

출력장치(1150)는 대화 시스템(1100)에 마련된 디스플레이(1151) 및 스피커(1152)를 포함할 수 있다.The output device 1150 may include a display 1151 and a speaker 1152 provided in the conversation system 1100 .

디스플레이(1151) 및 스피커(1152)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다.The display 1151 and the speaker 1152 may visually or aurally output a response to a user's utterance, a query to the user, or information requested by the user.

스피커(1152)는 내비게이션 경로 안내를 위한 오디오, 컨텐츠의 오디오(음향 및 음성 포함), 사용자가 원하는 정보나 서비스를 제공하기 위한 음성, 사용자의 발화에 대한 응답으로서 생성된 대화 시스템의 음성 등을 출력할 수 있다.The speaker 1152 outputs audio for guiding a navigation route, audio of content (including sound and voice), a voice for providing information or service desired by a user, a voice of a dialogue system generated as a response to a user's utterance, etc. can do.

이러한 스피커(1152)는 알림 모드 시 상황 정보에 대응하는 대화 시스템의 음성을 차량의 스피커(1232)의 오디오보다 우선적으로 출력할 수 있다.In the notification mode, the speaker 1152 may preferentially output the voice of the dialogue system corresponding to the situation information over the audio of the speaker 1232 of the vehicle.

대화 시스템(1100a)의 출력 장치(1150)는 생략 가능하다.The output device 1150 of the dialogue system 1100a may be omitted.

통신 장치(1160)는 서버(1300)와 통신을 수행하고 취합된 상황 정보, 영상, 시간, 날짜, 위치의 정보를 서버(1300)에 전송한다.The communication device 1160 communicates with the server 1300 and transmits the collected situation information, image, time, date, and location information to the server 1300 .

통신 장치(1160)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈, 유선 통신 모듈 및 무선 통신 모듈을 포함할 수 있다.The communication device 1160 may include one or more communication modules that enable communication with an external device, and may include, for example, a short-range communication module, a wired communication module, and a wireless communication module.

도 48은 또 다른 실시 예에 따른 차량의 대화 시스템의 제어 방법의 순서도이다. 이를 도 49 내지 도 53을 참조하여 설명한다.48 is a flowchart of a method for controlling a conversation system of a vehicle according to another exemplary embodiment. This will be described with reference to FIGS. 49 to 53 .

도 49 내지 도 53은 또 다른 실시 예에 따른 차량의 대화 시스템과 사용자와의 대화 예시도이다.49 to 53 are diagrams illustrating conversations between a vehicle conversation system and a user according to another embodiment.

대화 시스템은 음성 입력 장치와 영상 입력 장치의 동작이 온된 상태이면 영상 입력 장치를 이용하여 차량의 주변 영상을 촬영하고 촬영된 영상을 저장하면서 차량 내 사용자의 음성이 입력되는지를 판단한다.When the operation of the voice input device and the image input device is turned on, the conversation system determines whether the user's voice is inputted while photographing an image around the vehicle using the image input device and storing the captured image.

여기서 음성 입력 장치와 영상 입력 장치의 동작이 온된 상태는, 알림 모드가 온된 상태, 차량의 시동이 온된 상태, 차량의 배터리의 충전량이 기준 충전량 이상인 상태 중 어느 하나일 수 있다. Here, the state in which the operation of the voice input device and the image input device are turned on may be one of a state in which a notification mode is turned on, a state in which the vehicle is started, and a state in which the charge amount of the vehicle's battery is equal to or greater than the reference charge amount.

촬영된 영상은 차량의 제어기에 저장되는 것도 가능하다.The captured image may be stored in the vehicle's controller.

대화 시스템은 사용자의 음성이 입력되었다고 판단되면 입력된 음성을 인식(1171)한다.When it is determined that the user's voice is input, the conversation system recognizes the input voice ( 1171 ).

대화 시스템은 인식된 음성을 텍스트 형태의 발화문으로 출력하고, 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도와 도로의 상황을 판단한다.The dialog system outputs the recognized voice as a text-type utterance, and applies natural language understanding technology to determine the user's intention and the road situation contained in the utterance.

대화 시스템은 입력된 음성이 도로의 상황을 알리기 위한 알림 음성이라고 판단(1172)되면 알림 상황에 대한 발화였는지를 사용자에게 질의하는 상황 질의를 출력(1173)한다. When it is determined ( 1172 ) that the input voice is a notification voice for notifying the road condition, the conversation system outputs a situation query to inquire whether the user is uttered about the notification situation ( 1173 ).

대화 시스템은 상황 질의에 대한 음성이 입력되면 입력된 응답 음성을 인식(1174)한다. When a voice for a situational query is input, the dialog system recognizes the input response voice ( 1174 ).

즉 대화시스템은 상황 질의가 출력된 시점부터 미리 설정된 시간 내에 음성이 입력되면 상황 질의에 대한 응답 음성이라고 판단할 수 있다.That is, when a voice is input within a preset time from the time the situation query is output, the dialogue system may determine that it is a voice response to the situation inquiry.

대화 시스템은 인식된 응답 음성을 텍스트 형태의 발화문으로 출력하고, 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도와 알림 상황을 판단한다.The dialog system outputs the recognized response voice as a utterance in the form of text, and applies natural language understanding technology to determine the user's intention and notification situation contained in the utterance.

대화 시스템은 판단된 알림 상황이 교통 사고에 대응하는 사고 알림 음성인지 판단(1175)하고 교통 사고에 대응하는 사고 알림 음성이라고 판단되면 교통 사고가 발생한 도로의 영상을 획득(1176)한다. The dialogue system determines whether the determined notification situation is an accident notification voice corresponding to a traffic accident (1175), and when it is determined that the determined notification situation is an accident notification voice corresponding to a traffic accident, acquires (1176) an image of the road where the traffic accident occurs.

여기서 교통 사고가 발생한 도로의 영상을 획득하는 것은, 차량의 제어기에 저장된 영상 또는 대화 시스템에 저장된 영상 중 사용자가 교통 사고를 목격한 시점의 영상을 획득하는 것을 포함할 수 있다.Here, acquiring the image of the road on which the traffic accident occurred may include acquiring an image at the point in time when the user witnessed the traffic accident among images stored in a vehicle controller or images stored in a conversation system.

즉 도로의 영상 획득은 저장된 영상을 편집하는 것으로, 알림 음성이 입력된 시점에 기초하여 영상을 획득하는 것을 포함한다.That is, acquiring an image of a road is editing a stored image, and includes acquiring an image based on a time point at which a notification voice is input.

좀 더 구체적으로, 대화 시스템은 알림 음성이 입력된 시점을 확인하고 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하며, 전체 영상 중 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득한다.More specifically, the dialogue system checks the time point at which the notification voice is input and confirms the time point before the first predetermined time as the confirmed time point and the time point after the second predetermined time has elapsed from the confirmed time point, and the entire video Only images captured between the time before and after the time when the notification voice is input are acquired.

대화 시스템은 획득된 영상 내 도로의 위치 정보를 확인하고, 획득된 영상이 촬영된 시간과 날짜를 확인한다.The dialogue system confirms the location information of the road in the acquired image, and confirms the time and date when the acquired image was taken.

다음 대화 시스템은 획득된 영상 내 교통 사고 차량의 차량 번호를 인식(1177)하고, 차량 번호 인식에 성공하였는지를 판단(1178)한다.Next, the dialog system recognizes (1177) the license plate number of the vehicle in the traffic accident in the acquired image, and determines whether the vehicle number recognition is successful (1178).

대화 시스템은 차량 번호 인식에 성공하였다고 판단되면 사용자에게 교통 사고 인식된 차량의 차량 번호를 확인하기 위한 확인 질의를 출력한다.When it is determined that the vehicle number recognition is successful, the dialogue system outputs a confirmation query for confirming the vehicle number of the vehicle recognized in the traffic accident to the user.

대화 시스템은 확인 질의에 대한 응답 음성이 입력되면 입력된 응답 음성을 인식한다. When the voice response to the confirmation query is input, the conversation system recognizes the input response voice.

대화 시스템은 인식된 응답 음성을 텍스트 형태의 발화문으로 출력하고, 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 차량 번호의 일치 여부를 판단한다.The dialog system outputs the recognized response voice as a utterance in text form, and applies Natural Language Understanding technology to determine whether the vehicle number contained in the utterance matches or not.

즉, 대화 시스템은 입력된 응답음성으로부터 실제 교통 사고 차량의 차량번호와 영상 처리를 통해 인식된 차량 번호의 일치 여부를 판단한다.That is, the dialogue system determines whether the vehicle number of the actual traffic accident vehicle matches the vehicle number recognized through image processing from the input response voice.

대화 시스템은 인식된 응답 음성에 기초하여 차량번호가 일치한다고 판단되면 교통 사고 처리를 담당하는 담당 기관을 확인하고 확인된 담당 기관의 서버에 교통 사고의 상황 정보와 함께 영상의 정보를 전송한다.When it is determined that the vehicle number matches based on the recognized response voice, the dialogue system checks the authority in charge of handling traffic accidents, and transmits the information of the video along with the situation information of the traffic accident to the server of the confirmed authority in charge.

대화 시스템은 영상의 정보 전송 시 영상이 촬영된 날짜, 시간, 위치에 대한 정보들을 취합(1179)하고 취합된 정보를 서버에 전송(1180)한다.The conversation system collects ( 1179 ) information on the date, time, and location of the image when transmitting the information of the image, and transmits the collected information to the server ( 1180 ).

도 49에 도시된 바와 같이, 대화 시스템은 사용자에 의해 '신고해'라는 알림 음성이 입력되었다고 판단되면 사용자가 알리고자 하는 상황이 어떤 상황인지를 질의한다.As shown in FIG. 49 , when it is determined that a notification voice of 'Report' is input by the user, the conversation system inquires about the situation the user wants to notify.

즉 대화 시스템은 '교통 사고인가요? 불법 행위인지인가요?' 질의를 출력하고, 사용자에 의해 '교통사고'라는 사고 알림 음성이 입력되었다고 판단되면 '신고해'라는 음성이 입력된 시점의 영상을 획득하고 획득된 영상 내 사고 차량의 차량 번호를 인식한다.In other words, the dialogue system is 'Is it a car accident? Is it illegal?' If a query is output and it is determined that an accident notification voice of 'traffic accident' is input by the user, an image at the time the voice 'report' is input is obtained and the vehicle number of the accident vehicle in the acquired image is recognized.

대화 시스템은 인식된 차량 번호가 맞는지 확인하기 위한 '차량 번호가 oooo인가요?'라는 질의를 출력한다.The dialog system outputs the query 'Is the vehicle number oooo?' to check whether the recognized vehicle number is correct.

대화 시스템은 질의에 대한 응답으로 '응'이라는 음성이 입력되었다고 판단되면 교통 사고를 담당하는 담당 기관을 확인하고, 상황정보(즉, 교통 사고), 차량 번호, 획득된 도로의 영상, 교통 사고의 영상이 촬영된 날짜, 시간 및 위치의 정보를 확인된 담당 기관의 서버에 전송한다.When it is determined that the voice of 'Yes' is input in response to the inquiry, the dialogue system checks the agency in charge of the traffic accident, situation information (i.e., traffic accident), vehicle number, obtained road video, and traffic accident information. The information on the date, time, and location of the video is transmitted to the server of the confirmed agency.

여기서 담당기관은 경찰청(112), 안전신고센터(119)일 수 있다.Here, the responsible authority may be the National Police Agency (112) and the Safety Report Center (119).

대화 시스템은 정보 전송이 완료되면 '교통사고 신고를 완료하였습니다.'라는 신고 안내 발화를 출력한다.When the information transmission is completed, the dialog system outputs a report guide utterance, 'Traffic accident report has been completed.'

아울러 대화 시스템은 교통 사고 상황이라고 판단되면 부상자가 있는지의 부상자 질의를 출력하는 것도 가능하다. 이에 따라 대화 시스템은 부상자의 존재 여부에 따라 안전신고센터(119)의 서버에 정보의 전송을 제어할 수 있다.In addition, when it is determined that the dialogue system is in a traffic accident situation, it is possible to output an injured person query as to whether there are any injuries. Accordingly, the dialogue system can control the transmission of information to the server of the safety report center 119 according to the presence of an injured person.

만약 대화 시스템은 차량 번호 인식에 실패하면 사용자에게 교통 사고 차량의 차량 번호를 질의한다.If the dialog system fails to recognize the vehicle number, it queries the user for the vehicle number of the traffic accident vehicle.

대화 시스템은 차량 번호 질의에 대한 응답 음성이 입력되면 입력된 응답 음성을 인식(1181)한다. When the voice response to the vehicle number query is input, the dialog system recognizes the input response voice (1181).

대화 시스템은 인식된 응답 음성을 텍스트 형태의 발화문으로 출력하고, 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 차량 번호를 확인한다.The dialogue system outputs the recognized response voice as a utterance in text form, and applies Natural Language Understanding technology to confirm the vehicle number contained in the utterance.

대화 시스템은 차량번호가 확인되면 사고 처리를 담당하는 담당 기관을 확인하고 확인된 담당 기관의 서버에 전송(1180)한다.When the vehicle number is confirmed, the dialogue system checks the agency in charge of handling the accident and transmits it to the server of the confirmed agency in charge (1180).

즉 대화 시스템은 교통 사고의 상황 정보와 함께 영상의 정보를 서버에 전송한다.That is, the dialogue system transmits the information of the image along with the situation information of the traffic accident to the server.

대화 시스템은 영상의 정보 전송 시 영상이 촬영된 날짜, 시간, 위치에 대한 정보들을 취합(1179)하고 취합된 정보를 서버에 전송(1180)한다.The conversation system collects ( 1179 ) information on the date, time, and location of the image when transmitting the information of the image, and transmits the collected information to the server ( 1180 ).

도 50에 도시된 바와 같이, 대화 시스템은 사용자에 의해 '신고해'라는 알림 음성이 입력되었다고 판단되면 사용자가 알리고자 하는 상황이 어떤 상황인지를 질의한다.As shown in FIG. 50 , when it is determined that a notification voice of 'Report' is input by the user, the conversation system inquires about the situation the user wants to notify.

즉 대화 시스템은 '교통 사고인가요? 불법 행위인지인가요?' 질의를 출력하고, 사용자에 의해 '교통사고'라는 사고 알림 음성이 입력되었다고 판단되면 '신고해'라는 음성이 입력된 시점의 영상을 획득하고 획득된 영상 내 사고 차량의 차량 번호를 인식한다.In other words, the dialogue system is 'Is it a car accident? Is it illegal?' If a query is output and it is determined that an accident notification voice of 'traffic accident' is input by the user, an image at the time the voice 'report' is input is obtained and the vehicle number of the accident vehicle in the acquired image is recognized.

대화 시스템은 인식된 차량 번호가 맞는지 확인하기 위한 '차량 번호가 oooo인가요?'라는 질의를 출력한다.The dialog system outputs the query 'Is the vehicle number oooo?' to check whether the recognized vehicle number is correct.

대화 시스템은 질의에 대한 응답으로 '아니'라는 음성이 입력되었다고 판단되면 사용자에게 교통 사고 차량의 차량 번호를 질의한다.When it is determined that a voice of 'no' is input in response to the query, the conversation system queries the user for the vehicle number of the traffic accident vehicle.

즉 대화 시스템은 '차량 번호를 불러주세요'라는 질의를 출력한다.That is, the dialogue system outputs a query 'Call the vehicle number'.

대화 시스템은 사용자에 의해 차량 번호에 대응하는 음성이 입력되었다고 판단되면 입력된 음성에 기초하여 교통 사고의 차량 번호를 판단하고, 교통 사고를 담당하는 담당 기관을 확인하고, 상황정보(즉, 교통 사고), 차량 번호, 획득된 도로의 영상, 교통 사고의 영상이 촬영된 날짜, 시간 및 위치의 정보를 확인된 담당 기관의 서버에 전송한다.When it is determined that the voice corresponding to the vehicle number is input by the user, the dialog system determines the vehicle number of the traffic accident based on the input voice, identifies the authority responsible for the traffic accident, and provides context information (ie, traffic accident ), the vehicle number, the acquired image of the road, and the date, time, and location of the traffic accident image are transmitted to the server of the confirmed agency.

대화 시스템은 정보 전송이 완료되면'교통사고 신고를 완료하였습니다.'라는 신고 안내 발화를 출력한다.When the information transmission is completed, the dialog system outputs a report guide utterance, 'Traffic accident report has been completed.'

도 51에 도시된 바와 같이, 대화 시스템은 사용자에 의해 '신고해'라는 알림 음성이 입력되었다고 판단되면 사용자가 알리고자 하는 상황이 어떤 상황인지를 질의한다.As shown in FIG. 51 , when it is determined that a notification voice of 'Report' is input by the user, the conversation system inquires about the situation the user wants to notify.

즉 대화 시스템은 '교통 사고인가요? 불법 행위인지인가요?' 질의를 출력하고, 사용자에 의해 '교통사고'라는 사고 알림 음성이 입력되었다고 판단되면 '신고해'라는 음성이 입력된 시점의 영상을 획득하고 획득된 영상 내 사고 차량의 차량 번호를 인식한다.In other words, the dialogue system is 'Is it a car accident? Is it illegal?' If a query is output and it is determined that an accident notification voice of 'traffic accident' is input by the user, an image at the time the voice 'report' is input is obtained and the vehicle number of the accident vehicle in the acquired image is recognized.

대화 시스템은 영상 처리 결과 차량 번호가 인식되지 않았다고 판단되면 사용자에게 교통 사고 차량의 차량 번호를 질의한다.If it is determined that the vehicle number has not been recognized as a result of image processing, the conversation system queries the user for the vehicle number of the traffic accident vehicle.

즉 대화 시스템은 '차량 번호를 불러주세요'라는 질의를 출력한다.That is, the dialogue system outputs a query 'Call the vehicle number'.

대화 시스템은 사용자에 의해 차량 번호에 대응하는 음성이 입력되었다고 판단되면 입력된 음성에 기초하여 교통 사고의 차량 번호를 판단한다.When it is determined that the voice corresponding to the vehicle number is input by the user, the dialogue system determines the vehicle number of the traffic accident based on the input voice.

대화 시스템은 판단된 차량 번호가 맞는지 확인하기 위한 확인 질의를 출력하는 것도 가능하다.It is also possible that the dialogue system outputs a confirmation query for confirming whether the determined vehicle number is correct.

대화 시스템은 교통 사고를 담당하는 담당 기관을 확인하고, 상황정보(즉, 교통 사고), 차량 번호, 획득된 도로의 영상, 교통 사고의 영상이 촬영된 날짜, 시간 및 위치의 정보를 확인된 담당 기관의 서버에 전송한다.The dialogue system identifies the authority responsible for the traffic accident, and confirms the situation information (that is, the traffic accident), the vehicle number, the image of the obtained road, and the information of the date, time and location where the video of the traffic accident was taken. sent to the organization's server.

대화 시스템은 정보 전송이 완료되면'교통사고 신고를 완료하였습니다.'라는 신고 안내 발화를 출력한다.When the information transmission is completed, the dialog system outputs a report guide utterance, 'Traffic accident report has been completed.'

만약 대화시스템은 알림 음성이 교통 사고의 음성이 아니라고 판단되면 불법 행위의 상황에 대응하는 음성으로 판단(1182)하고, 저장된 도로의 영상 중 불법 행위 상황에 대응하는 영상을 획득(1183)한다. If it is determined that the notification voice is not the voice of a traffic accident, the dialogue system determines ( 1182 ) as a voice corresponding to the illegal action situation, and acquires ( 1183 ) an image corresponding to the illegal action situation from among the stored images of the road.

여기서 저장된 도로의 영상은 차량의 제어기에 저장된 영상 또는 대화 시스템 내에 저장된 영상 중 적어도 하나의 영상을 포함할 수 있다.Here, the stored image of the road may include at least one of an image stored in a vehicle controller or an image stored in a conversation system.

도로의 영상 획득은 저장된 영상 중 알림 음성이 입력된 시점에 저장된 영상만을 편집하는 것을 포함한다.Acquiring the image of the road includes editing only the stored image at the point in time when the notification voice is input among the stored images.

좀 더 구체적으로, 대화 시스템은 알림 음성이 입력된 시점을 확인하고 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하며, 알림 음성 입력 시점의 이전 시점과 이후 시점 사이에 촬영된 영상을 획득한다.More specifically, the dialog system checks the time point at which the notification voice is input and confirms the time point before the first predetermined time as the confirmed time point and the time point after the second predetermined time has elapsed from the confirmed time point, the notification voice An image captured between a time before and a time after the input time is acquired.

대화 시스템은 불법 행위 처리를 담당하는 담당 기관을 확인하고 획득된 영상과 상황 정보를 확인된 담당 기관의 서버에 전송한다.The dialogue system identifies the agency in charge of handling illegal acts, and transmits the acquired image and situation information to the server of the verified agency.

여기서 담당 기관은 경찰청일 수 있다.Here, the responsible agency may be the National Police Agency.

대화 시스템은 획득된 영상 내 도로의 위치 정보를 확인하고, 획득된 영상이 촬영된 시간과 날짜를 확인하며, 확인된 시간, 날짜, 위치 정보와 영상의 정보를 취합(1183)하고 취합된 정보를 서버에 전송(1180)한다.The dialogue system confirms the location information of the road in the acquired image, confirms the time and date that the acquired image was taken, collects (1183) the confirmed time, date, location information and information on the image, and collects the collected information. It transmits (1180) to the server.

아울러 다음 대화 시스템은 불법 행위 차량의 차량 번호를 인식하는 것도 가능하고, 불법 행위 차량의 차량 번호를 사용자에게 질의하는 것도 가능하다.In addition, the following dialogue system can recognize the license plate number of the illegal vehicle, and it is also possible to query the user for the license plate number of the illegal vehicle.

도 52에 도시된 바와 같이, 대화 시스템은 사용자에 의해 '신고해'라는 알림 음성이 입력되었다고 판단되면 사용자가 알리고자 하는 상황이 어떤 상황인지를 질의한다.As shown in FIG. 52 , when it is determined that a notification voice of 'Report' is input by the user, the conversation system inquires about the situation the user wants to notify.

즉 대화 시스템은 '교통 사고인가요?' 질의를 출력하고, 사용자에 의해 질의에 대한 응답으로 '아니의 응답'과 함께 '불법행위'라는 사고 알림 음성이 입력되었다고 판단되면 어떤 불법 행위인지를 질의한다.In other words, the dialogue system is 'Is it a car accident?' It outputs a query, and if it is determined that an accident notification voice of 'illegal act' along with 'no response' is inputted by the user in response to the query, what kind of illegal act is inquired.

아울러 대화 시스템은 포괄적인 '신고해'의 음성이 아닌, 알림 상황을 직접적으로 표현하는 음성 즉, 교통사고, 꼬리 물기, 갓길 운전 등 상황을 알리는 알림 음성을 직접 입력받는 것도 가능하다.In addition, it is possible to directly receive the notification voice that notifies the situation, such as a traffic accident, tail biting, and driving on the shoulder, rather than a comprehensive 'report' voice.

대화 시스템은 '꼬리 물기인가요?'라고 질의하고, 질의에 대한 응답으로 '아니의 응답'과 함께 '갓길 운전'이라는 불법 행위의 알림 음성이 입력되었다고 판단되면 '신고해'라는 음성이 입력된 시점의 영상을 획득하고 획득된 영상에 기초하여 불법 행위의 차량 번호를 인식하고, 인식된 차량의 번호가 맞는지 사용자에게 확인하기 위한 확인 질의를 수행한다.The dialogue system asks, 'Is it tail biting?', and when it is determined that a notification voice for illegal activity such as 'drive on the shoulder' is input along with 'No answer' in response to the question, the time when the voice 'Report' is input Acquires an image of , recognizes the vehicle number of the illegal act based on the obtained image, and performs a confirmation query to confirm to the user whether the recognized vehicle number is correct.

즉 대화 시스템은 '차량 번호가 oooo이 맞나요?'라고 질의하고, 질의에 대한 응답으로 '아니'의 음성이 입력되었다고 판단되면 사용자에게 불법 행위의 차량 번호를 질의한다.That is, the conversation system asks 'Is the vehicle number oooo correct?', and if it is determined that a voice of 'no' is input in response to the query, it queries the user for the vehicle number of the illegal act.

대화 시스템은 '차량 번호를 불러주세요'라는 질의를 출력하고 질의에 대한 응답으로 불법 행위의 차량 번호의 음성이 입력되면 입력된 음성에 기초하여 교통 사고의 차량 번호를 판단한다.The dialogue system outputs a query 'Call the vehicle number', and when the voice of the vehicle number of an illegal act is input in response to the query, the vehicle number of the traffic accident is determined based on the input voice.

대화 시스템은 판단된 차량 번호가 맞는지 확인하기 위한 확인 질의를 출력하는 것도 가능하다.It is also possible that the dialogue system outputs a confirmation query for confirming whether the determined vehicle number is correct.

대화 시스템은 불법 행위를 담당하는 담당 기관을 확인하고, 상황정보(즉, 갓길 운전의 불법 행위), 차량 번호, 불법 행위의 차량의 영상이 포함된 도로의 영상, 영상이 촬영된 날짜, 시간 및 위치의 정보를 확인된 담당 기관의 서버에 전송한다.The dialogue system identifies the authority responsible for the illegal activity, and provides contextual information (ie, illegal shoulder driving), license plate number, image of the road containing the image of the vehicle in the illegal activity, date, time, and date the image was taken. The location information is transmitted to the server of the verified agency.

대화 시스템은 정보 전송이 완료되면'교통사고 신고를 완료하였습니다.'라는 신고 안내 발화를 출력한다.When the information transmission is completed, the dialog system outputs a report guide utterance, 'Traffic accident report has been completed.'

아울러 대화 시스템은 불법 행위의 알림 음성이 입력되었다고 판단되면 불법 행위의 차량 번호의 인식과정을 생략하고, 사용자에게 교통 사고 차량의 차량 번호를 직접 질의하여 사용자로부터 불법 차량의 차량 번호를 제공받는 것도 가능하다.In addition, if the dialog system determines that a notification voice of an illegal activity has been input, it is possible to skip the recognition process of the vehicle number of the illegal activity, and to directly query the user for the vehicle number of the vehicle in a traffic accident to receive the vehicle number of the illegal vehicle from the user do.

대화 시스템은 도로의 주의 상황에 대한 정보를 국토교통부, 교통 정보 센터의 서버에 전송하는 것도 가능하다. The dialogue system is also capable of transmitting information about the state of the road to the server of the Ministry of Land, Infrastructure and Transport and the Traffic Information Center.

대화 시스템은 도로의 주의 상황에 대한 알림 음성이 입력되면 알림 음성이 입력된 시점의 영상을 획득하고 획득된 영상에 기초하여 주의 상황을 판단하고, 판단된 주의 상황에 대한 정보를 서버에 전송하는 것도 가능하다.The dialogue system acquires an image at the point in time when the notification voice is input when a notification voice for the caution condition of the road is input, determines the caution situation based on the acquired image, and transmits information on the determined caution situation to the server It is possible.

예를 들어, 도 53에 도시된 바와 같이 대화 시스템은 사용자에 의해 '돌'이라는 음성이 입력되면 주의 상황이라고 판단하고, 이 상황을 확인하기 위한 확인 질의를 수행한다.For example, as shown in FIG. 53 , when a voice 'stone' is input by the user, the conversation system determines that it is an attention situation, and performs a confirmation query to confirm the situation.

대화 시스템은 '도로에 돌이 있습니까?'라는 질의를 수행하고, 사용자에 의해 질의에 대한 응답 음성으로 '어'라는 음성이 입력되면 도로 위의 돌의 위치를 질의한다. The dialogue system performs a query of 'Is there a stone on the road?', and when a voice 'uh' is inputted by the user as a response voice to the query, the location of the stone on the road is queried.

대화 시스템은 '몇 차로인가요?'라고 질의하고 질의에 대한 응답으로 '3차로'가 입력되면 '3차로의 낙석 주의 정보를 제공하겠습니다.'라고 발화한다.The dialogue system asks 'how many lanes?' and when '3 lanes' is input as a response to the query, 'I will provide information on falling rocks on the 3rd lane.'

대화 시스템은 낙석을 처리하는 담당 기관을 확인하고, 상황정보(즉, 낙석 주의), 3차로가 포함된 도로의 영상, 영상이 촬영된 날짜, 시간 및 위치의 정보를 확인된 담당 기관의 서버에 전송한다.The dialogue system identifies the agency in charge of handling rockfalls, and transmits situational information (ie, warning of rockfalls), the video of the road including the three-lane road, and the date, time and location of the video to the server of the verified agency. send.

아울러 대화 시스템은 주변의 차량에게 주의 상황에 대한 상황 정보를 제공하는 것도 가능하다.In addition, the dialogue system may provide situational information about the attention situation to surrounding vehicles.

서버는 도로의 위치 정보에 기초하여 주변의 차량에게 주의 상황에 대한 상황 정보를 제공하는 것도 가능하다.It is also possible that the server provides situation information about the attention situation to surrounding vehicles based on the location information of the road.

도 10은 대화 시스템이 차량에 마련되는 차량 단독 방식에 대한 제어 블록도이다. 10 is a control block diagram for a vehicle-only method in which a conversation system is provided in a vehicle.

차량 단독 방식에서는 도 44 및 도 46에 도시된 바와 같이, 대화 시스템(1100, 1100a)이 차량(1200, 1200a)에 포함될 수 있다. In the vehicle-only method, as shown in FIGS. 44 and 46 , the conversation systems 1100 and 1100a may be included in the vehicles 1200 and 1200a.

대화 시스템(1100, 1100a)이 차량(1200, 1200a)에 포함되면, 차량(1200, 1200a)이 자체적으로 사용자와의 대화를 처리하고 사용자에게 필요한 서비스를 제공해줄 수 있다. 다만, 대화 처리 및 서비스 제공을 위해 필요한 정보는 외부 컨텐츠 서버로부터 가져올 수 있다.When the dialog systems 1100 and 1100a are included in the vehicles 1200 and 1200a, the vehicles 1200 and 1200a may themselves process a conversation with the user and provide a necessary service to the user. However, information necessary for conversation processing and service provision may be obtained from an external content server.

대화 시스템은 모바일 기기에 마련될 수 있고, 이 모바일 기기는 차량과 통신을 수행할 수 있다. 따라서 차량 내에서 모바일 기기 내의 대화 시스템을 이용하여 알림 모드를 수행하는 것도 가능하다. 이를 도 54를 참조하여 설명한다.The conversation system may be provided in a mobile device, which may communicate with the vehicle. Accordingly, it is also possible to perform the notification mode in the vehicle using the chat system in the mobile device. This will be described with reference to FIG. 54 .

도 54는 또 다른 실시 예의 차량과, 이 차량과 통신하는 모바일 기기의 구성도이다.54 is a configuration diagram of a vehicle and a mobile device communicating with the vehicle according to another embodiment.

차량(1200b)은 영상 입력 장치(1220b), 제어기(1240b), 제1통신장치(1280b)를 포함하고, 모바일 기기(1400)는 음성 입력 장치(1410), 대화 시스템(1420), 출력 장치(1430) 및 제2통신 장치(1440)을 포함한다.The vehicle 1200b includes an image input device 1220b, a controller 1240b, and a first communication device 1280b, and the mobile device 1400 includes an audio input device 1410, a conversation system 1420, and an output device ( 1430 ) and a second communication device 1440 .

차량(1200b)의 영상 입력장치(1220b)는 도로를 촬영한다.The image input device 1220b of the vehicle 1200b photographs the road.

제어기(1240b)는 촬영된 영상을 저장하고, 모바일 기기의 요청에 따라 알림 음성이 입력된 시점의 영상을 획득하고 획득된 영상의 전송을 제어한다.The controller 1240b stores the captured image, acquires an image at the time a notification voice is input according to a request of the mobile device, and controls transmission of the acquired image.

제어기(1240b)는 모바일 기기의 요청에 따라 획득된 영상 내의 차량의 차량 번호를 인식하는 것도 가능하고, 인식된 차량 번호를 모바일 기기에 전송하는 것도 가능하다.The controller 1240b may recognize the vehicle number of the vehicle in the image obtained according to the request of the mobile device, and it is also possible to transmit the recognized vehicle number to the mobile device.

제어기(1240b)는 촬영된 영상의 저장 시, 촬영된 도로의 위치, 날짜 및 시간의 정보를 함께 저장한다.When the captured image is stored, the controller 1240b stores information of the location, date, and time of the captured road together.

제1통신장치(1280b)는 모바일 기기와 통신을 수행하고, 제어기(1240b)의 명령에 기초하여 정보를 모바일 기기에 전송한다.The first communication device 1280b communicates with the mobile device and transmits information to the mobile device based on a command from the controller 1240b.

제1통신장치(1280b)는 GPS 수신기를 포함하고, 영상 촬영 시 위치 정보를 제어기(1240b)에 전송한다.The first communication device 1280b includes a GPS receiver, and transmits location information to the controller 1240b when capturing an image.

모바일 기기(1400)는 스마트 폰, 스마트 워치, 스마트 글래스, PDA, 태플릿 PC 등과 같이 휴대가 가능하며 외부 서버 및 차량과 통신하여 데이터를 주고 받을 수 있는 전자 기기일 수 있다.The mobile device 1400 may be an electronic device that is portable, such as a smart phone, a smart watch, smart glasses, a PDA, or a tablet PC, and can communicate with an external server and vehicle to exchange data.

이러한 모바일 기기(1400)는 사용자 음성을 입력 받는 음성 입력 장치(1410), 차량(1200b)과 사용자로부터 입력 데이터를 수집하여 제2통신 장치(1480)를 통해 서버(1300)로 전송하는 대화 시스템(1420), 시각적, 청각적 또는 촉각적으로 응답을 출력하는 출력 장치(1430) 및 서버(1300) 및 차량(1200b)과 통신하여 데이터를 송수신하는 제2통신 장치(1440)를 포함한다.The mobile device 1400 includes a voice input device 1410 that receives a user's voice, a vehicle 1200b, and a conversation system that collects input data from the user and transmits it to the server 1300 through the second communication device 1480 ( 1420), an output device 1430 that outputs a response visually, auditory or tactile, and a second communication device 1440 that communicates with the server 1300 and the vehicle 1200b to transmit and receive data.

음성 입력 장치(1410)는 음향을 입력 받아 전기적인 신호로 변환하여 출력하는 마이크로폰을 포함할 수 있다.The voice input device 1410 may include a microphone that receives sound, converts it into an electrical signal, and outputs it.

대화 시스템(1420)은 도 46 및 도 47에 도시된 대화 시스템의 구성과 동일하여 간략하게 설명한다. The dialogue system 1420 has the same configuration as the dialogue system shown in FIGS. 46 and 47 and will be briefly described.

대화 시스템(1420)은 음성 입력 장치(1410)에 입력된 사용자의 음성을 수신하고, 제어기(1240b)에서 전송한 영상 입력 장치의 영상을 수신하고 수신된 영상을 저장한다.The conversation system 1420 receives the user's voice input to the voice input device 1410 , receives an image of the image input device transmitted from the controller 1240b , and stores the received image.

대화 시스템(1420)은 음성이 입력된 시간 정보, 영상이 촬영된 날짜와 시간 정보, 영상이 촬영된 위치 정보를 함께 저장할 수 있다.The conversation system 1420 may store information about the time at which a voice is input, information on the date and time the image was captured, and information about the location at which the image was captured.

이에 따라 알림 상황에 대한 음성이 입력되었을 때 알림 상황에 대한 대화 정보와 함께 촬영된 영상 정보를 전송할 수 있도록 한다.Accordingly, when a voice for a notification situation is input, it is possible to transmit the captured image information together with the conversation information about the notification situation.

여기서 영상이 촬영된 위치 정보는 제어기(1240b)로부터 제공받을 수 있다.Here, the location information at which the image was captured may be provided from the controller 1240b.

음성이 입력된 시간 정보, 영상이 촬영된 날짜와 시간 정보는 모바일 기기 내의 타이머(미도시)로부터 제공받을 수 있다.Information on time at which a voice is input and information on a date and time at which an image is captured may be provided from a timer (not shown) in the mobile device.

아울러 음성이 입력된 시간 정보, 영상이 촬영된 날짜와 시간 정보 또한 제어기(1240b)로부터 제공받는 것도 가능하다.In addition, it is also possible to receive information on the time at which the voice is input and the date and time information at which the image was captured from the controller 1240b.

대화 시스템(1420)은 음성 입력 장치(1410)에 입력된 사용자의 음성을 인식하고 인식된 음성 중 알림 상황에 대응하는 단어가 존재하는지 확인하고, 알림 상황에 대응하는 단어가 존재하면 알림 상황이 발생하였다고 판단하고, 확인된 단어가 알림 상황에 대응하는 단어인지 확인하기 위한 질의를 수행한다. The dialog system 1420 recognizes the user's voice input to the voice input device 1410, checks whether a word corresponding to the notification situation exists among the recognized voices, and when a word corresponding to the notification situation exists, a notification situation occurs It is determined that it has been done, and a query is performed to check whether the confirmed word is a word corresponding to the notification situation.

대화 시스템(1420)은 알림 상황이 발생하면 알림 상황에 대한 상황 정보를 획득하기 위해 사용자와의 대화를 수행한다.When a notification situation occurs, the dialog system 1420 performs a conversation with the user to obtain context information about the notification situation.

즉 대화 시스템(1420)은 알림 상황이 발생되면 음성 입력 장치(1210)에 입력된 음성을 인식하고 인식된 음성에 대응한 질의를 수행하는 과정을 반복할 수 있다.That is, when a notification situation occurs, the conversation system 1420 may repeat the process of recognizing the voice input to the voice input device 1210 and performing a query corresponding to the recognized voice.

대화 시스템(1420)은 알림 상황의 발생 정보를 제어기(1240b)에 전송하는 것도 가능하다.The dialog system 1420 may also transmit information on the occurrence of a notification situation to the controller 1240b.

대화 시스템(1420)은 알림 상황이 발생되면 상황 정보에 대응하는 담당 기관을 확인하고 확인된 담당 기관의 서버(1300)로 상황 정보와 저장된 영상을 서버(1300)에 전송한다.When a notification situation occurs, the dialog system 1420 checks an institution in charge corresponding to the context information, and transmits the context information and the stored image to the server 1300 to the server 1300 of the confirmed institution in charge.

여기서 상황 정보는, 교통 사고 상황, 불법 행위 상황을 포함하고, 주의 상황을 더 포함하는 것도 가능하다.Here, the situation information includes a traffic accident situation, an illegal activity situation, and may further include a state situation.

대화 시스템(1420)은 알림 상황이 발생되면 차량의 제어기에 알림 상황이 발생된 시간에 촬영된 영상 정보의 제공을 요청하는 것도 가능하다. 이때 차량의 제어기는 알림 상황이 발생된 시간을 기준으로 알림 상황이 발생된 시각의 이전 시각부터 이후 시각까지의 영상 정보를 획득하고, 획득된 영상 정보를 대화 시스템에 제공할 수 있다. When a notification situation occurs, the dialog system 1420 may request the vehicle controller to provide image information captured at the time the notification situation occurred. At this time, the controller of the vehicle may acquire image information from a time before the time the notification situation occurs to a time after the time when the notification situation occurs based on the time when the notification situation occurs, and provide the obtained image information to the conversation system.

출력장치(1430)는 대화 시스템(1420)에 마련된 디스플레이(1431) 및 스피커(1432)를 포함할 수 있다.The output device 1430 may include a display 1431 and a speaker 1432 provided in the conversation system 1420 .

디스플레이(1431) 및 스피커(1432)는 사용자의 발화에 대한 응답, 사용자에 대한 질의, 또는 사용자가 요청한 정보를 시각적 또는 청각적으로 출력할 수 있다.The display 1431 and the speaker 1432 may visually or aurally output a response to the user's utterance, a query to the user, or information requested by the user.

스피커(1432)는 사용자가 원하는 정보나 서비스를 제공하기 위한 음성, 사용자의 발화에 대한 응답으로서 생성된 대화 시스템의 음성 등을 출력할 수 있다.The speaker 1432 may output a voice for providing information or service desired by a user, a voice of a dialogue system generated as a response to the user's utterance, and the like.

이러한 스피커(1432)는 알림 모드 시 상황 정보에 대응하는 대화 시스템의 음성을 차량의 스피커의 오디오보다 우선적으로 출력할 수 있다.In the notification mode, the speaker 1432 may preferentially output the voice of the dialog system corresponding to the context information rather than the audio of the vehicle speaker.

사용자에 대한 입출력 인터페이스로 모바일 기기(1400)에 마련된 음성 입력 장치(410) 및 출력 장치(430)를 이용하는 것뿐만 아니라, 차량(1200b)에 마련된 음성 입력 장치 및 출력 장치를 이용하는 것도 가능하다.As an input/output interface for a user, not only the voice input device 410 and the output device 430 provided in the mobile device 1400 may be used, but also the voice input device and the output device provided in the vehicle 1200b may be used.

통신 장치(1440)는 차량(1200b) 및 서버(1300)와 통신을 수행하고, 차량으로부터 영상을 수신하고, 대화 시스템의 상황 정보, 영상, 시간, 날짜, 위치의 정보를 서버(1300)에 전송한다.The communication device 1440 communicates with the vehicle 1200b and the server 1300 , receives an image from the vehicle, and transmits situation information of the conversation system, image, time, date, and location information to the server 1300 . do.

통신 장치(1440)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈, 유선 통신 모듈 및 무선 통신 모듈을 포함할 수 있다.The communication device 1440 may include one or more communication modules that enable communication with an external device, and may include, for example, a short-range communication module, a wired communication module, and a wireless communication module.

상기의 설명은 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 상기에 개시된 실시예 및 첨부된 도면들은 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 기술적 사상의 범위가 한정되는 것은 아니다. 그 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 권리범위에 포함되는 것으로 해석되어야 할 것이다. The above description is merely illustrative of the technical idea, and various modifications, changes and substitutions will be possible within the range that does not deviate from the essential characteristics by those of ordinary skill in the art of the present invention. 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 construed 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 needs by using the dialog processing technology specialized for the vehicle environment.

또한, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다. 특히, 사용자의 발화와 무관하게 대화 시스템이 수집한 상황 정보 또는 운전자 정보에 기초하여 사용자에게 필요한 서비스를 스스로 판단하고 이를 선제적으로 제공하는 것이 가능하다.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, it is possible to self-determine a service required for a user based on the situation information or driver information collected by the conversation system regardless of the user's utterance, and to preemptively provide it.

1100, 1100a: 대화 시스템1110: 입력 처리기
1120: 대화 관리기1130: 결과 처리기
1200, 1200a, 1200b: 차량
1210: 음성 입력 장치1220: 영상 입력 장치
1230: 대화자 출력 장치1280: 통신 장치
1300: 서버1400: 모바일 기기
1100, 1100a: dialog system 1110: input handler
1120: conversation manager 1130: result handler
1200, 1200a, 1200b: vehicle
1210: audio input device 1220: video input device
1230: dialog output device 1280: communication device
1300: server 1400: mobile device

Claims (24)

사용자의 음성을 수신하는 음성 입력 장치;
상기 수신된 사용자의 음성을 텍스트로 변환하고 상기 변환된 텍스트와 자연어 이해 기술을 이용하여 상기 사용자의 의도 및 다른 차량에 대한 알림 상황을 인식하고 상기 인식된 사용자의 의도 및 상기 다른 차량에 대한 알림 상황에 기초하여 상기 사용자와의 대화 수행을 제어하는 대화 시스템;
상기 사용자와 대화를 위한 발화를 출력하는 출력장치; 및
상기 다른 차량에 대한 알림 상황에 대한 상황 정보를 전송하는 통신 장치를 포함하고,
상기 다른 차량에 대한 알림 상황은, 상기 다른 차량의 교통 사고의 상황 및 불법 행위의 상황 중 적어도 하나를 포함하고,
상기 대화 시스템은, 상기 다른 차량에 대한 알림 상황이 상기 다른 차량의 교통 사고의 상황인지, 상기 다른 차량의 불법 행위의 상황인지를 판단하고 상기 판단된 상황에 대응하는 담당 기관을 확인하고 상기 확인된 담당 기관의 서버로 상기 상황에 대한 정보를 전송하도록 상기 통신 장치를 제어하는 차량.
a voice input device for receiving a user's voice;
Converts the received user's voice into text, recognizes the user's intention and a notification situation for another vehicle using the converted text and natural language understanding technology, and recognizes the recognized user's intention and notification situation for the other vehicle a dialogue system for controlling conversation with the user based on
an output device for outputting utterances for conversation with the user; and
and a communication device for transmitting situation information about the notification situation for the other vehicle,
The notification situation for the other vehicle includes at least one of a traffic accident situation of the other vehicle and an illegal action situation,
The dialog system determines whether the notification situation for the other vehicle is a traffic accident situation of the other vehicle or an illegal action situation of the other vehicle, and identifies a responsible authority corresponding to the determined situation, A vehicle that controls the communication device to transmit information on the situation to a server of a responsible agency.
제 1항에 있어서,
도로 및 상기 도로의 주변을 촬영하는 영상 입력 장치; 및
상기 영상 입력 장치에서 촬영된 영상을 수신 및 저장하고, 상기 알림 상황의 상황 정보와 상기 저장된 영상이 전송되도록 상기 통신장치를 제어하는 제어기를 더 포함하는 차량.
The method of claim 1,
an image input device for photographing a road and a periphery of the road; and
and a controller configured to receive and store the image captured by the image input device, and control the communication device to transmit situation information of the notification situation and the stored image.
삭제delete 제 2항에 있어서, 상기 대화 시스템은,
상기 음성에 기초하여 상기 다른 차량에 대한 알림 상황이 발생하였는지 판단하고, 상기 알림 상황이 발생하였다고 판단되면 상기 촬영된 영상 내의 다른 차량의 차량 번호를 인식하고 인식된 차량 번호의 전송을 제어하는 것을 포함하는 차량.
3. The method of claim 2, wherein the dialogue system comprises:
Determining whether a notification situation for the other vehicle has occurred based on the voice, and when it is determined that the notification situation has occurred, recognizing the vehicle number of another vehicle in the photographed image and controlling transmission of the recognized vehicle number vehicle that does.
제 4 항에 있어서, 상기 대화 시스템은,
상기 다른 차량의 차량 번호의 인식에 성공하면 상기 인식된 차량 번호의 일치를 확인하기 위한 확인 질의를 수행하는 것을 포함하는 차량.
5. The method of claim 4, wherein the dialog system comprises:
If the recognition of the vehicle number of the other vehicle is successful, the vehicle comprising performing a confirmation query to confirm the matching of the recognized vehicle number.
제 4 항에 있어서, 상기 대화 시스템은,
상기 다른 차량의 차량 번호의 인식에 실패하면 상기 다른 차량의 차량 번호의 질의를 수행하는 것을 포함하는 차량.
5. The method of claim 4, wherein the dialog system comprises:
If the recognition of the vehicle number of the other vehicle fails, the vehicle comprising performing a query for the vehicle number of the other vehicle.
제 1 항에 있어서, 상기 대화 시스템은,
상기 음성에 기초하여 상기 다른 차량에 대한 알림 상황이 발생하였는지 판단하고, 상기 알림 상황이 발생하였다고 판단되면 상기 다른 차량의 차량 번호의 질의를 수행하고, 상기 음성 입력 장치에 수신된 음성에 기초하여 상기 다른 차량의 차량 번호를 인식하는 것을 포함하는 차량.
According to claim 1, wherein the dialogue system,
It is determined based on the voice whether a notification situation for the other vehicle has occurred, and when it is determined that the notification situation has occurred, a query is performed for the vehicle number of the other vehicle, and based on the voice received from the voice input device, the A vehicle comprising recognizing the license plate number of another vehicle.
제 2항에 있어서,
상기 통신 장치는, 지피에스 수신기를 포함하고,
상기 대화 시스템은, 상기 영상의 저장 시 상기 지피에스 수신기에 수신된 위치 정보를 매칭시켜 저장하고 상기 영상의 전송 제어 시 상기 매칭된 영상과 위치 정보의 전송을 제어하는 것을 포함하는 차량.
3. The method of claim 2,
The communication device includes a GPS receiver,
The dialog system includes matching and storing the location information received in the GPS receiver when storing the video, and controlling transmission of the matched video and location information when controlling transmission of the video.
제 2항에 있어서, 상기 대화 시스템은,
상기 영상의 저장 시 날짜와 시간 정보를 매칭시켜 저장하고 상기 영상의 전송 제어 시 상기 매칭된 영상, 날짜와 시간 정보의 전송을 제어하는 것을 포함하는 차량.
3. The method of claim 2, wherein the dialogue system comprises:
A vehicle comprising matching and storing date and time information when storing the image, and controlling transmission of the matched image and date and time information when controlling transmission of the image.
제 2항에 있어서, 상기 대화 시스템은,
상기 다른 차량에 대한 알림 상황에 대응하는 알림 음성이 입력된 시점을 확인하고 상기 확인된 시점으로 제1일정시간 이전의 이전 시점과, 상기 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하며, 상기 저장된 영상 중 상기 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득하고 상기 획득된 영상만을 전송하도록 제어하는 것을 포함하는 차량.
3. The method of claim 2, wherein the dialogue system comprises:
Check the time point at which the notification voice corresponding to the notification situation for the other vehicle is input, and check the time point before the first predetermined time and after the second predetermined time has elapsed from the confirmed time point and controlling to acquire only the images captured between the time points before and after the point in time when the notification voice is input from among the stored images, and to transmit only the obtained images.
사용자의 음성을 수신하는 음성 입력 장치;
도로 및 상기 도로의 주변을 촬영하고 촬영된 영상을 출력하는 영상 입력 장치;
상기 촬영된 영상을 저장하고, 상기 수신된 음성과 상기 저장된 영상의 출력을 제어하는 제어기;
상기 제어기와 통신을 수행하고, 상기 사용자의 음성을 텍스트로 변환하고 상기 변환된 텍스트와 자연어 이해 기술을 이용하여 다른 차량에 대한 알림 상황인지 판단하고 상기 다른 차량에 대한 알림 상황이면 상기 사용자와의 대화를 수행하여 상기 다른 차량에 대한 알림 상황의 상황 정보를 인식하고 상기 인식된 상황 정보를 상기 제어기에 전송하는 대화 시스템;
상기 대화 시스템의 명령에 기초하여 상기 사용자와 대화를 위한 발화를 출력하는 출력장치; 및
상기 제어기의 명령에 기초하여 상기 알림 상황의 상황 정보 및 상기 저장된 영상을 전송하는 통신 장치를 포함하고,
상기 알림 상황은, 다른 차량의 교통 사고의 상황 및 불법 행위의 상황 중 적어도 하나를 포함하고,
상기 대화 시스템은, 상기 다른 차량에 대한 알림 상황이 상기 다른 차량의 교통 사고 상황인지, 상기 다른 차량의 불법 행위인지를 판단하고 상기 판단된 상황에 대응하는 담당 기관을 확인하고 상기 확인된 담당 기관의 서버로 상기 판단된 상황에 대한 정보와 영상을 전송하도록 상기 통신 장치를 제어하는 차량.
a voice input device for receiving a user's voice;
an image input device for photographing a road and a periphery of the road and outputting the photographed image;
a controller that stores the captured image and controls output of the received audio and the stored image;
It communicates with the controller, converts the user's voice into text, uses the converted text and natural language understanding technology to determine whether it is a notification situation for another vehicle, and talks with the user if it is a notification situation for the other vehicle a dialog system for recognizing context information of a notification situation for the other vehicle by performing , and transmitting the recognized context information to the controller;
an output device for outputting an utterance for a conversation with the user based on a command of the conversation system; and
and a communication device for transmitting situation information of the notification situation and the stored image based on a command from the controller,
The notification situation includes at least one of a traffic accident situation of another vehicle and an illegal action situation,
The dialogue system determines whether the notification situation for the other vehicle is a traffic accident situation of the other vehicle or an illegal act of the other vehicle, and identifies a responsible agency corresponding to the determined situation, A vehicle that controls the communication device to transmit information and an image on the determined situation to a server.
삭제delete 제 11 항에 있어서, 상기 제어기는,
상기 다른 차량의 차량 번호를 인식하고 상기 인식한 다른 차량의 차량 번호의 전송을 제어하는 것을 포함하는 차량.
12. The method of claim 11, wherein the controller,
Recognizing the vehicle number of the other vehicle and controlling transmission of the recognized vehicle number of the other vehicle.
제 11항에 있어서,
상기 통신 장치는, 지피에스 수신기를 포함하고,
상기 제어기는, 상기 영상의 저장 시 상기 지피에스 수신기에 수신된 위치 정보와 매칭시켜 저장하고 상기 영상의 전송 제어 시 상기 매칭된 영상과 위치 정보의 전송을 제어하는 것을 포함하는 차량.
12. The method of claim 11,
The communication device includes a GPS receiver,
wherein the controller matches and stores the location information received in the GPS receiver when the image is stored, and controls transmission of the matched image and location information when controlling the transmission of the image.
제 11항에 있어서, 상기 제어기는,
상기 영상의 저장 시 날짜와 시간 정보를 매칭시켜 저장하고 상기 영상의 전송 제어 시 상기 매칭된 영상, 날짜와 시간 정보의 전송을 제어하는 것을 포함하는 차량.
12. The method of claim 11, wherein the controller,
A vehicle comprising matching and storing date and time information when storing the image, and controlling transmission of the matched image and date and time information when controlling transmission of the image.
제 11항에 있어서, 상기 제어기는,
상기 알림 상황에 대응하는 알림 음성이 입력된 시점을 확인하고 상기 확인된 시점으로 제1일정시간 이전의 이전 시점과, 상기 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하며, 상기 저장된 영상 중 상기 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득하고 상기 획득된 영상만을 전송하도록 제어하는 것을 포함하는 차량.
12. The method of claim 11, wherein the controller,
A time point at which a notification voice corresponding to the notification situation is input is confirmed, and a time point before a first predetermined time and a time point after the lapse of a second predetermined time from the confirmed time point are checked, and the stored A vehicle comprising: acquiring only an image captured between a time point before and after a time point at which the notification voice is input, and controlling to transmit only the acquired image.
차량 및 서버와 통신을 수행하는 통신 장치;
사용자의 음성을 수신하는 음성 입력 장치;
상기 사용자의 음성을 텍스트로 변환하고 상기 변환된 텍스트와 자연어 이해 기술을 이용하여 다른 차량에 대한 알림 상황인지 판단하고 상기 다른 차량에 대한 알림 상황이라고 판단되면 상기 사용자와의 대화를 수행하고 상기 대화 중 수신된 음성에 기초하여 상기 다른 차량에 대한 알림 상황의 상황 정보를 인식하고 상기 차량에 영상 제공을 요청하고, 상기 인식된 상황 정보 및 상기 차량에서 전송한 영상을 서버에 전송하도록 제어하는 대화 시스템; 및
상기 대화 시스템의 명령에 기초하여 상기 사용자와 대화를 위한 발화를 출력하는 출력장치를 포함하고,
상기 통신 장치는, 상기 대화시스템의 명령에 기초하여 상기 다른 차량에 대한 알림 상황의 상황 정보 및 상기 영상을 전송하고,
상기 알림 상황은, 상기 다른 차량에 대한 교통 사고 상황 및 불법 행위의 상황 중 적어도 하나를 포함하는 것을 포함하는 모바일 기기.
a communication device for communicating with the vehicle and the server;
a voice input device for receiving a user's voice;
The user's voice is converted into text, the converted text and natural language understanding technology are used to determine whether it is a notification situation for another vehicle, and if it is determined that it is a notification situation for the other vehicle, a conversation with the user is performed and during the conversation a dialogue system for recognizing context information of a notification situation for the other vehicle based on the received voice, requesting the vehicle to provide an image, and controlling to transmit the recognized situation information and the image transmitted from the vehicle to a server; and
and an output device for outputting an utterance for a conversation with the user based on a command of the conversation system,
The communication device transmits situation information and the image of a notification situation for the other vehicle based on a command of the dialogue system,
The notification situation includes at least one of a traffic accident situation with respect to the other vehicle and a situation of illegal activity.
제 17 항에 있어서, 상기 대화 시스템은,
상기 영상 내의 상기 다른 차량의 차량 번호를 인식하고 상기 인식한 차량 번호의 전송을 제어하는 것을 포함하는 모바일 기기.
18. The method of claim 17, wherein the dialogue system comprises:
Recognizing the vehicle number of the other vehicle in the image and controlling transmission of the recognized vehicle number.
제 17항에 있어서, 상기 대화 시스템은,
상기 차량으로부터 영상의 수신 시 상기 차량의 위치 정보, 시간 정보 및 날짜 정보 중 적어도 하나를 수신하는 것을 포함하는 모바일 기기.
18. The method of claim 17, wherein the dialog system comprises:
Mobile device comprising receiving at least one of location information, time information, and date information of the vehicle when the image is received from the vehicle.
도로 및 상기 도로의 주변을 촬영하고,
상기 촬영된 영상을 시간 정보 및 위치 정보와 함께 저장하고,
음성 입력 장치를 통해 사용자의 음성이 입력되면 상기 사용자의 음성을 텍스트로 변환하고,
상기 변환된 텍스트와 자연어 이해 기술을 이용하여 다른 차량에 대한 알림 상황인지를 판단하고,
상기 다른 차량에 대한 알림 상황이라고 판단되면 상기 다른 차량에 대한 알림 상황에 대응하는 발화를 출력 장치를 통해 출력하고,
상기 음성 입력 장치에 입력된 음성에 기초하여 상기 다른 차량에 대한 알림 상황의 상황 정보를 획득하고,
상기 획득된 상황 정보, 상기 위치 정보, 상기 시간 정보 및 상기 저장된 영상을 전송하고,
상기 다른 차량에 대한 알림 상황은, 상기 다른 차량의 교통 사고의 상황 및 불법 행위의 상황 중 적어도 하나를 포함하는 차량의 제어 방법.
Taking pictures of the road and the surroundings of the road,
storing the captured image along with time information and location information;
When the user's voice is input through the voice input device, the user's voice is converted into text,
Using the converted text and natural language understanding technology to determine whether it is a notification situation for another vehicle,
If it is determined that the notification condition for the other vehicle is, output an utterance corresponding to the notification condition for the other vehicle through an output device,
obtaining situation information of a notification situation for the other vehicle based on the voice input to the voice input device;
Transmitting the obtained situation information, the location information, the time information and the stored image,
The notification situation for the other vehicle includes at least one of a traffic accident situation and an illegal action situation of the other vehicle.
삭제delete 제 20항에 있어서, 상기 획득된 상황 정보와 상기 저장된 영상을 전송하는 것은,
상기 판단된 상황에 대응하는 담당 기관을 확인하고,
상기 확인된 담당 기관의 서버로 상기 상황 정보와 영상을 전송하는 것을 포함하는 차량의 제어 방법.
The method of claim 20, wherein transmitting the obtained situation information and the stored image comprises:
Identify the agency in charge of responding to the determined situation,
and transmitting the situation information and the image to the identified server of the agency in charge.
제 20항에 있어서, 상기 상황 정보를 획득하는 것은,
상기 알림 상황이 발생하였다고 판단되면 상기 영상 내의 다른 차량의 차량 번호를 인식 및 획득하는 것을 포함하는 차량의 제어 방법.
The method of claim 20, wherein obtaining the context information comprises:
and recognizing and acquiring the vehicle number of another vehicle in the image when it is determined that the notification situation has occurred.
제 20 항에 있어서, 상기 저장된 영상을 전송하는 것은,
상기 알림 상황에 대응하는 알림 음성이 입력된 시점을 확인하고,
상기 확인된 시점으로 제1일정시간 이전의 이전 시점과, 확인된 시점에서 제2일정시간이 경과한 이후 시점을 확인하고,
상기 저장된 영상 중 상기 알림 음성이 입력된 시점의 이전 시점과 이후 시점 사이에 촬영된 영상만을 획득하고,
상기 획득된 영상의 전송을 제어하는 것을 포함하는 차량의 제어 방법.



The method of claim 20, wherein transmitting the stored image comprises:
Check when the notification voice corresponding to the notification situation is input,
As the confirmed time point, a time before the first predetermined time and a time point after the lapse of a second predetermined time from the confirmed time point are confirmed,
Obtaining only the images taken between the time before and after the time point at which the notification voice is input among the stored images,
A control method of a vehicle comprising controlling transmission of the acquired image.



KR1020170094024A 2017-07-25 2017-07-25 Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle KR102403355B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170094024A KR102403355B1 (en) 2017-07-25 2017-07-25 Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170094024A KR102403355B1 (en) 2017-07-25 2017-07-25 Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle

Publications (2)

Publication Number Publication Date
KR20190011458A KR20190011458A (en) 2019-02-07
KR102403355B1 true KR102403355B1 (en) 2022-06-02

Family

ID=65367065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170094024A KR102403355B1 (en) 2017-07-25 2017-07-25 Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle

Country Status (1)

Country Link
KR (1) KR102403355B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741747B (en) * 2019-02-19 2021-02-12 珠海格力电器股份有限公司 Voice scene recognition method and device, voice control method and device and air conditioner
KR20200116688A (en) * 2019-04-02 2020-10-13 현대자동차주식회사 Dialogue processing apparatus, vehicle having the same and dialogue processing method
CN113053386A (en) * 2019-12-27 2021-06-29 沈阳新松机器人自动化股份有限公司 Network appointment safety early warning system
KR20220034488A (en) * 2020-09-11 2022-03-18 삼성전자주식회사 An electronic apparatus and Method for controlling electronic apparatus thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101323227B1 (en) * 2010-12-30 2013-10-30 (주)세미솔루션 Image recording apparatus for vehicle
JP2015041197A (en) * 2013-08-21 2015-03-02 三菱電機株式会社 Display control device
US20170168774A1 (en) * 2014-07-04 2017-06-15 Clarion Co., Ltd. In-vehicle interactive system and in-vehicle information appliance

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101755376B1 (en) * 2010-12-23 2017-07-26 엘지전자 주식회사 Method for controlling using voice action and the mobile terminal
KR101385299B1 (en) * 2012-09-28 2014-04-16 주식회사 유비샘 Smart blackbox system for reporting illegal activity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101323227B1 (en) * 2010-12-30 2013-10-30 (주)세미솔루션 Image recording apparatus for vehicle
JP2015041197A (en) * 2013-08-21 2015-03-02 三菱電機株式会社 Display control device
US20170168774A1 (en) * 2014-07-04 2017-06-15 Clarion Co., Ltd. In-vehicle interactive system and in-vehicle information appliance

Also Published As

Publication number Publication date
KR20190011458A (en) 2019-02-07

Similar Documents

Publication Publication Date Title
KR102338990B1 (en) Dialogue processing apparatus, vehicle having the same and dialogue processing method
KR102562227B1 (en) Dialogue system, Vehicle and method for controlling the vehicle
KR102426171B1 (en) Dialogue processing apparatus, vehicle having the same and dialogue service processing method
US10733994B2 (en) Dialogue system, vehicle and method for controlling the vehicle
KR102414456B1 (en) Dialogue processing apparatus, vehicle having the same and accident information processing method
US10861460B2 (en) Dialogue system, vehicle having the same and dialogue processing method
US10997974B2 (en) Dialogue system, and dialogue processing method
US10991368B2 (en) Dialogue system and dialogue processing method
US10937424B2 (en) Dialogue system and vehicle using the same
US10950233B2 (en) Dialogue system, vehicle having the same and dialogue processing method
KR102403355B1 (en) Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle
US11004450B2 (en) Dialogue system and dialogue processing method
CN110503947A (en) Conversational system, the vehicle including it and dialog process method
KR20200006738A (en) Dialogue system, and dialogue processing method
KR102448719B1 (en) Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method
KR102487669B1 (en) Dialogue processing apparatus, vehicle having the same and dialogue processing method
CN110562260A (en) Dialogue system and dialogue processing method
KR20200000621A (en) Dialogue processing apparatus, vehicle having the same and dialogue processing method
KR20190036018A (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
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right