ИЗУЧЕНИЕ СТАТИСТИКИ ВСТРЕЧАЕМОСТИ ТЕРМИНОВ И ПАР ТЕРМИНОВ В ТЕКСТАХ ДЛЯ ВЫБОРА МЕТОДОВ СЖАТИЯ ИНВЕРТИРОВАННОГО ФАЙЛА. Губин Максим Вадимович «Информационная компания «Кодекс» Max@gubin.spb.ru Цель: Выбор алгоритма сжатия инвертированного файла реальной коллекции. План: •Изучить статистику распределения данных в пост листах. •Выбрать возможные алгоритмы сжатия. •Проверить их работоспособность. Индексирование по парам • Улучшение точности поиска • Увеличение скорости обработки запроса • Дополнительный сервис – подсказки пользователю, расширение запроса и т.д. Особенности коллекции • Относительно большие документы (сред. размер документа тысячи слов) • Большой разброс в размерах документов (10 – 10000 слов) • Много словоформ (коэф. Хипса ~ 1) Особенности статистики пар • Количество растет линейно от N • Чаще повторяются в документе, чем в коллекции. • На порядок больше слов Русская коллекция 2 1600000 1400000 Слов/Пар 1200000 1000000 800000 600000 400000 200000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Документов (x20) Особенности пост листов Основной объем составляют короткие листы 12000000 10000000 8000000 Слова Пары 1 6000000 Пары 2 Пары 3 Пары 4 4000000 2000000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Выбор алгоритма сжатия Классический подход - кодирование дельт не подходит (40-50%). 2500000 Размер 2000000 1500000 Не сжатые Переменное число байт Голомб 1000000 500000 0 1 12 23 34 45 56 67 78 89 100 111 122 133 Длина Предлагаемое решение Объединение пост листов. Объединенный пост лист Заголовок Сжатый дельта + байт код Номера слов, сжатые кодом Хаффмана Коэффициент сжатия – 20-25% Выводы • Реальная статистика значительно отличается от классической • Выбор алгоритма сжатия позволяет улучшить сжатие в разы. • Индекс по парам может быть сравним с координатным индексом.