Ngoài ra luận văn cũng tập trung vào vấn đề tạo ratập dữ liệu phù hợp với bài toán tóm tắt đề ra, từ đó nghiên cứu các mô hình thửnghiệm, giải pháp để xử lý nhằm nâng cao kết quả bài toá
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Giảng viên hướng dẫn: PGS.TS Nguyễn Thị Kim Anh
Chữ ký của GVHDViện: Công Nghệ Thông Tin và Truyền Thông
Hà Nội, 10/2020
Trang 2CỘ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 : Bùi Văn Tài
Đề tài luận văn: Tóm tắt văn bản theo hướng chủ đề sử dụng deep learningChuyên ngành: Hệ thống thông tin
Mã số SV: CBC19011
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ácgiả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 30/10/2020 vớicác nội dung sau:
Ngày tháng năm
Giáo viên hướng dẫn Tác giả luận văn
CHỦ TỊCH HỘI ĐỒNG
Trang 3Lời cảm ơn
Đầu tiên, em xin được gửi lời cảm ơn chân thành đến các thầy, cô giáo tại ViệnCông nghệ Thông tin và Truyền thông, trường đại học Bách Khoa Hà Nội Chínhcác thầy cô giáo đã giảng dạy cho em nhiều kiến thức quan trọng trong quá trình
em học tập và nghiên cứu tại trường Đồng thời em cũng xin được gửi lời cảm ơnđặc biệt đến cô PSG.TS Nguyễn Kim Anh là người đã hướng dẫn tận tình, cho emnhững kinh nghiệm quý giá giúp em có thể hoàn thành luận văn tốt nghiệp này
Em xin gửi lời cảm ơn chân thành tới gia đình và bạn bè Những sự động viêntinh thần to lớn từ mọi người luôn là động lực để em vượt qua khó khăn
Học viên: Bùi Văn Tài, CBC19011, khoá CLC2019B, lớp Hệ thống thông tin(Khoa Học)
Tóm tắt nội dung
Tóm tắt văn bản luôn là một bài toán thách thức cho lĩnh vực xử lý ngôn ngữ tựnhiên, đòi hỏi mô hình phải hiểu được về ngữ nghĩa, ngữ pháp, tính diễn ngôn củangôn ngữ Tuy đây là một vấn đề khó nhưng lại có rất nhiều ứng dụng trong thực
tế, giúp con người tiết kiệm thời gian không phải đọc hết các văn bản quá dài, màvẫn nắm được các ý chính của văn bản
Tuy nhiên các nghiên cứu chủ yếu tập trung về đơn tóm tắt, nghĩa là một vănbản chỉ sinh ra một bản tóm tắt duy nhất Nhưng thực tế, một văn bản có thể baogồm nhiều lĩnh vực, chủ đề khác nhau trong nội dung và cần có nhiều bản tóm tắtcho mỗi chủ đề đó Nhận thấy điều này nên luận văn sẽ trình bày về đề tài "Tómtắt văn bản theo hướng chủ đề sử dụng deep learning" Luận văn sẽ tổnghợp các nghiên cứu liên quan, đánh giá các khó khăn với bài toán sinh nhiều tómtắt cho các chủ đề riêng biệt Ngoài ra luận văn cũng tập trung vào vấn đề tạo ratập dữ liệu phù hợp với bài toán tóm tắt đề ra, từ đó nghiên cứu các mô hình thửnghiệm, giải pháp để xử lý nhằm nâng cao kết quả bài toán tóm tắt theo chủ đề
Trang 4Mục lục
1.1 Động lực nghiên cứu 9
1.2 Mục tiêu nghiên cứu 10
1.3 Đóng góp nghiên cứu 10
1.4 Cấu trúc luận văn 10
2 Cơ sở lý thuyết 12 2.1 Mạng neural nhân tạo 12
2.2 Kiến trúc mạng neural cơ bản [2] 13
2.3 Hàm tác động 14
2.3.1 Hàm tác động Sigmoid [2] 14
2.3.2 Hàm tác động ReLU [2] 14
2.4 Quy tắc học trọng số [1] 15
2.5 Mạng neural hồi quy 17
2.6 Long-short term memory 18
2.7 Mô hình encoder-decoder (seq2seq) 19
2.7.1 Bộ Mã Hóa (Encoder) 19
2.7.2 Bộ Giải Mã (Decoder) 20
2.7.3 Cơ chế Attention 20
2.8 Mô hình Transformer 24
2.8.1 Bộ mã hóa 24
2.8.2 Multi-Head Attention 26
2.8.3 Bộ giải mã 29
2.9 Các nghiên cứu liên quan 30
2.9.1 Tóm tắt trích chọn (extractive) 30
2.9.2 Tóm tắt tóm lược(abstractive) 34
3 Mô hình đề xuất 38 3.1 Vấn đề cần giải quyết 38
3.2 Mô hình tóm tắt hai pha 39
3.2.1 Mô hình trích chọn hướng chủ đề 39
3.2.2 Mô hình tóm lược hướng chủ đề 40
3.3 Mô hình tóm tắt kết hợp 44
Trang 54 Dữ liệu huấn luyện 474.1 Bộ dữ liệu thử nghiệm 474.2 Phương pháp đánh giá 514.3 Kết quả đánh giá 53
Trang 6Danh sách hình vẽ
1 Cấu trúc của một mạng neural [1] 13
2 Kiến trúc mạng neural cơ bản [2] 13
3 Hàm Sigmoid [2] 14
4 Hàm ReLU [2] 15
5 Kiến trúc mạng LSTM [5] 18
6 Mô hình encoder-decoder (seq2seq) [8] 19
7 Cơ chế attention[11] 21
8 Mô tả mối liên hệ giữa các từ khi được dịch từ tiếng Pháp sang tiếng Anh sử dụng thêm cơ chế ’chú ý’ [11] 23
9 Mô hình Transformer [13] 24
10 Bộ mã hóa của mô hình Transformer [13] 25
11 Cơ chế Scaled Dot-Product Attention và Multi-Head Attention [14] 26 12 Cơ chế self-attention [14] 27
13 Cơ chế self-attention [14] 27
14 Cơ chế Multi-Head Attention [14] 28
15 Bộ giải mã của mô hình Transformer [13] 29
16 Minh họa mô hình LDA với giá trị từng tham số [30] 31
17 Mô hình SummaRuNNer cho bài toán tóm tắt trích rút [15] 32
18 Mô hình BERTSUM [16] 33
19 Mô hình Seq2Seq với cơ chế ’chú ý’ [17] 35
20 Mô hình Pointer-Generator [17] 36
21 Mô hình trích chọn hướng chủ đề 39
22 Pointer-Generator kết hợp Transformer [21] 42
23 Mô hình tóm tắt kết hợp 44
24 Dữ liệu tóm tắt 47
25 Mô hình tạo dữ liệu tóm tắt 48
26 Thống kê số lượng từ trong các bản tóm tắt 50
27 Thống kê số lượng từ trong văn bản đầu vào 51
Trang 7Danh sách bảng
1 Từ khóa của các chủ đề khác nhau 30
2 Bộ dữ liệu BBC News qua xử lý 48
3 Bộ dữ liệu thử nghiệm 50
4 Kết quả thử nghiệm bước trích rút của mô hình hai pha 54
5 So sánh kết quả thử nghiệm ROUGE F1 bước trích rút mô hình hai pha 54
6 Kết quả so sánh thử nghiệm bước tóm lược của mô hình hai pha 54
7 Kết quả thử nghiệm của mô hình hai pha 55
8 Kết quả thử nghiệm của mô hình kết hợp 55
Trang 8Danh sách từ viết tắt
ANN Artificial Neural Network
LSTM Long Short-Term Memory
RNN Recurrent Neural Network
Seq2seq Sequence to Sequence
Trang 91 Tổng quan
1.1 Động lực nghiên cứu
Tóm tắt văn bản là một bài toán nghiên cứu quan trọng trong lĩnh vực xử lý ngônngữ tự nhiên, có tính ứng dụng rất lớn trong đời sống hiện đại Tóm tắt văn bảngiúp con người nhanh chóng tiếp cận các ý chính, nội dung nổi bật của tài liệu màkhông cần phải đọc toàn bộ, từ đó tiết kiệm được nhiều thời gian, công sức Ứngdụng của tóm tắt văn bản thể hiện trong nhiều lĩnh vực thực tế :
• Lĩnh vực báo chí: Trên các trang báo điện tử, ta có thể hiển thị các đoạn tómtắt của bài báo đó bên ngoài, để người đọc có thể nắm được nội dung chính
và quyết định sẽ bấm vào đọc chi tiết bài báo đó hay không Điều này tạo rấtnhiều thuận tiện cho độc giả tìm được nội dung phù hợp với mình
• Lĩnh vực phân tích: Ta luôn cần bản tóm tắt cho từng chủ đề, lĩnh vực trongmột bản báo cáo lớn, giúp người đọc có một cái nhìn tổng quát, nhanh chóng
về các vấn đề trình bày trong đó
• Lĩnh vực giáo dục: Trong các tác phẩm văn học, hay lịch sử có thể tạo ra cácbản tóm lược nội dung, điều này giúp ích cho học sinh nắm được các nội dungchính của bài học, tiếp thu kiến thức dễ dàng hơn
Với một mô hình tóm tắt, sẽ đem lại rất nhiều lợi ích:
• Khả năng nắm bắt thông tin: ta chỉ phải đọc một văn bản ngắn, súc tích vềnội dung đương nhiên sẽ giúp ta nhớ và nắm được các ý chính nhanh hơn
• Khả năng tìm kiếm: Thay vì phải tìm và đọc qua các văn bản dài và nhiều ý,
hệ thống có thể dựa vào các bản tóm tắt ngắn hơn để tìm kiếm các văn bảnnày, giúp tiết kiệm tài nguyên và thời gian
Những điều nêu trên đã thể hiện giá trị và tính ứng dụng lớn của tóm tắt vănbản trong thực tế Tuy nhiên vẫn còn rất nhiều thách thức như phải xử lý một vănbản có độ dài lớn, bản tóm tắt sinh ra chưa đủ nội dung chính, và bị khó đọc do sinhsai ngữ nghĩa, ngữ pháp Những khó khăn này đặt ra rất nhiều vấn đề cần nghiêncứu, giải quyết cho bài toán tóm tắt văn bản
Trang 101.2 Mục tiêu nghiên cứu
Khi đọc một văn bản hay tài liệu, hành vi phổ biến của con người là đọc lướt đểchọn lọc các thông tin quan trọng đáng chú ý hay phần thông tin mà mình quantâm Trong một tài liệu có thể bao gồm nhiều phần nội dung khác nhau về các chủ
đề khác nhau, mà có thể mỗi người quan tâm đến một chủ đề trong đó Điều đónảy sinh ra vấn đề ta cần phải tạo ra nhiều bản tóm tắt cho từng chủ đề trong vănbản, giúp bản tóm tắt tập trung, thể hiện những phần thông tin riêng biệt
Xuất phát từ những vấn đề đó, luận văn tập trung nghiên cứu bài toán sinh cáctóm tắt theo từng chủ đề của một văn bản Thay vì chỉ có một bản tóm tắt duynhất, ta sẽ thu được các bản tóm tắt theo từng chủ đề riêng biệt với nội dung chuyênbiệt Điều này giúp người đọc dễ dàng tập trung vào phần thông tin mà mình quantâm
Luận văn sẽ hướng tới kết hợp cả mô hình tóm tắt trích rút và tóm tắt tóm lượctheo chủ đề nhằm nâng cao chất lượng của các bản tóm tắt
1.3 Đóng góp nghiên cứu
Luận văn tập trung vào các nhiệm vụ chính:
• Xây dựng tập dữ liệu bao gồm các văn bản và các tóm tắt riêng biệt theo cácchủ đề Do sự hạn chế của dữ liệu, ta phải tự tạo tập dữ liệu phù hợp với bàitoán đề ra từ các tập dữ liệu công bố có sẵn
• Xây dựng mô hình tóm tắt theo các chủ đề bằng sự kết hợp của tóm tắt tríchrút và tóm tắt tóm lược Thực hiện huấn luyện mô hình theo các chiến lượckhác nhau nhằm tìm ra phương pháp nâng cao chất lượng các bản tóm tắt
1.4 Cấu trúc luận văn
• Phần mở đầu của luận văn trình bày về động lực, mục tiêu nghiên cứu củaluận văn
• Phần thứ hai sẽ là các khái niệm cơ bản, cơ sở lý thuyết về học máy, mạnghọc sâu và lý thuyết xử lý ngôn ngữ tự nhiên Phần này tập trung vào cáckiến thức cơ bản, mô hình nền tảng phục vụ cho các phần tiếp theo Trongmục này ta còn trình bày về các nghiên cứu liên quan đến bài toán tóm tắtvới hai phương pháp tóm tắt chính: trích rút và tóm lược
• Phần thứ ba trình bày về các mô hình giải quyết bài toán sinh nhiều tóm tắttheo các chủ đề, mô hình sẽ là sự kết hợp của cả mô hình tóm tắt trích rút và
mô hình tóm tắt tóm lược
Trang 11• Phần thứ tư đưa ra các cách thức sinh ra bộ dữ liệu đa tóm tắt theo từng chủ
đề cho mỗi một văn bản, phục vụ mục tiêu của nghiên cứu từ các bộ dữ liệu
có sẵn đã được công bố Thực hiện các thực nghiệm trên tập dữ liệu ta sinh
ra, từ đó so sánh và đưa ra đánh giá, nhận xét sự hiệu quả của từng mô hình
• Phần thứ năm ta sẽ tổng kết đưa ra kết luận của nghiên cứu, nhận xét vềnghiên cứu và mở ra các hướng phát triển tương lai cho bài toán
Trang 122 Cơ sở lý thuyết
2.1 Mạng neural nhân tạo
Mạng neural nhân tạo (Artificial Neural Network - ANN) [31] là mô hình xử lýthông tin mô phỏng dựa trên hoạt động của não con người, bao gồm số lượng lớncác neural được liên kết qua nhiều lớp để xử lý thông tin ANN giống như bộ nãocon người, nó được cập nhập, học hỏi nhờ vào việc huấn luyện, có khả năng lưu giữnhững hiểu biết và sử dụng trong việc xử lý các dữ liệu chưa biết sau này Cấu trúccủa ANN giúp hỗ trợ việc xử lý thông tin song song ở mức cao, có khả năng họchỏi, ghi nhớ, và tổng quát từ dữ liệu học bằng cách tự điều chỉnh các giá trị trọng
số của các liên kết giữa các neural Chức năng của một mạng ANN xác định bởi:kiến trúc của mạng neural, đặc tính vào ra của mỗi neural, chiến lược huấn luyện
và dữ liệu học
Cấu trúc của một nơ-ron nhân tạo bao gồm:
- Dữ liệu vào (Inputs): Mỗi Input ứng với 1 thuộc tính của dữ liệu
- Kết quả (Outputs): Kết quả của một ANN là một giải pháp cho bài toán, cóthể là một phân bố xác suất,
- Trọng số liên kết: nó thể hiện mức độ quan trọng của dữ liệu đầu vào đối vớiquá trình xử lý, lan truyền giữa các lớp
- Hàm tổng (Summation Function): Là hàm tích hợp của các tín hiệu đầu vào
- Hàm truyền hay hàm kích hoạt (Active function): Hàm này được dùng để giớihạn phạm vi đầu ra của mỗi nơ-ron Thông thường, phạm vi đầu ra của mỗi nơ-ronđược giới hạn trong đoạn [0,1] hoặc [–1,1] Có rất nhiều loại hàm truyền, việc lựachọn hàm nào tùy thuộc vào từng yêu cầu của bài toán
Trang 13Hình 1: Cấu trúc của một mạng neural [1]
2.2 Kiến trúc mạng neural cơ bản [2]
Hình 2: Kiến trúc mạng neural cơ bản [2]
Mạng neural là sự kết hợp của nhiều tầng, bao gồm ba tầng chính:
+ Tầng đầu vào (input layer): Là tầng đầu tiên, nhận các dữ liệu đầu vàocủa mạng
+ Tầng đầu ra (output layer): Là tầng cuối cùng, thể hiện đầu ra của mạng.+ Tầng ẩn (hidden layer): Tầng nằm giữa tầng vào và ra của mạng, biểu thịcho sự liên kết giữa các neural trong mạng
Ở mỗi tầng trong mạng, số lượng neural có thể khác nhau phụ thuộc vào bàitoán cụ thể Các neural trong các tầng có sự liên kết với nhau Trong trường hợpmọi neural của một tầng liên kết với các neural của tầng kế tiếp ta sẽ có mạng kếtnối đầy đủ (full-connected network) [36]
Trang 14Tại đầu ra của mỗi neural trong các tầng ẩn, chúng đều đi qua một hàm phituyến gọi là hàm tác động (activation function) và được sử dụng làm đầu vào chotầng tiếp theo Ta sẽ tìm hiểu các hàm tác động hay sử dụng trong mạng neural.
2.3.1 Hàm tác động Sigmoid [2]
Khi đầu vào và đầu ra của mạng có dạng nhị phân, ta khó có thể điều chỉnh đầuvào để tác động đến đầu ra, nên để linh hoạt, ta có thể mở rộng giá trị ra khoảng[0,1] Hàm số có dạng f (x) = 1/(1 + e−αx)
2.3.2 Hàm tác động ReLU [2]
Hàm tác động ReLU được sử dụng rộng rãi vì tính đơn giản của nó Đồ thị hàmReLU được vẽ minh họa như hình bên
Công thức toán học của hàm ReLU: f (s) = max(0, s) ReLU được chứng minh
là giúp cho việc huấn luyện các mô hình học sâu nhanh hội tụ hơn Sự tăng tốc củaReLU được giải thích vì tính toán của hàm ReLU gần như ngay lập tức, đạo hàm
Trang 15Ta sẽ xét đến một khái niệm Gradient [32] Gradient của E(kí hiệu là ∇E) làmột vector có hướng chỉ đi lên và có độ dài tỷ lệ thuận với độ dốc Gradient ∇Exác định hướng gây ra việc tăng nhanh nhất với giá trị lỗi E.
Trang 16∆w = −η.∇E(w)
∆wi = −η.δE
δwiNhưng trong học máy và học sâu, công việc tìm giá trị cực tiểu toàn cục khôngphải bao giờ cũng dễ dàng, vì vậy ta nghĩ đến dùng một thuật toán để có thể tìmcác giá trị gần với giá trị cực tiểu nhất có thể
Gradient Descent [33] là một thuật toán tối ưu lặp (iterative optimizationalgorithm) được sử dụng trong các bài toán học máy và học sâu để tìm điểm cựctrị
Giả sử ta cần tìm cực tiểu toàn cục cho hàm J (θ), trong đó θ là một vector Đạohàm tại một điểm: ∇θJ (θ) Bắt đầu với một điểm khởi đầu ∇0 Sau vòng lặp thứ t,cập nhập sẽ là:
θt+1= θt− η.∇θJ (θ)
Vòng lặp sẽ dừng lại khi đủ số vòng lặp hoặc đạt ngưỡng lỗi mong muốn Tacũng cần lưu ý các yếu tố ảnh hưởng đến quá trình học:
• Điểm khởi tạo ban đầu: lựa chọn điểm khởi tạo này có thể ảnh hưởng đến tốc
độ học của thuật toán, nếu chọn điểm không tốt sẽ khiến thuật toán mắc kẹt
và thực hiện trên toàn bộ batch của tập dữ liệu Mỗi lần duyệt hết tập dữ liệu gọi
là một epoch Các thuật toán tối ưu được sử dụng rộng rãi như: Stochatic GradientDescent (SGD), Adagrad, Adam, RMSprop, phù hợp với các bài toán học sâu cần
dữ liệu lớn và các bài toán mô hình thay đổi liên tục
Giải thuật lan truyền ngược (Back Proparation) [34]: Với các giải thuậttối ưu như Gradient Descent thì chỉ áp dụng được cho trọng số của tầng đầu ra
Trang 17(output) vì hàm mất mát không phụ thuộc trực tiếp vào các hệ số Vậy để học đượccác trọng số của các tầng ẩn trước đó ta phải tính gradient ngược từ layer cuối lênđầu và dựa vào quy tắc đạo hàm hàm hợp Giải thuật lan truyền ngược gồm 2 bước:+ Lan truyền tiến tín hiệu (signal forward): các tín hiệu đầu vào được lan truyềntiến từ tầng đầu vào đến tầng đầu ra, đi qua các tầng ẩn.
+ Lan truyền ngược lỗi: dựa vào đầu ra mong muốn, hệ thống tính toán giá trịlỗi Từ tầng đầu ra, lỗi được lan truyền ngược qua mạng, qua các tầng Điều nàyđược thực hiện thông qua việc tính toán truy hồi các giá trị gradient ở mỗi liên kết.Trong các mạng neural truyền thống tất cả các đầu vào và đầu ra là độc lập vớinhau, không có mối liên kết thành chuỗi với nhau Mô hình này không phù hợp vớicác bài toán trong lĩnh vực ngôn ngữ tư nhiên như: sinh văn bản, dịch máy, Từ đócần đề xuất các mô hình mới cho dữ liệu dạng tuần tự như văn bản, âm thanh Tagọi là mạng neural hồi quy
2.5 Mạng neural hồi quy
Mạng neural hồi quy (Recurrent neural network)-RNN là mạng được sử dụng chocác bài toán có dữ liệu dạng chuỗi, đề xuất bởi Elman,1990 [3] Mạng RNN đượcgọi là hồi quy bởi vì nó thực hiện tính toán trên toàn bộ các phần tử của chuỗi vớiđầu ra phụ thuộc vào các phép tính trước đó Hay nói cách khác, RNN có khả nănglưu trữ thông tin khi lần lượt qua các phần tử Mô hình triển khai tính toán theocác bước sau:
• xt là đầu vào tại bước t
• st là trạng thái ẩn tại bước t, đây được coi là ’bộ nhớ’ của mạng st tínhtoán dựa trên các trạng thái ẩn phía trước và đầu vào tại bước đó: st =
f (U xt+ W st−1) Hàm f là các hàm phi tuyến như tanh hay ReLu
• Đầu ra tại bước thứ t: ot = σy(V st)
Với U, W, V là các ma trận trọng số
Trên lý thuyết, RNN có khả năng sử dụng được thông tin của toàn bộ văn bản,tuy nhiên thực tế kiến trúc RNN khi gặp chuỗi quá dài sẽ gặp vấn đề tiêu biến đạohàm (vanishing gradient) [35] Khắc phục những nhược điểm trên, mạng Long-shortterm memory (LSTM) được đề xuất trong nghiên cứu của Hochreiter và cộng sự,
1997 [4]
Trang 182.6 Long-short term memory
LSTM cho thấy khả năng lưu trữ thông tin khi qua số lượng bước dài hơn với cơ chế
’nhớ’ và ’quên’ Kiến trúc LSTM khác biệt so với RNN truyền thống khi bổ sungthêm các cổng ’quên’ ft, cổng đầu vào it, cổng đầu ra ot Các cổng này có nhiệm vụ
xử lý các giá trị truyền vào tại bước t: đầu vào xt, trạng thái ẩn ở bước trước đó
để mô hình học được sự liên kết các chuỗi đầu vào đa dạng hơn Đây là kiến trúcMulti-layer BiLSTM giới thiệu trong nghiên cứu của Graves và đồng nghiệp, 2013[6] Ở đây, các trạng thái ẩn tại bước t là sự kết hợp của hai chiều thuận và ngược
Trang 19ra Từ đó mô hình sinh văn bản chuỗi ra chuỗi(sequence to sequence) được đề xuấttrong nghiên cứu Ilya Sutskever và đồng nghiệp tại Google, 2014 [7].
2.7 Mô hình encoder-decoder (seq2seq)
Mô hình sinh văn bản đầu cuối (end to end) với cấu trúc gồm hai phần mã hóa(encoder) và giải mã (decoder) để giải quyết bài toán chuỗi kí tự [7] Cả hai thànhphần này đều được hình thành từ các mạng neural, trong đó bộ mã hóa có nhiệm
vụ biến đổi dữ liệu đầu vào (input sequence) thành một biểu diễn vector còn bộ giải
mã có nhiệm vụ tạo ra chuỗi kí tự từ chính biểu diễn này
Hình 6: Mô hình encoder-decoder (seq2seq) [8]
2.7.1 Bộ Mã Hóa (Encoder)
Bộ mã hóa có thể là một mạng LSTM, RNN hoặc GRU, với nhiệm vụ biểu diễnchuỗi đầu vào Với câu đầu vào, ta sẽ lần lượt đi qua lớp biểu diễn từ (embeddinglayer) và đưa vào phần mã hóa Chúng ta sẽ tạo thêm kí tự thông báo bắt đầu củachuỗi đầu vào (<sos>) và kết thúc (<eos>) Tại mỗi bước, đầu vào của mỗi RNNbao gồm biểu diễn từ của từ xt hiện tại - e(xt) và các trạng thái ẩn của các bướctrước đó - ht−1 Kết quả đầu ra là một trạng thái ẩn mới ht Ta có thể coi như làmột vector biểu diễn của chuỗi từ phía trước nó RNN được biểu diễn như một hàmcủa e(xt) và ht−1:
Trang 20sử dụng trạng thái cuối cùng này, hT, như là một vector ngữ cảnh đầu vào (contextvector) - hT = z Đây chính là vector biểu diễn của toàn bộ chuỗi kí tự đầu vào.
2.7.2 Bộ Giải Mã (Decoder)
Qua bộ mã hóa, ta có được vector biểu diễn của toàn bộ chuỗi kí tự đầu vào, z Ta
sẽ đưa qua bộ giải mã để nhận được chuỗi kí tự đích mong muốn Tương tự như
bộ mã hóa, ta cũng thêm vào các kí tự thông báo bắt đầu và kết thúc chuỗi Tạimỗi bước, đầu vào của bộ giải mã RNN là biểu diễn của từ yt hiện tại d(yt), trạngthái ẩn từ bước trước đó st−1 Trạng thái ẩn khởi tạo của bộ giải mã ban đầu bằngvector ngữ cảnh đầu vào s0 = z = hT, hay chính là trạng thái ẩn cuối cùng của bộ
mã hóa Do đó, tương tự ta có thể biểu diễn bộ giải mã dưới dạng:
Trong bộ giải mã, các từ trong chuỗi đích được sinh ra lần lượt tại mỗi một bước
Vì vậy ta luôn thêm kí tự thông báo bắt đầu chuỗi < sos > cho từ đầu tiên của bộgiả mã - y1 Với các bước tiếp theo ytgt;1, chúng ta có thể sử dụng cả các từ thực sự
là từ tiếp theo trong chuỗi đích yt hoặc sẽ đẩy vào từ mà bộ giải mã dự đoán ra ởbước trước đó ˆyt−1 Đây gọi là phương pháp Teacher Forcing [9]
Khi mô hình sinh ra chuỗi dự đoán ˆY = {ˆy1, ˆy2, , ˆyT}, ta so sánh chúng vớichuỗi kí tự đích thực sự, Y = {y1, y2, , yT} để tính hàm lỗi Ta sẽ sử dụng hàm lỗicross-entropy để cập nhập trọng số của toàn bộ tham số trong mô hình
2.7.3 Cơ chế Attention
Trong mô hình seq2seq sử dụng RNN/LSTM, toàn bộ thông tin của chuỗi đầu vàođược mã hóa bằng một vector ngữ cảnh đầu vào duy nhất, điều này hạn chế lượngthông tin truyền sang bên bộ giải mã Tuy sử dụng mạng LSTM có nhiều cải tiến
so với RNN thông thường để tránh hiện tượng tiêu biến đạo hàm khi gặp phải chuỗiquá dài nhưng thực sự chưa hiệu quả
Từ đó nghiên cứu của Bahdanau và đồng nghiệp, 2015 [10] đề xuất một cơ chếgọi là ’attention’ - ’chú ý’, giúp mô hình chú trọng vào những thành phần quantrọng, sự liên kết giữa các từ trong cả chuỗi nguồn và đích
Trang 21Hình 7: Cơ chế attention[11]
Ta sử dụng tất cả các đầu ra qua từng bước của bên bộ giải mã, kết hợp vớitrạng thái ẩn của từng bước của bộ mã hóa để "tổng hợp"ra một vector ’chú ý’ vàdùng nó làm đầu vào cho từng bước trong bộ giải mã
Ta có một chuỗi đầu vào với độ dài n, và một chuỗi đích tương ứng với có độ dài m:
x = {x1, x2, , xn}
y = {y1, y2, , ym}
Mỗi đầu ra của bộ giải mã phụ thuộc vào từ trước đó yi−1 , trạng thái ẩn củabước trước si−1 và vector ngữ cảnh đầu vào:
p(yi|{y1, , yi−1}, x) = g(yi−1, si−1, ci)
Vector ngữ cảnh đầu vào thay vì chỉ là trạng thái ẩn cuối cùng của bộ mã hóa,trong cơ chế ’chú ý’ sẽ được tạo ra bằng tổng trọng số của các đầu ra bên bộ giải
mã tại bước thứ j
Trang 22ci =PT x
j=1αijhj
với αij = eij
P T
k=1 exp(e ij ) và eij = a(si−1, hj)
Tại đây a(si−1, hj) là hàm đánh giá mức độ tương quan của từ tại vị trí j của
bộ mã hóa với từ dự đoán tại vị trí i của bộ giải mã bằng việc gán một trọng số
αij Nó được gọi là mô hình liên kết (alignment model), có nhiều cách chọn mô hìnhkhác nhau được đề xuất trong nghiên cứu của Bahdanau và đồng nghiệp (2015) [10],Luong và đồng nghiệp (2015) [12]
Trang 23Hình 8: Mô tả mối liên hệ giữa các từ khi được dịch từ tiếng Pháp sang tiếng Anh
Trang 24Hình 9: Mô hình Transformer [13]
2.8.1 Bộ mã hóa
Bộ mã hóa của mô hình Transformer không mã hóa toàn bộ thông tin của chuỗiđầu vào X = (x1, , xn) thành một vector ngữ cảnh đầu vào duy nhất, z mà tạo ramột chuỗi các vector ngữ cảnh Z = (z1, , zn) Trong kiến trúc RNN, trạng thái ẩntại t sẽ chỉ tính toán từ kí tự xt và toàn bộ các kí tự trước nó, còn với Transformer
Trang 25Hình 10: Bộ mã hóa của mô hình Transformer [13]
mỗi một vector ngữ cảnh sẽ nhìn toàn bộ dữ liệu đầu vào, để mô hình hiểu được
về vị trí của các kí tự trong chuỗi, kiến trúc xuất hiện thêm một lớp mã hóa vị trí(Position Embedding)
P E(pos,2i) = sin(pos/100002i/dmodel)
P E(pos,2i+1)= cos(pos/100002i/dmodel)với dmodel là số chiều của vector biểu diễn từ của mô hình
Ta luôn có một bước cộng thêm vector mã hóa vị trí vào các vector biểu diễn từcủa bộ mã hóa và giải mã để đưa thêm yếu tố thời gian vào mô hình làm tăng độchuẩn xác Đây là phép cộng vector mã hóa vị trí của từ trong câu với vector biểudiễn từ
Bộ mã hóa: là sự xếp chồng lên nhau của các lớp xác định Mỗi lớp bao gồm
Trang 262 lớp con (sub-layer) trong đó lớp con đầu tiên là multi-head attention - một
cơ chế đặc biệt trong Transformer Lớp thứ 2 đơn thuần chỉ là lớp kết nối đầy
đủ (fully-connected layer) Ta sẽ sử dụng một kết nối dư (residual) ở mỗi lớp conngay sau lớp chuẩn hóa (layer normalization) Ta có đầu ra của mỗi lớp con làLayerNorm(x+Sublayer(x)) có số chiều là 512 theo như bài báo
2.8.2 Multi-Head Attention
Multi-head Attention [13] là một cơ chế đặc biệt được giới thiệu trong mô hìnhTransformer
Hình 11: Cơ chế Scaled Dot-Product Attention và Multi-Head Attention [14]
Scaled Dot-Product Attention
Đây là một cơ chế ’tự chú ý’ (self-attention) khi mỗi từ có thể điều chỉnh trọng sốcủa nó cho các từ khác trong câu sao cho từ ở vị trí càng gần nó nhất thì trọng sốcàng lớn và càng xa thì càng nhỏ dần Sau khi từ đi qua lớp biểu diễn từ ta có đầuvào của bộ mã hóa là ma trận X kích thước m × n với m, n lần lượt là là độ dài câuđầu vào và số chiều của một vector biểu diễn Với mỗi một từ, ta sẽ tạo ra vector
’hỏi’(query), vector ’khóa’(key), vector ’giá trị’(value) bằng cách nhân ma trận biểudiễn với ba ma trận trọng số được huấn luyện trong quá trình học
Trang 27Hình 12: Cơ chế self-attention [14]
Đầu vào để tính giá trị ’chú ý’ sẽ bao gồm ma trận Q (mỗi dòng của nó là mộtvector ’hỏi’ đại diện cho các từ của chuỗi đầu vào), ma trận K (tương tự như matrận Q, mỗi dòng là một vector ’khóa’ đại diện cho mỗi từ) Hai ma trận Q, K được
sử dụng để tính ma trận ’chú ý’ mà các từ trong câu trả về độ liên quan, chú ý vớimột từ cụ thể
Hình 13: Cơ chế self-attention [14]
Vector ’chú ý’ sẽ được tính dựa trên trung bình có trọng số của các vector ’giá trị’trong ma trận V với trọng số ’chú ý’ (được tính từ Q,K):
Trang 28Attention(Q, K, V ) = sof tmax(QK
T
√
dk )VViệc chia cho dk là số chiều của vector ’khóa’ nhằm mục đích giảm độ lớn của phéptính toán
Multi-Head Attention
Sau bước Scaled Dot-Production ta sẽ thu được một ma trận ’chú ý’ Các tham số
mà mô hình cần học chính là các ma trận Wq, Wk, Wv Mỗi bộ tham số như vậyđược gọi là một phần ’chú ý’(head attention) Ta lặp lại quá trình này nhiều lần tathu được Multi-Head Attention
Hình 14: Cơ chế Multi-Head Attention [14]
Cơ chế này giúp cải thiện hiệu quả của lớp ’chú ý’ theo hai hướng:
• Mô hình có khả năng tập trung vào nhiều vị trí các từ trong câu Giúp môhình nhận biết được các từ ở vị trí khác nhau mối liên hệ như thế nào Ví dụ: "The dog didn’t cross the street because it was too tired" Ta sẽ muốn biết
từ "It"là thay thế của từ nào "the dog"hay "the street"
• Với cơ chế Multi-Head attention, ta sẽ có nhiều bộ ma trận trọng số Q/K/V
và mỗi bộ trọng số này ban đầu được khởi tạo ngẫu nhiên Sau đó trong quátrình huấn luyện mỗi lần sẽ chiếu biểu diễn của chuỗi nguồn vào các khônggian biểu diễn khác nhau Điều này giúp mô hình nhìn dữ liệu với các khônggian, và góc nhìn khác nhau, làm đa dạng thông tin, đặc trưng của dữ liệu
Trang 292.8.3 Bộ giải mã
Hình 15: Bộ giải mã của mô hình Transformer [13]
Bộ giải mã nhận biểu diễn của câu nguồn từ bộ mã hóa, Z và xử lý để dự đoán các
từ trong câu đích ˆY Ta sẽ so sánh ˆY với chuỗi kí tự trong câu đích, Y để tính hàmlỗi và cập nhập trọng số để cải thiện dự đoán của mô hình
Kiến trúc của bộ giả mã tương tự bộ mã hóa, khác là bộ giải mã có hai lớpMulti-head attention Lớp đầu tiên là Masked multi-head cho toàn bộ câu đích, cótác dụng điều chỉnh để không tính các từ trong tương lai vào vector ’chú ý’ của bướchiện tại Nghĩa là tại bước thứ i của bộ giải mã mô hình chỉ được biết các từ ở vịtrí trước đó
Trang 302.9 Các nghiên cứu liên quan
Tóm tắt văn bản luôn được các nhà nghiên cứu quan tâm, và rất nhiều các phươngpháp, mô hình được đề xuất, công bố nhằm giải quyết bài toán này Tóm tắt văn bảnchia ra làm hai phương pháp chính: trích chọn (extractive) và tóm lược (abstractive),hai phương pháp đều đạt được những kết quả nhất định Tuy nhiên hầu hết cácnghiên cứu chỉ tập trung vào sinh đơn tóm tắt mà chưa có yếu tố chủ đề Các nghiêncứu sinh đa tóm tắt theo chủ đề còn rất ít được tâp trung, và công bố
2.9.1 Tóm tắt trích chọn (extractive)
Trong nghiên cứu của Lin và Hovy, 2000 [26] đã đề xuất một phương pháp tóm tắttrích chọn chủ đề dựa vào tần suất xuất hiện của các từ Ta sẽ có một tập các vănbản thuộc về cùng một chủ đề t, được kí hiệu là St
Tại đây mỗi chủ đề sẽ được biểu diễn bởi một vector et = (n1, n2, , nv) với
v = |V | là kích thước của từ điển V = w1, w2, , wv và ni là số lần xuất hiện của từ
wi trong tập St Ta cũng chuẩn hóa vector et để có tổng các thành phần bằng 1.Với mỗi một văn bản, ta tách thành các câu riêng biệt, với mỗi một câu ta tạomột vector bag-of-word vs (chứa số lượng các từ xuất hiện trong câu) và cũng chuẩnhóa để tổng các thành phần bằng 1 Ta tính phép tích vô hướng của vector biểudiễn câu với vector biểu diễn của từng chủ đề < vs, et > Từ kết quả này sẽ quyếtđịnh các câu trong văn bản thuộc về bản tóm tắt theo chủ đề nào
Đây là môt phương pháp dựa vào tần xuất hiện của các từ để tạo vector biểudiễn câu so với vector biểu diễn của chủ đề
Trong nghiên cứu tiếp theo của Conroy và đồng nghiệp, 2006 [27] cũng đã hướngđến việc tóm tắt trích chọn theo hướng chủ đề nhưng dựa vào các từ khóa của chủ
đề (topic-signature) thay vì tần suất của các từ
business stock, firm, rate, google, worth, companies,
entertainment actor, star, league, movie, will, taylor,
politics party, campaign, secretary, democrats, bill, congress, sports scored, united, league, cup, england, beat, game,
technology app, solar, launch, ipod, app, earth, energy, oil,
Bảng 1: Từ khóa của các chủ đề khác nhau
Các từ khóa của chủ đề là tập hợp các từ liên quan đến chủ đề đó Đối với bất
kỳ một câu nào đã cho, số từ khóa của mỗi chủ đề trong câu được tính toán Câuđược chỉ định thuộc về chủ đề có số lượng từ khóa lớn nhất Viêc xác định tập hợp