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

Nghiên cứu mô hình transformer và ứng dụng thêm dấu tiếng việt

68 3 0

Đ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 đề Nghiên Cứu Mô Hình Transformer Và Ứng Dụng Thêm Dấu Tiếng Việt
Tác giả Nông Hồng Lanh
Người hướng dẫn TS. Nguyễn Hùng Cường
Trường học Đại Học Thái Nguyên
Chuyên ngành Khoa Học Máy Tính
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2023
Thành phố Thái Nguyên
Định dạng
Số trang 68
Dung lượng 718,53 KB

Nội dung

52 Trang 8 DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮTKý hiệuÝ nghĩaNLPNatural Language Processing - Xử lý ngôn ngữ tự nhiênTokenizationTách từTransformerMột mô hình mạng nơ ron học sâuBertBidirecti

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

NÔNG HỒNG LANH

NGHIÊN CỨU MÔ HÌNH TRANSFORMER

VÀ ỨNG DỤNG THÊM DẤU TIẾNG VIỆT

LUẬN VĂN THẠC SĨ Chuyên ngành: Khoa học máy tính

Mã số: 8480101

Người hướng dẫn: TS NGUYỄN HÙNG CƯỜNG

Thái Nguyên - 2023

Trang 3

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn TS NguyễnHùng Cường Thầy đã giao đề tài và tận tình hướng dẫn em trong quá trình hoànthành đề tài này

Em xin gửi lời cám ơn của mình tới các thầy cô giáo trong khoa Công nghệthông tin đã giảng dạy và giúp đỡ chúng em trong suốt quá trình học tập tạitrường

Xin chân thành cảm ơn các bạn cùng lớp CHK20 đã đồng hành giúp đỡ tôitrong quá trình học tập

Xin cảm ơn, gia đình, đồng nghiệp tại cơ quan đã động viên, giúp đỡ, khích

lệ tôi hoàn thành khóa học

Thái Nguyên, tháng 9 năm 2023

Học viên

NÔNG HỒNG LANH

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này do chính tôi thực hiện, dưới sự hướng dẫn củaTS.Nguyễn Hùng Cường Các kết quả lý thuyết được trình bày trong luận văn

là sự tổng hợp từ các kết quả đã được công bố và có trích dẫn đầy đủ Kết quảcủa chương trình thực nghiệm trong luận văn này được tác giả thực hiện là hoàntoàn trung thực, nếu sai tôi hoàn toàn chịu trách nhiệm

Thái Nguyên, ngày 9 tháng 9 năm 2023

Học viên

NÔNG HỒNG LANH

Trang 5

Mục lục

DANH SÁCH HÌNH VẼ 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 6

MỞ ĐẦU 7

Chương 1 CƠ BẢN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN 10

1.1 Các khái niệm cơ bản 10

1.1.1 Xử lý ngôn ngữ tự nhiên 10

1.1.2 Xử lý văn bản 12

1.1.3 Chuẩn hóa các token 12

1.2 Biến đổi word2vec 13

1.2.1 Onehot véc tơ 13

1.2.2 Mô hình Skip-Grams 13

1.2.3 Mô hình CBOW 15

1.3 TF-IDF 15

1.3.1 TF 16

1.3.2 IDF 17

1.3.3 TF-IDF 17

1.4 Bài toán thêm dấu tiếng Việt 18

1.4.1 Các công cụ và thư viện cho NLP 18

1.4.2 Xử lý tiếng Việt 19

1.4.3 Bài toán thêm dấu tiếng Việt 19

Chương 2 MÔ HÌNH TRANSFORMER 22

2.1 Cơ chế tập trung 23

2.1.1 Tầng tập trung 23

2.1.2 Kiến trúc tự tập trung 26

2.2 Mô hình seq2seq áp dụng cơ chế tập trung 27

2.2.1 Bộ mã hóa và bộ giải mã trong seq2seq 27

2.2.2 Seq2seq thêm cơ chế tập trung 27

2.3 Kiến trúc Transformer 30

2.3.1 Kiến trúc transformer 30

2.3.2 Các kỹ thuật trong transformer 32

2.3.3 Bộ mã hóa và giải mã trong transformer 35

2.3.4 Huấn luyện transformer 37

Trang 6

2.4 Mô hình bert 38

2.4.1 Tinh chỉnh bert 38

2.4.2 Mặt nạ ngôn ngữ 39

2.4.3 Các kiến trúc mô hình BERT 41

2.4.4 BERT trong Tiếng Việt 42

2.4.5 Một số kỹ thuật tokennize 44

Chương 3 ỨNG DỤNG TRANSFORMER TRONG BÀI TOÁN THÊM DẤU TIẾNG VIỆT 48

3.1 Chuẩn bị dữ liệu, môi trường thực nghiệm 49

3.2 Cấu hình transformer 50

3.3 Phân tích kết quả 51

3.3.1 Thiết lập mặc định 51

3.3.2 Kết quả khi điều chỉnh mô hình 51

Kết luận 55

Tài liệu tham khảo 56

Phụ lục 58

Trang 7

Danh sách hình vẽ

1.1 Kiến trúc mô hình skip-grams 14

1.2 Kiến trúc mạng nơ ron trong mô hình skip - grams 14

1.3 Kiến trúc Cbow 15

2.1 Mô tả tầng tập trung 23

2.2 Cách tính đầu ra của tầng tập trung 24

2.3 Kiến trúc tự tập trung 26

2.4 Quá trình giải mã trong mô hình seq2seq áp dụng cơ chế tập trung 28

2.5 Các tầng trong mô hinh seq2seq áp dụng cơ chế tập trung 29

2.6 Kiến trúc transformer 32

2.7 Kỹ thuật tập trung đa đầu 33

2.8 Kỹ thuật biểu diễn vị trí trong transformer 35

2.9 Minh họa dự đoán ở bước thời gian t của tầng tự tập trung 37

2.10 Tiến trình huấn luyện trước và tinh chỉnh của BERT 39

2.11 Kiến trúc bert base và bert large 41

3.1 Biến đổi sai số qua từng epoch 52

3.2 Sai số trên tập huấn luyện và kiểm tra biến đổi theo epoch của mô hình theo thiết lập 1 52

3.3 Sai số trên tập huấn luyện và kiểm tra biến đổi theo epoch của mô hình theo thiết lập 2 53

Trang 8

DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT

NLP Natural Language Processing - Xử lý ngôn ngữ tự nhiên

Transformer Một mô hình mạng nơ ron học sâu

Bert Bidirectional Encoder Representations from Transformers Text processing Quá trình xử lý chuỗi văn bản.

whitespaceTokenizer Tách token dựa vào khoảng trắng.

WordPunctTokenizer Tách token dựa trên dấu câu

TreebankWordTokenizer Tách token dựa trên luật ngữ pháp

Word2vec Biến đổi từ thành véc tơ số

Skip-Grams Một mô hình biểu diễn từ bối cảnh thành véc tơ

TF Term Frequency- tần suất xuất hiện của thành phần

tank(x), softmax Hàng tang hypebol, hàm sofmax

Sub-layer, Encoder, Decoder Các tầng con, Quá trình mã hóa, giải mã trong mạng Fully connected Kết nối đầy đủ

Positional Encoding Mã hóa vị trí từ

Scale dot product Tích vô hướng

Bleu score, Encoder, Decoder Các độ đo đánh giá mô hình

Machine Translation Bản dịch, MT

Fine tuning Điều chỉnh, tinh chỉnh mô hình

Embedding Biểu diễn từ, văn bản thành véc tơ.

MLL Mô hình ẩn đi ngẫu nhiên một số từ, thay bằng mask NSP Next Sentence Prediction - Mô hình dự đoán câu tiếp theo Pre processing Tiền xử lý.

Trang 9

MỞ ĐẦU

Học máy, học sâu, trí tuệ nhân tạo là lĩnh vực đang thu hút được sự quan tâm của

xã hội nói chung và những nhà nghiên cứu khoa học máy tính nói riêng trongnhững năm gần đây Trong đó, Xử lý ngôn ngữ tự nhiên (NLP) đóng vai trò quantrọng trong nhiều lĩnh vực và có ảnh hưởng lớn đến cuộc sống hàng ngày củachúng ta Trong tương tác Người-Máy, NLP cho phép máy tính hiểu và tương tácvới con người bằng ngôn ngữ tự nhiên Ví dụ, các trợ lý ảo, trình tương tác giọngnói và hệ thống trả lời tự động đều sử dụng NLP để hiểu và đáp ứng các câu hỏihoặc yêu cầu của người dùng Trong dịch máy: NLP giúp máy tính dịch văn bản

từ một ngôn ngữ sang ngôn ngữ khác Công nghệ dịch máy ngày nay sử dụngcác phương pháp NLP tiên tiến như mô hình Transformer để tạo ra các bản dịch

tự nhiên và chính xác NLP còn đóng vai trò quan trọng trong nhiều lĩnh vựckhác như Phân tích cảm xúc, tóm tắt văn bản, trích xuất thông tin, tìm kiếm vàphân Loại

NLP tiếng Việt là một lĩnh vực đang phát triển trong cộng đồng NLP Mặc dùNLP tiếng Anh đã có nhiều nghiên cứu và ứng dụng phát triển, NLP tiếng Việtđặt ra những thách thức riêng do đặc điểm ngôn ngữ và tài nguyên dữ liệu hạnchế Một số vấn đề khó khăn đến từ:

• Tách từ: Tiếng Việt có cấu trúc từ và ngữ pháp phức tạp, đặc biệt là khikhông có dấu Việc tách từ trong tiếng Việt có thể gặp nhiều khó khăn hơn

so với tiếng Anh Có các phương pháp như tách từ dựa trên từ điển, tách từdựa trên quy tắc, hoặc sử dụng các công cụ mã nguồn mở như VnTokenizerhoặc PyViTokenizer

• Xử lý dấu và âm tiết: Tiếng Việt sử dụng dấu để thay đổi ý nghĩa và cách

đọc của từ Để thêm dấu tiếng Việt vào văn bản không dấu, có thể sử dụngcác phương pháp như xác định ngữ cảnh từ vị trí và ngữ nghĩa của từ, hoặc

sử dụng các mô hình NLP tiếng Việt đã được huấn luyện trước

• Xử lý từ đồng nghĩa: Tiếng Việt có nhiều từ đồng nghĩa và từ mang nhiều ý

nghĩa khác nhau Điều này tạo ra thách thức trong việc hiểu và xử lý ngônngữ Các phương pháp sử dụng ngữ nghĩa từ điển, ngữ cảnh hoặc mô hìnhhọc máy có thể được áp dụng để giải quyết vấn đề này

• Dữ liệu huấn luyện và tài nguyên: NLP tiếng Việt gặp khó khăn do tài

nguyên dữ liệu hạn chế so với tiếng Anh Dữ liệu tiếng Việt có thể đượcthu thập từ các nguồn trực tuyến, bao gồm báo chí, diễn đàn và các tài liệu

Trang 10

khác Ngoài ra, có một số tài nguyên ngôn ngữ như từ điển, bộ từ loại vàngữ pháp

Bài toán thêm dấu tiếng Việt là một bài toán trong lĩnh vực NLP Mục tiêu củabài toán này là thêm dấu câu và dấu thanh vào các từ tiếng Việt không có dấu đểtạo ra các câu hoàn chỉnh và đúng ngữ pháp

Một số phương pháp giải quyết bài toán này:

• Sử dụng từ điển: Xây dựng một từ điển chứa các từ tiếng Việt không dấu

và tương ứng với các từ tiếng Việt có dấu Khi gặp một từ không có dấu, tra

từ điển để tìm từ có dấu tương ứng

• Sử dụng quy tắc ngữ pháp: Xác định các quy tắc ngữ pháp để xác định vịtrí và loại dấu cần thêm vào các từ Ví dụ, dấu chấm câu thường được thêmvào cuối câu, và dấu thanh có thể được xác định dựa trên ngữ cảnh và từloại của từ

• Sử dụng mô hình học máy: Sử dụng các mô hình học máy như mạng neural,

mô hình Transformer hoặc BERT để học quy luật và cách thêm dấu tiếngViệt Mô hình được huấn luyện trên dữ liệu có dấu và không có dấu để tìm

ra quy tắc và mối quan hệ giữa các từ và dấu trong tiếng Việt

• Sử dụng phương pháp kết hợp: Kết hợp các phương pháp trên để tăngcường hiệu quả và độ chính xác của việc thêm dấu tiếng Việt Kết hợp từđiển, quy tắc ngữ pháp và mô hình học máy có thể giúp xử lý các trườnghợp đặc biệt và đa dạng trong tiếng Việt

Bài toán thêm dấu tiếng Việt có thể gặp khó khăn do sự đa nghĩa của các từ

và sự phụ thuộc vào ngữ cảnh Tuy nhiên, với sự kết hợp các phương pháp và tàinguyên phù hợp, bài toán này có thể được giải quyết một cách khá hiệu quả Vìvậy trong đợt học tập, làm luận văn này em đã chọn đề tài "Nghiên cứu mô hìnhTransformer và ứng dụng thêm dấu tiếng Việt" do thầy TS Nguyễn Hùng Cườnghướng dẫn Luận văn của em gồm 3 chương:

Chương 1: Trình bày tổng quan về NLP và các khái niệm, ứng dụng, hướngnghiên cứu được quan tâm

Chương 2: Trình bày mô hình transformer và một số kỹ thuật học sâu liên quantrực tiếp đến bài toán

Chương 2: Trình bày quá trình ứng dụng mô hình transformer thêm dấu tiếngViệt

Trang 11

Tuy đã có nhiều cố gắng nhưng do thời gian và khả năng có hạn nên các vấn

đề trong luận văn vẫn chưa được trình bày sâu sắc và không thể tránh khỏi cónhững sai sót trong cách trình bày Mong được sự góp ý xây dựng của thầy cô vàcác bạn Em xin chân thành cảm ơn!

Trang 12

Chương 1

CƠ BẢN VỀ XỬ LÝ NGÔN NGỮ TỰ

NHIÊN

Nội dung chương này em trình bày một số nội dung cơ bản về xử lý ngôn ngữ

tự nhiên làm nền tảng nghiên cứu các nội dung tiếp theo

NLP là một nhánh của ngôn ngữ học, khoa học máy tính và trí tuệ nhân tạoliên quan đến sự tương tác giữa máy tính và ngôn ngữ tự nhiên của con người(Ví dụ: Tiếng Anh, Tiếng Việt, ), giọng nói hoặc văn bản.[10]

Những thử thách trong lĩnh vực NLP là: Nhận diện giọng nói, hiểu được ngônngữ tự nhiên của con người và mô phỏng lại ngôn ngữ tự nhiên

NLP có nhiều ứng dụng như [8], [9], [10]:

• Phân tích cú pháp: Phân tích cú pháp giúp hiểu cấu trúc ngữ pháp của câu,

xác định các thành phần cú pháp như danh từ, động từ, cụm từ, và mốiquan hệ giữa chúng

• Phân tích ý: Hướng tiếp cận này nhằm đánh giá và phân loại ý kiến, cảm

xúc trong văn bản Nó có thể xác định xem một bình luận là tích cực, tiêucực hay trung lập

• Dịch máy: Dịch máy tập trung vào việc chuyển đổi văn bản từ một ngônngữ sang ngôn ngữ khác một cách tự động Các mô hình dịch máy sử dụng

cơ sở dữ liệu về các cặp câu đã dịch trước đó để học và áp dụng các quy tắcdịch đối với các câu mới

• Phân tích ngữ nghĩa: Phân tích ngữ nghĩa giúp hiểu ý nghĩa của văn bản.Điều này bao gồm xác định các từ khóa, thực thể, mối quan hệ giữa các từ,

và hiểu được ý nghĩa chung của câu

Trang 13

• Tóm tắt văn bản: Hướng tiếp cận này nhằm tạo ra bản tóm tắt ngắn gọn và

ý nghĩa từ một đoạn văn hoặc văn bản dài

• Trả lời câu hỏi: Hướng tiếp cận này nhằm phân tích và hiểu câu hỏi, sau đó

tìm kiếm và trích xuất thông tin chính xác từ nguồn dữ liệu để cung cấp câutrả lời

• Tạo văn bản tự động: Hướng tiếp cận này tập trung vào việc tạo ra văn bản

tự động, bao gồm viết tiêu đề bài báo, tạo nội dung văn bản, viết email, vànhiều ứng dụng khác

• Phân loại văn bản: Hướng tiếp cận này nhằm xác định và phân loại các văn

bản theo chủ đề một cách tự động

NLP được chia thành 2 lĩnh vực chính: Ngôn ngữ học và Khoa học máy tính.Ngôn ngữ học chủ yếu tập trung vào việc hiểu được cấu trúc của ngôn ngữ, baogồm:

• Ngữ âm: Nghiên cứu âm thanh ngôn ngữ của con người

• Âm vị: Nghiên cứu hệ thống âm thanh trong ngôn ngữ của con người

• Cú pháp: Nghiên cứu sự hình thành và cấu trúc của một câu nói.

• Ngữ nghĩa: Nghiên cứu ý nghĩa của câu nói

• Ngữ dụng học: Nghiên cứu cách thức các câu nói với ý nghĩa của chúng

được sử dụng cho các mục đích giao tiếp cụ thể

Trong khi đó Khoa học máy tính lại quan tâm đến việc chuyển đổi các kiến thứcchuyên sâu về ngôn ngữ học thành những chương trình máy tính với sự trợ giúpđắc lực của trí tuệ nhân tạo nhằm phục vụ con người Những tiến bộ về mặt kĩthuật trong lĩnh vực NLP có thể được chia ra thành: Mô hình hệ thống dựa trênquy tắc, mô hình máy học cổ điển và Deep Learning

• Mô hình hệ thống dựa trên các quy tắc sẽ định ra một số các quy tắc dựatrên hiểu biết nhất định về ngôn ngữ học Tuy nhiên, do sự phức tạp củangôn ngữ con người hệ thống này chứng tỏ sự cứng nhắc, do phải luôn cóngười liên tục thêm các quy tắc vào, khó khăn để quản lý và có tính kháiquát hóa thấp

• Mô hình máy học cổ điển có thể giải nhiều bài toán thách thức hơn thông

qua việc trích lọc các đặc trưng bằng cách sử dụng những phương phápnhư Bag of Words, Part of Speech, sau đó xây dựng các mô hình máy họcnhư Support Vector Machine, Naive Bayes, Các mô hình này sẽ khai thác

Trang 14

những mẫu câu có ngữ nghĩa trong dữ liệu huấn luyện để đưa ra các dựđoán trong tương lai.

• Mô hình Deep Learning: đang là mô hình phổ biến nhất trong nghiên cứu

và ứng dụng NLP, nó có tính khái quát hóa tốt hơn mô hình máy học cổđiển Khả năng học hỏi của mô hình Deep learning mạnh mẽ hơn so với các

mô hình cổ điển Hướng này mở ra con đường giải quyết được các bài toánNLP phức tạp một cách triệt để

Tách token: Việc tách các token từ một đầu vào được gọi là tokenization Nó

có tác dụng tách đầu vào thành một tập hợp các token riêng biệt Hay còn đượcgọi là các chunks có ý nghĩa Có thể hiểu một chunk có thể là một từ, một cụm

từ, một câu hoặc thậm chí là một đoạn văn Mỗi chunk được gọi là token Có cácphương pháp thực hiện tokenization:

Tách token dựa vào khoảng trắng: Tách các token dựa vào các khoảng trắnghoặc bất kể các ký tự nào không được hiển thị Có thể sử dụng trong python vớithư viện NLTK

Tách token dựa vào dấu câu: Phương pháp này là việc tách các token dựa trêncác dấu câu Phương pháp tokenizer này có sẵn trong thư viện NLTK Nhượcđiểm của phương pháp này đó là sẽ phân tách các token không mang ý nghĩa.Phân tách token dựa vào luật: Để giải quyết vấn đề của phương pháp thứ hai,chúng ta sẽ phân tách token dựa vào một tập hợp các luật ngữ pháp Nó sử dụngcác luật về ngữ pháp trong các ngôn ngữ để thực hiện tokenizer Và nó thực sựmang ý nghĩa cho các token về mặt ngữ nghĩa

Có hai phương pháp để thực hiện chuẩn hóa các token đó là stemming vàlemmazation

Trang 15

• Stemming: Thay thế các hậu tố để đạt được định dạng gốc của từ, tức là

stem Nó đến từ ý tưởng cắt bỏ hoặc thay thế các hậu tố của từ Nhược điểmcủa phương pháp này là khi các token bị biến đổi hoàn toàn so với địnhdạng gốc, thì quy tắc này sẽ không còn đúng nữa

• Lemmazation: Sử dụng việc phân tích từ vựng và hình thái.

Giả sử chúng ta có từ điển là tợp hợp gồm n từ vựng: {w1, w2, w3, wn} Khi

đó mỗi từ sẽ được đại diện bởi một giá trị chính là index của nó Từ w1 có index

= 0, w1 có index = 1 One-hot véc tơ của từ vựng thứ i,i ≤ (n−1) sẽ là véc tơ

e i = [0, , 0, 1, 0, , 0] ∈ Rn sao cho các phần tử eij của véc tơ thoả mãn côngthức[10]:

Các nghiên cứu cho thấy từ mục tiêu sẽ được giải thích tốt hơn nếu được họctheo các từ bối cảnh Do đó mô hình skip-grams tìm cách xây dựng một thuậttoán học có giám sát có đầu vào là các từ bối cảnh và đầu ra là từ mục tiêu, như

mô tả trong hình1.1

Ở hình1.1ta có

w t là từ bối cảnh w t−2 , w t−1 , w t+1 , w t+2là các từ mục tiêu

• Từ từ bối cảnh ta muốn dự báo từ mục tiêu

Kiến trúc mạng nơ ron trong mô hình skip-grams được mô tả như trong hình

1.2 Mô hình sẽ biểu diễn một từ bối cảnh dưới dạng one-hot véc tơ o c Véc tơ này

sẽ trở thành đầu vào cho một mạng nơ ron có tầng ẩn gồm 300 đơn vị Kết quả

ở tầng đầu ra là một hàm softmax tính xác xuất để các từ mục tiêu phân bố vàonhững từ trong từ điển (10000 từ) Dựa trên quá trình lan truyền ngược và lan

Trang 16

Hình 1.1: Kiến trúc mô hình skip-grams.

Hình 1.2: Kiến trúc mạng nơ ron trong mô hình skip - grams.

truyền tiến, mô hình sẽ tìm ra tham số tối ưu để kết quả dự báo từ mục tiêu làchuẩn xác nhất Khi đó quay trở lại tầng ẩn ta sẽ thu được đầu ra tại tầng này là

ma trận nhúng ERn×300như trong công thức1.2

e cR300là véc tơ nhúng trích xuất từ ma trận E tương ứng với từ bối cảnh c ˆy

là xác xuất được dự báo của từ mục tiêu

Khi áp dụng hàm softmax, xác xuất ở đầu ra có dạng biểu diễn theo công thức

Trang 17

Kết quả dự báo mô hình mạng nơ ron càng chuẩn xác thì véc tơ nhúng sẽ càngthể hiện được mối liên hệ trên thực tế giữa từ bối cảnh và mục tiêu Kết quả cuối

cùng ta quan tâm chính là các dòng của ma trận E Chúng là các véc tơ nhúng e c

đại diện cho một từ bối cảnh

Mô hình skip-grams sẽ rất tốn chi phí để tính toán vì mẫu số xác xuất là tổngcủa rất nhiều số mũ cơ số tự nhiên Để hạn chế chi phí tính toán mô hình CBOW(continueos backward model) được áp dụng CBOW là một quá trình ngược lạicủa skip-grams Khi đó đầu vào của skip-grams sẽ được sử dụng làm đầu ratrong CBOW và ngược lại [8] Kiến trúc Cbow được mô tả như trong hình1.3

Hình 1.3: Kiến trúc CbowKiến trúc mạng nơ ron của CBOW như mô tả trong hình1.3sẽ gồm 3 tầng:

1 Tầng đầu vào: Là các từ bối cảnh xung quanh từ mục tiêu

2 Tầng chiếu: Lấy trung bình véc tơ biểu diễn của toàn bộ các từ input để tạo

Trang 18

Cách tiếp cận này được gọi là trích xuất n-grams 1-gram tương ứng với 1 token,2-gram tương ứng với 2 token, và cứ tiếp tục như thế.

Để giải quyết vấn số lượng các đặc trưng có thể tăng lên theo cấp số mũ,chúng ta sẽ loại bỏ một số n-grams dựa trên tần suất xuất hiện của chúng trongtập hợp các câu duyệt đầu vào Có ba trường hợp xảy ra, n-grams có tần suấtxuất hiện cao, n-grams có tần suất xuất hiện thấp, n-grams có tần suất xuất hiệntrung bình [10]

• n-grams có tần suất xuất hiện cao: Trường hợp trong hầu hết các văn bản,chúng ta đều có thể thấy được n-grams này Đối với Tiếng Anh, đó có thể

là các giới từ, (a, an, the, ) Với Tiếng Việt, là các từ thì, là mà, và,cho nên, Và bởi vì chúng ta chỉ sử dụng cấu trúc ngữ pháp, cho nên chúngkhông có ý nghĩa nhiều lắm Chúng được gọi là các từ dừng - stop-words, nókhông thực sự giúp chúng ta phân biệt các đoạn văn bản với nhau Thườngchúng ta sẽ loại bỏ các từ dừng này

• n-grams có tần suất xuất hiện thấp: Là trường hợp thường đến từ lỗi gõ sai

từ người dùng, hoặc là n-grams thường hiếm xuất hiện trong bất kỳ các câuduyệt nào trong tập dữ liệu Cả hai trường hợp này là xấu đối với mô hìnhsau này Bởi vì, nếu chúng ta ko xóa các n-grams này, mô hình có thể sẽ bịquá khớp vào các tiểu tiết tạo nên hiện tượng overfitting và không tổng quáthóa được

• n-grams có tần suất xuất hiện trung bình: Là các n-grams tốt nhất bởi vì

chúng bao gồm n-grams mà không có từ dừng cũng như không có n-grams

bị gõ sai chính tả hoặc hiếm xuất hiện trong tập dữ liệu Vấn đề là trong tậpn-grams có tấn suất xuất hiện trung bình, có rất nhiều n-grams thuộc cácdải tần số xuất hiện khác nhau Ta có thể dựa vào tần số mà có thể lọc đượcn-grams là tốt, n-grams nào là xấu hơn Nếu chúng ta có thể xếp hạng cácn-grams này theo mức độ quan trọng của chúng thì sẽ rất có lợi trong việcphân loại Chúng ta có thể quyết định được n-grams với tần suất xuất hiệntrung bình thì n-grams nào là tốt, n-grams nào là xấu n-grams có tần suấtnhỏ hơn sẽ được đánh trọng số cao hơn vì nó là thể hiện cho các trường hợpriêng biệt trong câu duyệt Để thực hiện được ý tưởng này ở đây, thuật ngữ

TF sẽ được dùng cho việc biểu thị tần suất xuất hiện của n-grams

Chúng ta ký hiệu TF - Term Frequency cho tần suất xuất hiện của thành phần

t Thành phần t ở đây có thể hiểu là môt n-grams token trong một văn bản d Cónhiều cách tính giá trị tần suất xuất hiện tf này [9], [10]

Trang 19

Cách đầu tiên và là cách dễ nhất là sử dụng giá trị nhị phân (0, 1) Chúng ta cóthể đưa 0 hoặc 1 vào tương ứng với việc token đấy có xuất hiện hay không xuấthiện trong văn bản đầu vào.

Cách thứ hai là việc đưa vào là giá trị đếm số lần xuất hiện một cách thôngthường, tức là có bao nhiêu lần thấy thành phần t xuất hiện trong văn bản Kýhiệu cho giá trị này là f

Cách thứ ba là tính tống số lần xuất hiện của tất cả các thành phần trong vănbản d Sau đó chia giá trị f này cho tổng vừa tìm được Như vậy chúng ta đãchuẩn hóa giá trị TF về khoảng (0, 1) Chỉ số này cho thấy đối với tổng số lần xuấthiện của tất cả các thành phần thì thành phần t xuất hiện nhiều hay ít

Cách cuối cùng, đó là sử dụng lược đồ chuẩn hóa logarit Điều này sẽ đưa TF

về thang đo logarit và sẽ có thể giúp giải quyết các nhiệm vụ về sau tốt hơn

Một cách khác là tính tần suất xuất hiện đảo ngược của văn bản, viết tắt làIDF - - Inverse Document Frequency [10] Ta ký hiệu N là tổng tất cả các văn bảntrong tập dữ liệu, D là bộ dữ liệu, đó là tập hợp tất cả các văn bản Hiểu đơn giản,một văn bản có thể là một câu duyệt trong tập dữ liệu Bây giờ, chúng ta cần tìm

số lượng các văn bản mà thành phần t xuất hiện trong đó:

|d ∈ D : t ∈ d|Bây giờ, ta có thể thấy rằng, ta có tần suất của văn bản, sau đó, ta lại quan tâmđến số lượng các văn bản nơi mà có sự xuất hiện của thành phần t, và sau đó chia

số lượng này cho tổng N Như vậy ta sẽ có tần xuất xuất hiện của thành phần ttrên toàn bộ tập dữ liệu Từ đây ta có thể đảo ngược thương số này và lấy logarit

Nếu sử dụng cả hai thuật ngữ TF và IDF, ta sẽ được giá trị TF-IDF [10] TF làtần suất xuất hiện của thành phần t trong văn bản d, và IDF là tần suất xuất hiệncủa thành phần t trên toàn bộ tập dữ liệu Giá trị TF-IDF sẽ bằng tích của TF và

Trang 20

IDF Nó sẽ cho ta cái nhìn toàn diện trên toàn bộ tập dữ liệu cũng như trên chínhvăn bản chứa thành phần t mà ta đang xét.

Giá trị TF-IDF cao khi mà chúng ta có giá trị TF cao (tức là tần suất xuất hiệncủa thành phần t trên văn bản d cao) và tần suất của các văn bản chứa thànhphần t trên toàn bộ tập dữ liệu thấp (khi tần suất này mà thấp thì giá trị IDF sẽlớn) Điều này phản ánh việc thành phần t gần như chỉ tập trung vào trong vănbản mà ta đang xét, và giá trị TF-IDF cao có tác dụng nổi bật thành phần này này

để phân biệt được văn bản đang xét trong toàn bộ tập dữ liệu

Có nhiều công cụ và thư viện hỗ trợ giải quyết bài toán NLP Một số công cụ

và thư viện chính mà các nhà nghiên cứu và lập trình viên NLP sử dụng [8], [9],[10]:

1 Natural Language Toolkit (NLTK): Đây là một thư viện Python phổ biếncho NLP NLTK cung cấp các công cụ và tài liệu cho các nhiệm vụ như phânloại văn bản, phân tích cú pháp, xử lý ngôn ngữ tự nhiên, và nhiều hơn nữa

2 Stanford CoreNLP: Đây là một bộ công cụ NLP mạnh mẽ do đại học ford phát triển Nó bao gồm các công cụ phân tích cú pháp, phân loại ngữnghĩa, phân giải dạng câu, nhận diện thực thể và nhiều nhiệm vụ khác

Stan-3 spaCy: Đây là một thư viện NLP hiệu suất cao và dễ sử dụng spaCy cungcấp các công cụ cho việc phân tích cú pháp, nhận diện thực thể, tách từ, và

hỗ trợ nhiều ngôn ngữ

4 Gensim: Đây là một thư viện Python cho xử lý và mô hình hóa văn bản.Gensim cung cấp các công cụ cho việc xây dựng mô hình vector từ, môhình hóa chủ đề và tìm kiếm các cụm từ

5 TensorFlow và Keras: Đây là các thư viện phổ biến trong lĩnh vực học sâu(deep learning) Chúng cung cấp các công cụ mạnh mẽ để xây dựng và huấnluyện các mô hình NLP như mạng nơ-ron hồi quy, mạng nơ-ron biến đổi,

và LSTM

6 PyTorch: Đây là một thư viện học sâu khác cho Python, cung cấp các công

cụ mạnh mẽ để xây dựng và huấn luyện các mô hình NLP PyTorch được sửdụng rộng rãi trong cộng đồng nghiên cứu và phát triển AI

7 BERT (Bidirectional Encoder Representations from Transformers): Đây làmột kiến trúc mô hình học sâu tiên tiến cho NLP BERT đã đạt được thành

Trang 21

công lớn trong nhiều tác vụ NLP như phân loại văn bản, phân tích ý, và dịchmáy.

1.4.2 Xử lý tiếng Việt

Xử lý ngôn ngữ tự nhiên (NLP) tiếng Việt đòi hỏi các phương pháp và công

cụ tương tự như NLP cho các ngôn ngữ khác, nhưng có một số thách thức đặcbiệt do đặc điểm riêng của tiếng Việt Một số phương pháp và công cụ được sửdụng trong xử lý NLP tiếng Việt [8]:

1 Thư viện PyVi: PyVi là một thư viện Python cho NLP tiếng Việt Nó cungcấp các công cụ cho việc tách từ, xử lý từ viết tắt, phân loại từ loại, và phânloại ngữ nghĩa

2 VnCoreNLP: VnCoreNLP là một bộ công cụ NLP cho tiếng Việt được pháttriển trên nền tảng CoreNLP Nó cung cấp các công cụ cho việc phân tích

cú pháp, phân loại ngữ nghĩa, nhận diện thực thể, tách từ, và các nhiệm vụNLP khác

3 Gensim và FastText: Gensim và FastText là hai thư viện Python cho xử lývăn bản và mô hình hóa từ tiếng Việt Chúng cung cấp các công cụ cho việcxây dựng mô hình vector từ, tìm kiếm các từ gần giống nhau, và phân loạivăn bản

4 Word2Vec và FastText pre-trained models: Có các mô hình Word2Vec vàFastText đã được huấn luyện trước cho tiếng Việt Các mô hình này cungcấp các vector từ đã được học từ dữ liệu tiếng Việt lớn, giúp trong việc biểudiễn từ và tính toán sự tương đồng giữa các từ

5 BERT pre-trained models: Mô hình BERT đã được huấn luyện trước chotiếng Việt, cho phép sử dụng kiến trúc transformer và pre-trained weights

để thực hiện các tác vụ NLP như phân loại văn bản, phân tích ý, và dịchmáy

6 Các bộ từ điển và tài liệu ngôn ngữ: Để xử lý NLP tiếng Việt, cần sử dụngcác tài liệu ngôn ngữ như từ điển, ngữ nghĩa từ điển, dữ liệu từ vựng, vàcác tài liệu văn bản tiếng Việt phong phú khác

Bài toán thêm dấu tiếng Việt trong xử lý ngôn ngữ tự nhiên được gọi là bàitoán gán dấu thanh vào tiếng Việt chưa có dấu Một số phương pháp phổ biến

để giải quyết bài toán này [10]:

Trang 22

• Sử dụng từ điển: Một cách đơn giản là sử dụng từ điển chứa các từ tiếng

Việt không dấu và tương ứng với các từ tiếng Việt có dấu Khi gặp một từtiếng Việt không dấu, chúng ta có thể tra từ điển và gán dấu thanh phù hợpcho từ đó

• Sử dụng mô hình học máy: Các mô hình học máy có thể được huấn luyện

để dự đoán dấu thanh trong tiếng Việt Chúng ta có thể xây dựng một môhình phân loại đa lớp hoặc mô hình dự đoán chuỗi để dự đoán dấu thanhcho mỗi từ tiếng Việt không dấu

• Sử dụng mô hình ngôn ngữ: Mô hình ngôn ngữ có thể được sử dụng để

dự đoán từ tiếp theo trong văn bản Chúng ta có thể sử dụng một mô hìnhngôn ngữ tiếng Việt đã được huấn luyện để dự đoán dấu thanh cho từ tiếngViệt không dấu dựa trên ngữ cảnh của câu

• Kỹ thuật xử lý ngữ cảnh: Kỹ thuật này liên quan đến việc xem xét ngữ cảnhcủa từ trong câu để suy ra dấu thanh phù hợp Ví dụ, có thể sử dụng cácquy tắc ngữ pháp và cú pháp tiếng Việt để xác định dấu thanh cho các từkhông dấu

Ngoài ra, đề tài quan tâm nghiên cứu hướng sử dụng BERT, cơ chế tập trungvàtransformer để giải quyết bài toán thêm dấu tiếng Việt Thông thường, bài toán

có thể được thực hiện theo các bước sau:

• Chuẩn bị dữ liệu: Tạo tập dữ liệu huấn luyện gồm các cặp câu tiếng Việtkhông dấu và tương ứng với các câu tiếng Việt có dấu

• Tiền xử lý dữ liệu: Sử dụng thư viện PyVi hoặc các công cụ tách từ khác đểtách từ trong các câu tiếng Việt Đảm bảo cả câu không dấu và câu có dấu

• Tạo dự đoán dấu thanh: Sau khi huấn luyện xong, sử dụng mô hình BERT

để dự đoán dấu thanh cho các câu tiếng Việt không dấu Đầu vào cho môhình BERT là câu không dấu và đầu ra là dự đoán cho từng từ trong câu.Dựa trên các dự đoán này, gán dấu thanh cho từng từ tương ứng trong câukhông dấu

• Đánh giá và điều chỉnh: Đánh giá chất lượng của dự đoán dấu thanh và điềuchỉnh mô hình nếu cần thiết Có thể sử dụng các phép đo như độ chính xác,

Trang 23

chỉ số F1 hay độ tương đồng giữa dự đoán và kết quả mong đợi để đánh giá

mô hình

Các cơ chế tập trung và transformer trong mô hình BERT giúp mô hình hiểu và

xử lý ngữ cảnh từ câu xung quanh để dự đoán dấu thanh Cơ chế tập trung chophép mô hình tập trung vào các phần quan trọng của câu, trong khi transformercho phép mô hình học các mối quan hệ phức tạp giữa các từ trong câu Các môhình này sẽ được nghiên cứu chi tiết trong chương 2

Kết luận chương 1: Chương 1 trình bày một số khái niệm cơ bản về NLP NLP

nghiên cứu các cách thức, phương pháp hướng đến mục tiêu máy tính có thểtương tác thông qua ngôn ngữ tự nhiên của con người (tiếng nói, văn bản) Để

xử lý văn bản, có các kĩ thuật điển hình như tách token, tách khoảng trắng, loại bỏdấu câu Để chuẩn hóa token, có các phương pháp là stemming và lemmazation.Trước khi xử lý trong các mô hình, các đơn vị văn bản phải được chuyển hóathành các véc tơ đặc trưng Một số phương pháp biến đổi word2vec là onehot,skip - grams, Cbow Một số kỹ thuật để tinh chỉnh,loại bỏ đơn vị từ thừa cũngnhư đo lường các đơn vị thành phần văn bản có ích hơn trong xử lý, là các độ đo

TF, IDF, TF-IDF

Chương 1 cũng giới thiêu bài toán thêm dấu tiếng Việt, bài toán chính củaluận văn Đây là bài toán gán dấu thanh vào tiếng Việt chưa có dấu Một sốphương pháp cũng như quy trình cơ bản để giải quyết bài toán này được giớithiệu

Luận văn quan tâm nghiên cứu phương pháp sử dụng deeplearning để giảiquyết bài toán thêm dấu tiếng Việt, sử dụng mô hình Bert, cơ chế tập trungvàTransformer Vì vậy các nội dung này sẽ được chuẩn bị trong chương 2

Trang 24

Chương 2

MÔ HÌNH TRANSFORMER

Transformer là một kiến trúc mạng nơ-ron tái sử dụng đột phá, được giớithiệu bởi Vaswani et al vào năm 2017 [1] Nó đã đạt được thành công đáng kểtrong nhiều nhiệm vụ NLP như dịch máy, nhận dạng giọng nói, và xử lý ngônngữ tự nhiên

Cơ chế tập trung (attention mechanism) là một phần quan trọng trong former Nó cho phép mô hình tập trung vào các phần quan trọng của đầu vàokhi thực hiện các phép tính Thay vì sử dụng cấu trúc chuỗi truyền thống nhưLSTM hay GRU, Transformer sử dụng cơ chế tập trung để xác định mức độ quantrọng của các từ trong câu đầu vào

Trans-Cơ chế tập trung cho phép mô hình tìm hiểu các phụ thuộc ngữ cảnh giữa các

từ trong câu mà không cần biết vị trí tương đối của chúng Mô hình Transformer

sử dụng ba loại cơ chế tập trung : Tự tập trung (self-attention), tập trung đầu vào(encoder-decoder attention), và tập trung đa đầu (multi-head attention)

Trong cơ chế tự tập trung , một từ trong câu sẽ tương tác với các từ khác trongcùng câu bằng cách tính toán mức độ tương quan giữa chúng Mỗi từ sẽ đượcbiểu diễn bằng một vector nhiều chiều và tính toán các trọng số để xác định mức

độ quan trọng của từ đó đối với các từ khác

Cơ chế tập trung đầu vào sử dụng để kết nối các tầng mã hóa và giải mã trongTransformer Nó cho phép giải mã thông tin từ tầng mã hóa và tập trung đến cácphần quan trọng của tầng mã hóa khi giải mã

Cơ chế tập trung đa đầu (multi-head attention) cho phép mô hình học cáchtập trung đến các khía cạnh khác nhau của đầu vào đồng thời Bằng cách tínhtoán nhiều tự tập trung và kết hợp chúng, mô hình có thể học được nhiều môhình tập trung khác nhau và tăng cường khả năng học tập của mình

Cơ chế tập trung là một thành phần cốt lõi trong kiến trúc Transformer, giúp

mô hình xử lý các mối quan hệ phức tạp trong ngôn ngữ tự nhiên và đạt đượchiệu suất tốt trong nhiều tác vụ NLP

Nội dung chương 2 tập trung vào việc nghiên cứu các kiến thức trên để chuẩn

bị cho chương 3 Các kiến thức được tham khảo trực tiếp từ [1], [2] và [10]

Trang 25

2.1 Cơ chế tập trung

Cơ chế tập trung có thể hiểu như một quá trình tổng hợp tổng quát, tổng hợpthông tin đầu vào dựa vào các trọng số khác nhau Trọng tâm của cơ chế tậptrung nằm ở tầng tập trung, nơi mà đầu vào được gọi là câu truy vấn (query).Mỗi câu truy vấn khi đi qua tầng tập trung sẽ cho ra đầu ra dựa trên bộ nhớ chứacác cặp khóa-giá trị được lưu trữ trong tầng tập trung Đây chính là bộ nhớ màtầng tập trung sử dụng để thực hiện quá trình tổng hợp Khi bộ nhớ chứa n cặpvéc tơ khóa-giá trị kí hiệu là (k1, v1), ,(kn, vn), trong đó ki ∈Rdk và vi ∈Rdv

Với mỗi vector truy vấn qRdq, tầng tập trung trả về đầu ra oRd v có kíchthước trùng với kích thước của véc tơ giá trị Tầng tập trung được mô tả chi tiếtnhư hình2.1dưới đây:

Hình 2.1: Mô tả tầng tập trung

Để tính toán kết quả tại tầng tập trung , ta dùng hàm tính điểm alpha để đánhgiá mức độ tương đồng giữa câu truy vấn và các khóa Sau đó với các khóa

(k1, v1), ,(kn, vn),điểm a1, , an tương ứng được tính như sau:

Trang 26

Mô tả đầu ra là tổng trọng số của các giá trị được thể hiện trong hình2.2.

Hình 2.2: Cách tính đầu ra của tầng tập trung.

Việc lựa chọn hàm tính điểm khác nhau sẽ tạo ra các tầng tập trung khác nhau.Hai tầng tập trung thường hay được sử dụng là tầng tập trung tích vô hướng vàtập trung Perceptron đa tầng

1 Tầng tập trung tích vô hướng Để tính tích vô hướng, chúng ta phải có giả

sử rằng câu truy vấn có cùng kích thước chiều với khóa, nghĩa là q, ki ∈Rd,với mọi i Điểm trong tầng tập trung được tính bằng tích vô hướng giữa câutruy vấn và khóa, sau đó kết quả này được chia cho√d để loại trừ bớt ảnhhưởng không liên quan của số chiều d lên điểm số Công thức 2.4thể hiệncách tính này

α(q, k) = hq, ki ÷√d (2.4)Với câu truy vấn và khóa đa chiều, sử dụng tích ma trận ta có thể mở rộngnhư sau:

trong đó QRm×d là ma trận chứa m câu truy vấn d chiều và KRn×d là

ma trận chứa n khóa d chiều Kết quả này cho chúng ta toàn bộ m×nđiểmsố

Tầng tập trung tích vô hướng có các ưu điểm sau:

• Khả năng tập trung vào thông tin quan trọng: Tầng tập trung tích vôhướng cho phép mô hình tập trung vào những phần quan trọng trong

dữ liệu đầu vào, giúp nâng cao khả năng trích xuất thông tin quantrọng hơn

• Xử lý các mối quan hệ xa: Tầng tập trung tích vô hướng có khả năngtạo ra mối quan hệ giữa các phần của dữ liệu có khoảng cách xa nhau

Trang 27

trong một chuỗi hoặc tương quan giữa các phần trong không gian đachiều.

• Tích hợp thông tin từ nhiều nguồn: Tầng tập trung tích vô hướng có thểtích hợp thông tin từ nhiều nguồn khác nhau và tập trung vào nhữngnguồn quan trọng hơn, giúp mô hình có khả năng học tương quan phứctạp

Tuy nhiên, nó cũng có một số nhược điểm sau:

• Phức tạp về tính toán: Phép nhân ma trận và phép chia trong tầng tập

trung tích vô hướng có thể gây ra một lượng lớn tính toán, đặc biệt khi

áp dụng cho dữ liệu lớn

• Khả năng chịu ảnh hưởng của độ dài chuỗi: Tầng tập trung tích vô

hướng có thể gặp khó khăn khi xử lý các chuỗi có độ dài khác nhau,đặc biệt là khi các mối quan hệ xa xuất hiện

2 Tập trung đa tầng Trong cơ chế này, ta chiếu cả câu truy vấn và khóa lên

không gian Rh bằng các tham số trọng số được học Hàm tính điểm trongtập trung đa tầng được định nghĩa như sau:

Ưu điểm của tầng tập trung perceptron đa tầng:

• Khả năng học mối quan hệ phức tạp: Tầng tập trung perceptron đatầng có khả năng học được các mối quan hệ phức tạp hơn thông quaviệc tổng hợp thông tin từ nhiều "đầu" tập trung khác nhau

• Xử lý dữ liệu đa dạng: Loại tầng tập trung này có khả năng xử lý dữliệu đa dạng, bao gồm cả dữ liệu dạng chuỗi, không gian đa chiều và

ma trận

Các nhược điểm:

• Phức tạp về tính toán: Do sử dụng nhiều "đầu" tập trung, tầng tập trungperceptron đa tầng có thể gây ra lượng tính toán lớn hơn so với tầng tậptrung tích vô hướng

Trang 28

• Số lượng tham số lớn: Với nhiều "đầu" tập trung, số lượng tham số

trong tầng tập trung perceptron đa tầng cũng có thể tăng lên, đòi hỏinhiều dữ liệu huấn luyện và quản lý tham số kỹ lưỡng

Kiến trúc tự tập trung (Self-Attention) là một cơ chế quan trọng được sử dụngtrong các mô hình xử lý ngôn ngữ tự nhiên và dãy dữ liệu Được giới thiệu banđầu trong kiến trúc Transformer, self-attention cho phép mô hình tập trung vàocác phần quan trọng của dữ liệu đầu vào một cách linh hoạt Minh họa mô hìnhkiến trúc tự tập trung trong hình2.3

Hình 2.3: Kiến trúc tự tập trungTrong kiến trúc tự tập trung, mỗi phần tử trong dãy đầu vào (chẳng hạn như

từ trong một câu văn) được biểu diễn bằng một vector đặc trưng Quá trình tựtập trung bắt đầu bằng việc tính toán các trọng số tương ứng cho mỗi phần tửdựa trên mức độ quan trọng của nó đối với các phần tử khác trong dãy Các trọng

số này thường được xác định bằng cách tích vô hướng giữa vector đặc trưng củaphần tử đang xét và các vector đặc trưng của các phần tử khác

Sau đó, các trọng số được sử dụng để tạo ra một vector tổng hợp (weightedsum) của tất cả các vector đặc trưng trong dãy đầu vào Vector tổng hợp này chứathông tin quan trọng từ các phần tử khác nhau, dựa trên mức độ ảnh hưởng củachúng Quá trình này giúp mô hình tập trung vào những phần quan trọng và bỏqua những phần không cần thiết

Kiến trúc tự tập trung giúp mô hình tập trung vào những phần quan trọng

Trang 29

trong chuỗi đầu vào và đồng thời giảm thiểu tác động của các phần không quantrọng Các kỹ thuật nâng cao như attention multi-head cũng được áp dụng để tối

ưu hiệu suất của kiến trúc tự tập trung trong các tác vụ xử lý ngôn ngữ tự nhiên.Kiến trúc tự tập trung có thể được mở rộng và cải tiến, ví dụ như multi-headself-attention trong kiến trúc Transformer, để cho phép mô hình học và áp dụngnhiều cách tự tập trung khác nhau trong cùng một dãy đầu vào Điều này giúptăng khả năng biểu diễn và hiệu suất của mô hình trong các tác vụ xử lý ngônngữ tự nhiên và dãy dữ liệu

Mô hình seq2seq (sequence to sequence) là một kiến trúc mạng nơ-ron sâuđược sử dụng chủ yếu cho các tác vụ xử lý ngôn ngữ tự nhiên (NLP) như dịchmáy, tạo chú thích ảnh, tạo văn bản tự động, và nhiều tác vụ khác Mô hình nàybao gồm hai thành phần chính: bộ mã hóa (encoder) và bộ giải mã (decoder)

• Bộ mã hóa (Encoder): Thành phần này nhận dữ liệu đầu vào dưới dạngchuỗi, ví dụ như câu văn, và biến đổi nó thành một biểu diễn ngữ cảnhhoặc một vectơ tương thích Bộ mã hóa có thể là mạng nơ-ron RNN nhưLSTM hoặc GRU, hoặc cả mạng nơ-ron đệ quy như Transformer

• Bộ giải mã (Decoder): Thành phần này nhận biểu diễn ngữ cảnh từ bộ mãhóa và bắt đầu tạo ra chuỗi kết quả Bộ giải mã cũng có thể là mạng nơ-ronRNN hoặc Transformer, thường được huấn luyện để dự đoán các phần tửtiếp theo trong chuỗi kết quả cho đến khi đạt được điều kiện dừng hoặc độdài tối đa cho chuỗi đầu ra

Mô hình seq2seq đã đạt được nhiều thành công trong NLP, tạo điều kiện chocác ứng dụng quan trọng như dịch máy và tạo văn bản tự động Tuy nhiên, nócũng có nhược điểm như khả năng mất thông tin khi biểu diễn ngữ cảnh dài,

và khả năng tạo ra kết quả không chính xác khi gặp các từ chưa từng xuất hiệntrong tập huấn luyện

Cơ chế tập trung thêm vào mô hình Seq2Seq một lớp gọi là tầng tập trung.Trong mỗi bước giải mã, tầng tập trung tính toán một trọng số tương ứng chotừng phần của chuỗi đầu vào dựa trên sự tương quan với biểu diễn ngữ cảnhhiện tại ở bộ giải mã Trọng số này được sử dụng để tính trung bình có trọng số

Trang 30

của các biểu diễn ngữ cảnh, tạo ra biểu diễn ngữ cảnh tập trung tại mỗi bước giảimã.

Cơ chế tập trung giúp mô hình tự động học cách "tập trung" vào các phầnquan trọng của dữ liệu đầu vào để tạo ra kết quả đầu ra chính xác hơn Điều nàyđặc biệt hữu ích khi xử lý các chuỗi dài hoặc khi tạo ra các biểu diễn ngôn ngữphức tạp

Hình 2.4mô tả kiến trúc mô hình thực hiện mã hóa và giải mã tại bước thờigian t Bộ nhớ trong tầng tập trung ở đây chứa toàn bộ thông tin mà bộ mã hóa

đã học được tại mỗi bước thời gian như đầu ra của bộ mã hóa Trong quá trìnhgiải mã, đầu ra của bộ giải mã ở bước thời gian trước đó được sử dụng như mộttruy vấn Đầu ra của mô hình tập trung có thể được hiểu là thông tin ngữ cảnhcủa chuỗi, phần này nối tiếp đầu vào của bộ giải mã và kết quả cuối cùng đượcđưa vào bộ giải mã

Hình 2.4: Quá trình giải mã trong mô hình seq2seq áp dụng cơ chế tập trung.

Cấu trúc tầng của bộ mã hóa và bộ giải mã của mô hình Seq2seq áp dụng cơchế tập trung được minh họa trong hình2.5dưới đây Trong đó bộ mã hóa và bộgiải mã được hiểu như sau

• Bộ mã hóa Khi sử dụng cơ chế tập trung, bộ mã hóa của seq2seq không

thay đổi Bộ mã hóa của mô hình seq2seq chuyển đổi các chuỗi đầu vào có

độ dài khác nhau thành một vector ngữ cảnh c bằng cách mã hóa thông tin

từ những chuỗi này Thường sử dụng tầng RNN trong bộ mã hóa Với mộtchuỗi đầu vào x1, , xT, trong đó xt là từ thứ t Tại thời gian t sẽ có hai véc

tơ đầu vào cho mô hình RNN là véc tơ đặc trưng Xt của xt và trạng thái ẩn

của bước thời gian trước đó là ht−1 Gọi f là hàm chuyển đổi của các trạngthái ẩn trong RNN, ta có:

Trang 31

Hình 2.5: Các tầng trong mô hinh seq2seq áp dụng cơ chế tập trung.

Sau đó, bộ mã hóa lấy thông tin của các trạng thái ẩn và mã hóa thành véc

tơ ngữ cảnh thông qua hàm q như sau:

• Bộ giải mã Với bộ giải mã, ta thêm tầng tập trung MLP có cùng kích thước

ẩn với bộ LSTM trong bộ giải mã Sau đó ta khởi tạo trạng thái của bộ giải

mã bằng cách truyền vào ba đầu ra thu được từ bộ mã hóa:

Tại mỗi bước thời gian, đầu ra của bộ mã hóa được sử dụng như một

bộ nhớ trong tầng tập trung với các khóa và giá trị tương tự nhau

Trạng thái ẩn của bộ mã hóa tại thời điểm cuối cùng được dùng làmtrạng thái ẩn ban đầu cho bộ giải mã

Độ dài hợp lệ của bộ mã hóa được áp dụng để tầng tập trung có khảnăng bỏ qua các mã thông báo đệm có trong đầu ra của bộ mã hóa.Tại mỗi bước thời gian trong quá trình giải mã, trạng thái ẩn của tầng RNNcuối cùng được sử dụng như một câu truy vấn cho tầng tập trung Đầu racủa mô hình tập trung sau đó được ghép nối với vector embedding đầu vào

để đưa vào tầng RNN Mặc dù trạng thái ẩn của tầng RNN cũng chứa thôngtin từ bộ giải mã ở các bước thời gian trước đó nhưng đầu ra của tầng tậptrung sẽ lựa chọn các đầu ra của bộ mã hóa một cách tường minh dựa vàoenc-valid-len nhằm loại bỏ những thông tin không liên quan

Cơ chế tập trung là một phần quan trọng của nhiều mô hình học sâu, đặc biệt

là trong các mô hình mạng nơ-ron hồi quy và mạng nơ-ron transformer Mục tiêuchính của cơ chế tập trung là giúp mô hình tập trung vào các phần quan trọngcủa dữ liệu đầu vào hoặc dữ liệu liên quan trong quá trình xử lý

Trang 32

Cơ chế tập trung hoạt động bằng cách định trọng số cho các phần của đầuvào, dựa trên mức độ quan trọng của chúng đối với tác vụ cụ thể Cơ chế này chophép mô hình chọn lọc thông tin quan trọng để xử lý và bỏ qua thông tin khôngquan trọng.

Cơ chế tập trung trong mô hình Transformer hoạt động theo các bước sau: Tạo

Q (query), K (key), và V (value): Mỗi từ đầu vào được biến đổi thành các vectors

Q, K và V Các vectors này được sử dụng để tính toán mức độ tương quan giữacác từ

Tính toán attention score: Bằng cách tính toán sự tương quan giữa Q và K, tathu được các attention scores Những attention scores này cho biết mức độ quantrọng của từng từ đối với từ hiện tại

Tính toán weighted sum (tổng có trọng số): Dùng attention scores để tínhtoán trọng số cho các vectors V Việc này tạo ra một vector kết quả, thể hiện sựtập trung vào thông tin quan trọng

Kết hợp thông tin: Vector kết quả từ bước trước có thể được kết hợp với cácthông tin khác để thực hiện các tác vụ

Mục này giới thiệu về kiến trúc Transformer Đây là một kiến trúc mạng nơron sử dụng trong xử lý ngôn ngữ tự nhiên đặc biệt là trong các bài toán dịchmáy và sinh văn bản Cách thức hoạt động của kiến trúc Transformer tập trungvào hai thành phần chính của mô hình là bộ mã hóa và bộ giải mã Các tính năngđặc biệt của Transformer gồm khả năng tập trung đa đầu và bộ tách kiểu cấutrúc Điều này giúp mô hình hiểu được các mối quan hệ giữa các từ trong câu

Transformer là một thuật toán mạnh mẽ cho xử lý bảng dữ liệu liên tục quence data) trong Deep Learning Nó được giới thiệu bởi Vaswani và các cộng

(se-sự trong bài báo “Attention is All You Need” năm 2017 [1]

Trong kiến trúc Transformer, từng từ trong một câu hay đoạn văn được biểudiễn dưới dạng một vector trong ma trận, và các mối quan hệ giữa những từ nàyđược xử lý thông qua một cơ chế attention Nhờ vào cơ chế này, mô hình có khảnăng hoạt động độc lập với chiều dài của đầu vào và có thể linh hoạt trong việchiểu rõ mối tương quan giữa các từ trong câu, điều này vượt trội so với các môhình truyền thống như RNN hoặc LSTM

Trong hệ thống chatbot GPT, kiến trúc Transformer được áp dụng để xử lý dữliệu văn bản và điều này giúp tìm ra câu trả lời tối ưu nhất cho các câu hỏi từngười dùng Mô hình Transformer của GPT được đào tạo trên một lượng lớn dữ

Trang 33

liệu để có khả năng hiểu rõ ngữ cảnh và đưa ra câu trả lời phù hợp nhất cho mỗicâu hỏi từ người dùng.

Transformer là một mô hình mạng nơ ron được dùng trong các nhiệm vụ xử

lý dữ liệu liên tục, như dịch máy, xử lý ngôn ngữ tự nhiên (NLP), và thị giác máytính Kiến trúc này được thiết kế để giải quyết một số vấn đề của các mô hìnhtruyền thống, như việc mất thông tin trong các tầng khi xử lý dữ liệu liên tục.Trong Transformer, dữ liệu liên tục được mã hóa thành các vector đặc trưngqua các tầng mã hóa Các tầng Multi-Head Attention được sử dụng để tính toánmối quan hệ giữa các thành phần trong dữ liệu liên tục, cho phép mô hình tậptrung vào các phần quan trọng và bỏ qua những phần không cần thiết

Sau đó, tầng Feed-Forward và Layer Normalization được áp dụng để tối ưuhóa dữ liệu Những tầng này cung cấp một cấu trúc tuyến tính để mô hình họccác mối quan hệ giữa các thành phần trong dữ liệu liên tục

Cuối cùng, dữ liệu được đưa ra từ mô hình thông qua các tầng đầu ra

Trong cấu trúc của Transformer, không áp dụng mạng CNN (Convolutional

nơ ron Network) hoặc RNN (Recurrent nơ ron Network) truyền thống Thay vào

đó, mô hình sử dụng các lớp tự chú ý (self-attention) và lớp fully-connected forward

feed-Tuy nhiên, kiến thức và kinh nghiệm từ mạng CNN và RNN vẫn được tậndụng trong quá trình xây dựng kiến trúc Transformer Cụ thể, trong quá trìnhhuấn luyện, việc chuyển đổi chuỗi từ thành các vector nhúng (embeddings)tương tự như mạng RNN vẫn được thực hiện Sau đó, các lớp tự chú ý được

áp dụng để học cách kết nối các từ với nhau trong chuỗi, tương tự như cáchmạng RNN học về sự phụ thuộc thời gian giữa các từ

Hơn nữa, tri thức từ mạng CNN cũng được sử dụng bằng cách áp dụng các

bộ lọc (filters) để trích xuất đặc trưng từ đầu vào trước khi đưa vào các lớp tự chú

ý Tuy nhiên, thay vì sử dụng bộ lọc 1D hoặc 2D như trong CNN, Transformer sửdụng cơ chế tự chú ý đa đầu (multi-head attention) để trích xuất thông tin từ cácchuỗi đầu vào

So với mô hình seq2seq sử dụng cơ chế tập trung, Transformer có sự khácbiệt trong cách cơ chế này được tích hợp vào kiến trúc Thay vì sử dụng tầng hồitiếp như trong seq2seq, Transformer thay thế mỗi tầng hồi tiếp bằng một khốiTransformer

Trong bộ mã hóa của Transformer, khối này bao gồm hai thành phần chính

là tầng tập trung đa đầu (multi-head attention) và mạng truyền xuôi theo vịtrí (position-wise feed-forward network) với hai tầng fully-connected dày đặc.Trong bộ giải mã, khối Transformer bổ sung thêm một tầng tập trung đa đầu đểtiếp nhận trạng thái của bộ mã hóa Khối này cũng sử dụng cơ chế cộng và chuẩnhóa khác biệt so với mô hình seq2seq

Trang 34

Một điểm nổi bật khác của kiến trúc Transformer là việc xử lý thông tin về

vị trí Trong mô hình này, việc biểu diễn vị trí không phân biệt thứ tự của cácphần tử trong chuỗi được thực hiện bởi tầng tập trung tự (self-attention) khôngphân biệt vị trí Để khắc phục điều này, một tầng biểu diễn vị trí được áp dụng

để thêm thông tin về vị trí vào mỗi phần tử trong chuỗi

Kiến trúc Transformer tạo ra sự khác biệt so với mô hình seq2seq trong cáchtích hợp cơ chế tập trung và xử lý thông tin vị trí, giúp nó đạt được hiệu suất tốthơn trong nhiều tác vụ liên quan đến xử lý ngôn ngữ tự nhiên và dãy dữ liệu.Kiến trúc này được minh họa trong hình2.6

Hình 2.6: Kiến trúc transformer

Tập trung đa đầu (Multi-head Attention) trong kiến trúc mạng Transformer.

Tập trung đa đầu (Multi-head Attention) là một phần quan trọng của kiếntrúc mạng Transformer, được sử dụng để tăng cường khả năng học và biểu diễnthông tin trong dữ liệu đầu vào Kiến trúc này cho phép mô hình học và sử dụngnhiều khía cạnh của tập trung tự trong cùng một lần tính toán, từ đó cải thiệnkhả năng xử lý ngôn ngữ tự nhiên và dãy dữ liệu phức tạp

Trong tập trung đa đầu, mỗi phần tử trong dãy đầu vào (chẳng hạn như từtrong câu) được biểu diễn bởi một vector đặc trưng Mô hình tạo ra nhiều bảnsao của dữ liệu này, mỗi bản sao được sử dụng để học một cách tập trung khácnhau Mỗi bản sao này thể hiện một khía cạnh khác nhau của thông tin tươngquan giữa các phần tử

Các bản sao này sau đó được truyền qua các lớp tập trung đa đầu riêng biệt.Trong mỗi lớp, quá trình tính toán tập trung tự được thực hiện trên bản sao tương

Ngày đăng: 20/02/2024, 13:56

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

TÀI LIỆU LIÊN QUAN

w