成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

50行Python代碼寫一個語言檢測器

開發 后端
你有沒有曾經好奇過Chrome瀏覽器是如何知道一個網頁的語言,并對外國文字的網頁提供翻譯服務的?或者,Facebook是如何翻譯你朋友用寫在你主頁上的外國文字?檢測一種語言實際上非常簡單,改進了用戶體驗,而且不需要用戶做任何的事情。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 單個字符的重復性
  • 字符串的重復性

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

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

第三部分,用python 實現吧!

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

原文鏈接:http://blog.ebookglue.com/write-language-detector-50-lines-python/

譯文鏈接:http://blog.jobbole.com/54707/

責任編輯:陳四芳 來源: 伯樂在線
相關推薦

2013-03-04 10:22:30

Python

2018-01-23 09:17:22

Python人臉識別

2022-03-23 10:21:56

Python代碼工具

2014-05-15 09:45:58

Python解析器

2023-12-25 15:28:57

Python工具pywebio

2010-12-28 11:17:50

chkrootkitrootkit檢測器

2025-02-24 08:20:00

AI代碼生成

2022-06-29 09:02:31

go腳本解釋器

2019-06-05 15:00:28

Java代碼區塊鏈

2023-11-29 08:10:36

javascriptH5游戲

2022-06-28 08:17:10

JSON性能反射

2021-06-10 13:50:55

代碼開發數據庫

2018-07-12 09:51:04

Python代碼對象模型

2018-06-19 08:35:51

情感分析數據集代碼

2022-07-14 10:54:15

Python代碼Matplotlib

2018-03-22 13:58:06

Python換臉程序

2010-12-22 21:52:12

rkhunter

2023-07-26 09:00:00

人工智能AI檢測

2014-01-22 09:19:57

JavaScript引擎

2018-02-06 10:04:59

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费的色网站 | 久久久性色精品国产免费观看 | 精品国产鲁一鲁一区二区张丽 | 国产美女一区二区 | 久草在线 | 欧美毛片免费观看 | 日日日操| 综合在线视频 | 夜夜夜操 | 91视频大全 | 日韩精品福利 | 日韩一区二区久久 | 91精品国产91久久久久久吃药 | 精品久久一区二区三区 | 日日日日日日bbbbb视频 | 天天噜天天干 | 久久久久成人精品 | 欧美群妇大交群中文字幕 | 深夜福利影院 | 国产一区二区三区久久 | 久久高清国产 | 久久1区 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 婷婷丁香综合网 | 天天操天天插天天干 | 99自拍视频 | 91精品国产一区二区三区 | 91精品一区| 精品在线一区二区 | 91九色网站 | 成人精品鲁一区一区二区 | 欧美精品一区二区三区在线 | 精品久久久久久久久久久久久久 | 精品一区二区三区在线观看 | 亚洲欧美精品国产一级在线 | 免费欧美视频 | 99爱在线观看 | 亚洲国产精品精华素 | 免费久久精品 | 免费h在线| h片在线免费看 |