У меня 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.
Все еще слишком длинный и скучный.
Любые подсказки как я могу это улучшить?
Что я вижу, что могу попробовать:
Попытайтесь как-нибудь сжать мои данные перед кодированием. Но поскольку данные полностью случайны, только некоторые фразы будут короче (и, я думаю, ненамного).
Улучшите шаблон фразы, чтобы он выглядел лучше.
Используйте несколько шаблонов, используя первое слово в фраза, чтобы как-то указать для будущего декодирования, какой шаблон был использован. (Например, используйте последнюю букву или даже длину слова. ) Выбираю шаблон в соответствии с первыми байтами данных
... Я не настолько хорошо владею английским, чтобы придумывать лучшие шаблоны фраз. Есть предложения?
... Думаю, для этого мне понадобится гораздо лучший корпус слов, чем у меня сейчас. Есть подсказки, где мне найти подходящий?