1. Trang chủ
  2. » Luận Văn - Báo Cáo

LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx

78 522 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 2,91 MB

Nội dung

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 Jav

Trang 1

ĐẠ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

Trang 2

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

 

Trang 3

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

Trang 4

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

Trang 5

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 

 

Trang 6

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

Trang 7

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

Trang 8

BẢNG KÝ HIỆU VIẾT TẮT

Ký hiệu Viết đầy đủ

ADSL Asymmetric Digital Subscriber Line

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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à

Trang 13

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

Trang 14

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,

Trang 15

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

Trang 16

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]

- 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 

Trang 17

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

Trang 18

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

Trang 19

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 đó

 

Trang 20

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)

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

Trang 21

phân tán trong không gian mạng, tồn tại trên nhiều máy tính khác nhau Mỗi máy tính

có thể không chứa hoặc chứa nhiều node của KN và các link có thể kết nối tới các node trong cùng máy tính hoặc với các máy tính khác

Tất cả các node đều có địa chỉ duy nhất trong không gian phân tán bao gồm 2 thành phần: thành phần thứ nhất để phân biệt các node trong cùng một máy, và thứ hai là để phân biệt các node giữa các máy khác nhau trong không gian mạng Node có thể được

truy cập qua các node khác một cách trực tiếp bằng Content hay bằng Address của

chúng hoặc qua quá trình mở rộng qua các link của KN, việc đặt tên cho link và node

nhằm phục vụ điều này Có 2 kiểu nhảy qua lại giữa các node đó là direct hop và

surface hop để thực hiện việc nhảy tới 1 node hay có thể nhảy đến tất cả các node

khác – được dùng cho việc gửi quảng bá

Không giống với node, link của KN không thể truy xuất trực tiếp qua tên Dữ liệu lưu trữ trong link chỉ có thể nhận được hoặc thay đổi một cách cục bộ, trong quá trình di chuyển qua link hay khi đứng trực tiếp tại một node cụ thể nào đó Từ một node, cả nội dung và hướng của link có thể truy xuất trực tiếp

Ví dụ:

 

Hình 2 1: Knowledge Network 2.3 Tổ chức chung của ngôn ngữ Wave 

Ngôn ngữ Wave đặc trưng cho quá trình lan tỏa song song trong không gian dữ liệu phân tán được biết là KN Do vậy cú pháp của ngôn ngữ miêu tả rõ quá trình hoạt động này:

Trang 22

trong đó các phần nằm trong [] là tùy chọn

Một chương trình Wave hay gọi đơn giản là Wave bao gồm sự kết hợp các tác động

lên KN gọi là các move – thành phần có thể thực hiện xử lý dữ liệu cục bộ tại các

Node của KN và mở rộng tới các Node khác Quá trình thực thi song song hay thực thi không theo thứ tự được tách biệt bởi dấu phẩy (,) phát triển một cách độc lập từ cùng

một Node trong KN Tập các moves độc lập gọi là zone, được tách biệt nhau bởi dấu

chấm (.), các thành phần này sẽ được thực thi một cách tuần tự

Ví dụ:

Ft={Fa=1;2;3} Fa+1 ^Ft.T=Fa

Các Rule trong Wave cung cấp cho Wave khả năng mở rộng trong không gian mạng, kết hợp cùng với các Wave khác Một ví dụ, các luật có thể tự động tách Wave ra thành nhiều nhánh riêng biệt rồi sau đó phát triển chúng song song hoặc tuần tự trong

KN, chúng có thể tạo ra hoặc mở rộng KN trong khi di chuyển Các Rule sẽ được làm

rõ hơn trong phần sau

Một cách tổng quát, việc thực thi phần đầu của Wave (Wave’s Head) tại một vài Node

có thể là nguyên nhân dẫn tới quá trình lan tỏa của Tail của chuỗi Wave (Wave’s Tail)

tới 0 hay nhiều các Node khác– chúng ta sẽ gọi chúng là tập các Node tới được (SNR)

Ví dụ:

• w1.w2.w3.w4 : cấu trúc của một chương trình Wave - sự nối tiếp của các

zones

• w1,w2,w3: zone đơn lẻ với tập các move độc lập, tất cả đều được thực thi

tại cùng một Node bắt đầu

• w1,w2.w3,w4: sự kết hợp của 2 kiểu trên

wave  Æ  {{move , } . }  move Æ  {  data_unit act  }  |  [rule]  (Wave) }  rule   Æ  SQ | OS | AS | AP | RP | WT | ID | CR  unit   Æ  { stirng;  } | N{l_d} | F{l_d} | C | A | P | S | L  | T |  act    Æ  # | ~ | /~ | == | / = | < | <= | + | ‐ | * | / | ** |  |  | % | & | : | :: | 

Trang 23

9 Biến Nodal: các biến loại này được khai báo bắt đầu bằng ký tự N

9 Biến Frontal: các biến loại này được khai báo bắt đầu bằng ký tự F

 2.5.2 Environment variables 

Biến môi trường có những định danh và ý nghĩa khác nhau:

9 CONTENT (C): chứa content của Node hiện thời Giá trị của C luôn là string, việc thay đổi nội dung của C có thể được gán trực tiếp bằng giá trị nào đó hoặc NONE – xóa Node cùng với các Link liên kết với nó

9 ADDRESS (A): địa chỉ của Node hiện thời Luôn trả lại địa chỉ đầy đủ của Node nơi Wave đang đứng gồm định danh của Node trong máy và định danh của Node trong mạng Đây là biến chỉ đọc

Trang 24

9 PREDECESSOR (P): biến lưu địa chỉ của Node trước đó Wave đã đi qua Nó chỉ thay đổi khi có sự di chuyển của Wave sang Node khác

9 LINK (L): chứa content của Link vừa mới đi qua

9 TERMINAL (T): một loại biến đặc biệt dùng để in ra giá trị tương ứng tại một đầu cuối nào đó

Ví dụ:

• Biến Nodal: N, Nhieu, Ntue

• Biến Frontal: Fpath, Ftemp…

• Biến môi trường: TERMINAL, LINK, L…

2.6 Các hành động ‐ ACTS 

2.6.1 Control acts 

Các Act thực hiện các phép toán cơ bản bên trong move, dùng để thay đổi giá trị các

biến, thay đổi trạng thái hoạt động của wave Giá trị trả về gồm 3 loại chính sau:

• TRUE (2): thành công và cho phép Wave tiếp sau đó thực thi tại Node hiện thời

• DONE (1): thành công nhưng không cho phép Wave thực thi tiếp tại Node hiện thời

• FALSE (0): thất bại, loại bỏ Wave tại Node hiện thời

Control acts được phân loại như hop, filters, assignment, state genertator và code injection

Hop Được thực thi bằng toán hạng # Ta sẽ hiểu rõ hơn cách thực thi của Hop qua các

Ví dụ sau:

• DIRECT # ALL, cách viết khác @#: nhảy tới tất cả các node khác trong KN trên cùng máy tính từ một node nào đó

• -p#b: nhảy từ node hiện thời theo cung đi ra (-)p tới node b

• ANY#ALL hay #: nhảy qua tất cả các link tới tất cả hàng xóm của một node

• Và một số kiểu nhảy khác: x#ALL, ANY#x

• Để nhảy sang 1 node ở máy khác ta có cấu trúc: a#b$$`IP, trong đó IP là địa chỉ IP của máy đích

Filter Các filter gồm các phép toán sau đây: ~ (thuộc về), /~ (không thuộc về), == (so

sánh bằng), /= (so sánh không bằng), < (so sánh nhỏ hơn), <= (so sánh nhỏ hơn hoặc

Trang 25

bằng), > (so sánh lớn hơn), >= (so sánh lớn hơn hoặc bằng) Giá trị trả về sẽ là TRUE hoặc FALSE Nếu giá trị trả về là TRUE, node hiện thời sẽ trở thành một SNR và Wave tail sẽ tiếp tục phát triển từ node này

• Filter ~:

o Cú pháp: vector1 ~ vector2

o Chức năng: kiểm tra các phần tử của vector 1 có nằm trong vector 2 hay không

• Ví dụ: a;b ~ p;q;b;a sẽ trả về TRUE

• Filter /~: ngược lại toán tử ~

• Filter ==:

o Cú pháp: v1 == v2

o Chức năng: kiểm tra 2 vector có bằng nhau hay không

o Ví dụ: 2;3 == 2;3 sẽ trả lại TRUE

• Filter /=: ngược lại với ==

• Các filter còn lại: >,>=,<,<= có ý nghĩa toán học thông thường nhưng được thực hiện trên vector

Nếu 1 filter trả lại giá trị TRUE, node hiện tại sẽ trở thành SNR, ngược lại SNR sẽ rỗng và chuỗi Wave sẽ dừng quá trình thực thi

Ví dụ:

w1.TRUE!.w2 Trong Ví dụ này w2 sẽ tiếp tục thực hiện

• w1.DONE.w2 hoặc w1.!.w2 sẽ dừng sau khi thực hiện xong w1

Trang 26

Code Injection

Cú pháp ^Func, trong đó Func là một chuỗi Wave Phép chèn mã này sẽ bổ sung thêm vào chuỗi Wave một chuỗi nằm trong biến sau ^ Phép này hay được sử dụng khi gọi chương trình con

Các phép toán trên Vector đặc biệt Gồm 1 số phép toán sau:

• &: append, nối 1 Vector vào sau 1 Vector khác

• Toán tử hai chấm (:) : lấy giá trị tại 1 vị trí của Vector

• Toán tử (::):

• |: splits, chia string ở toán hạng bên trái thành 1 Vector các string con bởi dấu phân cách ở toán hạng bên phải

• %: join, ngược lại với | tức nó sẽ hợp các Vector con lại thành 1 string với phân cách là toán hạng bên phải

Gọi hàm bên ngoài (External calls) Thực hiện qua toán tử ?, gọi một hàm nào đó

của hệ thống với đầu vào là các tham số từ Wave truyền vào

Ví dụ: 50?`sleep’ sẽ dừng chương trình 50 giây

Trang 27

• SEQUENCE(SQ): kích hoạt tất cả các nhánh một cách tuần tự mà không cần quan tâm tới trạng thái kết quả trả về SNR trên SQ là tập các SNR từ các nhánh con

Ví dụ: SQ(Fa=1, Fa+1).T=Fa sẽ tạo ra 2 nhánh Fa=1 và Fa+1, thực hiện

tuần tự 2 nhánh này Kết quả cuối là 2

• OS_SEQUENCE: kích hoạt tất cả các nhánh tuần tự cho tới khi nó nhận được kết quả TRUE hoặc DONE trả về từ một nhánh nào đó

Ví dụ: OS(Fa=5.Fa>1, T=Fa) tạo ra 2 nhánh Fa=5.Fa>1 và T=Fa và thực

hiện tuần tự Nhưng do nhánh thứ nhất trả về TRUE nên không thực hiện tiếp nhánh thứ 2

• AND_SEQUENCE(AS): tương tự SQ nếu tất cả các nhánh đều trả về TRUE hoặc DONE, nếu 1 nhánh FALSE, trạng thái toàn bộ AS sẽ là FALSE

Ví dụ: AS(TRUE!, FALSE!) sẽ trả lại FALSE

• OR_PARALLEL(OP): kích hoạt các nhánh và thực thi chúng song song, nếu 1 nhánh trả về TRUE hoặc DONE, OP sẽ nhận TRUE Nếu không nhánh nào trả về TRUE hoặc DONE, OP sẽ FALSE

Ví dụ: OP(FALSE!, FALSE!, TRUE!) sẽ trả lại TRUE

• AND_PARALLEL(AP): như AS nhưng các nhánh thực thi song song

Ví dụ: AP(TRUE!, TRUE!, FALSE!) sẽ trả lại FALSE

• RANDOM(RN): chọn một nhánh ngẫu nhiên để phát triển tiếp

Trang 28

Nếu kết quả trạng thái trả về là DONE (SNR không rỗng) thì Tail của Wave sẽ bị loại

sẽ được tạo ra

Có rất nhiều chi tiết quan trọng trong ngữ nghĩa của luật CR Nếu node của 1 bước nhảy tương ứng bằng địa chỉ của nó – điều này có nghĩa node đó đã tồn tại, tức các thành phần trong luật CR nếu chưa có sẽ được tạo ra, còn nếu đã tồn tại thì quá trình

CR sẽ không tạo ra node hoặc link mới

Ví dụ:

CR(@#a.+p#b.+q$$c`192.168.1.10’)

Ý nghĩa: nhảy trực tiếp tới node a mặc dù node a chưa có nhưng do nằm trong luật CR nên node a sẽ được tạo ra, sau đó tạo ra link có hướng +p tới node b, tạo node c và link +q nối từ a đến c trên máy 192.168.1.10

2.7.4 Release 

Luật RL sẽ khởi tạo một Wave mới độc lập với chuỗi Wave ban đầu, mã của Wave mới này là phần nằm trong dấu ngoặc của RL, WE của Wave mới chính là WE của

Trang 29

Wave ban đầu Wave mới được tạo ra được đưa vào Wave Queue để chờ xử lý Phần remainder của Wave ban đầu sẽ tiếp tục được thực hiện như bình thường

 

Hình 2 2 Thành phần của Spread Diagrams

Các kiểu module của Spread Diagram là

• SNR

• Move

• Rule

• Halt

Trang 30

Ví dụ: Tách chuỗi Wave

m1, m2 , m3 m4, m5 Æ

(m1 m4, m5), (m2 m4, m5 ), (m3 m4, m5)

 

Hình 2 3: Tự động tách trong chuỗi Wave

Ngoài ra, trong quá trình Wave thực thi, các thành phần của nó có thể được sao chép

và thay thế mà dữ liệu không bị thay đổi (Như trong Hình 2 4: m2 được sao chép và

thay thế mà dữ liệu vẫn được giữ nguyên)

m1 m2 m3 Æ

m1 m2, m2, m2 m3 Æ

m1.(m2 (m3, m3, m3)), (m2 (m3, m3, m3)),

Trang 31

(m2 (m3, m3, m3))

 

Hình 2 4: Một số trường hợp xử lý song song

Ở một ví dụ khác ta thấy rõ hơn Rule điều khiển chuỗi Wave như nào (Hình 2 5)

 

Hình 2 5: Wave xử lý song song có kèm theo Rule

m1 OR_PARALLEL (m2, m3 m4) m5 Æ

m1 OR_PARALLEL((m2, m4), (m3 m4)) m5 Æ

Trang 32

m1 OR_PARALLEL((m2 m4, m4, m4), ( m3 m4, m4, m4) ) m5

2.8.3 Wave và mô hình lập trình tuần tự 

Việc cho phép phát triển không gian, xử lý song song và tự động trong môi trường phân tán, Wave có thể dễ dàng mô hình hóa một số chương trình xử lý tuần tự Giống các chương trình bình thương, truyền thống ở cùng một máy tính, Wave phải ở cùng một điểm trong không gian và chỉ có duy nhất một luồng được xử lý Chúng ta sẽ bàn

về vấn đề này thông qua các ví dụ ở dưới đây

Trang 38

Về cơ bản, một mạng xã hội sẽ cho phép người dùng tạo ra cho mình một “profile”

[19] (tạm hiểu là một trang thông tin cá nhân) Ở trang cá nhân đó, người dùng có khả năng tùy chỉnh về giao diện, các bài viết, các thành phần theo sở thích cá nhân Họ cũng có thể đăng tải hình ảnh đại diện (tiếng Anh: avatar), hoặc tạo ra những album ảnh cá nhân để chia sẻ cùng mọi người Một cơ chế quan trọng nữa của mỗi mạng xã

hội là bạn bè – friends Cơ chế kết bạn trong các mạng xã hội thường là khi muốn kết

bạn với ai đó, người dùng phải được người kia chấp nhận lời mời Một vài mạng xã

hội có một cơ chế khác là Favorites (tạm hiểu: các thông tin ưa thích) giúp cho họ có

thể theo dõi một số hoạt động của người khác mà không cần phải có quan hệ bạn bè với người kia Do vậy các mạng xã hội cũng phải cung cấp thêm các tính năng cơ bản cho việc xác định quyền hạn đối với người xem, bạn bè Cơ chế này đơn giản nhất là cho phép hay không cho phép những người chưa có kết nối bạn bè xem các thông tin

có trên trang cá nhân, hay chặn một số người ác ý xuất hiện trên mạng xã hội

Đó là cấu trúc cơ bản của một mạng xã hội, ngoài ra các mạng xã hội có thể cung cấp thêm các tính năng khác giúp làm cho người dùng thấy thoải mái nhất khi tham gia Phổ biến trong các tính năng kiểu như vậy là khả năng tham gia mạng xã hội sử dụng

OpenID [23], hay chia sẻ các video clips từ các mạng xã hội khác (Youtube, Flickr

…), và rất mới mẻ nhưng cũng không kém phần quan trọng là khả năng truy cập cho các thiết bị di động Số lượng người sử dụng các thiết bị di động hỗ trợ khả năng duyệt web ngày càng tăng làm cho việc quan tâm tới khả năng tương thích với các thiết bị di động vốn hạn chế hơn về tính năng trở nên cần thiết hơn bao giờ hết

3.1 Mạng xã hội Yahoo!360  [9]

Các mạng xã hội ở Việt Nam cũng đang ở giai đoạn phát triển khá mạnh Các nhà cung cấp dịch vụ đang đẩy mạnh việc tạo ra những mạng xã hội của riêng mình, mang phong cách thuần Việt hơn, hướng đến lớp người dùng trong nước Tuy vậy có một dịch vụ đã phát triển được khá lâu và hiện vẫn đang là mạng xã hội có số lượng người

dùng lớn nhất Việt Nam, đó là Yahoo!360

Ra đời vào năm 2005 và mau chóng trở thành một trào lưu trong cộng đồng sử dụng Internet Việt Nam, Yahoo!360 đã trở thành một ngôi nhà thứ hai, một ngôi nhà ảo cho cộng đồng mạng Với các tính năng giúp chia sẻ thông tin khá thú vị, đồng thời rất dễ

sử dụng, Yahoo!360 giúp cho mọi người đều có thể đến với thế giới mạng xã hội một cách dễ dàng, từ giới trẻ năng động, cho tới các bậc phụ huynh … Cùng với đó, cơ chế

Trang 39

liên lạc rất mở rộng của Yahoo!360 cũng giúp cho mạng xã hội này thu hút thêm được một số lượng đông đảo những nhà nghiên cứu lịch sử, chính trị, những ca sĩ, diễn viên nhằm mở rộng quan hệ với công chúng Mạng xã hội này từ đó đã trở thành một sân chơi chung dành cho rất nhiều lớp người Việt đến từ nhiều ngành nghề khác nhau Cũng như các mạng xã hội khác, Yahoo!360 được tạo thành từ một mạng các cá thể được liên kết với nhau như một đồ thị vô hướng Như vậy, như đã đề cập ở trên, các công cụ tìm kiếm hiện nay chưa thể làm việc với quan hệ đồ thị dạng này của các mạng xã hội, cho nên đây sẽ là một lĩnh vực cần và còn được khai thác trong nay mai Chương trình dựa trên nền WAVE trong khóa luận này sẽ nắm phần nào nhiệm vụ khai thác này

Từng trang cá nhân trong Yahoo!360 được phát triển như một trang thông tin cho một

cá nhân (hay một nhóm người, tùy vào mục đích sử dụng) Trong đó có các thành phần

cơ bản như blog (nhật ký ảo), friend list (danh sách bạn bè), blast, list (danh sách sở thích), comment (bình luận), tag …

Blog là thành phần chính trong một trang cá nhân Yahoo!360 Đây là nơi cho người

dùng viết lên những suy nghĩ, cảm xúc … về mọi thứ diễn ra xung quanh, nên nó còn được gọi là nhật ký ảo Mỗi một bài viết như vậy còn được gọi là một entry Bạn bè của người viết sẽ vào xem những bài viết như vậy, để lại những lời bình luận, đánh giá nếu muốn

Friend list chính là điểm cấu thành mạng xã hội Yahoo!360 Friend list chỉ ra mối

quan hệ giữa các cá thể trong mạng xã hội Yahoo!360, ở đây là mối quan hệ bạn bè Nhờ có danh sách bạn bè này mà ta có thể biết được tất cả bạn bè của một người Việc thăm danh sách bạn bè của một người để tìm ra bạn bè của người đó, rồi cứ tiếp tục thăm dần dần tới những người bạn đó để lại tiếp tục tìm ra bạn bè của họ sẽ giúp ta lan tỏa dần trong đồ thị mạng xã hội Yahoo!360 Việc này không khác gì với việc làm sao

để thăm tất cả các nút trong một đồ thị vô hướng, vấn đề chỉ còn là thuật toán và cách thức tiến hành việc thăm sao cho công sức bỏ ra là nhỏ nhất

Blast cũng là một thành phần khá thú vị trong Yahoo!360 Blast có thể là một lời giới

thiệu, mẩu tin nhỏ, một đường siêu liên kết, hay đơn giản là suy nghĩ trong đầu người viết tại thời điểm đó Blast được đặt ở vị trí đầu của trang cá nhân Yahoo!360, điều này giúp cho blast trở thành thứ được để ý đầu tiên khi ghé thăm một trang cá nhân Nếu một trang cá nhân Yahoo!360 được ví như một cuốn nhật ký, một cuốn sách thì

Ngày đăng: 28/06/2014, 00:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Corbin M. J., and P. S. Sapaty, “Distributed Object-Based Simulation in Wave,” J. Simul. Pract. Theory, Vol. 3, No.3, pp. 157-181, 1995 Sách, tạp chí
Tiêu đề: Distributed Object-Based Simulation in Wave
[3] Livatharas, C., “Integration of Heterogeneous Databases Using WAVE,” M.Sc. Project Report, Department of Electrical Engineering, University of Surrey.Surrey, England, August 1995 Sách, tạp chí
Tiêu đề: Integration of Heterogeneous Databases Using WAVE
[4] Peter Sapaty, “Mobile Processing in Distributed and Open Environments”, Wiley-Interscience,   1998 Sách, tạp chí
Tiêu đề: Mobile Processing in Distributed and Open Environments
[5] Sapaty, P.S., “The Wave-0 Language as a Framework of Navigational Structures for Knowledge Bases Using Semantic Networks,” Proc. USSR Academy of Sciences: Technical Cybernetics, No. 5, 1986 (in Russian) Sách, tạp chí
Tiêu đề: The Wave-0 Language as a Framework of Navigational Structures for Knowledge Bases Using Semantic Networks
[6] Tan, H. K. V., “Distributed Dynamic 3D Virtual Reality,” M. Sc Telematics Diploma Project (based on WAVE), Department of Electrical Engineering, University of Surrey, Surrey, England, 1997 Sách, tạp chí
Tiêu đề: Distributed Dynamic 3D Virtual Reality
[7] Varbanov, S. and P. S. Sapaty, “An Information System Based on the Wave Navigation Techniques,” Abstr. International Conference, AIMSA’86, Varna, Bulgaria, 1986 Sách, tạp chí
Tiêu đề: An Information System Based on the Wave Navigation Techniques
[8] Vuong, S., and I. Ivanov, “Mobile Intelligent Agent Systems: WAVE vs. JAVA,” Proc., etaCOM’96, Portland, Oreg., May 1996.TRANG WEB THAM KHẢO [9] http://360.yahoo.com Sách, tạp chí
Tiêu đề: Mobile Intelligent Agent Systems: WAVE vs. JAVA

HÌNH ẢNH LIÊN QUAN

BẢNG KÝ HIỆU VIẾT TẮT - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
BẢNG KÝ HIỆU VIẾT TẮT (Trang 8)
Hình 1 1: Đồ thị biểu diễn cấu trúc đơn giản mạng xã hội - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 1 1: Đồ thị biểu diễn cấu trúc đơn giản mạng xã hội (Trang 11)
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 - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
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 (Trang 13)
Hình 1 2: Ma trận kề biểu diễn đồ thị gồm 4 đỉnh A, B, C, D - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 1 2: Ma trận kề biểu diễn đồ thị gồm 4 đỉnh A, B, C, D (Trang 18)
Hình 2 1:  Knowledge Network  2.3 Tổ chức chung của ngôn ngữ Wave - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 1: Knowledge Network 2.3 Tổ chức chung của ngôn ngữ Wave (Trang 21)
Hình 2 2 Thành phần của Spread Diagrams - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 2 Thành phần của Spread Diagrams (Trang 29)
Hình 2 3: Tự động tách trong chuỗi Wave - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 3: Tự động tách trong chuỗi Wave (Trang 30)
Hình 2 4: Một số trường hợp xử lý song song - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 4: Một số trường hợp xử lý song song (Trang 31)
Hình 2 5: Wave xử lý song song có kèm theo Rule - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 5: Wave xử lý song song có kèm theo Rule (Trang 31)
Hình 2 8: Một số trường hợp với mệnh đề if-else - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 8: Một số trường hợp với mệnh đề if-else (Trang 33)
Hình 2 7: Wave xử lý tuần tự có Rule - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 7: Wave xử lý tuần tự có Rule (Trang 33)
Hình 2 9: Một số trường hợp với mệnh đề if-else - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 9: Một số trường hợp với mệnh đề if-else (Trang 34)
Hình 2 10: else-if với filter - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 10: else-if với filter (Trang 34)
Hình 2 11: else-if parallel - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 11: else-if parallel (Trang 35)
Hình 2 13: Switch - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 13: Switch (Trang 36)
Hình 2 15: Câu lệnh lặp sử dụng Recursion - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 2 15: Câu lệnh lặp sử dụng Recursion (Trang 37)
Hình 3 1: Các thành phần trong một trang cá nhân Yahoo!360 - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 3 1: Các thành phần trong một trang cá nhân Yahoo!360 (Trang 40)
Hình 3 2: Cấu trúc của đường liên kết tới dịch vụ Yahoo!360 - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 3 2: Cấu trúc của đường liên kết tới dịch vụ Yahoo!360 (Trang 42)
Hình 3 3: Cấu trúc Cơ sở dữ liệu MySQL - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 3 3: Cấu trúc Cơ sở dữ liệu MySQL (Trang 45)
Hình 3 4: Sơ đồ hoạt động thành phần thu thập thông tin blog - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 3 4: Sơ đồ hoạt động thành phần thu thập thông tin blog (Trang 48)
Hình 3 5: Sơ đồ hoạt động thành phần tạo dựng mạng tri thức - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 3 5: Sơ đồ hoạt động thành phần tạo dựng mạng tri thức (Trang 50)
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 - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
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 (Trang 51)
Hình 4 2: WORLD database - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 4 2: WORLD database (Trang 52)
Hình 4 3: TOPICS database - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 4 3: TOPICS database (Trang 53)
Hình 4 4: OCCUPATION database - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 4 4: OCCUPATION database (Trang 54)
Hình 4 5: BLOGGER database - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 4 5: BLOGGER database (Trang 55)
Hình 4 6: Cơ sở dữ liệu tổng hợp - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
Hình 4 6: Cơ sở dữ liệu tổng hợp (Trang 56)
Đồ thị minh họa thuật toán:Giả sử ta cần tìm đường đi ngắn nhất giữa node A và node - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
th ị minh họa thuật toán:Giả sử ta cần tìm đường đi ngắn nhất giữa node A và node (Trang 63)
Đồ thị với độ dài đường kính là 3. - LUẬN VĂN:PHÂN TÍCH MẠNG XÃ HỘI BẰNG CÔNG NGHỆ WAVE - PHÂN TÍCH QUAN HỆ docx
th ị với độ dài đường kính là 3 (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w