WO2019168235A1 - 복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체 - Google Patents

복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
WO2019168235A1
WO2019168235A1 PCT/KR2018/005998 KR2018005998W WO2019168235A1 WO 2019168235 A1 WO2019168235 A1 WO 2019168235A1 KR 2018005998 W KR2018005998 W KR 2018005998W WO 2019168235 A1 WO2019168235 A1 WO 2019168235A1
Authority
WO
WIPO (PCT)
Prior art keywords
natural language
intent
language input
user
present disclosure
Prior art date
Application number
PCT/KR2018/005998
Other languages
English (en)
French (fr)
Inventor
설재호
장세영
Original Assignee
주식회사 머니브레인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 머니브레인 filed Critical 주식회사 머니브레인
Publication of WO2019168235A1 publication Critical patent/WO2019168235A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Definitions

  • the present disclosure relates to understanding conversations in an interactive AI agent system, and more particularly by an interactive AI agent system, intent of which user input may be determined based on relationships between entities included in user input. Understanding of the conversations being performed.
  • determining the intent of the natural language input is an important process.
  • the determination of the intent by the interactive AI agent system is based primarily on the presence or absence of certain words having a certain meaning, from the user's natural language input.
  • Entity information that may be included in the user's natural language input e.g., parameter information having a specific attribute and format such as date, name, time, phone number, etc. as a variable that may be included in the user's natural language input
  • the intent for the natural language input is determined and then used as a parameter value to obtain an answer for the determined intent.
  • a method for determining intent of a natural language input performed by an interactive AI agent system includes receiving a natural language input from a user; Determining whether a word or phrase defined as corresponding to any intent on a given lexical dictionary model is included in the natural language input; If it is determined that the word or phrase is included in the natural language input, mapping the natural language input to a corresponding intent; If it is determined that the word or phrase is not included in the natural language input, extracting a plurality of same types of entity information from the natural language input; And mapping the natural language input to a predetermined intent based on the extracted plurality of same types of entity information.
  • the mapping of the natural language input to a predetermined intent may be performed based on a combination of extracted plurality of same types of entity information and words having a predetermined meaning present in the natural language input. Mapping the natural language input to a predetermined intent.
  • the interactive AI agent system is configured to provide a service related to shopping, and mapping the natural language input to a predetermined intent may include extracting a plurality of identical types of entity information, respectively. Determining whether there are different values as entities of the same type related to quality, and whether there is a word indicating completion of an order or delivery during natural language entry; And based on the determination result, mapping the natural language input to an intent of a complaint or return request.
  • whether the extracted plurality of same types of entity information are entities of the same type which are each related to quality may include extracting the plurality of same types of entity information among sizes, colors, performances, and prices. It may be determined depending on whether the entity is related to one in common.
  • the interactive AI agent system is configured to provide a service related to shopping, and the mapping of the natural language input to a predetermined intent may include extracting a plurality of entity information from different dates. Determining whether there is a word associated with the order or delivery during the indicating entity information and natural language input; And based on the determination result, mapping the natural language input to the intent of the delivery inquiry or delivery complaint.
  • a computer readable recording medium including one or more instructions, wherein the one or more instructions, when executed for a computer, cause the computer to perform any one of the methods described above.
  • a computer readable recording medium is provided.
  • an interactive AI agent system for providing natural language understanding comprises: a user input receiving module configured to receive natural language input from a user; Knowledge base model in the form of lexical dictionaries; And an interactive AI agent system including a natural language understanding module.
  • the natural language understanding module of the present disclosure determines whether a word or phrase defined as corresponding to any intent on the knowledgebase model is included in the natural language input, and when it is determined that the word or phrase is included in the natural language input, the natural language If it is determined that the input is mapped to a corresponding intent, and it is determined that a word or phrase is not included in the natural language input, the plurality of entity information is extracted from the natural language input, and the natural language input is based on the extracted plurality of the same type of entity information. Is mapped to a predetermined intent.
  • the interactive AI agent system is indirect from there on the basis of the entity information on the user input, even if the intent fails to determine the intent based on the presence or absence of certain words having a predetermined meaning on the user input.
  • the intent of the user represented by.
  • FIG. 1 is a diagram schematically illustrating a system environment in which an interactive AI agent system may be implemented, according to an embodiment of the present disclosure.
  • FIG. 2 is a functional block diagram schematically illustrating the functional configuration of the user terminal 102 of FIG. 1, according to an embodiment of the disclosure.
  • FIG. 3 is a functional block diagram schematically illustrating the functional configuration of the interactive AI agent server 106 of FIG. 1, in accordance with an embodiment of the present disclosure.
  • FIG. 4 is a flow diagram illustrating an example operational flow for user intent determination performed by an interactive AI agent system for a shopping service, in accordance with an embodiment of the present disclosure.
  • the module or the unit means a functional part that performs at least one function or operation, and may be implemented in hardware or software or in a combination of hardware and software. Also, a plurality of 'modules' or 'units' may be integrated by at least one software module and implemented by at least one processor, except for 'modules' or 'units', which need to be implemented by specific hardware. have.
  • FIG. 1 is a diagram schematically illustrating a system environment 100 in which an interactive AI agent system may be implemented, in accordance with an embodiment of the present disclosure.
  • the system environment 100 includes a plurality of user terminals 102a-102n, a communication network 104, an interactive AI agent server 106, and an external service server 108.
  • each of the plurality of user terminals 102a-102n may be any user electronic device having a wired or wireless communication function.
  • Each of the user terminals 102a-102n may be a variety of wired or wireless communication terminals, including, for example, smart speakers, music players, game consoles, digital TVs, set-top boxes, smart phones, tablet PCs, desktops, laptops, PDAs, and the like. It should be understood that it is not limited to any particular form.
  • each of the user terminals 102a-102n may communicate with the interactive AI agent server 106, that is, send and receive necessary information, through the communication network 104.
  • each of the user terminals 102a-102n may communicate with the external service server 108, that is, transmit and receive necessary information through the communication network 104.
  • each of the user terminals 102a-102n may receive user input in the form of voice, text, and / or touch from the outside, and may be configured as an interactive AI agent server through the communication network 104 ( 106) and / or operation results corresponding to the above user input (e.g., user authentication, provision of specific conversation responses) obtained through communication with external service server 108 (and / or processing within user terminals 102a-102n). And / or perform a specific task, etc.).
  • performing a task as an operation corresponding to a user input includes searching for information, purchasing an item, writing a message, writing an email, making a phone call, playing a music, taking a picture, searching for a user's location, and a map / navigation service. And various types of tasks, including, but not limited to, performing such tasks.
  • each of the user terminals 102a-102n may have a conversational response as a result of an operation corresponding to a user input in a visual, audio, and / or tactile form (eg, voice, sound, text, video, And images, symbols, emoticons, hyperlinks, animations, various notes, motions, haptic feedback, and the like, but are not limited thereto.
  • a visual, audio, and / or tactile form eg, voice, sound, text, video, And images, symbols, emoticons, hyperlinks, animations, various notes, motions, haptic feedback, and the like, but are not limited thereto.
  • communication network 104 may include any wired or wireless communication network, such as 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, but the present disclosure is not limited thereto.
  • the communication network 104 may include, for example, Ethernet, GSM, Enhanced Data GSM Environment (EDGE), CDMA, TDMA, OFDM, Bluetooth, VoIP, Wi-MAX, Wibro, and any other various wired or wireless. It may be implemented using a communication protocol.
  • EDGE Enhanced Data GSM Environment
  • the interactive AI agent server 106 may communicate with the user terminals 102a-102n via the communication network 104. According to an embodiment of the present disclosure, the interactive AI agent server 106 transmits and receives necessary information with the user terminals 102a-102n through the communication network 104, and thereby receives them on the user terminals 102a-102n. The operation result corresponding to the input user input, that is, the user intent, may be provided to the user.
  • the interactive AI agent server 106 receives user natural language input in the form of voice, text, and / or touch from the user terminals 102a-102n, for example, via the communication network 104.
  • the received natural language input may be processed based on previously prepared models to determine the user's intent.
  • the interactive AI agent server 106 may allow a corresponding operation to be performed based on the user intent determined above.
  • the interactive AI agent server 106 generates a specific control signal such that the user terminals 102a-102n perform a specific task corresponding to the user intent, for example. -102n).
  • the interactive AI agent server 106 is configured to provide an external service via the communication network 104, for example, to allow the user terminals 102a-102n to perform specific tasks that conform to the user intent.
  • the server 108 can be connected.
  • the interactive AI agent server 106 may generate a specific conversation response that corresponds to, for example, a user intent, and send it to the user terminals 102a-102n.
  • the interactive AI agent server 106 generates, based on the user intent determined above, a corresponding conversation response in voice and / or text form, and generates the generated response in a communication network ( Via 104, it may be delivered to the user terminals 102a-102n.
  • the conversation response generated by the interactive AI agent server 106 along with the above-described natural language response in the form of voice and / or text, other visual elements such as images, videos, symbols, emoticons, etc.
  • the same type of response on the interactive AI agent server 106 depending on the type of user input received on the user terminals 102a-102n (eg, voice or text input). May be generated (eg, a voice response is generated if a voice input is given and a text response is generated if a text input is given), but the present disclosure is not so limited.
  • responses in the form of voice and / or text may be generated and provided regardless of the form of user input.
  • the interactive AI agent server 106 may communicate with the external service server 108 via the communication network 104, as mentioned above.
  • the external service server 108 may be, for example, an online consultation center server, an online shopping mall server, an information retrieval server, or the like, and the present disclosure is not limited thereto.
  • a conversation response based on user intent, delivered from the interactive AI agent server 106 to the user terminals 102a-102n, is retrieved and obtained from, for example, the external service server 108. It should be understood that this may include data content.
  • the interactive AI agent server 106 is shown as a separate physical server configured to communicate with the external service server 108 via the communication network 104, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, it should be understood that 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 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, and a response output module ( 212).
  • the user input receiving module 202 may input various types of inputs from a user, for example, natural language inputs such as voice inputs and / or text inputs (and additionally other types of inputs such as touch inputs). ) Can be received.
  • the user input receiving module 202 may include, for example, a microphone and an audio circuit, and may acquire a user voice input signal through the microphone and convert the obtained signal into audio data.
  • the user input receiving module 202 may include various pointing devices such as a mouse, a joystick, a trackball, a keyboard, a touch panel, a touch screen, a stylus, and the like.
  • the user may acquire text input and / or touch input signals input from the user through these input devices.
  • the user input received by the user input receiving module 202 may be associated with performing a predetermined task, for example, executing a predetermined application, or searching for predetermined information, but the present disclosure is limited thereto. It doesn't happen.
  • the user input received by the user input receiving module 202 may require only a simple conversation response regardless of executing a predetermined application or searching for 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 corresponding user terminal 102, The software and / or hardware state or information about the environment state of the user terminal 102 may be obtained.
  • the sensor module 204 may include, for example, an optical sensor, and detect an ambient light state of the corresponding user terminal 102 through the optical sensor.
  • the sensor module 204 may include, for example, a movement sensor, and detect whether the corresponding user terminal 102 is moved through the movement sensor.
  • the sensor module 204 may include, for example, a speed sensor and a GPS sensor, and may detect a position and / or orientation state of the corresponding user terminal 102 through these sensors. According to another embodiment of the present disclosure, it should be appreciated that the sensor module 204 may include other various types of sensors, including temperature sensors, image sensors, pressure sensors, contact sensors, and the like.
  • the program memory module 206 may be any storage medium in which various programs, for example, various application programs and related data, which may be executed on the user terminal 102, are stored.
  • the program memory module 206 includes, for example, a dialing application, an email application, an instant messaging application, a camera application, a music playback application, a video playback application, an image management application, a map application, a browser application, and the like.
  • Various application programs, including, and data associated with the execution of these programs can be stored.
  • the program memory module 206 may be configured to include various types of volatile or nonvolatile memory such as DRAM, SRAM, DDR RAM, ROM, magnetic disk, optical disk, flash memory, and the like. .
  • 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 disclosure, the processing module 208 may drive and execute various application programs on the program memory module 206. According to one embodiment of the present disclosure, the processing module 208 may receive the signals obtained by the user input receiving module 202 and the sensor module 204 and perform appropriate processing on these signals, if necessary. have. According to one embodiment of the present disclosure, the processing module 208 may perform appropriate processing on a signal received from the outside through the communication module 210 if necessary.
  • the communication module 210 is configured such that the user terminal 102 communicates with the interactive AI agent server 106 and / or the external service server 108 via the communication network 104 of FIG. 1.
  • the communication module 212 is configured such that, for example, signals acquired on the user input receiving module 202 and the sensor module 204 may be interactive AI agents through the communication network 104 according to a predetermined protocol. May be sent to server 106 and / or external service server 108.
  • the communication module 210 may, for example, receive various signals, such as voice and / or the like, from the interactive AI agent server 106 and / or the external service server 108 via the communication network 104. Alternatively, a response signal or various control signals including a natural language response in text form may be received, and appropriate processing may be performed according to a predetermined protocol.
  • the response output module 212 may output a response corresponding to a user input in various forms such as visual, auditory, and / or tactile.
  • the response output module 212 includes, for example, a speaker or a headset, and provides an audible response, such as a voice and / or acoustic response, to the user via the speaker or the headset, corresponding to a user input. can do.
  • the response output module 212 includes various display devices such as a touch screen based on technologies such as LCD, LED, OLED, QLED, etc., and responds to user input through these display devices.
  • the response output module 212 may include a motion / haptic feedback generator, thereby providing a tactile response, eg, motion / haptic feedback, to a user.
  • a motion / haptic feedback generator thereby providing a tactile response, eg, motion / haptic feedback, to a user.
  • the response output module 212 can simultaneously provide any two or more combinations of text response, voice response, and motion / haptic feedback corresponding to user input.
  • the interactive agent server 106 includes a communication module 302, a speech-to-text (STT) module 304, a natural language understanding (NLU) module 306. ), Conversation understanding knowledge base 308, user database 310, conversation management module 312, conversation generation module 314, and text-to-speech (TTS) module 316.
  • STT speech-to-text
  • NLU natural language understanding
  • TTS text-to-speech
  • the communication module 302 is configured such that the interactive AI agent server 106 is connected to the user terminal 102 and / or via the communication network 104 according to a predetermined wired or wireless communication protocol. Enable communication with an external service server 108.
  • the communication module 302 includes user input (eg, touch input, voice input and / or text input, etc.) that has been transmitted from the user terminal 102 via the communication network 104. And not limited thereto).
  • the user input may be a request signal of a specific task execution or conversation response.
  • the communication module 302 along with or separately from the above-described user input, of the user terminal 102, which has been transmitted from the user terminal 102, via the communication network 104.
  • Status information can be received.
  • the state information may include, for example, various state information related to the corresponding user terminal 102 at the time of the user input (for example, the physical state of the user terminal 102 and the software of the user terminal 102). And / or hardware status, environmental status information around the user terminal 102, and the like.
  • the communication module 302 may further include a conversation response (eg, voice and / or textual natural language) generated by the interactive AI agent server 106 in response to the received user input. And / or control signals, etc.) and / or control signals may be performed as necessary to communicate to the user terminal 102 via the communication network 104.
  • a conversation response eg, voice and / or textual natural language
  • the STT module 304 may receive a voice input among user inputs received through the communication module 302 and convert the received voice input into text data based on pattern matching or the like. have. According to one embodiment of the present disclosure, the STT module 304 may generate a feature vector sequence by extracting features from a user's voice input. According to an embodiment of the present disclosure, the STT module 304 may include a dynamic time warping (DTW) method, a HMM model (Hidden Markov Model), a GMM model (Gaussian-Mixture Mode), a deep neural network model, an n-gram model, and the like. Based on a variety of statistical models of, a text recognition result, such as a sequence of words, can be generated. According to an embodiment of the present disclosure, the STT module 304 may refer to each user characteristic data of the user database 310 to be described later when converting the received voice input into text data based on pattern matching. .
  • DTW dynamic time warping
  • the NLU module 306 may receive a text input from the communication module 302 or the STT module 304.
  • the text input received at the NLU module 306 is, for example, a user text input or communication module 302 that was received from the user terminal 102 via the communication network 104 at the communication module 302. ) May be a text recognition result generated by the STT module 304 from a user voice input received in the reference numeral).
  • the status information may include, for example, various status information related to the corresponding user terminal 102 at the time of user voice input and / or text input (eg, physical state of the user terminal 102 and software). And / or hardware status, environmental status information around the user terminal 102, and the like.
  • the NLU module 306 may map the received text input to one or more user intents based on the conversation understanding knowledge base 308 described below.
  • the user intent here may be associated with a series of action (s) that can be understood and performed by the interactive AI agent server 106 in accordance with the user intent.
  • the NLU module 306 may refer to the aforementioned state information in mapping the received text input to one or more user intents.
  • the NLU module 306 may reference each user characteristic data of the user database 310 described below in mapping the received text input to one or more user intents.
  • conversation understanding knowledge base 308 may include, for example, a predefined ontology model.
  • the ontology model may be represented, for example, in a hierarchical structure between nodes, each node being a "intent” node or a child linked to an "intent” node corresponding to the user's intent. It may be one of the "property” nodes (child “nodes” nodes that are linked directly to "intent” nodes or relinked to "property” nodes of "intent” nodes).
  • an "intent" node and “attribute” nodes that are directly or indirectly linked to the "intent” node may constitute one domain, and the ontology may consist of a collection of such domains.
  • the conversation understanding knowledge base 308 may be configured to include domains corresponding to all intents, for example, that the interactive AI agent system can understand and perform operations corresponding thereto. Can be.
  • the ontology model may be dynamically changed by adding or deleting nodes, or modifying relationships between nodes.
  • intent nodes and attribute nodes of each domain in the ontology model may be associated with words and / or phrases related to corresponding user intents or attributes, respectively.
  • the dialogue understanding knowledge base 308 comprises an ontology model consisting of nodes in a hierarchy and a set of words and / or phrases associated with each node, for example in the form of a lexical dictionary (specific (Not shown), the NLU module 306 may determine the user intent based on the ontology model implemented in the form of a lexical dictionary.
  • the NLU module 306 may determine which words of which domain in the ontology model are associated with each word in the sequence, Based on such a determination, the corresponding domain, ie user intent, can be determined.
  • the NLU module 306 analyzes the text input based on the ontology model of the lexical dictionary type on the dialogue understanding knowledge base 308 described above, a so-called failure case may occur, in which the proper intent cannot be determined. .
  • the received text input bypasses the desired intent by listing entity information that has nothing to do with the given word or phrase. If you can express it.
  • user input entered on an interactive AI agent server for a customer service center may not indicate an intent of a direct and explicit delivery complaint that "delivery is delayed" ( That is, you don't use the words “delivery”, “late”, etc.), "I ordered something on January 3rd, but it's already February 3rd.”
  • intent of a delivery complaint is indirectly derived from a relationship between them. This indirect representation of intent may occur frequently (but is not limited to this), primarily when there are complaints, and because the word for complaint is not explicitly used, a search of the ontology model in the form of a lexical dictionary can be used. It may be difficult to determine the appropriate intent.
  • the NLU module 306 determines an appropriate intent from an ontology model in the form of a lexical dictionary on the conversation understanding knowledge base 308 and, if a failure case occurs therefrom, follows a predetermined rule. Thus, a plurality of entities present in the input can be analyzed and an appropriate intent can be determined based thereon. According to one embodiment of the present disclosure, assuming, for example, an interactive AI agent server 106 that provides a service related to shopping, the NLU module 306 may, if an entity of the same type appear repeatedly multiple times. Input can be processed by defining rules to map to intents for complaints or return requests.
  • the NLU module 306 analyzes the relationship of a plurality of entities existing in the received input and combines the words having a predetermined meaning present in the input with the result of analyzing the relationship of the entities. You can decide the tent.
  • entity information having the same type but different values appears as a word representing quality such as size, color, performance, price, etc.
  • the input may set a rule to correspond to the intent of the complaint or return request.
  • entity information having different dates appears several times during a received input, and at the same time a word indicating order or delivery is present on the input.
  • such an input may set a rule to correspond to an intent regarding a delivery inquiry or a complaint. For example, "I ordered on January 3rd, but today is February 3rd" or "I bought it on March 3rd when I bought it, but I got it on March 7th".
  • the user database 310 may be a database that stores and manages characteristic data for each user including authentication information for each user.
  • the characteristic data for each user included in the user database 310 may include, for example, a previous conversation / behavior record of the user for each user, pronunciation characteristic information of the user, user vocabulary preferences, and the location of the user. , Settings language, contact / friend list, and various other user specific information.
  • the STT module 304 refers to each user characteristic data of the user database 310, for example, a pronunciation characteristic for each user, when converting a voice input into text data. You can get more accurate text data.
  • the NLU module 306 determines more accurate user intent by referring to each user characteristic data of the user database 310, such as each user's characteristic or context, when determining the user intent. can do.
  • the conversation generating module 316 may refer to user characteristic data of the user database 310 when generating a conversation response.
  • a user database 310 for storing and managing characteristic data for each user is illustrated as being arranged in the interactive AI agent server 106, but the present disclosure is not limited thereto. According to another embodiment of the present disclosure, a user database 310 for storing and managing characteristic data for each user may exist in the user terminal 102, for example, and the user terminal 102 and the interactive AI agent server 106. It should be noted that they may be distributed in
  • the conversation management module 312 may generate a series of operation flows corresponding thereto according to the user intent determined by the NLU module 306. According to one embodiment of the present disclosure, the conversation management module 312 is based on a certain conversation flow management model, for example, in response to a user intent received from the NLU module 306, for example, any conversation response and And / or determine whether to perform a task execution and generate a detailed operational flow accordingly.
  • the conversation generation module 314 may generate a conversation response to be provided to the user based on the conversation flow generated by the conversation management module 312.
  • the conversation generating module 314 may, in the generation of the conversation response, user characteristic data (eg, a previous conversation record of the user, pronunciation characteristic information of the user, and the like) of the user database 310 described above.
  • user characteristic data eg, a previous conversation record of the user, pronunciation characteristic information of the user, and the like
  • the TTS module 316 may receive a conversation response generated to be sent to the user terminal 102 by the conversation generation module 314.
  • the conversation response received at the TTS module 316 may be a natural language or a sequence of words in text form.
  • the TTS module 316 may convert the received text form input into a speech form according to various types of algorithms.
  • the interactive AI agent system allows the client-server model between the user terminal 102 and the interactive AI agent server 106, in particular the client, to provide only user input / output functions.
  • the interactive AI agent system should be aware that the functions may be implemented by being distributed between the user terminal and the server, or alternatively, may be implemented as a standalone application installed on the user terminal. .
  • the interactive AI agent system distributes the functions between the user terminal and the server according to an embodiment of the present disclosure
  • the distribution of each function of the interactive AI agent system between the client and the server may vary from embodiment to embodiment. It should be appreciated that other implementations may be made.
  • FIG. 4 is a flow diagram illustrating an example operational flow for user intent determination performed by an interactive AI agent system for a shopping service, in accordance with an embodiment of the present disclosure.
  • the interactive AI agent system may receive input from a user. Then, at step 404, the interactive AI agent system may determine whether words or phrases defined as corresponding to the predetermined intent are included in the received input. If at step 404 it is determined that such words are included in the input, the procedure proceeds to step 406 and the interactive AI agent system may map the received input to the corresponding intent.
  • step 404 if it is determined that words defined as corresponding to a given intent are not included in the received input, the procedure proceeds to step 408 and the interactive AI agent system receives the received input. In the meantime, it is possible to determine whether there is a word indicating the completion of an order or delivery while the entity information having different values as the entity of the same type indicating the quality appears multiple times. At step 408, if determined to be such, the procedure proceeds to step 410 and the interactive AI agent system may map the received input to an intent of the complaint or return request.
  • step 408 if it is determined during the received input that entity information with different values as an entity of the same type indicating quality does not appear multiple times or a word indicating completion of an order or delivery does not exist, the procedure Proceeds to step 412.
  • step 412 the interactive AI agent system determines whether, among the received inputs, entity information with different dates appears multiple times and at the same time a word indicating order or delivery exists on that input. If determined to proceed, the procedure may proceed to step 414 to map the received input to a delivery inquiry or insolvency intent.
  • step 412 if it is determined that the entity information having different dates during the received input does not appear multiple times or that the words indicating the order or delivery do not exist, the procedure proceeds to step 416, where the interactive The AI agent system may determine that the intent determination for the input fails.
  • a computer program may include a storage medium readable by a computer processor or the like, such as an EPROM, an EEPROM, a nonvolatile memory such as a flash memory device, a magnetic disk such as an internal hard disk and a removable disk, a magneto-optical disk, and It may be implemented in a form stored in various types of storage media, including a CDROM disk.
  • the program code (s) may be implemented in assembly or machine language.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

대화형 AI 에이전트 시스템에 의해 수행되는 자연어 입력의 인텐트 결정 방법이 제공된다. 방법은, 사용자로부터 자연어 입력을 수신하는 단계; 소정의 어휘 사전 모델 상에서 임의의 인텐트에 대응하는 것으로 정의된 단어 또는 구절이 자연어 입력 중에 포함되어 있는지 판정하는 단계; 단어 또는 구절이 자연어 입력 중에 포함되어 있다고 판정된 경우, 자연어 입력을 대응하는 인텐트에 매핑하는 단계; 단어 또는 구절이 자연어 입력 중에 포함되어 있지 않다고 판정된 경우, 자연어 입력으로부터 복수 개의 동일한 유형의 엔티티 정보를 추출하는 단계; 및 추출된 복수 개의 동일한 유형의 엔티티 정보에 기초하여 자연어 입력을 소정의 인텐트에 매핑하는 단계를 포함한다.

Description

복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 AI 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체
본 개시는, 대화형 AI 에이전트 시스템의 대화 이해에 관한 것이며, 보다 구체적으로는 사용자 입력에 포함된 엔티티들 간의 관계에 기초하여 그 사용자 입력의 인텐트가 결정될 수 있는, 대화형 AI 에이전트 시스템에 의하여 수행되는 대화 이해 등에 관한 것이다.
근래, 인공지능 분야, 특히 자연어 이해 분야의 기술 발전에 따라, 전통적인 기계 중심의 명령 입출력 방식에 따른 기계 조작에서 벗어나, 사용자로 하여금, 보다 사람 친화적인 방식, 예컨대 음성 및/또는 텍스트 형태의 자연어를 매개로 한 대화 방식으로 기계를 조작하고 기계로부터 원하는 서비스를 얻을 수 있도록 하는 대화형 AI 에이전트 시스템의 개발 및 활용이 점차 늘어나고 있다. 그에 따라, 온라인 상담 센터나 온라인 쇼핑몰 등을 비롯한 (그러나 이에 한정되지 않은 더 많은) 다양한 분야에서, 사용자는 음성 및/또는 텍스트 형태의 자연어 대화를 통해, 대화형 AI 에이전트 시스템에게 원하는 서비스를 요청하고 그로부터 원하는 결과를 얻고자 하는 경우가 늘고 있다.
이러한 대화형 AI 에이전트 시스템에 있어서, 사용자로부터의 자연어 입력이 있을 때, 그 자연어 입력의 인텐트가 무엇인지, 즉 인텐트를 결정하는 일은 무엇보다도 중요한 과정이라 할 수 있다. 대화형 AI 에이전트 시스템에 의한 인텐트의 결정은, 주로 사용자의 자연어 입력으로부터, 소정의 의미를 갖는 특정 단어들의 존재 여부에 기초하여 이루어진다. 사용자의 자연어 입력 중에 포함될 수 있는 엔티티 정보(예컨대, 사용자의 자연어 입력 중에 포함될 수 있는 변수로서 날짜, 이름, 시간, 전화 번호 등과 같은 특정 속성 및 형식을 갖는 파라미터 정보 등)는, 통상, 인텐트 자체를 파악하는데 주요하게 이용되기 보다는, 그 자연어 입력에 대한 인텐트가 결정된 후, 그 결정된 인텐트에 대한 답을 얻기 위한 파라미터 값으로 이용되는데 그치는 경우가 많다.
그런데, 실제 사람들 간에 발생하는 대화에서는, 소정의 의미를 갖는 특정 단어들을 사용하여 명시적으로 의도하는 바를 나타내기도 하지만, 때에 따라서는 그러한 특정 명시적 의도를 포함하는 단어들을 사용하는 대신에, 그러한 단어들과는 다른 별도의 엔티티 정보들을 나열하여 그 엔티티 정보들 간의 관계에 의해 원하는 인텐트를 우회적으로 표시하는 경우가 있다(예컨대, 고객 상담 센터에서 "배송이 늦어지네요"라는 직접적이고 명시적인 배송 불만의 인텐트 표시를 하는 대신에 "1월3일에 물건을 주문했는데, 오늘이 벌써 2월3일 이네요"라는 식으로 두 개의 날짜 엔티티를 나열하여 그 관계로부터 배송 불만의 인텐트를 간접적으로 나타내는 경우 등).
따라서, 사용자의 자연어 입력을 분석하여 인텐트를 결정함에 있어서, 소정의 의미를 갖는 특정 단어들의 존재 여부에만 기초하는 종래의 방법에 의해서는, 그러한 엔티티 정보들 간의 관계에 의해 간접적으로 드러나는 사용자의 인텐트를 파악하기 어려운 문제가 있다. 그러므로, 엔티티 정보들 간의 관계에 의해 간접적으로 표현되는 사용자의 인텐트 결정을 지원할 수 있는 대화형 AI 에이전트 시스템을 제공할 필요가 있다.
본 개시의 일 특징에 의하면, 대화형 AI 에이전트 시스템에 의해 수행되는 자연어 입력의 인텐트 결정 방법이 제공된다. 본 개시의 방법은, 사용자로부터 자연어 입력을 수신하는 단계; 소정의 어휘 사전 모델 상에서 임의의 인텐트에 대응하는 것으로 정의된 단어 또는 구절이 자연어 입력 중에 포함되어 있는지 판정하는 단계; 단어 또는 구절이 자연어 입력 중에 포함되어 있다고 판정된 경우, 자연어 입력을 대응하는 인텐트에 매핑하는 단계; 단어 또는 구절이 자연어 입력 중에 포함되어 있지 않다고 판정된 경우, 자연어 입력으로부터 복수 개의 동일한 유형의 엔티티 정보를 추출하는 단계; 및 추출된 복수 개의 동일한 유형의 엔티티 정보에 기초하여 자연어 입력을 소정의 인텐트에 매핑하는 단계를 포함한다.
본 개시의 일 실시예에 의하면, 자연어 입력을 소정의 인텐트에 매핑하는 단계는, 추출된 복수 개의 동일한 유형의 엔티티 정보와, 자연어 입력 중에 존재하는 소정의 의미를 갖는 단어의 조합에 기초하여, 자연어 입력을 소정의 인텐트에 매핑하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 시스템은 쇼핑에 관한 서비스를 제공하도록 구성되고, 자연어 입력을 소정의 인텐트에 매핑하는 단계는, 추출된 복수 개의 동일한 유형의 엔티티 정보가, 각각 품질에 관련된 동일한 유형의 엔티티로서 각기 다른 값을 갖는지, 그리고 자연어 입력 중에 주문 또는 배송의 완료를 나타내는 단어가 존재하는지 여부를 판정하는 단계; 및 판정 결과에 기초하여, 자연어 입력을 불만 또는 반품 요청의 인텐트로 매핑하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 추출된 복수 개의 동일한 유형의 엔티티 정보가 각각 품질에 관련된 동일한 유형의 엔티티인지는, 추출된 복수 개의 동일한 유형의 엔티티 정보가, 크기, 색깔, 성능, 및 가격 중 하나에 공통적으로 관련된 엔티티인지 여부에 따라 정해질 수 있다.
본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 시스템은 쇼핑에 관한 서비스를 제공하도록 구성되고, 자연어 입력을 소정의 인텐트에 매핑하는 단계는, 추출된 복수 개의 엔티티 정보가, 각기 다른 날짜를 나타내는 엔티티 정보와 자연어 입력 중에 주문 또는 배송에 연관된 단어가 존재하는지 여부를 판정하는 단계; 및 판정 결과에 기초하여, 자연어 입력을 배송 문의 또는 배송 불만의 인텐트로 매핑하는 단계를 포함할 수 있다.
본 개시의 다른 특징에 의하면, 하나 이상의 명령어를 포함하는 컴퓨터 판독 가능 기록 매체로서, 하나 이상의 명령어는, 컴퓨터에 위해 실행되는 경우, 컴퓨터로 하여금, 전술한 방법들 중 어느 하나의 방법을 수행하게 하는, 컴퓨터 판독 가능 기록 매체가 제공된다.
본 개시의 또 다른 특징에 의하면, 자연어 이해를 제공하는 대화형 AI 에이전트 시스템으로서, 사용자로부터 자연어 입력을 수신하도록 구성된 사용자 입력 수신 모듈; 어휘 사전 형태의 지식베이스 모델; 및 자연어 이해 모듈을 포함하는 대화형 AI 에이전트 시스템이 제공된다. 본 개시의 자연어 이해 모듈은, 지식베이스 모델 상에서 임의의 인텐트에 대응하는 것으로 정의된 단어 또는 구절이 자연어 입력 중에 포함되어 있는지 판정하고, 단어 또는 구절이 자연어 입력 중에 포함되어 있다고 판정된 경우, 자연어 입력을 대응하는 인텐트에 매핑하며, 단어 또는 구절이 자연어 입력 중에 포함되어 있지 않다고 판정된 경우, 자연어 입력으로부터 복수 개의 엔티티 정보를 추출하고, 추출된 복수 개의 동일한 유형의 엔티티 정보에 기초하여 자연어 입력을 소정의 인텐트에 매핑하도록 구성된다.
본 개시에 따른 대화형 AI 에이전트 시스템은, 사용자 입력 상에 소정의 의미를 갖는 특정 단어들의 존재 여부에 기초하여 인텐트를 결정하는 것에 실패한 경우에도, 해당 사용자 입력 상의 엔티티 정보들에 기초하여 그로부터 간접적으로 표현된 사용자의 인텐트를 결정할 수 있다.
도 1은, 본 개시의 일 실시예에 따라, 대화형 AI 에이전트 시스템이 구현될 수 있는 시스템 환경을 개략적으로 도시한 도면이다.
도 2는, 본 개시의 일 실시예에 따른, 도 1의 사용자 단말(102)의 기능적 구성을 개략적으로 도시한 기능 블록도이다.
도 3은, 본 개시의 일 실시예에 따른, 도 1의 대화형 AI 에이전트 서버(106)의 기능적 구성을 개략적으로 도시한 기능 블록도이다.
도 4는, 본 개시의 일 실시예에 따른, 쇼핑 서비스를 위한 대화형 AI 에이전트 시스템에 의해 수행되는, 사용자 인텐트 결정을 위한 예시적 동작 흐름을 보여주는 흐름도이다.
이하, 첨부 도면을 참조하여 본 개시의 실시예에 관하여 상세히 설명한다. 이하에서는, 본 개시의 요지를 불필요하게 흐릴 우려가 있다고 판단되는 경우, 이미 공지된 기능 및 구성에 관한 구체적인 설명을 생략한다. 또한, 이하에서 설명하는 내용은 어디까지나 본 개시의 실시예에 관한 것일 뿐 본 개시가 이로써 제한되는 것은 아님을 알아야 한다.
본 개시에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 개시를 한정하려는 의도에서 사용된 것이 아니다. 예를 들면, 단수로 표현된 구성요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성요소를 포함하는 개념으로 이해되어야 한다. 본 개시에서 사용되는 "및/또는"이라는 용어는, 열거되는 항목들 중 하나 이상의 항목에 의한 임의의 가능한 모든 조합들을 포괄하는 것임이 이해되어야 한다. 본 개시에서 사용되는 '포함하다' 또는 '가지다' 등의 용어는 본 개시 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하려는 것은 아니다.
본 개시의 실시예에 있어서 '모듈' 또는 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 또는 '부'는, 특정한 하드웨어로 구현될 필요가 있는 '모듈' 또는 '부'를 제외하고는, 적어도 하나의 소프트웨어 모듈로 일체화되어 적어도 하나의 프로세서에 의해 구현될 수 있다.
덧붙여, 달리 정의되지 않는 한 기술적 또는 과학적인 용어를 포함하여, 본 개시에서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의된 용어들은, 관련 기술의 문맥상 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명백하게 달리 정의하지 않는 한 과도하게 제한 또는 확장하여 해석되지 않는다는 점을 알아야 한다.
이하, 첨부된 도면을 참조하여, 본 개시의 실시예에 대해 구체적으로 설명하기로 한다.
도 1은, 본 개시의 일 실시예에 따라, 대화형 AI 에이전트 시스템이 구현될 수 있는 시스템 환경(100)을 개략적으로 도시한 도면이다. 도시된 바에 의하면, 시스템 환경(100)은, 복수의 사용자 단말(102a-102n), 통신망(104), 대화형 AI 에이전트 서버(106), 및 외부 서비스 서버(108)를 포함한다.
본 개시의 일 실시예에 의하면, 복수의 사용자 단말(102a-102n) 각각은 유선 또는 무선 통신 기능을 구비한 임의의 사용자 전자 장치일 수 있다. 사용자 단말(102a-102n) 각각은, 예컨대 스마트 스피커, 뮤직 플레이어, 게임 콘솔, 디지털 TV, 셋탑박스, 스마트 폰, 태블릿 PC, 데스크탑, 랩탑, PDA 등을 포함한 다양한 유선 또는 무선 통신 단말일 수 있으며, 특정 형태로 제한되지 않음을 알아야 한다. 본 개시의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 통신망(104)을 통해서, 대화형 AI 에이전트 서버(106)와 통신, 즉 필요한 정보를 송수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 통신망(104)을 통해서, 외부 서비스 서버(108)와 통신, 즉 필요한 정보를 송수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 외부로부터 음성, 텍스트 및/또는 터치 형태의 사용자 입력을 수신할 수 있고, 통신망(104)을 통한 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)와의 통신(및/또는 사용자 단말(102a-102n) 내 처리)을 통해 얻어진, 위 사용자 입력에 대응한 동작 결과(예컨대, 사용자 인증, 특정 대화 응답의 제공 및/또는 특정 태스크의 수행 등)를 사용자에게 제공할 수 있다.
본 개시의 실시예에 있어서, 사용자 입력에 대응한 동작으로서의 태스크 수행은, 예컨대 정보의 검색, 물품 구매, 메시지 작성, 이메일 작성, 전화 걸기, 음악 재생, 사진 촬영, 사용자 위치 탐색, 지도/내비게이션 서비스 등을 비롯한 각종 다양한 형태의 태스크(그러나 이로써 제한되는 것은 아님) 수행을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(102a-102n) 각각은, 사용자 입력에 대응한 동작 결과로서의 대화 응답을, 시각, 청각 및/또는 촉각 형태(예컨대, 음성, 음향, 텍스트, 비디오, 이미지, 기호, 이모티콘, 하이퍼링크, 애니메이션, 각종 노티스, 모션, 햅틱 피드백 등을 포함할 수 있으며, 이로써 제한되는 것은 아님) 등 다양한 형태로써 사용자에게 제공할 수 있다.
본 개시의 일 실시예에 의하면, 통신망(104)은, 임의의 유선 또는 무선 통신망, 예컨대 TCP/IP 통신망을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 통신망(104)은, 예컨대 Wi-Fi망, LAN망, WAN망, 인터넷망 등을 포함할 수 있으며, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 일 실시예에 의하면, 통신망(104)은, 예컨대 이더넷, GSM, EDGE(Enhanced Data GSM Environment), CDMA, TDMA, OFDM, 블루투스, VoIP, Wi-MAX, Wibro 기타 임의의 다양한 유선 또는 무선 통신 프로토콜을 이용하여 구현될 수 있다.
본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 통신망(104)을 통해 사용자 단말(102a-102n)과 통신할 수 있다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 통신망(104)을 통해 사용자 단말(102a-102n)과 필요한 정보를 송수신하고, 이를 통해 사용자 단말(102a-102n) 상에서 수신된 사용자 입력에 대응한, 즉 사용자 인텐트에 부합하는 동작 결과가, 사용자에게 제공되도록 동작할 수 있다.
본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 통신망(104)을 통해 사용자 단말(102a-102n)로부터 음성, 텍스트, 및/또는 터치 형태의 사용자 자연어 입력을 수신하고, 미리 준비된 모델들에 기초해서 그 수신된 자연어 입력을 처리하여 사용자의 인텐트(intent)를 결정할 수 있다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 위 결정된 사용자 인텐트에 기초하여 대응하는 동작이 수행되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 사용자 단말(102a-102n)이 사용자 인텐트에 부합하는 특정한 태스크를 수행하도록 특정한 제어 신호를 생성하여 해당 사용자 단말(102a-102n)로 전송할 수 있다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 사용자 단말(102a-102n)이 사용자 인텐트에 부합하는 특정한 태스크를 수행하게 하기 위하여, 통신망(104)을 통해 외부 서비스 서버(108)에 접속할 수 있다.
본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 사용자 인텐트에 부합하는 특정한 대화 응답을 생성하여 사용자 단말(102a-102n)로 전송할 수 있다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 위 결정된 사용자 인텐트에 기초하여, 대응하는 대화 응답을 음성 및/또는 텍스트 형태로써 생성하고, 생성된 응답을, 통신망(104)을 통해, 사용자 단말(102a-102n)로 전달할 수 있다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)에 의해 생성되는 대화 응답은, 전술한 음성 및/또는 텍스트 형태의 자연어 응답과 함께, 이미지, 비디오, 기호, 이모티콘 등 다른 시각적 요소들이나, 음향 등의 다른 청각적 요소들이나, 기타 다른 촉각적 요소들을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(102a-102n) 상에서 수신된 사용자 입력의 형태(예컨대, 음성 입력인지 아니면 텍스트 입력인지)에 따라, 대화형 AI 에이전트 서버(106) 상에서 동일한 형태의 응답이 생성될 수 있으며(예컨대, 음성 입력이 주어진 경우에는 음성 응답이 생성되고 텍스트 입력이 주어진 경우에는 텍스트 응답이 생성됨), 다만 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 사용자 입력의 형태와 무관하게 음성 및/또는 텍스트 형태의 응답이 생성 및 제공될 수 있음을 알아야 한다.
본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 앞서 언급한 바와 같이, 통신망(104)을 통해서 외부 서비스 서버(108)와 통신할 수 있다. 외부 서비스 서버(108)는, 예컨대 온라인 상담 센터 서버, 온라인 쇼핑몰 서버, 정보 검색 서버 등일 수 있으며, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 일 실시예에 의하면, 대화형 AI 에이전트 서버(106)로부터 사용자 단말(102a-102n)로 전달되는, 사용자 인텐트에 기초한 대화 응답은, 예컨대 외부 서비스 서버(108)로부터 검색 및 획득된 데이터 콘텐츠를 포함한 것일 수 있음을 알아야 한다.
본 도면에서는, 대화형 AI 에이전트 서버(106)가 외부 서비스 서버(108)와 통신망(104)을 통해 통신 가능하게 구성된 별도의 물리 서버인 것으로 도시되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 대화형 AI 에이전트 서버(106)는, 예컨대 온라인 상담 센터 서버 또는 온라인 쇼핑몰 서버 등 각종 서비스 서버의 일부로 포함되어 구성될 수도 있음을 알아야 한다.
도 2는, 본 개시의 일 실시예에 따른, 도 1에 도시된 사용자 단말(102)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 사용자 단말(102)은, 사용자 입력 수신 모듈(202), 센서 모듈(204), 프로그램 메모리 모듈(206), 프로세싱 모듈(208), 통신 모듈(210), 및 응답 출력 모듈(212)을 포함한다.
본 개시의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)은, 사용자로부터 다양한 형태의 입력, 예컨대 음성 입력 및/또는 텍스트 입력 등의 자연어 입력(및 부가적으로 터치 입력 등의 다른 형태의 입력)을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)은, 예컨대 마이크로폰 및 오디오 회로를 포함하며, 마이크로폰을 통해 사용자 음성 입력 신호를 획득하고 획득된 신호를 오디오 데이터로 변환할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)은, 예컨대 마우스, 조이스틱, 트랙볼 등의 각종 포인팅 장치, 키보드, 터치패널, 터치스크린, 스타일러스 등 다양한 형태의 입력 장치를 포함할 수 있고, 이들 입력 장치를 통해 사용자로부터 입력된 텍스트 입력 및/또는 터치 입력 신호를 획득할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 입력 수신 모듈(202)에서 수신되는 사용자 입력은, 소정의 태스크 수행, 예컨대 소정의 애플리케이션 실행, 또는 소정 정보의 검색 등과 연관될 수 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 사용자 입력 수신 모듈(202)에서 수신되는 사용자 입력은, 소정의 애플리케이션 실행, 또는 정보의 검색 등과는 무관하게 단순한 대화 응답 만을 필요로 하는 것일 수도 있다. 본 개시의 다른 실시예에 의하면, 사용자 입력 수신 모듈(202)에서 수신되는 사용자 입력은, 일방적 의사 전달을 위한 단순 진술에 관한 것일 수도 있다.
본 개시의 일 실시예에 의하면, 센서 모듈(204)은 하나 이상의 서로 다른 유형의 센서를 포함하고, 이들 센서를 통해 사용자 단말(102)의 상태 정보, 예컨대 해당 사용자 단말(102)의 물리적 상태, 소프트웨어 및/또는 하드웨어 상태, 또는 사용자 단말(102)의 주위 환경 상태에 관한 정보 등을 획득할 수 있다. 본 개시의 일 실시예에 의하면, 센서 모듈(204)은, 예컨대 광 센서를 포함하고, 광 센서를 통해 해당 사용자 단말(102)의 주변 광 상태를 감지할 수 있다. 본 개시의 일 실시예에 의하면, 센서 모듈(204)은, 예컨대 이동 센서를 포함하고, 이동 센서를 통해 해당 사용자 단말(102)의 이동 상태 여부를 감지할 수 있다. 본 개시의 일 실시예에 의하면, 센서 모듈(204)은, 예컨대 속도 센서 및 GPS 센서를 포함하고, 이들 센서를 통해 해당 사용자 단말(102)의 위치 및/또는 배향 상태를 감지할 수 있다. 본 개시의 다른 실시예에 의하면, 센서 모듈(204)은 온도 센서, 이미지 센서, 압력 센서, 접촉 센서 등을 비롯한 다른 다양한 형태의 센서를 포함할 수 있음을 알아야 한다.
본 개시의 일 실시예에 의하면, 프로그램 메모리 모듈(206)은, 사용자 단말(102) 상에서 실행될 수 있는 각종 프로그램, 예컨대 각종 애플리케이션 프로그램 및 관련 데이터 등이 저장된 임의의 저장 매체일 수 있다. 본 개시의 일 실시예에 의하면, 프로그램 메모리 모듈(206)에는, 예컨대 전화 걸기 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 카메라 애플리케이션, 음악 재생 애플리케이션, 비디오 재생 애플리케이션, 이미지 관리 애플리케이션, 지도 애플리케이션, 브라우저 애플리케이션 등을 비롯한 다양한 애플리케이션 프로그램들과 이들 프로그램의 실행과 관련된 데이터들이 저장될 수 있다. 본 개시의 일 실시예에 의하면, 프로그램 메모리 모듈(206)은, DRAM, SRAM, DDR RAM, ROM, 자기 디스크, 광 디스크, 플래시 메모리 등 다양한 형태의 휘발성 또는 비휘발성 메모리를 포함하도록 구성될 수 있다.
본 개시의 일 실시예에 의하면, 프로세싱 모듈(208)은, 사용자 단말(102)의 각 컴포넌트 모듈과 통신하고 사용자 단말(102) 상에서 각종 연산을 수행할 수 있다. 본 개시의 일 실시예에 의하면, 프로세싱 모듈(208)은, 프로그램 메모리 모듈(206) 상의 각종 애플리케이션 프로그램을 구동 및 실행시킬 수 있다. 본 개시의 일 실시예에 의하면, 프로세싱 모듈(208)은, 필요한 경우, 사용자 입력 수신 모듈(202) 및 센서 모듈(204)에서 획득된 신호를 수신하고, 이들 신호에 관한 적절한 처리를 수행할 수 있다. 본 개시의 일 실시예에 의하면, 프로세싱 모듈(208)은, 필요한 경우, 통신 모듈(210)을 통해 외부로부터 수신되는 신호에 대해 적절한 처리를 수행할 수 있다.
본 개시의 일 실시예에 의하면, 통신 모듈(210)은, 사용자 단말(102)이 도 1의 통신망(104)을 통하여, 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)와 통신할 수 있게 한다. 본 개시의 일 실시예에 의하면, 통신 모듈(212)은, 예컨대 사용자 입력 수신 모듈(202) 및 센서 모듈(204) 상에서 획득된 신호가 소정의 프로토콜에 따라 통신망(104)을 통하여 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)로 전송되도록 할 수 있다. 본 개시의 일 실시예에 의하면, 통신 모듈(210)은, 예컨대 통신망(104)을 통하여 대화형 AI 에이전트 서버(106) 및/또는 외부 서비스 서버(108)로부터 수신된 각종 신호, 예컨대 음성 및/또는 텍스트 형태의 자연어 응답을 포함한 응답 신호 또는 각종 제어 신호 등을 수신하고, 소정의 프로토콜에 따라 적절한 처리를 수행할 수 있다.
본 개시의 일 실시예에 의하면, 응답 출력 모듈(212)은, 사용자 입력에 대응하는 응답을 시각, 청각 및/또는 촉각 등 다양한 형태로써 출력할 수 있다. 본 개시의 일 실시예에 의하면, 응답 출력 모듈(212)은, 예컨대 스피커 또는 헤드셋을 포함하고, 사용자 입력에 대응하는 청각적 응답, 예컨대 음성 및/또는 음향 응답을 스피커 또는 헤드셋을 통해 사용자에게 제공할 수 있다. 본 개시의 일 실시예에 의하면, 응답 출력 모듈(212)은, 예컨대 LCD, LED, OLED, QLED 등의 기술에 기초한 터치 스크린 등의 각종 디스플레이 장치를 포함하고, 이들 디스플레이 장치를 통해 사용자 입력에 대응하는 시각적 응답, 예컨대 텍스트, 기호, 비디오, 이미지, 하이퍼링크, 애니메이션, 각종 노티스 등을 사용자에게 제시할 수 있다. 본 개시의 일 실시예에 의하면, 응답 출력 모듈(212)는 모션/햅틱 피드백 생성부를 포함하고, 이를 통해 촉각적 응답, 예컨대 모션/햅틱 피드백을 사용자에게 제공할 수 있다. 본 개시의 일 실시예에 의하면, 응답 출력 모듈(212)은, 사용자 입력에 대응하는 텍스트 응답, 음성 응답 및 모션/햅틱 피드백 중 임의의 두 개이상의 조합을 동시에 제공할 수 있음을 알아야 한다.
도 3은, 본 개시의 일 실시예에 따른, 도 1의 대화형 AI 에이전트 서버(106)의 기능적 구성을 개략적으로 도시한 기능 블록도이다. 도시된 바에 의하면, 대화형 에이전트 서버(106)는, 통신 모듈(302), 음성-텍스트 변환(Speech-To-Text; STT) 모듈(304), 자연어 이해(Natural Language Understanding; NLU) 모듈(306), 대화 이해 지식베이스(308), 사용자 데이터베이스(310), 대화 관리 모듈(312), 대화 생성 모듈(314), 및 음성 합성(Text-To-Speech; TTS) 모듈(316)을 포함한다.
본 개시의 일 실시예에 의하면, 통신 모듈(302)은, 소정의 유선 또는 무선 통신 프로토콜에 따라, 통신망(104)을 통하여, 대화형 AI 에이전트 서버(106)가 사용자 단말(102) 및/또는 외부 서비스 서버(108)와 통신할 수 있게 한다. 본 개시의 일 실시예에 의하면, 통신 모듈(302)은, 통신망(104)을 통해, 사용자 단말(102)로부터 전송되어 온, 사용자 입력(예컨대 터치 입력, 음성 입력 및/또는 텍스트 입력 등을 포함하며, 이로써 제한되지 않음)을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 입력은 특정한 태스크 실행 또는 대화 응답의 요청 신호일 수 있다.
본 개시의 일 실시예에 의하면, 통신 모듈(302)은, 전술한 사용자 입력과 함께 또는 그와 별도로, 통신망(104)을 통해, 사용자 단말(102)로부터 전송되어 온, 사용자 단말(102)의 상태 정보를 수신할 수 있다. 본 개시의 일 실시예에 의하면, 상태 정보는, 예컨대 전술한 사용자 입력 당시의 해당 사용자 단말(102)에 관련된 여러가지 상태 정보(예컨대, 사용자 단말(102)의 물리적 상태, 사용자 단말(102)의 소프트웨어 및/또는 하드웨어 상태, 사용자 단말(102) 주위의 환경 상태 정보 등)일 수 있다. 본 개시의 일 실시예에 의하면, 통신 모듈(302)은, 또한, 위 수신된 사용자 입력에 대응하여 대화형 AI 에이전트 서버(106)에서 생성된 대화 응답(예컨대, 음성 및/또는 텍스트 형태의 자연어 대화 응답 등) 및/또는 제어 신호를, 통신망(104)을 통해, 사용자 단말(102)로 전달하기 위해 필요한 적절한 조치를 수행할 수 있다.
본 개시의 일 실시예에 의하면, STT 모듈(304)은, 통신 모듈(302)을 통해 수신된 사용자 입력 중 음성 입력을 수신하고, 수신된 음성 입력을 패턴 매칭 등에 기초하여 텍스트 데이터로 변환할 수 있다. 본 개시의 일 실시예에 의하면, STT 모듈(304)은, 사용자의 음성 입력으로부터 특징을 추출하여 특징 벡터열을 생성할 수 있다. 본 개시의 일 실시예에 의하면, STT 모듈(304)은, DTW(Dynamic Time Warping) 방식이나 HMM 모델(Hidden Markov Model), GMM 모델(Gaussian-Mixture Mode), 딥 신경망 모델, n-gram 모델 등의 다양한 통계적 모델에 기초하여, 텍스트 인식 결과, 예컨대 단어들의 시퀀스를 생성할 수 있다. 본 개시의 일 실시예에 의하면, STT 모듈(304)은, 수신된 음성 입력을 패턴 매칭에 기초하여 텍스트 데이터로 변환할 때, 후술하는 사용자 데이터베이스(310)의 각 사용자 특징적 데이터를 참조할 수 있다.
본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 통신 모듈(302) 또는 STT 모듈(304)로부터 텍스트 입력을 수신할 수 있다. 본 개시의 일 실시예에 의하면, NLU 모듈(306)에서 수신되는 텍스트 입력은, 예컨대 통신 모듈(302)에서 통신망(104)을 통하여 사용자 단말(102)로부터 수신되었던 사용자 텍스트 입력 또는 통신 모듈(302)에서 수신된 사용자 음성 입력으로부터 STT 모듈(304)에서 생성된 텍스트 인식 결과, 예컨대 단어들의 시퀀스일 수 있다. 본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 텍스트 입력을 수신하는 것과 함께 또는 그 이후에, 해당 사용자 입력과 연관된 상태 정보, 예컨대 해당 사용자 입력 당시의 사용자 단말(102)의 상태 정보 등을 수신할 수 있다. 전술한 바와 같이, 상태 정보는, 예컨대 사용자 단말(102)에서 사용자 음성 입력 및/또는 텍스트 입력 당시의 해당 사용자 단말(102)에 관련된 여러가지 상태 정보(예컨대, 사용자 단말(102)의 물리적 상태, 소프트웨어 및/또는 하드웨어 상태, 사용자 단말(102) 주위의 환경 상태 정보 등)일 수 있다.
본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 후술하는 대화 이해 지식베이스(308)에 기초하여, 위 수신된 텍스트 입력을 하나 이상의 사용자 인텐트(intent)에 대응시킬 수 있다. 여기서 사용자 인텐트는, 그 사용자 인텐트에 따라 대화형 AI 에이전트 서버(106)에 의해 이해되고 수행될 수 있는 일련의 동작(들)과 연관될 수 있다. 본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 수신된 텍스트 입력을 하나 이상의 사용자 인텐트에 대응시킴에 있어서 전술한 상태 정보를 참조할 수 있다. 본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 수신된 텍스트 입력을 하나 이상의 사용자 인텐트에 대응시킴에 있어서 후술하는 사용자 데이터베이스(310)의 각 사용자 특징적 데이터를 참조할 수 있다.
본 개시의 일 실시예에 의하면, 대화 이해 지식베이스(308)는, 예컨대 미리 정의된 온톨로지 모델을 포함할 수 있다. 본 개시의 일 실시예에 의하면, 온톨로지 모델은, 예컨대 노드들 간의 계층 구조로 표현될 수 있는데, 각 노드는 사용자의 인텐트에 대응한 "인텐트" 노드 또는 "인텐트" 노드에 링크된 하위 "속성" 노드("인텐트" 노드에 직접 링크되거나 "인텐트" 노드의 "속성" 노드에 다시 링크된 하위 "속성" 노드) 중 하나일 수 있다. 본 개시의 일 실시예에 의하면, "인텐트" 노드와 그 "인텐트" 노드에 직접 또는 간접 링크된 "속성" 노드들은 하나의 도메인을 구성할 수 있고, 온톨로지는 이러한 도메인들의 집합으로 구성될 수 있다. 본 개시의 일 실시예에 의하면, 대화 이해 지식베이스(308)는, 예컨대 대화형 AI 에이전트 시스템이 이해하고 그에 대응한 동작을 수행할 수 있는 모든 인텐트들에 각각 대응하는 도메인들을 포함하도록 구성될 수 있다. 본 개시의 일 실시예에 의하면, 온톨로지 모델은, 노드의 추가나 삭제, 또는 노드 간의 관계의 수정 등에 의해 동적으로 변경될 수 있음을 알아야 한다.
본 개시의 일 실시예에 의하면, 온톨로지 모델 내의 각 도메인의 인텐트 노드 및 속성 노드들은, 그에 대응하는 사용자 인텐트 또는 속성들에 관련된 단어들 및/또는 구절들과 각각 연관될 수 있다. 본 개시의 일 실시예에 의하면, 대화 이해 지식베이스(308)은, 온톨로지 모델을, 계층 구조의 노드들과, 각 노드 별로 연관된 단어들 및/또는 구절들의 집합으로 구성된, 예컨대 어휘 사전 형태(구체적으로 도시되지 않음)로 구현할 수 있고, NLU 모듈(306)은 이와 같이 어휘 사전 형태로 구현된 온톨로지 모델에 기초하여 사용자 인텐트를 결정할 수 있다. 예컨대, 본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 텍스트 입력 또는 단어들의 시퀀스를 수신하면, 그 시퀀스 내의 각 단어들이 온톨로지 모델 내의 어떤 도메인의 어떤 노드들에 연관되는지 결정할 수 있고, 그러한 결정에 기초하여 대응하는 도메인, 즉 사용자 인텐트를 결정할 수 있다.
그런데, NLU 모듈(306)이, 전술한 대화 이해 지식베이스(308) 상의 어휘 사전 형태의 온톨로지 모델에 기초하여 텍스트 입력을 분석하는 경우, 적절한 인텐트를 결정하지 못하는, 이른바 실패케이스가 발생할 수 있다. 예컨대, 수신된 텍스트 입력이, 특정한 인텐트에 매핑되는 것으로 정의된 소정의 단어 또는 구절을 포함하는 대신에, 그러한 소정의 단어 또는 구절과는 전혀 무관한 엔티티 정보들을 나열함으로써 원하는 인텐트를 우회적으로 표현하는 경우 등을 생각해볼 수 있다. 앞서 언급한 바와 같이, 예를 들어, 고객 상담 센터를 위한 대화형 AI 에이전트 서버 상에 입력된 사용자 입력이, "배송이 늦어지네요"라는 직접적이고 명시적인 배송 불만의 인텐트 표시를 하는 대신에(즉, "배송", "늦어" 등의 단어를 사용하지 않음), "1월3일에 물건을 주문했는데, 오늘이 벌써 2월3일 이네요"라는 식으로 두 개의 날짜 엔티티를 나열하여 그 엔티티들 간의 관계로부터 배송 불만의 인텐트를 간접적으로 나타내는 경우가 있을 수 있다. 이러한 간접적인 인텐트 표현은 주로 불만이 있을 때 자주 나타날 수 있는데(그러나 이로써 제한되는 것은 아님), 불만을 나타내는 단어가 명시적으로 사용되지 않았기 때문에 어휘 사전 형태의 온톨로지 모델의 검색을 통해서는 사용자의 적절한 인텐트를 결정하기 곤란할 수 있다.
본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 대화 이해 지식베이스(308) 상의 어휘 사전 형태의 온톨로지 모델로부터 적절한 인텐트를 결정하고, 그로부터 실패케이스가 발생하는 경우, 소정의 규칙에 따라, 그 입력에 존재하는 복수의 엔티티들을 분석하고 그에 기초하여 적절한 인텐트를 결정할 수 있다. 본 개시의 일 실시예에 의하면, 예컨대 쇼핑과 관련한 서비스를 제공하는 대화형 AI 에이전트 서버(106)를 가정할 경우, NLU 모듈(306)은, 같은 유형의 엔티티가 복수 회 반복하여 나타나는 경우, 그러한 입력은 불만 접수 또는 반품요청에 관한 인텐트로 매핑하도록 규칙을 정하여 처리할 수 있다.
본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 수신된 입력 중에 존재하는 복수의 엔티티들의 관계를 분석한 결과와 함께 해당 입력 중에 존재하는 소정의 의미를 갖는 단어를 조합함으로써 사용자의 인텐트를 결정할 수 있다. 본 개시의 일 실시예에 의하면, 예컨대 쇼핑과 관련한 경우, 수신된 입력 중에, 크기, 색깔, 성능, 가격 등 품질을 나타내는 단어로서 같은 유형이되 다른 값을 갖는 엔티티 정보가 복수 회 나타나는 한편, 그와 동시에 해당 입력 상에 주문이나 배송의 완료를 나타내는 단어가 존재하는 경우, 그러한 입력은 불만이나 반품 요청의 인텐트에 대응하도록 규칙을 정할 수 있다. 예컨대, "보통은 제가 신발을 260mm을 신는데, 이 브랜드는 270mm을 주문했어야 하나 봐요", "여기는 12,000원 냈는데 다른 곳은 10,000원인던데요.", "다른 곳은 배송비 무료인데, 여기는 2,000원이나 냈네요", "속도가 100Mbps라고 해서 샀는데 50Mbps도 안 나오는 것 같아요", "빨간색 주문했는데 파란색이 왔네요" 등의 문장 등에서 보이듯, "260mm"과 "270mm", "12,000원"과 "10,000원", "무료"와 "2,000원", "100Mbps"와 "50Mbps", "빨간색"과 "파란색" 등의 동일한 유형의 엔티티(예컨대 같은 단위를 사용하는 단어)이면서 값이 다른 엔티티가 복수 회 나타나는 한편, "주문했어야", "냈는데", "냈네요", "샀는데", "주문했는데"와 "왔네요" 등과 같은 주문이나 배송의 완료를 나타내는 단어가 존재하는 경우, 이러한 문장들은 불만이나 반품 요청의 인텐트를 암시적으로 나타낸 것임을 알 수 있다.
본 개시의 일 실시예에 의하면, 예컨대 쇼핑과 관련한 경우, 수신된 입력 중에, 각기 다른 날짜를 나타내는 갖는 엔티티 정보가 복수 회 나타나는 한편, 그와 동시에 해당 입력 상에 주문이나 배송을 나타내는 단어가 존재하는 경우, 그러한 입력은 배송문의 또는 배송불만 등에 관한 인텐트에 대응하도록 규칙을 정할 수 있다. 예컨대, "1월3일에 주문했는데, 오늘이 2월3일이네요"나 "살 때 3월3일에 꼭 필요하다고 말했는데, 3월7일에야 받았어요" 등의 문장 등에서 보이듯, "1월3일"과 "2월3일, "3월3일"과 "3월7일"과 같이 복수의 각기 다른 날짜가 나타나는 한편 "주문", "살 때", "받았어요" 등과 같은 주문이나 배송의 완료를 나타내는 단어가 존재하는 경우, 이러한 문장들은 배송문의나 배송불만의 인텐트를 암시적으로 나타낸 것임을 알 수 있다.
본 개시의 일 실시예에 의하면, 사용자 데이터베이스(310)는, 각 사용자별 인증 정보를 포함한 각 사용자별 특징적 데이터를 저장 및 관리하는 데이터베이스일 수 있다. 본 개시의 일 실시예에 의하면, 사용자 데이터베이스(310)에 포함되는 각 사용자별 특징적 데이터는, 예컨대 각 사용자별로 해당 사용자의 이전 대화/거동 기록, 사용자의 발음 특징 정보, 사용자 어휘 선호도, 사용자의 소재지, 설정 언어, 연락처/친구 목록, 기타 다양한 사용자 특징적 정보를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 전술한 바와 같이, STT 모듈(304)은, 음성 입력을 텍스트 데이터로 변환할 때 사용자 데이터베이스(310)의 각 사용자 특징적 데이터, 예컨대 각 사용자별 발음 특징을 참조함으로써, 보다 정확한 텍스트 데이터를 얻을 수 있다. 본 개시의 일 실시예에 의하면, NLU 모듈(306)은, 사용자 인텐트를 결정할 때 사용자 데이터베이스(310)의 각 사용자 특징적 데이터, 예컨대 각 사용자별 특징이나 맥락을 참조함으로써, 보다 정확한 사용자 인텐트 결정을 할 수 있다. 본 개시의 일 실시예에 의하면, 후술하는 바와 같이, 대화 생성 모듈(316)은, 대화 응답의 생성시, 사용자 데이터베이스(310)의 사용자 특징적 데이터를 참조할 수 있다.
본 도면에서는, 각 사용자별 특징적 데이터를 저장 및 관리하는 사용자 데이터베이스(310)가 대화형 AI 에이전트 서버(106)에 배치되는 것으로 도시되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 각 사용자별 특징적 데이터를 저장 및 관리하는 사용자 데이터베이스(310)는, 예컨대 사용자 단말(102)에 존재할 수도 있고, 사용자 단말(102) 및 대화형 AI 에이전트 서버(106)에 분산되어 배치될 수도 있음을 알아야 한다.
본 개시의 일 실시예에 의하면, 대화 관리 모듈(312)은, NLU 모듈(306)에 의해 결정된 사용자 인텐트에 따라, 그에 대응하는 일련의 동작 흐름을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 대화 관리 모듈(312)은, 소정의 대화 흐름 관리 모델에 기초하여, 예컨대 NLU 모듈(306)로부터 수신된 사용자 인텐트에 대응하여 어떠한 동작, 예컨대 어떠한 대화 응답 및/또는 태스크 수행을 행하여야 할지를 결정하고, 그에 따른 세부 동작 흐름을 생성할 수 있다.
본 개시의 일 실시예에 의하면, 대화 생성 모듈(314)은, 대화 관리 모듈(312) 에 의하여 생성된 대화 흐름에 기초하여 사용자에게 제공될 대화 응답을 생성할 수 있다. 본 개시의 일 실시예에 의하면, 대화 생성 모듈(314)은, 대화 응답의 생성에 있어서, 전술한 사용자 데이터베이스(310)의 사용자 특징적 데이터(예컨대, 사용자의 이전 대화 기록, 사용자의 발음 특징 정보, 사용자 어휘 선호도, 사용자의 소재지, 설정 언어, 연락처/친구 목록, 각 사용자별로 해당 사용자의 이전 대화 기록 등)를 참조할 수 있다.
본 개시의 일 실시예에 의하면, TTS 모듈(316)은, 대화 생성 모듈(314)에 의해 사용자 단말(102)로 전송되도록 생성된 대화 응답을 수신할 수 있다. TTS 모듈(316)에서 수신되는 대화 응답은 텍스트 형태를 갖는 자연어 또는 단어들의 시퀀스일 수 있다. 본 개시의 일 실시예에 의하면, TTS 모듈(316)은, 다양한 형태의 알고리즘에 따라, 위 수신된 텍스트 형태의 입력을 음성 형태로 변환할 수 있다.
도 1 내지 3을 참조하여 전술한 본 개시의 실시예에서는, 대화형 AI 에이전트 시스템이 사용자 단말(102)과 대화형 AI 에이전트 서버(106) 간의 클라이언트-서버 모델, 특히 클라이언트는 오로지 사용자 입출력 기능만을 제공하고 그 외 대화형 AI 에이전트 시스템의 다른 모든 기능들을 서버에 위임된, 소위 "씬 클라이언트-서버 모델"에 기초하여 구현된 것과 같이 설명되어 있으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 대화형 AI 에이전트 시스템은 그 기능들이 사용자 단말과 서버 사이에 분배되어 구현될 수 있고, 또는 그와 달리 사용자 단말 상에 설치된 독립형 애플리케이션으로 구현될 수도 있음을 알아야 한다. 또한, 본 개시의 일 실시예에 따라 대화형 AI 에이전트 시스템이 그 기능들을 사용자 단말과 서버 사이에 분배하여 구현하는 경우, 클라이언트와 서버 사이의 대화형 AI 에이전트 시스템의 각 기능의 분배는 실시예마다 달리 구현될 수 있음을 알아야 한다.
또한, 도 1 내지 3을 참조하여 전술한 본 개시의 실시예에서는, 편의상 특정 모듈이 소정의 동작들을 수행하는 것처럼 설명되었으나, 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 위 설명에서 어느 특정 모듈에 의해 수행되는 것과 같이 설명된 동작들이, 그와 다른 별개의 모듈에 의해 각각 수행될 수 있음을 알아야 한다.
도 4는, 본 개시의 일 실시예에 따른, 쇼핑 서비스를 위한 대화형 AI 에이전트 시스템에 의해 수행되는, 사용자 인텐트 결정을 위한 예시적 동작 흐름을 보여주는 흐름도이다.
단계(402)에서, 대화형 AI 에이전트 시스템은, 사용자로부터 입력을 수신할 수 있다. 그런 다음, 단계(404)에서, 대화형 AI 에이전트 시스템은, 소정의 인텐트에 대응하는 것으로 정의된 단어 또는 구절들이 수신된 입력에 포함되어 있는지를 판정할 수 있다. 단계(404)에서, 그러한 단어들이 입력에 포함되어 있다고 판정된 경우, 절차는 단계(406)로 진행하고, 대화형 AI 에이전트 시스템은, 수신된 입력을 해당 인텐트에 매핑할 수 있다.
단계(404)에서, 소정의 인텐트에 대응하는 것으로 정의된 단어들이 그 수신된 입력에 포함되어 있지 않다고 판정된 경우, 절차는 단계(408)로 진행하고 대화형 AI 에이전트 시스템은, 수신된 입력 중에, 품질을 나타내는 같은 유형의 엔티티로서 각기 다른 값을 갖는 엔티티 정보가 복수 회 나타나는 동시에 주문 또는 배송의 완료를 나타내는 단어가 존재하는지 판정할 수 있다. 단계(408)에서, 그러한 것으로 판정된 경우, 절차는 단계(410)로 진행하고, 대화형 AI 에이전트 시스템은, 수신된 입력을 불만 또는 반품 요청의 인텐트로 매핑할 수 있다.
단계(408)에서, 수신된 입력 중에, 품질을 나타내는 같은 유형의 엔티티로서 각기 다른 값을 갖는 엔티티 정보가 복수 회 나타나지 않았거나 주문 또는 배송의 완료를 나타내는 단어가 존재하지 않은 것으로 판정된 경우, 절차는 단계(412)로 진행한다. 단계(412)에서, 대화형 AI 에이전트 시스템은, 수신된 입력 중에, 각기 다른 날짜를 나타내는 갖는 엔티티 정보가 복수 회 나타나는 동시에 해당 입력 상에 주문이나 배송을 나타내는 단어가 존재하는지 여부를 판정하고, 그러한 것으로 판정된 경우 절차는 단계(414)로 진행하여 수신된 입력을 배송문의 또는 배송불만의 인텐트에 매핑할 수 있다. 단계(412)에서, 수신된 입력 중에 각기 다른 날짜를 나타내는 갖는 엔티티 정보가 복수 회 나타나지 않거나 주문이나 배송을 나타내는 단어가 존재하지 않는 것으로 판정된 경우, 절차는 단계(416)로 진행하고, 대화형 AI 에이전트 시스템은 해당 입력에 대한 인텐트 결정에 실패한 결정할 수 있다.
당업자라면 알 수 있듯이, 본 개시가 본 명세서에 기술된 예시에 한정되는 것이 아니라 본 개시의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 재구성 및 대체될 수 있다. 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있음을 알아야 한다.
본 개시의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터 프로세서 등에 의해 판독 가능한 저장 매체, 예컨대 EPROM, EEPROM, 플래시 메모리장치와 같은 비휘발성 메모리, 내장형 하드 디스크와 착탈식 디스크 같은 자기 디스크, 광자기 디스크, 및 CDROM 디스크 등을 포함한 다양한 유형의 저장 매체에 저장된 형태로 구현될 수 있다. 또한, 프로그램 코드(들)는 어셈블리어나 기계어로 구현될 수 있다. 본 개시의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 이하의 특허청구범위에 의해 모두 포괄하고자 한다.

Claims (7)

  1. 대화형 AI 에이전트 시스템에 의해 수행되는 자연어 입력의 인텐트 결정 방법으로서,
    사용자로부터 자연어 입력을 수신하는 단계;
    소정의 어휘 사전 모델 상에서 임의의 인텐트에 대응하는 것으로 정의된 단어 또는 구절이 상기 자연어 입력 중에 포함되어 있는지 판정하는 단계;
    상기 단어 또는 구절이 상기 자연어 입력 중에 포함되어 있다고 판정된 경우, 상기 자연어 입력을 대응하는 인텐트에 매핑하는 단계;
    상기 단어 또는 구절이 상기 자연어 입력 중에 포함되어 있지 않다고 판정된 경우, 상기 자연어 입력으로부터 복수 개의 동일한 유형의 엔티티 정보를 추출하는 단계; 및
    상기 추출된 복수 개의 동일한 유형의 엔티티 정보에 기초하여 상기 자연어 입력을 소정의 인텐트에 매핑하는 단계를 포함하는,
    인텐트 결정 방법.
  2. 제1항에 있어서,
    상기 자연어 입력을 소정의 인텐트에 매핑하는 단계는, 상기 추출된 복수 개의 동일한 유형의 엔티티 정보와, 상기 자연어 입력 중에 존재하는 소정의 의미를 갖는 단어의 조합에 기초하여, 상기 자연어 입력을 상기 소정의 인텐트에 매핑하는 단계를 포함하는, 인텐트 결정 방법.
  3. 제2항에 있어서,
    상기 대화형 AI 에이전트 시스템은 쇼핑에 관한 서비스를 제공하도록 구성되고,
    상기 자연어 입력을 소정의 인텐트에 매핑하는 단계는,
    상기 추출된 복수 개의 동일한 유형의 엔티티 정보가, 각각 품질에 관련된 동일한 유형의 엔티티로서 각기 다른 값을 갖는지, 그리고 상기 자연어 입력 중에 주문 또는 배송의 완료를 나타내는 단어가 존재하는지 여부를 판정하는 단계; 및
    상기 판정 결과에 기초하여, 상기 자연어 입력을 불만 또는 반품 요청의 인텐트로 매핑하는 단계를 포함하는, 인텐트 결정 방법.
  4. 제3항에 있어서,
    상기 추출된 복수 개의 동일한 유형의 엔티티 정보가 각각 품질에 관련된 동일한 유형의 엔티티인지는, 상기 추출된 복수 개의 동일한 유형의 엔티티 정보가, 크기, 색깔, 성능, 및 가격 중 하나에 공통적으로 관련된 엔티티인지 여부에 따라 정해지는, 인텐트 결정 방법.
  5. 제2항에 있어서,
    상기 대화형 AI 에이전트 시스템은 쇼핑에 관한 서비스를 제공하도록 구성되고,
    상기 자연어 입력을 소정의 인텐트에 매핑하는 단계는,
    상기 추출된 복수 개의 엔티티 정보가, 각기 다른 날짜를 나타내는 엔티티 정보와 상기 자연어 입력 중에 주문 또는 배송에 연관된 단어가 존재하는지 여부를 판정하는 단계; 및
    상기 판정 결과에 기초하여, 상기 자연어 입력을 배송 문의 또는 배송 불만의 인텐트로 매핑하는 단계를 포함하는, 인텐트 결정 방법.
  6. 하나 이상의 명령어를 포함하는 컴퓨터 판독 가능 기록 매체로서,
    상기 하나 이상의 명령어는, 컴퓨터에 위해 실행되는 경우, 상기 컴퓨터로 하여금, 제1항 내지 제5항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독 가능 기록 매체.
  7. 자연어 이해를 제공하는 대화형 AI 에이전트 시스템으로서,
    사용자로부터 자연어 입력을 수신하도록 구성된 사용자 입력 수신 모듈;
    어휘 사전 형태의 지식베이스 모델; 및
    자연어 이해 모듈을 포함하고,
    상기 자연어 이해 모듈은,
    상기 지식베이스 모델 상에서 임의의 인텐트에 대응하는 것으로 정의된 단어 또는 구절이 상기 자연어 입력 중에 포함되어 있는지 판정하고,
    상기 단어 또는 구절이 상기 자연어 입력 중에 포함되어 있다고 판정된 경우, 상기 자연어 입력을 대응하는 인텐트에 매핑하며,
    상기 단어 또는 구절이 상기 자연어 입력 중에 포함되어 있지 않다고 판정된 경우, 상기 자연어 입력으로부터 복수 개의 엔티티 정보를 추출하고,
    상기 추출된 복수 개의 동일한 유형의 엔티티 정보에 기초하여 상기 자연어 입력을 소정의 인텐트에 매핑하도록 구성된,
    대화형 AI 에이전트 시스템.
PCT/KR2018/005998 2018-03-02 2018-05-28 복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체 WO2019168235A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0025238 2018-03-02
KR1020180025238A KR101932264B1 (ko) 2018-03-02 2018-03-02 복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체

Publications (1)

Publication Number Publication Date
WO2019168235A1 true WO2019168235A1 (ko) 2019-09-06

Family

ID=65006404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/005998 WO2019168235A1 (ko) 2018-03-02 2018-05-28 복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체

Country Status (2)

Country Link
KR (1) KR101932264B1 (ko)
WO (1) WO2019168235A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738044A (zh) * 2019-10-17 2020-01-31 杭州涂鸦信息技术有限公司 控制意图识别方法及装置、电子设备和存储介质
CN111475611A (zh) * 2020-03-02 2020-07-31 北京声智科技有限公司 词典管理方法、装置、计算机设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178055B (zh) * 2019-12-18 2022-07-29 华为技术有限公司 语料识别方法、装置、终端设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050024697A (ko) * 2003-09-01 2005-03-11 주식회사 엘지홈쇼핑 대화형 쇼핑에이전트에 의한 전자상거래 방법
KR20080107383A (ko) * 2006-02-28 2008-12-10 마이크로소프트 코포레이션 사람과 기계 간의 직관적인 상호작용을 용이하게 해주는 시스템, 통계-기반 상호작용을 용이하게 해주는 컴퓨터 실행가능 시스템 및 사용자 입력에 반응하는 컴퓨터 구현 방법
KR20170001550A (ko) * 2015-06-25 2017-01-04 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 인공 지능에 기초한 인간-컴퓨터 지능형 채팅 방법 및 장치
KR20170007747A (ko) * 2014-05-16 2017-01-20 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 자연어 이미지 검색 기법
KR101775559B1 (ko) * 2017-01-06 2017-09-07 주식회사 피노텍 디스플레이 장치를 이용한 가상 상담 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050024697A (ko) * 2003-09-01 2005-03-11 주식회사 엘지홈쇼핑 대화형 쇼핑에이전트에 의한 전자상거래 방법
KR20080107383A (ko) * 2006-02-28 2008-12-10 마이크로소프트 코포레이션 사람과 기계 간의 직관적인 상호작용을 용이하게 해주는 시스템, 통계-기반 상호작용을 용이하게 해주는 컴퓨터 실행가능 시스템 및 사용자 입력에 반응하는 컴퓨터 구현 방법
KR20170007747A (ko) * 2014-05-16 2017-01-20 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 자연어 이미지 검색 기법
KR20170001550A (ko) * 2015-06-25 2017-01-04 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 인공 지능에 기초한 인간-컴퓨터 지능형 채팅 방법 및 장치
KR101775559B1 (ko) * 2017-01-06 2017-09-07 주식회사 피노텍 디스플레이 장치를 이용한 가상 상담 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738044A (zh) * 2019-10-17 2020-01-31 杭州涂鸦信息技术有限公司 控制意图识别方法及装置、电子设备和存储介质
CN110738044B (zh) * 2019-10-17 2023-09-22 杭州涂鸦信息技术有限公司 控制意图识别方法及装置、电子设备和存储介质
CN111475611A (zh) * 2020-03-02 2020-07-31 北京声智科技有限公司 词典管理方法、装置、计算机设备及存储介质
CN111475611B (zh) * 2020-03-02 2023-09-15 北京声智科技有限公司 词典管理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
KR101932264B1 (ko) 2018-12-26

Similar Documents

Publication Publication Date Title
US20230161799A1 (en) Method for adaptive conversation state management with filtering operators applied dynamically as part of a conversational interface
WO2019124647A1 (ko) 대화형 ai 에이전트 시스템을 위한 계층적 대화 흐름 관리 모델을 자동으로 구축 또는 갱신하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
WO2019088384A1 (ko) 답변을 변형하여 풍부한 표현의 자연어 대화를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
WO2019147039A1 (ko) 대화 이해 ai 서비스 시스템과 연관된 대화 세션 중의 특정 시점에서 목표 달성을 위한 최적의 대화 패턴을 결정하는 방법, 목표 달성 예측 확률을 결정하는 방법, 및 컴퓨터 판독가능 기록 매체
WO2019132135A1 (ko) 사용자간 대화 세션에 대한 능동적 모니터링 및 개입을 제공하는 대화형 ai 에이전트 시스템, 방법 및 컴퓨터 판독가능 기록 매체
WO2019156536A1 (ko) 학습 데이터 중 식별 가능하지만 학습 가능성이 없는 데이터의 레이블화를 통한, 대화형 ai 에이전트 시스템을 위한 지식베이스 모델의 구축 또는 갱신 방법, 컴퓨터 장치, 및 컴퓨터 판독 가능 기록 매체
KR101891498B1 (ko) 대화형 ai 에이전트 시스템에서 멀티 도메인 인텐트의 혼재성을 해소하는 멀티 도메인 서비스를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR102104294B1 (ko) 디스플레이 장치로 읽을 수 있는 저장매체에 저장된 수화 영상 챗봇 애플리케이션
WO2019168235A1 (ko) 복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체
KR20190143583A (ko) 대화 이해 ai 시스템에 의하여, 머신러닝을 대화 관리 기술에 적용한 하이브리드 계층적 대화 흐름 모델을 기초로 답변을 제공하는 방법 및 컴퓨터 판독가능 기록 매체
WO2019156537A1 (ko) 보안 등과 관련된 서비스를, 사용자간 대화 세션에 대한 모니터링에 기초하고 대화 세션 또는 별도의 세션을 통해, 능동적으로 제공하는 대화형 ai 에이전트 시스템, 방법 및 컴퓨터 판독가능 기록 매체
WO2019088638A1 (ko) 적시에 실질적 답변을 제공함으로써 자연어 대화를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR20190103951A (ko) 학습 데이터 중 식별 가능하지만 학습 가능성이 없는 데이터의 레이블화를 통한, 대화형 ai 에이전트 시스템을 위한 지식베이스 모델의 구축 또는 갱신 방법, 컴퓨터 장치, 및 컴퓨터 판독 가능 기록 매체
WO2019088383A1 (ko) 적시에 간투사 답변을 제공함으로써 자연어 대화를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR101924215B1 (ko) 소정의 목표를 갖는 대화 이해 ai 서비스 시스템을 위한 대화 템플릿의 생성 방법 및 컴퓨터 판독가능 기록 매체
KR101959292B1 (ko) 문맥 기반으로 음성 인식의 성능을 향상하기 위한 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR20190094087A (ko) 머신러닝 기반의 대화형 ai 에이전트 시스템과 연관된, 사용자 맞춤형 학습 모델을 포함하는 사용자 단말 및 사용자 맞춤형 학습 모델이 기록된 컴퓨터 판독가능 기록 매체
KR102017544B1 (ko) 메신저 플랫폼에 관계없이 복수의 메신저를 이용하는 사용자간 다양한 형식의 채팅 서비스를 제공하는 대화형 ai 에이전트 시스템, 방법 및 컴퓨터 판독가능 기록 매체
WO2019142976A1 (ko) 사용자 발화 입력에 대한 대화 응답 후보를 표시하도록 하는 디스플레이 제어 방법, 컴퓨터 판독가능 기록 매체 및 컴퓨터 장치
WO2019103569A1 (ko) 문맥 기반으로 음성 인식의 성능을 향상하기 위한 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체
KR20210045704A (ko) 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체
WO2019066132A1 (ko) 보안성을 강화한 사용자 문맥 기반 인증 방법, 대화형 ai 에이전트 시스템 및 컴퓨터 판독가능 기록 매체
KR20190109706A (ko) 복수 개의 같은 유형의 엔티티 정보의 분석에 기초한 인텐트 결정을 제공하는 방법 및 대화형 ai 에이전트 시스템, 및 컴퓨터 판독가능 기록 매체
WO2019098638A1 (ko) 보안성을 강화한 의미-무관 사용자 성문 인증을 제공하는 방법, 대화형 ai 에이전트 시스템 및 컴퓨터 판독가능 기록 매체
WO2019156535A1 (ko) 대화 세션 내의 이전의 이력 정보를 이용하여, 사용자간 대화 세션에 대한 모니터링에 기초해서 능동적으로 주문 또는 예약 서비스를 제공하는 대화형 ai 에이전트 시스템, 방법 및 컴퓨터 판독가능 기록 매체

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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 07/04/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18907668

Country of ref document: EP

Kind code of ref document: A1