Newsgroup: it.scienza.informatica
Titolo: Traduttore Inglese-Italiano

Salve,
trovo strano che ancora non esistano in giro dei programmi che
traducono il linguaggio parlato (esempio dall'inglese all'italiano).
Mi chiedevo quale fosse (o fossero se più di una) la fase così dura da
non permettere di progettare un tale programma.
Le fasi che ho individuato sono:
1) Distinzione delle varie parole
2) Traduzione
Per la seconda fase penso che il problema sia più che altro di
accuratezza perchè utilizzando un buon database di vocaboli ed
espressioni (per quanto grande) con vari controlli penso che si potrebbe
riuscire a rendere qualcosa che si potrebbe avvicinare alla traduzione
esatta.Penso che il problema vero e proprio sia più che altro il punto
uno ma ora che ci penso esistono esistono programmi simili che
realizzano tale funzione...
Colgo comunque l'occasione per chiedere come mai un uomo riesce a capire
tutti gli altri uomini che parlino la sua lingua e per un computer non
sia stato ancora sviluppato un sw che lo faccia, eppure a occhio non mi
sembra difficile,sarà che è troppo dispendioso a livello di calcolo?
Grazie per eventuali chiarimenti (mi raccomando, tecnici...)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 sembra difficile,sarà che è troppo dispendioso a livello di calcolo?
Forse non ti sembra difficile perche' non ti sei mai soffermato
a pensare a come risolveresti tu il problema, nei dettagli...
ciao,
g.

 g.
Ciao e grazie


 non riesca a farlo un computer?
Credo tu abbia una idea un po' naif del cervello, se lo chiami "piccolo
e lento". Il cervello umano e' composto da circa (la stima non e' 
semplice) 100 miliardi di neuroni. E gia' mi sembra che non siano pochi.
Quello che poi gli fornisce la potenza (considerando anche il fatto
che il flusso di dati non e' velocissimo) e' il grande parallelismo
con cui puo' elaborare. Tieni presente che ogni neurone puo' avere da
1000 a 10000 sinapsi col le quali si collega agli altri.
In piu', come e' stato messo in evidenza abbastanza recentemente, la
circuiteria nervosa non e' un qualcosa di fisso, ma puo' evolvere.
Il fatto che tu capisca un tizio per la strada "senza esserti
abituato prima" alla sua voce, e' falso. Da quando nasci ti
abitui a riconoscere voci. Inoltre riesci a comprendere frasi
dette in un ambiente molto rumoroso grazie al fatto che l'enorme
banca dati che hai nel cervello riesce in tempo reale a riempire
i gap tra le parole e ricostruirle nel modo piu' probabile a
seconda del contesto, spesso senza che tu te ne accorga consciamente.
E' vero che in linea di principio potremmo inserire tutti i dati
che vogliamo in una banca dati (cosa comunque lungi dall'essere 
facile...), per permettere ad un traduttore
di fare traduzioni piu' attendibili. Solo che questa banca dati
sarebbe enorme (gli umani hanno evidentemente integrato un algoritmo
che riesce a determinare la rilevanza delle informazioni. Non a caso
ci dimentichiamo quasi tutto...). Se poi l'algoritmo che ci deve 
lavorare sopra ha un costo quadratico o peggio (rispetto alla quantita'
di informazioni) allora potrebbe non esistere un hardware (cosi'
come oggi lo conosciamo) abbastanza veloce.
Mi sembra che il fallimento di molta AI velleitaria degli anni
passati sia stato causato da problemi di scala. Cioe' venivano
costruiti problemi-giocattolo che il calcolatore poteva maneggiare
bene. Poi si assumeva che l'incremento di prestazioni dei computer
avrebbe potuto permettere il passaggio da problemi-giocattolo a
problemi reali. Solo che gli algoritmi usati in AI spesso avevano
un costo ben piu' che quadratico (anzi a volte esponenziale...)
rispetto alla dimensione del problema.
Quindi se per passare da un problema-giocattolo ad un problema reale
la dimensione del problema incrementava di un fattore 1000 il
costo computazionale aumentava di un fattore 10^6 o 10^9 o peggio.
Certamente il tema del riconoscimento vocale etc.etc. e'
importante in pratica (e moltissimo e' gia' stato fatto) e in teoria
quindi penso sarebbe interessante come tesi, ma sinceramente
non so come sono strutturate attualmente le tesi di ing. inf.
ciao,
g.

 iniziale.
[...]
Dvei anhce tneree cntoo ceh la mnete umnaa reisce a cparie... frasi scritte 
in questo modo, difficilmente riconoscibili da un programma (che dovrebbe 
calcolare tutti i possibili anagrammi delle parole utilizzate). Eppure noi 
leggiamo e comprendiamo, nonostante il "rumore" introdotto. Il cervello non 
è affatto lento. Il singolo neurone, nei confronti di un transistor (anche 
se in un chip), può esserlo. Ma un neurone è molto più complesso di un 
transistor ed enormemente più "interconnesso" con gli altri. Troppe frasi si 
possono capire solo capendo il contesto, il luogo e persino chi le 
pronuncia. Non parliamo poi dei toni della voce e delle espressioni del 
viso, che danno spesso significati completamente diversi a frasi 
apparentemente uguali. In quanti modi puoi dare dello scemo a qualcuno, 
senza che lui si offenda minimamente? Basta un sorriso o la giusta 
intonazione, per capire la differenza tra "sei scemo!" e "sei scemo ;)". Ah 
già... dimenticavo le pause, gli errori e imperfezioni di pronuncia, gli 
accenti, gli errori di "gram_atica" ;) e sintassi.
Ma il problema più grande è comunque l'impossibilità, per un software, di 
capire il "senso" di ciò di cui una persona parla. Non è un problema banale, 
neppure se riduci il contesto di comprensione ad un ambito ristretto (ad 
esempio: imponendo di parlare solo di informatica). In ogni discorso, anche 
il più tecnico, è facile finire OT, usare modi di dire e frasi fatte, 
storpiarne alcuni. In quanti modi puoi dire di aver trovato un baco? bug? 
marronata? cavolata? ca//ata? str...? Più centinaia di altri modi 
assolutamente personali. Aggiungiamoci pure le allusioni... tanto per non 
arrivare fino alle "licenze poetiche".
Insomma, la vedo dura ;)))))
Stefano 

 poi guarda il risultato e fatti due risate...
Secondo me qui c'e' solo un problema di analisi del problema...ad occhio e
croce basterebbe "poco" per far tradurre correttamente al software il pezzo
di cui sopra...