.1 Bảng phân chia bits dữ liệu trong S9

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các phương pháp nén chỉ số trong các hệ thống tìm kiếm 04 (Trang 42 - 44)

Trong bảng trên thể hiện 9 cách khác nhau có thể sử dụng trong đó có thể phân chia thành các phân vùng có cùng độ dài mã nhị phân. Sử dụng 4 bits trạng thái để lưu trữ với 9 trường hợp trên.

Ví dụ1: Xét cấu trúc khoảng cách d sau:

<14; 4, 6, 1, 1, 3, 5, 1, 7, 1, 13, 20, 1, 12, 20>

=> Sử dụng 5bits để mã hóa cho mỗi codeword là lãng phí, không cần thiết (Tổng là 14x5=70bits)

Nếu chúng ta áp dụng dòng a sử dụng bit đại diện để mã hóa thì ta thấy có giá trị lớn hơn 2=21 vì vậy dòng a không thể dùng. Tương tự như vậy dòng b cũng không thể sử dụng bởi có giá trị lớn hơn 4=22. Tuy nhiên ta thấy ở dòng c lại thỏa mãn bởi không có giá trị nào lớn hơn 8=23 trong đoạn gồm 9 giá trị. Do đó cấu trúc trên được mã hóa cho các từ như sau: (thực tế có thể trừ đi 1 giá trị để mã hóa 000)

c, 011, 101, 000, 000, 010, 101, 000, 110, 000,.,

Phần còn lại của danh sách khoảng cách d (bắt đầu từ 13 có 5 giá trị để mã hóa) cũng được mã hóa tương tự như vậy

e, 01100, 10011, 00000, 01011, 10011, ….,

có 3 bit không sử dụng trong 32 bit từ. Và đây là kết thúc cho danh sách khoảng cách d vì vậy việc nén danh sách ngược đã được hoàn thành.

Như vậy có 2 phân đoạn sử dụng 32 bit để mã hóa. Vậy tổng cộng 64bit để mã hóa cho danh sách có 14 khoảng cách d.

Đánh giá phương pháp: Như vậy so với tổng dung lượng thì việc nén đã làm giảm

được không gian lưu trữ từ 70bits xuống 64 bits. Đây là phương pháp nén đã được sử dụng nhiều và phổ biến trong nén chỉ số bởi nó đạt tỉ lệ nén tốt hơn so với variable-

byte coding đồng thời có cải thiện về tốc độ giải nén. Giải nén có thể được thực hiện một cách có hiệu quả cao bằng cách thực hiện chuyển đổi các bit trạng thái. Trong đó mỗi số trong 9 trường hợp được áp dụng một mặt nạ bit cố định để truy xuất số nguyên.

Thuật toán cải tiến:

S16 sử dụng cơ bản ý tưởng giống S9 nhưng S16 có 16 cách phân vùng bit dữ liệu, mỗi trường hợp trong 16 cách sử dụng tất cả 28 bits dữ liệu. Kết quả là tốc độ nén tương đương với S9, tuy nhiên tỉ lệ nén tốt hơn.

2.3.3 Binary Code

Ý tưởng: Danh sách chỉ số có cấu trúc của từ t:

<ft; d1, d2, d3, .... , df> ft: số tài liệu có chứa từ t.

di: xác định từ t xuất hiện ở vị trí thứ i trong tài liệu.

Danh sách đảo ngược được lưu trữ với các khoảng cách khác biệt giữa các tài liệu: <ft; d1, d2-d1, d3-d2,...., dft -1>

=> giảm số bit cần thiết đại diện cho docID.

Ví dụ 1: [17] Xét cấu trúc sau:

<12; 38, 17, 13, 34, 6, 4, 1, 3, 1, 2, 3, 1>

=> Sử dụng 6bits để mã hóa cho mỗi codeword là lãng phí, không cần thiết (Tổng là 12x6=72bits)

Ý tưởng: phân đoạn các khoảng cách thành các cụm bits như sau: <12; (6,4: 38, 17, 13, 34), (3, 1: 6), (2, 7: 4, 1, 3, 1, 2, 3, 1)>

Ký hiệu: (w, s: d1, d2,....,ds). Với w là số bit cần mã hóa cho s giá trị d1, d2,....,ds.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu các phương pháp nén chỉ số trong các hệ thống tìm kiếm 04 (Trang 42 - 44)

Tải bản đầy đủ (PDF)

(77 trang)