Domanda

Esiste un modo (un programma, una libreria) per sapere approssimativamente in quale lingua è scritto un documento?

Ho un sacco di documenti di testo (~ 500K) in lingue miste da importare in un CMS (Drupal) abilitato per i18n ..

Non ho bisogno di abbinamenti perfetti, solo qualche ipotesi.

È stato utile?

Soluzione

C'è un modo abbastanza semplice per farlo, dato che hai dati corpus in tutte le diverse lingue che dovrai identificare. Si chiama modellazione n-gram. Penso che Lingua :: Identify questo già, però, quindi è la tua scommessa migliore piuttosto che implementare la tua.

Altri suggerimenti

Direi che la tua scommessa migliore è cercare parole chiave - articoli, quel genere di cose - che sono uniche per le lingue che stai cercando. & Quot; Un " verrà visualizzato in spagnolo e francese, ad esempio, ma "une" è identificabile in modo francese mentre "unos", ad esempio, è identificabile in spagnolo. Anche i segni diacritici sono utili: vedrai " & # 241; " in spagnolo e forse portoghese, "quot" & # 231; " in francese e pochi altri ... quel genere di cose.

modifica: la soluzione di Paul è probabilmente la migliore; sembra che usi metodi come quello che ho delineato, oltre a qualche extra.

Eseguendo una ricerca su Google per " determina la lingua del documento " Ho trovato molti siti diversi che ti aiuteranno. Il terzo link nella prima pagina alla fine mi ha portato a una nella funzione nella API del codice di Google che è esattamente ciò di cui hai bisogno.

L'API di traduzione di Google è interessante e ha un'interfaccia REST. Ma devo inviarlo MOLTO GRANDE documento (sì, potrei usare un estratto) e, anche se Google è Google, non penso che questo equo.

Anche i documenti non sono miei e Id chiedo al mio cliente se è giusto inviarli a terzi (anche se, presto o tardi, G li riceverà ;)).

Penso che seguirò il percorso del Perl ...

Sembra ci sia un modulo Perl per questo: Lingua :: Identify

Paul.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top