ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA——————–
PHẠM ĐĂNG KHOA
ỨNG DỤNG MẠNG NƠ RON ĐỒ THỊ CHO BÀI TỐN RÚTTRÍCH QUAN HỆ GIỮA CÁC THỰC THỂ TRÊN TẬP DỮ LIỆU
TIẾNG VIỆT
Chuyên ngành: KHOA HỌC MÁY TÍNHMã số: 8480101
LUẬN VĂN THẠC SĨ
Trang 2CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠITRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCMCán bộ hướng dẫn khoa học:PGS.TS Quản Thành ThơCán bộ chấm nhận xét 1:PGS.TS Đỗ Văn NhơnCán bộ chấm nhận xét 2:PGS.TS Võ Thị Ngọc Châu
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 11 tháng 07 năm 2023.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, họchàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 Chủ tịch: TS Nguyễn Đức Dũng2 Thư ký: TS Trương Thị Thái Minh
3 Phản biện 1: PGS.TS Võ Thị Ngọc Châu4 Phản biện 2: PGS.TS Đỗ Văn Nhơn5 Uỷ viên: TS Bùi Thanh Hùng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNGTRƯỞNG KHOA KHOA HỌC VÀ
KỸ THUẬT MÁY TÍNH
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: PHẠM ĐĂNG KHOAMSHV: 1970590Ngày, tháng, năm sinh: 04/09/1992Nơi sinh: Đắc LắcChuyên ngành: Khoa học Máy tínhMã số : 8480101
I TÊN ĐỀ TÀI: ỨNG DỤNG MẠNG NƠ RON ĐỒ THỊ CHO BÀI TỐN RÚTTRÍCH QUAN HỆ GIỮA CÁC THỰC THỂ TRÊN TẬP DỮ LIỆU TIẾNG VIỆT( GRAPH NEURAL NETWORK FOR RELATION EXTRACTION IN
VIETNAMESE DATASET )II NHIỆM VỤ VÀ NỘI DUNG:
- Rút trích quan hệ giữa các thực thể tiếng Việt bằng phương pháp ứng dụng các kỹthuật xử lý ngôn ngữ tự nhiên, các mơ hình học sâu và đặc biệt là mơ hình GNN.- Nghiên cứu và đề xuất các phương pháp nhằm cải thiện độ chính xác của mơ hình.- Thực nghiệm và đánh giá kết quả của các phương pháp đề xuất.
III.NGÀY GIAO NHIỆM VỤ : 09/05/2022
IV.NGÀY HOÀN THÀNH NHIỆM VỤ: 09/06/2023V.CÁN BỘ HƯỚNG DẪN: PGS.TS Quản Thành Thơ.
Tp HCM, ngày 09 tháng 06 năm 2023CÁN BỘ HƯỚNG DẪN(Họ tên và chữ ký)HỘI ĐỒNG NGÀNH(Họ tên và chữ ký)PGS.TS Quản Thành ThơTRƯỞNG KHOA
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Lời đầu tiên, Em xin gửi lời cảm ơn chân thành và sâu sắc đến PGS.TSQuản Thành Thơ, người đã dành thời gian hướng dẫn và giúp đỡ em trongsuốt q trình nghiên cứu và hồn thành luận văn này Em đã nhận đượcnhiều lời khuyên, chia sẻ kinh nghiệm từ Thầy trong giai đoạn phát triển đềtài, cũng như sự hỗ trợ và chỉ dẫn của Thầy đã giúp em vượt qua những khókhăn, thách thức trong q trình hiện thực và hoàn thành đề tài.
Em cũng xin gửi lời cảm ơn đến các Thầy, Cô trong khoa Khoa Học vàKỹ Thuật Máy Tính đã truyền đạt rất nhiều kiến thức và kinh nghiệm choem trong suốt quá trình học tập, cũng như các bạn cùng khoá học đã luôngiúp đỡ, trao đổi và chia sẻ kinh nghiệm với em trong quá trình học tập vànghiên cứu Đặc biệt là sự hỗ trợ của bạn Lê Hoàng, do thầy hướng dẫn giớithiệu, đã giúp đỡ em nhiều trong quá trình tìm hiểu và định hướng đề tàiluận văn.
Em cũng xin gửi lời cảm ơn đến ban lãnh đạo và đồng nghiệp tại công tyMulti-it nơi em đang làm việc Công ty đã tạo điều kiện thuận lợi, đặc biệtlà việc sắp xếp công việc và thời gian linh động trong thời gian học tập vàcũng như hoàn thành luận văn Đồng thời em cũng đã nhận được sự hỗ trợvà động viên của các đồng nghiệp trong thời gian vừa học tập, vừa làm việctại công ty.
Cuối cùng, em xin gửi lời cảm ơn đến gia đình, bạn bè những người luôndành sự ủng hộ, quan tâm, động viên và là nguồn động lực cho em trong suốtquá trình học tập, nghiên cứu và thực hiện đề tài luận văn.
Trang 5TĨM TẮT LUẬN VĂN
Rút trích quan hệ là tác vụ quan trọng trong bài toán rút trích thơng tin, kếtquả của bài tốn rút trích quan hệ có thể hỗ trợ cho nhiều ứng dụng khácnhau như hệ thống hỏi đáp, xây dựng cơ sở tri thức Bài tốn rút trích quanhệ giữa các thực thể là bài toán tương đối phức tạp và nhiều hướng tiếp cận.Trong nội dung của đề tài luận văn này, học viên tập trung vào bài tốnhọc có giám sát, với phương pháp ứng dụng Graph Neural Network - GNN(Mạng Nơ-ron Đồ Thị), một hướng tương đối mới, để giải quyết bài tốn rúttrích quan hệ giữa các thực thể trên tập dữ liệu tiếng Việt Trong nội dungđề tài này, học viên thực hiện các cơng việc.
• Tìm hiểu thêm về GNN, thử nghiệm phương pháp ứng dụng mạngGNN cho bài bài tốn rút trích quan hệ giữa các thực thể tiếng việt,với mong muốn đóng góp một ứng dụng tham khảo và giúp mở rộngthêm phương pháp giải quyết bài tốn rút trích quan hệ, với dữ liệutiếng Việt bằng việc ứng dụng mơ hình GNN trên tập dữ liệu tiếngViệt là VLSP-2020-RE [1] Trong đó, việc xử lý dữ liệu cho phù hợpyêu cầu của bài tốn, với dữ liệu tiếng Việt là trọng tâm.
• Sử dụng BERT trong quá trình embedding các vector từ đầu vào, đểtăng chất lượng embedding và cải thiện kết quả đầu ra.
Trang 6ABSTRACT OF DISSERTATION
Extracting relations is an important task in information extraction, and theresults of relation extraction can provide support for various applicationssuch as question-answering systems and knowledge base construction Theproblem of extracting relations between entities is relatively complex andhas multiple approaches In the content of this thesis, the researchers focuson the supervised learning problem, applying the GNN method, a relativelynew approach, to address the problem of extracting relations between enti-ties in Vietnamese datasets Through this thesis, the researchers perform thefollowing tasks:
• Further investigate GNN and experiment with applying GNN to ex-tract relations between Vietnamese entities, aiming to contribute areference application and expand the methods for solving relation ex-traction problems with Vietnamese data The application is performedon the VLSP-2020-RE Vietnamese dataset Processing the data ap-propriately according to the requirements of the Vietnamese relationextraction task is crucial to obtain suitable data for the training pro-cess.
• Utilize BERT for embedding input word vectors to enhance embed-ding quality and improve output results.
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan luận văn tốt nghiệp: “ỨNG DỤNG MẠNG NƠ RONĐỒ THỊ CHO BÀI TỐN RÚT TRÍCH QUAN HỆ GIỮA CÁC THỰCTHỂ TRÊN TẬP DỮ LIỆU TIẾNG VIỆT” là cơng trình nghiên cứu củabản thân Những phần sử dụng tài liệu tham khảo trong luận văn đã đượcnêu rõ trong phần tài liệu tham khảo Các số liệu, kết quả trình bày trongluận văn là hồn tồn trung thực, nếu sai tơi xin chịu hồn tồn trách nhiệmvà chịu mọi kỷ luật của bộ môn và nhà trường đề ra.
Học viên
Trang 8Mục lục
Chương 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 Giới thiệu đề tài 1
1.2 Mơ tả bài tốn rút trích quan hệ giữa các thực thể 3
1.3 Mục tiêu và nhiệm vụ của luận văn 5
1.4 Giới hạn đề tài 5
1.5 Đóng góp của luận văn 6
1.6 Tóm tắt nội dung 7
Chương 2 CƠ SỞ KIẾN THỨC 8
2.1 Mơ hình Artificial Neural Network - ANN 8
2.2 Mơ hình Recurrent Neural Network - RNN 11
2.3 Mơ hình Long Short-Term Memory 16
2.4 Cơ chế Attention 21
2.5 Mơ hình Graph Neural Network - GNN 25
Chương 3 CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN 30
Chương 4 MÔ HÌNH ĐỀ XUẤT 35
4.1 Mơ Hình 35
4.2 Quá trình xử lý dữ liệu 41
4.2.1 Tiền xử lý dữ liệu 41
4.2.2 Chuyển dữ liệu đầu vào sang định dạng phù hợp 42
4.3 Phương pháp đánh giá 44
4.3.1 precision, recall và f1-score .44
4.3.2 micro-F1 45
4.4 Đề xuất sử dụng BERT cho tác vụ embedding vector đầu vàovà tiền xử lý dữ liệu 46
Trang 94.4.2 Kết quả thực nghiệm và thảo luận 49
Trang 10Danh sách hình vẽ
1.1 Mơ tả bài tốn rút trích quan hệ giữa các thực thể và trong
bài tốn rút trích thơng tin (Information Extraction) 22.1 Các thành phần cơ bản của một nơ-ron thần kinh sinh học
[2] 82.2 Cấu trúc của một perceptron 102.3 Cấu trúc mơ hình Recurrent Neural Network 122.4 Cơ chế hoạt động của perceptron trong mơ hình Recurrent
Neural Network 132.5 Cơ chế hoạt động của perceptron trong mơ hình Long
Short-Term Memory 192.6 Kiến trúc mơ hình Bidirectional LSTM 212.7 Một số ứng dụng của đồ thị [3] 252.8 Sơ đồ thể hiện pipeline cơ bản [3] khi xây dựng một GNN model 262.9 Tích chập 2 chiều và tích chập trên đồ thị [3] 272.10 Quá trình tổng hợp và cập nhật trong GNN [3] 282.11 Công thức tổng quát và các hàm tính tốn cơ bản của cơ chế
tổng hợp và cập nhật [3] 293.1 Các mốc quan trọng của bài tốn rút trích quan hệ sử dụng
GNN[4] 303.2 Các bài báo chính tham khảo trong đề tài luận văn sử dụng
Trang 114.1 Mơ hình đề xuất dựa trên mơ hình tham khảo 364.2 Dữ liệu tập VLSP [1] với định dạng gốc 434.3 Dữ liệu tập VLSP [1] với định dạng yêu cầu 434.4 Biểu đồ mô tả số lượng quan hệ trong từng record dữ liệu
Trang 12Danh sách bảng
1.1 Ví dụ về thực thể và quan hệ trong câu [1] 42.1 Các trường hợp xảy ra với độ dài đầu vào và đầu ra của mơ
hình RNN 122.2 biểu diễn các từ trong câu theo vector embedding 232.3 thể hiện độ tập trung của từ Q đối với từng từ trong câu 243.1 Các loại quan hệ và cặp thực thể tương ứng trong tập
VLSP-RE 2020 [1] 334.1 Xây dựng các cạnh của đồ thị [7] 384.2 Các tham số chính cho mơ hình GNN edge orientation 484.3 Kết quả thực nghiệm của mơ hình GNN - EoG (Edge
orien-tation Graph) so với các phương pháp khác trên tập dữ liệu
tiếng việt VLSP-2020-RE 494.4 Kết quả thực nghiệm so sánh việc sử dụng toàn bộ cạnh và
Trang 13Chương 1
GIỚI THIỆU ĐỀ TÀI
1.1.Giới thiệu đề tài
Trong giai đoạn bùng nổ thông tin như hiện nay, dữ liệu ngày càng nhiềuvà đa dạng hơn bao giờ hết, điều này giúp ích cho q trình tìm kiếm thơngtin, tri thức nhưng cũng đặt ra nhiều thách thức trong quá trình chọn lọc vàxử lý thơng tin Bài tốn đặt ra là làm sao máy tính có thể có thể hiểu đượcthông tin từ dữ liệu để trợ giúp con người, đặc biệt với các dữ liệu dạng phicấu trúc như văn bản, với yêu cầu phải hiểu được ngữ nghĩa của văn bản.
Trang 14Hình 1.1: Mơ tả bài tốn rút trích quan hệ giữa các thực thể và trong bàitốn rút trích thơng tin (Information Extraction)
Rút trích quan hệ giữa các thực thể (Relation Extraction) là công việcxác định quan hệ về mặt ngữ nghĩa của các cặp thực thể trong văn bản Tập
các thực thể sử dụng trong quá trình phân loại mối quan hệ, thường là kếtquả của bài tốn trước đó, là bài tốn nhận diện thực thể có tên NamedEntity Recognition - NER, trong ngữ cảnh của một bài toán đầy đủ end-to-end Tuy vậy, dữ liệu đầu vào có thể là tập dữ liệu tạo bằng phương pháp
Trang 15Kết quả của bài tốn rút trích quan hệ giữa các thực thể có nhiều ứngdụng khác nhau, chẳng hạn như hệ thống hỏi đáp (Question answering), rúttrích thơng tin (Entity Extraction), đặc biệt trong việc hỗ trợ thông tin chocác cơ sở tri thức (Knowledge Bases), phục vụ cho một hệ thống thông tin cụthể của ứng dụng web hay các từ điển, hệ thống thông tin lớn như WordNetThesaurus, FreeBase, DBPedia
Rút trích quan hệ giữa các thực thể là bài toán tương đối phức tạp vànhiều hướng tiếp cận Nội dung của đề tài luận văn này tập trung vào bàitốn học có giám sát, với phương pháp "Ứng dụng Mạng nơ-ron đồ thị chobài toán rút trích quan hệ giữa các thực thể trên tập dữ liệu tiếng Việt".Graph Neural Network - GNN (Mạng nơ-ron đồ thị) [8] là mơ hình có thểứng dụng vào nhiều bài tốn, nhưng chưa có nhiều tham khảo, ứng dụng đốivới tiếng Việt và có thể phát triển nhiều hơn trong tương lai.
1.2.Mơ tả bài tốn rút trích quan hệ giữa các
thực thể
Mơ hình có đầu vào là:
− Một câu (xét bài tốn ở mức rút trích quan hệ trong một câu - intrasentence), bao gồm một tập thực thể và một tập các quan hệ có thểxảy ra với một cặp thực thể.
− Tập E = {e1, e2, em} gồm m loại thực thể.− Tập R = {r1, r2, rn} gồm n loại quan hệ.
Trang 16Mơ hình có đầu ra là:
− Quan hệ (có thể có) < em1, em2, rj >, trong đó em1, em2 đã được chotrước, rj ∈ R.
Bảng 1.1: Ví dụ về thực thể và quan hệ trong câu [1]
Ví dụ: Tại buổi họp báo ơng Nguyễn Quang Huyền,Phó Cục trưởng [Cục Quản lý và giám sát Bảo Hiểm]
[Bộ Tài chính] cho biết.
Loại quan hệ Thực thể 1 Thực thể 2
AFFILIATION(liên kết)
PERSON
Nguyễn Quang Huyền
ORGANIZATIONCục Quản lý và giám sátBảo HiểmAFFILIATION(liên kết)PERSON
Nguyễn Quang Huyền
Trang 171.3.Mục tiêu và nhiệm vụ của luận văn
Đề tài hướng tới mục tiêu rút trích quan hệ giữa các thực thể tiếng Việtbằng phương pháp ứng dụng các kỹ thuật xử lý ngôn ngữ tự nhiên, các mơhình học sâu và đặc biệt mơ hình Graph Neural Network - GNN (Mạng nơ-ron đồ thị) Với dữ liệu đầu vào là các đoạn văn tiếng Việt, chứa nhiều thơngtin, thực thể và mối quan hệ có thể có giữa các thực thể.
Từ mục tiêu tổng quát, học viên sẽ từng bước xử lý các vấn đề dưới đâyđể giải quyết bài tốn:
− Tìm hiểu và sử dụng các kĩ thuật trong xử lí ngơn ngữ tự nhiên, cácmơ hình học sâu Đặc biệt là việc tìm hiểu về các đặc trưng của mơhình GNN, cơ chế hoạt động và kết hợp với các phương pháp học sâu.− Tìm kiếm tập dữ liệu dữ liệu tiếng Việt, xử lý dữ liệu phù hợp với yêu
cầu đầu vào của mơ hình dùng GNN.
− Đưa ra đề xuất cải thiện hiệu suất của mơ hình dựa trên thực nghiệm.− Đánh giá khả năng ứng dụng mơ hình GNN với tập dữ liệu tiếng Việt
và hiểu thêm về các đặc trưng, tính chất của mơ hình.
1.4.Giới hạn đề tài
Nội dung của đề tài Ứng dụng mạng nơ-ron đồ thị cho bài tốn rút tríchquan hệ giữa các thực thể trên tập dữ liệu tiếng Việt sẽ được giới hạn nhưsau:
Trang 18(Vietnamese Language and Speech Processing, CLB Xử lý ngơn ngữvà tiếng nói tiếng Việt).
− Áp dụng các mơ hình học sâu Bi-LSTM [9], GNN để huấn luyện dữliệu.
− Sử dụng GNN và tìm hiểu phương thức xây dựng nút, cạnh trên đồ thịcho bài toán rút trích quan hệ giữa các thực thể, với phương pháp làdựa trên các đặc trưng cạnh của đồ thị để xác định quan hệ có thể giữacác thực thể.
− Đánh giá kết quả dự đoán dựa trên độ đo micro F1-score.
1.5.Đóng góp của luận văn
Đóng góp chính của đề tài là việc xử lý và thử nghiệm tập dữ liệu tiếngViệt đối với mơ hình GNN cho bài tốn rút trích thực thể tiếng Việt.
Trong luận văn, học viên có hai đề xuất để có thể ứng dụng mơ hình hiệuquả hơn với tập dữ liệu tiếng Việt trên mô hình GNN:
− Với đặc thù mơ hình có sử dụng các nút câu và xây dựng nhiều liênkết cạnh nên kích thước tính tốn sẽ lớn nếu đoạn văn gồm quá nhiềucâu Nếu đoạn văn có quá nhiều câu, đoạn văn sẽ được tách các đoạnvăn bản có nhiều câu thành các đoạn nhỏ hơn, mới có thể huấn luyệnđược nhưng vẫn đảm bảo khả năng dự đoán kết quả.
Trang 191.6.Tóm tắt nội dung
Nội dung của luận văn gồm 5 chương:
− Chương 1 GIỚI THIỆU ĐỀ TÀI: Nêu lý do chọn đề tài Ứng dụng
mạng nơ-ron đồ thị cho bài tốn rút trích quan hệ giữa các thực thểtrên tập dữ liệu tiếng Việt, mô tả bài tốn rút trích quan hệ, tập dữ liệu
được sử dụng, phương pháp đánh giá.
− Chương 2 CƠ SỞ KIẾN THỨC: Trình bày cơ sở kiến thức cơ bản về
deep learning, Artificial Neural Network, Recurrent Neural Network,Long Short-Term Memory, Attention.
− Chương 3 CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN:
Giới thiệu các cơng trình nghiên cứu liên quan tới phương pháp Ứngdụng mạng nơ-ron đồ thị cho bài tốn rút trích quan hệ giữa các thựcthể trên tập dữ liệu tiếng Việt.
− Chương 4 MƠ HÌNH ỨNG DỤNG: Trình bày cụ thể về mơ hình
GNN sẽ được ứng dụng cho bài tốn Rút trích quan hệ cho tập dữliệu tiếng Việt Đề xuất tiền xử lý dữ liệu, sử dụng BERT [11] trong
embedding dữ liệu đầu vào và các kết quả thực nghiệm.
− Chương 5 KẾT LUẬN: Tổng kết các kết quả, vấn đề còn tồn tại,
Trang 20Chương 2
CƠ SỞ KIẾN THỨC
2.1.Mơ hình Artificial Neural Network - ANN
Artificial Neural Network - ANN (Mạng nơ-ron nhân tạo) [12] thườngđược gọi đơn giản là Neural Network - NN (Mạng nơ-ron), là hệ thống tính
tốn lấy cảm hứng từ mạng nơ-ron sinh học cấu thành của não người.
ANN gồm một tập hợp các đơn vị hoặc gọi là nút được kết nối với nhau,
gọi là các nơ-ron(tế bào thần kinh) nhân tạo ANN mô phỏng một cách đơn
giản các nơ-ron, mỗi kết nối của ANN, giống như kết nối thần kinh trongnão sinh học Các nơ-ron liên kết và truyền tín hiệu đến các nơ-ron khác vàcó đặc điểm là có nhiều đầu vào nhưng chỉ có một đầu ra.
Nơron thần kinh sinh học là đơn vị cơ bản của hệ thống thần kinh trong
cơ thể người và động vật Nó gồm một tế bào (soma), các nhánh dẫn truyềnxung thần kinh (dendrites) để nhận tín hiệu, và một sợi dẫn truyền xung thầnkinh (axon) để truyền tín hiệu đi (ngõ ra) như trong hình 2.1.
Trang 21Nơ-ron thần kinh hoạt động bằng cách tiếp nhận các thơng tin đưa vào
từ các đi gai (dendrites), tính tốn và tổng hợp tại thân nơ-ron (cell body),sau đó lan truyền kết quả đến các nơ-ron khác thông qua sợi trục (axon).
Một tế bào nơ-ron nhân tạo (perceptron) của mô hình học sâu (deeplearning) cũng sẽ nhận nhiều tín hiệu, sau đó xử lý và truyền kết quả đi cho
các nơ-ron liên kết với nó.
− Tín hiệu tại một kết nối là một số thực và giá trị đầu ra của mỗi nơ-ronđược tính bằng hàm phi tuyến tính có tham số, để tổng hợp các giá trịđầu vào của nó.
− Các kết nối được gọi là các cạnh Các nơ-ron và các cạnh có trọng sốđể điều chỉnh tăng hoặc giảm cường độ của tín hiệu tại một kết nốitrong q trình huấn luyện.
− Nơ-ron có thể có ngưỡng sao cho tín hiệu chỉ được gửi đi khi tín hiệutổng hợp vượt qua ngưỡng đó.
Trong ví dụ hình 2.2, đơn vị tế bào thần kinh sẽ thực hiện:− Nhận vào ba giá trị: x1, x2, x3
− Tính tổng có trọng số và nhân giá trị theo trọng số tương ứng w1, w2,
w3 và thêm vào đó một số hạng b (bias).
− Cuối cùng, chuyển tổng kết quả qua một hàm sigmoid để có kết quảlà một số giữa 0 và 1.
Ví dụ trên đây sử dụng hàm sigmoid là hàm kích hoạt, trong trường hợp tổngqt có thể sử dụng hàm kích hoạt khác thay cho hàm sigmoid.
Trang 22− Tầng đầu vào (input layer) là tầng đầu tiên nhận dữ liệu đầu vào.− Tầng ẩn (hidden layer)nằm giữa, gồm các phép tính tốn chuyển đổi
dữ liệu đầu vào cho ra dữ liệu đầu ra trung gian Số lượng tầng ẩn,khơng có giới hạn cụ thể, tùy theo mục đích thiết kế Khi có nhiều
hơn 1 tầng ẩn ANN sẽ được gọi là mơ hình Deep learning (học sâu)
[13]
− Tầng kết quả (output layer) là tầng cuối cùng chứa dữ liệu đầu ra.
Trang 232.2.Mơ hình Recurrent Neural Network - RNN
Văn bản là dữ liệu dạng chuỗi tuần tự, với ý nghĩa của từng từ phụ thuộcvào vị trí của nó trong câu Mỗi từ trong văn bản đều mang theo thông tinvà sự liên kết giữa các từ đóng vai trị quan trọng trong việc hiểu và xử lývăn bản.
Recurrent Neural Network - RNN (mạng nơ-ron hồi quy) [14] là một
mạng nơ-ron được thiết kế đặc biệt để xử lý dữ liệu chuỗi, bao gồm ngơnngữ tự nhiên, giúp mơ hình "nhìn thấy" và hiểu được ý nghĩa của các từtrong ngữ cảnh bằng cách xử lý và khai thác thông tin hiệu quả từ chuỗi tuầntự.
RNN có khả năng lưu lại trạng thái hiện tại và cho phép thông tin từ quákhứ truyền đi và tác động đến quá trình xử lý từ tiếp theo Nhờ đó, giúp choRNN có khả năng xử lý và hiểu được ý nghĩa của văn bản dựa trên sự phụthuộc giữa các từ và vị trí của chúng trong câu Chính vì vậy, RNN trở thànhmột công cụ mạnh mẽ trong xử lý ngôn ngữ tự nhiên, dịch máy, nhận dạnggiọng nói, và nhiều ứng dụng khác liên quan đến dữ liệu dạng chuỗi.
Cấu trúc mơ hình RNN:
− Gồm một tầng xử lý dữ liệu với số lượng perceptron bằng độ dài chuỗidữ liệu đầu vào.
− Ngồi thơng tin của dữ liệu đầu vào, perceptron có thêm dữ liệu đầuvào khác là đầu ra của perceptron ở ngay trước nó.
Trang 24Hình 2.3: Cấu trúc mơ hình Recurrent Neural NetworkMột mơ hình RNN cơ bản có thể được mơ tả như sau:
− Đầu vào: x1, x2, xt là các vector đầu vào biểu diễn thành phần thứt của chuỗi dữ liệu được đưa vào.
− Trạng thái ẩn: h1, h2, ht là trạng thái ẩn tại thời điểm t, cũng là ngõvào cho nơ-ron kế tiếp.
− Đầu ra: y1, y2, yt ngõ ra tại thời điểm t.
Trong ví dụ hình 2.3, độ dài chuỗi dữ liệu đầu ra đúng bằng với độ dàichuỗi dữ liệu đầu vào Nhưng đối với mơ hình RNN, độ dài của chuỗi đầuvào và đầu ra có thể thay đổi tùy thuộc vào từng bài toán cụ thể Chuỗi đầuvào thể có độ dài bất kỳ, điều này cho phép xử lý các dữ liệu có độ dài khácnhau Tương tự, chuỗi đầu ra cũng có thể có độ dài linh hoạt, tùy thuộc vàoyêu cầu của bài toán.
Bảng 2.1: Các trường hợp xảy ra với độ dài đầu vào và đầu ra của mơ hìnhRNN
Trường hợpĐộ dài dữ liệu đầu vàoĐộ dài dữ liệu đầu ra
1 1 n>1
2 n>1 1
Trang 25Quá trình biến đổi các vector đầu vào xt và ht−1 sang các vector đầu raht và yt tại bước xử lý dữ liệu thứ t là quá trình huấn luyện các bộ trọng sốcủa các ma trận Wxh, Whh và Why được thực hiện bởi perceptron với các phéptính tốn được sắp xếp theo các thứ tự sau
Hình 2.4: Cơ chế hoạt động của perceptron trong mơ hình RecurrentNeural Network
1 Tính tích của xt và ma trận trọng số Wxh.2 Tính tích của ht−1 và ma trận trọng số Whh.
3 Thực hiện phép tổng của hai tích trên với giá trị của bias, sau đó đưakết quả qua hàm tanh sẽ thu được giá trị của hidden state ht;
ht = tanh(Wxh xt+Whh ht−1+ b) (2.1)
Trang 26của ma trận trọng số Why và hidden state ht.
yt = so f tmax(Why ht) (2.2)
Trong mạng RNN, quá trình biến đổi các vector đầu vào xt và ht−1 sangcác vector đầu ra ht và yt được thực hiện bằng cách sử dụng các ma trậntrọng số và hàm kích hoạt.
1 Đầu tiên, vector đầu vào xt và vector trạng thái trước đó ht−1 được kếthợp để tạo ra vector zt:
zt = Wxh xt +Whh ht−1+ bh (2.3)Trong đó:
− Wh là ma trận trọng số cho phép ánh xạ từ vector đầu vào zt sangvector kết hợp zt.
− Whh là ma trận trọng số cho phép ánh xạ từ vector trạng tháitrước đó ht−1 sang vector kết hợp zt.
− bh là vector điều chỉnh nếu có.
2 Sau đó, zt được truyền qua hàm kích hoạt phi tuyến tính để tạo ra vec-tor trạng thái hiện tại ht và tính tốn vector đầu ra ytt Thơng thường,hàm kích hoạt được sử dụng trong RNN là hàm tanh hoặc hàm sig-moid.
ht = tanh(zt) (2.4)
Trang 27yt = so f tmax(Why ht + by) (2.5)Trong đó:
− Why là ma trận trọng số cho phép ánh xạ từ vector trạng thái hiệntại ht sang vector đầu ra yt.
− by vector điều chỉnh nếu có.
4 Quá trình này được lặp lại cho để tạo ra các vector trạng thái và vector
đầu ra tương ứng Sau đó, quá trình lan truyền ngược (back propaga-tion) được sử dụng để điều chỉnh các ma trận trọng số và cập nhật mơ
Trang 282.3.Mơ hình Long Short-Term Memory
Mơ hình Long Short-Term Memory (LSTM) là một loại mạng nơ-ronhồi quy (RNN) được thiết kế để giải quyết vấn đề "đạo hàm biến mất" (gra-dient vanishing) trong mạng RNN truyền thống RNN được thiết kế để xửlý dữ liệu tuần tự, nhưng khi chuỗi đầu vào tương đối dài, RNN có thể sẽkhơng đáp ứng được u cầu dự đoán ngày càng cao của con người Đặcđiểm của dữ liệu tuần tự là thơng tin phía sau nó phụ thuộc vào thơng tinphía trước nên cần một mơ hình có thể nhớ các từ trước đó lâu hơn và dàihơn Thêm vào đó, cần có sự chọn lọc thơng tin cần lưu lại tại mỗi bước xửlý thay vì ghi nhớ tất cả thơng tin trước đó, vì có thể thơng tin phía sau chỉliên quan đến một số thơng tin phía trước.
Để giải quyết vấn đề này, mơ hình LSTM ra đời dựa trên kiến trúc củamơ hình RNN Tuy nhiên, dữ liệu đầu vào của mơ hình LSTM khơng chỉ làxt và ht−1 như mơ hình RNN mà cịn u cầu có thêm giá trị trạng thái hiện
tại (cell state) ct−1.
Mơ hình LSTM sử dụng các cổng để kiểm sốt việc thơng tin được lưutrữ và loại bỏ trong cell state Các cổng này bao gồm: Cổng quên (Forgetgate), Cổng đầu vào (Input gate) và Cổng đầu ra (Output gate) Nhờ có cáccổng này, mơ hình LSTM có khả năng nhớ các thơng tin quan trọng trongchuỗi dài và loại bỏ các thông tin không cần thiết.
Một số đặc tính chính của mơ hình LSTM bao gồm:− Khả năng xử lý các chuỗi dữ liệu dài.
− Khả năng nhớ các thông tin quan trọng trong chuỗi dài.− Khả năng loại bỏ các thông tin không cần thiết.
Trang 29truyền thống.
LSTM sử dụng cơ chế gating phức tạp hơn nhiều so với RNN để điềuchỉnh thơng tin trong q trình tính tốn của từng perceptron hình 2.5 là mơtả lại cơ chế gating trong LSTM :
1 Cơ chế tổng hợp thông tin từ trạng thái ẩn trước đó:
− Đầu tiên, LSTM tính tốn và tổng hợp thơng tin từ trạng thái ẩntrước đó ht−1 và dữ liệu đầu vào xt Quá trình này tương tự nhưperceptron trong mơ hình RNN.
− Thơng tin Ct được tính bằng công thức:e
Ct = tanh(Wc [ht−1, xt] + bc) (2.6)
2 Cổng Quên (forget gate):
− Cổng Quên quyết định tỷ lệ giữ lại bao nhiêu thông tin từ vectortrạng thái cell trước ct−1.
− Quá trình này được thực hiện bằng cách áp dụng các phép tínhlên vector trạng thái ẩn trước ht−1 và vector dữ liệu đầu vào xt,sau đó thơng qua hàm sigmoid, giá trị ft được tính bằng cơngthức:
ft = σ (Wf [ht−1, xt] + bf) (2.7)
3 Cổng Cập Nhật (update gate):
− Cổng Cập Nhật quyết định tỷ lệ cập nhật từ vector trạng thái ẩntrước ht−1 và vector dữ liệu đầu vào xt.
Trang 30ut = σ (Wu [ht−1, xt] + bu) (2.8)4 Xác định cell state mới:
− Dựa trên kết quả từ các bước trước đó, giá trị của cell state mớict được tính tốn.
− Cơng thức tính ct:
ct = ft∗ ct−1+ ut ∗ eCt (2.9)
5 Cổng Xuất (output gate):
− Cổng Xuất quyết định tỷ lệ lấy thông tin từ trạng thái cell trướcct−1 để trở thành giá trị trạng thái ẩn mới ht.
− Cơng thức tính ot:
ot = σ (Wo∗ [ht−1, xt] + bo) (2.10)
6 Tính giá trị ẩn mới (hidden state):
− Cuối cùng, giá trị hidden state mới ht được tính tốn dựa trêngiá trị cell state ct và giá trị cổng xuất ot.
− Cơng thức tính ht:
Trang 31Hình 2.5: Cơ chế hoạt động của perceptron trong mơ hình LongShort-Term Memory
Mặc dù mơ hình LSTM (Long Short-Term Memory) đã giải quyết mộtsố vấn đề của mơ hình RNN truyền thống, nhưng nó vẫn tồn tại một số điểmđó là vấn đề mất mát "thông tin xa" và khả năng mơ hình hố các "phụ thuộcdài" Trong LSTM, cổng qn giúp điều chỉnh thơng tin từ q khứ, nhưngnó khơng giải quyết hồn tồn vấn đề mất mát thơng tin xa Các thông tinquan trọng từ những bước thời gian xa trong quá khứ vẫn có thể bị mất đi.Cũng vậy, trong những trường hợp phụ thuộc có độ dài lớn, LSTM có thểgặp khó khăn trong việc xử lý và ghi nhớ thơng tin đó.
Trang 32thơng tin của mơ hình sẽ được cải thiện hình 2.6.
Bi-LSTM có các các đặc trưng giúp cải thiện khuyết điểm của LSTMnhư:
− Khả năng hiểu bối cảnh toàn diện và tăng khả năng tích luỹ thơng tin:Việc tích hợp thông tin từ cả quá khứ và tương lai cho phép mơ hìnhhiểu bối cảnh tồn diện của dữ liệu tuần tự Điều này giúp cải thiệnkhả năng mô hình hóa phụ thuộc dài và đảm bảo khơng bỏ sót thơngtin quan trọng Nhờ nắm được thơng tin tổng quát, khả năng biểu diễnvà xử lý dữ liệu tuần tự phức tạp được cải thiện.
− Giảm thiểu vấn đề mất mát thơng tin xa: Mơ hình Bi-LSTM giúp giảmthiểu vấn đề mất mát thông tin ở trong chuỗi dữ liệu xảy ra ở LSTM.Thơng qua việc tích hợp thơng tin từ cả hai hướng, Bi-LSTM tăngcường khả năng ghi nhớ thông tin từ quá khứ và tương lai.
− Tăng độ phức tạp và khả năng học: Mơ hình Bi-LSTM có cấu trúcphức tạp hơn LSTM thơng thường, địi hỏi nhiều tham số hơn và tínhtốn phức tạp hơn Điều này cung cấp khả năng mơ hình hóa và biểudiễn phức tạp hơn.
Mặc dù mơ hình Bi-LSTM (Bidirectional LSTM) có nhiều ưu điểm sovới LSTM truyền thống, nhưng nó cũng có một số nhược điểm:
− Độ phức tạp tính tốn lớn do cấu trúc phức tạp hơn LSTM, dẫn đếnviệc địi hỏi nhiều tài ngun tính tốn hơn làm tăng u cầu bộ nhớcủa mơ hình.
Trang 33− Nguy cơ overfitting: Với độ phức tạp cao, Bi-LSTM có nguy cơ caohơn về overfitting khi mơ hình được huấn luyện trên tập dữ liệu nhỏ.
− Hiện tượng tự mã hóa self-encoding: xảy ra khi mơ hình sao chép
thơng tin từ một chuỗi sang chuỗi khác mà không cần hiểu nghĩa haycấu trúc của dữ liệu, làm giảm khả năng hiểu và biểu diễn thông tin.Tuy nhiên, các nhược điểm trên không xảy cho tất cả các trường hợp vàtuỳ vào bài toán và tập dữ liệu cụ thể, việc ứng dụng Bi-LSTM hợp lý sẽgiúp cải thiện kết quả của mơ mình.
Hình 2.6: Kiến trúc mơ hình Bidirectional LSTM
2.4.Cơ chế Attention
Trang 34nhiên, đóng góp vào việc cải thiện hiệu suất và chất lượng của các mơ hìnhxử lý ngơn ngữ Nhờ đó, thúc đẩy mạnh mẽ quá trình xử lý dữ liệu tuần tự vàđược ứng dụng hiệu quả trong các lĩnh vực như: dịch máy, nhận dạng giọngnói, xử lý ngơn ngữ tự nhiên.
Cơ chế attention ra đời nhằm giải quyết một số hạn chế của các mơ hìnhtruyền thống, bằng cách cho phép mơ hình:
− Tập trung vào các thành phần quan trọng của dữ liệu.
− Giúp mơ hình hiểu và tạo ra mối quan hệ giữa các phần tử trong dữliệu, giúp cải thiện khả năng dự đốn và trích xuất thông tin.
Công thức cơ bản của attention được biểu diễn như sau:
Attention(Q, K,V ) = so f tmax(Q ∗ KT/sqrt(dk)) ∗ V (2.12)Trong đó:
− Q là vector truy vấn (query) được sử dụng để tìm kiếm thơng tin quantrọng.
− K là tập hợp các vector khóa (keys) chứa thơng tin ngữ nghĩa.
− V là tập hợp các vector giá trị (values) tương ứng với các vector khóa,
chứa thơng tin chi tiết.
Cơng thức trên tính tốn sự tương quan giữa truy vấn (Q) và các khóa (K),sau đó ánh xạ sự tương quan này vào các giá trị (V) để tạo ra kết quả cuốicùng.
Các bước thực hiện cơ chế attention như sau:
Trang 352 Áp dụng hàm softmax lên ma trận tương quan để đảm bảo tổng cácgiá trị trong mỗi hàng bằng 1, tạo thành một ma trận trọng số.
3 Nhân ma trận trọng số với ma trận giá trị V để tạo ra kết quả cuốicùng.
Xét ví dụ minh họa cách hoạt động của cơ chế attention và khả năng tậptrung vào thành phần quan trọng Ví dụ: yêu cầu tạo biểu đồ attention chocâu "I love to read books" Attention sẽ thực hiện các bước sau:
1 Embedding Vector
Bảng 2.2: biểu diễn các từ trong câu theo vector embedding
từ trong câuvector embedding
"I" Q = [0.2, 0.5, 0.8]"love" K1 = [0.6, 0.3, 0.1]"to" K2 = [0.7, 0.4, 0.2]"read" K3 = [0.9, 0.6, 0.3]"books" K4 = [0.3, 0.1, 0.5]
2 Tính tốn attention score: Để tính tốn attention score giữa từ Q và K,chúng ta sử dụng công thức Attention:
(Q, K) = so f tmax(Q ∗ KT/sqrt(dk)) (2.13)Trong đó, dk là chiều của vector embedding (trong ví dụ này dk = 3).Đầu tiên, chúng ta tính tốn dot product giữa Q và K1:
Trang 36Tiếp theo, chúng ta chia kết quả trên cho sqrt(dk):
0.26/sqrt(3) = 0.15 (2.15)
Sau đó, áp dụng hàm softmax để đưa attention score về dạng xác suất:
so f tmax(0.15) = 0.48 (2.16)
3 Bảng thể hiện độ tập trung của từ Q đối với từng từ trong câu:Bảng 2.3: thể hiện độ tập trung của từ Q đối với từng từ trong câu
I love to read books
0.48 0.17 0.18 0.10 0.07
Trong bảng trên giá trị tại hàng Q và cột K thể hiện attention score giữatừ Q và từ K Ta thấy rằng từ "I" tập trung nhiều nhất vào chính nó, attentionscore cao nhất ở đường chéo chính và tập trung ít hơn vào các từ khác trongcâu.
Trang 372.5.Mơ hình Graph Neural Network - GNN
Đồ thị (graph) có thể hiểu là 1 cấu trúc dữ liệu có tập các đối tượng coi
là nút và các mối liên hệ giữa các đối tượng được xem là cạnh Có thể biểudiễn đồ thị bằng một ma trận kề trận kề chứa thông số thể hiện mối liên hệcủa các nút Trong đó cạnh thể là một hay nhiều chiều, cũng thể là có hướng
hoặc vơ hướng Nút có thể khơng đồng dạng (heterogeneous) nghĩa là đồ thị
gồm nhiều loại nút khác nhau.
Trang 38Đồ thị là một cấu trúc dữ liệu có thể biểu diễn nhiều loại dữ liệu trongthực tế nên có nhiều ứng dụng Chẳng hạn như các sơ đồ trạng thái, nguyên
tử, hình ảnh, cây cú pháp của ngôn ngữ (dependency tree), thông tin có
tương tác của user trong mạng xã hội Vậy nên đồ thị được ứng dụng trongrất nhiều lĩnh vực lĩnh vực khác nhau như hình trên [3].
Hình 2.8: Sơ đồ thể hiện pipeline cơ bản [3] khi xây dựng một GNN modelTrong đó:
− Đầu vào là một đồ thị.
− Đầu ra là các nút, cạnh, hay đồ thị sau khi được xử lý, tính tốn đượcembedding với thơng tin mang tính chất của đồ thị, khơng cịn là cácnút, cạnh với tính chất, bản chất ban đầu nữa.
− Cuối cùng nút, cạnh của đồ thị sau khi được embedding sẽ được sửdụng như thế nào sẽ tùy vào bài toán ví dụ: phân loại, phân cụm hayhồi quy từ đó cũng sẽ áp dụng các hàm loss khác nhau.
Trang 39Hình 2.9: Tích chập 2 chiều và tích chập trên đồ thị [3]Cơ bản GNN hoạt động dựa trên 2 cơ chế chính:
− Lấy thơng tin của các nút bên cạnh nút đang xét Tổng hợp các thông
tin, đặc trưng (aggregate).
− Cập nhật thông tin mới nút đang xét (update) Về bản chất cơ chế nàylấy cảm hứng từ cơ chế tích chập (Convolution Network) khi sử dụng
Trang 40Hình 2.10: Quá trình tổng hợp và cập nhật trong GNN [3]
Ví dụ quá trình tổng hợp và cập nhật trong GNN cho nút và công thứctổng quát:
1 Aggregate (tổng hợp): Gửi thông tin (message passing) để lấy các đặc
trưng giữa nút đang xét, với các nút lân cận là nút 2, 3 và 4 Ở lần lặpthứ k, nút số 1 có đặc trưng là h1, tương tư cho các nút còn lại
− Input là cho nút số 1 là: h2, h3, h4.
− Thơng qua một hàm tổng hợp, chẳng hạn tính trung bình để tínhra vector đặc trưng mới của nút số 1 là h1(k+1) Qua đó, tổnghợp lại thơng tin đã lấy từ các nút lân cận.
2 Update (cập nhật): Cập nhật giá trị mới sử dụng hàm cập nhật và gángiá trị mới cho vector đặc trưng của nút đang xét.