1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng mô hình phân tích cú pháp phụ thuộc cho tiếng Việt

81 30 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng mô hình phân tích cú pháp phụ thuộc cho tiếng Việt
Tác giả Phan Nhật Minh, Phạm Viết Tài
Người hướng dẫn TS. Nguyễn Thị Quý
Trường học Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 34,83 MB

Nội dung

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 1

DAI 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 2

DAI 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 3

LỜ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 4

14 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 5

MỤ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 6

quan đế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 7

Hiệ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 8

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 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 9

Danh 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 10

Cú 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 11

Chươ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 12

Tì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 13

Tinh 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 14

Theo 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 15

Lý 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 16

Kế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 17

Chươ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 18

2.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 19

0.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 20

Multi-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 21

Mạ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 22

Cá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 23

Cấ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 24

Hà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 25

Stochastic 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 27

Algorithm 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 28

Vấ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 29

Cả 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 30

Cá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 31

Cá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 34

trú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 35

Hướ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 36

Hướ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 37

Malt 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 38

Huấ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 39

Phươ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 40

Thuậ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

Ngày đăng: 02/10/2024, 05:28

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN