Tải bản đầy đủ (.doc) (14 trang)

TIỂU LUẬN CƠ SỞ DỮ LIỆU NÂNG CAO TÌM HIỂU MẠNG XÃ HỘI VÀ NEO4J

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (146.27 KB, 14 trang )

ĐẠ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
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
Mụ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 12
TÀI LIỆU THAM KHẢO 13
Lờ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.
PHẦ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:
- 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.
- 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.
3. Path (đường): đường liên kết giữa các tác nhân trong
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á
trị 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
"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:
Max(C

D
(V))
Min(C
C
(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( −nn
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.

PHẦ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 .
Mộ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 )
Unicode
String 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 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
Qua 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
1. PGS.TS Đỗ Phúc, Bài giảng Cơ sở dữ liệu nâng cao, Trường
ĐHCNTT, 2011
2.
3. Các tài liệu về mạng xã hội trên internet.

×