Kỹ thuật thu thập dữ liệu tự động WebCrawler

25 447 0
Kỹ thuật thu thập dữ liệu  tự động WebCrawler

Đ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

Ngày nay nhờ sự bùng nổ của công nghệ thông tin, lịch sử nhân loại đã bước sang một trang mới. Những thành tựu của ngành công nghệ thông tin là vô cùng to lớn, nó đã chi phối và làm thay đổi mọi mặt của đời sống xã hội, làm cho cuộc sống của con người văn minh, hiện đại hơn. Sự ra đời của internet chính là bước tiến vĩ đại của nhân loại, là yếu tố quan trọng bậc nhất chi phối cuộc sống của chúng ta ngày nay. Nhờ có internet thế giới trở nên “phẳng” hơn, ở mọi nơi trên trái đất chúng ta đều có thể học tập và tìm kiếm thông tin. Theo guồng quay của cuộc sống, thế giới internet ngày càng rộng lớn và phong phú hơn. Cứ mỗi phút trôi qua có thêm hàng triệu trang web được sinh ra để làm giàu cho vốn tài nguyên tri thức của nhân loại. Nhưng cũng chính vì thế mà việc chọn lọc, tìm kiếm thông tin lại trở nên khó khăn hơn. Với kho dữ liệu đồ sộ như internet, vấn đề trích xuất và tổng hợp thông tin đã trở thành vấn đề thực sự cấp thiết hiện nay. Nếu giải quyết được vấn đề này chúng ta sẽ loại bỏ được một chướng ngại lớn trên con đường tổng hợp thông tin của nhân loại. Đề tài đặt ra vấn đề tìm hiểu về trình thu thập dữ liệu trên web và bước đầu sẽ xây dựng một ứng dụng có khả năng tổng hợp dữ liệu từ các trang báo điện tử lớn. Đề tài nếu thành công sẽ là bước đi không nhỏ giúp cho việc tổng hợp thông tin trở nên đơn giản hơn, giảm được nhiều chi phí công sức so với việc tổng hợp thủ công, và là tiền đề để xây dựng nên một hệ thống máy tìm kiếm, giống như google, cho người Việt Nam.

MỞ ĐẦU Ngày nhờ bùng nổ công nghệ thông tin, lịch sử nhân loại bước sang trang Những thành tựu ngành công nghệ thông tin vô to lớn, chi phối làm thay đổi mặt đời sống xã hội, làm cho sống người văn minh, đại Sự đời internet bước tiến vĩ loại, yếu tố quan trọng bậc chi phối sống ngày Nhờ có internet giới trở nên “phẳng” hơn, nơi trái đất học tập tìm kiếm thông tin Theo guồng quay sống, giới internet ngày rộng lớn phong phú Cứ phút trôi qua có thêm hàng triệu trang web sinh để làm giàu cho vốn tài nguyên tri thức nhân loại Nhưng mà việc chọn lọc, tìm kiếm thông tin lại trở nên khó khăn Với kho liệu đồ sộ internet, vấn đề trích xuất tổng hợp thông tin trở thành vấn đề thực cấp thiết Nếu giải vấn đề loại bỏ chướng ngại lớn đường tổng hợp thông tin nhân loại Đề tài đặt vấn đề tìm hiểu trình thu thập liệu web bước đầu xây dựng ứng dụng có khả tổng hợp liệu từ trang báo điện tử lớn Đề tài thành công bước không nhỏ giúp cho việc tổng hợp thông tin trở nên đơn giản hơn, giảm nhiều chi phí công sức so với việc tổng hợp thủ công, tiền đề để xây dựng nên hệ thống máy tìm kiếm, giống google, cho người Việt Nam Nội dung đề tài tập trung vào mục tiêu sau: - Đưa nhìn tổng quát trình thu thập liệu web (web crawler) - Xây dựng ứng dụng website tổng hợp thông tin có khả thu thập tin từ trang báo lớn Dân trí Để giải mục tiêu này, khóa luận chia thành hai chương lớn: Chương 1: Tìm hiểu trình thu thập web Trong chương này, tìm hiểu khái niệm trình thu thập liệu web Phần lớn nội dung chương sâu vào việc tìm hiểu thành phần cấu thành nên trình thu thập, chiến lược thu thập liệu, việc đánh giá trình thu thập liệu trang web Qua có tranh chung trình thu thập web, hiểu giá trị thực tiễn mà mang lại đời sống người Chương 2: Xây dựng ứng dụng website tổng hợp thông tin Phần đầu chương trình bày kiến thức tảng, phần đánh giá phân tích giải pháp nhằm nâng cao hiệu suất trình thu thập, phần cuối chương việc thực hóa ứng dụng thông qua việc xây dựng chương trình thu thập liệu website Chương TÌM HIỂU VỀ TRÌNH THU THẬP WEB 1.2 Giới thiệu trình thu thập web Trình thu thập web (Web crawler) chương trình khai thác cấu trúc đồ thị web di chuyển từ trang qua trang khác Thời kỳ đầu có tên tượng bọ web, roboot, nhện sâu, ngày tên gọi phổ biến trình thu thập web Mặc dù cụm từ 'thu thập' không lột tả hết tốc độ chương trình này, chúng có tốc độ làm việc đáng kinh ngạc, thu thập liệu lên đến hàng chục ngàn trang vòng vài phút Từ thời kỳ đầu, động lực quan trọng thúc đẩy trình phát triển việc thiết kế trình thu thập web lấy nội dung trang web thêm chúng đường dẫn chúng vào kho lưu trữ trang - kiểu kho lưu trữ dùng để phục vụ cho ứng dụng cụ thể công cụ tìm kiếm web (search engine) Các trình thu thập thường bắt đầu cách chọn số đường dẫn (URL) ứng với trang web ghé thăm đầu tiên, trang gọi trang hạt giống Khi ghé thăm trang hạt giống, trình thu thập đọc nội dung trang web, lọc tất siêu liên kết (hyperlink) có trang web đưa URL tương ứng với chúng vào danh sách gọi biên giới (frontier) Dựa vào danh sách này, trình thu thập tiếp tục trình duyệt đệ quy để ghé thăm tất URL chưa duyệt Quá trình dừng lại trình thu thập thu thập đủ số trang yêu cầu frontier rỗng, tức không URL để duyệt Tuy mô tả đơn giản đằng sau chúng nhiều vấn đề hóc búa liên quan đến kết nối mạng, bẫy nhện, tiêu chuẩn trích xuất URL, chuẩn hóa trang HTML, bóc tách nội dung trang HTML, Ở phần sau khóa luận trình bày đến vấn đề hướng giải chúng Sau có danh sách URL dùng cho việc thu thập, ta thực trình lấy trang Tất trang lấy lần lưu vào kho lưu trữ giống sở liệu công cụ tìm kiếm, đến không cần thu thập thêm Tuy nhiên web thực thể động với không gian liên tục phát triển thay đổi nhanh cách chóng mặt, thông tin phải liên tục thu thập để giúp ứng dụng cập nhật, ví dụ bổ sung trang loại bỏ trang bị xóa, di chuyển cập nhật trang bị sửa đổi Các trang web chủ yếu viết ngôn ngữ đánh dấu HTML, XHTML nhắm đến đối tượng sử dụng người máy tính Các trang web lại chứa đựng nhiều thông tin có ích mà người muốn thu thập lưu trữ lại, mà cần phải có kỹ thuật bóc tách trích xuất thông tin theo chế tự động Các kỹ thuật bóc tách liệu (parsing) mức đơn giản việc bóc tách siêu liên kết, mức phức tạp chút bóc tách phần nội dung trang web Về chất, trình thu thập web trình duyệt đệ quy đồ thị Các web xem đồ thị với trang đỉnh (node) siêu liên kết cạnh Quá trình lấy trang trích xuất liên kết bên tương tự việc mở rộng tìm kiếm đỉnh đồ thị Việc tìm kiếm khác trình thu thập sử dụng chiến lược tìm kiếm khác Phần sau khóa luận trình bày sâu chiến lược tìm kiếm đưa số liệu thống kê để so sánh hiệu suất chiến lược tìm kiếm từ rút đánh giá hiệu suất trình thu thập Trình thu thập web thành phần toàn hệ thống search engine Mục đích chung hệ thống search engine số lượng trang web đầu vào đạt giá trị cao có thể, trình thu thập web làm công việc trì sở liệu đánh mục, trả giá trị thu thập lập mục cho hàng triệu truy vấn nhận từ người dùng Các trang đánh mục dựa thuật toán ưu tiên dựa vào phương pháp dựa kinh nghiệm (heuristic) Ngoài ra, sử dụng trình thu thập web để xây dựng phần mềm tập trung thông tin, trang web tổng hợp thông tin, dựa chế tự động tìm phát tài nguyên 1.2 Cách xây dựng hạ tầng thu thập Hình 1.2.1.1 Một vòng thu thập web Trình thu thập chứa danh sách URL chưa thăm gọi biên giới (frontier) Danh sách khởi tạo số URL hạt giống - URL cung cấp người dùng chương trình khác Mỗi vòng lặp trình gồm bước : - Lấy URL từ frontier để thu thập - Lấy trang tương ứng với URL thông qua HTTP - Bóc tách trang vừa lấy để trích xuất URL nội dung thông tin cụ thể - Cuối thêm URL chưa thăm vào frontier Trước URL thêm vào frontier chúng đánh mục dựa số lượng truy cập vào trang web ứng với URL Quá trình thu thập chấm dứt trình thu thập đạt đủ số lượng trang định frontier rỗng, gọi trạng thái kết thúc (deadend) trình thu thập 1.2.1 Frontier Frontier danh sách chứa URL trang chưa thăm Trong thuật ngữ tìm kiếm đồ thị, frontier danh sách mở đỉnh chưa mở rộng Đối với trình thu thập lớn frontier chứa hàng chục ngàn đến hàng trăm ngàn trang phải lưu trữ ổ cứng Tuy frontier có miền giới hạn định, miền giới hạn lớn hay nhỏ phụ thuộc vào nhớ máy tính Khi số lượng URL thu thập vượt giới hạn cần chế để loại bỏ URL ứng với trang quan trọng giữ lại URL ứng với trang quan trọng Lưu ý tốc độ thêm URL vào frontier nhanh gần tốc độ thu thập thông tin Nó thêm tới 60000 URL trình thu thập thu thập liệu 10000 trang, giả định trung bình trang có khoảng liên kết Frontier coi hàng đợi làm việc theo chế FIFO (viết tắt First In First Out) nghĩa vào trước trước trường hợp sử dụng thuật toán tìm kiếm theo chiều rộng để thu thập thông tin Trình thu thập sử dụng chiến thuật tìm kiếm gọi trình thu thập theo chiều rộng Các URL lấy thu thập chọn từ xuống danh sách URL thêm vào đuôi danh sách Do miền giới hạn frontier, ta phải đảm bảo URL lấy lần Để tìm kiếm xem URL trích xuất có danh sách chưa phức tạp số lượng trang lớn lần tìm kiếm lần chạy vòng for điều bất cập Vì có giải pháp sử dụng phần nhớ để trì hàm băm với URL khóa Hàm băm sinh giá trị băm tương ứng với URL Sở dĩ sử dụng hàm băm tìm kiếm nhanh việc so sánh giá trị băm nhanh nhiều việc so sánh giá trị với khối liệu lớn Hiện nhớ máy tính lớn nên vấn đề nhớ không quan trọng so với vấn đề tốc độ Do vậy, cách sử dụng hàm băm sử dụng rộng rãi tốn nhớ tốc độ tìm kiếm lại cải thiện đáng kể Khi frontier đạt đến miền giới hạn, trình thu thập theo chiều rộng làm việc theo chế sau : sau đưa URL khỏi frontier để tiến hành trình thu thập trang tương ứng thay việc lấy tất URL trang trình thu thập lấy URL chưa thăm thêm vào frontier Frontier coi hàng đợi ưu tiên trường hợp sử dụng thuật toán tìm kiếm theo lựa chọn tốt Trình thu thập sử dụng chiến thuật tìm kiếm gọi trình thu thập ưu tiên Hàng đợi ưu tiên mảng với phần tử URL xếp theo điểm đánh giá Điểm đánh giá xác định dựa số phương pháp dựa kinh nghiệm (heuristic) Trình thu thập ưu tiên làm việc theo chế sau: URL lấy khỏi frontier để tiến hành thu thập URL tốt Sau thu thập trang tương ứng, URL trích xuất đưa vào frontier danh sách URL xếp lại theo điểm đánh giá Để tránh việc trùng lặp URL trì hàm băm với khóa URL để tra cứu Khi frontier đạt đến miền giới hạn, chế làm việc trình thu thập tối ưu giống với trình thu thập theo chiều rộng khác URL lấy URL tốt (tức URL có điểm đánh giá cao nhất) Trong trường hợp trình thu thập nhận thấy frontier danh sách rỗng (không thể lấy URL để thu thập) trình thu thập kết thúc Tuy trường hợp xảy với số URL hạt giống miền giới hạn lớn frontier đạt trạng thái rỗng Nhiều trình thu thập bắt gặp bẫy nhện (spider trap, ) dẫn đến lượng lớn URL khác trỏ đến trang web Một cách để giảm bớt vấn đề hạn chế số lượng trang mà trình thu thập truy cập từ tên miền định Các mã liên kết với frontier đảm bảo chuỗi liên tiếp URL (khoảng 100 URL) frontier chứa URL từ tên miền máy chủ (ví dụ www.cnn.com) Như trình thu thập tốt không truy cập vào trang thường xuyên trang thu thập có xu hướng đa dạng 1.2.2 Lược sử kho lưu trữ trang Lược sử thu thập liệu danh sách đánh dấu theo thời gian URL lấy trình thu thập Một URL đưa vào lược sử sau trả URL bên Lược sử sử dụng để phân tích đánh giá thông tin Lược sử lưu trữ nhằm cung cấp cho tra cứu nhanh để kiểm tra xem trang thăm hay chưa Kiểm tra quan trọng nhằm tránh trang bị thăm lại tránh thêm việc thu thập lại trang Do kích thước frontier có hạn nhớ máy tính vô lớn nên việc trì lược sử cần thiết nhằm nâng cao hiệu hoạt động trình thu thập Một điều cần ý phải chuẩn hóa URL trước đưa vào lược sử Khi trang lấy phải lưu trữ lập mục nhằm mục đích phục vụ cho ứng dụng sau (chẳng hạn công cụ tìm kiếm) Đây công việc mà kho lưu trữ trang phải làm Một kho lưu trữ trang dạng đơn giản chứa trang thu thập theo file riêng biệt Trong trường hợp đó, trang phải đặt tệp tin Một cách để làm điều đặt trang URL tương ứng với chuỗi sau sử dụng vài dạng hàm băm với xác suất xung đột thấp để mã hóa Giá trị kết hàm băm sử dụng làm tên tập tin Ví dụ ta sử dụng hàm băm MD5 cung cấp mã băm 128 bit cho URL Giá trị băm 128 bit sau chuyển đổi sang hệ thập lục phân (hecxa) 32 ký tự để lấy tên file Ví dụ nội dung http://coltech.vnu.edu.vn lưu trữ tập tin tên 160766577426e1d01fcb7735091ec584 Bằng cách có độ dài tên tập tin cố định cho dù có bao nhiều URL Tất nhiên cần lưu trữ vài nghìn trang ta sử dụng hàm băm đơn giản Trong số trường hợp kho lưu trữ trang dùng để kiểm tra xem URL thu thập hay chưa trước chuyển đổi sang tên tập tin 32 ký tự Trong trường hợp bỏ cấu trúc liệu lược sử 1.2.3 Cách lấy trang Để lấy trang web, cần máy khách HTTP (HTTP client) gửi yêu cầu HTTP (HTTP request) cho trang đọc phản hồi Client cần có thời gian trễ để đảm bảo không bị thời gian không cần thiết vào máy chủ chậm đọc trang lớn Trong thực tế thường hạn chế vấn đề cách cho client tải khoảng 10-20 KB trang Client cần bóc tách tiêu đề phản hồi cho mã trạng thái chuyển hướng Kiểm tra lỗi xử lý luồng quan trọng trình lấy trang phải đối phó với hàng triệu máy chủ Trong trình lấy trang, trình thu thập tự định tài liệu lập mục tài liệu không, lấy tất Thậm chí dù xác định tài liệu vô ích bỏ chi phí đáng kể cho hoạt động thu thập Tiêu chuẩn loại trừ robot (Robot Exclusion Protocol, ) đời 1.2.3.1 Tiêu chuẩn loại trừ robot Tiêu chuẩn cung cấp cho người quản trị Web (Webmaster) chế xác định tập tin mà không cần truy cập trình thu thập Để làm điều này, trình thu thập (robot) trì tập tin có tên robot.txt thư mục gốc máy chủ web (ví dụ http://coltech.vnu.edu.vn/robot.txt) Tệp tin chứa hoàn toàn nội dung văn text (không phải HTML) Robot.txt cho phép Webmaster định thành phần với quyền hạn riêng biệt cho robot Nói cách khác thông qua tệp tin này, Webmaster giao tiếp với robot để điều khiển tác vụ robot Nó gồm trường trường User-agent trường Disallow: - Trường User-agent: cho biết robot bị kiểm soát - Trường Disallow: cho biết robot có phép kết nối vào URL hay không Sau ví dụ minh họa việc sử dụng file robot.txt : Cú pháp User-agent:* Disallow: User-agent:* Disallow: /cgi-bin/ Disallow: /tmp Disallow: /private User-agent: SpamBot Disallow: / Ghi cho Webmaster Dấu (*) có nghĩa áp dụng cho robot Nhưng tài nguyên bị cấm nên tất thư mục cho phép Tất robot có quyền truy cập tất thư mục trừ ba thư mục trích dẫn phía sau Trường hợp robot SpamBot bị cấm truy cập tất thư mục Dấu gạch chéo "/" có nghĩa tất thư mục User-Agent ký tự đơn robot không phần biệt chữ hoa chữ thường User-agent: SpamBot Disallow:/ User-agent:* Disallow: /private SpamBot bị cấm truy cập tất tài nguyên Trong robot khác được truy cập tất trừ thư mục "private" User-agent: SpamBot Disallow: /tmp/ Disallow: /private/ Disallow: /tailieu/canhan.html User-agent: * Disallow: /tmp/ Không cho phép SpamBot dò thư mục liệt kê phía sau : thư mục “tmp”, “private” tệp tin “canhan.html” thư mục “tailieu” Các robot tìm kiếm khác dò thứ trừ hai thư mục “tmp” “private” Disallow: /private/ - Nhược điểm file robot.txt: Người ta cho việc liệt kê trang thư mục file robot.txt nguyên nhân thu hút ý trở thành mục tiêu cho hacker Thực chuẩn loại trừ robot dấu hiệu cảnh báo, biện pháp cấm robot việc tuân theo hay không hoàn toàn vấn đề tự nguyện Tuy nhiên có cách khắc phục: Tạo thư mục chứa tất file quan trọng - Trường Disallow liệt kê tên thư mục vừa tạo - Cấu hình server cho trang không chứa đường dẫn đến thư mục Đáng buồn thực tế cách không đạt kết mong đợi nguyên nhân sau : - Các server có robot không bị cấm dẫn đường robot bị cấm khác đến file - Các file quan trọng nằm log file (file tự truy xuất) - Khi cấu hình lại server, admin 'quên' thư mục phải cấm robot! 1.2.4 Bóc tách trang Khi trang lấy, cần phân tích nội dung để trích xuất thông tin, lấy URL để mở hướng trình thu thập Phân tích nội dung trình khai thác hyperlink/URL đơn giản bao gồm trình phức tạp lọc nội dung HTML để phân tích thành mô hình thẻ HTML dạng (HTML tag tree) Phân tích nội dung bao gồm bước chuyển đổi URL trích xuất thành dạng tiêu chuẩn, loại bỏ từ phần đầu nội dung trang lấy từ lại phần thân 1.2.4.1 Tiêu chuẩn trích xuất URL Hàm bóc tách HTML có sẵn cho nhiều ngôn ngữ khác Chúng cung cấp chức để dễ dàng xác định tag HTML cặp giá trị thuộc tính liên quan tài liệu HTML Để trích xuất siêu liên kết URL từ Trang Web, sử dụng hàm bóc tách để tìm thẻ anchor (thẻ ) lấy giá trị thuộc tính href liên quan Trước tiên phải chuyển đổi tất đường dẫn URL sang đường dẫn URL tuyệt đối có nhiều đường dẫn URL viết không quy chuẩn dẫn tới trang Điều quan trọng để tránh lấy trang nhiều lần Đây số bước điển hình sử dụng thủ tục chuẩn hóa URL: - Chuyển đổi giao thức tên máy chủ thành dạng chữ thường Ví dụ, HTTP://www.COLTECH.vnu.edu.vn http://www.coltech.vnu.edu.vn chuyển đổi thành - Loại bỏ phần 'tham khảo' URL Ví dụ, http://myspiders.biz.uiowa.edu/faq.html#what chuyển đổi thành http://myspiders.biz.uiowa.edu/faq.html - Thực mã hóa URL cho vài ký tự thường sử dụng '~' Điều tránh việc thu thập lại trang Ví dụ, http://dollar.biz.uiowa.edu/~pant/ http://dollar.biz.uiowa.edu/ %7Epant/ URL dẫn đến trang - Đối với vài URL, thêm ký tự '/' Ví dụ, http://dollar.biz.uiowa.edu http://dollar.biz.uiowa.edu/ nối tới dạng chuẩn Quyết định thêm '/' cần heuristic nhiều trường hợp - Sử dụng heuristic để nhận trang web mặc định Những tên file index.html index.htm loại bỏ đường dẫn URL với thừa nhận trang mặc định - Loại bỏ ' ' đường dẫn trước phần URL Ví dụ, đường dẫn /%7Epant/BizIntel/Seeds/ /ODPSeeds.dat chuyển /%7Epant/BizIntel/ODPSeeds.dat Điều quan trọng đảm bảo tính quán áp dụng luật chuẩn hóa Có thể hai luật khác lại cho kết tốt miễn ta áp dụng luật chuẩn hóa URL cách quán Trước có vấn đề hóc búa đặt cho trình thu thập bẫy nhện Kỹ thuật phổ biến bẫy nhện tạo cấu trúc đường dẫn sau vô hạn Ví dụ, http://foo.com/bar/foo/bar/foo/bar/foo/bar Các URL giả tạo bẫy nhện tăng lên cực nhanh Có cách để ngăn chặn giới hạn kích thước URL cỡ 128 256 ký tự 1.2.4.2 Mô hình thẻ HTML dạng Các trình thu thập lấy giá trị URL nội dung trang web cách kiểm tra phạm vi thẻ tag HTML chứa chúng Để làm điều này, trình thu thập sử dụng mô hình thẻ HTML dạng phân tích cấu trúc DOM (Document Oject Model) mô hình Phân tích cấu trúc DOM giúp trình thu thập duyệt node lấy phần nội dung mà cần Hình cho ta thấy mô hình tương ứng với mã nguồn URL Hình 1.2.1.1 Mô hình tương ứng với mã nguồn HTML Có thể thấy thẻ gốc cây, thẻ bên node mở rộng, liệu text Trên thực tế, văn HTML viết quy chuẩn ví dụ HTML ngôn ngữ không phân biệt chữ hoa hay chữ thường (hai thẻ một) Các phần tử HTML cần có thẻ mở thẻ đóng, nhiên điều không luôn đúng, có nhiều phần tử không cần thẻ đóng, ví dụ thẻ , Ngoài lồng nhau, phần tử HTML không cần thiết phải lồng theo thứ tự (tức thẻ mở trước phải đóng sau) Ví dụ sau hợp lệ HTML: Cộng hòa xã hội chủ nghĩa Việt Nam Độc lập tự hạnh phúc Vì trước lập mô hình cho mã nguồn HTML cần trình chuyển đổi tài liệu HTML tồi thành tài liệu HTML tiêu chuẩn, trình gọi chuẩn hóa trang HTML Quá trình bao gồm việc chuyển đổi thẻ sang dạng chữ thường, chèn thêm thẻ bị xếp lại thứ tự thẻ tài liệu HTML Chuẩn hóa trang HTML cần thiết để việc lập mô hình xác Nếu trình thu thập cần lấy liên kết văn phần văn ta không cần sử dụng tới mô hình mà cần sử dụng kỹ thuật bóc tách HTML đơn giản Trình bóc tách hỗ trợ nhiều ngôn ngữ lập trinh 1.2.5 Trình thu thập đa luồng Mỗi vòng thu thập chiếm lượng lớn thời gian, trong hai CPU mạng lại nhàn rỗi: CPU nhàn rỗi (trong truy cập mạng) mạng nhàn rỗi (trong hoạt động CPU) Việc xử lý đa luồng với luồng vòng thu thập, giúp cho việc tăng tốc độ hợp lý sử dụng hiệu băng thông sẵn có Hình 1.2.1.1 Một mô hình trình thu thập đa luồng Mô hình đa luồng mô hình làm việc gồm nhiều luồng frontier với luồng vòng thu thập Chính cần chế đồng để tránh việc xung đột luồng tiến hành trình thu thập frontier Cơ chế sau: - Luồng bắt đầu cách khóa frontier để chọn URL cho trình thu thập liệu - Sau lấy URL, mở khóa frontier cho phép luồng truy cập vào frontier - Frontier lại bị khóa lại để URL thêm vào Các bước khóa cần thiết để đồng hóa việc sử dụng frontier mà frontier bị chia sẻ nhiều vòng thu thập Chú ý trình thu thập thông thường trì cấu trúc liệu lược sử phục vụ cho việc tra cứu nhanh URL thu thập Do frontier việc đồng hóa truy cập vào lược sử điều cần thiết Các mô hình trình thu thập đa luồng cần phải đối phó với frontier rỗng giống trình thu thập theo Tuy nhiên vấn đề không đơn giản Nếu luồng phát frontier rỗng, không tự động hiểu toàn trình thu thập đến trạng thái kết thúc Nó cho luồng khác lấy trang thêm URL tương lai gần Một cách để giải với tình trạng đặt luồng trạng thái chờ frontier bị khóa Khi hết thời gian chờ kiểm tra lại frontier Sẽ có kiểm tra chịu trách nhiệm theo dõi số luồng trạng thái chờ thời điểm Chỉ tất luồng trạng thái chờ trình thu thập dừng lại 1.3 Các chiến lược thu thập liệu Trong phần thảo luận số chiến lược thu thập liệu bao gồm: - Chiến lược thu thập liệu theo chiều sâu - Chiến lược thu thập liệu theo chiều rộng - Chiến lược thu thập liệu theo ngẫu nhiên - Chiến lược thu thập liệu theo lựa chọn tốt ngây thơ Như nói phần trước chất, trình thu thập web trình duyệt đệ quy đồ thị Các web xem đồ thị với trang đỉnh (node) siêu liên kết cạnh Chính chiến thuật thu thập liệu xây dựng dựa thuật toán tìm kiếm đồ thị Các thuật toán tìm kiếm đồ thị bao gồm: - Tìm kiếm theo chiều sâu (Depth-First Search): Là thuật toán tìm kiếm cách mở rộng nút đồ thị theo chiều sâu - Tìm kiếm theo chiều rộng (Breath-First Search): Là thuật toán tìm kiếm cách mở rộng nút đồ thị theo chiều rộng - Tìm kiếm theo lựa chọn tốt (Best-First Search): Là thuật toán tìm kiếm tối ưu cách mở rộng nút hứa hẹn theo quy tắc 1.3.1 Chiến lược thu thập liệu theo chiều sâu Quá trình thực hiện: Bước 1: Lấy URL danh sách (frontier) để thu thập - Nếu có qua bước - Nếu không qua bước Bước 2: Lấy trang tương ứng với URL qua HTTP - Nếu có qua bước - Nếu không quay lại bước Bước 3: Kiểm tra xem trang được thăm chưa? - Nếu chưa qua bước - Nếu quay lại bước Bước 4: Đánh dấu trang thăm Bóc tách trang tìm liên kết có trang - Nếu có, thêm liên kết vào đầu danh sách Quay lại bước - Nếu không, quay lại bước Bước 5: Kết thúc 1.3.2 Chiến lược thu thập liệu theo chiều rộng Quá trình thực hiện: Bước 1: Lấy URL danh sách để thu thập - Nếu có qua bước - Nếu không qua bước Bước 2: Lấy trang tương ứng với URL qua HTTP - Nếu có qua bước - Nếu không quay lại bước Bước 3: Kiểm tra xem trang được thăm chưa? - Nếu chưa qua bước - Nếu quay lại bước Bước 4: Đánh dấu trang thăm Bóc tách trang tìm liên kết có trang - Nếu có, thêm liên kết vào cuối danh sách Quay lại bước - Nếu không, quay lại bước Bước 5: Kết thúc 1.3.3 Chiến lược thu thập liệu theo ngẫu nhiên Quá trình thực hiện: Bước 1: Lấy URL ngẫu nhiên danh sách để thu thập - Nếu có qua bước - Nếu không qua bước Bước 2: Lấy trang tương ứng với URL qua HTTP - Nếu có qua bước - Nếu không quay lại bước Bước 3: Kiểm tra xem trang được thăm chưa? - Nếu chưa qua bước - Nếu quay lại bước Bước 4: Đánh dấu trang thăm Bóc tách trang tìm liên kết có trang - Nếu có, thêm liên kết vào cuối danh sách Quay lại bước - Nếu không, quay lại bước Bước 5: Kết thúc 1.3.4 Chiến lược thu thập liệu theo lựa chọn tốt ngây thơ Chiến lược thu thập liệu theo lựa chọn tốt ngây thơ (Naive Best-First, ) sử dụng thuật toán tìm kiếm theo lựa chọn tốt theo quy tắc tính điểm số cho URL Điểm số URL tính phương pháp độ tương đồng cosin (cosine similarity, ) trang web tương ứng truy vấn mà người dùng đưa Độ tương đồng cosin phương pháp tính giá trị tương đồng vectơ n chiều cách tìm cosin góc chúng, phương pháp độ tương đồng cosin thường dùng để so sánh truy vấn với trang văn Quá trình thu thập liệu dùng trình thu thập thực sau: Bước 1: Sắp xếp URL theo thứ tự giảm dần điểm số Lấy URL danh sách - Nếu có qua bước - Nếu không qua bước Bước 2: Lấy trang tương ứng với URL qua HTTP - Nếu có qua bước - Nếu không quay lại bước Bước 3: Kiểm tra xem trang được thăm chưa? - Nếu chưa qua bước - Nếu quay lại bước Bước 4: Đánh dấu trang thăm Bóc tách trang tìm liên kết có trang - Nếu có, thêm liên kết vào cuối danh sách Quay lại bước - Nếu không, quay lại bước Bước 5: Kết thúc Ngoài chiến lược thu thập liệu theo lựa chọn tốt ngây thơ dùng cho trình thu thập đa luồng độ ưu tiên tính theo N N hàm số lượng luồng chạy đồng thời Các bước trình thu thập liệu giống khác URL xếp theo giá trị N giảm dần Ngoài chiến lược thu thập liệu theo lựa chọn tốt ngây thơ có nhiều cách thu thập liệu khác sử dụng thuật toán theo lựa chọn tốt Chúng khác quy tắc tính điểm số cho URL Có thể kể đến số trình thu thập tìm kiếm tham ăn (Shark Search), nhện thông tin (InfoSpiders) 1.4 Đánh giá trình thu thập Theo ý nghĩa chung, trình thu thập dựa vào đánh giá để lấy trang 'tốt' Tuy nhiên, trở ngại vấn đề việc công nhận trang 'tốt' Trên thực tế người dùng đưa đánh giá thích hợp trang thu thập cho phép xác định việc thu thập liệu có thành công hay không Thứ hai là, thu thập trang web 'sống' tốn nhiều thời gian Do việc thu thập trang web có thời gian sống ngắn lãng phí thời gian cho người dùng Chúng ta lựa chọn để tránh thời gian tải cách trả cho người dùng kết tiêu đề phần mô tả tất thu thập điều lại giới hạn mức độ thu thập thông tin Biện pháp để giải vấn đề xây dựng tiêu chí đánh giá cho trình thu thập Đầu tiên phải có tiêu chí đánh giá độ quan trọng trang web Khi xác định trang web quan trọng có giá trị, trình thu thập viếng thăm thường xuyên sâu Thứ hai phải có chế phân tích tổng quát để đánh giá mức độ xác hoàn chỉnh trang thu thập với truy vấn người dùng Nhiều trang mà trình thu thập cho quan trọng có giá trị lại chưa mang thông tin mà người dùng cần tìm kiếm Nguyên điều việc trang web chuyên tiếp thị hay quảng cáo luôn tìm cách lọt vào danh sách trang tuyển chọn trình thu thập, qua họ giới thiệu sản phẩm họ đến người dùng Ngược lại, đa số trường hợp, người dùng không muốn tìm quảng cáo tiếp thị mà muốn tìm thông tin mà họ quan tâm 1.4.1 Độ quan trọng trang web Độ quan trọng trang web đánh giá theo số tiêu chí chung (,): + Từ khóa tài liệu: Một trang xem có liên quan chứa phần tất từ khóa truy vấn + Tần số phát sinh: Được hiểu tổng số lần xuất chữ hay cụm từ từ khoá nội dung trang Web Theo đánh giá chuyên gia, tần số phát sinh trang Web cao chứng tỏ nội dung trang Web liên quan hay đề cập nhiều đến nêu từ khoá Do đó, mật độ từ khóa đóng vai trò quan trọng việc đánh giá độ quan trọng trang Web + Thẻ meta câu lệnh title: Trong nhiều trình thu thập, người thiết kế cho xuất chi tiết hay toàn nội dung từ khoá sớm trang mã HTML điều chứng tỏ trang có chủ đề liên quan nhiều đến từ khoá Hậu trang Web đánh giá quan trọng phần hay toàn từ khoá có mặt sớm phần mã HTML Như vậy, số thẻ meta, trình thu thập đọc nội dung đánh giá độ quan trọng Các thẻ meta có nhiều hiệu lực cho việc đánh giá là: Với lý tương tự, câu lệnh (tựa đề trang Web) không bị bỏ trống độ quan trọng nâng cao + Sự tương đồng với trang hạt giống: Các trang tương ứng với URL hạt giống thường đơn vị đo cho độ liên quan trang thu thập Các trang hạt giống liên kết thành tài liệu Độ quan trọng trang web thu thập đánh giá độ tương đồng cosin tài liệu + Tính phổ biến liên kết: Một trình thu thập sử dụng kết xếp hạng liên kết trang alecxa, Google Page Rank để đưa đánh giá độ quan trọng trang Các trang web phân hạng xếp hạng liên kết dựa nhiều tiêu chí Ví dụ như, alecxa số lượng truy cập google nội dung, mã nguồn, tên miền vv + Số lượng liên kết ngoài: Theo đánh giá nhiều chuyên gia trang Web nhiều nơi khác đề cập tới hay mở liên kết tới địa rõ ràng giá trị trang Web cao trang Web kiểu lại hay liên kết hay đề cập từ trang khác Như vậy, trang Web nhiều trang Web khác liên kết tới (hay đề cập tới) chất lượng cao quan trọng 1.4.2 Phân tích tổng quát Sau tính toán độ quan trọng trang người ta dựa vào để phân tích xem thông tin tài liệu thu thập có thực hoàn chỉnh (recall) xác (precision) với truy vấn người dùng yêu cầu không Độ xác (precision) độ hoàn chỉnh (recall) thu thập thông tin phụ thuộc vào kết truy vấn (hình oval) tài liệu liên quan (nửa bên trái) tài liệu không liên quan (nửa bên phải) Độ xác định nghĩa tỉ lệ số lượng tài liệu liên quan tài liệu thu (phần bên trái hình oval) tổng số tài liệu thu (hình oval) Độ xác ứng với mũi tên ngang Độ hoàn chỉnh định nghĩa tỉ lệ số lượng tài liệu liên quan tài liệu thu (phần bên trái hình oval) tổng số tài liệu liên quan (phần bên trái) Độ hoàn chỉnh ứng với mũi tên chéo Càng nhiều kết (phần phần bên trái hình oval lớn) kết xác hoàn chỉnh 1.4.2.1 Thước đo độ xác Chúng ta thảo luận số thước đo độ xác: + Tỉ lệ thu được: Trong trường hợp có điểm số liên quan đo tỉ lệ rõ ràng trang tốt tìm thấy Do đó, có 50 trang liên quan tìm thấy 500 trang thu thập đầu tiên, có tỉ lệ thu hay tỉ lệ thu hoạch 10% 500 trang + Độ liên quan trung bình: Nếu điểm số liên quan liên tục chúng tính trung bình trang thu thập Đây dạng tổng quát tỉ lệ thu hoạch Điểm số cung cấp thông qua độ tương đồng cosin đơn giản phân loại huấn luyện Như độ trung bình tính qua tiến thu thập liệu (100 trang đầu, 200 trang đầu ) Đôi độ trung bình tính cửa sổ vài trang web (ví dụ 50 trang từ điểm thu thập thông tin) 1.4.2.2 Thước đo độ hoàn chỉnh Do thước đo độ hoàn chỉnh khó tính toán sử dụng số cách gián tiếp để ước lượng độ hoàn chỉnh Một số cách kể đến : + Thu hồi mục tiêu: Một tập hợp URL liên quan chia thành hạt giống mục tiêu Trình thu thập trang hạt giống thu hồi trang mục tiêu + Độ mạnh mẽ: Các URL hạt giống chia thành hai tách rời Mỗi thường khởi tạo trường hợp trình thu thập Sự chồng chéo trang thu thập bắt nguồn từ hai không tránh khỏi Một lượng lớn chồng chéo giải độ mạnh mẽ trình thu thập Độ mạnh mẽ số liệu dùng để đo hiệu suất trình thu thập cách mà kết hợp độ xác độ hoàn chỉnh Ví dụ, cách tìm kiếm độ dài số trang thu thập trước tỷ lệ định trang liên quan lấy Chương DEMO CHƯƠNG TRÌNH WEB CRAWLER Trong chương bước thực hóa việc demo chương trình tổng hợp thông tin Phần đầu chương tìm hiểu kiến thức tảng, phần việc thực hóa chương trình thu thập liệu web crawler 1.2 Các kiến thức tảng 2.2.1 Mạng toàn cầu Mạng toàn cầu (world wide web, gọi tắt web www) không gian thông tin toàn cầu mà người truy nhập (đọc viết) qua máy tính nối với mạng Internet Thuật ngữ thường hiểu nhầm từ đồng nghĩa với thuật ngữ Internet Nhưng Web thực dịch vụ chạy Internet, chẳng hạn dịch vụ thư điện tử Web phát minh đưa vào sử dụng vào khoảng năm 1990, 1991 viện sĩ Viện Hàn lâm Anh Tim Berners-Lee Robert Cailliau (Bỉ) CERN, Geneva, Switzerland Các tài liệu world wide web lưu trữ hệ thống siêu văn (hypertext), đặt máy tính mạng Internet Người dùng phải sử dụng chương trình gọi trình duyệt web (web browser) để xem siêu văn Chương trình nhận thông tin ô địa người sử dụng yêu cầu (thông tin ô địa gọi tên miền (domain name)), sau chương trình tự động gửi thông tin đến máy chủ (web server) hiển thị hình máy tính người xem Người dùng theo liên kết siêu văn trang web để nối với tài liệu khác gửi thông tin phản hồi theo máy chủ trình tương tác Hoạt động truy tìm theo siêu liên kết thường gọi duyệt web Quá trình cho phép người dùng lướt trang web để lấy thông tin Tuy nhiên độ xác chứng thực thông tin không đảm bảo Hình 2.2.1.1 World wide web World wide web World wide web phân loại thành ba loại: trang web tĩnh, trang web động trang web tích cực - Trang web tĩnh: Một trang web tĩnh file HTML cụ thể nằm web server - Trang web động : Một trang web động không tồn dạng file cố định web server Trang Web động server tạo nhận yêu cầu cụ thể từ trình duyệt web Khi nhận yêu cầu, Web server chạy chương trình ứng dụng để tạo nội dung văn Sau văn trả cho trình duyệt - Trang web tích cực : Một trang web tích cực loại văn có chứa chương trình Chương trình có khả tính toán hiển thị thông tin Khi trình duyệt yêu cầu, server gửi cho trình duyệt văn có đính kèm chương trình Trình duyệt chạy chương trình máy tính cục mình, chương trình tương tác với người sử dụng Do nội dung trang web tích cực không bất biến mà thay đổi chương trình tương ứng thực thi Có thể coi trang web tích cực trang web động nội dung Sau bảng so sánh loại world wide web: Loại web Ưu điểm Nhược điểm Trang web tĩnh Tính đơn giản, tiện dụng tin cậy Sau tạo trang web tĩnh có định Thiếu tính linh hoạt Khi phải thay đổi, phải chỉnh sửa lại trang Trang web động Trang web tích cực dạng cố định bất biến Trình duyệt nhanh chóng hiển thị trang web tĩnh, tăng hiệu suất hệ thống cách sử dụng chế cache web tĩnh Điều không làm tự động mà phải làm thủ công Do trang web tĩnh không thích hợp cần cung cấp thông tin biến đổi thường xuyên Khả hiển thị thông tin thời từ phía server Những thông tin thay đổi thường xuyên, chẳng hạn dự báo thời tiết, giá loại cổ phiếu, chương trình ứng dụng phía server sinh chuyển cho trình duyệt có yêu cầu Chi phí cài đặt tương đối cao không linh hoạt phải hiển thị thông tin hay thay đổi Giống web tĩnh, thông điệp server sinh chuyển cho trình duyệt nội dung thông điệp cố định Nếu lần thông tin thay đổi trình duyệt phải cập nhật lại để lấy nội dung Ưu điểm web tích cực so với web động khả cập nhật thông tin liên tục khả web tích cực có khả tương tác trực tiếp với server để cập nhật thông tin Ví dụ trang web hiển thị giá thị trường chứng khoán tự động cập nhật giá loại cổ phiếu mà không cần can thiệp từ phía người dùng Nhược điểm web tích cực chi phí xây dựng khả an ninh hệ thống Vì phải tải sau thực thi chương trình từ server, nên phải có khả đảm bảo chương trình không làm có hại máy khách (client) 2.2.2 Giao thức truyền tải siêu văn Giao thức truyền tải siêu văn (Hyper Text Transfer Protocol viết tắt HTTP) giao thức quan trọng web Các tiến trình máy khách (client) máy chủ (server) hệ thống đầu cuối khác giao tiếp với thông qua việc trao đổi thông điệp HTTP Hình 2.2.2.1 Tương tác client server Có loại thông điệp HTTP : Thông điệp yêu cầu (HTTP request) thông điệp trả lời (HTTP response) 2.2.3 Ngôn ngữ đánh dấu siêu văn Ngôn ngữ đánh dấu siêu văn (Hyper Text Markup Language viết tắt HTML) ngôn ngữ đánh dấu thiết kế để tạo nên trang web HTML xem ứng dụng SGML (Standard Generalized Markup Language – chuẩn ISO định nghĩa ngôn ngữ đánh dấu văn tổng quát) HTML tổ chức World Wide Web Consortium (W3C) trì ngôn ngữ đánh dấu cốt lõi World Wide Web Phiên HTML 4.01 Tuy nhiên HTML không phát triển tiếp mà người ta thay XHTML – chuẩn HTML mở rộng dựa XML có cú pháp chặt chẽ HTML Mặc dù phần lớn trang web viết HTML Có bốn loại phần tử đánh dấu HTML - Đánh dấu có cấu trúc miêu tả mục đích phần văn (ví dụ, VietNam điều khiển phần mềm đọc hiển thị “VietNam” tiêu đề cấp một) - Đánh dấu trình bày miêu tả phần hình trực quan phần văn chức (ví dụ in đậm hiển thị thành in đậm) - Đánh dấu liên kết chứa phần liên kết từ trang đến trang Ví dụ Wikipedia hiển thị từ http://www wikipedia.org/ liên kết đến http://vi.wikipedia.org/wiki/URL - Các phần tử thành phần điều khiển giúp tạo đối tượng điều khiển nút bấm, ô textbox để nhập liệu Một tài liệu HTML tạo nên phần tử HTML(Element, [2]) Một cách tổng quát, element bao gồm thành phần: cặp thẻ (tags) gồm thẻ bắt đầu thẻ kết thúc; thuộc tính (nằm thẻ bắt đầu); toàn phần ký tự, hình ảnh, nội dung thông tin hiển thị lên hình Một element thứ nằm hai thẻ đầu cuối, tính hai thẻ HTML ngôn ngữ không phân biệt chữ hoa hay chữ thường (hai thẻ một) Các phần tử HTML cần có thẻ mở thẻ đóng, nhiên điều không luôn đúng, có nhiều phần tử không cần thẻ đóng, ví dụ thẻ, Ngoài lồng nhau, phần tử HTML không cần thiết phải lồng theo thứ tự (tức thẻ mở trước phải đóng sau) TÀI LIỆU THAM KHẢO [1] Gautam Pant, Padmini Srinivasan, Filippo Menczer Crawling the Web Web Dynamics 2004, pp 153-178 [2] Sriram Raghavan, Hector Garcia-Molina Crawling the Hidden Web Computer Science Department, Stanford University, USA 2001 [3] Soumen Chakrabarti Mining the Web: Discovering knowledge from hypertext data Elsevier Science, Morgan Kaufmann Publishers 2003 [4] Hồ Đắc Phương Mạng máy tính NXB Đại học Quốc gia Hà Nội 2007 [5] Đinh mạnh Tường Cấu trúc liệu thuật toán Nhà xuất khoa học kỹ thuật 2000 [6] Wikipedia, http://en.wikipedia.org [7] World Wide Web Consortium (W3C), http://www.w3.org [8] Bách khoa toàn thư tiếng Việt, http://vi.wikipedia.org [9] Biểu thức topic=204.0 quy, http://www.phpvn.org/index.php? [...]... trình thu thập sẽ dừng lại 1.3 Các chiến lược thu thập dữ liệu Trong phần này chúng ta sẽ thảo luận về một số chiến lược thu thập dữ liệu bao gồm: - Chiến lược thu thập dữ liệu theo chiều sâu - Chiến lược thu thập dữ liệu theo chiều rộng - Chiến lược thu thập dữ liệu theo ngẫu nhiên - Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ Như đã nói ở phần trước về bản chất, quá trình thu thập. .. thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ cũng có thể dùng cho trình thu thập đa luồng nhưng độ ưu tiên được tính theo N trong đó N là hàm của số lượng các luồng đang chạy đồng thời Các bước trong quá trình thu thập dữ liệu cũng giống như trên chỉ khác là URL được sắp xếp theo giá trị N giảm dần Ngoài chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ còn có nhiều cách thu thập dữ liệu. .. các siêu liên kết là các cạnh Chính vì thế các chiến thu t thu thập dữ liệu cũng được xây dựng dựa trên các thu t toán tìm kiếm trên đồ thị Các thu t toán tìm kiếm trên đồ thị bao gồm: - Tìm kiếm theo chiều sâu (Depth-First Search): Là thu t toán tìm kiếm bằng cách mở rộng nút đồ thị theo chiều sâu - Tìm kiếm theo chiều rộng (Breath-First Search): Là thu t toán tìm kiếm bằng cách mở rộng nút đồ thị theo... chia sẻ bởi nhiều vòng thu thập Chú ý rằng một trình thu thập thông thường sẽ duy trì một cấu trúc dữ liệu lược sử phục vụ cho việc tra cứu nhanh các URL đã được thu thập Do đó ngoài các frontier thì việc đồng bộ hóa các truy cập vào lược sử là điều cần thiết Các mô hình trình thu thập đa luồng cũng cần phải đối phó với các frontier rỗng giống như một trình thu thập theo tuần tự Tuy nhiên đây là vấn... trang được thu thập cho phép chúng ta xác định được việc thu thập dữ liệu có thành công hay không Thứ hai là, thu thập những trang web 'sống' sẽ tốn nhiều thời gian Do đó việc thu thập các trang web có thời gian sống ngắn sẽ lãng phí thời gian cho người dùng Chúng ta có thể lựa chọn để tránh thời gian tải bằng cách chỉ trả về cho người dùng kết quả tiêu đề và phần mô tả của tất cả các thu thập nhưng... tự các thẻ trong tài liệu HTML Chuẩn hóa trang HTML là rất cần thiết để việc lập mô hình cây được chính xác Nếu như trình thu thập chỉ cần lấy các liên kết hoặc văn bản hoặc một phần văn bản thì có thể ta không cần sử dụng tới mô hình cây mà chỉ cần sử dụng kỹ thu t bóc tách HTML đơn giản Trình bóc tách như vậy cũng được hỗ trợ trong nhiều ngôn ngữ lập trinh 1.2.5 Trình thu thập đa luồng Mỗi vòng thu. .. này - Nếu có, thêm các liên kết vào cuối danh sách Quay lại bước 3 - Nếu không, quay lại bước 1 Bước 5: Kết thúc 1.3.4 Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ (Naive Best-First, ) sử dụng thu t toán tìm kiếm theo lựa chọn tốt nhất theo quy tắc tính điểm số cho các URL Điểm số của một URL được tính bằng phương pháp độ tương... tài liệu thu thập được có thực sự hoàn chỉnh (recall) và chính xác (precision) với truy vấn người dùng yêu cầu không Độ chính xác (precision) và độ hoàn chỉnh (recall) trong thu thập thông tin phụ thu c vào kết quả của một truy vấn (hình oval) đối với các tài liệu liên quan (nửa bên trái) và các tài liệu không liên quan (nửa bên phải) Độ chính xác được định nghĩa là tỉ lệ giữa số lượng các tài liệu. .. trên các trang đã thu thập Đây là một dạng tổng quát hơn tỉ lệ thu hoạch Điểm số có thể được cung cấp thông qua độ tương đồng cosin đơn giản hoặc bộ phân loại huấn luyện Như vậy độ trung bình có thể được tính qua sự tiến bộ của thu thập dữ liệu (100 trang đầu, 200 trang đầu ) Đôi khi độ trung bình được tính trên một cửa sổ của một vài trang web (ví dụ 50 trang mới nhất từ một điểm thu thập thông tin)... một vấn đề hóc búa đặt ra cho các trình thu thập là bẫy nhện Kỹ thu t phổ biến của bẫy nhện là tạo ra các cấu trúc đường dẫn sau vô hạn Ví dụ, http://foo.com/bar/foo/bar/foo/bar/foo/bar Các URL giả tạo ra bởi bẫy nhện tăng lên cực nhanh Có một cách để ngăn chặn là giới hạn kích thước URL cỡ 128 hoặc 256 ký tự 1.2.4.2 Mô hình thẻ HTML dạng cây Các trình thu thập có thể lấy ra giá trị của các URL hoặc

Ngày đăng: 25/06/2016, 21:38

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • Chương 1. TÌM HIỂU VỀ TRÌNH THU THẬP WEB

    • 1.2. Giới thiệu về trình thu thập web

    • 1.2. Cách xây dựng một hạ tầng thu thập

      • 1.2.1. Frontier

      • 1.2.2. Lược sử và kho lưu trữ trang

      • 1.2.3. Cách lấy trang

        • 1.2.3.1. Tiêu chuẩn loại trừ robot

      • 1.2.4. Bóc tách trang

        • 1.2.4.1. Tiêu chuẩn trích xuất URL

        • 1.2.4.2. Mô hình thẻ HTML dạng cây

      • 1.2.5. Trình thu thập đa luồng

    • 1.3. Các chiến lược thu thập dữ liệu

      • 1.3.1. Chiến lược thu thập dữ liệu theo chiều sâu

      • 1.3.2. Chiến lược thu thập dữ liệu theo chiều rộng

      • 1.3.3. Chiến lược thu thập dữ liệu theo ngẫu nhiên

      • 1.3.4. Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ

    • 1.4. Đánh giá của trình thu thập

      • 1.4.1. Độ quan trọng của trang web

      • 1.4.2. Phân tích tổng quát

        • 1.4.2.1. Thước đo độ chính xác

        • 1.4.2.2. Thước đo độ hoàn chỉnh

  • Chương 2. DEMO CHƯƠNG TRÌNH WEB CRAWLER

    • 1.2. Các kiến thức nền tảng

      • 2.2.1. Mạng toàn cầu

      • 2.2.2. Giao thức truyền tải siêu văn bản

      • 2.2.3. Ngôn ngữ đánh dấu siêu văn bản

  • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan