인천대학교 통학버스 챗봇
- 홍가인
- 인천대학교
- 작품구분일반형
- 공개여부비공개
- 카테고리정보, 웹/앱, 기타
- 등록일2020-06-19
- 팀원(공동개발자)김나연, 김현정
- 출품 경진대회2020년-1학기 산학 캡스톤디자인 경진대회(학생팀 & 멘토 모집)
- 0
- 0
- 2,013
상세설명
1. 수행배경
|
|
|
|
이 뿐만 아니라 티켓 발권에 관한 불편함도 존재하였습니다. 통학버스를 이용하는 학생들 중 온라인 발권이 되지 않아 직접 교내 복지회관 1층까지 가야 한다는 불편함을 호소하는 학생들이 많이 있었습니다.
이러한 점들을 해소하기 위하여 저희는 통학버스에 관한 모든 정보를 제공해주는 매체를 개발할 필요성을 느꼈습니다. 그리고 그 매체를 선정하는 데 있어서 학생들에게 접근성이 가장 편리한 것을 우선 순위로 두고 고려해보니 챗봇을 개발할 필요성을 느꼈습니다. 챗봇 시스템은 카카오 I 오픈빌더를 이용하여 구축하고, 챗봇에는 통학버스 노선, 노선별 승/하차 시간 및 장소, 티켓 금액, 기사님 연락처 데이터를 등록하였습니다.
구체적인 목표 사항으로는 개인이 원하는 노선 또는 정류장을 검색하여서 원하는 경로만 쉽게 확인할 수 있고, 정류장을 검색하면 승차 장소와 해당 시간을 확인할 수 있습니다. 특히, 장소의 경우에는 헷갈리지 않도록 각 승하차 장소마다 로드맵 사진을 첨부하여 위치를 한 눈에 볼 수 있게 구성하였습니다. 또한 긴급변동사항의 경우 통학버스 챗봇과 플러스 친구가 되어있으면 모두가 알림을 받을 수 있도록 하였습니다.
2. 수행기간
추진일정표 | 일련번호 | 주요내용 | 추진일정 | 기간 (주) | ||
4월 | 5월 | 6월 | ||||
1 | 카카오톡 플러스친구 개설 | ∨ | | | 1주 | |
2 | 카카오 I 오픈빌더 참여 신청 | ∨ | | | 1주 | |
3 | 오픈빌더 시나리오 구성 | | ∨ | | 2주 | |
4 | 통학버스 데이터 등록 | | | ∨ | 1주 | |
5 | 지도 노선 코딩 및 실험 | | | ∨ | 2주 | |
6 | 마무리 테스트 | | | ∨ | 1주 |
가장 먼저 챗봇 플랫폼을 설계하기 위해 카카오톡 플러스 친구를 개설하였습니다. 4월 6일에 카카오톡 플러스 친구를 개설 신청해놓고 신청 수락이 날 때까지 기다렸습니다. 신청 수락이 4월 10일에 완료되었습니다. 이에 이어서 카카오 I 오픈빌더 참여 신청도 4월 13일에 진행하였습니다. 카카오 I 오픈빌더 참여 수락이 날 때까지 기다린 결과, 4월 17일에 참여 수락이 났습니다. 챗봇과 플러스 친구를 연동시켜서 작업을 할 setting 환경이 완료되어서, 4월 20일부터 본격적으로 챗봇 제작에 관한 도움말이나 주요 기능 사용법을 보고 공부하는 시간을 5월 1일까지 가졌습니다.
5월 4일부터 5월 15일까지 카카오 I 오픈빌더에 대한 기본 시나리오를 구성하였습니다. 완료한 기본 시나리오에 대해 5월 18일부터 5월 20일까지 간단한 작동 테스트를 거친 후, 5월 21일부터 5월 26일까지 더욱 상세한 시나리오 구성을 진행하였습니다. 5월 27일부터 5월 29일까지 전체적인 시나리오에 대한 작동 테스트를 거쳐서 모든 챗봇 시나리오에 대한 테스트를 구동하였습니다.
3. 개발작품 설명
- 카카오톡 플러스친구 개설
챗봇과 연결시켜서 구동할 플러스친구를 개설하였습니다. 저희 팀의 이름대로 ‘인천대학교 BinUS’ 라는 채널 이름으로 개설하였습니다. 통학버스 관련 챗봇이므로 카테고리는 자동차/교통 > 교통으로 설정하였고, 학교 기관에서 쓰이는 챗봇이므로 카테고리는 기관/단체 > 공공/행정으로 설정하였습니다.
- 카카오 I 오픈빌더 참여 신청
챗봇 제작을 위해 카카오 I 오픈빌더 신청을 하고 권한을 부여 받았습니다.
- 오픈빌더 시나리오 구성
기본적으로 셋팅 되어 있는 기본 시나리오 외에 저희가 만들 챗봇에 관한 내용을 담을 시나리오들을 구성하였습니다. 큰 시나리오로 승하차 장소, 티켓 금액, 기사님 연락처, 노선 및 시간, 기타 발화를 추가하였습니다. 각 시나리오 안에는 통학버스가 다니는 지역인 송내, 수원, 일산, 청라, 광명에 대한 세부 시나리오를 연결시켰습니다. 기타 발화 시나리오 안에는 첫 인사, 끝 인사, 사과 시나리오를 넣어서 챗봇을 처음에 작동시킬 때 첫 인사로 반갑게 맞이하고, 마지막에는 끝 인사로 사용을 유도하는 식의 시나리오를 연결시켰습니다.
- 시나리오 블록 내용 구성 및 데이터 등록
다양한 시나리오에 속한 각 블록의 세부 내용들을 채워주었습니다. 여러 가지의 패턴 발화를 넣어서 사용자가 원하는 응답을 얻는 과정을 이끌어 내었습니다. 챗봇 내에서 버튼을 눌러서 구동하는 것이 아닌, 발화를 입력하여도 원하는 응답과 정보를 얻을 수 있게끔 사용자 발화에 대한 머신러닝 학습을 반복해서 진행하였습니다. 엔티티를 등록하고 분류하여서 챗봇이 비슷한 맥락의 단어들을 알아듣고 묶어서 정리할 수 있게끔 학습시켰습니다. 예를 들어, bus.location 엔티티에서는 통학버스가 지나는 노선에 해당하는 지역들을 모두 포함시켰습니다. 승하차 장소를 응답해주는 블록의 경우에는 승하차 장소의 로드뷰 사진과 장소에 관한 상세한 설명을 넣어서 사용자가 한눈에 알아보기 쉽고 이해하기 용이하도록 응답을 작성하였습니다. 머신러닝 학습을 통해 챗봇의 성능을 강화시켰습니다. 수집한 작년 기준의 통학버스 관련 데이터들을 구성된 시나리오와 블록에 등록하는 작업을 하였습니다.
- 지도 노선 코드 작성
통학버스의 실제 노선을 지도 위에 나타내기 위해서 T map api를 이용하여서 javascript 기반으로 코드 작성을 진행하였습니다. 이번 학기는 코로나 19로 인해 통학버스를 운행하지 않는 관계로, 작년 2학기 기준으로 통학버스 실제 노선을 지도 위에 구현해 보았습니다. 출발지점과 도착지점을 설정하고, 경유지점을 찍어주면 실시간으로 교통 상황을 탐색하여서 최적 경로를 찾아주는 API 코드를 이용하여서 송내, 수원, 광명, 청라, 일산 노선을 각각 자세하게 구현하였습니다. 노선 별로 색깔을 달리하여 차별화를 두었습니다.
- GPS 수신기 실험
4. 활용방안
이번 2020년 1학기에는 코로나로 인해 실제 통학버스가 운행하지 않아서 임의로 조원 중 한 명이 대표하여 GPS장치를 가지고 시외 버스를 타며 위치 추적을 하는 실험으로 대체 하였지만, 2020년 2학기에 실제로 통학버스에 Gper 수신기를 부착하여 운행 한다면, 실제로 통학버스를 이용하는 학생들의 편리성이 매우 높아질 것입니다. 지도에 실시간으로 버스의 위치를 마커로 찍어 학생들에게 정보를 전달하는 매체가 아예 없었던 전에 비해, 학생들이 통학버스에 관한 편리성의 인식률이 높아져 이에 따른 이용률 자체가 증가할 것입니다. 또한 실시간 위치정보 뿐만 아니라 통학버스의 관련 정보들을 알림으로 받을 수 있어 통학버스가 외부 시내버스에 비해 가격도 저렴한 것을 학생들이 인지 후 경제적으로 도움이 될 것이고, 통학 버스만의 이벤트관련 사항을 알림으로 받으며 효율적으로 이용가능 할 것입니다.