У меня есть 160 бит случайных данных.Составьте синтетическую английскую фразу, которая будет содержать 160 бит восстанавливаемой информации
Просто для удовольствия, я хочу сгенерировать псевдоанглийскую фразу, чтобы «сохранить» эту информацию. Я хочу, чтобы иметь возможность восстановить эту информацию из фразы.
Примечание: Это не вопрос безопасности, я не волнует, если кто-то сможет восстановить информацию или даже обнаружить, что она там или нет.
Критерии лучших фраз, из наиболее важным для наименее:
- Short
- Уникальный
- натурально выглядящим
В настоящее время подход, предложенный here:
Возьмите три списка из 1024 существительных, глаголов a nd прилагательные каждый (выбор наиболее популярных). Сформировать фразу по следующей схеме, чтение 20 бит для каждого слова:
Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb.
Теперь это, кажется, хороший подход, но эта фраза немного слишком долго и слишком скучно.
Я нашел корпус слов here (часть базы данных речей).
После некоторой специальной фильтрации, я подсчитал, что этот корпус содержит приблизительно
- 50690 пригодных для использования прилагательных
- 123585 существительных
- 15301 глаголов
- 13010 наречия (не включены в шаблоне, но упомянутые в ответах)
Это позволяет использовать до
- 16 бита на прилагательное (на самом деле 16,9, но я не могу понять, как использовать дробные биты)
- 15 бит на существительного
- 13 бит на глагол
- 13 бит на наречие
Для шаблона существительного-глагола-прилагательного-глагола это дает 57 бит на «предложение» во фразе. Это означает, что, если я буду использовать все слова, которые я могу получить из этого корпуса, я могу создать три предложения вместо четырех (160/57 ≈ 2.8).
Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb.
Все еще слишком долго и скучно.
Любые подсказки, как я могу улучшить его?
То, что я вижу, что я могу попробовать:
Попробуйте сжать мои данные как-то перед кодированием. Но поскольку данные полностью случайны, только некоторые фразы будут короче (и, я думаю, не намного).
Улучшите шаблон фразы, чтобы он выглядел лучше.
Используйте несколько шаблонов, используя первое слово во фразе, чтобы как-то указать для будущего декодирования, какой шаблон использовался. (Например, используйте последнюю букву или даже длину слова.) Выберите шаблон в соответствии с первым байтом данных.
... Я не так хорошо знаком с английским языком, чтобы придумать лучшие фразовые узоры. Какие-либо предложения?
- Используйте больше лингвистики в шаблоне. Разные времена и т. Д.
... Думаю, мне понадобится гораздо лучше слово corpus, чем у меня сейчас. Любые подсказки, где я могу получить подходящую?
Пытаться использовать временные ограничения приведет к осложнениям, поскольку на английском языке не существует регулярной морфологической системы. Например, для третьего лица, имеющего множественную множественную активность, у нас есть напряженное различие между «они пошли» и «они идут», но между «они подходят (прошло)» и «они подходят (присутствуют)». Так как доступность различного времени различается по другим данным, ее сложно интегрировать в свой алгоритм хранения простым способом. –
Мне очень жаль, но я считаю себя вынужденным предложить это как отношение, на самом деле отвечает ли он или нет ваш вопрос полностью: http://tools.ietf.org/html/rfc1605 – Amber