WO2019098409A1 - Machine learning based data adding device for chatbot - Google Patents

Machine learning based data adding device for chatbot Download PDF

Info

Publication number
WO2019098409A1
WO2019098409A1 PCT/KR2017/012984 KR2017012984W WO2019098409A1 WO 2019098409 A1 WO2019098409 A1 WO 2019098409A1 KR 2017012984 W KR2017012984 W KR 2017012984W WO 2019098409 A1 WO2019098409 A1 WO 2019098409A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
question
chatbot
additional
management unit
Prior art date
Application number
PCT/KR2017/012984
Other languages
French (fr)
Korean (ko)
Inventor
유승재
심병학
Original Assignee
(주)페르소나시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)페르소나시스템 filed Critical (주)페르소나시스템
Publication of WO2019098409A1 publication Critical patent/WO2019098409A1/en

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals

Definitions

  • the present invention relates to an apparatus for adding data required for driving a chatbot by machine learning. More particularly, the present invention relates to a device for self-generating and increasing the amount of query data as part of a method for increasing the recognition rate of a chatbot with respect to an incoming user query.
  • chatbot is an example of the use of artificial intelligence, and chatbots are being used in a variety of industries including social media, financial companies, and media companies.
  • Chatbot is an artificial intelligence (AI) -based program that provides a variety of information and solutions using text-based dialogue format and is implemented in messaging apps.
  • AI artificial intelligence
  • companies have provided chatting consulting services using chatbots instead of the existing ARS-based consulting services.
  • consulting services using chatbots there is an advantage in terms of labor cost reduction as well as a high satisfaction from customers who are burdened with ARS-type counseling services.
  • These chatbots are worth not only the consulting services but also the effective e-commerce and marketing channels.
  • the chatbot service On the other hand, the most important thing in operating such a chatbot service is how to accurately recognize the question and to find the corresponding answer. At this time, the amount of query data stored in the server operating the chatbot is absolutely influential in making accurate judgment of the query inputted from the user by the chatbot.
  • inquiries received on the conventional chatbot input method or the homepage are based on the natural language of the sentence form rather than a specific word combination.
  • the number of cases in which research and usage of verbs are varied, it is possible to express a wide variety of questions even if the questions have the same meaning.
  • the amount of data required to clearly recognize a specific sentence becomes very large.
  • the main way to increase the amount of question data was manually entering FAQ information manually. Accordingly, the conventional method is costly and time-consuming, and there is a problem that the amount of the question data is limited and the amount of the question data still required is not satisfied.
  • the present invention can generate the question data required for raising the question recognition rate of the chatbot based on the machine learning.
  • the present invention generates a question based on various data collected from an external server, so that not only a standard word but also a non-standard word type query can be generated.
  • the machine learning-based chatbot data adding apparatus includes a storage unit for storing an additional question generated from an analysis question and storing dictionary data, rule data and crawl data required for generating a further question, And a control unit for generating an additional question based on the machine learning from the analysis question, wherein the control unit is configured to execute an analysis query, And generates an additional query having the same meaning or expression as the analysis query based on at least one of data of dictionary data, grammar data and crawl data, and determines the similarity between the generated additional query and the analysis query If the similarity is within a predetermined range, A data management unit for storing in a storage unit and a chatbot for analyzing a user question input to the chatbot and performing analysis and response matching based on the question data including the generated additional question with respect to a user query to be analyzed, And a providing unit.
  • the present invention enables a server operator or a chatbot producing client to quickly generate and store additional questions having a meaning similar to a query as a reference even if the client does not input question data directly. Further, the present invention can generate additional questions using data crawled from web sites such as SNS as well as dictionary data, so that it can support not only standard words but also non-standard word queries.
  • FIG. 1 is a configuration diagram illustrating a network configuration performed by a chatbot device according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of a chatbot server according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an operation performed by a configuration of a chatbot server according to an embodiment of the present invention.
  • FIG. 4 is a flowchart showing a procedure of an additional question generation operation based on dictionary data according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a procedure of an additional query generation operation based on crawl data according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an operation of collecting question data from an external server according to an embodiment of the present invention.
  • a device may be a general device (or object) connected to a gateway and applied to the Internet of Things (IoT).
  • the device may be a wireless pager, a smart phone, a tablet PC, a computer, a temperature sensor, a humidity sensor, a sound sensor, a motion sensor, a proximity sensor, a gas sensor, a heat sensor, a refrigerator, , A lamp, a fire alarm, and the like.
  • IoT Internet of Things
  • devices herein may be interchanged with “devices” or “devices”, and “devices”, “devices” and “devices” may be described in the same language.
  • a service may include various services that can be performed in a device.
  • a service may include a service based on communication with a server or other device, and a service operable in the device. It is desirable that the service applied to the present disclosure be understood in broad terms to include various services that can be performed in the device in addition to the services described by way of example in this disclosure.
  • FIG. 1 is a configuration diagram illustrating a network configuration performed by a chatbot device according to an embodiment of the present invention.
  • a chatbox device (chatbot server) 100 can communicate with an external server 200 and an external user device 300, and the chatbox device 100 can communicate with the external server 200 or an external user device 300 The necessary information can be collected.
  • the chattel device 100 may mean a server that manages chatboxes and an electronic device that supports chatbox operations.
  • the chatbox device 100 may be named together with the chatbox server.
  • the external server 200 may be, for example, a business server using a chat service.
  • a chat service For example, an online business company, a call center, and a public institution may use a chatbot service. These companies use a chatbot to request a chatbot service to perform the consulting business and sales business can do.
  • a 'chatbox service client' for a company in order to distinguish between these companies and the users requesting consultation with respective companies, it is referred to as a 'chatbox service client' for a company, and a 'chatbox user' for a consultation requestor.
  • the chatbot service client can associate with the chatbot server 100 to provide counseling information that they have collected themselves. And the client of the chatbot service can transmit to the chatbot server 100 the business information required for the production of the chatbot and the options necessary for the production of the other chatbot.
  • the chat server 100 may periodically update the data required for operation of the chat bot based on the information received from the client.
  • FIG. 2 is a block diagram illustrating a configuration of a chatbot server according to an embodiment of the present invention.
  • the server 100 refers to an object capable of transmitting and receiving data with at least one other device through a wired or wireless communication environment.
  • the server 100 may further include a relay server and / or a client server .
  • An example of the server 100 is a cloud server, an IP Multimedia Subsystem (IMS) server, a telephony application server, an IM (Instant Messaging) server, a Media Gateway Control Function (MGCF) server, ) Server, and a CSCF (Call Session Control Function) server.
  • the server 100 is an apparatus that refers to an object capable of transmitting and receiving data, such as a PC (Personal Computer), a notebook computer, and a tablet PC .
  • the server 100 may include a communication unit 210, a storage unit 220, and a control unit 230.
  • the storage unit 220 may include question data 221, dictionary data 222, crawl data 223, reply data 224, Data can be stored.
  • the controller 230 can be designed to include a chatbot providing unit 231 and a data managing unit 232 according to an embodiment of the present invention.
  • the communication unit 210 can use a network for transmitting and receiving data between the client device 120 and the server 110, and the type of the network is not particularly limited.
  • the network may be, for example, an IP (Internet Protocol) network that provides a large capacity data transmission / reception service through an Internet Protocol (IP) or an All IP network that integrates different IP networks.
  • IP Internet Protocol
  • the network may be a mobile communication network including a wired network, a Wibro (Wireless Broadband) network, a mobile communication network including a WCDMA, a High Speed Downlink Packet Access (HSDPA) network and an LTE (Long Term Evolution) network, ), A 5G (Five Generation) mobile communication network, a satellite communication network, and a Wi-Fi network, or a combination of at least one of them.
  • Wibro Wireless Broadband
  • HSDPA High Speed Downlink Packet Access
  • LTE Long Term Evolution
  • the communication unit 210 may collect crawl data from the external server 200 according to an embodiment of the present invention.
  • the various information related to the production of the chatbot includes, for example, business information or personal information of the manufacturing client, usage of the chatbot (for example, consultation, entertainment and game, provision of professional information, provision of contents, shopping and advertisement, (For example, clothing items, household appliances, foods, travel goods, etc.) and items corresponding to selected items (for example, in the case of a counseling chatbot of an apparel shopping company, May be applicable).
  • the communication unit 210 can receive from the client device 120 information on messenger interworking settings (e.g., information on messenger type selection to be interlocked among various messenger candidates).
  • the communication unit 210 can receive the text message input in the IM input window when the corresponding chatbot is implemented on the messenger.
  • the communication unit 210 may transmit the response contents output as the result of the input text message to the device driven by the messenger.
  • the communication unit 210 may communicate with another device or another server to collect information for updating the chatbot after generating the chatbot.
  • the communication unit 210 may receive the content and chat information stored in the client device 120 in order to utilize it as a later update data, in accordance with various embodiments of the present invention.
  • the storage unit 220 may store commands and data required for operation of the chatbox, and may store additional questions generated by the data management unit 232 in the control unit and some data received from the external server and external user equipment. Specifically, the storage unit 220 may store the question data 221, the dictionary data 222, the crawl data 223, the answer data 224, the rule data 225, and the like.
  • the question data 221 may be updated based on frequent question (FAQ) data received from external servers.
  • the question data 221 may store additional questions generated by the operation performed by the data management unit 232 according to the embodiment of the present invention.
  • the question data 221 can be classified and stored according to the type and similarity of each question item. For example, each question stored in the question data 221 can be classified by the same group (cluster), and the coordinate values for the similarity of each question item in each cluster can be stored together.
  • an artificial intelligence based software engine such as a tensor flow can be used.
  • the dictionary data 222 may include information of words synonymous with a specific word.
  • the synonym is a concept including a thesaurus, and may include information about similar expressions, antonyms, and the like even if it is not a word.
  • the crawl data 223 may be scrap information or a list of URLs collected from the web or the like to generate another additional question within the certain similarity range for each question in the server 100.
  • the crawling data may be a target of a myriad of data.
  • the crawling data may be, for example, text information scraped from a specific page on the web, and may include data in various formats such as moving images and images.
  • the web page from which the crawl data is collected may be determined based on the frequency with which the query previously stored in the storage unit 220 is searched.
  • the crawling data may be collected from a general search engine, a moving picture and image providing server having a large data providing amount, and the like.
  • the crawling data can be collected in a way that preferentially searches the home page of the industry and related web pages.
  • the answer data 224 is data to be retrieved when an answer to a user question input to the chatbot is output. Since the answer data 224 needs to be matched with a specific question, each answer data item may include information on a question that can be matched. For example, each item of the question and answer data may be data that can be matched to each other, wherein the questions and answers corresponding to the same number (e.g., the relationship between the first and first answers match each other). Also, the answer data 224 may include pre-stored default answer data. The default answer data may include, for example, "question is not clear", "do you want to connect an agent?" And the like.
  • the answer data can also be updated.
  • the chat agent can directly answer questions that chatbots can not answer. In this case, certain phrases that are frequently answered by the agent by the agent can be stored as frequently used answers. have.
  • the server 100 may suggest registering as answer data for a specific phrase detected as a frequently used answer. If the client is approved by the chatbot service, the content may be added to the response data. In this way, the answer data can be updated with frequently used answer contents.
  • the rule data 225 may refer to grammar and morphological analysis related data required to perform natural language processing.
  • the grammatical data may be used to determine grammatical errors of additional questions generated by word substitution by dictionary data and additional questions generated by other methods.
  • the unanswered data may be data that collects queries for which no corresponding answer is found among the queries of the chatbot user.
  • chat history data may mean a chat history of a chatbot user and a chatbot, a chatbot user, and a conversation history of an agent. If the chatbot fails to output an appropriate answer to the question of the chatbot user, the agent can directly communicate with the chatbot user (client) in the instant messenger chat window.
  • the storage unit 220 stores the conversation history of the agent and the chatbot user at this time Can be stored.
  • the chat history data of chatbot users and chatbots can be used to detect the most frequently used questions of chatbot users.
  • the storage unit 220 may store data in various formats required for chatbot operation and update.
  • the controller 230 can control signals transmitted from the communication unit 210 of the server 100 and process data required for the overall operation of the server 100.
  • the control unit 230 may include a chatbot providing unit 231 and a data managing unit 232 according to an embodiment of the present invention.
  • the chatbox providing unit 231 may include a filtering unit 2311, a matching unit 2312, and an answer output unit 2313.
  • the filtering unit 2311 may perform an operation of filtering a user query inputted through a chat app (APP).
  • APP chat app
  • the data management unit 232 can perform learning, analysis and update of the chatbot. For example, the data management unit 232 can detect frequently used question lists and answer lists based on the conversation contents performed by the chatbots, and store them in the storage unit 220.
  • chatbot providing unit 231 and the data managing unit 232 will be described with reference to FIG.
  • FIG. 3 is a diagram illustrating an operation performed by a configuration of a chatbot server according to an embodiment of the present invention.
  • the chatbot unit 231 and the data management unit 232 shown in FIG. 3 belong to the control unit 230, and are all part of the server 110 including the storage unit 220 shown in the lower part of FIG.
  • the vertical lines and the speech bubbles shown in the left one area means a chat performed by the chatbot user and the chatbot and means that the time progresses from the top to the bottom.
  • the chatbot providing unit 231 performs a filtering and matching process on the inputted question when the chatbot user inputs a specific question, calculates a corresponding answer, and displays the calculated answer on the chat screen of the messenger To the output terminal.
  • the chatbot providing unit 231 may include a filtering unit 2311, a matching unit 2312, and an answer output unit 2313.
  • the filtering unit 2311 can classify the user's question into a question that can be immediately answered according to a predetermined criterion, a question requiring analysis, and the like. For example, the filtering unit 2311 can determine whether the input query is a question about security, a question involving a profanity, an inappropriate word for a query, or an inappropriate query for an answer.
  • the criterion for the query term may be established based on the stored data in the storage unit 220 of the server.
  • the filtering unit 2311 may classify the query into a questionable answer (profanity) if the word corresponding to the previously stored profanity data is included in the user query.
  • the filtering unit 2311 can immediately transmit a signal through the answer output unit 2313 to output an answer corresponding to the profanity question (e.g., not a correct question).
  • the filtering unit 2311 can immediately output an answer through the answer output unit 2313 without a separate question analysis, when a question existing in the pre-stored question data 221 is inputted.
  • the filtering unit 2311 determines that the input query value analysis is a required query
  • the filtering unit 2311 can control the matching unit 2312 to process the query.
  • the matching unit 2312 may perform processing for a user query that is not stored in the question data 221. [ In this case, a process of analyzing the inputted user question may be required.
  • the analysis method there are a method of performing natural language processing by morphological analysis (system rule) and a method of using AI (AI rule) You can use one method to analyze the question.
  • the filtering unit 2311 corresponds to the function of filtering the input of the emotional region
  • the matching unit may correspond to the matching of the input of the expert region. Since the matching unit 2312 can use the web during question analysis, the matching unit 2312 can support multilingual translation using a web-based translation system. Since the question analysis method is mostly performed in the chatbot using AI, a detailed description will be omitted.
  • the answer output unit 2313 After the question is analyzed, the answer output unit 2313 performs an operation of matching the answer to the question, and the calculated answer content can be displayed on the messenger chat screen. In this way, the chatbot user can keep various conversations with the chatbot, and the chatbot can record the conversation history with the chatbot user in the storage unit 220. [ At this time, the conversation contents recorded in the storage unit 220 by the server 100 may be extracted and recorded as the question data and the answer data, and the server 100 may separately store the questions not answered by the chatbot.
  • the data management unit 232 may collect the contents of the conversation performed when the chatbot and the chatbot generated by the chatbot user are in the watching mode, and may separately store the contents of the conversation in the storage unit 220. [ Also, the data management unit 232 may control to separately store the question in the case where the chatbot fails to answer, as the unanswered data.
  • the data management unit 232 can control the machine learning based on the data stored in the storage unit 220 and the data downloaded through communication with the web servers.
  • the machine learning refers to a method of causing a computer to create a new algorithm on its own based on data. Deep learning may be performed by the data management unit 232 as an area of the machine learning.
  • the data management unit 232 may generate new data based on the machine learning and the deep learning.
  • the data management unit 232 can control to collect various kinds of information. For example, the data management unit 232 may perform a function of automatically analyzing the YouTube video to find a specific image requested by the user. In addition, the data management unit 232 may process information received from a server of a third party and an organization to extract frequent question (FAQ) information. In addition, the data management unit 232 may perform image determination and sound determination using content stored in the storage unit 220 and content published on the web, and may store the analysis data calculated through the process in the storage unit 220 again.
  • FAQ frequent question
  • the data management unit 232 may extract information related to a rule for generating question data.
  • the data management unit 232 can generate an additional question having the same meaning as the specific question (analysis question) inputted.
  • the analysis question as a source for generating the additional question by the data management unit 232 may be data input from the operator of the server 100, or when the question data stored in the storage unit 220 in the server 100 itself satisfies a specific value
  • the question data may be automatically set as a question for analysis. For example, when the data management unit 232 determines that new unanswered data is stored in the storage unit 220, the data management unit 232 may set the unanswered data as an analysis question, and then generate a similar additional question.
  • the data management unit 232 selects the question data having the smallest cluster data out of the unanswered data and the question data including at least one common word (including synonyms) Assuming that questions A and B contain common words, assuming that the amount of similar question data in A is 100 and B is 200, A can be selected as the analytical question by giving priority to A). In addition, in response to various conditions, the data management unit 232 can select an analysis question and generate additional questions on its own.
  • the data management unit 232 may generate an additional question having similarity within a certain range with the analysis question.
  • the data management unit 232 can extract a word first in the analysis question.
  • the data management unit 232 may replace the extracted words with synonyms or synonyms.
  • the synonyms and synonyms may be determined based on dictionary data 222 in storage 220.
  • the dictionary data may also store synonyms and synonyms as well as antonyms and frequently incorrect expressions. Further, the dictionary data may be set by setting information about the degree of similarity of each word as coordinate data (for example, setting a word having the same meaning as a closest coordinate, and setting a coordinate so as to have a longer distance).
  • the operation of measuring and storing the degree of similarity by setting the coordinate values may be performed by the learning module 2321 in the data management unit 232. [
  • the data management unit 232 may generate a new question by replacing the extracted word with a synonym. Functions related to generation of the additional query can be performed in the analysis module 2322 in the data management unit 232.
  • the analysis module 2322 may perform question analysis and rule analysis.
  • the data management unit 232 can determine a grammatical error of the additional question if an additional question is generated by word substitution.
  • the data management unit 232 may change other sentence components except for the substituted word according to the grammatical error, and may add the sentence to the question data 221 with respect to the sentence whose grammatical error is not found.
  • the data management unit 232 may update the rule by the update module 2323.
  • the rule at this time is a concept including grammatical data. That is, the update module 2323 can update the rule data including the grammar based on the external web server, the SNS, and the data stored in the storage unit 220.
  • the update module 2323 can extract grammatical common denominators by analyzing sentences written in papers, books, SNS, etc. through analysis of big data. In particular, based on the articles posted on SNS and community websites, the grammar rules of non- Can be extracted.
  • the data management unit 232 can determine a grammatical error based on grammar data in the rule data updated by the update module 2323 and stored in the rule data 225.
  • the data manager 232 may generate an additional query based on the crawled data by the analysis module 2322.
  • the data management unit 232 extracts some words from the analytical question and then determines the industry information in which the corresponding word is searched or the word is mainly used and determines whether or not the industry information (for example, clothing shopping, a public agency, . Then, the data management unit 232 can collect crawl data (scrap information, URL list, etc.) from the preferentially selected web sites.
  • crawling means extracting valid data from a vast amount of data. Therefore, the crawling data may be not only the entire web page (including the SNS), the web site address, but also sentence data having a sentence format similar to the analysis question among a plurality of sentences existing in the web page have.
  • the crawling data may include sentences including words in synonymy with words included in the analysis question. Also, the crawling data may include sound, image, and moving picture information related to the meaning of the core word included in the analysis question.
  • the collected crawl data may be used by the data manager 232 to generate additional queries. If the dictionary data 222 were used to generate additional questions in the standard language domain, the crawl data 223 could be used to generate additional questions in the non-standard domain similar to the analytical query. That is, the data management unit 232 may generate the additional query of the non-standard word region for the analysis question using the crawl data 223. Accordingly, the data management unit 232 can generate additional questions in both the standard language region and the non-standard language region from the analytical question. In addition, the data management unit 232 can determine whether there is a grammatical error even for the additional question generated based on the crawl data 223. If there is a grammatical error, the data management unit 232 can correct the error, have.
  • the data management unit 232 may perform similarity determination on the additional questions generated according to various embodiments.
  • the data management unit 232 can perform artificial intelligence data processing by a machine learning engine (e.g., tensor flow).
  • the data management unit 232 can analyze the similarity of each sentence based on crawling data and various previously stored data, and can quantify (e.g., set coordinate values) the degree of similarity between the sentences.
  • the data management unit 232 may set the separation distance to one level in the case of similarity in the level where the words are the same and the utilization of the verb is different only, and there is no problem in deriving the same answer, The use of verbs is different, but if the degree of similarity is not problematic in deriving the same answer, the separation distance can be set to two levels. In this case, the distance between the first stage and the second stage is shorter than the second stage.
  • the coordinate values for each sentence given by the data management unit 232 may include not only coordinate values on a two-dimensional plane but also three-dimensional coordinate values having X, Y, and Z values.
  • the coordinate values given to each sentence by the data management unit 232 are not fixed, and they can be changed according to the relationship between the update and the sentence to be added. As the additional question is continuously generated, the amount of the question data in the storage unit 220 can be increased, so that the coordinate value of each question sentence can be changed more finely.
  • the data management unit 232 can set the cluster based on the coordinate value information given to each question sentence and the user's setting (the user manually inputs the CS data to group specific sentences into one group and designate the same meaning) .
  • the data management unit 232 can determine the degree of similarity between the questions based on the coordinate value assigned to each of the question data 221.
  • FIG. 4 is a flowchart showing a procedure of an additional question generation operation based on dictionary data according to an embodiment of the present invention.
  • the data management unit 232 of the server 100 may perform an operation 401 for determining an input of a query for analysis.
  • the analysis question may be data directly inputted by the operator of the server 100.
  • the analytical query may be input by directly typing or inputting a previously created data file by the server 100 operator.
  • the analysis question may be set to the question items satisfying predetermined conditions among the question data previously stored in the storage unit 220.
  • the data management unit 232 may perform an operation for selecting an analysis question among the stored query data in the storage unit 220. In this case, If the question item satisfying the predetermined condition is detected, the data management unit 232 may select the question item as an analysis question, and then perform the operation after the operation of 401.
  • the data management unit 232 may perform an operation 405 of generating an additional question by extracting a word from the analysis question and replacing the extracted word with a synonym.
  • the synonyms include synonyms and the like, and the synonyms may be information existing in the dictionary data 222 stored in the storage unit 220. If it is determined that the synonym information corresponding to the extracted word does not exist in the storage unit 220 according to various embodiments, the data management unit 232 may access the web and search for and use dictionary information such as synonyms.
  • the data management unit 232 assigns weights to the core words among the extracted words, and changes the word replacement probability according to the weighting level of each word,
  • the additional word can be generated by setting the word substitution probability to a lower value.
  • the key word may be set based on the industry classification of the chatbot company (which may be set to a word which is more than a preset probability on the homepage of the industry). For example, in the case of a chatbot used by a shopping mall company, related words such as 'order', 'delivery', 'exchange', and the like may be set as key words in the question data of the corresponding chatbot.
  • the data manager 232 may then perform a 411 operation to determine a grammar for the additional query generated by operation 405.
  • the grammar-related information may be included in the rule data 225 stored in the storage unit 220.
  • the operation 411 of determining the grammar may correspond to an operation of determining the type of grammar to be applied to the generated additional question.
  • the data manager 232 may perform an operation 415 of determining whether there is a grammatical error in the generated additional query. If there is no grammatical error, the data manager 232 may lead to a 425 operation phase. However, if it is determined that there is a grammatical error, the data management unit 232 may perform the operation 421 of correcting the grammar error of the additional question based on the grammar information.
  • the data management unit 232 may perform an operation 425 for determining whether the similarity between the generated additional query and the analytical query input is within a predetermined range. If the similarity is within the predetermined range, the data management unit 232 may perform an operation 431 of storing the additional query as new query data in the storage unit 220. On the other hand, if it is determined that the similarity is out of the predetermined range as a result of the operation 425, the data manager 232 may perform operation 435 for deleting the generated additional query.
  • FIG. 5 is a flowchart illustrating a procedure of an additional query generation operation based on crawl data according to an embodiment of the present invention.
  • the data management unit 232 can perform an operation 501 to determine that an analysis question is input.
  • the analytical questions in the 501 action may be entered or selected in the same manner as in the 401 action.
  • the analytical query may correspond to an additional question stored in operation 431 of FIG. That is, the operation performed in FIG. 5 according to various embodiments may be performed following the operation shown in FIG.
  • the data management unit 232 may extract a word from the input analysis question and perform an operation 505 for connecting to the word related web (including the SNS). The data management unit 232 may then perform an operation 511 of collecting crawl data from the related web. Then, the data management unit 232 can perform an operation 515 for analyzing words and grammar of the non-standard word region by the crawled data.
  • the crawl data collected by the data management unit 232 may be temporarily or permanently stored in the storage unit 220, and the synonym and grammar information may be updated using the crawled data.
  • the data manager 232 may then perform an operation 521 to generate an additional query based on the analyzed word and grammar from the crawled data. After the operation 521, the data management unit 232 may perform an operation 525 for determining whether the similarity between the generated additional query and the analysis query is within a predetermined range. If it is determined that the similarity is within the predetermined range as a result of the operation 525, the data manager 232 may perform an operation 531 for storing an additional query. On the other hand, if the similarity is not within the predetermined range, the data management unit 232 may perform the operation 535 for deleting the generated additional query.
  • the query and analysis questions added to the storage unit 220 may be input in various ways. The operation of interlocking with an external server and receiving an additional question will be described with reference to FIG.
  • FIG. 6 is a diagram illustrating an operation of collecting question data from an external server according to an embodiment of the present invention.
  • 610, 620 and 630 illustrate the receipt of a question or complaint from a consumer or a complainant.
  • 610 shows that a question is received from customers on an online business company homepage.
  • the customer questions recorded on the company homepage shown at 610 can be transmitted to the server 100 of the present invention in addition to the case where they are answered by the chatbot as well as when they are directly answered by the counselor.
  • the server 100 of the present invention may be affiliated with the servers of the vendors and the organizations shown in 610, 620, 630, or the companies and organizations shown in the above 610, 620, 630 may be provided by the server 100 of the present invention It may be the customer who uses the chatbot service. Therefore, according to various embodiments, a company using a chat service and an institution-side server can automatically transmit a received question item to the server 100 of the present invention.
  • the question information collected from the servers of the external vendors 610, 620, and 630 may be transmitted to the chat server 100 of the present invention.
  • the server 100 may perform operations to collect customer information 645, performance management data 647, and FAQ (Frequently Asked Questions) management data 649 through step 641 of collecting real-time information and step 643 of data analysis. Then, the server 100 may store the customer information 645, the performance management data 647, and the FAQ management data 649 in the storage unit 220 and utilize it when generating a new additional question.
  • the server 100 selects frequent questions according to the age, sex, and question registration method of the customer based on the common question type information and the customer information according to the business fields, and frequently asked questions according to the business type of the chatbot company, based on the collected information, . Thereafter, the server 100 may select the selected frequent question as an analysis question to generate an additional question by type.
  • the server 100 serves as a chatbot providing server, it can store the chat history performed by the chatbot. Accordingly, the server 100 can store not only the chat history between the chatbot and the chatbot user but also the chat history that the agent answers instead of the chatbot only when the chatbot fails to respond.
  • the server 100 may store a conversation history between the agent and the chatbot user, which is performed in a state where the chatbot is in a watching mode (a state in which the chatbot is set to not answer). At this time, the server 100 may store the agent response by user question on the storage unit as conversation data based on the conversation history. The server 100 may update question data and answer data based on stored chat history data, and may store association weights for at least two or more consecutive questions in the chat data.
  • the server 100 may assign relevance weights to questions having hysteresis in which the same answer is selected by the agent based on the chat history input to the chatbot.
  • the server 100 assigns coordinate data to the question data stored in the storage unit 220 for each question, sets coordinate data closely to at least two or more questions to which the association weight is assigned, So that the degree of similarity between the questions can be determined.
  • the degree of similarity can be used for grasping the meaning of the user question inputted to the chatbot in the future.

Abstract

The present invention relates to a device for adding data required for driving a chatbot by machine learning. More particularly, the present invention relates to a device for autonomously generating and increasing the amount of question data as part of a method for increasing the recognition rate of the chatbot with respect to an input user question.

Description

머신 러닝 기반의 챗봇용 데이터 추가 장치Machine learning based chat bot data adding device
본 발명은 챗봇 구동에 요구되는 데이터를 머신 러닝에 의해 추가하는 장치에 관한 것이다. 보다 상세하게는, 본 발명은 입력되는 사용자 질문에 대한 챗봇의 인식률을 높이기 위한 방법의 일환으로 질문 데이터의 양을 자체적으로 생성하여 증가시키는 장치에 관한 것이다.The present invention relates to an apparatus for adding data required for driving a chatbot by machine learning. More particularly, the present invention relates to a device for self-generating and increasing the amount of query data as part of a method for increasing the recognition rate of a chatbot with respect to an incoming user query.
최근 다양한 업계에서 인공지능(AI)의 활용사례가 늘고 있다. 인공지능의 활용사례로는 챗봇이 그 대표적인 예이며, 챗봇은 소셜미디어, 금융사, 언론사 등 다양한 업계에서 활용도가 늘고 있다. 챗봇은 텍스트를 이용한 대화 형식을 이용해 다양한 정보 및 솔루션을 제공하는 인공지능(AI) 기반의 프로그램으로 메시징 앱에서 구현된다. 이에 따라 기업체들은 기존의 ARS 방식의 상담 서비스 대신 챗봇을 이용한 채팅형 상담 서비스를 제공하기에 이르렀다. 챗봇을 이용하는 상담 서비스의 경우, 인건비 절감의 측면에서도 이점이 있으며 그 뿐 아니라 ARS 방식의 상담서비스를 부담스러워하는 고객들로부터 만족도가 높게 평가되는 이점이 있다. 이러한 챗봇은 상담 서비스 뿐 아니라 효율적인 e-커머스와 마케팅 채널의 측면에서도 그 활용가치가 무궁하다. Recently, the use of artificial intelligence (AI) has been increasing in various industries. Chatbot is an example of the use of artificial intelligence, and chatbots are being used in a variety of industries including social media, financial companies, and media companies. Chatbot is an artificial intelligence (AI) -based program that provides a variety of information and solutions using text-based dialogue format and is implemented in messaging apps. As a result, companies have provided chatting consulting services using chatbots instead of the existing ARS-based consulting services. In the case of consulting services using chatbots, there is an advantage in terms of labor cost reduction as well as a high satisfaction from customers who are burdened with ARS-type counseling services. These chatbots are worth not only the consulting services but also the effective e-commerce and marketing channels.
한편, 이러한 챗봇 서비스를 운영하는 데 있어, 가장 중요한 점은 얼마나 질문을 정확하게 인식하고 그에 대응하는 답변을 도출하느냐이다. 이 때 챗봇이 사용자로부터 입력된 질문에 대하여 정확한 판단을 하는데 있어서 챗봇을 운영하는 서버 내 보유 질문데이터의 양이 절대적으로 영향을 미친다. On the other hand, the most important thing in operating such a chatbot service is how to accurately recognize the question and to find the corresponding answer. At this time, the amount of query data stored in the server operating the chatbot is absolutely influential in making accurate judgment of the query inputted from the user by the chatbot.
한편, 기존의 챗봇 입력 방식 또는 홈페이지 상에서 접수받는 문의사항은 대부분 특정 단어 조합이 아닌, 문장형태의 자연어를 기반으로 한다. 이에 따라 조사, 동사의 활용 등이 달라지는 경우의 수를 모두 합하면 동일한 의미의 질문이라 하더라도 매우 다양한 방식의 표현이 가능하다. 이에 따라 특정 문장을 명확히 인식하기 위한 데이터의 양도 매우 방대해질 수밖에 없다. 그러나 질문 데이터의 양을 증가시키는 주요 방식은 사람이 직접 FAQ 정보를 수동으로 입력하는 것이었다. 이에 따라, 기존의 방식은 비용과 시간이 소요되며, 그 뿐 아니라 질문 데이터의 증가량에 한계가 있어 여전히 요구되는 질문 데이터의 양을 충족시키지 못한다는 문제가 있었다. On the other hand, inquiries received on the conventional chatbot input method or the homepage are based on the natural language of the sentence form rather than a specific word combination. Thus, if the number of cases in which research and usage of verbs are varied, it is possible to express a wide variety of questions even if the questions have the same meaning. As a result, the amount of data required to clearly recognize a specific sentence becomes very large. However, the main way to increase the amount of question data was manually entering FAQ information manually. Accordingly, the conventional method is costly and time-consuming, and there is a problem that the amount of the question data is limited and the amount of the question data still required is not satisfied.
한편 이러한 챗봇 관련 특허로는 공개특허공보 10-2017-0103586(메신저 서비스를 이용한 인공지능 학습 방법 및 시스템, 그리고 인공지능을 이용한 답변 중계 방법 및 시스템)이 있다.On the other hand, patents related to this chatbot are disclosed in Korean Patent Publication No. 10-2017-0103586 (artificial intelligence learning method and system using messenger service, and answer relay method and system using artificial intelligence).
본 발명은 챗봇의 질문 인식률을 높이기 위하여 요구되는 질문 데이터를 머신 러닝을 기반으로 자체적으로 생성할 수 있다. 또한 본 발명은 외부 서버로부터 수집되는 다양한 데이터에 기반하여 질문을 생성하므로 표준어 뿐 아니라 비표준어 방식의 질문도 생성할 수 있다.The present invention can generate the question data required for raising the question recognition rate of the chatbot based on the machine learning. In addition, the present invention generates a question based on various data collected from an external server, so that not only a standard word but also a non-standard word type query can be generated.
본 발명의 실시 예에 따른 머신 러닝 기반의 챗봇용 데이터 추가 장치는 분석용 질문으로부터 생성된 추가 질문을 저장하고, 추가 질문 생성에 요구되는 사전 데이터, 룰 데이터 및 크롤링 데이터를 저장하는 저장부, 상기 분석용 질문으로부터 추가 질문 생성을 위한 머신 러닝에 요구되는 정보를 웹 서버로부터 수신하는 통신부 및 상기 분석용 질문으로부터 머신 러닝을 기반으로 추가 질문을 생성하는 제어부를 포함하되, 상기 제어부는 분석용 질문이 입력되면 상기 분석용 질문과 동일한 의미이나 표현이 다른 추가 질문을 사전데이터, 문법 데이터 및 크롤링 데이터 중 적어도 하나의 데이터에 기반하여 생성하며, 상기 생성된 추가 질문과 상기 분석용 질문간의 유사도를 판단하여 유사도가 기 설정된 범위 이내이면, 상기 생성된 추가 질문을 상기 저장부에 저장하는 데이터 관리부 및 챗봇에 입력되는 사용자 질문에 대하여 분석 여부를 판단하고, 분석이 요청되는 사용자 질문에 대하여 상기 생성된 추가 질문을 포함한 질문 데이터에 기반하여 분석 및 답변 매칭을 수행하는 챗봇 제공부를 포함할 수 있다.The machine learning-based chatbot data adding apparatus according to an embodiment of the present invention includes a storage unit for storing an additional question generated from an analysis question and storing dictionary data, rule data and crawl data required for generating a further question, And a control unit for generating an additional question based on the machine learning from the analysis question, wherein the control unit is configured to execute an analysis query, And generates an additional query having the same meaning or expression as the analysis query based on at least one of data of dictionary data, grammar data and crawl data, and determines the similarity between the generated additional query and the analysis query If the similarity is within a predetermined range, A data management unit for storing in a storage unit and a chatbot for analyzing a user question input to the chatbot and performing analysis and response matching based on the question data including the generated additional question with respect to a user query to be analyzed, And a providing unit.
본 발명은 서버 운영자 또는 챗봇 제작 의뢰인이 직접 질문 데이터를 입력하지 않더라도 자체적으로 기준이 되는 질문과 유사한 의미를 갖는 추가 질문을 빠른 속도로 생성하여 저장할 수 있다. 또한 본 발명은 사전 데이터 뿐 아니라 SNS 등의 웹 사이트로부터 크롤링 된 데이터를 이용하여 추가 질문을 생성할 수 있으므로 표준어뿐 아니라 비표준어 방식의 질문을 모두 인식할 수 있도록 지원할 수 있다.The present invention enables a server operator or a chatbot producing client to quickly generate and store additional questions having a meaning similar to a query as a reference even if the client does not input question data directly. Further, the present invention can generate additional questions using data crawled from web sites such as SNS as well as dictionary data, so that it can support not only standard words but also non-standard word queries.
도 1은 본 발명의 일 실시예에 따른 챗봇 장치가 수행하는 네트워크 구성을 나타낸 구성도이다.FIG. 1 is a configuration diagram illustrating a network configuration performed by a chatbot device according to an embodiment of the present invention.
도 2는 본 발명의 실시 예에 따른 챗봇 서버의 구성을 도시한 블록도이다. 2 is a block diagram illustrating a configuration of a chatbot server according to an embodiment of the present invention.
도 3은 본 발명의 실시 예에 따른 챗봇 서버의 구성별 수행 동작에 대하여 도시하는 도면이다. FIG. 3 is a diagram illustrating an operation performed by a configuration of a chatbot server according to an embodiment of the present invention.
도 4는 본 발명의 실시 예에 따른 사전데이터에 기반한 추가 질문 생성 동작의 순서를 도시한 순서도이다. 4 is a flowchart showing a procedure of an additional question generation operation based on dictionary data according to an embodiment of the present invention.
도 5는 본 발명의 실시 예에 따른 크롤링 데이터에 기반한 추가 질문 생성 동 작의 순서를 도시한 순서도이다. FIG. 5 is a flowchart illustrating a procedure of an additional query generation operation based on crawl data according to an embodiment of the present invention.
도 6은 본 발명의 실시 예에 따른 외부 서버로부터 질문 데이터를 수집하는 동작에 관하여 도시한 도면이다.6 is a diagram illustrating an operation of collecting question data from an external server according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
또한, 본 명세서에서, 디바이스는 게이트웨이(gateway)에 연결되어 IoT(Internet of Things)에 적용되는 일반적인 장치(또는 사물)일 수 있다. 예를 들어, 디바이스는, 무선 호출기, 스마트폰, 태블릿 PC, 컴퓨터, 온도 센서, 습도 센서, 음향 센서, 모션 센서, 근접 센서, 가스 감지 센서, 열 감지 센서, 냉장고, CCTV, TV, 세탁기, 제습기, 전등, 화재 경보기 등을 포함할 수 있다. 그러나, 이에 제한되지 않는다.Also, in this specification, a device may be a general device (or object) connected to a gateway and applied to the Internet of Things (IoT). For example, the device may be a wireless pager, a smart phone, a tablet PC, a computer, a temperature sensor, a humidity sensor, a sound sensor, a motion sensor, a proximity sensor, a gas sensor, a heat sensor, a refrigerator, , A lamp, a fire alarm, and the like. However, it is not limited thereto.
또한, 본 명세서에서 디바이스(device)는 “기기” 또는 “장치”와 혼용될 수 있으며, “디바이스”, “기기” 및 “장치”는 동일한 표현으로 기재되어 있을 수 있다.Also, devices herein may be interchanged with "devices" or "devices", and "devices", "devices" and "devices" may be described in the same language.
또한, 본 명세서에서, 서비스(service)는 디바이스에서 수행할 수 있는 다양한 서비스를 포함할 수 있다. 서비스는 서버 또는 타 디바이스와의 통신에 기초한 서비스, 디바이스 내에서 동작 가능한 서비스를 포함할 수 있다. 본 개시에 적용되는 서비스는 본 개시에 예로서 기재된 서비스 이외에도 디바이스에서 수행할 수 있는 다양한 서비스들을 포함하는 넓은 개념으로 이해함이 바람직하다.Also, in this specification, a service may include various services that can be performed in a device. A service may include a service based on communication with a server or other device, and a service operable in the device. It is desirable that the service applied to the present disclosure be understood in broad terms to include various services that can be performed in the device in addition to the services described by way of example in this disclosure.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same reference numerals will be used for the same constituent elements in the drawings, and redundant explanations for the same constituent elements will be omitted.
도 1은 본 발명의 일 실시예에 따른 챗봇 장치가 수행하는 네트워크 구성을 나타낸 구성도이다.FIG. 1 is a configuration diagram illustrating a network configuration performed by a chatbot device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 챗봇 장치(챗봇 서버) 100는 외부 서버 200 및 외부 사용자 디바이스 300와 통신할 수 있으며, 상기 챗봇 장치 100는 상기 외부 서버 200 또는 외부 사용자 디바이스 300로부터 필요한 정보를 수집할 수 있다. Referring to FIG. 1, a chatbox device (chatbot server) 100 according to an embodiment of the present invention can communicate with an external server 200 and an external user device 300, and the chatbox device 100 can communicate with the external server 200 or an external user device 300 The necessary information can be collected.
상기 챗봇 장치 100는 챗봇을 운용하는 서버 및 챗봇 운용을 지원하는 전자 디바이스를 의미할 수 있다. 이하에서 상기 챗봇 장치 100는 챗봇 서버로 함께 명명될 수 있다. The chattel device 100 may mean a server that manages chatboxes and an electronic device that supports chatbox operations. Hereinafter, the chatbox device 100 may be named together with the chatbox server.
그리고 상기 외부 서버 200는 예컨대, 챗봇 서비스를 이용하는 업체측 서버일 수 있다. 챗봇 서비스를 이용하는 업체로는 예컨대, 온라인 비즈니스 업체, 콜센터 및 공공기관 등이 있을 수 있으며, 이들 업체는 챗봇을 이용하여 각 업체들이 기존에 수행하던 상담 업무 및 판매 업무 등을 수행하도록 챗봇 서비스를 의뢰할 수 있다. 이하에서는 이들 업체와 각 업체에 상담을 요청하는 사용자를 구분하기 위해 업체측에 대하여는 '챗봇 서비스 의뢰인'이라 명명하기로 하고, 상담 요청자는 '챗봇 이용자'라고 명명하기로 한다. The external server 200 may be, for example, a business server using a chat service. For example, an online business company, a call center, and a public institution may use a chatbot service. These companies use a chatbot to request a chatbot service to perform the consulting business and sales business can do. Hereinafter, in order to distinguish between these companies and the users requesting consultation with respective companies, it is referred to as a 'chatbox service client' for a company, and a 'chatbox user' for a consultation requestor.
챗봇 서비스 의뢰인 측은 챗봇 서버 100와 연계되어 그들이 자체적으로 수집한 상담관련 정보를 제공할 수 있다. 그리고 챗봇 서비스 의뢰인 측은 챗봇 제작에 요구되는 업체 정보 및 기타 챗봇 제작에 필요한 선택사항을 챗봇 서버 100측에 전송할 수 있다. 그리고 상기 챗봇 서버 100는 챗봇 서비스 의뢰인측으로부터 수신된 정보들을 바탕으로 챗봇 운용에 요구되는 데이터를 주기적으로 업데이트할수 있다.The chatbot service client can associate with the chatbot server 100 to provide counseling information that they have collected themselves. And the client of the chatbot service can transmit to the chatbot server 100 the business information required for the production of the chatbot and the options necessary for the production of the other chatbot. The chat server 100 may periodically update the data required for operation of the chat bot based on the information received from the client.
상기 서버 100의 기능을 보다 상세하게 설명하기 위해 도 2를 참조하여 설명하기로 한다. The function of the server 100 will be described in more detail with reference to FIG.
도 2는 본 발명의 실시 예에 따른 챗봇 서버의 구성을 도시한 블록도이다. 2 is a block diagram illustrating a configuration of a chatbot server according to an embodiment of the present invention.
먼저, 상기 서버 100는 유선 또는 무선 통신 환경을 통해 적어도 하나 이상의 다른 장치와 데이터 송수신이 가능한 객체를 의미하며, 다양한 실시 예에 따라 상기 서버 100는 중계 서버 및/또는 클라이언트 서버를 더 포함할 수 있다. First, the server 100 refers to an object capable of transmitting and receiving data with at least one other device through a wired or wireless communication environment. According to various embodiments, the server 100 may further include a relay server and / or a client server .
또한, 상기 서버 100의 일예로 클라우드(Cloud) 서버, IMS(IP Multimedia Subsystem) 서버, 텔레포니 어플리케이션(Telephony Application) 서버, IM(Instant Messaging) 서버, MGCF(Media Gateway Control Function) 서버, MSG(Messaging Gateway) 서버, CSCF(Call Session Control Function) 서버를 포함할 수 있으며, 상기 서버 100는 PC(Personal Computer), 노트북 컴퓨터, 태블릿 PC(Tablet Personal Computer) 등 데이터를 송수신할 수 있는 객체를 지칭하는 장치로 구현될 수도 있다.An example of the server 100 is a cloud server, an IP Multimedia Subsystem (IMS) server, a telephony application server, an IM (Instant Messaging) server, a Media Gateway Control Function (MGCF) server, ) Server, and a CSCF (Call Session Control Function) server. The server 100 is an apparatus that refers to an object capable of transmitting and receiving data, such as a PC (Personal Computer), a notebook computer, and a tablet PC .
도 2를 참조하면, 서버 100는 통신부 210, 저장부 220 및 제어부 230를 포함할 수 있으며, 상기 저장부 220는 질문 데이터 221, 사전 데이터 222, 크롤링 데이터 223, 답변 데이터 224, 룰 데이터 225 등의 데이터를 저장할 수 있다. 그리고 상기 제어부 230는 본 발명의 실시 예에 따라 챗봇 제공부 231, 데이터 관리부 232를 포함하여 설계될 수 있다. 2, the server 100 may include a communication unit 210, a storage unit 220, and a control unit 230. The storage unit 220 may include question data 221, dictionary data 222, crawl data 223, reply data 224, Data can be stored. The controller 230 can be designed to include a chatbot providing unit 231 and a data managing unit 232 according to an embodiment of the present invention.
상기 통신부 210는 의뢰인 디바이스 120 와 서버 110간의 데이터 송수신을 위해 네트워크를 이용할 수 있으며 상기 네트워크의 종류는 특별히 제한되지 않는다. 상기 네트워크는 예를 들어, 인터넷 프로토콜(IP)을 통하여 대용량 데이터의 송수신 서비스를 제공하는 아이피(IP: Internet Protocol)망 또는 서로 다른 IP 망을 통합한 올 아이피(All IP) 망 일 수 있다. 또한, 상기 네트워크는 유선망, Wibro(Wireless Broadband)망, WCDMA를 포함하는 이동통신망, HSDPA(High Speed Downlink Packet Access)망 및 LTE(Long Term Evolution) 망을 포함하는 이동통신망, LTE advanced(LTE-A), 5G(Five Generation)를 포함하는 이동통신망, 위성 통신망 및 와이파이(Wi-Fi)망 중 하나 이거나 또는 이들 중 적어도 하나 이상을 결합하여 이루어질 수 있다.The communication unit 210 can use a network for transmitting and receiving data between the client device 120 and the server 110, and the type of the network is not particularly limited. The network may be, for example, an IP (Internet Protocol) network that provides a large capacity data transmission / reception service through an Internet Protocol (IP) or an All IP network that integrates different IP networks. The network may be a mobile communication network including a wired network, a Wibro (Wireless Broadband) network, a mobile communication network including a WCDMA, a High Speed Downlink Packet Access (HSDPA) network and an LTE (Long Term Evolution) network, ), A 5G (Five Generation) mobile communication network, a satellite communication network, and a Wi-Fi network, or a combination of at least one of them.
본 발명의 실시 예에 따른 상기 통신부 210는 외부 서버 200로부터 크롤링 데이터를 수집할 수 있다.  The communication unit 210 may collect crawl data from the external server 200 according to an embodiment of the present invention.
상기 챗봇 제작에 관련된 다양한 정보로는 예컨대, 제작 의뢰인의 업체 정보 또는 개인 정보, 챗봇의 용도(예컨대, 상담, 오락 및 게임, 전문 정보 제공, 컨텐츠 제공, 쇼핑 및 광고, 교육 등), 분야(예컨대, 쇼핑의 하위 항목으로써, 의류, 가전, 식품, 여행상품 등) 및 선택된 항목에 대응하는 질문별 답변 정보(예컨대, 의류 쇼핑 업체의 상담 챗봇의 경우, 해당 업체의 서비스 방침에 대한 질문 및 답변 정보가 해당될 수 있음)가 해당될 수 있다. 또한 상기 통신부 210는 의뢰인 디바이스 120로부터 메신저 연동 설정에 관한 정보(예, 다양한 메신저 후보 중 연동할 메신저 종류 선택에 관한 정보)를 수신할 수 있다. The various information related to the production of the chatbot includes, for example, business information or personal information of the manufacturing client, usage of the chatbot (for example, consultation, entertainment and game, provision of professional information, provision of contents, shopping and advertisement, (For example, clothing items, household appliances, foods, travel goods, etc.) and items corresponding to selected items (for example, in the case of a counseling chatbot of an apparel shopping company, May be applicable). Also, the communication unit 210 can receive from the client device 120 information on messenger interworking settings (e.g., information on messenger type selection to be interlocked among various messenger candidates).
또한 상기 통신부 210는 의뢰인이 요청한 방식에 의해 챗봇이 완성된 이후, 메신저 상에서 해당 챗봇이 구현될 시, 메신저 입력창에 입력되는 텍스트 메시지를 수신할 수 있다. 그리고 상기 통신부 210는 상기 입력되는 텍스트 메시지에 대한 결과 값으로 출력되는 답변 내용을 상기 메신저가 구동되는 디바이스 측에 전송할 수 있다. 이 외에도 상기 통신부 210는 챗봇 생성 이후 챗봇의 업데이트를 위한 정보 수집을 위해 타 디바이스 또는 타 서버와 통신을 수생할 수 있다. Also, after the chatbot is completed according to the method requested by the client, the communication unit 210 can receive the text message input in the IM input window when the corresponding chatbot is implemented on the messenger. The communication unit 210 may transmit the response contents output as the result of the input text message to the device driven by the messenger. In addition, the communication unit 210 may communicate with another device or another server to collect information for updating the chatbot after generating the chatbot.
그리고 상기 통신부 210는 본 발명의 다양한 실시 예에 따라 사용자의 동의하에 의뢰인 디바이스 120 내 저장된 콘텐츠 및 대화정보를 추후 업데이트 자료로 활용하기 위해 수신할 수 있다. In addition, the communication unit 210 may receive the content and chat information stored in the client device 120 in order to utilize it as a later update data, in accordance with various embodiments of the present invention.
상기 저장부 220는 챗봇 운용에 요구되는 명령 및 데이터를 저장할 수 있으며, 상기 제어부 내 데이터 관리부 232에서 생성된 추가 질문 및 외부 서버 및 외부 사용자 기기로부터 수신된 일부 데이터를 저장할 수 있다. 구체적으로, 상기 저장부 220는 질문 데이터 221, 사전 데이터 222, 크롤링 데이터 223, 답변 데이터 224, 룰 데이터 225 등을 포함하여 저장할 수 있다. The storage unit 220 may store commands and data required for operation of the chatbox, and may store additional questions generated by the data management unit 232 in the control unit and some data received from the external server and external user equipment. Specifically, the storage unit 220 may store the question data 221, the dictionary data 222, the crawl data 223, the answer data 224, the rule data 225, and the like.
상기 질문 데이터 221는 외부 서버들로부터 수신되는 빈번한 질문(FAQ) 데이터에 기반하여 업데이트될 수 있다. 또한 상기 질문 데이터 221에는 본 발명의 실시 예에 따른 데이터 관리부 232에서 수행한 동작에 의해 성성된 추가 질문이 저장될 수 있다. 그리고 이 때 상기 질문 데이터 221는 각 질문 항목의 유형 및 유사도에 따라 분류되어 저장될 수 있다. 예컨대, 상기 질문 데이터 221 내 저장되는 각 질문은 동일 군(군집) 별로 구분되어 저장될 수 있으며, 그리고 각 군집 내 질문 항목별 유사 정도를 의미하기 위한 좌표값이 함께 저장될 수 있다. 상기 좌표 값을 설정하기 위한 방법으로 예컨대, 텐서 플로우(TensorFlow)와 같은 인공지능 기반의 소프트웨어 엔진을 이용할 수 있다. The question data 221 may be updated based on frequent question (FAQ) data received from external servers. In addition, the question data 221 may store additional questions generated by the operation performed by the data management unit 232 according to the embodiment of the present invention. At this time, the question data 221 can be classified and stored according to the type and similarity of each question item. For example, each question stored in the question data 221 can be classified by the same group (cluster), and the coordinate values for the similarity of each question item in each cluster can be stored together. As a method for setting the coordinate value, an artificial intelligence based software engine such as a tensor flow can be used.
상기 사전 데이터 222는 특정 단어와 동의어 관계에 있는 단어들의 정보를 포함할 수 있다. 상기 동의어는 유의어를 포함하는 개념이며, 단어가 아니더라도 유사한 표현이나 반의어 등에 관한 정보도 포함할 수 있다. The dictionary data 222 may include information of words synonymous with a specific word. The synonym is a concept including a thesaurus, and may include information about similar expressions, antonyms, and the like even if it is not a word.
상기 크롤링 데이터 223는 서버 100에서 각 질문에 대한 일정 유사도 범위 내에 있는 또 다른 추가 질문을 생성하기 위해 웹 등으로부터 수집한 스크랩 정보또는 URL 리스트일 수 있다. 기본적으로 상기 크롤링 데이터는 무수히 많은 데이터들이 그 대상이 될 수 있으나, 일 실시 예에 따라 특정 웹 페이지 또는 SNS를 우선으로 하여 선별적으로 데이터를 수집할 수 있다. 상기 크롤링 데이터는 예컨대, 웹 상의 특정 페이지를 스크랩한 텍스트 정보일 수 있으며, 그 외에도 동영상 및 이미지 등의 다양한 포맷의 데이터를 모두 포함할 수 있다. 다양한 실시 예에 따라 상기 크롤링 데이터가 수집되는 웹 페이지는 상기 저장부 220에 기 저장된 질문이 검색되는 빈도 수에 기반하여 결정될 수 있다. 그밖에도 상기 크롤링 데이터는 데이터 제공량이 많은 일반 검색 엔진 및 동영상 및 이미지 제공 서버 등으로부터 수집될 수 있다. 또한 질문 내 핵심 단어가 일부 업계에서 주로 사용되는 용어일 경우, 상기 크롤링 데이터는 해당 업계의 홈페이지 및 관련 웹페이지들을 우선적으로 검색하는 방식으로 수집될 수 있다. The crawl data 223 may be scrap information or a list of URLs collected from the web or the like to generate another additional question within the certain similarity range for each question in the server 100. Basically, the crawling data may be a target of a myriad of data. However, according to an embodiment, it is possible to selectively collect data by prioritizing a specific web page or SNS. The crawling data may be, for example, text information scraped from a specific page on the web, and may include data in various formats such as moving images and images. According to various embodiments, the web page from which the crawl data is collected may be determined based on the frequency with which the query previously stored in the storage unit 220 is searched. In addition, the crawling data may be collected from a general search engine, a moving picture and image providing server having a large data providing amount, and the like. In addition, if the key word in the query is a term used mainly in some industries, the crawling data can be collected in a way that preferentially searches the home page of the industry and related web pages.
상기 답변 데이터 224는 챗봇에 입력되는 사용자 질문에 대한 답변을 출력할 시 검색되는 데이터이다. 상기 답변 데이터 224는 특정 질문과 매칭되어야 할 필요가 있으므로 각 답변 데이터 항목은 매칭가능한 질문에 대한 정보를 함께 포함할 수 있다. 예컨대, 질문 및 답변 데이터의 각 항목은 번호를 부여받고 동일한 번호에 해당하는 질문 및 답변(예, 1번 질문과 1번 답변은 서로 매칭되는 관계)은 서로 매칭가능한 데이터일 수 있다. 또한 상기 답변 데이터 224는 기 저장된 디폴트 답변 데이터를 포함할 수 있다. 상기 디폴트 답변 데이터는 예컨대, '질문이 명확하지 않습니다', '상담원을 연결하시겠습니까?' 등이 될 수 있다. The answer data 224 is data to be retrieved when an answer to a user question input to the chatbot is output. Since the answer data 224 needs to be matched with a specific question, each answer data item may include information on a question that can be matched. For example, each item of the question and answer data may be data that can be matched to each other, wherein the questions and answers corresponding to the same number (e.g., the relationship between the first and first answers match each other). Also, the answer data 224 may include pre-stored default answer data. The default answer data may include, for example, "question is not clear", "do you want to connect an agent?" And the like.
그리고 답변 데이터 또한 업데이트될 수 있다. 챗봇이 답변하지 못하는 질문 사항에 대하여 업체측 상담원이 직접 챗봇을 대신하여 답변할 수 있는데, 이 경우 상담원에 의해 특정 질문에 대하여 자주 답변되는 것으로 판단되는 특정 문구가 자주 사용되는 답변 내용으로 저장될 수 있다. 이를 위해 서버 100는 자주 사용되는 답변으로 검출되는 특정 문구에 대하여 답변 데이터로 등록할 것을 추전할 수 있다. 챗봇 서비스 의뢰인이 이를 승인하면 답변 데이터에 해당 내용이 추가될 수 있다. 이와 같은 방식에 의해 답변 데이터는 자주 사용되는 답변 내용으로 업데이트될 수 있다. The answer data can also be updated. The chat agent can directly answer questions that chatbots can not answer. In this case, certain phrases that are frequently answered by the agent by the agent can be stored as frequently used answers. have. To this end, the server 100 may suggest registering as answer data for a specific phrase detected as a frequently used answer. If the client is approved by the chatbot service, the content may be added to the response data. In this way, the answer data can be updated with frequently used answer contents.
그리고 룰 데이터 225는 자연어 처리를 수행하는데 요구되는 문법 및 형태소 분석 관련 데이터를 의미할 수 있다. 상기 문법 데이터는 사전 데이터에 의한 단어 치환으로 생성된 추가 질문 및 그 외의 방법으로 생성된 추가질문의 문법적 오류를 판단하는 데 사용될 수 있다. The rule data 225 may refer to grammar and morphological analysis related data required to perform natural language processing. The grammatical data may be used to determine grammatical errors of additional questions generated by word substitution by dictionary data and additional questions generated by other methods.
이 외에도 미답변 데이터(미도시)는 챗봇 이용자의 질의어(Query)들 중 대응하는 답변이 검색되지 않은 질문을 모아놓은 데이터일 수 있다. In addition, the unanswered data (not shown) may be data that collects queries for which no corresponding answer is found among the queries of the chatbot user.
또한 대화 내역 데이터(미도시)는 챗봇 이용자와 챗봇의 대화내역, 챗봇 이용자와 상담원의 대화 내역 등을 의미할 수 있다. 챗봇 이용자의 질문에 챗봇이 적절한 답변을 출력하지 못하는 경우, 상담원이 직접 해당 메신저 채팅창에서 챗봇 이용자(고객)과 대화할 수 있는데, 상기 저장부 220는 이 때의 상담원과 챗봇 이용자의 대화 내역을 저장할 수 있다. 그리고 챗봇 이용자와 챗봇의 대화내역 데이터는 챗봇 이용자들이 가장 자주 사용하는 질문 내역을 검출하는데 사용할 수 있다. In addition, chat history data (not shown) may mean a chat history of a chatbot user and a chatbot, a chatbot user, and a conversation history of an agent. If the chatbot fails to output an appropriate answer to the question of the chatbot user, the agent can directly communicate with the chatbot user (client) in the instant messenger chat window. The storage unit 220 stores the conversation history of the agent and the chatbot user at this time Can be stored. The chat history data of chatbot users and chatbots can be used to detect the most frequently used questions of chatbot users.
그리고 상기 저장부 220는 상기 언급된 데이터들 외에도 챗봇 운용 및 업데이트에 요구되는 다양한 포맷의 데이터를 저장할 수 있다.In addition to the above-mentioned data, the storage unit 220 may store data in various formats required for chatbot operation and update.
상기 제어부 230는 서버 100의 통신부 210에서 송신하는 신호를 제어할 수 있으며, 상기 서버 100의 전반적 구동에 요구되는 데이터를 처리할 수 있다. 상기 제어부 230는 본 발명의 실시 예에 따라 챗봇 제공부 231 및 데이터 관리부 232를 포함하여 구성될 수 있다. The controller 230 can control signals transmitted from the communication unit 210 of the server 100 and process data required for the overall operation of the server 100. The control unit 230 may include a chatbot providing unit 231 and a data managing unit 232 according to an embodiment of the present invention.
상기 챗봇 제공부 231는 필터링부 2311, 매칭부 2312, 답변 출력부 2313을 포함하여 구성될 수 있다. 상기 필터링부 2311는 챗봇 앱(APP)을 통해 입력된 사용자 질문을 필터링하는 동작을 수행할 수 있다.The chatbox providing unit 231 may include a filtering unit 2311, a matching unit 2312, and an answer output unit 2313. The filtering unit 2311 may perform an operation of filtering a user query inputted through a chat app (APP).
상기 데이터 관리부 232는 챗봇의 학습, 분석 및 업데이트를 수행할 수 있다. 상기 데이터 관리부 232는 예컨대, 챗봇에서 수행되는 대화 내용을 기반으로 자주 사용되는 질문 리스트와 답변 리스트를 검출하고 이를 저장부 220에 저장하도록 제어할 수 있다. The data management unit 232 can perform learning, analysis and update of the chatbot. For example, the data management unit 232 can detect frequently used question lists and answer lists based on the conversation contents performed by the chatbots, and store them in the storage unit 220.
그 외 상기 챗봇 제공부 231와 데이터 관리부 232에 대한 자세한 설명은 도 3을 참조하여 기술하기로 한다. The detailed description of the chatbot providing unit 231 and the data managing unit 232 will be described with reference to FIG.
도 3은 본 발명의 실시 예에 따른 챗봇 서버의 구성별 수행 동작에 대하여 도시하는 도면이다. FIG. 3 is a diagram illustrating an operation performed by a configuration of a chatbot server according to an embodiment of the present invention.
도 3에서 도시되는 챗봇 제공부 231과 데이터 관리부 232는 제어부 230에 속한 구성이고, 이는 도 3의 하단에 도시된 저장부 220를 포함하여 모두 서버 110의 일부이다. 좌측 일 영역에 도시된 세로줄 및 말풍선은 챗봇 이용자와 챗봇이 수행하는 채팅을 의미하며, 상단에서부터 하단의 방향으로 시간의 흐름이 진행되는 것을 의미한다. 상기 좌측 말풍선이 도시된 도면을 참조하면, 챗봇 제공부 231는 챗봇 이용자가 특정 질문을 입력하면 입력된 질문에 대하여 필터링 및 매칭 과정을 수행대응 답변을 산출하고, 산출된 답변을 메신저의 채팅화면 상에 출력하는 동작을 수행할 수 있다. The chatbot unit 231 and the data management unit 232 shown in FIG. 3 belong to the control unit 230, and are all part of the server 110 including the storage unit 220 shown in the lower part of FIG. The vertical lines and the speech bubbles shown in the left one area means a chat performed by the chatbot user and the chatbot and means that the time progresses from the top to the bottom. Referring to the drawing of the left speech bubble line, the chatbot providing unit 231 performs a filtering and matching process on the inputted question when the chatbot user inputs a specific question, calculates a corresponding answer, and displays the calculated answer on the chat screen of the messenger To the output terminal.
도 3에서 도시하는 챗봇 제공부 231의 기능을 보다 상세히 설명하면, 다음과 같다. 상기 챗봇 제공부 231는 필터링부 2311, 매칭부 2312, 답변 출력부 2313을 포함하여 구성될수 있다. The function of the chatbox providing unit 231 shown in FIG. 3 will be described in more detail as follows. The chatbot providing unit 231 may include a filtering unit 2311, a matching unit 2312, and an answer output unit 2313.
상기 필터링부 2311는 예컨대, 기 설정된 기준에 따라 즉시 응답 가능한 질문, 분석이 요구되는 질문 등으로 사용자 질문을 분류할 수 있다. 예컨대, 상기 필터링부 2311는 입력된 질의어가 보안에 대한 질문이거나, 비속어가 포함된 질문이거나, 질의어로 부적합한 일상어에 해당하거나, 답변을 검색하기에 부적합한 경우에 해당하는지 여부를 판단할 수 있다. 상기 질의어에 대한 판단 기준은 서버의 저장부 220 내 기저장된 데이터에 기반하여 수립될 수 있다. For example, the filtering unit 2311 can classify the user's question into a question that can be immediately answered according to a predetermined criterion, a question requiring analysis, and the like. For example, the filtering unit 2311 can determine whether the input query is a question about security, a question involving a profanity, an inappropriate word for a query, or an inappropriate query for an answer. The criterion for the query term may be established based on the stored data in the storage unit 220 of the server.
예컨대, 상기 필터링부 2311는 기 저장된 비속어 데이터에 대응하는 단어가 사용자 질문에 포함되어 있을 경우 해당 질문을 즉시 응답 가능한 질문(비속어)로 분류할 수 있다. 그리고 상기 필터링부 2311는 즉시 답변 출력부 2313를 통해 비속어 질문에 대응하는 답변(예, 올바른 질문이 아닙니다)을 출력하도록 신호를 전달할 수 있다. For example, the filtering unit 2311 may classify the query into a questionable answer (profanity) if the word corresponding to the previously stored profanity data is included in the user query. The filtering unit 2311 can immediately transmit a signal through the answer output unit 2313 to output an answer corresponding to the profanity question (e.g., not a correct question).
이 밖에도 상기 필터링부 2311은 기 저장된 질문 데이터 221에 존재하는 질문이 입력된 경우, 별도의 질문 분석 없이 즉시 답변 출력부 2313을 통해 답변을 매칭하여 출력할 수 있다. In addition, the filtering unit 2311 can immediately output an answer through the answer output unit 2313 without a separate question analysis, when a question existing in the pre-stored question data 221 is inputted.
한편, 상기 필터링부 2311는 입력된 질문가 분석이 요구되는 질문이라고 판단한 경우 해당 질문에 대하여 매칭부 2312에서 처리하도록 제어할 수 있다. 상기 매칭부 2312는 질문데이터 221에 기 저장되어 있지 않은 사용자 질문에 대한 처리를 수행할 수 있다. 이 경우 입력된 사용자 질문을 분석하는 과정이 요구될 수 있는데, 분석 방식으로는 형태소 분석에 의해 자연어 처리를 수행하는 방식(시스템룰)과 AI를 이용하는 방식(AI룰)이 있으며, 두가지 방식 중 적어도 하나의 방법을 이용해 질문을 분석할 수 있다. 그리고 상기 필터링부 2311가 감정 영역 입력을 필터링하는 기능에 해당한다면 상기 매칭부는 전문영역 입력을 매칭하는 기능에 해당할 수 있다. 그리고 상기 매칭부 2312는 질문 분석시 웹을 이용할 수 있으므로 웹 기반의 번역 시스템을 이용하여 다국어 번역을 지원할 수 있다. 상기 질문 분석 방식은 AI를 이용한 챗봇에서 대부분 수행하고 있는 방식이므로 자세한 설명은 생략하기로 한다. On the other hand, when the filtering unit 2311 determines that the input query value analysis is a required query, the filtering unit 2311 can control the matching unit 2312 to process the query. The matching unit 2312 may perform processing for a user query that is not stored in the question data 221. [ In this case, a process of analyzing the inputted user question may be required. As the analysis method, there are a method of performing natural language processing by morphological analysis (system rule) and a method of using AI (AI rule) You can use one method to analyze the question. If the filtering unit 2311 corresponds to the function of filtering the input of the emotional region, the matching unit may correspond to the matching of the input of the expert region. Since the matching unit 2312 can use the web during question analysis, the matching unit 2312 can support multilingual translation using a web-based translation system. Since the question analysis method is mostly performed in the chatbot using AI, a detailed description will be omitted.
그리고 질문이 분석된 후 답변 출력부 2313가 해당 질문에 답변을 매칭하는 동작을 수행하고, 이에 따라 산출된 답변 내용이 메신저 채팅화면에 표시될 수 있다. 이와 같은 방식으로 챗봇 이용자는 챗봇과 다양한 대화를 이어갈 수 있으며, 챗봇은 챗봇 이용자와의 대화 내역을 저장부 220에 기록할 수 있다. 이 때 서버 100가 저장부 220에 기록하는 대화 내용은 질문 데이터 및 답변 데이터로 추출되어 기록될 수 있으며, 상기 서버 100는 챗봇이 답변하지 못한 질문들에 대해 별도로 구분하여 저장할 수 있다. After the question is analyzed, the answer output unit 2313 performs an operation of matching the answer to the question, and the calculated answer content can be displayed on the messenger chat screen. In this way, the chatbot user can keep various conversations with the chatbot, and the chatbot can record the conversation history with the chatbot user in the storage unit 220. [ At this time, the conversation contents recorded in the storage unit 220 by the server 100 may be extracted and recorded as the question data and the answer data, and the server 100 may separately store the questions not answered by the chatbot.
상기 데이터 관리부 232는 챗봇과 챗봇 이용자가 생성한 대화 및 챗봇이 관전 모드인 경우에 수행된 대화의 내용을 수집하고 저장부 220에 별도로 분류하여 저장할 수 있다. 또한 상기 데이터 관리부 232는 챗봇이 답변하지 못한 경우의 질문을 별도로 미답변 데이터로 구분하여 저장하도록 제어할 수 있다. 그리고 상기 데이터 관리부 232는 저장부 220에 기 저장된 데이터 및 웹 서버들과 통신을 통해 다운로드 된 데이터들을 기반으로 머신 러닝(Machine Learing)을 수행하도록 제어할 수 있다. 상기 머신 러닝은 데이터를 기반으로 컴퓨터가 스스로 새로운 알고리즘을 만들도록 하는 방법을 의미한다. 상기 머신 러닝의 한 분야로써 딥 러닝(Deep learning)이 상기 데이터 관리부 232에 의해 수행될 수 있다. 그리고 상기 데이터 관리부 232는 상기 머신러닝 및 딥러닝을 기반으로 새로운 데이터를 생성할 수 있다.The data management unit 232 may collect the contents of the conversation performed when the chatbot and the chatbot generated by the chatbot user are in the watching mode, and may separately store the contents of the conversation in the storage unit 220. [ Also, the data management unit 232 may control to separately store the question in the case where the chatbot fails to answer, as the unanswered data. The data management unit 232 can control the machine learning based on the data stored in the storage unit 220 and the data downloaded through communication with the web servers. The machine learning refers to a method of causing a computer to create a new algorithm on its own based on data. Deep learning may be performed by the data management unit 232 as an area of the machine learning. The data management unit 232 may generate new data based on the machine learning and the deep learning.
상기 데이터 관리부 232는 각종 정보를 수집하도록 제어할 수 있다. 예컨대, 상기 데이터 관리부 232는 유튜브 비디오를 자동 분석하여 사용자가 요청하는 특정 이미지를 찾아내는 기능을 수행할 수 있다. 또한, 상기 데이터 관리부 232는 타 업체 및 기관의 서버로부터 수신한 정보를 가공하여 빈번한 질문(FAQ) 정보를 추출할 수 있다. 또한 상기 데이터 관리부 232는 저장부 220 내 기 저장된 콘텐츠 및 웹 상에 공개된 콘텐츠 등을 활용하여 이미지 판단, 사운드 판단을 수행하고 상기 과정을 통해 산출된 분석 데이터들을 다시 저장부 220에 저장할 수 있다. The data management unit 232 can control to collect various kinds of information. For example, the data management unit 232 may perform a function of automatically analyzing the YouTube video to find a specific image requested by the user. In addition, the data management unit 232 may process information received from a server of a third party and an organization to extract frequent question (FAQ) information. In addition, the data management unit 232 may perform image determination and sound determination using content stored in the storage unit 220 and content published on the web, and may store the analysis data calculated through the process in the storage unit 220 again.
또한 데이터 관리부 232는 질문 데이터를 생성하기 위한 법칙과 관련된 정보를 추출할 수 있다. 상기 데이터 관리부 232는 입력되는 특정 질문(분석용 질문)과 동일한 의미를 갖는 추가 질문을 생성할 수 있다. 이 때 데이터 관리부 232가 추가 질문을 생성하기 위한 소스가 되는 분석용 질문은 서버 100 운영자로부터 입력되는 데이터일 수도 있고, 서버 100 자체에서 저장부 220에 기 저장된 질문 데이터가 특정 값을 만족하는 경우 해당 질문 데이터가 자동으로 분석용 질문으로 설정될 수도 있다. 예컨대, 상기 데이터 관리부 232는 저장부 220에 신규 미답변 데이터가 저장됨을 판단한 경우, 상기 미답변 데이터를 분석용 질문으로 설정한 후 유사한 추가 질문을 생성할 수 있다. 또한 상기 데이터 관리부 232는 저장부 220에 미답변 데이터가 새롭게 저장된 경우, 해당 미답변 데이터와 적어도 하나의 공통 단어(동의어 포함)를 포함하는 질문 데이터 중에서 군집 데이터가 가장 적은 질문 데이터를 선택(예, 질문 A와 B가 공통 단어를 포함한다고 가정할 경우, A의 유사한 질문데이터 양은 100개이고 B는 200개라고 가정하면 A를 우선하여 분석용 질문으로 선택)하여 분석용 질문으로 설정할 수 있다. 이 밖에도 다양한 조건에 대응하여 데이터 관리부 232가 분석용 질문을 선택하고 자체적으로 추가 질문을 생성할 수 있다. The data management unit 232 may extract information related to a rule for generating question data. The data management unit 232 can generate an additional question having the same meaning as the specific question (analysis question) inputted. In this case, the analysis question as a source for generating the additional question by the data management unit 232 may be data input from the operator of the server 100, or when the question data stored in the storage unit 220 in the server 100 itself satisfies a specific value The question data may be automatically set as a question for analysis. For example, when the data management unit 232 determines that new unanswered data is stored in the storage unit 220, the data management unit 232 may set the unanswered data as an analysis question, and then generate a similar additional question. In addition, when the unanswered data is newly stored in the storage unit 220, the data management unit 232 selects the question data having the smallest cluster data out of the unanswered data and the question data including at least one common word (including synonyms) Assuming that questions A and B contain common words, assuming that the amount of similar question data in A is 100 and B is 200, A can be selected as the analytical question by giving priority to A). In addition, in response to various conditions, the data management unit 232 can select an analysis question and generate additional questions on its own.
상기 데이터 관리부 232는 분석용 질문과 일정 범위 내의 유사도를 갖는 추가 질문을 생성할 수 있다. 상기 데이터 관리부 232는 상기 분석용 질문에서 먼저 단어를 추출할 수 있다. 그리고 상기 데이터 관리부 232는 상기 추출된 단어를 동의어 내지 유의어로 치환할 수 있다. 상기 동의어 및 유의어는 저장부 220 내 사전 데이터 222에 기반하여 판단될 수 있다. 그리고 상기 사전 데이터에는 동의어 및 유의어 뿐 아니라 반의어 및 자주 틀리는 표현 등도 함께 저장되어 있을 수 있다. 나아가 상기 사전 데이터는 각 단어의 유사 정도에 관한 정보를 좌표 데이터로 설정(예컨대, 뜻이 같은 단어는 가장 가까운 좌표를 갖도록 설정하고, 유의어는 보다 먼 거리를 갖도록 좌표를 설정)하여 저장할 수 있다. 이와 같이 좌표값을 설정하여 유사도를 측정 및 저장하는 동작은 상기 데이터 관리부 232 내의 학습 모듈 2321에서 수행할 수 있다. The data management unit 232 may generate an additional question having similarity within a certain range with the analysis question. The data management unit 232 can extract a word first in the analysis question. The data management unit 232 may replace the extracted words with synonyms or synonyms. The synonyms and synonyms may be determined based on dictionary data 222 in storage 220. The dictionary data may also store synonyms and synonyms as well as antonyms and frequently incorrect expressions. Further, the dictionary data may be set by setting information about the degree of similarity of each word as coordinate data (for example, setting a word having the same meaning as a closest coordinate, and setting a coordinate so as to have a longer distance). The operation of measuring and storing the degree of similarity by setting the coordinate values may be performed by the learning module 2321 in the data management unit 232. [
그리고 상기 데이터 관리부 232는 추출된 단어를 동의어로 치환하여 새로운 질문을 생성할 수 있다. 추가 질문 생성과 관련된 기능은 상기 데이터 관리부 232 내 분석 모듈 2322에서 수행할 수 있다. 상기 분석 모듈 2322는 질문 분석 및 룰 분석을 수행할 수 있다. 상기 데이터 관리부 232는 단어 치환에 의해 추가 질문이 생성되면 상기 추가 질문에 대한 문법적 오류를 판단할 수 있다. 그리고 상기 데이터 관리부 232는 문법적 오류의 여부에 따라 치환된 단어를 제외한 다른 문장 성분을 문법에 맞게 변경하고 문법적 오류가 발견되지 않는 문장에 대하여 질문 데이터 221에 추가할 수 있다. The data management unit 232 may generate a new question by replacing the extracted word with a synonym. Functions related to generation of the additional query can be performed in the analysis module 2322 in the data management unit 232. The analysis module 2322 may perform question analysis and rule analysis. The data management unit 232 can determine a grammatical error of the additional question if an additional question is generated by word substitution. The data management unit 232 may change other sentence components except for the substituted word according to the grammatical error, and may add the sentence to the question data 221 with respect to the sentence whose grammatical error is not found.
또한 상기 데이터 관리부 232는 업데이트 모듈 2323에 의해 룰을 업데이트 할 수 있다. 이때의 룰이란 문법 데이터를 포함하는 개념이다. 즉 상기 업데이트 모듈 2323은 외부 웹 서버 및 SNS 및 저장부 220내 기 저장된 데이터에 기반하여 문법을 포함한 룰 데이터를 업데이트 할 수 있다. 상기 업데이트 모듈 2323은 빅데이터 분석을 통해 논문, 서적, SNS 등에서 기재된 문장을 분석하여 문법적 공통분모를 추출할 수 있으며, 특히 SNS 및 커뮤니티 웹 사이트 등에 게시된 글들을 바탕으로 비표준어적인 측면의 문법 규칙을 추출할 수 있다. The data management unit 232 may update the rule by the update module 2323. The rule at this time is a concept including grammatical data. That is, the update module 2323 can update the rule data including the grammar based on the external web server, the SNS, and the data stored in the storage unit 220. The update module 2323 can extract grammatical common denominators by analyzing sentences written in papers, books, SNS, etc. through analysis of big data. In particular, based on the articles posted on SNS and community websites, the grammar rules of non- Can be extracted.
그리고 상기 데이터 관리부 232는 상기 업데이트 모듈 2323에 의해 업데이트되어 룰데이터 225에 저장되는 룰 데이터 내 문법 데이터에 기반하여 문법적 오류를 판단할 수 있다. The data management unit 232 can determine a grammatical error based on grammar data in the rule data updated by the update module 2323 and stored in the rule data 225.
상기 데이터 관리부 232는 분석 모듈 2322에 의해 크롤링 데이터에 기반한 추가 질문을 생성할 수 있다. 상기 데이터 관리부 232는 상기 분석용 질문에서 일부 단어를 추출한 후 해당 단어로 검색되거나 해당 단어가 주로 사용되는 업계 정보를 판단하고, 특정 업계(예, 의류 쇼핑, 공공기관, 여행사 등)의 웹 사이트 우선적으로 선별할 수 있다. 이후 상기 데이터 관리부 232는 상기 우선적으로 선별된 웹 사이트로부터 크롤링 데이터(스크랩 정보 및 URL리스트 등)를 수집할 수 있다. 이 때 크롤링이란 방대한 양의 데이터들 중에서 유효한 데이터를 추출하는 것을 의미한다. 따라서, 상기 크롤링 데이터는 단순히 웹페이지(SNS 포함) 전체, 웹 사이트 주소 뿐 아니라, 상기 웹페이지 내에 존재하는 다수의 문장들 중 상기 분석용 질문과 유사한 형태의 문장형식을 갖는 문장 데이터를 의미할 수 있다. 또한 상기 크롤링 데이터는 상기 분석용 질문에 포함된 단어와 동의어 관계에 있는 단어가 포함된 문장들을 포함할 수 있다. 또한 상기 크롤링 데이터는 분석용 질문 내에 포함된 핵심 단어의 의미와 관계된 사운드, 이미지 및 동영상 정보를 포함할 수 있다. The data manager 232 may generate an additional query based on the crawled data by the analysis module 2322. The data management unit 232 extracts some words from the analytical question and then determines the industry information in which the corresponding word is searched or the word is mainly used and determines whether or not the industry information (for example, clothing shopping, a public agency, . Then, the data management unit 232 can collect crawl data (scrap information, URL list, etc.) from the preferentially selected web sites. At this time, crawling means extracting valid data from a vast amount of data. Therefore, the crawling data may be not only the entire web page (including the SNS), the web site address, but also sentence data having a sentence format similar to the analysis question among a plurality of sentences existing in the web page have. The crawling data may include sentences including words in synonymy with words included in the analysis question. Also, the crawling data may include sound, image, and moving picture information related to the meaning of the core word included in the analysis question.
수집된 크롤링 데이터는 상기 데이터 관리부 232에 의해 추가 질문을 생성하는데 이용될 수 있다. 상기 사전 데이터 222는 표준어 영역의 추가 질문을 생성하는데 사용되었다면, 상기 크롤링 데이터 223는 상기 분석용 질문과 유사한 비표준어 영역의 추가 질문을 생성하는데 사용될 수 있다. 즉, 상기 데이터 관리부 232는 크롤링 데이터 223을 활용하여 상기 분석용 질문에 대한 비표준어 영역의 추가 질문을 생성할 수 있다. 이에 따라 상기 데이터 관리부 232는 분석용 질문으로부터 표준어 영역 및 비표준어 영역 모두에서 추가 질문을 생성할 수 있게 된다. 그리고 상기 데이터 관리부 232는 상기 크롤링 데이터 223에 기반하여 생성된 추가 질문에 대하여도 문법적 오류가 존재하는지 여부를 판단할 수 있으며 문법적 오류가 존재하면 오류를 수정한 후 그 다음 단계의 동작을 수행할 수 있다. The collected crawl data may be used by the data manager 232 to generate additional queries. If the dictionary data 222 were used to generate additional questions in the standard language domain, the crawl data 223 could be used to generate additional questions in the non-standard domain similar to the analytical query. That is, the data management unit 232 may generate the additional query of the non-standard word region for the analysis question using the crawl data 223. Accordingly, the data management unit 232 can generate additional questions in both the standard language region and the non-standard language region from the analytical question. In addition, the data management unit 232 can determine whether there is a grammatical error even for the additional question generated based on the crawl data 223. If there is a grammatical error, the data management unit 232 can correct the error, have.
또한 상기 데이터 관리부 232는 다양한 실시 예에 따라 생성된 추가 질문에 대하여 유사도 판단을 수행할 수 있다. 이 때 상기 데이터 관리부 232는 기계학습 엔진(예, 텐서플로우)에 의해 인공지능 데이터 처리를 수행할 수 있다. 그리고 상기 데이터 관리부 232는 각 문장의 유사도를 크롤링 데이터 및 기 저장된 다양한 데이터들을 기반으로 분석할 수 있으며 각 문장 간의 유사도를 수치화(예컨대, 좌표값 설정)할 수 있다. 예컨대, 상기 데이터 관리부 232는 2개 이상의 질문 데이터에 있어서, 단어가 동일하고 동사의 활용만 다르며, 동일한 답변을 도출하는 데 문제가 없는 수준의 유사도의 경우 이격거리를 1단계로 설정하고, 단어 및 동사의 활용이 모두 다르나, 동일한 답변을 도출하는데 문제가 없는 수준의 유사도의 경우 이격거리를 2단계로 설정할 수 있다. 이때의 이격거리는 1단계가 2단계보다 가까운 거리이다. 그리고 상기 데이터 관리부 232가 부여하는 각 문장별 좌표값은 2차원 평면상에서의 좌표값 뿐 아니라, X, Y, Z 값을 갖는 3차원 좌표값을 포함할 수 있다.  In addition, the data management unit 232 may perform similarity determination on the additional questions generated according to various embodiments. At this time, the data management unit 232 can perform artificial intelligence data processing by a machine learning engine (e.g., tensor flow). The data management unit 232 can analyze the similarity of each sentence based on crawling data and various previously stored data, and can quantify (e.g., set coordinate values) the degree of similarity between the sentences. For example, in the case of two or more question data, the data management unit 232 may set the separation distance to one level in the case of similarity in the level where the words are the same and the utilization of the verb is different only, and there is no problem in deriving the same answer, The use of verbs is different, but if the degree of similarity is not problematic in deriving the same answer, the separation distance can be set to two levels. In this case, the distance between the first stage and the second stage is shorter than the second stage. The coordinate values for each sentence given by the data management unit 232 may include not only coordinate values on a two-dimensional plane but also three-dimensional coordinate values having X, Y, and Z values.
상기 데이터 관리부 232가 각 문장에 부여하는 좌표값은 고정되지 않으며, 업데이트 및 추가되는 문장과의 관계에 따라 변경이 가능한 값이다. 추가 질문이 계속해서 생성됨에 따라 저장부 220 내 질문데이터의 양은 증가할 수 있으며, 그에 따라 각 질문 문장이 갖는 좌표값은 보다 세밀하게 변경될 수 있다. The coordinate values given to each sentence by the data management unit 232 are not fixed, and they can be changed according to the relationship between the update and the sentence to be added. As the additional question is continuously generated, the amount of the question data in the storage unit 220 can be increased, so that the coordinate value of each question sentence can be changed more finely.
그리고 상기 데이터 관리부 232는 각 질문 문장에 부여된 좌표값 정보 및 사용자가 설정(사용자가 CS데이터를 직접 입력하여 특정 문장을 하나의 그룹으로 묶어 동일한 의미라고 지정)에 기반하여 군집 설정을 할 수 있다. The data management unit 232 can set the cluster based on the coordinate value information given to each question sentence and the user's setting (the user manually inputs the CS data to group specific sentences into one group and designate the same meaning) .
그리고 상기 데이터 관리부 232는 질문 데이터 221의 각각에 부여된 좌표값에 기반하여 각 질문들 간의 유사도를 판단할 수 있다. The data management unit 232 can determine the degree of similarity between the questions based on the coordinate value assigned to each of the question data 221.
도 4는 본 발명의 실시 예에 따른 사전데이터에 기반한 추가 질문 생성 동작의 순서를 도시한 순서도이다. 4 is a flowchart showing a procedure of an additional question generation operation based on dictionary data according to an embodiment of the present invention.
상기 도 4를 참조하면, 본 발명의 실시 예에 따른 서버 100의 데이터 관리부 232는 분석용 질문의 입력을 판단하는 401동작을 수행할 수 있다. 이 때 상기 분석용 질문은 서버 100측 운영자에 의해 직접 입력되는 데이터일 수 있다. 예컨대, 상기 분석용 질문은 서버 100 운영자가 직접 타이핑을 수행하여 입력되거나, 기 작성된 데이터 파일을 전송하는 방식으로 입력될 수 있다. 또한 상기 분석용 질문은 저장부 220에 기 저장된 질문 데이터 중에서 기 설정된 조건을 만족하는 질문 항목들로 설정될 수 있다. 다양한 실시 예에 따라 서버 100 운영자에 의해 서버가 자동으로 질문을 추가 생성하도록 설정할 경우, 상기 데이터 관리부 232는 저장부 220 내 저장된 질문데이터 중에서 분석용 질문을 선별하기 위한 작업을 수행할 수 있다. 그리고 상기 데이터 관리부 232는 기 설정된 조건을 만족하는 질문 항목이 검출되면 해당 질문 항목을 분석용 질문으로 선택한 후 401동작 이후의 동작을 수행할 수 있다. Referring to FIG. 4, the data management unit 232 of the server 100 according to the embodiment of the present invention may perform an operation 401 for determining an input of a query for analysis. At this time, the analysis question may be data directly inputted by the operator of the server 100. For example, the analytical query may be input by directly typing or inputting a previously created data file by the server 100 operator. Also, the analysis question may be set to the question items satisfying predetermined conditions among the question data previously stored in the storage unit 220. [ The data management unit 232 may perform an operation for selecting an analysis question among the stored query data in the storage unit 220. In this case, If the question item satisfying the predetermined condition is detected, the data management unit 232 may select the question item as an analysis question, and then perform the operation after the operation of 401.
상기 데이터 관리부 232는 401동작 이후, 분석용 질문으로부터 단어를 추출하고 추출된 단어를 동의어로 치환하는 방식에 의하여 추가 질문을 생성하는 405동작을 수행할 수 있다. 이 때 상기 동의어는 유의어 등을 포함하는 개념이며, 동의어는 저장부 220 내 저장된 사전 데이터 222에 존재하는 정보일 수 있다. 다양한 실시 예에 따라 추출된 단어에 대응하는 동의어 정보가 저장부 220 내에 존재하지 않는다고 판단되면 상기 데이터 관리부 232는 웹에 접속하여 동의어 등의 사전 정보를 검색하여 활용할 수 있다.The data management unit 232 may perform an operation 405 of generating an additional question by extracting a word from the analysis question and replacing the extracted word with a synonym. In this case, the synonyms include synonyms and the like, and the synonyms may be information existing in the dictionary data 222 stored in the storage unit 220. If it is determined that the synonym information corresponding to the extracted word does not exist in the storage unit 220 according to various embodiments, the data management unit 232 may access the web and search for and use dictionary information such as synonyms.
다만, 상기 데이터 관리부 232는 사전 데이터를 이용하여 추가 질문을 생성할 시, 상기 추출된 단어 중 핵심 단어에 가중치를 부여하고, 각 단어의 가중치 부여 수준에 따라 단어 치환 확률을 달리하되, 가중치가 부여된 핵심 단어일수록 단어 치환 확률을 낮게 설정하여 추가 질문을 생성할 수 있다. 이 때 핵심 단어는 해당 챗봇 업체의 업계 분류에 기반하여(해당 업계의 홈페이지에서 기 설정된 확률 이상 검색되는 단어로 설정될 수 있음) 설정될 수 있다. 예컨대, 쇼핑몰 업체에서 사용되는 챗봇의 경우, 해당 챗봇의 질문 데이터에서는 '주문'.'배송','교환' 등과 같은 관련 단어가 핵심 단어로써 설정될 수 있다. However, when generating additional questions using the dictionary data, the data management unit 232 assigns weights to the core words among the extracted words, and changes the word replacement probability according to the weighting level of each word, The additional word can be generated by setting the word substitution probability to a lower value. At this time, the key word may be set based on the industry classification of the chatbot company (which may be set to a word which is more than a preset probability on the homepage of the industry). For example, in the case of a chatbot used by a shopping mall company, related words such as 'order', 'delivery', 'exchange', and the like may be set as key words in the question data of the corresponding chatbot.
이후 상기 데이터 관리부 232는 상기 405동작에 의해 생성된 추가 질문에 대한 문법을 판단하는 411동작을 수행할 수 있다. 상기 문법 관련 정보는 저장부 220 내 저장되는 룰 데이터 225에 포함될 수 있다. 그리고 상기 문법 판단하는 411동작은 생성된 추가 질문에 적용할 문법의 종류를 판단하는 동작에 해당될 수 있다. The data manager 232 may then perform a 411 operation to determine a grammar for the additional query generated by operation 405. The grammar-related information may be included in the rule data 225 stored in the storage unit 220. The operation 411 of determining the grammar may correspond to an operation of determining the type of grammar to be applied to the generated additional question.
이후 상기 데이터 관리부 232는 생성된 추가 질문에 문법적 오류가 존재하는지 여부를 판단하는 415동작을 수행할 수 있다. 만약 문법적 오류가 존재하지 않는 경우 데이터 관리부 232는 425동작 단계로 이어질 수 있다. 그러나 문법적 오류가 존재하는 것으로 판단되면 상기 데이터 관리부 232는 문법 정보에 기반하여 상기 추가 질문의 문법 오류를 정정하는 421동작을 수행할 수 있다. Thereafter, the data manager 232 may perform an operation 415 of determining whether there is a grammatical error in the generated additional query. If there is no grammatical error, the data manager 232 may lead to a 425 operation phase. However, if it is determined that there is a grammatical error, the data management unit 232 may perform the operation 421 of correcting the grammar error of the additional question based on the grammar information.
상기 421동작 이후 데이터관리부 232는 생성된 추가 질문과 초기 입력된 분석용 질문의 유사도가 기 설정된 범위 이내인지 여부를 판단하는 425동작을 수행할 수 있다. 이 때 상기 유사도가 기 설정된 범위 이내인 경우 상기 데이터 관리부 232는 추가 질문을 저장부 220에 새로운 질문 데이터로 저장하는 431동작을 수행할 수 있다. 반면, 425동작 수행 결과 상기 유사도가 기 설정된 범위를 벗어난다고 판단되는 경우, 상기 데이터 관리부 232는 생성된 추가 질문을 삭제하는 435동작을 수행할 수 있다. After the operation 421, the data management unit 232 may perform an operation 425 for determining whether the similarity between the generated additional query and the analytical query input is within a predetermined range. If the similarity is within the predetermined range, the data management unit 232 may perform an operation 431 of storing the additional query as new query data in the storage unit 220. On the other hand, if it is determined that the similarity is out of the predetermined range as a result of the operation 425, the data manager 232 may perform operation 435 for deleting the generated additional query.
도 5는 본 발명의 실시 예에 따른 크롤링 데이터에 기반한 추가 질문 생성 동 작의 순서를 도시한 순서도이다. FIG. 5 is a flowchart illustrating a procedure of an additional query generation operation based on crawl data according to an embodiment of the present invention.
데이터 관리부 232는 분석용 질문이 입력됨을 판단하는 501동작을 수행할 수 있따. 상기 501동작에서의 분석용 질문은 401동작에서와 동일한 방식으로 입력 또는 선택될 수 있다. 그러나 다양한 실시 예에 따라 상기 분석용 질문은 도 4의 431동작에서 저장되는 추가 질문에 해당될 수 있다. 즉, 다양한 실시 예에 따라 도 5에서 수행되는 동작은 도 4에서 도시되는 동작에 이어서 수행될 수 있다. The data management unit 232 can perform an operation 501 to determine that an analysis question is input. The analytical questions in the 501 action may be entered or selected in the same manner as in the 401 action. However, in accordance with various embodiments, the analytical query may correspond to an additional question stored in operation 431 of FIG. That is, the operation performed in FIG. 5 according to various embodiments may be performed following the operation shown in FIG.
상기 501동작 이후 상기 데이터 관리부 232는 입력된 분석용 질문으로부터 단어를 추출하고 해당 단어 관련 웹(SNS 포함)에 접속하는 505동작을 수행할 수 있다. 이후 상기 데이터 관리부 232는 상기 관련 웹으로부터 크롤링 데이터를 수집하는 511동작을 수행할 수 있다. 이후 상기 데이터 관리부 232는 크롤링 데이터에 의한 비표준어 영역의 단어 및 문법을 분석하는 515동작을 수행할 수 있다. 다양한 실시 예에 따라 상기 데이터 관리부 232가 수집한 크롤링 데이터는 저장부 220에 임시 또는 영구 저장될 수 있으며, 상기 크롤링 데이터를 활용하여 동의어 및 문법 정보가 업데이트될 수 있다. After the operation 501, the data management unit 232 may extract a word from the input analysis question and perform an operation 505 for connecting to the word related web (including the SNS). The data management unit 232 may then perform an operation 511 of collecting crawl data from the related web. Then, the data management unit 232 can perform an operation 515 for analyzing words and grammar of the non-standard word region by the crawled data. According to various embodiments, the crawl data collected by the data management unit 232 may be temporarily or permanently stored in the storage unit 220, and the synonym and grammar information may be updated using the crawled data.
이후 상기 데이터 관리부 232는 상기 크롤링 데이터로부터 분석된 단어 및 문법에 기반하여 추가 질문을 생성하는 521동작을 수행할 수 있다. 그리고 상기 521동작 이후 상기 데이터 관리부 232는 생성된 추가 질문과 분석용 질문과의 유사도가 기 설정된 범위 이내인지 여부를 판단하는 525동작을 수행할 수 있다. 상기 525동작의 수행 결과, 상기 유사도가 기 설정된 범위 이내인 경우, 상기 데이터 관리부 232는 추가 질문을 저장하는 531동작을 수행할 수 있다. 반면 상기 유사도가 기 설정된 범위 이내가 아닌 경우 상기 데이터 관리부 232는 생성된 추가 질문을 삭제하는 535동작을 수행할 수 있다. The data manager 232 may then perform an operation 521 to generate an additional query based on the analyzed word and grammar from the crawled data. After the operation 521, the data management unit 232 may perform an operation 525 for determining whether the similarity between the generated additional query and the analysis query is within a predetermined range. If it is determined that the similarity is within the predetermined range as a result of the operation 525, the data manager 232 may perform an operation 531 for storing an additional query. On the other hand, if the similarity is not within the predetermined range, the data management unit 232 may perform the operation 535 for deleting the generated additional query.
한편, 본 발명의 다양한 실시 예에 따라 저장부 220에 추가되는 질문 및 분석용 질문은 다양한 방식으로 입력될 수 있다. 그 중 외부 서버와 연동되어 추가 질문을 입력받는 경우의 동작에 대하여 도 6을 참조하여 설명하기로 한다. Meanwhile, the query and analysis questions added to the storage unit 220 according to various embodiments of the present invention may be input in various ways. The operation of interlocking with an external server and receiving an additional question will be described with reference to FIG.
도 6은 본 발명의 실시 예에 따른 외부 서버로부터 질문 데이터를 수집하는 동작에 관하여 도시한 도면이다. 6 is a diagram illustrating an operation of collecting question data from an external server according to an embodiment of the present invention.
610과 620과 630은 소비자 또는 민원인들로부터 질문 또는 민원 사항이 접수되는 것에 대하여 도시한 도면이다. 먼저 610은 온라인 비즈니스 업체 홈페이지에 고객들로부터 질문이 접수되는 것을 도시하고 있다. 610에서 도시되는 업체 홈페이지에 기록되는 고객 질문 사항은 챗봇에 의하여 답변되는 경우 뿐 아니라, 상담원에 의해 직접 답변되는 경우 모두 본 발명의 서버 100 측에 전송될 수 있다. 이를 위해 본 발명의 서버 100와 610, 620, 630에 도시되는 업체 및 기관의 서버는 제휴되어 있을 수 있으며, 또는 상기 610, 620, 630에 도시되는 업체 및 기관은 본 발명의 서버 100에서 제공하는 챗봇 서비스를 이용하는 고객측일 수 있다. 따라서 다양한 실시 예에 따라 챗봇 서비스를 이용하는 업체 및 기관 측 서버는 접수되는 질문 항목을 자동으로 본 발명의 서버 100에 전송할 수 있다. 610, 620 and 630 illustrate the receipt of a question or complaint from a consumer or a complainant. First, 610 shows that a question is received from customers on an online business company homepage. The customer questions recorded on the company homepage shown at 610 can be transmitted to the server 100 of the present invention in addition to the case where they are answered by the chatbot as well as when they are directly answered by the counselor. To this end, the server 100 of the present invention may be affiliated with the servers of the vendors and the organizations shown in 610, 620, 630, or the companies and organizations shown in the above 610, 620, 630 may be provided by the server 100 of the present invention It may be the customer who uses the chatbot service. Therefore, according to various embodiments, a company using a chat service and an institution-side server can automatically transmit a received question item to the server 100 of the present invention.
외부 업체측(610, 620, 630)의 서버들로부터 수집된 질문 정보들은 본 발명의 챗봇 서버 100로 전송될 수 있다. 상기 서버 100는 실시간 정보를 수집하는 641 단계 및 데이터 분석의 643단계를 거쳐 고객정보 645, 성과관리 데이터 647, FAQ(Frequently Asked Questions) 관리 데이터 649를 추출하는 동작을 수행할 수 있다. 이후 상기 서버 100는 상기 고객정보 645, 성과관리 데이터 647, FAQ 관리 데이터 649를 저장부 220에 저장할 수 있고, 새로운 추가 질문을 생성할 시 활용할 수 있다. The question information collected from the servers of the external vendors 610, 620, and 630 may be transmitted to the chat server 100 of the present invention. The server 100 may perform operations to collect customer information 645, performance management data 647, and FAQ (Frequently Asked Questions) management data 649 through step 641 of collecting real-time information and step 643 of data analysis. Then, the server 100 may store the customer information 645, the performance management data 647, and the FAQ management data 649 in the storage unit 220 and utilize it when generating a new additional question.
이후 상기 서버 100는 수집된 정보들을 기반으로 업무 분야별 공통 질문 유형 정보 및 고객 정보에 기반한 고객의 연령별, 성별 및 질문 등록 방식별 빈번한 질문과 챗봇 이용 업체의 업무 유형별 빈번한 질문을 선별하여 질문 데이터에 저장할 수 있다. 이후 상기 서버 100는 상기 선별된 빈번한 질문을 분석용 질문으로 선택하여 유형별 추가 질문을 생성할 수 있다. Then, the server 100 selects frequent questions according to the age, sex, and question registration method of the customer based on the common question type information and the customer information according to the business fields, and frequently asked questions according to the business type of the chatbot company, based on the collected information, . Thereafter, the server 100 may select the selected frequent question as an analysis question to generate an additional question by type.
이 밖에도, 서버 100는 챗봇 제공의 역할을 하는 서버이므로 챗봇이 수행하는 대화 내역을 저장할 수 있다. 이에 따라 상기 서버 100는 챗봇과 챗봇 이용자 간의 대화 내역 뿐 아니라, 챗봇이 응답하지 못하는 경우에 한하여 챗봇 대신 상담원이 답변하는 대화 내역 또한 저장할 수 있다. 또한 상기 서버 100는 챗봇이 관전모드 인 상태(챗봇이 답변하지 않도록 설정된 상태)에서 수행되는 상담원과 챗봇 이용자 간의 대화 내역을 저장할 수 있다. 이 때 상기 서버 100는 대화 내역에 기반하여 사용자 질문 별 상담원 응답 내용을 대화 데이터로 상기 저장부에 저장할 수 있다. 그리고 상기 서버 100는 저장된 대화 내역 데이터에 기반하여 질문데이터 및 답변데이터를 업데이트하되, 상기 대화 데이터에서 적어도 2개 이상의 연속하는 질문에 대하여 연관성 가중치를 할당하여 저장할 수 있다. In addition, since the server 100 serves as a chatbot providing server, it can store the chat history performed by the chatbot. Accordingly, the server 100 can store not only the chat history between the chatbot and the chatbot user but also the chat history that the agent answers instead of the chatbot only when the chatbot fails to respond. In addition, the server 100 may store a conversation history between the agent and the chatbot user, which is performed in a state where the chatbot is in a watching mode (a state in which the chatbot is set to not answer). At this time, the server 100 may store the agent response by user question on the storage unit as conversation data based on the conversation history. The server 100 may update question data and answer data based on stored chat history data, and may store association weights for at least two or more consecutive questions in the chat data.
상기 서버 100는 다양한 실시 예에 따라, 챗봇에 입력되는 대화내역을 기반으로 상담원에 의해 동일 답변이 선택된 이력이 있는 질문들에 대하여 연관성 가중치를 부여할 수 있다. 그리고 상기 서버 100는 저장부 220에 저장되는 질문 데이터에 각각의 질문에 대하여 좌표 데이터를 부여하되, 상기 연관성 가중치가 부여된 적어도 2개 이상의 질문에 대하여 좌표 데이터를 근접하게 설정하고, 좌표 데이터에 기반하여 각 질문들 간의 유사도를 판단할 수 있다. 상기 유사도는 추후 챗봇에 입력되는 사용자 질문의 의미 파악을 위해 사용될 수 있다. According to various embodiments, the server 100 may assign relevance weights to questions having hysteresis in which the same answer is selected by the agent based on the chat history input to the chatbot. In addition, the server 100 assigns coordinate data to the question data stored in the storage unit 220 for each question, sets coordinate data closely to at least two or more questions to which the association weight is assigned, So that the degree of similarity between the questions can be determined. The degree of similarity can be used for grasping the meaning of the user question inputted to the chatbot in the future.
상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 요컨대 본 발명이 의도하는 효과를 달성하기 위해 도면에 도시된 모든 기능 블록을 별도로 포함하거나 도면에 도시된 모든 순서를 도시된 순서 그대로 따라야만 하는 것은 아니며, 그렇지 않더라도 얼마든지 청구항에 기재된 본 발명의 기술적 범위에 속할 수 있음에 주의한다.Although the present invention has been described in detail with reference to the above examples, those skilled in the art will be able to make adaptations, changes and modifications to these examples without departing from the scope of the present invention. In other words, in order to achieve the intended effect of the present invention, all the functional blocks shown in the drawings are separately included or all the steps shown in the drawings are not necessarily followed in the order shown, It can be in the range.

Claims (10)

  1. 챗봇 기능을 수행하는 장치에 있어서, An apparatus for performing a chatbot function,
    분석용 질문으로부터 생성된 추가 질문을 저장하고, 추가 질문 생성에 요구되는 사전 데이터, 룰 데이터 및 크롤링 데이터를 저장하는 저장부; A storage unit for storing the additional question generated from the analysis question, and storing the dictionary data, the rule data, and the crawl data required for generating the additional question;
    상기 분석용 질문으로부터 추가 질문 생성을 위한 머신 러닝에 요구되는 정보를 웹 서버로부터 수신하는 통신부; 및 A communication unit for receiving information required for machine learning for generating an additional question from the analysis query from a web server; And
    상기 분석용 질문으로부터 머신 러닝을 기반으로 추가 질문을 생성하는 제어부;를 포함하되,And a controller for generating an additional question based on the machine learning from the analysis question,
    상기 제어부는 The control unit
    분석용 질문이 입력되면 상기 분석용 질문과 동일한 의미이나 표현이 다른 추가 질문을 사전데이터, 문법 데이터 및 크롤링 데이터 중 적어도 하나의 데이터에 기반하여 생성하며, 상기 생성된 추가 질문과 상기 분석용 질문간의 유사도를 판단하여 유사도가 기 설정된 범위 이내이면, 상기 생성된 추가 질문을 상기 저장부에 저장하는 데이터 관리부; 및Wherein the analyzing unit generates an additional question having the same meaning or expression as the analysis question based on at least one of data of dictionary data, grammar data, and crawl data, A data management unit for storing the generated additional question in the storage unit if the degree of similarity is within a predetermined range; And
    챗봇에 입력되는 사용자 질문에 대하여 분석 여부를 판단하고, 분석이 요청되는 사용자 질문에 대하여 상기 생성된 추가 질문을 포함한 질문 데이터에 기반하여 분석 및 답변 매칭을 수행하는 챗봇 제공부;를 포함하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. And a chatbot providing unit for determining whether to analyze the user query input to the chatbot and performing analysis and response matching based on the query data including the generated additional query for the user query to be analyzed Based data chatting device for chatbots.
  2. 제 1항에 있어서, The method according to claim 1,
    상기 데이터 관리부는 The data management unit
    입력된 분석용 질문에서 단어를 추출하고, 사전 데이터에 기반하여 상기 추출된 단어의 동의어가 존재하는지 판단하여 상기 동의어가 존재하는 경우 상기 추출된 단어를 상기 동의어로 치환하여 추가 질문을 생성하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. Extracting a word from the input analysis query, determining whether a synonym of the extracted word exists based on the dictionary data, and replacing the extracted word with the synonym when the synonym exists, Based data chatting device for chatbots.
  3. 제 2항에 있어서, 3. The method of claim 2,
    상기 데이터 관리부는 The data management unit
    상기 추출된 단어 중 핵심 단어에 가중치를 부여하고, 각 단어의 가중치 부여 수준에 따라 단어 치환 확률을 달리하되, 가중치가 부여된 핵심 단어일수록 단어 치환 확률을 낮게 설정하여 추가 질문을 생성하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. Wherein a weight is assigned to a core word among the extracted words and a word substitution probability is varied according to a weighting level of each word and a word substitution probability is set lower for a weighted core word to generate an additional query. A data-adding device for a machine-based chat bot.
  4. 제 1항에 있어서, The method according to claim 1,
    상기 데이터 관리부는 The data management unit
    상기 입력된 분석용 질문에서 추출된 적어도 하나 이상의 단어로 검색되는 웹 페이지와 연동하여 크롤링 데이터를 수집하고, 상기 수집된 크롤링 데이터에 대한 빅데이터 분석을 수행하여 비표준 동의어 및 비표준 문법을 추출하고, 상기 분석용 질문으로부터 상기 비표준 동의어 및 비표준 문법에 따른 추가 질문을 생성하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. Collecting crawl data in cooperation with a web page retrieved with at least one word extracted from the input analysis question, extracting non-standard synonyms and non-standard grammars by performing big data analysis on the collected crawl data, Based on the non-standard synonyms and the non-standard grammar, an additional question from the analytical query.
  5. 제 1항에 있어서, The method according to claim 1,
    상기 데이터 관리부는 The data management unit
    생성된 추가 질문에 대하여 문법적 오류 존재 여부를 판단하고, 문법적 오류가 존재하면 문법 오류를 정정하고, 문법적 오류가 존재하지 않은 추가 질문 및 문법 오류를 정정한 추가 질문에 대하여 유사도 판단을 수행하며, 상기 유사도가 기 설정된 범위 이내인 추가 질문을 저장하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치.Judges whether there is a grammatical error in the generated additional question, corrects the grammatical error if there is a grammatical error, performs similarity judgment on the additional question which corrects the grammatical error and the additional question without grammatical error, And stores additional questions whose similarity is within a predetermined range.
  6. 제 1항에 있어서, The method according to claim 1,
    상기 챗봇 제공부는 The chatbot providing unit
    챗봇에 입력된 사용자 질문에 대응하는 답변이 검출되지 않은 경우, 해당 챗봇과 대화를 수행하는 대화창에 상담원 계정을 초대하고, 챗봇은 상담원이 해당 대화창을 나가기 전까지 답변을 출력하지 않는 관전모드를 유지하도록 제어하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. If no answer corresponding to the user question entered in the chatbot is detected, the agent invites the agent to the dialog box for conducting chat with the chatbot, and the chatbot maintains a watch mode in which the agent does not output a response until the agent leaves the dialog Based on the data received from the mobile communication terminal.
  7. 제 6항에 있어서, The method according to claim 6,
    상기 챗봇 제공부는 The chatbot providing unit
    상기 챗봇이 관전모드를 유지하는 동안 수행된 사용자 질문 별 상담원 응답 내용을 대화 데이터로 상기 저장부에 저장하고, Storing the agent response by user question, which is performed while the chatbot maintains the watching mode, as conversation data in the storage unit,
    상기 데이터 관리부는 The data management unit
    상기 저장된 대화 데이터에 기반하여 질문데이터 및 답변데이터를 업데이트하되, 상기 대화 데이터에서 적어도 2개 이상의 연속하는 질문에 대하여 연관성 가중치를 할당하여 저장하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. Wherein the question data and answer data are updated based on the stored chat data, and associativity weights are assigned to at least two or more consecutive questions in the chat data and stored.
  8. 제 1항에 있어서 The method of claim 1, wherein
    상기 데이터 관리부는 The data management unit
    다수의 온라인 비즈니스 업체, 공공기관 및 콜센터 측의 외부 서버와 연계되며, 상기 외부 서버로부터 수신되는 요청사항들을 기반으로 질문 데이터를 생성하되, 상기 요청사항들을 분석하여 각 업체의 업무 분야별 공통 질문 유형 정보, 고객정보 및 대처 방안에 따른 성과 관리 정보를 분류하여 생성하여 질문데이터 및 답변데이터 업데이트를 수행하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. The server is connected to a plurality of online business companies, a public institution, and an external server of a call center. The server generates question data based on requests received from the external server, analyzes the requests, And classifying and generating performance management information according to the customer information and the countermeasures to update the question data and the answer data.
  9. 제 8항에 있어서, 9. The method of claim 8,
    상기 데이터 관리부는 The data management unit
    상기 업무 분야별 공통 질문 유형 정보 및 상기 고객 정보에 기반하여 고객의 연령별, 성별 및 질문 등록 방식별 빈번한 질문과 챗봇 이용 업체의 업무 유형별 빈번한 질문을 선별하여 질문 데이터에 저장하고, 상기 선별된 빈번한 질문을 분석용 질문으로 선택하여 유형별 추가 질문을 생성하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치. Frequently asked questions by the age, sex, and question registration method of the customer and frequent questions by the business type of the chat bot user are selected and stored in the question data based on the common question type information by task field and the customer information, and the selected frequently asked questions And selecting an analysis question to generate an additional question for each type.
  10. 제 1항에 있어서, The method according to claim 1,
    상기 데이터 관리부는 The data management unit
    상기 챗봇에 입력되는 대화내역을 기반으로 상담원에 의해 동일 답변이 선택된 이력이 있는 질문들에 대하여 연관성 가중치를 부여하고, Assigning association weights to questions having a history in which the same answer is selected by an agent based on a conversation history input to the chatbot,
    저장부에 저장되는 질문 데이터는 각각의 질문에 대하여 좌표 데이터를 부여하되, 상기 연관성 가중치가 부여된 적어도 2개 이상의 질문에 대하여 좌표 데이터를 근접하게 설정하고, The question data stored in the storage unit is used to assign coordinate data to each question, to set coordinate data for at least two or more questions to which the association weight is assigned,
    상기 좌표 데이터에 기반하여 유사도를 판단하는 것을 특징으로 하는 머신 러닝 기반의 챗봇용 데이터 추가 장치.And the similarity is determined based on the coordinate data.
PCT/KR2017/012984 2017-11-15 2017-11-16 Machine learning based data adding device for chatbot WO2019098409A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170152129A KR102033175B1 (en) 2017-11-15 2017-11-15 Apparatus for adding data for chatbot based on machine learning
KR10-2017-0152129 2017-11-15

Publications (1)

Publication Number Publication Date
WO2019098409A1 true WO2019098409A1 (en) 2019-05-23

Family

ID=66540325

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/012984 WO2019098409A1 (en) 2017-11-15 2017-11-16 Machine learning based data adding device for chatbot

Country Status (2)

Country Link
KR (1) KR102033175B1 (en)
WO (1) WO2019098409A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688223A (en) * 2021-09-10 2021-11-23 上海汽车集团股份有限公司 Task type conversation management method and device

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102278020B1 (en) * 2019-05-31 2021-07-15 주식회사 아티프렌즈 Apparatus and method for processing of question and answer using chatbot
KR102155739B1 (en) * 2019-10-24 2020-09-14 한경훈 Method, server, and system for providing chatbot service with adaptive reuse of question and answer dataset
KR102356996B1 (en) * 2019-12-16 2022-01-28 주식회사 엘지유플러스 Apparatus and Method for verifying the learning phrase quality of the AI service dialogue model
KR102163081B1 (en) * 2020-04-08 2020-10-07 (주)아이컴시스 Interactive voice bot server and unmanned counsel system
KR102163067B1 (en) * 2020-04-08 2020-10-07 (주)아이컴시스 Unmanned receiving bot server and unmanned receiving method using the same
KR102276442B1 (en) * 2020-07-01 2021-07-12 (주)플렉시스 Method and device for providing information through screen recognition
KR102215286B1 (en) * 2020-08-25 2021-02-10 건국대학교 산학협력단 Method and apparatus for providing sentence generation chatbot service based on document understanding
KR102260558B1 (en) 2020-11-12 2021-06-07 지의소프트 주식회사 Learning data generating system and method for chatbot
KR102480872B1 (en) * 2020-11-30 2022-12-26 주식회사 리노스 Method for generating data for machine learning and method for scheduling machine learning using the same
KR102596717B1 (en) * 2020-12-31 2023-11-02 디네핏 주식회사 Method for managing integrated labor and computing device for executing the method
KR102319655B1 (en) * 2021-02-19 2021-11-01 (주)아와소프트 Chatbot service providing system for sesrching information in the relevant knowledge field and method thereof
KR102348748B1 (en) * 2021-05-27 2022-01-07 주식회사 디어유 Service providing system and method for filtering abusing message related to personalized messaging service
KR102598919B1 (en) * 2021-07-16 2023-11-06 주식회사 카카오 Method and apparatus for providing counseling service
KR102604242B1 (en) * 2023-05-15 2023-11-21 (주)페르소나에이아이 K-gpt solution based electronic apparatus including generative artificial intelligence linked with external model, and system
KR102578257B1 (en) * 2023-05-30 2023-09-12 김세원 Chatbot service construction and maintenance system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244262A (en) * 2005-03-04 2006-09-14 Nec Corp Retrieval system, method and program for answer to question
KR20100067175A (en) * 2008-12-11 2010-06-21 한국전자통신연구원 Topic map based indexing apparatus, topic map based searching apparatus, topic map based searching system and its method
KR20130065750A (en) * 2011-11-28 2013-06-20 한국과학기술정보연구원 Apparatus and method for providing product information by using sns and lbs
KR20160060247A (en) * 2014-11-19 2016-05-30 한국전자통신연구원 System and Method for Question and answer of Natural Language and Paraphrase Module
KR20170124194A (en) * 2016-05-02 2017-11-10 배상은 Method and program for providing travel information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244262A (en) * 2005-03-04 2006-09-14 Nec Corp Retrieval system, method and program for answer to question
KR20100067175A (en) * 2008-12-11 2010-06-21 한국전자통신연구원 Topic map based indexing apparatus, topic map based searching apparatus, topic map based searching system and its method
KR20130065750A (en) * 2011-11-28 2013-06-20 한국과학기술정보연구원 Apparatus and method for providing product information by using sns and lbs
KR20160060247A (en) * 2014-11-19 2016-05-30 한국전자통신연구원 System and Method for Question and answer of Natural Language and Paraphrase Module
KR20170124194A (en) * 2016-05-02 2017-11-10 배상은 Method and program for providing travel information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688223A (en) * 2021-09-10 2021-11-23 上海汽车集团股份有限公司 Task type conversation management method and device

Also Published As

Publication number Publication date
KR20190055425A (en) 2019-05-23
KR102033175B1 (en) 2019-10-16

Similar Documents

Publication Publication Date Title
WO2019098409A1 (en) Machine learning based data adding device for chatbot
CN107783973B (en) Method, device and system for monitoring internet media event based on industry knowledge map database
US20170250930A1 (en) Interactive content recommendation personalization assistant
US10878044B2 (en) System and method for providing content recommendation service
WO2016208916A1 (en) Method and system for context based tab management
US11488599B2 (en) Session message processing with generating responses based on node relationships within knowledge graphs
US9916829B2 (en) Voice search and response based on relevancy
US20120016661A1 (en) System, method and device for intelligent textual conversation system
US9881011B2 (en) System and method for generating user profiles for human resources
AU2020229706B2 (en) Intent-driven contact center
WO2016035970A1 (en) Advertisement system using search advertisement
KR20200055165A (en) Service system for recommending urgently expert
CN117157643A (en) Domain adaptation of AI NLP encoder with knowledge distillation
US10853430B1 (en) Automated agent search engine
US20140019545A1 (en) Social Graph Expanding Method, Program and System
JP6388212B2 (en) Tag assignment method, tag assignment device, program, and question answer search method
KR20200013843A (en) System and method for providing product manual based on chatbot
WO2019022262A1 (en) System for searching and guiding preference for each area of interest
JP2009187163A (en) Questioning and responding apparatus
JP5286298B2 (en) Reputation analysis apparatus, reputation analysis method, and reputation analysis program
US11818111B1 (en) Systems and methods for search engine based web ticket minimization
US20220261448A1 (en) Information recommendation device, information recommendation system, information recommendation method and information recommendation program
KR20110125905A (en) Method and system for management of reply comment usgin pattern analysis and web server thereof
JP6647488B1 (en) Search management device
CN109299240A (en) Chat robots information interacting method and device

Legal Events

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

Ref country code: DE

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

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

122 Ep: pct application non-entry in european phase

Ref document number: 17931889

Country of ref document: EP

Kind code of ref document: A1