Chèn véctơ v gây ra hai cách thay đổi N: Nó đòi hỏi phân chia N thành hai nút con N1, N2; đòi hỏi điều chỉnh tập các chiều tích cực của nút N nếu véctơ v không phù hợp về kích thước tíc
Trang 1Hãy xem xét tình huống nút N với 1£ j £ NumChild nút con, gọi chúng là
N1, ,NNumChild Hãy sử dụng ký pháp expj(v) để chỉ ra tổng số mà ta phải mở rộng
Nj.Radius sao cho khoảng cách tích cực của véctơ v từ Nj.Center nhỏ hơn hay bằng
(Nj.Center+expj(v)), có nghĩa rằng:
Trước hết, chúng ta chọn mọi j để expj(v) là tối thiểu Nói cách khác, nếu ta có nút N1, ,N5 với giá trị exp là 10, 40, 19 và 32; hai ứng viên lựa chọn để chèn là N1, N4 bởi vì việc mở rộng chúng là tối thiểu Nếu có ràng buộc thì lấy nút có khoảng
cách từ tâm của nút đến v là tối thiểu
Phân chia (Splitting)
Khi ta chèn véctơ v vào nút lá N mà nó đã đầy thì ta phải phân chia nút N Ta phải
tạo ra các nút con N1, N2 và mỗi véctơ trong nút N phải rơi vào một trong các vùng biểu diễn bởi hai nút con này Có thể phân chia các véctơ trong nút lá N thành hai nhóm (G1, H1) Trong trường hợp này ta gộp mọi véctơ trong G1 trong vùng với tâm c1 và bán kính r1, và mọi véctơ H1 trong vùng với tâm c2 và bán kính r2 Có nhiều cách phân chia như vậy Ta có thể nói phân chia (G1, H1) tốt hơn (G2, H2) nếu tổng của các bán kính (r1+r1’) nhỏ hơn tổng bán kính (r2+r2’) Tuy nhiên, điều này chưa đủ để nhận ra phân chia tốt nhất Nếu có ràng buộc, chúng ta sử dụng tham số khác để phân biệt Nếu (G1, H1) và (G2, H2) được phân chia để nhóm này tốt hơn nhóm kia và không có phân chia nào tốt hơn từ mỗi chúng, thì ta nói (G1, H1) bảo toàn hơn (G2,H2) nếu:
r1+r1’-act_dist(c1,c1’) £ r2+r2’-act_dist(c2,c2’)
Tổng quát thì, phân chia (G, H) là phân chia được lựa chọn nếu
1 không có phân chia (G, H) nào tốt hơn hẳn (G, H) và
2 (G*, H*) tốt như (G, H) thì (G*, H*) không bảo toàn bằng (G, H)
Thu gọn (Telescoping)
Thu gọn xảy ra trước hết là vì có chèn Giả sử N là nút nơi ta sẽ chèn véctơ v Chèn véctơ v gây ra hai cách thay đổi N: Nó đòi hỏi phân chia N thành hai nút con N1,
N2; đòi hỏi điều chỉnh tập các chiều tích cực của nút N (nếu véctơ v không phù hợp
về kích thước tích cực với các véctơ khác lưu trong nút N)
Trang 2Khi nút N bị phân chia thành hai nút con N1, N2, thì tập các véctơ tại nút N1 hay nút N2 (nhưng không cả hai) phải là tập con của tập véctơ tại N trước khi chèn Giả
sử N1 có đặc tính này, thì các véctơ trong N1 không chỉ phù hợp với các chiều tích cực của N mà phù hợp với một số chiều khác Trong trường hợp này, ta có thể mở rộng tập các chiều tích cực của nút N bằng cách bổ sung các chiều mới Hình 4.7 chỉ ra nút N đang được phân chia thành hai nút con N1, N2 Mọi véctơ v1, ,vr trong nútN phù hợp với các chiều tích cực d1, ,ds , trong đó s<a Giả sử rằng nút N1 chỉ
chứa véctơ v1, ,vw và nút N2 chỉ chứa véctơ vw+1, ,vr, v (v là véctơ đang xen vào) Nếu v1, ,vw không phù hợp với chiều d1, ,ds, mà cả với chiều khác ds+1, thì ta có
thể mở rộng tập các chiều tích cực cho nút N1 như trên hình 4.7 Sự thật rằng nếu phân chia tốt thì mở rộng thu gọn có thể thực hiện trên cả hai nút N1 và N2
Thu gọn có thể thực hiện khi bổ sung véctơ vào nút N, nhưng không cần phân chia
Nếu N ban đầu chứa véctơ v1, ,vr và v là véctơ đang bổ sung, mặc dù rằng véctơ vi, ,vr ban đầu phù hợp với các chiều tích cực d1, ,ds của nút N, bây giờ chúng chỉ
phù hợp với tập con (thí dụ d2, ,ds) Do vậy, tập các chiều tích cực của nút N phải được rút gọn để phản ánh thực tế
4.4.3 Tìm kiếm trong cây TV
Việc tìm kiếm véctơ v trong cây TV được thực hiện đơn thuần là đảo tiến trình chèn Khi tìm kiếm tài liệu biểu diễn bởi véctơ v trong cây TV gốc T ta thực hiện
như sau:
Thuật toán 4.1 Search(T,V)
if Leaf(T) then {Return (T.Center=v); Halt}
(* Kiểm tra nếu điểm biểu diễn bởi lá bằng v và cho lại giá trị Boolean*)
else
{if vÎ Region(T) then
Return Error!
Trang 3}
end
Trong thuật toán trên, V là phép OR logíc
4.4.4 Khai thác láng giềng gần nhất trong cây TV
Cuối cùng, vấn đề quan trọng nhất từ góc nhìn khai thác tài liệu là tìm ra p láng giềng gần nhất Cho trước truy vấn Q biểu diễn bởi véctơ vec(Q), cây TV gốc T biểu diễn véctơ kết hợp với tập tài liệu và cho trước số nguyên p>0, chúng ta muốn tìm ra p phù hợp nhất trong CSDL tài liệu cho truy vấn Q Trước khi định nghĩa thuật toán, chúng ta đưa ra quan niệm cơ bản như sau:
Error!
Giả sử N là nút Hãy gọi min(N,v) và max (N,v) là khoảng cách cực tiểu và cực đại của v từ điểm trong Region(N) Để có hai con số này thì chỉ việc quan sát N.Center
và N.Radius để xác định điểm trong vùng biểu diễn bởi N gần hay xa từ biểu diễn
truy vấn vec(Q) Chúng được tính một cách dễ dàng như sau:
Có thể dễ dàng tính được p láng giềng gần nhất như sau Duy trì mảng SOL có độ dài p (chỉ số chạy từ 1 đến p) Mục đích là cái phù hợp nhất sẽ đặt trong vị trí SOL[1], tiếp tục đặt trong SOL[2] Khởi đầu, mảng SOL chứa giá trị giả (thí dụ
¥) không đại diện cho tài liệu nào Thuật toán NNSearch sử dụng đoạn trình gọi là
Insert, nó lấy véctơ vec và mảng SOL theo trình tự không giảm dần của khoảng
cách tích cực từ đầu vào vec; nói cách khác, nếu 1£ i £ j £ p thì khoảng cách tích cực của SOL[i] từ vec nhỏ hơn hay bằng khoảng cách tích cực từ SOL[j] đến vec
Insert cho lại mảng SOL đã chèn vec vào đúng vị trí với phần tử thứ p của SOL
làm đầu ra
Thuật toán 4.2 NNSearch(T,V, p)
for i=1 to p do SOL[i]=¥;
NNSearch(T, v, p);
end (* end of program NNSearch*)
Trang 4if Leaf(T) & act_dist(T.val, v) < SOL[p] then
Inssert T.val into SOL;
else
{
if Leaf(T) then r=0;
else { Let N1, ,Nr be the children of T;
Order the Ni in ascending order with respect to min(Ni, v); Let Nn(1), ,Nn(r) be the resulting order; };
done=false; i=1;
while (( i£r) Ù Ø done) do
{
NNSearch(Nn(i), v, p);
if SOL[p] < min(Nn(i+1), v) then
done =true;
i = i+1;
}; (* end of while*)
Return SOL;
end proc
Trang 54.5 Các kỹ thuật truy tìm khác
LSI đã chứng minh là một trong cách hiệu quả nhất của việc chỉ số hoá kho văn bản Tuy nhiên, còn nhiều kỹ thuật khác, có thể ít hiệu quả hơn, đã được nghiên cứu để cạnh tranh với kỹ thuật LSI
4.5.1 Chỉ số đảo
Chỉ số đảo là phương pháp được sử dụng rộng rãi trong công nghiệp để chỉ số hoá CSDL tài liệu văn bản Ý tưởng của chúng đơn giản như sau:
1 Bản ghi tài liệu chứa hai trường: doc_id và postings_list Trực quan thì danh sách cột trụ (posting list) là danh sách các khái niệm (con trỏ đến khái niệm) xuất
hiện trong tài liệu Rõ ràng, chỉ các khái niệm phù hợp xuất hiện trong danh sách này Danh sách cột trụ được sắp xếp nhờ thước đo phù hợp
2 Bản ghi khái niệm (term record) bao gồm hai trường tương đương: term (xâu) và postings_list Danh sách cột trụ chỉ ra tài liệu nào có các khái niệm trong
đó
3 Hai bảng băm được quản lý là DocTable và TermTable DocTable được xây dựng bởi băm khoá doc_id; TermTable có được nhờ băm khóa term
Để tìm mọi tài liệu kết hợp với term, ta chỉ việc trả lại danh sách cột trụ Để tìm mọi tài liệu kết hợp với tập khái niệm, ta chỉ việc thực hiện thao tác giao trên các
danh sách cột trụ
Vì danh sách đảo rất dễ cài đặt cho nên chúng được thích nghi trong nhiều hệ
thống thương mại như MEDLARS và DIALOG Tuy nhiên, nó có một số yếu điểm sau: Nó không xem xét thoả đáng đến đồng nghĩa và đa nghĩa Danh sách cột trụ
có thể rất dài, đòi hỏi vùng nhớ lưu trữ khá lớn
4.5.2 Các tệp dấu hiệu (Signature Files)
Ý tưởng cơ bản của các tệp dấu hiệu là kết hợp dấu hiệu sd với mỗi tài liệu d Phát biểu phi hình thức là dấu hiệu là biểu diễn danh sách có trật tự các khái niệm có trong tài liệu
Danh sách các khái niệm, từ đó sd được suy diễn, có được sau khi thực hiện phân tích tần số, lấp lỗ và sử dụng danh sách dừng Giả sử danh sách này bao gồm các từ w1, , wr Có nghĩa rằng w1 là quan trọng nhất khi mô tả tài liệu, từ w2 quan trọng
Trang 6MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG I: GIỚI THIỆU CHUNG VỀ TRUYỀN THÔNG ĐA PHƯƠNG TIỆN 2
1.1 Thông tin trong đời sống hiện đại 2
1.2 Các khái niệm cơ bản 2
1.2.1 Thế nào là phương tiện? 2
1.2.2 Truyền thông đa phương tiện là gì? 3
1.2.3 Thế nào là một hệ truyền thông đa phương tiện? 3