導航:首頁 > 數字科學 > 自然語言處理用需要什麼數學

自然語言處理用需要什麼數學

發布時間:2022-12-28 14:51:21

A. cv和nlp哪個數學要求更高

cv。CV是CurriculumVitae的縮寫,原意指生活道路,現引申為簡歷,多指學術履歷。截止2022年9月3日CV主要是用於申請學術、教育、科研職位,或者申請獎學金等等。cv和nlp相比,cv數學要求更高,nlp發展空間大,但不夠成熟,要求不夠嚴格,cv發展好,更加成熟,對員工數學水平要求更高。nlp是自然語言處理,是研究人與計算機交互的語言問題的一門學科。

B. nlp演算法是什麼呢

1、nlp演算法是自然語言處理演算法。自然語言處理( Natural Language Processing, NLP)是計算機科學領域與人工智慧領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。

2、自然語言處理(nlp)是一門融語言學、計算機科學、數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯系,但又有重要的區別。

3、自然語言處理(nlp)並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的計算機系統,特別是其中的軟體系統。因而它是計算機科學的一部分。

4、自然語言處理(nlp)主要應用於機器翻譯、輿情監測、自動摘要、觀點提取、文本分類、問題回答、文本語義對比、語音識別、中文OCR等方面。

5、自然語言(nlp)的形式(字元串)與其意義之間是一種多對多的關系。其實這也正是自然語言的魅力所在。但從計算機處理的角度看,我們必須消除歧義,而且有人認為它正是自然語言理解中的中心問題,即要把帶有潛在歧義的自然語言輸入轉換成某種無歧義的計算機內部表示。

C. 想學習自然語言處理,數學需要哪些科目

哈哈,這方面我比較熟悉,數學分析,高等代數當然是基礎了,隨機過程最好也了解一下,比較重要的就是數理統計,樓主最好能掌握茆詩松,王靜龍所著的高等數理統計,其對數學的要求和其他軟體方面的研究生比會高一些,因為其後續課程可能還會涉及神經網路和濾波器等內容,但都是淺嘗輒止。關鍵還是你能對軟體架構有一個總體了解,數學只是工具,具體應用時還是編程能力壓倒一切,數學理論學起來深,具體用時其實just so so.因為我是相關專業的,歡迎追問和討論。

D. 自然語言處理基礎知識

NLP 是什麼?

NLP 是計算機科學領域與 人工智慧 領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、計算機科學、數學於一體的學科。NLP 由兩個主要的技術領域構成:自然語言理解和自然語言生成。

自然語言理解方向,主要目標是幫助機器更好理解人的語言,包括基礎的詞法、句法等語義理解,以及需求、篇章、情感層面的高層理解。

自然語言生成方向,主要目標是幫助機器生成人能夠理解的語言,比如文本生成、自動文摘等。

NLP 技術基於大數據、知識圖譜、 機器學習 、語言學等技術和資源,並可以形成機器翻譯、深度問答、對話系統的具體應用系統,進而服務於各類實際業務和產品。

NLP在金融方面

金融行業因其與數據的高度相關性,成為人工智慧最先應用的行業之一,而NLP與知識圖譜作為人工智慧技術的重要研究方向與組成部分,正在快速進入金融領域,並日益成為智能金融的基石。輿情分析輿情主要指民眾對社會各種具體事物的情緒、意見、價值判斷和願望等。

事件(Event ):在特定時間、特定地點發生的事情。主題(Topic):也稱為話題,指一個種子事件或活動以及與它直接相關的事件和活動。專題(Subject):涵蓋多個類似的具體事件或根本不涉及任何具體事件。需要說明的是,國內新聞網站新浪、搜狐等所定義的「專題」概念大多數等同於我們的「主題」概念。熱點:也可稱為熱點主題。熱點和主題的概念比較接近,但有所區別。

1. 詞干提取

什麼是詞干提取?詞干提取是將詞語去除變化或衍生形式,轉換為詞干或原型形式的過程。詞干提取的目標是將相關詞語還原為同樣的詞干,哪怕詞干並非詞典的詞目。

2. 詞形還原

什麼是詞形還原? 詞形還原是將一組詞語還原為詞源或詞典的詞目形式的過程。還原過程考慮到了POS問題,即詞語在句中的語義,詞語對相鄰語句的語義等。

3. 詞向量化什麼是詞向量化?詞向量化是用一組實數構成的向量代表自然語言的叫法。這種技術非常實用,因為電腦無法處理自然語言。詞向量化可以捕捉到自然語言和實數間的本質關系。通過詞向量化,一個詞語或者一段短語可以用一個定維的向量表示,例如向量的長度可以為100。

4. 詞性標注

什麼是詞性標注?簡單來說,詞性標注是對句子中的詞語標注為名字、動詞、形容詞、副詞等的過程。

5. 命名實體消歧

什麼是命名實體消岐?命名實體消岐是對句子中的提到的實體識別的過程。例如,對句子「Apple earned a revenue of 200 Billion USD in 2016」,命名實體消岐會推斷出句子中的Apple是蘋果公司而不是指一種水果。一般來說,命名實體要求有一個實體知識庫,能夠將句子中提到的實體和知識庫聯系起來。

6. 命名實體識別

體識別是識別一個句子中有特定意義的實體並將其區分為人名,機構名,日期,地名,時間等類別的任務。   

7. 情感分析

什麼是情感分析?情感分析是一種廣泛的主觀分析,它使用自然語言處理技術來識別客戶評論的語義情感,語句表達的情緒正負面以及通過語音分析或書面文字判斷其表達的情感等等。

8. 語義文本相似度

什麼是語義文本相似度分析?語義文本相似度分析是對兩段文本的意義和本質之間的相似度進行分析的過程。注意,相似性與相關性是不同的。

9.語言識別

什麼是語言識別?語言識別指的是將不同語言的文本區分出來。其利用語言的統計和語法屬性來執行此任務。語言識別也可以被認為是文本分類的特殊情況。

10. 文本摘要

什麼是文本摘要?文本摘要是通過識別文本的重點並使用這些要點創建摘要來縮短文本的過程。文本摘要的目的是在不改變文本含義的前提下最大限度地縮短文本。

11.評論觀點抽取

自動分析評論關注點和評論觀點,並輸出評論觀點標簽及評論觀點極性。目前支持 13 類產品用戶評論的觀點抽取,包括美食、酒店、汽車、景點等,可幫助商家進行產品分析,輔助用戶進行消費決策。

11.DNN 語言模型

語言模型是通過計算給定片語成的句子的概率,從而判斷所組成的句子是否符合客觀語言表達習慣。在機器翻譯、拼寫糾錯、語音識別、問答系統、詞性標注、句法分析和信息檢索等系統中都有廣泛應用。

12.依存句法分析

利用句子中詞與詞之間的依存關系來表示詞語的句法結構信息 (如主謂、動賓、定中等結構關系),並用樹狀結構來表示整句的的結構 (如主謂賓、定狀補等)。

1、NLTK

一種流行的自然語言處理庫、自帶語料庫、具有分類,分詞等很多功能,國外使用者居多,類似中文的 jieba 處理庫

2、文本處理流程

大致將文本處理流程分為以下幾個步驟:

Normalization

Tokenization

Stop words

Part-of-speech Tagging

Named Entity Recognition

Stemming and Lemmatization

下面是各個流程的具體介紹

Normalization

第一步通常要做就是Normalization。在英文中,所有句子第一個單詞的首字母一般是大寫,有的單詞也會全部字母都大寫用於表示強調和區分風格,這樣更易於人類理解表達的意思。

Tokenization

Token是"符號"的高級表達, 一般值具有某種意義,無法再拆分的符號。在英文自然語言處理中,Tokens通常是單獨的詞,因此Tokenization就是將每個句子拆分為一系列的詞。

Stop Word

Stop Word 是無含義的詞,例如』is』/『our』/『the』/『in』/'at』等。它們不會給句子增加太多含義,單停止詞是頻率非常多的詞。 為了減少我們要處理的詞彙量,從而降低後續程序的復雜度,需要清除停止詞。

Named Entity

Named Entity 一般是名詞短語,又來指代某些特定對象、人、或地點 可以使用 ne_chunk()方法標注文本中的命名實體。在進行這一步前,必須先進行 Tokenization 並進行 PoS Tagging。

Stemming and Lemmatization

為了進一步簡化文本數據,我們可以將詞的不同變化和變形標准化。Stemming 提取是將詞還原成詞干或詞根的過程。

3、Word2vec

Word2vec是一種有效創建詞嵌入的方法,它自2013年以來就一直存在。但除了作為詞嵌入的方法之外,它的一些概念已經被證明可以有效地創建推薦引擎和理解時序數據。在商業的、非語言的任務中。

### 四、NLP前沿研究方向與演算法

1、MultiBERT

2、XLNet

3、bert 模型

BERT的全稱是Bidirectional Encoder Representation from Transformers,即雙向Transformer的Encoder,因為decoder是不能獲要預測的信息的。模型的主要創新點都在pre-train方法上,即用了Masked LM和Next Sentence Prediction兩種方法分別捕捉詞語和句子級別的representation。

BERT提出之後,作為一個Word2Vec的替代者,其在NLP領域的11個方向大幅刷新了精度,可以說是近年來自殘差網路最優突破性的一項技術了。BERT的主要特點以下幾點:

使用了Transformer作為演算法的主要框架,Trabsformer能更徹底的捕捉語句中的雙向關系;

使用了Mask Language Model(MLM)和 Next Sentence Prediction(NSP) 的多任務訓練目標;

使用更強大的機器訓練更大規模的數據,使BERT的結果達到了全新的高度,並且Google開源了BERT模型,用戶可以直接使用BERT作為Word2Vec的轉換矩陣並高效的將其應用到自己的任務中。

BERT的本質上是通過在海量的語料的基礎上運行自監督學習方法為單詞學習一個好的特徵表示,所謂自監督學習是指在沒有人工標注的數據上運行的監督學習。在以後特定的NLP任務中,我們可以直接使用BERT的特徵表示作為該任務的詞嵌入特徵。所以BERT提供的是一個供其它任務遷移學習的模型,該模型可以根據任務微調或者固定之後作為特徵提取器。

模型結構: 由於模型的構成元素Transformer已經解析過,就不多說了,BERT模型的結構如下圖最左:

對比OpenAI GPT(Generative pre-trained transformer),BERT是雙向的Transformer block連接;就像單向rnn和雙向rnn的區別,直覺上來講效果會好一些。

優點: BERT是截至2018年10月的最新state of the art模型,通過預訓練和精調橫掃了11項NLP任務,這首先就是最大的優點了。而且它還用的是Transformer,也就是相對rnn更加高效、能捕捉更長距離的依賴。對比起之前的預訓練模型,它捕捉到的是真正意義上的bidirectional context信息。

缺點: MLM預訓練時的mask問題

[MASK]標記在實際預測中不會出現,訓練時用過多[MASK]影響模型表現

每個batch只有15%的token被預測,所以BERT收斂得比left-to-right模型要慢(它們會預測每個token)

BERT火得一塌糊塗不是沒有原因的:

使用Transformer的結構將已經走向瓶頸期的Word2Vec帶向了一個新的方向,並再一次炒火了《Attention is All you Need》這篇論文;

11個NLP任務的精度大幅提升足以震驚整個深度學習領域;

無私的開源了多種語言的源碼和模型,具有非常高的商業價值。

遷移學習又一次勝利,而且這次是在NLP領域的大勝,狂勝。

BERT演算法還有很大的優化空間,例如我們在Transformer中講的如何讓模型有捕捉Token序列關系的能力,而不是簡單依靠位置嵌入。BERT的訓練在目前的計算資源下很難完成,論文中說的訓練需要在64塊TPU晶元上訓練4天完成,而一塊TPU的速度約是目前主流GPU的7-8倍。

E. 自然語言處理和計算機視覺哪個更依賴數學知識

自然語言處理更依賴數學知識
視覺在學術圈退火意味著技術已經比較成熟,正是工業界大幹快上的好時機。
但是工業應用想要成功,必須深耕一個垂直市場,比如自動駕駛,醫療圖像,安全監控,其中醫療圖像我認為是最有潛力的方向。
想要做一個通用平台搞分類監測的公司基本都會遇到商業模式不清晰,競爭激烈,變現困難的問題,最好的下場也就是被大廠收購或者包養。自然語言處理也有一些商業機會,但是想靠深度學習橫掃天下不現實
。需要新老方法的結合以及深厚的經驗積累。自然語言更是需要深耕垂直市場,通用演算法完全看不到商業模式,像聊天機器人啊自動翻譯這種東西都是大廠用來提高知名度的,無法變現。
垂直市場方面我看好法律應用,助理律師的很多工作,比如對比判例、專利這種,完全可以自動化。

F. 自然語言處理需要大量編程么與圖像處理比較呢求大神解答!

都需要編程,當然最重要的是模型和演算法,就是那些數學公式,編程是對這些模型的實現。一般來說圖像處理的編程更復雜一些,但有一些公開類庫可用,比如OpenCV、OpenGL等,自然語言處理的數據量比較大,除了編程外,有時候還要用到資料庫。

G. 【數學之美筆記】自然語言處理部分(一).md

數字、文字和自然語言一樣,都是信息的載體,他們的產生都是為了 記錄和傳播信息

但是貌似數學與語言學的關系不大,在很長一段時間內,數學主要用於天文學、力學。

本章,我們將回顧一下信息時代的發展,看語言學如何慢慢與數學聯系起來的。

最開始的時候,人類會用 聲音 來傳播信息。

這裡面的信息的產生、傳播、接收、反饋,與現在最先進的通信在原理上沒有任何差別。

因為早期人類需要傳播的信息量不多,所以不需要語言文字

但是當人類進步到一定的程度的時候,就需要語言了。

所以我們的祖先將語言描述的共同因素,比如物體、數量、動作便抽象出來,形成了今天的詞彙。

隨著人類的發展,語言和詞彙多到一定的程度,大腦已經無法完全記住了。此時就需要一種 文字 ,將信息記錄下來。

使用文字的好處在於,信息的傳輸可以跨越時間、空間了,兩個人不需要在同一時間,同一地點碰面就可以進行信息的交流。

那麼如何創造文字呢?最直接的方式就是模仿要描述對象的形狀,這就是所謂的象形文字。

早期,象形文字的數量和記錄一個文明的信息量是相關的,也就是說象形文字多,代表著這個文明的信息量大。

但是隨著信息量的增加,沒有人能學會和記住這么多的文字,這樣就需要進行 概括和歸類 了。也就是使用一個詞來表達相同和相似的一類意思。

比如說「日」本來是說太陽,但是它又同時可以是我們講的一天。

這種概念的聚類,和現在自然語言處理或者機器學習的 聚類 很相似,只是在遠古,可能需要上千年,而現在只需要幾小時。

但是文字按照意思來聚類,總會有 歧義性 ,也就是弄不清楚一個 多義字 在特定環境下表示其中哪一個含義。

要解決這個問題,都是 依靠上下文 ,大多數Disambiguation可以做到,但總有個別做不到的時候。 對上下文建立的概率模型再好,也會有失靈的時候。

不同的文明因為地域的原因,文字和語言一般來說是不同的,當兩個文明碰在一起的時候,翻譯的需求就有了。

翻譯能達成的原因:不同的文字系統在記錄信息的能力上是等價的 ,文字只是信息的載體,而不是信息的本身,甚至可以用數字進行搭載。

今天,我們對埃及的了解比瑪雅文明多,要歸功於埃及人通過文字記錄了生活中最重要的信息,對我們的指導意義在於:

文字是在頭腦裡面已經裝不下信息的時候才出現,而數字則是在財產需要數一數才能搞清楚的時候才產生。

早期的數字沒有書寫的形式 ,只是說掰指頭,這也是我們使用 十進制 的原因。

漸漸地,祖先發現十個指頭也不夠用了,最簡單的方法是把腳趾頭也算上,但是不能解決根本問題。於是他們發明了 進位制 ,也就是逢十進一。

那為什麼現有的文明多用十進制,而不是二十進制呢?

相比十進制,20進制多有不便,比如說十進制只需要背誦九九乘法表,如果是20進制的話,就需要背19*19的圍棋盤了。

對於不同位數的數字表示,中國人和羅馬人都用明確的單位來表示不同的量級。

中國人是用十百千萬億兆,羅馬人用I表示個,V表示5等等。

這兩種表示法都不自覺的引入了樸素的編碼的概念。

描述數字最有效的是古印度人,他們發明了10個阿拉伯數字,比中國和羅馬的都抽象,這也標志著數字和文字的分離。客觀上讓自然語言與數學在幾千年沒有重復的軌跡。

從象形文字到拼音文字是一個飛躍,因為人類在描述物體的方式上,從物體的外表到抽象的概念,同時不自覺的採用了對信息的編碼。

不僅如此,在羅馬體系的文字中,常用字短,生僻字長,在意型文字中,也是一樣,常用字筆畫少,而生僻字筆畫多,這符合資訊理論中的 最短編碼原理。

羅馬語言體系:

在紙發明之前,書寫文字並不容易。所以需要惜墨如金,所以古文這種書面文字非常簡潔,但是非常難懂。而口語卻與現在差別不大。這就和現在的信息科學的一些原理類似

這點就是現在的互聯網與移動互聯網的網頁設計完全一致。

使用寬頻的話,頁面得設計得比較大,而手機終端上的由於受空中頻道帶寬的限制,傳輸速度慢,解析度低。

《聖經》記錄了創世紀以來,猶太人祖先的故事,《聖經》的寫作持續了很多世紀,有若幹人來完成,抄寫的錯誤在所難免,

為了避免抄錯,猶太人發明了一種類似 校驗碼 的方法,他們把希伯來字母對應於一個數字,每行加起來就是一個特殊的數字,這個數字即為 校驗碼

當抄完一頁以後,需要把每一行的文字加起來,看看校驗碼與原文是否相同。

從字母到詞的構詞法是詞的編碼規則,那麼語法則是語言的編碼和解碼規則。

相比較而言, 詞是有限且封閉的集合, 語言則是無限和開放的集合。 從數學上來講,前者有完備的編解碼規則,而語言則沒有,也就是說語言有語法規則覆蓋不到的地方,這就是「病句」

那麼到底是語言對,還是語法對呢?有人堅持從真實的語料中出發,有人堅持從規則出發。

本章講述了文字、數字、語言的歷史,幫助讀者感受語言和數學內在的聯系。提到了如下的概念

上一章我們說到,語言出現的目的就是為了人類的通信,而字母、文字、數字實際上是 信息編碼 的不同單位。

任何一種語言都是一種編碼方式,而語言的語法規則是編解碼的演算法。比如,我們把想要表達的東西通過語言組織起來,這就是進行了一次編碼,如果對方能懂這個語言,它就可以使用這門語言的解碼方式進行解碼。

那麼機器是否可以讀懂自然語言呢?當然可以

自然語言處理發展過程可以分為兩個階段:

50年代,學術界對人工智慧和自然語言理解的認識是這樣的:要讓機器完成語音識別,必須讓計算機理解自然語言。因為人類就這么做的。這種方法論就稱為「鳥飛派」,也就是看鳥怎麼飛的來造出飛機。事實上,人們發明飛機靠的是空氣動力學,而不是仿生學。

那麼如何才能理解自然語言呢?

一般需要:

我們可以看一個簡單的句子

這個句子可以分為主、謂、句號三部分,可以對每個部分進一步分析,得到如下的語法分析樹(Parse Tree)

分析它採用的文法規則稱為 重寫規則

但是這種方法很快遇到了麻煩。從上圖可以看出 一個短短的句子居然分析出這么一個復雜的二維樹結構 ,如果要處理一個真實的句子就非常的麻煩了。

主要有兩個坎兒:

那麼其實從語法這條路來分析句子,並不靠譜。

上面我們講到了基於規則的句法分析對於語義處理比較麻煩,因為 自然語言中的詞的多義性難用規則來描述,而是依賴於 上下文

比如 「The box is in the pen.」 因為這里pen是圍欄的意思。整句話翻譯成中文就是「 盒子在圍欄里」 。這 里 面 pen是指鋼筆還是圍欄 ,通過上下文已經不能解決,需要常識

1970年以後統計語言學讓自然語言處理重獲新生,裡面的關鍵任務是賈里尼和他領導的IBM華生實驗室。最開始的時候,他們使用統計的方法,將當時的語音識別率從70%提升到90%,同時語音識別規模從幾百單詞上升到幾萬單詞

基於統計的自然語言處理方法,在數學模型與通信是相通的,因此在數學意義上,自然語言處理又和語言的初衷—— 通信 聯系在一起了。

前面的章節,我們一直強調,自然語言從產生開始,逐漸演變成一種上下文相關的信息表達和傳遞方式。

所以要讓機器能處理自然語音, 關鍵在於 為自然語音這種 上下文相關的 特性建立數學模型,這就是 統計語言模型(Statistical Language Model)

這個模型廣泛應用於機器翻譯、語音識別、印刷體識別、拼寫糾錯、漢字輸入、文獻查詢

語音識別需要解決的一個重要的問題就是計算機給出來的一個文字序列,是否能被人類所理解。70年代以前,人們使用語義分析來解決。

而賈里克從另一個角度來看待這個問題,一個簡單的統計模型就搞定了。

也就是說要看一個句子是否合理,就看看它的 可能性 大小如何 。

比如說一個通順的語句出現的概率為$10 {-20}$,而一個亂七八糟的語句出現的概率為$10 {-70}$,所以通順的語句更有可能。

假定$S$表示一個有意義的句子,由一串特定順序的詞${omega _1},{omega _2}, cdots ,{omega _n}$組成,這里$n$是句子的長度。現在需要知道這個句子出現的概率

$$Pleft( S ight) = Pleft( {{w_1},{w_2}, cdots ,{w_n}} ight)$$

利用條件概率的公式,$S$這個序列出現的概率等於每個詞出現概率相乘

$$Pleft( {{w_1},{w_2}, cdots ,{w_n}} ight) = Pleft( {{w_1}} ight)Pleft( {{w_2}|{w_1}} ight) cdots Pleft( {{w_n}|{w_1},{w_2}, cdots ,{w_{n - 1}}} ight)$$

問題就來了,這種條件概率怎麼計算呢?

20世紀初,俄國的數學家馬爾科夫給出了一個有效的方法,當遇到這種情況的時候,假設任意一個詞$w_i$出現的概率只與前面的詞$w_{i-1}$有關,與其他詞無關,這就叫 馬爾科夫假設

所以公式又變成了

$$Pleft( {{w_1},{w_2}, cdots ,{w_n}} ight) = Pleft( {{w_1}} ight)Pleft( {{w_2}|{w_1}} ight) cdots Pleft( {{w_n}|{w_{n - 1}}} ight)$$

這就叫 二元模型(Bigram Model)

如果假設一個詞由前面$N-1$個詞決定,對應的模型就叫$N
$元模型,會更復雜。

同樣那麼如何估算條件概率$Pleft( {{w_i}|{w_{i - 1}}} ight)$,可以先看一下它的定義

$$Pleft( {{w_i}|{w_{i - 1}}} ight) = frac{{Pleft( {{w_{i - 1}},{w_i}} ight)}}{{Pleft( {{w_{i - 1}}} ight)}}$$

需要做的是估計

那麼這兩種概率如何得到?

有了大量的語料庫(Corpus)以後,只要數一下${{w_{i - 1}},{w_i}}$在統計的文本前後相鄰出現了多少次${# left( {{w_{i - 1}},{w_i}} ight)}$即可。然後除以語料庫的大小#,這樣就可以使用 頻度 來估計概率了。

根據 大數定理 ,只要統計量足夠,相對頻度就等於概率。

$$Pleft( {{w_i}|{w_{i - 1}}} ight) = frac{{# left( {{w_{i - 1}},{w_i}} ight)}}{{# left( {{w_{i - 1}}} ight)}}$$

居然用這么復雜的模型就可以解決復雜的語音識別、機器翻譯的問題。

二元模型最大的特點在於,每個詞只與前面一個詞有關,太簡化了,更普遍的是某個詞與前面若干詞都有關。

所以$N$元模型指的就是當前詞$w_i$只取決於前$N-1$個詞,這就是 N-1階馬爾科夫假設

實際中,三元模型用得多更多,所以$N=3$,而更高階的就比較少用了,因為

使用語言模型需要知道模型中所有的 條件概率 ,我們稱之為 模型的參數 。

通過對語料的統計,得到這些參數的過程稱作 模型的訓練 。

之前我們講過,只需要統計出相鄰兩個字元同時出現的次數以及${w_{i - 1}}$單獨出現的次數,然後計算一下比值即可。

但是有一種情況我們沒有考慮,如果相鄰兩個詞並沒有同時出現過,也就是$# left( {{w_{i - 1}},{w_i}} ight) = 0$怎麼辦,是否就說明概率為0。

當然不是,這就涉及到統計的 可靠性 了。

在數理統計中,我們之所以敢用採用數據來預測概率,是因為 大數定理 ,它的要求是有足夠的觀測值。也就是如果樣本太小,則使用次數來預測概率當然不靠譜。

那麼如何正確的訓練一個語言模型呢?

下面以統計詞典中每個詞的概率來具體講講。

假定在語料庫中出現$r$次的詞有$N_r$個,$N$表示語料庫的大小。

$$N = sumlimits_{r = 1}^infty {r{N_r}} $$

也就是說每個詞出現的$r$詞的詞的個數與出現了多少次相乘。

當$r$比較小,說明出現的次數不夠多,那麼在計算它們的概率的時候要使用一個更小一點的次數,比如$d_r$

$${d_r} = left( {r + 1} ight)frac{{{N_{r + 1}}}}{{{N_r}}}$$

而且

$$sumlimits_r {{d_r}{N_r}} = N$$

一般來說, 出現1次的詞的數量比出現兩次的多,同樣出現兩次比出現三次的多。

也就是出現的次數$r$越大,詞的數量$N_r$越小,所以${N_{r + 1}} < {N_r}$,可以看出${d_r} < r$,這樣估算是因為$d_r$是我們要找的那個比$r$更小的數,而當只出現0次的時候${d_0}>0$

這樣,

對於二元模型,

其中

這種平滑的方法最早是由IBM的卡茨提出來的,所以稱為 卡茨退避法

還有一種方法是 刪除差值 法,也就是用低階模型和高階模型進行線性插值的方法來平滑處理,但是因為效果差於卡茨退避發,所以很少使用了。

模型訓練中另一個重要問題是 訓練數據 ,或者說是語料庫的選取,如果訓練預料和模型應用的領域相脫節,模型的效果也要大打折扣。

比如對於建立一個語言模型,如果應用是網頁搜索,它的訓練數據就應該是 雜亂的網頁數據 和用戶輸入的搜索串,而不是傳統的、規范的新聞稿 ,即使前者夾雜著噪音和錯誤。因為訓練數據和應用一致,搜索質量反而更好。

訓練數據通常是越多越好,高階模型因為參數多,需要的訓練數據也相應會多很多,遺憾的是,並非所有的應用都能有足夠的訓練數據,比如機器翻譯的雙語語料,這個時候,追求高階的大模型沒有任何意義。

如果訓練數據和應用數據一致了,而且訓練量足夠大了以後,訓練預料的噪音高低也會對模型產生影響。所以訓練之前需要進行預處理,對於可以找到規律的而且還比較多的噪音需要進行處理,比如製表符

對於西方拼音來說,詞之間有明確的分界符(Delimit)。但是對於中文來講,詞之間沒有明確的分界符。所以需要先對句子進行分詞。

最容易想到的方法就是 查字典 也就是說,從左到右掃描一遍,遇到字典裡面有的詞就標識出。

但是這種方法遇到復雜的問題就不行了。比如說遇到 二義性 的分割時。像「發展中國家」,正確的分割是「發展-中-國家」,而從左向右查字典會分割為「發展-中國-家」

同樣我們可以使用 統計語言模型 來解決分詞二義性的問題。

假定一個句子$S$有幾種分詞方法:

$$egin{array}{l}
{A_1},{A_2},{A_3}, cdots ,{A_k}
{B_1},{B_2},{B_3}, cdots ,{B_m}
{C_1},{C_2},{C_3}, cdots ,{C_n}
end{array}$$

最好的分詞方法 就是分完詞以後,這個句子出現的概率最大。

當然如果窮舉所有的分詞方法,並計算每種可能性下的句子的概率,那麼計算量是相當大的。

可以看作是一個 動態規劃(Dynamic Programming) 問題,並利用 維特比(Viterbi)演算法 快速的找到最佳分詞

語言學家對詞語的定義不完全相同,比如說「北京大學」,有人認為是一個詞,有人認為是兩個詞。折中的方法就是先當做一個四字詞,然後再進一步找到細分詞「北京」和「大學」

人工分詞產生不一致性的主要原因在於人們對詞的 顆粒度 的認識問題。

比如說「清華大學」,有人認為是一個整體,有人認為「清華」是修飾「大學」的。這里不需要去強調誰的觀點正確,而是應該知道,在不同的應用裡面,會有一種顆粒度比另一種更好的情況。

比如說在機器翻譯中,顆粒度大翻譯效果好,比如「聯想公司」如果拆分為開,很難翻譯為「Lenovo」。但是在網頁搜索裡面,小的顆粒度會比大的要好,比如用戶查詢「清華」而不是「清華大學」一樣可以查詢到清華大學的主頁。

如果為不同的應用構建不同的分詞器,太過浪費。可 以讓一個分詞器同時支持不同層次的詞的切分。

也就是說先把句子按照基本詞進行分割,再把基本詞串按照復合詞模型再分割。

H. 快速了解什麼是自然語言處理

摘要:

自然語言處理是計算機科學領域與人工智慧領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、計算機科學、數學等於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯系,但又有重要的區別。自然語言處理並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的計算機系統,特別是其中的軟體系統。因而它是計算機科學的一部分。

1 計算機對自然語言處理的過程

1.1把需要研究是問題在語言上建立形式化模型,使其可以數學形式表示出來,這個過程稱之為"形式化"

1.2把數學模型表示為演算法的過程稱之為"演算法化"

1.3根據演算法,計算機進行實現,建立各種自然語言處理系統,這個過程是"程序化"

1.4對系統進行評測和改進最終滿足現實需求,這個過程是"實用化"


2 自然語言處理涉及的知識領域

語言學、計算機科學(提供模型表示、演算法設計、計算機實現)、數學(數學模型)、心理學(人類言語心理模型和理論)、哲學(提供人類思維和語言的更深層次理論)、統計學(提供樣本數據的預測統計技術)、電子工程(資訊理論基礎和語言信號處理技術)、生物學(人類言語行為機制理論)。故其為多邊緣的交叉學科


3 自然語言處理涉及的范圍

3.1語音的自動合成與識別、機器翻譯、自然語言理解、人機對話、信息檢索、文本分類、自動文摘等等,總之分為四大方向:


3.2也可細分為13個方面


4自然語言處理的發展的幾個特點


最後,你了解了嗎。

閱讀全文

與自然語言處理用需要什麼數學相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:705
乙酸乙酯化學式怎麼算 瀏覽:1372
沈陽初中的數學是什麼版本的 瀏覽:1318
華為手機家人共享如何查看地理位置 瀏覽:1011
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:849
數學c什麼意思是什麼意思是什麼 瀏覽:1371
中考初中地理如何補 瀏覽:1260
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:672
數學奧數卡怎麼辦 瀏覽:1351
如何回答地理是什麼 瀏覽:989
win7如何刪除電腦文件瀏覽歷史 瀏覽:1023
大學物理實驗干什麼用的到 瀏覽:1449
二年級上冊數學框框怎麼填 瀏覽:1659
西安瑞禧生物科技有限公司怎麼樣 瀏覽:836
武大的分析化學怎麼樣 瀏覽:1213
ige電化學發光偏高怎麼辦 瀏覽:1301
學而思初中英語和語文怎麼樣 瀏覽:1608
下列哪個水飛薊素化學結構 瀏覽:1388
化學理學哪些專業好 瀏覽:1453
數學中的棱的意思是什麼 瀏覽:1017