Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
8,62 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN NGUYỄN CHÍ TỒN Ngành: Khoa Học Máy Tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐỖ PHÚC LỜI CẢM ƠN Luận văn Thạc Sỹ thực Trường Đại Học Công Nghệ Thông Tin TP Hồ Chí Minh Để hồn thành khóa luận này, tơi xin tỏ lòng biết ơn sâu sắc gửi lời cảm ơn chân thành đến Thầy PGS.TS Đỗ Phúc, tận tình hướng dẫn, giúp đỡ cho tơi suốt q trình thực tốt luận văn thạc sĩ Tơi xin chân thành cảm ơn quý thầy, cô khoa khoa học máy tính phòng sau đại học Trường Đại Học Cơng Nghệ Thơng Tin TP Hồ Chí Minh tận tình truyền đạt kiến thức, tạo điều kiện thuận lợi mặt thủ tục cho hoạt động học tập thực luận văn Tôi xin gửi lời cảm ơn tới anh chị bạn lớp cao học khóa giúp tơi nhiều q trình học tập hồn thành luận văn Cuối cùng, tơi xin bày tỏ lòng biết ơn sâu sắc tới gia đình, bạn bè ln động viên, khích lệ tinh thần để tơi có đủ nghị lực hồn thành luận văn thạc sỹ TP Hồ Chí Minh, tháng 03, năm 2016 Nguyễn Chí Tồn LỜI CAM ĐOAN Tơi cam đoan kết tìm hiểu đưa khóa luận dựa kết thu trình tìm hiểu riêng tơi Nội dung khóa luận có tham khảo sử dụng số thơng tin, tài liệu từ nguồn sách, tạp chí, website liệt kê danh mục tài liệu tham khảo TP Hồ Chí Minh, tháng 03, năm 2016 Nguyễn Chí Tồn TĨM TẮT Ngành cơng nghệ thơng tin phát triển vũ bảo kéo theo số lượng người sử dụng internet tăng cao làm cho liệu xung quanh tạo lớn hết Dữ liệu tăng lên nhanh, vượt qua giới hạn xử lý hệ quản trị sở liệu truyền thống Việc lưu trữ khai thác lượng liệu khổng lồ để lọc liệu hữu dụng thử thách lớn mà người ta gặp phải xã hội đại Việc khai thác khối lượng liệu khổng lồ đặt thuận lợi thử thách vô to lớn cho giới nghiên cứu khoa học máy tính Nếu khai thác lượng liệu khổng lồ này, lọc thông tin hữu ích cho lĩnh vực, góp phần to lớn việc xác định thị hiếu người dùng, xác định hướng phát triển công ty, việc kiểm sốt ngăn chặn phát tán thơng tin mạng xã hội Kết luận văn hệ thống xác định chủ đề thông tin, xác định thơng tin tích cực hay tiêu cực, xác định đường thông tin, thời điểm phát tán thông tin cuối vẽ biểu đồ lan truyền thông tin: Trong luận văn bước thực bước theo trình tự sau: - Nghiên cứu sở lý thuyết mơ hình Latent Dirichlet Allowcation (LDA), giải thuật lấy mẫu Gibbs cho mơ hình LDA - Nghiên cứu giải thuật Support Vector Machine (SVM) - Nghiên cứu giải thuật Naïve Bayes - Nghiên cứu Waikato Environment for Knowledge Analysis (Weka) - Phân tích thiết kế hệ thống - Xây dựng hệ thống thực nghiệm Luận văn xây dựng hệ thống thực nghiệm để thực vấn đề nghiên cứu, thực nghiệm xây dựng ngơn ngữ lập trình JAVA, nhằm khai thác tính mạnh mẽ ngơn ngữ lập trình MỤC LỤC Chương 1: TỔNG QUAN - 11 1.1 Tính khoa học tính đề tài 12 1.2 Lý chọn đề tài 13 1.3 Mục tiêu nghiên cứu 13 1.4 Đối tượng nghiên cứu 13 1.5 Phạm vi nghiên cứu 14 1.6 Tình hình nghiên cứu 14 1.6.1 Tình hình nghiên cứu giới - 14 1.6.2 Tình hình nghiên cứu nước - 15 1.7 Phương pháp thực hiện: 15 1.8 Dự kiến kết đạt được: 16 1.9 Dự kiến cấu trúc luận văn thực hiện: 16 Chương 2: CƠ SỞ LÝ THUYẾT - 18 2.1 Các khái niệm 18 2.1.1 Khái niệm mạng xã hội - 18 2.1.2 Cấu trúc mạng xã hội - 19 2.1.3 Ảnh hưởng mạng xã hội - 19 2.1.4 Các lợi ích việc khai phá liệu mạng xã hội - 20 2.1.5 Các trang mạng xã hội 20 2.1.6 Email tích cực, tiêu cực 21 2.2 Mơ hình LDA 21 2.3 Giải thuật lấy mẫu Gibbs cho mơ hình LDA 23 2.4 Giải thuật SVM 24 2.5 Giải thuật Naïve Bayes 26 2.6 Weka 27 2.7 Lan truyền mạng xã hội 29 2.8 Lan truyền theo thời gian 33 Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG - 38 3.1 Giới thiệu Database hệ thống 38 3.2 Mơ hình đối tượng 40 3.3 Mơ hình hệ thống 42 3.3.1 Chạy LDA tập liệu Enron Email 42 3.3.1.1 Làm liệu 42 3.3.1.2 Tạo tập tin dat - 44 3.3.1.3 Chạy LDA 44 3.3.2 Chạy LDA tập liệu huấn luyện 51 3.3.2.1 Chạy LDA 51 3.3.2.2 Đọc tập tin đặc trưng 51 3.3.3 Gán nhãn chủ đề tìm chủ đề ẩn email - 51 3.3.3.1 Gán nhãn chủ đề - 51 3.3.3.2 Tìm chủ đề ẩn 53 3.3.4 Xác định tin xấu - 54 3.3.5 Xác định lan truyền 54 3.3.6 Xác định lan truyền theo thời gian - 55 3.4 Thiết kế giao diện 56 Chương 4: XÂY DỰNG HỆ THỐNG THỰC NGHIỆM 60 4.1 Tập liệu Enron Email 60 4.2 Xác định chủ đề ẩn 61 4.3 Xác định tin tích cực 65 4.4 Xác định lan truyền 65 4.5 Lan truyền theo thời gian 67 4.6 Lược đồ thống kê liệu 68 4.7 Tốc độ chương trình 68 Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN - 70 5.1 Một số kết đạt 70 5.1.1 Về mặt lý thuyết 70 5.1.2 Về mặt ứng dụng 70 5.2 Những hạn chế 70 5.3 Hướng phát triển 70 TÀI LIỆU THAM KHẢO 72 PHỤ LỤC - 74 PHỤ LỤC 74 DANH MỤC CÁC KÝ TỰ, CHỮ VIẾT TẮT LDA Latent Dirichlet Allocation Gibbs Giải thuật lấy mẫu Gibbs SVM Support Vector Machine Naïve Bayes Giải thuật Naïve Bayes Weka Waikato Environment for Knowledge Analysis Markov Markov Chain Monte Carlo Enron Email Tập ngữ liệu Enron Email Reply, reply all Gửi lại, gửi cho người Send, cc, bcc Gửi, carbon copy, blind carbon copy Forward Gửi chuyển tiếp Like, link, tag,comment Thích, liên kết, liên kết, bình luận Ebola Dịch bệnh ebola User Người dùng Culture Văn hóa Economics Kinh tế Lifestyle Đời sống Politics Chính trị Society Xã hội Technology Kỹ thuật API Thư viện API Fanpage Website cho thành viên News Feed Cột trang facebook DANH MỤC CÁC BẢNG Bảng 2.1: Danh sách mạng xã hội .20 Bảng 3.1: Mô tả liệu Message 39 Bảng 3.2: Mô tả liệu Referenceinfo .39 Bảng 3.3: Mô tả liệu Recipientinfo 40 Bảng 3.4: Mô tả liệu Employeelist 40 Bảng 4.1: Thơng tin cấu hình đề nghị cài đặt hệ thống .60 Bảng 4.2: Bảng hiển thị danh sách từ vựng tương ứng với chủ đề .61 Bảng 4.3: Bảng email thuộc chủ đề với xác suất tương ứng 61 Bảng 4.4: Bảng tập liệu huấn luyện .62 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 2.1: Mơ hình mạng xã hội [12] 19 Hình 2.2: Mơ hình LDA [10] 22 Hình 2.3 Mơ hình SVM 25 Hình 2.4 Giao diện chương trình Weka 28 Hình 2.5: Post share 29 Hình 2.7: Email lan truyền theo thời gian 36 Hình 3.1: sở liệu mạng Enron email .38 Hình 3.2: mơ hình liệu mạng Enron email 41 Hình 3.3: mơ hình liệu hệ thống 42 Hình 3.4: Danh sách từ dùng 43 Hình 3.5: Danh sách dòng liệu cần chạy LDA 44 Hình 3.6: Tập tin model-final.others 45 Hình 3.7: Tâp tin model-final.phi .46 Hình 3.8: Tâp tin modemodel-final.tassign 47 Hình 3.9: Tâp tin Tập tin model-final.theta 48 Hình 3.10: Tâp tin Tập tin model-final.twords 49 Hình 3.11: Tâp tin Tập tin model-final.twords 50 Hình 3.12: Chủ đề đưa vào phân tích tập liệu 52 Hình 3.13: Danh sách chủ đề đưa vào để huấn luyện 52 Hình 3.14: Xác định chủ đề .53 Hình 3.15: API cung cấp Weka 54 Hình 3.16: Lược đồ lan truyền 55 Hình 3.17: Lược đồ lan truyền theo thời gian 55 Hình 3.18: Giao diện chương trình 56 Hình 3.19: Giao diện tab Training 57 Hình 3.20: Giao diện tab Spread .57 Bước 2: Chạy LDA tập liệu huấn luyện Tại bước ta tiến hành huấn luyện theo chủ đề : Culture, Economics, Lifestyle, Politics, Society, Technology Mỗi chủ đề bao gồm 300 mẫu tin để huấn luyện (bảng 4.4) Tập liệu huấn luyện download tại: http://www.theguardian.com Bảng 4.4: Bảng tập liệu huấn luyện Trong bảng 4.4 ta có: - Chủ đề Culture với số lượng từ 109532 - Chủ đề Economics với số lượng từ 103756 - Chủ đề Lifestyre với số lượng từ 99641 - Chủ đề Politics với số lượng từ 107304 - Chủ đề Society với số lượng từ 127094 - Chủ đề Technology với số lượng từ 108497 Bước 3: Đọc tập tin đặc trưng cho chủ đề Đọc tập tin đặc trưng cho chủ đề Tập tin đặc trưng (hình 4.1) bao gồm từ mang ý nghĩa đặc trưng cho chủ đề 62 Hình 4.1: Tập tin đặc trưng cho chủ đề Economics Tại bước này, cập nhật tập tin đặc trưng cho chủ đề (hình 4.2) Hình 4.2: Cập nhật đặc trưng cho chủ đề Economics Trong hình 4.2 ta có: - Chủ đề Culture với số lượng từ 152 - Chủ đề Economics với số lượng từ 213 - Chủ đề Lifestyre với số lượng từ 304 63 - Chủ đề Politics với số lượng từ 401 - Chủ đề Society với số lượng từ 64 - Chủ đề Technology với số lượng từ 427 Bước 4: Gán nhãn cho chủ đề Tại bước ta xử dụng độ đo Jaccard, Cosine, Overlap, Mutual, Dice Tanimoto để xác định chủ đề (thuộc danh sách chủ đề phân tích) tương ứng với chủ đề (được đưa vào huấn luyện) (hình 4.3) Hình 4.3: Tập tin đặc trưng cho chủ đề Economics Bước 5: Xác định chủ đề ẩn Tại bước ta xác định email thuộc chủ đề đưa vào huấn luyện với xác suất khác Ta chọn chủ đề có xác suất lớn Với kết từ bước ta xác định email thuộc chủ đề (hình 4.4) Hình 4.4: Các bước thực xác định chủ đề 64 Hình 4.5: Kết trả Trong hình 4.5 có cột, cột đầu id email, cột thứ nội dung email, cột thứ chủ đề mà email có thuộc cột cuối xác suất tương ứng Xác định tin tích cực 4.3 Tại bước hệ thống sử dụng Weka API Dữ liệu dùng để chạy thử nghiệm 1000 email Kết đầu xác định được email tập liệu đầu vào tích cực hay tiêu cực - SVM: 210 email mang ý nghĩa tiêu cực 790 email mang ý nghĩa tích cực - Nạve Bayes: 190 email mang ý nghĩa tiêu cực 810 email mang ý nghĩa tích cực 4.4 Xác định lan truyền Xác định email lan truyền từ người đến người Kết đầu sơ đồ lan truyền theo người dùng 65 Hình 4.6: Sơ đồ lan truyền tin Trong hình 4.6 ta có: Hass, Glen gửi email đến Harris, Steven; McCarty, Danny; Lokay, Michelle… 66 4.5 Lan truyền theo thời gian Xác định email lan truyền đến người lan truyền thời gian Hình 4.7: Sơ đồ lan truyền tin theo thời gian Trong hình 4.7 ta có: - Một email gửi đến người vào 3/8/2002 7:49 AM - Gửi cho người vào 3/8/2002 11:04 AM - Gửi cho người vào 3/8/2002 11:21 AM - Gửi cho người vào 3/8/2002 1:17 PM - Gửi cho người vào 3/8/2002 3:21 PM - Gửi cho người vào 3/8/2002 4:09 PM 67 4.6 Lược đồ thống kê liệu Hình 4.8: Biểu đồ thống kê chủ đề Dữ liệu thống kê 1000 email đưa vào chạy thử nghiệm Trong hình 4.8 ta có: - 17% thuộc chủ đề politics Trong 81% mang ý nghĩa tích cực, 19% mang ý nghĩa tiêu cực - 30% thuộc chủ đề society Trong 74% mang ý nghĩa tích cực, 26% mang ý nghĩa tiêu cực - 53% thuộc chủ đề technology Trong 81% mang ý nghĩa tích cực, 19% mang ý nghĩa tiêu cực 4.7 Tốc độ chương trình Chương trình thực ngơn ngữ lập trình Java chạy chế độ đơn tiến trình (Thread) Do tốc độ phân tích chậm Với tập ngữ liệu đầu vào 68 1000 email chạy thử nghiệm, tập huấn luyện gồm chủ đề, chủ đề khoảng 300 mẫu tin Chương trình khoảng từ 20 – 30 phút Phần lớn thời gian chạy chương trình dành việc huấn luyện liệu Khi có kết huấn luyện, ta lưu trữ lại, lần sau thực thi chương trình khoảng phút cho 1000 email Kết chương: Trong chương trình bày kết thu chương trình mô tả chương Tại bước ta xác định chủ đề ẩn, tin tích cực hay tiêu cực xác định lan truyền, thời gian lan truyền email 69 Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Một số kết đạt 5.1.1 Về mặt lý thuyết Mục tiêu luận văn tập trung vào nghiên cứu đặc điểm mơ hình: - LDA - Support Vector Machine(SVM) - Nạve Bayes - Tìm hiểu ứng dụng Weka việc giải toán phát tin mang nội dung tích cực hay tiêu cực Nghiên cứu hiểu cấu trúc, cách thứ hoạt động mạng xã hội - 5.1.2 Về mặt ứng dụng Từ việc nghiên cứu này, luận văn xây dựng hệ thống thực nghiệm hỗ trợ cho việc phân loại kiểm sốt luồng thơng tin mạng xã hội Ngồi thực nghiệm cho phép: - Xác định chủ đề ẩn - Xác định thơng điệp có dấu hiệu mang nội dung xấu - Tìm người lan truyền tin xấu - Xác định mức độ lan truyền theo thời gian 5.2 Những hạn chế - Thiếu tập ngữ liệu chuẩn để tiến hành huấn luyện theo chủ đề khác - Chưa hỗ trợ ngôn ngữ tiếng việt - Thiếu tập liệu để chạy thực nghiệm từ tiến hành so sánh kết thu 5.3 Hướng phát triển Với kết đạt bước đầu, tiếp tục nghiên cứu phát triển hệ thống mở rộng thêm theo định hướng sau: - Lan truyền chạy nhiều tập liệu khác như: twitter, facebook… 70 - Phát triển chạy tập liệu tiếng việt - Xây dựng thành model, API độc lập để hỗ trợ cho hệ thống khác - Có thể chia nhỏ bước trình chạy LDA, gán nhãn chủ đề phát triển cài đặt chạy chế độ đa tiến trình giúp cải thiện tốc độ xử lý - Thay đổi số cấu trúc liệu xử dụng chế cache để tối ưu hóa giải thuật Phát triển từ kiến thức kinh nghiệm thu được, xây dựng mạng lưới kiểm sốt thơng tin dùng quản lý diễn đàn, trang mạng xã hội nhà trường xây dựng dành cho sinh viên giáo viên trường đại học, nơi sinh viên giáo viên dùng để trao đổi vấn đề quan tâm, tạo nhóm để nghiên cứu học tập Từ liệu thu từ mạng xã hội này, xây dựng hệ hỗ trợ định định hướng nghiên cứu vấn đề quan tâm nhiều, đồng thời tổ chức kiện giải đáp thắc mắc, định hướng phát triển giành cho sinh viên Cũng ngăn chặn kịp thời truy luồng thông tin xấu, để khắc phục kịp thời 71 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt: [1] http://123doc.org/document/1393721-nghien-cuu-phat-trien-he-thong-loc-noidung-ho-tro-quan-ly-va-dam-bao-an-ninh-an-toan-thong-tin-tren-mang-internet.htm [truy cập ngày 10/4/2016] [2] http://eisp.vn/fanpage-la-gi [truy cập ngày 10/4/2016] [3] https://vi.wikipedia.org/wiki/M%E1%BA%A1ng_x%C3%A3_h%E1%BB%99i [truy cập ngày 10/4/2016] [4]http://viet.jnlp.org/kien-thuc-co-ban-ve-xu-ly-ngon-ngu-tu-nhien/machinelearning-trong-nlp/dhinh-ly-baye [truy cập ngày 10/4/2016] Tài liệu tiếng Anh: [5] B Walsh, Markov Chain Monte Carlo and Gibbs Sampling, 2004 [6] Bing Liu, “Sentiment Analysis and Opinion Mining”, Morgan & Claypool Publishers, May 2012 [7] Byung-Won On, Ee Peng Lim, Jing Jiang, and Loo Nin Teow (2013), “Engagingness and Responsiveness Behavior Models on the Enron Email Network and Its Application to Email Reply Order Prediction”, The Influence of Technology on Social Network Analysis and Mining 2013, , 227-253, Research Collection School Of Information Systems [8] David Kempe (2004), “Maximizing the Spread of Influence through a Social Network” slides - pages 5–23, University of Washington Colloquium [9] David M Blei, Andrew Y Ng, and Michael I Jordan Latent Dirichlet Allocation J.Mach Learn Res., 3:993–1022, 2003 [10] http://deliveryimages.acm.org/10.1145/2140000/2133826/figs/f1.jpg [truy cập ngày 15/3/2016] 72 [11] http://digitalverge.net/social-media/what-is-facebook-edgerank-algorithm/ [truy cập ngày 15/3/2016] [12] http://jonathanstray.com/coingraph [truy cập ngày 15/3/2016] [13] http://u.cs.biu.ac.il/~89-680/darling-lda.pdf [truy cập ngày 15/3/2016] [14] https://en.wikipedia.org/wiki/Facebook_features [truy cập ngày 15/3/2016] [15] https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation [truy cập ngày 15/3/2016] [16] https://en.wikipedia.org/wiki/Weka (machine_learning) [truy cập ngày 15/3/2016] [17] Muon Nguyen, Thanh Ho, Phuc Do (2013), “Social Networks Analysis Based on Topic Modeling”, The 10th IEEE RIVF International Conference on Computing and Communication Technologies (P.119-122), Hanoi [18] Nguyen Le Hoang, Pham Vu Dang Khoa, Phuc Do (2013), “Predicting Preferred Topics of Authors based on Co-Authorship Network”, The 10th IEEE RIVF International Conference on Computing and Communication Technologies (P.119-122), Hanoi [19] Xuan-Hieu Phan, Cam-Tu Nguyen, Dieu-Thu Le, Le-Minh Nguyen, Susumu Horiguchi, and Quang-Thuy Ha (2011), “A hidden topic-based framework towards building applications with short Web documents”, IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE), Vol.23, No.7, pp.961-976 73 PHỤ LỤC PHỤ LỤC Danh sách email: Mã email, tiêu đề, nội dung … 74 PHỤ LỤC Phụ lục cung cấp mẫu danh sách chủ đề huấn luyện từ khóa tương ứng: Culture Acculturation; maintenance; dialect; Economics assimilation; class; culture; diffusion; enculturation ; boundary Advantage; advertisement; advice; custom; agenda; apology; authorization; bill; discrimination; brand; ethnic budget; group ; comparison; ethnocentrism; ethnocide; gender roles; competitor; globalization; multiculturalism; competition; confirmation; costs; norm; creditor; customer; deadline; debt; race … debtor; decision… Lifestyle Politics Abstinence; access; activity; advocate; Absentee; aerobics; commission; affect; alert; accountable; activist; ambulatory; adverse; advertising; advice; advise; appearance; appetite; athlete; athletics; affiliation; aggressive; amendment; avoidance; balance; behavior; bending; announcement; benefit; bicycling; body; bones; breathing; appearance; anthem; appoint; appeal; approach; calcium; calisthenics; calories; care… appropriation; arguments… Society Technology Army; base; club; society; company; Smartphone; companionship; contest; adobe; Airbnb; competition; blackberry; broadband; amazon.com; country; land; court; crime; offense; android; angry birds; anonymous; civilization; democracy; republic; apple; apple watch; apps; apps pitch; dominion; rule; election; existence; male; apps rush; arcade games; Arpanet; female; female person; nation… Asus; audio boo; battlefield… 75 PHỤ LỤC Hướng dẫn sử dụng Html Agility Html Agility thử viên cung cấp để phân tích trích xuất thơng tin từ tập tin Html - Trước tiên ta cần download Html Agility website https://htmlagilitypack.codeplex.com/ - Add Html Agility vào project - Load website cần lấy liệu Ví dụ: HtmlAgilityPack.HtmlWeb web = new HtmlWeb(); HtmlAgilityPack.HtmlDocument doc = web.Load("your url"); - Phân tích lấy liệu Html Agility cho phép trích xuất liệu theo cú pháp Lamda Ví dụ: doc.DocumentNode.Descendants("div").First(x => x.Id == "album_notes").InnerHtml; Cú pháp cho phép lấy html div có Id = "album_notes" Ngồi kết hợp nhiều điều kiện để lấy nội dung tập tin html Ví dụ: IEnumerable tocLiLevel1 = htmlDocument.DocumentNode.Descendants() .Where(x => x.Name == "li" && x.Attributes.Contains("class")&& x.Attributes["class"].Value.Split().Contains("toc level-1")); Cú pháp cho phép lấy danh sách tất node li có class = toclevel-1 76 ... w[i] Chủ đề z[i] nd ,chủ đề- =1; For k=0 ntừ ,chủ đề- =1; nchủ đề- =1 → N-1 p(z=k|.)=(nd,k+αk)