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

đồ án tốt nghiệp xây dựng và kiểm thử hệ thống gợi ý thông tin dựa trên kỹ thuật phân lớp văn bản

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 (2.86 MB, 103 trang )

Niên khóa : 2011 – 2015
XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG GỢI Ý THÔNG TIN
DỰA TRÊN KỸ THUẬT PHÂN LỚP VĂN BẢN

TRỊNH THỊ PHƯƠNG
ĐỒNG VĂN TÀI
NGÔ THỊ LỆ THOA
XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG GỢI Ý THÔNG TIN
DỰA TRÊN KỸ THUẬT PHÂN LỚP VĂN BẢN

Chuyên ngành: Công nghệ thông tin

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội - Năm 2015


TRỊNH THỊ PHƯƠNG
ĐỒNG VĂN TÀI
NGÔ THỊ LỆ THOA

XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG GỢI Ý THÔNG TIN
DỰA TRÊN KỸ THUẬT PHÂN LỚP VĂN BẢN
Chuyên ngành: Công nghệ thông tin
Giảng viên hướng dẫn: ThS. Lê Hữu Dũng


VIỆN ĐẠI HỌC MỞ HÀ NỘI

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM


KHOA CÔNG NGHỆ THÔNG TIN

Độc lập – Tự do – Hạnh phúc
Hà Nội, ngày 11 tháng 05 năm 2015

NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Họ và tên: Trịnh Thị Phương

Giới tính: Nữ

Ngày sinh: 19/02/1993

Nơi sinh: Nam Định

Chuyên ngành: Công nghệ thông tin

Mã số: 101

Họ và tên: Đồng Văn Tài

Giới tính: Nam

Ngày sinh: 19/10/1993

Nơi sinh: Quảng Ninh

Chuyên ngành: Công nghệ thông tin

Mã số: 101


Họ và tên: Ngô Thị Lệ Thoa

Giới tính: Nữ

Ngày sinh: 22/02/1993

Nơi sinh: Vĩnh Phúc

Chuyên ngành: Công nghệ thông tin

Mã số: 101

1. TÊN ĐỀ TÀI
Xây dựng và kiểm thử hệ thống gợi ý thông tin dựa trên kỹ thuật phân
lớp văn bản.


2. NHIỆM VỤ CỦA ĐỀ TÀI
Nhiệm vụ cụ thể của Đồ án tốt nghiệp:
- Nghiên cứu kỹ thuật phân lớp văn bản
- Lựa chọn kỹ thuật phân lớp văn bản và xây dựng hệ thống xử lý trung
tâm thực hiện chức năng phân lớp văn bản, đưa ra gợi ý về các thông
tin liên quan
- Quản lý thông tin và cung cấp chức năng gợi ý thông tin cho các hệ
3.
4.
5.

thống khách
Kiểm thử hệ thống gợi ý thông tin đã xây dựng

NGÀY GIAO NHIỆM VỤ: 06 / 01 / 2015
NGÀY HOÀN THÀNH NHIỆM VỤ: 25 / 05 / 2015
CÁN BỘ HƯỚNG DẪN: ThS. Lê Hữu Dũng

Nội dung và đề cương Đồ án đã được Hội đồng chuyên ngành thông qua.
Ngày 11 tháng 05 năm 2015
CÁN BỘ HƯỚNG DẪN

KHOA CÔNG NGHỆ THÔNG TIN


BẢNG PHÂN CÔNG CÔNG VIỆC
Thành viên

Công việc
- Khảo sát và phân tích hệ thống

1. Đồng Văn Tài
(Developer)

- Thiết kế hệ thống
- Lập trình hệ thống
- Self Test
- Khảo sát và phân tích hệ thống

2. Trịnh Thị Phương

- Thiết kế hệ thống

(Tester)


- Lập trình hệ thống
- Thực hiện các kiểm thử (Lập Test Plan, Lập tài liệu
Test Case, Test Data, Test Script, Tổng hợp báo cáo)
- Khảo sát và phân tích hệ thống

3. Ngô Thị Lệ Thoa
(Tester)

- Thiết kế hệ thống
- Lập trình hệ thống
- Thực hiện các kiểm thử (Lập Test Plan, Lập tài liệu

Test Case, Test Data, Test Script, Tổng hợp báo cáo)
Các công việc được thực hiện theo quy trình và có phần thực hiện đan xen
công việc của các thành viên.


LỜI CẢM ƠN
Lời đầu tiên, chúng em xin bày tỏ lòng kính trọng và biết ơn tới ThS. Lê Hữu
Dũng – người đã tận tình hướng dẫn, chỉ bảo trong suốt quá trình thực hiện
đồ án của chúng em. Bằng tất cả tấm lòng, chúng em xin gửi lời cảm ơn chân
thành và sâu sắc nhất tới Thầy.
Chúng em xin chân thành cảm ơn các Thầy cô giáo trong Khoa Công nghệ
Thông tin, Viện Đại học Mở Hà Nội đã dìu dắt, tạo điều kiện thuận lợi cho
chúng em trong suốt thời gian học tập và nghiên cứu tại Trường.
Cảm ơn anh chị và các bạn Thực tập viên Trung tâm Công nghệ và Dịch vụ
Trực tuyến (OTSC) đã luôn bên cạnh, động viên và trao đổi kinh nghiệm
trong quá trình hoàn thành đồ án này.
Cuối cùng, Chúng em xin chân thành cảm ơn các thành viên trong Gia đình,

những người luôn dành cho chúng em những tình cảm nồng ấm nhất, luôn
bên cạnh, sẵn sàng chia sẻ những lúc khó khăn và động viên, khích lệ, giúp
đỡ chúng em trong suốt quá trình học tập, nghiên cứu và hoàn thành đồ án tốt
nghiệp. Bằng tất cả sự cố gắng, chúng em xin gửi tặng đồ án này như một
món quà tinh thần tới các thành viên trong Gia đình.
Hà Nội, ngày 11 tháng 05 năm 2015
Nhóm thực hiện
Trịnh Thị Phương
Đồng Văn Tài
Ngô Thị Lệ Thoa


LỜI NÓI ĐẦU
Trong những năm gần đây, sự phát triển vượt bậc của Công nghệ thông tin đã
làm tăng số lượng thông tin trên mạng Internet một cách đáng kể, đặc biệt là
thư viện điện tử, tin tức điện tử, … Do đó mà số lượng văn bản xuất hiện trên
mạng Internet cũng tăng tốc độ chóng mặt, và tốc độ thay đổi thông tin là cực
kỳ nhanh chóng. Với số lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra
là làm sao tổ chức và tìm kiếm thông tin, dữ liệu có hiệu quả nhất. Bài toán
gợi ý thông tin dựa trên kỹ thuật phân lớp là một trong những giải pháp hợp lý
cho yêu cầu trên. Nhưng một thực tế là khối lượng thông tin quá lớn, việc
phân lớp dữ liệu thủ công là điều không thể. Hướng giải quyết là một chương
trình học máy tự động phân lớp các dữ liệu trên.
Trong các loại dữ liệu thì văn bản là loại dữ liệu phổ biến mà con người
thường gặp phải nhất. Mô hình biểu diễn văn bản phổ biến hiện nay là mô
hình không gian vector. Tuy nhiên bài toán khai phá dữ liệu văn bản thường
gặp phải một số khó khăn như tính nhiều chiều của văn bản, tính nhập nhằng
của ngôn ngữ,… Đồng thời khi xử lý các bài toán phân lớp có độ tin cậy cao
đòi hỏi phải có một lượng các mẫu dữ liệu huấn luyện tức là các văn bản đã
được gán nhãn chủ đề lớp tương ứng. Do vậy đòi hỏi cần phải xử lý văn bản

hiệu quả và một số phương pháp học không cần nhiều dữ liệu được phân loại
và có khả năng tận dụng được các nguồn dữ liệu chưa phân loại rất phong phú
như hiện nay.
Nhóm chúng em chọn đề tài “Xây dựng và kiểm thử hệ thống gợi ý thông
tin dựa trên kỹ thuật phân lớp văn bản” với mong muốn rằng đây sẽ là một
hệ thống có ý nghĩa thực tiễn trong việc gợi ý cho người dùng những thông
tin hữu ích, giúp tiết kiệm thời gian, công sức khi mà vấn đề quá tải thông tin
đang ngày càng nghiêm trọng.


MỤC LỤ
TÓM TẮT ĐỒ ÁN..............................................................................................
DANH MỤC CÁC CHỮ VIẾT TẮT..................................................................
DANH MỤC CÁC KÝ HIỆU ............................................................................
DANH MỤC CÁC BẢNG..................................................................................
DANH MỤC HÌNH VẼ......................................................................................
Chương 1..........................................................................................................1
TỔNG QUAN VỀ ĐỀ TÀI.............................................................................1
1.1. Khái quát về các hệ thống gợi ý................................................................1
1.1.1. Giới thiệu bài toán gợi ý......................................................................1
1.1.2. Các kỹ thuật gợi ý...............................................................................1
1.2. Hệ thống gợi ý thông tin của đề tài...........................................................3
1.2.1. Kỹ thuật gợi ý của đề tài.....................................................................3
1.2.2. Thách thức của gợi ý thông tin web Tiếng Việt..................................3
1.3. Tổng quan về phân lớp..............................................................................4
1.3.1. Quá trình phân lớp dữ liệu..................................................................6
1.3.2. Biểu diễn văn bản................................................................................7
1.3.3. Phương pháp phân lớp văn bản...........................................................8
1.3.4. Các bước trong quá trình phân lớp văn bản........................................9
1.3.5. Đánh giá mô hình phân lớp...............................................................11

1.3.6. Các yếu tố quan trọng tác động đến phân lớp văn bản......................11
Chương 2........................................................................................................13
THUẬT TOÁN HỌC MÁY PHÂN LỚP....................................................13
2.1. Bài toán học có giám sát.........................................................................13
2.2. Một số phương pháp học máy phân lớp..................................................14
2.3. Thuật toán SVM với phân lớp văn bản...................................................16
2.3.1. Giới thiệu về SVM............................................................................17
2.3.2. Thuật toán SVM................................................................................18


2.3.3. Huấn luyện SVM..............................................................................19
Chương 3........................................................................................................21
XỬ LÝ VĂN BẢN TIẾNG VIỆT.................................................................21
3.1. Đặc trưng của Tiếng Việt.........................................................................21
3.1.1. Đặc trưng...........................................................................................21
3.1.2. Phán đoán web Tiếng Việt.................................................................22
3.2. Các phương pháp tách từ Tiếng Việt.......................................................22
3.3. Maximum Matching – Phương pháp sử dụng trong đề tài......................24
Chương 4........................................................................................................26
THỰC HIỆN PHÂN LỚP VĂN BẢN.........................................................26
4.1. Chuẩn bị dữ liệu huấn luyện...................................................................27
4.1.1. Trình thu thập web............................................................................27
4.1.2. Nhận dạng vùng nội dung.................................................................31
4.2. Tiền xử lý dữ liệu....................................................................................33
4.2.1. Tách từ..............................................................................................33
4.2.2. Loại bỏ từ dừng.................................................................................34
4.2.3. Biểu diễn văn bản..............................................................................35
4.3. Huấn luyện học máy................................................................................35
4.4.1. Trích chọn đặc trưng văn bản............................................................35
4.4.2. Tạo mô hình học máy........................................................................36

4.5. Thực hiện phân lớp..................................................................................36
4.5.1. Nhãn dữ liệu phân lớp.......................................................................36
4.5.2. Phân lớp dữ liệu................................................................................41
Chương 5........................................................................................................42
TRIỂN KHAI HỆ THỐNG..........................................................................42
5.1. Các tác nhân và ca sử dụng.....................................................................42
5.1.1. Tác nhân của hệ thống.......................................................................42
5.1.2. Xác định ca sử dụng...........................................................................42
5.2. Biểu đồ lớp...............................................................................................62
5.2.1. Biểu đồ lớp các thực thể.....................................................................62


5.2.2. Biểu đồ lớp tầng Data........................................................................64
5.2.3. Biểu đồ lớp tầng nghiệp vụ................................................................65
5.3. Thiết kế cơ sở dữ liệu...............................................................................66
5.3.1. Nguyên tắc thiết kế cơ sở dữ liệu.......................................................66
5.3.2. Mô hình quan hệ................................................................................66
Chương 6........................................................................................................67
KIỂM THỬ HỆ THỐNG.............................................................................67
6.1. Tổng quan về kiểm thử hệ thống..............................................................67
6.1.1. Lý do kiểm thử hệ thống....................................................................67
6.1.2. Mục đích kiểm thử hệ thống..............................................................68
6.1.3. Vai trò kiểm thử hệ thống...................................................................68
6.1.4. Mục tiêu kiểm thử hệ thống...............................................................69
6.1.5. Môi trường và công cụ kiểm thử........................................................69
6.1.6. Nhân sự thực hiện kiểm thử...............................................................69
6.2. Kế hoạch kiểm thử...................................................................................70
6.2.1. Phạm vi kiểm thử...............................................................................70
6.2.2. Quy trình kiểm thử.............................................................................71
6.2.3. Thời gian kiểm thử.............................................................................71

6.3. Thực hiện kiểm thử..................................................................................71
6.3.1. Lý thuyết chọn mẫu...........................................................................71
6.3.2. Thực hiện kiểm thử từng Module/ Chức năng...................................74
6.3.3. Kết quả...............................................................................................79
6.4. Báo cáo và đánh giá.................................................................................79
6.4.1. Chứng minh chương trình đạt chuẩn.................................................79
6.4.2. Đánh giá.............................................................................................81
TÀI LIỆU THAM KHẢO............................................................................82
PHỤ LỤC.......................................................................................................84


TÓM TẮT ĐỒ ÁN
Họ và tên:
Chương 1
Chương 2
Chương 3

Trịnh Thị Phương
Đồng Văn Tài
Ngô Thị Lệ Thoa

Chuyên ngành: Công nghệ thông tin

Khóa: 11

Cán bộ hướng dẫn: ThS. Lê Hữu Dũng
Tên đề tài: Xây dựng và kiểm thử hệ thống gợi ý thông tin dựa trên kỹ
thuật phân lớp văn bản.
Tóm tắt: Báo điện tử đã không còn xa lạ với tất cả mọi người. Hàng ngày có
đến hàng trăm, hàng ngàn bài viết mới được xuất bản. Tuy nhiên, không phải

chúng đều phù hợp với tất cả mọi người. Hệ thống của đề tài sẽ giải quyết vấn
đề quá tải thông tin đó bằng việc phân lớp thông tin trực tuyến, đưa ra những
gợi ý thông tin liên quan cho người dùng một cách hiệu quả. Giúp tiết kiệm
thời gian, công sức trong việc tìm kiếm thông tin hữu ích. Thông tin được gợi
ý cho người dùng là kết quả của quá trình học máy, phân lớp dự liệu qua việc
khai phá nội dung web và giải quyết vấn đề xử lý ngôn ngữ tự nhiên với
Tiếng Việt.
Abstract: E-newspaper was not stranger to everyone. Everyday, there are
hundreds, thousands of new articles be published. However, It's not suitable
for everyone. This system will solve the problem of information overload. By
the way classifying online informations, suggest the related informations to
user efficiently. It's saves time and effort in finding useful informations.
Informations which suggested to users are result of the process of machine
learning, data classification through the web content mining and solve the
problems of natural language processing with Vietnamese.


STT
1
2
3
4
5
6
7
6
9
10
11


Tên viết tắt
kNN
SVM
VC
KKT
TBL
IGATEC

Tên đầy đủ
k-Nearest Neighbor
Support Vector Machine
Vapnik-Chervonenkis
Karush-KuhnTucker
Transformation – Based Learning
Internet and Genetics Algorithm based Text

Categorization for Documents in Vietnamese
WFST
Weighted Finit State Transducer
MM
Maximum Matching
URL
Resource Locator
LRMM
Left Right Maximum Matching
SEO
Search Engine Optimization
DANH MỤC CÁC CHỮ VIẾT TẮT



DANH MỤC CÁC KÝ HIỆU
STT Ký hiệu, chữ viết tắt

Tên đầy đủ

Dịch ra tiếng việt

Actor

Tác nhân

Use case

Trường hợp sử dụng

Generalization

Khái quát hóa

1.

2.

3.

Extend

4.

Mở rộng

Include

5.

Bao gồm

6.

Action

Hoạt động

Class

Lớp

Decision Node

Nút rẽ nhánh

Initial node

Nút đầu

Activity Final node

Nút hoạt động cuối

7.


8.

9.

10.

11.

cùng
ASP.Net

Active

Server Nền tảng ứng dụng

Page.NET framework web


12.

13.
u

SQL

Structureed

Query Ngôn ngữ truy vấn có

Language

UML

Unified

cấu trúc
Modeling Ngôn Ngữ Mô Hình

Language

Hóa Thống Nhất

DANH MỤC CÁC BẢNG
Bảng 4.1 Nhãn dữ liệu phân lớp......................................................................36
Bảng 5.1 Bảng đặc tả Usecase thu thập thông tin...........................................44
Bảng 5.2 Bảng đặc tả Usecase tái kiểm tra thông tin......................................45
Bảng 5.3 Bảng đặc tả Usecase phân lớp thông tin..........................................45
Bảng 5.4 Bảng đặc tả Usecase lấy thông tin gợi ý..........................................46
Bảng 5.5 Bảng đặc tả Usecase phản hồi về kết quả gợi ý thông tin................48
Bảng 5.6 Bảng đặc tả Usecase thêm thông tin làm dữ liệu học......................49
Bảng 5.7 Bảng đặc tả Usecase cấp tài khoản..................................................50
Bảng 5.6 Bảng đặc tả Usecase sửa thông tin tài khoản...................................51
Bảng 5.9 Bảng đặc tả Usecase thay đổi trạng thái kích hoạt tài khoản...........52
Bảng 5.10 Bảng đặc tả Usecase đổi mật khẩu.................................................53
Bảng 5.11 Bảng đặc tả Usecase đăng nhập.....................................................54
Bảng 5.12 Bảng đặc tả Usecase đăng xuất......................................................55
Bảng 5.13 Bảng đặc tả Usecase phân quyền...................................................56
Bảng 5.14 Bảng đặc tả Usecase hệ thống khách đăng ký sử dụng.................57
Bảng 5.15 Bảng đặc tả Usecase cập nhật thông tin hệ thống khách...............58
Bảng 5.16 Bảng đặc tả Usecase gia hạn thời gian sử dụng.............................59
Bảng 5.17 Bảng đặc tả Usecase kiểm duyệt hệ thống khách..........................60

Bảng 5.16 Bảng đặc tả Usecase xem danh sách hệ thống khách....................62
Bảng 6.1 Công việc thực hiện của các thành viên..........................................69
Bảng 6.2 Kết quả test nhận dạng tiêu đề.........................................................77



DANH MỤC HÌNH VẼ
Hình 1.1 Bài toán phân lớp...............................................................................6
Hình 1.2 Các công đoạn phân lớp văn bản......................................................10
Hình 2.1 Minh họa thuật toán SVM................................................................16
Hình 4.1 Quy trình thực hiện phân lớp...........................................................26
Hình 4.2 Trình thu thập web cơ bản................................................................28
Hình 4.3 Trình thu thập web đa luồng [7].......................................................30
Hình 4.4 Chương trình nhận dạng nội dung....................................................33
Hình 5.1 Tác nhân hệ thống............................................................................42
Hình 5.2 Usecase hệ thống..............................................................................43
Hình 5.3 Usecase quản lý thông tin.................................................................43
Hình 5.4 Usecase quản lý người dùng............................................................50
Hình 5.5 Usecase quản lý hệ thống khách......................................................57
Hình 5.6 Biểu đồ lớp các thực thể...................................................................63
Hình 5.7 Biểu đồ lớp tầng Data.......................................................................64
Hình 5.8 Biểu đồ lớp tầng nghiệp vụ..............................................................65
Hình 5.9 Mô hình quan hệ...............................................................................66
Hình 6.1 Quy trình kiểm thử...........................................................................71
Hình 6.2 Quá trình lựa chọn mẫu....................................................................73


1
Chương 1
Chương 1

1.1.

TỔNG QUAN VỀ ĐỀ TÀI

Khái quát về các hệ thống gợi ý

1.1.1. Giới thiệu bài toán gợi ý
Công nghệ thông tin ngày càng phát triển, khả năng lưu trữ thông tin khổng lồ
đã tạo ra những bước ngoặt lớn trong cuộc sống con người. Nhưng ngược lại,
nhờ khả năng lưu trữ được một lượng thông tin khổng lồ này nên quá trình
tìm kiếm thông tin đáp ứng nhu cầu cho người dùng thường gặp rất nhiều khó
khăn. Để giải quyết vấn đề này các hệ thống thu thập và lọc thông tin ra đời
nhằm giảm đi thời gian tìm kiếm và cung cấp thông tin chất lượng cao cho
người sử dụng [1]. Và hệ thống gợi ý thông tin là thành quả của việc ứng
dụng công nghệ thông tin trong việc khai phá dữ liệu, phát hiện tri thức, đưa
đến cho người dùng những thông tin hiệu quả trong thời gian nhanh chóng,
giảm thiểu thời gian và công sức cho người dùng.
Hiện nay cũng có một số các hệ gợi ý thông tin nổi tiếng thuộc các thể loại
khác nhau như phim ảnh, âm nhạc, sách báo, thậm chí có cả các hệ thống gợi
ý các nhà hàng hay điểm du lịch.
Việc gợi ý đối với các thông tin sử dụng tiếng nước ngoài cũng đã phổ biến.
Tuy nhiên, với ngôn ngữ là Tiếng Việt thì các hệ thống gợi ý còn hạn chế. Các
hệ thống đó chỉ mới bắt đầu được phát triển bởi các hãng nổi tiếng, có thể kể
đến như:
- Tiện ích “bài viết liên quan” của Facebook (https://www.facebook.com/)
- Google tin tức (https://news.google.com.vn)
1.1.2. Các kỹ thuật gợi ý
Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm, thông
tin như sử dụng học máy, lí thuyết xấp xỉ, các thuật toán dựa trên kinh
nghiệm... Một số hướng tiếp cận để giải quyết bài toán gợi ý có thể kể đến

như:


2
- Dựa trên nội dung (content-based): người dùng được gợi ý những sản
phẩm tương tự như các sản phẩm từng được họ đánh giá cao.
- Cộng tác (collaborative): người dùng được gợi ý những sản phẩm mà
những người cùng sở thích với họ đánh giá cao.
- Lai ghép (hybrid): kết hợp cả hai phương pháp trên.[2]
Gợi ý dựa trên nội dung
Hệ thống đưa ra gợi ý dựa trên việc phỏng đoán rằng một người có thể thích
các sản phẩm có nhiều đặc trưng tương tự với các sản phẩm mà họ đã từng ưa
thích [2]. Các sản phẩm ở đây có thể là hàng hóa trong các website thương
mại điện tử, cũng có thể là nội dung thông tin dưới dạng văn bản. Ví dụ như:
các bài báo, tin tức điện tử.
Việc ưa thích của người dùng có thể căn cứ trên đánh giá của người dùng về
sản phẩm đó, thông tin đó hoặc cũng có thể căn cứ dựa trên việc lựa chọn sử
dụng, tiếp nhận thông tin của người dùng. Hệ thống gợi ý dựa trên nội dung
đưa ra gợi ý trên nguyên tắc: nếu người dùng có lựa chọn, yêu thích với sản
phẩm này, thông tin này thì cũng sẽ có thiên hướng yêu thích và tiếp cận với
các thông tin có mối tương đồng về nội dung thông tin.
Gợi ý dựa vào lọc cộng tác
Ban đầu cách triển khai đơn giản nhất của hướng tiếp cận này là gợi ý những
sản phẩm của một người dùng khác có chung sở thích với người dùng đang
xét đến. Sự tương đồng sở thích của hai người dùng được tính toán dựa trên
tương đồng trong lịch sử đánh giá trước đây. Đây là lý do mà lọc cộng tác còn
được gọi dưới cái tên khác là “tương quan người – người”. Lọc cộng tác được
coi là kĩ thuật triển khai phổ biến nhất và áp dụng rộng rãi nhất trong hệ thống
gợi ý.



3
Hệ thống gợi ý lai
Những hệ thống gợi ý này dựa trên sự kết hợp của hai hay nhiều kỹ thuật kể
trên. Mục đích việc này là khắc phục những điểm yếu cố hữu mà kỹ thuật
đang có. Ví dụ lọc cộng tác thường gặp vấn đề với các sản phẩm mới vì
chúng chưa có dữ liệu về đánh giá. Tuy nhiên điều này lại không giới hạn với
các hệ thống dựa trên nội dung.
1.2.

Hệ thống gợi ý thông tin của đề tài

1.2.1. Kỹ thuật gợi ý của đề tài.
Đề tài triển khai hệ thống gợi ý thông tin dựa trên nội dung thông qua việc
khai phá dữ liệu web.
Dựa trên các dữ liệu thu nhận được từ web, kết hợp với việc xử lý ngôn ngữ
tự nhiên để thu nhận được tri thức.
Trên cơ sở tri thức thu được đó, sử dụng thuật toán phân lớp học máy gán
nhãn cho các thông tin là các tin tức, báo điện tử thuộc lớp này hay lớp khác.
Từ đó, đưa ra gợi ý về thông tin cho người dùng là các thông tin có điểm
tương đồng trong cùng một phân lớp.
1.2.2. Thách thức của gợi ý thông tin web Tiếng Việt
Gợi ý tin tức là một lĩnh vực giàu tiềm năng bởi số lượng các sản phẩm gợi ý,
số lượng người dùng và số lượt sử dụng cao hơn nhiều so với các đối tượng
gợi ý khác. Tuy nhiên, đi kèm theo đó là các thử thách về các đặc trưng riêng
có của miền đối tượng tin tức cũng như các đặc trưng chung của người sử
dụng gợi ý.
Tin tức là một đối tượng gợi ý đặc biệt, các đặc điểm sau của tin tức giúp đưa
ra các giải pháp hữu hiệu hơn trong xây dựng giải pháp gợi ý:
- Tính không đồng nhất giá trị: Giá trị của tin tức chỉ có thể được xác

định bằng cách kết hợp các yếu tố: nội dung thông tin của bản tin,
nguồn tin, thời điểm xuất bản, nhà xuất bản, tác giả, người nhận tin,...
- Tính dễ sinh ra: một số lượng lớn tin tức có thể nảy sinh xung quanh


4
một sự kiện, hiện tượng
- Tính dễ tàn lụi: hiện tượng tin tức đánh mất giá trị khi vấn đề nó đề cập
không còn tính thời sự
Khi xem xét đến yếu tố phù hợp giữa đối tượng gợi ý và mối quan tâm người
dùng, các đặc trưng về mối quan tâm của người dùng cũng cần được xem xét.
- Tính đa quan tâm: Tại một thời điểm, người dùng có thể có nhiều mối
quan tâm khác nhau. Ví dụ: họ có thể quan tâm đến cả các thông tin về
thể thao và chính trị
- Tính thay mới: Mối quan tâm của họ có thể phân chia thành 3 loại
chính: các mối quan tâm dài hạn, các mối quan tâm trung hạn và các
mối quan tâm ngắn hạn. Tính thay mới có thể diễn ra ở cả ba loại mối
quan tâm này, tuy nhiên tốc độ thay mới của các mối quan ngắn hạn là
nhanh nhất và nó cũng có ưu thế hơn khi dùng để gợi ý các tin tức, vốn
liên tục được sinh ra
1.3. Tổng quan về phân lớp
Là quá trình phân lớp một đối tượng dữ liệu vào một hay nhiều lớp cho trước
nhờ một mô hình phân lớp mà mô hình này được xây dựng dựa trên một tập
hợp các đối tượng dữ liệu đã được gán nhãn từ trước gọi là tập dữ liệu học
(tập huấn luyện). Quá trình phân lớp còn được gọi là quá trình gán nhãn cho
các đối tượng dữ liệu.
Như vậy, nhiệm vụ của bài toán phân lớp dữ liệu là cần xây dựng mô hình
(bộ) phân lớp để khi có một dữ liệu mới vào thì mô hình phân lớp sẽ cho biết
dữ liệu đó thuộc lớp nào.
Có nhiều bài toán phân lớp dữ liệu, như phân lớp nhị phân, phân lớp đa lớp,

phân lớp đa trị,....
- Phân lớp nhị phân là quá trình tiến hành việc phân lớp dữ liệu vào một
trong hai lớp khác nhau dựa vào việc dữ liệu đó có hay không một số đặc tính
theo quy định của bộ phân lớp.
- Phân lớp đa lớp là quá trình phân lớp với số lượng lớp lớn hơn hai. Như


5
vậy, tập hợp dữ liệu trong miền xem xét được phân chia thành nhiều lớp chứ
không đơn thuần chỉ là hai lớp như trong bài toán phân lớp nhị phân. về bản
chất, bài toán phân lớp nhị phân là trường hợp riêng của bài toán phân lớp đa
lớp.
- Trong phân lớp đa trị, mỗi đối tượng dữ liệu trong tập huấn luyện cũng
như các đối tượng mới sau khi được phân lớp có thể thuộc vào từ hai lớp trở
lên. Ví dụ như trang web về việc bùng phát bệnh cúm gia cầm, thủy cầm tại
một số tính phía Bắc vừa thuộc về lĩnh vực y tế liên quan đến lây bệnh sang
người nhưng cũng thuộc về lĩnh vực kinh tế liên quan đến ngành chăn nuôi.
Trong những trường hợp như vậy, việc sắp xếp một tài liệu vào nhiều hơn một
lớp là phù hợp với yêu cầu thực tế.
Sau đây chúng ta sẽ tìm hiểu khái quát về quá trình phân lớp dữ liệu và sơ bộ
về phương pháp phân lớp dữ liệu.


6

1.3.1. Quá trình phân lớp dữ liệu

Hình 1.1 Bài toán phân lớp
Quá trình phân lớp dữ liệu thường gồm hai bước: xây dựng mô hình (tạo bộ
phân lớp) và sử dụng mô hình đó để phân lớp dữ liệu.

- Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các đối
tượng dữ liệu đã được gán nhãn từ trước. Tập các mẫu dữ liệu này còn được
gọi là tập dữ liệu huấn luyện (training data set). Các nhãn lớp của tập dữ
liệu huấn luyện được xác định bởi con người trước khi xây dựng mô hình, vì
vậy phương pháp này còn được gọi là học có giám sát (supervised learning).
Trong bước này, chúng ta còn phải tính độ chính xác của mô hình, nếu độ
chính xác là chấp nhận được (tức là cao), mô hình sẽ được sử dụng để xác
định nhãn lớp cho các dữ liệu khác mới trong tương lai. Trong việc kiểm thử
mô hình, sử dụng các độ đo để đánh giá chất lượng của tập phân lớp, đó là độ
hồi tưởng, độ chính xác, độ đo F1. Tồn tại nhiều phương pháp phân lớp dữ liệu
để giải quyết bài toán phân lớp tùy thuộc vào cách thức xây dựng mô hình
phân lớp như phương pháp Bayes, phương pháp cây quyết định, phương pháp
k-người láng giềng gần nhất, phương pháp máy hỗ trợ vector.... Các phương


7
pháp này chủ yếu sử dụng mô hình phân lớp. Mô hình phân lớp còn được gọi
là thuật toán phân lớp.
- Bước 2: Sử dụng mô hình đã được xây dựng ở bước 1 để phân lớp dữ
liệu mới [14].
1.3.2. Biểu diễn văn bản
Bước đầu tiên trong qui trình phân lớp văn bản là thao tác chuyển văn bản
đang được mô tả dưới dạng chuỗi các từ thành một mô hình khác, sao cho
phù hợp với các thuật toán phân lớp.
Thông thường người ta thường biểu diễn văn bản bằng mô hình vector, mỗi
văn bản được biểu diễn bằng một vector trọng số. Ý tưởng của mô hình này là
xem mỗi một văn bản Di được biểu diễn theo dạng Di = (,i), trong đó i là chỉ
số dùng để nhận diện văn bản này và là vector đặc trưng của văn bản D i này,
trong đó: = (W i1, Wi2,…., Wnx) và n là số luợng đặc trưng của vector văn bản,
Wij là trọng số của đặc trưng thứ j, j {l,2,...,n}.

Trong quá trình chuyển thể văn bản sang thành dạng vector, vấn đề mà chúng
ta cần quan tâm là việc lựa chọn đặc trưng và số chiều cho không gian vector,
chọn bao nhiêu từ, là các từ nào, phương pháp chọn ra sao?
Việc lựa chọn phương pháp biểu diễn văn bản để áp dụng vào bài toán phân
lớp tuỳ thuộc vào độ thích hợp, phù hợp, độ đo đánh giá mô hình phân lớp
của phương pháp đó sử dụng so với bài toán mà chúng ta đang xem xét giải
quyết. Ví dụ nếu văn bản là một trang Web thì sẽ có phương pháp để lựa chọn
đặc trưng khác so với các loại văn bản khác.
Các đặc trưng của văn bản khi biểu diễn dưới dạng vector: số chiều không
gian đặc trưng thường lớn. Các văn bản càng dài, lượng thông tin trong nó đề
cập đến nhiều vấn đề thì không gian đặc trưng càng lớn.
Các đặc trưng độc lập nhau, sự kết hợp các đặc trưng này thường không có ý
nghĩa trong phân lớp.


8
Các đặc trưng rời rạc: vector đặc trưng Di có thể có nhiều thành phần mang
giá trị 0 do có nhiều đặc trưng không xuất hiện trong văn bản D i (nếu chúng ta
tiếp cận theo cách sử dụng giá trị nhị phân 1, 0 để biểu diễn cho việc có xuất
hiện hay không một đặc trưng nào đó trong văn bản đang được biểu diễn
thành vector), tuy nhiên nếu đơn thuần cách tiếp cận sử dụng giá trị nhị phân
0, l này thì kết quả phân lớp phần nào hạn chế là do có thể đặc trưng đó không
có trong văn bản đang xét nhưng trong văn bản đang xét lại có từ khóa khác
với từ đặc trưng nhưng có ngữ nghĩa giống với từ đặc trưng này, do đó một
cách tiếp cận khác là không sử dụng số nhị phân 0, 1 mà sử dụng giá trị số
thực để phần nào giảm bớt sự rời rạc trong vector văn bản.
Hầu hết các văn bản có thể được phân chia một cách tuyến tính bằng các hàm
tuyến tính.
Như vậy, độ dài của vector là số các từ khoá xuất hiện trong ít nhất một mẫu
dữ liệu huấn luyện. Trước khi đánh trọng số cho các từ khoá cần tiến hành

loại bỏ các từ dừng. Từ dừng là những từ thường xuất hiện nhưng không có
ích trong việc đánh chỉ mục, nó không có ý nghĩa gì trong việc phân lớp văn
bản. Có thể nêu một số từ dừng trong tiếng Việt như “và”, “là”, “thì”, “như
vậy”,..., trong tiếng Anh như “and”, “or”, “the”,.... Thông thường từ dừng là
các trạng từ, liên từ, giới từ [14].
1.3.3. Phương pháp phân lớp văn bản
Tồn tại nhiều phương pháp phân lớp văn bản như phương pháp Bayes,
phương pháp cây quyết định, phương pháp k-người láng giềng gần nhất,
phương pháp máy hỗ trợ vector....
Để xây dựng công cụ phân lớp văn bản tự động người ta thường dùng các
thuật toán học máy (machine learning). Tuy nhiên còn có các thuật toán đặc
biệt hơn dùng cho phân lớp trong các lĩnh vực đặc thù của văn bản một cách
tương đối máy móc, như là khi hệ thống thấy trong văn bản có một cụm từ cụ
thể thì hệ thống sẽ phân văn bản đó vào một lớp nào đó. Tuy nhiên khi phải


9
làm việc với các văn bản ít đặc trưng hơn thì cần phải xây dựng các thuật toán
phân lớp dựa trên nội dung của văn bản và so sánh độ phù hợp của chúng với
các văn bản đã được phân lớp bởi con người. Đây là tư tưởng chính của thuật
toán học máy. Trong mô hình này, các văn bản đã được phân lớp sẵn và hệ
thống của chúng ta phải tìm cách để tách ra đặc trưng của các văn bản thuộc
mỗi nhóm riêng biệt. Tập văn bản mẫu dùng để huấn luyện gọi là tập huấn
luyện (train set), hay tập mẫu (pattern set), còn quá trình máy tự tìm đặc
trưng của các nhóm gọi là quá trình học (learning). Sau khi máy đã học xong,
người dùng sẽ đưa các văn bản mới vào và nhiệm vụ của máy là tìm ra xem
văn bản đó phù hợp nhất với nhóm nào mà con người đã huấn luyện nó.
1.3.4. Các bước trong quá trình phân lớp văn bản
Quá trình phân lớp văn bản trải qua 4 bước cơ bản sau:
Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một

dạng biểu diễn nào đó để xử lý, quá trình này được gọi là quá trình biểu diễn
văn bản, dạng biểu diễn phải có cấu trúc và dễ dàng trong khi xử lý, ở đây văn
bản được biểu diễn dưới dạng phổ biến nhất là vector trọng số. Tốc độ đánh
chỉ số có vai trò quan trọng trong quá trình phân lớp văn bản.
Xác định độ phân lớp: Cần nêu lên cách thức xác định lớp cho mỗi văn bản
như thế nào, dựa trên cấu trúc biểu diễn của văn bản đó. Nhưng trong khi
những câu hỏi mang tính nhất thời thì tập phân lớp được sử dụng một cách ổn
định và lâu dài cho quá trình phân lớp.
So sánh: Trong hầu hết các tập phân lớp, mỗi văn bản đều được yêu cầu gán
đúng sai vào một lớp nào đó.
Phản hồi (thích nghi): Quá trình phản hồi đóng hai vai trò trong hệ phân lớp
văn bản. Thứ nhất là, khi phân lớp thì phải có một số lượng lớn các văn bản
đã được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu
huấn luyện để hỗ trợ xây dựng tập phân lớp. Thứ hai là, đối với việc phân lớp
văn bản này, không dễ dàng thay đổi các yêu cầu bởi vì người dùng có thể


Xem Thêm

×