WO2019103569A1 - Method for improving performance of voice recognition on basis of context, computer apparatus, and computer-readable recording medium - Google Patents

Method for improving performance of voice recognition on basis of context, computer apparatus, and computer-readable recording medium Download PDF

Info

Publication number
WO2019103569A1
WO2019103569A1 PCT/KR2018/014680 KR2018014680W WO2019103569A1 WO 2019103569 A1 WO2019103569 A1 WO 2019103569A1 KR 2018014680 W KR2018014680 W KR 2018014680W WO 2019103569 A1 WO2019103569 A1 WO 2019103569A1
Authority
WO
WIPO (PCT)
Prior art keywords
present
user
stt
text
module
Prior art date
Application number
PCT/KR2018/014680
Other languages
French (fr)
Korean (ko)
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 WO2019103569A1 publication Critical patent/WO2019103569A1/en

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/26Speech to text systems
    • 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/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications

Definitions

  • the present invention relates to an interactive AI agent system, and more particularly to a method for improving the performance of speech recognition based on a context.
  • 10-2013-0031231 discloses a technology for providing a user with a plurality of text conversion results for voice input so that the user can directly input a result of accurate text conversion
  • Korean Patent Laid-Open Publication No. 10-2017-0099917 proposes a plurality of responses based on the context information for each of a plurality of text conversion results for speech input, Technology is disclosed.
  • one service principal may provide an interactive AI agent system, but some functions may be serviced through an external optimized server.
  • a function of converting user's voice into text can be provided in the form of an API, and a representative example is the Google Speech API.
  • STT Sound-To-Text
  • a service when a service is received from an external STT server, it transmits a voice input or transmits a file format and a syntax hint together with a voice loudspeaker, and receives at least one text conversion value associated with the transmitted voice input.
  • a syntax hint is information that aids in the processing of a given audio, and may be a specific word or phrase.
  • the external STT server can improve the accuracy of voice recognition of the transmitted voice file by using the syntax hint.
  • an interactive AI agent system that receives speech of a free speech form and provides services of various domain based contexts
  • the interactive AI agent system builds a hierarchical conversation flow management model including sufficient dialog management knowledge, for example, sequential conversation flow patterns for providing the corresponding service And manage and provide appropriate information when converting speech recognition to text.
  • an interactive AI agent system that can more easily grasp the user's intention based on accurate user speech recognition and provide an appropriate response can be provided.
  • FIG. 1 is a schematic diagram of a system environment in which an interactive AI agent system may be implemented, according to one embodiment of the present invention.
  • FIG. 2 is a functional block diagram that schematically illustrates the functional configuration of the user terminal 102 of FIG. 1, in accordance with one embodiment of the present invention.
  • FIG. 3 is a functional block diagram that schematically illustrates the functional configuration of the interactive AI agent server 106 of FIG. 1, according to one embodiment of the present invention.
  • FIG. 4 is an exemplary operational flow diagram performed by the STT auxiliary module of FIG. 3, in accordance with an embodiment of the present invention.
  • " module " or " module &quot means a functional part that performs at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software. Also, a plurality of "modules” or “sub-modules” may be integrated into at least one software module and implemented by at least one processor, except for "module” or “sub-module” have.
  • the 'interactive AI agent system' is a system in which a user interacts with a user via a natural word input (for example, a natural language) input from a user through interactive interaction via a natural language of voice and / (E.g., commands, statements, requests, questions, etc. from the user) to determine the intent of the user and to perform the necessary actions based on the user's intent, i.e., , And is not limited to any particular form of information processing system.
  • the interactive AI agent system may be for providing a predetermined service, wherein the service may comprise a plurality of sub-task categories (e.g., , Product inquiries, brand inquiries, design inquiries, price inquiries, return inquiries, etc.).
  • the operations performed by the " interactive AI agent system " include, for example, an interactive response and / or task performance, each of which is performed according to the intention of the user in a sequential flow of sub- Lt; / RTI >
  • the interactive response provided by the " interactive AI agent system " may be in the form of a visual, auditory and / or tactile (e.g., voice, sound, text, video, image, symbol, emoticon, hyperlink, Animation, various notices, motion, haptic feedback, and the like), and the like.
  • the task performed by the 'interactive AI agent system' may include, for example, searching for information, proceeding with purchase of goods, writing a message, writing an email, dialing, playing music, photographing, / Navigation services, and the like, as well as various types of tasks (including, but not limited to, examples).
  • the 'interactive AI agent system' includes a chatbot system based on a messenger platform, for example, a chatbot system for exchanging messages with a user on a messenger, providing various information desired by the user, but it should be understood that the present invention is not limited thereto.
  • FIG. 1 is a schematic diagram of a system environment 100 in which an interactive AI agent system may be implemented, in accordance with one embodiment of the present invention.
  • the system environment 100 includes a plurality of user terminals 102a-102n, a communication network 104, an interactive AI agent server 106, an external service server 108 and an external STT service server 110, . ≪ / RTI >
  • each of the plurality of user terminals 102a-102n may be any user electronic device having wired or wireless communication capability.
  • Each of the user terminals 102a-102n may be a variety of wired or wireless communication terminals, including, for example, a smart speaker, a music player, a game console, a digital TV, a set top box, a smart phone, a tablet PC, a desktop, a laptop, It is to be understood that the invention is not limited to any particular form.
  • each of the user terminals 102a-102n can communicate with the interactive AI agent server 106, i. E., Via the communication network 104, with the necessary information.
  • each of the user terminals 102a-102n can communicate with the external service server 108 through the communication network 104, that is, send and receive necessary information.
  • each of the user terminals 102a-102n may receive user input in the form of voice and / or text from the outside, and may interact with the interactive AI agent server 106 via the communication network 104, (E.g., providing a specific conversation response and / or providing a specific task response) obtained through communication with the external service server 108 and / or communication with the external service server 108 (and / or processing within the user terminals 102a-102n) And the like) to the user.
  • an interactive response as a result of an operation corresponding to a user input provided by the user terminals 102a-102n may be, for example, a sequence of sub- May be provided in accordance with the conversation flow pattern of the sub-task classification corresponding to the user input at that time in the flow.
  • each of the user terminals 102a-102n may provide a dialog response as a result of an operation corresponding to a user input, in a visual, audible and / or tactile form (e.g., Images, symbols, emoticons, hyperlinks, animations, various notices, motion, haptic feedback, and the like), and the like.
  • task execution as an operation corresponding to a user input is performed by, for example, searching for information, proceeding to purchase goods, composing a message, creating an email, dialing, music playback, photographing, Services, and the like, as well as performing various types of tasks.
  • the communication network 104 may include any wired or wireless communication network, e.g., a TCP / IP communication network.
  • the communication network 104 may include, for example, a Wi-Fi network, a LAN network, a WAN network, an Internet network, and the like, and the present invention is not limited thereto.
  • the communication network 104 may be any of a variety of wired or wireless, such as Ethernet, GSM, EDGE, CDMA, TDMA, OFDM, Bluetooth, VoIP, Wi- May be implemented using a communication protocol.
  • the interactive AI agent server 106 may communicate with the user terminals 102a-102n via the communication network 104.
  • the interactive AI agent server 106 sends and receives necessary information to and from the user terminals 102a-102n via the communication network 104, The operation result corresponding to the user input, i.e., the user's intention, can be provided to the user.
  • the interactive AI agent server 106 receives voice-like user natural language input from the user terminal 102a-102n, for example via the communication network 104, Can be converted into user natural language input of a character form. According to an embodiment of the present invention, the interactive AI agent server 106 transmits user voice input received from the user terminals 102a - 102n to the external STT server 110, At least one text data corresponding to a user input in the form of a voice can be received. According to one embodiment of the present invention, the interactive AI agent server 106 receives at least one text data from the external STT server 110 and, based on the STT conversion assist database described below, Perform evaluation on each of them, and output at least one text data and an evaluation result.
  • the interactive AI agent server 106 receives user natural language input in the form of speech and / or text from the user terminal 102a-102n, for example via the communication network 104, The received natural language input can be processed based on the models to determine the intent of the user.
  • the interactive AI agent server 106 may communicate with the external service server 108 via the communication network 104, as described above.
  • the external service server 108 may be, for example, a messaging service server, an online consultation center server, an online shopping mall server, an information search server, a map service server, a navigation service server, and the like.
  • an interactive response based on the user's intent which is transmitted from the interactive AI agent server 106 to the user terminals 102a-102n, It should be noted that this may include content.
  • the interactive AI agent server 106 is shown as being a separate physical server configured to communicate with the external service server 108 via the communication network 104, the present disclosure is not limited thereto. According to another embodiment of the present invention, the interactive AI agent server 106 may be included as part of various service servers such as an online consultation center server or an online shopping mall server.
  • the interactive AI agent server 106 collects interactive logs (e.g., may include a plurality of users and / or system utterance records) over various paths, Automatically analyze the conversation logs, and create and / or update a conversation flow management model based on the analysis results.
  • the interactive AI agent server 106 classifies each utterance record into one of the predetermined task categories, for example, through keyword analysis on the collected conversation logs, Can be analyzed stochastically.
  • the external STT server 110 receives a voice input of a user through a communication module and converts the received voice input into at least one It can be converted into text data in a character form and transmitted.
  • the external STT server 110 may receive the user's speech input and related syntax hints and convert the user's speech input into text data in at least one character form based thereon.
  • the user terminal 102 includes a user input receiving module 202, a sensor module 204, a program memory module 206, a processing module 208, a communication module 210, 212).
  • the user input receiving module 202 may receive various types of input from a user, for example, a natural language input such as a voice input and / or a text input (and additionally, Can be received.
  • the user input receiving module 202 includes, for example, a microphone and an audio circuit, and can acquire a user audio input signal through a microphone and convert the obtained signal into audio data.
  • the user input receiving module 202 may include various types of input devices such as various pointing devices such as a mouse, a joystick, and a trackball, a keyboard, a touch panel, a touch screen, , And can acquire a text input and / or a touch input signal inputted from a user through these input devices.
  • the user input received at the user input receiving module 202 may be associated with performing a predetermined task, such as performing a predetermined application or searching for certain information, etc. However, It is not.
  • the user input received at the user input receiving module 202 may require only a simple conversation response, regardless of the execution of a predetermined application or retrieval of information.
  • the user input received at the user input receiving module 202 may relate to a simple statement for unilateral communication.
  • the sensor module 204 includes one or more different types of sensors through which the status information of the user terminal 102, such as the physical state of the user terminal 102, Software and / or hardware status, or information regarding the environmental conditions of the user terminal 102, and the like.
  • the sensor module 204 may include an optical sensor, for example, and may sense the ambient light condition of the user terminal 102 through the optical sensor.
  • the sensor module 204 includes, for example, a movement sensor and can detect whether the corresponding user terminal 102 is moving through the movement sensor.
  • the sensor module 204 includes, for example, a velocity sensor and a GPS sensor, and through these sensors, the position and / or orientation of the corresponding user terminal 102 can be detected.
  • the sensor module 204 may include other various types of sensors, including temperature sensors, image sensors, pressure sensors, touch sensors, and the like.
  • the program memory module 206 may be any storage medium that stores various programs that may be executed on the user terminal 102, such as various application programs and related data.
  • program memory module 206 may include, for example, a telephone dialer application, an email application, an instant messaging application, a camera application, a music playback application, a video playback application, an image management application, , And data related to the execution of these programs.
  • the program memory module 206 may be configured to include various types of volatile or non-volatile memory such as DRAM, SRAM, DDR RAM, ROM, magnetic disk, optical disk, .
  • the processing module 208 may communicate with each component module of the user terminal 102 and perform various operations on the user terminal 102. According to one embodiment of the present invention, the processing module 208 can drive and execute various application programs on the program memory module 206. [ According to one embodiment of the present invention, the processing module 208 may receive signals from the user input receiving module 202 and the sensor module 204, if necessary, and perform appropriate processing on these signals have. According to one embodiment of the present invention, the processing module 208 may, if necessary, perform appropriate processing on signals received from the outside via the communication module 210.
  • the communication module 210 is configured to allow the user terminal 102 to communicate with the interactive AI agent server 106 and / or the external service server 108 via the communication network 104 of FIG. 1 Communication.
  • the communication module 212 may be configured to receive signals from, for example, the user input receiving module 202 and the sensor module 204 via the communication network 104 in accordance with a predetermined protocol, To server 106 and / or to external service server 108.
  • the communication module 210 may provide various signals received from the interactive AI agent server 106 and / or the external service server 108 via the communication network 104, e.g., voice and / Or a response signal including a natural language response in the form of a text, or various control signals, and perform appropriate processing according to a predetermined protocol.
  • signals received from the interactive AI agent server 106 and / or the external service server 108 via the communication network 104 e.g., voice and / Or a response signal including a natural language response in the form of a text, or various control signals, and perform appropriate processing according to a predetermined protocol.
  • the response output module 212 may output a response corresponding to a user input in various forms such as time, auditory, and / or tactile sense.
  • the response output module 212 includes various display devices such as a touch screen based on technology such as LCD, LED, OLED, QLED, and the like, Such as text, symbols, video, images, hyperlinks, animations, various notices, etc., to the user.
  • the response output module 212 may include, for example, a speaker or a headset and may provide an audible response, e.g., voice and / or acoustic response corresponding to user input, can do.
  • the response output module 212 includes a motion / haptic feedback generator, through which a tactile response, e.g., motion / haptic feedback, can be provided to the user.
  • a tactile response e.g., motion / haptic feedback
  • the response output module 212 may simultaneously provide any combination of two or more of a text response, a voice response, and a motion / haptic feedback corresponding to a user input.
  • FIG. 3 is a functional block diagram that schematically illustrates the functional configuration of the interactive AI agent server 106 of FIG. 1, according to one embodiment of the present invention.
  • the interactive AI agent server 106 includes a communication module 310, a Speech-To-Text (STT) auxiliary module 320, a Natural Language Understanding (NLU) A text-to-speech (TTS) module 340, a storage module 350, and a conversation flow management model building / updating module 360.
  • STT Speech-To-Text
  • NLU Natural Language Understanding
  • TTS text-to-speech
  • the communication module 310 is configured to allow the interactive AI agent server 106 to communicate with the user terminal 102 and / or via the communication network 104, in accordance with any wired or wireless communication protocol, To communicate with the external service server 108 and / or the external STT server 110.
  • the communication module 310 can receive voice input and / or text input from the user, transmitted from the user terminal 102 via the communication network 104.
  • the communication module 310 may communicate with the user terminal 102 via the communication network 104 with or without voice input and / or text input from the user, The status information of the user terminal 102 transmitted from the terminal 102 can be received.
  • the status information may include various status information (e.g., the physical state of the user terminal 102) associated with the user terminal 102 at the time of speech input from the user and / Software and / or hardware status of the user terminal 102, environmental status information around the user terminal 102, etc.).
  • communication module 310 may also include an interactive response (e. G., A native < / RTI > And / or control signals to the user terminal 102 via the communication network 104.
  • the user terminal 102 may be connected to the user terminal 102 via the network 104,
  • the STT auxiliary module 320 can receive the voice input from the user input received through the communication module 310 and transmit the received voice input to the external STT server 110. According to one embodiment of the present invention, the STT auxiliary module 320 can transmit the voice input received through the communication module 310 and the information related to the voice input to the external STT server 110 together. According to one embodiment of the present invention, the STT auxiliary module 320 receives at least one text data converted from the voice input transmitted through the communication module 310, and transmits the STT conversion assist database 350 The translation accuracy for each of the at least one text data can be evaluated on a basis.
  • the NLU module 330 may receive text input from the communication module 310 or the STT auxiliary module 320.
  • the textual input received at the NLU module 330 may be transmitted to the user terminal 102 via the user text input or communication module 310 received from the user terminal 102 via the communication network 104, (E.g., a sequence of words) received from the external STT server via the STT auxiliary module 320.
  • the NLU module 330 may include status information associated with a corresponding user input, such as upon receipt of a textual input or thereafter, such as the status information of the user terminal 102 at the time of the user input And the like.
  • the status information may include various status information (e.g., the physical state of the user terminal 102, the software status of the user terminal 102) associated with the user terminal 102 at the time of user input and / And / or hardware state, environmental state information around the user terminal 102, etc.).
  • various status information e.g., the physical state of the user terminal 102, the software status of the user terminal 102 associated with the user terminal 102 at the time of user input and / And / or hardware state, environmental state information around the user terminal 102, etc.
  • the NLU module 330 may map the received text input to one or more user intents. Where the user intent can be associated with a series of operations (s) that can be understood and performed by the interactive AI agent server 106 according to the user intention. According to one embodiment of the present invention, the NLU module 330 may refer to the status information described above in associating the received text input with one or more user intentions.
  • the TTS module 340 may receive an interactive response that is generated to be transmitted to the user terminal 102.
  • the interactive response received at the TTS module 340 may be a natural word or a sequence of words having a textual form.
  • the TTS module 340 may convert the input of the above received text form into speech form according to various types of algorithms.
  • the storage module 350 may include various databases. According to one embodiment of the present invention, the storage module 350 may include a user database 352, a conversation understanding knowledge base 354, an interaction log database 356, and a conversation flow management model 368.
  • the user database 352 may be a database for storing and managing characteristic data for each user.
  • the user database 352 may include, for example, previous conversation history of the user, pronunciation feature information of the user, user lexical preference, location of the user, And may include various user-specific information.
  • the conversation understanding knowledge base 354 may include, for example, a predefined ontology model.
  • an ontology model can be represented, for example, in a hierarchical structure between nodes, where each node is associated with an " intention " node corresponding to the user & Node (a sub-attribute node directly linked to an " intent " node or linked back to an " attribute " node of an " intent " node).
  • " attribute " nodes directly or indirectly linked to an " intention " node and its " intent " node may constitute one domain, and an ontology may be composed of such a set of domains .
  • the conversation understanding knowledge base 354 may be configured to include domains that each correspond to all intents, for example, an interactive AI agent system that can understand and perform corresponding actions have.
  • the ontology model can be dynamically changed by addition or deletion of nodes or modification of relations between nodes.
  • the intention nodes and attribute nodes of each domain in the ontology model may be associated with words and / or phrases associated with corresponding user intents or attributes, respectively.
  • the conversation understanding knowledge base 354 includes an ontology model 354 that includes an ontology model including a hierarchy of nodes and a set of words and / or phrases associated with each node, , And the STT auxiliary module 320 can determine the user's intention based on the ontology model implemented in the lexical dictionary form.
  • the STT assistance module 320 upon receipt of a text input or sequence of words, can determine which of the domains in the ontology model the respective words in the sequence are associated with , And can determine the corresponding domain, i. E. User intention, based on such a determination.
  • the conversation log database 356 may be a database that classifies, stores, and manages conversation logs collected in any of various ways according to a predetermined criterion. According to an embodiment of the present invention, the conversation log database 356 may be stored in association with, for example, the number of times that the user of the service domain frequently uses words, phrases, sentences, and various other types of user input.
  • the dialogue flow management model 358 may include a probabilistic distribution model for a sequential flow between a plurality of sub-task classes needed for providing a service in relation to a given service domain .
  • the dialogue flow management model 358 may include, for example, a sequential flow between each sub-task category belonging to the service domain in the form of a probability graph.
  • the dialogue flow management model 358 may include, for example, a probabilistic distribution of each task classification obtained on various sequential flows that may occur between each of the sub-task classes.
  • the dialogue flow management model 358 may also include a library of dialog patterns belonging to each task category.
  • each database contained in the storage module 350 may reside, for example, at the user terminal 102 and distributed to the user terminal 102 and the interactive AI agent server 106 And the like.
  • the conversation flow management model building / updating module 360 automatically analyzes each conversation log stored in the conversation log database 356 collected by any of a variety of methods, And build and / or update the conversation flow management model.
  • the dialogue flow management model build / update unit 360 generates a dialogue flow management model, for example, through keyword analysis on conversation logs stored in the conversation log database 356, One of the categories, and group the utterance records of the same sub-task category.
  • the dialogue flow management model construction / update unit 360 can grasp, for example, a sequential flow between each group, i.e., each lower task category, as a probabilistic distribution.
  • the dialogue flow management model construction / update unit 360 can construct a sequential flow between the sub-task categories on the service domain, for example, in the form of a probability graph.
  • the dialogue flow management model building / updating unit 360 may be configured to determine, for example, all sequential flows that may occur between each of the sub-task classes, It is possible to determine the probability of occurrence of the flow between each job classification, and thereby obtain a stochastic distribution of each sequential flow between the above-mentioned lower job classes.
  • the conversation flow management model construction / update unit 360 performs keyword analysis on the conversation logs collected in any of various ways, and stores each speech history on the conversation log in a predetermined operation It can be classified and tagged as one of the categories.
  • the predetermined task classifications may be, for example, each of the sub classifications belonging to one service domain.
  • the conversation flow management model building / updating unit 360 constructs the conversation flow management model building / updating unit 360 based on, for example, a sub-task classification of a product inquiry, a brand inquiry, a design inquiry, Quot; can be classified and tagged with any one of them.
  • the dialogue flow management model construction / update unit 360 may previously select relevant keywords for each of the lower task categories, and, based on the selected keywords, Can be classified into classification.
  • the conversation flow management model construction / update unit 360 can group speech data classified and tagged into any one of a plurality of job data categories among speech data of the same classification.
  • the speech history groups grouped into the same category may be included in the dialogue flow management model as the conversation patterns of the category.
  • the dialogue flow management model construction / update unit 360 can analyze the probabilistic distribution of the time series sequential between the respective lower task categories from the dialogue logs.
  • a sub-task classification belongs to a product inquiry, a brand inquiry, a design inquiry, a price inquiry, and a return inquiry
  • a working classification there is a probability of 70% of product inquiry, 20% of brand inquiry, 5% of design inquiry, 3% of price inquiry, and 2% of return inquiry.
  • the price inquiry is 13%
  • the return inquiry is 1% probability
  • each of the sub work categories can be layered as the probability distribution of this sequential flow.
  • the dialogue flow management model construction / update unit 360 may construct a sequential flow between lower task classes on a service domain, for example, in a stochastic graph form. According to an embodiment of the present invention, the dialogue flow management model construction / update unit 360 can recursively grasp the probabilistic relation of the sequential flow between the respective lower task classes, for example, Sequential flow can be configured.
  • the dialogue flow management model construction / update unit 360 can delete a flow having a probability less than the threshold from the analysis result of the probabilistic distribution of the time series sequence between the lower task classes. For example, if the probability is 2%, if the probability that the return inquiry appears after the inquiry of the commodity is 1% in the service domain of the commodity purchase, the flow of the return inquiry after the commodity inquiry is deleted from the conversation flow management model .
  • the interactive AI agent system is a client-server model between the user terminal 102 and the interactive AI agent server 106, And is based on a so-called " thin client-server model ", which delegates all other functions of the interactive AI agent system to the server, but the present invention is not limited thereto.
  • the interactive AI agent system may be implemented as a distributed application between the user terminal and the server, or as a stand-alone application installed on the user terminal .
  • the interactive AI agent system implements the functions of the interactive AI agent system distributed between the user terminal and the server according to an embodiment of the present invention
  • the distribution of each function of the interactive AI agent system between the client and the server is It should be understood that the invention may be otherwise embodied.
  • the specific module has been described as performing certain operations for convenience, the present invention is not limited thereto. According to another embodiment of the present invention, it is to be understood that the operations described as being performed by any particular module in the above description may be performed by separate and distinct modules, respectively.
  • FIG. 4 is an exemplary operational flow diagram performed by the STT auxiliary module of FIG. 3, in accordance with an embodiment of the present invention.
  • the STT assistance module 320 may receive a user's speech input including a natural language input composed of one or more words.
  • the natural language input may be a voice input, e.g., received via the microphone of the user terminal 102a-102n and transmitted via the communication module 310.
  • the STT assistance module 320 transmits the voice input of the user received in step 402 to the external STT server 110.
  • the voice input may be in a voice file (e.g., wave file) or streaming format.
  • the STT auxiliary module 320 may transmit information (e.g., a file format, an encoding format, and the like) and a syntax hint together with a voice input of a user.
  • the phrase hint may be a specific word or phrase as information that aids the given audio processing.
  • the STT assistance module 320 may receive at least one textual data associated with the voice file transmitted from the external STT server 110.
  • the at least one text data may include a score (probability) given by an external STT server.
  • the STT assistance module 320 may evaluate the conversion accuracy for each of the at least one textual data.
  • the conversion accuracy may be a probability for each of the at least one text data or a relative rank for each of the at least one text data.
  • the STT auxiliary module 320 may evaluate the conversion accuracy of each of the at least one text data, according to a predetermined criterion. In one embodiment of the present invention, the STT auxiliary module 320 may evaluate the conversion accuracy for each of the at least one text data in consideration of the scores given by the external STT server for each of the at least one text data.
  • the STT auxiliary module 320 may evaluate the conversion accuracy of each of the at least one text data based on the STT conversion auxiliary database.
  • the STT change assistance database includes a user database 352 for storing and managing user-specific feature data, an conversation log database 356 in which existing conversation logs of users are analyzed and stored, A dialogue understanding knowledge base 352 in which attributes associated with an intent to be included are stored, a dialogue flow 352 that is a probabilistic distribution model for a sequential flow between a plurality of lower task classes necessary for providing a service in association with the service domain, And a management model 358.
  • the STT auxiliary module 320 may evaluate the conversion accuracy based on the number of occurrences of words contained in each of the at least one text conversion results.
  • the number of occurrences of words can be calculated based on the conversation log database in which the number of occurrences of words per domain is stored. For example, when the corresponding domain is "finance" and the received text data is "one time” and "Japan", the number of occurrences for "one time” stored in the domain user database is 7200 and the number of occurrences for "Japan” 10 times, the probability of conversion accuracy can be determined to be higher than that of " one time "
  • the STT auxiliary module 320 may evaluate the conversion accuracy based on the similarity between the sentences included in each of the at least one text conversion results and the sentences stored in the STT translation assistant database.
  • a method of calculating the similarity between sentences includes a statistical method of constructing a vector with each word frequency included in a sentence and obtaining a cosine similarity between vectors, or a semantic similarity based on WordNet distance Various semantic methods can be used.
  • the STT auxiliary module 320 receives at least one converted text data from the external STT server 110 via the communication module 310, and based on a predetermined knowledge model prepared in advance To determine the intent of the user corresponding to the user natural language input and to evaluate the conversion accuracy based on the determined intent.
  • the STT assistance module 320 when determining the user's intent, may send the received text input to one or more It can correspond to a user intent.
  • the STT auxiliary module 320 receives at least one converted text data from the external STT server 110 via the communication module 310, The conversion accuracy can be evaluated based on the hierarchical position.
  • the STT auxiliary module 320 receives the hierarchical location information of the corresponding speech input from the conversation flow management model building / updating module 360, which configures a sequential flow on the service domain in the form of a probability graph .
  • the STT auxiliary module 320 outputs at least one text conversion result.
  • the STT auxiliary module 320 may output at least one text conversion result and an evaluation result together.
  • a computer program according to an embodiment of the present invention may be stored in a storage medium readable by a computer processor or the like such as a nonvolatile memory such as EPROM, EEPROM, flash memory device, a magnetic disk such as an internal hard disk and a removable disk, CDROM disks, and the like. Also, the program code (s) may be implemented in assembly language or machine language. And all changes and modifications that fall within the true spirit and scope of the present invention are intended to be embraced by the following claims.

Abstract

The present invention provides a method which is performed by a computer apparatus and assists voice text conversion for an interactive AI agent system. The method may comprise the steps of: constructing an STT conversion assistance database related to a specific service domain; receiving at least one result of text conversion from an external speech-to-text server; evaluating each of the at least one result of the text conversion on the basis of the STT conversion assistance database; and outputting the at least one result of the text conversion and a result of the evaluation of each of the at least one result of the text conversion.

Description

문맥 기반으로 음성 인식의 성능을 향상하기 위한 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체Method for improving context-based speech recognition performance, computer device and computer readable recording medium
본 발명은, 대화형 AI 에이전트 시스템에 관한 것이며, 보다 구체적으로는 문맥을 기반으로 음성 인식의 성능을 향상시키는 방법 등에 관한 것이다.The present invention relates to an interactive AI agent system, and more particularly to a method for improving the performance of speech recognition based on a context.
근래, 인공지능 분야, 특히 자연어 이해 분야의 기술 발전에 따라, 전통적인 기계 중심의 명령 입출력 방식에 따른 기계 조작에서 벗어나, 사용자로 하여금, 보다 사람 친화적인 방식, 예컨대 음성 및/또는 텍스트 형태의 자연어를 매개로 한 대화 방식으로 기계를 조작하고 기계로부터 원하는 서비스를 얻을 수 있도록 하는 대화형 AI 에이전트 시스템의 개발 및 활용이 점차 늘어나고 있다. 그에 따라, 온라인 상담 센터나 온라인 쇼핑몰 등을 비롯한 (그러나 이에 한정되지 않은 더 많은) 다양한 분야에서, 사용자는, 음성 및/또는 텍스트 형태의 자연어 대화를 제공하는 대화형 AI 에이전트 시스템을 통하여 원하는 서비스를 제공받을 수 있게 되었다. Description of the Related Art [0002] In recent years, with the development of artificial intelligence fields, especially natural language understanding fields, it has become possible to move away from the machine operation according to the conventional machine-centered command input / output method and to allow users to use natural language in a more human-friendly manner such as voice and / Interactive AI agent systems are increasingly being developed and utilized to interactively manipulate machines and obtain desired services from machines. Accordingly, in various fields, including but not limited to, online consulting centers, online shopping malls, and the like, a user can provide desired services through an interactive AI agent system that provides natural language conversations in the form of voice and / or text It is possible to receive it.
대화형 AI 에이전트 시스템이 점점 더 많은 분야에서 활용됨에 따라 사용자의 의도를 해석하고 그에 부합하는 결과를 제공하는 것에 상당히 높은 정확도가 요구되고 있다. 대화형 AI 에이전트 시스템에서 정확한 결과를 제공하기 위해서는 기본적으로 사용자 입력을 정확히 파악하여야 하는데, 사용자 입력이 음성 입력인 경우, 특히 연속하여 복수의 단어를 포함하는 음성 입력인 경우 대화형 AI 에이전트 시스템은 다수의 텍스트 변환 결과가 존재할 수 있는 사용자의 입력으로 인해 정확한 결과를 제공하기 어려울 수 있다. 이러한 문제점을 해결하기 위해 한국특허공개공보 제10-2013-0031231호에서는 음성 입력에 대한 다수의 텍스트 변환 결과를 사용자가 보기 쉽게 제공하여 정확한 텍스트 변환 결과에 대한 사용자의 직접적인 입력을 받는 기술이 개시되어 있으며, 한국특허공개공보 제10-2017-0099917호에서는 음성 입력에 대한 다수의 텍스트 변환 결과 각각에 대해 문맥정보에 기초하여 복수의 응답, 즉 질의 응답 세트를 작성하여 분석함으로써 가장 관련된 결과를 제공하는 기술이 개시되어 있다.As the interactive AI agent system is used in more and more fields, it requires a fairly high degree of accuracy in interpreting the user's intent and providing results consistent with it. In order to provide an accurate result in the interactive AI agent system, the user input must be grasped accurately. If the user input is a voice input, especially when the voice input includes a plurality of words continuously, the interactive AI agent system It may be difficult to provide an accurate result due to the input of a user who may have a result of text conversion of < RTI ID = 0.0 > In order to solve such a problem, Korean Patent Laid-Open Publication No. 10-2013-0031231 discloses a technology for providing a user with a plurality of text conversion results for voice input so that the user can directly input a result of accurate text conversion Korean Patent Laid-Open Publication No. 10-2017-0099917 proposes a plurality of responses based on the context information for each of a plurality of text conversion results for speech input, Technology is disclosed.
한편, 대화형 AI 에이전트 시스템을 하나의 서비스 주체가 제공할 수도 있지만, 일부 기능을 외부의 최적화된 서버를 통해 서비스 받을 수도 있다. 예컨대, 최근에는 사용자의 음성을 텍스트로 변환하는 기능(Speech-To-Text: STT)을 API 형태로 제공할 수 있는데, 대표적인 예로서 Google Speech API를 꼽을 수 있다. 일반적으로 외부의 STT 서버로부터 서비스를 받는 경우, 음성 입력을 전달하거나 음성 음력과 함께 파일 형식 및 구문 힌트를 전송하고, 전송한 음성 입력에 연관된 적어도 하나의 텍스트 변환 값을 수신하게 된다. 구문 힌트란, 주어진 오디오 처리에 도움이 되는 정보로서, 특정 단어 또는 구문일 수 있다. 외부의 STT 서버는 구문 힌트를 이용하여 전송 받은 음성 파일의 음성 인식의 정확도를 향상시킬 수 있다. Meanwhile, one service principal may provide an interactive AI agent system, but some functions may be serviced through an external optimized server. For example, in recent years, a function of converting user's voice into text (Speech-To-Text: STT) can be provided in the form of an API, and a representative example is the Google Speech API. Generally, when a service is received from an external STT server, it transmits a voice input or transmits a file format and a syntax hint together with a voice loudspeaker, and receives at least one text conversion value associated with the transmitted voice input. A syntax hint is information that aids in the processing of a given audio, and may be a specific word or phrase. The external STT server can improve the accuracy of voice recognition of the transmitted voice file by using the syntax hint.
최근에는, 고정 시나리오 기반의 간단한 문답 형태의 대화 서비스만을 제공하던 종래의 대화형 AI 에이전트 시스템을 넘어서서, 자유 발화 형태의 음성 입력을 받아 문맥 기반의 다양한 도메인의 서비스를 제공하는 대화형 AI 에이전트 시스템에 대한 요구가 늘어나고 있다. 자유 발화 형태의 음성 입력을 받아 다양한 도메인의 서비스를 제공하기 위해서, 대화형 AI 에이전트 시스템은 충분한 대화 관리 지식, 예컨대 해당 서비스 제공을 위한 순차적인 대화 흐름 패턴들을 포함하는 계층적 대화 흐름 관리 모델을 구축 및 관리하고 음성 인식을 텍스트로 변환 시에 적합한 정보를 제공할 필요가 있다.In recent years, beyond the conventional interactive AI agent system that provides only a simple dialogue type dialog service based on fixed scenarios, an interactive AI agent system that receives speech of a free speech form and provides services of various domain based contexts There is a growing demand. In order to provide various domain services by receiving speech input of free speech form, the interactive AI agent system builds a hierarchical conversation flow management model including sufficient dialog management knowledge, for example, sequential conversation flow patterns for providing the corresponding service And manage and provide appropriate information when converting speech recognition to text.
그런데, 외부 STT 서버를 이용할 때 전송하는 구문 힌트는 매우 제한적으로 적은 양의 구절만 전송하도록 되어 있기 때문에 다양한 도메인 서비스를 제공하는데 어려움이 있다.However, since the syntax hints to be transmitted when using the external STT server are so limited that only a small number of phrases are transmitted, it is difficult to provide various domain services.
대화형 AI 에이전트 시스템을 제공함에 있어서, 특히 수 많은 대화 로그로부터 획득될 수 있는 지식을 반영하는 복잡한 도메인의 서비스 제공할 때, 외부의 STT 서버를 이용하여 음성의 텍스트로의 변환을 보다 정확히 제공하는 효율적이고 신뢰성 높은 방법 등이 필요로 된다.In providing an interactive AI agent system, when providing a service of a complex domain that reflects knowledge that can be obtained from a large number of conversation logs, it is possible to more accurately provide conversion of voice to text using an external STT server An efficient and reliable method is required.
수 많은 대화 로그로부터 획득될 수 있는 지식을 반영하는 복잡한 도메인의 서비스 제공할 때, 외부 STT 서버를 이용하여 음성의 텍스트로의 변환을 보다 정확히 제공하는 효율적이고 신뢰성 높은 방법이 제공된다. Providing an efficient and reliable method of providing a more accurate conversion of speech into text using an external STT server when providing services in a complex domain that reflects knowledge that can be obtained from a large number of conversation logs is provided.
따라서, 정확한 사용자 음성 인식을 기초로 보다 용이하게 사용자의 의도를 파악하여 적절한 응답을 제공할 수 있는 대화형 AI 에이전트 시스템이 제공될 수 있다.Accordingly, an interactive AI agent system that can more easily grasp the user's intention based on accurate user speech recognition and provide an appropriate response can be provided.
도 1은, 본 발명의 일 실시예에 따라, 대화형 AI 에이전트 시스템이 구현될 수 있는 시스템 환경을 개략적으로 도시한 도면이다.1 is a schematic diagram of a system environment in which an interactive AI agent system may be implemented, according to one embodiment of the present invention.
도 2는, 본 발명의 일 실시예에 따른, 도 1의 사용자 단말(102)의 기능적 구성을 개략적으로 도시한 기능 블록도이다.FIG. 2 is a functional block diagram that schematically illustrates the functional configuration of the user terminal 102 of FIG. 1, in accordance with one embodiment of the present invention.
도 3은, 본 발명의 일 실시예에 따른, 도 1의 대화형 AI 에이전트 서버(106)의 기능적 구성을 개략적으로 도시한 기능 블록도이다.FIG. 3 is a functional block diagram that schematically illustrates the functional configuration of the interactive AI agent server 106 of FIG. 1, according to one embodiment of the present invention.
도 4는, 본 발명의 일 실시예에 따른, 도 3의 STT 보조 모듈에 의해 수행되는 예시적 동작 흐름도이다.4 is an exemplary operational flow diagram performed by the STT auxiliary module of FIG. 3, in accordance with an embodiment of the present invention.
이하, 첨부 도면을 참조하여 본 발명의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 발명의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 발명의 일 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, when it is determined that there is a possibility that the gist of the present invention may be unnecessarily blurred, a detailed description of known functions and configurations will be omitted. In addition, it should be understood that the following description is only an embodiment of the present invention, and the present disclosure is not limited thereto.
본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.The terminology used in this disclosure is used only to describe a specific embodiment and is not used to limit the invention. For example, an element expressed in singular < Desc / Clms Page number 5 > terms should be understood as including a plurality of elements unless the context clearly dictates a singular value. It is to be understood that the term " and / or " as used in this disclosure encompasses any and all possible combinations of one or more of the listed items. It should be understood that the terms " comprises " or " having ", etc. used in the present disclosure are intended to specify that there exist features, numbers, steps, operations, elements, It is not intended to exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof, by use.
본 발명의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.As used herein, the term " module " or " module " means a functional part that performs at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software. Also, a plurality of "modules" or "sub-modules" may be integrated into at least one software module and implemented by at least one processor, except for "module" or "sub-module" have.
본 발명의 실시예에 있어서 '대화형 AI 에이전트 시스템'은, 사용자와의 사이에서 음성 및/또는 텍스트 형태의 자연어를 매개로 한 대화형 인터랙션을 통해, 사용자로부터 입력되는 자연어 입력(예컨대, 자연어로 된 사용자로부터의 명령, 진술, 요청, 질문 등)을 수신 및 해석하여 사용자의 의도(intent)를 알아내고 그 알아낸 사용자의 의도에 기초하여 필요한 동작 수행, 즉 적절한 대화 응답의 제공 및/또는 태스크의 수행을 제공할 수 있는 임의의 정보 처리 시스템을 지칭할 수 있으며, 특정 형태로 제한되는 것은 아니다. 본 발명의 실시예에 있어서, 대화형 AI 에이전트 시스템은 소정의 서비스를 제공하기 위한 것일 수 있는데, 이때 서비스는 복수의 하위 작업 분류들을 포함하여 구성될 수 있다(예컨대, 상품 구매라고 하는 서비스 도메인에는, 상품 문의, 브랜드 문의, 디자인 문의, 가격 문의, 반품 문의 등의 하위 작업 분류들이 포함될 수 있음). 본 발명의 실시예에 있어서, '대화형 AI 에이전트 시스템'에 의해 수행되는 동작은, 예컨대 소정의 서비스 제공을 위한 하위 작업 분류들의 순차적 흐름 안에서 사용자의 의도에 따라 각각 이루어지는 대화 응답 및/또는 태스크 수행일 수 있다. In the embodiment of the present invention, the 'interactive AI agent system' is a system in which a user interacts with a user via a natural word input (for example, a natural language) input from a user through interactive interaction via a natural language of voice and / (E.g., commands, statements, requests, questions, etc. from the user) to determine the intent of the user and to perform the necessary actions based on the user's intent, i.e., , And is not limited to any particular form of information processing system. In an embodiment of the present invention, the interactive AI agent system may be for providing a predetermined service, wherein the service may comprise a plurality of sub-task categories (e.g., , Product inquiries, brand inquiries, design inquiries, price inquiries, return inquiries, etc.). In an embodiment of the present invention, the operations performed by the " interactive AI agent system " include, for example, an interactive response and / or task performance, each of which is performed according to the intention of the user in a sequential flow of sub- Lt; / RTI >
본 발명의 실시예에 있어서, '대화형 AI 에이전트 시스템'에 의해 제공되는 대화 응답은 시각, 청각 및/또는 촉각 형태(예컨대, 음성, 음향, 텍스트, 비디오, 이미지, 기호, 이모티콘, 하이퍼링크, 애니메이션, 각종 노티스, 모션, 햅틱 피드백 등을 포함할 수 있으며, 이로써 제한되는 것은 아님) 등 다양한 형태로써 제공될 수 있음을 알아야 한다. 본 발명의 실시예에 있어서 '대화형 AI 에이전트 시스템'에 의해 수행되는 태스크는, 예컨대 정보의 검색, 물품 구매 진행, 메시지 작성, 이메일 작성, 전화 걸기, 음악 재생, 사진 촬영, 사용자 위치 탐색, 지도/내비게이션 서비스 등을 비롯한 각종 다양한 형태의 태스크(다만, 예시일 뿐이며 이로써 제한되는 것은 아님)를 포함할 수 있다.In an embodiment of the present invention, the interactive response provided by the " interactive AI agent system " may be in the form of a visual, auditory and / or tactile (e.g., voice, sound, text, video, image, symbol, emoticon, hyperlink, Animation, various notices, motion, haptic feedback, and the like), and the like. In the embodiment of the present invention, the task performed by the 'interactive AI agent system' may include, for example, searching for information, proceeding with purchase of goods, writing a message, writing an email, dialing, playing music, photographing, / Navigation services, and the like, as well as various types of tasks (including, but not limited to, examples).
본 발명의 실시예에 있어서 '대화형 AI 에이전트 시스템'은, 메신저 플랫폼에 기초한 챗봇(chatbot) 시스템, 예컨대 메신저 상에서 사용자와 메시지를 주고받으며 사용자가 원하는 다양한 정보를 제공하거나 태스크를 수행하는 챗봇 시스템을 포함할 수 있으며, 다만 본 발명이 이로써 제한되는 것은 아님을 알아야 한다.In the embodiment of the present invention, the 'interactive AI agent system' includes a chatbot system based on a messenger platform, for example, a chatbot system for exchanging messages with a user on a messenger, providing various information desired by the user, But it should be understood that the present invention is not limited thereto.
덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 개시에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.In addition, all terms used in the present disclosure, including technical or scientific terms, unless otherwise defined, have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It should be understood that commonly used predefined terms are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are not to be interpreted excessively or extensively unless explicitly defined otherwise in this disclosure .
이하, 첨부된 도면을 참조하여, 본 발명의 실시예에 대해 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은, 본 발명의 일 실시예에 따라, 대화형 AI 에이전트 시스템이 구현될 수 있는 시스템 환경(100)을 개략적으로 도시한 도면이다. 도시된 바에 의하면, 시스템 환경(100)은, 복수의 사용자 단말(102a-102n), 통신망(104), 대화형 AI 에이전트 서버(106), 외부 서비스 서버(108) 및 외부 STT 서비스 서버(110)를 포함할 수 있다.1 is a schematic diagram of a system environment 100 in which an interactive AI agent system may be implemented, in accordance with one embodiment of the present invention. The system environment 100 includes a plurality of user terminals 102a-102n, a communication network 104, an interactive AI agent server 106, an external service server 108 and an external STT service server 110, . ≪ / RTI >
본 발명의 일 실시예에 의하면, 복수의 사용자 단말(102a-102n) 각각은 유선 또는 무선 통신 기능을 구비한 임의의 사용자 전자 장치일 수 있다. 사용자 단말(102a-102n) 각각은, 예컨대 스마트 스피커, 뮤직 플레이어, 게임 콘솔, 디지털 TV, 셋탑박스, 스마트 폰, 태블릿 PC, 데스크탑, 랩탑, PDA 등을 포함한 다양한 유선 또는 무선 통신 단말일 수 있으며, 특정 형태로 제한되지 않음을 알아야 한다. 본 발명의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 통신망(104)을 통해서, 대화형 AI 에이전트 서버(106)와 통신, 즉 필요한 정보를 송수신할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 통신망(104)을 통해서, 외부 서비스 서버(108)와 통신, 즉 필요한 정보를 송수신할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 외부로부터 음성 및/또는 텍스트 형태의 사용자 입력을 수신할 수 있고, 통신망(104)을 통한 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)와의 통신(및/또는 사용자 단말(102a-102n) 내 처리)을 통해 얻어진, 위 사용자 입력에 대응한 동작 결과(예컨대, 특정 대화 응답의 제공 및/또는 특정 태스크의 수행 등)를 사용자에게 제공할 수 있다. According to one embodiment of the present invention, each of the plurality of user terminals 102a-102n may be any user electronic device having wired or wireless communication capability. Each of the user terminals 102a-102n may be a variety of wired or wireless communication terminals, including, for example, a smart speaker, a music player, a game console, a digital TV, a set top box, a smart phone, a tablet PC, a desktop, a laptop, It is to be understood that the invention is not limited to any particular form. In accordance with one embodiment of the present invention, each of the user terminals 102a-102n can communicate with the interactive AI agent server 106, i. E., Via the communication network 104, with the necessary information. According to one embodiment of the present invention, each of the user terminals 102a-102n can communicate with the external service server 108 through the communication network 104, that is, send and receive necessary information. In accordance with one embodiment of the present invention, each of the user terminals 102a-102n may receive user input in the form of voice and / or text from the outside, and may interact with the interactive AI agent server 106 via the communication network 104, (E.g., providing a specific conversation response and / or providing a specific task response) obtained through communication with the external service server 108 and / or communication with the external service server 108 (and / or processing within the user terminals 102a-102n) And the like) to the user.
본 발명의 일 실시예에 의하면, 사용자 단말(102a-102n)에 의해 제공되는 사용자 입력에 대응한 동작 결과로서의 대화 응답은, 예컨대 소정의 서비스 도메인 내에서, 해당 서비스 제공을 위한 하위 작업 분류들의 순차적 흐름안에서 당시의 사용자 입력에 대응한 하위 작업 분류의 대화 흐름 패턴에 따라 제공되는 것일 수 있다. 본 발명의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 사용자 입력에 대응한 동작 결과로서의 대화 응답을, 시각, 청각 및/또는 촉각 형태(예컨대, 음성, 음향, 텍스트, 비디오, 이미지, 기호, 이모티콘, 하이퍼링크, 애니메이션, 각종 노티스, 모션, 햅틱 피드백 등을 포함할 수 있으며, 이로써 제한되는 것은 아님) 등 다양한 형태로써 사용자에게 제공할 수 있다. 본 발명의 실시예에 있어서, 사용자 입력에 대응한 동작으로서의 태스크 수행은, 예컨대 정보의 검색, 물품 구매 진행, 메시지 작성, 이메일 작성, 전화 걸기, 음악 재생, 사진 촬영, 사용자 위치 탐색, 지도/내비게이션 서비스 등을 비롯한 각종 다양한 형태의 태스크(그러나 이로써 제한되는 것은 아님) 수행을 포함할 수 있다.According to one embodiment of the present invention, an interactive response as a result of an operation corresponding to a user input provided by the user terminals 102a-102n may be, for example, a sequence of sub- May be provided in accordance with the conversation flow pattern of the sub-task classification corresponding to the user input at that time in the flow. In accordance with one embodiment of the present invention, each of the user terminals 102a-102n may provide a dialog response as a result of an operation corresponding to a user input, in a visual, audible and / or tactile form (e.g., Images, symbols, emoticons, hyperlinks, animations, various notices, motion, haptic feedback, and the like), and the like. In the embodiment of the present invention, task execution as an operation corresponding to a user input is performed by, for example, searching for information, proceeding to purchase goods, composing a message, creating an email, dialing, music playback, photographing, Services, and the like, as well as performing various types of tasks.
본 발명의 일 실시예에 의하면, 통신망(104)은, 임의의 유선 또는 무선 통신망, 예컨대 TCP/IP 통신망을 포함할 수 있다. 본 발명의 일 실시예에 의하면, 통신망(104)은, 예컨대 Wi-Fi망, LAN망, WAN망, 인터넷망 등을 포함할 수 있으며, 본 발명이 이로써 제한되는 것은 아니다. 본 발명의 일 실시예에 의하면, 통신망(104)은, 예컨대 이더넷, GSM, EDGE(Enhanced Data GSM Environment), CDMA, TDMA, OFDM, 블루투스, VoIP, Wi-MAX, Wibro 기타 임의의 다양한 유선 또는 무선 통신 프로토콜을 이용하여 구현될 수 있다.According to one embodiment of the present invention, the communication network 104 may include any wired or wireless communication network, e.g., a TCP / IP communication network. According to an embodiment of the present invention, the communication network 104 may include, for example, a Wi-Fi network, a LAN network, a WAN network, an Internet network, and the like, and the present invention is not limited thereto. In accordance with one embodiment of the present invention, the communication network 104 may be any of a variety of wired or wireless, such as Ethernet, GSM, EDGE, CDMA, TDMA, OFDM, Bluetooth, VoIP, Wi- May be implemented using a communication protocol.
본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 통신망(104)을 통해 사용자 단말(102a-102n)과 통신할 수 있다. 본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 통신망(104)을 통해 사용자 단말(102a-102n)과 필요한 정보를 송수신하고, 이를 통해 사용자 단말(102a-102n) 상에서 수신된 사용자 입력에 대응한, 즉 사용자 의도에 부합하는 동작 결과가, 사용자에게 제공되도록 동작할 수 있다. According to one embodiment of the present invention, the interactive AI agent server 106 may communicate with the user terminals 102a-102n via the communication network 104. [ In accordance with one embodiment of the present invention, the interactive AI agent server 106 sends and receives necessary information to and from the user terminals 102a-102n via the communication network 104, The operation result corresponding to the user input, i.e., the user's intention, can be provided to the user.
본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 통신망(104)을 통해 사용자 단말(102a-102n)로부터 음성 형태의 사용자 자연어 입력을 수신하고, 외부 STT 서버(110)를 이용하여 문자 형태의 사용자 자연어 입력으로 변환할 수 있다. 본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 사용자 단말(102a-102n)로부터 수신된 사용자 음성 입력을 외부 STT 서버(110)로 전송하고, 외부 STT 서버(110)로부터 음성 형태의 사용자 입력에 대응하는 적어도 하나의 텍스트 데이터를 수신할 수 있다. 본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는 외부 STT 서버(110)로부터 적어도 하나의 텍스트 데이터를 수신하고, 후술하는 STT 변환 보조 데이터베이스에 기초하여, 상기 적어도 하나의 텍스트 데이터 각각에 대해 평가를 수행하고 적어도 하나의 텍스트 데이터와 평가 결과를 출력할 수 있다. In accordance with one embodiment of the present invention, the interactive AI agent server 106 receives voice-like user natural language input from the user terminal 102a-102n, for example via the communication network 104, Can be converted into user natural language input of a character form. According to an embodiment of the present invention, the interactive AI agent server 106 transmits user voice input received from the user terminals 102a - 102n to the external STT server 110, At least one text data corresponding to a user input in the form of a voice can be received. According to one embodiment of the present invention, the interactive AI agent server 106 receives at least one text data from the external STT server 110 and, based on the STT conversion assist database described below, Perform evaluation on each of them, and output at least one text data and an evaluation result.
본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 통신망(104)을 통해 사용자 단말(102a-102n)로부터 음성 및/또는 텍스트 형태의 사용자 자연어 입력을 수신하고, 미리 준비된 모델들에 기초해서 그 수신된 자연어 입력을 처리하여 사용자의 의도(intent)를 결정할 수 있다. In accordance with one embodiment of the present invention, the interactive AI agent server 106 receives user natural language input in the form of speech and / or text from the user terminal 102a-102n, for example via the communication network 104, The received natural language input can be processed based on the models to determine the intent of the user.
본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 앞서 언급한 바와 같이, 통신망(104)을 통해서 외부 서비스 서버(108)와 통신할 수 있다. 외부 서비스 서버(108)는, 예컨대 메시징 서비스 서버, 온라인 상담 센터 서버, 온라인 쇼핑몰 서버, 정보 검색 서버, 지도 서비스 서버, 네비게이션 서비스 서버 등일 수 있으며, 본 개시가 이로써 제한되는 것은 아니다. 본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)로부터 사용자 단말(102a-102n)로 전달되는, 사용자 의도에 기초한 대화 응답은, 예컨대 외부 서비스 서버(108)로부터 검색 및 획득된 데이터 콘텐츠를 포함한 것일 수 있음을 알아야 한다.According to one embodiment of the present invention, the interactive AI agent server 106 may communicate with the external service server 108 via the communication network 104, as described above. The external service server 108 may be, for example, a messaging service server, an online consultation center server, an online shopping mall server, an information search server, a map service server, a navigation service server, and the like. In accordance with one embodiment of the present invention, an interactive response based on the user's intent, which is transmitted from the interactive AI agent server 106 to the user terminals 102a-102n, It should be noted that this may include content.
본 도면에서는, 대화형 AI 에이전트 서버(106)가 외부 서비스 서버(108)와 통신망(104)을 통해 통신 가능하게 구성된 별도의 물리 서버인 것으로 도시되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 발명의 다른 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 온라인 상담 센터 서버 또는 온라인 쇼핑몰 서버 등 각종 서비스 서버의 일부로 포함되어 구성될 수도 있음을 알아야 한다.Although the interactive AI agent server 106 is shown as being a separate physical server configured to communicate with the external service server 108 via the communication network 104, the present disclosure is not limited thereto. According to another embodiment of the present invention, the interactive AI agent server 106 may be included as part of various service servers such as an online consultation center server or an online shopping mall server.
본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 다양한 경로를 통하여 대화 로그들(예컨대, 복수의 사용자 및/또는 시스템 발화 기록을 포함할 수 있음)을 수집하고, 그 수집된 대화 로그들을 자동으로 분석하여, 분석 결과에 따라 대화 흐름 관리 모델을 생성 및/또는 갱신할 수 있다. 본 발명의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 수집된 대화 로그들에 대한 키워드 분석을 통해 각각의 발화 기록을 미리 정해진 작업 분류들 중 하나로 분류하고, 각각의 작업 분류들 간의 순차적 흐름 분포를 확률적으로 분석할 수 있다. According to one embodiment of the present invention, the interactive AI agent server 106 collects interactive logs (e.g., may include a plurality of users and / or system utterance records) over various paths, Automatically analyze the conversation logs, and create and / or update a conversation flow management model based on the analysis results. According to one embodiment of the present invention, the interactive AI agent server 106 classifies each utterance record into one of the predetermined task categories, for example, through keyword analysis on the collected conversation logs, Can be analyzed stochastically.
본 발명의 일 실시예에 의하면, 외부 STT 서버(110)는 통신 모듈을 통해 사용자의 음성 입력을 수신하고, 수신된 음성 입력을 패턴 매칭 등에 기초하여 음성 형태의 사용자 자연어 입력에 대응하는 적어도 하나의 문자 형태의 텍스트 데이터로 변환하여 전송할 수 있다. 본 발명의 일 실시예에 의하면, 외부 STT 서버(110)는, 사용자의 음성 입력 및 연관된 구문 힌트를 수신하고 이를 기초로 사용자의 음성 입력을 적어도 하나의 문자 형태의 텍스트 데이터로 변환할 수 있다. According to an embodiment of the present invention, the external STT server 110 receives a voice input of a user through a communication module and converts the received voice input into at least one It can be converted into text data in a character form and transmitted. According to one embodiment of the present invention, the external STT server 110 may receive the user's speech input and related syntax hints and convert the user's speech input into text data in at least one character form based thereon.
도 2는, 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말(102)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 사용자 단말(102)은, 사용자 입력 수신 모듈(202), 센서 모듈(204), 프로그램 메모리 모듈(206), 프로세싱 모듈(208), 통신 모듈(210), 및 응답 출력 모듈(212)을 포함한다.2 is a functional block diagram that schematically illustrates the functional configuration of the user terminal 102 shown in FIG. 1, in accordance with one embodiment of the present invention. The user terminal 102 includes a user input receiving module 202, a sensor module 204, a program memory module 206, a processing module 208, a communication module 210, 212).
본 발명의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)은, 사용자로부터 다양한 형태의 입력, 예컨대 음성 입력 및/또는 텍스트 입력 등의 자연어 입력(및 부가적으로 터치 입력 등의 다른 형태의 입력)을 수신할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)은, 예컨대 마이크로폰 및 오디오 회로를 포함하며, 마이크로폰을 통해 사용자 음성 입력 신호를 획득하고 획득된 신호를 오디오 데이터로 변환할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)은, 예컨대 마우스, 조이스틱, 트랙볼 등의 각종 포인팅 장치, 키보드, 터치패널, 터치스크린, 스타일러스 등 다양한 형태의 입력 장치를 포함할 수 있고, 이들 입력 장치를 통해 사용자로부터 입력된 텍스트 입력 및/또는 터치 입력 신호를 획득할 수 있다. 본 발명의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)에서 수신되는 사용자 입력은, 소정의 태스크 수행, 예컨대 소정의 애플리케이션 실행이나 소정 정보의 검색 등과 연관될 수 있으나, 본 발명이 이로써 제한되는 것은 아니다. 본 발명의 다른 실시예에 의하면, 사용자 입력 수신 모듈(202)에서 수신되는 사용자 입력은, 소정의 애플리케이션 실행이나 정보의 검색 등과는 무관하게 단순한 대화 응답 만을 필요로 하는 것일 수도 있다. 본 발명의 다른 실시예에 의하면, 사용자 입력 수신 모듈(202)에서 수신되는 사용자 입력은, 일방적 의사 전달을 위한 단순 진술에 관한 것일 수도 있다.According to an embodiment of the present invention, the user input receiving module 202 may receive various types of input from a user, for example, a natural language input such as a voice input and / or a text input (and additionally, Can be received. According to one embodiment of the present invention, the user input receiving module 202 includes, for example, a microphone and an audio circuit, and can acquire a user audio input signal through a microphone and convert the obtained signal into audio data. According to an embodiment of the present invention, the user input receiving module 202 may include various types of input devices such as various pointing devices such as a mouse, a joystick, and a trackball, a keyboard, a touch panel, a touch screen, , And can acquire a text input and / or a touch input signal inputted from a user through these input devices. According to one embodiment of the present invention, the user input received at the user input receiving module 202 may be associated with performing a predetermined task, such as performing a predetermined application or searching for certain information, etc. However, It is not. According to another embodiment of the present invention, the user input received at the user input receiving module 202 may require only a simple conversation response, regardless of the execution of a predetermined application or retrieval of information. According to another embodiment of the present invention, the user input received at the user input receiving module 202 may relate to a simple statement for unilateral communication.
본 발명의 일 실시예에 의하면, 센서 모듈(204)은 하나 이상의 서로 다른 유형의 센서를 포함하고, 이들 센서를 통해 사용자 단말(102)의 상태 정보, 예컨대 해당 사용자 단말(102)의 물리적 상태, 소프트웨어 및/또는 하드웨어 상태, 또는 사용자 단말(102)의 주위 환경 상태에 관한 정보 등을 획득할 수 있다. 본 발명의 일 실시예에 의하면, 센서 모듈(204)은, 예컨대 광 센서를 포함하고, 광 센서를 통해 해당 사용자 단말(102)의 주변 광 상태를 감지할 수 있다. 본 발명의 일 실시예에 의하면, 센서 모듈(204)은, 예컨대 이동 센서를 포함하고, 이동 센서를 통해 해당 사용자 단말(102)의 이동 상태 여부를 감지할 수 있다. 본 발명의 일 실시예에 의하면, 센서 모듈(204)은, 예컨대 속도 센서 및 GPS 센서를 포함하고, 이들 센서를 통해 해당 사용자 단말(102)의 위치 및/또는 배향 상태를 감지할 수 있다. 본 발명의 다른 실시예에 의하면, 센서 모듈(204)은 온도 센서, 이미지 센서, 압력 센서, 접촉 센서 등을 비롯한 다른 다양한 형태의 센서를 포함할 수 있음을 알아야 한다.In accordance with one embodiment of the present invention, the sensor module 204 includes one or more different types of sensors through which the status information of the user terminal 102, such as the physical state of the user terminal 102, Software and / or hardware status, or information regarding the environmental conditions of the user terminal 102, and the like. According to an embodiment of the present invention, the sensor module 204 may include an optical sensor, for example, and may sense the ambient light condition of the user terminal 102 through the optical sensor. According to an embodiment of the present invention, the sensor module 204 includes, for example, a movement sensor and can detect whether the corresponding user terminal 102 is moving through the movement sensor. According to one embodiment of the present invention, the sensor module 204 includes, for example, a velocity sensor and a GPS sensor, and through these sensors, the position and / or orientation of the corresponding user terminal 102 can be detected. In accordance with another embodiment of the present invention, it should be appreciated that the sensor module 204 may include other various types of sensors, including temperature sensors, image sensors, pressure sensors, touch sensors, and the like.
본 발명의 일 실시예에 의하면, 프로그램 메모리 모듈(206)은, 사용자 단말(102) 상에서 실행될 수 있는 각종 프로그램, 예컨대 각종 애플리케이션 프로그램 및 관련 데이터 등이 저장된 임의의 저장 매체일 수 있다. 본 발명의 일 실시예에 의하면, 프로그램 메모리 모듈(206)에는, 예컨대 전화 걸기 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 카메라 애플리케이션, 음악 재생 애플리케이션, 비디오 재생 애플리케이션, 이미지 관리 애플리케이션, 지도 애플리케이션, 브라우저 애플리케이션 등을 비롯한 다양한 애플리케이션 프로그램들과 이들 프로그램의 실행과 관련된 데이터들이 저장될 수 있다. 본 발명의 일 실시예에 의하면, 프로그램 메모리 모듈(206)은, DRAM, SRAM, DDR RAM, ROM, 자기 디스크, 광 디스크, 플래시 메모리 등 다양한 형태의 휘발성 또는 비휘발성 메모리를 포함하도록 구성될 수 있다.According to one embodiment of the present invention, the program memory module 206 may be any storage medium that stores various programs that may be executed on the user terminal 102, such as various application programs and related data. In accordance with one embodiment of the present invention, program memory module 206 may include, for example, a telephone dialer application, an email application, an instant messaging application, a camera application, a music playback application, a video playback application, an image management application, , And data related to the execution of these programs. According to one embodiment of the present invention, the program memory module 206 may be configured to include various types of volatile or non-volatile memory such as DRAM, SRAM, DDR RAM, ROM, magnetic disk, optical disk, .
본 발명의 일 실시예에 의하면, 프로세싱 모듈(208)은, 사용자 단말(102)의 각 컴포넌트 모듈과 통신하고 사용자 단말(102) 상에서 각종 연산을 수행할 수 있다. 본 발명의 일 실시예에 의하면, 프로세싱 모듈(208)은, 프로그램 메모리 모듈(206) 상의 각종 애플리케이션 프로그램을 구동 및 실행시킬 수 있다. 본 발명의 일 실시예에 의하면, 프로세싱 모듈(208)은, 필요한 경우, 사용자 입력 수신 모듈(202) 및 센서 모듈(204)에서 획득된 신호를 수신하고, 이들 신호에 관한 적절한 처리를 수행할 수 있다. 본 발명의 일 실시예에 의하면, 프로세싱 모듈(208)은, 필요한 경우, 통신 모듈(210)을 통해 외부로부터 수신되는 신호에 대해 적절한 처리를 수행할 수 있다.According to one embodiment of the present invention, the processing module 208 may communicate with each component module of the user terminal 102 and perform various operations on the user terminal 102. According to one embodiment of the present invention, the processing module 208 can drive and execute various application programs on the program memory module 206. [ According to one embodiment of the present invention, the processing module 208 may receive signals from the user input receiving module 202 and the sensor module 204, if necessary, and perform appropriate processing on these signals have. According to one embodiment of the present invention, the processing module 208 may, if necessary, perform appropriate processing on signals received from the outside via the communication module 210.
본 발명의 일 실시예에 의하면, 통신 모듈(210)은, 사용자 단말(102)이 도 1의 통신망(104)을 통하여, 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)와 통신할 수 있게 한다. 본 발명의 일 실시예에 의하면, 통신 모듈(212)은, 예컨대 사용자 입력 수신 모듈(202) 및 센서 모듈(204) 상에서 획득된 신호가 소정의 프로토콜에 따라 통신망(104)을 통하여 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)로 전송되도록 할 수 있다. 본 발명의 일 실시예에 의하면, 통신 모듈(210)은, 예컨대 통신망(104)을 통하여 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)로부터 수신된 각종 신호, 예컨대 음성 및/또는 텍스트 형태의 자연어 응답을 포함한 응답 신호 또는 각종 제어 신호 등을 수신하고, 소정의 프로토콜에 따라 적절한 처리를 수행할 수 있다.According to one embodiment of the invention, the communication module 210 is configured to allow the user terminal 102 to communicate with the interactive AI agent server 106 and / or the external service server 108 via the communication network 104 of FIG. 1 Communication. According to one embodiment of the present invention, the communication module 212 may be configured to receive signals from, for example, the user input receiving module 202 and the sensor module 204 via the communication network 104 in accordance with a predetermined protocol, To server 106 and / or to external service server 108. [ In accordance with one embodiment of the present invention, the communication module 210 may provide various signals received from the interactive AI agent server 106 and / or the external service server 108 via the communication network 104, e.g., voice and / Or a response signal including a natural language response in the form of a text, or various control signals, and perform appropriate processing according to a predetermined protocol.
본 발명의 일 실시예에 의하면, 응답 출력 모듈(212)은, 사용자 입력에 대응하는 응답을 시각, 청각 및/또는 촉각 등 다양한 형태로써 출력할 수 있다. 본 발명의 일 실시예에 의하면, 응답 출력 모듈(212)은, 예컨대 LCD, LED, OLED, QLED 등의 기술에 기초한 터치 스크린 등의 각종 디스플레이 장치를 포함하고, 이들 디스플레이 장치를 통해 사용자 입력에 대응하는 시각적 응답, 예컨대 텍스트, 기호, 비디오, 이미지, 하이퍼링크, 애니메이션, 각종 노티스 등을 사용자에게 제시할 수 있다. 본 발명의 일 실시예에 의하면, 응답 출력 모듈(212)은, 예컨대 스피커 또는 헤드셋을 포함하고, 사용자 입력에 대응하는 청각적 응답, 예컨대 음성 및/또는 음향 응답을 스피커 또는 헤드셋을 통해 사용자에게 제공할 수 있다. 본 발명의 일 실시예에 의하면, 응답 출력 모듈(212)는 모션/햅틱 피드백 생성부를 포함하고, 이를 통해 촉각적 응답, 예컨대 모션/햅틱 피드백을 사용자에게 제공할 수 있다. 본 발명의 일 실시예에 의하면, 응답 출력 모듈(212)은, 사용자 입력에 대응하는 텍스트 응답, 음성 응답 및 모션/햅틱 피드백 중 임의의 두 개이상의 조합을 동시에 제공할 수 있음을 알아야 한다.According to an embodiment of the present invention, the response output module 212 may output a response corresponding to a user input in various forms such as time, auditory, and / or tactile sense. According to one embodiment of the present invention, the response output module 212 includes various display devices such as a touch screen based on technology such as LCD, LED, OLED, QLED, and the like, Such as text, symbols, video, images, hyperlinks, animations, various notices, etc., to the user. According to one embodiment of the present invention, the response output module 212 may include, for example, a speaker or a headset and may provide an audible response, e.g., voice and / or acoustic response corresponding to user input, can do. According to one embodiment of the present invention, the response output module 212 includes a motion / haptic feedback generator, through which a tactile response, e.g., motion / haptic feedback, can be provided to the user. In accordance with one embodiment of the present invention, it should be appreciated that the response output module 212 may simultaneously provide any combination of two or more of a text response, a voice response, and a motion / haptic feedback corresponding to a user input.
도 3은, 본 발명의 일 실시예에 따른, 도 1의 대화형 AI 에이전트 서버(106)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 대화형 AI 에이전트 서버(106)는, 통신 모듈(310), 음성-텍스트 변환(Speech-To-Text; STT) 보조 모듈(320), 자연어 이해(Natural Language Understanding; NLU) 모듈(330), 음성 합성(Text-To-Speech; TTS) 모듈(340), 저장 모듈(350), 및 대화 흐름 관리 모델 구축/갱신 모듈(360)을 포함할 수 있다. FIG. 3 is a functional block diagram that schematically illustrates the functional configuration of the interactive AI agent server 106 of FIG. 1, according to one embodiment of the present invention. The interactive AI agent server 106 includes a communication module 310, a Speech-To-Text (STT) auxiliary module 320, a Natural Language Understanding (NLU) A text-to-speech (TTS) module 340, a storage module 350, and a conversation flow management model building / updating module 360.
본 발명의 일 실시예에 의하면, 통신 모듈(310)은, 소정의 유선 또는 무선 통신 프로토콜에 따라, 통신망(104)을 통하여, 대화형 AI 에이전트 서버(106)가 사용자 단말(102) 및/또는 외부 서비스 서버(108) 및/또는 외부 STT 서버(110)와 통신할 수 있게 한다. 본 발명의 일 실시예에 의하면, 통신 모듈(310)은, 통신망(104)을 통해, 사용자 단말(102)로부터 전송되어 온, 사용자로부터의 음성 입력 및/또는 텍스트 입력 등을 수신할 수 있다. 본 발명의 일 실시예에 의하면, 통신 모듈(310)은, 사용자 단말(102)로부터 전송되어 온 사용자로부터의 음성 입력 및/또는 텍스트 입력과 함께 또는 그와 별도로, 통신망(104)을 통해, 사용자 단말(102)로부터 전송되어온, 사용자 단말(102)의 상태 정보를 수신할 수 있다. 본 발명의 일 실시예에 의하면, 상태 정보는, 예컨대 사용자로부터의 음성 입력 및/또는 텍스트 입력 당시의 해당 사용자 단말(102)에 관련된 여러 가지 상태 정보(예컨대, 사용자 단말(102)의 물리적 상태, 사용자 단말(102)의 소프트웨어 및/또는 하드웨어 상태, 사용자 단말(102) 주위의 환경 상태 정보 등)일 수 있다. 본 발명의 일 실시예에 의하면, 통신 모듈(310)은, 또한, 위 수신된 사용자 입력에 대응하여 대화형 AI 에이전트 서버(106)에서 생성된 대화 응답(예컨대, 음성 및/또는 텍스트 형태의 자연어 대화 응답 등) 및/또는 제어 신호를, 통신망(104)을 통해, 사용자 단말(102)로 전달하기 위해 필요한 적절한 조치를 수행할 수 있다. According to one embodiment of the present invention, the communication module 310 is configured to allow the interactive AI agent server 106 to communicate with the user terminal 102 and / or via the communication network 104, in accordance with any wired or wireless communication protocol, To communicate with the external service server 108 and / or the external STT server 110. According to an embodiment of the present invention, the communication module 310 can receive voice input and / or text input from the user, transmitted from the user terminal 102 via the communication network 104. According to one embodiment of the present invention, the communication module 310 may communicate with the user terminal 102 via the communication network 104 with or without voice input and / or text input from the user, The status information of the user terminal 102 transmitted from the terminal 102 can be received. According to one embodiment of the present invention, the status information may include various status information (e.g., the physical state of the user terminal 102) associated with the user terminal 102 at the time of speech input from the user and / Software and / or hardware status of the user terminal 102, environmental status information around the user terminal 102, etc.). In accordance with one embodiment of the present invention, communication module 310 may also include an interactive response (e. G., A native < / RTI > And / or control signals to the user terminal 102 via the communication network 104. The user terminal 102 may be connected to the user terminal 102 via the network 104,
본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은, 통신 모듈(310)을 통해 수신된 사용자 입력 중 음성 입력을 수신하여 수신된 음성 입력을 외부 STT 서버(110)로 전달할 수 있다. 본 발명의 일 실시예에 의하면, STT 보조 모듈(320) 통신 모듈(310)을 통해 수신된 음성 입력과 음성 입력과 연관된 정보를 함께 외부 STT 서버(110)로 전달할 수 있다. 본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은, 통신 모듈(310)을 통해 전송한 음성 입력을 변환한 적어도 하나의 텍스트 데이터를 수신하고, 후술하는 STT 변환 보조 데이터베이스(350)를 기초로 적어도 하나의 텍스트 데이터 각각에 대한 변환 정확도를 평가할 수 있다. According to an embodiment of the present invention, the STT auxiliary module 320 can receive the voice input from the user input received through the communication module 310 and transmit the received voice input to the external STT server 110. According to one embodiment of the present invention, the STT auxiliary module 320 can transmit the voice input received through the communication module 310 and the information related to the voice input to the external STT server 110 together. According to one embodiment of the present invention, the STT auxiliary module 320 receives at least one text data converted from the voice input transmitted through the communication module 310, and transmits the STT conversion assist database 350 The translation accuracy for each of the at least one text data can be evaluated on a basis.
본 발명의 일 실시예에 의하면, NLU 모듈(330)은, 통신 모듈(310) 또는 STT 보조 모듈(320)로부터 텍스트 입력을 수신할 수 있다. 본 발명의 일 실시예에 의하면, NLU 모듈(330)에서 수신되는 텍스트 입력은, 예컨대 통신 모듈(310)에서 통신망(104)을 통하여 사용자 단말(102)로부터 수신되었던 사용자 텍스트 입력 또는 통신 모듈(310)을 통해 외부 STT 서버로부터 STT 보조 모듈(320)에서 수신한 텍스트 변환 결과, 예컨대 단어들의 시퀀스일 수 있다. 본 발명의 일 실시예에 의하면, NLU 모듈(330)은, 텍스트 입력을 수신하는 것과 함께 또는 그 이후에, 해당 사용자 입력과 연관된 상태 정보, 예컨대 해당 사용자 입력 당시의 사용자 단말(102)의 상태 정보 등을 수신할 수 있다. 전술한 바와 같이, 상태 정보는, 예컨대 사용자 단말(102)에서 사용자 음성 입력 및/또는 텍스트 입력 당시의 해당 사용자 단말(102)에 관련된 여러가지 상태 정보(예컨대, 사용자 단말(102)의 물리적 상태, 소프트웨어 및/또는 하드웨어 상태, 사용자 단말(102) 주위의 환경 상태 정보 등)일 수 있다.According to one embodiment of the present invention, the NLU module 330 may receive text input from the communication module 310 or the STT auxiliary module 320. The textual input received at the NLU module 330 may be transmitted to the user terminal 102 via the user text input or communication module 310 received from the user terminal 102 via the communication network 104, (E.g., a sequence of words) received from the external STT server via the STT auxiliary module 320. [ In accordance with one embodiment of the present invention, the NLU module 330 may include status information associated with a corresponding user input, such as upon receipt of a textual input or thereafter, such as the status information of the user terminal 102 at the time of the user input And the like. As described above, the status information may include various status information (e.g., the physical state of the user terminal 102, the software status of the user terminal 102) associated with the user terminal 102 at the time of user input and / And / or hardware state, environmental state information around the user terminal 102, etc.).
본 발명의 일 실시예에 의하면, NLU 모듈(330)은, 수신된 텍스트 입력을 하나 이상의 사용자 의도(intent)에 대응시킬 수 있다. 여기서 사용자 의도는, 그 사용자 의도에 따라 대화형 AI 에이전트 서버(106)에 의해 이해되고 수행될 수 있는 일련의 동작(들)과 연관될 수 있다. 본 발명의 일 실시예에 의하면, NLU 모듈(330)은, 수신된 텍스트 입력을 하나 이상의 사용자 의도에 대응시킴에 있어서 전술한 상태 정보를 참조할 수 있다.According to one embodiment of the present invention, the NLU module 330 may map the received text input to one or more user intents. Where the user intent can be associated with a series of operations (s) that can be understood and performed by the interactive AI agent server 106 according to the user intention. According to one embodiment of the present invention, the NLU module 330 may refer to the status information described above in associating the received text input with one or more user intentions.
본 발명의 일 실시예에 의하면, TTS 모듈(340)은, 사용자 단말(102)로 전송되도록 생성된 대화 응답을 수신할 수 있다. TTS 모듈(340)에서 수신되는 대화 응답은 텍스트 형태를 갖는 자연어 또는 단어들의 시퀀스일 수 있다. 본 발명의 일 실시예에 의하면, TTS 모듈(340)은, 다양한 형태의 알고리즘에 따라, 위 수신된 텍스트 형태의 입력을 음성 형태로 변환할 수 있다.According to one embodiment of the present invention, the TTS module 340 may receive an interactive response that is generated to be transmitted to the user terminal 102. [ The interactive response received at the TTS module 340 may be a natural word or a sequence of words having a textual form. According to one embodiment of the present invention, the TTS module 340 may convert the input of the above received text form into speech form according to various types of algorithms.
본 발명의 일 실시예에 의하면, 저장 모듈(350)은 다양한 데이터베이스를 포함할 수 있다. 본 발명의 일 실시예에 의하면, 저장 모듈(350)은 사용자 데이터베이스(352), 대화 이해 지식베이스(354), 대화 로그 데이터베이스(356) 및 대화 흐름 관리 모델(368)을 포함할 수 있다. According to one embodiment of the present invention, the storage module 350 may include various databases. According to one embodiment of the present invention, the storage module 350 may include a user database 352, a conversation understanding knowledge base 354, an interaction log database 356, and a conversation flow management model 368.
본 발명의 일 실시예에 의하면, 사용자 데이터베이스(352)는, 각 사용자별 특징적 데이터를 저장 및 관리하는 데이터베이스일 수 있다. 본 발명의 일 실시예에 의하면, 사용자 데이터베이스(352)는, 예컨대 각 사용자별로 해당 사용자의 이전 대화 기록, 사용자의 발음 특징 정보, 사용자 어휘 선호도, 사용자의 소재지, 설정 언어, 연락처/친구 목록, 기타 다양한 사용자 특징적 정보를 포함할 수 있다.According to an embodiment of the present invention, the user database 352 may be a database for storing and managing characteristic data for each user. According to an exemplary embodiment of the present invention, the user database 352 may include, for example, previous conversation history of the user, pronunciation feature information of the user, user lexical preference, location of the user, And may include various user-specific information.
본 발명의 일 실시예에 의하면, 대화 이해 지식베이스(354)는, 예컨대 미리 정의된 온톨로지 모델을 포함할 수 있다. 본 발명의 일 실시예에 의하면, 온톨로지 모델은, 예컨대 노드들 간의 계층 구조로 표현될 수 있는데, 각 노드는 사용자의 의도에 대응한 "의도" 노드 또는 "의도" 노드에 링크된 하위 "속성" 노드("의도" 노드에 직접 링크되거나 "의도" 노드의 "속성" 노드에 다시 링크된 하위 "속성" 노드) 중 하나일 수 있다. 본 발명의 일 실시예에 의하면, "의도" 노드와 그 "의도" 노드에 직접 또는 간접 링크된 "속성" 노드들은 하나의 도메인을 구성할 수 있고, 온톨로지는 이러한 도메인들의 집합으로 구성될 수 있다. 본 발명의 일 실시예에 의하면, 대화 이해 지식베이스(354)는, 예컨대 대화형 AI 에이전트 시스템이 이해하고 그에 대응한 동작을 수행할 수 있는 모든 의도들에 각각 대응하는 도메인들을 포함하도록 구성될 수 있다. 본 발명의 일 실시예에 의하면, 온톨로지 모델은, 노드의 추가나 삭제, 또는 노드 간의 관계의 수정 등에 의해 동적으로 변경될 수 있음을 알아야 한다.According to one embodiment of the present invention, the conversation understanding knowledge base 354 may include, for example, a predefined ontology model. According to one embodiment of the present invention, an ontology model can be represented, for example, in a hierarchical structure between nodes, where each node is associated with an " intention " node corresponding to the user & Node (a sub-attribute node directly linked to an " intent " node or linked back to an " attribute " node of an " intent " node). According to one embodiment of the present invention, " attribute " nodes directly or indirectly linked to an " intention " node and its " intent " node may constitute one domain, and an ontology may be composed of such a set of domains . In accordance with one embodiment of the present invention, the conversation understanding knowledge base 354 may be configured to include domains that each correspond to all intents, for example, an interactive AI agent system that can understand and perform corresponding actions have. According to one embodiment of the present invention, it should be noted that the ontology model can be dynamically changed by addition or deletion of nodes or modification of relations between nodes.
본 발명의 일 실시예에 의하면, 온톨로지 모델 내의 각 도메인의 의도 노드 및 속성 노드들은, 그에 대응하는 사용자 의도 또는 속성들에 관련된 단어들 및/또는 구절들과 각각 연관될 수 있다. 본 발명의 일 실시예에 의하면, 대화 이해 지식베이스(354)는, 온톨로지 모델을, 계층 구조의 노드들과, 각 노드 별로 연관된 단어들 및/또는 구절들의 집합으로 구성된, 예컨대 어휘 사전 형태(구체적으로 도시되지 않음)로 구현할 수 있고, STT 보조 모듈(320)은 이와 같이 어휘 사전 형태로 구현된 온톨로지 모델에 기초하여 사용자 의도를 결정할 수 있다. 예컨대, 본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은, 텍스트 입력 또는 단어들의 시퀀스를 수신하면, 그 시퀀스 내의 각 단어들이 온톨로지 모델 내의 어떤 도메인의 어떤 노드들에 연관되는지 결정할 수 있고, 그러한 결정에 기초하여 대응하는 도메인, 즉 사용자 의도를 결정할 수 있다. According to one embodiment of the present invention, the intention nodes and attribute nodes of each domain in the ontology model may be associated with words and / or phrases associated with corresponding user intents or attributes, respectively. In accordance with one embodiment of the present invention, the conversation understanding knowledge base 354 includes an ontology model 354 that includes an ontology model including a hierarchy of nodes and a set of words and / or phrases associated with each node, , And the STT auxiliary module 320 can determine the user's intention based on the ontology model implemented in the lexical dictionary form. For example, according to one embodiment of the present invention, the STT assistance module 320, upon receipt of a text input or sequence of words, can determine which of the domains in the ontology model the respective words in the sequence are associated with , And can determine the corresponding domain, i. E. User intention, based on such a determination.
본 발명의 일 실시예에 의하면, 대화 로그 데이터베이스(356)는 임의의 다양한 방식으로 수집된 대화 로그들을, 소정의 기준에 따라 분류하여 저장 및 관리하는 데이터베이스일 수 있다. 본 발명의 일 실시예에 의하면, 대화 로그 데이터베이스(356)에는 예컨대 해당 서비스 도메인의 사용자들이 빈번히 사용하는 단어, 문구, 문장 기타 다양한 형태의 사용자 입력이 출현한 횟수 정보와 연관되어 저장될 수 있다. According to one embodiment of the present invention, the conversation log database 356 may be a database that classifies, stores, and manages conversation logs collected in any of various ways according to a predetermined criterion. According to an embodiment of the present invention, the conversation log database 356 may be stored in association with, for example, the number of times that the user of the service domain frequently uses words, phrases, sentences, and various other types of user input.
본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델(358)은 주어진 서비스 도메인과 관련하여, 해당 서비스 제공을 위하여 필요한 복수의 하위 작업 분류들 간의 순차적 흐름에 관한 확률적 분포 모델을 포함할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델(358)은, 예컨대 해당 서비스 도메인에 속한 각각의 하위 작업 분류들 간의 순차적 흐름을 확률 그래프 형태로 포함할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델(358)은, 예컨대 각각의 하위 작업 분류들 간에 발생할 수 있는 다양한 순차 흐름 상에서 획득된 각 작업 분류의 확률적 분포를 포함할 수 있다. 본 발명의 일 실시예에 의하면, 구체적으로 도시되지는 않았으나, 대화 흐름 관리 모델(358)은, 또한 각 작업 분류에 속한 대화 패턴들의 라이브러리를 포함할 수 있다.In accordance with one embodiment of the present invention, the dialogue flow management model 358 may include a probabilistic distribution model for a sequential flow between a plurality of sub-task classes needed for providing a service in relation to a given service domain . According to one embodiment of the present invention, the dialogue flow management model 358 may include, for example, a sequential flow between each sub-task category belonging to the service domain in the form of a probability graph. According to one embodiment of the present invention, the dialogue flow management model 358 may include, for example, a probabilistic distribution of each task classification obtained on various sequential flows that may occur between each of the sub-task classes. According to one embodiment of the present invention, although not specifically shown, the dialogue flow management model 358 may also include a library of dialog patterns belonging to each task category.
본 도면에서는, 다양한 데이터베이스를 포함하는 저장 모듈(350)이 대화형 AI 에이전트 서버(106)에 배치되는 것으로 도시되어 있으나, 본 발명이 이로써 제한되는 것은 아니다. 본 발명의 다른 실시예에 의하면, 저장 모듈(350)에 포함된 각각의 데이터베이스는, 예컨대 사용자 단말(102)에 존재할 수도 있고, 사용자 단말(102) 및 대화형 AI 에이전트 서버(106)에 분산되어 배치될 수도 있음을 알아야 한다.Although the storage module 350 including various databases is shown as being disposed in the interactive AI agent server 106 in the figure, the present invention is not limited thereto. According to another embodiment of the present invention, each database contained in the storage module 350 may reside, for example, at the user terminal 102 and distributed to the user terminal 102 and the interactive AI agent server 106 And the like.
본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신 모듈(360)은 임의의 다양한 방식에 의해 수집된 대화 로그 데이터베이스(356)에 저장된 각 대화 로그들을 자동으로 분석하여, 분석 결과에 따라 대화 흐름 관리 모델을 구축 및/또는 갱신할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 대화 로그 데이터베이스(356)에 저장된 대화 로그들에 대한 키워드 분석을 통해, 각각의 발화 기록을 미리 정해진 하위 작업 분류들 중 하나로 분류하고, 같은 하위 작업 분류의 발화 기록들을 그룹핑할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 각 그룹, 즉 각각의 하위 작업 분류들 간의 순차 흐름을 확률적 분포로 파악할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 서비스 도메인 상의 하위 작업 분류들 간의 순차 흐름을 확률 그래프 형태로 구성할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 각각의 하위 작업 분류들 간에 발생할 수 있는 모든 순차 흐름을 파악하고, 각 대화 로그로부터, 그 모든 순차 흐름 내의 각 작업 분류 간 흐름의 발생 확률을 판정하며, 그로부터 전술한 하위 작업 분류들 간의 각 순차 흐름의 확률적 분포를 획득할 수 있다. In accordance with one embodiment of the present invention, the conversation flow management model building / updating module 360 automatically analyzes each conversation log stored in the conversation log database 356 collected by any of a variety of methods, And build and / or update the conversation flow management model. In accordance with one embodiment of the present invention, the dialogue flow management model build / update unit 360 generates a dialogue flow management model, for example, through keyword analysis on conversation logs stored in the conversation log database 356, One of the categories, and group the utterance records of the same sub-task category. According to one embodiment of the present invention, the dialogue flow management model construction / update unit 360 can grasp, for example, a sequential flow between each group, i.e., each lower task category, as a probabilistic distribution. According to one embodiment of the present invention, the dialogue flow management model construction / update unit 360 can construct a sequential flow between the sub-task categories on the service domain, for example, in the form of a probability graph. In accordance with one embodiment of the present invention, the dialogue flow management model building / updating unit 360 may be configured to determine, for example, all sequential flows that may occur between each of the sub-task classes, It is possible to determine the probability of occurrence of the flow between each job classification, and thereby obtain a stochastic distribution of each sequential flow between the above-mentioned lower job classes.
본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는 임의의 다양한 방식으로 수집된 대화 로그들에 대한 키워드 분석을 수행하고, 대화 로그 상의 각각의 발화 기록을 미리 정해진 작업 분류들 중 하나로 분류 및 태깅할 수 있다. 본 발명의 일 실시예에 의하면, 미리 정해진 작업 분류들은, 예컨대 하나의 서비스 도메인에 속한 각각의 하위 작업 분류들일 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 상품 구매의 서비스 도메인에 속한 상품 문의, 브랜드 문의, 디자인 문의, 가격 문의, 및 반품 문의의 하위 작업 분류들 중 어느 하나로 각각의 발화 기록을 분류 및 태깅할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 각각의 하위 작업 분류별로 관련된 키워드들을 미리 선정하고 그 선정된 키워드들에 기초하여 각각의 발화 기록을 특정 하위 작업 분류로 분류할 수 있다.According to an embodiment of the present invention, the conversation flow management model construction / update unit 360 performs keyword analysis on the conversation logs collected in any of various ways, and stores each speech history on the conversation log in a predetermined operation It can be classified and tagged as one of the categories. According to one embodiment of the present invention, the predetermined task classifications may be, for example, each of the sub classifications belonging to one service domain. According to one embodiment of the present invention, the conversation flow management model building / updating unit 360 constructs the conversation flow management model building / updating unit 360 based on, for example, a sub-task classification of a product inquiry, a brand inquiry, a design inquiry, Quot; can be classified and tagged with any one of them. According to an embodiment of the present invention, the dialogue flow management model construction / update unit 360 may previously select relevant keywords for each of the lower task categories, and, based on the selected keywords, Can be classified into classification.
본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 복수의 작업 분류들 중 어느 하나로 분류 및 태깅된 발화 기록들을, 같은 분류의 발화 기록들끼리 그룹핑할 수 있다. 본 발명의 일 실시예에 의하면, 같은 분류로 그룹핑된 각각의 발화 기록들은 해당 분류의 대화 패턴들로서 대화 흐름 관리 모델에 포함될 수 있다.  According to an embodiment of the present invention, the conversation flow management model construction / update unit 360 can group speech data classified and tagged into any one of a plurality of job data categories among speech data of the same classification. According to an embodiment of the present invention, the speech history groups grouped into the same category may be included in the dialogue flow management model as the conversation patterns of the category.
본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 위 대화 로그들로부터 각각의 하위 작업 분류들 간의 시계열적 순차의 확률적 분포를 분석할 수 있다. 본 발명의 일 실시예에 의하면, 예컨대 상품 구매의 서비스 도메인의 경우, 그에 속한 하위 작업 분류들이 상품 문의, 브랜드 문의, 디자인 문의, 가격 문의, 및 반품 문의라고 가정할 경우, 예를 들어 가장 먼저 발생하는 작업 분류로서 상품 문의가 70%, 브랜드 문의20%, 디자인 문의 5%, 가격 문의 3%, 및 반품 문의 2%의 확률로 나타나고, 상품 문의 이후에는, 브랜드 문의가 65%, 디자인 문의가 21%, 가격 문의가 13%, 반품 문의가 1%의 확률로 나타날 수 있고, 이러한 순차적 흐름의 확률 분포로서 각각의 하위 작업 분류들을 계층화할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 서비스 도메인 상의 하위 작업 분류들 간의 순차 흐름을 확률적 그래프 형태로 구성할 수 있다. 본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 예컨대 각각의 하위 작업 분류들 간의 순차 흐름의 확률적 관계를 재귀적으로 파악하여 다양한 형태의 하위 작업 분류들 간의 순차 흐름을 구성할 수 있다. According to one embodiment of the present invention, the dialogue flow management model construction / update unit 360 can analyze the probabilistic distribution of the time series sequential between the respective lower task categories from the dialogue logs. According to an embodiment of the present invention, for example, in the case of a service domain of a goods purchase, when it is assumed that a sub-task classification belongs to a product inquiry, a brand inquiry, a design inquiry, a price inquiry, and a return inquiry, As a working classification, there is a probability of 70% of product inquiry, 20% of brand inquiry, 5% of design inquiry, 3% of price inquiry, and 2% of return inquiry. %, The price inquiry is 13%, the return inquiry is 1% probability, and each of the sub work categories can be layered as the probability distribution of this sequential flow. According to an embodiment of the present invention, the dialogue flow management model construction / update unit 360 may construct a sequential flow between lower task classes on a service domain, for example, in a stochastic graph form. According to an embodiment of the present invention, the dialogue flow management model construction / update unit 360 can recursively grasp the probabilistic relation of the sequential flow between the respective lower task classes, for example, Sequential flow can be configured.
본 발명의 일 실시예에 의하면, 대화 흐름 관리 모델 구축/갱신부(360)는, 하위 작업 분류들 간의 시계열적 순차의 확률적 분포의 분석 결과로부터 임계치 미만의 확률을 갖는 흐름을 삭제할 수 있다. 예컨대, 임계치를 발생 확률 2%로 선정한 경우, 상품 구매의 서비스 도메인에서, 상품 문의 이후에 반품 문의가 나타나는 확률이 1%라면, 상품 문의 이후에 반품 문의가 발생하는 흐름을 대화 흐름 관리 모델에서 삭제할 수 있다.According to one embodiment of the present invention, the dialogue flow management model construction / update unit 360 can delete a flow having a probability less than the threshold from the analysis result of the probabilistic distribution of the time series sequence between the lower task classes. For example, if the probability is 2%, if the probability that the return inquiry appears after the inquiry of the commodity is 1% in the service domain of the commodity purchase, the flow of the return inquiry after the commodity inquiry is deleted from the conversation flow management model .
도 1 내지 3을 참조하여 전술한 본 발명의 실시예에서는, 대화형 AI 에이전트 시스템이 사용자 단말(102)과 대화형 AI 에이전트 서버(106) 간의 클라이언트-서버 모델, 특히 클라이언트는 오로지 사용자 입출력 기능만을 제공하고 그 외 대화형 AI 에이전트 시스템의 다른 모든 기능들을 서버에 위임된, 소위 "씬 클라이언트-서버 모델"에 기초하여 구현된 것과 같이 설명되어 있으나, 본 발명이 이로써 제한되는 것은 아니다. 본 발명의 다른 실시예에 의하면, 대화형 AI 에이전트 시스템은 그 기능들이 사용자 단말과 서버 사이에 분배되어 구현될 수 있고, 또는 그와 달리 사용자 단말 상에 설치된 독립형 애플리케이션으로 구현될 수도 있음을 알아야 한다. 또한, 본 발명의 일 실시예에 따라 대화형 AI 에이전트 시스템이 그 기능들을 사용자 단말과 서버 사이에 분배하여 구현하는 경우, 클라이언트와 서버 사이의 대화형 AI 에이전트 시스템의 각 기능의 분배는 실시예마다 달리 구현될 수 있음을 알아야 한다. 또한, 도 1 내지 3을 참조하여 전술한 본 발명의 실시예에서는, 편의상 특정 모듈이 소정의 동작들을 수행하는 것처럼 설명되었으나, 본 발명이 이로써 제한되는 것은 아니다. 본 발명의 다른 실시예에 의하면, 위 설명에서 어느 특정 모듈에 의해 수행되는 것과 같이 설명된 동작들이, 그와 다른 별개의 모듈에 의해 각각 수행될 수 있음을 알아야 한다.In the embodiment of the present invention described above with reference to FIGS. 1 to 3, the interactive AI agent system is a client-server model between the user terminal 102 and the interactive AI agent server 106, And is based on a so-called " thin client-server model ", which delegates all other functions of the interactive AI agent system to the server, but the present invention is not limited thereto. According to another embodiment of the present invention, it should be understood that the interactive AI agent system may be implemented as a distributed application between the user terminal and the server, or as a stand-alone application installed on the user terminal . In addition, when the interactive AI agent system implements the functions of the interactive AI agent system distributed between the user terminal and the server according to an embodiment of the present invention, the distribution of each function of the interactive AI agent system between the client and the server is It should be understood that the invention may be otherwise embodied. In addition, although in the embodiments of the present invention described above with reference to FIGS. 1 to 3, the specific module has been described as performing certain operations for convenience, the present invention is not limited thereto. According to another embodiment of the present invention, it is to be understood that the operations described as being performed by any particular module in the above description may be performed by separate and distinct modules, respectively.
도 4는, 본 발명의 일 실시예에 따른, 도 3의 STT 보조 모듈에 의해 수행되는 예시적 동작 흐름도이다.4 is an exemplary operational flow diagram performed by the STT auxiliary module of FIG. 3, in accordance with an embodiment of the present invention.
단계(402)에서, STT 보조 모듈(320)은, 하나 이상의 단어로 구성된 자연어 입력을 포함한 사용자의 음성 입력을 수신할 수 있다.  본 발명의 일 실시예에 의하면, 자연어 입력은, 예컨대 사용자 단말(102a-102n)의 마이크로폰을 통하여 수신되어 통신 모듈(310)을 통해 전송되는 음성 입력일 수 있다. In step 402, the STT assistance module 320 may receive a user's speech input including a natural language input composed of one or more words. According to one embodiment of the present invention, the natural language input may be a voice input, e.g., received via the microphone of the user terminal 102a-102n and transmitted via the communication module 310. [
단계(404)에서, STT 보조 모듈(320)은 단계(402)에서 수신된 사용자의 음성 입력을 외부 STT 서버(110)로 전송한다. 본 발명의 일 실시예에 있어서, 음성 입력은 음성 파일(예컨대 웨이브 파일) 또는 스트리밍 형식일 수 있다. 본 발명의 일 실시예에 의하면, STT 보조 모듈(320)는 사용자의 음성 입력과 함께 음성 입력에 관한 정보(예컨대, 파일 형식, 인코딩 형식 등) 및 구문 힌트를 함께 전송할 수 있다. 여기서, 구문 힌트란, 주어진 오디오 처리에 도움이 되는 정보로서, 특정 단어 또는 구문일 수 있다. In step 404, the STT assistance module 320 transmits the voice input of the user received in step 402 to the external STT server 110. In one embodiment of the present invention, the voice input may be in a voice file (e.g., wave file) or streaming format. According to an embodiment of the present invention, the STT auxiliary module 320 may transmit information (e.g., a file format, an encoding format, and the like) and a syntax hint together with a voice input of a user. Here, the phrase hint may be a specific word or phrase as information that aids the given audio processing.
단계(406)에서, STT 보조 모듈(320)은 외부 STT 서버(110)로부터 전송한 음성 파일과 연관된 적어도 하나의 텍스트 데이터를 수신할 수 있다. 본 발명의 일 실시예에 의하면, 적어도 하나의 텍스트 데이터는 외부 STT 서버가 부여한 점수(확률)를 포함할 수 있다. In step 406, the STT assistance module 320 may receive at least one textual data associated with the voice file transmitted from the external STT server 110. [ According to an embodiment of the present invention, the at least one text data may include a score (probability) given by an external STT server.
단계(408)에서, STT 보조 모듈(320)은 적어도 하나의 텍스트 데이터 각각에 대한 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 있어서 변환 정확도는 적어도 하나의 텍스트 데이터 각각에 대한 확률 또는 적어도 하나의 텍스트 데이터 각각에 대한 상대적 순위일 수 있다. In step 408, the STT assistance module 320 may evaluate the conversion accuracy for each of the at least one textual data. In one embodiment of the present invention, the conversion accuracy may be a probability for each of the at least one text data or a relative rank for each of the at least one text data.
본 발명의 일 실시예에 있어서, STT 보조 모듈(320)은 소정의 기준에 따라, 적어도 하나의 텍스트 데이터 각각의 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 있어서, STT 보조 모듈(320)은 적어도 하나의 텍스트 데이터 각각에 대해 외부 STT 서버가 부여한 점수를 고려하여 적어도 하나의 텍스트 데이터 각각에 대한 변환 정확도를 평가할 수 있다.In one embodiment of the present invention, the STT auxiliary module 320 may evaluate the conversion accuracy of each of the at least one text data, according to a predetermined criterion. In one embodiment of the present invention, the STT auxiliary module 320 may evaluate the conversion accuracy for each of the at least one text data in consideration of the scores given by the external STT server for each of the at least one text data.
본 발명의 일 실시예에 있어서, STT 보조 모듈(320)은 STT 변환 보조 데이터베이스에 기초하여 적어도 하나의 텍스트 데이터 각각의 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 있어서, STT 변화 보조 데이터베이스는 사용자별 특징 데이터를 저장 및 관리하는 사용자 데이터베이스(352), 사용자들의 기존 대화로그들이 분석되어 저장되어 있는 대화 로그 데이터베이스(356), 서비스 도메인에 포함되는 의도(intent)와 연관된 속성이 저장되어 있는 대화 이해 지식베이스(352), 서비스 도메인과 관련하여 해당 서비스 제공을 위하여 필요한 복수의 하위 작업 분류들 간의 순차적 흐름에 관한 확률적 분포 모델인 대화 흐름 관리 모델(358) 중 적어도 하나를 포함할 수 있다. In one embodiment of the present invention, the STT auxiliary module 320 may evaluate the conversion accuracy of each of the at least one text data based on the STT conversion auxiliary database. In one embodiment of the present invention, the STT change assistance database includes a user database 352 for storing and managing user-specific feature data, an conversation log database 356 in which existing conversation logs of users are analyzed and stored, A dialogue understanding knowledge base 352 in which attributes associated with an intent to be included are stored, a dialogue flow 352 that is a probabilistic distribution model for a sequential flow between a plurality of lower task classes necessary for providing a service in association with the service domain, And a management model 358.
본 발명의 일 실시예에 있어서, STT 보조 모듈(320)은 상기 적어도 하나의 텍스트 변환 결과 각각에 포함된 단어의 출현 횟수에 기초하여 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 의하면, 단어의 출현 횟수는 도메인 별 단어의 출현 회수가 저장되어 있는 대화 로그 데이터베이스에 기초하여 계산할 수 있다. 예컨대, 해당 도메인이 "금융"이고, 수신한 텍스트 데이터가 "일번"과 "일본"인 경우, 도메인 사용자 데이터베이스에 저장된 "일번"에 대한 출현 횟수가 7200번이고, "일본"에 대한 출현 횟수가 10번이라면, 변환 정확도 확률은 "일번"이 "일본"에 비해 높게 결정될 수 있다.In one embodiment of the present invention, the STT auxiliary module 320 may evaluate the conversion accuracy based on the number of occurrences of words contained in each of the at least one text conversion results. According to an embodiment of the present invention, the number of occurrences of words can be calculated based on the conversation log database in which the number of occurrences of words per domain is stored. For example, when the corresponding domain is "finance" and the received text data is "one time" and "Japan", the number of occurrences for "one time" stored in the domain user database is 7200 and the number of occurrences for "Japan" 10 times, the probability of conversion accuracy can be determined to be higher than that of " one time "
본 발명의 일 실시예에 있어서, STT 보조 모듈(320)은 상기 적어도 하나의 텍스트 변환 결과 각각에 포함된 문장과 STT 변환 보조 데이터베이스에 저장된 문장들과의 유사도에 기초하여 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 있어서, 문장 간의 유사도를 산출하는 방법에는 문장에 포함된 각 단어 빈도를 가지고 벡터를 구축하여, 벡터 간 코사인 유사도를 구하는 통계적인 방법 또는 WordNet 거리를 기초로 의미적 유사도를 산출하는 의미론적인 방법 등 다양한 방법이 이용될 수 있다. In one embodiment of the present invention, the STT auxiliary module 320 may evaluate the conversion accuracy based on the similarity between the sentences included in each of the at least one text conversion results and the sentences stored in the STT translation assistant database. In one embodiment of the present invention, a method of calculating the similarity between sentences includes a statistical method of constructing a vector with each word frequency included in a sentence and obtaining a cosine similarity between vectors, or a semantic similarity based on WordNet distance Various semantic methods can be used.
본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은 통신 모듈(310)을 통하여 외부 STT 서버(110)로부터의 적어도 하나의 변환된 텍스트 데이터를 수신하고, 미리 준비된 소정의 지식 모델을 기초로 이를 처리하여, 사용자 자연어 입력에 대응한 사용자의 의도(intent)를 결정하고 결정된 의도에 기초하여 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은, 사용자 의도를 결정할 때 STT 변환 보조 사용자 데이터베이스의 데이터, 예컨대 대화 이해 지식베이스(312)에 기초하여, 위 수신된 텍스트 입력을 하나 이상의 사용자 의도(intent)에 대응시킬 수 있다.According to one embodiment of the present invention, the STT auxiliary module 320 receives at least one converted text data from the external STT server 110 via the communication module 310, and based on a predetermined knowledge model prepared in advance To determine the intent of the user corresponding to the user natural language input and to evaluate the conversion accuracy based on the determined intent. In accordance with one embodiment of the present invention, the STT assistance module 320, when determining the user's intent, may send the received text input to one or more It can correspond to a user intent.
본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은 통신 모듈(310)을 통하여 외부 STT 서버(110)로부터의 적어도 하나의 변환된 텍스트 데이터를 수신하고, 대화 상에서의 순차 흐름에 의해 결정된 계층적 위치를 기초로 변환 정확도를 평가할 수 있다. 본 발명의 일 실시예에 있어서, STT 보조 모듈(320)은, 서비스 도메인 상의 순차 흐름을 확률 그래프 형태로 구성하는 대화 흐름 관리 모델 구축/갱신 모듈(360)로부터 해당 음성 입력의 계층적 위치 정보를 수신할 수 있다. According to one embodiment of the present invention, the STT auxiliary module 320 receives at least one converted text data from the external STT server 110 via the communication module 310, The conversion accuracy can be evaluated based on the hierarchical position. In one embodiment of the present invention, the STT auxiliary module 320 receives the hierarchical location information of the corresponding speech input from the conversation flow management model building / updating module 360, which configures a sequential flow on the service domain in the form of a probability graph .
마지막으로, 단계(410)에서 STT 보조 모듈(320)은 적어도 하나의 텍스트 변환 결과를 출력한다. 본 발명의 일 실시예에 의하면, STT 보조 모듈(320)은 적어도 하나의 텍스트 변환 결과와 평가 결과를 함께 출력할 수 있다. Finally, in step 410, the STT auxiliary module 320 outputs at least one text conversion result. According to one embodiment of the present invention, the STT auxiliary module 320 may output at least one text conversion result and an evaluation result together.
당업자라면 알 수 있듯이, 본 발명이 본 명세서에 기술된 예시에 한정되는 것이 아니라 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있음을 알아야 한다.As will be appreciated by those skilled in the art, the present invention is not limited to the examples described herein, but can be variously modified, rearranged, and replaced without departing from the scope of the present invention. It should be understood that the various techniques described herein may be implemented in hardware or software, or a combination of hardware and software.
본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있다. 본 발명의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.A computer program according to an embodiment of the present invention may be stored in a storage medium readable by a computer processor or the like such as a nonvolatile memory such as EPROM, EEPROM, flash memory device, a magnetic disk such as an internal hard disk and a removable disk, CDROM disks, and the like. Also, the program code (s) may be implemented in assembly language or machine language. And all changes and modifications that fall within the true spirit and scope of the present invention are intended to be embraced by the following claims.

Claims (9)

  1. 컴퓨터 장치에 의해서 수행되는 방법으로서, 상기 방법은, 대화형 AI 에이전트 시스템을 위한 음성 텍스트 변환을 보조하는 것이며, A method performed by a computer device, the method being to assist speech text conversion for an interactive AI agent system,
    소정의 서비스 도메인에 관련된 STT 변환 보조 데이터베이스를 구축하는 단계;Constructing an STT conversion assistance database related to a predetermined service domain;
    외부의 음성-텍스트-변환(Speech-to-text) 서버로부터 적어도 하나의 텍스트 변환 결과를 수신하는 단계; Receiving at least one text conversion result from an external Speech-to-text server;
    상기 STT 변환 보조 데이터베이스에 기초하여, 상기 적어도 하나의 텍스트 변환 결과 각각에 대해 평가하는 단계; 및Evaluating each of the at least one text conversion result based on the STT conversion auxiliary database; And
    상기 적어도 하나의 텍스트 변환 결과와 평가 결과를 출력하는 단계Outputting the at least one text conversion result and the evaluation result
    를 포함하는 방법.≪ / RTI >
  2. 제1항에 있어서, The method according to claim 1,
    상기 STT 변환 보조 데이터베이스는 사용자별 특징 데이터를 저장 및 관리하는 사용자 데이터베이스, 사용자들의 기존 대화로그들이 분석되어 저장되어 있는 대화 로그 데이터베이스, 서비스 도메인에 포함되는 의도(intent)와 연관된 속성이 저장되어 있는 대화 이해 지식베이스, 상기 서비스 도메인과 관련하여 해당 서비스 제공을 위하여 필요한 복수의 하위 작업 분류들 간의 순차적 흐름에 관한 확률적 분포 모델이 저장되어 있는 대화 흐름 관리 모델 중 적어도 하나를 포함하는 방법.The STT conversion assistant database includes a user database for storing and managing user-specific feature data, an interactive log database in which existing conversation logs of users are analyzed and stored, a conversation in which attributes related to an intent included in the service domain are stored And a dialogue flow management model in which a probabilistic distribution model related to a sequential flow between a plurality of lower task classes necessary for providing a service in association with the service domain is stored.
  3. 제2항에 있어서, 3. The method of claim 2,
    상기 평가하는 단계는 The evaluating step
    상기 STT 변환 보조 데이터베이스에 저장되고, 상기 적어도 하나의 텍스트 변환 결과 각각에 포함된 단어들의 출현 횟수를 고려하여 평가하는 단계를 포함하는 방법.Evaluating the number of occurrences of words included in each of the at least one text conversion result stored in the STT conversion assist database.
  4. 제2항에 있어서, 3. The method of claim 2,
    상기 평가하는 단계는 The evaluating step
    상기 STT 변환 보조 데이터베이스에 저장된 문장들과 상기 적어도 하나의 텍스트 변환 결과에 포함된 문장과의 유사도를 기초로 평가하는 단계를 포함하는 방법.And evaluating based on the similarity between the sentences stored in the STT translation assistance database and the sentences included in the at least one text conversion result.
  5. 제2항에 있어서, 3. The method of claim 2,
    상기 평가하는 단계는 The evaluating step
    미리 준비된 소정의 지식 모델을 기초로 사용자의 의도(intent)를 결정하는 단계를 포함하는 방법And determining an intent of the user based on a predetermined knowledge model prepared in advance
  6. 제2항에 있어서, 3. The method of claim 2,
    상기 평가하는 단계는 The evaluating step
    계층적 대화 흐름 관리 모델을 기초로 사용자의 계층적 위치를 결정하는 단계를 포함하는, 방법.And determining a hierarchical location of the user based on a hierarchical conversational flow management model.
  7. 하나 이상의 명령어를 포함하는 컴퓨터 판독 가능 기록 매체로서,A computer-readable medium having stored thereon one or more instructions,
    상기 하나 이상의 명령어는, 컴퓨터에 위해 실행되는 경우, 상기 컴퓨터로 하여금, 제1항 내지 제6항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독 가능 기록 매체.Wherein the one or more instructions cause the computer to perform the method of any one of claims 1 to 6 when executed on a computer.
  8. 문맥기반의 음성-텍스트-변환(Speech-to-text)을 제공하도록 구성된 컴퓨터 장치로서, A computer apparatus configured to provide context-based speech-to-text,
    사용자별 특징 데이터를 저장 및 관리하고, 사용자들의 기존 대화 로그들을 분석 및 저장하며, 서비스 도메인에 포함되는 의도(intent)와 연관된 속성을 저장하고, 상기 서비스 도메인과 관련하여 해당 서비스 제공을 위하여 필요한 복수의 하위 작업 분류들 간의 순차적 흐름에 관한 확률적 분포 모델을 저장 및 관리하도록 구성되는 저장 모듈; Storing and managing characteristic data for each user, analyzing and storing existing conversation logs of users, storing attributes associated with an intent included in the service domain, and storing a plurality of A storage module configured to store and manage a probabilistic distribution model relating to a sequential flow between subordinate classes of work;
    상기 대화 로그들을 자동으로 분석하여, 분석 결과에 따라 대화 흐름 관리 모델을 구축 및/또는 갱신하도록 구성되는 대화 흐름 관리 모델 구축/갱신 모듈; 및A dialogue flow management model building / updating module configured to automatically analyze the conversation logs and build and / or update a conversation flow management model according to the analysis result; And
    STT 보조 모듈을 포함하고, STT auxiliary module,
    상기 STT 보조 모듈은 The STT auxiliary module
    외부 STT 서버로부터 적어도 하나의 텍스트 변환 결과를 수신하고, Receiving at least one text conversion result from an external STT server,
    상기 저장 모듈에 저장된 데이터에 기초하여, 상기 적어도 하나의 텍스트 변환 결과 각각에 대해 평가하고,Evaluating each of the at least one text conversion result based on the data stored in the storage module,
    상기 적어도 하나의 텍스트 변환 결과와 평가 결과를 출력하도록 구성된, 컴퓨터 장치.And to output the at least one text conversion result and the evaluation result.
  9. 제8항에 있어서,9. The method of claim 8,
    상기 컴퓨터 장치는, 사용자 단말 또는 상기 사용자 단말과 통신 가능하게 결합된 서버를 포함하는, 컴퓨터 장치.Wherein the computer device comprises a user terminal or a server communicatively coupled to the user terminal.
PCT/KR2018/014680 2017-11-27 2018-11-27 Method for improving performance of voice recognition on basis of context, computer apparatus, and computer-readable recording medium WO2019103569A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170159269A KR101970899B1 (en) 2017-11-27 2017-11-27 Method and computer device for providing improved speech-to-text based on context, and computer readable recording medium
KR10-2017-0159269 2017-11-27

Publications (1)

Publication Number Publication Date
WO2019103569A1 true WO2019103569A1 (en) 2019-05-31

Family

ID=66282142

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/014680 WO2019103569A1 (en) 2017-11-27 2018-11-27 Method for improving performance of voice recognition on basis of context, computer apparatus, and computer-readable recording medium

Country Status (2)

Country Link
KR (1) KR101970899B1 (en)
WO (1) WO2019103569A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020218659A1 (en) 2019-04-26 2020-10-29 (주)아크릴 Automated query answering device for insurance product sales utilizing artificial neural network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140062656A (en) * 2012-11-14 2014-05-26 한국전자통신연구원 Spoken dialog management system based on dual dialog management using hierarchical dialog task library
KR20140111538A (en) * 2013-03-11 2014-09-19 삼성전자주식회사 Interactive sever, display apparatus and control method thereof
KR20160060335A (en) * 2014-11-20 2016-05-30 에스케이텔레콤 주식회사 Apparatus and method for separating of dialogue
WO2016151698A1 (en) * 2015-03-20 2016-09-29 株式会社 東芝 Dialog device, method and program
KR20170088164A (en) * 2016-01-22 2017-08-01 한국전자통신연구원 Self-learning based dialogue apparatus for incremental dialogue knowledge, and method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160031231A (en) 2014-09-12 2016-03-22 엘지전자 주식회사 An outdoor unit for a an air conditioner
US9836452B2 (en) 2014-12-30 2017-12-05 Microsoft Technology Licensing, Llc Discriminating ambiguous expressions to enhance user experience

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140062656A (en) * 2012-11-14 2014-05-26 한국전자통신연구원 Spoken dialog management system based on dual dialog management using hierarchical dialog task library
KR20140111538A (en) * 2013-03-11 2014-09-19 삼성전자주식회사 Interactive sever, display apparatus and control method thereof
KR20160060335A (en) * 2014-11-20 2016-05-30 에스케이텔레콤 주식회사 Apparatus and method for separating of dialogue
WO2016151698A1 (en) * 2015-03-20 2016-09-29 株式会社 東芝 Dialog device, method and program
KR20170088164A (en) * 2016-01-22 2017-08-01 한국전자통신연구원 Self-learning based dialogue apparatus for incremental dialogue knowledge, and method thereof

Also Published As

Publication number Publication date
KR101970899B1 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
WO2019124647A1 (en) Method and computer apparatus for automatically building or updating hierarchical conversation flow management model for interactive ai agent system, and computer-readable recording medium
WO2019088384A1 (en) Method for providing rich-expression natural language conversation by modifying reply, computer device and computer-readable recording medium
KR101891498B1 (en) Method, computer device and computer readable recording medium for multi domain service resolving the mixture of multi-domain intents in interactive ai agent system
WO2019147039A1 (en) Method for determining optimal conversation pattern for goal achievement at particular time point during conversation session associated with conversation understanding ai service system, method for determining goal achievement prediction probability, and computer-readable recording medium
KR101959292B1 (en) Method and computer device for providing improved speech recognition based on context, and computer readable recording medium
CN111026840B (en) Text processing method, device, server and storage medium
KR102120751B1 (en) Method and computer readable recording medium for providing answers based on hybrid hierarchical conversation flow model with conversation management model using machine learning
WO2019156536A1 (en) Method and computer device for constructing or updating knowledge base model for interactive ai agent system by labeling identifiable, yet non-learnable, data from among learning data, and computer-readable recording medium
WO2019168235A1 (en) Method and interactive ai agent system for providing intent determination on basis of analysis of same type of multiple pieces of entity information, and computer-readable recording medium
WO2019088638A1 (en) Method, computer device and computer readable recording medium for providing natural language conversation by timely providing substantial reply
KR20190103951A (en) Method, computer device and computer readable recording medium for building or updating knowledgebase models for interactive ai agent systen, by labeling identifiable but not-learnable data in training data set
WO2019156537A1 (en) Interactive ai agent system and method for actively providing service related to security and like through dialogue session or separate session on basis of monitoring of dialogue session between users, and computer-readable recording medium
WO2019088383A1 (en) Method and computer device for providing natural language conversation by providing interjection response in timely manner, and computer-readable recording medium
WO2019143170A1 (en) Method for generating conversation template for conversation-understanding ai service system having predetermined goal, and computer readable recording medium
KR20190094087A (en) User terminal including a user customized learning model associated with interactive ai agent system based on machine learning, and computer readable recording medium having the customized learning model thereon
WO2019103569A1 (en) Method for improving performance of voice recognition on basis of context, computer apparatus, and computer-readable recording medium
WO2019142976A1 (en) Display control method, computer-readable recording medium, and computer device for displaying conversation response candidate for user speech input
KR20210045704A (en) Method, interactive ai agent system and computer readable recoding medium for providing intent determination based on analysis of a plurality of same type entity information
WO2019066132A1 (en) User context-based authentication method having enhanced security, interactive ai agent system, and computer-readable recording medium
KR102120749B1 (en) Method and computer readable recording medium for storing bookmark information to provide bookmark search service based on keyword
WO2019143141A1 (en) Method for visualizing knowledge base for interactive ai agent system, and computer readable recording medium
WO2019098638A1 (en) Method, interactive ai agent system and computer readable recording medium for providing semantic-free user voiceprint authentication having enhanced security
KR102120748B1 (en) Method and computer readable recording medium for providing bookmark search service stored with hierachical dialogue flow management model based on context
KR20210045702A (en) Method and computer readable recording medium for storing bookmark information to provide bookmark search service based on keyword
CN116091076A (en) Dynamic dashboard management

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: 18881839

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: 18881839

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 22.01.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18881839

Country of ref document: EP

Kind code of ref document: A1