來源:AINLPer微信公眾號(hào)
編輯: ShuYini
校稿: ShuYini
時(shí)間: 2020-01-07
初識(shí)自然語言處理(NLP)
本次主要內(nèi)容:
1豁状、解釋自然語言處理的目標(biāo)和應(yīng)用。
2倒得、描述自然語言處理的挑戰(zhàn)泻红。
????該模塊為深度學(xué)習(xí)和自然語言處理奠定了基礎(chǔ)。不過霞掺,在開始之前谊路,請(qǐng)確保您有所需的背景知識(shí)。這是一個(gè)高級(jí)主題菩彬,本模塊假設(shè)您對(duì)機(jī)器學(xué)習(xí)詞匯有基本的理解缠劝,有一些Python方面的經(jīng)驗(yàn)潮梯,至少有一些處理機(jī)器學(xué)習(xí)數(shù)據(jù)和算法的實(shí)際經(jīng)驗(yàn)。如果您還沒有這方面的背景知識(shí)惨恭,您可以使用以下資源來快速了解情況秉馏。
什么是自然語言處理?
????自然語言處理(NLP)匯集了計(jì)算機(jī)科學(xué)、語言學(xué)和人工智能的思想脱羡。它的目標(biāo)是給計(jì)算機(jī)某種形式的語言理解萝究,使它們能夠處理人類的語言。計(jì)算機(jī)使用語言處理來執(zhí)行一些有用的任務(wù)锉罐,如翻譯帆竹、回答問題或預(yù)約。
????NLP在人工智能領(lǐng)域中發(fā)揮著獨(dú)特的作用脓规,因?yàn)檎Z言本身就是人類思考和表達(dá)自我的重要組成部分馆揉。但是語言是復(fù)雜的!一臺(tái)完全理解自然語言含義的計(jì)算機(jī)就是“AI-complete”。AI-complete指的是人工智能的核心問題抖拦。要開發(fā)一個(gè)真正理解人類語言的系統(tǒng)升酣,你實(shí)際上必須解決一個(gè)更大的問題:人工智能本身。為此态罪,人們一直在思考開發(fā)能夠解釋語言的系統(tǒng)噩茄。同時(shí)增強(qiáng)在自然語言處理層的能力來對(duì)語言表示做出高層次理解。????1复颈、語音或文本的輸入和初始處理過程绩聘,并將其分解成小塊進(jìn)行處理。對(duì)于語音來說耗啦,這一步叫做語音分析凿菩,它包括把語音分解成單個(gè)的聲音,叫做音素帜讲。對(duì)于文本輸入衅谷,這包括光學(xué)字符識(shí)別(OCR)和標(biāo)記化。OCR是用來識(shí)別文本中的單個(gè)字符的似将,如果它是作為圖像而不是字符組成的單詞輸入的获黔。標(biāo)記化指的是把一個(gè)連續(xù)的文本分解成單個(gè)的標(biāo)記,通常是單詞在验。
????2玷氏、形態(tài)學(xué)分析——將復(fù)雜的單詞分解成它們的組成部分,以便更好地理解它們的意思腋舌。例如盏触,您可以將“incomprehensible”分解為它的組成部分。其中“in”表示:不的意思;“comprehens”表示:理解赞辩;“ible”表示:這個(gè)詞是一個(gè)形容詞雌芽,用來描述某事是否可以被理解。
????3诗宣、句法分析——試圖通過觀察單詞是如何組合在一起來理解句子的結(jié)構(gòu)膘怕。這一步類似于為一個(gè)句子繪制圖表想诅,在這個(gè)過程中召庞,您將確定每個(gè)單詞在這個(gè)句子中所扮演的角色。
????4来破、語義解釋——通過將單個(gè)單詞的意義與其在句子中的句法角色結(jié)合起來篮灼,來確定句子的意義。
????5徘禁、話語加工——理解句子周圍的語境诅诱,以充分理解其含義。
????為了成功地幫助計(jì)算機(jī)理解(NLU)和生成自然語言(NLG)送朱,NLP必須處理語言的所有層次娘荡。僅僅創(chuàng)建一個(gè)字典并定義每個(gè)單詞是不夠的,計(jì)算機(jī)必須理解這些單詞在語法和上下文中是如何協(xié)同工作的驶沼。在這篇文章中炮沐,我們主要討論了第三步和第四步,句法分析和語義解釋回怜。
自然語言處理可以做什么大年?
????自然語言處理使我們每天使用的許多工具和技術(shù)成為可能,從(相對(duì))簡(jiǎn)單到復(fù)雜玉雾。例如翔试,拼寫檢查器、自動(dòng)完成函數(shù)和關(guān)鍵字搜索(特別是當(dāng)搜索自動(dòng)包含同義詞時(shí))都使用簡(jiǎn)單的NLP形式复旬。
????更復(fù)雜的NLP形式可以讓我們做一些事情垦缅,比如從網(wǎng)站上自動(dòng)提取地址和其他公司信息(例如,顯示在在線地圖上)驹碍,或者根據(jù)情緒或閱讀水平自動(dòng)對(duì)文檔進(jìn)行分類失都。我們使用最強(qiáng)大的NLP工具來完成任務(wù),如機(jī)器翻譯(如谷歌翻譯)幸冻、具有自然語言的聊天機(jī)器人粹庞,以及復(fù)雜的虛擬助理(如Siri、谷歌助理和亞馬遜的Alexa)洽损。
????自從移動(dòng)設(shè)備廣泛使用以來庞溜,人們對(duì)NLP的興趣就開始激增。與計(jì)算機(jī)的全鍵盤不同,移動(dòng)設(shè)備的鍵盤通常很小流码,很難輸入長(zhǎng)串文本又官。通過語音與移動(dòng)設(shè)備的交互極大地?cái)U(kuò)展了該設(shè)備的功能。近年來漫试,自然語言處理(NLP)領(lǐng)域取得了長(zhǎng)足的進(jìn)步六敬,但要讓計(jì)算機(jī)完全理解人類語言,還有很長(zhǎng)的路要走驾荣。
語言編碼的意義
????許多機(jī)器學(xué)習(xí)數(shù)據(jù)是由真實(shí)世界的數(shù)據(jù)集組成的外构,沒有太多的順序。例如播掷,銷售記錄审编、電影觀看數(shù)據(jù)或普通通勤時(shí)間都是對(duì)機(jī)器學(xué)習(xí)有用的數(shù)據(jù)集。創(chuàng)建這類數(shù)據(jù)的人不會(huì)考慮它所形成的模式或它所傳遞的信息歧匈。然而垒酬,說話者和作者使用人類語言來傳達(dá)信息。語言不是隨機(jī)混合的數(shù)據(jù)件炉,而是有意地構(gòu)建來傳達(dá)意義給其他人勘究。
????人類的語言可能看起來很簡(jiǎn)單,因?yàn)槟忝刻於荚谑褂盟迕幔?dāng)你還是個(gè)小孩子的時(shí)候就學(xué)會(huì)了它口糕,但它也是一個(gè)能夠深度編碼、具有微妙意義的符號(hào)系統(tǒng)宫静。語言使用符號(hào)信號(hào)(有時(shí)也稱為離散信號(hào)或分類信號(hào))來有意地傳達(dá)說話者或作者的意思走净。詞語對(duì)應(yīng)于特定的概念。例如孤里,狗這個(gè)詞對(duì)應(yīng)著狗的概念伏伯,小提琴這個(gè)詞對(duì)應(yīng)著小提琴的概念,等等捌袜。
????語言是由符號(hào)組成的说搅。語言將這些符號(hào)編碼成連續(xù)的基板,如聲音(如講話)虏等、手勢(shì)(如手語)和圖像(如書寫)弄唧。因此,雖然語言是由離散的霍衫、獨(dú)立的符號(hào)組成的候引,但我們把它作為一種長(zhǎng)時(shí)間連續(xù)的編碼模式進(jìn)行交流和理解。當(dāng)一個(gè)人使用語言與另一個(gè)人交流時(shí)敦跌,他們采用一種連續(xù)的內(nèi)在思維模式澄干,將其轉(zhuǎn)換成離散的符號(hào),并將其編碼到一個(gè)連續(xù)的基底中,如語音麸俘、書寫或手勢(shì)辩稽。????接受這種交流的人接受連續(xù)的交流,將其解析為離散的符號(hào)从媚,并以連續(xù)的思維模式理解它逞泄。因此,語言將意義從連續(xù)的模式轉(zhuǎn)換為離散的符號(hào)拜效,然后再轉(zhuǎn)換回連續(xù)的模式喷众。
語言歧義
????人類語言不像編程語言。雖然編程語言被構(gòu)造成盡可能清晰和明確的拂檩,但是人類語言本質(zhì)上是模棱兩可的侮腹。許多句子的解釋取決于上下文和經(jīng)驗(yàn)嘲碧。以下是一些標(biāo)題中模糊語言的真實(shí)例子稻励。
????例1抡句、辦公室MM問我為什么另一個(gè)MM能玩的游戲在她的機(jī)器上要S機(jī)粤攒。答曰,可能顯卡驅(qū)動(dòng)不行煌妈。MM遂要求幫助下載最新版履婉,并安裝煤篙。答曰,我有什么好處毁腿。MM說:“最多我讓你玩一會(huì)兒好了”辑奈。(“讓你玩一會(huì)就比較有歧義”)
????例2、上海大學(xué)的學(xué)生都很努力優(yōu)秀已烤。(“上海大學(xué)是指的學(xué)校還是上海所有大學(xué)的學(xué)生鸠窗?”)
????例3、北京人多胯究。(“是指的北京這個(gè)地方人多稍计,還是北京人比較多?”)
????除了含糊不清的措辭外,人類語言還有很多前提條件裕循。用編程語言編寫的代碼必須包含計(jì)算機(jī)運(yùn)行所需的所有內(nèi)容臣嚣,而人類語言通常假設(shè)監(jiān)聽器或閱讀器可以自己插入重要的上下文和信息。這樣剥哑,它的工作方式有點(diǎn)像代碼片段硅则。當(dāng)你說話的時(shí)候,你假設(shè)你的聽眾熟悉語言和文化的“樣板代碼”株婴,并且只包含了讓你的觀點(diǎn)被理解的最低限度的信息怎虫。
????例如,你如何選擇將自己描述為“熟悉”、“了解”或“某一主題的專家”?每個(gè)概念都是不同的揪垄,但你是在一個(gè)連續(xù)體上理解它們的穷吮,你知道它們是如何相互聯(lián)系的。例如饥努,你知道捡鱼,雖然這些描述符之間沒有明顯的界限,但是熟悉某個(gè)主題的人比專家知道的要少得多酷愧。然而驾诈,當(dāng)你把這些想法提煉成文字的時(shí)候,你就失去了很多關(guān)于它們之間聯(lián)系的信息溶浴。但是乍迄,與其花更多的詞語精確地描述你的背景,你不如依靠其他人對(duì)從“熟悉”到“精通”這一連續(xù)體的知識(shí)來解釋你知道多少士败。
????習(xí)語也是類似的原理闯两。當(dāng)你在會(huì)議一開始就說你“準(zhǔn)備好直接參與”時(shí),你的意思并不是說你真的要跳進(jìn)房間里谅将,或者在辦公室的游泳池里跳水漾狼。你依靠你的聽眾對(duì)文化和習(xí)語的知識(shí)來解釋這句話,并且知道你的意思是你已經(jīng)準(zhǔn)備好直接進(jìn)入會(huì)議的重要部分饥臂。
????所有這些模糊性和上下文都很難用代碼來解釋逊躁。早期的自然語言處理嘗試明確定義一門語言中的所有單詞,并手動(dòng)編寫解釋含義的規(guī)則隅熙。不過稽煤,這種方法通常效果不是很好。有太多的極端情況囚戚,以及太多的未說出口的上下文酵熙,以至于無法實(shí)際地手工編寫全部代碼。在自然語言處理中使用深度學(xué)習(xí)避免了用代碼清楚地描述模糊語言的問題弯淘。
ACED
Attention
更多自然語言處理相關(guān)知識(shí)绿店,還請(qǐng)關(guān)注AINLPer公眾號(hào),極品干貨即刻送達(dá)庐橙。