KR101982990B1 - 챗봇을 이용한 질의 응답 방법 및 장치 - Google Patents

챗봇을 이용한 질의 응답 방법 및 장치 Download PDF

Info

Publication number
KR101982990B1
KR101982990B1 KR1020180170657A KR20180170657A KR101982990B1 KR 101982990 B1 KR101982990 B1 KR 101982990B1 KR 1020180170657 A KR1020180170657 A KR 1020180170657A KR 20180170657 A KR20180170657 A KR 20180170657A KR 101982990 B1 KR101982990 B1 KR 101982990B1
Authority
KR
South Korea
Prior art keywords
image data
character
query
response
response message
Prior art date
Application number
KR1020180170657A
Other languages
English (en)
Inventor
김영재
김두현
박근영
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020180170657A priority Critical patent/KR101982990B1/ko
Application granted granted Critical
Publication of KR101982990B1 publication Critical patent/KR101982990B1/ko
Priority to PCT/KR2019/007698 priority patent/WO2020138607A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/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
    • G06F17/2755
    • G06K9/00402
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • 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
    • G06K2209/01
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Operations Research (AREA)

Abstract

챗봇을 이용한 질의 응답 방법 및 장치가 개시된다. 챗봇을 이용한 질의 응답 방법은 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계, 질의 대상이 이미지 데이터인지 여부를 판단하는 단계, 질의 대상이 이미지 데이터인 경우, 이미지 데이터에 이미지 데이터 전처리를 수행하는 단계, 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출하는 단계, 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계, 및 선택된 응답 메시지를 사용자에게 제공하는 단계를 포함한다.

Description

챗봇을 이용한 질의 응답 방법 및 장치{METHOD AND APPARATUS FOR QUESTIONING AND ANSWERING USING CHATBOT}
아래 실시예들은 챗봇을 이용하여 질의 응답을 하는 기술에 관한 것이다.
챗봇은 메신저에 채팅하듯 질문을 입력하면 인공지능(AI)이 질문 내용을 분석하여 적절한 해답을 주는 대화형 메신저이다. 최근 국내외 유수 기업들은 고객지원 서비스에 챗봇을 도입해 고객 응대에 필요한 인력을 줄임과 동시에 24시간 빠르게 응답을 처리하여 고객지원 서비스의 품질 향상을 도모하고 있다.
한편, 챗봇이 인식하여 응답할 수 있는 질의 대상이 텍스트 데이터에 국한되어 있어, 텍스트 데이터의 질의를 제공하기 어려운 사용자는 챗봇 기능을 활용하는 데에 큰 어려움이 발생할 수 있다. 이러한 문제점들을 해결하기 위하여, 다양한 형태의 데이터를 인식함으로써 더욱 폭넓은 질의 응답 기능을 제공할 수 있는 챗봇의 개발을 위한 기술적 수단이 요구된다.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계; 상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계; 상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 단계; 상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 단계; 상기 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및 상기 선택된 응답 메시지를 사용자에게 제공하는 단계를 포함할 수 있다.
상기 이미지 데이터 전처리를 수행하는 단계는, 상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행하는 단계를 포함할 수 있다.
상기 이미지 데이터에서 문자를 검출하는 단계는, 광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출하는 단계를 포함할 수 있다.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하는 단계; 및 상기 토큰화된 문자열 전체를 토큰 리스트로 리스트화하는 단계를 더 포함할 수 있다.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계; 상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및 상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계를 더 포함할 수 있다.
상기 응답 메시지를 선택하는 단계는, 상기 토큰 리스트에 대해 형태소 분석을 수행하는 단계; 및 상기 형태소 분석 결과와 상기 데이터베이스에 저장된 후보 응답 메시지들을 비교하고, 상기 비교 결과에 기초하여 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계를 포함할 수 있다.
상기 형태소 분석을 수행하는 단계는, 상기 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출하고, 추출된 단어들 중에서 서로 중복되는 단어를 제거하는 단계를 포함할 수 있다.
상기 응답 메시지를 선택하는 단계는, 상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및 상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계를 포함할 수 있다.
상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계를 더 포함할 수 있다.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계; 상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계; 상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에서 문자를 검출하는 단계; 상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하여 토큰 리스트를 생성하는 단계; 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 상기 유사도에 기초하여 상기 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및 상기 선택된 응답 메시지를 사용자에게 제공하는 단계를 포함할 수 있다.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계; 상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및 상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계를 더 포함할 수 있다.
상기 응답 메시지를 선택하는 단계는, 상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및 상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계를 포함할 수 있다.
일 실시예에 따른 챗봇을 이용한 질의 응답 방법은, 상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계를 더 포함할 수 있다.
일 실시예에 따른 챗봇을 이용한 질의 응답 장치는, 질의 대상을 포함하는 사용자 입력을 수신하는 사용자 인터페이스; 상기 질의 대상이 이미지 데이터인지 여부를 판단하는 판단부; 상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부; 상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 문자 검출부; 상기 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 처리부; 및 상기 선택된 응답 메시지를 사용자에게 제공하는 출력부를 포함할 수 있다.
상기 이미지 데이터 전처리부는, 상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행할 수 있다.
상기 문자 검출부는, 광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출할 수 있다.
상기 문자 검출부는, 상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하고, 상기 토큰화된 문자열 전체를 토큰 리스트로 리스트화할 수 있다.
상기 문자 검출부는, 상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하고, 상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하고, 상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다.
상기 처리부는, 상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하고, 상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택할 수 있다.
상기 처리부는, 상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 선택할 수 있다.
일 실시예에 따르면, 챗봇을 이용한 질의 응답 방법에서 질의 대상이 텍스트 데이터에 한정되지 않고, 이미지 데이터가 포함된 질의 대상에 대한 응답을 제공할 수 있어 보다 다양한 형태의 질의 응답이 가능해 진다..
일 실시예에 따르면, 이미지 데이터가 포함된 질의 대상을 입력받아 이미지 데이터에 포함된 문자를 검출하고, 검출된 문자를 기반으로 챗봇 장치의 데이터베이스에 저장된 후보 응답 메시지 중 가장 유사도가 높은 후보 응답 메시지를 응답 데이터로 선택하여 제공함으로써 이미지 데이터가 포함된 질의 대상에 대해서도 적절한 응답 데이터 제공이 가능해 진다.
도 1은 일 실시예에 따른 챗봇을 이용한 질의 응답 시스템의 전체적인 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 챗봇을 이용한 질의 응답 방법의 동작을 설명하기 위한 흐름도이다.
도 3 및 도 4는 일 실시예에 따른 챗봇을 이용한 질의 응답 방법의 일례를 설명하기 위한 흐름도들이다.
도 5는 일 실시예에 따른 챗봇을 이용한 질의 응답 장치의 구성을 도시하는 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 챗봇을 이용한 질의 응답 시스템의 전체적인 구성을 도시한 도면이다.
도 1을 참조하면, 챗봇을 이용한 질의 응답 장치(100)는 사용자로부터 질의를 받으면 질의에 대응하는 응답을 챗봇(chatbot)을 이용하여 사용자에게 제공하는 장치이다. 예를 들어, 질의 응답 장치(100)는 텍스트 형태의 질의뿐만 아니라 이미지 형태의 질의를 수신할 수도 있고, 각각의 질의를 분석하여 질의에 적합한 최적의 응답을 도출하여 사용자에게 제공할 수 있다.
질의 응답 장치(100)는 이미지 데이터를 분석하는 이미지 데이터 분석부(105), 형태소를 분석하는 형태소 분석부(110) 및 응답 메시지를 선택하여 사용자에게 제공하는 응답 메시지 제공부(115) 및 사용자 입력을 수신할 수 있는 사용자 인터페이스(160)를 포함할 수 있다.
일 실시예에서 이미지 데이터 분석부(105)는 수신한 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부(120), 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출하는 문자 검출부(125) 및 검출된 문자의 문자열을 토큰화하여 토큰화된 문자열을 토큰 리스트로 리스트화하는 토큰화 수행부(130)를 포함할 수 있다.
형태소 분석부(110)는 사용자 입력에 포함된 질의 대상이 이미지 데이터인 경우에, 토큰 리스트로 리스트화된 문자열에 형태소 분석을 수행하여 단어를 검출하고, 중복된 단어를 제거하는 처리부 2(135) 및 사용자 입력에 포함된 질의 대상이 텍스트 데이터인 경우에, 텍스트 데이터에 대해 형태소 분석을 통한 문장 성분 분석 결과를 태그로 분류하여 텍스트 데이터에 태그 정보를 추가하는 처리부 1(140)을 포함할 수 있다. 응답 메시지 제공부(115)는 형태소 분석부(110)에서 전달받은 형태소 분석 결과와 후보 응답 메시지 간의 유사도를 계산하여 미리 설정된 유사도 조건을 만족시키는 후보 응답 메시지를 응답 메시지로 선택하는 처리부(145), 후보 응답 메시지를 저장하는 데이터베이스(150) 및 응답 메시지를 사용자에게 제공할 수 있는 출력부(155)를 포함할 수 있다.
위 실시예에서, 사용자로부터 수신한 사용자 입력에 포함된 질의 대상이 이미지 데이터일 경우, 사용자로부터 수신한 이미지 데이터는 이미지 데이터 전처리부(120)에서 이미지 데이터 전처리가 수행될 수 있다. 이미지 데이터 전처리부(120)는 문자 검출부(125)가 이미지 데이터에 포함된 문자를 검출할 수 있도록 이미지 데이터 전처리를 수행한다. 이미지 데이터 전처리부(120)는 이미지 데이터에 대해 해상도를 조정하고, 이미지 데이터의 컬러를 회색조로 변경하여 이미지 데이터의 이진화를 수행할 수 있다. 문자 검출부(125)는 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다. 문자 검출부(125)는 이미지 데이터에 포함된 문자를 기계가 읽을 수 있는 문자로 변환하는 광학 문자 인식(Optical Character Recognition) 기능을 활용하여 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다. 문자 검출부(125)에서 검출된 문자의 문자열은 토큰화 수행부(130)에서 토큰화될 수 있고, 토큰화된 문자열은 토큰 리스트로 리스트화될 수 있다.
이미지 데이터 분석부(105)에서 이미지 데이터 전처리가 수행되고, 문자가 검출되고, 토큰화가 수행된 후 리스트화된 문자열의 토큰 리스트는 형태소 분석부(110)에 포함된 처리부 2(135)에서 형태소 분석이 수행될 수 있다. 처리부 2(135)는 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출할 수 있다. 형태소 분석 결과는 응답 메시지 제공부(115)에 포함된 처리부(145)에서 데이터베이스(150)에 저장되어 있는 후보 응답 메시지 간의 유사도가 계산될 수 있다. 처리부(145)는 형태소 분석 결과에 포함된 단어들과 후보 응답 메시지에 포함된 단어들 간의 유사도를 계산하여, 미리 설정된 유사도 조건을 만족하는 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 유사도 조건을 만족하는 후보 응답 메시지가 없을 경우, 처리부(145)는 응답 불가 메시지를 응답 메시지로 선택할 수 있다. 출력부(155)는 처리부(145)에서 선택한 응답 메시지를 사용자 인터페이스를 통해 사용자에게 제공할 수 있다.
다른 실시예에서, 사용자로부터 수신한 사용자 입력에 포함된 질의 대상이 텍스트 데이터일 경우, 사용자는 챗봇을 이용한 질의 응답 장치(100)의 형태소 분석부(110)와 응답 메시지 제공부(115)를 통해 질의 대상과 연관된 답변을 제공받을 수 있다. 텍스트 데이터는 형태소 분석부(110)에 포함된 처리부 1(140)에서 형태소 분석을 통한 문장 성분 분석이 수행되어, 문장 성분 분석 결과를 태그로 분류하여 텍스트 데이터에 태그 정보가 추가될 수 있다. 형태소 분석을 통한 문장 성분 분석 결과는 응답 메시지 제공부(115)에 포함된 처리부(150)에서 데이터베이스(150)에 저장된 후보 응답 메시지 간에 문장 구조 패턴이 일치하는지 여부를 판단할 수 있다. 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지가 존재하는 것으로 판단되는 경우, 처리부(150)는 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지가 존재하지 않거나 두 개 이상 존재하는 경우, 처리부(150)는 응답 불가 메시지를 응답 메시지로 선택할 수 있다. 처리부(150)에서 선택된 응답 메시지는, 출력부(155)를 통해 사용자에게 제공될 수 있다.
이하에서는, 도면들을 참조하여 챗봇을 이용한 질의 응답 방법을 보다 자세히 설명한다.
도 2는 일 실시예에 따른 챗봇을 이용한 질의 응답 방법의 동작을 설명하기 위한 흐름도이다. 챗봇을 이용한 질의 응답 방법은 본 명세서에서 설명되는 챗봇을 이용한 질의 응답 장치에 의해 수행될 수 있다.
도 2를 참조하면, 단계(210)에서 질의 응답 장치는 사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신할 수 있다. 일 실시예에서, 챗봇은 이미지, 텍스트 등의 형태의 데이터를 포함하는 질의 대상을 사용자 입력으로 수신할 수 있다.
단계(220)에서 질의 응답 장치는 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 사용자 입력에 포함된 질의 대상이 이미지 데이터인 것으로 판단되는 경우, 단계(230)에서 질의 응답 장치는 이미지 데이터에 이미지 데이터 전처리를 수행할 수 있다. 일 실시예에서, 질의 응답 장치는 사용자 입력으로 수신한 이미지 데이터의 해상도 조정, 이미지 데이터의 컬러를 회색조로 변경 및 이미지 데이터의 이진화 등을 수행할 수 있다.
단계(240)에서, 질의 응답 장치는 해상도 조정, 컬러를 회색조로 변경 및 미리 설정된 임계값을 기준으로 한 이진화 등을 통해 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다.
일 실시예에서, 질의 응답 장치는 광학 문자 인식(OCR)을 이용하여 이미지 데이터에 포함된 문자를 검출할 수 있다. 여기서, 광학 문자 인식은 이미지 데이터에 포함된 문자를 기계가 읽을 수 있는 문자로 변환하는 기능을 의미할 수 있다. 광학 문자 인식을 통해 이미지 데이터에서 검출된 문자는 문자열의 공백문자를 기준으로 토큰화될 수 있고, 문자열의 분량이 일정 기준치, 즉 미리 정해진 임계값을 초과하는 경우, 토큰화된 문자열 중 임계값에 기초한 개수만큼 문자열을 임의 추출할 수 있다. 예를 들어, 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 문자열 전체를 토큰화하고, 토큰화된 문자열 전체를 토큰 리스트로 리스트화할 수 있다. 반면에, 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 문자열 전체를 토큰화하고, 토큰화된 문자열 중 임계값의 다섯 배에 달하는 개수만큼 토큰화된 문자열을 임의로 추출할 수 있다. 또한, 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다.
단계(250)에서, 질의 응답 장치는 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 이미지 데이터에 대응하는 응답 메시지를 선택할 수 있다.
일 실시예에서, 질의 응답 장치는 토큰화된 문자열로 구성된 토큰 리스트에 대해 형태소 분석을 수행할 수 있다. 여기서, 형태소 분석은 토큰화된 문자열을 뜻을 가진 가장 작은 말의 단위로 분류하는 것을 의미할 수 있다. 또한 형태소 분석은 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출하고, 추출된 단어들 중에서 서로 중복되는 단어를 제거하는 과정이 포함될 수 있다. 질의 응답 장치는 형태소 분석을 통해 문자열에서 추출된 단어들과 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들 간의 유사도를 계산할 수 있다. 질의 응답 장치는 후보 응답 메시지들 중에서 계산된 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 이미지 데이터에 대응하는 응답 메시지를 선택할 수 있다. 이때, 미리 설정된 조건을 만족시키는 유사도에 대응하는 후보 응답 메시지가 없을 경우, 질의 응답 장치는 응답 불가 메시지를 포함하는 응답 메시지를 선택할 수 있다.
단계(260)에서, 질의 응답 장치는 선택된 응답 메시지를 사용자에게 제공할 수 있다.
다른 실시예에서, 단계 (220)에서 질의 응답 장치는 질의 대상이 이미지 데이터인지 여부를 판단한 결과, 질의 대상이 이미지 데이터가 아닌 것으로 판단된 경우, 단계(270)에서, 사용자 입력에 포함된 텍스트 데이터에 포함된 문자를 검출할 수 있다.
도 3 및 도 4는 일 실시예에 따른 질의 응답 방법의 일례를 설명하기 위한 흐름도들이다.
도3을 참조하면, 단계(305)에서 질의 응답 장치는 사용자 인터페이스를 통해 사용자로부터 질의 대상을 포함하는 사용자 입력을 수신할 수 있다. 일 실시예에 따르면, 사용자 입력은 이미지 데이터 및 텍스트 데이터를 포함할 수 있다.
단계(310)에서, 질의 응답 장치는 사용자 입력에 포함된 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 단계(310)에서 사용자 입력에 포함된 질의 대상이 텍스트 데이터로 판단되는 경우, 단계(350)에서 질의 응답 장치는 형태소 분석을 통한 문장 성분 분석 결과를 태그로 분류하여 텍스트 데이터에 태그 정보를 추가할 수 있다.
이와 다르게, 사용자 입력에 포함된 질의 대상이 이미지 데이터로 판단되는 경우, 질의 응답 장치는 단계(315)에서 수신한 이미지 데이터에 대한 이미지 데이터 전처리를 수행할 수 있다. 이미지 데이터 전처리를 수행하는 과정에서 질의 응답 장치는 이미지 데이터의 해상도를 문자 추출이 용이한 해상도로 조정할 수 있고, 이미지 데이터의 컬러를 회색조로 변경하여 적응적 경계화(Adaptive Threshold)를 통해 이미지 데이터의 이진화를 수행할 수 있다. 이미지 데이터를 구역으로 나누어 구역별로 각각 이진화를 처리하는 적응적 경계화를 통해 이미지 데이터의 이진화를 수행함으로써, 이미지 데이터 전처리부는 이미지 데이터의 전체를 기준으로 이진화를 수행하는 것보다 이미지 데이터에 포함된 문자를 추출하기에 용이한 이미지 데이터의 이진화를 수행할 수 있다.
단계(320)에서, 질의 응답 장치는 이미지 데이터에서 문자를 검출할 수 있다. 일 실시예에서, 질의 응답 장치가 이미지 데이터에서 문자를 검출하기 위하여 광학 문자 인식(Optical Character Recognition) 기능을 활용할 수 있다.
단계(320)에서 검출된 문자와 관련하여, 단계(325)에서 질의 응답 장치는 문자의 문자열 개수가 미리 설정된 임계값보다 큰지 또는 이하인지 여부를 판단할 수 있다. 검출된 문자열의 개수가 미리 설정된 임계값보다 크다고 판단된 경우, 단계(330)에서, 질의 응답 장치는 전체 문자열을 문자열의 공백문자를 기준으로 토큰화할 수 있고, 토큰화된 문자열 중 임계값의 N배(N은 자연수)에 달하는 개수만큼 토큰화된 문자열을 임의로 추출할 수 있다. 검출된 문자열의 개수가 미리 설정된 임계값보다 작거나 같다고 판단된 경우, 단계(335)에서, 질의 응답 장치는 전체 문자열을 문자열의 공백문자를 기준으로 토큰화할 수 있다.
단계(340)에서 질의 응답 장치는 단계(330) 및 단계(335)에서 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다.
단계(345)에서, 질의 응답 장치는 토큰 리스트에 포함된 문자열에 형태소 분석을 수행할 수 있다. 형태소 분석을 통해, 예를 들어 “철수가 책을 읽었다”의 문장은 “철수/가/책/을/읽/었/다”로 분석될 수 있다. 일 실시예에서, 질의 응답 장치는 형태소 분석을 수행을 통해 분류된 문자열 중에서 단어들을 추출할 수 있고, 추출된 단어들 중에서 중복되는 단어들을 제거할 수 있다.
단계(345)를 수행한 결과로 문자열에서 추출된 단어 및 단계(350)을 수행한 결과로 분석된 텍스트 데이터를 기반으로, 단계(355)에서 질의 응답 장치는 형태소 분석 결과를 생성할 수 있다.
이후에, 도 4를 참조하면, 도3의 단계(355)에서 생성된 형태소 분석 결과를 기반으로, 단계(405)에서 질의 응답 장치는 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 질의 대상이 이미지 데이터로 판단된 경우, 단계(410)에서 질의 응답 장치는 형태소 분석 결과와 데이터베이스에 저장된 후보 응답 메시지 간의 유사도를 계산할 수 있다.
일 실시예에서, 형태소 분석 결과에 포함된 단어들과 데이터베이스에 저장된 후보 응답 메시지 간의 유사도를 계산하는 방법은 다음과 같을 수 있다. 질의 응답 장치는 데이터베이스에 저장된 각각의 후보 응답 메시지에 포함된 단어들을 검출하여 각 후보 응답 메시지에 대응하는 리스트로 리스트화할 수 있다. 형태소 분석 결과에 포함된 단어들과 리스트에 포함된 후보 응답 메시지에 대응하는 단어들 중에서 서로 일치하는 단어의 개수를, 후보 응답 메시지에 대응하는 리스트에 포함된 단어의 개수로 나눠 형태소 분석 결과에 포함된 단어들과 데이터베이스에 저장된 후보 응답 메시지 간의 유사도를 계산할 수 있다.
단계(415)에서, 질의 응답 장치는 데이터베이스에 저장된 후보 응답 메시지들에 대응하는 유사도들 중에서 미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하는지 여부를 판단할 수 있다. 미리 정해진 유사도의 조건은 예를 들어, 계산된 유사도들 중에서 최댓값에 대응하는 후보 응답 메시지가 단 하나인 경우가 될 수 있다. 유사도의 최댓값에 대응하는 후보 응답 메시지가 2개 이상 존재하거나, 0개인 경우에는 미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하지 않는다고 판단될 수 있다.
미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하는 경우, 단계(420)에서 질의 응답 장치는 해당 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 반대로, 미리 정해진 유사도의 조건을 만족하는 후보 응답 메시지가 존재하지 않는 경우, 단계(425)에서 질의 응답 장치는 질의 대상에 대응하는 응답 메시지로 응답 불가 메시지를 선택할 수 있다.
질의 대상이 이미지 데이터로 판단되지 않은 경우, 단계(435)에서 질의 응답 장치는 질의 대상에 대응하는 텍스트 데이터의 형태소 분석 결과를 기반으로 형태소 분석 결과와 패턴이 일치하는 후보 응답 메시지가 존재하는지 여부를 판단할 수 있다.
형태소 분석 결과와 문장 구조 패턴이 일치하는 후보 응답 메시지가 존재하는 것으로 판단되는 경우, 단계(440)에서 질의 응답 장치는 형태소 분석 결과와 문장 구조 패턴이 일치하는 후보 응답 메시지를 응답 메시지로 선택할 수 있다. 이와 달리, 형태소 분석 결과와 문장 구조 패턴이 일치하는 후보 응답 메시지가 존재하지 않는 것으로 판단되는 경우, 단계(425)에서 질의 응답 장치는 응답 메시지로 응답 불가 메시지를 선택할 수 있다.
단계(430)에서 질의 응답 장치는 선택된 응답 메시지를 질의 대상에 대한 응답으로 사용자에게 제공할 수 있다.
도 5는 일 실시예에 따른 챗봇을 이용한 질의 응답 장치의 구성을 도시하는 도면이다.
도5를 참조하면, 질의 응답 장치(500)는 사용자 입력 인터페이스(510), 판단부(520), 이미지 데이터 전처리부(530), 문자 검출부(540), 처리부(550), 출력부(560) 및 데이터베이스(570)를 포함할 수 있다.
사용자 입력 인터페이스(510)는 사용자로부터 질의 대상을 포함하는 사용자 입력을 수신할 수 있다. 판단부(520)는 사용자 입력 인터페이스(510)에서 수신한 사용자 입력에 포함된 질의 대상이 이미지 데이터인지 여부를 판단할 수 있다. 질의 대상이 이미지 데이터로 판단된 경우, 이미지 데이터 전처리부(530)는 이미지 데이터에 이미지 데이터 전처리를 수행할 수 있다. 여기서, 이미지 데이터 전처리는 이미지 데이터에서 문자를 추출하기 적절한 크기로 이미지 데이터의 크기를 조정, 이미지 데이터의 컬러를 회색조로 변경 및 미리 설정된 임계값을 기준으로 이미지 데이터를 이진화하는 등의 과정이 포함될 수 있다.
문자 검출부(540)는 이미지 데이터 전처리가 수행된 이미지 데이터에서 문자를 검출할 수 있다. 문자 검출부(540)는 광학 문자 인식을 이용하여 이미지 데이터에 포함된 문자를 검출할 수 있다. 광학 문자 인식을 통해 이미지 데이터에서 검출된 문자는 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우와 미리 설정된 임계값보다 큰 경우를 분류하여 상이한 방식으로 문자열을 토큰화하고 토큰화된 문자열을 토큰 리스트로 리스트화할 수 있다.
이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값보다 작거나 같은 경우, 문자 검출부(540)는 문자열 전체를 토큰화하고, 토큰화된 문자열 전체를 토큰 리스트로 리스트화할 수 있다. 반면에, 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우에, 문자 검출부(540)는 문자열 전체를 토큰화하고, 토큰화된 문자열 중에서 임계값에 기초한 개수만큼 임의로 토큰을 추출할 수 있다. 여기서 추출된 토큰화된 문자열은 토큰 리스트로 리스트화될 수 있다. 임계값에 기초한 개수는 예를 들어, 임계값의 5배에 달하는 개수가 될 수 있다.
처리부(550)는 이미지 데이터에서 추출한 문자에 기초하여, 데이터베이스(570)에 저장된 후보 응답 메시지들 중 이미지 데이터에 대응하는 응답 메시지를 선택할 수 있다.
일 실시예에서, 처리부(550)는 문자 검출부(540)에서 리스트화 한 토큰 리스트에 대해 형태소 분석을 수행할 수 있다. 처리부(550)가 수행한 형태소 분석의 결과로 추출된 단어들 중에서 중복된 단어들은 제거될 수 있다. 처리부(550)는 토큰 리스트에서 추출된 단어들을 데이터베이스(570)에 저장된 후보 응답 메시지들에 포함된 단어들과 유사도를 계산할 수 있다. 계산된 유사도 중에서 가장 높은 값을 가진 유사도에 대응하는 후보 응답 메시지가 응답 메시지로 선택될 수 있다. 가장 높은 값을 가진 하나의 유사도가 존재하지 않는 경우, 처리부(550)는 응답 불가 메시지를 응답 메시지로 선택할 수 있다. 출력부(560)는 선택된 응답 메시지를 사용자에게 제공할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (21)

  1. 챗봇을 이용한 질의 응답 방법에 있어서,
    사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 단계;
    상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 단계;
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열을 토큰화하는 단계;
    상기 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계;
    상기 토큰 리스트와 상기 이미지 데이터에서 검출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및
    상기 선택된 응답 메시지를 사용자에게 제공하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  2. 제1항에 있어서,
    상기 이미지 데이터 전처리를 수행하는 단계는,
    상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  3. 제1항에 있어서,
    상기 이미지 데이터에서 문자를 검출하는 단계는,
    광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  4. 삭제
  5. 챗봇을 이용한 질의 응답 방법에 있어서,
    사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 단계;
    상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 단계;
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열을 토큰화하는 단계;
    상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계;
    상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계;
    상기 토큰 리스트와 상기 이미지 데이터에서 검출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및
    상기 선택된 응답 메시지를 사용자에게 제공하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  6. 제5항에 있어서,
    상기 응답 메시지를 선택하는 단계는,
    상기 토큰 리스트에 대해 형태소 분석을 수행하는 단계; 및
    상기 형태소 분석 결과와 상기 데이터베이스에 저장된 후보 응답 메시지들을 비교하고, 상기 비교 결과에 기초하여 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  7. 제6항에 있어서,
    상기 형태소 분석을 수행하는 단계는,
    상기 토큰 리스트에 포함된 문자열의 형태소 분석을 통해 문자열에 포함되어 있는 단어들을 추출하고, 추출된 단어들 중에서 서로 중복되는 단어를 제거하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  8. 제7항에 있어서,
    상기 응답 메시지를 선택하는 단계는,
    상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및
    상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  9. 제8항에 있어서,
    상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계
    를 더 포함하는,
    챗봇을 이용한 질의 응답 방법.
  10. 챗봇을 이용한 질의 응답 방법에 있어서,
    사용자 인터페이스를 통해 질의 대상을 포함하는 사용자 입력을 수신하는 단계;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 단계;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에서 문자를 검출하는 단계;
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열 전체를 토큰화하여 토큰 리스트를 생성하는 단계;
    데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계;
    상기 유사도에 기초하여 상기 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 단계; 및
    상기 선택된 응답 메시지를 사용자에게 제공하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  11. 제10항에 있어서,
    상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열 전체를 토큰화하는 단계;
    상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하는 단계; 및
    상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는 단계
    를 더 포함하는,
    챗봇을 이용한 질의 응답 방법.
  12. 제10항에 있어서,
    상기 응답 메시지를 선택하는 단계는,
    상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하는 단계; 및
    상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는 단계
    를 포함하는,
    챗봇을 이용한 질의 응답 방법.
  13. 제12항에 있어서,
    상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 상기 사용자에게 제공하는 단계
    를 더 포함하는,
    챗봇을 이용한 질의 응답 방법.
  14. 제1항 내지 제3항 및 제5항 내지 제13항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  15. 질의 대상을 포함하는 사용자 입력을 수신하는 사용자 인터페이스;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 판단부;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부;
    상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 문자 검출부;
    상기 이미지 데이터에서 검출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 처리부; 및
    상기 선택된 응답 메시지를 사용자에게 제공하는 출력부를 포함하고,
    상기 문자 검출부는,
    상기 이미지 데이터에서 검출된 문자의 문자열의 개수가 미리 설정된 임계값 이하인 경우, 상기 문자열을 토큰화하고,
    상기 토큰화된 문자열을 토큰 리스트로 리스트화하는,
    챗봇을 이용한 질의 응답 장치.
  16. 제15 항에 있어서,
    상기 이미지 데이터 전처리부는,
    상기 이미지 데이터의 해상도 조정, 상기 이미지 데이터의 컬러를 회색조로 변경 및 상기 이미지 데이터의 이진화 중 적어도 하나를 수행하는,
    챗봇을 이용한 질의 응답 장치.
  17. 제15 항에 있어서,
    상기 문자 검출부는,
    광학 문자 인식(Optical Character Recognition)을 이용하여 상기 이미지 데이터에 포함된 문자를 검출하는,
    챗봇을 이용한 질의 응답 장치.
  18. 삭제
  19. 질의 대상을 포함하는 사용자 입력을 수신하는 사용자 인터페이스;
    상기 질의 대상이 이미지 데이터인지 여부를 판단하는 판단부;
    상기 질의 대상이 상기 이미지 데이터인 경우, 상기 이미지 데이터에 이미지 데이터 전처리를 수행하는 이미지 데이터 전처리부;
    상기 이미지 데이터 전처리가 수행된 상기 이미지 데이터에서 문자를 검출하는 문자 검출부;
    상기 이미지 데이터에서 검출한 문자에 기초하여, 데이터베이스에 저장된 후보 응답 메시지들 중 상기 이미지 데이터에 대응하는 응답 메시지를 선택하는 처리부; 및
    상기 선택된 응답 메시지를 사용자에게 제공하는 출력부를 포함하고,
    상기 문자 검출부는,
    상기 이미지 데이터에서 추출된 문자의 문자열의 개수가 미리 설정된 임계값보다 큰 경우, 상기 문자열을 토큰화하고,
    상기 토큰화된 문자열 중 상기 임계값에 기초한 개수만큼 임의 추출하고,
    상기 임의 추출된 토큰화된 문자열을 토큰 리스트로 리스트화하는,
    챗봇을 이용한 질의 응답 장치.
  20. 제15 항 또는 제19항에 있어서,
    상기 처리부는,
    상기 데이터베이스에 저장된 후보 응답 메시지들에 포함된 단어들과 상기 토큰 리스트에 포함된 문자열로부터 추출된 단어들 간의 유사도를 계산하고,
    상기 후보 응답 메시지들 중에서 상기 유사도가 미리 설정된 조건을 만족시키는 후보 응답 메시지를 상기 이미지 데이터에 대응하는 응답 메시지로 선택하는
    챗봇을 이용한 질의 응답 장치.
  21. 제20 항에 있어서,
    상기 처리부는,
    상기 유사도가 미리 설정된 조건을 만족시키지 않는 경우, 응답 불가 메시지를 포함하는 응답 메시지를 선택하는,
    챗봇을 이용한 질의 응답 장치.
KR1020180170657A 2018-12-27 2018-12-27 챗봇을 이용한 질의 응답 방법 및 장치 KR101982990B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180170657A KR101982990B1 (ko) 2018-12-27 2018-12-27 챗봇을 이용한 질의 응답 방법 및 장치
PCT/KR2019/007698 WO2020138607A1 (ko) 2018-12-27 2019-06-26 챗봇을 이용한 질의 응답 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180170657A KR101982990B1 (ko) 2018-12-27 2018-12-27 챗봇을 이용한 질의 응답 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101982990B1 true KR101982990B1 (ko) 2019-05-27

Family

ID=66679148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180170657A KR101982990B1 (ko) 2018-12-27 2018-12-27 챗봇을 이용한 질의 응답 방법 및 장치

Country Status (2)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102148451B1 (ko) * 2019-10-02 2020-08-27 한경훈 멀티 쇼핑몰의 통합 관리 및 연동을 위한 쇼핑몰 질의응답 동기화 서비스 제공 방법, 서버, 및 시스템
KR20210062809A (ko) 2019-11-22 2021-06-01 동아대학교 산학협력단 인공지능 기술기반의 의료 질의응답 챗봇 장치 및 방법
WO2021107208A1 (ko) * 2019-11-27 2021-06-03 주식회사 와이즈넛 챗봇 채널연계 통합을 위한 챗봇 통합 에이전트 플랫폼 시스템 및 그 서비스 방법
WO2021107307A1 (ko) * 2019-11-29 2021-06-03 주식회사 아토즈소프트 챗봇 기반의 낚시정보 제공 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120058538A (ko) * 2009-08-07 2012-06-07 구글 인코포레이티드 시각 질의에 응답하기 위한 아키텍처

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018388A (ko) * 2005-08-09 2007-02-14 (주)다음소프트 이미지를 이용하여 대화 에이전트 서비스를 제공하는 방법및 시스템
KR100769465B1 (ko) * 2006-03-29 2007-10-24 엔에이치엔(주) 카테고리 매칭을 이용한 질의어 매칭 방법 및 질의어 매칭시스템
KR101421704B1 (ko) * 2006-06-29 2014-07-22 구글 인코포레이티드 이미지의 텍스트 인식
KR102592287B1 (ko) * 2016-12-30 2023-10-19 주식회사 카카오 인터랙션을 이용한 메신저 검색 방법, 그리고 이를 구현한 서버 및 어플리케이션

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120058538A (ko) * 2009-08-07 2012-06-07 구글 인코포레이티드 시각 질의에 응답하기 위한 아키텍처

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102148451B1 (ko) * 2019-10-02 2020-08-27 한경훈 멀티 쇼핑몰의 통합 관리 및 연동을 위한 쇼핑몰 질의응답 동기화 서비스 제공 방법, 서버, 및 시스템
KR20210062809A (ko) 2019-11-22 2021-06-01 동아대학교 산학협력단 인공지능 기술기반의 의료 질의응답 챗봇 장치 및 방법
WO2021107208A1 (ko) * 2019-11-27 2021-06-03 주식회사 와이즈넛 챗봇 채널연계 통합을 위한 챗봇 통합 에이전트 플랫폼 시스템 및 그 서비스 방법
KR20210065629A (ko) * 2019-11-27 2021-06-04 주식회사 와이즈넛 챗봇 채널연계 통합을 위한 챗봇 통합 에이전트 플랫폼 시스템 및 그 서비스 방법
KR102357620B1 (ko) * 2019-11-27 2022-02-03 주식회사 와이즈넛 챗봇 채널연계 통합을 위한 챗봇 통합 에이전트 플랫폼 시스템 및 그 서비스 방법
WO2021107307A1 (ko) * 2019-11-29 2021-06-03 주식회사 아토즈소프트 챗봇 기반의 낚시정보 제공 방법 및 그 장치
KR20210067819A (ko) * 2019-11-29 2021-06-08 주식회사 아토즈소프트 챗봇 기반의 낚시정보 제공 방법 및 그 장치
KR102307289B1 (ko) * 2019-11-29 2021-09-30 주식회사 아토즈소프트 챗봇 기반의 낚시정보 제공 방법 및 그 장치

Also Published As

Publication number Publication date
WO2020138607A1 (ko) 2020-07-02

Similar Documents

Publication Publication Date Title
KR101982990B1 (ko) 챗봇을 이용한 질의 응답 방법 및 장치
US20200143289A1 (en) Systems and method for performing contextual classification using supervised and unsupervised training
CN108614898B (zh) 文档解析方法与装置
CN109460455B (zh) 一种文本检测方法及装置
Bissacco et al. Photoocr: Reading text in uncontrolled conditions
EP1016033B1 (en) Automatic language identification system for multilingual optical character recognition
CN109902223B (zh) 一种基于多模态信息特征的不良内容过滤方法
CN112686036B (zh) 风险文本识别方法、装置、计算机设备及存储介质
US5862259A (en) Pattern recognition employing arbitrary segmentation and compound probabilistic evaluation
US20150302243A1 (en) Distance based binary classifier of handwritten words
US20180005087A1 (en) Pattern recognition device, pattern recognition method, and computer program product
CN103605690A (zh) 一种即时通信中识别广告消息的装置和方法
KR20200063067A (ko) 자가 증식된 비윤리 텍스트의 유효성 검증 장치 및 방법
CN103116752A (zh) 图片审核方法和***
CN110321557A (zh) 一种文本分类方法、装置、电子设备及存储介质
US9811726B2 (en) Chinese, Japanese, or Korean language detection
Francois et al. Text detection and post-OCR correction in engineering documents
Wu et al. Object detection based handwriting localization
CN112818984B (zh) 标题生成方法、装置、电子设备和存储介质
US11449794B1 (en) Automatic charset and language detection with machine learning
KR102520305B1 (ko) 키워드 빈도수와 영역 중요도 분석 기반 딥러닝 문서 분석 시스템 및 방법
Yasin et al. Transformer-Based Neural Machine Translation for Post-OCR Error Correction in Cursive Text
KR20220138960A (ko) 지식 임베딩 모델 기반의 개체명 인식 모델 생성 장치 및 방법
CN113934833A (zh) 训练数据的获取方法、装置、***及存储介质
Bartelds et al. Improving Cross-domain Authorship Attribution by Combining Lexical and Syntactic Features.

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant