Skip to content

Risk Management Platform for the Military |🏅국방부장관상(Minister of National Defense Award)

License

Notifications You must be signed in to change notification settings

dev-taewon-kim/RISKOUT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RISKOUT - 국방 리스크 관리 플랫폼 (Risk Management Platform for Military)

 


Quick Links


📖 목차 (Table of Contents)

  1. ➤ 프로젝트 소개 (Intro)
  2. ➤ 기능 설명 (Features)
  3. ➤ 프로젝트 사용법 (Getting Started)
  4. ➤ 컴퓨터 구성 / 필수 조건 안내 (Prequisites)
  5. ➤ 기술 스택 (Techniques Used)
  6. ➤ 설치 안내 (Installation Process)
  7. ➤ 팀 정보 (Team Information)
  8. ➤ 저작권 및 사용권 정보 (Copyleft / End User License)

🧐 프로젝트 소개 (Intro)

군대에게는 여러 Risk(위협)이 존재합니다. 스파이, 해커, 테러리스트 등의 외부적인 위협도 존재하지만, 시스템이 잘 구축된 현재의 군대의 실질적인 위협은 군사 기밀 유출, 허위 기사, 악성 게시글 등의 내부적인 위협들입니다. 그럼 군대는 이런 내부 위협을 어떻게 식별하고 관리할까요?

현재 군대는 유출된 기밀글 및 허위기사등의 악성글을 추려내기 위해 24시간동안 무한정 검색 및 캡처하고 각종신문에서 기사를 일일히 오려냅니다. 모은 자료는 사람이 읽어보면서 문제가 될 글을 식별하고, 보고서로 정리해서 대응팀한테 넘기는 등 번거로운 작업들을 반복하고 있습니다. 그러다보니 놓치는 일이 발생하거나, 대응이 늦어지는 일이 발생할 수 있습니다.

그래서 생각했습니다. 군사기밀 및 허위기사등의 악성글을 자동으로 식별하고 관리 할 수 있는 All-in-One 플랫폼을 만들어보자. RISKOUT이 탄생하게 된 이유입니다.

There are numerous threats to military. There are external threats such as spies, hackers, terrorists, but the actual threats of current well-established military are internal threats such as leaked secrets, fake news, and malicious posts. So how does military identify and manage these?

Currently, military searches and captures leaked documents and fake news 24/7 and manually cuts news from newspapers. The collected data is then read and organized by soldiers into reports, finally handing them over to the response team. Due to the long and complex process, human errors or delayed responses may occur.

So I thought. Let's create an all-in-one platform that can automatically identify and manage malicious risks such as leaked secrets and fake news. That's when RISKOUT was born.

🍽️ 기능 설명 (Features)

3가지 핵심기능은 다음과 같습니다.

위협 대시보드 (Risk Dashboard)

오늘의 키워드 (Keywords for Today)

오늘의 키워드에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

각종 기사글, 게시판 등의 커뮤니티 사이트들을 기반으로 언급 비중이 놓은 단어들을 시각화한 워드 클라우드입니다.

words

감정 통계 차트 (Emotion Recognition Chart)

감정 통계에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

각종 SNS 및 커뮤니티 사이트들을 기반으로 여론의 감정 상태를 분석하여 positive, neutral, negative로 나누어 표현한 차트들입니다.

emopies

오늘의 트렌드 (Today's Top Trend)

오늘의 트렌드에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

그날 가장 많이 언급된 기사들을 선정하여 FactCheck를 통해 진실 추정, 중립 추정, 허위 추정으로 판별 및 분류하여 보여줍니다.

trend

나라별 이벤트 (Events by Country)

나라별 이벤트에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

국제 기사들을 분석해 국가별 이벤트 트래픽을 보여주는 지도입니다.

events

기사 변화량 (Article Variation)

기사 변화량에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

최근 기사량들을 대조하여 기사량의 변화를 시각화한 차트입니다.

num_articles

위협 탐지 (Risk Detection)

탐지 현황에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

기밀 유출 및 허위기사등의 악성글들을 인공지능을 통해 자동으로 분석하여 탐지합니다. 이후 빠르게 대응할수 있도록 요약된 내용 및 글의 출처 등을 제공합니다.

detect

개체 인식 필터 (NER Filter)

개체 인식 필터에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

개체명 인식(Named Entity Recognition) 기술로 사람, 조직, 시간 등의 유형들을 추출, 보다 세부적인 분석을 할 수 있게 도와주는 검색 필터로 제공합니다.

ner

자동 보고서 생성 (Automated Report Generation)

보고서 생성에 대한 세부적인 내용은 여기에서 확인하실 수 있습니다.

사용자가 확인한 위협들을 클릭 몇번만으로 자동으로 정돈 및 요약하여 보고서의 형태로 생성해줍니다. 생성된 보고서는 PDF로 출력가능합니다.

report

report_full

⚡ 프로젝트 사용법 (Getting Started)

로그인 하신 후:

축하해요! RISKOUT의 유저가 되셨습니다.

이제 사용하실 수 있습니다! 🎉

🍴 컴퓨터 구성 / 필수 조건 안내 (Prerequisites)

🌏 Browser

Chrome Chrome IE Internet Explorer Edge Edge Safari Safari Firefox Firefox
Yes 11+ Yes Yes Yes

💾 Versions

Pytorch Pytorch react React Django Django 🍃 Mongo DB 🐳 Docker Ⓜ️ MUI
1.9.0+ 17.0.2+ 3.0.7+ 4.4+ 20.10.x+ 5.0.1+

🧱 기술 스택 (Technique Used)

techstack

AI

  • Colab으로 AI 모델 학습:
    • KoBERT — 감성분석, 가짜뉴스판별, 보고서요약에 사용.
    • DistilKoBERT — Named Entity Recognition(개체명인식)에 사용.
  • 사용한 데이터셋:
  • Pytorch 라이브러리를 통한 딥러닝 빌드:

Backend

  • DRF를 통한 백엔드 구축:
    • Mongo DB — 데이터베이스 구축.
  • Beautiful Soup 이용하여 크롤링:
    • Crawler — 각종 오픈게시판, SNS, 뉴스사이트에서 언어데이터를 추출하는데에 사용.

Frontend

  • React를 이용한 프론트엔드 구축:
    • MUI — MUI(Material UI) 컴포넌트 라이브러리 활용.
    • React router — 컴포넌트 네비게이션에 사용.
  • Recoil을 통한 리액트 상태 관리:
    • Atom — 컴포넌트 상태 단위 분리기능 사용.
    • Selector — Atom에 의존하는 동적인 데이터 생성 기능 사용.

📁 설치 안내 (Installation Process)

먼저, node.js, yarn, docker, 그리고 docker-compose를 다운로드하세요. node.js는 버전 14.x이상이어야 합니다.

프로젝트를 Clone 합니다.

git clone https://github.com/osamhack2021/ai_web_RISKOUT_BTS

Secret 파일들을 작성합니다.

Secret 파일 작성에 관해서는 여기서 확인하세요.

프로젝트를 빌드 및 실행합니다.

./run.sh

http://localhost:8002로 접속합니다.

이제 사용하실 수 있습니다! 🎉

💁🏻‍♀️💁🏻‍♂️ 팀 정보 (Team Information)

Profile Name Role Github E-mail
이민석
(팀장)
Product Manager
AI Developer
조정환 AI Developer
서명근 Frontend Engineer
김태원 Backend Engineer
이원빈 Frontend Engineer
박용준 Backend Engineer
서종찬 Frontend Engineer

📜 저작권 및 사용권 정보 (Copyleft / End User License)

프로젝트 RISKOUT은 GPL 3.0 License를 따르고 있습니다.



About

Risk Management Platform for the Military |🏅국방부장관상(Minister of National Defense Award)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 44.2%
  • JavaScript 32.7%
  • CSS 10.7%
  • Python 9.7%
  • HTML 2.2%
  • Shell 0.4%
  • Dockerfile 0.1%