Как узнать, является ли язык веб-страницы английским или нет? - PullRequest
4 голосов
/ 20 марта 2012

Я просто хочу знать, есть ли веб-страница на английском или нет. Есть ли хороший способ сделать это?

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

Есть предложения?

У меня есть образец не на английском сайте :

Ответы [ 4 ]

2 голосов
/ 20 марта 2012

Кажется, что есть почти все / много возможностей для определения языка в вашем связанном вопросе.Почему вы не можете использовать один из предложенных ответов?

Еще одно решение (но не надежное) состоит в том, чтобы искать мета-теги с информацией о языке, например:

<meta name="DC.language" content="en" scheme="DCTERMS.RFC3066">
<meta name="keywords" lang="en" content="some content">
<meta http-equiv="content-language" content="en">
1 голос
/ 11 марта 2013

Некоторые проекты, которые могут представлять интерес, включают:

1 голос
/ 20 марта 2012

Я использую http://www.alchemyapi.com/ для обнаружения языков.Вы берете фрагмент текста и передаете его в их API.Он обнаруживает большинство языков и довольно точно.Они предлагают бесплатный API, который допускает 1000 запросов в день, что приемлемо для умеренного использования.В противном случае цена резко возрастет.

Вы также можете попробовать API Google Translate:

http://code.google.com/apis/language/translate/v2/getting_started.html#language_detect

Тогда есть этот:

http://langid.net/identify-language-from-api.html

Они предлагают довольно много запросов бесплатно, но я не знаю, насколько они точны.Определенно стоит посмотреть.

1 голос
/ 20 марта 2012

Вероятно, нет идеального единственного решения, вам нужно иметь набор проверок и выполнять их по одной за раз. Возможно, вы захотите начать с тех, которые могут определять язык, если html-страница правильно сформирована согласно ответу tonymarschall.

В качестве резервной проверки вы можете использовать список английских стоп-слов , они используются в поисковых системах для фильтрации наиболее распространенных слов в языке. В вашем случае вам придется рассчитывать их вхождения в текстовых частях HTML-страницы. Если они превышают определенное значение, вы можете сделать довольно хорошее предположение, что вы смотрите на текст на английском языке.

Попробуйте поискать список здесь . Также эта статья показывает N-граммовый подход, который вы также можете использовать.

...