Trong kiến trúc trên, bộ mã hóa và giải mã đều là các mạng nơ ron tái phát (RNN), sử dụng kỹ thuật LSTM. Để xây dựng bộ mã hóa, mỗi từ trong câu đầu vào được lần lượt đưa vào mơ hình theo thứ tự. Tại thời điểm t, mơ hình sử dụng thơng tin của từ vựng đưa vào để cập nhật lại véc tơ trạng thái ẩn h. Trạng thái ẩn h được sử dụng để lưu trữ thơng tin của tồn bộ câu nguồn.
- Bước 1: Tại thời điểm t = 0, véc tơ trạng thái h rỗng
ℎ =∅ , E ký hiệu cho Encoder Tôi là sinh viên Encoder Bộ mã hóa # # # # # Decoder Bộ giải mã I am a student Thought vector
- Bước 2: Lặp lần lượt theo từng từ tại vị trí i của câu nguồn, i = 1..T oLấy giá trị h hiện tại và véc tơ one-hot của từ tại vị trí i oCập nhật giá trị của h theo công thức (3.1)
- Bước 3: Lưu véc tơ ngữ nghĩa h
Như vậy, tại thời điểm cuối cùng, véc tơ ẩn thu được sẽ lưu trữ toàn bộ thông tin của câu đầu vào mà chúng ta gọi là véc tơ ngữ nghĩa ở trên, sau đó sẽ được đưa vào bộ giải mã. Q trình mã hóa câu tiếng Việt “tơi là sinh viên” được mơ phỏng trong Hình 2.25. Ở đây, W là véc tơ trọng số, được điều chỉnh trong quá trình huấn luyện mơ hình để có các trọng số tối ưu nhất giúp bản dịch đạt độ chính xác cao nhất.
Hình 2.25. Q trình mã hóa câu nguồn để tạo véc tơ ngữ nghĩa c. Xây dựng bộ giải mã (Decoder)