2011-01-15 9 views
10

Tengo 160 bits de datos aleatorios.Componer una frase sintética en inglés que contendría 160 bits de información recuperable

Solo por diversión, quiero generar una frase pseudo-inglesa para "almacenar" esta información. Quiero poder recuperar esta información de la frase.

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

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

  • corto
  • único
  • aspecto natural

El enfoque actual, sugirió here:

Toma tres listas de 1024 sustantivos, verbos a nd adjetivos cada uno (seleccionando los 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 bien, esto parece ser un buen enfoque, pero la frase es un poco demasiado largo y un poco demasiado aburrido.

He encontrado un corpus de palabras here (Parte de la base de datos del habla).

Después de un filtrado de ad-hoc, calculé que este corpus contiene, aproximadamente

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

Esto me permite usar hasta

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

Para el patrón sustantivo-verbo-adjetivo-verbo esto da 57 bits por "oración" en la frase. Esto significa que, si usaré todas las palabras que pueda obtener de este corpus, puedo generar tres oraciones en lugar de cuatro (160/57 ≈ 2.8).

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

Todavía es un poco demasiado largo y aburrido.

¿Alguna sugerencia de cómo puedo mejorarla?

Lo que veo que puedo probar:

  • intenta comprimir mis datos de alguna manera antes de la codificación. Pero dado que los datos son completamente aleatorios, solo algunas frases serían más cortas (y, supongo, no mucho).

  • Mejora el patrón de frase, por lo que se vería mejor.

  • Utilice varios patrones, usando la primera palabra en la frase para indicar de alguna manera para la descodificación futura qué patrón se utilizó. (Por ejemplo, use la última letra o incluso la longitud de la palabra.) Elija el patrón de acuerdo con los primeros bytes de los datos.

... No soy tan bueno con el inglés para llegar a mejores patrones de frase. ¿Alguna sugerencia?

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

... Supongo que necesitaría un corpus de palabras mucho mejor que el que tengo ahora para eso. ¿Alguna pista de dónde puedo obtener una adecuada?

+0

Intentar usar tiempos verbales dará lugar a complicaciones, ya que no existe un sistema morfológico regular en inglés. Por ejemplo, para la tercera persona, el indicativo activo plural, tenemos una distinción tensa entre "se fueron" y "van", pero ninguno entre "se ajustan (al pasado)" y "se ajustan (al presente)". Dado que la disponibilidad de la distinción de tiempo varía según otros datos, es difícil incorporarlo en su algoritmo de almacenamiento de manera simple. –

+0

Lo siento, pero me veo obligado a sugerir esto como relevante, ya sea o no que en realidad responde a su pregunta por completo: http://tools.ietf.org/html/rfc1605 – Amber

Respuesta

3

Considero agregar adverbios a su lista. Aquí hay 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 que hice un tiempo atrás a partir de datos de WordNet (probablemente un poco fuera porque he incluido palabras compuestas):

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

oración de ejemplo: "remojo, tH La muestra habitualmente ridícula y socialmente especulativa y el intrépidamente cataclísmico, en algún lugar recíproco macrocosmos ejecutan angelicalmente sobre el consolador inevitablemente intermitente ".

+0

Niza, gracias. Excepto que haría una frase de dos o tres oraciones, esta es un poco antinatural. (También: su número para los adjetivos es mucho menor que el mío, ¿quizás calculé mal algo?) –

+1

Me gustaría hacer una adición: utilice el enfoque de codificación en inglés, pero cántelo en una canción que le guste. ¡Cuando hice esto, pude memorizar 70 estaciones de metro! – Nayuki

Cuestiones relacionadas