Hãy xem xét tình huống nút N với 1£ j £ NumChild nút con, gọi chúng là N 1 , ,N NumChild . Hãy sử dụng ký pháp exp j (v) để chỉ ra tổng số mà ta phải mở rộng N j .Radius sao cho khoảng cách tích cực của véctơ v từ N j .Center nhỏ hơn hay bằng (N j .Center+exp j (v)), có nghĩa rằng: Trước hết, chúng ta chọn mọi j để exp j (v) là tối thiểu. Nói cách khác, nếu ta có nút N 1 , ,N 5 với giá trị exp là 10, 40, 19 và 32; hai ứng viên lựa chọn để chèn là N 1 , N 4 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 N 1 , N 2 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 (G 1 , H 1 ). Trong trường hợp này ta gộp mọi véctơ trong G 1 trong vùng với tâm c 1 và bán kính r 1 , và mọi véctơ H 1 trong vùng với tâm c 2 và bán kính r 2 . Có nhiều cách phân chia như vậy. Ta có thể nói phân chia (G 1 , H 1 ) tốt hơn (G 2 , H 2 ) nếu tổng của các bán kính (r 1 +r 1 ’) nhỏ hơn tổng bán kính (r 2 +r 2 ’). 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 (G 1 , H 1 ) và (G 2 , H 2 ) đượ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 (G 1 , H 1 ) bảo toàn hơn (G 2 ,H 2 ) nếu: r 1 +r 1 ’-act_dist(c 1 ,c 1 ’) £ r 2 +r 2 ’-act_dist(c 2 ,c 2 ’) 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 N 1 , N 2 ; đò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). Error! Khi nút N bị phân chia thành hai nút con N 1 , N 2 , thì tập các véctơ tại nút N 1 hay nút N 2 (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ử N 1 có đặc tính này, thì các véctơ trong N 1 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 N 1 , N 2 . Mọi véctơ v 1 , ,v r trong nútN phù hợp với các chiều tích cực d 1 , ,d s , trong đó s<a. Giả sử rằng nút N 1 chỉ chứa véctơ v 1 , ,v w và nút N 2 chỉ chứa véctơ v w+1 , ,v r , v (v là véctơ đang xen vào). Nếu v 1, , v w không phù hợp với chiều d 1 , ,d s , mà cả với chiều khác d s+1 , thì ta có thể mở rộng tập các chiều tích cực cho nút N 1 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 N 1 và N 2. 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ơ v 1 , ,v r và v là véctơ đang bổ sung, mặc dù rằng véctơ v i , ,v r ban đầu phù hợp với các chiều tích cực d 1 , ,d s của nút N, bây giờ chúng chỉ phù hợp với tập con (thí dụ d 2 , ,d s ). 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! } 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*) procedure NNSearch(T, v, p); if Leaf(T) & act_dist(T.val, v) < SOL[p] then Inssert T.val into SOL; else { if Leaf(T) then r=0; else { Let N 1 , ,N r be the children of T; Order the N i in ascending order with respect to min(N i , v); Let N n(1) , ,N n(r) be the resulting order; }; done=false; i=1; while (( i£r) Ù Ø done) do { NNSearch(N n(i) , v, p); if SOL[p] < min(N n(i+1) , v) then done =true; i = i+1; }; (* end of while*) Return SOL; end proc 4.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 s d 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ừ đó s d đượ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ừ w 1 , , w r . Có nghĩa rằng w 1 là quan trọng nhất khi mô tả tài liệu, từ w 2 quan trọng thứ hai Dấu hiệu của tài liệu d là biểu diễn phần nào danh sách này, thông thường đạt được nhờ mã hóa danh sách sau khi băm. MỤ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 . chúng, thì ta nói (G 1 , H 1 ) bảo toàn hơn (G 2 ,H 2 ) nếu: r 1 +r 1 ’-act_dist(c 1 ,c 1 ’) £ r 2 +r 2 ’-act_dist(c 2 ,c 2 ’) Tổng quát thì, phân chia (G, H) là phân chia được lựa chọn nếu 1 có đặc tính này, thì các véctơ trong N 1 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. chia như vậy. Ta có thể nói phân chia (G 1 , H 1 ) tốt hơn (G 2 , H 2 ) nếu tổng của các bán kính (r 1 +r 1 ’) nhỏ hơn tổng bán kính (r 2 +r 2 ’). Tuy nhiên, điều này chưa đủ để nhận ra phân chia