KR102119404B1 - 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 - Google Patents
복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR102119404B1 KR102119404B1 KR1020180149090A KR20180149090A KR102119404B1 KR 102119404 B1 KR102119404 B1 KR 102119404B1 KR 1020180149090 A KR1020180149090 A KR 1020180149090A KR 20180149090 A KR20180149090 A KR 20180149090A KR 102119404 B1 KR102119404 B1 KR 102119404B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- chatbot
- information
- subject
- chatbots
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 56
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 67
- 230000008901 benefit Effects 0.000 claims description 56
- 238000010295 mobile communication Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 21
- 230000000694 effects Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 10
- 238000007621 cluster analysis Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 2
- 230000003542 behavioural effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 37
- 230000006399 behavior Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000007728 cost analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009223 counseling Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법에 관한 것으로서, 날씨정보와 사용자 위치 등을 포함한 실세계의 동적인 상황정보들, 사용자 행동패턴의 분석을 통한 사용자 성향, 그리고 대화형 인터페이스를 통한 사용자의 요청을 입력으로 하여 복수의 챗봇들이 협업하여 사용자의 성향, 처한 상황, 그리고 요청에 적합한 정보를 제공함으로써, 하나의 챗봇만으로 처리하기 어려운 복합 서비스를 복수의 챗봇이 협업하여 해결할 수 있으며, 사용자가 필요한 챗봇 서비스에 여러 번 요청하는 수고를 줄일 수 있는 효과가 있다.
Description
본 발명은 날씨정보 등의 주변 상황정보와 사용자의 행동패턴에 적합한 정보를 복수의 챗봇간 협업을 통해 제공하는 대화형 정보제공 시스템 및 그 방법과 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
최근 정보처리 기술과 인공지능 기술의 발달로 사용자가 궁금한 사항에 대해 자동으로 답변을 수행할 수 있는 대화 시스템(Dialog System) 또는 챗봇(Chatbot)이 널리 보급되고 있다.
이러한 챗봇은 사용자가 별도의 웹사이트(Website)나 앱(App)을 따로 실행하지 않고서도 익숙한 대화형 인터페이스를 통해 사용자에게 필요한 정보를 제공받거나 서비스를 제공받을 수 있는 기술이다.
고객 상담을 위한 챗봇은 전화나 웹사이트를 통해 고객의 상담에 대응하는 작업을 자동화하는데 활용되었고 이 경우 사용자의 질문 의도를 정확하게 이해하고 그에 맞는 답변을 제공하는 것이 주요한 목표가 된다.
즉, 고객 상담을 위한 챗봇은 불특정 다수를 대상으로 한 상담에 주로 활용되고 있으며, 개인별 특성에 따른 답변을 고려하지 않고 예상되는 질문/응답의 쌍들을 미리 저장해 두고 기계학습이나 패턴 매칭을 통해 사용자의 질문에 가장 가까운 질문/응답 쌍을 추출하여 답변을 제공하는 방법을 이용하고 있다.
또한, 배달주문이나 쇼핑 등에도 챗봇이 활용되고 있는데 미리 정의된 질문/응답쌍을 이용하여 사용자의 의도를 파악하고 답변에 필요한 정보를 챗봇이 사용자에게 물어보는 반복적인 과정을 통해 사용자가 원하는 정보 및 서비스를 제공한다.
종래의 챗봇은 사용자의 특성이나 주변상황을 이해하고 그에 맞는 답변이나 서비스를 제공하는데 어려움을 겪고 있다. 그 이유는, 많은 챗봇 기술들이 대화예제 데이터베이스로부터 추출된 답변을 제공하거나 사전 정의된 업무규칙에 따라 생성된 답변을 제공하기 때문이다.
사용자의 특성과 주변상황에 맞는 적절한 답변이나 서비스를 제공하기 위해서는 사용자별 특성에 맞는 각기 다른 서비스 제공자가 필요하며, 또한 날씨나 위치 등의 사용자가 처한 주변 상황에 맞는 정보를 제공하기 위해서는 역시 복수의 서비스 제공자가 필요하다.
또한, 개인별 특성과 상황에 맞는 답변이나 서비스를 제공하기 위해서는 각 정보 제공자들끼리의 정보 연계가 필요하지만 이에 대한 기술개발은 부족한 실정이다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 날씨정보와 사용자 위치 등을 포함한 실세계의 동적인 상황정보들, 사용자 행동패턴의 분석을 통한 사용자 성향, 그리고 대화형 인터페이스를 통한 사용자의 요청을 입력으로 하여 복수의 챗봇들이 협업하여 사용자의 성향, 처한 상황, 그리고 요청에 적합한 정보를 제공할 수 있도록 한 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법을 제공하는데 있다.
본 발명의 다른 목적은 사용자가 처한 상황정보, 사용자의 성향, 텍스트로 표현된 사용자의 요청을 종합하여 동적인 상황과 개인적 성향에 맞는 서비스를 제공할 수 있도록 한 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 사용자의 상황, 성향, 요청에 기반하여 사용자의 의도를 이해할 수 있는 사용자 의도이해 시스템을 제공하고, 사용자의 의도에 맞는 정보와 서비스를 제공하기 위해 복수의 챗봇들을 조합하여 답변을 제공할 수 있도록 한 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법을 제공하는데 있다.
종래의 챗봇 기술이 사용자의 질문의 의도와 질문에 담긴 키워드를 분석하여 답변을 제공하는데 초점을 맞추었다면, 본 발명에서는 사용자의 질문과 사용자의 개인적 성향, 주변 상황들을 고려하여 이에 맞는 답변을 복수의 챗봇간 협업을 통해 제공할 수 있도록 하였다.
본 발명의 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법은, 크게 사용자의 텍스트 기반 질문, 날씨 및 활동정보를 포함하는 상황정보를 입력으로 하여 주제 및 의도별 챗봇을 선정하는 단계와, 선정된 주제 및 의도별 챗봇이 사용자의 의도와 상황에 맞는 답변을 다른 챗봇과 협업하여 답변을 찾는 단계로 구분될 수 있다.
여기에서, 상기 주제 및 의도별 챗봇을 선정하는 단계에서는, 사용자의 질문과 상황정보를 고려하여 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별하는 과정과, 각 주제별 챗봇이 주제와 의도 및 상황정보를 이용하여 문제를 해결하기 위한 비용과 편익을 계산하는 과정과, 각 주제 및 의도별 챗봇이 계산한 비용, 편익, 챗봇의 평판을 고려하여 최적의 챗봇을 선정하는 과정을 포함함이 바람직하다.
그리고, 각 주제 및 의도별 챗봇이 다른 챗봇과 협업하여 답변을 찾는 단계에서는, 전체 작업을 세부작업으로 분할하는 과정과, 각 세부작업별로 처리할 수 있는 챗봇을 비용과 편익을 고려하여 찾는 과정과, 그리고 각 세부작업을 담당하는 챗봇이 사용자와의 반복대화 또는 다른 챗봇과의 통신을 이용해 정보를 취합하고 답변을 찾는 과정을 포함함이 바람직하다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 외부로부터 사용자의 질문과 주변 상황정보를 제공받아 이를 고려하여 해당 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별하는 주제 및 의도분류기; 상기 주제 및 의도분류기로부터 판별된 해당 사용자의 주제와 의도를 이용하여 복수의 주제별 챗봇에게 해당 사용자의 질문과 주변 상황정보를 전달하고, 각 주제별 챗봇을 통해 해당 사용자의 요청에 대한 답변의 제공이 가능한지 여부를 확인함과 아울러 각 주제별 챗봇이 보고한 편익과 비용에 기 저장된 각 주제별 챗봇의 신뢰도를 조합하여 최종적으로 해당 사용자의 질문을 처리할 주제별 챗봇을 선정하는 제1 챗봇 조정장치; 및 상기 제1 챗봇 조정장치로부터 선정된 각 주제별 챗봇으로부터 작업의 종류와 함께 해당 사용자로부터 획득한 질문과 주변 상황정보를 제공받아 이를 복수의 후보 작업챗봇들로 전달하고, 해당 사용자의 의도와 주변 상황에 맞는 답변을 찾는 전체 작업을 세부작업으로 분할하여 각 세부작업별로 처리할 수 있는 비용과 편익을 계산하도록 각 후보 작업챗봇으로 요청하며, 각 후보 작업챗봇으로부터 계산된 비용과 편익 및 기 저장된 각 후보 작업챗봇들의 신뢰도를 고려하여 각 세부작업에 대한 최종 작업챗봇들을 결정하며, 상기 결정된 최종 작업챗봇들로 해당 사용자의 의도와 상항에 맞는 답변 작업의 해결을 위임하며, 각 세부작업에 대한 최종 작업챗봇들로부터 해당 사용자의 의도와 상황에 맞는 답변 작업의 세부작업의 결과정보를 취합하여 해당 사용자의 요청에 대한 응답을 완료하는 제2 챗봇 조정장치를 포함하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템을 제공하는 것이다.
여기서, 상기 사용자의 주변 상황정보는, 해당 사용자의 위치를 기반으로 날씨 및 동적인 행동 상황정보로 이루어짐이 바람직하다.
바람직하게, 각 주제별 챗봇 또는 각 후보 작업챗봇은, 텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 자연어 질의 의도와 주제를 분석함과 아울러 자연어 개체추출을 통해 해당 사용자의 질문에 포함된 답변에 필요한 추가정보를 분석하는 작업 이해모듈; 상기 작업 이해모듈로부터 분석된 자연어 질의 의도와 주제 및 자연어 개체추출 결과정보를 이용하여 해당 사용자의 질문에 대한 답변의 제공이 가능한지 여부를 판별하는 작업 해석모듈; 및 해당 사용자와 대화를 통해 추가적으로 필요한 답변 정보를 획득하거나 다른 챗봇간의 연계서비스 통신을 이용해서 추가적으로 필요한 답변 정보를 획득하고, 획득된 필요한 답변 정보들을 조합하여 해당 사용자의 질문에 대한 최종 답변을 선택하고 해당 사용자의 요청에 대한 응답정보를 생성하는 작업 해결모듈을 포함할 수 있다.
바람직하게, 상기 작업 이해모듈은, 텍스트로 표현된 해당 사용자의 질문으로부터 자연어 질의 의도와 주제를 분석하는 자연어 질의 의도/주제 이해부; 텍스트로 표현된 해당 사용자의 주변 상황정보로부터 해당 사용자의 주변 상황을 분석하는 사용자 주변상황 이해부; 텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 자연어 개체를 추출하는 자연어 개체 추출부; 및 텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 해당 사용자의 질문에 포함된 답변에 필요한 추가정보 분석을 위한 해당 사용자와의 대화 맥락을 분석하는 사용자 대화 맥락 이해부를 포함할 수 있다.
바람직하게, 상기 작업 해석모듈은, 단독으로 해결할 수 있는 작업의 경우 비용 및 편익을 계산하여 결과값을 반환하고 선택 결과를 기다릴 수 있다.
바람직하게, 상기 작업 해석모듈은, 단독으로 해결할 수 없는 작업의 경우 작업 해석 및 분할부에서 전체 작업을 세부작업들로 분할하고, 각 세부작업의 처리가 가능한지 여부를 다른 챗봇에게 요청하고 각 세부작업을 처리했을 때의 비용과 편익을 계산하고, 각 세부작업별로 가장 비용/편익이 유리한 챗봇을 사용했을 때의 총 비용과 편익을 계산한 후에 요청한 해당 챗봇에게 할당된 전체 작업의 비용과 편익을 반환하고 선택 결과를 기다릴 수 있다.
바람직하게, 각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 1에 의해 편익(Benefitj(t,i,s,c))을 계산할 수 있다.
(식 1)
여기서, topicj(t)는 j(1 이상의 자연수)번째 챗봇이 이해가능한 주제 중에 특정의 주제(t)가 포함되는지 여부(특정의 주제(t)가 포함이면'1'반환, 특정의 주제(t)가 미포함이면'0'반환)를 나타내고, intentj(i)는 j번째 챗봇이 이해가능한 의도 중에 특정의 의도(i)가 포함되는지 여부(특정의 의도(i)가 포함이면'1'반환, 특정의 의도(i)가 미포함이면'0'반환)를 나타내며, slotj(s,c)은 해당 사용자의 질문(s)과 주변 상황정보(c) 중에서 답변에 사용할 정보의 개수를 나타낸다.
바람직하게, 각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 2에 의해 비용(Costj(t,i,s,c))을 계산할 수 있다.
(식 2)
여기서, agent_interactionj(s,c)는 j(1 이상의 자연수)번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 몇 개의 다른 챗봇과 통신해야 하는지에 대한 통신 개수를 나타내고, human_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 해당 사용자에게 몇 번의 반복질문을 해야 하는지에 대한 반복질문 개수를 나타내며, wa는 상기 통신 개수에 대한 가중치를 나타내며, wh는 상기 반복질문 개수에 대한 가중치를 나타낸다.
바람직하게, 상기 제2 챗봇 조정장치는, 하기의 식 3에 의해 각 세부작업에 대한 최종 작업챗봇(j*)을 결정할 수 있다.
(식 3)
여기서, J는 모든 주제별 챗봇의 집합이고, Rj는 j(1 이상의 자연수)번째 챗봇의 신뢰도를 의미하며, Benefitj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇 또는 각 후보 작업챗봇에 의해 계산된 편익을 나타낸 것이며, Costj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇 또는 각 후보 작업챗봇에 의해 계산된 비용을 나타낸 것이다.
바람직하게, 사용자의 주제별 또는 의도별로 각 주제별 챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 주제별 챗봇 신뢰도 DB; 사용자의 주제별 또는 의도별로 각 후보 작업챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 후보 작업챗봇 신뢰도 DB; 사용자의 나이, 성별, 거주지, 및 가족관계 정보의 프로파일을 데이터베이스(DB)화하여 저장하는 사용자 프로파일 DB; 사용자의 대화이력을 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제1 사용자 행동패턴 DB; 및 사용자의 위치정보를 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제2 사용자 행동패턴 DB를 더 포함할 수 있다.
바람직하게, 상기 사용자 프로파일 DB, 상기 제1 사용자 행동패턴 DB, 및 상기 제2 사용자 행동패턴 DB에 저장된 정보들을 기반으로 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석하여 그 결과를 데이터베이스(DB)화하여 저장하는 사용자 성향분석 DB를 더 포함할 수 있다.
바람직하게, 상기 사용자의 주변 상황정보는, 적어도 하나의 이동통신 단말 또는 웨어러블 디바이스로부터 획득된 해당 사용자의 위치와 동적인 활동정보를 포함할 수 있다.
본 발명의 제2 측면은, 주제 및 의도분류기, 제1 및 제2 챗봇 조정장치를 포함한 시스템을 이용하여 복수 챗봇의 협업에 의한 대화형 정보를 제공하는 방법으로서, (a) 상기 주제 및 의도분류기를 통해 외부로부터 제공받은 사용자의 질문과 주변 상황정보를 고려하여 해당 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별하는 단계; (b) 상기 제1 챗봇 조정장치를 통해 상기 단계(a)에서 판별된 해당 사용자의 주제와 의도를 이용하여 복수의 주제별 챗봇에게 해당 사용자의 질문과 주변 상황정보를 전달하는 단계; (c) 상기 제1 챗봇 조정장치를 통해 각 주제별 챗봇을 이용하여 해당 사용자의 요청에 대한 답변의 제공이 가능한지 여부를 확인함과 아울러 각 주제별 챗봇이 보고한 편익과 비용에 기 저장된 각 주제별 챗봇의 신뢰도를 조합하여 최종적으로 해당 사용자의 질문을 처리할 주제별 챗봇을 선정하는 단계; (d) 상기 제2 챗봇 조정장치를 통해 상기 단계(c)에서 선정된 각 주제별 챗봇으로부터 작업의 종류와 함께 해당 사용자로부터 획득한 질문과 주변 상황정보를 복수의 후보 작업챗봇들로 전달하는 단계; (e) 상기 제2 챗봇 조정장치를 통해 해당 사용자의 의도와 주변 상황에 맞는 답변을 찾는 전체 작업을 세부작업으로 분할하여 각 세부작업별로 처리할 수 있는 비용과 편익을 계산하도록 각 후보 작업챗봇으로 요청하는 단계; (f) 상기 제2 챗봇 조정장치를 통해 상기 단계(e)에서 요청된 각 후보 작업챗봇으로부터 계산된 비용과 편익 및 기 저장된 각 후보 작업챗봇들의 신뢰도를 고려하여 각 세부작업에 대한 최종 작업챗봇들을 결정하는 단계; (g) 상기 제2 챗봇 조정장치를 통해 상기 단계(f)에서 결정된 최종 작업챗봇들로 해당 사용자의 의도와 상항에 맞는 답변 작업의 해결을 위임하는 단계; 및 (h) 상기 제2 챗봇 조정장치를 통해 상기 단계(g)에서 위임된 각 세부작업에 대한 최종 작업챗봇들로부터 전송된 해당 사용자의 의도와 상황에 맞는 답변 작업의 세부작업의 결과정보를 취합하여 해당 사용자의 요청에 대한 응답을 완료하는 단계를 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법을 제공하는 것이다.
바람직하게, 상기 단계(a)에서, 상기 사용자의 주변 상황정보는 해당 사용자의 위치를 기반으로 날씨 및 동적인 행동 상황정보로 이루어질 수 있다.
바람직하게, 상기 단계(c) 이전에, 사용자의 주제별 또는 의도별로 각 주제별 챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(f) 이전에, 사용자의 주제별 또는 의도별로 각 후보 작업챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(h) 이후에, 사용자의 나이, 성별, 거주지, 및 가족관계 정보의 프로파일을 데이터베이스(DB)화하여 저장하는 제1 단계와, 사용자의 대화이력을 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제2 단계와, 사용자의 위치정보를 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제3 단계를 더 포함할 수 있다.
바람직하게, 상기 제1 단계 내지 제3 단계에서 저장된 정보들을 기반으로 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석하여 그 결과를 데이터베이스(DB)화하여 저장하는 제4 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(a)에서, 상기 사용자의 주변 상황정보는 적어도 하나의 이동통신 단말 또는 웨어러블 디바이스로부터 획득된 해당 사용자의 위치와 동적인 활동정보를 포함할 수 있다.
본 발명의 제3 측면은, 상술한 복수 챗봇의 협업에 의한 대화형 정보제공 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법은 컴퓨터로 판독할 수 있는 기록매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
이상에서 설명한 바와 같은 본 발명의 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법에 따르면, 날씨정보와 사용자 위치 등을 포함한 실세계의 동적인 상황정보들, 사용자 행동패턴의 분석을 통한 사용자 성향, 그리고 대화형 인터페이스를 통한 사용자의 요청을 입력으로 하여 복수의 챗봇들이 협업하여 사용자의 성향, 처한 상황, 그리고 요청에 적합한 정보를 제공할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 사용자가 처한 상황정보, 사용자의 성향, 텍스트로 표현된 사용자의 요청을 종합하여 동적인 상황과 개인적 성향에 맞는 서비스를 제공할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 사용자의 상황, 성향, 요청에 기반하여 사용자의 의도를 이해할 수 있는 사용자 의도이해 시스템을 제공하고, 사용자의 의도에 맞는 정보와 서비스를 제공하기 위해 복수의 챗봇들을 조합하여 답변을 제공할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 사용자별 성향과 날씨나 위치 등의 사용자 주변의 실세계 상황에 적합한 정보나 서비스를 대화를 통해 제공받을 수 있으며, 이를 통해, 사용자가 원하는 요청의 처리를 위해 사용자가 처한 상황과 특성을 대화를 통해 반복적으로 전달하지 않아도 챗봇이 추론을 통해 파악하고 적절한 답변을 제공할 수 있기 때문에 사용자와 상호작용 시간을 줄일 수 있으며 사용자의 편의를 향상시킬 수 있는 이점이 있다.
또한, 본 발명에 따르면, 하나의 챗봇만으로 처리하기 어려운 복합 서비스를 복수의 챗봇이 협업하여 해결할 수 있도록 함으로서 사용자가 필요한 챗봇 서비스에 여러 번 요청하는 수고를 줄일 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 적용된 각 주제별 챗봇 또는 각 후보 작업챗봇을 설명하기 위한 구체적인 블록 구성도이다.
도 3은 본 발명의 일 실시예에 적용된 이동통신 단말을 설명하기 위한 구체적인 블록 구성도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법을 설명하기 위한 전체적인 흐름도이다.
도 2는 본 발명의 일 실시예에 적용된 각 주제별 챗봇 또는 각 후보 작업챗봇을 설명하기 위한 구체적인 블록 구성도이다.
도 3은 본 발명의 일 실시예에 적용된 이동통신 단말을 설명하기 위한 구체적인 블록 구성도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법을 설명하기 위한 전체적인 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템을 설명하기 위한 전체적인 블록 구성도이고, 도 2는 본 발명의 일 실시예에 적용된 각 주제별 챗봇 또는 각 후보 작업챗봇을 설명하기 위한 구체적인 블록 구성도이며, 도 3은 본 발명의 일 실시예에 적용된 이동통신 단말을 설명하기 위한 구체적인 블록 구성도이다.
도 1 내지 도 3을 참조하면, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템은, 크게 복수의 주제별 챗봇(100-1 내지 100-N), 복수의 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및 제2 챗봇 조정장치(500) 등을 포함하여 이루어진다. 또한, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템은 주제별 쳇봇 신뢰도 DB(600), 후보 작업쳇봇 신뢰도 DB(650), 사용자 프로파일 DB(700), 제1 사용자 행동패턴 DB(750), 제2 사용자 행동패턴 DB(800), 및/또는 사용자 성향분석 DB(850) 등을 더 포함할 수 있다. 한편, 도 1 내지 도 3에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템은 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
각 주제별 챗봇(100-1 내지 100-N) 및 각 후보 작업챗봇(200-1 내지 200-N)은 사용자가 별도의 웹사이트(Website)나 앱(App)을 따로 실행하지 않고서도 익숙한 대화형 인터페이스를 통해 사용자에게 필요한 정보를 제공받거나 서비스를 제공받을 수 있는 대화형 로봇을 의미한다.
이러한 각 주제별 챗봇(100-1 내지 100-N) 및 각 후보 작업챗봇(200-1 내지 200-N)은, 도 2에 도시된 바와 같이, 크게 작업 이해모듈(110), 작업 해석모듈(120), 및 작업 해결모듈(130) 등을 포함하여 이루어질 수 있다.
여기서, 작업 이해모듈(110)은 텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 자연어 질의의도와 주제를 분석함과 아울러 자연어 개체추출을 통해 해당 사용자의 질문에 포함된 답변에 필요한 추가정보를 분석하는 기능을 수행한다.
즉, 작업 이해모듈(110)은 텍스트로 표현된 해당 사용자의 질문으로부터 자연어 질의 의도와 주제를 분석하는 자연어 질의 의도/주제 이해부(111)와, 텍스트로 표현된 해당 사용자의 주변 상황정보로부터 해당 사용자의 주변 상황을 분석하는 사용자 주변상황 이해부(112)와, 텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 자연어 개체를 추출하는 자연어 개체 추출부(113)와, 텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 해당 사용자의 질문에 포함된 답변에 필요한 추가정보 분석을 위한 해당 사용자와의 대화 맥락을 분석하는 사용자 대화 맥락 이해부(114) 등을 포함하여 이루어질 수 있다.
그리고, 작업 해석모듈(120)은 작업 이해모듈(110)로부터 분석된 자연어 질의 의도와 주제 및 자연어 개체추출 결과정보를 이용하여 해당 사용자의 질문에 대한 답변의 제공이 가능한지 여부를 판별하는 기능을 수행한다.
또한, 작업 해석모듈(120)은 단독으로 해결할 수 있는 작업의 경우 비용 및 편익을 계산하여 결과값을 반환하고 선택 결과를 기다리는 기능을 수행할 수 있다.
또한, 작업 해석모듈(120)은 단독으로 해결할 수 없는 작업의 경우 작업 해석 및 분할부(122)에서 전체 작업을 세부작업들로 분할하고, 각 세부작업의 처리가 가능한지 여부를 다른 챗봇에게 요청하고 각 세부작업을 처리했을 때의 비용과 편익을 계산하고, 각 세부작업별로 가장 비용/편익이 유리한 챗봇을 사용했을 때의 총 비용과 편익을 계산한 후에 요청한 해당 챗봇에게 할당된 전체 작업의 비용과 편익을 반환하고 선택 결과를 기다리는 기능을 수행할 수 있다.
즉, 이러한 작업 해석모듈(120)은 작업 이해모듈(110)로부터 분석된 자연어 질의 의도와 주제 및 자연어 개체추출 결과정보를 이용하여 해당 사용자의 질문에 대한 답변의 제공이 가능한지 여부를 판별하는 작업처리 가능성 판별부(121)와, 작업처리 가능성 판별부(121)로부터 판별된 해당 사용자의 질문에 대한 답변의 전체 작업을 단독으로 해결할 수 있는지 없는지의 여부를 해석하여 해당 전체 작업이 단독으로 해결할 수 없는 작업의 경우 해당 전체 작업을 세부작업들로 분할하는 작업 해석 및 분할부(122)와, 작업 해석 및 분할부(122)로부터 분할된 각 세부작업의 처리를 위한 다른 챗봇과의 연계서비스 조합을 탐색하는 연계서비스 조합탐색부(123)와, 작업 해석 및 분할부(122)로부터 분할된 각 세부작업을 처리했을 때의 비용과 편익을 계산하는 작업처리 비용/편익 계산부(124) 등을 포함하여 이루어질 수 있다.
그리고, 작업 해결모듈(130)은 해당 사용자와 대화를 통해 추가적으로 필요한 답변 정보를 획득하거나 다른 챗봇간의 연계서비스 통신을 이용해서 추가적으로 필요한 답변 정보를 획득하고, 획득된 필요한 답변 정보들을 조합하여 해당 사용자의 질문에 대한 최종 답변을 선택하고 해당 사용자의 요청에 대한 응답정보를 생성하는 기능을 수행한다.
즉, 이러한 작업 해결모듈(130)은 해당 사용자와 대화를 통해 추가적으로 필요한 답변 정보를 획득하는 제1 문제해결부(131)와, 다른 챗봇간의 연계서비스 통신을 이용해서 추가적으로 필요한 답변 정보를 획득하는 제2 문제해결부(132)와, 제1 및 제2 문제해결부(131 및 132)로부터 획득된 필요한 답변 정보들을 조합하여 해당 사용자의 질문에 대한 최적의 최종 답변을 선택하는 최종 답변 선택부(133)와, 최종 답변 선택부(133)로부터 선택된 최종 답변을 기반으로 해당 사용자의 요청에 대한 응답정보를 생성하는 사용자 응답생성부(134) 등을 포함하여 이루어질 수 있다.
한편, 전술한 각 주제별 챗봇(100-1 내지 100-N) 및 각 후보 작업챗봇(200-1 내지 200-N)은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 1에 의해 편익(Benefitj(t,i,s,c))을 계산할 수 있다.
(식 1)
여기서, topicj(t)는 j(1 이상의 자연수)번째 챗봇이 이해가능한 주제 중에 특정의 주제(t)가 포함되는지 여부(특정의 주제(t)가 포함이면'1'반환, 특정의 주제(t)가 미포함이면'0'반환)를 나타내고, intentj(i)는 j번째 챗봇이 이해가능한 의도 중에 특정의 의도(i)가 포함되는지 여부(특정의 의도(i)가 포함이면'1'반환, 특정의 의도(i)가 미포함이면'0'반환)를 나타내며, slotj(s,c)은 해당 사용자의 질문(s)과 주변 상황정보(c) 중에서 답변에 사용할 정보의 개수를 나타낸다.
또한, 각 주제별 챗봇(100-1 내지 100-N) 및 각 후보 작업챗봇(200-1 내지 200-N)은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 2에 의해 비용(Costj(t,i,s,c))을 계산할 수 있다.
(식 2)
여기서, agent_interactionj(s,c)는 j(1 이상의 자연수)번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 몇 개의 다른 챗봇과 통신해야 하는지에 대한 통신 개수를 나타내고, human_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 해당 사용자에게 몇 번의 반복질문을 해야 하는지에 대한 반복질문 개수를 나타내며, wa는 상기 통신 개수에 대한 가중치를 나타내며, wh는 상기 반복질문 개수에 대한 가중치를 나타낸다.
주제 및 의도분류기(300)는 외부로부터 사용자의 질문과 주변 상황정보를 제공받아 이를 고려하여 해당 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별하는 기능을 수행한다.
이때, 상기 사용자의 주변 상황정보는 예컨대, 해당 사용자의 위치를 기반으로 날씨 및 동적인 행동 상황정보로 이루어짐이 바람직하다.
또한, 상기 사용자의 주변 상황정보는 적어도 하나의 이동통신 단말(10) 및/또는 웨어러블 디바이스(미도시) 등으로부터 획득된 해당 사용자의 위치와 동적인 활동정보를 포함할 수 있다.
한편, 본 발명의 일 실시예에 적용된 이동통신 단말(10)은 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 스마트폰(Smart Phone), 스마트 패드(Smart Pad) 또는 스마트 노트(Smart Note) 중 적어도 어느 하나의 이동 단말 장치로 이루어짐이 바람직하며, 이외에도 개인용 PC, 노트북 PC, 팜(Palm) PC, 모바일 게임기(Mobile play-station), 통신 기능이 있는 DMB(Digital Multimedia Broadcasting)폰, 태블릿 PC, 아이패드(iPad) 등 주제 및 의도분류기(300)에 접속하기 위한 사용자 인터페이스를 갖는 모든 유무선 가전/통신 장치를 포괄적으로 의미할 수 있다.
이러한 이동통신 단말(10)은 도 3에 도시된 바와 같이, 무선 통신모듈(11), A/V(Audio/Video) 입력모듈(12), 사용자 입력모듈(13), 센싱모듈(14), 출력모듈(15), 저장모듈(16), 인터페이스 모듈(17), 단말 제어모듈(18) 및 전원모듈(19) 등을 포함할 수 있다. 한편, 도 3에 도시된 구성요소들이 필수적인 것은 아니어서, 이동통신 단말(10)은 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 이동통신 단말(10)의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
무선 통신모듈(11)은 이동통신 단말(10)과 주제 및 의도분류기(300) 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예컨대, 무선 통신모듈(11)은 방송 수신 모듈(11a), 이동 통신 모듈(11b), 무선 인터넷 모듈(11c), 근거리 통신 모듈(11d) 및 위치 정보 모듈(11e) 등을 포함할 수 있다.
방송 수신 모듈(11a)은 다양한 방송채널(예컨대, 위성채널, 지상파채널 등)을 통하여 외부의 방송관리서버로부터 방송신호(예컨대, TV 방송신호, 라디오 방송신호, 데이터 방송신호 등) 및/또는 방송관련 정보를 수신한다.
이동 통신 모듈(11b)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는 음성 콜(call) 신호, 화상 통화 콜 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(11c)은 무선 인터넷 접속을 위한 모듈로서, 이동통신 단말(10)에 내장되거나 외장될 수 있다. 상기 무선 인터넷 기술로는 예컨대, WLAN(Wi-Fi), Wibro, Wimax, HSDPA, LTE 등이 이용될 수 있다.
근거리 통신 모듈(11d)은 근거리 통신을 위한 모듈로서, 예컨대, 블루투스(Bluetooth) 통신, 지그비(ZigBee) 통신, UWB(Ultra Wideband) 통신, RFID(Radio Frequency Identification) 통신 또는 적외선(IrDA, infrared Data Association) 통신 등이 이용될 수 있다.
위치 정보 모듈(11e)은 이동통신 단말(10)의 위치를 확인하거나 얻기 위한 모듈로서, GPS(Global Position System) 등을 이용하여 이동통신 단말(10)의 현재 위치 정보를 획득할 수 있다.
한편, 단말 제어모듈(18)의 제어에 따라 전술한 무선 통신모듈(11) 및/또는 유선 통신모듈(미도시)을 통해 저장모듈(16)에 저장된 특정 어플리케이션 프로그램을 이용하여 주제 및 의도분류기(300)와 데이터 송수신을 수행할 수 있다.
A/V 입력모듈(12)은 오디오 신호 또는 비디오 신호 입력을 위한 모듈로서, 기본적으로 카메라부(12a)와 마이크부(12b) 등이 포함될 수 있다. 카메라부(12a)는 화상통화모드 또는 촬영모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 마이크부(12b)는 통화모드 또는 녹음모드, 음성인식모드 등에서 마이크로폰에 의해 외부의 음향신호를 입력받아 전기적인 음성데이터로 처리한다.
사용자 입력모듈(13)은 이동통신 단말(10)의 동작 제어를 위한 입력 데이터를 발생시키는 모듈로서, 특히 출력모듈(15)의 디스플레이부(15a)를 통해 표시되는 챗봇 관련정보들 중 어느 하나에 대한 선택 신호를 입력하는 기능을 수행하며, 예컨대, 사용자의 터치에 의하여 입력되는 터치 패널(정압/정전) 형식이거나 별도의 입력 장치(예컨대, 키 패드 돔 스위치, 조그 휠, 조그 스위치 등)를 이용하여 입력될 수 있다.
센싱모듈(44)은 이동통신 단말(10)의 개폐 상태, 이동통신 단말(10)의 위치, 사용자 접촉 유무, 특정 부위에 대한 사용자의 터치 동작, 이동통신 단말(10)의 방위, 이동통신 단말(10)의 가속/감속 등과 같이 이동통신 단말(10)의 현 상태를 감지하여 이동통신 단말(10)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 이러한 센싱 신호는 단말 제어모듈(18)에 전달되어, 단말 제어모듈(18)이 특정 기능을 수행하는 기초가 될 수 있다.
출력모듈(15)은 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 모듈로서, 기본적으로 디스플레이부(15a), 음향출력부(15b), 알람부(15c) 및 햅틱부(15d) 등이 포함될 수 있다.
디스플레이부(15a)는 이동통신 단말(10)에서 처리되는 정보를 표시 출력하기 위한 것으로서, 예컨대, 이동통신 단말(10)이 통화모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphical User Interface)를 표시하고, 화상통화모드 또는 촬영모드인 경우에는 촬영 및/또는 수신된 영상 또는 UI, GUI를 표시한다.
음향출력부(15b)는 예컨대, 콜 신호수신, 통화모드 또는 녹음모드, 음성인식모드, 방송수신모드 등에서 무선 통신모듈(11)로부터 수신되거나 저장모듈(16)에 저장된 오디오 데이터를 출력할 수도 있다.
알람부(15c)는 이동통신 단말(10)의 이벤트 발생을 알리기 위한 신호를 출력할 수 있다. 이동통신 단말(10)에서 발생되는 이벤트의 예로는 콜 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다.
햅틱부(15d)는 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱부(15d)가 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅택부(15d)가 발생하는 진동의 세기와 패턴 등은 제어 가능하다.
저장모듈(16)은 단말 제어모듈(18)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)을 임시 저장할 수도 있다.
또한, 저장모듈(16)은 터치스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있으며, 챗봇 관련 어플리케이션 프로그램을 저장할 수 있다.
또한, 저장모듈(16)은 챗봇 관련 정보의 형성을 위한 소스 데이터가 저장될 수 있는 바, 챗봇 관련 데이터가 영상 및 소리로 구성된 형태로 이루어질 수 있으며, 챗봇 관리에 대한 관련데이터 생성의 진행 과정 및 결과도 함께 저장될 수 있다.
이러한 저장모듈(16)은 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), SRAM, 롬(ROM), EEPROM, PROM, 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
인터페이스 모듈(17)은 이동통신 단말(10)에 연결되는 모든 외부기기와의 통로 역할을 한다. 인터페이스 모듈(17)은 외부기기로부터 데이터를 전송 받거나 전원을 공급받아 이동통신 단말(10) 내부의 각 구성요소에 전달하거나 이동통신 단말(10) 내부의 데이터가 외부기기로 전송되도록 한다.
단말 제어모듈(18)은 통상적으로 이동통신 단말(10)의 전반적인 동작을 제어하는 것으로서, 예컨대, 음성통화, 데이터통신, 화상통화, 각종 어플리케이션 실행 등을 위한 관련된 제어 및 처리를 수행한다.
즉, 단말 제어모듈(18)은 저장모듈(16)에 저장된 챗봇 관련 어플리케이션 프로그램이 실행되도록 제어하고, 상기 챗봇 관련 어플리케이션 프로그램의 실행을 통해 챗봇 관련 데이터의 생성을 요청하고 이에 대한 챗봇 관련 데이터를 제공받을 수 있도록 제어하는 기능을 수행한다.
또한, 단말 제어모듈(18)은 상기 챗봇 관련 어플리케이션 프로그램의 실행을 통해 사용자가 원하는 챗봇 관련 데이터의 생성 과정에서 영상, 음성 또는 음향 중 적어도 하나를 포함하는 보조 요소들을 디스플레이부(15a) 및 다른 출력장치(예컨대, 음향출력부(15b), 알람부(15c), 햅틱부(15d) 등) 중 적어도 하나를 통해 출력되도록 제어하는 기능을 수행한다.
또한, 단말 제어모듈(18)은 배터리부(19a)의 충전 전류와 충전 전압을 상시적으로 모니터링하고, 모니터링 값을 저장모듈(16)에 임시 저장할 수 있다. 이때, 저장모듈(16)은 모니터링 된 충전 전류와 충전 전압과 같은 배터리 충전상태정보뿐만 아니라 배터리 사양정보(제품 코드, 정격 등)도 함께 저장함이 바람직하다.
전원모듈(19)은 단말 제어모듈(18)의 제어에 의해 외부의 전원, 내부의 전원을 인가 받아 각 구성요소들의 동작에 필요한 전원을 공급한다. 전원모듈(19)은 내장되어 있는 배터리부(19a)의 전원을 각 구성요소들로 공급하여 동작하도록 하며, 충전단자(미도시)를 사용하여 배터리의 충전이 가능하다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs(application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시예들이 단말 제어모듈(18)에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 저장모듈(16)에 저장되고, 단말 제어모듈(18)에 의해 실행될 수 있다.
만약, 이동통신 단말(10)이 스마트폰으로 이루어질 경우, 상기 스마트폰은 일반 핸드폰(일명 피처폰(feature phone))과는 달리 사용자가 원하는 다양한 어플리케이션(Application) 프로그램을 다운로드받아 자유롭게 사용하고 삭제가 가능한 오픈 운영체제를 기반으로 한 폰(Phone)으로서, 일반적으로 사용되는 음성/영상통화, 인터넷 데이터통신 등의 기능뿐만 아니라, 모바일 오피스 기능을 갖춘 모든 모바일 폰 또는 음성통화 기능이 없으나 인터넷 접속 가능한 모든 인터넷폰 또는 테블릿 PC(Tablet PC)를 포함하는 통신기기로 이해함이 바람직하다.
이러한 스마트폰은 다양한 개방형 운영체제를 탑재한 스마트폰으로 구현될 수 있으며, 상기 개방형 운영체제로는 예컨대, 노키아(NOKIA)사의 심비안, 림스(RIMS)사의 블랙베리, 애플(Apple)사의 아이폰, 마이크로소프트사(MS)의 윈도즈 모바일, 구글(Google)사의 안드로이드, 삼성전자의 바다 등으로 이루어질 수 있다.
이와 같이 스마트폰은 개방형 운영체제를 사용하므로 폐쇄적인 운영체제를 가진 휴대폰과 달리 사용자가 임의로 다양한 어플리케이션 프로그램을 설치하고 관리할 수 있다.
즉, 전술한 상기 스마트폰은 기본적으로 제어부, 메모리부, 화면출력부, 키입력부, 사운드 출력부, 사운드 입력부, 카메라부, 무선망 통신모듈, 근거리 무선 통신모듈 및 전원 공급을 위한 배터리 등을 구비한다.
상기 제어부는 스마트폰의 동작을 제어하는 기능 구성의 총칭으로서, 적어도 하나의 프로세서와 실행 메모리를 포함하며, 스마트폰에 구비된 각 기능 구성부와 버스(BUS)를 통해 연결된다.
이러한 상기 제어부는 상기 프로세서를 통해 스마트폰에 구비되는 적어도 하나의 프로그램 코드를 상기 실행 메모리에 로딩하여 연산하고, 그 결과를 상기 버스를 통해 적어도 하나의 기능 구성부로 전달하여 스마트폰의 동작을 제어한다.
상기 메모리부는 스마트폰에 구비되는 비휘발성 메모리의 총칭으로서, 상기 제어부를 통해 실행되는 적어도 하나의 프로그램 코드와, 상기 프로그램 코드가 이용하는 적어도 하나의 데이터 셋트를 저장하여 유지한다. 상기 메모리부는 기본적으로 스마트폰의 운영체제에 대응하는 시스템 프로그램 코드와 시스템 데이터 셋트, 스마트폰의 무선 통신 연결을 처리하는 통신 프로그램 코드와 통신 데이터 셋트 및 적어도 하나의 응용프로그램 코드와 응용 데이터 셋트를 저장하며, 본 발명을 구현하기 위한 프로그램 코드와 데이터 셋트 역시 상기 메모리부에 저장된다.
상기 화면 출력부는 화면출력 장치(예컨대, LCD(Liquid Crystal Display) 장치)와 이를 구동하는 출력 모듈로 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산 결과 중 화면 출력에 대응하는 연산 결과를 상기 화면출력 장치로 출력한다.
상기 키입력부는 적어도 하나의 키 버튼을 구비한 키 입력장치(또는 상기 화면 출력부와 연동하는 터치스크린 장치)와 이를 구동하는 입력 모듈로 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산을 명령하는 명령을 입력하거나, 또는 상기 제어부의 연산에 필요한 데이터를 입력한다.
상기 사운드 출력부는 사운드 신호를 출력하는 스피커와 상기 스피커를 구동하는 사운드 모듈로 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산 결과 중 사운드 출력에 대응하는 연산 결과를 상기 스피커를 통해 출력한다. 상기 사운드 모듈은 기 스피커를 통해 출력할 사운드 데이터를 디코딩(Decoding)하여 사운드 신호로 변환한다.
상기 사운드 입력부는 사운드 신호를 입력받는 마이크로폰과 상기 마이크로폰을 구동하는 사운드 모듈로 구성되며, 상기 마이크로폰을 통해 입력되는 사운드 데이터를 상기 제어부로 전달한다. 상기 사운드 모듈은 상기 마이크로폰을 통해 입력되는 사운드 신호를 엔코딩(Encoding)하여 부호화한다.
상기 카메라부는 광학부와 CCD(Charge Coupled Device)와 이를 구동하는 카메라 모듈로 구성되며, 상기 광학부를 통해 상기 CCD에 입력된 비트맵 데이터를 획득한다. 상기 비트맵 데이터는 정지 영상의 이미지 데이터와 동영상 데이터를 모두 포함할 수 있다.
상기 무선망 통신모듈은 무선 통신을 연결하는 통신 구성의 총칭으로서, 특정 주파수 대역의 무선 주파수 신호를 송수신하는 안테나, RF모듈, 기저대역모듈, 신호처리모듈을 적어도 하나 포함하여 구성되며, 상기 제어부와 버스로 연결되어 상기 제어부의 각종 연산 결과 중 무선 통신에 대응하는 연산 결과를 무선 통신을 통해 전송하거나, 또는 무선 통신을 통해 데이터를 수신하여 상기 제어부로 전달함과 동시에, 상기 무선 통신의 접속, 등록, 통신, 핸드오프의 절차를 유지한다.
또한, 상기 무선망 통신모듈은 CDMA/WCDMA 규격에 따라 이동 통신망에 접속, 위치등록, 호처리, 통화연결, 데이터통신, 핸드오프를 적어도 하나 수행하는 이동 통신 구성을 포함한다. 한편, 당업자의 의도에 따라 상기 무선망 통신모듈은 IEEE 802.16 규격에 따라 휴대인터넷에 접속, 위치등록, 데이터통신, 핸드오프를 적어도 하나 수행하는 휴대 인터넷 통신 구성을 더 포함할 수 있으며, 상기 무선망 통신모듈이 제공하는 무선 통신 구성에 의해 본 발명이 한정되지 아니함을 명백히 밝혀두는 바이다.
상기 근거리 무선 통신모듈은 일정 거리 이내에서 무선 주파수 신호를 통신매체로 이용하여 통신세션을 연결하는 근거리 무선 통신모듈로 구성되며, 바람직하게는 ISO 180000 시리즈 규격의 RFID 통신, 블루투스 통신, 와이파이 통신, 공중 무선 통신 중 적어도 하나를 포함할 수 있다. 또한, 상기 근거리 무선 통신모듈은 상기 무선망 통신모듈과 통합될 수 있다.
이와 같이 구성된 스마트폰은 무선 통신이 가능한 단말기를 의미하며, 스마트폰 이외에도 인터넷을 포함한 네트워크를 통하여 데이터의 송수신이 가능한 단말기라면 어떠한 장치라도 적용이 가능할 것이다. 즉, 상기 스마트폰은 단문 메시지 전송 기능과 네트워크 접속 기능을 가지는 노트북 PC, 태블릿 PC, 그 외에도 휴대 및 이동이 가능한 휴대 단말을 적어도 하나 이상을 포함할 수 있다.
그리고, 제1 챗봇 조정장치(400)는 편익 및/또는 비용 분석기반으로 복수의 주제별 챗봇들(100-1 내지 100-N)을 전반적으로 조정하는 장치로서, 특히 주제 및 의도분류기(300)로부터 판별된 해당 사용자의 주제와 의도를 이용하여 복수의 주제별 챗봇(100-1 내지 100-N)에게 해당 사용자의 질문과 주변 상황정보를 전달하는 기능을 수행한다.
또한, 제1 챗봇 조정장치(400)는 각 주제별 챗봇(100-1 내지 100-N)을 통해 해당 사용자의 요청에 대한 답변의 제공이 가능한지 여부를 확인함과 아울러 각 주제별 챗봇(100-1 내지 100-N)이 보고한 편익과 비용에 기 저장된 각 주제별 챗봇의 신뢰도를 조합하여 최종적으로 해당 사용자의 질문을 처리할 주제별 챗봇을 선정하는 기능을 수행한다.
삭제
그리고, 제2 챗봇 조정장치(500)는 편익 및/또는 비용 분석기반으로 복수의 후보 작업챗봇들(200-1 내지 200-N)을 전반적으로 조정하는 장치로서, 특히 제1 챗봇 조정장치(400)로부터 선정된 각 주제별 챗봇(100-1 내지 100-N)으로부터 작업의 종류와 함께 해당 사용자로부터 획득한 질문과 주변 상황정보를 제공받아 이를 복수의 후보 작업챗봇들(200-1 내지 200-N)로 전달하는 기능을 수행한다.
또한, 제2 챗봇 조정장치(500)는 해당 사용자의 의도와 주변 상황에 맞는 답변을 찾는 전체 작업을 세부작업으로 분할하여 각 세부작업별로 처리할 수 있는 비용과 편익을 계산하도록 각 후보 작업챗봇(200-1 내지 200-N)으로 요청하는 기능을 수행한다.
또한, 제2 챗봇 조정장치(500)는 각 후보 작업챗봇(200-1 내지 200-N)으로부터 계산된 비용과 편익 및 기 저장된 각 후보 작업챗봇들의 신뢰도를 고려하여 각 세부작업에 대한 최종 작업챗봇들을 결정하는 기능을 수행한다.
또한, 제2 챗봇 조정장치(500)는 상기 결정된 최종 작업챗봇들로 해당 사용자의 의도와 상항에 맞는 답변 작업의 해결을 위임하며, 각 세부작업에 대한 최종 작업챗봇들로부터 해당 사용자의 의도와 상황에 맞는 답변 작업의 세부작업의 결과정보를 취합하여 해당 사용자의 요청에 대한 응답을 완료하는 기능을 수행한다.
전술한 제2 챗봇 조정장치(500)는, 하기의 식 3에 의해 각 세부작업에 대한 최종 작업챗봇(j*)을 결정할 수 있다.
(식 3)
여기서, J는 모든 주제별 챗봇의 집합이고, Rj는 j(1 이상의 자연수)번째 챗봇의 신뢰도를 의미하며, Benefitj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇(100-1 내지 100-N) 및/또는 각 후보 작업챗봇(200-1 내지 200-N)에 의해 계산된 편익을 나타낸 것이며, Costj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇(100-1 내지 100-N) 및/또는 각 후보 작업챗봇(200-1 내지 200-N)에 의해 계산된 비용을 나타낸 것이다.
이때, 각 주제별 챗봇(100-1 내지 100-N) 및/또는 각 후보 작업챗봇(200-1 내지 200-N)은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 전술한 식 1에 의해 편익(Benefitj(t,i,s,c))을 계산함이 바람직하다.
또한, 각 주제별 챗봇(100-1 내지 100-N) 및/또는 각 후보 작업챗봇(200-1 내지 200-N)은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 전술한 식 2에 의해 비용(Costj(t,i,s,c))을 계산함이 바람직하다.
추가적으로, 주제별 챗봇 신뢰도 DB(600)는 제1 챗봇 조정장치(400)와 연동하여 사용자의 주제별 및/또는 의도별로 각 주제별 챗봇(100-1 내지 100-N)의 신뢰도를 데이터베이스(DB)화하여 저장하는 기능을 수행할 수 있다.
또한, 후보 작업챗봇 신뢰도 DB(650)는 제2 챗봇 조정장치(500)와 연동하여 사용자의 주제별 및/또는 의도별로 각 후보 작업챗봇(200-1 내지 200-N)의 신뢰도를 데이터베이스(DB)화하여 저장하는 기능을 수행할 수 있다.
사용자 프로파일 DB(700)는 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나와 연결되어 있으며, 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나의 제어에 따라 사용자의 나이, 성별, 거주지, 및 가족관계 정보의 프로파일을 데이터베이스(DB)화하여 저장하는 기능을 수행할 수 있다.
제1 사용자 행동패턴 DB(750)는 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나와 연결되어 있으며, 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나의 제어에 따라 사용자의 대화이력을 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 기능을 수행할 수 있다.
제2 사용자 행동패턴 DB(800)는 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나와 연결되어 있으며, 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나의 제어에 따라 사용자의 위치정보를 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 기능을 수행할 수 있다.
사용자 성향분석 DB(850)는 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나와 연결되어 있으며, 각 주제별 챗봇(100-1 내지 100-N), 각 후보 작업챗봇(200-1 내지 200-N), 주제 및 의도분류기(300), 제1 챗봇 조정장치(400), 및/또는 제2 챗봇 조정장치(500) 중 적어도 하나의 제어에 따라 사용자 프로파일 DB(700), 제1 사용자 행동패턴 DB(750), 및/또는 제2 사용자 행동패턴 DB(800)에 저장된 정보들을 기반으로 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석하여 그 결과를 데이터베이스(DB)화하여 저장하는 기능을 수행할 수 있다.
즉, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템은, 사용자 등록시의 정보획득 결과 및 장기간의 서비스 사용 결과로서 사용자의 개인 프로파일, 활동패턴, 대화이력 등을 저장할 수 있으며, 이들 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석결과를 저장할 수 있다.
이하에는 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법을 상세하게 설명하기로 한다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법을 설명하기 위한 전체적인 흐름도이다.
도 1 내지 도 5를 참조하면, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법은, 먼저, 주제 및 의도분류기(300)를 통해 외부로부터 제공받은 사용자의 질문과 주변 상황정보를 고려하여 해당 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별한다(S100).
이때, 상기 단계S100에서, 상기 사용자의 주변 상황정보는 해당 사용자의 위치를 기반으로 날씨 및/또는 동적인 행동 상황정보 등으로 이루어짐이 바람직하다.
또한, 상기 사용자의 주변 상황정보는 적어도 하나의 이동통신 단말(10) 및/또는 웨어러블 디바이스(미도시)로부터 획득된 해당 사용자의 위치와 동적인 활동정보 등을 포함할 수 있다.
이후에, 제1 챗봇 조정장치(400)를 통해 상기 단계S100에서 판별된 해당 사용자의 주제와 의도를 이용하여 복수의 주제별 챗봇(100-1 내지 100-N)에게 해당 사용자의 질문과 주변 상황정보를 전달한다(S200).
그런 다음, 제1 챗봇 조정장치(400)를 통해 각 주제별 챗봇(100-1 내지 100-N)을 이용하여 해당 사용자의 요청에 대한 답변의 제공이 가능한지 여부를 확인함과 아울러 각 주제별 챗봇(100-1 내지 100-N)이 보고한 편익과 비용에 기 저장된 각 주제별 챗봇(100-1 내지 100-N)의 신뢰도를 조합하여 최종적으로 해당 사용자의 질문을 처리할 주제별 챗봇(100-1 내지 100-N)을 선정한다(S300).
이때, 상기 단계S300에서, 각 주제별 챗봇(100-1 내지 100-N)이 단독으로 사용자의 요청에 답변할 수 있는 경우에는 상기 단계S100 내지 단계S300의 절차로서 선정된 각 주제별 챗봇(100-1 내지 100-N)을 통해 해당 사용자의 요청에 대한 응대가 완료됨이 바람직하다.
그리고, 상기 단계S300에서, 각 주제별 챗봇(100-1 내지 100-N)은 해당 사용자의 요청에 대한 답변을 제공하는데 따르는 편익과 비용은 전술한 식 1 및 식 2에 의해 계산함이 바람직하다.
한편, 도면에 도시되진 않았지만, 상기 단계S300 이전에, 사용자의 주제별 및/또는 의도별로 각 주제별 챗봇(100-1 내지 100-N)의 신뢰도를 주제별 챗봇 신뢰도 DB(600)에 데이터베이스(DB)화하여 저장하는 단계를 더 포함할 수 있다.
그렇지 않고, 단일 챗봇만으로는 답변이 어려운 사용자의 요청이 존재하는데 복수의 정보제공자 즉, 복수의 후보 작업챗봇들(200-1 내지 200-N)로부터 얻은 정보를 취합해서 답변을 제공해야 하는 요청의 경우가 이에 해당한다.
예를 들어, 여행 일정을 계획해달라는 사용자의 요청에 대한 답변을 수행하기 위해서는 여행지의 날씨, 교통편, 관광지정보, 여행지 주변 식당, 문화시설 등의 정보를 종합적으로 고려하여 답변을 제공해야 하기 때문에 각각 날씨 정보 제공 챗봇, 교통 정보 제공 챗봇, 식당정보 제공 챗봇, 문화관광지 제공 챗봇, 놀이공원/테마파크 제공 챗봇 등과 연계하여 정보를 획득하여야 한다.
즉, 각 주제별 챗봇(100-1 내지 100-N)이 단독으로 사용자의 요청을 처리할 수 없을 때 사용자의 요청을 구성하는 세부내용을 세부작업으로 분할하여 각각의 세부작업을 처리할 수 있는 후보 작업챗봇들(200-1 내지 200-N)을 선정한다.
이를 위해 작업을 처리할 후보 작업챗봇들(200-1 내지 200-N)에게 작업의 종류와 사용자로부터 획득한 정보를 전달하고 필요한 작업을 완료하기 위한 비용과 편익을 계산하도록 요청한다. 이후 계산된 비용과 편익 그리고 각 후보 작업챗봇(200-1 내지 200-N)의 신뢰도를 고려하여 각 세부작업에 대한 최적의 작업챗봇을 결정하고 작업의 해결을 위임한다. 세부작업이 모두 완료되면 작업의 결과를 취합하여 사용자의 요청에 대한 응답을 완료한다.
이를 좀더 구체적으로 설명하면, 제2 챗봇 조정장치(500)를 통해 상기 단계S300에서 선정된 각 주제별 챗봇(100-1 내지 100-N)으로부터 작업의 종류와 함께 해당 사용자로부터 획득한 질문과 주변 상황정보를 복수의 후보 작업챗봇들(200-1 내지 200-N)로 전달한다(S400).
이후에, 제2 챗봇 조정장치(500)를 통해 해당 사용자의 의도와 주변 상황에 맞는 답변을 찾는 전체 작업을 세부작업으로 분할하여 각 세부작업별로 처리할 수 있는 비용과 편익을 계산하도록 각 후보 작업챗봇(200-1 내지 200-N)으로 요청한다(S500).
이때, 상기 단계S500에서, 각 후보 작업챗봇(200-1 내지 200-N)은 각 세부작업별로 처리할 수 있는 편익과 비용은 전술한 식 1 및 식 2에 의해 계산함이 바람직하다.
그런 다음, 제2 챗봇 조정장치(500)를 통해 상기 단계S500에서 요청된 각 후보 작업챗봇(200-1 내지 200-N)으로부터 계산된 비용과 편익 및 기 저장된 각 후보 작업챗봇들의 신뢰도를 고려하여 각 세부작업에 대한 최종 작업챗봇들을 결정한다(S600).
이때, 상기 단계S600에서, 제2 챗봇 조정장치(500)는 전술한 식 3에 의해 각 세부작업에 대한 최종 작업챗봇들을 결정할 수 있다.
한편, 도면에 도시되진 않았지만, 상기 단계S600 이전에, 사용자의 주제별 및/또는 의도별로 각 후보 작업챗봇의 신뢰도를 후보 작업챗봇 신뢰도 DB(650)에 데이터베이스(DB)화하여 저장하는 단계를 더 포함할 수 있다.
다음으로, 제2 챗봇 조정장치(500)를 통해 상기 단계S600에서 결정된 최종 작업챗봇들로 해당 사용자의 의도와 상항에 맞는 답변 작업의 해결을 위임한다(S700).
이후에, 제2 챗봇 조정장치(500)를 통해 상기 단계S700에서 위임된 각 세부작업에 대한 최종 작업챗봇들로부터 전송된 해당 사용자의 의도와 상황에 맞는 답변 작업의 세부작업의 결과정보를 취합하여 해당 사용자의 요청에 대한 응답을 완료한다(S800).
한편, 도면에 도시되진 않았지만, 상기 단계S800 이후에, 사용자의 나이, 성별, 거주지, 및 가족관계 정보의 프로파일을 사용자 프로파일 DB(700)에 데이터베이스(DB)화하여 저장하는 제1 단계와, 사용자의 대화이력을 기반으로 사용자의 행동패턴을 제1 사용자 행동패턴 DB(750)에 데이터베이스(DB)화하여 저장하는 제2 단계와, 사용자의 위치정보를 기반으로 사용자의 행동패턴을 제2 사용자 행동패턴 DB(800)에 데이터베이스(DB)화하여 저장하는 제3 단계를 더 포함할 수 있다.
또한, 상기 제1 단계 내지 제3 단계에서 저장된 정보들을 기반으로 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석하여 그 결과를 사용자 성향분석 DB(850)에 데이터베이스(DB)화하여 저장하는 제4 단계를 더 포함할 수도 있다.
한편, 본 발명의 일 실시예에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100-1 내지 100-N : 주제별 챗봇,
200-1 내지 200-N : 후보 작업챗봇,
300 : 주제 및 의도분류기,
400 : 제1 챗봇 조정장치,
500 : 제2 챗봇 조정장치,
600 : 주제별 챗봇 신뢰도 DB,
650 : 후보 작업챗봇 신뢰도 DB,
700 : 사용자 프로파일 DB,
750 : 제1 사용자 행동패턴 DB,
800 : 제2 사용자 행동패턴 DB,
850 : 사용자 성향분석 DB
200-1 내지 200-N : 후보 작업챗봇,
300 : 주제 및 의도분류기,
400 : 제1 챗봇 조정장치,
500 : 제2 챗봇 조정장치,
600 : 주제별 챗봇 신뢰도 DB,
650 : 후보 작업챗봇 신뢰도 DB,
700 : 사용자 프로파일 DB,
750 : 제1 사용자 행동패턴 DB,
800 : 제2 사용자 행동패턴 DB,
850 : 사용자 성향분석 DB
Claims (25)
- 외부로부터 사용자의 질문과 주변 상황정보를 제공받아 이를 고려하여 해당 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별하는 주제 및 의도분류기;
상기 주제 및 의도분류기로부터 판별된 해당 사용자의 주제와 의도를 이용하여 복수의 주제별 챗봇에게 해당 사용자의 질문과 주변 상황정보를 전달하고, 각 주제별 챗봇을 통해 해당 사용자의 요청에 대한 답변의 제공이 가능한지 여부를 확인함과 아울러 각 주제별 챗봇이 보고한 편익과 비용에 기 저장된 각 주제별 챗봇의 신뢰도를 조합하여 최종적으로 해당 사용자의 질문을 처리할 주제별 챗봇을 선정하는 제1 챗봇 조정장치; 및
상기 제1 챗봇 조정장치로부터 선정된 각 주제별 챗봇으로부터 작업의 종류와 함께 해당 사용자로부터 획득한 질문과 주변 상황정보를 제공받아 이를 복수의 후보 작업챗봇들로 전달하고, 해당 사용자의 의도와 주변 상황에 맞는 답변을 찾는 전체 작업을 세부작업으로 분할하여 각 세부작업별로 처리할 수 있는 비용과 편익을 계산하도록 각 후보 작업챗봇으로 요청하며, 각 후보 작업챗봇으로부터 계산된 비용과 편익 및 기 저장된 각 후보 작업챗봇들의 신뢰도를 고려하여 각 세부작업에 대한 최종 작업챗봇들을 결정하며, 상기 결정된 최종 작업챗봇들로 해당 사용자의 의도와 상항에 맞는 답변 작업의 해결을 위임하며, 각 세부작업에 대한 최종 작업챗봇들로부터 해당 사용자의 의도와 상황에 맞는 답변 작업의 세부작업의 결과정보를 취합하여 해당 사용자의 요청에 대한 응답을 완료하는 제2 챗봇 조정장치를 포함하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제1 항에 있어서,
상기 사용자의 주변 상황정보는, 해당 사용자의 위치를 기반으로 날씨 및 동적인 행동 상황정보로 이루어진 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제1 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은,
텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 자연어 질의 의도와 주제를 분석함과 아울러 자연어 개체추출을 통해 해당 사용자의 질문에 포함된 답변에 필요한 추가정보를 분석하는 작업 이해모듈;
상기 작업 이해모듈로부터 분석된 자연어 질의 의도와 주제 및 자연어 개체추출 결과정보를 이용하여 해당 사용자의 질문에 대한 답변의 제공이 가능한지 여부를 판별하는 작업 해석모듈; 및
해당 사용자와 대화를 통해 추가적으로 필요한 답변 정보를 획득하거나 다른 챗봇간의 연계서비스 통신을 이용해서 추가적으로 필요한 답변 정보를 획득하고, 획득된 필요한 답변 정보들을 조합하여 해당 사용자의 질문에 대한 최종 답변을 선택하고 해당 사용자의 요청에 대한 응답정보를 생성하는 작업 해결모듈을 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제3 항에 있어서,
상기 작업 이해모듈은,
텍스트로 표현된 해당 사용자의 질문으로부터 자연어 질의 의도와 주제를 분석하는 자연어 질의 의도/주제 이해부;
텍스트로 표현된 해당 사용자의 주변 상황정보로부터 해당 사용자의 주변 상황을 분석하는 사용자 주변상황 이해부;
텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 자연어 개체를 추출하는 자연어 개체 추출부; 및
텍스트로 표현된 해당 사용자의 질문과 주변 상황정보로부터 해당 사용자의 질문에 포함된 답변에 필요한 추가정보 분석을 위한 해당 사용자와의 대화 맥락을 분석하는 사용자 대화 맥락 이해부를 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제3 항에 있어서,
상기 작업 해석모듈은, 단독으로 해결할 수 있는 작업의 경우 비용 및 편익을 계산하여 결과값을 반환하고 선택 결과를 기다리는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제3 항에 있어서,
상기 작업 해석모듈은, 단독으로 해결할 수 없는 작업의 경우 작업 해석 및 분할부에서 전체 작업을 세부작업들로 분할하고, 각 세부작업의 처리가 가능한지 여부를 다른 챗봇에게 요청하고 각 세부작업을 처리했을 때의 비용과 편익을 계산하고, 각 세부작업별로 가장 비용/편익이 유리한 챗봇을 사용했을 때의 총 비용과 편익을 계산한 후에 요청한 해당 챗봇에게 할당된 전체 작업의 비용과 편익을 반환하고 선택 결과를 기다리는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제1 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 1에 의해 편익(Benefitj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
(식 1)
여기서, topicj(t)는 j(1 이상의 자연수)번째 챗봇이 이해가능한 주제 중에 특정의 주제(t)가 포함되는지 여부(특정의 주제(t)가 포함이면'1'반환, 특정의 주제(t)가 미포함이면'0'반환)를 나타내고, intentj(i)는 j번째 챗봇이 이해가능한 의도 중에 특정의 의도(i)가 포함되는지 여부(특정의 의도(i)가 포함이면'1'반환, 특정의 의도(i)가 미포함이면'0'반환)를 나타내며, slotj(s,c)은 해당 사용자의 질문(s)과 주변 상황정보(c) 중에서 답변에 사용할 정보의 개수를 나타낸다.
- 제1 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 2에 의해 비용(Costj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
(식 2)
여기서, agent_interactionj(s,c)는 j(1 이상의 자연수)번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 몇 개의 다른 챗봇과 통신해야 하는지에 대한 통신 개수를 나타내고, human_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 해당 사용자에게 몇 번의 반복질문을 해야 하는지에 대한 반복질문 개수를 나타내며, wa는 상기 통신 개수에 대한 가중치를 나타내며, wh는 상기 반복질문 개수에 대한 가중치를 나타낸다.
- 제1 항에 있어서,
상기 제2 챗봇 조정장치는, 하기의 식 3에 의해 각 세부작업에 대한 최종 작업챗봇(j*)을 결정하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
(식 3)
여기서, J는 모든 주제별 챗봇의 집합이고, Rj는 j(1 이상의 자연수)번째 챗봇의 신뢰도를 의미하며, Benefitj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇 또는 각 후보 작업챗봇에 의해 계산된 편익을 나타낸 것이며, Costj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇 또는 각 후보 작업챗봇에 의해 계산된 비용을 나타낸 것이다.
- 제9 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 4에 의해 편익(Benefitj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
(식 4)
여기서, topicj(t)는 j번째 챗봇이 이해가능한 주제 중에 특정의 주제(t)가 포함되는지 여부(특정의 주제(t)가 포함이면'1'반환, 특정의 주제(t)가 미포함이면'0'반환)를 나타내고, intentj(i)는 j번째 챗봇이 이해가능한 의도 중에 특정의 의도(i)가 포함되는지 여부(특정의 의도(i)가 포함이면'1'반환, 특정의 의도(i)가 미포함이면'0'반환)를 나타내며, slotj(s,c)은 해당 사용자의 질문(s)과 주변 상황정보(c) 중에서 답변에 사용할 정보의 개수를 나타낸다.
- 제9 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 5에 의해 비용(Costj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
(식 5)
여기서, agent_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 몇 개의 다른 챗봇과 통신해야 하는지에 대한 통신 개수를 나타내고, human_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 해당 사용자에게 몇 번의 반복질문을 해야 하는지에 대한 반복질문 개수를 나타내며, wa는 상기 통신 개수에 대한 가중치를 나타내며, wh는 상기 반복질문 개수에 대한 가중치를 나타낸다.
- 제1 항에 있어서,
사용자의 주제별 또는 의도별로 각 주제별 챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 주제별 챗봇 신뢰도 DB;
사용자의 주제별 또는 의도별로 각 후보 작업챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 후보 작업챗봇 신뢰도 DB;
사용자의 나이, 성별, 거주지, 및 가족관계 정보의 프로파일을 데이터베이스(DB)화하여 저장하는 사용자 프로파일 DB;
사용자의 대화이력을 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제1 사용자 행동패턴 DB; 및
사용자의 위치정보를 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제2 사용자 행동패턴 DB를 더 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제12 항에 있어서,
상기 사용자 프로파일 DB, 상기 제1 사용자 행동패턴 DB, 및 상기 제2 사용자 행동패턴 DB에 저장된 정보들을 기반으로 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석하여 그 결과를 데이터베이스(DB)화하여 저장하는 사용자 성향분석 DB를 더 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 제1 항에 있어서,
상기 사용자의 주변 상황정보는, 적어도 하나의 이동통신 단말 또는 웨어러블 디바이스로부터 획득된 해당 사용자의 위치와 동적인 활동정보를 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 시스템.
- 주제 및 의도분류기, 제1 및 제2 챗봇 조정장치를 포함한 시스템을 이용하여 복수 챗봇의 협업에 의한 대화형 정보를 제공하는 방법으로서,
(a) 상기 주제 및 의도분류기를 통해 외부로부터 제공받은 사용자의 질문과 주변 상황정보를 고려하여 해당 사용자의 요청이 어떤 주제인지와 구체적인 의도를 판별하는 단계;
(b) 상기 제1 챗봇 조정장치를 통해 상기 단계(a)에서 판별된 해당 사용자의 주제와 의도를 이용하여 복수의 주제별 챗봇에게 해당 사용자의 질문과 주변 상황정보를 전달하는 단계;
(c) 상기 제1 챗봇 조정장치를 통해 각 주제별 챗봇을 이용하여 해당 사용자의 요청에 대한 답변의 제공이 가능한지 여부를 확인함과 아울러 각 주제별 챗봇이 보고한 편익과 비용에 기 저장된 각 주제별 챗봇의 신뢰도를 조합하여 최종적으로 해당 사용자의 질문을 처리할 주제별 챗봇을 선정하는 단계;
(d) 상기 제2 챗봇 조정장치를 통해 상기 단계(c)에서 선정된 각 주제별 챗봇으로부터 작업의 종류와 함께 해당 사용자로부터 획득한 질문과 주변 상황정보를 복수의 후보 작업챗봇들로 전달하는 단계;
(e) 상기 제2 챗봇 조정장치를 통해 해당 사용자의 의도와 주변 상황에 맞는 답변을 찾는 전체 작업을 세부작업으로 분할하여 각 세부작업별로 처리할 수 있는 비용과 편익을 계산하도록 각 후보 작업챗봇으로 요청하는 단계;
(f) 상기 제2 챗봇 조정장치를 통해 상기 단계(e)에서 요청된 각 후보 작업챗봇으로부터 계산된 비용과 편익 및 기 저장된 각 후보 작업챗봇들의 신뢰도를 고려하여 각 세부작업에 대한 최종 작업챗봇들을 결정하는 단계;
(g) 상기 제2 챗봇 조정장치를 통해 상기 단계(f)에서 결정된 최종 작업챗봇들로 해당 사용자의 의도와 상항에 맞는 답변 작업의 해결을 위임하는 단계; 및
(h) 상기 제2 챗봇 조정장치를 통해 상기 단계(g)에서 위임된 각 세부작업에 대한 최종 작업챗봇들로부터 전송된 해당 사용자의 의도와 상황에 맞는 답변 작업의 세부작업의 결과정보를 취합하여 해당 사용자의 요청에 대한 응답을 완료하는 단계를 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
- 제15 항에 있어서,
상기 단계(a)에서, 상기 사용자의 주변 상황정보는 해당 사용자의 위치를 기반으로 날씨 및 동적인 행동 상황정보로 이루어진 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
- 제15 항에 있어서,
상기 단계(c) 또는 상기 단계(f)에서, 각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 6에 의해 편익(Benefitj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
(식 6)
여기서, topicj(t)는 j(1 이상의 자연수)번째 챗봇이 이해가능한 주제 중에 특정의 주제(t)가 포함되는지 여부(특정의 주제(t)가 포함이면'1'반환, 특정의 주제(t)가 미포함이면'0'반환)를 나타내고, intentj(i)는 j번째 챗봇이 이해가능한 의도 중에 특정의 의도(i)가 포함되는지 여부(특정의 의도(i)가 포함이면'1'반환, 특정의 의도(i)가 미포함이면'0'반환)를 나타내며, slotj(s,c)은 해당 사용자의 질문(s)과 주변 상황정보(c) 중에서 답변에 사용할 정보의 개수를 나타낸다.
- 제15 항에 있어서,
상기 단계(c) 또는 상기 단계(f)에서, 각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 7에 의해 비용(Costj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
(식 7)
여기서, agent_interactionj(s,c)는 j(1 이상의 자연수)번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 몇 개의 다른 챗봇과 통신해야 하는지에 대한 통신 개수를 나타내고, human_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 해당 사용자에게 몇 번의 반복질문을 해야 하는지에 대한 반복질문 개수를 나타내며, wa는 상기 통신 개수에 대한 가중치를 나타내며, wh는 상기 반복질문 개수에 대한 가중치를 나타낸다.
- 제15 항에 있어서,
상기 단계(f)에서, 상기 제2 챗봇 조정장치는, 하기의 식 8에 의해 각 세부작업에 대한 최종 작업챗봇(j*)을 결정하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
(식 8)
여기서, J는 모든 주제별 챗봇의 집합이고, Rj는 j(1 이상의 자연수)번째 챗봇의 신뢰도를 의미하며, Benefitj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇 또는 각 후보 작업챗봇에 의해 계산된 편익을 나타낸 것이며, Costj(t,i,s,c)는 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대한 각 주제별 챗봇 또는 각 후보 작업챗봇에 의해 계산된 비용을 나타낸 것이다.
- 제19 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 9에 의해 편익(Benefitj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
(식 9)
여기서, topicj(t)는 j번째 챗봇이 이해가능한 주제 중에 특정의 주제(t)가 포함되는지 여부(특정의 주제(t)가 포함이면'1'반환, 특정의 주제(t)가 미포함이면'0'반환)를 나타내고, intentj(i)는 j번째 챗봇이 이해가능한 의도 중에 특정의 의도(i)가 포함되는지 여부(특정의 의도(i)가 포함이면'1'반환, 특정의 의도(i)가 미포함이면'0'반환)를 나타내며, slotj(s,c)은 해당 사용자의 질문(s)과 주변 상황정보(c) 중에서 답변에 사용할 정보의 개수를 나타낸다.
- 제19 항에 있어서,
각 주제별 챗봇 또는 각 후보 작업챗봇은, 해당 사용자의 질문(s)과 주변 상황정보(c)를 기반으로 결정된 특정의 주제(t)와 의도(i)에 대하여 하기의 식 10에 의해 비용(Costj(t,i,s,c))을 계산하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
(식 10)
여기서, agent_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 몇 개의 다른 챗봇과 통신해야 하는지에 대한 통신 개수를 나타내고, human_interactionj(s,c)는 j번째 챗봇이 해당 사용자의 질문(s)과 주변 상황정보(c)에 대한 답변을 제공하기 위해 해당 사용자에게 몇 번의 반복질문을 해야 하는지에 대한 반복질문 개수를 나타내며, wa는 상기 통신 개수에 대한 가중치를 나타내며, wh는 상기 반복질문 개수에 대한 가중치를 나타낸다.
- 제15 항에 있어서,
상기 단계(c) 이전에, 사용자의 주제별 또는 의도별로 각 주제별 챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 단계를 더 포함하고,
상기 단계(f) 이전에, 사용자의 주제별 또는 의도별로 각 후보 작업챗봇의 신뢰도를 데이터베이스(DB)화하여 저장하는 단계를 더 포함하며,
상기 단계(h) 이후에, 사용자의 나이, 성별, 거주지, 및 가족관계 정보의 프로파일을 데이터베이스(DB)화하여 저장하는 제1 단계와, 사용자의 대화이력을 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제2 단계와, 사용자의 위치정보를 기반으로 사용자의 행동패턴을 데이터베이스(DB)화하여 저장하는 제3 단계를 더 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
- 제22 항에 있어서,
상기 제1 단계 내지 제3 단계에서 저장된 정보들을 기반으로 정보의 군집분석을 통해 사용자가 어떤 성향을 갖는지 분석하여 그 결과를 데이터베이스(DB)화하여 저장하는 제4 단계를 더 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
- 제15 항에 있어서,
상기 단계(a)에서, 상기 사용자의 주변 상황정보는 적어도 하나의 이동통신 단말 또는 웨어러블 디바이스로부터 획득된 해당 사용자의 위치와 동적인 활동정보를 포함하는 것을 특징으로 하는 복수 챗봇의 협업에 의한 대화형 정보제공 방법.
- 제15 항 내지 제24 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180149090A KR102119404B1 (ko) | 2018-11-28 | 2018-11-28 | 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 |
PCT/KR2019/014385 WO2020111532A1 (ko) | 2018-11-28 | 2019-10-30 | 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180149090A KR102119404B1 (ko) | 2018-11-28 | 2018-11-28 | 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102119404B1 true KR102119404B1 (ko) | 2020-06-05 |
Family
ID=70854069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180149090A KR102119404B1 (ko) | 2018-11-28 | 2018-11-28 | 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102119404B1 (ko) |
WO (1) | WO2020111532A1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102274335B1 (ko) * | 2020-11-16 | 2021-07-07 | 한화생명보험(주) | 복수의 상담원을 통한 채팅기반 고객 프로파일 생성 방법 및 장치 |
KR20220085221A (ko) * | 2020-12-15 | 2022-06-22 | 주식회사 와이즈넛 | 스크립트를 이용한 챗봇의 대화흐름 관리 방법 |
KR20220121299A (ko) * | 2021-02-24 | 2022-09-01 | 주식회사 지인슈 | 고객맞춤형 멀티 플랫폼 기반 채팅 에이전트단말을 이용한 보험상담 서비스 제공 시스템 |
KR102490519B1 (ko) | 2022-07-21 | 2023-01-19 | 주식회사 라피치 | 발신자의 텍스트데이터에 대응하여 암호화를 하는 개인정보 보호 기능을 가지는 자동응답 시스템 및 방법 |
US11782910B2 (en) | 2019-11-15 | 2023-10-10 | Samsung Electronics Co., Ltd. | System and method for dynamic inference collaboration |
KR102630697B1 (ko) * | 2022-11-04 | 2024-01-29 | 박춘우 | 딥러닝을 이용한 챗봇간 대화 기술기반의 정보공유 플랫폼 서비스 시스템 및 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11562329B1 (en) | 2022-03-09 | 2023-01-24 | My Job Matcher, Inc. | Apparatus and methods for screening users |
CN117556087B (zh) * | 2023-10-30 | 2024-04-26 | 广州圈量网络信息科技有限公司 | 一种客服回复数据处理方法、装置、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110066357A (ko) * | 2009-12-11 | 2011-06-17 | 삼성전자주식회사 | 대화 시스템 및 그의 대화 방법 |
KR20120061133A (ko) * | 2010-10-25 | 2012-06-13 | 한국전자통신연구원 | 질문 형태 및 도메인 인식 장치 및 그 방법 |
KR101647949B1 (ko) * | 2015-07-29 | 2016-08-12 | 주식회사 텍스트팩토리 | 문자 메시지를 이용한 개인 비서 서비스에서의 업무 분배 방법 |
KR101830857B1 (ko) | 2017-07-14 | 2018-02-21 | 코웨이 주식회사 | 사용자의 생체 데이터 및 수면환경 데이터를 수집하여 챗봇을 통해 설문을 간소화하는 방법 및 이를 이용한 챗봇 제공 장치 |
KR101840420B1 (ko) | 2017-04-21 | 2018-05-04 | 주식회사 닐리리아 | 챗봇 플랫폼 제공 방법 및 장치 |
KR20180088192A (ko) * | 2017-01-26 | 2018-08-03 | 주식회사 솔트룩스 | 자동 질의응답 시스템 |
-
2018
- 2018-11-28 KR KR1020180149090A patent/KR102119404B1/ko active IP Right Grant
-
2019
- 2019-10-30 WO PCT/KR2019/014385 patent/WO2020111532A1/ko active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110066357A (ko) * | 2009-12-11 | 2011-06-17 | 삼성전자주식회사 | 대화 시스템 및 그의 대화 방법 |
KR20120061133A (ko) * | 2010-10-25 | 2012-06-13 | 한국전자통신연구원 | 질문 형태 및 도메인 인식 장치 및 그 방법 |
KR101647949B1 (ko) * | 2015-07-29 | 2016-08-12 | 주식회사 텍스트팩토리 | 문자 메시지를 이용한 개인 비서 서비스에서의 업무 분배 방법 |
KR20180088192A (ko) * | 2017-01-26 | 2018-08-03 | 주식회사 솔트룩스 | 자동 질의응답 시스템 |
KR101840420B1 (ko) | 2017-04-21 | 2018-05-04 | 주식회사 닐리리아 | 챗봇 플랫폼 제공 방법 및 장치 |
KR101830857B1 (ko) | 2017-07-14 | 2018-02-21 | 코웨이 주식회사 | 사용자의 생체 데이터 및 수면환경 데이터를 수집하여 챗봇을 통해 설문을 간소화하는 방법 및 이를 이용한 챗봇 제공 장치 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11782910B2 (en) | 2019-11-15 | 2023-10-10 | Samsung Electronics Co., Ltd. | System and method for dynamic inference collaboration |
KR102274335B1 (ko) * | 2020-11-16 | 2021-07-07 | 한화생명보험(주) | 복수의 상담원을 통한 채팅기반 고객 프로파일 생성 방법 및 장치 |
WO2022103068A1 (ko) * | 2020-11-16 | 2022-05-19 | 주식회사 엔터프라이즈블록체인 | 복수의 상담원을 통한 채팅기반 고객 프로파일 생성 방법 및 장치 |
KR20220085221A (ko) * | 2020-12-15 | 2022-06-22 | 주식회사 와이즈넛 | 스크립트를 이용한 챗봇의 대화흐름 관리 방법 |
KR102472887B1 (ko) | 2020-12-15 | 2022-12-01 | 주식회사 와이즈넛 | 스크립트를 이용한 챗봇의 대화흐름 관리 방법 |
KR20220121299A (ko) * | 2021-02-24 | 2022-09-01 | 주식회사 지인슈 | 고객맞춤형 멀티 플랫폼 기반 채팅 에이전트단말을 이용한 보험상담 서비스 제공 시스템 |
KR102656326B1 (ko) * | 2021-02-24 | 2024-04-11 | 주식회사 지앤파트너 | 고객맞춤형 멀티 플랫폼 기반 채팅 에이전트단말을 이용한 보험상담 서비스 제공 시스템 |
KR102490519B1 (ko) | 2022-07-21 | 2023-01-19 | 주식회사 라피치 | 발신자의 텍스트데이터에 대응하여 암호화를 하는 개인정보 보호 기능을 가지는 자동응답 시스템 및 방법 |
KR102630697B1 (ko) * | 2022-11-04 | 2024-01-29 | 박춘우 | 딥러닝을 이용한 챗봇간 대화 기술기반의 정보공유 플랫폼 서비스 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2020111532A1 (ko) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102119404B1 (ko) | 복수 챗봇의 협업에 의한 대화형 정보제공 시스템 및 그 방법 | |
US11823677B2 (en) | Interaction with a portion of a content item through a virtual assistant | |
JP6834054B2 (ja) | デバイス間ハンドオフ | |
CN111788621B (zh) | 移情式个人虚拟数字助理 | |
CN108351890B (zh) | 电子装置及其操作方法 | |
TWI683272B (zh) | 資訊獲取方法、提供方法、裝置及系統、儲存介質 | |
CN110637464B (zh) | 确定用于执行动作的代理的方法、计算设备和存储介质 | |
US20170277993A1 (en) | Virtual assistant escalation | |
CN1574873B (zh) | 移动信息服务 | |
CN104065837A (zh) | 提供状态信息的方法和装置 | |
KR20190117837A (ko) | 사용자 입력에 대한 답변 메시지를 제공하는 디바이스 및 방법 | |
KR101998833B1 (ko) | 멘토링 시스템 | |
CN115917512A (zh) | 人工智能请求和建议卡 | |
KR20190009201A (ko) | 이동 단말기 및 그 제어 방법 | |
Kbar et al. | Utilizing sensors networks to develop a smart and context-aware solution for people with disabilities at the workplace (design and implementation) | |
CN107368998A (zh) | 日程管理方法及相关产品 | |
WO2021014937A1 (ja) | コミュニケーション支援装置、コミュニケーション支援方法およびプログラム | |
CN113724036A (zh) | 提供问题咨询服务的方法及电子设备 | |
CN111835866A (zh) | 一种数据搜索方法、装置、系统、介质和物联网终端 | |
JP7114307B2 (ja) | 情報処理装置 | |
CN112106099B (zh) | 具备对话功能的聊天系统及提供聊天服务的方法 | |
US20220201426A1 (en) | Assisted micro-environment interaction | |
KR20170019948A (ko) | 커플 매칭 서비스를 제공하는 장치, 그 단말기 및 커플 매칭 서비스 제공 방법 | |
KR102248081B1 (ko) | 아바타 로봇을 이용한 비대면 범용원격플랫폼 제공 시스템 | |
CN114726818A (zh) | 网络社交方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |