Skip to content

부산 디지털 이노베이션 아카데미 코드 프레젠테이션 용도 입니다.

Notifications You must be signed in to change notification settings

HyuChung/BCID_wantgohome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

집에가고싶다

1. 팀 소개


팀명

집에가고싶다

(정말 집가고 싶다… …)

소개

대학 졸업한 유사 개발자 4인에서 모여서 만든 팀 입니다.

프런트앤드도 없고 디자이너도 없어요 ㅠㅠ

그래도 되는데 까지 열심히 해보겠습니다 :)

팀 명단

2. 서비스 개요


서비스명

그놈 목소리

한줄 소개

네이버 클로바 AI 서비스를 이용한 통화 내용을 바탕으로 한 실시간 보이스피싱 탐지 서비스

개발 동기

NAVER CLOVA에서 쉽게 사용할 수 있는 자연어 관련 AI 를 이용하여 어떠한 사회적 문제를 해결 할 수 있을지 고민하다. CLOVA Speech API와 튜닝이 가능한 CLOVA Binary Classification API 를 이용하여, 계속 심해지고 있는 보이스피싱 피해를 효율적으로 예방 할 수 있는 아이디어가 떠올라 아이디어를 구체화 하기 시작했습니다.

3. 세부 내용


최초 기획안

  • 동작 방안 - 최소 구현

    1. CLOVA Speech Recognition의 장문인식 으로 통화 내용을 Text로 변환
    2. 변환된 Text를 보이스피싱 검출 튜닝이 완료된 CLOVA Binary Classification으로 검출
    3. 결과 반환
  • 동작 방안 - 중간 구현

    1. 실시간으로 CLOVA Speech Recognition의 단문인식 으로 통화 내용을 Text로 변환
    2. 실시간으로 변환된 Text를 계속 합쳐서 튜닝이 완료된 CLOVA Binary Classification으로 검출
    3. 실시간으로 결과 반환
  • 동작 방안 - 완전 구현

    1. 휴대폰 어플리케이션 제공 - 전화 앱
    2. 사용자에게 전화가 걸려왔을때 실시간으로 CLOVA Speech Recognition의 단문인식 으로 통화 내용을 Text로 변환
    3. 실시간으로 변환된 Text를 계속 합쳐서 보이스피싱 검출 튜닝이 완료된 CLOVA Binary Classification으로 검출
    4. 사용자에게 실시간으로 결과 반환 및 실시간 진동 경고 및 대처 방안 제공
  • 구현 방안

    1. 음성 파일의 내용을 CLOVA Speech Recognition를 통해 Text 변환
    2. Dataset 을 만들기 위해 금강원에서 제공하는 보이스피싱 통화 내용을 CLOVA Speech Recognition를 통해 Text변환, 일반적인 통화는 현재 찾기가 불가능 하여 인터넷 체팅(카카오톡) 에서 제공된 문장을 사용하여 라벨링
    3. 라벨링을 마친 Dataset을 CLOVA Binary Classification를 통해 분류
    4. Python 을 이용하여 기능 연결 및 결론 도출 - 최소,중간 구현
    5. 플러터로 휴대폰 어플리케이션 개발 - 완전 구현

구현 내용

  • 구현 된 범위

    • 최소 구현과 중간 구현 그 사이 어딘가… …
    • PyAudio를 통해 실시간으로 받은 음성을 음성 파일로 저장
    • 저장된 음성 파일의 내용을 CLOVA Speech Recognition를 통해 Text로 실시간 변환 가능
    • 보이스 피싱 음성 파일을 CLOVA Speech Recognition을 통해 데이터셋 500개를 만들어냄
    • CLOVA Binary Classification 으로 튜닝을 진행하여 보이스 피싱 검출을 시도 했지만 데이터셋 규격의 문제가 지속되어 학습 불가 판정을 내림 ⇒ 자체 언어 예측모델 BERT를 학습하여 보이스 피싱을 검출
    • 사용자에게 프롬포트 형태로 결과 반환 ⇒ 예측 모델의 구동 시간 때문에 음성 씹힘 현상 생김 (불안정-개선 필요)
    • 시각화 하여 보기 좋게 하기 위해 Django를 통해 홈페이지 UI를 만들어 기능 구현을 보여줄 수 있는 시스템을 개발함
  • 구현 파일 시스템 - NONE UI

    • BICD
      • API
        • STT.py : 실시간 녹음 및 CLOVA Speech Recognition 을 이용하여 실시간 STT작업
      • Audio
        • output.wav : STT.py의 부산물(통화 녹음)
      • Dataset
        • test01.csv : CLOVA Speech Recognition를 통해 Text변환하여 만들어낸 500개의 보이스피싱 관련 라벨링이 된 데이터셋
      • Model
        • Model_sav
          • model_save3.pt : test01.csv 로 학습된 BERT 자연어 분류 가중치 세이브 파일
        • model.py : 자연어 분류 BERT모델 - 보이스 피싱 관련 학습 및 분류 작업
      • Text
        • readme.txt : STT.py의 부산물(speach to text 의 결과물)
      • main.py : 전체 시스템 구동부
  • 구현된 자연어 처리 모델(BERT)의 성능

    2023-12-10_045616.png

    • epochs == 3 batch_size == 32 로 학습 진행
    • 정확도가 94% 가량 되지만 loss 수치가 너무 높아 신뢰성 있는 정확도가 아님 ⇒ 데이터셋 개수의 부족으로 인한 불안정이라 예측됨
  • 현재까지 생긴 구현의 어려움

    • 데이터셋 규격의 문제가 계속 일어나 CLOVA Binary Classification 튜닝이 진행되지 않음 (해결 불가 판단)
    • 시간 내에 만들 거나 찾을 수 있는 보이스 피싱에 관한 데이터 셋이 거의 없음 ⇒ 적은 데이터셋 개수로 인해 예측모델의 정확도 신뢰성이 너무 떨어짐 (해결 불가)
    • 가지고 있던 언어 예측 모델이 오래된 모델이고 이전 버전 pytorch의 버전 문제가 있어 코드를 고치는데 시간이 많이 들어감
    • 만들어진 언어 예측 모델이 너무 무거운 관계로 서비스의 딜레이가 발생함 - 비동기화 시스템을 만들어 해결 하려 하였으나 시간부족으로 인해 무산 됨

4. 기대 효과


기대 효과

  • 보이스피싱 피해 사전 예방
  • 보이스피싱 범죄자 조직 검거에 도움이 될 수 있음

ToDo (발전 가능성)

  • 서비스 반응성 향상 (학습속도 최적화 및 도출속도와 정확도 향상)
  • 통화 데이터 암호화 (개인정보 보호)
  • 스팸 메일 혹은 문자도 학습하여 스미싱 예방 (통신에 관련된 모든 사기성 범죄 예방)
  • 후후 같은 전화번호 스펨 신고를 이용하는 서비스와 연계하여 정확도와 신뢰성 향상

About

부산 디지털 이노베이션 아카데미 코드 프레젠테이션 용도 입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages