Mụ hỡnh chuỗi sang chuỗi (seq2seq - Sequence to Sequence) [92] là mụ hỡnh học sõu gồm hai thành phần chớnh được gọi là bộ mó húa (encoder) và bộ giải mó
(decoder) để sinh ra chuỗi đầu ra từ một chuỗi đầu vào. Bộ mó húa sẽ mó húa chuỗi đầu vào thành một vộc tơ mó húa (encoder vector) hay vộc tơ ngữ cảnh (context vector) c cú độ dài cố định. Bộ giải mó sẽ sinh lần lượt từng từ trong chuỗi đầu ra dựa trờn vộc tơ ngữ cảnh c và cỏc từ được sinh ra trước đú cho đến khi gặp từ kết thỳc cõu. Trong mụ hỡnh túm tắt văn bản tự động, tại mỗi bước giải mó ta tạo ra danh sỏch cỏc từ ứng viờn thay vỡ tỡm ra xỏc suất lớn nhất của mỗi từ sinh ra tại bước mó húa. Hỡnh 2.10 minh họa một mụ hỡnh seq2seq được thực thi với bộ mó húa và giải mó sử dụng mạng RNN.
36
Hỡnh 2.10. Mụ hỡnh mạng chuỗi sang chuỗi [92]
Trong mụ hỡnh seq2seq, bộ mó húa đọc vào một cõu là một chuỗi vộc tơ 1 2
( , ,.... )T
x x x x . Với mỗi từ xt (với t 1,T ), mạng RNN mó húa sẽ xử lý trả ra một vộc tơ ht mang thụng tin về từ đú và trỡnh tự của nú với cỏc từ phớa trước. Kết quả của quỏ trỡnh xử lý cả cõu là một vộc tơ ngữ cảnh cuối cựng c.
, 1
t t t
h f x h (2.20)
{ , ,.... }1 2 T
cq h h h (2.21) trong đú: ht là trạng thỏi ẩn ở bước t; f , q là cỏc hàm phi tuyến. Kết quả của quỏ trỡnh mó húa là q h h{ , ,.... }1 2 hT là vộc tơ trạng thỏi ẩn cuối cựng.
Sau khi cú được vộc tơ ngữ cảnh c, mạng RNN giải mó sẽ dự đoỏn từ yt dựa trờn vộc tơ ngữ cảnh c và tất cả cỏc từ được dự đoỏn trước đú y y1, 2,....yt1. Xỏc suất của cả cõu sau quỏ trỡnh giải mó được tớnh theo cụng thức:
1 2 1 1 ( ) | { , ,.... }, T t t t p y p y y y y c (2.22) với xỏc suất của mỗi từ:
t | { ,1 2,.... t 1}, t 1, ,....,t
p y y y y c g y s c (2.23) trong đú: g là một hàm phi tuyến, yt xỏc suất đầu ra và st là trạng thỏi ẩn của RNN. Vộc tơ ngữ cảnh c được sử dụng với ý nghĩa là tất cả dữ liệu trước đú được sử dụng để dự đoỏn từ tiếp theo.
Cỏc bộ mó húa và bộ giải mó trong mụ hỡnh seq2seq cú thể được thực thi sử dụng cỏc mạng khỏc nhau như mạng LSTM, biLSTM, GRU, biGRU và CNN.