Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-10-2008, 18:26   #1
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
[c++][java]in un file .txt togliere maiuscole, punteggiatura etc

Buonasera a tutti devo fare le statistiche da un corpus di testo molto grande(un corpus di testo è un insieme di file di testo) per chi lo conosce io uso il "tasa corpus".
Dato un file di testo al suo interno devo fare queste operazioni:
1) sostituire la punteggiatura con il carattere spazio ' '
2) sostituire tutte le lettere maiuscole con le minuscole
3) sostituire il carattere 'a capo' con uno spazio ' '

4) Tutte queste operazioni devono essere fatte in automatico dal programma su circa 10mila file .txt che sono nidificati in una cartella
5) infine questi 10mila e rotti file .txt li devo unire in un'unico enorme file
corpus.txt (non devono esserci parole attaccate alla fine di un file con il successivo, per cui è opportuno inserire uno spazio alla fine di ogni file)
6) a questo punto possono iniziare a fare le statistiche prendendo come input il file corpus.txt

l'ultimo punto il 6) l'ho già implementato ho pronto il programma scritto in fortran, devo solo crearmi questo file corpus.txt da dare in pasto al
mio programma fortran.
Ovviamente i primi 5 punti posso implementarli in qualsiasi linguaggio
preferisco c++ o java perchè li conosco.

Ragazzi mi date una mano?
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2008, 18:49   #2
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ciao Angel,

secondo me, il modo migliore(dal punto di vista dell'efficienza), è quello di utilizzare un automa a stati finiti.

Se mi dai un po' di tempo ti posto il codice. Ti andrebbe bene, al posto di C++, anche in C? Ci guadagniamo in velocità di esecuzione
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2008, 20:19   #3
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Ciao Angel,

secondo me, il modo migliore(dal punto di vista dell'efficienza), è quello di utilizzare un automa a stati finiti.

Se mi dai un po' di tempo ti posto il codice. Ti andrebbe bene, al posto di C++, anche in C? Ci guadagniamo in velocità di esecuzione
si anche il c va benissimo.
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2008, 20:46   #4
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Due domande:

1) per nidificati in una cartella intendi che i file si trovano all'interno di più sottocartelle rispetto a quella di partenza?

2) Il tuo programma dovrà girare su Windows? In caso affermativo posso impacchettare il tutto in una comoda DLL, in modo che sia possibile utilizzarla dalla maggior parte dei linguaggi(C, C++, Java, C#, Visual Basic). FORTRAN consente di richiamare DLL Windows?
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2008, 21:13   #5
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Due domande:

1) per nidificati in una cartella intendi che i file si trovano all'interno di più sottocartelle rispetto a quella di partenza?

2) Il tuo programma dovrà girare su Windows? In caso affermativo posso impacchettare il tutto in una comoda DLL, in modo che sia possibile utilizzarla dalla maggior parte dei linguaggi(C, C++, Java, C#, Visual Basic). FORTRAN consente di richiamare DLL Windows?
1) in pratica ho 8 cartelle piene zeppe di file di testo.. nessun'altra nidificazione in pratica potrei anche mettere manualmente tutti i file dentro la stessa cartella, per questo non c'è problema.

2) Si il programma deve girare sotto windows.
Guarda fortran sicuramente consente una cosa del genere ma non mi interessa fare un unico programma.. a me occorre solo il file unico
corpus.txt
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2008, 22:42   #6
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da angel110 Guarda i messaggi
1) in pratica ho 8 cartelle piene zeppe di file di testo.. nessun'altra nidificazione in pratica potrei anche mettere manualmente tutti i file dentro la stessa cartella, per questo non c'è problema.

2) Si il programma deve girare sotto windows.
Guarda fortran sicuramente consente una cosa del genere ma non mi interessa fare un unico programma.. a me occorre solo il file unico
corpus.txt
Ok.
Allora faccio un programmino in modalità console a cui passi, da riga di comando, il percorso della cartella originaria e il nome del file di output. Il programma crea il file leggendo tutti i file con estensione .txt che si trovano nella cartella specificata e nelle sue sottocartelle.
Per domani sera dovrebbe essere pronto
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 08:42   #7
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Ti ringrazio tanto, devo precisare una cosa, il mio programma suppone che il file corpus.txt sia suddiviso in righe, e che ogni riga abbia senso compiuto.
Se al contrario il file corpus.txt non rispetta questa divisione le statistiche vengono falsate.
Ti posto un esempio di come dovrebbe essere il file corpus.txt
(ciò è risolvibile ad esempio sostituendo nei file grezzi il carattere "." col carattere "vai a capo"
Allegati
File Type: txt corpus.txt (1.4 KB, 20 visite)
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 15:05   #8
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Puoi postarmi anche un esempio di file di input?

Ciao
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 17:02   #9
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Puoi postarmi anche un esempio di file di input?

Ciao
Ciao ecco qui
Allegati
File Type: txt esempio input.txt (2.0 KB, 19 visite)
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 17:45   #10
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Il programmino è quasi pronto. Devo solo testarlo un po'
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 19:12   #11
wlog
Bannato
 
Iscritto dal: Oct 2008
Messaggi: 558
Ciao. Il bello del C è che esiste una relazione biunivoca tra tuttii i caratteri rappresentabili con le tabelle (h)ascii(sh) e un sottoinsieme dei naturali. Questo ti permette di usare un paio di trucchi:


A) Da maiuscolo a minuscolo:

Si può usare l'operazione modulo: Il carattere A è il numero 65, il carattere a è il numero 97. Cioè A è (a-64)%33. E cosi via per tutti gli altri caratteri. Basta mettere un if isalpha per lavorare solo sul tipo di dati giusto.


b) Punteggiature:

Semplice: esiste una funzione banale del tipo ischar... nel caso in cui sia positiva basta sostituire il carattere con null.


Concludendo, un ciclo nested con magari un fork per massimizzare l'efficenza è la tua scommessa migliore imo, qualcosa del tipo:

Codice:
....
char c; (il caratter in esame)

if (ischar(c) ) {
  if (isalpha(c) ) 
      c=(c-64)%33; (fa il contrario, trasforma minuscole in maiuscole)
   else 
      c=" ";
}
wlog è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 19:20   #12
wlog
Bannato
 
Iscritto dal: Oct 2008
Messaggi: 558
aggiungo: ho scoperto che esiste una funzione tolower() che fa l'operazione modulo in automatico...
wlog è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 19:27   #13
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Dovrebbe andare bene.

Puoi scaricare il programma(per Win32) e i sorgenti relativi da questo link.

La DLL deve trovarsi nella stessa cartella del file eseguibile. Il programma va lanciato passandogli, da riga di comando, il percorso della cartella di partenza.
Per esempio, se i tuoi file si trovano nella cartella "C:\Prova", devi dare questo comando:

Codice:
ScanDirClient C:\Prova
Il programma ricerca tutti i file contenuti nella cartella specificata e in tutte le sue sottocartelle e produce un file chiamato corpus.txt.



Edit: dimenticavo, il criterio che ho utilizzato per suddividere il file di output su più righe, è quello che hai indicato tu: sostituisco ogni punto, nei file di input, con un new line nel file di output.

Ultima modifica di Vincenzo1968 : 01-11-2008 alle 19:35.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2008, 23:44   #14
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Dovrebbe andare bene.

Puoi scaricare il programma(per Win32) e i sorgenti relativi da questo link.

La DLL deve trovarsi nella stessa cartella del file eseguibile. Il programma va lanciato passandogli, da riga di comando, il percorso della cartella di partenza.
Per esempio, se i tuoi file si trovano nella cartella "C:\Prova", devi dare questo comando:

Codice:
ScanDirClient C:\Prova
Il programma ricerca tutti i file contenuti nella cartella specificata e in tutte le sue sottocartelle e produce un file chiamato corpus.txt.



Edit: dimenticavo, il criterio che ho utilizzato per suddividere il file di output su più righe, è quello che hai indicato tu: sostituisco ogni punto, nei file di input, con un new line nel file di output.
Ciao grazie il programma funziona bene ed è velocissimo! Solo che il mio criterio di andare a capo appena uno incontra il carattere punto '.' è sbagliato, perchè ci sono moltissime frasi che hanno al loro interno espressioni del tipo:
st. Michigan etc
Fig. 9.28
Mr. k.t.s. (insomma le sigle)
e così via.

Di conseguenza la frase viene spezzata in due o in tre e ciò non va bene.
mmm per esempio si potrebbe andare a capo solo quando
dopo il punto '.' c'è una lettera maiuscola oppure un pò di spazio e dopo la lettera maiuscola.
Successivamente si toglie la punteggiatura e si sostituiscono le maiuscole con le minuscole.
(è chiaro che se c'è una frase con errore di stampa che dopo il punto mette la minuscola non funziona, oppure se c'è il nome di una via del dipo st. Robert si spezzerebbe lo stesso la frase ma forse è un errore accettabile)

Che ne dici ha qualche idea migliore?
Marco
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.

Ultima modifica di angel110 : 01-11-2008 alle 23:51. Motivo: per completezza
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2008, 00:13   #15
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Quote:
Originariamente inviato da angel110 Guarda i messaggi
Ciao grazie il programma funziona bene ed è velocissimo! Solo che il mio criterio di andare a capo appena uno incontra il carattere punto '.' è sbagliato, perchè ci sono moltissime frasi che hanno al loro interno espressioni del tipo:
st. Michigan etc
Fig. 9.28
Mr. k.t.s. (insomma le sigle)
e così via.

Di conseguenza la frase viene spezzata in due o in tre e ciò non va bene.
mmm per esempio si potrebbe andare a capo solo quando
dopo il punto '.' c'è una lettera maiuscola oppure un pò di spazio e dopo la lettera maiuscola.
Successivamente si toglie la punteggiatura e si sostituiscono le maiuscole con le minuscole.
(è chiaro che se c'è una frase con errore di stampa che dopo il punto mette la minuscola non funziona, oppure se c'è il nome di una via del dipo st. Robert si spezzerebbe lo stesso la frase ma forse è un errore accettabile)

Che ne dici ha qualche idea migliore?
Marco
Più di così non puoi fare!
Non puoi scrivere un programma che capisca se la frase è di senso compiuto oppure no. L'unica soluzione è quella che hai detto tu.
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2008, 15:39   #16
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da malocchio Guarda i messaggi
Più di così non puoi fare!
Non puoi scrivere un programma che capisca se la frase è di senso compiuto oppure no. L'unica soluzione è quella che hai detto tu.
Sono d'accordo. Un automa per gestire tutte le regole grammaticali di una lingua dovrebbe avere centinaia o migliaia di stati: follia pura pensare di implementarlo.
Modifico il programma con il criterio del punto seguito da spazio/i + lettera maiuscola.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2008, 16:30   #17
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Sono d'accordo. Un automa per gestire tutte le regole grammaticali di una lingua dovrebbe avere centinaia o migliaia di stati: follia pura pensare di implementarlo.
Modifico il programma con il criterio del punto seguito da spazio/i + lettera maiuscola.
Perfetto, ti ringrazio.
Ci sarebbe un'altra cosa: sarebbe meglio dare una mescolata all'ordine delle righe del file finale corpus.txt
Mi spiego meglio se adesso il corpus.txt è così formato:

riga1
riga2
riga3
...
riga20000

Dopo la mescolata casuale dovrebbe essere per esempio così:

Riga400
Riga6789
Riga4599
...
Riga15021

Il contenuto di ogni riga rimane inalterato, cambia solo l'ordine di apparizione.
Tutto questo mi serve perchè mio programma a valle, legge una riga alla volta e memorizza tutte le parole nuove.
Ad ogni parola nuova associa un vettore numerico v1 di circa 2000 dimensioni e un'altro vettore di uguali dimensioni v2 che memorizza l'occorrenza della stessa parola in tutte le frasi e la posizione relativa nella frase (in pratica riassume il signifcato semantico della parola), dopo questo procedimento posso calcolare la similarità semantica tra due qualsiasi parole calcolando il coseno dei due vettori associati.
Il punto è che se l'ordine di apparizione delle righe subisce una permutazione significa che il mio programma apprende da subito da tutte le fonti del corpus Tasa, e ciò è importante dal punto di vista statistico.
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.

Ultima modifica di angel110 : 02-11-2008 alle 16:35. Motivo: correzione frase
angel110 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2008, 16:49   #18
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ho aggiornato il link.

Fai qualche prova e dimmi se va bene il discorso dell'andatina a capo dopo il punto+spazio/i+lettera maiuscola.

Io ho provato con il file di input che hai postato(piazzato in tre diverse cartelle), e il risultato è questo:

Codice:
spatial order occurs when the artist senses the right balance and best placement of the vital forces affecting spatial illusions
using the traditional methods of spatial indication such as shape size position overlapping sharp and diminishing detail converging parallels reverse perspective color value and texture create a nonobjective picture based on the theme of intuitive space many contemporary artists consider transparency an important way of defining space
using linear perspective or parallel convergence of lines create the effect of looking through transparent planes set at different angles to one another within a volume of space
define several different distances in depth by having some planes that are opaque or semitransparent
mix color texture and value as the transparent planes meet
surface textures and patterns are often used by the contemporary artist to control spatial suggestions
such decorative relationships permit a freer interpretation of object shapes and encourage variations that can contribute to organic unity of the pictorial elements
the result is a shallow or decorative space concept
create a composition of forms derived from still life sculptural or architectural forms
omit indication of naturalistic light and shade substituting decorative textures and patterns such as lines spots and stripes
break up background areas into arbitrary shapes that seem related to objects and use decorative texture in some of these spaces as well
solid tones of varying values and or color may be used to keep the overall design from becoming too busy and over elaborate cezanne and the cubists often combined several viewpoints of a plastic image in one painting
the juxta position of multiple views in a single painting implies movement of the observer around the objects
select a single object to be used as a model for this problem
on three pieces of tracing paper draw the top or plan view the elevation view and a section view of the same object to the same scale
spatial order occurs when the artist senses the right balance and best placement of the vital forces affecting spatial illusions
using the traditional methods of spatial indication such as shape size position overlapping sharp and diminishing detail converging parallels reverse perspective color value and texture create a nonobjective picture based on the theme of intuitive space many contemporary artists consider transparency an important way of defining space
using linear perspective or parallel convergence of lines create the effect of looking through transparent planes set at different angles to one another within a volume of space
define several different distances in depth by having some planes that are opaque or semitransparent
mix color texture and value as the transparent planes meet
surface textures and patterns are often used by the contemporary artist to control spatial suggestions
such decorative relationships permit a freer interpretation of object shapes and encourage variations that can contribute to organic unity of the pictorial elements
the result is a shallow or decorative space concept
create a composition of forms derived from still life sculptural or architectural forms
omit indication of naturalistic light and shade substituting decorative textures and patterns such as lines spots and stripes
break up background areas into arbitrary shapes that seem related to objects and use decorative texture in some of these spaces as well
solid tones of varying values and or color may be used to keep the overall design from becoming too busy and over elaborate cezanne and the cubists often combined several viewpoints of a plastic image in one painting
the juxta position of multiple views in a single painting implies movement of the observer around the objects
select a single object to be used as a model for this problem
on three pieces of tracing paper draw the top or plan view the elevation view and a section view of the same object to the same scale
spatial order occurs when the artist senses the right balance and best placement of the vital forces affecting spatial illusions
using the traditional methods of spatial indication such as shape size position overlapping sharp and diminishing detail converging parallels reverse perspective color value and texture create a nonobjective picture based on the theme of intuitive space many contemporary artists consider transparency an important way of defining space
using linear perspective or parallel convergence of lines create the effect of looking through transparent planes set at different angles to one another within a volume of space
define several different distances in depth by having some planes that are opaque or semitransparent
mix color texture and value as the transparent planes meet
surface textures and patterns are often used by the contemporary artist to control spatial suggestions
such decorative relationships permit a freer interpretation of object shapes and encourage variations that can contribute to organic unity of the pictorial elements
the result is a shallow or decorative space concept
create a composition of forms derived from still life sculptural or architectural forms
omit indication of naturalistic light and shade substituting decorative textures and patterns such as lines spots and stripes
break up background areas into arbitrary shapes that seem related to objects and use decorative texture in some of these spaces as well
solid tones of varying values and or color may be used to keep the overall design from becoming too busy and over elaborate cezanne and the cubists often combined several viewpoints of a plastic image in one painting
the juxta position of multiple views in a single painting implies movement of the observer around the objects
select a single object to be used as a model for this problem
on three pieces of tracing paper draw the top or plan view the elevation view and a section view of the same object to the same scale

Ultima modifica di Vincenzo1968 : 02-11-2008 alle 16:51.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2008, 16:58   #19
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da angel110 Guarda i messaggi
...
Il contenuto di ogni riga rimane inalterato, cambia solo l'ordine di apparizione.
Tutto questo mi serve perchè mio programma a valle, legge una riga alla volta e memorizza tutte le parole nuove.
Ad ogni parola nuova associa un vettore numerico v1 di circa 2000 dimensioni e un'altro vettore di uguali dimensioni v2 che memorizza l'occorrenza della stessa parola in tutte le frasi e la posizione relativa nella frase (in pratica riassume il signifcato semantico della parola), dopo questo procedimento posso calcolare la similarità semantica tra due qualsiasi parole calcolando il coseno dei due vettori associati.
Il punto è che se l'ordine di apparizione delle righe subisce una permutazione significa che il mio programma apprende da subito da tutte le fonti del corpus Tasa, e ciò è importante dal punto di vista statistico.
Non ne capisco un tubo di seni(matematicamente parlando) e coseni.

Edit: Comunque il problema è interessante. Se ne potrebbe ricavare un contest.

Ultima modifica di Vincenzo1968 : 02-11-2008 alle 17:25.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2008, 17:38   #20
angel110
Senior Member
 
Iscritto dal: Mar 2003
Città: Palermo
Messaggi: 596
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Ho aggiornato il link.

Fai qualche prova e dimmi se va bene il discorso dell'andatina a capo dopo il punto+spazio/i+lettera maiuscola.

OMISSIS
Funziona meglio di prima, fa ancora qualche errore come in questa frase:
...then goes outside. "The last ...

Non è andato a capo ma ha unito le due frasi così:

...then goes outsidethe last...

però non si può tagliare il capello. Io posso lavorare anche così.
p.s.
Puoi rimescolare l'ordine di apparizione delle frasi nel file corpus.txt?
__________________
Athlon II X2 240e 45watt, MB gigabyte nForce 720d, 4 giga ram ddr2 800mhz, ati 5750 1giga ram ddr5, ssd intel x25-m 80giga 2° gen. + ssd OCZ 60 giga, dual boot Windows xp sp3 e Windows seven ultimate 64 bit.
Sistema raffreddamento attivo 3 ventole noctua ultralow voltage.

Ultima modifica di angel110 : 02-11-2008 alle 17:39. Motivo: aggiunta
angel110 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Questo portatile è un mostro: MSI...
Apple Watch Series 11 GPS + Cellular cro...
JBL Clip 5 in forte sconto su Amazon: lo...
Il nuovo top di gamma compatto di OnePlu...
Cresce il divario tra dispositivi elettr...
La missione con equipaggio Shenzhou-21 h...
Il Galaxy S26 Edge potrebbe essere ancor...
Google riaccenderà una centrale n...
Crollo per Pornhub nel Regno Unito:-77% ...
La Germania accende il suo cannone laser...
Il meglio di Amazon in 2 minuti: tira ar...
ECOVACS risponde a Eureka e dimezza il p...
Durissimo colpo per Nintendo: l'ufficio ...
Scope elettriche al minimo storico su Am...
Blue Jay e Project Eluna: robotica e AI ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v