Cac Phuong Phap Xay Dung Chi Muc

30
(IT4853) Tìm kiếm và trình diễn thông tin Giải thuật xây dựng chỉ mục ngược

description

các phương pháp xây dựng chỉ mục

Transcript of Cac Phuong Phap Xay Dung Chi Muc

Page 1: Cac Phuong Phap Xay Dung Chi Muc

(IT4853) Tìm kiếm và trình diễn thông tin

Giải thuật xây dựng chỉ mục ngược

Page 2: Cac Phuong Phap Xay Dung Chi Muc

2

Nội dung chính

Phần cứng căn bản

Các giải thuật xây dựng chỉ mục ngược:

BSBI

SPIMI

MapReduce

Quản lý bộ dữ liệu động

Page 3: Cac Phuong Phap Xay Dung Chi Muc

3

Phần cứng căn bản

Tốc độ truy cập dữ liệu trong bộ nhớ nhanhhơn nhiều so với ổ đĩa;

Không thể đọc/ghi dữ liệu với ổ đĩa khiđang định vị đầu đọc;

Thời gian đọc/ghi ngyên một khối dữ liệuhoặc một lượng nhỏ hơn là như nhau;

Kích thước khối được xác định trong quá trìnhđịnh dạng ổ đĩa.

Trao đổi dữ liệu giữa ổ đĩa và bộ nhớ đượcđiều khiển bởi BUS hệ thống.

Page 4: Cac Phuong Phap Xay Dung Chi Muc

4

Các đặc trưng phần cứng cơ bản

Ký hiệu Đặc trưng Giá trị

s Thời gian định vị đầu đọc 5 ms = 5 x 10−3 s

b Thời gian trung bình đọc/ghi 1 byte 0.02 μs = 2 x 10−8 s

Chu kỳ đồng hồ bộ vi xử lý 10-9 s

p Thời gian thực hiện một lệnh cơbản

0.01 μs = 10−8 s

Page 5: Cac Phuong Phap Xay Dung Chi Muc

5

Mở rộng quy mô chỉ mục

Phương pháp xây dựng chỉ mục trong bộnhớ chỉ phù hợp với những bộ dữ liệu nhỏ.

Đối với những bộ dữ liệu lớn

Cần sử dụng ổ đĩa,

Phân tán chỉ mục trên nhiều máy.

Page 6: Cac Phuong Phap Xay Dung Chi Muc

6

Nội dung chính

Phần cứng căn bản

Các giải thuật xây dựng chỉ mục ngược:

BSBI

SPIMI

MapReduce

Quản lý bộ dữ liệu động

Page 7: Cac Phuong Phap Xay Dung Chi Muc

7

Giải thuật BSBI

Blocked sort-based Indexing (BSBI)

Đọc dữ liệu, tách từ và sinh thẻ định vị

Các thao tác cơ bản:

Tích lũy thẻ định vị thành khối không quá lớn, đảmbảo có thể xử lý trong bộ nhớ;

Thực hiện sắp xếp khối và lưu tạm thời trên ổ đĩa;

Hợp nhất chỉ mục ngược của những khối đơn lẻthành chỉ mục ngược duy nhất của bộ dữ liệu.

Page 8: Cac Phuong Phap Xay Dung Chi Muc

8

Hợp nhất danh sách thẻ định vị

Ổ đĩa

1

3 4

22

1

4

3

Các danh

sách thẻ

định vị.

Kết quả

hợp nhất

Page 9: Cac Phuong Phap Xay Dung Chi Muc

9

Giải thuật BSBI

Page 10: Cac Phuong Phap Xay Dung Chi Muc

10

Hợp nhất chỉ mục

Sơ đồ hợp nhất theo cặp:

Sec. 4.2

Page 11: Cac Phuong Phap Xay Dung Chi Muc

11

Hợp nhất chỉ mục

Phương pháp hợp nhất đồng thời:

Sử dụng bộ nhớ đệm;

Đọc đồng thời theo khối từ các chỉ mục nhỏ;

Hợp nhất các khối nhỏ trong bộ nhớ;

Ghi lên đĩa theo khối.

Sec. 4.2

Page 12: Cac Phuong Phap Xay Dung Chi Muc

12

Nhược điểm của BSBI

Cần nhiều bộ nhớ:

Cần lưu toàn bộ từ điển trong bộ nhớ;

Sử dụng từ điển kích thước động để chuyển đổi từthành mã từ.

Nếu sử dụng danh sách từ - mã văn bản thì cáctệp trung gian sẽ rất lớn, ảnh hưởng tới tốc độxây dựng chỉ mục.

Sec. 4.3

Page 13: Cac Phuong Phap Xay Dung Chi Muc

13

Nội dung chính

Phần cứng căn bản

Các giải thuật xây dựng chỉ mục ngược:

BSBI

SPIMI

MapReduce

Quản lý bộ dữ liệu động

Page 14: Cac Phuong Phap Xay Dung Chi Muc

14

Giải thuật SPIMI

Single-pass in-memory indexing (SPIMI);

Sinh từ điển cục bộ cho từng khối;

Không sắp xếp thẻ định vị, lưu thẻ định vịtheo thứ tự xuất hiện;

Tạo chỉ mục ngược hoàn chỉnh cho mỗi khối;

Có thể hợp nhất những chỉ mục nhỏ nàythành một chỉ mục lớn.

Sec. 4.3

Page 15: Cac Phuong Phap Xay Dung Chi Muc

15

Thuật toán SPIMI

Hợp nhất các khối được thực hiện tương tự BSBI.

Sec. 4.3

Page 16: Cac Phuong Phap Xay Dung Chi Muc

16

Nội dung chính

Phần cứng căn bản

Các giải thuật xây dựng chỉ mục ngược:

BSBI

SPIMI

MapReduce

Quản lý bộ dữ liệu động

Page 17: Cac Phuong Phap Xay Dung Chi Muc

17

MapReduce

MapReduce (Dean and Ghemawat 2004) là mộtkiến trúc tính toán phân tán:

Đơn gian: Không cần viết code đảm bảo tương tácgiữa các nốt như phân chia công việc, trao đổi dữliệu, v.v.

Độ tin cậy cao: Đảm bảo tính kết thúc trên hệ thốngmáy tính sử dụng phần cứng phổ thông.

Sec. 4.4

Page 18: Cac Phuong Phap Xay Dung Chi Muc

18

Phân tán quá trình xây dựng chỉ mục

Các bước cần được phân tán:

Đọc dữ liệu

Nghịch đảo

Sec. 4.4

Page 19: Cac Phuong Phap Xay Dung Chi Muc

19

Đọc dữ liệu

Nốt điều khiển thực hiện phân chia công việcđọc dữ liệu:

Chia bộ dữ liệu thành nhiêu khối và phân chia chocác nốt đọc dữ liệu;

Nốt đọc xử lý tuần tự từng văn bản và sinh thẻđịnh vị, vd, theo dạng cặp <từ, văn bản>

Sau đó chép thẻ định vị vào j phân vùng: Mỗiphân vùng ứng với một khoảng từ (ví dụ, j = 3, từ bắt đầu với, a-f, g-p, q-z).

Sec. 4.4

Page 20: Cac Phuong Phap Xay Dung Chi Muc

20

Nghịch đảo

Số lượng nốt nghịch đảo bẳng số lượng phânđoạn, j;

Nhiệm vụ của nốt nghịch đảo:

Tiếp nhận tất cả các phân đoạn tương ứng thu đượcsau khi đọc dữ liệu;

Sắp xếp và thiết lập danh sách thẻ định vị.

Sec. 4.4

Page 21: Cac Phuong Phap Xay Dung Chi Muc

21

Sơ đồ luồng dữ liệu

Khối

Parser

Parser

Parser

Master

a-f g-p q-z

a-f g-p q-z

a-f g-p q-z

Inverter

Inverter

Inverter

Danh sách

a-f

g-p

q-z

gán gán

Map

phaseTệp phân đoạn

Reduce

phase

Sec. 4.4

Page 22: Cac Phuong Phap Xay Dung Chi Muc

22

Các phương pháp phân đoạn chỉ mục

Phân đoạn theo từ: mỗi máy xử lý mộtkhoảng từ

Phân đoạn theo văn bản: mỗi máy xử lýmột tập con của bộ văn bản văn bản

Cần thực hiện chuyển đổi giữa các dạngphân đoạn.

Hầu hết công cụ tìm kiếm sử dụng chỉ mụcphân đoạn theo văn bản.

Sec. 4.4

Page 23: Cac Phuong Phap Xay Dung Chi Muc

23

Ví dụ xây dựng chỉ mục phân tán

Map:

d1 : C ca, C ce.

d2 : C d. →

<C,d1>, <ca,d1>, <C,d1>, <ce, d1>, <C, d2>, <d,d2>

Reduce:

(<C,(d1,d2,d1)>, <d,(d2)>, <ca,(d1)>, <ce,(d1)>) → (<C,(d1:2,d2:1)>, <d,(d2:1)>,

<ca,(d1:1)>, <ce,(d1:1)>)

Page 24: Cac Phuong Phap Xay Dung Chi Muc

24

Nội dung chính

Phần cứng căn bản

Các giải thuật xây dựng chỉ mục ngược:

BSBI

SPIMI

MapReduce

Quản lý bộ dữ liệu động

Page 25: Cac Phuong Phap Xay Dung Chi Muc

25

Bộ dữ liệu động

Đối với chỉ mục tĩnh:

Phải xây dựng lại chỉ mục mỗi khi có sự thay đổitrong bộ dữ liệu;

cập nhật lại bộ từ vựng;

cập nhật lại danh sách thẻ định vị.

Sec. 4.5

Cần giải pháp khác đối với những bộ dữ liệuthay đổi thường xuyên

Page 26: Cac Phuong Phap Xay Dung Chi Muc

26

Chỉ mục chính phụ

Sử dụng chỉ mục chính và chỉ mục phụ

Thêm văn bản mới vào chỉ mục phụ;

Chỉ đánh dấu văn bản cần xóa trong chỉ mục.

Thực hiện truy vấn trên cả hai chỉ mục vàtổng hợp kết quả.

Cần lọc các văn bản đã đánh dấu xóa.

Định kỳ xây dựng lại toàn bộ chỉ mục.

Sec. 4.5

Page 27: Cac Phuong Phap Xay Dung Chi Muc

27

Nhược điểm của chỉ mục chính phụ

Thay đổi thường xuyên làm kích thước chỉ mục phụtăng nhanh

Cần nhiều thời gian để hợp nhất chỉ mục chính và chỉmục phụ

Giải pháp: Sử dụng nhiều chỉ mục có thể giảm thờigian hợp nhất, tuy nhiên thực hiện truy vấn sẽ phứctạp hơn.

Sec. 4.5

Page 28: Cac Phuong Phap Xay Dung Chi Muc

28

Hợp nhất độ phức tạp Logarith

Sử dụng nhiều cấp chỉ mục:

Lưu chỉ mục nhỏ nhất (Z0) trong bộ nhớ

Những chỉ mục lớn hơn (I0, I1, I2, …) trên ổ đĩa

Khi Z0 trở nên quá lớn, sẽ ghi Z0 lên đĩa và thực hiệnhợp nhất với những chỉ mục đã tồn tại.

Sec. 4.5

Page 29: Cac Phuong Phap Xay Dung Chi Muc

29

Sec. 4.5

Page 30: Cac Phuong Phap Xay Dung Chi Muc

30