1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứ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ủ đề

55 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứ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ủ Đề
Tác giả Lê Quang Hòa
Người hướng dẫn TS. Ninh Khánh Duy
Trường học Đại Học Đà Nẵng - Trường Đại Học Bách Khoa
Chuyên ngành Khoa Học Máy Tính
Thể loại Luận Văn Thạc Sĩ Kỹ Thuật
Năm xuất bản 2018
Thành phố Đà Nẵng
Định dạng
Số trang 55
Dung lượng 6,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 ưu đ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êu các lý thuyết liên quan đế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 Qua đó đưa ra các kết quả đánh giá khi áp dụng thuật toán này trong thực tế

Trang 1

ĐẠ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

Trang 2

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

Trang 3

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

Trang 4

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 5

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.

Trang 6

TF-IDF Term Frequency–Inverse Document Frequency

Trang 7

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 29Bả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 %) 31Bảng 3.3 Độ chính xác của Naive Bayes theo số chiều của vec tơ đặc trưng 32

Trang 8

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

Trang 9

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

Trang 10

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 tố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

Để đạ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 tố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 tố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ư Nạve Bayes

và Support Vector Machine

Trang 11

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ệ

Trang 12

+ 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ƯƠNG3:TRIÊNKHAIVÀĐÁNHGIÁ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ẾTLUẬNVÀHƯỚNGPHÁTTRIỂN

● TÀILIỆUTHAMKHẢO

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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 iệ được chia ra àm hai tập

à tập h ấn 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ể iễn ở giai đoạn thứ nhất sẽ à đầ vào cho giai đoạn thứ hai

Trang 17

- 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

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

Trang 18

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

Trang 19

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 :

Trang 20

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 ($%&##") Có thể sử dụng trang web https://regex101.com/ để loại bỏ

Trang 21

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

Trang 22

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:

Trang 23

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

Trang 24

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ừ

Trang 25

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

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:

Văn bản

Tập các từ có tần suất xuất hiện cao nhất trong văn bản

Mô hình Bag-of-words

Trang 26

Hình 1.12 Thuật toán để xác định tính năng nhị phân của văn bản

"John" , "thích" , "tới" , "xem" , "phim" , "Mary" , "thích" , "phim" , "quá"

"John" , "cũng" , "thích" , "tới" , "xem" , "bóng đá" , "trò chơi"

Mỗi khóa là từ và mỗi giá trị là số lần xuất hiện của từ đó trong tài iệu văn bản đã cho (thứ tự của các phần tử là không quan trọng)

Chuỗi văn bản thứ nhất được biểu diễn ưới dạng vector:

{ "John" : 1 , " ượt thích" : 2 , "tới" : 1 , "xem" : 1 , "phim" : 2 , "Mary" :

1 , "quá" : 1 };

Trang 27

Chuỗi văn bản thứ hai được biểu diễn ưới dạng vector:

{ "John" : 1 , "cũng" : 1 , "thích" : 1 , "tới" : 1 , "xem" : 1 , "trò chơi" : 1 }; Hai chuỗi trên được biểu diễn bởi chuỗi thứ ba:

{ "John" : 2 , "thích" : 3 , "tới" : 2 , "xem" : 2 , "phim" : 2 , "Mary" : 1 ,

"q á" : 1 , "cũng" : 1 , "bóng đá" : 1 , "trò chơi" : 1 };

1.5.2 Term Frequency – Inverse Document Frequency (TF-IDF)

Trong phần giới thiệu về BOW, tôi đã sử dụng biểu diễn từng từ để tạo các vectơ đặc trưng mã hóa có hay không một từ trong tập từ vựng - các tập hợp các

từ tần số cao Các vectơ đặc trưng này không mã hóa ng pháp, thứ tự từ hoặc tần số của các từ Nó là trực quan rằng tần số mà một từ xuất hiện trong một tài liệu có thể chỉ ra mức độ mà một tài liệ iên q an đến từ đó Một tài liệu dài có chứa một lần xuất hiện của một từ có thể thảo luận một chủ đề hoàn toàn khác với một tài liệu có chứa nhiều lần xuất hiện cùng một từ Trong phần này, tôi sẽ tạo các vector đặc trưng mã hóa tần số của các từ

Thay vì sử dụng giá trị nhị phân cho mỗi phần tử trong vectơ đặc trưng, giờ đây chúng tôi sẽ sử dụng trọng số TF-IDF

Khái niệm:tf-idf hoặc TF-IDF, viết tắt của Term Frequency – Inverse

Doccument Frequencylà một con số th được qua thống kê thể hiện mức độ quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản.Giá trị tf-i f tăng tương ứng với số lần một từ xuất hiện trong tài liệ , nhưng thường được bù đắp bằng tần số của từ trong kho văn bản, giúp điều chỉnh thực tế là một số từ xuất hiện thường x yên hơn nói chung[1][7]

Nội dung:

-Term Frequency (TF): tần số xuất hiện của một từ trong một văn bản

Cách tính:

Ngày đăng: 21/04/2021, 20:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w