KR20220050678A - 다중 검색 방식을 이용한 의료 챗봇 시스템 - Google Patents
다중 검색 방식을 이용한 의료 챗봇 시스템 Download PDFInfo
- Publication number
- KR20220050678A KR20220050678A KR1020200134630A KR20200134630A KR20220050678A KR 20220050678 A KR20220050678 A KR 20220050678A KR 1020200134630 A KR1020200134630 A KR 1020200134630A KR 20200134630 A KR20200134630 A KR 20200134630A KR 20220050678 A KR20220050678 A KR 20220050678A
- Authority
- KR
- South Korea
- Prior art keywords
- question
- data
- medical
- user
- model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 239000013598 vector Substances 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 abstract description 16
- 238000004891 communication Methods 0.000 description 31
- 238000013528 artificial neural network Methods 0.000 description 15
- 238000003062 neural network model Methods 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000013136 deep learning model Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 208000025721 COVID-19 Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/20—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H80/00—ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- Biomedical Technology (AREA)
- Pathology (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
본 명세서는 챗봇(Chatbot) 구동 장치가 다중 검색 방식을 이용하여, 사용자에게 챗봇 서비스를 제공하는 방법에 있어서, 데이터 베이스에 질문 데이터 및 응답 데이터를 설정하는 단계; 상기 질문 데이터를 1) 덴스 벡터(dense vector), 및 2) 스파스 벡터(sparse vector)를 이용하여, 임베딩(embedding)하는 단계; 상기 사용자로부터 질문을 입력받는 단계; Dense-embedding based Retrieval (DR) 모델을 통해, 상기 질문의 덴스 벡터에 근거하여, 상기 데이터 베이스에서 상기 질문의 후보 그룹을 선택하는 단계; 및 Sparse-embedding based Retrieval (SR) 모델을 통해, 상기 질문의 스파스 벡터에 근거하여, 상기 후보 그룹의 멤버 중에서 가장 유사도가 높은 멤버를 선택하는 단계; 를 포함할 수 있다.
Description
본 명세서는 의료 챗봇 시스템 및 이를 구동하는 방법에 관한 것으로, 더욱 자세하게는 대화형 다중 검색 방식을 이용한 의료 챗봇 시스템 및 이를 구동하는 방법에 관한 것이다.
최근 COVID-19 상황이 인간 대 인간 접촉에 심각한 제약을 가하면서 온라인 의료 서비스에 대한 필요성이 급격히 증가하고 있다. 온라인 의료 서비스는 거리와 시간의 제한없이 환자를 지원할 수 있다.
특히, 챗봇은 접근이 용이한 가장 인기 있는 온라인 건강 관리 시스템 중 하나이며, 챗봇은 병원과 가정의 물리적 한계를 극복하여 환자가 언제 어디서나 의료 서비스를 받을 수 있도록 지원한다.
이러한, 챗봇은 내부 지식 처리 방식에 따라 크게 규칙기반 방식과 학습기반 방식으로 구분된다. 규칙기반 방식은 개발자가 규칙을 생성하기 때문에 높은 적은 데이터로 높은 정확도를 가지고 있다. 그러나, 규칙을 생성하고 대화 알고리즘을 구성하는 데에 많은 수작업이 필요하며, 기존에 정의되지 않은 발화에 대한 예외 처리에 취약하다. 반면, 학습기반 방식의 대화 시스템은 머신러닝, 딥러닝을 이용하여 데이터로부터 대화 특징을 학습하는 방식이기 때문에 기존에 학습되지 않은 단어 등을 문맥 정보를 활용해 처리할 수 있다. 하지만, 규칙기반 방식보다 낮은 정확도가 많은 데이터가 필요하다는 단점이 있다.
본 명세서의 목적은 다중 검색 방식을 이용한 의료 챗봇 시스템 및 이를 구동하는 방법을 제공하기 위한 것이다.
또한, 본 명세서의 목적은 의료 데이터의 추가 학습 과정이 요구되지 않는 다중 검색 방식을 이용한 의료 챗봇 시스템 및 이를 구동하는 방법을 제공하기 위한 것이다.
본 명세서에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 명세서의 실시예들로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
본 명세서의 일 실시예에 따르면, 챗봇(Chatbot) 구동 장치가 다중 검색 방식을 이용하여, 사용자에게 챗봇 서비스를 제공하는 방법에 있어서, 데이터 베이스에 질문 데이터 및 응답 데이터를 설정하는 단계; 상기 질문 데이터를 1) 덴스 벡터(dense vector), 및 2) 스파스 벡터(sparse vector)를 이용하여, 임베딩(embedding)하는 단계; 상기 사용자로부터 질문을 입력받는 단계; Dense-embedding based Retrieval (DR) 모델을 통해, 상기 질문의 덴스 벡터에 근거하여, 상기 데이터 베이스에서 상기 질문의 후보 그룹을 선택하는 단계; 및 Sparse-embedding based Retrieval (SR) 모델을 통해, 상기 질문의 스파스 벡터에 근거하여, 상기 후보 그룹의 멤버 중에서 가장 유사도가 높은 멤버를 선택하는 단계; 를 포함할 수 있다.
또한, 상기 데이터 베이스를 통해, 상기 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 응답 데이터를 선택하는 단계; 를 더 포함할 수 있다.
또한, 상기 질문의 후보 그룹을 선택하는 단계 및 상기 가장 유사도가 높은 멤버를 선택하는 단계는, 코사인 유사도에 근거할 수 있다.
또한, 상기 데이터 베이스에 질문 데이터 및 응답 데이터를 설정하는 단계는 상기 질문 데이터, 상기 질문에 대응되는 응답 데이터 및 식별자를 항목으로 갖는 테이블을 생성하는 단계; 를 더 포함할 수 있다.
또한, 상기 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 응답 데이터를 선택하는 단계는 상기 가장 유사도가 높은 멤버와 대응되느 질문 데이터와 대응되는 식별자에 근거할 수 있다.
또한, 상기 사용자로부터 질문을 입력받는 단계는 사용자 단말을 통해, 상기 사용자로부터 입력된 질문을 수신하는 단계; 를 포함할 수 있다.
또한, 본 명세서의 또 다른 일 실시예에 따르면, 다중 검색 방식을 이용하여, 사용자에게 챗봇 서비스를 제공하는 챗봇(Chatbot) 구동 장치에 있어서, 메모리; 송수신기; 및 상기 메모리 및 상기 송수신기를 기능적으로 제어하는 프로세서; 를 포함하며, 상기 메모리는 질문 데이터 및 응답 데이터가 설정된 데이터 베이스, Dense-embedding based Retrieval (DR) 모델 및 Sparse-embedding based Retrieval (SR) 모델을 포함하고, 상기 프로세서는 상기 질문 데이터를 1) 덴스 벡터(dense vector), 및 2) 스파스 벡터(sparse vector)를 이용하여, 임베딩(embedding)하고, 상기 사용자로부터 질문을 입력받고, 상기 DR 모델을 통해, 상기 질문의 덴스 벡터에 근거하여, 상기 데이터 베이스에서 상기 질문의 후보 그룹을 선택하며, 상기 SR 모델을 통해, 상기 질문의 스파스 벡터에 근거하여, 상기 후보 그룹의 멤버 중에서 가장 유사도가 높은 멤버를 선택할 수 있다.
상술한 본 명세서의 양태들은 본 명세서의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 명세서의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 명세서는 다중 검색 방식을 이용한 의료 챗봇 시스템 및 이를 구동하는 방법을 제공할 수 있다.
또한, 본 명세서는 의료 데이터의 추가 학습 과정이 요구되지 않는 다중 검색 방식을 이용한 의료 챗봇 시스템 및 이를 구동하는 방법을 제공할 수 있다.
본 명세서의 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 이하의 본 명세서의 실시예들에 대한 기재로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 명세서를 실시함에 따른 의도하지 않은 효과들 역시 본 명세서의 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되고, 첨부된 도면들은 본 명세서에 대한 다양한 실시예들을 제공한다. 또한, 첨부된 도면들은 상세한 설명과 함께 본 명세서의 실시 형태들을 설명하기 위해 사용된다.
도 1은 본 명세서의 의료 챗봇 시스템에 대한 구성을 개념적으로 설명하기 위한 도이다.
도 2는 본 명세서의 일실시 예에 따른 의료 챗봇 디바이스의 구성을 설명하기 위한 도이다.
도 3은 본 명세서가 적용될 수 있는 데이터 베이스 시스템의 예시이다.
도 4는 본 명세서가 적용될 수 있는 의료 챗봇의 예시이다.
도 5는 본 명세서가 적용될 수 있는 일 실시예이다.
도 6은 본 명세서가 적용될 수 있는 DR 모델의 비교 결과를 예시한다.
도 7은 본 명세서가 적용될 수 있는 실시예에서 DR만 이용하는 경우와 DR 이후, SR을 이용하는 경우의 성능 비교를 예시한다.
도 1은 본 명세서의 의료 챗봇 시스템에 대한 구성을 개념적으로 설명하기 위한 도이다.
도 2는 본 명세서의 일실시 예에 따른 의료 챗봇 디바이스의 구성을 설명하기 위한 도이다.
도 3은 본 명세서가 적용될 수 있는 데이터 베이스 시스템의 예시이다.
도 4는 본 명세서가 적용될 수 있는 의료 챗봇의 예시이다.
도 5는 본 명세서가 적용될 수 있는 일 실시예이다.
도 6은 본 명세서가 적용될 수 있는 DR 모델의 비교 결과를 예시한다.
도 7은 본 명세서가 적용될 수 있는 실시예에서 DR만 이용하는 경우와 DR 이후, SR을 이용하는 경우의 성능 비교를 예시한다.
이하에서는 본 명세서의 실시 예들로서 의료 챗봇 시스템 및 이를 구동하는 방법에 대해서 설명한다.
이하의 실시예들은 본 명세서의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 명세서의 실시예를 구성할 수도 있다. 본 명세서의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서, 본 명세서의 요지를 흐릴 수 있는 부분, 장치 및/또는 구성 등은 기술하지 않았으며, 당업자의 수준에서 이해할 수 있을 정도의 부분, 장치 및/또는 구성 또한 기술하지 아니하였다. 또한, 도면에서 동일한 도면 부호를 사용하여 지칭하는 부분은 장치 구성 또는 방법에서 동일한 구성 요소 또는 단계를 의미한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "??부" 또는 "??기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미한다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 명세서를 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
또한, 본 명세서의 실시예들에서 사용되는 특정(特定) 용어들 및/또는 기호들은 본 명세서의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 명세서의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 본 명세서의 의료 챗봇 시스템에 대한 구성을 개념적으로 설명하기 위한 도이다.
도 1을 살펴보면, 의료 챗봇 시스템은 사용자 디바이스(100) 및 의료 챗봇 디바이스(300)를 포함할 수 있다.
사용자 디바이스(100)는 통신 네트워크를 이용하여 의료 챗봇 디바이스(300)에 접속할 수 있다. 사용자는 사용자 디바이스(100)를 이용하여 의료 챗봇 디바이스(300)에 접속하고, 의료 챗봇 디바이스(300)와 대화를 하면서 다양한 의료 서비스 또는 의료 정보를 제공받을 수 있다.
사용자 디바이스(100)는 IP 할당된 디바이스로서 인터넷등을 통해 네트워크 통신을 수행할 수 있다. 사용자 디바이스(100)는 휴대성과 이동성이 보장되는 무선 통신 디바이스일 수 있다. 예를 들어 사용자 디바이스(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), 스마트 패드(smart pad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드 헬드(Hand held) 기반의 무선 통신 디바이스, 데스크탑 PC(desktop PC), 슬레이트 PC(slate PC), 노트북(랩탑) 컴퓨터(notebook(laptop) computer), PMP(Portable Multimedia Player) 등을 포함할 수 있다.
본 명세서가 적용 가능한 사용 디바이스(100)는 상술한 종류에 한정되지 않고, 외부 디바이스와 통신이 가능한 형태의 디바이스를 모두 포함할 수 있음은 당연하다.
상술한 사용자 디바이스(100)는 의료용 앱을 설치 또는 탑재할 수 있다. 사용자는 사용자 디바이스(100)에 설치된 의료용 앱을 통해 의료 챗봇 디바이스(300)에 접속함으로써, 의료 챗봇 디바이스(300)로부터 다양한 의료 서비스를 제공받을 수 있다.
의료 챗봇 디바이스(300)는 통신 네트워크를 통해 접속된 사용자 디바이스(100)과 대화를 하면서 다양한 의료 서비스 또는 의료 정보를 사용자에게 제공할 수 있다. 의료 챗봇 디바이스(300)는 프로세서(310), 메모리(330) 및 통신 모듈(350) 등을 포함할 수 있다.
프로세서(310)는 언어처리를 수행하는 하드웨어/소프트웨어를 포함하고, 소프트웨어의 구동과 의료 챗봇 디바이스(300)의 입출력과 기능 등을 제어할 수 있다.
메모리(330)는 미리 구축되어 있는 지식 베이스로 데이터를 저장하고 기계학습에 관련한 다양한 데이터베이스를 보관할 수 있다. 지식 베이스는 의료와 관련된 다양한 정보를 포함할 수 있다.
통신 모듈(330)은 무선 통신 모듈 또는 RF 모듈를 포함할 수 있다. 무선 통신 모듈은, 예를 들면, Wi-Fi, BT, GPS 또는 NFC를 포함할 수 있다.
의료 챗봇 디바이스(300)에 관한 자세한 내용은 도 2에서 자세하게 설명하기로 한다.
도 2는 본 명세서의 일실시 예에 따른 의료 챗봇 디바이스의 구성을 설명하기 위한 도이다.
도 2를 살펴보면, 본 명세서의 일 실시예에 따른 의료 챗봇 디바이스(300)은 프로세서(310), 메모리(330), 통신 모듈(350)을 포함할 수 있다.
프로세서(310)는 하나 이상의 어플리케이션 프로세서(application processor, AP), 하나 이상의 커뮤니케이션 프로세서(communication processor, CP) 또는 적어도 하나 이상의 AI 프로세서(artificial intelligence processor)를 포함할 수 있다. 어플리케이션 프로세서, 커뮤니케이션 프로세서 또는 AI 프로세서는 서로 다른 IC(integrated circuit) 패키지들 내에 각각 포함되거나 하나의 IC 패키지 내에 포함될 수 있다.
어플리케이션 프로세서는 운영체제 또는 응용 프로그램을 구동하여 어플리케이션 프로세서에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어하고, 멀티미디어 데이터를 포함한 각종 데이터 처리/연산을 수행할 수 있다. 일 예로, 어플리케이션 프로세서는 SoC(system on chip)로 구현될 수 있다. 프로세서(310)는 GPU(graphic prcessing unit)를 더 포함할 수 있다.
커뮤니케이션 프로세서는 네트워크로 연결된 사용자 디바이스(100)와의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. 일 예로, 커뮤니케이션 프로세서는 SoC로 구현될 수 있다. 커뮤니케이션 프로세서는 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다.
또한, 커뮤니케이션 프로세서는 통신 모듈(350)의 데이터 송수신을 제어할 수 있다. 커뮤니케이션 프로세서는 어플리케이션 프로세서의 적어도 일부로 포함되도록 구현될 수도 있다.
어플리케이션 프로세서 또는 커뮤니케이션 프로세서는 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 어플리케이션 프로세서 또는 커뮤니케이션 프로세서는 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장할 수 있다.
메모리(330)는 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리 비휘발성 메모리(예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 일례에 따르면, 내장 메모리는 SSD(solid state drive)의 형태를 취할 수도 있다. 외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다.
통신 모듈(350)은 무선 통신 모듈 또는 RF 모듈를 포함할 수 있다. 무선 통신 모듈은, 예를 들면, Wi-Fi, BT, GPS 또는 NFC를 포함할 수 있다. 예를 들면, 무선 통신 모듈은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다. 추가적으로 또는 대체적으로, 무선 통신 모듈은 사용자 디바이스(100)를 네트워크(예: Internet, LAN, WAN, telecommunication network, cellular network, satellite network, POTS 또는 5G network 등)와 연결시키기 위한 네트워크 인터페이스 또는 모뎀 등을 포함할 수 있다.
RF 모듈은 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자 신호의 송수신을 담당할 수 있다. 일 예로, RF 모듈은 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, RF 모듈은 무선 통신에서 자유공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 포함할 수 있다.
프로세서(310)는 AI 프로세서(311), 데이터 학습부(311a), 데이터 전처리부(311b), 데이터 선택부(311c), 모델 평가부(311d) 및 응답 모듈(315) 등을 포함할 수 있다.
AI 프로세서(311)는 메모리(330)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, AI 프로세서(311)는 사용자 디바이스(100) 간의 질의 응답과 관련된 데이터를 인식하기 위한 신경망을 학습할 수 있다. 여기서, 신경망은 인간의 뇌 구조(예를 들어, 인간의 신경망의 뉴런 구조)를 컴퓨터 상에서 모의하도록 설계될 수 있다. 신경망은 입력층(input layer), 출력층(output layer) 및 적어도 하나의 은닉층(hidden layer)를 포함할 수 있다. 각 층은 가중치를 갖는 적어도 하나의 뉴런을 포함하고, 신경망은 뉴런과 뉴런을 연결하는 시냅스(synapse)를 포함할 수 있다. 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호를 가중치(weight) 및/또는 편향(bias)에 대한 활성함수(activation function)의 함수값으로 출력할 수 있다.
복수의 네트워크 모드들은 뉴런이 시냅스를 통해 신호를 주고받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고받을 수 있다. 여기서 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 콘볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 신경망 모델의 예는 심층 신경망(deep neural network, DNN), 합성곱 신경망(convolutional neural network, CNN), 순환 신경망(recurrent neural network), 제한 볼츠만 머신(restricted Boltzmann machine), 심층 신뢰 신경망(deep belief network), 심층 Q-네트워크(deep Q-Network)와 같은 다양한 딥러닝 기법들을 포함하며, 비전인식, 음성인식, 자연어처리, 음성/신호처리 등의 분야에서 적용될 수 있다.
한편, 상술한 바와 같은 기능을 수행하는 프로세서(310)는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU)일 수 있다.
메모리(330)는 사용자 디바이스(100) 및/또는 의료 챗봇 디바이스(300)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(330)는 AI 프로세서(311)에 의해 액세스되며, AI 프로세서(311)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(330)는 본 명세서의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 딥러닝 모델)을 저장할 수 있다. 나아가, 메모리(330)는 학습 모델(221) 뿐만 아니라, 입력 데이터, 학습 데이터, 학습 히스토리 등을 저장할 수도 있다.
한편, AI 프로세서(311)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부(311a)를 포함할 수 있다. 데이터 학습부(311a)는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(311a)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다.
데이터 학습부(311a)는 적어도 하나의 하드웨어 칩 형태로 제작되어 의료 챗봇 디바이스(300)에 탑재될 수 있다. 일 예로, 데이터 학습부(311a)는 인공지능을 위한 전용 하드웨어 칩 형태로 제작될 수 있고, 범용 프로세서(CPU) 또는 그래픽 전용 프로세서(GPU)의 일부로 제작되어 의료 챗봇 디바이스(300)에 탑재될 수 있다. 또한, 데이터 학습부(311a)는 소프트웨어 모듈로 구현될 수도 있다. 소프트웨어 모듈(또는 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록 매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우에 적어도 하나의 소프트웨어 모듈은 OS(operating system)에 제공되거나, 애플리케이션에 의해 제공될 수 있다.
데이터 학습부(311a)는 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류/인식할지에 관한 판단기준을 가지도록 학습할 수 있다. 이때, 데이터 학습부(311a)에 의한 학습 방식은 지도 학습(supervised learning), 비지도 학습(unsupervised learning), 강화 학습(reinforcement learning)으로 분류될 수 있다. 여기서, 지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 지칭하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 특정 환경 안에서 정의된 에이전트(agent)가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 방법을 의미할 수 있다. 또한, 데이터 학습부(311a)는 오류 역전파법(backpropagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 신경망 모델을 학습시킬 수 있다. 신경망 모델이 학습되면 학습된 신경망 모델은 학습 모델(331)이라 호칭할 수 있다. 학습 모델(331)은 메모리(330)에 저장되어 학습 데이터가 아닌 새로운 입력 데이터에 대한 결과를 추론하는 데 사용될 수 있다.
한편, AI 프로세서(311)는 학습 모델(331)을 이용한 분석 결과를 향상시키거나, 학습 모델(331)의 생성에 필요한 리소스 또는 시간을 절약하기 위하여 데이터 전처리부(311b) 및/또는 데이터 선택부(311c)를 더 포함할 수도 있다.
데이터 전처리부(311b)는 획득된 데이터가 상황 판단을 위한 학습/추론에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 일 예로, 데이터 전처리부(311b)는 입력 장치를 통해 획득된 입력 데이터에 대하여 전처리로서 특징 정보(feature information)을 추출할 수 있으며, 특징 정보는 특징 벡터(feature vector), 특징점(feature point) 또는 특징맵(feature map) 등의 포맷으로 추출될 수 있다.
데이터 선택부(311c)는 데이터 학습부(311a) 또는 데이터 전처리부(311b)에서 전처리된 학습 데이터 중 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 학습 모델(331)에 제공될 수 있다. 일 예로, 데이터 선택부(311c)는 사용자가 음성, 문자 또는 다양한 입력 장치를 통해 질의한 질의 내용 중 특정 문장 등을 검출함으로써, 특정 문장에 포함된 객체에 대한 데이터만을 학습 데이터로 선택할 수 있다. 또한, 데이터 선택부(311c)는 입력 장치를 통해 획득된 입력 데이터 또는 전처리부에서 전처리된 입력 데이터 중 추론에 필요한 데이터를 선택할 수도 있다.
또한, AI 프로세서(311)는 신경망 모델의 분석 결과를 향상시키기 위하여 모델 평가부(311d)를 더 포함할 수 있다. 모델 평가부(311d)는, 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 학습 모델(331)을 평가하기 위한 기 설정된 데이터일 수 있다. 일 예로, 모델 평가부(311d)는 평가 데이터에 대한 학습된 신경망 모델의 분석 결과 중, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우에 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
응답 모듈(315)은 프로세서의 제어 하에 사용자 디바이스와 의료 챗봇 디바이스 간의 대화 방식으로 질의와 응답을 진행할 수 있다. 응답 모듈(315)은 다양한 언어로 사용자의 질의에 기초하여 이에 대응되는 다양한 전문 정보, 전문 지식 그리고 전문가의 소견 등을 제공할 수 있다.
통신 모듈(350)은 AI 프로세서(311)에 의한 AI 프로세싱 결과를 사용자 디바이스(100)로 전송할 수 있다.
사용자 디바이스(100)는 전술한 의료 챗봇 디바이스(300)의 구성을 포함할 수 있다.
도 3은 본 명세서가 적용될 수 있는 데이터 베이스 시스템의 예시이다.
도 3을 참조하면, 데이터 베이스 시스템은 데이터 베이스 및 검색(Retrieval) 프로세스 모델을 포함한다. 데이터 베이스 및 검색 프로세스 모델은 도 2의 메모리(330)에 포함될 수 있다. 검색 프로세스는 프로세서(310)를 통해, 수행될 수 있다.
데이터 베이스는 기존 대화 데이터를 저장할 수 있다. 예를 들어, 데이터 베이스는 질의/응답의 쌍 형태의 데이터를 포함할 수 있다. 보다 자세하게, 데이터 베이스는 id, question, answer의 항목을 열로 갖는 테이블의 형태로 구성될 수 있다.
검색 프로세스 모델은 Dense-embedding based Retrieval (DR)을 수행하기 위한 모델과 Sparse-embedding based Retrieval (SR)을 수행하기 위한 모델을 포함한다.
검색 프로세스는 Dense-embedding based Retrieval (DR)과 Sparse-embedding based Retrieval (SR)를 포함한다. 예를 들어, 프로세서(310)는 DR을 위해, 입력되는 문장을 학습된 모델(예를 들어, DR 모델)을 이용하여, dense vector로 인코딩 할 수 있다. 또한, 프로세서(310)는 SR을 위해, bi-gram TF-IDF(Term Frequency - Inverse Document Frequency) 스킴(scheme)을 이용하여, 입력되는 문장을 sparse vector로 인코딩 할 수 있다.
의료 챗봇 디바이스(300)는 검색 프로세스를 통해, 사용자의 입력과 가장 유사한 질문을 찾고, 찾은 질문에 해당하는 답을 사용자의 입력에 대한 답으로 출력할 수 있다.
도 4는 본 명세서가 적용될 수 있는 의료 챗봇의 예시이다.
사용자는 사용자 디바이스(100)를 통해, 입력한 질문의 적합한 답을 온라인 상의 의료 챗봇 디바이스(300)를 통해 챗봇 형태로 제공받을 수 있다. 또한, 의료 챗봇 디바이스(300)의 동작은 사용자 디바이스(100)에 챗봇 어플리케이션과 같은 형태로 설치되어, 오프라인 상에서 사용자 디바이스(100)를 통해, 사용자에게 제공될 수 있다.
도 5는 본 명세서가 적용될 수 있는 일 실시예이다.
도 5를 참조하면, 의료 챗봇 디바이스(300)는 질문 및 응답 데이터를 입력받고, 데이터 베이스를 구성한다(S510). 예를 들어, 데이터 베이스는 질문 및 응답 데이터를 식별자, 질문 및 질문에 대응되는 응답을 항목으로 갖는 테이블 형태로 구성할 수 있다.
의료 챗봇 디바이스(300)는 질문 데이터를 1) dense vector, 및 2) sparse vector를 이용하여, 임베딩(embedding)한다(S520). 예를 들어, 의료 챗봇 디바이스(300)는 검색 프로세스 모델을 통해, 임베딩을 수행할 수 있다. Dense-embedding based Retrieval (DR)을 수행하기 위한 모델은 dense vector를 이용한 임베딩을 수행하고, Sparse-embedding based Retrieval (SR)을 수행하기 위한 모델은 sparse vector를 이용한 임베딩을 수행한다. 각각의 벡터 별로 임베딩된 데이터들은 데이터 베이스에 의해, 별도로 관리될 수 있다.
즉, 의료 챗봇 디바이스(300)는 데이터 베이스에 포함된 question에 해당하는 문장들을 각각 dense vector와 sparse vector를 이용하여, 인코딩하고 캐싱할 수 있다.
의료 챗봇 디바이스(300)는 사용자로부터, 질문을 입력받는다(S530). 예를 들어, 의료 챗봇 디바이스(300)는 사용자 디바이스(100)를 통해, 사용자로부터 질문을 입력받을 수 있다.
의료 챗봇 디바이스(300)는 Dense-embedding based Retrieval (DR)을 통해, 상기 질문의 dense vector에 근거하여, 상기 질문의 후보 그룹을 선택한다(S540). 예를 들어, 의료 챗봇 디바이스(300)는 데이터 베이스에 질문 데이터로부터, 상기 질문의 후보 그룹을 선택할 수 있다.
이후, 의료 챗봇 디바이스(300)는 Sparse-embedding based Retrieval (SR)을 통해, 상기 질문의 sparse vector에 근거하여, 상기 후보 그룹의 멤버 중에서 가장 유사도가 높은 멤버를 선택한다(S550).
이를 위해, 의료 챗봇 디바이스(300)는 DR 이후, SR을 통해, 질문을 검색할 수 있다.
여기서, DR과 SR 모두는 임베딩 과정과 코사인 유사도 비교 과정을 갖을 수 있다. 예를 들어, 의료 챗봇 디바이스(300)는 DR 모델을 통해, 임베딩된 질문 데이터의 dense vector와 사용자로부터 입력된 질문의 dense vector 들과의 코사인 유사도를 계산하여, 가장 유사한 top-N (예를 들어, N=10)개의 정답 후보 문장들을 SR 모델의 입력으로 전달할 수 있다.
이 후, SR 모델에서는 사용자가 입력한 질문을 sparse vector로 인코딩할 수 있다. 의료 챗봇 디바이스(300)는 인코딩된 vector와 DR 모델에서 전달받은 정답 후보 문장들의 sparse-vector와의 코사인 유사도를 계산할 수 있다.
의료 챗봇 디바이스(300)는 데이터 베이스를 통해, 가장 유사도가 높은 멤버와 대응되는 질문의 응답을 선택한다(S560). 의료 챗봇 디바이스(300)는 가장 높은 유사도를 기록한 문장을 사용자 질문에 대한 최종 답으로 간주하여 출력할 수 있다. 예를 들어, 의료 챗봇 디바이스(300)는 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 id를 데이터 베이스에 전달하여, id와 대응되는 응답을 획득할 수 있다.
의료 챗봇 디바이스(300)의 동작은 사용자 디바이스(100)에 설치될 수 있는 앱을 통해, 사용자 디바이스(100)에서 수행 될 수 있다.
도 6은 본 명세서가 적용될 수 있는 DR 모델의 비교 결과를 예시한다.
도 6을 참조하면, 단어 단위의 임베딩 모델인 fastText를 제외한, 문장단위 임베딩 모델인 M-USE와 SBERT가 적절한 답을 찾을 수 있음이 나타난다. 예를 들어, 본 명세서의 DR 모델은 M-USE와 SBERT를 포함할 수 있다.
도 7은 본 명세서가 적용될 수 있는 실시예에서 DR만 이용하는 경우와 DR 이후, SR을 이용하는 경우의 성능 비교를 예시한다.
도 7을 참조하면, 사용자의 입력 문장에서 의학 용어와 질문 내용은 색깔로 구분된다. DR 만을 사용하는 경우, M-USE는 가장 유사한 3개의 문장 중에서 입력 문장에 포함된 의학 용어 2개 모두 포함된 문장이 없었다. SBERT의 결과에서 의학 용어 2개와 질문 내용이 모두 포함된 문장이 있었지만, 상기 문장이 가장 높은 유사도를 보이지는 않았으며, 가장 유사한 문장은 의학 용어 1개만 포함된 문장이었다.
반면, DR과 SR을 모두 사용한 경우, 의학 용어와 질문 내용이 모두 포함된 문장을 가장 유사한 문장으로 출력되는 것이 확인 될 수 있다.
따라서, DR 이후, SR 을 이용하는 본 명세서의 챗봇은 한 가지 검색 프로세스만을 이용하는 챗봇에 비해, 의학 용어 관점에서 정확도 높은 효과를 발휘할 수 있다.
상술한 본 명세서의 실시예들은 본 명세서의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함할 수 있다.
Claims (12)
- 챗봇(Chatbot) 구동 장치가 다중 검색 방식을 이용하여, 사용자에게 챗봇 서비스를 제공하는 방법에 있어서,
데이터 베이스에 질문 데이터 및 응답 데이터를 설정하는 단계;
상기 질문 데이터를 1) 덴스 벡터(dense vector), 및 2) 스파스 벡터(sparse vector)를 이용하여, 임베딩(embedding)하는 단계;
상기 사용자로부터 질문을 입력받는 단계;
Dense-embedding based Retrieval (DR) 모델을 통해, 상기 질문의 덴스 벡터에 근거하여, 상기 데이터 베이스에서 상기 질문의 후보 그룹을 선택하는 단계; 및
Sparse-embedding based Retrieval (SR) 모델을 통해, 상기 질문의 스파스 벡터에 근거하여, 상기 후보 그룹의 멤버 중에서 가장 유사도가 높은 멤버를 선택하는 단계;
를 포함하는, 방법.
- 제1항에 있어서,
상기 데이터 베이스를 통해, 상기 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 응답 데이터를 선택하는 단계;
를 더 포함하는 방법.
- 제2항에 있어서,
상기 질문의 후보 그룹을 선택하는 단계 및 상기 가장 유사도가 높은 멤버를 선택하는 단계는,
코사인 유사도에 근거하는, 방법.
- 제2항에 있어서,
상기 데이터 베이스에 질문 데이터 및 응답 데이터를 설정하는 단계는
상기 질문 데이터, 상기 질문에 대응되는 응답 데이터 및 식별자를 항목으로 갖는 테이블을 생성하는 단계;
를 더 포함하는, 방법.
- 제4항에 있어서,
상기 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 응답 데이터를 선택하는 단계는
상기 가장 유사도가 높은 멤버와 대응되느 질문 데이터와 대응되는 식별자에 근거하는, 방법.
- 제1항에 있어서,
상기 사용자로부터 질문을 입력받는 단계는
사용자 단말을 통해, 상기 사용자로부터 입력된 질문을 수신하는 단계;
를 포함하는, 방법.
- 다중 검색 방식을 이용하여, 사용자에게 챗봇 서비스를 제공하는 챗봇(Chatbot) 구동 장치에 있어서,
메모리;
송수신기; 및
상기 메모리 및 상기 송수신기를 기능적으로 제어하는 프로세서; 를 포함하며,
상기 메모리는
질문 데이터 및 응답 데이터가 설정된 데이터 베이스, Dense-embedding based Retrieval (DR) 모델 및 Sparse-embedding based Retrieval (SR) 모델을 포함하고,
상기 프로세서는
상기 질문 데이터를 1) 덴스 벡터(dense vector), 및 2) 스파스 벡터(sparse vector)를 이용하여, 임베딩(embedding)하고, 상기 사용자로부터 질문을 입력받고, 상기 DR 모델을 통해, 상기 질문의 덴스 벡터에 근거하여, 상기 데이터 베이스에서 상기 질문의 후보 그룹을 선택하며, 상기 SR 모델을 통해, 상기 질문의 스파스 벡터에 근거하여, 상기 후보 그룹의 멤버 중에서 가장 유사도가 높은 멤버를 선택하는, 장치.
- 제7항에 있어서,
상기 프로세서는
상기 데이터 베이스를 통해, 상기 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 응답 데이터를 선택하는, 장치.
- 제8항에 있어서,
상기 프로세서는
코사인 유사도에 근거하여, 상기 질문의 후보 그룹을 선택하고, 상기 가장 유사도가 높은 멤버를 선택하는, 장치.
- 제8항에 있어서,
상기 데이터 베이스에 질문 데이터 및 응답 데이터를 설정하는 단계는
상기 질문 데이터, 상기 질문에 대응되는 응답 데이터 및 식별자를 항목으로 갖는 테이블을 생성하는 단계;
를 더 포함하는, 방법.
- 제10항에 있어서,
상기 프로세서는
상기 가장 유사도가 높은 멤버와 대응되느 질문 데이터와 대응되는 식별자에 근거하여, 상기 가장 유사도가 높은 멤버와 대응되는 질문 데이터의 응답 데이터를 선택하는, 장치.
- 제7항에 있어서,
상기 송수신기는
사용자 단말을 통해, 상기 사용자로부터 입력된 질문을 수신하는, 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200134630A KR102445841B1 (ko) | 2020-10-16 | 2020-10-16 | 다중 검색 방식을 이용한 의료 챗봇 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200134630A KR102445841B1 (ko) | 2020-10-16 | 2020-10-16 | 다중 검색 방식을 이용한 의료 챗봇 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220050678A true KR20220050678A (ko) | 2022-04-25 |
KR102445841B1 KR102445841B1 (ko) | 2022-09-22 |
Family
ID=81452019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200134630A KR102445841B1 (ko) | 2020-10-16 | 2020-10-16 | 다중 검색 방식을 이용한 의료 챗봇 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102445841B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180077261A (ko) * | 2016-11-14 | 2018-07-06 | 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 | 자동질문응답시스템 질문 클러스터링 처리방법 및 장치 |
KR20190059084A (ko) * | 2017-11-22 | 2019-05-30 | 한국전자통신연구원 | 자연어 질의응답 시스템 및 그 학습 방법 |
US20200125678A1 (en) * | 2018-10-22 | 2020-04-23 | International Business Machines Corporation | Unsupervised technique for training an engagement classifier in chat-based group conversation |
KR20200044178A (ko) * | 2018-10-05 | 2020-04-29 | 동아대학교 산학협력단 | 합성곱 신경망에 의한 발화 임베딩을 사용한 유사도 측정 기반의 채팅 말뭉치 확장을 위한 장치 및 방법 |
KR20200103153A (ko) * | 2019-02-12 | 2020-09-02 | 주식회사 자이냅스 | 문장 의미 관계 추론 대화 서비스 시스템 |
-
2020
- 2020-10-16 KR KR1020200134630A patent/KR102445841B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180077261A (ko) * | 2016-11-14 | 2018-07-06 | 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 | 자동질문응답시스템 질문 클러스터링 처리방법 및 장치 |
KR20190059084A (ko) * | 2017-11-22 | 2019-05-30 | 한국전자통신연구원 | 자연어 질의응답 시스템 및 그 학습 방법 |
KR20200044178A (ko) * | 2018-10-05 | 2020-04-29 | 동아대학교 산학협력단 | 합성곱 신경망에 의한 발화 임베딩을 사용한 유사도 측정 기반의 채팅 말뭉치 확장을 위한 장치 및 방법 |
US20200125678A1 (en) * | 2018-10-22 | 2020-04-23 | International Business Machines Corporation | Unsupervised technique for training an engagement classifier in chat-based group conversation |
KR20200103153A (ko) * | 2019-02-12 | 2020-09-02 | 주식회사 자이냅스 | 문장 의미 관계 추론 대화 서비스 시스템 |
Non-Patent Citations (2)
Title |
---|
J. Lee 외, "Contextualized Sparse Representations for Real-Time Open-Domain Question Answering", Association for Computational Linguistics. (2020.07.10.) * |
M. Seo 외, "Real-Time Open-Domain Question Answering with Dense-Sparse Phrase Index", Association for Computational Linguistics. (2019.08.02.) * |
Also Published As
Publication number | Publication date |
---|---|
KR102445841B1 (ko) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046221B (zh) | 一种机器对话方法、装置、计算机设备及存储介质 | |
US11468241B2 (en) | Techniques to add smart device information to machine learning for increased context | |
WO2018133761A1 (zh) | 一种人机对话的方法和装置 | |
US20200372217A1 (en) | Method and apparatus for processing language based on trained network model | |
US10579835B1 (en) | Semantic pre-processing of natural language input in a virtual personal assistant | |
US10679150B1 (en) | Systems and methods for automatically configuring training data for training machine learning models of a machine learning-based dialogue system including seeding training samples or curating a corpus of training data based on instances of training data identified as anomalous | |
CN112287089B (zh) | 用于自动问答系统的分类模型训练、自动问答方法及装置 | |
JP2021125217A (ja) | マルチホップ機械読み取りのための潜在質問再定式化および情報蓄積 | |
CN111563144A (zh) | 基于语句前后关系预测的用户意图识别方法及装置 | |
CN111444715B (zh) | 实体关系识别方法、装置、计算机设备和存储介质 | |
US20200210505A1 (en) | Electronic apparatus and controlling method thereof | |
US11501086B2 (en) | Systems and methods for zero-shot, fast-generation and implementation of an intelligent virtual dialogue agent using one or more pre-trained machine learning-based language models and a response corpus | |
CN112735479B (zh) | 语音情绪识别方法、装置、计算机设备和存储介质 | |
CN111399629A (zh) | 一种终端设备的操作引导方法、终端设备及存储介质 | |
US11705110B2 (en) | Electronic device and controlling the electronic device | |
CN112818096A (zh) | 对话生成方法及其装置 | |
KR102445841B1 (ko) | 다중 검색 방식을 이용한 의료 챗봇 시스템 | |
CN111797220A (zh) | 对话生成方法、装置、计算机设备和存储介质 | |
KR20220048554A (ko) | 의료 챗봇 시스템 및 이를 구동하는 방법 | |
CN112836522B (zh) | 语音识别结果的确定方法及装置、存储介质及电子装置 | |
KR102504445B1 (ko) | 인공지능형 음성 인식 및 대화 서비스를 지원하는 시스템 및 방법 | |
CN116244432B (zh) | 语言模型的预训练方法、装置及电子设备 | |
KR102508200B1 (ko) | 지우개 기능 및 후보자 리스트를 이용하여 인식율 개선에 필요한 인공지능 학습 데이터 수집 방법 | |
RU2818036C1 (ru) | Способ и система управления диалоговым агентом в канале взаимодействия с пользователем | |
US11645097B2 (en) | System and method for the orchestration of plugins on the command line |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |