WO2021095932A1 - Input determining method and apparatus for dialogue prediction model, and text embedding method and apparatus - Google Patents

Input determining method and apparatus for dialogue prediction model, and text embedding method and apparatus Download PDF

Info

Publication number
WO2021095932A1
WO2021095932A1 PCT/KR2019/015609 KR2019015609W WO2021095932A1 WO 2021095932 A1 WO2021095932 A1 WO 2021095932A1 KR 2019015609 W KR2019015609 W KR 2019015609W WO 2021095932 A1 WO2021095932 A1 WO 2021095932A1
Authority
WO
WIPO (PCT)
Prior art keywords
text
embedding
current
morpheme
current text
Prior art date
Application number
PCT/KR2019/015609
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
Priority claimed from KR1020190146097A external-priority patent/KR102310725B1/en
Priority claimed from KR1020190146072A external-priority patent/KR102411204B1/en
Application filed by 주식회사 셀바스에이아이 filed Critical 주식회사 셀바스에이아이
Publication of WO2021095932A1 publication Critical patent/WO2021095932A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the disclosed embodiments relate to a method and apparatus for determining an input of a conversation prediction model. More specifically, it relates to a method and apparatus for determining an input of a conversation prediction model and a method and apparatus for embedding a text for performing an easy conversation with a user.
  • a conversation prediction model is used in a chatbot to communicate with a user.
  • Text is extracted from the user's voice, and the text is pre-processed and used as an input value of a conversation prediction model.
  • Preprocessing text involves various steps such as noise removal and morpheme extraction.
  • the step of embedding the text is involved. This step is called sentence embedding.
  • the sentence embedding step is usually performed by receiving each morpheme included in text, calculating a multidimensional vector matrix for each morpheme, and calculating a sum or average value of the multidimensional vector matrices. Then, the sum or average value of the multidimensional vector matrices is input into the conversation prediction model. In this way, a response to the user's voice can be obtained.
  • chatbot in order for the chatbot to easily communicate with the user, even if the current text is incomplete, it must be able to grasp the intention of the user more accurately by supplementing the previous text. In addition, in order for the chatbot to easily communicate with the user, it must be able to respond more appropriately to the user's situation. In addition, the chatbot needs to be able to more accurately grasp the atmosphere or context of the conversation.
  • Disclosed embodiments are to provide a method and apparatus for determining an input of a conversation prediction model and a method and apparatus for embedding a text for easy conversation with a user.
  • the present inventor is based on the correlation between the current text and the previous text, and the embedding result for the current text and the previous text. It has been found that there is a need for a method and apparatus for determining an input of a conversation prediction model that determines whether to input an embedding result for the text into a conversation prediction model or to input an embedding result for the current text into the conversation prediction model.
  • the present inventors input the morpheme included in the current text and the attribute value of the current text into the embedding model, so that the attribute value of the text is reflected in the current text. It has been found that there is a need for a text embedding method and apparatus that calculates the embedding result for.
  • the present inventors have a conversation prediction model that inputs the embedding result for the current text and the embedding result for the previous text into the conversation prediction model. It has been found that a method and apparatus for determining the input of is required.
  • the present inventors have found that even with little learning data, by selectively increasing the difference between the embedding results for different texts according to the keyword setting, the dialog prediction model can accurately respond to similar texts of the user. .
  • a method of determining an input of a conversation prediction model according to an embodiment is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, comprising: Storing the embedding result; Receiving the current text; Embedding the current text; Determining a correlation between the current text and the previous text; And determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model or to input the embedding result for the current text into the conversation prediction model based on the correlation. Includes.
  • the step of determining the correlation between the current text and the previous text includes correlation between the current text and the previous text based on whether an indication pronoun morpheme exists among morphemes included in the current text. Figure out the relationship.
  • the step of determining the correlation between the current text and the previous text includes inputting the embedding result for the current text and the embedding result for the previous text into a text correlation prediction model, and the text correlation Based on the output value of the relationship prediction model, a correlation between the current text and the previous text is determined.
  • the step of determining whether to do is, when it is determined that there is the correlation, it is determined to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and when it is determined that there is no correlation , It is determined to input the embedding result for the current text into the conversation prediction model.
  • An apparatus for determining an input of a conversation prediction model according to an embodiment includes: at least one processor; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: receiving a current text; Embedding the current text; Determining a correlation between the current text and the previous text; And determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model or to input the embedding result for the current text into the conversation prediction model based on the correlation. Contains instructions for executing.
  • the step of determining the correlation between the current text and the previous text includes correlation between the current text and the previous text based on whether an indication pronoun morpheme exists among morphemes included in the current text. Figure out the relationship.
  • the step of determining the correlation between the current text and the previous text includes inputting the embedding result for the current text and the embedding result for the previous text into a text correlation prediction model, and the text correlation Based on the output value of the relationship prediction model, a correlation between the current text and the previous text is determined.
  • the step of determining whether to do is, when it is determined that there is the correlation, it is determined to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and when it is determined that there is no correlation , It is determined to input the embedding result for the current text into the conversation prediction model.
  • a text embedding method is disclosed.
  • a text embedding method is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, the method comprising: receiving a current text; Classifying the generation information of the current text according to a predetermined criterion to determine an attribute value of the current text; And calculating an embedding result for the current text reflecting the attribute value of the text by inputting the morpheme included in the current text and the attribute value of the current text into an embedding model.
  • a text embedding apparatus includes at least one processor; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: receiving a current text; Classifying the generation information of the current text according to a predetermined criterion to determine an attribute value of the current text; And instructions for executing the step of calculating an embedding result for the current text reflecting the attribute value of the text by inputting the morpheme included in the current text and the attribute value of the current text into the embedding model.
  • a method of determining an input of a conversation prediction model according to another embodiment is disclosed.
  • a method of determining an input of a conversation prediction model according to another embodiment is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, wherein a current text is input Receiving step; Embedding the current text; And inputting the embedding result for the current text and the embedding result for the previous text into a conversation prediction model.
  • An apparatus for determining an input of a conversation prediction model according to another embodiment includes: at least one processor; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: receiving a current text; Embedding the current text; And instructions for executing the step of inputting the embedding result for the current text and the embedding result for the previous text into a conversation prediction model.
  • a text embedding method is disclosed.
  • a method according to an embodiment is a method performed in a computing device having one or more processors and a memory for storing one or more programs executed by the one or more processors, comprising: determining a keyword morpheme included in a text ; And embedding the text with a weight on the keyword morpheme.
  • a morpheme included in a pre-stored keyword list among the morphemes included in the text is determined as the keyword morpheme.
  • the determining of a keyword included in the text includes, when some morphemes included in a previously stored keyword list among the morphemes included in the text are partially overlapped, a morpheme having a maximum number of letters among the partially overlapped morphemes is selected. Determined by keyword morpheme.
  • the morpheme included in the text is input into the embedding model, and the keyword morpheme among the morphemes included in the text is duplicated in the embedding model, thereby generating an embedding result for the text. Calculate.
  • the embedding of the text includes calculating a multidimensional vector matrix for each morpheme included in the text, and summing a multidimensional vector matrix for each morpheme included in the text, wherein the keyword among the morphemes The multidimensional vector matrix for the morpheme is weighted and summed to calculate the embedding result for the text.
  • An apparatus includes one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: determining a keyword morpheme included in the text; And instructions for executing the step of embedding the text with a weight on the keyword morpheme.
  • a morpheme included in a pre-stored keyword list among the morphemes included in the text is determined as the keyword morpheme.
  • the determining of a keyword included in the text may include, when some of the morphemes included in the text are partially duplicated in a pre-stored keyword list, the keyword is based on the number of letters of the partially overlapped morphemes. Determined by morpheme.
  • a morpheme included in the text is input into an embedding model, and the keyword morpheme among the morphemes included in the text is repeatedly input into the embedding model to calculate an embedding result for the text.
  • the embedding of the text includes calculating a multidimensional vector matrix for each morpheme included in the text, and summing a multidimensional vector matrix for each morpheme included in the text, wherein the keyword among the morphemes The multidimensional vector matrix for the morpheme is weighted and summed to calculate the embedding result for the text.
  • the previous text based on the correlation between the current text and the previous text, whether to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, or the embedding result for the current text to predict the conversation
  • the previous text is assumed to be independent of the current text and the previous text. Can be prevented from affecting the response to the current text.
  • a response more appropriate to the user's situation is provided. It is possible to implement a chatbot that can do it.
  • a chatbot that can more accurately grasp the atmosphere or context of the conversation and communicate with the user more easily is implemented. I can.
  • the conversation prediction model may provide a more accurate response with less training data.
  • the conversation prediction model improves the accuracy of the response even for similar texts. I can make it.
  • the keyword can be freely set by the user, and accordingly, the keyword can be input to the site more quickly depending on the application purpose or purpose of the embodiment.
  • FIG. 1 is a flowchart of a method for determining an input of a conversation prediction model according to an embodiment of the present invention.
  • FIG. 2 is an exemplary diagram illustrating a process of determining an input of a conversation prediction model according to an embodiment of the present invention.
  • FIG. 3 is an exemplary diagram for explaining a process of determining an indication pronoun morpheme according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a text embedding method according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for determining an input of a conversation prediction model according to another embodiment of the present invention.
  • FIG. 6 is a flowchart of a text embedding method according to another embodiment of the present invention.
  • FIG. 7 is an exemplary diagram illustrating a process of embedding text according to an embodiment of the present invention.
  • FIG. 8 is an exemplary diagram for explaining a process of determining a keyword morpheme according to an embodiment of the present invention.
  • FIG. 9 is an exemplary diagram for explaining a process of inputting a morpheme into an embedding model according to an embodiment of the present invention.
  • FIG. 10 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
  • FIG. 1 is a flowchart of a text embedding method according to an embodiment of the present invention.
  • the method shown in FIG. 1 may be performed, for example, by the computing device 12 shown in FIG. 10.
  • the computing device 12 stores the embedding result for the previous text (S110).
  • the computing device 12 receives the current text (S120).
  • the text may be, for example, text extracted from the user's voice.
  • the present invention is not limited thereto, and the text may be input from, for example, a user's keyboard typing.
  • the text could be a food order such as “Give me coffee” or “Give me chicken”.
  • the present invention is not limited thereto, and various texts may exist according to embodiments.
  • the text may be about symptoms of a disease such as “I have a stomachache” or “I have a tight shoulder”.
  • the current text refers to the currently input text
  • the previous text refers to the text input before the current text is input.
  • the current text is not a term for referring to a moment (a moment) at the time of implementation of the invention, but a term for distinguishing it from the previous text.
  • the previous text could be a food order such as “make me coffee”
  • the current text could be a food cancellation such as “cancel that”.
  • the computing device 12 may extract one or more morphemes included in the current text.
  • a morpheme included in the current text may be extracted by the morpheme analyzer shown in FIG. 2.
  • one or more morphemes included in the current text may be output.
  • the computing device 12 can embed the current text.
  • embedding of text may be performed by the embedding model shown in FIG. 2.
  • the embedding model may calculate an embedding result for the current text by calculating a multidimensional vector matrix for each morpheme included in the current text and summing the multidimensional vector matrix for each morpheme.
  • the present invention is not limited thereto, and the embedding model may determine the average value of the multidimensional vector matrix for each of the morphemes as the embedding result for the current text.
  • the computing device 12 may calculate an embedding result for "make coffee” by inputting "make coffee” and "make coffee” in the embedding model.
  • the embedding model may calculate a multidimensional vector matrix for each of “coffee” and “make”, and determine the sum of the multidimensional vector matrix for each of the morphemes as an embedding result for “make coffee”.
  • the computing device 12 may calculate an embedding result for "Cancel that” by inputting "it” and "cancel” into the embedding model.
  • the embedding model may calculate a multidimensional vector matrix for each of “it” and “cancel”, and determine the sum of the multidimensional vector matrix for each of the morphemes as the embedding result for “cancel it”.
  • the computing device 12 determines the correlation between the current text and the previous text (S130).
  • the computing device 12 may determine a correlation between the current text and the previous text based on whether or not an indication pronoun morpheme exists among morphemes included in the current text.
  • the computing device 12 may determine the correlation between the current text and the previous text by comparing the morpheme included in the current text and a pre-stored indication pronoun list.
  • the denoting pronoun list means a set of denoting pronouns.
  • Indicative pronouns in the indicative pronoun list may be set by a user, for example.
  • “this”, “that”, “it”, “this time”, “that time”, “then”, “here”, “there”, and “there” can be set as denoting pronouns.
  • the present invention is not limited thereto, and the user may set all morphemes for grasping the correlation between the current text and the previous text as the indicating pronouns in the indicating pronoun list in consideration of the purpose of use.
  • the indicative pronoun includes the indicative pronoun in the Korean language, but is not limited thereto, and includes all terms that can be set by the user to grasp the correlation between the current text and the previous text.
  • the indication pronoun list may be continuously updated by the user.
  • the list of indication pronouns can be freely changed, the user can freely and quickly expand the range of use of the chatbot without accumulating learning data. That is, the computing device 12 can grasp the correlation between the current text and the previous text with only a small amount of learning data.
  • the computing device 12 may determine a correlation between the current text and the previous text based on whether or not a morpheme included in the pre-stored indication pronoun list among the morphemes included in the current text exists.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and among the morphemes included in the current text, the indicating pronoun morpheme If is not present, it may be determined that there is no correlation between the current text and the previous text. In general, this is because when a denoting pronoun is included in the current text, the correlation between the current text and the previous text can be considered high.
  • the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the text correlation prediction model, and based on the output value of the text correlation prediction model, the current text and the previous text are Correlation can be identified.
  • the correlation prediction model may receive an embedding result for a current text and an embedding result for a previous text and output a correlation between the current text and the previous text. Meanwhile, in this case, the user can learn the correlation between the current text and the previous text with respect to the correlation prediction model.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and the output value of the text correlation prediction model is a preset value. If it is less than, it may be determined that there is no correlation between the current text and the previous text.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and outputs the text correlation prediction model. If the value is less than the preset second value, it is determined that there is no correlation between the current text and the previous text, and if the output value of the text correlation prediction model is less than a preset first value and more than a preset second value, the current It can be determined that the correlation between the text and the previous text is neutral.
  • the computing device 12 may input the current text and the previous text into the text correlation prediction model, and determine a correlation between the current text and the previous text based on an output value of the text correlation prediction model.
  • the correlation prediction model may receive a current text and a previous text directly and output a correlation between the current text and the previous text.
  • the user can directly learn the correlation between the current text and the previous text with respect to the correlation prediction model.
  • the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, or the embedding result for the current text. It is determined whether to input into the conversation prediction model (S140).
  • the computing device 12 determines to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and When it is determined that there is no correlation between the text and the previous text, it may be determined to input the embedding result for the current text into the conversation prediction model.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and embeds the current text. It can be determined by inputting the result and the embedding result for the previous text into the conversation prediction model.
  • the conversation prediction model is “ You can respond to “Cancel coffee”. Accordingly, even if the current text is incomplete, it may be possible to more accurately grasp the intention of the user by supplementing the previous text. Meanwhile, if the current text is not incomplete, it is possible to prevent the previous text from affecting the response to the current text by assuming that the current text and the previous text are independent. Accordingly, it is possible to implement a chatbot that can facilitate a conversation with a user selectively by varying the response method depending on whether the current text is complete or incomplete.
  • the indication object can be clearly identified by supplementing the previous text with the current text. More specifically, according to the disclosed embodiment, even if the current text has an indication pronoun and the meaning of the indication cannot be clearly understood through the user's voice, the indication object included in the previous text is supplemented with the current text. It is possible to implement a chatbot that can more accurately grasp the user's inner intentions embedded in the current text.
  • the computing device 12 displays the embedding result for the current text and the embedding result for the previous text according to the user's policy or setting. It may be determined to input into the conversation prediction model or to input the embedding result for the current text into the conversation prediction model.
  • the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, performed together, omitted, divided into detailed steps, or shown. One or more steps that have not been performed may be added and performed.
  • FIG. 2 is an exemplary diagram illustrating a process of determining an input of a conversation prediction model according to an embodiment of the present invention.
  • the computing device 12 includes a morpheme analyzer, an embedding model, and an indication pronoun list, and may further include a conversation prediction model.
  • the computing device 12 stores an embedding result for the previous text.
  • the computing device 12 can receive the current text.
  • the computing device 12 may receive text through a microphone (not shown).
  • the present invention is not limited thereto, and the computing device 12 may receive text through a keyboard (not shown). Meanwhile, the text may be a result of removing noise from the user's voice.
  • the computing device 12 may extract one or more morphemes included in the current text through the morpheme analyzer.
  • morpheme analyzer open source Hannanum morpheme analyzer, little morpheme analyzer, tweeter morpheme analyzer, Korea University morpheme analyzer, Halla morpheme analyzer, and Komer morpheme analyzer can be used.
  • the present invention is not limited thereto, and other known morpheme analyzers and combinations thereof may be used as morpheme analyzers.
  • Computing device 12 can embed the current text through the embedding model.
  • the embedding model may calculate an embedding result for the text by calculating a multidimensional vector matrix for each morpheme included in the text and summing the multidimensional vector matrix for each morpheme.
  • the present invention is not limited thereto, and the embedding model may determine an average value of the multidimensional vector matrix for each of the morphemes as a result of embedding text.
  • the embedding model open source CBow model, skip-gram model, fasttext model, word2vec model, send2vec model, etc. can be used.
  • the present invention is not limited thereto, and other well-known sentence embedding models, morpheme embedding models, and combinations thereof may be used as the embedding model.
  • the computing device 12 finds a correlation between the current text and the previous text.
  • the computing device 12 may determine a correlation between the current text and the previous text based on whether or not an indication pronoun morpheme exists among morphemes included in the current text.
  • the computing device 12 may determine the correlation between the current text and the previous text by comparing the morpheme included in the current text and a pre-stored indication pronoun list.
  • the computing device 12 may determine a correlation between the current text and the previous text based on whether or not a morpheme included in the pre-stored indication pronoun list among the morphemes included in the current text exists.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and among the morphemes included in the current text, the indicating pronoun morpheme If is not present, it may be determined that there is no correlation between the current text and the previous text.
  • the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the text correlation prediction model, and based on the output value of the text correlation prediction model, the current text and the previous text are Correlation can be identified.
  • the correlation prediction model may receive an embedding result for a current text and an embedding result for a previous text and output a correlation between the current text and the previous text.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and the output value of the text correlation prediction model is a preset value. If it is less than, it may be determined that there is no correlation between the current text and the previous text.
  • the computing device 12 determines that there is a correlation between the current text and the previous text, and outputs the text correlation prediction model. If the value is less than the preset second value, it is determined that there is no correlation between the current text and the previous text, and if the output value of the text correlation prediction model is less than a preset first value and more than a preset second value, the current It can be determined that the correlation between the text and the previous text is neutral.
  • the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, or the embedding result for the current text. To input into the conversation prediction model.
  • the computing device 12 determines to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and When it is determined that there is no correlation between the text and the previous text, it may be determined to input the embedding result for the current text into the conversation prediction model.
  • the computing device 12 may input the embedding result for the previous text and the embedding result for the current text into the conversation prediction model.
  • FIG. 3 is an exemplary diagram for explaining a process of determining an indication pronoun morpheme according to an embodiment of the present invention.
  • the computing device 12 can currently receive text.
  • the computing device 12 may extract one or more morphemes included in the current text through the morpheme analyzer. For example, in the current text, as shown in FIG. 3, a first morpheme, a second morpheme, a third morpheme, ... The nth morpheme may be extracted.
  • the computing device 12 may check whether an indication pronoun morpheme exists among morphemes included in the current text.
  • the denoting pronoun list means a set of denoting pronouns.
  • Indicative pronouns in the indicative pronoun list may be set by a user, for example.
  • “this”, “that”, “it”, “this time”, “that time”, “then”, “here”, “there”, and “there” can be set as denoting pronouns.
  • the present invention is not limited thereto, and the user may set all terms for grasping the correlation between the current text and the previous text as the indication pronouns in the indication pronoun list in consideration of the purpose of use.
  • the indicative pronoun includes the indicative pronoun in the Korean language, but is not limited thereto, and includes all terms that can be set by the user to grasp the correlation between the current text and the previous text.
  • the indication pronoun list may be continuously updated by the user.
  • the list of indication pronouns can be freely changed, the user can freely expand the range of use of the chatbot without accumulating learning data.
  • the computing device 12 may determine that the indicative pronoun morpheme exists among the morphemes included in the current text.
  • FIG. 4 is a flowchart of a method for determining an input of a conversation prediction model according to another embodiment of the present invention.
  • the method shown in FIG. 4 may be performed, for example, by the computing device 12 shown in FIG. 10.
  • the computing device 12 receives the current text (S410).
  • the text may be, for example, text extracted from the user's voice.
  • the computing device 12 may determine the attribute value of the current text by classifying the current text generation information according to a predetermined criterion (S420).
  • the computing device 12 may simultaneously receive the current text generation information from the external device.
  • the computing device 12 may simultaneously generate generation information of the current text.
  • the text generation information may include, for example, text creator information, text generation time, text generation location, and the like.
  • the information on the creator of the text may be, for example, identification information of the speaker of the target text.
  • the creation time of the text may be, for example, the utterance time of the target text.
  • the place where the text is generated may be, for example, the position of the speaker at the time the target text is uttered.
  • the computing device 12 classifies the text generation information according to a predetermined criterion, according to the occupation, sex, and age group of the talker, according to whether the speech time is morning, lunch, or evening, and the speech time is spring, summer, or Depending on whether it is autumn or winter, whether the location of the talker is indoor or outdoor, it is possible to check whether the location of the talker is indoor or outdoor, and specifically what location (eg, beach, hospital, mart).
  • a predetermined criterion according to the occupation, sex, and age group of the talker, according to whether the speech time is morning, lunch, or evening, and the speech time is spring, summer, or Depending on whether it is autumn or winter, whether the location of the talker is indoor or outdoor, it is possible to check whether the location of the talker is indoor or outdoor, and specifically what location (eg, beach, hospital, mart).
  • the computing device 12 may classify the identification information of the text according to a predetermined criterion to identify the talker's occupation, gender, age range, and the like. For example, the computing device 12 may classify the generation time of the text according to a predetermined criterion to determine whether the utterance time is morning, lunch, evening, spring, summer, autumn, winter, or the like. For example, the computing device 12 may classify the text generation location according to a predetermined criterion to determine whether the speaker's location is indoors or outdoors, and specifically where it is.
  • the computing device 12 may determine the attribute value of the current text by classifying the current text generation information according to a predetermined criterion using an attribute value table corresponding to the text generation information.
  • the attribute value table corresponding to the text generation information may include, for example, an attribute value corresponding to the text creator information, an attribute value corresponding to a text generation time, an attribute value corresponding to a text generation location, and the like. .
  • the user can pre-designate an attribute value corresponding to the creator information of the text, an attribute value corresponding to the creation time of the text, and an attribute value corresponding to the generation location of the text in the attribute value table corresponding to the text generation information. .
  • the computing device 12 determines the attribute value corresponding to the text creator information, the attribute value corresponding to the text generation time, the attribute value corresponding to the text generation location, and a combination of the current text attribute values. You can decide.
  • the computing device 12 may have a location of the talker indoors, depending on whether the speech time is morning, lunch, or evening, and whether the speech time is spring, summer, autumn, or winter according to the occupation, gender, and age group of the talker.
  • the attribute value of the current text may be determined according to whether the talker is outdoors, according to whether the speaker's location is indoors or outdoors, specifically which place, and a combination thereof.
  • the computing device 12 calculates an embedding result for the current text by inputting the morpheme included in the current text and the attribute value of the current text into the embedding model (S430).
  • the embedding result for the current text is the embedding result for the current text in which the attribute value of the text is reflected.
  • the computing device 12 calculates a multidimensional vector matrix for each morpheme included in the current text and a multidimensional vector matrix for attribute values of the current text, and the multidimensional vector matrix for each morpheme included in the current text And by summing the multidimensional vector matrix for the attribute values of the current text, an embedding result for the current text reflecting the attribute values of the text may be calculated.
  • the computing device 12 may input a result of embedding the current text in which the attribute value of the text is reflected into the conversation prediction model.
  • the conversation prediction model is based on the speaker's occupation, gender, and age, depending on whether the utterance time is in the morning, lunch, or evening, the utterance time is in the spring, summer, autumn, and winter, and the location of the talker is indoors or outdoors. , It is possible to respond to the current text by reflecting whether the location of the talker is indoor or outdoor, specifically which place, and combinations thereof.
  • the talker's job, gender, and age range depending on whether the speech is in the morning, lunch, or evening, and whether the speech is in spring, summer, autumn, or winter.
  • the response may be different depending on whether the location of the talker is indoor or outdoor, and specifically, which place.
  • chatbot that can respond more appropriately to the user's situation.
  • the computing device 12 may input each of the embedding result for the morpheme included in the current text and the embedding result for the attribute value of the current text into the conversation prediction model. That is, the conversation prediction model may receive an embedding result for a morpheme included in the current text and an attribute value of the current text.
  • FIG. 5 is a flowchart of a text embedding method according to an embodiment of the present invention.
  • the method shown in FIG. 5 may be performed, for example, by the computing device 12 shown in FIG. 10.
  • the computing device 12 receives the current text (S510).
  • the text may be, for example, text extracted from the user's voice.
  • the computing device 12 may store an embedding result for the previous text before receiving the current text.
  • the current text refers to the currently input text
  • the previous text refers to the text input before the current text is input.
  • the current text is not a term for referring to a moment (a moment) at the time of implementation of the invention, but a term for distinguishing it from the previous text.
  • the computing device 12 embeds the current text (S520).
  • embedding of text may be performed by the embedding model shown in FIG. 2.
  • the embedding model may calculate an embedding result for the current text by calculating a multidimensional vector matrix for each morpheme included in the current text and summing the multidimensional vector matrix for each morpheme.
  • the present invention is not limited thereto, and the embedding model may determine the average value of the multidimensional vector matrix for each of the morphemes as the embedding result for the current text.
  • the computing device 12 may input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model (S530).
  • the conversation prediction model can respond by reflecting the correlation between the embedding result for the current text and the embedding result for the previous text by itself. In general, this is because there is some correlation between the current text and the previous text. As a result, it is possible to implement a chatbot that can more accurately identify the atmosphere or context of a conversation and communicate with a user more easily.
  • FIG. 6 is a flowchart of a text embedding method according to another embodiment of the present invention.
  • the method shown in FIG. 6 may be performed, for example, by the computing device 12 shown in FIG. 10.
  • the computing device 12 determines a keyword morpheme included in the text (S610).
  • the text may be, for example, text extracted from the user's voice.
  • the present invention is not limited thereto, and the text may be input from, for example, a user's keyboard typing.
  • the text could be a food order such as “Give me coffee” or “Give me chicken”.
  • the present invention is not limited thereto, and various texts may exist according to embodiments.
  • the text may be about symptoms of a disease such as “I have a stomachache” or “I have a tight shoulder”.
  • the computing device 12 may determine a morpheme included in a previously stored keyword list among morphemes included in the text as the keyword morpheme. Meanwhile, the morpheme included in the text may be extracted by the morpheme analyzer shown in FIG. 7.
  • one or more morphemes included in the text may be output.
  • the keyword list refers to a set of keywords to be weighted when embedding text. Keywords in the keyword list may be set by a user, for example.
  • the user may set “coffee”, “chicken”, “pizza”, and “cola” as keywords in the keyword list.
  • the present invention is not limited thereto, and the user may set keywords in the keyword list in consideration of the purpose of use.
  • the keyword list may be continuously updated by the user.
  • the keyword list can be freely changed, the user can freely expand the scope of use of the chatbot without accumulating learning data.
  • the computing device 12 may determine “coffee” when the text is “make coffee”, and determine “chicken” as the keyword morpheme when the text is “make me chicken”.
  • keywords in the keyword list may be set only with nouns, may be set only with adjectives, or may be set with only verbs.
  • the user has set “Milk Coffee”, “Black Coffee”, “Coffee”, “Strawberry Milk”, “Chocolate Milk”, and “Milk” as keywords.
  • “Milk Coffee” and “Coffee” may be output.
  • the “coffee” part of “milk coffee” and “coffee” is partially overlapped.
  • the computing device 12 may determine one morpheme as the keyword morpheme based on the number of letters of some overlapping morphemes. For example, the computing device 12 may determine a morpheme having the largest number of characters among the number of characters of some overlapping morphemes as the keyword morpheme.
  • the computing device 12 may embed text with a weight on the keyword morpheme (S620).
  • the embedding of text may be performed by the embedding model shown in FIG. 7.
  • the embedding model may calculate an embedding result for the text by calculating a multidimensional vector matrix for each morpheme included in the text and summing the multidimensional vector matrix for each morpheme.
  • the present invention is not limited thereto, and the embedding model may determine an average value of the multidimensional vector matrix for each of the morphemes as a result of embedding text.
  • the computing device 12 inputs the morphemes included in the text into the embedding model, and may calculate the embedding result for the text by repeatedly inputting the keyword morphemes among the morphemes included in the text into the embedding model.
  • the number of times (for example, 2 times) of duplicate input of the keyword morpheme may be set by the user.
  • the computing device 12 inputs “coffee” and “make” into the embedding model, but calculates the embedding result for “make coffee” by repeatedly entering “coffee”. I can. Specifically, the computing device 12 may input “coffee”, “coffee”, and “make” into the embedding model.
  • the embedding model may calculate a multidimensional vector matrix for each of “coffee”, “coffee”, and “make”, and determine the sum of the multidimensional vector matrix for each of the morphemes as an embedding result for “make coffee”.
  • the computing device 12 can calculate the embedding result for "make coffee” in another way. For example, when the text is “make coffee”, the computing device 12 calculates a multidimensional vector matrix for each of “coffee” and “make”, and the multidimensional vector matrix for each of the “coffee” and “make”
  • the embedding result for "Give me coffee” can be calculated by summing up, but adding a weight (eg, 2 times) to the multidimensional vector matrix for "coffee”.
  • the computing device 12 uses a first multidimensional vector matrix * 2 + a second multidimensional vector
  • the summation of the matrix can be determined as the result of embedding for "make me coffee”.
  • the embedding result may be used as an input value of the conversation prediction model shown in FIG. 7.
  • the conversation prediction model can more accurately distinguish between similar voice inputs of the user and provide a more accurate response.
  • the embedding result for "make coffee” is the sum of the multidimensional vector matrix for each of “coffee” and “make”
  • the embedding result for "let me chicken” is the sum of the multidimensional vector matrices for each of "chicken” and "make” to be.
  • the embedding result for "make coffee” is the sum of the multidimensional vector matrix for each of “coffee”, “coffee”, and “make”
  • the embedding result for "make a chicken” is “chicken”, “chicken”, and "make” It is the sum of the multidimensional vector matrices for each.
  • the multidimensional vector matrix is assumed to be a natural number, and the above two cases are compared. Specifically, it is assumed that the multidimensional vector matrix for “coffee” is 1, the multidimensional vector matrix for “chicken” is 2, and the multidimensional vector matrix for “to order” is 3.
  • the result of embedding “make me coffee” is 4, which is the sum of 1 (multidimensional vector matrix for “coffee”) + 3 (multidimensional vector matrix for “to order”).
  • the result of embedding "let me chicken” is 5, which is the sum of 2 (multidimensional vector matrix for "chicken”) + 3 (multidimensional vector matrix for "let me”).
  • the result of embedding “make me coffee” is 1 (multidimensional vector matrix for “coffee”) + 1 (multidimensional vector matrix for “coffee”) + 3 (multidimensional vector matrix for “coffee”) It is 5 which is the sum of the multidimensional vector matrix).
  • the embedding result of “Chicken me” is 2 (multidimensional vector matrix for “chicken”) + 2 (multidimensional vector matrix for “chicken”) + 3 (multidimensional vector matrix for “chicken”) It is 7 which is the sum of the multidimensional vector matrix).
  • the difference (2) between the embedding result (5) for "make coffee” and the embedding result for "make chicken” (7) in the case of weighting the keyword subject to order (2) is not weighted for the keyword subject to order.
  • the difference (1) between the embedding result (4) and the embedding result (5) for “make coffee” is greater than (1).
  • a dialogue prediction model is more textual than when a keyword-weighted embedding result is used as an input value of the dialogue prediction model. Can be recognized more distinctly. That is, even with only a small amount of training data, by selectively increasing the difference between the embedding results for different texts according to the keyword setting, the dialogue prediction model can accurately respond to similar and similar texts.
  • the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, performed together, omitted, divided into detailed steps, or shown. One or more steps that have not been performed may be added and performed.
  • FIG. 7 is an exemplary diagram illustrating a process of embedding text according to an embodiment of the present invention.
  • the computing device 12 may include a morpheme analyzer, an embedding model, and a keyword list, and may further include a conversation prediction model.
  • the computing device 12 may receive text.
  • the computing device 12 may receive text through a microphone (not shown).
  • the present invention is not limited thereto, and the computing device 12 may receive text through a keyboard (not shown). Meanwhile, the text may be a result of removing noise from the user's voice.
  • the text may be various texts, such as food orders, and disease symptoms, according to embodiments.
  • the computing device 12 may extract one or more morphemes included in the text through the morpheme analyzer.
  • morpheme analyzer open source Hannanum morpheme analyzer, little morpheme analyzer, tweeter morpheme analyzer, Korea University morpheme analyzer, Halla morpheme analyzer, and Komer morpheme analyzer can be used.
  • the present invention is not limited thereto, and other known morpheme analyzers and combinations thereof may be used as morpheme analyzers.
  • the computing device 12 may determine a morpheme included in a previously stored keyword list among morphemes included in the text as the keyword morpheme.
  • the keyword list refers to a set of keywords to be weighted when embedding text. Keywords in the keyword list may be set by a user, for example.
  • the computing device 12 may determine one morpheme as the keyword morpheme based on the number of letters of the partially overlapped morphemes when some of the morphemes included in the keyword list are partially overlapped among the morphemes included in the text.
  • the computing device 12 may determine a morpheme having the largest number of letters among the morphemes included in the text as the keyword morpheme.
  • the computing device 12 may embed text with a weight on the keyword morpheme through the embedding model.
  • the embedding model may calculate an embedding result for the text by calculating a multidimensional vector matrix for each morpheme included in the text and summing the multidimensional vector matrix for each morpheme.
  • the present invention is not limited thereto, and the embedding model may determine an average value of the multidimensional vector matrix for each of the morphemes as a result of embedding text.
  • the embedding model open source CBow model, skip-gram model, fasttext model, word2vec model, send2vec model, etc. can be used.
  • the present invention is not limited thereto, and other well-known sentence embedding models, morpheme embedding models, and combinations thereof may be used as the embedding model.
  • the computing device 12 inputs the morphemes included in the text into the embedding model, and may calculate the embedding result for the text by repeatedly inputting the keyword morphemes among the morphemes included in the text into the embedding model.
  • the number of times (for example, 2 times) of duplicate input of the keyword morpheme may be set by the user.
  • the number of duplicate inputs may be different for each keyword morpheme.
  • the computing device 12 may calculate an embedding result for the text by inputting only the keyword morphemes among the morphemes included in the text into the embedding model.
  • the computing device 12 calculates a multidimensional vector matrix for each morpheme included in the text, and sums a multidimensional vector matrix for each morpheme included in the text, but includes a multidimensional vector for the keyword morpheme among the morphemes. By weighting the matrix and summing it, we can calculate the embedding result for the text.
  • the computing device 12 may use a result of embedding text as an input value of a conversation prediction model. In addition, the computing device 12 may output a response to a result of embedding text through a conversation prediction model. Meanwhile, before the embedding result is input into the conversation prediction model, other preprocessing may be performed according to embodiments.
  • FIG. 8 is an exemplary diagram for explaining a process of determining a keyword morpheme according to an embodiment of the present invention.
  • the computing device 12 may receive text.
  • the computing device 12 may extract one or more morphemes included in the text through the morpheme analyzer. For example, in the text, as shown in FIG. 8, the first morpheme, the second morpheme, the third morpheme, ... The nth morpheme may be extracted.
  • the computing device 12 may determine a morpheme included in a previously stored keyword list among morphemes included in the text as the keyword morpheme.
  • the keyword list refers to a set of keywords to be weighted when embedding text. Keywords in the keyword list may be set by a user, for example.
  • the computing device 12 is the first morpheme, the second morpheme, the third morpheme, ...
  • the second morpheme and the third morpheme may be determined as keyword morphemes.
  • the computing device 12 may determine one morpheme as the keyword morpheme based on the number of letters of the partially overlapped morphemes when some of the morphemes included in the keyword list are partially overlapped among the morphemes included in the text.
  • the computing device 12 may determine a morpheme having the largest number of letters among the morphemes included in the text as the keyword morpheme.
  • the computing device 12 may determine a morpheme having the largest number of letters among the second morpheme and the third morpheme as the keyword morpheme.
  • FIG. 9 is an exemplary diagram for explaining a process of inputting a morpheme into an embedding model according to an embodiment of the present invention.
  • the computing device 12 may embed text with a weight on the keyword morpheme through the embedding model.
  • the computing device 12 inputs the morphemes included in the text into the embedding model, and may calculate the embedding result for the text by repeatedly inputting the keyword morphemes among the morphemes included in the text into the embedding model.
  • the number of times (for example, 2 times) of duplicate input of the keyword morpheme may be set by the user.
  • the computing device 12 is the first morpheme, the second morpheme, the third morpheme, ...
  • the computing device 12 is the first morpheme, the second morpheme, the third morpheme, ...
  • the number of times of overlapping input may be set differently for each keyword morpheme.
  • the computing device 12 has a first morpheme, a second morpheme, a third morpheme, ...
  • the second morpheme is inputted twice and the third morpheme is inputted to the embedding model three times, so that the embedding result for the text may be calculated.
  • the computing device 12 may calculate an embedding result for the text by inputting only the keyword morphemes among the morphemes included in the text into the embedding model.
  • the computing device 12 is a first morpheme, a second morpheme, a third morpheme, ...
  • an embedding result for the text may be calculated.
  • the computing device 12 calculates a multidimensional vector matrix for each morpheme included in the text, and sums a multidimensional vector matrix for each morpheme included in the text, but includes a multidimensional vector for the keyword morpheme among the morphemes. By weighting the matrix and summing it, we can calculate the embedding result for the text.
  • the computing device 12 may use a result of embedding text as an input value of a conversation prediction model. In addition, the computing device 12 may output a response to a result of embedding text through a conversation prediction model. Meanwhile, before the embedding result is input into the conversation prediction model, other preprocessing may be performed according to embodiments.
  • FIG. 10 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
  • each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.
  • the illustrated computing environment 10 includes a computing device 12.
  • Computing device 12 includes at least one processor 14, a computer-readable storage medium 16, and a communication bus 18.
  • Processor 14 may cause computing device 12 to operate according to the exemplary embodiments mentioned above.
  • the processor 14 may execute one or more programs stored in the computer-readable storage medium 16.
  • the one or more programs may include one or more computer-executable instructions, and the computer-executable instructions are configured to cause the computing device 12 to perform operations according to an exemplary embodiment when executed by the processor 14. Can be.
  • the computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information.
  • the program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14.
  • computer-readable storage medium 16 includes memory (volatile memory such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other types of storage media that can be accessed by computing device 12 and store desired information, or a suitable combination thereof.
  • the communication bus 18 interconnects the various other components of the computing device 12, including a processor 14 and a computer-readable storage medium 16.
  • Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24.
  • the input/output interface 22 and the network communication interface 26 are connected to the communication bus 18.
  • the input/output device 24 may be connected to other components of the computing device 12 through the input/output interface 22.
  • Exemplary input/output devices 24 include pointing devices (mouse or trackpad, etc.), keyboards, touch input devices (touch pads or touch screens, etc.), voice or sound input devices, various types of sensor devices, and/or photographing devices.
  • Input devices, and/or output devices such as display devices, printers, speakers, and/or network cards.
  • the exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12, and may be connected to the computing device 12 as a separate device distinct from the computing device 12. May be.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

An input determining method and apparatus for a dialogue prediction model, and a text embedding method and apparatus are disclosed. An input determining method for a dialogue prediction model, according to one embodiment of the present invention, is performed by a computing device comprising one or more processors and a memory for storing one or more programs to be executed by the one or more processors, and comprises the steps of: storing the embedding result of a previous text; receiving a current text; embedding the current text; identifying a correlation between the current text and the previous text; determining, on the basis of the correlation, whether the embedding result of the current text and the embedding result of the previous text are to be inputted into the dialogue prediction model, or whether the embedding result of the current text is to be inputted into the dialogue prediction model.

Description

대화 예측 모델의 입력 결정 방법 및 장치, 텍스트 임베딩 방법 및 장치Input determination method and device of conversation prediction model, text embedding method and device
개시되는 실시예들은 대화 예측 모델의 입력 결정 방법 및 장치와 관련된다. 보다 구체적으로는, 사용자와 수월한 대화를 수행하기 위한 대화 예측 모델의 입력 결정 방법 및 장치와 텍스트 임베딩 방법 및 장치와 관련된다.The disclosed embodiments relate to a method and apparatus for determining an input of a conversation prediction model. More specifically, it relates to a method and apparatus for determining an input of a conversation prediction model and a method and apparatus for embedding a text for performing an easy conversation with a user.
사용자와 대화를 하기 위한 챗봇에는 대화 예측 모델이 사용된다. 사용자의 음성으로부터 텍스트를 추출하고, 상기 텍스트를 전처리하여 대화 예측 모델의 입력 값으로 사용한다. 텍스트를 전처리함에 있어서는 노이즈 제거, 형태소 추출 등 다양한 단계가 수반된다. 그리고, 텍스트를 대화 예측 모델에 입력하기 전에는 텍스트를 임베딩하는 단계가 수반된다. 이 단계를 소위 문장 임베딩이라고 한다. 문장 임베딩 단계는 보통 텍스트에 포함된 형태소 각각을 입력받아 상기 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 다차원 벡터 행렬의 합이나, 평균값을 계산하는 과정으로 이루어진다. 그리고, 상기 다차원 벡터 행렬의 합이나, 평균값을 대화 예측 모델에 입력한다. 이로써, 사용자의 음성에 대한 응답을 얻을 수 있다.A conversation prediction model is used in a chatbot to communicate with a user. Text is extracted from the user's voice, and the text is pre-processed and used as an input value of a conversation prediction model. Preprocessing text involves various steps such as noise removal and morpheme extraction. And, before the text is input into the conversation prediction model, the step of embedding the text is involved. This step is called sentence embedding. The sentence embedding step is usually performed by receiving each morpheme included in text, calculating a multidimensional vector matrix for each morpheme, and calculating a sum or average value of the multidimensional vector matrices. Then, the sum or average value of the multidimensional vector matrices is input into the conversation prediction model. In this way, a response to the user's voice can be obtained.
한편, 챗봇이 사용자와 수월한 대화를 수행하기 위해서는 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악할 수 있어야 한다. 또한, 챗봇이 사용자와 수월한 대화를 수행하기 위해서는 사용자의 상황에 보다 부합하는 응답을 할 수 있어야 한다. 또한, 챗봇이 대화 분위기나 대화 맥락을 보다 정확하게 파악할 수 있어야 한다.On the other hand, in order for the chatbot to easily communicate with the user, even if the current text is incomplete, it must be able to grasp the intention of the user more accurately by supplementing the previous text. In addition, in order for the chatbot to easily communicate with the user, it must be able to respond more appropriately to the user's situation. In addition, the chatbot needs to be able to more accurately grasp the atmosphere or context of the conversation.
개시되는 실시예들은 사용자와 수월한 대화를 수행하기 위한 대화 예측 모델의 입력 결정 방법 및 장치와 텍스트 임베딩 방법 및 장치를 제공하기 위함이다.Disclosed embodiments are to provide a method and apparatus for determining an input of a conversation prediction model and a method and apparatus for embedding a text for easy conversation with a user.
본 발명자는 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악하는 것이 가능하려면, 현재 텍스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정하는 대화 예측 모델의 입력 결정 방법 및 장치가 요구된다는 것을 알게 되었다.In order to be able to more accurately grasp the user's intention through supplementation of the previous text, even if the current text is incomplete, the present inventor is based on the correlation between the current text and the previous text, and the embedding result for the current text and the previous text. It has been found that there is a need for a method and apparatus for determining an input of a conversation prediction model that determines whether to input an embedding result for the text into a conversation prediction model or to input an embedding result for the current text into the conversation prediction model.
본 발명자는 사용자의 상황에 보다 부합하는 응답을 할 수 있는 챗봇의 구현이 가능려면, 현재 텍스트에 포함된 형태소 및 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 텍스트 임베딩 방법 및 장치가 요구된다는 것을 알게 되었다.In order to implement a chatbot that can respond more appropriately to the user's situation, the present inventors input the morpheme included in the current text and the attribute value of the current text into the embedding model, so that the attribute value of the text is reflected in the current text. It has been found that there is a need for a text embedding method and apparatus that calculates the embedding result for.
본 발명자는 대화 분위기나 대화 맥락을 보다 정확하게 파악하여 사용자와 보다 수월하게 대화하는 것이 가능한 챗봇을 구현하려면, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 대화 예측 모델의 입력 결정 방법 및 장치가 요구된다는 것을 알게 되었다.In order to implement a chatbot that can more accurately identify the atmosphere or context of a conversation and communicate with a user more easily, the present inventors have a conversation prediction model that inputs the embedding result for the current text and the embedding result for the previous text into the conversation prediction model. It has been found that a method and apparatus for determining the input of is required.
본 발명자는 적은 학습 데이터 만으로도, 키워드의 설정에 따라, 상이한 텍스트들에 대한 임베딩 결과의 차이를 선택적으로 증가시킴으로써, 대화 예측 모델이 사용자의 비슷한 텍스트들에 대하여서도 정확한 응답을 할 수 있다는 것을 알게되었다.The present inventors have found that even with little learning data, by selectively increasing the difference between the embedding results for different texts according to the keyword setting, the dialog prediction model can accurately respond to similar texts of the user. .
일 실시예에 따른 대화 예측 모델의 입력 결정 방법이 개시된다. 일 실시예에 따른 대화 예측 모델의 입력 결정 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 이전 텍스트에 대한 임베딩 결과를 저장하는 단계; 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 포함한다.Disclosed is a method of determining an input of a conversation prediction model according to an embodiment. A method of determining an input of a conversation prediction model according to an embodiment is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, comprising: Storing the embedding result; Receiving the current text; Embedding the current text; Determining a correlation between the current text and the previous text; And determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model or to input the embedding result for the current text into the conversation prediction model based on the correlation. Includes.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.According to an embodiment, the step of determining the correlation between the current text and the previous text includes correlation between the current text and the previous text based on whether an indication pronoun morpheme exists among morphemes included in the current text. Figure out the relationship.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.According to an embodiment, the step of determining the correlation between the current text and the previous text includes inputting the embedding result for the current text and the embedding result for the previous text into a text correlation prediction model, and the text correlation Based on the output value of the relationship prediction model, a correlation between the current text and the previous text is determined.
실시예에 따라, 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계는, 상기 상관 관계가 있는 것으로 결정된 경우, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정한다.According to an embodiment, based on the correlation, whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model, or input the embedding result for the current text into the conversation prediction model The step of determining whether to do is, when it is determined that there is the correlation, it is determined to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and when it is determined that there is no correlation , It is determined to input the embedding result for the current text into the conversation prediction model.
일 실시예에 따른 대화 예측 모델의 입력 결정 장치가 개시된다. 일 실시예에 따른 대화 예측 모델의 입력 결정 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 실행하기 위한 명령어들을 포함한다.An apparatus for determining an input of a conversation prediction model according to an embodiment is disclosed. An apparatus for determining an input of a conversation prediction model according to an embodiment includes: at least one processor; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: receiving a current text; Embedding the current text; Determining a correlation between the current text and the previous text; And determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model or to input the embedding result for the current text into the conversation prediction model based on the correlation. Contains instructions for executing.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.According to an embodiment, the step of determining the correlation between the current text and the previous text includes correlation between the current text and the previous text based on whether an indication pronoun morpheme exists among morphemes included in the current text. Figure out the relationship.
실시예에 따라, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는, 상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악한다.According to an embodiment, the step of determining the correlation between the current text and the previous text includes inputting the embedding result for the current text and the embedding result for the previous text into a text correlation prediction model, and the text correlation Based on the output value of the relationship prediction model, a correlation between the current text and the previous text is determined.
실시예에 따라, 상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계는, 상기 상관 관계가 있는 것으로 결정된 경우, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정한다.According to an embodiment, based on the correlation, whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model, or input the embedding result for the current text into the conversation prediction model The step of determining whether to do is, when it is determined that there is the correlation, it is determined to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and when it is determined that there is no correlation , It is determined to input the embedding result for the current text into the conversation prediction model.
일 실시예에 따른 텍스트 임베딩 방법이 개시된다. 일 실시예에 따른 텍스트 임베딩 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계; 및 상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계를 포함한다.A text embedding method according to an embodiment is disclosed. A text embedding method according to an embodiment is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, the method comprising: receiving a current text; Classifying the generation information of the current text according to a predetermined criterion to determine an attribute value of the current text; And calculating an embedding result for the current text reflecting the attribute value of the text by inputting the morpheme included in the current text and the attribute value of the current text into an embedding model.
일 실시예에 따른 텍스트 임베딩 장치가 개시된다. 일 실시예에 따른 텍스트 임베딩 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계; 및 상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계를 실행하기 위한 명령어들을 포함한다.A text embedding apparatus according to an embodiment is disclosed. A text embedding apparatus according to an embodiment includes at least one processor; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: receiving a current text; Classifying the generation information of the current text according to a predetermined criterion to determine an attribute value of the current text; And instructions for executing the step of calculating an embedding result for the current text reflecting the attribute value of the text by inputting the morpheme included in the current text and the attribute value of the current text into the embedding model.
다른 실시예에 따른 대화 예측 모델의 입력 결정 방법이 개시된다. 다른 실시예에 따른 대화 예측 모델의 입력 결정 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 및 상기 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 단계를 포함한다.A method of determining an input of a conversation prediction model according to another embodiment is disclosed. A method of determining an input of a conversation prediction model according to another embodiment is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, wherein a current text is input Receiving step; Embedding the current text; And inputting the embedding result for the current text and the embedding result for the previous text into a conversation prediction model.
다른 실시예에 따른 대화 예측 모델의 입력 결정 장치가 개시된다. 다른 실시예에 따른 대화 예측 모델의 입력 결정 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 현재 텍스트를 입력받는 단계; 상기 현재 텍스트를 임베딩하는 단계; 및 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 단계를 실행하기 위한 명령어들을 포함한다.An apparatus for determining an input of a conversation prediction model according to another embodiment is disclosed. An apparatus for determining an input of a conversation prediction model according to another embodiment includes: at least one processor; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: receiving a current text; Embedding the current text; And instructions for executing the step of inputting the embedding result for the current text and the embedding result for the previous text into a conversation prediction model.
다른 실시예에 따른 텍스트 임베딩 방법이 개시된다. 일 실시예에 따른 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 텍스트에 포함된 키워드 형태소를 결정하는 단계; 및 상기 키워드 형태소에 가중치를 두고 상기 텍스트를 임베딩하는 단계를 포함한다.A text embedding method according to another embodiment is disclosed. A method according to an embodiment is a method performed in a computing device having one or more processors and a memory for storing one or more programs executed by the one or more processors, comprising: determining a keyword morpheme included in a text ; And embedding the text with a weight on the keyword morpheme.
실시예에 따라, 상기 텍스트에 포함된 키워드를 결정하는 단계는, 상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정한다.According to an embodiment, in the determining of a keyword included in the text, a morpheme included in a pre-stored keyword list among the morphemes included in the text is determined as the keyword morpheme.
실시예에 따라, 상기 텍스트에 포함된 키워드를 결정하는 단계는, 상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 상기 일부 중복되는 형태소 중 글자수가 최대인 형태소를 키워드 형태소로 결정한다.According to an embodiment, the determining of a keyword included in the text includes, when some morphemes included in a previously stored keyword list among the morphemes included in the text are partially overlapped, a morpheme having a maximum number of letters among the partially overlapped morphemes is selected. Determined by keyword morpheme.
실시예에 따라, 상기 텍스트를 임베딩하는 단계는, 상기 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 상기 텍스트에 포함된 형태소 중 상기 키워드 형태소를 임베딩 모델에 중복 입력함으로써 상기 텍스트에 대한 임베딩 결과를 계산한다.According to an embodiment, in the embedding of the text, the morpheme included in the text is input into the embedding model, and the keyword morpheme among the morphemes included in the text is duplicated in the embedding model, thereby generating an embedding result for the text. Calculate.
실시예에 따라, 상기 텍스트를 임베딩하는 단계는, 상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 합산하되, 상기 형태소 중 상기 키워드 형태소에 대한 다차원 벡터 행렬에 가중치를 두고 합산함으로써, 상기 텍스트에 대한 임베딩 결과를 계산한다.According to an embodiment, the embedding of the text includes calculating a multidimensional vector matrix for each morpheme included in the text, and summing a multidimensional vector matrix for each morpheme included in the text, wherein the keyword among the morphemes The multidimensional vector matrix for the morpheme is weighted and summed to calculate the embedding result for the text.
다른 실시예에 따른 텍스트 임베딩 장치가 개시된다. 일 실시예에 따른 장치는 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 텍스트에 포함된 키워드 형태소를 결정하는 단계; 및 상기 키워드 형태소에 가중치를 두고 상기 텍스트를 임베딩하는 단계를 실행하기 위한 명령어들을 포함한다.A text embedding apparatus according to another embodiment is disclosed. An apparatus according to an embodiment includes one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: determining a keyword morpheme included in the text; And instructions for executing the step of embedding the text with a weight on the keyword morpheme.
실시예에 따라, 상기 텍스트에 포함된 키워드를 결정하는 단계는, 상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정한다.According to an embodiment, in the determining of a keyword included in the text, a morpheme included in a pre-stored keyword list among the morphemes included in the text is determined as the keyword morpheme.
실시예에 따라, 상기 텍스트에 포함된 키워드를 결정하는 단계는, 상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 상기 일부 중복되는 형태소의 글자수에 기초하여 키워드 형태소로 결정한다.According to an embodiment, the determining of a keyword included in the text may include, when some of the morphemes included in the text are partially duplicated in a pre-stored keyword list, the keyword is based on the number of letters of the partially overlapped morphemes. Determined by morpheme.
실시예에 따라, 상기 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 상기 텍스트에 포함된 형태소 중 상기 키워드 형태소를 임베딩 모델에 중복 입력함으로써 상기 텍스트에 대한 임베딩 결과를 계산한다.According to an embodiment, a morpheme included in the text is input into an embedding model, and the keyword morpheme among the morphemes included in the text is repeatedly input into the embedding model to calculate an embedding result for the text.
실시예에 따라, 상기 텍스트를 임베딩하는 단계는, 상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 합산하되, 상기 형태소 중 상기 키워드 형태소에 대한 다차원 벡터 행렬에 가중치를 두고 합산함으로써, 상기 텍스트에 대한 임베딩 결과를 계산한다.According to an embodiment, the embedding of the text includes calculating a multidimensional vector matrix for each morpheme included in the text, and summing a multidimensional vector matrix for each morpheme included in the text, wherein the keyword among the morphemes The multidimensional vector matrix for the morpheme is weighted and summed to calculate the embedding result for the text.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.
일 실시예에 따르면, 현재 텍스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정함으로써, 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악하는 것이 가능해지며, 현재 텍스트가 불완전하지 않다면, 현재 텍스트와 이전 텍스트가 독립적이라 전제하여 이전 텍스트가 현재 텍스트에 대한 응답에 영향을 주는 것을 방지할 수 있다.According to an embodiment, based on the correlation between the current text and the previous text, whether to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, or the embedding result for the current text to predict the conversation By deciding whether to input into the model, even if the current text is incomplete, it is possible to more accurately grasp the intention of the user by supplementing the previous text. If the current text is not incomplete, the previous text is assumed to be independent of the current text and the previous text. Can be prevented from affecting the response to the current text.
다른 실시예에 따르면, 현재 텍스트에 포함된 형태소 및 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산함으로써, 사용자의 상황에 보다 부합하는 응답을 할 수 있는 챗봇의 구현이 가능하다.According to another embodiment, by calculating the embedding result for the current text reflecting the attribute value of the text by inputting the morpheme included in the current text and the attribute value of the current text into the embedding model, a response more appropriate to the user's situation is provided. It is possible to implement a chatbot that can do it.
또 다른 실시예에 따르면, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력함으로써, 대화 분위기나 대화 맥락을 보다 정확하게 파악하여 사용자와 보다 수월하게 대화하는 것이 가능한 챗봇을 구현할 수 있다.According to another embodiment, by inputting the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, a chatbot that can more accurately grasp the atmosphere or context of the conversation and communicate with the user more easily is implemented. I can.
또 다른 실시예에서, 텍스트에 포함된 키워드 형태소를 결정하고, 키워드 형태소에 가중치를 두고 상기 텍스트를 임베딩함으로써, 대화 예측 모델이 보다 적은 학습 데이터로 보다 정확한 응답을 할 수 있다. 구체적으로, 일 실시예에 따르면, 적은 학습 데이터 만으로도, 키워드의 설정에 따라, 상이한 텍스트들에 대한 임베딩 결과의 차이를 선택적으로 증가시킴으로써, 대화 예측 모델이 비슷한 텍스트들에 대하여서도 응답의 정확성을 향상시킬 수 있다. 실시예에 따라 키워드는 사용자가 자유롭게 설정할 수 있는데, 이에 따라 실시예의 활용 용도나 목적에 따라 현장에 보다 빠르게 투입될 수 있다.In another embodiment, by determining a keyword morpheme included in the text and embedding the text with a weight on the keyword morpheme, the conversation prediction model may provide a more accurate response with less training data. Specifically, according to an embodiment, even with only a small amount of training data, by selectively increasing the difference between the embedding results for different texts according to the keyword setting, the dialogue prediction model improves the accuracy of the response even for similar texts. I can make it. Depending on the embodiment, the keyword can be freely set by the user, and accordingly, the keyword can be input to the site more quickly depending on the application purpose or purpose of the embodiment.
도 1은 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 방법의 순서도이다.1 is a flowchart of a method for determining an input of a conversation prediction model according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 과정을 설명하기 위한 예시도이다.2 is an exemplary diagram illustrating a process of determining an input of a conversation prediction model according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 지시 대명사 형태소를 결정하는 과정을 설명하기 위한 예시도이다.3 is an exemplary diagram for explaining a process of determining an indication pronoun morpheme according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 텍스트 임베딩 방법의 순서도이다.4 is a flowchart of a text embedding method according to an embodiment of the present invention.
도 5는 본 발명의 다른 실시예에 따른 대화 예측 모델의 입력 결정 방법의 순서도이다.5 is a flowchart of a method for determining an input of a conversation prediction model according to another embodiment of the present invention.
도 6은 본 발명의 다른 실시예에 따른 텍스트 임베딩 방법의 순서도이다.6 is a flowchart of a text embedding method according to another embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 텍스트를 임베딩하는 과정을 설명하기 위한 예시도이다.7 is an exemplary diagram illustrating a process of embedding text according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 키워드 형태소를 결정하는 과정을 설명하기 위한 예시도이다.8 is an exemplary diagram for explaining a process of determining a keyword morpheme according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 형태소를 임베딩 모델에 입력하는 과정을 설명하기 위한 예시도이다.9 is an exemplary diagram for explaining a process of inputting a morpheme into an embedding model according to an embodiment of the present invention.
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.10 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, only these embodiments are intended to complete the disclosure of the present invention, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have, and the invention is only defined by the scope of the claims.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.The shapes, sizes, ratios, angles, numbers, etc. disclosed in the drawings for explaining the embodiments of the present invention are exemplary, and thus the present invention is not limited to the illustrated matters. In addition, in describing the present invention, when it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. When'include','have','consists of' and the like mentioned in the present specification are used, other parts may be added unless'only' is used. In the case of expressing the constituent elements in the singular, it includes the case of including the plural unless specifically stated otherwise.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the components, even if there is no explicit description, it is interpreted as including an error range.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although the first, second, and the like are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.The same reference numerals refer to the same elements throughout the specification.
도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 도시된 것이며, 본 발명이 도시된 구성의 크기 및 두께에 반드시 한정되는 것은 아니다.The size and thickness of each component shown in the drawings are illustrated for convenience of description, and the present invention is not necessarily limited to the size and thickness of the illustrated component.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each of the features of the various embodiments of the present invention may be partially or entirely combined or combined with each other, and as a person skilled in the art can fully understand, technically various interlocking and driving are possible, and each of the embodiments may be independently implemented with respect to each other. It may be possible to do it together in a related relationship
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 텍스트 임베딩 방법의 순서도이다.1 is a flowchart of a text embedding method according to an embodiment of the present invention.
도 1에 도시된 방법은 예를 들어, 도 10에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.The method shown in FIG. 1 may be performed, for example, by the computing device 12 shown in FIG. 10.
먼저, 컴퓨팅 장치 (12) 는 이전 텍스트에 대한 임베딩 결과를 저장한다 (S110).First, the computing device 12 stores the embedding result for the previous text (S110).
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받는다 (S120).Next, the computing device 12 receives the current text (S120).
텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다.The text may be, for example, text extracted from the user's voice.
다만, 이에 한정되는 것은 아니며, 텍스트는 예를 들어, 사용자의 키보드 타이핑으로부터 입력될 수도 있다.However, the present invention is not limited thereto, and the text may be input from, for example, a user's keyboard typing.
예를 들어, 텍스트는 “커피 시켜줘”, “치킨 시켜줘”와 같은 음식 주문일 수 있다. 다만, 이에 한정되는 것은 아니며, 실시예에 따라 다양한 텍스트가 존재할 수 있다. 예를 들어, 텍스트는 “배가 아파요”, “어깨가 결려요”와 같은 질병 증상에 대한 내용일 수도 있다.For example, the text could be a food order such as “Give me coffee” or “Give me chicken”. However, the present invention is not limited thereto, and various texts may exist according to embodiments. For example, the text may be about symptoms of a disease such as “I have a stomachache” or “I have a tight shoulder”.
현재 텍스트는 현재 입력된 텍스트를 말하며, 이전 텍스트는 현재 텍스트가 입력되기 전에 입력된 텍스트를 말한다. 한편, 현재 텍스트는 발명의 실시 시점의 순간 (찰나) 를 지칭하기 위한 용어는 아니며, 이전 텍스트와 구별을 위한 용어이다.The current text refers to the currently input text, and the previous text refers to the text input before the current text is input. On the other hand, the current text is not a term for referring to a moment (a moment) at the time of implementation of the invention, but a term for distinguishing it from the previous text.
예를 들어, 이전 텍스트는 “커피 시켜줘”와 같은 음식 주문일 수 있고, 현재 텍스트는 “그거 취소해줘”와 같은 음식 취소일 수 있다.For example, the previous text could be a food order such as “make me coffee”, and the current text could be a food cancellation such as “cancel that”.
한편, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다.Meanwhile, the computing device 12 may extract one or more morphemes included in the current text.
예를 들어, 현재 텍스트에 포함된 형태소는 도 2에 도시된 형태소 분석기에 의해 추출될 수 있다.For example, a morpheme included in the current text may be extracted by the morpheme analyzer shown in FIG. 2.
도 3에 도시된 바와 같이, 현재 텍스트가 형태소 분석기에 입력된 경우 현재 텍스트에 포함된 하나 이상의 형태소가 출력될 수 있다.As shown in FIG. 3, when the current text is input to the morpheme analyzer, one or more morphemes included in the current text may be output.
예를 들어, “커피 시켜줘”가 형태소 분석기에 입력된 경우 “커피” 및 “시키다”가 출력될 수 있고, “그거 취소해줘”가 형태소 분석기에 입력된 경우 “그것” 및 “취소하다”가 출력될 수 있다.For example, if “make coffee” is input to the morpheme analyzer, “coffee” and “make” may be output, and if “cancel that” is input to the morpheme analyzer, “it” and “cancel” are output. Can be.
한편, 컴퓨팅 장치 (12) 는 현재 텍스트를 임베딩할 수 있다.Meanwhile, the computing device 12 can embed the current text.
예를 들어, 텍스트의 임베딩은 도 2에 도시된 임베딩 모델에 의해 수행될 수 있다.For example, embedding of text may be performed by the embedding model shown in FIG. 2.
임베딩 모델은 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 현재 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬의 평균값을 현재 텍스트에 대한 임베딩 결과로 결정할 수도 있다.The embedding model may calculate an embedding result for the current text by calculating a multidimensional vector matrix for each morpheme included in the current text and summing the multidimensional vector matrix for each morpheme. However, the present invention is not limited thereto, and the embedding model may determine the average value of the multidimensional vector matrix for each of the morphemes as the embedding result for the current text.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트가 “커피 시켜줘”인 경우, “커피”, “시키다”를 임베딩 모델에 입력함으로써 “커피 시켜줘”에 대한 임베딩 결과를 계산할 수 있다. 이때, 임베딩 모델은 “커피”, “시키다” 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합을 “커피 시켜줘”에 대한 임베딩 결과로 결정할 수 있다.For example, when the current text is "make coffee", the computing device 12 may calculate an embedding result for "make coffee" by inputting "make coffee" and "make coffee" in the embedding model. In this case, the embedding model may calculate a multidimensional vector matrix for each of “coffee” and “make”, and determine the sum of the multidimensional vector matrix for each of the morphemes as an embedding result for “make coffee”.
다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트가 “그거 취소해줘”인 경우, “그것”, “취소하다”를 임베딩 모델에 입력함으로써 “그거 취소해줘”에 대한 임베딩 결과를 계산할 수 있다. 이때, 임베딩 모델은 “그것”, “취소하다” 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합을 “그것 취소해줘”에 대한 임베딩 결과로 결정할 수 있다.As another example, when the current text is "Cancel that", the computing device 12 may calculate an embedding result for "Cancel that" by inputting "it" and "cancel" into the embedding model. In this case, the embedding model may calculate a multidimensional vector matrix for each of “it” and “cancel”, and determine the sum of the multidimensional vector matrix for each of the morphemes as the embedding result for “cancel it”.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트와 이전 텍스트의 상관 관계를 파악한다 (S130).Next, the computing device 12 determines the correlation between the current text and the previous text (S130).
일 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.As an example, the computing device 12 may determine a correlation between the current text and the previous text based on whether or not an indication pronoun morpheme exists among morphemes included in the current text.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 및 기 저장된 지시 대명사 리스트를 비교함으로써 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다. 지시 대명사 리스트란 지시 대명사의 집합을 의미한다.For example, the computing device 12 may determine the correlation between the current text and the previous text by comparing the morpheme included in the current text and a pre-stored indication pronoun list. The denoting pronoun list means a set of denoting pronouns.
지시 대명사 리스트의 지시 대명사는 예를 들어, 사용자에 의해 설정될 수 있다. 예를 들어, “이것”, “저것”, “그것”, “이때”, “저때”, “그때”, “여기”, “거기”, “저기” 등이 지시 대명사로 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 사용자는 활용 목적을 고려하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위한 모든 형태소를 지시 대명사 리스트의 지시 대명사로 설정할 수 있다.Indicative pronouns in the indicative pronoun list may be set by a user, for example. For example, “this”, “that”, “it”, “this time”, “that time”, “then”, “here”, “there”, and “there” can be set as denoting pronouns. However, the present invention is not limited thereto, and the user may set all morphemes for grasping the correlation between the current text and the previous text as the indicating pronouns in the indicating pronoun list in consideration of the purpose of use.
즉, 본 발명에 있어서 지시 대명사는 국어적 의미의 지시 대명사를 포함하지만, 이에 한정되는 것은 아니며, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위해 사용자가 설정 가능한 모든 용어를 포함한다.That is, in the present invention, the indicative pronoun includes the indicative pronoun in the Korean language, but is not limited thereto, and includes all terms that can be set by the user to grasp the correlation between the current text and the previous text.
한편, 지시 대명사 리스트는 사용자에 의해 계속하여 업데이트될 수 있다. 지시 대명사 리스트의 자유로운 변경이 가능함에 따라, 사용자는 학습 데이터의 축적 없이 챗봇의 활용범위를 자유롭고 빠르게 넓힐 수 있다. 즉, 컴퓨팅 장치 (12) 는 적은 학습 데이터 만으로도, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.Meanwhile, the indication pronoun list may be continuously updated by the user. As the list of indication pronouns can be freely changed, the user can freely and quickly expand the range of use of the chatbot without accumulating learning data. That is, the computing device 12 can grasp the correlation between the current text and the previous text with only a small amount of learning data.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 기 저장된 지시 대명사 리스트에 포함되는 형태소의 존재 여부에 기초하여 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.The computing device 12 may determine a correlation between the current text and the previous text based on whether or not a morpheme included in the pre-stored indication pronoun list among the morphemes included in the current text exists.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하지 않는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다. 일반적으로, 지시 대명사가 현재 택스트에 포함된 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 높다고 볼 수 있기 때문이다.For example, when there is an indication pronoun morpheme among the morphemes included in the current text, the computing device 12 determines that there is a correlation between the current text and the previous text, and among the morphemes included in the current text, the indicating pronoun morpheme If is not present, it may be determined that there is no correlation between the current text and the previous text. In general, this is because when a denoting pronoun is included in the current text, the correlation between the current text and the previous text can be considered high.
다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.As another example, the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the text correlation prediction model, and based on the output value of the text correlation prediction model, the current text and the previous text are Correlation can be identified.
일 실시예에 따른 상관 관계 예측 모델은 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 입력 받아 현재 텍스트와 이전 텍스트의 상관 관계를 출력할 수 있다. 한편, 이 경우, 사용자는 상관 관계 예측 모델에 대하여 현재 텍스트와 이전 텍스트의 상관 관계를 학습시킬 수 있다.The correlation prediction model according to an embodiment may receive an embedding result for a current text and an embedding result for a previous text and output a correlation between the current text and the previous text. Meanwhile, in this case, the user can learn the correlation between the current text and the previous text with respect to the correlation prediction model.
이때, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다.At this time, when the output value of the text correlation prediction model is greater than or equal to a preset value, the computing device 12 determines that there is a correlation between the current text and the previous text, and the output value of the text correlation prediction model is a preset value. If it is less than, it may be determined that there is no correlation between the current text and the previous text.
실시예에 따라, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 2 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정하고, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 미만 그리고 기 설정된 제 2 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 중립인 것으로 결정할 수 있다.According to an embodiment, when the output value of the text correlation prediction model is greater than or equal to a preset first value, the computing device 12 determines that there is a correlation between the current text and the previous text, and outputs the text correlation prediction model. If the value is less than the preset second value, it is determined that there is no correlation between the current text and the previous text, and if the output value of the text correlation prediction model is less than a preset first value and more than a preset second value, the current It can be determined that the correlation between the text and the previous text is neutral.
또 다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트와 이전 텍스트를 텍스트 상관 관계 예측 모델에 입력하고, 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수도 있다.As another example, the computing device 12 may input the current text and the previous text into the text correlation prediction model, and determine a correlation between the current text and the previous text based on an output value of the text correlation prediction model.
이때, 상관 관계 예측 모델은 현재 텍스트와 이전 텍스트를 직접적으로 입력 받아 현재 텍스트와 이전 텍스트의 상관 관계를 출력할 수 있다. 이 경우, 사용자는 상관 관계 예측 모델에 대하여 현재 텍스트와 이전 텍스트의 상관 관계를 직접적으로 학습시킬 수 있다.In this case, the correlation prediction model may receive a current text and a previous text directly and output a correlation between the current text and the previous text. In this case, the user can directly learn the correlation between the current text and the previous text with respect to the correlation prediction model.
다음으로, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정한다 (S140).Next, based on the correlation between the current text and the previous text, the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, or the embedding result for the current text. It is determined whether to input into the conversation prediction model (S140).
예를 들어, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하고, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.For example, when it is determined that there is a correlation between the current text and the previous text, the computing device 12 determines to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and When it is determined that there is no correlation between the text and the previous text, it may be determined to input the embedding result for the current text into the conversation prediction model.
예를 들어, 이전 텍스트가 “커피 시켜줘”이고, 현재 텍스트가 “그거 취소해줘”인 경우, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 판단하고, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.For example, if the previous text is “make coffee” and the current text is “cancel that”, the computing device 12 determines that there is a correlation between the current text and the previous text, and embeds the current text. It can be determined by inputting the result and the embedding result for the previous text into the conversation prediction model.
이후, 컴퓨팅 장치 (12) 가 이전 텍스트인 “커피 시켜줘”에 대한 임베딩 결과 및 현재 텍스트인 “그거 취소해줘”에 대한 임베딩 결과를 대화 예측 모델에 입력하게 되면, 예를 들어, 대화 예측 모델은 “커피 취소해줘”에 대응되는 응답을 할 수 있다. 이로써, 현재 텍스트가 불완전하더라도, 이전 텍스트의 보충을 통해 사용자의 의사를 보다 정확하게 파악하는 것이 가능해질 수 있다. 한편, 현재 텍스트가 불완전하지 않다면, 현재 텍스트와 이전 텍스트가 독립적이라 전제하여 이전 텍스트가 현재 텍스트에 대한 응답에 영향을 주는 것을 방지할 수 있다. 이로써, 현재 텍스트가 완전한지 불완전한지에 따라 응답 방법을 달리하여 선택 적으로 사용자와 대화를 수월하게 할 수 있는 챗봇을 구현할 수 있다.Thereafter, when the computing device 12 inputs the embedding result for the previous text “make coffee” and the embedding result for the current text “cancel that” into the conversation prediction model, for example, the conversation prediction model is “ You can respond to “Cancel coffee”. Accordingly, even if the current text is incomplete, it may be possible to more accurately grasp the intention of the user by supplementing the previous text. Meanwhile, if the current text is not incomplete, it is possible to prevent the previous text from affecting the response to the current text by assuming that the current text and the previous text are independent. Accordingly, it is possible to implement a chatbot that can facilitate a conversation with a user selectively by varying the response method depending on whether the current text is complete or incomplete.
구체적으로, 개시되는 실시예에 따르면, 현재 텍스트에 지시 대명사가 있어 현재 텍스트만으로 그 지시 대상을 파악할 수 없어도, 현재 텍스트에 이전 텍스트를 보충하여 그 지시 대상을 명확하게 파악할 수 있다. 보다 구체적으로, 개시되는 실시예에 따르면, 현재 텍스트에 지시 대명사가 있어 사용자의 음성을 통해 그 표시상의 의미를 명확하게 파악할 수 없는 경우라 하더라도, 이전 텍스트에 포함된 지시 대상을 현재 텍스트에 보충함으로써 현재 텍스트에 내재된 사용자의 내심적 의사까지 보다 정확하게 파악할 수 있는 챗봇을 구현할 수 있다.Specifically, according to the disclosed embodiment, even if the current text has an indication pronoun so that the indication object cannot be recognized only with the current text, the indication object can be clearly identified by supplementing the previous text with the current text. More specifically, according to the disclosed embodiment, even if the current text has an indication pronoun and the meaning of the indication cannot be clearly understood through the user's voice, the indication object included in the previous text is supplemented with the current text. It is possible to implement a chatbot that can more accurately grasp the user's inner intentions embedded in the current text.
한편, 실시예에 따라, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 중립인 것으로 결정된 경우, 사용자의 정책 내지 설정에 따라 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하거나 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.On the other hand, according to an embodiment, when it is determined that the correlation between the current text and the previous text is neutral, the computing device 12 displays the embedding result for the current text and the embedding result for the previous text according to the user's policy or setting. It may be determined to input into the conversation prediction model or to input the embedding result for the current text into the conversation prediction model.
한편, 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Meanwhile, in the illustrated flow chart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, performed together, omitted, divided into detailed steps, or shown. One or more steps that have not been performed may be added and performed.
도 2는 본 발명의 일 실시예에 따른 대화 예측 모델의 입력 결정 과정을 설명하기 위한 예시도이다.2 is an exemplary diagram illustrating a process of determining an input of a conversation prediction model according to an embodiment of the present invention.
컴퓨팅 장치 (12) 는 형태소 분석기, 임베딩 모델 및 지시 대명사 리스트를 포함하고, 대화 예측 모델을 더 포함할 수 있다.The computing device 12 includes a morpheme analyzer, an embedding model, and an indication pronoun list, and may further include a conversation prediction model.
먼저, 컴퓨팅 장치 (12) 는 이전 텍스트에 대한 임베딩 결과를 저장한다.First, the computing device 12 stores an embedding result for the previous text.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받을 수 있다.Next, the computing device 12 can receive the current text.
예를 들어, 컴퓨팅 장치 (12) 는 마이크 (미도시) 를 통해 텍스트를 입력받을 수 있다. 다만, 이에 한정되는 것은 아니며, 컴퓨팅 장치 (12) 는 키보드 (미도시) 를 통해 텍스트를 입력받을 수도 있다. 한편, 텍스트는 사용자의 음성으로부터 잡음이 제거된 결과물일 수도 있다.For example, the computing device 12 may receive text through a microphone (not shown). However, the present invention is not limited thereto, and the computing device 12 may receive text through a keyboard (not shown). Meanwhile, the text may be a result of removing noise from the user's voice.
컴퓨팅 장치 (12) 는 형태소 분석기를 통해 현재 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다.The computing device 12 may extract one or more morphemes included in the current text through the morpheme analyzer.
형태소 분석기에는 오픈 소스인 한나눔 형태소 분석기, 꼬꼬마 형태소 분석기, 트위터 형태소 분석기, 고려대 형태소 분석기, 한라 형태소 분석기, 코머 형태소 분석기 등이 이용될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 공지의 형태소 분석기, 및 이들의 조합이 형태소 분석기로 이용될 수도 있다.For the morpheme analyzer, open source Hannanum morpheme analyzer, little morpheme analyzer, tweeter morpheme analyzer, Korea University morpheme analyzer, Halla morpheme analyzer, and Komer morpheme analyzer can be used. However, the present invention is not limited thereto, and other known morpheme analyzers and combinations thereof may be used as morpheme analyzers.
컴퓨팅 장치 (12) 는 임베딩 모델을 통해 현재 텍스트를 임베딩할 수 있다. Computing device 12 can embed the current text through the embedding model.
임베딩 모델은 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬의 평균값을 텍스트에 대한 임베딩 결과로 결정할 수도 있다.The embedding model may calculate an embedding result for the text by calculating a multidimensional vector matrix for each morpheme included in the text and summing the multidimensional vector matrix for each morpheme. However, the present invention is not limited thereto, and the embedding model may determine an average value of the multidimensional vector matrix for each of the morphemes as a result of embedding text.
임베딩 모델에는 오픈 소스인 CBow 모델, skip-gram 모델, fasttext 모델, word2vec 모델, send2vec 모델 등이 이용될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 공지의 문장 임베딩 모델, 형태소 임베딩 모델, 및 이들의 조합이 임베딩 모델로 이용될 수도 있다.For the embedding model, open source CBow model, skip-gram model, fasttext model, word2vec model, send2vec model, etc. can be used. However, the present invention is not limited thereto, and other well-known sentence embedding models, morpheme embedding models, and combinations thereof may be used as the embedding model.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트와 이전 텍스트의 상관 관계를 파악한다.Next, the computing device 12 finds a correlation between the current text and the previous text.
일 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.As an example, the computing device 12 may determine a correlation between the current text and the previous text based on whether or not an indication pronoun morpheme exists among morphemes included in the current text.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 및 기 저장된 지시 대명사 리스트를 비교함으로써 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.For example, the computing device 12 may determine the correlation between the current text and the previous text by comparing the morpheme included in the current text and a pre-stored indication pronoun list.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 기 저장된 지시 대명사 리스트에 포함되는 형태소의 존재 여부에 기초하여 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.The computing device 12 may determine a correlation between the current text and the previous text based on whether or not a morpheme included in the pre-stored indication pronoun list among the morphemes included in the current text exists.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하지 않는 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다.For example, when there is an indication pronoun morpheme among the morphemes included in the current text, the computing device 12 determines that there is a correlation between the current text and the previous text, and among the morphemes included in the current text, the indicating pronoun morpheme If is not present, it may be determined that there is no correlation between the current text and the previous text.
다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악할 수 있다.As another example, the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the text correlation prediction model, and based on the output value of the text correlation prediction model, the current text and the previous text are Correlation can be identified.
일 실시예에 따른 상관 관계 예측 모델은 현재 텍스트에 대한 임베딩 결과와 이전 텍스트에 대한 임베딩 결과를 입력 받아 현재 텍스트와 이전 텍스트의 상관 관계를 출력할 수 있다.The correlation prediction model according to an embodiment may receive an embedding result for a current text and an embedding result for a previous text and output a correlation between the current text and the previous text.
이때, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정할 수 있다.At this time, when the output value of the text correlation prediction model is greater than or equal to a preset value, the computing device 12 determines that there is a correlation between the current text and the previous text, and the output value of the text correlation prediction model is a preset value. If it is less than, it may be determined that there is no correlation between the current text and the previous text.
실시예에 따라, 컴퓨팅 장치 (12) 는 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정하며, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 2 값 미만인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정하고, 텍스트 상관 관계 예측 모델의 출력 값이 기 설정된 제 1 값 미만 그리고 기 설정된 제 2 값 이상인 경우, 현재 택스트와 이전 텍스트 사이의 상관 관계가 중립인 것으로 결정할 수 있다.According to an embodiment, when the output value of the text correlation prediction model is greater than or equal to a preset first value, the computing device 12 determines that there is a correlation between the current text and the previous text, and outputs the text correlation prediction model. If the value is less than the preset second value, it is determined that there is no correlation between the current text and the previous text, and if the output value of the text correlation prediction model is less than a preset first value and more than a preset second value, the current It can be determined that the correlation between the text and the previous text is neutral.
다음으로, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계에 기초하여, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지 결정한다.Next, based on the correlation between the current text and the previous text, the computing device 12 inputs the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, or the embedding result for the current text. To input into the conversation prediction model.
예를 들어, 컴퓨팅 장치 (12) 는 현재 택스트와 이전 텍스트 사이의 상관 관계가 있는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정하고, 현재 택스트와 이전 텍스트 사이의 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 것으로 결정할 수 있다.For example, when it is determined that there is a correlation between the current text and the previous text, the computing device 12 determines to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and When it is determined that there is no correlation between the text and the previous text, it may be determined to input the embedding result for the current text into the conversation prediction model.
이후, 컴퓨팅 장치 (12) 가 이전 텍스트에 대한 임베딩 결과 및 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할 수 있다.Thereafter, the computing device 12 may input the embedding result for the previous text and the embedding result for the current text into the conversation prediction model.
도 3은 본 발명의 일 실시예에 따른 지시 대명사 형태소를 결정하는 과정을 설명하기 위한 예시도이다.3 is an exemplary diagram for explaining a process of determining an indication pronoun morpheme according to an embodiment of the present invention.
컴퓨팅 장치 (12) 는 현재 텍스트를 입력받을 수 있다.The computing device 12 can currently receive text.
컴퓨팅 장치 (12) 는 형태소 분석기를 통해 현재 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다. 예를 들어, 현재 텍스트에서는 도 3에 도시된 바와 같이, 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소가 추출될 수 있다.The computing device 12 may extract one or more morphemes included in the current text through the morpheme analyzer. For example, in the current text, as shown in FIG. 3, a first morpheme, a second morpheme, a third morpheme, ... The nth morpheme may be extracted.
컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부를 확인할 수 있다.The computing device 12 may check whether an indication pronoun morpheme exists among morphemes included in the current text.
지시 대명사 리스트란 지시 대명사의 집합을 의미한다.The denoting pronoun list means a set of denoting pronouns.
지시 대명사 리스트의 지시 대명사는 예를 들어, 사용자에 의해 설정될 수 있다. 예를 들어, “이것”, “저것”, “그것”, “이때”, “저때”, “그때”, “여기”, “거기”, “저기” 등이 지시 대명사로 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 사용자는 활용 목적을 고려하여, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위한 모든 용어를 지시 대명사 리스트의 지시 대명사로 설정할 수 있다.Indicative pronouns in the indicative pronoun list may be set by a user, for example. For example, “this”, “that”, “it”, “this time”, “that time”, “then”, “here”, “there”, and “there” can be set as denoting pronouns. However, the present invention is not limited thereto, and the user may set all terms for grasping the correlation between the current text and the previous text as the indication pronouns in the indication pronoun list in consideration of the purpose of use.
즉, 본 발명에 있어서 지시 대명사는 국어적 의미의 지시 대명사를 포함하지만, 이에 한정되는 것은 아니며, 현재 텍스트와 이전 텍스트의 상관 관계를 파악하기 위해 사용자가 설정 가능한 모든 용어를 포함한다.That is, in the present invention, the indicative pronoun includes the indicative pronoun in the Korean language, but is not limited thereto, and includes all terms that can be set by the user to grasp the correlation between the current text and the previous text.
한편, 지시 대명사 리스트는 사용자에 의해 계속하여 업데이트될 수 있다. 지시 대명사 리스트의 자유로운 변경이 가능함에 따라, 사용자는 학습 데이터의 축적 없이 챗봇의 활용범위를 자유롭게 넓힐 수 있다.Meanwhile, the indication pronoun list may be continuously updated by the user. As the list of indication pronouns can be freely changed, the user can freely expand the range of use of the chatbot without accumulating learning data.
예를 들어, 리시 대명사 리스트에 제 2 형태소가 지시 대명사로 포함되어 있는 경우, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소가 존재하는 것으로 결정할 수 있다.For example, when the second morpheme is included as an indicative pronoun in the Rishi pronoun list, the computing device 12 may determine that the indicative pronoun morpheme exists among the morphemes included in the current text.
도 4는 본 발명의 다른 실시예에 따른 대화 예측 모델의 입력 결정 방법의 순서도이다.4 is a flowchart of a method for determining an input of a conversation prediction model according to another embodiment of the present invention.
도 4에 도시된 방법은 예를 들어, 도 10에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.The method shown in FIG. 4 may be performed, for example, by the computing device 12 shown in FIG. 10.
먼저, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받는다 (S410).First, the computing device 12 receives the current text (S410).
텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다.The text may be, for example, text extracted from the user's voice.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정할 수 있다 (S420).Next, the computing device 12 may determine the attribute value of the current text by classifying the current text generation information according to a predetermined criterion (S420).
일 예로, 컴퓨팅 장치 (12) 는 외부 장치로부터 현재 텍스트를 입력받을 때 동시에 외부 장치로부터 현재 텍스트의 생성 정보를 입력받을 수 있다. 다른 예로, 컴퓨팅 장치 (12) 는 현재 텍스트를 직접 입력받을 때 동시에 현재 텍스트의 생성 정보를 생성할 수 있다.For example, when the computing device 12 receives the current text from the external device, the computing device 12 may simultaneously receive the current text generation information from the external device. As another example, when the current text is directly input, the computing device 12 may simultaneously generate generation information of the current text.
텍스트의 생성 정보는 예를 들어, 텍스트의 생성자 정보, 텍스트의 생성 시각, 텍스트의 생성 장소 등을 포함할 수 있다. 텍스트의 생성자 정보는 예를 들어, 대상 텍스트 발화자의 식별 정보일 수 있다. 텍스트의 생성 시각은 예를 들어, 대상 텍스트의 발화 시점일 수 있다. 텍스트의 생성 장소는 예를 들어, 대상 텍스트 발화 당시 발화자의 위치일 수 있다.The text generation information may include, for example, text creator information, text generation time, text generation location, and the like. The information on the creator of the text may be, for example, identification information of the speaker of the target text. The creation time of the text may be, for example, the utterance time of the target text. The place where the text is generated may be, for example, the position of the speaker at the time the target text is uttered.
예를 들어, 컴퓨팅 장치 (12) 는 텍스트 생성 정보를 미리 정해진 기준에 따라 분류하여 발화자의 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지 (예: 바닷가, 병원, 마트) 확인할 수 있다.For example, the computing device 12 classifies the text generation information according to a predetermined criterion, according to the occupation, sex, and age group of the talker, according to whether the speech time is morning, lunch, or evening, and the speech time is spring, summer, or Depending on whether it is autumn or winter, whether the location of the talker is indoor or outdoor, it is possible to check whether the location of the talker is indoor or outdoor, and specifically what location (eg, beach, hospital, mart).
구체적으로, 컴퓨팅 장치 (12) 는 텍스트의 식별 정보를 미리 정해진 기준에 따라 분류하여 발화자의 직업, 성별, 연령대 등을 확인할 수 있다. 예를 들어, 컴퓨팅 장치 (12) 는 텍스트의 생성 시각을 미리 정해진 기준에 따라 분류하여 발화 시점이 아침, 점심, 저녁인지, 봄, 여름, 가을, 겨울인지 등을 확인할 수 있다. 예를 들어, 컴퓨팅 장치 (12) 는 텍스트의 생성 장소를 미리 정해진 기준에 따라 분류하여 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지 등을 확인할 수 있다.Specifically, the computing device 12 may classify the identification information of the text according to a predetermined criterion to identify the talker's occupation, gender, age range, and the like. For example, the computing device 12 may classify the generation time of the text according to a predetermined criterion to determine whether the utterance time is morning, lunch, evening, spring, summer, autumn, winter, or the like. For example, the computing device 12 may classify the text generation location according to a predetermined criterion to determine whether the speaker's location is indoors or outdoors, and specifically where it is.
컴퓨팅 장치 (12) 는 텍스트의 생성 정보에 대응되는 속성 값 테이블을 이용하여, 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 현재 텍스트의 속성 값을 결정할 수 있다.The computing device 12 may determine the attribute value of the current text by classifying the current text generation information according to a predetermined criterion using an attribute value table corresponding to the text generation information.
텍스트의 생성 정보에 대응되는 속성 값 테이블은 예를 들어, 텍스트의 생성자 정보에 대응되는 속성 값, 텍스트의 생성 시각에 대응되는 속성 값, 텍스트의 생성 장소에 대응되는 속성 값 등을 포함할 수 있다.The attribute value table corresponding to the text generation information may include, for example, an attribute value corresponding to the text creator information, an attribute value corresponding to a text generation time, an attribute value corresponding to a text generation location, and the like. .
사용자는 텍스트의 생성 정보에 대응되는 속성 값 테이블에 텍스트의 생성자 정보에 대응되는 속성 값, 텍스트의 생성 시각에 대응되는 속성 값, 텍스트의 생성 장소에 대응되는 속성 값 등을 미리 지정하여 둘 수 있다.The user can pre-designate an attribute value corresponding to the creator information of the text, an attribute value corresponding to the creation time of the text, and an attribute value corresponding to the generation location of the text in the attribute value table corresponding to the text generation information. .
이때, 컴퓨팅 장치 (12) 는 텍스트의 생성자 정보에 대응되는 속성 값, 텍스트의 생성 시각에 대응 되는 속성 값, 텍스트의 생성 장소에 대응되는 속성 값, 및 이들의 조합에 따라 현재 텍스트의 속성 값을 결정할 수 있다.At this time, the computing device 12 determines the attribute value corresponding to the text creator information, the attribute value corresponding to the text generation time, the attribute value corresponding to the text generation location, and a combination of the current text attribute values. You can decide.
이로써, 컴퓨팅 장치 (12) 는 발화자의 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지에 따라, 및 이것들의 조합에 따라 현재 텍스트의 속성 값을 결정할 수 있다.Accordingly, the computing device 12 may have a location of the talker indoors, depending on whether the speech time is morning, lunch, or evening, and whether the speech time is spring, summer, autumn, or winter according to the occupation, gender, and age group of the talker. The attribute value of the current text may be determined according to whether the talker is outdoors, according to whether the speaker's location is indoors or outdoors, specifically which place, and a combination thereof.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 현재 텍스트에 대한 임베딩 결과를 계산한다 (S430). 여기서의 현재 텍스트에 대한 임베딩 결과는 텍스트의 속성 값이 반영된 현재 텍스트에 대한 임베딩 결과이다.Next, the computing device 12 calculates an embedding result for the current text by inputting the morpheme included in the current text and the attribute value of the current text into the embedding model (S430). Here, the embedding result for the current text is the embedding result for the current text in which the attribute value of the text is reflected.
예를 들어, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬 및 현재 텍스트의 속성 값에 대한 다차원 벡터 행렬을 계산하고, 상기 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬 및 상기 현재 텍스트의 속성 값에 대한 다차원 벡터 행렬을 합산함으로써, 텍스트의 속성 값이 반영된 현재 텍스트에 대한 임베딩 결과를 계산할 수 있다.For example, the computing device 12 calculates a multidimensional vector matrix for each morpheme included in the current text and a multidimensional vector matrix for attribute values of the current text, and the multidimensional vector matrix for each morpheme included in the current text And by summing the multidimensional vector matrix for the attribute values of the current text, an embedding result for the current text reflecting the attribute values of the text may be calculated.
이후, 컴퓨팅 장치 (12) 가 텍스트의 속성 값이 반영된 현재 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할 수 있다.Thereafter, the computing device 12 may input a result of embedding the current text in which the attribute value of the text is reflected into the conversation prediction model.
대화 예측 모델은 발화자가 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지, 및 이것들의 조합을 반영하여 현재 텍스트에 대한 응답을 할 수 있다.The conversation prediction model is based on the speaker's occupation, gender, and age, depending on whether the utterance time is in the morning, lunch, or evening, the utterance time is in the spring, summer, autumn, and winter, and the location of the talker is indoors or outdoors. , It is possible to respond to the current text by reflecting whether the location of the talker is indoor or outdoor, specifically which place, and combinations thereof.
예를 들어, 대화 예측 모델은 현재 텍스트가 동일하여도, 발화자가 직업, 성별, 연령대에 따라, 발화 시점이 아침, 점심, 저녁인지에 따라, 발화 시점이 봄, 여름, 가을, 겨울인지에 따라, 발화자의 위치가 실내, 실외인지에 따라, 발화자의 위치가 실내, 실외인지, 구체적으로 어느 장소인지에 따라 응답을 달리할 수 있다.For example, even if the current text is the same, the talker's job, gender, and age range, depending on whether the speech is in the morning, lunch, or evening, and whether the speech is in spring, summer, autumn, or winter. , Depending on whether the location of the talker is indoor or outdoor, the response may be different depending on whether the location of the talker is indoor or outdoor, and specifically, which place.
이로써, 사용자의 상황에 보다 부합하는 응답을 할 수 있는 챗봇의 구현이 가능하다.As a result, it is possible to implement a chatbot that can respond more appropriately to the user's situation.
실시예에 따라, 컴퓨팅 장치 (12) 는 현재 텍스트에 포함된 형태소에 대한 임베딩 결과 및 현재 텍스트의 속성 값에 대한 임베딩 결과 각각을 대화 예측 모델에 입력할 수도 있다. 즉, 대화 예측 모델이 현재 텍스트에 포함된 형태소에 대한 임베딩 결과 및 현재 텍스트의 속성 값을 입력받을 수 있다.According to an embodiment, the computing device 12 may input each of the embedding result for the morpheme included in the current text and the embedding result for the attribute value of the current text into the conversation prediction model. That is, the conversation prediction model may receive an embedding result for a morpheme included in the current text and an attribute value of the current text.
도 5는 본 발명의 일 실시예에 따른 텍스트 임베딩 방법의 순서도이다.5 is a flowchart of a text embedding method according to an embodiment of the present invention.
도 5에 도시된 방법은 예를 들어, 도 10에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.The method shown in FIG. 5 may be performed, for example, by the computing device 12 shown in FIG. 10.
먼저, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받는다 (S510).First, the computing device 12 receives the current text (S510).
텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다.The text may be, for example, text extracted from the user's voice.
실시예에 따라, 컴퓨팅 장치 (12) 는 현재 텍스트를 입력받기 전에 이전 텍스트에 대한 임베딩 결과를 저장할 수 있다.According to an embodiment, the computing device 12 may store an embedding result for the previous text before receiving the current text.
현재 텍스트는 현재 입력된 텍스트를 말하며, 이전 텍스트는 현재 텍스트가 입력되기 전에 입력된 텍스트를 말한다. 한편, 현재 텍스트는 발명의 실시 시점의 순간 (찰나) 를 지칭하기 위한 용어는 아니며, 이전 텍스트와 구별을 위한 용어이다.The current text refers to the currently input text, and the previous text refers to the text input before the current text is input. On the other hand, the current text is not a term for referring to a moment (a moment) at the time of implementation of the invention, but a term for distinguishing it from the previous text.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트를 임베딩 한다 (S520).Next, the computing device 12 embeds the current text (S520).
예를 들어, 텍스트의 임베딩은 도 2에 도시된 임베딩 모델에 의해 수행될 수 있다.For example, embedding of text may be performed by the embedding model shown in FIG. 2.
임베딩 모델은 현재 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 현재 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬의 평균값을 현재 텍스트에 대한 임베딩 결과로 결정할 수도 있다.The embedding model may calculate an embedding result for the current text by calculating a multidimensional vector matrix for each morpheme included in the current text and summing the multidimensional vector matrix for each morpheme. However, the present invention is not limited thereto, and the embedding model may determine the average value of the multidimensional vector matrix for each of the morphemes as the embedding result for the current text.
다음으로, 컴퓨팅 장치 (12) 는 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할 수 있다 (S530).Next, the computing device 12 may input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model (S530).
이로써, 대화 예측 모델이 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과에 대한 상관 관계를 자체적으로 반영하여 응답하도록 할 수 있다. 일반적으로, 현재 텍스트와 이전 텍스트는 상호 연관 관계가 어느 정도 존재하기 때문이다. 이로써, 대화 분위기나 대화 맥락을 보다 정확하게 파악하여 사용자와 보다 수월하게 대화하는 것이 가능한 챗봇을 구현할 수 있다.Accordingly, the conversation prediction model can respond by reflecting the correlation between the embedding result for the current text and the embedding result for the previous text by itself. In general, this is because there is some correlation between the current text and the previous text. As a result, it is possible to implement a chatbot that can more accurately identify the atmosphere or context of a conversation and communicate with a user more easily.
도 6은 본 발명의 다른 실시예에 따른 텍스트 임베딩 방법의 순서도이다.6 is a flowchart of a text embedding method according to another embodiment of the present invention.
도 6에 도시된 방법은 예를 들어, 도 10에 도시된 컴퓨팅 장치 (12) 에 의해 수행될 수 있다.The method shown in FIG. 6 may be performed, for example, by the computing device 12 shown in FIG. 10.
먼저, 컴퓨팅 장치 (12) 는 텍스트에 포함된 키워드 형태소를 결정한다 (S610). 여기서, 텍스트는 예를 들어, 사용자의 음성로부터 추출된 텍스트일 수 있다. 다만, 이에 한정되는 것은 아니며, 텍스트는 예를 들어, 사용자의 키보드 타이핑으로부터 입력될 수도 있다.First, the computing device 12 determines a keyword morpheme included in the text (S610). Here, the text may be, for example, text extracted from the user's voice. However, the present invention is not limited thereto, and the text may be input from, for example, a user's keyboard typing.
예를 들어, 텍스트는 “커피 시켜줘”, “치킨 시켜줘”와 같은 음식 주문일 수 있다. 다만, 이에 한정되는 것은 아니며, 실시예에 따라 다양한 텍스트가 존재할 수 있다. 예를 들어, 텍스트는 “배가 아파요”, “어깨가 결려요”와 같은 질병 증상에 대한 내용일 수도 있다.For example, the text could be a food order such as “Give me coffee” or “Give me chicken”. However, the present invention is not limited thereto, and various texts may exist according to embodiments. For example, the text may be about symptoms of a disease such as “I have a stomachache” or “I have a tight shoulder”.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정할 수 있다. 한편, 텍스트에 포함된 형태소는 도 7에 도시된 형태소 분석기에 의해 추출될 수 있다.The computing device 12 may determine a morpheme included in a previously stored keyword list among morphemes included in the text as the keyword morpheme. Meanwhile, the morpheme included in the text may be extracted by the morpheme analyzer shown in FIG. 7.
도 8에 도시된 바와 같이, 텍스트가 형태소 분석기에 입력된 경우 텍스트에 포함된 하나 이상의 형태소가 출력될 수 있다.As illustrated in FIG. 8, when text is input to a morpheme analyzer, one or more morphemes included in the text may be output.
예를 들어, “커피 시켜줘”가 형태소 분석기에 입력된 경우 “커피” 및 “시키다”가 출력될 수 있고, “치킨 시켜줘”가 형태소 분석기에 입력된 경우 “치킨” 및 “시키다”가 출력될 수 있다.For example, if “make coffee” is input to the morpheme analyzer, “coffee” and “sake” may be output, and if “make me chicken” is input to the morpheme analyzer, “chicken” and “switch” may be output. have.
키워드 리스트란 텍스트를 임베딩함에 있어 가중치를 부여될 키워드의 집합을 의미한다. 키워드 리스트의 키워드는 예를 들어, 사용자에 의해 설정될 수 있다.The keyword list refers to a set of keywords to be weighted when embedding text. Keywords in the keyword list may be set by a user, for example.
예를 들어, 주문 장치의 경우, 사용자의 음성에 있어 주문 대상의 구별이 중요할 수 있다. 이때, 사용자는 “커피”, “치킨”, “피자”, “콜라” 등을 키워드 리스트의 키워드로 설정할 수 있다. 다만, 이에 한정되는 것은 아니며, 사용자는 활용 목적을 고려하여, 키워드 리스트의 키워드를 설정할 수 있다.For example, in the case of an ordering device, it may be important to distinguish an order object in the user's voice. At this time, the user may set “coffee”, “chicken”, “pizza”, and “cola” as keywords in the keyword list. However, the present invention is not limited thereto, and the user may set keywords in the keyword list in consideration of the purpose of use.
한편, 키워드 리스트는 사용자에 의해 계속하여 업데이트될 수 있다. 키워드 리스트의 자유로운 변경이 가능함에 따라, 사용자는 학습 데이터의 축적 없이 챗봇의 활용범위를 자유롭게 넓힐 수 있다.Meanwhile, the keyword list may be continuously updated by the user. As the keyword list can be freely changed, the user can freely expand the scope of use of the chatbot without accumulating learning data.
위와 같은 경우, 컴퓨팅 장치 (12) 는 텍스트가 “커피 시켜줘”인 경우, “커피”를, 텍스트가 “치킨 시켜줘”인 경우, “치킨”을 키워드 형태소로 결정할 수 있다.In the above case, the computing device 12 may determine “coffee” when the text is “make coffee”, and determine “chicken” as the keyword morpheme when the text is “make me chicken”.
실시예에 따라, 키워드 리스트의 키워드는 명사만으로 설정될 수도 있고, 형용사만으로 설정될 수도 있고, 동사만으로 설정될 수도 있다.Depending on the embodiment, keywords in the keyword list may be set only with nouns, may be set only with adjectives, or may be set with only verbs.
한편, 텍스트에 포함된 형태소 중 키워드 리스트에 포함된 형태소가 일부 중복되는 경우가 있을 수 있다.Meanwhile, among the morphemes included in the text, there may be a case that some morphemes included in the keyword list are overlapped.
예를 들어, 사용자가 “밀크 커피”, “블랙 커피”, “커피”, “딸기 우유”, “초코 우유”, “우유”를 키워드로 설정하였는데, “밀크 커피 시켜줘”가 형태소 분석기로 입력된 경우, “밀크 커피”와 “커피”가 출력될 수 있다. 이때, “밀크 커피”와 “커피”는 “커피” 부분이 일부 중복된다.For example, the user has set “Milk Coffee”, “Black Coffee”, “Coffee”, “Strawberry Milk”, “Chocolate Milk”, and “Milk” as keywords. In this case, “Milk Coffee” and “Coffee” may be output. At this time, the “coffee” part of “milk coffee” and “coffee” is partially overlapped.
이때, 컴퓨팅 장치 (12) 는 일부 중복되는 형태소의 글자수에 기초하여 하나의 형태소를 키워드 형태소로 결정할 수 있다. 예를 들어, 컴퓨팅 장치 (12) 는 일부 중복되는 형태소의 글자수 중 글자수가 최대인 형태소를 키워드 형태소로 결정할 수 있다.In this case, the computing device 12 may determine one morpheme as the keyword morpheme based on the number of letters of some overlapping morphemes. For example, the computing device 12 may determine a morpheme having the largest number of characters among the number of characters of some overlapping morphemes as the keyword morpheme.
다음으로, 컴퓨팅 장치 (12) 는 키워드 형태소에 가중치를 두고 텍스트를 임베딩할 수 있다 (S620). 텍스트의 임베딩은 도 7에 도시된 임베딩 모델에 의해 수행될 수 있다.Next, the computing device 12 may embed text with a weight on the keyword morpheme (S620). The embedding of text may be performed by the embedding model shown in FIG. 7.
임베딩 모델은 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬을 평균값을 텍스트에 대한 임베딩 결과로 결정할 수도 있다.The embedding model may calculate an embedding result for the text by calculating a multidimensional vector matrix for each morpheme included in the text and summing the multidimensional vector matrix for each morpheme. However, the present invention is not limited thereto, and the embedding model may determine an average value of the multidimensional vector matrix for each of the morphemes as a result of embedding text.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 텍스트에 포함된 형태소 중 키워드 형태소를 임베딩 모델에 중복 입력함으로써 텍스트에 대한 임베딩 결과를 계산할 수 있다. 한편, 키워드 형태소의 중복 입력 횟수 (예: 2번) 는 사용자에 의해 설정될 수 있다.The computing device 12 inputs the morphemes included in the text into the embedding model, and may calculate the embedding result for the text by repeatedly inputting the keyword morphemes among the morphemes included in the text into the embedding model. On the other hand, the number of times (for example, 2 times) of duplicate input of the keyword morpheme may be set by the user.
예를 들어, 컴퓨팅 장치 (12) 는 텍스트가 “커피 시켜줘”인 경우, “커피”, “시키다”를 임베딩 모델에 입력하되, “커피”를 중복 입력함으로써 “커피 시켜줘”에 대한 임베딩 결과를 계산할 수 있다. 구체적으로, 컴퓨팅 장치 (12) 는 “커피”, “커피”, “시키다”를 임베딩 모델에 입력할 수 있다. For example, when the text is “make coffee”, the computing device 12 inputs “coffee” and “make” into the embedding model, but calculates the embedding result for “make coffee” by repeatedly entering “coffee”. I can. Specifically, the computing device 12 may input “coffee”, “coffee”, and “make” into the embedding model.
이때, 임베딩 모델은 “커피”, “커피”, “시키다” 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합을 “커피 시켜줘”에 대한 임베딩 결과로 결정할 수 있다.In this case, the embedding model may calculate a multidimensional vector matrix for each of “coffee”, “coffee”, and “make”, and determine the sum of the multidimensional vector matrix for each of the morphemes as an embedding result for “make coffee”.
한편, 컴퓨팅 장치 (12) 는 “커피 시켜줘”에 대한 임베딩 결과를 다른 방식으로도 계산 가능하다. 예를 들어, 컴퓨팅 장치 (12) 는 텍스트가 “커피 시켜줘”인 경우, “커피”, “시키다” 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 “커피”, “시키다” 각각에 대한 다차원 벡터 행렬을 합산하되, “커피”에 대한 다차원 벡터 행렬에 가중치 (예: 2배) 를 두고 합산함으로써 “커피 시켜줘”에 대한 임베딩 결과를 계산할 수 있다. 구체적으로, 컴퓨팅 장치 (12) 는 “커피”, “시키다” 각각에 대한 다차원 벡터 행렬이 제 1 다차원 벡터 행렬이고, 제 2 다차원 벡터 행렬인 경우, 제 1 다차원 벡터 행렬 * 2 + 제 2 다차원 벡터 행렬을 합을 “커피 시켜줘”에 대한 임베딩 결과로 결정할 수 있다.On the other hand, the computing device 12 can calculate the embedding result for "make coffee" in another way. For example, when the text is "make coffee", the computing device 12 calculates a multidimensional vector matrix for each of "coffee" and "make", and the multidimensional vector matrix for each of the "coffee" and "make" The embedding result for "Give me coffee" can be calculated by summing up, but adding a weight (eg, 2 times) to the multidimensional vector matrix for "coffee". Specifically, when the multidimensional vector matrix for each of “coffee” and “to make” is a first multidimensional vector matrix and a second multidimensional vector matrix, the computing device 12 uses a first multidimensional vector matrix * 2 + a second multidimensional vector The summation of the matrix can be determined as the result of embedding for "make me coffee".
임베딩 결과는 도 7에 도시된 대화 예측 모델의 입력 값으로 이용될 수 있다. 이로써, 대화 예측 모델은 사용자의 비슷한 음성 입력들을 보다 구별하여 보다 정확한 응답을 할 수 있다.The embedding result may be used as an input value of the conversation prediction model shown in FIG. 7. As a result, the conversation prediction model can more accurately distinguish between similar voice inputs of the user and provide a more accurate response.
일 예로, 주문 장치에 있어서, 주문 대상인 키워드에 대해 가중치를 두지 않고 텍스트를 임베딩 하는 경우를 가정한다. “커피 시켜줘”에 대한 임베딩 결과는 “커피”, “시키다” 각각에 대한 다차원 벡터 행렬의 합이며, “치킨 시키다”에 대한 임베딩 결과는 “치킨”, “시키다” 각각에 대한 다차원 벡터 행렬의 합이다.As an example, it is assumed that in the ordering apparatus, text is embedded without weighting a keyword to be ordered. The embedding result for "make coffee" is the sum of the multidimensional vector matrix for each of "coffee" and "make", and the embedding result for "let me chicken" is the sum of the multidimensional vector matrices for each of "chicken" and "make" to be.
다른 예로, 주문 장치에 있어서, 주문 대상인 키워드에 대해 가중치를 두고 텍스트를 임베딩 하는 경우를 가정한다. “커피 시켜줘”에 대한 임베딩 결과는 “커피”, “커피”, “시키다” 각각에 대한 다차원 벡터 행렬의 합이며, “치킨 시키다”에 대한 임베딩 결과는 “치킨”, “치킨”, “시키다” 각각에 대한 다차원 벡터 행렬의 합이다.As another example, in the ordering apparatus, it is assumed that text is embedded with a weight on a keyword to be ordered. The embedding result for "make coffee" is the sum of the multidimensional vector matrix for each of "coffee", "coffee", and "make", and the embedding result for "make a chicken" is "chicken", "chicken", and "make" It is the sum of the multidimensional vector matrices for each.
이해의 편의를 위해 다차원 벡터 행렬을 자연수라 가정하고, 위의 두 경우를 비교한다. 구체적으로, “커피”에 대한 다차원 벡터 행렬은 1, “치킨”에 대한 다차원 벡터 행렬은 2, “시키다”에 대한 다차원 벡터 행렬은 3이라 전제한다. For ease of understanding, the multidimensional vector matrix is assumed to be a natural number, and the above two cases are compared. Specifically, it is assumed that the multidimensional vector matrix for “coffee” is 1, the multidimensional vector matrix for “chicken” is 2, and the multidimensional vector matrix for “to order” is 3.
주문 대상인 키워드에 대해 가중치를 두지 않은 경우에 있어서 “커피 시켜줘”를 임베딩 결과는 1 (“커피”에 대한 다차원 벡터 행렬) + 3 (“시키다”에 대한 다차원 벡터 행렬) 의 합인 4이다. 주문 대상인 키워드에 대해 가중치를 두지 않은 경우에 있어서 “치킨 시켜줘”를 임베딩 결과는 2 (“치킨”에 대한 다차원 벡터 행렬) + 3 (“시키다”에 대한 다차원 벡터 행렬) 의 합인 5이다.In the case where no weight is given to the keyword to be ordered, the result of embedding “make me coffee” is 4, which is the sum of 1 (multidimensional vector matrix for “coffee”) + 3 (multidimensional vector matrix for “to order”). In the case where no weight is given to the keyword to be ordered, the result of embedding "let me chicken" is 5, which is the sum of 2 (multidimensional vector matrix for "chicken") + 3 (multidimensional vector matrix for "let me").
주문 대상인 키워드에 대해 가중치를 둔 경우에 있어서 “커피 시켜줘”를 임베딩 결과는 1 (“커피”에 대한 다차원 벡터 행렬) + 1 (“커피”에 대한 다차원 벡터 행렬) + 3 (“시키다”에 대한 다차원 벡터 행렬) 의 합인 5이다. 주문 대상인 키워드에 대해 가중치를 둔 경우에 있어서 “치킨 시켜줘”를 임베딩 결과는 2 (“치킨”에 대한 다차원 벡터 행렬) + 2 (“치킨”에 대한 다차원 벡터 행렬) + 3 (“시키다”에 대한 다차원 벡터 행렬) 의 합인 7이다.In the case of weighting the keyword to be ordered, the result of embedding “make me coffee” is 1 (multidimensional vector matrix for “coffee”) + 1 (multidimensional vector matrix for “coffee”) + 3 (multidimensional vector matrix for “coffee”) It is 5 which is the sum of the multidimensional vector matrix). In the case of weighting the keyword to be ordered, the embedding result of “Chicken me” is 2 (multidimensional vector matrix for “chicken”) + 2 (multidimensional vector matrix for “chicken”) + 3 (multidimensional vector matrix for “chicken”) It is 7 which is the sum of the multidimensional vector matrix).
주문 대상인 키워드에 대해 가중치를 둔 경우에 있어서 “커피 시켜줘”를 임베딩 결과 (5) 와 “치킨 시키다”에 대한 임베딩 결과 (7) 사이의 차이 (2) 가, 주문 대상인 키워드에 대해 가중치를 두지 않은 경우에 있어서 “커피 시켜줘”를 임베딩 결과 (4) 와 “치킨 시키다”에 대한 임베딩 결과 (5) 사이의 차이 (1) 보다, 크다.The difference (2) between the embedding result (5) for "make coffee" and the embedding result for "make chicken" (7) in the case of weighting the keyword subject to order (2) is not weighted for the keyword subject to order. In the case, the difference (1) between the embedding result (4) and the embedding result (5) for “make coffee” is greater than (1).
따라서, 키워드에 대해 가중치를 둔 일베딩 결과가 대화 예측 모델의 입력 값으로 이용될 때, 키워드에 대해 가중치를 두지 않은 임베딩 결과가 대화 예측 모델의 입력 값으로 이용될 때보다, 대화 예측 모델이 텍스트를 보다 더 구별하여 인식할 수 있다. 즉, 적은 학습 데이터 만으로도, 키워드의 설정에 따라, 상이한 텍스트들에 대한 임베딩 결과의 차이를 선택적으로 증가시킴으로써, 대화 예측 모델은 비슷한 비슷한 텍스트들에 대하여서도 정확한 응답을 할 수 있다.Therefore, when a keyword-weighted work bedding result is used as an input value of a dialogue prediction model, a dialogue prediction model is more textual than when a keyword-weighted embedding result is used as an input value of the dialogue prediction model. Can be recognized more distinctly. That is, even with only a small amount of training data, by selectively increasing the difference between the embedding results for different texts according to the keyword setting, the dialogue prediction model can accurately respond to similar and similar texts.
한편, 키워드에 대해 가중치를 두지 않은 임베딩 결과를 대화 예측 모델의 입력 값으로 이용하는 경우, 키워드에 대해 가중치를 둔 임베딩 결과를 대화 예측 모델의 입력 값으로 이용하는 경우에 비해, 대화 예측 모델이 비슷한 텍스트들에 대하여 정확한 응답을 하기까지 보다 많은 학습 데이터가 요구된다.On the other hand, when the embedding result weighted for a keyword is used as an input value of the conversation prediction model, texts that have similar conversation prediction models compared to the case where the embedding result weighted for the keyword is used as the input value of the conversation prediction model. More learning data is required to give an accurate response to.
따라서, 키워드에 대해 가중치를 둔 임베딩 결과를 대화 예측 모델의 입력 값으로 이용하는 경우, 키워드에 대해 가중치를 두지 않은 임베딩 결과를 대화 예측 모델의 입력 값으로 이용하는 경우에 비해, 보다 경제적이다.Therefore, when the embedding result weighted with respect to the keyword is used as an input value of the conversation prediction model, it is more economical than the case where the embedding result weighted with respect to the keyword is used as the input value of the conversation prediction model.
한편, 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Meanwhile, in the illustrated flow chart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed in a different order, combined with other steps, performed together, omitted, divided into detailed steps, or shown. One or more steps that have not been performed may be added and performed.
도 7는 본 발명의 일 실시예에 따른 텍스트를 임베딩하는 과정을 설명하기 위한 예시도이다.7 is an exemplary diagram illustrating a process of embedding text according to an embodiment of the present invention.
컴퓨팅 장치 (12) 는 형태소 분석기, 임베딩 모델 및 키워드 리스트를 포함하고, 대화 예측 모델을 더 포함할 수 있다.The computing device 12 may include a morpheme analyzer, an embedding model, and a keyword list, and may further include a conversation prediction model.
먼저, 컴퓨팅 장치 (12) 는 텍스트를 입력받을 수 있다.First, the computing device 12 may receive text.
예를 들어, 컴퓨팅 장치 (12) 는 마이크 (미도시) 를 통해 텍스트를 입력받을 수 있다. 다만, 이에 한정되는 것은 아니며, 컴퓨팅 장치 (12) 는 키보드 (미도시) 를 통해 텍스트를 입력받을 수도 있다. 한편, 텍스트는 사용자의 음성으로부터 잡음이 제거된 결과물일 수도 있다.For example, the computing device 12 may receive text through a microphone (not shown). However, the present invention is not limited thereto, and the computing device 12 may receive text through a keyboard (not shown). Meanwhile, the text may be a result of removing noise from the user's voice.
텍스트는 실시예에 따라 다양한 텍스트 예를 들어, 음식 주문, 질병 증상에 대한 내용일 수 있다.The text may be various texts, such as food orders, and disease symptoms, according to embodiments.
컴퓨팅 장치 (12) 는 형태소 분석기를 통해 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다.The computing device 12 may extract one or more morphemes included in the text through the morpheme analyzer.
형태소 분석기에는 오픈 소스인 한나눔 형태소 분석기, 꼬꼬마 형태소 분석기, 트위터 형태소 분석기, 고려대 형태소 분석기, 한라 형태소 분석기, 코머 형태소 분석기 등이 이용될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 공지의 형태소 분석기, 및 이들의 조합이 형태소 분석기로 이용될 수도 있다.For the morpheme analyzer, open source Hannanum morpheme analyzer, little morpheme analyzer, tweeter morpheme analyzer, Korea University morpheme analyzer, Halla morpheme analyzer, and Komer morpheme analyzer can be used. However, the present invention is not limited thereto, and other known morpheme analyzers and combinations thereof may be used as morpheme analyzers.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정할 수 있다. 키워드 리스트란 텍스트를 임베딩함에 있어 가중치를 부여될 키워드의 집합을 의미한다. 키워드 리스트의 키워드는 예를 들어, 사용자에 의해 설정될 수 있다.The computing device 12 may determine a morpheme included in a previously stored keyword list among morphemes included in the text as the keyword morpheme. The keyword list refers to a set of keywords to be weighted when embedding text. Keywords in the keyword list may be set by a user, for example.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 일부 중복되는 형태소의 글자수에 기초하여 하나의 형태소를 키워드 형태소로 결정할 수 있다.The computing device 12 may determine one morpheme as the keyword morpheme based on the number of letters of the partially overlapped morphemes when some of the morphemes included in the keyword list are partially overlapped among the morphemes included in the text.
예를 들어, 컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 일부 중복되는 형태소의 글자수 중 글자수가 최대인 형태소를 키워드 형태소로 결정할 수 있다.For example, when the morphemes included in the keyword list among the morphemes included in the text are partially overlapped, the computing device 12 may determine a morpheme having the largest number of letters among the morphemes included in the text as the keyword morpheme.
컴퓨팅 장치 (12) 는 임베딩 모델을 통해 키워드 형태소에 가중치를 두고 텍스트를 임베딩할 수 있다.The computing device 12 may embed text with a weight on the keyword morpheme through the embedding model.
임베딩 모델은 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 형태소 각각에 대한 다차원 벡터 행렬을 합산함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다. 다만, 이에 한정되는 것은 아니며, 임베딩 모델은 상기 형태소 각각에 대한 다차원 벡터 행렬을 평균값을 텍스트에 대한 임베딩 결과로 결정할 수도 있다.The embedding model may calculate an embedding result for the text by calculating a multidimensional vector matrix for each morpheme included in the text and summing the multidimensional vector matrix for each morpheme. However, the present invention is not limited thereto, and the embedding model may determine an average value of the multidimensional vector matrix for each of the morphemes as a result of embedding text.
임베딩 모델에는 오픈 소스인 CBow 모델, skip-gram 모델, fasttext 모델, word2vec 모델, send2vec 모델 등이 이용될 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 공지의 문장 임베딩 모델, 형태소 임베딩 모델, 및 이들의 조합이 임베딩 모델로 이용될 수도 있다.For the embedding model, open source CBow model, skip-gram model, fasttext model, word2vec model, send2vec model, etc. can be used. However, the present invention is not limited thereto, and other well-known sentence embedding models, morpheme embedding models, and combinations thereof may be used as the embedding model.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 텍스트에 포함된 형태소 중 키워드 형태소를 임베딩 모델에 중복 입력함으로써 텍스트에 대한 임베딩 결과를 계산할 수 있다. 한편, 키워드 형태소의 중복 입력 횟수 (예: 2번) 는 사용자에 의해 설정될 수 있다.The computing device 12 inputs the morphemes included in the text into the embedding model, and may calculate the embedding result for the text by repeatedly inputting the keyword morphemes among the morphemes included in the text into the embedding model. On the other hand, the number of times (for example, 2 times) of duplicate input of the keyword morpheme may be set by the user.
실시예에 따라, 키워드 형태소마다 중복 입력 횟수가 달리 설정될 수도 있다. 실시예에 따라, 컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 키워드 형태소만 입베딩 모델에 입력함으로써 텍스트에 대한 임베딩 결과를 계산할 수 있다.Depending on the embodiment, the number of duplicate inputs may be different for each keyword morpheme. According to an embodiment, the computing device 12 may calculate an embedding result for the text by inputting only the keyword morphemes among the morphemes included in the text into the embedding model.
다른 실시예에서, 컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 합산하되, 형태소 중 상기 키워드 형태소에 대한 다차원 벡터 행렬에 가중치를 두고 합산함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다.In another embodiment, the computing device 12 calculates a multidimensional vector matrix for each morpheme included in the text, and sums a multidimensional vector matrix for each morpheme included in the text, but includes a multidimensional vector for the keyword morpheme among the morphemes. By weighting the matrix and summing it, we can calculate the embedding result for the text.
컴퓨팅 장치 (12) 는 텍스트에 대한 임베딩 결과를 대화 예측 모델의 입력 값으로 이용할 수 있다. 그리고, 컴퓨팅 장치 (12) 는 대화 예측 모델을 통해 텍스트에 대한 임베딩 결과에 대한 응답을 출력할 수 있다. 한편, 임베딩 결과가 대화 예측 모델로 입력되기 전에 실시예에 따라 다른 전처리가 수행될 수도 있다.The computing device 12 may use a result of embedding text as an input value of a conversation prediction model. In addition, the computing device 12 may output a response to a result of embedding text through a conversation prediction model. Meanwhile, before the embedding result is input into the conversation prediction model, other preprocessing may be performed according to embodiments.
도 8은 본 발명의 일 실시예에 따른 키워드 형태소를 결정하는 과정을 설명하기 위한 예시도이다.8 is an exemplary diagram for explaining a process of determining a keyword morpheme according to an embodiment of the present invention.
컴퓨팅 장치 (12) 는 텍스트를 입력받을 수 있다.The computing device 12 may receive text.
컴퓨팅 장치 (12) 는 형태소 분석기를 통해 텍스트에 포함된 하나 이상의 형태소를 추출할 수 있다. 예를 들어, 텍스트에서는 도 8에 도시된 바와 같이, 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소가 추출될 수 있다.The computing device 12 may extract one or more morphemes included in the text through the morpheme analyzer. For example, in the text, as shown in FIG. 8, the first morpheme, the second morpheme, the third morpheme, ... The nth morpheme may be extracted.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정할 수 있다. 키워드 리스트란 텍스트를 임베딩함에 있어 가중치를 부여될 키워드의 집합을 의미한다. 키워드 리스트의 키워드는 예를 들어, 사용자에 의해 설정될 수 있다.The computing device 12 may determine a morpheme included in a previously stored keyword list among morphemes included in the text as the keyword morpheme. The keyword list refers to a set of keywords to be weighted when embedding text. Keywords in the keyword list may be set by a user, for example.
예를 들어, 키워드 리스트에 제 2 형태소, 제 3 형태소가 포함되어 있는 경우, 컴퓨팅 장치 (12) 는 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소 중 제 2 형태소, 제 3 형태소를 키워드 형태소로 결정할 수 있다.For example, when the second morpheme and the third morpheme are included in the keyword list, the computing device 12 is the first morpheme, the second morpheme, the third morpheme, ... Among the n-th morphemes, the second morpheme and the third morpheme may be determined as keyword morphemes.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 일부 중복되는 형태소의 글자수에 기초하여 하나의 형태소를 키워드 형태소로 결정할 수 있다.The computing device 12 may determine one morpheme as the keyword morpheme based on the number of letters of the partially overlapped morphemes when some of the morphemes included in the keyword list are partially overlapped among the morphemes included in the text.
예를 들어, 컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 일부 중복되는 형태소의 글자수 중 글자수가 최대인 형태소를 키워드 형태소로 결정할 수 있다.For example, when the morphemes included in the keyword list among the morphemes included in the text are partially overlapped, the computing device 12 may determine a morpheme having the largest number of letters among the morphemes included in the text as the keyword morpheme.
구체적으로, 제 2 형태소, 제 3 형태소가 일부 중복되는 경우, 컴퓨팅 장치 (12) 는 제 2 형태소, 제 3 형태소 중 글자수가 최대인 형태소를 키워드 형태소로 결정할 수 있다.Specifically, when the second morpheme and the third morpheme are partially overlapped, the computing device 12 may determine a morpheme having the largest number of letters among the second morpheme and the third morpheme as the keyword morpheme.
도 9는 본 발명의 일 실시예에 따른 형태소를 임베딩 모델에 입력하는 과정을 설명하기 위한 예시도이다.9 is an exemplary diagram for explaining a process of inputting a morpheme into an embedding model according to an embodiment of the present invention.
컴퓨팅 장치 (12) 는 임베딩 모델을 통해 키워드 형태소에 가중치를 두고 텍스트를 임베딩할 수 있다.The computing device 12 may embed text with a weight on the keyword morpheme through the embedding model.
컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 텍스트에 포함된 형태소 중 키워드 형태소를 임베딩 모델에 중복 입력함으로써 텍스트에 대한 임베딩 결과를 계산할 수 있다. 한편, 키워드 형태소의 중복 입력 횟수 (예: 2번) 는 사용자에 의해 설정될 수 있다.The computing device 12 inputs the morphemes included in the text into the embedding model, and may calculate the embedding result for the text by repeatedly inputting the keyword morphemes among the morphemes included in the text into the embedding model. On the other hand, the number of times (for example, 2 times) of duplicate input of the keyword morpheme may be set by the user.
예를 들어, 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소 중 제 2 형태소, 제 3 형태소가 키워드 형태소인 경우, 컴퓨팅 장치 (12) 는 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소를 임베딩 모델에 입력하되, 제 2 형태소, 제 3 형태소만 임베딩 모델에 2회 입력함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다.For example, the first morpheme, the second morpheme, the third morpheme, ... When the second morpheme and the third morpheme among the n-th morphemes are keyword morphemes, the computing device 12 is the first morpheme, the second morpheme, the third morpheme, ... By inputting the nth morpheme into the embedding model, and inputting only the second morpheme and the third morpheme into the embedding model twice, the embedding result for the text may be calculated.
실시예에 따라, 키워드 형태소마다 중복 입력 횟수가 달리 설정될 수도 있다. 예를 들어, 컴퓨팅 장치 (12) 는 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소를 임베딩 모델에 입력하되, 제 2 형태소는 2회, 제 3 형태소는 3회 임베딩 모델에 입력함으로써, 텍스트에 대한 임베딩 결과를 계산할 수도 있다.Depending on the embodiment, the number of times of overlapping input may be set differently for each keyword morpheme. For example, the computing device 12 has a first morpheme, a second morpheme, a third morpheme, ... By inputting the nth morpheme to the embedding model, the second morpheme is inputted twice and the third morpheme is inputted to the embedding model three times, so that the embedding result for the text may be calculated.
실시예에 따라, 컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 중 키워드 형태소만 입베딩 모델에 입력함으로써 텍스트에 대한 임베딩 결과를 계산할 수 있다. 예를 들어, 컴퓨팅 장치 (12) 는 제 1 형태소, 제 2 형태소, 제 3 형태소, …제 n 형태소 중 제 2 형태소, 제 3 형태소만 임베딩 모델에 입력함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다.According to an embodiment, the computing device 12 may calculate an embedding result for the text by inputting only the keyword morphemes among the morphemes included in the text into the embedding model. For example, the computing device 12 is a first morpheme, a second morpheme, a third morpheme, ... By inputting only the second morpheme and the third morpheme among the n-th morphemes into the embedding model, an embedding result for the text may be calculated.
다른 실시예에서, 컴퓨팅 장치 (12) 는 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 합산하되, 형태소 중 상기 키워드 형태소에 대한 다차원 벡터 행렬에 가중치를 두고 합산함으로써, 텍스트에 대한 임베딩 결과를 계산할 수 있다.In another embodiment, the computing device 12 calculates a multidimensional vector matrix for each morpheme included in the text, and sums a multidimensional vector matrix for each morpheme included in the text, but includes a multidimensional vector for the keyword morpheme among the morphemes. By weighting the matrix and summing it, we can calculate the embedding result for the text.
컴퓨팅 장치 (12) 는 텍스트에 대한 임베딩 결과를 대화 예측 모델의 입력 값으로 이용할 수 있다. 그리고, 컴퓨팅 장치 (12) 는 대화 예측 모델을 통해 텍스트에 대한 임베딩 결과에 대한 응답을 출력할 수 있다. 한편, 임베딩 결과가 대화 예측 모델로 입력되기 전에 실시예에 따라 다른 전처리가 수행될 수도 있다.The computing device 12 may use a result of embedding text as an input value of a conversation prediction model. In addition, the computing device 12 may output a response to a result of embedding text through a conversation prediction model. Meanwhile, before the embedding result is input into the conversation prediction model, other preprocessing may be performed according to embodiments.
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.10 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되는 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.
도시된 컴퓨팅 환경 (10) 은 컴퓨팅 장치 (12) 를 포함한다. 컴퓨팅 장치 (12) 는 적어도 하나의 프로세서 (14), 컴퓨터 판독 가능 저장 매체 (16) 및 통신 버스 (18) 를 포함한다. 프로세서 (14) 는 컴퓨팅 장치 (12) 로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서 (14) 는 컴퓨터 판독 가능 저장 매체 (16) 에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서 (14) 에 의해 실행되는 경우 컴퓨팅 장치 (12) 로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The illustrated computing environment 10 includes a computing device 12. Computing device 12 includes at least one processor 14, a computer-readable storage medium 16, and a communication bus 18. Processor 14 may cause computing device 12 to operate according to the exemplary embodiments mentioned above. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16. The one or more programs may include one or more computer-executable instructions, and the computer-executable instructions are configured to cause the computing device 12 to perform operations according to an exemplary embodiment when executed by the processor 14. Can be.
컴퓨터 판독 가능 저장 매체 (16) 는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체 (16) 에 저장된 프로그램 (20) 은 프로세서 (14) 에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체 (16) 는 메모리 (랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치 (12) 에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, computer-readable storage medium 16 includes memory (volatile memory such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other types of storage media that can be accessed by computing device 12 and store desired information, or a suitable combination thereof.
통신 버스 (18) 는 프로세서 (14), 컴퓨터 판독 가능 저장 매체 (16) 를 포함하여 컴퓨팅 장치 (12) 의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects the various other components of the computing device 12, including a processor 14 and a computer-readable storage medium 16.
컴퓨팅 장치 (12) 는 또한 하나 이상의 입출력 장치 (24) 를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스 (22) 및 하나 이상의 네트워크 통신 인터페이스 (26) 를 포함할 수 있다. 입출력 인터페이스 (22) 및 네트워크 통신 인터페이스 (26) 는 통신 버스 (18) 에 연결된다. 입출력 장치 (24) 는 입출력 인터페이스 (22) 를 통해 컴퓨팅 장치 (12) 의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치 (24) 는 포인팅 장치 (마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치 (24) 는 컴퓨팅 장치 (12) 를 구성하는 일 컴포넌트로서 컴퓨팅 장치 (12) 의 내부에 포함될 수도 있고, 컴퓨팅 장치 (12) 와는 구별되는 별개의 장치로 컴퓨팅 장치 (12) 와 연결될 수도 있다. Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24. The input/output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input/output device 24 may be connected to other components of the computing device 12 through the input/output interface 22. Exemplary input/output devices 24 include pointing devices (mouse or trackpad, etc.), keyboards, touch input devices (touch pads or touch screens, etc.), voice or sound input devices, various types of sensor devices, and/or photographing devices. Input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12, and may be connected to the computing device 12 as a separate device distinct from the computing device 12. May be.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and various modifications may be made without departing from the spirit of the present invention. . Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
[이 발명을 지원한 국가연구개발사업][National R&D project that supported this invention]
[과제고유번호] 2017-0-00255[Task identification number] 2017-0-00255
[부처명] 과학기술정보통신부[Ministry Name] Ministry of Science and Technology Information and Communication
[연구관리전문기관] 정보통신기술진흥센터[Research Management Agency] Information and Communication Technology Promotion Center
[연구사업명] 자율지능 디지털 동반자 기술 연구[Research Project Name] Autonomous Intelligence Digital Partner Technology Research
[연구과제명] (지능정보-총괄/1세부) 자율지능 디지털 동반자 프레임워크 및 응용 연구개발[Research Title] (Intelligent Information-General / Detailed) Autonomous Intelligence Digital Partner Framework and Application R&D
[기여율] 1/1[Contribution rate] 1/1
[주관기관] 전자부품연구원[Organization] Electronic Components Research Institute
[연구기간] 2017.04.01 ~ 2020.12.31[Research Period] 2017.04.01 ~ 2020.12.31

Claims (22)

  1. 하나 이상의 프로세서들, 및One or more processors, and
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
    이전 텍스트에 대한 임베딩 결과를 저장하는 단계;Storing an embedding result for the previous text;
    현재 텍스트를 입력받는 단계;Receiving the current text;
    상기 현재 텍스트를 임베딩하는 단계;Embedding the current text;
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및Determining a correlation between the current text and the previous text; And
    상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 포함하는, 방법.Based on the correlation, determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model, or input a result of embedding the current text into the conversation prediction model. Including, how.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,The step of determining a correlation between the current text and the previous text,
    상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 방법.A method of determining a correlation between the current text and the previous text based on whether an indication pronoun morpheme exists among morphemes included in the current text.
  3. 제 1 항에 있어서,The method of claim 1,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,The step of determining a correlation between the current text and the previous text,
    상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 방법.Input the embedding result for the current text and the embedding result for the previous text into a text correlation prediction model, and based on the output value of the text correlation prediction model, a correlation between the current text and the previous text To figure out, how.
  4. 제 1 항에 있어서,The method of claim 1,
    상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계는,Based on the correlation, determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model or input the embedding result for the current text into the conversation prediction model, ,
    상기 상관 관계가 있는 것으로 결정된 경우, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하는, 방법.When it is determined that there is the correlation, it is determined to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and if it is determined that there is no correlation, embedding for the current text Determining to input a result into the conversation prediction model.
  5. 하나 이상의 프로세서;One or more processors;
    메모리; 및Memory; And
    하나 이상의 프로그램을 포함하는 장치로서,An apparatus comprising one or more programs,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,The one or more programs are stored in the memory and configured to be executed by the one or more processors,
    상기 프로그램은,The above program,
    현재 텍스트를 입력받는 단계;Receiving the current text;
    상기 현재 텍스트를 임베딩하는 단계;Embedding the current text;
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계; 및Determining a correlation between the current text and the previous text; And
    상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.Based on the correlation, determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model, or input a result of embedding the current text into the conversation prediction model. An apparatus comprising instructions for executing.
  6. 제 5 항에 있어서,The method of claim 5,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,The step of determining a correlation between the current text and the previous text,
    상기 현재 텍스트에 포함된 형태소 중 지시 대명사 형태소의 존재 여부에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 장치.The apparatus for determining a correlation between the current text and the previous text based on whether an indication pronoun morpheme exists among morphemes included in the current text.
  7. 제 5 항에 있어서,The method of claim 5,
    상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는 단계는,The step of determining a correlation between the current text and the previous text,
    상기 현재 텍스트에 대한 임베딩 결과와 상기 이전 텍스트에 대한 임베딩 결과를 텍스트 상관 관계 예측 모델에 입력하고, 상기 텍스트 상관 관계 예측 모델의 출력 값에 기초하여, 상기 현재 텍스트와 상기 이전 텍스트 사이의 상관 관계를 파악하는, 장치.Input the embedding result for the current text and the embedding result for the previous text into a text correlation prediction model, and based on the output value of the text correlation prediction model, a correlation between the current text and the previous text Grasping device.
  8. 제 1 항에 있어서,The method of claim 1,
    상기 상관 관계에 기초하여, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력할지, 아니면 상기 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력할지 결정하는 단계는,Based on the correlation, determining whether to input the embedding result for the current text and the embedding result for the previous text into a conversation prediction model or input the embedding result for the current text into the conversation prediction model, ,
    상기 상관 관계가 있는 것으로 결정된 경우, 상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하고, 상기 상관 관계가 없는 것으로 결정된 경우, 현재 텍스트에 대한 임베딩 결과를 상기 대화 예측 모델에 입력하는 것으로 결정하는, 장치.When it is determined that there is the correlation, it is determined to input the embedding result for the current text and the embedding result for the previous text into the conversation prediction model, and if it is determined that there is no correlation, embedding for the current text Determining to input a result into the conversation prediction model.
  9. 하나 이상의 프로세서들, 및One or more processors, and
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
    현재 텍스트를 입력받는 단계;Receiving the current text;
    상기 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계; 및Classifying the generation information of the current text according to a predetermined criterion to determine an attribute value of the current text; And
    상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계를 포함하는, 방법.And calculating an embedding result for the current text reflecting the attribute value of the text by inputting a morpheme included in the current text and an attribute value of the current text into an embedding model.
  10. 하나 이상의 프로세서;One or more processors;
    메모리; 및Memory; And
    하나 이상의 프로그램을 포함하는 장치로서,An apparatus comprising one or more programs,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,The one or more programs are stored in the memory and configured to be executed by the one or more processors,
    상기 프로그램은,The above program,
    현재 텍스트를 입력받는 단계;Receiving the current text;
    상기 현재 텍스트의 생성 정보를 미리 정해진 기준에 따라 분류하여 상기 현재 텍스트의 속성 값을 결정하는 단계; 및Classifying the generation information of the current text according to a predetermined criterion to determine an attribute value of the current text; And
    상기 현재 텍스트에 포함된 형태소 및 상기 현재 텍스트의 속성 값을 임베딩 모델에 입력함으로써 상기 텍스트의 속성 값이 반영된 상기 현재 텍스트에 대한 임베딩 결과를 계산하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.The apparatus comprising instructions for executing the step of calculating an embedding result for the current text reflecting the attribute value of the text by inputting a morpheme included in the current text and an attribute value of the current text into an embedding model.
  11. 하나 이상의 프로세서들, 및One or more processors, and
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
    현재 텍스트를 입력받는 단계;Receiving the current text;
    상기 현재 텍스트를 임베딩하는 단계; 및Embedding the current text; And
    상기 현재 텍스트에 대한 임베딩 결과 및 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 단계를 포함하는, 방법.And inputting the embedding result for the current text and the embedding result for the previous text into a conversation prediction model.
  12. 하나 이상의 프로세서;One or more processors;
    메모리; 및Memory; And
    하나 이상의 프로그램을 포함하는 장치로서,An apparatus comprising one or more programs,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,The one or more programs are stored in the memory and configured to be executed by the one or more processors,
    상기 프로그램은,The above program,
    현재 텍스트를 입력받는 단계;Receiving the current text;
    상기 현재 텍스트를 임베딩하는 단계; 및Embedding the current text; And
    상기 현재 텍스트에 대한 임베딩 결과 및 상기 이전 텍스트에 대한 임베딩 결과를 대화 예측 모델에 입력하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.And instructions for executing the step of inputting the embedding result for the current text and the embedding result for the previous text into a conversation prediction model.
  13. 하나 이상의 프로세서들, 및One or more processors, and
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
    텍스트에 포함된 키워드 형태소를 결정하는 단계; 및Determining a keyword morpheme included in the text; And
    상기 키워드 형태소에 가중치를 두고 상기 텍스트를 임베딩하는 단계를 포함하는, 방법.Embedding the text with a weight on the keyword morpheme.
  14. 제 12 항에 있어서,The method of claim 12,
    상기 텍스트에 포함된 키워드를 결정하는 단계는,Determining the keywords included in the text,
    상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정하는, 방법.A method of determining a morpheme included in a previously stored keyword list among the morphemes included in the text as a keyword morpheme.
  15. 제 12 항에 있어서,The method of claim 12,
    상기 텍스트에 포함된 키워드를 결정하는 단계는,Determining the keywords included in the text,
    상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 상기 일부 중복되는 형태소의 글자수에 기초하여 키워드 형태소를 결정하는, 방법.If the morphemes included in the previously stored keyword list among the morphemes included in the text are partially overlapped, the keyword morphemes are determined based on the number of letters of the partially overlapped morphemes.
  16. 제 12 항에 있어서,The method of claim 12,
    상기 텍스트를 임베딩하는 단계는,Embedding the text,
    상기 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 상기 텍스트에 포함된 형태소 중 상기 키워드 형태소를 임베딩 모델에 중복 입력함으로써 상기 텍스트에 대한 임베딩 결과를 계산하는, 방법.A method of calculating an embedding result for the text by inputting a morpheme included in the text into an embedding model, and repeatedly inputting the keyword morpheme among the morphemes included in the text into the embedding model.
  17. 제 12 항에 있어서,The method of claim 12,
    상기 텍스트를 임베딩하는 단계는,Embedding the text,
    상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 합산하되, 상기 형태소 중 상기 키워드 형태소에 대한 다차원 벡터 행렬에 가중치를 두고 합산함으로써, 상기 텍스트에 대한 임베딩 결과를 계산하는, 방법.By calculating a multidimensional vector matrix for each morpheme included in the text, and summing a multidimensional vector matrix for each morpheme included in the text, among the morphemes, the multidimensional vector matrix for the keyword morpheme is weighted and summed, Calculating an embedding result for the text.
  18. 하나 이상의 프로세서;One or more processors;
    메모리; 및Memory; And
    하나 이상의 프로그램을 포함하는 장치로서,An apparatus comprising one or more programs,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,The one or more programs are stored in the memory and configured to be executed by the one or more processors,
    상기 프로그램은,The above program,
    텍스트에 포함된 키워드 형태소를 결정하는 단계; 및Determining a keyword morpheme included in the text; And
    상기 키워드 형태소에 가중치를 두고 상기 텍스트를 임베딩하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.And instructions for performing the step of embedding the text with a weight on the keyword morpheme.
  19. 제 18 항에 있어서,The method of claim 18,
    상기 텍스트에 포함된 키워드를 결정하는 단계는,Determining the keywords included in the text,
    상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소를 키워드 형태소로 결정하는, 장치.An apparatus for determining a morpheme included in a previously stored keyword list among the morphemes included in the text as a keyword morpheme.
  20. 제 18 항에 있어서,The method of claim 18,
    상기 텍스트에 포함된 키워드를 결정하는 단계는,Determining the keywords included in the text,
    상기 텍스트에 포함된 형태소 중 기 저장된 키워드 리스트에 포함된 형태소가 일부 중복되는 경우, 상기 일부 중복되는 형태소의 글자수에 기초하여 키워드 형태소를 결정하는, 장치.When the morphemes included in the previously stored keyword list among the morphemes included in the text are partially overlapped, the keyword morphemes are determined based on the number of letters of the partially overlapped morphemes.
  21. 제 18 항에 있어서,The method of claim 18,
    상기 텍스트를 임베딩하는 단계는,Embedding the text,
    상기 텍스트에 포함된 형태소를 임베딩 모델에 입력하되, 상기 텍스트에 포함된 형태소 중 상기 키워드 형태소를 임베딩 모델에 중복 입력함으로써 상기 텍스트에 대한 임베딩 결과를 계산하는, 장치.An apparatus for calculating an embedding result for the text by inputting a morpheme included in the text into an embedding model, and repeatedly inputting the keyword morpheme among the morphemes included in the text into the embedding model.
  22. 제 18 항에 있어서,The method of claim 18,
    상기 텍스트를 임베딩하는 단계는,Embedding the text,
    상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 계산하고, 상기 텍스트에 포함된 형태소 각각에 대한 다차원 벡터 행렬을 합산하되, 상기 형태소 중 상기 키워드 형태소에 대한 다차원 벡터 행렬에 가중치를 두고 합산함으로써, 상기 텍스트에 대한 임베딩 결과를 계산하는, 장치.By calculating a multidimensional vector matrix for each morpheme included in the text, and summing a multidimensional vector matrix for each morpheme included in the text, among the morphemes, the multidimensional vector matrix for the keyword morpheme is weighted and summed, Calculating an embedding result for the text.
PCT/KR2019/015609 2019-11-14 2019-11-15 Input determining method and apparatus for dialogue prediction model, and text embedding method and apparatus WO2021095932A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020190146097A KR102310725B1 (en) 2019-11-14 2019-11-14 Aprratus and method for determining input of dialogue prediction model, aprratus and method for embeding text
KR10-2019-0146072 2019-11-14
KR10-2019-0146097 2019-11-14
KR1020190146072A KR102411204B1 (en) 2019-11-14 2019-11-14 Aprratus and method for embeding text

Publications (1)

Publication Number Publication Date
WO2021095932A1 true WO2021095932A1 (en) 2021-05-20

Family

ID=75912464

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/015609 WO2021095932A1 (en) 2019-11-14 2019-11-15 Input determining method and apparatus for dialogue prediction model, and text embedding method and apparatus

Country Status (1)

Country Link
WO (1) WO2021095932A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015127969A (en) * 2011-03-04 2015-07-09 株式会社日本総合研究所 Natural-language banking process server and natural-language banking process method
KR20180125746A (en) * 2017-05-16 2018-11-26 동아대학교 산학협력단 System and Method for Sentence Embedding and Similar Question Retrieving
KR20190038258A (en) * 2017-09-28 2019-04-08 한국과학기술원 A system and method for improving the performance of deep learning-based relation extraction by pre-training on structural information
KR20190074508A (en) * 2017-12-20 2019-06-28 한국과학기술원 Method for crowdsourcing data of chat model for chatbot
KR20190080234A (en) * 2017-12-28 2019-07-08 포항공과대학교 산학협력단 English text formatting method based on convolution network
US20190236132A1 (en) * 2018-01-26 2019-08-01 Ge Inspection Technologies, Lp Generating natural language recommendations based on an industrial language model

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015127969A (en) * 2011-03-04 2015-07-09 株式会社日本総合研究所 Natural-language banking process server and natural-language banking process method
KR20180125746A (en) * 2017-05-16 2018-11-26 동아대학교 산학협력단 System and Method for Sentence Embedding and Similar Question Retrieving
KR20190038258A (en) * 2017-09-28 2019-04-08 한국과학기술원 A system and method for improving the performance of deep learning-based relation extraction by pre-training on structural information
KR20190074508A (en) * 2017-12-20 2019-06-28 한국과학기술원 Method for crowdsourcing data of chat model for chatbot
KR20190080234A (en) * 2017-12-28 2019-07-08 포항공과대학교 산학협력단 English text formatting method based on convolution network
US20190236132A1 (en) * 2018-01-26 2019-08-01 Ge Inspection Technologies, Lp Generating natural language recommendations based on an industrial language model

Similar Documents

Publication Publication Date Title
WO2020045927A1 (en) Electronic device and method for generating short cut of quick command
WO2020060325A1 (en) Electronic device, system, and method for using voice recognition service
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2017217661A1 (en) Word sense embedding apparatus and method using lexical semantic network, and homograph discrimination apparatus and method using lexical semantic network and word embedding
WO2020009297A1 (en) Domain extraction based language comprehension performance enhancement apparatus and performance enhancement method
WO2018034426A1 (en) Method for automatically correcting error in tagged corpus by using kernel pdr
WO2020032563A1 (en) System for processing user voice utterance and method for operating same
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2015088179A1 (en) Method and device for positioning with respect to key points of face
WO2022065811A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
WO2019177182A1 (en) Multimedia content search apparatus and search method using attribute information analysis
WO2016032021A1 (en) Apparatus and method for recognizing voice commands
WO2015170832A1 (en) Display device and video call performing method therefor
WO2020130447A1 (en) Method for providing sentences on basis of persona, and electronic device supporting same
WO2020032564A1 (en) Electronic device and method for providing one or more items in response to user speech
WO2020091183A1 (en) Electronic device for sharing user-specific voice command and method for controlling same
WO2020167006A1 (en) Method of providing speech recognition service and electronic device for same
WO2020168606A1 (en) Advertisement video optimising method, apparatus and device and computer readable storage medium
WO2015178716A1 (en) Search method and device
WO2018056779A1 (en) Method of translating speech signal and electronic device employing the same
WO2020116818A1 (en) Electronic device and method of controlling thereof
WO2021246812A1 (en) News positivity level analysis solution and device using deep learning nlp model
WO2020017827A1 (en) Electronic device and control method for electronic device
WO2019190062A1 (en) Electronic device for processing user voice input
WO2018124464A1 (en) Electronic device and search service providing method of electronic device

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

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

Country of ref document: EP

Kind code of ref document: A1