Pregunta

¿Hay alguna forma (un programa, una biblioteca) de saber aproximadamente en qué idioma está escrito un documento?

Tengo un montón de documentos de texto (~ 500K) en idiomas mixtos para importar en un CMS habilitado para i18n (Drupal) ..

No necesito coincidencias perfectas, solo algunas conjeturas.

¿Fue útil?

Solución

Hay una forma bastante sencilla de hacerlo, ya que tiene datos de corpus en todos los diferentes idiomas que necesitará identificar. Se llama modelado n-gramo. Creo que Lingua :: Identify hace sin embargo, esto ya es su mejor apuesta en lugar de implementar la suya propia.

Otros consejos

Diría que lo mejor que puedes hacer es buscar palabras clave (artículos, ese tipo de cosas) que sean exclusivas de los idiomas que estás buscando. " Un " se mostrará tanto en español como en francés, por ejemplo, pero " une " es identificable en francés mientras que "unos", por ejemplo, es identificable en español. Los diacríticos también son útiles: verás " ñ " en español y posiblemente portugués, " ç " en francés y algunos otros ... ese tipo de cosas.

editar - la solución de Paul es probablemente la mejor; Parece que utiliza métodos como los que describí, más algunos adicionales.

Al realizar una búsqueda en Google para " determinar el idioma del documento " Encontré muchos sitios diferentes que te ayudarán. El tercer enlace en la primera página finalmente me llevó a una función en el Google Code API es exactamente lo que necesita.

La API de traducción de Google es genial y tiene una interfaz REST. Pero necesito enviar MUCHO documento GRANDE (sí, podría usar un extracto) y, aunque Google sea Google, no creo que esto justo.

Los documentos tampoco son míos, y le pregunto a mi cliente si está bien enviarlos a un tercero (incluso si, tarde o temprano, G los obtendrá ;)).

Creo que pasaré por el camino de Perl ...

Parece que hay un módulo Perl para esto: Lingua :: Identify

Paul.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top