1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng cơ sở dữ liệu kỹ thuật tìm kiếm nâng cao

43 325 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 333,31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệuđặc trưng của đối tượng đa phương tiện văn bản, âm thanh, hình ảnh và video khoảng cách giữa các đối tượng trên cơ sở véctơ đặc trưng  Với văn bản: Tổng số chiều véctơ đặc trư

Trang 1

K Ỹ THUẬT TÌM KIẾM NÂNG CAO

Bài 8

PGS.TS Đặng Văn Đức dvduc@ioit.ac.vn

Trang 2

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Nội dung

2/42

Trang 3

1 Giới thiệu

đặc trưng của đối tượng đa phương tiện (văn bản, âm thanh, hình ảnh và video)

khoảng cách giữa các đối tượng trên cơ sở véctơ đặc

trưng

 Với văn bản: Tổng số chiều véctơ đặc trưng là tổng số khái niệm

trong các văn bản

 Tổng số chiều của biểu đồ màu trong ảnh bằng tổng số bins màu

 Với âm thanh: Tổng số chiều bằng tổng số đặc trưng được sử

dụng (tốc độ vượt qua 0, tỷ lệ câm, độ chói ).

Trang 4

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Giới thiệu

véctơ đặc trưng trong CSDL đòi hỏi phải nhanh

 Chia không gian đặc trưng thành nhiều vùng nhỏ sao cho việc

tìm kiếm chỉ cần thực hiện trong một hay một vài vùng nhỏ

 Truy vấn điểm

 Tìm các đối tượng có véctơ đặc trưng đối sánh chính xác với véctơ đặc trưng trong câu truy vấn.

Truy vấn dải (range)

 Câu truy vấn được biểu diễn bởi véctơ đặc trưng và khoảng cách dải L Mọi đối tượng có khoảng cách đến véctơ đặc trưng truy vấn <=L là kết quả.

 Truy vấn k- láng giềng gần nhất

 Câu truy vấn được biểu diễn bởi véctơ đặc trưng và số nguyên k k đối tượng có khoảng cách nhỏ nhất đến véctơ đặc trưng truy vấn là kết quả.

4/42

Trang 5

Yêu cầu chung về cấu trúc dữ liệu

tiệm cận truy vấn, bao gồm

 Điểm, dải và k-láng giềng gần nhất.

 Tìm kiếm, chèn, xóa

 Tìm kiếm hiệu quả

 Việc tìm kiếm được thực hiện on-line và lặp nhiều lần.

 Chèn, xóa

 Chèn, xóa thường được thực hiện off-line và có thể theo lô.

Trang 6

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

2 Giảm thiểu không gian tìm kiếm

 Lọc bằng phân lớp, thuộc tính có cấu trúc hay từ khóa

 Lọc trên cơ sở bất đẳng thức tam giác

 Phân cụm dữ liệu

 Phương pháp liên quan đến biểu đồ màu

 Chỉ số hóa ngữ nghĩa tiềm tàng (LSI)

6/42

Trang 7

Lọc bằng phân lớp theo chủ đề, thuộc tính

gắn với dữ liệu đa phương tiện

 Có thể lựa chọn các mục dữ liệu thỏa mãn thuộc tính có cấu

trúc, sau đó thực hiện các tìm kiếm phức tạp hơn trên các dữ liệu đã lọc.

 Việc tìm kiếm theo đặc trưng phức tạp thực hiện trên chủ đề đã

lựa chọn.

 Ví dụ, tìm kiếm ảnh theo hình dạng vùng được thực hiện sau

khi đã lọc theo đặc trưng độ lệch tâm của hình dạng đối tượng.

Trang 8

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Lọc trên cơ sở bất đẳng thức tam giác

metric và thỏa mãn tính chất bất đẳng thức tam giác

 Khoảng cách giữa hai đối tượng không thể nhỏ hơn hiệu

khoảng cách giữa chúng tới đối tượng khác.

trong đó, d-độ đo khoảng cách, i, q, k - các véctơ đặc trưng

đặc trưng ta có:

trong đó, m-tổng số đặc trưng sử dụng để đối sánh

) , ( )

, ( )

,

) ,

( )

, ( max

) ,

8/42

Trang 9

Các bước áp dụng bất đẳng thức tam giác

hơn tổng số đối tượng n trong CSDL Có thể chọn ngẫu

nhiên

Tính khoảng cách d(i,k j ) giữa mỗi đối tượng i trong CSDL và

véctơ so sánh vừa lựa chọn k j, lưu trữ chúng trong CSDL.

Tính d(q, k j ) giữa câu truy vấn q với mỗi véctơ so sánh k i nói

trên

trước sẽ là kết quả tìm kiếm

| ) , ( )

, (

| max

) (i 1 j m d i k j d q k j

Trang 10

Lọc trên cơ sở bất đẳng thức tam giác

trưng i1 đến i8

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Trong CSDL d(i, k 1 ) d(i,k 2 ) |d(i,k 1 )-d(q,k 1 )| |d(i,k 2 )-d(q,k 2 )| l(i)

Trang 11

Mô hình tìm kiếm trên cơ sở phân cụm

tương tự vào cùng nhóm/cụm và việc tìm kiếm chỉ thực hiện trong các cụm liên quan

đặc trưng trong cụm

vấn và từng cụm (đại diện bởi véctơ đặc trưng)

trước là được chọn

trưng trong cụm và k đối tượng gần nhất là kết quả

Trang 12

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Thuật toán phân cụm

 Input: O – Danh sách các đối

tượng trong CSDL

 Out: T – Cây phân cấp

1 Gán mỗi tài liệu của O vào cụm riêng, tạo lập

danh sách các cụm L (khởi đầu giá trị lá của T):

L = O1, O2, O3, , On-1, On.

2 Tính toán véctơ đại diện của từng cặp phần tử

trong L để tìm ra hai cụm gần nhất {Oi, Oj}.

3 Hủy bỏ Oi và Oj khỏi L.

4 Trộn Oi và Oj để hình thành nút mới Oij trong T,

nó là cha của Oi và Oj trong cây kết quả

5 Lặp lại bước (2) cho đến khi chỉ còn một tập

O8 O4

12/42

Trang 13

Tìm kiếm ảnh trên cơ sở màu

sở trình diễn ảnh trong CSDL và trong câu truy vấn bằng lược đồ với n bin màu

được tính toán bởi khoảng cách biểu đồ màu tương ứng

Giảm tổng số bins màu

 Chọn tập con của ảnh trong CSDL để tính toán khoảng cách tới

truy vấn Chọn tập con bằng cách nào?

 Sử dụng lược đồ ít bin màu để chọn các đối tượng ứng viên

 Sử dụng lược đồ đầy đủ để tính khoảng cách giữa câu truy vấn

và các đối tượng ứng viên.

Trang 14

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Tìm kiếm ảnh trên cơ sở màu

 Tính màu trung bình của ảnh

P - tổng số pixel trong ảnh

R(p), G(p), B(p) - các thành phần Red, Green và Blue của điểm ảnh p

Khoảng cách Euclidean giữa hai véctơ

 Khoảng cách davg bằng khoảng cách nhỏ nhất được tính toán trên biểu

đồ màu đầy đủ.

 Vậy, có thể lựa chọn các đối tượng ứng viên trên cơ sở davg trước khi

tính toán khoảng cách với biểu đồ màu đầy đủ.

T avg avg

avg G B R

P

p

B B

P

p

G G

P

p

R R

P

p avg

P

p avg

P

p avg

,

)

(

,

) (

) ,

Trang 15

Phương pháp LSI – Latent Sematic Indexing

 Trong CSDL tài liệu: Tổng số tài liệu M và tổng số thuật ngữ N là

rất lớn.

 Việc chỉ mục các tài liệu sẽ cần ma trận trọng số (MxN) rất lớn

 Nếu thư viện có 1 triệu tài liệu với 10 000 thuật ngữ thì cần đến 10GB bộ nhớ lưu trữ.

 Khi tìm kiếm: cần ít nhất M phép nhân véctơ N chiều.

 Nhóm các Terms tương đồng (cùng phạm trù) để hình thành chủ

đề / khái niệm (Concepts) làm đại diện tài liệu.

 Ví dụ, các thuật ngữ pepper, spacy và hot có cùng phạm trù.

 Do tổng số khái niệm nhỏ hơn nhiều so với tổng số thuật ngữ, cho nên đòi hỏi ít bộ nhớ lưu trữ hơn và thời gian tính toán sẽ nhanh hơn.

 Sử dụng tính chất toán của ma trận term-document (tính toán

ma trận) để xác định các khái niệm.

Trang 16

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Mô hình LSI

16/42

Trang 17

Phương pháp LSI

 Nhận dạng và tính toán “concepts” bằng cách nào?

 Gọi A là ma trận term-doc với M cột (Terms) và N hàng (Docs).

 Các phần tử của ma trận là trọng số wi,j được tính từ lược đồ

tf-idf.

 Ma trận chuyển vị A T (transpose): Chuyển hàng của A thành cột

của A T

 Hai véctơ x, y cùng bậc là trực giao khi và chỉ khi x T y=0.

 Ma trận A là trực giao khi và chỉ khi A T xA=I, I là ma trận đơn vị.

Trang 18

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Kỹ thuật SVD (Singular Value Decomposition)

 Tách các đặc trưng chủ yếu của ma trận term-doc A T và xấp xỉ

 U là ma trận các véctơ riêng nhận từ tính toán AxA T

 V T là ma trận các véctơ riêng nhận từ tính toán A T xA

 Độ phức tạp thuật toán là O(n 3 ), nếu kích thước ma trận mn

18/42

Trang 19

Kỹ thuật SVD (Singular Value Decomposition)

trận A bởi vì S chỉ chứa giá trị số ít lớn nhất

có thể bỏ qua

T s s

s

A 

Trang 20

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

V T

N

r r

r

s N

sxN sxs

s Document vectors Term vectors

N s

20/42

Trang 21

Chỉ mục và tìm kiếm

q c = V t x q

hàng của U

hơn N nhiều lần)

Trang 22

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

3 Cấu trúc dữ liệu

 Hiệu năng hệ thống rất thấp khi phải tải khối lượng dữ liệu quá

 Mỗi nút có nhiều cành con.

 Tổng số lần xâm nhập đĩa tương ứng với “độ sâu” của cây

 Mỗi nút trong và lá của cây có kích thước tương ứng một blốc

I/O dữ liệu.

 Một hoặc hai tầng cây nên để thường trú trong bộ nhớ chính để

tăng tốc độ xâm nhập.

22/42

Trang 23

Cấu trúc dữ liệu cây B+

một chiều

 Gọi n là bậc của cây, tương đương số cành mà một nút có.

Pointer n Key n-1

Pointer n-1 Key 2

Pointer 2 Key 1

Pointer 1

Bản ghi có giá trị khóa lớn hơn giá trị Key n-1

Trang 24

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Ví dụ cấu trúc dữ liệu cây B+

Đến bản ghi 20

Đến bản ghi 60

Root level

Level 1 nodes

Leaf nodes

Ví dụ có nhiệm vụ:

1 Chèn bản ghi với giá trị khóa 30

2 Chèn bản ghi với giá trị khóa 90

3 Hủy bản ghi với giá trị khóa 80

4 Hủy bản ghi với giá trị khóa 70

Nếu cây B+ có bậc n và có N bản ghi thì số lần xâm nhập (đĩa) là O(log n N)

24/27

Trang 25

Qui tắc xây dựng cây B+

nhỏ hơn tổng số con trỏ 1 đơn vị

Trang 26

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Ví dụ chèn bản ghi trong cây B+

Chèn bản ghi với giá trị khóa 30

Chèn bản ghi với giá trị khóa 90

(b)

26/42

Trang 27

Ví dụ hủy bản ghi trong cây B+

Hủy bản ghi với giá trị khóa 80

Hủy bản ghi với giá trị khóa 70

từ cây (b) trang trước

Trang 28

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

 Mỗi véctơ đặc trưng có hai chiều (x, y)

 Chia không gian đặc trưng D thành các vùng chữ nhật

 Mỗi vùng có tổng số véctơ đặc trưng là như nhau

 Mỗi vùng được xác định bởi tọa độ góc dưới trái và góc trên phải.

 Các vùng không xếp chồng lên nhau nhưng bao phủ toàn vùng đặc trưng.

 Mở rộng cây B + để có cây MB +

 Thay giá trị khóa bằng chữ nhật

 Các con trỏ tại lá sẽ trỏ tới các véctơ đặc trưng trong vùng tương ứng.

28/42

Trang 30

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Cây k-d

 Nút có giá trị khóa X,

 Con trỏ trái trỏ đến bản ghi có giá trị khóa nhỏ hơn X

 Con trỏ phải trỏ đến bản ghi có giá trị khóa lớn hơn X

 Mỗi khóa kết hợp với bản ghi dữ liệu

 Là cây không cân đối.

 Khóa là véctơ k - chiều, gọi các chiều của nó là Dim1, Dim2

 Gọi mức của gốc cây là level1, con của nó là level2,

 Xây dựng cây:

 Cây rẽ nhánh tại level1 trên cơ sở giá trị Dim1

 Cây rẽ nhánh tại level2 trên cơ sở giá trị Dim2

 Tiếp tục với mọi chiều véctơ sau đó lặp lại.

30/42

Trang 31

Cây 2-d

Nếu level(N) là chẵn thì mỗi nút M trong cành rẽ nhánh từ

N.LLINK có tính chất M.XVAL < N.XVAL, mỗi nút P trong cành rẽ

nhánh từ N.RLINK có tính chất P.XVAL  N.XVAL.

Nếu level(N) là lẻ thì mỗi nút M trong cành rẽ nhánh từ N.LLINK

có tính chất M.YVAL < N.YVAL, mỗi nút P trong cành rẽ nhánh

nodetype = record INFO: infotype;

0 )

(

P level

N

Nếu N là nút thì mức của N được xác định như sau:

Trang 32

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Xây dựng cây 3-d

(10,13,7), (9,14,8), (20,9,17), (7,13,6), (8,12,7), (6,10,9), (11,8,14), (15,13,11), (10,6,17), (16,12,21), (17,3,15)

(10,13,7) (9,14,8) (20,9,17) (7,13,6)

(8,12,7) (6,10,9)

Trang 33

 Hủy và đánh dấu Nil

 Nếu nút không phải là lá

 Tìm kiếm các nút cần hủy và đánh dấu

 Xây dựng lại cây k-d với các nút không bị đánh dấu

 Dễ dàng cài đặt

 Bản chất là tìm các véctơ đặc trưng với mỗi chiều trong khoảng

nhất định.

Trang 34

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Cây R

liệu là n

 Đầu vào tối thiểu của nút là m ≤ M/2.

 Mỗi nút lá không phải là gốc chứa từ m đến M bản ghi chỉ số.

 Với mỗi bản ghi chỉ số trong lá <E, rid>, E là chữ nhật nhỏ nhất

chứa đối tượng dữ liệu n chiều.

 Mỗi nút không phải là lá và không phải là gốc chứa từ m đến M

cành con.

 Mỗi đầu vào <E, ptr> trong nút không phải lá, E là chữ nhật nhỏ

nhất chứa các nút con.

 Nút gốc có ít nhất 2 cành nếu nó không phải là lá.

 Tất cả các lá đều ở cùng mức của cây.

34/42

Trang 35

Sử dụng cây R cho dữ liệu điểm

J R7

R2 R6

R4 R5 C

E

K

I

A Q

R1 R2

Trang 36

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Sử dụng cây R cho dữ liệu vùng

R1

R2 R3

R5

R6 R4

P1, , Pk: rtnodetype;

end Cấu trúc của cây R:

36/42

Trang 37

Cây R

 Nhiệm vụ truy vấn là tìm ra các đối tượng mà nó giao với đối

tượng truy vấn

 Đối tượng truy vấn được đại diện bởi chữ nhật bao nhỏ nhất

(MBR – minimum bounding rectangle)

Trang 38

dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS

Cây R

 Duyệt cây từ gốc, chữ nhật bao nào mà cần ít mở rộng nhất để

gói đối tượng mới thì sẽ được chọn

 Duyệt các cành chữ nhật bao vừa chọn cho đến khi gặp nút lá.

 Thực hiện chèn nếu nút lá không đầy

 Nếu nút lá đầy:

 Bẻ nút lá trước khi chèn

 Bổ sung đầu vào mới cho nút cha của nút lá, tiến trình lặp nếu cần cho đến khi gặp gốc cây.

 Duyệt các nút không phải là lá có chữ nhật bao cắt MBR của đối

tượng sẽ hủy

 Khi gặp nút lá, so sánh MBR với từng đầu vào của nút lá và đầu

vào phù hợp sẽ bị hủy

 Việc hủy nút lá có thể đòi hỏi hiệu chỉnh các đầu vào còn lại hay

hủy các nút khác trong các mức cao hơn.

38/42

Trang 39

4 Kết luận

cấu trúc dữ liệu

ảnh hưởng đến tính toán tìm kiếm

Trang 40

Câu hỏi ôn tập

các véctơ đặc trưng (điểm) trong không gian đa chiều Cần tổ chức các véctơ đặc trưng như thế nào để xác

định nhanh các véctơ đặc trưng liên quan đến câu truy vấn mà không phải tìm kiếm tuyến tính toàn bộ không gian đặc trưng?

giác Cho ví dụ

trên cơ sở lược đồ màu

Trang 41

Câu hỏi ôn tập

trên cơ sở phân cụm

phương tiện

trị khóa sau: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110,

120, 130, 140

bản ghi với giá trị khóa 90 từ cây B+ vừa xây dựng trên đây Hãy chỉ ra cây, sau khi chèn và hủy

Trang 42

Câu hỏi ôn tập

(chúng cần được chèn theo thứ tự cho trước): (30, 40, 50), (20, 45, 60), (40, 20, 70), (25, 35, 45), (28, 33, 47), (50, 5, 80), (60, 30, 100), (5, 20, 20), (45, 10, 35)

toán tìm kiếm trong cây R để truy vấn theo dải

Trang 43

Câu hỏi?

Ngày đăng: 27/09/2015, 08:14

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm