Componer frase sintética Inglés que contendría 160 bits de información recuperable

StackOverflow https://stackoverflow.com/questions/4698229

  •  11-10-2019
  •  | 
  •  

Pregunta

Tengo 160 bits de datos aleatorios.

Sólo por diversión, quiero generar frase pseudo-Inglés para "tienda" en esta información. Quiero ser capaz de recuperar esta información de la frase.

Nota: Esto no es una pregunta de seguridad, no me importa si alguien será capaz de recuperar la información o incluso detectar que se trata de allí o no.

Criterios para mejores frases, de la más importante a la menos importante:

  • Corto
  • Único
  • de aspecto natural

El enfoque actual, sugerido aquí :

Tome tres listas de 1024 sustantivos, verbos y adjetivos cada uno (recogiendo las más populares). Generar una frase por el siguiente patrón, la lectura de 20 bits para cada palabra:

Noun verb adjective verb,
Noun verb adjective verb,
Noun verb adjective verb,
Noun verb adjective verb.

Ahora, esto parece ser un enfoque bueno, pero la frase es un poco demasiado largo y un poco demasiado aburrido.

He encontrado un corpus de palabras aquí (Parte del discurso de base de datos).

Después de algún ad-hoc de filtrado, I calculó que este corpus contiene, aproximadamente

  • 50690 adjetivos utilizables
  • 123585 sustantivos
  • 15301 verbos
  • 13010 adverbios (no incluidas en el patrón, pero se mencionan en las respuestas)

Esto me permite utilizar hasta

  • 16 bits por adjetivo (en realidad 16,9, pero no puede averiguar cómo utilizar los bits fraccionarios)
  • 15 bits por sustantivo
  • 13 bits por verbo
  • 13 bits por adverbio

Para sustantivo-verbo-adjetivo-verbo patrón esto da 57 bits por "frase" en la frase. Esto significa que, si voy a utilizar todas las palabras que puedo conseguir de este corpus, que puede generar tres frases en lugar de cuatro (160/57 ˜ 2,8).

Noun verb adjective verb,
Noun verb adjective verb,
Noun verb adjective verb.

Todavía un poco demasiado largo y aburrido.

¿Alguna pista de cómo puedo mejorar?

Lo que veo que puedo probar:

  • Trate de comprimir los datos de mi de alguna manera antes de la codificación. Pero ya que los datos son completamente al azar, solamente algunas frases serían más cortos (y, supongo, no por mucho).

  • Mejorar el patrón de la frase, para que se viera mejor.

  • Use varios patrones, utilizando la primera palabra en la frase de alguna manera indican para el futuro de decodificación, que se utilizó patrón. (Por ejemplo, utilice la última letra o incluso la longitud de la palabra.) Patrón de captación de acuerdo con los primeros bytes de los datos.

... No soy tan bueno con Inglés para llegar a mejores patrones de frases. ¿Alguna sugerencia?

  • Use más la lingüística en el patrón. Diferentes tiempos verbales, etc.

... supongo, necesitaría mucho mejor palabra corpus de lo que tengo ahora para eso. ¿Alguna pista donde puedo conseguir una adecuada?

¿Fue útil?

Solución

Me consideraría añadiendo a su lista de adverbios. Aquí es un patrón que se me ocurrió:

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

Esto puede codificar 181 bits de datos. I derivada esta cifra utilizando listas I hizo un tiempo atrás a partir de datos de WordNet (probablemente un poco fuera porque he incluido palabras compuestas):

  • 12650 sustantivos utilizables (13,6 bits / sustantivo, abajo redondeado)
  • 5247 adjetivos utilizables (12,3 bits / adjetivo)
  • 5009 verbos utilizables (12,2 bits / verbo)
  • 1512 adverbios utilizables (10,5 bits / adverbio)

Ejemplo frase: "El remojo, el habitualmente torpe, social muestra especulativo y el miedo catastrófico, macrocosmos algún lugar recíproco foreclose angélicamente sobre el edredón inevitablemente intermitente"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top