KR102278020B1 - Apparatus and method for processing of question and answer using chatbot - Google Patents
Apparatus and method for processing of question and answer using chatbot Download PDFInfo
- Publication number
- KR102278020B1 KR102278020B1 KR1020190064241A KR20190064241A KR102278020B1 KR 102278020 B1 KR102278020 B1 KR 102278020B1 KR 1020190064241 A KR1020190064241 A KR 1020190064241A KR 20190064241 A KR20190064241 A KR 20190064241A KR 102278020 B1 KR102278020 B1 KR 102278020B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- keyword
- response
- learning
- query
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3325—Reformulation based on results of preceding query
- G06F16/3326—Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
챗봇을 이용한 질의응답 처리 장치 및 방법이 개시된다.
사용자로부터 질의를 수신하고, 수신된 질의에 대응하여 검색된 응답을 사용자에게 전달하는 인터페이스부; 질의와 응답이 매칭되어 저장되는 질의응답 DB; 이전에 사용자로부터 입력받은 질의에서 추출한 키워드와 상기 키워드로 상기 질의응답 DB에서 검색되어 사용자에게 선택된 응답을 학습 세트로 하여 저장 관리하는 학습 DB; 및 상기 사용자로부터 수신한 질의를 분석하여 키워드를 추출하고, 추출된 키워드로 상기 학습 DB에서 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 챗봇 엔진부;를 포함하는 것이 바람직하다.Disclosed are an apparatus and method for processing a question and answer using a chatbot.
an interface unit that receives a query from a user and transmits a response found in response to the received query to the user; a question and answer DB in which questions and answers are matched and stored; a learning DB for storing and managing a keyword extracted from a query previously input by a user and a response selected by the user as a learning set, which is retrieved from the question and answer DB with the keyword; and a chatbot engine unit that extracts keywords by analyzing the query received from the user, searches for a response in the learning DB with the extracted keyword, and provides it to the user through the interface unit.
Description
본 발명은 챗봇을 이용한 질의응답 처리 장치 및 방법에 관한 것으로, 더욱 상세하게는 챗봇(Chatbot)을 이용하여 자연어 형식으로 질의응답을 수행할 수 있도록 하는 챗봇을 이용한 질의응답 처리 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for processing a question and answer using a chatbot, and more particularly, to an apparatus and method for processing a question and answer using a chatbot that enables question and answer processing using a chatbot in a natural language format. .
정보통신기술의 발달로 데이터통신망을 매개하여 다양한 분야에 대한 정보를 적어도 하나 이상의 호스트 서버를 통하여 다수의 가입자 측으로 실시간 제공하는 정보 제공 기술의 개발이 활발하게 진행 중이다.With the development of information and communication technology, the development of information providing technology that provides information on various fields to a plurality of subscribers in real time through at least one host server through a data communication network is being actively developed.
또한, 최근에는 전자상거래를 통한 판매 행위가 매우 활발하게 이루어지고 있다.In addition, recently, sales through e-commerce have been very active.
전자상거래란 재화나 서비스의 거래에 있어서 그 전부 또는 일부가 전자문서 교환 등의 전자적 방식에 의해 처리되는 거래를 말하는 것으로, 현재 인터넷에는 다수의 전자상거래 사이트가 운영되고 있다.E-commerce refers to a transaction in which all or part of goods or services are handled electronically, such as electronic document exchange. Currently, a number of e-commerce sites are being operated on the Internet.
이러한 전자상거래 사이트는 사용자(소비자)에게 이용 편의를 제공하기 위해 자주 묻는 질문(FAQ)이나 질의응답(Q&A) 메뉴를 제공하는데, 종래에는 사용자가 이용 중에 궁금한 사항이 발생하게 되면, 자주 묻는 질문(FAQ)이나 질의응답(Q&A) 메뉴를 클릭하여 들어가, 검색창에 질문을 입력하고, 입력된 질문에서 추출된 키워드(예를 들어, 탈퇴)를 기반으로 FAQ DB(DataBase)(또는 Q&A DB)에서 검색된 복수의 질문들 중에서 사용자가 원하는 질문(예를 들어, 탈퇴 후 재가입할 수 있나요)을 다시 찾아서 그 답변을 확인하도록 구성되거나, 복수 개로 분류되어 있는 대분류 카테고리(예를 들어, 구매관련, 모바일 웹&앱관련, 판매관련, 판매광고관련) 중에서 사용자가 원하는 질문과 관련된 대분류 카테고리(예를 들어, 구매관련)를 선택하고, 선택된 대분류 카테고리(예를 들어, 구매관련)에서 사용자가 원하는 질문과 관련된 중분류 카테고리(예를 들어, 회원/정보관리)를 선택하고, 선택된 중분류 카테고리(예를 들어, 회원/정보관리)에서 사용자가 원하는 질문과 관련된 소분류 카테고리(예를 들어, 회원가입/탈퇴)를 선택하고, 선택된 소분류 카테고리(예를 들어, 회원가입/탈퇴)에 속한 복수의 질문들 중에서 사용자가 원하는 질문(예를 들어, 탈퇴 후 재가입할 수 있나요)을 찾아서 그 답변을 확인하도록 구성된다.These e-commerce sites provide frequently asked questions (FAQ) or question-and-answer (Q&A) menus to provide convenience to users (consumers). Click the FAQ) or Q&A menu to enter, enter a question in the search box, and search the FAQ DB (DataBase) (or Q&A DB) based on keywords extracted from the entered question (for example, withdrawal). Among a plurality of searched questions, the user finds the desired question (for example, can you rejoin after leaving the group) and confirms the answer, or a large classification category (eg, purchase-related, mobile web &App-related, sales-related, sales-advertising), select a category (eg, purchase-related) related to the user's desired question, and select a question related to the user's desired question in the selected large category (eg, purchase-related) Select a mid-category category (eg, member/information management), and select a sub-category (eg, membership sign-up/withdrawal) related to the user's desired question in the selected mid-category category (eg, member/information management) and to find a question that the user wants from among a plurality of questions belonging to the selected sub-category (eg, membership registration/withdrawal) (eg, can you rejoin after withdrawal) and confirm the answer.
그러나 검색창에 질문을 입력하여 원하는 질문을 검색하는 방법은, 사용자가 사용하는 어휘와 FAQ DB(또는 Q&A DB)에 저장되어 있는 질문 내용에 포함되어 있는 어휘가 달라 사용자로부터 입력받은 질문의 내용이 검색에 활용되기에 부족하거나 부정확하여 사용자가 원하는 답변이 FAQ DB(또는 Q&A DB)에 저장되어 있음에도 불구하고 검색되지 않는 문제점이 있다.However, the method of entering a question in the search box to search for a desired question is different from the vocabulary used by the user and the vocabulary contained in the question stored in the FAQ DB (or Q&A DB). There is a problem that the user's desired answer is not searched despite being stored in the FAQ DB (or Q&A DB) because it is insufficient or inaccurate to be used for search.
예를 들어, FAQ DB(또는 Q&A DB)에 '아이디가 기억나지 않아요'라는 질문에 대한 응답이 저장되어 있는 경우, 사용자로부터 입력받은 질문의 내용이 '아이디 까먹었어요', '아이디가 생각나지 않아요'와 같이 검색에 활용되기에 부족하거나 부정확한 경우에는 FAQ DB(또는 Q&A DB)에 사용자가 원하는 질문(예를 들어, 아이디가 기억나지 않아요)이 저장되어 있음에도 불구하고 해당 질문이 검색되지 않는 문제가 있다.For example, if the answer to the question 'I don't remember my ID' is stored in the FAQ DB (or Q&A DB), the content of the question input from the user is 'I forgot my ID', 'I can't remember my ID'. If it is insufficient or inaccurate to be used for search, such as ', the question is not searched even though the user's question (for example, I can't remember the ID) is stored in the FAQ DB (or Q&A DB). there is
또한, 대분류-중분류-소분류 되어 있는 카테고리를 단계적으로 선택하여 질문을 검색하는 방법은 카테고리를 선택하는 과정을 여러 번 수행해야 하는 번거로움이 있다.In addition, the method of searching for questions by selecting the categories of large-medium-small classification step by step is inconvenient in that the process of selecting the category has to be performed several times.
한편, 한류 열풍 등에 힘입어 많은 해외 사용자(해외 소비자)가 국내 전자상거래 사이트를 통해 국내의 상품을 구매하는 추세이다.On the other hand, thanks to the Korean wave, many overseas users (overseas consumers) are purchasing domestic products through domestic e-commerce sites.
이러한 해외 사용자들에게 이용 편의를 제공하기 위해 해외 사용자의 사용 언어로 웹 페이지를 자동 번역(기계 번역)하여 제공할 수 있으며, 해외 사용자들은 이용 중에 궁금한 사항이 발생하게 되면, 자주 묻는 질문(FAQ)이나 질의응답(Q&A) 메뉴를 통해 자신의 사용 언어로 검색창에 질문을 입력하고, 전자상거래 서버는 해외 사용자로부터 입력받은 질문의 내용을 자동 번역한 후, 자동 번역된 질문에서 키워드를 추출하고, 추출된 키워드를 기반으로 FAQ DB(또는 Q&A DB)에서 원하는 질문을 검색한다.In order to provide convenience to these overseas users, web pages can be automatically translated (machine translation) into the language used by overseas users. or through the Q&A menu, enter a question in the search box in your own language, and the e-commerce server automatically translates the contents of the question input from overseas users, then extracts keywords from the automatically translated question, Search the desired question in the FAQ DB (or Q&A DB) based on the extracted keywords.
그러나 번역기의 번역 정확도가 낮거나 사용자로부터 입력받은 질문의 내용이 검색에 활용되기에 부족하거나 부정확한 경우에는, 사용자가 원하는 답변이 FAQ DB(또는 Q&A DB)에 저장되어 있음에도 불구하고 검색되지 않는 문제점이 있다.However, if the translation accuracy of the translator is low or the content of the question input by the user is insufficient or inaccurate to be used for search, the user's desired answer is not searched even though the answer is stored in the FAQ DB (or Q&A DB) There is this.
본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로, 챗봇(Chatbot)을 이용하여 자연어 형식으로 질의응답을 수행하되, 사용자로부터 입력받은 질문의 내용이 검색에 활용되기에 부족하거나 부정확한 경우, 챗봇을 이용하여 질문의 내용을 구체화할 수 있도록 하는 챗봇을 이용한 질의응답 처리 장치 및 방법을 제공함에 그 목적이 있다.The present invention has been devised to solve this problem. A chatbot is used to perform a question and answer in a natural language format, but when the content of a question input from a user is insufficient or inaccurate to be used in a search, the chatbot is used. An object of the present invention is to provide an apparatus and method for processing a question and answer using a chatbot that enables the content of a question to be specified by using the chatbot.
본 발명의 다른 목적은 해외 이용자로부터 입력받은 질문의 번역 내용이 검색에 활용되기에 부족하거나 부정확한 경우, 챗봇을 이용하여 질문의 내용을 구체화할 수 있도록 하는 챗봇을 이용한 질의응답 처리 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for processing a question and answer using a chatbot that allows the content of a question to be specified using a chatbot when the translation of a question input from an overseas user is insufficient or inaccurate to be used in a search. is in providing.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 장치는, 사용자로부터 질의를 수신하고, 수신된 질의에 대응하여 검색된 응답을 사용자에게 전달하는 인터페이스부; 질의와 응답이 매칭되어 저장되는 질의응답 DB; 이전에 사용자로부터 입력받은 질의에서 추출한 키워드와 상기 키워드로 상기 질의응답 DB에서 검색되어 사용자에게 선택된 응답을 학습 세트로 하여 저장 관리하는 학습 DB; 및 상기 사용자로부터 수신한 질의를 분석하여 키워드를 추출하고, 추출된 키워드로 상기 학습 DB에서 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 챗봇 엔진부;를 포함하는 것이 바람직하다.According to an embodiment of the present invention for achieving the above object, there is provided a question and answer processing apparatus using a chatbot, comprising: an interface unit that receives a query from a user and transmits a searched response to the user in response to the received query; a question-and-answer DB in which questions and answers are matched and stored; a learning DB for storing and managing a keyword extracted from a query previously input from a user and a response selected by the user as a learning set, searched for in the question and answer DB with the keyword; and a chatbot engine unit that analyzes the query received from the user to extract a keyword, searches the learning DB with the extracted keyword for a response, and provides it to the user through the interface unit.
본 발명의 일 실시예에서, 상기 챗봇 엔진부는, 상기 학습 DB에서 사용자가 원하는 응답이 검색되지 않으면, 추출된 각각의 키워드에 가중치를 설정하고, 가중치가 설정된 키워드를 이용하여 상기 질의응답 DB에서 사용자 질의에 대한 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 것이 바람직하다.In an embodiment of the present invention, the chatbot engine unit sets a weight for each extracted keyword when a response desired by the user is not found in the learning DB, and uses the keyword to which the weight is set to obtain the user in the question and answer DB. It is preferable to search for a response to a query and provide it to the user through the interface unit.
본 발명의 일 실시예에서, 상기 챗봇 엔진부는, 사용자로부터 수신한 질의를 분석하여 적어도 하나 이상의 키워드를 추출하는 키워드 추출부; 상기 키워드 추출부에서 추출된 키워드에 가중치를 설정하는 가중치 설정부; 및 상기 키워드 추출부에서 추출된 키워드로 상기 학습 DB에서 사용자 질의에 대한 응답을 검색하여 사용자에게 제공하고, 상기 학습 DB에서 사용자가 원하는 응답이 검색되지 않으면, 상기 가중치 설정부에서 가중치가 설정된 키워드를 이용하여 상기 질의응답 DB에서 사용자 질의에 대한 응답을 검색하여 사용자에게 제공하는 검색부;를 포함하는 것이 바람직하다.In an embodiment of the present invention, the chatbot engine unit may include: a keyword extraction unit configured to extract at least one keyword by analyzing a query received from a user; a weight setting unit for setting a weight to the keyword extracted by the keyword extraction unit; and a keyword extracted by the keyword extraction unit searches the learning DB for a response to a user's query and provides it to the user. If the user's desired response is not found in the learning DB, the weight setting unit selects a keyword with a weight value set. It is preferable to include a; a search unit that searches for answers to a user's query in the question and answer DB using the information and provides it to the user.
본 발명의 일 실시예에서, 상기 챗봇 엔진부는, 상기 학습 DB에서 검색된 응답을 사용자가 선택하게 되면, 선택된 응답에 대응하는 학습 세트의 클릭 회수를 증가시켜 상기 학습 DB를 업데이트 시키고, 상기 질의응답 DB에서 검색된 응답을 사용자가 선택하게 되면, 상기 추출된 키워드와 사용자에 의해 선택된 응답을 하나의 학습 세트로 하여 상기 학습 DB에 저장하는 학습부;를 더 포함하는 것이 바람직하다.In one embodiment of the present invention, the chatbot engine unit, when the user selects a response retrieved from the learning DB, increases the number of clicks of the learning set corresponding to the selected response to update the learning DB, and the question and answer DB When the user selects a response searched for in , a learning unit for storing the extracted keyword and the response selected by the user as one learning set in the learning DB; it is preferable to further include.
본 발명의 일 실시예에서, 키워드 별로 서로 다른 값을 갖는 가중치를 저장하는 키워드 가중치 DB;를 더 포함하며, 상기 가중치 설정부는, 상기 키워드 추출부에서 추출된 각각의 키워드에 매칭되어 있는 가중치를 상기 키워드 가중치 DB에서 읽어와 가중치를 설정하는 것이 바람직하다.In an embodiment of the present invention, a keyword weight DB for storing weights having different values for each keyword is further included, wherein the weight setting unit sets a weight matched to each keyword extracted by the keyword extraction unit. It is desirable to set the weight by reading from the keyword weight DB.
본 발명의 일 실시예에서, 사용자의 사용 언어가 상기 챗봇 엔진부의 사용 언어와 다른 경우, 상기 인터페이스부를 통해 사용자로부터 입력받은 문장을 상기 챗봇 엔진부의 사용 언어로 번역하고, 상기 챗봇 엔진부로부터 수신한 문장을 사용자의 사용 언어로 번역하는 번역부;를 더 포함하는 것이 바람직하다.In one embodiment of the present invention, when the language used by the user is different from the language used by the chatbot engine unit, a sentence received from the user through the interface unit is translated into the language used by the chatbot engine unit, and the It is preferable to further include a translation unit that translates the sentence into the user's language.
본 발명의 일 실시예에서, 상기 학습 DB는, 사용자로부터 입력받은 질의, 상기 질의에서 추출한 키워드, 상기 키워드를 이용한 검색결과 중에서 사용자에게 선택된 응답, 상기 사용자에게 선택된 응답에 대한 사용자의 선택 회수를 카운트하는 카운트 값을 포함하여 이루어지는 것이 바람직하다.In an embodiment of the present invention, the learning DB counts the number of times the user selects a query input from the user, a keyword extracted from the query, a response selected by the user from among the search results using the keyword, and the response selected by the user It is preferable to include a count value to
본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 방법은, 인터페이스부를 통해 사용자로부터 질의를 수신하는 단계; 상기 사용자로부터 수신한 질의를 분석하여 키워드를 추출하는 단계; 및 상기 추출된 키워드로 학습 DB에서 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 단계;를 포함하며, 상기 학습 DB는, 이전에 사용자로부터 입력받은 질의에서 추출한 키워드와 상기 키워드를 이용하여, 질의와 응답이 매칭되어 저장되는 질의응답 DB에서 검색되어 사용자에게 선택된 응답을 학습 세트로 하여 저장 관리하는 DB인 것이 바람직하다.According to an embodiment of the present invention, there is provided a method for processing a question and answer using a chatbot, the method comprising: receiving a query from a user through an interface; extracting keywords by analyzing the query received from the user; and retrieving a response from the learning DB with the extracted keyword and providing it to the user through the interface unit, wherein the learning DB uses the keyword extracted from a query previously input from the user and the keyword, It is preferable that the DB is a DB that stores and manages the response selected by the user as a learning set, which is retrieved from the Q&A DB that is stored by matching with the response.
본 발명의 일 실시예에서, 상기 학습 DB에서 사용자가 원하는 응답이 검색되지 않으면, 상기 추출된 각각의 키워드에 가중치를 설정한 후, 가중치가 설정된 키워드를 이용하여 상기 질의응답 DB에서 사용자 질의에 대한 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 단계;를 더 포함하는 것이 바람직하다.In one embodiment of the present invention, if a user's desired answer is not found in the learning DB, a weight is set for each extracted keyword, and then, the user's query is answered in the question and answer DB using the keyword to which the weight is set. It is preferable to further include; searching for a response and providing it to the user through the interface unit.
본 발명의 일 실시예에서, 상기 추출된 키워드로 학습 DB에서 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 단계는, 상기 추출된 키워드를 이용하여 학습 DB에서 사용자 질의에 대한 응답을 검색하는 단계; 및 검색결과 상기 학습 DB에서 검색된 응답이 존재하는 경우에는, 검색된 응답을 사용자에게 제공한 후, 사용자에게 제공된 응답이 선택되면, 선택된 응답에 대응하는 질의 제목과 응답 내용을 사용자에게 제공한 후, 상기 학습 DB에서 상기 선택된 응답에 대응하는 학습 세트의 클릭 회수를 증가시키는 단계;를 포함하는 것이 바람직하다.In an embodiment of the present invention, the step of retrieving a response from the learning DB with the extracted keyword and providing it to the user through the interface unit includes: retrieving a response to a user's query from the learning DB using the extracted keyword ; and when there is an answer searched for in the learning DB as a result of the search, the searched answer is provided to the user, and when the answer provided to the user is selected, a query title and response content corresponding to the selected answer are provided to the user, and then It is preferable to include; increasing the number of clicks of the training set corresponding to the selected response in the training DB.
본 발명의 일 실시예에서, 상기 가중치가 설정된 키워드로 질의응답 DB에서 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 단계는, 상기 추출된 각각의 키워드에 가중치를 설정하는 단계; 상기 가중치가 설정된 키워드를 이용하여 상기 질의응답 DB에서 사용자 질의에 대한 응답을 검색하는 단계; 상기 질의응답 DB에서 검색된 응답의 수가 기준치 이상인지를 확인하는 단계; 상기 확인결과 검색된 응답의 수가 기준치 이내인 경우에는, 사용자에게 검색결과를 제공하고, 사용자에게 제공된 검색결과 중에서 어느 하나가 선택되면, 선택된 응답에 대응하는 질의 제목과 응답 내용을 사용자에게 제공한 후, 사용자에게 제공한 응답과 상기 추출된 키워드를 하나의 학습 세트로 하여 상기 학습 DB에 저장하는 단계; 및 상기 확인결과 검색된 응답의 수가 기준치 이상인 경우에는, 사용자로부터 카테고리를 선택받고, 선택받은 카테고리로 검색 범위를 조정하여 상기 질의응답 DB에서 응답을 재검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 단계;를 포함하는 것이 바람직하다.In an embodiment of the present invention, the step of retrieving a response from the question and answer DB with the keyword to which the weight is set and providing the response to the user through the interface unit includes: setting a weight for each extracted keyword; retrieving a response to a user's query in the question and answer DB using the keyword to which the weight is set; checking whether the number of responses retrieved from the Q&A DB is equal to or greater than a reference value; As a result of the check, if the number of searched responses is within a reference value, a search result is provided to the user, and when any one of the search results provided to the user is selected, a query title and response contents corresponding to the selected response are provided to the user, storing the response provided to the user and the extracted keyword as one learning set in the learning DB; and if the number of searched responses is greater than or equal to the reference value as a result of the check, receiving a category selection from the user, adjusting the search range to the selected category, searching the Q&A DB again for responses, and providing them to the user through the interface unit. It is preferable to do
본 발명의 일 실시예에서, 상기 가중치를 설정하는 단계는, 상기 추출된 각각의 키워드에 매칭되어 있는 가중치를, 키워드 별로 서로 다른 값을 갖는 가중치를 저장하는 키워드 가중치 DB에서 읽어와 가중치를 설정하는 단계인 것이 바람직하다.In an embodiment of the present invention, the step of setting the weight includes reading a weight matched to each extracted keyword from a keyword weight DB that stores a weight having a different value for each keyword and setting the weight. It is preferred that the steps are
본 발명의 일 실시예에서, 상기 사용자에게 제공한 응답과 상기 추출된 키워드를 하나의 학습 세트로 하여 상기 학습 DB에 저장하는 단계는, 사용자로부터 입력받은 질의, 상기 질의에서 추출된 키워드, 상기 키워드를 이용한 검색결과 중에서 사용자에게 선택된 응답을 하나의 학습 세트로 하여 상기 학습 DB에 저장하는 단계인 것이 바람직하다.In an embodiment of the present invention, the step of storing the response provided to the user and the extracted keyword as one learning set in the learning DB includes: a query received from a user, a keyword extracted from the query, and the keyword Preferably, it is a step of storing a response selected by the user from among the search results using the .
본 발명의 챗봇을 이용한 질의응답 처리 장치 및 방법은, 챗봇을 이용하여 자연어 형식으로 질의응답을 수행하되, 사용자로부터 입력받은 질문의 내용 또는 해외 사용자로부터 입력받은 질문의 번역 내용이 검색에 활용되기에 부족하거나 부정확한 경우, 챗봇을 이용하여 질문의 내용을 구체화함으로써, 검색의 정확도를 높일 수 있게 된다.The Q&A processing apparatus and method using a chatbot of the present invention performs Q&A in a natural language format using the chatbot, but the contents of the question input from the user or the translation of the question inputted from the foreign user are utilized for the search. If it is insufficient or inaccurate, the accuracy of the search can be increased by using the chatbot to refine the content of the question.
또한, 학습 DB에 축적된 학습 데이터를 통해 사용자에게 빠르면서도 정확한 검색결과를 제공할 수 있게 된다.In addition, it is possible to provide quick and accurate search results to users through the learning data accumulated in the learning DB.
도 1은 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 장치의 구성을 개략적으로 보인 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 장치의 동작을 설명하기 위한 도면이다.
도 4a 및 도 4b는 본 발명에 따라 제공되는 채팅 창을 예시적으로 보인 도면이다.
도 5는 본 발명에 적용되는 사용자 피드백 결과 저장 테이블을 예시적으로 보인 도면이다.
도 6은 본 발명에 적용되는 질의응답 DB를 예시적으로 보인 도면이다.
도 7은 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 방법을 설명하기 위한 처리도이다.
도 8a 및 도 8c는 본 발명에 따라 제공되는 채팅 창을 예시적으로 보인 도면이다.
도 9a 내지 도 9c는 본 발명에 따라 제공되는 채팅 창을 예시적으로 보인 도면이다.1 is a diagram schematically showing the configuration of a question and answer processing apparatus using a chatbot according to an embodiment of the present invention.
2 and 3 are diagrams for explaining the operation of a question and answer processing apparatus using a chatbot according to an embodiment of the present invention.
4A and 4B are diagrams exemplarily showing a chatting window provided according to the present invention.
5 is a diagram exemplarily showing a user feedback result storage table applied to the present invention.
6 is a diagram illustrating a question-and-answer DB applied to the present invention by way of example.
7 is a flowchart illustrating a question and answer processing method using a chatbot according to an embodiment of the present invention.
8A and 8C are diagrams exemplarily showing a chatting window provided according to the present invention.
9A to 9C are diagrams exemplarily showing a chatting window provided according to the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0023] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description set forth below is not intended to be taken in a limiting sense, and the scope of the invention, if properly described, is limited only by the appended claims, along with all scope equivalents to those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.
이하에서는 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예에 따른 챗봇을 이용한 질의응답 처리 장치 및 방법에 대해서 상세하게 설명하기로 한다.Hereinafter, an apparatus and method for processing a question and answer using a chatbot according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 장치의 구성을 개략적으로 보인 도면이다.1 is a diagram schematically showing the configuration of a question and answer processing apparatus using a chatbot according to an embodiment of the present invention.
도 1에 도시하는 바와 같이, 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 장치(100)는 인터페이스부(110), 번역부(115), 챗봇 엔진부(120), 질의응답 DB(130), 키워드 가중치 DB(140), 학습 DB(150)를 포함하여 이루어질 수 있다.As shown in FIG. 1 , the question and answer
이와 같은 구성에 있어서, 인터페이스부(110)는 유무선 인터넷 망을 통해 접속되어 있는 사용자로부터 질의를 수신하고, 수신된 질의에 대응하여 검색된 응답을 사용자에게 전달한다.In such a configuration, the
인터페이스부(110)는 사용자가 채팅 창을 통해 자연어 형태로 입력한 질의(예를 들어, 회원 탈퇴하고 싶어요)를 수신하고, 수신된 질의에 대응하여 검색된 응답을 채팅 창을 통해 사용자에게 제공할 수 있다.The
번역부(115)는 사용자의 사용 언어(예를 들어, 영어)가 챗봇 엔진부(120)의 사용 언어(예를 들어, 한국어)와 다른 경우, 인터페이스부(110)로부터 수신한 문장(질의 내용)을 챗봇 엔진부(120)의 사용 언어로 번역(기계 번역)하여 챗봇 엔진부(120)로 전달하고, 챗봇 엔진부(120)로부터 수신한 문장(검색 결과)을 사용자의 사용 언어로 번역하여 인터페이스부(110)로 전달한다.When the user's language (eg, English) is different from the language (eg, Korean) of the
챗봇 엔진부(120)는 사용자로부터 수신한 자연어 형태의 질의를 분석하여 적어도 하나 이상의 키워드를 추출하고, 추출된 키워드로 학습 DB(150)를 검색하여 그 검색결과를 채팅 창을 통해 사용자에게 제공할 수 있다.The
검색결과, 검색된 응답이 존재하면, 검색된 응답을 사용자에게 제공하되, 검색된 사용자가 원하는 질의에 대한 응답이면, 즉 검색된 응답이 사용자에 의해 선택(클릭)되면, 해당 질의 제목과 응답 내용을 채팅 창을 통해 사용자에게 제공할 수 있다.As a result of the search, if there is a searched answer, the searched answer is provided to the user, but if the searched user responds to the desired question, that is, when the searched answer is selected (clicked) by the user, the question title and response contents are displayed in the chat window. can be provided to users.
검색결과, 검색된 응답이 사용자가 원하는 질의에 대한 응답이 아니거나, 학습 DB(150)에서 검색된 결과가 없는 경우에는, 사용자로부터 수신한 자연어 형태의 질의에서 추출된 각각의 키워드에 가중치를 설정한 후, 가중치가 설정된 키워드로 질의응답 DB(130)에서 응답을 검색할 수 있다.As a result of the search, if the searched answer is not a response to the query desired by the user, or if there is no search result in the
질의응답 DB(130)에서 검색한 결과, 검색된 응답의 수가 기준치 이상으로 정확도가 떨어지는 경우에는 자연어 형식으로 사용자에게 질문을 하여 사용자가 원하는 질의의 내용을 구체화할 수 있다. 여기서 챗봇 엔진부(120)는 사용자로부터 입력받은 질문 내용에 기반하여 사용자에게 카테고리 선택을 요청하고, 그에 대한 응답으로 사용자로부터 카테고리를 선택받아 사용자 질의 내용을 구체화할 수 있다.As a result of a search in the question and answer
이에 대해 좀 더 자세히 설명하면 다음과 같다.A more detailed description of this is as follows.
챗봇 엔진부(120)는 유무선 통신망을 통해 사용자가 인터페이스부(110)를 통해 접속되면, 도 2 내지 도 4b에 도시하는 바와 같이 설정된 메뉴얼에 따라 사용자에게 사용할 언어를 선택하라는 요청 메시지를 채팅 창을 통해 사용자에게 제공하고, 그에 대한 응답으로 사용자로부터 사용 언어를 선택받을 수 있다.When the user is connected through the
그리고 사용자로부터 선택받은 사용 언어를 이용하여 질의를 요청하는 메시지(예를 들어, 안녕하세요. 궁금한 게 있으면 '#검색'을 치신 후 검색해 주세요.)를 채팅 창을 통해 사용자에게 제공하고, 그에 대한 응답으로 사용자로부터 질의를 수신할 수 있다. 여기서 챗봇 엔진부(120)는 자연어를 이용하여 사용자에게 대화하듯 질의를 요청할 수 있고, 사용자도 자연어를 이용하여 대화하듯 질의를 입력할 수 있다.Then, using the language selected by the user, a message requesting an inquiry (for example, hello. If you have any questions, please search after typing '#search') is provided to the user through the chat window, and in response You can receive a query from a user. Here, the
또한, 사용자의 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 제공되는 질의 요청 메시지는 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있고, 그에 대한 응답으로 사용자로부터 입력받은 질의 내용은 번역부(115)를 통해 챗봇 엔진부(120)의 사용 언어로 번역되어 제공될 수 있다.Also, when the user's language is different from the language used by the
질의 요청에 대한 응답으로 사용자로부터 질의가 입력되면, 사용자로부터 입력받은 질의를 분석하여 적어도 하나 이상의 키워드를 추출하고, 추출된 키워드로 학습 DB(150)를 검색한다. 여기서 추출된 키워드로 학습 DB(150)를 검색할 때, 추출된 키워드로 학습 DB(150)를 검색한 후, 검색된 질의에 매핑되어 있는 질의 내용이 사용자로부터 입력받은 질의 내용과 일치하는 질의에 대해서만 해당 검색된 질의를 검색 결과로 제공할 수 있다.When a query is inputted from the user in response to the query request, at least one keyword is extracted by analyzing the query received from the user, and the
검색결과, 검색된 응답이 존재하고, 검색된 응답이 사용자가 원하는 질의에 대한 응답이어서 해당 응답을 사용자가 선택하면, 선택된 질의 제목과 응답 내용을 채팅 창을 통해 사용자에게 제공한다.As a result of the search, there is a searched answer, and if the user selects the corresponding answer because the searched answer is a response to the user's desired question, the selected question title and response content are provided to the user through the chatting window.
이와 같이, 사용자가 검색된 응답을 선택하게 되면 챗봇 엔진부(120)는 사용자로부터 입력받은 질의, 사용자로부터 입력받은 질의에서 추출된 키워드, 사용자가 선택한 응답이 하나의 학습 세트로 저장되어 있는 학습 DB(150)에서 사용자가 선택한 응답에 대응하는 학습 세트의 클릭 회수를 1증가시켜, 학습 DB(150)를 업데이트시킨다.In this way, when the user selects a searched response, the
반면, 검색된 응답이 없거나 검색된 응답이 사용자가 원하는 응답이 아니면, 추출된 키워드로 질의응답 DB(130)를 검색한다.On the other hand, if there is no searched answer or if the searched answer is not a response desired by the user, the question and answer
여기서 챗봇 엔진부(120)는 추출된 키워드로 질의응답 DB(130)를 검색하기 전에, 추출된 키워드에 가중치를 설정한 후, 가중치가 설정된 키워드로 질의응답 DB(130)에서 응답을 검색하는 것이 바람직하다.Here, the
검색결과 검색된 응답의 개수가 기준치 이상인 경우에는, 사용자에게 카테고리 선택을 요청하여 질의 내용을 구체화할 수 있다.If the number of searched responses is greater than or equal to the reference value as a result of the search, the user may be requested to select a category to refine the query.
즉, 챗봇 엔진부(120)는 사용자로부터 입력받은 질문의 내용에 기반하여, 도 4a에 도시하는 바와 같이 채팅 창을 통해 사용자에게 선택할 카테고리(대분류 또는 중분류)를 제공하고, 그에 대한 응답으로 사용자로부터 카테고리를 선택받을 수 있다.That is, the
사용자로부터 카테고리를 선택받으면, 검색결과 리스트 중에서 사용자로부터 선택받은 카테고리에 속하는 검색결과만을 추출하고, 도 4b에 도시하는 바와 같이 그 추출결과를 채팅 창을 통해 사용자에게 제공할 수 있다.When a category is selected by the user, only search results belonging to the category selected by the user are extracted from the search result list, and the extraction result can be provided to the user through the chatting window as shown in FIG. 4B .
이와 같이 사용자로부터 선택받은 카테고리로 검색 범위를 좁힐 수 있게 됨에 따라 사용자의 질의 내용을 좀 더 구체화할 수 있게 된다.As described above, as the search range can be narrowed down to the category selected by the user, the content of the user's query can be further refined.
전술한 바와 같이 카테고리를 선택받아 검색 범위를 좁혔음에도 검색된 응답의 수가 기준치 이상인 경우에는, 사용자로부터 하위 카테고리(중분류 또는 소분류)의 선택을 요청하고, 그에 대한 응답으로 사용자로부터 하위 카테고리를 선택받을 수 있다.As described above, even when the search range is narrowed by selecting a category as described above, if the number of searched responses is greater than or equal to the reference value, the user requests the selection of a sub-category (medium or small), and in response, the user selects a sub-category. .
사용자로부터 하위 카테고리를 선택받으면, 검색결과 리스트 중에서 사용자로부터 선택받은 하위 카테고리에 속하는 검색결과만을 추출하고, 그 추출결과를 채팅 창을 통해 사용자에게 제공할 수 있다.When a sub-category is selected by the user, only search results belonging to the sub-category selected by the user from the search result list may be extracted, and the extracted results may be provided to the user through the chatting window.
이후, 사용자에게 제공된 추출결과 리스트 중에서 어느 하나를 선택받으면, 선택받은 질의 제목과 응답 내용을 채팅 창을 통해 사용자에게 제공할 수 있다. 이때, 챗봇 엔진부(120)는 사용자에게 선택받은 질의 제목과 응답 내용을 앞서 추출된 키워드와 함께 하나의 학습 세트로 형성하여 학습 DB(150)에 저장할 수 있다.Thereafter, when any one of the list of extraction results provided to the user is selected, the selected question title and response contents may be provided to the user through the chatting window. In this case, the
이러한 챗봇 엔진부(120)는 키워드 추출부(121), 가중치 설정부(123), 검색부(125), 학습부(127)를 포함하여 이루어질 수 있다.The
키워드 추출부(121)는 번역부(115)를 통해 수신되는 번역문을 포함하여 사용자로부터 수신한 자연어 형태의 질의에 해당하는 텍스트를 구문 분석하여 적어도 하나 이상의 키워드를 추출한다.The keyword extraction unit 121 extracts at least one keyword by parsing the text corresponding to the query in the natural language form received from the user, including the translation received through the
여기서 키워드 추출부(121)는 사용자로부터 수신한 언어를 감지한 후, 감지된 언어에 맞게 텍스트를 구문 분석하여 키워드를 추출할 수 있다.Here, after detecting the language received from the user, the keyword extraction unit 121 may extract a keyword by parsing the text according to the sensed language.
키워드 추출부(121)는 사용자로부터 수신한 질의가 예를 들어 '회원 탈퇴하고 싶어요'인 경우, 텍스트를 구문 분석하여 '회원'과 '탈퇴'라는 키워드를 추출할 수 있고, 사용자로부터 수신한 질의가 예를 들어 '군부대로 상품을 배송하고 싶어요'인 경우, 텍스트를 구문 분석하여 '군부대', '상품', '배송'이라는 키워드를 추출할 수 있으며, 번역부(115)를 통해 사용자로부터 수신한 질의가 예를 들어 '내 물품은 언제쯤 받을 수 있습니까?'인 경우, 텍스트 구문 분석하여 '물품', '언제'라는 키워드를 추출할 수 있다.The keyword extraction unit 121 may extract keywords 'member' and 'withdrawal' by parsing the text when the query received from the user is, for example, 'I want to withdraw from membership', and the query received from the user is, for example, 'I want to ship a product to the military base', the text may be parsed to extract keywords 'military unit', 'product', and 'shipping', and received from the user through the
가중치 설정부(123)는 키워드 추출부(121)에서 추출된 적어도 하나 이상의 키워드에 각각 가중치를 설정한다.The weight setting unit 123 sets a weight to each of the at least one or more keywords extracted by the keyword extraction unit 121 .
가중치 설정부(123)는 키워드 가중치 DB(140)에 키워드 별로 저장되어 있는 가중치에 의거하여 각각의 키워드에 서로 다른 가중치를 설정한다.The weight setting unit 123 sets different weights for each keyword based on the weights stored for each keyword in the
예를 들어, 키워드 추출부(121)에서 추출된 키워드가 '군부대', '상품', '배송'라고 가정했을 때, 키워드 별로 각각 가중치가 군부대-0.6711134, 상품-0.0015615, 배송-0.0904638와 같이 다르게 설정될 수 있다.For example, assuming that the keywords extracted by the keyword extraction unit 121 are 'military unit', 'product', and 'shipping', the weight for each keyword is different, such as military unit-0.6711134, product-0.0015615, and shipping-0.0904638. can be set.
검색부(125)는 키워드 추출부(121)에서 추출된 적어도 하나 이상의 키워드를 이용하여 학습 DB(150)에서 사용자 질의에 대한 응답을 검색하고, 검색된 응답을 인터페이스부(110)를 통해 사용자에게 전달할 수 있다.The
여기서 사용자의 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 제공되는 응답은 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있다.Here, when the user's language is different from the language used by the
학습 DB(150)에서 응답을 검색할 때, 동일한 키워드에 대해 복수의 검색결과가 검색될 수 있다.When searching for a response in the
이와 같이 동일한 키워드에 대해 복수의 검색결과가 검색되는 경우에는 카운트 값이 높을수록 검색결과의 정확도가 높다는 의미이므로, 검색부(125)는 학습 DB(150)에서 응답을 검색할 때, 카운트 값이 높은 검색결과에 대해서는 가중치를 높게 하고, 카운트 값이 낮은 검색결과에 대해서는 가중치를 낮게 할 수 있다.As such, when a plurality of search results are searched for the same keyword, the higher the count value, the higher the accuracy of the search results. Therefore, when the
검색부(125)는 학습 DB(150)를 검색한 결과, 사용자 질의에 대한 응답이 검색되지 않거나, 검색된 응답이 사용자가 원하는 응답이 아닌 경우에는, 가중치 설정부(123)에서 가중치가 설정된 키워드를 이용하여 질의응답 DB(130)에서 사용자 질의에 대한 응답을 검색하고, 검색된 응답을 인터페이스부(110)를 통해 사용자에게 전달할 수 있다.As a result of searching the
검색부(125)는 가중치 설정부(123)에서 키워드 별로 설정된 가중치에 의거하여 가중치가 높은 키워드에 우선순위를 두어 질의응답 DB(130)에서 응답을 검색할 수 있다.The
또한, 검색부(125)는 사용자 질의에 대한 응답이 검색되면, 검색된 응답 각각에 대해 가중치 합을 산출하고, 산출된 가중치 합이 전체에서 상위 몇%에 해당하는지를 기준으로 정확도를 산출할 수도 있으며, 검색된 응답을 인터페이스부(110)를 통해 사용자에게 제공할 때, 정확도가 일정 값 이상인 응답에 대해서만 사용자에게 제공할 수도 있다.In addition, when a response to a user's query is searched for, the
예를 들어, '군부대', '상품', '배송'이라는 3개의 키워드로 검색된 응답이 10개이고, 키워드 별로 가중치가 각각 군부대-0.6711134, 상품-0.0015615, 배송-0.0904638이라고 가정했을 때, 검색된 첫번째 응답에는 '군부대', '상품'이라는 키워드가 포함되고, 두번째 응답에는 '군부대', '배송'이라는 키워드가 포함되고, 세번째 응답에는 '상품', '배송'이라는 키워드가 포함되는 경우, 첫번째 응답은 가중치 합이 0.6726749이고, 두번째 응답은 가중치 합이 0.68015978이고, 세번째 응답은 가중치 합이 0.0920253이 될 수 있다.For example, assuming that there are 10 responses searched for with 3 keywords 'military unit', 'product', and 'shipping', and the weight for each keyword is military unit-0.6711134, product-0.0015615, and delivery-0.0904638, respectively, the first response found contains the keywords 'military unit' and 'product', the second response contains the keywords 'military unit' and 'shipping', and the third response contains the keywords 'product' and 'shipping', the first response is The weighted sum may be 0.6726749, the second response may have a weighted sum of 0.68015978, and the third response may have a weighted sum of 0.0920253.
이와 같이 가중치 합을 산출한 후에는 산출된 가중치 합이 전체에서 상위 몇%에 해당하는지를 기준으로 정확도를 산출하고, 정확도가 일정 값 이상인 첫번째와 두번째 응답에 대해서만 검색결과로 사용자에게 제공할 수 있다.After calculating the weighted sum in this way, the accuracy is calculated based on how many percent of the calculated weighted sum corresponds to the top of the total, and only the first and second responses whose accuracy is greater than or equal to a certain value can be provided to the user as a search result.
또한, 검색부(125)는 가중치가 설정된 키워드를 이용하여 질의응답 DB(130)에서 사용자 질의에 대한 응답을 검색한 결과, 검색된 응답의 수가 기준치 이상인 경우에는, 사용자로부터 입력받은 질문의 내용에 기반하여 사용자에게 카테고리 선택을 요청하고, 그에 대한 응답으로 사용자로부터 카테고리를 선택받을 수 있다.In addition, the
그리고 사용자로부터 카테고리를 선택받으면, 선택받은 카테고리로 검색 범위를 좁혀 응답을 검색한다. And when a category is selected by the user, the response is searched for by narrowing the search scope to the selected category.
학습부(127)는 검색부(125)가 학습 DB(150)에서 검색된 응답을 제공한 후, 사용자에게 제공된 응답 중에서 어느 하나를 사용자가 선택하게 되면, 사용자에 의해 선택된 응답에 대응하는 학습 세트의 클릭 회수를 1증가시켜 학습 DB(150)를 업데이트시킨다.When the user selects any one of the responses provided to the user after the
예를 들어, 사용자의 '군부대로 상품을 배송하고 싶어요'라고 질의에 대해, '군부대', '상품', '배송'이라는 키워드가 추출되고, 이 키워드로 학습 DB(150)에서 검색된 결과를 사용자에게 제공했을 때, 검색된 결과를 사용자가 선택(클릭)하면, '군부대', '상품', '배송'을 이용한 검색결과에 대한 카운트 값을 증가시킬 수 있다.For example, in response to the user's query 'I want to deliver products to the military base', keywords 'military unit', 'product', and 'shipping' are extracted, and the search result from the learning
또한 학습부(127)는 검색부(125)가 질의응답 DB(130)에서 검색된 결과를 사용자에게 질의에 대한 응답으로 제공한 후, 제공받은 응답이 사용자가 원하는 답이었는지를 사용자로부터 피드백 받아 그 결과가 긍정적일 때, 도 5에 도시하는 바와 같이 사용자로부터 입력받은 질의(a), 사용자로부터 입력받은 질의에서 추출한 키워드(b), 해당 키워드로 검색되어 사용자에게 제공된 검색결과 중에서 사용자에게 선택된 응답(c)을 하나의 학습 세트로 형성하여 학습 DB(150)에 저장할 수 있다. 여기서, 사용자로부터의 피득백으로는 사용자에게 제공한 응답이 사용자가 원하는 답이면, 사용자로부터 해당 응답을 선택(클릭)하는 긍정적인 결과가 피드백으로 올 수 있고, 해당 응답이 사용자가 원하는 답이 아니면, 되돌아가기(또는 아니오) 등의 부정적인 결과가 피드백으로 올 수 있다. In addition, the
도 5는 본 발명에 적용되는 학습 DB를 예시적으로 보인 도면으로, 사용자로부터 수신한 질의(a), 사용자로부터 수신한 질의에서 추출한 키워드(b), 해당 키워드를 이용한 검색결과 중에서 사용자에게 선택된 응답(c), 해당 키워드를 이용한 검색결과 중에서 사용자에게 선택된 응답에 대한 사용자의 선택(클릭) 회수를 카운트하는 카운트 값(d)을 포함하여 이루어질 수 있다.5 is a diagram illustrating a learning DB applied to the present invention by way of example, in which a query received from a user (a), a keyword extracted from a query received from a user (b), and a response selected by the user from search results using the keyword (c), a count value (d) for counting the number of selections (clicks) of the user with respect to a response selected by the user from among the search results using the corresponding keyword may be included.
도 5에 도시하는 바와 같이 사용자로부터 수신한 질의(a)는 번역문이 아닌 사용자의 사용 언어로 입력받은 질의 내용이 저장되는 것이 바람직하다.As shown in FIG. 5 , it is preferable that the query (a) received from the user is stored in the user's language rather than the translated text.
또한, 학습부(127)는 카운트 값이 높을수록 검색결과의 정확도가 높다는 의미이므로, 카운트 값이 높은 키워드에 대해서는 키워드 가중치 DB(140)에 저장되어 있는 가중치를 높이고, 카운트 값이 낮은 키워드에 대해서는 키워드 가중치 DB(140)에 저장되어 있는 가중치를 낮출 수 있다.In addition, since the
질의응답 DB(130)는 질의에 대한 응답이 일대일 매칭되어 저장된다.In the question and answer
질의응답 DB(130)는 도 6에 도시하는 바와 같이 각각의 질의가 속하는 대분류 카테고리, 중분류 카테고리, 소분류 카테고리, 질의 제목, 응답 내용을 포함하여 이루어질 수 있다.As shown in FIG. 6 , the question and answer
키워드 가중치 DB(140)는 각각의 키워드에 대한 가중치를 저장하되, 키워드 별로 저장되는 가중치는 서로 다르게 설정될 수 있다.The
그리고 키워드 별로 저장되는 가중치는, 검색결과의 빈도수에 따라 검색결과의 빈도수가 많으면 낮게 설정되고, 검색결과의 빈도수가 적으면 높게 설정될 수 있다.In addition, the weight stored for each keyword may be set low when the frequency of search results is high, and set high when the frequency of search results is low, according to the frequency of search results.
예를 들어, '군부대'와 '배송'이라는 키워드가 있을 때, 검색결과의 빈도수가 적은 '군부대'의 가중치가 검색결과의 빈도수가 많은 '배송'의 가중치보다 높게 설정될 수 있다.For example, when there are keywords 'military unit' and 'delivery', the weight of 'military unit' having a low frequency of search results may be set higher than the weight of 'delivery' having a high frequency of search results.
학습 DB(150)는 이전에 사용자로부터 입력받은 질의, 해당 질의에서 추출한 키워드, 해당 키워드로 질의응답 DB(130)에서 검색되어 사용자에게 선택된 응답을 하나의 학습 세트로 형성하여 저장 관리한다.The learning
학습 DB(150)는 도 5에 도시하는 바와 같이 사용자로부터 수신한 질의(a), 해당 질의에서 추출한 키워드(b), 해당 키워드를 이용한 검색결과 중에서 사용자에게 선택된 응답(c), 해당 키워드를 이용한 검색결과 중에서 사용자에게 선택된 응답에 대한 사용자의 선택(클릭) 회수를 카운트하는 카운트 값(d)을 포함하여 이루어질 수 있다.As shown in FIG. 5 , the learning
학습 DB(150)는 사용자의 사용 언어별로 구분되어 복수 개로 구현될 수도 있다.The
도 7은 본 발명의 일 실시예에 따른 챗봇을 이용한 질의응답 처리 방법을 설명하기 위한 처리도로, 도 8a 내지 도 9c를 참조하여 설명한다.7 is a flowchart for explaining a method for processing a question and answer using a chatbot according to an embodiment of the present invention, which will be described with reference to FIGS. 8A to 9C .
우선, 유무선 통신망을 통해 사용자가 인터페이스부(110)를 통해 접속되면, 챗봇 엔진부(120)는 인터페이스부(110)를 통해 사용자에게 사용할 언어를 선택하라는 요청 메시지를 전달하고, 그에 대한 응답으로 사용자로부터 사용 언어를 선택받는다(S10).First, when a user is connected through the
이후, 챗봇 엔진부(120)는 상기한 단계 S10에서 선택받은 언어를 사용하여 사용자에게 검색하고자 하는 내용을 입력하라는 질의 요청 메시지를 전달하고, 그에 대한 응답으로 사용자로부터 궁금한 사항을 포함하는 질의 내용을 입력받아 수신한다(S20).Thereafter, the
상기한 단계 S20에서 챗봇 엔진부(120)는 사용자에게 대화하듯 자연어 형태로 질의를 요청할 수 있고, 사용자도 대화하듯 자연어 형태로 질의를 입력할 수 있다.In step S20, the
상기한 단계 S10을 통해 사용자로부터 선택받은 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 전달되는 질의 요청 메시지는 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있으며, 그에 대한 응답으로 사용자로부터 입력받은 질의 내용은 번역부(115)를 통해 챗봇 엔진부(120)의 사용 언어로 번역되어 챗봇 엔진부(120)로 제공될 수 있다.When the language selected by the user through step S10 is different from the language used by the
상기한 단계 S20을 통해 사용자로부터 질의를 수신받은 챗봇 엔진부(120)의 키워드 추출부(121)는 사용자로부터 수신한 자연어 형태의 질의를 분석하여 적어도 하나 이상의 키워드를 추출한다(S30).The keyword extraction unit 121 of the
상기한 단계 S30을 통해 키워드를 추출한 후에는, 검색부(125)가 추출된 키워드로 학습 DB(150)를 검색하고(S40), 검색결과 검색된 응답이 존재하는 지를 확인한다(S50).After the keyword is extracted through the above-described step S30, the
상기한 단계 S40에서 검색부(125)가 추출된 키워드로 학습 DB(150)를 검색할 때, 추출된 키워드로 학습 DB(150)를 검색하고, 검색결과 중에서 질의 내용이 사용자로부터 입력받은 질의 내용과 일치하는 질의에 대해서만, 이를 검색결과로 제공할 수 있다.When the
상기한 단계 S50의 확인결과 도 8a에 도시하는 바와 같이 검색된 응답이 존재하는 경우에는 검색된 응답 결과를 사용자에게 제공하고(S60), 사용자에게 제공된 응답 결과에 사용자가 원하는 질문이 존재하는 지를 확인한다(S70).As a result of the check in step S50, if there is a searched response as shown in FIG. 8A, the searched response result is provided to the user (S60), and it is checked whether a question desired by the user exists in the response result provided to the user (S60) ( S70).
상기한 단계 S60에서 사용자의 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 제공되는 응답 결과는 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있다.When the language used by the user is different from the language used by the
상기한 단계 S70에서 사용자에게 제공된 응답 결과에 사용자가 원하는 질문이 존재하는 지에 대한 여부는, 사용자에게 제공된 응답 중에서 어느 하나를 사용자가 선택(클릭)하는 지로 확인할 수 있다. 즉 사용자에게 제공된 응답 결과 중에 사용자가 원하는 질문에 대한 응답이 존재하는 경우에는 사용자가 그 내용을 확인하기 위해 해당 응답을 선택(클릭)하여 확인하고, 사용자에게 제공된 응답 결과 중에 사용자가 원하는 질문에 대한 응답이 존재하지 않는 경우에는, 사용자로부터 되돌아가기(또는 아니오) 등의 결과가 수신될 수 있다.Whether a question desired by the user exists in the result of the response provided to the user in step S70 can be checked by selecting (clicking) which one of the responses provided to the user. That is, if there is a response to the question desired by the user among the response results provided to the user, the user selects (clicks) the corresponding response to check the contents, and selects (clicks) the corresponding response to confirm the response to the question desired by the user among the response results provided to the user If there is no response, a return (or no) result may be received from the user.
상기한 단계 S70의 확인결과 사용자에게 제공된 응답 결과에 사용자가 원하는 질문에 대한 응답이 존재하는 경우에는, 즉 사용자에게 제공된 응답 중에서 어느 하나를 사용자가 선택한 경우에는 도 8b에 도시하는 바와 같이 사용자에 의해 선택된 응답에 대응하는 질의 제목과 응답 내용을 사용자에게 제공한다(S80).As a result of the confirmation of step S70, if there is a response to the question desired by the user in the response result provided to the user, that is, when the user selects any one of the responses provided to the user, as shown in FIG. A question title and response contents corresponding to the selected response are provided to the user (S80).
상기한 단계 S80에서 사용자의 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 제공되는 질의 제목과 응답 내용은 도 8c에 도시하는 바와 같이 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있다.When the language used by the user in step S80 is different from the language used by the
그리고 사용자가 응답을 선택함에 따라, 학습 DB(150)는 사용자가 선택한 응답에 대응하는 학습 세트의 클릭 회수를 1증가시켜 학습 DB(150)를 업데이트시킨다(S90).And as the user selects a response, the
한편, 상기한 단계 S50의 확인결과 검색된 응답이 존재하지 않거나, 상기한 단계 S70의 확인결과 사용자에게 제공된 응답 결과에 사용자가 원하는 질문이 존재하지 않는 경우에는, 챗봇 엔진부(120)의 가중치 설정부(123)가 키워드 추출부(121)에서 추출된 각각의 키워드에 가중치를 설정한다(S100).On the other hand, when the searched response does not exist as a result of the confirmation in step S50, or when a question desired by the user does not exist in the response result provided to the user as a result of the confirmation in step S70, the weight setting unit of the
상기한 단계 S100에서 각각의 키워드에 가중치를 설정할 때, 각각의 키워드 별로 서로 다르게 설정되어 있는 가중치에 의거하여 가중치를 설정할 수 있다.When setting weights for each keyword in step S100, the weights may be set based on weights that are set differently for each keyword.
상기한 단계 S100을 통해 각각의 키워드에 가중치를 설정한 후에는, 검색부(125)가 가중치 설정부(123)에서 가중치가 설정된 키워드를 이용하여 질의응답 DB(130)에서 응답을 검색한다(S110).After weights are set for each keyword in step S100, the
상기한 단계 S110에서 가중치가 설정된 키워드를 이용하여 질의응답 DB(130)에서 응답을 검색할 때, 검색부(125)는 가중치가 높은 키워드에 우선순위를 두고 질의응답 DB(130)에서 응답을 검색할 수 있다.When searching for a response in the question and answer
상기한 단계 S110을 통해 질의응답 DB(130)에서 응답을 검색한 후에는, 사용자에게 제공될 응답의 수가 기준치 이상인지를 확인한다(S120).After searching for answers in the question and answer
상기한 단계 S120에서 사용자에게 제공될 응답의 수가 기준치 이상인지를 확인할 때, 검색부(125)는 상기한 단계 S110에서 검색된 응답 각각에 대해 각각의 응답에 포함된 키워드의 가중치 합을 산출하고, 산출된 가중치 합이 전체에서 상위 몇%에 해당하는지를 기준으로 정확도를 산출할 수도 있으며, 정확도가 일정 값 이상인 응답에 대해서만 사용자에게 제공할 응답으로 분류할 수 있다.When it is checked whether the number of responses to be provided to the user is equal to or greater than the reference value in step S120, the
상기한 단계 S120의 확인결과 사용자에게 제공될 응답의 수가 기준치 이상이 아닌 경우에는, 검색결과 리스트를 사용자에게 제공하고(S130), 사용자에게 제공된 검색결과 리스트 중에 사용자가 원하는 질문에 대한 응답이 존재하는지를 확인한다(S140).If the number of responses to be provided to the user is not equal to or greater than the reference value as a result of checking in step S120, a search result list is provided to the user (S130), and it is checked whether there is an answer to the question desired by the user in the search result list provided to the user. Confirm (S140).
상기한 단계 S130에서 사용자의 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 제공되는 검색결과 리스트는 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있다.When the user's language is different from the language used by the
상기한 단계 S140에서 챗봇 엔진부(120)는 사용자에게 제공된 검색결과 리스트 중에서 어느 하나를 사용자가 선택(클릭)하면, 검색결과 리스트 내에 사용자가 원하는 질문에 대한 응답이 존재한다고 판단하고, 사용자로부터 되돌아가기(또는 아니오) 등이 선택되면 검색결과 리스트 내에 사용자가 원하는 질문에 대한 응답이 존재하지 않는다고 판단할 수 있다.In step S140, when the user selects (clicks) any one of the search result lists provided to the user, the
상기한 단계 S140의 확인결과 사용자에게 제공된 검색결과 리스트 중에 사용자가 원하는 질문에 대한 응답이 존재하는 경우에는, 즉 사용자가 검색결과 리스트 중에서 어느 하나를 선택하게 되면, 사용자로부터 선택받은 응답에 대응하는 질의 제목과 응답 내용을 사용자에게 제공한다(S150).As a result of the check in step S140, if there is an answer to the question desired by the user in the list of search results provided to the user, that is, when the user selects any one from the list of search results, a query corresponding to the response selected by the user A title and response contents are provided to the user (S150).
상기한 단계 S150에서 사용자의 사용 언어가 챗봇 엔진부(120)의 사용 언어와 다른 경우, 사용자에게 제공되는 질의 제목과 응답 내용은 번역부(115)를 통해 사용자의 사용 언어로 번역되어 제공될 수 있다.If the user's language is different from the language used by the
이후, 학습부(127)는 사용자로부터 선택받은 응답에 대응하는 질의 제목을 상기한 단계S20을 통해 사용자로부터 입력받은 질의 내용 및 상기한 단계 S30을 통해 추출된 키워드와 함께 하나의 학습 세트로 형성하여 학습 DB(150)에 저장한다(S160).After that, the
상기한 단계 S160에서 사용자로부터 선택받은 응답에 대응하는 질의 제목, 사용자로부터 입력받은 질의 내용, 추출된 키워드를 하나의 학습 세트로 형성하여 학습 DB(150)에 저장할 때, 사용자로부터 입력받은 질의 내용은 사용자의 사용 언어로 입력받은 질의 내용이 저장되는 것이 바람직하다.When the query title corresponding to the response selected by the user in step S160, the query content received from the user, and the extracted keyword are formed into one learning set and stored in the
또한, 학습부(127)는 사용자가 검색결과 리스트 중에서 어느 하나를 선택하게 되면, 상기한 단계 S30에서 추출된 키워드에 대응하여 키워드 가중치 DB(14)에 저장되어 있는 가중치를 높일 수 있다.Also, when the user selects any one from the search result list, the
한편, 상기한 단계 S120의 확인결과 사용자에게 제공될 응답의 수가 기준치 이상이거나, 상기한 단계 S140의 확인결과 사용자에게 제공된 검색결과 리스트 중에 사용자가 원하는 질문에 대한 응답이 존재하지 않는 경우에는, 도 9a에 도시하는 바와 같이 사용자로부터 입력받은 질문의 내용에 기반하여 사용자에게 카테고리 선택을 요청하고, 그에 대한 응답으로 사용자로부터 카테고리를 선택받는다(S170).On the other hand, when the number of responses to be provided to the user is equal to or greater than the reference value as a result of the confirmation in step S120, or when there is no answer to the user's desired question in the list of search results provided to the user as a result of the confirmation in step S140, FIG. 9A As shown in Fig. , a category selection is requested from the user based on the content of a question input from the user, and the category is selected from the user in response thereto (S170).
그리고 사용자로부터 선택받은 카테고리로 검색 범위를 좁혀 질의응답 DB(130)에서 응답을 재검색한다(S180). Then, the search range is narrowed down to the category selected by the user and the answer is searched again in the question and answer DB 130 (S180).
상기한 단계 S180을 통해 검색 범위를 좁혀 질의응답 DB(130)에서 응답을 재검색한 후에는, 상기한 단계 S120으로 진행하여 사용자에게 제공될 응답의 수가 기준치 이상인지를 확인하고, 이후의 과정을 수행한다.After narrowing the search range through the step S180 and re-searching the answers in the question and answer
여기서, 챗봇 엔진부(120)는 재검색된 검색결과 리스트를 사용자에게 제공하고, 제공된 검색결과 리스트 중에 사용자가 원하는 검색 내용이 없는 경우에는 도 9b 및 도 9c에 도시하는 바와 같이 사용자의 요청에 따라 카테고리를 다시 설정하여 검색할 수 있다.Here, the
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments, those skilled in the art will understand that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the following claims. will be able
110. 인터페이스부, 120. 챗봇 엔진부,
121. 키워드 추출부, 123. 가중치 설정부,
125. 검색부, 127. 학습부,
130. 질의응답 DB, 140. 키워드 가중치 DB
150. 학습 DB110. Interface unit, 120. Chatbot engine unit,
121. keyword extraction unit, 123. weight setting unit,
125. Search Department, 127. Learning Department;
130. Q&A DB, 140. Keyword weight DB
150. Learning DB
Claims (13)
질의와 응답이 매칭되어 저장되는 질의응답 DB;
이전에 사용자로부터 입력받은 질의에서 추출한 키워드와 상기 키워드로 상기 질의응답 DB에서 검색되어 사용자에게 선택된 응답을 학습 세트로 하여 저장 관리하는 학습 DB; 및
상기 사용자로부터 수신한 질의를 분석하여 키워드를 추출하고, 추출된 키워드로 상기 학습 DB에서 응답을 검색하여 상기 인터페이스부를 통해 사용자에게 제공하는 챗봇 엔진부;
키워드 별로 서로 다른 값을 갖는 가중치를 저장하며, 상기 키워드에 의한 검색 결과의 빈도수가 많을수록 키워드 가중치를 낮게 설정하여 저장하고, 상기 키워드에 의한 검색 결과의 빈도수가 적을수록 키워드 가중치를 높게 설정하여 저장하는 키워드 가중치 DB를 포함하는 챗봇을 이용한 질의응답 처리 장치.an interface unit that receives a query from a user and transmits a response found in response to the received query to the user;
a question and answer DB in which questions and answers are matched and stored;
a learning DB for storing and managing a keyword extracted from a query previously input by a user and a response selected by the user as a learning set, which is retrieved from the question and answer DB with the keyword; and
a chatbot engine unit that analyzes the query received from the user, extracts keywords, searches for a response in the learning DB with the extracted keyword, and provides it to the user through the interface unit;
A weight value having a different value for each keyword is stored, the keyword weight is set to be lower as the frequency of the search result by the keyword is higher, and the keyword weight is set to be lower as the frequency of the search result by the keyword is lower, and the keyword weight is set higher and stored. Q&A processing device using chatbot including keyword weight DB.
사용자로부터 수신한 질의를 분석하여 적어도 하나 이상의 키워드를 추출하는 키워드 추출부;
상기 키워드 추출부에서 추출된 키워드에 대해 상기 키워드 가중치 DB에 미리 매칭되어 있는 가중치를 독출하여 상기 키워드의 가중치로 설정하는 가중치 설정부;
상기 키워드 추출부에서 추출된 키워드로 상기 학습 DB에서 사용자 질의에 대한 응답을 검색하여 사용자에게 제공하고, 상기 학습 DB에서 사용자가 원하는 응답이 검색되지 않으면, 상기 가중치 설정부에서 가중치가 설정된 키워드를 이용하여 상기 질의응답 DB에서 사용자 질의에 대한 응답을 검색하여 사용자에게 제공하는 검색부를 포함하도록 구성되는 것을 특징으로 하는 챗봇을 이용한 질의응답 처리 장치.According to claim 1, wherein the chatbot engine unit,
a keyword extraction unit for extracting at least one keyword by analyzing a query received from a user;
a weight setting unit for reading a weight previously matched in the keyword weight DB with respect to the keyword extracted by the keyword extraction unit and setting it as a weight of the keyword;
A response to a user's query is retrieved from the learning DB with the keyword extracted by the keyword extraction unit and provided to the user. and a search unit that searches for a response to a user's query in the question and answer DB and provides it to the user.
상기 질의응답 DB에서 사용자 질의에 대한 응답이 검색되면, 검색된 각각의 응답에 포함되는 키워드들의 가중치의 합을 산출하고, 상기 검색된 응답 중에서 상기 산출된 가중치 합이 소정 기준치 이상의 정확도를 갖는 응답을 사용자에게 제공하도록 구성되는 것을 특징으로 하는 챗봇을 이용한 질의응답 처리 장치.The method of claim 2, wherein the search unit,
When a response to a user's query is searched for in the Q&A DB, the sum of weights of keywords included in each searched response is calculated, and a response in which the calculated weighted sum has an accuracy greater than or equal to a predetermined reference value among the searched responses is provided to the user. Q&A processing apparatus using a chatbot, characterized in that it is configured to provide.
상기 검색 결과 중에서 상기 사용자에 의해 소정의 응답이 선택되면, 해당 질의 및 상기 선택된 응답에 대한 사용자의 선택 회수를 카운트한 카운트값을 더 포함하도록 구성되는 것을 특징으로 하는 챗봇을 이용한 질의응답 처리 장치.The method of claim 2, wherein the learning DB,
and, when a predetermined response is selected by the user from among the search results, further comprising a count value counting the number of times the user selects the corresponding query and the selected response.
상기 인터페이스부에서 동일한 키워드에 대해 복수 개의 응답이 검색되는 경우, 상기 검색된 응답에 대해 상기 학습 DB의 카운트 값이 높은 응답일수록 가중치를 높게 설정하고 상기 학습 DB의 카운트 값이 낮은 응답일수록 가중치를 낮게 설정하도록 구성되는 것을 특징으로 하는 챗봇을 이용한 질의응답 처리 장치.The method of claim 4, wherein the search unit,
When a plurality of responses to the same keyword are retrieved from the interface unit, the weight is set higher for the searched response as the count value of the learning DB is higher, and the weight is set lower as the count value of the learning DB is lower. Q&A processing apparatus using a chatbot, characterized in that it is configured to do so.
상기 학습 DB에서 검색된 응답을 사용자가 선택하게 되면, 선택된 응답에 대응하는 학습 세트의 클릭 회수를 증가시켜 상기 학습 DB를 업데이트 시키고, 상기 질의응답 DB에서 검색된 응답을 사용자가 선택하게 되면, 상기 추출된 키워드와 사용자에 의해 선택된 응답을 하나의 학습 세트로 하여 상기 학습 DB에 저장하는 학습부를 더 포함하도록 구성되는 것을 특징으로 하는 챗봇을 이용한 질의응답 처리 장치.The method of claim 2, wherein the chatbot engine unit comprises:
When the user selects the response retrieved from the learning DB, the number of clicks of the training set corresponding to the selected response is increased to update the learning DB, and when the user selects the response retrieved from the Q&A DB, the extracted Q&A processing apparatus using a chatbot, characterized in that it further comprises a learning unit for storing the keyword and the response selected by the user as one learning set in the learning DB.
사용자의 사용 언어가 상기 챗봇 엔진부의 사용 언어와 다른 경우, 상기 인터페이스부를 통해 사용자로부터 입력받은 문장을 상기 챗봇 엔진부의 사용 언어로 번역하고, 상기 챗봇 엔진부로부터 수신한 문장을 사용자의 사용 언어로 번역하는 번역부를 더 포함하도록 구성되는 것을 특징으로하는 챗봇을 이용한 질의응답 처리 장치.According to claim 1,
When the language used by the user is different from the language used by the chatbot engine unit, a sentence received from the user through the interface unit is translated into the language used by the chatbot engine unit, and the sentence received from the chatbot engine unit is translated into the language used by the user. A question and answer processing apparatus using a chatbot, characterized in that it further comprises a translation unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190064241A KR102278020B1 (en) | 2019-05-31 | 2019-05-31 | Apparatus and method for processing of question and answer using chatbot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190064241A KR102278020B1 (en) | 2019-05-31 | 2019-05-31 | Apparatus and method for processing of question and answer using chatbot |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200137601A KR20200137601A (en) | 2020-12-09 |
KR102278020B1 true KR102278020B1 (en) | 2021-07-15 |
Family
ID=73786728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190064241A KR102278020B1 (en) | 2019-05-31 | 2019-05-31 | Apparatus and method for processing of question and answer using chatbot |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102278020B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102449349B1 (en) | 2021-07-22 | 2022-09-30 | 주식회사 천재교과서 | Learning induction system using learning chatbot |
KR20230015194A (en) | 2021-07-22 | 2023-01-31 | 주식회사 천재교과서 | A method of inducing learning using a learning chatbot and a recording medium recording the same |
KR102510998B1 (en) | 2022-02-11 | 2023-03-16 | 주식회사 천재교과서 | Learning induction type chatbot system |
KR102640798B1 (en) | 2023-08-25 | 2024-02-28 | 망고클라우드 주식회사 | Method and apparatus for providing chatbot service for corporate |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102345289B1 (en) * | 2021-02-02 | 2022-01-03 | 모바일 엔트로피 주식회사 | System for providing non face-to-face interactive service for customer service of city gas |
KR102643045B1 (en) * | 2021-02-19 | 2024-03-04 | (주)아와소프트 | Chatbot service providing system for analyzing by time and method thereof |
KR102422948B1 (en) * | 2021-03-18 | 2022-07-21 | 주식회사 유스바이오글로벌 | Child development, health and parenting counseling chatbot system |
KR102379051B1 (en) * | 2021-08-18 | 2022-03-25 | 주식회사 지인들 | Control method of server for providing platform of maintenance of facility, and system |
WO2023163265A1 (en) * | 2022-02-24 | 2023-08-31 | 미디어젠 주식회사 | Language learning system using ai-based question and answer chatbot |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101851785B1 (en) * | 2017-03-20 | 2018-06-07 | 주식회사 마인드셋 | Apparatus and method for generating a training set of a chatbot |
US20190163690A1 (en) | 2016-11-10 | 2019-05-30 | Tencent Technology (Shenzhen) Company Limited | Keyword extraction method, apparatus and server |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100521865B1 (en) * | 2003-05-02 | 2005-10-17 | 에스케이 텔레콤주식회사 | Information providing system and method of dialogue type interface |
KR102122918B1 (en) | 2016-11-25 | 2020-06-26 | 한국전자통신연구원 | Interactive question-anwering apparatus and method thereof |
KR102033175B1 (en) * | 2017-11-15 | 2019-10-16 | (주)페르소나시스템 | Apparatus for adding data for chatbot based on machine learning |
KR102019194B1 (en) * | 2017-11-22 | 2019-09-06 | 주식회사 와이즈넛 | Core keywords extraction system and method in document |
-
2019
- 2019-05-31 KR KR1020190064241A patent/KR102278020B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190163690A1 (en) | 2016-11-10 | 2019-05-30 | Tencent Technology (Shenzhen) Company Limited | Keyword extraction method, apparatus and server |
KR101851785B1 (en) * | 2017-03-20 | 2018-06-07 | 주식회사 마인드셋 | Apparatus and method for generating a training set of a chatbot |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102449349B1 (en) | 2021-07-22 | 2022-09-30 | 주식회사 천재교과서 | Learning induction system using learning chatbot |
KR20230015194A (en) | 2021-07-22 | 2023-01-31 | 주식회사 천재교과서 | A method of inducing learning using a learning chatbot and a recording medium recording the same |
KR102510998B1 (en) | 2022-02-11 | 2023-03-16 | 주식회사 천재교과서 | Learning induction type chatbot system |
KR102640798B1 (en) | 2023-08-25 | 2024-02-28 | 망고클라우드 주식회사 | Method and apparatus for providing chatbot service for corporate |
Also Published As
Publication number | Publication date |
---|---|
KR20200137601A (en) | 2020-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102278020B1 (en) | Apparatus and method for processing of question and answer using chatbot | |
US7809721B2 (en) | Ranking of objects using semantic and nonsemantic features in a system and method for conducting a search | |
US8280879B2 (en) | System and method for quantifying visibility within search engines | |
US8145703B2 (en) | User interface and method in a local search system with related search results | |
JP5386663B1 (en) | Information processing apparatus, information processing method, information processing program, and recording medium | |
US8732155B2 (en) | Categorization in a system and method for conducting a search | |
US8332426B2 (en) | Indentifying referring expressions for concepts | |
US20130238601A1 (en) | Client system and server | |
US20070078842A1 (en) | System and method for responding to a user reference query | |
CN101496003A (en) | Compatibility scoring of users in a social network | |
US20090132646A1 (en) | User interface and method in a local search system with static location markers | |
US20090132483A1 (en) | User interface and method in a local search system with automatic expansion | |
KR20190086126A (en) | Manual retrieval service providing server and method using chatbot | |
KR20130083468A (en) | Related-word registration device, information processing device, related-word registration method, program for related-word registration device, and recording medium | |
JP7172226B2 (en) | SEARCH DEVICE, SEARCH METHOD AND SEARCH PROGRAM | |
US9183299B2 (en) | Search engine for ranking a set of pages returned as search results from a search query | |
CN101661490A (en) | Search engine, client thereof and method for searching page | |
WO2009064314A1 (en) | Selection of reliable key words from unreliable sources in a system and method for conducting a search | |
US8825698B1 (en) | Showing prominent users for information retrieval requests | |
JP2013050905A (en) | Association device, association method, association program and record medium | |
CN105224555A (en) | A kind of methods, devices and systems of search | |
US20090132512A1 (en) | Search system and method for conducting a local search | |
WO2009064313A1 (en) | Correlation of data in a system and method for conducting a search | |
JP4839295B2 (en) | Query extraction method, query extraction device, and query extraction program | |
KR100682552B1 (en) | System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |