Professional Documents
Culture Documents
Bài Tập Lớn Học Sâu Và Ứng Dụng
Bài Tập Lớn Học Sâu Và Ứng Dụng
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
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ừ đó.
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