xây dựng hệ thống focused crawler

98 591 6
xây dựng hệ thống focused crawler

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG HỆ THỐNG FOCUSED CRAWLER Sinh viên thực hiện : Dương Minh Sơn Lớp : HTTT-K49 Giáo viên hướng dẫn : PGS.TS.Trần Đình Khang HÀ NỘI 5-2009 Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 2 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên:Dương Minh Sơn Điện thoại liên lạc :0976738243 Email: sondm18@yahoo.com Lớp: HTTT_B , K49 Hệ đào tạo: kỹ sư chính quy Đồ án tốt nghiệp được thực hiện tại: Bộ môn các hệ thống thông tin Thời gian làm ĐATN: Từ ngày 23/ 02 /2009 đến 10 / 06 /2009 2. Mục đích nội dung của ĐATN • Xây dựng hệ thống Focused Crawler. 3. Các nhiệm vụ cụ thể của ĐATN • Tìm hiểu kiến trúc tổng thể hệ thống Search Engine, Vertical Search Engine, Crawler, Focused Crawler. • Tìm hiểu các phương pháp xây dựng hệ thống Focused Crawler • Phân tích ,thiết kế cài đặt một hoặc hai phương pháp xây dựng hệ thống và đánh giá kết quả 4. Lời cam đoan của sinh viên: Tôi – Dương Minh Sơn- cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS.Trần Đình Khang Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày 25 tháng 5 năm 2009 Tác giả ĐATN Dương Minh Sơn 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày 26 tháng 5 năm 2009 Giáo viên hướng dẫn PGS.TS.Trần Đình Khang Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 1 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Vertical Search Engine là một hệ thống Search Engine thực hiện việc tìm kiếm trên một miền lĩnh vực hẹp. Thành phần trung tâm của nó là Focused Crawler. Nhiệm vụ của nó là tiến hành thu thập các tài liệu trên internet liên quan hoặc thuộc về một miền lĩnh vực nào đó. Đồ án tốt nghiệp gồm năm chương. Chương một, trình bày một cách tổng thể về các hệ thống Search Engine, Vertical Search Engine, Crawler, Focused Crawler. Giúp ta hiểu về nguyên lý hoạt động ,các thành phần của các hệ thống trên. Vấn đề mấu chốt của Focused Crawler là với một tài liệu d, một lĩnh vực t, hãy ước lượng giá trị hàm liên quan giữa d và t : R(d,t) . Để làm được điều này ,trước hết ta cần một mô hình để biểu diễn tài liệu và lĩnh vực. Chương hai, trình bày về mô hình không gian vector ,mô hình hay sử dụng nhất hiện nay. Ngoài ra hệ thống Focused Crawler cũng như các hệ thống Crawler khác được xây dựng trên cơ sở các giải thuật Crawling. Phần tiếp theo của chương hai trình bày các giải thuật Crawling nổi tiếng nhất. Phần cuối cùng của chương này giới thiệu về thư viện mã nguồn mở Nutch mà ta sẽ sử dụng để cài đặt hệ thống. Trên cơ sở mô hình không gian vector, chương ba, trình bày hai phương pháp ước lượng giá trị hàm R(d,t) dựa trên hàm tương tự (Similarity Function) và phân loại Bayes (Bayes Classification). Đánh giá độ phức tạp tính toán, các vấn đề lưu trữ và cài đặt hai phương pháp trên. Chương bốn, nói tới việc phân tích ,thiết kế hệ thống Focused Crawler theo hướng cấu trúc. Chương năm, trình bày tổng quan các phương pháp đánh giá một hệ thống Focused Crawler và đánh giá hệ thống vừa cài đặt. Trong chương này chúng ta cũng đưa ra những kết luận cuối cùng về bài toán mà đồ án giải quyết cũng như định hướng phát triển. Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 2 ABSTRACT OF THESIS Vertical Search Engine is a Search Engine which you can search for information about a particular topic. The main component of Vertical Search Engine is Focused Crawler. Focused Crawler is a robot, working in the Internet that retrieves the documents belonging to the topic. Chapter one will present the architecture, principle of Search Engines, Vertical Search Engines, Crawlers, Focused Crawlers. The most important problem in developing a Focused Crawler is estimates the value of a function: R(d,t) where d is a document and t is a topic. We need a model to present documents and topics. So, chapter two will introduce the Vector Space Model, a famous model in Information Retrieval. In this chapter, we also discuss about crawling algorithm. The last item in this chapter is about Nutch, a java open source library for developing Search Engine. By using Vector Space Model, chapter three will present two methods to estimates R(d,t). The first method is based on Similarity Function and the second method is based on Bayes Classification .We will also discuss about the complexity, implementation problem of the two methods. In chapter four, we will anaylize and design the system including functions, data structure. The last chapter will present the evaluation method to evaluate a Focused Crawler. We will evaluate the system which we implemented. This chapter will also make conclusions of the problem we are solving and its development in future. Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 3 Mục lục Mục lục 4 Lời nói đầu 6 Chương 1.Giới thiệu 8 1.1. Hệ thống tìm kiếm tổng quát 8 1.1.1. Giới thiệu 8 1.1.2. Nguyên lý và kiến trúc của các hệ thống tìm kiếm 9 1.1.3. Thành phần Crawler 13 1.1.4. Các vấn đề khó khăn nhất khi xây dựng hệ thống tìm kiếm 15 1.2. Hệ thống tìm kiếm theo chiều sâu 15 1.2.1. Tại sao phải xây dựng hệ thống tìm kiếm theo chiều sâu 15 1.2.2. Nguyên lý và kiến trúc các hệ thống tìm kiếm theo chiều sâu 17 1.2.3. Thành phần Focused Crawler 17 Chương 2: Cơ sở lý thuyết 19 2.1. Các bước xử lý ngôn ngữ thông thường trong khi tìm kiếm 19 19 2.1.1. Loại bỏ các từ dừng (Stop Word) 19 2.1.2. Đưa một từ trở về từ gốc (Stemming) 19 2.2. Mô hình không gian vector 20 2.2.1. Mô hình không gian vector 20 2.2.2.Ứng dụng mô hình không gian vector trong các hệ thống tìm kiếm 23 2.3. Các giải thuật Crawling 28 2.3.1. Giới thiệu 28 2.3.2. Các độ đo 30 2.3.3. Các giải thuật Crawling 32 Ở đây ta có các cấu trúc dữ liệu sau : 35 2.3.4.Đánh giá các giải thuật Crawling 36 2.4. Thư viện mã nguồn mở Nutch 37 2.4.1. Giới thiệu Nutch 37 2.4.2. Kiến trúc của một thống tìm kiếm dựa Nutch 38 Chương 3: Xây dựng hệ thống Focused Crawler 45 3.1.Hướng tiếp cận thứ nhất 45 3.2. Hướng tiếp cận thứ hai 46 3.2.1. Xây dựng Focused Crawler dựa trên hàm tương tự 46 Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 4 3.2.2. Xây dựng Focused Crawler dựa trên định lý Bayes 53 Chương 4: Phân tích thiết kế hệ thống Focused Crawler 58 4.1. Phân tích hệ thống 59 4.1.1. Phân tích hệ thống về mặt chức năng 59 4.1.2. Phân tích hệ thống về mặt dữ liệu 65 4.2. Thiết kế hệ thống 67 4.2.1. Thiết kế dữ liệu 67 4.2.2. Thiết kế chương trình 72 Chương 5: Đánh giá kết quả 75 5.1. Các phương pháp đánh giá hệ thống Focused Crawler 75 5.1.1. Đánh giá giải thuật Crawling 76 5.1.2. Đánh giá việc phân loại tài liệu 78 5.2. Đánh giá hệ thống đã xây dựng được 81 5.2.1. Đánh giá giải thuật Crawling sử dụng 81 5.2.2. Đánh giá giải thuật phân loại tài liệu 82 5.3. Kết luận 88 Phụ lục 1: Danh mục các hình vẽ trong tài liệu 90 Phụ lục 2 : Danh sách các bảng trong tài liệu 92 Phụ lục 3: Danh sách các thuật ngữ tiếng Anh 93 Phụ lục 4: Một số website tìm kiếm theo chiều sâu hiện nay 94 Tài liệu tham khảo 95 Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 5 Lời nói đầu Thông tin ngày càng có vai trò quan trọng trong cuộc sống. Đến đầu thế kỷ 21 đã xuất hiện nền kinh tế tri thức coi tri thức, thông tin là đầu vào của nhiều công đoạn sản xuất. Xuất hiện một bộ phận những người lao động tạo ra giá trị bằng cách phổ biến thông tin. Đối với nhiều quốc gia, tổ chức, cá nhân, thông tin thực sự là một tài nguyên. Từ những năm 60 của thế kỷ trước vấn đề khai thác và sử dụng thông tin hiệu quả đã được đặt ra, và lúc này khi mạng Internet trở nên phổ biến trên toàn cầu nó càng trở nên bức thiết hơn. Trong khai thác và sử dụng thông tin thì tìm kiếm thông tin là công đoạn quan trọng nhất.Vì vậy một cách tất yếu con người cần có một hệ thống tìm kiếm thông tin hiệu quả ,và cũng tất nhiên nó phải làm việc tốt trên môi trường Internet.Các công cụ như vậy được gọi là Search Engine.Đến giữa những năm 90 đã xuất hiện những hệ thống tìm kiếm đầu tiên Aliweb, sau đó là hàng lọat tên tuổi lớn Altavista (1995) ; Google (1998) ; Yahoo! Search (2004) ; MSN Search (2005)… Trong đồ án này em mong muốn tiếp cận và xây dựng thử nghiệm một hệ thống thu thập thông tin tập trung (Focused Crawler),hạt nhân của một hệ thống tìm kiếm theo chiều sâu (Vertical Search Engine). Báo cáo bao gồm 5 phần : • Chương 1: Giới thiêu: đề cập sự cần thiết và lí do ra đời của hệ thống,các khái niệm liên quan, các hệ thống đang tồn tại. • Chương 2: Cơ sở lý thuyết: đề cập phương pháp luận ,các mục kiến thức liên quan để xây dựng hệ thống • Chương 3: Các phương pháp xây dựng hệ thống Focused Crawler: trình bày hai phương pháp cơ bản xây dựng hệ thống dựa trên mô hình không gian vector • Chương 4: Phân tích , thiết kế hệ thống: trình bày việc phân tích ,thiết kế hệ thống theo hướng cấu trúc. • Chương 5: Kết luận: trình bày các phương pháp đánh giá hệ thống Focused Crawler, rồi sử dụng để đánh giá kết quả thu được Do thời gian và kiến thức cũng như kinh nghiệm hạn chế, nên đồ án không tránh khỏi thiếu sót .Kính mong được thầy cô góp ý, hướng dẫn thêm cho em hoàn thiện đồ án hơn. Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 6 Đồ án được hoàn thành dưới sự chỉ bảo và hướng dẫn tận tình của PGS.TS.Trần Đình Khang. Với tư duy khoa học nhạy bén, và kinh nghiệm phong phú , thầy đã góp nhiều ý kiến quý báu để chúng em lựa chọn những hướng tiếp cận và giải pháp phù hợp nhất. Em cũng xin gửi lời cảm ơn tới các anh chị tại phòng nghiên cứu công ty cổ phần A.N.Lab và đặc biệt là cá nhân anh Đinh Khắc Dũng ,trưởng phòng, đã tạo điều kiện để em thực tập tốt nghiệp ,cài đặt ,và chạy thử hệ thống trên môi trường của công ty. Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 7 Chương 1.Giới thiệu 1.1. Hệ thống tìm kiếm tổng quát 1.1.1. Giới thiệu Trong bối cành hiện nay, người ta cho rằng thông tin là một tài nguyên quan trọng cho đời sống kinh tế xã hội.Thông tin thực sự là đầu vào của nhiều ngành kinh tế đặc biệt là những ngành công nghệ cao hoặc dịch vụ.Vì thế việc sử dụng và khai thác thông tin sao cho hiệu quả nhất được đặt ra. Trong khai thác và sử dụng thông tin thì hai quá trình quan trọng nhất là tìm kiếm và sắp xếp.Phần lớn những thuật toán và công trình tiêu biểu về công nghệ thông tin đều xoay quanh hai chủ đề này. Sự ra đời của internet cũng dẫn đến hai đặc trưng cơ bản của thông tin hiện nay: • Tốc độ ra tăng chóng mặt • Tốc độ thay đổi chóng mặt Loài người thực sự đứng trước vấn đề đã được đặt ra trước đó vài thập kỷ:”ngợp thông tin”.Con người cần một công cụ có thể làm việc trên internet, tìm kiếm, tập hợp càng nhiều thông tin càng tốt ,sau đó lưu trữ ,sắp xếp để sử dụng khi cần thiết. Đó chính là lí do ra đời những hệ thống tìm kiếm tổng quát (All- Purpose Search Engine-APSE). APSE đầu tiên ra đời là ALIWEB (Archie Like Indexing for the WEB ) của Martijn Koster được giới thiệu vào tháng 11/1993.Sau đó là hàng loạt những tên tuổi lớn khác : Altavista (1995) ; Google (1998) ; Yahoo! Search (2004) ; MSN Search (2005). Hiện nay Google là tên tuổi số một ,chiếm khoảng 53% thị phần người dùng Internet tại Mỹ, và là một trong các thương hiệu có giá trị nhất hành tinh. Số tài liệu mà các công cụ tìm kiếm này lưu trữ cũng tăng lên tỉ lệ thuận với tốc độ thay đổi transistor trên các chip điện tử theo định luật Moore: “Số lượng transistor trên mỗi đơn vị inch vuông sẽ tăng lên gấp đôi sau 18 tháng”.Năm 1998 khi mới ra đời Google quản lý số tài liệu cỡ 6 10 , mười năm sau 2008 họ thông báo rằng đang có số tài liệu lên tới 9 10 . Để có thể lưu trữ, sắp xếp, và tìm kiếm trên số tài liệu khổng lồ đó những nhà phát triển không những phải tiến hành xây dựng những giải thuật hiệu quả nhất mà cấu hình phần cứng của họ Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 8 [...]... định trước về hệ thống máy chủ, lập chỉ mục, sắp xếp, rồi tiến hành tìm kiếm trên hệ thống đã sắp xếp 1.2.2.2 Kiến trúc Từ khái niệm và nguyên lý xây dựng ta thấy rằng về cơ bản hệ thống VSE có kiến trúc và hoạt động gần giống với APSE Khác biệt lớn nhất của VSE là hệ thống Crawler thông thường được thay thế bởi Focused Crawler. Thay vì crawling toàn bộ hoặc bất kỳ tài liệu nào ,Focused Crawler chỉ quan... chỉ quan tâm tới các tài liệu thuộc lĩnh vực hẹp mà thôi 1.2.3 Thành phần Focused Crawler 1.2.3.1 Khái niệm Focused Crawler là các hệ thống Crawler thực hiện việc tìm đến, phân tích và tải về các tài liệu “liên quan” tới một lĩnh vực hẹp hoặc một vài lĩnh vực hẹp nào đó Hai cách tiếp cận chủ yếu khi xây dựng hệ thống Focused Crawler: • Chỉ download những tài liệu thuộc lĩnh vực • Download toàn bộ,... Kiến trúc của Focused Crawler theo cách tiếp cận thứ nhất Thành phần khác biệt lớn nhất của một hệ thống Focused Crawler so với các hệ thống Crawler bình thường khác chính là bộ decision-maker Nhiệm vụ của bộ phận này là xác định xem một link theo cách tiếp cận 1 hay mộ tài liệu theo cách tiếp cận 2 có thuộc lĩnh vực hay không.Ngoài ra toàn bộ nguyên lý và cách thức hoạt động của Focused Crawler hoàn... chuyển sang công nghệ Google 2.0 , họ tiết lộ một vài chỉ số kĩ thuật của hệ thống Google 1.0: • Cluster of PCs với hơn 6.000 bộ xử lý • Hệ thống lưu trữ dùng RAID: có 12.000 đĩa cứng ~ 1petabyte (1triệu GB) • 2 site ở Silicon Valley, 1site ở Virginia Mỗi site được kết nối với Internet qua OC48 (2488Mbps) Cùng với hệ điều hành (Operating System), các hệ thống tìm kiếm là những hệ thống tin học lớn nhất... giả gộp hệ thống Sorter vào thành phần Searcher Sinh viên thực hiện: Dương Minh Sơn-Khoá K49-Lớp HTTT 9 1.1.2.1 Kiến trúc a Kiến trúc Ta sẽ nghiên cứu kiến trúc tổng thể của hệ thống tìm kiếm Google,APSE tiêu biểu nhất hiện nay: Hình 1.1: Kiến trúc tổng thể hệ thống tìm kiếm Google Quy trình làm việc của hệ thống và chức năng của từng thành phần có thể được diễn tả như sau:  URL server gửi cho Crawler. .. liệu hiện có trên internet về hệ thống máy chủ, lập chỉ mục, sắp xếp, rồi tiến hành tìm kiếm trên hệ thống đã sắp xếp Luôn có ba thành phần cơ bản: • Crawler (lấy các tài liệu về hệ thống lưu trữ ) • Indexer & Sorter (sắp xếp và lập chỉ mục) • Searcher (phân tích câu truy vấn và tìm tài liệu liên quan, hiển thị kết quả tìm kiếm) Ở đây ta dùng từ “cơ bản” vì với những hệ thống lớn, phức tạp, còn có thêm... phục vụ cùng một lúc hàng triệu người • Khi số lượng tài liệu quản lý ngày càng ra tăng làm thế nào để phân hoạch chúng , loại bỏ những tài liệu tương tự ra khỏi hệ thống máy chủ 1.2 Hệ thống tìm kiếm theo chiều sâu 1.2.1 Tại sao phải xây dựng hệ thống tìm kiếm theo chiều sâu Google là một công cụ tìm kiếm tốt, chứ chưa hẳn hoàn hảo ”Tốt ” vì nó đủ “mạnh” để tập hợp một lượng thông tin khổng lồ cỡ 9 tỉ... nhất mà con người từng xây dựng, cũng là những hệ thống được sử dụng nhiều nhất Có ba lĩnh vực nghiên cứu liên quan mật thiết tới các hệ thống tìm kiếm: • Information retrieval • Data mining đặc biệt là web mining • Natural language processing Tại Việt Nam, vào thời điểm mà tác giả viết báo cáo này, có không dưới 4 công cụ tìm kiếm Tiếng Việt đang được đầu tư ,nghiên cứu và xây dựng Đó là Socbay.com... Socbay.com ,Xalo.vn, Zing.vn, Bamboo.com Các hệ thống này đang lưu trữ cỡ 108 tài liệu tiếng Việt Động lực để các nhà đầu tư bỏ hàng triệu USD để xây dựng chúng là vì ở Hàn Quốc và Trung Quốc các hệ thống tìm kiếm bản địa đã chiến thắng Google với lí do chính là tập trung vào xử lý tiếng Hàn và tiếng Trung tốt hơn 1.1.2 Nguyên lý và kiến trúc của các hệ thống tìm kiếm 1.1.2.1 Nguyên lý Nguyên lý: tìm... vực nào Crawler không thể vào • Parallelization plicies: ho phép tổ chức Crawling song song và phân tán ra sao Các vấn đề khó khăn khi xây dựng Crawler: • Số lượng khổng lồ các tài liệu cần được Crawling • Sự sản sinh một cách tự động các tài liệu HTML dựa trên các ngôn ngữ ServerPages: ASP, JSP, PHP • Tốc độ thay đổi dữ liệu trên các tài liệu 1.1.4 Các vấn đề khó khăn nhất khi xây dựng hệ thống tìm . liên quan để xây dựng hệ thống • Chương 3: Các phương pháp xây dựng hệ thống Focused Crawler: trình bày hai phương pháp cơ bản xây dựng hệ thống dựa trên. Crawler, Focused Crawler. • Tìm hiểu các phương pháp xây dựng hệ thống Focused Crawler • Phân tích ,thiết kế cài đặt một hoặc hai phương pháp xây dựng hệ thống

Ngày đăng: 10/03/2014, 08:31

Từ khóa liên quan

Mục lục

  • Mục lục

  • Lời nói đầu

  • Chương 1.Giới thiệu

    • 1.1. Hệ thống tìm kiếm tổng quát

      • 1.1.1. Giới thiệu

      • 1.1.2. Nguyên lý và kiến trúc của các hệ thống tìm kiếm

        • 1.1.2.1. Nguyên lý

        • 1.1.2.1. Kiến trúc

        • 1.1.3. Thành phần Crawler

          • 1.1.3.1. Khái niệm

          • 1.1.3.2. Kiến trúc

          • 1.1.4. Các vấn đề khó khăn nhất khi xây dựng hệ thống tìm kiếm

          • 1.2. Hệ thống tìm kiếm theo chiều sâu

            • 1.2.1. Tại sao phải xây dựng hệ thống tìm kiếm theo chiều sâu

            • 1.2.2. Nguyên lý và kiến trúc các hệ thống tìm kiếm theo chiều sâu.

              • 1.2.2.1. Nguyên lý

              • 1.2.2.2. Kiến trúc

              • 1.2.3. Thành phần Focused Crawler

                • 1.2.3.1. Khái niệm

                • 1.2.3.2. Kiến trúc

                • Chương 2: Cơ sở lý thuyết

                  • 2.1. Các bước xử lý ngôn ngữ thông thường trong khi tìm kiếm

                    • 2.1.1. Loại bỏ các từ dừng (Stop Word)

                    • 2.1.2. Đưa một từ trở về từ gốc (Stemming)

                    • 2.2. Mô hình không gian vector

                      • 2.2.1. Mô hình không gian vector

                        • 2.2.1.1. Khái niệm

                        • 2.2.1.2. Hàm tương tự giữa hai vector trong không gian

                        • Khi đã xây dựng được không gian vector, một cách tự nhiên người ta muốn xây dựng hàm tương tự giữa hai vector.Điều này phục vụ việc tính toán độ tương tự giữa hai tài liệu trong việc phân cụm tài liệu ,hay độ phù hợp của một tài liệu với một câu truy vấn khi tìm kiếm.

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

Tài liệu liên quan