МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ “НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ” (НГУ) Кафедра общей информатики СЖАТИЕ КОРОТКИХ ТЕКСТОВЫХ СООБЩЕНИЙ Выпускная квалификационная работа бакалавра Выполнил:Авершин Д.И., гр. 9205 Научный руководитель:Толстокулаков Н.Ю. Постановка задачи • Сравнительный анализ архиваторов на тестовой выборке из СМС сообщений • Подбор оптимальных параметров для выбранного архиватора • Реализация модуля архивации Актуальность • TextSecure – приложение, позволяющее обмениваться зашифрованными сообщениями для ОС Android • Из-за использования шифрования возникает необходимость передачи дополнительной служебной информации Введение • Размер СМС – 140 байт • Кол-во информации(в символах) зависит от кодировки • Используется 3 кодировки: 1) 7-битная(ASCII) ≈ 160 символов 2) 8-битная ≈ 140 символов 3) 16-битная(UCS-2) ≈ 70 символов Выбор алгоритма сжатия • GZIP,BZIP2,LZMA,FEMTOZIP • Тестовая выборка из 678 СМС сообщений 1)Мин. длина сообщения: 36 символов 2)Средняя длина сообщения: 105 символов 3)Макс. длина сообщения: 189 символов • 2 теста в кодировках UTF-8 и ISO-8859-5 Выбор алгоритма сжатия Сравнительный анализ архиваторов на тестовой выборке в кодировке UTF-8: Лучший Средний Худший GZIP 3.68 1.32 0.82 LZMA 1.50 1.15 0.82 BZIP2 2.68 1.19 0.55 FEMTOZIP* 7.79 2.27 0.68 * - в качестве словаря использовалась книга В.О. Пелевина “Generation Пи” Выбор алгоритма сжатия Сравнительный анализ архиваторов на тестовой выборке в кодировке ISO-8859-5: Лучший Средний Худший GZIP 2.68 1.12 0.73 LZMA 1.22 0.94 0.75 BZIP2 1.84 0.78 0.45 FEMTOZIP* 4.83 1.56 0.70 * - в качестве словаря использовалась книга В.О. Пелевина “Generation Пи” Выбор алгоритма сжатия Средний коэффициент сжатия Femtozip для двух тестов: • UTF-8: 2.27 • ISO-8859-5: 1.56 Средняя длина сообщения в байтах: • UTF-8: 178 байт • ISO-8859-5: 105 байт Среднее число байт на одно сообщение: • UTF-8: 178 / 2.27 = 78 байт • ISO-8859-5: 105 / 1.56 = 67 байт Femtozip • Femtozip – кроссплатформенная библиотека сжатия данных • Использует предопределенные словари для сжатия • Выбор словаря влияет на эффективность сжатия Тестирование словарей для Femtozip Лучший Средний Худший Научный текст 4.14 1.35 0.68 Современная проза* СМС сообщения 4.83 1.76 0.70 5.56 2.20 0.85 * - книга В.О. Пелевина “Generation Пи” Реализация алгоритма сжатия для СМС Шаг 1: Приведение СМС сообщения к 1-байтовой кодировке UTF-16 -> ISO8859(1-16),UTF-8 Шаг 2: Выбор алгоритма сжатия Выбор делается между тремя вариантами: 1)GZIP 2)Femtozip 3)Без сжатия Шаг 3:Создание контейнера передачи информации 1)Информация о кодировке 2)Информация о словаре 3)Тип сжатия Заключение • Исследована предметная область • Найден и улучшен алгоритм позволяющий сжимать СМС сообщения на ≈ 32 % • Разработан модуль архивации для СМС сообщений СПАСИБО ЗА ВНИМАНИЕ!