2012-01-25 12 views
5

Attualmente sto lavorando a un progetto per il quale penso che riuscire a trovare rappresentazioni fonetiche di parole in varie lingue sarebbe davvero utile. So che Aspell lo fa abbastanza bene, ma non penso che ci sia un modo molto semplice per ottenere le loro rappresentazioni fonetiche, quindi chiedo: c'è qualche altro buon pacchetto per ottenere la rappresentazione fonetica di una parola data la parola e il linguaggio/dialetto/accento/qualunque cosa provenga?Che cos'è un buon pacchetto per la rappresentazione fonetica per varie lingue umane?

Questo non ha bisogno di essere in qualsiasi lingua particolare, ma se fosse Perl, che sarebbe meglio.

Ho già provato Soundex, Metaphone, DoubleMetaphone e tutto il resto in Text::Phonetic, e nessuna di quelle cose era molto buona, decisamente neanche lontanamente all'altezza di quella di Aspell.

+0

Sta producendo la pronuncia fonetica l'obiettivo finale o un mezzo per un altro fine? – Schwern

+0

I mezzi per un altro fine. In definitiva, l'obiettivo è quello di utilizzare questo in un'implementazione di un algoritmo fuzzy-autocomplete. – Eli

+0

Oh caro, è difficile. Non ultimo perché le parole parziali possono sembrare molto diverse. "t", "th", "thro", "throu", "throug", "through". Sospetto che ci vorrebbe molto allenamento per un'IA per le probabilità piuttosto che usare la fonetica. Potresti voler cercare un servizio che lo fornisce. – Schwern

risposta

1

La prima cosa che viene in mente è Soundex. Naturalmente, esiste anche un modulo Perl Soundex. Sebbene sia progettato per generare una "chiave" soundex dall'input, potrebbe essere utile per mappare diverse varianti a una chiave comune.

+0

dispiace, avrei detto, ho già provato di tutto a Text :: fonetico, tra cui Soundex Nessuno di questi è molto buono – Eli

+4

Come autore di Text :: Metaphone, posso dire che non è una buona rappresentazione di come vengono pronunciate le cose, Soundex è anche peggio, sono più per andare dall'altra parte, dall'udire una pronuncia a loo re su quale parola potrebbe essere. – Schwern

1

C'è un pacchetto Testo :: Aspell in CPAN. Potrebbe essere utile.

+0

L'ho notato prima, ma non riesco a capire un modo per interfacciarmi direttamente con le rappresentazioni fonetiche di Aspell attraverso: - \ – Eli

0

mi si sta cercando di realizzare un sistema di suggerimento/correzione in stile Google, non è basato solo su fonetica o AI, ma su una massiccia quantità di input da parte dell'utente. Quando un utente effettua una ricerca e non fa clic su alcun collegamento ma corregge l'input e cerca di nuovo, fornisce a google molti dati sulla scrittura "corretta" di un test fonetico o di un dizionario corrispondente. Il problema principale è nella stessa lingua umana, non è che le persone parlano o scrivono in modo deterministico, figuriamoci in più lingue. Naturalmente, potrei sbagliarmi, ma se avete bisogno di una libreria che ti permette di fare questo:

getLanguage(string); 

Voglio vedere che il lavoro, davvero.

+0

Yup. Anche avere molti dati utente è importante. Ho già questo, ed è una parte importante del sistema. Anche la rappresentazione fonetica è una parte importante, e questa è la parte che non ho adesso. – Eli

+0

Bene, sei pronto per una buona partenza, andare dall'altra parte è solo doloroso. – AlfredoVR