Trong chương này sẽ trình bày về cách xây dựng mô hình Hierarchical NSE, đồng thời mô tả quá trình huấn luyện và kết qua thử nghiệm của mô hình Hierarchical NSE trên bài toán tóm tắt văn bản tiếng Việt tự động.
4.1. Xây dựng mô hình Hierarchical NSE
Hệ thông tóm tắt văn bản tiếng Việt tự động sử dụng ở đây là mô hình Hierarchical NSE, thực chất là một mô hình gồm 2 mạng NSE kết nối với đóng vai trò là Encoder va Decoder, được cấu tạo từ các mang neural LSTM và sử dụng đặc trưng Hierarchical của văn bản. Như vậy, để xây dựng mô hình, cần phải xây dựng một class cấu trúc mạng HierNSE hoàn chỉnh, từ đó sẽ là cơ sở tạo ra Encoder và
Decoder.
Như đã được trình bày ở mục 3.3, mạng NSE sử dụng sẽ bao gồm 3 module
thực hiện các công việc khác nhau là Read, Write và Compose. Mỗi module là một
mạng LSTM kích thước (rnn_ size) 300 và SỐ layer là 1. Tại mỗi NSE step, mạng NSE
sẽ nhận vào các input bao gồm x_t là vector mã hóa của từ tại thời điểm t, mem_masks
là các mask chỉ ra vi trí của PAD_TOKEN, prev_state là tập các trang thái an của mạng NSE tại bước thời gian trước, bao gồm các trạng thái an của bộ nhớ câu và bộ nhớ văn bản, trạng thái ân của 3 module Read, Write, Compose, sau đó trả về output
là các trạng thái ấn ở bước hiện tại, cũng như vector attention của câu và văn bảng zs_t, zd_t, cùng với xác suất pgen. Dưới đây là đoạn mã giả trình bày cách hoạt động
của mạng NSE:
B1: Nhận input gồm [x_t, mem_masks, prev_state] là mã hóa của từ đầu vào tại thời điểm hiện tại t và các trạng thái an tại thời điểm t-1.
B2: Nếu chưa có trạng thái trước pre_state = None, khởi tao các pre_state bang
các zero_state
34
B3: Tính toán các trạng thái ân của các module như r t,h t, zd t, v.v dựa trên
các trạng thái ân trước đó.
B4: Trả về output là các thông số sau quá trình tính toán như là pgen, các
vector attention, các trạng thái ân của các mạng ở thời diém hiện tại t.
Mạng HierNSE cũng tương tự như một mang NSE nhưng có bồ sung thêm tính chất thứ bậc bằng cách sử dụng bộ nhớ câu và bộ nhớ văn bản thay vì chỉ một bộ nhớ
chung như NSE.
Sau khi có được class mạng HierNSE, tiến hành xây dựng mô hình gồm 2 thành phần chính là Encoder và Decoder dựa trên NSE step. Mô hình sẽ hoạt động ở 2 trạng thái chính đó là huấn luyện (training phase) và kiểm thử (testing phase). Cấu trúc và cách hoạt động của mô hình sẽ được mô tả tóm tắt trong đoạn mã giả dưới đây:
Với mỗi văn bản D được lấy ra từ tập dữ liệu huấn luyện:
B1: Tạo thành tập input bao gồm nội dung của D dưới dang vector ngữ cảnh là đầu vào cho Encoder (enc_in); tóm tắt thật của D dưới dạng vector ngữ cảnh là đầu vào cho Decoder (dec_in); các mask cho biết vị trí của PAD_TOKEN; label là tóm tắt thật của D; v.v
B2: Tập các trạng thái an (hidden states) = Encoder(input[enc_in, mask])
B3: output gồm xác suất trên tập từ vung và vector attention =
Decoder(hidden states, input{dec_in, mask])
B4: Néu dang ở trạng thai huấn luyện (training phase): thực hiện tính toán độ lỗi dựa trên output va label thực tế bang hàm Cross_entropy_loss(output,
label, mask)
B5: Ngược lại, nêu đang ở trạng thái kiểm thử (testing phase): chọn ra k két quả tóm tắt tốt nhất, kết hợp với các trạng thái an hiện tai và tập từ vựng dé c hay thuật toán beam search với k, sinh ra chuỗi tóm tắt.
35
4.2. Xây dựng bộ dữ liệu thực nghiệm
Bài toán tóm tắt văn bản đã được rất nhiều tác giả nghiên cứu, đặc biệt là đối với tóm tắt văn bản tiếng Anh. Với tóm tắt văn bản tiếng Anh, bộ dữ liệu kinh điền
được sử dụng là bộ dữ liệu các bài báo của CNN/Daily Mail [22] với hơn 90.000 bài báo CNN và hơn 200.000 bài báo Daily Mail.
Tuy nhiên, đối với bài toán tóm tắt văn bản tiếng Việt, hiện tại chưa có một bộ
dữ liệu tiêu chuẩn chính thức nào được công bố, đây là một thách thức với nhóm khi
thực hiện khóa luận. Vì vậy, dé chuẩn bị dữ liệu dé thực hiện bài toán, nhóm đã tìm kiếm và tham khảo được bộ dữ liệu [23] là các bài báo trên một sỐ trang web thông tin điện tử ở Việt Nam. Dữ liệu được nhóm quan tâm là phần tóm tắt bên dưới tiêu
dé của bài báo và nội dung văn bản của bài báo. Hình 4.1 minh họa một trang web chứa dữ liệu được sử dụng trong đề tài.
Thểthao Bóngdá Lichthiddu Tennis VM2020 VRace
Những lời cảm ơn của Văn Muangthong mất liên lạc Quyết với Đặng Văn Lâm
Lời cảm ơn đầu tiên, Quả Bóng CLB của Thai Lan, Muangthong Vàng Việt Nam 2020 Nguyễn United bức xúc khi thủ thành
Văn Quyết dành cho Trung tâm Đặng Văn Lâm không xuất hiện Đào tạo Viettel. Nhưng sau để luyện tập hay bàn bạc dứt cùng và trân trọng nhất, anh ... điểm van dé hợp... £ 33
12
Hình 4.1: Ví dụ dit liệu cho bài toán tóm tắt tiếng Việt lấy từ trang báo điện tử
VnExpess
Dữ liệu trên sé được xử lý dé làm sạch và loại bỏ các ký tự nhiễu trong văn bản như:
- Loại bỏ các văn bản có độ dài không nằm trong khoảng từ 350 từ tới 450 từ.
- Loại bỏ các gạch đầu dòng, các dấu gạch ngang trong văn bản.
- Loại bỏ các dấu hai chấm trước mỗi danh sách liệt kê.
- Loại bỏ các dau ba cham, các dau ngoặc đơn và phan chú thích thêm trong ngoặc
đơn, các dấu nháy đơn, dấu nháy kép.
66,99 66 99
- Thay thé dau châm phay “;” thành phân tách ý thành dau cham ngắt câu “.”.
36
- Tách các câu trong phần tóm tắt của bài báo bằng phân tách các câu dựa trên
kết thúc câu bởi các ký tự kết thúc câu.
- Tách các từ tiêng Việt trong văn bản thành các token, các từ kép được nôi với
Fis 66 39%
nhau bang dấu gạch dưới
- Chuyén các từ viết hoa thành viết thường.
Sau khi thực hiện xử lý, mẫu dữ liệu sẽ được lưu xuống file .txt như hình 4.2.
| 000004.txt - Notepad
File Edit Format View Help
VEC từ chối phục vụ vĩnh viễn 2 õ tô gây rối trạm thu phí : Liệu có đúng luật ? Liên quan đến vụ gây rối tai tram thu phí trên đường cao tốc TP. HCM - Long Than
Như báo Người Đưa Tin đã phản ánh trước đó , Tổng công ty đầu tư phát triển đườn
Liên quan đến vấn đề này , LS Trương Thanh Đức , công ty Luật BASICO khẳng định Ông Đức cho hay , việc cấm phương tiện di chuyển trên đường phải được quy định t Tuy nhiên , hiện nay không có điều luật nào cấm vĩnh viễn xe ô tô di chuyển trên Thậm chí pháp luật còn quy định , nếu tắc đường thì phải xả trạm , không được ti
Trong trường hợp nay , BOT la dạng hợp đồng hành chính công , có yếu tố Nhà nước Hơn nữa , khác với việc cấm bay theo luật Hang không dân dụng Việt Nam , nếu lua Đặc biệt , Thông tư và Nghị định càng không được phép cấm đoán việc sử dụng đườn
“ Tóm lại , đây không phải là dịch vụ thông thường , nên doanh nghiệp không thể Quyết định của VEC là hoàn toàn võ lý và nực cười ”, LS Đức nhấn mạnh.
Trước đó , lúc 18h20 ngày 19/2 , phương tiện mang biển kiểm soắt 51 A -55 ... di Sau d6 , người già , phụ nữ và trẻ em trên xe xuống xe gây rối tại lần thu phi , Sau d6 , các xe có biển số 51 C -78 ... , 51G -77 ... cũng thực hiện hành vi tư Nhân viên tram thu phí đã mời các tài xế vào văn phòng của tram để giải thích , Sáng 11/2 , ông Nguyễn Viết Tân , Giám đốc Công ty cổ phần dịch vụ kỹ thuật đườn Mộc Miễn ( Tổng hợp )
Trạm thu phí Long Phước trên cao tốc TP. HCM - Long Thanh - Dầu Giây .
Ảnh Đào Ngọc Thạch / Thanh Niên.
Hình 4.2: Mẫu dữ liệu sau khi tiền xử lý
Tiếp theo đó, dữ liệu sẽ được chia làm ba phần là: tập train gồm 21.312 bài báo, tập validation gồm 4591 bài báo và tập test gồm 2000 bài báo, trong đó tập train và tập validate được sử dụng để huấn luyện mô hình.
4.3. Môi trường thử nghiệm
Mô hình tóm tắt văn bản tiếng Việt tự động được xây dựng và thử nghiệm trên
máy tính có câu hình như sau:
e CPU: I5- 10210U 1.60 GHz
37
e RAM: 8GB
e GPU: None
e Hệ điều hành: Windows 10
e Ngôn ngữ lập trình: Python trên trình biên dịch 3.7.5
e IDE: SublimeText 3
Các công cụ chính sử dụng:
eFramework: Google Tensorflow, phiên bản 1.15.2. Chức năng: Tensorflow hỗ trợ xây dựng và thử nghiệm mô hình học sâu một cách trực quan, cung cấp các thư viện tích hợp cho phép cau hình các tham số trong quá trình huấn luyện, áp dụng các công thức tính toán trên số học và ma trận, đồng thời biéu diễn quá trình biến thiên của các kết quả, thông số huấn luyện bằng biéu đồ, đồ thi.
eGensim: Thư viện dùng để load pre-trained word2vec model, giúp chuyền đôi
từ sang vector embedding.
ePyvi: Thư viện dùng để tách từ tiếng Việt.
ePyrouge: Công cụ tính điểm ROUGE cho mô hình tóm tat văn bản, đánh giá độ
chính xác của văn bản sinh ra bởi mô hình.
4.4. Quá trình huấn luyện mô hình
Trong quá trình cài đặt, nhóm sử dụng pre-trained model word2vec [24] cho
tiếng Việt để thực hiện chuyên từ thành embedding vector với số chiều (số đặc trưng)
là 300 như hình 4.1. Bộ mã hóa (encoder) và bộ giải mã (decoder) được xây dựng từ
các khối LSTM kích thước 300 tương tự nhau. Các khối LSTM sử dụng trong bộ giải
mã và bộ mã hóa là các mang đơn undirectional LSTM.
38
@yéu_tint eyéu_chiéu eyéu_kiéu nữ_thần_tìn
iyêu_ thích
syêu sngười yêu
syều_ mến thần_tình_yêu
syêu_ đời
§êu_chuộng chứng. tỏ_tình_yêu
° sbày. tỏ_tình_yêu bùa_yêu
ethan_yéu
ey ® eyé@chang
“ye 1LEDC_pf
X#
syêu_em
a < -
e _ yêu sách syÊu
skhơi_gợi_tình_yêu con người yêu sđề_ tài_tình_yêu
Hình 4.3: Ví dụ của tác giả Xuan-Son Vu [24] là biểu diễn của từ “yêu ” bằng các
từ lân cận trong không gian ngữ nghĩa sử dụng embedding vector.
Bộ mã hóa nhận vào một chuỗi các embedding vector của văn bản đầu vào, sau
đó tiến hành trích xuất đặc trưng và trả về một tập các trạng thái ấn như bộ nhớ câu (sentence memory), bộ nhớ văn ban (document memory), trạng thái ấn của Read LSMT, Write LSTM, Compose LSTM, vector attention, ... Các trạng thái an nay sé tiếp tục là đầu vào cho bộ giải mã. Các trạng thái ân ở dau ra của bộ mã hóa kết hợp với bản tóm tắt gốc được sử dụng dé huấn luyện cho các LSTM trong bộ giải mã.
Ở quá trình huấn luyện, mô hình sử dụng thuật toán tối ưu Adam với learning rate khởi tạo là 0.001. Adam là viết tắt của adaptive moment estimation, đây là thuật toán thích nghi tốc độ học với khả năng tự điều chỉnh tốc độ học trong suốt quá trình huấn luyện. Nhờ khả năng này của thuật toán Adam, nó không cần thiết kết hợp thêm một phương thức điều chỉnh tốc độ học đề tăng tốc độ hội tụ. Chính vì vậy, thuật toán tối ưu Adam được đánh giá là có hiệu quả tốt và được sử dụng rộng rãi đối với các
bài toán học sâu trong lĩnh vực NLP.
Lua chọn 50.000 từ vựng phổ biển nhất trong tập dữ liệu dé làm tập từ vựng. Số
lượng token của văn bản và các câu trong văn bản sẽ được giới hạn lại đê mô hình có
thé “học”, cụ thé số lượng token giới hạn cho một văn bản sẽ là 400 tokens, số lượng
39
token giới hạn trong một câu sẽ là 20 tokens, số lượng câu giới hạn trong một văn bản sẽ là 20 câu, số lượng token giới hạn trong một bản tóm tắt cũng sẽ được giới hạn trong khoảng từ 35 tới 100 tokens. Sử dụng batch size là 30 cho quá trình huấn luyện. Với quá trình sinh văn bản tóm tắt, sử dụng thuật toán beam search. Beam search là một thuật toán tham lam, được cải tiễn từ thuật toán tìm kiếm theo chiều rộng. Tư tưởng của thuật toán beam search là xây dựng cây tìm kiếm như tìm kiếm theo chiều rộng, nhưng tai mỗi nút, nó thực hiện đánh giá dé giữ lại một số ứng viên tốt nhất dé tiếp tục quá trình tìm kiếm. Số ứng viên được giữ lại tại mỗi bước tìm kiếm của thuật
toán beam search gọi là beam size.
4.5. Kết qua thực nghiệm và nhận xét
4.4.1. Thực nghiệm 1
Trong thực nghiệm 1, sử dụng tập dữ liệu train 5000 bài báo, tap validate và test được giữ nguyên là 4591 và 2000; tập từ vựng cũng được giới hạn ở mức 10.000 từ.
Mô hình được huấn luyện qua hơn 5000 bước lặp với batch size 30 bài báo/ 1 bước lặp, kết quả hàm lỗi được dao động trong khoảng 0.725 tới 0.69 ở epoch cuối.
cross_entropy
45k 4.55k 4.6k 4.65k 4.7k 4.75k 4.8k 4.85k 49k 4.95k 5k
m= rl
Hình 4.4: Training Loss cua thực nghiệm 1 từ bước lặp 4500 tới 5000
Độ chính xác của mô hình đánh giá bằng phương pháp ROUGE được thể hiện trong
bảng 4.1 dưới đây:
40
a ROUGE-1 ROUGE-2 ROUGE-L
Precision 0.5755 0.1950 0.3580
Recall 0.5149 0.1760 0.3194
F-score 0.5230 0.1775 0.3244
Bang 4.1: Hiệu suất của mô hình trong thực nghiệm 1
4.4.2. Thực nghiệm 2
Trong thực nghiệm 2, sử dụng tập dữ liệu train 10.000 bài báo, tập validate và
test được giữ nguyên là 4591 và 2000. Các siêu tham số được giữ nguyên như ở thực
nghiệm | nhưng tập từ vựng được mở rộng lên 30.000 từ.
Mô hình được huấn luyện qua hơn 6000 bước lặp
cross_entropy
cross_entropy
1.86
1.84
1.82
18
1.78
1.76
174
172
17
5.7k 5.75k 5.8k 5.85k 5.9k 5.95k 6k
Hình 4.5: Training Loss cua thực nghiệm 2 sau hon 6000 bước lặp.
Training Loss của mô hình ở thực nghiệm 2 dao động trong khoảng 1.84 tới 1.7,
vân còn khá cao.
41