Ở chương này, trình bày khái quát mô hình Encoder-Decoder [3], mô hình Pointer Generator với cơ chế Coverage [4] và cơ sở lý thuyết của cấu trúc Neural Semantic Encoder (NSE) [5] với các cải tiễn. Cuối cùng, đề xuất cấu trúc áp dụng
cho bài toán là Hierarchical NSE [6].
3.1. Mô hình Encoder-Decoder
Trong lĩnh vực NLP, Encoder-Decoder hay còn gọi là sequence-to-sequence
(seq2seq) là một mô hình đã được đề xuất và phát triển từ lâu để giải quyết các bài toán đặc trưng như: dịch máy (Machine Translate), tốm tắt văn bản (Text
Summarize), robot tra lời tự động (chatbot) và đã đạt được những thành công nhất
định. Với mục đích cần phát sinh một chuỗi đầu ra từ một chuỗi đầu vào cho trước,
mô hình Encoder-Decoder sử dụng hai mạng neural truy hồi (Recurrent Neural
Network) đóng vai trò là các bộ mã hóa, giải mã tương ứng. Mục này sẽ trình bày
khái quát về mạng neural truy hồi và mô hình Encoder - Decoder với kỹ thuật attention, sau đó sẽ phân tích những hạn chế của mô hình này đối với bài toán tóm tắt
văn bản tự động.
3.1.1. Mạng neural truy hồi
Lần đầu được đề xuất vào năm 1982 bởi John Hopfield [7], được ứng dụng rộng rãi trong những năm gần đây trong lĩnh vực NLP. Mạng RNN có thể mô hình hóa được bản chất của dữ liệu trong các đoạn văn bản hoặc chuỗi từ (có tính chuỗi và các thành phần như từ, cụm từ trong dữ liệu phụ thuộc lẫn nhau) thông qua việc thực hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi với đầu ra phụ thuộc vào tất cả
các phép tính trước đó. Nói cách khác, RNN có khả năng nhớ các thông tin được tính toán trước đó.
Mạng RNN nhận vào một chuỗi các vector x¡,..., xạ và trả về một vector yp,
sô chiêu của hai vector xi va yi không nhât thiệt phải băng nhau. Ví dụ dau vào là một
câu gồm nhiều từ, mỗi từ được biéu diễn băng một vector ngữ nghĩa (có thé là one-
10
hot vector hoặc được tạo bởi các mô hình pre-trained như GloVe, word2vec), mô
hình sử dụng một đơn vị RNN có bản chất là một hàm đệ quy để tính trạng thái đầu
ra dựa vào trạng thái trước va dau vào hiện tại. Cụ thê như sau:
yi y2 y3 Y4 ys
Yi A A A
⁄ NN so—>| RO 4! Ro 4! Ro |3.) Ro U4! Ro Less
Sj-1 - R,O | > Sị k i r k
4 XỊ Xa x3 X4 X5
9 Xj 0
(a) (b)
Hình 3.1: Minh họa cấu trúc mạng RNN [8]
(a) Một mạng RNN với Xj, sị, Vị lần lượt là vector của từ dau vào tại thời điểm i,
trạng thái ân của mang tại thời diém i và vector đâu ra tại thời diém i.
(b) Minh họa mạng RNN khi duối thăng, 6 là tham số của mạng.!
Yn = RNN"(® Sion) (1)
yi = 0(s¡) (2)
sj = R(Si-1, i) (3)
xi E Riin ; yi € Roout ; 5, € Rf Gout)
Hàm R nhận đầu vào là một vector trạng thái s;_, và một vector của từ đầu vào x; Và trả vé vector trạng thái hiện tai là s;. Vector trạng thái hiện tai s; sau đó được ánh xạ trở thành vector đầu ra y; thông qua hàm O. Thông thường, hàm R được sử dụng là ham tanh còn hàm O có thé là sigmoid hoặc softmax. Vector y, là vector đầu ra cuối cùng của mạng, được xem là vector nén (compressed vector) của toàn bộ
chuỗi đâu vào.
Mạng RNN đơn giản sẽ kém hiệu qua với các chuỗi đầu vào dài do van dé
vanishing gradients, xảy ra khi gradient bị cộng dôn quá nhiêu lân. Các kiên trúc
11
Long-Short Term Memory (LSTM) va Gated-Recurrent Unit (GRU) là các mang
RNN với các cau trúc công phức tạp bên trong, sẽ quyết định thông tin nào được giữ lại hoặc bị loại bỏ, giúp các node trong mạng RNN “ghi nhớ” thông tin tốt hơn.
3.1.2. Mạng neural LSTM
Mạng RNN cơ bản không có khả năng ghi nhớ các thông tin qua nhiều bước do
đó mạng RNN tỏ ra không hiệu quả đối với các bài toán cần xử lý dữ liệu theo thời gian đòi hỏi phải có trạng thái trung gian dé ghi nhớ thông tin của các bước trước. Từ hạn chế này, mạng LSTM (Long-Short Term Memory) được ra đời nhằm giải quyết hạn chế của mạng RNN bằng cách đưa vào mang một đơn vi nhớ được gọi là LSTM memory unit hay cell. Mạng LSTM được giới thiệu lần đầu bởi Hochreiter & Schimidhuber (1997) [9], mạng LSTM hoạt động hiệu quả trên nhiều bài toán khác
nhau nên dân trở nên phô biên.
Tại mỗi thời điểm ¿, đầu vào của một LSTM nhận vào ba thành phan, trong đó
x, là đầu vào ở bước hiện tai, fy) là đầu ra của khối LSTM trước đó /-J và C,; là các thông tin được “nhớ” của khối LSTM trước. Đầu ra là các thông tin 7, là kết quả của khối LSTM hiện tai và C, là “nhớ” của khối hiện tại. Do đó, quyết định của một khối
LSTM dựa vào đâu vào của khôi tại thời diém đang xét, kêt quả dau ra và “nhớ” của
12
khôi trước dé tạo ra kêt quả dau ra h; và “nhớ” C; của khôi hiện tai. Câu trúc tông quát
của mạng LSTM được biéu diễn trong hình 3.3.
Hình 3.3: Cấu trúc mạng LSTM [10]
Trong cấu trúc của LSTM ở hình 3.2, cau tạo bên trong một LSTM có 3 cổng (gate), ba công đó lần lượt là công forget gate, input gate va output gate, các céng này được cấu tạo bởi một lớp mang sigmoid và một phép nhân, phép nhân ở đây là phép nhân ma trận element-wise multiphication matrix. Các công này là nơi sàng lọc thông tin, đây chính là điểm mau chốt giúp mạng LSTM có khả năng loại bỏ hay thêm vào các thông tin cần thiết cho cell state. Đầu ra của các lớp sigmoid là một giá trị trong khoảng [0,1], giá trị này mang ý nghĩa quyết định sẽ có bao nhiêu thông tin
có thé được đi tiếp hoặc bị bỏ đi. Nếu dau ra là 0 có nghĩa là không có thông tin nào qua cả mà sẽ bị loại bỏ, ngược lại nếu đầu ra là 1 có nghĩa là tất cả các thông tin sẽ được đi tiếp.
Trong hình 3.4, có một “đường” chạy xuyên suốt qua các nút mạng, “đường” này chính là trạng thái nhớ (cell state), đây là điểm quan trọng nhất trong mạng
LSTM.
13
Hình 3.4: “Ông nhớ ” trong mạng LSTM [10]
Đầu vào “ong nhớ” là một vector C¿; đi qua “cổng quên” dé sàng lọc và loại bỏ thông tin không cần thiết khỏi trạng thái trong cell state. Đề thực hiện việc sàng lọc,
“cổng quên” lay đầu vào h„¡ và x; và cho kết quả là một giá trị nằm trong khoảng [0,1] cho cell state C¡.¡. Sau đó, quyét định loại bo hay giữ lai thông tin sẽ phụ thuộc vào giá trị đầu ra ở “cổng quên”. Cách hoạt động của mạng LSTM cụ thê như sau:
Bước đầu tiên, đầu vào J„; và x; sẽ được đưa vào lớp sigmoid đầu tiên, đó chính
là “cổng quên” fi (forget gate layer). “Cổng quén” sẽ tinh theo công thức (4) và có
đầu ra là một giá trị trong khoảng [0,1] cho cell state C„¡. Giá trị này góp phần quyết định loại bỏ những thông tin không quan trọng khỏi cell state. Nếu giá trị bằng 0, thông tin bị loại bỏ, ngược lại nếu giá tri bang 1, thông tin được giữ lai. Cụ thê như
hình 3.5 dưới đây.
14
fe = ứ(MW?.|h¿_+,x¿] + by) (4)
Trong đó, W7 là ma trận trọng số trong LSTM và br là vector bias.
Hình 3.5: “cong quên” của mang LSTM [10]
Bước tiếp theo, các đầu vào sau khi được tiếp nhận sẽ được lưu trữ tại cell state qua hai phần. Đầu tiên sẽ quyết định giá trị nào sẽ được cập nhật thông qua lớp sigmoid thứ hai, đây là “cổng dau vào” i, (input gate layer), và một lớp tanh dé tao
ra một vector cho giá tri mới G nhằm thêm vào cell state. Trong công thức (5) va
(6), các thông số W;, W, là các mạ trận trọng số trong LSTM và b;, b„ là các vector
bias.
15
ớ, = ứ(M;.|h,_+,x¿] + bị) (5)
C, = tanh(W,.[h,_,x¿] + be) (6)
Hình 3.6: LSTM tính giá trị lưu tai cell state [10]
Tiép theo, trang thai cell state cũ C;.; sẽ được cập nhật thành trang thai cell state mới C, theo công thức (7). Trang thái “nhd” cũ C¿¡ nhân với kết qua của “cổng quên”
ƒ, dé bỏ đi những thông tin đã quyết định bỏ di ở trước đó. Sau đó, cộng với giá tri
i, * C, biểu diễn những “ứng viên” mới C, cho cell state (được quyết định bởi hệ số dan nở i,), cụ thé là cho việc cập nhật giá trị cho mỗi cell state.
Ch= fix Creat ip*G, (7)
Hình 3.7: Minh họa việc cập nhật giá tri cell state [10]
16
Cuối cùng, các thông tin sẽ được sàng lọc lần cuối và đầu ra sẽ được lựa chọn phụ thuộc vào trạng thái cell state. Đầu tiên, các phần của cell state được chon dé xuất ra sẽ được quyết định thông qua lớp sigmoid cuối cùng, đây là “cổng đầu ra” 0¿
(output gate layer). Trạng thái cell state được đưa vào một ham tanh (tanh activation
function), đầu ra của ham tanh sẽ có giá trị thuộc khoảng [-1,1] và nhân với đầu ra ở
“cổng dau ra” dé đưa ra quyết định cuối cùng thành phan sẽ được khối LSTM xuất
ra. Công thức được áp dụng ở bước này. Trong đó, W, là ma trận trọng số trong
LSTM và b, là vector bias.
9 + II o(W,. [he-1, X12] + bạ) (8)
= + Il 0, * tanh (C;) (9)
Hình 3.8: Dau ra của khối LSTM [10]
Mạng LSTM là sự kết nối giữa nhiều khối LSTM với nhau theo chuỗi thời gian. Tại mỗi thời diém, mỗi khối LSTM hoạt động dựa vào các lớp: lớp “cổng quên” fr, lớp “cổng dau vào” i, và lớp “cổng dau ra” o¿. Trong đó, “cổng quên” là điểm đáng chú ý nhất của mạng LSTM, mạng lại khả năng sử dụng thông tin một cách hiệu quả.
17
3.1.3. Mô hình Encoder-Decoder với cơ chế attention
Mô hình Encoder-Decoder được giới thiệu lần đầu bởi nhóm nghiên cứu của
Google (2014) [3] trong bài báo Sequence to Sequence Learning with Neural
Network. Mô hình cơ bản gồm hai mạng neural thường là RNNs, đóng vai trò mạng
mã hóa (encoder) và mạng giải mã (decoder) nhằm phát sinh chuỗi đầu ra dựa vào chuỗi đầu vào cho trước, điều này đã làm cho việc tóm tắt tóm lược trở nên khả thi
hơn (Chorpa et al, 2016 [11]; Nallapati et al, 2016 [12]; Rush et al, 2015 [13]; Zeng
et al, 2016 [14]). Mang neural ở encoder mã hóa chuỗi đầu vào thành một vector ¢ có
độ dài có định, mạng neural ở decoder sẽ lần lượt sinh ra chuỗi đầu ra dựa trên vector
c và những từ được dự đoán trước đó cho tới khi gặp kí tự kết thúc câu. Dưới đây là
ví dụ cụ thê cho quá trình sinh ra câu của mô hình Encoder-Decoder:
the black fox jumped </s>
A ` A A
predict Cpredict) Cpredict CPredict> predict
A A ry A
yl | y2 3 Y4 ys
Of |} 3! Ris, Op LH" | Rp. Op |
C concat ) C concat concat
I. c c
A
Ox Efjumped| n
—„ Rp, dỗ Ha
concat ` concat
EI-,›]
<s> jumped
E| <s>] ElaI E [conditioning] Efsequence] E| </s>]
<s> a conditioning sequence </s>
Hình 3.9: Cơ chế hoạt động của mô hình Encoder-Decoder, E [word] là embedding
vector cua word và e là vector mã hóa cudi cua công đoạn encoding [8]
18
Có thé thấy vector mã hóa e được sử dụng ở công đoạn decoding dé phát sinh
ra tất cả các từ của chuỗi đầu ra. Nếu phải xử lý với chuỗi đầu vào dài, chỉ vector ¢
sẽ không đủ dé lưu trữ thông tin của toàn bộ chuỗi, vì vậy cơ chế Attention [15] được
dé xuất dé tăng hiệu qua cho mô hình Encoder-Decoder như sau:
the black fox jumped </s>
A A
A AT1 y2 y3 Ly Ys
3| Rp, Op | >| Ros Op Op || Rọ.op|—- | Ros Op |
<s
E conditioning] Efsequence] E| </s>]
<s> a conditioning sequence </s>
Hình 3.10: Cơ chế hoạt động của mô hình Encoder-Decoder với cơ chế Attention.
c¡ là dau ra cua encoder tại thời điểm i [8]
Thay vì chỉ sử dụng một vector mã hóa c tại thời điểm cuối của công đoạn encoder, cơ chế attention cho phép decoder sử dụng nhiều vector mã hóa c; tại mỗi thời điểm i khác nhau. Cơ chế Attention cũng cho phép decoder có thé “tập trung” vào những từ có khả năng chứa nhiều thông tin cho quá trình decoding, thay vì cả
19
chuỗi đâu vào thông qua việc tính toán xác suât của các từ trong chuôi dau vào. Cu
thê tính được thực hiện như sau:
Thong tin của dau vào sẽ thực hiện encode sinh ra trạng thái ân ở từng cell trong
encoder. Với mỗi bước thực hiện t, decoder sẽ nhận từ nhúng của từ trước đó và trạng
thái ân h; của nó. Dé đánh giá mức độ liên quan giữa đâu vào của encoder với dau ra
tiếp theo của decoder, được tính theo công thức như Bahdanau (2015) [15]:
ef =v" tanh (W,h; + W%s¿ + Daten) (4)
Trong đó, v, W;, , We, Daten là các thông số học được.
Sau đó, diém phân tán chú ý a‘ được tính toán thông qua hàm softmax đề đánh
giá mức độ tương quan giữa đâu vào encoder tại từng bước với đâu ra hiện tai của decoder:
a‘ = softmax (e‡) (5)
Ngoài ra, a‘ còn tham gia vào quá trình tính toán vector ngữ cảnh hj cùng với
toàn bộ trạng thái ân ở bước encoder:
he = Di ajh; (6)
Vector ngữ cảnh biêu diễn những gi ma nó doc được từ dau vào và cùng với
trạng thái an decoder St dé thực hiện quá trình tính phân tán từ vựng P;s;ap :
Đsscạp = soƒtmax(V'(V[s,,h;]+b)+ b') (7)
Trong đó, V', V , b’, b la các thông số học được.
Pyocap là phân tán xác suất trên tat cả từ trong bộ từ vựng và chúng được sử dụng dé dự đoán từ w:
P(W) = Procan (Ww) (8)
Trong quá trình hoc, độ mat mát loss ở mỗi bước thực hiện t được tính theo công
thức sau:
loss, = - log P(w£) (9)
20
Và độ mắt mát trên toàn bộ đầu vào được tính theo công thức:
loss = 7 XT, lossy (10)1
3.1.3. Những han chế của mô hình Encoder-Decoder với bài toán tóm tat văn
bản tự động.
Mô hình Encoder-Decoder với cơ ché Attention mac đù tỏ ra hiệu quả với bài toán dich máy, tuy nhiên chiều dai tối đa của chuỗi đầu vào ở bài toán này thường không lớn hơn 100 từ. Đối với bài toán tóm tắt tự động, chiều dài của chuỗi đầu vào thường nằm trong khoảng 400 tới 800 từ dựa theo chiều dài thực tế của văn bản gốc
và mô hình này bộc lộ những hạn chế khi phải xử lý với những chuỗi dài. Cụ thê là van dé mat mát bộ nhớ theo thời gian khi các từ của chuỗi đầu vào liên tục được cộng dồn vào một bộ nhớ, các từ được thêm lúc ban đầu sẽ dần bị “quên đi”, làm cho quá
trình decoding bị giảm đi hiệu quả bởi việc thông tin bị loãng.
3.2. Mô hình Pointer Generater và cơ chế Coverage
Cơ chế attention được thêm vào dé tăng hiệu quả của mô hình seq2seq giúp mô hình sẽ dành sự “tập trung” vào những từ được cho là chứa nhiều thông tin. Nhưng nhược điểm của các mô hình seg2seq nói chung đó là không thể mô tả chính xác các
từ không nằm trong bộ từ vựng (Out-of-Vocabulary, gọi tắt là OOV) ví dụ như tên riêng, số điện thoại, địa danh, ...mà sẽ được thay thành các UNKNOW token (UNK)
tại dau ra.
21
Original Text (truncated): lagos, nigeria (cnn) a day after winning nige Hình 3.11: So sánh đâu ra
ria's presidency, mafanmeds buheri told cnn’s christiane amanpour that > A ` 2 ⁄
he plans to aggressively fight corruption that has long plagued nigeria cua 3 mô hình tóm tat
and go after the root of the nation’s unrest, buhari said he'll “rapidly give
attention” to curbing violence in the northeast part of nigeria, where the ter Abstractive trén cung mot
rurisL group boko haram operates. by cooperating with neighboring nations
chad, camenoon and niger, be said bis administration is confident it will bài báo: Mô hình seq2seq +
be able to thwart criminals and others contributing to nigeria’s instability.
for the first time in nigeria’s history, the opposition defeated the ruling party
in democratic elections. buhari defeated incumbent goodluck jonathan by
about 2 million votes, according to nigeria’s independent national clectoral os A LS .
commission. the win comes after a long history of military rule, coups bởi OOV. Mô hình Pointer
and botched attempts at democracy in africa’s most populous nation.
Attenttion cơ ban bị hạn chế
——————————- — Generator (PointerGen)
Baseline Seq2Seq + Attention: UNK LINK says his administration is conti
dent it will be able to destabilize nigeria’s economy. UNK says his admin- giải quyết vấn đề OOV
istration is confident it will be able to thwart criminals and other nigerians.
he says the country has long nigeria and nigeria‘’s economy.
nhưng bi lặp từ. Mô hình
Pointer-Gen: muhanmadu buhart says he plans to aggressively fight cor-
ruption in the northeast part of nigeria, he says he'll “rapidly give at- PointerGen + Coverage xử
tention” to curbing violence in the northeast part of nigeria. he says his , F ` `
administration is confident it will be able to thwart criminals. lí được van dé lặp từ và cho
Pointer-Gen + Coverage: muammadu bubari says be plans to aggressively két qua tóm tat tot nhất
fight corruption that has long plagued nigeria. he says his administration is
confident it will be able to thwart criminals. the win comes after a long his- AL
tory of military rule, coups and botched attempts at democracy in africa’s trong 3 mô hình [4]
most populous nation,
Đối với van dé nay, See và các cộng sự của minh đã giải quyết van đề bằng cách cho phép mô hình có khả năng sao chép và sử dụng trực tiếp các OOV từ văn bản đầu vào thay vi sinh ra một từ mới dựa vào tập từ vựng vocab. Trong phan tiếp theo sẽ làm rõ hơn về mô hình seg2seq với cơ chế Pointer-Generator, dé giải quyết các hạn chế của mô hình seg2se truyền thống.
3.2.1. Mô hình Pointer Generator
Mô hình Pointer Generator (PointerGen) [4] được See cùng với những cộng sự
của mình giới thiệu vào năm 2017, mô hình này được đề xuất nhằm giải quyết các nhược điểm của mô hình seq2seq đang gặp phải. Mô hình PointerGen là sự kết hợp giữa mô hình seq2seq và một Pointer Network (Ptr-Net) [16] — sử dụng cơ chế chú ý như một con trỏ dé chọn thành viên của chuỗi đầu vào làm đầu ra, trong khi cơ chế chú ý trước đó chỉ được sử dụng dé trộn các đơn vị ân ở bước encoder với một vector ngữ cảnh (context vector) ở bước decoder. Một Prr-Net được dùng trong mô hình dé đưa ra quyết định sao chép một từ từ đầu vào hay sinh ra từ từ một từ vựng cô định.
22