Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
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
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNGNGHỆ
Phạm Minh Ngọc
PHÂN TÍCHMẠNGXÃHỘI
BẰNG CÔNGNGHỆWAVE-PHÂNTÍCHQUANHỆ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Côngnghệ thông tin
HÀ NỘI - 2009
LỜICẢ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ÓMTẮT
Khóa luận tốt nghiệp này trình bày những hiểu biết về côngnghệ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ôngnghệ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ântích
thông tin trên mạngxã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ântích thông tin trên mạngxã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ẠNGXÃHỘI VÀ CÁC BÀI TOÁN LIÊN QUAN 3
1.1 Lịch sử Mạngxãhội 3
1.2 Đặc điểm Mạngxãhội (ảo)
[30]
6
1.3 Một số bài toán đối với Mạngxã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ẠNGXÃHỘI 30
3.1 Mạngxãhội Yahoo!360
[9]
30
3.2 Xây dựng mạng tri thức cho mạngxã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ÂNTÍCHQUANHỆ 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 quanhệ 49
4.3 Mở rộng hệ th
ống 52
CHƯƠNG 5: BÀI TOÁN PHÂNTÍ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ạngxã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ạngxãhội phổ biến 5
Bảng 1 2: Tiềm năng đối với mạngxã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
1
MỞ ĐẦU
Ngày nay, sự phát triển của côngnghệ 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ôngnghệ 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ạngxã 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ạngxã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ạngxã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ântích lượng thông tin khổng lồ trong rất nhiều mạngxã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ôngnghệ 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ạngxã hội. Bởi lẽ mạngxã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 quanhệ (một chiều, hai chiều) nên việc tìm kiếm
thông tin trên mạngxãhội phải làm việc ở mức phântíchquan 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ôngnghệ 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ôngnghệ 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ôngnghệWAVE vào việc xử lý các bài toán dựa trên quanhệ trên các mạngxã
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ântí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ântích trong mạngxã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
2
gồm ba phần chính. Phần đầu nhằm giới thiệu về mạngxã hội, trình bày các đặc điểm
của mạngxãhội đồng thời lý giải vì sao muốn tìm hiểu thông tin trong một mạngxã
hội phải cần đến côngnghệ 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ạngxãhội
Yahoo!360 vào thành các thành phầnquanhệ trong WAVE, từ đó tạo ra mạng tri thức
nhằm giải quyết các bài toán phântíchquanhệ trong mạngxã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ântích đặc điểm của mạngxã 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íchmạng
xã hộibằngcôngnghệWAVE – Phântích đặc điểm mạngxã hội” của Phí Hồng
Thái (khóa 50 – Côngnghệ thông tin – Trường đại học Côngnghệ- Đại học Quốc gia
Hà Nội).
[...]... 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ạngxãhội Cấu trúc xã hội của mạngxãhội được thể hiện ở cách thức mạngxãhội “giả lập” xãhội loài người Mạngxãhội nhìn nhận những mối quanhệ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ạngxã 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 quanhệ giữa các cá thể... gian thực” (tiếng Anh: realtime) Côngnghệ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ị quanhệ (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ântíchquanhệ dựa trên một cấu trúc ngôn ngữ mới cũng mang tên WAVECôngnghệWAVE cho phép việc xử lý thông tin... phương diện thu thập và phântí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ạngxã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ơ đồ quanhệ và phântí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 quanhệ 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... lại dành 1 phút cho blog và các mạngxã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ạngxã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ạngxã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ạngxãhội Các côngnghệ tìm kiếm hiện tại nói chung... về mạngxãhội 80% số người sử dụng Internet đã từng dùng các tiện ích của các mạngxãhội khác nhau Hiện tồn tại khoảng 500 mạngxãhội trên thế giới và hàng nghìn trang web có chức năng như một mạngxãhội Dịch vụ mạngxã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. .. tham gia vào mạngxãhội MySpace, từ đó giúp cho mạngxã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ạngxã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... 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 quanhệ cũng được nâng lên đáng kể Thứ ba, việc tạo lập các mối quanhệ 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ạngxã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ạngxã hội, người... thiết lập một mối quanhệ 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 quanhệ đó đó 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ạngxãhội tỏ ra đơn giản hơn so với việc duy trì mối quanhệ trong xãhội bình thường, bởi cho đi và nhận về trong mạngxãhội nhiều khi... nhất như thế, một mạngxã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à quanhệ 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ạngxãhộiMạ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ạngxãhội 3 Có một vài cách tiếp cận khác nhau về mạngxãhội Cách tiếp cận...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ạngxã hội, hay còn gọi là mạngxã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ạngxãhội làm nhiệm vụ kết nối các thành viên, người dùng . 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ệ. 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