Tìm hiểu phương pháp xử lý tìm kiếm theo ký tự đại diện của Lucene

57 14 0
Tìm hiểu phương pháp xử lý tìm kiếm theo ký tự đại diện của Lucene

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRƢƠNG KIM TÚ TÌM HIỂU PHƢƠNG PHÁP XỬ LÝ TÌM KIẾM THEO KÝ TỰ ĐẠI DIỆN CỦA LUCENE LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN Hà Nội – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ TRƢƠNG KIM TÚ TÌM HIỂU PHƢƠNG PHÁP XỬ LÝ TÌM KIẾM THEO KÝ TỰ ĐẠI DIỆN CỦA LUCENE Ngành: Hệ thống Thông tin Chuyên ngành: Hệ thống Thông tin Mã số: 60.48.0104 LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS Nguyễn Trí Thành Hà Nội – Năm 2016 LỜI CẢM ƠN Tơi muốn bày tỏ lịng biết ơn sâu sắc tới người giúp đỡ tơi q trình làm luận văn, đặc biệt xin cám ơn PGS TS Nguyễn Trí Thành, với lịng kiên trì, thầy bảo chi tiết cho lời nhận xét quí báu bước làm luận văn Đồng thời xin gửi lời cảm ơn tới thầy cô giáo khoa Công nghệ thông tin - Trường Đại học Công nghệ - Đại học Quốc gia Hà nội truyền đạt kiến thức cho suốt thời gian học tập nghiên cứu vừa qua Tôi xin chân thành cảm ơn quan, bạn bè, đồng nghiệp, gia đình người thân chia sẻ, giúp đỡ, động viên, tạo điều kiện thuận lợi để tơi hồn thành nhiệm vụ học tập luận văn Hà Nội, tháng năm 2016 Học viên Trƣơng Kim Tú LỜI CAM ĐOAN Tơi xin cam đoan nội dung trình bày luận văn tơi tự nghiên cứu tìm hiểu dựa tài liệu tơi trình bày theo ý hiểu thân hướng dẫn trực tiếp PGS TS Nguyễn Trí Thành Các nội dung nghiên cứu, tìm hiểu kết thực nghiệm hồn tồn trung thực Luận văn tơi chưa cơng bố cơng trình nào.Trong q trình thực luận văn tơi tham khảo tài liệu số tác giả, tất thống tin liên quan đến tài liệu tham khảo liệt kê mục “TÀI LIỆU THAM KHẢO” cuối luận văn Tơi xin chịu trách nhiệm hồn tồn lời cam đoan mình, có sai, tơi chịu hình thức kỷ luật theo quy định Hà Nội, tháng năm 2016 Học viên Trƣơng Kim Tú MỤC LỤC MỞ ĐẦU 1 Đặt vấn đề Mục tiêu nghiên cứu Cấu trúc luận văn Chương TỔNG QUAN 1.1 Tổng quan phương pháp tìm kiếm 1.2 Tổng quan phương pháp xử lý tìm kiếm theo ký tự đại diện 1.3 Ý nghĩa khoa học thực tiễn đề tài 1.3.1 Ý nghĩa khoa học 1.3.2 Ý nghĩa thực tiễn Chương CÁC GIẢI PHÁP CÀI ĐẶT TÌM KIẾM THEO KÝ TỰ ĐẠI DIỆN 2.1 Giới thiệu cấu trúc mục ngược 2.2 Tìm kiếm theo ký tự đại diện 2.2.1 Chỉ mục quay 10 2.2.2 Chỉ mục k-gram 11 2.2.3 Giải pháp tìm kiếm dựa Otomat 12 2.2.3.1 Giới thiệu số khái niệm liên quan đến otomat 12 2.2.3.2 Biểu diễn truy vấn theo ký tự đại diện dạng biểu thức quy quy tắc chuyển đổi từ biểu thức quy sang otomat 15 2.2.3.3 Giải pháp tìm kiếm dựa Otomat 16 2.2.4 Giải pháp tìm kiếm dựa máy chuyển đổi hữu hạn trạng thái 18 2.2.4.1 Giới thiệu máy chuyển đổi hữu hạn trạng thái 18 2.2.4.2 Giải pháp tìm kiếm dựa máy chuyển đổi hữu hạn trạng thái 19 Chương GIỚI THIỆU LUCENE 21 3.1 Giới thiệu Lucene 21 3.1.1 Lập mục Lucene 23 3.1.1.1 Quy trình lập mục 23 3.1.1.2 Các toán tử 25 3.1.2 Tìm kiếm Lucene 28 3.1.2.1 Quy trình tìm kiếm Lucene 28 3.1.2.2 Giới thiệu số kỹ thuật tìm kiếm Lucene 29 3.2 Giới thiệu tìm kiếm theo ký tự đại diện Lucene 32 Chương THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 33 4.1 Quy trình thực nghiệm 33 4.1.1 Thu thập liệu tiền xử lý 33 4.1.2 Tạo tài liệu 34 4.1.3 Phân tích 34 4.1.4Lập mục 35 4.1.5 Tìm kiếm 35 4.2 Xây dựng chương trình thực nghiệm 35 4.2.1 Thu thập liệu tiền xử lý 36 4.2.2Tạo tài liệu 36 4.2.3 Phân tích 37 4.2.4 Lập mục 37 4.2.5 Tìm kiếm 37 4.3 Đánh giá kết thực nghiệm 38 4.3.1 Kết 38 4.3.2 Đánh giá kết 40 4.3.2.1 Phương pháp đánh giá 40 4.3.2.2 Đánh giá 42 KẾT LUẬN 46 TÀI LIỆU THAM KHẢO 47 Phụ lục: Quy tắc viết biểu thức quy Java 48 DANH MỤC CÁC BẢNG Bảng 2.1 Một số ví dụ biểu diễn chuỗi truy vấn biểu thức quy Java 15 Bảng 3.1 Lịch sử phát triển Lucene 21 Bảng 3.2 Các lớp sử dụng quy trình tìm kiếm 29 Bảng 4.1 Các phần mềm sử dụng cho chương trình thực nghiệm 35 Bảng 4.2 Các class chương trình thực nghiệm 37 Bảng 4.3 Kết đánh giá trước bổ sung tính tìm kiếm theo tiếng Việt 43 Bảng 4.4 Kết đánh giá sau bổ sung tính tìm kiếm theo tiếng Việt 43 DANH MỤC CÁC HÌNH VẼ Hình 2.1 Cấu trúc mục ngược Hình 2.2 Một tìm kiếm nhị phân Hình 2.3 Một B-tree Hình 2.4 Một phần mục quay 10 Hình 2.5 Ví dụ danh sách posting mục 3-gram 11 Hình 2.6 Otomat đốn nhận ngơn ngữ sinh 𝐸 = 𝑎𝑏 + 𝑏 ∗ 𝑏𝑎 16 Hình 2.7 Otomat ứng với 𝑎𝑐𝑏𝑎 + 𝑏 ∗ giải thuật tìm kiếm dựa otomat 17 Hình 2.8 Quá trình tìm kiếm chuỗi sử dụng giải thuật tìm kiếm dựa otomat 18 Hình 2.9𝛵𝑙𝑒𝑥 khớp từ với đặc điểm tương ứng từ 19 Hình 2.10 FST tương ứng với truy vấn “s*food” 20 Hình 2.11 Quá trình tìm kiếm chuỗi dựa FST với chuỗi đầu vào seafood 20 Hình 3.1 Quy trình lập mục Lucene 24 Hình 3.2 Cấu trúc mục ngược Lucene 25 Hình 3.3 Quy trình tìm kiếm 28 Hình 4.1 Sơ đồ thực nghiệm 33 Hình 4.2 Giả thiết cho tính tốn độ xác độ bao phủ 41 Hình 4.3 Cách tính độ xác 42 Hình 4.4 Cách tính độ bao phủ 42 DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt API DFA FA FSM FST HTML ID IDE JDK Giải nghĩa Giao diện lập trình ứng dụng (Application Programming Interface) Automat hữu hạn đơn định (Deterministic Finite Automata) Automat hữu hạn (Finite Automata) Máy hữu hạn trạng thái (Finite State Machine) Máy chuyển đổi hữu hạn trạng thái (Finite state transducer) Ngôn ngữ đánh dấu siêu văn (HyperText Markup Language) Định danh (Identification) Mơi trường phát triển tích hợp (Integreted Development Environment) Bộ công cụ phát triển ứng dụng ngôn ngữ lập trình Java (Java Development Kit) MỞ ĐẦU Đặt vấn đề Ngày nay, với đời mạng Internet phát triển nhanh chóng, vượt bậc mạng truyền thông, khối lượng lớn thông tin cập nhật đưa lên mạng thường xun Các thơng tin tập tin có cấu trúc phi cấu trúc, nằm rải rác nhiều nơi Câu hỏi đặt làm để tìm thơng tin cách nhanh chóng hiệu Để đáp ứng yêu cầu đó, có nhiều phương pháp tìm kiếm thơng tin cơng cụ tìm kiếm thơng tin đời Google, Yahoo, Altavista, Bing… Tuy nhiên, thơng tin cần tìm kiếm nhiều đa dạng nhu cầu tìm kiếm thơng tin người dùng ngày cao nên việc nghiên cứu, tìm hiểu để khám phá hiểu biết sâu cách thu thập, lưu trữ, biểu diễn, tổ chức tìm kiếm thơng tin hiệu nhanh thực cần thiết Dựa nhu cầu nhiều kỹ thuật tìm kiếm nâng cao đưa giới thiệu áp dụng nhiều công cụ tìm kiếm phổ biến Tuy nhiên, phạm vi nghiên cứu luận văn dừng lại việc giới thiệu nét phương pháp tìm kiếm phổ biến nay, sau tập trung vào việc tìm hiểu phương pháp tìm kiếm theo ký tự đại diện từ khái quát, giải thuật cài đặt thực tế với thư viện tìm kiếm mạnh mẽ Lucene Mục tiêu nghiên cứu Nghiên cứu luận văn hướng tới mục tiêu sau:     Tìm hiểu tìm kiếm nói chung tìm kiếm theo ký tự đại diện nói riêng Tìm hiểu giải pháp tìm kiếm theo ký tự đại diện Tìm hiểu giải pháp tìm kiếm theo ký tự đại diện Lucene Tiế n hành thực nghiê ̣m tim ̀ kiế m theo ký tự đa ̣i diê ̣n của Lucene cho tiế ng Viê ̣t Cấu trúc luận văn Luận văn chia thành phần với nội dung sau: Chƣơng trình bày tổng quan phương pháp tìm kiếm Các kiến thức trình bày bao gồm phương pháp chung sử dụng tìm kiếm, đặc biệt phương pháp tìm kiếm theo ký tự đại diện ý nghĩa mặt khoa học thực tiễn nhằm mang lại kiến thức lĩnh vực tìm kiếm 34  Lọc tập tin dạng *.html để sử dụng cho chương trình thực nghiệm  Trong tập tin dạng *.html lọc được, phần tiêu đề báo, đoạn giới thiệu báo, nội dung báo tin liên quan trích rút phục vụ cho giai đoạn lập mục 4.1.2Tạo tài liệu Để thực tìm kiếm tập liệu thu sau bước tiền xử lý, trước tiên, liệu phải lập mục Mục trình bày tạo tài liệu trường, hoạt động quy trình lập mục chương trình thực nghiệm Trong hoạt động này, trước tiên liệu văn trích rút từ tập tin dạng *.html thu sau bước tiền xử lý Dữ liệu văn sau sử dụng để tạo tài liệu có chứa trường Các trường tạo chứa phần nội dung văn trích rút từ tập tin html, tên tập tin html, đường dẫn tập tin html 4.1.3 Phân tích Hoạt động thứ hai quy trình lập mục phân tích, tài liệu trường tạo, Lucene thực phân tích liệu trường để tạo token để sau ghi vào mục Trong trình thực nghiệm, ban đầuStandardAnalyzer, phân tích có sẵn thư viện Lucene, sử dụng để phân tích văn bản.StandardAnalyzer loại bỏ từ dừng tiếng Anh a, an, the, thực tách từ sử dụng dấu cách dấu chấm câu làm để tách từ, cho phép chuyển đổi token thành chữ thường trước lưu vào mục Mặc dù StandardAnalyzer có nhiều ưu điểm phân tích nàykhơng phù hợp tìm kiếm với từ khóa tiếng Việt dấu cách tiếng Việt nhiều trường hợp dùng để phân biệt âm tiết từ có nhiều âm tiết Như vậy, ứng dụng vào ngơn ngữ tiếng Việt thuật ngữ từ phân tách dấu cách, ví dụ từ “Đại học” tách thành thuật ngữ “đại” “học”, khơng thể tiến hành tìm kiếm theo ký tự đại diện cho biểu thức “đ* học” Do đó, phân tách từ văn tiếng Việt bổ sung Chương trình thực nghiệm sử dụng vnTokenizer version 4.1.1 phân tách từ văn tiếng Việt mã hóa bảng mã Unicode UTF-8 35 dothầy Lê Hồng Phương, trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nộixây dựng.VnTokenizerdựa bảng âm tiết tiếng Việt từ điển từ vựng tiếng Việt để phân tách văn thành token phù hợp với tiếng Việt để lưu vào mục 4.1.4 Lập mục Trong lập mục, token có từ hoạt động phân tíchsẽ lưu vào mục theo cấu trúc mục ngược thư mục bởichương trình Các token trở thành khóa tìm kiếm mục ngược 4.1.5Tìm kiếm Chương trình thực nghiệm xây dựng nhằm kiểm thử tính tìm kiếm theo ký tự đại diện Lucene Chức tìm kiếm chương trình thực nghiệm sử dụng lớp WildcardQuery Lucene để xử lý truy vấn theo ký tự đại diện người dùng nhập vào, truy vấn nhập vào phân tích chuyển đổi thành biểu thức quy, sau otomat tương ứng xây dựng để thực tìm kiếm mục ngược Cuối kết tìm kiếm hiển thị cho người dùng 4.2 Xây dựng chƣơng trình thực nghiệm Để bắt đầu xây dựng chương trình thực nghiệm ứng dụng với Java nói chung công cụ hỗ trợ phát triển ứng dụng ngơn ngữ lập trình Java_Java Development Kit (JDK) mơi trường phát triển tích hợp Integreted Development Environment (IDE) phải cài đặt Cụ thể, môi trường phát triển ứng dụng, công cụ phiên Lucene sử dụng để xây dựng chương trình thực nghiệm luận văn thể bảng 4.1 Bảng 4.1 Các phần mềm sử dụng cho chương trình thực nghiệm STT Tên gọi&Phiên Chức Nguồn tải Apache Lucene 5.3.1 Thư viện dùng để lập https://lucene.apache.org mục tìm kiếm Jsoup 1.8.3 Thư viện dùng để http://en.osdn.jp/projects/sfnet_srtphân tích tài liệu tran/downloads/update/lib/jsoup- 36 HTML 1.8.3.jar/ vnTokenizer 4.1.1 https://github.com/hieuk09/textTách từ văn clustering/tree/master/lib/vn.hus.nl tiếng Việt p.tokenizer-4.1.1-bin JDK Bộ công cụ hỗ trợ phát triển ứng http://www.oracle.com/technetwor dụng ngôn ngữ k/java/javase/downloads/index.html lập trình Java IDE EclipseLuna SR2 Mơi trường phát triển http://www.eclipse.org/downloads/ tích hợp Teleport Pro 1.72 dùng Tải liệu từInternet thử http://www.masterkreatif.com/2015 /11/teleport-pro-1-72-fullversion.html Sau cài đặt mơi trường lập trình số cơng cụ hỗ trợ, chương trình thực nghiệm tìm kiếm theo ký tự đại diện Lucenesẽ xây dựngtheo sơ đồ thực nghiệm đưa hình 4.1 4.2.1 Thu thập liệu tiền xử lý Như trình bày mục 4.1.1, Teleport Pro cài đặt cấu hình để tải liệu văn gồm tập tin dạng *.htm, *.html,… từ trang tin tức điện tử http://vnexpress.net/ Kết thu thập liệu sau:     Tổng số tập tin tải về: 120 Tổng số tập tin *.html: 100 Tổng số tập tin *.htm: 20 Thời gian lấy liệu: 10: 18 AM, Thursday, 17/03/2016 Một lớp TextFileFilter xây dựng để lọc tập tin dạng *.html sử dụng cho việc lập mục chương trình thực nghiệm Kết cho thấy có 100 tập tin html lọc để phân tích lập mục Một phương thức parseVNE(String rawHTML), xây dựng bên lớp Indexer, sử dụng phương thức thư viện Jsoup để phân tích tập tin dạng*.html lấy phần tiêu đề báo, đoạn giới thiệu ngắn báo, nội dung báo tin liên quan để phục vụ cho giai đoạn lập mục Điều giúp hạn chế tài liệu không liên quan kết tìm kiếm 4.2.2 Tạo tài liệu 37 Phương thức getDocument xây dựng lớp Indexer để tạo tài liệu gán liệu sau bước tiền xử lý vào trường tài liệu, bao gồm:  fieldcontent: lưu nội dung văn trích rút từ tập tin *.html  fileNameField: lưu tên tập tin *.html  filePathField: lưu đường dẫn tập tin *.html 4.2.3 Phân tích Để thực phân tích liệu lưu trường thành token để ghi vào mục hỗ trợ tìm kiếm theo tiếng Việt trình bày mục 4.1.3, lớp TokenizerAdapter xây dựng.Lớp kế thừa phương thức từ chương trình tách từ tiếng Việt vnTokenizerđể thực phân tách từ văn tiếng Việt mã hóa bảng mã Unicode UTF-8 4.2.4 Lập mục Lớp Indexer xây dựnggọi đến phương thức addDocument lớp IndexWriter để ghi liệu sau phân tích vào mục Các phương thức lớp TokenizerAdaptercũng sử dụng lớp để hỗ trợ hoạt động phân tích liệu trước ghi liệu vào mục 4.2.5 Tìm kiếm Lớp LuceneTester xây dựng để thử nghiệm tính tìm kiếm theo ký tự đại diện Lucene searchUsingWildCardQuery(String searchQuery) phương thức chủ đạo lớp searchUsingWildCardQuerysử dụng phương thức lớp WildCardQuery Lucene để xử lý truy vấn có chứa ký tự đại diện người dùng nhập vào lớp Main, xây dựng otomat tương ứng, gọi đến phương thức search lớp Searcher xây dựng trước để tìm kiếm tập mục ngược searchUsingWildCardQuery cịn cho phép hiển thị thơng tin liên quan đến kết tìm kiếm bao gồm: thời gian tìm kiếm, tổng số tài liệu kết quả, đường dẫn đầy đủ nội dung tài liệu kết Ngoài lớp đề cập đến mục bên trên, chương trình thực nghiệm sử dụng thêm lớp LuceneConstants giúp khai báo số sử dụng chương trình Bảng 4.2 cung cấp nhìn tổng quát lớp sử dụng chương trình thực nghiệm Bảng 4.2Các class chương trình thực nghiệm STT Tên DemoLucene Class Mơ tả Package chương trình chứa lớp, thư viện, liệu, tài nguyên khác phục vụ cho việc lập mục tìm 38 LuceneConstants  TextFileFilter  TokenizerAdapter  Indexer  Searcher  LuceneTester  Main  kiếm Giúp khai báo số sử dụng chương trình bao gồm giới hạn hiển thị kết tìm kiếm Lọc file html để lập mục tìm kiếm sau Lớp kế thừa phương thức từ chương trình tách từ tiếng Việt vnTokenizerđể thực phân tách từ văn tiếng Việt mã hóa bảng mã Unicode UTF-8 phục vụ cho việc lập mục tìm kiếm tiếng Việt Lucene Lớp có nhiệm vụ lập mục liệu thu thập từ website tin tức điện tử http://vnexpress.net/ làm cho liệu tìm kiếm cách sử dụng thư viện Lucene, thư viện chương trình tách từ tiếng Việt vnTokenizer thư viện Jsoup để phân tích tài liệu HTML Lớp sử dụng để đọc mục tạo từ liệu thô lớp Indexer thực tìm kiếm sử dụng thư viện Lucene LuceneTester kiểm thử tính tìm kiếm theo ký tự đại diện Lucene, xây dựng otomat tương ứng với từ khóa tìm kiếm thơng tin quan trọng liên quan đến kết tìm kiếm trường hợp tìm kiếm thành cơng Cho phép tạo file mục thực việc tìm kiếm với từ khóa cho trước có chứa ký tự đại diện 4.3Đánh giákết thực nghiệm 4.3.1 Kết Thực tìm kiếm với 100 tập tin html thu thập từ website http://vnexpress.net/.Phương thức tìm kiếm sử dụng tìm kiếm nội 39 dung tập tin Khi chạy chương trình tất 100 tập tin liệu đánh mục để phục vụ tìm kiếm Với truy vấn theo ký tự đại diện nhập vào, otomat tương ứng xây dựng hiển thị cửa sổ console, trước trả thông tin liên quan đến kết tìm kiếm bao gồm: tổng số kết trả về, đường dẫn nội dung tương ứng với kết  Lần chạy chƣơng trình thứ o Từ khóa tìm kiếm: “Cadil?ac E*lade” o Kết tìm kiếm: total matching documents Time :110ms File: E:\Demolucene\data\Data\vnexpress\dan-khung-long-cadillac escalade-bien-dep-tai-viet-nam-3370739.html =============== CONTENT ================= Dàn 'khủng long' Cadillac Escalade biển đẹp Việt Nam Mẫu SUV hạng sang Mỹ biển số đẹp trở thành trào lưu chơi xe đại gia Việt.Cadillac Escalade - thú chơi đại gia Việt Khoảng 3-4 năm trở lại đây, số lượng Cadillac Escalade xuất phố Việt ngày nhiều, với chủ yếu màu đen, phiên trục sở kéo dài ESV, đan xen màu độc khác trắng, đỏ …  Lần chạy chƣơng trình thứ hai o Từ khóa tìm kiếm: “me*el” o Kết tìm kiếm: total matching documents Time :32ms File: E:\Demolucene\data\Data\vnexpress\ba-merkel-vung-vang-sau-ngaychu-nhat-kinh-hoang-3370372.html =============== CONTENT ================= Bà Merkel vững vàng sau 'ngày chủ nhật kinh hoàng' Thất bại bất ngờ đảng cầm quyền CDU bầu cử vùng không làm lung lay tâm theo đuổi sách tị nạn nhân đạo thủ tướng Đức.Đảng cầm quyền Đức thất bại bầu cử khu vực Nữ Thủ tướng Đức Angela Merkel Ảnh: AFP Tại bầu cử vùng ngày 13/3, đảng Liên minh Dân chủ Cơ Đốc giáo (CDU) bà Angela Merkel bị đánh bại hai số ba bang tham gia bầu cử…  Lần chạy chƣơng trình thứ ba o Từ khóa tìm kiếm: “bổ ?ung” o Kết tìm kiếm: total matching documents Time :30ms File: E:\DemoLucene\data\Data\vnexpress\chien-phi-cua-nga-sau-6thang-khong-kich-syria-3370831.html File: E:\DemoLucene\data\Data\vnexpress\cong-nghe-dot-pha-nganchan-ung-thu-di-can-3364697.html File: E:\DemoLucene\data\Data\vnexpress\day-them-hoc-them-o-nhatban-nhu-the-nao-3371502.html 40 File: E:\DemoLucene\data\Data\vnexpress\thi-sinh-muon-xet-tuyenvao-bach-khoa-ha-noi-phai-qua-vong-loai-3370984.html File: E:\DemoLucene\data\Data\vnexpress\tranh-cai-viec-tu-choicho-chau-be-bi-camry-dam-3362747.html File: E:\DemoLucene\data\Data\vnexpress\vi-sao-17-phien-xu-khongxong-vu-an-khien-bi-hai-noi-dien-3371045.html  Lần chạy chƣơng trình thứtƣ o Từ khóa tìm kiếm: “t* phú” o Kết tìm kiếm: total matching documents Time :63ms File: E:\Demolucene\data\Data\vnexpress\con-cho-deo-apple-watch3348345.html File: E:\Demolucene\data\Data\vnexpress\donald-trump-ha-guc-themmot-doi-thu-trong-dang-cong-hoa-3370546.html File: E:\Demolucene\data\Data\vnexpress\khoi-kim-cuong-khong-lohon-404-carat-3355686.html File: E:\Demolucene\data\Data\vnexpress\kremlin-chi-trich-videoche-cua-donald-trump-3371617.html File: E:\Demolucene\data\Data\vnexpress\trump-obama-phan-ung-trainguoc-truoc-nguoi-gay-roi-3371301.html File: E:\Demolucene\data\Data\vnexpress\truyen-thong-trung-quocvi-ty-phu-trump-voi-ga-he-3371362.html File: E:\Demolucene\data\Data\vnexpress\tuyen-hon-chuc-co-gaisang-malaysia-ban-dam-3350102.html File: E:\Demolucene\data\Data\vnexpress\ty-phu-trump-ca-ngoiputin-manh-me-va-quyen-luc-3330370.html 4.3.2 Đánh giá kết Để thấy hiệu chương trình demo, chất lượng kết tìm kiếm, độ đo độ xác, độ bao phủ độ đo F1 tính tốn ứng với câu truy vấn tập truy vấn đầu vào 4.3.2.1 Phƣơng pháp đánh giá Hiệu công cụ tìm kiếm đánh giá thơng qua hài lịng người dùng Điều đánh giá thơng qua việc trả lời câu hỏi: Cơng cụ tìm kiếm có thực người dùng mong muốn hay khơng? Có hai độ đo để đánh giá hiệu cơng cụ tìm kiếm phổ biến độ xác (precision) độ bao phủ (recall) trình bày chi tiết [6,9,10] Độ bao phủ cho biết hiệu cơng cụ tìm kiếm việc tìm kiếm tất tài liệu liên quan đến câu truy vấn, độ xác cho biết hiệu của cơng cụ tìm kiếm việc loại bỏ tài liệu không liên quan đến câu truy vấn kết tìm kiếm Một số giả thiết cần thiết để tính tốn độ xác độ bao phủ bao gồm: 41  Một tập tài liệu sở liệu có liên quan tới nội dung tìm kiếm  Các tài liệu tìm kiếm liên quan khơng liên quan đến nội dung tìm kiếm  Tập tài liệu tìm kiếm khơng giống hồn tồn với tập tài liệu có liên quan tới nội dung tìm kiếm Tập tài liệu kết tìm kiếm Tập tài liệu liên quan sở liệu Các tài liệu khơng liên quan kết tìm kiếm Các tài liệu liên quan không nằm kết tìm kiếm Các tài liệu liên quan kết tìm kiếm Hình 4.2 Giả thiết cho tính tốn độ xác độ bao phủ Ký hiệu:  A= Số tài liệu liên quan kết tìm kiếm  B= Số tài liệu liên quan khơng xuất kết tìm kiếm  C= Số tài liệu không liên quan kết tìm kiếm Độ xác tỷ lệ số tài liệu liên quan tìm kiếm tổng số tài liệu tìm kiếm (bao gồm tài liệu liên quan không liên quan đến nội dung tìm kiếm) Độ xác thường biểu diễn dạng tỷ lệ phần trăm C: Số tài liệu khơng liên quan kết tìm kiếm A: Số tài liệu liên quan kết tìm kiếm Độ xác = A A+C × 100% 42 Hình 4.3 Cách tính độ xác Độ bao phủ tỷ lệ số tài liệu liên quan tìm kiếm tổng số tài liệu liên quan sở liệu Độ xác thường biểu diễn dạng tỷ lệ phần trăm B: Số tài liệu liên quan không xuất kết tìm kiếm A: Số tài liệu liên quan kết tìm kiếm Độ bao phủ = A A+B × 100% Hình 4.4 Cách tính độ bao phủ Độ đo F[6,9,10] độ đo đánh giá tính hiệu dựa độ bao phủ độ xác sử dụng để đánh giá hiệu suất phân loại tìm kiếm thơng tin Ưu điểm cho thấy tính hiệu tìm kiếm giá trị số Độ đo Fđược định nghĩa trung bình điều hịa độ bao phủ độ xác: F= 1 P R 𝛼 +(1−α) ) = (𝛽 +1)PR (𝛽 P+R) P độ xác, R độ bao phủ Trong thực tế độ đo F1cân bằngthường sử dụng với β=1, α=1/2 Khi F1 tính sau: F1= 1 1 ( + ) R P = 2RP (R+P) 4.3.2.2 Đánh giá Để đánh giá tính hiệu chương trình thực nghiệm, độ đo độ xác, độ bao phủ độ đo F1 tính tốn ứng với câu truy vấn tập gồm 8truy vấn đầu vào Các truy vấn tiếng Việt tập truy vấn đầu vào khơng có ý nghĩa nhiều với người Việt có ý nghĩa với người nước ngoài, đặc biệt với người nước làm quen với ngơn ngữ tiếng Việt.Mơ hình của Lucene cịn áp dụng cho nhiều ngơn ngữ khác, người Viê ̣t có thể dễ dàng tìm kiế m tài liê ̣u tiế ng nước ngoài với cách câu truy vấn chứa ký tự đại diện.Ngoài ra, đầu vào cho việc đánh giá cịn có tập gồm 100 tài liệu định dạng html thu thập từ trang tin tức điện tử http://vnexpress.net/ thông qua phần mềm tải file Teleport Pro 43 Quá trình đánh giá chương trình thực nghiệm chia làm hai giai đoạn:  Giai đoạn 1: Trước thực bổ sung tính tìm kiếm theo ký tự đại diện Tiếng việt  Giai đoạn 2: Sau bổ sung tính tìm kiếm theo ký tự đại diện Tiếng việt Dựa tập truy vấn đầu vào tập liệu dùng để đánh mục tìm kiếm, độ đo tính tốn theo cơng thức trình bày mục 4.3.2.1 Kết đánh giá hiển thị chi tiết bảng 4.3 4.4 bên Như trình bày mục 4.3.2.1, A số tài liệu liên quan kết tìm kiếm, B làsố tài liệu liên quan khơng nằm kết tìm kiếm, C số tài liệu không liên quan kết tìm kiếm, P độ xác vàR độ bao phủ Bảng 4.3 Kết đánh giá trước bổ sung tính tìm kiếm theo tiếng Việt STT Truy vấn bổ ?ung t* phú Tiến s? biể? Cadil?ac E*lade m?nso* Piaggio * me*el A 0 18 B C P 0 0% 0 0% 0 0% 17 51% 0 0% 0 100% 0 0% 0 100% Trung bình: 83.67% R 0% 0% 0% 90% 0% 100% 0% 100% 96.67% F1 0% 0% 0% 65% 0% 100% 0% 100% 88.33% Bảng 4.4 Kết đánh giá sau bổ sung tính tìm kiếm theo tiếng Việt STT Truy vấn bổ ?ung t* phú Tiến s? biể? Cadil?ac E*lade m?nso* Piaggio * me*el A 18 1 1 B C P 0 100% 88% 0 100% 100% 0 100% 0 100% 0 100% 100% Trung bình: 93.88% R 100% 100% 100% 90% 100% 100% 100% 50% 92.5% F1 100% 93% 100% 95% 100% 100% 100% 67% 94.38% Dựa số liệu tính tốn thể bảng 4.3 4.4 ta thấy rõ trước bổ sung tách từ tiếng Việt chương trình thực nghiệm có khả tìm kiếm cho kết xác với truy vấn theo ký tự đại tiếng Anh gồm từ, cho kết tương đối xác với truy vấn theo ký 44 tự đại diện tiếng Việt từ đơn.Sau bổ sung tách từ, độ xác kết tìm kiếm tăng lên rõ rệt, đặc biệt chương trình cho kết có độ xác cao truy vấn tiếng Anh tiếng Việt gồm hai từ trở lên Ví dụ xét truy vấn “bổ ?ung”, trước bổ sung tách từ tiếng Việt StandardAnalyzercăn vào dấu cách để tách từ nên mục ngược chứa thuật ngữ như: “bổ”, “sung” hay “xung”, việc đưa truy vấn để tìm tài liệu chứa từ “bổ sung” hay “bổ xung” khơng tìm thấy.Sau bổ sung tách từ tiếng ViệtvnTokenizer, việc tách từ dựa từ điển tiếng Việt bảng âm tiết tiếng Việt nên “bổ sung” token có nghĩa phù hợp để lưu mục, mà kết tìm kiếm hiển thị tài liệu phù hợp Như vậy, mặt lý thuyết thực nghiệm, luận văn đạt kết định, cụ thể sau: Về mặt lý thuyết Luận văn tìm hiểu kiến thức chung tìm kiếm thơng tin, tìm hiểu sâu tìm kiếm theo ký tự đại diện Những kiến thức tìm kiếm theo ký tự đại diện trình bày luận văn từ khái kiệm ban đầu, giải pháp cài đặt, việc cài đặt môi trường cụ thể Tuy nhiên, từ trước đến tìm kiếm thơng tin ln lĩnh vực rộng cịn ẩn chứa nhiều nội dung vấn đề khó khăn cần giải Nhưng thời gian có hạn nên kiến thức tìm hiểu trình bày luận văn nhiều hạn chế Về mặt thực nghiệm Dựa theo mục tiêu ban đầu đề luận văn mặt thực nghiệm, chương trình demo nhằm kiểm thử tính tìm kiếm theo ký tự đại diện Lucene xây dựngvà đạt số kết sau: 45  Lựa chọn thông tin thu thập từ Internet để thực phân tích,lập mục phục vụ cho hoạt động tìm kiếm  Ngồi việc tìm kiếm theo từ khóa tiếng Anh,là ngơn ngữ Lucene hỗ trợ xử lý, chương trình cịn bổ sung số lớp để hỗ trợ tìm kiếmtheo ký tự đại diệnvà cho kết có độ xác cao với từ khóatiếng Việt.Đây cải tiến đưa trình nghiên cứu thực luận văn Ngoài kết đạt chương trình thực nghiệm cịn số hạn chế cần khắc phục như:  Chưa có giao diện người dùng  Chưa xếp hạng kết tìm kiếm  Đoạn văn tài liệu chứa từ khóa tìm kiếm chưa hiển thị ngắn gọn 46 KẾT LUẬN Luận văn định hướng nghiên cứuvào tìm kiếm, tìm theo ký tự đại diện, vận dụng xây dựng ứng dụng giúp thực tìm kiếm theo ký tự đại diện Dựa lý thuyết tìm hiểu tìm kiếm nói chung tìm kiếm theo ký tự đại diện nói riêng tơi xây dựng ứng dụng tìm kiếm đơn giản theo ký tự đại diện dựa vào lớp thư viện tìm kiếm Lucene số thư viện hỗ trợ khác Những đóng góp luận văn là:  Hệ thống hóa nội dung tìm kiếm theo ký tự đại diện  Giới thiệu kiến thức thư viện tìm kiếm Lucene  Nghiên cứu cụ thể tìm kiếm theo ký tự đại diện trongLucene, sở xây dựng ứng dụng đơn giản giúp kiểm thử tính Lucene  Chương trình ứng dụng đơn giản cho phép người dùng tìm kiếm theo từkhóa tiếng Việt tiếng Anh cách hiệu  Đánh giá hiệu chương trình xây dựng cách sử dụng độ đo độ xác, độ bao phủ, độ đo F1 Kết chạy ứng dụng cho thấy kỹ thuật tìm kiếm có hiệu thực tế Có thể nói tìm kiếm theo ký tự đại diện kỹ thuật tìm kiếm khơng thể thiếu cơng cụ tìm kiếm Dựa kết khả quan đạt được, hướng phát triển đề tài xây dựng cơng cụ tìm kiếm hồn chỉnh tích hợp thêm nhiều kỹ thuật tìm kiếm với giao diện người dùng thân thiện khắc phục hạn chế tồn hiển thị kết tìm kiếm 47 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Văn Định (2012) “Giáo trình Otomat Ngơn ngữ hình thức” NXB Đại học Nơng Nghiệp Tiếng Anh Christian Charras, Thierry Lecroq (2004), Handbook of Exact String Matching Algorithms, College Publications Christopher D Manning, Prabhakar Raghavan, Hinrich Schütze (2009), An Introduction to Information Retrieval, Cambridge University Press, England, Online edition (c) 2009 Cambridge UP G.Berry, R.Sethi (1986), “From regular expressions to deterministic automata”, Theoretical Computer Science, Elsevier Science Publishers B.V (North-Holland), pp.117-126 Michael McCandless, Erik Hatcher, Otis Gospodnetic (2009), Lucene in action 2nd Edition, Manning Publications Keneilwe Zuva, Tranos Zuva (2012), “Evaluation of Information Retrieval”, International Journal of Computer Science & Information Technology (IJCSIT), Vol (No 3), June 2012 Lingpipe, and Gate, Manu Konchady (2008), Building Search Applications: Lucene,Mustru Publishing, 1st edition Mehryar Mohri (1997), “Finite-State Transducers in Laguage and Speech Processing”, Computational Linguistics, Volume 23 Issue 2, June 1997, pp.269-311 Paul Clough, Mark sanderson (2013), “Evaluating the performance of information retrieval systems using testcollections”, IR Information Research, Vol 18 (No 2), June, 2013 10 Ricardo Baeza -Yates, Berthier Ribeiro - Neto (1999), Morden Information Retrieval, Addison Wesley 11 Stoyan Mihov and Denis Maurel (2001),Direct Construction of Minimal Acyclic Subsequential Transducers 12 William B.Frakes, Ricardo Baeza-Yates (1992), Information Retrieval: Data Structures & Algorithms, Prentice Hall, 1st edition 48 Phụ lục:Quy tắc viết biểu thức quytrong Java STT BTCQ Mô tả Khớp (match) với ký tự ^regex Biểu thức quy phải khớp điểm bắt đầu regex$ Biểu thức quy phải khớp cuối dòng [abc] Thiết lập định nghĩa, khớp với a b c [abc][vz] Thiết lập định nghĩa, khớp với a b c theo sau v hay z [^abc] [a-d1-7] Phạm vi: phù hợp với chuỗi a điểm d số từ đến X|Z Tìm X Z XZ Tìm X theo sau Z Khi dấu ^ xuất nhân vật dấu ngoặc vng, phủ nhận mơ hình Điều khớp với ký tự ngoại trừ a b c 10 $ Kiểm tra kết thúc dòng 11 \d Số bất kỳ, viết ngắn gọn cho [0-9] 12 \D Ký tự số, viết ngắn gon cho [^0-9] 13 \s Ký tự khoảng trắng, viết ngắn gọn cho [ \t\n\x0b\r\f] 14 \S Ký tự khoản trắng, viết ngắn gọn cho [^\s] 15 \w Ký tự chữ, viết ngắn gọn cho [a-zA-Z_0-9] 16 \W Ký tự chữ, viết ngắn gọn cho [^\w] 17 \S+ Một số ký tự khoảng trắng (Một nhiều) 18 \b Ký tự thuộc a-z A-Z 0-9 _, viết ngắn gọn cho [a-zA-Z09_] 19 * Xuất nhiều lần, viết ngắn gọn cho {0,} 20 + Xuất nhiều lần, viết ngắn gọn cho {1,} 21 ? Xuất lần, ? viết ngắn gọn cho {0,1} 22 {X} Xuất X lần, {} 23 {X,Y} Xuất khoảng X tới Y lần 24 *? *:xuất nhiều lần, thêm ? phía sau: trả kết nhỏ

Ngày đăng: 23/09/2020, 22:43

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

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

Tài liệu liên quan