Tải bản đầy đủ (.ppt) (50 trang)

đề tài tìm hiểu nguyên lý se framework lucene và ứng dụng nutch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (996.27 KB, 50 trang )

Đề tài: Tìm hiểu nguyên lý SE
framework Lucene & ứng dụng Nutch
GVHD: Ths Hoàng Anh Việt
Nguyễn Thế Anh 20080070
Trần Anh Thơ 20082569
Nguyễn Vương Quyền 20082142
Nguyễn Văn Hưng 20081293
Nhóm sinh viên:
1
Nội dung

Nguyên lý và mô hình SE (Search engine)

Lucene

Nutch
2
Nguyên lý và mô hình SE
3
1. Giới thiệu
4
1. Giới thiệu

SE là phần mềm nhằm tìm ra các trang trên mạng
Internet có nội dung theo yêu cầu người dùng.

Crawler-Based Search Engines: lần tìm các trang
trên mạng, rồi tự động phân tích các trang lấy về và
đưa vào cơ sở dữ liệu của nó.

Human-Powered Directories: các thư mục Internet


hoàn toàn phụ thuộc vào sự quản lý của con người.
5
2. Phân loại
2.1. Máy tìm kiếm thông thường

Tìm kiếm theo qui trình thu thập tài liệu, phân loại
và tạo chỉ mục.

Gồm hai loại, Search Engine sử dụng thư mục chủ
đề và Search Engine tạo chỉ mục tự động.

Các Search Engine sử dụng thư mục chủ đề phân
lớp sẵn các trang trên Internet vào các thư mục chủ
đề và theo các cấp chi tiết hơn của chủ đề.
6
2. Phân loại
2.2. Máy siêu tìm kiếm
7
2. Phân loại
2.2. Máy siêu tìm kiếm

Là loại máy truy tìm ảo, hoạt động dựa trên sự tồn
tại của các Search Engine sẵn có.

Không có cơsở dữ liệu của riêng mình.

Khi có yêu cầu tìm kiếm gửi từ khóa đến các
Search Engine khác phân tích và phân hạng lại các
kết quả tìm được.
8

3. Nguyên lý
9
3. Nguyên lý

Robot đi thu thập thông tin trên mạng.

Robots phải liên tục cập nhật các site cũ.

Tiến hành phân tích, tìm trong cơ sở dữ liệu chỉ
mục & trả về những tài liệu thoả yêu cầu.
10
4. Mô hình
4.1. Bộ tìm duyệt Crawler

Page selection

Interest Driven: dựa vào mức độ quan tâm của người
sử dụng với các trang đó.

Popularity Driven: dựa vào mức độ phổ biến của
trang.

Location Driven: xác định mức độ quan trong của
trang P dựa vào địa chỉ của nó.
11
4. Mô hình
4.1. Bộ tìm duyệt Crawler

Mô hình crawler


Crawl & stop:Trong số k trang được Crawler ghé
thăm chỉ có m trang (m<=k) sẽ được sắp thứ hạng
cao hơn hoặc bằng trang Rk.

Crawl & Stop with Threshold: vẫn giả sử rằng bộ
Crawler ghé thăm k trang. Tuy nhiên lúc này đích
quan trọng G đã được cho sẵn, và bất cứ trang nào
có độ quan trọng lớn hơn G thì đều được coi là trang
hot.
12
4. Mô hình
4.1. Bộ tìm duyệt Crawler

Page refresh

Uniform refresh policy: cập nhật đồng loạt. Crawler
ghé thăm lại tất cả các trang theo cùng một tần suất f.

Proportional refresh policy: Cập nhật theo tỷ lệ, một
trang thường xuyên thay đổi thì Crawler ghé thăm
thường xuyên hơn.
13
4. Mô hình
4.2. Kho dữ liệu repository

Yêu cầu với repository

Có khả năng mở rộng.

Có cách truy cập kéo.


Có thể cập nhật khối lượng lớn.

Loại bỏ trang không tồn tại.

Kho dữ liệu được thiết kế phân tán.
14
4. Mô hình
4.2. Kho dữ liệu repository

Nguyên tắc phân tán trang

Phân tán đồng bộ

Tất cả các nút được xử lý đồng nhất. Một trang có
thể được gán cho một nút bất kỳ trong hệ thống.
Các nút sẽ chứa các phần của tập hợp các trang
tuỳ theo khả năng lưu trữ của nút.

Phân tán băm

Việc định vị các trang vào các nút dựa trên định
danh của trang.
15
4. Mô hình
4.2. Kho dữ liệu repository

Phương pháp tổ chức vật lý

Trong một nút đơn, có 3 thao tác có thể thực hiện:


Thêm trang/ chèn trang (page addition/insertion), truy
cập tuần tự tốc độ cao, và truy cập ngẫu nhiên.

Cách tổ chức các trang theo kiểu vật lý tại mỗi nút
chính là việc xem xét xem mức độ hỗ trợ mỗi thao tác
trên của nút đó.
16
4. Mô hình
4.2. Kho dữ liệu repository

Chiến lược cập nhật

Batch-mode:

Được xử lý định kỳ mỗi tháng một lần, và cho phép
duyệt một số lần nhất định.

Steady Crawler:

Nó liên tục cập nhật và bổ xung các trang mới cho
Repository.
17
4. Mô hình
4.3. Bộ lập chỉ mục Indexer
18
4. Mô hình
4.3. Bộ lập chỉ mục Indexer

Xác định mục từ quan trọng


Dựa vào chính nội dung của văn bản đó, hoặc tiêu đề
hay tóm tắt nội dung của văn bản đó.

Các bước:

Cho một tập hợp n tài liệu, thực hiện tính toán tần
số xuất hiện của các mục từ trong tài liệu đó.

Xác định tổng tần số xuất hiện TFk (Total
Frequency) cho mỗi từ bằng cách cộng những tần
số của mỗi mục từ duy nhất trên tất cả n tài liệu.
19
4. Mô hình
4.3. Bộ lập chỉ mục Indexer

Tính trọng số của mục từ

Trọng số của mục từ: là tần số xuất hiện của mục từ
trong toàn bộ tài liệu.

Lập chỉ mục tự động cho tài liệu là xác định tự động
mục từ chỉ mục cho các tài liệu.

Bước tiếp theo là chuẩn hoá mục từ.
20
4. Mô hình
4.4. Bộ tìm kiếm thông tin

Search engine tương tác với user thông qua giao

diện web, có nhiệm vụ tiếp nhận & trả về những tài
liệu thoả yêu cầu của user.

Tìm kiếm theo từ khóa là tìm kiếm các trang mà
những từ trong câu truy vấn (query) xuất hiện.

Ngoài chiến lược tìm chính xác theo từ khoá, các
search engine còn cố gắng “hiểu” ý nghĩa thực sự
của câu hỏi
21
4. Mô hình
4.5. Phân hạng trang
22
Lucene

Giới thiệu

Lucene trong các thành phần của ứng dụng tìm kiếm

Các lớp chính trong Lucene

Demo
23
Giới thiệu

Lucene là một thư viện mã nguồn mở viết bằng java cho phép dễ dàng tích
hợp thêm chức năng tìm kiếm đến bất cứ ứng dụng nào

Được phát triển bởi Dough Cutting (cũng là tác giả của Hadoop, Nutch…)


Cung cấp các API hỗ trợ cho việc đánh chỉ mục và tìm kiếm

Hiện tại, Lucene đã được mở rộng ra nhiều ngôn ngữ khác nhau như C#,
PHP, C, C++, Python, Ruby…
24
Giới thiệu (ếp)

Lucene có thể được sử dụng để tích hợp chức năng tìm kiếm vào ứng dụng
sẵn có hoặc xây dựng một search engine hoàn chỉnh

Hỗ trợ thực hiện

Phân tích dữ liệu (dạng văn bản) để đánh chỉ mục: Analyze
document

Đánh chỉ mục (Index document & Index)

Thực hiện việc xây dựng câu truy vấn và tìm kiếm trong chỉ
mục: Build query, run query
25

×