You are on page 1of 49

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


Ma ̣ng xã hô ̣i Socialife


&
Thuâ ̣t toán phân tích, gơ ̣i ý
người dùng quan tro ̣ng

Nhóm 18 – IS353.K11
GVHD: Thái Bảo Trân
STT Họ tên MSSV
1 Bùi Nhâ ̣t Minh 16520726
2 Lê Hoàng Đức Huy 16520511
3 Huỳnh Mỹ Phụng 15520655
4 Lê Quố c Tiến 15520883

TP. HỒ CHÍ MINH – 12/2019


LỜI CẢM ƠN

́ h gửi cô Thái Bảo Trân,


Kin

Nhóm 18 xin chân thành cảm ơn cô đã đồng hành cùng chúng em với môn ho ̣c Ma ̣ng
Xã Hô ̣i học kì vừa qua trong cả viê ̣c giảng da ̣y và chỉ dẫn báo cáo cuố i ki.̀ Chúng em rấ t
biế t ơn và trân tro ̣ng sự tận tiǹ h và chu đáo của cô; nhờ đó, chúng em mới đủ kiế n thức
và kinh nghiê ̣m để thực hiện đươ ̣c bản báo cáo môn ho ̣c này.

Những gì ho ̣c được ngoài viê ̣c giúp chúng em không những có thể hoàn thành môn ho ̣c
mô ̣t cách tố t nhấ t, mà còn cung cấp rấ t nhiề u kiế n thức mà chúng em nghi ̃ sẽ giúp ích
rấ t nhiề u cho mình trong công viê ̣c tương lai.

Cuố i cùng, nhóm 18 chúng em xin đươ ̣c chúc cô sức khỏe, niề m vui và thành công hơn
nữa trong sự nghiệp của mình.

Trân tro ̣ng,

Nhóm 18.
NHẬN XÉT CỦA GIẢNG VIÊN
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
MỤC LỤC
I. Tổ ng quan ..............................................................................................................2

1. Đă ̣t vấ n đề ...............................................................................................................2

2. Tiế n trình nghiên cứu .............................................................................................. 2

3. Ý nghiã nghiên cứu .................................................................................................2

II. GĐ1: Thiế t kế website ma ̣ng xã hô ̣i Socialife .....................................................3

1. Use Case – Sơ đồ hoa ̣t đô ̣ng ...................................................................................3

1.1. Sơ đồ Use Case ........................................................................................3

1.2. Danh sách Use Case ................................................................................4

1.3. Sơ đồ hoa ̣t đô ̣ng .......................................................................................5

2. Thiế t kế Database ..................................................................................................15

2.1. ̣
Mô hiǹ h quan hê .................................................................................... 15

2.2. Mô tả các kiể u dữ liê ̣u ...........................................................................16

3. Yêu cầ u phi chức năng ..........................................................................................18

3.1. Yêu cầ u giao diê ̣n ..................................................................................18

3.2. Yêu cầ u chấ t lươ ̣ng ................................................................................19

4. Giao diê ̣n thực của Website ..................................................................................19

4.1. Màn hình đăng nhâ ̣p ..............................................................................19

4.2. Màn hiǹ h trang chủ ................................................................................20

4.3. Màn hiǹ h bài viế t ...................................................................................21

4.4. Màn hiǹ h đăng bài viế t ..........................................................................22

4.5. Màn hiǹ h thông báo ...............................................................................22

4.6. Màn hình Bookmark ..............................................................................23

4.7. Màn hình thanh tìm kiế m người dùng ...................................................24

4.8. Màn hình tin nhắ n ..................................................................................24


4.9. Màn hiǹ h Profile ....................................................................................25

III. GĐ2: Phân tích cấ u trúc cô ̣ng đồ ng website mxh Socialife để tim
̀ người dùng
quan tro ̣ng trong ma ̣ng. .............................................................................................. 26

1. Degree Centrality (Độ trung tâm cấp bậc) ............................................................ 26

1.1. Khái niệm .............................................................................................. 26

1.2. Công thức .............................................................................................. 27

1.3. Áp dụng degree centrality vào mạng xã hội Socialife ..........................28

2. Betweenness Centrality (Độ đo trung tâm trung gian) .........................................28

2.1. Khái niệm .............................................................................................. 28

2.2. Công thức .............................................................................................. 29

2.3. Áp dụng betweeness centrality vào mạng xã hội Socialife ...................29

3. Closeness Centrality (Đô ̣ đo trung tâm lân câ ̣n) ...................................................30

3.1. Khái niê ̣m .............................................................................................. 30

3.2. Công thức .............................................................................................. 30

3.3. Áp dụng closeness centrality vào mạng xã hội Socialife ......................31

4. Eigenvector Centrality (Vector đặc trưng trung tâm) ...........................................31

4.1. Khái niệm .............................................................................................. 31

4.2. Công thức .............................................................................................. 31

4.3. Áp dụng eigenvector centrality vào mạng xã hội Socialife ..................32

5. Pagerank ................................................................................................................32

5.1. Random Walks ......................................................................................32

5.2. Lazy Random Walks .............................................................................34

5.3. Personalized Pagerank ...........................................................................36

5.4. Áp du ̣ng vào ma ̣ng xã hô ̣i Socialife ......................................................39

IV. Triể n khai hê ̣ thố ng và DEMO ..........................................................................41

1. Cấ u hình máy tính, Mã nguồ n và Database ..........................................................41


2. Hướng dẫn cài đă ̣t và cha ̣y ....................................................................................41

2.1. Back-end ................................................................................................ 41

2.2. Front-end ............................................................................................... 42

TÀ I LIỆU THAM KHẢO...........................................................................................43

PHỤ LỤC CHỨC VỤ & CÔNG VIỆC .....................................................................44


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

I. Tổ ng quan
1. Đă ̣t vấ n đề
Ngày nay, cùng sự phát triển nhanh chóng của internet và nhu cầu giải trí, chia sẻ
thông tin giữa người với người ngày một tăng cao, mạng xã hội đã trở thành một nền
tảng mạnh mẽ để hàng triệu người kết nối với nhau. Với sự ra đời của Facebook, Twitter,
Youtube, Instagram,… mạng xã hội ngày càng lớn mạnh, đa dạng phong phú về nội
dung lẫn hình thức, và ngày càng có sức ảnh hưởng đến những cá nhân, cộng đồng sử
dụng.
Để tiếp cận và có cái nhìn xác thực hơn về nền tảng này, nhóm chúng em quyết
định nghiên cứu đề tài đồ án thiết kế một mạng xã hội: “Mạng xã hội Socialife & Thuâ ̣t
toán tìm kiế m người dùng quan tro ̣ng”.
2. ̀ h nghiên cứu
Tiế n trin
Bao gồ m 2 giai đoa ̣n:
 GĐ1: Thiế t kế website ma ̣ng xã hô ̣i Socialife.
 GĐ2: Phân tích cấ u trúc cô ̣ng đồ ng website ma ̣ng xã hô ̣i Socialife để tìm
người dùng quan tro ̣ng trong ma ̣ng.
3. Ý nghiã nghiên cứu
Trong giai đoa ̣n 1: Chúng em xây dựng ma ̣ng xã hô ̣i với mô ̣t cô ̣ng đồ ng nhỏ các
nodes có tương tác với nhau để dùng cho viê ̣c phân tić h cấ u trúc trong giai đoa ̣n sau.
Trong giai đoa ̣n 2: Chúng em sẽ dựa trên cô ̣ng đồ ng này để tìm ra các nhân tố quan
tro ̣ng trong ma ̣ng, và áp du ̣ng mô ̣t số kiế n thức đã ho ̣c và nghiên cứu đươ ̣c bên ngoài
vào đây.

Nhóm 18 – IS353K11 Trang 2


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

II. GĐ1: Thiế t kế website ma ̣ng xã hô ̣i Socialife


1. Use Case – Sơ đồ hoa ̣t đô ̣ng
1.1. Sơ đồ Use Case

User 2
h n tin

Bookmark
<<include>>

Đăng

Đăng bài viết

Tìm iếm
<<include>>

<<include>>
Th ch bài viết
<<include>>

User 1
<<include>>

Đăng nhập
<<include>>
Bình luận

Quên mật h u <<include>>

Thêm/Sửa thông tin cá nhân

Theo d i/hủy theo d i <<include>>

User 3

Nhóm 18 – IS353K11 Trang 3


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.2. Danh sách Use Case

STT Use Case Ý nghiã

1. Đăng ý gười dùng đăng ý tài khoản MXH.

gười dùng đăng nhâ ̣p sau hi đã có tài khoản


2. Đăng nhâ ̣p
MXH.

Thêm/Sửa thông tin Với tài khoản đươ ̣c cấ p, người dùng bắ t đầ u
3.
cá nhân thêm các thông tin cá nhân của miǹ h.

gười dùng yêu cầ u cấ p la ̣i mâ ̣t khẩ u cho tài


4. Quên mâ ̣t khẩ u
khoản của miǹ h.

gười dùng đánh dấ u các bài viế t và lưu vào
5. Bookmark
dánh sách của min
̀ h để có thể xem la ̣i.

Cho phép người dùng tim


̀ kiế m thông tin các
6. Tìm kiế m
tài khoản MXH, bài viế t,…

Theo dõi/hủy theo gười dùng MXH có thể theo dõi và hủy theo
7.
dõi dõi nhau để tương tác.

gười dùng Socialife có thể nhắ n tin trực tiế p


8. Nhắ n tin
với nhau.

gười dùng có thể đăng bài viế t lên tường cá
9. Đăng bài viế t
nhân của mình.

Cho phép người dùng thích bài viế t của tài


10. Thích bài viế t
khoản MXH khác.

Tương tự thić h bài viế t, người dùng có thể


11. Biǹ h luâ ̣n bài viế t
̀ h luâ ̣n bài viế t đấ y.
bin

Nhóm 18 – IS353K11 Trang 4


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3. Sơ đồ hoa ̣t đô ̣ng


1.3.1. Đăng ý

Đăng ý

gười d ng Hệ thống Database

hập thông tin iểm tra trường


cá nhân b t buộc

iểm tra thông


Hợp lệ
tin
Không hợp lệ

Thông báo:
hập sai, hoặc
thiếu trường b t
buộc

Thông báo:
Không hợp lệ
Không hợp lệ

Hợp lệ

Gửi thông báo


Lưu lại thông
xác nhận tới
tin
người d ng

Thông báo
thành công

Nhóm 18 – IS353K11 Trang 5


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.2. Đăng nhâ ̣p

Đăng nh p

gười d ng Hệ thống Database

hập email và


iểm tra trường
mật h u

iểm tra thông


Hợp lệ
tin

Không hợp lệ

Thông báo:
hập sai, hoặc
thiếu trường b t
buộc

Thông báo: Sai


email hoặc mật Không đúng
h u

Thành công,
Đúng
chuyển trang

Nhóm 18 – IS353K11 Trang 6


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.3. Quên mâ ̣t khẩ u

Quên m t h u

gười d ng Hệ thống Database

iểm tra trường


hập email
nhập

iểm tra thông


Hợp lệ
tin email

Không hợp lệ

Thông báo:
Trường không
hợp lệ

Thông báo:
Email không tồn Không tồn tại
tại

Yêu cầu đăng


nhập email để Tồn tại
xác thực

Nhóm 18 – IS353K11 Trang 7


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.4.Thêm/Sửa thông tin cá nhân

Thêm/S a thông tin c nhân

gười d ng Hệ thống Database

Truy cập profile

hập/sửa thông
iểm tra các
tin tại trường
trường v a nhập
muốn thay đ i

Lưu lại thông


Hợp lệ
tin

Không hợp lệ

Thông báo:
Thông tin nhập
vào không hợp
lệ

Thông báo cập


nhật thông tin
thành công

Nhóm 18 – IS353K11 Trang 8


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.5. Tìm kiế m

Tm i m

gười d ng Hệ thống Database

Click vào thanh


tìm iếm

iếm tra thông


hập thông tin tin có tồn tại
cần tìm trong database
hay không

Thông báo:
Không tìm thấy Không tồn tại
dữ liệu

uất dữ liệu ra


Tồn tại
màn hình

Nhóm 18 – IS353K11 Trang 9


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.6. Bookmark

Bookmark - lưu b i i t

gười d ng Hệ thống Database

Click đánh dấu iểm tra


bài viết vào Post_ID của bài
Bookmark viết

Thông báo: L i
không tìm thấy Không tồn tại
bài viết

Tồn tại

Lưu Post_ID
vào
Bookmark_ID
tương tứng

Thông báo:
Đánh dấu bài
viết thành công

Nhóm 18 – IS353K11 Trang 10


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.7. Nhắ n tin

Nh n tin

gười d ng Hệ thống Database

Click chọn
người d ng để
nh n tin iểm tra thiết
lập bảo mật của
người nhận,
hập nội dung xem x t người
tin nh n này có cho ph p
nhận tin nh n t
người gửi hay
không?

Lưu nội dung


Cho ph p
tin nh n

Không cho ph p

Thông báo:
gười d ng này
t chối nhận tin
nh n t bạn.

Gửi tin nh n
đến cho người
nhận.

Nhóm 18 – IS353K11 Trang 11


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.8. Đăng bài viế t

Đăng b i i t

gười d ng Hệ thống Database

Click tạo bài


viết mới

iểm tra t nh
hập nội dung
hợp lệ của nội
bài viết
dung bài viết

Lưu nội dung


Hợp lệ
bài viết

Không hợp lệ

Thông báo: ội
dung bài viết
không hợp lệ

Đăng bài viết


lên tường người
d ng

Nhóm 18 – IS353K11 Trang 12


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

̀ h luâ ̣n bài viế t


1.3.9.Bin

nh lu n b i i t

gười d ng Hệ thống Database

Click vào bình


luận bài viết

iểm tra t nh
hập nội dung
hợp lệ của nội
bình luận
dung nhập

Tạo mới
Comment_ID và
lưu dữ liệu trong
Comment_Content
vào

Thông báo: L i
nhập nội dung

Hiển thị
Profile_name và Liên ết
nội dung bình Comment_ID
luận đó lên khu này với Post_ID
vực bình luận của bài viết
của bài viết

Nhóm 18 – IS353K11 Trang 13


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3.10.Thích bài viế t

Th ch b i i t

gười d ng Hệ thống Database

Tạo mới
Click th ch bài Like_ID và liên
viết ết với User_ID
và Post_ID đó

Hiển thị
Profile_name Lưu Li e_ID
tương ứng với này vào trường
User_ID đó lên Like_DD bài
khu vực th ch viết tương ứng
của bài viết

1.3.11.Theo dõi/Hủy theo dõi

Theo i/ theo i

gười d ng Hệ thống Database

Lưu/loại b
Click theo d i/
User_ID đó vào/
b theo d i
h i
người d ng nào
Follow_List_ID
đó
của người d ng

Nhóm 18 – IS353K11 Trang 14


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

2. Thiế t kế Database


̀ h quan hê ̣
2.1. Mô hin

THICH BAI_VIET
HINH_ANH
PK LIKE_ID PK POST_ID
PK PHOTO_ID
USER_ID FK USER_ID
PHOTO_CONTENT
POST_ID POST_DATE

POST_CONTENT

COMMENT_ID

LIKE_ID

PHOTO_ID BOOKMARK

BINH_LUAN PK BOOKMARK_ID

PK COMMENT_ID
POST_ID

COMMENT_CONTENT USER_ID

USER_ID

COMMENT_DATE NGUOI_DUNG

POST_ID PK USER_ID

EMAIL

PASSWORD

CENTRALITY PROFILE_NAME
PK CENTRALITY_ID FOLLOWING_LIST
FIRST_NAME
PK FOLLOW_LIST_ID
USER_ID LAST_NAME

DEGREE NUMBER_OF_USERS
GENDER

BETWEENESS USER_ID
DATE_OF_BIRTH

CLOSENESS AVATAR

BOOKMARK_ID

GROUP_ID NHOM

FOLLOW_LIST_ID PK GROUP_ID

GROUP_NAME

TIN_NHAN

PK MESSAGE_ID

THONG_BAO
USER_1_ID
PK NOTIFICATION_ID
USER_2_ID

MESSAGE_CONTENT USER_ID

MESSAGE_DATE NOTI_CONTENT

NOTI_DATE

Nhóm 18 – IS353K11 Trang 15


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

2.2. Mô tả các kiể u dữ liêụ


Ràng
STT Tên thuô ̣c tính Kiể u dữ liêụ Ý nghiã
buô ̣c

non-
1. USER_ID VARCHAR(5) mã người dùng
nullable

non-
2. PASSWORD VARCHAR(50) mâ ̣t khẩ u
nullable

non- tên hồ sơ hiể n thi ̣


3. PROFILE_NAME VARCHAR(50)
nullable trên MXH

non-
4. EMAIL VARCHAR(30) điạ chỉ mail
nullable

5. FIRST NAME VARCHAR(50) tên

6. LAST_NAME VARCHAR(50) ho ̣

CHAR(1)
7. GENDER ENUM giới tính
(‘m’, ‘f’)

8. DATE_OF_BIRTH DATE ngày sinh

9. AVATAR LONGBLOB ảnh đa ̣i diê ̣n

non- mã đánh dấ u bài


10. BOOKMARK_ID VARCHAR(5)
nullable viế t

Nhóm 18 – IS353K11 Trang 16


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Ràng
STT Tên thuô ̣c tính Kiể u dữ liệu Ý nghiã
buô ̣c
mã group mà tài
non-
11. GROUP_ID VARCHAR(5) khoản này tham
nullable
gia

non- mã danh sách


12. FOLLOW_LIST_ID VARCHAR(5)
nullable theo dõi

non-
13. POST_ID VARCHAR(5) mã bài viế t
nullable

non-
14. COMMENT_ID VARCHAR(5) mã bình luâ ̣n
nullable

non-
15. LIKE_ID VARCHAR(5) mã lầ n thích
nullable

non-
16. PHOTO_ID VARCHAR(5) mã ảnh
nullable

non-
17. MESSAGE_ID VARCHAR(5) mã tin nhắ n
nullable

non-
18. NOTIFICATION_ID VARCHAR(5) mã thông báo
nullable

19. PHOTO_CONTENT LONGBLOB ảnh bài viế t

COMMENT_CONT non- nô ̣i dung bin


̀ h
20. VARCHAR
ENT nullable luâ ̣n

Nhóm 18 – IS353K11 Trang 17


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Ràng
STT Tên thuô ̣c tính Kiể u dữ liệu Ý nghiã
buô ̣c

non-
21. COMMENT_DATE DATE ngày biǹ h luâ ̣n
nullable

DECIMAL chỉ số degree của


22. DEGREE
(5,4) người dùng

DECIMAL chỉ số


23. BETWEENESS
(5,4) betweeness

DECIMAL
24. CLOSENESS chỉ số closeness
(5,4)

non-
25. GROUP_NAME VARCHAR(50) tên nhóm
nullable

non- nô ̣i dung thông


26. NOTI_CONTENT VARCHAR
nullable báo

non-
27. NOTI_DATE DATE ngày thông báo
nullable

MESSAGE_CONTE non-
28. VARCHAR nô ̣i dung tin nhắ n
NT nullable

non- ngày tin nhắ n


29. MESSAGE_DATE DATE
nullable đươ ̣c gửi

3. Yêu cầ u phi chức năng


3.1. Yêu cầ u giao diêṇ
Tính chuyên nghiêp̣
 Giao diê ̣n gầ n gửi, đơn giản, dễ sử du ̣ng với người dùng.

Nhóm 18 – IS353K11 Trang 18


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

 Tổ ng quan đầ y đủ và chuyên nghiê ̣p như mô ̣t ma ̣ng xã hô ̣i thu nhỏ.
 Giao diê ̣n trực quan thu hút nhưng đơn giản, hài hòa với thi gia
̣ ́ c người dùng.
 Giao diê ̣n trải nghiê ̣m dễ sử du ̣ng, dễ hiể u và thực hiê ̣n.
Tính tố i ưu
 Giao diê ̣n có 2 ngôn ngữ, tiế ng anh và tiế ng viê ̣t; phu ̣c vu ̣ người dùng ta ̣i
nhiề u lứa tuổ i.
 Tić h hơ ̣p thêm mô ̣t số công cu ̣ cho viê ̣c tố i ưu trải nghiê ̣m người dùng.
Tính đa a ̣ng
 Giao diê ̣n có thể tiế n hóa theo ý muố n của người dùng.
 Cho phép gửi Feedback về hê ̣ thố ng.
3.2. Yêu cầ u chấ t lươ ̣ng
Tính tiế n hóa
 Dễ dàng câ ̣p nhâ ̣t, nâng cấ p phiên bản với tiń h năng vươ ̣t trô ̣i hơn.
 Các tiń h năng đa da ̣ng, luôn phát triể n để đáp ứng nhu cầ u của nhiề u người
dùng khác nhau.
Tính tiêṇ du ̣ng
 Các bước thực thi, sử du ̣ng đơn giản, ngắ n go ̣n và không phức ta ̣p.
 Dễ dàng cho các tài khoản M H tương tác.
Tính hiêụ quả
 Hê ̣ thố ng hoa ̣t đô ̣ng trơn tru, công viê ̣c diễn ra đề u và nhanh.
 Tự đô ̣ng câ ̣p nhâ ̣t dữ liê ̣u hằ ng ngày; backup theo các khoảng thời gian.
Tính đảm bảo
 Hê ̣ thố ng hỗ trơ ̣ người dùng tố t nhấ t và nhanh nhấ t.
 Đảm bảm thông tin cá nhân bảo mâ ̣t an toàn.
 găn chă ̣n các phầ n mề m, mã đô ̣c hi người dùng sử du ̣ng ma ̣ng xã hô ̣i
Socialife để ho ̣ có thể an tân tuyê ̣t đố i.
4. Giao diêṇ thực của Website
4.1. Màn hin
̀ h đăng nhâ ̣p
Mỗi cá nhân tham gia ma ̣ng xã hô ̣i sẽ có mô ̣t tài khoản để đăng nhâ ̣p vào trang cá
nhân của mình và bắ t đầ u tương tác với mo ̣i người khác.

Nhóm 18 – IS353K11 Trang 19


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

̀ h trang chủ
4.2. Màn hin
Đây là giao diê ̣n tổ ng thể chung của Socialife, là nơi người dùng sử du ̣ng và tương
tác nhiề u nhấ t. Ta ̣i đây, người dùng sẽ nhìn thấ y các bài đăng của những người ba ̣n,
người mà ho ̣ theo dõi.

Nhóm 18 – IS353K11 Trang 20


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

4.3. Màn hin


̀ h bài viế t
̀ h ảnh, lươ ̣t thić h và biǹ h luâ ̣n từ các người dùng
Mô ̣t bài viế t sẽ có nô ̣i dung, hin
khác đang theo dõi chủ nhân của bài viế t này.

Nhóm 18 – IS353K11 Trang 21


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

4.4. Màn hin


̀ h đăng bài viế t
Bên dưới là màn hiǹ h đăng mô ̣t bài viế t lên ma ̣ng xã hô ̣i, Socialife sẽ hiể n thi ̣các
bài viế t đã đăng lên tường trang cá nhân của chủ nhân bài viế t.

4.5. Màn hin


̀ h thông báo
Các hoa ̣t đô ̣ng liên quan tới người dùng sẽ đươ ̣c hê ̣ thố ng thông báo về , từ đó,
người dùng có thể kiể m soát và xem các hoa ̣t đô ̣ng này.

Nhóm 18 – IS353K11 Trang 22


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

4.6. Màn hin


̀ h Bookmark
Bookmark là tính năng cho phép người dùng đánh dấ u và lưu la ̣i các bài viế t ho ̣
muố n xem la ̣i cho các lầ n sau.

Nhóm 18 – IS353K11 Trang 23


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

4.7. Màn hin ̀ kiế m người dùng


̀ h thanh tim
Mô ̣t người dùng trên Socialife có thể tìm kiế m các người dùng khác có sử du ̣ng
ma ̣ng xã hô ̣i này trên thanh tìm kiế m này.

4.8. Màn hin


̀ h tin nhắ n
Các người dùng trong Socialife có thể nhắ n tin riêng tư với nhau và với nhiề u
người trong ma ̣ng xã hô ̣i.

Nhóm 18 – IS353K11 Trang 24


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

4.9. Màn hin


̀ h Profile
Mỗi người dùng sẽ có mô ̣t trang cá nhân, chủ yế u là tâ ̣p trung các bài viế t ho ̣ đã
viế t cũng như thông tin về người đó.

Nhóm 18 – IS353K11 Trang 25


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

III. GĐ2: Phân tích cấ u trúc cô ̣ng đồ ng website mxh
Socialife để tim
̀ người dùng quan tro ̣ng trong ma ̣ng.
Để phân tích mạng xã hội Socialife, mạng được mô hình hoá thành đồ thị dạng G
= (V, E) với V là tập đỉnh (node), E là tập cạnh (liên kết, quan hệ):

Mô hình hoá mạng xã hội Socialife

Việc đánh giá mạng Socialife được thực hiện thông qua đánh giá các thông số về
độ trung tâm (centrality) khác nhau, cụ thể gồm degree centrality, betweenness
centrality, closeness centrality và eigenvector centrality.
1. Degree Centrality (Độ trung tâm cấp b c)
1.1. Khái niệm
Degree Centrality d ng để xác định các node có tầm ảnh hưởng lớn trong mạng xã
hội: truyền thông tin nhanh, liên kết với nhiều node,… hái niệm degree(cấp độ) chỉ số
lượng kết nối trực tiếp của một node.
Trong nhiều trường hợp, một node càng có ảnh hưởng khi số lượng kết nối càng
cao, tuy nhiên chỉ xác định bằng điều này là chưa đủ.

Nhóm 18 – IS353K11 Trang 26


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Để đánh giá ch nh xác độ degree centrality


cần phải dựa vào nhiều yếu tố, cụ thể với một cá
thể đại diện cho node đó cần:
 Cá thể đó là người có hoạt động tích
cực hoặc n i tiếng trong mạng.
 Là một đầu nối quan trọng.
 Node có một vị trí thuận lợi.
 Có tầm ảnh hưởng quan trọng trong
mạng.
Ví dụ độ Degree Centrality
Màu đỏ: Cao nhất
Màu xanh dương: Thấp nhất

1.2. Công thức


Degree centrality của một đỉnh chính là t ng số các liên kết tới đỉnh đó trong đồ
thị (t ng số cạnh kề của một đỉnh).
Trường hợp đồ thị có hướng, degree centrality được tính bởi 2 giá trị: in-degree và
out-degree.
 In-degree: t ng số liên kết t các node hác đến node đang x t.
 Out-degree: t ng số liên kết t node đang x t đến các node khác.

 Cho đồ thị G = (V, E) có n đỉnh, với V là tập đỉnh, E là tập cạnh:

Nhóm 18 – IS353K11 Trang 27


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

1.3. Áp dụng degree centrality vào mạng xã hội Socialife

Độ In Degree Centrality của mạng Socialife

2. Betweenness Centrality (Độ đo trung tâm trung gian)


2.1. Khái niệm
Betweenness Centrality d ng để xác định cá
thể có vị trí mang tính kết nối quan trọng trong
mạng, ảnh hưởng lớn đến khả năng ết nối của
các cá thể, nhóm cá thể với nhau. Cá thể có độ
Degree Centrality cao không nhất thiết có
Betweeness Centrality cao vì node đó có thể có
nhiều liên kết nhưng hông nằm trên đường liên
kết quan trọng đến cá thể hoặc nhóm cá thể khác
trong mạng.
Một node có độ đo Betweenness Centrality Ví dụ độ Betweenness Centrality

càng cao thì: Màu đỏ: Cao nhất


Màu xanh dương: Thấp nhất
 Giữ một vị tr đặc biệt quan trọng và
một tầm ảnh hưởng rất lớn trong mạng.

Nhóm 18 – IS353K11 Trang 28


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

 Nếu node này bị loại b thì sẽ gây ra sự tan rã cấu trúc của mạng, tức là các
node sẽ không còn có thể trao đôi thông tin liên lạc với nhau.
2.2. Công thức
Betweenness centrality của một đỉnh được tính bằng t ng số các đường đi ng n
nhất ngang qua đỉnh đang x t chia cho t ng số các đường đi ng n nhất của toàn mạng.
 Cho đồ thị G = (V, E) có n đỉnh, với V là tập đỉnh, E là tập cạnh:

 Trong đó:
σst(v): số đường đi ng n nhất giữa s và t có qua v
σst: t ng số đường ng n nhất giữa s và t
2.3. Áp dụng betweeness centrality vào mạng xã hội Socialife

Độ Betweenness Centrality của mạng


Socialife

Nhóm 18 – IS353K11 Trang 29


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

3. Closeness Centrality (Đô ̣ đo trung tâm lân câ ̣n)


̣
3.1. Khái niêm
Closenness Centrality d ng để xác định node
có khả năng truyền đạt, tiếp nhận thông tin t các
node khác trong mạng một cách nhanh nhất, ít tốn
thời gian nhất (node có nhiều đường đi ng n nhất
đến tất cả các node khác).
Một cá thể có giá trị Closeness Centrality cao
nhất:
 Có thể truy xuất nhanh chóng đến các
thực thể khác trong mạng. Minh hoạ độ Closeness Centrality
Màu đỏ: Cao nhất
 Có một đường đi ng n nhất đến nhiều
Màu xanh dương: Thấp nhất
thực thể khác.

3.2. Công thức


Closeness Centrality tính bằng khoảng cách t một đỉnh đến các đỉnh còn lại trong
mạng.
 Cho đồ thị G = (V, E) có n đỉnh, với V là tập đỉnh, E là tập cạnh:

 Trong đó: d(y,x) là đường đi ng n nhất t y đến x


 Closeness centrality được tính bằng trị nghịch đảo của t ng số khoảng cách ng n
nhất t một đỉnh đến tất cả các đỉnh còn lại.

Nhóm 18 – IS353K11 Trang 30


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

3.3. Áp dụng closeness centrality vào mạng xã hội Socialife

Độ Closeness Centrality của mạng Socialife

4. Eigenvector Centrality (Vector đặc trưng trung tâm)


4.1. Khái niệm
Eigenvector Centrality có tác dụng tương tự Degree Centrality, d ng để xác định
node có tầm ảnh hưởng trong mạng. Điểm khác biệt của Eigenvector Centrality là nó
phân tích dựa trên bậc của node liên kết đến node cần quan tâm. Do đó hi gặp hai node
có cùng bậc thì Eigenvector có thể giúp xác định node nào có vai trò quan trọng hơn
trong mạng.
4.2. Công thức
 Cho đồ thị G = (V, E) có n đỉnh, với V là tập đỉnh, E là tập cạnh.
Eigenvector Centrality có thể tính bằng ma trận kề theo công thức sau:

 Trong đó:
A = (av,t): ma trận kề
M(v): tập node mà được kết nối tới node thứ v
λ: là một hằng số

Nhóm 18 – IS353K11 Trang 31


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

4.3. Áp dụng eigenvector centrality vào mạng xã hội Socialife

Độ Eigenvector Centrality của mạng Socialife

5. Pagerank
5.1. Random Walks
Hãy xem xét biểu đồ dưới đây. Và giả sử rằng chúng ta thả một phần thông tin lên
đỉnh đ . Sau đó tìm hiể u một vài điều:
 Nó lây lan ở đâu đầu
tiên?
 Nó lan rộng bao xa?
 Các đỉnh, gần với
đỉnh đ sẽ thu được
nhiều thông tin hơn
sau đó những đỉnh ở
xa?
 Thông tin sẽ tiếp tục
qua lại mãi mãi hay
cuối cùng chúng ta
sẽ đạt được sự phân
phối n định?

Nhóm 18 – IS353K11 Trang 32


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Tuy thí nghiê ̣m này đươ ̣c bắ t đầ u với mô ̣t tiế n triǹ h nhỏ như đồ thi ̣trên nhưng do
tính ngẫu nhiên trở nên chiń h xác hi được áp dụng số lầ n vô ha ̣n, ví du ̣:
 Nếu bạn tung đồng xu, không ai có thể dự đoán được bên nào sẽ lên. hưng
nếu bạn tung đồng xu trong một số lần vô hạn, chúng ta sẽ có đươ ̣c xác suấ t
50% mă ̣t hình sẽ xuấ t hiê ̣n - với điều kiện là đồng tiền là công bằng.
 Trong trường hợp đồ thị, chúng ta không thể ném tiền. hưng chúng ta có
thể đi dọc theo các cạnh của đồ thị. Chúng ta có thể làm như vậy một cách
ngẫu nhiên với random walker. Đầ u tiên đồ thi ̣ sẽ b t đầu ở đỉnh đ , chọn
một cạnh ngẫu nhiên và đi đến đỉnh ở phía bên kia của cạnh và chúng ta sẽ
lặp lại thí nghiệm đó vô số lần.

Tuy nhiên, vào lúc bắ t đầ u random walkers chỉ có thể đi dọc theo một cạnh duy
nhất nên không cầ n lựa cho ̣n sẽ đế n đin
̉ h nào tiế p theo. hưng nếu chúng được ph p đi
dọc theo hai hoặc ba hoặc bốn cạnh liên tiếp thì nó sẽ trở nên hó hăn hơn để cho ̣n
đỉnh tiế p theo.
Trong thực tế, ta có thể tiń h các bước nhảy:
 Bước nhảy đầ u với công thức: x ' = A*x
 Trong đó:

Nhóm 18 – IS353K11 Trang 33


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

o A là ma trận xác suất chuyển tiếp.


o x vectơ chứa phân phối ban đầu của các bước đi ngẫu nhiên.
 Bước nhảy thứ hai trở đi được tính với xv = A*x ' .
Dưới đây, chúng ta sẽ thấy sự phân bố của người đi bộ ngẫu nhiên sau các bước đi
ngẫu nhiên khác nhau.

Random walkers sẽ đi qua lại và trên thực tế sẽ tiếp tục làm như vậy mãi mãi.
Điều này là do đồ thị là lưỡng cực - có nghĩa là các đỉnh có thể được nhóm theo
cách mà các cạnh không bao giờ kết nối bất kỳ hai đỉnh t cùng một nhóm.
Bất ỳ sự huếch tán thông tin nào trong biểu đồ đều có thể được mô hình hóa
bằng random walks. Tham số thú vị nhất của thuật toán này là độ dài của bước đi ngẫu
nhiên: càng để lâu, thông tin càng lan rộng
Đối với các biểu đồ như vậy, việc phân phối random walkers sẽ không bao giờ
trở nên n định. Có một giải pháp là: lazy random walks.
5.2. Lazy Random Walks
Ý tưởng của việc lazy random walks là chúng ta cho phép random walkers vẫn
ở la ̣i trên một đỉnh với xác suất 1/2.
Do đó, chúng ta có công thức x '= 1/2 *(A + I) * x
Trong công thức này:
 I là ma trận đơn vi ̣

Nhóm 18 – IS353K11 Trang 34


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

 A là ma trận ban đầu của xác suất chuyển tiếp.

Trong hình ảnh bên dưới, độ dày của cạnh tương ứng với giá trị trung bình hình
học của lượng thông tin của các đỉnh liền kề của nó.

Nhóm 18 – IS353K11 Trang 35


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Cạnh được xác định bởi thông tin hiện tại: Sự khác biệt về lượng thông tin giữa
các đỉnh liền kề là màu sắ c của đin
̉ h và về lươ ̣ng thông tin giữa các ca ̣nh là cạnh càng
dày, càng có nhiều thông tin chảy dọc theo cạnh.
Các cạnh có một đỉnh liền kề là high-degree có xu hướng được tô màu đ . Đây là
các đỉnh chứa một phần thông tin lớn hơn đáng ể so với phần còn lại của mạng.
hư chúng ta có thể thấy, đây là phân phối hội tụ nên nó ngày càng trở nên ít rõ
ràng hơn nơi thông tin b t nguồn t đó. Trong thực tế, đối với các đỉnh được kết nối tốt,
việc phân phối thông tin (random walkers) gần đúng với phân phối mức độ của
chúng. Điều này có nghĩa là các high-degree sẽ chứa nhiều thông tin tương ứng hơn
các low-degree.
5.3. Personalized Pagerank
Nếu chúng ta thực sự muốn đỉnh chứa thông tin ban đầu đóng vai trò quan trọng
và không bị kẹt trên bất kỳ đỉnh nào, nhưng random walkers vẫn có thể nhảy trở lại
đỉnh cụ thể này với một xác suất nhất định (ví dụ xác suất dịch chuyển tức thời, alpha).
Nó là mô hình phân phối thứ hạng, với điều kiện là khoảng cách random walkers
(còn go ̣i là random surfers) có thể đi t nguồn của họ (nguồn thường được gọi là “hạt
giống”) được xác định bởi alpha.
Trong thực tế, chiều dài đi bộ (walk length) dự kiến là 1 / alpha.
Công thức bây giờ trở thành x'= (1-alpha) * A*x + alpha * E
Ở đây:
 alpha là hằng số nằm trong khoảng t 0 đến 1.
 E là vectơ chứa nguồn thông tin - tức là trong trường hợp của chúng ta tất cả
đều bằng 0, ngoại tr đỉnh đ nơi thông tin của chúng ta b t đầu lan truyền.

Nhóm 18 – IS353K11 Trang 36


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Trong hình ảnh này, alpha được cố định ở mức 1/2 để có thể so sánh với lazy
random walks, alpha ở trường hơ ̣p này là há cao nhưng vẫn cho kết quả là thông tin
vẫn gần với đỉnh hạt giống. Trong trường hợp chúng ta muốn random walkers đi xa
hơn chúng ta cho alpha = 0,1.

Nhóm 18 – IS353K11 Trang 37


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Chúng ta muốn nguồn thông tin ban đầu đóng vai trò quan trọng. Gơ ̣i ý theo dõi
cho người dùng là một v dụ như vậy: ếu bạn thường xuyên theo dõi mô ̣t nhóm người,
công cụ tìm iếm sẽ có xác suấ t đưa ra gơ ̣i ý các người dùng gần với các người dùng

Nhóm 18 – IS353K11 Trang 38


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

bạn thường xuyên theo dõi cao hơn so với các người dùng khác, thuật toán Personalized
PageRank.
5.4. Áp du ̣ng vào ma ̣ng xã hô ̣i Socialife
Thu t toán gợi ý theo i cho người dùng:
Phạm vi: Gọi A là người d ng đang cần gợi ý theo dõi. Tập người d ng được xét
bao gồm: A, danh sách các người dùng mà A đang theo d i ( tập C), và danh sách các
người d ng được các người dùng thuộc tập C theo dõi (tâ ̣p F).
Ví dụ:

Vì đây là thuật toán để đưa ra cho người dùng các gợi theo d i người dùng khác,
ta không chỉ phải xét mối quan hệ “A theo d i C”, mà còn phải xem xét các khía cạnh
khác của mối quan hệ A đến C. Vì vậy, chúng ta sẽ tăng độ phức tạp của thuật toán lên
bằng cách thêm vào chỉ số weight cho các cạnh (edge). Weight của cạnh A  C sẽ được
xác định bằng các tương tác của A dành cho C cũng như dựa vào các chỉ số theo dõi của
cả hai.

Nhóm 18 – IS353K11 Trang 39


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Weight của 1 cạnh được xác định bằng một hàm số, bao gồm các tương tác t A
đến C: A thích (like) một bài viết của C; A bình luận (comment) vào một bài viết của C.
Một tương tác hác là A đánh dấu (bookmark) bài viết của C nhưng vì đây là hành động
chỉ có A nhìn thấy, nên chúng ta sẽ hông x t đến.
goài ra, chúng ta cũng sẽ x t đến các chỉ số theo dõi:
 Nếu tỉ lệ theo d i/được theo dõi của A thấp, điều này sẽ khiến việc A theo
dõi C trở nên “giá trị” hơn.
 gười có follower nhiều hơn hi theo d i người có follower thấp hơn sẽ có
giá trị hơn là ngược lại.
Chúng ta có hàm số sau:
W A  C = 1 + 0.1*L + 0.25*C + 0.5*(Ratio * FA / FC)
Trong đó:
 L: Số lượt like bài viết của C đến t A
 C: Số lượt bình luận bài viết của C đến t A
 Ratio: Tỉ lệ được theo dõi/theo dõi của A
 FA: Số lượng người theo dõi A
 FC: Số lượng người theo dõi C
Weight của m i một cạnh sẽ b t đầu với 1. Các số 0.1, 0.25, 0.5 là do em tự đề ra
dựa vào việc nhận xét tầm quan trọng của các chỉ số trên.
Sau khi chu n bị dữ liệu, em sẽ áp dụng
thuật toán Personalized Pageran để tìm ra
các gợi ý theo dõi thích hợp cho m i người
dùng trong mxh Socialife.
Hình khu vực “Who to follow” là danh
sách người dùng mà hê ̣ thố ng Socialife đề
xuấ t cho người dùng để theo dõi.

Nhóm 18 – IS353K11 Trang 40


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

IV. Triể n khai hê ̣thố ng và DEMO


1. ̀ h máy tính, Mã nguồ n và Database
Cấ u hin
Hê ̣ điề u hành: Microsoft Windows 8.1.
Ngôn ngữ lâ ̣p trình:
 Backend: Django Framework.
 Frontend: ReactJS.
Thư viê ̣n phân tić h dữ liê ̣u ma ̣ng xã hô ̣i:
 Thư viê ̣n phân tích: Networkx.
 Thư viê ̣n vẽ hình: Matplotlib.
Web Server: Daphne.
Môi trường phát triể n IDE: Visual Studio Code.
Hê ̣ quản tri ̣cơ sở dữ liê ̣u: SQLite.
Link Source code Website:
 Backend:
https://github.com/16520511/LIFE?fbclid=IwAR3VEAsT5_WXghqjMAU
hNvlZfsDpk5-eWXqrkifnRgCNyeN_3k6uiqGGDUY
 Frontend:
https://github.com/16520511/socialife?fbclid=IwAR0Ohj9C7grY01b0PEnf
qRf3U9shXRgfdnBInQeQU-kSiXVw1_6wE8tUM70
Link Demo Website online:
 https://www.youtube.com/watch?v=JZMGJgUmde8&feature=youtu.be
Link Demo Phân tić h cô ̣ng đồ ng ma ̣ng & Gơ ̣i ý theo dõi người dùng:
 https://www.youtube.com/watch?v=W-SyXAKQF0Y&feature=youtu.be
2. Hướng dẫn cài đă ̣t và cha ̣y
Sau khi tải Source Code từ link backend và frontend bên trên, thì ta làm theo hướng
dẫn bên dưới:
2.1. Back-end
Môi trường cài đặt: Python 3
Vào thư mục gốc của back-end (LIFE), chạy command: pip install -r
requirements.txt

Nhóm 18 – IS353K11 Trang 41


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

Sau khi tất cả các pac age đã được cài đặt, chạy command sau để chạy back-end:
python manage.py runserver
2.2. Front-end
Môi trường cài đặt:
"npm": "6.9.0",
"node": "10.16.0",
"yarn": "1.16.0"

Vào thư mục gốc của front-end (socialife), chạy command: yarn install
Sau khi tất cả các pac age đã được cài đặt, chạy command sau để chạy front-end:
npm start
* Lưu ý: Back-end và Front-end đều phải chạy để website có thể hoạt động.

Nhóm 18 – IS353K11 Trang 42


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

TÀ I LIỆU THAM KHẢO

[1] https://en.wikipedia.org/wiki/Centrality?fbclid=IwAR2B7Sru9lJMj9u
WS_sRprUMRshTW4VTzbbjxZRtpCy9owmAr-f6c7185rI
[2] https://www.r-bloggers.com/from-random-walks-to-personalized-
pagerank/
[3]

Nhóm 18 – IS353K11 Trang 43


Báo cáo đồ án môn ho ̣c Ma ̣ng xã hô ̣i - Socialife

PHỤ LỤC CHỨC VỤ & CÔNG VIỆC

STT Thành viên Chức vu ̣ & Công viêc̣


1 Bùi Nhâ ̣t Minh Trưởng nhóm
- Đinh
̣ hướng pha ̣m vi dự án & phân chia công
16520726 viê ̣c
Đảm bảo công viê ̣c hoàn thành đúng tiế n đô ̣
2 Lê Hoàng Đức Huy Developer
- Chiụ trách nhiê ̣m chin
́ h cho coding và testing
16520511 Đảm bảo chấ t lươ ̣ng đầ u ra cho sản phẩ m
3 Lê Quố c Tiế n Researcher
- Nghiên cứu tiń h năng gơ ̣i ý theo dõi người dùng
15520655 Thực hiê ̣n Sildes thuyế t trin
̀ h
4 Huỳnh Mỹ Phu ̣ng Researcher
- Nghiên cứu thuâ ̣t toán tiń h năng phân tić h cô ̣ng
15520883 đồ ng ma ̣ng xã hô ̣i
Thực hiê ̣n Slides thuyế t trình

* Th.viên Lê Hoàng Đức Huy đóng góp tích cực cho dự án Socialife, cả nhóm nhấ t trí
đề nghi ̣ cô giáo thưởng thêm điể m riêng cho bạn.
Xin chân thành cảm ơn cô,
Nhóm 18.

Nhóm 18 – IS353K11 Trang 44

You might also like