WO2022158776A1 - 전자 장치 및 전자 장치의 제어 방법 - Google Patents

전자 장치 및 전자 장치의 제어 방법 Download PDF

Info

Publication number
WO2022158776A1
WO2022158776A1 PCT/KR2022/000414 KR2022000414W WO2022158776A1 WO 2022158776 A1 WO2022158776 A1 WO 2022158776A1 KR 2022000414 W KR2022000414 W KR 2022000414W WO 2022158776 A1 WO2022158776 A1 WO 2022158776A1
Authority
WO
WIPO (PCT)
Prior art keywords
responses
response
phrases
electronic device
query
Prior art date
Application number
PCT/KR2022/000414
Other languages
English (en)
French (fr)
Inventor
안재형
김호영
양동일
이지연
정철승
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP22742752.3A priority Critical patent/EP4250132A4/en
Priority to US17/712,301 priority patent/US20220237215A1/en
Publication of WO2022158776A1 publication Critical patent/WO2022158776A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • 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/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/978Audio interaction as part of an operator interface

Definitions

  • the present disclosure relates to an electronic device and a control method of the electronic device, and more particularly, to an electronic device capable of providing a response to a user's query and a control method of the electronic device.
  • a service using a 'chatbot' capable of performing a specific task through a conversation with the user is provided to the user.
  • a 'customer service chatbot (CS chatbot)' may operate by identifying a representative query included in a user query and providing a plurality of responses corresponding to the identified representative query.
  • the present disclosure is in accordance with the above-described needs, and an object of the present disclosure is to provide an electronic device capable of providing an optimized response to a user query by analyzing information included in a user query and a method for controlling the electronic device.
  • the electronic device includes a memory for storing data related to a plurality of modules for providing a response to a user query and first text information corresponding to the user query
  • a processor for identifying a representative query corresponding to the first text information and obtaining a plurality of responses related to the representative query, wherein the processor identifies a plurality of phrases included in the first text information and identify at least one first phrase corresponding to the representative query among the plurality of phrases based on the similarity between the plurality of phrases and the representative query, and the at least one of the plurality of responses and the plurality of phrases at least one response corresponding to the remaining second phrase among the plurality of responses is identified based on the similarity between the remaining phrases except for the first phrase of Second text information corresponding to the second response is provided.
  • the processor obtains a first score for the degree of similarity with the representative query for each of the plurality of phrases, and selects one or more phrases in which the score is equal to or greater than a preset first threshold value among the plurality of phrases in the at least one first can be identified by the syntax.
  • the processor obtains a second score for a similarity with each of the remaining second phrases for each of the plurality of responses, and selects one or more responses in which the second score is equal to or greater than a preset second threshold value among the plurality of responses. It may be identified by at least one first response.
  • the processor identifies at least one context corresponding to the remaining second syntax among a plurality of predefined contexts, and transmits one or more responses corresponding to the at least one context among the plurality of responses to the at least one It can be identified by a single response.
  • the processor may identify a plurality of phrases included in the first text information corresponding to the user query based on at least one of a conjunction, a suffix, and a punctuation mark included in the first text information corresponding to the user query. have.
  • the processor is configured to confirm or negate the at least one first response and the at least one first response It is possible to provide the information indicating , together with the second text information corresponding to the remaining responses.
  • the electronic device further includes a communication unit, and the processor receives first text information corresponding to the user query from an external device connected to the electronic device through the communication unit, and text corresponding to the remaining second responses.
  • the communication unit may be controlled to transmit information to the external device.
  • the electronic device further includes a display, and the processor controls the display to display a user interface (UI) including second text information corresponding to the remaining second response, and displays the UI. Through this, a user input for the remaining second response may be received.
  • UI user interface
  • the electronic device further includes a microphone, and the processor receives a voice signal corresponding to the user's query through the microphone, and acquires first text information corresponding to the user's query based on the voice signal can do.
  • the electronic device further includes a speaker, and the processor acquires a voice signal corresponding to the at least one first response based on text information corresponding to the at least one first response, and through the speaker A voice signal corresponding to the at least one first response may be output.
  • a control method of an electronic device includes, when first text information corresponding to a user query is obtained, identifying a representative query corresponding to the first text information. step, obtaining a plurality of responses related to the representative query, identifying a plurality of phrases included in the first text information, among the plurality of phrases based on similarities between the plurality of phrases and the representative query identifying at least one first phrase corresponding to the representative query, and the plurality of responses based on similarities between the plurality of responses and the remaining second phrases except for the at least one first phrase among the plurality of phrases. identifying at least one first response corresponding to the remaining second syntax among the plurality of responses, and providing second text information corresponding to the remaining second responses except for the at least one first response among the plurality of responses. include
  • the step of identifying the at least one phrase includes: obtaining a first score for the degree of similarity with the representative query for each of the plurality of phrases; and at least one of the plurality of phrases in which the score is equal to or greater than a preset first threshold value. identifying a phrase as the at least one first phrase.
  • the identifying of the at least one response includes: obtaining a second score for a degree of similarity with each of the remaining second phrases for each of the plurality of responses; and identifying one or more responses greater than or equal to a threshold value as the at least one first response.
  • the identifying of the at least one response may include identifying at least one context corresponding to the remaining second syntax among a plurality of predefined contexts and adding the at least one context among the plurality of responses. and identifying the corresponding one or more responses as the at least one response.
  • the step of identifying the plurality of phrases may include the plurality of phrases included in the first text information corresponding to the user query based on at least one of a conjunction, a suffix, and a punctuation symbol included in the first text information corresponding to the user query. syntax can be identified.
  • FIG. 1 is a view showing the configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 2 is a view for explaining in detail the processing process of each of a plurality of modules according to the present disclosure
  • FIG. 3 is a view for explaining in detail an embodiment related to a response filtering process according to the present disclosure
  • FIG. 4 is a view for explaining in detail an embodiment related to a method of providing a response to a user according to the present disclosure
  • FIG. 5 is a view showing in detail the configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart schematically illustrating a method for controlling an electronic device according to an embodiment of the present disclosure
  • FIG. 7 is a flowchart illustrating in more detail a method of controlling an electronic device according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
  • expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
  • a component eg, a first component
  • another component eg, a second component
  • the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
  • a component eg, a first component
  • another component eg, a second component
  • the expression “a device configured to” may mean that the device is “capable of” with other devices or parts.
  • a processor configured (or configured to perform) A, B, and C refers to a dedicated processor (eg, an embedded processor) for performing the operations, or by executing one or more software programs stored in a memory device.
  • a generic-purpose processor eg, a CPU or an application processor
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software.
  • a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • FIG. 1 is a diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a view for explaining in detail a processing process of each of a plurality of modules according to the present disclosure.
  • an embodiment of the present disclosure will be described with reference to FIG. 2 together with FIG. 1 .
  • the 'electronic device 100' refers to a device capable of providing a response to a user's query. That is, the electronic device 100 refers to a device capable of providing a so-called 'chatbot' service or a 'customer service chatbot (CS chatbot)' service, and a user terminal device such as a smart phone or a tablet PC. In addition, it may be implemented in various types of devices such as servers, cloud servers, and edge computing devices. There is no particular limitation on the type of the electronic device 100 according to the present disclosure, and as long as it is a device capable of receiving a user's query, analyzing the received query, and providing an interactive response thereto, the electronic device according to the present disclosure (100) may be applicable.
  • the electronic device 100 may include a memory 110 and a processor 120 .
  • the processor 120 includes a query analysis module 121 (query analysis module), a response acquisition module 122 (response acquisition module), a syntax segmentation module 123 (phrase segmentation module), and a syntax filtering module 124 ( It may include a plurality of modules, such as a phrase filtering module and a response filtering module 125 (response filtering module).
  • the plurality of modules according to the present disclosure may be implemented as a hardware module or a software module, and when the plurality of modules are implemented as a software module, the processor 120 accesses the software module by loading the software module stored in the memory 110 . can do.
  • At least one instruction related to the electronic device 100 may be stored in the memory 110 .
  • an operating system (O/S) for driving the electronic device 100 may be stored in the memory 110 .
  • various software programs or applications for operating the electronic device 100 according to various embodiments of the present disclosure may be stored in the memory 110 .
  • the memory 110 may include a semiconductor memory such as a flash memory or a magnetic storage medium such as a hard disk.
  • various software modules for operating the electronic device 100 may be stored in the memory 110 according to various embodiments of the present disclosure, and the processor 120 executes various software modules stored in the memory 110 .
  • the operation of the electronic device 100 may be controlled. That is, the memory 110 is accessed by the processor 120 , and reading/writing/modification/deletion/update of data by the processor 120 may be performed.
  • the term memory 110 refers to the memory 110 , a ROM (not shown) in the processor 120 , a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, For example, micro SD card, memory stick) may be used in the sense of including.
  • text information corresponding to a user query and text information corresponding to a response may be stored in the memory 110 .
  • data related to a plurality of modules for providing a response to a user's query may be stored in the memory 110 .
  • the memory 110 may store data on parameters and weights of the neural network model included in some of the plurality of modules, and training data for learning the neural network model.
  • a database for applying the rules according to the present disclosure may be stored in the memory 110 .
  • the memory 110 may store a database including information on a plurality of predefined representative queries and information on a plurality of responses corresponding to each of the plurality of representative queries.
  • various information necessary within the scope for achieving the purpose of the present disclosure may be stored in the memory 110 , and the information stored in the memory 110 may be received from an external device or It may be updated as input by the user.
  • the processor 120 controls the overall operation of the electronic device 100 . Specifically, the processor 120 is connected to the configuration of the electronic device 100 including the memory 110 , and executes at least one instruction stored in the memory 110 as described above. You have total control over your movements.
  • the processor 120 may be implemented in various ways.
  • the processor 120 may include an Application Specific Integrated Circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), or a digital signal processor (Digital Signal). Processor, DSP).
  • ASIC Application Specific Integrated Circuit
  • FSM hardware finite state machine
  • DSP digital signal processor
  • the term processor 120 may be used to include a central processing unit (CPU), a graphic processing unit (GPU), a main processing unit (MPU), and the like.
  • the processor 120 includes the query analysis module 121 , the response obtaining module 122 , the syntax dividing module 123 , the syntax filtering module 124 , and the response filtering module 125 . ), it is possible to analyze a user's query through a plurality of modules and provide an interactive response to it.
  • the processor 120 may obtain text information corresponding to the user's query.
  • the text information corresponding to the user's query may be obtained based on a user input input to the electronic device 100 , or may be obtained by receiving it from an external device connected to the electronic device 100 .
  • a method of acquiring text information corresponding to a user query will be described in more detail with reference to FIG. 5 .
  • the processor 120 may identify a main query corresponding to the text information. The process of identifying the representative query corresponding to the text information may be performed through the query analysis module 121 .
  • the 'query analysis module 121' refers to a module capable of outputting a representative query corresponding to input text information. Specifically, when text information is input, the query analysis module 121 may identify a representative query matching the input text information among a plurality of predefined representative queries, and output information on the identified representative query. have. In other words, the query analysis module 121 may be said to be a module that analyzes a target intent included in the input text information and outputs the result.
  • information on a plurality of predefined representative queries may be previously built in the form of a database and stored in the memory 110 .
  • the query analysis module 121 may be implemented based on a neural network model trained to output information on a probability that an intention included in the input text information corresponds to a predefined class (category).
  • the query analysis module 121 includes a multi-intent detection module that can analyze multiple intents included in the input text information and identify multiple representative queries corresponding to the text information. You may.
  • the query analysis module 121 responds to the text information.
  • a representative query of "the screen is not turned on” may be identified, and information about the identified representative query may be output.
  • the processor 120 may obtain a plurality of responses related to the representative query.
  • the process of obtaining a plurality of responses may be performed through the response obtaining module 122 .
  • the 'response obtaining module 122' refers to a module capable of outputting a plurality of responses corresponding to the input representative query. Specifically, when information on the representative inquiry is received from the inquiry analysis module 121 , the response obtaining module 122 may identify a plurality of responses matching the input representative inquiry among a plurality of predefined responses, and identify It is possible to output information about a plurality of responses.
  • information on a plurality of predefined responses may be previously built in the form of a database together with information on a plurality of representative queries and stored in the memory 110 .
  • information on a plurality of responses corresponding to each of a plurality of representative queries together with information on a plurality of representative queries may be constructed in the form of a database and stored in the memory 110 .
  • the response acquisition module 122 displays “Are the ringtones and power sound effects operating normally?”, “Have you tried rebooting the power?” , "Is there anything wrong with the screen right after charging?” and "Do you have a fever?”
  • the plurality of responses may include at least one question for obtaining detailed information related to the representative query corresponding thereto.
  • the present invention is not limited thereto, and the plurality of responses may include responses for requesting the user to take a specific action.
  • the electronic device when the electronic device according to the present disclosure is implemented to provide a 'customer service chatbot (CS chatbot)' service, the plurality of responses accurately identifies the symptoms of the product the user wants to inquire through the user query. It may include a follow-up inquiry to understand or a response to guide the user's self-action to solve the symptoms of the product.
  • CS chatbot 'customer service chatbot
  • the processor 120 may acquire a plurality of responses corresponding to the user's query through the query analysis module 121 and the response acquisition module 122 .
  • information other than information corresponding to the representative query among the information included in the user query is not considered. Accordingly, when all of the plurality of responses identified as corresponding to the representative query are provided to the user, unnecessary responses may be included among the plurality of responses in light of information included in the user query.
  • the plurality of responses may result in the user being asked again for information other than the information corresponding to the representative query among the information included in the user query.
  • a response such as "Are ringtones and power effect sounds operating normally?" may be provided, and a response such as “Have you tried rebooting the power?” may be provided even though the text information corresponding to the user query includes information such as “even if it is turned off and on”.
  • the processor 120 filters and provides information included in a user query among a plurality of responses by using the syntax division module 123, the syntax filtering module 124, and the response filtering module 125.
  • the syntax division module 123 the syntax filtering module 124
  • the response filtering module 125 the operation of each of the syntax division module 123 , the syntax filtering module 124 , and the response filtering module 125 and an embodiment thereof will be described.
  • the processor 120 may identify a plurality of phrases included in the text information corresponding to the user's query. Specifically, the process of identifying a plurality of phrases may be performed through the syntax dividing module 123 .
  • the 'syntax segmentation module 123' refers to a module capable of dividing input text information into a plurality of phrases and outputting results for each of the plurality of phrases. Specifically, when text information corresponding to a user query is input, the syntax division module 123 divides the input text information into a plurality of phrases by identifying each of a plurality of phrases included in the input text information, and divides the divided plurality of text information into a plurality of phrases. You can print information about the syntax of
  • a 'syntax' is a criterion for specifying an element constituting at least one sentence corresponding to a user query, and the specific criterion may vary according to embodiments.
  • the term 'syntax' may be replaced with a term such as 'passage' or 'syntax'.
  • the syntax division module 123 may identify a plurality of phrases included in the text information based on a conjunction, an ending, or a punctuation mark included in the text information.
  • the phrase segmentation module 123 may identify a plurality of phrases included in the text information using a neural network model trained with a labeled data set.
  • the syntax division module 123 identifies a plurality of phrases included in the text information based on each of the identified multiple intents. may be
  • the syntax division module 123 is Conjunctions such as “but”, “and,” and “after”, endings such as “de”, “yo", “go”, “da”, and “do", “. (period)", to identify the plural phrases "I bought it yesterday", “The screen doesn't turn on”, “There's a sound”, “The screen doesn't show”, and “Turn on and off”; Information about the identified phrase can be output.
  • the processor 120 may identify at least one phrase corresponding to the representative query among the plurality of phrases based on the similarity between the plurality of phrases and the representative query. Specifically, the process of identifying at least one phrase may be performed through the phrase filtering module 124 .
  • the 'syntax filtering module 124' refers to a module for filtering at least one phrase corresponding to a representative query among a plurality of phrases. Specifically, when information on a plurality of phrases is input from the syntax division module 123 and information on a representative query is input from the query analysis module 121 , the syntax filtering module 124 corresponds to the representative query among the plurality of phrases It is possible to identify at least one phrase to be used, and output information about the remaining phrases except for at least one identified phrase among a plurality of phrases.
  • phrases identified as corresponding to the representative query among a plurality of phrases is simply referred to as 'at least one phrase', and the remaining phrases except for at least one of the plurality of phrases (that is, the phrase filtering module 124)
  • the results filtered through ) are briefly referred to as 'remaining phrases'.
  • the syntax filtering module 124 may convert information on each of a plurality of input phrases and representative queries into a vector.
  • the process of converting information on each of a plurality of phrases and representative queries into vectors may be performed using a neural network model called a so-called feature extraction model or a word embedding model.
  • Feature extraction or word embedding converts words included in text information into various types of vectors such as dense vectors or sparse vectors, and specifically reflects the similarity (or relevance) between words. It can be called the process of quantifying the meaning of words so that What is obtained through the feature extraction model or the word embedding model may be not only a vector, but also various indices capable of quantifying the meaning of a word, such as a histogram.
  • BERT Bidirectional Encoder Representations from Transformers
  • the syntax filtering module 124 when vectors for each of a plurality of inputted phrases and representative queries are obtained, the syntax filtering module 124 performs a representative query for each of the plurality of phrases according to whether the vectors exist at similar positions in the vector space. It is possible to output a first score for the similarity of .
  • the syntax filtering module 124 may use a technique such as euclidean distance or cosine similarity to calculate a first score for similarity between a plurality of phrases and representative queries.
  • a 'first score' refers to a value quantitatively indicating the degree of similarity between a plurality of phrases and a representative query according to the present disclosure.
  • the phrase dividing module 123 identifies at least one phrase corresponding to the representative query among the plurality of phrases based on the first score. can do. And, according to this, the remaining phrases except for at least one phrase corresponding to the representative query among the plurality of phrases may be identified.
  • the phrase filtering module 124 may identify one or more phrases in which a first score is greater than or equal to a preset first threshold among a plurality of phrases as at least one phrase corresponding to the representative query, and accordingly, One or more phrases having a first score of less than a preset first threshold value among the plurality of phrases may be identified as the remaining phrases.
  • the phrase filtering module 124 sorts the first scores for each of the plurality of phrases in descending order and identifies phrases corresponding to a predetermined number or a predetermined ratio as at least one phrase corresponding to the representative query. can be, and thus the remaining phrases can be identified.
  • the phrase filtering module can identify at least one phrase “the screen is not on” and “the screen is not visible” corresponding to the representative query "the screen is not on” among the plurality of phrases, and accordingly, the remaining phrases "I bought it yesterday", “I hear a sound” and "even turned off and on” can be identified.
  • the processor 120 identifies at least one response corresponding to the remaining phrase among the plurality of responses based on the similarity between the plurality of responses and the remaining phrases except for at least one phrase identified as corresponding to the representative query among the plurality of responses. can do. Specifically, the process of identifying at least one response may be performed through the response filtering module 125 .
  • the 'response filtering module 125' is a module for filtering at least one response corresponding to the remaining syntax of the plurality of responses (that is, the remaining syntax except for at least one syntax identified as corresponding to the representative query among the plurality of phrases) say Specifically, when information on a plurality of responses is input from the response obtaining module 122 and information on the remaining phrases is input from the syntax filtering module 124, the response filtering module 125 corresponds to the remaining phrases among the plurality of responses. At least one response may be identified, and information about the remaining responses may be output except for at least one identified response from among a plurality of responses.
  • the response filtering module 125 may include at least one neural network trained to perform the above-described operation.
  • a response identified as corresponding to the remaining syntax among a plurality of responses is simply referred to as 'at least one response', and the remaining responses (ie, responses) except for at least one response among the plurality of responses.
  • the result filtered through the filtering module 125) is briefly referred to as 'remaining response'.
  • the response filtering module 125 converts information on each of the input plurality of responses and the remaining phrases into vectors, and according to whether the vectors exist at similar positions in the vector space, each of the remaining phrases for each of the plurality of responses It is possible to output a second score for the degree of similarity to .
  • the 'second score' refers to a value quantitatively indicating the degree of similarity between the plurality of responses and the remaining phrases according to the present disclosure.
  • the response filtering module 125 may identify one or more responses in which the second score is greater than or equal to a preset second threshold value among the plurality of responses as at least one response corresponding to the remaining phrases, and accordingly, One or more responses whose second score is less than a preset second threshold value among the plurality of responses may be identified as remaining responses (ie, identified as related to the main query and filtered through the response filtering module 125 ).
  • the response filtering module 125 sorts the second scores for each of the plurality of responses in descending order and identifies responses corresponding to a predetermined number or a predetermined ratio as at least one response corresponding to the remaining phrases. may be, and the remaining responses may be identified accordingly.
  • the response filtering module 125 responds to the phrase "I hear a sound” among the plurality of responses, "Are the ringtones and power effects working normally?" and "Did you try to reboot the power?”, which is a response corresponding to the phrase "even after turning it off and on”, may be identified as at least one response. And, according to this, "Did something go wrong with the screen right after charging?" and "Do you have a fever?" can be identified. Meanwhile, in the example of FIG. 2 , it is assumed that there is no response corresponding to the phrase “I bought it yesterday” among the plurality of responses.
  • the process of acquiring the second score is similar to the process of acquiring the first score as described above in that it is a process of acquiring a score related to similarity by comparing sentences and phrases. Accordingly, various embodiments of the process of acquiring the first score can be applied to the process of acquiring the second score as well, and the syntax filtering module 124 and the response filtering module 125 are implemented as one integrated module. it might be
  • the processor 120 may provide text information corresponding to the remaining responses except for at least one of the plurality of responses.
  • the processor 120 may provide the plurality of responses to the user simultaneously or sequentially.
  • the processor 120 may convert text information corresponding to the remaining identified responses into the form of a voice signal and provide the converted text information.
  • Various embodiments of how a response corresponding to a user query is provided will be described in more detail with reference to FIG. 5 .
  • the processor 120 may provide information related to at least one identified response along with text information corresponding to the remaining identified responses.
  • the processor 120 may provide information such as “YES (speaker normal operation)” and “YES (power reboot attempt complete)” of FIG. 2 to the user.
  • FIG. 4 It will be described in detail with reference to .
  • the information associated with the identified at least one response may be provided in text, image, or any other type of form suitable for conveying information to a user.
  • each of the query analysis module 121 , the response acquisition module 122 , the syntax division module 123 , the syntax filtering module 124 , and the response filtering module 125 has been sequentially described, but the present disclosure is not limited to the order of the control process as described above.
  • the representative query corresponding to the text information is identified through the query analysis module 121
  • a plurality of phrases included in the text information may be identified through the syntax division module 123 .
  • at least one phrase corresponding to the representative query among the plurality of phrases may be identified through the syntax filtering module 124 .
  • the processor 120 provides a follow-up question to the user's query, and accordingly, when detailed information related to the user's query is input, the processor 120 provides a follow-up question to obtain more detailed information again or the user's final You may also provide responses to guide action.
  • the electronic device 100 removes unnecessary responses from among a plurality of responses that may be provided to the user query by using information other than information corresponding to the representative query among the information included in the user query. By doing so, it is possible to provide an optimized response to a user's query.
  • FIG. 3 is a diagram for describing in detail an embodiment related to a response filtering process according to the present disclosure.
  • the response filtering module 125 may perform a response filtering process by identifying at least one context corresponding to the remaining identified phrases, and identifying one or more responses corresponding to at least one identified context among a plurality of responses.
  • the processor 120 identifies at least one context corresponding to the remaining syntax among a plurality of predefined contexts, and corresponds to one or more responses corresponding to at least one context among the plurality of responses to the remaining syntax. It can be identified by at least one response.
  • the process of identifying at least one context corresponding to the remaining syntax and the process of identifying one or more responses corresponding to the at least one context are performed by the context extraction module ( 125-1) (context extraction module) and response matching module 125-2 (response matching module) may be used.
  • the 'context extraction module 125-1' refers to a module capable of outputting information on a context corresponding to an input syntax. Specifically, when information on the remaining phrases identified from the phrase filtering module 124 is input, the context extraction module 125-1 identifies at least one context matching the identified remaining phrases among a plurality of predefined contexts. and output information about the identified context. In other words, the context extraction module 125-1 analyzes an incidental intent other than the core intent corresponding to the representative query among text information corresponding to the user query, and outputs the result. It can be called a module.
  • information on a plurality of predefined contexts may be previously built in the form of a database and stored in the memory 110 .
  • the database for information on a plurality of contexts is sufficient to include only information on contexts related to the chatbot service to be implemented according to the present disclosure, a smaller amount than a typical Natural Language Understanding (NLU) model can be built with data from
  • the context extraction module 125 - 1 may convert information about the remaining input syntax into a vector. As described above in the description of the syntax filtering module 124, the process of converting information about the remaining identified syntax into a vector may also be performed using a neural network model referred to as a feature extraction model or a word embedding model. . Meanwhile, the context extraction module 125 - 1 may convert information on a plurality of predefined contexts into vectors. However, a vector corresponding to information on a plurality of predefined contexts may be previously built in the form of a database together with information on a plurality of contexts and stored in the memory 110 .
  • the context extraction module 125 - 1 determines the degree of similarity with the plurality of contexts for each of the identified remaining phrases according to whether the vectors exist at similar positions in the vector space. It is possible to output a third score for .
  • the 'third score' refers to a value quantitatively indicating the similarity between the remaining phrases and a plurality of contexts according to the present disclosure.
  • the context extraction module 125-1 identifies at least one context corresponding to each of the remaining phrases based on the third score, and identifies It is possible to output information on at least one context.
  • the process of identifying at least one context corresponding to each of the remaining phrases based on the third score may be performed in the same way as the process of identifying at least one phrase corresponding to the representative query among the plurality of phrases based on the first score.
  • the memory 110 includes various types of contexts, such as “speaker 152 operating normally”, “speaker 152 bad”, “power booting normal operation” and “power booting not working”. Information about the may be stored in the form of a database.
  • the context extraction module 125-1 determines the remaining identified from among a plurality of contexts, such as “speaker 152 is operating normally”, “speaker 152 is faulty”, “power booting normally works” and “power booting does not work”. It is possible to identify contexts “normal operation of the speaker 152” and “normal operation of power-on boot” that correspond to the phrases “I hear a sound” and “even when turned off and on”, respectively.
  • the 'response matching module 125-2' refers to a module capable of outputting information on a response corresponding to at least one identified context. According to an embodiment, when information on at least one context identified from the context extraction module 125-1 is input and information on a plurality of responses is input from the response obtaining module 122, the response matching module 125 -2) may identify one or more responses matching information on at least one identified context among a plurality of responses.
  • the process of identifying one or more responses may be performed using a predefined database.
  • information on a plurality of responses corresponding to a plurality of representative queries together with information on a plurality of representative queries may be built and stored in the form of a database.
  • information on a context corresponding thereto along with information on a plurality of responses may be constructed and stored in the form of a database.
  • the response matching module 125-2 displays "Are the ringtones and power sound effects working normally?”, “Did you try rebooting the power?”, “Is there something wrong with the screen right after charging?” and “Are the ringtones and power effects working normally?” and "Have you tried a power reboot?”
  • information on a plurality of responses used in a process of obtaining a plurality of responses related to a representative query and information on a plurality of responses used in a process of identifying a plurality of responses corresponding to a context are constructed in different databases. It might be And, in this case, information on a plurality of responses used in the process of obtaining a plurality of responses related to the representative query and information on a plurality of responses used in the process of identifying a plurality of responses corresponding to the context are matched with each other Information for the purpose may be additionally stored in the memory 110 .
  • the processor 120 when one or more responses corresponding to at least one identified context among the plurality of responses are identified, the processor 120 provides text information corresponding to the remaining responses except for the identified one or more responses among the plurality of responses.
  • FIG. 4 is a diagram for describing in detail an embodiment related to a method of providing a response to a user according to the present disclosure.
  • the processor 120 excludes the identified at least one response and Only the remaining responses may be provided to the user, and information on at least one response may be provided together with information on the remaining responses.
  • the processor may provide at least one response and information indicating affirmation or negation of the at least one response together with text information corresponding to the remaining responses.
  • the plurality of modules according to the present disclosure may further include a positive/negative classification module 126 as shown in FIG. 4 .
  • the 'positive/negative classification module 126' refers to a module capable of acquiring information indicating positive or negative for an input response. Specifically, the positive/negative classification module 126 receives information about 'at least one response' identified among the plurality of responses from the response filtering module 125 and 'remaining responses' except for the identified at least one response. can receive In addition, the positive/negative classification module 126 may receive information on 'remaining phrases' except for at least one phrase identified as corresponding to the representative query among a plurality of phrases from the response filtering module 125 . That is, information on the remaining syntax output from the syntax filtering module 124 may be transmitted to the positive/negative classification module 126 by bypassing the response filtering module 125 .
  • the positive/negative classification module 126 provides the remaining phrases with information indicating positive or negative for at least one response among a plurality of responses. It can be identified whether or not
  • the process of identifying whether the remaining phrase includes information indicating positive or negative for at least one response among a plurality of responses is a neural network model trained to identify whether a pair of phrases and responses is positive or negative. It can be performed by using a trained neural network model to identify whether the context itself is positive or negative.
  • the neural network model is not necessarily required to obtain information indicating positive or negative for the input response according to the positive/negative classification module 126 . That is, the positive/negative classification module 126 may operate based on a predefined rule and a pre-established database. For example, by the developer of the electronic device or chatbot service according to the present disclosure, a database including information indicating whether positive or negative for each context is previously built and stored in the memory 110, and the positive negative classification module ( 126) may acquire information indicating positive or negative for the input response based on the information indicating whether the database is positive or negative for each context.
  • the processor 120 adds information indicating affirmation or negation to at least one response and at least one response to the remaining responses. It can be provided together with the corresponding text information.
  • the processor 120 may control the display to display a user interface including at least one response and information indicating positive or negative for the at least one response.
  • the processor 120 displays information on at least one response and information indicating affirmation or denial of at least one response to be disposed in adjacent areas in the user interface, or at least one response along with at least one response. It is also possible to display a UI element (eg, a checked checkbox) indicating that the user's affirmation or negation has been confirmed.
  • a UI element eg, a checked checkbox
  • the processor 120 asks, "Is there something wrong with the screen right after charging?” and “Do you have a fever?” may be provided to the user, but along with this, the response “Are the ringtones and power effects working normally?” and information indicating affirmative action “YES (speaker 152) is normally operated?” )", the response “Did you try to reboot the power?” and the information indicating the affirmation of the response, "YES (power reboot attempt complete)” may be provided.
  • the electronic device 100 when at least one question for obtaining detailed information related to a representative query is provided to the user, the electronic device 100 has already answered positively or negatively through the user query.
  • a question that can be regarded as an answer information indicating that an answer has already been given positively or negatively can be provided to the user and the counselor, and thus user convenience can be further improved.
  • the electronic device 100 reduces the number of unnecessary questions by excluding questions that have already been answered positively or negatively through the user query. Since the number of questions required to acquire detailed information can be easily increased as much as the number of unnecessary questions can be reduced, the efficiency of a process of acquiring detailed information from a user can be remarkably improved.
  • FIG. 5 is a diagram illustrating in detail the configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 further includes a communication unit 130 , an input unit 140 and an output unit as well as the memory 110 and the processor 120 as shown in FIG. 1 .
  • a communication unit 130 may include
  • an input unit 140 and an output unit may include
  • the configurations as shown in FIGS. 1 and 5 are merely exemplary, and in implementing the present disclosure, a new configuration may be added or some configuration may be omitted in addition to the configuration shown in FIGS. 1 and 5 . of course there is
  • the communication unit 130 includes a circuit and may communicate with an external device. Specifically, the processor 120 may receive various data or information from an external device connected through the communication unit 130 , and may transmit various data or information to the external device.
  • the communication unit 130 may include at least one of a WiFi module, a Bluetooth module, a wireless communication module, and an NFC module.
  • each of the WiFi module and the Bluetooth module may perform communication using a WiFi method and a Bluetooth method.
  • various types of connection information such as an SSID, are first transmitted and received, and then various types of information can be transmitted and received after communication connection using this.
  • the wireless communication module may perform communication according to various communication standards such as IEEE, Zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), 5th Generation (5G), and the like.
  • the NFC module may perform communication using a Near Field Communication (NFC) method using a 13.56 MHz band among various RF-ID frequency bands such as 135 kHz, 13.56 MHz, 433 MHz, 860 to 960 MHz, and 2.45 GHz.
  • NFC Near Field Communication
  • the processor 120 may receive text information corresponding to a user query from an external device connected to the electronic device 100 through the communication unit 130 , and at least one response
  • the communication unit 130 may be controlled to transmit text information corresponding to .
  • the input unit 140 includes a circuit, and the processor 120 may receive a user command for controlling the operation of the electronic device 100 through the input unit 140 .
  • the input unit 140 may include a microphone 141 , a camera (not shown), and a remote control signal receiver (not shown).
  • the input unit 140 may be implemented as a touch screen and included in the display 151 .
  • the microphone 141 may receive a voice signal and convert the received voice signal into an electrical signal.
  • the processor 120 receives a voice signal corresponding to the user's query through the microphone 141 and acquires text information corresponding to the user's query based on the voice signal.
  • a process of acquiring text information corresponding to a user's query based on the voice signal may be performed through an Automatic Speech Recognition Model (ASR), which is referred to as a so-called voice recognition model.
  • ASR Automatic Speech Recognition Model
  • the output unit includes a circuit, and the processor 120 may output various functions that the electronic device 100 can perform through the output unit.
  • the output unit may include at least one of a display 151 , a speaker 152 , and an indicator (not shown).
  • the display 151 may output image data under the control of the processor 120 . Specifically, the display 151 may output an image pre-stored in the memory 110 under the control of the processor 120 . In particular, the display 151 according to an embodiment of the present disclosure may display a user interface stored in the memory 110 .
  • the display 151 may be implemented as a liquid crystal display panel (LCD), organic light emitting diodes (OLED), etc., and the display 151 may be implemented as a flexible display 151, a transparent display 151, etc. in some cases. It is also possible to be However, the display 151 according to the present disclosure is not limited to a specific type.
  • the speaker 152 may output audio data under the control of the processor 120 , and the indicator may be lit under the control of the processor 120 .
  • the processor 120 provides text information corresponding to a response to be provided to the user (eg, “Is there something wrong with the screen right after charging?” in FIG. 2 , “Is there a fever?” ) may be controlled to display the display 151 .
  • the processor 120 may control the display 151 to display a user interface (UI) including text information corresponding to at least one response to be provided to the user, and furthermore, the display 151 A user input for at least one response may be received through the UI displayed on the .
  • the processor 120 may control the display 151 to display information corresponding to at least one response in addition to the remaining responses such as “YES (speaker normal operation)” and “YES (power reboot attempt complete)”. may be
  • the processor 120 obtains a voice signal corresponding to at least one response based on text information corresponding to the at least one response, and outputs a voice signal corresponding to the at least one response through the speaker 152 .
  • a process of obtaining a speech signal corresponding to at least one response based on text information may be performed through a neural network model called a text-to-speech model (TTS model).
  • TTS model text-to-speech model
  • FIG. 6 is a flowchart briefly illustrating a control method of an electronic device according to an embodiment of the present disclosure
  • FIG. 7 is a flowchart illustrating in more detail a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may obtain text information corresponding to a user query ( S710 ). Then, when text information corresponding to the user's query is obtained, the electronic device 100 may identify a representative query corresponding to the text information (S720). Specifically, the electronic device 100 may identify a representative query matching the input text information among a plurality of predefined representative queries.
  • the electronic device 100 may obtain a plurality of responses related to the representative inquiry ( S730 ). Specifically, the electronic device 100 may identify a plurality of responses matching the identified representative query from among a plurality of predefined responses.
  • the electronic device 100 may identify a plurality of phrases included in the text information (S740). Specifically, the electronic device 100 may identify a plurality of phrases included in the text information by identifying each of the plurality of phrases included in the text information.
  • the electronic device 100 may identify a plurality of phrases included in the text information based on a conjunction, an ending, or a punctuation mark included in the text information. According to another embodiment, the electronic device 100 may identify a plurality of phrases included in the text information by using a neural network model trained with a labeled data set.
  • the electronic device 100 may identify at least one phrase corresponding to the representative query among the plurality of phrases based on the similarity between the plurality of phrases and the representative query ( S750 ).
  • the process of identifying at least one phrase corresponding to the representative query is a process of converting information about each of a plurality of phrases and the representative query into a vector, and quantitatively indicating whether the vectors exist at similar positions in the vector space. It may include the process of obtaining a first score.
  • the electronic device 100 may identify at least one response corresponding to the remaining phrase among the plurality of responses based on the similarity between the plurality of responses and the remaining phrases except for the at least one phrase (S760).
  • the process of identifying at least one response corresponding to the remaining syntax among the plurality of responses is a process of converting information about each of the plurality of responses and the remaining syntax into a vector and whether the vectors exist at similar positions in the vector space It may include the process of obtaining a second score quantitatively representing .
  • the electronic device 100 may provide text information corresponding to the remaining responses except for at least one of the plurality of responses ( S770 ). Furthermore, the electronic device 100 may provide information related to at least one identified response along with text information corresponding to the remaining identified responses.
  • the electronic device 100 may identify whether a first phrase among a plurality of phrases corresponds to a representative query ( S755 ). If the first syntax corresponds to the representative query (S755-Y), the first syntax can be said to be information used in the process of identifying the representative query. It is not necessary to identify whether it is a match or not. On the other hand, if the first phrase is not identified as corresponding to the representative query (S755-N), the electronic device 100 may identify whether the first phrase among the plurality of phrases corresponds to at least one of the plurality of responses. (S765).
  • the electronic device 100 may exclude the response corresponding to the first phrase from the response to be provided to the user (S775).
  • the electronic device 100 may not exclude the response corresponding to the first phrase from the response to be provided to the user. .
  • FIG. 7 illustrates only the processing process for the first syntax among the plurality of phrases
  • the electronic device performs the same processing process as the first syntax for the remaining phrases except for the first syntax among the plurality of phrases in steps S750, S760 and S770 can be performed.
  • the process of identifying a representative query corresponding to the text information ( S720 ), the process of obtaining a plurality of responses related to the representative query ( S730 ), and a plurality of phrases included in the text information are In each of the identification process (S740), the process of identifying at least one phrase corresponding to the representative query among the plurality of phrases (S750), and the process of identifying at least one response corresponding to the remaining syntax among the plurality of responses (S760) Although it has been sequentially described, the present disclosure is not limited thereto.
  • a plurality of phrases included in the text information may be identified while a representative query corresponding to the text information is identified, and at least one of the plurality of phrases corresponding to the representative query may be identified while a plurality of responses related to the representative query are obtained.
  • One phrase may be identified.
  • control method of the electronic device 100 may be implemented as a program and provided to the electronic device 100 .
  • a program including a control method of the electronic device 100 may be stored and provided in a non-transitory computer readable medium.
  • a control method of the electronic device 100 obtains text information corresponding to a user query, text information Identifying a representative query corresponding to , obtaining a plurality of responses related to the representative query, identifying a plurality of phrases included in text information, a plurality of phrases based on the similarity between the plurality of phrases and the representative query identifying at least one phrase corresponding to the representative query among the plurality of responses, and at least one response corresponding to the remaining phrase among the plurality of responses based on the similarity between the remaining phrases except for at least one of the plurality of responses and the plurality of phrases and providing text information corresponding to the remaining responses except for at least one of the plurality of responses.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, a cache, and the memory 110 , and can be read by a device.
  • a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory 110 card, ROM, and the like.
  • control method of the electronic device 100 and the computer-readable recording medium including the program for executing the control method of the electronic device 100 have been briefly described, but this is only for omitting redundant description, and Of course, various embodiments of the device 100 may be applied to a computer-readable recording medium including a control method of the electronic device 100 and a program for executing the control method of the electronic device 100 .
  • the electronic device 100 uses information other than information corresponding to the representative query among the information included in the user query among a plurality of responses that may be provided to the user query. By removing unnecessary responses, it is possible to provide an optimized response to a user's query. Accordingly, the efficiency and accuracy of the chatbot service can be greatly improved in providing a response to a user's query, the user's convenience can be remarkably improved, and the frequency of the user's connection to an agent can be remarkably reduced, so that the chatbot service The usability can be significantly increased.
  • functions related to the neural network model and artificial intelligence as described above may be performed through the memory 110 and the processor 120 .
  • the processor 120 may include one or a plurality of processors 120 .
  • one or a plurality of processors 120 is a general-purpose processor 120, such as a CPU, AP, GPU. It may be a graphics-only processor 120 such as a VPU or the like, or an artificial intelligence-only processor 120 such as an NPU.
  • One or more processors 120 control to process input data according to a predefined operation rule or artificial intelligence model stored in the non-volatile memory 110 and the volatile memory 110 .
  • the predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • a predefined operation rule or artificial intelligence model of a desired characteristic is created by applying a learning algorithm to a plurality of learning data.
  • Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server/system.
  • the artificial intelligence model may be composed of a plurality of neural network layers. Each layer has a plurality of weight values, and the layer operation is performed through the operation of the previous layer and the operation of the plurality of weights.
  • Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), GAN.
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • DBN Deep Belief Network
  • BBN Bidirectional Recurrent Deep Neural Network
  • GAN GAN
  • the learning algorithm is a method of training a predetermined target device (eg, a robot) using a plurality of learning data so that the predetermined target device can make a decision or make a prediction by itself.
  • Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified when It is not limited to the above example except for.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave). It does not distinguish the case where it is stored as
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a portion of the computer program product eg, a downloadable app
  • a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.
  • each of the components may be composed of a singular or a plurality of entities, and some of the above-described corresponding sub-components are omitted. Alternatively, other sub-components may be further included in various embodiments. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration.
  • operations performed by a module, program, or other component may be sequentially, parallelly, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added.
  • unit or “module” used in the present disclosure includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
  • a “unit” or “module” may be an integrally constituted part or a minimum unit or a part thereof that performs one or more functions.
  • the module may be configured as an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium readable by a machine (eg, a computer).
  • the device calls the stored instructions from the storage medium.
  • an electronic device eg, the electronic device 100 according to the disclosed embodiments as a device capable of operating according to the called command.
  • the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor.
  • Instructions may include code generated or executed by a compiler or interpreter.

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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)
  • Telephone Function (AREA)
  • Machine Translation (AREA)

Abstract

전자 장치 및 전자 장치의 제어 방법이 개시된다. 본 개시에 따른 전자 장치의 제어 방법은 사용자 질의에 대응되는 제1 텍스트 정보가 획득되면, 제1 텍스트 정보에 대응되는 대표 질의를 식별하는 단계, 대표 질의에 관련된 복수의 응답을 획득하는 단계, 텍스트 정보에 포함된 복수의 구문을 식별하는 단계, 복수의 구문 및 대표 질의 사이의 유사도를 바탕으로 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 제1 구문을 식별하는 단계, 복수의 응답 및 복수의 구문 중 적어도 하나의 제1 구문을 제외한 나머지 구문 사이의 유사도를 바탕으로 복수의 응답 중 나머지 제2 구문에 대응되는 적어도 하나의 응답을 식별하는 단계 및 복수의 응답 중 적어도 하나의 제1 응답을 제외한 나머지 제2 응답에 대응되는 제2 텍스트 정보를 제공하는 단계를 포함한다.

Description

전자 장치 및 전자 장치의 제어 방법
본 개시는 전자 장치 및 전자 장치의 제어 방법에 관한 것으로서, 구체적으로는 사용자 질의에 대한 응답을 제공할 수 있는 전자 장치 및 전자 장치의 제어 방법에 관한 것이다.
근래에는 인공 지능(Artificial Intelligence, AI) 분야의 발전에 따라, 사용자와의 대화를 통해 특정한 작업을 수행할 수 있는 '챗봇(chatbot)'을 이용한 서비스가 사용자에게 제공되고 있다. 특히, '고객 응대 챗봇(customer service chatbot, CS chatbot)'은 사용자 질의에 포함된 대표 질의를 식별하고, 그 식별된 대표 질의에 대응되는 복수의 응답을 제공하는 방식으로 동작할 수 있다.
그런데, 사용자가 사용자 질의를 입력하기 위해 사용하는 표현은 매우 다양하며, 사용자 질의에 포함된 정보가 불명확한 경우 그에 대응되는 대표 질의를 식별하기 어렵다는 문제가 있다. 따라서, 종래 기술은 사용자 질의를 보다 명확하게 분류하기 위해, 데이터베이스의 구축에 있어서 사용자 질의에 매칭될 수 있는 대표 질의의 종류를 증가시키거나, 사용자 질의에 대한 복수의 질문을 사용자에게 제공하여 사용자 질의에 관련된 상세 정보를 획득하는 방식으로 위와 같은 문제를 해결하고 있다.
그런데, 사용자 질의에 매칭될 수 있는 대표 질의의 종류를 증가시키는 방식에 따르면, 데이터베이스의 구축 및 관리에 어려움이 따른다는 점, 사용자 질의를 세부적인 대표 질의와 매칭하는 과정을 수행해야 하기 때문에 인식률이 저하될 수 있다는 점, 그리고, 사용자 질의에 매칭되는 대표 질의의 개수를 증가시킬수록 비슷한 의미의 대표 질의가 중복될 수 있다는 점 등과 같은 한계가 지적되고 있다.
한편, 사용자 질의에 대한 복수의 질문을 사용자에게 제공하는 방식에 따르면, 신속한 응답과 조치를 원하는 사용자에게 여러 차례 상세한 사항에 대한 답변을 요구하게 되어 사용자의 편의성이 저하된다는 점, 그에 따라 상담원 연결 빈도가 증가하게 되어 챗봇의 활용도가 떨어지게 된다는 점 등과 같은 한계가 지적되고 있다.
따라서, 사용자의 의도를 신속하고 명확하게 파악하여 사용자 질의에 대한 응답을 제공함으로써, 챗봇 서비스를 효율적으로 구현함과 동시에 사용자의 편의성을 향상시킬 수 있는 기술에 대한 필요성이 요청된다.
본 개시는 상술한 바와 같은 필요성에 따른 것으로서, 본 개시의 목적은 사용자 질의에 포함된 정보를 분석하여 사용자 질의에 최적화된 응답을 제공할 수 있는 전자 장치 및 전자 장치의 제어 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 사용자 질의에 대한 응답을 제공하기 위한 복수의 모듈에 관련된 데이터를 저장하는 메모리 및 사용자 질의에 대응되는 제1 텍스트 정보가 획득되면, 상기 제1 텍스트 정보에 대응되는 대표 질의를 식별하고, 상기 대표 질의에 관련된 복수의 응답을 획득하는 프로세서를 포함하고, 상기 프로세서는 상기 제1 텍스트 정보에 포함된 복수의 구문을 식별하고, 상기 복수의 구문 및 상기 대표 질의 사이의 유사도를 바탕으로 상기 복수의 구문 중 상기 대표 질의에 대응되는 적어도 하나의 제1 구문을 식별하며, 상기 복수의 응답 및 상기 복수의 구문 중 상기 적어도 하나의 제1 구문을 제외한 나머지 구문 사이의 유사도를 바탕으로 상기 복수의 응답 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 응답을 식별하고, 상기 복수의 응답 중 상기 적어도 하나의 제1 응답을 제외한 나머지 제2 응답에 대응되는 제2 텍스트 정보를 제공한다.
여기서, 상기 프로세서는 상기 복수의 구문 별로 상기 대표 질의와의 유사도에 대한 제1 스코어를 획득하고, 상기 복수의 구문 중 상기 스코어가 기 설정된 제1 임계 값 이상인 하나 이상의 구문을 상기 적어도 하나의 제1 구문으로 식별할 수 있다.
한편, 상기 프로세서는 상기 복수의 응답 별로 상기 나머지 제2 구문 각각과의 유사도에 대한 제2 스코어를 획득하고, 상기 복수의 응답 중 상기 제2 스코어가 기 설정된 제2 임계 값 이상인 하나 이상의 응답을 상기 적어도 하나의 제1 응답으로 식별할 수 있다.
한편, 상기 프로세서는 기 정의된 복수의 컨텍스트(context) 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 컨텍스트를 식별하고, 상기 복수의 응답 중 상기 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 상기 적어도 하나의 응답으로 식별할 수 있다.
한편, 상기 프로세서는 상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 접속사, 어미 및 문장 기호 중 적어도 하나를 바탕으로 상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다.
한편, 상기 프로세서는 상기 나머지 제2 구문에 상기 적어도 하나의 제1 응답에 대한 긍정 또는 부정을 나타내는 정보가 포함되면, 상기 적어도 하나의 제1 응답 및 상기 적어도 하나의 제1 응답에 대한 긍정 또는 부정을 나태는 정보를 상기 나머지 응답에 대응되는 제2 텍스트 정보와 함께 제공할 수 있다.
한편, 상기 전자 장치는 통신부를 더 포함하고, 상기 프로세서는 상기 통신부를 통해 상기 전자 장치와 연결된 외부 장치로부터 상기 사용자 질의에 대응되는 제1 텍스트 정보를 수신하고, 상기 나머지 제2 응답에 대응되는 텍스트 정보를 상기 외부 장치로 전송하도록 상기 통신부를 제어할 수 있다.
한편, 상기 전자 장치는 디스플레이를 더 포함하고, 상기 프로세서는 상기 나머지 제2 응답에 대응되는 제2 텍스트 정보를 포함하는 사용자 인터페이스(User Interface, UI)를 표시하도록 상기 디스플레이를 제어하고, 상기 UI를 통해 상기 나머지 제2 응답에 대한 사용자 입력을 수신할 수 있다.
한편, 상기 전자 장치는 마이크를 더 포함하고, 상기 프로세서는 상기 마이크를 통해 상기 사용자의 질의에 대응되는 음성 신호를 수신하고, 상기 음성 신호를 바탕으로 상기 사용자 질의에 대응되는 제1 텍스트 정보를 획득할 수 있다.
한편, 상기 전자 장치는 스피커를 더 포함하고, 상기 프로세서는 상기 적어도 하나의 제1 응답에 대응되는 텍스트 정보를 바탕으로 상기 적어도 하나의 제1 응답에 대응되는 음성 신호를 획득하고, 상기 스피커를 통해 상기 적어도 하나의 제1 응답에 대응되는 음성 신호를 출력할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 사용자 질의에 대응되는 제1 텍스트 정보가 획득되면, 상기 제1 텍스트 정보에 대응되는 대표 질의를 식별하는 단계, 상기 대표 질의에 관련된 복수의 응답을 획득하는 단계, 상기 제1 텍스트 정보에 포함된 복수의 구문을 식별하는 단계, 상기 복수의 구문 및 상기 대표 질의 사이의 유사도를 바탕으로 상기 복수의 구문 중 상기 대표 질의에 대응되는 적어도 하나의 제1 구문을 식별하는 단계, 상기 복수의 응답 및 상기 복수의 구문 중 상기 적어도 하나의 제1 구문을 제외한 나머지 제2 구문 사이의 유사도를 바탕으로 상기 복수의 응답 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 제1 응답을 식별하는 단계 및 상기 복수의 응답 중 상기 적어도 하나의 제1 응답을 제외한 나머지 제2 응답에 대응되는 제2 텍스트 정보를 제공하는 단계를 포함한다.
여기서, 상기 적어도 하나의 구문을 식별하는 단계는 상기 복수의 구문 별로 상기 대표 질의와의 유사도에 대한 제1 스코어를 획득하는 단계 및 상기 복수의 구문 중 상기 스코어가 기 설정된 제1 임계 값 이상인 하나 이상의 구문을 상기 적어도 하나의 제1 구문으로 식별하는 단계를 포함할 수 있다.
한편, 상기 적어도 하나의 응답을 식별하는 단계는 상기 복수의 응답 별로 상기 나머지 제2 구문 각각과의 유사도에 대한 제2 스코어를 획득하는 단계 및 상기 복수의 응답 중 상기 제2 스코어가 기 설정된 제2 임계 값 이상인 하나 이상의 응답을 상기 적어도 하나의 제1 응답으로 식별하는 단계를 포함할 수 있다.
한편, 상기 적어도 하나의 응답을 식별하는 단계는 기 정의된 복수의 컨텍스트(context) 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 컨텍스트를 식별하는 단계 및 상기 복수의 응답 중 상기 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 상기 적어도 하나의 응답으로 식별하는 단계를 포함할 수 있다.
한편, 상기 복수의 구문을 식별하는 단계는 상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 접속사, 어미 및 문장 기호 중 적어도 하나를 바탕으로 상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 도면,
도 2는 본 개시에 따른 복수의 모듈 각각의 처리 과정을 상세하게 설명하기 위한 도면,
도 3은 본 개시에 따른 응답 필터링 과정에 관련된 실시 예를 상세하게 설명하기 위한 도면,
도 4는 본 개시에 따라 사용자에게 응답을 제공하는 방식에 관련된 실시 예를 상세하게 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세하게 나타내는 도면,
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 간략하게 나타내는 흐름도, 그리고,
도 7은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 보다 상세하게 나타내는 흐름도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 도면이다. 그리고, 도 2는 본 개시에 따른 복수의 모듈 각각의 처리 과정을 상세하게 설명하기 위한 도면이다. 이하에서는 도 1과 함께 도 2를 참조하여 본 개시의 일 실시 예에 대해 설명한다.
먼저, 본 개시에 따른 '전자 장치(100)'는 사용자 질의에 대한 응답을 제공할 수 있는 장치를 말한다. 즉, 전자 장치(100)는 소위 '챗봇(chatbot)' 서비스 내지는 '고객 응대 챗봇(customer service chatbot, CS chatbot)' 서비스를 제공할 수 있는 장치를 말하며, 스마트 폰, 태블릿 PC 등과 같은 사용자 단말 장치뿐만 아니라, 서버, 클라우드 서버 및 엣지 컴퓨팅 디바이스 등과 같은 다양한 유형의 장치로 구현될 수 있다. 본 개시에 따른 전자 장치(100)의 유형에 특별한 제한이 있는 것은 아니며, 사용자의 질의를 수신하고 수신된 질의를 분석하여 그에 대한 대화형 응답을 제공할 수 있는 장치라면, 본 개시에 따른 전자 장치(100)에 해당될 수 있다.
도 1에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 그리고, 프로세서(120)는 질의 분석 모듈(121)(query analysis module), 응답 획득 모듈(122)(response acquisition module), 구문 분할 모듈(123)(phrase segmentation module), 구문 필터링 모듈(124)(phrase filtering module) 및 응답 필터링 모듈(125)(response filtering module)과 같은 복수의 모듈을 포함할 수 있다. 본 개시에 따른 복수의 모듈은 하드웨어 모듈 또는 소프트웨어 모듈로서 구현될 수 있으며, 복수의 모듈이 소프트웨어 모듈로 구현되는 경우, 프로세서(120)는 메모리(110)에 저장된 소프트웨어 모듈을 로딩함으로써 소프트웨어 모듈에 엑세스할 수 있다.
메모리(110)에는 전자 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 그리고, 메모리(110)에는 전자 장치(100)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(110)에는 본 개시의 다양한 실시 예들에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(110)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(110)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 프로세서(120)는 메모리(110)에 저장된 각종 소프트웨어 모듈을 실행하여 전자 장치(100)의 동작을 제어할 수 있다. 즉, 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
한편, 본 개시에서 메모리(110)라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 메모리(110)에는 사용자 질의에 대응되는 텍스트 정보 및 응답에 대응되는 텍스트 정보가 저장될 수 있다. 그리고, 메모리(110)에는 사용자 질의에 대한 응답을 제공하기 위한 복수의 모듈에 관련된 데이터가 저장될 수 있다. 구체적으로, 메모리(110)에는 복수의 모듈 중 일부 모듈에 포함되는 신경망 모델의 파라미터 및 가중치에 대한 데이터, 신경망 모델의 학습을 위한 학습 데이터가 저장될 수 있다. 또한, 메모리(110)에는 본 개시에 따른 규칙을 적용해기 위한 데이터베이스가 저장될 수 있다. 예를 들어, 메모리(110)에는 기 정의된 복수의 대표 질의에 대한 정보 및 복수의 대표 질의 각각에 대응되는 복수의 응답에 대한 정보를 포함하는 데이터베이스 등이 저장될 수 있다.
그 밖에도 본 개시의 목적(예: 사용자 질의에 대한 응답 제공)을 달성하기 위한 범위 내에서 필요한 다양한 정보가 메모리(110)에 저장될 수 있으며, 메모리(110)에 저장된 정보는 외부 장치로부터 수신되거나 사용자에 의해 입력됨에 따라 갱신될 수도 있다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(120)는 메모리(110)를 포함하는 전자 장치(100)의 구성과 연결되며, 상술한 바와 같은 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 전자 장치(100)의 동작을 전반적으로 제어할 수 있다.
프로세서(120)는 다양한 방식으로 구현될 수 있다. 예를 들어, 프로세서(120)는 주문형 집적 회로(Application Specific Integrated Circuit, ASIC), 임베디드 프로세서, 마이크로 프로세서, 하드웨어 컨트롤 로직, 하드웨어 유한 상태 기계(hardware Finite State Machine, FSM), 디지털 신호 프로세서(Digital Signal Processor, DSP) 중 적어도 하나로 구현될 수 있다. 한편, 본 개시에서 프로세서(120)라는 용어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 및 MPU(Main Processing Unit)등을 포함하는 의미로 사용될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 프로세서(120)는 질의 분석 모듈(121), 응답 획득 모듈(122), 구문 분할 모듈(123), 구문 필터링 모듈(124) 및 응답 필터링 모듈(125)과 같은 복수의 모듈을 통해 사용자의 질의를 분석하고 그에 대한 대화형 응답을 제공할 수 있다.
구체적으로, 프로세서(120)는 사용자 질의에 대응되는 텍스트 정보를 획득할 수 있다. 여기서, 사용자 질의에 대응되는 텍스트 정보는 전자 장치(100)에 입력된 사용자 입력에 기초하여 획득될 수 있을 뿐만 아니라, 전자 장치(100)와 연결된 외부 장치로부터 수신함으로써 획득될 수도 있다. 사용자 질의에 대응되는 텍스트 정보를 획득하는 방법에 대해서는 도 5를 참조하여 보다 상세하게 설명한다.
이하에서는 도 2에 도시된 바와 같이, 사용자 질의에 대응되는 텍스트 정보로서 "어제 샀는데 갑자기 화면이 안 켜져요. 소리는 나는데 화면이 안보이고 껐다 켜도 그래요."라는 텍스트 정보가 획득된 경우를 예로 들어 사용자 질의에 대응되는 응답을 획득하는 과정에 대해 설명한다.
사용자 질의에 대응되는 텍스트 정보가 획득되면, 프로세서(120)는 텍스트 정보에 대응되는 대표 질의(main query)를 식별할 수 있다. 텍스트 정보에 대응되는 대표 질의를 식별하는 과정은 질의 분석 모듈(121)을 통해 수행될 수 있다.
'질의 분석 모듈(121)'은 입력된 텍스트 정보에 대응되는 대표 질의를 출력할 수 있는 모듈을 말한다. 구체적으로, 텍스트 정보가 입력되면, 질의 분석 모듈(121)은 기 정의된 복수의 대표 질의 중 입력된 텍스트 정보에 매칭되는 대표 질의를 식별할 수 있으며, 식별된 대표 질의에 대한 정보를 출력할 수 있다. 다시 말해, 질의 분석 모듈(121)은 입력된 텍스트 정보에 포함된 핵심적인 의도(target intent)를 분석하고, 그 결과를 출력하는 모듈이라고 할 수 있다. 여기서, 기 정의된 복수의 대표 질의에 대한 정보는 데이터베이스의 형태로 기 구축되어 메모리(110)에 저장될 수 있다.
한편, 질의 분석 모듈(121)은 입력된 텍스트 정보에 포함된 의도가 기 정의된 클래스(카테고리)에 해당될 확률에 대한 정보를 출력하도록 학습된 신경망 모델을 바탕으로 구현될 수 있다. 또한, 질의 분석 모듈(121)은 입력된 텍스트 정보에 포함된 여러 개의 의도를 분석하여, 그 텍스트 정보에 대응되는 여러 개의 대표 질의를 식별할 수 있는 다중 의도 감지(multi-intent detection) 모듈을 포함할 수도 있다.
도 2의 예를 참조하면, "어제 샀는데 갑자기 화면이 안 켜져요. 소리는 나는데 화면이 안 보이고 껐다 켜도 그래요."라는 텍스트 정보가 입력되는 경우, 질의 분석 모듈(121)은 텍스트 정보에 대응되는 대표 질의로서, "화면이 안 켜져요"라는 대표 질의를 식별하고, 식별된 대표 질의에 대한 정보를 출력할 수 있다.
대표 질의가 식별되면, 프로세서(120)는 대표 질의에 관련된 복수의 응답을 획득할 수 있다. 복수의 응답을 획득하는 과정은 응답 획득 모듈(122)을 통해 수행될 수 있다.
'응답 획득 모듈(122)'은 입력된 대표 질의에 대응되는 복수의 응답을 출력할 수 있는 모듈을 말한다. 구체적으로, 질의 분석 모듈(121)로부터 대표 질의에 대한 정보가 수신되면, 응답 획득 모듈(122)은 기 정의된 복수의 응답 중 입력된 대표 질의에 매칭되는 복수의 응답을 식별할 수 있으며, 식별된 복수의 응답에 대한 정보를 출력할 수 있다. 여기서, 기 정의된 복수의 응답에 대한 정보는 복수의 대표 질의에 대한 정보와 함께 데이터베이스의 형태로 기 구축되어 메모리(110)에 저장될 수 있다. 구체적으로, 메모리(110)에는 복수의 대표 질의에 대한 정보와 함께 복수의 대표 질의 별로 그에 대응되는 복수의 응답이 무엇인지에 대한 정보가 데이터베이스의 형태로 구축되어 저장될 수 있다.
도 2의 예를 참조하면, "화면이 안 켜져요"라는 대표 질의가 입력되는 경우, 응답 획득 모듈(122)은 "벨소리, 전원 효과음은 정상 동작 하나요?", "전원 재부팅을 시도해 보셨나요?", "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 복수의 응답을 획득할 수 있다. 이처럼, 복수의 응답은 그에 대응되는 대표 질의에 관련된 상세 정보를 획득하기 위한 적어도 하나의 질문을 포함할 수 있다. 다만 이에 국한되는 것은 아니며, 복수의 응답은 사용자에게 특정한 행동을 취하도록 요청하기 위한 응답을 포함할 수도 있다. 특히, 본 개시에 따른 전자 장치가 '고객 응대 챗봇(customer service chatbot, CS chatbot)' 서비스를 제공할 수 있도록 구현되는 경우, 복수의 응답은 사용자 질의를 통해 사용자가 문의하고자 하는 제품의 증상을 정확하게 파악하기 위한 후속 질의 또는 그 제품의 증상을 해결하기 위한 사용자의 자가 조치를 안내하기 위한 응답 등을 포함할 수 있다.
이상에서 상술한 바와 같이, 프로세서(120)는 질의 분석 모듈(121) 및 응답 획득 모듈(122)을 통해 사용자 질의에 대응되는 복수의 응답을 획득할 수 있게 된다. 그런데, 상술한 바와 같은 과정에서, 사용자 질의에 포함된 정보 중 대표 질의에 대응되는 정보 이외의 정보는 고려되지 않는다. 따라서, 대표 질의에 대응되는 것으로 식별된 복수의 응답 전부를 사용자에게 제공하는 경우, 복수의 응답 중에는 사용자 질의에 포함된 정보에 비추어 볼 때 불필요한 응답이 포함될 수 있다.
특히, 복수의 응답이 대표 질의에 관련된 상세 정보를 획득하기 위한 질문을 포함하는 경우, 사용자 질의에 포함된 정보 중 대표 질의에 대응되는 정보 이외의 정보에 대해 사용자에게 재차 질문하는 결과를 초래할 수 있다. 예를 들어, 상술한 도 2의 예에서, 사용자 질의에 대응되는 텍스트 정보에 "소리는 나는데"와 같은 정보가 포함되어 있음에도 불구하고, "벨소리, 전원 효과음은 정상 동작 하나요?"와 같은 응답이 제공될 수 있으며, 사용자 질의에 대응되는 텍스트 정보에 "껐다 켜도"와 같은 정보가 포함되어 있음에도 불구하고, "전원 재부팅을 시도해 보셨나요?"와 같은 응답이 제공될 수 있다.
따라서, 본 개시에 따른 프로세서(120)는 구문 분할 모듈(123), 구문 필터링 모듈(124) 및 응답 필터링 모듈(125)을 이용하여, 복수의 응답 중 사용자 질의에 포함된 정보를 필터링하여 제공할 수 있다. 이하에서는 구문 분할 모듈(123), 구문 필터링 모듈(124) 및 응답 필터링 모듈(125) 각각의 동작 및 그에 따른 실시 예에 대해 설명한다.
프로세서(120)는 사용자 질의에 대응되는 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다. 구체적으로, 복수의 구문을 식별하는 과정은 구문 분할 모듈(123)을 통해 수행될 수 있다.
'구문 분할 모듈(123)'은 입력된 텍스트 정보를 복수의 구문으로 분할하여 복수의 구문 각각에 대한 결과를 출력할 수 있는 모듈을 말한다. 구체적으로, 사용자 질의에 대응되는 텍스트 정보가 입력되면, 구문 분할 모듈(123)은 입력된 텍스트 정보에 포함된 복수의 구문 각각을 식별함으로써 입력된 텍스트 정보를 복수의 구문으로 분할하고, 분할된 복수의 구문에 대한 정보를 출력할 수 있다.
본 개시에 있어서 '구문'이란 사용자 질의에 대응되는 적어도 하나의 문장을 구성하는 요소(element)를 특정하기 위한 하나의 기준으로서, 구체적인 기준은 실시 예에 따라 달라질 수 있다. 그리고, '구문'이라는 용어는 '구절(passage)' 또는 '문구(syntax)' 등의 용어로 대체될 수 있다.
일 실시 예에 따르면, 구문 분할 모듈(123)은 텍스트 정보에 포함된 접속사, 어미(ending) 또는 문장 부호에 기초하여 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다. 다른 실시 예에 따르면, 구문 분할 모듈(123)은 라벨링(labeling)된 데이터 세트로 학습된 신경망 모델을 이용하여 텍스트 정보에 포함된 복수의 구문을 식별할 수도 있다. 그 밖에도, 전술한 바와 같이 질의 분석 모듈(121)이 다중 의도 감지 모듈을 포함하는 경우, 구문 분할 모듈(123)은 식별된 여러 개의 의도 각각을 기준으로 텍스트 정보에 포함된 복수의 구문을 식별할 수도 있다.
도 2의 예를 참조하면, "어제 샀는데 갑자기 화면이 안 켜져요. 소리는 나는데 화면이 안 보이고 껐다 켜도 그래요."라는 텍스트 정보가 입력되는 경우, 구문 분할 모듈(123)은 입력된 텍스트 정보의 "그러나", "그리고, "그 후" 등과 같은 접속사, "데", "요", "고", "다" 및 "도"와 같은 어미, ". (마침표)"과 같은 문장 부호를 기준으로, "어제 샀는데", "화면이 안 켜져요", "소리는 나는데", "화면이 안 보이고" 및 "껐다 켜도"라는 복수의 구문을 식별하고, 식별된 구문에 대한 정보를 출력할 수 있다.
프로세서(120)는 복수의 구문 및 대표 질의 사이의 유사도를 바탕으로 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별할 수 있다. 구체적으로, 적어도 하나의 구문을 식별하는 과정은 구문 필터링 모듈(124)를 통해 수행될 수 있다.
'구문 필터링 모듈(124)'은 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 필터링하는 모듈을 말한다. 구체적으로, 구문 분할 모듈(123)로부터 복수의 구문에 대한 정보가 입력되고 질의 분석 모듈(121)로부터 대표 질의에 대한 정보가 입력되면, 구문 필터링 모듈(124)은 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별하고, 복수의 구문 중 식별된 적어도 하나의 구문을 제외한 나머지 구문에 대한 정보를 출력할 수 있다.
이하에서는 편의상, 복수의 구문 중 대표 질의에 대응되는 것으로 식별된 구문을 단순히 '적어도 하나의 구문'이라고 지칭하고, 복수의 구문 중 적어도 하나의 구문을 제외한 나머지 구문(즉, 구문 필터링 모듈(124)를 통해 필터링된 결과)을 간략하게 '나머지 구문'이라고 지칭한다.
구체적으로, 구문 필터링 모듈(124)은 입력된 복수의 구문 및 대표 질의 각각에 대한 정보를 벡터(vector)로 변환할 수 있다. 복수의 구문 및 대표 질의 각각에 대한 정보를 벡터로 변환하는 과정은 소위 특징 추출 모델(feature extraction model) 또는 워드 임베딩 모델(word embedding model) 등으로 지칭되는 신경망 모델을 이용하여 수행될 수 있다. 특징 추출 또는 워드 임베딩이란 텍스트 정보에 포함된 단어를 밀집 벡터(dense vector) 또는 희소 벡터(sparse vector) 등과 같은 다양한 형태의 벡터로 변환하는 것으로서, 구체적으로 단어 간 유사도(또는 연관도) 등을 반영할 수 있도록 단어의 의미를 수치화하는 과정이라고 할 수 있다. 특징 추출 모델 또는 워드 임베딩 모델을 통해 획득되는 것은 벡터일 수 있을 뿐만 아니라, 히스토그램(histogram) 등과 같이 단어의 의미를 수치화할 수 있는 다양한 지표일 수도 있다.
본 개시에 따른 특징 추출 모델 또는 워드 임베딩 모델의 종류에 특별한 제한이 있는 것은 아니며, Word2Vec, GloVe (Global Vectors for Word Representation) 및 BERT (Bidirectional Encoder Representations from Transformers) 등과 같은 모델 중 하나로 구현될 수 있다. 특히, BERT는 각각의 단어의 양방향 문맥을 고려하여 각각의 단어에 대한 임베딩 벡터를 획득할 수 있는 모델을 말한다.
상술한 바와 같이, 입력된 복수의 구문 및 대표 질의 각각에 대한 벡터가 획득되면, 구문 필터링 모듈(124)은 그 벡터들이 벡터 공간에서 유사한 위치에 존재하는지 여부에 따라, 복수의 구문 별로 대표 질의와의 유사도에 대한 제1 스코어를 출력할 수 있다. 예를 들어, 구문 필터링 모듈(124)은 유클리디안 거리 (euclidean distance) 또는 코사인 유사도 (cosine similarity) 등과 같은 기법을 이용하여, 복수의 구문 및 대표 질의 사이의 유사도에 대한 제1 스코어를 산출할 수 있다. 본 개시에 있어서 '제1 스코어'란 본 개시에 따른 복수의 구문 및 대표 질의 사이의 유사도를 정량적으로 나타낸 값을 말한다.
상술한 바와 같이 복수의 구문 별로 대표 질의와의 유사도에 대한 제1 스코어가 획득되면, 구문 분할 모듈(123)은 제1 스코어를 바탕으로 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별할 수 있다. 그리고, 이에 따라 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 제외한 나머지 구문이 식별될 수 있다.
일 실시 예에 따르면, 구문 필터링 모듈(124)은 복수의 구문 중 제1 스코어가 기 설정된 제1 임계 값 이상인 하나 이상의 구문을 대표 질의에 대응되는 적어도 하나의 구문으로 식별할 수 있으며, 이에 따라, 복수의 구문 중 제1 스코어가 기 설정된 제1 임계 값 미만인 하나 이상의 구문이 나머지 구문으로 식별될 수 있다.
다른 실시 예에 따르면, 구문 필터링 모듈(124)은 복수의 구문 별 제1 스코어를 내림차순으로 정렬한 후 소정의 개수 또는 소정의 비율에 해당하는 구문을 대표 질의에 대응되는 적어도 하나의 구문으로 식별할 수 있으며, 이에 따라 나머지 구문이 식별될 수 있다.
도 2의 예를 참조하면, "어제 샀는데", "화면이 안 켜져요", "소리는 나는데", "화면이 안 보이고" 및 "껐다 켜도"라는 복수의 구문이 입력되면, 구문 필터링 모듈(124)은 복수의 구문 중 대표 질의인 "화면이 안 켜져요"에 대응되는 적어도 하나의 구문인 "화면이 안 켜져요" 및 "화면이 안 보이고"를 식별할 수 있으며, 이에 따라, 나머지 구문인 "어제 샀는데", "소리는 나는데" 및 "껐다 켜도"가 식별될 수 있다.
프로세서(120)는 복수의 응답 및 복수의 구문 중 대표 질의에 대응되는 것으로 식별된 적어도 하나의 구문을 제외한 나머지 구문 사이의 유사도를 바탕으로 복수의 응답 중 나머지 구문에 대응되는 적어도 하나의 응답을 식별할 수 있다. 구체적으로, 적어도 하나의 응답을 식별하는 과정은 응답 필터링 모듈(125)를 통해 수행될 수 있다.
'응답 필터링 모듈(125)'은 복수의 응답 중 나머지 구문(즉, 복수의 구문 중 대표 질의에 대응되는 것으로 식별된 적어도 하나의 구문을 제외한 나머지 구문)에 대응되는 적어도 하나의 응답을 필터링하는 모듈을 말한다. 구체적으로, 응답 획득 모듈(122)로부터 복수의 응답에 대한 정보가 입력되고 구문 필터링 모듈(124)로부터 나머지 구문에 대한 정보가 입력되면, 응답 필터링 모듈(125)은 복수의 응답 중 나머지 구문에 대응되는 적어도 하나의 응답을 식별하고, 복수의 응답 중 식별된 적어도 하나의 응답을 제외한 나머지 응답에 대한 정보를 출력할 수 있다. 응답 필터링 모듈(125)는 상술한 바와 같은 동작을 수행하도록 학습된 적어도 하나의 신경망을 포함할 수 있다.
이하 본 개시를 설명함에 있어서는 편의상, 복수의 응답 중 나머지 구문에 대응되는 것으로 식별된 응답을 단순히 '적어도 하나의 응답'이라고 지칭하고, 복수의 응답 중 적어도 하나의 응답을 제외한 나머지 응답(즉, 응답 필터링 모듈(125)를 통해 필터링된 결과)을 간략하게 '나머지 응답'이라고 지칭한다.
구체적으로, 응답 필터링 모듈(125)은 입력된 복수의 응답 및 나머지 구문 각각에 대한 정보를 벡터로 변환하고, 그 벡터들이 벡터 공간에서 유사한 위치에 존재하는지 여부에 따라, 복수의 응답 별로 나머지 구문 각각과의 유사도에 대한 제2 스코어를 출력할 수 있다. 여기서, '제2 스코어'란 본 개시에 따른 복수의 응답 및 나머지 구문 사이의 유사도를 정량적으로 나타낸 값을 말한다.
일 실시 예에 따르면, 응답 필터링 모듈(125)은 복수의 응답 중 제2 스코어가 기 설정된 제2 임계 값 이상인 하나 이상의 응답을 나머지 구문에 대응되는 적어도 하나의 응답으로 식별할 수 있으며, 이에 따라, 복수의 응답 중 제2 스코어가 기 설정된 제2 임계 값 미만인 하나 이상의 응답이 나머지 응답으로 식별될 수 있다(즉, 메인 쿼리와 관련된 것으로 식별되어 응답 필터링 모듈(125)을 통해 필터링된다).
다른 실시 예에 따르면, 응답 필터링 모듈(125)은 복수의 응답 별 제2 스코어를 내림차순으로 정렬한 후 소정의 개수 또는 소정의 비율에 해당하는 응답을 나머지 구문에 대응되는 적어도 하나의 응답으로 식별할 수 있으며, 이에 따라 나머지 응답이 식별될 수 있다.
도 2의 예를 참조하면, "벨소리, 전원 효과음은 정상 동작 하나요?", "전원 재부팅을 시도해 보셨나요?", "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 복수의 응답이 입력되면, 응답 필터링 모듈(125)은 복수의 응답 중 "소리는 나는데"라는 구문에 대응되는 응답인 "벨소리, 전원 효과음은 정상 동작 하나요?" 및 "껐다 켜도"라는 구문에 대응되는 응답인 "전원 재부팅을 시도해 보셨나요?"를 적어도 하나의 응답으로 식별할 수 있다. 그리고, 이에 따라 "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 나머지 응답이 식별될 수 있다. 한편, 도 2의 예에서는 복수의 응답 중 "어제 샀는데"라는 구문에 대응되는 응답이 존재하지 않는 것을 전제로 하였다.
한편, 제2 스코어를 획득하는 과정은 문장과 구문을 비교하여 유사도에 관련된 스코어를 획득하는 과정이라는 점에서 전술한 바와 같은 제1 스코어를 획득하는 과정과 유사하다. 따라서, 제1 스코어를 획득하는 과정에 대한 다양한 실시 예는 제2 스코어를 획득하는 과정에 있어서도 마찬가지로 적용될 수 있으며, 구문 필터링 모듈(124)과 응답 필터링 모듈(125)은 하나의 통합된 모듈로 구현될 수도 있다.
적어도 하나의 응답이 식별되면, 프로세서(120)는 복수의 응답 중 적어도 하나의 응답을 제외한 나머지 응답에 대응되는 텍스트 정보를 제공할 수 있다. 사용자에게 제공될 나머지 응답의 개수가 복수 개인 경우, 프로세서(120)는 복수 개의 응답을 동시에 또는 순차적으로 사용자에게 제공할 수 있다.
나아가, 프로세서(120)는 식별된 나머지 응답에 대응되는 텍스트 정보를 음성 신호의 형태로 변환하여 제공할 수도 있다. 사용자 질의에 대응되는 응답이 어떠한 형태로 제공되는지에 대한 다양한 실시 예에 대해서는 도 5를 참조하여 보다 구체적으로 설명한다.
한편, 프로세서(120)는 식별된 나머지 응답에 대응되는 텍스트 정보와 함께, 식별된 적어도 하나의 응답에 관련된 정보를 제공할 수도 있다. 예를 들어, 프로세서(120)는 도 2의 "YES (스피커 정상 동작)" 및 "YES (전원 재부팅 시도완료)"와 같은 정보를 사용자에게 제공할 수 있는바, 이와 관련된 실시 예에 대해서는 도 4를 참조하여 상술한다. 식별된 적어도 하나의 응답과 관련된 정보는 텍스트, 이미지 또는 정보를 사용자에게 전달하기에 적합한 임의의 다른 유형의 형태로 제공될 수 있다.
한편, 이상에서는 질의 분석 모듈(121), 응답 획득 모듈(122), 구문 분할 모듈(123), 구문 필터링 모듈(124) 및 응답 필터링 모듈(125) 각각의 동작에 대해 순차적으로 설명하였으나, 본 개시가 상술한 바와 같은 제어 과정의 순서에 국한되는 것은 아니다. 일 예로서, 질의 분석 모듈(121)을 통해 텍스트 정보에 대응되는 대표 질의가 식별되는 동안, 구문 분할 모듈(123)을 통해 텍스트 정보에 포함된 복수의 구문이 식별될 수 있다. 또한, 응답 획득 모듈(122)을 통해 대표 질의에 관련된 복수의 응답이 획득되는 동안, 구문 필터링 모듈(124)을 통해 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문이 식별될 수 있다.
한편, 이상에서는 한 번의 사용자 질의에 대해 한 번의 응답이 제공되는 경우를 전제로 설명하였으나, 이상에서 상술한 바와 같은 실시 예는 반복적으로 수행될 수도 있음은 물론이다. 예를 들어, 프로세서(120)는 사용자의 질의에 대한 후속 질문을 제공하고, 그에 따라 사용자의 질의에 관련된 상세한 정보가 입력되면, 다시 보다 상세한 정보를 획득하기 위한 후속 질문을 제공하거나 사용자의 최종적인 조치를 안내하기 위한 응답을 제공할 수도 있다.
상술한 바와 같은 실시 예에 따르면, 전자 장치(100)는 사용자 질의에 포함된 정보 중 대표 질의에 대응되는 정보 이외의 정보를 이용하여 사용자 질의에 대해 제공될 수 있는 복수의 응답 중에서 불필요한 응답을 제거함으로써, 사용자 질의에 최적화된 응답을 제공할 수 있게 된다.
도 3은 본 개시에 따른 응답 필터링 과정에 관련된 실시 예를 상세하게 설명하기 위한 도면이다.
도 1 및 도 2에 대한 설명에서는 복수의 응답 중 식별된 나머지 구문에 대응되는 적어도 하나의 응답을 식별함으로써 응답 필터링 과정을 수행하는 실시 예에 대해 설명하였으나, 본 개시의 또 다른 실시 예에 따르면, 응답 필터링 모듈(125)은 식별된 나머지 구문에 대응되는 적어도 하나의 컨텍스트를 식별하고, 복수의 응답 중 식별된 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 식별함으로써 응답 필터링 과정을 수도 있다.
구체적으로, 프로세서(120)는 기 정의된 복수의 컨텍스트(context) 중 나머지 구문에 대응되는 적어도 하나의 컨텍스트를 식별하고, 복수의 응답 중 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 나머지 구문에 대응되는 적어도 하나의 응답으로 식별할 수 있다. 나머지 구문에 대응되는 적어도 하나의 컨텍스트를 식별하는 과정 및 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 식별하는 과정은 도 3에 도시된 바와 같이, 응답 필터링 모듈(125)에 포함된 컨텍스트 추출 모듈(125-1)(context extraction module) 및 응답 매칭 모듈(125-2)(response matching module)을 통해 수행될 수 있다.
'컨텍스트 추출 모듈(125-1)'은 입력된 구문에 대응되는 컨텍스트에 대한 정보를 출력할 수 있는 모듈을 말한다. 구체적으로, 구문 필터링 모듈(124)로부터 식별된 나머지 구문에 대한 정보가 입력되면, 컨텍스트 추출 모듈(125-1)은 기 정의된 복수의 컨텍스트 중 식별된 나머지 구문에 매칭되는 적어도 하나의 컨텍스트를 식별하고, 식별된 컨텍스트에 대한 정보를 출력할 수 있다. 다시 말해, 컨텍스트 추출 모듈(125-1)은 사용자 질의에 대응되는 텍스트 정보 중 대표 질의에 대응되는 핵심적인 의도(target intent) 이외의 부수적인 의도(incidental intent)를 분석하고, 그 결과를 출력하는 모듈이라고 할 수 있다.
여기서, 기 정의된 복수의 컨텍스트에 대한 정보는 데이터베이스의 형태로 기 구축되어 메모리(110)에 저장될 수 있다. 특히, 복수의 컨텍스트에 대한 정보에 대한 데이터베이스는 본 개시에 따라 구현하고자 하는 챗봇 서비스에 관련된 컨텍스트에 대한 정보만을 포함하면 충분하기 때문에, 통상적인 자연어 이해(Natural Language Understanding, NLU) 모델에 비해 적은 양의 데이터로 구축될 수 있다.
구체적으로, 컨텍스트 추출 모듈(125-1)은 입력된 나머지 구문에 대한 정보를 벡터로 변환할 수 있다. 구문 필터링 모듈(124)에 대한 설명에서 상술한 것과 마찬가지로, 식별된 나머지 구문에 대한 정보를 벡터로 변환하는 과정 역시, 특징 추출 모델 또는 워드 임베딩 모델 등으로 지칭되는 신경망 모델을 이용하여 수행될 수 있다. 한편, 컨텍스트 추출 모듈(125-1)은 기 정의된 복수의 컨텍스트에 대한 정보를 벡터로 변환할 수도 있다. 다만 기 정의된 복수의 컨텍스트에 대한 정보에 대응되는 벡터는 복수의 컨텍스트에 대한 정보와 함께 데이터베이스의 형태로 기 구축되어 메모리(110)에 저장될 수도 있다.
식별된 나머지 구문 및 복수의 컨텍스트에 대한 벡터가 획득되면, 컨텍스트 추출 모듈(125-1)은 그 벡터들이 벡터 공간에서 유사한 위치에 존재하는지 여부에 따라, 식별된 나머지 구문 별로 복수의 컨텍스트와의 유사도에 대한 제3 스코어를 출력할 수 있다. 본 개시에 있어서 '제3 스코어'란 본 개시에 따른 나머지 구문 및 복수의 컨텍스트 사이의 유사도를 정량적으로 나타낸 값을 말한다.
식별된 나머지 구문 별로 복수의 컨텍스트와의 유사도에 대한 제3 스코어가 획득되면, 컨텍스트 추출 모듈(125-1)은 제3 스코어를 바탕으로 나머지 구문 각각에 대응되는 적어도 하나의 컨텍스트를 식별하고, 식별된 적어도 하나의 컨텍스트에 대한 정보를 출력할 수 있다. 제3 스코어를 바탕으로 나머지 구문 각각에 대응되는 적어도 하나의 컨텍스트를 식별하는 과정은 제1 스코어를 바탕으로 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별하는 과정과 마찬가지 방법으로 수행될 수 있다.
도 2의 예시를 다시 참조하면, 메모리(110)에는 "스피커(152) 정상 동작", "스피커(152) 불량", "전원 부팅 정상 동작" 및 "전원 부팅 동작 안함" 등과 같은 다양한 종류의 컨텍스트에 대한 정보가 데이터베이스의 형태로 저장될 수 있다. 그리고, 컨텍스트 추출 모듈(125-1)은 "스피커(152) 정상 동작", "스피커(152) 불량", "전원 부팅 정상 동작" 및 "전원 부팅 동작 안함" 등과 같은 복수의 컨텍스트 중 식별된 나머지 구문인 "소리는 나는데" 및 "껐다 켜도" 각각에 대응되는 컨텍스트인 "스피커(152) 정상 동작" 및 "전원 부팅 정상 동작"을 식별할 수 있다.
'응답 매칭 모듈(125-2)'은 식별된 적어도 하나의 컨텍스트에 대응되는 응답에 대한 정보를 출력할 수 있는 모듈을 말한다. 일 실시 예에 따르면, 컨텍스트 추출 모듈(125-1)로부터 식별된 적어도 하나의 컨텍스트에 대한 정보가 입력되고, 응답 획득 모듈(122)로부터 복수의 응답에 대한 정보가 입력되면, 응답 매칭 모듈(125-2)은 복수의 응답 중 식별된 적어도 하나의 컨텍스트에 대한 정보에 매칭되는 하나 이상의 응답을 식별할 수 있다.
여기서, 하나 이상의 응답을 식별하는 과정은 기 정의된 데이터베이스를 이용하여 수행될 수 있다. 구체적으로, 메모리(110)에는 전술한 바와 같이, 복수의 대표 질의에 대한 정보와 함께 복수의 대표 질의 별로 그에 대응되는 복수의 응답이 무엇인지에 대한 정보가 데이터베이스의 형태로 구축되어 저장될 수 있을 뿐만 아니라, 복수의 응답에 대한 정보와 함께 그에 대응되는 컨텍스트가 무엇인지에 대한 정보가 데이터베이스의 형태로 구축되어 저장될 수 있다.
다시 도 2의 예시를 참조하면, 복수의 컨텍스트 중 식별된 나머지 구문인 "소리는 나는데" 및 "껐다 켜도" 각각에 대응되는 컨텍스트인 "스피커(152) 정상 동작" 및 "전원 부팅 정상 동작"이 식별되면, 응답 매칭 모듈(125-2)은 "벨소리, 전원 효과음은 정상 동작 하나요?", "전원 재부팅을 시도해 보셨나요?", "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 복수의 응답 중 식별된 적어도 하나의 컨텍스트에 대응되는 "벨소리, 전원 효과음은 정상 동작 하나요?" 및 "전원 재부팅을 시도해 보셨나요?"라는 하나 이상의 응답을 식별할 수 있다.
한편, 대표 질의에 관련된 복수의 응답을 획득하는 과정에서 이용되는 복수의 응답에 대한 정보와, 컨텍스트에 대응되는 복수의 응답을 식별하는 과정에서 이용되는 복수의 응답에 대한 정보는 서로 상이한 데이터베이스로 구축될 수도 있다. 그리고, 이 경우에는 대표 질의에 관련된 복수의 응답을 획득하는 과정에서 이용되는 복수의 응답에 대한 정보와 컨텍스트에 대응되는 복수의 응답을 식별하는 과정에서 이용되는 복수의 응답에 대한 정보를 서로 매칭시키기 위한 정보가 추가적으로 메모리(110)에 저장될 수 있다.
상술한 바와 같이 복수의 응답 중 식별된 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답이 식별되면, 프로세서(120)는 복수의 응답 중 식별된 하나 이상의 응답을 제외한 나머지 응답에 대응되는 텍스트 정보를 제공할 수 있다.
도 4는 본 개시에 따라 사용자에게 응답을 제공하는 방식에 관련된 실시 예를 상세하게 설명하기 위한 도면이다.
전술한 바와 같이, 응답 필터링 과정을 통해 복수의 응답 중 적어도 하나의 응답이 식별되고, 그에 따라 적어도 하나의 응답을 제외한 나머지 응답이 식별되면, 프로세서(120)는 식별된 적어도 하나의 응답을 제외시키고 나머지 응답만을 사용자에게 제공할 수 있을 뿐만 아니라, 나머지 응답에 대한 정보와 함께 적어도 하나의 응답에 대한 정보를 제공할 수도 있다.
구체적으로, 나머지 구문에 복수의 응답 중 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보가 포함되면(예: 도 2의 "소리는 나는데"라는 응답은 "벨소리, 전원 효과음은 정상 동작 하나요?"에 대한 긍정을 나타내는 정보를 포함함), 프로세서는 적어도 하나의 응답 및 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보를 나머지 응답에 대응되는 텍스트 정보와 함께 제공할 수 있다. 이를 위해, 본 개시에 따른 복수의 모듈은 도 4에 도시된 바와 같이, 긍부정 분류 모듈(126)(positive/negative classification module)을 더 포함할 수 있다.
'긍부정 분류 모듈(126)'은 입력된 응답에 대한 긍정 또는 부정을 나타내는 정보를 획득할 수 있는 모듈을 말한다. 구체적으로, 긍부정 분류 모듈(126)은 응답 필터링 모듈(125)로부터 복수의 응답 중 식별된 '적어도 하나의 응답'에 대한 정보 및 식별된 적어도 하나의 응답을 제외한 '나머지 응답'에 대한 정보를 수신할 수 있다. 또한, 긍부정 분류 모듈(126)은 응답 필터링 모듈(125)로부터 복수의 구문 중 대표 질의에 대응되는 것으로 식별된 적어도 하나의 구문을 제외한 '나머지 구문'에 대한 정보를 수신할 수 있다. 즉, 구문 필터링 모듈(124)로부터 출력된 나머지 구문에 대한 정보는 응답 필터링 모듈(125)을 바이패스(bypass)하여 긍부정 분류 모듈(126)로 전송될 수 있다.
적어도 하나의 응답에 대한 정보, 나머지 응답에 대한 정보 및 나머지 구문에 대한 정보가 입력되면, 긍부정 분류 모듈(126)은 나머지 구문에 복수의 응답 중 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보가 포함되는지 여부를 식별할 수 있다. 나머지 구문에 복수의 응답 중 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보가 포함되는지 여부를 식별하는 과정은 구문과 응답의 쌍(pair)에 대한 긍부정 여부를 식별할 수 있도록 학습된 신경망 모델을 이용하거나 컨텍스트 자체에 대한 긍부정 여부를 식별할 수 있도록 학습된 신경망 모델을 이용함으로써 수행될 수 있다.
한편, 긍부정 분류 모듈(126)에 따라 입력된 응답에 대한 긍정 또는 부정을 나타내는 정보를 획득함에 있어서 반드시 신경망 모델이 필요한 것은 아니다. 즉, 긍부정 분류 모듈(126)은 기 정의된 규칙과 기 구축된 데이터베이스에 기초하여 동작할 수도 있다. 예를 들어, 본 개시에 따른 전자 장치 또는 챗봇 서비스의 개발자에 의해 각각의 컨텍스트 별로 긍부정 여부를 나타내는 정보를 포함하는 데이터베이스가 기 구축되어 메모리(110)에 저장될 수 있으며, 긍부정 분류 모듈(126)은 그 데이터베이스의 컨텍스트 별 긍부정 여부를 나타내는 정보를 바탕으로, 입력된 응답에 대한 긍정 또는 부정을 나타내는 정보를 획득할 수 있다.
식별 결과 나머지 구문에 복수의 응답 중 적어도 하나의 응답 대한 긍정 또는 부정을 나타내는 정보가 포함되면, 프로세서(120)는 적어도 하나의 응답 및 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보를 나머지 응답에 대응되는 텍스트 정보와 함께 제공할 수 있다.
구체적으로, 프로세서(120)는 적어도 하나의 응답 및 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보를 포함하는 사용자 인터페이스를 표시하도록 디스플레이를 제어할 수 있다. 또한, 프로세서(120)는 적어도 하나의 응답에 대한 정보와 적어도 하나의 응답에 대한 긍정 또는 부정을 나타내는 정보를 사용자 인터페이스 내의 서로 인접한 영역에 배치되도록 표시하거나, 적어도 하나의 응답과 함께 적어도 하나의 응답에 대한 사용자의 긍정 또는 부정 여부가 확인되었음을 나타내는 UI 엘리먼트(예: 체크된 체크박스)를 표시할 수도 있다.
도 2의 예시를 다시 참조하면, "벨소리, 전원 효과음은 정상 동작 하나요?", "전원 재부팅을 시도해 보셨나요?", "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 복수의 응답 중 "벨소리, 전원 효과음은 정상 동작 하나요?" 및 "전원 재부팅을 시도해 보셨나요?"라는 응답이 '적어도 하나의 응답'으로 식별되고, "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 응답이 '나머지 응답'으로 식별될 수 있다. 이 경우, 프로세서(120)는 "충전 직후부터 화면에 이상이 생기셨나요?" 및 "발열이 있나요?"라는 응답만을 사용자에게 제공할 수도 있으나, 이와 함께, "벨소리, 전원 효과음은 정상 동작 하나요?"라는 응답과 그에 대한 긍정을 나타내는 정보인 "YES (스피커(152) 정상 동작)"라는 정보, 그리고, "전원 재부팅을 시도해 보셨나요?"라는 응답과 그에 대한 긍정을 나타내는 정보인 "YES (전원 재부팅 시도완료)"라는 정보를 제공할 수도 있다.
도 4를 통해 상술한 바와 같은 실시 예에 따르면, 전자 장치(100)는 특히 대표 질의에 관련된 상세 정보를 획득하기 위한 적어도 하나의 질문을 사용자에게 제공하는 경우, 이미 사용자 질의를 통해 긍정 또는 부정으로 답변한 것으로 볼 수 있는 질문에 대해서는 이미 긍정 또는 부정으로 답변하였음을 나타내는 정보를 사용자 및 상담원에게 제공할 수 있게 되며, 이에 따라 사용자 편의성이 더욱 향상될 수 있다.
또한, 전자 장치(100)는 사용자에게 대표 질의에 관련된 상세 정보를 획득하기 위한 질문을 제공함에 있어서, 이미 사용자 질의를 통해 긍정 또는 부정으로 답변한 것으로 볼 수 있는 질문을 제외함으로써 불필요한 질문의 개수를 줄일 수 있게 되며, 불필요한 질문의 개수를 줄일 수 있는 만큼 상세 정보를 획득하기 위해 필요한 질문의 개수를 용이하게 늘릴 수 있으므로 사용자로부터 상세한 정보를 획득하는 과정의 효율성이 현저하게 향상될 수 있다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세하게 나타내는 도면이다.
도 5에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 도 1에 도시된 바와 같은 메모리(110) 및 프로세서(120)뿐만 아니라, 통신부(130), 입력부(140) 및 출력부를 더 포함할 수 있다. 그러나, 도 1 및 도 5에 도시된 바와 같은 구성들은 예시적인 것에 불과할 뿐이며, 본 개시를 실시함에 있어 도 1 및 도 5에 도시된 바와 같은 구성에 더하여 새로운 구성이 추가되거나 일부 구성이 생략될 수 있음은 물론이다.
통신부(130)는 회로를 포함하며, 외부 장치와의 통신을 수행할 수 있다. 구체적으로, 프로세서(120)는 통신부(130)를 통해 연결된 외부 장치로부터 각종 데이터 또는 정보를 수신할 수 있으며, 외부 장치로 각종 데이터 또는 정보를 전송할 수도 있다.
통신부(130)는 WiFi 모듈, Bluetooth 모듈, 무선 통신 모듈, 및 NFC 모듈 중 적어도 하나를 포함할 수 있다. 구체적으로, WiFi 모듈과 Bluetooth 모듈 각각은 WiFi 방식, Bluetooth 방식으로 통신을 수행할 수 있다. WiFi 모듈이나 Bluetooth 모듈을 이용하는 경우에는 SSID 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
또한, 무선 통신 모듈은 IEEE, Zigbee, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행할 수 있다. 그리고, NFC 모듈은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 통신을 수행할 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 프로세서(120)는 통신부(130)를 통해 전자 장치(100)와 연결된 외부 장치로부터 사용자 질의에 대응되는 텍스트 정보를 수신할 수 있으며, 적어도 하나의 응답에 대응되는 텍스트 정보를 외부 장치로 전송하도록 통신부(130)를 제어할 수도 있다.
입력부(140)는 회로를 포함하며, 프로세서(120)는 입력부(140)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 구체적으로, 입력부(140)는 마이크(141), 카메라(미도시), 및 리모컨 신호 수신부(미도시) 등과 같은 구성으로 이루어 질 수 있다. 그리고, 입력부(140)는 터치 스크린으로서 디스플레이(151)에 포함된 형태로 구현될 수도 있다. 특히, 마이크(141)는 음성 신호를 수신하고, 수신된 음성 신호를 전기 신호로 변환할 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 프로세서(120)는 마이크(141)를 통해 사용자의 질의에 대응되는 음성 신호를 수신하고, 음성 신호를 바탕으로 사용자 질의에 대응되는 텍스트 정보를 획득할 수 있다. 음성 신호를 바탕으로 사용자 질의에 대응되는 텍스트 정보를 획득하는 과정은 소위 음성 인식 모델로 지칭되는 ASR 모델(Automatic Speech Recognition Model)을 통해 수행될 수 있다.
출력부는 회로를 포함하며, 프로세서(120)는 출력부를 통해 전자 장치(100)가 수행할 수 있는 다양한 기능을 출력할 수 있다. 그리고, 출력부는 디스플레이(151), 스피커(152) 및 인디케이터(미도시) 중 적어도 하나를 포함할 수 있다.
디스플레이(151)는 프로세서(120)의 제어에 의하여 영상 데이터를 출력할 수 있다. 구체적으로, 디스플레이(151)는 프로세서(120)의 제어에 의하여 메모리(110)에 기 저장된 영상을 출력할 수 있다. 특히, 본 개시의 일 실시 예에 따른 디스플레이(151)는 메모리(110)에 저장된 사용자 인터페이스(User Interface)를 표시할 수도 있다. 디스플레이(151)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 또한 디스플레이(151)는 경우에 따라 플렉서블 디스플레이(151), 투명 디스플레이(151) 등으로 구현되는 것도 가능하다. 다만, 본 개시에 따른 디스플레이(151)가 특정한 종류에 한정되는 것은 아니다.
스피커(152)는 프로세서(120)의 제어에 의하여 오디오 데이터를 출력할 수 있으며, 인디케이터는 프로세서(120)의 제어에 의하여 점등될 수 있다.
특히, 본 개시에 따른 다양한 실시 예에 있어서, 프로세서(120)는 사용자에게 제공될 응답에 대응되는 텍스트 정보(예: 도 2의 "충전 직후부터 화면에 이상이 생기셨나요?, "발열이 있나요?)를 표시하도록 디스플레이(151)를 제어할 수 있다. 구체적으로, 프로세서(120)는 사용자에게 제공될 적어도 하나의 응답에 대응되는 텍스트 정보를 포함하는 사용자 인터페이스(User Interface, UI)를 표시하도록 디스플레이(151)를 제어할 수 있으며, 나아가 디스플레이(151) 상에 표시된 UI를 통해 적어도 하나의 응답에 대한 사용자 입력을 수신할 수 있다. 예를 들어, 프로세서(120)는 "YES(스피커 정상 동작)" 및 "YES(전원 재부팅 시도 완료)"와 같은 나머지 응답 외에 적어도 하나의 응답에 대응하는 정보를 표시하도록 디스플레이(151)를 제어할 수도 있다.
또한, 프로세서(120)는 적어도 하나의 응답에 대응되는 텍스트 정보를 바탕으로 적어도 하나의 응답에 대응되는 음성 신호를 획득하고, 스피커(152)를 통해 적어도 하나의 응답에 대응되는 음성 신호를 출력할 수 있다. 텍스트 정보를 바탕으로 적어도 하나의 응답에 대응되는 음성 신호를 획득하는 과정은 소위 TTS 모델(Text-To-Speech 모델)로 지칭되는 신경망 모델을 통해 수행될 수 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 간략하게 나타내는 흐름도이고, 도 7은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 보다 상세하게 나타내는 흐름도이다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 사용자 질의에 대응되는 텍스트 정보를 획득할 수 있다(S710). 그리고, 사용자 질의에 대응되는 텍스트 정보가 획득되면, 전자 장치(100)는 텍스트 정보에 대응되는 대표 질의를 식별할 수 있다(S720). 구체적으로, 전자 장치(100)는 기 정의된 복수의 대표 질의 중 입력된 텍스트 정보에 매칭되는 대표 질의를 식별할 수 있다.
대표 질의가 식별되면, 전자 장치(100)는 대표 질의에 관련된 복수의 응답을 획득할 수 있다(S730). 구체적으로, 전자 장치(100)는 기 정의된 복수의 응답 중 식별된 대표 질의에 매칭되는 복수의 응답을 식별할 수 있다.
전자 장치(100)는 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다(S740). 구체적으로, 전자 장치(100)는 텍스트 정보에 포함된 복수의 구문 각각을 식별함으로써 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 텍스트 정보에 포함된 접속사, 어미(ending) 또는 문장 부호를 기준으로 텍스트 정보에 포함된 복수의 구문을 식별할 수 있다. 다른 실시 예에 따르면, 전자 장치(100)는 라벨링(labeling)된 데이터 세트로 학습된 신경망 모델을 이용하여 텍스트 정보에 포함된 복수의 구문을 식별할 수도 있다.
전자 장치(100)는 복수의 구문 및 대표 질의 사이의 유사도를 바탕으로 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별할 수 있다(S750). 구체적으로, 대표 질의에 대응되는 적어도 하나의 구문을 식별하는 과정은 복수의 구문 및 대표 질의 각각에 대한 정보를 벡터로 변환하는 과정 및 그 벡터들이 벡터 공간에서 유사한 위치에 존재하는지 여부를 정량적으로 나타내는 제1 스코어를 획득하는 과정을 포함할 수 있다.
전자 장치(100)는 복수의 응답 및 적어도 하나의 구문을 제외한 나머지 구문 사이의 유사도를 바탕으로 복수의 응답 중 나머지 구문에 대응되는 적어도 하나의 응답을 식별할 수 있다(S760). 구체적으로, 복수의 응답 중 나머지 구문에 대응되는 적어도 하나의 응답을 식별하는 과정은 복수의 응답 및 나머지 구문 각각에 대한 정보를 벡터로 변환하는 과정 및 그 벡터들이 벡터 공간에서 유사한 위치에 존재하는지 여부를 정량적으로 나타내는 제2 스코어를 획득하는 과정을 포함할 수 있다.
적어도 하나의 응답이 식별되면, 전자 장치(100)는 복수의 응답 중 적어도 하나의 응답을 제외한 나머지 응답에 대응되는 텍스트 정보를 제공할 수 있다(S770). 나아가, 전자 장치(100)는 식별된 나머지 응답에 대응되는 텍스트 정보와 함께, 식별된 적어도 하나의 응답에 관련된 정보를 제공할 수도 있다.
이하에서는 도 7을 참조하여, 복수의 구문 중 제1 구문에 대해 도 6의 단계 S750, S760 및 S770의 단계를 수행하는 과정을 상세하게 설명한다.
도 7에 도시된 바와 같이, 전자 장치(100)는 복수의 구문 중 제1 구문이 대표 질의에 대응되는지 여부를 식별할 수 있다(S755). 제1 구문이 대표 질의에 대응되면(S755-Y), 제1 구문은 대표 질의를 식별하는 과정에서 이용된 정보라고 할 수 있으며, 따라서 본 개시에 따라 제1 구문이 복수의 응답 중 적어도 하나에 대응되는지 여부를 식별할 필요는 없다. 반면, 제1 구문이 대표 질의에 대응되는 것으로 식별되지 않으면(S755-N), 전자 장치(100)는 복수의 구문 중 제1 구문이 복수의 응답 중 적어도 하나에 대응되는지 여부를 식별할 수 있다(S765).
제1 구문이 복수의 응답 중 적어도 하나에 대응되는 것으로 식별되면(S765-Y), 전자 장치(100)는 사용자에게 제공될 응답에서 제1 구문에 대응되는 응답을 제외할 수 있다(S775). 반면, 제1 구문이 복수의 응답 중 적어도 하나에 대응되는 것으로 식별되지 않으면(S765-N), 전자 장치(100)는 사용자에게 제공될 응답에서 제1 구문에 대응되는 응답을 제외하지 않을 수 있다.
도 7에서는 복수의 구문 중 제1 구문에 대한 처리 과정만을 도시하였으나, 전자 장치는 복수의 구문 중 제1 구문을 제외한 나머지 구문에 대해서도 제1 구문과 마찬가지의 처리 과정을 수행함으로써 단계 S750, S760 및 S770을 수행할 수 있다.
한편, 도 6 및 도 7에 대한 설명에서는 텍스트 정보에 대응되는 대표 질의를 식별하는 과정(S720), 대표 질의에 관련된 복수의 응답을 획득하는 과정(S730), 텍스트 정보에 포함된 복수의 구문을 식별하는 과정(S740), 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별하는 과정(S750) 및 복수의 응답 중 나머지 구문에 대응되는 적어도 하나의 응답을 식별하는 과정(S760) 각각에 대해 순차적으로 설명하였으나, 본 개시가 이에 국한되는 것이 아님은 물론이다. 예를 들어, 텍스트 정보에 대응되는 대표 질의가 식별되는 동안 텍스트 정보에 포함된 복수의 구문이 식별될 수 있으며, 대표 질의에 관련된 복수의 응답이 획득되는 동안 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문이 식별될 수도 있다.
한편, 상술한 실시 예에 따른 전자 장치(100)의 제어 방법은 프로그램으로 구현되어 전자 장치(100)에 제공될 수 있다. 특히, 전자 장치(100)의 제어 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
구체적으로, 전자 장치(100)의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서, 전자 장치(100)의 제어 방법은 사용자 질의에 대응되는 텍스트 정보가 획득되면, 텍스트 정보에 대응되는 대표 질의를 식별하는 단계, 대표 질의에 관련된 복수의 응답을 획득하는 단계, 텍스트 정보에 포함된 복수의 구문을 식별하는 단계, 복수의 구문 및 대표 질의 사이의 유사도를 바탕으로 복수의 구문 중 대표 질의에 대응되는 적어도 하나의 구문을 식별하는 단계, 복수의 응답 및 복수의 구문 중 적어도 하나의 구문을 제외한 나머지 구문 사이의 유사도를 바탕으로 복수의 응답 중 나머지 구문에 대응되는 적어도 하나의 응답을 식별하는 단계 및 복수의 응답 중 적어도 하나의 응답을 제외한 나머지 응답에 대응되는 텍스트 정보를 제공하는 단계를 포함한다.
여기서, 비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리(110) 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리(110)카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
이상에서 전자 장치(100)의 제어 방법, 그리고 전자 장치(100)의 제어 방법을 실행하는 프로그램을 포함하는 컴퓨터 판독 가능 기록매체에 대해 간략하게 설명하였으나, 이는 중복 설명을 생략하기 위한 것일 뿐이며, 전자 장치(100)에 대한 다양한 실시 예는 전자 장치(100)의 제어 방법, 그리고 전자 장치(100)의 제어 방법을 실행하는 프로그램을 포함하는 컴퓨터 판독 가능 기록매체에 대해서도 적용될 수 있음은 물론이다.
상술한 바와 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치(100)는 사용자 질의에 포함된 정보 중 대표 질의에 대응되는 정보 이외의 정보를 이용하여 사용자 질의에 대해 제공될 수 있는 복수의 응답 중에서 불필요한 응답을 제거함으로써, 사용자 질의에 최적화된 응답을 제공할 수 있게 된다. 이에 따라, 사용자 질의에 대한 응답 제공에 있어서 챗봇 서비스의 효율성 및 정확성이 크게 향상될 수 있고, 사용자의 편의성이 현저하게 향상될 수 있을 뿐만 아니라, 사용자의 상담원 연결 빈도가 현저하게 감소되어 챗봇 서비스의 활용도가 현저하게 증가할 수 있다.
한편, 이상에서 상술한 바와 같은 신경망 모델 및 인공 지능 등에 관련된 기능은 메모리(110) 및 프로세서(120)를 통해 수행될 수 있다.
프로세서(120)는 하나 또는 복수의 프로세서(120)로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서(120)는 CPU, AP 등과 같은 범용 프로세서(120), GPU. VPU 등과 같은 그래픽 전용 프로세서(120) 또는 NPU와 같은 인공 지능 전용 프로세서(120)일 수 있다.
하나 또는 복수의 프로세서(120)는, 비휘발성 메모리(110) 및 휘발성 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공 지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network), GAN(Generative Adversarial Networks) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서 상술한 바와 같은 본 개시의 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    사용자 질의에 대한 응답을 제공하기 위한 복수의 모듈에 관련된 데이터를 저장하는 메모리; 및
    사용자 질의에 대응되는 제1 텍스트 정보가 획득되면, 상기 제1 텍스트 정보에 대응되는 대표 질의를 식별하고, 상기 대표 질의에 관련된 복수의 응답을 획득하는 프로세서; 를 포함하고,
    상기 프로세서는,
    상기 제1 텍스트 정보에 포함된 복수의 구문을 식별하고,
    상기 복수의 구문 및 상기 대표 질의 사이의 유사도를 바탕으로 상기 복수의 구문 중 상기 대표 질의에 대응되는 적어도 하나의 제1 구문을 식별하며,
    상기 복수의 응답 및 상기 복수의 구문 중 상기 적어도 하나의 제1 구문을 제외한 나머지 제2 구문 사이의 유사도를 바탕으로 상기 복수의 응답 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 제1 응답을 식별하고,
    상기 복수의 응답 중 상기 적어도 하나의 제1 응답을 제외한 나머지 제2 응답에 대응되는 제2 텍스트 정보를 제공하는 전자 장치.
  2. 제1 항에 있어서,
    상기 프로세서는,
    상기 복수의 구문 별로 상기 대표 질의와의 유사도에 대한 제1 스코어를 획득하고,
    상기 복수의 구문 중 상기 스코어가 기 설정된 제1 임계 값 이상인 하나 이상의 구문을 상기 적어도 하나의 제1 구문으로 식별하는 전자 장치.
  3. 제1 항에 있어서,
    상기 프로세서는,
    상기 복수의 응답 별로 상기 나머지 제2 구문 각각과의 유사도에 대한 제2 스코어를 획득하고,
    상기 복수의 응답 중 상기 제2 스코어가 기 설정된 제2 임계 값 이상인 하나 이상의 응답을 상기 적어도 하나의 제1 응답으로 식별하는 전자 장치.
  4. 제1 항에 있어서,
    상기 프로세서는,
    기 정의된 복수의 컨텍스트(context) 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 컨텍스트를 식별하고,
    상기 복수의 응답 중 상기 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 상기 적어도 하나의 응답으로 식별하는 전자 장치.
  5. 제1 항에 있어서,
    상기 프로세서는,
    상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 접속사, 어미 및 문장 기호 중 적어도 하나를 바탕으로 상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 복수의 구문을 식별하는 전자 장치.
  6. 제1 항에 있어서,
    상기 프로세서는,
    상기 나머지 제2 구문에 상기 적어도 하나의 제1 응답에 대한 긍정 또는 부정을 나타내는 정보가 포함되면, 상기 적어도 하나의 제1 응답 및 상기 적어도 하나의 제1 응답에 대한 긍정 또는 부정을 나태는 정보를 상기 나머지 제2 응답에 대응되는 제2 텍스트 정보와 함께 제공하는 전자 장치.
  7. 제1 항에 있어서,
    통신부; 를 더 포함하고,
    상기 프로세서는,
    상기 통신부를 통해 상기 전자 장치와 연결된 외부 장치로부터 상기 사용자 질의에 대응되는 제1 텍스트 정보를 수신하고,
    상기 나머지 제2 응답에 대응되는 제2 텍스트 정보를 상기 외부 장치로 전송하도록 상기 통신부를 제어하는 전자 장치.
  8. 제1 항에 있어서,
    디스플레이; 를 더 포함하고,
    상기 프로세서는,
    상기 나머지 제2 응답에 대응되는 제2 텍스트 정보를 포함하는 사용자 인터페이스(User Interface, UI)를 표시하도록 상기 디스플레이를 제어하고,
    상기 UI를 통해 상기 나머지 제2 응답에 대한 사용자 입력을 수신하는 전자 장치.
  9. 제1 항에 있어서,
    마이크; 를 더 포함하고,
    상기 프로세서는,
    상기 마이크를 통해 상기 사용자의 질의에 대응되는 음성 신호를 수신하고,
    상기 음성 신호를 바탕으로 상기 사용자 질의에 대응되는 제1 텍스트 정보를 획득하는 전자 장치.
  10. 제1 항에 있어서,
    스피커; 를 더 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 제1 응답에 대응되는 텍스트 정보를 바탕으로 상기 적어도 하나의 제1 응답에 대응되는 음성 신호를 획득하고,
    상기 스피커를 통해 상기 적어도 하나의 제1 응답에 대응되는 음성 신호를 출력하는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    사용자 질의에 대응되는 제1 텍스트 정보가 획득되면, 상기 제1 텍스트 정보에 대응되는 대표 질의를 식별하는 단계;
    상기 대표 질의에 관련된 복수의 응답을 획득하는 단계;
    상기 제1 텍스트 정보에 포함된 복수의 구문을 식별하는 단계;
    상기 복수의 구문 및 상기 대표 질의 사이의 유사도를 바탕으로 상기 복수의 구문 중 상기 대표 질의에 대응되는 적어도 하나의 제1 구문을 식별하는 단계;
    상기 복수의 응답 및 상기 복수의 구문 중 상기 적어도 하나의 제1 구문을 제외한 나머지 제2 구문 사이의 유사도를 바탕으로 상기 복수의 응답 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 응답을 식별하는 단계; 및
    상기 복수의 응답 중 상기 적어도 하나의 제1 응답을 제외한 나머지 제2 응답에 대응되는 제2 텍스트 정보를 제공하는 단계; 를 포함하는 전자 장치의 제어 방법.
  12. 제11 항에 있어서,
    상기 적어도 하나의 구문을 식별하는 단계는,
    상기 복수의 구문 별로 상기 대표 질의와의 유사도에 대한 제1 스코어를 획득하는 단계; 및
    상기 복수의 구문 중 상기 스코어가 기 설정된 제1 임계 값 이상인 하나 이상의 구문을 상기 적어도 하나의 제1 구문으로 식별하는 단계; 를 포함하는 전자 장치의 제어 방법.
  13. 제11 항에 있어서,
    상기 적어도 하나의 응답을 식별하는 단계는,
    상기 복수의 응답 별로 상기 나머지 제2 구문 각각과의 유사도에 대한 제2 스코어를 획득하는 단계; 및
    상기 복수의 응답 중 상기 제2 스코어가 기 설정된 제2 임계 값 이상인 하나 이상의 응답을 상기 적어도 하나의 제1 응답으로 식별하는 단계; 를 포함하는 전자 장치의 제어 방법.
  14. 제11 항에 있어서,
    상기 적어도 하나의 응답을 식별하는 단계는,
    기 정의된 복수의 컨텍스트(context) 중 상기 나머지 제2 구문에 대응되는 적어도 하나의 컨텍스트를 식별하는 단계; 및
    상기 복수의 응답 중 상기 적어도 하나의 컨텍스트에 대응되는 하나 이상의 응답을 상기 적어도 하나의 응답으로 식별하는 단계; 를 포함하는 전자 장치의 제어 방법.
  15. 제11 항에 있어서,
    상기 복수의 구문을 식별하는 단계는,
    상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 접속사, 어미 및 문장 기호 중 적어도 하나를 바탕으로 상기 사용자 질의에 대응되는 제1 텍스트 정보에 포함된 복수의 구문을 식별하는 전자 장치의 제어 방법.
PCT/KR2022/000414 2021-01-22 2022-01-11 전자 장치 및 전자 장치의 제어 방법 WO2022158776A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22742752.3A EP4250132A4 (en) 2021-01-22 2022-01-11 ELECTRONIC DEVICE AND ITS CONTROL METHOD
US17/712,301 US20220237215A1 (en) 2021-01-22 2022-04-04 Electronic device and controlling method of electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210009286A KR20220106406A (ko) 2021-01-22 2021-01-22 전자 장치 및 전자 장치의 제어 방법
KR10-2021-0009286 2021-01-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/712,301 Continuation US20220237215A1 (en) 2021-01-22 2022-04-04 Electronic device and controlling method of electronic device

Publications (1)

Publication Number Publication Date
WO2022158776A1 true WO2022158776A1 (ko) 2022-07-28

Family

ID=82549844

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/000414 WO2022158776A1 (ko) 2021-01-22 2022-01-11 전자 장치 및 전자 장치의 제어 방법

Country Status (2)

Country Link
KR (1) KR20220106406A (ko)
WO (1) WO2022158776A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030006201A (ko) * 2001-07-12 2003-01-23 서정연 홈페이지 자동 검색을 위한 통합형 자연어 질의-응답시스템
KR100508549B1 (ko) * 2003-11-05 2005-08-17 한국전자통신연구원 단락 분할 장치 및 그 방법과 단락분할을 이용한 검색방법
KR20100073793A (ko) * 2008-12-23 2010-07-01 주식회사 케이티 집단지성을 이용한 지식 구조화 장치 및 그 방법과, 그를 이용한 지식서비스 제공 시스템
US20140229506A1 (en) * 2013-02-14 2014-08-14 Electronics And Telecommunications Research Institute Data stream processing apparatus and method using query partitioning
KR20170086353A (ko) * 2016-01-18 2017-07-26 주식회사 케이티 대화형 정보 제공 서비스 방법 및 이를 위한 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030006201A (ko) * 2001-07-12 2003-01-23 서정연 홈페이지 자동 검색을 위한 통합형 자연어 질의-응답시스템
KR100508549B1 (ko) * 2003-11-05 2005-08-17 한국전자통신연구원 단락 분할 장치 및 그 방법과 단락분할을 이용한 검색방법
KR20100073793A (ko) * 2008-12-23 2010-07-01 주식회사 케이티 집단지성을 이용한 지식 구조화 장치 및 그 방법과, 그를 이용한 지식서비스 제공 시스템
US20140229506A1 (en) * 2013-02-14 2014-08-14 Electronics And Telecommunications Research Institute Data stream processing apparatus and method using query partitioning
KR20170086353A (ko) * 2016-01-18 2017-07-26 주식회사 케이티 대화형 정보 제공 서비스 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR20220106406A (ko) 2022-07-29

Similar Documents

Publication Publication Date Title
WO2021132927A1 (en) Computing device and method of classifying category of data
WO2019164140A1 (en) System for processing user utterance and controlling method thereof
WO2020080830A1 (en) Electronic device for reconstructing an artificial intelligence model and a control method thereof
WO2020159288A1 (ko) 전자 장치 및 그 제어 방법
WO2020017898A1 (en) Electronic apparatus and control method thereof
WO2020091503A1 (en) Electronic apparatus and control method thereof
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2019199030A1 (ko) 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
WO2018203620A1 (ko) 사용자 발화를 처리하는 전자
WO2021029643A1 (en) System and method for modifying speech recognition result
EP3610479A1 (en) Electronic apparatus for processing user utterance
WO2021033889A1 (en) Electronic device and method for controlling the electronic device
WO2021107390A1 (en) Electronic device and method for controlling the electronic device
WO2020080771A1 (ko) 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
WO2022158776A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2020101389A1 (ko) 음성 인식 기반 이미지를 표시하는 전자 장치
WO2022169172A1 (ko) 사용자의 질의를 처리하는 디바이스 및 그 동작 방법
WO2022131566A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022139420A1 (ko) 전자 장치 및 그의 연속성을 가지는 사용자 입력에 대한 실행 정보를 공유하는 방법
WO2022177092A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2021107330A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022177089A1 (ko) 전자 장치 및 그 제어 방법
WO2022092440A1 (ko) 전자 장치 및 그 제어 방법
WO2023120861A1 (ko) 전자 장치 및 그 제어 방법
WO2023085736A1 (ko) 전자 장치 및 전자 장치의 제어 방법

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022742752

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022742752

Country of ref document: EP

Effective date: 20230622

NENP Non-entry into the national phase

Ref country code: DE