TRƯỜNG ĐẠI HỌC KINH TE QUOC DÂN
VIỆN CÔNG NGHỆ THONG TIN VÀ KINH TE SỐ
ĐỀ TÀI:
NGHIÊN CỨU ĐÈ XUẤT VÀ CÀI ĐẶT THỨ NGHIỆM
MÔ HINH TOM TAT DON VAN BẢN TIENG ANH
KIEU TRICH XUAT
Sinh viên thực hiện : Lê Thu Hương
Giảng viên hướng dẫn : ThS Lưu Minh Tuấn
Trang 2MỤC LỤC
0/1900 905 i
DANH MỤC HÌNH VẼ - 2-2 s<s£©Ss£Ess©EssEvseEssersetrserssersseerserrserse iv
Ij.9):8/10/96:7.9 c7 vi
CÁC THUẬT NGỮ VIET TẮTT -s- 2 s£s£ssss£sssessEssezssesssessersse vii LOT CAM ON Viii 0980009671057 1
CHUONG 1: TONG QUAN VE DE TAL 5- 5° 52s 5s se ssessessesssesee 3 1.1 GIỚI THIỆU CƠ SỞ THUC TAP onoeecccececssesssesssesssessessssssecssessusssesssecsseeseeess 3
L.L.1 Giới thiệu cơ sở thực tẬP - -.- - Gà 1n SH HH Hy 3 1.2.2 Mục tiêu của đề tài s- 2c 2222k 2212112711271 1erree 6
1.2.3 Ý nghĩa của đề tài - 5c sec EEE211211 1112112112111 1kg 6
1.3 XỬ LÝ NGÔN NGU TỰ NHIÊN VA BÀI TOÁN TÓM TAT VAN BAN6 1.4 LỰA CHỌN CÔNG CỤ VA MOI TRƯỜNG CÀI ĐẶT 9
CHƯƠNG 2: CƠ SỞ LY THUYET 2-s°sss£s2vssevsseezssezssers 11
2.1 MẠNG NƠRON NHÂN TAO Woes ssssssssssssssssssecssesssessscssecssecsssesecasecssecseseses 11 2.1.1 Noron nhân tao - 2 33221112 ng ng ng nến 11
Trang 32.1.2 Kiến trúc mạng noron nhân AO - - 5 3s 3+ stress 13
2.1.3 Phan loại mạng TIOTOII - (G1391 8391 E311 9 vn re 14
2.1.4 Mạng noron truyền thăng nhiều lớp và thuật toán lan truyền ngược L5
2.1.5 _ Giảm lỗi cho mạng nØrOn :- 2 25 + ++++£+2E++E+zEzxezxerxerxerxee 18
2.2 CÁC KỸ THUAT VEC TO HOA DU LIEU VAN BẢN 19
QQ Khai nie <d-:L.L)Ố , 19
2.2.2 Phương pháp dựa trên TIF#IDE 5 5 + ng net 20
2.2.3 Kỹ thuật Word2VeC - - LH TH TH HH HH kg 21
2.2.4 Mô hình skIp-BTam - G1 E11 HH ng ky 22
2.2.5 Mô hình CBOW (Continuous Bag of Word) -. ss-ccsscssses 23
2.2.6 Kỹ thuật DOC2VEC - cv HH TH HH HH kg 24
2.3 HỌC SAU VÀ MẠNG NƠRON TÍCH CHẬP - -:-++ 24
2.3.1 GIớI thIỆU SH Tnhh gà 24
PIN Na ion nh ừễ::'a.iÍ:ö:ö<ö:sÖ5Ê5Ö 25
2.3.3 Kiến trúc của CNN ccccrnt thue 26
2.3.4 Các van đề cơ bản trong CNN :- sex 2 2EEEEEEeEkerkerkereee 28 2.3.5 Mô hình CNN nhiều lớp - 2: 5¿©52++£+EE+£E2E£EE+EEeEEzEerrxerxerreee 29 2.3.6 Huấn luyện trong CNN -¿- ¿5c 2 2121121121211 11 xe, 29 2.4 MÔ HÌNH BERT TRONG TOM TAT VĂN BẢN -: 30
2.4.1 Giới thiệu mô hình BERT ee ceceeceeeeeeseeeeeeseesececeeeeeseeeeeeeaeens 30
2.4.2 M6 hinh BERTSum 0 ¿ỪỎỘỪ Ả 33
2.4.3 Mô hình PhoBEiRÏT” - + s3 3 9191 vn ng nh g rưkt 35
2.5 BÀI TOÁN TOM TAT VAN BẢN - ccccccccrrtiirrrrirrrrrirrrrrrree 37 2.5.1 Quy trình xử lý bài toán tóm tắt văn bản -. : ¿-x+c.++c++ 37
il
Trang 42.5.2 Tiền xử lý văn bản - + 2+ EE21121121111121 111111 1xx, 38
2.6 ĐÁNH GIÁ HIỆU QUẢ -2- 22222 2222EE2SEE2EEEEEEEEECEEkerrkerkrerkee 39
2.6.1 Độ chính xác (Precision) và độ hồi tưởng (Recall) - 39
2.6.2 Độ tương tự về nội dung (Content-based SimilarIty) - 40
2.6.3 Độ tương quan phù hợp (Relevance Correlation) -‹+ 40
CHUONG 3: ĐÈ XUẤT MO HÌNH TÓM TAT VĂN BẢÁN -. 42
3.1 MÔ HÌNH CƠ SỞ - - 5-22 2122k EE2212217121121121111 11121111 42 3.2 CẢI TIỀN MÔ HÌNH ĐỀ XUẤTT 2-©2¿©2++2++£E£EE2EEtrrerrreerxee 45 CHUONG 4: CÀI ĐẶT THU NGHIEM VA ĐÁNH GIÁ . - 48
4.1 BỘ DU LIEU THU NGHIỆM -2- 2 + E++E++£E+Exerxzrxerxerxerxee 48
4.2 THU NGHIỆM MO HÌNH GÓC - + + +++E+EEtEEeEErrxrrrerkerree 49 5.3 HƯỚNG PHAT TRIEN TRONG TƯƠNG LAI -2 5¿c5+¿ 62
TÀI LIEU THAM KHAO 2-2 5< ©ss£EssSssSseEsseEssexsersserssersre 64
lil
Trang 5DANH MỤC HÌNH VE
Hình 1.1: Sơ đô cơ cầu tổ chức của Kqopii -2-55-5s55c2c+cc+ecscsced 4 Hình 1.2: Mô hình tổng quát của hệ thong tóm tắt văn bản -. - 6
Hình 2.1: Mô hình một noron nhâH ÍQO -«c c2 keeeeesssss Il
Hình 2.2: Kiến trúc mạng NOTON NNGN ÍqO àằ- cà cssScseEseeeresseererrerrs 13
Hình 2.3: Mang noron mot lop cscccscccssccssccesscesessneceneceseeeseeessecsecsneeeseeesneesaes 14
Hình 2.4: Mạng noron ba lớp truyền thang icceccecceccscescsscssseseessesesessesseseeseesee 15
Hình 2.5: Mạng noron truyền thẳng nhiễu lớp - 2: s©s+c+c+c+cseẻ 16 Hình 2.6: Giảm lỗi cho MAN HOYOH 5-5-5 5eESE‡EE‡EE+EEE£EEEEESESErEerkees T8
Hình 2.7: Vấn dé over fitting.cccceccecsecsessessessssssessessessessessessussssssessessessessessssseeees 19 Hình 2.8: Vấn dé under fitting eccecceccesscssessssssessessessessessesssssessessessessessessesssesees 19
Hình 2.9: Kiến trúc mạng mô hình sKID-BT(H cằẶ nh shhhssiiirrsssee 22 Hình 2.10: Minh họa kết quả phép nhân véc tơ one-hot với ma trận trọng số
TOP ẨN 5S E EESEEEEEKEEE E1 E11E112112112111 1111111111111 rye 23 Hình 2.11: Kiến trúc mô hình Doc2Vec -cccccceseccxverrrrrreeerrre 24
Hình 2.12: Mô hình CÌNÌN - «xxx nh nh th Hư tt 25
Hình 2.13: Minh hoa một phép tích chẬp c-cssccssseersseeeeseeress 26Hình 2.14: Convolution với ĐỘ lỌC ÏẨ€F ĂĂẶ RE hhh gvvverrey 27
Hình 2.15 Ví dụ tính toán với phương pháp MaxPooling 27
Hình 2.16: Kiến trúc của mô hình BERT - -¿©-s+©ce+cxc+rsrxesrserxeee 31
Hình 2.17: Đầu vào của BET -ccccccccctetrerktrtrtrkirrrtrtirrrrrrrrree 32
IV
Trang 6Hình 2.18: Kiến trúc mô hình BERTiSUI - 2 2 Set St +t+EvEvESESEEEEEsrersseea 33 Hình 2.19: Điểm hiệu suất (tinh theo) cesses 36 Hình 2.20: Các bước tóm tắt van bản sử dụng các kỹ thuật học sâu 37
Hình 3.12 Mô Ninh CƠ SỞ Gv ngư 42
Hình 3.2: Mô hình dé xuất csc cccccccSteteEEEtrtttrktrtrtrkirrrtrtrrrrrrrrrree 45
Hình 3.3: Quá trình kiểm tra mô hình csc sằc ces cue sẽ ces sec xác se cence 46
Hình 4.1: Mô hình kịch Dan Ì c c3 18v 11kg xxx 51Hình 4.2: M6 hình kịch Dan 22 c5 E31 vv 11991 k1 kg ky 534
Hình 4.3: Mô hình kịch DAN 3 - E6 EEEEEEEEEEEEEEEEEkEkkkkeeeeeeree 57
Trang 7DANH MỤC BANG
Bang 4.1: Thống kê của hai bộ dữ liệu DUC [19][20] -. -5:- 47
Bang 4.2: Thông tin các D6 Ait lIỆU - c Sàn hSitseertesserseseerrse 48
Bảng 4.3: Kết quả thử nghiệm mô hình gOC vecccecceccscsscsscssesseessesssvssvesvesseseesee 49
Bảng 4.4: Kết quả thứ nghiệm kịch DAN Ï cssccsssssekrtesereseeeresseers 51 Bang 4.5: Kết quả thử nghiệm kịch bản 2 -2-52- 252 Sc+ce£zEzEereerxee 54
Bảng 4.6: Kết quả thir nghiệm kịch DAN Š 5s *s£sevseeseeeses 57 Bảng 4.7: Kết quả độ do ROUGE trên các mô Ninhiecceccccceccecescsscssvesveseessesee 59
vi
Trang 8CÁC THUẬT NGỮ VIET TAT
STT Từ viết tắt Ý nghĩa
1 TTVB Tom tat van ban
2 TF Tần suất xuất hiện từ (Term Frequency)
3 IDF Tân suất nghịch của một từ trong tập ngữ liệu
(Inverse Document Frquency)
4 POS Gan nhãn từ loại (Part of Speech)
5 ANN Mạng nơron nhân tạo (Artificial Neural network)
6 CNN Mạng nơron tích chập (Convolution Neural
7 RNN Mạng noron hôi quy (Recurrent Neural Network)
vii
Trang 9LOI CẢM ON
Trước tiên em xin chân thành cảm ơn ThS Lưu Minh Tuan, thay đã trực tiếp hướng dẫn và giúp đỡ em rất tận tình trong quá trình thực hiện chuyên đề thực tập.
Em xin gửi lời cảm ơn đến tất cả các thầy cô trong Viện Công nghệ thông tin và Kinh tế số Trường Đại học Kinh tế quốc dân Các thầy cô đã giảng dạy, truyền
đạt những kiến thức nền tảng và đã hỗ trợ cho em rất nhiều trong quá trình thực
hiện đê tài này.
Trong quá trình thực hiện dé tài, mặc dù đã có gắng rất nhiều nhưng với kha năng hiểu biết còn hạn chế của bản thân nên không thê tránh khỏi những thiếu sót Em rat mong nhận được sự góp ý quý báu của các thầy cô, bạn bè dé em có thé hoàn thiện đề tài này một cách tốt hơn.
Em xin chân thành cảm ơn!
Hà Nội, tháng 05 năm 2020Sinh viên
Lê Thu Hương
viii
Trang 10LỜI MỞ ĐẦU
Chúng ta hiện nay đang sông trong thời đại công nghiệp 4.0, khi mà công nghệ thông tin đang ngày càng phát triển và hiện đại hóa Các ý tưởng được thiết lập và ứng dụng vào thực tế ngày càng nhiều góp phần đem lại những ảnh hưởng to lớn
đến đời sống của mọi người Các thành tựu của khoa học công nghệ đang thay đổi
cuộc sống của mỗi chúng ta một cách to lớn Trong nền kinh tế hiện nay, thông tin là yếu tố cốt lõi, quan trọng đối với bất kỳ cá nhân hay tô chức nào Vì vậy việc tiếp nhận thông tin một cách nhanh chóng, dé dang và trong một khoảng thời gian ngắn
là hết sức cần thiết Đặc biệt với sự xuất hiện của Internet giúp chúng ta có thể tiếp
nhận tri thức một cách nhanh chóng nhat, cập nhật thong tin một cách chu động,
liên tục thậm chí là theo từng giây Thông qua Internet, con người có thé tiếp nhận được thông tin từ mọi lĩnh vực của đời sống, từ mọi quốc gia từ đó nâng cao tri thức
cho bản thân.
Tuy nhiên, cũng chính vì sự đa dạng phong phú của thông tin mà đôi khi sẽ trở
thành thách thức cho việc tìm kiếm, tổng hợp và tiếp nhận thông tin một cách chính xác và nhanh chóng dé có thé đáp ứng được nhu cầu của bản thân Dé giải quyết
van dé này, TTVB đã được phát triển một cách nhanh chóng.
TTVB là một bài toán tiêu biểu của lĩnh vực khai phá dữ liệu van bản TTVB là tìm cách trích rút ra những thông tin quan trọng và có giá trị của một hay nhiều văn bản Điều này sẽ giúp cho người đọc có thê rút ngắn được thời gian đọc văn bản và nắm bắt được một khối lượng lớn thông tin một cách dễ dàng, tiện lợi hơn trước.
Đề thực hiện được TTVB sẽ cần áp dụng các kiến thức xử lý ngôn ngữ tự nhiên,
một lĩnh vực thuộc vê trí tuệ nhân tạo.
Vì những lợi ích không nhỏ của TTVB đem lại ngành Công nghệ thông tin nói
riêng và cho con người nói chung nên trên thế giới, bài toán này đã được tập trung
và nghiên cứu và xây dựng từ cách đây khá lâu và hiện nay vẫn đang được tiếp tục
phát triển.
Trang 11Nhận thức được điều đó, em quyết định lựa chọn nghiên cứu đề tài “Nghiên cứu đề xuất và cài đặt thử nghiệm mô hình tóm tắt đơn văn bản tiếng Anh kiểu trích
xuất” Đề tài được trình bày với bố cục như sau:
CHUONG 1: TONG QUAN VE DE TÀI
Chương này sẽ giới thiệu tổng quan về dé tài lựa chon nghiên cứu, lý do lựa chọn dé tài, lựa chọn công cụ lập trình và môi trường cài đặt.
CHƯƠNG 2: CƠ SỞ LÝ THUYET
Giới thiệu tông quan về xử lý ngôn ngữ tự nhiên va bài toán tóm tắt văn bản.
Bên cạnh đó sẽ là các khái niệm, một số mô hình và các phương pháp đánh giá.
CHƯƠNG 3: ĐÈ XUẤT MÔ HÌNH TTVB
Trình bay mô hình gốc và các phương pháp cải tiến mô hình gốc.
CHƯƠNG 4: CÀI ĐẶT THỨ NGHIỆM VÀ ĐÁNH GIÁ
Chương này sẽ trình bày các phương pháp thực hiện, tiến hành cài đặt và chạy thử nghiệm đồng thời đánh giá kết quả của mô hình.
CHUONG 5: KET LUẬN
Chương này trình bay những kết qua đã dat duoc, những han chế của mô hình và hướng phát triển tương lai.
Với thời gian và hiểu biết có hạn nên đề tài có thể còn nhiều thiếu sót, em
mong quý thầy cô và các bạn đóng góp ý kiến dé dé tài được hoàn thiện hơn.
Trang 12CHƯƠNG 1: TONG QUAN VE DE TÀI
1.1 GIỚI THIỆU CƠ SỞ THUC TAP
1.1.1 Giới thiệu cơ sở thực tập
Công ty TNHH Công nghệ Phần mềm Kaopiz (gọi tắt là Kaopiz) được thành lập vào tháng 09/2014 Trải qua hơn 5 năm nỗ lực và phát triển, hiện nay Kaopiz đã
trở thành đối tác phát triển phần mềm đáng tin cậy cho hơn 40 doanh nghiệp Nhật
Ban ở nhiều lĩnh vực khác nhau Kaopiz cũng đã thành lập công ty chi nhánh tai
Tokyo từ tháng 08/2016 và công ty nghiên cứu phát triển công nghệ mới Kaopiz Solutions từ tháng 03/2019 Tầm nhìn của công ty là trở thành một công ty công nghệ hang đầu Việt Nam, cung cấp các dịch vụ và giải pháp dang cấp thé giới, mang lại giá trị cho khách hàng, góp phần nâng tầm vị thế của đất nước và tạo ra cuộc sông đây đủ về cả vật chât và tinh thân cho môi nhân viên.
Ngày nay, Kaopiz tập trung vào vào 4 lĩnh vực chính: xử lý dữ liệu, nghiên cứu và tư van công nghệ khoa học máy tính, sản xuất và phân phối sản pham phan
mêm, cung câp các dịch vụ gia công phát triên và bảo trì phân mêm.
Chọn cho mình khâu hiệu “Đổi mới sáng tạo”, công ty dang phan dau dé tao ra làn sóng trong cuộc công nghiệp Cách mạng 4.0 Từ cơ sở tại tầng 4, toà nhà C14 Bắc Hà, phường Tố Hữu, thành phố Hà Nội, hiện nay công ty đã mở rộng sang thị trường Nhật Bản, xây dựng được mối quan hệ hợp tác lâu dài với hơn 45 công ty tại Nhật Bản, Hồng Kông, Canada và Việt Nam.
Sứ mệnh của công ty là tiếp tục đổi mới dé cung cấp các giải pháp phát triển
phần mềm hiệu quả và chất lượng cao hơn; tạo giá trị thực sự cho khách hàng, đối
tác và nhân viên; đóng góp cho sự phát triên của xã hội.
Trang 13Thang 8 năm 2016: Thành lập Công ty TNHH Kaopiz tại Nhật Bản.
Tháng 10 năm 2017: Đạt chứng nhận ISO 9001.
Tháng 9 năm 2018: Bắt đầu hợp tác kinh doanh cho hệ thống đọc ký tự AI.
Tháng 10 năm 2018: Chứng nhận ISO27001.
Tháng 10 năm 2018: Triển lãm tại Tuần lễ CNTT Nhật Bản.
Tháng 3 năm 2019: Thành lập Kaopiz Solutions Co., Ltd Nghiên cứu va ứng
dụng các công nghệ tiên tiền (AI, Deep Learning, )
Tháng 4 năm 2018: Chiến thắng giải thưởng Sao Khuê tổ chức hội thảo AI tại
Đại học Công nghệ Hà Nội.
Tháng 10 năm 2019: Công ty CNTT Việt Nam dat giải thưởng Top 50 + 10.
1.1.3 Cơ cấu tô chức
Cơ cấu tô chức của Kaopiz với ban giám đốc gồm 6 thành viên, 3 khối chính
và 8 phòng ban.
Khối Khối
Sản xuất Sales-Marketing
: Phòng Phòng `
Ban Phòng Đi Sáo Phần mềm Phong Phong
ANTT &CI Comtor ; h : PMO Marketing
Hình 1.1: Sơ đô cơ cấu tổ chức của Kaopiz
Khôi Backoffice
Trang 141.1.4 Kaopiz Solution
Công ty TNHH Kaopiz Solution được thành lập ngày 26 tháng 3 năm 2019
với sứ mệnh nghiên cứu va ứng dụng các công nghệ tiên tiến (trí tuệ nhân tạo hay học sâu) Tính đến tháng 9 năm 2019, công ty có 10 thành viên với Giám đốc đại
diện Lê Hải Băng.
Trong lĩnh vực nghiên cứu và phát triển của Kaopiz Solutions, phương pháphọc sâu đang được sử dụng một cách có hiệu quả vì đây được coi như là một công nghệ dé thực hiện hóa trí tuệ nhân tạo Bên cạnh đó là tiến hành nghiên cứu và phát triển các giải pháp nhận dạng hình ảnh trong nhiều tình huống.
Trí tuệ nhân tạo có khả năng giúp cho các doanh nghiệp phát triển mạnh mẽ trong hầu hết các lĩnh vực như tiếp thị, bảo mật, du lịch hay sức khỏe Ngay cả các công ty vừa và nhỏ cũng có cơ hội phát triên cùng trí tuệ nhân tạo.
Kaopiz Solution hỗ trợ nghiên cứu, phát triển các giải pháp và sản phẩm sử
dụng công nghệ nhận dạng hình ảnh.
1.2 GIỚI THIỆU DE TÀI
1.2.1 Lý do chọn đề tài
Trong những năm gần đây, trí tuệ nhân tạo nói chung và xử lý ngôn ngữ nói riêng đang ngày một được quan tâm, chú ý và nghiên cứu nhiều hơn Trong đó TTVB là một bài toán điển hình của xử lý ngôn ngữ tự nhiên TTVB giúp người đọc có thé khái quát được nội dung văn ban một cách nhanh chóng nhất dé từ đó có thé đưa ra những quyết định tiếp theo Tuy nhiên, các văn bản tóm tắt chủ yếu là thủ
công, dựa vào chủ quan của người đánh giá Vì vậy, yêu cầu có một mô hình giúp
TTVB một cách chính xác là cần thiết.
Việc TTVB ngày nay ngày càng trở nên quan trọng trong một thời đại mà
mỗi ngày, mỗi phút, mỗi giây lượng thông tin chúng ta cần tiếp nhận là quá nhiều Trong khi đó thời gian của chúng ta là có hạn, khả năng đọc và tiếp nhận thông tin trong khoảng thời gian ngắn cũng là có giới hạn Việc hiểu và năm bắt thông tin
một cách nhanh chóng không phải là một việc đơn giản với bất kỳ ai Vì vậy, đứng
Trang 15trước xu hướng mọi người ngày càng ưa chuộng đọc các tin tức online, các văn bản
với lượng dữ liệu không lồ, lượng thông tin là quá nhiều thì việc TTVB là một điều
hét sức cân thiết.
1.2.2 Mục tiêu của đề tài
Hiện nay các lĩnh vực của trí tuệ nhân tạo nói chung và TTVB nói riêng vẫn
còn khá mới mẻ nên mục tiêu của đề tài là tìm hiểu được những kiến thức đơn giản
nhất về TTVB, đồng thời xây dựng nén tang dé phát triển các bài toán sau này.
Những mục tiêu cụ thé của đề tài là:
Nghiên cứu các kiến thức cơ bản về bài toán xử lý ngôn ngữ tự nhiên và bài
toán TTVB.
Nghiên cứu các phương pháp được áp dụng đối với bài toán TTVB.
Từ những kiến thức thu được, nghiên cứu đề xuất một mô hình tóm tắt đơn văn bản tiếng Anh hướng trích xuất.
1.2.3 Ý nghĩa của đề tài
Mô hình TTVB được xây dựng dựa trên những hiểu biết của bản thân em dựa trên những kiến thức về xử lý ngôn ngữ tự nhiên nói chung và bài toán TTVB nói riêng Từ đó có thé đưa ra một mô hình TTVB một cách hiệu quả.
13 XU LÝ NGÔN NGỮ TỰ NHIÊN VÀ BÀI TOÁN TOM TAT VAN
Theo đà phát triển của công nghệ hiện nay, trí tuệ nhân tạo đang ngày càng
phát triển mạnh và trở thành một xu hướng mới của thế giới Trí tuệ nhân tạo đã và
đang đạt được áp dụng trong tất cả các lĩnh vực của đời sông Trong đó, xử lý ngôn ngữ tự nhiên là một nhánh quan trọng của trí tuệ nhân tạo Có thể nói trong các lĩnh vực của trí tuệ nhân tạo, xử lý ngôn ngữ tự nhiên là một trong những phần khó nhất
vì có liên quan đên ngôn ngữ của con người rât nhiêu.
Các bài toán của xử lý ngôn ngữ tự nhiên cũng rất đa dạng như nhận dạng chữ viết, dịch tự động, tìm kiếm thông tin, TTVB cũng là một bài toán con của lĩnh
Trang 16vực xử lý ngôn ngữ tự nhiên, một điều tưởng như rất khó nhưng có thể thực hiện được.
TTVB là quá trình tạo ra một ban mô tả ngăn gọn, súc tích từ một hoặc nhiêu
văn bản gôc ban đâu Sau khi được tóm tắt văn bản sẽ có độ dài ngăn hơn so vớivăn bản ban đâu nhưng các nội dung chính và quan trọng mà văn bản gôc đê cập tới vẫn phải đảm bảo được giữ lại trong văn bản tóm tắt.
Van đề đặt ra trong quá trình TTVB là: Làm thé nào dé nhận biết được đâu là
nội dung chính của văn bản gốc vì đó là thành phần cốt lõi, chứa những thông tin
quan trọng Nếu có được những thông tin này thì công việc tóm tắt sẽ có kết quả tốt hơn, văn bản tóm tắt mang độ chính xác cao hơn Các thành phần này được gọi là
các đơn vị “ngữ liệu” Đơn vị ngữ liệu là thành phần, đơn vị nhỏ nhất có nghĩa
trong văn bản gốc dùng dé tóm tắt, trích xuất (ví dụ: từ, câu, ) Trong văn bản
gốc, nếu tần suất xuất hiện của các đơn vị ngữ liệu càng lớn thì xác suất mang nội
dung quan trọng, thông tin chính của đoạn văn, văn bản cảng cao Sau đó, ta sử
dụng các đơn vị ngữ liệu này dé tóm tắt, biến đồi, hiển thị hoặc tạo ra ngữ liệu mới phục vụ cho các hệ thong khác.
Bài toán TTVB có thé được phân loại theo các phương pháp khác nhau, phụ thuộc vào các tiêu chí phân loại Mỗi loại bài toán TTVB có các yêu cau, ý nghĩa riêng nên cần phải áp dụng các kỹ thuật, phương pháp xử lý khác nhau Một số cách
phân loại TTVB như sau [17]:
Dựa vào sô lượng văn bản đâu vào: Phụ thuộc vào sô lượng của tập văn bản
gốc đưa vào, bài toán TTVB gồm 2 loại:
Tóm tắt đơn văn bản: Văn bản gốc chỉ có một văn bản duy nhất Tóm tắt đơn văn bản là khởi đầu cho tóm tắt đa văn bản.
Tóm tắt đa văn bản: Tập văn bản gốc đưa vào gồm nhiều văn bản (các văn bản
này có nội dung liên quan đến nhau) Kết quả thu được của quá trình tóm tắt là một văn bản duy nhất từ tập văn bản này, chứ không phải là với mỗi văn bản sẽ cho một văn bản tóm tắt Tóm tắt đa văn bản có độ phức tạp cao hơn so
Trang 17với tóm tat đơn văn bản, phải đôi mặt với một sô vân đê như: Trùng lặp dữliệu giữa các văn bản, giai đoạn tiên xử lý văn bản phức tạp, tỉ lệ nén yêu câu
Dựa vào kêt quả đâu ra của văn bản tóm tắt: Phụ thuộc vào kêt quả đâu ra,TTVB cũng được chia làm 2 loại:
Tóm tắt theo kiểu trích xuất: Trích xuất là quá trình rút gọn văn bản sao cho
văn bản kết quả có chứa các đơn vị ngữ liệu năm trong văn bản nguồn (nghĩa là: Văn bản tóm tắt chỉ gồm các thành phần được chọn từ văn bản gốc được
đưa vào).
Tóm tắt theo kiểu tóm lược: Tóm lược là quá trình rút gọn văn bản sao cho văn bản kết quả có chứa một số các đơn vị ngữ liệu mới được sinh ra từ các đơn vị ngữ liệu nam trong văn bản gốc (nghĩa là: Văn bản tóm tắt không giữ nguyên các thành phần của văn bản gốc được đưa vào mà nó chỉ lấy ra các
thông tin cần thiết) Từ các thông tin này, thực hiện các phép biến đổi dé tạo ra
một văn bản mới sao cho vẫn đảm bảo giữ được nội dung, ý nghĩa của văn bản
gôc cân tóm tắt.
TTVB theo kiểu tóm lược phức tạp hơn tóm tắt văn bản theo kiểu trích xuất.
Với hệ thống tóm lược, đến nay vẫn còn nhiều khó khăn trong việc biểu diễn
ngữ nghĩa, sinh ra ngôn ngữ tự nhiên từ văn bản gôc.
Một hệ thống TTVB tổng quát gồm các giai đoạn sau:
Văn bản
tóm tắt
BS) oe |= =
Hình 1.2: Mô hình tổng quát của hệ thong tóm tắt văn bản [22] Các giai đoạn của quá trình tóm tắt văn bản được mô tả như sau:
Trang 18Phân tích (Analysis): Văn bản gốc (hay văn bản nguồn) sẽ được phân tích dé đưa ra những thông tin, dữ liệu sử dụng cho việc tìm kiếm, đánh giá các đơn vị ngữ liệu quan trong và các tham sô đâu vào cho giai đoạn tiép theo.
Biến đổi (Transformation): Từ các thông tin đầu ra của quá trình phân tích, sử
dụng một giải thuật biến đổi với mục đích đơn giản hóa và tạo nên một thể thống nhất Kết quả đầu ra của giai đoạn này là các đơn vị ngữ liệu sau khi
được tóm tắt.
Hiển thị (Generation): Từ các đơn vị ngữ liệu thu được của giai đoạn biến đồi,
hệ thống sẽ liên kết lại theo một kết cấu có thé thỏa mãn yêu cầu người dùng và hién thị tóm tắt.
Mô hình trên chỉ là mô hình tổng quát của bài toán TTVB Với mỗi loại hệ thống TTVB sẽ có sự khác biệt nhất định, cụ thể: Đối với hệ thống TTVB kiểu tóm lược (abstraction) thì hệ thống có đầy đủ các giai đoạn trên, nhưng đối với hệ thống TTVB kiểu trích xuất (extraction) thì chỉ gồm giai đoạn “Phân tích” và giai đoạn
“Hiền thị”, không có giai đoạn “Biến đổi” và trong mỗi giai đoạn thì cách thực hiện
cũng khác nhau đối với từng hệ thống.
1.4 LỰA CHỌN CONG CU VA MOI TRƯỜNG CÀI ĐẶT
Python là một ngôn ngữ lập trình bậc cao thiết kế để phát triển lập trình đa năng được ra mắt lần đầu vào năm 1991 Python ra đời có nhiều đặc điểm khác với
những ngôn ngữ đã có, điều đó đem lại sự thuận tiện khi tiến hành làm việc với
Python năng cao việc sử dụng các từ khóa tiếng Anh, tối thiểu các ký hiệu và cau trúc cú pháp so với các ngôn ngữ khác Cau trúc cú pháp của Python đơn giản và rõ ràng Việc đó khiến Python dễ đọc và lập trình hơn rất nhiều Các chương trình viết băng Python có thé di chuyển giữa các nền tảng khác nhau và thực thi mà không có bat kỳ sự thay đổi nào Chương trình có thé chạy trên hầu hết các nền tang
phô biến như Windows, macOS, Linux Đặc biệt, Python là một ngôn ngữ mã
Trang 19nguôn mở nên có một cộng đông sử dụng lớn, không ngừng cải tiên sau mỗi lân cậpnhật.
Python có một số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình
trở nên dễ dang và đơn giản hon rất nhiều Da số các thư viện của Python hỗ trợ
mạnh cho học sâu.
Scikit-Learn: Thư viện dùng cho học máy, cung cấp các thuật toán như là phân loại, hồi quy, clustering,
TensorFlow: TensorFlow gồm các công cụ học máy dé hoc, nhan biét hinh ảnh, giọng nói, xử lý ngôn ngữ tự nhiên TensorFlow có kha năng chạy trên hầu hết mọi máy tính, hệ điều hành Một số mã nguồn mở trong TensorFlow: Nhận dạng
ảnh với mạng CNN, học ngữ nghĩa của từ với word2vec, mô hình hóa ngôn ngữ vớimang RNN, máy phiên dịch va chatbot với seq2seq.
Keras: TensorFlow là một thư viện hữu ích nhưng việc tạo ra các mô hình chỉ sử dụng Tensorflow có thê khó khăn vì nó là một thư viện cấp thấp và phức tạp đối với người mới bắt đầu Do đó, Keras được phát triển như là một giao diện đơn giản
để xây dựng các mạng noron hiệu quả và có thé được cấu hình dé hoạt động trên
TensorFlow Hiện nay, Tensorflow đã kết hợp Keras như là một phần của API.
NItk: Nitk (Natural Language Toolkit) là thư viện cung cấp các công cụ thao
tác trên văn bản, chuôi, phân tích ngôn ngữ tự nhiên.
10
Trang 20CHƯƠNG 2: CƠ SỞ LÝ THUYET
2.1 MẠNG NƠRON NHÂN TẠO
2.1.1 Noron nhân tạo
Một nơron nhân tạo hay còn gọi là một nút (node) là một đơn vi xử lý thông tin
gồm nhiều đầu vào, một đầu ra và một giá trị ngưỡng dé cho phép tín hiệu có được
truyền qua nơron hay không [7] Các giá trị đầu vào sẽ được nhân với một bộ trọng
số w và tính tong các kết quả cùng với một hằng số b (bias) Nếu tông lớn hơn giá tri ngưỡng thì đầu ra sẽ có giá trị thể hiện noron này được kích hoạt (thường là giá trị
+1), ngược lại là giá trị không được kích hoạt (thường là giá tri -1) Thông qua quá
trình “học”, các giá trị trọng số đầu vào của mỗi nơron sẽ được điều chỉnh.
x; Summations Transfer function
Hình 2.1: Mô hình một noron nhân tạo
trong đó:
Inputs (Đầu vào): Mỗi đầu vào (Input) ứng với một thuộc tính (attribute) của dữ liệu mẫu (patterns) Các đầu vào này thường được đưa vào dưới dạng một véc tơ N chiều.
Output (Đầu ra): Kết quả đầu ra.
Weights (Trọng số liên kết): Là thành phần thể hiện độ mạnh (mức độ quan
trong) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ
liệu từ lớp này sang lớp khác) Với một quá trình học (learning processing) thông
thường, các trọng sỐ (Weight) của các dữ liệu đầu vào sẽ được điều chỉnh để được
kết quả mong muốn Tại thời điểm khởi tạo mạng, các trọng sỐ thường được khởi
tạo ngẫu nhiên và được cập nhật liên tục trong quá trình học của mạng.
11
Trang 21Summations (Hàm tông): Tinh tông trọng sô của tat cả các dau vào được đưa
vào mỗi nơron Hàm tổng của một nơron đối với n đầu vào được tính theo công
Transfer function (Ham chuyén đổi): Kha nang kích hoạt (activation) của một noron được thể hiện thông qua hàm tổng của noron đó hay còn gọi là kích hoạt bên
trong (internal activation) Các nơron này có thể đưa ra hoặc không đưa ra kết qua
(output) (nghĩa là: output của một noron có thé được chuyền đến hoặc không được chuyên đến lớp tiếp theo trong mạng noron) Mối quan hệ giữa internal activation và output được thé hiện thông qua hàm chuyên đổi.
Việc lựa chọn hàm chuyền đổi có tác động lớn đến kết quả Hàm chuyền đôi phi tuyến thường được sử dụng nhiều là hàm sigmoid.
Kết quả xử lý tại các noron là rất lớn nên hàm chuyên đổi được sử dụng dé xử
lý các output này trước khi chuyển đến lớp tiếp theo Đôi khi, giá trị ngưỡng (threshold value) được sử dụng dé thay cho ham chuyén đổi, dé kiểm soát các output của các nơron tại một lớp trước khi chuyên các output này đến các lớp tiếp
theo Nếu output của một noron nhỏ hơn giá trị threshold thì nó sẽ không được chuyền đến lớp tiếp theo và ngược lại Một số hàm chuyên đổi [4]:
Hàm đồng nhất (linear function): f (x) =x
Ham bước nhị phan (binary step function) hay ham ngưỡng (threshold
function): f (x)= 1 nếu x>8 với: 6 là giá trị ngưỡng.
Trang 22Hàm ReLU (REctified Linear Unit): f(x)= max(0, x)
2.1.2 Kiến trúc mạng noron nhân tao
Kiến trúc chung của một mạng nơron nhân tạo (ANN - Artificial Neural
Networks) gồm 3 thành phan chính: Lớp vào (Input layer), lớp ẩn (hidden layer) và lớp ra (output layer); trong đó: hidden layer gồm các nơron nhận dit liệu vào từ các
noron ở lớp trước đó và chuyền đôi các dit liệu này cho các lớp xử lý tiếp theo Một
ANN có thể có một hoặc nhiều hidden layer.
Mô hình đơn giản nhất của ANN là ANN truyền thăng Các nơron trong ANN truyền thăng liên kết với nhau và không tạo thành chu trình nên tín hiệu sẽ truyền
thăng từ đâu vào qua các lớp và đên đâu ra.
: outputs
Hình 2.2: Kiến trúc mạng noron nhân tạo Một ANN thường có các thành phần cơ bản sau:
Tap các đơn vi xử lý (các noron nhân tạo).
Trạng thái kích hoạt hay đầu ra của noron xử lý.
Liên kết giữa các nơron: Mỗi liên kết có một trọng số W, cho biết hiệu ứng
mà tín hiệu của đơn vij có trên đơn vi k.
Một luật lan truyền quyết định cách tính toán tín hiệu ra của từng noron từ đầu
vào của nó.
Một hàm kích hoạt (hay hàm chuyển đôi) (activation function, transfer function) xác định mức độ kích hoạt khác dựa trên mức độ kích hoạt hiện tai.
Một nơron điêu chỉnh độ lệch (bias) của mối noron.
Phương pháp thu thập thông tin (luật học) (learning rule).
13
Trang 23Môi trường hệ thống có thé hoạt động 2.1.3 Phân loại mạng nơron
ANN thường được phân loại dựa theo số lớp và kiểu liên kết giữa các nơron 2.1.3.1 Phân loại mạng dựa theo số lớp
Mạng noron một lớp: ANN một lớp được cấu thành từ một lớp mạng, vừa là
lớp vào vừa là lớp ra.
Mạng noron nhiều lớp: ANN nhiều lớp được cấu thành từ nhiều lớp liên kết với nhau, gồm: một lớp vào, các lớp ân và một lớp ra (trong đó: lớp nhận tín hiệu đầu vào được gọi là lớp vào) Các tín hiệu đầu ra được tạo ra bởi lớp ra của mạng.
Các lớp nằm giữa lớp vào và lớp ra gọi là các lớp ân Các lớp an là thành phần bên
trong, không tiêp xúc với môi trường bên ngoài.
14
Trang 24Hình 2.4: Mạng noron ba lớp truyền thắng 2.1.3.2 Phân loại mạng dựa theo kiểu liên kết
Liên kết trong ANN phụ thuộc vào nguyên lý tương tác giữa đầu ra của từng
nơron với các nơron khác và tạo ra cau trúc của ANN Có một số kiểu liên kết là:
Mạng noron truyền thang (feedforward neural networks): Dữ liệu đầu vào từ
các noron đầu vào đến các noron dau ra chỉ được truyền thăng Việc xử lý dit liệu có thể mở rộng ra nhiều lớp, nhưng không có các liên kết ngược (nghĩa là: không có
các liên kết từ các nơron đầu ra tới các nơron đầu vào trong cùng một lớp hay các
lớp trước đó).
Mạng nơron hồi quy (tái phát) (recurrent neural network): Mạng hồi quy có chứa các liên kết ngược.
2.1.4 Mạng noron truyền thắng nhiều lớp và thuật toán lan truyền ngược
Mang noron truyén thang nhiéu lop:
Một ANN truyền thắng nhiều lớp gồm một lớp vào, một lớp ra và một hoặc
nhiều lớp ân Các noron đầu vào thực chat chỉ tiếp nhận các dit liệu vào và chuyển cho các lớp kế tiếp Các nơron ở lớp an và lớp ra mới thực hiện các tính toán, kết quả được quy định bởi hàm đầu ra (hàm chuyên) Khái niệm “truyền thăng” (feedforward) nghĩa là các nơron chỉ được liên kết với nhau theo một hướng từ lớp
vào đên lớp ra.
15
Trang 25P: Véc tơ đầu vào (véc tơ cột).
Wi: Ma trận trọng số của các nơron lớp thứ 1.
(Six Ri: S hàng (noron), R cột (số đầu vào)).
bj: Véc tơ độ lệch (bias) của lớp thứ i (Six 1: cho S noron).nj: net input (S¡ x 1).
f: Hàm chuyền đổi (hàm kích hoạt).
aj: net output (Si x 1).
®: Hàm tông.
Mỗi liên kết gắn với một trọng số, trọng số này được thêm vào trong quá trình tín hiệu đi qua liên kết đó Các trọng số có thể đương (thê hiện trạng thái kích thích) hoặc âm (thể hiện trạng thái ức chế) Mỗi nơron tính toán mức kích hoạt băng cách tinh tong các đầu vào và đưa ra hàm chuyền Khi đầu ra của các nơron trong một lớp cụ thê đã thực hiện tính toán xong thì lớp kế tiếp sẽ bắt đầu thực hiện tính toán của mình vì đầu ra của lớp hiện tai tạo ra đầu vào của lớp kế tiếp Khi tat cả các noron đã tính toán xong thì kết quả được trả ra bởi các nơron đầu ra Tuy nhiên, kết quả có thê
chưa đúng yêu cầu, khi đó một thuật toán huấn luyện được áp dụng dé điều chỉnh
các trọng sô.
16
Trang 26Đề có một ANN truyền thăng nhiều lớp áp dụng hiệu quả cho một bài toán, khi thiết kế cầu trúc mạng cần quan tâm tới các vấn dé: Số lượng lớp ẩn, số lượng noron
trong mỗi lớp ân, lựa chọn thuật toán học phù hợp Thuật toán lan truyền ngược:
Thuật toán lan truyền ngược (BP - Back Propagation) dựa trên yêu cầu mạng thực hiện chức năng và trả ra kết quả, sau đó kết hợp kết quả này với các đầu ra mong muốn dé điều chỉnh các tham số của mạng, nghĩa là mạng sẽ học thông qua những sai sót của nó Thuật toán lan truyền ngược là dạng tông quát của thuật toán trung bình bình phương tối thiểu (LMS - Least Means Square) Thuật toán thuộc loại thuật toán xấp xi dé tìm các điểm mà tại đó hiệu năng của mạng là tối ưu Chỉ số tối ưu (performance index) được xác định bởi một hàm số của ma trận trọng số và
các đầu vào mà quá trình học bài toán đặt ra.
Thuận toán BP được tóm tắt qua các bước sau:
Bước 1: Lan truyền xuôi các tính toán trong mạng truyền thang.
Đầu ra của một lớp trở thành đầu vào của lớp kế tiếp Phương trình thể hiện
hoạt động là (với M là sỐ lớp trong mạng):
a” t="! (W"" a" +b”) với m=0, 1, , M1
Các noron trong lớp thứ nhất nhận các tín hiệu từ bên ngoài (với p là điểm bắt
đầu của phương trình:
Đầu ra của lớp cuối cùng được xem là đầu ra của mạng.
Bước 2: Lan truyền lỗi (hay sai số) ngược lại qua mạng.
Thuật toán sử dụng chỉ số hiệu quả là trung bình bình phương lỗi của đầu ra so với giá trị đích Đầu vào của thuật toán là tập các cặp mô tả hoạt động đúng của
mạng: trong đó: pi là một đầu vào và ti là đầu ra mong muốn tương ứng (với: i =
Với mỗi đầu vào đưa vào mạng, kết quả ở đầu ra tương ứng được so sánh với
đầu ra mong muốn Thuật toán sẽ điều chỉnh các tham số của mang dé tối thiểu hóa trung bình bình phương lỗi nếu cần.
Bước 3: Cập nhật lại các trọng số và độ lệch tương ứng.
17
Trang 27Các bước trên có thé được lặp đi lặp lại nhiều lần.
2.1.5 Giảm lỗi cho mạng nơron
Có hai vấn đề giảm lỗi cho ANN cần được quan tâm: Vấn đề quá khớp (overfitting) và van đề kém khớp (underfitting) [12] (Hình 2.6).
Overfitting xảy ra khi một mô hình quá phức tạp, tuy giảm thiểu được đáng kể, thậm chí toàn bộ sai số nhưng không thé mô ta được xu hướng của dit liệu.
Quan sát Hình 2.6, hàm h(x) dường như đi qua mọi dữ liệu huấn luyện (training), có nghĩa là giá trị hàm lỗi (loss function) gần xấp xi bang 0 Khi giá tri của loss function càng thấp thì ta phải thu được h(x) tốt hơn, nhưng trong trường hợp nay, h(x) không đi theo xu thé của dữ liệu mà chỉ đơn thuần là “khớp” (fit) được nhiều đữ liệu huấn luyện, nghĩa là: Khi đưa h(x) vào sử dụng thì cũng không thể dự đoán tốt được.
Overfitting xảy ra do mô hình quá phức tạp nên ta cần giảm bậc của hàm số
hay giảm số lượng các đặc trưng (feature) như: các thành phần đa thức, các feature
không quan trọng.
18
Trang 28y h(x)
Hinh 2.7: Van dé overfitting
2.1.5.2 Vấn dé kém khóp (underfitting)
Underfitting xảy ra khi mô hình quá đơn giản, không thé giảm thiêu đáng kể giá trị hàm lỗi (loss function) nên không thé mô tả được xu hướng của dữ liệu.
Quan sát Hình 2.8, hàm h(x) có vẻ không được tốt vì đối với dữ liệu huấn luyện (training) đã thấy được sai số chứ chưa cần tới việc thử trên dữ liệu mới.
Với underfitting thì chỉ đơn thuần là do mô hình quá đơn giản nên để khắc phục cần thêm những thành phần đa thức để nó phức tạp hơn Tuy nhiên, nếu phức tạp quá thì lai gặp van đề overfitting.
Hình 2.8: Vấn dé underfitting
2.2 CÁC KỸ THUAT VEC TO HÓA DU LIEU VĂN BAN
2.2.1 Khai niém
Véc tơ hóa đữ liệu (từ, câu, văn ban, ) (word embedding) là quá trình chuyền văn bản gồm các từ, câu thành dữ liệu số và có thé có nhiều đại diện khác nhau thé hiện cùng một văn bản Word embedding là kỹ thuật dé biến đổi các từ thành các
19
Trang 29véc to sao cho các từ có nghĩa tương tự hoặc gần nghĩa được thé hiện bằng các véc tơ gần nhau (theo khoảng cách Ơclít) [5].
Các thuật toán học máy và các kỹ thuật học sâu (deep learning) không thể xử
lý trực tiếp các xâu kí tự, các văn bản thông thường Các kỹ thuật này đều yêu cầu đầu vào là các đữ liệu số dé thực thi các nhiệm vụ khác nhau như: Phân loại văn bản, phân cụm, Word embedding sẽ thực hiện ánh xạ một từ trong một từ điển thành một véc tơ có giá trị số tương ứng [13] Do đó, có thể hiểu word embedding là quá
trình véc tơ hóa một từ, hay tổng quát hơn là véc tơ hóa câu, véc tơ hóa đoạn, véc tơ hóa văn bản Một véc tơ đại diện của một từ có thể là một véc tơ hot, véc tơ one-hot chỉ có duy nhất một phần tử có giá trị là 1, tất cả các phần tử còn lại đều có giá tri O, giá tri 1 thé hiện vi trí của từ trong từ điển.
Ví dụ: Xét 2 câu: “Anh ghét ăn thịt” và “Anh ghét ăn cá”.
Trước hết, thực hiện tách chọn các từ phân biệt trong 2 câu, tập các từ phân
biệt thu được là V = { Anh, ghét, ăn, thịt, cá}, tập V này có 5 từ Các từ trong tập V
được véc tơ hóa dạng one-hot như sau:
Anh = [1,0,0,0,0], ghét = [0,1,0,0,0], ăn = [0,0,1,0,0], thịt = [0,0,0,1,0] , cá =[0,0,0,0, 1].
2.2.2 Phuong pháp dựa trên TF*IDF
TF*IDF (Term Frequency—Inverse Document Frequency) là phương pháp véc
tơ hóa từ dựa trên tần suất xuất hiện của từ, xem xét sự xuất hiện của một từ trong
văn bản đó [13].
Các từ phổ biến (common words) (“are”, “a”, “the”, ) thường có tần suất xuất hiện cao hơn so với các từ quan trọng trong một văn bản Ý tưởng của phương pháp TF*IDF là sẽ đặt trọng số thấp cho các từ phổ biến xuất hiện trong hau hết các văn bản và đặt trọng số cao cho các từ chỉ xuất hiện trong một số văn bản của tập
văn bản đang xét TF thể hiện đóng góp của từ trong một văn bản, tức là các từ liên
quan tới văn bản thì sẽ xuất hiện nhiều lần trong văn bản Hai giá trị TE và IDF được
tính theo công thức tương ứng sau:
20
Trang 30TE = (Số lần xuất hiện của token T trong văn bản)/(Tổng số token trong văn
IDF = log(N/n); trong đó: N là tổng số văn ban xem xét và n là tổng số văn bản
chứa token T.
Phương pháp TF*IDF đánh giá một từ nếu xuất hiện trong tất cả các văn bản thì từ đó có thể không liên quan tới một văn bản cụ thể, nhưng nếu một từ chỉ xuất hiện trong một vài văn bản thì từ đó có thể là một từ quan trọng trong văn bản chứa
2.2.3 Kỹ thuật Word2Vec
Trong các bài toán xử lý ngôn ngữ tự nhiên, các từ thường được đại diện bằng
điểm TF*IDF Giá trị điểm TF*IDF này mang lại ý tưởng về độ quan trọng tương ứng của các từ trong một văn bản, nhưng không thê hiện được ngữ nghĩa của các từ.
Word2Vec [II] là một phương pháp áp dụng một lớp mạng nơron và một tập dữ
liệu huấn luyện không gán nhãn, dé tao ra một véc tơ cho mỗi từ trong tập dữ liệu chứa cả những thông tin về ngữ nghĩa Các véc tơ này hữu dụng với hai yếu tố quan
Có thể đo lường độ tương đồng ngữ nghĩa giữa hai từ bằng cách đo độ tương đồng Cosine giữa hai véc tơ tương ứng.
Có thé sử dụng các véc tơ như là các đặc trưng cho các bài toán xử lý ngôn ngữ tự nhiên có giám sát như: phân lớp văn bản, phân tích quan điểm,
Các từ đồng nghĩa thường có các véc tơ khá tương đồng dựa trên độ tương đồng Cosine, các từ trái nghĩa thường là các véc tơ hoàn toàn không tương đồng.
Các véc tơ này thường có xu hướng tuân theo các luật suy diễn.
Word2Vec [1] là phương pháp véc tơ hóa từ dựa trên dự đoán từ, việc dự đoán từ dựa vào xác suất của các từ, độ tương tự và độ liên quan giữa các từ Word2Vec thường kết hợp hai kỹ thuật: Mô hình Skip-gram và CBOW (Continuous bag of
21
Trang 312.2.4 Mô hình skip-gram
Về cơ bản, mô hình skip-gram là một mạng noron có một lớp ân, skip-gram dự
đoán các từ gần với một từ mục tiêu Đầu vào của mô hình là một véc tơ one-hot của
từ mục tiêu và đầu ra là N từ (với N là kích thước cửa số của ngữ cảnh định nghĩa
trước) [5].
Mô hình skip-gram có độ chính xác cao hơn nên mô hình này được áp dụng nhiều trong thực tế [11] Phương thức thực hiện Word2Vec với mô hình skip-gram
[10] được tóm tắt như sau:
Trước hết, xây dựng tập từ vựng từ các văn bản huấn luyện (ví dụ có 10,000 từ
khác nhau) Dé đưa các từ vào mạng noron huấn luyện, các từ cần được véc tơ hóa, mỗi từ sẽ được thé hiện bằng một véc tơ one-hot Véc tơ này sẽ có 10,000 phan tử với mỗi phan tử thé hiện vị trí tương ứng của từ trong tập từ vựng Ví dụ: Véc tơ one-hot của từ “cat” sẽ có phần tử tương ứng với vị trí của từ “cat” trong tập từ vựng có giá trị băng 1, các vi trí khác đêu có giá tri băng 0.
Output Layer
Softmax Classifier
Hidden Laye r Probability that the word at a
Linear Neurons randomly chosen, nearbyInput Vector position is “abandon”
Hình 2.9: Kiến trúc mạng mô hình skip-gram
Trong ví dụ hình trên, lớp ẩn (Hidden Layer) gồm 300 noron, không sử dung hàm kích hoạt nào nhưng đầu ra sẽ sử dụng một hàm softmax Lớp ấn được thé hiện
bằng một ma trận trọng số có 10,000 dòng (mỗi dòng tương ứng với một từ trong
tập từ vựng) và 300 cột (mỗi cột tương ứng với một noron ấn) Số noron ân được gọi
22
Trang 32là số đặc trưng (hoặc số chiều) của Word2Vec là một “siêu tham số” có thể được điều chỉnh theo từng bài toán cụ thê trong thực tế.
Các dòng của ma trận trọng số của lớp an, thực chat là các véc tơ từ, đây cũng
là mục tiêu của Word2Vec Với Word2Vec, huấn luyện một mạng nơron đơn giản chỉ có một lớp ân đề thực hiện véc tơ hóa các từ trong tập từ vựng Tuy nhiên, chúng ta không sử dụng kết quả đầu ra của mạng noron sau khi huấn luyện mà sẽ sử dụng trọng số của lớp an Ma trận trọng số của lớp ân giống như một bảng tra cứu các từ
(Lookup Table) được biêu diễn bằng các véc tơ từ tương ứng.
Với đầu vào là một từ được thé hiện bằng một véc tơ one-hot, việc đưa véc tơ
này qua lớp an về bản chất chính là tìm kiếm trên ma trận trọng số của lớp an một véc tơ có số lượng đặc trưng bang số cột của ma trận trọng SỐ.
Khi nhân một véc tơ one-hot 1x10000 với ma trận 10000x300 thì kết quả của phép nhân ma trận chỉ ảnh hưởng bởi hàng có phan tử 1 của véc tơ one-hot Hình
2.9 minh họa kết quả phép nhân véc tơ one-hot với ma trận trọng số lớp ân.
Hình 2.10: Minh họa kết quả phép nhân véc tơ one-hot với ma trận trọng số lớp ẩn
Đầu ra của Word2Vec là một bộ phân lớp sử dụng hàm softmax Hàm softmax cho kết quả là một giá trị thuộc khoảng [0;1], chính là xác suất của mỗi dau ra, tong
các giá trị này bang 1.
2.2.5 Mô hình CBOW (Continuous Bag of Word)
CBOW là một mạng noron chỉ có 1 lớp ấn hoạt động như một lớp chiếu của lớp đầu vào, để dự đoán từ mục tiêu dựa trên các từ xung quanh nó Đầu vào của CBOW là N từ, với N là kích thước cửa số của ngữ cảnh được xác định trước và đầu
ra là từ dự đoán sử dụng lớp softmax [5] Phương thức hoạt động của CBOW là dự
23
Trang 33đoán xác suất của một từ được cho trong một ngữ cảnh (context) dựa trên các từ gần nó Một ngữ cảnh có thê là một từ đơn hoặc một tập các từ.
2.2.6 Kỹ thuật Doc2Vec
Mô hình Doc2vec dựa trên Word2Vec và thêm một vectơ (ID đoạn) khác vào
đầu vào Kiến trúc của mô hình Doc2Vec được biểu diễn ở hình dưới đây:
Hình 2.11: Kiến trúc mô hình Doc2Vec
Sơ đồ trên dựa trên mô hình CBOW, nhưng thay vì chỉ sử dụng các từ gần đó để dự đoán từ, mô hình đã đã thêm một vectơ tính năng khác, là ID duy nhất của tài liệu Vì vậy, khi huấn luyện các véc tơ từ W, véc tơ văn bản D cũng được huấn luyện và khi kết thúc huấn luyện, nó giữ một biểu diễn số của tài liệu.
Các đầu vào bao gồm các véc tơ từ và véc tơ ID của văn bản Vectơ từ là một one hot véc tơ với một chiều Véc tơ ID của văn bản có chiều là 1xC, trong đó C là
số lượng tổng văn bản.
2.3 HỌC SÂU VÀ MẠNG NƠRON TÍCH CHAP
2.3.1 Giới thiệu
Mạng nơron tích chập (CNN - Convolutional Neural Network) là mô hình hoc
sâu tiên tiễn giúp ta xây dựng được các hệ thống thông minh với độ chính xác cao.
24
Trang 34CNN có kiến trúc hợp lý hơn so với ANN truyền thống, các lớp của một CNN được sắp xếp theo ba chiều: Chiều rộng, chiều cao và chiều sâu.
Trong mô hình CNN, các lớp liên kết với nhau qua phép tích chập (convolution) Lớp tiếp theo là kết quả tích chập từ lớp trước đó nên sẽ có được các liên kết cục bộ; nghĩa là: mỗi noron ở lớp tiếp theo sinh ra từ các bộ lọc (filter) “xếp
chồng” lên một vùng dữ liệu cục bộ của noron lớp trước đó.
Mỗi lớp được xếp chồng một bộ lọc khác nhau Các lớp Pooling dùng để lọc các thông tin hữu ích (loại bỏ các thông tin nhiễu) Trong quá trình huấn luyện,
CNN sẽ tự động học được các tham số cho các bộ lọc.
convolution + max pooling
Phép tích chập (convolution) được sử dụng nhiều trong xử lý tín hiệu số
(digital signal processing), xử lý anh, video số, Để dé hình dung, có thé xem phép tích chập như một “cửa số trượt” (sliding window) xếp chồng lên một ma trận dữ
Ví dụ: Xét phép tích chập như ở Hình 2.13 dưới đây, ma trận bên trái biểu diễn
một ảnh đen trang (image) Mỗi giá tri của ma trận tương đương với một điểm ảnh
(pixel), 0 là mau trang, 1 là màu đen (nếu là ảnh đa mức xám thì giá trị biến thiên từ 0 đến 255) Sliding window còn gọi là bộ lọc (ma trận hạt nhân) (filter, kernel) Ở đây, sử dùng một bộ lọc filter kích thước (3x3), nhân từng thành phần tương ứng với ma trận ảnh bên trái Giá trị đầu ra bằng tổng của tích các thành phần này Kết quả
25
Trang 35tích chập là một ma trận (convoled feature) sinh ra từ việc trượt ma trận filter vàthực hiện tích chập lên toàn bộ ma trận ảnh bên trái.
Hình 2.13: Minh họa một pháp tích chập
2.3.3 Kiến trúc của CNN
Một CNN là một tập hợp các lớp cơ bản và các lớp của một CNN thường được liên kết với nhau theo một thứ tự nhất định Mô hình mạng CNN [15] gồm các lớp:
Lớp Convolution.
Lớp ReLU (Rectified linear unit).Lớp Pooling.
Lớp FC (Fully Connected).
Các lớp này được xếp lên nhau dé tao thành kiến trúc CNN day đủ Việc sap xếp, số lượng và thứ tự giữa các lớp sẽ tạo ra các mô hình phù hợp cho các bài toán
khác nhau.
Lớp Convolution
Lớp Convolution thê hiện ý tưởng ban đầu của CNN Lớp này sẽ sử dụng một bộ lọc (filter) có kích thước nhỏ so với ma trận dữ liệu (thường là kích thước (3x3) hoặc (5x5)) xếp chồng vào một vùng trong ma trận dữ liệu và tiễn hành tính tích
chập giữa bộ filter và giá trị dữ liệu trong vùng cục bộ mà nó xếp chồng Bộ lọc
filter sẽ lần lượt được dịch chuyển theo một giá tri bước trượt (stride) chạy doc theo
ma trận dữ liệu và quét dữ liệu Các trọng số của filter ban đầu sẽ được khởi tạo
ngẫu nhiên và sẽ được điều chỉnh trong quá trình huấn luyện mô hình (Hình 2.14).
26
Trang 36Hình 2.14: Convolution với bộ lọc filter
Lớp ReLU (Rectified Linear Unit)
Lớp ReLU thường được sử dụng ngay sau lớp Convolution, sử dụng hàm kích
hoạt f(x) = max(0, x) Lớp này thực hiện chuyền toàn bộ các giá tri âm trong kết quả
lay từ lớp Convolution thành giá trị 0, dé tạo tính phi tuyến cho mô hình Có nhiều cách dé tạo nên mô hình phi tuyến như: sử dụng các hàm kích hoạt sigmoid, tanh, ,
nhưng hàm f(x) = max(0,x) được chọn vi dé cài đặt, tính toán nhanh mà vẫn hiệu
Lớp ReLU có nhiệm vụ tạo nên tính phi tuyến cho mô hình.
Lớp Pooling
Lớp Pooling sử dụng một cửa số trượt quét qua toàn bộ ma trận dữ liệu, mỗi
lần trượt theo một bước trượt (stride) cho trước Lớp Pooling không tính tích chập
mà tiến hành lay mẫu cục bộ (subsampling) Khi cửa số trượt trên dữ liệu, chỉ có
một giá trị được xem là giá trị đại diện cho thông tin đữ liệu tại vùng đó (giá tri mẫu)
được giữ lại Các phương thức phô biến trong lớp Pooling là MaxPooling (lay giá trị lớn nhat), MinPooling (lấy giá trị nhỏ nhất) và AveragePooling (lay giá trị trung
27
Trang 37Hình 2.15: Ví du tính toán với phương pháp MaxPooling
Lớp Pooling có nhiệm vụ làm giảm kích thước dữ liệu, những vẫn giữ được
các đặc trưng cần thiết cho nhận dạng (thông qua cách lấy mẫu) Việc giảm kích thước dữ liệu sẽ làm giảm lượng tham só, tăng hiệu năng tính toán và góp phần kiểm
soát vấn đề quá khớp.
Lớp FC (Fully Connected)
Lớp FC giống như lớp trong ANN truyền thang, các giá tri dữ liệu được liên
kết đầy đủ vào nút trong lớp tiếp theo Sau khi dữ liệu được xử lý và rút trích đặc
trưng từ các lớp trước đó, dữ liệu sẽ không còn lớn so với mô hình truyền thăng nên
Trong mô hình CNN, các layer được liên kết với nhau thông qua cơ chế
convolution Layer tiếp theo là kết quả tích chập từ layer trước đó nên ta có được
các liên kết cục bộ Như vậy, mỗi nơron ở lớp kế tiếp sinh ra từ kết quả của filter xếp chồng lên một vùng dữ liệu cục bộ của noron trước đó.
Trọng số:
Giống ANN truyền thăng, CNN cũng là một mô hình học nên việc khởi tạo
ban đầu cho các trọng số trong mạng cũng là ngẫu nhiên và sẽ được điều chỉnh
thông qua quá trình học Thuật toán hoc sử dung cho CNN cũng là thuật toán lan
truyền ngược sử dụng Gradient Descent trong ANN truyền thăng, chỉ khác là trong
28