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

Sử dụng đối sánh mẫu xấp xỉ và kỹ thuật chỉ mục cho tìm kiếm trong website

79 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,84 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN VĂN QUYẾT SỬ DỤNG ĐỐI SÁNH MẪU XẤP XỈ VÀ KỸ THUẬT CHỈ MỤC CHO TÌM KIẾM TRONG WEBSITE LUẬN VĂN THẠC SỸ KHOA HỌC TOÁN ỨNG DỤNG HÀ NỘI, 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN VĂN QUYẾT SỬ DỤNG ĐỐI SÁNH MẪU XẤP XỈ VÀ KỸ THUẬT CHỈ MỤC CHO TÌM KIẾM TRONG WEBSITE Chuyên ngành: Toán ứng dụng Mã số: 60.46.01.04 LUẬN VĂN THẠC SỸ KHOA HỌC TOÁN ỨNG DỤNG NGƢỜI HƢỚNG DẪN KHOA HỌC: TS NGUYỄN THỊ THANH HUYỀN HÀ NỘI, 2016 LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu riêng đƣợc hƣớng dẫn TS Nguyễn Thị Thanh Huyền Trong luận văn có sử dụng số nhận xét, đánh giá nhƣ số liệu tác giả khác có trích dẫn thích nguồn gốc phần tài liệu tham khảo Nếu phát có gian lận tơi xin hồn tồn chịu trách nhiệm nội dung luận văn Hà Nội, ngày 30 tháng 09 năm 2016 Tác giả Nguyễn Văn Quyết i LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Thị Thanh Huyền Cô ngƣời tận tình bảo truyền kinh nghiệm nghiên cứu khoa học suốt trình thực luận văn Sự động viên tin tƣởng Cô động lực để em thực hồn thành luận văn Em xin đƣợc bày tỏ lòng biết ơn đến thầy Viện Tốn ứng dụng Tin học, trƣờng đại học Bách Khoa Hà Nội dạy dỗ giúp đỡ em suốt trình học tập vừa qua Cuối cùng, em xin gửi lời cảm ơn chân thành tới gia đình, đồng nghiệp, bạn bè ngƣời thân tạo điều kiện thuận lợi, đóng góp ý kiến động viên q trình học tập nhƣ thực luận văn Tuy thân có nhiều cố gắng nhƣng điều kiện nghiên cứu hạn chế thời gian nên thân cịn mắc nhiều thiếu sót luận văn Tác giả trân trọng ý kiến đóng góp nhận xét tất ngƣời đọc để luận văn đƣợc hoàn thiện Em xin chân thành cảm ơn ! Hà Nội, ngày 30 tháng 09 năm 2016 Nguyễn Văn Quyết ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi MỞ ĐẦU vii Chƣơng TỔNG QUAN 1.1 Tổng quan vấn đề tìm kiếm tìm kiếm website 1.1.1 Vấn đề tìm kiếm tốn đối sánh mẫu 1.1.2 Tìm kiếm website 1.2 Sơ lƣợc máy tìm kiếm 1.2.1 Giới thiệu chung máy tìm kiếm 1.2.2 Phân loại máy tìm kiếm 1.2.3 Mơ hình Search Engine 1.2.4 Search Engine điển hình 1.3 Bài tốn đối sánh mẫu xác 10 1.3.1 Bài toán so đơn mẫu 10 1.3.2 Bài toán so đa mẫu 19 1.4 Tổng quan vấn đề đối sánh mẫu xấp xỉ 25 1.4.1 Bài toán đối sánh mẫu xấp xỉ 25 1.4.2 Các hàm khoảng cách kinh điển 27 1.4.3 Cách tiếp cận giải toán so mẫu xấp xỉ 28 Chƣơng MỘT SỐ THUẬT TOÁN ĐỐI SÁNH MẪU XẤP XỈ 30 2.1 Phát biểu toán 30 2.2 Bài tốn tìm kiếm dãy chung dài 30 2.2.1 Phát biểu toán 30 2.2.2 Ý tƣởng thuật toán 30 2.2.3 Thuật toán 31 2.2.4 Ví dụ 32 iii 2.2.5 Đánh giá thuật toán 33 2.3 Bài tốn tìm kiếm khoảng cách Levenshtein hai xâu 33 2.3.1 Phát biểu toán 33 2.3.2 Ý tƣởng thuật toán 33 2.3.3 Thuật toán 34 2.3.4 Ví dụ 35 2.3.5 Đánh giá thuật toán 35 2.4 Một thuật toán kinh điển cho tốn tìm kiếm khúc chung hai xâu 36 2.4.1 Phát biểu toán 36 2.4.2 Ý tƣởng thuật toán 36 2.4.3 Thuật toán 37 2.4.4 Ví dụ 37 2.4.5 Đánh giá thuật toán 38 2.5 Bài toán tìm khúc chung dài tiếp cận theo otomat mờ 38 2.5.1 Phát biểu toán 38 2.5.2 Ý tƣởng thuật toán 38 2.5.3 Otomat sánh mẫu: mơ hình sở tốn học 40 2.5.4 Thuật toán 43 2.5.5 Đánh giá thuật toán 44 2.6 Bài tốn tìm khúc chung dài theo tiếp cận otomat mờ kết hợp khoảng cách Levenshtein 46 2.6.1 Phát biểu toán 46 2.6.2 Ý tƣởng thuật toán 46 2.6.3 Thuật toán 48 2.6.4 Đánh giá thuật toán 49 2.7 Cài đặt chƣơng trình mơ 49 Chƣơng KỸ THUẬT CHỈ MỤC TRONG CÁC CÔNG CỤ TÌM KIẾM 53 3.1 Kỹ thuật lập mục sở liệu (database index) 53 3.1.1 Tổng quan mục sở liệu 53 iv 3.1.2 Ƣu điểm mục sở liệu 53 3.1.3 Kiến trúc phƣơng thức mục 54 3.1.4 Ứng dụng hạn chế 55 3.1.5 Các loại mục 56 3.2 Lập mục website máy tìm kiếm (Web Indexing) 57 3.3 Lập mục webpage website sử dụng web bots 57 3.3.1 Tổng quan mục webpage 57 3.3.2 Thiết kế thực Web Bots 61 3.4 Các thƣ viện hỗ trợ việc đánh mục 62 3.4.1 Giới thiệu Lucene 63 3.4.2 Kiến trúc Lucene 64 3.4.3 Kiến trúc File Index 65 KẾT LUẬN 67 Kết đạt đƣợc 67 Những hạn chế tồn 67 Hƣớng phát triển 67 TÀI LIỆU THAM KHẢO 68 v DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.2.1.Kiến trúc Google Search Engine Hình 1.3.1 Ý nghĩa mảng next vị trí i thuật tốnKMP 12 Hình 1.3.2.Ý nghĩa mảng next vị trí m+1 thuật tốn KMP 12 Hình 1.3.3.good-suffix shift, trƣờng hợp u lại xuất P (thuật toán BM) 15 Hình 1.3.4.good-suffix shift, trƣờng hợp suffix u xuất P (thuật toán BM) 16 Hình 1.3.5.bad-character shift, a xuất P(thuật tốn BM) 16 Hình 1.3.6.bad-character shift, a khơng xuất P (thuật tốn BM) .16 Hình 2.7.1.Giao diện ứng dụng mơ 50 Hình 2.7.2.Kết trả ứng dụng mô 51 Hình 3.3.1.Ví dụ Page Indexing 60 Hình 3.4.1.Kiến trúc Lucene 64 Hình 3.4.2.Kiến trúc file index Lucene .65 Hình 3.4.3.Chỉ mục đảo ngƣợc Lucene 66 vi MỞ ĐẦU Trong thời đại ngày nay, với phát triển nhanh chóng Internet - kho tài nguyên phong phú hữu ích sống cơng việc nhiều ngƣời khắp giới, mặt khác liệu Internet phát triển đa dạng khổng lồ Do để khai thác cách hiệu tài nguyên khổng lồ vấn đề tìm kiếm nhƣ xây dựng cơng cụ tìm kiếm nhanh chóng, xác trở thành vấn đề khơng thể thiếu Để tìm kiếm thơng tin mạng cần đơn giản truy cập vào trang tìm kiếm nhƣ Bing, Google,… gõ vào từ khóa cần tìm Sau khoảng thời gian ngắn danh sách trang web có liên quan đến từ khóa đƣợc trả xếp theo thứ tự trang có nội dung gần với yêu cầu ngƣời dùng đƣợc hiển thị đầu danh sách Ngƣời dùng cần truy cập vào trang web xem thơng tin, trang có chức tìm kiếm nhƣ đƣợc gọi máy tìm kiếm (search engine) Tuy nhiên, hữu ích thân trang web có máy tìm kiếm nội Do hữu ích cơng cụ tìm kiếm thông tin Internet nên chọn đề tài “Sử dụng đối sánh mẫu xấp xỉ kỹ thuật mục cho tìm kiếm website”với mục đích nghiên cứu, tìm hiểu chế hoạt động nhƣ thuật tốn tìm kiếm, kỹ thuật tổ chức liệu đƣợc sử dụng máy tìm kiếm để trả kết nhanh chóng đáp ứng nhu cầu ngƣời dùng cách tốt Nội dung nghiên cứu đề tài bao gồm: Các thuật toán đối sánh mẫu xác, xấp xỉ; Cấu trúc, chế hoạt động máy tìm kiếm; Kỹ thuật đánh mục cho website gồm mục sở liệu, mục website máy tìm kiếm mục webpage website Nội dung luận văn đƣợc tổ chức thành ba chƣơng nhƣ sau: vii Chƣơng - “Tổng quan” trình bày nội dung vấn đề tìm kiếm tìm kiếm website Chƣơng mô tả cấu trúc, chế hoạt động máy tìm kiếm nhƣ số thuật tốn đối sánh mẫu xác cách tiếp cận cho thuật tốn đối sánh mẫu xấp xỉ Chƣơng -“Một số thuật toán đối sánh mẫu xấp xỉ” dựa theo cách tiếp cận trình bày Chƣơng để nêu số khái niệm thuật toán đối sánh mẫu xấp xỉ, chƣơng trình máy tính cài đặt số thuật tốn đối sánh mẫu nhằm mơ cho trình tìm kiếm Chƣơng 3: “Kỹ thuật mục cơng cụ tìm kiếm” tập trung nghiên cứu kỹ thuật lập mục giới thiệu thƣ viện hỗ trợ việc lập mục viii  Non-Clustered Index có cấu trúc tách biệt với cột liệu khác bảng Mỗi index loại chứa giá trị cột khóa khai báo index ghi có giá trị key index chứa trỏ tới dòng liệu tƣơng ứng Cấu trúc trỏ phụ thuộc vào việc liệu đƣợc lƣu HEAP hay Clustered Table 3.1.4 Ứng dụng hạn chế Chỉ mục hữu ích cho nhiều ứng dụng nhƣng kèm với số hạn chế Ví dụ xem xét câu lệnh truy vấn sau: SELECT first_name FROM people WHERE last_name = „Smith‟ Để xử lý câu lệnh mà khơng có mục phải nhìn vào cột last_name dòng bảng (full table scan) Với trƣờng hợp đánh mục sở liệu đơn giản theo cấu trúc B-tree Smith đƣợc tìm thấy, phải tốn bƣớc tính toán full table scan Xét câu lệnh SQL: SELECT email FROM customers WHERE email like „%@gmail.com‟ Câu truy vấn lấy tất địa email có “@gmail.com”, cột email đƣợc đánh mục phải quét toàn Điều mục đƣợc xây dựng với giả định từ trái sang phải Với ký tự đại diện bắt đầu cụm từ tìm kiếm, phần mềm sở liệu sử dụng cấu trúc liệu B-tree Vấn đề đƣợc giải thông qua việc bổ sung mục khác đƣợc tạo đảo ngƣợc email truy vấn dạng sau: SELECT email FROM customers WHERE reverse(email) like „%@gmail.com‟ Điều đặt ký tự đại diện phần bên phải câu truy vấn (moc.liamg@%) mục ngƣợc (email) đáp ứng Khi ký tự đại diện đƣợc sử dụng hai mặt từ tìm kiếm nhƣ %gmail.com%, mục có sẵn trƣờng khơng đƣợc sử dụng Thay tìm 55 kiếm đƣợc thực hiện, thời gian O(N) với sở liệu chƣa N mục liệu Vì mục phải có sẵn cột tra cứu đƣợc thực 3.1.5 Các loại mục 3.1.5.1 Bitmap Index Chỉ mục bitmap loại mục đặc biệt, phần lớn liệu lƣu trữ dạng mảng bit trả lời hầu hết câu truy vấn cách thực toán tử logic đảo bit bitmap Các mục thƣờng đƣợc dùng nhƣ B-tree, có hiệu với giá trị không lặp lặp lại nhiều lần.Ngƣợc lại mục bitmap đƣợc thiết kế cho trƣờng hợp giá trị biến lặp lại nhiều lần Ví dụ lĩnh vực giới tính sở liệu khách hàng, thƣờng chứa ba giá trị: nam, nữ không xác định, biến nhƣ mục bitmap có thay đổi đáng kể hiệu 3.1.5.2 Dense Index Một mục dense sở liệu file với cặp key pointer cho ghi data file Mỗi key file đƣợc liên kết với trỏ đặc biệt đến ghi data file đƣợc xếp 3.1.5.3 Sparse Index Một mục sparse sở liệu file với cặp key pointer cho khối data file Mỗi key file đƣợc liên kết với trỏ đặc biệt đến ghi data file đƣợc xếp Trong nhóm mục với trùng lặp key, số, pointer mục thƣa thớt tìm kiếm, với key tìm kiếm thấp khối 3.1.5.4 Reverse Index Chỉ mục ngƣợc cấu trúc liệu mục lƣu trữ ánh xạ từ nội dung, chẳng hạn chữ số đến địa điểm file sở liệu tài liệu tài liệu Mục đích mục ngƣợc cho phép tìm kiếm văn đầy đủ nhanh chóng với chi phí xử lý tăng tài liệu đƣợc bổ sung vào sở liệu Các file ngƣợc file sở liệu riêng mình, khơng phải 56 mục Đó liệu phổ biến đƣợc sử dụng hệ thống truy vấn thông tin, đƣợc sử dụng quy mơ lớn máy tìm kiếm Ngồi số mục đích chung hệ thống quản lý sở liệu máy tính lớn sử dụng kiến trúc danh sách ngƣợc bao gồm ADABAS, DATACOM/DB Model 204 3.2 Lập mục website máy tìm kiếm (Web Indexing) Lập mục cho website đề cập đến phƣơng pháp khác để lập mục nội dung trang web toàn Internet Các website cá nhân mạng nội sử dụng kiểu back-of-the-book, máy tìm kiếm thƣờng sử dụng từ khóa siêu liệu để cung cấp vốn từ vựng hữu ích cho Internet tìm kiếm chỗ Với gia tăng số lƣợng báo trực tuyến, lập mục cho website trở thành quan trọng trang web có chu kỳ Đánh mục theo kiểu back-of-the-book gọi mục website A-Z, tức có chế độ xem duyệt theo chữ từ A-Z Khi ký tự đƣợc chọn trả kết mục liên quan có tiêu đề bắt đầu ký tự vừa chọn Giao diện khác với trình duyệt thơng qua lớp mục phân cấp mà không thiết phải theo thứ tự bảng chữ Mặc dù mục A-Z đƣợc sử dụng cho để đánh mục cho nhiều website nhiều trang website Đánh mục siêu liệu web liên quan đến việc gán từ khóa cụm từ tới webpage website vùng meta-tag, webpage website lấy đƣợc với máy tìm kiếm đƣợc tùy chỉnh để tìm kiếm từ khóa theo lĩnh vực Điều có khơng liên quan đến việc sử dụng từ khóa giới hạn danh sách từ vựng Ví dụ liên quan đến mục A-Z [11] ví dụ mục web [12] 3.3 Lập mục webpage website sử dụng web bots 3.3.1 Tổng quan mục webpage Khai phá nội dung webpage với mục tự động cho phép ngƣời dùng xác định nguồn tốt cho nhu cầu họ muốn tìm kiếm thông tin từ website 57 Đa số máy tìm kiếm sử dụng hai phƣơng pháp tiếp cận để đánh mục cho webpage: cách tiếp cận máy tìm kiếm chọn điều kiện đánh mục webpage cách phân tích tần xuất từ (sau lọc từ thông thƣờng từ vô nghĩa) xuất toàn phần văn webpage đích Phƣơng pháp tiếp cận thứ hai dựa thuật toán phức tạp đƣa vào liên kết từ mục webpage.Trong hai phƣơng pháp từ xuất webpage vấn đề đƣợc sử dụng phân tích.Thơng thƣờng, để tăng liên quan các mục đƣợc chọn với máy tìm kiếm, mục đƣợc làm mịn xử lý ngƣời Để xác định authority pages expert pages, số máy tìm kiếm sử dụng cấu trúc liên kết trang để xác định trang thƣờng đƣợc tham chiếu trang khác Phân tích mật độ, hƣớng phân cụm liên kết, phƣơng pháp có khả xác định trang chứa thông tin giá trị Một cách tiếp cận khác đƣợc sử dụng bổ sung máy tìm kiếm Google, gán cho trang đƣợc đánh mục giá trị đƣợc định nghĩa tần xuất mà trang đƣợc truy cập ngƣời dùng Trong luận văn đề cập đến phƣớng pháp sử dụng nội dung trang liên kết đến từ trang đƣợc đánh mục, sử dụng cấu trúc từ đƣợc sử dụng trang liên kết, đồng thời mô tả chứng minh cấu trúc từ đƣợc sử dụng trang liên kết cho lập mục tìm kiếm hiệu Xét document p0 đƣợc đánh mục, giả sử w0 tập từ có p0 l0 tập liên kết đến document p0 Phƣơng pháp lập mục xử lý tập từ w0 để đánh mục webpage p0 ngẫu nhiên sử dụng tập liên kết l0 để xác định expert webpage Giả sử P1 tập tất document P1 = {p1, p2, …, pn}, với ≤ ≤ tập liên kết li document pi chứa document p0 Chúng ta biểu thị W1 tập hợp tập từ (w1, w2, … wn) với wi tập từ document pi với1 ≤ 58 ≤ Giả sử P2 tập tất document P2 ={pn+1, pn+2, …, pn+m}, với < ≤ tập liên kết li document pi không chứa liên kết đến document p0 nhƣng có chứa liên kết đến tài liệu tập P1 có document pj P1 chứa liên kết đến pi Chúng ta biểu thị W2 tập hợp tập từ (wn+1, wn+2, …, wn+m) với wi tập từ document pi , < ≤ Để mục document p0, phƣơng pháp sử dụng tập hợp tập từ mà xuất document p mà có document P1 với liên kết đến document p có liên kết document p đến document P1, với P1 tập document chứa liên kết đến document p0 Để hạn chế trình xử lý, xét đến tập hợp W1 W2 Giả sử si danh sách từ không trùng xuất văn pi, < ≤ Xét biểu đồ tần số h1 h2 tƣơng ứng tần số xuất từ danh sách si, với ≤ ≤ < ≤ Chúng ta cắt đoạn cuối biểu đồ h1 h2, tạo biểu đồ H1 H2, có từlà bên trái mà xuất tần xuất cao H1 tần xuất cao hợp lý với H2 Sau đó, H1 – H2 tập từ mục nội dung document p0 Thật vậy, từ xuất H1 đƣợc chia sẻ tất document mà liên kết với document p0, chúng có khả có liên quan đến nội dung document p0 số chủ đề khác đƣợc chia sẻ document P1 Mặt khác từ H2 đƣợc chia sẻ document mà liên kết tới đƣợc liên kết từ document P1.Bằng cách loại trừ chúng, loại bỏ chủ đề, mà đƣợc chia sẻ document tập P1 nhƣng không liên quan đến document p0 Tùy thuộc vào nhu cầu, tập document H1 – H2 đƣợc sử dụng việc xác định từ lập mục document p0 kết hợp với phƣơng pháp khác để tìm các từ đánh mục 59 p2 Opera Verdi Puccini p5 p0 p3 Opera Opera Puccini Opera Ballet Verdi Verdi Ballet p1 Verdi Italy Opera Puccini P1 = {p1, p2, p3} Opera H1 = {Opera, Verdi, Ballet} Verdi P2 = {p4, p5} Puccini H2 = {Opera, Puccini, Ballet, Dance}  Index p0 = H1 – H2 = {Verdi} Hình 3.3.1.Ví dụ Page Indexing Xem xét ví dụ trên, trang web đƣợc hiển thị sử dụng từ “Opera”, “Verdi”, “Ballet” nhƣng đƣợc lập mục phƣơng pháp có liên quan để tìm kiếm sử dụng từ khóa “Verdi” không dùng “Ballet” mà trang web p4 tài liệu tham chiếu tốt hơn, hay “Opera” mà trang web p2 tài liệu tham chiếu tốt Ta tập trung phân tích mối quan hệ nội dung trang web với độ sâu khác liên kết dựa thăm rò số lƣợng lớn web page sử dụng 60 công cụ Web bot.Web bot tự động hóa q trình tìm kiếm nội dung web page mối liên kết chúng Chúng đệ quy lấy web page cách theo siêu liên kết trang đƣợc lấy Kết cho thấy nội dung hai mức liên kết trực tiếp phân cụm tốt Tuy nhiên, nội dung mức liên kết không liên kết trực tiếp độ liên quan thấp Dựa vào điều phát triển phƣơng pháp lập mục cho nội dung webpage 3.3.2 Thiết kế thực Web Bots Một web bot máy tự động truy xuất thu thập tài nguyên web Internet Web bots đƣợc gọi spiders, web worms, web wanderers [4] Chúng chƣơng trình truy xuất đệ quy web page cách theo siêu liên kết trang đƣợc truy xuất Web bot đƣợc sử dụng theo nhiều cách, cách phổ biến tìm kiếm lập mục web pages máy tìm kiếm Ngƣời dùng thƣờng lƣớt web cách liên kết từ web page đến web page khác, thao tác đƣợc tự động web bot Các web page đƣợc ngƣời dùng truy cập ngẫu nhiên nhƣng thƣờng liên kết tới web page liên quan đến mục đích họ Mục tiêu rị tìm mối liên hệ web page mức khác liên kết q trình spider Do nhìn vào nội dung web tất trang để hiểu đƣợc nội dung trang mục tiêu, tất trang liên kết đến trang mục tiêu nhƣ trang có mức liên kết trang mục tiêu Các trang có mức liên kết cấp cao đƣợc xác định cách quy nạp Chỉ mục đếm số lƣợng từ lặp lại cho mức sau chọn từ có tần suất xuất cao dùng để đánh mục 3.3.2.1 HTML Hyperlinks  Resource Anchor đoạn văn website có chứa link liên kết dẫn đến webpage website đến webpage website khác  Relative URIs không gặp web page, cách dễ dàng để liên kết sang trang khác thƣ mục khác server local, đặt URIs siêu liên kết Các URIs tƣơng đối giống xuất khác văn nhƣng điểm liên kết logic giống 61 phải đƣợc chấp nhận Web bot phải tìm đầy đủ URI để tránh truy cập lại vào trang giống lần Web bots ngăn chặn vịng lặp q trình crawl Cuối web bot tính tốn URI sở theo độ ƣu tiên từ cao xuống thấp  Protocols: URIs thƣờng bao gồm ba phần: chế đặt tên máy sử dụng để truy cập tài nguyên, tên máy lƣu trữ tài nguyên, tên tài nguyên riêng Một máy sử dụng truy cập tài nguyên thƣờng gọi giao thức (protocol) Web bots khơng có mục truy cập vào tất siêu liên kết mà gặp Phụ thuộc vào loại tài nguyên dự định thu thập, web bots phân tích giao thức siêu liên kết xác định xem nguồn tài nguyên server 3.3.2.2 HTML Character Encoding Một số ký tự không hợp lệ URI, nhƣ khoảng trắng, dấu nháy đơn, đấu nháy đơi ký tự gây nhầm lẫn cho URI Nhƣ đề cập trƣớc, khoảng trắng không hợp lệ URI phân mảnh URI Dấu ngoặc kép nhầm lẫn với kết thúc URI Mã hóa ký tự giải đƣợc vấn đề Một số ký tự đặc biệt đƣợc mã hóa thành ký tự khác giải mã máy chủ web trình duyệt 3.3.2.3 Robot Exclusion Robot Exclusion cách phổ biến đơn giản cho web server để có sách thăm rị Robot Exclusion sử dụng chế: Robots Exclusion Protocol thẻ Robots Meta Robots Exclusion Protocol cho phép thăm thƣ mục không đƣợc cho phép để crawler 3.4 Các thƣ viện hỗ trợ việc đánh mục Có nhiều thƣ viện mã nguồn mở hỗ trợ việc đánh mục tìm kiếm nhƣ: Egothor (http://www.egothor.org/) Xapian (http://www.xapian.org/) MG4J (http://mg4j.dsi.unimi.it/) 62 Sphinx (http://www.sphinxsearch.com/) Lucene(https://lucene.apache.org/)([10]) Trong bật Lucene Apache, luận văn đề cập chi tiết thƣ viện 3.4.1 Giới thiệu Lucene Lucene thƣ viện mã nguồn mở, dùng để phân tích, đánh mục tìm kiếm thơng tin với hiệu suất cao đƣợc phát triển Dough Cutting, đƣợc Apache phát triển quản lý Lucene ứng dụng mà công cụ đặc tả API cần thiết cho Search Engine, đƣợc xây dựng thiết kê theo hƣớng đối tƣợng Ban đầu có phiên Java nhƣng có phiên cho ngơn ngữ khác nhƣ: NET (Lucene.net), C++ (CLucene), Perl (PLucene), PHP (ZendLucene),… Lucene cung cấp hàm hỗ trợ cho việc đánh mục tìm kiếm Để sử dụng Lucene, cần phải có sẵn liệu, liệu đầu vào tập tin dạng PDF, Word hay dạng HTML, liệu lƣu hệ quản trị sở liệu nhƣ SQL Server, MySQL 63 3.4.2 Kiến trúc Lucene PDF File FS System Crawler HTML TXT parser Docu- PDF Ments Object TXT parser DOC … parser DOC indexer Index indexer searcher searcher Hình 3.4.1.Kiến trúc Lucene Các file đƣợc duyệt qua FS Crawler, file có phần mở rộng file văn (pdf, doc, doc, xls, xlsx, html, txt,….) đƣợc phân tích bóc tách nội dung thông qua Parser Tùy vào phần mở rộng file văn Parser tƣơng ứng xử lý (Pdf Parser, Doc Parser, Html Parser, Txt Parser,…) Nội dung file văn đƣợc đánh mục thơng qua Indexer Khi có u cầu tìm kiếm từ ngƣời dùng, từ khóa ngƣời dùng nhập qua Searcher để truy cập vào vùng liệu đƣợc đánh mục để tìm kiếm 64 3.4.3 Kiến trúc File Index Index Document Document Field Field Field Name Document Value Field Document Field Hình 3.4.2.Kiến trúc file index Lucene Trong file index, văn đƣợc lƣu lại thành khối liệu (Document), khối liệu chứa thông tin văn Các thông tin đƣợc lƣu vào bảng trƣờng (Field), trƣờng có cặp giá trị Name – Value Name để lƣu tên trƣờng Value chƣa nội dung Field Ví dụ văn có Field sau: Path (chứa đƣờng dẫn), Content (chứa nội dung), CreateDate (chứa ngày tạo file) Với Field ta chọn đánh mục hay không đánh mục Nếu chọn đánh mục, ta tìm kiếm Field Các Field khơng đánh mục thƣờng Field khơng quan trọng q trình tìm kiếm chủ yếu phục vụ kết trả Thao tác đánh mục phức tạp, liệu văn đƣợc phân tách thành từ khóa, bỏ stopwords, sau từ khóa đƣợc dùng để tạo mục ngƣợc lƣu thành segments dạng thuận tiện cho việc tìm kiếm sau Chỉ mục ngƣợc dùng để cách lƣu trữ danh sách tài liệu mà có chứa từ cho trƣớc 65 Doc 1: Posting word doc offset id Penn State Football … football football Doc 2: Doc Doc 67 Doc Posting Table Football players … State penn Doc 1 players Doc 2 state Doc Doc 13 Hình 3.4.3.Chỉ mục đảo ngƣợc Lucene 66 KẾT LUẬN Kết đạt đƣợc Trong trình thực luận văn, thu đƣợc số kết quả:  Tìm hiểu tổng quan vấn đề tìm kiếm nhƣ tìm kiếm website, dạng tốn đối sánh mẫu vai trị vấn đề xây dựng cơng cụ tìm kiếm  Tìm hiểu cài đặt số thuật toán đối sánh mẫu xác  Tìm hiểu cách tiếp cận theo hƣớng otomat mờ khoảng cách để cài đặt thuật toán đối sánh mẫu xấp xỉ  Đề xuất giải pháp thuật toán mới: thuật toán đối sánh xấp xỉ theo theo tiếp cận otomat mờ hàm khoảng cách dựa dãy chung dài nhất, đem lại kết tìm kiếm xấp xỉ mềm dẻo, linh hoạt hơn, đáp ứng tốt nhu cầu ngƣời dùng nhiều trƣờng hợp thực tế  Tìm hiểu kỹ thuật lập mục sở liệu, máy tìm kiếm nhƣ webpage website  Giới thiệu đƣợc thƣ viện hỗ trợ đánh mục, chế hoạt động Lucene Những hạn chế tồn  Luận văn chƣa áp dụng vào môi trƣờng thực tế nhƣ cài đặt cơng cụ website có sẵn  Thuật tốn đối sánh mẫu xấp xỉ theo otomat mờ khoảng cách Levenshtein cho phép tìm kiếm chủ yếu sai tả, chƣa đƣợc tối ƣu ngữ nghĩa Hƣớng phát triển  Tìm hiểu cải tiến thuật toán đối sánh mẫu xấp xỉ mềm dẻo hiệu  Nghiên cứu thuật toán đối sánh đa mẫu cho toán đối sánh mẫu xấp xỉ  Phƣơng pháp đối sánh mẫu văn nén văn mã hóa  Triển khai xây dựng máy tìm kiếm website cụ thể 67 TÀI LIỆU THAM KHẢO Aho A.V., Algorithms for finding patterns in strings, Chapter (pp 255 – 300) of Jan Van Leeuwen (ed.), Handbook of Theoretical Computer Science “Algorithms and Complexity”, The MIT Press, 1992 Christian Charras, Thierry Lecroq, Hanbook of Exact String- matching Algorithms, http:// www-igm.univ-mlv.fr/~lecroq/string/index.html Bùi Cơng Cƣờng, Nguyễn Dỗn Phƣớc, Hệ mờ, mạng nơron ứng dụng, NXB Khoa học kỹ thuật, Hà Nội, 2001 David Pallmann, Programming Bots, Spiders, and Intelligent Agents in Microsoft Visual C++, 1999 Gonzalo Navaro, Ricardo Baeza-Yates, ErkkiSutinen, Jorma Tarhio, Indexing Methods for Approximate String Matching, Bulletin of the Technical Committee on Data Engineering, 12/2001, Vol 24 No Gonzalo Navarro and Mathieu Raffinot, Flexible Pattern Matching in Strings, http://www.dcc.uchile.cl/~gnavarro/FMKbook/ Gregory Kucherov, Kamil Salikhov, Dekel Tsur, Approximate String Matching using a Bidirectional Index, Combinatorial Pattern Matching, Proceedings 25th Annual Symposium, CPM 2014, Moscow, Russia, June 16-18, 2014 Heikki Hyyro, Bit-parallelism Approximate String Matching Algorithms with Transposition, 9/2004 Nguyễn Thị Thanh Huyền, Đối sánh mẫu theo tiếp cận otomat mờ ứng dụng, Luận án tiến sĩ, Đại học Bách Khoa Hà Nội, 2007 68 10 http://lucene.apache.org/core/6_2_1/demo/overview-summary.html 11 http://www.thealphaweb.com/abcdefghijklmnopqrstuvwxyz.htm 12 https://www.indexnuke.com/ 13 Jan Holub, Simulation of NFA in Approximate String and Sequence Matching, Proceedings of the Sotringology Club Workshop‟97, 11/1997 14 Robert Sedgewick, Algorithms, 2nd Edition, Addition-Wesley Publishing Co Bản dịch tiếng Việt: Cẩm nang thuật tốn, Tập1: Các thuật tốn thơng dụng, Phần Các thuật toán xử lý chuỗi, tr 324-351, NXB KHKT, 1994 69 ... đề tài ? ?Sử dụng đối sánh mẫu xấp xỉ kỹ thuật mục cho tìm kiếm website? ??với mục đích nghiên cứu, tìm hiểu chế hoạt động nhƣ thuật toán tìm kiếm, kỹ thuật tổ chức liệu đƣợc sử dụng máy tìm kiếm để... tìm kiếm tìm kiếm website Chƣơng mơ tả cấu trúc, chế hoạt động máy tìm kiếm nhƣ số thuật toán đối sánh mẫu xác cách tiếp cận cho thuật tốn đối sánh mẫu xấp xỉ Chƣơng -“Một số thuật toán đối sánh. .. tài bao gồm: Các thuật toán đối sánh mẫu xác, xấp xỉ; Cấu trúc, chế hoạt động máy tìm kiếm; Kỹ thuật đánh mục cho website gồm mục sở liệu, mục website máy tìm kiếm mục webpage website Nội dung

Ngày đăng: 28/02/2021, 14:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Aho A.V., Algorithms for finding patterns in strings, Chapter 5 (pp. 255 – 300) of Jan Van Leeuwen (ed.), Handbook of Theoretical Computer Science “Algorithms and Complexity”, The MIT Press, 1992 Sách, tạp chí
Tiêu đề: Algorithms and Complexity
2. Christian Charras, Thierry Lecroq, Hanbook of Exact String- matching Algorithms, http:// www-igm.univ-mlv.fr/~lecroq/string/index.html Sách, tạp chí
Tiêu đề: Hanbook of Exact String- matching Algorithms
14. Robert Sedgewick, Algorithms, 2 nd Edition, Addition-Wesley Publishing Co. Bản dịch tiếng Việt: Cẩm nang thuật toán, Tập1: Các thuật toán thông dụng, Phần 4. Các thuật toán xử lý chuỗi, tr. 324-351, NXB KHKT, 1994 Sách, tạp chí
Tiêu đề: Algorithms
Nhà XB: NXB KHKT
6. Gonzalo Navarro and Mathieu Raffinot, Flexible Pattern Matching in Strings, http://www.dcc.uchile.cl/~gnavarro/FMKbook/ Link
3. Bùi Công Cường, Nguyễn Doãn Phước, Hệ mờ, mạng nơron và ứng dụng, NXB Khoa học và kỹ thuật, Hà Nội, 2001 Khác
4. David Pallmann, Programming Bots, Spiders, and Intelligent Agents in Microsoft Visual C++, 1999 Khác
5. Gonzalo Navaro, Ricardo Baeza-Yates, ErkkiSutinen, Jorma Tarhio, Indexing Methods for Approximate String Matching, Bulletin of the Technical Committee on Data Engineering, 12/2001, Vol. 24 No. 4 Khác
7. Gregory Kucherov, Kamil Salikhov, Dekel Tsur, Approximate String Matching using a Bidirectional Index, Combinatorial Pattern Matching, Proceedings 25th Annual Symposium, CPM 2014, Moscow, Russia, June 16-18, 2014 Khác
8. Heikki Hyyro, Bit-parallelism Approximate String Matching Algorithms with Transposition, 9/2004 Khác
9. Nguyễn Thị Thanh Huyền, Đối sánh mẫu theo tiếp cận otomat mờ và ứng dụng, Luận án tiến sĩ, Đại học Bách Khoa Hà Nội, 2007 Khác
13. Jan Holub, Simulation of NFA in Approximate String and Sequence Matching, Proceedings of the Sotringology Club Workshop‟97, 11/1997 Khác

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

TÀI LIỆU LIÊN QUAN

w