Giter Club home page Giter Club logo

welbot's Introduction

서울시와 ICT콤플렉스가 함께하는 2020 ICT CoC 콕 AI 공모전 – WelBot팀

팀명: Welbot
팀원: 박건우, 변자민, 윤보현, 장승현
팀장 이메일: [email protected]

1. 팀 설명

"Welbot"이라는 팀명은 Welfare + Chat Bot의 합성어로, 복지 수준 향상에 기여하는 챗봇을 만들고자 하는 팀입니다.
저희는 박건우, 변자민, 윤보현, 장승현 4인으로 구성된 팀입니다.

2. 지원 및 구성 동기

WelBot팀은 기존에 구성원 각자가 자연어 처리에 대해서 관심이 많았고 2020 ICT CoC콕 AI 공모전에 참가하기로 결정하면서 이번 공모전의 주제가 ‘서울시 공공서비스 문제해결을 위한 알고리즘 및 어플리케이션 개발’임을 확인하고 자연어 처리의 대표적인 활용 분야인 챗봇을 이용하여 서울시의 공공서비스의 문제점을 해결하고 싶다는 생각에서 결성되었습니다.

WelBot팀이 이번 공모전을 준비하면서 관심을 가진 문제점은 홀몸 노인들의 고독사 문제였습니다. 2019년 기준, 서울시의 홀몸 어르신의 수는 약 365,800 명에 달합니다. 홀몸 어르신들의 경제적 어려움과 심리적 소외, 그리고 이로 말미암은 홀몸 어르신의 고독사 문제는 우리 사회가 직면한 심각한 사회적 문제입니다.
이를 해결하기 위해 정부와 지자체 차원에서 다양한 지원 정책들이 마련되고 있지만, 대부분이 경제적 어려움을 해결하는 것에 한정되어 있습니다.
하지만 홀몸 어르신의 고독사 문제에는 심리적 외로움이 매우 큰 영향을 미칩니다. 한 연구 결과에 따르면 홀몸 어르신의 경우 동거 어르신에 비해 주관적 신체건강정도, 정신건강정도가 모두 낮고, 고독감 수치와 우울점수는 매우 높은 것으로 나타났습니다. 해당 연구에서는 고독감이나 사회적 지지의 정도에 따라 자살생각의 정도가 달라진다고 말하며, 이를 위해 심리사회적 요인들의 변화로 노인들의 자살에 대한 생각이 시도로 연결되지 않는 완충효과를 가질 수 있도록 하여 자살을 예방할 수 있다고 합니다. 이러한 효과를 위해 홀몸노인의 거주지에 이웃을 파견하거나 복시사를 파견하는 정책들이 시행되고 있지만 이는 인적 자원이 많이 필요하다는 단점과 지속성이 실현되기 힘들다는 단점이 있습니다.

WelBot 팀은 이러한 문제점을 챗봇을 이용하여 해결하고 보완할 수 있다고 생각했습니다. 홀몸 노인들의 사회활동을 독려하고 지역 사회 네트워크나 지역의 노인 네트워크의 형성을 도울 수 있는 챗봇이 있다면 정책의 부족한 부분을 보완할 수 있고 궁극적으로 홀몸 노인들이 외롭지 않고 사회활동을 할 수 있는 사회를 구성하여 고독사 문제를 해결할 수 있을 것이라고 기대하고 해당 챗봇을 구현하기로 결정했습니다.
Welbot팀이 정한 챗봇의 이름은 “짝봇”입니다. 홀몸 노인들의 짝이 되는 챗봇이라는 의미에서 이름을 다음과 같이 정하게 되었습니다. 친구와 같이, “짝”으로서 어르신들에게 다가감으로써 심리적 외로움을 덜어주는 역할을 해줄 것이라는 기대감을 담은 이름이라고 할 수 있습니다.
WelBot팀이 의도한 짝봇의 목적은 홀몸 노인들에게 서울시 지역사회에 대한 정보를 제공하고 어르신들이 이용할 수 있는 시설이나 프로그램 등을 제공하여 그들의 사회활동 참여와 지역 사회 네트워크 참여를 독려하고자 함입니다.

“짝봇”은 서울시의 홀로 거주하시는 홀몸 노인들에게 거주 지역구의 복지시설과 경로당의 정보, 근처 산책로 정보, 서울시에서 제공하는 평생교육 프로그램 정보와 여러 문화 행사의 정보를 제공하고자 합니다. 이와 같은 정보들을 제공하고자 하는 이유는 복지시설이나 경로당의 경우 지역 노인 네트워크가 형성될 수 있는 공간이기 때문이고 산책로, 평생교육프로그램, 문화행사는 홀몸 노인들의 사회활동을 도울 수 있기 때문입니다.
WelBot팀은 홀몸 노인들의 사회활동이 충분히 이루어지고 그들이 지역 사회 네트워크에 참여할 때 그들을 이웃, 기관 등의 시야 안에 두어 효율적으로 노인에 대한 정책을 구성하고 프로그램들을 기획할 수 있고 이것이 이루어진다면 궁극적으로는 홀몸 노인들의 고독사를 방지하는 효과를 가져올 수 있다고 생각합니다.
WelBot 팀은 짝봇이 홀몸 어르신들에게는 우울감을 방지하고 심리적 안정감을 주는 데에 집중했습니다. “짝봇”은 기존의 여타 챗봇들과는 다르게, 홀몸 노인들의 심리적 외로움을 방지하고 해소하는데 초점을 맞춘 챗봇입니다. 그러기에 응답으로 받게 되는 텍스트의 어조나 분위기도 밝게 유지하도록 최대한 노력했습니다.

이와 같이 WelBot 팀은 홀몸 어르신의 고독사라는 사회적 문제를 해결하기 위해 홀몸 어르신들의 심리적 외로움을 해소하는 방안을 챗봇 “짝봇”을 통해 제시하고자 합니다.

3. 기능

위에서 언급한 것처럼 “짝봇”은 지역구의 경로당/복지시설 정보, 서울시의 문화행사 정보, 평생교육프로그램, 산책로에 대한 정보를 제공할 것입니다.
해당 정보들의 출처는 모두 서울데이터광장입니다.

3.1 경로당/복지시설 정보

경로당/복지시설의 경우 사용자가 입력한 지역구를 기반으로 이용가능한 시설을 랜덤으로 보내주게 됩니다. 사용자가 ‘경로당’ 또는 ‘복지시설’이 포함된 발화를 할 경우에 해당 시나리오는 시작되고 인텐트가 호출되게 됩니다.
경로당/복지시설 관련해서는 해당 시설의 이름, 주소, 전화번호를 제공합니다.

3.2. 문화행사 정보

문화행사의 경우 사용자가 ‘문화행사 알려줘’와 관련된 문장이나 관심있는 장르를 입력하면 현재 참여가능한 문화행사에 대한 정보를 알려주게 됩니다.
문화행사의 경우 위치, 행사기간, 신청기간, 홈페이지 링크, 이용가능시간 등을 제공합니다.

3.3 평생교육프로그램

평생교육프로그램의 경우 사용자가 요청할 경우, 관심 분야를 입력받고 온/오프라인 교육 중 선택하게 한 후에 조건에 맞는 강좌들을 추천하게 됩니다.
평생교육프로그램 관련 이름, 신청링크, 내용, 신청기간, 교육기간, 학습대상, 정원 등을 제공하게 됩니다.

3.4 산책로

산책로의 경우 사용자의 지역구를 기준으로 산책로를 추천하게 됩니다.
산책로의 경우 길이, 난이도, 산책로 이름, 산책로 관련 내용 등을 제공하게 됩니다.

4. 구현

4.1 사용 데이터

서울 열린데이터광장[https://data.seoul.go.kr/]의 오픈 데이터를 사용하였다. 사용한 데이터의 목록은 다음과 같다.

• 경로당: 서울시 강북구 경로당 현황, 서울특별시 경로당 정보
• 공공서비스: 서울시 교육 공공서비스예약 정보, 서울시 시설대관 공공서비스예약 정보, 서울시 진료 공공서비스예약 정보
• 노인교실: 서울시 강북구 노인교실 현황, 서울시 구로구 노인종합복지관 교육대학 프로그램 정보, 서울특별시 노인교실 정보
• 두드림길: 서울 두드림길 정보
• 문화: 서울시 문화공간 현황, 서울시 문화위치정보 장르코드 정보, 서울시 문화행사 공공서비스예약 정보, 서울시 문화행사정보 자치구코드 정보, 서울시 장르별 문화공간 현황, 서울특별시 문화공간 정보, 서울특별시 문화행사 정보
• 복지시설: 서울시 강동구 어르신 복지시설 현황, 서울시 강북구 재가노인복지시설 현황, 서울시 어르신 복지시설 현황, 종로구 노인복지시설현황
• 평생교육: 서울시 평생학습포털 사이버강의 정보, 서울시 평생학습포털 오프라인강좌 정보, 서울시 평생학습포털 평생교육기관 현황

4.2 플랫폼: Google Dialogflow 구성

구글의 Dialogflow는 간단하게 대화식(챗봇) 플로우를 구현할 수 있게 하는 자연어 이해(Natural Language Understanding) 플랫폼입니다. Dialogflow는 Term Reinforcement를 기반으로 Few-shot learning을 지원하여 간단하게 자연어 이해를 학습할 수 있도록 돕습니다. 학습된 챗봇의 대화 플로우는 페이스북 메세지, 네이버 라인 등의 다양한 채팅 플랫폼으로 확장이 가능하므로 이후 서비스 제공에 유리합니다.

4.3 User-Interface 구현

챗봇 사용자의 예상 질문과 이에 대한 대답을 구성하는 Intent와 자연어 객체 인식을 위한 Entity를 작성하여 연동시키는 방식으로 대화식 플로우를 구현하였습니다.

4.4 Webhook 구현

Django REST Framework를 사용하여 구성하였습니다. JSON 형태로 내용을 주고받아 빠르게 정보를 주고받을 수 있을 수 있다는 장점, python을 이용하여 구현하고 이용할 수 있다는 장점 때문에 Django REST Framework를 선택하였습니다.
사용한 데이터들은 DB로 구축하였고, UI에서 보내진 질문을 DB에서 찾아, 정답값을 반환하는 방식으로 질문에 대답할 수 있는 기능을 구현하였습니다.
또한 사용자가 원하는 데이터가 DB에 존재하는지, 더 나아가 지금 기간에 참여할 수 있는 정보인지 등을 판단하여 사용자에게 필요한 데이터만을 제공하도록 하였습니다.

5. Reference

  1. 2019년 서울시 독거노인 현황 (성별/동별) 통계: https://data.seoul.go.kr/dataList/10178/S/2/datasetView.do
  2. 김기태, 최송식, 박미진, 박선희, 고수희, & 박현숙. (2011). 가족구조와 심리사회적 요인이 노인의 자살생각에 미치는 영향. 노인복지연구, 52, 205-228.

welbot's People

Contributors

afnf33 avatar narcotis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.