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

Luận văn 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

76 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề 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
Tác giả Trịnh Việt Dũng
Người hướng dẫn TS. Nguyễn Dại Thọ
Trường học Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sĩ Công nghệ Thông tin
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 76
Dung lượng 1,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIÁ HÀ NỘI TRUONG DAI HOC CONG NGHE TRINH VIET DUNG XAY DUNG HE THONG KHAO DUYET WEB PHAN TAN VA THU THAP DU LIEU PHỤC VỤ CÁC HỆ HỖ TRỢ QUYẾT ĐỊNH Ngành: Công nghệ thông

Trang 1

ĐẠI HỌC QUỐC GIÁ HÀ NÓI TRUONG BAI IIOC CONG NGITE

‘TRINH ¥ ' DŨNG

XÂY DỰNG HE THONG KHAO DUYET WEB PHAN TAN VA

THU THAP DU LIEU PHUC VY CAC HE HO TRG

QUYET DINIT

LUAN VAN TIIAC SI CONG NGIIE THONG TIN

IIA NOI - 2015

Trang 2

ĐẠI HỌC QUỐC GIÁ HÀ NỘI TRUONG DAI HOC CONG NGHE

TRINH VIET DUNG

XAY DUNG HE THONG KHAO DUYET WEB PHAN TAN VA

THU THAP DU LIEU 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 đữ 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 SI CONG NGHE THONG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYÊN DẠI THỌ

Trang 3

LOI CAM DOAN

'Yôi xin cam doan kết quả đạt được trong luận văn lả sản phẩm của riêng cA

nhân tôi, không sao chép lại của người khác Trong loản bộ nội dung của luân văn những điều dượ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àn 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 nam 2015

Trịnh Việt Dũng

Trang 4

MỤC LỤC

DANH MUC CAC KY HIEU VA CHU VIF!

DANH MUC CAC HINH VE

1.3.1 Phân loại quyết định 3

1.3.2 Các thành phần của hệ hỗ trợ ra quyết định J

1.3.3 M6 hinh ra quyết đình 6

1⁄4 Miệt trường hợp sử dụng hệ hỗ trợ yet định trong việc dự đoán giả sản

1.43 Dự đoán giá 11

CHUONG 2 MOT 86 HE THONG THU THAP Dt LIEU 13

21 Kién tric chung của hệ thống Web Crawler - - 13 2.1.1 Kho chứa URL 16

2.1.2 Lich str viéng thăm và kho chữa các trang web 17

2.3, HIệ thống thu thập dữ liệu từ Twitter - TwitterEcho 24

24 Từm hiểu về công cụ HTTrack 25

Trang 5

42 Mô hình triển khai

43 Phin mém va thông số máy chủ

43.2, Cầu hình máy chủ

4.41 Đánh giá hệ théng Web Crawler

Trang 7

DANII MỤC CÁC KÝ IIỆU VẢ CHỮ VIẾT TÁT

DE Data Extraction - mét hệ thống bóc lách dữ liệu lừ

website theo luật người sử dụng tạo

we Web Crawler - một hệ thống thu thập đữ hêu

Summary

may tim kiếm như Google, Bing, Yahoo, Daum

FB Crawler Một hệ thống thu thập đữ liệu từ mạng xã hội I*acehbaok

Crawling Quá trình thu thập đữ liệu

Spider Trap Bay 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 Hxclusiơn | Giao thức loại trừ robot

Protocol

TOA ‘Twitter Open Authentication dimg dé xdc thue mdi yêu

cầu gửi lên server

Trang 8

DANH MỤC CÁC HÏNITVẼ

Hình 1-1 Các giai đoạn của quả trình ra quyết định

Hình 1-2 Uu điểm của hệ hỗ trợ quyết định

Tình 1-3 Các thành phần của hệ hễ trợ quyết định

Hình 1-4 Sản phẩm đâu giá trên eBay

Tinh 1-3 Néi dung ITTML của sẵn phẩm

Hình 2-2 Trang HTMI, và cấu tric ody cita hé thdng tuang tmg

Hình 2-3 Các thành phần chinh ciia Mercator

Hình 2-4 Kiên trúc của TviHerEcha

Hình 3-1 Aö hình hệ thống thu thập đữ liệu công ty Salthu

Hình 3-2 Kiễn trúc phân tán hệ thẳng khảo duyệt web

Hình 3-3 Các thành phần bên trong ctia Web Crawler

Hình 3-4 Tao moi Web Crawler task

Hình 3-5 Cập nhật thông tin cho Web Crawler task

Hình 3-6 Xoá Web Crawler task

Hình 3-7 Xem dữ liệu download

Hình 3-8 Kiến trúc phan tan cha Tuiter Crawler

Trang 9

Hình 3-9 Danh sách cáo địa diém được hỗ trự bởi Twitter

Hình 3-10 Các chủ đê được chủ ý trên toàn cầu

Hình 3-11 Tạo mới một Twitter task

Hình 3-15 Trao déi thông tin giữa T'witterWorker và QueueManager-

Hình 3-16 Hé thing sit dung 4 shard leu trữ 11B dự liệu

Hình 3-17 Các thành phần của shard cluste

Hinh 4-1 Giao dign website terms naver.com

Hinh 4-2 Man hình kết quả ldy tweet

Hình 4-3 Màn hình kết quả lấy danh sách fbllower

Trang 10

DANH MỤC CÁC BẰNG

Bang 3-1 Cdu tic bang crawler agent info

Bảng 3-2 Danh sách tham sé cia statuses/filter API

Bang 3-8 Cấu trúc bằng twitter_open_authentication

Bảng 4-1 Danh sách 6Ì người dùng Twiffer

Bảng 4-2 Mô bình triển khai hệ thẳng

Trang 11

LOL CAM ON

Dễ 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 bay 14 long biết ơn sâu sắc đến Tiến sĩ Nguyễn Đại Thọ — Người thầy đã trực tiển hướng dẫn, lận tình giúp đỡ tôi trong quả trình xây dung

và hoàn thành luận văn nảy

'Tôi xin gửi lời cảm ơn đến các dồng nghiệp trong công ty Saltlux dã hỗ trợ tôi trong quá Irì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 thay 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 IIả 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 đạ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

TỌo có nhiều hạn chế về thời gian và kiến thức ne[in luạiIn van khong tránh khỏi những thiếu sói, rất mong nhạ[a đuLiợc những ý kiến đóng góp quý

báu của quỷ thây coL] và các bạn cùng quan †a —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 dì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

IIa Nội, ngây 19 tháng 10 năm 2015

Học viên

Trang 12

MO DAU

Bi 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 dây trên toàn cầu, nguồn dữ liệu web trở thành kho dữ liệu khổng lồ dễ khai

tháo thông tin hữu ích (theo thông kê của NGtCrall 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

la ngày cảng trở nên đỗ số, da dạng, bao phũ lên tất cá mọi mặt của guộ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 tín, củng với yêu sầu

về khả năng khai thắc chúng một cách hiệu quả để giúp cho cơn người dé dang

và chỉnh xắc hơn trong việc đưa ra quyết dịnh, chiến lược kinh doanh, phần tích

tủi ro (trong kinh doanh), trong việc makerting và quảng bá sẵn phẩm, hay trong

việc diễ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 van để tìm kiếm và sử dụng nguồn tài nguyên đỏ như thể nào để

phuc 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ử

đụ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 daLa - đã 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 dược chất hượng công việc vả tiết kiểm dượ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 va

phân cụm dữ liệu thu thập được, phân tích đữ liệu, tim kiếm đữ liệu vả trực quan

hoá đữ liệu - sử dựng các biểu dỗ, dễ thị để biểu diễn dữ liệu

'Irong 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 đuyệt web và thu thập đữ liệu - một hệ thống manh mẽ thu thập dữ liệu từ nhiều nguồn khác nhau (trang tin tức,

dién dan, blog, mạng xã hội Twitter), thu thập nhiều loại dữ liệu khác nhau như himl, text (doc, đocx, pđf ), nnages (png, gứ, jpg, ) videos, và các loại

file phé biến khác như (.zip, rar, xÌš, xÌsx, ovs, hwp, ) Hệ thống được xây

đựng có khá năng chạy trên nhiều môi trường hệ điều hành khác nhau như Unix-

bascd, Windows Với việc thiết kế hệ thống chạy da luỗng đồng thời, số lượng

luồng được cấu hình động giúp cho hệ thống dễ ding tuỳ chỉnh một cách linh

hoạt tận dụng tối da 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 phan 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 cu thu thâp dữ liêu phố

Trang 13

biến khác chưa lam duoc nhu HT Track, WebSPHINX, Web Application Attack

and Audit Framework, OWASP Zed Attack Proxy v.v Sử dụng cơ sở dữ liệu

NoSQI - MongoTDB dể lưu trữ dữ liêu giúp hệ thống dám bảo lưu trữ dược dữ

liệu rất lớn, tốc độ đọc/ghi dữ liệu nhanh, đễ đàng tích hợp với các hệ thống

khác Đây cũng là ưu điểm vượt tội so với các công cụ HTTrack,

'WebSPIIINX v.v chỉ cho phép lưu trữ dữ liệu thu thập được dưới dạng file IIệ

thống thu thập đữ 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 đữ 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 (5amuraiz) 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 oú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à 'witterHcho, đồng thời tiến

hành khảo sát hệ thống đã được triển khai thực tổ như HTTraok 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 5: Irinh bảy chỉ tiết thiết kê hai hệ thống khảo duyét web và thu thập

đữ liệu L1ê thống thứ nhất là hệ thông thu thập đữ liệu tir 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 đữ liệu

tir mang x4 hoi Twitter

Chuong 4 Cài dặt, triển khai và dánh giá: chương này trình bay chi tid v

đặ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ừ

Trang 14

CHIUONG 1 TONG QUAN VE IIE 116 TRO QUYET BINII

Su phat 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 laượng dữ liệu được chỉa sẻ trên mmạng là rất

lớn với nội dung phong phú, đa dang đến từ nhiễu nguồn cung cấp đữ 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 điể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

đữ liệu trên web, trên các mạng xã hội Dữ liệu thu thập được đùng cho các hệ thống phân tích, tùn kiếm sau này Dưới đây học viền trình bay ly thuyé ết chung

và một trường hợp sử đụng thực tế hệ hỗ trợ ra quyết

1.1 Thế nàu là ra quyết định

VicUe duQa ra quyết định đối véi moO vấn để xuất hiẹLIn trong khắp

các lĩnh vực, hoạt doCing của đời sống mà đôi khi chúng ta không nhạ[In ra Từ

những vielTlc đo n gién nhul chon molt bol quan do dé di du tie Te cho đến

các vieLlc lớn lao nhull phan bé ngin sách vào các chuLloLing trình của quốc

gia đều là các công viel le đu la ra quyết dịnh

Vai ly du la ra quyết định chính là chọn ra trong các giải pháp kha thi

mọ[ giải pháp mà theo ngu -lời đua 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à nguLiời ra

quyết dịnh biết là chắc chắn ding

- Quyết định không cấu trúc (NonstucLured Decision): Các quyết định mà

nguHờ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 deO quy (Reewring Decision): Cac quyél định lạ~lp di, lạ[Tp lại

- Quyết định không deO quy (Nonrecurring Decision): Các quyết định không

1.3.2 Cúc giai doạn của quá trùnh ra quyểt dịnh

'Theo 8imen, các giai đoạn của quá trình ra quyết định bao gồm các pha:

- NhaUn dinh (intelligence): ‘lim kiếm các tinh huéng dẫn đến vieLlc phải ra

quyết định, nhan đạng các vẫn để, nhu cầu, củ ~] họ “li, rủi ro v.v.

Trang 15

- Thiét ké (Design): Phan tich cac huCéng tiép caLIn để giải quyết vấn đề, đáp

ứng các nhu cầu, tạFIn dụng các coL] họLli, 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 luLờng hạL]u quả

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

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

1.3.1 Khái niệm hệ hỗ trợ ra quyết định

Trong thạF]p niên 1970, Scott Morton đu[1a ra những khái niẹ[lm đầu tiên về HẹF] hỗ trợ ra quyết định (Decision Support Systems-DSS) Ong dinh

Trang 16

nghĩa DSS nhuÏ1 là những hẹ[] thống máy tinh tuDoLIng tac nhim giúp những nguHời ra quyết định sử dụng dữ lieu và mô hình để giải quyết các vấn đề không có câu trúc [7]

Experience Increased productivity Speed

Intuition Increased understanding Information

Knowledge Increased flexibility

Reduced problem complexity

Reduced cost

Hình 1-2 Ưu điểm của hệ hỗ trợ quyết định Cho đến nay chuFla có mọFlt định nghĩa thống nhất vé DSS Tuy nhiên tất cả đều đồng ý mục đích coL] bản nhất của D8§ là để hỗ trợ và cải tiến vieLlc

- Quan ly 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) va viele quan li cac mé hinh nay MoLt 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[lu, mô hình tìm kiếm

mục đích, mô hình thống kê

Quan ly dit ligu (Data Management) thuc hieDn céng vieUc lu[]u trữ các thông

tin của hẹL] và phục vụ cho việc cạL]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ẹLlc giao tiếp giữa ngu lời dùng cuối và HeFT ra quyết định.

Trang 17

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

MoLit đạỂ1c truLIng coL] bản của HẹL] hỗ trợ ra quyết định là phải có ít

nhat moLit mô hình hỗ trợ ra quyết định VieLlc 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[lợng hóa của thực tế

Mô hình hóa là vie[le khái quát hóa và trừu tu[Jơ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ạL]t (sự sáng tạo)

6

Trang 18

MỹLIL mô hình thu ~ờng bao gồm bà thành phần coL] bản

- Decision Variables: Đây là các lựa chọn xác định bởi ngu[Llời ra quyết định

Chẳng hạn trong bài toán quyết định đầu tuLl thì đây là số tiên đầu tu _l, noLli

đầu tui, thời gian đầu tui v.v

- Uneuntrollable Variables: Đây là các biến không nằm trong sự kiểm soát của

ngui lời ra quyết định (bị tác đọi Ing bởi các yếu tố bên ngoài) Chẳng hạn trong bai toán trên thỉ dây lá tốc dọIT 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 bai

toán trên thì đây là tỉ số lợi nhuạ 1n

Khi lựa chọn quyết dịnh cuối cùng, ngui lời ra quyết dịnh có thể muốn có

mọFI quyết định tôi u[u (optimal) hay mọ[IL quyết định thỏa đáng, gần tôi uu

(good enough) Do vaLly cé thé chúa ra hai loại mô hình hỗ trợ ra quyết dinh

Mô hình quy chuẩn (Normative Miodel): Mô hình này xem xét tật cả các

phuDoDng án và chọn ra phuDoDng án tối u=u

Mô hình mô tả (Descriptive Model): Mô hình này xem xé mọLlt tạ[lp

hợp các điêu kiẹLIn theo ý ngu[lời dùng và xem xét các phu[loLIng án theo

này không xem xét hột tắt cả các phuLloLlng ấn nên kết quá cuỗi củng có thể chỉ gần tôi u[lu

Mö hình quy chuẩn thuLlờng đuợc sử dụng trong bài toán tối u[lu hỏa

mọi |t mục tiêu Mô hình mô tả thui lờng đuil lợc sử dụng trong bài toán tôi ml lu

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 1Iolsapple và Whinston (1996) [8] phân ra 6 lọai hẹ[ hỗ trợ ra quyết định:

- Hướng văn bản (Texi-Oriented D§SS)

- HuLlởng coLl sở di heLlu (Database-Oriented DSS)

- HuLiởng bảng tính (Spreasheet-Oriented DSS)

- HuHởng nguHời giải quyết (Solver-Oriented DSS)

- Hul lớng luại It (Rule-Oriented I285)

- Hul lớng kết hợp (Oompound 1388).

Trang 19

Tướng văn bắn - Thông Lin (bao gdm dé ligDu va kiến thức) đu lợc lu[lu rữ

đuLiới dang vaUn bản Vì vạLly hẹLl thông đỏi hỏi laLlu trữ và xử lí các vaLin

bain moMt cach hicMu quả Các công nghel mdi nhul Hef quan li vain ban

đựa trên web, Intelligent Agents có thế đu “lợc sử dụng cùng với heL nay

HuLiớng coL] sử dữ liẹLu - CoL] sở đữ bẹ-lu đóng vai trò chủ yếu trong heO

nay Thong tin trong co] sé dé licOu thuOong cé céu true chaLt o

16 rang HeL nảy cho phép nguLlời dùng truy vẫn thông tin dé dang va TẤt mạnh

về báo cáo

ding thue hicOn vieCe phan lich truLớc khi ra quyết dịnh Bản tính có thể báo

gdm 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

Ban tinh phổ biển nhất đỏ là Microsoft Execl Hẹ[] này thu lởng duÏlợc dùng

xông rãi trong các hẹLl liên quan tới ngụ Hời dùng cuối

chui lo Ing trình để giải quyết mọi It vấn để cụ thể chẳng hạn nhi | tính toán giá

ban ra của sắn phẩm hay tính toán xu huLlớng bán hàng MọLlt số trợ giúp khác phức tạp nhu[] lá tối u[lu hóa đa mục tiêu Hẹ[ nảy bao gềm nhiều trợ giúp

như vậy

HuLớng Ina Ot — Kidn thie cia heD nay đu [Tợc mô tả trong ede quy lua thi

tục hay lí lẽ HeLl này còn được goi lả he chuyên gia Các quy luật nảy có thế

là dịnh tính hay định lu[lợng Các ví dụ của hẹi nảy nhuí] lả hu lớng dẫn

không lu[u, huOdng dẫn giao thông trên biển, trên bọ ¬, v.v

HuHớng két hop - MoLt heO téng hop có thể kết hợp hai hay nhiều ho[In

trong số na[lm 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 dau giá Trên eBay

Dấu giá trực tuyến đang rất phổ biến Theo báo cáo của website bin đầu

gid 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 hut

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 nua Người bán có

thể sứ dựng hệ hỗ trợ nảy dưa ra giá ban dầu và gợi ý đưa ra mô Lá sản phẩm.

Trang 20

Người mua sử dụng hệ hỗ trợ để đặt giá một cách hợp lý Để dự đoán gia cudi

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í du này sử

dụng một Web Crawler HarvEX (http://www.xellsoft.com/HarvEX html) để

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

‘ny Ceagorens any Motre way Errone

fasts stems Ant xepory:Gummumes isons » dope Pad MPD Pees» Aue Pa > Bot

206 White Ipod in

“Ren nhọc 30912809778

Bidding has ended for this tem

Sarto eyo ty «a em ow

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

gia.

Trang 21

Đặc trưng đầu tiên là tỉ lệ phản hồi cBay có một hệ thẳng lưu trữ các

phan 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 Fornm Người bán có tí lệ fecdback 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 doi cua 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ự

tỉ lệ

phản hồi Nhưng có một số thông tỉn khó có thể mô tả trong dạng văn bản Ví

không chắc chắn về chất lượng sản nhằm thay cho việc chí quan tâm

đụ, mô tả sản phẩm về một đôi giày bán đấu giá 'giày hai mn’ (slightly worn shocs) 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 dó chứa các thông tim về giao dịch, chính sách hoản trả sản phẩm,

hay chỉ 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 tìn này dược sử dụng như một dặc trưng dễ dự đoán giá

Việc trích xuất ba đặc trưng tử trang HTMI gốc của sản phẩm dấu hệ

thống thực hiện như sau Trích xuất giả và tỉ lệ phán hồi đựa vào tìm kiếm nội

dụng 'Winning bid! va '£eedback' Số lượng hình ảnh sản phẩm đấu gia được tìm

bằng cách đếm số tag <img> trong phân mô tả sản phẩm IIình 1-5 lả ví dụ nội

dung HTML của sản phẩm đầu giá

<himi>

[non-relevant code omitted)

<span id="DetailsCurrentBidText" class="titlePurchase'» Winningbid: </span>

‘<span id="DetailsCurrentBidValue"> <b> US $175.00 </b></span>

[non-relevant code omitted)

Feedback:citd> <td width="100<strong> 100[non-relevant code omitted)

</- Begin Description »

<FONT style="FONT-WEIGHT: bald; COLOR: rgb(0,66,154)" size=5>&nbsp;

This is the Apple 30G White Ipod in Box.&nbsp; This is the new 30 gig video

picture music igod Hokl up lo 7,500 Songs.äribep; It comes in great candition barely

used in the ariginal box with instruction book, &nbsp: and the instellation ed for

itunes.&nbsp; This is a great deal&nasp;

<SPAN style="TEXT-DECORATION: underline"»DONT MIS§ OUTIII</SPAN></FONT><BR>

Hình 1-5 Nội dung HTML của sản phắm

Đổi với dặc trưng mô tả sẵn phẩm, hệ thẳng sẽ xây dựng vcctor dại điện (vector

Tepresentation) cho đặc trưng này Hinh I-6 đưa ra ví dụ của vector đại diện

10

Trang 22

Tarms

plural, normal, form, strip, suffix, ratriev, belong, read,

singular, algorithm, figur, meant, letter, end, process, chang,

word, assum, usual, quantiti, system, stem, english, exampl,

term, root, set, convert, porter, inform, paragraph, diminish,

ĐỂ xây dựng vector hệ thống sử dụng 2 phương thức BOW (bag-ol-word) và

thuật toán xác định từ gốc Porter

1.43 Dự đoán giá

Để dự đoán giá của sản phẩm đấn giá, hệ thống sử dụng CAIRT

(Classification and Regression Trees) - cay quyét dmh phân lớp và cây quyết

định hồi quy Ilình 1-7 mỗ tả cây quyết định hồi quy

ay héi quy bao gom vac decision node va leaf node Méi mot decision

node cé hai node con, node con cé thé 14 decision node hodc leaf node Root cia

cây nằm ở trên củng không có node cha

Chi tiết của việc dự doán giá dựa vào CART như thế nào tôi không trình

bay chỉ tiế 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

dang nghiên cứu

11

Trang 23

1.5 Kết luận

Chương 1 trinh 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

Trang 24

CIIUONG 2 MOT SỐ TIE TIONG TIIU TIAP DU LIỆU

Chương nay trớnh bảy kiến trỷc chung cia 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ế Dóy cũng lỏ cơ sở để xóy dụng hệ

thống khảo duyệt wcb 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ự dộng theo

một phương thức nỏo đỏ được xõc định trước Vớ lỏ một chương trinh 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 đuyệt web của con người (Web Crawler phải sử dụng cõc phương thức đựa trởn HTTP truce tiờp chứ khừng thừng qua Web Browser như con người)

Động cơ ban dầu thỷc dóy việc thiết kể Web Orawler 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 chủ

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 dầu từ một trang wcb hoặc một danh sõch cõc trang wcb nảo đụ, sứ

đụ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 Lụ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 wcb 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 cn sử dụng cõc crawler để giỷp cõc ứng dung dul loc cal Ip nhal It bằng

cõch cạ -]p nhạ[It noi dung mới của cõc trang web, xụa bỏ hoạf1c sửa đổi noLi dung cũ Cõc hẹL thống tớm kiếm thuLiờng cố gắng thu thaLlp đuLlợc cảng

nhiều trang web cỏng tốt Cõc hẹ[] thống nỏy thu[lờng sử dụng Web Crawler dờ

bao tri col | sờ dif liel lu đu! lợ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 tricLlu truy vấn mả h[] thống

nhạLIn đuLợc Xiodule crawler của cõc hẹL] thống nảy thuLờng cụ xu huLiớng

vỏ mục tiởu chỉnh lỏ dowmload hờt cõc trang web mỏ nụ gai lp Ngui lợc lại, cõc

crawler khõc lại chỉ chọn mọ[ số trang web để tải vỏ duyeLIt trong s6 rất nhiều cõc trang web nụ gạLlp, cõc crawler nảy đuLlợc gọi lỏ cõc crawler cụ lựa chọn preferential crawler hoalc crawler dia trờn kinh nghieOm Ching đuLlợc sử

đụng để xóy đựng cõc kho đữ lii lu cụ chi diờm, tt dol ng hớa cõc nguồn lực

khai phõ vỏ đõp ứng chủ cõc đại lý phần mềm Cõc crawler đờ lựa chọn đuợc

xóy dựng để lấy ra cõc trang web theo moLit chủ đề xõc đinh đuLiợc gọi lỏ cõc

crawler theo chii dờ topic crawler hoa[ 1e crawler tạ[ Tp trung, fbcused crawler.

Trang 25

Có mọt số khía cạnh của các topic crawler, dang du “loc tạ[Ip trung

nghiên cứu Mo: It 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é nao dé dat dulgc tinh chat lua chọn của crawler Cac

vin để phụ thuoOc nhiều vào ngữ cảnh nhuL] mục tiêu của ứng đụng cha (ma

crawler la mọ[IL thành phần) hoaLc các tín hicLlu ngữ nghĩa trong trang web

cũng nhuL] những đạ[lc truLlng (feattres) của các luLợc đề đu[lợc xây dựng từ

các trang web cũng đã du[ ợc xem xét Thêm vào đẻ, các crawlcr cũng sử dụng các co[l chế khác nhau trong vie Jc xi ly cdc yếu tổ này

Mọ[It khía cạnh quan trọng thứ hai cần xem xét khi nghiên cứu các

crawler, da] Ic biel It la cdc topical crawler, đó là bản chất của nhiel Im va crawl (duye Dt web) Các tính chất của vieDc crawl nhuD 1a cac truy vấn hay là các từ

khỏa đu Lợc cung cấp nhu là các đầu vào cho cae crawler, cdc hé soD nguldi

dimg uscr-profile, hay các thuọ[lc tỉnh của trang web cần tải (các trang

tuCloLing ty, các trang web phổ biến, v.v.) có thể dẫn tới các thay đổi đáng kể

trong vicDe thiết kế

các tham số nhuL số lulợng cực đại các trang web cần nạp hay dung luLiợng

bọi | nhớ có thể vv l2o đó, mọi Ít nhiel Im vụ crawling có thé dul gc xem

nhu[] mọt bài toán tìm kiếm bị Tảng buọ-lc bởi nhiều mục tiêu (multi-

objective) 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 HoLIn nữa, mọỔt chuLloLing trình crawler có thể sẽ phải giải quyết

các vấn đề về tối uLlu hóa nhuT tối u=lu Loàn cục vá tỗi u lu cục bạ]

Trang 26

frontier Danh sach nay được tạo ra bởi các URL hạt nhân (Seed URL) được

cung cấp bởi người dùng va các chương trình khác Mỗi vòng lạFip crawling bao gém: lay ra URL can duOge download tiép theo tir frontier, nap trang web

tu[loEing ứng với URL đó bằng giao thức HTTP, bóc tách trang web vừa tải về

để lấy ra các URL và các thông tin mà ứng dụng cần, và cuối củng là thêm các trang URL chuLla đuLợc thaLÌm vào frontier Truớc khi các URL đu[lợc thêm vào frontier chúng sẽ đu[lợc gan cho moLIt đọ[] đo thể hiẹ[in đánh giá hieDu quả khi tha[im trang web tuF]o[lng ứng với ƯRL đó Quá trình crawling

có thể kết thúc khi mot sé luOong nhất định các trang web đã đu[1ợc tải Nếu

chu[JoLing trình crawler đã sẵn sảng để duyeLlt mọFit trang web khác và trang

thái của frontier là rỗng, mọFIt tín hieDu trang thái kết thúc (dead-end) sẽ

đuỂlợc gửi cho crawler Chu[oFng trình crawler sẽ không có trang web mới dé

Trang 27

mọLI văi nút hạt nhđn va sau đó đi theo câc cạnh để tới câc nút khâc Quâ trình

tải mọL t trang web vă trích ra câc liín kết trong nó tuLloLlng tự nhuLl viẹL c

mổ rọ[]ng mọ[Tt nút trong băi toân tìm kiếm trín dĩ thi Molt crawler có chủ

điểm cố ging đi theo câc cạnh mă đu[lợc kỳ vọng lă dẫn tới câc vị trí trong đỗ

thị lă hợp lẹL với chủ điểm đỏ

21.1 Kho chứa URL

Frontier lă danh sâch câc công vie[ le cần lđm của mọ[ ]t crawler, nó chứa

câc URL của câc trang web chu~la đuLlợc tha[lm Trong thuạ[lt ngữ tìm kiếm

đồ thi, frontier lă mọLIt danh sâch mở câc nút chu _la đuL lợc mở rọ _Ing (chuL a đuÖợc tha[Im) MạL1c dù có thể có nhu cầu phải lun câc frontier lín đĩa đối với câc crawler rất lớn, ở đđy để đoIIn giản hóa chúng tôi chỉ giới thiẹ[lu

frontier nhul ii u trúc đữ liệu trong bọỒ nhớ trang Dựa trín dung

luLiợng boL nhớ có thể, ta có thể quyết định kích thuLlớc cực đại cua frontier

Tựa văo dung lulTợng lớn của bọ[1 nhớ mây tính ngăy nay, kích thui lớc mọ[ TL

frontier vao khodng 100,000 url không phải lă hiĩm Do cac frontier chi cĩ kích

thui lớc giới hạn ta cần có mọi It eo | chế để quyết định URI năo cần bị bố qua

khi số luQong URL trĩn frontier dat toi giới hạn đó can phải lu_u ÿ ring frontier có thể bị đầy nhanh hoLn nhiều so với số luLiợng trang web đuLiợc đuyẹ[ Ta có thể câ tới khoảng 60,000 url trong ñontier khi mới duyeLt

di lợc khoảng 10,000 trang web do trung bình có khoảng 7 liín kết trong mol It

ic

trang web

Frontier có thể đuLJc thực thi nhu] mọ[It hang doi FIFO nếu ta muốn

xđy dựng moLit crawler theo duyeLit chiều roL ng (breadth-first) để duyeLlt web

theo chiến luOve md (blindly) URL cin duOgc đuyeLT tiếp theo đuÖợc lđy từ

đỉnh của hăng đợi vă câc URL mới đuLlợc thím văo cuối hảng đợi Do kích

thu [ức hạn chế của fronticr, chúng ta cần phải đảm bâo lă không thím câc URL

JaOp lai vao hang doi Do vay mot co[ chế tìm kiếm tuyến tính để tìm ra

mọi It URI mới dul lợc trích ra từ nọi li dung cia url dang dul lợc duye[ ]t có

nằm trín frontier chuLa lă rất cần thiĩt MoDt giải phâp đu lợc đuLla ra lă định

vi mol It lul long bol | nhĩ can thiĩt dĩ duy tri mol It bang bal Im riíng (với khỏa

lă URL) để luEu giữ mỗi mọLlt URL của frontier để thuạ[ lợi cho viẹLe tìm

kiểm Bảng baLm nảy phải đuLiợc giữ đồng bọLl với frontier thực sự MioLlt

giải phâp khâc tốn nhiều thời gian ho~In lă duy trì bản thđn hăng đợi đỏ nhu[]

mọt bảng ba~m (cũng với khóa lă URL), Diều năy cung cấp mọt câch tìm

kiếm nhanh chóng để trânh vie~lc luEu lạtTp lại câc URL Tuy nhiín, mỗi lần

crawler cần mọ -It URL để duyeLlt, nó cđn phải tìm kiím vă lđy ra URL mới

duoc dala văo frontier pần dđy nhất Nếu bọ[] nhớ không phâi lă vẫn dễ nổi

cọ -lm, giải phâp thứ nhất có thể sẽ tốt he[Tn MoLt khi frontier dat tĩi kich

16

Trang 28

thuức tối đa, thì crawlor theo chiều roLng chi có thể thêm duy nhất mọLlL

URL chuLla đuLlợc thaLIm từ mỗi trang web đã đu lợc duyeLlt

Nếu phần frontier đu Liợc thực thi nhuLI mọ _lt hàng đợi u lu tiên chứng ta c6 moO crawler u[lu tiên hay còn gọi là crawler lỗi nhất đầu tiên (best-first

crawler) Hang đợi u[lu tiên có thể là mọt mảng đọ “ng luôn đuLợc sắp xếp

theo doO do duQue dánh giá của các URL chuẴla duHợc thaFm Tại mỗi

buLlớc, URL tết nhất đuLiợc lấy ra ở đầu hang doi MoLit khi trang web

tu[lo[Tng ửng đui ợc nạp, các uri liên kết từ nó du[ ợc lấy ra và du[lợc danh

giá dựa trên mọ Jt số kinh nghiẹLm Sau đó chúng lại đu[lợc thêm vào frontier

tại các vị trí phụ thuọi le vào đọi | đo đó Chúng ta có thế tránh viẹl c thêm

riêng bieLlt để tìm kiếm Khi frontier đạt tới kích thu [iớc tối đa là max, chỉ có

max URL tết nhất đuLợc giữ lại trong ữontior

Nếu chu[lo[Ing tinh crawler nha Tn thay fronticr 14 réng trong khi nó cần

URL tiép theo để duyeLit, quá trình crawling sẽ ngừng lại Với mọLÍt giá trị max

lin va moMt vai URI, hạt nhân thui ong lronticr rất hiểm khi đạt tới trạng thái

rong

Tai moLt số thời điểm, mọ[]t crawler có ?hể gạLlp mọ -]t bay nhẹ[In

(spider trap) mà dẫn nó 1di mg Ot sé luC ong lon cdo URL khác nhau cùng trổ tới

moLlt trang web ‘I'a cé thé han chế điều nay bing cach han ché số luLiợng các

trang web mã cratrler truy cá _Ìp tới từ mọi ]t tên miễn xác định Đoạn mã le[inh

liên quan tới frontier có thé dim bao ring mọi chuỗi k URL lién tiép (thu Dong

k-100), dul Ive

site quá nhiều lần, và noLli dung các trang web tải đuLlợc sẽ có xu huLliớng khác

bìe~L nhiều huFIn

ra bởi crawler, chỉ chứa duy nhất mol It dia cht URI chuẩn

1.2 Lịch sử viếng thăm và kho chứa các trang web

Phân lịch sử vidng thăm ctia crawler 14 moCt danh sach doOng cdc URL

đã đuLlợc nạp bởi crawler Nỏ chứa các đu[lờng đẫn mà crawler da di qua bat

dau Ur trang hat nhân Mọz1L URL đầu vào chỉ đu Lợc tạo trong phân lịch sử sau

khi trang web ta[loEng ứng đã đu Liợc nạp Phần này đuLợc sử dụng cho viẹLe

phân tích và đánh giả các trang web sau này Vỉ dụ, chúng ta có thể gắn cho mỗi

trang web mọ -]t giá trị trên đuLlởng dẫn và xác định các sự kiẹLln có ý nghĩa (ví

đụ nhull viẹ e khám phá ra mọ Ít nguồn lực quan trọng) Trong mọi lt số

truLởng hợp phần lịch sử đuLlợe lu[u trữ ở bọ[ nhớ ngoài, nhung nó cũng

có thể đuLlợc duy trì nhuLl mọLlt câu trúc đữ liẹLlu trong boLl nhớ trong Liêu này cho phép tìm kiếm nhanh chóng để kiểm tra xem liẹ[lu mọ[It trang web đã

17

Trang 29

duoc đuyeLIt hay chu la Vio[le kiểm tra này là rất quan trong để tránh di

tha _m lại các trang web, và do đó tránh viẹLlc thêm các URL d& duLloc duyeLt

vào trong fiontier có kích thu[ ớc giới hạn Cũng với lý do tai oIing tự, vie[ e

chuẩn hóa các URL truL1ớc khi thêm chúng vào lịch sử cũng, rit quan trọng,

Khi trang web đã đu[lợc tải, nó có thể đuHợc luIu trữ, đánh chỉ số để

phục vụ cho ứng dựng chinh (vi du moCt may lầm kiếm) Ổ dạng dolIn gián

nhất, mọL t kho chứa các trang web có thể có thể luLlu các trang web đã đuLlợc

crawl nhu[ các file riêng bie[It Trong tru[lờng hợp đó, mỗi trang phái du[ Tợc

ánh xạ tới mọL: tên file duy nhất MọoLIt cách dé thực hiẹLn điểu này là ánh xạ

URI, của mỗi trang tới mọ: t chuỗi nén bằng cach sit dung mol It dang ham

balm với xác xuất xung đọ[ thấp (để đảm bảo tính đuy nhất của tên file) Các

giá trị ba[Im đu[lợc sử dụng làm các tên file Ví dụ có thể sử dung ham baOm

mọt chigu MDS dé cung c4p m& bam 128 bil cho mai URL Gié ri bam

128 bit sau dé duOge chuyén thanh 32 ký tự ở dạng co sé 16 tuCoCng img

Theo cách này la số có các Len file 6 chiéu dai cd dinh cho eae URL cd do dai

bắt ky Cac kho chứa nọ[li dung trang web có thể đuLợc sử dụng để kiếm tra

ligt a mo It URI d& dul loc crawl trul ide dé hay chul la bang cach chuyển

URL đó sang 32 ký tự thạLp lục phân và kiểm tra sự tồn tại của nó trong kho

chứa Trong mọLIt số truLlờng hợp, điều nảy có thể dẫn tới sự không cân thiết

của cấu trúc đữ lieLu lịch sử trong bọL] nhớ trong

31.3 Tải các trang web

Để nap moCt trang web, ta can moLit IITTP client 44 gti moDt yêu cau

HITP téi moLit trang web va đọc các đáp ứng Phía client cần có mọi t thời gian tỉmeout để đảm bảo rằng nó không lãng phí quá nhiều thời gian để giao tiếp

với mọ[]t server quả chạ —m hoạ-]c đọc mọ[]t trang web quá lớn Trên thực tế, thuÄLlèng giới hạn chen chỉ download các trang wcb có kích thu[lức nhỏ hoLÌn

10-20KB Phía client cần duyeLIt các đáp ứng header để lấy các mã trạng thải và

các sự định hui lởng lại (rediroction) Chứng cũng duyc lt header va uMu that

gian sửa đổi (ast-modifv) để xác định đọ[] cạ[Ip nhạ[It của trang web ViẹLc

kiểm tra các lỗi và ngoại lei | lả rất quan trọng trong quá trình tải trang web do

chúng ta sé phải liên hẹ_] tới hàng triệL]u server ở xa bằng củng mọLt đoạn mã

1eLinh Thêm vào đó, vieLle thu thại Ip các thông kê về thời gian timeout và các

mã trạng thái cũng rất hữu ích trong viec xác định các vẫn để nây sinh hoạEc

để thay đổi tự đọIIng gid tri timeout C4c ngén ngữ lại]p trình hieLIn đại nhuL]

Java hoạ c Perl cung cấp các coLl ché doOn giản cùng nhiều giao die[In lạLIp

trình để tải các trang web Tuy nhiên, ta cũng cần phải cẵn thạ[In trong vieLlc sử

đụng các giao điẹ[ In bạ[ Ìe cao do có thể sẽ khó tìm ra các lỗu ở bại le thấp

18

Trang 30

Chúng 1a không thể kết thúc viefTe nói về quá trình crawling ma không đề

cạLlp tới giao thức loại trừ robot - Robot Exclusion Protocol Giao thức này

cung cấp mọi + co[1 chế cho các nha quản trị web server để thông bảo về các

quyền truy nhạLIp file trên server, đạLlc biẹLlt là để chỉ định các file không

đuHợc truy cạp bởi mọ-]L crawler Điều nảy đuLJợc thực hic[In bằng cách

luHu mọLTIt Ble cô tên rebots.txt duLiới thu[] mục chủ của web server (chẳng

han http:/Awww.biz-uiowa.cdw/robots txt), File nay cung cấp các chính sách truy

caDp cdc cho User-agents khac nhau (rubols hoaDe crawler) MoDt gid in

Lser- agent '*' biểu điễn mọi It chính sách mại le định cho bất kỳ crawler nao không khớp (match) các giá tn User-agent khac trong lile Mọi số các dầu vào

bị cắm Disallow duLlgc dé ra cho moLit User-agent Bat ky URL nado bắt đầu

với giá trị tru lòng đỉsallow đuợc đạ[It sẽ không đu-lợc truy xuất bởi các

crawler ứng với các giá trị User-agent đã chỉ định Khi mot crawler muốn lay

ra mo Ct trang web tir web server, dầu tiên nó phải nạp {ile robots.txt va dam bảo

ring URL cần nạp là không bị cắm Các thông tin chỉ tiết về giao thức loại trừ

nay có thể tìm thấy ở hfp⁄/www robotstxtorp/we/norobotshtml Viẹ le lu[lu cache các chính sách truy nhạCp của mọE1 số server đu[lợu truy nhaDp gin đây là khá hiel lu quả Điều này cho phép tránh phải truy nhal Ip mol It file

Tobots.bet mỗi khi cần nạp mọ_lt RL Tuy nhiên, ta cần phải đầm bảo ring các thông tin trong cache 14 đủ cạLlp nhạ —t

Tisallow: /cgi-bin/ | ngoại rừ hai thư myc để cập ở đây

Disallow: /tmp/

Uscr-agent: BadBot | Máy tìm kiểm BadBot không dược phép thăm bất cứ

Disallow: / thư mục náo

User-agent: BadBot | Riéng may tim kiém BadBot không được phép thăm bat

Disallow: / ow th muc nao cén tit cA cdc may tim kiểm còn lại đều

Disallow: /private/ | private

3.14 Duyệt và phân tích nội dưng

Sau khi trang web dã duMge tãi về, chúng ta cần duye "]L nọ[lí dụng của

nó để lấy ra các thông tin sẽ đuLlợc nạp trở lại và giúp định huLlớng viẹLle đi

theo cae dul léng din tiếp theo ca crawler Viel Ic duyel It nol li dung có thể

doDn gidn chỉ bao hàm viẹLc trích ra các LIRL/liên kết má trang web liên kết tới hay nó có thể bao hàm các xử lý phức tap nhu_ làm sạch các nọ_ lí dung

TTTML để phân tích câu trúc cây của các thẻ Viẹ[le đuyẹ[t có thé bao gồm các

19

Trang 31

buHớ để chuẩn héa cac URL du Oye lay ra, loai bé cae tir dimg khdi ne Di dung

trang web v.v Các thành phần của boL! duyeLit duLloc m6 ta o phần sau,

BoO duyefit HTML đã đu[lợc xây dụng sẵn trong rat nhiều ngôn ngữ

Chứng cung cắp các tính naLlng dễ dễ dàng xác định các thế HTML và liên kết

gid tri cde cap thuọ[c tinh trong moLt vaOn ban HTML cho truDéc Dé liy

ra dullge cdc URI hyperlink tér moMt trang web, ta cd thé sit dung cic boll

duyeLt ở trên đề tìm các thé anchor và lấy ra các giá trị của thug Je tinh href tuLloLing ứng Tuy nhiên, chúng ta cần chuyén ede URL tuLloLing đôi sang các

địa chỉ URL tuyẹLIt đối sử dung URL coL] sở của trang web noLli chúng đuLiợc

trích ra

Các URI, khác nhau tu lo Ing ứng với cùng mọi It trang web có thể dui lợc ánh

xạ vào mọi dang chuẩn doOn nhất Điều này rất quan trọng nhằm tránh đu[lợc

Vie_c nạp củng mọLlt trang web nhiều lần Sau đây là các buLlởc đuLiợc sử

dụng trong các hàm chuẩn hỏa thông dụng:

- Chuyển giao thức và tên máy chủ sang dạng chữ (huờng Vi du

HTTTP://www UIOWA.edu đui lợc chuyển thanh http:/Avww.uiowa.edu

- |.aai bé phan anchor hoal lc reference cia URI 10 do:

http://spiders.uiowa.edu/fag.htm# duLigc thu gon thanh

http://spiders uiowa.edw/fag htm

- Thuc hie[Tn viẹ[le mã hóa URI, bằng các kỷ tự thông dụng nhu[ '~' Điều

http:⁄dollar.biz.uiowa cdu/47EpanU/

- Đổi với mọ[It số URI, thêm vào dấu ‘” http://dollar biz.uiowa.cdu va

http //dollar biz uiowa edu/ phai củng ánh xa vào cùng mọi ]t dang chudn Viele thêm vào dấu *? hay không trong nhiều truLJòng hợp đôi hỏi kinh nghìo -Im

- Str dung các kinh nghiel Im dễ nhại In ra các trang web mạ lo dịnh Các tên file nhuÏ[] mdex.html hay index.htm có thể bị loại khối URI, bởi chúng vẫn du[lợc

cơi là các file mạ[1c định Nếu điểu này là ding, chúng có thể du[lợc lấy ra

bing cach chi sur dung URL col sé

- Loai bé ky tu *.’ va thul | muc cha khdi dal long din URI 10 dé, dia chi

URL /%7ecpanBizintel/Sceds/ /ODPSeeds.dat duOge doCn gian hóa thành

20

Trang 32

- Để lại các số higLlu cống trong các LIRL ngoại trừ đó là cổng 80 Mọ[IL cách

khác lả để lại các số hieLlu cỗng trong URL và thêm cổng 80 néu sé hieLlu công

không du ợc chỉ định

3.24.2 Loại bồ

Khi duycLIL mọFL trang web dễ trích ra các thông tin nọ[Hi đụng hoạEc

để tính điểm các URL mả trang đó trỏ tới, thông thu[lờng ta nên loại bô các từ

đuÏ lợc dùng thu[lởng xuyén hay tit dime (stopwords) nul ‘it’ hay ‘can’ trong

Tiếng Anh Tiến trình xử lý vie[le loại bỏ các từ đừng khỏi va[In bản đuLlợc gọi là stoplisting Ngoài vieLlc xử lý các từ dừng, ta cũng cần lẫy ra từ gốc của các từ có trong va[In bản Quá trình stemrming chuẩn hóa các từ bằng cách đúc kết các hình thải của các từ thành mọ[It từ ở dang géc hay stem Ví dụ: từ

connocl, connected hay connoction đều đu[lợc đu[la về dạng conneotL

từ dừng và chuyển các dạng thức của từ sang dạng gốc

3.2443 Xây dựng các thẻ HTML

Các chuLoEng trình crawler có thể đánh giá giá trị của mọt URL

hoạ[lc mọ[Tt tử trong nọLli dung trang web bằng cách xem xét ngữ cảnh của các

thế HTML mà nó thuọ[1c vào Để làm đuCợc điều này, mọ[TL crawlcr cần sử

đụng cây các thể hoạL]c cầu trúc DƠM của trang IITML Ilinh 2-2 chỉ ra câu

tm) > duQgc liy làm gốc của cây các thẻ khác và text tạo thành các nút của cây Dáng

trúc cây của các thể tu[ o[ nạ ứng với va[In bản HTMI, nguồn Thử

tiếc là, rất nhiều trang web có cấu trúc HTMI không chuẩn Vỉ dụ, mọi It thẻ bắt

đầu có thể không có thẻ đóng, hoaLlc các thê không đuLlợc lồng nhau mọLlt

cách hợp lý Irong nhiều truLlờng hợp, thể <html> hoạLlc <body> đều bị thiếu

trong trang IITML Do đó các tiêu chuẩn dựa trên cầu trae (structure-based

criteria) thu lòng cần cé moLit bulléc tiền xử ly đề chuẩn hóa mọ[it va[In bản

HTML có cấu trúc không chuẩn, quả trình xử lý này gọi lá lim sach (lidying)

các trang HTML Nó bao gồm câ viẹL c chèn thêm các thế bị thiêu và sắp xếp

lại thử tự các thể trong trang Vie[1e làm sạch mọi t trang HTML là cần thiết để

ảnh xạ nọ[li dung của trang vào trong mọ[It cấu trúc cây để đảm bảo tính toàn

vẹn, mỗi nút có rnọl It cha duy nhất, từ đó phân tích nên câu trúc cây của các thể

Chú ý rằng vieLIc phân tích cdu trac DOM chi can thiết nếu crawler theo chủ

điểm có ý định sử dụng câu trúc của trang HTMIL cho những phần tích phúc tạp,

Còn nếu œrawler chỉ cần các liên kết trong mọE t trang, các từ khóa vả vị trí xuất

hiẹ—n của chúng trong trang web thì chi cân sử dụng các bọLI đuyẹLIt HTML

thông thu[ờng Các bạ[T đuycLt nảy rất sẵn trong nhiều ngôn ngữ lạLTp trình.

Trang 33

<li> <a href="blink.html'>LAMP</a> Linkage analysis with multiple processors </li>

‘<li> <a href="nice.html">NICE</a> The network infrastructure for combinatorial exploration </li>

<li> <a href="amass.himl">AMASS</a> A DNA sequence assembly algorithm </li>

<li> <a href="dali.htmI">DALI</a> A distributed, adaptive, first-order logic theorem praver.</li>

<ul>

</body>

<hmk-

Hình 2-2 Trang HTML và cấu trúc cây của hệ thống tương ứng

Thần đầu của chương nảy giới thiệu cẩu trúc cơ bản của một Wcb

Crawler Tiếp theo, tôi sẽ giới thiệu hai 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à một hệ thống đã dược triển khai trên thực tế

2.2 TIệ thống thu thập dữ Hiệu Mercator

Vào năm 1999 hai tác giả Allan Ileydon và Mare Najork đã đề xuất một

kiến trúc cho hệ thông thu thập dữ liệu Web có khả năng mớ rộng trong bai báo

co tén "Mercator - A Scalable, Extensible Web Crawler" Trong bai bao nay, hai

tác giả đưa ra một số thành phần yêu cầu cẩn có đối với hệ thống thu thập đữ

liệu Web có khá năng mở rộng, dó là

- Thành phần được gọi lã LJ Frontier cho vide lau tri danh sách các LJRI cần

đownload

- Thành phần cho việc giải quyết tên miền và địa chỉ IP

- 'Thành phần cho việc download trang sử dụng giao thức HIP

- 'Thành phần cho việc trích rút liên kết từ tài liệu HTML

- Thanh phần cho việc kiém tra URI nảo đó đã dược viếng thăm hay chưa

2

Trang 34

người dùng, và được load động khi hệ thống bắt đầu tiến trình duyệt dữ liêu

Cấu hình mặc định bao gồm các giao thức: HTTP, ETP, Gopher Dựa vào câu trúc URL, hệ thống sẽ lựa chọn giao thức thích hợp cho việc download Sau đó

nó sử dụng chức năng fetch trong "Protocol Modules" để download trang từ

Internet (2) và ghi dữ liệu download được vào trong R1S

(3) sử dụng "Content Seen" để kiểm tra nôi dung trang (gắn với URL khác) đã

được viếng thăm trước đó hay chưa (4)

Nếu đã được viếng thăm, hệ thống sẽ không xử lý thêm nữa, đồng thời xoá URL

khoi Frontier Dua vao MIME type trong trang download duoc, cac module

thích hợp sẽ được chọn để xử lý tiếp theo (5)

Vi du, "Link Extractor" va "Tag Counter" str dung cho MIME text/html, va GIF

Stats xử lý các trang có MIME 1a image/gif Voi MIME 1a text/html hé théng sé trích rút tất cả các liên kết bên trong nó, mỗi liên kết được chuyển đổi thành

URL đầy da, qua "URL Filter" để kiểm tra (6)

Cac URL sau khi qua "URL Filter" sé duoc "URL Seen" (7) kiém tra xem URL

da duge viéng thăm hay chưa, hoặc URL có nam trong Frontier hay khong Néu

không sé bd xung URL mdi vio Frontier (8)

Thông tin trên cũng là cơ sở lý thuyết cho việc xây dựng hệ thống khảo duyệt 'web của tôi được trình bảy trong luận văn này

23

Trang 35

2.3 TIệ thống thu thập đữ liệu ta Twitter - TwitterEcho

Các dịch vụ truyền thông đa phương tiện xã hội (social media) đã nỗi lên

trong vài thập kỹ gần đây, thay đỗi cách mà chúng ta thông tỉn với nhau l3o đó,

chúng trở thành đối tương nghiên cứu trong một vài lĩnh vực bao gồm thu thập

thông tin, phân tích mạng xã hội Việc thu thập đỡ liêu cho địch vụ nảy thường

là vẫn dề phức tạp vì các địch vụ thường không kết nếi trực tiếp tới nơi mà dữ

liệu dó dược sinh ra, thậm chí cho mục dích nghiễn cứu Do dó, những nhà

nghiên cứu cân xây dựng hệ thống cho việc thu thập dữ liệu đó hoặc là sử dụng

các API được cung cấp bởi mạng xã hội, hoặc là thu thập dữ liệu thông qua Web

Crawler

Đặc biệt mạng xã hội 1witer chứa dựng nguồn thông tin cho việc nghiên cửu, từ việc phân tích tương tác của người sử dụng, phân tích việc sử dựng hashlag, và tich dẫn ƯRI., phân tích nội dung cụ thể nào đó (ví dụ: phần tích sự lan truyền của dịch cúm, điều tra số lượng người nước ngoài nới tiếng Bồ

Bao Nha)

'Yêu cầu kỹ thuật trong TwitterEcho:

- Tôn trong gidi han (Adhering to limitations)

- Van hanh lién tuc (Continuous Operation)

- Khá năng mở rông thời gian thực (Run-time expandahility)

- Đẩy đủ đữ liệu (Data completeness)

- Tha thir 18i (Fault tolerance)

- Module hoa (Modularity)

Hình 2-4 dưới đây mô tả kiển trúc phân tán tập trung của TwitterEcho

của ba Lác giá Masko Bosnjak, Eduardo Oliveira, Jose Martins

24

Trang 36

Deleted / Suspended

Hình 2-4 Kiến trúc của TwitterEcho

~ "Client": bằng việc sử dụng nhiều Client, chúng ta có thể tạo được hệ thông

mở rộng đề tăng lượng request toi Twitter API

~ "§erver": nhiệm vụ chính của Server là: (1) điều phối quá trình thu thập dữ liệu

thông qua việc cấp phát dánh sách các người dùng tới Client, và (2) lưu trữ dữ

liệu đã được download

2.4 Tìm hiểu về công cụ HTTrack

HTTrack là một công cu miễn phí cho phép bạn download World Wide

'Web từ Internet tới thư mục nằm trên máy tính của bạn HTTrack sắp xếp cấu

trúc liên kết của site gốc Dưới đây là một vài hình ảnh mô tả giao diện của

HTTrack.

Trang 37

Aion Dowriaed web ote()

Wob Addrazees: (URL) eee

scmeweb com“eoa¥

I

ee Proterences end minor optons SOR

Hình 2-Š Kéo thả một vài địa chỉ web

Hình 2-6 mô tả giao diện cấu hình HTTrack

Browser ID | Log Index Cache | Expert

Links | Limits Flew Contal | Fiters | Bua | Spiae Proxy

Ni of multiple connections ie 3

TimeOut (s) p j5

T Remove hostllimeout Petiss

T Remove hostiflow

Hinh 2-6 Cau hinh HTTrack

Hình 2-7 mô tả sử dụng bộ filter để lọc các liên kết mà HTTrack cần viếng

thăm

26

Trang 38

Browser ID | Log Index Cache | Expert

Links | Limits | Flaw Control Fitts | Build | Spider Proxy

‘You can exlude or accept several URLs ar links, by using wild cards

‘You can use both comma () or space behveen fillers

Example: +*2ip, wer com wwe edu/eqibin/* cgi

Exclude link(s) gt "ipg

awww someweb com/review*l */A*

* preview

Tip you wanttn accept al gif files on web(s) use something like

win samewab com/* git

(o* gtwill accept/torbid ALL gif on ALL sites)

Hình 2-7 Lọc liên kết

Hình 2-8 mô tả giao diện thiết lập lịch để hệ thống tự động kết nối tới các nhà

cung cap dé download

‘Log Window Help

‘You can stat the mir now by pressing the START button,

‘r datine connecton parametors

Ngày đăng: 21/05/2025, 20:52

HÌNH ẢNH LIÊN QUAN

Hình  1-1  Các  giai  đoạn  của  quá  trình  ra  quyết  định - Luận văn 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
nh 1-1 Các giai đoạn của quá trình ra quyết định (Trang 15)
Hình  1-3  Các  thành  phần  của  hệ  hỗ  trợ  quyết  định - Luận văn 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
nh 1-3 Các thành phần của hệ hỗ trợ quyết định (Trang 17)
Hình  2-3  Các  thành  phan  chinh  cia  Mercator - Luận văn 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
nh 2-3 Các thành phan chinh cia Mercator (Trang 34)
Hình  2-4  Kiến  trúc  của  TwitterEcho - Luận văn 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
nh 2-4 Kiến trúc của TwitterEcho (Trang 36)
Hình  2-Š  Kéo  thả  một  vài  địa  chỉ  web - Luận văn 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
nh 2-Š Kéo thả một vài địa chỉ web (Trang 37)
Hình  2-7  Lọc  liên  kết - Luận văn 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
nh 2-7 Lọc liên kết (Trang 38)
Hình  3-1  Mô  hình  hệ  thống  thu  thập  dữ  liệu  công  ty  Saldux - Luận văn 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
nh 3-1 Mô hình hệ thống thu thập dữ liệu công ty Saldux (Trang 42)
Hình  3-2  Kiến  trúc  phân  tán  hệ  thống  khảo  duyệt  web - Luận văn 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
nh 3-2 Kiến trúc phân tán hệ thống khảo duyệt web (Trang 43)
Hình  3-3  Các  thành  phần  bên  trong  của  Web  Crawler - Luận văn 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
nh 3-3 Các thành phần bên trong của Web Crawler (Trang 44)
Hình  3-5  Cập  nhật  thông  tin  cho  Web  Crawler  task - Luận văn 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
nh 3-5 Cập nhật thông tin cho Web Crawler task (Trang 45)
Hình  3-7  Xem  dữ  liệu  download - Luận văn 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
nh 3-7 Xem dữ liệu download (Trang 46)
Hình  3-8  Kiến  trúc  phân  tán  cia  Twitter  Crawler - Luận văn 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
nh 3-8 Kiến trúc phân tán cia Twitter Crawler (Trang 47)
Hình  3-9  Danh  sách  các  địa  điểm  được  hỗ  trợ  bởi  Twitter - Luận văn 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
nh 3-9 Danh sách các địa điểm được hỗ trợ bởi Twitter (Trang 51)
Hình  3-17  Các  thành  phần  của  shard  cluster  Các  thành  phần  của  cluster: - Luận văn 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
nh 3-17 Các thành phần của shard cluster Các thành phần của cluster: (Trang 60)
Hình  4-3  Màn  hình  kết  quả  lây  danh  sách  follower - Luận văn 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
nh 4-3 Màn hình kết quả lây danh sách follower (Trang 68)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w