2011-01-15 3 views
10

У меня есть 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, чем у меня сейчас. Любые подсказки, где я могу получить подходящую?

+0

Пытаться использовать временные ограничения приведет к осложнениям, поскольку на английском языке не существует регулярной морфологической системы. Например, для третьего лица, имеющего множественную множественную активность, у нас есть напряженное различие между «они пошли» и «они идут», но между «они подходят (прошло)» и «они подходят (присутствуют)». Так как доступность различного времени различается по другим данным, ее сложно интегрировать в свой алгоритм хранения простым способом. –

+0

Мне очень жаль, но я считаю себя вынужденным предложить это как отношение, на самом деле отвечает ли он или нет ваш вопрос полностью: http://tools.ietf.org/html/rfc1605 – Amber

ответ

3

Я хотел бы добавить наречия в ваш список. Вот шаблон, который я придумал:

<Adverb>, the 
    <adverb> <adjective>, <adverb> <adjective> <noun> and the 
    <adverb> <adjective>, <adverb> <adjective> <noun> 
<verb> <adverb> over the <adverb> <adjective> <noun>. 

Это может кодировать 181 бит данных. Я полученный эту цифру с использованием списков, которые я сделал некоторое время назад из данных WordNet (вероятно, немного не потому, что я включил составные слова):

  • 12650 используемые существительные (13,6 бит/существительное, закругленные вниз)
  • 5247 годные к употреблению прилагательных (12.3 бит/прилагательное)
  • 5009 используемые глаголы (12.2 бит/глагол)
  • 1512 пригодные для использования наречий (10.5 бит/наречие)

Пример предложение: «Замачивание, тыс обычно привычный, социальный спекулятивный образец и бесстрашный катаклизм, где-то обратный макрокосм ангелически перекликается с неизбежно прерывистым утешителем ».

+0

Nice, спасибо. Кроме того, что я сделаю фразу из двух-трех предложений, это слишком неестественно. (Также: ваш номер для прилагательных намного меньше моего - возможно, я просчитал что-то?) –

+1

Я хотел бы сделать дополнение: используйте английский подход к кодированию, но пойте его в песне, которую вы любите. Когда я это сделал, я смог запомнить 70 станций метро! – Nayuki