dụng các mô hình mạng khả năng mã hóa dữ liệu văn bản hàng đầu hiện nay, kết hợp với mô hình sử dụngBiaffine kết hợp với “Probing” - một kỹ thuật mới có khả năng rút trích đặc trưngngôn
Trang 1DAI HỌC QUỐC GIA THÀNH PHO HO CHÍ MINH
DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
CY PARSER FOR
IESE
CU NHAN NGANH KHOA HOC MAY TINH
TP HO CHÍ MINH, 1/2022
Trang 2DAI HỌC QUỐC GIA THÀNH PHO HO CHÍ MINH
DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
CY PARSER FOR
IESE
CU NHÂN NGANH KHOA HOC MAY TÍNH
GIANG VIEN HUONG DAN
TS NGUYEN THI QUY
TP HO CHÍ MINH, 1/2022
Trang 3LỜI CÁM ƠN
Lời đầu tiên, chúng em xin chân thành cám ơn cô Nguyễn Thị Quý đã tận tìnhhướng dẫn, định hướng cùng những phản biện nhằm giúp chúng em đạt được kết
quả tốt nhất cho khóa luận Cô đã luôn bên cạnh, chỉ dẫn, bổ sung cho chúng em
những kiến thức, kỹ năng quan trọng trong suốt quá trình chúng em thực hiện đề tàiluận văn tốt nghiệp này Chúng em cũng xin được cảm ơn sâu sắc đến các thầy cô
trong khoa Khoa học máy tính nói riêng và toàn thể các thầy cô, nhân viên Trường
Đại học Công nghệ Thông tin - Đại học Quốc Gia Thành phố Hồ Chí Minh nói
chung, đã nhiệt tình giúp đỡ, giảng dạy, truyền dat kiến thức, chia sẻ kinh nghiệm
sống, định hướng nghề nghiệp giúp chúng em có được những hành trang cần thiết
để chuẩn bị cho tương lai an trọng nhất, chúng em
muốn cám ơn gia đì A L
em vượt qua mọi an lẫn thé chit trong thi gian qua Cuối cùng,
Trang 414 Phạm vị 5
14.1 5
14.2 Dd 5
15 Kết quả dat đã 61.6 Bố cục luận văn 6
Trang 5MỤC LỤC
2.2 Kiến trúc TransfOrmer LH va 19
2.2.1 Các thành phần của kiến trúc Transformer
2.2.2 Ứng dung Transformer trong mơ hình ngơn ng
2.2.2.1 PhoBERT
2.2.2.2 XLM-Roberta 2.3 Phân tích cú pháp phụ thuộc
2.3.1 Cú pháp phuthuoc 2.00.00 00000.
2.3.2 Phương pháp phân tích cú pháp phụ thuộc dựa t
based)
2.3.2.1 Hướng tiếp cận Nạve
2.3.2.2 Hướng tiếp cận của Nivre
2.3.2.3 Malt Parser
2.3.24 Huấn luyện 2.3.3 Phương pháp phan tích cú pháp phụ thuộc dựa trên đồ thi (graph- based) 28
2.3.3.1 Thuật tốn Eisner 30
2.3.3.2 Thuật tốn Chu-Liu Edmons 32
3.2.1 41
41 3.2.2 42
42 44 47 2 48
3.3 Dé xuất 50
4 THUC NGHĨ
4.1 Dữ liệu huấn luyện
4.2 Các thực nghiện tham số mơ hình
4.3 Thực hiện, đánh giá và phân tích kết quả
4.3.1 Dánh giá mơ hình ở mức Head 4.3.2 Đánh giá mơ hình ở mức Layer 4.3.3 Đánh giá mơ hình áp dụng pre-trained đa ngơn ngữ
5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIEN 63
5.1 Kếtluận 635.2 Hướng phát triển 64
Tài liệu tham khảo 65
iii
Trang 6quan đến việc Nature 12
2.7 Giá trị ham & màu đỏ tl
16 2.8 20 2.9 25 2.10 29 2.11 30 2.12
31
2.13
khung hoàn thiện 31
2.14 Sự kết hợp khung chưa hoàn thị
mới 31
2.15 Thuật toán Edmons(31] 33
2.16 Đồ thị thay đổi qua các bước của thuật toán CLE [31] 34
2.17 Kết quả thực nghiệm của MST Parser khi sử dụng các thuật toán học khác
2.18 Các đặc trưng được sử dụng của MSTParser [18] 352.19 Cây cú pháp phụ thuộc của mô hình phân tích cú pháp (hình bên trái) và cây
cú pháp phụ thuộc trong kho ngữ liệu chuẩn (hình bên phải) 36
3.1 Sơ đồ minh họa tinh score cho cạnh (arc) của mô hình Biaffine Parser 383.2 Sơ đồ minh họa Probes trên mô hình BERT 413.3 Hiệu suất đánh giá và đóng góp của các tầng cho các tác vụ phụ (Tenney et al [5]) 43
3.4 Các hiện tượng ngôn ngữ được thể hiện bởi các attention head cụ thé trong
BERT (Image source: Clark et al [3]) ee 45
3.5 Độ chính xác phân loại quan hệ phụ thuộc theo các attention head cụ thể Clark
n5 ẶẶẶẶšRẶAẠA 46
Trang 7Hiệu suất của mô hình baseline và các kỹ thuật "probe"khác nhau UAS là độ
đo của quan hệ nhưng không tính nhãn Clark et al [3] 47
So sánh Probes với Fine-Tuning ca 48
BERT layer transferability (các cột tương ứng với tác vụ probing, Liu et al (2019a) 50
Mô hình đề xuất ee 52
Trang 8Các bước phân tích cú pháp của bộ phân tích cú pháp phụ thuộc dựa trên bước
chuyển - thuật toán Nivre c2 2 v2
Kết quả thực nghiệm của Malt Parser đối với cá:
So sánh Probes và é eg
-.-Sự phân bố nhã
Kết quả 10 Lay
Bang so hi a ¿
Phobert tren tggqyest (cấ؃„é@MMÀ DA | /
Két quả mô l chiên
7 trên tập dev
f tren tap dev sử dụng trung bình
Trang 9Danh sách các từ viết tắt
NLP Natural Language Processing
CoNLL Conference on Computational Natural Language Learning
UAS Unlabeled Attachment Score
LAS Labeled Attachment Score
Trang 10Cú pháp phụ thuộc là một lĩnh vực đóng vai trò quan trọng trong xử lý ngôn ngữ
tự nhiên (NLP) Phân tích cú pháp phụ thuộc là xác định các quan hệ phụ thuộc
về ngữ pháp giữa các từ trong câu, các thông tin nào của câu quan trọng và không
quan trọng được nắm bắt rõ ràng Phân tích cú pháp phụ thuộc có thể giúp cải
thiện độ chính xác của các tác vụ có tính ứng dụng cao trong xử lý dữ liệu ngôn
ngữ hiện nay như tóm tắt văn bản, hệ thống hỏi-đáp, dịch máy Việc nghiên cứu
phan tích cú pháp phụ thuộc tập trung vào phát triển thuật toán và mé hình có kha
năng nhận diện các quan câu một cách chuẩn xác.
dụng các mô hình mạng
khả năng mã hóa dữ liệu văn bản hàng đầu hiện nay, kết hợp với mô hình sử dụngBiaffine kết hợp với “Probing” - một kỹ thuật mới có khả năng rút trích đặc trưngngôn ngữ - và thành công cải thiện kết quả bài toán phân tích cú pháp phụ thuộc.Dựa trên mô hình đề xuất, chúng tôi tiến hành thực nghiệm mô hình phân tích cú
pháp phụ thuộc vừa được chuyển đổi trên dữ liệu tiếng Việt và đạt độ chính xác
theo UAS và LAS đều trên 80%, cải thiện tương ứng so với mô hình gốc 0.5% Sau
đó tiến hành đi phân tích kết quả và tìm hiểu nguyên nhân dẫn đến sự cải thiện
này của mô hình trên tiếng Việt
Trang 11Chương 1
GIỚI THIỆU
11 Giới thie
Phân tích cú pháp pi ội ốc về ngữ pháp giữa các từ trong
còn lại đóng vai trò Tã uộc - dependent) được liên kết trực tiếp với nhau Nhờ
đó ưu điểm của cú pháp phụ thuộc là nó có thé thu thập được thông tin một cách trực quan hơn, đặc biệt là trong ngữ cảnh đa ngôn ngữ so với các loại cầu trúc ngữ pháp khác chẳng hạn như cú pháp thành tố Kết quả của phan tích cú pháp phụ thuộc có thể cải thiện độ chính xác
của các tác vụ có tính ứng dụng cao trong NLP hiện nay như tóm tắt văn bản [20], hệ thonghéi-dap (29; 64], địch máy [1; 32]
Org-AF) under
Chi tịch [Microsoft] ong [Bill Gates] ppp sinh [ngày 28 tháng 10 năm 1955] py,
Hình 1.1: Ứng dung của bai toán phân tích cú pháp phụ thuộc vào trong hệ thống rút trích
thông tin.
Khóa luận xây dựng một mô hình phân tích cú pháp phụ thuộc cho tiếng Việt dựa trên mô
Trang 12Tình hình nghiên cứu
hình phân tích biaffine sử dung mô hình pre-trained (tiền huấn luyện) PhoBERT embedding,
kết hợp với kỹ thuật "probing"hậu xử lý [25] có khả năng rút trích được thong tin ngữ pháp
từ các lớp huấn luyện của BERT Ở thời điểm thực hiện khóa luận, đây là công trình đầu tiên trong việc tìm hiểu và áp dụng kỹ thuật “probing” mới này lên tiếng Việt Chúng tôi hy vọng công trình này có thể đóng góp một phần vào sự phát triển của NLP trên ngôn ngữ dân tộc ta.
1.2 Tình hình nghiên cứu
1.2.1 Tinh hình nghiên cứu trên các ngôn ngữ khác tiếng Việt
So với thế kỷ 20 khi mà cú pháp thành tố còn được cộng đồng nghiên cứu ngôn ngữ ưa chuộng,
‘hi vừa bắt đầu được chú ý và dành được nhiều sự quan tâm kể từ vài thập
cú pháp phụ thuộ
kỷ trở lại đây Nghiên cứu về cú pháp phụ thuộc là cơ sởseho nhiều bài toán ứng dụng thựctiễn khác nhờ vào tính đơn ngữ pháp và ngữ nghĩa trênnhiều ngôn ngữ của nó [5# nghiên cứu về phân tích cú
pháp phụ thuộc có thể Ke
i | la, phap phyAhudc làm chủ đề Các đội tham
gia sẽ huấn | mo ộ dit TERUG: 19 ngdn ngữ đã được chuẩn bị sẵn.
e Shared task COD
e Shared task ngữ nghĩa với ngữ pháp phụ thuộc Toàn.
bộ cuộc thi ia thà Bế Con: phân tích cú pháp phụ thuộc, xác định khử
nhập nhằng cat semantic predicate), xác định các đối số (argument) vàgan vai trò ngữ nghĩa cho mỗi vị từ
© Shared task SANCL 2012 tổ chức bởi Google [53] yêu cầu các đội xây dựng một hệ thống.
phân tích cú pháp với miền dữ liệu được mở rộng và có thể xử lý các đoạn văn bản bịnhiễu thường gặp trên web dựa trên bộ dữ liệu Google Web Treebank được cung cấp
Tại shared task CONLL 2006, hai hệ thống phân tích cú pháp được cho là mạnh mẽ nhất làMSTParser [39] và MaltParser [51] đạt thứ hạng cao nhất tại cuộc thi, đã mở ra xu hướng phân
tích cú pháp theo hướng dữ liệu Trong phương pháp phân tích hướng dữ liệu (data-driven),
độ hiệu quả của mô hình học dựa một phần trên thuật toán đề xuất và dựa phần lớn vào chấtlượng bộ dữ liệu, dữ liệu càng tốt sẽ được phản ánh qua chất lượng của mô hình Mô hình dangnày có uu điểm là nhanh hơn so với các hệ thống sử dụng luật để liên kết
Kể từ thời điểm 2013, các hệ thông phân tích cú pháp phụ thuộc ứng dung mạng nơron ra đời,
Trang 13Tinh hình nghiên cứu trên tiếng Việt
từ đó đưa nghiên cứu cú pháp phụ thuộc tiền lên thêm một bước phát triển mới Đặc biệt vào
năm 2017, cộng đồng nghiên cứu NLP nói chung và phân tích cú pháp phụ thuộc nói riêng
tiến lên những bước đột phá kể từ sự ra đời của mô hình Transformer [62] Ý tưởng cốt lõi của
Transformer nằm ở cơ chế Attention, giúp nó biểu diễn mỗi quan hệ giữa các đơn vị thông tin
với nhau đồng thời cung cấp khả năng thực hiện tính toán song song, vượt qua hạn chế củacác mô hình trước đó có nền tảng dựa trên RNN (Recurrent Neural Network) [40] hay CRF(Conditional Random Fields) [34] Hiện nay cơ chế Attention vẫn còn đang được cộng đồngnghiên cứu quan tâm và ứng dụng, và vẫn cho thấy sự ưu việt so với các phương pháp khác
tính đến thời điểm hiện tại Các công trình nghiên cứu nổi bật thuộc lĩnh vực phân tích cú
pháp phụ thuộc sử dụng mạng nơron có thể kể đến như:
e Công trình "Deep Biaffine Attention for Neural Dependency Parsing"(Dozat và Manning,2017) [15]: Công trình giới thiệu phương pháp sử dụng cơ chế biafine mà có thể kết hợp
cơ chế Attention vào trong xử lý quan hệ hai ngôi và tỏ ra hiệu quả trong phân tích cú
và LAS 94.08 % trên bộ dữ liệu
69.3 % và WAS 88.23 % trên bộ dữ liệu
pháp phụ thuộc Mô hìn)
tiếng Anh PTB (Pq
e Công trình "Seltu@@fffv bing et al., 2019) [35]: Cong trinh
này lần đầu tiêu 5 ` cú pháp phụ thuộc, cụ thể là
thay thế các ã hó ention Mô hình đạt độ chính xác UAS96.57 % và “Anh PTB (Penn Treebank) và đạt UAS
92.01 % va mg Trung CTB (Chinese Treebank).
© Công trình "ASS © for finding syntax in word representations" (Hewitt và
Manning, 2019) [25]: Trong công trình này, tác giả đã đánh giá khả năng lưu giữ thông
tin ngữ pháp trong biểu diễn từ của các mô hình ngôn ngữ được tiền huấn luyện như
BERT và ELMo bằng phương pháp "probe" Kết quả của các thứ nghiệm cho thấy rằngcác mô hình ngôn ngữ được tiền huấn luyện có khả năng ghi nhận thông tin cú pháp,nhưng chất lượng của thông tin cú pháp thì khác nhau giữa các mô hình
1.2.2 Tình hình nghiên cứu trên tiếng Việt
Ở Việt Nam, phân tích cú pháp phụ thuộc là một chủ đề đang được chú ý trong cộng đồng
NLP Dã có một số công trình xây dựng mô hình phân tích cú pháp phụ thuộc cho tiếng Việt,
bao gồm nghiên cứu về việc áp dụng các mô hình hiện có cho tiếng Việt và phát triển các md hình mới đặc thù cho các đặc điểm tiếng Việt.
Trang 14Theo Kiet và Ngan [61] nhận định thì kết qua của các mô hình phân tích cú pháp phụ thuộc
cho tiếng Việt vẫn còn thấp, cụ thể là thấp hơn 80% Có nhiều nguyên nhân dẫn đến vấn đề này như các mô hình phân tích cú pháp phụ thuộc không phù hợp với các đặc điểm ngôn ngữ
tiếng Việt, ngoài ra, bộ ngữ liệu cũng là một khía cạnh khác mà ta cần xem xét như khi [61]phân tích bộ ngữ liệu VnDT [13] thì việc xuất hiện nhiều câu dài chứa cấu trúc phức tạp cũng,gây ra độ chính xác thấp Ngoài ra, sự không nhất quán của bộ ngữ liệu cú pháp phụ thuộcVietTreebank được trình bày trong công trình của Quy [46] cũng ảnh hưởng ít nhiều đến kết
quả.
© VnCoreNLP (Vu và cộng s ột ci lý ngôn ngữ tự nhiên mã nguồn
mở cho tiếng Việt, nó Ộ de lụng va hiệu suất cao cho các
tác vụ của bài toái tích cú phap phụ thuộc, VnCoreNLP
sử dụng phương, í én bộ (Vietnayhese Dependency Treebank),
đạt độ chính xác
« Nhóm Dat vớiế Trị TAYE 0c Í neufal network model for joint POS
tagging am Ringe hình kết hợp tác vụ gén nhãn (POS
tagging) với ít p Dhieth At gidi nhất với kết quả khá khả quan UAS
80.89% và
1.2.3 Nhận xét
Mặc dù đóng vai trò quan trọng trong các hệ thống NLP, kết quả nghiên cứu phân tích cú pháp
phụ thuộc trên tiếng Việt vẫn còn nhiều hạn chế so với trên các ngôn ngữ phổ biến khác Kết
quả cao nhất trên tiếng Việt được báo cáo là 80.39% UAS và 71.80% LAS, còn trên tiếng Anh
là 97.42% UAS và 96.26% LAS
Tinh đến thời điểm hiện tại, công trình mới nhất của Dat và cộng sự sử dụng PhoBERT [42], một
mô hình pre-trained cho ngữ liệu tiếng Việt lấy ý tưởng từ mô hình BERT, cho lớp embedding
mã hóa ngữ đầu vào kết hợp với mô hình sử dụng Biaffine Attention[15] cho ra độ chính xáccao nhất tại cuộc thi VLSP 2019 shared task[36] về phân tích cú pháp phụ thuộc Tuy nhiên,chúng tôi nhận thấy mô hình đề xuất của Dat chỉ mới sử dụng PhoBERT cho lớp embedding,tức là chỉ sử dụng lớp trên cùng trong kiến trúc BERT, mà theo nghiên cứu của Hewitt hay
Trang 15Lý do chọn đề tài
Jawahar [25; 28] cho rằng chưa phải là lớp chứa nhiều thông tin về đặc trưng ngôn ngữ nhất
Từ đó chúng tôi quyết định tìm cách cải tiến độ chính xác của mô hình trên sử dụng phươngpháp “Probe”[25] có khả năng rút trích đặc trưng ngôn ngữ Thử nghiệm được tiến hành và
phân tích kết quả để tìm hiểu những ảnh hưởng của mô hình này đối với bài toán phân tích cú
pháp phụ thuộc tiếng Việt
(2018)|70] xây dựng một kuếấế “ng, hoc SÀ dụng thôn tin quan hệ phụ thuộc giữa
các từ trong câu dé sinh On ngữ dich trong dih máy, hay Việt và cộng sự (2017)65]
3Ã toán dịch máy tiếng Anh inh rút trích thông tin[21]
-1.4.1 Phạm vi nghiền cứu
e Cú pháp phụ thuộc của Tiếng Việt
© Việc xây dựng mô hình cú pháp phụ thuộc.
1.4.2 Đối tượng nghiên cứu
e Các hệ thống phân tích cú pháp phụ thuộc,
e Các mô hình SOTA trên các ngôn ngữ lớn, đặc biệt là tiếng Trung có đặc điểm ngôn ngữ có
độ tương đồng cao với tiếng Việt
e Phương pháp học máy.
e Các mô hình phan tích cú pháp phụ thuộc MaltParser, MSTParser.
e Mô phỏng chương trình thực nghiệm cho bài toán phân tích cú pháp phụ thuộc của tiếng
Trang 16Kết quả đạt được
Việt.
1.5 Kết qua đạt được
Trong khóa luận này, chúng tôi đã thành công trong những việc sau đây:
e Dề xuất mô hình mới cho bài toán phân tích cú pháp phụ thuộc tiếng Việt sử dụng mô hìnhBiaffine kết hợp phương pháp Probing
e Kết quả thực nghiệm cho thấy rằng mô hình đề xuất có hiệu suất cao hơn mô hình baseline4.6% trên UAS và 5.11% trên LAS
e Xác định được Probing Task có thể được ứng dung để cải tiến chất lượng của bài toán phantích cú pháp phụ thuộc tiếng Việt
e Xác nhận được việc sử dụng mô hình ngôn ngữ phù hợp có thể cải thiện chất lượng của bàitoán phan tích cú pháp phụ thuộc tiếng Việt
® Chương 2 trình bị Ñựng mô hình phân tích cú pháp phụ
thuộc,
© Chương 3 trin! Tình liên quan đến đề tài
© Chương 4 giới tÌ ung để đánh giá kết quả mô hình bài toán, phan tích các đặc điểm ngõ o ngữ liệu từ đó đề xuất ra phương pháp giải quyết.
e Chương 5 trình bay cách cài đặt, và phân tích kết quả giữa các thí nghiệm và đánh giá hệ
thống
e Chương 6 tổng kết các kết quả quan trọng đã đạt được trong nghiên cứu, đánh giá hệ thống
những hạn chế chưa được giải quyết và hướng phát triển trong tương lai
Trang 17Chương 2
Mạng nơron, hay oi ÌÀ ' ificial Neural Network-ANN), là một bộphận của machin
đề mà nó gặp lần & á @f liệu đã học được
Kiến trúc mạng này lấy cảm hứng từ não bộ của con người, mô phỏng việc các tế bào thần
kinh này tác động lẫn nhau thông qua tín hiệu Mạng nơron nhân tạo chứa các lớp mạng chứa
các nốt liên kết với nhau, thường bao gồm một lớp đầu vào, các lớp ẩn và một lớp đầu ra Các tín hiệu truyền đi trong liên kết giữa các nốt với nhau tổng hợp tại một nốt phía trên, được xử
lý bởi các hàm kích hoạt phi tuyến tính từ đó lại truyền đến các lớp phía trên thông qua kếtnối Mỗi kết nối giữa hai nơron có một trọng số có nhiệm vụ tăng cường hoặc làm giảm giá trị
của tín hiệu truyền đi giữa hai nơron, trọng số này có thể thay đổi bằng cách mô hình tự điều chỉnh các trọng số cho phù hợp để giải quyết bài toán.
Với mạng noron thì mỗi nút mạng lại có hàm kích hoạt khác nhau Người ta thường sử dung
có cùng loại với nhau để việc tính toán thuận lợi hơn Tại mỗi tầng, số lượng nút mạng có thểkhác nhau tùy thuộc vào bài toán mà chúng ta muốn giải quyết
Trang 182.1.1 Perceptron
2.1.1.1 Giới thiệu Perceptron
Perceptron là kiến trúc mang nơron đơn giản nhất mà chỉ bao gồm một lớp đầu vào và một
lớp đầu ra Nó đại diện cho hình thái cơ bản nhất của một mô hình mạng noron, giúp ta hiểu
được cách một thuật toán trong mô hình hoạt động dựa trên dit liệu.
e Hàm sigmol isẴ Wa quen thuộc, được sử dụng bởi tinh đơn giản
mà hiệu quả Ế hơron cơ ban Hàm nhận đầu vào là các số thực và cho kết quả đầu ra năm trong khoảng (0, 1) Hình 2.2 Công thức tổng quát của hàm như
Trang 190.00
~025 -050
=o.
1.00
{ 3 V B ạt động của nó ReLU có công thức
với hai hàm trên, song lại tỏ ra uu việt
toán Công thức tổng quát của hàm như
0, «<0
f(x) = (2.3)
x, otherwise
=100 -75 -50 -25 00 25 50 75 100
Hinh 2.4: Ham kich hoat ReLU
¢ Ham softmax thường được sử dung đối với bài toán phân loại nhiều lớp Hàm kích hoạt
Trang 20Multi-layer Perceptron
này chuyển các giá trị đầu vào thành một vectơ các số thực không âm mang ý nghĩa biểu
trưng cho giá trị phân phối xác suất đầu ra của các nhãn Hàm softmax thường được sửdụng chung với một kỹ thuật áp dụng xác suất như cross-entropy
Perceptron nhiều lớp (Multi-layer perceptron), chính là các Perceptron xếp chồng lên nhau, khi
đó ta nói kiến trúc của nó gồm : lớp đầu lớp đầu ra và các lớp ẩn Ngoài
ra, nếu số lớp ẩn nhiều hơi ng nơron sâu (deep neural
network)
hinh anh.
Trong số - có chức năng đại điện cho mức độ quan trọng của đặc trưng mà có đóng góp lớn
hơn đối với bài toán bằng cách nhân vô hướng trọng số này với chính giá trị đầu vào biểu diễn
cho đặc trưng đó Chẳng hạn như trong bài toán phân tích cảm xúc, một từ có tính chất tíchcực (positive) hay tiêu cực (negative) sẽ có sức ảnh hưởng lớn hơn trong mô hình hơn so vớicác từ mang cảm xúc trung lập (neutral)
Hàm kích hoạt — quyết định tín hiệu của một nốt sẽ được truyền đi như thế nào Hàm kích
hoạt đóng góp vai trò với trọng số có thể quyết định mức độ quan trọng của đặc trưng đó với
mô hình Điểm đặc biệt của hàm kích hoạt nằm ở chỗ phép toán thực hiện với giá trị truyền đi
là một hàm phi tuyến tính Nếu như không có các hàm kích hoạt thì mọi tính toán trong mô
hình chỉ đơn giản là các phép biến đổi tuyến tính, khi đó ta có thé rút gọn một mô hình nhiều lớp bằng cách biến đổi về thành chỉ một phép biến đổi ma trận các trọng số Mặc dù khi đó
việc tính toán mạng của chúng ta trở nên đơn giản, nó lại làm mất đi khả năng giải quyết các
bài toán phức tạp của mô hình.
Trang 21Mạng Nơron hồi quy
Bias - có vai trò thêm giá trị để dịch chuyển giá trị sau khi đi qua hàm kích hoạt Bias giúp mô
hình linh hoạt hơn trong quá trình học tìm ra câu trả lời phù hợp để giải quyết bài toán Vaitrò của bias cũng giống như vai trò của một hằng số trong hàm tuyến tính
‘Output Layers
Hidden Layers
Hinh 2.5: Mg : ới hai lớp ẩn
2.1.4.1 Các khái niệm của mạng RNN
RNN (Recurrent Neural Network) có ý tưởng chính là sử dụng chuỗi các thông tin và khác vớicác mạng nơ-ron truyền thống (đầu vào và đầu ra là độc lập với nhau và không liên kết thànhchuỗi) Tuy nhiên, trong nhiều bài toán, việc dự đoán một phần tử trong chuỗi cần phải biếtcác phan tử trước đó như thế nào RNN được gọi là hồi quy (Recurrent) vì nó xử lý các phan
tử của chuỗi bằng cách tính toán và truyền kết quả tính toán đến phần tử tiếp theo Điều naycho phép RNN lưu trữ thông tin đã tính toán trước đó và sử dụng nó trong các tính toán tiếp
theo Tuy nhiên, thực tế cho thấy RNN chỉ có thể nhớ được một số lượng giới hạn các phần tử
trước đó trong chuỗi, và khả năng này còn phụ thuộc vào cấu trúc và kích thước của mạng
11
Trang 22Các khái niệm của mạng RNN
Công thức toán thể hiện của mô hình:
RNN(5o,21:n) = Stns Ytin
si = R(si-1, 7%)
yi = O(5¡)
ay € RAN, 2Ô
Đầu vào của mô hình thường là đữ liệu có dang chuỗi va sẽ có một bộ trạng thái ẩn ở bên trong
mô hình có nhiệm vụ lưu trữ và cập nhật mỗi khi có dữ liệu chuỗi mới đi vào Bộ trạng thái
ẩn này được mô hình sử dụng để dự đoán kết quả tại mỗi mốc thời gian.
bộ
Unfold
U U U U
% Xã * Xie
Hình 2.6: Mộ i rong theo thời gian của tính toán liên
quan đến việc tí £ guồn: Nature
Hình 2.6 trên mì 1 nội dung của một RNN Triển khai ở đây có thể hiểuđơn giản là ta vẽ ra một mạng nơ-ron chuỗi tuần tự Ví dụ ta có một câu gồm 3 chữ “Tôi đi
học”, thì mạng nd-ron được triển khai sẽ gồm 3 tầng nơ-ron tương ứng với mỗi chữ một tầng.
Lúc đó việc tính toán bên trong RNN được thực hiện như sau:
e a; là trang thái của bước t Vi dụ x2 là một vec-tơ one-hot tương ứng với từ thứ 2 của
câu (từ "là"),
© s¿ là trạng thái ẩn của bước t Nó chính là bộ nhớ của mạng s được tính toán dựa trên
cả các trạng thái ẩn phía trước và đầu vào tại bước đó: s„ = ƒ(Uz, + Ws, ¡) Hàm ƒ
thường là một hàm phi tuyến như tanh hay RELU Để làm phép toán cho phần tử anđầu tiên ta cần khởi tạo thêm s_¡ thường được khởi tạo giá trị là 0
© ö¿ là đầu ra tại bước ¢ Ví dụ, ta muốn dự đoán từ tiếp theo có thể xuất hiện trong câu thì
ø, chính là một vec-tơ xác xuất các từ trong danh sách từ vựng của ta: ø = softmax(Vs:)
Trang 23Cấu trúc của mạng RNN
Ung dụng của nó chủ yếu là trong giải quyết các bài toán trong NLP như phân tích cắm xúc,
cảnh báo thư rác, các vấn đề liên quan đến chuỗi thời gian như dự đoán thời tiết, dự đoán thị
trường chứng khoán
2.1.4.2 Cấu trúc của mạng RNN
Một hạn chế của RNN nằm ở bộ trạng thái chỉ lưu lại khoảng đữ liệu ở ngay trước nó nên chỉlưu trữ được di liệu ở gần mốc thời gian đó và nó không sử dụng bất kỳ thông tin nào nằm ởphía trước cách xa nó trong chuỗi Mô hình LSTM
Người ta quyết định cải tiến RNN bằng cách thêm vào một số đặc tính trong cách hoạt
động của nó nhằm giải quyết nhược điểm này của nó Để giúp RNN ghi nhớ được dit liệu "lâu dài"và không quên thông tin quan trọng nằm ở cách xa phía trước, ta sửa đổi kiến trúc bộ trạng thái của nó bằng cách thêm vào các đặc trưng bộ nhớ để mô hình lưu trữ dữ liệu gọi là cổng (gate) Các thành phần t: c ang thai (c;): bộ nhớ lâu dài lưu nội dung thông tin - Co: ø thái không cần sử dung
nữa và nên xóa để tối y (đầu vào tại mốc thời gianhiện tại) và h¿_¡ (bộ ti với ma trận trọng số tương.ứng sau đó cộng với bi la HA h hoạt trở thành một kết quả
nào sẽ được đưa, 6 6 gid congAjuén nhưng sử dung mốc thời gian của
6 đầu vào hiện tạ ộ tram A ac biệt duy nhất đó là nó nhân với một bộ
2.1.5 Huấn luyện mạng nơron
Huấn luyện mạng noron là điều chỉnh các tham số của nó dựa trên dit liệu đầu vào và kết quả
kỳ vọng, cụ thể là giảm thiểu sự khác biệt giữa kết quả dự đoán và kết quả thực tế cho mỗi ví
dụ trong dit liệu huấn luyện
2.1.5.1 Hàm mất mát
Khi huấn luyện mạng nơron, một hàm mắt mát (loss function) L(y, ÿ) trả về một số thực khong
âm thể hiện sự chênh lệch giữa hai đại lượng: label được dự đoán ÿ và label đúng y Hàm mắt
mát được dùng để đánh giá mé hình đang hoạt động tốt như thế nào trên bộ dit liệu Nếu kết
13
Trang 24Hàm mất mát Hinge (Hinge Loss)
quả của mô hình trả về tệ, giá trị kết quả của hàm mat mát trả về sẽ là một số thực dương lớn;ngược lại nếu kết qua của mô hình trả về tốt, giá trị kết quả của hàm mat mát trả về sẽ là một
số thực dương nhỏ Việc đánh giá như vậy của hàm mat mát giúp gợi ý cho việc huấn luyện
có thể thay đổi như thé nào cho phù hợp với dữ liệu Sau day sẽ là các hàm mất mát thường.
được sử dụng trong bài toán xử lý ngôn ngữ tự nhiên.
Ham mat mát Hinge (Hinge Loss) được thiết kế để sử dụng với bài toán phan loại nhị phan
trong đó các giá trị mục tiêu nhận một trong 2 giá trị —1,1 Mô hình được xem là cho kết quảđúng nếu giá trị dự đoán ÿ và giá trị thực có cùng dấu, nghĩa là y - ÿ > 0 Hàm mất máthinge còn được biết đến với tên hàm mat mát biên hay hàm mat mát SVM:
Lứu.) = max(0, 1 — - ÿ) (2.6)
Ham mat mát Cross-entropy là một hàm mất mát phổ biến được sử dụng trong học có
giám sát Hàm được sử dụng để
các biến ngẫu nhiên hay
[0.1] đại điện cho kết q á ding hay sai (positive or negative), néu kết quả nhỏ hơn
0.5 nghĩa là kết quả dự M ⁄ ức tổng quái của hanf mất mát cross-entropy:
Hàm cross-entroy Ợ Oni Fross-entropy cho bài toán có nhiều lớp
Gọi = gì suất của các lớp 1, m và ÿ = Yasin là
vectd được biến dot am softmax được sử dụng ở đây có tác dụng giúp mô.hình tạo ra tập các giá trị đại diện cho xác suất tương đối của các nhãn Mất mát categoricalcross-entropy được tính bằng cách lấy logarit tuyệt đối của xác suất dự đoán cho mỗi lớp và
cộng lại trên tất cả các lớp Công thức tổng quát của hàm mắt mát categorical cross-entropy:
Lerossentropy Ys) = — > yi log Gi (2.8)
i=l
Việc huấn luyện một mạng nơron bắt đầu với việc khởi tao các trọng số một cách ngẫu nhiên.Tat nhiên lúc này kết quả dự đoán của mô hình sé không tốt và hàm mắt mát sẽ trả về kết
quả rất lớn Từ khởi điểm như vậy ta bắt đầu quá trình huấn luyện mô hình bằng cách đưa dữ
liệu đầu vào vào mô hình tính toán kết quả trên các trọng số, đánh giá hiệu quả mô hình hiệntại thông qua hàm mat mát, đưa ra các điều chỉnh và thực hiện việc điều chỉnh với các trọng
số ban đầu bằng phương pháp lan truyền ngược
Trang 25Stochastic Gradient Descent
Lan truyền ngược là một phương pháp hiệu quả dé cập nhật trong số cho mô hình Như ngụ ý
từ chính tên của nó, lan truyền ngược hoạt động bằng cách đi ngược chiều xuôi khi tính toánkết quả, mỗi khi đi qua một nút trong mô hình đều sẽ thực hiện việc cập nhật lại trọng số hướng.tới mục tiêu giảm mất mát của mô hình Việc tính toán điều chỉnh trọng số này sử dụng đạilượng gọi là gradient (đạo hàm riêng), thuật toán phổ biến được sứ dụng là Stochastic GradientDescent Ngoài ra, có một số thuật toán cũng được sử dụng khác như AdaGrad, Adam
2.1.5.2 Stochastic Gradient Descent
Stochastic Gradient Descent (SGD) là một thuật toán học máy phổ biến, dùng để tìm bộ tham
số tốt nhất của một mô hình dựa trên dữ liệu huấn luyện Nó là một thuật toán dựa trêngradient descent, nhưng thay vì tính gradient trên toàn bộ tập dit liệu huấn luyện, nó chỉ tínhtrên một vài mẫu dữ liệu ngẫu nhiên (ngẫu nhiên lấy ra từ tập dữ liệu huấn luyện) tại mỗi
vòng lặp Thuật toán được mô tả như
Algorithm 1 Thuật toán t © alan C@p nhật thứ k
Tham số quan ti M tiên phải kể đến đó là tham số tốc độ học
(learning rate) €, ằG WẾC, ta dé dàng thấy được tham số này có ảnh hưởng
đến việc cập nhật trọng số Trên thực tế, người ta thấy việc giảm dần tham số này trong quátrình học có ảnh hưởng tích cực đến việc huấn luyện, và tốc độ hoc ở lần lặp thứ k có giá trị
cx Thuật toán sẽ tính dao hàm của hàm mất mát ÿ¿3;U(ƒ(f;8),yŒ trên tập m điểm dữ
liệu Việc sử dụng m điểm di liệu có tác dụng giúp quá trình cập nhật diễn ra nhanh hơn so với việc tính trên từng mỗi điểm dữ liệu, và còn cho phép tận dụng hiệu quả nguồn GPUS với
khá năng tính toán song song.
2.1.5.3 Quán tính trong SGD
“Thuật toán SGD với quán tính (SGD with momentum) cũng giống như SGD với cơ chế sử dụng,
điểm dữ liệu ngẫu nhiên dé cập nhật trọng số dua mô hình về điểm hội tụ, tuy nhiên quá trình train SGD vẫn gây tốn rất nhiều thời gian Với cơ chế quán tính, nhược điểm này của SGD có thể phần nào được khắc phục, bằng cách sử dụng cơ chế giống như quán tính, kỳ vọng có thể
lỗ
Trang 26đấy mô hình về hướng điểm hội tụ Hình 2.7 thể hiện ảnh hưởng của quán tính trong thuật
toán SGD Thuật toán tích lũy cấp số nhân các giá trị đạo hàm đã tính toán được và hướng,
~30 -30 ~20 -10 0 10 20
Tình 2.7: Giá trị hàm mất mát trong quá trình huấn luyện, đường màu đỏ thể hiện cho giá trị
của hàm khi sử dụng thuật toán SGD với quán tinh, mũi tên màu đen thể hiện cho “xu hướng”
biến thiên của hàm mat mát khi không sử dụng quán tính
mô hình trượt theo hướng đó Dé làm được việc này, thuật toán sử dụng một tham số v giống như biểu trưng cho vận tốc tro ạ tả như sau:
Algorithm 2 Thuật toa
Đầu vào: Tốc độ học
Đầu vào: Khởi tạo t
while chưa đạt điề
Chọn ngẫu nhiê
end while
2.1.5.4 AdaGrad
Thuat toán AdaGrad có sự đổi mới trong các thuật toán tối ưu trước nó trong việc nó xem tốc
độ học như một tham số có thể điều chỉnh được Nó điều chỉnh tốc độ học của từng phần tửcủa tất cả các tham số trong mô hình bằng cách chia tỷ lệ chúng theo tỷ lệ nghịch với căn bậc
hai của tổng tất cả các giá trị bình phương của chúng Các tham số có đạo hàm riêng lớn nhất
của hàm mất mát có tốc độ học giảm nhanh tương ứng, trong khi các tham số có đạo hamriêng nhỏ có tốc độ học giảm tương đối nhỏ
2.1.5.5 Adam
Thuat toán tối ưu Adam hiện đang là thuật toán tối ưu được ưa dùng nhất hiện nay trong
huấn luyện các mạng học sâu kể cả trên độ chính xác và tốc độ tính toán của nó.
Trang 27Algorithm 3 Thuật toán AdaGrad [16]
Đầu vào: Tốc độ hoc eg
Đầu vào: Khởi tạo tham số Ø
Đầu vào: Hằng số 5 rất nhỏ, khoảng 10-7
Khởi tạo giá trị đạo ham tích lũy
while chưa đạt điều kiện dừng do
Chọn ngẫu nhiên m cặp dữ liệu (#,/\) (2m: Ym)
Tinh đạo hàm: g — +4 Vo ;L(ƒ(();6),y()
Đầu vào: Hing
Đầu vào: Khởi tad
Khởi tạo các biến momen s = 0,r = 0
Khởi tạo mốc thời gian t = 0
while chưa đạt điều kiện dừng do
Chọn ngẫu nhiên m cặp dữ liệu (a1, 1) (mm: Ym)
Tinh đạo hàm: g — +4 Vo NiL(f(e; 4), y
fCt+l
Cập nhật giá trị momen thứ nhất: s ©— pis + (1—pi)g
Cập nhật giá tri momen thứ hai: r © per + (1 — pa)g Og
Điều chỉnh bias trong momen thứ nhất: § — Ty
Trang 28Vấn đề suy giảm gradient và bùng nổ gradient
Để việc tính toán được nhanh hơn, thuật toán đã sử dụng các kỹ thuật như: tính độ di chuyển
trung bình của giá trị đạo hàm lưu vào biến m và sử dụng nó là tử số của việc cập nhật hướng.Với ý nghĩa là nếu m có giá trị lớn, thì việc đạo hàm dang đi đúng hướng và chúng ta cần bước
nhảy lớn hơn để đi nhanh hơn Tương tự, nếu giá trị m nhỏ, phần descent có thé không đi về hướng tối tiểu và chúng ta nên đi 1 bước nhỏ để thăm dò Đây cũng chính là ý tưởng của quán tính trong SGD với quán tính Bên cạnh đó, thuật toán còn sử dụng là tính độ di chuyển trung
bình của bình phương gia trị đạo hàm lưu vào biến v và sử dụng nó là phần mẫu số của việccập nhật hướng Với ý nghĩa như sau: Giả sử gradient mang các giá trị dương, âm lẫn lộn, thìkhi cộng các giá trị lại theo công thức tính m ta sẽ được giá trim gan số 0 Do âm dương lẫn
lộn nên nó bị triệt tiêu lẫn nhau Nhưng trong trường hợp này thì v sẽ mang giá trị lớn Do đó,
trong trường hợp này, chúng ta sẽ không hướng tới cực tiểu, chúng ta sẽ không muốn đi theo hướng dao ham trong trường hợp này Chúng ta để v ở phần mẫu vì khi chia cho một giá trị
cao, giá trị của các phần cập nhật sẽ nhỏ, và khi v có giá trị thấp, phần cập nhật sẽ lớn
AdamW là một biến thể của Ad:
Ý tưởng của AdamW khá
giả loại bỏ phần tiêu bié 6 i Đồng thức tính gradient hàm
mắt mát tại thời điểm #
và thay vào đó, dưa4 MÃ B., ào quá trình cập nhật trọng số:
Hiện nay chưa có một nghiên cứu nào chứng minh một thuật toán tối uu nào vượt trội hơn so
với những cái còn lại trong SGD, SGD với quán tính, AdaDelta, Adam và AdamW Trên thực
tế, kết quả phụ thuộc lớn vào việc mức độ người sử dụng quen với thuật toán (cách điều chỉnhsiêu tham số) [55]
2.1.6 Vấn đề suy giảm gradient và bùng nổ gradient
"Trong các mạng nơron học sau, gradient của hàm mat mát dễ có khả năng bị tiêu biến về gần
bằng 0 (vanishing gradient) hoặc bùng nổ giá trị quá lớn (exploding gradient) trong quá trình
tính toán đạo hàm lan truyền trên mạng
Vấn đề gradient tiêu biến xảy ra khi các tham số ở các lớp đầu của mô hình quá nhỏ, khiếnhàm tối ưu khó mà cập nhật chúng hơn Diéu này xảy ra thường là do các hàm kích hoạt bị
Trang 29Cả hai vấn đề trên đều có thể được xử lý bằng cách chủ ý khỏi tạo trọng số mô hình theo
hướng giảm khả năng dé chúng xảy ra, hoặc sử dụng phương pháp chuẩn hóa một cách can
thận Trong thực tế, việc sử dụng hàm kích hoạt ReLU là một cách hữu hiệu để giảm thiểu khả năng xảy ra vấn đề này Một cách khác có thé sử dụng đó là clipping gradient, nghĩa là dua ra
một ngưỡng giới hạn cho giá trị hoảng đó không được thấp hơn
hay vượt quá mức này.
cách mạng trong cội NLP nói riêng và cộng đồng nghiên cứu machine learningnói chung Hầu như toàn bộ các mô hình ứng dụng trong các lĩnh vực của NLP hiện nay đạtkết quả cao đều dựa trên nền tảng kiến trúc Transformer Vậy Transformer rốt cuộc có cải tiến
gì mà lại tạo ra đột phá lớn đến như vậy?
19
Trang 30Các thành phần của kiến trúc Transformer
Figure 1: The Transformer - model architecture.
Hin! ‘inh transformer.
Trước Transformer, các mô hình xử lý ngôn ngữ thong dụng thường dựa trên kiến trúc củaRNN Tuy nhiên, vấn đề tồn tại của RNN nằm ở việc huấn luyện mô hình tốn quá nhiều thờigian, hơn nữa khi gặp chuỗi data quá dài RNN còn gặp phải vấn đề vanishing gradient MạngLSTM ra đời giải quyết được vấn đề này của RNN, nhưng vẫn chưa giải quyết được vấn đề
thời gian Nhược điểm lớn của cả RNN và LSTM do là dữ liệu phải được truyền vào một cách
tuần tự, khiến chúng không tận dụng được GPU để tăng tốc độ tính toán lên gấp nhiều lần,
điều thường thầy ở các mô hình deep learning khác Vay làm cách nào để tính toán song song
trên dữ liệu chuỗi, tận dung được nguồn GPU dồi dào như các mô hình deep learning vẫn lam?
Transformer chính là lời giải cho bài toán hóc búa này.
Mô hình transformer được chính thức giới thiệu trong bài báo "Attention is all you need" [63].
Kiến trúc Transformer xây dựng lớp mã hóa - giải mã theo một cách khác để dit liệu có thể
được truyền vào song song
Trang 31Các thành phần của kiến trúc Transformer
® Encoder của transformer nhận đầu vào là một chuỗi từ vựng và tạo ra một biểu diễn nén (hay còn gọi là mã hóa) của chuỗi đó Biểu diễn nén này bao gồm các vector trọng số
được tạo ra bởi lớp embedding của transformer, cùng với các vector trọng số được tạo ra
bởi các lớp self-attention và mạng nơ-ron feed-forward.
© Sau đó, decoder của transformer sử dụng biểu diễn nén đó cùng với một chuỗi đích (ví
dụ như một câu hỏi hoặc một đoạn văn bản) để tạo ra một chuỗi kết quả (hay còn gọi là giải ma) Decoder sử dụng lớp self-attention để tạo ra các trọng số trọng tâm cho chuỗi đích, cùng với một số trọng số được tạo ra bởi lớp attention của encoder để "nhìn"vào biểu dién nén của chuỗi đầu vào Sau đó, decoder sử dụng mạng nơ-ron feed-forward để
tính toán kết quả cho mỗi từ trong chuỗi kết quả
e Lưu ý là chúng ta luôn có một bước cộng thêm Positional Encoding vào các input của
encoder và decoder nhằm đưa thêm yếu tố thời gian vào mô hình làm tăng độ chuẩn xác
Đây chỉ đơn thuần là phép cộng vector mã hóa vị trí của từ trong câu với vector biểu
diễn từ
Điểm đặc trưng nằm ở
vào, Attenti a dian trọng nhất Cu thể, khi xử lý một câu, mỗi t i 2 à đưa qua một hàm tính điểm dé xác định
trọng số Attentio Mig từ Các trọng số này được áp dụng để tinh toán trung bình
có trọng số của các vector từ, tạo ra một biểu diễn mới của câu với các thông tin quan
trọng được tập trung vào Các vector này sau đó sẽ được đưa vào một khối khác gọi làkhối mã hóa - giải mã attention
® SelE-attention: Là một cơ chế attention, nó cho phép mô hình tập trung vào các phần khác
nhau của đầu vào để tạo ra đầu ra tương ứng Trong self-attention, đầu vào và đầu ra của.
một lớp đều là cùng một chuỗi, và attention được tính trên các phần tử trong chuỗi này
¢ Nhược điểm một self-attention là khó để nắm bắt các khía cạnh khác nhau của đầu vào
bởi vì nó có xu hướng tập trung vào chính bản thân của nó Nhưng trong thực tế, ta cần
là tính toán mức độ liên quan giữa những từ khác nhau trong câu, giải pháp được đề xuất
là thay vì sử dụng nhiều self-attention cùng một lúc để học được nhiều attention weightkhác nhau giúp chú ý đến nhiều chỗ khác nhau trong cùng một câu Do đó Multi-HeadAttention ra đời nhằm giải quyết vấn đề trên, nó cho phép mô hình tập trung vào các phần
21
Trang 32Ứng dụng Transformer trong mô hình ngôn ngữ
khác nhau của câu để xác định mối quan hệ giữa chúng Cơ chế Multi-Head Attention
bao gồm nhiều phép Attention đồng thời thực hiện trên cùng một đầu vào nhưng với cáctrọng số khác nhau Mỗi phép Attention sẽ học cách trích xuất thông tin quan trọng từcác chuỗi input khác nhau Khi đó, việc kết hợp các phép Attention này giúp mô hình cókhả năng tập trung vào nhiều khía cạnh của đầu vào và đạt được kết quả tốt hơn
2.2.2 Ứng dung Transformer trong mô hình ngôn ngữ
Transformer là một kiến trúc mạng nơ-ron sâu được phát triển cho các tác vụ xử lý ngôn ngữ
tự nhiên Transformer đã trở thành cơ sở cho nhiều mô hình ngôn ngữ pre-trained, hay còn
gọi là PLM (pre-trained language models), với mục đích tạo ra các biểu diễn ngôn ngữ nội tại
(embeddings) cho các từ và câu Một trong những PLM đáng chú ý nhất hiện nay là BERT
(Bidirectional Eneoder Representations from Transformers), được phát triển bởi Google BERT
đã đạt được kết quả tốt trên nhiều tg hiên và đã trở thành tiêu chuẩn.
Một biến thể khác a er là XLM (CrosÈlingual L§nguage Model), được phát triển bởi Facebook AI 4 A én Wrên nhiền ngôn ngữ khác nhau và có
khả năng chuyển giao i ot ngữ) Kang ngôn ngữ khác XLM đãđạt được kết quả tố h máy và phân loại cảm xúc
Một biến thể ủ ` Robustly Optimized BERT Pre-training
Approach), được iể Search RoBERTa là một phiên bản tối ưu hóa
của BERT, với các luyện để nâng cao hiệu quả RoBERTa đã đạt được
kết quả tốt hơn so với BERT trên một số tác vụ xử lý ngôn ngữ tự nhiên
2.2.2.1 PhoBERT
PhoBERT được phát triển bởi Dat và cộng sự [44] dựa trên kiến trúc Transformer.
Kiến trúc của PhoBERT bao gồm 12 lớp Transformer, tương tự như mô hình gốc của BERT
Tuy nhiên, PhoBERT sử dụng một kiến trúc nhỏ hơn so với BERT-Base, với kích thước ẩn là
768 và 12 attention heads.
PhoBERT được tiền huấn luyện trên một tap dit liệu lớn trên ngôn ngữ tiếng Việt, bao gồmmột sự kết hợp của các bài báo, bài viết trên Wikipedia và các diễn đàn trực tuyến Mục tiêu
huan luyện trước của PhoBERT tương tự như BERT, đó là học một mô hình ngôn ngữ có thể
dự đoán các từ bị ẩn trong câu dựa trên bối cảnh xung quanh.
Trang 33Ứng dụng Transformer trong mô hình ngôn ngữ
Nhìn chung, PhoBERT là một mô hình ngôn ngữ mạnh mẽ đã đạt được các kết quả SOTA trên
các tác vụ xử lý ngôn ngữ tiếng Việt Một số công trình có thể kể đến như sau:
® "PhoSumLSTM: A Deep Learning Framework for Extractive Vietnamese Text
Summa-rization"bdi Nguyen et al (2020)
e "PhoMEG: A Large-Scale Multimodal Emotion Dataset for Vietnamese"bởi Nguyen et
al (2020)
¢ "A Neural Approach to Vietnamese Sentiment Analysis Using Pre-Trained PhoBERT
Embeddings"bởi Le et al (2020)
e "A Hybrid Model for Vietnamese Named Entity Recognition using BiLSTM-CRF and
Pre-trained PhoBERT"bởi Nguyen et al (2021)
2.2.2.2 XLM-Roberta
XLM-Roberta [10] là mí
ngữ da ngôn ngữ được Stgamién XLM-Rdperta là Rét quả của việc kết hợp hai
Mô hình này đã ợc kế €u tác vụ xử lý ngôn ngữ tự nhiên, như dịch
máy, phân loại cả ôn loại ch ích xuất thông tin thực thể, và nhiều tác vụ khác.
Với khả năng tương thích VỚI hơn 100 ngôn ngữ khác nhau, XLM-Roberta được xem như là
một trong những mô hình ngôn ngữ đa ngôn ngữ tốt nhất hiện nay
Các công trình nghiên cứu sử dụng XLM-Roberta rất đa dạng và phong phú, từ việc áp dung
mô hình này để xây dựng các ứng dụng xử lý ngôn ngữ trong lĩnh vực tài chính, y tế, đến việc
sử dụng nó để giải quyết các vấn đề đa ngôn ngữ trong việc tổ chức dữ liệu và truy vấn thông tin Một số công trình nghiên cứu nổi bật sử dụng XLM-Roberta bao gồm:
e XLM-R: A State-of-the-Art Multilingual Language Model (Conneau et al., 2020)
® Cross-Lingual Transfer Learning for Multilingual Text Classification (Wu and Dredze,
2020)
® Multi-Task Learning for Multilingual Named Entity Recognition (Vulic and Mrksic, 2020)
23
Trang 34trúc của một cây cú pi D ột đồ thị c Ớ = (V,A), với V là tập các
e 2 Ngoại trừ nút ¡ nú " một cạnh di vào.
© 3 Có đúng một c lóc đến mỗi nút còn lại.
Với cấu trúc như vậy, cú pháp phụ thuộc có khả năng tốt trong việc biểu diễn các ngôn ngữ có
cấu trúc trật tự từ tự do Tuy vậy, không có nghĩa ngôn ngữ có cấu trúc trật tự từ xác định
thì cú pháp phụ thuộc không biểu diễn được Thực tế, đã có nhiều công trình áp dụng cú pháp
phụ thuộc lên tiếng việt và đạt kết quả tốt theo như Quy đã phân tích vào năm 2020 [41],
2.3.2 Phương pháp phân tích cú pháp phụ thuộc dựa trên bước chuyển
(trainsition-based)
C6 2 cách huấn luyện sử dung Oracle để chon ra mối quan hệ phù hợp Thứ nhất, oracle sẽ
dựa trên xác suất của trạng thái hiện tại của w, s[31] Thứ hai là cách sử dụng featured-basedclassifier[31]
Trang 35Hướng tiếp cận Nạve
function DEPENDENCYPARSE(wørđs) returns dependency tree
state {[root], [words], [] } ; initial configuration
while state not final
t~ ORACLE(state)
return state
; choose a transition operator to apply state APPLY(t, state) ; apply it, creating a new state
Hình 2.9: Thuật tốn tổng quát của hướng tiếp cận dựa trên bước chuyển(31]
STEP STACK BUFFER OPERATOR LABEL
1 [root] [Mũi, ho, ở, thành phố, ] | SHIFT
2 [root, Mùi] (hd, 6, thành _ phố, ] SHIET
3 (root, Mùi, hồ] [õ, thành phố, |] RIGHT: Mùi — ho NN
4 [root, Mùi] [ð, thành _ ph, |] SHIFT
5 [root, Mùi, ở] [thành _ phĩ, J SHIET
6 (root, Mùi, ở, thành phố] | [J :ổ -3 thành phố | POBJ
7 [root, Mùi, ở] H Mui > 6 PREP
8 [root, Mui, ] [ ai PUNCT
9 0 0 : root —> Mui ROOT
Bang 2.1: Các bước phan tích
háp phụ thuộc dựa trên bước
47), sử dụng tư tưởng tìm kiếm
At JO mỗi bước, Oracle sẽ xem xét 3 việc
fam head của từ trước đĩ (từ thứ hai) (LEFT ARC)
¢ Gán từ trước đĩ làm head của từ hiện tại (RIGHT ARC) Xố từ hiện tại ra khỏi stack.
e Hoan lại, lưu vào stack để xử lý sau (SHIFT)
Bang 2.1 mơ tả trạng thái của việc parse câu ví dụ ở hình trên (sử dung 2 thao tác là LEFT
& RIGHT để đơn giản hố).
Từ bảng 2.1 ta cĩ thể nhận thấy một vài yếu điểm của thuật tốn cơ bản này, cụ thể hơn ở bước số 5 và bước số 7 cĩ trạng thái của stack giống nhau, ta cĩ thé gan mối quan hệ PREP
ngay từ ở bước 5, tuy nhiên nếu làm vậy thì lại bỏ sĩt mối quan hệ POBJ ở bước 6 Bởi vìthuật tốn được thiết kế theo tư tưởng tham lam nên mỗi quyết định được đưa ra bởi oracle
sẽ được xem là luơn tối ưu cục bộ và khơng sử dụng backtrack nên nếu sai ở một bước bất kỳthì sẽ khiến cho parse trở nên vơ dụng Oracle - thành phần đưa ra quyết định lựa chọn mối
25
Trang 36Hướng tiếp cận của Nivre
quan hệ nào có thể được huấn luyện bằng việc sinh dữ liệu huấn liệu từ dữ liệu cây dependency
sang đạng transition (như bảng 2.1) và sử dụng xác xuất của từng trạng thái (còn được gọi làtransition) Cách thứ 2 là sử dụng một classifier kết hợp với với những đặc trưng được lựa chon(POS tag, lemmas, word-form)
Classifier có thể sử dụng bat kỳ classifier nào hiện có phù hợp với việc phân lớp các mối quan
hệ, cổ điển nhất là multi-class Support Vector Machine với số lượng class cần phần lớp bằng 2 lần số lượng các relation được định nghĩa Dé một classifier hoạt động trơn tru thì cần có một
thuật toán phân lớp tốt, cổ điển như SVM hoặc sử dụng các mô hình SOTA deeplearning dành
cho việc phân lớp.
Thuat toán này còn nhiều điểm han chế chẳng hạn như: không thể gán trước một mối quan
hệ (step 5 ở bang 3.8), chỉ sinh ra một parse nên khó để xác định parse này đã tốt nhất có thể
hay chưa.
2.3.2.2 Hướng tiếp cậi
Nirve và cộng sy[49; 5: 6 at tod tiền ở Ofacle nhằm khắc phục điểm yếu của thuật toán traf, a thêm 1 dperatiog Reduce để loại bỏ từ ở trên.
cùng stack, và thay vì ‹ thì Nivre Aét từ trên cùng của stack và từ
đầu tiên ở buffer (¥ : ứ xét 2 từ trên cùng của stack)
Dịnh nghĩa thuật
« Khởi đầu: (2.{
© Kết thúc: (5, Ø, L)
© Shift: (w/|8, w;|B, L) > (w,
« Reduce: (wi|S, w;|B, L) ¬ (S, w;|B, L) 3+ € R, wel(we, r, wi) € L
© Lef-Are: (wi|S, wj|B, L) > (S, w¡|B, LU {(wj, r, wi)} Br € R, wil(we, r, wi) € L
« Right-Are: (w:|S, wj[B, L) (wj|wilS, B, LU {Ov, +, wy} Br € R, well 1, wy) EL
¡|8, B, L) (w; có thể là phan tử rỗng)
Bai toán gồm các ký hiệu 8, thể hiện tập các phần tử trong stack, B thể hiện tập các phần tử nằm trong buffer, L thể hiện tập các nhãn được gán bởi thuật toán, có dang (w;, r, w;) chỉ rõ
mối quan hệ phụ thuộc giữa từ trung tâm (headword) w; và từ phụ thuộc w; theo mối quan
hệ r, R là tập các mối quan hệ có sẵn Bài toán bắt đầu với trạng thái khởi tạo gồm (S, B,L), trong đó 8, và L là tập rong, B là buffer chứa các từ trong câu theo thứ tự trái sang phải.Trang thái kết thúc là khi tập B rỗng và không thể tiếp tục parse (có thể còn phan tử trongStack hoặc không) Có 4 thao tác gồm Shift, Reduce, Left-Arc và Right Arc Thao tác Shift
sẽ đời từ đầu tiên của Buffer vào trong Stack (ký hiệu w; | § nghĩa là từ w¡ dang ở din Stack
Trang 37Malt Parser
STEP STACK BUFFER OPERATOR LABEL
1 [root] [Mùi, hỗ, ở, thành _phố, ] | RIGHT: root > Mùi ROOT
2 [root, Mùi] Ihổ, ở, thành _ phố, |] RIGHT: Mùi > hồ NN
3 [root, Mùi, hồ] (6, thành phố, |] RIGHT: Mùi > 6 PREP
4 [root, Mùi, ho, ở] [thành phố, J RIGHT: ở ¬ thành phố | POBJ
5 [root, Mùi, hổ, ở, thành_ phố] | [J REDUCE
6 [root, Mùi, bo, ] (J REDUCE
7 [root, Mùi, ho ] (J REDUCE
8 (root, Mài H RIGHT: Mùi > PUNCT
9 (root, Mùi, ] i
Bang 2.2: Các bước phân tích cú pháp của bộ phân tích cú pháp phụ thuộc dựa trên bước
chuyển - thuật toán Nivre
Ngôn ngữ Tiếng Thụy Điển | Tiếng Anh | Tiếng Trung
Độ đo UAS LAS UAS | LAS | UAS | LAS Nivre’s - MBL 85.8 81.5 87.6 85.8 80.4 78.6 Nivre’s - SVM 86.4 | 82.6 88.9 | 87.4 | 83.9 | 82.4
Convinton’s - MBL | 83.9 79.7 86.6 84.8 79.9 78.1
Convinton’s - SVM | 85 81.5 88.7 87.3 83.9 | 82.4
Bang 2.3: Kết quả thực nghiệm của Malt Parser đối với các ngôn ngữ|5]
và ký hiệu w; | B nghĩa là
w¡ nằm đầu tiên ở Stacl ' ia và ộ ói quan hgfvới vai trò là từ phụ thuộc.
Tir ở dau Stack đã tim : adword) hém mối quan hệ (w¡, r, wj)nếu thoả điều kiện khô nào trong L m/w; tham gia với vai trò là từ
từ phụ thuộc, đồ i Re ông 2.2 là một ví dụ phân tích cú phạp sử
dụng thuật toán
Điều khiến thuật toán của Nivre được ưa thích bởi vi độ phức tạp thời gian là O(2n) đối vớiviệc parse một projective tree và O(n?) đối với non-projective tree nhưng vẫn đem lại độ chínhxác cao [5]
2.3.2.3 Malt Parser
Malt Parser là một bộ phân tích cú pháp được phát triển bởi Nivre[51] vào năm 2006, và đạt
được danh hiệu SOTA ở CoNLL 2007 (CoNLL shared task) trong hạng mục phân tích cú phápphụ thuộc đa ngôn ngữ [24] Malt Parser hỗ trợ 2 thuật toán parsing là thuật toán Nivre[48] và
thuật toán Covington [11], 2 thuật toán được sử dụng để học dựa trên dữ liệu đó là Support
Vector Machine [19] và Memory-based Learner [14] Mặc định Malt Parser sử dụng SVM và
thuật toán Nivre để phân tích cú pháp phụ thuộc Bảng 2.3 trình bày về kết quả đạt được của.
Malt Parser ở CoNLL shared task 2007.
27
Trang 38Huấn luyện
2.3.2.4 Huấn luyện
Khi huấn luyện, đặc trưng của một trạng thái như từ loại, từ dạng chuẩn (lemma), dạng từ (word form) và các quan hệ phụ thuộc đã được tạo ra trước đó, sẽ được rút trích để sử dụng cho huấn luyện Oracle Trong phương pháp bước chuyển, các đặc trưng đó sẽ được rút trích
từ ba thành phần chính bao gồm: S, B và R Dé tránh sử dung quá nhiều đặc trưng gây nhiễu
trong lúc huấn luyện bộ phân lớp, chỉ có đặc trưng giàu thông tin cô đọng như phần từ S, các
từ đứng gần và các quan hệ phụ thuộc liên quan được sử dụng Các mô hình huấn luyện bộ
phân lớp thường được sử dụng là thuật toán multinomial logistic regression hay support vector
machines, cả hai phương pháp này đều thể hiện tính hiệu quả khi được huấn luyện bằng cácđặc trưng thưa Gần đây, mạng nơron và học sâu được áp dụng đạt độ chính xác cao
2.3.3 Phương pháp phân tích cú pháp phụ thuộc dựa trên đồ thị
Việc phân tích cú pháp một câu s được bắt đầu với việc tạo nên một đồ thị đầy đủ (completedgraph) Một đồ thị đầy đủ là một đồ thị mà tất cả các đỉnh đều có cạnh hướng tới tới các đỉnhcùng trọng số của cạnh (ngoại trừ đỉnh root chỉ có cạnh hướng tới các đỉnh khác, nhưng không
có đỉnh nào có cạnh nối tới đỉnh root) Ngoại trừ việc gán trọng số cho bất kỳ các cạnh trong,
Trang 39Phương pháp phân tích cú pháp phụ thuộc dựa trên đồ thị(graph-based)
đồ thị sử dụng một mô hình máy học, ta còn cần thêm 1 mô hình có thể trích xuất được đồ thị
con ở trong đồ thị đầy đủ này thỏa mãn các tính chất của một đồ thị phụ thuộc (cây khung)
Chúng ta sẽ chấm điểm tất cả các đồ thị phụ thuộc con và chọn ra cây khung có điểm số cao nhất Điểm số của một cây khung t thuộc câu 8 được tính bằng 2 công thức dưới, và cây khung phù hợp nhất của cây $ là cây khung có điểm cao nhất:
Score(t,8) = 3” s(i,7)
(7)€t
T(8) = argmaz,crs Score(t, 8)
Việc sử một thuật toán vét cạn tìm ra tất cả cây khung tồn tại và sau đó chọn cây khung phù
hợp khó có thể sử dụng bởi vì chỉ phí rất cao, cách tiếp cận quy hoạch động được ưa chuộng hơn Ta có thể trích xuất nhiều đồ thị phụ thuộc con thỏa mãn các tính chất của một đồ thị
phụ thuộc (cây cú pháp phụ thuộc) bằng những thuật toán tìm kiếm cây khung lớn nhất nhưthuật toán Prim [23] hoặc th ; biing thuật toán này không phù
hợp để trích xuất được ên khó có thể xử lý trường hợp có chu trình giữa 244 chúng ta s án tốt hơn để có thể xử lý
Hình 2.10: Đồ thị phụ thuộc được xác định bởi thuật toán tiếp cận dựa trên đồ thị
Collins [8] đề xuất một thuật toán trích xuất đồ thị phụ thuộc từ đồ thị day đủ (theo hướngtiếp cận trên thì chính là cây khung) dựa trên mô hình phân tích cạnh (arc-factored model)
Thuật toán của Collins được sử dụng để phan tích cây cú pháp thành tố, tuy nhiên cũng có thể áp dụng vào phân tích cây cú pháp phụ thuộc Thuật toán của Collins [8] là sự kết hợp của thuật toán CKY và kết hợp các yếu tố từ vựng, với độ phức tạp là O(n) thì đây không phải
là một thuật toán lý tưởng dé có thể sử dụng đối với những câu dài [58] Eisner (1996) [18] và
Chu, Liu (1965) [6], Edmonds (1967) [L7] đã phát triển các thuật toán thay thế với độ phức
tạp thấp hơn O(n’) nhưng vẫn có thể giải quyết được bài toán.
29
Trang 40Thuật toán Eisner
2.3.3.1 Thuật toán Eisner
Thuat toán Eisner là một thuật toán quy hoạch động được cải tiến từ thuật toán của Collins
(S], thuật toán Eisner sử dụng bảng quy hoạch động để lưu trữ trạng thái của các cây con tốt nhất (cây con với điểm số cao nhất) từ vị trí từ i tới vị trí từ j sao cho 1 < ¿ < ÿ < ø (n là số
từ của câu) Ngoại trừ việc lưu trữ giá trị của cây tốt nhất thì thuật toán Eisner còn lưu trữcác thông tin khác như độ hoàn thiện của 1 cây con (được Eisner gọi là khung - span)
Eisner sử dụng các thành phan cơ bản được gọi là khung (span), một khung sẽ gồm từ i tới
từ j sao cho ¡ < j, một khung cơ bản gồm 2 từ liên tiếp nhau Một khung được gọi là hoànthiện nếu như tồn tại một đường kết nối từ w¡ > w; hoặc ngược lại (2 từ biên được kết nối vớinhau), đơn giản hơn thì 2 từ ở biên phải có 1 từ đã có head (và 1 từ chưa có head - không cócạnh đến) Trường hợp của khung hoàn thiện thì từ chưa có cạnh đến cần một cạnh đến từ mộtkhung khác Một khung chưa hoàn thiện là 2 từ ở biên đều không có cạnh đến Nếu 2 khung
fi, k] và [k, j] có thể kết hợp du qf=Loán ei hợp chúng lại với nhau trong 1 điều kiện nhất định Dé 2
thiện thì phải đảm bảo
khung có từ biên (cần
thuật toán Eisner.
# initialize the table
12 # create complete subtrees
13 ØIs|[fJ|[l| = maxe<u<e(Cls][u}[—][1] + Clu]{¢][—][0])
4 €[s|[fl[—-l[1] = max:<„<:(Cf[s|[w][—¬ll0] + Clu) [4 [][)
Hình 2.11: Thuật toán Eisner[5]
Trong thuật toán 2.11, C là bảng quy hoạch động s, t là 2 từ biên của khung, d là direction,
khi d là “©” thể hiện có cạnh trỏ vào từ s (từ t sẽ cần thêm 1 head), không nhất thiết từ t phải trỏ sang từ s (ti s có cha ở trong khung), khi d là “>” thể hiện có cạnh trỏ vào từ t (và
từ s sẽ cần 1 cha) Biến e là 1 bit, thể hiện đây có phải là một cây hoàn thiện hay không Day
không phải là thuật toán phân tích cú pháp phụ thuộc Eisner, để có thể xây dựng ra một cay
cú pháp phụ thuộc, ta cần xây dựng đệ quy cây từ bảng C