Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO BÀI TẬP LỚN MÔN HỌC


HỌC SÂU VÀ ỨNG DỤNG
Đề tài:
Extractive Summarization Text using BERT model

Lớp : 144936
Học phần : Học sâu và Ứng dụng
Mã học phần : IT4653
Giảng viên hướng dẫn : PGS. TS. Nguyễn Kim Anh

Danh sách thành viên nhóm:


STT Họ và tên MSSV Ghi chú
1 Phạm Nhật Nam 20210620 Trưởng nhóm
2 Nguyễn Hữu Lộc 20210536
3 Bùi Toàn Thắng 20210782

Hà Nội, tháng 11 năm 2023


MỤC LỤC
LỜI NÓI ĐẦU 1
NỘI DUNG BÁO CÁO 2
1. Giới thiệu 2
2. Yêu cầu bài toán 2
a. Giới thiệu về kiến trúc Transformers 2
b. BERT pre-trained model 4
3. Tóm tắt quá trình 5
a. Extractive Summarization with BERT 5
b. Fine-tuning with Summarization Layers 6
4. Thực nghiệm 6
a. Áp dụng thực tế 6
b. Quá trình training model cho Extractive Summarization 6
c. Đánh giá mô hình 6
TÀI LIỆU THAM KHẢO 8
LỜI NÓI ĐẦU
Kính thưa cô và các bạn.
Lời đầu tiên, chúng em xin chân thành cảm ơn cô đã dành thời gian quý
báu của mình để chúng em có cơ được trình bày Bài tập lớn học phần Học sâu và
Ứng dụng. Đồng thời, chúng em cũng xin được bày tỏ lòng biết ơn sâu sắc đến sự
hỗ trợ và hướng dẫn tận tâm của cô trong suốt quá trình học tập môn học này.
Bài tập lớn của chúng em mang tên đề tài "Extractive Summarization Text
using BERT model" nhằm tận dụng sức mạnh của mô hình BERT trong quá trình
rút trích tóm tắt văn bản. Đây không chỉ là một thách thức đối với việc áp dụng
những kiến thức đã học mà còn là cơ hội để chúng em vận dụng những kiến thức
tìm hiểu được từ các nguồn khác xung quanh các chủ đề của môn học.
Trong Bài tập lớn này, chúng em sẽ trình bày về tầm quan trọng của bài
toán rút trích tóm tắt văn bản và giới thiệu mô hình BERT, một trong những công
nghệ chính của dự án. Chúng em sẽ cùng nhau khám phá quá trình nghiên cứu,
xây dựng và đánh giá mô hình, cũng như chia sẻ những khó khăn cũng như kiến
thức thu lại được trong quá trình thực hiện dự án này.
Mục tiêu cuối cùng của chúng em là không chỉ làm cho sản phẩm của mình
hoạt động hiệu quả mà còn đóng góp vào sự hiểu biết cá nhân về lĩnh vực Học
sâu và Ứng dụng. Hy vọng rằng bài tập lớn này sẽ là một cơ hội để chúng em tự
học, phát triển kỹ năng nghiên cứu và áp dụng những kiến thức đã học vào thực
tế.
Chúng em xin trân thành cảm ơn!

1
NỘI DUNG BÁO CÁO
1. Giới thiệu
Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), việc huấn luyện trước mô
hình ngôn ngữ đã đạt được thành tựu đáng kể trong nhiều nhiệm vụ như Sentiment
Analysis, Question Answerin, Named Entity Recognition và Text Summarization.
Các mô hình đã được huấn luyện trước hàng đầu bao gồm ELMo (Peters et al.,
2018), GPT (Radford et al., 2018) và gần đây nhất là Bidirectional Encoder
Representations from Transformers (BERT; Devlin et al., 2019). BERT kết hợp
cả biểu diễn từ và câu trong một Transformer lớn với quy mô lớn, được huấn luyện
trên lượng lớn văn bản, với mục tiêu không giám sát là Mask Language Modelling
và dự đoán câu tiếp theo, và có thể được điều chỉnh lại với các mục tiêu cụ thể
cho từng nhiệm vụ.
Trong project lần này, nhóm chúng em sẽ fine-tune lại mô hình BERT cho
nhiệm vụ Tóm tắt văn bản (Text Summarization). Text Summarization là công
việc đòi hỏi sự hiểu biết của Mô hình ngôn ngữ đối với cả nghĩa của từng từ đơn
lẻ lẫn nghĩa của cả câu. Mục tiêu của nhiệm vụ lần này là rút ngắn lại văn bản,
trong khi vẫn giữ nguyên được hầu hết ý nghĩa của nó.
Trong khuôn khổ project lần này, chúng em sẽ fine-tune mô hình BERT cho
bài toán Extractive Text Summarization, tức là nó sẽ tóm tắt văn bản dựa trên nhận
định các câu văn quan trọng nhất thuộc văn bản đó. Khi sử dụng Neural Networks,
có thể coi đó là nhiệm vụ phân loại văn bản, với lớp encoder để làm nhiệm vụ
Text Representation và lớp Classifier để dự đoán câu văn nào sẽ được lựa chọn
vào kết quả cuối cùng.
2. Yêu cầu bài toán
a. Giới thiệu về kiến trúc Transformers
- Transformers là một lớp mô hình Sequence2Sequence gồm 2 phase:
Encoder và Decoder. Mô hình được kế thừa từ Recurrent Neural Networks và kết
hợp thêm layers attention để embedding các từ trong câu.

2
- Mô hình bao gồm 2 phase:
+ Encoder: Bao gồm 6 layers liên tiếp nhau. Mỗi một layer sẽ bao gồm
một sub-layer là Multi-Head Attention kết hợp với fully-connected layer như mô
tả ở nhánh encoder bên trái của hình vẽ. Kết thúc quá trình encoder ta thu được
một vector embedding output cho mỗi từ.
+ Decoder: Kiến trúc cũng bao gồm các layers liên tiếp nhau. Mỗi một
layer của Decoder cũng có các sub-layers gần tương tự như layer của Encoder
nhưng bổ sung thêm sub-layer đầu tiên là Masked Multi-Head Attention có tác
dụng loại bỏ các từ trong tương lai khỏi quá trình attention.
- Trong kiến trúc Transformers, chúng ta sẽ dùng 2 kiến trúc attention khác
nhau cho từng giai đoạn
+ self-attention: Được sử dụng trong cùng một câu input, tại encoder hoặc
tại decoder. Đây chính là attention được áp dụng tại các Multi-Head Attention ở
đầu vào của cả 2 phase encoder và decoder.
+ Encoder-Decoder Attention: Sở dĩ được gọi là encoder-decoder
attention vì đây là kiến trúc attention tương tác giữa các véc tơ embedding của
encoder và decoder. Véc tơ context được tính toán trên encoder đã được tính tương
quan với véc tơ decoder nên sẽ có ý nghĩa giải thích bối cảnh của từ. Sau khi kết

3
hợp giữa véc tơ context và véc tơ decoder ta sẽ project tiếp qua một fully
connected layer để tính phân phối xác suất cho output.
Tóm lại, self-attention và encoder-decoder attention là hai loại attention
khác nhau trong mô hình Transformers. Self-attention tạo ra biểu diễn chú ý cho
mỗi từ trong chuỗi đầu vào, trong khi encoder-decoder attention tạo ra biểu diễn
chú ý cho mỗi từ trong câu đích dựa trên tương quan với câu nguồn. Cả hai loại
attention này đóng vai trò quan trọng trong việc xử lý ngôn ngữ tự nhiên và dịch
máy trong mô hình Transformers.
b. BERT pre-trained model
- BERT là viết tắt của cụm từ Bidirectional Encoder Representation from
Transformer có nghĩa là mô hình biểu diễn từ theo 2 chiều ứng dụng kỹ thuật
Transformer. BERT được thiết kế để huấn luyện trước các biểu diễn từ (pre-train
word embedding). Điểm đặc biệt ở BERT đó là nó có thể huấn luyện dựa trên cả
các từ ở phía bên trái và bên phải cụm từ đó.

- Tiến trình pre-training và fine-tune mô hình BERT


+ Bước 1: Embedding toàn bộ các token của cặp câu bằng các véc tơ nhúng
từ pretrain model. Các token embedding bao gồm cả 2 token là [CLS] và [SEP]
để đánh dấu vị trí bắt đầu của câu hỏi và vị trí ngăn cách giữa 2 câu. 2 token này
sẽ được dự báo ở output để xác định các phần Start/End Spand của câu output.
+ Bước 2: Các embedding véc tơ sau đó sẽ được truyền vào kiến trúc multi-
head attention với nhiều block code (thường là 6, 12 hoặc 24 blocks tùy theo kiến
trúc BERT). Ta thu được một véc tơ output ở encoder.
+ Bước 3: Để dự báo phân phối xác suất cho từng vị trí từ ở decoder, ở mỗi
time step chúng ta sẽ truyền vào decoder véc tơ output của encoder và véc tơ
embedding input của decoder để tính encoder-decoder attention. Sau đó projection
qua liner layer và softmax để thu được phân phối xác suất cho output tương ứng
ở time step

4
+ Bước 4: Trong kết quả trả ra ở output của transformer ta sẽ cố định kết
quả của câu Question sao cho trùng với câu Question ở input. Các vị trí còn lại sẽ
là thành phần mở rộng Start/End Span tương ứng với câu trả lời tìm được từ câu
input.
- Để đánh giá hiệu quả mà BERT đem lại, các kỹ sư thuộc Google AI đã so
sánh BERT với các mô hình tốt nhất về NLP trước đây. Điều quan trọng là chúng
ta chỉ việc sử dụng BERT thay cho các pre-train model trước đây mà không cần
thực hiện bất kỳ thay đổi nào trong kiến trúc mạng neural sâu.
 Kết quả là, trên SQUAD v1.1, BERT đạt được kết quả F1_score =
93.2%, vượt kết quả tốt nhất trước đó là 91.6% và hiệu năng mà con người đạt
được là 91.2%.
3. Tóm tắt quá trình
Xét d đại diện cho một list [sent[1], sent[2], …, sent[n]], với sent[i] đại diện
cho câu thứ i trong văn bản. Extractive Summarization có thể được coi là việc gán
label y[i] thuộc {0; 1} cho các sent[i] để chỉ ra câu nào nên nằm trong văn bản
tóm tắt.
a. Extractive Summarization with BERT
- Quá trình để encode các câu văn ra thành các token trước khi đưa vào mô
hình BERT.
- Dù các token trong input của BERT có Segmentation Embeddings để phân
biệt các câu văn/cụm từ với nhau, tuy nhiên nó chỉ được áp dụng cho input là 1
cặp câu, trong khi đó ở Text Summarization, nó đòi hỏi inputs đầu vào gồm nhiều
câu văn/cụm từ.
 Đề xuất fine-tune thành mô hình kiến trúc “BERTSUM".
- Thêm một số thành phần mới trong token trong quá trình tokenizer.
+ Dùng token [CLS] đặt ở đầu câu để có thể đại diện cho mỗi câu đơn
+ Dùng Interval Segment Embeddings để có thể phân biệt các câu trong cả
đoạn văn bản: Đối với câu thứ i, chúng ta sẽ gán cho nó giá trị E(A) hoặc E(B)
dựa trên giá trị chẵn/lẻ của i.
 Từ đó, biểu diễn văn bản có thể được phân cấp lại, với những lớp
Transformers thấp biểu diễn các câu liền kề nhau, còn những lớp cao hơn, kết hợp
cùng với cơ chế self-attention, để biểu diễn sự tương tác giữa các câu trong văn
bản.

5
b. Fine-tuning with Summarization Layers
- Inter-sentence Transformer: Ở giai đoạn này, nó sẽ apply nhiều lớp
Transformers trong việc biểu diễn văn bản, trích xuất ra những đặc điểm cho việc
tóm tắt văn bản.
4. Thực nghiệm
a. Áp dụng thực tế
- Nhóm sử dụng bộ dữ liệu của CNN/Daily Mail, gồm những tin tức, văn
bản của 2 tạp chí lớn trên thế giới
- Tập dữ liệu được chia sẵn thành tập training, tập validation và tập test,
trong đó mỗi tập bao gồm
+ 90 226 / 1 220 / 1 093 văn bản từ CNN
+ 196 961 / 12 148 / 10 397 văn ban từ Daily Mail
- Trước khi bước vào quá trình tokenizer và pre-process dữ liệu, nhóm
chúng em sẽ tách các câu văn sử dụng toolkit Standford CoreNLP.
+ Stanford CoreNLP Toolkit là một bộ công cụ xử lý ngôn ngữ tự nhiên
(NLP) phát triển bởi nhóm nghiên cứu tại Stanford University. Nó cung cấp các
công cụ và thư viện để thực hiện các tác vụ NLP cơ bản như phân tích từ loại,
phân tích cú pháp, phân tích tên thực thể, phân giải chuỗi, phân tích tình cảm, và
nhiều công cụ khác.
+ CoreNLP được viết bằng Java và cung cấp một API dễ sử dụng cho các
nhà phát triển. Nó cung cấp các công cụ cho xử lý văn bản tiếng Anh và hỗ trợ
một số ngôn ngữ khác như tiếng Tây Ban Nha, tiếng Đức, tiếng Pháp, tiếng Trung
và tiếng Ả Rập.
b. Quá trình training model cho Extractive Summarization
- Nhóm sẽ sử dụng PyTorch, OpenNMT và ‘bert-base-cased' version của
BERT áp dụng cho bài toán này, cả BERT và summarization layers đều sẽ được
fine-tune.
- Sử dụng hàm Adam với B1 = 0.9 và B2 = 0.999 cho quá trình fine-tune
- Model sẽ được chạy 50 000 bước trên 3 GPUs, trong đó gradient mẫu dữ
liệu sẽ được cập nhật sau mỗi 2 bước.
- Model checkpoint sẽ được lưu lại và đánh giá trên tập validation sau mỗi
1000 bước. Sau đó, chúng ta sẽ chọn 3 checkpoint có loss thấp nhất trên tập
validation và tính kết quả trung bình trong tập test.
c. Đánh giá mô hình
Sử dụng mô hình đánh giá tự động ROUGE.

6
- ROUGE đánh giá độ chính xác của các tóm tắt tự động bằng cách so sánh
các từ và cụm từ quan trọng trong văn bản tóm tắt với văn bản nguồn gốc. Phương
pháp này dựa trên hai thành phần chính: recall (đánh giá khả năng thu hồi thông
tin) và precision (đánh giá độ chính xác của thông tin thu hồi).
- Các độ đo ROUGE phổ biến bao gồm:
+ ROUGE-N: Đo đạc độ chính xác của n-gram (cụm từ gồm n từ liên tiếp)
được trích xuất từ văn bản tóm tắt so với văn bản nguồn gốc.
+ ROUGE-L: Đo đạc độ chính xác của các chuỗi chung (longest common
subsequence) giữa văn bản tóm tắt và văn bản nguồn gốc.
+ ROUGE-S: Đo đạc độ chính xác của các cụm từ chính xác (được tính
bằng việc so sánh các cụm từ trên cây phân tích cú pháp) giữa văn bản tóm tắt và
văn bản nguồn gốc.

7
TÀI LIỆU THAM KHẢO
1. https://phamdinhkhanh.github.io/2020/05/23/BERTModel.html
2. https://viblo.asia/p/bert-buoc-dot-pha-moi-trong-cong-nghe-xu-ly-
ngon-ngu-tu-nhien-cua-google-RnB5pGV7lPG
3. Fine-tune BERT for Extractive Summarization - Yang Liu
4. Bài giảng Học sâu và Ứng dụng – PGS. TS. Nguyễn Thị Kim Anh

You might also like