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

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.25 MB, 100 trang )

Niên khóa : 2011 – 2015

VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

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


VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

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ỤC


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.


DANH MỤC CÁC CHỮ VIẾT TẮT

STT
1
2
3
4
5

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

6

IGATEC

7
6
9
10
11

WFST
MM
URL
LRMM
SEO


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
Weighted Finit State Transducer
Maximum Matching
Resource Locator
Left Right Maximum Matching
Search Engine Optimization


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
DANH MỤC CÁC BẢNG

Hóa Thống Nhất


DANH MỤC HÌNH VẼ



14
Chương 1
Chương 1

TỔNG QUAN VỀ ĐỀ TÀI

1.1.

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 ( />- Google tin tức ()
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ư:
-

Dựa trên nội dung (content-based): người dùng được gợi ý những sản


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


16
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
một sự kiện, hiện tượng


17

-

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ư vậy, tập


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


19

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


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


21
Các đặc trưng rời rạc: vector đặc trưng D i 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


22
phải 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


23
có thể thông tin cho người bảo trì hệ thống về việc xoá bỏ, thêm vào hoặc
thay đổi các lớp văn bản nào đó mà mình yêu cầu.
Hình sau là một sơ đồ khung cho việc phân lớp văn bản, trong đó bao
gồm ba công đoạn chính:

Hình 1.2 Các công đoạn phân lớp văn bản [14]
-


Công đoạn đầu: Biểu diễn văn bản, tức là chuyển các dữ liệu văn bản thành
một dạng có cấu trúc nào đó, tập hợp các mẫu cho trước thành một tập huấn

-

luyện
Công đoạn thứ hai: Việc sử dụng các kỹ thuật học máy để học trên các mẫu
huấn luyện vừa biểu diễn. Như vậy là việc biểu diễn ở công đoạn một sẽ là

-

đầu vào cho công đoạn thứ hai
Công đoạn thứ ba: Việc bổ sung các kiến thức thêm vào do người dùng cung
cấp để làm tăng độ chính xác trong biểu diễn văn bản hay trong quá trình học
máy.
1.3.5.

Đánh giá mô hình phân lớp

Chúng ta không thể khẳng định một phương pháp phân lớp văn bản cụ
thể nào là chính xác hoàn toàn. Bất kỳ phương pháp nào cũng có độ sai lệch


24
không nhiều thì ít. Vì vậy việc đưa ra độ đo để đánh giá hiệu quả của thuật
toán phân lớp giúp chúng ta có thể xác định được mô hình nào là tốt nhất,
kém nhất, từ đó áp dụng thuật toán đó vào việc phân lớp. Sau đây chúng ta sẽ
đưa ra công thức chung để đánh giá độ chính xác của các thuật toán:
Độ hồi tưởng (Recall) và độ chính xác (Precision), độ đo Fi được dùng
để đánh giá chất lượng của thuật toán phân lớp.

recall = *100%
precision = *100%
F1 (recall, precision) = *100%
Để dễ hiểu hơn, chúng ta có công thức:
Độ hồi tưởng = *100%
Độ chính xác = *100%
Tiêu chuẩn đánh giá = *100%
1.3.6.

Các yếu tố quan trọng tác động đến phân lớp văn bản

Ngày nay phân lớp văn bản có vai trò rất quan trọng trong sự phát triển
của Công nghệ thông tin, tuy nhiên độ phức tạp của từng loại văn bản khác
nhau, vì thế khả năng mà từng tập phân lớp có thể thực thi được là khác nhau
dẫn đến kết quả phân lớp khác nhau. Chúng ta có thể liệt kê 3 yếu tố quan
trọng tác động đến kết quả phân lớp như sau:
- Cần một tập dữ liệu huấn luyện chuẩn và đủ lớn để cho thuật toán học
phân lớp. Nếu chúng ta có được một tập dữ liệu chuẩn và đủ lớn thì quá
trình huấn luyện sẽ tốt và khi đó chúng ta sẽ có kết quả phân lớp tốt sau
khi đã được học.
- Các phương pháp trên hầu hết đều sử dụng mô hình vector để biểu diễn
văn bản, do đó phương pháp tách từ trong văn bản đóng vai trò quan
trọng trong quá trình biểu diễn văn bản bằng vector. Yếu tố này rất
quan trọng, vì có thể đối với một số ngôn ngữ như Tiếng Anh chẳng
hạn thì thao tác tách từ trong văn bản đơn giản chỉ là dựa vào các


25
khoảng trắng, tuy nhiên trong các ngôn ngữ đa âm tiết như Tiếng Việt
và một số ngôn ngữ khác thì sử dụng khoảng trắng khi tách từ là không

chính xác, do đó phương pháp tách từ là một yếu tố quan trọng.
- Thuật toán sử dụng để phân lớp phải có thời gian xử lý hợp lý, thời
gian này bao gồm: thời gian học, thời gian phân lớp văn bản, ngoài ra
thuật toán này phải có tính tăng cường (incremental function) nghĩa là
không phân lớp lại toàn tập tập văn bản khi thêm một số văn bản mới
vào tập dữ liệu mà chỉ phân lớp các văn bản mới mà thôi, khi đó thuật
toán phải có khả năng giảm độ nhiễu (noise) khi phân lớp văn bản.


×