определение языка в строке

  • Автор темы Автор темы gofman
  • Дата начала Дата начала

gofman

Новичок
определение языка в строке

есть текст в utf-8, он всегда пишется на разных языках.

возможно ли определить на каком языке написан текст в строке?
 
взять словари всех языков мира и посмотреть в каком из словарей больше слов, входящих в строку? ;)
 
да уж...

сам вижу решение только - сравнивать вхождение символов.

по поводу количества слов - хорошее замечание.

-~{}~ 09.01.07 14:56:

Гравицапа собираю базу текстов для дальнейшего анализа. нужно отсортировать.
 
наборы символов дадут тебе информацию только об алфавитах из разряда http://www.unicode.org/Public/UNIDATA/Blocks.txt . Заметь, что там нету, например, русского языка, а есть только кириллический алфавит, в который входит полтора десятка языков.
И болгарский от русского ты отличить толком уже не сможешь.
 
Wicked
В теме на которую сослался SiMM я привел ссылку на таблици принадлежнасти букв к языкам, а не к алфивитам. А основываясь на этой информации можно примерно определить список языков, на которых мог быть написан этот текст(слово).
 
phprus
Знание алфавита тоже позволяет "примерно определить список языков, на которых мог быть написан этот текст(слово)", может, разве что, менее точно, чем в твоем случае. Например, ни один из этих методов не сможет распознать язык текста на болгарском языке.
 
Wicked
Тогда можно анализировать встречаемость последовательностей из 2 - 3 букв (помню, что этот метод вроде как то называется, но не помню как). Это еще сильнее увеличит точность определения языка.

В той мне в моей задаче это было не нужно. Мне было достаточно точности которую дает анализ по таблице принадлежности букв к языкам.
 
Я лично не понимаю, какое отношение эта задача имеет к программированию?
 
Если тема еще не "протухла", то вот еще ссылки по теме:
http://en.wikipedia.org/wiki/Language_identification

Реализация на Perl

languid.cantbedone.org

72 (including such languages as pig latin, klingon, and both ukrainian and ukranian). The author writes: I've been a big fan of TextCat, and wanted to see what happened if I combined the same algorithm for n-gram based identification with some intelligence about Unicode. The result is a Unicode-friendly language identifier that makes some initial guesses based on script block. It relies on proper UTF-8 input to be happy.

Реализация на PHP

http://pear.php.net/package/Text_LanguageDetect

Класс путает русский с хорватским. :(

Реализация на Python

http://jones.ling.indiana.edu/~dcavar/lid/
 
Сверху