日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
50行Python代碼寫一個語言檢測器

你有沒有曾經(jīng)好奇過Chrome瀏覽器是如何知道一個網(wǎng)頁的語言,并對外國文字的網(wǎng)頁提供翻譯服務(wù)的?或者,F(xiàn)acebook是如何翻譯你朋友用寫在你主頁上的外國文字?檢測一種語言實際上非常簡單,改進(jìn)了用戶體驗,而且不需要用戶做任何的事情。

創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元清澗做網(wǎng)站,已為上家服務(wù),為清澗各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

我無意中發(fā)現(xiàn)的 ActiveState recipe for a language detector in Python這是非常不錯的一段程序,但是我決定做點小小的改進(jìn)。提供一些背景知識給那些不熟悉自然語言處理或者是程序語言學(xué)的人。

如果你是有經(jīng)驗的程序員,你也許可以直接跳到這段文字最下端的程序部分。出奇的簡單。

你需要熟悉Python語法。如果你從來沒有用過python, 我建議你讀一下 Zed Shaw 的《 Learn Python the Hard Way》。

確定你下載并安裝了python,而且可以正常運行程序。這段文字中的python不算很長,所以你可以用任何文本編輯器從而省去安裝任何軟件的麻煩。(譯者注:在線的python 編譯器也可以運行這段程序,其中一種編譯器在jobbole 的另一篇文章中提到過,http://blog.jobbole.com/53346/)。

***部分,什么檢測到了一種語言?

在你寫區(qū)分語言的程序之前,你需要回答一個問題:什么區(qū)別了兩種語言?

有趣的是,這個問題的答案會根據(jù)不同的比較語言而有所不同。比如:

女性が牛乳を飲んだ。 (譯者注: 日語:女性喝牛奶。)

你是怎么知道這句話不是英文的?你也許不熟悉日文,但是你肯定知道這些字符不是英文,你甚至不需要知道具體哪個字符不存在于英文字母中。

La femme boit du lait.   (譯者注: 法語:女性喝牛奶。)

你怎么知道這句話不是英文的?有一點麻煩。每個字母都在英文中。甚至每一個字母和句型結(jié)構(gòu)都和英文的同一個意思的那句話很相似—— “The woman drank milk.” (譯者注: 英語:女性喝牛奶。) 。 你的大腦用了另一個特性去判斷這個:盡管字母很相似,這兩句話發(fā)音沒有任何相似之處。

還有很多更復(fù)雜的方式去檢測兩種不同的語言(例如,語法、句法等等)上面提到的兩個特性似乎足夠用來區(qū)分很多的書寫文字。

提問:你可以想到一個相反的例子嘛? 兩種不能用字符或者發(fā)音而區(qū)分的語言?(譯者注:這是我想到的,和編者沒有任何關(guān)系。Hindi 和Nepali 的區(qū)分度極低,印度的一種語言和尼泊爾的官方語言的區(qū)別度非常低,字符區(qū)別很低而發(fā)音更高達(dá)50%的相似度。當(dāng)然,他們兩個是同一語系的語種。)

第二部分,如何用計算機檢測到這些特性?

***個特性已經(jīng)存在于任何一臺現(xiàn)代化的機器里 ——character encodings 字符解碼允許任何一臺計算機去通過二進(jìn)制碼而呈現(xiàn)每一個字符。我們要用unicode 在Python 的程序中。

第二個特征更有意思。如何能讓一臺電腦檢測到字符串的發(fā)音呢?答案比想象的簡單點:字符串順序是按照聲音解碼的!他們有直接的穩(wěn)定的對應(yīng)關(guān)系- 語言改變的非常緩慢。

因此,你可以用下面的兩個特性去檢測一行文本語言:

  • 單個字符的重復(fù)性
  • 字符串的重復(fù)性

實際上,這兩個特性濃縮到了一個特性中:字符串的順序。單個字符的重復(fù)性只是字符串的重復(fù)性。

快速知識補充:在計算機語言學(xué)中,字符串的長度 n 被定義為 n-gram。 “a” 是一個gram, 1-gram. “bc”是兩個gram,2-gram or bigram。 “def” 是三個gram, 3-gram 或者trigram,以此類推。

第三部分,用python 實現(xiàn)吧!

首先,我們需要計算某個字符串在特定文本中出現(xiàn)的次數(shù)。為了封裝結(jié)果,我們將建立一個NGram 類。


分享題目:50行Python代碼寫一個語言檢測器
地址分享:http://m.5511xx.com/article/dpcgdjp.html