Автоматически определите естественный язык страницы веб-сайта, учитывая ее URL

сопроводительный текст http://wondermark.com/comics/128.gif

(предполагают, необходимо работать над нулевыми ошибками sev для получения этого)

9
задан Travis 23 July 2009 в 20:53
поделиться

6 ответов

Обычно это достигается с помощью символьных моделей n-грамм. Вы можете найти здесь современный идентификатор языка для Java. Если вам нужна помощь в преобразовании его в Python, просто спросите. Надеюсь, это поможет.

8
ответ дан 4 December 2019 в 10:05
поделиться

Лучше всего использовать API обнаружения естественного языка Google . Он возвращает iso-код для языка страницы с индексом вероятности.

См. http://code.google.com/apis/ajaxlanguage/documentation/

6
ответ дан 4 December 2019 в 10:05
поделиться

nltk может помочь (если вам нужно приступить к работе с текстом страницы, например, если заголовки и сам URL не определяют язык достаточно хорошо для ваших целей) ; Я не думаю, что NLTK напрямую предлагает функцию «скажите мне, на каком языке находится этот текст» (хотя NLTK большой и постоянно растет, поэтому он действительно может иметь его), но вы можете попробовать разобрать данный текст в соответствии с различными возможными естественные языки и проверка того, какие из них дают наиболее разумный синтаксический анализ, набор слов и т. д. в соответствии с правилами для каждого языка.

1
ответ дан 4 December 2019 в 10:05
поделиться

В самом URL-адресе нет ничего, что указывало бы на язык.

Один из вариантов - использовать набор инструментов естественного языка , чтобы попытаться определить язык на основе контент, но даже если вы сможете заставить его работать, как часть НЛП, это будет довольно медленно. Кроме того, это может быть ненадежно. Помните, что большинство пользовательских агентов передают что-то вроде

Accept-Language: en-US

с каждым запросом, и многие крупные веб-сайты будут обслуживать различный контент на основе этого заголовка. Сайты меньшего размера будут более надежными, потому что они не будут обращать внимания на языковые заголовки.

Вы также можете использовать местоположение сервера (т.е. страну, в которой находится сервер) в качестве прокси для языка, используя GeoIP . Это явно не идеально, но это намного лучше, чем использование TLD.

3
ответ дан 4 December 2019 в 10:05
поделиться

Не существует общего метода, который работал бы только с URL-адресами. Вы можете проверить домен верхнего уровня , чтобы получить некоторое представление, и найти части URL-адреса, которые могут указывать на язык (например, «en» или «es» между двумя косыми чертами), и предположить что-нибудь unknown находится на английском языке, но это не идеальное решение.

Насколько я знаю, единственный общий способ определить естественный язык, используемый страницей, - это взять текст страницы и проверить наличие определенных общих слов в каждом язык. Например, если «a», «an» и «the» встречаются на странице несколько раз, вероятно, что они содержат текст на английском языке; «эль» и «ла» могут указывать на испанский; и так далее.

0
ответ дан 4 December 2019 в 10:05
поделиться

Вы можете попробовать обнаружение на основе ngram.

TextCat DEMO (LGPL), кажется, работает довольно хорошо (распознает почти 70 языков). Существует порт Python, предоставленный Томасом Мангином здесь с использованием того же корпуса.

Edit: TextCat страница конкурентов также содержит несколько интересных ссылок.

Edit2: Интересно, будет ли сложно создать оболочку python для http://www.mnogosearch.org/guesser/ ...

3
ответ дан 4 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

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