Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
2,13 MB
Nội dung
i MỤC LỤC LỜI CẢM ƠN iii LỜI CAM ĐOAN iv DANH MỤC HÌNH ẢNH v MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MÁY TÌM KIẾM 1.1 Tổng quan ứng dụng tìm kiếm thông tin Web 1.1.1 World Wide Web 1.1.2 Lịch sử phát triển máy tìm kiếm 1.1.3 Vai trò việc tìm kiếm Web 1.2 Kiến trúc nguyên tắc hoạt động máy tìm kiếm 1.2.1 Giới thiệu chung 1.2.2 Nguyên tắc hoạt động 1.3 Phân loại máy tìm kiếm 10 1.3.1 Máy tìm kiếm thông thường 10 1.3.2 Máy siêu tìm kiếm- Meta Search Engine 10 1.4 Các thành phần máy tìm kiếm 11 1.4.1 Bộ duyệt trang (Crawler) 11 1.4.2 Bộ lập mục Indexer 12 1.5 Các kỹ thuật tìm kiếm thông tin máy tìm kiếm 16 1.5.1 Tìm kiếm logic (Boolean) 17 1.5.2 Tìm kiếm theo mô hình không gian vector 17 1.5.3 Mô hình xác suất 19 1.6 Máy tìm kiếm Google 20 1.6.1 Giới thiệu 20 1.6.2 Cấu trúc máy tìm kiếm Google 20 1.6.3 Cấu trúc liệu 22 1.6.4 Đánh mục cho web (indexing the web) 22 1.6.5 Tìm kiếm 23 1.6.6 Hệ thống xếp hạng 24 1.7 Nhược điểm của máy tìm kiếm web truyền thống 25 CHƯƠNG 2: TÁC TỬ DI ĐỘNG VÀ ỨNG DỤNG TRONG 27 CÁC MÁY TÌM KIẾM 27 2.1 Tổng quan tác tử di động 27 2.1.1 Giới thiệu 27 2.1.2 Sự tiến hóa từ mô hình ứng dụng phân tán 28 ii 2.1.3 Khái niệm tác tử di động 29 2.1.4 Các đặc tính tác tử di động 31 2.1.5 Phân loại tác tử di động 32 2.1.6 Các lĩnh vực ứng dụng tiềm tác tử di động 33 2.2 Nguyên lý hoạt động tác tử di động 34 2.2.1 Các phương pháp thực thi code môi trường mạng 34 2.2.2 Vòng đời tác tử di động 35 2.2.3 Cơ chế di chuyển tác tử di động 37 2.3 Tác tử di động máy tìm kiếm 40 2.3.1 Giới thiệu 41 2.3.2 Tác tử Web robot 42 2.3.3 Tác tử WebACE 45 2.3.4 Tác tử Web Hunter 48 CHƯƠNG 3: CÀI ĐẶT TÁC TỬ TÌM KIẾM THÔNG TIN 54 3.1 Giới thiệu toán tìm kiếm thông tin 54 3.2 Thiết kế web robot tìm kiếm 55 3.2.1 Lớp Catalog 58 3.2.2 Lớp Word 58 3.2.3 Lớp File 58 3.3 Cài đặt chương trình 59 3.3.1 Mô tả chế hoạt động 59 3.3.2 Khởi tạo lớp 60 3.3.3 Quá trình tách từ 60 3.4 Giao diện chương trình 63 TÀI LIỆU THAM KHẢO 68 iii LỜI CẢM ƠN Để hoàn thành luận văn, em xin chân thành cảm ơn Trường Đại học Công nghệ Thông tin Truyền thông, Phòng Đào tạo, thầy, cô giáo giảng dạy lớp cao học Khoa học máy tính K12E quan tâm, tạo điều kiện thuận lợi, tận tình giảng dạy giúp đỡ em thời gian theo học trường Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến TS Phạm Thế Quế, người dành nhiều thời gian, tâm huyết hướng dẫn em suốt trình nghiên cứu hoàn thành luận văn Em xin cảm ơn cán bộ, giảng viên đồng nghiệp Trường Đại học Hùng Vương - Phú Thọ tạo điều kiện thời gian để em học tập hoàn thành luận văn Mặc dù cố gắng hoàn thiện luận văn, nhiên chắn nhiều thiếu sót, mong góp ý quý báu qúy thầy cô bạn Xin trân trọng cảm ơn Thái Nguyên, ngày tháng Tác giả Thiều Thị Tài năm 2015 iv LỜI CAM ĐOAN Em xin cam đoan: Luận văn thạc sĩ Khoa học máy tính “Nghiên cứu tác tử di động ứng dụng máy tìm kiếm web” công trình nghiên cứu thực cá nhân em, thực sở nghiên cứu lý thuyết hướng dẫn khoa học Tiến sĩ Phạm Thế Quế Giảng viên Học viện Bưu viễn thông - Hà Nội Em xin chịu trách nhiệm lời cam đoan Thái Nguyên, ngày tháng Tác giả Thiều Thị Tài năm 2015 v DANH MỤC HÌNH ẢNH Hình 1.1: Kiến trúc tổng quan máy tìm kiếm Hình 1.2: Ví dụ Simple Page Rank Modified Page Rank 15 Hình 1.3: Các trang tài liệu từ khóa đánh mục 18 Hình 1.4: Tính độ tương tự câu hỏi tài liệu tìm thấy 19 Hình 1.5: Kiến trúc máy tìm kiếm Google 20 Hình 1.6: Chỉ mục xuôi Forward barrels 43 GB 23 Hình 2.1: Sự tiến hóa mô hình tác tử di động 29 Hình 2.2: Tác tử – phương pháp lập trình 30 Hình 2.3: Mô hình hoạt động tác tử di động 31 Hình 2.4: Vòng đời tác tử di động - Mobile Agent 36 Hình 2.5: Sơ đồ Tác tử di chuyển khỏi laptop disconnect 38 Hình 2.6: Di chuyển từ laptop đến laptop 38 Hình 2.7 Navigation Agent 40 Hình 2.8: Web robot file robots.txt 43 Hình 2.9: Kiến trúc agent WebACE 46 Hình 2.10: Tác tử hoạt động WebACE 47 Hình 2.11: Mô hình cài đặt Web ACE JAVA 48 Hình 2.12: Các pha hoạt động agent tìm kiếm dạng WebHunter 50 Hình 2.13: Chu trình hoạt động Web Hunter 52 Hình 3.1: Mô hình đối tượng 59 Hình 3.2: Cơ chế hoạt động máy tìm kiếm web robot 59 Hình 3.3: Nội dung thư mục gốc ứng dụng 60 Hình 3.4: Danh mục từ Catalog ( sau lần duyệt đầu tiên) 61 Hình 3.5: Biến locallink chứa URL duyệt 62 Hình 3.6: Giao diện chương trình 64 Hình 3.7: Kết tìm kiếm với tìm kiếm thông thường 64 Hình 3.8: Kết tìm kiếm với tìm kiếm có tác tử 65 MỞ ĐẦU World Wide Web (gọi tắt Web) kho thông tin khổng lồ nhân loại môi trường truyền tải thông tin thiếu thời đại ngày Sự phổ biến bùng nổ thông tin Web đặt thách thức mới, làm để khai thác thông tin Web cách hiệu quả, mà cụ thể làm hỗ trợ tốt việc khám phá thông tin tìm kiếm thông tin nhanh chóng xác Để đáp ứng nhu cầu này, người ta sử dụng công cụ tìm kiếm, máy tìm kiếm Máy tìm kiếm (Search Engine - viết tắt là SE) công cụ xây dựng tảng web cho phép người sử dụng tìm kiếm thông tin Là nơi mà bạn tìm thấy thông tin cách gõ từ cụm từ (Key word) truy vấn Máy tìm kiếm trả danh sách kết trang web liên quan đến cụm từ mà bạn truy vấn Hiện nay, có nhiều hệ thống tìm kiếm, từ hệ thống lớn như: máy tìm kiếm Google, Yahoo, Altavista….đến trang tìm kiếm cục khác website Tuy nhiên, máy tìm kiếm coi hiệu quả, tìm kiếm bề Web Trong tầng sâu Web chứa khối lượng thông tin khổng lồ thường có giá trị tìm kiếm khó khăn Thông tin tìm kiếm không theo chủ đề mà tìm kiếm theo từ khoá đơn Các hoạt động truy tìm thông tin phổ biến theo siêu liên kết, gọi duyệt Web, cho phép người dùng lướt trang Web để lấy thông tin Vì vậy, độ xác xác thực thông tin không đảm bảo Kết tìm kiếm phải người chọn lại theo chủ đề mong muốn Những vấn đề thúc đẩy đời ý tưởng tác tử di động máy tìm kiếm, đáp ứng yêu cầu tìm kiếm xác thông minh Liên quan đến khái niệm như: Agent tìm kiếm, Robot tìm kiếm, Spider… phần mềm thông minh cài đặt máy tìm kiếm, tự động duyệt trang web Internet lấy thông tin cho người dùng Việc cải tiến chương trình thông minh điều cần thiết để máy tìm kiếm đạt hiệu tốt Vì ưu điểm trội việc sử dụng chương trình thông minh vào máy tìm kiếm, giải hiệu toán tìm kiếm thông tin nên chọn đề tài “Nghiên cứu tác tử di động ứng dụng máy tìm kiếm Web” để làm luận án tốt nghiệp Phương pháp ứng dụng tác tử di động tạo hệ thống tìm kiếm thông minh, hiệu quả, dễ dàng cho người dùng thực tìm kiếm web Luận văn gồm chương Chương 1: Tổng quan máy tìm kiếm Nội dung chương trình bày cách tổng quát máy tìm kiếm bao gồm: kiến trúc máy tìm kiếm, chế hoạt động, thành phần chủ yếu máy tìm kiếm, kỹ thuật tìm kiếm thông tin máy tìm kiếm Chương 2: Tổng quan tác tử di động ứng dụng máy tìm kiếm Nội dung chương giới thiệu kiến thức tổng quan tác tử di động phạm vi ứng dụng thực tế Mô tả số kiến trúc tác tử di động tìm kiếm sử dụng thông dụng web robot, web ace web hunter Với đặc tính thông minh, tác tử di động nâng cao suất tìm kiếm thông tin cho search engine, nguồn thông tin tìm thấy không bị giới hạn Chương 3: Thử nghiệm cài đặt hệ thống tìm kiếm thông tin dựa tác tử di động, biểu diễn tài liệu theo mô hình vector Mô hình vector có nhiều ưu điểm: tìm kiếm dễ dàng, không yêu cầu người dùng phải có trình độ hiểu biết sâu, kết tìm có độ xác cao…nâng cao suất tìm kiếm thông tin máy tìm kiếm Nhu cầu tìm kiếm thông tin lớn, việc xây dựng hệ thống tìm kiếm thông tin hiệu quả, khắc phục những nhược điểm mà máy tìm kiếm gặp phải có ý nghĩa thực tiễn lớn, đòi hỏi hệ thống tìm kiếm cần phải thông minh hơn, đáp ứng nhu cầu tìm kiếm người dùng CHƯƠNG 1: TỔNG QUAN VỀ MÁY TÌM KIẾM 1.1 Tổng quan ứng dụng tìm kiếm thông tin Web 1.1.1 World Wide Web Word Wide Web, gọi tắt Web WWW, mạng thông tin toàn cầu mà người truy nhập qua máy tính kết nối với mạng Internet, trở thành kho thông tin khổng lồ thiếu thời đại kinh tế trí thức 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) Website đặt máy chủ Web (WebServers) 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 thông qua hộp địa (Address) người sử dụng yêu cầu (thông tin hộp đị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 (Hyperlink) 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 Web để tìm kiếm lấy thông tin Tuy nhiên độ xác xác thực thông tin không đảm bảo, tốn thời gian công sức Hiện nay, Internet phát triển với tốc độ chóng mặt, lượng thông tin chia sẻ ngày nhiều số lượng, chủng loại Những thông tin có đặc trưng khác so với thông tin tập trung: Tài liệu không nằm local: Tài liệu không nằm tập trung local mà phân tán nhiều host khác Tích hợp nhiều loại tài liệu: chủ đề số lượng thông tin, số lượng tài liệu chia sẻ Internet lớn có nhiều loại khác nhau: văn bản, ảnh, video,… Tài liệu thay đổi liên tục nội dung và số lượng: Thông tin mạng Internet thông tin tĩnh mà luôn thay đổi, cập nhật liên tục hàng ngày, hàng giờ, hàng phút tính theo giây Tài liệu có số lượng khổng lồ: hàng ngàn server có dung lượng khổng lồ dùng để chứa nguồn thông tin Internet Với lĩnh vực sống, xã hội lượng thông tin đưa lên truyền tải mạng lớn Một khối lượng thông tin khổng lồ thường có giá trị, có đường liên kết với trang Web khác nên việc tìm kiếm khó khăn Có nhiều tài liệu gần là chép (30%): tài liệu, thông tin lặp lại tương đối nhiều lần nhiều người chia sẻ, nhiều server đăng tải….dẫn đến việc chép tài liệu vô phổ biến Điều có ảnh hưởng lớn đến hiệu việc tìm kiếm thông tin người dùng Với đặc trưng thông tin Internet, người dùng muốn tìm thông tin cần điều dễ dàng Khi người dùng gõ từ khóa tìm kiếm kết trả vô lớn Các tài liệu trả có nhiều liên quan đến tài liệu người dùng mong muốn Tuy nhiên để đọc hết tất tài liệu điều người dùng không mong muốn người dùng muốn thông tin trả gần nhất, xác với thông tin mà họ cần tìm Để giải yêu cầu này, người dùng sử dụng máy tìm kiếm Máy tìm kiếm (Search Engine - viết tắt là SE) công cụ xây dựng tảng web cho phép người sử dụng tìm kiếm thông tin Là nơi mà bạn tìm thấy thông tin cách gõ từ cụm từ (Key word) truy vấn Máy tìm kiếm trả danh sách kết trang web liên quan đến cụm từ mà bạn truy vấn [2] Đa số máy tìm kiếm Web truyền thống tìm kiếm dựa việc đối sánh với từ khóa Các ứng dụng tìm kiếm chứa nhiều hạn chế tài nguyên Web tài nguyên phi cấu trúc Vì máy tìm kiếm dựa theo từ khóa để tìm kiếm thông tin có nhiều kết không mong muốn trả cho người dùng Các nhà cung cấp đề xuất nhiều giải pháp nhằm cải thiện hiệu tìm kiếm thuật toán hạng, thuật toán tìm từ đồng nghĩa, tìm từ khóa liên quan…Tuy nhiên, kết tìm kiếm chưa thỏa mãn yêu cầu người dùng Các máy tìm kiếm truyền thống gặp phải hai vấn đề chính: - Mỗi từ khóa có hay nhiều ý nghĩa tùy theo ngữ cảnh máy tìm kiếm mối quan hệ từ khóa với - Rất nhiều trang Web có liên quan đến từ khóa lại không chứa từ khóa nội dung không tồn kết tìm Đây vấn đề khác biệt máy tìm kiếm dựa Web truyền thống (dựa từ khóa) máy tìm kiếm dựa tác tử di động Sức mạnh tác tử di động thể việc hỗ trợ công cụ tìm kiếm Với phần mềm thông minh, liệu trả mang tính ngữ nghĩa nhiều hơn, gần với yêu cầu người dùng Một thí dụ minh họa cho chưa hiệu máy tìm kiếm dựa Web – từ khóa: Giả sử bạn nhân viên doanh nghiệp Bạn muốn có số thông tin phụ nữ mà bạn gặp buổi hội thảo “Mã số, mã vạch” vào năm ngoái Bạn nhớ rằng, tên người phụ nữ “Cúc”, nhân viên doanh nghiệp đối tác với doanh nghiệp bạn, gái bà ta học Trường Đại học Hùng Vương Việc truy vấn theo từ khóa để tìm thông tin mong muốn điều khó khăn 1.1.2 Lịch sử phát triển máy tìm kiếm Năm 1990, công cụ sử dụng cho việc tìm kiếm Internet, có tên Archie, xây dựng Alan Emtage, sinh viên trường đại học McGill Montreal, Canada Công cụ có khả download danh sách thư mục tất file đặt trang sử dụng giao thức FTP 54 CHƯƠNG 3: CÀI ĐẶT TÁC TỬ TÌM KIẾM THÔNG TIN 3.1 Giới thiệu toán tìm kiếm thông tin Hiện Internet, có nhiều mô hình máy tìm kiếm cài đặt nhiều trang web Các máy tìm kiếm hỗ trợ nhiều cho người dùng việc tìm kiếm thông tin, nhiên bị hạn chế nguồn thông tin tìm kiếm máy tìm kiếm nhúng với ứng dụng cụ thể, xoay quanh nguồn thông tin đặc trưng tất nguồn thông tin theo mong muốn không đáp ứng đủ nhu cầu người dùng Khi muốn tìm thông tin đó, người dùng gõ từ khóa cần tìm hệ thống, hệ thống thực lấy URL có chứa thông tin liên quan, phân tích tài liệu, xếp trả cho người dùng Với máy tìm kiếm thông thường, kết trả xếp theo độ ưu tiên số lượng từ khóa Nhưng với thông tin tài như: giá vàng, chứng khoán, tiền tệ,….là thông tin cập nhật hàng ngày, hàng xét tiêu chí số lượng từ khóa người dùng tìm kiếm thông tin kết trả trang xa so với ngày người dùng truy vấn Bài toán đặt cải thiện kết tìm kiếm này, số lượng từ khóa tiêu chí xác nhận tính xác tài liệu, kết trả xếp theo tiêu chí “mới” trang web Tiêu chí “mới” trang có version nhất, cập nhật gần ngày truy vấn Trong phạm vi luận văn, em xây dựng máy tìm kiếm có ứng dụng tác tử di động web robot, thực tìm kiếm thông tin tất nguồn thông tin khác Như người dùng (là đối tượng cần tìm thông tin), hệ tìm kiếm thông tin sử dụng tác tử di động cung cấp cho user chức sau: - Tải trang HTML thông qua địa web HTTP - Phân tích mã HTML tìm liên kết đến trang khác 55 - Phân tích nội dung trang (tách từ) để tạo danh mục từ Catalog - Thực tìm kiếm theo truy vấn người dùng - Hiển thị kết trả theo thứ tự xếp hạng trang theo tiêu chí: Đưa kết tin tài nhất,… Do việc tải trang mạng yêu cầu phải có hệ thống máy chủ cấu hình đủ mạnh nhiều điều kiện khác, giới hạn phạm vi luận văn nên máy tìm kiếm có sử dụng tác tử di động mà em xây dựng mang tính chất mô tả rõ vai trò quan trọng tác tử di động máy tìm kiếm Máy tìm kiếm thực tải trang nằm thư mục DataFiles phân tích chúng tạo danh mục từ cho việc tìm kiếm sau Các trang có chứa thông tin tài quan tâm 3.2 Thiết kế web robot tìm kiếm Web robot chương trình thiết kế có nhiệm vụ tự động tìm URL có chứa thông tin cho hệ thống, URL tiếp tục xử lý, sau trả kết cho người dùng Các vấn đề mà web robot phải xử lý: - Từ URL bắt đầu, Web robot phải xác định URL vị trí để duyệt, điều phụ thuộc vào phương pháp mà người phát triển hệ thống chọn lựa, phương pháp duyệt URL theo chiều rộng chiều sâu Trong phạm vi luận văn web robot cài đặt phương pháp duyệt theo chiều rộng - Thực việc duyệt lại địa URL chúng có thay đổi thông tin cập nhật lại sở liệu hệ thống - Khi cài đặt web robot tự động sục sạo web site để tách địa URL có chứa thông tin liên quan theo yêu cầu người dùng Để thực công việc trên, chương trình xây dựng ngôn ngữ ASP.NET bao gồm lớp phương thức sau: 56 - URL verifyUrl(String url): Kiểm tra URL xem địa URL định dạng chưa public bool VerifyUrl(string url) { Uri myUri; if (Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out myUri)) { return true;//isRobotAllowed(myUri); } return false; } - bool isRobotAllowed(URL urlToCheck): phương thức kiểm tra xem URL có cho phép trình duyệt không? Phương thức dựa vào tập file robots.txt, thẻ private bool isRobotAllowed(Url urlToCheck) { if (_disallowList.Count == 0) { System.Net.WebClient web = new System.Net.WebClient(); System.IO.Stream stream = web.OpenRead("/robots.txt"); using (System.IO.StreamReader reader = new System.IO.StreamReader(stream)) { string text = reader.ReadLine(); if (!string.IsNullOrEmpty(text) && !_disallowList.Contains(text)) _disallowList.Add(text); } } - DataTable RetrieveLinks(): lấy link public DataTable RetrieveLinks() { // Assume Catalog exists in Cache string searchterm = searchfor.Text; searchterm = searchterm.Trim(' ', '?', '\"', ',', '\'', ';', ':', '.', '(', ')').ToLower(); DataTable results = CreateTable(); Hashtable searchResultsArray = m_catalog.Search(PrepareKeyWord(searchterm)); if (null != searchResultsArray) { 57 DictionaryEntry fo; File infile; string result = ""; foreach (object foundInFile in searchResultsArray) { fo = (DictionaryEntry)foundInFile; infile = (File)fo.Key; int rank = (int)fo.Value; DataRow row = results.NewRow(); string url = string.Concat("/datafiles", infile.Url); row["Url"] = VerifyUrl(url)?url:url.Replace(@"//",@"/"); row["Title"] = infile.Title; row["Description"] = infile.Description; row["Rank"] = rank; row["Size"] = infile.Size; row["CrawledDate"] = infile.CrawledDate; row["LastModified"] = infile.LastUpdated; row["PublishDate"] = infile.PublishDate; results.Rows.Add(row); } } return results; } - DataTable Crawl(string startUrl, int maxUrls, string searchString): duyệt trang URL, với tham số URL bắt đầu, số lượng URL tối đa, từ khóa tìm kiếm cung cấp người dùng - run (): chạy tiến trình tự động Khi cài đặt phương thức cần thiết tiến trình liên tục, web robot tự động sục sạo web site để tách địa URL có chứa thông tin liên quan theo yêu cầu người dùng Với URL mà web robot trả về, đưa cho người dùng, cách đơn giản nhanh chóng lại không hiệu quả, máy tìm kiếm không thông minh không đánh giá mức độ tài liệu liên quan (tức độ xác tài liệu) Trong luận văn, URL lưu sở liệu tạo danh mục từ để tính độ xác so với yêu cầu người dùng, sau hiển thị cho 58 người dùng từ cao đến thấp theo mức độ “mới” trang web (như ngày upload gần với ngày truy vấn nhất) Để giải vấn đề trên, xây dựng chương trình gồm lớp sau: 3.2.1 Lớp Catalog Để tạo danh mục từ để tính độ xác kết trả cho người dùng, từ (words) phân tích từ trang đưa vào lớp Catalog Mỗi từ tham chiếu đến tệp chứa Lớp Catalog có thuộc tính Index (đây bảng băm chứa danh sách từ (word list)) hai phương thức Add (word, file, vitri): thêm từ vào Catalog Và phương thức Search(word) tìm kiếm từ Catalog 3.2.2 Lớp Word Lớp Word quản lý thông tin từ (words) Thuộc tính Text biểu diễn từ Thuộc tính Infile: tập hợp file có chứa từ 3.2.3 Lớp File Gồm thuộc tính Url: điạ URL trang title: phần tiêu đề (phần văn nằm thẻ title trang html) description: mô tả tệp, date: thời gian tạo tệp, size: kích thước tệp 59 Catalog -Index: Hash Table Search(word) Add(word, file, vitri) n File n Word +Url -Text +Title -filecollection:Hash table +Description ctor(Text, file, vitri) +Date Hình 3.1: Mô hình đối tượng 3.3 Cài đặt chương trình 3.3.1 Mô tả chế hoạt động Trả Duyệt tệp web robot Tập liên kết URL Lấy liên kết Tập từ tách từ trang Thư mục gốc ứng dụng Người sử dụng (user) Phân tích nội dung trang Nhập từ khoá tìm kiếm Tra cứu Chuyển từ URL trang chứa từ vào Catalog Danh mục từ Search Engine Catalog Phân hạng trang Ranking Hình 3.2: Cơ chế hoạt động máy tìm kiếm web robot Thư mục chứa tệp chương trình tệp liệu thử nghiệm thư mục D:\Datafiles, nội dung thư mục sau: 60 Hình 3.3: Nội dung thư mục gốc ứng dụng 3.3.2 Khởi tạo lớp Các lớp định nghĩa SpaceSearch: namespace SpaceSearch { public class Catalog { private System.Collections.Hashtable index; public Catalog () {} public bool Add (string word, File infile, int vitri){} public Hashtable Search (string searchWord) {} }//end of Catalog class public class Word { public string Text; private System.Collections.Hashtable fileCollection; public Word (string text, File infile, int vitri) {} public void Add (File infile, int vitri) {} public Hashtable InFiles () {} } //end of Word class public class File { public string Url; public string Title; public string Description; public DateTime CrawledDate; public long Size; public File (string url, string title, string description, DateTime datecrawl, long length) {} }//end of File class } 3.3.3 Quá trình tách từ Từ trang tìm nhờ web robot thư mục xuất phát, hệ thống phân tích nội dung trang để tính độ xác trang so với yêu cầu người dùng 61 Bước 1: Lấy toàn URL tệp thông tin khác tệp thời gian tạo tệp, kích thước tệp,… http://localhost/Search/ (thư mục ảo tương ứng với thư mục vật lý D:/Datafiles), đưa vào biến htmldoc Tiếp theo tiến hành tách bỏ thẻ mã html “từ” Sau loại bỏ khoảng trắng dư thừa (giữa hai từ khoảng trắng) Câu lệnh tách khoảng trắng dư thừa: Tu = r.Replace(Tu, " "); Tách từ riêng biệt đưa vào mảng MangTu câu lệnh: string [] MangTu = Tu.Split(' '); Lấy từ MangTu đưa vào danh mục từ Catalog, ứng với từ đưa đường dẫn URL tệp chứa từ vào Catalog (ở thực phân tích tên tệp có thư mục localhost/Search nên đường dẫn cho từ phân tích localhost/Search) foreach (string word in MangTu) { key = word.Trim(' ', '?','\"', ',', '\'', ';', ':', '.', '(', ')').ToLower(); m_catalog.Add (key, infile, i); i++; } Kết thúc vòng lặp Catalog chứa liệu Hình 3.4: Danh mục từ Catalog ( sau lần duyệt đầu tiên) 62 Bước 2: Duyệt liên kết URL lấy bước 1, liên kết dẫn đến tệp tin html ta tiến hành phân tích nội dung tệp thành từ, thêm vào danh mục từ Catalog Biến locallink chứa toàn đường dẫn đến tệp có thư mục chủ Hình 3.5: Biến locallink chứa URL duyệt Ví dụ duyệt đến phần tử thứ biến htmldoc đường dẫn /search/index.html, chương trình chuyển vào đoạn xây dựng danh mục từ Catalog (chương trình Catalog()) Chương trình lấy toàn nội dung (theo mã nguồn html) đưa vào biến htmldoc để tiếp tục phân tích Lúc chương trình Catalog lại làm nhiệm vụ tách thẻ html thẻ , , ,… khỏi đoạn mã để lấy phần văn Engine option ↑ ("") 3.4 Giao diện chương trình Chương trình có giao diện chính: 64 Hình 3.6: Giao diện chương trình Hệ thống có chức Tìm kiếm thông thường Tìm kiếm có tác tử Giả sử tìm kiếm thông tin giá vàng chọn tìm kiếm thông thường ta có kết quả: Hình 3.7: Kết tìm kiếm với tìm kiếm thông thường 65 Cũng tìm với thông tin giá vàng, ta chọn tìm kiếm có tác tử kết hiển thị sau: Hình 3.8: Kết tìm kiếm với tìm kiếm có tác tử Ta thấy số lượng từ khóa có kết thứ nhiều kết thứ thứ tự trang xếp theo ngày tháng cập nhật trang web Như vậy, người dùng tìm kết trả nhất, tránh lãng phí thời gian công sức tìm kiếm Đánh giá Tìm kiếm có tác tử với phương pháp tìm kiếm truyền thống: Với phương pháp tìm kiếm truyền thống tập trung vào tìm kiếm theo từ khóa mà người dùng truy vấn Kết trả với số lượng lớn, xếp theo thứ tự từ nhiều đến số lượng từ khóa liên quan tài liệu, chưa quan tâm đến ngữ nghĩa từ khóa mà người dùng truy vấn Hệ thống tìm kiếm thông tin có cài đặt thêm tác tử di động đảm bảo yêu cầu đề xếp kết trả theo thứ tự “mới nhất” tài liệu Hệ 66 thống bước đầu quan tâm đến yếu tố khác từ khóa, thông minh phương pháp tìm kiếm truyền thống Kết luận chương Chương cài đặt thành công tác tử di động web robot máy tìm kiếm mô máy tính cá nhân Hệ thống tìm kiếm đảm bảo yêu cầu máy tìm kiếm thông thường đáp ứng yêu cầu người dùng Kết trả xếp từ cao xuống thấp theo tính trang web, tức trả trang có ngày upload gần với ngày truy vấn người dùng 67 KẾT LUẬN Kết đạt luận văn: - Luận văn trình bày kiến trúc nguyên tắc hoạt động chung hệ thống tìm kiếm thông tin mạng Các kỹ thuật việc xây dựng mô đun máy tìm kiếm kỹ thuật xây dựng mô đun tìm duyệt Crawler, mô đun đánh mục Indexer, mô đun phân hạng Ranking,…Từ tìm hiểu sâu Search Engine điển hình Google - Trên sở tìm hiểu hệ thống tìm kiếm, tác tử di động cách thức tìm kiếm mạng thông qua tác tử di động, luận văn tập trung phân tích số tác tử di động để áp dụng cho hệ thống tìm kiếm - Xây dựng Search Engine ngôn ngữ lập trình C# công nghệ ASP.NET Search Engine chạy trình chủ localhost, hoạt động dựa theo nguyên lý chung hệ thống tìm kiếm mạng Máy tìm kiếm có ứng dụng tác tử di động để nâng cao chất lượng tìm kiếm Máy tìm kiếm thực chức dò tìm tệp html, phân tích tệp mà tìm thành từ xây dựng danh mục từ Catalog Sau cho phép người sử dụng gõ vào từ cụm từ cần truy vấn máy tìm kiếm trả kết tìm kiếm gần với yêu cầu truy vấn người dùng nhất, tài liệu 68 TÀI LIỆU THAM KHẢO [1] PGS.TS Đặng Văn Đức (2004 - 2008), Bài giảng Cơ sở liệu đa phương tiện [2] Arvind Arasu Junghoo Cho Hector Garcia-Molina Andreas Paepcke Sriram Raghavan, Searching the Web, Stanford University [3] G Michael Youngblood (2003), “Web Hunting: Design of a Simple Intelligent Web Search Agent”, University of Texas [4] Sanjay Ghemawat & Howard Gobioff and Shun-Tak Leung (2003), The Google File System [5] Graham A Stephen (2000), String Searching Algorithms [6] Robert Sedgewirk (1984), Algorithms, Addison-Wesley Publishing Company [...]... biệt của tác tử di động so với RPC và REV 29 Hình 2.1: Sự tiến hóa của mô hình tác tử di động 2.1.3 Khái niệm về tác tử di động Tác tử di động là giải pháp mạng di động và là công nghệ lập trình hướng tác tử, tiến hóa hơn các mô hình phát triển ứng dụng phân tán trên mạng máy tính truyền thống Tác tử di động được xây dựng dựa trên nhiều công nghệ hiện đại, không dựa vào nguyên lý Client/Server và cũng... các máy tính di động laptop, máy tính tại nhà và máy di động cầm tay Các thiết bị này thường disconnect trong một khoảng thời gian dài, thường có băng thông trễ, kết nối mạng không tin cậy, và thường thay đổi địa chỉ mạng qua mỗi lần kết nối 31 1- Tác tử di động di trú Server Server Tác tử di động di trú Tác tử di động (Code, Data, State) 2- Tác tử di động trả kết quả Server Hình 2.3: Mô hình hoạt động. .. ngắn gọn và dễ hiểu về máy tìm kiếm bao gồm: kiến trúc của máy tìm kiếm, cơ chế hoạt động, các thành phần và mô tả chi tiết một máy tìm kiếm cụ thể là máy tìm kiếm Google Với nhu cầu tìm kiếm thông tin của người dùng ngày càng tăng, yêu cầu chất lượng kết quả trả về ngày càng cao thì máy tìm kiếm ngày càng phải tìm các kĩ thuật mới được nghiên cứu và sử dụng nhằm cải tiến tốt nhất bài toán tìm kiếm thông... kiếm thông tin Một trong các kĩ thuật đó là sử dụng tác tử di động để nâng cao chất lượng tìm kiếm, đáp ứng được yêu cầu của người dùng 27 CHƯƠNG 2: TÁC TỬ DI ĐỘNG VÀ ỨNG DỤNG TRONG CÁC MÁY TÌM KIẾM 2.1 Tổng quan tác tử di động 2.1.1 Giới thiệu Sự bùng nổ nhanh chóng các dịch vụ và nguồn thông tin trên mạng đã làm gia tăng việc khai thác, xử lý thông tin ngày càng trở nên phức tạp và đa dạng Có thể... động (proactiveness) Khả năng tự trị của tác tử di động chủ yếu được quyết định bởi tri thức trang bị cho tác tử di động b) Tính di động (mobility): Là khả năng di chuyển từ môi trường thi hành này sang môi trường khác của một tác tử Đồng thời giữ nguyên trạng thái và khả năng hoạt động của nó Các tác tử có đặc điểm này được gọi là Mobile Agents (tác tử di động) Việc thiết kế và cài đặt tác tử di động. .. phương tiện, theo yêu cầu thời gian thực, trong bối cảnh lưu lượng nội dung số ngày càng bùng nổ 26 Đây là những vấn đề khác biệt giữa máy tìm kiếm dựa trên Web truyền thống (dựa trên từ khóa) và máy tìm kiếm dựa trên tác tử di động Sức mạnh của tác tử di động sẽ được thể hiện trong việc hỗ trợ các công cụ tìm kiếm Với việc máy tính có thể hiểu được thông tin trên Web, các dữ liệu trả về sẽ mang tính ngữ... 1994, JumpStation ra đời và sử dụng một crawler để tìm kiếm các trang web, nhưng việc tìm kiếm chỉ dừng lại ở tiêu đề của các trang web Cũng trong năm này, một trong những máy tìm kiếm dựa trên “full-text” crawler cũng đã ra đời và có tên là WebCrawler Không giống như các máy tìm kiếm trước đó, WebCrawler cho phép người dùng tìm kiếm bất kì từ nào trong các trang web, việc tìm kiếm này đã trở thành một... 10 1.3 Phân loại máy tìm kiếm Xét theo phương pháp tìm kiếm thì các máy tìm kiếm được chia làm hai loại chính: Tìm kiếm thông thường và siêu tìm kiếm 1.3.1 Máy tìm kiếm thông thường Các máy tìm kiếm thông thường thực hiện công việc tìm kiếm theo qui trình thu thập tài liệu, phân loại và tạo chỉ mục Chúng gồm hai loại Search Engine sử dụng thư mục chủ đề và Search Engine tạo chỉ mục tự động [2] Các Search... điểm cơ bản của của các máy tìm kiếm trên web truyền thống Đa số các máy tìm kiếm trên Web truyền thống đều tìm kiếm dựa trên việc đối sánh từ khóa, trên các trang Web phi cấu trúc Vì vậy các máy tìm kiếm chỉ dựa theo từ khóa để tìm kiếm thông tin và đương nhiên sẽ có rất nhiều kết quả không mong muốn được trả về cho người dùng Xét trên phương di n người dùng, các máy tìm kiếm truyền thống gặp phải hai... thức triệu gọi từ xa truyền thống Tác tử di động rất thích hợp cho bài toán tìm kiếm, khai phá, trích rút thông tin trên mạng Internet Một tác tử di động có thể di chuyển từ một thiết bị đầu cuối lên mạng Internet và hoạt động không phụ thuộc vào môi trường và kết nối, thậm chí User tắt máy hay ngắt kết nối khỏi mạng [5] Phát triển các ứng dụng phân tán dựa trên tác tử di động có thể “giấu các kênh truyền”, ... quan tác tử di động ứng dụng máy tìm kiếm Nội dung chương giới thiệu kiến thức tổng quan tác tử di động phạm vi ứng dụng thực tế Mô tả số kiến trúc tác tử di động tìm kiếm sử dụng thông dụng web. .. máy tìm kiếm đạt hiệu tốt Vì ưu điểm trội việc sử dụng chương trình thông minh vào máy tìm kiếm, giải hiệu toán tìm kiếm thông tin nên chọn đề tài Nghiên cứu tác tử di động ứng dụng máy tìm kiếm. .. niệm tác tử di động 29 2.1.4 Các đặc tính tác tử di động 31 2.1.5 Phân loại tác tử di động 32 2.1.6 Các lĩnh vực ứng dụng tiềm tác tử di động 33 2.2 Nguyên lý hoạt động