Обнаружьте язык текста [дубликат]

Вы могли также использовать sqltools, , который предпочитают некоторые мои коллеги. Я никогда не привыкал к нему, но выгляжу мощным.

21
задан Nikhil 23 September 2009 в 07:00
поделиться

5 ответов

Определение языка - это довольно сложная задача.

Некоторые языки гораздо легче обнаружить, чем другие, просто из-за используемых диакритических знаков и диграфов / триграфов. Например, двойное заострение используется почти исключительно в венгерском языке. i 'ı' без точки используется исключительно [я думаю] в турецком языке, t-запятая (не t-cedilla) используется только в румынском языке, а eszett 'ß' встречается только в немецком.

. Некоторые диграфы, триграфы и тетраграфы также являются хорошим подарком. Например, вы, скорее всего, найдете «eeuw» и «ieuw» в основном на голландском языке, а «tsch» и «dsch» - в основном на немецком и т. Д.

Больше бесплатных подарков будет включать общие слова или общие префиксы / суффиксы, используемые в конкретный язык. Иногда даже используемая пунктуация может помочь определить язык (стиль цитаты и использование,

3
ответ дан 29 November 2019 в 20:48
поделиться

Здесь у вас есть простой детектор, основанный на статистике биграмм (в основном это означает изучение большого набора биграмм, которые встречаются чаще на каждом языке, а затем их подсчет в части текста по сравнению с предыдущими обнаруженные значения):

http://allantech.blogspot.com/2007/07/automatic-language-detection.html

Вероятно, этого достаточно для многих (большинства?) приложений и не требуется доступ в Интернет .

Конечно, он будет работать хуже, чем алгоритм Google или Bing (который сам по себе не очень хорош). Если вам нужна отличная производительность обнаружения, вам придется проделать как много тяжелой работы, так и над огромными объемами данных.

Другой вариант - использовать Google или API Bing, если у вашего приложения есть доступ в Интернет.

2
ответ дан 29 November 2019 в 20:48
поделиться

Вам понадобится алгоритм машинного обучения, основанный на скрытых цепочках Маркова, обрабатывающий кучу текстов на разных языках.

Затем, когда дело доходит до неопознанного текста, языка, на котором есть более близкий «счет» - победитель.

0
ответ дан 29 November 2019 в 20:48
поделиться

Существует простой инструмент для определения языка текста: http://www.detectlanguage.com/

0
ответ дан 29 November 2019 в 20:48
поделиться

Я обнаружил, что "textcat" очень полезен для этого. Я использовал реализацию PHP, PHP Text Cat , основанную на этой исходной реализации , и нашел ее надежной. Если вы посмотрите исходники, то обнаружите, что это не так уж и сложно реализовать на любом языке по вашему выбору. Тяжелая работа - комбинации букв, относящиеся к определенному языку - все здесь как данные.

0
ответ дан 29 November 2019 в 20:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: