2011-01-15 7 views
10

Ho 160 bit di dati casuali.Comporre una frase sintetica inglese che conterrebbe 160 bit di informazioni recuperabili

Solo per divertimento, voglio generare una frase pseudo-inglese per "memorizzare" queste informazioni in. Voglio essere in grado di recuperare queste informazioni dalla frase.

Nota: Questa non è una domanda di sicurezza, non mi importa se qualcun altro sarà in grado di recuperare le informazioni o anche rilevare che è lì o no.

Criteri per le frasi migliori, dal più importante al meno:

  • Breve
  • unico
  • dall'aspetto naturale

L'attuale approccio, suggerito here:

Prendi tre liste di 1024 nomi, verbi a aggettivi e aggettivi (scegli quelli più popolari). Generare una frase dal seguente schema, la lettura 20 bit per ogni parola:

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

Ora, questo sembra essere un buon approccio, ma la frase è un po 'troppo lungo e un po' troppo noiosa.

Ho trovato un corpus di parole here (parte del database vocale).

Dopo qualche filtro ad-hoc, ho calcolato che questo corpus contiene circa

  • 50690 aggettivi utilizzabili
  • 123585 sostantivi
  • 15301 verbi
  • 13010 avverbi (non inclusi nel modello, ma menzionato nelle risposte)

Questo mi consente di utilizzare fino a

  • 16 bit per aggettivo (in realtà 16.9, ma non riesco a capire come utilizzare bit frazionari)
  • 15 bit per s
  • 13 bit al verbo
  • 13 bit per avverbio

Per il modello nome-verbo-aggettivo-verbo questo fornisce 57 bit per "frase" nella frase. Ciò significa che, se userò tutte le parole che posso ottenere da questo corpus, posso generare tre frasi anziché quattro (160/57 ≈ 2.8).

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

Ancora un po 'troppo lungo e noioso.

Eventuali suggerimenti come posso migliorarlo?

Quello che vedo che posso provare:

  • tenta di comprimere i miei dati in qualche modo prima della codifica. Ma dal momento che i dati sono completamente casuali, solo alcune frasi sarebbero più corte (e, immagino, non di molto).

  • Migliorare il modello di frase, quindi sarebbe meglio.

  • Utilizzare diversi motivi, utilizzando la prima parola nella frase per indicare in qualche modo per la futura decodifica quale modello è stato utilizzato. (Ad esempio, utilizzare l'ultima lettera o anche la lunghezza della parola.) Selezionare il modello in base ai primi byte dei dati.

... Non sono così bravo con l'inglese a trovare modelli di frasi migliori. Eventuali suggerimenti?

  • Utilizzare più linguistica nel modello. Tempi diversi ecc.

... Immagino, avrei bisogno di un corpus di parole molto migliore di quello che ho ora per quello. Qualche suggerimento dove posso trovarne uno adatto?

+0

Cercare di usare i tempi verbali porterà a complicazioni, poiché non esiste un sistema morfologico regolare in inglese. Per esempio, per la terza persona indicativa attiva plurale, abbiamo una distinzione tesa tra "sono andati" e "loro vanno", ma nessuno tra "si adattano (passato)" e "si adattano (presente)". Dal momento che la disponibilità della distinzione temporale varia su altri dati, è difficile incorporarla nell'algoritmo di archiviazione in modo semplice. –

+0

Mi dispiace, ma mi trovo costretto a suggerire questo come rilevante, anche se non è in realtà risponde completamente alla tua domanda: http://tools.ietf.org/html/rfc1605 – Amber

risposta

3

Vorrei prendere in considerazione l'aggiunta di avverbi alla vostra lista. Ecco un modello che mi è venuto in mente:

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

Questo può codificare 181 bit di dati. Ho ricavato questa cifra sulla base di liste che ho fatto un po 'indietro da dati WordNet (probabilmente un po' fuori perché ho incluso le parole composte):

sostantivi
  • 12650 utilizzabili (13,6 bit/sostantivo, arrotondato per difetto)
  • 5247 aggettivi utilizzabili (12.3 bit/aggettivo)
  • 5009 verbi utilizzabili (12,2 bit/verbo)
  • 1512 avverbi utilizzabili (10,5 bit/avverbio) frase

Esempio: "ammollo, Th E abitualmente un campione sciocco, socialmente speculativo e un cataclisma senza paura, in cui un reciproco macrocosmo preclude angelicamente il consolatore inevitabilmente intermittente. "

+0

bello, grazie. Tranne che farei una frase di due o tre frasi, questa è un po 'troppo innaturale. (Inoltre: il tuo numero per gli aggettivi è molto inferiore al mio - forse ho calcolato male qualcosa?) –

+1

Mi piacerebbe fare un'aggiunta: usa l'approccio alla codifica inglese, ma cantalo in una canzone che ami. Quando l'ho fatto, sono riuscito a memorizzare 70 stazioni della metropolitana! – Nayuki

Problemi correlati