Tiểu luận môn cơ sở dữ liệu nâng cao MẠNG XÃ HỘI VỚI NEO4J Social Network

33 1.2K 6
Tiểu luận môn cơ sở dữ liệu nâng cao MẠNG XÃ HỘI VỚI NEO4J Social Network

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT ĐỀ TÀI: MẠNG XÃ HỘI VỚI NEO4J Social Network Giảng viên hướng dẫn : PGS.TS Đỗ Phúc Sinh viên thực hiện: Trần Duy Phong MHHV:CH1101160 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc MỤC LỤC Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc CHƯƠNG I: MẠNG XÃ HỘI Khái niệm mạng xã hội Mạng xã hội, hay gọi mạng xã hội ảo, (tiếng Anh: social network) dịch vụ nối kết thành viên sở thích Internet lại với với nhiều mục đích khác không phân biệt không gian thời gian Mạng xã hội có tính chat, e-mail, phim ảnh, voice chat, chia sẻ file, blog xã luận Mạng đổi hoàn toàn cách cư dân mạng liên kết với trở thành phần tất yếu ngày cho hàng trăm triệu thành viên khắp giới Các dịch vụ có nhiều phương cách để thành viên tìm kiếm bạn bè, đối tác: dựa theo group (ví dụ tên trường tên thành phố), dựa thông tin cá nhân (như địa e-mail screen name), dựa sở thích cá nhân (như thể thao, phim ảnh, sách báo, ca nhạc), lĩnh vực quan tâm: kinh doanh, mua bán Hiện giới có hàng trăm mạng mạng xã hội khác nhau, với MySpace Facebook tiếng thị trường Bắc Mỹ Tây Âu; Orkut Hi5 Nam Mỹ; Friendster Châu Á đảo quốc Thái Bình Dương Mạng xã hội khác gặt hái thành công đáng kể theo vùng miền Bebo Anh Quốc, CyWorld Hàn Quốc, Mixi Nhật Bản Facebook Việt Nam Về bản, mạng xã hội giống trang web mở với nhiều ứng dụng khác Mạng xã hội khác với trang web thông thường cách truyền tải thơng tin tích hợp ứng dụng Trang web thơng thường giống truyền hình, cung cấp Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc nhiều thông tin, thông tin hấp dẫn tốt mạng xã hội tạo ứng dụng mở, công cụ tương tác để người tự tương tác tạo dòng tin lan truyền dịng tin Sự đời ạt mạng xã hội (Social Network) thời gian gần Việt Nam tồn giới tạo sóng kích thích phát triển kênh truyền thơng cộng đồng Thời kỳ trăm hoa đua nở mạng xã hội tất yếu dẫn đến việc phân khúc thị trường ngày nhỏ hơn, cạnh tranh mạng ngày gay gắt Điểm bật Social Network mà nhận thấy tính kết nối chia sẻ mạnh mẽ Nó phá vỡ ngăn cách địa lý, ngơn ngữ, giới tính lẫn quốc gia Những bạn làm, bạn nghĩ, giới chia sẻ với bạn tích tắc Social Network site hay mạng xã hội mạng tạo để tự thân lan rộng cộng đồng thông qua tương tác thành viên cộng đồng Mọi thành viên mạng xã hội kết nối người mắt xích để tạo nên mạng lưới rộng lớn truyền tải thơng tin Chúng ta cần phân biệt hai khái niệm Social Media (truyền thông công chúng) Social Network (mạng xã hội) Hãy xét hai phần truyền thông: sản xuất nội dung phân phối nội dung (khác với phát hành) Trong mạng xã hội đề cập đến tập hợp phần tử (thành viên) quan hệ liên kết chúng Social Media đề cập tới hình thức sản xuất phân phối nội dung Như vậy, MySpace hay Facebook, tự thân khơng phải Social Media khơng sản xuất mà không phân phối, mà mạng xã hội, cung cấp mơi trường để blogger sản xuất phân phối Social Mediakhông phụ thuộc vào Social Network Ví dụ lập trang web cá nhân để đưa viết quan điểm cá nhân lên, sản xuất nội dung, nhờ Internet phân phối Social Media Với đặc điểm đó, lợi ích mà mạng xã hội mang lại cho doanh nghiệp bao gồm: Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc - Thiết lập mối quan hệ với số đông khách hàng mục tiêu Khả lan truyền thơng tin nhanh chóng Các hoạt động trực tuyến truyền cảm hứng cho hội thoại "thế - giới thực" Thông tin cá nhân chân thực người dùng Cơ hội để kể chuyện doanh nghiệp sản phẩm bạn đồng thời tăng độ - nhận biết thương hiệu Gia tăng trải nghiệm người dùng Về mặt chất, mạng xã hội hình thức làm marketing truyền miệng môi trường Internet "Tiếng lành đồn xa, tiếng đồn xa", với khả lan truyền thông tin nhanh vận tốc ánh sáng, mạng xã hội trở thành "kẻ hủy diệt" doanh nghiệp tin tức bất lợi lan truyền vượt khả kiểm sốt doanh nghiệp Vì thế, thâm nhập mạng xã hội tập trung đơng đảo nhóm khách hàng mục tiêu để hiểu rõ nhu cầu họ, đồng thời hạn chế tối đa rủi ro cho doanh nghiệp việc tất yếu mà marketer nên làm Lịch sử mạng xã hội Mạng xã hội xuất lần năm 1995 với đời trang Classmate với mục đích kết nối bạn học, xuất SixDegrees vào năm 1997 với mục đích giao lưu kết bạn dựa theo sở thích Năm 2002, Friendster trở thành trào lưu Hoa Kỳ với hàng triệu thành viên ghi danh Tuy nhiên phát triển nhanh dao hai lưỡi: server Friendster thường bị tải ngày, gây bất bình cho nhiều thành viên Năm 2004, MySpace đời với tính phim ảnh (embedded video) nhanh chóng thu hút hàng chục ngàn thành viên ngày, thành viên cũ Friendster chuyển qua MySpace vòng năm, MySpace trở thành mạng xã hội có nhiều lượt xem Google tập đoàn News Corporation mua lại với giá 580 triệu USD Năm 2006, đời Facebook đánh dấu bước ngoặt cho hệ thống mạng xã hội trực tuyến với tảng lập trình "Facebook Platform" cho phép thành viên tạo cơng cụ (apps) cho cá nhân thành viên khác dùng Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Facebook Platform nhanh chóng gặt hái thành cơng vược bực, mang lại hàng trăm tính cho Facebook đóng góp khơng nhỏ cho số trung bình 19 phút mà thành viên bỏ trang ngày Cấu thành Nút (node): Là thực thể mạng Thực thể cá nhân, doanh nghiệp tổ chức Liên kết (tie): mối quan hệ thực thể Trong mạng có nhiều kiểu liên kết Ở dạng đơn giản nhất, mạng xã hội đơn đồ thị vô hướng mối liên kết phù hợp nút Ta biểu diễn mạng liên kết biểu đồ mà nút biểu diễn điểm liên kết biểu diễn đoạn thẳng Mục tiêu Tạo hệ thống Internet cho phép người dùng giao lưu chia sẻ thơng tin cách có hiệu quả, vượt giới hạn địa lý thời gian Xây dựng lên mẫu định danh trực tuyến nhằm phục vụ yêu cầu công cộng chung giá trị cộng đồng Nâng cao vai trò công dân việc tạo lập quan hệ tự tổ chức xoay quanh mối quan tâm chung cộng đồng thúc đẩy liên kết tổ chức xã hội Phân tích mạng xã hội Phân tích mạng xã hội phương pháp phân tích kết nối cá nhân, nhóm hay quan nhiều loại hình cụ thể phụ thuộc lẫn chẳng hạn bạn bè, quan hệ họ hàng, sở thích chung, cơng việc, nhiều mối quan hệ khác Phân tích mạng xã hội xem mối quan hệ xã hội lý thuyết mạng bao gồm nút quan hệ ( gọi kết nối) Các node mạng có mối liên hệ actor network Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Phân tích mạng xã hội lên kỹ thuật quan trọng xã hội học đại Nó đạt đến tầm ảnh hưởng phân tích nhân chủng học, sinh học, nghiên cứu thơng tin, kinh tế Phân tích mạng xã hội trở thành chủ đề phổ biến Phân tích mạng xã hội chuyển từ khái niệm mơ hồ tới cách tiếp cận phân tích theo khng mẫu Các nhà phân tích tập trung nghiên cứu phân tích tương tác thay phân tích hành vi cá nhân Sự khác biệt chúng phụ thuộc phần lớn vào nhà phân tích thu thập liệu Ví dụ cơng ty, trường học, nhóm mạng xã hơi, nhà phân tích có thơng tin đầy đủ liệu 3.1 Lịch sử phân tích mạng xã hội Đầu tiên thảo luận lịch sử phân tích mạng nhằm đưa số ý tưởng vấn đề cần bàn luận, Sau định nghĩa khái niệm Các nghiên cứu trước phân tích mạng thuộc lĩnh vực phân tích tâm lý giáo dục, phát triển trẻ, xã hội học, nhân loại học (anthropology) Vào Thế kỷ 19, Durkheim viết “sự kiện xã hội”—hay tượng tạo qua tương tác cá nhân, hàm chứa thực tế độc lập chủ thể cá nhân (individual actor) Bước sang kỷ 20, Simmel học giả suy nghĩ tường tận thuật ngữ cho mạng xã hội Simmel khảo sát cách đối tác thứ tác động lên quan hệ hai cá nhân cách thức cần thiết để cấu trúc tổ chức hay quan chức hành điều hành tương tác nhóm lớn Một ví dụ nghiên cứu mạng theo lối thực nghiệm vào năm 1922, Almack “Ảnh hưởng thông minh vào việc lực chọn mối kết hợp.” Almack hỏi học sinh trường tiểu học California cách chọn bạn Sau ơng ta kết hợp số IQ người chọn người chọn đưa giả thuyết tác động lựa chọn chủ thể chọn lựa chọn đồng cấp độ thông minh Năm 1926, Wellman ghi nhận cặp cá nhân thường chơi thân Cô ghi lại liệu thuộc tính chiều cao, học lực, IQ,… phát đồng cấp cấp độ Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc 3.2 Một số khái niệm Nút cá nhân đồ thị hay hệ thống (Nếu mạng nhà lập pháp nút nhà lập pháp) Đồ thị hay hệ thống hay mạng tập đơn vị có hay khơng có liên kết với “Cung” kết nối nút Lân cận N nút tập nút kết nối trực tiếp với nút Bậc (degree): bậc ki nút số nút lân cận Trong đồ thị hay mạng khơng có hướng cung thuận nghịch(reciprocal), nghĩa A nối với B B xem nối với A Trong đồ thị hay mạng có hướng, cung khơng thuận nghịch—A nối với B, B không nối với A (mũi tên cung chiều kết nối.) Betweenness: Trong lý thuyết đồ thị phân tích mạng xã hội, có cách khác để xác định tầm quan trọng tương đối đỉnh trung tâm đồ thị(ví dụ người quan trọng mạng lưới xã hội, tầm ảnh hưởng phòng tòa nhà sử dụng đường mạng lưới thị Có cách xác định sử dụng rộng rãi phân tích mạng: degree centrality, betweenness, closeness, and eigenvector centrality - Degree centrality: Được định nghĩa số lượng liên hệ mà node có, để có Degree centrality mức độ cao node phải kết nối với tất node khác node khác kết nối với node trung tâm Cơng thức tính Degree centrality - Betweenness centrality: đỉnh trung tâm đồ thị Đỉnh có dựa nhiều đường ngắn (shortest path) đỉnh khác có Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc betweeness cao Đối với đồ thị n đỉnh, Betweeness centrality tính sau - Closeness centrality: Trung bình tổng chiều dài tất đường ngắn từ node đến node cịn lại Ta có cơng thức • Hệ số cụm - Clustering Coefficients Clustering Coefficients Watts & Strogatz đề xuất vào năm 1998 nhằm đo mức độ gần nút lân cận từ đồ thị đầy đủ (complete graph) đồ thị hay mạng lớn Clustering coefficient nút số nối kết thực lân cận nút cụ thể Clustering coefficient xem phần trăm kết nối khả dĩ.Clustering coefficient cho tồn hệ thống số trung bình clustering coefficient cho nút Công thức clustering coefficient cho hệ thống N=Số nút C=clustering coefficient cho nút i Lưu ý clustering coefficient đồ thị vô hướng có chút khác biệt so với clustering coefficient đồ thị có hướng—có lần nối kết khả dĩ, cạnh không thuận nghịch đếm nối kết cạnh thuận nghịch đến nối kết Trong đồ thị vô hướng nút nối với nút khác nút có nút đầu nút thứ nối kết, clustering coefficient 1/6 (1 nối kết thực thụ nối kết có thể) Clustering phản ánh cách nối kết láng giềng bạn với Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao Trần Duy Phong – CH1101160 PGS.TS Đỗ Phúc Trang 10 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Chỉ số tra cứu node mối liên hệ Neo4j sở liệu đồ thị Ta hình dung sau Trần Duy Phong – CH1101160 Trang 19 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Các đơn vị hình thành nên sở liệu đồ thị nút mối quan hệ Trong Neo4j, nút mối quan hệ chứa thuộc tính Nút Các nút thường sử dụng để biểu diễn thực thể, chúng có mối quan hệ thuộc tính Trần Duy Phong – CH1101160 Trang 20 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Ví dụ nút chứa thuộc tính “name” Mối quan hệ Các mối quan hệ nút phần quan trọng sở liệu đồ thị Chúng cho phép tìm liệu có liên quan Cũng giống nút, mối quan hệ có thuộc tính Một mối quan hệ kết nối hai nút, nút bắt đầu nút kết thúc Trần Duy Phong – CH1101160 Trang 21 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Một mối quan hệ ln ln có hướng, chúng xem mối quan hệ “đi” “đến” tới nút, sử dụng để duyệt đồ thị: Trong Neo4j hướng mối quan hệ lờ khơng hữu ích ứng dụng Một nút có mối quan hệ với thân Để nâng cao việc duyệt đồ thị, mối quan hệ có kiểu hay gọi cách khác gán nhãn Ví dụ mạng xã hội đơn giản với hai kiểu mối quan hệ Để tìm người theo sau duyệt theo mối quan hệ có kiểu “follows”, cịn tìm người chặn người khác duyệt theo mối quan hệ có kiểu “blocks” ` Thuộc tính Cả nút mối quan hệ có thuộc tính Trần Duy Phong – CH1101160 Trang 22 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Các thuộc tính cặp key-value với key kiểu string Các giá trị thuộc tính kiểu (integer, long, float, …) hay mảng kiểu Ví dụ String, int int[] giá trị hợp lệ cho thuộc tính Đường Một đường hay nhiều nút với mối quan hệ kết nối, thường truy hồi kết truy vấn hay duyệt đồ thị Trần Duy Phong – CH1101160 Trang 23 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Đường ngắn có chiều dài giống sau: Một đường có chiều dài Duyệt Duyệt đồ thị có nghĩa viếng thăm nút đồ thị, theo mối quan hệ với vài luật Trong hầu hết trường hợp, đồ thị viếng thăm biết có nút mối quan hệ cần tìm Neo4j với API cho phép duyệt chọn cách duyệt cụ thể Với mức bản, chọn cách duyệt theo chiều sâu hay chiều rộng Trần Duy Phong – CH1101160 Trang 24 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc Key Player Ta biết lợi ích việc marketing mạng xã hội tầm quan trọng key player (“loa phóng thanh”) mạng xã hội việc marketing Do đó, vấn đề phải nhận dạng, tìm key player Có độ đo tìm key player Degree Centrality CD(v) độ đo degree centrality nút (đỉnh) v deg(v) số cạnh liên thuộc với nút v n số cạnh Betweenness Centrality CB(v) độ đo betweenness centrality nút (đỉnh) v s,v,t (tập đỉnh đồ thị) σ st = tổng shortest path từ đỉnh s đến đỉnh t toàn network σ st(v) = tổng shortest path từ đỉnh s đến đỉnh t qua đỉnh v Closeness Centrality CC(v) độ đo closeness centrality nút (đỉnh) v dG (v,t) số bước nhỏ từ đỉnh v tới đỉnh t n số đỉnh Trần Duy Phong – CH1101160 Trang 25 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc CHƯƠNG III XÂY DỰNG MẠNG XÃ HỘI VỚI NEO4J Một số thao tác với Neo4j • Creating Nodes GraphDatabaseService db = new EmbeddedGraphDatabase("/tmp/neo"); Transaction tx = db.beginTx(); try { Node theDoctor = db.createNode(); theDoctor.setProperty("character", "the Doctor"); tx.success(); } finally { tx.finish(); } Trần Duy Phong – CH1101160 Trang 26 Cơ sở liệu nâng cao • PGS.TS Đỗ Phúc Creating Relationships Transaction tx = db.beginTx(); try { Node theDoctor = db.createNode(); theDoctor.setProperty("character", "The Doctor"); Node susan = db.createNode(); susan.setProperty("firstname", "Susan"); susan.setProperty("lastname", "Campbell"); susan.createRelationshipTo(theDoctor, DynamicRelationshipType.withName("COMPANION_OF")); tx.success(); } finally { tx.finish(); } • Using an Auto-Index AutoIndexer nodeAutoIndex = graphDb.index().getNodeAutoIndexer(); nodeAutoIndex.startAutoIndexingProperty ("species"); nodeAutoIndex.setEnabled( true ); ReadableIndex autoNodeIndex = graphDb.index().getNodeAutoIndexer() getAutoIndex(); Trần Duy Phong – CH1101160 Trang 27 Cơ sở liệu nâng cao • PGS.TS Đỗ Phúc Mutating access is still protected by transactions – Which cover both index and graph GraphDatabaseService db = … Transaction tx = db.beginTx(); try { Node nixon= db.createNode(); nixon("character", "Richard Nixon"); db.index().forNodes("characters").add(nixon, "character", nixon.getProperty("character")); tx.success(); } finally { tx.finish(); } Giao diện chương trình • Giao diện Login Trần Duy Phong – CH1101160 Trang 28 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc • Create Account: Tạo tài khoản mạng xã hội Log in: Đăng nhập vào tài khoản mạng xã hội Giao diện mạng xã hội - Post status: Đăng trạng thái Trần Duy Phong – CH1101160 Trang 29 Cơ sở liệu nâng cao - PGS.TS Đỗ Phúc Statuses: Hiển thị trạng thái user đăng nhập Add friend: Add thêm user khác mạng xã hội Neo4j Friends: Các user add Get: Tìm user có mối quan hệ với user add Friend statuses: Hiện thị status user có mối quan hệ với user đăng nhập Trần Duy Phong – CH1101160 Trang 30 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc KẾT LUẬN Các mạng xã hội (như Facebook Twitter) thúc đẩy hình thức tương tác xã hội, trao đổi, đối thoại hợp tác Chúng sóng làm thay đổi hành vi người dùng trực tuyến duyệt web, tìm kiếm hay mua hàng Ví dụ định mua điện thoại, người tiêu dùng post lên câu muốn mua điện thoại giá triệu có comment đưa lời khuyên Các mạng xã hội tạo chuyển biến lớn cách sử dụng Internet Hiện nay, nhiều người dùng mạng xã hội truy cập dịch vụ thông qua điện thoại di động họ Công ty nghiên cứu thị trường eMarketer dự báo đến năm năm 2013 có 600 triệu người sử dụng điện thoại để tham gia vào mạng xã hội, số năm 2009 140 triệu Các mạng xã hội Facebook, YouTube bách khoa thư Wikipedia trở thành thương hiệu tiếng mạng Internet YouTube gần vượt mốc tỉ lượt truy cập ngày, Facebook trở thành website có lượt truy cập lớn giới Trần Duy Phong – CH1101160 Trang 31 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc TÀI LIỆU THAM KHẢO [1] PGS.TS Đỗ Phúc, Cơ sở liệu đồ thị, slide giảng, 2012 [2] Social Network Analysis,Theory and Applications.pdf, 2011 [3]No SQL phân tán, không ràng buộc, website http://pcworld.com.vn, 2011 [4]Wikipedia, vi.wikipedia.org/wiki/M%E1%BA%A1ng_x%C3%A3_h%E1%BB%99i [5]Neo4j, http://neo4j.org Trần Duy Phong – CH1101160 Trang 32 .. .Cơ sở liệu nâng cao PGS.TS Đỗ Phúc MỤC LỤC Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao PGS.TS Đỗ Phúc CHƯƠNG I: MẠNG XÃ HỘI Khái niệm mạng xã hội Mạng xã hội, hay gọi mạng xã hội. .. Trần Duy Phong – CH1101160 Trang Cơ sở liệu nâng cao Trần Duy Phong – CH1101160 PGS.TS Đỗ Phúc Trang 10 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc CHƯƠNG II NEO4J Cơ sở liệu NoSQL Đây thuật ngữ chung cho... Phong – CH1101160 Trang 17 Cơ sở liệu nâng cao PGS.TS Đỗ Phúc 2.2 Neo4j – Cơ sở liệu đồ thị Một co sở liệu đồ thị lưu trữ liệu đồ thị, chung cấu trúc liệu, có khả tiếp cận liệu cách dễ Đồ thị bắt

Ngày đăng: 10/04/2015, 14:35

Từ khóa liên quan

Mục lục

  • CHƯƠNG I: MẠNG XÃ HỘI

    • 1. Khái niệm mạng xã hội

    • 2. Lịch sử mạng xã hội

    • 3. Phân tích mạng xã hội

      • 3.1. Lịch sử về phân tích mạng xã hội

      • 3.2. Một số khái niệm

      • CHƯƠNG II. NEO4J

        • 1. Cơ sở dữ liệu NoSQL

        • 2. Neo4J

          • 2.1. Những điểm nổi bật

          • 2.2. Neo4j – Cơ sở dữ liệu đồ thị

          • CHƯƠNG III. XÂY DỰNG MẠNG XÃ HỘI VỚI NEO4J

            • 1. Một số thao tác cơ bản với Neo4j

            • 2. Giao diện chương trình

            • KẾT LUẬN

            • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan