У меня 160 бит случайных данных.
Ради удовольствия, я хочу сгенерировать псевдоанглийскую фразу для «хранения» этой информации. Я хочу иметь возможность восстановить эту информацию из фразы.
Примечание: Это не секретный вопрос, меня не волнует, сможет ли кто-то другой восстановить информацию или даже обнаружить, что она там есть, или нет.
Критерии для лучших фраз, из большинства по крайней мере:
Текущий подход, предложенный здесь :
Возьмите три списка из 1024 существительных, глаголов и прилагательных каждый ( выбирая самые популярные). Сгенерируйте фразу по следующему шаблону, считывая по 20 бит для каждого слова:
Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb.
Теперь это кажется хорошим подходом, но фраза слишком длинная и слишком скучная.
Я нашел здесь корпус слов (часть базы данных речи).
После некоторой специальной фильтрации я вычислил что этот корпус содержит примерно
Это позволяет мне использовать до
Для существительного-глагола- Шаблон прилагательное-глагол дает 57 бит на «предложение» во фразе. Это означает, что, если я использую все слова, которые могу найти в этом корпусе, я могу сгенерировать три предложения вместо четырех (160/57 ≈ 2,8).
Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb.
Все еще слишком длинно и скучно.
Есть подсказки, как я могу это улучшить?
Что я вижу, что я могу попробовать:
Попытайтесь как-нибудь сжать мои данные перед кодированием. Но поскольку данные полностью случайны, только некоторые фразы будут короче (и, я думаю, ненамного).
Улучшите шаблон фраз, чтобы он выглядел лучше.
Используйте несколько шаблонов, используя первое слово в фраза, чтобы как-то указать для будущего декодирования, какой шаблон был использован. (Например, используйте последнюю букву или даже длину слова.) Выберите шаблон в соответствии с первыми байтами данных
... Я не настолько хорошо владею английским, чтобы придумывать лучшие шаблоны фраз. Есть предложения?
... Думаю, для этого мне понадобится гораздо лучший корпус слов, чем у меня сейчас. но я не могу придумать никаких проектов, которые помогли бы мне учиться. Я уже работал с некоторыми из Project Euler с Python, но он устарел. Я знаю основы и хочу написать что-нибудь более увлекательное, что познакомит меня с новыми вещами в Python.
Есть ли шаблонный проект для начинающих по Python? (например, PHP был бы блогом или чем-то подобным)
Есть ли какие-нибудь общие проекты Python для новичков или какие-нибудь необычные, которые вы бы предложили?
Любые идеи могут помочь.