KR20190037470A - Dialogue processing apparatus, vehicle having the same and dialogue processing method - Google Patents

Dialogue processing apparatus, vehicle having the same and dialogue processing method Download PDF

Info

Publication number
KR20190037470A
KR20190037470A KR1020170126837A KR20170126837A KR20190037470A KR 20190037470 A KR20190037470 A KR 20190037470A KR 1020170126837 A KR1020170126837 A KR 1020170126837A KR 20170126837 A KR20170126837 A KR 20170126837A KR 20190037470 A KR20190037470 A KR 20190037470A
Authority
KR
South Korea
Prior art keywords
action
vehicle
information
user
utterance
Prior art date
Application number
KR1020170126837A
Other languages
Korean (ko)
Other versions
KR102487669B1 (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 KR1020170126837A priority Critical patent/KR102487669B1/en
Publication of KR20190037470A publication Critical patent/KR20190037470A/en
Application granted granted Critical
Publication of KR102487669B1 publication Critical patent/KR102487669B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/037Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for occupant comfort, e.g. for automatic adjustment of appliances according to personal settings, e.g. seats, mirrors, steering wheel
    • B60R16/0373Voice control
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)

Abstract

Provided are: a conversation system capable of providing a service matching the actual intention of a user or a service required by the user the most by accurately verifying the intention of the user based on various kinds of information including conversation with the user, vehicle status information, driving environment information, user information, and user reactions after utterance in a vehicle driving environment; a vehicle including the same; and a conversation processing method. According to an embodiment of the present invention, the conversation system includes: an input processor which receives the utterance of a user and a reaction after the utterance of the user, and extracts an action corresponding to the utterance; a storage unit which stores an information value of situation information including at least one of vehicle status information related to the status of a vehicle and driving environment information related to the driving environment of the vehicle; a conversation manager which forms at least one of a conditional determination factor and an action factor based on the reaction after utterance corresponding to the utterance, obtains a factor value of the conditional determination factor used to determine whether to perform an action corresponding to the utterance from the storage unit, determines an action to perform based on the factor value of the conditional determination factor, and obtains a factor value of the action factor used to perform the determined action from the storage unit; and a result processor which generates a response to perform the determined action by using the obtained factor value of the action factor.

Description

대화 시스템, 이를 포함하는 차량 및 대화 처리 방법{DIALOGUE PROCESSING APPARATUS, VEHICLE HAVING THE SAME AND DIALOGUE PROCESSING METHOD}TECHNICAL FIELD [0001] The present invention relates to a dialog system, a vehicle including the same, and a dialog processing method.

개시된 발명은 사용자와의 대화 및 사용자의 발화 후 반응을 통해 사용자의 의도를 파악하고 사용자에게 필요한 정보나 서비스를 제공하는 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법에 관한 것이다.The disclosed invention relates to a conversation system for grasping a user's intention through a conversation with a user and a response after a user's utterance and providing information or a service necessary for a user, a vehicle including the same, and a conversation processing method.

차량용 AVN이나 대부분의 모바일 기기는 작은 화면 및 작은 버튼으로 인해, 사용자에게 시각적인 정보를 제공하거나 사용자의 입력을 수신함에 있어 불편함이 발생할 수 있다. Car AVNs, or most mobile devices, can be inconvenient to provide visual information to users or receive user input due to small screens and small buttons.

특히, 사용자가 운전 중 시각적인 정보를 확인하거나 기기를 조작하기 위해, 시선을 이동시키고 스티어링 휠에서 손을 떼는 것은 안전 운전에 위협이 되는 요소로 작용한다. In particular, shifting the gaze and releasing the steering wheel as a means for the user to visually identify information or operate the device during operation is a threat to safe driving.

따라서, 사용자와의 대화를 통해 사용자의 의도를 파악하고, 사용자에게 필요한 서비스를 제공하는 대화 시스템이 차량에 적용될 경우 보다 안전하고 편리하게 서비스를 제공할 수 있을 것으로 기대된다.Therefore, it is expected that a conversation system that grasps a user 's intention through a conversation with a user and provides a necessary service to the user can provide a safer and more convenient service when applied to a vehicle.

한국공개특허문헌 2013-0035983Korean Patent Publication No. 2013-0035983

차량 주행 환경에서 사용자와의 대화 및 차량 상태 정보, 주행 환경 정보, 사용자 정보, 사용자의 발화 후 반응 등의 다양한 정보를 바탕으로 사용자의 의도를 정확하게 파악함으로써, 사용자의 실제 의도에 부합되는 서비스 또는 사용자에게 가장 필요한 서비스를 제공할 수 있는 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법을 제공한다. By accurately grasping the intention of the user based on various information such as conversation with the user in the vehicle driving environment, vehicle condition information, driving environment information, user information, reaction after the user's utterance, etc., A conversation system capable of providing a service most necessary for a vehicle, a vehicle including the same, and a conversation processing method.

일 실시예에 따른 대화 시스템은, 사용자의 발화 및 상기 사용자의 발화 후 반응을 입력 받고, 상기 발화 및 발화 후 반응에 대응되는 액션을 추출하는 입력 처리기; 차량의 상태와 관련된 차량 상태 정보, 상기 차량의 주행 환경과 관련된 주행 환경 정보 및 상기 사용자의 발화 후 반응에 관련된 피드백 정보 중 적어도 하나를 포함하는 상황 정보의 정보 값을 저장하는 저장부; 상기 발화와 대응되는 상기 발화 후 반응을 기초로 상기 피드백 정보를 형성하고, 상기 피드백 정보를 기초로 상기 조건 판단 인자 및 상기 액션 인자 중 적어도 하나를 형성하고, 상기 발화 및 상기 발화 후 반응에 대응되는 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 상기 저장부로터 획득하고, 상기 조건 판단 인자의 인자 값 및 상기 피드백 정보에 기초하여 수행할 액션을 결정하고, 상기 결정된 액션을 수행하는데 사용되는 액션 인자의 인자 값을 상기 저장부로부터 획득하는 대화 관리기; 및 상기 획득된 액션 인자의 인자 값을 이용하여 상기 결정된 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함한다.An interactive system according to an embodiment includes an input processor for inputting a user's utterance and a reaction after utterance of the user, and extracting an action corresponding to the utterance and the reaction after utterance; A storage unit for storing information values of status information including at least one of vehicle status information related to the status of the vehicle, driving environment information related to the driving environment of the vehicle, and feedback information related to the reaction after the user's utterance; Forming feedback information on the basis of the post-ignition reaction corresponding to the speech, forming at least one of the condition judgment factor and the action factor based on the feedback information, Determining an action to be performed based on an argument value of the condition determination factor and the feedback information, and performing the determined action A dialogue manager for obtaining an argument value of an action factor to be used from the storage; And a result processor for generating a response for performing the determined action using the obtained argument value of the action factor.

상기 저장부는, 액션과 관련된 상기 피드백 정보를 상기 액션 별로 저장하고, Wherein the storage unit stores the feedback information associated with the action for each action,

상기 입력 처리기는, 상기 발화에 대응되는 액션과 관련된 상기 피드백 정보를 상기 저장부로부터 획득하여 상기 대화 관리기에 전송할 수 있다. The input processor may obtain the feedback information related to the action corresponding to the utterance from the storage unit and transmit the obtained feedback information to the conversation manager.

상기 대화 관리기는, 상기 입력 처리기로부터 전달된 상기 발화 후 반응을 이용하여 도출된 상기 피드백 정보를 기초로 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 변경할 수 있다. The dialogue manager may change an argument value of the condition determination factor or an argument value of the action factor based on the feedback information derived using the post-utterance response transmitted from the input processor.

상기 대화 관리기는, 상기 피드백 정보에 대응되는 액션과 연관된 적어도 하나의 액션을 상기 저장부로부터 획득할 수 있다. The dialogue manager may obtain from the storage at least one action associated with an action corresponding to the feedback information.

상기 대화 관리기는, 상기 피드백 정보에 기초하여 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션들 사이의 우선 순위를 결정할 수 있다. The dialogue manager may determine, based on the feedback information, an action corresponding to the utterance and a priority between the associated at least one action.

상기 대화 관리기는, 상기 피드백 정보에 기초하여 상기 연관된 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 변경하고, 상기 조건 판단 인자를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값에 기초하여 상기 연관된 적어도 하나의 액션의 수행 가부를 판단할 수 있다.Wherein the conversation manager changes a parameter value of a condition judging factor used for judging whether or not to perform the associated action based on the feedback information, obtains the condition judging factor from the storing part rotor, Lt; RTI ID = 0.0 > of < / RTI > the associated at least one action.

상기 대화 관리기는, 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션 중 수행이 가능하고, 상기 피드백 정보를 기초로 상기 결정된 우선 순위가 가장 높은 액션을 상기 수행할 액션으로 결정할 수 있다. The dialogue manager can perform an action corresponding to the utterance and at least one action associated therewith, and determine the action having the highest priority determined based on the feedback information as the action to be performed.

일 실시예에 따른 대화 시스템은, 외부 서버와 통신하는 통신부;를 더 포함하고,The interactive system according to one embodiment further includes a communication unit for communicating with an external server,

상기 대화 관리기는, 상기 피드백 정보를 상기 저장부로부터 획득할 수 없는 경우, 상기 외부 서버에 상기 피드백 정보를 요청할 수 있다. The dialogue manager may request the feedback information from the external server if the feedback information can not be obtained from the storage unit.

상기 결과 처리기는, 상기 결정된 액션을 수행하기 위한 응답으로 대화 응답 및 차량의 제어를 위한 명령어를 생성할 수 있다. The result processor may generate an instruction for controlling the conversation response and the vehicle in response to the determined action.

상기 차량으로부터 상기 상황 정보의 정보 값을 수신하고, 상기 차량에 상기 응답을 전송하는 통신부;를 더 포함할 수 있다. And a communication unit for receiving the information value of the situation information from the vehicle and transmitting the response to the vehicle.

일 실시예에 따른 대화 시스템은, 상기 차량에 연결된 모바일 기기로부터 상기 상황 정보의 정보 값을 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 통신부;를 더 포함할 수 있다. The interactive system may further include a communication unit that receives the information value of the status information from the mobile device connected to the vehicle, and transmits the response to the mobile device.

일 실시예에 따른 대화 처리 방법은, 차량의 상태와 관련된 차량 상태 정보,상기 차량의 주행 환경과 관련된 주행 환경 정보 및 상기 사용자의 발화 후 반응에 관련된 피드백 정보 중 적어도 하나를 포함하는 상황 정보의 정보 값을 저장부에 저장하고; 사용자의 발화 및 상기 상기 사용자의 발화 후 반응을 입력받고; 상기 발화와 대응되는 상기 발화 후 반응을 기초로 상기 피드백 정보를 형성하고, 상기 피드백 정보를 기초로 조건 판단 인자 및 액션 인자 중 적어도 하나를 형성하고, 상기 발화에 대응되는 액션을 포함하는 적어도 하나의 후보 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값 및 상기 적어도 하나의 후보 액션을 수행하는데 사용되는 액션 인자의 인자 값 중 적어도 하나를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값 및 상기 피드백 정보에 기초하여 상기 적어도 하나의 후보 액션 중에서 수행할 액션을 결정하고; 상기 획득된 액션 인자의 인자 값을 이용하여 상기 결정된 액션을 수행하기 위한 응답을 생성하는 것;을 포함한다. The conversation processing method according to an embodiment is a method for processing information on state information including at least one of vehicle state information related to a state of a vehicle, traveling environment information related to the traveling environment of the vehicle, and feedback information related to a reaction after utterance of the user Stores the value in the storage unit; Receiving a user's utterance and a reaction after the utterance of the user; Forming feedback information based on the post-ignition response corresponding to the speech, forming at least one of a condition determination factor and an action factor based on the feedback information, and generating at least one Acquiring at least one of an argument value of a condition judging factor used for judging whether or not the candidate action is to be performed and an argument value of an action factor used for performing the at least one candidate action; And determining an action to be performed among the at least one candidate action based on the feedback information and the feedback information; And generating a response to perform the determined action using an argument value of the obtained action factor.

일 실시예에 따른 대화 처리 방법은, 액션과 관련된 상기 피드백 정보를 상기 액션 별로 상기 저장부에 저장하고; 상기 발화에 대응되는 액션과 관련된 상기 피드백 정보를 상기 저장부로부터 획득하여 상기 대화 관리기에 전송하는 것;을 더 포함한다.According to an embodiment of the present invention, there is provided a dialog processing method comprising: storing, in the storage unit, the feedback information associated with an action; And obtaining the feedback information related to the action corresponding to the utterance from the storage unit and transmitting the obtained feedback information to the conversation manager.

일 실시예에 따른 대화 처리 방법은, 상기 입력 처리기로부터 전달된 상기 발화 후 반응을 이용하여 도출된 상기 피드백 정보를 기초로 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 변경하는 것;을 더 포함한다.The dialog processing method may further include changing an argument value of the condition determination factor or an argument value of the action factor based on the feedback information derived from the post-utterance response transmitted from the input processor; .

상기 적어도 하나의 인자 값 중 적어도 하나를 상기 저장부로 획득하는 것은,Obtaining at least one of the at least one factor value to the storage means,

상기 피드백 정보에 대응되는 액션과 연관된 적어도 하나의 액션을 상기 저장부로부터 획득하는 대화 처리 방법And acquiring at least one action associated with the action corresponding to the feedback information from the storage unit

일 실시예에 따른 대화 처리 방법은, 상기 피드백 정보에 기초하여 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션들 사이의 우선 순위를 결정하는 것을 더 포함한다. The dialog processing method according to an embodiment further includes determining a priority between the action corresponding to the utterance and the at least one action associated with the utterance based on the feedback information.

상기 적어도 하나의 후보 액션 중에서 수행할 액션을 결정하는 것은,Determining an action to be performed among the at least one candidate action,

상기 피드백 정보에 기초하여 상기 연관된 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 변경하고, 상기 조건 판단 인자를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값에 기초하여 상기 연관된 적어도 하나의 액션의 수행 가부를 판단하는 것을 포함할 수 있다. Wherein the control unit changes the parameter value of the condition judging factor used for judging whether the associated action is performed based on the feedback information, acquires the condition judging factor from the storage unit rotor, And determining whether to perform the associated at least one action.

상기 적어도 하나의 후보 액션 중에서 수행할 액션을 결정하는 것은, 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션 중 수행이 가능하고, 상기 피드백 정보를 기초로 상기 결정된 우선 순위가 가장 높은 액션을 상기 수행할 액션으로 결정할 수 있다. Wherein the determining of the action to be performed among the at least one candidate action comprises: performing an action corresponding to the utterance and at least one action associated with the action; and determining the action having the highest priority determined based on the feedback information It can be decided by the action to be performed.

일 실시예에 따른 대화 처리 방법은, 외부 서버와 통신하는 것;을 더 포함하고, 상기 피드백 정보를 상기 저장부로부터 획득할 수 없는 경우, 상기 외부 서버에 상기 피드백 정보를 요청하는 것을 더 포함할 수 있다. The method may further include communicating with an external server, and if the feedback information can not be obtained from the storage unit, requesting the feedback information to the external server .

상기 결정된 액션을 수행하기 위한 응답을 생성하는 것은,Generating a response to perform the determined action comprises:

상기 결정된 액션을 수행하기 위한 응답으로 대화 응답 및 차량의 제어를 위한 명령어를 생성할 수 있다.  And may generate an instruction for controlling the conversation response and the vehicle in response to the determined action.

일 실시예에 따른 대화 처리 방법은, 상기 차량으로부터 상기 상황 정보의 정보 값을 수신하고, 상기 차량에 상기 응답을 전송하는 것;을 더 포함하는 대화 처리 방법.The dialog processing method according to an embodiment further comprises receiving an information value of the situation information from the vehicle, and transmitting the response to the vehicle.

일 실시예에 따른 대화 처리 방법은, 상기 차량에 연결된 모바일 기기로부터 상기 상황 정보의 정보 값을 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 것;을 더 포함할 수 있다. The method may further include receiving an information value of the status information from a mobile device connected to the vehicle, and transmitting the response to the mobile device.

일 실시예에 따른 차량은, 사용자의 발화 및 상기 사용자의 피드백 반응을 입력 받고, 상기 발화에 대응되는 액션을 추출하는 입력 처리기; 차량의 상태와 관련된 차량 상태 정보 및 상기 차량의 주행 환경과 관련된 주행 환경 정보 중 적어도 하나를 포함하는 상황 정보의 정보 값을 저장하는 저장부; 상기 발화와 대응되는 상기 피드백 반응을 기초로 상기 조건 판단 인자 및 상기 액션 인자 중 적어도 하나를 형성하고, 상기 발화에 대응되는 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 상기 저장부로터 획득하고, 상기 조건 판단 인자의 인자 값에 기초하여 수행할 액션을 결정하고, 상기 결정된 액션을 수행하는데 사용되는 액션 인자의 인자 값을 상기 저장부로부터 획득하는 대화 관리기; 및 상기 획득된 액션 인자의 인자 값을 이용하여 상기 결정된 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함한다.The vehicle according to an embodiment includes an input processor for receiving a user's utterance and a user's feedback reaction and extracting an action corresponding to the utterance; A storage unit for storing information values of status information including at least one of vehicle status information related to the status of the vehicle and driving environment information related to the driving environment of the vehicle; Wherein the controller is configured to form at least one of the condition determining factor and the action factor on the basis of the feedback response corresponding to the utterance and to output a parameter value of a conditional judgment factor used for determining whether to perform the action corresponding to the utterance, A conversation manager for acquiring a rotor, determining an action to be performed based on a factor of the condition determining factor, and obtaining an argument value of an action factor used to perform the determined action; And a result processor for generating a response for performing the determined action using the obtained argument value of the action factor.

상기 저장부는, 액션과 관련된 상기 피드백 정보를 상기 액션 별로 저장하고, Wherein the storage unit stores the feedback information associated with the action for each action,

상기 입력 처리기는, 상기 발화에 대응되는 액션과 관련된 상기 피드백 정보를 상기 저장부로부터 획득하여 상기 대화 관리기에 전송할 수 있다. The input processor may obtain the feedback information related to the action corresponding to the utterance from the storage unit and transmit the obtained feedback information to the conversation manager.

상기 대화 관리기는, 상기 입력 처리기로부터 전달된 상기 피드백 정보를 이용하여 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 변경할 수 있다.The dialogue manager may change an argument value of the condition determination factor or an argument value of the action factor using the feedback information transmitted from the input processor.

상기 대화 관리기는, 상기 발화에 대응되는 액션과 연관된 적어도 하나의 액션을 상기 저장부로부터 획득할 수 있다.The dialogue manager may obtain from the storage at least one action associated with the action corresponding to the utterance.

상기 대화 관리기는, 상기 피드백 정보에 기초하여 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션들 사이의 우선 순위를 결정할 수 있다. The dialogue manager may determine, based on the feedback information, an action corresponding to the utterance and a priority between the associated at least one action.

상기 대화 관리기는, 상기 피드백 정보에 기초하여 상기 연관된 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 변경하고, 상기 조건 판단 인자를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값에 기초하여 상기 연관된 적어도 하나의 액션의 수행 가부를 판단할 수 있다. Wherein the conversation manager changes a parameter value of a condition judging factor used for judging whether or not to perform the associated action based on the feedback information, obtains the condition judging factor from the storing part rotor, Lt; RTI ID = 0.0 > of < / RTI > the associated at least one action.

상기 대화 관리기는, 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션 중 수행이 가능하고, 상기 피드백 정보를 기초로 상기 결정된 우선 순위가 가장 높은 액션을 상기 수행할 액션으로 결정할 수 있다. The dialogue manager can perform an action corresponding to the utterance and at least one action associated therewith, and determine the action having the highest priority determined based on the feedback information as the action to be performed.

일 실시예에 따른 차량은, 외부 서버와 통신하는 통신부;를 더 포함하고,The vehicle according to an embodiment further includes a communication unit for communicating with an external server,

상기 대화 관리기는, 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 상기 저장부로부터 획득할 수 없는 경우, 상기 외부 서버에 상기 인자 값을 요청할 수 있다. The dialogue manager may request the factor value of the condition determination factor or the factor of the action factor from the storage unit if the factor can not be obtained from the external server.

상기 결과 처리기는, 상기 결정된 액션을 수행하기 위한 응답으로 대화 응답 및 차량의 제어를 위한 명령어를 생성할 수 있다. The result processor may generate an instruction for controlling the conversation response and the vehicle in response to the determined action.

일 실시예에 따른 차량은 상기 차량으로부터 상기 상황 정보의 정보 값을 수신하고, 상기 차량에 상기 응답을 전송하는 통신부;를 더 포함한다.The vehicle further includes a communication unit that receives the information value of the status information from the vehicle and transmits the response to the vehicle.

일 실시예에 따른 차량은, 상기 차량에 연결된 모바일 기기로부터 상기 상황 정보의 정보 값을 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 통신부;를 더 포함한다.The vehicle further includes a communication unit that receives the information value of the status information from the mobile device connected to the vehicle, and transmits the response to the mobile device.

일 측면에 따른 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법은 차량 주행 환경에서 사용자와의 대화 및 차량 상태 정보, 주행 환경 정보, 사용자 정보, 사용자의 발화 후 반응 등의 다양한 정보를 바탕으로 사용자의 의도를 정확하게 파악함으로써, 사용자의 실제 의도에 부합되는 서비스 또는 사용자에게 가장 필요한 서비스를 제공할 수 있다.The conversation system according to one aspect, the vehicle including the conversation system, and the conversation processing method can be classified into a conversation system based on various information such as conversation with a user in a vehicle driving environment, vehicle state information, driving environment information, user information, By accurately grasping the intention, a service meeting the user's actual intention or a service most necessary to the user can be provided.

도 1은 일 실시예에 따른 대화 시스템의 제어 블록도이다.
도 2는 차량 내부의 구성을 나타낸 도면이다.
도 3 내지 도 5는 대화 시스템과 운전자 사이에 주고 받을 수 있는 대화의 예시를 나타낸 도면이다.
도6은 일 실시예에 따른 사용자의 발화에 대응되는 사용자의 발화 후 반응의 예시를 나타낸 도면이다.
도 7 및 도 8은 대화 시스템과 차량의 구성 요소들 사이의 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.
도 9 및 도 10는 대화 시스템의 구성 요소와 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.
도 11은 대화 시스템이 차량에 마련되는 차량 단독 방식에 대한 제어 블록도이다.
도 12 및 도 13는 대화 시스템이 원격 서버에 마련되고 차량이 사용자와 대화 시스템을 연결하는 게이트웨이의 역할만 하는 차량 게이트웨이 방식에 대한 제어 블록도이다.
도 14은 차량 게이트웨이 방식에서 차량이 입력 처리와 출력 처리를 일부 수행할 수 있는 경우에 대한 제어 블록도이다.
도 15는 원격 대화 시스템 서버와 차량이 모두 대화 처리를 수행할 수 있는 하이브리드 방식에 대한 제어 블록도이다.
도 16및 도 17은 차량에 연결된 모바일 기기가 사용자와 원격 대화 시스템 서버를 연결하는 모바일 게이트웨이 방식에 대한 제어 블록도이다.
도 18은 모바일 기기에 대화 시스템이 탑재되는 모바일 단독 방식에 대한 제어 블록도이다.
도 19, 도 20A 및 도 20B는 대화 시스템의 구성 중 입력 처리기의 구성이 세분화된 제어 블록도이다.
도 21A 및 도 21B는 상황 이해 테이블에 저장되는 정보의 예시를 나타낸 도면이다.
도 22은 대화 관리기의 구성이 세분화된 제어 블록도이다.
도 23는 연관 액션 DB에 저장된 정보의 예시를 나타낸 도면이다.
도 24은 액션 수행 조건 DB에 저장된 정보의 예시를 나타낸 도면이다.
도 25는 액션 인자 DB에 저장된 정보의 예시를 나타낸 도면이다.
도 26 는 모호성 해소 정보 DB에 저장되는 정보의 예시를 나타내는 도면이다.
도 27a 및 도 27b는 모호성 해결기가 모호성 해소 정보 DB를 참조하여 모호성을 해결하고 액션을 추출하여 차량을 제어하는 다양한 예시들을 정리한 테이블이다.
도 28은 결과 처리기의 구성을 세분화한 제어 블록도이다.
도 29 내지 도 33은 사용자가 길 안내와 관련한 발화를 입력한 경우에 대화 시스템이 입력을 처리하고, 대화를 관리하고, 결과를 출력하는 구체적인 예시를 나타낸 도면이다.
도 34은 일 실시예에 따른 대화 처리 방법에 있어서, 사용자 입력을 처리하는 방법을 나타낸 순서도이다.
도 35는 일 실시예에 따른 대화 처리 방법에 있어서, 입력 처리기의 출력을 이용하여 대화를 관리하는 방법을 나타낸 순서도이다.
도 36은 일 실시예에 따른 대화 처리 방법에 있어서, 대화 관리의 결과에 대응되는 응답을 생성하기 위한 결과 처리 방법을 나타낸 순서도이다.
도37은 일 실시예에 따른 사용자의 피드백 정보를 입력받는 동작을 나타낸 순서도이다.
1 is a control block diagram of an interactive system according to one embodiment.
2 is a view showing a configuration inside the vehicle.
Figs. 3 to 5 are views showing examples of conversations that can be exchanged between the conversation system and the driver.
FIG. 6 is a diagram illustrating an example of a post-utterance response of a user corresponding to a utterance of a user according to an embodiment.
7 and 8 are control block diagrams schematically illustrating a connection relationship between the interactive system and the components of the vehicle.
Figs. 9 and 10 are simplified control block diagrams showing the connection relationship between the components of the interactive system and the components of the vehicle.
11 is a control block diagram of a vehicle-alone mode in which an interactive system is provided in a vehicle.
Figs. 12 and 13 are control block diagrams of a vehicle gateway system in which a conversation system is provided at a remote server and the vehicle serves as a gateway connecting the conversation system with the user. Fig.
14 is a control block diagram for a case where the vehicle can perform some input processing and output processing in the vehicle gateway system.
15 is a control block diagram for a hybrid method in which both a remote conversation system server and a vehicle can perform conversation processing.
16 and 17 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.
18 is a control block diagram of a mobile single mode in which an interactive system is installed in a mobile device.
19, 20A and 20B are control block diagrams in which the configuration of the input processor is broken down in the configuration of the interactive system.
21A and 21B are views showing examples of information stored in the situation understanding table.
22 is a control block diagram in which the configuration of the dialogue manager is subdivided.
23 is a diagram showing an example of information stored in the association action DB.
24 is a diagram showing an example of information stored in the action execution condition DB.
25 is a diagram showing an example of information stored in the action factor DB.
26 is a diagram showing an example of information stored in the ambiguity resolution information DB.
FIGS. 27A and 27B are tables that summarize various examples in which the ambiguity resolver resolves ambiguities by referring to the ambiguity resolution information DB and extracts an action to control the vehicle.
28 is a control block diagram in which the configuration of the result processor is subdivided.
29 to 33 are diagrams showing specific examples in which the conversation system processes the input, manages the conversation, and outputs the result when the user inputs the utterance related to the guidance.
34 is a flowchart illustrating a method of processing user input in a dialog processing method according to an embodiment.
35 is a flowchart showing a method of managing conversation using the output of an input processor in the conversation processing method according to an embodiment.
36 is a flowchart showing a result processing method for generating a response corresponding to the result of conversation management in the conversation processing method according to the embodiment.
37 is a flowchart illustrating an operation of receiving feedback information of a user according to an embodiment.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numerals refer to like elements throughout the specification. The present specification does not describe all elements of the embodiments, and redundant description between general contents or embodiments in the technical field of the present invention will be omitted. The term 'part, module, member, or block' used in the specification may be embodied in software or hardware, and a plurality of 'part, module, member, and block' may be embodied as one component, It is also possible that a single 'part, module, member, block' includes a plurality of components.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only the case directly connected but also the case where the connection is indirectly connected, and the indirect connection includes connection through the wireless communication network do.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.The singular forms " a " include plural referents unless the context clearly dictates otherwise.

각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. The codes attached to each step are used to identify each step, and these codes do not indicate the order of the steps, and each step is different from the sequence specified unless explicitly stated in the context. .

이하 첨부된 도면들을 참고하여 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법의 실시예를 상세하게 설명한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of an interactive system, a vehicle including the interactive system, and a method for processing a conversation will be described in detail with reference to the accompanying drawings.

일 실시예에 따른 대화 시스템은 사용자의 음성 및 음성 외 입력을 이용하여 사용자의 의도를 파악하고 사용자의 의도에 적합한 서비스 또는 사용자에게 필요한 서비스를 제공하는 장치로서, 서비스 제공의 일 수단 또는 사용자의 의도를 명확히 파악하기 위한 일 수단으로 시스템 발화를 출력함으로써 사용자와 대화를 수행할 수 있다. An interactive system according to an exemplary embodiment of the present invention is an apparatus for identifying a user's intention using a user's voice and voice input and providing a service suitable for a user's intention or a service required for a user, The user can perform conversation with the user by outputting the system utterance as a means for clearly grasping the user.

당해 실시예에서 사용자에게 제공되는 서비스는 정보의 제공, 차량의 제어, 오디오/비디오/내비게이션 기능의 실행, 외부 서버로부터 가져온 컨텐츠의 제공 등 사용자의 필요나 사용자의 의도에 부응하기 위해 수행되는 모든 동작을 포함할 수 있다.In this embodiment, the service provided to the user includes all operations performed to meet the needs of the user, such as providing information, controlling the vehicle, executing audio / video / navigation functions, . ≪ / RTI >

또한, 일 실시예에 따른 대화 시스템은 차량 환경에 특화된 대화 처리 기술을 제공함으로써, 차량이라는 특수한 환경에서 사용자의 의도를 정확히 파악할 수 있다.In addition, the conversation system according to an embodiment can provide a conversation processing technique specific to the vehicle environment, thereby accurately grasping the intention of the user in a special environment of a vehicle.

이러한 대화 시스템과 사용자를 연결하는 게이트 웨이는 차량 또는 차량에 연결된 모바일 기기가 될 수 있다. 후술하는 바와 같이, 대화 시스템은 차량에 마련될 수도 있고, 차량 외부의 원격 서버에 마련되어 차량 또는 차량에 연결된 모바일 기기와의 통신을 통해 데이터를 주고 받을 수도 있다. The gateway connecting these dialog systems to the user may be a vehicle or a mobile device connected to the vehicle. As will be described later, the conversation system may be provided in a vehicle, or may be provided in a remote server outside the vehicle, and may exchange data through communication with a vehicle or a mobile device connected to the vehicle.

또한, 대화 시스템의 구성 요소 중 일부는 차량에 마련되고 일부는 원격 서버에 마련되어 대화 시스템의 동작을 차량과 원격 서버에서 부분적으로 수행하는 것도 가능하다.It is also possible that some of the components of the conversation system are provided in the vehicle and some are provided in the remote server so that the operation of the conversation system is partially performed in the vehicle and the remote server.

도 1은 일 실시예에 따른 대화 시스템의 제어 블록도이다.1 is a control block diagram of an interactive system according to one embodiment.

도 1a을 참조하면, 일 실시예에 따른 대화 시스템(100)은 사용자의 음성 및 음성 외 입력을 포함하는 사용자 입력이나 차량과 관련된 정보 또는 사용자와 관련된 정보를 포함하는 입력을 처리하는 입력 처리기(110), 입력 처리기(110)의 처리 결과를 이용하여 사용자의 의도를 파악하고, 사용자의 의도나 차량의 상태에 대응되는 액션을 결정하는 대화 관리기(120), 대화 관리기(120)의 출력 결과에 따라 특정 서비스를 제공하거나 대화를 계속 이어 나가기 위한 시스템 발화를 출력하는 결과 처리기(130) 및 대화 시스템(100)이 후술하는 동작을 수행하기 위해 필요한 각종 정보를 저장하는 저장부(140)를 포함한다.Referring to FIG. 1A, an interactive system 100 according to an embodiment includes an input processor 110 (FIG. 1A) that processes input including user input, vehicle-related information, A dialogue manager 120 for determining an intention of the user by using the processing result of the input processor 110 and determining an action corresponding to the intention of the user or the state of the vehicle, A result processor 130 for outputting a system utterance for providing a specific service or continuing a conversation, and a storage unit 140 for storing various information necessary for the conversation system 100 to perform an operation described later.

입력 처리기(110)는 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. 음성 외 입력은 사용자의 제스처 인식이나, 입력 장치의 조작을 통해 입력되는 사용자의 음성 외 입력, 차량의 상태를 나타내는 차량 상태 정보, 차량의 주행 환경과 관련된 주행 환경 정보, 사용자의 상태를 나타내는 사용자 정보 등을 포함할 수 있다. 이러한 정보들 외에도 차량과 사용자와 관련된 정보로서, 사용자의 의도를 파악하거나 사용자에게 서비스를 제공하기 위해 사용될 수 있는 정보이면, 모두 입력 처리기(110)의 입력이 될 수 있다. 사용자는 운전자와 탑승자를 모두 포함할 수 있다. 입력 처리기(110)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 변환하고, 사용자의 발화문에 자연어 이해(Natural Language Understanding) 기술을 적용하여 사용자의 의도를 파악한다. The input processor 110 can receive two kinds of input, that is, user voice and non-voice input. The non-voice input includes a user's gesture recognition, a non-voice input of the user input through the operation of the input device, vehicle status information indicating the status of the vehicle, driving environment information related to the driving environment of the vehicle, And the like. In addition to this information, information related to the vehicle and the user can be input to the input processor 110 if the information can be used to grasp the user's intention or provide the service to the user. The user may include both the driver and the passenger. The input processor 110 recognizes the input user speech, converts the input user speech into a textual speech, and grasps the user's intention by applying a Natural Language Understanding technique to the user's utterance.

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

입력 처리기(110)는 자연어 이해를 통해 파악한 사용자의 의도와 상황에 관련된 정보 등을 대화 관리기(120)로 전달한다. 입력처리기(110)는 사용자의 발화를 입력 받을 수 있다. 발화는 후술하는 바와 같이 음성입력장치(210)를 통해 입력 받을 수 있다. 또한 입력 처리기(110)는 사용자의 발화 이후의 사용자의 발화 후 반응을 입력 받을 수 있다. 사용자의 발화 후 반응은 발화와 같은 음성 반응일 수 있으며 음성 외의 반응일 수 있다. 사용자의 발화 후 반응이 음성 반응인 경우 발화와 같이 음성입력장치(210)를 통하여 발화 후 반응을 입력 받을 수 있다. 또한 사용자의 발화 후 반응이 음성 외 반응인 경우 음성 외 입력장치(220)를 통하여 사용자의 발화 후 반응을 입력 받을 수 있다. 입력 처리기(110)는 이러한 발화 후 반응을 발화 후 반응로 전달 할 수 있다. The input processor 110 transmits the information related to the intention of the user and the situation, etc., obtained through natural language understanding, to the dialogue manager 120. The input processor 110 may receive a user's utterance. The speech may be input through the speech input device 210 as described later. In addition, the input processor 110 can receive a response after the user's utterance after the utterance of the user. The user's post-utterance reaction may be a negative reaction, such as an ignition, and may be a negative response. If the response after the user's speech is negative, the user can input the response after the speech through the speech input device 210 as in the case of speech. Also, if the user's reaction after the speech is an extraneous response, the user can input the response after the speech input through the non-speech input device 220. The input processor 110 can transmit the post-ignition response to the reaction after the ignition.

한편 사용자의 발화 후 반응은 음성입력장치 및 음성 외 입력장치가 아닌 별도로 마련된 반응 수집 장치에 의해서 입력 될 수도 있다. 이와 관련된 자세한 설명은 후술한다. On the other hand, the reaction after the user's utterance may be input by a reaction collecting apparatus provided separately from the voice input apparatus and the voice input apparatus. A detailed description related thereto will be described later.

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

당해 실시예에서 액션은 특정 서비스를 제공하기 위해 수행되는 모든 동작을 의미할 수 있으며, 액션의 종류는 미리 정의될 수 있다. 경우에 따라, 서비스의 제공과 액션의 수행은 동일한 의미일 수 있다. 특히, 대화 관리기(120)는 입력 처리기(110)로부터 입력 받은 발화 후 반응을 기초로 학습하고, 사용자의 의도를 파악 할 수 있다. 또한 전술한 바와 같이 사용자의 발화 후 반응은 별도로 마련된 반응수집장치에 의해서도 입력 될 수 있으며, 반응수집장치는 대화 관리기(120)와 별도로 마련된 기능변경학습기와 연결되어 사용자의 발화 후 반응으로부터 사용자의 의도를 학습하고, 피드백 정보를 도출할 수 있다. In this embodiment, an action may mean all actions performed to provide a particular service, and the type of action may be predefined. In some cases, provision of a service and performance of an action may have the same meaning. In particular, the conversation manager 120 learns the intention of the user by learning based on the post-utterance response inputted from the input processor 110. As described above, the post-utterance response of the user can also be input by a separate reaction collection apparatus. The reaction collection apparatus is connected to the function change learning unit provided separately from the dialogue manager 120, And derive the feedback information.

예를 들어, 도메인/액션 추론 규칙 DB(141, 도 19A 참조)에 길 안내, 차량 상태 점검, 주유소 추천 등과 같은 액션이 미리 정의될 수 있고, 저장된 추론 규칙에 따라 사용자의 발화에 대응되는 액션, 즉 사용자가 의도하는 액션을 미리 정의된 액션 중에서 추출할 수 있다. 또한, 차량에 발생한 이벤트와 연관된 액션이 미리 정의되어 연관 액션 DB(146b, 도 21 참조)에 저장될 수 있다. For example, an action such as a route guidance, a vehicle condition check, a petrol station recommendation or the like may be predefined in the domain / action reasoning rule DB 141 (see Fig. 19A), and an action corresponding to a user's utterance, That is, the user can extract an intended action from a predefined action. In addition, an action associated with an event that has occurred in the vehicle may be predefined and stored in the associated action DB 146b (see FIG. 21).

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

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

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

저장부(140)는 대화 처리 및 서비스 제공에 필요한 각종 정보를 저장한다. 예를 들어, 자연어 이해에 사용되는 도메인, 액션, 화행, 개체명과 관련된 정보를 미리 저장할 수 있고, 입력된 정보로부터 상황을 이해하기 위해 사용되는 상황 이해 테이블을 저장할 수도 있으며, 차량에 마련된 센서가 감지한 데이터, 사용자와 관련된 정보, 액션 수행을 위해 필요한 정보를 미리 저장할 수도 있다. 특히 저장부(140)는 사용자의 발화에 대응되는 사용자의 피드백 정보를 저장 할 수 있다. 저장부(140)에 저장되는 정보들에 관한 더 자세한 설명은 후술하도록 한다.The storage unit 140 stores various kinds of information necessary for conversation processing and service provisioning. For example, information related to a domain, an action, an action, and an object name used for natural language understanding can be stored in advance, a situation understanding table used for understanding the situation can be stored from input information, One data, information related to the user, and information necessary for performing an action may be stored in advance. In particular, the storage unit 140 may store feedback information of a user corresponding to a user's utterance. 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 technique specific to the vehicle environment. All of the components of the conversation system 100 may be included in the vehicle, or only a part thereof may be included. The conversation system 100 may be provided at a remote server and the vehicle may serve only as a gateway between the conversation system 100 and the user. In either case, the conversation system 100 may be connected to a user via a vehicle or a mobile device associated with the vehicle.

도1b는 본 발명의 다른 실시예에 의한 대화 시스템의 제어블럭도이다. 1B is a control block diagram of an interactive system according to another embodiment of the present invention.

도1b를 참고하면, 입력 처리기는 반응 수집 장치(110-1)를 포함할 수 있고, 및 대화 관리기는 기능 변경 학습기(120-1)를 포함할 수 있다. Referring to FIG. 1B, the input processor may include a reaction collection device 110-1, and the conversation manager may include a function change learning device 120-1.

반응수집장치는 상술한 입력 처리기와 같이 사용자 음성과 음성 외 입력, 두 가지 종류의 입력을 수신할 수 있다. 음성 외 입력은 사용자의 제스처 인식이나, 입력 장치의 조작을 통해 입력되는 사용자의 음성 외 입력, 차량의 상태를 나타내는 차량 상태 정보, 차량의 주행 환경과 관련된 주행 환경 정보, 사용자의 상태를 나타내는 사용자 정보 등을 포함할 수 있다. The reaction collecting apparatus can receive two kinds of inputs, such as a user voice and a voice input, as in the input processor described above. The non-voice input includes a user's gesture recognition, a non-voice input of the user input through the operation of the input device, vehicle status information indicating the status of the vehicle, driving environment information related to the driving environment of the vehicle, And the like.

다만, 반응수집장치는 사용자의 발화가 이루어지고 그 후의 사용자의 발화 후 반응을 입력 받는 구성으로 구현될 수 있다. 즉, 반응수집장치는 사용자의 음성 및 행동을 무조건 적으로 입력 받지 않고 사용자의 발화를 파악하고 그 후의 사용자의 발화 후 반응을 입력 받을 수 있다. However, the reaction collecting device can be implemented with a configuration in which the user's utterance is performed and the reaction is inputted after the user's utterance. That is, the reaction collecting device can grasp the user's utterance without unconditionally inputting the voice and the behavior of the user, and can input the reaction after the user's utterance.

이러한 정보들 외에도 차량과 사용자와 관련된 정보로서, 사용자의 의도를 파악하거나 사용자에게 서비스를 제공하기 위해 사용될 수 있는 정보이면, 모두 반응 수집 장치(110-1)의 입력이 될 수 있다. 사용자는 운전자와 탑승자를 모두 포함할 수 있다. 반응 수집 장치(110-1)는 후술하는 바와 같이 기능 변경 학습기(120-1)와 연결되어 피드백 정보를 도출할 수 있으며, 대화 관리기와 연결되어 피드백 정보를 도출할 수도 있다. In addition to this information, information related to the vehicle and the user can be input to the reaction collecting apparatus 110-1, if it is information that can be used to grasp the user's intention or provide the service to the user. The user may include both the driver and the passenger. The reaction collecting device 110-1 may be connected to the function change learning device 120-1 to derive the feedback information as described later, or may be connected to the dialogue manager to derive the feedback information.

기능 변경 학습기(120-1)는 이러한 반응수집장치와 연결되어 반응수집장치가 획득한 사용자의 발화 후 반응을 이용하여 피드백 정보를 도출할 수 있다. 기능 변경 학습기(120-1)는 사용자의 발화 후 반응을 기초로 사용자의 발화의 의도를 파악하여 피드백 정보를 도출하므로서 후에 사용자의 발화 만으로 사용자의 의도에 부합한 액션을 실시할 수 있도록 구성될 수 있다. 도 2는 차량 내부의 구성을 나타낸 도면이다.The function change learning device 120-1 may be connected to the reaction collection device to derive the feedback information using the post-speech response of the user acquired by the reaction collection device. The function change learning device 120-1 may be configured to recognize an intention of the user's utterance based on the reaction after the utterance of the user and to derive the feedback information so that an action corresponding to the intention of the user can be performed only by the user's utterance have. 2 is a view showing a configuration inside the vehicle.

도 2를 참조하면, 차량(200) 내부의 대시보드(201)의 중앙 영역인 센터페시아(203)에는 오디오 기능, 비디오 기능, 내비게이션 기능 또는 전화 걸기 기능을 포함하는 차량의 제어를 수행하기 위해 필요한 화면을 표시하는 디스플레이(231)와 사용자의 제어 명령을 입력 받기 위한 입력 버튼(221)이 마련될 수 있다. 2, the center fascia 203, which is a central area of the dashboard 201 inside the vehicle 200, is required to perform control of the vehicle including an audio function, a video function, a navigation function, A display 231 for displaying a screen and an input button 221 for receiving a control command of the user may be provided.

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

디스플레이(231), 입력 버튼(221) 및 각종 기능을 전반적으로 제어하는 프로세서를 포함하는 모듈을 AVN(Audio Video Navigation) 단말이라 할 수도 있고, 헤드유닛(Head Unit)이라 할 수도 있다. A module including a display 231, an input button 221 and a processor for 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 have.

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

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

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

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

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

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

일 실시예에 따른 대화 시스템(100)은 차량 환경에 특화된 대화 처리 기술을 이용하여 사용자의 라이프스타일에 최적화된 서비스를 제공하고, 커넥티드카(Connected Car), 사물인터넷(IoT), 인공지능(AI) 등의 기술을 이용한 새로운 서비스를 구성할 수 있다. 또한 대화 시스템(100)은 사용자의 발화 후 반응에 기초한 피드백 정보를 기초로 학습할 수 있고 학습한 결과를 기초로 사용자의 의도를 파악 할 수 있다. 또한 기능변경학습기는 사용자의 발화 후 반응에 기초한 피드백 정보를 기초로 학습할 수 있고 학습한 결과를 기초로 사용자의 의도를 파악 할 수 있다.The interactive system 100 according to an exemplary embodiment provides a service optimized for a lifestyle of a user by using a conversation processing technique specialized in a vehicle environment, and can provide services optimized for a connected car, an Internet (IoT), an artificial intelligence AI) can be configured. Also, the conversation system 100 can learn based on the feedback information based on the response after the user's utterance, and can grasp the user's intention based on the learning result. Further, the function change learning device can learn based on the feedback information based on the response after the user's utterance, and can grasp the intention of the user based on the result of learning.

일 실시예에 따른 대화 시스템(100)과 같이 차량 환경에 특화된 대화 처리 기술을 적용할 경우, 운전자의 직접 주행 상황에서, 주요 상황(Context)에 대한 인지 및 대응이 용이하다. 유량 부족, 졸음 운전 등 주행에 영향을 미치는 요소에 가중치를 부여하여 서비스를 제공할 수 있고, 대부분의 경우 목적지로 이동 중인 조건을 기반으로 주행 시간, 목적지 정보 등 서비스 제공을 위해 필요한 정보를 용이하게 획득할 수 있다. In the case of applying the conversation processing technique specific to the vehicle environment such as the interactive system 100 according to the embodiment, it is easy to recognize and respond to the main context in the direct driving situation of the driver. In many cases, it is possible to provide information necessary for providing service such as travel time and destination information on the basis of the condition being moved to the destination in most cases. Can be obtained.

또한, 운전자의 의도를 파악하고, 기능을 제안하는 지능적인 서비스를 용이하게 구현할 수 있다. 이는 운전자의 직접 주행 상황에 있어 실시간 정보와 액션을 우선적으로 고려하기 때문이다. 일 예로, 주행 중에 운전자가 주유소를 검색하면, 이는 지금 주유소에 가겠다는 운전자의 의도로 해석될 수 있다. 그러나, 차량이 아닌 환경에서 주유소를 검색할 경우 지금 주유소를 가겠다는 의도 외에 위치 정보 조회, 전화번호 조회, 가격 조회 등 다른 다양한 의도로도 해석되는 것이 가능하다.Further, it is possible to easily realize an intelligent service that grasps the intention of a driver and suggests a function. This is because priority is given to real-time information and action in the driver's direct driving situation. For example, if a driver searches for a gas station while driving, this can be interpreted as the intention of the driver to go to the gas station now. However, if a gas station is searched for in a non-vehicle environment, it can be interpreted as various other intentions such as location information inquiry, telephone number inquiry, and price inquiry besides the intention of going to a gas station now.

또한, 차량은 한정적인 공간이지만, 그 안에 다양한 상황이 존재할 수 있다. 예를 들어, 렌터카 등 생소한 인터페이스의 운전 상황, 대리 운전을 맡긴 상황, 세차 등 차량 관리 상황, 유아를 탑승시키는 상황, 특정 목적지를 찾아가는 상황 등에서 대화 시스템(100)을 활용할 수 있다. Further, although the vehicle is a limited space, various situations may exist therein. For example, the interactive system 100 can be utilized in a driving situation of an unfamiliar interface such as a rental car, a situation in which a surrogate operation is left, a vehicle management situation such as a car wash, a situation in which a child is boarded,

또한, 차량 점검 단계, 출발 준비 단계, 주행 단계, 주차 단계 등 차량의 주행과 그 전후를 구성하는 각각의 단계에서도 다양한 서비스의 기회와 대화 상황들이 발생한다. 특히, 차량 문제의 대처 방안을 모르는 상황, 차량과 각종 외부 기기 연동 상황, 연비 등 주행 습관 확인 상황, 스마트 크루즈 컨트롤(Smart Cruise Control) 등의 안전 지원 기능 활용 상황, 내비게이션 조작 상황, 졸음 운전 상황, 매일 동일한 경로를 반복해서 주행하는 상황, 주정차가 가능한 곳인지 확인해야 하는 상황 등에서 대화 시스템(100)을 활용할 수 있다. In addition, various service opportunities and conversation situations arise at each stage of the vehicle driving, including the vehicle inspection phase, the starting preparatory phase, the driving phase, and the parking phase. Especially, the situation of using the safety support functions such as the situation of not knowing how to cope with the vehicle problem, the situation of interlocking of the vehicle with various external devices, driving habit confirmation such as fuel consumption, Smart Cruise Control, The conversation system 100 can be utilized in a situation in which the user repeatedly travels the same route every day, or in a situation where it is necessary to confirm whether or not the parking space is available.

또한 차량(200)은 에어컨시설(222)를 구비 하여 차량 내부의 온도를 적절하게 유지할 수 있다.In addition, the vehicle 200 may include an air conditioner 222 to properly maintain the temperature inside the vehicle.

도 3 내지 도 5는 대화 시스템과 운전자 사이에 주고 받을 수 있는 대화의 예시를 나타낸 도면이다.Figs. 3 to 5 are views showing examples of conversations that can be exchanged between the conversation system and the driver.

도 3을 참조하면, 운전자가 현재 잔유량을 묻는 발화(U1: 지금 기름이 얼마나 남았어?)를 입력하면, 대화 시스템(100)은 현재 잔유량에 대한 정보를 제공하는 발화(S1: 현재 남은 기름으로 43km 주행 가능합니다)를 출력할 수 있다. Referring to FIG. 3, when the driver inputs an utterance (U1: how much oil is left now) asking for the current amount of residual oil, the conversation system 100 determines whether or not the utterance (S1: 43 km can be traveled) can be output.

운전자는 주유소로 경로 안내를 받기 위해 근처 주유소를 묻는 발화 (U2: 근처 주유소 알려줘)를 입력할 수 있고, 대화 시스템(100)은 현재 위치에서 가장 가까운 주유소에 대한 정보를 제공하는 발화(S2: 현재 위치에서 가까운 주유소로 A 오일 성림 주유소, B 오일 장대 주유소, C 오일 태평양 주유소가 있습니다)를 출력할 수 있다.The driver can input a speech (U2: tell a nearby gas station) asking for a nearby gas station to receive a route guidance to the gas station, and the conversation system 100 can input an utterance (S2: There is a gas station near the location where you can output Aoyama Seongrim gas station, B oil pole gas station, and C oil Pacific gas station).

운전자는 추가적으로 기름 가격에 대한 정보를 요청하기 위한 발화 (U3: 그 중 가장 싼 곳은 어디야?)를 입력할 수 있고, 대화 시스템(100)은 유종 별 가격에 대한 정보 제공하는 발화(S3: 휘발유 가격이 가장 낮은 곳은 B 오일 장대 주유소로 리터당 1,294원이고, 경유 가격이 가장 낮은 곳은 A 오일 성림 주유소로 리터당 985원입니다)를 출력할 수 있다.The operator can input an utterance (U3: Where is the cheapest?) For requesting additional information on the price of the oil, and the conversation system 100 can input the information about the price of the oil (S3: The lowest price is the B oil station gas station with a price of 1,294 won per liter, while the lowest gas price is the A Yong Sung lim gas station with a price of 985 won per liter).

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

즉, 운전자는 대화 시스템(100)과의 대화를 통하여 현재 차량의 유종을 가장 싼 가격에 판매하는 근처의 주유소로 경로 안내를 받을 수 있게 된다.That is, the driver can receive the route guidance to the nearby gas station, which sells the current type of the current vehicle at the lowest price through the conversation with the conversation system 100.

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

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

이 경우, 도 4에 도시된 바와 같이, 운전자가 기름 가격에 대한 정보를 요청하기 위한 발화(U3)를 입력하지 않더라도(U3 생략) 대화 시스템(100)이 기름 가격에 대한 정보, 특히 현재 차량의 유종인 휘발유의 가격에 대한 정보를 제공하는 발화(S2+S3=S3')을 선제적으로 출력할 수 있다. In this case, even if the driver does not input the utterance (U3) for requesting the information on the oil price (U3 is omitted), the conversation system 100 displays the information on the oil price, (S2 + S3 = S3 ') that provides information on the price of gasoline, which is a pollutant, in advance.

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

또한, 대화 시스템(100)은 운전자가 현재 잔유량을 물었다는 사실에 기초하여 운전자의 의도가 주유소 검색이라는 점을 스스로 파악할 수도 있다. In addition, the conversation system 100 may determine by itself that the intention of the driver is a gas station search on the basis of the fact that the driver has asked for the present amount of residual gas.

이 경우, 도 5에 도시된 바와 같이, 운전자가 근처 주유소를 묻는 발화(U2)를 입력하지 않더라도(U2 생략), 대화 시스템(100)이 기름 가격에 대한 정보를 제공하는 발화(S2+S3=S3")를 선제적으로 출력할 수 있다. In this case, even if the driver does not input the utterance U2 for asking the nearby gas station (U2 is omitted), the conversation system 100 generates the utterance (S2 + S3 = S3 ") can be output in advance.

또한, 기름 가격에 대한 정보를 제공하는 발화(S3")에 현재 위치에서 가장 가까우면서 기름 가격이 가장 싼 주유소가 하나인 경우에는 해당 주유소로 안내할 지 여부까지 함께 질의할 수 있다. 따라서, 사용자는 어느 주유소로 안내해달라는 구체적인 발화를 입력하지 않고, 단순히 대화 시스템(100)의 질의에 동의하는 발화(U4': 그래)를 입력함으로써 해당 주유소로의 길 안내를 요청할 수 있다.In addition, if there is one gas station having the lowest oil price, which is the closest to the current position in the utterance (S3 ") providing information on the oil price, it is possible to inquire about whether or not to guide the gas station to the gas station. Can input the utterance (U4 ': YES) agreeing with the inquiry of the conversation system 100 without inputting a specific utterance to be guided to a gas station, and can request the route guidance to the gas station.

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

도6은 일 실시예에 따른 사용자의 발화에 대응되는 사용자의 발화 후 반응의 예시를 나타낸 도면이다.FIG. 6 is a diagram illustrating an example of a post-utterance response of a user corresponding to a utterance of a user according to an embodiment.

도6a을 참고하면 사용자는 차량 내부의 온도에 따라 발화(W1 : 더워)를 입력 할 수 있다. 대화 시스템(100)은 사용자의 발화(W1)에 기초하여 차량의 온도를 감소 시키는 동작을 할 수 있다. 일 실시예에 따르면 대화 시스템(100)은 차량 내부에 구비된 에어컨(222)의 바람세기를 증가 시킬 수 있다. 대화 시스템(100)이 차량내부의 구성을 제어하는 자세한 동작은 후술한다. 대화 시스템(100)이 차량의 구성을 제어하는 동작에 대응하여 사용자가 에어컨을 끄고(W2, 222) 창문을 여는 경우(W3, 253a) 차량에 구비된 음성외 입력 장치(220)에 의하여 사용자의 발화 후 반응을 입력할 수 있다. 대화 시스템(100)은 사용자의 발화 후 반응을 기초로 피드백 정보를 도출할 수 있으며, 사용자의 발화에 대응되는 사용자의 발화 후 반응이 반복되는 경우 사용자의 피드백 정보를 기초로 액션인자 및 조건 판단 인자를 변경하여 차후 사용자가 동일한 발화를 입력하는 경우, 사용자의 의도가 반영된 동작을 출력할 수 있다. 이러한 피드백 정보를 도출하는 과정에서 대화 관리기는 사용자의 발화에 대응되는 사용자의 의도를 학습할 수 있다. Referring to FIG. 6A, the user can input the ignition (W1: hot) according to the temperature inside the vehicle. The conversation system 100 may be operable to reduce the temperature of the vehicle based on the user's utterance W1. According to one embodiment, the interactive system 100 may increase the wind strength of the air conditioner 222 provided inside the vehicle. The detailed operation in which the conversation system 100 controls the configuration inside the vehicle will be described later. When the user turns off the air conditioner (W2, 222) and opens the window (W3, 253a) corresponding to the operation in which the conversation system 100 controls the configuration of the vehicle, After the ignition, the reaction can be input. The dialog system 100 can derive the feedback information based on the response after the user's utterance. If the response after the user's utterance corresponding to the utterance of the user is repeated, To output the operation reflecting the intention of the user when the subsequent user inputs the same utterance. In the course of deriving such feedback information, the dialogue manager can learn the user's intention corresponding to the user's utterance.

구체적으로, 사용자가 "더워(W1)"로 발화 한 후 차량은 에어컨을 가동하는 액션을 출력하지만, 사용자의 "더워(W1)"발화 이후에 미리 결정된 횟수 이상으로 사용자가 창문을 내리는 발화 후 반응을 하는 경우에 대화 관리기는 창문을 내리는 액션을 "더워(W1)"와 대응되도록 하는 피드백 정보를 도출할 수 있다. 이러한 동작을 통하여 사용자가 "더워(W1)"를 발화한 경우의 창문을 내리는 사용자 의도를 학습할 수 있다. Specifically, after the user has uttered "hot (W1)", the vehicle outputs an action for activating the air conditioner, but after the user's "warm (W1)" utterance, the user releases the window more than a predetermined number of times The dialogue manager can derive the feedback information that makes the action of bringing down the window correspond to "hot (W1) ". Through this operation, the user can learn the intention of the user to lower the window when the user has uttered the "hot (W1) ".

도6b는 사용자의 발화 후 반응이 음성인 경우를 나타낸 도면이다. FIG. 6B is a diagram showing a case where the reaction after the user's utterance is negative.

도6b를 참고하면 사용자는 차량 내부의 온도에 따라 발화(V1 : 더워)를 입력 할 수 있다. 대화 시스템(100)은 사용자의 발화(V1)에 기초하여 차량의 온도를 감소 시키는 동작을 할 수 있다. 일 실시예에 따르면 대화 시스템(100)은 차량 내부에 구비된 에어컨(222)의 바람세기를 증가 시킬 수 있다. 대화 시스템(100)이 차량의 구성을 제어하는 동작에 대응하여 사용자가 음성으로 발화 후 반응을 입력한 경우(V2 : 짜증나) 차량에 구비된 음성 입력 장치(210)에 의하여 사용자의 발화 후 반응을 입력할 수 있다. 대화 시스템(100)은 사용자의 발화 후 반응을 기초로 피드백 정보를 도출할 수 있으며 이를 기초로 사용자의 의도를 학습할 수 있다. 사용자의 발화에 대응되는 발화 후 반응이 반복되는 경우 사용자의 피드백 정보를 기초로 액션인자 및 조건 판단 인자를 변경하여 차후 사용자가 동일한 발화를 입력하는 경우, 사용자의 의도가 반영된 동작을 출력할 수 있다. 도6b의 경우에는, 대화 시스템(100)이 출력한 액션에 사용자가 불만족 하는 발화 후 반응을 입력하였으므로, 대화 시스템(100)은 차후 사용자가 같은 발화(V1 : 더워)를 입력 한 경우 에어컨(222)의 바람을 증가시키지 않고 창문을 여는 액션을 출력 할 수 있다. 도6에서 나타낸 동작은 일 실시예에 불과하며 대화 시스템(100)이 차량 내부를 제어하는 동작이면 대화 시스템(100)이 사용자의 발화 후 반응을 학습하는 동작은 제한하지 않는다.Referring to FIG. 6B, the user can input the ignition (V1: hot) according to the temperature inside the vehicle. The conversation system 100 may be operable to reduce the temperature of the vehicle based on the user's utterance V1. According to one embodiment, the interactive system 100 may increase the wind strength of the air conditioner 222 provided inside the vehicle. In response to the operation of controlling the configuration of the vehicle by the conversation system 100, when the user inputs a reaction after uttering voice (V2: annoying), the voice input device 210 provided in the vehicle performs a reaction Can be input. The dialog system 100 can derive the feedback information based on the response after the user's utterance and can learn the intention of the user on the basis of the feedback information. When the reaction after the speech corresponding to the user's utterance is repeated, the action factor and the condition judgment factor are changed based on the feedback information of the user, so that when the next user inputs the same utterance, the operation reflecting the intention of the user can be outputted . 6B, since the user inputs an unsatisfactory response to the action output by the conversation system 100, the conversation system 100 determines whether or not the conversation system 100 receives the same speech (V1: hot) ) To open the window without increasing the wind. The operation shown in Fig. 6 is only an embodiment, and the operation in which the conversation system 100 learns the response after the user's utterance is not limited if the conversation system 100 controls the inside of the vehicle.

도 7및 도 8은 대화 시스템과 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다.7 and 8 are control block diagrams briefly showing the connection relationship between the interactive system and the components of the vehicle.

도 7을 참조하면, 대화 시스템(100)에 입력되는 사용자의 음성은 차량(200)에 마련된 음성 입력 장치(210)를 통해 입력될 수 있다. 앞서 도 2에서 설명한 바와 같이, 음성 입력 장치(210)는 차량(200) 내부에 마련된 마이크로폰을 포함할 수 있다. 음성 입력 장치(210)는 사용자의 발화를 입력 받을 수 있고, 대화 시스템(100)이 출력한 액션에 대응되는 사용자의 발화 후 반응을 입력 받을 수 있다. Referring to FIG. 7, a voice of a user input to the conversation system 100 may be input through a 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. The speech input apparatus 210 can receive a user's utterance, and can receive a user's utterance response corresponding to an action output by the conversation system 100.

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

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

한편, 음성 외 입력장치(220)는 상술한 음성 입력 장치(210)과 같이 사용자의 음성 외 피드백 동작을 입력 받을 수 있다. 대화 시스템(100)이 출력한 액션에 대응하여 사용자가 입력 버튼(221, 223)과 조그 셔틀(225)을 조작하는 경우, 대화 시스템(100)은 사용자의 발화 후 반응을 인지할 수 있다. 차량에 관한 정보는 차량 제어기(240)를 통해 대화 시스템(100)에 입력될 수 있다. 차량에 관한 정보는 차량(200)에 마련된 각종 센서를 통해 획득된 차량 상태 정보 또는 주변 상황 정보를 포함할 수 있고, 차량의 유종과 같이 차량(200)에 기본적으로 저장된 정보도 포함할 수 있다. Meanwhile, the non-voice input device 220 can receive the non-voice feedback operation of the user like the voice input device 210 described above. When the user operates the input buttons 221 and 223 and the jog shuttle 225 corresponding to the action output by the dialog system 100, the dialog system 100 can recognize the reaction after the user's utterance. Information about the vehicle can be input to the conversation system 100 via the vehicle controller 240. [ The information about the vehicle may include vehicle status information or surrounding status 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 the vehicle.

대화 시스템(100)은 음성 입력 장치(210)를 통해 입력된 사용자 음성, 음성 외 입력 장치(220)를 통해 입력된 사용자의 음성 외 입력, 차량 제어기(240)를 통해 입력된 각종 정보를 이용하여 사용자의 의도와 상황을 파악하고, 사용자의 의도에 대응되는 액션을 수행하기 위한 응답을 출력한다. 즉, 사용자의 발화 후 반응을 기초로 피드백 정보를 형성하여 대화 시스템(100)이 출력하는 액선에 사용되는 액션 인자 및 조건 판단 인자를 새로 형성하거나, 변경 할 수 있다. The conversation system 100 uses the user's voice inputted through the voice input device 210, the voice input from the user inputted through the voice input device 220 and various information inputted through the vehicle controller 240 It grasps the user's intention and situation, and outputs a response for performing an action corresponding to the user's intention. That is, the feedback information may be formed based on the response of the user after the speech, so that the action factors and the condition determination factors used in the liquid line outputted by the dialog system 100 may be newly formed or changed.

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

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

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

도 8에 도시된 바와 같이, 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 속도, 엔진 온도, 타이어 공기압, 현재 위치 등과 같이 차량에 마련된 센서로부터 획득되는 정보는 내부 신호 제어기(241)를 통해 대화 시스템(100)에 입력될 수 있다. As shown in FIG. 8, information obtained from a sensor provided in the vehicle, such as a residual amount, a rainfall amount, a rainfall rate, surrounding obstacle information, a speed, an engine temperature, a tire air pressure, (100).

V2X(Vehicle to Everything)를 통해 외부에서 획득된 주행 환경 정보는 외부 신호 제어기(242)를 통해 대화 시스템(100)에 입력될 수 있다. V2X는 차량이 주행하면서 도로 인프라 및 다른 차량과 상호 통신하면서 교통 상황 등 각종 유용한 정보를 교환 및 공유하는 것을 의미한다. The traveling environment information obtained from the outside through the V2X (Vehicle to Everything) can be inputted to the conversation system 100 through the external signal controller 242. [ V2X means to exchange various useful information such as traffic situation while communicating with road infrastructure and other vehicles while the vehicle is traveling.

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

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

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

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

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

도 9및 도 10은 대화 시스템의 구성 요소와 차량의 구성 요소들 사이의 연결 관계를 간략하게 나타낸 제어 블록도이다. Figs. 9 and 10 are simplified control block diagrams showing the connection relationship between the components of the interactive system and the components of the vehicle.

도 8을 참조하면, 음성 입력 장치(210)로부터 전송된 사용자 음성은 입력 처리기(110) 내의 음성 입력 처리기(111)로 입력되고, 음성 외 입력 장치(220)로부터 전송된 사용자의 음성 외 입력은 입력 처리기(110) 내의 상황 정보 처리기(112)로 입력된다. 8, the user voice transmitted from the voice input device 210 is input to the voice input processor 111 in the input processor 110, and the voice input from the voice input device 220 And input to the situation information processor 112 in the input processor 110.

상황 정보 처리기(112)는 차량 상태 정보, 주행 환경 정보, 사용자 정보 등에 기초하여 상황을 이해한다. 대화 시스템(100)은 이러한 상황 이해를 통해 사용자의 의도를 더 정확히 파악하거나 현재 사용자에게 필요한 서비스를 효과적으로 찾을 수 있다. 사용자 정보에는 사용자의 발화에 대응한 사용자의 피드백 정보가 포함 될 수 있다. The situation information processor 112 understands the situation based on the vehicle condition information, the traveling environment information, the user information, and the like. Through this understanding of the situation, the conversation system 100 can more accurately grasp the intention of the user or effectively find the service required for the current user. The user information may include feedback information of the user corresponding to the user's utterance.

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

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

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

단기 메모리(144)는 이전에 수행한 대화를 저장할 수 있다. 이전에 수행한 대화는 현재 시점으로부터 기준 시간 이내에 수행한 대화일 수도 있다. 또는, 사용자와 대화 시스템(100) 사이의 발화 내용의 용량이 기준치가 될 때까지 계속 대화가 저장될 수도 있다.The short term memory 144 may store a previously performed conversation. The previous conversation may be a conversation performed within the reference time from the current point in time. 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)에 식당에 대한 문의부터 선택까지의 대화 내용이 저장될 수 있다. For example, when the user utters "Tell me restaurant near Gangnam station", the conversation system 100 searches the restaurant near Gangnam station through the external contents server 300 and provides information about restaurants near the Gangnam station searched for . As an example of providing information, the restaurant list can be displayed on the display 231, and if the user says "first, " the conversation from inquiry to selection of the restaurant can be stored in the short term memory 144 .

또한 사용자가 "더워"라고 발화하면, 대화 시스템(100)은 에어컨시스템(222)를 통해 차량 내부 온도를 낮출 수 있다. 또한 그 후 사용자가 "짜증나"라고 발화하면 대화 시스템(100)은 이와 같은 사용자의 발화 후 반응을 통하여 피드백 정보를 형성하여 단기 메모리(144)에 저장 할 수 있다.Also, if the user utters "hot ", the conversation system 100 may lower the interior temperature of the vehicle through the air conditioning system 222. Then, when the user then utters "annoying", the dialog system 100 forms feedback information through the reaction after the user's utterance and stores the feedback information in the short-term memory 144. [

또는, 대화 내용 전체가 저장되는 것뿐만 아니라, 대화 내용에 포함된 특정 정보를 저장하는 것도 가능하다. 예를 들어, 단기 메모리(144) 또는 장기 메모리(143)에 식당 목록 중 첫 번째의 식당을 사용자가 선택한 식당으로 저장하는 것도 가능하다.Alternatively, not only the entire conversation contents are stored, but also specific information included in the conversation contents can be stored. For example, it is possible to store the first restaurant of the restaurant list in the short-term memory 144 or the long-term memory 143 as a restaurant selected by the user.

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

이후에, "그 식당 메뉴 좀 추천해줘."라고 발화하면, 대화 시스템(100)은 단기 메모리에 저장된 대화로부터 "그 식당"이 강남역 근처 식당인 것으로 추정하고, 외부 컨텐츠 서버(300)로부터 제공되는 서비스를 통해 해당 식당의 추천 메뉴에 대한 정보를 획득하고, "그 식당은 칼국수가 맛있습니다."와 같은 응답을 출력할 수 있다.Then, the conversation system 100 judges from the conversation stored in the short-term memory that "the restaurant" is a restaurant near the Gangnam station, The service obtains information on the recommendation menu of the restaurant and outputs a response such as "The restaurant is delicious. &Quot;

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

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

또 다른 예로, 현재 온도는 일시적인 데이터이므로 단기 메모리(144)에 저장 될 수 있고, 사용자가 에어컨(222)가동에 대한 선호도는 장기 메모리(144)에 저장 될 수 있다. As another example, the current temperature can be stored in the short term memory 144 since it is temporary data, and the user's preference for operating the air conditioner 222 can be stored in the long term memory 144. [

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

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

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

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

도 11은 대화 시스템이 차량에 마련되는 차량 단독 방식에 대한 제어 블록도이다. 11 is a control block diagram of a vehicle-alone mode in which an interactive system is provided in a vehicle.

차량 단독 방식에서는 도 11에 도시된 바와 같이, 입력 처리기(110), 대화 관리기(120), 결과 처리기(130) 및 저장부(140)를 포함하는 대화 시스템(100)이 차량(200)에 포함될 수 있다. In the vehicle alone mode, the conversation system 100 including the input processor 110, the conversation manager 120, the result processor 130, and the storage unit 140 is included in the vehicle 200 as shown in FIG. 11 .

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

차량 감지부(260)가 감지한 잔유량, 강우량, 강우 속도, 주변 장애물 정보, 타이어 공기압, 현재 위치, 엔진 온도, 차량 속도 등과 같은 차량 상태 정보 또는 주행 환경 정보는 차량 제어기(240)를 통해 대화 시스템(100)에 입력된다. The vehicle state information or the traveling environment information such as the remaining amount of the vehicle, the rainfall amount, the rainfall rate, the surrounding obstacle information, the tire inflation pressure, the current position, the engine temperature, (100).

또한, 차량 제어기(240)는 대화 시스템(100)이 출력한 응답에 따라 차량(200)에 마련된 공조 장치(251), 윈도우(252), 도어(253), 시트(254) 또는 AVN(255) 등을 제어할 수 있다.The vehicle controller 240 also controls 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 interactive system 100. [ And so on.

예를 들어, 대화 시스템(100)이 사용자의 의도 또는 사용자에게 필요한 서비스가 차량(200) 내부의 온도를 낮추는 것이라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 에어컨(222)을 제어하여 차량(200) 내부의 온도를 낮출 수 있다. 그러나, 사용자의 발화 후 반응에 기초한 피드백 정보가 사용자가 에어컨(222)의 가동을 원하지 않는 경우라면, 대화 시스템(100)은 에어컨(222)이 아닌 윈도우(252a)를 제어하여 차량의 내부온도를 낮출 수 있다. For example, when the conversation system 100 determines that the intention of the user or the service required by the user is to lower the temperature inside the vehicle 200 and generates and outputs a corresponding command, the vehicle controller 240 controls the air conditioner The temperature inside the vehicle 200 can be lowered. However, if the feedback information based on the post-ignition response of the user does not want the user to operate the air conditioner 222, the conversation system 100 controls the window 252a, not the air conditioner 222, Can be lowered.

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

또 다른 예로, 대화 시스템(100)이 사용자의 의도에 대응되는 서비스 또는 사용자에게 필요한 서비스가 특정 목적지로의 경로 안내라고 판단하고, 이에 대응되는 명령어를 생성하여 출력하면, 차량 제어기(240)가 AVN(255)을 제어하여 경로 안내를 수행할 수 있다. 필요한 경우, 통신 장치(280)가 외부 컨텐츠 서버(300)로부터 지도 데이터, POI 정보 등을 가져와 서비스 제공에 이용할 수 있다. As another example, if the conversation 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 transmits AVN (255) to perform route guidance. If necessary, the communication device 280 can fetch map data, POI information, and the like from the external content server 300 and use it to provide services.

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

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

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

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

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

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

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

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

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

근거리 통신 모듈(281)은 블루투스 모듈, 적외선 통신 모듈, RFID(Radio Frequency Identification) 통신 모듈, WLAN(Wireless Local Access Network) 통신 모듈, NFC 통신 모듈, 직비(Zigbee) 통신 모듈 등 근거리에서 무선 통신망을 이용하여 신호를 송수신하는 다양한 근거리 통신 모듈 중 적어도 하나를 포함할 수 있다.The short-range communication module 281 uses a wireless communication network at 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. And various various local 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 may be connected to various wired communication modules such as a local area network (LAN) module, a wide area network (WAN) module or a value added network (VAN) And may include at least one of a variety of cable communication modules such as a serial bus, a High Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), a recommended standard 232 (RS-232), a power line communication or a plain old telephone service 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 may be a wireless communication module such as a Global System for Mobile Communication (GSM), a Code Division Multiple Access (CDMA), a Wideband Code Division Multiple Access (WCDMA), a Universal Mobile Broadband (UMTS) A mobile communication system, a time division multiple access (TDMA), a long term evolution (LTE), a 4G, and a 5G.

한편, 통신 장치(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 the electronic devices inside the vehicle 200. A CAN (Controller Area Network), a LIN (Local Interconnection Network), a FlexRay, an Ethernet, or the like can be used as an internal communication protocol of the vehicle 200.

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

도 14은 차량 게이트웨이 방식에서 차량이 입력 처리와 출력 처리를 일부 수행할 수 있는 경우에 대한 제어 블록도이다.14 is a control block diagram for a case where the vehicle can perform some input processing and output processing in the vehicle gateway system.

전술한 바와 같이, 차량(200)의 대화 시스템 클라이언트(270)가 데이터의 수집 및 송수신의 기능만 수행하는 것도 가능하나, 도 14에 도시된 바와 같이, 대화 시스템 클라이언트(270)에 입력 처리기(271), 결과 처리기(273) 및 저장부(274)가 포함되어, 사용자나 차량으로부터 입력되는 데이터의 처리나 사용자에게 필요한 것으로 판단된 서비스 제공과 관련된 처리를 차량(200)에서도 수행하는 것이 가능하다. 즉, 입력 처리기(110)와 결과 처리기(130)의 동작을 원격 대화 시스템 서버(1)뿐만 아니라 차량(200)에서도 수행할 수 있다. As described above, although the conversation system client 270 of the vehicle 200 can perform only the function of collecting and transmitting / receiving data, the conversation system client 270 is provided with an input processor 271 ), A result processor 273, and a storage unit 274, and it is possible for the vehicle 200 to perform processing related to data input from a user or a vehicle and service provision determined to be necessary for the user. That is, the operations of the input processor 110 and the result processor 130 can be performed not only in the remote conversation system server 1 but also in the vehicle 200.

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

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

도 15는 원격 대화 시스템 서버와 차량이 모두 대화 처리를 수행할 수 있는 하이브리드 방식에 대한 제어 블록도이다.15 is a control block diagram for 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)이 마련되어 대화 처리를 수행할 수 있다. 14, the remote conversation system server 1 also includes an input processor 110, a conversation manager 120, a result processor 130, and a storage unit 140 to perform conversation processing The vehicle 200 is also provided with a terminal dialog system 290 including an input processor 291, a dialogue manager 292, a result processor 293 and a storage unit 294 to perform conversation processing.

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

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

또는, 단말 대화 시스템(290)이 대화 처리를 수행하다가 처리가 불가능한 상황이 발생하였을 때, 원격 대화 시스템 서버(1)에 처리를 요청하면서 자신이 처리한 결과를 함께 전송하는 것도 가능하다. Alternatively, when the terminal conversation system 290 performs a conversation process and a situation in which processing can not be performed occurs, it is also possible to request the remote conversation system server 1 for processing and send the result of the processing together with the request.

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

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

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

단말 대화 시스템(290)에 저장되는 데이터와 원격 대화 시스템 서버(1)에 저장되는 데이터는 데이터의 용량이나 데이터의 종류와 같은 기준에 따라 결정될 수 있다. 예를 들어, 개인 식별이 가능하여 프라이버시 침해 우려가 있는 데이터의 경우에는 단말 대화 시스템(290)의 저장부(294)에 저장할 수 있다. 또한, 대용량의 데이터는 원격 대화 시스템 서버(1)의 저장부(140)에 저장하고, 소용량의 데이터는 단말 대화 시스템(290)의 저장부(294)에 저장할 수 있다. 또는, 소용량의 데이터가 원격 대화 시스템 서버(1)의 저장부(140)와 단말 대화 시스템(290)의 저장부(294) 양쪽에 모두 저장되는 것도 가능하다.The data stored in the terminal conversation system 290 and the data stored in the remote conversation system server 1 may be determined according to criteria such as the capacity of data or the type of data. For example, in the case of data that can be personally identified and may cause privacy intrusion, the data 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 interactive system server 1 and the storage unit 294 of the terminal interactive system 290.

도 16및 도 17은 차량에 연결된 모바일 기기가 사용자와 원격 대화 시스템 서버를 연결하는 모바일 게이트웨이 방식에 대한 제어 블록도이다.16 and 17 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.

모바일 게이트웨이 방식에서는 도 16에 도시된 바와 같이, 모바일 기기(400)가 차량(200)으로부터 차량 상태 정보, 주행 환경 정보를 수신하고, 사용자 입력과 차량 상태 정보를 원격 대화 시스템 서버(1)로 전송한다. 즉, 모바일 기기(400)가 사용자와 원격 대화 시스템 서버(1) 또는 차량(200)와 원격 대화 시스템 서버(1)를 연결하는 게이트웨이의 역할을 수행한다.In the mobile gateway system, as shown in FIG. 16, the mobile device 400 receives vehicle status information and driving environment information from the vehicle 200, and transmits user input and vehicle status information to the remote conversation system server 1 do. That is, the mobile device 400 serves as a gateway for connecting the user with the remote interactive system server 1 or between the vehicle 200 and the remote interactive system server 1.

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

모바일 기기(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 voice, a voice input device 420 for receiving a voice input from a user, an output device 430 for outputting a voice response in a visual, auditory or tactile sense A communication device 480 that communicates with the remote interactive system server 1 and the vehicle 200 to transmit and receive data and a remote interactive system server 480 that collects input data from the vehicle 200 and the user, And an interactive system client 470 that transmits the message to the client system 1.

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

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

출력 장치(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)를 이용하는 것도 가능하다. It is possible to use not only the voice input device 410, the voice input device 420 and the output device 430 provided in the mobile device 400 as the input / output interface for the user but also the voice input device 210 ), The non-voice input device 220 and the talker output device 230 may be used.

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

또한, 대화 시스템 클라이언트(470)는 원격 대화 시스템 서버(1)로부터 전송되는 응답이나 명령어를 차량(200)에 전달할 수 있다. 사용자에 대한 입출력 인터페이스로 차량(200)에 마련된 대화자 출력 장치(230)를 이용하는 경우에는, 대화자 출력 장치(230)를 통해 사용자의 발화에 대한 응답을 출력할 수 있다. 모바일 기기(400)에 마련된 출력 장치(430)를 이용하는 경우에는, 모바일 기기(400)의 출력 장치(430)를 통해 사용자의 발화에 대한 응답을 출력할 수 있다.In addition, the conversation system client 470 may forward the response or command sent from the remote conversation system server 1 to the vehicle 200. When the talker output device 230 provided in the vehicle 200 is used as an input / output interface for the user, a response to the user's speech can be output through the talker output device 230. [ When the output device 430 provided in the mobile device 400 is used, a response to the user's utterance can 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 performs control corresponding to the transmitted command to provide the necessary service to the user.

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

도 17을 참조하면, 모바일 기기(400)의 통신 장치(480)는 외부 장치와 통신을 가능하게 하는 하나 이상의 통신 모듈을 포함할 수 있으며, 예를 들어 근거리 통신 모듈(481), 유선 통신 모듈(482) 및 무선 통신 모듈(483)를 포함할 수 있다.17, 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, the communication device 480 may include 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-range communication module 481 uses a wireless communication network at 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. And various various local 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 may be connected to various wired communication modules such as a local area network (LAN) module, a wide area network (WAN) module or a value added network (VAN) And may include at least one of a variety of cable communication modules such as a serial bus, a High Definition Multimedia Interface (HDMI), a Digital Visual Interface (DVI), a recommended standard 232 (RS-232), a power line communication or a plain old telephone service 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 may be a wireless communication module such as a Global System for Mobile Communication (GSM), a Code Division Multiple Access (CDMA), a Wideband Code Division Multiple Access (WCDMA), a Universal Wireless Broadband (UMTS) A mobile communication system, a time division multiple access (TDMA), a long term evolution (LTE), a 4G, and a 5G.

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

도 18은 모바일 기기에 대화 시스템이 탑재되는 모바일 단독 방식에 대한 제어 블록도이다.18 is a control block diagram of a mobile single mode in which an interactive system is installed in a mobile device.

모바일 단독 방식에서는, 도 18에 도시된 바와 같이, 대화 시스템(100)이 모바일 기기(400)에 마련된다. In the mobile standalone system, as shown in FIG. 18, the interactive system 100 is provided in the mobile device 400.

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

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

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

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

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

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

음성 외 입력은 모두 상황 정보에 포함될 수 있다. 즉, 상황 정보는 차량 상태 정보, 주행 환경 정보, 사용자 정보를 포함할 수 있다. All non-speech inputs can be included in the context information. That is, the status information may include vehicle status information, driving environment information, and user information.

차량 상태 정보는 차량(200)에 마련된 센서에 의해 획득된 정보로서 차량의 상태를 나타내는 정보, 차량의 유종과 같이 차량에 관련된 정보로서 차량에 저장되어 있는 정보 등을 포함할 수 있다. The vehicle state information may include information indicating the state of the vehicle as information acquired by a sensor provided in the vehicle 200, information stored in the vehicle as information related to the vehicle, such as the type of the vehicle, and the like.

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

또한, 주행 환경 정보는 V2X를 통해 획득된 정보로서 교통 상황 정보, 신호등 정보, 주변 차량의 접근 또는 추돌 가능성 정보 등을 더 포함할 수 있다.In addition, the travel environment information may further include traffic situation information, traffic light information, approach or collision possibility information of neighboring vehicles, and the like, as information acquired through V2X.

사용자 정보는 차량에 마련된 카메라 또는 생체 신호 측정 장치를 통해 측정한 사용자의 상태와 관련된 정보, 사용자가 차량에 마련된 입력 장치를 이용하여 직접 입력한 사용자와 관련된 정보, 외부 컨텐츠 서버(300)에 저장된 사용자와 관련된 정보, 차량에 연결된 모바일 기기(400)에 저장된 정보 등을 포함할 수 있다. 특히 사용자 정보는 대화 시스템(100)에 사용자가 입력한 발화에 대응하여 출력한 반응 내지 액션에 기초한 사용자의 피드백 정보를 포함할 수 있다. The user information includes information related to the status of the user measured through the camera or the bio-signal measuring device provided in the vehicle, information related to the user directly inputting by using the input device provided in the vehicle, Information stored in the mobile device 400 connected to the vehicle, and the like. In particular, the user information may include feedback information of the user based on the response or action output in response to the speech input by the user in the dialog system 100.

음성 입력 처리기(111)는 입력된 사용자 음성을 인식하여 텍스트 형태의 발화문으로 출력하는 음성 인식기(111a), 발화문에 대해 자연어 이해 기술(Natural Language Understanding)을 적용하여 발화문이 내포하는 사용자의 의도를 파악하는 자연어 이해기(111b) 및 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전달하는 대화 입력 관리기(111c)를 포함할 수 있다. The speech input processor 111 includes a speech recognizer 111a for recognizing the inputted user speech and outputting the speech as a text-based speech, a speech recognizer 111a for recognizing the user's speech by applying a Natural Language Understanding A natural language understanding device 111b for understanding the intention and a dialogue input manager 111c for transmitting the natural language understanding result and the situation information to the dialogue manager 120. [

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

이 때, 입력된 음성은 음성 인식을 위한 더 유용한 형태로 변환될 수 있는바, 음성 신호로부터 시작 지점과 끝 지점을 검출하여 입력된 음성에 포함된 실제 음성 구간을 검출한다. 이를 EPD(End Point Detection)이라 한다.At this time, the input voice can be converted into a more useful form for voice recognition, and the start point and the end point are detected from the voice signal and the actual voice interval included in the inputted voice is detected. This is called EPD (End Point Detection).

그리고, 검출된 구간 내에서 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 입력된 음성의 특징 벡터를 추출할 수 있다. The characteristics such as cepstrum, linear predictive coding (LPC), mel-frequency cepstral coefficient (MFCC), or filter bank energy are detected within the detected interval. The feature vector of the input speech can be extracted by applying the 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. For this purpose, an acoustic model for modeling and comparing the signal characteristics of speech and a language model for modeling the linguistic order relation of words or syllables corresponding to the recognition vocabulary can be used. To this end, the storage unit 140 may store an acoustic model / language model DB.

음향 모델은 다시 인식 대상을 특징 벡터 모델로 설정하고 이를 음성 데이터의 특징 벡터와 비교하는 직접 비교 방법과 인식 대상의 특징 벡터를 통계적으로 처리하여 이용하는 통계 방법을 나뉠 수 있다. The acoustic model can be divided into a direct comparison method of setting a recognition object as a feature vector model and comparing it with a feature vector of voice data, and a statistical method of using the feature vector of the recognition object statistically.

직접 비교 방법은 인식 대상이 되는 단어, 음소 등의 단위를 특징 벡터 모델로 설정하고 입력 음성이 이와 얼마나 유사한지를 비교하는 방법으로서, 대표적으로 벡터 양자화(Vector Quantization) 방법이 있다. 벡터 양자화 방법에 의하면 입력된 음성 데이터의 특징 벡터를 기준 모델인 코드북(codebook)과 매핑시켜 대표 값으로 부호화함으로써 이 부호 값들을 서로 비교하는 방법이다.The direct comparison method is a method of setting a unit of a recognition target word, a phoneme, etc. as a feature vector model and comparing how similar the input speech is, and a vector quantization method is typically used. According to the vector quantization method, a feature vector of input speech data is mapped to a codebook, which is a reference model, and is encoded into 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 constructing a unit of a recognition object as a state sequence and using the relation between the state strings. The state column may consist of a plurality of nodes. The method of using the relation between state columns is again 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 to a reference model, taking into account the dynamic characteristics of the speech, in which the length of the signal varies with time even if the same person pronounces the same. Hidden Markov models, Assuming a Markov process with probabilities and observation probabilities of nodes (output symbols) in each state, we estimate the state transition probability and observation probability of nodes through the learning data, and calculate the probability that the input speech is generated in the estimated model .

한편, 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델은 언어를 구성하는 단위들 간의 순서 관계를 음성 인식에서 얻어진 단위들에 적용함으로써 음향적인 모호성을 줄이고 인식의 오류를 줄일 수 있다. 언어 모델에는 통계적 언어 모델과 유한 상태 네트워크(Finite State Automata: FSA)에 기반한 모델이 있고, 통계적 언어 모델에는 Unigram, Bigram, Trigram 등 단어의 연쇄 확률이 이용된다. On the other hand, the language model modeling the linguistic order relations of words and syllables can reduce the acoustical ambiguity and reduce the errors of recognition by applying the order relation between the units constituting the language to the units obtained by speech recognition. There are statistical language models and Finite State Automata (FSA) based models for language models, and the chained probabilities of words such as Unigram, Bigram, and Trigram are used for statistical language models.

음성 인식기(111a)는 음성을 인식함에 있어 상술한 방식 중 어느 방식을 사용해도 무방하다. 예를 들어, 히든 마르코프 모델이 적용된 음향 모델을 사용할 수도 있고, 음향 모델과 음성 모델을 통합한 N-best 탐색법을 사용할 수 있다. N-best 탐색법은 음향 모델과 언어 모델을 이용하여 N개까지의 인식 결과 후보를 선택한 후, 이들 후보의 순위를 재평가함으로써 인식 성능을 향상시킬 수 있다. The voice recognizer 111a may use any of the above-described methods in recognizing the voice. For example, an acoustic model with a hidden Markov model can be used, or an N-best search method using an acoustic model and an audio model can be used. The N-best search method can improve the recognition performance by selecting up to N recognition result candidates using the acoustic model and the language model, and then re-evaluating the ranking of these candidates.

음성 인식기(111a)는 인식 결과의 신뢰성을 확보하기 위해 신뢰값(confidence value)을 계산할 수 있다. 신뢰값은 음성 인식 결과에 대해서 그 결과를 얼마나 믿을 만한 것인가를 나타내는 척도이다. 일 예로, 인식된 결과인 음소나 단어에 대해서, 그 외의 다른 음소나 단어로부터 그 말이 발화되었을 확률에 대한 상대값으로 정의할 수 있다. 따라서, 신뢰값은 0 에서 1 사이의 값으로 표현할 수도 있고, 0 에서 100 사이의 값으로 표현할 수도 있다. The speech recognizer 111a can calculate a confidence value to secure the reliability of the recognition result. The confidence value is a measure of how reliable the result is to speech recognition results. For example, a phoneme or word recognized as a result can be defined as a relative value of the probability that the word has been uttered from another phoneme or word. Therefore, 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 predetermined threshold value, the recognition result may be output to perform the operation corresponding to the recognition result. If the confidence value is equal to or less than the threshold value, the recognition result may be rejected have.

음성 인식기(111a)의 인식 결과인 텍스트 형태의 발화문은 자연어 이해기(111b)로 입력된다. The text-type utterance, which is the recognition result of the voice recognizer 111a, is input to the natural language comprehension machine 111b.

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

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

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

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

자연어 이해기(111b)는 발화문이 갖는 화행을 분석할 수 있다. 화행 분석은 사용자 발화에 대한 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등에 관한 발화의 의도를 파악하는 것이다. The natural language understanding unit 111b can analyze an action of the utterance. The analysis is the analysis of the intention of the user utterance. It is to grasp the intention of the utterance about whether the user is asking a question, asking a request, responding, or simply expressing emotion.

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

또한, 자연어 이해기(111b)는 액션 수행과 관련된 인자를 추출하는 것도 가능하다. 액션 수행과 관련된 인자는 액션을 수행하는데 직접적으로 필요한 유효 인자일 수도 있고, 이러한 유효 인자를 추출하기 위해 사용되는 비유효 인자일 수도 있다.In addition, the natural language understanding unit 111b can extract factors related to the action execution. The action associated with the action may be either an immediate or a non-valid argument used to perform the action.

예를 들어, 사용자의 발화문이 "더워"인 경우에, 자연어 이해기(111b)는 발화문에 대응되는 도메인으로 "공조제어"을 추출하고, 액션으로 "에어컨바람증가"를 추출할 수 있다. 화행은 "단순감정표현"에 해당한다. For example, if the user's utterance is "hot ", the natural language understander 111b may extract" air conditioning control "from the domain corresponding to the utterance and extract" . Acts correspond to "expression of simple sentiment".

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

자연어 이해기(111b)의 처리 결과인, 형태소 분석 결과, 도메인 정보, 액션 정보, 화행 정보, 추출된 인자 정보, 개체명 정보, 파스트리 등은 대화 입력 관리기(111c)로 전달된다. Domain information, action information, speech information, extracted factor information, entity name information, parse tree, etc., which are the result of morphological analysis, which is the result of processing by the natural language understanding unit 111b, are transmitted to the dialogue inputting controller 111c.

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

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

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

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

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

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

음성 외 사용자 입력, 차량 상태 정보, 주행 환경 정보, 사용자 정보와 같은 기타 정보는 상황 정보 수집기(112a)로 입력되고, 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장될 수 있다. Other information such as non-voice user input, vehicle status information, driving environment information, and user information is input to the situation information collector 112a and stored in the situation information DB 142, long term memory 143 or short term memory 144 .

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

단기 메모리(144)와 장기 메모리(143)에는 사용자의 현재 상태, 사용자의 선호도/성향 또는 이를 판단할 수 있는 데이터와 같이 사용자에게 의미가 있는 데이터가 저장될 수 있다. 상술한 바와 같이 단기 메모리(144)와 장기 메모리(143)에는 사용자의 발화 의도를 파악 할 수 있는 사용자의 발화 후 반응에 대응되는 피드백 정보가 저장 될 수 있다.The short-term memory 144 and the long-term memory 143 may store data meaningful to the user such as the current state of the user, the preference / propensity of the user, or data capable of determining the user's preference / tendency. As described above, the short-term memory 144 and the long-term memory 143 may store feedback information corresponding to the post-utterance response of the user who can grasp the user's utterance intention.

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

또한, 단기 메모리(144)에 저장된 정보 중 영속성이 보장되는 것으로 판단된 정보는 장기 메모리(143)로 보내질 수 있다. In addition, information determined to be durable among the information stored in the short term memory 144 may be sent to the long term memory 143. [

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

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

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

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

별도의 외부 시스템에서 수행하는 경우에는, 도 19B에 도시된 바와 같이 통신부(810), 저장부(820) 및 제어부(830)를 포함하는 데이터 관리 시스템(800)이 사용될 수 있다. 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 the data stored in the situation information DB 142 or the short term memory 144. [ All of the stored data may be transmitted to the communication unit, and only the data used to acquire meaningful information or persistent information such as the user's preference or propensity may be selected and transmitted. The received data is stored in the storage unit 820.

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

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

상황 이해기(112c)는 상황 이해 테이블(145)에 저장된 액션 별 상황 정보를 참조하여, 사용자의 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 무엇인지 판단할 수 있다. 예를 들어 사용자가 "더워"라고 발화한 경우, 상황 이해기(112c)는 사용자의 발화에 대응되는 피드백 정보를 기초로 사용자의 발화 의도가 에어컨바람의 세기를 증가하는 동작인지 윈도우를 내리는 동작인지를 결정할 수 있다.The situation understanding unit 112c can determine the status information related to the execution of the action corresponding to the user's utterance intention by referring to the context information per action stored in the context understanding table 145. [ For example, when the user utters "hot", the situation understanding unit 112c determines whether the user's utterance intention is an operation for increasing the intensity of the air conditioner wind or an operation for lowering the window based on feedback information corresponding to the utterance of the user Can be determined.

도 21A 및 도 21B는 상황 이해 테이블에 저장되는 정보의 예시를 나타낸 도면이다.21A and 21B are views showing examples of information stored in the situation understanding table.

도 20A 의 예시를 참조하면, 상황 이해 테이블(145)에는 액션 수행과 관련된 상황 정보와 상황 정보 타입이 각각의 액션 별로 저장될 수 있다.Referring to the example of FIG. 20A, in the situation understanding table 145, the situation information and the situation information type related to the execution of the action can be stored for each action.

예를 들어, 길 안내가 액션인 경우에는 상황 정보로 현재 위치가 필요하고, 상황 정보 타입은 GPS 정보일 수 있다. 차량 상태 점검이 액션인 경우에는 상황 정보로 이동거리가 필요하고, 상황 정보 타입은 정수일 수 있다. 주유소 추천이 액션인 경우에는 상황 정보로 잔유량과 주행 가능 거리(DTE: Distance To Empty)이 필요하고, 상황 정보 타입은 정수일 수 있다. For example, if the guidance is an action, the current position is required as the situation information, and the situation information type may be GPS information. When the vehicle condition check is an action, the moving distance is required for the situation information, and the situation information type can be an integer. When the gas station recommendation is an action, the residual information and the distance traveled distance (DTE) are required as the situation information, and the situation information type may be an integer.

다른 실시예에 따르면, 차량내 온도를 낮추기 위한 액션인 경우 상황 정보로 온도가 필요하고, 상황 정보 타입은 온도, 즉 정수일 수 있다. According to another embodiment, in the case of an action for lowering the temperature in the vehicle, the temperature is required as the situation information, and the situation information type may be temperature, that is, an integer.

사용자 발화 의도에 대응되는 액션 수행과 관련된 상황 정보가 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 이미 저장되어 있는 경우, 상황 이해기(112c)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 해당 정보를 가져와 대화 입력 관리기(111c)에 전달한다.When the situation information related to the execution of the action corresponding to the user's utterance intention is already stored in the situation information DB 142, the long-term memory 143 or the short-term memory 144, the situation understanding unit 112c acquires the situation information DB 142 The long-term memory 143 or the short-term memory 144, and transfers the information to the dialog input manager 111c.

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

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

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

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

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

또 다른 예로 사용자의 발화 의도에 대응되는 액션이 차량의 온도를 낮추는 것인 경우, 상황 이해기(112c)는 상황 이해 테이블(145)를 검색하여 온도를 획득하여 차량의 온도를 낮출 수 있다. 이 때 사용자가 에어컨의 세기를 증가시키는 것이 아닌 윈도우를 내리는 발화 후 반응을 입력한 경우 온도가 높은 경우에도 윈도우를 내리는 동작을 통하여 차량의 온도를 낮출 수 있다. As another example, when the action corresponding to the user's utterance intention is to lower the temperature of the vehicle, the situation understanding unit 112c may search the situation understanding table 145 to obtain the temperature to lower the temperature of the vehicle. In this case, when the user inputs the reaction after the ignition to lower the window rather than increasing the intensity of the air conditioner, the temperature of the vehicle can be lowered through the operation of lowering the window even when the temperature is high.

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

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

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

대화 입력 관리기(111c)는 자연어 이해기(111b)의 출력과 상황 이해기(112c)의 출력을 대화 관리기(120)로 전달하고, 중복된 입력이 대화 관리기(120)로 들어가지 않도록 관리할 수 있다. 이 때, 자연어 이해기(111b)의 출력과 상황 이해기(112c)의 출력은 하나로 합쳐져서 대화 관리기(120)에 전달될 수도 있고, 각각 독립적으로 전달될 수도 있다.The dialogue input manager 111c may forward the output of the natural language understander 111b and the output of the situation understander 112c to the dialogue manager 120 to manage the redundant input to the dialogue manager 120 have. At this time, the output of the natural language understanding unit 111b and the output of the situation understanding unit 112c may be combined and transmitted to the dialogue manager 120, or may be independently transmitted.

한편, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(112c)에 액션 트리거 신호를 전송할 수 있다. On the other hand, the situation information collection management unit 112b can transmit an action trigger signal to the situation understanding unit 112c when the data collected by the situation information collector 112a satisfies predetermined conditions and a specific event is generated.

상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 해당 이벤트와 관련된 상황 정보를 검색하고, 검색된 상황 정보가 저장되어 있지 않으면 다시 상황 정보 수집 관리기(112b)에 상황 정보의 요청 신호를 전송한다. The situation understanding unit 112c searches the situation understanding table 145 to search for the situation information related to the event, and when the retrieved situation information is not stored, the situation understanding unit 112c sends a request signal of the situation information to the situation information collection management unit 112b again do.

도 21B의 예시와 같이, 상황 이해 테이블(145)에는 이벤트와 관련된 상황 정보와 상황 정보의 타입이 각각의 이벤트 별로 저장될 수 있다.As shown in FIG. 21B, in the situation understanding table 145, types of context information and context information related to an event can be stored for each event.

예를 들어, 발생된 이벤트가 엔진 온도 경고인 경우에는 관련된 상황 정보로 정수 타입의 엔진 온도가 저장될 수 있다. 발생된 이벤트가 운전자 졸음 감지인 경우에는 관련된 상황 정보로 정수 타입의 운전자 졸음 단계가 저장될 수 있다. 발생된 이벤트가 타이어 공기압 부족인 경우에는 관련된 상황 정보로 정수 타입의 타이어 공기 압력이 저장될 수 있다. 발생된 이벤트가 연료 경고인 경우에는 관련된 상황 정보로 정수 타입의 주행 가능 거리가 저장될 수 있다. 발생된 이벤트가 센서 이상인 경우에는 관련된 상황 정보로 문자 타입의 센서 명칭이 저장될 수 있다. For example, if the generated event is an engine temperature warning, the integer type engine temperature may be stored as related status information. If the generated event is the driver's drowsiness detection, the driver's drowsiness step of the integral type can be stored as the related status information. When the generated event is tire air pressure shortage, the integral type tire air pressure can be stored as the related situation information. When the generated event is a fuel warning, the integer type traveling distance can be stored as the related state information. If the generated event is sensor abnormal, the sensor name of the character type can be stored in the related status information.

또한, 발생한 이벤트가 차량 온도 증가의 경우 관련된 상황 정보로 정수 타입의 차량의 온도가 저장 될 수 있다. In addition, in the case where the event that occurred is a vehicle temperature increase, the temperature of the integral type vehicle can be stored as the related status information.

상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)를 통해 필요한 상황 정보를 수집하고, 상황 이해기(112c)에 확인 신호를 전송한다. 상황 이해기(112c)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 필요한 상황 정보를 가져와 액션 정보와 함께 대화 입력 관리기(111c)로 전달한다.The situation information collection management unit 112b collects necessary situation information through the situation information collector 112a and transmits an acknowledgment signal to the situation understanding unit 112c. The situation understanding machine 112c fetches the necessary situation information from the situation information DB 142, the long-term memory 143 or the short-term memory 144, and transfers it to the dialog input manager 111c together with the action information.

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

도 22은 대화 관리기의 구성이 세분화된 제어 블록도이고, 도 23는 연관 액션 DB에 저장된 정보의 예시를 나타낸 도면이고, 도 24은 액션 수행 조건 DB에 저장된 정보의 예시를 나타낸 도면이며, 도 25는 액션 인자 DB에 저장된 정보의 예시를 나타낸 도면이다.23 is a diagram showing an example of information stored in the association action DB, FIG. 24 is a diagram showing an example of information stored in the action execution condition DB, and FIG. Is an example of information stored in the action factor DB.

도 22을 참조하면, 대화 관리기(120)는 대화 또는 액션을 생성/삭제/업데이트하도록 요청하는 대화 흐름 관리기(121), 대화 흐름 관리기(121)의 요청에 따라 대화 또는 액션을 생성/삭제/업데이트하는 대화 액션 관리기(122), 상황에 대한 모호성과 대화에 대한 모호성을 해결하여 궁극적으로 사용자의 의도를 명확히 하는 모호성 해결기(123), 액션 수행에 필요한 인자를 관리하는 인자 관리기(124), 복수의 후보 액션들에 대해 액션 수행 가부를 판단하고, 이들의 우선 순위를 결정하는 액션 우선순위 결정기(125) 및 외부 컨텐츠 목록 및 관련 정보를 관리하고 외부 컨텐츠 쿼리에 필요한 인자 정보를 관리하는 외부 정보 관리기(126)를 포함할 수 있다.22, the conversation manager 120 includes a conversation flow manager 121 that requests to create / delete / update a conversation or an action, a create / delete / update dialog or action in response to a request from the conversation flow manager 121 An ambiguity resolver 123 for resolving the ambiguity of the situation and the ambiguity of the conversation to ultimately clarify the intention of the user, a factor manager 124 for managing the factors necessary for performing the action, An action priority determinator 125 for determining the action to be performed on the candidate actions of the action candidate, and determining the priorities of the actions, an external information manager for managing the external content list and related information, (126).

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

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

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

대화 입력 관리기(111a)의 출력인 자연어 이해 결과(자연어 이해기의 출력)와 상황 정보(상황 이해기의 출력)는 대화 흐름 관리기(121)로 입력된다. 자연어 이해기(111b)의 출력은 도메인, 액션 등의 정보 외에도 형태소 분석 결과와 같은 사용자의 발화 내용 자체에 대한 정보도 포함한다. 상황 이해기(112c)의 출력은 상황 정보 외에도 상황 정보 수집 관리기(112b)에서 판단한 이벤트도 포함할 수 있다. The natural language understanding result (the output of the natural language understanding device) and the situation information (the output of the situation understanding device), which are the outputs of the dialogue input management device 111a, The output of the natural language understanding unit 111b includes information on the user's utterance content itself such as the result of morphological analysis in addition to the information on domain, action, and the like. The output of the situation understanding unit 112c may include an event determined by the situation information collection management unit 112b in addition to the situation information.

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

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

또한, 액션의 스위칭/네스팅 여부, 스위칭된 액션 인덱스, 액션 변경 시간, 화면/음성/명령어 등의 마지막 출력 상태 등을 저장할 수 있다. Also, it can store the switching status of the action, whether it is nested or not, the switched action index, the action change time, and the final output status such as screen / voice / command.

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

사용자 발화에 대응되는 도메인과 액션이 추출되지 않은 경우에는, 임의의 태스크를 생성하거나, 가장 최근에 저장된 태스크를 참조하도록 대화 액션 생성기(122)에 요청할 수 있다.If a domain and an action corresponding to a user utterance have not been extracted, an arbitrary task may be created or a dialog action generator 122 may be requested to refer to the most recently stored task.

대화/액션 DB(147)에 입력 처리기(110)의 출력에 대응되는 대화 태스크 또는 액션 태스크가 존재하지 않으면, 대화 흐름 관리기(121)는 대화 액션 관리기(122)에 새로운 대화 태스크와 액션 태스크를 생성하도록 요청한다.If there is no dialog task or action task corresponding to the output of the input processor 110 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 .

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

또한, 대화 정책 DB(148)는 시스템이 응답을 출력하는 시점과 방법론에 대한 정책도 저장할 수 있으며, 다수의 서비스를 연계하여 응답을 만드는 정책과 기존의 액션을 삭제하고 다른 액션으로 교체하기 위한 정책을 저장할 수 있다. In addition, the conversation policy DB 148 may store a policy for the time when the system outputs a response and a methodology, and may include a policy for creating a response by linking a plurality of services, a policy for deleting an existing action, Lt; / RTI >

예를 들어, 후보 액션이 복수이거나, 사용자의 의도나 상황에 대응되는 액션이 복수일 때(A 액션, B액션), "A 액션을 수행하고 B 액션을 수행하겠습니까?"와 같이 두 액션에 대한 응답을 한 번에 생성하는 정책과, "A액션을 수행합니다" ㅰ "B액션을 수행할까요?"와 같이 하나의 액션에 대한 응답을 생성한 이후에, B 액션에 대해서도 별도의 응답을 생성하는 정책이 모두 가능하다. For example, if there are multiple candidate actions, or if there are multiple actions corresponding to a user's intent or situation (A action, B action), then you can select "Do A action and B action? After creating a response to an action, such as "Perform an A action" or "Do you want to perform an action B," a policy that generates a response at a time generates a separate response for the B action Policies are all possible.

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

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

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

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

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

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

따라서, 길안내 액션을 수행함에 있어, 차량 상태 점검, 주유소 추천등의 액션이 함께 수행될 수 있다. 여기서 함께 수행된다는 것은 길안내 액션의 전후로 수행되는 것과 길안내 액션의 수행 중에(경유지로 추가) 수행되는 것을 모두 포함할 수 있다.Therefore, in performing the guiding action, actions such as vehicle condition check, gas station recommendation, etc. may be performed together. Here, being performed together may include both being performed before and after the guidance action and being performed during the execution of the guidance action (addition by way of way).

경고등 출력 이벤트는 정비소 안내 액션이 연관된 이벤트-액션으로 저장될 수 있고, 이들의 관계 역시 상호 연계에 해당할 수 있다. The warning light output event can be stored as an event-action associated with the workshop guidance action, and their relationship can also be correlated.

따라서, 경고등 출력 이벤트가 발생한 경우에, 경고등의 종류 또는 정비의 필요 여부에 따라 정비소 안내 액션을 수행할 수 있다.Therefore, when a warning light output event occurs, it is possible to perform an operation for guiding the workshop according to the type of warning light or the necessity of maintenance.

에어컨 바람 증가 이벤트가 발생한 경우에, 온도 및 날씨에 따라 창문을 내리는 액션 또는 선루프여는 액션을 취할 수도 있으며 사용자의 피드백 정보를 기초로 이러한 인자를 변경 할 수 있다. In the event of an air conditioner wind-up event, it may take an action to open a window or open a sunroof depending on temperature and weather, and may change these factors based on user feedback information.

입력 처리기(110)로부터 사용자 발화에 대응되는 액션뿐만 아니라 상황 수집 관리기(112b)에서 판단한 이벤트도 함께 전송한 경우에는, 사용자 발화에 대응되는 액션과 연관된 액션과 함께 이벤트와 연관된 액션도 후보 액션이 될 수 있다. 이러한 액션을 결정하는데 있어서 사용자의 발화 후 사용자의 발화 후 반응을 이용할 수 있다. In the case where not only the action corresponding to the user's utterance but also the event determined by the situation collection manager 112b are transmitted from the input processor 110 together with the action associated with the event corresponding to the user's utterance, . In determining such an action, the user can use the post-utterance reaction after utterance.

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

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

도 24의 예시와 같이, 액션 수행 조건 DB(146c)는 액션을 수행하기 위해 필요한 조건과 해당 조건의 만족 여부를 판단하기 위해 사용되는 인자를 각각의 액션 별로 저장할 수 있다. As shown in the example of FIG. 24, the action execution condition DB 146c may store a necessary condition for performing an action and a factor used for determining whether the condition is satisfied or not, for each action.

예를 들어, 차량의 온도를 낮추기 위한 액션의 경우 온도나 날씨에 따라서 다른 액션을 출력 할 수 있다. 다만 차량의 온도를 낮추기 위해서 에어컨 바람을 증가하는 동작을 한 경우 사용자가 에어컨을 끄고 창문을 여는 발화 후 반응을 입력한 경우, 사용자가 차량의 온도를 낮추기 위하여 선호하는 동작은 창문을 내리는 동작이므로, 에어컨 바람을 증가시키지 않고 창문을 여는 액션을 출력 할 수 있다. 액션 우선순위 결정기(125)는 후보 액션의 수행 조건을 대화 액션 관리기(122)로 전달하고, 대화 액션 관리기(122)는 각 후보 액션 별 액션 수행 조건을 추가하여 대화/액션 상태 DB(147)의 액션 상태를 업데이트한다. 액션 상태를 업데이트 하는데 있어서 사용자의 피드백 정보를 사용할 수 있다. For example, in the case of an action to lower the temperature of a vehicle, other actions may be output depending on temperature or weather. However, when the user operates the air conditioner to lower the temperature of the vehicle, when the user turns off the air conditioner and opens the window, the user inputs a reaction after the ignition. In this case, You can output an action to open a window without increasing the air conditioning wind. The action priority manager 125 delivers the execution condition of the candidate action to the dialogue action manager 122. The dialogue action manager 122 adds the action execution condition for each candidate action to the dialogue / action state DB 147 Update the action state. The user's feedback information can be used to update the action state.

액션 우선순위 결정기(125)는 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)에서 액션 수행 조건 판단을 위해 필요한 인자(이하, 조건 판단 인자라 한다)를 검색하고, 검색된 인자를 이용하여 각 후보 액션의 수행 가부를 판단할 수 있다The action priority decider 125 selects a factor necessary for determining an action execution condition in the situation information DB 142, the long-term memory 143, the short-term memory 144 or the dialogue / action state DB 147 ), And judge whether or not each candidate action can be performed using the retrieved factor

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

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

현재 상황에 따라 각 후보 액션에 대한 점수가 계산될 수 있다. 계산된 점수가 높은 순으로 높은 우선순위가 할당된다. 예를 들어, 아래 [수학식 1]에 나타낸 바와 같이, 사용자 발화에 대응되는 액션, 안전도 점수, 편의 점수, 처리 시간, 처리 시점(지금 당장 처리해야 하는지 여부), 사용자 선호도(서비스 제안 시 사용자의 수용 정도 또는 사용자가 사전에 정의한 선호도), 관리자 점수, 차량 상태 연관 점수, 액션 성공률(대화 성공률)이 점수 계산의 인자로 사용될 수 있다.Depending on the current situation, scores for each candidate action can be calculated. Higher priority is assigned in ascending order of the calculated score. For example, as shown in the following formula (1), the action corresponding to the user's utterance, the safety score, the score of the convenience, the processing time, the processing time (whether or not it should be processed immediately), the user's preference (Eg, the degree of acceptance of the vehicle or the pre-defined preference of the user), manager score, vehicle status association score, and action success rate (conversation success rate).

[수학식 1][Equation 1]

우선순위 점수 = w1*사용자 발화 액션 + w2*안전도 점수 + w3*편의점수 + w4*처리시간 + w5*처리시점 + w6*사용자 선호도 + w7*관리자 점수 + w8*차량 상태 연관 점수 + w9*액션 성공률*액션 수행 가능 여부(1:가능, 미정 0:불가능) *액션 완료 여부(완료:1, 미완료:0)+w10*피드백 정보Priority score = w1 * User spoken action + w2 * Safety score + w3 * Number of convenience stores + w4 * Processing time + w5 * Processing time + w6 * User preference + w7 * Manager score + w8 * Action success rate * Action possible (1: Possible, Undefined 0: Not possible) * Action completed (1: Completed: 0) + w10 * Feedback information

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

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

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

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

예를 들어, 길안내 액션을 수행하는데 사용되는 필수 인자는 현재 위치와 목적지를 포함할 수 있고, 선택 인자는 경로 타입을 포함할 수 있다. 선택 인자의 초기값으로 빠른 경로가 저장될 수 있다. 현재 위치와 목적지는 대화/액션 상태 DB(147), 상황 정보 DB(142), 단기 메모리(144) 또는 장기 메모리(143)를 순차적으로 검색하여 획득할 수 있다. For example, the required parameters used to perform the guiding action may include the current location and the destination, and the selection factor may include the path type. A fast path can be stored as an initial value of the selection factor. The current position and the destination can be obtained by sequentially searching the dialogue / action state DB 147, the situation information DB 142, the short-term memory 144, or the long-term memory 143 sequentially.

차량 상태 점검 액션을 수행하는데 사용되는 필수 인자는 차량 상태 정보를 포함하고, 선택 인자는 점검 파트를 포함할 수 있다. 선택 인자의 초기값으로는 전체 파트가 저장될 수 있다. 차량 상태 정보는 상황 정보 DB(142)로부터 획득할 수 있다.The required parameters used to perform the vehicle condition check action include vehicle condition information, and the selection parameter may include a check part. The entire value can be stored as the initial value of the selection parameter. Vehicle condition information can be obtained from the situation information DB 142. [

주유소 추천 액션을 수행하는데 사용되는 선택 인자는 선호 주유소를 포함할 수 있고, 선택 인자의 초기값으로 A 오일이 저장될 수 있다. 선호 주유소는 장기 메모리(143)로부터 획득할 수 있다. 선택 인자에 차량의 유종, 기름 가격 등이 더 포함되는 것도 가능하다.The selection factor used to perform the service station recommendation action may include a preferred service station and the A oil may be stored as an initial value of the selection factor. The preferred gas station can be obtained from the long term memory 143. It is also possible that the optional factors include the vehicle type, the oil price, and so on.

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

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

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

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

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

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

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

이러한 경우, 모호성 해결기(123)가 대화에 대한 모호성 또는 상황에 대한 모호성을 해결할 수 있다. 예를 들어, 대화에 그 사람, 어제 거기, 아빠, 엄마, 할머니, 며느리 등과 같은 조응어가 포함되어 무엇을 지칭하는지 모호한 경우에 모호성 해결기(123)가 상황 정보 DB(142), 장기 메모기(143) 또는 단기 메모리(144)를 참조하여 이러한 모호성을 해결하거나 이를 해결하기 위한 가이드를 제시할 수 있다. In this case, the ambiguity solver 123 can resolve the ambiguity about the conversation or the ambiguity about the situation. For example, when the dialogue includes ambiguities such as the person, yesterday there, father, mother, grandmother, daughter-in-law, etc., the ambiguity solver 123 may not know what to call the situation information DB 142, 143 or the short term memory 144 to solve such ambiguities or to suggest a guide for solving the ambiguities.

예를 들어, "어제 거기", "집 근처 A마트", "어제 간 서울역" 등과 같이 대화에 포함된 모호한 단어가 액션 인자의 인자 값이거나 조건 판단 인자의 인자 값에 해당할 수 있다. 그러나, 이 경우, 해당 단어 자체만으로는 그 모호성으로 인해 실제로 액션을 수행하거나 액션 수행 조건을 판단할 수가 없다.For example, an ambiguous word included in a conversation, such as "Yesterday there," "A mart near a house," or "Yesterday's Seoul station," may be an argument of an action factor or an argument of a conditional factor. However, in this case, the word itself can not actually perform an action or judge an action execution condition due to the ambiguity.

모호성 해결기(123)는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에 저장된 정보를 참조하여 인자 값의 모호성을 해결할 수 있다. 또는, 필요에 따라 외부 정보 관리기(126)를 이용하여 외부 컨텐츠 서버(300)로부터 필요한 정보를 가져오는 것도 가능하다. The ambiguity resolver 123 can resolve the ambiguity of the argument value by referring to the information stored in the situation information DB 142, the long term memory 143 or the short term memory 144. [ Alternatively, it is possible to fetch necessary information from the external content server 300 using the external information manager 126 as necessary.

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

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

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

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

주변 상황 정보는 차량 외부 온도와 강우 여부를 포함할 수 있고, 차량 상태 정보는 에어컨/히터의 온/오프 여부와 풍량, 풍향, 스티어링 열선의 온/오프 여부를 포함할 수 있다.The surrounding situation information may include a temperature outside the vehicle and rainfall, and the vehicle condition information may include whether the air conditioner / heater is on / off, the air flow rate, the wind direction, and whether the steering heating line is on or off.

구체적인 예로, 외부 온도가 20도가 넘으면서 비가 오는 경우, 에어컨이 온(On)되어 있으면 에어컨 온도가 너무 낮게 설정되어 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 에어컨 온도 3도 높이기를 저장할 수 있다.As a specific example, if the outside temperature is more than 20 degrees and it is raining, if the air conditioner is on, the air conditioner temperature is set too low and it can be recognized that the hand is broken, and the corresponding vehicle control action can save the air conditioner temperature increase of 3 degrees have.

외부 온도가 20도가 넘으면서 비가 오는 경우, 에어컨이 오프되어 있으면 강우로 인해 추위를 느끼는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 히터 On 을 저장할 수 있다.When the outside temperature exceeds 20 degrees and it is raining, if the air conditioner is off, it can be recognized that it is feeling cold due to rainfall, and the heater On can be stored by the corresponding vehicle control action.

외부 온도가 20도가 넘으면서 비가 오지 않는 경우, 에어컨이 온되어 있고, 에어컨 풍향이 상향(Up)으로 설정되어 있으면 에어컨 바람이 손을 직접 향하여 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 에어컨 풍향을 하향(Down)으로 변경하는 것을 저장할 수 있다.If the air conditioner is turned on and the air conditioner direction is set to Up, the air conditioner wind can be regarded as the hand being turned toward the hand, and the air conditioner The change of the wind direction to Down (Down) can be stored.

외부 온도가 20도가 넘으면서 비가 오지 않는 경우, 에어컨이 온되어 있고, 에어컨 풍향이 하향으로, 풍량이 중 이상으로 설정되어 있으면 에어컨 풍향이 너무 강하여 추위를 느끼는 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 에어컨 풍량을 낮추는 것을 저장할 수 있다.If the outside temperature exceeds 20 degrees and it is not raining, if the air conditioner is on, the air conditioner direction is downward, and the air amount is set to middle or higher, the air conditioner direction is too strong to sense cold, Lowering the air conditioner air volume can be saved.

외부 온도가 20도가 넘으면서 비가 오지 않는 경우, 에어컨이 온 되어 있고, 에어컨 풍향이 하향으로, 에어컨 풍량이 약하게(하) 설정되어 있으면 대응되는 차량 제어 액션으로 에어컨 온도를 3도 올리는 것을 저장할 수 있다.If the outside temperature is over 20 degrees and it is not raining, if the air conditioner is turned on, the air conditioner direction is downward, and the air conditioner air volume is set weakly (lower), it is possible to store the raising of the air conditioner temperature by 3 degrees by the corresponding vehicle control action.

외부 온도가 20도보다 낮으면서 히터가 오프되어 있는 경우에는, 추운 날씨로 인해 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션으로 터 온을 저장할 수 있다.If the heater is off while the outside temperature is lower than 20 degrees, it can be determined that the hand is blown due to the cold weather, and the turn-on can be saved by the corresponding vehicle control action.

외부 온도가 20도보다 낮으면서 히터가 온되어 있고 스티어링 열선이 오프되어 있는 경우, 온기가 손에 전달되지 않아 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션을 스티어링 열선 온으로 저장할 수 있다.If the heater is turned on while the outside temperature is lower than 20 degrees and the steering heating line is turned off, the warmth can not be transmitted to the hand, and it can be determined that the hand is broken and the corresponding vehicle control action can be stored as the steering heating wire.

외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온 되어 있고, 히터 풍향이 하향으로 설정된 경우에는 히터 바람이 손으로 전달되지 않아 손이 시린 것으로 파악할 수 있고, 대응되는 차량 제어 액션을 히터 풍향의 양방향 변경으로 저장할 수 있다.When the outside temperature is lower than 20 degrees and both the heater and the steering heating wire are turned on and the heater wind direction is set downward, the heater wind can not be transmitted by hand and it can be recognized that the hand is blown. Directional change of < / RTI >

외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로 설정되어 있는 경우, 히터 온도가 최대치보다 낮게 설정되어 있으면, 대응되는 차량 제어 액션을 히터 온도 높이기로 저장할 수 있다.If the heater temperature is set lower than the maximum value, the corresponding vehicle control action can be saved as the heater temperature increase when the outside temperature is lower than 20 degrees and both the heater and the steering heating line are on and the heater direction is set upward. have.

외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로 설정되어 있고 히터 온도가 최대치로 설정되어 있으며, 히터 풍량은 최대치로 설정되어 있지 않은 경우에는, 대응되는 차량 제어 액션을 히터 풍량 증가로 저장할 수 있다.When the heater and the steering heating line are all turned on while the outside temperature is lower than 20 degrees and the heater wind direction is set upward and the heater temperature is set to the maximum value and the heater air amount is not set to the maximum value, Control actions can be saved with increased heater airflow.

외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로, 히터 온도와 히터 풍향이 모두 최대치로 설정되어 있는 경우에, 열선 시트가 오프되어 있으면, 대응되는 차량 제어 액션으로 열선 시트 온을 저장할 수 있다.When both the heater and the steering heating wire are both turned on while the outside temperature is lower than 20 degrees and the heater wind direction is upward and both the heater temperature and the heater wind direction are set to the maximum values, You can save hot-line sheet-on by action.

외부 온도가 20도보다 낮으면서 히터와 스티어링 열선이 모두 온되어 있고, 히터 풍향이 상향으로, 히터 온도와 히터 풍량이 모두 최대치로 설정되어 있으며, 열선 시트도 온되어 있는 경우에는, 대응되는 차량 제어 액션으로 현재 히터가 풀가동 중이므로 잠시 기다려 달라는 안내를 출력할 수 있다. The heater temperature and the heater air volume are both set to the maximum value with the heater temperature and the heater heating direction set to the maximum value while the heater and the steering heating line are both turned on while the external temperature is lower than 20 degrees, Since the heater is currently in full operation by action, you can output a message to wait for a while.

도 27a 및 도 27b는 모호성 해결기가 모호성 해소 정보 DB를 참조하여 모호성을 해결하고 액션을 추출하여 차량을 제어하는 다양한 예시들을 정리한 테이블이다.FIGS. 27A and 27B are tables that summarize various examples in which the ambiguity resolver resolves ambiguities by referring to the ambiguity resolution information DB and extracts an action to control the vehicle.

예를 들어, 도 26a 및 도 26b에 도시된 바와 같이, 형태소 분석 결과에 따른 발화 내용이 손이 시리거나 손이 춥다는 내용인 경우, 주변 상황이 여름이면서 차량 상태는 에어컨의 풍향이 탑승자의 머리 쪽(상향)을 향하고, 에어컨 설정 온도가 19도이며, 풍량이 상황인 경우에는 손으로 향하는 에어컨 바람으로 인해 손이 시린 것으로 파악할 수 있다. 따라서, 풍향을 발 쪽(하향)으로 변경하면서 풍량 세기를 줄이기 위한 에어컨 제어 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. For example, as shown in FIGS. 26A and 26B, when the contents of the utterance according to the morphological analysis result indicate that the hand is cold or the hands are cold, the surroundings are in the summer and the vehicle condition is the head of the passenger (Upward), the air conditioner set temperature is 19 degrees, and in the case of the air volume, it can be judged that the hand is blown due to the air conditioner blowing toward the hand. Accordingly, the air conditioning control action for reducing the airflow intensity can be extracted as an action corresponding to the corresponding utterance while changing the wind direction to the foot side (downward), and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서, 주변 상황이 겨울이면서 차량 상태는 히터의 풍향이 탑승자의 발 쪽을 향하고, 에어컨 설정 온도는 25이며, 풍량이 강하게 설정된 상황인 경우에는 온기가 사용자의 손에 전달되지 않아 손이 시린 것으로 파악할 수 있다. 따라서, 스티어링 휠의 열선 온(On) 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, in the same utterance, when the surrounding situation is winter, the vehicle condition is that the direction of the heater is directed toward the passenger's foot, the air conditioner set temperature is 25, and the warmth is not delivered to the user's hand I can grasp that the hand is broken. Accordingly, it is possible to extract the hot line on action of the steering wheel into an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.

형태소 분석 결과에 따른 발화 내용이 답답하다는 내용인 경우, 차량 상태가 차량 속도 시속 30km 이하, 차량 앞뒤 간격이 30cm 미만인 상황인 경우, 교통 체증으로 인해 느끼는 답답함인 것으로 파악할 수 있다. 따라서, 길안내 액션에서 경로 옵션(빠른 경로 안내)을 변경하거나 음악과 같은 멀티미디어 컨텐츠를 재생하거나, 채팅 기능을 온(On)시키는 액션을 해당 발화에 대응되는 액션으로 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. If the contents of the morpheme analysis result indicates that the contents of the speech are frustrating, it can be determined that the traffic condition is a frustration when the vehicle condition is less than 30 km per hour and the distance between front and rear of the vehicle is less than 30 cm. Accordingly, an action for changing a route option (quick route guidance), playing multimedia contents such as music, or turning on a chat function is extracted as an action corresponding to the corresponding utterance in the route guidance action, It is possible to control the vehicle according to the vehicle speed.

형태소 분석 결과에 따른 발화 내용이 졸리다는 내용인 경우, 차량 상태가 내기모드인 상황이면, 공기 순환이 안됨에 따라 졸음이 유발된 것으로 파악할 수 있다. 따라서, 외기모드로 변경하는 액션을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.If the contents of the morpheme analysis are drowsy and the vehicle condition is the bet mode, it can be considered that drowsiness is caused by the lack of air circulation. Therefore, an action to be changed to the open air mode can be extracted as an action corresponding to the utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서, 차량 상태가 외기모드이고 히터가 온(On)되어 있는 상황인 경우에는, 히터에서 방출되는 온기로 인해 졸음이 유발된 것으로 파악할 수 있다. 따라서, 창문 열기를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Further, in the case of the same utterance, when the vehicle is in the outside air mode and the heater is on, it can be determined that drowsiness has been caused by the warmth emitted from the heater. Therefore, the window opening can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

형태소 분석 결과에 따른 발화 내용이 땀이 난다거나 덥다는 내용인 경우, 주변 상황이 겨울이면서 차량 상태는 히터가 온(On)되어 있는 상황이면, 히터의 온기로 인해 더위가 유발된 것으로 파악할 수 있다. 따라서, 히터의 온도 낮추기나 풍량 줄이기를 해당 발화에 대응되는 액션으로 저장할 수 있다.  If the content of the utterance according to the morphological analysis result is sweaty or hot, if the surroundings are winter and the vehicle is in a state where the heater is on, it can be determined that the heat is caused by the warmth of the heater . Therefore, the temperature lowering of the heater or the reduction of the air flow rate can be stored as an action corresponding to the corresponding utterance.

또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 히터가 오프(Off)되어 있는 상황이면, 사용자의 신체 열기로 인해 더위가 유발된 것으로 파악할 수 있다. 따라서, 창문 열기 또는 창문 열기 제안을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, if the surrounding situation is winter and the heater is turned off in the same utterance, it can be determined that the heat is caused by the user's body heat. Accordingly, the proposal for opening a window or opening a window can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 차량 내부 온도가 높아서 더위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 실행(On)을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Also, if the surrounding situation is summer and the vehicle condition is the air conditioner is turned off in the same utterance, the internal temperature of the vehicle is high and it can be understood that the heat is generated. Therefore, 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)되어 있는 상황이면, 에어컨의 온도가 높게 설정되어 있어서 더위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 온도 낮추기 또는 풍량 증가를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. If the surrounding situation is summer and the air conditioner is on, the temperature of the air conditioner is set to be high, so that it can be determined that the heat is generated. Therefore, it is possible to extract the air conditioner temperature lowering or the air flow increase to an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.

형태소 분석 결과에 따른 발화 내용이 춥다는 내용인 경우, 주변 상황이 여름이면서 차량 상태가 에어컨이 온(On)되어 있는 상황이면, 에어컨 온도가 지나치게 낮게 설정되어 있거나 에어컨 바람이 지나치게 강하기 때문에 추위가 유발된 것으로 파악할 수 있다. 따라서, 에어컨 온도 높이기나 풍량 감소를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. If the contents are cold according to the result of morphological analysis, if the surrounding situation is summer and the condition of the car is on, the air conditioner temperature is set too low or the air conditioner wind is too strong, . Therefore, it is possible to extract the air conditioner temperature increase or air amount decrease as an action corresponding to the corresponding ignition, and control the vehicle according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 사용자의 신체 컨디션에 문제가 있어 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터의 실행이나 사용자의 바이오 리듬 체크를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, if the surrounding situation is in the summer and the vehicle condition is the air conditioner is off in the same utterance, it can be understood that the cold condition is caused by the problem of the user's physical condition. Therefore, the execution of the heater or the user's biorhythm check can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 차량 상태가 히터가 온(On)되어 있는 상황이면, 히터의 온도가 낮게 설정되어 있거나 풍량이 약하기 때문에 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터 온도 높이기나 풍량 증가를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.Further, if the surrounding situation is winter and the vehicle is in the on state (On), the temperature of the heater is set low or the air volume is low, so that it can be determined that the cold has been caused. Therefore, it is possible to extract the heater temperature increase or the airflow increase as an action corresponding to the corresponding ignition, and control the vehicle according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 히터가 오프되어 있는 상황이면, 히터의 미실행으로 인해 추위가 유발된 것으로 파악할 수 있다. 따라서, 히터 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, if the surrounding situation is winter and the heater is off in the same utterance, it can be understood that the cold is caused by the non-execution of the heater. Therefore, the heater execution can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

형태소 분석 결과에 따른 발화 내용이 머리가 아프다는 내용인 경우, 주변 상황이 겨울이면서 차량 상태가 히터가 온(On) 되어 있는 상황이면, 공기 순환이 되지 않아 두통이 유발된 것으로 파악할 수 있다. 따라서, 외기모드 변환 또는 창문 열기를 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.If the contents of the speech according to the morphological analysis result indicate that the head is sick, if the surrounding situation is winter and the vehicle condition is the heater, the air circulation does not occur and the headache can be determined to be caused. Accordingly, the outside air mode conversion or the window opening can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 겨울이면서 차량 상태가 히터가 오프되어 있는 상황이면, 추위로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 히터 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.In addition, if the surrounding situation is winter and the vehicle condition is the heater is turned off in the same utterance, it can be understood that the headache is caused by the cold. Therefore, the heater execution can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 오프되어 있는 상황이면, 더위로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 에어컨 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, in the same situation, if the surrounding situation is in the summer and the vehicle condition is the air conditioner is off, it can be understood that the headache is caused by the heat. Accordingly, it is possible to extract the air conditioner execution as an action corresponding to the corresponding utterance, and control the vehicle according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이면서 차량 상태가 에어컨이 온(On)되어 있는 상황이면, 냉방병으로 인해 두통이 유발된 것으로 파악할 수 있다. 따라서, 에어컨의 풍향이나 풍량의 변경을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. Also, if the surrounding situation is in the summer and the air conditioner is on (On) in the same contents, it can be understood that the headache is caused by the air conditioner. Therefore, it is possible to extract the change of the wind direction or the wind amount of the air conditioner as an action corresponding to the corresponding utterance, and to control the vehicle according to the extracted action.

형태소 분석 결과에 따른 발화 내용이 찝찝하다는 내용인 경우, 주변 상황이 겨울이고 비가 오는 상황이면, 높은 습도로 인해 불쾌함이 유발된 것으로 파악할 수 있다. 따라서, 디포그 기능의 실행이나 제습 기능의 실행을 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.If the content of the spoken word according to the result of the morphological analysis is insufficient, it can be understood that, when the surrounding situation is winter and it is rainy, it is caused by the high humidity. Therefore, execution of depot function or execution of dehumidification function can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이고 비가 오지 않는 상황이면, 계절적 특성과 더위로 인해 불쾌함이 유발된 것으로 파악할 수 있다. 따라서, 에어컨을 최저 온도로 실행시키는 것이 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다.In addition, if the surrounding situation is summer and the rain does not occur in the same utterance, the seasonal characteristic and the heat can be interpreted as unpleasant. Therefore, the execution of the air conditioner at the minimum temperature can be extracted as an action corresponding to the corresponding utterance, and the vehicle can be controlled according to the extracted action.

또한, 같은 내용의 발화에서 주변 상황이 여름이고 비가 오는 상황이면, 더위와 높은 습도로 인해 불쾌함이 유발된 것으로 파악할 수 있다. 따라서, 에어컨을 제습 모드로 실행하는 것이 해당 발화에 대응되는 액션으로 추출하고, 추출된 액션에 따라 차량을 제어할 수 있다. In addition, if the surrounding situation is summer and rainy in the same utterance, it can be interpreted that the unpleasantness is caused by the heat and the high humidity. Therefore, the execution of the air conditioner in the dehumidification mode can extract the action corresponding to the corresponding speech, 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 the situation, the surrounding situation information and the vehicle condition information are integrally considered together with the utterance of the user, It is possible to precisely understand and provide necessary actions.

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

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

각 액션을 수행하는데 사용되는 인자 값들 중 현재 상황과 대화를 통해 획득 가능한 값들이 모두 획득되면, 대화 액션 관리기(122)는 대화 흐름 관리기(121)에 신호를 전송한다. The dialogue action manager 122 transmits a signal to the conversation flow manager 121. When the conversation action manager 122 receives the current state of the argument values,

한편, 액션 수행이나 조건 판단에 있어 필요한 인자 값이 대화/액션 DB(147), 외부 컨텐츠 서버(300), 장기 메모리(143), 단기 메모리(144) 및 상황 정보 DB(142)에 존재하지 않고, 사용자를 통해서만 획득될 수 있는 경우에는 결과 처리기(130)가 사용자에게 인자 값을 질의하기 위한 대화 응답을 생성하는 것도 가능하다.On the other hand, if an argument value required for performing an action or determining a condition does not exist in the dialog / action DB 147, the external content server 300, the long term memory 143, the short term memory 144, , It is also possible for the result handler 130 to generate an interactive response for querying the user for an argument value if it can only be obtained through the user.

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

도 28은 결과 처리기의 구성을 세분화한 제어 블록도이다.28 is a control block diagram in which the configuration of the result processor is subdivided.

도 28을 참조하면, 결과 처리기(130)는 대화 관리기(120)로부터 입력된 액션을 수행하기 위해 필요한 응답의 생성을 관리하는 응답 생성 관리기(131), 응답 생성 관리기(131)의 요청에 따라 텍스트 응답, 이미지 응답 또는 오디오 응답을 생성하는 대화 응답 생성기(132), 응답 생성 관리기(131)의 요청에 따라 차량 제어를 위한 명령어 또는 외부 컨텐츠를 이용한 서비스를 제공하기 위한 명령어를 생성하는 명령어 생성기(136), 사용자가 원하는 서비스를 제공하기 위해 다수의 서비스를 순차적 또는 산발적으로 실행하고 결과값을 취합해주는 서비스 편집기(134), 생성된 텍스트 응답, 이미지 응답 또는 오디오 응답을 출력하거나 명령어 생성기(136)가 생성한 명령어를 출력하고, 출력이 복수인 경우에는 출력 순서를 결정하는 출력 관리기(133), 응답 생성 관리기(131)와 출력 관리기(133)의 출력에 기초하여 장기 메모리(143)와 단기 메모리(144)를 관리하는 메모리 관리기(135)를 포함한다. 28, the result processor 130 includes a response generation manager 131 that manages the generation of a response required to perform an action input from the conversation manager 120, An interaction response generator 132 for generating a response, an image response or an audio response, an instruction generator 136 for generating an instruction for vehicle control or a service using external content at the request of the response generation manager 131 A service editor 134 for executing a plurality of services sequentially or sporadically and collecting result values to provide a service desired by the user, a text response, an image response or an audio response, or a command generator 136 An output manager 133 for outputting the generated command and determining the output order when the output is plural, a response generation manager 131, Based on the output of the output manager 133, and a memory manager 135 to manage the long-term memory 143 and the short-term memory 144.

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

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

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

사용자의 발화나 상황에 대응하여 출력되는 응답은 대화 응답, 차량 제어, 외부 컨텐츠 제공 등을 포함할 수 있다. 대화 응답은 초기 대화, 질의, 정보 제공을 포함하는 답변 등의 형식을 가질 수 있고 응답 템플릿(149)에 데이터베이스화되어 저장될 수 있다. 또한 응담 템플릿(149)에는 사용자의 피드백 정보를 저장 할 수 있다. The response output in response to the user's utterance or situation may include an interactive response, vehicle control, provision of external content, and the like. The conversation response may have a format such as an initial conversation, an inquiry, an answer including information provision, and may be stored in the response template 149 in a database. Also, the user's feedback information can be stored in the agenda template 149. [

응답 생성 관리기(131)는 대화 응답 생성기(132)와 명령어 생성기(136)에 대화 관리기(120)에서 결정된 액션을 수행하기 위해 필요한 응답의 생성을 요청한다. 이를 위해, 수행될 액션에 관한 정보를 대화 응답 생성기(132)와 명령어 생성기(136)에 전송할 수 있고, 수행될 액션에 관한 정보는 액션명, 인자 값 등을 포함할 수 있다. 응답을 생성함에 있어, 대화 응답 생성기(132)와 명령어 생성기(136)는 현재 대화 상태, 액션 상태 및 사용자의 피드백 정보를 참조할 수 있다. The response generation manager 131 requests the dialog response generator 132 and the command generator 136 to generate a response required to perform the action determined by the dialogue manager 120. [ To this end, information about the action to be performed may be sent 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, an argument value, and the like. In generating the response, the conversation response generator 132 and the instruction generator 136 may refer to the current conversation state, the action state, and the feedback information of the user.

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

예를 들어, 대화 관리기(120)에서 결정된 액션이 길 안내에 해당하는 경우, 응답 템플릿(149)을 검색하여 "[현재 위치:-]에서 [목적지:-]까지 [소요 시간:-]이 소요될 것으로 예상됩니다. 안내를 시작할까요?"를 대화 응답 서식으로 추출할 수 있다. For example, when the action determined by the conversation manager 120 corresponds to a route guidance, the response template 149 is searched to find that it takes [Time: -] from "[present location: -] to [destination: -] Can I start the guidance? "Can be extracted as a dialog response form.

대화 응답 서식에 채워져야 할 인자 중에서 [현재 위치]와 [목적지]의 인자 값은 대화 관리기(120)로부터 전달되고, [소요 시간]의 인자 값은 전달되지 않을 수 있다. 이 경우, 대화 응답 생성기(132)는 외부 컨텐츠 서버(300)에 [현재 위치]에서 [목적지]까지 소요되는 시간을 요청할 수 있다. Among the factors to be filled in the conversation response form, the argument values of [current position] and [destination] are transmitted from the conversation manager 120, and the argument value of the [required time] may not be transmitted. In this case, the conversation response generator 132 may request the external content server 300 for the time from [current location] to [destination].

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

또는, 대화 관리기(120)에서 결정된 액션이 외부 컨텐츠의 제공을 필요로 하는 경우에는 외부 컨텐츠 서버(300)로부터 해당 컨텐츠를 제공받기 위한 명령어를 생성하여 응답 생성 관리기(131)에 전달한다.Alternatively, when the action determined by the dialogue manager 120 requires the provision of external content, a command for receiving the 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 the method and order in which a plurality of commands are executed and transmits them to the response generation manager 131.

응답 생성 관리기(131)는 대화 응답 생성기(132), 명령어 생성기(136) 또는 서비스 편집기(134)로부터 전달받은 응답을 출력 관리기(133)에 전달한다.The response generation manager 131 transfers the response received from the conversation 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, the output order, and the output position of the dialog response generated by the dialog response generator 132 and the command generated by the command generator 136.

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

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

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

또한, 출력 관리기(133)도 자신이 출력한 응답을 메모리 관리기(135)에 전달할 수 있다. In addition, the output manager 133 can also transmit the response output by itself 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 contents 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 between the user and the system based on the conversation response generated and output, and may store the user-related information The long-term memory 143 can be updated.

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

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

전술한 실시예에 따른 대화 시스템(100)에 의하면, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다. 특히, 사용자의 발화가 입력되지 않더라도 대화 시스템(100)이 수집한 상황 정보 또는 운전자 정보에 기초하여 사용자에게 필요한 서비스를 스스로 판단하고 이를 선제적으로 제공하는 것이 가능하다. 또한 대화 시스템(100)은 사용자의 피드백 정보에 기초하여 특정 상황에서 사용자가 가장 선호하는 액션을 도출하여 사용자에게 제공 가능하다.According to the conversation system 100 according to the above-described embodiment, it is possible to provide an optimal service necessary for the user in consideration of various situations occurring in the vehicle. In particular, even if the user's utterance is not inputted, it is possible to determine the service required for the user based on the situation information or the driver information collected by the conversation system 100, and to preliminarily provide the service. In addition, the dialog system 100 can derive the user's most preferred action in a specific situation based on the feedback information of the user and provide it to the user.

예를 들어, 차량 시동 시의 상황에 따라 차량 상태의 평가 기준을 가변화하고 이에 대한 피드백을 선제적으로 제공할 수 있다. 주행 시작 시점을 차량 시동 시, EPB(Electronic Parking Brake) 해제 시 또는 내비게이션 목적지 설정 시 등으로 정의한다. 주행 가능 점수를 계산하는 차량 상태 평가 시스템 및 개별 장치에 가중치를 주고, 상황 요소에 따라 개별 장치에 적용되는 가변적인 가중치를 변화시킨다. 차량 상태에 문제가 있는 것으로 판단될 경우, 정비소 안내 등 개별 장치에 대한 문제 해결 방안을 제공할 수 있다.For example, the evaluation criterion of the vehicle condition may be varied according to the situation at the start of the vehicle, and feedback on the vehicle condition may be provided in advance. The driving start time is defined as when the vehicle is started, EPB (Electronic Parking Brake) is released, or when a navigation destination is set. A vehicle condition evaluation system for calculating a possible score, and individual devices are weighted, and variable weights applied to individual devices are changed according to the situation factors. When it is judged that there is a problem in the vehicle condition, it is possible to provide a solution to the problem of the individual device such as the guide to the repair shop.

또한, 차량 시동 인가 시 목적지 대비 유량 부족 여부를 판단하고, 유량이 부족할 경우 이에 대한 피드백으로 목적지까지의 경로 내에 사용자 선호 주유소를 자동 경유지로 추가하고, 이를 사용자에게 안내할 수 있다. 또한, 사용자의 응답에 따라 자동 경유지로 추가되는 주유소가 변경될 수도 있다.In addition, it is possible to determine whether the flow rate is insufficient relative to the destination when the vehicle is started, and if the flow rate is insufficient, the user can add the user's preferred gas station as the automatic route via the route to the destination, Also, depending on the user's response, the gas station added as an automatic stopover may be changed.

또한, 현재 차량 상태가 유량 부족을 나타내지 않더라도, 사용자의 향후 일정이나 주요 이동 기록, 잔유량 등을 종합적으로 고려하여 주유 장소나 시점을 선제적으로 제공할 수도 있다.In addition, even if the present vehicle state does not indicate a shortage of flow rate, it is possible to preliminarily provide a fueling location or a viewpoint considering the user's future schedule, major movement record, remaining amount, and the like in a comprehensive manner.

또한, 운전자의 신체 상태 및 수면 기록에 관한 정보를 획득하고, 획득된 정보에 기초하여 차량 시동 인가를 조건부로 허가할 수 있다. 예를 들어, 차량 외부에서 신체 상태와 수면 기록을 인식하여 졸음 운전 가능성이 인지되면 비운전을 추천할 수 있다. 또는 신체 상태나 수면 기록에 따라 권장 운전 시간에 대한 정보를 제공할 수도 있다.Further, it is possible to acquire information on the driver's physical condition and sleep record, and conditionally authorize vehicle start based on the obtained information. For example, non-driving can be recommended if the drowsiness possibility is recognized by recognizing the physical condition and the sleep record outside the vehicle. Or may provide information on recommended operating hours based on physical condition or sleep history.

또한, 졸음 운전 가능성을 나타내는 트리거가 반복적으로 발생할 경우, 졸음 운전 가능성을 감지하고 감지된 가능성의 정도에 따라 경고를 출력하거나 자동으로 경로를 변경(휴게소)하는 피드백을 제공할 수 있다. 졸음 운전 가능성을 나타내는 트리거는 심박 저하가 나타난 경우, 선행 차량과의 거리가 기준 거리 이상인 경우, 속도가 기준 속도 이하인 경우와 같이 운전자의 상태나 차량의 상태를 수동적으로 측정하여 획득하는 것도 가능하고, 운전자에게 질의를 발화하고 이에 대한 운전자의 응답 속도를 측정하는 등 대화를 통해 능동적으로 획득하는 것도 가능하다. In addition, when a trigger indicating the possibility of drowsiness is repeatedly generated, it is possible to detect the drowsiness possibility and output a warning according to the degree of possibility of the drowsiness, or to provide feedback to automatically change the route (rest area). The trigger indicating the drowsiness driving possibility can be obtained by manually measuring the state of the driver or the state of the vehicle as in the case where the distance from the preceding vehicle is equal to or greater than the reference distance and the speed is equal to or lower than the reference speed, It is also possible to actively acquire a response through conversation, such as querying the driver and measuring the response speed of the driver.

또한, 사용자가 감정을 표현하는 발화를 입력한 경우, 사용자의 발화로부터 특정 도메인이나 액션은 추출할 수 없지만 대화 시스템(100)은 주변 상황 정보, 차량 상태 정보, 사용자 상태 정보 등을 이용하여 사용자의 의도를 파악하고 대화를 전개할 수 있다. 당해 예시는 전술한 바와 같이 모호성 해결기(230)에서 사용자 발화의 모호성을 해결함으로써 수행될 수 있다. In addition, when the user inputs an utterance expressing the emotion, the specific system can not extract a specific domain or action from the utterance of the user, but the conversation system 100 uses the surrounding state information, vehicle state information, You can identify your intentions and develop a conversation. This example can be performed by resolving the ambiguity of user utterance in ambiguity solver 230 as described above.

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

도 29 내지 도 32는 사용자가 차량온도감소와 관련한 발화를 입력한 경우에 대화 시스템(100)이 입력을 처리하고, 대화를 관리하고, 결과를 출력하는 구체적인 예시를 나타낸 도면이다. 29 to 32 show specific examples in which the conversation system 100 processes inputs, manages conversations, and outputs results when a user inputs a speech related to a decrease in vehicle temperature.

도 29에 도시된 바와 같이, 사용자가 "더워"는 발화를 입력한 경우, 음성 인식기(111a)는 사용자의 음성을 텍스트 형태의 발화문(더워)으로 출력한다.As shown in Fig. 29, when the user inputs the utterance "hot ", the voice recognizer 111a outputs the voice of the user as a text-shaped utterance (hot).

자연어 이해기(111b)는 형태소를 분석하고, 도메인/액션 추론 규칙 DB(141)를 참조하여, 형태소 분석 결과(더워/VA)로부터 [도메인: 공조제어], [액션: 에어컨바람증가], [화행: 단순감정표현]을 추출하여 대화 입력 관리기(111c)에 입력할 수 있다. The natural language understanding unit 111b analyzes the morpheme and refers to the domain / action reasoning rule DB 141 to determine the domain: air conditioning control, action: air conditioner wind increase, Speech: simple sentiment expression] can be extracted and input to the dialog input manager 111c.

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

상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 [도메인: 공조제어], [액션: 에어컨바람증가]와 관련된 상황 정보는 현재 온도이고 상황 정보 타입은 정수 값임을 추출할 수 있다. The situation understanding unit 112c searches the situation understanding table 145 to extract that the situation information related to [domain: air conditioning control], [action: air conditioner wind increase] is the current temperature and the situation information type is an integer value.

상황 이해기(112c)는 상황 정보 DB(142)를 검색하여 현재의 온도 값을 추출한다. 상황 정보 DB(142)에 현재의 온도 값이 저장되어 있지 않은 경우에는, 상황 정보 수집 관리기(112b)에 현재 온도 값을 요청한다. The situation understanding machine 112c searches the situation information DB 142 to extract the current temperature value. If the current temperature value is not stored in the situation information DB 142, the current temperature value is requested to the situation information collection manager 112b.

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

대화 입력 관리기(111c)는 자연어 이해 결과인 [도메인: 공조제어], [액션: 에어컨바람증가], [화행: 단순 감정 표현]와 [상황 정보: 현재 온도: 30도]를 통합하여 대화 관리기(120)에 전달한다. The dialog input manager 111c integrates [domain: air conditioning control], [action: air conditioner wind increase], [speech: simple emotional expression] and [situation information: current temperature: 30 degrees] 120.

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

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

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

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

액션 우선순위 결정기(125)는 연관 액션 DB(146b)에서 차량온도감소와 연계된 액션인 에어컨 바람 증가, 창문내림 및 선루프 열림을 검색한다. 에어컨 바람 증가 및 연계 액션들은 후보 액션이 된다.The action priority determiner 125 retrieves in the associated action DB 146b the actions associated with the vehicle temperature decrease, air conditioner wind increase, window down and sunroof opening. Air conditioner wind increases and conjoint actions become candidate actions.

액션 우선순위 결정기(125)는 미리 저장된 규칙에 따라 각 후보 액션들의 우선 순위를 결정할 수 있다. 우선 순위는 각 후보 액션 별 수행 조건이 판단되기 전에 결정될 수도 있고, 수행 조건이 판단된 이후에 수행 조건을 만족하는 후보 액션들에 대해서만 결정될 수도 있다. 이 때 사용자의 피드백 정보에 기초하여 대화 시스템(100)이 사용자가 차량의 온도를 낮추기 위하여 선호한 동작을 학습한 경우 학습한 동작을 액션으로 출력할 수 있다. 예를 들어 대화 시스템(100)이 액션 인자에 의해서 에어컨의 바람을 증가시키는 동작을 한 경우, 사용자가 에어컨을 끄고 윈도우를 내리는 동작을 반복적으로 실시하였다면, 대화 시스템(100)은 사용자가 온도를 낮추기 위하여 윈도우를 내리는 동작을 선호하는 것으로 판단하고, 에어컨의 바람을 증가시키지 않고 윈도우를 내리는 동작을 출력 할 수 있다. The action priority decider 125 may determine the priority of each candidate action according to a rule stored in advance. The priority order 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. At this time, the interactive system 100 can output the learned operation as an action when the user learns the preferred operation to lower the temperature of the vehicle based on the feedback information of the user. For example, if the conversation system 100 performs an operation to increase the wind of the air conditioner by an action factor, if the user repeatedly performs the operation of turning off the air conditioner and lowering the window, the conversation system 100 may allow the user to lower the temperature It is determined that the operation of lowering the window is preferred and the operation of lowering the window without increasing the wind of the air conditioner can be outputted.

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

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

예를 들어, 차량의 온도를 감소시키는 액션은 온도 30도 미만인 경우일 수 있고, 수행 조건을 판단하기 위해 필요한 인자는 온도 및 날씨이다. 다만, 이때 사용자가 차량의 온도를 감소하는 액션에서 창문을 내리는 동작을 피드백 정보로 입력한 경우 다른 후보 액선이 아닌 창문을 내리는 액션을 출력 할 수 있다. 대화 액션 관리기(122)는 대화/액션 상태 DB(147)에 각 후보 액션을 수행하기 위한 조건과 조건 판단에 필요한 인자를 추가하여 액션 상태를 업데이트한다.For example, the action of reducing the temperature of the vehicle may be less than 30 degrees Celsius, and the factors required to determine the conditions of execution are temperature and weather. However, if the user inputs the action of lowering the window in the action of decreasing the temperature of the vehicle as feedback information, it may output an action of lowering the window rather than the candidate candidate line. The dialogue action manager 122 updates the action state by adding a condition for performing each candidate action and a factor necessary for condition determination to the dialogue / action state DB 147. [

액션 우선순위 결정기(125)는 각 후보 액션의 수행 조건 만족 여부를 판단하기 위해 필요한 인자 값을 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에서 검색하여 가져올 수 있다. The action priority determinator 125 stores an argument value necessary for judging whether or not the execution condition of each candidate action satisfies as an interaction / action state DB 147, a situation information DB 142, a long term memory 143 or a short term memory 144 ).

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

인자 값을 대화/액션 상태 DB(147), 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)에서 가져올 수 없는 경우에는 외부 정보 관리기(126)에 요청할 수 있다.It is possible to request the external information manager 126 when the argument value can not be fetched from the dialogue / action state DB 147, the situation information DB 142, the long term memory 143 or the short term memory 144. [

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

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

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

도 33에 도시된 바와 같이, 대화 액션 관리기(122)는 대화/액션 상태 DB(147)에 획득된 인자 값과 해당 인자 값을 이용하여 판단된 액션 수행 조건 만족 여부를 추가하여 액션 상태를 업데이트한다. 액션 상태를 업데이트하는데 있어서 사용자 피드백 정보가 이용될 수 있다. As shown in FIG. 33, the dialogue action manager 122 updates the action state by adding to the dialogue / action state DB 147 the satisfaction of the action execution condition determined using the argument value and the corresponding argument value . User feedback information may be used in updating the action state.

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

인자 관리기(124)는 액션 인자(146a)로부터 길 안내 액션의 수행에 사용되는 필수 인자로 현위치와 목적지를 추출하고, 선택 인자로 피드백 정보를 추출할 수 있다. The factor manager 124 extracts the current position and the destination from the action factor 146a as an essential factor used for performing the guiding action, and extracts the feedback information as a selection factor.

추출된 인자 목록은 대화 액션 관리기(122)로 전달되어 액션 상태를 업데이트하는데 사용될 수 있다.The extracted argument list may be passed to the dialogue action manager 122 and used to update the action state.

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

후보 액션의 수행 조건을 판단하기 위해 사용되는 인자와, 후보 액션을 수행하는데 사용되는 인자가 상호 겹칠 수 있다. 액션 우선순위 결정기(125)가 획득하여 대화/액션 상태 DB(147)에 저장한 인자 값 중에 후보 액션을 수행하는데 사용되는 인자(필수 인자, 선택 인자)와 대응되는 것이 있으면, 이를 사용할 수 있다. The factors used to determine the execution condition of the candidate action and the factors used to perform the candidate action may overlap each other. If there is a factor corresponding to the factor (essential factor, selection factor) used for performing the candidate action among the factor values acquired by the action priority determiner 125 and stored in the dialogue / action state DB 147, it can be used.

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

도 34은 일 실시예에 따른 대화 처리 방법에 있어서, 사용자 입력을 처리하는 방법을 나타낸 순서도이다. 사용자 입력을 처리하는 방법은 대화 시스템(100)의 입력 처리기(110)에서 수행될 수 있다. 34 is a flowchart illustrating a method of processing user input in a dialog processing method according to an embodiment. A method of processing user input may be performed in the input processor 110 of the dialog system 100.

도 34을 참조하면, 사용자의 발화가 입력되면(500의 예), 음성 인식기(111a)가 입력된 사용자의 발화를 인식한다(510). 사용자의 발화는 차량(200)에 마련된 음성 입력 장치(210) 또는 모바일 기기(400)에 마련된 음성 입력 장치(410)를 통해 입력될 수 있다. Referring to FIG. 34, when the user's utterance is input (YES in step 500), the voice recognizer 111a recognizes the entered 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 user's utterance and outputs it as a text-based utterance.

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

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

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

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

추출된 액션과 관련된 상황 정보를 검색한다(530). 추출된 액션과 관련된 상황 정보는 상황 이해 테이블(145)에 저장될 수 있고, 상황 이해기(112c)가 상황 이해 테이블(145)에서 추출된 액션과 관련된 상황 정보를 검색하고, 검색된 상황 정보의 정보 값을 상황 정보DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 가져온다. And retrieves context information related to the extracted action (530). The context information related to the extracted action may be stored in the context understanding table 145. The context understanding unit 112c searches the context information related to the action extracted from the context understanding table 145, Long-term memory 143, or the short-term memory 144, as shown in FIG.

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

이러한 정보들은 주기적으로 입력될 수도 있고, 특정 이벤트 발생 시에 입력될 수도 있으며, 주기적으로 입력되다가 특정 이벤트 발생 시에 추가적으로 더 입력될 수도 있다. 어느 경우이던지 정보의 수집이 요청되면 능동적으로 해당 정보를 수집할 수 있다. Such information may be periodically input, input at the time of occurrence of a specific event, periodically input, and further input at the time of occurrence of a specific event. In any case, when information collection is requested, the information can be actively collected.

따라서, 액션과 관련된 상황 정보가 이미 수집되어 있는 경우에는 상황 정보 DB(142), 장기 메모리(143) 또는 단기 메모리(144)로부터 해당 정보를 가져오고, 그렇지 않은 경우에는 상황 정보 수집기(111a)를 통해 해당 정보를 수집한다. Accordingly, when the situation information related to the action is already collected, the corresponding information is fetched from the situation information DB 142, the long term memory 143 or the short term memory 144, and if not, the situation information collector 111a Collect the relevant information through.

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

한편, 상황 정보 수집 관리기(112b)는 상황 정보 수집기(112a)가 수집한 데이터가 미리 설정된 조건을 만족하여 특정 이벤트가 발생한 것으로 판단하면 상황 이해기(112c)에 액션 트리거 신호를 전송할 수 있다. On the other hand, the situation information collection management unit 112b can transmit an action trigger signal to the situation understanding unit 112c when the data collected by the situation information collector 112a satisfies predetermined conditions and a specific event is generated.

상황 이해기(112c)는 상황 이해 테이블(145)을 검색하여 해당 이벤트와 관련된 상황 정보를 검색하고, 검색된 상황 정보가 저장되어 있지 않으면 다시 상황 정보 수집 관리기(112b)에 상황 정보의 요청 신호를 전송한다. The situation understanding unit 112c searches the situation understanding table 145 to search for the situation information related to the event, and when the retrieved situation information is not stored, the situation understanding unit 112c sends a request signal of the situation information to the situation information collection management unit 112b again do.

필요한 상황 정보의 수집이 완료되면, 자연어 이해 결과와 상황 정보를 대화 관리기(120)로 전송한다(560). 이벤트가 발생된 경우에는, 이벤트와 관련된 정보(어떤 이벤트가 발생되었는지)와 발생된 이벤트와 관련된 상황 정보도 함께 전송할 수 있다. When the collection of the necessary situation information is completed, the natural language understanding result and the situation information are transmitted to the dialogue manager 120 (560). When an event is generated, information related to the event (which event has occurred) and status information related to the generated event can be transmitted together.

도 35는 일 실시예에 따른 대화 처리 방법에 있어서, 입력 처리기의 출력을 이용하여 대화를 관리하는 방법을 나타낸 순서도이다. 대화를 관리하는 방법은 대화 시스템(100)의 대화 관리기(120)에서 수행될 수 있다. 35 is a flowchart showing a method of managing conversation using the output of an input processor in the conversation processing method according to an embodiment. The method of managing the conversation can be performed in the conversation manager 120 of the conversation system 100.

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

당해 예시에서는 사용자의 발화로부터 도메인과 액션을 추출할 수 있는 경우를 예로 들어 설명하나, 발화 내용 자체나 상황이 모호하여 사용자의 발화로부터 도메인과 액션을 추출할 수 없는 경우도 있을 수 있다. 이 경우, 대화 액션 관리기(122)는 임의의 대화 상태를 생성하고, 모호성 해결기(123)가 사용자의 발화 내용, 주변 상황, 차량 상태, 사용자 정보 등에 기초하여 사용자의 의도를 파악하고 이에 대응되는 적절한 액션을 판단할 수 있다. 사용자의 의도를 파악하는데 있어 사용자의 발화에 대응되는 피드백 정보를 이용 할 수 있다. In this example, the domain and the action can be extracted from the user's utterance. However, the domain and the action can not be extracted from the utterance of the user because the utterance itself or the situation is ambiguous. In this case, the dialogue action manager 122 generates an arbitrary dialogue state, and the ambiguity solver 123 grasps the intention of the user based on the contents of the user's utterance, surrounding conditions, vehicle conditions, user information, The appropriate action can be determined. Feedback information corresponding to the user's utterance can be used to grasp the intention of the user.

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

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

액션 수행조건 DB(146c)에서 후보 액션 별 수행 조건을 검색한다(620). 수행 조건은 액션을 수행하기 위해 필요한 조건으로서, 해당 조건이 만족되면 액션 수행이 가능한 것으로 판단하고, 만족되지 않으면 액션 수행이 불가한 것으로 판단한다. 액션 수행조건 DB(146c)에는 액션 수행 조건 판단에 사용되는 인자의 종류에 대한 정보도 함께 저장된다. 인자에는 사용자의 피드백 정보가 포함 될 수 있다. The execution condition for each candidate action is retrieved from the action execution condition DB 146c (620). The execution condition is a condition necessary for executing the action. If the condition is satisfied, it is determined that the action can be performed. If the condition is not satisfied, the execution condition is determined to be impossible. The action execution condition DB 146c also stores information about the type of the argument used for judging the action execution condition. The factor may include user feedback information.

액션 수행 조건 판단에 사용되는 인자 값을 획득한다(640). 액션 수행 조건 판단에 사용되는 인자는 조건 판단 인자라 하기로 한다. 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)를 검색하여 조건 판단 인자의 인자 값을 획득할 수 있다. 조건 판단 인자의 인자 값이 외부 서비스를 통해 제공되어야 하는 경우에는, 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)로부터 필요한 인자 값을 제공받을 수 있다.And acquires an argument value used for determining an action execution condition (640). The factor used in judging the action execution condition is the condition judgment factor. The state information DB 142, the long-term memory 143, the short-term memory 144, or the dialogue / action state DB 147 to obtain the argument value of the condition determination factor. When the parameter value of the condition determination factor is to be provided through the external service, the external content server 300 can receive the required parameter value from the external content server 300.

또한, 상황이나 발화가 모호하여 필요한 인자 값을 획득할 수 없는 경우에는 모호성 해결기(230)를 통해 모호성을 해결하여 필요한 인자 값을 획득할 수 있다. In addition, when a situation or an utterance is ambiguous and a necessary factor value can not be obtained, ambiguity can be solved through the ambiguity solver 230 to obtain necessary factor values.

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

획득된 조건 판단 인자에 기초하여 후보 액션 별로 수행 가부를 판단하고(650), 후보 액션들의 우선 순위를 결정한다(660). 후보 액션들의 우선 순위를 결정하는 규칙은 미리 저장될 수 있다. 액션 우선순위 결정기(125)는 액션 수행 가부가 판단된 이후에 액션 수행이 가능한 후보 액션들만 고려하여 우선 순위를 결정할 수 있다. 또는, 액션들의 수행 가부에 상관없이 우선 순위를 결정한 이후에, 액션 수행 가부에 기초하여 우선 순위를 조절할 수도 있다. 또는 사용자의 피드백 정보에 기초하여 사용자가 선호하는 액션을 우선순위로 조절할 수도 있다. (650) and determines the priority of the candidate actions (660) based on the acquired condition determination factors. The rules for determining the priority of the candidate actions may be stored in advance. The action priority decider 125 may determine the priority by considering only the candidate actions that can be performed after the action is determined to be performed. Alternatively, after determining the priority irrespective of whether or not the actions are performed, the priority may be adjusted based on the action execution capability. Or may prioritize the user's preferred action based on the feedback information of the user.

액션 인자 DB(146a)에서 후보 액션의 수행에 사용되는 인자 목록을 검색한다(670). 액션의 수행에 사용되는 인자는 액션 인자라 하기로 한다. 액션 인자는 필수 인자와 선택 인자를 포함할 수 있다.In the action argument DB 146a, an argument list used for performing the candidate action is retrieved (670). The argument used to perform the action is called the action argument. Action arguments can contain required and optional arguments.

후보 액션의 수행에 사용되는 액션 인자의 인자 값을 획득한다(680). 상황 정보 DB(142), 장기 메모리(143), 단기 메모리(144) 또는 대화/액션 상태 DB(147)를 검색하여 액션 인자의 인자 값을 획득할 수 있다. 액션 인자의 인자 값이 외부 서비스를 통해 제공되어야 하는 경우에는, 외부 정보 관리기(126)를 통해 외부 컨텐츠 서버(300)로부터 필요한 인자 값을 제공받을 수 있다.An argument value of an action factor used in performing the candidate action is obtained (680). Long-term memory 143, short-term memory 144, or conversation / action state DB 147 to obtain the argument value of the action factor. When the argument value of the action factor is to be provided through the external service, the external content server 300 can receive the required parameter value through the external information manager 126.

또한, 상황이나 발화가 모호하여 필요한 인자 값을 획득할 수 없는 경우에는 모호성 해결기(230)를 통해 모호성을 해결하여 필요한 인자 값을 획득할 수 있다. In addition, when a situation or an utterance is ambiguous and a necessary factor value can not be obtained, ambiguity can be solved through the ambiguity solver 230 to obtain necessary factor values.

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

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

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

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

도 36은 일 실시예에 따른 대화 처리 방법에 있어서, 대화 관리의 결과에 대응되는 응답을 생성하기 위한 결과 처리 방법을 나타낸 순서도이다. 결과 처리 방법은 대화 시스템(100)의 결과 처리기(130)에 의해 수행될 수 있다. 36 is a flowchart showing a result processing method for generating a response corresponding to the result of conversation management in the conversation processing method according to the embodiment. The result processing method may be performed by the result processor 130 of the interactive system 100. [

도 36을 참조하면, 대화 응답의 생성이 필요한 경우(700의 예), 대화 응답 생성기(132)가 응답 템플릿(149)을 검색한다(710). 응답 템플릿(149)에서 현재 대화 상태와 액션 상태에 대응되는 대화 응답 서식을 추출하고, 대화 응답 서식에 필요한 인자 값을 채워 대화 응답을 생성한다(720). Referring to FIG. 36, in the case where it is necessary to generate a conversation response (YES in step 700), the conversation response generator 132 searches for a response template 149 (step 710). In the response template 149, an interactive response form corresponding to the current dialog state and the action state is extracted, and the dialog response is generated by filling the argument values necessary for the dialog response form (720).

대화 응답 생성에 필요한 인자 값이 대화 관리기(120)로부터 전달되지 않거나, 외부 컨텐츠를 이용하라는 지시가 전달된 경우에는 외부 컨텐츠 서버(300)로부터 제공받거나 장기 메모리(143), 단기 메모리(144) 또는 상황 정보 DB(142)에서 검색할 수 있다. 필요한 인자 값이 외부 컨텐츠 서버(300), 장기 메모리(143), 단기 메모리(144) 및 상황 정보 DB(142)에 존재하지 않고, 사용자를 통해서만 획득될 수 있는 경우에는 사용자에게 인자 값을 질의하기 위한 대화 응답을 생성하는 것도 가능하다. When the argument values necessary for generating the conversation response are not transmitted from the conversation manager 120 or when an instruction to use the external contents is received, the contents are received from the external contents server 300 or received from the long-term memory 143, the short- And can be searched from the situation information DB 142. If the required parameter value is not present in the external content server 300, the long term memory 143, the short term memory 144, and the situation information DB 142 and can be obtained only through the user, It is also possible to generate a conversation response for.

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

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

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

출력 관리기(133)는 대화 응답과 명령어를 적절한 출력 위치로 전송하여 응답을 출력한다(750). TTS 응답은 스피커(232)를 통해 출력할 수 있고, 텍스트 응답은 디스플레이(231)를 통해 출력할 수 있다. 명령어는 그 제어 대상에 따라 차량 제어기(240)로 전송될 수도 있고, 외부 컨텐츠 서버(300)로 전송될 수도 있으며, 외부 컨텐츠 서버(300)와 통신하기 위한 통신 장치(280)로 전송될 수도 있다. The output manager 133 sends the dialog response and the command to the appropriate output location and outputs a response (750). The TTS response may be output via the speaker 232 and the text response may be output via the display 231. [ The command may be sent 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 object .

도37은 일 실시예에 따른 사용자의 피드백 정보를 입력받는 동작을 나타낸 순서도이다. 37 is a flowchart illustrating an operation of receiving feedback information of a user according to an embodiment.

도37을 참고하면, 사용자가 발화를 입력하면(800) 대화 시스템은 미리 저장된 액션인자 또는 조건 판단 인자를 기초로 응답을 출력할 수 있다(810). 대화 시스템(100)이 출력한 응답에 기초하여 사용자는 발화 후 반응을 입력 할 수 있다(820). 사용자의 발화 후 반응은 전술한 바와 같이 발화와 같은 음성 반응일 수 있고 음성 외 반응일 수도 있다. 사용자의 발화 후 반응에 기초하여 대화 시스템(100)은 피드백 정보를 생성할 수 있다(830). 또한 피드백 정보를 기초로 조건 판단 인자 및 액션인자를 형성하거나 기존의 인자들을 변경 할 수 있다(840).Referring to FIG. 37, when a user inputs a speech (800), the dialog system may output a response based on a pre-stored action factor or condition determination factor (810). Based on the response output by the dialog system 100, the user may enter the response after the speech (820). The user's post-utterance reaction may be a negative reaction such as an ignition as described above or a negative reaction. Based on the post-utterance response of the user, the conversation system 100 may generate feedback information (830). In addition, condition decision factors and action factors may be formed based on the feedback information, or existing factors may be changed (840).

일 실시예에 따른 대화 처리 방법은 전술한 순서도 상의 순서에 의해 제한되지 않는다. 도 34 내지 도 37의 순서도에 따른 흐름은 대화 처리 방법에 적용될 수 있는 일 예시에 불과하며, 복수의 단계가 동시에 수행되는 것도 가능하고, 각 단계들의 순서가 바뀌는 것도 가능하다. The method for processing a conversation according to an embodiment is not limited by the order in the above-described flowchart. The flow according to the flowcharts of FIGS. 34 to 37 is merely an example that can be applied to the dialogue processing method, and it is also possible that a plurality of steps are performed simultaneously, and the order of the steps is changed.

상기의 설명은 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 상기에 개시된 실시예 및 첨부된 도면들은 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 기술적 사상의 범위가 한정되는 것은 아니다. 그 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 권리범위에 포함되는 것으로 해석되어야 할 것이다. The foregoing description is merely illustrative of the technical idea of the present invention, and various modifications, alterations, and permutations thereof may be made without departing from the essential characteristics of the present invention. Therefore, the embodiments and the accompanying drawings described above are intended to illustrate and not limit the technical idea, and the scope of the technical idea is not limited by these embodiments and the accompanying drawings. The scope of which is to be construed in accordance with the following claims, and all technical ideas which are within the scope of the same shall be construed as being included in the scope of the right.

지금까지 설명한 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법에 의하면, 차량 환경에 특화된 대화 처리 기술을 이용하여 사용자의 의도에 부합되거나 사용자에게 필요한 최적의 서비스를 제공할 수 있다.According to the conversation system described above, the vehicle and the conversation processing method including the conversation system, the conversation processing technique specialized for the vehicle environment can be used to provide the optimum service that meets the user's intention or the user needs.

또한, 차량 내부에서 발생하는 다양한 상황을 고려하여 사용자에게 필요한 최적의 서비스를 제공할 수 있다. 특히, 사용자의 발화와 무관하게 대화 시스템(100)이 수집한 상황 정보 또는 운전자 정보에 기초하여 사용자에게 필요한 서비스를 스스로 판단하고 이를 선제적으로 제공하는 것이 가능하다.In addition, it is possible to provide an optimal service required for a user in consideration of various situations occurring inside the vehicle. In particular, it is possible to judge the service required for the user based on the situation information or the driver information collected by the conversation system 100 regardless of the user's utterance, and to preliminarily provide the necessary service.

100: 대화 시스템
110: 입력 처리기
120: 대화 관리기
130: 결과 처리기
200: 차량
210: 음성 입력 장치
220: 음성 외 입력 장치
230: 대화자 출력 장치
280: 통신 장치
100: Conversation system
110: input processor
120: Conversation Manager
130: result handler
200: vehicle
210: Voice input device
220: Non-voice input device
230: talker output device
280: communication device

Claims (33)

사용자의 발화 및 상기 사용자의 발화 후 반응을 입력 받고, 상기 발화 및 발화 후 반응에 대응되는 액션을 추출하는 입력 처리기;
차량의 상태와 관련된 차량 상태 정보, 상기 차량의 주행 환경과 관련된 주행 환경 정보 및 상기 사용자의 발화 후 반응에 관련된 피드백 정보 중 적어도 하나를 포함하는 상황 정보의 정보 값을 저장하는 저장부;
상기 발화와 대응되는 상기 발화 후 반응을 기초로 상기 피드백 정보를 형성하고,
상기 피드백 정보를 기초로 상기 조건 판단 인자 및 상기 액션 인자 중 적어도 하나를 형성하고,
상기 발화 및 상기 발화 후 반응에 대응되는 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 상기 저장부로터 획득하고, 상기 조건 판단 인자의 인자 값 및 상기 피드백 정보에 기초하여 수행할 액션을 결정하고, 상기 결정된 액션을 수행하는데 사용되는 액션 인자의 인자 값을 상기 저장부로부터 획득하는 대화 관리기; 및
상기 획득된 액션 인자의 인자 값을 이용하여 상기 결정된 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함하는 대화 시스템.
An input processor for inputting a user's utterance and a reaction after the utterance of the user and extracting an action corresponding to the utterance and the reaction after utterance;
A storage unit for storing information values of status information including at least one of vehicle status information related to the status of the vehicle, driving environment information related to the driving environment of the vehicle, and feedback information related to the reaction after the user's utterance;
Forming the feedback information based on the post-ignition reaction corresponding to the ignition,
Forming at least one of the condition determination factor and the action factor based on the feedback information,
Acquiring an argument value of a conditional judgment factor used for judging whether or not the action corresponding to the utterance and the reaction after the utterance is to be performed is obtained from the storage unit rotor and the action to be performed based on the parameter value of the conditional judgment factor and the feedback information A dialogue manager for obtaining an argument value of an action factor used to perform the determined action from the storage; And
And a result processor for generating a response for performing the determined action using the argument value of the obtained action factor.
제 1 항에 있어서,
상기 저장부는,
액션과 관련된 상기 피드백 정보를 상기 액션 별로 저장하고,
상기 입력 처리기는,
상기 발화에 대응되는 액션과 관련된 상기 피드백 정보를 상기 저장부로부터 획득하여 상기 대화 관리기에 전송하는 대화 시스템.
The method according to claim 1,
Wherein,
Storing the feedback information related to the action for each action,
Wherein the input processor comprises:
Acquiring the feedback information related to the action corresponding to the utterance from the storage unit, and transmitting the obtained feedback information to the conversation manager.
제 2 항에 있어서,
상기 대화 관리기는,
상기 입력 처리기로부터 전달된 상기 발화 후 반응을 이용하여 도출된 상기 피드백 정보를 기초로 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 변경하는 대화 시스템.
3. The method of claim 2,
The conversation manager includes:
And an argument value of the condition determination factor or an argument value of the action factor is changed based on the feedback information derived from the post-utterance response transmitted from the input processor.
제 2항에 있어서,
상기 대화 관리기는,
상기 피드백 정보에 대응되는 액션과 연관된 적어도 하나의 액션을 상기 저장부로부터 획득하는 대화 시스템.
3. The method of claim 2,
The conversation manager includes:
Wherein at least one action associated with an action corresponding to the feedback information is obtained from the storage.
제 4항에 있어서,
상기 대화 관리기는,
상기 피드백 정보에 기초하여 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션들 사이의 우선 순위를 결정하는 대화 시스템.
5. The method of claim 4,
The conversation manager includes:
And determine a priority between the action corresponding to the utterance and the associated at least one action based on the feedback information.
제 5 항에 있어서,
상기 대화 관리기는,
상기 피드백 정보에 기초하여 상기 연관된 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 변경하고, 상기 조건 판단 인자를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값에 기초하여 상기 연관된 적어도 하나의 액션의 수행 가부를 판단하는 대화 시스템.
6. The method of claim 5,
The conversation manager includes:
Wherein the control unit changes the parameter value of the condition judging factor used for judging whether the associated action is performed based on the feedback information, acquires the condition judging factor from the storage unit rotor, To determine whether to perform the associated at least one action.
제 6 항에 있어서,
상기 대화 관리기는,
상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션 중 수행이 가능하고, 상기 피드백 정보를 기초로 상기 결정된 우선 순위가 가장 높은 액션을 상기 수행할 액션으로 결정하는 대화 시스템.
The method according to claim 6,
The conversation manager includes:
Determining an action corresponding to the utterance and at least one action associated therewith as an action to be performed, the action having the highest priority determined based on the feedback information.
제 1 항에 있어서,
외부 서버와 통신하는 통신부;를 더 포함하고,
상기 대화 관리기는,
상기 피드백 정보를 상기 저장부로부터 획득할 수 없는 경우, 상기 외부 서버에 상기 피드백 정보를 요청하는 대화 시스템.
The method according to claim 1,
And a communication unit for communicating with an external server,
The conversation manager includes:
And requests the external server for the feedback information if the feedback information can not be acquired from the storage unit.
제 1 항에 있어서,
상기 결과 처리기는,
상기 결정된 액션을 수행하기 위한 응답으로 대화 응답 및 차량의 제어를 위한 명령어를 생성하는 대화 시스템.
The method according to claim 1,
The result processor comprises:
And generate a command for controlling the conversation response and the vehicle in response to performing the determined action.
제 1 항에 있어서,
상기 차량으로부터 상기 상황 정보의 정보 값을 수신하고, 상기 차량에 상기 응답을 전송하는 통신부;를 더 포함하는 대화 시스템.
The method according to claim 1,
And a communication unit that receives the information value of the situation information from the vehicle and transmits the response to the vehicle.
제 1 항에 있어서,
상기 차량에 연결된 모바일 기기로부터 상기 상황 정보의 정보 값을 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 통신부;를 더 포함하는 대화 시스템.
The method according to claim 1,
And a communication unit for receiving the information value of the status information from the mobile device connected to the vehicle, and transmitting the response to the mobile device.
차량의 상태와 관련된 차량 상태 정보,상기 차량의 주행 환경과 관련된 주행 환경 정보 및 상기 사용자의 발화 후 반응에 관련된 피드백 정보 중 적어도 하나를 포함하는 상황 정보의 정보 값을 저장부에 저장하고;
사용자의 발화 및 상기 상기 사용자의 발화 후 반응을 입력받고;
상기 발화와 대응되는 상기 발화 후 반응을 기초로 상기 피드백 정보를 형성하고,
상기 피드백 정보를 기초로 조건 판단 인자 및 액션 인자 중 적어도 하나를 형성하고,
상기 발화에 대응되는 액션을 포함하는 적어도 하나의 후보 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값 및 상기 적어도 하나의 후보 액션을 수행하는데 사용되는 액션 인자의 인자 값 중 적어도 하나를 상기 저장부로터 획득하고,
상기 획득된 조건 판단 인자의 인자 값 및 상기 피드백 정보에 기초하여 상기 적어도 하나의 후보 액션 중에서 수행할 액션을 결정하고;
상기 획득된 액션 인자의 인자 값을 이용하여 상기 결정된 액션을 수행하기 위한 응답을 생성하는 것;을 포함하는 대화 처리 방법.
Storing information values of status information including at least one of vehicle status information related to the status of the vehicle, driving environment information related to the driving environment of the vehicle, and feedback information related to the reaction after the user's utterance;
Receiving a user's utterance and a reaction after the utterance of the user;
Forming the feedback information based on the post-ignition reaction corresponding to the ignition,
Forming at least one of a condition determination factor and an action factor based on the feedback information,
At least one of an argument value of a condition judging factor used for judging whether or not to perform at least one candidate action including an action corresponding to the utterance and an argument value of an action factor used for performing the at least one candidate action, The rotor of the storage unit is acquired,
Determining an action to be performed among the at least one candidate action based on the obtained value of the condition judging factor and the feedback information;
And generating a response for performing the determined action using the argument value of the obtained action factor.
제 12항에 있어서,
액션과 관련된 상기 피드백 정보를 상기 액션 별로 상기 저장부에 저장하고;
상기 발화에 대응되는 액션과 관련된 상기 피드백 정보를 상기 저장부로부터 획득하여 상기 대화 관리기에 전송하는 것;을 더 포함하는 대화 처리 방법.
13. The method of claim 12,
Storing the feedback information related to the action in the storage unit for each action;
And obtaining the feedback information related to the action corresponding to the utterance from the storage unit and transmitting the obtained feedback information to the conversation manager.
제 13 항에 있어서,
상기 입력 처리기로부터 전달된 상기 발화 후 반응을 이용하여 도출된 상기 피드백 정보를 기초로 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 변경하는 것;을 더 포함하는 대화 처리 방법.
14. The method of claim 13,
And changing an argument value of the condition determination factor or an argument value of the action factor based on the feedback information derived from the post-utterance response transmitted from the input processor.
제 13항에 있어서,
상기 적어도 하나의 인자 값 중 적어도 하나를 상기 저장부로 획득하는 것은,
상기 피드백 정보에 대응되는 액션과 연관된 적어도 하나의 액션을 상기 저장부로부터 획득하는 대화 처리 방법
14. The method of claim 13,
Obtaining at least one of the at least one factor value to the storage means,
And acquiring at least one action associated with the action corresponding to the feedback information from the storage unit
제 15항에 있어서,
상기 피드백 정보에 기초하여 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션들 사이의 우선 순위를 결정하는 것을 더 포함하는 대화 처리 방법.
16. The method of claim 15,
And determining a priority between the action corresponding to the utterance and the associated at least one action based on the feedback information.
제 16항에 있어서,
상기 적어도 하나의 후보 액션 중에서 수행할 액션을 결정하는 것은,
상기 피드백 정보에 기초하여 상기 연관된 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 변경하고, 상기 조건 판단 인자를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값에 기초하여 상기 연관된 적어도 하나의 액션의 수행 가부를 판단하는 대화 처리 방법.
17. The method of claim 16,
Determining an action to be performed among the at least one candidate action,
Wherein the control unit changes the parameter value of the condition judging factor used for judging whether the associated action is performed based on the feedback information, acquires the condition judging factor from the storage unit rotor, And determining whether to perform the associated at least one action.
제 6 항에 있어서,
상기 적어도 하나의 후보 액션 중에서 수행할 액션을 결정하는 것은,
상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션 중 수행이 가능하고, 상기 피드백 정보를 기초로 상기 결정된 우선 순위가 가장 높은 액션을 상기 수행할 액션으로 결정하는 대화 처리 방법.
The method according to claim 6,
Determining an action to be performed among the at least one candidate action,
Determining an action corresponding to the utterance and at least one action associated therewith as an action to be performed, the action having the highest priority determined based on the feedback information.
제 1 항에 있어서,
외부 서버와 통신하는 것;을 더 포함하고,
상기 피드백 정보를 상기 저장부로부터 획득할 수 없는 경우, 상기 외부 서버에 상기 피드백 정보를 요청하는 것을 더 포함하는 대화 처리 방법.
The method according to claim 1,
Communicating with an external server,
And requesting the feedback information to the external server when the feedback information can not be obtained from the storage unit.
제 1 항에 있어서,
상기 결정된 액션을 수행하기 위한 응답을 생성하는 것은,
상기 결정된 액션을 수행하기 위한 응답으로 대화 응답 및 차량의 제어를 위한 명령어를 생성하는 대화 처리 방법.
The method according to claim 1,
Generating a response to perform the determined action comprises:
And generating a command for controlling the conversation response and the vehicle in response to the determined action.
제 1 항에 있어서,
상기 차량으로부터 상기 상황 정보의 정보 값을 수신하고, 상기 차량에 상기 응답을 전송하는 것;을 더 포함하는 대화 처리 방법.
The method according to claim 1,
Receiving the information value of the situation information from the vehicle, and transmitting the response to the vehicle.
제 1 항에 있어서,
상기 차량에 연결된 모바일 기기로부터 상기 상황 정보의 정보 값을 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 것;을 더 포함하는 대화 처리 방법.
The method according to claim 1,
Receiving an information value of the status information from a mobile device connected to the vehicle, and transmitting the response to the mobile device.
사용자의 발화 및 상기 사용자의 피드백 반응을 입력 받고, 상기 발화에 대응되는 액션을 추출하는 입력 처리기;
차량의 상태와 관련된 차량 상태 정보 및 상기 차량의 주행 환경과 관련된 주행 환경 정보 중 적어도 하나를 포함하는 상황 정보의 정보 값을 저장하는 저장부;
상기 발화와 대응되는 상기 피드백 반응을 기초로 상기 조건 판단 인자 및 상기 액션 인자 중 적어도 하나를 형성하고,
상기 발화에 대응되는 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 상기 저장부로터 획득하고, 상기 조건 판단 인자의 인자 값에 기초하여 수행할 액션을 결정하고, 상기 결정된 액션을 수행하는데 사용되는 액션 인자의 인자 값을 상기 저장부로부터 획득하는 대화 관리기; 및
상기 획득된 액션 인자의 인자 값을 이용하여 상기 결정된 액션을 수행하기 위한 응답을 생성하는 결과 처리기;를 포함하는 차량.
An input processor for receiving a user's utterance and a user's feedback reaction and extracting an action corresponding to the utterance;
A storage unit for storing information values of status information including at least one of vehicle status information related to the status of the vehicle and driving environment information related to the driving environment of the vehicle;
Forming at least one of the condition determining factor and the action factor on the basis of the feedback reaction corresponding to the utterance,
Determining an action to be performed based on an argument value of the condition determination factor, performing an action to be performed on the action, A dialogue manager for acquiring an argument value of an action factor used for the action; And
And a result processor for generating a response to perform the determined action using the argument value of the obtained action factor.
제 23항에 있어서,
상기 저장부는,
액션과 관련된 상기 피드백 정보를 상기 액션 별로 저장하고,
상기 입력 처리기는,
상기 발화에 대응되는 액션과 관련된 상기 피드백 정보를 상기 저장부로부터 획득하여 상기 대화 관리기에 전송하는 차량
24. The method of claim 23,
Wherein,
Storing the feedback information related to the action for each action,
Wherein the input processor comprises:
Acquiring the feedback information related to the action corresponding to the utterance from the storage unit and transmitting the obtained feedback information to the conversation manager
제 24 항에 있어서,
상기 대화 관리기는,
상기 입력 처리기로부터 전달된 상기 피드백 정보를 이용하여 상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 변경하는 차량.
25. The method of claim 24,
The conversation manager includes:
And changes the factor of the condition determination factor or the factor of the action factor using the feedback information transmitted from the input processor.
제 24항에 있어서,
상기 대화 관리기는,
상기 발화에 대응되는 액션과 연관된 적어도 하나의 액션을 상기 저장부로부터 획득하는 대화 시스템.
25. The method of claim 24,
The conversation manager includes:
And acquiring at least one action associated with the action corresponding to the utterance from the storage.
제 26항에 있어서,
상기 대화 관리기는,
상기 피드백 정보에 기초하여 상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션들 사이의 우선 순위를 결정하는 대화 시스템.
27. The method of claim 26,
The conversation manager includes:
And determine a priority between the action corresponding to the utterance and the associated at least one action based on the feedback information.
제 27항에 있어서,
상기 대화 관리기는,
상기 피드백 정보에 기초하여 상기 연관된 액션의 수행 가부를 판단하는데 사용되는 조건 판단 인자의 인자 값을 변경하고, 상기 조건 판단 인자를 상기 저장부로터 획득하고, 상기 획득된 조건 판단 인자의 인자 값에 기초하여 상기 연관된 적어도 하나의 액션의 수행 가부를 판단하는 대화 시스템.
28. The method of claim 27,
The conversation manager includes:
Wherein the control unit changes the parameter value of the condition judging factor used for judging whether the associated action is performed based on the feedback information, acquires the condition judging factor from the storage unit rotor, To determine whether to perform the associated at least one action.
제 28항에 있어서,
상기 대화 관리기는,
상기 발화에 대응되는 액션과 상기 연관된 적어도 하나의 액션 중 수행이 가능하고, 상기 피드백 정보를 기초로 상기 결정된 우선 순위가 가장 높은 액션을 상기 수행할 액션으로 결정하는 대화 시스템.
29. The method of claim 28,
The conversation manager includes:
Determining an action corresponding to the utterance and at least one action associated therewith as an action to be performed, the action having the highest priority determined based on the feedback information.
제 23항에 있어서,
외부 서버와 통신하는 통신부;를 더 포함하고,
상기 대화 관리기는,
상기 조건 판단 인자의 인자 값 또는 상기 액션 인자의 인자 값을 상기 저장부로부터 획득할 수 없는 경우, 상기 외부 서버에 상기 인자 값을 요청하는 대화 시스템.
24. The method of claim 23,
And a communication unit for communicating with an external server,
The conversation manager includes:
And requests the external server for the factor value if the factor of the condition factor or the factor of the action factor can not be obtained from the storage unit.
제 23항에 있어서,
상기 결과 처리기는,
상기 결정된 액션을 수행하기 위한 응답으로 대화 응답 및 차량의 제어를 위한 명령어를 생성하는 대화 시스템.
24. The method of claim 23,
The result processor comprises:
And generate a command for controlling the conversation response and the vehicle in response to performing the determined action.
제 23항에 있어서,
상기 차량으로부터 상기 상황 정보의 정보 값을 수신하고, 상기 차량에 상기 응답을 전송하는 통신부;를 더 포함하는 대화 시스템.
24. The method of claim 23,
And a communication unit that receives the information value of the situation information from the vehicle and transmits the response to the vehicle.
제 23항에 있어서,
상기 차량에 연결된 모바일 기기로부터 상기 상황 정보의 정보 값을 수신하고, 상기 모바일 기기에 상기 응답을 전송하는 통신부;를 더 포함하는 대화 시스템.









24. The method of claim 23,
And a communication unit for receiving the information value of the status information from the mobile device connected to the vehicle, and transmitting the response to the mobile device.









KR1020170126837A 2017-09-29 2017-09-29 Dialogue processing apparatus, vehicle having the same and dialogue processing method KR102487669B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170126837A KR102487669B1 (en) 2017-09-29 2017-09-29 Dialogue processing apparatus, vehicle having the same and dialogue processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170126837A KR102487669B1 (en) 2017-09-29 2017-09-29 Dialogue processing apparatus, vehicle having the same and dialogue processing method

Publications (2)

Publication Number Publication Date
KR20190037470A true KR20190037470A (en) 2019-04-08
KR102487669B1 KR102487669B1 (en) 2023-01-13

Family

ID=66164165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170126837A KR102487669B1 (en) 2017-09-29 2017-09-29 Dialogue processing apparatus, vehicle having the same and dialogue processing method

Country Status (1)

Country Link
KR (1) KR102487669B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102243432B1 (en) * 2019-11-20 2021-04-21 한국산업기술대학교산학협력단 A method and system for controlling vehicle based on facial expression information of driver
CN113488033A (en) * 2020-03-17 2021-10-08 北京百度网讯科技有限公司 User passive voice interaction method, device, terminal, server and medium
WO2024093648A1 (en) * 2022-10-31 2024-05-10 华为技术有限公司 Method for multi-instruction execution, electronic device, apparatus, and vehicle

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100418736B1 (en) * 1995-11-06 2004-06-12 혼다 기켄 고교 가부시키가이샤 Driving condition monitoring device for vehicle
JP2005086768A (en) * 2003-09-11 2005-03-31 Toshiba Corp Controller, control method, and program
JP2007058615A (en) * 2005-08-25 2007-03-08 Advanced Telecommunication Research Institute International Action guideline determination device and computer program
KR100775006B1 (en) * 2005-11-30 2007-11-08 한국정보통신대학교 산학협력단 Terminal apparatus for providing context aware mobile service and method thereof, and server system for providing indoor mobile service in conjunction with the same
KR20130035983A (en) 2011-09-30 2013-04-09 애플 인크. Using context information to facilitate processing of commands in a virtual assistant
KR20130108467A (en) * 2011-01-19 2013-10-02 퀄컴 인코포레이티드 Learning situations via pattern matching
KR20140015656A (en) * 2012-06-26 2014-02-07 에스케이플래닛 주식회사 System and method for recommending contents on based external enviroment of vehicle and user's preferences style
KR20150113280A (en) * 2014-03-27 2015-10-08 한국전자통신연구원 Method and apparatus for controlling navigation using voice conversation
US20170140757A1 (en) * 2011-04-22 2017-05-18 Angel A. Penilla Methods and vehicles for processing voice commands and moderating vehicle response

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100418736B1 (en) * 1995-11-06 2004-06-12 혼다 기켄 고교 가부시키가이샤 Driving condition monitoring device for vehicle
JP2005086768A (en) * 2003-09-11 2005-03-31 Toshiba Corp Controller, control method, and program
JP2007058615A (en) * 2005-08-25 2007-03-08 Advanced Telecommunication Research Institute International Action guideline determination device and computer program
KR100775006B1 (en) * 2005-11-30 2007-11-08 한국정보통신대학교 산학협력단 Terminal apparatus for providing context aware mobile service and method thereof, and server system for providing indoor mobile service in conjunction with the same
KR20130108467A (en) * 2011-01-19 2013-10-02 퀄컴 인코포레이티드 Learning situations via pattern matching
US20170140757A1 (en) * 2011-04-22 2017-05-18 Angel A. Penilla Methods and vehicles for processing voice commands and moderating vehicle response
KR20130035983A (en) 2011-09-30 2013-04-09 애플 인크. Using context information to facilitate processing of commands in a virtual assistant
KR20140015656A (en) * 2012-06-26 2014-02-07 에스케이플래닛 주식회사 System and method for recommending contents on based external enviroment of vehicle and user's preferences style
KR20150113280A (en) * 2014-03-27 2015-10-08 한국전자통신연구원 Method and apparatus for controlling navigation using voice conversation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102243432B1 (en) * 2019-11-20 2021-04-21 한국산업기술대학교산학협력단 A method and system for controlling vehicle based on facial expression information of driver
CN113488033A (en) * 2020-03-17 2021-10-08 北京百度网讯科技有限公司 User passive voice interaction method, device, terminal, server and medium
WO2024093648A1 (en) * 2022-10-31 2024-05-10 华为技术有限公司 Method for multi-instruction execution, electronic device, apparatus, and vehicle

Also Published As

Publication number Publication date
KR102487669B1 (en) 2023-01-13

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
US10937424B2 (en) Dialogue system and vehicle using the same
US10997974B2 (en) Dialogue system, and dialogue processing method
US10950233B2 (en) Dialogue system, vehicle having the same and dialogue processing method
US10991368B2 (en) Dialogue system and dialogue processing method
US10861460B2 (en) Dialogue system, vehicle having the same and dialogue processing method
US11508367B2 (en) Dialogue system and dialogue processing method
US11004450B2 (en) Dialogue system and dialogue processing method
KR20190011458A (en) Vehicle, mobile for communicate with the vehicle and method for controlling the vehicle
KR102487669B1 (en) Dialogue processing apparatus, vehicle having the same and dialogue processing method
KR20200006738A (en) Dialogue system, and dialogue processing method
CN110562260A (en) Dialogue system and dialogue processing method
KR102448719B1 (en) Dialogue processing apparatus, vehicle and mobile device having the same, and dialogue processing method
KR20220094400A (en) Dialogue system, Vehicle and method for controlling the dialogue system
KR20190036018A (en) Dialogue processing apparatus, vehicle having the same and dialogue processing method
KR20200000621A (en) Dialogue processing apparatus, vehicle having the same and dialogue processing method
KR20190135676A (en) Dialogue system, vehicle having the same and dialogue processing method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant