WO2023120861A1 - 전자 장치 및 그 제어 방법 - Google Patents

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

Info

Publication number
WO2023120861A1
WO2023120861A1 PCT/KR2022/011941 KR2022011941W WO2023120861A1 WO 2023120861 A1 WO2023120861 A1 WO 2023120861A1 KR 2022011941 W KR2022011941 W KR 2022011941W WO 2023120861 A1 WO2023120861 A1 WO 2023120861A1
Authority
WO
WIPO (PCT)
Prior art keywords
counseling
histories
processor
answer
user query
Prior art date
Application number
PCT/KR2022/011941
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 US18/076,625 priority Critical patent/US20230197211A1/en
Publication of WO2023120861A1 publication Critical patent/WO2023120861A1/ko

Links

Images

Classifications

    • G06Q50/50
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • G06Q50/40

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device providing a conversation function with a user and a control method thereof.
  • voice assistants are mainly focused on carrying out commands for customer products in an open domain
  • chatbots are mainly aimed at handling customer inquiries and conducting consultations on specific domains. Therefore, voice assistants need to improve their ability to perform commands in various domains to improve performance, while chatbots need to increase domain conversation topics and conversation data with customers who have problems in specific domains.
  • chatbot cannot provide answers to all queries.
  • a chatbot can answer a user query only after an answer is manually generated by an administrator. That is, when an answer is not stored in advance, for example, when an inquiry about a new problem occurring in a new product is received, the chatbot cannot solve the problem until the manager creates and stores the answer.
  • the present disclosure is in accordance with the above-mentioned needs, and the present disclosure is to provide an electronic device that generates an answer scenario for a conversation function with a user and a method for controlling the same.
  • an electronic device includes a memory and a processor connected to the memory to control the electronic device, and the processor includes among a plurality of counseling histories stored in the memory.
  • a plurality of end-of-consultation histories are identified, each of the plurality of end-of-consultation histories indicates counseling that failed to respond to a user query, and if a ratio of the plurality of end-of-consultation histories to the plurality of counseling histories is equal to or greater than a threshold ratio, the plurality of end-of-consultation histories
  • a first user query may be identified based on a counseling end history, and an answer to the first user query may be obtained if a second user query similar to the identified first user query is equal to or greater than a first threshold number.
  • the processor may acquire a conversational scenario for the first user query based on the obtained answer, and store the acquired scenario in the memory.
  • the processor may perform counseling based on the obtained scenario when counseling including a query having a similarity with the first user query equal to or greater than a threshold value is initiated.
  • the processor identifies a plurality of counseling records during a preset previous time interval among the plurality of counseling records and a plurality of counseling end histories in which an answer has failed during the preset previous time interval, and during the preset previous time interval It may be identified whether a ratio of the plurality of counseling end histories identified during the preset previous time interval to the identified plurality of counseling histories is greater than or equal to the threshold ratio.
  • the processor identifies a plurality of keywords from user queries included in the plurality of counseling end histories, identifies a predetermined number of keywords based on the number of each of the plurality of keywords, and identifies each of the identified keywords. If the number of is equal to or greater than the second threshold number, a user query included in a history including the most identified keywords among the plurality of counseling end histories may be identified as the first user query.
  • the processor may obtain the answer by searching for a keyword included in the first user's query in at least one of a counseling manual, the plurality of counseling histories, and an external search engine.
  • the processor additionally identifies a keyword in the consultation end history including the first user query, and further identifies the keyword in the consultation manual.
  • the answer can be obtained by searching for the keyword.
  • the processor obtains the answer based on a relatively short counseling history among the retrieved counseling histories.
  • the processor obtains the answer by searching for a keyword included in the first user query in the consultation manual, and if the keyword included in the first user query is not searched in the consultation manual, the plurality of consultation records.
  • the keyword included in the first user query is searched for to obtain the answer, and if the keyword included in the first user query is not searched in the plurality of counseling histories, the external search engine searches for the first user query.
  • the answer may be obtained by searching for the included keyword.
  • the processor may update the answer by removing unnecessary sentences or content from the answer or by summarizing sentences or contents included in the answer.
  • a control method of an electronic device includes identifying a plurality of counseling end records among a plurality of counseling records, each of the plurality of counseling end records indicating a counseling in which a response to a user query has failed, and the If the ratio of the plurality of counseling end histories to the plurality of counseling histories is greater than or equal to a threshold ratio, identifying a first user query based on the plurality of counseling end histories and a second user similar to the identified first user query and obtaining an answer to the first user query if the number of queries is equal to or greater than a first threshold number.
  • the method may further include obtaining a scenario in a dialog form for the first user query based on the obtained answer and storing the obtained scenario.
  • the method may further include performing counseling based on the acquired scenario when counseling including a query having a similarity with the first user query equal to or greater than a threshold value is initiated.
  • the identifying of the plurality of counseling end histories may include identifying a plurality of counseling records during a preset previous time interval and a plurality of counseling end records of failure to answer during the preset previous time interval among the plurality of counseling records;
  • the step of identifying the first user query may include identifying whether a ratio of the plurality of counseling end histories identified during the preset previous time interval to the plurality of counseling end histories identified during the preset previous time interval is greater than or equal to the threshold ratio.
  • the identifying of the first user query may include identifying a plurality of keywords from user queries included in the plurality of counseling end histories, identifying a predetermined number of keywords based on the number of each of the plurality of keywords, , If the number of each of the identified keywords is greater than or equal to the second threshold number, a user query included in a history including the most identified keywords among the plurality of counseling end histories may be identified as the first user query. .
  • the answer may be obtained by searching for a keyword included in the first user query in at least one of a counseling manual, the plurality of counseling histories, and an external search engine.
  • the obtaining step may further include identifying a keyword from a consultation end history including the first user query when the keyword included in the first user query is not searched in the consultation manual, and in the consultation manual, the keyword included in the first user query is not searched for.
  • the answer can be obtained by searching for the keyword identified by .
  • the acquiring may include, when counseling histories including the keyword included in the first user query are searched from the plurality of counseling histories, the answer is determined based on a counseling history having a relatively short length among the retrieved counseling histories. can be obtained
  • the obtaining step may include obtaining the answer by searching for a keyword included in the first user query in the consultation manual, and if the keyword included in the first user query is not searched in the consultation manual, the plurality of The answer is obtained by searching for a keyword included in the first user's query in the counseling history, and if the keyword included in the first user's query is not searched in the plurality of counseling histories, the external search engine searches for the first user's keyword.
  • the answer may be obtained by searching for a keyword included in the query.
  • a computer-readable recording medium in which a program for executing the control method of the electronic device is recorded is provided.
  • the electronic device identifies a user query for which counseling has ended due to a failure to answer, obtains an answer to the identified user query, and changes the obtained answer into a conversational scenario. As a result, it is possible to automatically enhance the conversation function with the user.
  • the electronic device can improve user convenience by providing answers to user queries even before a manager creates a new scenario.
  • FIG. 1 is a block diagram illustrating a hardware configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating a software configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram showing a detailed configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram schematically illustrating a method of obtaining an answer to a user query according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining a log analysis module according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining a first user query identification module according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram for explaining a search algorithm according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram for explaining a refinement algorithm according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram for explaining a scenario creation module according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining chatbot learning according to an embodiment of the present disclosure.
  • FIG. 11 is a flowchart for explaining a control method of an electronic device according to an embodiment of the present disclosure.
  • expressions such as “has,” “can have,” “includes,” or “can include” indicate the existence of a corresponding feature (eg, numerical value, function, operation, or component such as a part). , which does not preclude the existence of additional features.
  • the term user may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using an electronic device.
  • a device eg, an artificial intelligence electronic device
  • FIG. 1 is a block diagram illustrating a hardware configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 is a device that generates an answer to a user's query, and may be implemented as a server, a computer body, a desktop PC, a TV, a laptop computer, a smart phone, a tablet PC, a set-top box (STB), and the like.
  • the electronic device 100 may be any device as long as it can generate an answer to a user's query.
  • an electronic device 100 includes a memory 110 and a processor 120 .
  • the electronic device 100 may be implemented in a form in which some components are excluded.
  • At least one instruction or module necessary for the operation of the electronic device 100 or the processor 120 may be stored in the memory 110 .
  • the instruction is a code unit instructing the operation of the electronic device 100 or the processor 120, and may be written in machine language, which is a language that a computer can understand.
  • a module may be a set of instructions that perform a specific task of a unit of work.
  • the memory 110 may store data that is information in units of bits or bytes capable of representing characters, numbers, images, and the like.
  • the memory 110 may store a plurality of consultation histories including answers to user queries.
  • each of the plurality of counseling histories may include information about a counseling subject, a counseling time, questions, and answers.
  • the plurality of counseling records may include a plurality of counseling end histories each representing counseling failures in response to a user query.
  • At least one artificial intelligence model for processing a user's voice signal may be stored in the memory 110 .
  • the artificial intelligence model includes a plurality of neural network layers, each layer of the plurality of neural network layers includes a plurality of weight values, and the layer through the calculation result of the previous layer and the plurality of weight values.
  • the operation of can be performed.
  • 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), and Deep Neural Network (BRDNN).
  • the artificial intelligence model may be composed of an ontology-based data structure in which various concepts, conditions, relationships, or agreed upon knowledge are expressed in a form that can be processed by a computer.
  • the artificial intelligence model may be learned through the electronic device 100 or a separate server/system through various learning algorithms.
  • a 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 learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and various learning algorithms may be used. there is.
  • the memory 110 is accessed by the processor 120 and may include instructions, modules, artificial intelligence models, or data to be read/written/modified/deleted/updated by the processor 120. there is.
  • the processor 120 controls the overall operation of the electronic device 100 .
  • the processor 120 may be connected to components of the electronic device 100 to control the overall operation of the electronic device 100 .
  • the processor 120 may be connected to components such as the memory 100, a display (not shown), a communication interface (not shown), and a microphone (not shown) to control the operation of the electronic device 100. .
  • the processor 120 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON). However, it is not limited thereto, and the central processing unit ( central processing unit (CPU)), micro controller unit (MCU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM processor
  • the processor 120 may be implemented as a System on Chip (SoC) having a built-in processing algorithm, a large scale integration (LSI), or an FPGA ( It may be implemented in the form of a field programmable gate array).
  • SoC System on Chip
  • the processor 120 identifies a plurality of counseling end histories, each of which represents a counseling failure to respond to a user query, among a plurality of counseling histories stored in the memory 110, and the ratio of the plurality of counseling end records to the plurality of counseling records is critical. If the ratio is greater than or equal to the threshold number, the first user query is identified based on a plurality of counseling end histories, and if the number of second user queries similar to the identified first user query is greater than or equal to a threshold number, an answer to the first user query is obtained.
  • processor 120 The operation of the processor 120 will be described in more detail through various modules of FIG. 2 .
  • FIG. 2 is a block diagram illustrating a software configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the location of a plurality of modules inside the processor 120 in FIG. 2 is to indicate a state in which the plurality of modules are loaded (or executed) by the processor 120 and operated in the processor 120, and the plurality of modules are It may be in a pre-stored state in the memory 110 .
  • a plurality of counseling histories and scenarios for each situation may be stored in the memory 110 .
  • the electronic device 100 may provide an answer to the user query based on a scenario for each situation.
  • the electronic device 100 may store the consultation history in the memory 110 when the consultation with the user ends.
  • the processor 120 may control the overall operation of the electronic device 100 by executing modules or instructions stored in the memory 110 . Specifically, the processor 120 may read and interpret modules or instructions, determine a sequence for data processing, and transmit a control signal to control the operation of other components, such as the memory 110 accordingly, to control the operation of other components. can do.
  • the processor 120 may identify a plurality of counseling end histories from among a plurality of counseling histories stored in the memory 110 by executing a module for determining whether an answer has been generated. For example, the processor 120 may identify a plurality of counseling end records among a plurality of counseling records stored in the memory 110 at predetermined time intervals. Alternatively, the processor 120 may identify a plurality of counseling end records among a plurality of counseling records stored in the memory 110 at a predetermined time point, such as 3 am.
  • the processor 120 identifies consultation history in real time, counts the same type of consultation end history when an answer fails, and generates an answer described later when the number of failures exceeds a threshold number. can also be performed.
  • the processor 120 may identify whether a ratio of a plurality of counseling end histories to a plurality of counseling histories is greater than or equal to a threshold ratio. For example, the processor 120 identifies a plurality of counseling records during a pre-set previous time interval from among the plurality of counseling histories and a plurality of counseling end histories, each of which represents a counseling failure to respond to a user query, It may be identified whether a ratio of a plurality of counseling end histories identified during a preset previous time interval to a plurality of counseling end histories identified during a preset previous time interval is greater than or equal to a threshold ratio.
  • the processor 120 identifies 50 multiple consultation records for 2 hours based on the current time point and 20 multiple counseling end records that failed to answer for 2 hours based on the current point in time, and the ratio of 40 It is possible to identify whether the % is greater than or equal to the critical ratio of 30%.
  • the processor 120 may identify the first user query based on the plurality of counseling end histories.
  • the processor 120 may identify the first user query based on the plurality of counseling end histories since the ratio of end counseling history to all counseling histories is 40% and the threshold ratio is 30% or more.
  • the processor 120 identifies a plurality of keywords from user queries included in a plurality of counseling end histories, identifies a preset number of keywords based on the number of each of the plurality of keywords, and determines the number of each of the identified keywords. If the number is equal to or greater than the second threshold, a user query included in a history containing the most identified keywords among a plurality of counseling end histories may be identified as a first user query.
  • the processor 120 identifies keywords such as “system”, “update”, “phone”, “earphone”, and “recharge” from user queries included in a plurality of counseling end histories, and each of the keywords The number of can be counted.
  • the processor 120 sorts each keyword in the order of the largest number, identifies “system”, “update”, and “phone” in the order of the highest number, and identifies “system”, “update”, and “phone” respectively. It may be identified whether the number is greater than or equal to a second threshold number.
  • the processor 120 includes “system”, “update”, and “phone” the most, “the phone works after system update”
  • a user query such as "I don't do” may be identified as a first user query.
  • the processor 120 may obtain an answer to the first user query when the second user query having a similarity to the first user query identified by executing the answer generation module is equal to or greater than the first threshold number. For example, the processor 120 may identify a similarity between the first user query and the second user query through an artificial intelligence model. Alternatively, the processor 120 may compare keywords of the first user query and the second user query to identify similarities.
  • the processor 120 obtains an answer to the first user query when the number of second user queries having a similarity to the identified first user query equal to or greater than a threshold value is greater than or equal to a first threshold value, and the similarity degree to the identified first user query is critical. If the number of second user queries equal to or greater than the value is less than the first threshold number, an answer to the first user query may not be obtained.
  • the processor 120 may obtain an answer by searching for a keyword included in the first user query in at least one of a counselor consultation manual, a plurality of consultation records, or an external search engine.
  • the processor 120 obtains an answer by searching for a keyword included in the first user's query in the consultation manual, and if the keyword included in the first user's query is not searched in the consultation manual, the processor 120 searches for a keyword included in the first user's query in the consultation manual. 1 Search keywords included in the user's query to obtain an answer, and if the keyword included in the first user's query is not found in a plurality of counseling histories, search for the keyword included in the first user's query in an external search engine to obtain an answer. can be obtained
  • the processor 130 additionally identifies a keyword in the consultation end history including the first user's query, searches the additionally identified keyword in the consultation manual, and answer can be obtained.
  • the processor 120 performs a first query.
  • a keyword may be additionally identified in the counseling end history including the user's query. For example, after a first user query such as “The phone does not work after the system update”, there may be additional user utterances such as “The screen does not turn on”, and the processor 120 converts “screen” to the consultation manual. You may be able to get answers by further searching.
  • the processor 120 may obtain an answer based on a relatively short counseling history among the retrieved counseling histories. All of the counseling histories may provide the same answer, but since there may have been an unnecessary conversation with the user during the counseling process, it is more efficient to obtain an answer from a relatively short counseling history among searched counseling histories.
  • the processor 120 may update the answer by removing unnecessary sentences or content from the answer or summarizing sentences or contents included in the answer. For example, the processor 120 may remove paragraphs that do not include search keywords from answers, remove paragraphs that do not include web pages from answers, or remove paragraphs that do not include image, video tags, etc. from answers. there is.
  • the processor 120 may obtain a scenario in the form of a conversation with respect to the first user's query based on an answer obtained by executing the scenario creation module, and may store the acquired scenario in the memory 110 .
  • the processor 120 may obtain an answer such as "Try deactivating the XX setting" as a response to the first user query such as "The phone does not work after the system update.”
  • the processor 120 provides an answer such as “Try deactivating the XX setting” when a user query such as “The phone does not work after the system update” is input, and if there is no answer from the user, “There is a problem.”
  • a scenario such as providing a question such as “Is it resolved?” may be acquired and stored as a scenario for each situation in the memory 110 .
  • the processor 120 may perform counseling based on the acquired scenario when counseling including a query having a similarity to the first user query is equal to or greater than a threshold value.
  • the electronic device 100 may include a memory 110 and a processor 120 . Also, according to FIG. 3 , the electronic device 100 may further include a display 130, a communication interface 140, a user interface 150, a microphone 160, and a speaker 170. Among the components shown in FIG. 3, detailed descriptions of portions overlapping with those shown in FIGS. 1 and 2 will be omitted.
  • the display 130 may be implemented with various types of displays such as a liquid crystal display (LCD), organic light emitting diodes (OLED) display, and plasma display panel (PDP).
  • the display 130 may also include a driving circuit, a backlight unit, and the like that may be implemented in the form of an a-si TFT, a low temperature poly silicon (LTPS) TFT, or an organic TFT (OTFT).
  • the display 130 may be implemented as a touch screen combined with a touch sensor, a flexible display, a 3D display, and the like.
  • the communication interface 140 is a component that performs communication with various types of external devices according to various types of communication methods.
  • the electronic device 100 may communicate with a server through the communication interface 140 .
  • the communication interface 140 may include a Wi-Fi module, a Bluetooth module, an infrared communication module, and a wireless communication module.
  • each communication module may be implemented in the form of at least one hardware chip.
  • the Wi-Fi module and the Bluetooth module perform communication using the WiFi method and the Bluetooth method, respectively.
  • various types of connection information such as an SSID and a session key are first transmitted and received, and various types of information can be transmitted and received after a communication connection is established using the same.
  • the infrared communication module performs communication according to infrared data association (IrDA) technology that transmits data wirelessly over a short distance using infrared rays between visible rays and millimeter waves.
  • IrDA infrared data association
  • the wireless communication module can use Zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), LTE Advanced (LTE-A), 4th Generation (4G), 5G (5th Generation) may include at least one communication chip that performs communication according to various wireless communication standards.
  • 3G 3rd Generation
  • 3GPP 3rd Generation Partnership Project
  • LTE Long Term Evolution
  • LTE-A LTE Advanced
  • 4th Generation (4G) may include at least one communication chip that performs communication according to various wireless communication standards.
  • the communication interface 140 may include a wired communication interface such as HDMI, DP, Thunderbolt, USB, RGB, D-SUB, DVI, and the like.
  • the communication interface 140 may include at least one of a local area network (LAN) module, an Ethernet module, or a wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • LAN local area network
  • Ethernet Ethernet
  • wired communication module that performs communication using a pair cable, a coaxial cable, or an optical fiber cable.
  • the user interface 150 may be implemented with buttons, a touch pad, a mouse, and a keyboard, or may be implemented as a touch screen capable of performing both a display function and a manipulation input function.
  • the buttons may be various types of buttons such as mechanical buttons, touch pads, wheels, etc. formed on an arbitrary area such as the front, side, or rear surface of the main body of the electronic device 100 .
  • the microphone 160 is a component for receiving sound and converting it into an audio signal.
  • the microphone 160 is electrically connected to the processor 120 and can receive sound under the control of the processor 120 .
  • the sound may include sound generated from at least one of the electronic device 100 and other electronic devices around the electronic device 100 and noise around the electronic device 100 .
  • the microphone 160 may be integrally formed with the electronic device 100 toward the top, front, or side of the electronic device 100 .
  • the microphone 160 may be provided in a separate remote control from the electronic device 100 .
  • the remote controller may receive sound through the microphone 160 and provide the received sound to the electronic device 100 .
  • the microphone 160 includes a microphone for collecting analog sound input, an amplifier circuit for amplifying the collected sound input, an A/D conversion circuit for sampling the amplified sound and converting it into a digital signal, and a noise component from the converted digital signal. It may include various configurations such as a filter circuit that removes and the like.
  • the microphone 160 may be implemented in the form of a sound sensor, and any method may be used as long as it is configured to collect sound.
  • the speaker 170 is a component that outputs not only various types of audio data processed by the processor 120 but also various notification sounds or voice messages.
  • the electronic device 100 can automatically generate an answer scenario for a new type of user query, and can provide an answer to the user even before an administrator manually creates an answer scenario.
  • FIGS. 4 to 10 the operation of the electronic device 100 will be described in more detail with reference to FIGS. 4 to 10 .
  • the electronic device 100 and the chatbot are used interchangeably.
  • FIGS. 4 to 10 individual embodiments are described for convenience of description. However, the individual embodiments of FIGS. 4 to 10 may be implemented in any combination.
  • FIG. 4 is a diagram schematically illustrating a method of obtaining an answer to a user query according to an embodiment of the present disclosure.
  • the processor 120 may identify a first user query for which an answer needs to be generated by executing a module for determining whether to generate an answer.
  • the module for determining whether an answer has been generated may include a log analysis module and a first user query identification module.
  • the processor 120 may identify a plurality of counseling end histories, each of which represents a recent counseling failure to respond to a user query. For example, the processor 120 may identify a plurality of counseling end records among a plurality of counseling histories and identify that a new issue has occurred if the ratio of the plurality of counseling end records to the plurality of counseling records is greater than or equal to a threshold ratio. In this case, the processor 120 may perform an operation for identifying a first user query corresponding to a new issue by executing the first user query identification module.
  • the processor 120 may obtain an answer to the first user query by executing the answer generating module.
  • the answer generation module may include a search algorithm and a refinement algorithm.
  • the processor 120 may search a keyword included in the first user query according to a search algorithm. Also, when an answer corresponding to the first user query is obtained, the processor 120 may update the answer by removing unnecessary sentences or contents from the answer or summarizing sentences or contents included in the answer according to a refinement algorithm.
  • the processor 120 may generate a scenario corresponding to an answer as the scenario creation module is executed.
  • the scenario creation module may include a scenario creation algorithm.
  • the processor 120 may obtain a conversational scenario for the first user query based on the answer.
  • FIG. 5 is a diagram for explaining a log analysis module according to an embodiment of the present disclosure.
  • the processor 120 may search for a counseling history entered during a set time interval among a plurality of counseling records between a customer and a chatbot stored in the counseling history database (S510). In addition, the processor 120 may detect histories of ending counseling while the chatbot failed to classify user queries once or continuously (S520).
  • the processor 120 may identify a plurality of counseling records from 24 hours before to the present time and a plurality of counseling end records from 24 hours before to the present time among the plurality of counseling histories. For example, if a query such as "My phone does not work after a system update" is received from a customer and an answer such as "Sorry, I did not understand the question well. Can you please re-enter it?" 120 may be identified as a consultation end history indicating a chatbot that failed to answer a user query. However, it is not limited thereto, and each counseling end history indicating a chatbot that failed to answer can be of various types, and the time interval for identifying the counseling end history can be various as well.
  • the processor 120 may identify a plurality of counseling end histories. For example, the processor 120 may identify a plurality of counseling end histories in which an answer has failed at 3:00 in the morning, for example, at 3:00 in the morning when a user query is received less frequently.
  • the processor 120 may count counseling end histories of failed answers in real time. For example, the processor 120 may receive a user query and immediately count it if the answer fails, and if the counted number is greater than or equal to a critical number, an answer generation operation to be described later may be performed.
  • the processor 120 may not simply count cases in which the answer fails, but may classify cases in which the answer fails into a plurality of types and count for each type.
  • the processor 120 may check the ratio of the searched counseling history to the counseling end history (S530). For example, the processor 120 may identify whether a ratio of a plurality of counseling end histories identified during a preset previous time interval to a plurality of counseling records identified during a preset previous time interval is greater than or equal to a threshold ratio. For example, the processor 120 identifies a ratio of a plurality of consultation end histories from a time point 24 hours ago to the present time compared to a plurality of counseling records from a time point 24 hours ago to the present time among a plurality of counseling histories, and identifies the If the ratio is 50% or more, an answer generation operation to be described later may be performed.
  • FIG. 6 is a diagram for explaining a first user query identification module according to an embodiment of the present disclosure.
  • the processor 120 may perform an answer generation operation when the identified ratio is greater than or equal to the threshold ratio.
  • the processor 120 may extract a question input by a customer from each consultation history of a plurality of consultation records (S610).
  • the processor 120 may extract tokens (ex: keywords) for each query (S615).
  • the electronic device 100 includes a natural language processing (NLP) engine, and the natural language processing engine includes at least one of an NLP tokenizer, a pre-trained language model, a similar token search, or a spell corrector. can do.
  • the processor 120 may extract a token from each query using an NLP Tokenizer.
  • the processor 120 may extract "system", "update”, and "phone” from a query such as "The phone does not work after system update", and may also extract tokens for the remaining queries.
  • the processor 120 may measure the number of tokens for all extracted tokens (S620).
  • the processor 120 may identify token candidates from among the extracted tokens.
  • the processor 120 measures the number of extracted "systems”, the extracted number of "updates”, and the extracted number of "phones”, and measures the number of tokens extracted from the remaining queries.
  • the processor 120 may check whether the number of each of the token candidates is higher than the threshold number (S625). For example, the processor 120 sorts each token of the extracted tokens in the order of the highest number, identifies three tokens having a large number, for example, and determines whether the measured number of each of the three tokens is higher than a threshold number. can be identified. The processor 120 may not proceed with an answer generation operation when the measured number of each of the three tokens having a large number is lower than the threshold number.
  • the processor 120 may extract an embedding of a query including the largest number of token candidates (S630).
  • the operation of extracting an embedding means expressing a word or sentence as a vector.
  • the processor 120 may measure a similarity between the question embedding including all or most of the token candidates and other question embeddings (S635).
  • the processor 120 may express a query including the most token candidates as a vector using a pre-trained language model and Similar Token Search, and measure similarity between queries expressed as vectors. there is.
  • the processor 120 checks the number of questions having a high similarity with the corresponding question (S640), stops generating answers if the number is less than the threshold (S650), and corrects typos and grammar of the target question if the number is greater than or equal to the threshold (S650). It can be corrected (S645). At this time, the processor 120 may correct typos and grammar of the target question using a spell corrector, and may perform an operation of generating an answer to the corrected question (S655).
  • FIG. 7 is a diagram for explaining a search algorithm according to an embodiment of the present disclosure.
  • the processor 120 may search the consultation manual to generate answers to user queries.
  • the processor 120 may extract a question keyword from a user query (S710).
  • the processor 120 may extract question keywords from a user query using a keyword table stored in a learning data database.
  • the processor 120 may extract “system”, “update”, “phone”, and “operation” as keywords from a user query such as “the phone does not work after system update”.
  • the processor 120 may extract a question keyword from a user query using named entity recognition of a natural language understanding processing engine.
  • the processor 120 may search for a document with a title similar to the question (S715), and search for a question keyword in the searched document (S720).
  • the processor 120 may extract keywords from the searched documents (S725), search for relationships in the knowledge graph using the question keywords and document keywords (S730), and output search results (S770).
  • the searched paths are searched for starting nodes and relational edges by combining question-specific entity names and keywords and document-specific entity names and keywords in ordered pairs, and paths where the searched final node overlaps or most of the searched paths overlap. means the way in which the document is determined to be used, if it exists.
  • the processor 120 may search for relationships in the knowledge graph using named entity recognition of the natural language understanding processing engine.
  • the processor 120 may output a result obtained by replacing the corresponding entity name with the question entity name in the document if there exists a document specific entity name of the same type as the question specific entity name and the entity names differ from each other. For example, the processor 120 may derive an answer such as "Try turning the power off and on for the S10 battery problem” from the consultation manual “Try turning the power off and on for the S9 battery problem.”
  • the processor 120 may additionally extract the keywords of the document and analyze the path of the counseling domain knowledge graph together with the question keyword.
  • the processor 120 may search the counseling history when an answer is not obtained through the counseling manual search. First, the processor 120 may extract question keywords (S735) and search counseling details of a counseling subject similar to the question (S740). Then, the processor 120 searches for question keywords from the searched documents (S745), extracts the keywords of the searched documents (S750), and searches for relationships in the knowledge graph with the question keywords and document keywords (S755).
  • the processor 120 may obtain an answer based on a relatively short counseling history among the retrieved counseling histories. This is because there may be unnecessary conversations between the counselor and the user in the counseling history.
  • the processor 120 may use an external search engine when an answer is not obtained through the consultation history search. First, the processor 120 searches for questions and keywords as input (S760), and outputs a document having a high search ranking (S765).
  • the processor 120 may obtain an answer to the user query.
  • FIG. 8 is a diagram for explaining a refinement algorithm according to an embodiment of the present disclosure.
  • the processor 120 may check a search source (S810).
  • the processor 120 may remove unnecessary content (S820). For example, if the search source is an agent's manual or external data, the processor 120 may remove paragraphs not including a search keyword, paragraphs not including a link to a web page, or paragraphs not including Markup and image/video tags. .
  • the processor 120 may check the counseling type (S830) and summarize the contents in case of providing information (S850). For example, the processor 120 may summarize the content using text summarization of a natural language understanding processing engine. The processor 120 may divide paragraphs of the summarized contents (Text Segmentation, S840).
  • the processor 120 may divide paragraphs from which unnecessary content has been removed without summarizing the content (S840).
  • the processor 120 may extract text when the search source is counseling by a counselor (S840).
  • the processor 120 may refine the answer. However, it is not limited thereto, and the processor 120 may refine the answer through an artificial intelligence model.
  • FIG. 9 is a diagram for explaining a scenario creation module according to an embodiment of the present disclosure.
  • the left side of FIG. 9 shows the refined results after searching.
  • the processor 120 may change the refined contents into conversational scenarios.
  • the processor 120 may extract conversation data by outputting chatbot answers and confirmation query sentences, and outputting customer answer options.
  • the processor 120 may create a scenario by creating a dialog step by step, branching to the next step, and processing the sequence.
  • the processor 120 receives a user query such as "The phone does not work after the system update"
  • the processor 120 asks, "Is the subject you want to inquire about 'the phone does not work after the system update?' ?”, and generate answers for both yes and no customer answers.
  • the processor 120 provides an answer such as "Press [Settings] ... try disabling xx settings” if the customer answer is yes, and if the customer answer is no, it provides an answer such as "Ask the question again.” can provide
  • the processor 120 provides an answer such as "Press [Settings] ... try disabling the xx setting", then provides an answer such as "Is the issue resolved?", and if the customer answer is yes, exits , If the customer answer is no, you can provide a next step answer such as "Disable yy settings and then power the phone back on.”
  • the processor 120 may change the answer into a conversational scenario in the above manner.
  • FIG. 10 is a diagram for explaining chatbot learning according to an embodiment of the present disclosure.
  • the processor 120 may obtain similar sentences from a user query using a question paraphrase generator of a natural language understanding processing engine, and store the acquired sentences and scenarios in a learning data database.
  • the processor 120 learns the classification trainer of the natural language understanding processing engine with similar sentences and existing paraphrase data, and when the learning is completed, loads the newly learned model to the intent classifier, and uses the newly loaded model to query the user. can be analyzed and answers can be provided.
  • FIG. 11 is a flowchart for explaining a control method of an electronic device according to an embodiment of the present disclosure.
  • a plurality of counseling end histories among a plurality of counseling histories are identified (S1110). Then, if the ratio of the plurality of counseling end histories to the plurality of counseling histories is equal to or greater than the threshold ratio, a first user query is identified based on the plurality of counseling end histories (S1120). Then, if the second user query having a similarity with the identified first user query equal to or greater than the first threshold number is equal to or greater than the first threshold number, an answer to the first user query is obtained (S1130).
  • the method may further include obtaining a conversational scenario for the first user query based on the obtained answer and storing the acquired scenario.
  • the method may further include performing counseling based on the acquired scenario when counseling including a query having a similarity with the first user query equal to or greater than a threshold value is initiated.
  • the step of identifying a plurality of counseling end histories includes a plurality of counseling records during a preset previous time interval based on the current time point among the plurality of counseling records and a plurality of counseling failures to answer during a preset previous time interval.
  • the ratio of the plurality of counseling end histories identified during the previous preset time interval to the plurality of counseling records identified during the preset previous time interval is the threshold ratio. You can identify what is abnormal.
  • identifying a first user query identifies a plurality of keywords from user queries included in a plurality of counseling end histories, and identifies a predetermined number of keywords based on the number of each of the plurality of keywords, If the number of each of the identified keywords is greater than or equal to the second threshold number, a user query included in a history including the most identified keywords among a plurality of counseling end histories may be identified as a first user query.
  • an answer may be obtained by searching for a keyword included in the first user's query in at least one of a counseling manual, a plurality of counseling histories, or an external search engine.
  • the keyword included in the first user query is not searched in the counseling manual, the keyword is additionally identified in the counseling end history including the first user query, and the additionally identified keyword is identified in the counseling manual. You can get answers by searching keywords.
  • a keyword included in the first user's query is searched for in the counseling manual to obtain an answer, and if the keyword included in the first user's query is not searched in the counseling manual, a keyword included in the first user's query is not retrieved from the counseling manual.
  • Search keywords included in the user's query to obtain an answer, and if the keyword included in the first user's query is not found in a plurality of counseling histories, search for the keyword included in the first user's query in an external search engine to obtain an answer. can be obtained
  • the method may further include updating the answer by removing unnecessary sentences or content from the answer or summarizing sentences or content included in the answer.
  • the electronic device identifies a user query indicating counseling for which an answer has failed, obtains an answer to the identified user query, and changes the obtained answer into a conversational scenario. It can automatically enhance the ability to interact with users.
  • the electronic device can improve user convenience by providing answers to user queries even before a manager creates a new scenario.
  • a device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments.
  • the processor may perform a function corresponding to the command directly or by using other components under the control of the processor.
  • An instruction may include code generated or executed by a compiler or interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' only means that the storage medium does not contain a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily in the storage medium.
  • the method according to the various embodiments described above may be included in a computer program product and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may be distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)) or online through an application store (eg Play StoreTM).
  • CD-ROM compact disc read only memory
  • application store eg Play StoreTM
  • at least part of the computer program product may be temporarily stored or temporarily created in a storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
  • the various embodiments described above use software, hardware, or a combination thereof in a recording medium readable by a computer or similar device. can be implemented in In some cases, the embodiments described herein may be implemented in a processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • Non-transitory computer-readable medium may be stored in a non-transitory computer-readable medium.
  • Computer instructions stored in such a non-transitory computer readable medium when executed by a processor of a specific device, cause a specific device to perform a processing operation in the device according to various embodiments described above.
  • a non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory.
  • Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
  • each of the components may be composed of a single object or a plurality of entities, and some sub-components among the aforementioned sub-components may be omitted, or other sub-components may be used. Components may be further included in various embodiments. Alternatively or additionally, some components (eg, modules or programs) may be integrated into one entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by modules, programs, or other components are executed sequentially, in parallel, iteratively, or heuristically, or at least some operations are executed in a different order, are omitted, or other operations are added. It can be.

Abstract

전자 장치는 메모리 및 메모리와 연결되어 전자 장치를 제어하는 프로세서를 포함하며, 프로세서는 메모리에 저장된 복수의 상담 이력 중 복수의 상담 종료 이력을 식별하고, 복수의 상담 종료 이력 각각은 사용자 질의에 응답 실패한 상담을 나타내고, 복수의 상담 이력에 대한 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별하고, 식별된 제1 사용자 질의와 유사한 제2 사용자 질의가 제1 임계 개수 이상이면, 제1 사용자 질의에 대한 답변을 획득할 수 있다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 사용자와의 대화 기능을 제공하는 전자 장치 및 그 제어 방법에 대한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자 장치가 개발되고 있다. 특히, 최근에는 음성 비서 또는 챗봇(chatbot)과 같이 문자 또는 음성으로 고객과의 대화 기능을 제공하는 전자 장치가 개발되고 있다.
음성 비서는 주로 오픈 도메인(open domain)에서 고객 제품에 대한 명령을 수행하는데 중점을 두는 반면, 챗봇은 주로 특정 도메인에 대한 고객의 문의를 처리하고 상담을 진행하는 것을 목적으로 한다. 따라서, 음성 비서는 성능 개선을 위해 다양한 도메인의 명령 수행 능력을 향상시켜야 하는 반면, 챗봇은 특정 도메인의 문제를 가지고 있는 고객과의 도메인 대화 주제 및 대화 데이터를 늘릴 필요가 있다.
다만, 챗봇이 모든 질의에 대한 답변을 제공할 수 없는 문제가 있다. 예를 들어, 챗봇은 관리자에 의해 수동으로 답변이 생성된 후에야 사용자 질의에 대한 답변이 가능하다. 즉, 챗봇은 답변이 기 저장되어 있지 않은 경우, 예를 들어 신제품에 발생한 새로운 문제점에 대한 질의가 수신되면, 관리자가 답변을 생성하여 저장하기 전까지는 문제 해결이 불가능하다.
따라서, 관리자의 수동 작업을 줄이면서도 고객의 만족도를 높일 수 있는 방안이 개발될 필요가 있다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시는 사용자와의 대화 기능을 위한 답변 시나리오를 생성하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 메모리 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서를 포함하며, 상기 프로세서는 상기 메모리에 저장된 복수의 상담 이력 중 복수의 상담 종료 이력을 식별하고, 상기 복수의 상담 종료 이력 각각은 사용자 질의에 응답 실패한 상담을 나타내고, 상기 복수의 상담 이력에 대한 상기 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 상기 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별하고, 상기 식별된 제1 사용자 질의와 유사한 제2 사용자 질의가 제1 임계 개수 이상이면, 상기 제1 사용자 질의에 대한 답변을 획득할 수 있다.
또한, 상기 프로세서는 상기 획득된 답변에 기초하여 상기 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득하고, 상기 획득된 시나리오를 상기 메모리에 저장할 수 있다.
그리고, 상기 프로세서는 상기 제1 사용자 질의와 유사도가 임계 값 이상인 질의를 포함하는 상담이 개시되면, 상기 획득된 시나리오에 기초하여 상담을 수행할 수 있다.
또한, 상기 프로세서는 상기 복수의 상담 이력 중 기 설정된 이전 시간 구간 동안의 복수의 상담 이력 및 상기 기 설정된 이전 시간 구간 동안의 답변에 실패한 복수의 상담 종료 이력을 식별하고, 상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 상기 임계 비율 이상인지 식별할 수 있다.
그리고, 상기 프로세서는 상기 복수의 상담 종료 이력에 포함된 사용자 질의들에서 복수의 키워드를 식별하고, 상기 복수의 키워드 각각의 개수에 기초하여 기 설정된 개수의 키워드들을 식별하고, 상기 식별된 키워드들 각각의 개수가 제2 임계 개수 이상이면, 상기 복수의 상담 종료 이력 중 상기 식별된 키워드들을 가장 많이 포함하는 이력에 포함된 사용자 질의를 상기 제1 사용자 질의로 식별할 수 있다.
또한, 상기 프로세서는 상담 매뉴얼, 상기 복수의 상담 이력 또는 외부 검색 엔진 중 적어도 하나에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득할 수 있다.
그리고, 상기 프로세서는 상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않는 경우 상기 제1 사용자 질의를 포함하는 상담 종료 이력에서 키워드를 추가로 식별하고, 상기 상담 매뉴얼에서 상기 추가로 식별된 키워드를 검색하여 상기 답변을 획득할 수 있다.
또한, 상기 프로세서는 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드를 포함하는 상담 이력들이 검색되면, 상기 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력에 기초하여 상기 답변을 획득할 수 있다.
그리고, 상기 프로세서는 상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하고, 상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하고, 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 상기 외부 검색 엔진에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득할 수 있다.
또한, 상기 프로세서는 상기 답변에서 불필요한 문장 또는 컨텐츠를 제거하거나 상기 답변에 포함된 문장 또는 컨텐츠를 요약하여 상기 답변을 업데이트할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 복수의 상담 이력 중 복수의 상담 종료 이력을 식별하는 단계, 상기 복수의 상담 종료 이력 각각은 사용자 질의에 응답 실패한 상담을 나타내고, 상기 복수의 상담 이력에 대한 상기 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 상기 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별하는 단계 및 상기 식별된 제1 사용자 질의와 유사한 제2 사용자 질의가 제1 임계 개수 이상이면, 상기 제1 사용자 질의에 대한 답변을 획득하는 단계를 포함한다.
또한, 상기 획득된 답변에 기초하여 상기 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득하는 단계 및 상기 획득된 시나리오를 저장하는 단계를 더 포함할 수 있다.
그리고, 상기 제1 사용자 질의와 유사도가 임계 값 이상인 질의를 포함하는 상담이 개시되면, 상기 획득된 시나리오에 기초하여 상담을 수행하는 단계를 더 포함할 수 있다.
또한, 상기 복수의 상담 종료 이력을 식별하는 단계는 상기 복수의 상담 이력 중 기 설정된 이전 시간 구간 동안의 복수의 상담 이력 및 상기 기 설정된 이전 시간 구간 동안의 답변에 실패한 복수의 상담 종료 이력을 식별하고, 상기 제1 사용자 질의를 식별하는 단계는 상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 상기 임계 비율 이상인지 식별할 수 있다.
그리고, 상기 제1 사용자 질의를 식별하는 단계는 상기 복수의 상담 종료 이력에 포함된 사용자 질의들에서 복수의 키워드를 식별하고, 상기 복수의 키워드 각각의 개수에 기초하여 기 설정된 개수의 키워드들을 식별하고, 상기 식별된 키워드들 각각의 개수가 제2 임계 개수 이상이면, 상기 복수의 상담 종료 이력 중 상기 식별된 키워드들을 가장 많이 포함하는 이력에 포함된 사용자 질의를 상기 제1 사용자 질의로 식별할 수 있다.
또한, 상기 획득하는 단계는 상담 매뉴얼, 상기 복수의 상담 이력 또는 외부 검색 엔진 중 적어도 하나에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득할 수 있다.
그리고, 상기 획득하는 단계는 상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않는 경우 상기 제1 사용자 질의를 포함하는 상담 종료 이력에서 키워드를 추가로 식별하고, 상기 상담 매뉴얼에서 상기 추가로 식별된 키워드를 검색하여 상기 답변을 획득할 수 있다.
또한, 상기 획득하는 단계는 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드를 포함하는 상담 이력들이 검색되면, 상기 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력에 기초하여 상기 답변을 획득할 수 있다.
그리고, 상기 획득하는 단계는 상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하고, 상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하고, 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 상기 외부 검색 엔진에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 상기 전자 장치의 제어 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 답변에 실패하여 상담이 종료된 사용자 질의를 식별하고, 식별된 사용자 질의에 대한 답변을 획득하며, 획득된 답변을 대화 형태의 시나리오로 변경함에 따라 자동으로 사용자와의 대화 기능을 강화할 수 있다.
또한, 전자 장치는 관리자가 새로운 시나리오를 생성하기 전이라도 사용자 질의에 대한 답변이 가능하여 사용자 편의성을 높일 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어 구성을 설명하기 위한 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 소프트웨어 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블럭도이다.
도 4는 본 개시의 일 실시 예에 따른 사용자 질의에 대한 답변을 획득하는 방법을 개략적으로 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 로그 분석 모듈을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 제1 사용자 질의 식별 모듈을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 검색 알고리즘을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 정제 알고리즘을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 시나리오 작성 모듈을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 챗봇 학습을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공 지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 다양한 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치(100)의 하드웨어 구성을 설명하기 위한 블록도이다.
전자 장치(100)는 사용자의 질의에 대한 답변을 생성하는 장치로서, 서버, 컴퓨터 본체, 데스크탑 PC, TV, 노트북, 스마트폰, 태블릿 PC, 셋탑박스(STB) 등으로 구현될 수 있다.
다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 사용자의 질의에 대한 답변을 생성할 수 있는 장치라면 어떠한 장치라도 무방하다.
도 1에 따르면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 일부 구성이 제외된 형태로 구현될 수도 있다.
메모리(110)에는 전자 장치(100) 또는 프로세서(120)의 동작에 필요한 적어도 하나의 인스트럭션(instruction) 또는 모듈이 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(120)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 모듈은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다.
또한, 메모리(110)에는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보인 데이터가 저장될 수 있다. 예를 들어, 메모리(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) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서는 이상의 언급한 신경망 뿐만 아니라 얼마든지 다양한 신경망이 이용될 수 있다. 또한, 인공 지능 모델은 다양한 개념, 조건, 관계 내지는 합의된 지식이 컴퓨터가 처리할 수 있는 형태로 표현된 온톨로지 기반의 데이터 구조로 구성될 수도 있다.
인공 지능 모델은 다양한 학습 알고리즘을 통해 전자 장치(100) 또는 별도의 서버/시스템을 통해 학습된 것일 수 있다. 학습 알고리즘은 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 얼마든지 다양한 학습 알고리즘이 이용될 수 있다.
메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의해 인스트럭션, 모듈, 인공 지능 모델 또는 프로세서(120)에 의해 독취/기록/수정/삭제/갱신할 데이터 등을 포함할 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(120)는 전자 장치(100)의 구성들과 연결되어 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(120)는 메모리(100), 디스플레이(미도시), 통신 인터페이스(미도시), 마이크(미도시) 등과 같은 구성과 연결되어 전자 장치(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(120)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 메모리(110)에 저장된 복수의 상담 이력 중 각각이 사용자 질의에 응답 실패한 상담을 나타내는 복수의 상담 종료 이력을 식별하고, 복수의 상담 이력에 대한 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별하고, 식별된 제1 사용자 질의와 유사한 제2 사용자 질의의 개수가 임계 개수 이상이면, 제1 사용자 질의에 대한 답변을 획득할 수 있다.
이러한 프로세서(120)의 동작은 도 2의 각종 모듈을 통해 좀더 구체적으로 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 소프트웨어 구성을 설명하기 위한 블록도이다. 도 2에서 프로세서(120) 내부에 복수의 모듈이 위치하는 것은 복수의 모듈이 프로세서(120)에 의해 로딩(또는 실행)되어 프로세서(120)에서 동작되는 상태를 나타내기 위한 것이며, 복수의 모듈은 메모리(110)에 기저장된 상태일 수 있다.
도 2를 참조하면, 메모리(110)에는 복수의 상담 이력 및 상황 별 시나리오가 저장될 수 있다. 여기서, 예를 들어, 전자 장치(100)는 사용자 질의가 수신되면 상황 별 시나리오에 기초하여 사용자 질의에 대한 답변을 제공할 수 있다. 그리고, 전자 장치(100)는 사용자와의 상담이 종료되면, 상담 이력을 메모리(110)에 저장할 수 있다.
그리고, 프로세서(120)는 메모리(110)에 저장된 모듈 또는 인스트럭션을 실행함으로써 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 구체적으로, 프로세서(120)는 모듈 또는 인스트럭션을 읽고 해석하며 데이터 처리를 위한 시퀀스를 결정할 수 있으며, 그에 따라 메모리(110) 등 다른 구성의 동작을 제어하는 제어 신호를 전송함으로써 다른 구성의 동작을 제어할 수 있다.
프로세서(120)는 답변 생성 여부 판단 모듈을 실행함으로써 메모리(110)에 저장된 복수의 상담 이력 중 복수의 상담 종료 이력을 식별할 수 있다. 예를 들어, 프로세서(120)는 기설정된 시간 간격으로 메모리(110)에 저장된 복수의 상담 이력 중 복수의 상담 종료 이력을 식별할 수 있다. 또는, 프로세서(120)는 기설정된 시점, 가령 오전 3시와 같은 시점에 메모리(110)에 저장된 복수의 상담 이력 중 복수의 상담 종료 이력을 식별할 수도 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 실시간으로 상담 이력을 식별하고, 답변에 실패할 경우 동일한 유형의 상담 종료 이력을 카운드하며, 실패 횟수가 임계 횟수를 초과하면 후술하는 답변 생성 동작을 수행할 수도 있다.
프로세서(120)는 복수의 상담 이력에 대한 복수의 상담 종료 이력의 비율이 임계 비율 이상인지 식별할 수 있다. 예를 들어, 프로세서(120)는 복수의 상담 이력 중 현재 시점을 기준으로 기 설정된 이전 시간 구간 동안의 복수의 상담 이력 및 각각이 사용자 질의에 응답 실패한 상담을 나타내는 복수의 상담 종료 이력을 식별하고, 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 임계 비율 이상인지 식별할 수 있다. 가령, 프로세서(120)는 현재 시점을 기준으로 2시간 동안의 복수의 상담 이력 50 건 및 현재 시점을 기준으로 2시간 동안의 답변에 실패한 복수의 상담 종료 이력 20 건을 식별하고, 그 비율인 40%가 임계 비율 30% 이상인지 식별할 수 있다.
프로세서(120)는 복수의 상담 이력에 대한 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별할 수 있다. 상술한 예에서, 프로세서(120)는 전체 상담 이력에 대한 상담 종료 이력의 비율이 40%이고 임계 비율 30% 이상이므로, 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별할 수 있다.
프로세서(120)는 복수의 상담 종료 이력에 포함된 사용자 질의들에서 복수의 키워드를 식별하고, 복수의 키워드 각각의 개수에 기초하여 기 설정된 개수의 키워드들을 식별하고, 식별된 키워드들 각각의 개수가 제2 임계 개수 이상이면, 복수의 상담 종료 이력 중 식별된 키워드들을 가장 많이 포함하는 이력에 포함된 사용자 질의를 제1 사용자 질의로 식별할 수 있다.
예를 들어, 프로세서(120)는 복수의 상담 종료 이력에 포함된 사용자의 질의들에서 “시스템”, “업데이트”, “폰”, “이어폰”, “충전” 등과 같은 키워드를 식별하고, 키워드 각각의 개수를 카운트할 수 있다. 프로세서(120)는 키워드 각각의 개수가 많은 순으로 정렬하여, 가장 개수가 많은 순으로 “시스템”, “업데이트”, “폰”을 식별하고, “시스템”, “업데이트”, “폰” 각각의 개수가 제2 임계 개수 이상인지 식별할 수 있다. 가령, 프로세서(120)는 “시스템”, “업데이트”, “폰” 각각의 개수가 10개 이상이면, “시스템”, “업데이트”, “폰”을 가장 많이 포함하는 “시스템 업데이트 후 폰이 작동을 안해요.”와 같은 사용자 질의를 제1 사용자 질의로 식별할 수 있다.
프로세서(120)는 답변 생성 모듈을 실행함으로써 식별된 제1 사용자 질의와 유사도가 임계 값 이상인 제2 사용자 질의가 제1 임계 개수 이상이면, 제1 사용자 질의에 대한 답변을 획득할 수 있다. 예를 들어, 프로세서(120)는 인공 지능 모델을 통해 제1 사용자 질의와 제2 사용자 질의의 유사도를 식별할 수 있다. 또는, 프로세서(120)는 제1 사용자 질의와 제2 사용자 질의의 키워드를 비교하여 유사도를 식별할 수 있다.
프로세서(120)는 식별된 제1 사용자 질의와 유사도가 임계 값 이상인 제2 사용자 질의가 제1 임계 개수 이상이면, 제1 사용자 질의에 대한 답변을 획득하고, 식별된 제1 사용자 질의와 유사도가 임계 값 이상인 제2 사용자 질의가 제1 임계 개수 미만이면, 제1 사용자 질의에 대한 답변을 획득하지 않을 수 있다.
프로세서(120)는 카운셀러 상담 매뉴얼, 복수의 상담 이력 또는 외부 검색 엔진 중 적어도 하나에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득할 수 있다.
예를 들어, 프로세서(120)는 상담 매뉴얼에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득하고, 상담 매뉴얼에서 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 복수의 상담 이력에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득하고, 복수의 상담 이력에서 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 외부 검색 엔진에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득할 수 있다.
프로세서(130)는 상담 매뉴얼에서 제1 사용자 질의에 포함된 키워드가 검색되지 않는 경우 제1 사용자 질의를 포함하는 상담 종료 이력에서 키워드를 추가로 식별하고, 상담 매뉴얼에서 추가로 식별된 키워드를 검색하여 답변을 획득할 수 있다.
예를 들어, 프로세서(120)는 “시스템 업데이트 후 폰이 작동을 안해요.”와 같은 제1 사용자 질의에 포함된 “시스템”, “업데이트”, “폰”이 상담 매뉴얼에서 검색되지 않는 경우 제1 사용자 질의를 포함하는 상담 종료 이력에서 키워드를 추가로 식별할 수 있다. 가령, “시스템 업데이트 후 폰이 작동을 안해요.”와 같은 제1 사용자 질의 후, “화면이 켜지지 않아요.”와 같은 추가 사용자 발화가 있을 수 있으며, 프로세서(120)는 “화면”을 상담 매뉴얼에서 추가 검색하여 답변을 획득할 수도 있다.
프로세서(120)는 복수의 상담 이력에서 제1 사용자 질의에 포함된 키워드를 포함하는 상담 이력들이 검색되면, 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력에 기초하여 답변을 획득할 수 있다. 상담 이력들은 모두 동일한 답변을 제공할 수 있으나, 상담 과정에서 사용자와 불필요한 대화가 있었을 수 있으므로, 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력으로부터 답변을 획득하는 것이 좀더 효율적이다.
프로세서(120)는 답변에서 불필요한 문장 또는 컨텐츠를 제거하거나 답변에 포함된 문장 또는 컨텐츠를 요약하여 답변을 업데이트할 수 있다. 예를 들어, 프로세서(120)는 답변에서 검색 키워드를 포함하지 않는 문단을 제거하거나, 답변에서 웹 페이지를 포함하지 않는 문단을 제거하거나, 답변에서 이미지, 동영상 태그 등을 미포함하는 문단을 제거할 수 있다.
프로세서(120)는 시나리오 작성 모듈을 실행함으로써 획득된 답변에 기초하여 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득하고, 획득된 시나리오를 메모리(110)에 저장할 수 있다. 예를 들어, 프로세서(120)는 “시스템 업데이트 후 폰이 작동을 안해요.”와 같은 제1 사용자 질의에 대한 답변으로 “XX 설정을 비활성화 해보세요.”와 같은 답변을 획득할 수 있다. 이 경우, 프로세서(120)는 “시스템 업데이트 후 폰이 작동을 안해요.”와 같은 사용자 질의가 입력되면, “XX 설정을 비활성화 해보세요.”와 같은 답변을 제공하고, 사용자의 답변이 없으면 “문제가 해결되었나요?”와 같은 질문을 제공하는 등의 시나리오를 획득하고, 이를 메모리(110)에 상황 별 시나리오로서 저장할 수 있다.
프로세서(120)는 제1 사용자 질의와 유사도가 임계 값 이상인 질의를 포함하는 상담이 개시되면, 획득된 시나리오에 기초하여 상담을 수행할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)의 세부 구성을 나타내는 블럭도이다. 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 또한, 도 3에 따르면, 전자 장치(100)는 디스플레이(130), 통신 인터페이스(140), 사용자 인터페이스(150), 마이크(160), 스피커(170)를 더 포함할 수도 있다. 도 3에 도시된 구성 요소들 중 도 1 및 도 2에 도시된 구성 요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
디스플레이(130)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(130) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(130)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
통신 인터페이스(140)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 예를 들어, 전자 장치(100)는 통신 인터페이스(140)를 통해 서버와 통신을 수행할 수 있다.
통신 인터페이스(140)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 적외선 통신 모듈은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
또는, 통신 인터페이스(140)는 HDMI, DP, 썬더볼트, USB, RGB, D-SUB, DVI 등과 같은 유선 통신 인터페이스를 포함할 수 있다.
그 밖에 통신 인터페이스(140)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수도 있다.
사용자 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드 등으로 구현되거나, 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
마이크(160)는 사운드를 입력받아 오디오 신호로 변환하기 위한 구성이다. 마이크(160)는 프로세서(120)와 전기적으로 연결되며, 프로세서(120)의 제어에 의해 사운드를 수신할 수 있다. 여기서, 사운드는 전자 장치(100) 및 전자 장치(100) 주변의 타 전자 장치 중 적어도 하나에서 발생하는 사운드 및 전자 장치(100) 주변의 노이즈를 포함할 수 있다.
예를 들어, 마이크(160)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 또는, 마이크(160)는 전자 장치(100)와는 별도의 리모컨 등에 구비될 수도 있다. 이 경우, 리모컨은 마이크(160)를 통해 사운드를 수신하고, 수신된 사운드를 전자 장치(100)로 제공할 수도 있다.
마이크(160)는 아날로그 형태의 사운드 입력을 수집하는 마이크, 수집된 사운드 입력을 증폭하는 앰프 회로, 증폭된 사운드를 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 마이크(160)는 사운드 센서의 형태로 구현될 수도 있으며, 사운드를 수집할 수 있는 구성이라면 어떠한 방식이라도 무방하다.
스피커(170)는 프로세서(120)에서 처리된 각종 오디오 데이터 뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소이다.
이상과 같은 동작을 통해 전자 장치(100)는 새로운 유형의 사용자 질의에 대해 답변 시나리오를 자동으로 생성할 수 있으며, 관리자가 수동으로 답변 시나리오를 생성하기 전이라도 사용자에게 답변을 제공할 수 있다.
이하에서는 도 4 내지 도 10을 통해 전자 장치(100)의 동작을 좀더 구체적으로 설명한다. 특히, 도 4 내지 도 10에서는 전자 장치(100) 및 챗봇을 혼용하여 설명한다. 한편, 도 4 내지 도 10에서는 설명의 편의를 위해 개별적인 실시 예에 대하여 설명한다. 다만, 도 4 내지 도 10의 개별적인 실시 예는 얼마든지 조합된 상태로 실시될 수도 있다.
도 4는 본 개시의 일 실시 예에 따른 사용자 질의에 대한 답변을 획득하는 방법을 개략적으로 설명하기 위한 도면이다.
프로세서(120)는 답변 생성 여부 판단 모듈을 실행함으로써 답변 생성이 필요한 제1 사용자 질의를 식별할 수 있다. 답변 생성 여부 판단 모듈은 로그 분석 모듈 및 제1 사용자 질의 식별 모듈을 포함할 수 있다.
예를 들어, 프로세서(120)는 로그 분석 모듈을 실행함으로써 최근 각각이 최근의 사용자 질의에 응답 실패한 상담을 나타내는 복수의 상담 종료 이력을 식별할 수 있다. 가령, 프로세서(120)는 복수의 상담 이력 중 복수의 상담 종료 이력을 식별하고, 복수의 상담 이력에 대한 복수의 상담 종료 이력의 비율이 임계 비율 이상이면 새로운 이슈가 발생한 것으로 식별할 수 있다. 이 경우, 프로세서(120)는 제1 사용자 질의 식별 모듈을 실행함으로써 새로운 이슈에 대응되는 제1 사용자 질의를 식별하기 위한 동작을 수행할 수 있다.
프로세서(120)는 답변 생성 모듈을 실행함으로써 제1 사용자 질의에 대한 답변을 획득할 수 있다. 답변 생성 모듈은 검색 알고리즘 및 정제 알고리즘을 포함할 수 있다.
예를 들어, 프로세서(120)는 검색 알고리즘에 따라 제1 사용자 질의에 포함된 키워드를 검색할 수 있다. 그리고, 프로세서(120)는 제1 사용자 질의에 대응되는 답변이 획득되면, 정제 알고리즘에 따라 답변에서 불필요한 문장 또는 컨텐츠를 제거하거나 답변에 포함된 문장 또는 컨텐츠를 요약하여 답변을 업데이트할 수 있다.
프로세서(120)는 시나리오 작성 모듈을 실행함에 따라 답변에 대응되는 시나리오를 생성할 수 있다. 여기서, 시나리오 작성 모듈은 시나리오 작성 알고리즘을 포함할 수 있다.
예를 들어, 프로세서(120)는 답변에 기초하여 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 로그 분석 모듈을 설명하기 위한 도면이다.
프로세서(120)는 로그 분석 모듈을 실행함으로써 상담 이력 데이터베이스에 저장된 고객-챗봇 간의 복수의 상담 이력 중 설정 시간 구간 동안 유입된 상담 이력을 탐색할 수 있다(S510). 그리고, 프로세서(120)는 한 번 또는 연속적으로 챗봇이 사용자 질의를 분류하는데 실패한 채 상담이 종료된 이력들을 검출할 수 있다(S520).
예를 들어, 프로세서(120)는 복수의 상담 이력 중 24시간 이전의 시점부터 현재 시점까지의 복수의 상담 이력 및 24시간 이전의 시점부터 현재 시점까지의 복수의 상담 종료 이력을 식별할 수 있다. 가령, 고객으로부터 "시스템 업데이트 후 폰이 작동을 안 해요."와 같은 질의가 수신되었고, "죄송합니다. 제가 질문을 잘 이해하지 못했어요. 다시 입력해주실 수 있을까요?"와 같은 답변이 제공된 경우, 프로세서(120)는 사용자 질의에 답변 실패한 챗봇을 나타내는 상담 종료 이력으로 식별할 수 있다. 다만, 이에 한정되는 것은 아니며, 각각이 답변에 실패한 챗봇을 나타내는 상담 종료 이력은 얼마든지 다양한 유형일 수 있고, 상담 종료 이력을 식별하는 시간 구간도 얼마든지 다양할 수 있다.
프로세서(120)는 기설정된 시점이 되면, 복수의 상담 종료 이력을 식별할 수 있다. 예를 들어, 프로세서(120)는 사용자 질의가 수신되는 빈도가 낮아지는 새벽 시간대, 가령 새벽 3시에 답변에 실패한 복수의 상담 종료 이력을 식별할 수 있다.
또는, 프로세서(120)는 답변에 실패한 상담 종료 이력을 실시간으로 카운팅할 수도 있다. 예를 들어, 프로세서(120)는 사용자 질의를 수신하고 답변에 실패한 경우, 이를 곧바로 카운팅하며, 카운팅된 수가 임계 개수 이상이면 후술할 답변 생성 동작을 수행할 수 있다. 여기서, 프로세서(120)는 단순히 답변에 실패한 경우를 카운팅하는 것이 아니라, 답변에 실패한 경우를 복수의 유형으로 구분하고 각 유형 별로 카운팅할 수도 있다.
프로세서(120)는 탐색한 상담 이력 대비 상담 종료 이력의 비율을 확인할 수 있다(S530). 예를 들어, 프로세서(120)는 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 임계 비율 이상인지 식별할 수 있다. 가령, 프로세서(120)는 복수의 상담 이력 중 24시간 이전의 시점부터 현재 시점까지의 복수의 상담 이력 대비 24시간 이전의 시점부터 현재 시점까지의 복수의 상담 종료 이력의 비율을 식별하고, 식별된 비율이 50% 이상이면 후술할 답변 생성 동작을 수행할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 제1 사용자 질의 식별 모듈을 설명하기 위한 도면이다.
상술한 바와 같이, 프로세서(120)는 식별된 비율이 임계 비율 이상이면, 답변 생성 동작을 수행할 수 있다.
먼저, 프로세서(120)는 복수의 상담 이력의 각 상담 내역에서 고객이 입력한 질문을 추출할 수 있다(S610). 그리고, 프로세서(120)는 각 질의마다 토큰(ex : 키워드)을 추출할 수 있다(S615). 예를 들어, 전자 장치(100)는 자연어 이해 처리(natural language processing, NLP) 엔진을 포함하며, 자연어 이해 처리 엔진은 NLP Tokenizer, Pre-trained Language Model, Similar Token Search 또는 Spell Corrector 중 적어도 하나를 포함할 수 있다. 프로세서(120)는 NLP Tokenizer를 이용하여 각 질의에서 토큰을 추출할 수 있다. 가령, 프로세서(120)는 "시스템 업데이트 후 폰이 작동을 안 해요."와 같은 질의로부터 "시스템", "업데이트", "폰"을 추출하고, 나머지 질의에 대하여도 토큰을 추출할 수 있다.
그리고, 프로세서(120)는 추출된 전체 토큰에 대하여 토큰 별 개수를 측정할 수 있다(S620). 프로세서(120)는 추출된 토큰 중 토큰 후보를 식별할 수 있다. 상술한 예에서, 프로세서(120)는 추출된 "시스템"의 개수, 추출된 "업데이트"의 개수, 추출된 "폰"의 개수를 측정하고, 나머지 질의에서 추출된 토큰에 대하여도 개수를 측정할 수 있다.
프로세서(120)는 토큰 후보들 각각의 개수가 임계 개수보다 높은지 확인할 수 있다(S625). 예를 들어, 프로세서(120)는 추출된 토큰들의 각 토큰을 가장 개수가 많은 순으로 정렬하고, 가령 개수가 많은 3개의 토큰을 식별한 후, 3개의 토큰 각각이 측정된 개수가 임계 개수보다 높은지 식별할 수 있다. 프로세서(120)는 개수가 많은 3개의 토큰 각각이 측정된 개수가 임계 개수보다 낮은 경우, 답변 생성 동작을 진행하지 않을 수 있다.
프로세서(120)는 최다 토큰 후보들이 포함된 질의의 임베딩을 추출할 수 있다(S630). 여기서, 임베딩을 추출하는 동작은 단어 또는 문장을 벡터로 표현하는 것을 의미한다. 그리고, 프로세서(120)는 토큰 후보들을 모두 혹은 제일 많이 포함하는 질문의 임베딩과 다른 질문 임베딩 간 유사도를 측정할 수 있다(S635). 예를 들어, 프로세서(120)는 프로세서(120)는 Pre-trained Language Model 및 Similar Token Search를 이용하여 최다 토큰 후보들이 포함된 질의를 벡터로 표현하고, 벡터로 표현된 질의 간의 유사도를 측정할 수 있다.
프로세서(120)는 해당 질문과의 유사도가 높은 질문 개수를 확인하고(S640), 개수가 임계 값 미만이면 답변 생성 동작을 중단하고(S650), 개수가 임계 값 이상이면 대상 질문의 오타 및 문법을 교정할 수 있다(S645). 이때, 프로세서(120)는 Spell Corrector를 이용하여 대상 질문의 오타 및 문법을 교정하고, 교정된 질문에 대한 답변 생성 동작을 수행할 수 있다(S655).
도 7은 본 개시의 일 실시 예에 따른 검색 알고리즘을 설명하기 위한 도면이다.
프로세서(120)는 사용자 질의에 대한 답변을 생성하기 위해 상담 매뉴얼을 검색할 수 있다. 먼저, 프로세서(120)는 사용자 질의로부터 질문 키워드를 추출할 수 있다(S710). 예를 들어, 프로세서(120)는 학습 데이터 데이터베이스에 저장된 키워드 테이블을 이용하여 사용자 질의로부터 질문 키워드를 추출할 수 있다. 가령, 프로세서(120)는 "시스템 업데이트 후 폰이 작동을 안 해요."와 같은 사용자 질의로부터 "시스템", "업데이트", "폰", "작동"을 키워드로서 추출할 수 있다. 또는, 프로세서(120)는 자연어 이해 처리 엔진의 Named Entity Recognition을 이용하여 사용자 질의로부터 질문 키워드를 추출할 수도 있다.
프로세서(120)는 질문과 유사한 제목의 문서를 검색하고(S715), 검색된 문서에서 질문 키워드를 검색할 수 있다(S720). 프로세서(120)는 검색된 문서에서 키워드를 추출하고(S725), 질문 키워드와 문서 키워드로 지식 그래프에서 관계를 탐색하여(S730), 검색 결과물을 출력할 수 있다(S770). 여기서, 지식 그래프는 질문 고유 개체명 및 키워드들과 문서 고유 개체명 및 키워드들을 순서쌍으로 조합하여 시작 노드, 관계 간선으로 하는 경로들을 탐색하고, 탐색된 최종 노드가 겹치거나 탐색된 경로 대부분이 겹치는 경로가 존재한다면 해당 문서를 사용하는 것으로 결정하는 방식을 의미한다. 프로세서(120)는 자연어 이해 처리 엔진의 Named Entity Recognition을 이용하여 지식 그래프에서 관계를 탐색할 수 있다.
프로세서(120)는 질문 고유 개체명과 같은 종류의 문서 고유 개체명이 존재하고 개체명이 서로 다르다면 문서 내에서 해당 개체명을 질문 개체명으로 대체한 결과물을 출력할 수도 있다. 예를 들어, 프로세서(120)는 "S9의 배터리 이상 문제는 전원을 껐다 켜보세요."라는 상담 매뉴얼로부터 "S10의 배터리 이상 문제는 전원을 껐다 켜보세요."와 같은 답변을 도출할 수도 있다.
프로세서(120)는 검색된 문서에서 키워드가 하나도 매칭되지 않는 경우, 문서의 키워드를 추가로 추출해서 질문 키워드와 함께 상담 도메인 지식 그래프의 경로를 분석할 수도 있다.
프로세서(120)는 상담 매뉴얼 검색을 통해 답변을 획득하지 못한 경우, 상담 이력을 검색할 수 있다. 먼저, 프로세서(120)는 질문 키워드를 추출하고(S735), 질문과 유사한 상담 주제의 상담 내역을 검색할 수 있다(S740). 그리고, 프로세서(120)는 검색된 문서에서 질문 키워드를 검색하고(S745), 검색된 문서의 키워드를 추출하며(S750), 질문 키워드와 문서 키워드로 지식 그래프에서 관계를 탐색할 수 있다(S755).
프로세서(120)는 복수의 상담 이력이 검색되면, 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력에 기초하여 답변을 획득할 수 있다. 상담 이력에는 상담원과 사용자 간의 불필요한 대화가 있을 수 있기 때문이다.
프로세서(120)는 상담 이력 검색을 통해 답변을 획득하지 못한 경우, 외부 검색 엔진을 이용할 수 있다. 먼저, 프로세서(120)는 질문 및 키워드를 입력으로 검색하고(S760), 검색 순위가 높은 문서를 출력할 수 있다(S765).
이상과 같은 동작을 통해, 프로세서(120)는 사용자 질의에 대한 답변을 획득할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 정제 알고리즘을 설명하기 위한 도면이다.
프로세서(120)는 검색 소스(source)를 확인할 수 있다(S810). 프로세서(120)는 검색 소스가 상담원 매뉴얼 또는 외부 자료인 경우, 불필요한 내용을 제거할 수 있다(S820). 예를 들어, 프로세서(120)는 검색 소스가 상담원 매뉴얼 또는 외부 자료인 경우, 검색 키워드 미포함 문단을 제거하거나, 웹페이지 링크 미포함 문단을 제거하거나, Markup 및 이미지/동영상 태그 미포함 문단을 제거할 수 있다.
이후, 프로세서(120)는 상담 유형을 확인하여(S830), 정보 제공인 경우 내용을 요약할 수 있다(S850). 예를 들어, 프로세서(120)는 자연어 이해 처리 엔진의 Text Summarization을 이용하여 내용을 요약할 수 있다. 프로세서(120)는 요약된 내용의 문단을 나눌 수 있다(Text Segmentation, S840).
또는, 프로세서(120)는 상담 유형이 문제 해결인 경우, 내용 요약 없이 불필요한 내용이 제거된 내용의 문단을 나눌 수 있다(S840).
한편, 프로세서(120)는 검색 소스가 상담원 상담인 경우, 텍스트를 추출할 수 있다(S840).
이상과 같은 동작을 통해, 프로세서(120)는 답변을 정제할 수 있다. 다만, 이에 한정되는 것은 아니며, 프로세서(120)는 인공 지능 모델을 통해 답변을 정제할 수도 있다.
도 9는 본 개시의 일 실시 예에 따른 시나리오 작성 모듈을 설명하기 위한 도면이다.
도 9의 좌측은 검색 후 정제된 결과를 나타낸다. 프로세서(120)는 정제된 내용을 대화 형태의 시나리오로 변경할 수 있다.
프로세서(120)는 챗봇 답변 및 확인 질의 문장을 출력하고, 고객 답변 옵션을 출력하여 대화 데이터를 추출할 수 있다. 그리고, 프로세서(120)는 대화 단계별 작성 및 다음 단계 분기 및 순서 처리를 통해 시나리오를 생성할 수 있다.
예를 들어, 프로세서(120)는 "시스템 업데이트 후 폰이 작동을 안 해요."와 같은 사용자 질의가 수신되면, "고객님께서 문의하고 싶은 주제가 '시스템 업데이트 후 폰이 작동을 안 해요.'가 맞나요?"와 같은 답변을 제공하고, 고객 답변이 예인 경우와 아니오인 경우의 답변을 생성할 수 있다. 프로세서(120)는 고객 답변이 예인 경우 "[설정]을 누르고 ... xx설정을 비활성화 해보세요."와 같은 답변을 제공하고, 고객 답변이 아니오인 경우, "다시 질문 해주세요."와 같은 답변을 제공할 수 있다.
프로세서(120)는 "[설정]을 누르고 ... xx설정을 비활성화 해보세요."와 같은 답변을 제공한 뒤, "문제가 해결되었나요?"와 같은 답변을 제공하고, 고객 답변이 예인 경우 종료하고, 고객 답변이 아니오인 경우 "yy설정을 비활성화한 뒤 폰 전원을 다시 켜보세요."와 같은 다음 단계 답변을 제공할 수 있다.
프로세서(120)는 이상과 같은 방식으로 답변을 대화 형태의 시나리오로 변경할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 챗봇 학습을 설명하기 위한 도면이다.
프로세서(120)는 자연어 이해 처리 엔진의 Question Paraphrase Generator를 이용하여 사용자 질의로부터 유사 문장들을 획득하고, 획득된 문장들과 시나리오를 학습 데이터 데이터베이스에 저장할 수 있다.
프로세서(120)는 유사 문장들과 기존의 Paraphrase 데이터들로 자연어 이해 처리 엔진의 Classification Trainer를 학습하고, 학습이 완료되면 Intent Classifier에 새로 학습된 모델을 로드하고, 새롭게 로드된 모델을 사용해서 사용자 질의를 분석하고, 답변을 제공할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 복수의 상담 이력 중 복수의 상담 종료 이력을 식별한다(S1110). 그리고, 복수의 상담 이력에 대한 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별한다(S1120). 그리고, 식별된 제1 사용자 질의와 유사도가 임계 값 이상인 제2 사용자 질의가 제1 임계 개수 이상이면, 제1 사용자 질의에 대한 답변을 획득한다(S1130).
방법은 획득된 답변에 기초하여 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득하는 단계 및 획득된 시나리오를 저장하는 단계를 더 포함할 수 있다.
방법은 제1 사용자 질의와 유사도가 임계 값 이상인 질의를 포함하는 상담이 개시되면, 획득된 시나리오에 기초하여 상담을 수행하는 단계를 더 포함할 수 있다.
한편, 복수의 상담 종료 이력을 식별하는 단계(S1110)는 복수의 상담 이력 중 현재 시점에 기초하여 기 설정된 이전 시간 구간 동안의 복수의 상담 이력 및 기 설정된 이전 시간 구간 동안의 답변에 실패한 복수의 상담 종료 이력을 식별하고, 제1 사용자 질의를 식별하는 단계(S1120)는 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 임계 비율 이상인지 식별할 수 있다.
또한, 제1 사용자 질의를 식별하는 단계(S1120)는 복수의 상담 종료 이력에 포함된 사용자 질의에서 복수의 키워드를 식별하고, 복수의 키워드 각각의 개수에 기초하여 기 설정된 개수의 키워드들을 식별하고, 식별된 키워드들 각각의 개수가 제2 임계 개수 이상이면, 복수의 상담 종료 이력 중 식별된 키워드들을 가장 많이 포함하는 이력에 포함된 사용자 질의를 제1 사용자 질의로 식별할 수 있다.
한편, 획득하는 단계(S1130)는 상담 매뉴얼, 복수의 상담 이력 또는 외부 검색 엔진 중 적어도 하나에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득할 수 있다.
여기서, 획득하는 단계(S1130)는 상담 매뉴얼에서 제1 사용자 질의에 포함된 키워드가 검색되지 않는 경우 제1 사용자 질의를 포함하는 상담 종료 이력에서 키워드를 추가로 식별하고, 상담 매뉴얼에서 추가로 식별된 키워드를 검색하여 답변을 획득할 수 있다.
그리고, 획득하는 단계(S1130)는 복수의 상담 이력에서 제1 사용자 질의에 포함된 키워드를 포함하는 상담 이력들이 검색되면, 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력에 기초하여 답변을 획득할 수 있다.
한편, 획득하는 단계(S1130)는 상담 매뉴얼에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득하고, 상담 매뉴얼에서 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 복수의 상담 이력에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득하고, 복수의 상담 이력에서 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 외부 검색 엔진에서 제1 사용자 질의에 포함된 키워드를 검색하여 답변을 획득할 수 있다.
그리고, 방법은 답변에서 불필요한 문장 또는 컨텐츠를 제거하거나 답변에 포함된 문장 또는 컨텐츠를 요약하여 답변을 업데이트하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 답변에 실패한 상담을 나타내는 사용자 질의를 식별하고, 식별된 사용자 질의에 대한 답변을 획득하며, 획득된 답변을 대화 형태의 시나리오로 변경함에 따라 자동으로 사용자와의 대화 기능을 강화할 수 있다.
또한, 전자 장치는 관리자가 새로운 시나리오를 생성하기 전이라도 사용자 질의에 대한 답변이 가능하여 사용자 편의성을 높일 수 있다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시 예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    메모리; 및
    상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며,
    상기 프로세서는,
    상기 메모리에 저장된 복수의 상담 이력 중 복수의 상담 종료 이력을 식별하고, 상기 복수의 상담 종료 이력 각각은 사용자 질의에 응답 실패한 상담을 나타내고,
    상기 복수의 상담 이력에 대한 상기 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 상기 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별하고,
    상기 식별된 제1 사용자 질의와 유사한 제2 사용자 질의가 제1 임계 개수 이상이면, 상기 제1 사용자 질의에 대한 답변을 획득하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 획득된 답변에 기초하여 상기 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득하고,
    상기 획득된 시나리오를 상기 메모리에 저장하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 사용자 질의와 유사도가 임계 값 이상인 질의를 포함하는 상담이 개시되면, 상기 획득된 시나리오에 기초하여 상담을 수행하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 상담 이력 중 기 설정된 이전 시간 구간 동안의 복수의 상담 이력 및 상기 기 설정된 이전 시간 구간 동안의 복수의 상담 종료 이력을 식별하고,
    상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 상기 임계 비율 이상인지 식별하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 상담 종료 이력에 포함된 사용자 질의들에서 복수의 키워드를 식별하고,
    상기 복수의 키워드 각각의 개수에 기초하여 기 설정된 개수의 키워드들을 식별하고,
    상기 식별된 키워드들 각각의 개수가 제2 임계 개수 이상이면, 상기 복수의 상담 종료 이력 중 상기 식별된 키워드들을 가장 많이 포함하는 이력에 포함된 사용자 질의를 상기 제1 사용자 질의로 식별하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상담 매뉴얼, 상기 복수의 상담 이력 또는 외부 검색 엔진 중 적어도 하나에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않는 경우 상기 제1 사용자 질의를 포함하는 상담 종료 이력에서 키워드를 추가로 식별하고,
    상기 상담 매뉴얼에서 상기 추가로 식별된 키워드를 검색하여 상기 답변을 획득하는, 전자 장치.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드를 포함하는 상담 이력들이 검색되면, 상기 검색된 상담 이력들 중 길이가 상대적으로 짧은 상담 이력에 기초하여 상기 답변을 획득하는, 전자 장치.
  9. 제6항에 있어서,
    상기 프로세서는,
    상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하고,
    상기 상담 매뉴얼에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하고,
    상기 복수의 상담 이력에서 상기 제1 사용자 질의에 포함된 키워드가 검색되지 않으면, 상기 외부 검색 엔진에서 상기 제1 사용자 질의에 포함된 키워드를 검색하여 상기 답변을 획득하는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 답변에서 불필요한 문장 또는 컨텐츠를 제거하거나 상기 답변에 포함된 문장 또는 컨텐츠를 요약하여 상기 답변을 업데이트하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    복수의 상담 이력 중 복수의 상담 종료 이력을 식별하는 단계, 상기 복수의 상담 종료 이력 각각은 사용자 질의에 응답 실패한 상담을 나타내고;
    상기 복수의 상담 이력에 대한 상기 복수의 상담 종료 이력의 비율이 임계 비율 이상이면, 상기 복수의 상담 종료 이력에 기초하여 제1 사용자 질의를 식별하는 단계; 및
    상기 식별된 제1 사용자 질의와 유사한 제2 사용자 질의가 제1 임계 개수 이상이면, 상기 제1 사용자 질의에 대한 답변을 획득하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 획득된 답변에 기초하여 상기 제1 사용자 질의에 대한 대화 형태의 시나리오를 획득하는 단계; 및
    상기 획득된 시나리오를 저장하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 사용자 질의와 유사도가 임계 값 이상인 질의를 포함하는 상담이 개시되면, 상기 획득된 시나리오에 기초하여 상담을 수행하는 단계;를 더 포함하는, 제어 방법.
  14. 제11항에 있어서,
    상기 복수의 상담 종료 이력을 식별하는 단계는,
    상기 복수의 상담 이력 중 기 설정된 이전 시간 구간 동안의 복수의 상담 이력 및 상기 기 설정된 이전 시간 구간 동안의 복수의 상담 종료 이력을 식별하고,
    상기 제1 사용자 질의를 식별하는 단계는,
    상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 이력에 대한 상기 기 설정된 이전 시간 구간 동안 식별된 복수의 상담 종료 이력의 비율이 상기 임계 비율 이상인지 식별하는, 제어 방법.
  15. 제11항에 있어서,
    상기 제1 사용자 질의를 식별하는 단계는,
    상기 복수의 상담 종료 이력에 포함된 사용자 질의들에서 복수의 키워드를 식별하고,
    상기 복수의 키워드 각각의 개수에 기초하여 기 설정된 개수의 키워드들을 식별하고,
    상기 식별된 키워드들 각각의 개수가 제2 임계 개수 이상이면, 상기 복수의 상담 종료 이력 중 상기 식별된 키워드들을 가장 많이 포함하는 이력에 포함된 사용자 질의를 상기 제1 사용자 질의로 식별하는, 제어 방법.
PCT/KR2022/011941 2021-12-20 2022-08-10 전자 장치 및 그 제어 방법 WO2023120861A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/076,625 US20230197211A1 (en) 2021-12-20 2022-12-07 Electronic apparatus and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210183173A KR20230094032A (ko) 2021-12-20 2021-12-20 전자 장치 및 그 제어 방법
KR10-2021-0183173 2021-12-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/076,625 Continuation US20230197211A1 (en) 2021-12-20 2022-12-07 Electronic apparatus and control method thereof

Publications (1)

Publication Number Publication Date
WO2023120861A1 true WO2023120861A1 (ko) 2023-06-29

Family

ID=86902772

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/011941 WO2023120861A1 (ko) 2021-12-20 2022-08-10 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230094032A (ko)
WO (1) WO2023120861A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190059731A (ko) * 2017-11-23 2019-05-31 주식회사 케이티 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
KR20190097947A (ko) * 2018-02-13 2019-08-21 주식회사 케이티 사용자 질의를 처리하는 장치, 방법 및 컴퓨터 프로그램
KR102047385B1 (ko) * 2018-09-21 2019-11-21 삼성생명보험주식회사 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체
KR20200013843A (ko) * 2018-07-31 2020-02-10 (주)다음소프트 챗봇 기반의 제품 매뉴얼 제공 시스템 및 그 방법
KR20200032893A (ko) * 2018-09-19 2020-03-27 좌우지간 주식회사 챗봇 서비스를 위한 커뮤니케이션 정보 처리 시스템 및 그 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190059731A (ko) * 2017-11-23 2019-05-31 주식회사 케이티 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
KR20190097947A (ko) * 2018-02-13 2019-08-21 주식회사 케이티 사용자 질의를 처리하는 장치, 방법 및 컴퓨터 프로그램
KR20200013843A (ko) * 2018-07-31 2020-02-10 (주)다음소프트 챗봇 기반의 제품 매뉴얼 제공 시스템 및 그 방법
KR20200032893A (ko) * 2018-09-19 2020-03-27 좌우지간 주식회사 챗봇 서비스를 위한 커뮤니케이션 정보 처리 시스템 및 그 제어 방법
KR102047385B1 (ko) * 2018-09-21 2019-11-21 삼성생명보험주식회사 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체

Also Published As

Publication number Publication date
KR20230094032A (ko) 2023-06-27

Similar Documents

Publication Publication Date Title
WO2020034526A1 (zh) 保险录音的质检方法、装置、设备和计算机存储介质
WO2021132927A1 (en) Computing device and method of classifying category of data
WO2018070780A1 (en) Electronic device and method for controlling the same
WO2019164140A1 (en) System for processing user utterance and controlling method thereof
WO2018034552A1 (en) Language translation device and language translation method
WO2020204655A1 (en) System and method for context-enriched attentive memory network with global and local encoding for dialogue breakdown detection
WO2020246702A1 (en) Electronic device and method for controlling the electronic device thereof
WO2019112342A1 (en) Voice recognition apparatus and operation method thereof cross-reference to related application
WO2020207035A1 (zh) 骚扰电话拦截方法、装置、设备及存储介质
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2020122653A1 (en) Electronic apparatus and controlling method thereof
WO2015005679A1 (ko) 음성 인식 방법, 장치 및 시스템
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2020017898A1 (en) Electronic apparatus and control method thereof
EP3834076A1 (en) Electronic device and control method thereof
WO2021010744A1 (ko) 음성 인식 기반의 세일즈 대화 분석 방법 및 장치
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2018174397A1 (ko) 전자 장치 및 제어 방법
WO2020190103A1 (en) Method and system for providing personalized multimodal objects in real time
WO2020096255A1 (en) Electronic apparatus and control method thereof
WO2020159140A1 (ko) 전자 장치 및 이의 제어 방법
WO2021071271A1 (en) Electronic apparatus and controlling method thereof
WO2021118229A1 (en) Information providing method and electronic device for supporting the same
WO2023120861A1 (ko) 전자 장치 및 그 제어 방법
WO2020060071A1 (en) Electronic apparatus and control method thereof

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

Country of ref document: EP

Kind code of ref document: A1