KR102155739B1 - 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템 - Google Patents

질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템 Download PDF

Info

Publication number
KR102155739B1
KR102155739B1 KR1020190132871A KR20190132871A KR102155739B1 KR 102155739 B1 KR102155739 B1 KR 102155739B1 KR 1020190132871 A KR1020190132871 A KR 1020190132871A KR 20190132871 A KR20190132871 A KR 20190132871A KR 102155739 B1 KR102155739 B1 KR 102155739B1
Authority
KR
South Korea
Prior art keywords
data
product
answer
text
query
Prior art date
Application number
KR1020190132871A
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 KR1020190132871A priority Critical patent/KR102155739B1/ko
Application granted granted Critical
Publication of KR102155739B1 publication Critical patent/KR102155739B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • 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/3349Reuse of stored results of previous queries
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법이 제공되며, 메시지 인터페이스를 통하여 고객 단말로부터 질의가 수신되는 경우, 수신된 질의를 챗봇과 기 매핑되어 저장된 판매자 단말로 전달하는 단계, 판매자 단말에서 질의에 대한 답변 데이터가 수신되는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 질의와 답변 데이터를 매핑하여 데이터베이스화하는 단계, 및 수신된 답변 데이터를 메시지 인터페이스를 통하여 고객 단말로 전송하는 단계를 포함하고, 질의는 일반 문의와 상품 문의로 분류되고, 질의에 대한 답변 데이터가 기간을 설정하여 사용할 것인지, 1회적으로 사용할 것인지, 영구적으로 사용할 것인지에 대한 재사용 여부 옵션의 선택 여부에 따라 데이터베이스에 저장 및 재학습 데이터로 입력되는 것을 그 특징으로 한다.

Description

질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템{METHOD, SERVER, AND SYSTEM FOR PROVIDING CHATBOT SERVICE WITH ADAPTIVE REUSE OF QUESTION AND ANSWER DATASET}
본 발명은 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 관한 것으로, 서로 다른 질의에 대한 동일한 답변이 제공되는 경우 이를 재사용하도록 판매자에게 옵션을 제공할 수 있는 플랫폼을 제공한다.
고객의 웹 공간 이용은 기업이나 사업에 대한 개인적인 만족도 평가에 그치지 않고 기업의 명성과 관련성을 맺을 수 있다. 전자상거래(E-commerce, EC) 적용에 대한 평가틀(evaluation framework)은 웹 공간 이용만족도와 기업 명성의 관계성을 설명하는 데 도움을 주는데, 전자상거래 적용을 평가할 때 EC 기능성 측면인 웹사이트 역량(website capabilities), 소비자 만족감(satisfaction)인 소비자 평가(assessment), EC 발전과 손실이익 요소들인 기업 평가(assessment)가 고려된다. 소비자 만족감을 주는 요소로는 상호작용성을 들 수 있는데, 웹 공간에서 인지하는 상호작용성 정도가 클수록 웹 공간에 호의적인 태도를 형성하게 된다. 웹 공간의 대화 커뮤니케이션 요소와 인지된 상호작용성 요소는 고객만족도와 충성도에 영향을 미치고 있기 때문에, 기업 입장에서는 고객에게 판매되는 상품에 대한 질의에 신속하고 정확하게 응답하는 것이 중요하다.
이때, 상품문의나 상담문의에 실시간으로 답변할 수 있는 환경이 연구 및 개발되었는데, 이와 관련하여 선행기술인 한국등록특허 제10-0834358호(2008년06월10일 공고)에는, 쇼핑몰 상품에 대한 구매관련 질의사항이 발생하였을 때, 판매자의 연락처에 직접 문의하지 아니하고 문자 메시지 서비스나 멀티메일, 게시판 등을 이용하여 질의 내용을 작성한 후 이를 서비스 제공업체(CP)에 전송하며, 이를 관리하는 서비스 제공업체는 해당 메시지의 발신지와 도착지를 검출하고 메시지를 문자메시지, 메신저 등 즉답을 할 수 있는 수단으로 처리하여 판매자에게 전달하고, 그 답변결과를 문자메시지, 메신저 등 즉시 확인할 수 있는 수단으로 질의자에게 회신함으로써 실시간 또는 구매요청 질의에 대한 즉각적인 질의응답 서비스를 제공할 수 있는 구성이 개시되어 있다.
다만, 상술한 구성을 이용하는 경우 동일한 질문에 대한 답변을 판매자가 반복적으로 수행해야 하는데, 판매자가 주문접수 및 배송 전반에 관한 업무를 처리하는 과정에서 반복적인 질문에 대한 답변을 할 수 있는 인력을 투입하지 않는 이상 업무에 부하가 걸리게 되어 실질적인 판매 업무를 정상적으로 수행하기가 어려워진다. 또한, 챗봇(Chatbot)을 이용하여 동일한 질문에 대한 답변을 하도록 시키는 경우에도, 규칙 기반에 따라 일회성 답변을 제공하기 때문에, 고객이 제대로 된 질문을 하지 못하는 경우 답변을 얻지 못하고 답답함만을 얻은 채 다시 전화를 걸어 직원과 연결되기를 기다리게 된다. 이에, 챗봇에게 사람과 같은 인지능력을 제공하여 제대로 되지 않은 질문에도 제대로 된 답변을 하도록 하는 플랫폼이 요구된다.
본 발명의 일 실시예는, 챗봇으로 입력되는 고객의 질의에 대하여 답변을 하지 못하는 경우 판매자에게 전달하고, 판매자의 답변이 등록되는 경우 질의와 답변을 매핑하여 저장하되, 기 등록된 답변을 재사용할 수 있도록 판매자에게 옵션을 제공하도록 함으로써, 판매자가 동일한 답변을 반복하여 입력하지 않도록 하고, 챗봇에게 올바르지 않은 질문을 하더라도 올바른 답변을 할 수 있도록 서로 다른 질의에 동일한 답변이 제공되는 경우 이를 매핑하여 데이터베이스화하며, 답변이 제공되기까지의 기간을 판매자가 선택하도록 함으로써 기한 관리가 가능하도록 하고, 궁극적으로 소비자 만족감을 높여 고객만족도와 충성도를 높일 수 있도록 하는, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 챗봇 서비스 제공 서버에서 실행되는 챗봇 서비스 제공 방법에 있어서, 메시지 인터페이스를 통하여 고객 단말로부터 질의가 요청되는 경우, 요청 질의에 대한 질의 데이터를 챗봇과 기 매핑되어 저장된 판매자 단말로 전달하는 단계; 상기 판매자 단말로 상기 질의 데이터가 수신되는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 상기 질의 데이터와, 상기 질의 데이터에 대한 답변 데이터를 매핑하여 데이터베이스화하는 단계; 및 상기 데이터베이스화된 답변 데이터를 상기 메시지 인터페이스를 통하여 상기 고객 단말로 전송하는 단계를 포함하고, 상기 질의 데이터는 일반 문의와 상품 문의로 분류되고, 상기 답변 데이터가 기간을 설정하여 사용할 것인지, 1회적으로 사용할 것인지, 영구적으로 사용할 것인지에 대한 재사용 여부 옵션의 선택 여부에 따라 데이터베이스에 저장 및 재학습 데이터로 입력될 수 있다.
여기서, 상기 데이터베이스화하는 단계는, 상기 판매자 단말에서 상기 질의 데이터를 작성하는 기한을 설정하도록 기한 설정 옵션을 제공하는 단계; 상기 기한 설정 옵션을 통하여 상기 판매자 단말에서 작성 기한을 설정하는 경우, 상기 작성 기한에 포함된 시기 또는 종기에 상기 판매자 단말로 작성을 요청하는 알람을 제공하도록 세팅하는 단계를 포함할 수 있다.
본 발명의 다른 실시예는, 메시지 인터페이스를 통하여 고객 단말로부터 질의 데이터가 수신되는 경우, 수신된 질의 데이터를 챗봇과 기 매핑되어 저장된 판매자 단말로 전달하는 전달부; 상기 판매자 단말로 상기 질의 데이터가 수신되는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 상기 질의 데이터와, 상기 질의 데이터에 대한 답변 데이터를 매핑하여 데이터베이스화하는 구축부; 및 상기 데이터베이스화된 답변 데이터를 상기 메시지 인터페이스를 통하여 상기 고객 단말로 전송하는 전송부를 포함하는 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 서버를 제공할 수 있다.
본 발명의 또 다른 실시예는, 질의 데이터를 메시지 인터페이스를 통하여 전송하고, 상기 메시지 인터페이스를 통하여 상기 질의 데이터에 대한 응답인 답변 데이터를 수신하여 출력하는 고객 단말; 상기 고객 단말로부터 상기 메시지 인터페이스를 통하여 상기 질의 데이터가 수신되는 경우에 재사용 여부 옵션을 선택하여 답변 데이터를 전송하는 판매자 단말; 및 상기 메시지 인터페이스를 통하여 상기 고객 단말로부터 상기 질의 데이터가 수신되는 경우에 수신된 질의 데이터를 챗봇과 기 매핑되어 저장된 상기 판매자 단말로 전달하고, 상기 판매자 단말로 상기 질의 데이터가 수신되는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 상기 질의 데이터와, 상기 질의 데이터에 대한 답변 데이터를 매핑하여 데이터베이스화하며, 상기 수신된 답변 데이터를 상기 메시지 인터페이스를 통하여 상기 고객 단말로 전송하는 챗봇 서비스 제공 서버를 포함하는 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템을 제공할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 챗봇으로 입력되는 고객의 질의에 대하여 답변을 하지 못하는 경우 판매자에게 전달하고, 판매자의 답변이 등록되는 경우 질의와 답변을 매핑하여 저장하되, 기 등록된 답변을 재사용할 수 있도록 판매자에게 옵션을 제공하도록 함으로써, 판매자가 동일한 답변을 반복하여 입력하지 않도록 하고, 챗봇에게 올바르지 않은 질문을 하더라도 올바른 답변을 할 수 있도록 서로 다른 질의에 동일한 답변이 제공되는 경우 이를 매핑하여 데이터베이스화하며, 답변이 제공되기까지의 기간을 판매자가 선택하도록 함으로써 기한 관리가 가능하도록 하고, 궁극적으로 소비자 만족감을 높여 고객만족도와 충성도를 높일 수 있도록 한다.
도 1은 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 챗봇 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 도 1의 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템(1)은, 적어도 하나의 판매자 단말(100), 챗봇 서비스 제공 서버(300), 적어도 하나의 쇼핑몰 서버(400), 및 적어도 하나의 고객 단말(500)을 포함할 수 있다. 다만, 이러한 도 1의 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 판매자 단말(100)은 네트워크(200)를 통하여 챗봇 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 판매자 단말(100), 적어도 하나의 쇼핑몰 서버(400), 적어도 하나의 고객 단말(500)과 연결될 수 있다. 또한, 적어도 하나의 쇼핑몰 서버(400)는, 네트워크(200)를 통하여 챗봇 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 적어도 하나의 고객 단말(500)은, 네트워크(200)를 통하여 적어도 하나의 판매자 단말(100), 챗봇 서비스 제공 서버(300) 및 적어도 하나의 쇼핑몰 서버(400)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5th Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 와이파이(Wi-Fi), NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 판매자 단말(100)은, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 고객의 질의에 대한 답변을 입력받는 판매자의 단말일 수 있다. 그리고, 적어도 하나의 판매자 단말(100)은, 복수의 쇼핑몰 서버(400)의 페이지에 게재된 상품 데이터를 챗봇 서비스 제공 서버(300)로 전송하고, 챗봇 서비스 제공 서버(300)로부터 추천된 질의응답 데이터 셋을 수신하고, 어느 하나의 질의응답 데이터 셋을 선택하거나 변형 또는 편집하는 단말일 수 있다. 또한, 적어도 하나의 판매자 단말(100)은, 선택된 질의응답 데이터 셋을 텍스트 시나리오에 포함시켜 챗봇을 생성하는 단말일 수 있고, 기 구축된 질의응답 데이터 셋을 재사용하는 옵션을 출력하는 단말일 수 있다. 그리고, 적어도 하나의 판매자 단말(100)은, 답변의 기한을 설정하고, 종기에 도달하는 경우 알람을 출력하는 단말일 수 있다. 또한, 적어도 하나의 판매자 단말(100)은 서로 다른 질의에 대하여 동일한 답변이 선택되도록 하거나, 역으로 서로 다른 답변에 대하여 동일한 질의가 매핑되도록 선택하는 단말일 수 있다.
여기서, 적어도 하나의 판매자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop), VR HMD(예를 들어, HTC VIVE, Oculus Rift, GearVR, DayDream, PSVR 등) 등을 포함할 수 있다. 이때, 적어도 하나의 판매자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 여기서, VR HMD 는 PC용 (예를 들어, HTC VIVE, Oculus Rift, FOVE, Deepon 등)과 모바일용(예를 들어, GearVR, DayDream, 폭풍마경, 구글 카드보드 등) 그리고 콘솔용(PSVR)과 독립적으로 구현되는 스탠드 얼론(Stand Alone) 모델(예를 들어, Deepon, PICO 등) 등을 모두 포함한다. 적어도 하나의 판매자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와, 웨어러블 디바이스, 및, 블루투스(BLE, Bluetooth Low Energy), NFC(Near-Field Communication), RFID(Radio-Frequency IDentification), 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다.
챗봇 서비스 제공 서버(300)는, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 판매자 단말(100)에서 상품을 등록한 적어도 하나의 쇼핑몰 페이지를 입력하는 경우, 적어도 하나의 쇼핑몰 페이지에 업로드된 상품 데이터를 수집 및 분석하여 상품 데이터에 적합한 질의응답 데이터 셋을 추천해주는 서버일 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 고객 단말(500)에서 메시지 인터페이스를 통하여 질의를 전달하는 경우, 판매자 단말(100)로 전송하여 질의에 대한 답변을 선택하도록 하는 서버일 수 있고, 이때 기 저장된 답변을 재사용할 것인지를 묻거나 이에 대한 옵션을 제공하는 서버일 수 있다. 또한, 챗봇 서비스 제공 서버(300)는, 판매자 단말(100)에서 답변을 할 수 있는 기한을 설정하도록 옵션을 제공하는 서버일 수 있다. 그리고, 챗봇 서비스 제공 서버(300)는, 답변이 재사용되는 경우, 고객 단말(100)로부터 수신된 질의를 재사용된 답변 데이터에 매핑되도록 저장 및 데이터베이스를 업데이트하는 서버일 수 있고, 업데이트된 데이터베이스에 기반하여 챗봇이 구동되도록 설정하는 서버일 수 있다.
여기서, 챗봇 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 쇼핑몰 서버(400)는, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 쇼핑몰의 서버일 수 있다. 이때, 적어도 하나의 쇼핑몰 서버(400)는, 판매자 단말(100)의 쇼핑몰 페이지 및 쇼핑몰 페이지에 접근가능한 사용자 정보를 관리하는 서버일 수 있다. 그리고, 적어도 하나의 쇼핑몰 서버(400)는, 챗봇 서비스 제공 서버(300)로부터 판매자 단말(100)의 계정에 접근 및 쇼핑몰 페이지에 엑세스하는 경우, 이를 허용하는 서버일 수 있고, 쇼핑몰 페이지에 질의응답 프레임 내에 챗봇 서비스 제공 서버(300)에서 등록된 데이터를 입력하여 저장하는 서버일 수 있다.
여기서, 적어도 하나의 쇼핑몰 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 고객 단말(500)은, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 질의를 입력하고 이에 대응하는 답변 데이터를 출력하는 단말일 수 있다. 이때, 적어도 하나의 고객 단말(500)은 메시지 인터페이스를 통하여 답변이 불가한 질의를 챗봇 서비스 제공 서버(300)로 전송하여 판매자 단말(100)로부터 답변을 요청하는 단말일 수 있다. 그리고, 적어도 하나의 고객 단말(500)은, 판매자 단말(100)로부터 챗봇 서비스 제공 서버(300)를 통하여 메시지 인터페이스 상에서 답변을 출력하는 단말일 수 있다.
여기서, 적어도 하나의 고객 단말(500)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop), VR HMD(예를 들어, HTC VIVE, Oculus Rift, GearVR, DayDream, PSVR 등) 등을 포함할 수 있다. 이때, 적어도 하나의 고객 단말(500)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 여기서, VR HMD 는 PC용 (예를 들어, HTC VIVE, Oculus Rift, FOVE, Deepon 등)과 모바일용(예를 들어, GearVR, DayDream, 폭풍마경, 구글 카드보드 등) 그리고 콘솔용(PSVR)과 독립적으로 구현되는 스탠드 얼론(Stand Alone) 모델(예를 들어, Deepon, PICO 등) 등을 모두 포함한다. 적어도 하나의 고객 단말(500)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와, 웨어러블 디바이스, 및, 블루투스(BLE, Bluetooth Low Energy), NFC(Near-Field Communication), RFID(Radio-Frequency IDentification), 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 챗봇 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3은 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 챗봇 서비스 제공 서버(300)는, 전달부(310), 구축부(320), 전송부(330), 및 추천부(340)를 포함할 수 있다.
본 발명의 일 실시예에 따른 챗봇 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 판매자 단말(100), 적어도 하나의 쇼핑몰 서버(400), 및 적어도 하나의 고객 단말(500)로 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 판매자 단말(100), 적어도 하나의 쇼핑몰 서버(400), 및 적어도 하나의 고객 단말(500)은, 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 판매자 단말(100), 적어도 하나의 쇼핑몰 서버(400), 및 적어도 하나의 고객 단말(500)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
이하, 도 2를 통하여 본 발명의 일 실시예에 따른 챗봇 서비스를 설명하기 이전에, 챗봇의 개념을 간단히 설명한다.
챗봇은 채팅과 로봇의 합성어로 로봇의 인공지능을 대화형 인터페이스에 접목한 기술로 인공지능을 기반으로 사람과 상호작용하는 대화형 시스템을 지칭한다. 챗봇은 인공지능 기술의 발전으로 머신러닝 또는 딥러닝 기술이 챗봇에 적용되어 사용자의 질문을 이해하고 의도를 파악하여 적합한 답변을 제시할 수 있게 되면서 더 복잡한 일을 수행하는 것이 가능해졌다. 또한, 스마트폰의 보급과 모바일 메신저 사용자가 급증하여 스마트 폰 사용자는 대부분 메신저 앱을 사용하고 있어 메신저 앱을 사용하여 챗봇 서비스를 제공하는 경우 새로운 앱 설치 없이 누구나 익숙한 환경에서 챗봇 서비스를 사용자들에게 공급할 수 있게 되었다. 이에 따라 기존 메신저 업체들은 챗봇 시장을 선점하기 위해 각자의 메신저 플랫폼 API를 공개함은 물론 인공지능 기술이 적용된 메신저 플랫폼을 개발하고 있다.
챗봇은 동작방식에 따라 규칙기반 챗봇과 기계학습기반 챗봇, 정보교환방식에 따라 일회성 질의응답 챗봇과 연속대화형 챗봇, 답변생성방식에 따라 검색모델 챗봇과 생성모델 챗봇으로 분류할 수 있다. 규칙기반 챗봇은 미리 정의된 규칙을 기반으로 챗봇이 동작하게 되어 있는데, 사용자의 입력을 해석하는 해석규칙, 사용자의 입력에 대해 반응하는 반응 규칙 또는 응답을 생성하는 규칙을 포함하고 있다. 규칙기반 챗봇의 개발에는 대량의 데이터가 필요하지 않으며 상대적으로 구현이 쉬운데, 규칙기반 챗봇의 경우 규칙이 잘 정의되면 높은 품질의 대화 서비스가 가능하지만 많은 규칙을 잘 정의하는 데에는 많은 시간과 인력이 요구된다.
기계학습기반 챗봇은 자연어를 이해하고 적절한 답변을 생성하거나 선택하기 위해 기계학습 알고리즘을 사용한다. NLP(Natural Language Process) 모듈은 사용자가 입력한 자연어를 다양한 언어학적 자원을 활용해 분해하는 역할을 수행하고, NLU(Natural Language Understanding) 모듈은 분해된 자연어의 의미를 파악하여 정제된 정보를 답변을 생성하기 위한 최종 분류 모델 또는 생성모델로 전달하게 된다. 나아가 NLU 모듈의 결과물을 사용하여 기계학습 알고리즘은 기존에 정의된 답변을 선택하거나 NLG(Natural Language Generation) 모듈이 새로운 답변을 생성하게 된다. 기계학습 기반 챗봇은 높은 수준의 대화가 가능하지만 그만큼 높은 수준 자연어 처리기술을 필요로 하며, NLP 모듈 및 NLU 모듈은 많은 언어학적 자원 및 데이터를 요구한다.(말뭉치 사전, 형태소사전, 의미역 사전)
또한, 특정 태스크 수행을 위해 만들어진 기계학습 모듈은 적용 분야에 따라 새롭게 개발해야 하는 경우가 많으며 대부분 재활용이 어렵다. 일회성 질의응답 챗봇은 대화관리 기능을 필요로 하지 않으며 질문과 관련성이 가장 높은 답변을 제시하는 검색엔진과 유사한 형태로 작동한다. 자주 묻는 질문에 대한 정해진 답변을 제시하는 FAQ 챗봇의 대부분이 1회성 질의응답 형태로 설계된다. 연속 대화형 챗봇은 대화의 시작과 종료가 있으며 사용자로부터 특정한 목적을 달성하기 위해 정보를 수집하고, 수집된 정보를 바탕으로 최종 응답을 하면 대화가 종료된다. 챗봇이 다양한 주제에 대해 모든 응답을 하는 것이 불가능하므로 대부분 특정 대화의 주제에 따라 구조화된 대화의 형식(시나리오)이 정해져 있다. 정해진 시나리오에 따라 동작하는 챗봇 시스템을 프레임 기반 담화 시스템(Frame-based system)이라고 한다. 프레임 기반 담화 시스템은 사용자의 질문에 응답하기 위한 정보의 세트인 슬롯을 구성하여 슬롯에 기반을 두어 질문을 생성하고, 요구되는 정보가 수집된 상태에 따라 담화가 전개된다.
검색기반 챗봇은 사용자의 질문에 따라 기존 지식 베이스에 저장된 답변 중 가장 적절한 답변을 선택하여 제시하는 방식으로 작동한다. 생성기반 챗봇은 사용자의 질문에 따라 기존에 정의되어 있지 않은 새로운 답변을 생성하여 제공한다. 생성모델의 챗봇은 답변을 생성하는데 자유도가 크기 때문에 문법적인 오류를 범하거나 일반적이지 않은 답변을 생성하는 경향이 있으며, 생성모델의 챗봇을 만들기 위해서는 굉장히 방대한 학습데이터가 필요하다. 현재 상용화된 챗봇은 대부분 검색기반 챗봇이거나 검색모델과 생성모델을 결합한 하이브리드 방식이며, 최근 많은 연구자들이 딥러닝 알고리즘(Encoder-Decoder, Seq2Seq)을 적용하여 챗봇을 만들기 위한 연구를 진행하고 있다.
상술한 개념을 바탕으로 본 발명의 일 실시예를 도 2를 참고로 설명한다. 이하 도 2에서 설명되지 않은 내용들은 상술한 내용과 동일 또는 유사하거나 전제가 되는 중복되는 부분은 생략하기로 한다.
전달부(310)는, 메시지 인터페이스를 통하여 고객 단말(500)로부터 질의가 수신되는 경우, 수신된 질의를 챗봇과 기 매핑되어 저장된 판매자 단말(100)로 전달할 수 있다. 상술한 챗봇 구동 방법 중 규칙 기반 챗봇은 미리 규칙을 작성하여 해당 규칙에 대한 사용자 요청을 처리한다. 규칙 기반의 챗봇을 사용하는 경우, 상황에 따라 대화를 확장하거나 수정할 필요가 있으며 이를 위해 챗봇 수행을 위한 규칙을 수정해야만 하지만 관리자가 규칙을 수정하는 과정에서 규칙이 중복되거나 누락될 수 있고, 관리자가 규칙을 작성하는 방법을 학습하고 작성해야하기 때문에 규칙을 쉽게 수정할 수 없다는 문제가 있다. 따라서, 본 발명의 일 실시예에서는, 규칙 기반의 챗봇을 이용하는 경우, 규칙에 기 정의되지 않았거나 답변이 존재하지 않는 경우에는 전달부(310)를 통하여 판매자가 답변을 하도록 하고, 답변을 질의와 매핑하여 저장하되 중복되는 경우에는 서로 다른 질의가 동일한 답변에 매핑되어 저장되도록 함으로써, 잘못된 질문에 올바른 답을 제공하되 판매자가 반복적으로 동일한 답변을 하는 경우를 최소화하고자 한다. 이때, 질의에 대한 답변 데이터가 기 설정된 기간, 1 회성 사용 여부 또는 영구적 사용을 포함하는 재사용 여부 옵션의 선택 여부에 따라 데이터베이스에 저장될 수 있다.
구축부(320)는, 판매자 단말(100)에서 질의에 대한 답변 데이터를 작성하는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 질의를 답변 데이터에 매핑하여 데이터베이스화할 수 있다. 이때, 구축부(320)는, 답변 데이터를 이후에 재사용할 것인지를 묻기 위하여 판매자 단말(100)로 재사용 여부 옵션을 제공하고, 재사용 여부 옵션이 선택되는 경우, 고객 단말(500)의 질의를 포함한 서로 다른 질의를 판매자 단말(100)에서 선택된 동일한 답변 데이터에 매핑되도록 저장할 수 있다. 예를 들어, 당업자가 아닌 일반인인 고객은 A라는 답변을 찾기 위해 B라는 키워드가 들어간 문장을 생성하여 질의해야 하는데, B라는 키워드를 모르거나, B가 포함된 문장을 생성하지 못해서 A라는 답변을 얻지 못하는 경우가 존재한다. 이때, 고객이 C 문장을 생성했는데 답변이 B가 포함된 문장과 동일하게 A인 경우에는, 이를 그대로 사용하는 것이 여러모로 효율적이다. 이에 따라, 구축부(320)는, B 문장 - A 답변이라고 구축된 데이터베이스에, (B 문장 + C 문장) - A 답변이라고 업데이트함으로써 이후 C 문장이 입력되는 경우 A 답변이 출력되도록 할 수 있다. 또는, D 문장에 대한 C 답변이 존재하지 않는 경우, 추가로 데이터베이스화하되 1회성인지 기간적으로 사용할 것인지 또는 영구적으로 사용할 것인지의 재사용 옵션에 의해 학습 또는 재학습되는 과정이 다르게 진행된다. 이러한 과정이 반복되고 타 고객들도 다양한 질문을 하는 경우에는, (B 문장 + C 문장 + ......) - A 답변이라는 데이터베이스가 구축될 수 있고, 챗봇도 이에 기반하여 올바른 질의가 입력되지 않더라도 올바른 답변을 할 수 있어서, 고객도 빠른 답변을 얻을 수 있고 판매자도 동일한 답변을 계속해서 기계처럼 제공하지 않을 수 있다.
구축부(320)는, 판매자 단말(100)에서 질의에 대한 답변 데이터를 작성하는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 질의를 답변 데이터에 매핑하여 데이터베이스화할 때, 판매자 단말(100)에서 질의에 대한 답변 데이터를 작성하는 기한을 설정하도록 기한 설정 옵션을 제공하고, 기한 설정 옵션을 통하여 판매자 단말(100)에서 작성 기한을 설정하는 경우, 작성 기한에 포함된 시기 또는 종기에 판매자 단말(100)로 작성을 요청하는 알람을 제공하도록 세팅할 수 있다. 이에 따라, 고객도 언제 답변이 등록되는지 몰라서 계속해서 인터넷 페이지에 접속하지 않아도 되고, 판매자도 답변이 늦어져서 고객이 화를 내거나 심지어는 계약을 파기하는 상황을 제거할 수 있으며, 각 기한이 걸린 답변을 위주로 업무를 처리함으로써 효율성을 높일 수 있게 된다. 그리고, 구축부(320)는 수신된 답변 데이터를 메시지 인터페이스를 통하여 고객 단말(500)로 전송할 수 있다. 여기서, 메시지 인터페이스는, 메신저 애플리케이션 또는 SMS/MMS 채널일 수 있으나 이에 한정되는 것은 아니다.
덧붙여서, 구축부(320)는, 유사한 질의에 대하여 반복적인 답변 제공을 피하기 위하여, 질의 간 유사도를 측정하여 유사한 질의에 동일한 답변이 제공될 수 있도록 할 수도 있다. 이때, 한글 검색어(질의) 간 유사도를 측정하기 위해서는 평가기준이 필요한데, 구축부(320)는 레벤슈타인(Levenshtein) 함수를 이용할 수 있다. 이 함수는 문자열을 UCS4로 변환한 뒤에 거리값을 계산해서 유사도를 측정하는 역할을 한다. 여기서 거리값은 문자열 매트릭스 내에서 두 단어 사이의 특정 단어를 다른 단어로 바꾸는데 필요한 최소 편집 횟수를 말한다. 그리고, Levenshtein 알고리즘은, 두 질의 사이의 거리 값이 최소가 되는 정렬 결과를 탐색하기 위해서 누적 거리값이 기록된 탐색 테이블을 생성할 수 있는데, 탐색 테이블은 먼저 질의 간의 거리를 계산하고, 재귀적으로 누적 거리 값을 기록할 수 있다. 그 다음에, 텍스트 유사도를 통해서 나온 결과 값을 이용하여 미리 정의된 답변 변수를 추출하고, 필요한 값만 파싱(Parsing)하여 고객에게 전달할 수 있도록 한다. 이에 따라, 실시간을 요하는 그 외의 유사한 질문은 전에 대답했던 답변의 데이터를 재사용하여 답변을 제공할 수 있다.
덧붙여서, 구축부(320)는 규칙 기반의 챗봇은, 방향성 없이 자유롭게 말하는 열린 대화가 아니라, 미리 짜인 구조의 대화인 닫힌 구조의 대화를 수행하게 되는데, 선택지의 데이터양이 제한적이기 때문에 보다 높은 성능을 구현할 수 없기 때문에, 텍스트 기반의 CNN(Text-Convolution Neural Network) 모델을 이용하여 질의의 내용을 분류하고, 열린 대화형 챗봇의 학습 데이터를 체계적으로 공급해주는 방법을 더 이용할 수 있다. 그리고, 텍스트 기반의 CNN을 이용함과 동시에 구축부(320)는 Deep-QA 챗봇 모델을 제공할 수 있다. Deep-QA 챗봇 모델은 추가적으로 분류 모델 결과물을 챗봇과 연동하기 위해서 Neural Conversational 모델을 기반으로 한 것인데, 텍스트 기반의 CNN을 통하여 분류된 결과를 학습 데이터로 이용하기 때문에 테스트 할 수 있을 만큼의 충분한 데이터를 확보할 수 있다. 여기서, 텍스트 기반의 CNN을 이용하는 경우, 질의를 워드 임베딩, 원-핫 벡터(one-hot vector) 형식으로 학습시키기 위한 형태로 처리할 수 있다. 이에 따라, 텍스트 기반의 CNN에서 분류된 질의를 기준으로, 챗봇 상에서 다양한 질의에도 답변을 할 수 있게 된다.
추천부(340)는, 전달부(310)에서 메시지 인터페이스를 통하여 고객 단말(500)로부터 질의가 수신되는 경우, 수신된 질의를 챗봇과 기 매핑되어 저장된 판매자 단말(100)로 전달하기 이전에, 판매자 단말(100)로부터 상품이 등록된 적어도 하나의 쇼핑몰 페이지를 등록받는 경우, 적어도 하나의 쇼핑몰 페이지에 등록된 상품의 상품 데이터를 수집하여 전처리를 수행한 후 상품 데이터를 분석하여 기 저장된 질의응답 데이터 셋을 판매자 단말(100)로 추천할 수 있고, 판매자 단말(100)에서 추천된 질의응답 데이터 셋을 선택하여 저장하는 경우, 메시지 인터페이스를 통하여 응답하도록 설정할 수 있다.
추천부(340)는 상품 데이터에 포함된 텍스트, 상품 데이터에 포함된 상품 이미지에 포함된 텍스트, 상품 데이터 중 상품 이미지와 유사한 기 저장된 유사 이미지에 기 매핑되어 저장된 텍스트, 및 상품 데이터 중 상품명 텍스트로부터 추출된 텍스트 중 적어도 하나의 텍스트에 기반하여 기 저장된 질의응답 데이터 셋을 추출할 수 있다. 이때, 본 발명의 일 실시예에 따른 추천부(340)는, 상술한 4 개의 엔진을 상호적으로 연계되도록 구동시켜 질의응답 데이터 셋을 추천하게 되는데, 4 개의 엔진에 대하여 이하에서 설명을 하도록 하며 공통으로 적용되는 것은 반복하여 설명하지 않는다. 또한, 질의에 대한 답변 데이터들은 데이터베이스에 저장되는데, 사용자가 챗봇에서 질의를 했을 때, 자연어 엔진에서 데이터베이스에 저장된 내용 중 해당 내용과 유사한 답변을 찾아 챗봇에서 답변을 해주도록 하며, 데이터베이스에 새로운 질문이 생길 때 자연어 엔진은 재학습 개념으로 추천할 수 있는 질문에 따른 답변이 새로운 내용이 저장되기 전보다 늘어나게 되며, 예를 들어 상품상담이면서 영구답변의 경우 이하의 엔진에서 재학습 데이터로 이용하게 된다.
<텍스트 분석 엔진>
추천부(340)는, 상품 데이터에 포함된 텍스트를 전처리를 수행하고, 품사 태깅을 통한 형태소 분석 후 최소 단위의 어절을 생성하고, 생성된 어절을 TF-IDF(Term Frequency Inverse Document Frequency) 알고리즘을 이용하여 분석할 수 있다. 이때, 추천부(340)에서 전처리를 수행할 때 띄어쓰기 오류 보정, 철자 오류 보정, 불용어 제거 등을 수행할 수 있는데 띄어쓰기 오류 보정 모델은 상품 데이터에 포함된 텍스트에서 모든 띄어쓰기를 삭제한 후, 기계학습 모델을 이용하여 띄어 쓸 위치를 결정하는 순차 레이블링(sequence labeling) 방법을 이용할 수 있다. 순차 레이블링 방법은, 문장의 처음부터 끝까지 음절과 음절 사이에 띄어쓰기 여부를 판단하여 표지(그림에서는 0 또는 1)을 부착하는데, 표지 결정을 위해서는 현 위치를 기준으로 앞뒤 n개의 음절을 자질로 사용하며, 기계학습 방법으로는 양방향(처음부터 현재위치와 마지막부터 현재위치까지) 전이 정보(transition information)를 잘 반영하는 것으로 알려져 있는 CRFs(Conditional Random Fields)나 Structural SVM(Support Vector Machine)이 이용될 수 있으나 이에 한정되지 않는다. 철자오류 보정 모델은 사전이나 통계 정보를 주로 이용할 수 있는데, 사전을 사용한 철자 오류 보정은 말뭉치(Corpus)에서 검색되지 않거나 일반 사전에 존재하지 않는 경우에는 철자 오류라고 가정할 수 있으며, 철자오류로 가정된 문자열은 편집거리(edit-distance)나 메타폰(metaphone) 알고리즘 등을 사용하여 해당 단어와 거리가 가까운 사전 단어로 대체될 수 있다. 이러한 사전 기반의 방법은 모든 철자 오류 후보 단어들을 미리 구축해야 하기 때문에, 통계 정보에 기반 한 확률 모델들도 이용될 수 있다. 예를 들어, 철자 오류 보정 방법인 노이즈 채널(noise channel) 모델을 이용할 수도 있고, 노이즈 채널 모델은 입력된 노이즈(철자 오류)를 생성할 확률을 최대화하는 단어를 찾는 생성 모델의 일종인데, 올바른 단어와 오류 단어 사이의 음절(또는 알파벳) 단위 편집 거리를 기반으로 계산된다. 예를 들어, 올바른 단어 ‘actress’로부터 오류 단어 ‘acress’가 생성될 확률(=‘ct’에서 ‘c’가 삭제되거나 ‘ct’가 ‘c’로 대체될 확률)를 이용하여 계산될 수 있다.
이때, 한국어는 조사와 어미가 발달한 전형적인 교착어(agglutinative language or affixing language)로서, 영어와 달리 단어(word)가 아닌 형태소(morpheme)가 감성분석이나 문장의 구조분석에서 중요한 역할을 한다. 형태소는 뜻을 가진 가장 작은 말의 단위로 정의되며, 단어는 하나 이상의 형태소로 이루어진다. 예를 들어, ‘예쁘고’가 단어라면 이에 대한 형태소는 ‘예쁘(=형용사)’와 ‘고(=연결 어미)’가 된다. 이러한 형태소의 중요성을 반영하여 한국어를 대상으로 하는 텍스트 분석에서는 단어 보다는 형태소를 기본 단위로 하는 것이 일반적이고, 텍스트 분석에서 입력으로 영어 텍스트에서 주로 사용되는 단어 벡터(word vector)가 아닌, 형태소 벡터(morpheme vector)가 사용될 수 있으나, 단어 벡터를 배제하는 것은 아니다. 형태소 벡터는 형태소에 대한 벡터 표현이라 할 수 있으며, 형태소 단위로 표현된 문장에 기본적인 단어 벡터 도출 메커니즘을 적용하여 도출할 수 있다. 이때, 단어 벡터(word vector)는 단어(word)를 실수(real number) 원소로 이루어진 수십에서 수백 차원의 벡터(vector)로 변환한 것이다. 이렇게 변환된 단어 벡터들은 단순한 수치 이상의 의미적 자질들을 포함하고 있다. 실제로 의미적(semantic) 문법적(syntactic) 성질이 비슷한 단어들은 벡터 공간상에서 유클리디안(Eucledian) 거리나 코사인유사도(cosine similarity) 거리가 가까운 벡터들로 표현된다. 예를 들어, Word2Vec 모델은 내부적으로 CBOW(Continuous Bag-Of-Words)나 Skip-Gram 이라는 신경망 구조를 이용해 단어들의 벡터 표현을 학습하게 된다. CBOW는 컨텍스트 단어들로부터 타겟 단어를 예측하는데, 예를 들어, “This lipstick is beautiful in (_) and has a good sustainability.”라는 문장에서 (_) 앞 뒤에 나오는 컨텍스트 단어들로부터 (_)에 해당되는 ‘color’와 같은 타겟 단어를 예측하는 방식이다. Skip-Gram 구조는 타겟 단어로부터 컨텍스트 단어들을 역으로 예측한다.
예를 들어, “이 립스틱은 컬러도 예쁘고 지속력도 좋다.”라는 문장이 있을 때, 어절 단위로 분리한 단어를 CBOW에 대한 입력으로 사용하면 ‘립스틱은’이나 ‘컬러도’와 같은 단어 벡터를 얻게 될 것이다. 그런데 이렇게 하면‘립스틱을’, ‘립스틱이’나 ‘컬러가’, ‘컬러를’, ‘컬러는’ 등도 모두 다른 단어로 인식하게 되므로, 고려해야할 단어 수가 비효율적으로 증가하게된다. 그런데 이 문장을 형태소분석하면, 선택한 형태소분석기나 분절 정도에 따라 약간 달라지겠지만,“이(=관형사) 립스틱(=일반 명사) 은(=보조사) 컬러(=일반 명사) 도(=보조사) 예쁘(=형용사) 고(=연결 어미) 지속력(=일반 명사) 도(=보조사) 좋(=형용사) 다(=종결 어미) .(=마침표)”라는 결과를 얻을 수 있다. 이로부터 “이 립스틱 은 컬러 도 예쁘 고 지속력 도 좋 다 .”와 같은 형태소 단위의 문장 표현을 얻을 수 있고, 이것을 CBOW에 입력하면 형태소 단위의 형태소 벡터를 얻을 수 있게 된다. 여기서, 형태소 벡터를 CNN(Convolutional Neural Network) 딥러닝 모델의 입력으로 사용할 수도 있다.
CNN은 다층퍼셉트론(multi-layer perceptron)이라고도 불리는 전형적인 피드포워드 뉴럴넷(feedforward neural network)은 인접한 층(layer)의 유닛(unit)이 서로 모두 연결된(fully-connected) 형태이다. CNN은 이러한 전결합층(fully-connected layer)외에 인접층의 특정한 유닛만이 연결되는 합성곱층(convolution layer)과 풀링층(pooling layer)을 갖는다. 합성곱층에서는 가중치 행렬 형태로 표현된 이미지의 가중치 영역에 해당 이미지 보다 사이즈가 작은 가중치 행렬 형태의 필터(filter)를 순차적으로 이동시키면서 대응되는 원소끼리(element-wise) 곱한 후 합을 구하는 합성곱 연산이 일어난다. 그리고 풀링층에서는 합성곱으로 얻어진 값들에 대해 특정 사이즈 영역별로 순차적으로 최대값이나 평균값 등의 대표값을 추출하는 연산을 수행한다. 합성곱층과 풀링층은 서로 쌍을 이루며 여러번 반복되거나, 합성곱층만 여러번 반복된 후 풀링층이 오는 구조도 가능하다. 이러한 연산을 통해 입력된 이미지로부터 유용한 자질(feature)들이 계층적으로 추출되며, 추출된 자질들은 하나 이상의 전결합층(fully-connected layer)을 통해 입력 데이터를 타겟 클래스로 분류하는 작업에 활용된다. 문장을 단어 벡터의 결합으로 표현한 가중치 행렬에 CNN을 적용하면, 필터(filter)의 윈도우 사이즈에 따라 지역적인 n-그램(n-gram) 자질(feature)들을 추출할 수 있다. 그리고 이러한 자질들을 기반으로 다시 상위 레벨의 자질들을 추출하는 것이 가능하다. 합성곱 연산은 새로운 자질(feature)을 추출하기 위해 단어 윈도우에 필터를 적용하고, 필터는 해당 문장의 모든 가능한 윈도우에 대해 적용되어 피쳐맵(feature map)을 생성한다. 풀링 연산은 이러한 피쳐맵에 대해 전역(global) 최대값을 구하거나 특정 사이즈별로 지역(local) 대표값을 구한다. 윈도우 사이즈가 다른 여러 개의 필터를 적용하면 여러 특성의 자질들을 추출할 수 있고, 이렇게 추출된 자질들은 전결합층으로 연결되어 클래스 분류에 사용된다.
그리고, 추천부(340)는 띄어쓰기 오류, 철자 오류, 불용어 제거 등이 수행된 후에 문서를 단어로 나누어주는 과정, 단어 임베딩, TF-IDF 가중치 부여 단계를 수행할 수 있다. 우선, CNN은 2차원 형태의 입력 데이터를 요구한다. 따라서 이를 만족시키기 위해 추천부(340)는 문서를 단어로 나누고 각각의 단어에 번호를 매기는 임베딩 작업(word embedding)을 수행할 수 있다. 이때, 임베딩 방법으로는 단어가 등장한 순서에 따라서 순차적으로 숫자를 매기는 방법을 사용할 수도 있고, 단어를 기본 단위로 하는 단어 수준의 모델 또는 개개의 문자를 기본 단위로 처리하는 문자 수준의 모델을 이용할 수도 있다. 그리고, 추천부(340)는 임베딩된 단어들이 해당 문서에서 얼마나 중요한지를 나타내기 위해 TF-IDF 가중치 값을 구하고 임베딩된 단어들로 이루어진 배열에 이 가중치 값을 붙여 하나의 컨볼루션 뉴럴 네트워크의 입력 값을 만들어 사용할 수 있다. 여기서, TF-IDF는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 단어 빈도(Term Frequency)는 특정 단어가 문서 내에 얼마나 자주 등장하는지를 나타내는 값이며, 역문서 빈도(Inverse Document Frequency)는 다른 문서에는 많지 않고 해당 문서에서 자주등장하는 단어를 의미한다. TF-IDF의 값은 단어 빈도와 역문서 빈도의 곱으로 사용한다. 예를 들어 가죽가방이라는 단어는 원피스 질의응답 데이터 셋에서는 잘 나오지 않기 때문에 IDF 값이 커지고 동시에 해당 문서의 키워드가 될 수 있다. 반대로 패션 카테고리에서는 가죽 가방이 많은 쇼핑몰 사이트에서 나타나기 때문에 IDF 값은 낮아지게 된다. TF는 기본적으로 문서 내의 단어 총 빈도수를 사용해 계산할 수 있지만 단어수가 많아질 경우 값이 지속적으로 커질 수 있기 때문에, 불린 빈도(Boolean Frequency)를 이용하여 단어의 출현 여부만으로 TF 값을 0과 1로 정의할 수 있다. 또는, 로그 스케일 빈도(Logarithmically Scaled Frequency)를 이용하여 TF 값에 로그를 취함으로써 문서의 크기 해결도 하고 실제 빈도수도 반영할 수 있다. 마지막으로, 증가 빈도(Augmented Frequency)를 이용함으로써, 문서 길이에 따른 단어의 상대적 빈도를 나타내는 방식으로 최대 스케일이 1을 넘지 않도록 할 수도 있다. 결과적으로, TF-IDF는 단어가 특정 문서 내에서 빈도수가 높고 전체 문서 중 해당 단어가 포함된 문서가 적을수록 높아진다. 이를 통해 모든 문서에서 자주 나타나는 단어들을 걸러낼 수 있다.
추천부(340)는, 분석된 텍스트를 벡터 공간(Vector Space)에 정형화시킨 후 분류기를 이용하여 모델링하는 텍스트 분석을 수행할 수 있다. 이때, 벡터 공간 모델이 이용될 수 있는데, 벡터 공간 모델은 텍스트 마이닝 분야에서 단어 공간 모델로 불리며 주어진 텍스트 문서를 단어들의 벡터로 나타낸 대수적인 모델이다. 벡터 공간 모델은 정보 필터링과 정보 검색, 색인, 유사도 순위에 사용될 수 있고, 어떤 단어가 문서에 포함되면 해당 단어는 0이 아닌 벡터 값을 갖게 된다. 단어 가중치라 불리는 이 값을 산출하는 방법에는 다양할 수 있으나, 본 발명의 일 실시예에서는 상술한 TF-IDF 방식을 이용한다. 이때, 분류기는 CNN(Convolution Neural Network) 기반 문서분류모델일 수 있지만 이에 한정되지는 않는다. CNN은, 상술한 바와 같이, 인공지능 심층 신경망의 한 종류이며, 2차원 데이터의 학습에 적합한 구조를 가지고 있으며, 역전파(Back propagation algorithm)을 통해 훈련될 수 있으며, 기 구축된 데이터베이스에 포함된 질의응답 데이터 셋을 분석된 텍스트를 이용하여 검색하고 유사도에 근거하여 판매자에게 추천을 해주기 위해 이용될 수 있다.
추천부(340)는 분석된 텍스트를 기반으로 기 저장된 질의응답 데이터 셋을 유사도에 기초하여 추출하여 사용자 단말(100)로 추천할 수 있다. 예를 들어, "여성 원피스"에 대한 상품상세설명 텍스트가 분석되었고, 분석 결과 "여성 원피스"에 기 저장된 질의응답 셋이 3 개 추출되었고, 각각 유사도가 90%, 80%, 70%였다고 하면, 유사도가 높은 순으로 질의응답 셋을 정렬하여 추천할 수 있다.
<OCR 텍스트 엔진>
추천부(340)는, 상품을 설명하는 상품 데이터를 수집한 후, 상품 데이터에 텍스트가 존재하지 않고 상품 이미지만 존재하는 경우, 상품 이미지를 OCR(Optical Character Recognition) 텍스트 기반 이미지 분석 모델을 적용하여 텍스트로 변환할 수 있다. 대부분의 쇼핑몰 페이지를 보면, 하나의 페이지에 적게는 수 개 내지 수십 개의 상품 이미지를 업로드하고, 각 상품 이미지 내에 문자가 포함되어 있을 뿐, 텍스트가 별도로 설명되어 있는 경우는 거의 없다. 예를 들어, 0061(상품번호)-자스민 원피스(상품명)-FREE(사이즈)-베이지(색상)이 썸네일에 간단히 이미지 형태의 문자로 상품 이미지와 함께 이미지로 업로드되고, 심지어 신축성, 두께감, 비침 정도, 안감, 세탁방법, 소재 등도 모두 이미지화된 상품 이미지에 포함된 경우가 많다. 따라서, 추천부(340)는, 상품 이미지 + 상품 설명 텍스트가 모두 이미지화된 경우, 텍스트를 이미지 파일로부터 읽어내기 위한 작업을 우선 시행한다.
OCR이란 광학 문자 인식의 약자로 광학적으로 처리된 문자를 인식하는 방법이다. 컴퓨터에서 표현되는 문자를 인식하는 온라인 인식과 달리, 광학 인식은 기록또는 인쇄가 완료된 후에 오프라인에서 수행할 수 있는데, 손으로 인쇄하거나 인쇄 한 문자는 모두 인식 할 수 있지만 정확도는 입력 된 문서의 품질에 직접적으로 좌우된다. 광학 스캐너를 사용하여 아날로그 문서를 디지털화하는 것으로 텍스트 영역을 각 심볼로 분할 프로세스를 통해 추출할 수 있고, 전처리과정은 텍스트 추출을 용이하게 하기 위해, 심볼의 노이즈를 제거하기 위한 과정을 진행할 수 있고, 텍스트를 추출하는 과정을 거쳐 각 테스트를 비교하여 원본 텍스트의 단어와 숫자를 재구성하는 후처리과정을 거치게 된다. 이때, OCR 텍스트 기반 이미지 분석 모델은, 크게 텍스트 탐지(Text Detection)와 텍스트 인식(Text Recognition)의 과정을 진행한다. 전자는, 이미지로부터 텍스트가 존재한 위치를 찾아내는 딥러닝의 CTPN(Connectionist Text Proposal Network) 모델을 이용할 수 있다. 여기서, CTPN은 크게 이미지 내 텍스트와 비텍스트 구별을 위한 CNN 모델과 텍스트 추정영역을 구체화하는 RNN(Recurrent Neural Network) 모델로 구성될 수 있으며, 텍스트로 추정되는 영역을 복수의 픽셀로 세로 분할면으로 쪼개 CNN 모델을 통해 각 분할면이 텍스트에 가까운지 판단하고, RNN을 통하여 양 옆의 분할면이 연결된 텍스트인지 확인할 수 있다. 본 발명의 일 실시예에서는, VGG16, BLSTM(Bidirectional Long Short-Term Memory), FC의 구조를 이용할 수 있다.
VCC16은 옥스퍼드 대학에서 개발한 프로그램으로, 입력은 RGB 이미지이고, 구조는 8~16개의 컨볼루션 레이어(Convolutional Layer), 3개의 완전 연결된 레이어(3 Fully-Connected Layer)를 포함하는데, 상술한 구조에 한정되지는 않는다. 이때, VCC16은, 이미지의 특징을 추출하는데 이용되고, BLSTM(Bidirectional Long Short-Term Memory)는 순환신경망(RNN)의 일종으로 시계열 데이터를 분류하고 예측하기 위해 사용하는 알고리즘이다. 이때, BLSTM은 좌측에서 우측 방향으로의 순방향 상태 시퀀스와 우측에서 좌측 방향으로의 역방향 상태 시퀀스로 처리하는 2개의 LSTM 출력을 연결함으로써 작업을 수행할 수 있는데, 단방향 LSTM은 과거의 시간 인스턴스에서 온 문맥 정보만 고려되는 반면에, BLSTM은 순방향과 역방향에서 전달하는 과거와 미래의 문맥 정보를 모두 이용하여 학습할 수 있다. 여기서, LSTM은 RNN 방식에서 학습 중에 발생하는 기울기 소실 문제를 해결하기 위한 구조를 가진 순환 신경망의 일종이며, 잠재적인 장시간 기억 의존성을 유지한다. 따라서, 시계열 신호를 분류, 처리 및 예측하기 위해 LSTM은 히스토리로부터 학습할 수 있다. LSTM은 시간이 지남에 따라 그 상태를 유지하기 위해 순환적 은닉 계층에 자체 연결을 갖는 특별한 메모리 셀과 이전 상태를 기억하며 각 계층의 입력과 출력에 정보의 흐름을 제어하는 데 사용되는 3개의 게이트구조(입력 게이트, 망각 게이트 및 출력 게이트)를 가질 수 있으며, 이러한 순환 출력 계층을 갖는 LSTM은 입력 텍스트의 문맥 정보를 함께 포착할 수 있다. 그리고, BLSTM에서 시계열 데이터의 시간 관계를 학습한 결과를 상술한 완전 연결된 레이어를 거쳐 얻어낼 수 있다.
후자인 텍스트 인식(Text Recognition)은 텍스트 이미지를 텍스트로 추출하는 CRNN(Convolution Recurrent Neural Network) 모델을 이용할 수 있다. 이때, CRNN은 CNN과 RNN을 결합한 딥러닝 구조로 비디오와 같이 공간 정보와 시간 정보가 모두 중요한 데이터를 추출할 때 이용될 수 있다. 예를 들어, CNN을 통해 쇼핑몰 페이지에 업로드된 상품 이미지의 특징정보를 추출한 후, 추출한 값을 RNN의 입력으로 사용하여 데이터의 텍스트 시퀀스를 예측 및 추출하는 구조일 수 있다. 본 발명의 일 실시예에 따른 CRNN은, 컨볼루션층(Convolution Layer), 순환층(Recurrent Layer), 전사층(Transcription Layer)로 이루어질 수 있으며, 컨볼루션층에서 입력받은 이미지로부터 특징 시퀀스를 추출한 후, 순환층에서 특징 시퀀스에서 매개의 프레임에 대하여 값을 예측하며, 예측한 값들의 시퀀스는 전사층을 통하여 정답 레이블로 재작성되어 최종적으로 텍스트를 추출하게 된다. 그리고, CRNN은 CTPN(Connectionist Text Proposal Network)와는 다르게 전체 이미지가 아닌 문자 영역의 이미지를 기반으로 학습하기 때문에, 이미지 속 문자를 추출하면 이를 상품 이미지 속에 존재하는 필드별로 분류하는 개체명 인식 과정이 필요할 수 있는데, BLSTM, CNNs, CRF(Conditional Random Field) 모델을 더 이용할 수 있으며, 문자와 해당 개체명을 기반으로 학습할 수 있다.
개체명(Named Entity)은 이전에 미리 정의된 비슷한 속성을 지닌 다른 개체들의 집합에서 하나의 개체를 식별할 수 있는 단어, 또는 문장 내에서 더 이상 분해할 수 없는 어구를 의미한다. 개체명 인식 과정은 문헌 내에 표현된 개체명을 식별하는 과정을 말하며, 개체명 간의 관계를 통한 정보 추출 과정에 선행되어야 하는 과정이다. 상품 페이지에서 상품번호, 상품명, 사이즈, 색상이 일정 위치에 미리 정의된 속성을 가지면서 기재되는 것이 일반적인데, 개체명 인식은 문장 내의 정보에 대한 일종의 연속적인 레이블링(Sequence Labeling) 문제로 분류하여 어떠한 위치에 어떠한 속성을 가진 개체명이 있는지를 학습하면, 하나의 페이지에 수십개의 상품이 등록되는 의류나 패션 페이지에서 각각의 상품의 속성정보를 얻을 수 있다. 일차 선형 체인의 CRF 기반의 개체명 인식 방법을 이용하면, 문자열 정보에 대한 조건부 확률인 Log-Likelihood 값을 최대화하여 개체명 인식의 성능을 향상시킬 수 있다. 이때, 연속적인 레이블링 문제에 좋은 성능을 보이고 있는 심층학습 기법인 LSTM(Long-Short Term Unit)을 양방향으로 활용하고, 이에 조건부 랜덤 필드를 부착하는 형태의 BLSTM-CRF 모델을 구성하여 개체명 인식을 수행할 수도 있다. 개체명 인식에서는 개체 유형별 개체명 정보를 포함하는 개체명 사전 정보를 주요한 자질로 활용한다. 텍스트 기반 엔진에서도 언급된 BLSTM 모델을 기반으로 개체명 사전에 대한 매핑 정보를 이진 벡터 형태로 구성하여 입력 벡터에 병합할 수도 있다.
<유사이미지 검색 엔진>
추천부(340)는, 상품을 설명하는 상품 데이터를 수집한 이후, 상품 데이터에 텍스트가 존재하지 않고 상품 이미지만 존재하는 경우, 기 저장된 데이터베이스 중 이미지넷(ImageNet)을 학습한 적어도 하나의 모델을 이용하여 상품 이미지의 적어도 하나의 특징(Features)을 추출하고, 추출된 적어도 하나의 특징을 벡터공간(Vector Space)에 표현하고, 유사거리(Similarity Distance)를 계산하는 최근접 이웃(K-Nearest Neighbor) 알고리즘 또는 K-평균 클러스터링(K-means Clustering) 알고리즘을 이용하여 상품 이미지와 유사한 유사이미지를 검색할 수 있고, 유사이미지부(360)는 검색된 유사이미지에 기 매핑된 텍스트를 추출할 수 있다. 여기서, 이미지의 특징을 추출할 때, 전이 학습(Transfer Learning)을 이용할 수 있고, DensNet, Resnet50, VGG16, Inceptionv3, Xception 등을 이용할 수 있다. 이때, 전이학습이란 딥러닝을 특징 추출자로 사용하고, 추출된 특징만을 가지고 다른 모델을 학습하는 것으로, 기존의 만들어진 모델을 사용하여 새로운 모델을 만들 때 학습을 빠르게 하며 예측을 높이는 방법이며, 이미 학습이 완료된 모델(Pre-Training Model)을 가지고, 목표하는 학습에 미세조정을 주어 학습시키는 방법이 전이학습이며, 신경망의 이러한 재학습 과정을 세부 조정(fine-tuning)이라 하고, 실제로 CNN을 구축하는 경우 대부분 처음부터(random initialization) 학습하지는 않게 되며, 이미지넷과 같은 대형 데이터셋을 사용할 수 있다. 정리하면, 전이학습은, 합성곱 레이어의 무작위 초기화 대신, 많은 양의 영상자료로 학습된 값으로 초기화하여 부족한 훈련자료의 한계를 극복하고 효율적으로 특징맵을 추출할 수 있는 학습 방법이다.
K-최근접 이웃 알고리즘은 최근접하는 개수의 이웃을 이용한다는 의미이다. 이 방법은 학습 데이터 집합에 있는 표본들 간의 유사도에 따라 라벨이 붙여져 있지 않는 표본들을 분류하는 매우 직관적인 방법이라고 할 수 있다. 즉, 라벨이 없는 표본이 주어질 경우, 학습 데이터 집합에서 가장 가까운 라벨이 있는 표본을 찾아내고, 부분 집합 내에 가장 빈도가 많이 나타나는 클래스에 할당하는 방법이다. K-최근접 이웃 알고리즘은 단지 상수, 라벨이 있는 학습 데이터 집합의 표본, 거리 척도 만이 필요해서 간단하다. 이때, 분류 문제의 각 데이터가 대표하는 같은 클래스 내 데이터의 부분 집합은 유클리디안(Euclidean) 거리로 계산할 수 있는데, 동일 클래스 내 가장 큰 거리값과 다른 클래스 중 가장 작은 거리값을 갖는 거리의 중간값으로 거리를 결정할 수 있다.
<카테고리 분석 엔진>
카테고리 분석은, 쇼핑몰에서 판매자가 제품의 상세내용에 텍스트 또는 이미지를 제공하지 않고 제품의 이미지마저도 없는 경우가 존재할 경우에 사용된다. 이 경우에는 쇼핑몰에서 사용하는 제품명(상품명) 자체가 제품의 카테고리를 추출할 수 있고, 카테고리를 추출할 수 있으면 해당 카테고리에 매핑된 질의응답 데이터 셋을 추출할 수 있다는 점에서 착안한다. 이를 위하여, 추천부(340)는, 상품을 설명하는 상품 데이터를 수집한 후, 상품 데이터에 텍스트 및 이미지가 존재하지 않고, 상품을 지칭하는 상품명만 존재하는 경우, 상품명에 포함된 불용어(Stop-word)를 제거를 포함한 전처리를 수행할 수 있다. 그리고, 추천부(340)는, 전처리가 수행된 상품명에 포함된 텍스트를 음절을 기준으로 원-핫 인코딩(One-hot Encoding)을 수행하여 벡터로 변경된 상품명에 포함된 텍스트를 머신러닝의 학습 데이터로 입력하고, 학습 데이터로 입력된 텍스트에 기초하여 심층 신경망(Deep Neural Network) 모델을 통하여 카테고리 예측을 수행할 수 있으며, 예측된 카테고리에 기 매핑되어 저장된 텍스트를 추출할 수 있다.
이때, 심층 신경망(DNN)은, 입력층(Input Layer)와 출력층(Output Layer)사이에 복수의 은닉층(Hidden Layer)로 이루어진 인공신경망(Artificial Neural Network, ANN)이다. DNN은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(Non-linear Relationship)을 모델링할 수 있고, 신경망 작동 방법은 FFN(Feed-Forward Network), 역전파(Backpropagation), 및 RNN을 포함할 수 있다. 예를 들어, 데이터에는 수치형 데이터와 텍스트 데이터나 범주형 데이터가 있다. 머신러닝이나 딥러닝 알고리즘은 수치로 된 데이터만 이해할 수 있기 때문에, 기계가 이해할 수 있는 형태로 데이터를 변환해 주는 반면, 범주형 데이터는 원-핫 인코딩 형태로 변환해 준다. 원-핫 인코딩이란 해당되는 하나의 데이터만 1로 변경해 주고 나머지는 0으로 채워주는 것을 의미하는데, 예를 들어 과일이라는 카테고리에 사과, 배, 감이 들어있다고 가정하면, 각각의 과일인 사과, 배, 감으로 컬럼을 만들어주고 해당 되는 과일에만 1로 표기를 해주고 나머지 과일은 0으로 표기해 주는 것이다. 예를 들어, 상품명으로부터 개체명인식을 수행한다고 가정하면, 추출된 개체명 중에는 지식이나 의미를 내포하고 있다고 보기 어려운 단어들도 많으며, 종목별로 추출된 개체명 개수 차이 때문에 벡터화 과정에서 차원이 달라지는 문제가 있다. 따라서 종목별 발생빈도가 높은 상위 몇 개의 개체명으로 제한하여 차원을 일치시키는 제약조건을 설정하면, 결과적으로 몇 개 종목에서 추출된 개체명을 원-핫 인코딩을 통해 벡터화시킬 수 있으며, 학습을 위한 입력 데이터가 완성된다.
이때, 테스트 데이터를 학습된 DNN 모델에 입력했을 때, 신경망의 뉴런에서 출력되는 결과 값을 기준으로 뉴런의 행동을 두 가지 부류로 나눌 수 있다. 첫 번째는 결과 값이 예상되는 범위에 속할 경우이며 이것을 메인 케이스(main case) 영역에 위치해 있다고 한다. 두 번째는 결과 값이 예상되지 않는 범위에 속할 경우이며 이를 코너 케이스 영역에 위치해 있다고 한다. 여기서, DNN의 뉴런은 입력 데이터, 가중치(Weight), 바이어스(Bias)를 이용하여 활성화 함수(Activation Function)을 통해 결과 값을 도출하는 구조를 가지고 있다. 학습된 DNN 모델의 경우 가중치와 바이어스는 고정되고, 입력 데이터만 뉴런의 결과값에 영향을 줄 수 있고, 입력 데이터에 의해 뉴런이 반응할 때, 즉 결과값이 달라질 때 뉴런이 활성화된다고 하고, 입력 데이터에 활성화되는 경우 카테고리를 예측할 수 있게 된다. 다시 말하면, 입력 데이터에 의해 뉴런의 결과값이 나눠진 구간에 속한다면, 그 구간이 활성화된다고 간주할 수 있으므로, 카테고리를 예측할 수 있는 것이다. 여기서, 뉴런이 활성화되지 않는 경우, 즉 코너 케이스는 배제한다.
상술한 4 개의 엔진들은 상호 보완적인 역할을 수행하면서 유기적으로 연결되고, 판매자가 어떠한 종류의 상품 데이터를 업로드하던지 간에, 심지어는 상품명만 적는 경우라도 적절한 Q&A(또는 F&Q)를 추천해줄 수 있고 판매자는 일일이 답변을 하지 않아도 되며, 소비자도 리스트형으로 나열된 상품문의 및 답변에서 자신이 원하는 답변을 찾고자 노력을 하지 않아도 된다.
이하, 상술한 도 2의 챗봇 서비스 제공 서버의 구성에 따른 동작 과정을 도 3을 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, (a) 챗봇 서비스 제공 서버(300)는 판매자 단말(100)의 판매자가, 자신이 판매하는 상품이 게재된 쇼핑몰 페이지에 적절한 Q&A 또는 F&Q를 한꺼번에 등록하고 싶거나, 적절한 Q&A를 추천받아서 이를 챗봇에 넣고 싶은 경우, 또한 기존에 답변을 재사용하고 싶은 경우에 서비스를 제공한다. 판매자 단말(100)은, 챗봇 서비스 제공 서버(300)에 자신이 판매하는 상품이 게재된 쇼핑몰 페이지에 대한 정보를 제공한다. 이때, 챗봇 서비스 제공 서버(300)는, 쇼핑몰 페이지에 엑세스하여 상품 데이터로부터 상품 정보를 추출하고, 텍스트라면 그대로 전처리 및 분석 과정을 거치고, 텍스트가 아니라면 상품 이미지에 텍스트가 존재하는지 확인을 하고, 상품 이미지 내에도 읽히는 텍스트가 없으면 유사이미지 검색, 그 마저도 없다면 상품명을 카테고리 분석하는 엔진을 이용해서 가장 유사한 질의응답 데이터 셋을 추출하고, 이를 판매자 단말(100)로 추천한다. 이때, 판매자 단말(100)에서 어느 하나의 질의응답 데이터 셋을 선택하는 경우, 챗봇 서비스 제공 서버(300)은, 질의응답 데이터 셋에 기반하여 답변을 할 수 있도록 챗봇 서비스를 시작하고, 각 쇼핑몰 페이지에 일괄하여 선택된 질의응답 데이터 셋을 등록한다.
(b) 이때, 고객 단말(500)에서 질의가 챗봇 서비스 제공 서버(300)로 전달되는 경우, 기 저장된 질의응답 데이터 셋을 이용할 것인지, 판매자 단말(100)로 질의를 전송할 것인지를 결정한다. 이때, 기 저장된 질의응답 데이터 셋에 존재하지 않는 질의인 경우, 판매자 단말(100)로 전송하고, 판매자 단말(100)로부터 질의에 대한 답변을 수신하면서, 수신된 답변을 이후에 재사용할 것인지, 해당 답변은 언제까지 제공할 것인지를 선택하는 옵션을 제공한다. 그리고, 챗봇 서비스 제공 서버(300)는, 판매자 단말(100)에서 답변을 재사용한다는 옵션을 선택하는 경우, 고객 단말(500)의 질의를 해당 답변 데이터에 매핑되도록 저장함으로써 이미 구축된 질의응답 데이터 셋을 진화시켜 나간다.
또한, (c) 챗봇 서비스 제공 서버(300)는, 기한의 종기가 현재일과 동일한 경우, 해당 질의에 대한 답변을 제공해야 한다는 알람을 판매자 단말(100)로 전송할 수 있으며, 판매자 단말(100)에서 답변을 제공하는 경우, (b)와 마찬가지로 질의응답 데이터 셋을 업데이트하고, (d) 챗봇에서도 이를 인지하도록 데이터베이스를 연동시킨다.
덧붙여서, 고객 단말(500)은, 쇼핑몰로 가는 방법에 대하여 질의 및 답변을 얻을 수 있는데, 가는 방법에 대한 답변이 나오지 않았다고 가정하면, 이 상황은 쇼핑몰의 위치가 어디인지에 대한 답변 데이터가 없기 때문이다. 이에 따라 고객 단말(500)은 판매자에게 접수하기 버튼을 눌러서 질문에 대한 답변을 받을 수 있는 방법을 설정한다. 한편, 판매자 단말(100)은, 챗봇 서비스 제공 서버(300)에서 판매자 단말(100)로부터 답변을 수신할 때 도 3d와 같이 상술한 재사용 옵션을 선택하도록 하며, 답변 및 재사용 옵션의 입력 및 선택이 완료되면, 고객 단말(500)에서 답변을 받아볼 수 있게 된다. 이후 고객이 동일한 질문을 하게 되면 메시지 인터페이스는 질의-답변 데이터 셋이 존재하므로 질의에 대한 응답을 할 수 있게 된다. 이때, 재사용 옵션은 1회 답변인 경우 메세지로 답변만을 알리고, 영구 답변인 경우 재학습을 진행하게 되고, 기간 설정이 된 경우 기간이 도과되면 질의에 대한 응답을 하지 않을 수 있으나, 응답을 하는 것도 배제하지는 않는다. 기간제 옵션의 경우는 예를 들어, 추석 또는 설과 같이 특수한 기간에만 발생하는 질의응답 데이터 셋의 경우이다. 이렇게 질의응답 데이터 셋이 확보되면 상술한 엔진들로 포함될 훈련 데이터셋 및 실험 데이터셋이 더 많이 확보될 수 있다.
이와 같은 도 2 및 도 3의 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 4는 본 발명의 일 실시예에 따른 도 1의 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 4를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 4에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 4를 참조하면, 챗봇 서비스 제공 서버(300)는, 판매자 단말(100)로부터 상품 데이터가 등록된 페이지의 정보를 수신하면, 적어도 하나의 쇼핑몰 서버(400)로 전달하여 등록된 페이지에 포함된 상품 데이터를 수집하고(S4100, S4200), 이를 분석하여(S4300), 추천가능한 질의답변 데이터 셋을 추출하고(S4400), 판매자 단말(100)로 전달한다(S4500).
그리고, 챗봇 서비스 제공 서버(300)는, 판매자 단말(100)에서 추천된 질의답변 데이터 셋 중 어느 하나를 선택하는 경우, 적어도 하나의 쇼핑몰 서버(400)에 일괄등록되도록 하고(S4600, S4700), 선택된 질의답변 데이터 셋에 기반하여 챗봇을 생성한다.
한편, 챗봇 서비스 제공 서버(300)는, 고객 단말(500)에서 메시지 인터페이스를 통하여 질의가 전송되는 경우, 이를 판매자 단말(100)로 전송하여 답변을 하도록 하되(S4800), 해당 질의가 일반 문의인지, 상품 문의인지를 구분하도록 하고, 답변을 재사용할 것인지의 여부, 답변의 기한은 언제로 설정할 것인지에 대한 옵션을 제공하고(S4810), 이에 대응하여 판매자 단말(100)로부터 기한이 설정된 경우에는 기한에 대응하여 카운트를 시작하고(S4820), 답변을 수신한다(S4830).
그리고, 챗봇 서비스 제공 서버(300)는 선택된 답변을 고객 단말(500)로 전송하여(S4840) 메시지 인터페이스 상에 출력시키며, 고객의 질의와 선택된 답변을 매핑하여 저장시킴으로써 데이터베이스를 업데이트한다(S4900). 만약, 기한이 도래하였는데도 불구하고 판매자 단말(100)에서 답변을 하지 않는 경우에는, 챗봇 서비스 제공 서버(300)는 이를 알림으로써 답변을 하도록 유도할 수 있고(S4920), 답변이 기한 내 완료된 경우에는(S4910) 질의-답변 프로세스를 완료시킨다.
상술한 단계들(S4100~S4920)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S4100~S4920)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 4의 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 3을 통해 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법을 설명하기 위한 동작 흐름도이다. 도 5를 참조하면, 챗봇 서비스 제공 서버는, 메시지 인터페이스를 통하여 고객 단말로부터 질의가 수신되는 경우, 수신된 질의를 챗봇과 기 매핑되어 저장된 판매자 단말로 전달한다(S5100).
그리고, 챗봇 서비스 제공 서버는, 판매자 단말에서 질의에 대한 답변 데이터가 수신되는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 질의와 답변 데이터를 매핑하여 데이터베이스화한다(S5200).
마지막으로, 챗봇 서비스 제공 서버는, 수신된 답변 데이터를 메시지 인터페이스를 통하여 고객 단말로 전송한다(S5300).
이와 같은 도 5의 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (6)

  1. 챗봇 서비스 제공 서버에서 실행되는 챗봇 서비스 제공 방법에 있어서,
    메시지 인터페이스를 통하여 고객 단말로부터 질의가 요청되는 경우, 요청 질의에 대한 질의 데이터를 챗봇과 기 매핑되어 저장된 판매자 단말로 전달하는 단계;
    상기 판매자 단말로 상기 질의 데이터가 수신되는 경우, 기 구축된 질의응답 데이터 셋(Data Set)에 추가로 상기 질의 데이터와, 상기 질의 데이터에 대한 답변 데이터를 매핑하여 데이터베이스화하는 단계; 및
    상기 데이터베이스화된 답변 데이터를 상기 메시지 인터페이스를 통하여 상기 고객 단말로 전송하는 단계를 포함하고,
    상기 질의 데이터는 일반 문의와 상품 문의로 분류되고, 상기 답변 데이터가 기간을 설정하여 사용할 것인지, 1회적으로 사용할 것인지, 영구적으로 사용할 것인지에 대한 재사용 여부 옵션의 선택 여부에 따라 데이터베이스에 저장 및 재학습 데이터로 입력되는 것이고,
    상기 챗봇 서비스 제공 방법은,
    상기 판매자 단말에서 답변을 할 수 있는 기한을 설정하도록 기한 설정 옵션을 제공하고, 답변이 재사용되는 경우에 상기 고객 단말로부터 수신된 질의를 재사용된 답변 데이터에 매핑되도록 저장 및 데이터베이스를 업데이트하며, 업데이트된 데이터베이스에 기반하여 챗봇이 구동되도록 설정하고, 상기 기한 설정 옵션을 통하여 상기 판매자 단말에서 작성 기한을 설정하는 경우에 작성 기한에 포함된 시기 또는 종기에 상기 판매자 단말로 작성을 요청하는 알람을 제공하도록 세팅하며, 질의 간 유사도를 레벤슈타인(Levenshtein) 함수로 측정하여 유사한 질의에 동일한 답변이 제공되도록 하고, 텍스트 기반의 CNN(Text-Convolution Neural Network) 모델을 이용하여 질의의 내용을 분류하는 단계를 더 포함하는
    질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 데이터베이스화하는 단계 이후에,
    상기 데이터베이스화된 질의 데이터와 동일 또는 기 설정된 유사도를 만족하는 유사 질의 데이터가 수신되는 경우, 상기 데이터베이스화된 답변 데이터를 리턴하는 단계를 더 포함하고,
    상기 판매자 단말은 상기 질의 데이터가 일반 문의인지 또는 상품 문의인지를 선택하고, 상기 질의 데이터가 일반 문의인 경우 일반 답변 데이터베이스로, 상기 질의 데이터가 상품 문의인 경우 상품 답변 데이터베이스로 저장되는 것인,
    질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법.
  3. 제 1 항에 있어서,
    상기 판매자 단말로 전달하는 단계 이전에,
    상기 판매자 단말로부터 상품이 등록된 적어도 하나의 쇼핑몰 페이지를 등록받는 경우, 상기 적어도 하나의 쇼핑몰 페이지에 등록된 상품의 상품 데이터를 수집하여 전처리를 수행한 후 상기 상품 데이터를 분석하여 기 저장된 질의응답 데이터 셋을 유사도에 기초하여 추출하여 상기 판매자 단말로 추천하는 단계;
    상기 판매자 단말에서 상기 추천된 질의응답 데이터 셋을 선택하여 저장하는 경우, 상기 메시지 인터페이스를 통하여 응답하도록 설정하는 단계를 더 포함하고,
    상기 추천하는 단계는,
    상기 상품 데이터에 포함된 텍스트, 상기 상품 데이터에 포함된 상품 이미지에 포함된 텍스트, 상기 상품 데이터 중 상품 이미지와 유사한 기 저장된 유사 이미지에 기 매핑되어 저장된 텍스트, 및 상기 상품 데이터 중 상품명 텍스트로부터 추출된 텍스트 중 적어도 하나의 텍스트에 기반하여 상기 기 저장된 질의응답 데이터 셋을 추출하는 단계를 포함하는
    질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법.
  4. 제 3 항에 있어서,
    상기 추천하는 단계는,
    상품 데이터에 포함된 텍스트를 전처리를 수행하고, 품사 태깅을 통한 형태소 분석 후 최소 단위의 어절을 생성하는 단계;
    생성된 어절을 TF-IDF(Term Frequency Inverse Document Frequency) 알고리즘을 이용하여 분석하는 단계;
    상품을 설명하는 상품 데이터를 수집한 후, 상품 데이터에 텍스트가 존재하지 않고 상품 이미지만 존재하는 경우, 상품 이미지를 OCR(Optical Character Recognition) 텍스트 기반 이미지 분석 모델을 적용하여 텍스트로 변환하는 단계;
    상품을 설명하는 상품 데이터를 수집한 이후, 상품 데이터에 텍스트가 존재하지 않고 상품 이미지만 존재하는 경우, 기 저장된 데이터베이스 중 이미지넷(ImageNet)을 학습한 적어도 하나의 모델을 이용하여 상품 이미지의 적어도 하나의 특징(Features)을 추출하는 단계;
    추출된 상기 적어도 하나의 특징을 벡터공간(Vector Space)에 표현하고, 유사거리(Similarity Distance)를 계산하는 최근접 이웃(K-Nearest Neighbor) 알고리즘 또는 K-평균 클러스터링(K-means Clustering) 알고리즘을 이용하여 상품 이미지와 유사한 유사 이미지를 검색하는 단계; 및
    검색된 상기 유사 이미지에 기 매핑된 텍스트를 추출하는 단계를 포함하는
    질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법.
  5. 삭제
  6. 삭제
KR1020190132871A 2019-10-24 2019-10-24 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템 KR102155739B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190132871A KR102155739B1 (ko) 2019-10-24 2019-10-24 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190132871A KR102155739B1 (ko) 2019-10-24 2019-10-24 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템

Publications (1)

Publication Number Publication Date
KR102155739B1 true KR102155739B1 (ko) 2020-09-14

Family

ID=72471353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190132871A KR102155739B1 (ko) 2019-10-24 2019-10-24 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템

Country Status (1)

Country Link
KR (1) KR102155739B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102280028B1 (ko) * 2021-01-26 2021-07-21 주식회사 미디어코어시스템즈 빅데이터와 인공지능을 이용한 챗봇 기반 콘텐츠 관리 방법 및 장치
CN113282727A (zh) * 2021-06-03 2021-08-20 北京捷通华声科技股份有限公司 问答处理方法、装置、计算机可读存储介质及处理器
KR20220039339A (ko) * 2020-09-22 2022-03-29 에스케이플래닛 주식회사 슬롯 필링 기반의 챗봇 서비스 제공 방법 및 장치
KR20220075709A (ko) * 2020-11-30 2022-06-08 주식회사 리노스 기계학습용 데이터 생성방법 및 이를 이용한 기계학습 스케줄링 방법
KR20220081398A (ko) * 2020-12-08 2022-06-16 (주)플래티어 검색어 추천 장치, 방법 및 기록매체
KR20220083332A (ko) * 2020-12-11 2022-06-20 주식회사 워크앤조이 그룹웨어에 특화된 누적특성 데이터 기반 질의 보정 기술이 적용된 챗봇 시스템 및 이에 의한 검색 방법
KR102472447B1 (ko) * 2022-06-13 2022-11-30 (주)유알피시스템 머신러닝을 이용한 복합 문서내 특정 콘텐츠 자동 차단 시스템 및 방법
KR20230006200A (ko) * 2021-07-02 2023-01-10 고려대학교 산학협력단 차량 매매 및 유지보수를 위한 챗봇 시스템 및 이를 이용한 챗봇 기반 차량 매매 및 유지보수 서비스 방법
WO2023042987A1 (ko) * 2021-09-16 2023-03-23 주식회사 랭코드 소스코드 분석을 이용한 텍스트 의미 분석 장치, 시스템 및 방법, 그리고, 이를 이용한 챗봇 질의응답 서비스 제공 방법
KR102666928B1 (ko) * 2023-09-20 2024-05-20 (주)뮤자인 챗봇을 이용한 컨텐츠 관리 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072388A (ko) * 2000-09-01 2000-12-05 김상엽 전자 상거래 사이트의 노마진 운영 시스템 및 방법, 그프로그램을 기록한 기록매체
KR20080075748A (ko) * 2007-02-13 2008-08-19 홍성훈 네트워크상의 대화로봇을 이용한 지혜획득 및 제공방법과그 시스템
KR20190055425A (ko) * 2017-11-15 2019-05-23 (주)페르소나시스템 머신 러닝 기반의 챗봇용 데이터 추가 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072388A (ko) * 2000-09-01 2000-12-05 김상엽 전자 상거래 사이트의 노마진 운영 시스템 및 방법, 그프로그램을 기록한 기록매체
KR20080075748A (ko) * 2007-02-13 2008-08-19 홍성훈 네트워크상의 대화로봇을 이용한 지혜획득 및 제공방법과그 시스템
KR20190055425A (ko) * 2017-11-15 2019-05-23 (주)페르소나시스템 머신 러닝 기반의 챗봇용 데이터 추가 장치

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102466947B1 (ko) * 2020-09-22 2022-11-14 에스케이플래닛 주식회사 슬롯 필링 기반의 챗봇 서비스 제공 방법 및 장치
KR20220039339A (ko) * 2020-09-22 2022-03-29 에스케이플래닛 주식회사 슬롯 필링 기반의 챗봇 서비스 제공 방법 및 장치
KR102480872B1 (ko) * 2020-11-30 2022-12-26 주식회사 리노스 기계학습용 데이터 생성방법 및 이를 이용한 기계학습 스케줄링 방법
KR20220075709A (ko) * 2020-11-30 2022-06-08 주식회사 리노스 기계학습용 데이터 생성방법 및 이를 이용한 기계학습 스케줄링 방법
KR20220081398A (ko) * 2020-12-08 2022-06-16 (주)플래티어 검색어 추천 장치, 방법 및 기록매체
KR102666635B1 (ko) 2020-12-08 2024-05-21 (주)플래티어 검색어 추천 장치, 방법 및 기록매체
KR20230117716A (ko) * 2020-12-08 2023-08-09 (주)플래티어 검색어 추천 장치, 방법 및 기록매체
KR102561662B1 (ko) 2020-12-08 2023-08-02 (주)플래티어 검색어 추천 장치, 방법 및 기록매체
KR102553576B1 (ko) * 2020-12-11 2023-07-11 주식회사 워크앤조이 그룹웨어에 특화된 누적특성 데이터 기반 질의 보정 기술이 적용된 챗봇 시스템 및 이에 의한 검색 방법
KR20220083332A (ko) * 2020-12-11 2022-06-20 주식회사 워크앤조이 그룹웨어에 특화된 누적특성 데이터 기반 질의 보정 기술이 적용된 챗봇 시스템 및 이에 의한 검색 방법
KR102280028B1 (ko) * 2021-01-26 2021-07-21 주식회사 미디어코어시스템즈 빅데이터와 인공지능을 이용한 챗봇 기반 콘텐츠 관리 방법 및 장치
CN113282727A (zh) * 2021-06-03 2021-08-20 北京捷通华声科技股份有限公司 问答处理方法、装置、计算机可读存储介质及处理器
CN113282727B (zh) * 2021-06-03 2024-04-16 北京捷通华声科技股份有限公司 问答处理方法、装置、计算机可读存储介质及处理器
KR20230006200A (ko) * 2021-07-02 2023-01-10 고려대학교 산학협력단 차량 매매 및 유지보수를 위한 챗봇 시스템 및 이를 이용한 챗봇 기반 차량 매매 및 유지보수 서비스 방법
KR102635530B1 (ko) * 2021-07-02 2024-02-07 고려대학교 산학협력단 차량 매매 및 유지보수를 위한 챗봇 시스템 및 이를 이용한 챗봇 기반 차량 매매 및 유지보수 서비스 방법
WO2023042987A1 (ko) * 2021-09-16 2023-03-23 주식회사 랭코드 소스코드 분석을 이용한 텍스트 의미 분석 장치, 시스템 및 방법, 그리고, 이를 이용한 챗봇 질의응답 서비스 제공 방법
KR102472447B1 (ko) * 2022-06-13 2022-11-30 (주)유알피시스템 머신러닝을 이용한 복합 문서내 특정 콘텐츠 자동 차단 시스템 및 방법
KR102666928B1 (ko) * 2023-09-20 2024-05-20 (주)뮤자인 챗봇을 이용한 컨텐츠 관리 시스템

Similar Documents

Publication Publication Date Title
KR102155739B1 (ko) 질의응답 데이터 셋을 적응적으로 재사용하는 챗봇 서비스 제공 방법, 서버, 및 시스템
Kang et al. Natural language processing (NLP) in management research: A literature review
US12010073B2 (en) Systems and processes for operating and training a text-based chatbot
KR102155768B1 (ko) 학습을 통하여 진화하는 질의응답 데이터 셋을 이용한 쇼핑몰 질의응답 추천 서비스 제공 방법
Mahmood et al. Deep sentiments in roman urdu text using recurrent convolutional neural network model
US9811765B2 (en) Image captioning with weak supervision
US9846836B2 (en) Modeling interestingness with deep neural networks
Mitra et al. Helpfulness of online consumer reviews: A multi-perspective approach
US20170200066A1 (en) Semantic Natural Language Vector Space
Hagiwara Real-world natural language processing: practical applications with deep learning
CN113011186B (zh) 命名实体识别方法、装置、设备及计算机可读存储介质
Arumugam et al. Hands-On Natural Language Processing with Python: A practical guide to applying deep learning architectures to your NLP applications
Paul et al. Focused domain contextual AI chatbot framework for resource poor languages
US20240160642A1 (en) Systems and methods for categorization of ingested database entries to determine topic frequency
Rafail et al. Natural language processing
Kumar et al. An abstractive text summarization technique using transformer model with self-attention mechanism
Kulkarni et al. Big data analytics
CN112036189A (zh) 一种金文语义识别方法和***
Tuarob et al. Automated discovery of product feature inferences within large-scale implicit social media data
CN111414755A (zh) 一种基于细粒度情感字典的网络情绪分析方法
Lamons et al. Python Deep Learning Projects: 9 projects demystifying neural network and deep learning models for building intelligent systems
CN114911940A (zh) 文本情感识别方法及装置、电子设备、存储介质
Sarkar et al. Sentiment analysis
US11966570B2 (en) Automated processing and dynamic filtering of content for display
Regino et al. From Natural Language Texts to RDF Triples: A Novel Approach to Generating e-Commerce Knowledge Graphs

Legal Events

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