XÂY DỰNG HỆ THỐNG TÌM KIẾM TÀI LIỆU DỰA TRÊN VỊ TRÍ

30 388 0
XÂY DỰNG HỆ THỐNG TÌM KIẾM TÀI LIỆU DỰA TRÊN VỊ TRÍ

Đ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 VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG * _ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG HỆ THỐNG TÌM KIẾM TÀI LIỆU DỰA TRÊN VỊ TRÍ : Vũ Hà Dũng Lớp Tin Pháp – K53 Giáo viên hướng dẫn : TS Vũ Tuyết Trinh Sinh viên thực HÀ NỘI, 5-2013 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên: Họ tên sinh viên: Vũ Hà Dũng Điện thoại liên lạc: 01679704032 Email: vuhadung.vn90@gmail.com Lớp: Tin Pháp K53 Hệ đào tạo: Chính quy Đồ án tốt nghiệp thực tại: Phòng 702 tòa nhà B1, Viện Công nghệ Thông tin Truyền thông, Đại học Bách Khoa Hà Nội Thời gian làm ĐATN: Từ ngày 28/02/2013 đến ngày 15/05/2013 Mục đích nội dung ĐATN: Tìm hiểu triển khai kỹ thuật tìm kiếm thông tin văn thông tin vị trí Xây dựng cài đặt thử nghiệm hệ thống tìm kiếm tài liệu dựa vị trí Các nhiệm vụ cụ thể ĐATN:  Tìm hiểu sở lý thuyết tìm kiếm thông tin văn tìm kiếm dựa vị trí  Đề xuất thuật toán đánh giá xếp hạng văn dựa từ khóa lẫn vị trí  Cài đặt, đánh giá hệ thống thử nghiệm Lời cam đoan sinh viên: Tôi – Vũ Hà Dũng – cam kết ĐATN công trình nghiên cứu thân hướng dẫn TS Vũ Tuyết Trinh Các kết nêu ĐATN trung thực, chép toàn văn công trình khác Hà Nội, ngày 15 tháng 05 năm 2013 Tác giả ĐATN Vũ Hà Dũng Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Hà Nội, ngày tháng năm 2013 Giáo viên hướng dẫn TS Vũ Tuyết Trinh Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Ngày nay, với phát triển công nghệ thông tin, số lượng tài liệu điện tử gia tăng ngày Đến nay, số lượng tài liệu lưu trữ lên đến hàng tỷ trang Trong đó, nhu cầu khai thác kho tài liệu khổng lồ để tìm kiếm thông tin cần thiết nhu cầu thường ngày thiết thực người sử dụng Vấn đề đặt làm khai thác khối thông tin để trở nên có ích người dùng Bên cạnh đó, vài năm gần đây, thiết bị di động phát triển mạnh mẽ trở nên phổ biến với tất người Những thiết bị không đơn công cụ để liên lạc nữa, mà kết nối internet, mở nhiều tiềm phát triển cho dịch vụ có sử dụng vị trí người dùng, có dịch vụ tìm kiếm dựa vị trí Vì vậy, chọn đề tài “Xây dựng hệ thống tìm kiếm tài liệu dựa vị trí” để làm đồ án tốt nghiệp Mục đích tìm hiểu triển khai kỹ thuật tìm kiếm thông tin văn thông tin vị trí Chúng sử dụng cấu trúc mục kết hợp lập mục từ khóa lẫn vị trí, đồng thời đưa giải thuật để đánh giá xếp hạng văn dựa hai tiêu chí Chúng xây dựng hệ thống tìm kiếm tài liệu lĩnh vực du lịch dựa thư viện mã nguồn mở Lucene[7] Trong phạm vi đề tài này, giả sử tài liệu gán nhãn địa điểm từ trước Chúng đưa ba mô hình tìm kiếm cài đặt hệ thống dựa cấu trúc mục thuật toán đề xuất, sau đánh giá so sánh kết tìm kiếm dựa ba mô hình Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 MỤC LỤC PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Chương 1: Đặt vấn đề 1.1 Tìm kiếm thông tin gì? 1.2 Tại vị trí lại quan trọng tìm kiếm thông tin? 1.3 Mục đích phạm vi đề tài 1.4 Bố cục đồ án Chương 2: Cơ sở lý thuyết 2.1 Kiến trúc tổng quan hệ thống tìm kiếm thông tin 2.2 Tìm kiếm văn dựa từ khóa 2.2.1 Quá trình lập mục 2.2.2 Quá trình tìm kiếm 2.3 Tìm kiếm dựa vị trí 2.4 Thảo luận Chương 3: Kỹ thuật tìm kiếm văn dựa vị trí 3.1 Phân tích yêu cầu hệ thống 3.2 Định hướng giải pháp 3.3 Kết hợp điểm từ khóa điểm không gian 3.4 Các mô hình tìm kiếm văn dựa vị trí 3.4.1 Tìm kiếm vị trí tìm kiếm từ khóa: 3.4.2 Tìm kiếm từ khóa tìm kiếm vị trí: 3.4.3 Tìm kiếm từ khóa tìm kiếm không gian: 3.5 Thuật toán 3.6 Bàn luận Chương 4: Cài đặt thử nghiệm 4.1 Môi trường thử nghiệm 4.2 Cài đặt hệ thống 4.3 Kết thực nghiệm Chương 5: Kết luận 5.1 Kết luận 5.2 Hướng phát triển đồ án Tài liệu tham khảo 7 8 9 10 10 11 13 16 18 18 19 19 20 20 21 21 22 23 24 24 25 26 28 28 28 29 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 DANH MỤC CÁC HÌNH VẼ Hình 2-1: Kiến trúc tổng quan hệ thống IR Hình 2-2: Mô tả Inverted File Hình 2-3: Hệ thống tầng liên tiếp chia bề mặt trái đất thành vùng với kích thước nhỏ dần Hình 2-4: Ô có tọa độ (57, 34) lớp thứ Hình 2-5: Biểu diễn truy vấn q đối tượng d Hình 3-1: Cấu trúc mục lai R*-tree-Inverted file [3] Hình 3-2: Trộn hai danh sách với  = 0.5 lấy k = tài liệu có điểm cao Hình 3-3: Minh họa trình tìm kiếm vị trí tìm kiếm từ khóa Hình 3-4: Minh họa trình tìm kiếm vị trí tìm kiếm từ khóa Hình 3-5: Minh họa trình tìm kiếm từ khóa tìm kiếm vị trí Hình 4-1: Mô tả trình tìm kiếm hệ thống Hình 4-2: Giao diện hệ thống tìm kiếm Hình 4-3: Kết tìm kiếm truy vấn 11 14 15 16 18 20 20 21 22 25 26 26 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 DANH MỤC CÁC BẢNG Bảng 2-1: Tần số xuất term t truy vấn q tài liệu d Bảng 2-2: Độ tương tự không gian vị trí truy vấn với vị trí đối tượng Bảng 4-1: Thời gian số lượng kết cho truy vấn “bảo tàng” vị trí “Hà Nội” Bảng 4-2: Số lượng kết cho truy vấn “hang động” vị trí “Hà Nội” 13 16 26 27 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ STT Từ viết tắt/Thuật ngữ Giải thích ý nghĩa IR Truy xuất thông tin Document Tài liệu (văn bản) Query Truy vấn tf-idf Con số thể độ tương tự truy vấn văn mặt từ khóa Lucene Thư viện mã nguồn mở cho phép tìm kiếm văn Inverted Files Cấu trúc để lập mục theo từ khóa Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Chương 1: Đặt vấn đề 1.1 Tìm kiếm thông tin gì? Cùng với phát triển công nghệ thông tin, số lượng tài liệu điện tử gia tăng ngày Đến nay, số lượng tài liệu lưu trữ lên đến hàng tỷ trang Trong đó, nhu cầu khai thác kho tài liệu khổng lồ để tìm kiếm thông tin cần thiết nhu cầu thường ngày thiết thực người sử dụng Tuy nhiên, khó khăn người gặp phải việc khai thác thông tin khả tìm xác thông tin họ cần kho tài liệu Để trợ giúp công việc này, hệ thống tìm kiếm phát triển nhằm phục vụ cho nhu cầu tìm kiếm người sử dụng Có thể lấy vài ví dụ điển hình hệ thống tìm kiếm theo từ khóa tiếng Google, Bing, Yahoo!, … Tuy nhiên, phần lớn công cụ tìm kiếm sản phẩm thương mại mã nguồn giữ bí mật Một vài hệ thống tìm kiếm máy tính cá nhân Windows Search, Google Desktop, … đáp ứng phần nhu cầu người sử dụng, miễn phí cho cá nhân, song đáp ứng phạm vi nhỏ Điều dẫn tới kết nhiều nhà phát triển riêng biệt tổ chức sử dụng phải tự xây dựng từ đầu công cụ tìm kiếm hệ thống họ cần chức tìm kiếm Một cách tiếp cận hiệu để giải vấn đề sử dụng thư viện mã nguồn mở để xây dựng hệ thống tìm kiếm Tìm kiếm thông tin (Information Retrieval - IR) tìm kiếm tài nguyên (thường tài liệu) tập lớn liệu phi cấu trúc (thường văn bản) lưu trữ máy tính nhằm thỏa mãn nhu cầu thông tin Mục đích IR trả lại cho người dùng tập thông tin thỏa mãn nhu cầu họ Một hệ thống IR chương trình phần mềm lưu trữ quản lý thông tin tài liệu Hệ thống trợ giúp người dùng tìm kiếm thông tin họ cần Chúng ta định nghĩa thông tin cần thiết “câu truy vấn” (query) thông tin chọn “tài liệu” (documents) Mục đích hệ thống IR cho biết tồn vị trí tài liệu chứa thông tin cần thiết Có thể số tài liệu đề xuất thoả mãn nhu cầu thông tin người dùng Những tài liệu gọi tài liệu có liên quan Một hệ thống IR hoàn hảo thu thập tài liệu có liên quan bỏ qua tài liệu không liên quan Tuy nhiên, tồn hệ thống câu lệnh tìm kiếm thường không đầy đủ độ liên quan (relevance) phụ thuộc vào ý kiến chủ quan người dùng Hai người dùng đưa truy vấn giống cho hệ thống IR lại có cách đánh giá độ liên quan khác tài liệu thu thập Thực tế, mục tiêu hệ thống IR thu thập tất tài liệu có liên quan tới truy vấn người dùng đồng thời thu thập tài liệu không liên quan Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 1.2 Tại vị trí lại quan trọng tìm kiếm thông tin? Vài năm gần đây, thiết bị di động phát triển mạnh mẽ trở nên phổ biến với tất người Những thiết bị không đơn công cụ để liên lạc nữa, mà kết nối internet, mở nhiều tiềm phát triển cho dịch vụ có sử dụng vị trí người dùng, có dịch vụ tìm kiếm dựa vị trí Lấy ví dụ, bạn du khách nước tới Hà Nội, bạn muốn tìm kiếm tài liệu giới thiệu quán ăn phạm vi thủ đô Hà Nội Chỉ với thiết bị di động có kết nối internet, bạn nhập truy vấn với nội dung “quán ăn” để tìm tài liệu liên quan tới địa điểm bạn cần tìm Nếu với hệ thống IR bình thường, trả tất quán ăn không riêng Hà Nội, mà nhiều tỉnh thành khác Điều không cần thiết, bạn phải thời gian để sàng lọc lại kết trả Tuy nhiên, với hệ thống IR dựa vị trí, nhận biết vị trí bạn để tìm địa điểm xác phù hợp với yêu cầu Hệ thống ngầm hiểu ý định người dùng, người dùng thời gian để nhập liệu hiển nhiên vị trí xung quanh họ, vị trí nói lên yêu cầu thông tin bạn 1.3 Mục đích phạm vi đề tài: Mục đích đề tài tìm hiểu triển khai kỹ thuật tìm kiếm thông tin văn thông tin vị trí tập tài liệu gán nhãn trước Trên sở xây dựng hệ thống tìm kiếm tài liệu lĩnh vực du lịch Hệ thống nhận đầu vào câu truy vấn người dùng (bao gồm từ khóa vị trí), sử dụng thông tin vị trí để đưa tài liệu có độ liên quan cao cho người dùng Hệ thống kết hợp độ liên quan từ khóa với độ liên quan vị trí để trả tài liệu với độ liên quan cao với truy vấn người dùng 1.4 Bố cục đồ án: Phần lại đồ án bao gồm chương, với nội dung sau: Chương trình bày sở lý thuyết tìm kiếm văn dựa từ khóa không gian Chương trình bày kỹ thuật tìm kiếm văn dựa vị trí Chương xây dựng hệ thống tìm kiếm trình bày kết thực nghiệm Chương kết luận hướng phát triển đồ án Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Chương 2: Cơ sở lý thuyết Trong chương này, trình bày sở lý thuyết trình tìm kiếm văn dựa từ khóa dựa vị trí Quá trình tìm kiếm bao gồm hai trình lập mục xếp hạng các tài liệu trả 2.1 Kiến trúc tổng quan hệ thống tìm kiếm thông tin: User query Represent query Resources (Internet, …) Crawling Documents Indexing Searching Index files Results Hình 2-1: Kiến trúc tổng quan hệ thống IR Một hệ thống IR bao gồm ba thành phần chính:  Thu thập tài liệu (Crawling): hệ thống thu thập tài liệu từ nhiều nguồn khác Việc thu thập thực thủ công tự động (nhờ chương trình gọi “web crawler”)  Lập mục (Indexing): hệ thống phân tích lập mục tài liệu thu thập nhằm tăng tốc độ truy xuất trình tìm kiếm  Tìm kiếm (Searching): người dùng nhập vào câu truy vấn Truy vấn phân tích, xử lý biểu diễn lại để tạo nên truy vấn thật mà hệ thống “hiểu” Sau đó, truy vấn xử lý sử dụng để thu thập tài liệu có chứa truy vấn Các tài liệu xếp hạng (ranking) theo mức độ liên quan trả cho người dùng Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Hình 2-4: Ô có tọa độ (57, 34) lớp thứ Việc xếp cho phép truy xuất nhanh vị trí lưu trữ nhiều lớp khác Lấy ví dụ, tưởng tượng có triệu địa điểm liên quan tới chùa chiền nhiều vùng khác Việt Nam, muốn tìm kiếm địa điểm Hà Nội Nếu không lập mục theo không gian, ta phải tính khoảng cách từ vị trí truy vấn tới địa điểm xem có thỏa mãn vùng tìm kiếm không Nhưng với phương pháp này, ta biết vị trí tại, bán kính tìm kiếm, ta xác định ID ô với kích thước nhỏ bao trùm vùng tìm kiếm Việc đơn giản lại tìm kiếm tất địa điểm nằm ô Điều chắn nhanh việc tính khoảng cách tới địa điểm để xem địa điểm có thỏa mãn vùng tìm kiếm hay không Sau tìm đối tượng thỏa mãn vùng tìm kiếm, xếp hạng đối tượng cách đánh giá độ liên quan vị trí chúng với vị trí truy vấn Để đánh giá độ tương tự không gian, sử dụng khoảng cách vị trí truy vấn với vị trí đối tượng Với vị trí truy vấn Lq bán kính tìm kiếm, ta có tập đối tượng thỏa mãn vị trí tìm kiếm người dùng Khoảng cách vị trí người dùng với vị trí đối tượng sở để đánh giá mức độ phù hợp chúng với truy vấn mặt không gian Cụ thể, đối tượng có khoảng cách tới vị trí truy vấn lớn có điểm nhỏ, ngược lại, đối tượng gần với vị trí truy vấn đương nhiên có điểm cao Công thức đánh giá mức độ tương tự không gian vị trí truy vấn q đối tượng d: với distance khoảng cách vị trí truy vấn tới đối tượng d, radius bán kính tìm kiếm 15 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Trong trường hợp khoảng cách lớn bán kính tìm kiếm ta coi Dưới ví dụ minh họa tính điểm độ tương tự không gian Có đối tượng với điểm truy vấn bán kính truy vấn hình vẽ Hình 2-5: Biểu diễn truy vấn q đối tượng d Khi đó, độ tương tự không gian truy vấn q với đối tượng d là: Đối tượng Khoảng cách tới truy vấn (km) Điểm d1 0.8 d2 0.6 d3 0.4 d4 0.2 d5 12 Bảng 2-2: Độ tương tự không gian vị trí truy vấn với vị trí đối tượng 2.4 Thảo luận: Qua mục 2.2 2.3, trình bày sở lý thuyết tìm kiếm tài liệu dựa từ khóa dựa vị trí, bao gồm trình lập mục trình tìm kiếm, xếp hạng tài liệu dựa độ tương tự Trong trình lập mục, cấu trúc mục phổ biến Inverted Files ưu điểm mang lại cho kích thước lưu trữ mục tốc độ tìm kiếm Trong trình xếp hạng tài liệu, cách tính điểm độ tương tự từ khóa không gian không giống Với từ khóa, độ tương tự tính tổng trọng số tf-idf của tài liệu d với term q Với vị trí, độ tương tự lại tính dựa khoảng cách bề mặt vị trí đối tượng d với vị trí mà truy vấn đề cập tới Vấn đề đặt phải kết hợp độ tương tự từ khóa với độ tương tự không gian, thành độ tương tự toàn 16 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 phần, sau xếp hạng tài liệu dựa độ tương tự trả kết tìm kiếm cho người dùng 17 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Chương 3: Kỹ thuật tìm kiếm văn dựa vị trí Chương giải vấn đề đặt chương 2, việc kết hợp độ tương tự từ khóa với độ tương tự không gian thành độ tương tự nhất, để đánh giá xếp hạng tài liệu độ tương tự Chúng đưa mô hình khác việc tìm kiếm tài liệu văn dựa vị trí 3.1 Phân tích yêu cầu hệ thống: Qua chương nhận thấy rằng, đặt vấn đề phải tìm kiếm văn dựa vị trí, tìm kiếm văn theo từ khóa trước, sau tính khoảng cách từ vị trí truy vấn tới vị trí văn xem có thỏa mãn không Hoặc ngược lại, ta tính khoảng cách từ vị trí truy vấn tới vị trí văn bản, sau tìm theo từ khóa Như lập mục, mục từ khóa, mục không gian Không thế, cách làm không khả thi trường hợp số lượng văn lớn, việc tính toán khoảng cách tới tất vị trí văn đòi hỏi nhiều thời gian Chính lý đó, người ta đề xuất cấu trúc mục kết hợp mục từ khóa lẫn mục không gian thành mục Một cấu trúc mục lai minh họa sau: Hình 3-1: Cấu trúc mục lai R*-tree-Inverted file [3] Với cấu trúc mục này, với truy vấn không gian-từ khóa cho trước, đầu tiên, ta duyệt nút R*-tree có chứa vị trí truy vấn trước, sau tìm đến tất văn Inverted file tương ứng với tập từ khóa Thêm vào đó, 18 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 ta thực song song, độc lập tìm kiếm dựa từ khóa tìm kiếm dựa vị trí Vì thế, yêu cầu đặt hệ thống tìm kiếm phải kết hợp mục từ khóa với mục không gian thành cấu trúc mục Không thế, hệ thống phải xếp hạng văn trả dựa độ tương tự từ khóa lẫn độ tương tự không gian, không đơn đánh giá kết theo độ tương tự từ khóa (hoặc không gian) 3.2 Định hướng giải pháp: Bài toán sau: có tập D = {d0, d1, …, dn} n văn (trang web) Mỗi văn có chứa tập từ khóa Kd vị trí biểu diễn tọa độ (vĩ độ kinh độ) bề mặt Trái Đất Một truy vấn đầu vào có dạng Q = (Tq, Lq) với Lq vị trí cần truy vấn, ví dụ “Hà Nội”, “Đà Nẵng”, … Tq tập từ khóa truy vấn, ví dụ “quán ăn”, “bảo tàng”, … Chúng sử dụng thư viện mã nguồn mở Lucene để lập mục từ khóa, đồng thời sử dụng cấu trúc mục ô [4] để lập mục không gian Ngoài ra, đánh giá độ tương tự văn trả dựa độ tương tự từ khóa lẫn độ tương tự không gian 3.3 Kết hợp điểm từ khóa điểm không gian: Sau thực hai bước: tìm kiếm từ khóa tìm kiếm không gian, ta có hai danh sách kết trả Với truy vấn từ khóa Tq cho ta danh sách thứ tài liệu có liên quan tới truy vấn, tài liệu có độ tương tự từ khóa Tương tự, truy vấn không gian Lq cho ta danh sách thứ hai tài liệu nằm vùng truy vấn người dùng, tài liệu có độ tương tự không gian Đến đây, trộn hai danh sách lại thành danh sách nhất, với độ tương tự cho tài liệu danh sách cuối tính theo công thức: với <  < số cho trước Nếu thành phần ( ) tài liệu không xuất hai danh sách kết tìm kiếm ta coi điểm thành phần Sau ta lấy k tài liệu có điểm tổng cao làm kết tìm kiếm trả cho người dùng Hình vẽ mô tả trình trộn hai danh sách tìm kiếm xếp hạng lại tập tài liệu để có danh sách kết cuối 19 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Hình 3-2:Trộn hai danh sách với  = 0.5 lấy k = tài liệu có điểm cao 3.4 Các mô hình tìm kiếm văn dựa vị trí: 3.4.1 Tìm kiếm vị trí tìm kiếm từ khóa: Với cách tiếp cận này, tìm kiếm không gian trước tìm kiếm từ khóa Vị trí cần truy vấn người dùng Lq chuyển thành tọa độ địa lý (vĩ độ, kinh độ) Cùng với bán kính tìm kiếm xác định, ta có truy vấn không gian mà tâm vị trí người dùng, bán kính bán kính truy vấn Truy vấn trả cho ID ô hệ thống lớp Đề-các, có chứa vùng truy vấn người dùng Sau tìm ô tài liệu thỏa mãn tập từ khóa Tq Hình 3-3: Minh họa trình tìm kiếm vị trí tìm kiếm từ khóa 20 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Không gian tìm kiếm thiết lập Thực tìm kiếm từ khóa không gian đó, ta tập kết gồm tài liệu d1 d3 Phương pháp giới hạn lại vùng truy vấn, lọc bớt kết không cần thiết đi, nên tránh lãng phí phải tìm kiếm tài liệu không liên quan tới vùng truy vấn Tuy nhiên, việc xác định bán kính tìm kiếm mấu chốt việc tìm kiếm, có khả không tồn tài liệu phù hợp từ khóa vùng truy vấn 3.4.2 Tìm kiếm từ khóa tìm kiếm vị trí: Trong cách tiếp cận này, tìm kiếm từ khóa không gian song song song với Truy vấn từ khóa trả cho danh sách tài liệu phù hợp với tập từ khóa người dùng Truy vấn không gian cho ta tập tất tài liệu nằm vùng truy vấn Cuối cùng, ta trộn hai danh sách với nhau, chọn tài liệu có độ phù hợp cao làm kết tìm kiếm cuối Hình 3-4: Minh họa trình tìm kiếm vị trí tìm kiếm từ khóa Thực tìm kiếm từ khóa ta tập tài liệu d1, d3, d5 Thực tìm kiếm không gian ta tập tài liệu d1, d2, d3 Kết cuối hợp tập 3.4.3 Tìm kiếm từ khóa tìm kiếm không gian: Ngược với cách tiếp cận đầu tiên, cách tiếp cận này, tìm theo từ khóa trước thực tìm kiếm theo không gian Một danh sách tài liệu phù hợp với tập từ khóa trả sau truy vấn từ khóa Sau đó, ta tính khoảng cách vị trí truy vấn vị trí tài liệu, chọn tài liệu có khoảng cách nhỏ bán kính truy vấn làm kết tìm kiếm cuối Phương pháp trường hợp tìm kết tìm kiếm, nhiên thời gian phải “vét cạn”, tính khoảng cách cho tất tài liệu, dẫn đến tình trạng lãng phí phải tìm liệu không nằm vùng truy vấn 21 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Hình 3-5: Minh họa trình tìm kiếm từ khóa tìm kiếm vị trí 3.5 Thuật toán: Sau nghiên cứu kỹ thuật phần trước, mục đề xuất giải thuật để tìm kiếm tài liệu dựa vị trí Giải thuật mô tả mã sau: khởi tạo , , cho tài liệu d foreach term t lấy danh sách inverted list t foreach tài liệu d inverted list tính endfor endfor lấy danh sách inverted list foreach tài liệu d inverted list tính endfor foreach if > > then else endif endfor lấy k tài liệu có cao 22 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 3.6 Bàn luận: Trong chương này, trình bày cấu trúc mục kết hợp lập mục từ khóa lẫn vị trí Chúng đề xuất thuật toán để kết hợp độ tương tự từ khóa với độ tương tự không gian thành độ tương tự nhất, để đánh giá xếp hạng văn tìm từ câu truy vấn Bên cạnh đó, có đưa mô hình tìm kiếm: tìm kiếm theo vị trí tìm kiếm theo từ khóa, tìm kiếm theo vị trí tìm kiếm theo từ khóa, tìm kiếm theo từ khóa tìm kiếm theo vị trí Mỗi cách tiếp cận có ưu nhược điểm riêng Trong chương tới, cài đặt thử nghiệm hệ thống tìm kiếm văn lĩnh vực du lịch dựa vào vừa trình bày Ngoài ra, so sánh đánh giá kết tìm kiếm mô hình tìm kiếm 23 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Chương 4: Cài đặt thử nghiệm Trong chương xây dựng hệ thống tìm kiếm tài liệu lĩnh vực du lịch trình bày số kết thực nghiệm đạt 4.1 Môi trường thử nghiệm: Hệ thống tìm kiếm xây dựng dựa thư viện mở Lucene Lucene thư viện tìm kiếm thông tin có khả xử lý khả mở rộng mức cao, cho phép tích hợp vào ứng dụng Lucene dự án mã nguồn mở nguyên thuỷ phát triển ngôn ngữ Java Ngày Lucene phát triển nhiều ngôn ngữ khác Delphi, Perl, C#, C++, Python, Ruby PHP … Thành phần chức Lucene bao gồm hai phần: thành phần tạo mục thành phần tìm kiếm Đây hai thành phần quan trọng cho hệ thống tìm kiếm  Thành phần tạo mục: bao gồm phần chức xử lý tạo mục, từ văn đầu vào kết tập mục Lucene hỗ trợ văn sau tách nội dung dạng ký tự thuần, cho phép lập mục trường thông tin văn cho phép thiết lập hệ sốcho trường thông tin để nâng cao vai trò lúc tìm kiếm  Directory: cho phép định nghĩa vùng nhớ, xác định nơi lưu trữ nhớ nhớ RAM trình tạo mục  Document Field: định nghĩa tài liệu trường thông tin tài liệu sử dụng cho lập mục Nó sử dụng cho việc lấy kết trả cho thành phần tìm kiếm  Analyzer: thực chức xử lý tách văn để lấy nội dung, chuẩn hóa, loại bỏmục từ không cần thiết, … để chuẩn bị cho việc lập mục  IndexWriter: phần thành phần tạo mục, thực việc tạo mở mục, sau thực thêm cập nhật nội dung mục  Thành phần tìm kiếm: bao gồm phần chức cho xử lý tìm kiếm, từ yêu cầu người dùng, thông qua biên dịch so khớp để lấy kết tốt Lucene hỗ trợ nhiều loại truy vấn thuận tiện cho người sử dụng, cho phép tìm theo trường thông tin hay thiết lập nâng cao xếp kết quả, giới hạn thời gian số lượng kết quả, phân trang …  Term: term đơn vị tìm kiếm, tương tự thành phần Field, Term bao gồm tên giá trị tương ứng 24 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53  Query: bao gồm nhiều loại truy vấn khác nhau, chứa nhiều phương thức, hầu hết quan tâm đến việc thiết lập sốBoost, cho phép Lucene hiểu truy vấn quan trọng  IndexSearcher: cho phép tìm kiếm tập mục IndexWriter tạo ra, thành phần thực nhiệm vụ mở tập mục, không cho phép chỉnh sửa hay thay đổi Có nhiều phương thức tìm kiếm, số lớp thành phần thực thi Searcher, với cách đơn giản cung cấp Query truy vấn, số lượng liên kết cần trả về, kết trả tập đối tượng TopDoc  TopDoc: lớp đơn giản, dùng cho việc chứa thứ hạng cao k tài liệu có liên quan đến truy vấn Với đối tượng danh sách cho docID dùng để liên kết đến tài liệu nhận Lucene ứng dụng hay máy tìm kiếm hoàn chỉnh để người dùng sử dụng Đây thư viện, cung cấp thành phần quan trọng máy tìm kiếm tạo mục truy vấn Chính cung cấp thành phần quan trọng việc tạo mục nên người dùng linh hoạt việc ứng dụng vào sản phẩm mình, có số cải tiến cho phù hợp 4.2 Cài đặt hệ thống: Chúng xây dựng chương trình thử nghiệm cho phép tìm kiếm văn du lịch máy tính cá nhân cấu hình Intel Core i5-2410M 2.30GHz, 4GB RAM Hệ thống xây dựng ngôn ngữ C# dựa thư viện mã nguồn mở Lucene.Net 2.9 Bộ liệu thử nghiệm 2174 tệp văn HTML, trang web giới thiệu địa điểm du lịch Việt Nam thu thập từ Skydoor Hệ thống tìm kiếm xây dựng dạng giao diện Web Khi nhận truy vấn, môđun tìm kiếm phân tích cú pháp truy vấn, thực tìm kiếm trả danh sách tài liệu theo thứ tự giảm dần độ liên quan truy vấn Hình 4-1: Mô tả trình tìm kiếm hệ thống 25 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Hình 4-2: Giao diện hệ thống tìm kiếm Hình 4-3: Kết tìm kiếm truy vấn 4.3 Kết thực nghiệm: Thí nghiệm 1: Thực tìm kiếm tài liệu giới thiệu bảo tàng Hà Nội Thời gian số lượng kết trả cách tiếp cận sau: Tìm kiếm theo Tìm kiếm theo Tìm kiếm theo từ không gian tìm không gian tìm khóa tìm kiếm kiếm theo từ khóa kiếm theo từ khóa theo không gian Thời gian (mili 72 92 81 giây) Số tài liệu trả 11 70 70 Bảng 4-1: Thời gian số lượng kết cho truy vấn “bảo tàng” vị trí “Hà Nội” Nhận xét: 26 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53  Về thời gian thực hiện, có chênh lệch đôi chút ba mô hình song nhìn chung sai khác lớn nên tạm chấp nhận  Về số lượng độ xác tài liệu trả về, mô hình thứ cho kết trả xác Mô hình thứ hai thứ ba cho nhiều kết hơn, song thiếu xác Bởi hai cách thực tìm kiếm tất tài liệu có liên quan với từ khóa, người dùng phải thêm công đoạn sàng lọc, chọn tài liệu phù hợp với Những tài liệu mà thỏa mãn truy vấn người dùng không đưa lên trang kết quà đầu tiên, mà thay vào tài liệu nằm vùng truy vấn mà người dùng cần Lý tài liệu có độ phù hợp từ khóa cao, tài liệu thỏa mãn vùng truy vấn, độ phù hợp khóa không cao bằng, nên tổng thể chung độ phù hợp tổng không vượt qua độ phù hợp từ khóa tài liệu nằm vùng truy vấn  Thứ tự tài liệu trả hai mô hình sau không giống hoàn toàn Vì cách tiếp cận thứ ba, tài liệu tính điểm độ phù hợp vị trí Trong với cách tiếp cận thứ hai, tài liệu tính điểm độ phù hợp vị trí Nguyên nhân “mật độ” tài liệu vùng truy vấn Lấy ví dụ, Hà Nội, nơi có nhiều địa điểm du lịch, dịch vụ phát triển, … nên mật độ tài liệu tập trung cao Nếu truy vấn theo không gian thu 200 tài liệu phù hợp Nhưng trình xếp hạng, ta chọn tốp 100 tài liệu có điểm cao Điều dẫn tới việc tài liệu thỏa mãn truy vấn từ khóa, nằm vùng truy vấn, song độ phù hợp vị trí lại không nằm tốp 100 tài liệu chọn Thí nghiệm 2: Thực tìm kiếm hang động Hà Nội Tìm kiếm theo Tìm kiếm theo Tìm kiếm theo từ không gian tìm không gian tìm khóa tìm kiếm kiếm theo từ khóa kiếm theo từ khóa theo không gian Số tài liệu trả 58 58 Bảng 4-2: Số lượng kết cho truy vấn “hang động” vị trí “Hà Nội” Nhận xét:  Mô hình thứ không cho kết nào, hiểu Hà Nội địa điểm du lịch liên quan tới hang động Tuy nhiên hệ thống tìm kiếm phải đưa kết cho người dùng Vì nhược điểm cách tiếp cận thứ so với hai mô hình lại 27 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Chương 5: Kết luận 5.1 Kết luận: Trong đồ án, trình bày khái niệm thành phần hệ thống tìm kiếm thông tin; trình bày sở lý thuyết tìm kiếm văn theo từ khóa tìm kiếm dựa vị trí; xây dựng hệ thống tìm kiếm tài liệu lĩnh vực du lịch dựa thư viện mã nguồn mở Lucene Cụ thể: Chúng sử dụng cấu trúc mục lai để kết hợp lập mục từ khóa lập mục vị trí Đồng thời đề xuất giải thuật để xếp hạng văn tìm dựa độ tương tự từ khóa độ tương tự không gian Chúng trình bày ba mô hình tìm kiếm dựa cấu trúc mục Trong phần thực nghiệm, xây dựng thử nghiệm hệ thống Lucene Kết cho thấy thời gian thực ba mô hình xấp xỉ nhau, nhiên kết độ xác tập tài liệu trả khác nhau, tùy thuộc vào cách tiếp cận 5.2 Hướng phát triển đồ án: Chúng muốn xây dựng hệ thống tìm kiếm hoàn thiện tương lai Thứ giao diện, kết hợp hai từ truy vấn (từ khóa, vị trí) hệ thống thành truy vấn để thuận tiện cho người sử dụng Thêm vào đó, xây dựng giao diện tìm kiếm mà kết thể đồ để người dùng quan sát cách trực quan kết tìm kiếm Thứ hai, muốn cải thiện cấu trúc mục thuật toán xếp hạng để giảm thời gian tính toán xếp hạng tài liệu, thứ tự kết trả xác 28 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 TÀI LIỆU THAM KHẢO Christopher D, Manning, Prabhakar Raghavan, Hinrich Schütze (2009), An Introduction to Information Retrieval, Cambridge University Press, Cambridge, England Michael McCandless, Erik Hatcher, Otis Gospodnetić (2009), Lucene in Action Second Edition, Manning Publications Co Zhou, Yinghua, Hybrid index structures for location-based web search, CIKM, 2005 Local Lucene Geographical Search: http://www.nsshutdown.com/projects/lucene/whitepaper/locallucene_v2.html last visited May 2013 Lucene.NET tutorials and examples: http://www.dotlucene.net/30648/lucene-net-api-search-demo last visited May 2013 Huỳnh Đức Việt, Võ Duy Thanh, Võ Trung Hùng, Nghiên cứu ứng dụng mã nguồn mở Lucene để xây dựng phần mềm tìm kiếm thông tin văn bản, Tạp chí khoa học công nghệ, Đại học Đà Nẵng – Số 4(39).2010 Thư viện mã nguồn mở Lucene.NET: http://lucenenet.apache.org/ last visited May 2013 29 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 [...]... văn bản tìm được từ câu truy vấn Bên cạnh đó, chúng tôi cũng có đưa ra các mô hình tìm kiếm: tìm kiếm theo vị trí rồi tìm kiếm theo từ khóa, tìm kiếm theo vị trí và tìm kiếm theo từ khóa, tìm kiếm theo từ khóa rồi tìm kiếm theo vị trí Mỗi một cách tiếp cận đều có những ưu và nhược điểm riêng của nó Trong chương tới, chúng tôi sẽ cài đặt thử nghiệm hệ thống tìm kiếm văn bản trên lĩnh vực du lịch dựa vào... của một hệ thống tìm kiếm thông tin; trình bày cơ sở lý thuyết của tìm kiếm văn bản theo từ khóa và tìm kiếm dựa trên vị trí; xây dựng hệ thống tìm kiếm tài liệu về lĩnh vực du lịch dựa trên thư viện mã nguồn mở Lucene Cụ thể: Chúng tôi đã sử dụng cấu trúc chỉ mục lai để kết hợp lập chỉ mục từ khóa và lập chỉ mục vị trí Đồng thời đề xuất một giải thuật để có thể xếp hạng các văn bản tìm được dựa trên. .. trong việc tìm kiếm tài liệu văn bản dựa trên vị trí 3.1 Phân tích yêu cầu hệ thống: Qua chương 2 nhận thấy rằng, nếu đặt ra vấn đề là phải tìm kiếm văn bản dựa trên vị trí, thì chúng ta sẽ tìm kiếm văn bản theo từ khóa trước, sau đó tính khoảng cách từ vị trí truy vấn tới từng vị trí của văn bản đó xem có thỏa mãn không Hoặc ngược lại, ta sẽ đi tính khoảng cách từ vị trí truy vấn tới từng vị trí của... điểm cao nhất 3.4 Các mô hình tìm kiếm văn bản dựa trên vị trí: 3.4.1 Tìm kiếm vị trí rồi tìm kiếm từ khóa: Với cách tiếp cận này, chúng ta sẽ tìm kiếm trên không gian trước rồi mới tìm kiếm trên từ khóa Vị trí cần truy vấn của người dùng Lq sẽ được chuyển thành tọa độ địa lý (vĩ độ, kinh độ) Cùng với bán kính tìm kiếm xác định, ta có được một truy vấn không gian mà tâm là vị trí của người dùng, và bán... dẫn tới việc những tài liệu tuy thỏa mãn truy vấn từ khóa, cũng nằm trong vùng truy vấn, song độ phù hợp vị trí lại bằng 0 do không nằm trong tốp 100 tài liệu được chọn Thí nghiệm 2: Thực hiện tìm kiếm các hang động ở Hà Nội Tìm kiếm theo Tìm kiếm theo Tìm kiếm theo từ không gian rồi tìm không gian và tìm khóa rồi tìm kiếm kiếm theo từ khóa kiếm theo từ khóa theo không gian Số tài liệu trả về 0 58 58... mới trình bày ở trên Ngoài ra, chúng tôi cũng so sánh đánh giá kết quả tìm kiếm trong từng mô hình tìm kiếm 23 Sinh viên thực hiện: Vũ Hà Dũng, 20080538, Tin Pháp K53 Chương 4: Cài đặt thử nghiệm Trong chương này chúng tôi xây dựng hệ thống tìm kiếm tài liệu về lĩnh vực du lịch và trình bày một số kết quả thực nghiệm đạt được 4.1 Môi trường thử nghiệm: Hệ thống tìm kiếm được xây dựng dựa trên thư viện... d2 4 0.6 d3 6 0.4 d4 8 0.2 d5 12 0 Bảng 2-2: Độ tương tự về không gian giữa vị trí truy vấn với vị trí đối tượng 2.4 Thảo luận: Qua mục 2.2 và 2.3, chúng tôi đã trình bày về cơ sở lý thuyết của tìm kiếm tài liệu dựa trên từ khóa và dựa trên vị trí, bao gồm quá trình lập chỉ mục và quá trình tìm kiếm, xếp hạng các tài liệu dựa trên độ tương tự Trong quá trình lập chỉ mục, cấu trúc chỉ mục phổ biến nhất... tài liệu phù hợp với tập từ khóa của người dùng Truy vấn không gian sẽ cho ta một tập tất cả các tài liệu nằm ở trong vùng truy vấn Cuối cùng, ta sẽ trộn hai danh sách này với nhau, và chọn ra các tài liệu có độ phù hợp cao nhất làm kết quả tìm kiếm cuối cùng Hình 3-4: Minh họa quá trình tìm kiếm vị trí và tìm kiếm từ khóa Thực hiện tìm kiếm từ khóa ta được tập 3 tài liệu d1, d3, d5 Thực hiện tìm kiếm. .. đặt hệ thống: Chúng tôi xây dựng chương trình thử nghiệm cho phép tìm kiếm văn bản về du lịch trên máy tính cá nhân cấu hình Intel Core i5-2410M 2.30GHz, 4GB RAM Hệ thống được xây dựng bằng ngôn ngữ C# dựa trên thư viện mã nguồn mở Lucene.Net 2.9 Bộ dữ liệu thử nghiệm ở đây là 2174 tệp văn bản HTML, là các trang web giới thiệu địa điểm du lịch Việt Nam được thu thập từ Skydoor Hệ thống tìm kiếm được xây. .. tìm kiếm các tài liệu giới thiệu bảo tàng ở Hà Nội Thời gian và số lượng kết quả trả về trong từng cách tiếp cận như sau: Tìm kiếm theo Tìm kiếm theo Tìm kiếm theo từ không gian rồi tìm không gian và tìm khóa rồi tìm kiếm kiếm theo từ khóa kiếm theo từ khóa theo không gian Thời gian (mili 72 92 81 giây) Số tài liệu trả về 11 70 70 Bảng 4-1: Thời gian và số lượng kết quả cho truy vấn “bảo tàng” và vị ... du lịch Hệ thống nhận đầu vào câu truy vấn người dùng (bao gồm từ khóa vị trí), sử dụng thông tin vị trí để đưa tài liệu có độ liên quan cao cho người dùng Hệ thống kết hợp độ liên quan từ khóa... từ khóa với độ liên quan vị trí để trả tài liệu với độ liên quan cao với truy vấn người dùng 1.4 Bố cục đồ án: Phần lại đồ án bao gồm chương, với nội dung sau: Chương trình bày sở lý thuyết tìm... Ruby PHP … Thành phần chức Lucene bao gồm hai phần: thành phần tạo mục thành phần tìm kiếm Đây hai thành phần quan trọng cho hệ thống tìm kiếm  Thành phần tạo mục: bao gồm phần chức xử lý tạo mục,

Ngày đăng: 30/12/2015, 18:19

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