WO2020138607A1 - Method and device for providing question and answer using chatbot - Google Patents

Method and device for providing question and answer using chatbot Download PDF

Info

Publication number
WO2020138607A1
WO2020138607A1 PCT/KR2019/007698 KR2019007698W WO2020138607A1 WO 2020138607 A1 WO2020138607 A1 WO 2020138607A1 KR 2019007698 W KR2019007698 W KR 2019007698W WO 2020138607 A1 WO2020138607 A1 WO 2020138607A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
response message
chatbot
character
string
Prior art date
Application number
PCT/KR2019/007698
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 WO2020138607A1 publication Critical patent/WO2020138607A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Definitions

  • the following embodiments relate to a technique for answering a query using a chatbot.
  • a chatbot is an interactive messenger that AI analyzes the content of a question and provides an appropriate answer when you enter a question like chatting on a messenger.
  • Leading companies at home and abroad have recently introduced chatbots to customer support services to reduce the number of personnel required to respond to customers, and to improve the quality of customer support services by rapidly responding 24 hours a day.
  • the query object that the chatbot can recognize and respond to is limited to text data, a user who has difficulty in providing the query of the text data may have a great difficulty in using the chatbot function.
  • a technical means for developing a chatbot capable of providing a wider range of query and response functions by recognizing various types of data is required.
  • a query response method using a chatbot may include receiving a user input including a query target through a user interface; Determining whether the query target is image data; If the query target is the image data, performing image data preprocessing on the image data; Detecting a character from the image data on which the image data pre-processing has been performed; Selecting a response message corresponding to the image data among candidate response messages stored in a database, based on a character extracted from the image data; And providing the selected response message to the user.
  • the preprocessing of the image data may include performing at least one of adjusting the resolution of the image data, changing the color of the image data to grayscale, and binarizing the image data.
  • the detecting of a character from the image data may include detecting a character included in the image data using optical character recognition.
  • a query response method using a chatbot may include tokenizing the entire string when the number of character strings detected in the image data is equal to or less than a preset threshold; And listing the entire tokenized string as a token list.
  • a query response method using a chatbot may include tokenizing the entire string when the number of character strings extracted from the image data is greater than a preset threshold; Randomly extracting a number of tokenized strings based on the threshold value; And listing the randomized tokenized strings as a token list.
  • the selecting of the response message may include performing morpheme analysis on the token list; And comparing the morpheme analysis result with candidate response messages stored in the database, and selecting a response message corresponding to the image data based on the comparison result.
  • the step of performing the morpheme analysis may include extracting words included in the string through morpheme analysis of the string included in the token list, and removing words that overlap with each other among the extracted words.
  • the selecting of the response message may include calculating a similarity between words included in candidate response messages stored in the database and words extracted from a string included in the token list; And selecting, among the candidate response messages, a candidate response message that satisfies the preset condition of the similarity as a response message corresponding to the image data.
  • the method may further include providing a response message including a non-response message to the user.
  • a query response method using a chatbot may include receiving a user input including a query target through a user interface; Determining whether the query target is image data; If the query target is the image data, detecting a character from the image data; Generating a token list by tokenizing the entire character string when the number of character strings detected in the image data is equal to or less than a preset threshold; Calculating similarity between words included in candidate response messages stored in a database and words extracted from a string included in the token list; Selecting a response message corresponding to the image data among the candidate response messages based on the similarity; And providing the selected response message to the user.
  • a query response method using a chatbot may include tokenizing the entire string when the number of character strings extracted from the image data is greater than a preset threshold; Randomly extracting a number of tokenized strings based on the threshold value; And listing the randomized tokenized strings as a token list.
  • the selecting of the response message may include calculating a similarity between words included in candidate response messages stored in the database and words extracted from a string included in the token list; And selecting, among the candidate response messages, a candidate response message that satisfies the preset condition of the similarity as a response message corresponding to the image data.
  • the query response method using a chatbot may further include providing a response message including a non-response message to the user when the similarity does not satisfy a preset condition.
  • a query response device using a chatbot includes a user interface for receiving a user input including a query target; A determination unit to determine whether the query target is image data; An image data pre-processing unit performing pre-processing of image data on the image data when the query target is the image data; A character detecting unit detecting a character from the image data on which the image data pre-processing has been performed; A processing unit for selecting a response message corresponding to the image data among candidate response messages stored in a database based on a character extracted from the image data; And an output unit providing the selected response message to a user.
  • the image data pre-processor may perform at least one of adjusting the resolution of the image data, changing the color of the image data to grayscale, and binarizing the image data.
  • the character detection unit may detect a character included in the image data using optical character recognition.
  • the character detector may tokenize the entire character string and list the entire tokenized character string as a token list.
  • the character detection unit tokenizes the entire character string and randomly extracts the number of character strings based on the threshold value among the tokenized character strings,
  • the randomized tokenized string may be listed as a token list.
  • the processing unit calculates the similarity between words included in candidate response messages stored in the database and words extracted from the string included in the token list, and the similarity among the candidate response messages satisfies a preset condition.
  • the candidate response message to be selected may be selected as a response message corresponding to the image data.
  • the processing unit may select a response message including a non-response message.
  • a query target is not limited to text data, and a response to a query target including image data can be provided, thereby enabling various types of query responses.
  • a query target containing image data is received, a character included in the image data is detected, and a candidate response message having the highest similarity among candidate response messages stored in the chatbot device database based on the detected character
  • FIG. 1 is a view showing the overall configuration of a query response system using a chatbot according to an embodiment.
  • FIG. 2 is a flow chart for explaining the operation of the query response method using a chatbot according to an embodiment.
  • 3 and 4 are flowcharts for explaining an example of a query response method using a chatbot according to an embodiment.
  • FIG. 5 is a diagram illustrating the configuration of a query response device using a chatbot according to an embodiment.
  • FIG. 1 is a view showing the overall configuration of a query response system using a chatbot according to an embodiment.
  • the query response device 100 using a chatbot is a device that provides a response to the query to the user using a chatbot.
  • the query response device 100 may receive an image type query as well as a text type query, and analyze each query to derive an optimal response suitable for the query and provide it to the user.
  • the query response device 100 includes an image data analysis unit 105 for analyzing image data, a morpheme analysis unit 110 for analyzing morphemes, and a response message providing unit 115 for selecting and providing a response message to a user, and user input It may include a user interface 160 that can receive.
  • the image data analysis unit 105 includes an image data pre-processing unit 120 that performs image data pre-processing on the received image data, a character detection unit 125 that detects characters from the image data on which image data pre-processing has been performed, and It may include a tokenization performing unit 130 to tokenize the detected character string to list the tokenized character string as a token list.
  • the morpheme analysis unit 110 detects words by performing morpheme analysis on a string listed as a token list when the query target included in the user input is image data, and removes duplicate words from the processing unit 2 135 And when the query target included in the user input is text data, the processing unit 1 140 that classifies the text component analysis result through morphological analysis as a tag and adds tag information to the text data. .
  • the response message providing unit 115 calculates the similarity between the morpheme analysis result received from the morpheme analysis unit 110 and the candidate response message, and selects a candidate response message that satisfies a preset similarity condition as a response message, 145 It may include a database 150 for storing the candidate response message and an output unit 155 capable of providing the response message to the user.
  • the image data received from the user may be pre-processed by the image data preprocessing unit 120.
  • the image data pre-processing unit 120 performs image data pre-processing so that the character detection unit 125 can detect characters included in the image data.
  • the image data pre-processing unit 120 may perform binarization of the image data by adjusting the resolution of the image data and changing the color of the image data to grayscale.
  • the character detection unit 125 may detect characters from image data on which image data preprocessing has been performed.
  • the character detector 125 may detect a character from the pre-processed image data by utilizing an optical character recognition function that converts a character included in the image data into a machine-readable character.
  • the character string detected by the character detector 125 may be tokenized by the tokenization performer 130, and the tokenized character string may be listed as a token list.
  • the token list of the listed string is morphologically analyzed by the processing unit 2 135 included in the morpheme analysis unit 110 This can be done.
  • the processor 2 135 may extract words included in the string through morpheme analysis of the string included in the token list. Similarity between candidate response messages stored in the database 150 in the processing unit 145 included in the response message providing unit 115 may be calculated as a result of the morpheme analysis.
  • the processor 145 may calculate a similarity between words included in the morpheme analysis result and words included in the candidate response message, and select a candidate response message that satisfies a preset similarity condition as a response message.
  • the processing unit 145 may select a non-response message as the response message.
  • the output unit 155 may provide a response message selected by the processing unit 145 to the user through a user interface.
  • the query target included in the user input received from the user is text data
  • the sentence component analysis through the morpheme analysis is performed in the processing unit 1 140 included in the morpheme analysis unit 110, and the tag information may be added to the text data by classifying the sentence component analysis results into tags.
  • the processing unit 150 included in the response message providing unit 115 may determine whether the sentence structure patterns match between candidate response messages stored in the database 150.
  • the processing unit 150 may select a candidate response message having a pattern matching the morpheme analysis result as a response message. When there are no or two or more candidate response messages that match the morpheme analysis result and the pattern, the processing unit 150 may select the non-response message as the response message. The response message selected by the processing unit 150 may be provided to the user through the output unit 155.
  • a query response method using a chatbot may be performed by a query response device using a chatbot described herein.
  • the query response device may receive a user input including a query target through a user interface.
  • the chatbot may receive a query target including data in the form of an image, text, or the like as user input.
  • the query response device may determine whether the query target is image data.
  • the query response device may perform image data preprocessing on the image data.
  • the query response device may perform resolution adjustment of image data received as user input, change color of image data to grayscale, binarization of image data, and the like.
  • the query and response device may detect a character in the image data in which the image data pre-processing is performed through resolution adjustment, color change to grayscale, and binarization based on a preset threshold.
  • the query response device may detect a character included in the image data using optical character recognition (OCR).
  • OCR optical character recognition
  • the optical character recognition may mean a function of converting characters included in image data into machine-readable characters.
  • Characters detected in the image data through optical character recognition may be tokenized based on the blank character of the character string, and if the amount of the character string exceeds a certain threshold value, that is, a predetermined threshold value, the character value is assigned to a threshold value among the tokenized character strings.
  • Strings can be randomly extracted as many as the base number. For example, if the number of character strings is equal to or less than a preset threshold, the entire string can be tokenized and the entire tokenized string can be listed as a token list.
  • the entire string can be tokenized, and the tokenized string can be arbitrarily extracted from the tokenized string up to five times the threshold. Also, it is possible to list a randomized tokenized string as a token list.
  • the query response device may select a response message corresponding to the image data among candidate response messages stored in the database, based on the characters extracted from the image data.
  • the query response device may perform morpheme analysis on a token list composed of tokenized strings.
  • morpheme analysis may mean classifying the tokenized string into the smallest unit of words with meaning.
  • the morpheme analysis may include a process of extracting words included in the string through morphological analysis of the string included in the token list, and removing words that overlap with each other among the extracted words.
  • the query response device may calculate the similarity between words extracted from the string through morphological analysis and words included in candidate response messages stored in the database.
  • the query response device may select a candidate response message corresponding to the image data from a candidate response message that satisfies a preset condition from among the candidate response messages. At this time, if there is no candidate response message corresponding to the similarity level that satisfies the preset condition, the query response device may select a response message including a non-response message.
  • the query response device may provide the selected response message to the user.
  • the query response device determines whether the query target is image data, and when it is determined that the query target is not image data, in step 270, text data included in the user input Characters included in can be detected.
  • 3 and 4 are flowcharts for explaining an example of a method for answering a query according to an embodiment.
  • the query response device may receive a user input including a query target from a user through a user interface.
  • the user input may include image data and text data.
  • the query response device may determine whether the query target included in the user input is image data. If it is determined in step 310 that the query target included in the user input is text data, in step 350 the query response device classifies the sentence component analysis result through the morpheme analysis into tags and adds tag information to the text data. Can.
  • the query response device may perform preprocessing of the image data on the image data received in operation 315.
  • the Q&A device can adjust the resolution of the image data to a resolution that facilitates character extraction, and changes the color of the image data to grayscale, thereby adapting the image data through adaptive thresholding.
  • Binarization can be performed. By dividing the image data into zones and performing binarization of the image data through adaptive demarcation, which processes binarization for each zone, the image data preprocessor performs characterization in the image data rather than binarization based on the entire image data. Binarization of image data that is easy to extract can be performed.
  • the query response device may detect a character in the image data.
  • the query response device may utilize an optical character recognition function to detect characters in image data.
  • the query response device in step 325 may determine whether the number of character strings is greater than or less than a preset threshold. If it is determined that the number of detected strings is greater than a preset threshold, in step 330, the query response device may tokenize the entire string based on the blank character of the string, and N of the threshold among the tokenized strings The tokenized string can be randomly extracted as many times as the number of times (N is a natural number). If it is determined that the number of detected strings is less than or equal to a preset threshold, in step 335, the query response device may tokenize the entire string based on the blank character of the string.
  • the query response device may list the strings tokenized in steps 330 and 335 as a token list.
  • the query response device may perform morpheme analysis on the string included in the token list.
  • the query response device may extract words from the classified string through performing morphological analysis, and remove duplicate words from the extracted words.
  • the query answering device in step 355 may generate a morpheme analysis result.
  • the query answering device in step 405 may determine whether the query target is image data.
  • the query response device may calculate the similarity between the morpheme analysis result and the candidate response message stored in the database.
  • a method of calculating the similarity between words included in the morpheme analysis result and candidate response messages stored in the database may be as follows.
  • the query response device may detect words included in each candidate response message stored in the database and list them as a list corresponding to each candidate response message.
  • the number of words that match each other is divided by the number of words included in the list corresponding to the candidate response message and included in the morpheme analysis result. Similarity can be calculated between the words and candidate response messages stored in the database.
  • the query response device may determine whether there is a candidate response message that satisfies a condition of a predetermined similarity among the similarities corresponding to the candidate response messages stored in the database.
  • the condition of the predetermined similarity may be, for example, a case in which there is only one candidate response message corresponding to the maximum value among the calculated similarities. When there are two or more candidate response messages corresponding to the maximum value of the similarity, or 0, it may be determined that there is no candidate response message that satisfies the condition of the predetermined similarity.
  • the query response device may select the candidate response message as a response message. Conversely, when there is no candidate response message that satisfies a predetermined similarity condition, in step 425, the query response device may select a non-response message as a response message corresponding to the query target.
  • the query response device determines whether there is a candidate response message that matches the morpheme analysis result and the pattern based on the morpheme analysis result of the text data corresponding to the query target. I can judge.
  • the query response device may select a candidate response message that matches the morpheme analysis result and the sentence structure pattern as a response message. .
  • the query response device may select a non-response message as the response message.
  • the query response device may provide the selected response message to the user in response to the query target.
  • FIG. 5 is a diagram illustrating the configuration of a query response device using a chatbot according to an embodiment.
  • the query response device 500 includes a user input interface 510, a determination unit 520, an image data pre-processing unit 530, a character detection unit 540, a processing unit 550, and an output unit 560. And a database 570.
  • the user input interface 510 may receive a user input including a query target from a user.
  • the determination unit 520 may determine whether the query target included in the user input received by the user input interface 510 is image data.
  • the image data preprocessing unit 530 may perform image data preprocessing on the image data.
  • the image data pre-processing may include processes such as resizing the image data to a size suitable for extracting characters from the image data, changing the color of the image data to grayscale, and binarizing the image data based on a preset threshold. have.
  • the character detection unit 540 may detect characters from image data on which image data preprocessing has been performed.
  • the character detection unit 540 may detect a character included in image data using optical character recognition. Characters detected from the image data through optical character recognition classify cases where the number of character strings is equal to or less than a preset threshold value and when the number of character strings is greater than a preset threshold value, and tokenize the strings in different ways and tokenize the strings into a token list Can be listed as
  • the character detector 540 may tokenize the entire character string and list the entire tokenized character string as a token list.
  • the character detector 540 tokenizes the entire character string, and randomly tokenizes the number of tokenized character strings based on the threshold value.
  • the extracted tokenized string can be listed as a token list.
  • the number based on the threshold may be, for example, a number reaching 5 times the threshold.
  • the processor 550 may select a response message corresponding to the image data among candidate response messages stored in the database 570 based on the characters extracted from the image data.
  • the processing unit 550 may perform morpheme analysis on the list of tokens listed by the character detection unit 540. Duplicate words may be removed from words extracted as a result of the morpheme analysis performed by the processing unit 550.
  • the processing unit 550 may calculate the similarity of words extracted from the token list to words included in candidate response messages stored in the database 570. A candidate response message corresponding to the similarity having the highest value among the calculated similarities may be selected as the response message. If there is no single similarity with the highest value, the processing unit 550 may select a non-response message as the response message.
  • the output unit 560 may provide the selected response message to the user.
  • the device described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components.
  • the devices and components described in the embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, field programmable gate arrays (FPGAs).
  • a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions may be implemented using one or more general purpose computers or special purpose computers.
  • the processing device may run an operating system (OS) and one or more software applications running on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may access, store, manipulate, process, and generate data in response to the execution of the software.
  • a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include.
  • the processing device may include a plurality of processors or a processor and a controller.
  • other processing configurations such as parallel processors, are possible.
  • the software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device.
  • Software and/or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the signal wave being transmitted.
  • the software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. Includes hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Abstract

Disclosed is a method and device for providing a question and an answer by using a chatbot. A method for providing a question and an answer by using a chatbot comprises the steps of: receiving a user input including a subject of a question via a user interface; determining whether the subject of the question is image data; if the subject of the question is image data, performing image data pre-processing on the image data; detecting a character from the image data on which the image data pre-processing has been performed; on the basis of the character extracted from the image data, selecting a response message corresponding to the image data from among candidate response messages stored in a database; and providing the selected response message to a user.

Description

챗봇을 이용한 질의 응답 방법 및 장치Method and device for question and answer using chatbot
아래 실시예들은 챗봇을 이용하여 질의 응답을 하는 기술에 관한 것이다.The following embodiments relate to a technique for answering a query using a chatbot.
챗봇은 메신저에 채팅하듯 질문을 입력하면 인공지능(AI)이 질문 내용을 분석하여 적절한 해답을 주는 대화형 메신저이다. 최근 국내외 유수 기업들은 고객지원 서비스에 챗봇을 도입해 고객 응대에 필요한 인력을 줄임과 동시에 24시간 빠르게 응답을 처리하여 고객지원 서비스의 품질 향상을 도모하고 있다.A chatbot is an interactive messenger that AI analyzes the content of a question and provides an appropriate answer when you enter a question like chatting on a messenger. Leading companies at home and abroad have recently introduced chatbots to customer support services to reduce the number of personnel required to respond to customers, and to improve the quality of customer support services by rapidly responding 24 hours a day.
한편, 챗봇이 인식하여 응답할 수 있는 질의 대상이 텍스트 데이터에 국한되어 있어, 텍스트 데이터의 질의를 제공하기 어려운 사용자는 챗봇 기능을 활용하는 데에 큰 어려움이 발생할 수 있다. 이러한 문제점들을 해결하기 위하여, 다양한 형태의 데이터를 인식함으로써 더욱 폭넓은 질의 응답 기능을 제공할 수 있는 챗봇의 개발을 위한 기술적 수단이 요구된다.On the other hand, since the query object that the chatbot can recognize and respond to is limited to text data, a user who has difficulty in providing the query of the text data may have a great difficulty in using the chatbot function. In order to solve these problems, a technical means for developing a chatbot capable of providing a wider range of query and response functions by recognizing various types of data is required.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계; 상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계; 상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 단계; 상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 단계; 상기 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및 상기 선택된 응답 메시지를 사용자에게 제공하는 단계를 포함할 수 있다.A query response method using a chatbot according to an embodiment may include receiving a user input including a query target through a user interface; Determining whether the query target is image data; If the query target is the image data, performing image data preprocessing on the image data; Detecting a character from the image data on which the image data pre-processing has been performed; Selecting a response message corresponding to the image data among candidate response messages stored in a database, based on a character extracted from the image data; And providing the selected response message to the user.
상기 이미지 데이터 전처리를 수행하는 단계는, 상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행하는 단계를 포함할 수 있다.The preprocessing of the image data may include performing at least one of adjusting the resolution of the image data, changing the color of the image data to grayscale, and binarizing the image data.
상기 이미지 데이터에서 문자를 검출하는 단계는, 광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출하는 단계를 포함할 수 있다.The detecting of a character from the image data may include detecting a character included in the image data using optical character recognition.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하는 단계; 및 상기 토큰화된 문자열 전체를 토큰 리스트로 리스트화하는 단계를 더 포함할 수 있다.A query response method using a chatbot according to an embodiment may include tokenizing the entire string when the number of character strings detected in the image data is equal to or less than a preset threshold; And listing the entire tokenized string as a token list.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계; 상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및 상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계를 더 포함할 수 있다.A query response method using a chatbot according to an embodiment may include tokenizing the entire string when the number of character strings extracted from the image data is greater than a preset threshold; Randomly extracting a number of tokenized strings based on the threshold value; And listing the randomized tokenized strings as a token list.
상기 응답 메시지를 선택하는 단계는, 상기 토큰 리스트에 대해 형태소 분석을 수행하는 단계; 및 상기 형태소 분석 결과와 상기 데이터베이스에 저장된 후보 응답 메시지들을 비교하고, 상기 비교 결과에 기초하여 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계를 포함할 수 있다.The selecting of the response message may include performing morpheme analysis on the token list; And comparing the morpheme analysis result with candidate response messages stored in the database, and selecting a response message corresponding to the image data based on the comparison result.
상기 형태소 분석을 수행하는 단계는, 상기 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출하고, 추출된 단어들 중에서 서로 중복되는 단어를 제거하는 단계를 포함할 수 있다.The step of performing the morpheme analysis may include extracting words included in the string through morpheme analysis of the string included in the token list, and removing words that overlap with each other among the extracted words.
상기 응답 메시지를 선택하는 단계는, 상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및 상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계를 포함할 수 있다.The selecting of the response message may include calculating a similarity between words included in candidate response messages stored in the database and words extracted from a string included in the token list; And selecting, among the candidate response messages, a candidate response message that satisfies the preset condition of the similarity as a response message corresponding to the image data.
상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계를 더 포함할 수 있다.When the similarity does not satisfy a preset condition, the method may further include providing a response message including a non-response message to the user.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계; 상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계; 상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에서 문자를 검출하는 단계; 상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하여 토큰 리스트를 생성하는 단계; 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 상기 유사도에 기초하여 상기 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및 상기 선택된 응답 메시지를 사용자에게 제공하는 단계를 포함할 수 있다.A query response method using a chatbot according to an embodiment may include receiving a user input including a query target through a user interface; Determining whether the query target is image data; If the query target is the image data, detecting a character from the image data; Generating a token list by tokenizing the entire character string when the number of character strings detected in the image data is equal to or less than a preset threshold; Calculating similarity between words included in candidate response messages stored in a database and words extracted from a string included in the token list; Selecting a response message corresponding to the image data among the candidate response messages based on the similarity; And providing the selected response message to the user.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계; 상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및 상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계를 더 포함할 수 있다.A query response method using a chatbot according to an embodiment may include tokenizing the entire string when the number of character strings extracted from the image data is greater than a preset threshold; Randomly extracting a number of tokenized strings based on the threshold value; And listing the randomized tokenized strings as a token list.
상기 응답 메시지를 선택하는 단계는, 상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및 상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계를 포함할 수 있다.The selecting of the response message may include calculating a similarity between words included in candidate response messages stored in the database and words extracted from a string included in the token list; And selecting, among the candidate response messages, a candidate response message that satisfies the preset condition of the similarity as a response message corresponding to the image data.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계를 더 포함할 수 있다.The query response method using a chatbot according to an embodiment may further include providing a response message including a non-response message to the user when the similarity does not satisfy a preset condition.
일 실시예에 따른 챗봇을 이용한 질의 응답 장치는, 질의 대상을 포함하는 사용자 입력을 수신하는 사용자 인터페이스; 상기 질의 대상이 이미지 데이터인지 여부를 판단하는 판단부; 상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부; 상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 문자 검출부; 상기 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 처리부; 및 상기 선택된 응답 메시지를 사용자에게 제공하는 출력부를 포함할 수 있다.A query response device using a chatbot according to an embodiment includes a user interface for receiving a user input including a query target; A determination unit to determine whether the query target is image data; An image data pre-processing unit performing pre-processing of image data on the image data when the query target is the image data; A character detecting unit detecting a character from the image data on which the image data pre-processing has been performed; A processing unit for selecting a response message corresponding to the image data among candidate response messages stored in a database based on a character extracted from the image data; And an output unit providing the selected response message to a user.
상기 이미지 데이터 전처리부는, 상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행할 수 있다.The image data pre-processor may perform at least one of adjusting the resolution of the image data, changing the color of the image data to grayscale, and binarizing the image data.
상기 문자 검출부는, 광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출할 수 있다.The character detection unit may detect a character included in the image data using optical character recognition.
상기 문자 검출부는, 상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하고, 상기 토큰화된 문자열 전체를 토큰 리스트로 리스트화할 수 있다.When the number of character strings detected in the image data is less than or equal to a preset threshold, the character detector may tokenize the entire character string and list the entire tokenized character string as a token list.
상기 문자 검출부는, 상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하고, 상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하고, 상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다.When the number of character strings extracted from the image data is greater than a preset threshold value, the character detection unit tokenizes the entire character string and randomly extracts the number of character strings based on the threshold value among the tokenized character strings, The randomized tokenized string may be listed as a token list.
상기 처리부는, 상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하고, 상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택할 수 있다.The processing unit calculates the similarity between words included in candidate response messages stored in the database and words extracted from the string included in the token list, and the similarity among the candidate response messages satisfies a preset condition. The candidate response message to be selected may be selected as a response message corresponding to the image data.
상기 처리부는, 상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 선택할 수 있다.When the similarity does not satisfy a preset condition, the processing unit may select a response message including a non-response message.
일 실시예에 따르면, 챗봇을 이용한 질의 응답 방법에서 질의 대상이 텍스트 데이터에 한정되지 않고, 이미지 데이터가 포함된 질의 대상에 대한 응답을 제공할 수 있어 보다 다양한 형태의 질의 응답이 가능해 진다..According to an embodiment, in the query response method using a chatbot, a query target is not limited to text data, and a response to a query target including image data can be provided, thereby enabling various types of query responses.
일 실시예에 따르면, 이미지 데이터가 포함된 질의 대상을 입력받아 이미지 데이터에 포함된 문자를 검출하고, 검출된 문자를 기반으로 챗봇 장치의 데이터베이스에 저장된 후보 응답 메시지 중 가장 유사도가 높은 후보 응답 메시지를 응답 데이터로 선택하여 제공함으로써 이미지 데이터가 포함된 질의 대상에 대해서도 적절한 응답 데이터 제공이 가능해 진다.According to an embodiment, a query target containing image data is received, a character included in the image data is detected, and a candidate response message having the highest similarity among candidate response messages stored in the chatbot device database based on the detected character By selecting and providing as response data, it is possible to provide appropriate response data for a query target including image data.
도 1은 일 실시예에 따른 챗봇을 이용한 질의 응답 시스템의 전체적인 구성을 도시한 도면이다.1 is a view showing the overall configuration of a query response system using a chatbot according to an embodiment.
도 2는 일 실시예에 따른 챗봇을 이용한 질의 응답 방법의 동작을 설명하기 위한 흐름도이다.2 is a flow chart for explaining the operation of the query response method using a chatbot according to an embodiment.
도 3 및 도 4는 일 실시예에 따른 챗봇을 이용한 질의 응답 방법의 일례를 설명하기 위한 흐름도들이다.3 and 4 are flowcharts for explaining an example of a query response method using a chatbot according to an embodiment.
도 5는 일 실시예에 따른 챗봇을 이용한 질의 응답 장치의 구성을 도시하는 도면이다.5 is a diagram illustrating the configuration of a query response device using a chatbot according to an embodiment.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, various modifications may be made to the embodiments, and the scope of the patent application right is not limited or limited by these embodiments. It should be understood that all modifications, equivalents, or substitutes for the embodiments are included in the scope of rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described in the specification, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms, such as those defined in a commonly used dictionary, should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related well-known technologies may unnecessarily obscure the subject matter of the embodiments, detailed descriptions thereof will be omitted.
도 1은 일 실시예에 따른 챗봇을 이용한 질의 응답 시스템의 전체적인 구성을 도시한 도면이다.1 is a view showing the overall configuration of a query response system using a chatbot according to an embodiment.
도 1을 참조하면, 챗봇을 이용한 질의 응답 장치(100)는 사용자로부터 질의를 받으면 질의에 대응하는 응답을 챗봇(chatbot)을 이용하여 사용자에게 제공하는 장치이다. 예를 들어, 질의 응답 장치(100)는 텍스트 형태의 질의뿐만 아니라 이미지 형태의 질의를 수신할 수도 있고, 각각의 질의를 분석하여 질의에 적합한 최적의 응답을 도출하여 사용자에게 제공할 수 있다.Referring to FIG. 1, when a query is received from a user, the query response device 100 using a chatbot is a device that provides a response to the query to the user using a chatbot. For example, the query response device 100 may receive an image type query as well as a text type query, and analyze each query to derive an optimal response suitable for the query and provide it to the user.
질의 응답 장치(100)는 이미지 데이터를 분석하는 이미지 데이터 분석부(105), 형태소를 분석하는 형태소 분석부(110) 및 응답 메시지를 선택하여 사용자에게 제공하는 응답 메시지 제공부(115) 및 사용자 입력을 수신할 수 있는 사용자 인터페이스(160)를 포함할 수 있다.The query response device 100 includes an image data analysis unit 105 for analyzing image data, a morpheme analysis unit 110 for analyzing morphemes, and a response message providing unit 115 for selecting and providing a response message to a user, and user input It may include a user interface 160 that can receive.
일 실시예에서 이미지 데이터 분석부(105)는 수신한 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부(120), 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출하는 문자 검출부(125) 및 검출된 문자의 문자열을 토큰화하여 토큰화된 문자열을 토큰 리스트로 리스트화하는 토큰화 수행부(130)를 포함할 수 있다.In one embodiment, the image data analysis unit 105 includes an image data pre-processing unit 120 that performs image data pre-processing on the received image data, a character detection unit 125 that detects characters from the image data on which image data pre-processing has been performed, and It may include a tokenization performing unit 130 to tokenize the detected character string to list the tokenized character string as a token list.
형태소 분석부(110)는 사용자 입력에 포함된 질의 대상이 이미지 데이터인 경우에, 토큰 리스트로 리스트화된 문자열에 형태소 분석을 수행하여 단어를 검출하고, 중복된 단어를 제거하는 처리부 2(135) 및 사용자 입력에 포함된 질의 대상이 텍스트 데이터인 경우에, 텍스트 데이터에 대해 형태소 분석을 통한 문장 성분 분석 결과를 태그로 분류하여 텍스트 데이터에 태그 정보를 추가하는 처리부 1(140)을 포함할 수 있다. 응답 메시지 제공부(115)는 형태소 분석부(110)에서 전달받은 형태소 분석 결과와 후보 응답 메시지 간의 유사도를 계산하여 미리 설정된 유사도 조건을 만족시키는 후보 응답 메시지를 응답 메시지로 선택하는 처리부(145), 후보 응답 메시지를 저장하는 데이터베이스(150) 및 응답 메시지를 사용자에게 제공할 수 있는 출력부(155)를 포함할 수 있다.The morpheme analysis unit 110 detects words by performing morpheme analysis on a string listed as a token list when the query target included in the user input is image data, and removes duplicate words from the processing unit 2 135 And when the query target included in the user input is text data, the processing unit 1 140 that classifies the text component analysis result through morphological analysis as a tag and adds tag information to the text data. . The response message providing unit 115 calculates the similarity between the morpheme analysis result received from the morpheme analysis unit 110 and the candidate response message, and selects a candidate response message that satisfies a preset similarity condition as a response message, 145 It may include a database 150 for storing the candidate response message and an output unit 155 capable of providing the response message to the user.
위 실시예에서, 사용자로부터 수신한 사용자 입력에 포함된 질의 대상이 이미지 데이터일 경우, 사용자로부터 수신한 이미지 데이터는 이미지 데이터 전처리부(120)에서 이미지 데이터 전처리가 수행될 수 있다. 이미지 데이터 전처리부(120)는 문자 검출부(125)가 이미지 데이터에 포함된 문자를 검출할 수 있도록 이미지 데이터 전처리를 수행한다. 이미지 데이터 전처리부(120)는 이미지 데이터에 대해 해상도를 조정하고, 이미지 데이터의 컬러를 회색조로 변경하여 이미지 데이터의 이진화를 수행할 수 있다. 문자 검출부(125)는 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다. 문자 검출부(125)는 이미지 데이터에 포함된 문자를 기계가 읽을 수 있는 문자로 변환하는 광학 문자 인식(Optical Character Recognition) 기능을 활용하여 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다. 문자 검출부(125)에서 검출된 문자의 문자열은 토큰화 수행부(130)에서 토큰화될 수 있고, 토큰화된 문자열은 토큰 리스트로 리스트화될 수 있다.In the above embodiment, when the query target included in the user input received from the user is image data, the image data received from the user may be pre-processed by the image data preprocessing unit 120. The image data pre-processing unit 120 performs image data pre-processing so that the character detection unit 125 can detect characters included in the image data. The image data pre-processing unit 120 may perform binarization of the image data by adjusting the resolution of the image data and changing the color of the image data to grayscale. The character detection unit 125 may detect characters from image data on which image data preprocessing has been performed. The character detector 125 may detect a character from the pre-processed image data by utilizing an optical character recognition function that converts a character included in the image data into a machine-readable character. The character string detected by the character detector 125 may be tokenized by the tokenization performer 130, and the tokenized character string may be listed as a token list.
이미지 데이터 분석부(105)에서 이미지 데이터 전처리가 수행되고, 문자가 검출되고, 토큰화가 수행된 후 리스트화된 문자열의 토큰 리스트는 형태소 분석부(110)에 포함된 처리부 2(135)에서 형태소 분석이 수행될 수 있다. 처리부 2(135)는 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출할 수 있다. 형태소 분석 결과는 응답 메시지 제공부(115)에 포함된 처리부(145)에서 데이터베이스(150)에 저장되어 있는 후보 응답 메시지 간의 유사도가 계산될 수 있다. 처리부(145)는 형태소 분석 결과에 포함된 단어들과 후보 응답 메시지에 포함된 단어들 간의 유사도를 계산하여, 미리 설정된 유사도 조건을 만족하는 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 유사도 조건을 만족하는 후보 응답 메시지가 없을 경우, 처리부(145)는 응답 불가 메시지를 응답 메시지로 선택할 수 있다. 출력부(155)는 처리부(145)에서 선택한 응답 메시지를 사용자 인터페이스를 통해 사용자에게 제공할 수 있다.After the image data preprocessing is performed by the image data analysis unit 105, characters are detected, and tokenization is performed, the token list of the listed string is morphologically analyzed by the processing unit 2 135 included in the morpheme analysis unit 110 This can be done. The processor 2 135 may extract words included in the string through morpheme analysis of the string included in the token list. Similarity between candidate response messages stored in the database 150 in the processing unit 145 included in the response message providing unit 115 may be calculated as a result of the morpheme analysis. The processor 145 may calculate a similarity between words included in the morpheme analysis result and words included in the candidate response message, and select a candidate response message that satisfies a preset similarity condition as a response message. If there is no candidate response message that satisfies the similarity condition, the processing unit 145 may select a non-response message as the response message. The output unit 155 may provide a response message selected by the processing unit 145 to the user through a user interface.
다른 실시예에서, 사용자로부터 수신한 사용자 입력에 포함된 질의 대상이 텍스트 데이터일 경우, 사용자는 챗봇을 이용한 질의 응답 장치(100)의 형태소 분석부(110)와 응답 메시지 제공부(115)를 통해 질의 대상과 연관된 답변을 제공받을 수 있다. 텍스트 데이터는 형태소 분석부(110)에 포함된 처리부 1(140)에서 형태소 분석을 통한 문장 성분 분석이 수행되어, 문장 성분 분석 결과를 태그로 분류하여 텍스트 데이터에 태그 정보가 추가될 수 있다. 형태소 분석을 통한 문장 성분 분석 결과는 응답 메시지 제공부(115)에 포함된 처리부(150)에서 데이터베이스(150)에 저장된 후보 응답 메시지 간에 문장 구조 패턴이 일치하는지 여부를 판단할 수 있다. 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지가 존재하는 것으로 판단되는 경우, 처리부(150)는 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지가 존재하지 않거나 두 개 이상 존재하는 경우, 처리부(150)는 응답 불가 메시지를 응답 메시지로 선택할 수 있다. 처리부(150)에서 선택된 응답 메시지는, 출력부(155)를 통해 사용자에게 제공될 수 있다.In another embodiment, when the query target included in the user input received from the user is text data, the user through the morpheme analysis unit 110 and the response message providing unit 115 of the query response device 100 using a chatbot You can be provided with answers related to the query target. In the text data, the sentence component analysis through the morpheme analysis is performed in the processing unit 1 140 included in the morpheme analysis unit 110, and the tag information may be added to the text data by classifying the sentence component analysis results into tags. As a result of analyzing the sentence components through the morpheme analysis, the processing unit 150 included in the response message providing unit 115 may determine whether the sentence structure patterns match between candidate response messages stored in the database 150. When it is determined that a candidate response message having a pattern matching the morpheme analysis result exists, the processing unit 150 may select a candidate response message having a pattern matching the morpheme analysis result as a response message. When there are no or two or more candidate response messages that match the morpheme analysis result and the pattern, the processing unit 150 may select the non-response message as the response message. The response message selected by the processing unit 150 may be provided to the user through the output unit 155.
이하에서는, 도면들을 참조하여 챗봇을 이용한 질의 응답 방법을 보다 자세히 설명한다.Hereinafter, a method of answering a query using a chatbot will be described in more detail with reference to the drawings.
도 2는 일 실시예에 따른 챗봇을 이용한 질의 응답 방법의 동작을 설명하기 위한 흐름도이다. 챗봇을 이용한 질의 응답 방법은 본 명세서에서 설명되는 챗봇을 이용한 질의 응답 장치에 의해 수행될 수 있다.2 is a flow chart for explaining the operation of the query response method using a chatbot according to an embodiment. A query response method using a chatbot may be performed by a query response device using a chatbot described herein.
도 2를 참조하면, 단계(210)에서 질의 응답 장치는 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신할 수 있다. 일 실시예에서, 챗봇은 이미지, 텍스트 등의 형태의 데이터를 포함하는 질의 대상을 사용자 입력으로 수신할 수 있다.Referring to FIG. 2, in step 210, the query response device may receive a user input including a query target through a user interface. In one embodiment, the chatbot may receive a query target including data in the form of an image, text, or the like as user input.
단계(220)에서 질의 응답 장치는 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 사용자 입력에 포함된 질의 대상이 이미지 데이터인 것으로 판단되는 경우, 단계(230)에서 질의 응답 장치는 이미지 데이터에 이미지 데이터 전처리를 수행할 수 있다. 일 실시예에서, 질의 응답 장치는 사용자 입력으로 수신한 이미지 데이터의 해상도 조정, 이미지 데이터의 컬러를 회색조로 변경 및 이미지 데이터의 이진화 등을 수행할 수 있다.In step 220, the query response device may determine whether the query target is image data. When it is determined that the query target included in the user input is image data, in step 230, the query response device may perform image data preprocessing on the image data. In one embodiment, the query response device may perform resolution adjustment of image data received as user input, change color of image data to grayscale, binarization of image data, and the like.
단계(240)에서, 질의 응답 장치는 해상도 조정, 컬러를 회색조로 변경 및 미리 설정된 임계값을 기준으로 한 이진화 등을 통해 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다.In step 240, the query and response device may detect a character in the image data in which the image data pre-processing is performed through resolution adjustment, color change to grayscale, and binarization based on a preset threshold.
일 실시예에서, 질의 응답 장치는 광학 문자 인식(OCR)을 이용하여 이미지 데이터에 포함된 문자를 검출할 수 있다. 여기서, 광학 문자 인식은 이미지 데이터에 포함된 문자를 기계가 읽을 수 있는 문자로 변환하는 기능을 의미할 수 있다. 광학 문자 인식을 통해 이미지 데이터에서 검출된 문자는 문자열의 공백문자를 기준으로 토큰화될 수 있고, 문자열의 분량이 일정 기준치, 즉 미리 정해진 임계값을 초과하는 경우, 토큰화된 문자열 중 임계값에 기초한 개수만큼 문자열을 임의 추출할 수 있다. 예를 들어, 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 문자열 전체를 토큰화하고, 토큰화된 문자열 전체를 토큰 리스트로 리스트화할 수 있다. 반면에, 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 문자열 전체를 토큰화하고, 토큰화된 문자열 중 임계값의 다섯 배에 달하는 개수만큼 토큰화된 문자열을 임의로 추출할 수 있다. 또한, 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다. In one embodiment, the query response device may detect a character included in the image data using optical character recognition (OCR). Here, the optical character recognition may mean a function of converting characters included in image data into machine-readable characters. Characters detected in the image data through optical character recognition may be tokenized based on the blank character of the character string, and if the amount of the character string exceeds a certain threshold value, that is, a predetermined threshold value, the character value is assigned to a threshold value among the tokenized character strings. Strings can be randomly extracted as many as the base number. For example, if the number of character strings is equal to or less than a preset threshold, the entire string can be tokenized and the entire tokenized string can be listed as a token list. On the other hand, if the number of character strings is greater than a preset threshold, the entire string can be tokenized, and the tokenized string can be arbitrarily extracted from the tokenized string up to five times the threshold. Also, it is possible to list a randomized tokenized string as a token list.
단계(250)에서, 질의 응답 장치는 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 이미지 데이터에 대응하는 응답 메시지를 선택할 수 있다.In step 250, the query response device may select a response message corresponding to the image data among candidate response messages stored in the database, based on the characters extracted from the image data.
일 실시예에서, 질의 응답 장치는 토큰화된 문자열로 구성된 토큰 리스트에 대해 형태소 분석을 수행할 수 있다. 여기서, 형태소 분석은 토큰화된 문자열을 뜻을 가진 가장 작은 말의 단위로 분류하는 것을 의미할 수 있다. 또한 형태소 분석은 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출하고, 추출된 단어들 중에서 서로 중복되는 단어를 제거하는 과정이 포함될 수 있다. 질의 응답 장치는 형태소 분석을 통해 문자열에서 추출된 단어들과 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들 간의 유사도를 계산할 수 있다. 질의 응답 장치는 후보 응답 메시지들 중에서 계산된 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 이미지 데이터에 대응하는 응답 메시지를 선택할 수 있다. 이때, 미리 설정된 조건을 만족시키는 유사도에 대응하는 후보 응답 메시지가 없을 경우, 질의 응답 장치는 응답 불가 메시지를 포함하는 응답 메시지를 선택할 수 있다.In one embodiment, the query response device may perform morpheme analysis on a token list composed of tokenized strings. Here, morpheme analysis may mean classifying the tokenized string into the smallest unit of words with meaning. Also, the morpheme analysis may include a process of extracting words included in the string through morphological analysis of the string included in the token list, and removing words that overlap with each other among the extracted words. The query response device may calculate the similarity between words extracted from the string through morphological analysis and words included in candidate response messages stored in the database. The query response device may select a candidate response message corresponding to the image data from a candidate response message that satisfies a preset condition from among the candidate response messages. At this time, if there is no candidate response message corresponding to the similarity level that satisfies the preset condition, the query response device may select a response message including a non-response message.
단계(260)에서, 질의 응답 장치는 선택된 응답 메시지를 사용자에게 제공할 수 있다.In step 260, the query response device may provide the selected response message to the user.
다른 실시예에서, 단계 (220)에서 질의 응답 장치는 질의 대상이 이미지 데이터인지 여부를 판단한 결과, 질의 대상이 이미지 데이터가 아닌 것으로 판단된 경우, 단계(270)에서, 사용자 입력에 포함된 텍스트 데이터에 포함된 문자를 검출할 수 있다.In another embodiment, in step 220, the query response device determines whether the query target is image data, and when it is determined that the query target is not image data, in step 270, text data included in the user input Characters included in can be detected.
도 3 및 도 4는 일 실시예에 따른 질의 응답 방법의 일례를 설명하기 위한 흐름도들이다.3 and 4 are flowcharts for explaining an example of a method for answering a query according to an embodiment.
도3을 참조하면, 단계(305)에서 질의 응답 장치는 사용자 인터페이스를 통해 사용자로부터 질의 대상을 포함하는 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 사용자 입력은 이미지 데이터 및 텍스트 데이터를 포함할 수 있다.Referring to FIG. 3, in step 305, the query response device may receive a user input including a query target from a user through a user interface. According to an embodiment, the user input may include image data and text data.
단계(310)에서, 질의 응답 장치는 사용자 입력에 포함된 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 단계(310)에서 사용자 입력에 포함된 질의 대상이 텍스트 데이터로 판단되는 경우, 단계(350)에서 질의 응답 장치는 형태소 분석을 통한 문장 성분 분석 결과를 태그로 분류하여 텍스트 데이터에 태그 정보를 추가할 수 있다.In step 310, the query response device may determine whether the query target included in the user input is image data. If it is determined in step 310 that the query target included in the user input is text data, in step 350 the query response device classifies the sentence component analysis result through the morpheme analysis into tags and adds tag information to the text data. Can.
이와 다르게, 사용자 입력에 포함된 질의 대상이 이미지 데이터로 판단되는 경우, 질의 응답 장치는 단계(315)에서 수신한 이미지 데이터에 대한 이미지 데이터 전처리를 수행할 수 있다. 이미지 데이터 전처리를 수행하는 과정에서 질의 응답 장치는 이미지 데이터의 해상도를 문자 추출이 용이한 해상도로 조정할 수 있고, 이미지 데이터의 컬러를 회색조로 변경하여 적응적 경계화(Adaptive Threshold)를 통해 이미지 데이터의 이진화를 수행할 수 있다. 이미지 데이터를 구역으로 나누어 구역별로 각각 이진화를 처리하는 적응적 경계화를 통해 이미지 데이터의 이진화를 수행함으로써, 이미지 데이터 전처리부는 이미지 데이터의 전체를 기준으로 이진화를 수행하는 것보다 이미지 데이터에 포함된 문자를 추출하기에 용이한 이미지 데이터의 이진화를 수행할 수 있다.Alternatively, when it is determined that the query target included in the user input is the image data, the query response device may perform preprocessing of the image data on the image data received in operation 315. In the process of performing the image data pre-processing, the Q&A device can adjust the resolution of the image data to a resolution that facilitates character extraction, and changes the color of the image data to grayscale, thereby adapting the image data through adaptive thresholding. Binarization can be performed. By dividing the image data into zones and performing binarization of the image data through adaptive demarcation, which processes binarization for each zone, the image data preprocessor performs characterization in the image data rather than binarization based on the entire image data. Binarization of image data that is easy to extract can be performed.
단계(320)에서, 질의 응답 장치는 이미지 데이터에서 문자를 검출할 수 있다. 일 실시예에서, 질의 응답 장치가 이미지 데이터에서 문자를 검출하기 위하여 광학 문자 인식(Optical Character Recognition) 기능을 활용할 수 있다.In step 320, the query response device may detect a character in the image data. In one embodiment, the query response device may utilize an optical character recognition function to detect characters in image data.
단계(320)에서 검출된 문자와 관련하여, 단계(325)에서 질의 응답 장치는 문자의 문자열 개수가 미리 설정된 임계값보다 큰지 또는 이하인지 여부를 판단할 수 있다. 검출된 문자열의 개수가 미리 설정된 임계값보다 크다고 판단된 경우, 단계(330)에서, 질의 응답 장치는 전체 문자열을 문자열의 공백문자를 기준으로 토큰화할 수 있고, 토큰화된 문자열 중 임계값의 N배(N은 자연수)에 달하는 개수만큼 토큰화된 문자열을 임의로 추출할 수 있다. 검출된 문자열의 개수가 미리 설정된 임계값보다 작거나 같다고 판단된 경우, 단계(335)에서, 질의 응답 장치는 전체 문자열을 문자열의 공백문자를 기준으로 토큰화할 수 있다.In connection with the character detected in step 320, the query response device in step 325 may determine whether the number of character strings is greater than or less than a preset threshold. If it is determined that the number of detected strings is greater than a preset threshold, in step 330, the query response device may tokenize the entire string based on the blank character of the string, and N of the threshold among the tokenized strings The tokenized string can be randomly extracted as many times as the number of times (N is a natural number). If it is determined that the number of detected strings is less than or equal to a preset threshold, in step 335, the query response device may tokenize the entire string based on the blank character of the string.
단계(340)에서 질의 응답 장치는 단계(330) 및 단계(335)에서 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다.In step 340, the query response device may list the strings tokenized in steps 330 and 335 as a token list.
단계(345)에서, 질의 응답 장치는 토큰 리스트에 포함된 문자열에 형태소 분석을 수행할 수 있다. 형태소 분석을 통해, 예를 들어 “철수가 책을 읽었다”의 문장은 “철수/가/책/을/읽/었/다”로 분석될 수 있다. 일 실시예에서, 질의 응답 장치는 형태소 분석을 수행을 통해 분류된 문자열 중에서 단어들을 추출할 수 있고, 추출된 단어들 중에서 중복되는 단어들을 제거할 수 있다.In step 345, the query response device may perform morpheme analysis on the string included in the token list. Through the morpheme analysis, for example, the sentence “Cheolsu has read a book” can be analyzed as “Cheolcheong/Ga/Book/Read/Read/It”. In one embodiment, the query response device may extract words from the classified string through performing morphological analysis, and remove duplicate words from the extracted words.
단계(345)를 수행한 결과로 문자열에서 추출된 단어 및 단계(350)을 수행한 결과로 분석된 텍스트 데이터를 기반으로, 단계(355)에서 질의 응답 장치는 형태소 분석 결과를 생성할 수 있다.Based on the words extracted from the string as a result of performing step 345 and the text data analyzed as a result of performing step 350, the query answering device in step 355 may generate a morpheme analysis result.
이후에, 도 4를 참조하면, 도3의 단계(355)에서 생성된 형태소 분석 결과를 기반으로, 단계(405)에서 질의 응답 장치는 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 질의 대상이 이미지 데이터로 판단된 경우, 단계(410)에서 질의 응답 장치는 형태소 분석 결과와 데이터베이스에 저장된 후보 응답 메시지 간의 유사도를 계산할 수 있다.Subsequently, referring to FIG. 4, based on the morpheme analysis result generated in step 355 of FIG. 3, the query answering device in step 405 may determine whether the query target is image data. When it is determined that the query target is image data, in step 410, the query response device may calculate the similarity between the morpheme analysis result and the candidate response message stored in the database.
일 실시예에서, 형태소 분석 결과에 포함된 단어들과 데이터베이스에 저장된 후보 응답 메시지 간의 유사도를 계산하는 방법은 다음과 같을 수 있다. 질의 응답 장치는 데이터베이스에 저장된 각각의 후보 응답 메시지에 포함된 단어들을 검출하여 각 후보 응답 메시지에 대응하는 리스트로 리스트화할 수 있다. 형태소 분석 결과에 포함된 단어들과 리스트에 포함된 후보 응답 메시지에 대응하는 단어들 중에서 서로 일치하는 단어의 개수를, 후보 응답 메시지에 대응하는 리스트에 포함된 단어의 개수로 나눠 형태소 분석 결과에 포함된 단어들과 데이터베이스에 저장된 후보 응답 메시지 간의 유사도를 계산할 수 있다.In one embodiment, a method of calculating the similarity between words included in the morpheme analysis result and candidate response messages stored in the database may be as follows. The query response device may detect words included in each candidate response message stored in the database and list them as a list corresponding to each candidate response message. Among the words included in the morpheme analysis result and the words corresponding to the candidate response message included in the list, the number of words that match each other is divided by the number of words included in the list corresponding to the candidate response message and included in the morpheme analysis result. Similarity can be calculated between the words and candidate response messages stored in the database.
단계(415)에서, 질의 응답 장치는 데이터베이스에 저장된 후보 응답 메시지들에 대응하는 유사도들 중에서 미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하는지 여부를 판단할 수 있다. 미리 정해진 유사도의 조건은 예를 들어, 계산된 유사도들 중에서 최댓값에 대응하는 후보 응답 메시지가 단 하나인 경우가 될 수 있다. 유사도의 최댓값에 대응하는 후보 응답 메시지가 2개 이상 존재하거나, 0개인 경우에는 미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하지 않는다고 판단될 수 있다. In step 415, the query response device may determine whether there is a candidate response message that satisfies a condition of a predetermined similarity among the similarities corresponding to the candidate response messages stored in the database. The condition of the predetermined similarity may be, for example, a case in which there is only one candidate response message corresponding to the maximum value among the calculated similarities. When there are two or more candidate response messages corresponding to the maximum value of the similarity, or 0, it may be determined that there is no candidate response message that satisfies the condition of the predetermined similarity.
미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하는 경우, 단계(420)에서 질의 응답 장치는 해당 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 반대로, 미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하지 않는 경우, 단계(425)에서 질의 응답 장치는 질의 대상에 대응하는 응답 메시지로 응답 불가 메시지를 선택할 수 있다.If there is a candidate response message that satisfies a predetermined similarity condition, in step 420, the query response device may select the candidate response message as a response message. Conversely, when there is no candidate response message that satisfies a predetermined similarity condition, in step 425, the query response device may select a non-response message as a response message corresponding to the query target.
질의 대상이 이미지 데이터로 판단되지 않은 경우, 단계(435)에서 질의 응답 장치는 질의 대상에 대응하는 텍스트 데이터의 형태소 분석 결과를 기반으로 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지가 존재하는지 여부를 판단할 수 있다.If the query target is not determined to be image data, in step 435, the query response device determines whether there is a candidate response message that matches the morpheme analysis result and the pattern based on the morpheme analysis result of the text data corresponding to the query target. I can judge.
형태소 분석 결과와 문장 구조 패턴이 일치하는 후보 응답 메시지가 존재하는 것으로 판단되는 경우, 단계(440)에서 질의 응답 장치는 형태소 분석 결과와 문장 구조 패턴이 일치하는 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 이와 달리, 형태소 분석 결과와 문장 구조 패턴이 일치하는 후보 응답 메시지가 존재하지 않는 것으로 판단되는 경우, 단계(425)에서 질의 응답 장치는 응답 메시지로 응답 불가 메시지를 선택할 수 있다.If it is determined that there is a candidate response message that matches the morpheme analysis result and the sentence structure pattern, in step 440, the query response device may select a candidate response message that matches the morpheme analysis result and the sentence structure pattern as a response message. . On the other hand, if it is determined that there is no candidate response message that matches the morpheme analysis result and the sentence structure pattern, in step 425, the query response device may select a non-response message as the response message.
단계(430)에서 질의 응답 장치는 선택된 응답 메시지를 질의 대상에 대한 응답으로 사용자에게 제공할 수 있다.In step 430, the query response device may provide the selected response message to the user in response to the query target.
도 5는 일 실시예에 따른 챗봇을 이용한 질의 응답 장치의 구성을 도시하는 도면이다.5 is a diagram illustrating the configuration of a query response device using a chatbot according to an embodiment.
도5를 참조하면, 질의 응답 장치(500)는 사용자 입력 인터페이스(510), 판단부(520), 이미지 데이터 전처리부(530), 문자 검출부(540), 처리부(550), 출력부(560) 및 데이터베이스(570)를 포함할 수 있다.Referring to FIG. 5, the query response device 500 includes a user input interface 510, a determination unit 520, an image data pre-processing unit 530, a character detection unit 540, a processing unit 550, and an output unit 560. And a database 570.
사용자 입력 인터페이스(510)는 사용자로부터 질의 대상을 포함하는 사용자 입력을 수신할 수 있다. 판단부(520)는 사용자 입력 인터페이스(510)에서 수신한 사용자 입력에 포함된 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 질의 대상이 이미지 데이터로 판단된 경우, 이미지 데이터 전처리부(530)는 이미지 데이터에 이미지 데이터 전처리를 수행할 수 있다. 여기서, 이미지 데이터 전처리는 이미지 데이터에서 문자를 추출하기 적절한 크기로 이미지 데이터의 크기를 조정, 이미지 데이터의 컬러를 회색조로 변경 및 미리 설정된 임계값을 기준으로 이미지 데이터를 이진화하는 등의 과정이 포함될 수 있다.The user input interface 510 may receive a user input including a query target from a user. The determination unit 520 may determine whether the query target included in the user input received by the user input interface 510 is image data. When it is determined that the query target is image data, the image data preprocessing unit 530 may perform image data preprocessing on the image data. Here, the image data pre-processing may include processes such as resizing the image data to a size suitable for extracting characters from the image data, changing the color of the image data to grayscale, and binarizing the image data based on a preset threshold. have.
문자 검출부(540)는 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다. 문자 검출부(540)는 광학 문자 인식을 이용하여 이미지 데이터에 포함된 문자를 검출할 수 있다. 광학 문자 인식을 통해 이미지 데이터에서 검출된 문자는 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우와 미리 설정된 임계값보다 큰 경우를 분류하여 상이한 방식으로 문자열을 토큰화하고 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다. The character detection unit 540 may detect characters from image data on which image data preprocessing has been performed. The character detection unit 540 may detect a character included in image data using optical character recognition. Characters detected from the image data through optical character recognition classify cases where the number of character strings is equal to or less than a preset threshold value and when the number of character strings is greater than a preset threshold value, and tokenize the strings in different ways and tokenize the strings into a token list Can be listed as
이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값보다 작거나 같은 경우, 문자 검출부(540)는 문자열 전체를 토큰화하고, 토큰화된 문자열 전체를 토큰 리스트로 리스트화할 수 있다. 반면에, 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우에, 문자 검출부(540)는 문자열 전체를 토큰화하고, 토큰화된 문자열 중에서 임계값에 기초한 개수만큼 임의로 토큰을 추출할 수 있다. 여기서 추출된 토큰화된 문자열은 토큰 리스트로 리스트화될 수 있다. 임계값에 기초한 개수는 예를 들어, 임계값의 5배에 달하는 개수가 될 수 있다.If the number of character strings detected in the image data is less than or equal to a preset threshold, the character detector 540 may tokenize the entire character string and list the entire tokenized character string as a token list. On the other hand, when the number of character strings detected in the image data is greater than a preset threshold, the character detector 540 tokenizes the entire character string, and randomly tokenizes the number of tokenized character strings based on the threshold value. Can be extracted. The extracted tokenized string can be listed as a token list. The number based on the threshold may be, for example, a number reaching 5 times the threshold.
처리부(550)는 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스(570)에 저장된 후보 응답 메시지들 중 이미지 데이터에 대응하는 응답 메시지를 선택할 수 있다. The processor 550 may select a response message corresponding to the image data among candidate response messages stored in the database 570 based on the characters extracted from the image data.
일 실시예에서, 처리부(550)는 문자 검출부(540)에서 리스트화 한 토큰 리스트에 대해 형태소 분석을 수행할 수 있다. 처리부(550)가 수행한 형태소 분석의 결과로 추출된 단어들 중에서 중복된 단어들은 제거될 수 있다. 처리부(550)는 토큰 리스트에서 추출된 단어들을 데이터베이스(570)에 저장된 후보 응답 메시지들에 포함된 단어들과 유사도를 계산할 수 있다. 계산된 유사도 중에서 가장 높은 값을 가진 유사도에 대응하는 후보 응답 메시지가 응답 메시지로 선택될 수 있다. 가장 높은 값을 가진 하나의 유사도가 존재하지 않는 경우, 처리부(550)는 응답 불가 메시지를 응답 메시지로 선택할 수 있다. 출력부(560)는 선택된 응답 메시지를 사용자에게 제공할 수 있다.In one embodiment, the processing unit 550 may perform morpheme analysis on the list of tokens listed by the character detection unit 540. Duplicate words may be removed from words extracted as a result of the morpheme analysis performed by the processing unit 550. The processing unit 550 may calculate the similarity of words extracted from the token list to words included in candidate response messages stored in the database 570. A candidate response message corresponding to the similarity having the highest value among the calculated similarities may be selected as the response message. If there is no single similarity with the highest value, the processing unit 550 may select a non-response message as the response message. The output unit 560 may provide the selected response message to the user.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the devices and components described in the embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, field programmable gate arrays (FPGAs). , A programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose computers or special purpose computers. The processing device may run an operating system (OS) and one or more software applications running on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the signal wave being transmitted. The software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. Includes hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by a limited embodiment and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, proper results can be achieved even if replaced or substituted by equivalents.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (21)

  1. 챗봇을 이용한 질의 응답 방법에 있어서,In the question and answer method using the chatbot,
    사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계;Receiving a user input including a query target through a user interface;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계;Determining whether the query target is image data;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 단계;If the query target is the image data, performing image data preprocessing on the image data;
    상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 단계;Detecting a character from the image data on which the image data pre-processing has been performed;
    상기 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및Selecting a response message corresponding to the image data among candidate response messages stored in a database, based on a character extracted from the image data; And
    상기 선택된 응답 메시지를 사용자에게 제공하는 단계Providing the selected response message to a user
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  2. 제1항에 있어서,According to claim 1,
    상기 이미지 데이터 전처리를 수행하는 단계는,Step of performing the image data pre-processing,
    상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행하는 단계Adjusting the resolution of the image data, changing the color of the image data to grayscale, and performing at least one of binarization of the image data
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  3. 제1항에 있어서,According to claim 1,
    상기 이미지 데이터에서 문자를 검출하는 단계는,The step of detecting a character in the image data,
    광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출하는 단계Detecting a character included in the image data using optical character recognition
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  4. 제1항에 있어서,According to claim 1,
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하는 단계; 및Tokenizing the entire character string when the number of character strings detected in the image data is equal to or less than a preset threshold; And
    상기 토큰화된 문자열 전체를 토큰 리스트로 리스트화하는 단계Listing the entire tokenized string into a token list
    를 더 포함하는,Further comprising,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  5. 제1항에 있어서,According to claim 1,
    상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계;Tokenizing the entire string if the number of character strings extracted from the image data is greater than a preset threshold;
    상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및Randomly extracting a number of tokenized strings based on the threshold value; And
    상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계Listing the randomized tokenized strings as a token list
    를 더 포함하는,Further comprising,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  6. 제5항에 있어서,The method of claim 5,
    상기 응답 메시지를 선택하는 단계는,The step of selecting the response message,
    상기 토큰 리스트에 대해 형태소 분석을 수행하는 단계; 및Performing morpheme analysis on the token list; And
    상기 형태소 분석 결과와 상기 데이터베이스에 저장된 후보 응답 메시지들을 비교하고, 상기 비교 결과에 기초하여 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계Comparing the morpheme analysis result with candidate response messages stored in the database, and selecting a response message corresponding to the image data based on the comparison result
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  7. 제6항에 있어서,The method of claim 6,
    상기 형태소 분석을 수행하는 단계는,The step of performing the morpheme analysis,
    상기 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출하고, 추출된 단어들 중에서 서로 중복되는 단어를 제거하는 단계Extracting words contained in the string through morpheme analysis of the string included in the token list, and removing words that overlap with each other among the extracted words
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  8. 제7항에 있어서,The method of claim 7,
    상기 응답 메시지를 선택하는 단계는,The step of selecting the response message,
    상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및Calculating similarity between words included in candidate response messages stored in the database and words extracted from a string included in the token list; And
    상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계Selecting, among the candidate response messages, a candidate response message that satisfies the preset condition of the similarity as a response message corresponding to the image data.
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  9. 제8항에 있어서,The method of claim 8,
    상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계If the similarity does not satisfy a preset condition, providing a response message including a non-response message to the user
    를 더 포함하는,Further comprising,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  10. 챗봇을 이용한 질의 응답 방법에 있어서,In the question and answer method using the chatbot,
    사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계;Receiving a user input including a query target through a user interface;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계;Determining whether the query target is image data;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에서 문자를 검출하는 단계;If the query target is the image data, detecting a character from the image data;
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하여 토큰 리스트를 생성하는 단계;Generating a token list by tokenizing the entire character string when the number of character strings detected in the image data is equal to or less than a preset threshold;
    데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계;Calculating similarity between words included in candidate response messages stored in a database and words extracted from a string included in the token list;
    상기 유사도에 기초하여 상기 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및Selecting a response message corresponding to the image data among the candidate response messages based on the similarity; And
    상기 선택된 응답 메시지를 사용자에게 제공하는 단계Providing the selected response message to a user
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  11. 제10항에 있어서,The method of claim 10,
    상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계;Tokenizing the entire string if the number of character strings extracted from the image data is greater than a preset threshold;
    상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및Randomly extracting a number of tokenized strings based on the threshold value; And
    상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계Listing the randomized tokenized strings as a token list
    를 더 포함하는,Further comprising,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  12. 제10항에 있어서,The method of claim 10,
    상기 응답 메시지를 선택하는 단계는,The step of selecting the response message,
    상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및Calculating similarity between words included in candidate response messages stored in the database and words extracted from a string included in the token list; And
    상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계Selecting, among the candidate response messages, a candidate response message that satisfies the preset condition of the similarity as a response message corresponding to the image data.
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  13. 제8항에 있어서,The method of claim 8,
    상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계If the similarity does not satisfy a preset condition, providing a response message including a non-response message to the user
    를 더 포함하는,Further comprising,
    챗봇을 이용한 질의 응답 방법.How to answer questions using chatbot.
  14. 제1항 내지 제13항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method of any one of claims 1 to 13 in a computer.
  15. 질의 대상을 포함하는 사용자 입력을 수신하는 사용자 인터페이스;A user interface for receiving a user input including a query target;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 판단부;A determination unit to determine whether the query target is image data;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부;An image data pre-processing unit performing pre-processing of image data on the image data when the query target is the image data;
    상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 문자 검출부;A character detecting unit detecting a character from the image data on which the image data pre-processing has been performed;
    상기 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 처리부; 및A processing unit for selecting a response message corresponding to the image data among candidate response messages stored in a database based on a character extracted from the image data; And
    상기 선택된 응답 메시지를 사용자에게 제공하는 출력부An output unit that provides the selected response message to a user
    를 포함하는,Containing,
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
  16. 제15 항에 있어서,The method of claim 15,
    상기 이미지 데이터 전처리부는,The image data pre-processing unit,
    상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행하는,Adjusting the resolution of the image data, changing the color of the image data to grayscale, and performing at least one of binarization of the image data,
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
  17. 제15 항에 있어서,The method of claim 15,
    상기 문자 검출부는,The character detection unit,
    광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출하는,A character included in the image data is detected using optical character recognition,
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
  18. 제15 항에 있어서,The method of claim 15,
    상기 문자 검출부는,The character detection unit,
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하고,If the number of character strings detected in the image data is equal to or less than a preset threshold, tokenize the entire character string,
    상기 토큰화된 문자열 전체를 토큰 리스트로 리스트화하는,Listing the entire tokenized string into a token list,
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
  19. 제15 항에 있어서,The method of claim 15,
    상기 문자 검출부는,The character detection unit,
    상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하고,If the number of character strings extracted from the image data is greater than a preset threshold, tokenize the entire character string,
    상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하고,Randomly extract the number of tokenized strings based on the threshold value,
    상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는,Listing the randomized tokenized string into a token list,
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
  20. 제15 항에 있어서,The method of claim 15,
    상기 처리부는,The processing unit,
    상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하고,The similarity between words included in candidate response messages stored in the database and words extracted from the string included in the token list is calculated,
    상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는Among the candidate response messages, a candidate response message that satisfies the preset condition of similarity is selected as a response message corresponding to the image data.
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
  21. 제20 항에 있어서, The method of claim 20,
    상기 처리부는,The processing unit,
    상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 선택하는,When the similarity does not satisfy the preset condition, selecting a response message including a non-response message,
    챗봇을 이용한 질의 응답 장치.Q&A device using chatbot.
PCT/KR2019/007698 2018-12-27 2019-06-26 Method and device for providing question and answer using chatbot WO2020138607A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180170657A KR101982990B1 (en) 2018-12-27 2018-12-27 Method and apparatus for questioning and answering using chatbot
KR10-2018-0170657 2018-12-27

Publications (1)

Publication Number Publication Date
WO2020138607A1 true WO2020138607A1 (en) 2020-07-02

Family

ID=66679148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/007698 WO2020138607A1 (en) 2018-12-27 2019-06-26 Method and device for providing question and answer using chatbot

Country Status (2)

Country Link
KR (1) KR101982990B1 (en)
WO (1) WO2020138607A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102148451B1 (en) * 2019-10-02 2020-08-27 한경훈 Method, server, and system for providing question and answer data set synchronization service for integration management and inkage of multi-shopping mall
KR20210062809A (en) 2019-11-22 2021-06-01 동아대학교 산학협력단 Artificial Intelligence based Medical Question Answering Chatbot Device and Method
KR102357620B1 (en) * 2019-11-27 2022-02-03 주식회사 와이즈넛 Chatbot integration agent platform system and service method thereof
KR102307289B1 (en) * 2019-11-29 2021-09-30 주식회사 아토즈소프트 Method for providing fishing information based on chatbot and apparatus thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018388A (en) * 2005-08-09 2007-02-14 (주)다음소프트 Method and system of providing conversational agent service using images
KR20070097720A (en) * 2006-03-29 2007-10-05 엔에이치엔(주) Query matching method and system using category matching
KR20090028789A (en) * 2006-06-29 2009-03-19 구글 인코포레이티드 Recognizing text in images
KR20120058538A (en) * 2009-08-07 2012-06-07 구글 인코포레이티드 Architecture for responding to a visual query
KR20180079167A (en) * 2016-12-30 2018-07-10 주식회사 카카오 Messenger searching method based on interaction, and server and application implementing the same method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018388A (en) * 2005-08-09 2007-02-14 (주)다음소프트 Method and system of providing conversational agent service using images
KR20070097720A (en) * 2006-03-29 2007-10-05 엔에이치엔(주) Query matching method and system using category matching
KR20090028789A (en) * 2006-06-29 2009-03-19 구글 인코포레이티드 Recognizing text in images
KR20120058538A (en) * 2009-08-07 2012-06-07 구글 인코포레이티드 Architecture for responding to a visual query
KR20180079167A (en) * 2016-12-30 2018-07-10 주식회사 카카오 Messenger searching method based on interaction, and server and application implementing the same method

Also Published As

Publication number Publication date
KR101982990B1 (en) 2019-05-27

Similar Documents

Publication Publication Date Title
WO2020138607A1 (en) Method and device for providing question and answer using chatbot
Yao et al. A unified framework for multioriented text detection and recognition
WO2018016673A1 (en) Device and method for automatically extracting alternative word, and recording medium for performing same
WO2017164478A1 (en) Method and apparatus for recognizing micro-expressions through deep learning analysis of micro-facial dynamics
WO2013048159A1 (en) Method, apparatus and computer readable recording medium for detecting a location of a face feature point using an adaboost learning algorithm
WO2014030834A1 (en) Method for detecting grammatical errors, error detection device for same, and computer-readable recording medium having method recorded thereon
WO2016208941A1 (en) Text preprocessing method and preprocessing system for performing same
Zhang et al. Video-aided unsupervised grammar induction
CN110879963A (en) Sensitive expression package detection method and device and electronic equipment
Fu et al. Exploiting multiple sources for open-domain hypernym discovery
WO2018101506A1 (en) Document multi-classification device and document multi-classification method for classifying one document into plurality of categories by using lexico-semantic pattern obtained by reconfiguring semantic category of words constituting sentence
WO2018088664A1 (en) Device for automatically detecting morpheme part of speech tagging corpus error by using rough sets, and method therefor
JP5314195B2 (en) Natural language processing apparatus, method, and program
CN103605690A (en) Device and method for recognizing advertising messages in instant messaging
Yasaswi et al. Unsupervised learning based approach for plagiarism detection in programming assignments
Altammami et al. Text segmentation using n-grams to annotate Hadith corpus
WO2019107625A1 (en) Machine translation method and apparatus therefor
CN104966109A (en) Medical laboratory report image classification method and apparatus
Garcia et al. Fakerecogna: A new brazilian corpus for fake news detection
WO2012060534A1 (en) Device and method for building phrasal verb translation pattern using parallel corpus
WO2021172700A1 (en) System for blocking texts extracted from image, and method therefor
WO2020138608A1 (en) Question answering method and apparatus using plurality of chatbots
CN110321557A (en) A kind of file classification method, device, electronic equipment and storage medium
WO2023013826A1 (en) Foreign language phrase learning system based on basic sentence pattern unit segmentation
WO2017164554A1 (en) Method and apparatus for detecting door image by using machine learning algorithm

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19901504

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19901504

Country of ref document: EP

Kind code of ref document: A1