Pergunta

Existe uma maneira (um programa, uma biblioteca) para aproximadamente saber qual idioma um documento está escrito em?

Eu tenho um monte de documentos de texto (~ 500K) em línguas mistas para importação em um i18n habilitado CMS (Drupal) ..

Eu não preciso de fósforos perfeitos, apenas algumas palpite.

Foi útil?

Solução

Há uma maneira muito fácil de fazer isso, uma vez que você tiver dados Corpus em todas as línguas diferentes que você precisa de identificar. É chamado de modelagem n-gram. Acho Lingua :: Identificar faz isso já, porém, assim que é a sua melhor aposta em vez de implementar o seu próprio.

Outras dicas

Eu diria que sua melhor aposta é procurar palavras-chave - artigos, esse tipo de coisa - que são exclusivas para os idiomas que você está procurando. "Un" vai aparecer em espanhol e em francês, por exemplo, mas "une" é identificável francesa, enquanto "unos", por exemplo, é identifiably espanhol. Diacríticos são úteis também - você verá "N" em espanhol e possivelmente Português, "ç" em francês e alguns outros ... esse tipo de coisa

.

Editar - solução de Paulo é provavelmente a melhor; Parece que ele usa métodos como o que descrevi, além de alguns extras.

Ao executar um Google procurar " determinar o idioma do documento " Eu encontrei muitos sites diferentes que irão ajudá-lo. O terceiro elo na primeira página, eventualmente me levou a uma função na API do Google Code, que é exatamente o que você precisa.

API

Google Tradutor é legal, e tem uma interface REST. Mas eu preciso enviar-lhe um monte de documento BIG (sim, eu poderia usar um trecho) e, mesmo que o Google é o Google, eu não acho que isso justo.

Os documentos também não são minhas, e Id pedir ao meu cliente se ele está ok para enviá-los a terceiros (mesmo que, mais cedo ou mais tarde, G irá obtê-los;))

Eu acho que vou ir trough o caminho Perl ...

Parece haver um módulo Perl para este: Lingua :: Identificar

Paul.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top