1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán

34 12 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

Lời nói đầu(Hoạt) Một dịch vụ mà Internet mang lại dịch vụ thư điện tử, phương tiện giao tiếp đơn giản, tiện lợi, rẻ hiệu người cộng đồng sử dụng dịch vụ Internet Tuy nhiên lợi ích dịch vụ thư điện tử mang lại mà số lượng thư trao đổi Internet ngày tăng, số khơng nhỏ số thư rác (spam) Thư rác thường gửi với số lượng lớn, không người dùng mong đợi, thường với mục đích quảng cáo, đính kèm virus, gây phiền tối khó chịu cho người dùng, làm giảm tốc độ truyền internet tốc độ xử lý email server, gây thiệt hại lớn kinh tế Đã có nhiều phương pháp đưa để giảm số lượng thư rác Như việc đưa luật lệ để hạn chế việc gửi thư rác, đưa phương pháp kĩ thuật lọc thư rác như: lọc dựa địa IP (whitelist, blacklist), lọc dựa danh tính người gửi, lọc dựa chuỗi hỏi đáp, phương pháp lọc dựa mạng xã hội, phương pháp lọc nội dung…Mỗi phương pháp có ưu nhược điểm riêng, khơng có phương pháp hồn hảo để có lọc thư rác tốt cần phải kết hợp phương pháp với 1.Giới thiệu đề tài(Hoạt) 1.1 Định nghĩa thư rác Hiện chưa có định nghĩa hoàn chỉnh, chặt chẽ thư rác Có quan điểm coi thư rác thư quảng cáo khơng u cầu (Unsolicited Commercial Email-UCE), có quan điểm rộng cho thư rác bao gồm thư quảng cáo, thư quấy rối, thư có nội dung không lành mạnh (Unsolicited Bulk Email -UBE) Sau đưa định nghĩa thông dụng thư rác giải thích đặc điểm để phân biệt thư rác với thư thông thường: Thư rác (spam mail) thư điện tử không yêu cầu, không mong muốn gửi hàng loạt tới người nhận Một thư gửi không theo yêu cầu thư làm quen thư gửi lần đầu tiên, thư gửi hàng loạt thư gửi cho khách hàng công ty, nhà cung cấp dịch vụ Vì thư bị coi rác khơng u cầu, gửi hàng loạt Tuy nhiên yếu tố quan trọng để phân biệt thư rác với thư thông thường nội dung thư Khi người nhận thư rác, người khơng thể xác định thư gửi hàng loạt hay khơng xác định thư rác sau đọc nội dung thư Đặc điểm sở cho giải pháp phân loại thư rác cách phân tích nội dung thư 1.2 Tác hại thư rác Theo thống kê thư rác chiếm nửa số email truyền Internet thư rác nguồn lây lan virus nhanh Thiệt hại chúng gây lớn phát triển internet nói chung người sử dụng thư điện tử nói riêng Theo thống kê toàn cầu hãng nghiên cứu Ferris Research San Francisco, thư rác gây thiệt hại 50 tỷ USD năm 2005 Chỉ tính riêng Mỹ, thiệt hại thư rác gây doanh nghiệp ước tính khoảng 17 tỷ USD/năm Thư rác chiếm khoảng 80% lưu lượng thư điện tử giới quý 1/2006, kết luận nhóm hợp tác chống thư rác gồm công ty AOL, Bell Canada, Cigular Wireless, EarthLink, France Telecom, Microsoft, Verizon, Yahoo Microsoft AOL cho biết hai hãng trung bình ngày chặn gần tỷ thư rác Ước tính, 10 email sử dụng dịch vụ MSN Hotmail Microsoft thư rác Không gây thiệt hại tiền bạc, thư rác làm giảm hiệu làm việc, gây stress, tiêu tốn thời gian nhân viên Những điều đồng nghĩa với việc, suất lao động giảm, ảnh hưởng tới tình hình kinh doanh doanh thu công ty 1.3 Phân loại thư rác Các phương pháp lọc thư rác: ● Lọc thư rác thông qua việc đưa luật lệ nhằm hạn chế, ngăn chặn việc gửi thư rác ● Lọc thư rác dựa địa IP ● Lọc dựa chuỗi hỏi/đáp (Challenge/Response filters) ● Phương pháp lọc dựa mạng xã hội ● Phương pháp định danh người gửi ● Phương pháp lọc nội dung Trong báo cáo nhóm chúng em tập trung tiến hành phân loại thư rác dựa nội dung cách sử dụng số thuật tốn mơ hình học máy khác nhau, từ tìm ưu điểm hạn chế thuật tốn tìm thuật tốn có kết tối ưu Các mơ hình mà chúng em thực hiện: ● Support Vector Machine ● K-Nearest Neighbour ● Multinomial Naive Bayes ● Decision Tree Classifier ● ● ● ● ● ● ● Logistic Regression Random Forest Classifier AdaBoost Classifier Bagging Classifier ExtraTrees Classifier SVM with Stochastic Gradient Descent Learning LR with Stochastic Gradient Descent Learning Giới thiệu liệu (Huy) Bộ liệu bao gồm file: - File fradulent_emails.txt 1000 email với đầy đủ thông tin bao gồm người gửi, người nhận, content type nội dung email Tất nội dung file chứa thông tin email lừa đảo - File spam_normal_emails.csv file csv có cột email chứa nội dung email spam với giá trị để xác định xem nội dung có phải rác khơng File bao gồm 1000 hàng email spam 1000 hàng email bình thường Tiền xử lý liệu (Huy) Để trình tiền xử lý liệu dễ dàng nhóm chúng em lấy thơng tin chuẩn hóa từ file để đưa vào file liệu final để trình tiền xử lý dễ dàng Làm liệu Xử lý liệu cho email lừa đảo Dữ liệu email lừa đảo lưu trữ dạng text(File txt) email bắt đầu với “From r” chúng em cắt nội dung email riêng biệt với theo từ Để lấy nội dung xác email nhóm tiến hành lọc email có bắt đầu kết thúc từ phổ biến Xử lý liệu cho email spam bình thường Dữ liệu email spam bình thường lưu trữ file csv Khi đọc liệu từ file để trích rút chuẩn hóa thơng tin xác email nhóm tiến hành chuyển đổi từ “ thành ‘ Trong trình quan sát liệu thấy hầu hết email bắt đầu với “Subject:” nên nhóm trích rút thơng tin từ sau từ Tạo dataset final Tất liệu vừa tạo lưu trữ vào file để trình tiền xử lý sau dễ dàng File lưu trữ csv chưa cột như: Email(Chứa nội dung email), Label(Nhãn email), Length(Độ dài email) lưu trữ file “final_dataset.csv” Loại bỏ từ dừng dấu chấm câu StopWords từ xuất nhiều ngôn ngữ tự nhiên, nhiên lại không mang nhiều ý nghĩa Ở tiếng việt StopWords từ như: để, này, Tiếng anh từ như: is, that, this Có nhiều cách để loại bỏ StopWords có cách là: ● Dùng từ điển ● Dựa theo tần suất xuất từ Trong project nhóm sử dụng từ điện stopwords “ntlk” cung cấp Trong project nhóm có sử dụng “STEMMING” cho từ STEMMING trình tạo biến thể hình thái từ gốc/cơ sở so sánh với khơng sử dụng STEAMING Q trình tạo stemming nhóm chúng em có sử dụng thư viện stem nltk Trích chọn thuộc tính đoạn văn Sử dụng TF-IDF Viết tắt thuật ngữ tiếng Anh term frequency – inverse document frequency,tf-idf trọng số từ văn thu qua thống kê thể mức độ quan trọng từ văn bản, mà thân văn xét nằm tập hợp văn Thuật toán thường sử dụng vì: ngơn ngữ ln có từ xảy thường xuyên với từ khác Cách tính trọng số tf-idf Tf- term frequency: dùng để ước lượng tần suất xuất từ văn Tuy nhiên với văn có độ dài khác nhau, số lần xuất từ nhiều Vì số lần xuất từ chia độ dài văn (tổng số từ văn đó) TF(t, d) = ( số lần từ t xuất văn d) / (tổng số từ văn d) IDF- Inverse Document Frequency: dùng để ước lượng mức độ quan trọng từ Khi tính tần số xuất tf từ coi quan trọng Tuy nhiên có số từ thường được sử dụng nhiều không quan trọng để thể ý nghĩa đoạn văn , ví dụ : ● Từ nối: and, but, because,then, so, … ● Giới từ: in, on, at, … ● Từ định: this, that… Vì ta cần giảm mức độ quan trọng từ cách sử dụng IDF : IDF(t, D) = log_e( Tổng số văn tập mẫu D/ Số văn có chứa từ t ) Vậy giá trị tf-idf : TF(t, d) * idf(t, D) Áp dụng project, nhóm chúng em sử dụng TfidfVectorizer sklearn để trích chọn thuộc tính quan trọng Sử dụng Count Vector Count Vectorizer cách để chuyển đổi tập hợp chuỗi cho thành biểu diễn tần số Ví dụ: Đây trường hợp đơn giản NLP bạn nhận tập liệu văn gắn thẻ sau sử dụng nó, bạn phải dự đốn thẻ liệu văn khác Vì Text1 khơng chứa từ "computer" "vision", tần số chúng tính từ khác có mặt tần số chúng Count Vector hữu ích việc hiểu loại văn theo tần suất từ nhược điểm là: ● Nó khơng có khả xác định từ quan trọng quan trọng để phân tích ● Nó coi từ có nhiều kho ngữ liệu từ có ý nghĩa thống kê ● Nó không xác định mối quan hệ từ giống mặt ngôn ngữ từ Áp dụng project, nhóm chúng em sử dụng CountVectorizer sklearn để trích chọn thuộc tính quan trọng Phân chia liệu cho mơ hình Tách tập liệu thành tập huấn luyện thử nghiệm theo tỷ lệ 7:3 Xây dựng mơ hình học máy Support Vector Machine(Hiếu) Support Vector Machine thuật toán chứng minh có hiệu suất tốt tốn phân loại văn bản, nhận dạng chữ ký điện tử, SVM tạo danh mục phân loại nhị phân Ưu điểm SVM khơng bị ảnh hưởng kích thước khơng gian đối tượng, thay vào tập trung vào việc tối ưu hóa ranh giới điển hình tích cực tiêu cực tài liệu huấn luyện SVM vẽ đường siêu phẳng chia không gian làm không gian phụ, không gian phụ chứa vectơ thuộc nhóm, khơng gian chứa vectơ thuộc nhóm cịn lại Những vectơ biểu diễn văn huấn luyện văn phân chia vào nhóm định phân loại Ở đây, chúng em tạo vịng lặp để tìm tham số (kernel,gamma) có khả tạo phân loại SVM ưu việt Với lựa chọn tham số kernel gồm: rbf, polynomial, sigmoid tham số gamma thuộc chạy khoảng [0.05 , 1] với step 0.05 Mỗi lần, giá trị hàm SVM lý tưởng f*(x) so sánh tính tốn lại, để tìm phân loại xác Kết thu hình ảnh chúng em chọn tham số (kernel = ‘sigmoid’, gamma = 1.0) Khi sử dụng Stemming, tham số tối ưu (kernel='sigmoid', gamma=0.7) K-Nearest Neighbour(Hoạt) K-nearest neighbors thuật tốn học máy có giám sát, đơn giản dễ triển khai Thường dùng toán phân loại hồi quy Thuật toán KNN cho liệu tương tự tồn gần không gian, từ cơng việc tìm k điểm gần với liệu cần kiểm tra Việc tìm khoảng cách điểm có nhiều cơng thức sử dụng, tùy trường hợp mà lựa chọn cho phù hợp KNN dựa vào khoảng cách để phân loại, việc chuẩn hóa liệu huấn luyện cải thiện độ xác đáng kể Ở chúng em tính khoảng cách điểm liệu vector hóa theo phần tiền xử lý liệu trình bày trên.Sử dụng KNN từ thư viện sklearn KNeighborsClassifier () với i người hàng xóm gần Để đánh giá độ xác thuật tốn KNN classifier này, chúng em xem xem có điểm test data dự đoán Lấy số lượng chia cho tổng số lượng tập test data độ xác Scikit-learn cung cấp hàm số accuracy_score để thực công việc Kết quả: Với i thay đổi, kết thu với giá trị tương ứng i: Áp dụng AdaBoost với số lần boosting chạy ngẫu nhiên từ 2576 để xác định số lần kết hợp weak learner tối ưu nhất: Kết thu được: Sau q trình thử nghiệm: Với khơng sử dụng Stemming boosting = 41 đạt kết tối ưu nhất: Với sử dụng Stemming boosting = 41 đạt kết tối ưu nhất: Bagging Classifier(Hiếu): Bagging phương pháp kết hợp (ensemble) thiết kế để tăng độ ổn định xác cho thuật tốn học máy Đây kỹ thuật kết hợp dự đốn từ nhiều mơ hình học máy khác để đưa dự đốn xác mơ hình riêng lẻ nào, sử dụng để giảm phương sai cho thuật tốn có phương sai cao tránh tình trạng khớp (overfitting) Áp dụng bagging với điều chỉnh tham số số lượng models kết hợp khoảng (2,30) để thu kết tối ưu Kết thu cho thấy số lượng models = thích hợp nhất: Khi sử dụng liệu stemming, ta nhận thấy số lượng models kết hợp 27 cho kết tối ưu ExtraTrees Classifier(Hoạt) Extra Trees Classifier loại kỹ thuật học tập tổng hợp, tổng hợp kết nhiều định loại bỏ tương quan thu thập “khu rừng” để đưa kết phân loại Về khái niệm, giống với Random Forest Classifier khác cách xây dựng định rừng Mỗi Cây định Extra Trees Forest xây dựng từ mẫu đào tạo ban đầu Sau đó, nút kiểm tra, Mỗi cung cấp mẫu ngẫu nhiên gồm k tính từ tập hợp đặc trưng mà từ định phải chọn tính tốt để tách liệu dựa số tiêu chí tốn học (điển hình Chỉ số Gini) Mẫu tính ngẫu nhiên dẫn đến việc tạo nhiều định không tương quan Sử dụng ExtraTreesClassifier với số lượng rừng thay đổi từ - 30, random_state = 111 Kết quả: Không sử dụng Stemming: Sử dụng Stemming: SVM with Stochastic Gradient Descent Learning(Hiếu): Trong thuật toán này, thời điểm, tính đạo hàm hàm mát dựa điểm liệu xi cập nhật θ dựa đạo hàm Việc thực với điểm tồn liệu, sau lặp lại q trình Thuật tốn đơn giản thực tế lại làm việc hiệu Mỗi lần duyệt lượt qua tất điểm toàn liệu gọi epoch Với GD thơng thường epoch ứng với lần cập nhật θ, với SGD epoch ứng với N lần cập nhật θ với N số điểm liệu Nhìn vào mặt, việc cập nhật điểm làm giảm tốc độ thực epoch Nhưng nhìn vào mặt khác, SGD yêu cầu lượng epoch nhỏ (thường 10 cho lần đầu tiên, sau có liệu cần chạy epoch có nghiệm tốt) Vì SGD phù hợp với tốn có lượng sở liệu lớn toán yêu cầu mơ hình thay đổi liên tục, tức online learning Một điểm cần lưu ý là: sau epoch,cần shuffle (xáo trộn) thứ tự liệu để đảm bảo tính ngẫu nhiên Việc ảnh hưởng tới hiệu SGD Một cách toán học, quy tắc cập nhật SGD là: J(θ;xi;yi) hàm mát với cặp điểm liệu (input, label) ( xi,yi) Tinh chỉnh tham số alpha khoảng (-6,1) để tìm kết tối ưu cho mơ hình: Kết cho thấy với alpha=1e-5 ta thu kết tối ưu với liệu stemming, alpha=1e-4 cho kết tối ưu LR with Stochastic Gradient Descent Learning(Hiếu): Đầu dự đoán logistic regression thường viết chung dạng: f(x) = θ (W T X) Trong θ gọi logistic function Hàm sigmoid sử dụng nhiều bị chặn khoảng (0,1) Ở đây, bọn em tối ưu hàm mát sử dụng biến thể phương pháp Gradient Descent (GD) Stochastic Gradient Descent (SGD) Nghĩa ta tính đạo hàm hàm mát dựa điểm liệu xi cập nhật θ dựa đạo hàm Trong toán này, hàm mát với điểm liệu (x i,yy) là: sau đạo hàm, kết ta thu là: Và công thức cập nhật (theo thuật toán SGD) cho Logistic regression là: Tinh chỉnh tham số alpha khoảng (-6,1) để tìm kết tối ưu cho mơ hình: Kết cho thấy với alpha=1e-4 ta thu kết tối ưu với liệu stemming, alpha=1e-4 cho kết tối ưu Ma trận Kết thu được(Huy) I Khi áp dụng TF-TDF Khi không sử dụng Stemming ● Khi đào tạo mơ hình phân loại khác đưa dự đoán ● Confusion matrix Khi sử dụng Stemming ● Độ xác phân lớp So sánh không có sử dụng Stemming Nhìn vào console hiển thị biểu đồ ta nhận thấy sử dụng model phân lớp SGD SVM với có khơng sử dụng Stemming có độ xác cao là: 0.985556 II Khi áp dụng Count Vector Không sử dụng Stemming ● Độ xác phân lớp ● Ma trận confused Sử dụng Stemming So sánh khơng có sử dụng Stemming Nhìn vào console hiển thị biểu đồ ta nhận thấy sử dụng model phân lớp Multinomial Naive Bayes sử dụng Stemming có độ xác cao là: 0.978889 Tài liệu tham khảo https://www.linkedin.com/pulse/count-vectorizers-vs-tfidf-natural-language-processing-sheelsaket/ ... tập trung tiến hành phân loại thư rác dựa nội dung cách sử dụng số thuật tốn mơ hình học máy khác nhau, từ tìm ưu điểm hạn chế thuật tốn tìm thuật tốn có kết tối ưu Các mơ hình mà chúng em thực...đọc nội dung thư Đặc điểm sở cho giải pháp phân loại thư rác cách phân tích nội dung thư 1.2 Tác hại thư rác Theo thống kê thư rác chiếm nửa số email truyền Internet thư rác nguồn lây... tình hình kinh doanh doanh thu cơng ty 1.3 Phân loại thư rác Các phương pháp lọc thư rác: ● Lọc thư rác thông qua việc đưa luật lệ nhằm hạn chế, ngăn chặn việc gửi thư rác ● Lọc thư rác dựa địa

Ngày đăng: 06/12/2022, 00:07

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Kết quả thu được như hình ảnh dưới đây và chúng em chọn bộ tham số (kernel= ‘sigmoid’, gamma = 1.0)  - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
t quả thu được như hình ảnh dưới đây và chúng em chọn bộ tham số (kernel= ‘sigmoid’, gamma = 1.0) (Trang 9)
Mơ hình này chủ yếu được sử dụng trong phân loại văn bản mà feature vectors được tính bằng Bags of Words - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
h ình này chủ yếu được sử dụng trong phân loại văn bản mà feature vectors được tính bằng Bags of Words (Trang 11)
Phương pháp hồi quy logistic là một mơ hình hồi quy nhằm dự đoán giá trị đầu ra rời rạc (discrete target variable)  y ứng với một vectơ đầu vào x - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
h ương pháp hồi quy logistic là một mơ hình hồi quy nhằm dự đoán giá trị đầu ra rời rạc (discrete target variable) y ứng với một vectơ đầu vào x (Trang 16)
Mơ hình rừng cây được huấn luyện dựa trên sự phối hợp giữa luật kết hợp - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
h ình rừng cây được huấn luyện dựa trên sự phối hợp giữa luật kết hợp (Trang 17)
Mơ hình rừng cây sẽ áp dụng cả hai phương pháp học kết hợp (ensemble learning) và lấy mẫu tái lập (boostrapping) - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
h ình rừng cây sẽ áp dụng cả hai phương pháp học kết hợp (ensemble learning) và lấy mẫu tái lập (boostrapping) (Trang 18)
Mơ hình rừng cây sẽ áp dụng cả hai phương pháp học kết hợp (ensemble learning) và lấy mẫu tái lập (boostrapping) - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
h ình rừng cây sẽ áp dụng cả hai phương pháp học kết hợp (ensemble learning) và lấy mẫu tái lập (boostrapping) (Trang 18)
hình là Chỉ số Gini). Mẫu tính năng ngẫu nhiên này dẫn đến việc tạo ra nhiều cây quyết định không tương quan.cây quyết định không tương quan. - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
hình l à Chỉ số Gini). Mẫu tính năng ngẫu nhiên này dẫn đến việc tạo ra nhiều cây quyết định không tương quan.cây quyết định không tương quan (Trang 23)
hình là Chỉ số Gini). Mẫu tính năng ngẫu nhiên này dẫn đến việc tạo ra nhiều cây quyết định không tương quan.cây quyết định không tương quan. - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
hình l à Chỉ số Gini). Mẫu tính năng ngẫu nhiên này dẫn đến việc tạo ra nhiều cây quyết định không tương quan.cây quyết định không tương quan (Trang 23)
Tinh chỉnh tham số alpha trong khoảng (-6,1) để tìm ra kết quả tối ưu nhất cho mơ hình: - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
inh chỉnh tham số alpha trong khoảng (-6,1) để tìm ra kết quả tối ưu nhất cho mơ hình: (Trang 26)
● Khi đào tạo các mơ hình phân loại khác nhau và đưa ra dự đoán - tiến hành phân loại thư rác dựa trên nội dung bằng cách sử dụng một số thuật toán và mô hình học máy khác nhau, từ đó tìm ra ưu điểm và hạn chế của từng thuật toán
hi đào tạo các mơ hình phân loại khác nhau và đưa ra dự đoán (Trang 29)

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w