(Human) Sprache eines Dokuments
-
05-07-2019 - |
Frage
Gibt es eine Möglichkeit (ein Programm, eine Bibliothek) auf etwa wissen, welche Sprache ein Dokument geschrieben ist?
Ich habe eine Reihe von Textdokumenten (~ 500 KB) in gemischten Sprachen in einem i18n importieren aktiviert CMS (Drupal) ..
Ich brauche nicht perfekt Spielen nur einige Vermutung.
Lösung
Es ist eine ziemlich einfache Möglichkeit, dies zu tun gegeben, dass Sie Korpusdaten in den verschiedenen Sprachen haben Sie identifizieren müssen. Es ist n-Gramm-Modellierung genannt. Ich denke, Lingua :: Identifizieren tut dies bereits, obwohl, so dass die beste Wahl, anstatt Ihre eigene Umsetzung.
Andere Tipps
Ich würde sagen, die beste Wahl für Schlüsselwörter suchen ist - Artikel, die Art der Sache - die zu den Sprachen einzigartig sind für Sie suchen. „Un“ wird angezeigt in Spanisch und Französisch, zum Beispiel, aber „une“ ist identifiably Französisch während „unos“ zum Beispiel identifiably Spanisch ist. Diakritische Zeichen sind auch nützlich -. Sie werden „ñ“ in Spanisch und Portugiesisch möglicherweise, „C“ in Französisch und ein paar andere sehen ... so etwas
Bearbeiten - Paul-Lösung ist wahrscheinlich die beste; Ich skizzierte sieht aus wie es Methoden wie das, was verwendet wird, plus ein paar zusätzliche.
Durch eine Google-Suche läuft für " Funktion in der Google Code-API, das ist genau das, was Sie brauchen.
Google Translation API ist cool, und verfügt über eine REST-Schnittstelle. Aber ich brauche es viele große Dokument senden (ja, könnte ich einen Auszug verwenden), und selbst wenn Google ist Google, ich glaube nicht, dass diese fair.
Dokument ist auch nicht von mir, und Id meiner Klienten fragen, ob es in Ordnung ist, sie an einen Dritten zu senden (auch wenn, bald oder später, G wird erhält sie;)).
Ich glaube, ich gehe den Perl-Pfad durch ...
Es scheint ein Perl-Modul für diese zu sein: Lingua :: Identifizieren
Paul.