ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Minh Ngọc
PHÂN TÍCH MẠNG XÃ HỘI
BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2009
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới thầy giáo, Thạc sĩ Hồ Đắc Phương,
Thạc sĩ Đào Minh Thư, những người đã hướng dẫn và chỉ bảo tận tình cho em trong
suốt quá trình học tập cũng như thực hiện khóa luận tốt nghiệp này.
Em cũng xin cảm ơn các thầy cô giáo đã chỉ bảo trong suốt quá trình học tập tại trường
Đại học Công nghệ. Cùng với đó em cũng gửi lời cảm ơn tới Bùi Hiếu, Tuệ, Trương
Hiếu, Thái, Tiệp và Chuẩn, những người bạn đã cùng giúp đỡ nghiên cứu các ứng
dụng được trình bày trong khóa luận tốt nghiệp này.
Ngoài ra, những kết quả nghiên cứu được trình bày trong khóa luận tốt nghiệp này
cũng phải nhờ tới cha mẹ, bạn bè, những người đã rất ủng hộ, giúp đỡ và động viên
em.
Sinh viên
Phạm Minh Ngọc
TÓM TẮT
Khóa luận tốt nghiệp này trình bày những hiểu biết về công nghệ WAVE như sự hình
thành, các tính chất, đặc điểm, các điểm mạnh của công nghệ WAVE so với các công
nghệ hiện thời và ứng dụng của nó vào việc giải quyết các bài toán cụ thể.
Phần chính của khóa luận này là đưa ra các bài toán tổng quan về vấn đề phân tích
thông tin trên mạng xã hội Yahoo!360, từ đó sẽ áp dụng nền tảng WAVE, kết hợp với
ngôn ngữ lập trình Java, cơ sở dữ liệu MySQL để thực hiện một chương trình nhỏ thu
thập và phân tích thông tin trên mạng xã hội Yahoo!360 hiện thời.
Mục lục
LỜI CẢM ƠN..................................................................................................................1
TÓM TẮT........................................................................................................................2
MỞ ĐẦU .........................................................................................................................1
CHƯƠNG 1: MẠNG XÃ HỘI VÀ CÁC BÀI TOÁN LIÊN QUAN.............................3
1.1 Lịch sử Mạng xã hội ..............................................................................................3
1.2 Đặc điểm Mạng xã hội (ảo) [30] ..............................................................................6
1.3 Một số bài toán đối với Mạng xã hội .....................................................................8
CHƯƠNG 2: NGÔN NGỮ WAVE ..............................................................................12
2.1 Giới thiệu về ngôn ngữ Wave ..............................................................................12
2.2 Node, Link và Không gian phân tán : Knowledge Network (KN) ......................12
2.3 Tổ chức chung của ngôn ngữ Wave.....................................................................13
2.4 Cấu trúc dữ liệu cơ bản của Wave .......................................................................15
2.5 Biến Spatial và kiểu .............................................................................................15
2.5.1 Task variables ................................................................................................15
2.5.2 Environment variables ...................................................................................15
2.6 Các hành động - ACTS ........................................................................................16
2.6.1 Control acts ....................................................................................................16
2.6.2 Fusion acts: Các phép toán hợp nhất .............................................................18
2.7 Rules – Các luật trong Wave................................................................................19
2.7.1 Các Luật Rẽ Nhánh........................................................................................19
2.7.2 Repetition.......................................................................................................20
2.7.3 Create .............................................................................................................20
2.7.4 Release ...........................................................................................................20
2.8 Wave và mô hình lập trình truyền thống..............................................................21
2.8.1 Sơ đồ luồng (SD) ...........................................................................................21
2.8.2 Wave và mô hình lập trình song song ...........................................................22
2.8.3 Wave và mô hình lập trình tuần tự ................................................................24
CHƯƠNG 3: XÂY DỰNG MẠNG TRI THỨC CHO MẠNG XÃ HỘI.....................30
3.1 Mạng xã hội Yahoo!360 [9] ..................................................................................30
3.2 Xây dựng mạng tri thức cho mạng xã hội Yahoo!360.........................................33
3.2.1 Thu thập thông tin cho mạng tri thức ............................................................33
3.2.2 Tạo dựng mạng tri thức .................................................................................35
3.2.3 Lưu trữ ...........................................................................................................36
3.2.4 Filter...............................................................................................................38
3.3 Sơ đồ hoạt động các thành phần trong chương trình ...........................................40
3.3.1 Thành phần thu thập thông tin blog...............................................................40
3.3.2 Thành phần tạo dựng Mạng tri thức ..............................................................42
CHƯƠNG 4: BÀI TOÁN PHÂN TÍCH QUAN HỆ ....................................................43
4.1 Tạo lập mạng tri thức từ cơ sở dữ liệu không đồng nhất .....................................43
4.2 Các bài toán quan hệ ............................................................................................49
4.3 Mở rộng hệ thống.................................................................................................52
CHƯƠNG 5: BÀI TOÁN PHÂN TÍCH ĐẶC ĐIỂM...................................................53
5.1 Bài toán tìm kiếm theo mẫu .................................................................................53
5.2 Bài toán Tìm Đường đi ngắn nhất........................................................................54
5.2.1 Thuật toán ......................................................................................................54
5.2.2 Cài đặt ............................................................................................................58
5.3 Bài toán tìm Đường kính......................................................................................61
5.4 Bài toán tìm Tâm và Bán kính .............................................................................66
CHƯƠNG 6: KẾT QUẢ ...............................................................................................67
6.1 Kết quả thực nghiệm ............................................................................................67
6.2 Kết luận ................................................................................................................67
TÀI LIỆU THAM KHẢO .............................................................................................69
DANH MỤC CÁC HÌNH ẢNH
Hình 1 1: Đồ thị biểu diễn cấu trúc đơn giản mạng xã hội .............................................3
Hình 1 2: Ma trận kề biểu diễn đồ thị gồm 4 đỉnh A, B, C, D ......................................10
Hình 2 1: Knowledge Network.....................................................................................13
Hình 2 2 Thành phần của Spread Diagrams..................................................................21
Hình 2 3: Tự động tách trong chuỗi Wave ....................................................................22
Hình 2 4: Một số trường hợp xử lý song song ..............................................................23
Hình 2 5: Wave xử lý song song có kèm theo Rule ......................................................23
Hình 2 6: Xử lý tuần tự không Rule và có Rule............................................................24
Hình 2 7: Wave xử lý tuần tự có Rule...........................................................................25
Hình 2 8: Một số trường hợp với mệnh đề if-else .........................................................25
Hình 2 9: Một số trường hợp với mệnh đề if-else .........................................................26
Hình 2 10: else-if với filter ............................................................................................26
Hình 2 11: else-if parallel ..............................................................................................27
Hình 2 12: else-if với Rule ............................................................................................27
Hình 2 13: Switch ..........................................................................................................28
Hình 2 14: Câu lệnh lặp sử dụng Repetition .................................................................29
Hình 2 15: Câu lệnh lặp sử dụng Recursion..................................................................29
Hình 3 1: Các thành phần trong một trang cá nhân Yahoo!360....................................32
Hình 3 2: Cấu trúc của đường liên kết tới dịch vụ Yahoo!360 .....................................34
Hình 3 3: Cấu trúc Cơ sở dữ liệu MySQL.....................................................................37
Hình 3 4: Sơ đồ hoạt động thành phần thu thập thông tin blog.....................................40
Hình 3 5: Sơ đồ hoạt động thành phần tạo dựng mạng tri thức ....................................42
Hình 4 1: Cấu trúc cơ bản của một cơ sở dữ liệu không đồng nhất ..............................43
Hình 4 2: WORLD database..........................................................................................44
Hình 4 3: TOPICS database ..........................................................................................45
Hình 4 4: OCCUPATION database ..............................................................................46
Hình 4 5: BLOGGER database .....................................................................................47
Hình 4 6: Cơ sở dữ liệu tổng hợp ..................................................................................48
Hình 5 1 .........................................................................................................................53
Hình 5 2 .........................................................................................................................54
Hình 5 3 .........................................................................................................................55
Hình 5 4 .........................................................................................................................56
Hình 5 5 .........................................................................................................................56
Hình 5 6 .........................................................................................................................57
Hình 5 7 .........................................................................................................................59
Hình 5 8 .........................................................................................................................60
Hình 5 9 .........................................................................................................................61
Hình 5 10 .......................................................................................................................63
Hình 5 11 .......................................................................................................................64
Hình 5 12 .......................................................................................................................66
DANH MỤC CÁC BẢNG BIỂU
Bảng 1 1: Thông tin về các dịch vụ mạng xã hội phổ biến .............................................5
Bảng 1 2: Tiềm năng đối với mạng xã hội thông qua vài con số [37] ............................8
BẢNG KÝ HIỆU VIẾT TẮT
Ký hiệu
Viết đầy đủ
ADSL
Asymmetric Digital Subscriber Line
CSDL
Cơ sở dữ liệu
CSV
Comma-Separated Values
CSS
Cascading Style Sheets
HTML
Hyper Text Markup Language
KN
Knowledge Network
LAN
Local Area Network
Mbps
Mega bit per second
MD5
Message Digest 5
SMS
Short Message Service
SNR
Set of Node Reached
URL
Uniform Resource Locator
WI
Wave Interpreter
XML
eXtensible Markup language
MỞ ĐẦU
Ngày nay, sự phát triển của công nghệ thông tin nói chung và kiến trúc mạng nói riêng
đã và đang đạt được những bước tiến nhất định. Công nghệ thông tin đang dần được
đưa vào ứng dụng trong mọi lĩnh vực của cuộc sống, từ việc điều khiển các thiết bị
một cách tự động, hỗ trợ hoạt động kinh doanh, sản xuất của con người, cho đến việc
giả lập chính xã hội loài người – mạng xã hội.
Mạng xã hội ra đời đã trở thành một trào lưu mới trong mọi tầng lớp sử dụng máy tính
và Internet làm công cụ giao lưu, tìm kiếm kiến thức. Mạng xã hội giúp thu hẹp
khoảng cách giữa người với người, góp phần biến thế giới mà chúng ta đang sinh sống
trở thành một “thế giới phẳng”. Với khả năng kết nối, chia sẻ thông tin một cách dễ
dàng, mạng xã hội dần trở thành một kho kiến thức khổng lồ. Và từ đây, nhu cầu tìm
kiếm, phân tích lượng thông tin khổng lồ trong rất nhiều mạng xã hội đang tồn tại và
phát triển trở nên cần thiết hơn bao giờ hết.
Tuy thế, các công nghệ tìm kiếm hiện tại đứng đầu là Google đều chưa thể tận dụng
hết khả năng của mạng xã hội. Bởi lẽ mạng xã hội có cấu trúc rất mở, các thành phần
được gắn kết với nhau theo dạng quan hệ (một chiều, hai chiều) nên việc tìm kiếm
thông tin trên mạng xã hội phải làm việc ở mức phân tích quan hệ, tìm kiếm các đặc
điểm. Trong khi các cỗ máy tìm kiếm hiện thời vẫn chỉ tập trung vào tìm kiếm nội
dung thì có một công nghệ mới đang có những bước phát triển rất lớn lại có khả năng
phân tích, tìm kiếm dựa trên quan hệ, đó là công nghệ WAVE.
Công nghệ WAVE bao gồm bộ ngôn ngữ WAVE và bộ thông dịch chính ngôn ngữ đó.
Chúng tập hợp lại thành một nền tảng mạnh mẽ trong việc hỗ trợ tính toán và xử lý
song song dựa trên các hệ thống phân tán. Với những bộ luật thông minh, WAVE cho
phép tận dụng được gần như tối đa khả năng của một hệ thống mạng ngang hàng với
các máy tham gia phân tán để thực hiện những bài toán đòi hỏi độ phức tạp tính toán
cao.
Trên cơ sở đó, khóa luận tốt nghiệp này tập trung tìm hiểu và làm rõ hơn khả năng tận
dụng công nghệ WAVE vào việc xử lý các bài toán dựa trên quan hệ trên các mạng xã
hội, để từ đó tạo tiền đề cho việc ứng dụng WAVE vào trong các bài toán lớn hơn, giải
quyết vấn đề thu thập, tìm kiếm và phân tích thông tin trên diện rộng.
Do giới hạn của một khóa luận tốt nghiệp, tất cả những ứng dụng của WAVE cũng
như việc ứng dụng WAVE vào các bài toán phân tích trong mạng xã hội sẽ không thể
được trình bày một cách đầy đủ và chi tiết, cho nên khóa luận tốt nghiệp này sẽ bao
1
gồm ba phần chính. Phần đầu nhằm giới thiệu về mạng xã hội, trình bày các đặc điểm
của mạng xã hội đồng thời lý giải vì sao muốn tìm hiểu thông tin trong một mạng xã
hội phải cần đến công nghệ WAVE. Phần thứ hai cung cấp cái nhìn chi tiết hơn về
mạng xã hội hiện vẫn đang dần đầu về quy mô, số lượng người dùng tại Việt Nam, đó
là Yahoo!360. Phần này cũng trình bày việc đưa các dữ liệu “ảo” của mạng xã hội
Yahoo!360 vào thành các thành phần quan hệ trong WAVE, từ đó tạo ra mạng tri thức
nhằm giải quyết các bài toán phân tích quan hệ trong mạng xã hội được trình bày đầy
đủ hơn trong phần thứ 3.
Khóa luận cũng sẽ dành hai chương cho việc giới thiệu về ngôn ngữ WAVE và việc
ứng dụng WAVE trong giải quyết các bài toán phân tích đặc điểm của mạng xã hội.
Hai phần này sẽ được nghiên cứu sâu hơn trong hai khóa luận tốt nghiệp: “Xây dựng
trình biên dịch cho ngôn ngữ WAVE” của Trương Văn Hiếu và “Phân tích mạng
xã hội bằng công nghệ WAVE – Phân tích đặc điểm mạng xã hội” của Phí Hồng
Thái (khóa 50 – Công nghệ thông tin – Trường đại học Công nghệ - Đại học Quốc gia
Hà Nội).
2
CHƯƠNG 1: MẠNG XÃ HỘI VÀ CÁC BÀI TOÁN LIÊN QUAN
Theo Wikipedia [17] và Whatissocialnetworking.com [39], Mạng xã hội, hay còn
gọi là mạng xã hội ảo (tiếng Anh: social network) là một cấu trúc mang tính xã hội tạo
thành từ các nút (tiếng Anh: node), mỗi nút đó có thể là một cá nhân, hay một tổ chức.
Mạng xã hội làm nhiệm vụ kết nối các thành viên, người dùng trên Internet lại với
nhau dựa theo những tiêu chí nào đó, với nhiều mục đích khác nhau, không phân biệt
thời gian và không gian.
Hình 1 1: Đồ thị biểu diễn cấu trúc đơn giản mạng xã hội
Cấu trúc xã hội của mạng xã hội được thể hiện ở cách thức mạng xã hội “giả lập” xã
hội loài người. Mạng xã hội nhìn nhận những mối quan hệ xã hội thông qua các nút và
ràng buộc giữa các nút. Trong một mạng xã hội, các nút là các cá thể, và ràng buộc
giữa chúng là các mối quan hệ giữa các cá thể đó. Với một cấu trúc đơn giản nhất như
thế, một mạng xã hội có thể được biểu diễn như một “đồ thị” như Hình 1 1 trong đó
mỗi cá thể, mỗi nút là một điểm trên đồ thị, và quan hệ giữa chúng được thể hiện là
một đoạn nối điểm này với điểm khác.
1.1 Lịch sử Mạng xã hội
Mạng máy tính (tiếng Anh: computer network) ra đời làm nền tảng cho sự xuất hiện
của mạng xã hội.
3
Có một vài cách tiếp cận khác nhau về mạng xã hội. Cách tiếp cận đầu tiên cho rằng
mạng xã hội là một nơi để mọi người có thể tương tác với nhau thông qua các phòng
trò chuyện (tiếng Anh: chat room), chia sẻ thông tin cá nhân, ý tưởng qua các chủ đề
được tạo lập trên những trang cá nhân, mà về sau này được gọi là “blogging”. Những
mạng xã hội dạng này thì đã xuất hiện từ năm 1985 với THE WELL, Theglobe.com
(1994), Geocities (1995) và Tripod (1995).
Còn với một cách tiếp cận khác, đơn giản hơn thì mạng xã hội là nơi mà mọi người có
thể kết nối với nhau thông qua địa chỉ thư điện tử của họ. Mạng xã hội đầu tiên của
dạng này – Classmates [29] – ra đời vào năm 1995 với mục đích kết nối bạn học, tiếp
đó SixDegrees được tạo ra vào năm 1997 là với mục đích giao lưu kết bạn dựa theo sở
thích.
Năm 2002, Friendster [32] ra đời và mau chóng trở thành trào lưu tại Mỹ. Tuy vậy do
phát triển quá nhanh mà thiếu đi sự tính toán đối với phân tải đã khiến các server của
dịch vụ này hay bị xảy ra hiện tượng quá tải. Công ty này sau đó có được Google đề
nghị mua lại với trị giá khoảng 30 triệu đô la Mỹ tuy nhiên thương vụ không thành
công.
Năm 2004, MySpace [34] đi vào hoạt động, nhanh chóng nổi bật với các tính năng
mới hấp dẫn, trong đó phải kể đến tính năng chia sẻ nhạc. Dịch vụ này đã thu hút được
rất nhiều các ban nhạc tham gia vào mạng xã hội MySpace, từ đó giúp cho mạng xã
hội này có thêm được rất nhiều những thành viên quan tâm, để rồi trở thành mạng xã
hội lớn nhất thế giới cho tới tận thời điểm hiện nay.
Năm 2006 đánh dấu sự có mặt của Facebook [31] (thực ra là việc mở rộng phạm vi
của mạng xã hội này ra toàn cầu thay vì cho cộng đồng các trường đại học tại Mỹ vốn
đã tồn tại từ năm 2004), một mạng xã hội “mở”. Facebook cung cấp một nền tảng lập
trình gọi là Facebook Platform cho phép những thành viên chuyên sâu có thể tạo ra
các ứng dụng (tiếng anh: Applications). Nhờ vậy Facebook có được rất nhiều các ứng
dụng vừa được cập nhật một cách nhanh chóng, lại vừa phù hợp với nhiều đối tượng
với các sở thích cá nhân khác nhau.
Ngoài ra hiện nay còn có một trào lưu mới xuất hiện nhưng cũng đã phát triển hết sức
nhanh chóng, đó là Twitter [25]. Nếu như các mạng xã hội trước kia thường được gọi
là blogging thì Twitter còn được gọi là micro-blogging [12]. Được gọi như vậy bởi
Twitter chỉ cung cấp cho người dùng khả năng tạo ra những dòng tin nhắn nhanh và
4
ngắn gọn cỡ 140 ký tự (gần giống với số ký tự cho phép trong một tin nhắn SMS [14]
trên điện thoại di động).
Bảng 1 1 đưa ra một vài con số thống kê nhỏ về mạng xã hội và sự phát triển của
chúng trong thời gian gần đây dựa vào hai tiêu chí cơ bản là số lượng người dùng
(thống kê vào thời điểm đầu năm 2009) và xếp hạng lưu lượng truy cập tại trang thống
kê nổi tiếng Alexa (thống kê được ghi lại vào thời điểm tháng 5 năm 2009)
Bảng 1 1: Thông tin về các dịch vụ mạng xã hội phổ biến
Tên dịch vụ
Thời gian ra đời
Số lượng người
dùng [11] - 2009
Global Alexa page
Ranking [28] – 5/2009
Bebo bebo
Tháng 1/2005
40 triệu
143
Classmates
1995
50 triệu
510
Facebook
Tháng 2/2004
200 triệu
4
Flixster
Tháng 6/2005
63 triệu
584
Friendster
2002
90 triệu
54
Habbo
2000 (Phần Lan)
117 triệu
3812
hi5
27/6/2003
80 triệu
24
LinkedIn
Tháng 5/2003
40 triệu
101
MySpace
Tháng 8/2003
Khoảng 253 triệu
9
Netlog
2004
42 triệu
99
Orkut
22/1/2004
67 triệu
107
Reunion
(MyLife.com)
2002
51 triệu
2555 (1086)
Tagged
Tháng 10/2004
70 triệu
72
Twitter
2006
25 triệu
49
5
Windows live
spaces
Đầu năm 2004
120 triệu
5
1.2 Đặc điểm Mạng xã hội (ảo) [30]
Có thể nói Mạng xã hội có thể phát triển mạnh mẽ được như hiện nay là do những ưu
thế đáng kể mà chúng mang lại so với các cách tiếp cận cộng đồng truyền thống.
Đầu tiên là vấn đề chi phí. Có thể thấy rằng việc tham gia vào một mạng xã hội, dù là
đối với một cá nhân hay một tổ chức đều chiếm một chi phí tương đối thấp, bởi trên
thực tế, các mạng xã hội hiện nay hầu hết cho phép đăng ký và sử dụng miễn phí.
Trong khi đó, khi đã trở thành một thành viên của một mạng xã hội, các cá nhân hay tổ
chức đó có thể có được rất nhiều thông tin hữu ích cho mối quan tâm, sự phát triển của
mình. Ví dụ như một công ty sau khi tham gia một mạng xã hội nào đó, có thể chỉ cần
vài cú nhấp chuột là đã có thể tìm hiểu về các sở thích của người dùng, xu hướng của
những sở thích đó. Qua đó, công ty có thể phát hiện ra được những khách hàng tiềm
năng, vạch ra một chiến lược kinh doanh mới cho thời kỳ khó khăn … Những việc làm
này có thể giúp ích rất nhiều cho hoạt động kinh doanh hiện tại của công ty đó.
Thứ hai là khả năng xây dựng các mối quan hệ tin cậy. Nhờ vào việc quan sát được
các bài viết, đánh giá của các thành viên trong mạng xã hội, một tổ chức có thể nắm
bắt được nhu cầu và đánh giá của khách hàng về các sản phẩm hay dịch vụ mà họ cung
cấp. Hơn thế là khi họ có những phản hồi tích cực đối với khách hàng, từ đó xây dựng
một mối quan hệ “ảo” với khách hàng trong khi có thể mang lại một niềm tin “thực”.
Không quá tốn kém như những hệ thống chăm sóc khách hàng lớn mà mang lại hiệu
quả cũng không hề nhỏ, đó chính là lợi thế của mạng xã hội.
Hay đối với những cá nhân, nhờ việc đọc được những bài viết phần nào mang tính chất
riêng tư, tâm sự của bạn bè, hay con cái, họ có thể có được những hiểu biết rõ ràng
hơn về bạn bè, con cái của mình, thấy được vấn đề mà người kia đang gặp phải, từ đó
giúp họ giải quyết vấn đề dễ dàng hơn. Bởi nghiên cứu cho thấy, giới trẻ đang có xu
hướng kể ra những phức tạp cá nhân trên blog, mạng xã hội dễ dàng hơn là nói chuyện
trực tiếp với các bậc phụ huynh, hay cả với bạn bè. Khi ấy niềm tin trong mối quan hệ
cũng được nâng lên đáng kể.
Thứ ba, việc tạo lập các mối quan hệ trong mạng xã hội trở nên dễ dàng hơn bao giờ
hết. Thử tưởng tượng trong mạng xã hội nào đó, người dùng có một vài người bạn,
6
những người ấy lại có nhiều bạn bè khác, cứ như vậy. Nhờ vào mạng xã hội, người
dùng ban đầu có thể thiết lập một mối quan hệ với bất cứ ai, đơn giản chỉ khởi đầu
bằng việc gửi đi một lời nhắn đề nghị được kết bạn. Sau khi được chấp nhận bởi phía
bên kia, việc cần làm để gìn giữ mối quan hệ đó đó là cố gắng cân bằng giữa việc cho
đi và nhận lại. Việc này ở trên một mạng xã hội tỏ ra đơn giản hơn so với việc duy trì
mối quan hệ trong xã hội bình thường, bởi cho đi và nhận về trong mạng xã hội nhiều
khi chỉ nằm ở mức có những bình luận trong những bài viết của bạn bè.
Những ưu điểm mà mạng xã hội mang lại như đã kể trên là rất to lớn, tuy vậy cũng cần
phải chỉ ra một số mặt hạn chế của mạng xã hội.
Vấn đề đầu tiên mà mạng xã hội gặp phải là vấn đề về thông tin cá nhân của người
dùng [20]. Khi đã kết nối vào mạng xã hội, có bạn bè trên đó đồng nghĩa với việc
người dùng cũng phải đối mặt với nguy cơ bị lợi dụng các thông tin (cá nhân) đăng tải
lên đó. Với những thông tin như vậy, những kẻ có ý đồ không tốt có thể tìm hiểu nhiều
thứ khác hơn về người dùng đó. Điều đó có thể làm ảnh hưởng tới lợi ích cá nhân của
người dùng đó ngay trong thời điểm hiện tại cũng như tương lai. Biết đâu một bức ảnh
xưa cũ có thể được lôi ra để làm hại tới thanh danh của người dùng đó về sau này???
Vấn đề thứ hai nằm ở chính cơ chế vận hành của các mạng xã hội. Mạng xã hội cũng
như mọi trang web khác, đều phải giải quyết các vấn đề liên quan tới bảo mật thông
tin. Thêm vào đó, các trang mạng xã hội còn gặp phải một số vấn đề riêng ví dụ như
tình trạng nhắn tin rác làm phiền những thành viên tham gia, sử dụng những công cụ
tự viết. Vấn đề này xuất hiện khá nhiều trên các phương tiện thông tin đại chúng gần
đây, có thể lấy ví dụ về vài sự cố các tài khoản mạng xã hội của những người nổi tiếng
bị hacker kiểm soát, những thông tin nhạy cảm được tung ra …
Một điểm nữa cần nói tới trong mặt hạn chế của mạng xã hội là việc tiêu tốn thời gian
sử dụng. Việc tham gia một mạng xã hội, kiểm tra các thay đổi gần đây từ bạn bè, cập
nhật những thay đổi, thông tin cho chính mình nhiều khi làm mất thời gian của người
tham gia. Tất nhiên điều này còn tùy thuộc vào cách từng người phân phối thời gian
của mình cho việc “online” trên các mạng xã hội mà họ tham gia. Tuy vậy theo những
phân tích gần đây thì có tình trạng khá nhiều người trẻ bị hội chứng “nghiện” khi tham
gia mạng xã hội. Nếu tình trạng này xảy ra ở diện rộng thì sẽ có rất nhiều hiệu ứng
không tốt kèm theo.
Như vậy, cũng như những dịch vụ khác triển khai và khai thác trên nền Internet, mạng
xã hội cũng thể hiện được những ưu và nhược điểm nhất định. Nhược điểm của mạng
7
xã hội phần lớn kế thừa từ những nhược điểm vốn có của các dịch vụ nền web, nhưng
những ưu điểm của dịch vụ này lại mang tính chất đột phá so với các cách thức truyền
thông cộng tác truyền thống. Như trong một cuốn sách với tựa đề Groundswell của
nhà xuất bản Forrester Research ra đời năm 2008, mạng xã hội và tác động của nó đã
được mô tả với thuật ngữ “groundswell”, tạm hiểu là: “một bước tiến tự nhiên của loài
người khi sử dụng các công cụ trên mạng để kết nối, tích lũy kiến thức, lấy những gì
họ cần – thông tin, hỗ trợ, các ý tưởng, các sản phẩm hay khả năng thương lượng với
cộng đồng”1 .Và với những tiềm năng hiện tại mà mạng xã hội mang lại (xem Bảng 1
2), việc tham gia, phân tích và tận dụng những điểm mạnh mà mạng xã hội mang lại là
cần thiết.
Bảng 1 2: Tiềm năng đối với mạng xã hội thông qua vài con số [37]
Thống kê nhỏ về mạng xã hội
80% số người sử dụng Internet đã từng dùng các tiện ích của các
mạng xã hội khác nhau
Hiện tồn tại khoảng 500 mạng xã hội trên thế giới và hàng nghìn
trang web có chức năng như một mạng xã hội
Dịch vụ mạng xã hội có tốc độ tăng trưởng trung bình 47% mỗi
năm, cao hơn hầu hết các dịch vụ trên nền Internet khác (Facebook là
150% trong năm khủng hoảng 2008 [38])
Cứ 11 phút online trên mạng thì người sử dụng lại dành 1 phút cho
blog và các mạng xã hội
-
Người sử dụng ngày càng đa dạng về lứa tuổi
Di động ngày càng đóng vai trò quan trọng. 23% người sử dụng
mạng xã hội ở Anh truy cập web thông qua điện thoại cầm tay
1.3 Một số bài toán đối với Mạng xã hội
Tiềm năng phát triển rất mạnh hiện nay đồng thời cũng đặt ra những bài toán xử lý
thông tin trên mạng xã hội. Các công nghệ tìm kiếm hiện tại nói chung vẫn chỉ dừng
lại ở mức tìm kiếm nội dung trong các bài viết, tin nhắn được đăng tải trên các mạng
1
Nguyên văn: “a spontaneous movement of people using online tools to connect, take charge of their own
experience, and get what they need‐information, support, ideas, products, and bargaining power‐from each
other.”
8
xã hội. Trong khi nhu cầu tìm hiểu và phân tích thông tin còn cao và không chỉ ở khả
năng tìm kiếm nội dung thông thường, mà còn ở phương diện thu thập và phân tích các
mối quan hệ, các đặc điểm. Như vậy các lĩnh vực nghiên cứu dựa trên các mạng xã hội
hiện nay cần hơn một công cụ nào đó giúp cho phép thiết lập một sơ đồ quan hệ và
phân tích sơ đồ đó.
Hiện tại cũng có một số phần mềm cho phép phân tích, xử lý các thông tin dựa trên
quan hệ kiểu như trên [16]. Tuy nhiên có thể nhận thấy rằng, hầu hết những công cụ
đó cần phải có một cơ sở dữ liệu đầu vào để tạo ra đồ thị quan hệ, thông thường là từ
một kiểu file cơ sở dữ liệu như CSV, XML … từ đó mới bắt đầu thực thi các phân tích
liên quan tới đồ thị quan hệ đó. Việc thu thập các nút, quan hệ giữa các nút hay các
thuộc tính khác thường không được định nghĩa mà có thể nhờ một phần mềm khác,
hay cũng có thể do người dùng trực tiếp đưa vào. Cách thức này hạn chế ở điểm sẽ khó
nắm bắt được các thay đổi trên mạng xã hội mang tính chất “thời gian thực” (tiếng
Anh: realtime). Công nghệ WAVE mà các bài toán trong khóa luận này khai thác sẽ
có thể hỗ trợ toàn bộ các công việc trên, từ bước thu thập (theo thời gian thực) và tạo
lập đồ thị quan hệ (mà trong WAVE được gọi là một mạng tri thức – Knowledge
Network) tới bước thực hiện phân tích quan hệ dựa trên một cấu trúc ngôn ngữ mới
cũng mang tên WAVE.
Công nghệ WAVE cho phép việc xử lý thông tin ở mức đồ thị, tức là xử lý thông tin ở
dạng quan hệ. WAVE tự nó sẽ tạo ra một đồ thị biểu diễn các mối quan hệ, các thuộc
tính để rồi từ đồ thị đó thực hiện các bài toán phân tích quan hệ. Ngoài việc có thể xử
lý các bài toán liên quan tới quan hệ mà hiện tại các cỗ máy tìm kiếm dạng Google
chưa thể làm được thì về sau này, còn có thể ứng dụng WAVE vào các bài toán xây
dựng các Ontology [13] [40], từ đó tiếp tục xử lý thông tin ở mức độ Ontology. Ngoài
ra việc xử lý thông tin dạng nội dung cũng có thể được thực hiện khá dễ dàng thông
qua việc gửi các truy vấn tìm kiếm dạng Full-Text Search [10] vào trong WAVE. Tóm
lại, WAVE giúp xử lý dễ dàng hơn các bài toàn cả ở mức tìm kiếm nội dung lẫn tìm
kiếm trong quan hệ cộng đồng.
Về tìm kiếm dựa trên quan hệ, hiện có khá nhiều bài toán liên quan có khả năng tận
dụng để lấy ra kết quả phục vụ các mục đích khác nhau, thường là ứng dụng trong lĩnh
vực xã hội học. Có thể chia các bài toán này ra làm hai dạng chính
¾
¾
Tìm các quan hệ
Phân tích các đặc điểm
9
Một bài toán tìm quan hệ có thể có rất nhiều dạng, tựu chung lại, những bài toán dạng
này làm nhiệm vụ tìm ra trong một tập hợp cá thể có mối quan hệ với nhau, một, hoặc
một vài, hoặc một tập hợp con thỏa mãn một dạng quan hệ nào đó. Lấy ví dụ, có thể kể
ra như tìm bạn chung (tiếng Anh: mutual friend) của hai hay ba người bất kỳ trong
mạng xã hội. Kết quả của bài toán này có thể phần nào giúp chúng ta tìm hiểu điểm
gặp nhau trong quan hệ giữa những người được chỉ ra, tức là phân tích tại sao giữa họ
lại có mối quan hệ.
Bài toán phân tích đặc điểm cũng là dạng bài toán được dùng khá nhiều trong nghiên
cứu xã hội học. Ví dụ như bài toán tìm đường kính, là bài toán giúp giải quyết vấn đề
tìm khoảng cách ngắn nhất giữa hai người (hai nút) trong một mạng xã hội. Nó gần
giống với thử nghiệm Small World [15] nhằm tìm ra khoảng cách đủ để kết nối giữa
hai người bất kỳ trên toàn nước Mỹ, và kết quả khá bất ngờ rằng khoảng cách trung
bình nằm trong khoảng 5.5-6, tức là khá nhỏ so với người ta tưởng tượng.
Có một bài toán tìm đặc điểm khác trong quan hệ là tìm tâm của một tập hợp các cá
thể (các nút). Kết quả của bài toán này sẽ cho thấy nút trong đồ thị mà khoảng cách từ
nút đó tới mọi nút khác trong đồ thị của tập hợp các cá thể đó là ngắn nhất.
Các bài toán trên đơn thuần là những bài toán dựa trên đồ thị, và nếu chỉ như vậy thì
có lẽ rằng với một ma trận kề dạng như Hình 1 2 dưới, các bài toán trên cũng có thể
được giải quyết tương đối dễ dàng với một số thao tác tính toán không phức tạp. (bởi
lẽ một đồ thị có thể được biểu diễn dưới dạng ma trận [26])
Hình 1 2: Ma trận kề biểu diễn đồ thị gồm 4 đỉnh A, B, C, D
10
Tuy nhiên ma trận không thể giải quyết được tình huống mở rộng đồ thị sẵn có với
những nút mới, những thuộc tính mới. Và WAVE có thể giải quyết trọn vẹn điều này,
bởi WAVE xử lý trên một đồ thị thuần túy.
Có thể lấy ví dụ về việc thêm một thuộc tính mở rộng cho quy trình phân tích trong đồ
thị. Đó là khi muốn mở rộng thêm cho quá trình phân tích quan hệ đơn thuần một
thuộc tính chỉ nghề nghiệp của người tham gia mạng xã hội. Giả sử xét nghề nghiệp
SINH VIÊN, đối với việc tính toán dựa trên ma trận, việc này là hết sức khó khăn, có
thể phải xây dựng lại toàn bộ ma trận. Nhưng với WAVE, việc cần làm chỉ là tạo ra
một nút với tên gọi “SINH VIÊN”, và những nút có sẵn nếu có thuộc tính nghề nghiệp
tương ứng thì sẽ có một liên kết với tên gọi dạng “LÀ” đến nút “SINH VIÊN” này. Rất
dễ ràng, và lúc này việc tìm kiếm một cá nhân với thuộc tính nghề nghiệp là sinh viên
lại trở lại với một bài toán đồ thị đơn giản: tìm kiếm các nút có liên kết “LÀ” đến nút
“SINH VIÊN”.
Ví dụ này cho thấy khả năng mở rộng rất lớn của đồ thị, mạng tri thức trong WAVE.
Khi các cơ sở, thuộc tính tăng lên, WAVE chỉ cần thay đổi một phần nhỏ của đồ thị
trong khi những truy vấn trước đó sẽ không bị ảnh hưởng hoặc bị ảnh hưởng rất ít bởi
những sự thay đổi đó.
11
CHƯƠNG 2: NGÔN NGỮ WAVE
Chương 2 của khóa luận này xin trình bày về cú pháp và ngữ nghĩa của ngôn ngữ
Wave. Đây là một ngôn ngữ đặc biệt cho phép tạo và xử lý thông tin trong không gian
mạng theo hướng. Chương trình viết bằng ngôn ngữ này có thể được coi như một
thành phần linh hoạt có khả năng di động và kết hợp với các thành phần riêng lẻ, phân
tán khác. Trong quá trình “di chuyển”, chương trình có thể mang theo dữ liệu đồng
thời cập nhật vào dữ liệu lưu tại mạng KN. Các chương trình mặc dù được xử lý song
song nhưng vẫn có những cơ chế cho phép chúng phối hợp đồng bộ với nhau thông
qua hệ thống các luật.
Phần cuối chương còn đề cập tới một vấn đề mang tính tương quan: Wave và các
phương pháp lập trình truyền thống (lập trình tuần tự và lập trình song song).
2.1 Giới thiệu về ngôn ngữ Wave
Wave là một ngôn ngữ đặc biệt cung cấp khả năng thực thi mềm dẻo, đa người dùng
trên hệ thống phân tán. Quá trình thực thi của ngôn ngữ Wave giống như virus, tức là
có khả năng nhân bản và lan tỏa qua mạng, thực thi phân tán mà không cần bất kỳ sự
điều khiển tập trung nào.
Kiến trúc Wave mô tả quá trình xử lý phân tán qua việc tự định hướng luồng chương
trình qua không gian dữ liệu phân tán có cấu trúc như một đồ thị hay được gọi là
Knowledge Network. Các node trên mạng phân tán thuộc về một Wave Interpreter
nào đấy. WI là thành phần có trách nhiệm thực thi trên từng bộ phận riêng lẻ của
mạng, thao tác lên dữ liệu được lưu trữ trong các node.Trong khi di chuyển, những
thành phần của mã Wave có thể tự nhân bản, phân chia hay được chỉnh sửa trong khi
vẫn duy trì sự trao đổi dữ liệu qua lại lẫn nhau.
2.2 Node, Link và Không gian phân tán : Knowledge Network (KN)
Định nghĩa:
• Node: Có thể coi là một đối tượng – hay một điểm trong không gian, chứa
các biến (biến là thuộc tính của node)
• Link: Có thể coi là một quan hệ giữa các nút - hay một đoạn, đường thẳng
trong không gian. Nó cũng có các thuộc tính
Wave tạo và xử lý KN – là tập hợp các node và các link có hướng hoặc vô hướng. Cả
node và link đều có nội dung riêng của mình (kiểu giá trị là string). KN có thể được
12
- Xem thêm -