Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 19, No. 11, pp.2059-2066
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Nov 2018
Received 19 Oct 2018 Revised 07 Nov 2018 Accepted 20 Nov 2018
DOI: https://doi.org/10.9728/dcs.2018.19.11.2059

챗봇과 규칙기반 전문가시스템을 이용한 애견 건강관리 시스템의 개발

임지수 ; 김다영 ; 조수민 ; 유견아*
덕성여자대학교 컴퓨터학과
Development of Dog’s Health Care System Using Chatbot and Rule-based Expert System
Ji-Su Im ; Da-Yeong Kim ; Su-Min Cho ; Kyeon-Ah Yu*
Department of Computer Science, Duk-Sung Women’s University, Seoul, Korea

Correspondence to: * Kyeon-Ah Yu, Tel: +82-2-901-8346, E-mail: kyeonah@duksung.ac.kr

Copyright ⓒ 2018 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 반려동물을 키우는 가정이 많아지면서 반려동물과 관련된 서비스 수요가 늘어나고 있다. 그 중 애완동물의 건강·의료와 관련된 서비스는 특히 전문성이 강한 분야라 동물병원이 아닌 곳에서 서비스를 제공받기 힘들다. 또한 의료 관련 분야에서는 동물의 증상에 따라 맞춤형 서비스가 제공되어야하기 때문에 사용자로부터 받은 입력을 적절히 분석해 정확한 정보를 제공하는 것이 중요하다. 이와 같이 전문성을 필요로 하는 분야에 대한 솔루션으로 본 연구에서는 사용자의 증상 입력에 따라 적절한 추론 과정을 거쳐 진단하고 전문적인 지식을 제공하는 전문가시스템의 사용을 제안한다. 사용자는 자연어를 이용하여 채팅 형태로 시스템과 소통함으로서 정보 제공의 수월성을 보장할 뿐 아니라 사용자로부터 결과에 대한 피드백을 받아 추론에 활용하여 진단의 정확성 향상을 꾀한다.

Abstract

Demand for services related to pets is increasing recently as more families raise their companion animals. Since the expertise of the services related to health and medical care of pets are strongly required, it is difficult to provide services in places other than veterinary hospitals. Also, it is important to analyze the input received from the user to provide accurate information because customized services should be provided according to the symptoms of the animal in the medical field. In this study, we propose the use of expert system that provides expert knowledge through appropriate inference process according to the symptom entered by the users. The effectiveness of information provision can be ensured by communicating with the system in chat mode using natural language and the accuracy of diagnosis can be improved by getting feedback on the results from the user and utilizing it for inference.

Keywords:

Expert system, Chatbot-based explanation system, Tree-structured knowledgebase, Dog’s health care system, Hybrid app

키워드:

전문가 시스템, 챗봇기반 설명시스템, 트리 구조 지식베이스, 애견 건강관리 시스템, 하이브리드 앱

Ⅰ. 서 론

최근 반려동물을 키우는 가정이 많아지고 가족처럼 생각하는 인식이 커지면서 반려동물 의료 서비스의 수요가 늘어나게 되고 그에 따른 비용 부담도 크다. 반려동물과 함께하는 사람들이 이런 비용 부담을 줄이기 위해 혹은 질병에 대한 응급 처치를 위해 반려견의 증상을 인터넷으로 검색한 후 필요한 정보를 얻는 경우가 많아지고 있는데 인터넷의 정보 중 사용자가 필요한 정보를 찾아내는 과정에서 소모되는 노력과 정보의 신뢰성에 대한 문제는 해결해야 할 중요한 과제이다[1][2]. 본 연구에서는 사용자에게 편리를 제공하고자 챗봇을 이용하고 강아지 질병에 대한 진단은 전문가시스템을 이용하는 강아지 건강관리 시스템을 구축한다. 본 시스템은 반려견의 질병 진단 뿐 만 아니라 동물전용 약품에 대한 정보나 견종에 따라 자주 걸리는 질병 등의 반려견 건강관리의 전반적인 정보를 검색하는 기능과 상세정보 조회 기능을 제공한다.

시스템 구축을 위해 사용된 챗봇은 사용자의 입력에 따라 채팅 형태로 대화를 할 수 있는 인터페이스로서 사용자가 선택한 기능에 따라 설정된 다이얼로그로 들어가며 챗봇을 응답의 주체로 대화가 진행된다. 챗봇의 응답의 바탕이 되는 지식베이스(knowledge base)는 전문가로부터 습득된 지식이며 이는 적절한 형태로 구조화되어 사용자에게 제공되는 정보로 활용된다. 이 지식베이스에서 특정 메커니즘을 거쳐 사용자가 원하는 정보를 찾아내도록 하는 추론엔진과 추론한 지식에 대한 근거를 제공하는 설명 시스템의 3가지 전문가시스템 기본 요소를 갖추고 있다. 설명 시스템을 위해서 챗봇이 직접 수행하는 동사 부분의 제한적인 자연어 처리 프로세스가 존재한다. 추론 과정에서 사용자로부터 받은 입력의 내용에 따라 지식베이스가 업데이트 되는데 이는 다음 사용자가 세부 증상을 선택하는데 도움을 주며 이전 사용자의 피드백을 토대로 진단 결과의 신뢰도 정보를 제공할 수 있다.

본 논문의 구성은 다음과 같다. 2장에서는 본 연구와 관련된 기존 문헌과 자료들을 살펴보고, 3장에서는 애견 건강관리 시스템의 개요를 설명한다. 4장에서는 챗봇 기반의 전문가 시스템의 구성도와 전문가 시스템의 구성 요소 각 부분의 기능을 설명한다. 5장에서는 해당 시스템의 실제 구현과 테스트 결과를 보여주며 6장에서는 결론과 기대효과로 논문을 마무리한다.


Ⅱ. 관련 연구

전문가시스템의 성공이 인공지능의 현실화에 기여하기 시작한 1980년 이후 애완동물 건강관리를 위한 전문가시스템이 다수 등장하였다 [3]. 초창기의 시스템들은 고전적인 규칙기반 전문가시스템 방식으로 구현되었으며 컴퓨터 기술의 발전에 따라 다양한 방식으로 발전해왔다. 초기에는 전문가시스템이 사람 전문가를 대치할 정도의 성능을 얻기 위해 진단 결과의 정확성을 높이는 연구가 주를 이루었다. 퍼지 논리를 적용하여 지식의 불확실성을 보완한다거나 [4][5] SVM[6]과 같은 새로운 데이터 분석 방법을 적용하여 데이터 분석의 정확성을 높이는 시도가 여기에 속한다. 이밖에도 전문가의 지식을 획득하는 새로운 방법을 제안한다거나[7] 신경망 학습을 통해 지식을 업데이트하고 추가하는 등의 시도도 있다[8].

컴퓨터를 사용하는 패러다임이 데스크탑에서 웹과 모바일 앱으로 전환되면서 웹기반 전문가시스템과 모바일 앱용 전문가시스템 개발에 대한 연구 문헌도 찾아 볼 수 있다. 웹기반 전문가시스템에서는 온라인에서 동시에 여러 사용자들에게 서비스 할 수 있는 기술적인 측면을 강조하는 한편 또한 사용자와의 인터페이스의 중요성을 강조한다. [9][10]은 웹기반으로 동물 진단을 위한 전문가시스템을 개발하였으며 사용자가 카테고리별로 쉽게 접근할 수 있도록 하는 동시에 이미지 데이터베이스를 활용하여 편리한 UI를 제공하고자 하였다. [11][12]에서는 앱을 이용하여 기본으로 장착된 사용자 친숙 GUI 이용할 수 있음을 보였지만 서버 연결은 하지 않아 지식의 규모에 제한이 있었다. 이외에도 [13]에서는 편리한 UI를 위해 yes/no 답으로 한정하는 방식을 사용하였고 [14]에서는 강아지나 고양이의 이미지에 직접 클릭하여 아픈 부위를 찾도록 하는 방법으로 사용자를 위한 편리한 인터페이스를 제공하였으나 챗봇을 이용하여 자연어로 대화하고 설명을 제공하는 수준의 UI 구현은 없었다. 애완동물 건강관리 앱 중에는 챗봇을 이용하여 대화식으로 UI를 구성하는 경우가 있으나 설명시스템이 갖춰지지 않아 추론의 근거를 설명할 수 없는 수준으로 구현하지는 않았다[15]. 본 논문에서는 챗봇을 활용하여 자연어 수준의 대화로 질의 응답하고 설명 기능도 자연어로 합성하여 제공하는 전문가시스템을 구현하여 편리한 사용자 UI를 갖춘 토탈 건강관리 시스템을 개발한다. 사용자의 지식 접근이 용이하도록 카테고리별로 진단지식을 구성하여 트리형식이라는 특정한 지식 형태를 개념화한다. [16]에서 트리 구조 진단 지식에서 규칙을 선택하기 위한 효과적인 추론 방식을 제안한 바 있는데 본 논문에서는 이를 활용하는 한편 사용자의 피드백을 이용하여 지식 구조를 업데이트하는 방법을 추가한다.


Ⅲ. 애견 건강관리 시스템의 개요

전체 시스템의 구성도는 그림 1과 같다. 시스템은 하이브리드 앱 방식으로 구현되어 웹 기술을 이용하여 서버 환경과 인터페이스를 작성하고 안드로이드 전용 앱으로 개발하여 웹 브라우저와 안드로이드 폰에서 사용할 수 있도록 하였다. 크롬 브라우저에서는 웹서버를 통해, 안드로이드 앱에서는 다이렉트라인 API를 통해 시스템에 접속을 하고 챗봇을 통해 자연어로 대화를 할 수 있다. 사용자가 자연어를 입력하면 Azure의 앱 서버로 배포한 봇 프레임워크에서 MS LUIS가 분류한 사용자의 의도에 따라 챗봇이 응답을 하게 된다. 응답시 챗봇의 데이터베이스는 파이썬 웹크롤러를 사용하여 크롤링한 데이터를 Azure MySQL 서버에 올려서 사용하게 되고 이 DB 서버는 웹서버, 챗봇의 앱서버와 통신을 하게 된다. 웹서버는 Azure를 사용하였고 JAVA와 JSP로 개발하였다.

Fig. 1.

Dog’s Health Care System Diagram

시스템이 시작되면 사용자는 전문가시스템으로 구현된 진단 서비스와 약품과 견종에 대한 자세한 정보가 있는 링크로 연결해주는 검색서비스의 두 가지 서비스를 이용할 수 있다. 전문가시스템은 지식베이스, 추론엔진, 설명시스템으로 구성되어 있으며 역시 챗봇 기반의 UI로 동작한다. 지식베이스는 파이썬으로 크롤링한 행과 열이 합쳐진 불규칙한 구조의 지식을 정규화하여 단계별로 구조화한 지식들로 구성되어 있으며 추론 엔진은 이와 같은 형태의 지식 구조에 맞게 설계되어 C#으로 구현되었다. 설명 시스템은 C# 크롤러를 사용하여 단어의 원형을 네이버 국어사전으로부터 추출해 와서 자연어 처리를 하여 사용자에게 추론한 진단의 근거를 설명해 주도록 구현되었다. 마지막으로 웹서버와 C#으로 구현한 챗봇을 배포한 앱서버를 연결하기 위해 Bot Connector를 사용하였다.


Ⅳ. 챗봇 기반 전문가시스템

챗봇은 사용자로부터 받은 자연어로 된 문장에서 의도(intent)를 분류하는데 의도가 증상(symptom)이라면 해당 문장에서 개체(entity)를 추출하면서 전문가시스템이 시작된다.

4-1 지식베이스(Knowledge Base)

본 연구에서 개발한 시스템의 가장 중요한 지식베이스는 증상들과 해당하는 세부증상에 대한 질병명과 질병에 대한 간단한 대처법으로 구성된다. (그림 2)

Fig. 2.

Structure of Knowledgebase

진단지식은 [17]에서 제공하는 진단 매뉴얼을 파이썬 웹 크롤러를 통해 읽어와 csv파일로 저장된 내용을 기본으로 하였다. 진단 매뉴얼은 단계별로 구성되어 있으므로 새로운 형태로 구조화시킬 필요 없이 바로 이용 가능한 지식으로 전환가능한 장점이 있는 반면 누락된 부분과 행과 열 구분이 제대로 안 되어 있는 부분이 있다. 그러므로 크롤링된 데이터 중, 명확하지 않거나 누락된 부분에 대해서는 수의사로부터의 확인하는 과정을 거쳐 지식베이스로 생성하였고 불규칙한 구조의 지식은 정규화를 통해 모든 데이터가 균일한 값을 갖도록 수정하였다.

이렇게 구성된 지식베이스에 질병에 대한 상세정보를 볼 수 있는 URL과 증상 출현도와 질병 신뢰도를 추가하였다. 증상 출현도는 이전 사용자들로부터 선택되었던 횟수를 말하며 질병 신뢰도는 추론한 각 증상들이 이전 사용자들에게 얼마나 신뢰를 얻었는가 하는 정도이다. 증상 출현도가 클수록 많이 나타난 증상이라고 간주하여 세부 증상 항목을 리스트하는 순서를 달리함으로서 사용자에게 세부증상 선택의 편의성을 제공하며 선택지가 과부하되는 것을 방지할 수 있다. 실제로 해당 세부증상 항목이 수십 가지에 달하는 경우들이 존재하여 사용자가 선택을 할 때 고려해야 하는 요소가 너무 많은 경우가 있는데 이 경우를 ‘선택지가 과부하 되었다’라고 표현하였다. 추론엔진을 거쳐 진단된 질병은 하나일 수도 있고 그 이상일 수도 있다. 진단한 질병이 여러 개 일 경우 신뢰도가 더 높은 질병이 리스트의 위쪽에 보이게 되고 사용자는 선택에 이를 참고할 수 있다. 결과가 한가지인 경우에도 해당 증상에 대한 신뢰도가 무조건 100%가 되는 것이 아니라 사용자의 피드백에 따라 신뢰도가 달라진다. 그러므로 추론엔진이 한 번의 추론 과정을 거칠 때 마다 지식베이스의 질병 신뢰도가 업데이트 되며 다음 사용자에게 즉시 반영된다.

4-2 추론엔진(Inference Engine)

의도가 증상인 경우 해당 문장에서 개체를 추출하여 개체를 포함하는 첫 번째 단계의 증상을 결정한다. 예를 들어 사용자가 입력한 문장이 ‘설사를 해요’라면 의도는 ‘간단한 질병’이며 개체는 ‘설사’이다. 추론을 위한 첫 번째 세부증상(specific Symptom)이 설사로 결정되었으므로 지식베이스에서 설사와 관련된 다음 단계의 세부증상의 리스트를 불러온다. 사용자는 해당하는 세부증상을 선택하게 되고 추론엔진은 이 과정을 반복하여 전향 추론(forward reasoning)으로 질병을 진단한다.

본 지식베이스의 특징은 표와 같은 형태로 정형화되어 있으며 그림 2와 같이 트리 구조를 하고 있다는 것이다. 그러므로 규칙에 의한 지식베이스 구성에 있어서 같은 패턴을 갖는 조건부가 거의 없기 때문에 규칙기반 전문가시스템에 가장 많이 사용되는 리트(RETE) 알고리즘을 직접 이용하지 않고 본 지식베이스에 효율적으로 적용될 수 있는 알고리즘을 고안하여 C#으로 구현하였다.

트리구조의 지식에서는 먼저 매칭된 조건부가 부모에 해당하고 나중에 된 것이 자식에 해당한다. 기존의 추론 알고리즘에서는 새로 생성된 작업 메모리(working memory)와 전체 규칙을 비교하여야 했으나 본 논문의 추론 알고리즘은 수행된 한 부모 노드의 자식들만 비교하면 되므로 추론 속도 면에서 효율적임이 자명하다. 그러므로 본 논문에서는 많은 진단 시스템들이 트리 구조의 지식베이스를 구성함으로서 기존의 규칙 기반 전문가시스템의 단점으로 지적된 추론이 오래 걸린다는 단점을 보완할 수 있다.

4-3 설명시스템(Explanation System)

설명 시스템은 추론엔진을 거쳐 질병을 진단한 후 사용자에게 추론 근거를 설명해 준다. 해당 추론 근거는 단계별로 사용자에게 입력받은 증상들이며 자연스러운 문장을 만들기 위해 자연어 처리를 하는 과정을 그림 3에 보여준다.

Fig. 3.

Explanation sentence synthesis process

  • (1) 전처리 단계(preprocessing)에서는 LUIS를 이용하여 입력 문장으로부터 증상을 나타내는 것으로 분류되는 단어를 추출한다.
  • (2) 지식베이스로부터 추출된 단어와 매칭 가능한 단어의 후보를 취한다.
  • (3) 단어의 동사원형을 크롤링하여 결합하려는 어미에 적합한 단어를 검사한다.
  • (4) 동사원형이 선택된다.
  • (5) 동사원형에서 원하는 형태의 어미로 바꾸어 문장들을 연결한다.

이 과정은 C# 언어로 구현하였으며 예를 들어 설명하면, “디디가 점점 말라”라는 자연어 입력문이 들어오면 받았던 증상으로부터 자연어 처리가 필요한 단어인 ‘말라’만 추출한다. ‘말라’라는 단어가 지식베이스에 저장된 ‘마른다’라는 단어와 매칭되므로 ‘마른다’에 대한 해당 단어를 네이버 국어사전에 검색하면 단어의 원형인 ‘마르다’가 검색 되는데, 이것을 C# 크롤러를 사용하여 크롤링해 가져온다. 후처리(POSTPROCESSING) 단계에서는 크롤링한 동사의 원형에서 원하는 형태의 어미로 바꾸어 문장들을 연결하는 작업을 하여 하나의 완벽한 문장으로 만든다. 사용자가 선택했던 데이터들의 여러 문장들은 후처리 알고리즘에 의해 한 문장으로 연결되어 사용자에게 진단의 이유가 설명된다.


Ⅴ. 시스템 구현 및 테스트

닥터멍이라는 이름으로 구현된 시스템은 닥터멍 홈페이지를 통해 접속하여 시작하기 버튼이나 사이드 바의 내 상담실 버튼을 눌러 시작할 수 있으며 3가지 서비스 메뉴가 나타난다. 1번 메뉴가 진단 서비스이고 2,3번 메뉴가 검색 서비스에 해당한다. 사용자가 원하는 서비스를 선택하면 선택된 서비스에 따라 각 다이얼로그로 들어가 챗봇과의 대화가 시작된다. 그림 4는 닥터멍 메인페이지와 각 서비스의 메인 화면을 보여주며 그림 5는 챗봇과의 대화 순서도를 보여준다.

메인페이지에서는 회원가입과 마이페이지 등의 공통 서비스가 제공되는데 마이페이지는 회원가입이 완료된 식별된 사용자만 접근 가능하다. 마이페이지에서는 사용자 정보조회 및 수정, 강아지 정보조회 및 수정, 사용자가 입력한 반려견의 종류에 따른 맞춤형 정보 제공, 회원 탈퇴의 기능을 사용할 수 있으며 반려 동물을 위한 추천시스템 서비스[18] 연결도 가능하다.

Fig. 4.

User Interface of Dr.Meong

Fig. 5.

Chatbot algorithm of Dr.Meong

5-1 진단 서비스(전문가시스템)

사용자가 서비스메뉴에서 증상 관련 서비스를 선택하면 챗봇은 사용자에게 반려견의 증상에 대해 물어본다. 사용자가 증상에 대해 말하면 챗봇은 사용자가 말한 문장의 의도를 파악하기 위해 Microsoft LUIS로 자연어 처리 기능을 거친다. 증상에 대한 의도는 ‘간단한 증상의도’와 ‘복잡한 증상의도’ 두 가지로 나뉜다. 사용자가 “강아지가 설사를 해요”, ”기침을 자주 하는 것 같아요”와 같은 문장을 말할 때는 챗봇은 해당 문장에서 ‘설사’,’기침’과 같은 한 가지의 증상정보가 필요하기 때문에 ‘간단한 증상 의도’로 분류한다. 하지만 만약 사용자가 “먹는 양이 증가해요”라고 말할 경우에는 ‘먹는 양’과 ’증가한다’라는 두 가지의 증상 정보가 필요하기 때문에 ‘복잡한 증상의도’로 분류한다. 의도에 따라 분류된 문장들에서는 증상에 해당하는 개체(Entity)들이 추출되는데, ‘간단한 증상의도’로 분류된 경우에는 한 가지 개체가 추출되고 ‘복잡한 증상의도’로 분류된 경우에는 두 가지 개체가 추출된다. 추출된 개체는 증상에 해당하는 개체들이 지식베이스의 증상데이터에 존재하는지 비교하기 위해 사용된다. 만약 추출된 개체가 데이터베이스의 트리구조 지식베이스에서 상위 노드의 증상 데이터에 존재하면 챗봇은 자식 노드의 세부 증상 데이터들을 리스트로 가져와 보여 준다. 이를 반복하여 사용자가 리프 노드의 세부증상을 선택한 후에는 챗봇은 증상에 해당하는 질병과 대처법을 안내한다. 그림 6은 귀에 대한 증상을 예제로 이 과정의 결과를 보여준다.

Fig. 6.

Selection of specific symptom and diagnostic results

증상에 대한 질병정보를 얻은 사용자는 안내 받은 정보에 대해 ‘예’/‘아니오’의 버튼을 통해 평가를 한다. 사용자에게 받은 피드백 정보는 신뢰도로 반영되어 이후에 다른 사용자가 같은 증상 선택을 했을 때 질병 정보에 대한 신뢰도가 표시되어 다른 사용자들이 참고할 수 있도록 한다.

사용자가 “왜 이런 결과가 나왔나요?”와 같이 진단 결과에 대한 이유를 물으면 MS LUIS 자연어 처리 기능을 거쳐 사용자의 질문은 ‘설명을 요구하는 의도’로 분류된다. 챗봇은 사용자가 선택했던 증상 데이터들을 기반으로 설명하기 위해 앞서 사용자가 선택한 지식베이스의 레코드를 가져온다. 저장된 증상데이터의 형태는 “~한다.”와 같이 동사원형의 형태로 저장되어있는데 설명을 하기 위해서는 그림 3의 설명과 같이 여러 문장들을 자연스럽게 연결하는 후처리 알고리즘을 통해 사용자가 선택했던 데이터들의 여러 문장들을 한 문장으로 연결하고 진단의 이유로 제시하였다. 결과 예시는 그림 7과 같다.

Fig. 7.

Example of explanation in natural language

5-2 검색 관련 서비스

서비스가 ‘약품정보 조회’라면 사용자가 입력한 약품 이름에 해당하는 약품 사진과 약품에 대한 간단한 정보, 약품의 상세정보가 포함된 URL을 보여준다. 서비스가 ‘강아지 종류에 따라 자주 걸리는 질병’이라면 사용자가 입력한 강아지 종류에 따라 해당하는 강아지가 자주 걸릴 수 있는 질병 정보를 제공해준다.

약품 검색과 견종에 따른 질병 검색의 서비스는 비슷한 형식으로 진행된다. 먼저 사용자가 서비스 메뉴에서 약품검색 혹은 견종에 관한 질병 검색 서비스를 선택하면 챗봇은 약품명 또는 견종을 입력하도록 유도한다. 사용자가 검색하고자 하는 약품명 또는 견종을 입력하여 답하면 그 결과를 데이터베이스의 약품 컬럼, 견종 컬럼에 포함돼 있는지 확인한다. 만약 데이터베이스 안에 사용자의 검색 내용이 여러 개 포함되어있을 경우 리스트로 선택할 수 있게 해 구체적인 검색을 할 수 있다. 약품 검색의 경우 사용자가 카드리스트 중 원하는 약품이나 선택하면 약품 사진, 약품의 종류와 정확한 약품명이 카드 형태로 나타나고 약품 사진을 클릭하면 해당 약품의 더 자세한 정보가 있는 링크[19]로 연결된다. 견종검색의 경우에는 해당 견종 사진과 견종의 이름, 견종이 잘 걸리는 질병이 나타나고 견종의 사진을 클릭하면 해당 견종이 잘 걸리는 질병에 대한 정보에 관한 링크의 팝업창이 나타난다. 그림 8은 검색 결과의 예를 보여준다.

Fig. 8.

Search results by drug name and diseases that often go by breed


Ⅵ. 결론

본 논문에서는 챗봇을 기반으로 반려견의 건강과 관련된 지식을 습득할 수 있는 애견 건강관리시스템을 개발하였다. 챗봇을 이용한 강아지 건강관리 전문가시스템은 사용자가 직접 증상을 검색해 원하는 정보를 찾도록 하는데 단계별 지식을 트리형태로 구성하여 추론 시간을 절약했고, 사용자의 피드백을 기반으로 더 자주 발생한 증상의 우선순위를 높이기 때문에 사용자 데이터가 쌓일수록 사용자가 원하는 세부 증상을 빠른 시간 안에 찾을 수 있도록 하였다. 또한 문자메시지처럼 자연어를 이용해 시스템을 사용할 수 있도록 하였으며 진단의 이유를 설명하는 설명 시스템도 갖추고 있어서 비전문가도 전문성을 요구하는 분야에 손쉽게 접근할 수 있다는 장점이 있는 서비스라고 할 수 있다.

이전에는 반려동물 특성상 병원에 직접 데려가야 하기 때문에 질병에 걸린 반려견의 응급처치에 대한 대처가 늦어질 수 있었고, 동물은 보험 처리가 되지 않기 때문에 금전적인 부담도 만만치 않았다. 제안하는 시스템을 활용하여 금전적, 시간적 부담을 줄일 수 있으며, 해당 시스템은 전문가의 지식을 기반으로 한 전문가 시스템으로 사용자들에게 신뢰성을 줄 수 있고, 애완견의 건강에 이상이 생겼을 경우 간편하게 사용할 수 있는 수단이 될 수 있다. 또한, 해당 시스템은 동물 병원과 연계하여 시스템을 확장할 수 있다. 해당 병원은 이 시스템을 사용하여 고객을 유치하고 관리할 수 있으며 고객 또한 시간적, 금전적 부담이 적은 하이브리드 앱 서비스를 통해 더욱 편리한 서비스를 제공받을 수 있다.

Acknowledgments

본 연구는 2017년도 덕성여자대학교 교내연구비 지원에 의해 수행되었습니다.

References

  • LR. Kogan, R. Schoenfeld-Tacher, L. Gould, AR. Viera, PW. Hellyer, “Providing an information prescription in veterinary medical clinics: a pilot study. Journal of the Medical Library Association”, JMLA, 102(1), p41-46, (2014).
  • H. Lee, et. al. , “Reduction of burden on consumer medical expenses to revitalize companion animal industry”, Agriculture, Forestry and Livestock Foods Research Report, (2017).
  • B. Patil, and R. V. Kulkarni, “A Review of Expert Systems in Animal Health Care”, International Journal of Computer Science and Information Technologies, 3(5), p5014-5018, (2012).
  • H. Alizadeh, A. Hasani-Bafarani, “Dairy Cattle Judging: An Innovative Application for Fuzzy Expert System”, www.iaeng.org/publication/WCECS2008/WCECS2008 p247-250, .pdf (2008).
  • M. Jampour, “A Fuzzy Expert System to Diagnose Diseases with Neurological Signs in Domestic Animal”, Eighth International Conference on Information Technology: New Generations(ITNG), (2011). [https://doi.org/10.1109/itng.2011.217]
  • L. Wan, and W. Bao, “Animal disease diagnosis expert system based on SVM”, Computer and Computing Technologies in Agriculture III, p539-545, (2010).
  • A. Dagnino, J. I. Allen, M. N. Moore, “Development of an expert system for the integration of biomarker responses in mussels into an animal health index”, Biomarkers, 12(2), (2007). [https://doi.org/10.1080/13547500601037171]
  • J. Jeffrey Mahoney, Raymond J. Mooney, “Comparing Methods for Refining Certainty-Factor Rule-Bases”, Proceedings Of The Eleventh International Conference On Machine Learning, p173-180, (1994). [https://doi.org/10.1016/b978-1-55860-335-6.50029-5]
  • A.V. Saurkar, and H.N. Watane, “An expert system for diseases diagnosis in pet”, Advances in Medical Informatics, IVolume, 2(1), p-18-21, (2012).
  • S. Chellapilla, “Dairymap: A Web-Based Expert System For Dairy Herd Management”, www.Ai.Uga.Edu/Iai/Theses/Chellapilla_Sanjay.Pdf (2018).
  • M. Munirah, Y., S. Suriawati, and P. P. Teresa, "Design and Development of Online Dog Diseases Diagnosing System.", International Journal of Information and Education Technology 6.11, p913-916, (2016).
  • P. Kumar, Madhu J. Kumar, and C. Sathish, "Health experts for pets using mobile apps", International Conference on Algorithms, Methodology, Models and Applications in Emerging Technologies (ICAMMAET), Chennai, p1-2, (2017). [https://doi.org/10.1109/icammaet.2017.8186740]
  • Eka-Setyarini, Darma-Putra, and Adi-Purnawan, “The Analysis of Comparison of Expert System of Diagnosing Dog Disease by Certainty Factor Method and Dempster-Shafer Method”, 1IJCSI International Journal of Computer Science Issues, 10(Issue 1, No 2), p576-584, January), (2013.
  • PET MD, https://www.petmd.com/symptom-checker?icn=Tools_SubNav&icl=1_symptom_checker
  • Azinyangi, https://www.samsungcard.com/personal/mobile/pet/UHPPMO0114M0.jsp?click=gnb_life_azinangi
  • S. H. Lee, “Design and application of inference engine for knowledge of tree structure diagnosis”, Master's thesis at SNU, (1995).
  • N. Kogure, https://terms.naver.com/list.nhn?cid=58401&categoryId=58401&so=st4.asc&viewType=&categoryType= (2014).
  • H. Choi, Y. Kang, M. Kang, “Pet Shop Recommendation System based on Implicit Feedback”, Journal of Korea Digital Contents, 18(8), p1561-1566, (2017).
  • Korea Animal Pharmacy Association, http://anipharm.net/anidict

저자소개

임지수(Ji-Su Im)

2015년 ~ 현 재: 덕성여자대학교 컴퓨터학

김다영(Da-Yeong Kim)

2015년 ~ 현 재: 덕성여자대학교 컴퓨터학과 재학

※관심분야:전문가 시스템, 챗봇, 음성인식

조수민(Su-Min Cho)

2015년 ~ 현 재: 덕성여자대학교 컴퓨터학과 재학

※관심분야:인공지능, 전문가 시스템, 챗봇

유견아(Kyeon-Ah Yu)

1986년: 서울대학교 제어계측공학과 공학사.

1988년: 서울대학교 제어계측공학과 공학 석사.

1995년: University of Southern California 컴퓨터학과 공학박사

1996년 ~ 현 재: 덕성여자대학교 컴퓨터학과 교수

※관심분야: 인공지능, 기계학습, 딥러닝 등

Fig. 1.

Fig. 1.
Dog’s Health Care System Diagram

Fig. 2.

Fig. 2.
Structure of Knowledgebase

Fig. 3.

Fig. 3.
Explanation sentence synthesis process

Fig. 4.

Fig. 4.
User Interface of Dr.Meong

Fig. 5.

Fig. 5.
Chatbot algorithm of Dr.Meong

Fig. 6.

Fig. 6.
Selection of specific symptom and diagnostic results

Fig. 7.

Fig. 7.
Example of explanation in natural language

Fig. 8.

Fig. 8.
Search results by drug name and diseases that often go by breed