/sns-disaster-detection-system

2021 소프트웨어 페스티벌 최우수상 SNS 실시간 재난 감지 모니터링 시스템

Primary LanguageVue

header

TEAM moreAI

📚목차

  1. 📃 Description
  2. 🌍 Environment
  3. 📥 Usage
  4. 🔉 APIs

📃 Description

Instragram, Naver blog, Twitter 상의 재난 관련 비정형 소셜 데이터를 수집해 실시간 재난 정보를 제공하는 서비스입니다.

dashboard

image

서비스 목록

실시간 재난 언급량 순위 제공

image

실시간으로 SNS에서 언급되고 있는 재난들의 언급량 순위를 막대 그래프로 시각화해서 보여줍니다.

시간대별 재난 언급량 제공

image

image

시간대별로 SNS에서 재난이 언급된 횟수를 꺾은선 그래프로 시각화해서 보여줍니다.

실시간 SNS 트렌드 분석

image

sns 상의 비정형 언어 데이터를 nlp를 통해 필터링하여 재난과 관련되어 언급되고 있는 내용들을 실시간으로 나타냅니다.

재난 상황 추정 시 이메일 전송

image

이메일 전송

특정 키워드의 언급량이 급격히 늘어났을 때, 관리자에게 메일을 전송합니다.
또한 사용자가 메일을 직접 전송할 수도 있습니다.

Ping 테스트

image

사용자가 직접 데이터베이스의 raw 데이터를 조회하도록 제공합니다. 실시간 데이터베이스에 저장되는 재난 관련 데이터를 확인할 수 있습니다.

🌍 Environment

  • Container: 도커
  • proxy sever : ngnix
  • Language : 파이썬 자스 타스 html html
  • Framework : Vue node flask
  • Database: mysql mongo

📥 Usage

 docker-compose up

front setup

npm install

🔉 APIs

1. GET /api/instagram/data
  • request
  • parameters
파라미터 내용
start 불러올 인스타그램 게시물의 최소 게시 시각
end 불러올 인스타그램 게시물의 최대 게시 시각
  • response
    {
       "data":[
           {
               "content": "너무 행복해지는 뉴스 봤다",
                "sns": "@c2u8B1 너무 행복해지는 뉴스 봤다....",
                "date": "2021-11-27-08-56",
                "link" : "https://www.instagram.com/p/CWsfshMB25s/",
                "keyword": "폭설",
                "service" :"instagram"
           }   
       ]
    }
2. GET /api/instagram/ping
  • request
  • response
    • 최신 데이터 20개를 받는다.
 
    {
       "data":[
           { 
             "content": "너무 행복해지는 뉴스 봤다",
                "link" : "https://www.instagram.com/p/CWsfshMB25s/",
                "keyword": "폭설",
                "service" :"instagram"
           }
       ]
    }
3. GET /api/naver/data
  • request
    • parameters
파라미터 내용
start 불러올 네이버 게시물의 최소 게시 시각
end 불러올 네이버 게시물의 최대 게시 시각
  • response
     {
       "data":[
           { 
              "content": 코스피 70P 폭락 국내  오미크론 감염 의심자 발생 국내 10 미만  <b>코로나</b> 사망 … “사후 <b>확진</b> 日·스웨덴도 뚫렸다.. ", 
              "keyword": "코로나", 
              "date": "2021-12-01-13-40", 
              "link": "https://blog.naver.com/hahaha_girl?Redirect=Log&logNo=222583783650", 
              "service": "naver" 
              
           }
       ]
    }
4. GET /api/naver/ping
  • request
  • response
    • 최신 데이터 20개를 받는다.
     {
       "data":[
           { 
             "content": 코스피 70P 폭락 국내  오미크론 감염 의심자 발생 국내 10 미만  <b>코로나</b> 사망 … “사후 <b>확진</b>日·스웨덴도 뚫렸다.. ", 
              "keyword": "코로나", 
              "link": "https://blog.naver.com/hahaha_girl?Redirect=Log&logNo=222583783650", 
              "service": "naver" 
           }
       ]
    }
5. GET /api/twitter/data
  • request
  • Parameters
파라미터 내용
start 불러올 트위터 게시물의 최소 게시 시각
end 불러올 트위터 게시물의 최대 게시 시각
  • response
    {
       "data":[
           { 
             "content": "저 여의도 (국제금융센터)몰과 더현대서울 쪽은 공사할 때부터 공사장 붕괴",
             "sns" : "저 여의도 (국제금융센터)몰과 더현대서울 쪽은 공사할 때부터 공사장 붕괴, 지반 붕괴 사고가 계속 있던 곳이라 너무 무섭다 내가 본 것만도 최소 ,회 저렇게 높고 덩치"
             "keyword": "붕괴",
             "date": "2021-11-30-07-32",
             "link": "twitter.com/1264535986374991875/status/1465373170681073667", 
             "service": "twitter" 
           }
       ]
    }
6. GET /api/twitter/ping
  • request
  • response
    • 최신 데이터 20개를 받는다.
    {
       "data":[
           { 
             "content": " 저 여의도 (국제금융센터)몰과 더현대서울 쪽은 공사할 때부터 공사장 붕괴", 
             "keyword": "붕괴", "date": "2021-11-29T17:32:43.000Z", 
             "link": "twitter.com/1264535986374991875/status/1465373170681073667", 
             "service": "twitter" 
           }
       ]
    }
7. GET /mail
  • request
  • response
{}
8. GET /model
  • request
    • parameter
파라미터 내용
start 분석한 게시물의 최소 게시 시각
end 분석한 게시물의 최대 게시 시각
  • response
     {
       "data":[
           { 
             "content": "저 여의도 (국제금융센터)몰과 더현대서울 쪽은 공사할 때부터 공사장 붕괴",
             "sns" : "저 여의도 (국제금융센터)몰과 더현대서울 쪽은 공사할 때부터 공사장 붕괴, 지반 붕괴 사고가 계속 있던 곳이라 너무 무섭다 내가 본 것만도 최소 ,회 저렇게 높고 덩치"
             "keyword": "붕괴",
             "date": "2021-11-30-07-32",
             "link": "twitter.com/1264535986374991875/status/1465373170681073667", 
             "service": "twitter" 
           }
       ]
    }
9. GET /model/ping
  • request
  • response
    • 최신 데이터 20개를 받는다.
    {
       "data":[
           { 
             "content": " 저 여의도 (국제금융센터)몰과 더현대서울 쪽은 공사할 때부터 공사장 붕괴", 
             "keyword": "붕괴", "date": "2021-11-29T17:32:43.000Z", 
             "link": "twitter.com/1264535986374991875/status/1465373170681073667", 
             "service": "twitter" 
           }
       ]
    }