Tải bản đầy đủ (.docx) (114 trang)

ĐỒ án môn học THỰC tập cơ sở đề tài xây DỰNG ỨNG DỤNG WEBSITE TỔNG hợp và tóm tắt TIN tức

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 (3.62 MB, 114 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC

THỰC TẬP CƠ SỞ
ĐỀ TÀI:

XÂY DỰNG ỨNG DỤNG WEBSITE
TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Sinh viên thực hiện:

Giảng viên hướng dẫn:

TRẦN CAO MINH BÁCH AT150204
VŨ THỊ ÁNH AT150504
TRẦN THỊ DUNG AT150310
Nhóm 8
ThS. LÊ ĐỨC THUẬN


Hà Nội, 10-2021


LỜI NÓI ĐẦU

Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ. Công nghệ Thông tin
là một trong những ngành có vị thế dẫn đầu và có vai trị rất lớn trong sự phát triển chung đó.
Các ứng dụng của công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học
cũng như trong mọi lĩnh vực của đời sống. Là một phần của Cơng nghệ Thơng tin, Cơng nghệ


web đang có được sự phát triển mạnh mẽ và phổ biến rất nhanh bởi những lợi ích mà nó
mang lại cho cộng đồng là rất lớn.
Nhận thức được nhu cầu tìm hiểu thơng tin, giải trí của xã hội, là sự ra đời của hàng
loạt website cho các mục đích thương mại, giải trí, tin tức... Để đáp ứng với việc cập nhật
thông tin hàng ngày, tình hình xã hội, chính trị, thời sự... thì website tin tức ra đời là một nhu
cầu tất yếu.
Vì thời gian ngày càng ít, nhưng thơng tin thì lại rất nhiều. Nên đôi khi, chúng ta
không thể bao trọn được hết các thông tin mà chúng ta cần. Khiến cho việc nắm bắt thông tin
bị hạn chế. Do đó, từ vấn đề trên chúng em đã vận dụng ngôn ngữ Python, PHP, MySQL và
công cụ Visual Studio Code để xây dựng ứng dụng Website Tổng hợp và Tóm tắt Tin tức.
Với các công nghệ phát triển hiện nay, việc học máy là vấn đề khơng cịn q khó
khăn, nó cho phép chúng ta có thể dạy cho một cỗ máy có thể học hỏi và tự làm được với yêu
cầu đã được đề ra. Trong đề tài này, mơ hình học máy mà bọn em muốn sử dụng đó là mơ
hình xử lý dữ liệu ngơn ngữ ở mức độ văn bản. Sau khi được thu thập và phân loại, văn bản
sẽ được xử lý và trả về kết quả ở dạng những tin vắn tắt, mang đầy đủ ý nghĩa và nội dung
của bản tin gốc. Trong đó, yếu tố mang tính ảnh hưởng đó chính là mơ hình được hướng đến
nhằm xử lý dữ liệu ngơn ngữ tự nhiên NLP. Với mơ hình này, các thư viện đã sẽ được đề cập


phần sau, chúng em sẽ triển khai và phát triển thêm những tính năng phù hợp hơn, tăng độ
chính xác cũng như độ tin cậy khi sử dụng mơ hình. Bên cạnh đó là xử lý bản tin từ văn bản
thành giọng nói, giúp cho người dùng tiện lợi hơn rất nhiều trong việc cập nhật tin tức. Phát
triển xa hơn đó là áp dụng mơ hình vào để có thể phát triển và xử lý các khối dữ liệu văn bản
lớn hơn như: sách, tài liệu hay các loại truyện, tiểu thuyết. Phần nào cho người đọc có cái
hình dung rõ hơn về tác phẩm mà mình muốn trải nghiệm. Cũng như giúp cho người dùng
được tiếp cận một cách nhanh chóng và khái quát vấn đề mình cần tìm hiểu.
Nội dung tiếp theo cua đề cương nay đuơc chia lam 03 phân nhu sau:
Chương 1: Tổng quan về ngôn ngữ, các công cụ hỗ trợ và tổng quan về đề tài.
Chương này sẽ giới thiệu nền tảng được ứng dụng và phát triển đề tài của chúng em. Cách mà
bọn em kết nối và tạo ra hệ thống để đem đến bản tin vắn tắt và gọn. Bên cạnh đó là các định

nghĩa các nguồn tin. Đem lại cái nhìn khát quát nhất của đề tài.
Chương 2: Áp dụng phương pháp học máy trong xử lý ngơn ngữ. Chương này trình
bày về các giải pháp và kỹ thuật được sử dụng cho đề tài. Với đề tài là việc thu thập, phân tích


và rút gọn các bản tin thành những tin vắn. Việc trọng tâm phải để ý đó là áp dụng thuật toán
để xử lý câu chữ, sao cho sau khi được rút gọn, bản tin vẫn mang lại đúng nội dung và ý
nghĩa.
Chương 3: Trình bày về quá trình thực nghiệm và đánh giá các kết quả thu
được trong thực nghiệm. So sánh các kết quả này với các tập mẫu được chọn ra ban đầu. Từ
đó đánh giá và cải thiện thuật toán.


LỜI CAM ĐOAN

Toi la Trân Cao Minh Bach, ma sô sinh vien AT150204, sinh vien lơp AT15B, khoa
AT15. Nguơi huơng dân la ThS. Lê Đức Thuận. Toi xin thay mặt, cam đoan toan bọ nọi dung
đuơc trinh bay trong đô an Xây dựng Website tổng hợp và tóm tắt tin tức la kêt qua qua trinh
tim hiêu va nghien cưu cua chung toi. Cac dư liẹu đuơc neu trong đô an la hoan toan trung
thưc, phan anh đung kêt qua đo đac thưc tê. Moi thong tin trich dân đêu tuan thu cac quy đinh
vê sơ hưu tri tuẹ; cac tai liẹu tham khao đuơc liẹt ke ro rang. Toi xin chiu hoan toan trach
nhiẹm vơi nhưng nọi dung đuơc viêt trong đô an nay.
Ha Nọi, ngay 10 thang 10 nam 2021
Nguời cam đoan

Trần Cao Minh Bách


MỤC LỤC


DANH MỤC HÌNH VẼ............................................................................................................. i
DANH MỤC BẢNG BIỂU...................................................................................................... iii
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT........................................................................................ 1
1.1 Tổng quan về ngôn ngữ và các công cụ hỗ trợ............................................................. 1
1.1.1 Tổng quan về lập trình Python và Laravel............................................................... 1
1.1.2 Các cơng cụ hỗ trợ.................................................................................................... 1
1.2 Tổng quan về các nội dung thông tin được sử dụng..................................................... 1
1.3 Tổng quan về học máy.................................................................................................... 2
1.3.1 Giới thiệu học máy................................................................................................... 2
1.3.2 Giới thiệu về NLP.................................................................................................... 3
1.3.3 Giới thiệu về NLTK................................................................................................. 3
1.4 Quy trình xử lý và tóm tắt văn bản................................................................................ 3
1.5 Tổng quan về thuật tốn sử dụng tóm tắt văn bản........................................................ 4
1.5.1 Thuật tốn K-Means Clustering............................................................................... 4
1.5.2 Thuật toán LSA (Latent Semantic Analysis)........................................................... 5
1.5.3 Thuật toán TextRank................................................................................................ 6
CHƯƠNG 2. THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG...................................................... 9
2.1 Phân tích hệ thống.......................................................................................................... 9
2.1.1 Biểu đồ phân rã chức năng...................................................................................... 9
2.1.2 Biểu đồ Use Case tổng quát................................................................................... 10
2.1.3 Xác định actor và chức năng.................................................................................. 11
2.1.4 Biểu đồ Use case chi tiết........................................................................................ 12
2.1.5 Đặặ̆c tả các ca sử dụng............................................................................................. 14
2.2 Thiết kế giao diện người dùng..................................................................................... 20
2.2.1 Các chức năng chính.............................................................................................. 20
2.2.2 Phân quyền cho User.............................................................................................. 20
2.2.3 Nội dung trên trang................................................................................................ 20
2.2.4 Cấu trúc website thử nghiệm.................................................................................. 21



2.3 Thiết kế hệ thống thu thập tin
tức................................................................................23


2.3.1 Thu thập dữ liệu.....................................................................................................23
2.3.2 Bóc tách & Lọc dữ liệu về dạng chuẩn..................................................................26
2.4 Thiết kế hệ thống xử lý và tóm tắt tin tức....................................................................27
2.4.1 Tách câu trong văn bản..........................................................................................27
2.4.2 Tách từ trong câu................................................................................................... 27
2.4.3 Sử dụng kỹ thuật chuyển từ thành vector số thực..................................................28
2.4.4 Xây dựng đoạn văn bản tóm tắt............................................................................. 28
2.5 Xây dựng hệ thống....................................................................................................... 33
2.5.1 Hệ thống giao diện sử dụng cho người dùng......................................................... 33
2.5.2 Hệ thống thu thập thơng tin................................................................................... 38
2.5.3 Hệ thống tóm tắt văn bản.......................................................................................40
2.6 Một số hình ảnh thực tế các bài báo sau khi xử lý.....................................................42
Chương 3: KẾT QUẢ THỰC NGHIỆM................................................................................45
3.1 Kết quả chạy hệ thống giao diện người dùng............................................................. 45
3.1.1 Giao diện người dùng............................................................................................ 45
3.1.2 Hệ thống Thu thập thông tin.................................................................................. 45
3.1.3 Hệ thống Tóm tắt văn bản......................................................................................45
KẾT LUẬN..................................................................................................................................46
Kết luận chung................................................................................................................... 46
Hướng phát triển................................................................................................................46
Kiến nghị và đề xuất...........................................................................................................46
TÀI LIỆU THAM KHẢO.........................................................................................................47
PHỤ LỤC.....................................................................................................................................48
Phụ lục 1. Mẫu trang bìa chính của đồ án....................................................................... 48



Phụ lục 2. Mẫu trang bìa phụ của đồ án.......................................................................... 50
Phụ lục 3. Mẫu nhận xét đồ án......................................................................................... 52


DANH MỤC HÌNH VẼ

Hình 1: Sơ đồ học máy...............................................................................................................2
Hình 2: K-Means Clustering.......................................................................................................4
Hình 3: Sơ đồ cơng thức LSA.................................................................................................... 6
Hình 4: Sơ đồ đánh giá giá trị của thuật tốn PageRank............................................................7
Hình 5: Quy trình xử lý của TextRank....................................................................................... 7
Hình 6: Biểu đồ phân rã chức năng............................................................................................ 9
Hình 7: Biểu đồ Use Case tổng quát.........................................................................................10
Hình 8: Biểu đồ UC User......................................................................................................... 12
Hình 9: Biểu đồ UC Guest........................................................................................................12
Hình 10: Biểu đồ UC quản lý tin tức........................................................................................13
Hình 11: Biểu đồ UC quản lý User...........................................................................................13
Hình 12: Trang chủ website......................................................................................................21
Hình 13: Trang hiển thị thơng tin theo nhãn.............................................................................22
Hình 14: Trang thơng tin chi tiết.............................................................................................. 22
Hình 15: Mơ hình hệ thống thu thập thơng tin.........................................................................23
Hình 16: Hình ảnh từ báo Tuổi trẻ............................................................................................24
Hình 17: Hình ảnh từ báo VnExpress.......................................................................................24
Hình 18: Hệ thống xử lý và tóm tắt tin tức...............................................................................27
Hình 19: Các bài báo có nội dung giống nhau từ nhiều nguồn khác nhau được tìm ra trong quá

trình hoạt động..........................................................................................................................28
Hình 20: Các bài báo có nội dung giống nhau từ nhiều nguồn khác nhau...............................30
Hình 21: Bài báo trước khi xử lý..............................................................................................31
Hình 22: Bài báo được thu thập thơng tin................................................................................ 32

Hình 23: Trang chủ website......................................................................................................33


Hình 24: Trang hiển thị thơng tin theo nhãn.............................................................................34
Hình 25: Trang bài viết website................................................................................................34
Hình 26: Bình luận của người dùng......................................................................................... 35
Hình 27: Trang đăng ký............................................................................................................35
Hình 28: Trang đăng nhập........................................................................................................ 36
Hình 29: Trang chủ cho Admin................................................................................................ 36
Hình 30: Trang quản lý của Admin.......................................................................................... 37
Hình 31: Trang quản lý người dùng của Admin.......................................................................37
Hình 32: Tính năng tìm kiếm bài viết.......................................................................................38
Hình 33: Trang quản lý thơng tin của người dùng....................................................................38
Hình 34: Hệ thống được khởi chạy.......................................................................................... 39

i


Hình 35: File log trong quá trình hoạt động 1.......................................................................... 39
Hình 36: File log trong quá trình hoạt động 2.......................................................................... 40
Hình 37: File dữ liệu sau khi xử lý xong..................................................................................40
Hình 38: Log được ghi lại trên console....................................................................................41
Hình 39: Quá trình gọi API của Zalo........................................................................................41
Hình 40: File mp3 sau khi được xử lý......................................................................................42
Hình 41: Thơng tin sau khi xử lý..............................................................................................43
Hình 42: Thông tin sau khi xử lý..............................................................................................44


ii



DANH MỤC BẢNG BIỂU

1)

Xác định Actor và chức năng..........................................................................................11

2)

Use Case đăng ký của Guest........................................................................................... 14

3)

Use Case đăng nhập........................................................................................................ 14

a)

Use Case quên mâṭkhâu.................................................................................................. 15

4)

Use Case đăng xuất......................................................................................................... 15

5)

Use Case quản lý thông tin..............................................................................................15

a)

Use Case thay đổi mật khẩu............................................................................................ 16


b)

Use Case thay đổi thông tin cá nhân...............................................................................16

6)

Use Case xem tin tức.......................................................................................................17

a)

Use Case tìm kiếm...........................................................................................................17

b)

Use Case bình luận..........................................................................................................17

7)

Use Case quản lý User.................................................................................................... 18

a)

Use Case reset mật khẩu..................................................................................................18

8)

Use Case quản lý tài khoản............................................................................................. 18

9)


Use Case quản lý bài viết................................................................................................ 18

a)

Use Case sưa thông tin bài viết.......................................................................................19

b)

Use Case xoa bài viết...................................................................................................... 19

10) Use Case quản lý bình luận.............................................................................................20


iii


TĨM TẮT ĐỒ ÁN
Trong thời kì phát triển số, số hố thơng tin là một điều tất yếu của xã hội. Các trang
báo điện tử đưa các thông tin một cách tức thời, liên tục và cập nhật đến từ giây. Người dùng
thường sẽ tốn thời gian cho việc chọn đọc các tin tức, cũng như khó khăn cho việc kiểm sốt
nội dung các nguồn tin chính thống. Vấn đề đặặ̆t ra là việc nhiều người dùng đôi khi không có
thời gian nhiều được có thể ngồi đọc hết một lượng thơng tin khổng lồ mỗi ngày.
Vì vậy, nhóm chúng em nảy ra ý tưởng sẽ áp dụng những công nghệ đã được phát
triển để xử lý ngôn ngữ, từ đó áp dụng vào việc xử lý văn bản thu được từ các báo được chọn
lọc và có độ tin cậy cao. Đồ án phát triển theo ba bước được nêu ra trong quyển đồ án này lần
lượt là các bước: Đánh giá - Phân tích hệ thống, Thiết kế và tinh chỉnh các thành phần của hệ
thống và cuối dùng là việc Xây dựng và đánh giá hệ thống. Đồ án này là nghiên cứu, tìm tịi
và phát triển dựa trên các nguồn thông tin, dữ liệu đã được công bố từ trước. Đây vừa là một
điểm mạnh, cũng là một điểm yếu của đồ án. Nhưng điểm yếu này có thể khắc phục trong

thời gian phát triển tiếp theo của hệ thống.
Sau khi thiết kế và xây dựng hệ thống website để đưa vào thực tế sử dụng, các miêu tả
cơ bản của hệ thống được chia làm hai phần tương đương với mặặ̆t giao diện cho người dùng
và môi trường xử lý dữ liệu cho hệ thống. Với website, người dùng chỉ việc đọc lại thông tin
đã được tóm tắt với thơng tin cho phép người dùng có cái nhìn khái qt về các thơng tin
được cập nhật hàng giờ từ các nguồn báo. Bên cạnh đó, giải quyết được vấn đề người dùng
hiện tại thích xem các bản tin có chiều dài ngắn, khơng cần phải đọc quá dài như các trang
mạng xã hội hiện nay đang thực hiện. Các mẩu tin của người dùng tạo ra hay các trang trên
Facebook có độ dài ngắn gọn, xúc tích, người dùng dần có thói quen lướt khi đọc một tin nào
đó sau khi họ có thể hiểu được một phần của thơng tin. Website cịn cho phép người dùng tiết
kiệm thời gian trong vấn đề đọc nhiều nguồn báo mà không bị trùng lặặ̆p, với phép so sánh dựa
trên thuật toán so sánh Cosine được đề cập trong đồ án này ở phần sau. Các thuật toán áp
dụng ở môi trường xử lý của hệ thống cũng được nêu rõ trong quyển đồ án ở các phần sau với
các thuật toán LSA, K-Means Clustering và TextRank được áp dụng phổ biến trong các hệ
thống xử lý ngôn ngữ.
Đồ án này phần nào củng cố các kiến thức đã được học về việc thiết kế và xây dựng
một website. Bên cạnh đó, phát triển thêm các kĩ năng tự tìm hiểu, học hỏi thêm các kiến thức
mới từ những cơng việc thực tế khi có thể tạo ra một hệ thống hồn chỉnh, để có thể áp dụng
vào thực tế và có tính ứng dụng cao khi có thể sử dụng website cập nhật tin tức hàng ngày
nhanh chóng và hiệu quả hơn.

iv


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

Chương 1 miêu tả tổng quan nhất về các ngôn ngữ, công cụ hỗ trợ, nêu ra các quy trình để
xử lý cho học máy. Cùng với đó là vấn đề chính của đồ án này, đó là quy trình thu xử lý văn
bản cho trước, từ đó áp dụng các thuật tốn để từ đó tạo ra các văn bản tóm tắt có độ dài ngắn
hơn đáng kể, nhưng vẫn giữ được nội dung phù hợp với văn bản gốc. Bên cạnh đó là các thuật

tốn sẽ được sử dụng trong q trình xử lý văn bản, để thu được một văn bản tóm tắt hồn
chỉnh.

1.1 Tổng quan về ngơn ngữ và cáá́c cơng cụ hỗ trợ
1.1.1 Tổng quan về lập trình Python và Laravel
Python là ngơn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi
Guido van Rossum. Nó dễ dàng để tìm hiểu, Python hồn tồn tạo kiểu động và sử dụng cơ
chế cấp phát bộ nhớ tự động. Python có cấu trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận
đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng. Cú pháp lệnh của Python là điểm
cộng vơ cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở
thành một ngơn ngữ lý tưởng để viết script và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu
hết các nền tảng.
Laravel là một PHP framework mã nguồn mở hồn tồn miễn phí, được phát triển bởi
Taylor Otwell, phiên bản đầu tiên được cho ra mắt vào năm 2011. Laravel ra đời với mục đích
hỗ trợ phát triển các ứng dụng web dựa trên mơ hình Model – View – Controller (MVC).
1.1.2 Các công cụ hỗ trợ
Hiện tại có rất nhiều các trình hỗ trợ soạn thảo mã nguồn, cho phép mọi người lập
trình và chạy các mã nguồn. Visual Studio Code là một trong số đó. Với những extention có
thể tích hợp dễ dàng, giúp cho việc lập trình và thực thi mã nguồn tiện lợi, hiệu quả. Đó là
cơng cụ mạnh mẽ mà chúng em sẽ sử dụng xuyên suốt đề tài.

1.2 Tổng quan về cáá́c nội dung thông tin được sử dụng
Với các thông tin hiện tại, chúng ta đang có q nhiều thơng tin để phải chọn lọc. Bên
cạnh đó là nguồn thơng tin cần phải được xác thực từ các bên chính thống. Vì vậy, để phát
triển bước đầu cho hệ thống, các nguồn thông tin được cung cấp đầu vào sẵn từ trước, đến từ
các báo có độ uy tín cao, thơng tin xác thực từ các cơ quan có thẩm quyền như:
VnExpress.vn; Zing.vn; thanhnien.vn; Vietnamnet.vn; laodong.vn; tuoitre.vn; dantri.com.vn.


1



1.3 Tổng quan về học máá́y
1.3.1 Giới thiệu học máy
Hoc may la mọt tạp con cua tri tuẹ nhan tao. Theo đinh nghia cua Wikipedia thi, hoc
may la mọt linh vưc nho cua khoa hoc may tinh, no co kha nang tư hoc hoi dưa tren dư liẹu
đua vao ma khong cân phai lạp trinh cu thê.
Ý tuơng co ban cua moi quy trinh hoc may la xay dưng mo hinh dưa tren mọt sô thuạt
toan đê thưc hiẹn mọt nhiẹm vu cu thê nhu phan loai, phan lơp, hôi quy... Giai đoan huân
luyẹn đuơc thưc hiẹn dưa tren dư liẹu đâu vao va mo hinh đuơc xay dưng đê dư đoan đâu ra.
Kêt qua đâu ra phu thuọc muc tieu ban đâu va viẹc thưc hiẹn. Chi tiêt quy trinh hoc may gơm
cac buơc nhu sau:

Hình 1: Sơ đồ học máá́y
Quy trinh hoc may co ban đuơc chia lam cac giai đoan sau:
Thu thạp dư liẹu (gathering data): Qua trinh thu thạp dư liẹu phu thuọc vao loai dư an ma
chung ta mong muôn xay dưng, vi du nêu chung ta muôn xay dưng dư an hoc may ma sư
dung dư liẹu thưc đê chung ta co thê xay dưng mọt hẹ thông IoT tư cac dư liẹu cam biên khac
nhau. Dư liẹu chung ta co thê thu thạp tư cac nguôn dư liẹu khac nhau nhu mọt tạp tin, co sơ
dư liẹu, cam biên ...
− Tiên xư ly dư liẹu (data pre-processing): Tiên xư ly dư liẹu la mọt trong nhưng giai đoan quan
trong trong hoc may, no giup xay dưng mo hinh hoc may chinh xac. Tiên xư ly dư liẹu la mọt
qua trinh lam sach dư liẹu tho, dư liẹu đuơc thu thạp tư nhiêu nguôn trong thê giơi thưc va
đuơc chuyên thanh mọt tạp dư liẹu sach. Dư liẹu tho ban đâu co mọt sô đặc điêm nhu dư liẹu
bi thiêu sot, khong nhât quan, nhiêu vi vạy dư liẹu nay phai đuơc xư ly truơc khi đua vao hoc
may.
− Xay dưng mo hinh phu hơp cho loai dư liẹu (researching model): Muc tieu chinh cua
chung ta la xay dưng mo hinh thưc hiẹn tôt nhât dưa tren mọt sô thuạt toan phan loai va
phan lơp.
− Huân luyẹn va kiêm thư mo hinh tren dư liẹu (training and testing model): đê huân luyẹn mọt

mo hinh, ban đâu chung ta chia mo hinh thanh 03 giai đoan bao gôm: dư liẹu huân luyẹn
(training data), dư liẹu xac nhạn (validation data) va dư liẹu kiêm thư (testing



2


data). Đê huân luyẹn bọ phan lơp ta sư dung tạp hơp dư liẹu huân luyẹn (training data set), đê
tinh chinh cac tham sô ta sư dung tạp hơp xac nhạn (validation set) va sau đo kiêm tra hiẹu
suât cua bọ phan loai chua biêt sư dung tạp hơp dư liẹu kiêm thư (test data set). Mọt luu y
quan trong la trong qua trinh huân luyẹn bọ phan lơp la dư liẹu kiêm thư khong đuơc sư dung
đê huân luyẹn.
− Đanh gia (evaluation): Đanh gia mo hinh la mọt phân quan trong trong quy trinh phat
triên mo hinh, no giup tim ra mo hinh tôt nhât đê đai diẹn cho dư liẹu cua chung ta va mo
hinh đuơc chon se hoat đọng tôt nhu thê nao trong tuong lai.
1.3.2 Giới thiệu về NLP
Natural Language Processing (NLP) – Xử lý ngôn ngữ tự nhiên là lĩnh vực Khoa
học máy tính kết hợp giữa Trí tuệ nhân tạo (Artificial Intelligence) và Ngơn ngữ học tính tốn
(Computational Linguistics) nhằm tập trung xử lý tương tác giữa con người và máy tính sao
cho máy tính có thể hiểu hay bắt chước được ngơn ngữ của con người. Các ứng dụng thường
thấy như hiện nay là Siri, Cortana và Google Now.
1.3.3 Giới thiệu về NLTK
NLTK hay Natural Language Toolkit - Bộ công cụ ngôn ngữ tự nhiên, là một thư
viện được viết bằng Python hỗ trợ xử lý ngôn ngữ tự nhiên. Bằng cách cung cấp các cơ chế và
kỹ thuật xử lý ngôn ngữ phổ biến, nó giúp cho việc xử lý ngơn ngữ tự nhiên trở lên dễ dàng
và nhanh chóng hơn. Được viết bởi Steven Bird và Edward Loper, làm việc tại Khoa Máy
Tính, Đại Học Pennsylvania, Hoa Kỳ và năm 2001. Ngồi việc hỗ trợ xử lý ngơn ngữ, NLTK
cịn có các mô phỏng đồ hoạ và dữ liệu mẫu hữu ích. NLTK cung cấp các xử lý như
classification, tokenization, stemming, tagging, parsing, và semantic reasoning... Những ứng

dụng này chúng ta sẽ dần được tìm hiểu ở những bài viết sau. Ngồi việc phục vụ xử lý ngơn
ngữ tự nhiên, NLTK còn được sử dụng trong Machine Learning với tác dụng làm sạch dữ
liệu, xử lý dữ liệu đầu vào cho các thuật tốn Machine Learning.

1.4 Quy trình xử lý và tóm tắt văn bản
Tiền xử lý văn bản: Văn bản đầu vào của có thể chứa nhiều ký tự thừa, dấu câu thừa,
khoảng trắng thừa, các từ viết tắt, viết hoa, ... điều này có thể làm ảnh hưởng tới các
bước ở sau, nên cần biến đổi hết về các chữ cái thường và loại bỏ các khoảng trắng thừa,
các từ không mang ý nghĩa hay không ảnh hương ý nghĩa trong câu nếu loại bỏ.
− Táá́ch câu trong văn bản: Ở bước này, sẽ tách 1 đoạn văn bản cần tóm tắt đã qua xử lý
thành 1 danh sách các câu của văn bản.
− Chuyển cáá́c câu sang dạng vector số thực: Để phục vụ cho phương pháp tóm tắt ở
bước tiếp theo, cần chuyển các câu văn (độ dài ngắn khác nhau) thành các vector số thực
có độ dài cố định, sao cho vẫn phải đảm bảo được "độ khác nhau" về ý nghĩa giữa 2 câu
cũng tương tự như độ sai khác giữa 2 vector tạo ra.


3


Xử lý văn bản: Sử dụng các thuật toán K-Means Clustering, LSA và TextRank sẽ giúp phân
tích ra những cụm câu có ý nghĩa giống nhau, để từ đó chọn lọc và loại bỏ bớt các câu có
cùng ý nghĩa.
− Xây dựng đoạn văn bản tóm tắt: Sau khi đã có các cụm, trong mỗi cụm (phân loại theo ý
nghĩa), sẽ chọn ra 1 câu duy nhất trong cụm đó để tạo nên văn bản được tóm tắt.


1.5 Tổng quan về thuật toáá́n sử dụng tóm tắt văn bản
1.5.1 Thuật toán K-Means Clustering
1.5.1.1 Cơ sở thuật toán

Kmeans là một thuật tốn học máy khơng giám sát – Unsupervised Learning. Đầu vào
của thuật tốn phân cụm nói chung là các điểm dữ liệu và đầu ra là các điểm với cụm tương
ứng của nó sao cho các điểm thuộc cùng một cụm có nhiều mối quan hệ, liên kết với nhau
hơn nhiều so với các điểm khác cụm.
Với thuật toán Kmeans ta cần truyền thêm tham số là số cụm. Kmeans sử dụng Euclid
để xác định sự giống nhau giữa hai điểm dữ liệu, hai điểm càng gần nhau thì độ tương tự giữa
hai điểm này càng cao.
Dựa trên ý tưởng như vậy, Kmeans sử dụng hàm để tính tổng khoảng cách từ 1 điểm
tới tâm cụm tương ứng của nó và tối ưu dựa trên thuật toán lặặ̆p. Với ý tưởng đơn giản, dễ triển
khai nhưng lại đem lại kết quả tốt trên nhiều bài toán. Hiện tại Kmeans vẫn ln nằm trong
top những thuật tốn Machine Learning phổ biến nhất.

Hình 2: K-Means Clustering


4


1.5.1.2 Ý tưởng áp dụng thuật toán
Sau khi xử lý và chuẩn hoá dữ liệu đầu vào, việc chọn số cụm là việc khó khăn. Với
khả năng xử lý và tối ưu nhất cho một bài báo, thì số cụm được sử dụng trong hệ thống là 5
cụm tương đương với bài báo sau khi được tóm tắt có độ dài là 5 câu.
Các bước thực hiện:
Bước 1: Khởi tạo 5 điểm dữ liệu trong bộ dữ liệu và tạm thời coi nó là tâm của các
cụm dữ liệu của chúng ta.
Bước 2: Với mỗi điểm dữ liệu trong bộ dữ liệu, tâm cụm của nó sẽ được xác định là 1
trong 5 tâm cụm gần nó nhất.
Bước 3: Sau khi tất cả các điểm dữ liệu đã có tâm, tính tốn lại vị trí của tâm cụm để
đảm bảo tâm của cụm nằm ở chính giữa cụm.
Bước 4: Bước 2 và bước 3 sẽ được lặặ̆p đi lặặ̆p lại cho tới khi vị trí của tâm cụm khơng

thay đổi hoặặ̆c tâm của tất cả các điểm dữ liệu không thay đổi.
1.5.2 Thuật toán LSA (Latent Semantic Analysis)
1.5.2.1 Cơ sở thuật toán
LSA là một trong những kỹ thuật Xử lý Ngơn ngữ Tự nhiên (NLP) phổ biến nhất, nó
sẽ cố gắng xác định các chủ đề trong văn bản bằng cách phân tích các thành phần trong văn
bản bằng tốn học. LSA là một kỹ thuật học tập không giám sát dựa trên hai yếu tố chính:
- Giả thuyết phân bố cho rằng các từ có nghĩa giống nhau thường xuyên xuất hiện cùng
nhau.
- Phân rã giá trị đơn lẻ.
LSA lấy các từ trong văn bản có ý nghĩa và tái tạo chúng thành n phần khác nhau,
trong đó mỗi phần thể hiện một cách khác nhau để so sánh ý nghĩa của chúng trong văn bản.
Như việc biểu đạt một câu nói: “Hơm nay tơi khơng khoẻ!” bằng một câu nói với ý nghĩa
hồn tồn giống nó những cách nói khác là: “Hơm nay tơi cảm thấy mệt!”. Thuật toán LSA sẽ
phân chia các từ của văn bản thành một bảng gồm các ý nghĩa tiềm ẩn của từ trong văn bản
gốc.
1.5.2.2 Ý tưởng áp dụng thuật toán
LSA là một thuật tốn thuộc mơ hình chủ đề, phân loại topic. ÝÝ́ tưởng của thuật tốn
dựa trên phép phân tích suy biến ma trận biểu diễn văn bản đầu vào (A) để xác định khơng
gian tuyến tính con của A mà vẫn giữ được hầu hết những biến động của ma trận A. Nói cách
khác, thuật tốn này đi giảm chiều ma trận dữ liệu đầu vào sử dụng phép phân tích ma trận.
LSA dùng kỹ thuật phân tích giá trị riêng (SVD-Singular Value Decomposition) để giảm bớt
kích thước ma trận thuật ngữ-tài liệu, không gian N-chiều sẽ được giảm bớt xuống một không
gian K chiều, K<
5


Giả sử ma trận biểu diễn mối quan hệ giữa document-word là A mn∈Rm×n. Về cơ bản
phép phân tích suy biến sẽ biến đổi ma trận gốc A thành tích của các ma trận suy biến trái U,
ma trận đường chéo S và ma trận suy biến phải V theo cơng thức:


Hình 3: Sơ đồ cơng thức LSA
Mỗi dịng của U sẽ biểu diễn phân phối của văn bản và mỗi dòng của V là phân phối
của mỗi từ theo t topics ẩn.
Các cột của U và V đại diện cho các topics.
-

Để tìm ra 2 văn bản có giống nhau hoặặ̆c 2 từ giống nhau chúng ta sẽ tính tương quan của
các véc tơ dòng tương ứng với các văn bản của ma trận U hoặặ̆c các véc tơ dịng tương
ứng với từ của ma trận V.
Phép phân tích này giảm được khá nhiều chiều đối với trường hợp bộ văn bản lớn.
Tuy nhiên nó vẫn tồn tại những nhược điểm đó là:
Các tính tốn hồn tồn dựa trên phân tích ma trận.

-

Các topic được xác định dựa trên các phép chiếu tuyến tính nên mối quan hệ giữa topicdocument và topic-term là tuyến tính.
Chi phí tính tốn của mơ hình rất tốn kém nếu kích thước dữ liệu lớn

-

-

1.5.3 Thuật toán TextRank
1.5.3.1 Cơ sở thuật toán
TextRank được bắt nguồn từ thuật toán PageRank, thuật toán nhằm xếp hạng các trang
web của Google. Thuật toán này chỉ định giá trị nhất định cho mỗi thành phần của một tập
hợp các văn bản liên kết với nhau, ví dụ như World Wide Web. Mục đích "đo" tầm quan trọng
tương đối của các liên kết trong tập hợp đó. Áp dụng cho bất kỳ tập hợp văn bản nào có trích
dẫn đối ứng và liên kết cụ thể. Giá trị (weight) mà nó gán cho bất kỳ thành phần E được gọi là

PageRank của E và ký hiệu là PR(E).


×