Re: php-определение языка текста
Все основывается на том, что в каждом языке частота употребления букв различна и индивидуальна. То есть у нас чаще всего встречается в тесте буква "о", с частотой ~0.094, дальше идет буква "а", и т.д. в самом конце плетутся буквы вроде "ф", "ш", "ъ". Думаю, в инете можно найти таблицы встречаемости каждой буквы в тех языках, которые тебя интересуют.
Алгоритм, наверное такой - смотрим в тексте (достаточно длинном какой из символов встречается наиболее часто (наверное это будет пробел). Для уверенности наверное, понадобится подсчитать два-три наиболее частых. И сверить с таблицей по языкам.
спасибо. но нужно определять 76 языков для строк от 100 до 10000 символов
Остальные легко отличить по ключевым элементам, которые очень часто встречаются в тексте. Например, только в английском очень много слов типа of или the. В немецком тоже специфические артикли. Испанский и французкий отличаются по артиклям los и les, а также сокращениям del и du. Кроме того, в них встречаются символы не из английского алфавита. Причастия в испанском оканчиваются на -ando, -iendo, -ado, -ido. В общем, различий выше крыши.
Мой способ формализовать легче, а 76 таблиц частот создать - дело недолгое.
у русского кодировка не уникальна
Но 76 языков это через чур. Правда, любые 2 из них отличаются в очевидных моментах, скорее всего, так что это всего лишь дело времени определить в чем именно состоит отличие.
а кроме общих слов?
Оставить комментарий
pvg72
никто не сталкивался с определением языка текста (русский/английский/немецкий/французский/испанский/итальянский и т.д.) при помощи php? Был бы очень признателен за конкретную помощь или мысли по поводу алгоритма.