Tải bản đầy đủ (.pdf) (63 trang)

PHÂN TÍCH CẢM XÚC DỰA TRÊN VĂN BẢN BẰNG MÔ HÌNH HỌC MÁY VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN BERT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.4 MB, 63 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
======***======

ĐỒ ÁN CHUYÊN NGÀNH
NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI: PHÂN TÍCH CẢM XÚC DỰA TRÊN VĂN BẢN
BẰNG MƠ HÌNH HỌC MÁY VÀ XỬ LÝ NGÔN NGỮ TỰ
NHIÊN BERT
GVHD: TS. Nguyễn Mạnh Cường
Nhóm:

9

Họ và Tên

Mã Sinh Viên

Đồn Duy Thành

2020603903

Nguyễn Tuấn Anh

2020604631

Nguyễn Ngọc Duy

2020605168

Lớp: 20231IT6052002



Hà Nội 2023

Khóa: 15


MỤC LỤC
DANH MỤC HÌNH ẢNH .................................................................................... 4
LỜI CẢM ƠN ....................................................................................................... 6
LỜI NÓI ĐẦU ...................................................................................................... 7
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ............................................................ 8
1.1 Lý do chọn đề tài ............................................................................... 8
1.2 Mục tiêu đặt ra ................................................................................... 8
1.3 Tìm hiểu chung về bài toán ............................................................... 9
1.4. Bài toán nhận diện cảm xúc trong văn bản ...................................... 9
1.5. Một số kỹ thuật hiện có để giải quyết bài tốn .............................. 10
CHƯƠNG 2: MƠ HÌNH TRUYỀN THỐNG..................................................... 12
2.1 Mạng nơron truy hồi (RNN – RECURRENT NEURAL
NETWORK) .................................................................................................... 12
2.1.1 Dữ liệu dạng Sequence ............................................................. 12
2.1.2 Mơ hình bài tốn RNN .............................................................. 12
2.2 Mơ hình LSTM (Long Short Term Memory) ................................. 14
2.2.1 Ý tưởng của mô hình LSTM ..................................................... 15
2.2.2 Trình tự các bước của LSTM .................................................... 17
2.3 Transformer và Seq2Seq Model ...................................................... 18
2.3.1 Quá trình encoder và decoder ................................................... 18
2.3.2 Seq2Seq model và Attention ..................................................... 19
CHƯƠNG 3: MƠ HÌNH BERT .......................................................................... 25
3.1. Lý thuyết cơ sở về NLP .................................................................. 25
3.1.1. TOKENIZATION .................................................................... 25

3.1.2. STEMMING (Đưa từ dạng cơ bản) ......................................... 25
3.1.3. STOPWORD (Ký tự/Từ vô nghĩa) .......................................... 26
3.1.4. POS (Loại từ) ........................................................................... 26
3.1.5. Text Vectorization or Encoding ............................................... 27
3.2 Transformer model .......................................................................... 30
3.2.1 Encoder ..................................................................................... 31
3.2.2 Decoder ..................................................................................... 42
3.2 Mơ hình Bert.................................................................................... 47
3.3.1 Fine-tuning model Bert ............................................................. 48
3.3.2 Masked ML (MLM) .................................................................. 49
2


3.3.3 Next Sentence Prediction (NSP) ............................................... 50
3.3.4 Các kiến trúc về model BERT .................................................. 50
3.3.4 GLUE ........................................................................................ 51
CHƯƠNG 4: ỨNG DỤNG BERT VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN
............................................................................................................................. 52
KẾT LUẬN ......................................................................................................... 62
TÀI LIỆU THAM KHẢO ................................................................................... 63

3


DANH MỤC HÌNH ẢNH
Hình 2. 1 Mơ Hình RNN .......................................................................... 12
Hình 2. 2 Mơ Hình RNN Rút Gọn ............................................................ 13
Hình 2. 3 loss Function ............................................................................. 14
Hình 2. 4 Mơ Hình LSTM chứa 4 tầng ẩn (3 sigmoid và 1 tanh) ............ 15
Hình 2. 5 Diễn Giải Các Kí Hiệu Trong Đồ Thị Mạng Nơ Ron .............. 15

Hình 2. 6 Đường đi của ô trạng thái (cell state) trong mạng LSTM ........ 16
Hình 2. 7 Một Cổng Của Hàm Sigmoid trong LSTM .............................. 16
Hình 2. 8 Tầng Cổng Quên (Forget Gate Layer) ...................................... 17
Hình 2. 9 Cập nhật giá trị cho ô trạng thái bằng cách kết hợp 2 kết quả từ
tầng cổng vào và tầng ẩm hàm tanh .................................................................... 17
Hình 2. 10 Ơ Trạng Thái ........................................................................... 18
Hình 2. 11 Điều chỉnh thông tin ở đầu ra thông qua hàm tanh ................ 18
Hình 2. 12 Seq2Seq model ....................................................................... 19
Hình 2. 13 Encoder Model ........................................................................ 20
Hình 2. 14 Decoder Model ....................................................................... 20
Hình 2. 15 Động Lực Trong Attention ..................................................... 21
Hình 2. 16 Các Thành Phân Trong Attention ........................................... 22
Hình 2. 17 Các Thành Phần Của Attention .............................................. 22
Hình 2. 18 Các Bước Trong Attention...................................................... 23
Hình 2. 19 một số hàm α hay được sử dụng ............................................. 24
Hình 3. 1 Bag of word............................................................................... 28
Hình 3. 2 Mơ hình CBOW ........................................................................ 29
Hình 3. 3 Mơ hình Transformer tổng qt ................................................ 30
Hình 3. 4. Encoder và Decoder ................................................................. 30
Hình 3. 5 Ngăn xếp Encoder và Decoder ................................................ 31
Hình 3. 6 Word embedding các từ ............................................................ 31
Hình 3. 7 Cấu trúc của Encoder ................................................................ 32
Hình 3. 8 Ví dụ mã hóa the animal ........................................................... 33
Hình 3. 9 Tạo vector Q, K, V cho từ ........................................................ 33
Hình 3. 10 Tính điểm cho vector từ .......................................................... 34
Hình 3. 11 Áp dụng hàm softmax để tính score ....................................... 35
Hình 3. 12 Kết quả self-attention .............................................................. 36
Hình 3. 13 Tổng qt quy trình tính self-attention ................................... 36
Hình 3. 14 Multi-headed attention ............................................................ 37
Hình 3. 15 Cộng từng headed attention .................................................... 37

Hình 3. 16 Nhân với vector W0 ................................................................ 38
Hình 3. 17 Tổng quát Multi-headed attention .......................................... 38
Hình 3. 18 Mối quan hệ của từ với các từ trong câu ................................ 39
Hình 3. 19 Thêm vecto vị trí trước khi đưa từ vào trong mơ hình ........... 40
Hình 3. 20 Kết nối residual ....................................................................... 41
Hình 3. 21 Kết nối residual trong mơ hình Transformer .......................... 42
4


Hình 3. 22 Quá trình áp dụng Linear và Softmax..................................... 42
Hình 3. 23 Quá trình giải mã .................................................................... 43
Hình 3. 24 Ví dụ áp dụng Linear và Softmax ........................................... 44
Hình 3. 25 So sánh mất mát ...................................................................... 45
Hình 3. 26 Mơ hình BERT........................................................................ 48
Hình 3. 27 Q trình Masked để dự đốn ................................................. 49
Hình 3. 28 8 tác vụ để đánh giá mơ hình .................................................. 51

5


LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày
tỏ lòng biết ơn đến các thầy cô của trường Đại học Công Nghiệp Hà Nội, đặc biệt
là các thầy cô khoa Công Nghệ Thông Tin của trường đã tạo điều kiện cho em có
một mơn học giúp chúng em củng cố được kiến thức và kinh nghiệm.
Và em cũng xin chân thành cảm ơn thầy giáo Tiến Sĩ Nguyễn Mạnh Cường
người đã tận tâm hướng dẫn chúng em qua từng buổi nói chuyện, hướng dẫn, thảo
luận về các lĩnh vực trong đề tài. Chúng em rất biết ơn các góp ý, sự chỉ dẫn và
kiến thức chuyên môn mà thầy giáo đã chia sẻ với chúng em trong quá trình thực
hiện báo cáo. Nhờ những lời khuyên và hướng dẫn của thầy đã giúp chúng em đã

có cơ hội học hỏi và phát triển kỹ năng của mình.
Khơng chỉ giúp chúng em hồn thành đề tài một cách thành cơng, sự đóng
góp của thầy giáo còn giúp chúng em hiểu rõ hơn về lĩnh vực này và củng cố kiến
thức chuẩn bị cho đồ án tốt nghiệp sắp tới. Nhờ thầy giáo chúng em đã có cơ hội
nắm bắt những khía cạnh quan trọng và phát triển tư duy sáng tạo.
Đề tài này khơng thể hồn thành một cách xuất sắc như vậy nếu khơng có sự
giúp đỡ của thầy. Chúng em rất cảm ơn sự tâm huyết và nhiệt tình giúp đỡ chúng
em trong xuyên suốt quá trình thực hiện báo cáo này.
Trong quá trình thực hiện báo cáo, cũng như là trong quá trình thực hiện đề
tài đã chọn chúng em cũng đã rất cố gắng xây dựng đề tài này. Tuy nhiên trong
q trình thực hiện sẽ khó tránh khỏi những sai sót. Em rất mong nhận được ý
kiến đóng góp từ thầy để học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt
hơn bài báo cáo tốt nghiệp sắp tới.
Em xin chúc thầy luôn mạnh khỏe, luôn vui vẻ và thành công trong cuộc
sống.
Em xin chân thành cảm ơn!

Nhóm thực hiện : Nhóm 9

6


LỜI NÓI ĐẦU
Cảm xúc là một phần quan trọng của cuộc sống con người, và chúng thường
được thể hiện thông qua ngơn ngữ. Trong thời đại số hóa ngày nay, với sự gia
tăng của mạng xã hội, diễn đàn trực tuyến và các nền tảng giao tiếp, lượng lớn dữ
liệu văn bản chứa đựng những dấu hiệu về cảm xúc của con người. Điều này tạo
ra một cơ hội lớn để áp dụng các phương pháp máy học và xử lý ngôn ngữ tự
nhiên để nhận diện và hiểu cảm xúc trong văn bản.
Được thúc đẩy bởi sự quan tâm đối với trải nghiệm người dùng, quản lý dữ

liệu lớn, và ứng dụng rộng rãi trong các lĩnh vực như tiếp thị, y tế, và truyền thông,
đề tài nhận diện cảm xúc trong văn bản đã trở thành một lĩnh vực nghiên cứu sơi
động và có ý nghĩa lớn.
Có nhiều mơ hình được dùng để nhận diện cảm xúc trong văn bản như: Naive
Bayes, Support Vector Machines (SVM), Logistic Regression, Random Forests,
Long Short-Term Memory (LSTM), Gated Recurrent Unit (GRU), Transformer
và BERT (Bidirectional Encoder Representations from Transformers). Mỗi mơ
hình đều có ưu và nhược điểm riêng của nó, chúng đều đưa ra được những kết quả
tốt. BERT là một kiến trúc transformer đã được huấn luyện trước trên lượng lớn
dữ liệu ngơn ngữ. BERT có khả năng hiểu ngơn ngữ một cách sâu sắc và có thể
được fine-tuned cho các nhiệm vụ như nhận diện cảm xúc. Dựa vào điều này bọn
em chọn mơ hình BERT làm mơ hình để nhận diện cảm xúc trong văn bản cho đề
tài của nhóm.
Nội dung báo cáo này bọn em chia thành 3 chương:





Chương 1: Giới thiệu qua về đề tài
Chương 2: Mơ hình truyền thống
Chương 3: Mơ hình Bert
Chương 4: Ứng dụng Bert vào bài tốn phân loại văn bản

Phần kết luận tóm tắt lại các nội dung đã đạt được của đề tài và nêu lên một
số gợi ý về hướng phát triển tiếp theo của đề tài.
Chúng em hy vọng rằng nghiên cứu của mình khơng chỉ đóng góp vào sự
hiểu biết về cảm xúc trong văn bản mà còn mang lại giá trị thực tế cho cộng đồng
nghiên cứu và doanh nghiệp. Chúng em chào mừng mọi ý kiến đóng góp và phản
hồi từ độc giả, nhằm hồn thiện và mở rộng hơn nghiên cứu này trong tương lai.


7


CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Lý do chọn đề tài
Nhận diện cảm xúc trong văn bản là một bài tốn quan trọng trong lĩnh vực xử
lý ngơn ngữ tự nhiên. Đề tài này được chọn với các lý do:
• Bài tốn có nhiều ứng dụng thực tiễn như phân tích cảm xúc khách hàng,
giám sát mạng xã hội, tạo ra Chatbot thơng minh hơn.
• Nhận diện cảm xúc trong văn bản giúp hiểu rõ hơn về cảm nhận và phản
ứng của người sử dụng đối với thông điệp cụ thể. Điều này có thể hữu
ích trong việc tối ưu hóa trải nghiệm người dùng trên các nền tảng trực
tuyến hoặc trong sản phẩm và dịch vụ khác.
• Nhận diện cảm xúc trong văn bản có thể hỗ trợ trong lĩnh vực y tế tâm
thần, giúp theo dõi tâm lý và cảm xúc của bệnh nhân trong quá trình điều
trị.
• Đây là một bài tốn điển hình của NLP, kết hợp nhiều kỹ thuật xử lý
ngôn ngữ và machine learning.
• Có thể áp dụng các mơ hình NLP tiên tiến như BERT cho bài tốn.
• Dữ liệu văn bản dồi dào, có thể thu thập từ các nguồn online như website
tin tức, mạng xã hội.
• Kết quả nghiên cứu có thể cơng bố trên các hội nghị, tạp chí khoa học.
Những lý do trên cho thấy đây là một đề tài thú vị, thách thức và có ý nghĩa
thực tiễn cao để nghiên cứu.
1.2 Mục tiêu đặt ra
Bài toán nhận diện cảm xúc trong văn bản có nhiều mục đích khác nhau, nhưng
trong báo cáo này bọn em có những mục đích chính sau:
• Phân loại văn bản thành đa lớp: Điều này thường được ứng dụng trong
các ứng dụng đánh giá sản phẩm, bình luận trên mạng xã hội, hoặc đánh

giá của người dùng.
• Đánh giá loại cảm xúc đối với một thuộc tính hay chủ đề cụ thể.
• Theo dõi thay đổi của cảm xúc theo thời gian, giúp hiểu rõ hơn về sự
phát triển của cảm xúc trong các chuỗi văn bản hoặc theo dõi xu hướng
thay đổi cảm xúc theo thời gian.
• Đánh giá cảm xúc đối với các sự kiện hoặc tin tức cụ thể, giúp tổ chức
tin tức đánh giá sự phản ứng của độc giả đối với thơng tin một cách nhanh
chóng.

8


1.3 Tìm hiểu chung về bài tốn
Nhận diện cảm xúc trong văn bản là bài toán phân loại văn bản dựa trên cảm
xúc mà nó thể hiện. Đây là một tác vụ quan trọng trong NLP, có nhiều ứng dụng
thực tế.
Các bước chính để xây dựng mơ hình nhận diện cảm xúc:
• Thu thập dữ liệu: Tập văn bản được gán nhãn cảm xúc (vui, buồn, giận,
sợ, ...)
• Tiền xử lý: Loại bỏ dấu câu, ký tự đặc biệt, chuẩn hóa văn bản.
• Trích xuất đặc trưng: Sử dụng kỹ thuật NLP như TF-IDF, word2vec,
BERT để trích xuất vector đặc trưng cho mỗi văn bản.
• Huấn luyện mơ hình: Sử dụng các thuật toán học máy như SVM, LSTM,
CNN để huấn luyện mơ hình dự đốn cảm xúc.
• Đánh giá: Đo độ chính xác, recall, precision, F1-score của mơ hình trên
tập dữ liệu kiểm tra.
• Tối ưu hóa mơ hình: Thử nghiệm các siêu tham số, mơ hình khác để cải
thiện kết quả.
• Triển khai: Áp dụng mơ hình vào ứng dụng thực tế.
Các ứng dụng của bài tốn:

• Phân tích cảm xúc khách hàng từ nhận xét, đánh giá.
• Theo dõi trạng thái cảm xúc trên mạng xã hội.
• Chatbot thơng minh có khả năng nhận diện cảm xúc.
1.4. Bài toán nhận diện cảm xúc trong văn bản
Bài toán nhận diện cảm xúc trong văn bản có thể được phân tích như sau:
Đầu vào: Tập văn bản, mỗi văn bản thuộc một nhãn cảm xúc (Ví dụ: vui,
buồn, giận, sợ, ...)
Đầu ra: nhãn cảm xúc của mỗi văn bản.
Thuộc tính dữ liệu:
• Văn bản ngắn (câu, đoạn văn) hoặc dài (bài báo, bình luận).
• Có thể chứa lỗi chính tả, ngữ pháp.
• Ngơn ngữ: tiếng Việt hoặc tiếng Anh.
Thuật tốn, mơ hình: Phân loại văn bản, sử dụng mơ hình học sâu như CNN,
RNN, BERT.
Đánh giá mơ hình: Độ chính xác, độ đo recall, precision, F1-score.

9


Ưu điểm: Phân tích được cảm xúc người dùng, nâng cao trải nghiệm khách
hàng.
Nhược điểm: Yêu cầu lượng dữ liệu lớn, chất lượng dữ liệu ảnh hưởng đến
mơ hình.
1.5. Một số kỹ thuật hiện có để giải quyết bài tốn
Mơ hình máy vectơ hỗ trợ (SVM)
• Sử dụng kỹ thuật trích chọn đặc trưng từ văn bản như TF-IDF, word2vec.
• TF-IDF: trọng số tần suất thuật ngữ ngữ cảnh thể hiện tầm quan trọng
của từ.
• Word2vec: mã hóa từ thành vectơ liên tục, từ cùng ngữ cảnh có vector
gần nhau.

• Vector hóa văn bản thành ma trận đặc trưng, mỗi chiều là một đặc trưng
TF-IDF hoặc word2vec.
• Huấn luyện SVM để phân loại văn bản dựa trên ma trận đặc trưng.
Mạng nơron tích chập (CNN)
• Sử dụng lớp tích chập để trích xuất đặc trưng từ các vùng liên tiếp trong
văn bản.
• Input là ma trận thưa thể hiện văn bản, mỗi hàng là một từ.
• Qua mỗi lớp tích chập, trích xuất các n-gram liên tiếp.
• Kết hợp nhiều filter với các kích thước khác nhau để trích chọn đặc trưng.
• Cuối cùng là các layer kết nối để dự đốn cảm xúc.
Mạng nơron hồi tiếp (RNN)
• Sử dụng RNN, GRU/LSTM để mã hóa ngữ cảnh của văn bản.
• Input là chuỗi các từ, output là vector đặc trưng cho cả câu/văn bản.
• RNN duy trì trạng thái ẩn, cập nhật dựa trên từ hiện tại và trạng thái
trước.
• LSTM, GRU cải thiện để khắc phục hiện tượng mất gradient.
• Vector đặc trưng cuối cùng được dùng để phân loại cảm xúc.
Mơ hình BERT
• Sử dụng mã hóa ngữ cảnh hai chiều và cơ chế tự chú ý.
• Input là chuỗi từ đã được gán thêm vectơ.
• Qua nhiều lớp Transformer encoder tự chú ý, tạo ra vector đặc trưng cho
văn bản.
• Thêm lớp phân loại cuối cùng dựa trên vector đặc trưng.
10


• Đào tạo trên tập dữ liệu lớn giúp BERT hiểu sâu ngữ nghĩa.
• Cho độ chính xác cao nhất trên nhiều tác vụ NLP.
Nhìn chung, BERT là lựa chọn tốt nhất hiện nay cho bài tốn với độ chính xác
cao trên các tập dữ liệu. Các mơ hình CNN, RNN cũng cho kết quả tốt và có thể

kết hợp với BERT.

11


CHƯƠNG 2: MƠ HÌNH TRUYỀN THỐNG
2.1 Mạng nơron truy hồi (RNN – RECURRENT NEURAL NETWORK)
2.1.1 Dữ liệu dạng Sequence
Khi xử lý video ta hay gặp khái niệm về FPS (frame per second) tức là bao
nhiêu frame (ảnh) mỗi giây. Ví dụ 1 FPS với video 30s tức là lấy ra video 30 ảnh,
mỗi giây 1 ảnh để xử lý. Những dữ liệu có dạng tuần tự như thế được gọi là
sequence, time-series data.
Ví dụ : “tơi u Việt Nam” thì vị trí các từ và sự sắp xếp cực kì quan trọng
đến ngữ nghĩa của câu và dữ liệu [‘tôi’, ‘yêu’, ‘Việt’, ‘Nam’] được gọi là sequence
data. Trong bài toán xử lý ngơn ngữ tự nhiên (NLP) thì khơng thể xử lý cùng
lúc cả câu được mà người ta tách ra từng chữ làm input
2.1.2 Mơ hình bài tốn RNN
Bài toán: Nhận diện hành động trong video 30s. Đây là bài toán many to one,
tức nhiều input để cho ra 1 output.
Input sẽ tách video thành 30 ảnh (mỗi giây 1 ảnh). Các ảnh sẽ được cho qua
pretrained model CNN để trích xuất dữ liệu đặc trưng (feature extraction). Output
là 1 vector cỡ d*1 (với d là số lượng hành động cần phân loại), softmax function
được dùng để phân loại ảnh.

Hình 2. 1 Mơ Hình RNN
Giải thích:
• Mỗi hình trịn được gọi là một state, state t có input là 𝑥𝑡
(Output của state trước); output là

và 𝑠𝑡−1


𝑠𝑡 =  𝑓(𝑈 ∗ 𝑥𝑡 +  𝑊 ∗  𝑠𝑡−1 )
12


• 𝑓 là Activation function thường là Tanh hoặc ReLU.
𝑠𝑡 mang thông tin từ các state trước 𝑠𝑡 =  𝑓(𝑈 ∗ 𝑥𝑡 +  𝑊 ∗  𝑠𝑡−1 ) và
input là các state hiện tại => 𝑠𝑡 giống như memory nhớ các đặc điểm
của các input từ 𝑥1 đến 𝑥𝑡 . .
• 𝒔𝟎 được thêm vào chỉ để cho chuẩn công thức nên thường được gán
bằng không hoặc một giá trị ngẫu nhiên.
• Do ta chỉ có 1 output , nên sẽ được đặt ở state cuối cùng, khi đó 𝑠30
học được thông tin từ tất cả các input. 𝑦̂ = 𝑔(𝑉 ∗ 𝑆30 ) với g là
activation function, với mục tiêu bài tốn thì sẽ dùng hàm softmax.
Trong lý thuyết về ngôn ngữ, ngữ nghĩa của một câu được tạo ra từ mối liên
hệ các từ trong câu theo một cấu trúc ngữ pháp. Mơ hình RNN được sử dụng nhằm
mục đích liên kết các từ liền trước trong câu với từ hiện tại để tạo ra mỗi liên hệ
xâu chuỗi.
Trong hình 2.1, ở các state các 𝑊 và 𝑈 giống nhau nên mơ hình có thể viết
gọn thành

Hình 2. 2 Mơ Hình RNN Rút Gọn
Cũng giống như các mơ hình Nerual khác, mơ hình sẽ tối ưu hàm loss
function (sự sai khác giữa dự đoán và thực tế dựa trên tập trainning set) để điều
chỉnh các W, U giúp mô hình trở lên chính xác hơn.

13


Hình 2. 3 loss Function

Tuy nhiên việc này khá khó khăn đối với mơ hình RNN. Điều này giúp ta
đi đến tìm hiểu một mơ hình mới dựa trên mơ hình RNN đó là LTSM.
2.2 Mơ hình LSTM (Long Short Term Memory)
Một trong những điểm đặc biệt của RNN đó là nó có khả năng kết nối các thơng
tin liền trước với nhiệm vụ hiện tại, chẳng hạn như trong câu văn: ‘học sinh đang
tới trường học’. Dường như trong một ngữ cảnh ngắn hạn, từ trường học có thể
được dự báo ngay tức thì mà khơng cần thêm các thơng tin từ những câu văn khác
gần đó. Tuy nhiên có những tình huống địi hỏi phải có nhiều thơng tin hơn chẳng
hạn như: ‘hôm qua Bống đi học nhưng không mang áo mưa. Trên đường đi học
trời mưa. Cặp sách của Bống bị ‘ướt’. Chúng ta cần phải học để tìm ra từ ướt ở
một ngữ cảnh dài hơn so với chỉ 1 câu. Tức là cần phải biết các sự kiện trước đó
như trời mưa, khơng mang áo mưa để suy ra sự kiện bị ướt.
Những sự liên kết ngữ nghĩa dài như vậy được gọi là phụ thuộc dài hạn (longterm dependencies). Về mặt lý thuyết mạng RNN có thể giải quyết được những
sự phụ thuộc trong dài hạn. Tuy nhiên trên thực tế RNN lại cho thấy khả năng học
trong dài hạn kém hơn. Một trong những ngun nhân chính được giải thích đó là
sự triệt tiêu đạo hàm của hàm cost function sẽ diễn ra khi trải quả chuỗi dài các
tính tốn truy hồi. Một phiên bản mới của mạng RNN là mạng LSTM ra đời nhằm
khắc phục hiện tường này nhờ một cơ chế đặc biệt.

14


Hình 2. 4 Mơ Hình LSTM chứa 4 tầng ẩn (3 sigmoid và 1 tanh)
Các kí kiệu.

Hình 2. 5 Diễn Giải Các Kí Hiệu Trong Đồ Thị Mạng Nơ Ron

2.2.1 Ý tưởng của mơ hình LSTM
Ý tưởng chính của LSTM là thành phần ô trạng thái (cell state) được thể hiện
thông qua đường chạy ngang qua đỉnh đồ thị như hình vẽ bên dưới:


15


Hình 2. 6 Đường đi của ơ trạng thái (cell state) trong mạng LSTM
Ô trạng thái là một dạng băng chuyền chạy thẳng xuyên suốt toàn bộ chuỗi
với chỉ một vài tương tác tuyến tính nhỏ giúp cho thơng tin có thể truyền dọc theo
đồ thị mạng nơ ron ổn định.
LSTM có khả năng xóa và thêm thơng tin vào ô trạng thái và điều chỉnh các
luồng thông tin này thông qua các cấu trúc gọi là cổng.
Cổng là cơ chế đặc biệt để điều chỉnh luồng thông tin đi qua. Chúng được
tổng hợp bởi một tầng ẩn của hàm activation sigmoid và với một tốn tử nhân như
đồ thị.

Hình 2. 7 Một Cổng Của Hàm Sigmoid trong LSTM
Hàm sigmoid sẽ cho đầu ra là một giá trị xác suất nằm tỏng khoảng từ 0 đến
1, để biểu thị rằng bao nhiêu phần trăm thông tin sẽ đi qua cổng. Giá trị bằng 0 tứ
là không cho phép thông tin đi qua cổng, giá tị bằng 1 sẽ nói rằng cho tồn bộ
thơng tin đi qua cổng.
Mỗi mạng LSTM sẽ có 3 cổng có kiến trúc dạng này để bảo vệ và kiểm sốt
các ơ trạng thái.

16


2.2.2 Trình tự các bước của LSTM
Bước đầu tiên trong LSTM sẽ quyết định xem thông tin nào chúng ta sẽ cho
phép đi qua ơ trạng thái (cell state). Nó được kiểm soát bởi hàm sigmoid trong
một tầng gọi là tầng quên (forget gate layer). Đầu tiên nó nhận đầu vào là 2 giá
trị ℎ𝑡−1 và 𝑥𝑡 và trả về một giá trị nằm trong khoảng 0 và 1 cho mỗi giá trị của ô

trạng thái 𝑐𝑡−1 . Nếu giá trị bằng 1 thể hiện ‘giữ tồn bộ thơng tin’ và bằng 0 thể
hiện ‘bỏ qua tồn bộ chúng’.

Hình 2. 8 Tầng Cổng Quên (Forget Gate Layer)
Bước tiếp theo chúng ta sẽ quyết định loại thông tin nào sẽ được lưu trữ trong
ô trạng thái. Bước này bao gồm 2 phần. Phần đầu tiên là một tầng ẩn của hàm
sigmoid được gọi là tầng cổng vào (input gate layer) quyết định giá trị bao nhiêu
sẽ được cập nhật. Tiếp theo, tầng ẩn hàm tanh sẽ tạo ra một véc tơ của một giá trị
trạng thái mới 𝑐̃𝑡 mà có thể được thêm vào trạng thái. Tiếp theo kết hợp kết quả
của 2 tầng này để tạo thành một cập nhật cho trạng thái.

Hình 2. 9 Cập nhật giá trị cho ô trạng thái bằng cách kết hợp 2 kết quả từ tầng
cổng vào và tầng ẩm hàm tanh
Đây là thời điểm để cập nhật một ô trạng thái cũ, 𝑐𝑡−1 sang một trạng thái
mới 𝑐𝑡 . Những bước trước đó đã quyết định làm cái gì, và tại bước này chỉ cần
thực hiện nó.

17


Chúng ta nhân trạng thái cũ với 𝑓𝑡 tương ứng với việc quên những thứ quyết
định được phép quên sớm. Phần tử đề cử 𝑖𝑡 ∗ 𝐶̃𝑡 là một giá trị mới được tính tốn
tương ứng với bao nhiêu được cập nhật vào mỗi giá trị trạng thái.

Hình 2. 10 Ô Trạng Thái
Cuối cùng cần quyết định xem đầu ra sẽ trả về bao nhiêu. Kết quả ở đầu ra
sẽ dựa trên ô trạng thái, nhưng sẽ là một phiên bản được lọc. Đầu tiên, chúng ta
chạy qua một tầng sigmoid nơi quyết định phần nào của ô trạng thái sẽ ở đầu ra.
Sau đó, ơ trạng thái được đưa qua hàm tanh (để chuyển giá trị về khoảng -1 và 1)
và nhân nó với đầu ra của một cổng sigmoid, do đó chỉ trả ra phần mà chúng ta

quyết định

Hình 2. 11 Điều chỉnh thơng tin ở đầu ra thơng qua hàm tanh
2.3 Transformer và Seq2Seq Model
2.3.1 Q trình encoder và decoder
Máy tính khơng thể học được từ các dữ liệu thô như bức ảnh, file text, file
âm thanh, đoạn video. Do đó nó cần đến q trình mã hóa thơng tin sang dạng số
và từ dạng số giải mã ra kết quả đầu ra. Đó chính là 2 q trình encoder và decoder.
• Encoder: là phrase chuyển input thành những feature learning có khả
năng học tập các task.
18


• Decoder: đầu ra của encoder chính là đầu vào của decoder. Phrase
này nhằm mục đích tìm ra phân phối xác xuất từ các features learning
ở encoder từ đó xác định đâu là nhãn của đầu ra.
2.3.2 Seq2Seq model và Attention
2.3.2.1 Seq2Seq model
Trong thế giới ngày nay của trí tuệ nhân tạo, mơ hình seq2seq, hay cịn
được biết đến là Sequence-to-Sequence, là một trong những công cụ mạnh mẽ
giúp máy tính xử lý và tạo ra các chuỗi dữ liệu. Từ việc dịch ngôn ngữ tự nhiên
đến tạo ra mô tả hình ảnh, seq2seq đã chứng minh sự đa nhiệm và tính ứng dụng
rộng rãi của nó. Hãy cùng khám phá chi tiết về cơ sở lý thuyết và ứng dụng thực
tế của mơ hình này, để hiểu rõ hơn về cách nó đã đánh dấu bước tiến quan trọng
trong lĩnh vực máy học và trí tuệ nhân tạo
Mơ hình Seq2Seq gồm 2 thành phần là encoder và decoder.

Hình 2. 12 Seq2Seq model
Encoder nhận input là câu tiếng anh và output ra context vector, còn
decoder nhận input là context vector và output ra câu tiếng việt tương ứng. Phần

encoder sử dụng mơ hình RNN (nói là mơ hình RNN nhưng có thể là các mơ hình
cải tiến như GRU, LSTM) và context vector được dùng là hidden states ở node
cuối cùng. Phần decoder cũng là một mơ hình RNN với 𝑠0 chính là context vector
rồi dần dần sinh ra các từ ở câu dịch.

19


Hình 2. 13 Encoder Model
Các từ trong câu tiếng anh sẽ được embedding thành vector và cho vào
mơ hình RNN, hidden state ở node cuối cùng sẽ được dùng làm context vector.
Về mặt lý thuyết thì context vector sẽ mang đủ thông tin của câu tiếng anh cần
dịch và sẽ được làm input cho decoder

Hình 2. 14 Decoder Model
2 tag <START> và <END> được thêm vào câu output để chỉ từ bắt đầu
và kết thúc của câu dịch. Mơ hình decoder nhận input là context vector. Ở node
đầu tiên context vector và tag <START> sẽ output ra chữ đầu tiên trong câu dịch,
rồi tiếp tục mơ hình sinh chữ tiếp theo cho đến khi gặp tag<END> hoặc đến max
length của câu output thì dừng lại.
Vấn đề: Mơ hình seq2seq encode cả câu tiếng anh thành 1 context vector,
rồi dùng context vector để sinh ra các từ trong câu dịch tưng ứng tiếng việt. Như
vậy khi câu dài thì rất khó cho decoder chỉ dùng 1 context vector có thể sinh ra
được câu output chuẩn. Thêm vào đó các mơ hình RNN đều bị mất ít nhiều thơng
20


tin ở các node ở xa nên bản thân context vector cũng khó để học được thơng tin ở
các từ ở phần đầu của encoder.
2.3.2.2 Attention is all you need

Mặc dù đã trải qua rất nhiều những tiến bộ với nhiều kiến trúc như LSTM,
GRU để khác phục hạn chế về khả năng học phụ thuộc dài hạn. Tuy nhiên, trong
nhiều bài toán về dịch thuật, việc cải thiện cũng khơng đáng kể, chính vì thế kĩ
thuật Attention được áp dụng để mang lại hiệu quả cao hơn.
Trong một tác vụ dịch máy, các từ ở input sẽ có mỗi liên hệ lớn hơn đối với
từ ở output cùng vị trị. Do đó attention hiểu một cách đơn giản sẽ giúp thuật toán
điều chỉnh sự tập trung lớn hơn ở các cặp từ (input, ouput) nếu chúng có vị trí
tương đương hoặc gần tương đương.
Attention tiếng anh nghĩa là chú ý, hay tập trung. Khi dịch ở mỗi từ tiếng
việt ta cần chú ý đến 1 vài từ tiếng anh ở input, hay nói cách khác là có 1 vài từ ở
input có ảnh hưởng lớn hơn để dịch từ đấy.

Hình 2. 15 Động Lực Trong Attention
Ta thấy từ I có trọng số ảnh hướng lớn tới việc dịch từ tơi, hay từ teaching
có ảnh hưởng nhiều tới việc dịch từ dạy và từ học.
=> Do đó khi dịch mỗi từ ta cần chú ý đến các từ ở câu input tiếng anh và
đánh trọng số khác nhau cho các từ để dịch chuẩn hơn.
Attention sẽ định nghĩa ra 3 thành phần query, key, value.

21


Hình 2. 16 Các Thành Phân Trong Attention
Query (q) lấy thơng tin từ từ tiếp theo cần dịch (ví dụ từ dạy). Mỗi từ trong
câu input tiếng anh sẽ cho ra 2 thành phần tương ứng là key và value, từ thứ i kí
hiệu là 𝑘𝑖 , 𝑉𝑖 .
Mỗi bộ q, 𝑘𝑖 , qua hàm a sẽ cho ra 𝑎𝑖 tương ứng, 𝑎𝑖 chính là độ ảnh hưởng
của từ thứ i trong input lên từ cần dự đốn. Sau đó các giá trị 𝑎𝑖 được normalize
theo hàm softmax được 𝑏𝑖 .


Hình 2. 17 Các Thành Phần Của Attention
Cuối cùng các giá trị 𝑣𝑖 được tính tổng lại theo hệ số 𝑏𝑖 , output = ∑𝑁
𝑖=1 𝑏𝑖 ∗ 𝑣𝑖 ,
trong đó N là số từ trong câu input. Việc normalize các giá trị 𝑎𝑖 giúp output cùng
scale với các giá trị value
22


Hình 2. 18 Các Bước Trong Attention
Ở phần encoder, thơng thường mỗi từ ở input thì hidden state ở mỗi node
được lấy làm cả giá trị key và value của từ đấy. Ở phần decoder, ở node 1 gọi
input là x1, output y1 và hidden state s1; ở node 2 gọi input là x2, output y2. Query
là hidden state của node trước của node cần dự đoán từ tiếp theo (s1). Các bước
thực hiện:
• Tính score: 𝑎𝑖 = 𝛼(𝑞, 𝑘𝑖 )
• Normalize score: 𝑏𝑖
• Tính output: output_attention = ∑1,1
𝑖=1 𝑏𝑖 ∗ 𝑣𝑖
• Sau đó kết hợp hidden state ở node trước 𝑠𝑖 , input node hiện tại 𝑥2 và giá
trị output_attention để dự đoán từ tiếp theo 𝑦2 .

23


Hình 2. 19 một số hàm α hay được sử dụng
Nhận xét: Cơ chế attention không chỉ dùng context vector mà còn sử dụng
hidden state ở từng từ trong input với trọng số ảnh hưởng tương ứng, nên việc dự
đoán từ tiếp theo sẽ tốt hơn cũng như không sợ tình trạng từ ở xa bị mất thơng tin
ở context vector.
Ngồi ra các mơ hình deep learning hay bị nói là hộp đen (black box) vì mơ

hình khơng giải thích được, attention phần nào giúp visualize được kết quả dự
đoán, ví dụ từ nào ở ouptut ảnh hưởng nhiều bởi từ nào trong input. Do đó model
học được quan hệ giữa các từ trong input và output để đưa ra kết quả dự đoán.

24


CHƯƠNG 3: MƠ HÌNH BERT
3.1. Lý thuyết cơ sở về NLP
Tồn bộ q trình xử lý ngơn ngữ trước khi đưa vào mơ hình

Hình 3.1 Q trình xử lý ngơn ngữ trước khi đưa vào mơ hình
3.1.1. TOKENIZATION
Tokenization (tách từ) là một trong những bước quan trọng nhất trong quá
trình tiền xử lý văn bản. Nói một cách đơn giản, tokenization là quá trình tách một
cụm từ, câu, đoạn văn, một hoặc nhiều tài liệu văn bản thành các đơn vị nhỏ hơn.
Mỗi đơn vị nhỏ hơn này được gọi là Tokens.

Hình 3.2. Các kỹ thuật tách từ trong xử lý ngôn ngữ tự nhiên
3.1.2. STEMMING (Đưa từ dạng cơ bản)
Stemming là kỹ thuật dùng để biến đổi 1 từ về dạng gốc (được gọi là stem
hoặc root form) bằng cách cực kỳ đơn giản là loại bỏ 1 số ký tự nằm ở cuối từ mà
nó nghĩ rằng là biến thể của từ. Ví dụ như chúng ta thấy các từ như walked,
25


×