Tải bản đầy đủ (.pdf) (76 trang)

Xây dựng hệ thống khảo duyệt web phân tán và thu thập dữ liệu phục vụ các hệ hỗ trợ quyết định

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

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRỊNH VIỆT DŨNG

XÂY DỰNG HỆ THỐNG KHẢO DUYỆT WEB PHÂN TÁN VÀ
THU THẬP DỮ LIỆU PHỤC VỤ CÁC HỆ HỖ TRỢ
QUYẾT ĐỊNH

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRỊNH VIỆT DŨNG

XÂY DỰNG HỆ THỐNG KHẢO DUYỆT WEB PHÂN TÁN VÀ
THU THẬP DỮ LIỆU PHỤC VỤ CÁC HỆ HỖ TRỢ
QUYẾT ĐỊNH

Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: Chƣơng trình đào tạo thí điểm

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGUYỄN ĐẠI THỌ



LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của riêng cá
nhân tôi, không sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận
văn những điều đƣợc trình bày hoặc là của cá nhân hoặc là đƣợc tổng hợp từ
nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và
đƣợc trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.
Hà Nội, ngày 19 tháng 10 năm 2015

Trịnh Việt Dũng


MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC CÁC HÌNH VẼ
DANH MỤC CÁC BẢNG
LỜI CẢM ƠN
MỞ ĐẦU .................................................................................................................... 1
CHƢƠNG 1. TỔNG QUAN VỀ HỆ HỖ TRỢ QUYẾT ĐỊNH................................ 3
1.1. Thế nào là ra quyết định ................................................................................ 3
1.2. Quá trình ra quyết định .................................................................................. 3
1.3.1. Phân loại quyết định ................................................................................ 3
1.3.2. Các giai đoạn của quá trình ra quyết định ............................................... 3
1.3. Hệ hỗ trợ ra quyết định .................................................................................. 4
1.3.1. Khái niệm hệ hỗ trợ ra quyết định ........................................................... 4
1.3.2. Các thành phần của hệ hỗ trợ ra quyết định ............................................ 5
1.3.3. Mô hình ra quyết định ............................................................................. 6
1.3.4. Phân loại hệ hỗ trợ ra quyết định ............................................................ 7

1.4. Một trƣờng hợp sử dụng hệ hỗ trợ quyết định trong việc dự đoán giá sản
phẩm đƣợc bán đấu giá trên eBay. .......................................................................... 8
1.4.1. Thu thập dữ liệu từ website eBay ............................................................ 9
1.4.2. Tiền xử lý dữ liệu .................................................................................... 9
1.4.3. Dự đoán giá ........................................................................................... 11
1.5. Kết luận........................................................................................................ 12
CHƢƠNG 2. MỘT SỐ HỆ THỐNG THU THẬP DỮ LIỆU ................................. 13
2.1. Kiến trúc chung của hệ thống Web Crawler ............................................... 13
2.1.1. Kho chứa URL ...................................................................................... 16
2.1.2. Lịch sử viếng thăm và kho chứa các trang web .................................... 17
2.1.3. Tải các trang web................................................................................... 18
2.1.4. Duyệt và phân tích nội dung.................................................................. 19
2.2. Hệ thống thu thập dữ liệu Mercator ............................................................ 22
2.3. Hệ thống thu thập dữ liệu từ Twitter - TwitterEcho.................................... 24
2.4. Tìm hiểu về công cụ HTTrack..................................................................... 25


2.5. Kết luận........................................................................................................ 29
CHƢƠNG 3. THIẾT KẾ HỆ THỐNG KHẢO DUYỆT WEB VÀ THU THẬP
DỮ LIỆU .................................................................................................................. 30
3.1. Kiến trúc hệ thống Web Crawler ................................................................. 31
3.1.1. Sơ đồ tổng quan ..................................................................................... 32
3.1.2. Các thành phần của Web Crawler ......................................................... 33
3.1.3. Thiết kế .................................................................................................. 33
3.2. Kiến trúc hệ thống Twitter Crawler............................................................. 36
3.2.1. Sơ đồ tổng quan ..................................................................................... 36
3.2.2. Sử dụng RestAPI v1.1 để thu thập dữ liệu ............................................ 37
3.2.3. Request Limits ....................................................................................... 41
3.2.4. Thiết kế .................................................................................................. 41
3.3. MongoDB cho việc lƣu trữ cơ sở dữ liệu .................................................... 45

3.3.1. Ƣu điểm và nhƣợc điểm ........................................................................ 45
3.3.2. Cơ chế phân quyền vào bảo mật............................................................ 46
3.3.3. Chỉ mục trong MongoDB ...................................................................... 47
3.3.4. Phân mảnh trong MongoDB.................................................................. 47
3.4. Kết luận........................................................................................................ 50
CHƢƠNG 4. ĐÁNH GIÁ KẾT QUẢ ..................................................................... 51
4.1. Triển khai ..................................................................................................... 51
4.2. Mô hình triển khai ....................................................................................... 53
4.3. Phần mềm và thông số máy chủ .................................................................. 54
4.3.1. Phần mềm .............................................................................................. 54
4.3.2. Cấu hình máy chủ .................................................................................. 54
4.4. Đánh giá hệ thống ........................................................................................ 55
4.4.1. Đánh giá hệ thống Web Crawler ........................................................... 55
4.4.2. Đánh giá hệ thống Twitter Crawler ....................................................... 55
4.4.3. Một số giao diện sau khi chạy hệ thống ................................................ 56
4.5. Kết luận........................................................................................................ 57
CHƢƠNG 5. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ......................................... 58
5.1. Kết luận........................................................................................................ 58


5.2. Hƣớng phát triển .......................................................................................... 58
TÀI LIỆU THAM KHẢO ........................................................................................ 59
PHỤ LỤC 1 .............................................................................................................. 60
PHỤ LỤC 2 .............................................................................................................. 61
PHỤ LỤC 3 .............................................................................................................. 62


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu


Diễn giải

DE

Data Extraction - một hệ thống bóc tách dữ liệu từ
website theo luật ngƣời sử dụng tạo.

WC

Web Crawler - một hệ thống thu thập dữ liệu.

RSS Crawler

Một hệ thống thu thập dữ liệu thông qua RSS - Rich Site
Summary.

MS Crawler

Metasearch - một hệ thống thu thập dữ liệu thông qua các
máy tìm kiếm nhƣ Google, Bing, Yahoo, Daum.

FB Crawler

Một hệ thống thu thập dữ liệu từ mạng xã hội Facebook.

TW Crawler

Một hệ thống thu thập dữ liệu từ mạng xã hội Twitter.

WB Crawler


Một hệ thống thu thập dữ liệu từ mạng xã hội Weibo.

IS Crawler

Một hệ thống thu thập dữ liệu từ mạng xã hội Instagram.

Crawling

Quá trình thu thập dữ liệu.

Spider Trap

Bẫy các hệ thống thu thập dữ liệu tự động làm cho hệ
thống thu thập dữ liệu rơi vào vòng lặp vô hạn.

Robot Exclusion Giao thức loại trừ robot.
Protocol
TOA

Twitter Open Authentication dùng để xác thực mỗi yêu
cầu gửi lên server.

Task

Một công việc mà hệ thống cần thực hiện


DANH MỤC CÁC HÌNH VẼ
Hình 1-1 Các giai đoạn của quá trình ra quyết định ........................................... 4

Hình 1-2 Ưu điểm của hệ hỗ trợ quyết định ........................................................ 5
Hình 1-3 Các thành phần của hệ hỗ trợ quyết định............................................. 6
Hình 1-4 Sản phẩm đấu giá trên eBay ................................................................. 9
Hình 1-5 Nội dung HTML của sản phẩm ........................................................... 10
Hình 1-6 Vector đại diện của văn bản mẫu ....................................................... 11
Hình 1-7 Cây quyết định hồi quy ....................................................................... 11
Hình 2-1 Kiến trúc chung của một Web Crawler .............................................. 15
Hình 2-2 Trang HTML và cấu trúc cây của hệ thống tương ứng ...................... 22
Hình 2-3 Các thành phần chính của Mercator .................................................. 23
Hình 2-4 Kiến trúc của TwitterEcho .................................................................. 25
Hình 2-5 Kéo thả một vài địa chỉ web................................................................ 26
Hình 2-6 Cấu hình HTTrack .............................................................................. 26
Hình 2-7 Lọc liên kết .......................................................................................... 27
Hình 2-8 Đặt lịch tự động download ................................................................. 27
Hình 2-9 Giao diện thu thập dữ liệu .................................................................. 28
Hình 2-10 Màn hình kết thúc quá trình thu thập dữ liệu ................................... 28
Hình 3-1 Mô hình hệ thống thu thập dữ liệu công ty Saltlux............................. 31
Hình 3-2 Kiến trúc phân tán hệ thống khảo duyệt web ..................................... 32
Hình 3-3 Các thành phần bên trong của Web Crawler ..................................... 33
Hình 3-4 Tạo mới Web Crawler task ................................................................. 34
Hình 3-5 Cập nhật thông tin cho Web Crawler task ......................................... 34
Hình 3-6 Xoá Web Crawler task ........................................................................ 35
Hình 3-7 Xem dữ liệu download ........................................................................ 35
Hình 3-8 Kiến trúc phân tán của Twitter Crawler............................................. 36


Hình 3-9 Danh sách các địa điểm được hỗ trợ bởi Twitter ............................... 40
Hình 3-10 Các chủ đề được chú ý trên toàn cầu ............................................... 41
Hình 3-11 Tạo mới một Twitter task .................................................................. 41
Hình 3-12 Cập nhật thông tin Twitter task ........................................................ 42

Hình 3-13 Xoá Twitter task ................................................................................ 43
Hình 3-14 Trao đổi thông tin giữa TwitterManager và QueueManager .......... 44
Hình 3-15 Trao đổi thông tin giữa TwitterWorker và QueueManager ............. 44
Hình 3-16 Hệ thống sử dụng 4 shard lưu trữ 1TB dữ liệu................................. 48
Hình 3-17 Các thành phần của shard cluster .................................................... 49
Hình 4-1 Giao diện website terms.naver.com .................................................... 51
Hình 4-2 Màn hình kết quả lấy tweet ................................................................. 56
Hình 4-3 Màn hình kết quả lấy danh sách follower........................................... 57


DANH MỤC CÁC BẢNG
Bảng 3-1 Cấu trúc bảng crawler_agent_info ..................................................... 36
Bảng 3-2 Danh sách tham số của statuses/filter API ......................................... 37
Bảng 3-3 Danh sách các tham số của statuses/user_timeline API ..................... 38
Bảng 3-4 Danh sách các tham số của follower/ids API ..................................... 38
Bảng 3-5 Danh sách các tham số của friends/ids API........................................ 39
Bảng 3-6 Danh sách tham số của users/lookup API........................................... 39
Bảng 3-7 Cấu trúc bảng twitter_task .................................................................. 45
Bảng 3-8 Cấu trúc bảng twitter_open_authentication ....................................... 45
Bảng 4-1 Danh sách 61 người dùng Twitter ....................................................... 53
Bảng 4-2 Mô hình triển khai hệ thống ................................................................ 54
Bảng 4-3 Thông số cấu hình máy chủ ................................................................. 54
Bảng 4-4 Kết quả đánh giá hệ thống Web Crawler ............................................ 55
Bảng 4-5 So sánh kết quả .................................................................................... 55
Bảng 4-6 Kết quả đánh giá hệ thống Twitter Crawler ....................................... 56


LỜI CẢM ƠN
Để hoàn thành nội dung luận văn này tôi đã nhận đƣợc rất nhiều sự giúp đỡ
từ thầy giáo hƣớng dẫn, gia đình, cơ quan, bạn học và cá nhân.

Trƣớc hết tôi xin bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ Nguyễn Đại Thọ –
Ngƣời thầy đã trực tiếp hƣớng dẫn, tận tình giúp đỡ tôi trong quá trình xây dựng
và hoàn thành luận văn này.
Tôi xin gửi lời cảm ơn đến các đồng nghiệp trong công ty Saltlux đã hỗ trợ
tôi trong quá trình phát triển hệ thống và hoàn thiện luận văn.
Tôi xin chân thành cảm ơn các thầy giáo, cô giáo trong Khoa Công nghệ
thông tin, trƣờng Đại học Công nghệ, Đại học Quốc gia Hà Nội cũng nhƣ các
thầy giáo, cô giáo trong các viện nghiên cứu, các trƣờng đại học khác tham gia
giảng dạy ở trƣờng đã tận tình hƣớng dẫn, trang bị cho tôi những kiến thức quý
báu trong suốt quá trình học tập tại trƣờng.
Do có nhiều hạn chế về thời gian và kiến thức ne n luạ n va n kho ng
tránh khỏi những thiếu sót, rất mong nhạ n đu ợc những kiến đóng góp qu
báu của qu thầy co và các bạn cùng quan ta m.
Cuối cùng tôi xin bày tỏ lòng biết ơn chân thành đến bố mẹ, vợ, gia đình,
và bạn bè những ngƣời luôn tạo điều kiện, động viên, giúp đỡ tôi rất nhiệt tình
để hoàn thành luận văn.
Hà Nội, ngày 19 tháng 10 năm 2015
Học viên

Trịnh Việt Dũng


MỞ ĐẦU
Đi cùng với sự phát triển mạnh mẽ của mạng Internet trong những thập kỷ
gần đây trên toàn cầu, nguồn dữ liệu web trở thành kho dữ liệu khổng lồ để khai
thác thông tin hữu ích (theo thống kê của NetCraft vào tháng 10 năm 2015, có
khoảng 878.269.546 site trên toàn thế giới [9]). Nguồn dữ liệu mà Internet mang
lại ngày càng trở nên đồ sộ, đa dạng, bao phủ lên tất cả mọi mặt của cuộc sống,
từ văn hoá, kinh tế, chính trị, du lịch, học tập, nghiên cứu .v.v. Với sự phong phú
về tài nguyên nhƣ vậy, nhu cầu về tìm kiếm và xử lý thông tin, cùng với yêu cầu

về khả năng khai thác chúng một cách hiệu quả để giúp cho con ngƣời dễ dàng
và chính xác hơn trong việc đƣa ra quyết định, chiến lƣợc kinh doanh, phân tích
rủi ro (trong kinh doanh), trong việc makerting và quảng bá sản phẩm, hay trong
việc điểu tra tâm lý và ý kiến của khách hàng,... đã trở nên cần thiết trong xã hội
hiện đại. Nhƣng vấn đề tìm kiếm và sử dụng nguồn tài nguyên đó nhƣ thế nào để
phục vụ cho công việc của mình lại là một vấn đề khó khăn đối với ngƣời sử
dụng, nhất là đối với những ngƣời đóng vai trò điều hành, ra quyết định ở các
công ty, doanh nghiệp.
Để thoả mãn yêu cầu trên Công ty Saltlux - một công ty chuyên về lĩnh
vực tìm kiếm ngữ nghĩa và big data - đã giới thiệu một dịch vụ, một giải pháp
tổng thể giúp chúng ta sử dụng nguồn tài nguyên đó dễ dàng hơn, tập trung hơn
và hiệu quả hơn, qua đó nâng cao đƣợc chất lƣợng công việc và tiết kiệm đƣợc
thời gian, đóng góp vào sự phát triển của các doanh nghiệp, công ty. Giải pháp
đƣợc giới thiệu bao gồm các quá trình thu thập dữ liệu từ Internet, phân loại và
phân cụm dữ liệu thu thập đƣợc, phân tích dữ liệu, tìm kiếm dữ liệu và trực quan
hoá dữ liệu - sử dụng các biểu đồ, đồ thị để biểu diễn dữ liệu.
Trong phạm vi luận văn tôi giới thiệu quy trình khảo sát, phân tích, thiết
kế, phát triển và thử nghiệm một hệ thống khảo duyệt web và thu thập dữ liệu một hệ thống mạnh mẽ thu thập dữ liệu từ nhiều nguồn khác nhau (trang tin tức,
diễn đàn, blog, mạng xã hội Twitter), thu thập nhiều loại dữ liệu khác nhau nhƣ
html, text (.doc, .docx, .pdf,...), images (.png, .gif, .jpg,...), videos, và các loại
file phổ biến khác nhƣ (.zip, .rar, .xls, .xlsx , .cvs, .hwp,...). Hệ thống đƣợc xây
dựng có khả năng chạy trên nhiều môi trƣờng hệ điều hành khác nhau nhƣ Unixbased, Windows. Với việc thiết kế hệ thống chạy đa luồng đồng thời, số lƣợng
luồng đƣợc cấu hình động giúp cho hệ thống dễ dàng tuỳ chỉnh một cách linh
hoạt tận dụng tối đa nguồn tài nguyên của máy chủ cũng nhƣ băng thông mạng.
Ngoài ra với kiến trúc phân tán công việc linh hoạt, giúp hệ thống có khả năng
đƣợc mở rộng trên nhiều máy, tính năng mà các công cụ thu thập dữ liệu phổ
1


biến khác chƣa làm đƣợc nhƣ HTTrack, WebSPHINX, Web Application Attack

and Audit Framework, OWASP Zed Attack Proxy,.v.v. Sử dụng cơ sở dữ liệu
NoSQL - MongoDB để lƣu trữ dữ liệu giúp hệ thống đảm bảo lƣu trữ đƣợc dữ
liệu rất lớn, tốc độ đọc/ghi dữ liệu nhanh, dễ dàng tích hợp với các hệ thống
khác. Đây cũng là ƣu điểm vƣợt trội so với các công cụ HTTrack,
WebSPHINX,.v.v. chỉ cho phép lƣu trữ dữ liệu thu thập đƣợc dƣới dạng file. Hệ
thống thu thập dữ liệu này cũng là hệ thống mà tôi tham gia thiết kế và phát triển
tại công ty nơi tôi đang làm việc.
Hệ thống thu thập dữ liệu đƣợc trình bày trong luận văn đã góp phần đáng
kể vào việc thúc đẩy sự phát triển của công ty, và đã đƣợc triển khai tới khách
hàng là cơ quan nhà nƣớc (Văn phòng chính phủ, Bộ nội vụ, Bộ quốc phòng...)
ở Hàn Quốc và doanh nghiệp ở Nhật Bản (Samuraiz). Phụ Lục 1 liệt kê danh
sách các đơn vị đã triển khai hệ thống.
Nội dung của luận văn đƣợc tổ chức thành 5 chƣơng nhƣ sau:
Chƣơng 1: Trình bày lý thuyết chung về hệ hỗ trợ quyết định. Đây là kiến thức
nền tảng về hệ thống hỗ trợ ra quyết định nhƣ quá trình ra quyết định, các thành
phần cơ bản của hệ hỗ trợ ra quyết định.
Chƣơng 2: Tìm hiểu và khảo sát một số hệ thống thu thập dữ liệu đƣợc giới
thiệu trong các bài báo khoa học nhƣ Mercator và TwitterEcho; đồng thời tiến
hành khảo sát hệ thống đã đƣợc triển khai thực tế nhƣ HTTrack. Giải pháp cho
việc lƣu trữ dữ liệu lớn cũng đƣợc trình bày trong chƣơng này.
Chƣơng 3: Trình bày chi tiết thiết kế hai hệ thống khảo duyệt web và thu thập
dữ liệu. Hệ thống thứ nhất là hệ thống thu thập dữ liệu từ website chung nhƣ các
diễn đàn, blog, tin tức,.v.v. Hệ thống thứ hai là hệ thống chuyên thu thập dữ liệu
từ mạng xã hội Twitter.
Chƣơng 4: Cài đặt, triển khai và đánh giá: chƣơng này trình bày chi tiết việc cài
đặt, triển khai hệ thống, và đánh giá kết quả dựa trên yêu cầu thực lấy đƣợc từ
phía khách hàng.
Chƣơng 5: Kết luận và hƣớng phát triển

2



CHƢƠNG 1. TỔNG QUAN VỀ HỆ HỖ TRỢ QUYẾT ĐỊNH
Sự phát triển nhanh chóng của mạng Internet trong những thập kỷ gần đây
đã mang lại nguồn dữ liệu to lớn. Lƣợng dữ liệu đƣợc chia sẻ trên mạng là rất
lớn với nội dung phong phú, đa dạng đến từ nhiều nguồn cung cấp dữ liệu khác
nhau nhƣ: các site tin tức (cung cấp thông tin liên quan đến mọi mặt trong cuộc
sống nhƣ giáo dục, kinh tế, chính trị, ngoại giao, thể , giải trí, .v.v.), các diễn
đàn, các kênh truyền hình trực tuyến, mạng xã hội, .v.v. Nguồn dữ liệu phong
phú, nhƣng việc sử dụng chúng một cách hiệu quả để giúp ích cho con ngƣời
đặc biệt những ngƣời có vai trò ra quyết định trong các tổ chức, các công ty
đang là một thách thức lớn. Ý tƣởng của luận văn là xây dựng hệ thống thu thập
dữ liệu trên web, trên các mạng xã hội. Dữ liệu thu thập đƣợc dùng cho các hệ
thống phân tích, tìm kiếm sau này. Dƣới đây học viên trình bày lý thuyết chung
và một trƣờng hợp sử dụng thực tế hệ hỗ trợ ra quyết.
1.1. Thế nào là ra quyết định
Viẹ c đu a ra quyết định đối với mọ t vấn đề xuất hiẹ n trong khắp
các lĩnh vực, hoạt đọ ng của đời sống mà đôi khi chúng ta không nhạ n ra. Từ
những viẹ c đo n giản nhu chọn mọ t bọ quần áo để đi dự tiẹ c cho đến
các viẹ c lớn lao nhu phân bổ ngân sách vào các chu o ng trình của quốc
gia đều là các công viẹ c đu a ra quyết định.
Vạ y đu a ra quyết định chính là chọn ra trong các giải pháp khả thi
mọ t giải pháp mà theo ngu ời đu a ra quyết định là phù hợp nhất.
1.2. Quá trình ra quyết định
1.3.1. Phân loại quyết định
Có thể phân ra bốn loại quyết định nhƣ sau:
- Quyết định có cấu trúc (Structured Decision): Các quyết định mà ngu ời ra
quyết định biết là chắc chắn đúng.
- Quyết định không cấu trúc (Nonstructured Decision): Các quyết định mà
ngu ời ra quyết định biết là có nhiều câu trả lời gần đúng và không có cách nào

để tìm ra câu trả lời chính xác nhất.
- Quyết định đẹ

quy (Recurring Decision): Các quyết định lạ p đi, lạ p lại.

- Quyết định không đẹ quy (Nonrecurring Decision): Các quyết định không
xảy 
 ra thu ờng xuyên.
1.3.2. Các giai đoạn của quá trình ra quyết định
Theo Simon, các giai đoạn của quá trình ra quyết định bao gồm các pha:
- Nhạ n định (Intelligence): Tìm kiếm các tình huống dẫn đến viẹ c phải ra

quyết định, nhạ n dạng các vấn đề, nhu cầu, co
3

họ i, rủi ro .v.v. 



- Thiết kế (Design): Phân tích các hu ớng tiếp cạ n để giải quyết vấn đề, đáp
ứng các nhu cầu, tạ n dụng các co họ i , hạn chế các rủi ro .v.v. 

- Lựa chọn (Choice): Cân nhắc và đánh giá từng giải pháp, đo lu ờng hạ u quả

của từng giải pháp và chọn giải pháp tối u u. 

- Tiến hành ra quyết định (Implementation): Thực hiẹ n giải pháp đu ợc chọn,
theo d i kết quả và điều chỉnh khi thấy cần thiết.

Hình 1-1 Các giai đoạn của quá trình ra quyết định
1.3. Hệ hỗ trợ ra quyết định
1.3.1. Khái niệm hệ hỗ trợ ra quyết định
Trong thạ p niên 1970, Scott Morton đu a ra những khái niẹ m đầu
tiên về Hẹ hỗ trợ ra quyết định (Decision Support Systems-DSS). ng định

4


nghĩa DSS nhu là những hẹ thống máy tính tu o ng tác nh m giúp những
ngu ời ra quyết định sử dụng dữ liẹ u và mô hình để giải quyết các vấn đề
không có cấu trúc 7].

Hình 1-2 Ƣu điểm của hệ hỗ trợ quyết định
Cho đến nay chu a có mọ t định nghĩa thống nhất về DSS. Tuy nhiên
tất cả đều đồng mục đích co bản nhất của DSS là để hỗ trợ và cải tiến viẹ c
ra quyết định.
1.3.2. Các thành phần của hệ hỗ trợ ra quyết định
Mọ t hẹ hỗ trợ ra quyết định gồm có ba thành phần chính:
- Quản lý mô hình.
- Quản lý dữ liệu.
- Quản lý giao diện ngƣời dùng.
Quản lý mô hình (Model Management) bao gồm các mô hình ra quyết định
(DSS models) và viẹ c quản lí các mô hình này. Mọ t số ví dụ của các mô
hình ra quyết định nhƣ: mô hình nếu thì, mô hình tối u u, mô hình tìm kiếm
mục đích, mô hình thống kê.
Quản lý dữ liệu (Data Management) thực hiẹ n công viẹ c lu u trữ các thông
tin của hẹ và phục vụ cho việc cạ p nhạ t, truy vấn thông tin.
Quản lý giao diện ngƣời dùng (User Interface Management) quản lí viẹ c
giao tiếp giữa ngu ời dùng cuối và Hẹ ra quyết định.

5


Hình 1-3 Các thành phần của hệ hỗ trợ quyết định
1.3.3. Mô hình ra quyết định

Mọ t đạ c tru ng co bản của Hẹ hỗ trợ ra quyết định là phải có ít
nhất mọ t mô hình hỗ trợ ra quyết định. Viẹ c chọn lựa và xây dựng mô hình
n m trong giai đoạn thứ hai (Design Phase) của quá trình ra quyết định.
Mọ t mô hình là mọ t khái quát hóa hay trừu tu ợng hóa của thực tế.
Mô hình hóa là viẹ c khái quát hóa và trừu tu ợng hóa các vấn đề thực tế
thành các mô hình định tính hay định lu ợng. Đó là mọ t quy trình kết hợp cả
khoa học (sự chính xác, logic) và nghẹ thuạ t (sự sáng tạo).
6


Mọ t mô hình thu ờng bao gồm ba thành phần co

bản:

- Decision Variables: Đây là các lựa chọn xác định bởi ngu ời ra quyết định.
Ch ng hạn trong bài toán quyết định đầu tu thì đây là số tiền đầu tu , no i
đầu tu , thời gian đầu tu .v.v.
- Uncontrollable Variables: Đây là các biến không n m trong sự kiểm soát của
ngu ời ra quyết định (bị tác đọ ng bởi các yếu tố bên ngoài). Ch ng hạn trong
bài toán trên thì đây là tốc đọ lạm phát, lãi suất ngân hàng .v.v.
- Result Variables: Đây là các biến kết quả của mô hình. Ch ng hạn trong bài
toán trên thì đây là tỉ số lợi nhuạ n. 

Khi lựa chọn quyết định cuối cùng, ngu ời ra quyết định có thể muốn có
mọ t quyết định tối u u (optimal) hay mọ t quyết định thỏa đáng, gần tối u u
(good enough). Do vạ y có thể chia ra hai loại mô hình hỗ trợ ra quyết định.
Mô hình quy chuẩn (Normative Model): Mô hình này xem x t tất cả các
phu o ng án và chọn ra phu o ng án tối u u.
Mô hình mô tả (Descriptive Model): Mô hình này xem x t mọ t tạ p
hợp các điều kiẹ n theo ngu ời dùng và xem x t các phu o ng án theo
hu ớng các điều kiẹ n này và đu a ra mọ t kết 
 quả thỏa đáng. Vì mô hình

này không xem x t hết tất cả các phu o ng án nên kết quả cuối cùng có thể chỉ
gần tối u u.
Mô hình quy chuẩn thu ờng đu ợc sử dụng trong bài toán tối u u hóa
mọ t mục tiêu. Mô hình mô tả thu ờng đu ợc sử dụng trong bài toán tối u u
hóa đa mục tiêu khi các mục tiêu này có thể mâu thuẫn nhau.
1.3.4. Phân loại hệ hỗ trợ ra quyết định
Theo Holsapple và Whinston (1996) [8 phân ra 6 lọai hẹ
- Hƣớng văn bản (Text-Oriented DSS).
- Hu ớng co

sở dữ liẹ u (Database-Oriented DSS).

- Hu ớng bảng tính (Spreasheet-Oriented DSS).
- Hu ớng ngu ời giải quyết (Solver-Oriented DSS).
- Hu ớng luạ t (Rule-Oriented DSS).
- Hu ớng kết hợp (Compound DSS).

7

hỗ trợ ra quyết định:


Hƣớng văn bản - Thông tin (bao gồm dữ liẹ u và kiến thức) đu ợc lu u trữ
du ới dạng va n bản. Vì vạ y hẹ thống đòi hỏi lu u trữ và xử lí các va n
bản mọ t cách hiẹ u quả. Các công nghẹ mới nhu Hẹ quản lí va n bản
dựa trên web, Intelligent Agents có thể đu ợc sử dụng cùng với hẹ này. 

Hu ớng co sở dữ i u - Co sở dữ liẹ u đóng vai trò chủ yếu trong hẹ
này.Thông tin trong co sở dữ liẹ u thu ờng có cấu trúc chạ t chẽ, có mô tả
rõ ràng. Hẹ này cho ph p ngu ời dùng truy vấn thông tin dễ dàng và rất mạnh
về báo cáo.

Hu ớng bảng tính – Mọ t bản tính là mọ t mô hình để cho ph p ngu ời
dùng thực hiẹ n viẹ c phân tích tru ớc khi ra quyết định. Bản tính có thể bao
gồm nhiều mọ hình thống kê, lạ p trình tuyến tính, mọ hình tài chính .v.v.
Bản tính phổ biến nhất đó là Microsoft Excel. Hẹ này thu ờng đu ợc dùng
rông rãi trong các hẹ liên quan tới ngu ời dùng cuối.
Hu ớng ngu ời giải qu ết – Mọ t trợ giúp là mọ t giải thuạ t hay
chu o ng trình để giải quyết mọ t vấn đề cụ thể ch ng hạn nhu tính toán giá
bán ra của sản phẩm hay tính toán xu hu ớng bán hàng. Mọ t số trợ giúp khác
phức tạp nhu là tối u u hóa đa mục tiêu. Hẹ này bao gồm nhiều trợ giúp
nhƣ vậy.
Hu ớng uạ t – Kiến thức của hẹ này đu ợc mô tả trong các quy luạ t thủ
tục hay lí lẽ. Hẹ này còn đựoc gọi là hẹ chuyên gia. Các quy luật này có thể
là định tính hay định lu ợng. Các ví dụ của hẹ này nhu là hu ớng dẫn
không lu u, hu ớng dẫn giao thông trên biển, trên bọ , .v.v.
Hu ớng ết hợp - Mọ t hẹ tổng hợp có thể kết hợp hai hay nhiều ho n
trong số na m hẹ hỗ trợ quyết định kể trên.
1.4. Một trƣờng hợp sử dụng hệ hỗ trợ quyết định trong việc dự đoán giá
sản phẩm đƣợc bán đấu giá trên eBay.
Đấu giá trực tuyến đang rất phổ biến. Theo báo cáo của website bán đấu
giá trực tuyến lớn nhất thế giới eBay trong qu tài chính đầu tiên năm 2006 lợi
nhuận thuần (net revenue) là 1.39 tỉ đô, dự đoán mức tăng trƣởng 35% trong
những năm tới. Việc thu đƣợc lợi nhuận lớn từ việc đấu giá sản phẩm đã thu hút
những nhà nghiên cứu quan tâm đến lĩnh vực đấu giá trực tuyến, và hệ thống hỗ
trợ dự đoán giá sản phẩm đấu giá ra đời là cần thiết.
Hệ hỗ trợ dự đoán giá hỗ trợ cả ngƣời bán và ngƣời mua. Ngƣời bán có
thể sử dụng hệ hỗ trợ này đƣa ra giá ban đầu và gợi đƣa ra mô tả sản phầm.

8



Ngƣời mua sử dụng hệ hỗ trợ để đặt giá một cách hợp l . Để dự đoán giá cuối
của sản phẩm đấu giá, hệ hỗ trợ thực hiện các công việc sau:
- Thu thập dữ liệu từ website eBay.
- Tiền xử lý dữ liệu.
- Dự đoán giá.
1.4.1. Thu thập dữ liệu từ website eBay
Có một số cách để thu thập dữ liệu đấu giá từ website eBay: sử dụng eBay
API (Application Programers Interface), sử dụng Web Crawler, hoặc mua tập
dữ liệu do từ nhà cung cấp khác. Hệ hỗ trợ đƣợc trình bày trong ví dụ này sử
dụng một Web Crawler HarvEX ( để
download HTML của các trang đấu giá. Mỗi một sản phẩm đấu giá đƣợc gắn
một ID để phân biệt. Hình 1-4 mô tả trang sản phẩm đấu giá trên eBay.

Hình 1-4 Sản phẩm đấu giá trên eBay
1.4.2. Tiền xử lý dữ liệu
Hệ hỗ trợ dự đoán giá dựa trên những đặc trƣng sau: tỉ lệ phản hồi
(feedback rating) - đây là tỉ lệ phản hồi tích cực trên tổng số phản hồi về sản
phẩm đấu giá, số lƣợng hình ảnh của sản phẩm đấu giá, và mô tả sản phẩm đấu
giá.

9


Đặc trƣng đầu tiên là tỉ lệ phản hồi. eBay có một hệ thống lƣu trữ các
phản hồi của ngƣời mua đối với ngƣời bán trong các giao dịch trƣớc đó gọi là
Feedback Forum. Ngƣời bán có tỉ lệ feedback cao hơn sẽ có độ tin cậy cao hơn.
Có một số nghiên cứu chỉ ra r ng có mối liên hệ giữa ngƣời bán và giá đấu giá
mong đợi của sản phẩm. Ngƣời mua thƣờng muốn biết thông tin về sản phẩm
đấu giá càng nhiều càng tốt. Những thông tin này giúp họ làm giảm đƣợc sự
không chắc chắn về chất lƣợng sản phẩm thay cho việc chỉ quan tâm đến tỉ lệ

phản hồi. Nhƣng có một số thông tin khó có thể mô tả trong dạng văn bản. Ví
dụ, mô tả sản phẩm về một đôi giày bán đấu giá 'giày hơi mòn' (slightly worn
shoes) có thể là mòn nghiêm trọng hoặc vẫn trong điều kiện sử dụng đƣợc.
Trong trƣờng hợp này, số lƣợng hình ảnh mô tả đƣợc sử dụng để dự đoán giá.
Một cách khác để bên bán có thể thuyết phục bên mua b ng cách đƣa ra các
thông tin thêm về sản phẩm bán. Thông tin này đƣợc viết b ng ngôn ngữ tự
nhiên trong đó chứa các thông tin về giao dịch, chính sách hoàn trả sản phẩm,
hay chi phí cho vận chuyển hàng. Vì thông tin thêm là hữu ích đối với ngƣời
mua nên thông tin này đƣợc sử dụng nhƣ một đặc trƣng để dự đoán giá.
Việc trích xuất ba đặc trƣng từ trang HTML gốc của sản phẩm đấu hệ
thống thực hiện nhƣ sau. Trích xuất giá và tỉ lệ phản hồi dựa vào tìm kiếm nội
dung 'Winning bid' và 'Feedback'. Số lƣợng hình ảnh sản phẩm đấu giá đƣợc tìm
b ng cách đếm số tag <img> trong phần mô tả sản phẩm. Hình 1-5 là ví dụ nội
dung HTML của sản phẩm đấu giá.

Hình 1-5 Nội dung HTML của sản phẩm
Đối với đặc trƣng mô tả sản phầm, hệ thống sẽ xây dựng vector đại diện (vector
representation) cho đặc trƣng này. Hình 1-6 đƣa ra ví dụ của vector đại diện.
10


Hình 1-6 Vector đại diện của văn bản mẫu
Để xây dựng vector hệ thống sử dụng 2 phƣơng thức BOW (bag-of-word) và
thuật toán xác định từ gốc Porter.
1.4.3. Dự đoán giá
Để dự đoán giá của sản phẩm đấu giá, hệ thống sử dụng CART
(Classification and Regression Trees) - cây quyết định phân lớp và cây quyết
định hồi quy. Hình 1-7 mô tả cây quyết định hồi quy.

Hình 1-7 Cây quyết định hồi quy

Cây hồi quy bao gồm các decision node và leaf node. Mỗi một decision
node có hai node con, node con có thể là decision node hoặc leaf node. Root của
cây n m ở trên cùng không có node cha.
Chi tiết của việc dự đoán giá dựa vào CART nhƣ thế nào tôi không trình
bày chi tiết bởi vì đây là một lĩnh vực khác vƣợt ngoài phạm vi luân văn tôi
đang nghiên cứu.

11


1.5. Kết luận
Chƣơng 1 trình bày lý thuyết chung về hệ hỗ trợ quyết định. Đây là kiến
thức nền tảng về hệ thống hỗ trợ ra quyết định nhƣ quá trình ra quyết định, các
thành phần cơ bản của hệ hỗ trợ ra quyết định.

12


CHƢƠNG 2. MỘT SỐ HỆ THỐNG THU THẬP DỮ LIỆU
Chƣơng này trình bày kiến trúc chung của Web Crawler. Tìm hiểu một số
hệ thống thu thập dữ liệu đƣợc trình bày trong các bài báo khoa học và nghiên
cứu sản phẩm đã đƣợc triển khai thực tế. Đây cũng là cơ sở để xây dựng hệ
thống khảo duyệt web và thu thập dữ liệu của tôi.
2.1. Kiến trúc chung của hệ thống Web Crawler
Web Crawler (hay còn đƣợc gọi với tên khác nhƣ Web Spider hoặc Web
Robot) là một chƣơng trình máy tính có thể “duyệt web” một cách tự động theo
một phƣơng thức nào đó đƣợc xác định trƣớc. Vì là một chƣơng trình nên quá
trình “duyệt web” của các Web Crawler không hoàn toàn giống với quá trình
duyệt web của con ngƣời (Web Crawler phải sử dụng các phƣơng thức dựa trên
HTTP trực tiếp chứ không thông qua Web Browser nhƣ con ngƣời).

Động cơ ban đầu thúc đẩy việc thiết kế Web Crawler là việc lấy nội dung
trang web và lƣu trữ chúng ở các kho chứa cục bộ sau đó sẽ đƣợc sử dụng cho
các ứng dụng khác nhƣ phân tích dữ liệu, search engine .v.v. Các Web Crawler
thƣờng bắt đầu từ một trang web hoặc một danh sách các trang web nào đó, sử
dụng các liên kết ngoài trong trang web đó để mở rộng ra các trang tiếp theo.
Quá trình này tiếp tục với các trang web mới, các trang này lại cung cấp các liên
kết ngoài khác để đi theo. Cứ nhƣ vậy cho tới khi đạt tới một số lƣợng trang web
xác định hoặc thoả mãn một điều kiện nào đó.
Môi trƣờng web là thực thể động, với các không gian con thay đổi theo
các xu hƣớng khác nhau và thƣờng thay đổi với tốc độ rất nhanh. Do đó chúng
ta luôn cần sử dụng các crawler để giúp các ứng dụng đu ợc cạ p nhạ t b ng
cách cạ p nhạ t nọ i dung mới của các trang web, xóa bỏ hoạ c sửa đổi nọ i
dung cũ. Các hẹ thống tìm kiếm thu ờng cố gắng thu thạ p đu ợc càng
nhiều trang web càng tốt. Các hẹ thống này thu ờng sử dụng Web Crawler để
bảo trì co sở dữ liẹ u đu ợc đánh chỉ mục của chúng, cân b ng cái giá của
quá trình crawling và đánh chỉ mục với hàng triẹ u truy vấn mà hẹ thống
nhạ n đu ợc. Module crawler của các hẹ thống này thu ờng có xu hu ớng
và mục tiêu chính là download hết các trang web mà nó gạ p. Ngu ợc lại, các
crawler khác lại chỉ chọn mọ t số trang web để tải và duyẹ t trong số rất nhiều
các trang web nó gạ p, các crawler này đu ợc gọi là các crawler có lựa chọn
preferential crawler hoạ c crawler dựa trên kinh nghiẹ m. Chúng đu ợc sử
dụng để xây dựng các kho dữ liẹ u có chủ điểm, tự đọ ng hóa các nguồn lực
khai phá và đáp ứng cho các đại l phần mềm. Các crawler có lựa chọn đu ợc
xây dựng để lấy ra các trang web theo mọ t chủ đề xác định đu ợc gọi là các
crawler theo chủ đề topic crawler hoạ c crawler tạ p trung focused crawler.

13


Có mọ t số khía cạnh của các topic crawler, đang đu ợc tạ p trung

nghiên cứu. Mọ t câu hỏi then chốt đã đang thu hút sự quan tâm của các nhà
nghiên cứu là: Làm thế nào để đạt đu ợc tính chất lựa chọn của crawler. Các
vấn đề phụ thuọ c nhiều vào ngữ cảnh nhu mục tiêu của ứng dụng cha (mà
crawler là mọ t thành phần) hoạ c các tín hiẹ u ngữ nghĩa trong trang web
cũng nhu những đạ c tru ng (features) của các lu ợc đồ đu ợc xây dựng từ
các trang web cũng đã đu ợc xem x t. Thêm vào đó, các crawler cũng sử dụng
các co chế khác nhau trong viẹ c xử l các yếu tố này.
Mọ t khía cạnh quan trọng thứ hai cần xem x t khi nghiên cứu các
crawler, đạ c biẹ t là các topical crawler, đó là bản chất của nhiẹ m vụ crawl
(duyẹ t web). Các tính chất của viẹ c crawl nhu là các truy vấn hay là các từ
khóa đu ợc cung cấp nhu là các đầu vào cho các crawler, các hồ so ngu ời
dùng user-profile, hay các thuọ c tính của trang web cần tải (các trang
tu o ng tự, các trang web phổ biến, .v.v.) có thể dẫn tới các thay đổi đáng kể
trong viẹ c thiết kế và thực thi các crawler. Các tác vụ có thể bị ràng buọ c bởi
các tham số nhu số lu ợng cực đại các trang web cần nạp hay dung lu ợng
bọ nhớ có thể .v.v. Do đó, mọ t nhiẹ m vụ crawling có thể đu ợc xem
nhu mọ t bài toán tìm kiếm bị ràng buọ c bởi nhiều mục tiêu (multiobjective). Tuy nhiên, do sự đa dạng của các hàm mục tiêu cọ ng với sự thiếu
các hiểu biết chính xác về không gian tìm kiếm làm cho vấn đề càng trở nên
phức tạp. Ho n nữa, mọ t chu o ng trình crawler có thể sẽ phải giải quyết
các vấn đề về tối u u hóa nhu tối u u toàn cục và tối u u cục bọ .
Về cơ bản một Web Crawler có kiến trúc chung nhƣ đƣợc mô tả trong
hình 2-1 dƣới đây.

14


×