Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (15.84 MB, 75 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small>Sinh viên thực hiện : Lê Thu Hương</small>
<small>MỤC LỤC</small>
<small>0/1900 905 ... i</small>
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
<small>L.L.1. Giới thiệu cơ sở thực tẬP...- -.- - Gà 1n SH HH Hy 3</small> 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 TỐN TĨM TAT VAN BAN6 1.4. LỰA CHỌN CƠNG CỤ VA MOI TRƯỜNG CÀI ĐẶT...---- 9
2.1. MẠNG NƠRON NHÂN TAO Woes ssssssssssssssssssecssesssessscssecssecsssesecasecssecseseses 11 <small>2.1.1. Noron nhân tao ... --- 2 33221112 ng ng ng nến 11</small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">2.1.2. Kiến trúc mạng noron nhân AO ...- - -- 5 3s 3+ stress 13
<small>2.1.3. Phan loại mạng TIOTOII... -- - (G1391 8391 E311 9 vn re 14</small>
<small>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</small>
<small>2.1.5. _ Giảm lỗi cho mạng nØrOn...:- 2 25 + ++++£+2E++E+zEzxezxerxerxerxee 18</small>
2.2. CÁC KỸ THUAT VEC TO HOA DU LIEU VAN BẢN... 19
<small>QQ. Khai nie... <d-:L.L)Ố...,. 19</small>
<small>2.2.2. Phương pháp dựa trên TIF#IDE... 5 5 + ng net 20</small>
<small>2.2.3. Kỹ thuật Word2VeC...- -. LH TH TH HH HH kg 21</small>
<small>2.2.4. Mơ hình skIp-BTam...- G1 E11 HH ng ky 22</small>
<small>2.2.5. Mơ hình CBOW (Continuous Bag of Word)...-.--ss-ccsscssses 23</small>
<small>2.2.6. Kỹ thuật DOC2VEC ... --- cv HH TH HH HH kg 24</small>
2.3. HỌC SAU VÀ MẠNG NƠRON TÍCH CHẬP...-...---:-++ 24
<small>2.3.1. GIớI thIỆU... SH Tnhh gà 24</small>
<small>PIN Na ion nh ừễ::'a.iÍ:ư:ư<ư:sƯ5Ê5Ư. 25</small>
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
<small>2.4.1. Giới thiệu mơ hình BERT... ee ceceeceeeeeeseeeeeeseesececeeeeeseeeeeeeaeens 30</small>
<small>2.4.2. M6 hinh BERTSum 0 ¿ỪỎỘỪ..Ả... 33</small>
<small>2.4.3. Mơ hình PhoBEiRÏT”... - -- + s3 3 9191 vn ng nh g rưkt 35</small>
2.5. BÀI TOÁN TOM TAT VAN BẢN ...-..ccccccccrrtiirrrrirrrrrirrrrrrree 37 2.5.1. Quy trình xử lý bài tốn tóm tắt văn bản...-.----:--¿-x+c.++c++ 37
<small>il</small>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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.2. Độ tương tự về nội dung (Content-based SimilarIty)...- -- 40
<small>2.6.3. Độ tương quan phù hợp (Relevance Correlation)... .-- ---‹+-- 40</small>
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
<small>4.1. BỘ DU LIEU THU NGHIỆM...---2- 2 + E++E++£E+Exerxzrxerxerxerxee 48</small>
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
<small>lil</small>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><small>Hình 2.1: Mơ hình một noron nhâH ÍQO...---«c c2 keeeeesssss Il</small>
<small>Hình 2.3: Mang noron mot lop ...cscccscccssccssccesscesessneceneceseeeseeessecsecsneeeseeesneesaes 14</small>
<small>Hình 2.12: Mơ hình CÌNÌN... . - «xxx nh nh th Hư tt 25</small>
<small>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</small>
<small>Hình 2.15 Ví dụ tính tốn với phương pháp MaxPooling ... -- 27</small>
<small>IV</small>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>Hình 3.12 Mơ Ninh CƠ SỞ... Gv ngư 42</small>
<small>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</small>
<small>Hình 4.3: Mơ hình kịch DAN 3 ...--- E6 EEEEEEEEEEEEEEEEEkEkkkkeeeeeeree 57</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><small>Bang 4.2: Thông tin các D6 Ait lIỆU...- c Sàn hSitseertesserseseerrse 48</small>
<small>vi</small>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">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
<small>(Inverse Document Frquency)</small>
<small>4 POS Gan nhãn từ loại (Part of Speech)</small>
<small>5 ANN Mạng nơron nhân tạo (Artificial Neural network)</small>
<small>6 CNN Mạng nơron tích chập (Convolution Neural</small>
7 RNN Mạng noron hơi quy (Recurrent Neural Network)
<small>vii</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">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
<small>hiện đê tài này.</small>
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.
<small>Em xin chân thành cảm ơn!</small>
<small>Hà Nội, tháng 05 năm 2020Sinh viên</small>
<small>Lê Thu Hương</small>
<small>viii</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">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
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
<small>cho bản thân.</small>
<small>Tuy nhiên, cũng chính vì sự đa dạng phong phú của thông tin mà đôi khi sẽ trở</small>
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 tố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,
<small>một lĩnh vực thuộc vê trí tuệ nhân tạo.</small>
<small>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</small>
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.
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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:
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
<small>Giới thiệu tông quan về xử lý ngôn ngữ tự nhiên va bài tốn tóm tắt văn bản.</small>
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 q thầy cơ và các bạn đóng góp ý kiến dé dé tài được hoàn thiện hơn.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><small>1.1.1. Giới thiệu cơ sở thực tập</small>
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
<small>Ban ở nhiều lĩnh vực khác nhau. Kaopiz cũng đã thành lập công ty chi nhánh tai</small>
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 <small>cuộc sông đây đủ về cả vật chât và tinh thân cho môi nhân viên.</small>
<small>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</small> 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
<small>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.</small>
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
<small>tác và nhân viên; đóng góp cho sự phát triên của xã hội.</small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><small>Thang 8 năm 2016: Thành lập Công ty TNHH Kaopiz tại Nhật Bản.</small>
<small>Tháng 10 năm 2017: Đạt chứng nhận ISO 9001.</small>
Tháng 9 năm 2018: Bắt đầu hợp tác kinh doanh cho hệ thống đọc ký tự AI.
<small>Tháng 10 năm 2018: Chứng nhận ISO27001.</small>
Tháng 10 năm 2018: Triển lãm tại Tuần lễ CNTT Nhật Bản.
<small>Tháng 3 năm 2019: Thành lập Kaopiz Solutions Co., Ltd. Nghiên cứu va ứng</small>
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
<small>Đại học Công nghệ Hà Nội.</small>
<small>Tháng 10 năm 2019: Công ty CNTT Việt Nam dat giải thưởng Top 50 + 10.</small>
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
<small>và 8 phịng ban.</small>
<small>Khối Khối</small>
<small>Sản xuất Sales-Marketing</small>
<small>: Phòng Phòng `</small>
<small>Ban Phòng Đi Sáo Phần mềm Phong Phong</small>
<small>ANTT &CI Comtor ;. h : PMO Marketing</small>
Hình 1.1: Sơ đô cơ cấu tổ chức của Kaopiz
<small>Khôi Backoffice</small>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><small>1.1.4. Kaopiz Solution</small>
<small>Công ty TNHH Kaopiz Solution được thành lập ngày 26 tháng 3 năm 2019</small>
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
<small>diện Lê Hải Băng.</small>
<small>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</small> 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 <small>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.</small>
Kaopiz Solution hỗ trợ nghiên cứu, phát triển các giải pháp và sản phẩm sử
<small>dụng cơng nghệ nhận dạng hình ảnh.</small>
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 tố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, 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.
<small>Việc TTVB ngày nay ngày càng trở nên quan trọng trong một thời đại mà</small>
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
<small>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</small>
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
<small>hét sức cân thiết.</small>
1.2.2. Mục tiêu của đề tài
<small>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</small>
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
<small>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.</small>
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 tốn xử lý ngơn ngữ tự nhiên và bài
<small>tốn TTVB.</small>
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 tốn TTVB nói riêng. Từ đó có thé đưa ra một mơ hình TTVB một cách hiệu quả.
Theo đà phát triển của cơng nghệ hiện nay, trí tuệ nhân tạo đang ngày càng
<small>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à</small>
đ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
<small>vì có liên quan đên ngôn ngữ của con người rât nhiêu.</small>
Các bài tố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
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="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 <small>được.</small>
<small>TTVB là q 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</small>
<small>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</small> vẫn phải đảm bảo được giữ lại trong văn bản tóm tắt.
Van đề đặt ra trong q 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
<small>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ử</small>
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 tố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 tốn TTVB có các 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
<small>phân loại TTVB như sau [17]:</small>
<small>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</small>
gốc đưa vào, bài tố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 q 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
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><small>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</small>
<small>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:</small>
Tóm tắt theo kiểu trích xuất: Trích xuất là q 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
<small>đưa vào).</small>
Tóm tắt theo kiểu tóm lược: Tóm lược là q 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ữ ngun 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
<small>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</small>
<small>gôc cân tóm tắt.</small>
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
<small>ngữ nghĩa, sinh ra ngôn ngữ tự nhiên từ văn bản gôc.</small>
Một hệ thống TTVB tổng quát gồm các giai đoạn sau:
<small>Văn bản</small>
<small>tóm tắt</small>
Hình 1.2: Mơ hình tổng qt của hệ thong tóm tắt văn bản [22] <small>Các giai đoạn của q trình tóm tắt văn bản được mô tả như sau:</small>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="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ị <small>ngữ liệu quan trong và các tham sô đâu vào cho giai đoạn tiép theo.</small>
Biến đổi (Transformation): Từ các thơng tin đầu ra của q 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
cũng khác nhau đối với từng hệ thống.
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ã
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><small>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.</small>
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ợ
<small>mạnh cho học sâu.</small>
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
<small>ả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.</small>
<small>Keras: TensorFlow là một thư viện hữu ích nhưng việc tạo ra các mơ hình chỉ</small> 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
<small>tác trên văn bản, chi, phân tích ngơn ngữ tự nhiên.</small>
<small>10</small>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><small>2.1.1. Noron nhân tạo</small>
<small>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</small>
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ị
<small>+1), ngược lại là giá trị khơng được kích hoạt (thường là giá tri -1). Thơng qua q</small>
<small>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.</small>
<small>x; Summations Transfer function</small>
<small>Hình 2.1: Mơ hình một noron nhân tạo</small>
<small>trong đó:</small>
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 q trình xử lý thơng tin (q trình chuyển đổi dữ
<small>liệu từ lớp này sang lớp khác). Với một q trình học (learning processing) thơng</small>
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
<small>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.</small>
<small>11</small>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><small>Summations (Hàm tông): Tinh tông trọng sô của tat cả các dau vào được đưa</small>
<small>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</small>
Transfer function (Ham chun đổ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
<small>Ham bước nhị phan (binary step function) hay ham ngưỡng (threshold</small>
<small>Hàm ReLU (REctified Linear Unit): f(x)= max(0, x)</small>
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
<small>thăng từ đâu vào qua các lớp và đên đâu ra.</small>
<small>: outputs</small>
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:
<small>Tap các đơn vi xử lý (các noron nhân tạo).</small>
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
<small>mà tín hiệu của đơn vij có trên đơn vi k.</small>
Một luật lan truyền quyết định cách tính tốn tín hiệu ra của từng noron từ đầu
<small>vào của nó.</small>
Một hàm kích hoạt (hay hàm chuyển đôi) (activation function, transfer <small>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.</small>
<small>Một nơron điêu chỉnh độ lệch (bias) của mối noron.</small>
<small>Phương pháp thu thập thông tin (luật học) (learning rule).</small>
<small>13</small>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Mơi trường hệ thống có thé hoạt động. <small>2.1.3. Phân loại mạng nơron</small>
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à
<small>lớp vào vừa là lớp ra.</small>
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
<small>trong, khơng tiêp xúc với mơi trường bên ngồi.</small>
<small>14</small>
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="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
<small>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</small>
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à:
<small>Mạng noron truyền thang (feedforward neural networks): Dữ liệu đầu vào từ</small>
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
<small>lớp trước đó).</small>
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 tố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
<small>vào đên lớp ra.</small>
<small>15</small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="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)).
<small>bj: Véc tơ độ lệch (bias) của lớp thứ i (Six 1: cho S noron).nj: net input (S¡ x 1).</small>
f: Hàm chuyền đổi (hàm kích hoạt).
<small>aj: net output (Si x 1).</small>
®: 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 q 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 tố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 tốn xong thì lớp kế tiếp sẽ bắt đầu thực hiện tính tố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 tố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 u cầu, khi đó một thuật tốn huấn luyện được áp dụng dé điều chỉnh
<small>các trọng sô.</small>
<small>16</small>
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="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 tốn lan truyền ngược là dạng tơng qt của thuật tố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 tốn đặt ra.
Thuận tốn BP được tóm tắt qua các bước sau:
Bước 1: Lan truyền xi các tính tố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):
Các noron trong lớp thứ nhất nhận các tín hiệu từ bên ngồ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 tố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 tố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.
<small>17</small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">Các bước trên có thé được lặp đi lặp lại nhiều lần.
<small>2.1.5. Giảm lỗi cho mạng nơron</small>
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 q phức tạp, tuy giảm thiểu được đáng kể, thậm chí tồ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ự đốn tốt được.
Overfitting xảy ra do mơ hình q 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
<small>không quan trọng.</small>
<small>18</small>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">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 q đơ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 q đơ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
<small>2.2.1. Khai niém</small>
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
<small>19</small>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="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à q
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.
<small>Ví dụ: Xét 2 câu: “Anh ghét ăn thịt” và “Anh ghét ăn cá”.</small>
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
<small>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</small>
<small>được véc tơ hóa dạng one-hot như sau:</small>
<small>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].</small>
<small>2.2.2. Phuong pháp dựa trên TF*IDF</small>
<small>TF*IDF (Term Frequency—Inverse Document Frequency) là phương pháp véc</small>
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
<small>văn bản đó [13].</small>
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
<small>tính theo cơng thức tương ứng sau:</small>
<small>20</small>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="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
<small>chứa token T.</small>
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
<small>2.2.3. Kỹ thuật Word2Vec</small>
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ừ.
<small>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ữ</small>
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 tố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ơ hồn tồn khơng tương đồng.
<small>Các véc tơ này thường có xu hướng tuân theo các luật suy diễn.</small>
<small>Word2Vec [1] là phương pháp véc tơ hóa từ dựa trên dự đốn từ, việc dự đoán</small> 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
<small>21</small>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31"><small>2.2.4. Mơ hình skip-gram</small>
Về cơ bản, mơ hình skip-gram là một mạng noron có một lớp ân, skip-gram dự
đố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
<small>trước) [5].</small>
<small>Mơ hình skip-gram có độ chính xác cao hơn nên mơ hình này được áp dụng</small> 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 <small>có giá trị băng 1, các vi trí khác đêu có giá tri băng 0.</small>
<small>Output Layer</small>
<small>Softmax Classifier</small>
<small>Hidden Laye r Probability that the word at a</small>
<small>Linear Neurons randomly chosen, nearbyInput Vector position is “abandon”</small>
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
<small>22</small>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="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.
<small>2.2.5. Mơ hình CBOW (Continuous Bag of Word)</small>
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
<small>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ự</small>
<small>23</small>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="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ừ.
<small>2.2.6. Kỹ thuật Doc2Vec</small>
<small>Mơ hình Doc2vec dựa trên Word2Vec và thêm một vectơ (ID đoạn) khác vào</small>
<small>đầu vào. Kiến trúc của mơ hình Doc2Vec được biểu diễn ở hình dưới đây:</small>
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ự đố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.
<small>2.3.1. Giới thiệu</small>
<small>Mạng nơron tích chập (CNN - Convolutional Neural Network) là mơ hình hoc</small>
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.
<small>24</small>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="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 q trình huấn luyện,
CNN sẽ tự động học được các tham số cho các bộ lọc.
<small>convolution + max pooling</small>
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
(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ả
<small>25</small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35"><small>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 tồn bộ ma trận ảnh bên trái.</small>
<small>Hình 2.13: Minh họa một pháp tích chập</small>
2.3.3. Kiến trúc của CNN
<small>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</small> 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:
<small>Lớp Convolution.</small>
<small>Lớp ReLU (Rectified linear unit).Lớp Pooling.</small>
<small>Lớp FC (Fully Connected).</small>
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 tốn
<small>khác nhau.</small>
<small>Lớp Convolution</small>
Lớp Convolution thê hiện ý tưởng ban đầu của CNN. Lớp này sẽ sử dụng một <small>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)</small> 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
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).
<small>26</small>
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36"><small>Hình 2.14: Convolution với bộ lọc filter</small>
<small>Lớp ReLU (Rectified Linear Unit)</small>
<small>Lớp ReLU thường được sử dụng ngay sau lớp Convolution, sử dụng hàm kích</small>
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,...,
<small>nhưng hàm f(x) = max(0,x) được chọn vi dé cài đặt, tính tốn nhanh mà vẫn hiệu</small>
Lớp ReLU có nhiệm vụ tạo nên tính phi tuyến cho mơ hình.
<small>Lớp Pooling</small>
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ó
<small>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)</small>
đượ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
<small>27</small>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"><small>Hình 2.15: Ví du tính tốn với phương pháp MaxPooling</small>
<small>Lớp Pooling có nhiệm vụ làm giảm kích thước dữ liệu, những vẫn giữ được</small>
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 tốn và góp phần kiểm
sốt vấn đề quá khớp.
<small>Lớp FC (Fully Connected)</small>
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
<small>thơng qua q trình học. Thuật tốn hoc sử dung cho CNN cũng là thuật toán lan</small>
truyền ngược sử dụng Gradient Descent trong ANN truyền thăng, chỉ khác là trong
<small>28</small>
</div>