Trong mạng xã hội chúng ta cần tìm hiểu qua một số khái niệm liên quan đến mạng xã hội như: tác nhân actor, tác nhân chính key player, tác nhân phụ peripheral, đường đi ngắn nhất shortes
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI TÌM HIỂU MẠNG XÃ HỘI VÀ NEO4J
GVHD: PGS.TS ĐỖ PHÚC HỌC VIÊN: NGUYỄN THỊ THANH THẢO
MÃ SỐ: CH1101137
KHÓA: 6
Tp Hồ Chí Minh, tháng 08 năm 2012
Trang 2Mục lục
Lời nói đầu 3
PHẦN 1: MẠNG XÃ HỘI 4
I Giới thiệu về mạng xã hội 4
II Ứng dụng thực tế của mạng xã hội 5
III Những thành phần cơ bản của mạng xã hội 6
PHẦN 2: TÌM HIỂU NEO4J 10
I Giới thiệu về Neo4j 10
II Tính năng của Neo4j 10
III Các thành phần của cơ sở dữ liệu đồ thị Neo4j 10
IV Cài đặt Neo4j 12
KẾT LUẬN 13
TÀI LIỆU THAM KHẢO 14
Trang 3Lời nói đầu
Ngày nay khoa học ngày càng phát triển, công nghệ thông tin trở thành công cụ không thể thiếu trong các lĩnh vực khoa học và đời sống Nhu cầu của người dùng sử dụng internet ngày càng nhiều Công nghệ hiện đại giúp con người
có những tư tưởng, sở thích, tương đồng nhau có thể trao đổi thông tin với nhau nhiều hơn đó chính là mạng xã hội
Sự ra đời ồ ạt của các mạng xã hội (Social Network) thời gian gần đây ở Việt Nam cũng như trên toàn thế giới đã tạo ra một làn sóng mới kích thích sự phát triển của kênh truyền thông cộng đồng Thời kỳ trăm hoa đua nở của các mạng xã hội tất yếu dẫn đến việc phân khúc thị trường ngày một nhỏ hơn, cạnh tranh giữa các mạng ngày một gay gắt hơn Điểm nổi bật củaSocial Network mà ai cũng nhận thấy đó là tính kết nối và chia sẻ rất mạnh mẽ Nó phá vỡ những ngăn cách về địa lý, ngôn ngữ, giới tính lẫn quốc gia Những gì bạn làm, bạn nghĩ, cả thế giới có thể chia sẻ với bạn chỉ trong tích tắc
Trong mạng xã hội chúng ta cần tìm hiểu qua một số khái niệm liên quan đến mạng xã hội như: tác nhân (actor), tác nhân chính (key player), tác nhân phụ (peripheral), đường đi ngắn nhất (shortest path), đường có hướng (directed), đường vô hướng (undirected), gắn kết (cohesion), đỉnh tập trung trực tiếp (degree centrality), trung tâm lân cận (closness centrality), trung tâm trung gian (betweenness centrality), sức mạnh của các mối quan hệ yếu (the strength of weak ties), Thông qua một số công thức để tìm các hệ số trung tâm
Tôi chân thành cảm ơn PGS TS Đỗ Phúc đã tận tình giảng dạy, hướng dẫn, định hướng cho tôi hoàn thành môn học này
Do thời gian hạn chế, bài thu hoạch còn nhiều hạn chế sai sót Mong sự đóng góp ý kiến của Thầy và anh chị cùng khóa Xin chân thành cảm ơn
Trang 4PHẦN 1: MẠNG XÃ HỘI
I Giới thiệu về mạng xã hội.
Social Network site hay mạng xã hội là mạng được tạo ra để tự thân nó lan rộng trong cộng đồng thông qua các tương tác của các thành viên trong chính cộng đồng đó Mọi thành viên trong mạng xã hội cùng kết nối và mỗi người là một mắt xích để tạo nên một mạng lưới rộng lớn truyền tải thông tin trong đó
Về cơ bản, mạng xã hội giống như một trang web mở với nhiều ứng dụng khác nhau Mạng xã hội khác với trang web thông thường ở cách truyền tải thông tin và tích hợp ứng dụng Trang web thông thường cũng giống như truyền hình, cung cấp càng nhiều thông tin, thông tin càng hấp dẫn càng tốt còn mạng xã hội tạo ra các ứng dụng mở, các công cụ tương tác để mọi người tự tương tác và tạo ra dòng tin rồi cùng lan truyền dòng tin đó
Mạng xã hội đề cập đến một tập hợp các phần tử (thành viên) và các quan
hệ liên kết giữa chúng
Mạng lưới xã hội là một tập hợp các mối quan hệ giữa các thực thể xã hội gọi chung là các tác nhân (actor) Các thực thể xã hội này không nhất thiết chỉ là các cá nhân mà còn là các nhóm xã hội, các tổ chức, các thiết chế, các công ty xí nghiệp và cả các quốc gia Các mối quan hệ giữa các tác nhân (actor) cũng có thể mang nhiều nội dung khác nhau từ sự tương trợ, trao đổi thông tin cho đến việc trao đổi hàng hóa, trao đổi các dịch vụ,…
Từ các thông tin trên về mạng xã hội, chúng ta chọn mẫu, thu thập và xử lý
dữ liệu (data) Các khái niệm, các lý thuyết nhằm mô tả và phân tích các mối quan
hệ giữa các tác nhân trong mạng lưới, các qui luật hình thành và biến chuyển của các mối quan hệ và những ảnh hưởng của các mối quan hệ xã hội đối với hành vi của các tác nhân Các mối quan hệ trong mạng xã hội là một dạng của cơ sở dữ liệu quan hệ (relational data)
Một yếu tố liên quan đến các mối quan hệ trong mạng xã hội:
Trang 5- Mối quan hệ yếu là các mối quan hệ không chiếm nhiều thời gian của tác nhân, ít nội dung, cường độ tác động yếu và sự tin cậy lẫn nhau không cao
- Mối quan hệ mạnh là các mối quan hệ chiếm nhiều thời gian của các tác nhân, đa nội dung, sự tin cậy và cường độ tác động đến các tác nhân khác rất cao
Nhìn chung, các mối quan hệ mạnh có một nhược điểm lớn là thường tự khép kín trong mạng lưới của mình, và do tác nhân thường dành nhiều thời gian cho các mối quan hệ này nên thông tin truyền đi trong mạng thường có tính lặp lại
và ít mới mẻ
Nhưng ngược lại các mối quan hệ yếu lại thường đa dạng hơn, thời gian quan hệ ít nên thông tin sẽ phong phú và mới mẻ hơn Các mối quan hệ yếu mới là yếu tố chính làm tăng thông tin trong mạng xã hội chứ không phải là các mối quan
hệ mạnh, bởi nó sẽ giúp mở rộng mạng lưới xã hội của cá nhân Khi xét về sự tin cậy lẫn nhau như một yếu tố thuộc vốn xã hội thì các mối quan hệ mạnh lại có hiệu quả hơn, nhưng chúng cũng dễ dẫn đến phân nhóm trong mạng hơn
II Ứng dụng thực tế của mạng xã hội.
Các doanh nghiệp sử dụng mạng xã hội để phân tích và hoàn thiện luồng thông tin trong tổ chức, hoặc với mạng lưới của họ với khách hàng
Các cơ quan thực thi pháp luật ( và quân đội ) sử dụng mạng xã hội để xác định các mạng lưới tội phạm và khủng bố từ dấu vế thông tin mà họ thu thập được,
từ đó xác định các chủ thể chủ chốt trong mạng lưới
Như vậy, lợi ích mà mạng xã hội có thể mang lại cho doanh nghiệp bao gồm:
- Thiết lập mối quan hệ với số đông khách hàng mục tiêu
- Khả năng lan truyền thông tin nhanh chóng
- Các hoạt động trực tuyến sẽ truyền cảm hứng cho các cuộc hội thoại trong "thế giới thực"
- Thông tin cá nhân khá chân thực về người dùng
Trang 6- Cơ hội để kể chuyện về doanh nghiệp và sản phẩm của bạn đồng thời tăng độ nhận biết thương hiệu
- Gia tăng trải nghiệm của người dùng
III Những thành phần cơ bản của mạng xã hội.
1 Actor/Node/Degree (tác nhân, nút, điểm): các thuật ngữ này được dùng để các đơn vị trong mạng lưới Các đơn vị này có thể là người, nhóm,
tổ chức, công ty, quốc gia,…
2 Tie/Link/Edge/Line/Arc (dây, đường liên kết): chỉ mối liên
kết các tác nhân trong mạng lưới
mạng
4 Sortest path (khoảng cách ngắn nhất): chỉ đường ngắn nhất trên bề mặt giữa hai khoảng cách điểm, tức là khoảng cách ngắn nhất giữa hai tác nhân nào đó trong mạng xã hội
5 Subgraph (mạng con): được dùng để chỉ các mạng mà ở đó tất
cả các tác nhân đều có quan hệ trực tiếp với nhau Trong một mạng con, các quan
hệ giữa các actor sẽ là các mối "quan hệ mạnh" (The Strong ties)
6 Undirected (vô hướng): được dùng để chỉ các tác nhân có quan
hệ qua lại (2 chiều) với nhau
7 Directed (có hướng): được dùng để chỉ các tác nhân chỉ có một quan hệ (1 chiều) truyền tin hoặc nhận tin
8 Key Player (tác nhân chính): dùng để chỉ tác nhân có tầm ảnh hưởng lớn trong mạng toàn mạng xã hội Tác nhân này trung tâm nhận và truyền tải thông tin đến tất cả các tác nhân khác
Các hệ số đo lường tính Key Player
- Degree centrality ( Hệ số trung tâm trực tiếp)
Hệ số này sẽ giúp chúng ta đo lường được số lượng của các mối quan hệ trực tiếp của một tác nhân nào đó với các thành viên khác trong mạng xã hội Giá
Trang 7trị của hệ số này chạy từ 0.00 đến 1.00 và khi giá trị càng gần tới 1.00 thì tính trung tâm trực tiếp của tác nhân càng lớn Công thức tính như sau:
Trong đó:
Deg(v): tổng số các liên kết trực tiếp của tác nhân v n: tổng số tác nhân trong toàn mạng
- Closeness centrality ( Hệ số trung tâm lân cận)
Điểm yếu của hệ số trung tâm trực tiếp là nó chỉ tính các mối quan hệ trực tiếp của tác nhân mà thôi nên chưa chắc tác nhân có hệ số trung tâm trực tiếp cao
là người "gần gũi" với mọi thành viên khác trong mạng Tính gần gũi hay lân cận cũng là một trong những tiêu chí quan trọng thể hiện vị thế của tác nhân trong mạng, bởi một tác nhân càng gần gũi với các thành viên trong mạng xã hội bao nhiêu thì tác nhân đó càng dễ có nhiều thông tin, càng có nhiều uy thế và do đó càng dễ gây ảnh hưởng lên toàn bộ mạng xã hội Công thức tính hệ số này như sau:
Trong đó:
σ st = là tổng shortest path từ đỉnh s đến đỉnh t của toàn network
σ st(v) = tổng shortest path từ đỉnh s đến đỉnh t đi qua đỉnh v
- Betweenness centrality ( Hệ số trung tâm trung gian )
Hệ số trung tâm trung gian xác định một tác nhân nào đó trong mạng lưới
có thể ít gắn kết với các thành viên khác trong mạng xã hội (tức hệ số trung tâm trực tiếp thấp), cũng không "gần gũi" lắm với mọi thành viên khác (tức hệ số trung tâm lân cận thấp), nhưng lại là "cầu nối" (bridge) hay "nhà trung gian" cần thiết trong mọi cuộc trao đổi trong mạng Nếu một tác nhân đóng được vai trò trung gian càng lớn trong mạng lưới, tác nhân đó sẽ càng ở vị trí thuận lợi trong việc
Trang 8"kiểm soát" mọi giao dịch, mọi thông tin trong mạng xã hội; tác nhân đó cũng tác động đến mạng lưới một cách dễ dàng bằng cách thanh lọc hoặc truyền thông tin trong mạng theo hướng có lợi cho mình nếu muốn; đồng thời tác nhân đó cũng đứng ở vị trí tốt nhất để thúc đẩy sự phối hợp giữa các thành viên khác trong mạng lưới Cách tính hệ số trung tâm trung gian như sau:
Trong đó: là chiều dài đi từ đỉnh v tới đỉnh t
- Clustering Centrality ( Hệ số gom cụm )
Trong mạng xã hội, hệ số gom cụm được tìm ra bởi Watts and Strogatz là một tiêu chuẩn để đo các mức độ gắn kết giữa các tác nhân trong mạng Hệ số gom cụm của một tác nhân được xác định bởi các tác nhân láng giềng có mối liên kết với nhau thành những mạng con nhỏ nhất Nếu một tác nhân chỉ có một láng giềng thì tác nhân nhân láng giềng đó sẽ không tạo thành một mạng con Công thức được tính như sau:
Clustering Centrality dành cho mạng có hướng
Clustering Centrality dành cho mạng vô hướng
Clustering Centrality trung bình cho toàn mạng xã hội
- Dựa vào hệ số trung tâm trực tiếp (degree centrality) và hệ số trung tâm lân cận (Cloneness Centrality) để tìm tìm tập tác nhân chính (key players) Sử dụng công thức:
Trang 9Min(CC(V))
9 Pendent (tác nhân phụ): được dùng để chỉ các tác nhân nào đó chỉ liên kết với một mạng lưới thông qua một đường liên kết duy nhất Những tác nhân gắn kết với mạng xã hội bằng một liên hệ phụ gọi là Peripheral Player (người bên lề)
10. Density/ Cohesion ( Hệ số gắn kết của mạng lưới )
Để phân biệt mạng xã hội nào là mạnh, mạng xã hội nào yếu, mạng xã hội nào hiệu quả hơn mạng xã hội nào? Trong phân tích mạng xã hội có rất nhiều hệ
số để so sánh các mạng xã hội với nhau và một trong những hệ số quan trọng nhất
đó là "hệ số gắn kết" của mạng xã hội Khi hệ số cố kết của mạng lưới càng lớn, mức độ gắn kết, sự chặt chẽ của các mối quan hệ giữa các tác nhân trong mạng lưới cũng càng lớn, và do đó, sự tương trợ, hỗ trợ… giữa các tác nhân cũng càng nhiều, càng hiệu quả hơn, sự điều tiết của mạng xã hội đối hành vi của tác nhân cũng mạnh mẽ hơn và ngược lại
Một cách tổng quát, tính cố kết của mạng lưới là tỷ lệ giữa tổng các mối liên hệ thực tế trong mạng lưới và tổng các mối quan hệ lý thuyết của nó (tức là tổng các mối quan hệ có thể có của mạng) Công thức tính như sau:
2 / ) 1 ( n n k
Trong đó:
k: tổng các đường liên kết thực tế của toàn mạng n: tổng các tác nhân (degree/actor) trong mạng xã hội
n(n-1)/2: tổng các mối liên kết lý thuyết trong mạng xã hội Giá trị của hệ số này chạy từ 0.00 - 1.00 Càng gần tới 1.00 thì tính gắn kết của mạng xã hội càng mạnh và do đó sự truyền nhận thông tin giữa các thành viên trong mạng xã hội được diễn ra càng tốt và ngược lại
Trang 10PHẦN 2: TÌM HIỂU NEO4J
I Giới thiệu về Neo4j.
Neo4j là một đồ thị cơ sở dữ liệu mã nguồn mở , được thực hiện trong Java
Neo4j là một đồ thị cơ sở dữ mã nguồn mở Nó được thiết kế và được xây dựng như là một cơ sở dữ liệu đáng tin cậy, tối ưu hóa cho các cấu trúc
đồ thị thay vì các bảng Làm việc với Neo4j, ứng dụng của bạn được thể hiện như của một đồ thị, với độ tin cậy bạn mong đợi của một cơ sở dữ liệu
II Tính năng của Neo4j
Neo4j là một cơ sở dữ liệu đồ thị mã nguồn mở cung cấp các tính năng như:
Mô hình biểu diễn dữ liệu dưới dạng đồ thị trực quan Thay vì làm việc với các bảng, cột, và dòng, người lập trình sẽ làm việc trên một mạng đồ thị bao gồm các nút, cạnh và thuộc tính,
Chuyên biệt hóa việc lưu trữ cấu trúc đồ thị với hiệu năng và khả năng mở rộng cao nhất,
Có thể mở rộng để đảm nhận vai trò của một cơ sở dữ liệu RDF dùng cho các ứng dụng về ngữ nghĩa
III Các thành phần của cơ sở dữ liệu đồ thị Neo4j.
1 Nodes ( các nút )
Các đơn vị cơ bản hình thành nên một đồ thị là các nút và các mối quan
hệ Trong Neo4j, cả nút và các mối quan hệ có thể chứa các thuộc tính
Các nút được thường được sử dụng để đại diện cho các thực thể, nhưng tùy thuộc vào mục đích sử dụng
2 Relationships ( các mối quan hệ )
Mối quan hệ giữa các nút là một phần quan trọng của một cơ sở dữ liệu đồ thị.Chúng cho phép việc tìm kiếm dữ liệu liên quan Cũng giống như các nút, các mối quan hệ có thể có các thuộc tính
Trang 11Một mối quan hệ kết nối hai nút, được bảo đảm có hiệu lực giữa các nút bắt đầu và các nút kết thúc
Khi mối quan hệ luôn có hướng đi, ta có thể bỏ qua các hướng đi mà nó không hữu ích trong ứng dụng
Lưu ý rằng một nút có thể có mối quan hệ với chính nó
3 Roperties ( các thuộc tính )
Cả nút và các mối quan hệ có thể có các thuộc tính
Thuộc tính là các cặp giá trị quan trọng
Các kiểu dữ liệu của thuộc tính.
Loại Mô tả Phạm vi
Boolean True/ False
Byte 8 bit số
nguyên
-128 đến 127
Short 16 bit số
nguyên
- 32768 đến 32767
Int 32 bit số
nguyên
-2147483648 đến 2147483647
Long 64 bit số
nguyên
-9223372036854775808 đến9223372036854775807
Float 32-bit
IEEE 754
Double 64-bit
IEEE
754
Char 16-bit
unsigned
số nguyên đại diện cho các ký tự
u0000 để uffff ( 0 đến 65535 )
Trang 12String chuỗi các
ký tự Unicode
4 Paths ( đường dẫn )
Đường kết nối mối quan hệ của một hay nhiều nút
Đường đi ngắn nhất có thể có chiều dài là 0
5 Traversal.
IV Cài đặt Neo4j
Có thể cài đặc Neo4j như một máy chủ, chạy như một ứng dụng hoặc dịch vụ hệ thống Trước khi cài Neo4j, cài Java SE Envirnomet trước
Tải Neo4j ở trang http://neo4j.org/download Cần chọn phiên bản phù hợp với máy tính của bạn
Lấy nội dung của kho lưu trữ (tham khảo thư mục hàng đầu như
NEO4J_HOME)
Sử dụng các Script trong thư mục Bin
- Đối với Linux/MacOS, bắt đầu chạy $NEO4J_HOME/bin/neo4j
- Đối với Windown, nhấp đúp vào %NEO4J_HOME%\bin\Neo4j.bat
Neo4j có thể được cài đặt như một dịch vụ Window
Các bước cài đặt:
- Click Start → All Programs → Accessories
- Right click Command Prompt → Run as Administrator
- Provide authorization and/or the Administrator password
- Navigate to %NEO4J_HOME%
- Run bin\Neo4j.bat install
KẾT LUẬN
Trang 13Qua thời gian học tập và nghiên cứu môn Cơ sở dữ liệu nâng cao, bài thu hoạch tìm hiểu về mạng xã hội và Neo4j cơ bản đã tìm hiểu được những khái niệm tổng quát về mạng xã hội và Neo4j
Tuy nhiên, do thời gian còn hạn chế nên tác giả cũng chưa tìm hiểu hết các tính năng cũng như các ứng dụng trong Neo4j
TÀI LIỆU THAM KHẢO