« Home « Kết quả tìm kiếm

Lọc thông minh tin nhắn rác, tin nhắn quảng cáo trên thiết bị di động


Tóm tắt Xem thử

- Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 1 LỜI CAM ĐOAN Tôi – Nguyễn Minh Đức, học viên lớp Cao học CLC2016A Trƣờng Đại học Bách Khoa Hà Nội – cam kết luận văn này là công trình nghiên cứu của bản thân tôi dƣới sự hƣớng dẫn của TS.
- Tác giả luận văn xin chịu trách nhiệm về nghiên cứu của mình.
- Hà Nội, ngày 25 tháng 10 năm 2016 Tác giả Nguyễn Minh Đức Xác nhận của giáo viên hƣớng dẫn về mức độ hoàn thành của luận văn tốt nghiệp và cho phép bảo vệ: Hà Nội, ngày 25 tháng 10 năm 2016 Giảng viên hƣớng dẫn TS.
- Trịnh Anh Phúc Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 2 DANH MỤC HÌNH VẼ Hình 1: Quy trình xây dựng ứng dụng học máy.
- 13 Hình 2: Tổng quan về hệ điều hành Android.
- 19 Hình 5: Tin nhắn sau khi qua bước lọc bỏ ký tự đặc biệt.
- 23 Hình 8: Một tin nhắn được chuyển sang không gian vector.
- 25 Hình 9: Khối xử lý tin nhắn.
- 26 Hình 10: Sơ đồ khối phân lớp tin nhắn của học máy.
- 28 Hình 12: Ví dụ cho thuật toán K-NN.
- Đối với giá trị của σ (A) lớn quyết định ranh giới là gần như tuyến Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 3 tính.
- 48 Hình 18: Ví dụ phân lớp sử dụng chiến lược OAR.
- 49 Hình 19: Ví dụ phân lớp sử dụng chiến lược OAO.
- 57 Hình 25: Kết quả của thuật toán K-NN.
- 59 Hình 27: Kết quả của thuật toán SVM với các nhân khác nhau.
- 60 Hình 28: Thời gian thực thi của thuật toán SVM.
- 65 Hình 30Giao diện cuộc hội thoại tin nhắn và trả lời nhanh.
- 67 Hình 32: Giao diện quản lý tin nhắn cá nhân.
- 73 Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 4 CÁC THUẬT NGỮ VIẾT TẮT Chữ viết tắt Chữ viết đầy đầy đủ NB Naïve Bayes K-NN K Nearest Neighbour SVM Support Vector Machine SMS Short Message Service BMS BK Mobile Security Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 5 MỤC LỤC DANH MỤC HÌNH VẼ.
- 4 TÓM TẮT NỘI DUNG LUẬN VĂN TỐT NGHIỆP.
- Nhiệm vụ luận văn.
- Mô hình bài toán phân loại tin nhắn rác.
- 12 CHƢƠNG 2: NỀN TẢNG ANDROID VÀ CƠ CHẾ GỬI NHẬN TIN NHẮN SMS.
- Cơ chế gửi nhận tin nhắn.
- Cơ chế lƣu trữ các tin nhắn của hệ thống.
- Biểu diễn tin nhắn.
- Phƣơng pháp tách từ để tạo bộ từ điển.
- Phƣơng pháp tách từ dựa trên khoảng trắng.
- Phƣơng pháp tách từ theo n-gram.
- 22 CHƢƠNG 4: CÁC THUẬT TOÁN VÀ CÀI ĐẶT TRÊN THIẾT BỊ ANDROID.
- Các thuật toán.
- Thuật toán Naive Bayes.
- Thuật toán K-Ngƣời láng giềng gần nhất (K-Nearest-Neigbour.
- 37 Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 6 CHƢƠNG 5: KẾT QUẢ ĐẠT ĐƢỢC.
- Thuật toán KNN.
- Thuật toán SVM.
- 63 PHỤ LỤC: GIAO DIỆN CHƢƠNG TRÌNH VÀ SO SÁNH VỚI CÁC ỨNG DỤNG TƢƠNG TỰ.
- 69 Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 7 TÓM TẮT NỘI DUNG LUẬN VĂN TỐT NGHIỆP Hiện nay, các thiết bị hỗ trợ cá nhân nói chung và điện thoại di động nói riêng đang ngày càng trở lên phổ biến.
- Với xu thế của xã hội ngày càng tiến bộ thì những thiết bị thông minh trở nên thông dụng hơn, đặc biệt là các thiết bị di động sử dụng hệ điều hành Android với tính mở cao và đơn giản trong sử dụng đang làm mƣa làm gió trên thị trƣờng di động.
- Dịch vụ tin nhắn là một trong dịch vụ rất cơ bản của ngƣời dùng sử dụng điện thoại.
- Tuy nhiên ngoài sự tiện lợi trong trao đổi thông tin, dịch vụ tin nhắn còn mang lại cho ngƣời dùng những phiền toái, điển hình ở đây chính là ngƣời dùng phải nhận những tin nhắn mà họ không mong muốn hay còn gọi là tin nhắn rác với nội dung chào mời giới thiệu sản phẩm dịch vụ Nhận thấy tính cần thiết đem lại tiện ích cho ngƣời sử dụng, đề tài “Lọc thông minh tin nhắn rác, tin nhắn quảng cáo trên thiết bị di động” có nhiệm vụ nghiên cứu và triển khai phƣơng án lọc tin nhắn rác dựa trên những thuật toán phân lớp văn bản đã đƣợc nghiên cứu từ trƣớc và cụ thể hóa thành một ứng dụng trên các điện thoại di động sử dụng hệ điều hành Android.
- Bố cục luận văn tốt nghiệp gồm 5 chƣơng : Chương 1: Đặt vấn đề Nội dung chính là phân tích yêu cầu bài toán tìm hƣớng giải quyết.
- Chương2: Nền tảng android và cơ chế gửi nhận tin nhắn SMS Trình bày về kiến trúc của nền tảng android, cơ chế gửi nhận tin nhắn SMS và xử lý nhƣ thế nào.
- Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 8 Chương4: Các thuật toán và cài đặt trên thiết bị android.
- Trình bày về nội dung các thuật toán và triển khai các thuật toán trên thiết bị di động Chương5: Kết quả đạt được Các kết quả thử nghiệm và đánh giá độ chính xác của các thuật toán đã triển khai Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 9 ABSTRACT OF THESIS Today,Smart Phone is more and more popular.The trend of increasingly progressive society, these smart devices become more common.
- How to catch SMS and classify? Chapter3: The text pre-processing Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 10 Processing SMS content and preparing input data for machine learning.
- Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 11 CHƢƠNG 1:ĐẶT VẤN ĐỀ 1.1.
- Nhiệm vụ luận văn 1.1.1.
- Tổng quan Ngày nay điện thoại di động càng ngày càng trở nên phổ biến trong xã hội, mọi tầng lớp đều sử dụng nó nhƣ một công cụ không thể thiếu.
- Một trong những dịch vụ quan trọng là tin nhắn SMS.
- Tuy nhiên, chính vì những lợi ích của dịch vụ tin nhắn mang lại mà số lƣợng tin nhắn trao đổi ngày càng tăng và một số không nhỏ trong số đó là tin nhắn rác (spam).
- Tin nhắn rác thƣờng đƣợc gửi với số lƣợng nhiều, ngƣời dùng không mong đợi, thƣờng với mục đích quảng cáo, gây phiền toái khó chịu cho ngƣời dùng.
- Có nhiều phƣơng pháp đƣa ra để hạn chế tin nhắn rác nhƣ là việc đƣa ra các luật lệ để hạn chế việc gửi tin nhắn rác đƣa ra các phƣơng pháp kỹ thuật lọc tin nhắn rác nhƣ lọc trên danh tính ngƣời gửi, lọc trên nội dung gửi.
- Trong các phƣơng pháp lọc tin nhắn rác thì phƣơng pháp lọc theo nội dung là phƣơng pháp đƣợc quan tâm nhiều, đƣợc đánh giá là có triển vọng và đƣa ra kết quả cao vì phƣơng pháp lọc nội dung dựa trên việc phân tích nội dung của tin nhắn để phân biệt tin nhắn là rác hay không là rác đây là cách thức nhận diện thông minh và tự động cho tất cả các tin nhắn đến máy mà không cần quan tâm nó đến từ đâu.
- Thêm vào đó đối với từng đối tƣợng thì nội dung tin nhắn mang ý nghĩa khác nhau.
- Ví dụ với những ngƣời có mối quan tâm đến tin tức về tài chính, bất động sản hoặc tin nhắn về mua bán simcard những tin nhắn đó với họ lại là những tin nhắn quan trọng.
- Đó cũng là nội dung mà luận văn hƣớng đến ngoài việc tạo ra một bộ lọc cho tin nhắn rác.
- Bộ lọc còn biết phân biệt nội dung tin nhắn nằm trong lĩnh vực nào để phục vụ cho từng đối tƣợng ngƣời dùng khác nhau.
- Luận văn sẽ xây dựng phƣơng thức lọc thông minh theo những nội dung mà ngƣời dùng quan tâm.
- Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 12 1.1.2.
- Chi tiết nhiệm vụ Luận văn sẽ xây dựng hoàn thiện một ứng dụng dành cho thiết bị di động sử dụng hệ điều hành Android.
- Ứng dụng này sẽ có khả năng lọc những tin nhắn và phân loại những tin nhắn ra thành nhiều lớp tin nhắn khác nhau tùy theo các lĩnh vực mà ngƣời dùng quan tâm bên cạnh đó ứng dụng còn cũng cấp thêm nhiều phƣơng thức lọc có thể tự cấu hình.
- Ví dụ nhƣ ngƣời dùng có thể chọn chặn những số đăng ký trƣớc, chặn tin nhắn gửi đến mà không rõ ngƣời gửi, lựa chọn phƣơng thức chặn theo nội dung, quản lý những tin nhắn cá nhân bằng mật khẩu.
- Ứng dụng đƣợc xây dựng nhƣ một sản phẩm thực tế hƣớng tới ngƣời sử dụng với đầy đủ chức năng của một chƣơng trình quản lý tin nhắn (chức năng hiển thị các cuộc hội thoại, hiển thị nội dung cuộc hội thoại, chức năng gửi nhận tin nhắn, chức năng trả lời nhanh.
- Mô hình bài toán phân loại tin nhắn rác Để thực hiện luận văn này cần giải quyết một số vấn đề sau : Cơ chế gửi nhận tin nhắn: Làm sao khi một tin nhắn đến ta có thể đón bắt và xử lý tin nhắn đó trƣớc chƣơng trình tin nhắn của hệ thống, từ đó có thể đƣa ra các quyết định (giữ lại, loại bỏ, trả về cho chƣơng trình của hệ thống).
- Cơ chế lưu trữ các tin nhắn của hệ thống: Mục đích của vấn đề này trả lời cho câu hỏi làm thế nào đồng bộ đƣợc tin nhắn của chƣơng trình với tin nhắn của hệ thống, nghĩa là chƣơng trình và hệ thống sẽ sử dụng chung một cơ sở dữ liệu, giảm nhẹ mức độ lƣu trữ dữ liệu và linh hoạt hơn.
- Ngoài ra, khi chƣơng trình gửi tin nhắn đi thì tin nhắn này cũng phải có mặt trong hộp thƣ đi của hệ thống.
- Vì luận văn xây dựng ứng dụng hƣớng tới ngƣời dùng nên sẽ đƣợc thiết kế với đầy đủ chức năng của một chƣơng trình quản lý tin nhắn cơ bản.
- Ngoài ra còn tích hợp thêm một số chức năng hỗ trợ ngƣời dùng, vì vậy chƣơng trình sẽ vừa có cơ sở dữ liệu lƣu trữ tin nhắn của riêng nó vừa có phần dữ liệu dùng chung với hệ thống.
- Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 13 Về cơ chế của tin nhắn ta cần hiểu rõ về cấu trúc hệ điều hành android nói chung và cách hệ điều hành đối xử với tin nhắn nói riêng.
- Nội dung chi tiết của phần này sẽ đƣợc trình bày trong chƣơng 2.
- Cơ chế nhận diện và phân loại tự động tin nhắn.
- Ta đƣa ra mô hình gồm có 4 module nhƣ sau : Hình 1: Quy trình xây dựng ứng dụng học máy Dữ liệu tin nhắn: Bao gồm tập mẫu, tập test cũng nhƣ dữ liệu đầu vào là các tin nhắn trong quá trình chƣơng trình hoạt động.
- Phƣơng thức thực hiện sẽ đƣợc trình bày chi tiết trong chƣơng 3.
- Máy học sẽ đƣợc xây dựng dựa trên các thuật toán phân lớp.
- Trong luận văn này ta nghiên cứu 3 phƣơng pháp học máy: phƣơng pháp xác suất Bayes vàhai phƣơng pháp sử dụng không gian vector K Láng giềng gần nhất, Máy vector hỗ trợ (Support Vector Machine).
- Chi tiết về cách triển khai các thuật toán này đƣợc trình bày trong chƣơng 4.
- Đi vào chƣơng 2 dƣới đây ta sẽ biết đƣợc cấu trúc của hệ điều hành android và cách xử lý các tin nhắn SMS.
- Dữ liệu tin nhắn Tiền xử lý Phân loại Bayes KNN SVM Kết Quả Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 14 CHƢƠNG 2: NỀN TẢNG ANDROID VÀ CƠ CHẾ GỬI NHẬN TIN NHẮN SMS 2.1.
- Nền tảng Android Android là một hệ điều hành dựa trên nền tảng Linux đƣợc thiết kế dành cho các thiết bị di động có màn hình cảm ứng nhƣ điện thoại thông minh và máy tính bảng.
- Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi.
- Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới đƣợc các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao Giao diện ngƣời dùng của Android dựa trên nguyên tắc tƣơng tác trực tiếp, sử dụng cảm ứng chạm tƣơng tự nhƣ những động tác ngoài đời thực nhƣ vuốt, chạm, kéo dãn và thu lại để xử lý các đối tƣợng trên màn hình.
- Những thiết bị phần cứng bên trong nhƣ gia tốc kế, con quay hồi chuyển và cảm biến khoảng cách đƣợc một số ứng dụng sử dụng để phản hồi một số hành động khác của ngƣời Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 15 dùng, ví dụ nhƣ điều chỉnh màn hình từ chế độ hiển thị dọc sang chế độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép ngƣời dùng lái xe đua bằng xoay thiết bị, giống nhƣ đang điều khiển vô-lăng.
- Các ứng dụng cho Android đƣợc phát triển bằng ngôn ngữ Java sử dụng Bộ phát triển phần mềm Android (SDK).
- Các công cụ phát triển khác cũng có sẵn, gồm có Bộ phát triển gốc dành cho các ứng dụng hoặc phần mở rộng viết bằng C hoặc C.
- Google App Inventor, một môi trƣờng đồ họa cho những nhà lập trình mới bắt đầu, và nhiều nền tảng ứng dụng web di động đa nền tảng phong phú.
- Hình 2: Tổng quan về hệ điều hành Android Hình 2 cho ta thấy kiến trúc của hệ điều hành Android gồm 4 tầng: Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khóa CLC2016 Trang 16 Tầng application cung cấp toàn bộ các ứng dụng bao gồm của cả ứng dụng hệ thống cũng nhƣ những ứng dụng đƣợc phát triển bởi bên thứ ba.
- Tầng này chính là nhân của hệ điều hành android tƣơng tác trực tiếp với phần cứng bên dƣới.
- Cơ chế gửi nhận tin nhắn Luận văn xây dựng trên các thiết bị sử dụng hệ điều hành Android nên để giải quyết vấn đề này ta đi vào tìm hiểu cơ chế gửi nhận tin nhắn của hệ thống Android.
- Ứng dụng trong luận văn thao tác với hai tầng trên là Application và Application Framework.
- Tầng Application chính là môi trƣờng triển khai ứng dụng tƣơng tác với ngƣời dùng, trên tầng này ta sẽ xây dựng giao diện giao tiếp với ngƣời dùng, các chức năng.
- Bất cứ một ứng dụng hệ thống cơ bản nào (nhƣ ứng dụng gọi điện, nhắn tin, trình duyệt v.v…) cũng có thể bị thay thế bằng các ứng dụng khác tƣơng tự.
- Tuy nhiên với ngƣời dùng thông thƣờng lại ít khi để ý tới những quyền của ứng dụng và thƣờng chấp nhận hết để cài đặt cho nhanh, điều này có thể gây thiệt hại cho ngƣời sử dụng nếu kẻ xấu muốn lợi dụng.

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt