Tải bản đầy đủ (.pdf) (55 trang)

Ứng dụng thuật toán k láng giềng gần nhất trong phân loại văn bản tin tức theo chủ đề

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 (6.55 MB, 55 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

LÊ QUANG HÒA

ỨNG DỤNG THUẬT TOÁN K- LÁNG GIỀNG
GẦN NHẤT TRONG PHÂN LOẠI VĂN BẢN TIN TỨC
THEO CHỦ ĐỀ

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: TS. NINH KHÁNH DUY

Đà Nẵng - Năm 2018


LỜI CAM ĐOAN
Tôi xin cam đoan số liệu và kết quả nghiên cứu trong luận văn này là trung
thực. Mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các
thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc rõ ràng và được
phép công bố.
Người thực hiện luận văn

Lê Quang Hòa


MỤC LỤC
LỜI CAM ĐOAN


MỤC LỤC
TRANG TÓM TẮT LUẬN VĂN
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU ............................................................................................................. 1
1. Lý do chọn đề tài ......................................................................................1
2. Mục đích và ý nghĩa đề tài .......................................................................2
3. Mục tiêu và nhiệm vụ ...............................................................................2
4. Đối tượng và phạm vi nghiên cứu ............................................................3
5. Phương pháp nghiên cứu ..........................................................................3
6. Kết luận ....................................................................................................3
7. Bố cục của luận văn .................................................................................3
CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN ................ 5
1.1. Khái niệm phân lớp văn bản ..........................................................................5
1.1.1. Khái niệm ...........................................................................................5
1.1.2. Phân loại bài toán phân lớp văn bản ...................................................7
1.2. Mô hình phân lớp văn bản dùng tiếp cận học máy ........................................7
1.3. Th thập

iệ .............................................................................................9

1.3.1.Trình thu thập thông tin web ...............................................................9
1.3.2. Thống kê d liệu...............................................................................10
1.4. Tiền xử ý văn bản .......................................................................................11
1.4.1. Làm sạch ..........................................................................................12
1.4.2. Tách từ .............................................................................................13
1.4.3. Chuẩn hóa từ ....................................................................................14
1.4.4. Loại bỏ StopWords ...........................................................................14



1.5. Biểu diễn văn bản ưới dạng vector ............................................................17
1.5.1.Túi từ (Bag-of-words) .......................................................................17
1.5.2. Term Frequency – Inverse Document Frequency (TF-IDF) .............19
CHƯƠNG 2: THUẬT TOÁN K LÁNG GIỀNG GẦN NHẤT ..................... 23
2.1. Khai phá d liệu ..........................................................................................23
2.2. Thuật toán K láng giềng gần nhất ................................................................24
2.2.1.Giới thiệu chung ................................................................................24
2.2.2. Nội dungthuật toán ...........................................................................24
2.2.3. Đánh trọng số cho các điểm lân cận .................................................26
2.2.4. Ư điểm của KNN ............................................................................26
2.2.5. Nhược điểm của KNN ......................................................................26
2.2.6. Các tham số quan trọng của thuật toán KNN ...................................27
CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG .......................... 28
3.1. Môi trường triển khai thử nghiệm................................................................28
3.2. Mô tả d liệu ...............................................................................................28
3.3. Sơ đồ phân lớp văn bản dùng KNN .............................................................29
3.4. Cấu hình tham số phân loại văn bản bằng KNN ..........................................30
3.5. Kết quả thực nghiệm....................................................................................30
3.5.1 Đánh giá th ật toán KNN ..................................................................30
3.5.2 So sánh với thuật toán phân loại Naive Bayes ...................................31
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................... 36
TÀI LIỆU THAM KHẢO ................................................................................ 37
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO)
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC
PHẢN BIỆN.

Học viên



TRANG TÓM TẮT LUẬN VĂN
ỨNG DỤNG THUẬT TOÁN K LÁNG GIỀNG GẦN NHẤT TRONG PHÂN LOẠI
VĂN BẢN TIN TỨC THEO CHỦ ĐỀ

Học viên: Lê Quang Hòa Chuyên ngành: Ngành Khoa Học Máy Tính
Mã số: 8480101 Khóa: 34 Trường Đại học Bách khoa – ĐHĐN
Tóm tắt:Việc phân loại văn bản theo chủ đề đã có nhiều trên thế giới và ở Việt Nam.
Qua việc phân loại văn bản có thể nắm bắt được xu thế xã hội ở các website và ở cộng đồng
mạng. Việc phân loại này có thể giúp được chúng ta có thể ra các quyết định, các chính sách
hay các hành động phù hợp để thích ứng với xã hội hiện nay, khi mà sự vận động của xã hội
thay đổi không ngừng, đặc biệt là trong thời kỳ cách mạng công nghiệp 4.0. Thuật toán phân
loại văn bản bằng KNN là một trong nh ng thuật toán để bổ trợ cho chúng ta thực hiện mục
đích trên. Với KNN, ta có thể tận dụng được các ư điểm của thuật toán nhằm công sức, tận
dụng được sức mạnh của máy móc cũng như giảm được thời gian khi chúng ta thực hiện phân
loại văn bản. Trong bài luận văn, tôi nê các ý th yết iên q an đến thuật toán, cách áp dụng
trong việc phân loại văn bản sử dụng ngôn ng Python. Q a đó, đưa ra các kết quả đánh giá
khi áp dụng thuật toán này trong thực tế.
Từ khóa:Thuật toánKNN; Phân loại văn bản; Học máy
THE RESEARCH OF APPLYING THE K-NEAREST NEIGHBOR
ALGORITHM IN TEXT CLASSIFICATION INTO TOPICS
Summary: Text Classification or Text Categorizer into topic has been introduced in
Viet Nam and all over the world. Thanks to Text Classification, we can grasp the social trend
in the website and even in the community. Moreover, it helps us make the exact decisions,
policies or actions in order to catch up with the constant changes of society, especially during
the Industrial Revolution 4.0. The KNN text classification algorithm is one of the algorithms
that supports us to fulfill our purposes. With KNN, we can take advantage of the algorithm to
work, take advantage of the power of the machine, and reduce the time when we do the
classification of text. By using KNN, we can take advantage of the algorithm as well as the
power of the machine to reduce the amount of time which we spend carrying out the work of
text classification. In this research paper, the theories related to this algorithm and the

methods to classify texts using the Python language are presented. All things considered, the
evaluation results are shown so as to apply this algorithm in reality.
Keywords:knn algorithm; text classification;Machine Learning.


DANH MỤC CÁC TỪ VIẾT TẮT

KNN

k-nearest neighbor

ML

Machine Learning

NLP

Natural Language Processing

BOW

Bag-of-words

TF-IDF

Term Frequency–Inverse Document Frequency

SVM

Support Vetor Machines



DANH MỤC CÁC BẢNG

Bảng 3.1. Số ượng văn bản theo chủ đề được dùng trong thực nghiệm ........... 29
Bảng 3.2. Độ chính xác nhận dạng theo số chiều của vectơ đặc trưng và K thay
đổi (đơn vị tính %). ....................................................................... 31
Bảng 3.3 Độ chính xác của Naive Bayes theo số chiều của vec tơ đặc trưng.... 32


DANH MỤC CÁC HÌNH
Hình 1.1. Bài toán phân lớp văn bản theo chủ đề. ............................................... 5
Hình 1.2. Sơ đồ khung một hệ thống phân lớp văn bản dùng Học máy. ............. 8
Hình 1.3. Kiến trúc của trình thu thập d liệu web. .......................................... 10
Hình 1.4. Số bài báo được thu thập theo chủ đề. ............................................... 11
Hình 1.5. Các bước tiền xử ý văn bản. ............................................................. 12
Hình 1.6. Ví dụ bước làm sạch văn bản............................................................. 12
Hình 1.7. Ví dụ tách từ. ..................................................................................... 13
Hình 1.8. StopWords tiếng Việt. ...................................................................... 15
Hình 1.9. Ví dụ dùng từ điển loại bỏ StopWords. ............................................. 16
Hình 1.10. Ví dụ dựa theo tần suất xuất hiện của từ.......................................... 16
Hình 1.11. Mô hình Bag-of-words. ................................................................... 17
Hình 1.12. Thuật toán để xác định tính năng nhị phân của văn bản. ................. 18
Hình 2.1. Các ĩnh vực iên q an đến khai phá d liệu. ..................................... 23
Hình 2.2. KNN cho bài toánphân lớp[9]. .......................................................... 25
Hình 3.1. Sơ đồ phân lớp văn bản dùng KNN. .................................................. 29
Hình 3.2.. So sánh độ chính xác cao nhất gi a hai thuật toán phân loại. ........... 33
Hình 3.3. Kết quả phân loại ”Giáo ục” ............................................................ 33
Hình 3.4. Kết quả phân loại ”Thể thao” ............................................................ 33
Hình 3.5. Kết quả phân loại ”Khoa học – Công nghệ” ...................................... 34

Hình 3.6. Kết quả phân loại ”Sức khỏe” ........................................................... 34
Hình 3.7. Kết quả phân loại ”Tin tức” ............................................................... 35


1

MỞ ĐẦU
1. Lý do chọn đề tài
Như ta đã biết, thời đại hiện nay là thời đại internet, là thời đại của sự
bùng nổ thông tin, khi mà tất cả mọi người trên thế giới đều sống trên một thế
giới phẳng, đặc biệt là hiện nay khi đang iễn ra cuộc cách mạng công nghiệp
4.0 thì ượng thông tin ngày càng nhiều, việc phân loại chúng trở nên khó khăn.
Ở bất kỳ một tổ chức nào, với bất kỳ một mô hình hay q y mô nào cũng đều có
nh ng nhu cầu về ư tr và khai thác thông tin. Đã có nhiều hệ thống phân loại
tin tức trên thế giới cũng như ở Việt Nam đã đáp ứng được phần nào đó nh cầu
phân loại tin tức để ra quyết định.
Việc phân loại tin tức đã đem ại thành tựu nhất định, cụ thể:
- Xác định được xu thế của cộng đồng mạng khi mà cộng đồng này chiếm
ngày càng đông trong xã hội. Q a đó xác định được xu thế về mặt ngắn
hạn của xã hội, hỗ trợ cho người sử dụng ra các quyết định phù hợp.
- Việc phân loại tin tức cũng được ứng dụng trên các website thương mại
nhằm nắm bắt được xu thế tiêu dùng của người sử dụng.
Một trong nh ng thuật toán để ứng dụng công việc phân loại d liệu của
các website tin tức tiếng Việt đó à th ật toán k-láng giềng gần nhất; thuật toán
này có ư điểm: Độ phức tạp của quá trình huấn luyện bằng 0.Việc dự đoán kết
quả của d liệu mới rất đơn giản, không cần giả sử gì về phân phối của các lớp.
Tuy nhiên, thuật toán này cũng có nhược điểm là nhạy cảm với nhiễu khi k nhỏ.
Vì thuật toán k- láng giềng gần nhất này mọi tính toán đều nằm ở giai đoạn kiểm
thử cho nên việc tính toán khoảng cách đến từng điểm d liệu tốn nhiều thời
gian, đặc biệt đối với cơ sở d liệu lớn và có nhiề điểm d liệu.

Để việc áp dụng thuật toán k- láng giềng gần nhất trong việc ứng dụng
phân loại tin tức giảm được chi phí về mặt thời gian và độ phức tạp cần phải
tăng tốc và khăc phục nhược điểm cho thuật toán này. Đề tài nghiên cứu này
nhằm vận dụng thuật toán k- láng giềng gần nhất theo cách tối ư nhất dựa trên


2

các cơ sở lý thuyết.
2. Mục đích và ý nghĩa đề tài
Mục đích
Mục đích nghiên cứu của đề tài:
- Nghiên cứ và đề xuất các phương pháp phân oại văn bản theo chủ đề dựa
trên thuật toán k- láng giềng.
- Tích hợp các giải pháp vào một hệ thống phân loại văn bản theo chủ đề và
đánh giá hiệu quả.
Ý nghĩa khoa học thực tiễn của đề tài
- Đóng góp về mặt phương pháp

ận và thực nghiệm vào ĩnh vực phân

oại văn bản, một nhánh nghiên cứ của xử ý ngôn ng tự nhiên.
- Cải tiến chất ượng hệ thống phân oại văn bản hiện có để nâng cao q ản
ý x thế của tin tức.
3. Mục tiêu và nhiệm vụ
Mục tiêu
- Mục tiêu chính của đề tài là Ứng dụng thuật toán k-láng giềng gần nhất
vào hệ thống xử ý thông tin để phân loại thông tin theo chủ đề.
- Nghiên cứ và cải thiện th ật toán k- áng giềng trong hệ thống phân oại
tin tức.

Nhiệm vụ
Để đạt được nh ng mục tiêu trên thì nhiệm vụ đặt ra của đề tài là:
- Th thập

iệ mẫ từ các trang Web tiếng Việt.

- Nghiên cứ các phương pháp biể

iễn văn bản ưới ạng vec-tơ để đưa

vào áp ụng th ật toán k- áng giềng gần nhất.
- Phát biể , phân tích và cài đặt giải th ật cho bài toán trong hệ thống phân
oại tin tức.
- Đánh giá so sánh kết q ả phân oại với các th ật khác như Naïve Bayes
và Support Vector Machine.


3

4. Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ của luận văn thạc sĩ th ộc loại ứng dụng với thời gian thực
hiện là 06 tháng, tôi giới hạn nghiên cứu các vấn đề sau:
- Xây ựng phương pháp biể

iễn văn bản ưới ạng vec-tơ và áp ụng

th ật toán k- áng giềng phục vụ cho hệ thống phân oại tin tức.
- Đánh giá giải pháp đề x ất trên cơ sở tích hợp vào hệ thống phân oại tin
tức.
5. Phương pháp nghiên cứu

Phương pháp lý thuyết
- Tiến hành th thập và nghiên cứ các tài iệ có iên q an đến đề tài.
- So sánh, đánh giá các phương pháp phân oại tin tức.
Phương pháp thực nghiệm
- Nghiên cứ và khai thác các công cụ phần mềm hỗ trợ.
- Nghiên cứ đề x ất giải pháp tối ư trong việc biể

iễn và phân oại văn

bản.
- Kiểm tra, thử nghiệm, nhận xét và đánh giá kết q ả.
6. Kết luận
- Xây ựng được một hệ thống phân oại văn bản tin tức tiếng Việt.
- Thiết ập được q y trình phân oại văn bản chặt chẽ, thông s ốt, theo đúng
chủ đề, th ận tiện cho việc tìm kiếm, tra cứ , theo õi khi cần thiết.
7. Bố cục của luận văn
Dự kiến luận văn được trình bày bao gồm các phần chính như sa :
● MỞ ĐẦU
Nê bối cảnh nghiên cứ , ý o chọn đề tài và mục tiê nghiên cứ .
● CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN
+ Khái niệm phân ớp văn bản.
+ Mô hình phân ớp văn bản ùng tiếp cận học máy
+ Th thập

iệ


4

+ Tiền xử ý văn bản

+ Biể

iễn văn bản trong không gian vec-tơ bằng BOW và T -IDF

● CHƯƠNG 2: THUẬT TOÁN K- LÁNG GIỀNG GẦN NHẤT (kNN)
Trong chương này trình bày khái niệm về khai phá

iệ (Data mining)

các th ật toán được ùng trong Data mining, đặc biệt à th ật toán k- láng
giềng. Các ư nhược điểm của th ật toán này.
● CHƯƠNG 3: TRIÊN KHAI VÀ ĐÁNH GIÁ HÊ THỐNG
Trong chương này trình bày các thử nghiệm được tiến hành, trình bày về
tập mẫ , tập thử nghiệm và tập kiểm tra để đánh giá hiệ s ất của th ật
toán.
● KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
● TÀI LIỆU THAM KHẢO


5

CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN
1.1. Khái niệm phân lớp văn bản
1.1.1. Khái niệm
Phân lớp văn bản(Text classification) là quá trình gán nhãn(tên lớp / nhãn
lớp) các văn bản ngôn ng tự nhiên một cách tự động vào một hoặc nhiều lớp
cho truớc.
Phân lớp văn bản à bài toán cơ bản trong khai phá d liệ văn bản. Bài toán
phân lớp văn bản là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác định
trước, vào các văn bản dựa trên nội dung của chúng. Phân lớp văn bản là công

việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin, chiết lọc thông
tin, lọc văn bản hoặc tự động dẫn đường cho các văn bản tới nh ng chủ đề xác
định trước. Phân lớp văn bản có thể thực hiện thủ công hoặc tự động sử dụng
các kỹ thuật học máy có giám sát. Các hệ thống phân lớp có thể ứng dụng trong
việc phân loại tài liệu của các thư viện điện tử, phân loại văn bản báo chí trên
các trang tin điện tử… nh ng hệ thống tốt, cho ra kết quả khả quan, giúp ích
nhiề cho con người[5].

Hình 1.1 Bài toán phân lớp văn bản theo chủ đề.

Thông thường, các lớp cho truớc là các chủ đề nào đó, nh ng cũng có nhiều
ứng dụng mà các lớp đ ợc thiết lập theo nh ng tiêu chí khác, nhu phân lớp theo
độ ưu tiên, phân lớp theo chủ đề... Hầu hết các bài toán này sẽ tốn rất nhiều thời


6

gian, công sức và đôi khi không chính xác nế được phân loại một cách thủ
công - tức à đọc từng văn bản và gán vào một lớp nào đó. Đặc biệt với số lượng
tài liệu cần phân lớp cực kỳ lớn nhu hiện nay thì việc phân lớp thủ công là một
điều không thể. Phân loại nh ng đối tuợng mới vào các lớp bằng phương pháp
thủ công gặp phải nh ng khó khăn sa :
- Đối với các ĩnh vực đặc biệt, phân loại các đối tuợng mới (như cơ sở d
liệu về y tế, pháp luật, tài chính, ngân hàng... ) vào các lớp cho truớc cần có hiểu
biết về các ĩnh vực đó.
- Phân loại bằng tay đôi khi không chính xác vì q yết định phụ thuộc vào sự
hiểu biết và động cơ của nguời thực hiện.
- Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến.
Vì vậy nh ng công cụ để tự động phân lớp văn bản vào các lớp sẽ rất h u ích
với công việc này nhất là khi thông tin tràn ngập như ngày nay. Một số phuong

pháp phân lớp thống kê và kĩ th ật học máy như Bayesian, máy vector hỗ trợ
(Support Vector Machines), K láng giềng gần nhất, mạng noron... đ ợc áp dụng
để giải quyết bài toán này.
Chính vì nh ng nhuợc điểm của phương pháp thủ công nên việc xây dựng
một bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt
là khi hầu hết các thông tin đ ợc sinh ra và luu tr điện tử. Các bài báo khoa học
và giải trí là nh ng ví dụ về tập các tài liệ điện tử. Với sự phát triển ngày càng
mạnh mẽ của mạng internet và intranet đã tạo ra nguồn thông tin vô cùng phong
phú. Các kỹ thuật phân lớp văn bản sẽ giúp cho nguồn d liệ này đã đ ợc lư
tr tự động một cách hiệu quả và đ ợc tìm kiếm nhanh chóng.
Phân lớp văn bản đ ợc xuất hiện từ nh ng năm 1960, nhưng chỉ 15 năm sa ,
nó đã trở thành ĩnh vực nghiên cứu chính trong hệ thống thông tin bởi sự đa
dạng của các ứng dụng. Phân lớp văn bản là công việc đ ợc sử dụng để hỗ trợ
trong quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin
(Information Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản


7

tới nh ng chủ đề xác định truớc. Một ứng dụng khác của phân lớp văn bản là
trong ĩnh vực hiể văn bản. Phân lớp văn bản có thể đ ợc sử dụng để lọc văn
bản hoặc một phần văn bản chứa d liệu cần tìm mà không làm mất đi tính phức
tạp của ngôn ng tự nhiên.
1.1.2. Phân loại bài toán phân lớp văn bản
Tùy vào nh ng ràng buộc khác nha để phân loại bài toán phân lớp văn bản.
Nhìn chung có thể phân biệt bài toán phân lớp theo hai cách sau:
- Phân lớp văn bản nhị phân / đa ớp: Bài toán phân lớp văn bản được gọi là
nhị phân nếu số lớp là 2, gọi à đa ớp nếu số lớp lớn hơn 2.
- Phân lớp văn bản đơn nhãn / đa nhãn: Bài toán phân lớp văn bản được gọi
à đơn nhãn nếu mỗi tài liệ được gán vào chính xác một lớp. Bài toán phân lớp

văn bản được gọi à đa nhãn nếu một tài liệu có thể được gán nhiề hơn một
nhãn.
Trên thực tế, phân lớp hai lớp (phân lớp nhị phân) chỉ là một trường hợp đặc
biệt của bài toán phân lớp song do xuất xứ cho nên phân lớp nhị phân có vị trí
riêng cả về đặt bài toán lẫn về các giải pháp.
1.2. Mô hình phân lớp văn bản dùng tiếp cận học máy
Th ật ng học máy đề cập đến việc phát hiện tự động có ý nghĩacác mẫ
trong

iệ .Học máy à ập trình máy tính để họ có thể "tìm hiể " từ đầ vào

có sẵn cho máy tính. Đầ vào của th ật toán học máy à

iệ h ấn

yện chứa

các kiến thức, tri thức mà chúng ta cần cho máy học. Đầ ra chính à các thông
số được tính toán trong q á trình học máy mà chúng ta có thể sử ụng để àm
các việc khác phục vụ cho mục đích mà chúng ta m ốn máy thực hiện thông q a
việc học máy[8].
Phân ớp văn bản được các nhà nghiên cứ định nghĩa thống nhất như à việc
gán tên các chủ đề (tên ớp / nhãn ớp) đã được xác định cho trước vào các văn
bản text ựa trên nội

ng của nó. Phân ớp văn bản à công việc được sử ụng

để hỗ trợ trong q á trình tìm kiếm thông tin (Information Retrieva ), chiết ọc



8

thông tin (Information Extraction), ọc văn bản hoặc tự động ẫn đường cho các
văn bản tới nh ng chủ đề xác định trước. Để phân oại văn bản, người ta sử
ụng phương pháp học máy có giám sát. Tập
à tập h ấn

iệ được chia ra àm hai tập

yện và tập kiểm tra, trước hết phải xây ựng mô hình thông q a

các mẫ học bằng các tập h ấn

yện, sa đó kiểm tra sự chính xác bằng tập

iệ kiểm tra.

Hình 1.2 Sơ đồ khung một hệ thống phân lớp văn bản dùng Học máy.

Hình trên biể

iễn một sơ đồ kh ng một hệ thống phân ớp văn bản, trong đó

bao gồm ba thành phần chính:
- Biể

iễn văn bản, tức à ch yển các

iệ văn bản thành một ạng có


cấ trúc nào đó, tập hợp các mẫ cho trước thành một tập h ấn

yện.

- Thực hiện việc sử ụng các kỹ th ật học máy để học trên các mẫ h ấn
luyện vừa biể

iễn. Như vậy việc biể

cho giai đoạn thứ hai.

iễn ở giai đoạn thứ nhất sẽ à đầ vào


9

- Thực hiện bổ s ng các kiến thức thêm vào o ng ời ùng c ng cấp để àm
tăng độ chính xác trong biể

iễn văn bản hay trong q á trình học máy. Trong

nhiề tr ờng hợp, các ph ơng pháp học hệ thống phân ớp có thể bỏ q a thành
phần này.
Như vậy thành phần thứ ba đ ợc coi à tr ng tâm của một hệ thống phân ớp
văn bản. Trong phần này, có nhiề ph ơng pháp học máy đ ợc áp ụng như mô
hình mạng Bayes, cây q yết định, phương pháp K áng giềng gần nhất, mạng
Neuron, SVM, mô hình Maximum Entropy.
1.3. Th thập

iệ


Để đảm bảo tính đa ạng của các nguồn d liệu, tôi thu thập các bài viết
từ 10 trang web điện tử phổ biến nhất của Việt Nam (dựa trên
).
- Daikynguyenvn.com
-

Zing.vn

- Vnexpress.net
- 24h.com.vn
- Kenh14.vn
- Nguoiduatin.vn
- Dantri.com.vn
- Vietnamnet.vn
- Tuoitre.vn
- Tinhte.vn
Mỗi trang được chia thành 20 chủ đề chính. Các chủ đề bao gồm: Tin tức,
Thế giới, Văn hóa - Văn học, Cuộc sống, Y tế, Khoa học - Công nghệ, Kinh
tế, Thể thao, Du lịch, Âm nhạc, Phim, Luật, Tự động - Moto, Thời trang, Trẻ
sống, Giáo dục, Nói chuyện, Quảng cáo, Khám phá, Sao.
1.3.1.Trình thu thập thông tin web
Một trình thu thập d liệ web, đôi khi được gọi là một spider, là một


10

chương trình tự động chạy trên internet có hệ thống duyệt world wide web,
thường cho mục đích ập chỉ mục web.


Hình 1.3 Kiến trúc của trình thu thập dữ liệu web.

Trong luận án của tôi, tôi đã sử dụng thư viện scrapy, một trong nh ng
thư viện tìm kiếm python phổ biến và mạnh mẽ nhất, để trích xuất d liệu một
cách hiệu quả từ các nguồn d liệu. nó hiện đang được duy trì bởi scrapinghub
ltd., một công ty phát triển và dịch vụ web. Kiến trúc dự án sơ sài được xây
dựng xung quanh ' spider ', là trình thu thập thông tin độc lập được cung cấp một
bộ hướng dẫn. theo tinh thần của người khác không lặp lại các khuôn khổ của
chính mình, nó giúp việc xây dựng và quy mô các dự án thu thập d liệu lớn dễ
àng hơn bằng cách cho phép sử dụng lại mã của họ.
1.3.2. Thống kê dữ liệu
Kết quả à, tôi đã th thập các bài viết khác nhau từ các trang web điện tử
tiếng Việt.


11

Hình 1.4 Số bài báo được thu thập theo chủ đề.

1.4. Tiền xử ý văn bản
Bước đầu tiên và không thể thiếu trong việc xử lý ngôn ng tự nhiên là
tiền xử ý. Vì văn bản vốn ĩ được liệt kê mà không có cấ trúc, để nguyên vậy
để xử lý là rất khó khăn. Đặc biệt là loại văn bản trên web có lẫn các HTML tag,
co e JS, đó chính à noise.Vì vậy, ta phải biến đổi các tài liệu sang một khuôn
dạng phù hợp với các giải thuậtphân loại. Phép xử ý như vậy được gọi là tiền
xử ý văn bản (text preprocessing). Ch “tiền” ở đây m ốn nói rằng đây à một
pha được thực hiện trước, chuẩn bị nguyên liệucần thiết cho pha học hàm phân
loại hoặc phân loại.
Bước tiền xử lý nhìn chung sẽ được mô tả tóm tắt như sa :



12

Có 4 bước tiền xử lý:

Hình 1.5. Các bước tiền xử lý văn bản.

1.4.1. Làm sạch
Mục đích bước này là loại bỏ nhiễu trong ata. Đa phần nhiễu là các thẻ
HTML, JavaScript, và đương nhiên nếu cứ để nhiễu để tiến hành xử lý sẽ dẫn
đến kết quả xử lý không tốt.
Ví dụ đơn giản như sa :

Hình 1.6. Ví dụ bước làm sạch văn bản.

Thông thường chúng ta hay loại bỏ nhiễu là các thẻ HTML và JS như trên
tuy nhiên thực tế nhiễu có thể không chỉ à HTML, JS, cũng có thể là nh ng
cụm từ không cần thiết, hay ký tự không có ý nghĩa ($%&##").
dụng trang web để loại bỏ.



thể

sử


13

Trong python, có 2 thư viện để sử dụng trong việc làm sạch từ:

BeautifulSoup và lxml.
1.4.2. Tách từ
Trong tiếng Việt, dấ cách (space) không được sử dụng như một kí hiệu
phân tách từ, nó chỉ có ý nghĩa phân tách các âm tiết với nhau. Vì thế, để xử lý
tiếng Việt, công đoạn tách từ (word segmentation) là một trong nh ng bài toán
cơ bản và quan trọng bậc nhất[6].
Ví dụ : từ “đất nước” được tạo ra từ 02 âm tiết “đất” và “nước”, cả 02 âm
tiết này đề có nghĩa riêng khi đứng độc lập, nhưng khi ghép ại sẽ mang một
nghĩa khác. Vì đặc điểm này, bài toán tách từ trở thành 1 bài toán tiền đề cho
các ứng dụng xử lý ngôn ng tự nhiên khác như phân oại văn bản, tóm tắt văn
bản, máy dịch tự động, …
Như ví ụ sau:

Hình 1.7. Ví dụ tách từ.

Tách từ chính xác hay không là công việc rất quan trọng, nếu không chính
xác rất có thể dẫn đến việc ý nghĩa của câu sai, ảnh hưởng đến tính chính xác
của chương trình.


14

Có nhiề phương pháp để thực hiện tách từ được giới thiệu tại [11].
1.4.3. Chuẩn hóa từ
Mục đích à đưa văn bản từ các ạng không đồng nhất về cùng một ạng.
Dưới góc độ tối ư bộ nhớ ư tr và tính chính xác cũng rất q an trọng.
Ví ụ: U.S.A = USA
Ví ụ trong từ điển,

iệ h ấn


yện của chúng ta không có U.S.A, chỉ

có USA, thì việc đổi nh ng từ như U.S.A về USA à điề cần thiết để các bước
xử ý sa như phân oại văn bản, phát hiện chủ đề được chính xác.
Có nhiề cách viết, mỗi cách viết khi ư tr sẽ tốn ượng bộ nhớ khác
nha , như ha f size chỉ tốn 1/2

ng ượng so với f

size nên t ỳ theo nh cầ ,

tình hình thực tế, chúng ta sẽ đưa văn bản về một ạng đồng nhất.
Ngoài ra trong một vài trường hợp, nế ký tự số không mang ại ợi ích gì
thì cũng sẽ tiến hành oại bỏ các ký tự số đó, nế cứ để ng yên rất có thể các ký
tự số sẽ trở thành nhiễ , ảnh hưởng đến tính chính xác của mô hình sau này.
1.4.4. Loại bỏ StopWords
StopWords là nh ng từ xuất hiện nhiều trong ngôn ng tự nhiên, tuy
nhiên lại không mang nhiề ý nghĩa. Ở tiếng việt StopWords là nh ng từ như:
để, này, kia...
Ư điểm của phép xử lý này không phải chỉ là các từ không có ý nghĩa sẽ
bị loại bỏ và không can thiệp vào quá trình phân loại về sa , mà kích thước của
các file tài liệu sẽ giảm đi khoảng 30 đến 50 phần trăm.
Một số StopWords của tiếng Việt:


15

Hình 1.8 StopWords tiếng Việt.


Có rất nhiề cách để loại bỏ StopWor s nhưng có 2 cách chính à:
• Dùng từ điển.
• Dựa theo tần s ất x ất hiện của từ.
- Dùng từ điển:
Cách này đơn giản nhất, chúng ta tiến hành lọc văn bản, loại bỏ nh ng từ
xuất hiện trong từ điển StopWords:


16

Ví dụ:

Hình 1.9. Ví dụ dùng từ điển loại bỏ StopWords.

- Dựa theo tần suất xuất hiện của từ:
Với cách này, chúng ta tiến hành đếm số lần xuất hiện của từng từ trong
d liệu sa đó sẽ loại bỏ nh ng từ xuất hiện nhiều lần (cũng có thể là ít lần).
Khoa học đã chứng minh nh ng từ xuất hiện nhiều nhất thường là nh ng từ
không mang nhiề ý nghĩa.
Ví dụ:

Hình 1.10. Ví dụ dựa theo tần suất xuất hiện của từ


17

Trên là top 50 từ xuất hiện nhiều nhất trong mỗi cuốn sách, dễ dàng nhận
thấy chúng không mang nhiề ý nghĩa. Chính vì thế chúng ta sẽ loại bỏ nh ng
từ như thế này.
1.5. Biểu diễn văn bản ưới dạng vector

Một trong nh ng phương pháp phổ biến để biểu diễn văn bản ưới dạng
vector, là biểu diễn văn bản bằng phương pháp Bag-of-words (BOW).
1.5.1.Túi từ (Bag-of-words)
Khái niệm: là cách biểu diễn đơn giản được sử dụng trong xử lý ngôn
ng tự nhiên và truy xuất thông tin.Mô hình BOW là một biểu diễn đơn giản
được sử dụng trong xử lý ngôn ng tự nhiên và truy xuất thông tin. Trong mô
hình này, một tài liệu văn bản được biểu diễn như thể nó là túi của các từ của nó,
bỏ qua ng pháp và thứ tự từ nhưng chỉ gi tần số của mỗi từ trong tài liệu.
Nội dung: ý tưởng chính của BOW là: chạy từ đầ đến cuối văn bản, gặp
từ nào thì tăng số lần đếm của từ từ đó trong anh sách từ đã ư trước.Mô hình
bag-of-wor s thường được sử dụng trong các phương pháp phân oại tài liệu,
nơi sự xuất hiện của mỗi từ được sử dụng như một tính năng để đào tạo một
trình phân loại.
Tập các từ có tần
Văn bản

Mô hình

suất xuất hiện cao

Bag-of-words

nhất trong văn bản

Hình1.11 Mô hình Bag-of-words.

Khi mô hình này được áp dụng để thể hiện trong văn bản, mỗi từ được
biểu diễn một số nhị phân phụ thuộc vào việc từ này thuộc về tập các từ tần số
cao hay không. Kết quả à, văn bản đầ vào được biểu diễn bằng vectơ nhị phân.
Thuật toán để xác định tính năng nhị phân của văn bản được hiển thị trong hình

ưới:


×