如何讓計(jì)算機(jī)更好的識別理解、理解模擬自然語言
2021-07-01
什么是編程語言?
讓我們先談?wù)勈裁词亲匀徽Z言。
自然語言是我們?nèi)祟惤涣鞯恼Z言,包括漢語、方言、日語、英語、韓語等
自然語言所能承載的信息非常豐富。編程語言越高級,就越接近自然語言。
不同的自然語言有自己獨(dú)特的語法規(guī)則。
近年來,計(jì)算機(jī)科學(xué)家一直在研究如何讓計(jì)算機(jī)更好地識別、理解和模擬自然語言。這是人工智能的一個(gè)研究領(lǐng)域。
人類發(fā)明計(jì)算機(jī)的時(shí)候,根據(jù)計(jì)算機(jī)的特性,最早的計(jì)算機(jī)語言是為it而設(shè)計(jì)的——機(jī)器語言。這種語言的組合非常簡單,只有0和1兩個(gè)數(shù)字,也是計(jì)算機(jī)唯一的語言。
中文的基本單位是部首,英文的基本單位是26個(gè)字母。
一個(gè)原因。
為了方便大家理解,我們將電腦擬人化。
假設(shè)計(jì)算機(jī)要加11和22,程序員需要對計(jì)算機(jī)“說”:“1”。
計(jì)算機(jī)會(huì)理解。原來是我加了11和22。
后來大家都覺得這太麻煩了。人類就是這樣。因?yàn)樗麄冇X得上樓很麻煩,所以他們發(fā)明了電梯。
因?yàn)樽呗泛苈闊?,所以我發(fā)明了汽車、火車和飛機(jī)。
對電腦說機(jī)器語言太麻煩,容易出錯(cuò)。如果您輸入一個(gè) 0 或一個(gè) 1,則含義可能會(huì)完全改變。
學(xué)計(jì)算機(jī)的前輩覺得機(jī)器語言太不好用了,不知道折騰了多久,搞了匯編語言。
如果用匯編語言告訴計(jì)算機(jī)將 11 和 22 相加,會(huì)容易得多。
mov ax, ax,22
Ax 是一個(gè)“小盒子”,用于在計(jì)算機(jī)內(nèi)部存儲(chǔ)數(shù)字。它有一個(gè)專業(yè)術(shù)語叫做“注冊”。你有沒有想過在超市里放置一個(gè)臨時(shí)存放的柜子?這是事實(shí)。
但是計(jì)算機(jī)不能理解匯編語言,因?yàn)橛?jì)算機(jī)只能理解機(jī)器語言。
于是,大牛又設(shè)計(jì)了一種叫做“匯編器”的程序。
匯編器相當(dāng)于翻譯,將人類編寫的匯編代碼翻譯成機(jī)器語言,讓計(jì)算機(jī)能夠理解。
匯編語言的每一行都對應(yīng)機(jī)器語言,所以匯編語言可以理解為人類可以直接理解的“機(jī)器語言”。
這個(gè)過程聽起來很簡單計(jì)算機(jī)編程語言發(fā)展史,但實(shí)際上非常復(fù)雜。
但是人類還是覺得麻煩,能不能簡單點(diǎn)?
所以我設(shè)計(jì)了一些編程語言,讓我們以C語言為代表。
11+22
計(jì)算機(jī)自然更不能理解,所以前輩設(shè)計(jì)了一個(gè)程序,叫做“編譯器”。
編譯器負(fù)責(zé)將高級語言翻譯成匯編語言。
然后匯編程序?qū)R編語言翻譯成機(jī)器語言。
有些朋友不禁要問:高級語言不能直接轉(zhuǎn)換成機(jī)器語言嗎?為什么先用編譯器再用匯編器?
這個(gè)問題水平很高,技術(shù)上可以實(shí)現(xiàn),但不是最優(yōu)解。為什么?以后學(xué)了就知道編譯原理了。
機(jī)器語言設(shè)計(jì),只能使用0和1.
但不同的公司設(shè)計(jì)了不同的機(jī)器語言標(biāo)準(zhǔn)。
讓計(jì)算機(jī)將兩個(gè)數(shù)字相加:
A公司設(shè)計(jì)的機(jī)器指令為:公司設(shè)計(jì)的機(jī)器指令為:0001
所以如果一個(gè)程序使用了 A 公司匯編器生成的機(jī)器指令,它就不能在 B 公司的機(jī)器上運(yùn)行。
自然,一些協(xié)會(huì)誕生了,或者權(quán)威組織和企業(yè),為了避免這樣的事情發(fā)生,會(huì)制定一些行業(yè)設(shè)計(jì)標(biāo)準(zhǔn)。
讓大家參考某個(gè)標(biāo)準(zhǔn)來設(shè)計(jì)機(jī)器語言。不要隨意定義。和諧是人類一直追求的東西,但有時(shí)為了賺錢,有人會(huì)破壞和諧。
x86 架構(gòu)和 Arm 架構(gòu)是兩種標(biāo)準(zhǔn)指令集(機(jī)器語言)的縮寫。
假設(shè)您購買了聯(lián)想筆記本電腦,而您的朋友購買了戴爾筆記本電腦。
但是兩臺(tái)電腦的USB接口大小不一。您的 U 盤只能插入指定的筆記本電腦。多么可怕的事情。
(不過USB很快就會(huì)被淘汰,當(dāng)你插上USB口的時(shí)候,有沒有感覺?第一次插,總不能一直插)
第一張圖是現(xiàn)在的USB口,第二張圖是近幾年流行的USB-type-C接口。正負(fù)極都可以插。
手機(jī)充電器會(huì)逐漸切換到第二個(gè)界面。
一段歷史記載在圣經(jīng)中。起初,上帝創(chuàng)造了人類,語言是相通的,但由于人類過于驕傲,想要共同建造巴別塔計(jì)算機(jī)編程語言發(fā)展史,上帝允許人類講不同的語言,使人類無法交流。失敗了,從現(xiàn)在開始散落一地。
這個(gè)事件為世界上不同語言和種族的出現(xiàn)提供了解釋。
直到今天,我相信一個(gè)全球統(tǒng)一的編程語言是許多人曾經(jīng)或現(xiàn)在所珍視的夢想。
以上只是為了幫助你理解編程語言,用擬人化的思維很簡單的給你講解原理。
慢慢地,計(jì)算機(jī)不限于計(jì)算,當(dāng)它們可以處理簡單的文本和圖片信息時(shí)。
人類開始考慮計(jì)算機(jī)是否可以連接到互聯(lián)網(wǎng),信息是否可以共享和傳輸。有了這個(gè)洞察力之后,不知道大牛們要花多長時(shí)間去擺弄互聯(lián)網(wǎng)。
隨著科學(xué)技術(shù)的進(jìn)步,各種電子設(shè)備如手機(jī)、嵌入式設(shè)備應(yīng)運(yùn)而生,包括網(wǎng)站一詞的誕生。為了滿足不同行業(yè)的需求,也誕生了很多相關(guān)的行業(yè)。
在這個(gè)過程中,發(fā)明了各種編程語言來解決這些需求。當(dāng)然還有各種硬件廠商,比如CPU、顯卡、鼠標(biāo)、顯示器、鍵盤、打印機(jī)、掃描儀、音頻、路由器……
編程語言也被一一發(fā)明。
、Php、Html、Css、.Net、...截至今天,人類歷史上已經(jīng)有數(shù)百種編程語言。今天,它能夠生存而不被淘汰,說明確實(shí)有市場需要它。
帶操作系統(tǒng)、數(shù)據(jù)庫...
隨著代碼量的增加,開發(fā)軟件的難度越來越大。以軟件工程、代碼管理、多人協(xié)同開發(fā)、設(shè)計(jì)模式、框架、類庫等概念為目的,目的是為了簡化從開發(fā)難度中誕生的相關(guān)技術(shù),保證開發(fā)質(zhì)量,管理開發(fā)進(jìn)度。
但是這個(gè)過程非常困難,也不容易。我們今天的計(jì)算機(jī)技術(shù)需要頂尖智商科學(xué)家的大量腦力才能擁有。
上面提到的任何一個(gè)專業(yè)術(shù)語都可以寫成一本幾千頁的書來詳細(xì)描述它們。它們是無窮無盡的,浩瀚的,浩瀚的,深邃的。未來每個(gè)人都會(huì)隨著接觸計(jì)算機(jī)而變得越來越有見識。多么微不足道和卑微。
在某些行業(yè),年輕時(shí)學(xué)到的知識,到了年老時(shí)仍然可以使用。只要堅(jiān)持下去,就會(huì)積累和積累豐富的經(jīng)驗(yàn)。年齡越大,它就越受歡迎。
但在計(jì)算機(jī)行業(yè),有些技術(shù)被淘汰的非???。你可能沒有徹底學(xué)習(xí)。使用幾年后,某種技術(shù)就會(huì)被淘汰。如果你追求這些膚淺的技術(shù),你的經(jīng)驗(yàn)將不會(huì)繼續(xù)累積。隨著年齡的增長,經(jīng)驗(yàn)和記憶力下降,無法為年輕人而戰(zhàn),中年危機(jī)……
這個(gè)行業(yè)有深度有深度,需要廣度和廣度。
就設(shè)計(jì)而言,有建筑設(shè)計(jì)、工業(yè)設(shè)計(jì)、程序設(shè)計(jì)、動(dòng)畫設(shè)計(jì)。建筑設(shè)計(jì)可以分為橋梁設(shè)計(jì)、古建筑設(shè)計(jì)、現(xiàn)代建筑設(shè)計(jì)……動(dòng)畫設(shè)計(jì)又可以分為2D、3D,各種我不知道的專業(yè)術(shù)語……程序設(shè)計(jì)也可以告訴你很多。 ..
不要向東方學(xué)習(xí),向西方學(xué)習(xí)。最后,是半桶水。先選擇一個(gè)領(lǐng)域深入,到一定的層次,再考慮相關(guān)領(lǐng)域的拓展,也就是廣度的發(fā)展。
說到這里,不僅僅是計(jì)算機(jī)行業(yè)、醫(yī)療行業(yè)、生物行業(yè)、天文學(xué)、物理學(xué)和力學(xué)。
有些人覺得自己學(xué)的太多了,覺得很絕望!
不要害怕,活在當(dāng)下,害怕無限的真相,害怕進(jìn)入每一寸的喜悅。
不要和別人比較,要和自己比較。今天的自己比昨天的自己好一點(diǎn)嗎?
我每天進(jìn)步一點(diǎn)點(diǎn)。這就是為什么我一開始就強(qiáng)調(diào)你必須冷靜下來,否則你走不遠(yuǎn)。即使留在這個(gè)行業(yè),走純技術(shù)路線也是不現(xiàn)實(shí)的。
而且,單純走技術(shù)路線更難取得更高的成績。說得具體一點(diǎn),賺大錢有點(diǎn)難。
在這個(gè)人際關(guān)系、情緒管理、人際交往的時(shí)代,職業(yè)發(fā)展路線也是多元化的。結(jié)合自己的個(gè)性,找到適合自己的道路,才是王道。
《從零開始學(xué)編程》系列《極客編程》和《計(jì)算機(jī)簡談》的《計(jì)算機(jī)原理》摘錄