Phát hiện quan hệ nhân quả giữa các sự kiện trong văn bản với học sâu

  • 60 trang
  • file .pdf
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
Phát hiện quan hệ nhân quả giữa các
sự kiện trong văn bản với học sâu
PHẠM VĂN ĐẠT
[email protected]
Ngành Khoa học dữ liệu
Giảng viên hướng dẫn: TS. Nguyễn Thị Oanh
Viện: Công nghệ Thông tin và Truyền thông
HÀ NỘI, 04/2021
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN
THẠC SĨ
Họ và tên tác giả luận văn : Phạm Văn Đạt
Đề tài luận văn: Phát hiện quan hệ nhân quả giữa các sự kiện trong văn
bản với học sâu
Chuyên ngành: Khoa học dữ liệu
Mã số HV: CB190198
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác
nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày
24/04/2021 với các nội dung sau:
- Bổ sung thêm tham khảo các mô hình tồn tại trên thế giới Phần 2.3
- Bổ sung nội dung chi tiết hơn phần kết luận Chương 5
Hà nội, ngày tháng năm 2021
Giáo viên hướng dẫn Tác giả luận văn
CHỦ TỊCH HỘI ĐỒNG
2
Mục lục
Chương 1: Giới thiệu bài toán ......................................................................... 10
1.1 Đặt vấn đề ............................................................................................. 10
1.2 Mục tiêu và phạm vi của luận văn ........................................................ 11
1.2.1 Mục tiêu của luận văn .................................................................. 11
1.2.2 Phạm vi của luận văn ................................................................... 12
1.3 Định hướng phương pháp giải quyết .................................................... 12
Chương 2: Cơ sở lý thuyết ............................................................................... 13
2.1 Biểu diễn tài liệu với định dạng (CAT-)XML ..................................... 13
2.1.1 Tài liệu XML ............................................................................... 13
2.1.2 Tài liệu định dạng (CAT-)XML .................................................. 14
2.2 Mạng nơ-ron ......................................................................................... 14
2.2.1 Tổng quan kiến trúc ..................................................................... 14
2.2.2 Huấn luyện mô hình ..................................................................... 16
2.2.3 Biểu diễn từ bằng word2vec ........................................................ 17
2.2.4 Mạng nơ-ron hồi quy (Recurrent neural network)....................... 19
2.2.5 Mạng nơ-ron tích chập đồ thị (Graph Convolutional Networks) 24
2.2.6 Các khái niệm khác ...................................................................... 26
2.3 Hiện trạng các mô hình đã tồn tại trên thế giới .................................... 29
2.3.1 Mô hình phân loại Feature Based Local Pairwise ....................... 29
2.3.2 Mô hình phân loại dựa trên tối ưu ILP ........................................ 31
2.3.3 Mô hình Edge-Enhanced Graph Convolution Networks ............. 31
Chương 3: Mô hình đề xuất ............................................................................. 35
3.1 Mô hình posGCN ................................................................................. 35
3.1.1 Cấu trúc tầng biểu diễn câu.......................................................... 36
3
3.1.2 Cấu trúc tầng biểu diễn cặp sự kiện ............................................. 38
3.1.3 Cấu trúc tầng lỗi phân loại ........................................................... 39
3.2 Các mô hình cải tiến của mô hình posGCN ......................................... 40
3.2.1 Mô hình posGCN-EC .................................................................. 41
3.2.2 Mô hình posGCN-OC .................................................................. 44
3.2.3 Mô hình posGCN-AC .................................................................. 44
Chương 4: Thử nghiệm .................................................................................... 46
4.1 Dữ liệu thử nghiệm............................................................................... 46
4.1.1 Tập dữ liệu EventStoryLine......................................................... 46
4.1.2 Chiến lược chia dữ liệu thử nghiệm ............................................ 47
4.2 Kết quả ................................................................................................. 49
4.2.1 Độ đo sử dụng .............................................................................. 49
4.2.2 Các tham số chung ban đầu ......................................................... 49
4.2.3 So sánh với kết quả đã công bố ................................................... 50
4.2.4 Lựa chọn tham số ......................................................................... 51
4.2.5 Kết quả trên các mô hình cải tiến ................................................ 54
Chương 5: Kết luận .......................................................................................... 57
5.1 Kết quả đạt được .................................................................................. 57
5.2 Định hướng phát triển của đề tài .......................................................... 58
Tài liệu tham khảo ........................................................................................... 59
4
LỜI CẢM ƠN
Một cột mốc quan trọng nữa lại đến, quá trình học thạc sĩ trôi qua thật
nhanh. Ngồi nhìn lại, tôi rất hạnh phúc khi được viết những dòng này. Trải qua cả
quá trình này, chỉ mình sự nỗ lực của bản thân là không đủ. Tôi muốn gửi lời cảm
ơn của mình đến Viện Công Nghệ Thông Tin và Truyền Thông đã tạo ra chương
trình Học bổng miễn học phí, đem lại cơ hội học tập tốt như vậy. Em muốn gửi lời
cảm ơn đến các thầy cô của viện đã truyền tải những kiến thức quý báu. Chúc các
thầy cô luôn tràn đầy sức khỏe, nhiệt huyết và thành công.
Em xin gửi lời cảm ơn đến cô TS. Nguyễn Thị Oanh, thầy Th.S. Ngô Văn
Linh đã hướng dẫn, hỗ trợ em rất nhiều trong quá trình học tập và thực hiện đề tài.
Em xin gửi lời cảm ơn đến anh Nguyễn Hữu Thiện đã đưa ra cho em những lời
khuyên trong quá trình thực hiện đề tài. Con xin cảm ơn ba mẹ và anh đã nhiều lần
động viên trong quá trình học tập. Cảm ơn những người bạn đồng hành trong các
môn học, đặc biệt là bạn Đặng Trung Anh, bạn Nguyễn Hoàng Kỳ và bạn Nguyễn
Văn Minh. Cuối cùng, xin cảm ơn em, Nguyễn Thị Cẩm Vân, người luôn bên cạnh,
là nguồn động lực cho anh trong hành trình này.
Công trình nào cũng vậy, đều không tránh khỏi những thiếu sót. Tôi sẽ rất
vui và biết ơn nếu nhận được bất cứ góp ý nào về đề tài.
Xin chân thành cảm ơn!
Học viên
Phạm Văn Đạt
5
TÓM TẮT ĐỀ TÀI
Trong lĩnh vực Xử lý ngôn ngữ tự nhiên, tồn tại một nhóm bài toán
liên quan đến các sự kiện trong một câu hoặc giữa các câu. Thông thường ta sẽ có
một văn bản thô và giải quyết bài toán xác định các sự kiện xuất hiện trong các câu
của văn bản rồi từ đó nảy sinh các bài toán khác từ các cặp sự kiện được xác định
này. Bài toán mà luận văn này đề cập đến là một bài toán như vậy. Đó là bài toán
Phân loại cặp sự kiện có quan hệ nhân quả, gọi là bài toán gốc.
Trong luận văn này sẽ trình bày lý thuyết về biểu diễn văn bản dạng
(CAT-)XML format, Học máy, Mạng nơ-ron, đặc biệt là Mạng hồi quy (RNN) và
Mạng tích chập đồ thị (GCN). Từ cơ sở đó xây dựng các mô hình của chúng tôi.
Các mô hình mới được xây dựng sẽ là các mô hình học sâu, với thành phần cốt lõi
là Mạng LSTM, GCN, cùng với việc sử dụng kĩ thuật biểu diễn đầu word
embedding kết hợp với Position embedding. Ngoài ra, trong các mô hình cải tiến,
chúng tôi còn thử nghiệm kỹ thuật Kiểm soát biểu diễn câu. Đây là kĩ thuật nghiên
cứu sự biểu diễn của thành phần trong văn bản được kiểm soát bởi biểu diễn của
các từ sự kiện sẽ tác động thế nào đến mô hình phân loại.
Các thí nghiệm được thực nghiệm xuất phát từ mô hình cơ bản nhất không
có mạng GCN đến mô hình sử dụng GCN và đặc biệt là các mô hình Kiểm soát
biểu diễn câu. Qua quá trình tối ưu các tham số và đánh giá kết quả với mô hình
của một bài báo giải quyết bài toán tương tự, từ đây chúng tôi tìm ra được các điểm
mạnh về biểu diễn thông tin cấu trúc của mạng GCN và sự hiệu quả của các giả
thuyết về Kiểm soát biểu diễn câu.
6
DANH MỤC HÌNH VẼ
Hình 1.1 Ví dụ cấu trúc các sự kiện có quan hệ nhân quả trong văn bản ............ 10
Hình 2.1 Ảnh minh họa nơ-ron thần kinh và mô hình toán học ......................... 15
Hình 2.2: Minh họa mạng nơ-ron đơn giản (có 1 tầng ẩn) ................................. 15
Hình 2.3 Kiến trúc CBOW và kiến trúc Skip-gram ............................................ 17
Hình 2.4 Minh họa quan hệ của các từ trong qua biểu diễn word2vec ............... 18
Hình 2.5 Minh họa quan hệ tương tự theo chiều ................................................ 19
Hình 2.6 Cấu trúc mạng nơ-ron hồi quy tiêu chuẩn ............................................. 20
Hình 2.7 Nhân tanh trong mạng nơ-ron hồi quy .................................................. 21
Hình 2.8 Cấu trúc nhân của mạng LSTM 9 .......................................................... 21
Hình 2.9 Cell state trong mạng LSTM 10 ............................................................. 22
Hình 2.10 Forget gate trong nhân LSTM 10 ......................................................... 22
Hình 2.11 Input gate trong nhân LSTM 11 ........................................................... 23
Hình 2.12 Kết hợp tạo cell state mới trong nhân LSTM 11 .................................. 23
Hình 2.13 Output gate trong nhân LSTM ............................................................ 23
Hình 2.14 Minh họa sử dụng hàm Average nén thông tin trên đồ thị ................. 25
Hình 2.15 Ví dụ cấu cây phụ thuộc có cấu trúc như một đồ thị ......................... 26
Hình 2.16 Minh họa mô hình sử dụng dropout .................................................... 27
Hình 2.17 Ví dụ so sánh giữa Max pooling và average pooling .......................... 28
Hình 2.18 Mô hình EE-GCN .............................................................................. 32
Hình 3.1 Kiến trúc mô hình posGCN .................................................................. 35
Hình 3.2 Kiến trúc tầng biểu diễn câu ................................................................. 36
Hình 3.3 Các thành phần của position embedding .............................................. 37
Hình 3.4 Kiến trúc tầng biểu diễn cặp sự kiện ..................................................... 38
Hình 3.5 Kiến trúc Loss layers ............................................................................. 39
7
Hình 3.6 Cấu trúc chung của các mô cải tiến ...................................................... 41
Hình 3.7 Cấu trúc module sinh ra “Lỗi kiểm soát” trong mô hình posGCN-EC 43
8
DANH MỤC BẢNG
Bảng 4.1 Tập dữ liệu EventStory v0.9 .......................................................... 46
Bảng 4.2 Thống kê nhãn trên các tập con của Cách chia số 1 ...................... 48
Bảng 4.3 Thống kê các phần tập dữ liệu của Cách chia số 2 ........................ 48
Bảng 4.4 Các siêu tham số của mô hình posGCN ........................................ 50
Bảng 4.5 Các siêu tham số huấn luyện mô hình posGCN ............................ 50
Bảng 4.6 Kết quả của mô hình posGCN trên tập dữ liệu theo Cách chia số 2
.............................................................................................................................. 51
Bảng 4.7 Kết quả của mô hình posGCN trên tập dữ liệu theo Cách chia số 1
.............................................................................................................................. 52
Bảng 4.8 Kết quả của mô hình posGCN theo các giá trị số chiều vector position
embedding ............................................................................................................ 52
Bảng 4.9 Kết quả của mô hình posGCN theo các giá trị số câu hàng xóm lân
cận ........................................................................................................................ 53
Bảng 4.10 Kết quả của mô hình posGCN theo các giá trị số tầng của mạng
GCN ..................................................................................................................... 54
Bảng 4.11: Kết quả mô hình posGCN với các tham số tối ưu ...................... 54
Bảng 4.12 Các giá trị siêu tham số của thành phần mạng sinh “Lỗi kiểm soát”
ở các mô hình cải tiến .......................................................................................... 55
Bảng 4.13 Kết quả của các mô hình Kiểm soát biểu diễn câu ...................... 55
9
Chương 1: Giới thiệu bài toán
1.1 Đặt vấn đề
Trong lĩnh vực nghiên cứu các mô hình học máy, các bài toán phân loại
(classification) nói chung được coi là bài toán kinh điển, đóng vai trò quan trọng
trong các tác vụ về quản lý và trích rút thông tin. Từ những bài toán như phân loại
ảnh, phân loại giọng nói đến bài toán phân loại spam hay phân loại văn bản nói
chung. Trong một văn bản ta thường chú ý đến các sự kiện diễn ra trong văn bản.
Và khi kể lại, thuật lại ta thường tập chung nói về các sự kiện đó. Xuất phát từ thực
tế đó này sinh nên các bài toán nhằm xác định được các sự kiện có trong một văn
bản. Nhóm bài toán phát triển tiếp theo là phân loại và xác định các mối quan hệ
giữa các sự kiện đó. Một trong những loại mối quan hệ là quan hệ nhân quả. Dưới
đây là một ví dụ về một văn bản có các sự kiện và cấu trúc quan hệ nhân quả giữa
chúng.
1
Hình 1.1 Ví dụ cấu trúc các sự kiện có quan hệ nhân quả trong văn bản
Ta cùng phân tích ví dụ Hình 1.1, sự kiện chính là sự kiện kill được gắn với
các từ "killed", "killing" và "murder", mô tả việc một bà mẹ bị giết hại. Nó là kết
quả của các sự kiện gắn với các từ “crossfire”, “spraying”, “struct”. Sự kiện chính
1
Nguồn ảnh: Trong bài báo tham khảo (GAO, Lei, 2019) [6]
10
cũng dẫn đến sự xảy ra của một số sự kiện khác liên quan gắn với các từ “trial”,
“accuse”, ... . Trong ví dụ trên tồn tại nhiều cặp sự kiện có quan hệ nhân quả và
liên quan đến sự kiện chính. Từ đây kết hợp với các thực thể trong câu cùng với
các sự kiện có quan hệ nhân quả được xác định ta hoàn toàn có thể tạo một ứng
dụng như tóm tắt văn bản, phát hiện xu hướng, ... . Cụ thể bài toán cần giải quyết
(bài toán gốc) được định nghĩa như sau:
Cho các sự kiện trong một văn bản, hãy nhận diện toàn bộ các cặp sự kiện
có quan hệ nhân quả, bao gồm cả cặp sự kiện trong một câu hay cặp sự kiện ở liên
câu.
Như vậy, trên thực tế bài toán của luận văn là một bài toán dựa trên đầu ra
của bài toán khác. Đó là bài toán xác định các từ sự kiện có trong văn bản, bài toán
đã có nhiều mô hình giải quyết trước đó. Do đó, chúng ta sẽ cần đầu vào là một
văn bản và các từ sự kiện trong văn bản và đầu ra khi giải quyết được bài toán là
các cặp sự kiện có quan hệ nhân quả trong văn bản. Ở đây, quan hệ nhân quả mà
chúng ta cần xác định là tồn tại hoặc không tồn tại mà không cần phân biệt chiều
của quan hệ nhân quả.
Khó khăn của bài toán này thể hiện ở 2 điểm. Thứ nhất là số lượng cặp sự
kiện có quan hệ nhân quả là ít trên tổng số các cặp sự kiện của một văn bản. Thứ
hai là các cặp sự kiện có quan hệ nhân quả thường không có cách xác định rõ ràng
(như sử dụng từ khóa because, due to, then, ...). Ngoài ra, cách để biểu diễn được
thông tin về sự khác biệt giữa từ sự kiện và các từ thông thường cũng là một thách
thức.
1.2 Mục tiêu và phạm vi của luận văn
1.2.1 Mục tiêu của luận văn
Luận văn sẽ thực hiện các mục tiêu sau:
● Đề xuất một mô hình học sâu nhận đầu vào là các sự kiện có trong một văn
bản, thực hiện phân loại và gán nhãn có hoặc không là cặp sự kiện có quan
hệ nhân quả.
● Đánh giá mô hình đề xuất với các kết quả của các công trình được công bố
khác cùng giải quyết bài toán gốc.
● Thực hiện tối ưu mô hình đề xuất và xây dựng các mô hình cải tiến có độ
phức tạp tăng dần.
● Thực hiện các thí nghiệm cần thiết để làm rõ được điểm mạnh của các mô
hình mới và chỉ ra được tính đúng đắn của các giả thuyết.
11
1.2.2 Phạm vi của luận văn
Phạm vi bài toán
● Đầu vào của bài toán gốc: Một văn bản và các sự kiện trong văn bản
● Đầu ra của bài toán gốc: Các cặp sự kiện có quan hệ nhân quả trong văn
bản
Phạm vi của các mô hình đề xuất
Các mô hình đề xuất là các mô hình phân loại sử dụng học sâu. Cụ thể là
các mạng GCN [1], LSTM [2] , lan truyền tiến và các kĩ thuật trong học sâu như
pooling, hàm lỗi Cross Entropy, biểu diễn dữ liệu đầu vào với word2vec [3]. Ngoài
ra luận văn sẽ trình các kỹ thuật mới là nhúng thông tin vị trí từ (position
embedding), kiểm soát biểu diễn của từ (KSBD).
1.3 Định hướng phương pháp giải quyết
Luận văn được định hướng khai thác sâu khả năng biểu diễn thông tin cấu
trúc của mạng GCN. Áp dụng vào dữ liệu văn bản vốn thân thuộc với các mô hình
sử dụng mạng RNN. Nhằm giữ thêm thông tin về vị trí tương đối của các từ trong
văn bản với các từ sự kiện và các câu sự kiện chúng tôi thử nghiệm sử dụng position
embedding vào biểu diễn đầu vào của các từ. Ngoài ra, xuất phát từ các giả thuyết
của chúng tôi về sự liên quan nhất định giữa các từ sự kiện với các câu trong văn
bản, chúng tôi sẽ hình thành các mô hình thể hiện được các mối quan hệ này. Đảm
bảo rằng trong quá trình tối ưu mô hình các mối quan hệ này cũng ảnh hưởng đến
giá trị lỗi cần tối ưu.
12
Chương 2: Cơ sở lý thuyết
Trong chương Cơ sở lý thuyết này chúng tôi sẽ trình bày những lý thuyết
liên quan nhất đến dữ liệu đầu vào, các thuật toán, các mô hình được sử dụng trong
luận văn.
2.1 Biểu diễn tài liệu với định dạng (CAT-)XML
2.1.1 Tài liệu XML
XML [4] - Extensible Markup Language được sử dụng để mô tả dữ liệu.
Tiêu chuẩn XML là một cách linh hoạt để tạo ra các định dạng thông tin và chia sẻ
dữ liệu có cấu trúc. Tiêu chuẩn XML, được khuyến nghị sử dụng bởi World Wide
Web Consortium (W3C). Dữ liệu XML được gọi là tự mô tả hoặc tự định nghĩa,
có nghĩa là cấu trúc của dữ liệu được nhúng với dữ liệu, do đó khi nhận được file
dữ liệu XML không cần phải xây dựng trước cấu trúc để lưu trữ dữ liệu; nó được
hiểu tự động trong XML.
Phần tử cơ bản của một tài liệu XML là các thẻ. Một phần tử có một thẻ bắt
đầu và một thẻ kết thúc. Tất cả các phần tử trong một tài liệu XML được chứa
trong một phần tử ngoài cùng được gọi là phần tử gốc. XML cũng có thể hỗ trợ
các phần tử lồng nhau hoặc các phần tử bên trong các phần tử. Khả năng này cho
phép XML hỗ trợ các cấu trúc phân cấp. Tên phần tử mô tả nội dung của phần tử,
và cấu trúc mô tả mối quan hệ giữa các phần tử.
Một tài liệu XML được coi là "được định dạng tốt" (có nghĩa là, trình phân
tích cú pháp XML có thể đọc và hiểu được) nếu định dạng của nó tuân thủ đặc tả
XML, nếu nó được đánh dấu đúng cách và nếu các phần tử được lồng nhau đúng
cách. XML cũng hỗ trợ khả năng xác định các thuộc tính cho các phần tử và mô tả
các đặc điểm của các phần tử trong thẻ bắt đầu của một phần tử. Dưới đây là một
ví dụ đơn giản về nội dung của một tài liệu XML.


Hello, world!
Stop the planet, I want to get off!

13
2.1.2 Tài liệu định dạng (CAT-)XML
(CAT-)XML format là một tiêu chuẩn biểu văn bản, kế thừa từ biểu diễn
XML. Cấu trúc của một tài liệu theo định dạng (CAT-)XML format gồm những
thành phần sau. Thẻ gốc Document, trong thẻ gốc Document gồm các thẻ con:
token, Markables, Relations.
Thẻ token: trong thẻ token có các thuộc tính quan trọng như: t_id, sentence,
number giúp ta xác định được từ hiện tại có id từ trong văn bản, từ thuộc câu nào
và vị trí của từ trong câu.
Thẻ Markables: trong phần từ Markables có các thẻ con như:
ACTION_ASPECTUAL, ACTION_CAUSATIVE, ACTION_OCCURRENCE, …
giúp ta xác định được từ nào trong văn bản là từ sự kiện cũng như loại sự kiện mà
từ đó thể hiện. Ngoài ra, còn có các thẻ con như: HUMAN_PART_ORG,
HUMAN_PART_PER, LOC_FAC, TIME_DATE, … giúp ta xác định được các
thông tin về các từ chỉ người, địa điểm, thời gian trong văn bản.
Thẻ Relations: trong phần tử có các thẻ con như: TLINK, PLOT_LINK giúp
ta xác định các liên kết có trong văn bản giữa các từ. Một số loại liên kết như:
CONTAINS, PRECONDITION, FALLING_ACTION, CAUSES, CAUSED_BY,
...
Như vậy, với văn bản được biểu diễn bằng định dạng (CAT-)XML format
ta có được những thông tin rất cơ bản về mỗi từ của văn bản, đến những thông tin
sâu hơn về các loại từ, liên kết giữa các từ. Có thể nói đây là một định dạng biểu
diễn văn bản rất tốt.
2.2 Mạng nơ-ron
2.2.1 Tổng quan kiến trúc
Mạng nơ-ron (Neural network) cái tên được nhắc đến rất nhiều trong những
năm gần đây, vì những kết quả đột phá những mô hình này tạo ra trên rất nhiều
lĩnh vực bài toán khác nhau. Mạng nơ-ron được lấy ý tưởng từ cấu trúc nơ-ron
trong hệ thần kinh của con người.
14
Hình 2.1 Ảnh minh họa nơ-ron thần kinh và mô hình toán học 2
Thành phần nhỏ nhất của một mạng một nơ-ron. Theo Hình 2.1, các nơ-ron
này nhận các đầu vào, tổng hợp và biến đổi thành kết quả đầu ra tương tự như các
hoạt động của nơ-ron thần kinh. Có thể mô tả nơ-ron trong Hình 2.1 bằng phương
trình:
𝑦 = 𝑓(𝑤1 𝑥1 + 𝑤2 𝑥2 + … + 𝑤𝑛 𝑥𝑛 + 𝑏), PT 2.1
Trong đó, 𝑓 được gọi là hàm tác động (activation function),
𝑤1 , 𝑤2 , … 𝑤𝑛 , 𝑏(bias) là các tham số của mô hình. Có nhiều loại hàm tác động khác
nhau, các hàm này đóng vai trò chính trong việc xử lý tín hiệu đầu vào. Từ một
nơ-ron đơn lẻ này khi sử dụng nhiều nơ-ron sẽ hơn thành một tầng (layer), và nhiều
tầng sẽ thành một mạng (Hình 2.2). Với nhiều nơ-ron như vậy sẽ đem lại khả năng
tổng hợp, biểu diễn thông tin tốt hơn, đi cùng với đó thì số lượng tham số sẽ nhiều
hơn.
Hình 2.2: Minh họa mạng nơ-ron đơn giản (có 1 tầng ẩn) 3
2
Nguồn ảnh: https://hackernoon.com/how-do-artificial-neural-network-recognize-images-
c3699af0f553, ngày truy cập: 15-04-2021
3
Nguồn ảnh: https://www.banhoituidap.com/p/1750/mang-no-ron-nhan-tao-neural-networks-
trong-may-hoc-la-gi/, ngày truy cập: 15-04-2021
15
Cấu trúc mạng như Hình 2.2 gọi là mạng lan truyền tiến. Mỗi nơ-ron của
tầng i sẽ có một vector tham số có kích thước bằng số nơ-ron của tầng i + 1. Tập
hợp các tham số của một tầng ta sẽ có một ma trận tham số cho mỗi tầng. Có thể
mô tả tính toán từ tầng i có n nơ-ron sang tầng i + 1 có m nơ-ron như sau:
𝑖+1 𝑖 𝑖
𝑍𝑚 × 1 = 𝑓(𝑊𝑚 × 𝑛 × 𝑍𝑛 × 1 ) PT 2.1
Ở đây, chúng ta ngầm hiểu là đã cộng thêm bias ở mỗi chiều kết quả nhân
ma trận bên trong hàm tác động 𝑓 . Có nhiều loại hàm tác động với các tác động
khác nhau như, sigmoid, tanh, ReLU, ... Quá trình tính toán trên diễn ra lần lượt từ
tầng đầu vào, qua các tầng ẩn và đến tầng đầu ra. Tiếp theo chúng ta sẽ tìm hiểu
về cách huấn luyện các mô hình Mạng nơ-ron.
2.2.2 Huấn luyện mô hình
Các mô hình Học máy nói chung, đề cố gắng xây dựng một hàm F có khả
năng mô phỏng phân phối dữ liệu tốt nhất. Gọi hàm F* là hàm tốt nhất đó. Chúng
ta cần tìm ra các giá trị của các tham số của hàm F để hàm F càng tiệm cận hàm
F* càng tốt. Để đánh giá độ tiệm cận của 2 hàm này, người ta dùng các hàm lỗi
(loss function), giá trị hàm lỗi càng "nhỏ" thì hàm F càng tiệm cận F*. Đối với
những mô hình phức tạp, ta không thể giải trực tiếp đạo hàm hàm lỗi bằng 0 để có
được nghiệm (các giá trị của các tham số), thay vào đó phương pháp hay được
dùng là Gradient Descent để giải quyết. Cơ bản của phương pháp này là, với mỗi
tham số cần cập nhật, tính giá trị đạo hàm theo tham số đó, nhân giá trị đó với một
giá trị nhỏ (learning rate), cuối cùng cập nhập tích này vào giá trị cũ của tham số
cần cập nhật.
Đối với các mô hình Mạng nơ-ron, quá trình huấn luyện học mô hình cũng
dựa trên ý tưởng đó. Với mỗi ví dụ học qua quá trình lan truyền tiến như trình bày
ở Phần 2.2.1 chúng ta sẽ có giá trị đầu ra. Từ đó sử dụng hàm lỗi để tính độ sai
lệch so với đầu ra mong muốn. Để tính được giá trị đạo hàm của hàm lỗi theo các
tham số ở các tầng ẩn, người ta sử dụng quy tắc đạo hàm chuỗi (chain rule
derivation). Sử dụng phương pháp này giá trị hàm lỗi sẽ lan truyền ngược từ tầng
đầu ra (tầng tính giá trị hàm lỗi) vào các tầng ẩn bên trong, từ đó giúp tính được
giá trị đạo hàm của hàm lỗi theo các tham số bên trong tầng ẩn. Theo cách này toàn
bộ các tham số của mô hình sẽ được cập nhật. Quá trình này gọi lan truyền ngược
(back propagation). Mô hình sẽ được học qua quá trình lặp đi lặp lại của bước lan
truyền tiến và bước lan truyền ngược theo các ví dụ học.
16
2.2.3 Biểu diễn từ bằng word2vec
Từ ngữ là đơn vị nhỏ nhất mang ý nghĩa của một văn bản. Do vậy chúng ta
thường biểu diễn văn bản xuất phát từ từ ngữ. Có rất nhiều cách biểu diễn từ ngữ
để máy tính hiểu được như sử dụng túi từ. Đây là một các biểu diễn rời rạc không
thể hiện được sự liên quan giữa những từ gần nghĩa, trái nghĩa hay những từ hay
cùng xuất hiện. Dưới đây trình bày lý thuyết về các xây dựng biểu diễn của từ dưới
một vector để biểu diễn một từ trong một không gian liên tục.
Khởi đầu là mô hình kiến trúc cho xây dựng mô hình ngôn ngữ mạng nơ-
ron (neural network language model - NNLM), thành phần gồm một tầng tham
chiếu tuyến tính4, một tầng ẩn phi tuyến và một tầng đầu ra ở cuối. Tất các các tầng
tạo thành một mạng lan truyền tiến. Mô hình nhận đầu vào là các vector one-hot
của các từ ở trước và sau của từ đang xét và dự đoán từ đang xét. Mô hình này có
độ phức tạp tính toán lớn ở tầng ẩn phi tuyến khi kích thước của tầng này thường
từ 500 đến 1000, trong khi tầng tham chiếu tuyến tính phía trước nó có kích thước
thường từ 500 đến 2000.
Hình 2.3 Kiến trúc CBOW và kiến trúc Skip-gram 5
Thừa hưởng ý tưởng đó, bằng cách sử dụng một cấu trúc mạng đơn giản
hơn, mô hình word2vec làm giảm độ phức tạp tính toán trên mỗi ví dụ học, giúp
mô hình có thể học được trên tập dữ liệu lớn hơn. Hai kiến trúc của mô hình
word2vec được mô tả trong Hình 2.15, đó là kiến trúc của mô hình Continuous
Bag-of-Words Model (CBOW) và mô hình Continuous Skip-gram Model (Skip-
gram). Kiến trúc CBOW có ý tưởng tương tự như NNLM, nhưng loại bỏ đi tầng
4
Phép chiếu từ một vector one-hot vào một ma trận để lấy vector hàng ở vị trí tương ứng
5
Nguồn ảnh: https://www.researchgate.net/figure/Architecture-of-Word2Vec-models-CBOW-
and-Skip-Gram_fig3_328373466, ngày truy cập: 15-04-2021
17
phi tuyến. Ở tầng tham chiếu của kiến trúc CBOW các vector được chiếu của các
từ sung quanh được đưa vào tổng hợp và làm mất đi tính thứ tự, tính chất này tương
tự như mô hình túi từ trong các biển diễn văn bản của các mô hình học máy thông
dụng, nhưng nó vẫn là những biểu diễn liên tục vì không gian được chiếu là không
gian liên tục. Kiến trúc Skip-gram có ý tưởng ngược lại so với CBOW sử dụng
vector one-hot của từ hiện tại và dự đoán các từ trước và sau của từ hiện tại. Ma
trận được sử dụng để chiếu trong tầng tham chiếu chính là ma trận word2vec đầu
ra chúng ra cần xây dựng. Trên thực tế thử nghiệm thì mô hình Skip-gram cho
những biểu diễn từ tốt hơn.
Hình 2.4 Minh họa quan hệ của các từ trong qua biểu diễn word2vec 6
Những biểu diễn vector của từ trong ma trận word2vec có được những tính
chất đẹp như: những từ đồng nghĩa sẽ có khoảng cách vector gần, ngược lại cho
những từ trái nghĩa; các vector cùng biểu diễn một loại quan hệ từ các cặp từ thì sẽ
tương đồng nhau. Ví dụ trên Hình 2.4, ta thấy các cặp từ Paris-France, London-
England, chỉ quan hệ tên thủ đô và quốc gia tương ứng, các cặp từ này tạo ra các
vector tương tự nhau.
6
Nguồn ảnh: https://samyzaf.com/ML/nlp/nlp.html, ngày truy cập: 15-04-2021
18
Hình 2.5 Minh họa quan hệ tương tự theo chiều 7
Trên Hình 2.5 minh họa chi tiết hơn các đặc điểm tương tự giữa các từ theo
các chiều của vector word2vec. Các từ trong hình được được embedding thành các
vector có 4 chiều. Trong đó, ở chiều thứ ba, biểu diễn của cả 3 từ king, man, woman
có cùng giá trị. Ta có thể suy luận chiều thứ 3 trong các vector này ám chỉ từ ngữ
là con người. Tương tự, ở chiều thứ tư của 2 vector biểu diễn từ king và man có
cùng giá trị, nhưng vector biểu diễn của từ woman có giá trị đối lập, ta có thể hiểu
chiểu thứ tư này ám chỉ giới tính. Ta thấy, có rất nhiều ý nghĩa được phát hiện nằm
trên các chiều của vector biểu diễn bằng word2vec của các từ. Nhưng cũng có một
yếu điểm của việc sinh biểu diễn từ bằng word2vec đó là vấn để khởi tạo biểu diễn
ngẫu nhiên khi từ cần biểu diễn nằm ngoài từ điển.
Thực tế cho thấy, khi áp dụng biểu diễn từ vào không gian liên tự với
word2vec rất nhiều mô hình hiệu năng tốt đã ra đời. Sử dụng word2vec đã đóng
góp rất lớn cho sự phát triển của lĩnh vực xử lý ngôn ngữ tự nhiên.
2.2.4 Mạng nơ-ron hồi quy (Recurrent neural network)
Mạng nơ-ron hồi quy gốc
Khi xem một đoạn video, tại bất cứ thời điểm nào, chúng ta không dự đoán
hành động sẽ diễn ra trong frame tiếp theo từ chỉ một giây đơn lẻ trước đó. Chúng
ta phải hiểu và kết hợp các thông tin quan sát được từ các khung hình trước nó, đôi
khi là rất xa từ trước để có thể dự đoán được hành động trong frame tiếp theo.
7
Nguồn ảnh: https://jalammar.github.io/illustrated-word2vec/, ngày truy cập: 15-04-2021
19
8
Hình 2.6 Cấu trúc mạng nơ-ron hồi quy tiêu chuẩn
Mạng nơ-ron truyền thống không làm được điều đó, và đây được coi là một
khuyết điểm. Ví dụ, khi làm việc với dữ liệu văn bản, chúng ta muốn dự đoán từ
tiếp theo của từ hiện tại, nếu từ tiếp theo là giới tính (nam hoặc nữ), nhưng ta không
biết chủ ngữ ở các từ phía trước thì không thể đưa ra dự đoán đúng được. Mạng
hồi quy được ra đời để giải quyết điều này.
Như trên Hình 2.6, dữ liệu đầu vào của mạng hồi quy sẽ theo một chuỗi (𝑥0 ,
𝑥1 , 𝑥2 , ...) mạng hồi quy sẽ duyệt lần lượt theo các phần tử theo chuỗi. Mỗi bước
duyệt này được gọi là một bước thời gian. Tại bước thời gian thứ 𝑖 mạng hồi quy
sẽ kết hợp thông tin đầu ra của bước 𝑖 − 1và thông tin đầu vào của bước 𝑖 từ đó xử
lý thông tin và tạo thành đầu ra của bước thứ 𝑖. Có thể thấy thông tin được giữ lại
và truyền xuyên suốt từ bước thời gian đầu tiên đến bước thời gian cuối cùng.
Nhưng trên thực tế, với những chuỗi đầu vào dài và thông tin qua trọng nằm
ở các bước thời gian xa phía trước so với bước thời gian hiện tại, mạng hồi quy
thất bại trong việc học thông tin đó. Mặc dù trên lý thuyết thì mạng hồi quy hoàn
toàn có thể học được điều đó. Vấn đề này được gọi là "sự phụ thuộc dài hạn" (long-
term dependencies). Chính vì lý do đó, có sự ra đời của mạng Long Short Term
Memory.
Mạng Long Short Term Memory (LSTM)
Mạng LSTM là một dạng đặc biệt của mạng hồi quy, được giới thiệu bởi
Hochreiter & Schmidhuber (1997). Chúng được xây dựng để tránh vấn đề "sự phụ
thuộc dài hạn". Mạng LSTM được ứng dụng giải quyết nhiều bài toán và trở nên
phổ biến.
8
Nguồn ảnh: http://colah.github.io/posts/2015-08-Understanding-LSTMs, ngày truy cập: 15-04-
2021
20