Do đó, luận văn này h°ßng đến mục tiêu xây dựng một giÁi pháp sinh dữ liệu văn bÁn cho phép t¿o ra những mô tÁ sÁn phẩm có nội dung thu hút và có thể áp dụng trong những tr°áng hợp thực
Trang 1Đ¾I HàC QUÞC GIA HÀ NàI TR¯äNG Đ¾I HàC CÔNG NGHà
Nguyßn Quang Minh
NGHIÊN CþU, PHÁT TRIàN CÔNG CĀ SINH MÔ TÀ
SÀN PHÀM CHO TH¯¡NG M¾I ĐIàN TĀ
LU¾N VN TH¾C SỸ KHOA HàC MÁY TÍNH
HÀ NàI - 2021
Trang 2Đ¾I HàC QUÞC GIA HÀ NàI TR¯äNG Đ¾I HàC CÔNG NGHà
Nguyßn Quang Minh
NGHIÊN CþU, PHÁT TRIàN CÔNG CĀ SINH MÔ TÀ
SÀN PHÀM CHO TH¯¡NG M¾I ĐIàN TĀ
Ngành: Khoa hác máy tính
Chuyên ngành: Khoa hác máy tính
Mã sß: 8480101.01
LU¾N VN TH¾C SỸ KHOA HàC MÁY TÍNH
NG¯äI H¯âNG DÂN KHOA HàC: PGS.TS TR¯¡NG ANH HOÀNG
HÀ NàI - 2021
Trang 3VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Nguyen Quang Minh
BUILDING PRODUCT DESCRIPTION GENERATOR
Trang 4i
LäI CAM ĐOAN
Tôi là Nguyễn Quang Minh, học viên cao học lßp K26-KHMT, chuyên ngành Khoa học máy tính Tôi xin cam đoan bài luận văn <Nghiên cāu, phát triển công cụ sinh
mô tÁ sÁn phẩm cho th°¢ng m¿i điện tử= do tôi đề ra và thực hiện d°ßi sự h°ßng dẫn cÿa PGS.TS Tr°¢ng Anh Hoàng Các nội dung nghiên cāu và kết quÁ trong luận văn
là xác thực
Tất cÁ các tài liệu tham khÁo từ các nghiên cāu liên quan đều có nguồn gốc rõ ràng từ danh mục tài liệu tham khÁo trong luận văn Trong luận văn, không có việc sao chép tài liệu, công trình nghiên cāu cÿa ng°ái khác mà không chỉ rõ về tài liệu tham khÁo
Hà Nội, ngày & tháng & năm 2021
Học viên cao học
Nguyễn Quang Minh
Trang 5ii
LäI CÀM ¡N
Đầu tiên, tôi xin gửi lái cÁm ¢n sâu sắc đến PGS.TS Tr°¢ng Anh Hoàng và TS Nguyễn Văn Vinh đã giúp đỡ tận tình tôi trong suốt quá trình thực hiện đề tài luận văn này Tôi cũng xin cÁm ¢n ThS Nguyễn Minh Thuận cùng b¿n Trần M¿nh Tùng
đã hỗ trợ tôi trong suốt quá trình nghiên cāu
Tôi cũng xin gửi lái cÁm ¢n chân thành đến các thầy cô, cán bộ tr°áng Đ¿i Học Công Nghệ - Đ¿i Học Quốc Gia Hà Nội đã tận tình giÁng d¿y và hỗ trợ tôi trong suốt quá khóa học th¿c sĩ
Cuối cùng, tôi xin gửi lái cÁm ¢n đến gia đình và b¿n bè, những ng°ái đã hỗ trợ tôi trong cuộc sống
Trang 6iii
Tóm tắt
Trong những năm gần đây, th°¢ng m¿i điện tử đã đ¿t đ°ợc những b°ßc tiến triển m¿nh mẽ và trã thành một xu h°ßng gần nh° không thể tách rái trong nhiều khía c¿nh cÿa cuộc sống Những tiến bộ công nghệ cùng lợi ích xuất phát từ lĩnh vực này
đã thu hút nhiều đối t°ợng tham gia, bao gồm cÁ các cá nhân và doanh nghiệp, t¿o
ra một sân ch¢i sôi động và mang tính c¿nh tranh cao Để tồn t¿i và phát triển trong một môi tr°áng nh° vậy, những đối t°ợng này cần liên tục cÁi thiện chất l°ợng đồng thái đẩy m¿nh việc quÁng bá sÁn phẩm trên các kênh truyền thông Bên c¿nh đó, họ cũng cần quan tâm đến một yếu tố quan trọng nữa chính là nội dung truyền đ¿t cÿa sÁn phẩm, đặc biệt là nội dung văn bÁn hay mô tÁ sÁn phẩm, bãi đây sẽ đóng vai trò
là cầu nối, cung cấp thông tin về đặc tr°ng hàng hóa đến khách hàng Một mô tÁ chính xác, đầy đÿ thông tin và hấp dẫn không chỉ giúp ng°ái tiêu dùng đ°a ra nhận định đúng đắn mà còn thúc đẩy đến quyết định mua hàng cÿa họ Mặc dù đóng vai trò quan trọng là vậy, việc t¿o ra những mô tÁ chất l°ợng còn v°ßng phÁi nhiều vấn
đề khó khăn do nhiều yếu tố, ví dụ nh° kinh phí và con ng°ái Do đó, luận văn này h°ßng đến mục tiêu xây dựng một giÁi pháp sinh dữ liệu văn bÁn cho phép t¿o ra những mô tÁ sÁn phẩm có nội dung thu hút và có thể áp dụng trong những tr°áng hợp thực tế GiÁi pháp này sẽ āng dụng những kỹ thuật, tiến bộ mßi, đặc biệt là những thành quÁ nghiên cāu nổi bật trong lĩnh vực học sâu để cÁi thiện chất l°ợng nội dung
mô tÁ Đồng thái, giÁi pháp cũng sẽ đ°ợc chāng minh có khÁ năng ho¿t động ổn định trong điều kiện thiếu thốn dữ liệu huấn luyện
Tÿ khóa: Th°¢ng m¿i điện tử, học sâu, sinh mô tÁ sÁn phẩm
Trang 7iv
Abstract
In recent years, e-commerce has made strong progress and has become an almost inseparable trend in many aspects of life Technological advancements and benefits stemming from this sector have attracted a wide range of participants, including individuals and businesses, creating a vibrant and highly competitive playing field
In order to survive and thrive in such an environment, these entities need to continuously improve their quality and promote their products on media channels Besides, they also need to pay attention to another important factor which is the communication content of the product, especially textual content or product description, because this will act as a bridge, providing information about product characteristics to customers An accurate, informative and attractive description not only helps consumers make the right judgment, but also motivates their purchase decision Despite playing such an important role, creating quality descriptions is fraught with difficulties due to many factors, such as funding or people Therefore, this thesis aims to build a textual data generation solution that allows to create product descriptions with attractive content and can be applied in real cases This solution will apply new techniques and advances, especially outstanding research results in the field of deep learning to improve the quality of description content At the same time, the solution will also be proven to be able to work stably in the condition of lack of training data
Keywords: E-commerce, deep learning, product description generation
Trang 8v
Māc lāc
LàI CAM ĐOAN i
LàI CÀM ¡N ii
Tóm tắt iii
Abstract iv
Mục lục v
Danh mục thuật ngữ và chữ viết tắt vii
Danh mục hình vẽ ix
Danh mục bÁng biểu x
Ch°¢ng 1 Mã đầu 1
1.1 Đặt vấn đề 1
1.2 Các nghiên cāu liên quan 3
1.2.1 Sinh văn bÁn 3
1.2.2 Sinh mô tÁ sÁn phẩm 5
1.3 Mục tiêu 5
1.4 Cấu trúc luận văn 6
Ch°¢ng 2 C¢ sã lý thuyết 7
2.1 Phát biểu bài toán 7
2.2 Transformer 9
2.2.1 Mã hóa vị trí 10
2.2.2 Bộ mã hóa 10
2.2.3 Bộ giÁi mã 15
2.3 GPT-2 17
2.3.1 Kiến trúc 17
2.3.2 Mã hóa đầu vào 19
2.3.3 Āng dụng 21
Trang 9vi
2.4 BART 21
2.4.1 Kiến trúc 21
2.4.2 Tiền huấn luyện 23
2.4.3 Āng dụng 24
2.6 RoBERTa 24
2.7 Độ đa d¿ng từ vựng 27
Ch°¢ng 3 GiÁi pháp 29
3.1 Sinh mô tÁ sÁn phẩm vßi GPT-2 29
3.2 Tăng c°áng dữ liệu 31
3.2.1 Viết l¿i văn bÁn bằng mô hình dịch 31
3.2.2 Thay thế từ đồng nghĩa 32
3.2.3 Thêm từ theo ngữ cÁnh 33
3.3 Task-Adaptive Pretraining 34
Ch°¢ng 4 Thực nghiệm và đánh giá kết quÁ 35
4.1 Dữ liệu 35
4.2 Mô hình 36
4.3 Ph°¢ng pháp đánh giá 37
4.3.1 Đánh giá tự động 37
4.3.2 Đánh giá thông qua con ng°ái 37
4.4 Kết quÁ và phân tích 38
Ch°¢ng 5 Kết luận và định h°ßng phát triển 42
Tài liệu tham khÁo 43
Tiếng Anh 43
Trang 10vii
Danh māc thu¿t ngữ và chữ viết tắt
vị ngữ nghĩa trong xử lý ngôn ngữ, trong nhiều tr°áng hợp token là các từ
Task-Adaptive Pretraining Tiền huấn luyện thích āng vßi nhiệm vụ
Feedforward Neural Networks M¿ng truyền thẳng
Multi-Head Attention Chú ý đa đầu
từ tiếp theo trong quá trình huấn luyện mô hình
xử lý ngôn ngữ tự nhiên
Byte-Pair Encoding Thuật toán nén dữ liệu sử dụng các thành phần
từ (Subword)
Unicode Bộ mã chuẩn quốc tế đ°ợc thiết kế để trã thành
bộ mã duy nhất cho tất cÁ các ngôn ngữ
Trang 11viii
Downstream task Có thể đ°ợc dịch là nhiệm vụ phía sau, nhiệm
vụ cụ thể - những tác vụ học giám sát đ°ợc cÁi thiện dựa trên những mô hình tiền huấn luyện
Pipeline Một chuỗi chu trình, chuỗi thuật toán
Kernel Hàm ánh x¿ dữ liệu từ không gian ít chiều sang
không gian nhiều chiều h¢n
sang chuỗi
Trang 12ix
Danh māc hình vẽ
Hình 2.1 Ví dụ các dữ liệu cÿa sÁn phẩm trên trang Amazon 8
Hình 2.2 S¢ đồ kiến trúc tổng thể cÿa Transformer 9
Hình 2.3 Kiến trúc lßp cÿa bộ mã hóa và bộ giÁi mã trong Transformer 11
Hình 2.4 Kiến trúc chi tiết một lßp cÿa bộ mã hóa trong Transformer 12
Hình 2.5 Mô tÁ kiến trúc Multi-Head Attention 14
Hình 2.6 Kiến trúc cÿa một lßp trong khối giÁi mã 15
Hình 2.7 Tổng quan quá trình biến đổi vect¢ đầu ra cÿa các lßp giÁi mã thành từ vựng t°¢ng āng 17
Hình 2.8 Thống kê số lßp cÿa từng phiên bÁn GPT-2 18
Hình 2.9 Mô tÁ kiến trúc cÿa GPT-2 19
Hình 2.10 C¢ chế mã hóa đầu vào cÿa GPT-2 20
Hình 2.11 S¢ l°ợc kiến trúc mô hình BART 22
Hình 2.12 BÁng so sánh hiệu suất cÿa BART vßi các mô hình ngôn ngữ nổi tiếng [22] 23
Hình 2.13 Các thí nghiệm chāng minh tính hiệu quÁ khi lo¿i bỏ nhiệm vụ NSP và sử dụng định d¿ng đầu vào Full-sentences [23] 26
Hình 3.1 Định d¿ng dữ liệu huấn luyện trong ph°¢ng pháp đề xuất 30
Trang 13x
Danh māc bÁng biáu
BÁng 2.1 Các thông tin đầu vào cần thiết trong quá trình sinh mô tÁ 7
BÁng 4.1 Số l°ợng mô tÁ tổng quan và mô tÁ thuộc tính sÁn phẩm 35
BÁng 4.2 Tổng hợp kết quÁ đánh giá trên độ mất mát và độ đa d¿ng từ vựng 38
BÁng 4.3 Tổng hợp kết quÁ đánh giá trên hai tập dữ liệu đã thấy và ch°a thấy 39
BÁng 4.4 Một số mô tÁ sÁn phẩm đ°ợc t¿o ra bãi các mô hình 40
Trang 14bị hỗ trợ khác Đây là một xu h°ßng kinh doanh đang trã nên cực kỳ thịnh hành, song song vßi hình thāc kinh doanh truyền thống Vßi việc āng dụng những tiện ích cÿa TMĐT, các doanh nghiệp giá đây có thể tối °u hóa các ph°¢ng h°ßng tiếp cận đối vßi tệp khách hàng cÿa mình, mã rộng quy mô Ánh h°ãng và tối đa hóa lợi nhuận
Mặc dù có sāc Ánh h°ãng sâu rộng đối vßi nhiều nền kinh tế và xã hội, trên thực tế lịch sử phát triển cÿa th°¢ng m¿i điện tử còn khá non trẻ Hình thāc có thể đ°ợc coi là nguyên mẫu đầu tiên cÿa xu h°ßng này xuất hiện vào cuối những năm
70 t¿i Anh Quốc, đ°ợc phát minh bãi nhà sáng chế Michael Aldrich1 Ông đã t¿o ra một hệ thống cho phép kết nối giữa máy tính cÿa doanh nghiệp vßi vô tuyến cÿa khách hàng thông qua đ°áng dây điện tho¿i, đây trã thành nền móng c¢ bÁn cÿa mua sắm trực tuyến Đến năm 1982, công ty Boston Computer Exchange2đ°ợc thành lập, đ°ợc xem là một trong những công ty th°¢ng m¿i điện tử đầu tiên, cung cấp giÁi pháp mua sắm trực tuyến máy tính cũ Vào các năm tiếp theo - 1995, 1998, các tập đoàn công nghệ hàng đầu trong TMĐT hiện nay - Amazon3 và Paypal4 lần l°ợt ra đái Năm 2006, lập trình viên Tobias Lutke5t¿o ra Shopify6, nền tÁng cho phép t¿o website bán hàng tự động, sau này cũng trã thành một trong những công ty công nghệ nổi tiếng nhất trong lĩnh vực này Năm 2007, Iphone7 ra mắt lần đầu tiên, t¿o nên một hiện t°ợng công nghệ trên toàn thế gißi, thay đổi các ph°¢ng thāc t°¢ng tác cÿa ng°ái sử dụng, mã rộng c¢ hội tiếp cận cÿa ng°ái dùng vßi các dịch vụ trực tuyến Và trong những năm trã l¿i đây, những doanh nghiệp th°¢ng m¿i điện tử thế
Trang 15ấn t°ợng tāc thái, giúp thu hút sự chú ý trong thái điểm đầu tiên tiếp xúc thì văn bÁn biểu đ¿t l¿i là một yếu tố không thể thiếu giúp khách hàng hiểu đ°ợc thông tin từ tổng quan đến chi tiết cÿa sÁn phẩm, là yếu tố then chốt dẫn đến quyết định mua hàng cÿa họ
Để t¿o ra những nội dung văn bÁn chất l°ợng, th°áng sẽ có hai cách chính Một là sao chép các nội dung sÁn phẩm t°¢ng tự trên các trang web th°¢ng m¿i điện
tử lßn, nội dung trên các trang này th°áng đã đ°ợc đầu t° sÁn xuất một cách chuyên nghiệp Nh°ợc điểm cÿa ph°¢ng pháp này là các nội dung trùng lặp th°áng bị đánh giá rất thấp bãi các công cụ tìm kiếm, từ đó khiến cho trang web cÿa bên bán hàng khó tiếp cận vßi khách hàng h¢n Cách làm thā hai là thuê ng°ái viết mô tÁ sÁn phẩm, đây là một ph°¢ng án cho phép t¿o ra những mô tÁ sÁn phẩm có nội dung phong phú
8 https://shopee.com/
9 https://www.lazada.com/
Trang 16Có thể nói, những vấn đề đề cập ã trên đây vô hình chung sẽ gây ra những khó khăn cho các cá nhân, doanh nghiệp có nhu cầu tham gia thị tr°áng số, đặc biệt là những đối t°ợng có khÁ năng đầu t° h¿n chế Do đó, cần thiết một công cụ có thể tự động hóa việc sinh nội dung sÁn phẩm để hỗ trợ các đối t°ợng kinh doanh th°¢ng m¿i điện tử vừa có thể gia tăng khÁ năng c¿nh tranh, vừa có thể tiết kiệm tối đa chi phí Để xây dựng đ°ợc công cụ này, cần xem xét bài toán sinh văn bÁn (text generation) trong lĩnh vực Xử lý ngôn ngữ tự nhiên Bài toán này đ°ợc định nghĩa là quá trình sinh văn bÁn đầu ra dựa trên điều kiện đầu vào vßi mục tiêu bắt ch°ßc càng giống càng tốt vßi văn phong do con ng°ái viết ra
1.2 Các nghiên cÿu liên quan
Trong những năm gần đây, sinh văn bÁn nói chung và sinh mô tÁ sÁn phẩm nói riêng
đã và đang nhận đ°ợc nhiều sự quan tâm và đầu t° nghiên cāu Đã có nhiều giÁi pháp đ°ợc công bố, một vài trong số đó đã cho thấy những kết quÁ hāa hẹn, cho phép mã
ra những h°ßng đi mßi trong lßp bài toán này Tuy vậy, vẫn tồn t¿i một số vấn đề còn ch°a đ°ợc giÁi quyết, cần đ°ợc tiếp tục cÁi thiện và phát triển trong thái gian t°¢ng lai Trong ch°¢ng này, luận văn sẽ đi qua một số công trình tiêu biểu về sinh văn bÁn nói chung và sinh mô tÁ sÁn phẩm nói riêng, từ đó phân tích những °u nh°ợc điểm cÿa chúng cùng những liên hệ vßi ph°¢ng pháp mßi
1.2.1 Sinh vn bÁn
Sinh văn bÁn tự động vẫn luôn là một bài toán quan trọng trong xử lý ngôn ngữ tự nhiên và đã thu hút đ°ợc những sự đầu t° nghiên cāu từ rất sßm Một trong số những h°ßng tiếp cận đầu tiên có thể kể đến là tập hợp những ph°¢ng pháp mô hình hóa cấu trúc diễn ngôn và học các biểu diễn quan hệ giữa các đ¢n vị văn bÁn Những công trình nổi bật trong lßp giÁi pháp này có thể kể đến nh° Lý thuyết cấu trúc tu từ (Rhetorical Structure Theory) cÿa Mann và Thompson [1] hay Lý thuyết thể hiện diễn ngôn đ°ợc phân đo¿n (Segmented Discourse Representation Theory) cÿa Asher
và Lascarides [2] Ngoài ra, còn có một số h°ßng nghiên cāu khác tập trung vào việc
Trang 174
xây dựng các mô hình sinh dựa trên khuôn mẫu kết hợp cùng những kỹ thuật dựa trên lý thuyết thống kê nh° nén câu, diễn giÁi từ vựng, chuyển đổi cú pháp, & để cÁi thiện chất l°ợng sinh văn bÁn nh° công trình cÿa Sporleder [3], hay cÿa Clarke và
M Lapata [4] Đặc điểm chung cÿa những nghiên cāu trong thái gian này là đều ch°a t¿o ra đ°ợc những kết quÁ thật sự đột phá Tuy nhiên, đây có thể coi là những b°ßc tiến quan trọng đầu tiên, góp phần t¿o nên nền móng vững chắc để phát triển những ý t°ãng mßi về sau này
Trong những thập kỷ tiếp theo, cùng sự nổi lên cÿa học máy và sự sẵn có cÿa những nguồn dữ liệu mã, sinh văn bÁn đã đ¿t đ°ợc những b°ßc phát triển v°ợt bậc, những nghiên cāu trong thái kỳ này có xu h°ßng dịch chuyển từ việc áp dụng những
mô hình đ¢n giÁn nh° sử dụng luật, khuôn mẫu sang āng dụng những kỹ thuật tiến
bộ cÿa học máy Sự thay đổi này bắt đầu diễn ra trong khoÁng từ những năm đầu cÿa thập niên 2010, vßi những nghiên cāu chÿ yếu tập trung vào việc āng dụng những m¿ng n¢-ron hồi quy (Recurrent Neural Network) nh° công trình cÿa Graves (2013) [5] đề xuất việc āng dụng mô hình Bộ nhß dài ngắn h¿n (Long short-term memory [6], một biến thể cÿa m¿ng n¢-ron hồi quy) để t¿o ra những văn bÁn phāc t¿p hay giÁi pháp cÿa Cho và các cộng sự [7] vßi việc xây dựng m¿ng Nút hồi tiếp có cổng (Gated Recurrent Unit - GRU) cho việc học các biểu diễn ngôn ngữ và đặc biệt là sự xuất hiện cÿa mô hình chuỗi sang chuỗi (Sequence-to-Sequence - Seq2Seq) [8] - một
mô hình đột phá vßi kiến trúc mã hóa-giÁi mã kết hợp cùng m¿ng tuần tự Mô hình hoàn toàn mßi này đã chāng minh đ°ợc tính hiệu quÁ trong rất nhiều tác vụ khác
nhau nh° sinh văn bÁn, dịch máy, sinh hội tho¿i, & Tuy nhiên, các giÁi pháp dựa trên Seq2Seq trong thái điểm này cũng đã gặp phÁi một vấn đề nan giÁi là không thể nắm bắt đ°ợc sự phục thuộc ngữ nghĩa xa trong văn bÁn dài Điều này đã thúc đẩy những nỗ lực nghiên cāu mßi nh° công trình xây dựng các m¿ng <attention= (Bahdanau cùng các cộng sự [9]) hay các m¿ng <pointer= (Vinyals cùng các cộng sự [10]) Đến năm 2017, Google đã công bố kiến trúc Transformer vßi c¢ chế mã hóa kết hợp kỹ thuật attention mềm dẻo (soft attention) trên bộ giÁi mã đã thực sự giÁi quyết đ°ợc phần nào vấn đề trên Mô hình này cũng đã trã thành một tiêu chuẩn mßi trong sự phát triển cÿa những mô hình ngôn ngữ thế hệ tiếp theo, tiêu biểu là BERT, GPT-2, GPT-3, XLNet,
Trang 185
1 2.2 Sinh mô tÁ sÁn phÁm
Giống nh° Sinh văn bÁn, Sinh mô tÁ sÁn phẩm cũng đã trÁi qua một thái gian dài nghiên cāu và phát triển Một trong những nỗ lực đầu tiên để giÁi quyết bài toán này
có thể kể đến nh° ph°¢ng pháp sử dụng khuôn mẫu kết hợp vßi các kỹ thuật thống
kê cÿa Wang cùng các cộng sự [11] Trong nội dung giÁi pháp, các tác giÁ đã đ°a ra một số kỹ thuật mßi bao gồm: Lựa chọn giá trị thuộc tính cÿa sÁn phẩm khi điền vào mẫu (Value Preference); Trích trọn xác suất xuất hiện cÿa thuộc tính theo ph°¢ng pháp thống kê (Attribute Prior); Tính toán điểm cấu trúc cÿa văn bÁn dựa trên các câu cÿa nó cùng xác suất có điều kiện giữa các thuộc tính trong từng câu; Đánh giá, xếp h¿ng các mô tÁ dựa trên các thông tin đã đ°ợc trích xuất cùng ph°¢ng pháp SVM vßi h¿t nhân tuyến tính (linear kernel) [12] Kết quÁ báo cáo cÿa nghiên cāu cũng đã cho thấy giÁi pháp có thể t¿o ra tính liên kết giữa các giá trị thuộc tính cÿa sÁn phẩm đầu vào vßi nội dung cÿa những khuôn mẫu có sẵn Tuy nhiên, ph°¢ng pháp này vẫn còn gặp nhiều h¿n chế, tiêu biểu là việc không thể t¿o ra những văn bÁn có cấu trúc phong phú và chāa hàm l°ợng thông tin cao Để giÁi quyết vấn đề này, một vài công trình nghiên cāu khác chuyển h°ßng sang áp dụng những kỹ thuật học sâu nh° công trình cÿa Chen cùng các cộng sự [13] đã sử dụng mô hình Transformer để cÁi tiến chất l°ợng ngữ nghĩa cÿa mô tÁ sÁn phẩm Mặc dù nghiên cāu này cho kết quÁ đầu
ra t°¢ng đối khÁ quan nh°ng vẫn đối mặt một nh°ợc điểm quan trọng là mô hình đòi hỏi rất nhiều dữ liệu trong quá trình huấn luyện Đây là một vấn đề cần đ°ợc cân nhắc kỹ l°ỡng trong nhiều tình huống áp dụng bãi vì dữ liệu có thể thu thập trong thực tế sẽ rất có thể bị gißi h¿n trong một số điều kiện nhất định
sẽ đ°ợc chāng minh khÁ năng ho¿t động ổn định trong điều kiện thiếu thốn dữ liệu huấn luyện Ngoài ra, luận văn cũng sẽ đ°a ra chi tiết những thử nghiệm, đánh giá
trên những mô hình / ph°¢ng pháp có sử dụng trong quá trình nghiên cāu để phân tích những °u, nh°ợc điểm cÿa chúng khi áp dụng vào bài toán này
Trang 207
Ch°¢ng 2 C¢ sở lý thuyết
Trong phần này, luận văn sẽ mô tÁ cách thāc mô hình hóa bài toán, chuyển từ bài toán sinh dữ liệu mô tÁ sÁn phẩm sang bài toán Seq2Seq có điều kiện Một số kiến thāc phục vụ trong quá trình triển khai ph°¢ng pháp đề xuất cũng sẽ đ°ợc gißi thiệu
và trình bày tổng quan, nh° mô hình Transformer, GPT-2, Độ đa d¿ng từ vựng,
2 1 Phát biáu bài toán
Đầu tiên, luận văn sẽ mô hình hóa bài toán ã d¿ng c¢ bÁn â b°ßc này, có thể phát biểu nội dung bài toán nh° sau: <Đối vßi một đầu vào văn bÁn là tên sÁn phẩm, xây dựng một hệ thống cho phép tự động t¿o ra một mô tÁ t°¢ng āng, giÁ định rằng tiêu
đề sÁn phẩm và mô tÁ cÿa chúng đ°ợc định nghĩa là và
.=
Mục tiêu ã b°ßc này là phân tích xác suất có điều kiện giữa kết quÁ đầu ra đối vßi chuỗi đầu vào thành tích các xác suất có điều kiện cÿa các token trong chuỗi đối vßi các token đ°ợc t¿o ra tr°ßc đó cÿa chúng cùng chuỗi đầu vào:
BÁng 2.1 Các thông tin đầu vào cần thiết trong quá trình sinh mô tÁ
Category structure Cấu trúc danh mục sÁn phẩm
Trang 218
attribute Thuộc tính cÿa sÁn phẩm
BÁng 2.1 đã liệt kê những thông tin đầu vào cần thiết trong quá trình sinh mô
tÁ Lý do những thông tin này đ°ợc chọn là bãi cấu trúc danh mục có thể giúp ng°ái tiêu dùng phân lo¿i đ°ợc sÁn phẩm, th°¢ng hiệu giúp định vị đ°ợc độ tin cậy lẫn nguồn gốc xuất xā và cuối cùng các thuộc tính sẽ cung cấp cái nhìn chi tiết về những đặc tr°ng cÿa sÁn phẩm
Hình 2.1 Ví dụ các dữ liệu cÿa sÁn phẩm trên trang Amazon
Nh° trong ví dụ cÿa Hình 2.1, một sÁn phẩm tai nghe trên trang TMĐT Amazon có thể có những dữ liệu quan trọng nh° tiêu đề, cấu trúc th° mục, thuộc tính
và các mô tÁ chi tiết về sÁn phẩm
Trang 229
2.2 Transformer
Transformer là một mô hình ngôn ngữ đ°ợc Google phát triển và công bố vào năm
2017 trong bài báo <Attention is All You Need= [14] Kiến trúc cÿa mô hình này bao gồm hai thành phần chính là Bộ mã hóa và Bộ giÁi mã Nhiệm vụ cÿa chúng là biến đổi nội dung đầu vào thành một nội dung đầu ra t°¢ng āng Cụ thể h¢n, bộ mã hóa
sẽ ánh x¿ chuỗi token đầu vào thành một chuỗi liên tục t°¢ng āng và bộ giÁi mã sẽ sử dụng chuỗi này để t¿o ra một chuỗi đầu ra D°ßi đây là s¢ đồ kiến trúc tổng thể cÿa mô hình
Hình 2.2 S¢ đồ kiến trúc tổng thể cÿa Transformer Nh° trong Hình 2.2, câu <Tôi là sinh viên= là một văn bÁn nguồn đã đ°ợc bộ
mã hóa xử lý thông qua các phép biến đổi để trã thành đầu vào cÿa bộ giÁi mã Sau
đó, bộ giÁi mã l¿i biến đổi tiếp đầu vào này thành kết quÁ cuối cùng là <I'm a student=
Để làm rõ h¢n quy trình cũng nh° tính hiệu quÁ cÿa kiến trúc này, trong những phần nội dung tiếp theo, luận văn sẽ đi vào chi tiết h¢n về những thành phần cấu t¿o cùng những kỹ thuật, lý thuyết liên quan đến mô hình
Trang 2310
2.2.1 Mã hóa vß trí
Nh° chúng ta đã biết, tr°ßc khi các từ trong văn bÁn thực sự đ°ợc xử lý bãi mô hình, chúng phÁi trÁi qua quá trình mã hóa để chuyển sang một hình thāc biểu diễn thông tin khác mà ch°¢ng trình có thể hiểu đ°ợc Hình thāc biểu diễn thông tin này đ°ợc gọi là các từ nhúng, vect¢ từ nhúng hoặc word embedding Các vect¢ này sau đó đ°ợc nối vßi nhau trã thành một ma trận hai chiều và đ°ợc xử lý bãi các tiến trình tiếp theo cÿa mô hình Quá trình này rất phổ biến và không có vấn đề gì khi đ°ợc áp dụng ã các mô hình tuần tự Nh°ng trong Transformer, có một vấn đề khác nÁy sinh
là mô hình không thể nhận biết đ°ợc vị trí cÿa các từ thông qua word embedding do c¢ chế xử lý các từ song song cÿa mô hình Để giÁi quyết vấn đề này, các tác giÁ đã gißi thiệu c¢ chế mã hóa mßi có tên gọi là mã hóa vị trí (position encoding), vßi mục tiêu mã hóa vị trí cÿa các từ bằng một vect¢ có kích th°ßc bằng word embedding và
sẽ đ°ợc cộng trực tiếp vào vect¢ embedding t°¢ng āng D°ßi đây là công thāc mã hóa vị trí đ°ợc nêu trong bài báo:
(2) Trong đó:
(3)
â công thāc (2), t là vị trí cÿa từ trong văn bÁn, i là vị trí cÿa chiều trong không gian embedding, các tác giÁ dùng hàm sin để tính giá trị t°¢ng āng vßi vị trí chiều chẵn và cos vßi vị trí chiều lẻ
2.2.2 Bá mã hóa
2 2.2.1 Kiến trúc
Nh° đã đ°ợc mô tÁ trong Hình 2.2, Bộ mã hóa là một trong hai thành phần quan trọng cÿa mô hình Transformer, đóng vai trò mã hóa đầu vào thành một biểu diễn mßi giàu thông tin h¢n gọi là <vect¢ ngữ cÁnh= Kiến trúc cÿa bộ mã hóa đ°ợc t¿o nên bằng cách xếp chồng các lßp mã hóa vßi nhau (th°áng là 6 lßp), t¿o thành một m¿ng truyền thẳng (Feedforward Neural Networks) Kiến trúc này cho phép các lßp
xử lý đồng thái các từ, thay vì xử lý tuần tự giống các mô hình khác nh° LSTM
Trang 2411
Hình 2.3 Kiến trúc lßp cÿa bộ mã hóa và bộ giÁi mã trong Transformer
Nh° trong Hình 2.3, khối bộ mã hóa bÁn chất là một chuỗi các lßp xếp chồng lên nhau, có nhiệm vụ xử lý dữ liệu đầu vào để cung cấp thông tin cho các lßp trong khối Decoder
Tiếp theo, trong mỗi bộ mã hóa l¿i có hai thành phần chính là tầng tập trung
đa đầu (multi-head attention) và m¿ng truyền thẳng (feedforward network), ngoài ra còn có bỏ kết nối (skip connection) và lßp chuẩn hóa (normalization) S¢ đồ kiến trúc chi tiết cÿa một lßp mã hóa sẽ đ°ợc trình bày nh° d°ßi đây:
Trang 2512
Hình 2.4 Kiến trúc chi tiết một lßp cÿa bộ mã hóa trong Transformer
Nh° trong hình, sau khi nhận đ°ợc đầu vào là ma trận biểu diễn cÿa các từ đã đ°ợc thêm thông tin ã b°ßc mã hóa vị trí (Positional Encoding), mô đun chú ý đa đầu sẽ là n¢i xử lý đầu tiên cÿa dữ liệu Mô đun này là một phần trong c¢ chế chú ý, bao gồm nhiều lßp tự chú ý (self-attention) để có thể xử lý nhiều mẫu khác nhau trong dữ liệu
2.2.2.2 Tự chú ý
Tự chú ý hay Self Attention là một c¢ chế cho phép mô hình xem xét những thông tin có liên quan tßi một từ trong ngữ cÁnh văn bÁn (th°áng là những từ khác trong
Trang 2613
chính văn bÁn đó) để tìm ra manh mối có thể giúp dẫn đến mã hóa tốt h¢n cho từ này Ví dụ trong một câu <Tôi đã mua một quyển sách vào chiều thā bÁy và nó có giá 100 nghìn đồng=, khi <nó= đ°ợc mã hóa, mô hình sẽ đặc biệt chú ý vào các từ có liên quan nh° <quyển sách=, điều này cũng rất hợp lý khi trong thực tế không phÁi bất kỳ cặp từ nào cũng có mối t°¢ng quan giống nhau Việc áp dụng kỹ thuật này sẽ giúp mô hình cÁi thiện khÁ năng học phụ thuộc xa, giÁm thiểu sự phāc t¿p trong mỗi lßp đồng thái song song hóa khối l°ợng tính toán, qua đó tăng tốc các tác vụ cÿa mô hình Tự chú ý cũng đã đ°ợc āng dụng rất thành công trong nhiều bài toán khác nhau nh° đọc hiểu, tóm tắt trừu t°ợng văn bÁn,
Để tính toán giá trị attention cho toàn bộ các từ trong một câu, mô hình Transformer đã sử dụng ba ma trận là Query, Keys và Values (viết tắt là Q, K, V t°¢ng āng) Trong đó, Query dùng để chāa thông tin cÿa từ đ°ợc tìm kiếm, mỗi dòng cÿa Q sẽ là một vect¢ đ¿i diện cho các từ đầu vào, Key dùng để biểu diễn thông tin cÿa các từ đ°ợc so sánh vßi từ cần tìm kiếm đó (mỗi dòng cũng là một vect¢ cÿa từ đầu vào) và Values dùng để biểu diễn nội dung, ý nghĩa cÿa các từ Hai ma trận Q,
K sẽ đ°ợc sử dụng để tính giá trị attention cÿa các từ trong câu đối vßi một từ xác định Tiếp theo, các giá trị này sẽ đ°ợc sử dụng để tính ra các vect¢ attention dựa trên việc trung bình hóa có trọng số vßi ma trận V Ph°¢ng trình tính toán Attention đ°ợc mô tÁ nh° sau:
(4) Trong đó:
● là số chiều cÿa vect¢ Key Việc chia cho là nhằm mục đích tránh tràn luồng nếu số mũ trã nên quá lßn
2.2.2.3 T¿ng chú ý đa đ¿u
Áp dụng kỹ thuật tự chú ý, Transformer có thể học đ°ợc những mối quan hệ giữa các từ vßi nhau trong một văn bÁn Tuy nhiên, trong thực tế những mối quan hệ này cũng rất đa d¿ng và phong phú, không thể chỉ gói gọn trong một hình thāc thể hiện nhất định Do đó, để mã rộng cũng nh° cÁi thiện hiệu suất cÿa mô hình, các tác giÁ
đã đề xuất sử dụng nhiều lßp tự chú ý nhằm mục đích nắm bắt nhiều nhất có thể những mối quan hệ trong văn bÁn Và để phân biệt các lßp tự chú ý vßi nhau, các ma
Trang 27dữ liệu mã hóa vị trí và cho ra các kết quÁ đầu ra t°¢ng āng
2.2.2.4 Kết nßi ph¿n d° và Lãp chuÁn hóa
Trong mỗi lßp encoder, các kết nối phần d° (residual connection) và lßp chuẩn hóa đóng vai trò giúp mô hình có thể hội tụ nhanh h¢n và tránh mất mát thông tin trong quá trình huấn luyện Chi tiết minh họa cÿa hai thành phần này đã đ°ợc đề cập đến trong Hình 3.3
Trang 28Hình 2.6 Kiến trúc cÿa một lßp trong khối giÁi mã Nh° trong Hình 2.6, mỗi lßp giÁi mã sẽ bao gồm 3 thành phần chính là tầng tập trung đa đầu có mặt n¿ (Masked Multi Head Attention), chú ý đa đầu (Multi-Head Attention) và m¿ng truyền thẳng (Feedforward) Trong đó ngoài lßp truyền thẳng đã biết thì tập trung đa đầu có mặt n¿ là lßp có chāc năng mã hóa các token trong văn bÁn đích trong quá trình dịch nh°ng có ẩn đi những từ ch°a đ°ợc mô hình dịch đến Đầu ra cÿa lßp này và đầu ra cÿa khối mã hóa đ°ợc lßp chú ý đa đầu sử
Trang 2916
dụng để học ra mối t°¢ng quan giữa từ nguồn và từ đang đ°ợc dịch nh° đã đề cập ã phần trên
2.2.3.2 Lãp tuyến tính cußi cùng và lãp Softmax
Sau tất cÁ quá trình xử lý, các lßp giÁi mã sẽ cho ra đầu ra cuối cùng là một vect¢ bao gồm những số thực Để chuyển hóa kết quÁ này thành một từ có ý nghĩa, mô hình sẽ sử dụng lßp tuyến tính cuối cùng (Final Linear) cùng lßp Softmax Trong đó, lßp tuyến tính cuối cùng bÁn chất là một m¿ng n¢-ron kết nối đầy đÿ có nhiệm vụ biến đổi vect¢ đầu vào thành một vect¢ lßn h¢n rất nhiều đ°ợc gọi là vect¢ <logits" Vect¢ này có số chiều bằng vßi số từ trong tập từ vựng cÿa mô hình, mỗi ô trong vect¢ chāa giá trị t°¢ng đ°¢ng vßi một điểm cÿa một từ duy nhất Những điểm này
sẽ đ°ợc chuyển hóa thành giá trị xác suất thông qua lßp Softmax Cuối cùng mô hình
sẽ chọn ra từ t°¢ng āng vßi ô chāa giá trị xác suất cao nhất trong vect¢ trên