You are on page 1of 53

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

KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ 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: TRẦN CAO MINH BÁCH AT150204


VŨ THỊ ÁNH AT150504
TRẦN THỊ DUNG AT150310
Nhóm 8
Giảng viên hướng dẫn: 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,
Java, 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 quá
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 của đề cương này được chia làm 03 phần như 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 để sử 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

Lời cam đoan được viết tại đây. Xem cách viết lời cam đoan tại Mục Error:
Reference source not found.
MỤC LỤC

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT............................................................i

DANH MỤC HÌNH VẼ................................................................................................ii

DANH MỤC BẢNG BIỂU..........................................................................................iii

TÓM TẮT ĐỒ ÁN.......................................................................................................iv

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

1.5 Tổng quan về thuật toán sử dụng tóm tắt văn bản............................................4
1.5.1 Thuật toán K-Means Clustering...................................................................4
1.5.2 Thuật toán LSA (Latent Semantic Analysis)................................................5
1.5.3 Thuật toán Text Rank...................................................................................7

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..............................................................................13

2.2 Thiết kế giao diện người dùng..........................................................................23


2.2.1 Các chức năng chính..................................................................................23
2.2.2 Phân quyền cho User..................................................................................23
2.2.3 Nội dung trên trang....................................................................................23
2.2.4 Cấu trúc trang web thực tế.........................................................................24

2.3 Chuẩn bị dữ liệu đầu vào..................................................................................26


2.3.1 Thu thập dữ liệu..........................................................................................26
2.3.2 Bóc tách & Lọc dữ liệu về dạng chuẩn......................................................29

2.4 Xử lý dữ liệu đã chuẩn hoá..............................................................................30


2.4.1 Tách câu trong văn bản..............................................................................30
2.4.2 Tách từ trong câu........................................................................................30
2.4.3 Sử dụng kỹ thuật chuyển từ thành vector số thực......................................30
2.4.4 Xây dựng đoạn văn bản tóm tắt..................................................................30

CHƯƠNG 3. KẾT QUẢ THỰC NGHIỆM..............................................................31

3.1 Nộp bản cứng....................................................................................................31


3.1.1 Nộp bản mềm.............................................................................................31

3.2 Bản quyền kết quả nghiên cứu.........................................................................31

KẾT LUẬN..................................................................................................................33

Kết luận chung........................................................................................................33

Hướng phát triển.....................................................................................................33

Kiến nghị và đề xuất...............................................................................................33

TÀI LIỆU THAM KHẢO..........................................................................................34

PHỤ LỤC.....................................................................................................................35

Phụ lục 1. Mẫu trang bìa chính của đồ án............................................................35

Phụ lục 2. Mẫu trang bìa phụ của đồ án...............................................................37

Phụ lục 3. Mẫu nhận xét đồ án..............................................................................39


DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Xem Mục

i
DANH MỤC HÌNH VẼ

Hình 1.1 Sơ đồ khối của hệ thống.......................................................................3


(Xem thêm Mục Error: Reference source not found)

ii
DANH MỤC BẢNG BIỂU

Bảng 1.1 Kết quả thí nghiệm..............................................................................3


(Xem thêm Mục Error: Reference source not found)

iii
TÓM TẮT ĐỒ ÁN

Tóm tắt đồ án, có độ dài 1-2 trang, được trình bày tại đây. Chi tiết xem Mục Error:
Reference source not found.

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

Tóm tắt nội dung Chương 1 được trình bày tại đây, dài khoảng từ 5 đến 10 dòng.

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 hoàn toà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ở hoàn toà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ó quá 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

Học máy là một tập con của trí tuệ nhân tạo. Theo định nghĩa của Wikipedia thì,
học máy là một lĩnh vực nhỏ của khoa học máy tính, nó có khả năng tự học hỏi dựa
trên dữ liệu đưa vào mà không cần phải lập trình cụ thể.

Ý tưởng cơ bản của mọi quy trình học máy là xây dựng mô hình dựa trên một
số thuật toán để thực hiện một nhiệm vụ cụ thể như phân loại, phân lớp, hồi quy... Giai
đoạn huấn luyện được thực hiện dựa trên dữ liệu đầu vào và mô hình được xây dựng
để dự đoán đầu ra. Kết quả đầu ra phụ thuộc mục tiêu ban đầu và việc thực hiện. Chi
tiết quy trình học máy gồm các bước như sau:

Hình 1.1: Sơ đồ học máy

Quy trình học máy cơ bản được chia làm các giai đoạn sau:

− Thu thập dữ liệu (gathering data): Quá trình thu thập dữ liệu phụ thuộc
vào loại dự án mà chúng ta mong muốn xây dựng, ví dụ nếu chúng ta muốn xây dựng
dự án học máy mà sử dụng dữ liệu thực để chúng ta có thể xây dựng một hệ thống IoT
từ các dữ liệu cảm biến khác nhau. Dữ liệu chúng ta có thể thu thập từ các nguồn dữ
liệu khác nhau như một tập tin, cơ sở dữ liệu, cảm biến ...

− Tiền xử lý dữ liệu (data pre-processing): Tiền xử lý dữ liệu là một trong
những giai đoạn quan trọng trong học máy, nó giúp xây dựng mô hình học máy chính
xác. Tiền xử lý dữ liệu là một quá trình làm sạch dữ liệu thô, dữ liệu được thu thập từ
nhiều nguồn trong thế giới thực và được chuyển thành một tập dữ liệu sạch. Dữ liệu

2
thô ban đầu có một số đặc điểm như dữ liệu bị thiếu sót, không nhất quán, nhiễu vì vậy
dữ liệu này phải được xử lý trước khi đưa vào học máy.

− Xây dựng mô hình phù hợp cho loại dữ liệu (researching model): Mục
tiêu chính của chúng ta là xây dựng mô hình thực hiện tốt nhất dựa trên một số thuật
toán phân loại và phân lớp.

− Huấn luyện và kiểm thử mô hình trên dữ liệu (training and testing
model): để huấn luyện một mô hình, ban đầu chúng ta chia mô hình thành 03 giai đoạn
bao gồm: dữ liệu huấn luyện (training data), dữ liệu xác nhận (validation data) và dữ
liệu kiểm thử (testing data). Để huấn luyện bộ phân lớp ta sử dụng tập hợp dữ liệu
huấn luyện (training data set), để tinh chỉnh các tham số ta sử dụng tập hợp xác nhận
(validation set) và sau đó kiểm tra hiệu suất của bộ phân loại chưa biết sử dụng tập hợp
dữ liệu kiểm thử (test data set). Một lưu ý quan trọng là trong quá trình huấn luyện bộ
phân lớp là dữ liệu kiểm thử không được sử dụng để huấn luyện.

− Đánh giá (evaluation): Đánh giá mô hình là một phần quan trọng
trong quy trình phát triển mô hình, nó giúp tìm ra mô hình tốt nhất để đại diện cho dữ
liệu của chúng ta và mô hình được chọn sẽ hoạt động tốt như thế nào trong tương 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 toá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.
Ngoà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,

3
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. Ngoà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 toá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.
− Xử lý văn bản: Sử dụng các thuật toán K-Means Clustering, LSA và
Text Rank 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.Danh mục ký hiệu và chữ viết 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 toán học máy không giám sát – Unsupervised Learning.
Đầu vào của thuật toá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.

4
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 luôn nằm trong top những thuật toán Machine Learning phổ biến nhất.

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 toá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 toá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ẻ.

5
LSA lấy các tài liệu 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 hoàn toà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 toán thuộc mô hình chủ đề, phân loại topic. Ý tưởng của thuật
toá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 toá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.

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 : 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.

6
- Để 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 toán hoàn toà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 topic-document và topic-term là tuyến tính.

- Chi phí tinh toá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 Text Rank

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).

Hình : Sơ đồ đánh giá giá trị của thuật toán PageRank

7
Giá trị PageRank hình thành từ thuật toán toán học dựa trên webgraph: các
trang world wide web được coi như các đỉnh và các đường link là các cạnh. Khi hình
thành webgraph người ta có tính đến những trang của các cơ quan có thẩm quyền như
cnn.com hay usa.gov. Giá trị xếp hạng cho thấy tầm quan trọng của từng trang cụ thể.
Mỗi đường link tới trang web sẽ được tính như một sự hỗ trợ làm tăng thêm giá trị
Pagerank.

Giá trị Pagerank của trang được định nghĩa đệ quy và phụ thuộc vào số lượng
và giá trị của các trang mà có link dẫn đến trang đó (incoming links).Một trang web có
chứa nhiều link liên kết từ các trang web có giá trị PageRank cao thì giá trị PageRank
của trang đó cũng sẽ cao.Có rất nhiều bài viết đã được xuất bản ra công chúng dựa trên
nghiên cứu gốc của Page và Brin.

Dựa trên ý tưởng này, thuật toán TextRank ra đời nhằm xếp hạng các câu trong
một văn bản dựa trên độ tương tự giữa các câu. Mỗi đỉnh sẽ là một câu, cạnh nối là độ
tương tự giữa hai câu. Từ đó xác định được các đỉnh với rank cao nhất - các câu quan
trọng nhất.

1.5.3.2 Ý tưởng áp dụng thuật toán

1.5.3.3

8
CHƯƠNG 2. THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

Tóm tắt Chương 2 được trình bày tại đây, dài khoảng từ 5 đến 10 dòng.

2.1 Phân tích hệ thống

2.1.1 Biểu đồ phân rã chức năng

Hệ thống tổng hợp & tóm tắt thông tin

Quản lý hệ thống Xử lý dữ liệu

Thay đổi thông Cập nhật thông Xoá & Sửa nội Cập nhật Thu thập dữ Tạo nội dung bài
Xử lý dữ liệu
tin tin dung bài viết thành viên liệu viết

9
2.1.2 Biểu đồ Use Case tổng quát

Hình 2.1: Biểu đồ Use Case tổng quát

10
2.1.3 Xác định actor và chức năng

STT Tác nhân Mô tả tác Chức năng


nhân

1 Guest Là đối tượng Đăng kí, tìm kiếm bài viết, xem
chưa có tài thông tin trang web.
khoản trong
hệ thống.

2 Amin Là người hỗ Đăng nhập, tìm kiếm, quản lí User,


trợ quản lí quản lí bình luận và đánh giá, quản
nắm bắt các lí bài viết, thêm, xóa và sửa tài
nghiệp vụ khoản trong hệ thống.
của website

3 User Là đối tượng Đăng nhập, tìm kiếm bài viết, xem
đã có tài thông tin trên website, bình luận về
khoản trong bài viết, lưu thông tin bài viết, gợi ý
hệ thống bài viết theo sở thích.

Bảng 2.1: Xác định actor và chức năng

11
2.1.4 Biểu đồ Use case chi tiết

2.1.4.1 Biểu đồ UC User

Hình 2.2: Biểu đồ UC User

2.1.4.2 Biểu đồ UC Guest

Hình 2.3: Biểu đồ UC Guest

12
2.1.4.3 Biểu đồ UC quản lý tin tức

Hình 2.3: Biểu đồ UC quản lý tin tức

2.1.4.4 Biểu đồ UC quản lý User

Hình 2.4: Biểu đồ UC quản lý User

2.1.5 Đặc tả các ca sử dụng


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

Use Case Đăng ký

Actor Guest

Brief Description Người dùng chưa có tài khoản muốn


đăng ký

13
Pre-conditions Chưa có tài khoản

Basic Flows 1. Người dùng chọn đăng ký tài khoản


2. Hệ thống hiển thị from đăng kí
3. Điền đầy đủ thông tin vào form
Alternative Flows Nếu người dùng điền sai, thiếu thông
tin hệ thống sẽ báo lỗi và gửi lại form
đăng ký

Post-conditions Nếu thực hiện đăng ký thành công


người dùng có tài khoản trong hệ thống
website

Special Requiements Chưa tồn tại username trên hệ thống

2. Use Case đăng nhập

Use Case Đăng nhập

Actor User, Admin

Brief Description Người dùng có tài khoản muốn đăng


nhập

Pre-conditions Đăng ký

Basic Flows 1. Người dùng chọn đăng nhập tài


khoản
2. Hệ thống hiển thị from đăng nhập
3. Điền đầy đủ thông tin vào form
Alternative Flows Nếu người dùng điền sai, thiếu thông
tin hệ thống sẽ báo lỗi và gửi lại form
đăng nhập

Post-conditions Nếu thực hiện đăng nhập thành công


người dùng có thể đăng nhập vào hệ
thống website

14
Special Requiements

2.1 Use Case quên mật khẩu

Use Case Quên mật khẩu

Actor User

Brief Desecription Khi người dùng quên mật khẩu và


muốn reset lại mật khẩu

Pre-conditions Đăng ký

Basic Flows Người dùng đã nhập lại mật khẩu


nhiều lần không chính xác

1. Chọn mục “quên mật khẩu”


2. Hệ thống sẽ hiển thị 1 form như
sau
+ Tài khoản
+Số điện thoại
3. Người dùng nhập đúng thông tin
thì hệ thống sẽ gửi lại mật khẩu
mới qua số điện thoại.
Alternative Flows Nếu nhập sai thông tin hệ thống sẽ
không thể gửi lại mật khẩu cho khách
hàng

Post-conditions Khách hàng sử dụng mật khẩu mới

Special requiements Không có

15
3. Use Case đăng xuất

Use Case Đăng xuất

Actor Admin, User

Brief Description Người sử dụng muốn thoát khỏi phiên


làm việc

Pre-conditions Đăng nhập

Basic Flows 1. Người dùng chọn Đăng xuất


2. Hệ thống hiển thị yêu cầu đăng
xuất
3. Người dùng đồng ý đăng xuất
Alternative Flows Nếu người dùng không đồng ý, hệ
thống sẽ tiếp tục phiên làm việc.

Post-conditions Nếu thực hiện đăng xuất thành công


người dùng kết thúc phiên làm việc của
mình.

Special Requiements

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

Use Case Quản lý thông tin

Actor User

Brief Description Người dùng đã có tài khoản và muốn


thay đổi thông tin.

Pre-conditions Đăng nhập

Basic Flows 1. Người dùng chọn Quản lý thông

16
tin
2. Hệ thống hiển thị Menu
Alternative Flows

Post-conditions Nếu thực hiện thay đổi thành công


người dùng có thể cập nhật thông tin mới
vào hệ thống.

Special Requiements Tồn tại thông tin trên hệ thống

17
4.1 Use Case thay đổi mật khẩu

Use Case Thay đổi mật khẩu

Actor User

Brief Description Người dùng muốn thay đổi mật khẩu

Pre-conditions Đăng nhập

Basic Flows 1. Người dùng chọn thay đổi mật


khẩu
2. Hệ thống hiển thị from thay đổi
3. Điền đầy đủ thông tin vào form
Alternative Flows Nếu người dùng điền sai, thiếu thông
tin hệ thống sẽ báo lỗi và gửi lại form
thay đổi

Post-conditions Nếu thực hiện thay đổi thành công


người dùng có thể đăng nhập vào hệ
thống với mật khẩu mới, hệ thống cập
nhật mật khẩu mới cho người dùng

Special Requiements Tồn tại thông tin trên hệ thống

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

Use Case Thay đổi thông tin cá nhân

Actor User

Brief Description Người dùng có thông tin cá nhân cần


thay đổi

Pre-conditions Đăng nhập

Basic Flows 1. Người dùng chọn thay đổi thông


tin

18
2. Hệ thống hiển thị from thay đổi
3. Điền đầy đủ thông tin vào form
Alternative Flows Nếu người dùng điền sai, thiếu thông
tin hệ thống sẽ báo lỗi và gửi lại form
thay đổi

Post-conditions Nếu thực hiện thành công, hệ thống sẽ


cập nhật thông tin mới của người dùng

Special Requiements Tồn tại thông tin trên hệ thống

5. Use Case xem tin tức

Use Case Xem tin tức

Actor Guest, User

Brief Description Người dùng xem tin trên trang web

Pre-conditions

Basic Flows 1. Người dùng chọn vào các mục bài


viết
2. Hệ thống hiển thị bài viết

Alternative Flows

Post-conditions Người dùng sẽ xem được các bài viết

Special Requiements

1.

5.1 Use Case tìm kiếm

Use Case Tìm kiếm

Actor Guest, User

Brief Description Người dùng tìm kiếm thông tin bài

19
viết theo tiêu đề và các nhãn bài viết

Pre-conditions

Basic Flows 1. Hệ thống sẽ hiển thị 1 form với các
tiêu chí muốn tìm kiếm
2. Người dùng nhập thông tin trên
form và bấm nút tìm kiếm, hệ thống
sẽ truy vấn database và hiển thị kết
quả tìm kiếm
Alternative Flows Nếu người dùng nhập sai hay thiếu
tiêu chí nào thì hệ thống sẽ không
hiển thị kết quả

Hệ thống có thể chỉ định tìm kiếm lại


hoặc hủy thao tác tìm kiếm

Post-conditions Nếu tìm kiếm thành công thì bài viết


sẽ được hiển thị

Special Requiements Không có

5.2 Use Case bình luận

Use Case Bình luận

Actor User

Brief Description Người dùng bình luận vào bài viết.

Pre-conditions Đăng nhập

Basic Flows 1. Hệ thống sẽ hiển thị 1 form để nhập


nội dung bình luận
2. Người dùng nhập thông tin trên
form và bấm nút submit, hệ thống
sẽ lưu vào database các bình luận

20
Alternative Flows

Post-conditions Mỗi khi truy cập bài viết có bình luận,


thì các bình luận sẽ được hiện thị

Special Requiements

6. Use Case quản lý User


Use Case Quản lý User

Actor Admin

Brief Description Admin quản lý các thông tin

Pre-conditions Đăng nhập

Basic Flows 1. Admin chọn phần quản lý User


2. Hệ thống hiện thị menu
Alternative Flows

Post-conditions Menu quản lý được hiện thị

Special Requiements Là tài khoản Admin

6.1 Use Case reset mật khẩu


Use Case Reset mật khẩu

Actor Admin

Brief Description Admin reset mật khẩu cho User bị


quên

Pre-conditions Đăng nhập

Basic Flows 1. Admin chọn reset

Alternative Flows

Post-conditions User được reset về mật khẩu mặc định

21
Special Requiements Là tài khoản Admin

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


Use Case Quản lý tài khoản

Actor Admin

Brief Description Admin quản lý các tài khoản trong cơ


sở dữ liệu

Pre-conditions Đăng nhập

Basic Flows 1. Admin chọn quản lý tài khoản


2. Admin chọn xoá tài khoản
Alternative Flows Không xoá được tài khoản Super
Admin

Post-conditions Khi tài khoản bị xoá, người dùng đó


không thể đăng nhập được vào hệ
thống

Special Requiements Là tài khoản Admin

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


Use Case Quản lý bài viết

Actor Admin

Brief Description Admin quản lý các bài viết trong cơ


sở dữ liệu

Pre-conditions Đăng nhập

Basic Flows 1. Admin chọn quản lý bài viết


2. Admin chọn bài viết cần thay đổi

22
Alternative Flows

Post-conditions Các thông tin của bài viết và các hành


động đối với bài viết được hiện thị

Special Requiements Là tài khoản Admin

8.1 Use Case sửa thông tin bài viết

Use Case Sửa thông tin bài viết

Actor Admin

Brief Desecription Đăng nhập

Pre-conditions Admin có thể sửa thông tin bài viết

Basic Flows 1. Sau khi chọn mục “Thông tin bài


viết” trong phần “Quản lý bài
viết”
2. Chọn biểu tượng hình “bút chì”
để sửa thông tin bài viết, hệ thống
sẽ hiển thị form:
+ Tiều đề
+ Tag
+ Date
+ Mô tả
+ Nội dung
3. Khi Admin chọn nút xác nhận, hệ
thống sẽ cập nhật thông tin vào
database
Alternative Flows Nếu người dùng nhập thiếu thông tin,
hệ thống sẽ báo lỗi và gửi lại form.
Người dùng có thể không nhập thông
tin và chọn hủy

23
Post-conditions Cập nhật thông tin bài viết

Special requiements Không có

8.2 Use Case xóa bài viết

Use Case Xóa bài viết

Actor Admin

Brief Desecription Admin có thể xóa những bài viết

Pre-conditions Đăng nhập

Basic Flows 1. Sau khi chọn mục “Thông tin bài


viết” trong phần “Quản lý bài viết”
2. Hệ thống sẽ hiện biểu tượng
“thùng rác”
3. Sau khi chọn biểu tượng đó, dữ
liệu của bài viết sẽ bị xóa khỏi
database
Alternative Flows

Post-conditions Bài viết sẽ không còn hiển thị trên hệ
thống

Special requiements Không có

2.2 Thiết kế giao diện người dùng


Phần giao diện người dùng là phần thiết yếu để người dùng có thể tiếp cận và
sử dụng kết quả mà mô hình tạo ra. Ở đây, chúng em sử dụng môi trường web, được
phát triển dựa trên nền tảng Java với Framework Spring Boot, từ đó, cho ra giao diện
người dùng một cách tối ưu nhất giúp việc giao tiếp giữa Front-end và Back-end dễ
dàng. Việc quản lý và kiểm duyệt lại các nội dung cho đội ngũ Amin cũng dễ dàng
hơn.

24
2.2.1 Các chức năng chính

2.2.1.1 Admin có phần đăng nhập quản lý bài viết(thêm sửa xóa)

2.2.1.2 Hiển thị ra trang chủ các bài viết theo sắp xếp thời gian mới nhất

2.2.1.3 Hiển thị ra trang chủ các bài viết theo sắp xếp thời gian mới nhất

2.2.2 Phân quyền cho User

Có 3 loại User:

− Khách đã đăng ký tài khoản: User


− Khách chưa đăng ký tài khoản: Guest
− Người quản trị cấp cao nhất: Amin

2.2.3 Nội dung trên trang

Các nội dung sau khi được xử lý sẽ được phân loại và trình bày trên trang web,
tuỳ theo các thẻ được gắn nhãn từ trước, các bài báo sẽ được phân loại vào các chỉ
mục xác định từ trước

Các bài viết sẽ được trình bày ngắn gọn có cấu trúc gồm:

− Tiêu đề (đính kèm là link bài gốc)


− Ảnh đại diện cho bài viết
− Nội dung bài viết (30% bài viết gốc)
− Thanh chức năng text to speech

2.2.4 Cấu trúc trang web thực tế

2.2.4.1 Trang chủ

25

Hình : Trang chủ website


2.2.4.2 Trang tin tức theo nhãn

Hình : Trang hiển thị thông tin theo nhãn

2.2.4.3 Trang thông tin chi tiết từ bài

Hình : Trang thông tin chi tiết

26
2.3 Chuẩn bị dữ liệu đầu vào

2.3.1 Thu thập dữ liệu

Các nội dung được lấy từ các nguồn chính thống như: tuoitre.vn; VnExpress.vn;
Zing.vn; thanhnien.vn; Vietnamnet.vn; laodong.vn; dantri.com.vn

2.3.1.1 Phân tích dữ liệu từ website:

Các nội dung của báo điện tử thường sẽ có cấu trúc như sau:

Tiêu đề bài báo


Mô tả bài báo

Ảnh đại diện của bài báo

Nội dung bài báo

Ví dụ:

Hình 2.5: Hình ảnh từ báo Tuổi trẻ

27
Hình 2.6: Hình ảnh từ báo VnExpress

2.3.1.2 Bóc tách dữ liệu từ mã nguồn của web:

2.2.1.3.1 Xác định thành phần cần thu thập


- Link bài viết
- Thời gian bài đăng
- Tiêu đề bài viết
- Mô tả bài viết
- Ảnh đại diện của bài viết
- Nội dung bài viết

28
2.2.1.3.2 Phân tích và bóc tách dữ liệu từ mã nguồn

Với các thành phần được liệt kê ở trên, đối với mỗi trang web sẽ có một cấu
trúc mã nguồn khác nhau. Vì vậy, trong tài liệu này xin chỉ đề cập đến việc phân tích
và bóc tách dữ liệu từ mã nguồn của trang tuoitre.vn.

2.2.1.3.3 Đối với Link bài viết

Các bài viết sẽ được hiện thị ở trang chủ và các trang con của nó ở dạng tiêu đề
kèm theo link bài viết bằng thẻ <a> và có thuộc tính href chứa link đến bài viết đó. Sử
dụng thư viện bs4 và request của Python để xử lý theo các bước:

- Bước 1: Gửi một request với tham số là link trang chủ .


- Bước 2: Lấy nội dung mã nguồn của request bằng phương thức content của
thư viện request.
- Bước 3: Sử dụng thư viện bs4 để định dạng lại cho nội dung mã nguồn lấy
được từ request.
- Bước 4: Sử dụng phương thức findAll() của thư viện bs4 để có thể tìm
kiếm được tất cả các thẻ <h2> chứa link trỏ đến bài viết.
- Bước 5: Sử dụng phương thức find() của thư viện bs4 để tìm tất các link
trỏ đến bài viết nằm trong thẻ <a>.

Mã nguồn:
# Nạp thư viện

from bs4 import BeautifulSoup

import requests

# Gửi request cho trang https://tuoitre.vn

news = requests.get(‘https://tuoitre.vn’)

# Định dạng lại mã nguồn lấy được từ request

soup = BeautifulSoup(news.content, "html.parser")

# Tìm tất cả các thẻ chứa tiêu đề

titles = soup.findAll('h2', class_='title-name')

29
# Tìm tất cả các thẻ <a> và lấy thuộc tính href chứa link trỏ đến bài
viết

links = [link.find('a').attrs["href"] for link in titles]

2.2.1.3.4 Đối với các thành phần khác

Các bài viết đều có chung 1 mẫu và không thay đổi nhiều tuỳ bài viết, từ đó có
thể xác định chính xác những thẻ nào chứa các thành phần như: tiêu đề, thời gian đăng
bài, mô tả bài viết, ảnh đại diện bài viết và nội dung bài viết. Vẫn sử dụng thư viện bs4
để tách được các thành phần này ra khỏi mã nguồn và đưa về trạng thái văn bản thuần
tiền xử lý.

Mã nguồn:
# Lấy tiêu đề bài viết

title = soup.find("h1", class_="article-title").text

# Lấy ngày đăng bài viết

date = soup.find("div", class_="date-time").text

# Lấy mô tả bài viết

abstract = soup.find("h2", class_="sapo").text

# Lấy nội dung bài viết

body = soup.find("div", id="main-detail-body").text

# Lấy ảnh đại diện bài viết

image = body.img['src']

2.3.2 Bóc tách & Lọc dữ liệu về dạng chuẩn

Văn bản đầu vào 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ày nên
chúng ta cần phải xử lý văn bản thu được. Chúng ta sẽ biến đổi văn bản về các chữ cái
thường và loại bỏ các khoảng trắng thừa.

30
2.2.1.4Bóc tách dữ liệu

Văn bản sẽ được tách ra từ các thẻ html bởi thư viện bs4. Từ đó, loại bỏ được
các thành phần dư thừa như tên thẻ và các thành phần khác của file html.

2.2.1.5 Lọc dữ liệu về dạng chuẩn

Văn bản được loại bỏ các ký tự đặc biệt, các ký tự xuống dòng và các ký tự
không có nhiều ý nghĩa. Khi đó văn bản vẫn có thể không thay đổi nhiều và có khả
năng giữ nguyên nội dung ban đầu của văn bản.

2.4 Xử lý dữ liệu đã chuẩn hoá

2.4.1 Tách câu trong văn bản

2.4.2 Tách từ trong câu

2.4.3 Sử dụng kỹ thuật chuyển từ thành 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.

2.4.4 Xây dựng đoạn văn bản tóm tắt

Với việc áp dụng 3 thuật toán trên để xử lý văn bản, kết quả trả ra là các đoạn
văn có nội dung tương tự nhau, nhưng chúng cần phải được xác định độ giống nhau so
với văn bản gốc, từ đó sẽ quyết định nội dung được sử dụng là của thuật toán nào.

Việc này cũng cho phép cho việc xử lý nội dung các bài báo ở các trang khác
nhau có thể được lọc ra và loại bỏ các bài viết bị trùng lặp nội dung, tránh gây tiêu tốn
tài nguyên của hệ thống.

31
CHƯƠNG 3. KẾT QUẢ THỰC NGHIỆM

3.1 Nộp bản cứng


Sinh viên (hoặc nhóm sinh viên với tối đa 3 thành viên làm chung một đề tài) nộp
01 quyển đồ án TTCS tại văn phòng khoa CNTT trước ngày bảo vệ ít nhất 03 ngày.
Mỗi quyển đồ án phải có các đặc điểm sau:

 Được in một mặt hoặc hai mặt nhằm tiết kiệm không gian lưu trữ.
 Được đóng bìa mềm và có bìa bóng kính. Lưu ý: không dùng bìa cứng.
 Quyển phải có chữ ký của sinh viên sau Lời cam đoan và của giảng viên hướng
dẫn.

3.1.1 Nộp bản mềm

Sinh viên nộp bản mềm đồ án TTCS theo Giảng viên hướng dẫn. Mỗi sinh viên
hoặc nhóm sinh viên phải nộp đủ toàn bộ các nội dung được làm trong đồ án TTCS
(quyển file mềm dạng .docx và .pdf; project bao gồm cả mã nguồn và hướng dẫn cài
đặt). Tất cả đặt trong cùng 1 thư mục và được đặt tên theo:
manhom_tendetai_tengvhd_nam.rar. Sinh viên hoặc nhóm sinh viên nộp cho GVHD
dưới dạng link tới file đã gửi lên cloud (google, microsoft, v.v.) hoặc copy cho GVHD.

3.2 Bản quyền kết quả nghiên cứu


Đồ án TTCS của sinh viên thường thuộc một trong hai kiểu sau đây:

 Thực hiện một nhiệm vụ nào đó để hoàn thành quá trình học tập. Sinh viên tự
tìm điều kiện làm việc để hoàn thành đồ án. Do đó, sinh viên có quyền khai
thác và sử dụng đồ án của mình vào những việc khác. Đồng thời, Khoa Công
nghệ thông tin có toàn quyền sử dụng các kết quả của đồ án và cam kết
chia sẻ các kết quả trong bản đồ án cho tất cả những ai quan tâm và có yêu
cầu.
 Thực hiện một đề tài, một nhiệm vụ trong ý đồ chiến lược, trong chương trình
khoa học và lao động sản xuất của giảng viên hướng dẫn, của cơ sở đào tạo

32
(trung tâm, viện nghiên cứu, các công ty, v.v.), của cơ sở đào tạo cung cấp các
phương tiện và điều kiện làm việc khác (máy móc, sách vở, điện thoại, truy cập
internet, máy in, dụng cụ thiết bị thí nghiệm, kinh phí, v.v.). Trong trường hợp
này, toàn bộ bản quyền của đồ án không thuộc về sinh viên. Sinh viên chỉ là
một người tham gia thực hiện nên không được tuỳ tiện sử dụng ở những nơi
khác với mục đích khác. Khi sinh viên thực hiện một đề tài theo hình thức này,
vai trò của giảng viên hướng dẫn là định hướng, cung cấp các tài liệu tham khảo
(nếu có), tạo điều kiện cơ sở vật chất (chỗ ngồi, máy tính, máy in, vật tư tiêu
hao, phương tiện thông tin liên lạc, internet v.v.) để hoàn thành công việc.

33
KẾT LUẬN

Kết luận chung


Xem Mục Error: Reference source not found

Hướng phát triển


(Nếu có)

Kiến nghị và đề xuất


(Nếu có)

34
TÀI LIỆU THAM KHẢO

[1] T. H. Cormen, C. E. Leiserson, and R. L. Rivet, Introduction to Algorithm. MIT


Press, McGraw-Hill, 1990.

[2] J. W. DuBois, S. Schuetze-Coburn, S. Cumming, and D. Paolino, “Outline of


discourse transcription,” in Talking Data: Transcription and Coding in Discourse
Research, J. A. Edwards and M. D. Lampert, Ed. Hillsdale, NJ: Lawrence
Erlbaum Associates, 1993, pp. 45-89.

[3] J. M. Airey, J. H. Rohfl, F. Brooks Jr., “Towards Image Realism with Interactive
Update Rates in Complex Virtual Building Environments,” Comptuer Graphics,
Vol. 24, No. 2, pp. 41-50, 1990.

[4] S. Brandt, G. Nutt, T. Berk, M. Humphrey, “Soft Real time Application Execution
with Dynamic Quality of Service Assurance,” in Proceedings of the Sixth
IEEE/IFIP International Workshop on Quality of Service, Hawaii, USA, May
1998, pp. 154-163.

[5] K. Riley, “Language theory: Applications versus practice,” presented at the Conf.
of the Modern Language Association, Boston, MA, December 27-30, 1990.

[6] J. Jones. (1991). Networks (2nd ed.) [Online]. Available: http://www.atm.com.

35
PHỤ LỤC

Phụ lục 1. Mẫu trang bìa chính của đồ án


(Xem trang sau)
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:

ÁP DỤNG MÔ HÌNH HỌC SÂU TRONG BÀI

TOÁN PHÂN LOẠI ẢNH

Sinh viên thực hiện: LÊ LUNG LINH AT150302


NGUYỄN VĂN NAM AT150033
TRẦN THU HÀ AT150345
Nhóm 68
Giảng viên hướng dẫn: ThS. LÊ ĐỨC THUẬN

Hà Nội, 10-2021

Phụ lục 2. Mẫu trang bìa phụ của đồ án


(Xem trang sau)
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:

ÁP DỤNG MÔ HÌNH HỌC SÂU TRONG BÀI

TOÁN PHÂN LOẠI ẢNH

Sinh viên thực hiện: LÊ LUNG LINH AT150302


NGUYỄN VĂN NAM AT150033
TRẦN THU HÀ AT150345
Nhóm 68
Giảng viên hướng dẫn: ThS. LÊ ĐỨC THUẬN

Hà Nội, 10-2021

Phụ lục 3. Mẫu nhận xét đồ án


(Xem trang sau)
ĐÁNH GIÁ QUYỂN ĐỒ ÁN THỰC TẬP CƠ SỞ
(Dùng cho giảng viên hướng dẫn)

Tên giảng viên đánh giá:......................................................................................


Họ và tên Sinh viên:...........................................MSSV:.....................................
Tên đồ án:............................................................................................................
.............................................................................................................................
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí
dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)

Có sự kết hợp giữa lý thuyết và thực hành (20)


Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các
1 giả thuyết (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng 1 2 3 4 5
dụng của đồ án
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
4 1 2 3 4 5
đạt được
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
5 1 2 3 4 5
thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả
6 1 2 3 4 5
đều được phân tích và đánh giá thỏa đáng.
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa kết
7 quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để 1 2 3 4 5
đề xuất hướng giải quyết có thể thực hiện trong tương lai.
Kỹ năng viết quyển đồ án (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được đánh số
8 thứ tự và được giải thích hay đề cập đến trong đồ án, có căn lề, dấu cách 1 2 3 4 5
sau dấu chấm, dấu phẩy v.v), có mở đầu chương và kết luận chương, có
liệt kê tài liệu tham khảo và có trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học,
9 1 2 3 4 5
lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.)
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
1 Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải 5
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc
0a
tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
1 nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải
2
0b khuyến khích trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành
như TI contest.
1
Không có thành tích về nghiên cứu khoa học 0
0c

Điểm tổng /50

Điểm tổng quy đổi về thang 10

Nhận xét khác (về thái độ và tinh thần làm việc của sinh viên)
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................

Ngày: … / … / 20…
Người nhận xét
(Ký và ghi rõ họ tên)

You might also like