Luận văn thạc sĩ: Phân loại văn bản tin tức dùng máy vec-tơ hỗ trợ - Ngô Hải Nam

Luận văn thạc sĩ phân loại văn bản tin tức bằng máy vec-tơ hỗ trợ (SVM), kết hợp BoW, TF-IDF, đạt độ chính xác 87% trên 10.000 tin tức.

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2019

54
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn toàn diện Luận văn Phân loại văn bản bằng SVM

Trong kỷ nguyên số, lượng thông tin văn bản bùng nổ từ các nguồn như báo chí, mạng xã hội đã tạo ra một thách thức lớn trong việc quản lý và khai thác. Phân loại văn bản tự động nổi lên như một giải pháp thiết yếu, giúp sắp xếp, tìm kiếm và phân tích dữ liệu hiệu quả. Đây là một bài toán cốt lõi trong lĩnh vực xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP). Luận văn “Phân loại văn bản tin tức dùng máy vec-tơ hỗ trợ” của tác giả Ngô Hải Nam đã đi sâu vào việc áp dụng một trong những thuật toán học máy (Machine Learning) mạnh mẽ nhất cho nhiệm vụ này: Máy vec-tơ hỗ trợ (Support Vector Machine - SVM). Nghiên cứu này không chỉ trình bày một cách tiếp cận hiệu quả cho text classification mà còn cung cấp một cái nhìn chi tiết về quy trình xây dựng một mô hình hoàn chỉnh, từ thu thập dữ liệu, tiền xử lý đến đánh giá mô hình. Mục tiêu của luận văn là xây dựng một công cụ có khả năng tự động gán nhãn chủ đề cho các bài báo tiếng Việt, giải quyết bài toán thực tiễn mà các tòa soạn, hệ thống quản lý thông tin đang đối mặt. Bằng cách kết hợp thuật toán SVM với các kỹ thuật trích xuất đặc trưng tiên tiến như TF-IDF, nghiên cứu đã chứng minh tính khả thi và hiệu quả cao của phương pháp, mở ra tiềm năng ứng dụng rộng rãi. Đây là một tài liệu tham khảo giá trị cho sinh viên và nhà nghiên cứu đang thực hiện luận văn tốt nghiệp hoặc đồ án chuyên ngành trong lĩnh vực khoa học máy tính và trí tuệ nhân tạo.

1.1. Khái niệm phân loại văn bản trong xử lý ngôn ngữ tự nhiên

Phân loại văn bản (Text Classification), hay còn gọi là Text Categorization, là quá trình gán một văn bản vào một hoặc nhiều danh mục (chủ đề) được định nghĩa trước. Về bản chất, đây là một bài toán học có giám sát (Supervised Learning). Mô hình sẽ học từ một tập dữ liệu đã được gán nhãn (dữ liệu huấn luyện) để có thể dự đoán nhãn cho các văn bản mới chưa từng thấy. Các ứng dụng phổ biến bao gồm lọc email spam, phân tích cảm xúc của khách hàng, tự động gắn thẻ bài viết, và sắp xếp tin tức theo chuyên mục (Thể thao, Kinh doanh, Giáo dục...). Trong bối cảnh của xử lý ngôn ngữ tự nhiên, bài toán này đòi hỏi máy tính phải "hiểu" được ngữ nghĩa của văn bản, một nhiệm vụ phức tạp do sự đa dạng và mơ hồ của ngôn ngữ con người.

1.2. Lý do máy vec tơ hỗ trợ SVM là giải pháp tối ưu

Máy vec-tơ hỗ trợ (SVM) là một thuật toán phân loại mạnh mẽ, đặc biệt hiệu quả trong không gian đặc trưng nhiều chiều, vốn là đặc điểm của dữ liệu văn bản. Ý tưởng cốt lõi của SVM là tìm ra một siêu phẳng (hyperplane) trong không gian nhiều chiều để phân tách các điểm dữ liệu thành các lớp khác nhau với khoảng cách biên (margin) lớn nhất. Điều này giúp mô hình có khả năng tổng quát hóa tốt hơn, giảm thiểu lỗi trên dữ liệu mới. Theo nghiên cứu của Joachims (1998), SVM tỏ ra vượt trội trong các bài toán phân lớp văn bản vì khả năng xử lý hiệu quả với hàng ngàn đặc trưng mà không bị ảnh hưởng bởi hiện tượng "lời nguyền số chiều" (curse of dimensionality). Hơn nữa, việc sử dụng các hàm nhân (kernel trick) cho phép SVM xử lý hiệu quả cả các bài toán phân loại phi tuyến tính.

1.3. Mục tiêu và ý nghĩa của báo cáo khoa học này

Mục tiêu chính của báo cáo khoa học này là xây dựng và đánh giá một chương trình có khả năng phân loại văn bản tin tức tiếng Việt tự động theo các chủ đề như Giáo dục, Sức khỏe, Khoa học... dựa trên thuật toán SVM. Về mặt khoa học, luận văn đóng góp vào việc chuẩn hóa quy trình trích xuất đặc trưng và áp dụng các kỹ thuật học máy cho ngôn ngữ tiếng Việt. Về mặt thực tiễn, kết quả nghiên cứu cung cấp một giải pháp hữu ích cho các hệ thống quản lý thông tin, các trang báo điện tử, giúp tự động hóa quy trình biên tập, cải thiện trải nghiệm người dùng và hỗ trợ phân tích xu hướng thông tin. Nghiên cứu cũng thực hiện so sánh hiệu quả của SVM với thuật toán Naive Bayes để đưa ra kết luận khách quan về hiệu năng.

II. Cách vượt qua thách thức trong phân loại tin tức tiếng Việt

Việc phân loại văn bản tin tức tiếng Việt đặt ra nhiều thách thức đặc thù so với các ngôn ngữ như tiếng Anh. Khó khăn lớn nhất đến từ bản chất phi cấu trúc của dữ liệu văn bản và các đặc điểm riêng của ngôn ngữ. Văn bản thô là một chuỗi ký tự, không thể đưa trực tiếp vào các mô hình học máy vốn chỉ làm việc với dữ liệu số. Do đó, quá trình chuyển đổi văn bản thành các vector số (vector hóa) là một bước bắt buộc và tối quan trọng, quyết định đến hiệu suất của toàn bộ hệ thống. Thêm vào đó, tiếng Việt là ngôn ngữ đơn âm tiết, không có ranh giới từ rõ ràng như dấu cách trong tiếng Anh. Một từ có thể được tạo thành từ nhiều âm tiết (ví dụ: "học máy", "khoa học"), đòi hỏi các kỹ thuật tách từ chuyên biệt. Nếu tách từ sai, ngữ nghĩa của câu sẽ bị phá vỡ, dẫn đến việc trích xuất đặc trưng không chính xác. Quá trình tiền xử lý dữ liệu văn bản cho tiếng Việt vì thế trở nên phức tạp hơn, bao gồm các công đoạn như làm sạch dữ liệu (loại bỏ thẻ HTML, ký tự đặc biệt), chuẩn hóa (đưa về chữ thường), tách từ và loại bỏ các từ dừng (stopwords) - những từ xuất hiện thường xuyên nhưng không mang nhiều ý nghĩa. Việc lựa chọn phương pháp biểu diễn văn bản, chẳng hạn như Bag of Words (BoW) hay TF-IDF, cũng ảnh hưởng trực tiếp đến chất lượng của mô hình text classification.

2.1. Vấn đề tiền xử lý dữ liệu văn bản tiếng Việt

Quy trình tiền xử lý dữ liệu văn bản là nền tảng cho bất kỳ bài toán NLP nào. Đối với tiếng Việt, bước đầu tiên là làm sạch văn bản thô thu thập từ các trang báo, loại bỏ các thành phần không cần thiết như mã HTML, CSS, JavaScript và các ký tự đặc biệt. Bước tiếp theo và quan trọng nhất là tách từ (Word Segmentation). Không giống tiếng Anh, dấu cách trong tiếng Việt chỉ dùng để phân tách các âm tiết. Luận văn đã sử dụng thư viện VnTokenizer để thực hiện nhiệm vụ này, gom các âm tiết liền kề thành các từ có nghĩa ("bài_toán", "tiếng_Việt"). Sau khi tách từ, bước loại bỏ stopwords (các từ như "là", "thì", "của", "và"...) giúp giảm nhiễu và giảm số chiều của không gian đặc trưng, tập trung vào những từ mang ý nghĩa cốt lõi của văn bản.

2.2. Kỹ thuật biểu diễn văn bản cho mô hình học máy

Sau khi tiền xử lý, văn bản cần được chuyển đổi thành dạng vector số. Luận văn này tập trung vào hai phương pháp phổ biến. Thứ nhất là mô hình Bag of Words (BoW), một phương pháp đơn giản biểu diễn mỗi văn bản như một túi chứa các từ, không quan tâm đến thứ tự, và giá trị của mỗi chiều trong vector là tần suất xuất hiện của từ đó. Tuy nhiên, BoW có nhược điểm là các từ phổ biến sẽ có trọng số cao dù không mang nhiều ý nghĩa. Để khắc phục, phương pháp thứ hai là TF-IDF (Term Frequency – Inverse Document Frequency) được áp dụng. TF-IDF đánh trọng số cao cho những từ xuất hiện nhiều trong một văn bản cụ thể nhưng lại xuất hiện ít trong toàn bộ các văn bản khác. Điều này giúp xác định các từ khóa quan trọng, đặc trưng cho nội dung của từng văn bản, từ đó cải thiện đáng kể độ chính xác của mô hình phân lớp văn bản.

2.3. Thách thức về không gian đặc trưng có số chiều cao

Khi sử dụng các phương pháp như BoW hay TF-IDF, mỗi từ duy nhất trong bộ từ vựng sẽ trở thành một chiều trong không gian vector. Với một tập dữ liệu báo chí lớn, số lượng từ vựng có thể lên đến hàng chục, thậm chí hàng trăm ngàn, tạo ra một không gian đặc trưng có số chiều rất cao. Điều này không chỉ làm tăng chi phí tính toán và yêu cầu bộ nhớ mà còn có thể làm giảm hiệu suất của mô hình do dữ liệu trở nên thưa thớt. Mặc dù luận văn không đi sâu vào các kỹ thuật giảm chiều như PCA hay LDA, việc lựa chọn thuật toán SVM là một giải pháp hợp lý vì SVM vốn được thiết kế để hoạt động hiệu quả trong không gian có số chiều cao. Tuy nhiên, đây vẫn là một thách thức cần được xem xét trong các bài toán quy mô lớn hơn.

III. Phương pháp tiền xử lý và trích xuất đặc trưng văn bản

Để một mô hình học máy có thể "đọc" và phân loại văn bản, bước đầu tiên và quan trọng nhất là chuyển đổi dữ liệu từ dạng chuỗi ký tự phi cấu trúc sang dạng vector số có cấu trúc. Quá trình này được gọi là trích xuất đặc trưng (Feature Extraction) và nó quyết định phần lớn đến sự thành công của bài toán phân loại văn bản. Luận văn của Ngô Hải Nam đã thực hiện một quy trình chuẩn hóa và bài bản, bắt đầu từ việc thu thập dữ liệu bằng web crawler từ các trang báo điện tử lớn. Dữ liệu thô này sau đó trải qua một loạt các bước tiền xử lý dữ liệu văn bản được thiết kế riêng cho tiếng Việt. Công đoạn làm sạch giúp loại bỏ các thẻ HTML và ký tự nhiễu. Tiếp theo, quá trình tách từ sử dụng thư viện chuyên dụng để xác định ranh giới các từ ghép. Sau khi có được danh sách các token (từ), các stopwords sẽ bị loại bỏ để giảm nhiễu. Bước cuối cùng trong quy trình này là biểu diễn mỗi văn bản dưới dạng một vector. Nghiên cứu đã tập trung sử dụng mô hình Bag of Words (BoW) kết hợp với trọng số TF-IDF. Sự kết hợp này tạo ra một ma trận vector mà mỗi hàng đại diện cho một văn bản và mỗi cột đại diện cho một từ trong từ vựng, với giá trị tại mỗi ô là trọng số TF-IDF của từ đó trong văn bản tương ứng. Ma trận này chính là đầu vào cho thuật toán SVM trong giai đoạn huấn luyện và dự đoán.

3.1. Quy trình thu thập và làm sạch tập dữ liệu báo chí

Nền tảng của mô hình là một tập dữ liệu báo chí chất lượng. Luận văn đã tiến hành thu thập hơn 10.000 bài báo từ các nguồn tin tức trên Internet, bao gồm 9 chủ đề chính như Thế giới, Giáo dục, Sức khỏe, Khoa học-Công nghệ... Dữ liệu được thu thập tự động bằng công cụ Scrapy, một framework mạnh mẽ của Python. Sau khi thu thập, dữ liệu ở dạng thô chứa rất nhiều thông tin thừa như thẻ HTML, các đoạn script. Bước làm sạch văn bản được thực hiện để loại bỏ hoàn toàn các yếu tố này, đồng thời chuẩn hóa văn bản bằng cách chuyển tất cả về dạng chữ thường và xóa các khoảng trắng thừa. Đây là bước cơ bản nhưng cần thiết để đảm bảo dữ liệu đầu vào cho các giai đoạn sau được đồng nhất và sạch sẽ.

3.2. Áp dụng mô hình Bag of Words BoW và trọng số TF IDF

Mô hình Bag of Words (BoW) được sử dụng để xây dựng bộ từ vựng từ toàn bộ tập văn bản. Mỗi văn bản sau đó được biểu diễn bằng một vector có độ dài bằng kích thước của từ vựng. Tuy nhiên, chỉ đếm tần suất (Term Frequency - TF) là chưa đủ. Để giải quyết vấn đề này, luận văn đã kết hợp với TF-IDF. IDF (Inverse Document Frequency) là một thước đo về mức độ quan trọng của một từ. Nó giúp giảm trọng số của những từ xuất hiện phổ biến trong nhiều tài liệu (ví dụ: "bài báo", "thông tin") và tăng trọng số cho những từ mang tính đặc trưng, chỉ xuất hiện trong một số ít tài liệu liên quan đến một chủ đề nhất định. Kết quả là mỗi văn bản được đại diện bởi một vector TF-IDF, phản ánh chính xác hơn nội dung và các từ khóa quan trọng của nó.

3.3. Các phương pháp biểu diễn văn bản nâng cao như Word2Vec

Mặc dù luận văn này tập trung vào TF-IDF và BoW, cần lưu ý rằng có nhiều phương pháp biểu diễn văn bản nâng cao khác. Một trong những kỹ thuật nổi bật là Word2Vec. Không giống như BoW hay TF-IDF chỉ xem xét sự tồn tại của từ, Word2Vec là một mô hình học sâu (Deep Learning) có khả năng học các biểu diễn vector (word embeddings) cho từ ngữ, trong đó các từ có ngữ nghĩa tương tự sẽ có vector gần nhau trong không gian. Phương pháp này nắm bắt được mối quan hệ ngữ nghĩa giữa các từ, có thể mang lại hiệu quả cao hơn cho các bài toán NLP phức tạp. Tuy nhiên, việc áp dụng Word2Vec đòi hỏi tài nguyên tính toán lớn hơn và một tập dữ liệu đủ lớn để huấn luyện. Đây có thể là một hướng phát triển tiềm năng để cải thiện mô hình trong tương lai.

IV. Bí quyết ứng dụng thuật toán SVM trong phân lớp văn bản

Thuật toán SVM (Máy vec-tơ hỗ trợ) là trọng tâm của phương pháp phân loại được đề xuất trong luận văn. Đây là một giải thuật học có giám sát nổi tiếng với hiệu quả cao, đặc biệt trong các bài toán có không gian đặc trưng lớn như phân lớp văn bản. Nguyên lý cơ bản của SVM là tìm kiếm một siêu phẳng quyết định (decision boundary) tối ưu, có khả năng phân tách dữ liệu của các lớp khác nhau một cách rõ ràng nhất. Sự tối ưu này được đo bằng việc tối đa hóa khoảng cách biên (margin) - tức là khoảng cách từ siêu phẳng đến các điểm dữ liệu gần nhất của mỗi lớp. Các điểm dữ liệu nằm trên đường biên này được gọi là các vector hỗ trợ (support vectors), và chúng là những điểm duy nhất quyết định vị trí của siêu phẳng. Một ưu điểm lớn của SVM là kỹ thuật "hàm nhân" (kernel trick), cho phép thuật toán hoạt động hiệu quả trong không gian có số chiều rất cao mà không cần tính toán trực tiếp tọa độ trong không gian đó. Điều này giúp SVM có thể tìm ra các ranh giới phân loại phi tuyến tính phức tạp bằng cách ánh xạ dữ liệu lên một không gian chiều cao hơn, nơi chúng có thể được phân tách tuyến tính. Trong khuôn khổ của báo cáo khoa học này, việc triển khai SVM được thực hiện thông qua thư viện scikit-learn SVM, một công cụ mạnh mẽ và phổ biến trong cộng đồng Machine Learning.

4.1. Lý thuyết cốt lõi của Máy vec tơ hỗ trợ SVM

Về mặt lý thuyết, SVM giải quyết một bài toán tối ưu hóa. Cho một tập dữ liệu huấn luyện, mục tiêu là tìm vector trọng số w và hệ số chặn b của siêu phẳng w.x + b = 0 sao cho y_i * (w.x_i + b) >= 1 với mọi điểm dữ liệu (x_i, y_i), đồng thời tối thiểu hóa ||w||. Việc tối thiểu hóa ||w|| tương đương với việc tối đa hóa khoảng cách biên 2/||w||. Các điểm dữ liệu mà tại đó bất đẳng thức trở thành đẳng thức chính là các vector hỗ trợ. Cách tiếp cận này giúp mô hình không chỉ phân loại đúng trên tập huấn luyện mà còn có khả năng tổng quát hóa tốt trên dữ liệu mới, tránh hiện tượng quá khớp (overfitting).

4.2. Ứng dụng hàm nhân Kernel cho dữ liệu phi tuyến

Trong thực tế, dữ liệu văn bản hiếm khi có thể phân tách một cách hoàn hảo bằng một đường thẳng (hoặc siêu phẳng). Đây là lúc các hàm nhân phát huy tác dụng. Hàm nhân là một cách tính tích vô hướng của hai vector trong một không gian đặc trưng chiều cao hơn mà không cần thực hiện phép biến đổi một cách tường minh. Luận văn đã thử nghiệm với nhiều hàm nhân khác nhau do scikit-learn SVM cung cấp: Linear (tuyến tính), Polynomial (đa thức), RBF (Gaussian), và Sigmoid. Kết quả thực nghiệm cho thấy hàm nhân Linear mang lại độ chính xác (accuracy) cao nhất cho tập dữ liệu báo chí này, cho thấy mối quan hệ giữa các đặc trưng và các lớp chủ đề có xu hướng tuyến tính.

4.3. Các chiến lược phân loại đa lớp với thuật toán SVM

Về cơ bản, thuật toán SVM được thiết kế cho bài toán phân loại nhị phân (hai lớp). Tuy nhiên, bài toán phân loại tin tức tiếng Việt là một bài toán đa lớp (9 chủ đề). Để giải quyết vấn đề này, các chiến lược kết hợp nhiều bộ phân loại SVM nhị phân được sử dụng. Hai chiến lược phổ biến nhất là "một-đấu-một" (One-vs-One) và "một-đấu-tất cả" (One-vs-All). Chiến lược "một-đấu-tất cả" sẽ xây dựng k bộ phân loại, mỗi bộ dùng để phân biệt một lớp với tất cả các lớp còn lại. Trong khi đó, chiến lược "một-đấu-một" xây dựng k(k-1)/2 bộ phân loại cho mỗi cặp lớp. Thư viện scikit-learn tự động xử lý việc này, giúp người dùng dễ dàng áp dụng SVM cho các bài toán đa lớp một cách hiệu quả.

V. Top kết quả thực nghiệm từ luận văn tốt nghiệp về SVM

Phần quan trọng nhất của một luận văn tốt nghiệp hay báo cáo khoa học là trình bày và phân tích kết quả thực nghiệm một cách minh bạch. Luận văn đã tiến hành một loạt các thử nghiệm để đánh giá hiệu quả của mô hình phân loại văn bản tin tức bằng SVM. Thử nghiệm được xây dựng trên ngôn ngữ Python, sử dụng các thư viện mạnh mẽ như Scrapy để thu thập dữ liệu và Scikit-learn để triển khai các thuật toán học máy. Tập dữ liệu gồm hơn 10.000 bài báo được chia thành hai phần: tập huấn luyện (training set) và tập kiểm tra (test set) theo tỷ lệ 90%-10%. Mô hình được huấn luyện trên tập training và sau đó hiệu năng của nó được đánh giá trên tập test, là những dữ liệu mà mô hình chưa từng thấy. Để tìm ra cấu hình tối ưu, nghiên cứu đã thử nghiệm với bốn loại hàm nhân (kernel) khác nhau của SVM và thay đổi số chiều tối đa của vector đặc trưng (từ 500 đến 4000). Quá trình đánh giá mô hình được thực hiện một cách toàn diện thông qua các chỉ số phổ biến trong machine learning như độ chính xác (accuracy), precision và recall, và F1-score. Kết quả cuối cùng cho thấy mô hình đạt hiệu suất rất tốt, khẳng định tính đúng đắn của phương pháp đã chọn.

5.1. Mô tả tập dữ liệu báo chí và thiết lập thực nghiệm

Tập dữ liệu báo chí được thu thập và phân loại thủ công thành 9 chủ đề: Thế giới, Đời sống, Sức khỏe, Khoa học-Công nghệ, Thể thao, Du lịch, Giáo dục, Kinh doanh, và Pháp luật. Tổng số lượng bài viết là hơn 55.000, được phân chia thành tập huấn luyện (khoảng 46.500 bài) và tập kiểm tra (khoảng 4.900 bài). Thử nghiệm được thực hiện bằng cách huấn luyện mô hình scikit-learn SVM với các tham số khác nhau. Cụ thể, số chiều tối đa của vector đặc trưng TF-IDF được thay đổi qua các giá trị 500, 1000, 2000, 3000, và 4000. Đồng thời, bốn hàm nhân (Linear, Polynomial, Sigmoid, Gaussian) cũng được kiểm tra để tìm ra sự kết hợp cho kết quả tốt nhất.

5.2. Đánh giá mô hình qua độ chính xác precision và recall

Kết quả đánh giá mô hình cho thấy hàm nhân Linear kết hợp với số chiều vector từ 3000-4000 cho hiệu suất cao nhất, đạt độ chính xác (accuracy) tổng thể khoảng 87%. Để có cái nhìn chi tiết hơn, các chỉ số precision và recall cũng được tính toán cho từng lớp chủ đề. Precision đo lường tỷ lệ các dự đoán đúng trong số những dự đoán thuộc về một lớp, trong khi Recall đo lường tỷ lệ các mẫu thực sự thuộc về một lớp được mô hình nhận diện đúng. F1-score, là trung bình điều hòa của precision và recall, cũng được sử dụng để cung cấp một thước đo cân bằng về hiệu suất. Phân tích chi tiết qua ma trận nhầm lẫn (confusion matrix) cho thấy chủ đề "Pháp luật" có độ chính xác cao nhất, trong khi chủ đề "Du lịch" có độ chính xác thấp nhất, có thể do sự giao thoa về từ vựng với các chủ đề khác.

5.3. So sánh hiệu quả của SVM và thuật toán Naive Bayes

Để khẳng định ưu thế của thuật toán SVM, luận văn đã tiến hành một thử nghiệm so sánh với Naive Bayes, một thuật toán phân loại xác suất cũng rất phổ biến cho bài toán text classification. Trên cùng một tập dữ liệu và cùng các kịch bản về số chiều vector, kết quả cho thấy SVM với hàm nhân Linear luôn cho độ chính xác cao hơn và ổn định hơn so với Naive Bayes. Cụ thể, ở số chiều 4000, SVM đạt 87% trong khi Naive Bayes chỉ đạt 84%. Điều này củng cố cho nhận định rằng SVM là lựa chọn phù hợp hơn cho các bài toán phân loại văn bản có không gian đặc trưng lớn và phức tạp.

VI. Kết luận từ luận văn và hướng phát triển cho tương lai

Luận văn “Phân loại văn bản tin tức dùng máy vec-tơ hỗ trợ” đã thành công trong việc xây dựng một mô hình hiệu quả cho bài toán phân loại tin tức tiếng Việt. Nghiên cứu đã chứng minh rằng việc áp dụng thuật toán SVM kết hợp với quy trình tiền xử lý dữ liệu văn bản bài bản và phương pháp trích xuất đặc trưng TF-IDF là một hướng tiếp cận mạnh mẽ và khả thi. Với độ chính xác (accuracy) đạt được khoảng 87%, mô hình này hoàn toàn có thể được ứng dụng trong thực tế để hỗ trợ các công tác quản lý và biên tập thông tin. Kết quả này không chỉ có giá trị như một báo cáo khoa học mà còn là một tài liệu tham khảo quan trọng cho những ai đang thực hiện luận văn tốt nghiệp hoặc đồ án chuyên ngành liên quan đến xử lý ngôn ngữ tự nhiênhọc máy. Luận văn đã chỉ ra rằng, mặc dù SVM là một thuật toán có từ lâu, nó vẫn giữ nguyên giá trị và hiệu quả đối với các bài toán text classification hiện đại. Tuy nhiên, lĩnh vực này vẫn còn nhiều không gian để cải tiến. Sự bùng nổ của dữ liệu lớn và các mô hình học sâu (Deep Learning) mở ra những hướng đi mới, hứa hẹn sẽ nâng cao hơn nữa hiệu suất và khả năng của các hệ thống phân loại văn bản tự động trong tương lai.

6.1. Tóm tắt những kết quả chính của báo cáo khoa học

Kết quả chính của luận văn khẳng định máy vec-tơ hỗ trợ (SVM), đặc biệt là với hàm nhân tuyến tính (Linear kernel), là một giải thuật rất hiệu quả cho việc phân lớp văn bản tin tức tiếng Việt. Mô hình đạt độ chính xác 87% trên một tập dữ liệu báo chí lớn và đa dạng. Nghiên cứu cũng cho thấy SVM vượt trội hơn so với thuật toán Naive Bayes trong cùng điều kiện thử nghiệm. Một đóng góp quan trọng khác là việc xây dựng và trình bày một quy trình hoàn chỉnh từ thu thập, tiền xử lý dữ liệu đến huấn luyện và đánh giá mô hình, cung cấp một bộ khung tham khảo hữu ích cho các nghiên cứu sau này.

6.2. Ứng dụng thực tiễn của mô hình phân loại tin tức

Mô hình được phát triển trong luận văn có nhiều ứng dụng thực tiễn giá trị. Đối với các trang báo điện tử, nó có thể tự động gán chuyên mục cho các bài viết mới, giảm tải công việc cho biên tập viên và đảm bảo tính nhất quán. Trong các hệ thống quản lý tri thức của doanh nghiệp, nó giúp phân loại tài liệu, báo cáo, email để dễ dàng tìm kiếm và truy xuất. Ngoài ra, kỹ thuật này còn là nền tảng cho các ứng dụng phức tạp hơn như phân tích xu hướng dư luận, hệ thống gợi ý tin tức cá nhân hóa, và phát hiện tin giả. Tính hiệu quả của mô hình mở ra tiềm năng thương mại hóa và triển khai rộng rãi.

6.3. Các hướng nghiên cứu tiềm năng trong tương lai

Để nâng cao hiệu suất của mô hình, nhiều hướng nghiên cứu có thể được xem xét. Thứ nhất, có thể thử nghiệm với các phương pháp trích xuất đặc trưng tiên tiến hơn như Word2Vec hoặc các mô hình transformer như BERT để nắm bắt ngữ nghĩa sâu hơn của văn bản. Thứ hai, với quy mô dữ liệu ngày càng lớn, việc nghiên cứu các thuật toán học máy có khả năng mở rộng tốt hơn hoặc kết hợp SVM với các kỹ thuật học sâu là một hướng đi hứa hẹn. Cuối cùng, việc xây dựng các bộ dữ liệu huấn luyện tiêu chuẩn, được gán nhãn cẩn thận và có quy mô lớn hơn cho tiếng Việt sẽ là một đóng góp quan trọng, thúc đẩy sự phát triển của lĩnh vực xử lý ngôn ngữ tự nhiên tại Việt Nam.

03/10/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Nêu bối cảnh nghiên cứu, lý do chọn đề tài và mục tiêu nghiên cứu. ● CHƢƠNG 1: BÀI TOÁN PHÂN LOẠI VĂN BẢN + Phân loại văn bản. + Mô hình phân loại văn bản dùng tiếp cận học máy + Thu thập dữ liệu + Tiền xử lý văn bản + Biểu diễn văn bản dƣới dạng vec-tơ đặc trƣng ● CHƢƠNG 2: THUẬT TOÁN MÁY VEC-TƠ HỖ TRỢ TRONG PHÂN LOẠI VĂN BẢN + Thuật toán máy vec-tơ hỗ trợ + Ứng dụng trong phân loại văn bản ● CHƢƠNG 3: KẾT QUẢ VÀ ĐÁNH GIÁ + Dữ liệu thử nghiệm + Triển khai chƣơng trình + Kết quả thử nghiệm với SVM + So sánh với thuật toán Naïve Bayes + Đánh giá ● KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ● TÀI LIỆU THAM KHẢO 4 CHƢƠNG 1: BÀI TOÁN PHÂN LOẠI VĂN BẢN 1. Phân loại văn bản 1.

Khái niệm Phân loại văn bản hay còn gọi là Text Categorization [1] [10] hoặc Text Classification [1]. là một bài toán xử lý văn bản cổ điển thuộc về lĩnh vực Xử lý ngôn ngữ tự nhiên (Natural Language Processing) [1] [11]., đó là ánh xạ một văn bản mới vào một chủ đề (tên lớp/nhãn lớp) đã biết trong một tập các chủ đề dựa trên mức độ tƣơng tự của văn bản đó so với các văn bản trong cùng chủ đề đấy. Phân loại 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. Phân loại 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 [1].

Phân loại văn bản tin tức theo chủ đề Mục tiêu của một hệ thống phân loại văn bản là nó có thể tự động phân loại một văn bản cho trƣớc, để xác định xem văn bản đó thuộc chủ đề nào. Một số ứng dụng của hệ thống phân loại nhƣ: o Hiểu đƣợc ý nghĩa, đánh giá, bình luận của ngƣời dụng từ mạng xã hội. o Phân loại email là spam hay không spam o Tự động gắn thẻ cho những truy vấn, tìm kiếm của ngƣời dùng o Phân loại chủ đề các bài báo điện tử 5 Ví dụ cụ thể về bài toán phân loại văn bản: Giả sử x là một bài báo do phóng viên viết gửi đăng trên trang báo điện tử VnExpress. Biên tập viên cần phải quyết định xem bài báo x đó thuộc chủ đề nào là thích hợp nhất trong các chủ đề: “chính trị- xã hội”, “quốc tế”, “thể thao”, “giải trí”.

Một trong những ví dụ nữa cơ bản nhất của phân loại văn bản đó là việc phân loại email, mỗi ngày ta nhận đƣợc hàng tram email, nhƣng số lƣợng email spam không nhỏ. Làm cách nào để viết một chƣơng trình lọc mail, quyết định xem một email gửi tới vào hộp thƣ đến hay spam? Hình 1.2 Gmail tự động xác định xem email spam hay không 1. Bài toán phân loại văn bản Ta có thể mô hình hóa toán học việc phân loại văn bản nhƣ sau: Cho x là một văn bản, biết x thuộc một trong các loại y {1, 2, 3,.Hãy tìm loại văn bản đúng nhất của x Gọi y h ( x) là hàm phân loại của x trong đó là tham số của hàm.) có khả năng phân loại tốt nhất. Để tìm h ta sử dụng phƣơng pháp học có hƣớng dẫn từ dữ liệu mẫu : Dữ liệu học gồm N mẫu : ( x1 , y1 ) , ( x2 , y2 ) ,….

( xN , yN ) Hàm h đƣợc xây dựng sao cho khớp nhất với dữ liệu huấn luyện này. Các bài toán phân loại văn bản nói chung có thể phân biệt theo hai cách nhƣ sau: 6 Phân loại văn bản nhị phân/ đa lớp: Bài toán phân loại văn bản gọi là nhị phân khi số lớp là 2, gọi là đa lớp nếu số lớp lớn hơn 2 Phân loại văn bản đơn nhãn/ đa nhãn: Bài toán phân loại văn bản đơn nhãn khi mỗi văn bản đƣợc gán vào chính xác một lớp. Ngƣợc lại nếu một văn bản có thể đƣợc gán nhiều nhãn hơn một nhãn thì đó là bài toán phân loại văn bản đa nhãn. Phân loại văn bản là một lĩnh vực đƣợc chú ý nhất và đã đƣợc nghiên cứu trong những năm gần đây.

Tuy nhiên các công trình nghiên cứu này phần lớn đều dành cho xử lý ngôn ngữ nƣớc ngoài, mà tiếng Anh là chủ yếu. Để áp dụng cho các văn bản tin tức tiếng Việt thì không có độ chính xác nhƣ mong muốn. Mô hình phân loại văn bản dùng tiếp cận học máy 1. Khái niệm học máy Học máy (Machine Learning) [15] [16]: Là một lĩnh vực của trí tuệ nhân tạo, liên quan đến các kỹ thuật giúp cho máy tính có thể tự học mà không cần phải cài đặt các luật quyết định [2].

Cụ thể, học máy là một phƣơng pháp để tạo ra các chƣơng trình máy tính bằng việc phân tích các tập dữ liệu. Về nguyên lý, học máy dựa trên các thuật toán, tức là tập hợp hữu hạn của các chỉ thị hay phƣơng thức đƣợc định nghĩa rõ ràng và cần thiết, để chúng tự thu thập kiến thức. Và sau mỗi lần hệ thống khởi động dữ liệu mới, các kết quả do nó đƣa ra sẽ trở nên ngày càng chính xác hơn. Theo đó, học máy chủ yếu dựa trên 4 thao tác: Phân loại/liệt kê thông tin; dự đoán những sự kiện nhất định trên cơ sở các mô hình đã đƣợc nhận dạng; phát hiện/nhận dạng các mô hình chƣa đƣợc biết đến và sự phụ thuộc giữa chúng; phát hiện sự bất thƣờng và các sự kiện chƣa đƣợc dự đoán.

Phân loại học máy Các giải thuật học máy đƣợc phân ra làm 2 loại chính là: Học có giám sát (Supervised Learning) [12]: Là phƣơng pháp sử dụng những dữ liệu đã đƣợc gán nhãn từ trƣớc để suy luận ra quan hệ giữa đầu vào và đầu ra [3]. Các dữ liệu này đƣợc gọi là dữ liệu huấn luyện và chúng là cặp các đầu vào- đầu ra. Học có giám sát sẽ xem xét các tập huấn luyện này để từ đó có thể đƣa ra dự đoán đầu ra cho một đầu vào mới chƣa gặp giờ. Ví dụ nhƣ dự đoán giá nhà, phân loại email.

Học phi giám sát (Unsupervised Learning) [3] [12]: Khác với học có giám sát, học phi giám sát sử dụng những dữ liệu chƣa đƣợc gán nhãn từ trƣớc để suy luận. Phƣơng pháp này thƣờng đƣợc sử dụng để tìm cấu trúc của tập dữ liệu. Tuy nhiên lại không co phƣơng pháp đánh giá đƣợc cấu trúc tìm ra đƣợc là 7 đúng hay sai. Ví dụ nhƣ phân cụm dữ liệu, triết xuất thành phần chính của một chất nào đó.

Học tăng cƣờng (Reinforcement Learning) [12]. Thuật toán học tăng cƣờng sẽ đƣợc áp dụng khi tƣơng tác với một môi trƣờng thay đổi nhằm thực hiện một nhiệm vụ nào đó (ví dụ như lái xe hay chơi cờ) [3]. Các thuật toán học tăng cƣờng cố gắng tìm một chiến lƣợc ánh xạ không gian trạng thái của môi trƣờng tới các hành động mà chƣơng trình nên chọn trong các trạng thái đó để cực đại hóa một khoản thƣởng (reward) nào đó về lâu dài. Dữ liệu huấn luyện trong học máy Bất cứ một bài toán học máy nào cũng đều cần có dữ liệu để huấn luyện, ta có thể coi nó là điều kiện tiên quyết.

Dữ liệu sau khi có đƣợc cần phải: Chuẩn hóa: Tất cả các dữ liệu đầu vào đều cần đƣợc chuẩn hóa để máy tính có thể xử lý đƣợc. Quá trình chuẩn hóa bao gồm số hóa dữ liệu, co giãn thông số cho phù hợp với bài toán. Việc chuẩn hóa này ảnh hƣởng trực tiếp tới tốc độ huấn luyện cũng nhƣ cả hiệu quả huấn luyện. Phân chia: Việc mô hình đƣợc chọn khớp với tập dữ liệu đang có không có nghĩa giả thuyết của ta là đúng mà co thể xảy ra tình huống dữ liệu thật lại không khớp.

Vì vậy khi huấn luyện học máy, ta sẽ chia dữ liệu ra thành 3 loại để có thể kiểm chứng đƣợc phần nào mức độ tổng quát của mô hình. Cụ thể 2 loại đó là: o Tập huấn luyện (Training set): chiếm khoảng từ 60%-90% tập dữ liệu dùng để học khi huấn luyện o Tập kiểm tra (Test set): chiếm khoảng từ 40%-10% dùng để kiểm tra xem mô hình đã phù hợp chƣa sau khi huấn luyện 1. Mô hình phân loại văn bản Để phân lớp văn bản tự động thƣờng sử dụng các kỹ thuật học máy có giám sát, dựa trên tập dữ liệu đầu vào đã đƣợc gán đúng nhãn [4]. Đầu tiên hệ thống đƣợc huấn luyện thông qua tập mẫu, sau đó đánh giá hiệu quả của hệ thống thông qua các dữ liệu kiểm thử.

Quá trình đó là huấn luyện và dự đoán dữ liệu và đƣợc mô phỏng nhƣ hình sau: 8 Hình 1.3: Mô hình phân loại văn bản o Quá trình huấn luyện(Training): Văn bản đầu vào có gán nhãn (chủ đề) đƣợc chuyển thành dạng cấu trúc nào đó thông qua trích chọn đặc trƣng. Sau đó chúng ta thực hiện các thuật toán học máy với tập các đặc trƣng đã đƣợc trích chọn. Kết quả của quá trình training là chúng ta đƣợc mô hình phân loại (classifier model) o Quá trình dự đoán (Prediction): Văn bản chƣa rõ nhãn đƣợc trích chọn đặc trƣng thông qua mô hình phân loại sẽ đƣợc dự đoán đúng nhãn. Các thuật toán học máy dùng trong phân loại văn bản đƣợc áp dụng có thể là: Cây quyết định, K làng giếng gần nhất, máy vec-tơ hỗ trợ, cây quyết định.

Thu thập d iệu Để có đƣợc nguồn dữ liệu văn bản đầu vào đã đƣợc gán nhãn cho bài toán phận loại văn bản tin tức, ta phải tiến hành thu thập dữ liệu thông qua các trang báo điện tử nhƣ vnexpress.vn…Những tin tức tại đây đã đƣợc xử lý và phân loại theo các chủ đề sẵn có. Với việc cần số lƣợng lớn các bài báo chúng ta không thể lấy nó thủ công đƣợc mà phải sử dụng các web crawler. Trình thu thập web (web crawler) là một chƣơng trình khai thác cấu trúc đồ thị của web di chuyển từ trang này qua trang khác, các tên gọi khác của trình thu thập web là bọ, rô-bốt, nhện web…Chức năng của web crawler là lấy thông tin từ website, trích xuất ra những thông tin ngƣời sử dụng cần, đồng thời cũng tìm những link có trong trang web đó và tự động truy cập vào những link đó. 9 Mô hình crawler web đơn giản gồm các bƣớc nhƣ sau: 1.

Chọn URL khởi đầu 2. Sử dụng HTML protocol để lấy trang web 3. Trích xuất ra các link và lƣu lại trong queue 4. Lặp đi lặp lai các bƣớc 2,3 Hình 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ