СЖАТИЕ КОРОТКИХ ТЕКСТОВЫХ СООБЩЕНИЙ

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ “НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ” (НГУ)
Кафедра общей информатики
СЖАТИЕ КОРОТКИХ ТЕКСТОВЫХ СООБЩЕНИЙ
Выпускная квалификационная работа бакалавра
Выполнил:Авершин Д.И., гр. 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 %
• Разработан модуль архивации для СМС
сообщений
СПАСИБО ЗА ВНИМАНИЕ!
Download