Bài tốn phân loại văn bản

Một phần của tài liệu Đề tài NGHIÊN cứu xây DỰNG bộ LỌCSPAM THÔNG MINH, tự ĐỘNG (Trang 29)

4. Phạm vi ứng dụng

2.2.Bài tốn phân loại văn bản

2.2.1. Định nghĩa

Phân loại văn bản là sự phân loại khơng cấu trúc các tài liệu văn bản dựa trên một tập hợp của một hay nhiều loại văn bản đã được định nghĩa trước. Quá trình này thường được thực thi bằng một hệ thống tự động gán cho các tài liệu văn bản một loại nào đĩ.

Ứng dụng thực tiễn quan trọng nhất của phân loại văn bản là giới hạn phạm vi tìm kiếm thơng tin. Phân loại văn bản gĩp phần quan trọng trong việc tổ chức thơng tin và quản lí tài liệu.

Các bước chính trong tiến trình phân loại văn bản. + Lựa chọn các đặc trưng văn bản.

+ Biểu diễn văn bản.

+ Học một bộ phân loại văn bản . + Tiến hành phân loại văn bản.

Trong đĩ, lựa chọn đặc trưng văn bản là quá trình phân tích văn bản thành các từ hay cụm từ. Biểu diễn văn bản là cách thể hiện văn bản dưới dạng một vector mà khơng gian của nĩ là tập các đặc trưng đã lựa chọn. Căn cứ vào các đặc trưng đã chọn cĩ thể học một bộ phân loại văn bản như Naive Bayes hay kNN… Đầu ra của quá trình này sẽ là một máy dùng để phân loại các tài liệu cần thiết.

2.2.2. Tiến trình phân loại văn bản

Đưa ra một tập tài liệu mẫu D, cần được phân bổ thành một số loại tài liệu nhất định - mỗi tài liệu đĩ cần được gán cho một loại văn bản nào đĩ. Yêu cầu là tìm một hệ thống phân hoạch, mà nĩ sẽ cung cấp một nhãn y phù hợp cho một số tài liệu trong D vừa được đưa vào từ nguồn tài nguyên giống nhau như các văn bản mẫu. Tổng quát hơn với một hệ thống phân loại điển hình như mơ tả ở sơ đồ sau gồm cĩ các tiến trình.

Hình 2.1 - Tiến trình phân loại văn bản

Ở khâu tiền xử lí là khâu lựa chọn đặc trưng cho các văn bản (các dấu hiệu quan trọng để nhận biết văn bản). Đây là khâu tiền đề cần thiết cho việc học một bộ

phân loại. Vì thế hiệu quả của các bộ phân loại văn bản phụ thuộc rất cao vào tập các đặc trưng được sử dụng.

Trong các mơ hình phân loại điển hình và phức tạp thường cĩ một số các phương pháp cĩ sẵn để lựa chọn đặc trưng. Với những phương pháp này, tập hợp các dữ liệu thơ được miêu tả bằng một số các tập hợp đặc trưng. Vấn đề được đặt ra là làm thế nào để sử dụng những đặc trưng ấy cho phân hoạch tài liệu.

Hiện nay cĩ hai phương pháp để giải quyết vấn đề trên.

Phương pháp thứ nhất: sử dụng các phương pháp lựa chọn đặc trưng để chọn ra một đặc trưng tối ưu. Nếu chọn ra được một đặc trưng tối ưu từ bộ dữ liệu thơ ở đầu vào, cĩ thể chỉ đơn thuần sử dụng nĩ để học một bộ phân loại. Tuy nhiên, quá trình tối ưu đĩ khơng phải đơn giản. Trong trường hợp này khi sử dụng các đặc trưng khác nhau vẫn cĩ thể sẽ dẫn đến các kết quả tương tự nhau hoặc là hiệu quả khác nhau .

Phương pháp thứ hai: sử dụng một tập hợp các đặc trưng phức hợp để đạt kết quả phân loại cao hơn, đây là một trong những cải tiến quan trọng. Điều đĩ nghĩa khơng chỉ sử dụng một đặc trưng để phân loại các tập tài liệu mà phải căn cứ vào tất cả các tập đặc trưng khác nhau cĩ trong tập tài liệu. Sau đĩ phối hợp các đặc trưng đĩ để đưa ra một “vector phức hợp” của các khơng gian đặc trưng cho các tập đặc trưng vừa chọn được, rồi mới tiến hành phân loại văn bản.

Vấn đề cơ bản nhất của những phương pháp này là phác thảo các đặc trưng. Do đĩ, việc học một phương pháp phân loại bao gồm hai cơng đoạn. Phân hoạch đầu tiên sẽ được huấn luyện trên tập tài liệu mẫu và sau đĩ tổ hợp các sắp xếp này được huấn luyện trên một tập các phê chuẩn ngược lại.

Hình 2.2- Tiến trình phân loại văn bản nâng cao

2.3. Những nguyên tắc bộ lọc thống kê 2.3.1. Xây dựng tập huấn luyện 2.3.1. Xây dựng tập huấn luyện

Tập dữ liệu là bộ nhớ của bộ lọc spam, nĩ chứa dữ liệu của những email trước đĩ, các từ, nhĩm từ và sự kết hợp của chúng để xem xét cho những email, để đưa ra quyết định một email cĩ là spam hay khơng thì tập dữ liệu này phải cĩ trước.

Những đặc trưng dùng trong bộ lọc thống kê được tạo ra dựa trên nội dung của email, vì thế dù cho spam cĩ thay đổi theo thời gian, nĩ vẫn luơn cĩ duy nhất nội dung ,cĩ thể dùng nĩ để xác định, những từ mới xuất hiện trong spam, chúng tự động được thêm vào bộ nhớ của bộ lọc. Việc này bắt đầu với tập hợp nhỏ gồm spam và những email hợp lệ đã được sắp xếp trước và phân lớp. Bộ lọc sẽ xử lý mỗi email và xây dựng bảng chứa sự xuất hiện của mỗi token. Khi kết thúc, sẽ cĩ được một tập hợp lớn những token và bộ đếm tương ứng của chúng đại diện cho sự xuất hiện của chúng trong gĩi. Cĩ hai cách xây dựng được tập dữ liệu như sau:

+ Lấy dữ liệu từ các thư cũ: Cung cấp tập hợp các email trước đây cho việc xây dựng tập dữ liệu ”lịch sử” bằng việc phân tích chúng.

+ Xây dựng tập dữ liệu từ đầu: Trong những bộ lọc spam hiện nay, việc xây dựng tập dữ liệu từ đầu, từ những email vừa nhận được, chức năng sẽ hoạt động tốt hơn, bắt đầu từ đầu cĩ nghĩa là bộ lọc sẽ khơng biết gì hết cho đến khi nĩ được huấn luyện, khi được huấn luyện các token được đưa vào tập dữ liệu mới hay bộ đếm của nĩ sẽ được tăng lên( nếu trước đĩ đã đưa vào rồi).

Tùy thuộc vào chế độ huấn luyện, bộ lọc sẽ đưa thêm thơng tin vào tập dữ liệu những lần khác nhau, chế độ huấn luyện cĩ thể cho phép token nào sẽ tăng vì đã giữ

được tổng số email, tổng số email sẽ được cập nhật khi nào cĩ email được huấn

luyện, vì thế sẽ dễ dàng biết được kích thước của tập dữ liệu vào bất kỳ thời điểm nào. Xây dựng tập dữ liệu từ đầu thường mất nhiều thời gian và email mới.

2.3.2. Sửa lỗi, huấn luyện lại

Khi tập dữ liệu đã được xây dựng xong, những lỗi huấn luyện cũng xảy ra trong quá trình bộ lọc. Khi điều này xảy ra điều quan trọng là làm sao để đổi lại những thơng tin mà nĩ đã được lưu, nếu thơng tin đã được học phải làm sao để bỏ đi bằng cách giảm đi bộ đếm của những token cĩ liên quan mà nĩ đã được phân lớp và đưa vào, và sau đĩ nĩ được học với từ mới đúng, bộ đếm tương ứng cho nĩ cũng tăng lên, đây gọi là huấn luyện lại.

Trong quá trình học lại, phần quan trọng là phải học tất cả những token đã được dùng trong phân lớp gốc bao gồm cả phần đầu (header) của thơng điệp và tồn bộ nội dung của nĩ.

2.4. Các bộ lọc thống kê

2.4.1. Bộ phân tích các token và tính giá trị (adsbygoogle = window.adsbygoogle || []).push({});

Khi một thơng điệp được xử lý, bộ phân tích biểu hiện (tokenizer) sẽ tách thơng điệp ra nhiều thành phần nhỏ và gán cho mỗi biểu hiện (token) một giá trị, giá trị của token là một con số biểu hiện cho khả năng của token đĩ (tốt hay xấu) dựa trên sự xuất hiện của nĩ trong những email trước đĩ. Ví dụ một từ xuất hiện chính trong spam, nĩ sẽ được gám một giá trị để phản ánh khả năng spam của nĩ rất cao thuộc về spam (chẳng hạn như 99%).

Cĩ 2 kỹ thuật thơng dụng để tính giá trị cho các token.

+ Kỹ thuật của Graham [6]: Graham cho cơng thức rất đơn giản để xác định xác suất của một token cho trước được cho là spam. Hướng tiếp cận của Graham cho rằng nhiều người cĩ tập spam và tập email hợp lệ khơng bằng nhau và tính xác suất cĩ hệ số trong tổng số của thơng điệp trong tập email được chọn.

Trong cơng thức sau, SH và IH là tổng số lần xuất hiện trong spam và email

hợp lệ của token được tính tốn. TS và TI lần lượt là tổng số spam và email trong

tập email được chọn.

= (( )|( ))

( ) ( ) + ( )|( )) (1)

Kết quả của P như sau: là một con số nằm giữa 0.0 và 1.0, 0.5 là giá trị trung hịa, những token với xác xuất cao hơn 0.5 được xem như cĩ tính chất spam và thấp hơn được xem như khơng phải spam. Những token cĩ khả năng mạnh được tính ra cĩ giá trị gần 0.0 hay 1.0.

Kỹ thuật của Robinson [6]: Robinson cải tiến kỹ thuật của Graham bằng việc chia giá trị của xác suất trên một token dựa trên số lượng dữ liệu cũ của mỗi token. Ơng tin rằng những token với rất ít điểm dữ liệu (xảy ra trong lịch sử) sẽ cĩ ít khả năng hơn những token khác với nhiều điểm hơn và đề xuất một cách tính mới để tính xác suất của từng token.

N Tổng số lần một token xuất hiện trong những tập dữ liệu cả spam và những email hợp lệ

X Giá trị giả định của token khi N=0, giá trị tốt nhất là 0.5000 S Hằng số điều chỉnh cho hiệu suất, giá trị hợp lý mặc định là 1

Theo Robinson, trong các trường hợp mà ở đĩ cĩ rất ít thơng tin để xem xét, cĩ một ít dữ liệu, nhưng khơng thật sự đủ tin cậy.

Trước tiên, tính xác suất của một từ dùng kỹ thuật Graham, gọi là P(w) cho từ đĩ và tính như sau:

( ) = + ( ( ))

+ (2)

Cách tiếp cận của Robinson cho kết quả tương tự như Graham, chỉ trừ nĩ được kiểm tra kích thước dựa trên thơng tin hiện hữu cho một token cụ thể, bằng việc xem xét các trường hợp rất ít dữ liệu được thu thập cho token nào đĩ, kỹ thuật của

Robinson đã cải thiện chút ít độ chính xác cho nhiều kiểu khĩ phân loại, nĩ thật sự hữu ích trong việc cải tiến việc xác định email hợp lệ và làm giảm sai sĩt.

2.4.2. Phân lớp k Nearest Neighbors (k-NN)

Ý tưởng: kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua . kNN được đánh giá là một trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản.

Ý tưởng của phương pháp này đĩ là khi cần phân loại một văn bản mới , thuật tốn sẽ xác định khoảng cách (cĩ thể áp dụng các cơng thức về khoảng cách như Euclide , Cosine , Manhattan , …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất ,gọi là k nearest neighbor – k láng giềng gần nhất , sau đĩ dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đĩ , trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng cĩ cùng chủ đề , chủ đề nào khơng xuất hiện trong k láng giềng sẽ cĩ trọng số bằng 0 . Sau đĩ các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề cĩ trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại.

Cơng thức:

Trọng số của chủ đề cj đối với văn bản x được tính như sau : [8]

Trong đĩ:

y(di,cj) thuộc {0,1} với.

y=0: vector văn bản di khơng thuộc chủ đề cj.

y=1: vector văn bản di thuộc chủ đề cj.

sim(x,d): độ giống nhau giữa văn bản cần phân loại x và văn bản di. Cĩ thể sử dụng độ đo consine đề tính sim(x,di).

Để chọn được tham số k tốt nhất cho thao tác phân loại , thuật tốn cần được chạy thử nghiệm trên nhiều giá trị k khác nhau , giá trị k càng lớn thì thuật tốn

càng ổn định và sai sĩt càng thấp. (adsbygoogle = window.adsbygoogle || []).push({});

2.4.3. Phân lớp theo kỹ thuật Support Vector Machine (SVM)

Ý tưởng: đây là một phương pháp học tương đối mới được Vapnik [8] giới thiệu năm 1995 để giải quyết các bài tốn nhận diện mẫu hai lớp. Phương pháp này dựa trên ý tưởng tối thiểu hĩa rủi ro cấu trúc, trong đĩ nhắm đến việc tìm một giả thuyết được đảm bảo rằng sẽ trả về giá trị sai số thật thấp nhất.

Một tính chất đặc biệt của Support Vector Machine là khả năng học của nĩ cĩ thể là độc lập với kích thước của khơng gian đặc tính. Support Vector Machine đo lường độ phức tạp của giả thuyết dựa trên số dư, sử dụng số dư này nĩ thực hiện phân tách dữ liệu thay vì dựa trên số lượng của các đặc tính.

Nĩi cách khác, SVM là một phương pháp tiếp cận gần đúng thường áp dụng để phân loại hai lớp văn bản. Phương pháp này được xác định dựa trên một khơng gian vector mà trong khơng gian này vấn đề phải tìm ra một “mặt quyết định” giữa hai lớp sao cho khoảng cách giữa các điểm dữ liệu giữa hai lớp này là lớn nhất.

Nếu văn bản cần phân loại nằm về phía nào của mặt quyết định thì nĩ được phân vào loại văn bản đĩ. Phương pháp SVM thường áp dụng để phân loại hai lớp văn bản nhưng vẫn cĩ thể áp dụng để phân loại nhiều lớp văn bản.

Cơng thức :SVM thực chất là một bài tốn tối ưu , mục tiêu của thuật tốn là

tìm được một khơng gian H và siêu mặt phẳng quyết định h trên H sao cho sai số

khi phân loại là thấp nhất , nghĩa là kết quả phân loại sẽ cho kết quả tốt nhất .

Phương trình siêu mặt phẳng chứa vector di trong khơng gian như sau :

Như thế vector h(di) biểu diễn sự phân lớp của vector di vào hai lớp . Gọi Yi

mang giá trị +1 hoặc -1 , khi đĩ Yi = +1 văn bản tương ứng với vector di thuộc lớp

+ và ngược lại nĩ sẽ thuộc vào lớp - . Khi này để cĩ siêu mặt phẳng h sẽ giải bài tốn .

Rõ ràng, SVM là mặt phẳng quyết định chỉ phụ thuộc vào các vector hỗ trợ cĩ khoảng cách đến mặt phẳng quyết định là 1/wi. Khi các điểm khác bị xĩa đi thì thuật tốn vẫn cho kết qủa giống như ban đầu . Chính đặc điểm này làm cho SVM khác với các thuật tốn khác như kNN , NB vì tất cả dữ liệu trong tập huấn luyện đều được dùng để tối ưu hĩa kết quả.

2.5. Các thuật giải áp dụng cho quá trình lọc thư spam 2.5.1. Giải thuật xác định kích thước 2.5.1. Giải thuật xác định kích thước

Giải thuật này cung cấp trọng số phụ cho các token trong tập dữ liệu dataset dựa trên độ tin cậy của token. Một token cĩ thể cĩ xác xuất 0.9500, nhưng điều đĩ khơng nĩi lên nhiều về những quyết định được ra trước đĩ cĩ liên quan đến token đĩ, ví dụ giá trị của token cĩ thể đến từ hàng trăm bộ phân lớp chính xác của

(4)

(5)

spam hoặc nĩ cĩ thể được điều chỉnh giá trị từ việc huấn luyện lại hàng giờ vì bị lỗi. Nếu một token cĩ liên quan đến nhiều bộ phân lớp lỗi trong quá khứ, khơng chỉ muốn token này được đánh trọng số khác với các token được tin cậy, mà cịn muốn khi token này xuất hiện trong thơng điệp đĩ nĩ cịn cho ta biết kết quả chúng ta tạo ra cĩ thể cĩ sai số cao.

Giải thuật xác định kích thước được thiết kế để làm giảm tập đặc trưng bằng việc xác định các đặc trưng cĩ ít hiệu quả nhất trong việc xác định spam một cách

chính xác. Điều này được thực hiện bằng việc bỏ đi những token trong ma trận

quyết định nếu nĩ khơng đáng tin cậy để đưa ra quyết định. Để biết được mức độ lệch trên kết quả, cần phải tính độ lệch phân lớp sai. Tính tốn này khác với cách xác định xác suất của token, nhưng chúng cùng dựa vào cùng một dữ liệu. Giải thuật xác định kích thước cũng cĩ thể được dùng để tăng tập đặc trưng cùng lúc với việc rút gọn chúng. Tìm nhiều token khơng tin cậy để bỏ đi từ ma trận quyết định,

Một phần của tài liệu Đề tài NGHIÊN cứu xây DỰNG bộ LỌCSPAM THÔNG MINH, tự ĐỘNG (Trang 29)