집단이기주의

cdc wiki
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 의료 정보 제공 어플, 핸디 메디

영문 : Handy-Medi

과제 팀명

집단이기주의

지도교수

이병정 교수님

개발기간

2020년 3월 ~ 2020년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20**9200** 문상화

서울시립대학교 컴퓨터과학부 20**9200** 안나현

서울시립대학교 컴퓨터과학부 20**9200** 정수정

서론

개발 과제의 개요

개발 과제 요약

◇ 의료 정보를 쉽게 얻을 수 있는 application을 제작하고자 한다. 핸디메디(Handy-medi)는 내 손 안의 의료 정보라는 의미를 담아 결정된 개발 과제 및 application의 이름이다. 개발 과제에서 추구하는 바는 쉽고 편리하게 의료 정보를 볼 수 있게 하는 것, 신뢰할 수 있는 의료 관련 정보를 최대한 많이 제공하는 것이다. 현대인이 가장 자주 들여다보는 것이 스마트폰이므로 application으로 서비스를 제공하여 접근의 편리성을 높인다. 또한 공공데이터나 병원 사이트 등 신뢰할 수 있는 출처에서 데이터를 수집함으로써 데이터의 질과 양을 높인다. 궁극적으로 사용자들이 질병이나 복용하는 약에 대해 쉽게 알게 하고, 진료를 받거나 약을 처방받을 때 의문을 던지거나 불안감을 덜어낼 수 있도록 한다. 의약품, 질병, 병원정보 등의 지식을 알게 되고 스스로 확인해봄으로써 건강한 삶을 유지할 수 있다.

개발 과제의 배경

◇ 집단이기주의 팀 구성원들은 공통적으로 의료 사고나 부작용에 대한 걱정과 경각심을 가지고 있다. 이러한 불안감은 발생 가능한 부작용에 대해 충분히 전달받지 못했거나 진료한 의사가 병명을 정확히 알려주지 않아 처방받은 약품을 검색하여 알아본 경험 등에서 비롯된 것이다. 또한 팀 구성원들은 의료기사를 지나치지 않고 읽어본다. 의료기사를 읽으면서 느꼈던 것은 의료 정책, 관련 법, 보험 등에 대한 무지함이다. 결론적으로 의료 정보에 대해 모르는 것이 많고, 궁금한 것은 직접 검색하여 알아보는 것이 불편하다는 생각에서 개발 과제를 선정하게 되었다.
◇ 과거에 비해 인터넷에 존재하는 의료 정보가 증가하였지만 이 정보들은 하나의 페이지로 관리되지 않는다. 병원마다 자신들이 제공하고 싶은 질병, 증상, 치료법 등의 정보를 제공한다. 의료 정보들이 인터넷에 흩어져 있어서 검색 시 불편함이 존재하기 때문에 필요하다. 이렇게 흩어진 정보들을 수집하여 핸디메디에 집약시킨 후 사용자에게 제공한다. 사용자는 검색어를 달리하며 여러 페이지를 돌아다니지 않고 의료정보를 검색할 수 있다.
◇ 의약품, 질병, 증상 등의 의료 정보를 제공할 때 가장 중요한 것은 신뢰성이다. 즉, 사용자가 신뢰할 수 있는 데이터를 얻어서 제공하는 것이 중요한 과제이다. 이를 위해 관련 정보를 제공하는 페이지들을 둘러본 결과, 최초에 데이터가 개방된 이후 갱신 주기를 지키지 않아 최신 데이터가 아닐 수 있고, 공공데이터 포털에서 제공하는 의료 데이터들은 대부분이 서울, 경기도와 같은 주요지역 내의 현황으로 치우쳐져 있고, 질병과 같은 의료 전문 데이터를 제공하는 병원 페이지들은 이를 외부에서 가져다 사용할 수 없게 하는 등의 문제가 있었다. 의료 지식 접근의 불편함, 어려움이 개발 과제의 배경에도 개발에도 영향을 끼치는 것이다. 이러한 문제의 개선점은 정보 제공자에게 있다. 공공데이터 포털은 갱신 주기를 지키고, 작은 지역이라도 정보를 제공해야 하며, 병원이나 의학전문사이트들은 의료 정보를 보여 주는 것뿐만 아니라 가져다 쓸 수 있게 제공해야 한다.

개발 과제의 목표 및 내용

◇ 다양한 페이지에 존재하는 의료 정보를 최대한 많이 모아서 제공한다. 이때 신뢰할 수 있는 페이지들의 데이터만 수집한다. 의약품, 부작용, 증상, 질병, 병원 등의 질의 조건으로 사용자가 검색하면 수집한 데이터에서 관련된 내용을 찾아 사용자가 보기 편한 형태로 제공하는 기능을 개발한다.
◇ 사용자의 병원이나 약국 선택에 도움을 준다. 지도 상에서 위치 기반으로 사용자 주변의 병원이나 약국을 검색하는 기능, 같은 동네의 회원이 평가한 병원을 보여주는 기능, 회원들간 정보 공유 게시판을 개발한다.
◇ 사용자가 제시간에 약을 복용할 수 있도록 약품과 시간 설정이 가능한 복용 알람을 개발한다.
◇ 의료기사를 카테고리별로 분류하여 사용자가 관심있는 의료 기사만 선택해 볼 수 있는 기능을 개발한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

전 세계적인 기술현황

◇ Augmented Analytics(증강 분석)

- 증강 분석은 통계 및 언어 기술을 사용해 데이터 분석에서 데이터 공유 및 Business Intelligence에 이르기까지의 데이터 관리 성능을 향상시킨다. 이 기능은 빅데이터를 좀 더 유용한 Data set으로 변환해 주는 능력과 같은 맥락이다. 데이터 분석 소프트웨어는 머신 러닝과 NLP를 사용하여 사람이 하는 것처럼 대규모로 데이터를 분석해 상호 작용한다. 이러한 작업은 데이터 수집 및 준비에 대부분의 시간이 소비된다. 증강 분석의 목표는 시간 절약을 위해 데이터 수집 및 데이터 준비 프로세스를 자동화하는 것이긴 하나, 증강 분석의 실제 궁극적 목표는 데이터 과학 팀을 AI로 완전히 대체하여 일반인들도 쉽게 이용 가능하게 하는 것이다.

◇ Continuous intelligence(지속적 지능화)

- 실시간 분석이 비즈니스 운영에 통합되는 설계 패턴으로, 현재와 과거의 데이터를 처리해 사건에 대응하는 행동을 정한다. 이는 의사 결정을 자동화하거나 지원한다. CI는 사물 인터넷 장치와 함께 사용하면 기업이 IoT 분석을 사용하는 방식을 크게 변화시킬 것이라고 언급되고 있다. CI는 IoT 분석 시장에서 통합되어 실시간으로 고급 분석을 수행할 수 있게 한다. 스트리밍 분석 및 스트리밍 기술의 등장 및 확장으로 인해 IoT 데이터에서 지속적으로 가치를 분석하고 추출 할 수 있는 능력이 커지고 있다. CI는 의사 결정 자동화 또는 의사 결정 지원을 제공한다. CI는 증강 분석, 이벤트 스트림 처리, 최적화 등 여러 기술을 활용한다. CI는 의사 결정 알고리즘에서보다 관련성 높은 실시간 데이터를 포함하기 때문에 광범위한 운영 의사 결정에서보다 더 나은 결과를 제공한다. 개인은 ms단위로 대량의 데이터를 이해할 수 있으므로 더 많은 대안을 보다 자세하게 평가할 수 있다.

◇ Federal Machine Learning (연합 기계 학습)

- 분산된 환경에서 사용자의 데이터를 중앙 서버에서 학습하지 않고 개인의 휴대폰에서 모델을 학습한다. 그리고 학습된 결과를 중앙 서버에서 취합한 후, 개선된 공통 모델을 생성하는 기술이다. 연산 속도 증가뿐만 아니라 정보 보안 측면에서 우수한 성능을 보인다. 개인의 데이터를 중앙 서버에 업로드 시키는 과정에서 개인 정보가 유출되고 이를 악용할 수 있기 때문이다. 스마트폰은 사용량에 따라 기계학습 모델을 개인의 휴대폰에서 사용자의 특성에 맞게 학습하고, 이후 많은 사용자의 학습 내용이 중앙 서버에 저장된다. 서버에서는 개인들이 학습한 모델을 바탕으로 더 정교한 학습 모형을 만드는 방향으로 진행된다.

특허조사 및 특허 전략 분석

◇ 양방향 LSTM-ATTENTION 기반 한국어 게시글 분류 방법 (국제특허분류 G06F 40/20)

- ‘단어의 흐름’을 바탕으로 카테고리 분류를 하기에 적합한 알고리즘인 LSTM을 기준으로 양방향 LSTM과 Attention을 활용한 한국어 게시글 분류 모델을 이용하여 한국어 게시글 등의 한국어 문서 분류에 적합한 게시글 분류 방법을 제공한다.

- 한국어 비정형 데이터의 카테고리 자동 분류 방법

① 인터넷 게시판에 게시된 게시물로부터 비정형 데이터의 문자열을 수집하는 단계

② 수집된 비정형 데이터의 문자열에 대해 정보 추출 및 문자열 처리와, 문자 토큰과 처리를 포함하는 전처리를 수행하는 단계

③ 전처리된 벡터 표현을 양방향 LSTM 기반 분류기(또는 LSTM-Attention 결합 분류기)에 입력하는 단계

④ 양방향 LSTM 기반 분류기(또는 LSTM-Attention 결합 분류기)에 의해 게시물의 카테고리를 자동으로 분류하는 단계

- 전처리 방법

① 텍스트 문서를 파싱하여 본문, 범주 정보를 추출하는 단계

② 문자열 내의 줄바꿈 문자, 특수 문자, 영어를 제외한 외국어 문자를 삭제하는 단계

③ 자동 띄어쓰기 및 WPM(Word Piece Model)을 적용하는 단계

③ Word2Vec 라이브러리를 활용하여 단어의 벡터 표현으로 변환하는 단계

- 양방향 LSTM 분류기: 2개의 BasicLSTMCell(순방향, 역방향)을 이용하고, 순방향 BasicLSTMCell의 마지막 출력 값과 역방향 BasicLSTMCell의 마지막 출력 값을 결합하여 최종 카테고리 분류에 사용하도록 구성된다.

- 양방향 LSTM-Attention 결합 분류기: 양방향 LSTM모델의 순방향 BasicLSTMCell의 출력 값들과 역방향 BasicLSTMCell의 출력 값들을 Attention 알고리즘에 넣어 가중치가 높은 정보들을 통해 나온 출력값을 최종 카테고리 분류에 활용하도록 구성된다.

◇ 다중 스레드 방식의 웹 크롤링 시스템 (국제특허분류 G06F 16/00)

- JCA(Java Client Application), JSA(Java Server Application), DB 서버, 웹서버로 구성되며, JCA와 JSA에 각자의 독립된 스레드를 세 개 이상 나뉘어 작업을 실행함으로써, 독립된 환경에서의 클라이언트가 큐와 스레드를 이용하여 빠르고 신뢰성이 높은 웹 문서를 제공하는 다중 스레드 방식의 웹 크롤링 시스템을 제공한다.

- 구성원의 역할

◾ JCA: 인터넷에서 URL 정보를 탐색, 수집한 데이터를 정형화된 정보로 가공한 후, JSA에게 전송한다.

◾ JSA: JCA들을 관리하고, JCA로부터 받은 정보를 DB 서버에 전송하는 역할을 한다.

◾ DB 서버: JSA로부터 받은 정보를 저장하고 웹 서버로부터 요청받은 정보를 전송한다.

◾ 웹 서버: 사용자가 필요한 정보를 DB 서버에게 요청하고 응답받은 정보를 가공하여 사용자에게 보여준다.

- JCA는 스레드 1B, 스레드 1C를 생성하고, JSA에 연결을 요청하여 연결되면 스레드 1A를 생성한다. 스레드 1A는 전송받은 Topic URL로 접속하여 수집할 데이터의 URL을 생성하고 URL Queue Table에 저장한다. 스레드 1B는 URL Queue Table로부터 Data URL을 로드하여 탐색‧수집‧가공 후 Data Queue Table에 저장한다. 스레드 1C는 Data Queue Table을 체크하여 null이 아닐 경우 암호화하여 JSA에게 전송한다.

- JSA는 스레드 2A, 스레드 2B, 스레드 2C를 생성한다. 스레드 2A는 Root URL을 탐색하여 Topic URL을 생성하고, 생성한 Topic URL을 URL Queue Table에 저장한다. 스레드 2B는 Data Queue Table을 체크하여 null이 아닌 경우 데이터를 로드 후 DB 서버에 전송한다. 스레드 2C는 JSA가 접속하면 스레드 2D를 생성한다. 스레드 2D는 JSA를 관리하고 데이터를 송/수신하며 JSA로부터 수신받은 데이터가 암호문일 경우 복호화하여 Data Queue Table에 저장한다.

기술 로드맵

기술로드맵

시장상황에 대한 분석

경쟁제품 조사 비교
◇ 의협신문

- 의협신문은 대한의사협회가 발행하는 의학전문 언론이다. 뉴스 기사를 의사‧협회, 보험‧제도, 의원‧병원 등의 카테고리별로 제공하고, 인기기사와 최신기사의 목록을 제공한다. 기사 이외에도 포토뉴스, 카드뉴스, 웹툰 등의 컨텐츠도 제공한다.

- 전체 기사의 개수는 약 150,000개이고, 각 카테고리는 대략 5,000개~30,000개의 기사를 포함한다. 우리가 개발하려는 application과 비교하였을 때, 의협신문은 더 다양한 종류(카테고리)의 기사를 제공하고 기사를 제공하는 것이 신문의 유일한 목적이기 때문에 데이터의 양이 훨씬 많다.

- 의협신문의 기사는 의사‧협회, 보험‧제도, 경영‧제테크, 의원‧병원, 학술‧학회, 의대‧전공의, 제약‧산업, 의료기기‧IT, 기획‧특집, 학술포커스 총 10개의 카테고리로 분류되어 있다. 의협신문은 일반인 보다는 의료 관련 종사자들이 주로 보는 신문이기 때문에, 카테고리 분류가 그러한 의료 관련 종사자들의 초점에 맞춰져 있다고 생각된다. 우리가 개발하려는 앱은 카테고리의 개수는 적지만 조금 더 일반인들의 시선에 맞추어 의료사고, 보험‧제도, 의료기기‧IT, 코로나로 분류하여 제공하고자 한다.

◇ 병원이나 공공기관에서 제공하는 질병백과

- ‘삼성서울병원’은 웹 사이트의 형태로 의료정보를 제공한다. 질병정보만 제공하는 것이 아니라 영양정보, 운동정보 등 건강한 삶을 위한 다양한 health 정보를 제공한다. 또한 페이지 구성이 병원 운영 및 홍보에 초점을 맞추고 있다. 진료예약, 브랜드 가치 등이 가장 크고 눈에 띤 자리에 위치해 있다. 뉴스도 제공하지만 뉴스 내용들을 살펴보면 삼성서울병원이 관련된 긍정적인 뉴스만 제공함을 알 수 있다.

- 서울아산병원은 웹 사이트의 형태로 의료정보를 제공한다. 삼성서울병원과 마찬가지로 다양하고 전문적인 건강정보를 제공하고 있으며 병원의 운영 및 홍보에 집중하고 있다.

- 의약품안전나라는 웹 사이트의 형태로 의료정보를 제공한다. 식품의약품안전처에서 제공하는 정보들로 약물 특허, 임상시험정보 등 신뢰성이 높고 다양한 의료정보를 제공한다. 또한 마스크, 손 소독제와 같이 의약품 관련 최신 정보들이 빠르게 갱신된다. 그러나 의악 및 약학 관련 종사자들에게 유용한 정보들이 더 많이 제공되고 있다.

◇ 애플리케이션

- 의료 분야에서 유명한 앱들을 중심으로 비교해 본 결과, 많은 앱들이 병원 검색과 약국 검색, 본인의 의료 정보를 관리하는 기능과 같이 대부분 비슷한 기능들을 기본적으로 보유하고 있다. 그러나 일반인들이 가장 궁금해하고 두려워하는 질병에 대한 정보를 제공해 주는 앱은 많지 않았다.

- 똑닥의 경우, 주변 병원 예약 및 접수 가능, 약국 찾기, 처방전 조회, 건강 정보 관리, 마스크 재고 확인 기능이 가능한 것을 확인할 수 있었다. 그러나 예약, 접수 기능의 경우 작동하는 기기가 한정적이라는 한계가 있었다. 굿닥의 경우, 주변 병원, 약국 찾기, 원격 진료, 예약 접수, 병원 후기, 마스크 재고 확인과 같은 기능이 있었다. 원격 진료 기능도 있었으나 원활히 진행되지 않고 있다는 의견이 상당수이다. 착한 의사는 앞에서 언급한 두 앱과 다르게 인공지능을 이용한 증상 체크(증상을 말하면 유사도가 높은 질병 분석) 기능이 있었다. 그 외에도 병원비 비교, 병원 찾기, 건강검진 비교, 의료 기록 관리, 맞춤형 건강 뉴스와 같이 다양한 기능을 제공하는 것으로 보인다.

- 추가적으로 복약 알리미, 의약품 검색과 같은 앱의 경우, 단일된 기능만을 제공하고 있어서 의학적 편의를 한번에 해결해 주는 앱은 없다는 것을 알 수 있다. 그마저도 업데이트가 되지 않아 기능이 제대로 동작하지 않다는 사용자들도 상당수이다.

마케팅 전략
◇ 강점(Strength)

- 의료전문 사이트들의 경우 공식 이름을 검색하여 사이트에 접속하여 의료정보를 찾을 수 있다. 예를 들어 ‘두통’을 검색한다고 해서 의료전문 사이트들의 내용이 바로 나오는 것이 아니다. 사용자는 여러 페이지들을 참조하여 원하는 정보를 얻을 수 있다. 이에 반해 핸디메디는 메인 화면에 의료정보 검색창을 바로 두고, 의료전문 사이트에서 수집한 의료정보를 제공하여 접근성과 신뢰성에 강점이 있다. - 당장 진료를 받을 수 없는 상황일 때 핸디메디를 통해 완벽하진 않지만 가벼운 대처를 할 수 있다.

 ◇ 기회(Opportunity)

- 사회가 발전함에 따라 수명은 점점 늘어났고 이제는 100세 시대가 현실이 되었다. 이에 따라 사람들의 건강에 대한 관심도 점점 증가한다. 이러한 시대 상황에 비추어 볼 때 의료정보를 편리하게 얻을 수 있다면 건강하게 오래 살고 싶은 현대인들이 많이 사용할 것이다. - 코로나19로 인해 WHO에서는 팬데믹을 선언했고, 우리나라를 포함한 전세계의 나라들이 많은 피해를 입고 있다. 이렇게 전염병이 유행하는 상황에서 위급한 상황이 아닌 이상 병원에 가기가 꺼려진다. 이러한 상황에서 앱을 통해서 손쉽게 의료정보를 얻을 수 있다면 일반인들에게 많은 도움이 될 것이다. 전문가들은 코로나19가 올겨울에 2차 대유행을 일으킬 것이라 예상하고, 이러한 신종전염병의 발생주기는 점점 짧아질 것으로 예상하고 있다. 즉, 이것은 코로나19로 인한 단기적인 문제가 아니라 장기적으로 봤을 때에도 큰 도움이 될 것으로 예상된다.

◇ 약점(Weakness)

- 비슷한 성격의 경쟁 제품이 많아 이용자가 기대하는 정보가 존재하지 않으면 다른 경쟁 제품을 이용하게 될 가능성이 있다. 같은 의료 앱이라 하더라도 제공하는 정보에는 차이가 있기 때문에, 사용자는 조금 더 정확하고 깊은 정보를 제공하는 앱을 이용하는 것이 당연하다. - 의료 정보를 제공하는 앱이기 때문에, 의료 정보에 관심이 많은 사용자에 한해서만 사용될 가능성이 있다. 코로나19로 인해 의료 정보에 관심을 갖는 사람이 늘어나고 있는 추세이긴 하나, 의료 지식 습득에 대한 경각심을 일으켜 더 많은 이용자가 해당 앱을 사용하도록 유도하는 것이 중요할 것으로 판단된다.

◇ 위협(Threat)

- 코로나19와 같이 새로운 전염병이 발생할 경우 감염 여부를 확인하려는 이용자의 수가 늘어날 것이므로, 그에 따라 증상으로 질병을 판단하는 기능의 경우, 새로운 질병에 대한 증상 및 질병 정보 업데이트가 필요하다. 새로운 감염병의 경우 정보가 많지 않기 때문에 주기적으로 정보를 확인하기 위해 접속하는 사람들이 많아질 것이다. 따라서 새로운 전염병에 대한 뉴스와 각종 정보 제공이 필요할 것이다.

개발과제의 기대효과

기술적 기대효과

◇ 의료기사의 카테고리를 분류하는 과정에서 기사 내용을 더 완벽하게 전처리하기 위해 여러 시도를 해보고, 여러 가지 순환 신경망 구조와 activation function, optimizer, learning rate 등의 여러 가지 옵션들에 있어 다양한 시도를 해봄으로써 다중분류 모델의 성능 향상을 이룰 수 있다.

경제적, 사회적 기대 및 파급효과

◇ 의약품 정보를 제공함으로써 잘못된 의약품 구입을 방지하고 가벼운 질병에도 병원을 찾았던 사람들이 자가진단을 통해 병원에 가는 횟수를 줄이는 등 사용자에게 경제적인 이점을 제공할 수 있다.
◇ 일반인들이 다양한 의료정보에 쉽게 접근할 수 있게 되어 의료 종사자들에게 경각심을 주면서 병원의 오진이나 약국의 엉터리 조제 등을 줄일 수 있다.

기술개발 일정 및 추진체계

개발 일정

개발일정

구성원 및 추진체계

구성원 소개
  - 문상화 : 컴퓨터과학부 4학년으로 관심분야는 웹/앱 개발이다. 팀 내에서 구현된 애플리케이션 모듈을 통합 및 관리를 담당한다.
  - 안나현 : 컴퓨터과학부 4학년으로 관심분야는 빅데이터 분석이다. 팀 내에서 데이터베이스를 설계하고 관리하며 안드로이드 클라이언트와 서버 사이의 데이터 전송을 담당한다.
  - 정수정 : 컴퓨터과학부 4학년으로 관심분야는 머신러닝을 활용한 데이터 분석이다. 팀 내에서 의료기사 수집, 머신러닝을 활용한 의료 기사 분석을 담당한다.
추진체계

개발추진체계

설계

설계사양

제품의 요구사항

1. 기능적 요구사항

기능적요구사항.png


2. 비기능적 요구사항

-집단이기주의-비기능적요구사항.png

개념설계안

-집단이기주의-개념설계안.png

◇ 설계안 1: 사용자가 다양한 검색 조건을 통해 의료 정보를 제공받는다.
◇ 설계안 2: 다양한 사용자들과의 소통을 통해 의료 정보를 공유한다.
◇ 설계안 3: 사용자는 앱을 통해 카테고리를 선택해 의료 기사들을 접할 수 있다.
◇ 설계안 4: 주변에 거주하는 사용자가 방문했던 병원을 추천받을 수 있다.

상세설계 내용

1. UI Flow

-집단이기주의-Uiflow.png


2. 화면목록

-집단이기주의-화면목록.png


3. 화면 흐름도

-집단이기주의-화면흐름도.png


4. 유즈케이스 다이어그램

-집단이기주의-유즈케이스 다이어그램.png


5. Data Base 설계

- MySQL : 사용자 정보, 기사 관리를 위한 데이터베이스

- Redis : 기사 처리 시 queuing을 위한 데이터베이스

-집단이기주의-Mysql.png

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

◇ 설치 : apk 파일을 다운로드하여 설치한다.

-집단-설치1.png

-집단-설치2.png

◇ 실행

-집단이기주의-실행.png

◇ 프로토타입 사진

-집단-프로토타입1.png

-집단-프로토타입2.png

-집단-프로토타입3.png

-집단-프로토타입4.png

관련사업비 내역서

-집단이기주의-개발사업비 내역서.png

완료작품의 평가

1. 완료작품의 평가

-집단이기주의-완료작품평가2.png

2. 평가 및 분석 결과

◇ 네이버 기사 데이터를 엑셀 파일로 저장한 예시

-집단-엑셀.png

◇ 기사 데이터의 평균 단어 길이 수를 분석하여 학습모델의 maxlen 파라미터를 600으로 지정함

-집단-단어길이.png

◇ 초기 모델 학습 시 epoch를 100회 모두 수행하면 accuracy 값이 0.58로 낮음. epoch를 너무 많이하면 overfitting이 발생한다는 조사 결과를 통해 loss가 epoch 4회 이상 증가하면 EarlyStopping이 수행되도록 함
◇ 네이버 기사 분류에 사용한 모델은 epoch를 10회 수행하였으며 0.84448의 정확도를 가짐

-집단-정확도.png

◇ 네이버 기사 데이터 예측 결과로 뉴스 기사의 token과 예측된 결과의 예시

-집단-토큰.png

◇ open api의 호출 응답속도와 서버의 응답속도(분홍색 박스 부분) 측정 결과표

-집단-응답.png

향후평가

어려웠던 내용들
◇ 공공 데이터 포털에서 데이터를 가져올 때 데이터베이스에 저장하지 않고 open api를 호출하여 가져오는 방식을 택하여, 개발 과정에서 시간이 많이 지체되었다. open api를 호출하기 때문에 제공자 측의 서버에 영향을 많이 받았는데, 갑자기 데이터를 사용할 수 없게 되거나 시스템 에러가 발생하기도 했다.
◇ RNN, LSTM 모델에 대한 이해도가 부족하여 기사 분류 모델을 만들 때 어려움을 겪었다.
◇ overfitting을 방지하기 위해 다양한 시도를 할 때 학습 시간이 오래 걸려 개발 시간이 지연됐다.
◇ 안드로이드 스튜디오에서 어플리케이션에서 알람 기능을 구현할 때, 에뮬레이터의 자체적인 배터리 절약 옵션에 의해 시간이 정각에 울리지 않는 문제가 발생했다. 또한 안드로이드 스튜디오 알람 자체의 불안정성으로 알람이 제시간에 울리도록 하는 것에서 어려움을 겪었다.
◇ 증상 및 질병 데이터를 open api로 구할 수 없었다.


차후 구현할 내용
◇ 의료 분쟁 사례나 건강보험평가원에 의한 병원 및 약국 평가 등의 정보도 구해두었는데 이를 활용하여 더 풍부한 정보를 제공한다.
◇ 가입 탈퇴, 의료정보 스크랩, 프로필 사진 변경, 게시글에 댓글 달기 등의 기능을 구현한다.
◇ LSH 알고리즘을 이용하여 기자, 신문사 등만 다르고 기사의 내용이 같은 기사를 분류해내어 내용의 중복이 없도록 한다.
◇ 의료 데이터를 시각화하여 보여준다.
◇ 의료기사를 실시간으로 수집하여 분석하고 결과를 제공하도록 한다.
◇ 공공데이터 포털에서 제공하는 의약품 부작용 정보도 부실해 보여서 크롤링을 통해 의약품 부작용 정보를 추가하도록 한다.
◇ 의료기사의 카테고리 수를 늘리도록 한다.