Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
1,75 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG ĐỒN TẤN PHÁT TRỰC QUAN HĨA MẠNG TRÍCH DẪN CÁC BÀI BÁO KHOA HỌC LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Đồng Nai, năm 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG ĐOÀN TẤN PHÁT TRỰC QUAN HĨA MẠNG TRÍCH DẪN CÁC BÀI BÁO KHOA HỌC Chuyên ngành: Công nghệ thông tin Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: PGS.TS ĐỖ PHÚC Đồng Nai, năm 2017 LỜI CẢM ƠN Những kiến thức luận văn kết hoạt động tự nghiên cứu q trình cơng tác hai năm học Cao học Công nghệ thông tin (2015 - 2017) Trường Đại học Lạc Hồng Dưới giảng dạy, đào tạo dìu dắt trực tiếp thầy cô trường Trước tiên, xin bày tỏ kính trọng lịng biết ơn chân thành, lời cảm ơn sâu sắc thầy PGS.TS Đỗ Phúc, người trực tiếp hướng dẫn, định hướng cho giải vấn đề luận văn Tôi xin bày tỏ lời cảm ơn chân thành tới quí thầy cô Khoa Công nghệ thông tin, Khoa sau đại học Trường Đại học Lạc Hồng, tạo điều kiện thuận lợi cho thời gian học tập trường Tôi xin cảm ơn đến Ban Lãnh đạo, anh chị đồng nghiệp Trường Đại Học FPT, người thân, bạn bè bạn đồng môn lớp cao học, ủng hộ giúp đỡ trình làm luận văn tốt nghiệp Xin trân trọng cảm ơn! Đồng Nai, ngày 20 tháng 10 năm 2017 Học viên Đồn Tấn Phát LỜI CAM ĐOAN Tơi cam đoan Luận văn Thạc sĩ “TRỰC QUAN HĨA MẠNG TRÍCH DẪN CÁC BÀI BÁO KHOA HỌC” cơng trình nghiên cứu độc lập, tơi hồn thành Các nội dung nghiên cứu, kết luận văn trung thực chưa công bố hình thức trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá thu thập từ công việc thực tế phát sinh đơn vị, tài liệu mà tơi tham khảo có nguồn gốc trích dẫn rõ ràng Tơi xin chịu hồn tồn trách nhiệm lời cam đoan Đồng Nai, ngày 20 tháng 10 năm 2017 Học viên ĐOÀN TẤN PHÁT MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 Giới thiệu đề tài 1.2 Mục tiêu đề tài 1.3 Đối tượng phạm vi nghiên cứu 1.3.1 Đối tượng nghiên cứu 1.3.2 Phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.4.1 Nội dung thực 1.4.2 Phương pháp thực 1.5 Ý nghĩa đề tài CHƯƠNG 2: CÁC KIẾN THỨC LIÊN QUAN 2.1 Cơ sở liệu đồ thị Neo4j 2.1.1 Cơ sở liệu đồ thị 2.1.1.1 Tổ chức quan hệ đồ thị 2.1.1.2 Gán nhãn Node 2.1.1.3 Truy vấn đồ thị cách duyệt 2.1.1.4 Lập mục cho Node Relationship 2.1.1.5 Neo4j sở liệu đồ thị 2.1.2 Cơ sở liệu Neo4j 2.1.2.1 Nodes 2.1.2.2 Relationships 2.1.2.3 Properties 11 2.1.2.4 Nhãn 12 2.1.2.5 Đường dẫn 13 2.2 Ngôn ngữ truy vấn Cypher 15 2.2.1 Tổng quan Cypher 15 2.2.2 Tham số 17 2.2.3 Giao dịch (transaction) 18 2.2.4 Cú pháp 18 2.2.4.1 Toán tử 18 2.2.4.2 Biểu thức 18 2.2.5 Mệnh đề 19 2.2.5.1 Mệnh đề RETURN 19 2.2.5.2 Mệnh đề ORDER BY 20 2.2.5.3 Mệnh đề LIMIT 20 2.2.5.4 Mệnh đề SKIP 20 2.2.5.5 Mệnh đề WHERE 21 2.3 Lý thuyết mạng trích dẫn 21 2.3.1 Đặc điểm mạng trích dẫn 22 2.3.2 Một số khái niệm mạng trích dẫn 22 2.3.2.1CitedSet 22 2.3.2.2 CitingSet 23 2.3.2.3 Full Graph 25 2.3.3 Lợi ích mạng trích dẫn: 22 2.4 GraphStream 27 2.4.1 Tổng quan GraphStream 27 2.4.2 Sử dụng GraphStream 28 2.4.2.1 Cài đặt 28 2.4.2.2 Sử dụng graphStream 28 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 31 3.1 Phân tích yêu cầu ứng dụng 31 3.2 Thiết kế ứng dụng 32 3.2.1 Chuẩn hóa sở liệu 32 3.2.2 Tạo sở liệu đồ thị Neo4j 35 3.2.3 Tìm kiếm mạng trích dẫn 36 3.2.4 Trực quan 37 CHƯƠNG 4: HIỆN THỰC HỆ THỐNG VÀ THỬ NGHIỆM 39 4.1 Yêu cầu thực nghiệm 39 4.2 Chạy chương trình 40 4.2.1 Thao tác với liệu 41 4.2.2 Trực quan đồ thị 44 CHƯƠNG 5: Kết luận 50 5.1 Kết luận 50 5.2 Những thiếu sót luận văn 50 5.3 Hướng phát triển 50 DANH MỤC HÌNH ẢNH Hình 1.1 Mạng trích dẫn Hình 2.1: Đồ thị nhiều Node Relationship Hình 2.2: Truy vấn đồ thị cách duyệt Hình 2.3: Lập mục cho Node Relationship Hình 2.4: Cơ sở liệu đồ thị Neo4j Hình 2.5: Các Node Hình 2.6: Một Node có thuộc tính Hình 2.7: Relationships 10 Hình 2.8: Quan hệ hai Node 10 Hình 2.9: Quan hệ vào/ra Node 10 Hình 2.10: Quan hệ loop 11 Hình 2.11: Các kiểu Relationship 11 Hình 2.12: Properties 12 Hình 2.13: Nhãn 13 Hình 2.14: Paths 14 Hình 2.15: Path có chiều dài 14 Hình 2.16: Path có chiều dài 14 Hình 2.17: Đồ thị có nhiều quan hệ liên kết với 16 Hinh 2.18: Đồ thị đơn giản 19 Hình 2.19: Trích dẫn ln ln ngược với thời gian 22 Hình 2.20: Kết CitedSet 23 Hình 2.21: Kết CitingSet 24 Hình 2.22: Kết Full Graph 25 Hình 2.23: Trích dẫn ln ngược với thời gian 26 Hình 2.24: Tác giả lĩnh vực 27 Hình 2.25: Xu hướng mạng trích dẫn 27 Hình 3.1: Mô tả tổng quan hoạt động ứng dụng 31 Hình 3.2: Bảng liệu file csv 34 Hình 4.1 Hướng dẫn mở chương trình trực quan 40 Hình 4.2: Giao diện ứng dụng 41 Hình 4.3: Giao diện thao tác với file text 42 Hình 4.4: Giao diện nơi lưu file csv 42 Hình 4.5: Giao diện chọn file csv để chuyển sang neo4j 43 Hình 4.6: Giao diện chọn file csv để chuyển sang neo4j 43 Hình 4.7: Giao diện nơi lưu file database neo4j 44 Hình 4.8: Kết trực quan Cited set 45 Hình 4.9: kết dạng text Cited set 46 Hình 4.10: Kết trực quan Citing set 46 Hình 4.11 Kết dạng text Citingset 47 Hình 4.12 Kết trực quan full graph 48 Hình 4.13 Kết dạng text full graph 48 Hình 4.14 Kết trực quan mối quan hệ hai báo 49 DANH MỤC BẢNG BIỂU Bảng 2.1: kết trả tất node đồ thị 20 Bảng 4.1: Các thơng số cấu hình phần cứng hệ điều hành 39 Bảng 4.2: Các thơng số cấu hình phần mềm 40 CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 Giới thiệu đề tài Hiện nay, với phát triển vượt bậc mạng Internet, việc tìm kiếm tài liệu trở nên dễ dàng Tuy nhiên làm nghiên cứu, nhà nghiên cứu cần đọc tài liệu nhiều ln muốn biết, phần mà họ nghiên cứu có báo liên quan với trích dẫn đâu Nhưng việc truy xuất nguồn gốc tìm kiếm để xác định mối liên hệ báo khoa học khó khăn Với số lượng báo khoa học năm nhiều, liệu lúc lớn dần theo thời gian Điều gây nhiều khó khăn việc lưu trữ truy xuất cần Mạng trích dẫn báo khoa học đồ thị lớn, nên sở liệu đồ thị neo4j với khả lưu trữ truy vấn đồ thị sử dụng để lưu trữ mạng trích dẫn Cơ sở liệu đồ thị Neo4j phần mềm quản trị sở liệu đồ thị mã nguồn mở, viết Java, phát hành vào năm 2010 Neo4j sở liệu đồ thị lưu trữ liệu đồ thị.[5] Luận văn nhằm giải việc lưu trữ liệu đồ thị biểu diễn cách truy xuất kết nối liệu lớn cách sinh động dễ hình dung o Tình hình ngồi nước: - Trên giới, lưu trữ liệu lớn với sở liệu đồ thị ngày nghiên cứu sử dụng cách rộng rãi - Egghe & Rousseau (1990, p 228), giải thích, tài liệu A trích dẫn tài liệu B, thể điều mũi tên từ nút đại diện cho tài liệu A đến nút đại diện cho tài liệu B Bằng cách văn gôm thành đồ thị có hướng, gọi đồ thị trích dẫn mạng trích dẫn.[7] 37 -Ý nghĩa giá trị hàm tìm kiếm: Lable: nhãn gán cho nút Cấp độ bd: cấp độ bắt đầu tìm kiếm cho nút, ln cấp độ 0(Tìm nút gốc) Cấp độ kt: cấp độ tối đa mạng trích dẫn tính từ nút gốc cần tìm Tên thuộc tính: tên thuộc tính nút Giá trị thuộc tính: Nội dung thuộc tính cần tìm N: đại diện cho nút gốc R: đại diện cho cạnh M: đại diện cho nút có liên quan với nút gốc (n:lable)(m): Tìm nút mà nút gốc biết(CitingSet) (n:label)-[r* ]-(m): Tìm nút biết nút gốc nút gốc biết(Tìm hướng) 3.2.4 Trực quan Quy trình trực quan hóa mạng trích dẫn gồm bước sau: Bước 1: Đọc kết mạng trích dẫn tìm thấy mục tìm kiếm Bước 2: Tạo danh sách năm đồ thị Bước 3: Xác định tô đỏ nút gốc Bước 4: Vẽ nút Bước 5: Xác định quan hệ trích dẫn nút gốc nút trích dẫn để tạo hướng liên kết cho nút Vẽ quan hệ Bước 6: Lặp lại bước hết nút hết quan hệ while(kết search){ if(kết search nút) { if(bài báo gốc){ thêm thuộc tính màu đỏ cho nút gốc } Thêm nút vào GraphStream } 38 else if(kết search cạnh) { Thêm cạnh vào graphstream } } Cách thức duyệt đồ thị tìm mạng trích dẫn theo cấp độ: Lần lượt đỉnh đồ thị (Mỗi đỉnh tương ứng với báo, gọi nút) Tại đỉnh tìm tiếp đỉnh gần có quan hệ trích dẫn đỉnh xét duyệt sâu xuống theo đỉnh Khi đạt độ sâu mong muốn tiếp tục với đỉnh gần thứ nhì có quan hệ trích dẫn đỉnh xét, v.v… Khi gặp đỉnh khơng thỏa điều kiện khơng duyệt sâu xuống tiếp nên loại bỏ nhiều phân nhánh dư thừa dẫn đến bỏ qua nhiều phép duyệt không cần thiết nên tốc độ đảm bảo dù có tăng độ sâu tăng số lượng ghi lên Cần ý độ sâu lớn, tốc độ Neo4j không đổi do: Số lượng nút tương đối thấp Dù tăng độ sâu lên tìm kết thấp độ sâu cao kết Do duyệt theo kiểu đồ thị nên ảnh hưởng nhiều vào số lượng kết trả Vì độ sâu lớn, lẽ phải nhiều kết quả, phải tốn thời gian không phản ánh đầy đủ Nếu số lượng nút lên đến hàng triệu nút độ sâu lên đến hàng nghìn số phản ánh xác 39 CHƢƠNG 4: HIỆN THỰC HỆ THỐNG VÀ THỬ NGHIỆM 4.1 Yêu cầu thực nghiệm Dựa kiến thức trình bày trên, luân văn thực viết chương trình ứng dụng demo Chương trình viết ngơn ngữ java, thể hàm thư viện mà Neo4j, Cypher, GraphStream hỗ trợ cho ngơn ngữ Vì thời gian có hạn nên ứng dụng thực chức đơn giản như: - Đọc file dạng txt - Đọc lưu file csv - Tạo sở liệu Neo4j - Import liệu từ file csv sang neo4j - Duyệt đồ thị - Trực quan đồ thị Để thử nghiệm cách hiệu quả, tơi trích lọc tệp liệu chứa khoảng triệu 300 nghìn báo 16000 báo Trong có 300 báo gốc tồn trích dẫn liên quan 300 báo Bảng 4.1: Các thơng số cấu hình phần cứng hệ điều hành STT Môi trường Máy thực Thông số Processor Mô tả Ghi Intel(R) Core(TM) i5- 4210U CPU @ 1.70GHz(4 CPU),~1.7GHz Ram 4Gb sử dụng 512Mb Hệ điều hành Windows 10 Pro 64 bit 40 Bảng 4.2: Các thơng số cấu hình phần mềm STT Tên phần mềm, thư viện hỗ trợ Mô tả Neo4j Version 3.2.3 java Version 1.8.0_144 GraphStream Gs-core-1.3 Netbean Version 8.2 4.2 Chạy chƣơng trình Chương trình xuất tập tin jar Nên hệ điều hành phải cài đặt môi trường java chạy ứng dụng Cài đặt gói jdk java, báo dùng jdk 1.8.0_144 Nhấp chuột phải lên tập tin VisualNeo4j.jar chọn open hình: Hình 4.1 Hướng dẫn mở chương trình trực quan 41 Giao diện ứng dụng Hình 4.2: Giao diện ứng dụng Hình 4.2 thể đầy đủ thơng tin ứng dụng hỗ trợ chuẩn hóa liệu, lưu sở liệu neo4j, tìm kiếm trực quan hóa mạng trích dẫn 4.2.1 Thao tác với liệu Chọn nút Browse file txt để đọc file Citation Net tải từ trước với cấu trúc file trình bày 42 Hình 4.3: Giao diện thao tác với file text Hình 4.3 thể cách thức chọn file liệu mạng trích dẫn dạng text Chọn nút save as để tìm nơi lưu file csv chứa liệu chuẩn hóa cho phù hợp với sở liệu đồ thị Neo4j Hình 4.4: Giao diện nơi lưu file csv 43 Hình 4.4 thể cách thức chọn nơi để lưu file dạng csv chứa liệu chuẩn hóa từ file mạng trích dẫn dạng text Để giới hạn số nút gốc cho tiện việc làm nhỏ đồ thị trực quan đồ thị ta nhập giá trị giới hạn vào giới hạn số nút gốc Sau nhấn nút ReadTxtToCSV để bắt đầu chuẩn hóa liệu từ file dạng txt sang file dạng csv Hình 4.5: Giao diện chọn file csv để chuyển sang neo4j Hình 4.5 thể cách thức chọn số nút gốc bắt đầu lưu trữ liệu sang file csv Với file liệu trên, ta chọn đồ thị có 300 nút gốc tương ứng với 15900 nút cho tổng đồ thị Sau có file liệu chuẩn hóa dạng dịng cột file csv ta tiếp tục tiến hành import liệu từ file csv vào sở liệu đồ thị Neo4j Chọn nút browse file csv để chọn file liệu chuẩn hóa dạng csv Hình 4.6: Giao diện chọn file csv để chuyển sang neo4j Hình 4.6 thể cách chọn file csv lưu trữ liệu chuẩn hóa để lưu sang csdl đồ thị neo4j 44 Chọn save as để tìm nơi lưu cho sở liệu neo4j, có định dạng graphdb Sau chọn nút ReadCsvToNeo4j để import file csv vừa chọn vào sở liệu neo4j chọn Hình 4.7: Giao diện nơi lưu file database neo4j Hình 4.7 thể cách chọn nơi lưu sở liệu đồ thị neo4j cách thức đặt tên cho định dạng sở liệu đồ thị neo4j 4.2.2 Trực quan đồ thị Trực quan đồ thị dạng CitedSet Chọn loại trích dẫn CitedSet Chọn thuộc tính cần tìm, index, authors, PaperTitle báo cần tìm Nhập nội dung cần tìm tương ứng với thuộc tính chọn Nhập độ phủ, tức nhập số giới hạn cấp trích dẫn Sau chọn nhập đầy đủ tham số bấm nút search để tìm trực quan đồ thị tìm 45 Hình 4.8: Kết trực quan Cited set Hình 4.8 cho ta thấy báo bị ảnh hưởng nút gốc (nút màu đỏ) 46 Hình 4.9: kết dạng text Cited set Hình 4.9 thể nội dung trực quan dạng liệu text, bao gồm thông tin nút thông tin quan hệ (cạnh nối nút) Tương tự ta có đồ thị dạng CitingSet Hình 4.10 Kết trực quan Citingset 47 Hình 4.10 thể trực quan báo mà nút gốc (nút màu đỏ) trích dẫn trình làm nghiên cứu Hình 4.11 Kết dạng text Citingset Hình 4.11 thể kết dạng text mạng trích dẫn, bao gồm liệu node thông tin quan hệ node 48 Tương tự ta có đồ thị bao gồm CitedSet CitingSet Được gọi full graph Hình 4.12 Kết trực quan full graph Hình 4.12 thể độ phụ cấp citingset citedset nút gốc (nút màu đỏ), điều giúp thể rõ tầm ảnh hưởng xu hướng lĩnh vực nghiên cứu năm Hình 4.13 Kết dạng text full graph Hình 4.13 thể thơng tin node thông tin quan hệ node mạng trích dẫn citingSet citedSet 49 Mối quan hệ hai báo Hình 4.14 Kết trực quan mối quan hệ hai báo Như thấy hình 4.14 thể mối liên kết báo 921701 báo 688522 mạng trích dẫn có độ phũ 50 CHƢƠNG 5: KẾT LUẬN 5.1 Kết luận Trong phạm vi luận văn, tơi tiến hành tìm hiểu sở lý thuyết thực với Cơ sở liệu đồ thị neo4j, ngôn ngữ truy vấn cypher, thư viện GraphStream, ngơn ngữ lập trình java Cụ thể, thực nội dung sau: - Cài đặt lập trình với java với netbean - Tìm hiểu kỹ thuật xử lý file liệu lớn giúp máy khơng bị treo q trình chuẩn hóa liệu - Tìm hiểu cài đặt neo4j để lưu mạng trích dẫn - Thao tác java với chức neo4j để tạo sở liệu đồ thị neo4j - Tìm hiểu ngơn ngữ truy vấn Cypher sử dụng để tìm kiếm thơng tin mạng trích dẫn - Sử dụng GraphStream để trực quan hóa mạng trích dẫn - Sắp xếp kết trực quan theo kiểu trích dẫn 5.2 Những thiếu sót luận văn Mặc dù tổ chức lưu trữ mạng trích dẫn, trực quan hóa linh động dễ hiểu mạng trích dẫn tơi thấy cịn số thiếu sót sau: Do bị giới hạn phần cứng nên thử nghiệm với số file có dung lượng nhỏ Do bị giới hạn thời gian luận văn nên chưa thể làm giao diện thân thiện người sử dụng 5.3 Hƣớng phát triển Hướng phát triển luận văn đề xuất sau: - Nghiên cứu thiết kế giao diện dễ sử dụng - Thực nghiệm với máy có cấu hình mạnh - Thực kết thí nghiệm với liệu lớn TÀI LIỆU THAM KHẢO [1] Ian Robinson, Jim Webber & Emil Eifrem (2013).Graph Databases, Published by O‟Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472 [2] Neo4j, tham khảo đường link https://neo4j.com/docs/developermanual/current, truy cập 1/2017 [3] Daniel McNamara (2013) Predicting High Impact Academic Papers Using Citation Network Features, Springer, Heidelberg [4] Yue Su (2015) Influence Visualization of Scientific Paper Through Flowbased Citation Network Summarization [5] Michael hunger, Ryan Boyd & William Lyon (2016) The Definitive Guide to Graph Databases for the RDBMS Developer, Neo technology [6] Citation Network Dataset, tham khảo đường link https://aminer.org/citation, truy cập 3/2017 [7] Citation Network, tham khảo đường link https://en.wikipedia.org/wiki/Citation_network, truy cập 6/2017 [8] Barabasi, Albert-Laszlo (2002) The New Science of Networks Cambridge, MA : Perseus Publishing, 2002 ... HỒNG ĐỒN TẤN PHÁT TRỰC QUAN HĨA MẠNG TRÍCH DẪN CÁC BÀI BÁO KHOA HỌC Chuyên ngành: Công nghệ thông tin Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: PGS.TS ĐỖ... lưu trữ liệu báo khoa học Tạo mạng trích dẫn báo khoa học với khoảng 10.000 báo 1.4 Phƣơng pháp nghiên cứu 1.4.1 Nội dung thực - Tạo mạng trích dẫn báo khoa học - Lưu mạng trích dẫn vào sở liệu... thị trực tiếp, gọi đồ thị trích dẫn mạng trích dẫn. ” 22 2.3.1 Đặc điểm mạng trích dẫn Tất các cạnh mạng trích dẫn ngược với thời gian tại.[3] Hình 2.19 thể đặc điểm cách thức hiển thị mạng trích