1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyên đề thực tập: 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

75 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 15,84 MB

Nội dung

Trang 1

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 2

MỤ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 3

2.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 4

2.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 5

DANH 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 6

Hì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 7

DANH 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 8

CÁ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 9

LOI 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 10

LỜ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 11

Nhậ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 12

CHƯƠ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 13

Thang 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 14

1.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 15

trướ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 16

vự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 17

vớ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 18

Phâ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 19

nguô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 20

CHƯƠ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 21

Summations (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 22

Hà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 23

Mô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 24

Hì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 25

P: 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 27

Cá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 28

y 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 29

vé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 30

TE = (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 31

2.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 32

là 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 34

CNN 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 35

tí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 36

Hì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 37

Hì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

Ngày đăng: 11/04/2024, 20:40

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN