Skip to content

boostcampaitech4lv23nlp2/final-project-level3-nlp-10

Repository files navigation

Apache 2.0 Issues


Logo

Boost2Note

회의 음성 기록을 키워드별 요약으로 보다 기록 관리를 편리하게!
Explore the docs(Notion) · Presentation(Youtube) · View Demo · Report Bug

Logo

Boost2Note Demo

demo

Members

김산 엄주언 이동찬 이정현
Apache 2.0 Apache 2.0 Apache 2.0 Apache 2.0

Why Boost2Note?

💬 많은 사람들이 사용하는 음성 녹음 기록 노트. 하지만 길어질수록 다시 듣기가 어렵습니다.

💬 타임라인 별 요약은 누락된 부분이 많아 결국 사용자는 전체 스크립트를 볼 수 밖에 없다는 단점이 있습니다.

💬 만약 음성 기록을 원하는 키워드 별로 요약해주는 서비스가 있다면? 음성 기록을 관리하는데 훨씬 편하지 않을까요?

💬 저희 Boost2End의 비행사들은 보다 편한 음성 녹음 기록을 위하여 비행을 시작하였습니다.

What is Boost2Note?

Boost2Note는 업로드한 녹음본에 대하여 키워드를 입력하면 저장된 녹음 기록으로부터 키워드와 관련된 문단을 추출 요약하여 서비스를 제공합니다.

How to Use?

frontend 서버 실행

streamlit run Boost2Note.py

backend 서버 실행

python server.py

nginx 실행

sudo nginx

Structure of Boost2Note

Project Structure

├─ app
│  ├─ frontend
│  │  ├─ Boost2Note.py
│  │  └─ pages
│  │     └─ Total_Note.py
│  └─ backend
│     ├─ config.yaml
│     ├─ server.py
│     └─ app_utils
│        ├─ __init__.py
│        ├─ cache_load.py
│        ├─ data_process.py
│        ├─ extract_keyword.py
│        ├─ key_bert.py
│        ├─ stt.py
│        └─ inference.py
├─ ml
│ ├─ config
│ ├─  model
│ │   ├─ __init__.py
│ │   └─ retrieval.py
│ └─  utils
└─ notebooks

Service Structure

Dataset Structure

💬 저희 Boost2Note는 키워드 별 요약 시스템을 제작하기 위하여 여러 데이터셋으로부터 데이터 72,623개 (train: 65,323 / dev: 7,300) 를 수집하였으며 수집된 데이터에서 키워드를 추출하는 방식으로 키워드 요약 데이터셋을 생성하였습니다.

💬 사용된 데이터셋은 다음과 같습니다.

Dataset 종류
AI 기반 회의 녹취록 요약 경진 대회 회의 녹취록 데이터셋
요약문 및 레포트 생성 데이터 :: 연설
방송 콘텐츠 대본 요약 데이터 :: 시사, 예능

Model Structure

💬 저희 Boost2Note에는 음성 기록의 키워드 별 요약 시스템을 제작하기 위하여 RAG Architecture[1][2]을 사용합니다.

💬 RAG Architecture는 top k passage를 각각 요약하지 않고 모두 참조하여 하나의 요약을 생성한다는 점이 보다 저희에게 적합한 task입니다.

💬 그 기반이 되는 klue/bert-base 기반 DPR retriever를 학습하였고 대화 요약 데이터셋으로 학습된 alaggung/bart-r3f 모델을 사용하였습니다.

💬 RAG Architecture 모델은 RAG[1]와 FiD[2]를 사용하여 구현하였으며 키워드 요약 데이터셋을 학습하였습니다.

💬 결과적으로 FiD[2]를 선택하여 서비스를 구성하였습니다.


⚗️ Retriever 학습 결과

Retriever(%) top5 ACC top10 ACC
TF-IDF 66.86 79.69
DPR 89.63 93.89

⚗️ 키워드 요약 모델 학습 결과

keyword-summarization cosine similarity ROUGE-1(F1) ROUGE-2(F1) ROUGE-L(F1)
KoBART 단순 요약 0.683 0.206 0.106 0.196
KoBART 단순 요약 0.651 0.191 0.098 0.182
RAG top 5 키워드 요약 0.492 0.164 0.068 0.156
FiD top 10 키워드 요약 0.727 0.184 0.046 0.184

Reference

[1] Lewis, Patrick, et al. "Retrieval-augmented generation for knowledge-intensive nlp tasks." Advances in Neural Information Processing Systems 33 (2020): 9459-9474.

[2] Izacard et al. "Leveraging passage retrieval with generative models for open domain question answering." arXiv preprint arXiv:2007.01282 (2020).