Buon giorno a tutti,
sto facendo uno studio sulla generazione di parole inventate che
suonino come "italiane".
Dovrei quindi trovare tutte le sillabe esistenti nella lingua
italiana.
Ci sto provando in modo empirico (prendo le parole da un testo e le
scompongo catalogando le varie sillabe)
Per ridurre la ricerca mi basterebbe trovare tutte le combinazioni di
consonanti esistenti (es: BR, CR, DR, esistono mentre combinazioni
tipo VZ, ZT non esistono) , sarebbe poi sufficiente aggiungere le
vocali per completare la casistica.
Spero di non passare per folle e ringrazio anticipatamente chiunque mi
possa fornire qualche indicazione.
Stefano
> Per ridurre la ricerca mi basterebbe trovare tutte le combinazioni di
> consonanti esistenti (es: BR, CR, DR, esistono mentre combinazioni
> tipo VZ, ZT non esistono) , sarebbe poi sufficiente aggiungere le
> vocali per completare la casistica.
> Spero di non passare per folle e ringrazio anticipatamente chiunque mi
> possa fornire qualche indicazione.
Un elenco di parole e un programmino perl.
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
> sto facendo uno studio sulla generazione di parole inventate che
> suonino come "italiane".
ah interessante, era una cosa a cui avevo spesso pensato per un
programma crittografico.
Si trattava di criptare un testo in una sequenza di lettere con dei pesi
(non vi rivelo tutta l'idea ma non e' mia bensi' del Verulamio), pero'
le lettere delle frasi definitive dovevano sembrare parole di una certa
lingua.
> Dovrei quindi trovare tutte le sillabe esistenti nella lingua
> italiana.
con la loro frequenza, e magari considerando anche le combinazioni tra
una lettera e uno spazio bianco (che implicitamente da' la lunghezza
delle parole) e tra una lettera e un segno di interpunzione.
Si tratta di prendere tanti piu' testi si puo', scrivere un programma di
analisi che per ogni coppia sommi il numero di occorrenze a una matrice
(se ci si limita alle lettere e alle coppie basta 21 x 21 ... ma forse
per una vera somiglianza alla lingua occorrono almeno delle terne) e
salvarla (magari normalizzandola al numero totale).
E poi usare un generatore di numeri casuali con dei pesi per la
costruzione.
Esercizio da fare nel proprio favorito linguaggio di programmazione (io
lo farei ovviamente in Fortran)
--
----------------------------------------------------------------------
nos...@ifctr.mi.cnr.it is a newsreading account used by more persons to
avoid unwanted spam. Any mail returning to this address will be rejected.
Users can disclose their e-mail address in the article if they wish so.
> [...]
> Spero di non passare per folle e ringrazio anticipatamente chiunque mi
> possa fornire qualche indicazione.
Ti posso aiutare dandoti una sillaba che non so se conosci:
ba
:-)))
--
Ciao,
Roger
--
I cretini sono sempre piů ingegnosi delle precauzioni
che si prendono per impedir loro di nuocere.
(Dalla legge di Murphy)
>Ci sto provando in modo empirico (prendo le parole da un testo e le
>scompongo catalogando le varie sillabe)
Automaticamente? Io non ci sono riuscito, ma se lo hai fatto, mi
sapresti dire come?
>Per ridurre la ricerca mi basterebbe trovare tutte le combinazioni di
>consonanti esistenti (es: BR, CR, DR, esistono mentre combinazioni
>tipo VZ, ZT non esistono) , sarebbe poi sufficiente aggiungere le
>vocali per completare la casistica.
Questo non mi sembra un problema.
I gruppi di 2 al massimo sono 87 di cui 14 doppie, ma se parli di
sillabe il numero si riduce drasticamente. I gruppi di 3 (escludendo
quelli contenenti doppie) si limitano alle combinazioni con iniziale
l,m,n,r,s.
--
Ciao.
SergioŽ
Per parafrasare la pubblicità dell'Arbre Magic:
"Perl" ?... Why "Perl" ?...
--
Er Roscio.
Ah, ma io un programma così l'ho scritto tanti anni fa! Devo avere ancora
il sorgente (in C) archiviato da qualche parte.
Usava una tabella tridimensionale di 256×256×256, salvata su disco. In
modalità di lettura, analizzava la frequenza le sequenze di tre byte
dell'imput; in fase di scrittura, produceva un testo casuale utilizzando
le frequenze rilevate.
Dandogli come input tutte le e-mail ricevute in qualche anno dal mio
allora capufficio, aveva prodotto uno pseudotesto completamente privo di
senso ma che aveva fatto scompisciare i colleghi, perché vi si
riconoscevano parole ed errori d'ortografia tipici del tizio.
Ho provato anche a fargli leggere qualche mega di programmi eseguibili e,
dopo due o tre prove, il file di output ha ingannato il sistema operativo,
che ha cercato di eseguirlo, andando ovviamente in crash dopo pochi
secondi.
Ciao.
Marco
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
Vi ringrazio per le risposte. Alcune di queste mi hanno permesso di
modificare il mio metodo di lavoro permettendomi di migliorare il
progetto.
Sto creando un programma (in VB purtroppo, ma è l'unico linguaggio di
programmazione che conosco) che funziona molto bene.
Grazie a tutti
Stefano
> Sto creando un programma (in VB purtroppo, ma è l'unico linguaggio di
> programmazione che conosco) che funziona molto bene.
Non è brutto, VB.
Ciao, FB
Non è brutto, pero' esistono linguaggi molto piu' veloci.
Un collega ha rifatto il programma in Perl e gira molto più
velocemente.
>Sto creando un programma (in VB purtroppo, ma è l'unico linguaggio di
>programmazione che conosco) che funziona molto bene.
Beh, il linguaggio e' ininfluente, quello che conta e' la sua
conoscenza. Se lo conosci bene lo "pieghi" alle tue esigenze.
Ma giorni fa ti chiesi se fossi riuscito a realizzare la corretta
sillabazione; io l'ho dovuta inserire per realizzare un dizionario con
correttore ortografico siciliano, ma non e' che funzioni sempre.
--
Ciao.
Sergio®
>
> Buon giorno a tutti,
> sto facendo uno studio sulla generazione di parole inventate che suonino
> come "italiane".
(cut)
>Per ridurre la ricerca mi basterebbe trovare tutte le combinazioni di
>consonanti esistenti (es: BR, CR, DR, esistono mentre combinazioni
>tipo VZ, ZT non esistono) , sarebbe poi sufficiente aggiungere le
>vocali per completare la casistica.
>Non è necessario. Avevo già progettato l'algoritmo per un software
simile, con l'intento di tradurlo poi in Python, ma alla fine non ne ho
fatto niente. Partendo da un testo dato,
>prendeva una lettera L1 e la stampava; poi andava a cercare a caso all'interno dello stesso
>testo un punto in cui ci fosse di nuovo questa lettera, e scriveva la
>lettera successiva L2 ; poi andava a cercare ancora un punto a caso dove ci
fosse L2 e stampava la lettera successiva. Anzi, non lettere: caratteri,
cioè anche spazi, segni di punteggiatura ecc.
--
"SONO MATTEO ASTROFILO SEMINEOFILO" (post su ISA)
it.cultura.classica: http://digilander.iol.it/mmanca
> Buon giorno a tutti,
> sto facendo uno studio sulla generazione di parole inventate che suonino
> come "italiane".
(cut)
>Per ridurre la ricerca mi basterebbe trovare tutte le combinazioni di
>consonanti esistenti (es: BR, CR, DR, esistono mentre combinazioni tipo
>VZ, ZT non esistono) , sarebbe poi sufficiente aggiungere le vocali per
>completare la casistica.
>Non è necessario. Avevo già progettato l'algoritmo per un software
simile, con l'intento di tradurlo poi in Python, ma alla fine non ne ho
fatto niente. Ecco il metodo: Partendo da un testo dato,
>prendeva a caso una lettera L1 e la stampava; poi andava a cercare a caso
>all'interno dello stesso testo un punto in cui ci fosse di nuovo questa
>lettera, e scriveva la lettera successiva L2 ; poi andava a cercare
>ancora un punto a caso dove ci
fosse L2 e stampava la lettera successiva. Anzi, non lettere: caratteri,
cioè anche spazi, segni di punteggiatura ecc. Come dico, non l'ho mai
realizzato, ma per uno un po' pratico saranno una decina di righe di
codice.
>On Thu, 18 Sep 2003 07:52:26 GMT, ste...@nomail.it (Stefano) wrote:
Non ho creato un programma che mi creasse le sillabe. Il lavoro lo ha
fatto un amico che è colui che ha anche pensato il tutto.
Si è messo d'impegno e ha identificato tutte le possibili combinazioni
di due lettere esistenti nella lingua italiana.
Io ho provveduto a creare una matrice (per mia comodità
bidimensionale) che viene utilizzata per riconoscere le coppie di
lettere valide. Sta funzionando.
Ora devo solo sistemare i gruppi di tre consonanti.
Non siamo ancora riusciti a identificarli.
Abbiamo notato che spesso nelle tre consonanti consecutive due sono
doppie (aBBRaccio, aCCResereo) ma non è una regola valida visto che
ci sono anche tante altre combinazioni (aLTRo, aRTRite, aSTRo)
Sto seguendo le indicazioni di Sergio:
>I gruppi di 3 (escludendo
>quelli contenenti doppie) si limitano alle combinazioni con iniziale
>l,m,n,r,s.
Certo che se qualcuno le avesse gia pronte........
saluti e grazie per l'attenzione
Stefano
>>prendeva una lettera L1 e la stampava; poi andava a cercare a caso all'interno dello stesso
>>testo un punto in cui ci fosse di nuovo questa lettera, e scriveva la
>>lettera successiva L2 ; poi andava a cercare ancora un punto a caso dove ci
>fosse L2 e stampava la lettera successiva. Anzi, non lettere: caratteri,
>cioč anche spazi, segni di punteggiatura ecc.
Buona anche questa. Ci proverň
grazie
s.
>Non ho creato un programma che mi creasse le sillabe.
Ops! Poiche' nel primo intervento avevi scritto:
>Dovrei quindi trovare tutte le sillabe esistenti nella lingua
>italiana.
Quindi avevo pensato...
>Il lavoro lo ha fatto un amico che è colui che ha anche pensato il tutto.
>Si è messo d'impegno e ha identificato tutte le possibili combinazioni
>di due lettere esistenti nella lingua italiana.
Oddio 10 minuti con excel. Combinazione di 16 elementi a due a due con
esclusione "a vista" di quelle impossibili. Se non ricordo male sono
87 escludendo k, x, w.
>Io ho provveduto a creare una matrice (per mia comodità
>bidimensionale) che viene utilizzata per riconoscere le coppie di
>lettere valide. Sta funzionando.
>Ora devo solo sistemare i gruppi di tre consonanti.
>Non siamo ancora riusciti a identificarli.
>Abbiamo notato che spesso nelle tre consonanti consecutive due sono
>doppie (aBBRaccio, aCCResereo) ma non è una regola valida visto che
>ci sono anche tante altre combinazioni (aLTRo, aRTRite, aSTRo)
Le doppie posso stare solo in testa: bbr, cch, ccl, ccr, ddr, ffl,
ffr, ggh, ggl, ggr, ppl, ppr, ttr. Si contano "a vista".
Per le altre non mi sembra ci siano difficolta'. Se togli le
combinazioni impossibili: n+b/p, m+c,... non e' che ne restino molte.
Chiaramente parlando esclusivamente di lemmi italiani.
>Sto seguendo le indicazioni di Sergio:
Che poi sono io. ;-))
>>I gruppi di 3 (escludendo
>>quelli contenenti doppie) si limitano alle combinazioni con iniziale
>>l,m,n,r,s.
>
>Certo che se qualcuno le avesse gia pronte........
Potrei anche fartele, ma perche' ti vuoi privare del piacere?
Con un foglio excel ci stai pocchissimo e magari ne trovi qualcuna che
mi e' sfuggita.
--
Ciao.
Sergio®
>
> Oddio 10 minuti con excel. Combinazione di 16 elementi a due a due con
> esclusione "a vista" di quelle impossibili. Se non ricordo male sono
> 87 escludendo k, x, w.
Non funziona: per avere un grammelot realistico è necessario rispettare
anche la frequenza delle singole combinazioni, nonché le loro posizioni
(per esempio, è raro che una parola italiana finisca per consonante) e la
distribuzione della lunghezza delle parole. Con
il mio metodo, invece, dovrebbe andare, e addirittura si ottengono frasi
"correttamente" punteggiate.