2012-03-20 103 views
3

我只是想知道一個網頁是否是英文的。有沒有什麼好的方法來做到這一點?如何知道網頁的語言是否是英文?

我發現的最接近的是Detect language from string in PHP但一些使用我的..

有什麼建議?

我有一個樣品的非英語site

+0

我會搜索單詞「the」。如果是英語,應該有很多「the」。 – marvin 2012-03-20 18:25:06

+0

儘管上面的俄文樣本網站確實包含了一些「the's」。 – AgA 2012-03-21 04:10:27

+0

相關/重複問題:http://linguistics.stackexchange.com/questions/1871/efficient-linguistic-algorithms-for-detecting-language-of-a-website – 2013-03-11 06:35:39

回答

2

似乎有幾乎所有/很多possiblities的檢測你的鏈接問題的語言。爲什麼你不能使用其中一個建議的答案?

還有一個解決方案(但不可靠的)北京時間尋找meta標籤中包含的語言信息:

<meta name="DC.language" content="en" scheme="DCTERMS.RFC3066"> 
<meta name="keywords" lang="en" content="some content"> 
<meta http-equiv="content-language" content="en"> 
+0

我有這個樣本網站沒有lang字在頁面中:http://24-support.com/ – AgA 2012-03-20 17:52:30

1

大概沒有完美的解決方案,你需要的是有一組檢查和一次執行一個。如果html頁面按照tonymarschall的回答很好地形成,您可能想要從可以檢測該語言的人開始。

作爲回退檢查,您可以使用英語列表stopwords,它們用於搜索引擎中,以篩選出語言中最常見的詞。在你的情況下,你將不得不在html頁面的文本部分中計算它們的出現次數。如果他們高於某個特定值,則可以很好地猜測您正在查看英文文本。

試試看here的列表。另外this文章顯示了您也可以使用的N-gram方法。

1

我用http://www.alchemyapi.com/來檢測語言。您將文本的片段傳遞給他們的API。它檢測大多數語言並且相當準確。他們提供一個免費的API,允許每天有1,000個請求,這對於適度使用是可以接受的。否則,價格會突然上漲。

您也可以嘗試在谷歌翻譯API:

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

然後有這樣一條:

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

他們免費提供相當多的要求,但我不知道他們有多準確。絕對值得一看。

+0

我有28000頁來檢查。 – AgA 2012-03-20 18:39:21

+0

@AgA我剛剛更新了我的回覆,允許每小時免費提供多達1,000個請求。 – Hawkee 2012-03-20 18:42:01

相關問題