Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

33 654 0
Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

Đ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

BỘ GIÁO DỤC ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN QUANG HUY NGHIÊN CỨU SEARCH ENGINE CÁC THUẬT TOÁN ĐỐI SÁNH MẪU CHO HỆ THỐNG TÌM KIẾM THÔNG TIN TRÊN MẠNG CHUYÊN NGÀNH: TRUYỀN DỮ LIỆU MẠNG MÁY TÍNH MÃ SỐ: 60.48.15 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI - 2010 Luận văn được hoàn thành tại: Học viện Công nghệ Bưu chính Viễn thông Tập đoàn Bưu chính Viễn thông Việt Nam Người hướng dẫn khoa học: TS. PHẠM THẾ QUẾ Phản biện 1: Phản biện 2: Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu chính Viễn thông ii MỤC LỤC MỤC LỤC ii MỞ ĐẦU iii CHƯƠNG 1: TỔNG QUAN VỀ SEARCH ENGINE 1 1.1 Giới thiệu chung 1 1.2 Phân loại: 2 1.2.1 Máy tìm kiếm thông thường 2 1.2.2 Máy siêu tìm kiếm - Meta Search Engine 2 1.3 Mô hình của seach engine 3 1.3.1 Bộ tìm duyệt Crawler 3 1.3.2 Kho dữ liệu Repository 7 1.3.3 Bộ lập chỉ mục Indexer 8 1.3.4 Phân hạng trang (Page Rank) 11 1.4 Search Engine điển hình 12 1.4.1 Sự ra đời 12 1.4.2 Cấu trúc của máy tìm kiếm Google 12 1.4.3 Cấu trúc dữ liệu chính 13 1.4.4 Document Index 14 1.4.5 Danh mục từ Lexicon 14 1.4.6 Các danh sách hit 14 1.4.7 Đánh chỉ mục cho web (indexing the web) 15 1.4.8 Tìm kiếm 15 1.4.9 Hệ thống xếp hạng 16 CHƯƠNG II: CÁC THUẬT TOÁN ĐỐI SÁNH MẪU CHO HỆ THỐNG TÌM KIẾM THÔNG TIN TRÊN MẠNG 17 2.1 Giới thiệu một số thuật toán đối sánh mẫu điển hình 18 2.1.1 Thuật toán Brute Force 18 2.1.2 Thuật toán Knuth Morris Pratt 19 2.1.3 Thuật toán Boyer-Moore 21 2.2 So sánh các thuật toán 22 CHƯƠNG III: THỬ NGHIỆM XÂY DỰNG MÁY TÌM KIẾM 23 3.1 Giới thiệu 23 3.2 Xây dựng cấu trúc dữ liệu 23 3.2.1 Lớp Catalog 23 3.2.2 Lớp Word 23 3.2.3 Lớp File 24 3.3 Đặc tả chức năng của chương trình 24 3.3.1 Mô tả cơ chế hoạt động 24 3.3.2 Trang search.cs 25 3.3.3 Trang web.config 25 3.3.4 Trang Search_Crawler.aspx 25 3.3.5 Trang Search_Engine.aspx 25 KẾT LUẬN 27 KIẾN NGHỊ HƯỚNG NGHIÊN CỨU TIẾP THEO 28 iii MỞ ĐẦU Trong đời sống ngày nay, với sự phát triển nhanh chóng của Internet, các tài nguyên trên World-Wide-Web hết sức phong phú rất hữu ích đối với cuộc sống công việc của nhiều người trên khắp thế giới. Tuy nhiên, để khai thác hiệu quả tài nguyên khổng lồ này search engine là một công cụ không thể thiếu. Để tìm kiếm một thông tin trên mạng chỉ cần đơn giản là truy cập vào một trang tìm kiếm như Google gõ vào từ khoá cần tìm rồi nhấn nút. Sau một khoảng thời gian rất ngắn một danh sách các trang web phù hợp với từ khóa sẽ được trả về được sắp theo thứ tự những trang có nội dung gần với yêu cầu của người sử dụng nhất thì sẽ hiển thị ở đầu danh sách. Công việc còn lại của người sử dụng là mở các trang này ra xem thông tin. Những trang có chức năng tìm kiếm như vậy chúng ta còn gọi là các máy tìm kiếm Search Engine. Các Search Engine không chỉ đơn thuần là một trang web với các mã HTML đơn giản mà nó là cả một hệ thống gồm nhiều bộ phận, mỗi bộ phận thực hiện một chức năng như dò tìm các trang trên Internet, tải chúng về, phân hạng, lập chỉ mục, trả về kết quả cho người sử dụng. Do sự hữu ích của các công cụ tìm kiếm thông tin trên Internet nên tôi lựa chọn đề tài “Nghiên cứu Search Engine các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng”, với mục đích là nghiên cứu cấu trúc, cơ chế hoạt động của một Search Engine, một số thuật toán đối sánh mẫu. Tiếp đó là xây dựng một máy tìm kiếm hoạt động theo cơ chế chung của một Search Engine. 1 CHƯƠNG 1: TỔNG QUAN VỀ SEARCH ENGINE 1.1 Giới thiệu chung Máy tìm kiếm Search Engine nguyên thuỷ là một phần mềm nhằm tìm ra các trang trên mạng Internet có nội dung theo yêu cầu người dùng dựa vào các thông tin mà người sử dụng cung cấp qua từ khoá tìm kiếm. Máy tìm kiếm sẽ truy tìm trong cơ sở dữ liệu của nó trả về danh mục các trang Web có chứa từ khoá mà người sử dụng đưa vào ban đầu. Thuật ngữ “Search Engine” được dùng chung để chỉ 2 hệ thống tìm kiếm: Một do các chương trình máy tính tự động tạo ra (Crawler-Based Search Engines) dạng thư mục Internet do con người quản lý (Human-Powered Directories). Hai hệ thống tìm kiếm này tìm lập danh mục website theo 2 cách khác nhau. Crawler-Based Search Engines: Các máy tìm kiếm loại này chúng sử dụng các chương trình máy tính, được gọi là Robots, Spiders, hay Crawlers để lần tìm các trang trên mạng, rồi tự động phân tích các trang lấy về đưa vào cơ sở dữ liệu của nó. Khi có một yêu cầu tìm kiếm, các Search Engine đối chiếu từ khóa cần tìm vào trong bảng chỉ mục trả về các thông tin lưu trữ tương ứng. Các cỗ máy tìm kiếm loại này có cơ chế cập nhật nội dung của web định kỳ để phát hiện sự thay đối (nếu có) của các trang web. Human-Powered Directories: các thư mục Internet hoàn toàn phụ thuộc vào sự quản lý của con người. Nếu người sử dụng muốn các 2 Search Engine tìm thấy trang web của mình thì họ phải đăng ký vào thư mục bằng cách gửi bản đăng ký đến ban biên tập của Search Engine. Ngày nay hầu hết các hệ thống tìm kiếm đều là sự tổng hợp của hệ thống tìm kiếm tự động hệ thống tìm theo thư mục do người dùng quản lý. 1.2 Phân loại: Xét theo phương pháp tìm kiếm thì các Search Engine được chia làm hai loại chính: Tìm kiếm thông thường siêu tìm kiếm. 1.2.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 tạo chỉ mục. Chúng gồm hai loại, Search Engine sử dụng thư mục chủ đề Search Engine tạo chỉ mục tự động. Các Search Engine sử dụng thư mục chủ đề phân lớp sẵn các trang trên Internet vào các thư mục chủ đề theo các cấp chi tiết hơn của chủ đề. 1.2.2 Máy siêu tìm kiếm - Meta Search Engine Meta Search Engine là loại máy truy tìm ảo, nó hoạt động dựa trên sự tồn tại của các Search Engine sẵn có. Các Meta Search Engine không có cơ sở dữ liệu của riêng mình. Khi có yêu cầu tìm kiếm máy siêu tìm kiếm sẽ gửi từ khóa đến các Search Engine khác một cách đồng loạt nhận về các kết quả tìm được. Nhiệm vụ còn lại của máy siêu tìm kiếm là phân tích phân hạng lại các kết quả tìm được. 3 1.3 Mô hình của seach engine 1.3.1 Bộ tìm duyệt Crawler Bộ tìm duyệt Crawler thu thập các trang trên Internet rồi chuyển cho bộ đánh chỉ mục Indexer. Crawler xuất phát từ tập các URL ban đầu S 0 . Đầu tiên nó sắp xếp các phần tử trong tập S 0 vào một hàng đợi, sau đó lấy dần các URL theo thứ tự tải về các trang tương ứng, Crawler trích tất cả các URL có trong các trang vừa tải về rồi lại đưa vào hàng đợi. Quá trình trên tiếp tục cho đến khi Crawler quyết định dừng lại. Do số lượng các trang tải về rất lớn tốc độ thay đổi nhanh chóng của Web nên xuất hiện những vấn đề cần giải quyết: - Lựa chọn các trang để tải về. - Cách cập nhật các trang: Crawler phải xem xét trang nào nên ghé thăm lại trang nào không. - Song song hoá quá trình dò tìm trang web: Các Crawlers song song phải được bố trí một cách hợp lý sao cho một Crawler không ghé thăm các trang mà một Crawler khác đã thăm. 1.3.1.1 Page selection (lựa chọn các trang) Bộ tìm duyệt Crawler tải về các trang theo thứ tự trang nào “quan trọng” sẽ tải về trước. Như vậy ta phải tìm hiểu cách mà Crawler xác định mức độ quan trọng của các trang. Cho một trang web P, ta định nghĩa mức độ “quan trọng” của trang P theo các cách sau: - Interest Driven: là phương pháp xác định mức độ quan trọng của các trang dựa vào mức độ quan tâm của người sử dụng với các trang đó. 4 - Popularity Driven: xác định mức độ quan trọng của một trang dựa vào mức độ phổ biến của trang. Một trong các cách để định nghĩa độ phổ biến của trang là sử đếm số liên kết đến trang đó (số back link). - Location Driven: xác định mức độ quan trong của trang P dựa vào địa chỉ của nó. 1.3.1.2 Mô hình Crawler Crawler được thiết kế để có khả năng ghé thăm các trang theo thứ tự các trang có mức độ quan trọng cao hơn thăm trước các trang có hạng thấp hơn thăm sau. Bộ Crawler đánh giá các trang dựa vào giá trị phân hạng. Từ sự đánh giá này Crawler biết được các trang có mức độ quan trọng cao hơn để lấy về trong lần kế tiếp. Để đánh giá chất lượng của Crawler người ta có thể định nghĩa độ đo chất lượng quality metric của nó bằng một trong hai cách sau: - Crawl & stop: Bộ Crawler C xuất phát từ trang khởi đầu P 0 và dừng lại sau khi ghé thăm k trang, k là số lượng trang mà Crawler có thể tải về trong một lần duyệt. Một Crawler tốt sẽ ghé thăm các trang theo thứ tự R 1 ,….R k trong đó R 1 là trang có thứ hạng cao nhất, lần lượt đến R 2 ,… . Gọi R 1 , …,R K là các trang hot. Trong số k trang được Crawler ghé thăm chỉ có m trang (mk) sẽ được sắp thứ hạng cao hơn hoặc bằng trang R k - Crawl & Stop with Threshold: vẫn giả sử rằng bộ Crawler ghé thăm k trang. Tuy nhiên lúc này đích quan trọng G đã được cho sẵn, bất cứ trang nào có độ quan trọng lớn hơn G thì đều được coi là trang hot. 5 - Độ đo thứ hạng (Ordering Metrics): Một Crawler lưu giữ những URLs mà nó đã ghé thăm trong quá trình dò tìm vào một hàng đợi. Sau đó nó lựa chọn một URL trong hàng đợi cho lần ghé thăm tiếp theo. Ở mỗi lần lựa chọn thì Crawler chọn URL u có giá trị Ordering cao nhất để ghé thăm. Độ đo thứ hạng (Ordering Metric) được thiết lập dựa vào một trong các độ đo khác. Ví dụ nếu ta đang thực hiện tìm những trang có giá trị IB(P) cao, thì ta sẽ lấy giá trị IB ’ (P) làm độ đo thứ hạng, trong đó P là trang mà được trang u trỏ tới. 1.3.1.3 Page Refresh Khi Crawler lựa chọn tải về các trang “quan trọng”, sau một khoảng thời gian nhất định nó phải thực hiện cập nhật các trang đó. Có rất nhiều cách để cập nhật các trang web, các cách khác nhau sẽ cho các kết quả khác nhau. Sau đây là hai cách: + Uniform refresh policy: Chiến lược cập nhật đồng loạt. Crawler ghé thăm lại tất cả các trang theo cùng một tần suất f. + Proportional refresh policy: Cập nhật theo tỷ lệ, một trang thường xuyên thay đổi thì Crawler ghé thăm thường xuyên hơn. Để chính xác hơn ta giả sử µ i là tần xuất thay đổi của trang e i , f i là tần suất mà Crawler ghé thăm lại trang e i . Crawler phải ước lượng µ i của mỗi trang để thiết lập chiến lược ghé thăm lại mỗi trang thích hợp. Việc ước lượng này dựa vào quá trình thay đổi của trang trước đó mà Crawler đã ghi lại được. Độ đo cập nhật (freshness metric): Giả sử có hai tập các trang web A, B mỗi tập gồm 20 trang, trong đó tập A có trung bình 10 trang được cập nhật, tập B có 15 trang [...]... sao cho không có bất kỳ một thông tin nào có quá nhiều ảnh hưởng Hệ thống tìm kiếm Google có khả năng mở rộng Google sử dụng một số kỹ thuật như giải thuật phân hạng trang PageRank, anchor text, proximity để nâng cao chất lượng tìm kiếm 17 CHƯƠNG II: CÁC THUẬT TOÁN ĐỐI SÁNH MẪU CHO HỆ THỐNG TÌM KIẾM THÔNG TIN TRÊN MẠNG Để một máy tìm kiếm họat động hiệu quả, ngoài kỹ thuật thu thập thông tin và. .. đun trong Search Engine như kỹ thuật xây dựng mô đun tìm duyệt Crawler, mô đun đánh chỉ mục Indexer, mô đun phân hạng Ranking,…Từ đó tìm hiểu Search Engine điển hình Google - Trên cơ sở tìm hiểu về hệ thống tìm kiếm, cũng như cách thức tìm kiếm trên mạng luận văn đã tập trung phân tích đánh giá một số thuật toán đỗi sánh mẫu để áp dụng cho hệ thống tìm kiếm - Xây dựng một Search Engine trên cơ sở... trình C# công nghệ ASP.NET Search Engine này chạy trên trình chủ localhost, nó hoạt động dựa theo nguyên lý chung của một hệ thống tìm kiếm trên mạng Search Engine thực hiện được chức năng dò tìm các tệp html, phân tích các tệp mà nó tìm được thành các từ xây dựng danh mục từ Catalog Sau đó cho phép người sử dụng gõ vào từ hoặc cụm từ cần tìm Search Engine sẽ trả về kết quả tìm kiếm theo... hành tìm trong Danh mục từ Catalog trả về kết quả là các trang có chứa từ khoá 26 Hình 3.11: Màn hình trang tìm kiếm chính Search_ engine. aspx Hình 3.13: Màn hình kết quả tìm kiếm với cụm từ khoá: Search Engine 27 KẾT LUẬN Kết quả đạt được của luận văn: - Luận văn đã trình bày kiến trúc nguyên tắc hoạt động chung của các hệ thống tìm kiếm thông tin trên mạng Các kỹ thuật trong việc xây dựng các. .. có độ dài n (m ≤ n), tập các ký tự được dùng gọi là bảng chữ cái , có số lượng là  Để tăng tốc độ tìm kiếm dữ liệu thì đối sánh đa mẫu được sử dụng Trong phương pháp đối sánh đơn mẫu thì tại một thời điểm chỉ có một mẫu được đối sánh Còn trong phương pháp đối sánh đa mẫu, tại một thời điểm nhiều mẫu được đồng thời đối sánh Việc đối sánh mẫu diễn ra với nhiều lần thử trên các đoạn khác nhau của văn... (i+1) End; Trong cách dịch thứ 2 thuật toán Boyer Moore có thể đạt tới chi phí O(n/m) trong trường hợp chuỗi ban đầu không lớn bộ ký tự không nhỏ 2.2 So sánh các thuật toán Như vậy ngoài thuật toán Brute Force tìn kiến theo kiểu vét cạn thuật toán Knuth Morris Pratt và thuật toán Boyer-Moore đều có ưu điển hơn Tuy nhiên còn tùy thuộc vào đặc điểm của các chỗi so sánh Nếu chỗi so sánhcác chuỗi có... phần tìm kiếm của người Việt, nên các cỗ máy tìm kiếm trong nước đang gặp rất nhiều khó khăn Nên phương hướng phát triển đề tài là phát triển các hệ thống tìm kiếm trong nước để thu hút được đa số người sử dụng tiếng Việt Muốn vậy chúng ta cần tập trung đi sâu vào nghiên cứu phát triển các cỗ máy tìm kiếm tiếng Việt với khả năng bản địa hoá sâu sắc Các cỗ máy này phải nắm bắt được thói quen tìm kiếm thông. .. tạo chỉ mục cho thông tin, chúng ta cũng cần quan tâm đến việc sử dụng các thuật toán tối ưu để tìm kiếm dữ liệu Dữ liệu trong máy tính được lưu trữ dưới rất nhiều dạng khác nhau, nhưng phổ biến nhất vẫn là dạng chuỗi Một phép toán cơ bản trên chuỗi là đối sánh mẫu (pattern matching), bài toán yêu cầu ta tìm ra một hoặc nhiều vị trí xuất hiện của mẫu trên một văn bản Trong đó mẫu có độ dài m văn bản... NGHỊ HƯỚNG NGHIÊN CỨU TIẾP THEO Hiện nay trên mạng Internet đã có rất nhiều công cụ tìm kiếm mạnh được hầu hết người sử dụng trên thế giới biết đến sử dụng hàng ngày như công cụ tìm kiếm Google, Yahoo, Altavista, ở Việt Nam cũng đã có những công cụ tìm kiếm giành cho người Việt như Sóc bay, Xa lộ, …Tuy nhiên do sự phát triển mạnh mẽ của cỗ máy tìm kiếm lớn nhất thế giới Google với việc cho. .. là thuật toántìm kiếm chuỗi rất có hiệu quả trong thực tiễn Thuật toán Boyer-Moore kiểm tra các ký tự của mẫu từ phải sang trái khi phát hiện sự khác nhau đầu tiên thuật toán sẽ tiến hành dịch cửa sổ : Cách thứ 1: Dịch sao cho những phần đã so sánh trong lần trước khớp với những phần giống nó trong lần sau Cách thứ 2: Coi ký tự đầu tiên không khớp trên văn bản là b=T[j+i-1] ta sẽ dịch sao cho . MẪU CHO HỆ THỐNG TÌM KIẾM THÔNG TIN TRÊN MẠNG 17 2.1 Giới thiệu một số thuật toán đối sánh mẫu điển hình 18 2.1.1 Thuật toán Brute Force 18 2.1.2 Thuật. toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng , với mục đích là nghiên cứu cấu trúc, cơ chế hoạt động của một Search Engine, và một số thuật

Ngày đăng: 17/02/2014, 08:47

Hình ảnh liên quan

1.4 Search Engine điển hình - Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

1.4.

Search Engine điển hình Xem tại trang 17 của tài liệu.
Hình 3.1: Cơ chế hoạt động của máy tìm kiếm Search Engine - Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

Hình 3.1.

Cơ chế hoạt động của máy tìm kiếm Search Engine Xem tại trang 29 của tài liệu.
Hình 3.10: Trang Search_Crawler.aspx - Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

Hình 3.10.

Trang Search_Crawler.aspx Xem tại trang 30 của tài liệu.
Hình 3.11: Màn hình trang tìm kiếm chính Search_engine.aspx - Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

Hình 3.11.

Màn hình trang tìm kiếm chính Search_engine.aspx Xem tại trang 31 của tài liệu.
Hình 3.13: Màn hình kết quả tìm kiếm với cụm từ khoá: Search Engine  - Nghiên cứu search engine và các thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin trên mạng

Hình 3.13.

Màn hình kết quả tìm kiếm với cụm từ khoá: Search Engine Xem tại trang 31 của tài liệu.

Từ khóa liên quan

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

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

Tài liệu liên quan