1 Lọc và phân loại dữ liệu trên Web Ứng dụng xây dựng hệ quản trị nội dung PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1 Mục đích nội dung của ĐATN Xây dựng các luật và thuật toán để lọc và phân loại dữ liệu[.]
Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Mục đích nội dung ĐATN Xây dựng luật thuật toán để lọc phân loại liệu Web, từ xây dựng ứng dụng hệ quản trị nội dung(CMS), cụ thể hệ thống tìm kiếm việc làm trực tiếp Các nhiệm vụ cụ thể ĐATN Xây dựng luật để lọc liệu từ trang web Sử dụng công cụ Lucene để phân loại liệu lọc dựa từ khóa Thiết kế, thử nghiệm triển khai ứng dụng Lời cam đoan sinh viên: Tôi - NGUYỄN HÙNG ANH - cam kết ĐATN cơng trình nghiên cứu thân hướng dẫn thầy giáo Ths Thạc Bình Cường đồng hướng dẫn Ths Lương Thanh Bình Các kết nêu ĐATN trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày 20 tháng năm2008 Tác giả ĐATN Nguyễn Hùng Anh 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ăm2008 Giáo viên hướng dẫn Ths Thạc Bình Cường Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Hiện xã hội ngày phát triển, nhu cầu việc làm người trở nên thiết Các nhà tuyển dụng mong muốn tìm ứng viên phù hợp với cơng việc mình, người tim việc muốn tìm cơng việc phù hợp với lực Nhưng để nhà tuyển dụng người tìm việc đến với thật không dễ dàng, thời buổi thơng tin có q nhiều Muốn giải vấn đề trên, ta cần có hệ thống trung gian phục vụ cho việc lấy thông tin công việc nhà tuyển dụng truyền đạt nội dung đến người tìm việc Đồ án xây dựng cài đặt hệ thống quản trị nội dung(CMS) mà cụ thể hệ thống tìm kiếm việc làm trực tiếp bao gồm hai chức thu thập thơng tin công việc từ nhà tuyển dụng phân loại cơng việc để phục vụ nhu cầu tìm kiếm việc làm ứng viên Để thực điều đồ án tập trung xây dựng tập luật để lọc thông tin mà cụ thể thông tin nội dung công việc từ trang web đăng tin tuyển dụng, đồng thời tìm hiểu vận dụng cơng cụ đánh mục tìm kiếm Lucene để phân loại thơng tin lọc dựa từ khóa Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung ABSTRACT OF THESIS In the developing world of today, there is a huge need for job hunting amongs people and people While recruiters want to employ suitable candidates for their vacancies, job seekers also hope to find good jobs that they have ability to However, there is a lot of difficulties in matching these job seekers with recruiters seeking such suitabe employees, especially in the world of so much information that available A job search system to connect recruiters to job seekers is needed to solve the problem This tool gets information from recruiters then supply them to job seekers This thesis has built and set up Content Management System(CMS), named supplydirect system search with two main following functions The first is gathering information from recruiters about jobs and requirements The second is sorting these jobs by what candidates want In order to so, the essay focuses on build the rules that scrapes information about jobs from job search sites It search and apply the tool called Lucene to sorted information based on key words Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung 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 MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG DANH MỤC CÁC TỪ VIẾT TẮT .9 MỞ ĐẦU 11 Chương 1: Tổng quan 12 1.1 Giới thiệu chung .12 1.1.1 Hệ quản lí nội dung gì? 12 1.1.2 Lợi ích việc sử dụng hệ quản lí nội dung 12 1.1.3 Các sản phẩm quản lí nội dung- so sánh tính 14 1.1.4 Kết luận .14 1.2 Mơ tả tồn 14 1.2.1 Vai trị cơng nghệ thơng tin việc tìm kiếm thơng tin có chọn lọc .14 1.2.2 Bài tốn cần xây dựng .15 1.3 Phương pháp giải toán 15 1.3.1 Bài toán dựa Internet, www .15 1.3.2 Công cụ tìm kiếm Lucene 16 1.3.3 Công cụ crawler chuyên thu thập trang web .17 Chương 2: Lọc phân loại liệu 18 2.1 Giới thiệu hệ thống khai thác thông tin 18 2.2 Lucene- Cơng cụ đánh mục tìm kiếm 19 2.2.1 Giới thiệu Lucene 19 2.2.1.1 Lucene làm gì? 19 2.2.1.2 Đánh mục tìm kiếm 20 2.2.1.2.1 Thế đánh mục, lại quan trọng .20 2.2.1.2.2 Thế tìm kiếm .20 2.2.1.3 Lucene in Action: tạo ứng dụng mẫu 20 2.2.1.3.1 Tạo mục 20 2.2.1.3.2 Tìm kiếm mục 21 2.2.1.4 Tìm hiểu lớp Indexer 23 2.2.1.4.1 IndexWriter 23 2.2.1.4.2 Thư mục (directory) 23 2.2.1.4.3 Bộ phân tích (analyzer) .23 2.2.1.4.4 Bản ghi (document) .23 2.2.1.4.5 Trường(Field) 24 2.2.1.5 Tìm hiểu lớp tìm kiếm .25 2.2.1.5.1 IndexSearcher 25 2.2.1.5.2 Thuật ngữ 25 2.2.1.5.3 Truy vấn 25 2.2.1.5.4 Hits 25 2.2.2 Đánh mục(Indexing) 25 2.2.2.1 Tìm hiểu trình đánh mục .25 2.2.2.1.1 Chuyển thành văn 25 2.2.2.1.2 Phân tích(analysis) 26 2.2.2.1.3 Viết mục 27 2.2.2.2 Các thao tác đánh mục 27 2.2.2.2.1 Thêm ghi vào mục 27 2.2.2.2.2 Xóa ghi khỏi mục 28 Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung 2.2.2.2.3 Cập nhập ghi vào mục .29 2.2.2.3 Độ tin cậy Các ghi Trường .31 2.2.2.4 Kiểm sốt q trình đánh mục 31 2.2.2.4.1 Điểu chỉnh hiệu đánh mục 31 2.2.2.4.2 Đánh mục nhớ: RAMDirectory 31 2.2.3 Tìm kiếm ứng dụng 34 2.2.3.1 Thực thi chức tìm kiếm đơn giản .34 2.2.3.1.1 Tìm kiếm với thuật ngữ cụ thể 35 2.2.3.1.2 Phân tích(parse) truy vấn nhập vào người dùng: QueryParser 35 2.2.3.2 Sử dụng IndexSearcher 37 2.2.3.2.1 Làm việc với Hits 38 2.2.3.3 Tạo đối tượng truy vấn 38 2.2.3.3.1 Tìm kiếm thuật ngữ: TermQuery .38 2.2.3.3.2 Nối truy vấn: BooleanQuery 39 2.2.3.3.3 Tìm kiếm theo cụm từ: PhraseQuery 39 2.2.3.3.4 Tìm kiếm theo Widcard: WildcardQuery 40 2.2.3.3.5 Tìm kiếm dựa vào thuật ngữ tương đồng: FuzzyQuery 41 2.2.4 Phân tích 41 2.2.4.1 Sử dụng phân tích 42 2.2.4.1.1 Phân tích q trình đánh mục 42 2.2.4.1.2 Phân tích QueryParser 43 2.2.4.2 Tìm hiểu phân tích 43 2.2.4.2.1 Thế từ tố (token) .43 2.2.4.2.2 Các phân tích 44 2.2.4.3 Sử dụng phân tích có sẵn 45 2.1.4.3.1 StopAnalyzer .46 2.2.4.3.2 StandardAnalyzer 46 Chương 3: Phân tích hệ thống 47 3.1 Giới thiệu hệ thống cần xây dựng .47 3.1.1 Giới thiệu chung hệ thống 47 3.1.2 Mơ hình hệ thống 47 3.2 Phương thức thực chương trình 50 3.2.1 Giới thiệu cách xử lý đa luồng 50 3.2.2 Thiết kế 50 3.2.3 Phần tử công việc (Work Item) 51 3.2.4 Hàng làm việc (WorkQueue) 51 3.2.5 Luồng tài nguyên công việc (WorkThreadPool) .52 3.2.6 Quản lý ngoại lệ 53 3.2.7 Ứng dụng xử lý đa luồng vào tốn tìm việc trực tiếp 54 3.2.7.1 Lấy chi tiết link từ trang web .54 3.2.7.2 Lấy nội dung công việc từ trang HTML 55 3.2.7.3 Phân loại liệu 56 Chương 4: Thiết kế hệ thống 57 4.1 Thiết kế giao diện cho hệ thống .57 4.1.1 Cấu trúc trang(sitemap) 57 4.1.2 Giao diện cho người tìm việc 58 4.1.2.1 Giao diện 58 4.1.2.2 Trang chủ 58 4.1.2.3 Đăng ký, đăng nhập, thay đổi mật .60 4.1.3 Giao diện cho nhà tuyển dụng 61 Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung 4.1.3.1 Quản lý thông tin công ty 61 4.1.3.2 Quản lý chi nhánh công ty .61 4.1.3.3 Tạo chi nhánh 62 4.2 Thiết kế sở liệu .62 4.2.1 Thiết kế quan hệ hệ thống 62 4.2.1.1 Quản lý người dùng 62 4.2.1.2 Thơng tin vị trí .63 4.2.1.3 Các luật lọc 64 4.2.1.4 Phân loại công việc 64 4.2.2 Thiết kế lớp, bảng 65 4.2.2.1 Bảng lưu thơng tin người tìm việc .65 4.2.2.2 Bảng lưu thông tin danh sách công việc 66 4.2.2.3 Bảng lưu công việc thông tin liên quan sau phân loại (Web_JobPosting) 67 4.2.2.4 Bảng lưu tập luật(Scrape_FieldScrapeRule) 68 4.2.2.5 Bảng lưu từ khóa 69 Chương 5: Cài đặt hệ thống- kết thu 70 5.1 Cài đặt triển khai thử nghiệm ứng dụng 70 5.1.1 Cài đặt triển khai phần mềm tìm kiếm việc làm trực tiếp 70 5.1.2 Cài đặt ứng dụng web cho hệ thống tìm kiếm việc làm 70 5.2 Một số kết chương trình 71 5.2.1 Kết phần xử lý 71 5.2.2 Các dịch vụ cho người quản trị(admin) .72 5.2.3 Các dịch vụ cho người tìm việc 73 Chương 6: Đánh giá hướng phát triển 75 6.1 Tổng hợp đánh giá kết 75 6.2 Hướng phát triển 75 Chương 7: Tài liệu tham khảo 76 Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung DANH MỤC CÁC HÌNH VẼ Hình 1: Các ứng dụng tiêu biểu tích hợp Lucene .19 Hình 2: Đánh mục với Lucene chia thành thao tác: chuyển liệu thành văn bản, phân tích liệu lưu chúng vào mục(index) 26 Hình : Quá trình khởi tạo đệm 31 Hình 4: Một ứng dụng đa luồng sử dụng nhiều RAMDirectory cho việc đánh mục song song 34 Hình 5: Luồng từ tố với thơng tin vị trí độ dài từ tố(offset) 44 Hình 6: Mơ hình hệ thống cần xây dựng 48 Hình 7: Xử lý kiểu đường ống 51 Hình 8: Cấu trúc trang 57 Hình 9: MainNavigation 58 Hình 10: Trang chủ 59 Hình 11: Đăng ký đăng nhập, thay đổi mật .60 Hình 12: Quản lý thông tin công ty .61 Hình 13: Quản lý chi nhánh công ty 61 Hình 14: Tạo chi nhánh 62 Hình 15: Thơng tin vị trí 63 Hình 16: Các luật lọc 64 Hình 17: Phân loại cơng việc .64 Hình 18: Các dịch vụ cho người quản trị hệ thống 73 Hình 19: Các dịch vụ mà người tìm việc cung cấp 74 Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung DANH MỤC CÁC BẢNG Bảng So sánh tính hệ CMS phổ biến 14 Bảng Các đặc trưng trường 24 Bảng Các lớp API Lucene 35 Bảng Ví dụ biểu thức mà QueryParser xử lý .37 Bảng Các phương thức tìm kiếm IndexSearcher 38 Bảng Phương thức Hits cho hiệu truy xuất kết tìm kiếm 38 Bảng Các phân tích Lucene 46 Bảng Bảng lưu thơng tin người tìm việc 65 Bảng Bảng lưu thông tin danh sách công việc .66 Bảng 10 Bảng lưu công việc sau phân loại 67 Bảng 11 Bảng lưu tập luật 68 Bảng 12 Bảng từ khóa 69 Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung DANH MỤC CÁC TỪ VIẾT TẮT VIẾT TẮT CSDL XML URL UDDI TỪ GỐC Cơ Sở Dữ Liệu Extensible Markup Language Uniform Resource Locator Universal Description Discovery and Integration Web Service Description Language Ý NGHĨA Cơ sở liệu Ngôn ngữ định dạng mở rộng HTML Hyper Text Markup Languege Ngôn ngữ đánh dấu văn CMS Content Management System Hệ quản trị nội dung WSDL Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM Mơ tả, tích hợp tìm kiếm tồn cầu Ngơn ngữ đặc tả Web service Lọc phân loại liệu Web-Ứng dụng xây dựng hệ quản trị nội dung LỜI CẢM ƠN Để hồn thành tốt đồ án này, trước hết cho em gửi lời cảm ơn chân thành đến thầy giáo, Ths.Thạc Bình Cường –bộ mơn Công nghệ phần mềm, khoa Công nghệ thông tin, Trường đại học Bách khoa Hà nội – người giành nhiều tâm huyết, thời gian hướng dẫn, bảo em suốt thời gian làm đồ án Em xin gửi lời cảm ơn chân thành đến cô giáo đồng hướng dẫn Ths.Lương Thanh Bình người nhiệt tình hướng dẫn em thời gian thực tập tốt nghiệp làm đồ án, ý kiến cô góp phần khơng nhỏ để em xây dựng nên đồ án Em xin cảm ơn thầy cô khoa Công nghệ thông tin thầy cô trường Đại học Bách Khoa Hà Nội, người dìu dắt em suốt năm năm qua Cảm ơn bạn lớp CNPM đóng góp ý kiến cho đồ án này, đặc biệt bạn Phạm Minh Tuấn Tác giả: Nguyễn Hùng Anh Sinh viên thực hiện: Nguyễn Hùng Anh Khóa 48 Lớp CNPM