(человек) Язык документа - PullRequest
4 голосов
/ 02 ноября 2008

Есть ли способ (программа, библиотека) приблизительно узнать, на каком языке написан документ?

У меня есть куча текстовых документов (~ 500 КБ) на смешанных языках для импорта в CMS с поддержкой i18n (Drupal) ..

Мне не нужны идеальные спички, только некоторые предположения.

Ответы [ 5 ]

6 голосов
/ 02 ноября 2008

Существует довольно простой способ сделать это, учитывая, что у вас есть корпусные данные на всех разных языках, которые вам необходимо идентифицировать. Это называется n-граммовое моделирование. Я думаю, что Lingua :: Identify уже делает это, так что это ваш лучший выбор, а не реализация вашего собственного.

0 голосов
/ 02 ноября 2008

Google Translation API - это круто и имеет интерфейс REST. Но мне нужно отправить БОЛЬШОЙ БОЛЬШОЙ документ (да, я мог бы использовать выдержку), и, даже если Google - Google, я не думаю, что это справедливый.

Документ также не мой, и я спросил бы моего клиента, можно ли отправить их третьему лицу (даже если рано или поздно G получит их ;)).

Думаю, я пойду по Perl-пути ...

0 голосов
/ 02 ноября 2008

Я бы сказал, что вам лучше всего искать ключевые слова - статьи и тому подобное - которые уникальны для языков, которые вы ищете. Например, «Un» будет отображаться как на испанском, так и на французском, но «une» - это определенно французский, а «unos» - на испанском. Диакритические знаки тоже полезны - вы увидите «-» на испанском и, возможно, португальском, «ç» на французском и некоторых других ... такие вещи.

edit - решение Павла, вероятно, лучшее; похоже, он использует методы, как я обрисовал, плюс несколько дополнительных.

0 голосов
/ 02 ноября 2008

Запустив в Google поиск по запросу " определить язык документа ", я нашел много разных сайтов, которые вам помогут. Третья ссылка на первой странице в итоге привела меня к функции в API кода Google, которая именно то, что вам нужно.

0 голосов
/ 02 ноября 2008

Кажется, для этого есть модуль Perl: Lingua :: Identify

Paul.

...