Tải bản đầy đủ (.pptx) (43 trang)

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

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 (335.62 KB, 43 trang )

Hà Nội-2005/12
KỸ THUẬT TÌM KIẾM NÂNG CAO
Bài 8
PGS.TS. Đặng Văn Đức

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

Giới thiệu

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

Cấu trúc dữ liệu dạng cây

Kết luận
2/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
1. Giới thiệu

Đã nghiên cứu các phương pháp/kỹ thuật tìm các véctơ đặc trưng của đối tượng đa phương tiện
(văn bản, âm thanh, hình ảnh và video)

Đã nghiên cứu phương pháp ước lượng độ tương tự và khoảng cách giữa các đối tượng trên cơ
sở véctơ đặc trưng

Véctơ đặc trưng là đa chiều

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 ).

Tổng số chiều véctơ đặc trưng phụ thuộc vào phương pháp lựa chọn.
3/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Giới thiệu

Quá trình đối sánh véctơ đặc trưng câu truy vấn với véctơ đặc trưng trong CSDL đòi hỏi phải
nhanh

Mục đích chính của kỹ thuật và cấu trúc dữ liệu là

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ỏ.

Có ba loại truy vấn chủ yếu trong MMDBMS:

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
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Yêu cầu chung về cấu trúc dữ liệu

Kỹ thuật và cấu trúc dữ liệu hiệu quả cần hỗ trợ cả ba tiệm cận truy vấn, bao gồm

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

Hỗ trợ các thao tác cơ bản của MMDBMS như

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

Tiêu chí quan trọng nhất:

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.

Thao tác cần thiết nhưng không phải là then chốt:

Chèn, xóa

Chèn, xóa thường được thực hiện off-line và có thể theo lô.
5/42
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

Một số kỹ thuật hay được sử dụng

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
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Lọc bằng phân lớp theo chủ đề, thuộc tính

Thuộc tính có cấu trúc như ngày tháng thường được 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.

Có thể phân lớp theo chủ đề

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.

Sử dụng một số đặc trưng làm tiêu chí lọc

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.
7/42
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


Hầu hết các độ đo khoảng cách đặc trưng là độ đo 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

Bất đẳng thức trên đúng với mọi k, khi đối sánh nhiều đặc trưng ta có:
trong đó, m-tổng số đặc trưng sử dụng để đối sánh
8/42
),(),(),( kqdkidqid −≥
),(),(max),(
1 jjmj
kqdkidqid −≥
≤≤
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Các bước áp dụng bất đẳng thức tam giác

Chọn m véctơ đặc trưng để làm cơ sở đối sánh, m nhỏ hơn tổng số đối tượng n trong CSDL. Có
thể chọn ngẫu nhiên.

Thực hiện off-line:

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.


Thực hiện on-line (truy vấn):

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.

Tìm

Chỉ những đối tượng có l(i) nhỏ hơn ngưỡng T chọn trước sẽ là kết quả tìm kiếm.

Nhận xét: Không cần tính khoảng cách giữa mọi đối tượng trong CSDL với câu truy vấn.
9/42
|),(),(|max)(
1 jjmj
kqdkidil −=
≤≤
Lọc trên cơ sở bất đẳng thức tam giác

Ví dụ trong CSDL có 8 ảnh biểu diễn bởi các véctơ đặc trưng i
1
đến i
8

Lựa chọn ngẫu nhiên 2 véctơ so sánh k
1
và k
2
,


Giả sử tìm các ảnh trong CSDL có khoảng cách đến véctơ truy vấn q nhỏ hơn 3: Kết quả sẽ là i
1

và i
7
.
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)
i
1
2 5 1 1 1
i
2
4 9 1 5 5
i
3
7 2 4 2 4

i
4
9 3 6 1 6

i
7
1 4 2 2 2
i
8
4 10 1 6 6
10/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Mô hình tìm kiếm trên cơ sở phân cụm

Ý tưởng chính là sắp xếp đối tượng/véctơ đặc trưng 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

Mỗi cụm được biểu diễn bởi trọng tâm của các véctơ đặc trưng trong cụm

Trong khi truy vấn, ta tính toán độ tương tự giữa câu truy vấn và từng cụm (đại diện bởi véctơ đặc
trưng)

Cụm nào có mức độ tương tự lớn hơn ngưỡng cho trước là được chọn

Tiếp theo đối sánh véctơ câu truy vấn với từng véctơ đặc trưng trong cụm và k đối tượng gần
nhất là kết quả.
11/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Thuật toán phân cụm


Phương pháp cây phân cấp

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.
O1
O3
O6
O7
O8O2
O5 O4
O2
O5
O8
O4
O1
O3
O6
O7
12/42
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

Phương pháp tìm kiếm ảnh trên cơ sở biểu đồ màu cơ 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.

Khoảng cách giữa câu truy vấn và mỗi ảnh trong CSDL được tính toán bởi khoảng cách biểu đồ
màu tương ứng

Vậy, có hai giải pháp nâng cao hiệu nă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?

Giải pháp tổ hợp:

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.
13/42
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

Lọc trên cơ sở màu trung bình của ảnh

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 d
avg
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ở d
avg
trước khi tính toán khoảng cách với biểu đồ màu đầy đủ.
T
avgavgavg
BGRx ),,(=
14/42
P
pB
B
P
pG
G
P
pR
R
P
p
avg
P
p
avg
P
p
avg

∑∑∑
===
===
111
)(
,
)(
,
)(

=
−=
3
1
2
)(),(
i
iiavg
yxyxd
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Phương pháp LSI – Latent Sematic Indexing

Mô hình tìm kiếm thông tin không gian véctơ

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.

Ý tưởng cơ bản của LSI (Chỉ mục ngữ nghĩa ẩn)

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.
15/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Mô hình LSI
16/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Phương pháp LSI

Nhiệm vụ:

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

Xem xét ma trận term-doc

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ố w
i,j

được tính từ lược đồ tf-idf.

Một số khái niệm cơ bản về ma trận

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ị.

Ma trận chéo (diagonal) A:

A có bậc (mxm)

i ≠ j → A(i,j) = 0, với 1 ≤ i, j ≤ m.

Ma trận A bậc (mxm) không tăng (nonincreasing) khi và chỉ khi

i ≤ j → A(i,i) ≥ A(j,j) , với 1 ≤ i, j ≤ m.
17/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Kỹ thuật SVD (Singular Value Decomposition)


Nhiệm vụ của LSI:

Tách các đặc trưng chủ yếu của ma trận term-doc A
T
và xấp xỉ nó bởi các ma trận nhỏ hơn.

Kỹ thuật sử dụng: SVD (tách giá trị số ít)

Ma trận các số thực A với kích thước MxN có thể biểu diễn bởi
A = UxSxV
T
trong đó, U - ma trận trực giao kích thước Mxr
V - ma trận trực giao kích thước Nxr
S - ma trận diagonal rxr với các giá trị sắp xếp giảm dần,
r - bậc của A, và r = min(M,N).

Cấu trúc của SVD

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
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Kỹ thuật SVD (Singular Value Decomposition)

Kỹ thuật SVD cho lại ma trận A
s
với hạng s, xấp xỉ ma trận A bởi vì S chỉ chứa giá trị số ít lớn
nhất.

Các giá trị số ít nhỏ hơn trong S được xem là nhiễu và có thể bỏ qua.

Các giá trị số it trong S được sắp xếp và gán 0 cho các giá trị nhiễu để thu được ma trận đường
chéo mới S
s

Xóa các cột tương ứng của U và V để có các ma trận mới U
s
và V
s
. Kết quả ta có mô hình giản
lược như sau:
19/42
T
ssss
xVxSUA =
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Kỹ thuật SVD và chỉ mục
Rút gọn
Documents

Terms
=
MxN
Mxr
rxN
rxr
A
U
S
V
T
N
rrr
s
N
M
=
MxN
Mxs
sxNsxs
A
s
U
s
S
s
V
T
s
Document vectors

Term vectors
N
s
20/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Chỉ mục và tìm kiếm

Chuyển véctơ truy vấn q trong không gian thuật ngữ sang véctơ q
c
trong không gian khái niệm:
q
c
= V
t
x q

Mức độ tương tự giữa truy vấn với từng tài liệu được tính bằng tích vô hướng hay hệ số cosine
giữa q
c
và mỗi hàng của U.

Tính toán với véctơ r chiều thay cho véctơ N chiều (r nhỏ hơn N nhiều lần)
21/42
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
3. Cấu trúc dữ liệu

Tại sao phải sử dụng cấu trúc dữ liệu cây?

Hiệu năng hệ thống rất thấp khi phải tải khối lượng dữ liệu quá lớn vào bộ nhớ trong để xử lý.


Tổ chức dữ liệu theo dạng cây nhằm giảm số lần xâm nhập đĩa.

Tìm kiếm tuần tự rất chậm.

Cấu trúc cây

Tầng, nút

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.

Chú ý khi sử dụng cấu trúc 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
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Cấu trúc dữ liệu cây B+

Cây B+ được sử dụng để tổ chức các vector đặc trưng một chiều

Nó là cơ sở để phát triển các cây dữ liệu đa chiều

B+ có cấu trúc phân cấp với nhiều nút.

Mỗi nút (kể cả gốc và lá) chứa n con trỏ và n-1 khóa

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

Bản ghi có giá trị khóa
nhỏ hơn giá trị Key 1
Bản ghi có giá trị khóa lớn hơn hoặc
bằng giá trị Key 1 và nhỏ hơn Key 2
Pointer nKey n-1Pointer n-1Key 2Pointer 2Key 1Pointer 1
Bản ghi có giá trị khóa
lớn hơn giá trị Key n-1
23/42
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+
200 400 0
50 100 0
220 250 0
10 20 60 70 210 215 220 23080
0

Đến bản ghi
10
Đế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
dvduc-2005/12 Bài 8: Nâng cao hiệu năng MMDBMS
Qui tắc xây dựng cây B+

Cây phải cân đối: Mọi đường dẫn từ gốc đến nút lá phải có cùng độ dài.

Nút gốc phải có ít nhất 02 cành, trừ khi cây chỉ có 01 bản ghi.

Nếu cây có bậc n thì mỗi nút (trừ nút gốc và các nút lá) phải có từ n/2 đến n con trỏ.

Nếu cây có bậc n thì tổng số giá trị khóa trong nút lá phải ở trong khoảng từ (n-1)/2 đến n-1.

Tổng số giá trị khóa chứa trong nút không phải là lá sẽ nhỏ hơn tổng số con trỏ 1 đơn vị.

Mỗi nút lá có m/2 đến m dữ liệu. Thực tế m << n.
25/42

×