WO2019098539A1 - 음성 대화 제어 방법 및 장치 - Google Patents

음성 대화 제어 방법 및 장치 Download PDF

Info

Publication number
WO2019098539A1
WO2019098539A1 PCT/KR2018/012126 KR2018012126W WO2019098539A1 WO 2019098539 A1 WO2019098539 A1 WO 2019098539A1 KR 2018012126 W KR2018012126 W KR 2018012126W WO 2019098539 A1 WO2019098539 A1 WO 2019098539A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
user
conversation
current
transition
Prior art date
Application number
PCT/KR2018/012126
Other languages
English (en)
French (fr)
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 주식회사 다이퀘스트
Publication of WO2019098539A1 publication Critical patent/WO2019098539A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Definitions

  • the present invention relates to a method and apparatus for controlling a voice conversation, and more particularly, to a method and apparatus for controlling a voice conversation for transitioning to a state suitable for a user's utterance by confirming a transition condition between conversation states by hierarchically defining a user intention .
  • Natural language processing technology refers to a technique of mechanically interpreting a language as a means of communicating between human beings in the course of delivering human commands to a computer and is a key technology in performing information retrieval and machine translation.
  • chatbot The chat-based automated response system, which is called chatbot, can be divided into three stages: speech understanding, conversation management, and response generation.
  • the step of translating the user's intention into a semantic structure that can understand the user by analyzing the user utterance verbally is generally identified through the detailed process of morphological analysis, object name extraction, , It is the most important step in finding the correct answer.
  • the response generation step in the previous step, it is a process of effectively transmitting the information found in accordance with the user's intention to the user.
  • the voice interface it is necessary to be able to generate a natural voice speech including the answer contents. Ignition or images should be used together.
  • transition conditions suitable for user utterance can not be confirmed in the dialog management and response generation steps. Therefore, it is necessary to check the transition condition and find a state suitable for the current utterance of the user.
  • the present invention has been devised to solve the above problem, and aims at transitioning to a state suitable for user's utterance by confirming transition conditions between conversation states by hierarchically defining user intention.
  • the transition condition can not be confirmed, the past state path is traced backward and processed as an exception condition, thereby finding a state suitable for the user's current utterance.
  • a method for controlling a voice conversation includes a current status checking step for checking whether a previous conversation state with the user exists when a new utterance is input from a user, A context extracting step of extracting a previous context used in the context extraction step; Determining whether there is any necessary context information in the current conversation state based on the extracted context information, if it is determined that all necessary context information is present in the current conversation state, extracting, from the context information, A transition condition checking step of checking whether a transition condition for transition to the child state of the current dialog state exists; if the transition condition can not be checked in the transition condition checking step, the past state path is traced, And when the transition condition is confirmed in the transition condition checking step, transition is made to the child state, and in the case of finding a state suitable for the current utterance of the user in the exception state processing step, Current To transition to a state suitable for the screen may include the following state transition phase.
  • the apparatus for controlling a voice conversation may include an interactive knowledge DB for storing a conversation state with a user and a case where a previous conversation state with the user exists when a new utterance is input from the user, Extracting a previous context used in the conversation model if the previous conversation state exists, checking whether all the necessary context information is present in the current conversation state based on the extracted context information, If there is a transition condition for transition from the current conversation state to the child state of the current conversation state from the context information, if the transition condition can not be confirmed, Tracks the state of your current speech And transitioning to the child state when the transition condition is confirmed and transitioning to a state suitable for the current utterance of the user when a state suitable for the current utterance of the user is found .
  • the user intention is hierarchically defined and the transition condition between the conversation states is confirmed, so that the transition can be made to a state suitable for the user's utterance.
  • the state path of the past is traced and processed as an exception condition, so that a state suitable for the user's current utterance can be found.
  • FIG. 1 is a block diagram of a voice talk control apparatus according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for controlling a voice conversation according to an embodiment of the present invention
  • FIG. 3 is a conceptual diagram of an interactive model for tracking past state paths according to an embodiment of the present invention.
  • FIG. 4 is a view for explaining the transition condition and the transition state according to the embodiment of the present invention.
  • FIG. 1 illustrates a voice conversation control apparatus according to an embodiment of the present invention.
  • a voice conversation control apparatus 1 conducts conversation with a user to achieve a conversation purpose of a domain task
  • a conversation knowledge DB 200 storing conversation knowledge (information) of an application domain task necessary for achieving a conversation purpose of the domain task, a conversation knowledge DB 200 in which a conversation service designer saves the existing hierarchical task conversation knowledge
  • a hierarchical task dialog knowledge management unit 300 for constructing the dialog knowledge of the application domain task in the dialogue knowledge DB 200 using the subtask conversation knowledge of the library and storing and managing the newly generated subtask conversation knowledge .
  • the voice conversation processing engine unit 100 includes a voice recognition unit 110 for recognizing and characterizing user voice utterances, a dialogue anatomy for analyzing and understanding the voice uttered user uttered sentence in a logical meaning expression 120), a system dialogue management unit (130) for searching the dialogue knowledge DB (200) for a system utterance expression suitable for attaining the present dialogue context and the application domain task objective with respect to the semantic expression for user utterance,
  • the system dialogue management unit 130 or the user dialogue management unit 140 that searches the knowledge DB 200 for an appropriate user utterance candidate for the system dialogue expression after searching for the appropriate system dialogue expression
  • the system DB 300 searches the knowledge DB 200 for an appropriate dialogue pattern meaningfully corresponding to the system utterance expression and the user utterance candidate,
  • dialog generator 150 to generate a sense conversation is comprised of the created dialog text to voice synthesis section 160 for outputting a voice.
  • the voice conversation processing engine unit 100 confirms whether there is a previous conversation state with the user when a new speech is input from the user, and when the previous conversation state exists, You can extract the old context used by the conversation model. If it is determined that all the necessary context information is present in the current conversation state based on the extracted context information and if it is determined that the necessary context information is present in the current conversation state, It can be confirmed whether there is a transition condition for transition to the child state of the conversation state. If the transition condition can not be confirmed, a past state path is traced to find a state suitable for the user's current utterance. If the transition condition is confirmed, the transition is made to the child state, If a suitable state is found, the transition to the state suitable for the current utterance of the user can be made.
  • the conversation knowledge DB 200 for an application domain task stores a conversation state with a user.
  • the conversation knowledge DB 200 stores a hierarchical task flow graph representing a flow between subtasks for resolving a domain task
  • a DB 220 for storing a slot system in which semantics meaning a mutual knowledge between the user and the system are classified in order to achieve the purpose of the domain task
  • a system DB 220 for generating a system utterance or a next user utterance
  • a context DB 230 for storing a context which is a conversation library, which is an aggregation of user and system utterance patterns
  • An application domain DB 240 storing knowledge of application domain made up of a database, If made may include a path state DB (250) for storing the transition state.
  • the hierarchical task dialog knowledge management unit 300 includes a hierarchical task flow graph DB 210, a slot system DB 220, a context DB 230, A hierarchical task dialog knowledge library 310 in which the domain knowledge DB 240 and the state path DB 250 are packaged into task-specific dialog knowledge; It is possible to reuse the per-task dialog knowledge of the hierarchical task dialog knowledge library 310 constructed in advance in the DB 240 or to construct a new task by referring to a task similar to the required purpose or to design a larger task by a combination of these A dialog knowledge construction unit 320 that can search and manage (store, delete, change) or edit the hierarchical task dialog knowledge library 310 There is sex.
  • FIG. 2 is a flowchart illustrating a method for controlling a voice conversation according to an embodiment of the present invention.
  • the voice conversation processing engine unit 100 determines whether a previous conversation state with the user exists (S210). If it is determined that the previous conversation state exists, the speech conversation processing engine unit 100 may extract the previous context used in the conversation model (S220). On the contrary, when it is determined that the previous dialogue state does not exist, the speech dialogue processing engine unit 100 can determine the current state of the input speech through the user's intention analysis (S230). If the current state is determined, Can be extracted.
  • the current conversation state according to the embodiment of the present invention can be defined as a state in which a user's intention is identified and a specific state is established, and the state remains until the transition to a new state is confirmed.
  • the voice conversation processing engine unit 100 may check whether there is any necessary context information in the current conversation state based on the extracted context information (S240). For example, the voice conversation processing engine unit 100 can check the extracted context information and context information stored in the past to see whether there is any context information required in the current conversation state.
  • the voice conversation processing engine unit 100 extracts, from the context information, a transition condition for transition from the current conversation state to the current conversation state (S260).
  • the child state according to the embodiment of the present invention can be defined as a state in which the transition starts and arrives when there are two states that can be transitioned. For reference, if there are two states that can be transitioned, the state where the transition begins can be defined as the parent state.
  • the voice conversation processing engine unit 100 may further inquire the user (S250) to further extract the additional context have.
  • step S260 it is determined whether or not a transition condition exists. If it is determined that a transition condition exists, the voice conversation processing engine unit 100 may transition to the child state (S280).
  • the transition condition indicates a condition that the state changes according to the user's continuous utterance, and the transition condition can be identified through the context information included in the user's additional utterance or the past utterance. For example, as shown in FIG. 4, the voice conversation processing engine unit 100 performs an additional inquiry to the user, and selects a suitable one of various branch conditions defined for each state according to the corresponding user answer (123) Transition is possible.
  • the voice conversation processing engine unit 100 tracks the past state path to find a state suitable for the current utterance of the user (S270) If an appropriate state is found, the state can be transitioned to a state suitable for the current utterance of the user (S280). In the case where the state path of the past is traced and a state suitable for the current utterance of the user is found (S270), the past state path can be traced in the latest order.
  • the voice conversation processing engine unit 100 searches for another path of the most recent previous state to find a suitable state, and when the appropriate state is not found, the voice conversation processing engine unit 100 returns the appropriate state to another path of the previous state By repeating the finding, it is possible to trace the past state path to find a state suitable for the user's current utterance.
  • the voice conversation processing engine unit 100 repeats the transition to the next state (S280). If it is determined that the additional transition is possible (S280), the voice conversation processing engine unit 100 can repeatedly perform the additional transition. If additional transitions are not required, they will be terminated at this stage.
  • FIG. 3 is a conceptual diagram of an interactive model for tracking past state paths according to an embodiment of the present invention.
  • T1 to T4 denote the respective steps when the conversation proceeds
  • S1 to S5 denote the respective step-by-step states when the conversation is continued
  • R1 to R4 denote constraint conditions in which the conversation state transition occurs. At this time, the constraint condition is judged from the user's utterance whether or not it is suitable.
  • the S1 state is reached through the R1 transition at the first stage T1
  • the S3 state is reached through the R3 transition at the second stage T2
  • the S4 state is reached through the R4 transition at the third stage T3 .
  • all the states S1 and S3 which have been performed before are returned in the reverse order, and a procedure for confirming whether there is a transition condition corresponding to the user utterance is performed.
  • the system automatically transitions to the S2 state.
  • the user intention is hierarchically defined and the transition condition between the conversation states is confirmed, so that the transition can be made to a state suitable for the user's utterance.
  • the state path of the past is traced and processed as an exception condition, so that a state suitable for the user's current utterance can be found.

Abstract

본 발명의 실시예에 따른 음성 대화 제어 방법은 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하는 현재 상태 확인 단계, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하는 컨텍스트 추출 단계; 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 필수 정보 확인 단계, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하는 전이 조건 확인 단계, 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 예외 상황 처리 단계 및 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 예외 상황 처리 단계에서 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 다음 상태 전이 단계를 포함할 수 있다.

Description

음성 대화 제어 방법 및 장치
본 발명은 음성 대화 제어 방법 및 장치에 관한 것으로, 보다 구체적으로 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이하기 위한 음성 대화 제어 방법 및 장치에 관한 것이다.
자연어처리 기술은 인간의 명령을 컴퓨터에 전달하는 과정에서, 인간들 간의 의사소통 수단인 언어를 기계적으로 해석하는 기술을 말하며, 정보검색이나 기계번역 등을 수행하는데 있어서 핵심기술이라 할 수 있다.
최근에는 음성인식의 발달로 인해 기존의 키워드 입력 방식의 검색서비스를 넘어서 음성 발화를 통한 구어체 형태의 자연어질의 인터페이스가 시도되고 있으며, 정보를 찾아주는 방법에 있어서도 단순히 수많은 정보 중에서 사용자의 질문과 가장 관련이 높은 문서들을 찾아주는데 그치지 않고, 사용자와의 대화를 통해 사용자의 의도를 구체화하고 이를 통해 보다 구체적이고 정확한 답변을 찾아주기 위한 시도들이 이루어지고 있다.
챗봇으로 불리워지는 대화기반 자동응답 시스템은 크게 발화이해, 대화관리, 응답생성의 3가지 단계로 나눌 수 있다.
먼저 발화이해 단계에서는 사용자 발화를 언어적으로 분석하여 사용자 의도를 기계가 이해할 수 있는 의미 구조로 변환하는 단계로서, 일반적으로 형태소분석, 개체명추출, 화행분석, 의도분석의 세부과정을 통해 식별되며, 정확한 답변을 찾아주는데 있어서 가장 중요한 단계라 할 수 있다.
대화관리 단계에서는 앞서 해석된 사용자 발화의 의미구조를 기반으로 적합한 대화 모델을 적용하여 응답을 위한 최적의 지식을 찾는 과정이며, 현재의 사용자 발화 뿐 아니라 그 전까지의 사용자와의 대화로부터 획득한 정보를 유지하여 활용함으로써 상호작용을 통해 문제를 구체화하고 해결책을 찾아나갈 수 있어야 하는데, 이것이 대화형 인터페이스가 기존의 정보검색 서비스와의 가장 큰 차이점이라 할 수 있다.
응답생성 단계에서는 앞선 단계에서 사용자의 의도에 맞춰 찾아진 정보를 사용자에게 효과적으로 전달하는 과정으로서 음성 인터페이스를 이용할 경우 답변 내용이 포함된 자연스러운 음성 발화를 생성할 수 있어야 하며, 화면 이용이 가능할 경우에는 텍스트 발화 또는 이미지 등도 함께 사용될 수 있어야 한다.
그런데, 대화관리 및 응답생성 단계에서 사용자의 발화에 적합한 전이 조건을 확인할 수 없는 경우가 종종 있을 수 있다. 따라서, 전이 조건을 확인하여 사용자의 현재 발화에 적합한 상태를 찾을 필요성이 있다.
본 발명은 상기 문제점을 해결하기 위해 고안된 것으로, 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이하는 것을 목적으로 한다. 특히, 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 역으로 추적하여 예외 상황으로 처리함으로서, 사용자의 현재 발화에 적합한 상태를 찾는 것을 목적으로 한다.
본 발명의 실시예에 따른 음성 대화 제어 방법은 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하는 현재 상태 확인 단계, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하는 컨텍스트 추출 단계; 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 필수 정보 확인 단계, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하는 전이 조건 확인 단계, 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 예외 상황 처리 단계 및 상기 전이 조건 확인 단계에서 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 예외 상황 처리 단계에서 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 다음 상태 전이 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따른 음성 대화 제어 장치는 사용자와의 대화 상태를 저장하기 위한 대화 지식 DB 및 상기 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하고, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하며, 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하고, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하며, 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾고, 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 음성대화처리엔진부;를 포함할 수 있다.
본 발명의 실시예에 따른 음성 대화 제어 방법에 따르면, 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이할 수 있게 된다. 특히, 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 예외 상황으로 처리함으로서, 사용자의 현재 발화에 적합한 상태를 찾을 수 있게 된다.
또한, 사용자 의도에 따라 자동으로 대화 모델을 생성함으로서, 대화 시스템에 대한 기술적 이해가 없는 작업자도 쉽게 대화 모델을 생성할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 음성 대화 제어 장치에 대한 블록도
도 2는 본 발명의 실시예에 따른 음성 대화 제어 방법에 대한 순서도
도 3은 본 발명의 실시예에 따른 과거의 상태 경로를 추적하는 대화 모델에 대한 개념도
도 4는 본 발명의 실시예에 따른 전이 조건과 전이 상태를 설명하기 위해 참조한 도면
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 음성 대화 제어 장치에 대해 기술하고자 한다.
도 1은 본 발명의 일 실시예에 따른 음성 대화 제어 장치를 도시한 것으로, 본 발명의 일 실시예에 따른 음성 대화 제어 장치(1)는 도메인 태스크의 대화 목적을 달성을 위해 사용자와 대화를 진행하는 음성대화처리엔진부(100), 상기 도메인 태스크의 대화 목적을 달성하기 위해 필요한 응용 도메인 태스크의 대화 지식(정보)를 저장한 대화 지식 DB(200), 대화 서비스 설계자가 기존 계층적 태스크 대화 지식 라이브러리의 서브태스크 대화 지식들을 이용하여 상기 응용 도메인 태스크의 대화 지식을 대화 지식 DB(200)에 구축하고 신규로 생성된 서브태스크 대화 지식을 저장 및 관리하는 계층적 태스크 대화지식 관리부(300)으로 구성되어 있다.
도 1에 도시한 바와 같이, 음성대화처리엔진부(100)는 사용자 음성 발화를 인식하여 문자화하는 음성인식부(110), 음성인식된 사용자 발화 문장을 논리적 의미 표현으로 분석하여 이해하는 대화이해부(120), 사용자 발화에 대한 의미 표현에 대하여 현재 대화문맥과 응용 도메인 태스크 목적 달성에 적합한 시스템 발화 표현을 대화 지식 DB(200)에서 검색하는 시스템 대화관리부(130), 현재 사용자 발화 이후에 시스템 대화관리부(130)에서 적합한 시스템 대화 표현을 검색한 이후에 그에 대한 적합한 사용자 발화 후보를 지식 DB(200)에서 검색하는 사용자 대화관리부(140), 시스템 대화관리부(130) 또는 사용자 대화관리부(140)에서 선택한 시스템 발화 표현 및 사용자발화 후보에 의미상 적합한 대화 패턴을 지식 DB(200)에서 검색하고 검색한 대화 패턴을 이용하여 자연스러운 대화문을 생성하는 대화생성부(150)와, 생성된 대화문장을 음성으로 출력하는 음성합성부(160)로 구성되어 있다.
특히, 본 발명의 실시예에 따른 음성대화처리엔진부(100)는 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하고, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출할 수 있다. 그리고, 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하고, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인할 수 있다. 만일, 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾고, 만일, 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이할 수 있다.
도 1에 도시한 바와 같이, 응용 도메인 태스크를 위한 대화 지식 DB(200)는 사용자와의 대화 상태를 저장하기 위한 것으로서, 도메인 태스크를 해결하기 위한 서브태스크 간의 흐름을 나타내는 계층 태스크 흐름 그래프를 저장한 DB(210), 도메인 태스크의 목적을 달성하기 위해 사용자와 시스템 간에 서로 상호 알아야 하는 의미를 분류하여 놓은 슬롯 체계를 저장한 DB(220), 도메인 태스크에서 특정 상황에서 시스템 발화를 생성하거나 다음 사용자 발화 후보의 추천을 생성하기 위해, 사용자와 시스템의 의도로 구분된 발화 패턴들의 집합체인 대화라이브러리인 컨텍스트를 저장하는 컨텍스트 DB(230)와, 응용 도메인 태스크의 목적 달성을 위해 시스템이 알아야 하는 지식을 DB(Database)화한 응용 도메인지식을 저장한 응용 도메인 DB(240), 그리고 대화 상태 전이가 이루어진 경우 전이 상태를 저장하는 상태 경로 DB(250)를 포함할 수 있다.
도 1에 도시한 바와 같이, 계층적 태스크 대화지식 관리부(300)는 태스크별로 대화처리를 하기 위해 필요한 계층적 태스크 흐름 그래프 DB(210), 슬롯체계 DB(220), 컨텍스트 DB(230), 응용 도메인 지식 DB(240)와 상태 경로 DB(250) 등을 태스크별 대화 지식으로 패키지화하여 가지는 계층적 태스크 대화 지식 라이브러리(310)와, 대화 서비스 설계자가 새로운 응용 도메인 태스크를 위한 대화 지식을 응용 도메인 지식 DB(240)에 구축하기 위해서 미리 구축된 계층적 태스크 대화 지식 라이브러리(310)의 태스크별 대화 지식을 재사용하거나 필요한 용도와 비슷한 태스크를 참조하여 신규로 구축하거나 이들의 조합으로 보다 큰 태스크를 설계하도록 계층적 태스크 대화 지식 라이브러리(310)를 검색 및 관리(저장, 삭제, 변경)하거나 편집할 수 있는 대화 지식 구축부(320)로 구성되어 있다.
도 2는 본 발명의 실시예에 따른 음성 대화 제어 방법에 대한 순서도이다.
도 2에 도시한 바와 같이, 본 발명의 실시예에 따른 음성 대화 제어 방법에 따르면, 음성대화처리엔진부(100)는 사용자로부터 새로운 발화가 입력될 경우, 사용자와의 이전 대화 상태가 존재하는지 여부를 확인할 수 있다(S210). 만일, 이전 대화 상태가 존재하는 것으로 판단한 경우, 음성대화처리엔진부(100)는 대화모델에서 사용하는 이전 컨텍스트를 추출할 수 있다(S220). 반대로, 이전 대화 상태가 존재하지 않는 것으로 판단한 경우, 음성대화처리엔진부(100)는 사용자의 의도 분석을 통해 상기 입력된 발화로 현재 상태를 결정할 수 있고(S230), 현재 상태 결정되면 현재 컨텍스트를 추출할 수 있다. 본 발명의 실시예에 따른 현재 대화 상태는 사용자의 의도가 식별되어 특정 지어진 상태로서, 새로운 상태로 전이가 확정되기 전까지 머무르는 상태로 정의될 수 있다.
음성대화처리엔진부(100)는 컨텍스트를 추출하고 나서, 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 여부를 확인할 수 있다(S240). 예를 들어, 음성대화처리엔진부(100) 추출된 컨텍스트 정보와 과거에 저장된 컨텍스트 정보를 조회하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지를 확인할 수 있다.
만일, 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 음성대화처리엔진부(100)는 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지 여부를 확인할 수 있다(S260). 본 발명의 실시예에 따른 자식 상태는 전이가 가능한 두 개의 상태가 존재할 경우, 전이가 시작하여 도착하는 상태로 정의될 수 있다. 참고로, 전이가 가능한 두개의 상태가 존재할 경우, 전이가 시작되는 상태를 부모 상태로 정의할 수 있다. 반면, 현재 대화 상태에서 필요한 컨텍스트 정보가 일부 부족하여, 필요한 추가 컨텍스트 정보가 더 있는 것으로 판단한 경우, 음성대화처리엔진부(100)는 사용자에게 추가로 질문 하여(S250) 추가 컨텍스트를 더 추출할 수 있다.
S260 단계를 거쳐 전이 조건이 존재하는지 여부를 확인하여, 전이 조건이 존재하는 것으로 확인한 경우에는, 음성대화처리엔진부(100)는 상기 자식 상태로 전이할 수 있다(S280). 전이 조건이란 사용자의 연속적인 발화에 따라 상태가 변경되는 조건을 나타내며, 전이 조건은 사용자의 추가적인 발화 또는 과거의 발화에 포함되어 있던 컨텍스트 정보를 통해 식별할 수 있다. 예를 들어, 도 4에 도시한 바와 같이, 음성대화처리엔진부(100)는 사용자에게 추가적인 질의를 수행하고, 이에 해당하는 사용자 답변(①②③)에 따라 상태 별로 정의된 다양한 분기 조건 중 적합한 상태로 전이할 수 있다. 반면, 전이 조건이 존재하지 않는 것으로 확인한 경우에는, 음성대화처리엔진부(100)는 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾을 수 있으며(S270), 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우, 사용자의 현재 발화에 적합한 상태로 전이할 수 있다(S280). 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 경우(S270), 상기 과거의 상태 경로를 최근 순으로 추적할 수 있다. 보다 구체적으로, 음성대화처리엔진부(100)는 가장 최근의 이전 상태의 다른 경로를 탐색하여 적합한 상태를 찾고, 상기 적합한 상태를 찾지 못한 경우에는 다시 그 이전 상태의 다른 경로에 대해서 상기 적합한 상태를 찾는 것을 반복함으로서, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾을 수 있다.
이어서, 음성대화처리엔진부(100)는 다음 상태로 전이한 이후(S280), 추가적인 전이가 가능한 것으로 판단한 경우(S280), 반복적으로 추가적인 전이를 수행할 수 있다. 만일, 추가적인 전이가 필요하지 않은 경우, 현 단계에서 종료하게 된다.
도 3은 본 발명의 실시예에 따른 과거의 상태 경로를 추적하는 대화 모델에 대한 개념도이다.
도 3에서, T1 내지 T4는 대화가 진행될 때 각 단계를 의미하며, S1 내지 S5는 대화가 지속될 때 각 단계별 상태를 의미하고, R1 내지 R4는 대화 상태간 전이가 일어나는 제약 조건을 의미한다. 이 때, 제약 조건은 사용자 발화로부터 적합성 여부를 판단하게 된다.
도 3에 도시한 바와 같이, 첫번째 단계 T1에서 R1 전이를 통해 S1 상태에 도달하고, 두번째 단계 T2에서 R3 전이를 통해 S3 상태에 도달하며, 세번째 단계 T3에서 R4 전이를 통해 S4 상태에 도달하게 된다. 이후, 다음 발화로부터 더 이상 적합한 전이 조건을 찾을 수 없다면, 이전까지 거쳤던 모든 상태(S1, S3)를 역순으로 회귀하면서 사용자 발화에 부합하는 전이 조건이 존재하는지 확인하는 절차를 거친다. 도 3에서는 사용자 발화와 일치하는 R2가 존재하므로 자동으로 S2 상태로 전이한다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예에 따른 음성 대화 제어 방법에 따르면, 사용자 의도를 계층적으로 정의하여 대화 상태간 전이 조건을 확인함으로서, 사용자의 발화에 적합한 상태로 전이할 수 있게 된다. 특히, 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 예외 상황으로 처리함으로서, 사용자의 현재 발화에 적합한 상태를 찾을 수 있게 된다.
또한, 사용자 의도에 따라 자동으로 대화 모델을 생성함으로서, 대화 시스템에 대한 기술적 이해가 없는 작업자도 쉽게 대화 모델을 생성할 수 있게 된다.

Claims (9)

  1. 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하는 이전 상태 확인 단계;
    상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하는 컨텍스트 추출 단계;
    상기 추출된 컨텍스트 정보에 기초하여 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 필수 정보 확인 단계;
    상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지 여부를 확인하는 전이 조건 확인 단계;
    상기 전이 조건 확인 단계에서 상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾는 예외 상황 처리 단계; 및
    상기 전이 조건 확인 단계에서 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 예외 상황 처리 단계에서 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 다음 상태 전이 단계;를 포함하는 음성 대화 제어 방법.
  2. 제 1항에 있어서,
    상기 예외 상황 처리 단계는,
    상기 과거의 상태 경로를 최근 순으로 추적하는 것인, 음성 대화 제어 방법.
  3. 제 2항에 있어서,
    상기 과거의 상태 경로를 최근 순으로 추적하는 것은,
    가장 최근의 이전 상태의 다른 경로를 탐색하여 적합한 상태를 찾고, 상기 적합한 상태를 찾지 못한 경우에는 다시 그 이전 상태의 다른 경로에 대해서 상기 적합한 상태를 찾는 것을 반복하는 것인,
    음성 대화 제어 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 다음 상태 전이 단계 이후, 추가적인 전이가 가능한 경우에, 반복적으로 상기 추가적인 전이를 수행하는 추가 전이 수행 단계;를 더 포함하는 음성 대화 제어 방법.
  5. 제 1항에 있어서,
    상기 이전 대화 상태가 존재하지 않으면, 사용자의 의도 분석을 통해 상기 입력된 발화로 현재 상태를 결정하는 현재 상태 결정 단계;를 더 포함하는, 음성 대화 제어 방법.
  6. 제 1항에 있어서,
    상기 필수 정보 확인 단계는,
    상기 추출된 컨텍스트 정보와 과거에 저장된 컨텍스트 정보를 조회하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하는 것인, 음성 대화 제어 방법.
  7. 제 1항에 있어서,
    상기 현재 대화 상태에서 필요한 추가 컨텍스트 정보가 있는 것으로 확인한 경우, 사용자에게 추가 질문을 하는 추가 질문 단계;를 더 포함하는, 음성 대화 제어 방법.
  8. 사용자와의 대화 상태를 저장하기 위한 대화 지식 DB; 및
    상기 사용자로부터 새로운 발화가 입력될 경우, 상기 사용자와의 이전 대화 상태가 존재하는지 여부를 확인하고, 상기 이전 대화 상태가 존재하면, 대화모델에서 사용하는 이전 컨텍스트를 추출하며, 상기 추출된 컨텍스트 정보에 기초하여 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는지 확인하고, 상기 현재 대화 상태에서 필요한 컨텍스트 정보가 모두 있는 것으로 확인한 경우, 상기 컨텍스트 정보로부터 상기 현재 대화 상태에서 상기 현재 대화 상태의 자식 상태로의 전이를 위한 전이 조건이 존재하는지를 확인하며,
    상기 전이 조건을 확인할 수 없는 경우, 과거의 상태 경로를 추적하여 사용자의 현재 발화에 적합한 상태를 찾고, 상기 전이 조건을 확인한 경우에는 상기 자식 상태로 전이하고, 상기 사용자의 현재 발화에 적합한 상태를 찾은 경우에는 상기 사용자의 현재 발화에 적합한 상태로 전이하는 음성대화처리엔진부;를 포함하는 음성 대화 제어 장치.
  9. 제 8항에 있어서,
    상기 음성 대화 처리 엔진부는,
    상기 전이 조건을 확인할 수 없는 경우, 상기 과거의 상태 경로를 최근 순으로 추적하는, 음성 대화 제어 장치.
PCT/KR2018/012126 2017-11-14 2018-10-16 음성 대화 제어 방법 및 장치 WO2019098539A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0151756 2017-11-14
KR1020170151756A KR102080931B1 (ko) 2017-11-14 2017-11-14 음성 대화 제어 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2019098539A1 true WO2019098539A1 (ko) 2019-05-23

Family

ID=66539749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/012126 WO2019098539A1 (ko) 2017-11-14 2018-10-16 음성 대화 제어 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102080931B1 (ko)
WO (1) WO2019098539A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210111423A (ko) * 2020-03-03 2021-09-13 삼성전자주식회사 사용자 입력을 처리하는 전자 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239694A (ja) * 1994-03-02 1995-09-12 Oki Electric Ind Co Ltd 音声対話装置
KR20070060491A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 대화형 음성 인터페이스 시스템에서의 예외 상황 처리 방법및 장치
KR20140062656A (ko) * 2012-11-14 2014-05-26 한국전자통신연구원 계층적 대화 태스크 라이브러리를 이용한 이중 대화관리 기반 음성대화시스템
KR20140087717A (ko) * 2012-12-31 2014-07-09 삼성전자주식회사 디스플레이 장치 및 제어 방법
KR20140111538A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 대화형 서버, 디스플레이 장치 및 제어 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102411619B1 (ko) * 2015-05-11 2022-06-21 삼성전자주식회사 전자 장치 및 그 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239694A (ja) * 1994-03-02 1995-09-12 Oki Electric Ind Co Ltd 音声対話装置
KR20070060491A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 대화형 음성 인터페이스 시스템에서의 예외 상황 처리 방법및 장치
KR20140062656A (ko) * 2012-11-14 2014-05-26 한국전자통신연구원 계층적 대화 태스크 라이브러리를 이용한 이중 대화관리 기반 음성대화시스템
KR20140087717A (ko) * 2012-12-31 2014-07-09 삼성전자주식회사 디스플레이 장치 및 제어 방법
KR20140111538A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 대화형 서버, 디스플레이 장치 및 제어 방법

Also Published As

Publication number Publication date
KR102080931B1 (ko) 2020-02-24
KR20190054787A (ko) 2019-05-22

Similar Documents

Publication Publication Date Title
KR100772660B1 (ko) 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법
US8370127B2 (en) Systems and methods for building asset based natural language call routing application with limited resources
CN114547329A (zh) 建立预训练语言模型的方法、语义解析方法和装置
KR102445519B1 (ko) 대화형 지능 서비스 제공 챗봇 제작 시스템 및 방법
CN110674259A (zh) 意图理解方法和装置
WO2015141700A1 (en) Dialogue system construction support apparatus and method
CN110096599B (zh) 知识图谱的生成方法及装置
CN105845133A (zh) 语音信号处理方法及装置
WO2021100902A1 (ko) 문장 패러프레이즈 인식 기반 대화 시스템 답변 방법
WO2021159904A1 (zh) 用于智能语音对话系统的语音数据处理方法及装置
CN111368145A (zh) 一种知识图谱的创建方法、创建系统及终端设备
JP2007052043A (ja) 音声対話シナリオ作成方法、装置、音声対話シナリオ作成プログラム、記録媒体
CN110473543B (zh) 一种语音识别方法、装置
CN112100339A (zh) 用于智能语音机器人的用户意图识别方法、装置和电子设备
WO2019098539A1 (ko) 음성 대화 제어 방법 및 장치
CN114550718A (zh) 热词语音识别方法、装置、设备与计算机可读存储介质
CN109800430B (zh) 一种语义理解方法及系统
CN109992651A (zh) 一种问题目标特征自动识别和抽取方法
KR102497539B1 (ko) 의미역 결정 기술을 활용한 온톨로지 기반 지식베이스 구축 방법
CN115309994A (zh) 地点检索方法、电子设备以及存储介质
WO2022003967A1 (ja) 発話理解支援システム、方法、装置及びプログラム
Leitao et al. NLForSpec: Translating Natural Language Descriptions into Formal Test Case Specifications.
WO2024080696A1 (en) Systems and methods for determining semantic points in human-to-human conversations
CN112017647B (zh) 一种结合语义的语音识别方法、装置和系统
JP2005157823A (ja) 知識ベースシステム、および同システムにおける単語間の意味関係判別方法、ならびにそのコンピュータプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18877360

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18877360

Country of ref document: EP

Kind code of ref document: A1