File size: 2,924 Bytes
75a55c8
 
a069072
75a55c8
 
 
 
 
 
 
 
bb6fe5a
 
 
 
 
 
 
 
81d7128
bb6fe5a
81d7128
 
 
 
 
 
 
 
48742d4
81d7128
48742d4
81d7128
48742d4
81d7128
48742d4
81d7128
 
 
 
bb6fe5a
 
 
 
 
 
 
 
 
81d7128
 
bb6fe5a
 
 
 
 
 
 
 
 
 
 
48742d4
bb6fe5a
81d7128
 
 
bb6fe5a
81d7128
bb6fe5a
81d7128
bb6fe5a
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
title: MultiDocsSummarization
emoji: 
colorFrom: red
colorTo: yellow
sdk: streamlit
sdk_version: "1.37.0"
app_file: app.py
pinned: false
---

# Tóm tắt Đa văn bản Tiếng Việt

Đây là một ứng dụng tóm tắt Đa văn bản Tiếng Việt viết trên Python và deploy với Streamlit cloud.

Link sản phẩm:

https://huggingface.co/spaces/hungdungn47/MultiDocsSummarization

## About the project

### Dự án môn Xử lý ngôn ngữ tự nhiên kỳ hè 2024 - Trường Đại học Công nghệ

Mã lớp học: INT3406 50

Giảng viên: TS. Trần Hồng Việt; PGS.TS. Nguyễn Phương Thái

### Nhóm sinh viên thực hiện

Mai Tú Phương - 21020552: Quản lý dự án, phát triển mô hình extractive

Trần Nam Anh - 22022569: Phát triển mô hình abstractive, viết báo cáo

Nguyễn Hùng Dũng - 22021133: Phát triển và triển khai demo web app, quản lý repo github

Phan Xuân Bảo - 21020053: Viết và chỉnh sửa báo cáo

## Bộ dữ liệu AbMusu (VLSP 2022)

AbMusu gồm 600 cụm văn bản (1839 văn bản) cho tóm tắt đa văn bản tiếng Việt, trong đó

Tập train: 200 cụm - 621 văn bản

Tập validation: 100 cụm - 304 văn bản

Tập test: 300 cụm - 914 văn bản

Mỗi data example gồm title, anchor text và body text của toàn bộ văn bản trong cụm văn bản. Mỗi cụm văn bản có một chủ đề và một tóm tắt mẫu.

Bộ dữ liệu được lưu trong file abmusu.zip của repo này

## Phương pháp tóm tắt

Bài toán tóm tắt văn bản có 2 hướng tiếp cận:

- Extractive summarization: Chọn những câu mang nhiều ý nghĩa quan trọng nhất, có thể thể hiện nội dung toàn bộ văn bản. Lấy nguyên văn những câu đó để tạo bản tóm tắt.

- Abstractive summarization: Dùng mô hình sinh để sinh ra bản tóm tắt. Bản tóm tắt có thể chứa các cụm từ và các câu không xuất hiện trong văn bản gốc.

Ứng dụng này cài đặt cả 2 hướng tiếp cận với 2 phương pháp cụ thể sau:

- Hướng extractive: Sử dụng Contrastive Hierarchical Discourse Graph
- Hướng abstractive: Finetune mô hình ViT5. Mã nguồn: https://github.com/trnamanh12/abstractive-text-summarization/tree/main

Cả hai phương pháp đều được huấn luyện/finetune trên tập dữ liệu AbMusu

## Cấu trúc project

c_25_0.3701.mdl: Tham số Contrast Encoder của mô hình CHDG

e_25_0.3071.mdl: Tham số End2End Encoder của mô hình CHDG

LDA_models.pkl: Mô hình Latent Dirichlet Allocation dùng trong CHDG

chdg_inference.py: Inference code của CHDG

weight_cp19_model.pth: Tham số checkpoint ViT5

infer_concat.py: Inference code của ViT5

vietnamese-stopwords-dash.txt: Danh sách stopword tiếng Việt

app.py: Mã nguồn deploy web bằng Streamlit