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

Ứng dụng phân loại văn bản vào lọc thư rác

19 696 1

Đ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

Định dạng
Số trang 19
Dung lượng 1,07 MB

Nội dung

Ứng dụng phân loại văn bản vào lọc thư rác

Trang 1

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

- -

BÀI TẬP LỚN

XỬ LÝ NGÔN NGỮ TỰ NHIÊN

Đề Tài:

Ứng dụng phân loại văn bản vào lọc thư rác

Giảng viên hướng dẫn : ThS Hoàng Anh Việt Sinh viên thực hiện:

Đoàn Văn Đạt

MSSV

20111370

Hà Nội – 4/2014

Trang 2

Xử lý ngôn ngữ tự nhiên Page 2

Mục lục

1 Đặt vấn đề: 3

2. Các cách tiếp cận để giải quyết vấn đề : 5

2.1 Mục đích chính gửi thư rác 5

2.2 Các đặc tính của thư rác 5

3. Tổng quan về bài toán phân loại văn bản 6

3.1 Định nghĩa phân loại văn bản 6

3.2 Tiến trình phân loại văn bản 6

3.3 Các bước trong tiến trình phân loại văn bản: 8

3.4 Các phương pháp phân loại văn bản 9

3.5 Bài toán phân loại thư rác 10

3.6 Thuật toán phân loại văn bản Naive Bayes 10

4 Phân tích thiết kế cách tiếp cận đề xuất : 12

4.1 Khái niệm “Token”: 12

4.2 Vector thuộc tính : 12

4.3 Cách thực hiện : 13

5 Kết luận : 18

Tài liệu tham khảo: 19

Trang 3

Xử lý ngôn ngữ tự nhiên Page 3

1 Đặt vấn đề:

Thời đại ngày nay là thời đại bùng nổ thông tin, Internet đã trở nên quen thuộc và không thể thiếu đối với mỗi quốc gia và xã hội Liên lạc qua Internet đã trở nên phổ biến, và email là một phương tiện liên lạc có chi phí thấp, nhanh chóng

và hiệu quả nhất trên Internet Hằng ngày mỗi người sử dụng email đều nhận được một lượng lớn email, tuy nhiên không phi tất cả các email mà ta nhận được đều chứa thông tin mà ta quan tâm Những email mà ta không muốn nhận ấy là email Spam Ngược lại, những email không phải là spam gọi là non-spam – email hợp lệ được người dùng chấp nhận

Nhiều người trong chúng ta nghĩ rằng spam là một vấn đề mới, nhưng thực

ra nó đã xuất hiện khá lâu – ít nhất là từ năm 1975 Vào lúc khởi thủy, người dùng hầu hết là các chuyên gia về máy tính, họ có thể gửi hàng tá thậm chí hàng trăm email đến các nhóm tin (newsgroup) và spam hầu như chỉ liên quan đến các email gửi đến các nhóm tin Usenet, gây ra tình trạng không thể kiểm soát được các email nhận Sau đó các biện pháp trừng trị về mặt xã hội và hành chính đã có tác dụng, thủ phạm đã bị trừng phạt , công khai hay bí mật, những người này nhanh chóng được đưa vào một danh sách, và một kỹ thuật lọc spam sớm nhất xuất hiện đó là

”bad sender” – lọc email của những người gởi được xem là xấu

WWW(World-Wide Web) đã mang thế giới Internet đến nhiều người, và hệ quả của nó là nhiều người không phải là chuyên gia trong thế giới máy tính cũng được tiếp xúc nhiều với Internet, nó cho phép truy cập đến những thông tin và dịch

vụ mà trước đây là không được phép Chỉ trong vòng 2-3 năm chúng ta đã chứng kiến sự bùng nổ số người sử dụng Internet và tất nhiên là những cơ hội quảng cáo trên đấy Và spam đã phát triển một cách nhanh chóng từ đây, những kỹ thuật ngăn chặn spam trước đây đã không còn thích hợp Spam thường theo sau những quảng cáo thương mại chèo kéo khách hàng ( những email quảng cáo thương mại được gửi mà không có yêu cầu ) Spam đã và đang gây tác hại đến người sử dụng Internet và tốc độ đường truyền Internet Với người sử dụng email, spam gây cho

họ cảm giác bực bội và phải mất thời gian và tiền bạc xóa chúng, đôi khi họ có thể

bị mất những email quan trọng chỉ vì xóa nhầm, tốc độ trên mạng xương sống của Internet (Internet Backbone) cũng bị spam làm cho chậm lại vì số lượng spam

Trang 4

Xử lý ngôn ngữ tự nhiên Page 4

được chuyển đi trên mạng là cực lớn Theo thống kê của ZDNet ở thời điểm năm

2004, mỗi ngày có khoảng 4 tỷ email spam được phát tán qua Internet, trên 40% lượng email trên mạng là spam, gần đây đã đạt con số 50% Cho dù được nhận diện là “kẻ thù của cộng đồng“(“public enemy”) Internet, nhưng spam đã và đang mang lại lợi nhuận Trong số 100.000 email spam phát tán, chỉ cần một email có phản hồi là đã có thể bù đắp chi phí đầu tư

Để ngăn chặn spam, nhiều nhà khoa học, các tổ chức, các cá nhân đã nghiên cứu và phát triển những kỹ thuật phân loại và lọc email, tuy nhiên các spammer – những người tạo nên spam và phát tán chúng cũng tìm mọi cách vượt qua các bộ lọc này Cuộc chiến giữa các spammer và những người chống spam vẫn còn đang tiếp diễn và dường như không có hồi kết Thực tế cho thấy, nhu cầu có một phương pháp và công cụ chống spam hữu hiệu là rất cần thiết

Xuất phát từ thực trạng đó, nhóm BTL chọn hướng nghiên cứu “Xây dựng một chương trình lọc thư rác bằng việc ứng dụng phương pháp phân loại văn bản Naive Bayes” “ với mục đích tìm hiểu, thử nghiệm các phương pháp tiếp cận

cho bài toán phân loại email, từ đó thực hiện phân loại email giúp ngăn chặn email spam hiệu quả

Yêu cầu hệ thống:

Yêu cầu đối với một hệ thống phân loại email và ngăn chặn email spam đương nhiên là phân loại được email là spam hay non-spam, từ đó sẽ có biện pháp ngăn chặn email spam, hiệu quả phân loại email phải khách quan, tuy nhiên không thể đánh đổi hiệu quả phân loại email spam cao mà bỏ qua lỗi sai cho rằng email non-spam là spam, bởi vì cùng với việc tăng khả năng phân loại email spam thì khả năng xảy ra lỗi nhận nhầm email non-spam thành email spam cũng tăng theo Do

đó yêu cầu đối với một hệ thống phân loại email spam là phải nhận ra được email spam càng nhiều càng tốt và giảm thiểu lỗi nhận sai email non-spam là email spam

Trang 5

Xử lý ngôn ngữ tự nhiên Page 5

2 Các cách tiếp cận để giải quyết vấn đề :

2.1 Mục đích chính gửi thư rác

Thư rác được gửi với các mục đích chính như sau:

- Quảng cáo sản phẩm, dịch vụ, … của tổ chức, công ty thương mại nào đó

- Lợi dụng sự cả tin của người dùng để lừa gạt họ, như các hình thức kiếm tiền trực tuyến, …

- Gửi kèm virus trong tập tin kèm theo của thư điện tử, từ đó đưa virus vào máy nạn nhân và hệ thống mạng mà nạn nhân sử dụng Sau đó lấy cắp các thông tin quan trọng của nạn nhân và hệ thống

- Nói xấu, xuyên tạc ai đó, tuyên truyền những điều sai trái về chính trị

2.2 Các đặc tính của thư rác

Thư rác chứa các đặc tính cơ bản sau:

- Thư rác mang tính tương đối vì thư mang tính cá nhân, có thể một thư điện tử này là vô bổ với người này nhưng với người khác lại có ích

Ví dụ một thư điện tử quảng cáo/ rao vặt cho một sản phẩm cụ thể có thể được một số người quan tâm nhưng những người còn lại xem đó

là rác

- Tính bất biến trong một thư rác thể hiện ở những từ cụm từ hầu như không thay đổi trong những lần spam (Ví dụ: Tên người, tên công ty, tên sản phẩm, mã sản phẩm, tên website của sản phẩm, địa chỉ lưu trữ/ mua bán sản phẩm, …)

- Nội dung của thư chứa các từ thường xuất hiện trong thư rác (kiếm tiền, giàu nhanh, chọn nhanh, )

Trang 6

Xử lý ngôn ngữ tự nhiên Page 6

3 Tổng quan về bài toán phân loại văn bản

3.1 Định nghĩa phân loại văn bản

Có nhiều cách định nghĩa khác nhau về phân loại văn bản nhưng nói một cách ngắn gọn dễ hiểu: 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 đó

Trong thực tế ứng dụng 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 (bởi thay cho việc phải lục soát tất cả các tài liệu họ chỉ tập trung vào một số loại văn bản có liên quan đến thông tin mà họ cần tìm kiếm) 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 Ứng dụng phổ biến nhất của phân loại văn bản là trợ giúp cho việc tìm kiếm

và lọc văn bản do đó tăng tốc độ truy cập thông tin Phân loại văn bản cũng đóng vai trò quan trọng trong việc đa dạng hóa và chuyên nghiệp hóa các công việc quản

lí thông tin như là: việc sắp xếp các loại thư điện tử hoặc các file trong các hệ thống, xác minh chủ đề để trợ giúp cho các tiến trình hoạt động xử lí, tìm kiếm hay duyệt các cấu trúc, hoặc để tìm kiếm các loại tài liệu mà người dùng quan tâm Như vậy làm thế nào để phân loại văn bản? Câu trả lời sẽ được làm rõ khi ta đi sâu vào tìm hiểu tiến trình phân loại văn bản

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

Vấn đề đặt ra cho các bài toán phân loại văn bản có thể bắt đầu như sau: Đư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 đó Nhiệm vụ của chúng ta là tìm một hệ thống phân hoạch, mà nó sẽ cung cấp cho ta 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

Trang 7

Xử lý ngôn ngữ tự nhiên Page 7

Trong thực tế khâu tiền xử lí cũng chính là khâu lựa chọn đặc trưng cho các văn bản (đặc trưng ở đây là các dấu hiệu quan trọng để nhận biết văn bản) Có thể coi khâu này là 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 mà chúng ta 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 Chúng đặt ra một vấn đề 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 cơ cấu tổ chức để giải quyết các vấ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, chúng ta có thể chỉ đơn thuần sử dụng nó để học một bộ phân loại như hình vẽ 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 Trong thực tế có rất nhiều những ví dụ như thế

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 là ta 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

Tập dữ

liệu

Tiền

xử lí

Học một bộ phân loại

Phân loại Kết

quả

Chọn đặc trưng

Trang 8

Xử lý ngôn ngữ tự nhiên Page 8

luyện trên một tập các phê chuẩn ngược lại Các nghiên cứu gần đây thể hiện rằng chính sự phối hợp của các phân hoạch được huấn luyện trên các đặc trưng khác nhau xảy ra như một kết quả có ‎nghĩa đặc biệt đối với sự cải tiến các hiệu quả Tuy vậy với một tập dữ liệu đủ lớn thường đòi hỏi phải qua hai chặng đường học tập Thêm vào đó sự phối hợp của các phương pháp phân hoạch cũng được thể hiện như một đặc trưng “lai” giữa nhiều cấu trúc module hoạt động trong các mức ưu tiên nhỏ hơn

3.3 Các bước 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 (k-nearest neighbor algorithm)… Đầ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 (tiến hành phân loại văn bản)

Tập dữ

liệu

Tiền xử lí

Chọn đặc trưng 1

Học một bộ

quả

Chọn đặc trưng k

Phân loại

Trang 9

Xử lý ngôn ngữ tự nhiên Page 9

3.4 Các phương pháp phân loại văn bản

Trước đây khi văn bản còn lưu trữ trên giấy tờ, để phân loại các loại tài liệu chúng ta cần một đội ngũ nhân lực khá lớn Tuy nhiên sự phân loại của con người cũng chỉ là tương đối, trong khi lượng thông tin tăng lên một cách chóng mặt thì sự phân loại tài liệu do con người đảm nhiệm chỉ có thể đáp ứng 0.1% lượng thông tin

đó Còn bây giờ hầu hết các loại văn bản đều được lưu trữ trên một cơ sở dữ liệu (lưu trữ trên máy tính), vì vậy tự động phân loại thông tin ngày càng đóng vai trò

quan trọng

Dựa trên các đặc trưng của văn bản đã xuất hiện nhiều chiến lược phân loại văn bản đã được đề xuất và áp dụng trong các tập tài liệu khác nhau Hiệu quả của các phương pháp đó tuy chỉ là tương đối nhưng đã hỗ trợ rất nhiều trong truy cập, quản lí, lọc thông tin Các phương pháp phân loại văn bản cho kết quả tốt thường được sử dụng là:

1 Nguyên mẫu (prototype)

2 Mô hình xác suất Naive Bayes

3 Phương pháp SVM (Support vectors Machines)

4 Phương pháp cây quyết định (Dicision Trees- Lewis and Ringuette, 1994)

5 Phương pháp mạng neuron (Neuron network - Wiener et al., 1995; Schutze

et al., 1995)

Các mô hình xác suất của Naive Bayes

Kĩ thuật phân hoạch của Naive Bayes dựa trên cơ sở định lí Bayes và đặc biệt phù hợp cho các trường hợp phân loại có kích thước đầu vào là lớn Mặc dù Naive Bayes khá đơn giản nhưng nó có khả năng phân loại tốt hơn rất nhiều phương pháp phân hoạch phức tạp khác Với mỗi loại văn bản, thuật toán Naive Bayes tính cho mỗi lớp văn bản một xác suất mà tài liệu cần phân hoạch có thể thuộc loại đó Tài liệu đó sẽ được gán cho lớp văn bản nào có xác suất cao nhất

Trang 10

Xử lý ngôn ngữ tự nhiên Page 10

3.5 Bài toán phân loại thư rác

Phân loại thư rác thực chất là bài toán phân loại văn bản hai lớp, trong đó: tập tài liệu mẫu ban đầu là các thư rác (spam) và các thư hợp lệ (non-spam), các văn bản cần phân lớp là các Email được gửi đến client Kết quả đầu ra của quá trình phân loại này là hai lớp văn bản: Spam(thư rác), Non-spam (thư hợp lệ) Mô hình phân loại thư rác tổng quát có thể mô tả như sau:

Cơ sở của phương pháp phân loại văn bản Naive Bayes là chủ yếu dựa trên các giả định của Bayes Giả thuyết Bayes gán cho mỗi tài liệu văn bản cần phân loại một giá trị xác suất

Xác suất P(ck| di) gọi là xác suất mà tài liệu di có khả năng thuộc vào lớp văn bản ck được tính toán như sau:

) (

)

| (

* ) ( )

| (

i

k i k

i k

d P

c d P c P d

c

Giả thiết mỗi một email được đại diện bởi một vector thuộc tính đặc trưng

Trang 11

Xử lý ngôn ngữ tự nhiên Page 11

= (x1, x2 , , xn ) với x1, x2, …, xn là giá trị của các thuộc tính X1, X2, …, Xn tương ứng trong không gian vector đặc trưng ⃗

Dựa vào công thức xác suất Bayes và công thức xác suất đầy đủ ta có được xác suất một email với vector đặc trưng , thuộc về loại c là:

Với C là email được xét, c ϵ {spam, nonspam}

Thực tế thì rất khó tính được xác suất P( ⃗ |C) bởi vì giá trị số lượng của các vector rất nhiều và nhiều vector hiếm khi hay thậm chí không xuất hiện trong tập

dữ liệu huấn luyện Phương pháp Naive Bayes giả thiết rằng X1, X2, …, Xn là những biến cố độc lập, do đó chúng ta có thể tính được xác suất ở trên như sau:

Với P(Xi|C) và P(C) được tính dựa trên dữ liệu học, việc tính này dựa vào tập huấn luyện ban đầu

Từ xác suất này, ta so sánh với một giá trị ngưỡng t mà ta cho là ngưỡng để phân loại email spam hay không, nếu xác suât này lớn hơn t, ta cho là email đó là spam, ngược lại ta xem email đó là non-spam

Ngày đăng: 29/12/2015, 16:28

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w