3 TRÍCH RÚT THÔNG TIN VĂN BẢN BẰNG DEEP TRANS-
3.12 Kiến trúc mô hình Baseline
Như trong hình 3.12, ta có các tham số n= 200, chúng ta tiến hành huấn luyện mô hình với learningrate và epochs như ở mục trước. Tuy nhiên, vì đây là mô hình baseline dưng từ đầu, nên ta sẽ tăng epochs lên 50 để xem mô hình hội tụ sau bao nhiêu epochs.
Sau 40 epochs mô hình hội tụ với kết quả như ở bảng sau:
Tên trường Số lượng Precision Recall F1-Score
BRAND 1136 0.01 0.01 0.01
ENGINE FULE TYPE 865 0.84 0.45 0.58
NAME 445 0.67 0.53 0.59 STATUS 1904 0.55 0.58 0.57 TYPE 1121 0.87 0.90 0.88 YEAR 1093 0.00 0.00 0.00 Micro avarage 0.45 Macro avarage 0.44
Từ bảng kết quả 3.2, ta thấy ngoại trừ trường BRAND và YEAR ra, các trường khác có kết quả tạm ổn, micro f1-score, macro f1-score chỉ ở mức thấp. Mô hình đạt kết quả như này, chúng ta chưa thể sử dụng được ngay, mà còn cần cải thiện mô hình, xử lý lại dữ liệu, tăng/giảm độ sâu của mô hình, .... Đây là những điều bình thường mà chúng ta phải đối mặt khi chúng ta xây dựng một mạng học sâu (deep neural network).
Thay vì tìm cách cải thiện mô hình Baseline, tác giả sẽ thử vẫn bộ dữ liệu này, áp dụng deep transfer learning cho mô hình BERT.
3.7 Mô hình BERT cho NER
Bert là mô hình huấn luyện trước (pre-trained) đạt được nhiều kết quả ấn tượng dựa trên cơ chế attention. Do đó trong trong luận văn này, tác giả đã trình bày ở 3.4. Tại đây, tác giả thực hiện huấn luyện BERT cho bài toán thực thể sử dụng các phương pháp đối với Deep transfer learning đã được trình bày ở phần 2.4.
Với dữ liệu được thống kê ở Hình 3.8. Ta thấy rằng các câu dài nhất có độ dài không vượt quá vượt qua 200 (đó cũng là một phần lý do tác sử dụng lại mô hình nhỏ của tác giả).
Với BERT được huấn luyện đa ngôn ngữ (có tiếng Việt) và bộ dữ liệu ô tô khá ít dữ liệu, thay vì tạo một mô hình từ đầu và huấn luyện trên bộ dữ liệu đặc thù này thì tác giả quyết định sử dụng BERT - một mô hình đã được huấn luyện từ trước với bộ dữ liệu về tiếng Việt nhiều hơn.
Mô hình của chúng ta về cơ bản sẽ có dạng như hình
Để thực hiện điều này, tác giả sử dụng mô hình BERTBASE cho đa ngôn ngữ (102 ngôn ngữ),các siêu tham số của mô hình vẫn là:
• L = 12
• H = 768
• A = 12
Mô hình giữ nguyên các lớp trừ lớp cuối cùng của BERT, thay vào đó là mạng lan truyền thẳng với số unit bằng với số head attention của mô hình BERT. Mô hình này tác giả tạm gọi làBERT-NERvì nó được tinh chỉnh từ mô hình BERT phục vụ cho bài toán trích rút thông tin thực thể (Named Entity Recognization). Tác giả sẽ sử dụng hai chiến lược hai chiến lược phổ biến nhất cho học tập chuyển giao sâu được trình bày ở 2.4: Các mô hình được đào tạo trước có sẵn
dưới dạng bộ trích xuất tính năng và tinh chỉnh Các mô hình đã được đào tạo trước.
Hình 3.13: Kiến trúc mô hình BERT-NER
Đầu tiên đối với việc tinh chỉnh mô hình (fine tuning) BERT-NER. Trong số (weight) của toàn bộ các lớp trong mô hình sẽ được cập nhật sau mỗi epoch. Mô hình được huấn luyện với số lần lặp là 20 ta được kết quả: mô hình hội tụ sau 5 epochs
Tên trường Số lượng Precision Recall F1-Score
BRAND 1136 0.99 0.98 0.99
ENGINE FULE TYPE 865 1.00 1.00 1.00
NAME 445 0.95 0.93 0.94 STATUS 1904 1.00 1.00 1.00 TYPE 1121 0.99 0.98 0.98 YEAR 1093 1.00 0.99 0.99 Micro avarage 0.99 Macro avarage 0.98
Bảng 3.3: Bảng kết quả của mô hình BERT-NER có cập nhật trọng số trong quá trình huấn luyện
Có thể thấy rằng kết quả cơ bản của mô hình là rất cao, tuy nhiên thời gian huấn luyện mô hình cũng tương đối lâu với GPU Tesla T4 16GB cũng mất đến trung bình 20 phút một vòng lặp. Điều này có thể hiểu được vì bản thân BERTBASE
cũng có đến 110 triệu tham số. Với kết quả nói trên, ta tiến hành huấn luyện lại model này với các cài đặt tương tự là 20 vòng lặp (epoch) và vẫn trên thiết bị GPU Tesla T4 16GB. Vì BERT là một mô hình rất lớn với rất nhiều tham số (110 triệu), nên, tiếp theo tác giả tiến hành giữ nguyên trọng số của BERT layer, chỉ cập nhật trọng số của phần layer sau cùng được được thêm vào nhằm mục đích phân lớp cho bài toán sequence labeling này (NER). Do đó chúng ta thử tiếp với trường hợp có cập nhật trọng số của mô hình trong quá trình huấn luyện.
Cũng sau 20 vòng lặp chúng ta được kết quả ở bảng sau:
Tên trường Số lượng Precision Recall F1-Score
BRAND 1136 0.99 0.97 0.98
ENGINE FULE TYPE 865 1.00 0.99 1.00
NAME 445 0.94 0.93 0.94 STATUS 1904 1.00 0.99 0.99 TYPE 1121 0.99 0.99 0.99 YEAR 1093 0.99 0.99 0.99 Micro avarage 0.99 Macro avarage 0.98
Bảng 3.4: Bảng kết quả của mô hình BERT-NER không cập nhật trọng số của phần mô hình BERT trong quá trình huấn luyện
Hình 3.14: Mô hình BERT-NER với phần pre-trained BERT được giữ nguyên trọng số Với phương pháp đánh giá tham khảo theo [22] và [3], qua hai bảng kết quả, có thể thấy rõ ràng rằng kết quả F1-score đối với trường NAME của cả hai mô hình BERT-NER thấp hơn một chút khi so với các trường khác. Điều này có thể lý giải vì sự chênh lệch giữa các thực thể ít dữ liệu và thực thể nhiều dữ liệu. Tuy nhiên micro-f1 score của mô hình thì vẫn rất cao. Tuy rằng thời gian huấn luyện cũng giảm xuống, chỉ còn khoảng 16-17 phút mỗi vòng lặp (epoch), nhưng kết quả của mô hình cũng khá tương đồng khi so micro f1-score và macro f1-score. Mặc dù vậy, mô hình BER-NER có tinh chỉnh trọng số (BERT-NER fine-tuning) có loss nhỏ hơn so với BERT-NER không tinh chỉnh trọng số (BERT-NER freeze) như ở hình 3.15 dưới đây.
Điều này có thể được lý giải bởi vì theo bài báo về BERT [18] họ sử dụng Word- Piece [20] cho việc embedding. Mặc dù là đa ngôn ngữ nhưng bộ từ điển của nó 119,547 và tiếng Việt chỉ chiếm 13.5% [23], cho nên việc học cách biểu diễn câu của mô hình BERT với bộ dữ liệu này đem đến kết quả tốt hơn so với việc không tinh chỉnh (freeze). Đó cũng chính là lý do vì sao mô hình BERT-NER có cập nhật trọng số trong quá trình huấn luyện đạt được kết quả f1-score cao hơn so với không cập nhật trọng số.
Qua ba mô hình: mô hình baseline, mô hình BERT-NER có cập nhật trọng số và mô hình BERT-NER không cập nhật trọng số, chúng ta có thể thấy được rằng đối với từng nhiệm vụ đặc thù và dữ liệu đặc thù như, chúng ta cần có các chiến lược xây dựng mô hình dùng Deep transfer learning phù hợp. Trong bài toán trích rút thông tin từ tờ khai hải quan, mặt hàng là ô tô này thì mô hình BERT-NER có cập nhật lại trọng số đạt kết quả cao hơn. Đây cũng chính là đặc trưng của học chuyển giao, thay vì giữ nguyên mô hình và trọng số của một mô hình khác có nét tương đồng để giải quyết cho bài toán mình đang cần chúng ta cần phải tinh chỉnh nó để phù hợp cho bài toán của mình. Tất nhiên có nhiều trường hợp mô hình đã huấn luyện từ trước chạy tốt với một bài toán cụ thể của chúng ta. Tuy nhiên, thông thường đấy là trường hợp mô hình huấn luyện trước có miền dữ liệu bao gồm cả miền dữ liệu của bài toán cần giải quyết. Ví dụ: chúng ta cần phân loại cảm xúc của bình luận từ người dùng trên trang thương mại điện tử tiki về đồ dùng học tập, có một mô hình được huấn luyện trước là mô hình phân loại cảm xúc của bình luận từ người dùng trên trang thương mại điện tử về toàn bộ mặt hàng đã được bán. Rõ ràng bài toán của chúng ta là một bài toán nhỏ trong bài toán mà mô hình huấn luyện trước đã giải quyết. Chúng ta cũng thấy rõ ràng rằng, không phải lúc nào chúng ta cũng nên cố gắng xây dựng cải thiện một mô hình từ đầu. Thay vào đó, chúng ta nên tìm hiểu xem loại bài toán này đã có ai làm chưa, hoặc bài toán tương tự, kết quả ra sao, có khả năng tận dụng không? Bằng việc tận Transfer learning chúng ta đã có thể thu được một mô hình xử lý bài toán trích rút thông tin từ mô tả hàng hóa trong tờ khai của Hải quan Việt Nam. Tuy rằng việc học chuyển giao một mô hình hiện đại như BERT đòi hỏi thời gian huấn luyện khá lâu nhưng với kết quả nó mang lại thay vì mất thời gian cải thiện mô hình tốn nhiều sức và thời gian thì nó vẫn đáng giá.
Đến đây, chúng ta đã trả lời được câu hỏi “Khi nào thì tinh chỉnh mô hình, khi nào thì giữ nguyên trọng số của mô hình?” ở mục 2.4.2 và thấy được điều tác giả đã đề cập ở mục 2.1 - Không phải lúc nào các mô hình hiện đại nhất (state-of-the-art) cũng có khả năng tận dụng tốt ở các bài toán đặc thù chuyên
biệt, tùy từng bài toán và dữ liệu có mà chúng ta có các cách tiệp cận phù hợp. Cụ thể trong bài toán trích rút thông tin này chúng ta cần tinh chỉnh trọng số của mô hình.
3.8 Tổng kết
Việc sử dụng Transfer learning (học chuyển giao) nói chung và Deep transfer learning (học chuyển giao sâu) nói riêng là một cách tiếp cận hiệu quả cho các bài toán có tập dữ liệu huấn luyện không nhiều. Bằng cách tận dụng các tri thức từ các bài toán lớn và tổng quát để áp dụng sang các bài toán nhỏ và cụ thể, từ đó có thể giải quyết được vấn đề mặc dù tập dữ liệu huấn luyện không lớn. Mô hình học tập chuyển giao đem lại hiệu quả cao trong thực nghiệm của tác giả là mô hình đề xuất của tác giả thay vì mô hình BERT-NER. Tuy nhiên ta thấy được rằng không phải kiến trúc mô hình hiện đại nhất (state-of-the-art) nào khi ứng dụng vào một bài toán cụ thể cũng đem lại kết quả cao. Tùy từng bài toán và tập dữ liệu phục vụ cho bài toán đó, ta có thể tinh chỉnh mô hình hoặc giữ nguyên các trọng số (freeze model) để giữ lại các tính năng đã được huấn luyện của mô hình gốc nhằm phục vụ trong mô hình mục tiêu của chúng ta. Các kết quả thử nghiệm cho thấy, với tập dữ liệu nhỏ như mô tả dữ liệu ô tô, hệ thống khả quan và có tính ứng dụng cao, đặc biệt là đối với chiến lược giữ nguyên trọng số của mô hình đã huấn luyện từ trước để áp dụng vào mô hình mục tiêu. Với bộ dữ liệu là tờ khai hải quan, các mô tả về ô tô, xe cộ đều nhất quán và có thể cung cấp thông tin để truy suất thông tin, các mô hình áp dụng deep transfer learning đề xuất có thể giúp đỡ Hải quan Việt Nam trong quá trình truy suất, kiểm tra các tiêu chí để đánh giá mặt hàng là xe ô tô, xe cộ, xe hai bánh gắn máy nguyên chiếc trong quá trình “kiểm tra sau thông quan” [24]. Thành công này là tiền đề để phát triển và xây dựng mô hình trích rút thông tin từ sản phẩm hàng hóa hải quan thương mại điện tử (E-Commerce Commodity Customs Product).
Trong phạm vi nội dung của luận văn, một số kết quả đạt được của luận văn bao gồm:
• Thành công trong việc giới thiệu và tổng hợp các khái niệm về machine learning, deep learning, trích rút thông tin, transfer learning, deep transfer learning.
• Ứng dụng được Deep transfer learning vào bài toán trích rút thông tin với dữ liệu là tiếng Việt, bài toán cụ thể là trích rút thông tin từ tờ khai hải quan đối với mô tả hàng hóa là ô tô, phương tiện giao thông không phải đường hàng không, đường thủy và đường sắt.
• Thêm vào đó, luận văn có phân tích được tại sao với các cách khác nhau thì có kết quả khác nhau đối với mô hình thử nghiệm sử dụng các chiến lược của deep transfer learning đã được nêu ra trong luận văn.
Với những kết quả đạt được, luận văn có nhiều tiềm năng trong ứng dụng Transfer learning và Deep transfer learning đối với các bài toán trích rút thông tin với bộ dữ liệu huấn luyện không quá lớn. Đây là phương pháp rất hay và dễ áp dụng đối với tất cả những ai đang nghiên cứu về machine learning và deep learning, cũng như các doanh nghiệp, công ty, cá nhân, tổ chức có các bài toán cần phải giải quyết mà kho dữ liệu eo hẹp, hoặc thiếu tài nguyên tính toán, thiết bị tính toán tiên tiến.
Một số hướng phát triển tiếp của luận văn:
• Cải thiện độ chính xác của mô hình và ứng dụng vào nhiều lĩnh vực khác nhau, ví dụ: trích rút thông tin từ văn bản y tế mô tả về thuốc, công dụng của thuốc, thành phần.
• Xây dựng mô hình lớn hơn nhằm mục đích trích rút thông tin từ mọi mặt hàng hải quan và các mặt hàng hải quan thương mại điện tử (E-Commerce Commodity Customs Product).
[1] F. Chollet, Deep Learning with Python. Manning, Nov. 2017.
[2] C. Aggarwal and C. Zhai, Mining Text Data. Boston, MA: Springer US, 06 2012.
[3] D. S. Batista, “Named-entity evaluation metrics based on entity-level,” 2018. [4] M. T. Bahadori, Y. Liu, and D. Zhang, “A general framework for scalable transductive transfer learning,” Knowl. Inf. Syst., vol. 38, no. 1, pp. 61–83, 2014.
[5] N. Farajidavar, T. deCampos, and J. Kittler, “Adaptive transductive transfer machine,” in Proceedings of the British Machine Vision Conference, BMVA Press, 2014.
[6] D. D. Sarkar, “A comprehensive hands-on guide to trans- fer learning with real-world applications in deep learning.” https://towardsdatascience.com/a-comprehensive-hands-on-guide-
to-transfer-learning-with-real-world-applications-in-deep-learning- 212bf3b2f27a.
[7] L. Torrey and J. Shavlik, Transfer learning. In Handbook of research on ma- chine learning applications and trends: algorithms, methods, and techniques. IGI Global, 2010.
[8] I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning. Adaptive com- putation and machine learning, MIT Press, 2016.
[9] S. V. Lab, “Imagenet dataset.” http://image-net.org/index.
[10] S. J. Pan and Q. Yang, “A survey on transfer learning,” IEEE Transactions on Knowledge and Data Engineering, vol. 22, no. 10, pp. 1345–1359, 2010.
[11] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna, “Rethinking the inception architecture for computer vision,” CoRR, vol. abs/1512.00567, 2015.
[12] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large- scale image recognition,” arXiv preprint arXiv:1409.1556, 2014.
[13] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean, “Distributed representations of words and phrases and their compositionality,” in Ad- vances in Neural Information Processing Systems (C. J. C. Burges, L. Bot- tou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, eds.), vol. 26, Cur- ran Associates, Inc., 2013.
[14] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin, “Attention is all you need,” CoRR, vol. abs/1706.03762, 2017.
[15] E. Tzeng, J. Hoffman, N. Zhang, K. Saenko, and T. Darrell, “Deep domain confusion: Maximizing for domain invariance,” CoRR, vol. abs/1412.3474, 2014.
[16] Li Fei-Fei, R. Fergus, and P. Perona, “One-shot learning of object categories,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no. 4, pp. 594–611, 2006.
[17] J. Yosinski, J. Clune, Y. Bengio, and H. Lipson, “How transferable are fea- tures in deep neural networks?,” CoRR, vol. abs/1411.1792, 2014.
[18] J. Devlin, M. Chang, K. Lee, and K. Toutanova, “BERT: pre-training of deep bidirectional transformers for language understanding,” CoRR, vol. abs/1810.04805, 2018.
[19] D. Bahdanau, K. Cho, and Y. Bengio, “Neural machine translation by jointly learning to align and translate,” ArXiv, vol. 1409, 09 2014.
[20] Y. Wu, M. Schuster, Z. Chen, Q. V. Le, M. Norouzi, W. Macherey, M. Krikun, Y. Cao, Q. Gao, K. Macherey, J. Klingner, A. Shah, M. John- son, X. Liu, L. Kaiser, S. Gouws, Y. Kato, T. Kudo, H. Kazawa, K. Stevens, G. Kurian, N. Patil, W. Wang, C. Young, J. Smith, J. Riesa, A. Rudnick, O. Vinyals, G. Corrado, M. Hughes, and J. Dean, “Google’s neural machine