-
當前位置:首頁 > 創(chuàng)意學院 > 技術(shù) > 專題列表 > 正文
nlp最新算法(nlp最新算法模型)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于nlp最新算法的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、自然語言處理基礎(chǔ)知識
NLP 是什么?
NLP 是計算機科學領(lǐng)域與 人工智能 領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、計算機科學、數(shù)學于一體的學科。NLP 由兩個主要的技術(shù)領(lǐng)域構(gòu)成:自然語言理解和自然語言生成。
自然語言理解方向,主要目標是幫助機器更好理解人的語言,包括基礎(chǔ)的詞法、句法等語義理解,以及需求、篇章、情感層面的高層理解。
自然語言生成方向,主要目標是幫助機器生成人能夠理解的語言,比如文本生成、自動文摘等。
NLP 技術(shù)基于大數(shù)據(jù)、知識圖譜、 機器學習 、語言學等技術(shù)和資源,并可以形成機器翻譯、深度問答、對話系統(tǒng)的具體應用系統(tǒng),進而服務于各類實際業(yè)務和產(chǎn)品。
NLP在金融方面
金融行業(yè)因其與數(shù)據(jù)的高度相關(guān)性,成為人工智能最先應用的行業(yè)之一,而NLP與知識圖譜作為人工智能技術(shù)的重要研究方向與組成部分,正在快速進入金融領(lǐng)域,并日益成為智能金融的基石。輿情分析輿情主要指民眾對社會各種具體事物的情緒、意見、價值判斷和愿望等。
事件(Event ):在特定時間、特定地點發(fā)生的事情。主題(Topic):也稱為話題,指一個種子事件或活動以及與它直接相關(guān)的事件和活動。專題(Subject):涵蓋多個類似的具體事件或根本不涉及任何具體事件。需要說明的是,國內(nèi)新聞網(wǎng)站新浪、搜狐等所定義的“專題”概念大多數(shù)等同于我們的“主題”概念。熱點:也可稱為熱點主題。熱點和主題的概念比較接近,但有所區(qū)別。
1. 詞干提取
什么是詞干提?。吭~干提取是將詞語去除變化或衍生形式,轉(zhuǎn)換為詞干或原型形式的過程。詞干提取的目標是將相關(guān)詞語還原為同樣的詞干,哪怕詞干并非詞典的詞目。
2. 詞形還原
什么是詞形還原? 詞形還原是將一組詞語還原為詞源或詞典的詞目形式的過程。還原過程考慮到了POS問題,即詞語在句中的語義,詞語對相鄰語句的語義等。
3. 詞向量化什么是詞向量化?詞向量化是用一組實數(shù)構(gòu)成的向量代表自然語言的叫法。這種技術(shù)非常實用,因為電腦無法處理自然語言。詞向量化可以捕捉到自然語言和實數(shù)間的本質(zhì)關(guān)系。通過詞向量化,一個詞語或者一段短語可以用一個定維的向量表示,例如向量的長度可以為100。
4. 詞性標注
什么是詞性標注?簡單來說,詞性標注是對句子中的詞語標注為名字、動詞、形容詞、副詞等的過程。
5. 命名實體消歧
什么是命名實體消岐?命名實體消岐是對句子中的提到的實體識別的過程。例如,對句子“Apple earned a revenue of 200 Billion USD in 2016”,命名實體消岐會推斷出句子中的Apple是蘋果公司而不是指一種水果。一般來說,命名實體要求有一個實體知識庫,能夠?qū)⒕渥又刑岬降膶嶓w和知識庫聯(lián)系起來。
6. 命名實體識別
體識別是識別一個句子中有特定意義的實體并將其區(qū)分為人名,機構(gòu)名,日期,地名,時間等類別的任務。
7. 情感分析
什么是情感分析?情感分析是一種廣泛的主觀分析,它使用自然語言處理技術(shù)來識別客戶評論的語義情感,語句表達的情緒正負面以及通過語音分析或書面文字判斷其表達的情感等等。
8. 語義文本相似度
什么是語義文本相似度分析?語義文本相似度分析是對兩段文本的意義和本質(zhì)之間的相似度進行分析的過程。注意,相似性與相關(guān)性是不同的。
9.語言識別
什么是語言識別?語言識別指的是將不同語言的文本區(qū)分出來。其利用語言的統(tǒng)計和語法屬性來執(zhí)行此任務。語言識別也可以被認為是文本分類的特殊情況。
10. 文本摘要
什么是文本摘要?文本摘要是通過識別文本的重點并使用這些要點創(chuàng)建摘要來縮短文本的過程。文本摘要的目的是在不改變文本含義的前提下最大限度地縮短文本。
11.評論觀點抽取
自動分析評論關(guān)注點和評論觀點,并輸出評論觀點標簽及評論觀點極性。目前支持 13 類產(chǎn)品用戶評論的觀點抽取,包括美食、酒店、汽車、景點等,可幫助商家進行產(chǎn)品分析,輔助用戶進行消費決策。
11.DNN 語言模型
語言模型是通過計算給定詞組成的句子的概率,從而判斷所組成的句子是否符合客觀語言表達習慣。在機器翻譯、拼寫糾錯、語音識別、問答系統(tǒng)、詞性標注、句法分析和信息檢索等系統(tǒng)中都有廣泛應用。
12.依存句法分析
利用句子中詞與詞之間的依存關(guān)系來表示詞語的句法結(jié)構(gòu)信息 (如主謂、動賓、定中等結(jié)構(gòu)關(guān)系),并用樹狀結(jié)構(gòu)來表示整句的的結(jié)構(gòu) (如主謂賓、定狀補等)。
1、NLTK
一種流行的自然語言處理庫、自帶語料庫、具有分類,分詞等很多功能,國外使用者居多,類似中文的 jieba 處理庫
2、文本處理流程
大致將文本處理流程分為以下幾個步驟:
Normalization
Tokenization
Stop words
Part-of-speech Tagging
Named Entity Recognition
Stemming and Lemmatization
下面是各個流程的具體介紹
Normalization
第一步通常要做就是Normalization。在英文中,所有句子第一個單詞的首字母一般是大寫,有的單詞也會全部字母都大寫用于表示強調(diào)和區(qū)分風格,這樣更易于人類理解表達的意思。
Tokenization
Token是"符號"的高級表達, 一般值具有某種意義,無法再拆分的符號。在英文自然語言處理中,Tokens通常是單獨的詞,因此Tokenization就是將每個句子拆分為一系列的詞。
Stop Word
Stop Word 是無含義的詞,例如’is’/‘our’/‘the’/‘in’/'at’等。它們不會給句子增加太多含義,單停止詞是頻率非常多的詞。 為了減少我們要處理的詞匯量,從而降低后續(xù)程序的復雜度,需要清除停止詞。
Named Entity
Named Entity 一般是名詞短語,又來指代某些特定對象、人、或地點 可以使用 ne_chunk()方法標注文本中的命名實體。在進行這一步前,必須先進行 Tokenization 并進行 PoS Tagging。
Stemming and Lemmatization
為了進一步簡化文本數(shù)據(jù),我們可以將詞的不同變化和變形標準化。Stemming 提取是將詞還原成詞干或詞根的過程。
3、Word2vec
Word2vec是一種有效創(chuàng)建詞嵌入的方法,它自2013年以來就一直存在。但除了作為詞嵌入的方法之外,它的一些概念已經(jīng)被證明可以有效地創(chuàng)建推薦引擎和理解時序數(shù)據(jù)。在商業(yè)的、非語言的任務中。
### 四、NLP前沿研究方向與算法
1、MultiBERT
2、XLNet
3、bert 模型
BERT的全稱是Bidirectional Encoder Representation from Transformers,即雙向Transformer的Encoder,因為decoder是不能獲要預測的信息的。模型的主要創(chuàng)新點都在pre-train方法上,即用了Masked LM和Next Sentence Prediction兩種方法分別捕捉詞語和句子級別的representation。
BERT提出之后,作為一個Word2Vec的替代者,其在NLP領(lǐng)域的11個方向大幅刷新了精度,可以說是近年來自殘差網(wǎng)絡(luò)最優(yōu)突破性的一項技術(shù)了。BERT的主要特點以下幾點:
使用了Transformer作為算法的主要框架,Trabsformer能更徹底的捕捉語句中的雙向關(guān)系;
使用了Mask Language Model(MLM)和 Next Sentence Prediction(NSP) 的多任務訓練目標;
使用更強大的機器訓練更大規(guī)模的數(shù)據(jù),使BERT的結(jié)果達到了全新的高度,并且Google開源了BERT模型,用戶可以直接使用BERT作為Word2Vec的轉(zhuǎn)換矩陣并高效的將其應用到自己的任務中。
BERT的本質(zhì)上是通過在海量的語料的基礎(chǔ)上運行自監(jiān)督學習方法為單詞學習一個好的特征表示,所謂自監(jiān)督學習是指在沒有人工標注的數(shù)據(jù)上運行的監(jiān)督學習。在以后特定的NLP任務中,我們可以直接使用BERT的特征表示作為該任務的詞嵌入特征。所以BERT提供的是一個供其它任務遷移學習的模型,該模型可以根據(jù)任務微調(diào)或者固定之后作為特征提取器。
模型結(jié)構(gòu): 由于模型的構(gòu)成元素Transformer已經(jīng)解析過,就不多說了,BERT模型的結(jié)構(gòu)如下圖最左:
對比OpenAI GPT(Generative pre-trained transformer),BERT是雙向的Transformer block連接;就像單向rnn和雙向rnn的區(qū)別,直覺上來講效果會好一些。
優(yōu)點: BERT是截至2018年10月的最新state of the art模型,通過預訓練和精調(diào)橫掃了11項NLP任務,這首先就是最大的優(yōu)點了。而且它還用的是Transformer,也就是相對rnn更加高效、能捕捉更長距離的依賴。對比起之前的預訓練模型,它捕捉到的是真正意義上的bidirectional context信息。
缺點: MLM預訓練時的mask問題
[MASK]標記在實際預測中不會出現(xiàn),訓練時用過多[MASK]影響模型表現(xiàn)
每個batch只有15%的token被預測,所以BERT收斂得比left-to-right模型要慢(它們會預測每個token)
BERT火得一塌糊涂不是沒有原因的:
使用Transformer的結(jié)構(gòu)將已經(jīng)走向瓶頸期的Word2Vec帶向了一個新的方向,并再一次炒火了《Attention is All you Need》這篇論文;
11個NLP任務的精度大幅提升足以震驚整個深度學習領(lǐng)域;
無私的開源了多種語言的源碼和模型,具有非常高的商業(yè)價值。
遷移學習又一次勝利,而且這次是在NLP領(lǐng)域的大勝,狂勝。
BERT算法還有很大的優(yōu)化空間,例如我們在Transformer中講的如何讓模型有捕捉Token序列關(guān)系的能力,而不是簡單依靠位置嵌入。BERT的訓練在目前的計算資源下很難完成,論文中說的訓練需要在64塊TPU芯片上訓練4天完成,而一塊TPU的速度約是目前主流GPU的7-8倍。
二、自然語言處理基礎(chǔ) - NLP
什么是自然語言處理
自然語言處理 (英語:natural language processing,縮寫作 NLP) 是人工智能和語言學領(lǐng)域的分支學科。此領(lǐng)域探討如何處理及運用自然語言;自然語言認知則是指讓電腦“懂”人類的語言。自然語言生成系統(tǒng)把計算機數(shù)據(jù)轉(zhuǎn)化為自然語言。自然語言理解系統(tǒng)把自然語言轉(zhuǎn)化為計算機程序更易于處理的形式。
自然語言處理有四大類常見的任務
什么是命名實體識別
命名實體識別(NER)是信息提取(Information Extraction)的一個子任務,主要涉及如何從文本中提取命名實體并將其分類至事先劃定好的類別,如在招聘信息中提取具體招聘公司、崗位和工作地點的信息,并將其分別歸納至公司、崗位和地點的類別下。命名實體識別往往先將整句拆解為詞語并對每個詞語進行此行標注,根據(jù)習得的規(guī)則對詞語進行判別。這項任務的關(guān)鍵在于對未知實體的識別?;诖?,命名實體識別的主要思想在于根據(jù)現(xiàn)有實例的特征總結(jié)識別和分類規(guī)則。這些方法可以被分為有監(jiān)督(supervised)、半監(jiān)督(semi-supervised)和無監(jiān)督(unsupervised)三類。有監(jiān)督學習包括隱形馬科夫模型(HMM)、決策樹、最大熵模型(ME)、支持向量機(SVM)和條件隨機場(CRF)。這些方法主要是讀取注釋語料庫,記憶實例并進行學習,根據(jù)這些例子的特征生成針對某一種實例的識別規(guī)則。
什么是詞性標注
詞性標注 (pos tagging) 是指為分詞結(jié)果中的每個單詞標注一個正確的詞性的程序,也即確定每個詞是名詞、動詞、形容詞或其他詞性的過程。
什么是文本分類
該技術(shù)可被用于理解、組織和分類結(jié)構(gòu)化或非結(jié)構(gòu)化文本文檔。文本挖掘所使用的模型有詞袋(BOW)模型、語言模型(ngram)和主題模型。隱馬爾可夫模型通常用于詞性標注(POS)。其涵蓋的主要任務有句法分析、情緒分析和垃圾信息檢測。
GLUE benchmark
General Language Understanding Evaluation benchmark,通用語言理解評估基準,用于測試模型在廣泛自然語言理解任務中的魯棒性。
LM:Language Model
語言模型,一串詞序列的概率分布,通過概率模型來表示文本語義。
語言模型有什么作用?通過語言模型,可以量化地衡量一段文本存在的可能性。對于一段長度為n的文本,文本里每個單詞都有上文預測該單詞的過程,所有單詞的概率乘積便可以用來評估文本。在實踐中,如果文本很長,P(wi|context(wi))的估算會很困難,因此有了簡化版:N元模型。在N元模型中,通過對當前詞的前N個詞進行計算來估算該詞的條件概率。
重要文獻與資料
https://segmentfault.com/a/1190000015460828
https://segmentfault.com/a/1190000015284996
https://segmentfault.com/a/1190000015285996
我們介紹詞的向量表征,也稱為 word embedding 。詞向量是自然語言處理中常見的一個操作,是搜索引擎、廣告系統(tǒng)、推薦系統(tǒng)等互聯(lián)網(wǎng)服務背后常見的基礎(chǔ)技術(shù)。
在這些互聯(lián)網(wǎng)服務里,我們經(jīng)常要比較兩個詞或者兩段文本之間的相關(guān)性。為了做這樣的比較,我們往往先要把詞表示成計算機適合處理的方式。最自然的方式恐怕莫過于向量空間模型(vector space model)。 在這種方式里,每個詞被表示成一個實數(shù)向量(one-hot vector),其長度為字典大小,每個維度對應一個字典里的每個詞,除了這個詞對應維度上的值是1,其他元素都是0。
One-hot vector雖然自然,但是用處有限。比如,在互聯(lián)網(wǎng)廣告系統(tǒng)里,如果用戶輸入的query是“母親節(jié)”,而有一個廣告的關(guān)鍵詞是“康乃馨”。雖然按照常理,我們知道這兩個詞之間是有聯(lián)系的——母親節(jié)通常應該送給母親一束康乃馨;但是這兩個詞對應的one-hot vectors之間的距離度量,無論是歐氏距離還是余弦相似度(cosine similarity),由于其向量正交,都認為這兩個詞毫無相關(guān)性。 得出這種與我們相悖的結(jié)論的根本原因是:每個詞本身的信息量都太小。所以,僅僅給定兩個詞,不足以讓我們準確判別它們是否相關(guān)。要想精確計算相關(guān)性,我們還需要更多的信息——從大量數(shù)據(jù)里通過機器學習方法歸納出來的知識。
在機器學習領(lǐng)域里,各種“知識”被各種模型表示,詞向量模型(word embedding model)就是其中的一類。通過詞向量模型可將一個 one-hot vector映射到一個維度更低的實數(shù)向量(embedding vector),如embedding(母親節(jié))=[0.3,4.2,−1.5,...],embedding(康乃馨)=[0.2,5.6,−2.3,...]。在這個映射到的實數(shù)向量表示中,希望兩個語義(或用法)上相似的詞對應的詞向量“更像”,這樣如“母親節(jié)”和“康乃馨”的對應詞向量的余弦相似度就不再為零了。
詞向量模型可以是概率模型、共生矩陣(co-occurrence matrix)模型或神經(jīng)元網(wǎng)絡(luò)模型。在用神經(jīng)網(wǎng)絡(luò)求詞向量之前,傳統(tǒng)做法是統(tǒng)計一個詞語的共生矩陣X。
X是一個|V|×|V| 大小的矩陣,Xij表示在所有語料中,詞匯表V(vocabulary)中第i個詞和第j個詞同時出現(xiàn)的詞數(shù),|V|為詞匯表的大小。對X做矩陣分解(如奇異值分解),得到的U即視為所有詞的詞向量:
但這樣的傳統(tǒng)做法有很多問題:
基于神經(jīng)網(wǎng)絡(luò)的模型不需要計算和存儲一個在全語料上統(tǒng)計產(chǎn)生的大表,而是通過學習語義信息得到詞向量,因此能很好地解決以上問題。
神經(jīng)網(wǎng)絡(luò)
當詞向量訓練好后,我們可以用數(shù)據(jù)可視化算法t-SNE[ 4 ]畫出詞語特征在二維上的投影(如下圖所示)。從圖中可以看出,語義相關(guān)的詞語(如a, the, these; big, huge)在投影上距離很近,語意無關(guān)的詞(如say, business; decision, japan)在投影上的距離很遠。
另一方面,我們知道兩個向量的余弦值在[−1,1]的區(qū)間內(nèi):兩個完全相同的向量余弦值為1, 兩個相互垂直的向量之間余弦值為0,兩個方向完全相反的向量余弦值為-1,即相關(guān)性和余弦值大小成正比。因此我們還可以計算兩個詞向量的余弦相似度。
模型概覽
語言模型
在介紹詞向量模型之前,我們先來引入一個概念:語言模型。 語言模型旨在為語句的聯(lián)合概率函數(shù)P(w1,...,wT)建模, 其中wi表示句子中的第i個詞。語言模型的目標是,希望模型對有意義的句子賦予大概率,對沒意義的句子賦予小概率。 這樣的模型可以應用于很多領(lǐng)域,如機器翻譯、語音識別、信息檢索、詞性標注、手寫識別等,它們都希望能得到一個連續(xù)序列的概率。 以信息檢索為例,當你在搜索“how long is a football bame”時(bame是一個醫(yī)學名詞),搜索引擎會提示你是否希望搜索"how long is a football game", 這是因為根據(jù)語言模型計算出“how long is a football bame”的概率很低,而與bame近似的,可能引起錯誤的詞中,game會使該句生成的概率最大。
對語言模型的目標概率P(w1,...,wT),如果假設(shè)文本中每個詞都是相互獨立的,則整句話的聯(lián)合概率可以表示為其中所有詞語條件概率的乘積,即:
然而我們知道語句中的每個詞出現(xiàn)的概率都與其前面的詞緊密相關(guān), 所以實際上通常用條件概率表示語言模型:
N-gram neural model
在計算語言學中,n-gram是一種重要的文本表示方法,表示一個文本中連續(xù)的n個項?;诰唧w的應用場景,每一項可以是一個字母、單詞或者音節(jié)。 n-gram模型也是統(tǒng)計語言模型中的一種重要方法,用n-gram訓練語言模型時,一般用每個n-gram的歷史n-1個詞語組成的內(nèi)容來預測第n個詞。
Yoshua Bengio等科學家就于2003年在著名論文 Neural Probabilistic Language Models [ 1 ] 中介紹如何學習一個神經(jīng)元網(wǎng)絡(luò)表示的詞向量模型。文中的神經(jīng)概率語言模型(Neural Network Language Model,NNLM)通過一個線性映射和一個非線性隱層連接,同時學習了語言模型和詞向量,即通過學習大量語料得到詞語的向量表達,通過這些向量得到整個句子的概率。因所有的詞語都用一個低維向量來表示,用這種方法學習語言模型可以克服維度災難(curse of dimensionality)。注意:由于“神經(jīng)概率語言模型”說法較為泛泛,我們在這里不用其NNLM的本名,考慮到其具體做法,本文中稱該模型為N-gram neural model。
在上文中已經(jīng)講到用條件概率建模語言模型,即一句話中第t個詞的概率和該句話的前t−1個詞相關(guān)??蓪嶋H上越遠的詞語其實對該詞的影響越小,那么如果考慮一個n-gram, 每個詞都只受其前面n-1個詞的影響,則有:
給定一些真實語料,這些語料中都是有意義的句子,N-gram模型的優(yōu)化目標則是最大化目標函數(shù):
其中f(wt,wt−1,...,wt−n+1)表示根據(jù)歷史n-1個詞得到當前詞wt的條件概率,R(θ)表示參數(shù)正則項。
Continuous Bag-of-Words model(CBOW)
CBOW模型通過一個詞的上下文(各N個詞)預測當前詞。當N=2時,模型如下圖所示:
具體來說,不考慮上下文的詞語輸入順序,CBOW是用上下文詞語的詞向量的均值來預測當前詞。
其中xt為第t個詞的詞向量,分類分數(shù)(score)向量 z=U∗context,最終的分類y采用softmax,損失函數(shù)采用多類分類交叉熵。
Skip-gram model
CBOW的好處是對上下文詞語的分布在詞向量上進行了平滑,去掉了噪聲,因此在小數(shù)據(jù)集上很有效。而Skip-gram的方法中,用一個詞預測其上下文,得到了當前詞上下文的很多樣本,因此可用于更大的數(shù)據(jù)集。
如上圖所示,Skip-gram模型的具體做法是,將一個詞的詞向量映射到2n個詞的詞向量(2n表示當前輸入詞的前后各n個詞),然后分別通過softmax得到這2n個詞的分類損失值之和。
我們介紹了詞向量、語言模型和詞向量的關(guān)系、以及如何通過訓練神經(jīng)網(wǎng)絡(luò)模型獲得詞向量。在信息檢索中,我們可以根據(jù)向量間的余弦夾角,來判斷query和文檔關(guān)鍵詞這二者間的相關(guān)性。在句法分析和語義分析中,訓練好的詞向量可以用來初始化模型,以得到更好的效果。在文檔分類中,有了詞向量之后,可以用聚類的方法將文檔中同義詞進行分組,也可以用 N-gram 來預測下一個詞。希望大家在本章后能夠自行運用詞向量進行相關(guān)領(lǐng)域的研究。
參考: https://www.paddlepaddle.org.cn/documentation/docs/zh/user_guides/simple_case/word2vec/README.cn.html
三、NLP第十篇-語義分析
對于不同的語言單位,語義分析的任務各不相同。在詞的層次上,語義分析的基本任務是進行 詞義消歧(WSD) ,在句子層面上是 語義角色標注(SRL) ,在篇章層面上是 指代消歧 ,也稱共指消解。
詞義消歧
由于詞是能夠獨立運用的最小語言單位,句子中的每個詞的含義及其在特定語境下的相互作用構(gòu)成了整個句子的含義,因此,詞義消歧是句子和篇章語義理解的基礎(chǔ),詞義消歧有時也稱為詞義標注,其任務就是確定一個多義詞在給定上下文語境中的具體含義。
詞義消歧的方法也分為有監(jiān)督的消歧方法和無監(jiān)督的消歧方法,在有監(jiān)督的消歧方法中,訓練數(shù)據(jù)是已知的,即每個詞的詞義是被標注了的;而在無監(jiān)督的消歧方法中,訓練數(shù)據(jù)是未經(jīng)標注的。
多義詞的詞義識別問題實際上就是該詞的上下文分類問題,還記得詞性一致性識別的過程嗎,同樣也是根據(jù)詞的上下文來判斷詞的詞性。
有監(jiān)督詞義消歧根據(jù)上下文和標注結(jié)果完成分類任務。而無監(jiān)督詞義消歧通常被稱為聚類任務,使用聚類算法對同一個多義詞的所有上下文進行等價類劃分,在詞義識別的時候,將該詞的上下文與各個詞義對應上下文的等價類進行比較,通過上下文對應的等價類來確定詞的詞義。此外,除了有監(jiān)督和無監(jiān)督的詞義消歧,還有一種基于詞典的消歧方法。
在詞義消歧方法研究中,我們需要大量測試數(shù)據(jù),為了避免手工標注的困難,我們通過人工制造數(shù)據(jù)的方法來獲得大規(guī)模訓練數(shù)據(jù)和測試數(shù)據(jù)。其基本思路是將兩個自然詞匯合并,創(chuàng)建一個偽詞來替代所有出現(xiàn)在語料中的原詞匯。帶有偽詞的文本作為歧義原文本,最初的文本作為消歧后的文本。
有監(jiān)督的詞義消歧方法
有監(jiān)督的詞義消歧方法通過建立分類器,用劃分多義詞上下文類別的方法來區(qū)分多義詞的詞義。
基于互信息的消歧方法
基于互信息的消歧方法基本思路是,對每個需要消歧的多義詞尋找一個上下文特征,這個特征能夠可靠地指示該多義詞在特定上下文語境中使用的是哪種語義。
互信息是兩個隨機變量X和Y之間的相關(guān)性,X與Y關(guān)聯(lián)越大,越相關(guān),則互信息越大。
這里簡單介紹用在機器翻譯中的Flip-Flop算法,這種算法適用于這樣的條件,A語言中有一個詞,它本身有兩種意思,到B語言之后,有兩種以上的翻譯。
我們需要得到的,是B語言中的哪些翻譯對應義項1,哪些對應義項2。
這個問題復雜的地方在于,對于普通的詞義消歧,比如有兩個義項的多義詞,詞都是同一個,上下文有很多,我們把這些上下文劃分為兩個等價類;而這種跨語言的,不僅要解決上下文的劃分,在這之前還要解決兩個義項多種詞翻譯的劃分。
這里面最麻煩的就是要先找到兩種義項分別對應的詞翻譯,和這兩種義項分別對應的詞翻譯所對應的上下文特征,以及他們之間的對應關(guān)系。
想象一下,地上有兩個圈,代表兩個義項;這兩個圈里,分別有若干個球,代表了每個義項對應的詞翻譯;然后這兩個圈里還有若干個方塊,代表了每個義項在該語言中對應的上下文。然后球和方塊之間有線連著(球與球,方塊與方塊之間沒有),隨便連接,球可以連多個方塊,方塊也可以連多個球。然后,圈沒了,兩個圈里的球和方塊都混在了一起,亂七八糟的,你該怎么把屬于這兩個圈的球和方塊分開。
Flip-Flop算法給出的方法是,試試。把方塊分成兩個集合,球也分成兩個集合,然后看看情況怎么樣,如果情況不好就繼續(xù)試,找到最好的劃分。然后需要解決的問題就是,怎么判定分的好不好?用互信息。
如果兩個上下文集(方塊集)和兩個詞翻譯集(球集)之間的互信息大,那我們就認為他們的之間相關(guān)關(guān)系大,也就與原來兩個義項完美劃分更接近。
實際上,基于互信息的這種方法直接把詞翻譯的義項劃分也做好了。
基于貝葉斯分類器的消歧方法
基于貝葉斯分類器的消歧方法的思想與《淺談機器學習基礎(chǔ)》中講的樸素貝葉斯分類算法相同,當時是用來判定垃圾郵件和正常郵件,這里則是用來判定不同義項(義項數(shù)可以大于2),我們只需要計算給定上下文語境下,概率最大的詞義就好了。
根據(jù)貝葉斯公式,兩種情況下,分母都可以忽略,所要計算的就是分子,找最大的分子,在垃圾郵件識別中,分子是P(當前郵件所出現(xiàn)的詞語|垃圾郵件)P(垃圾郵件),那么乘起來就是垃圾郵件和當前郵件詞語出現(xiàn)的聯(lián)合分布概率,正常郵件同理;而在這里分子是P(當前詞語所存在的上下文|某一義項)P(某一義項),這樣計算出來的就是某一義項和上下文的聯(lián)合分布概率,再除以分母P(當前詞語所存在的上下文),計算出來的結(jié)果就是P(某一義項|當前詞語所存在的上下文),就能根據(jù)上下文去求得概率最大的義項了。
基于最大熵的詞義消歧方法
利用最大熵模型進行詞義消歧的基本思想也是把詞義消歧看做一個分類問題,即對于某個多義詞根據(jù)其特定的上下文條件(用特征表示)確定該詞的義項。
基于詞典的詞義消歧方法
基于詞典語義定義的消歧方法
M. Lesk 認為詞典中的詞條本身的定義就可以作為判斷其詞義的一個很好的條件,就比如英文中的core,在詞典中有兩個定義,一個是『松樹的球果』,另一個是指『用于盛放其它東西的錐形物,比如盛放冰激凌的錐形薄餅』。如果在文本中,出現(xiàn)了『樹』、或者出現(xiàn)了『冰』,那么這個core的詞義就可以確定了。
我們可以計算詞典中不同義項的定義和詞語在文本中上下文的相似度,就可以選擇最相關(guān)的詞義了。
基于義類詞典的消歧方法
和前面基于詞典語義的消歧方法相似,只是采用的不是詞典里義項的定義文本,而是采用的整個義項所屬的義類,比如ANMINAL、MACHINERY等,不同的上下文語義類有不同的共現(xiàn)詞,依靠這個來對多義詞的義項進行消歧。
無監(jiān)督的詞義消歧方法
嚴格地講,利用完全無監(jiān)督的消歧方法進行詞義標注是不可能的,因為詞義標注畢竟需要提供一些關(guān)于語義特征的描述信息,但是,詞義辨識可以利用完全無監(jiān)督的機器學習方法實現(xiàn)。
其關(guān)鍵思想在于上下文聚類,計算多義詞所出現(xiàn)的語境向量的相似性就可以實現(xiàn)上下文聚類,從而實現(xiàn)詞義區(qū)分。
語義角色標注概述
語義角色標注是一種淺層語義分析技術(shù),它以句子為單位,不對句子所包含的予以信息進行深入分析,而只是分析句子的謂詞-論元結(jié)構(gòu)。具體一點講,語義角色標注的任務就是以句子的謂詞為中心,研究句子中各成分與謂詞之間的關(guān)系,并且用語義角色來描述它們之間的關(guān)系。比如:
實際上就是填槽吧,找到句子中的時間、地點、施事者、受事者和核心謂詞。
目前語義角色標注方法過于依賴句法分析的結(jié)果,而且領(lǐng)域適應性也太差。
自動語義角色標注是在句法分析的基礎(chǔ)上進行的,而句法分析包括短語結(jié)構(gòu)分析、淺層句法分析和依存關(guān)系分析,因此,語義角色標注方法也分為 基于短語結(jié)構(gòu)樹 的語義角色標注方法、 基于淺層句法分析結(jié)果 的語義角色標注方法和 基于依存句法分析結(jié)果 的語義角色標注方法三種。
它們的基本流程類似,在研究中一般都假定謂詞是給定的,所要做的就是找出給定謂詞的各個論元,也就是說任務是確定的,找出這個任務所需的各個槽位的值。其流程一般都由4個階段組成:
候選論元剪除的目的就是要從大量的候選項中剪除掉那些不可能成為論元的項,從而減少候選項的數(shù)目。
論元辨識階段的任務是從剪除后的候選項中識別出哪些是真正的論元。論元識別通常被作為一個二值分類問題來解決,即判斷一個候選項是否是真正的論元。該階段不需要對論元的語義角色進行標注。
論元標注階段要為前一階段識別出來的論元標注語義角色。論元標注通常被作為一個多值分類問題來解決,其類別集合就是所有的語義角色標簽。
最終,后處理階段的作用是對前面得到的語義角色標注結(jié)果進行處理,包括刪除語義角色重復的論元等。
基于短語結(jié)構(gòu)樹的語義角色標注方法
首先是第一步,候選論元剪除,具體方法如下:
將謂詞作為當前結(jié)點,依次考察它的兄弟結(jié)點:如果一個兄弟結(jié)點和當前結(jié)點在句法結(jié)構(gòu)上不是并列的關(guān)系,則將它作為候選項。如果該兄弟結(jié)點的句法標簽是介詞短語,則將它的所有子節(jié)點都作為候選項。
將當前結(jié)點的父結(jié)點設(shè)為當前結(jié)點,重復上一個步驟,直至當前結(jié)點是句法樹的根結(jié)點。
舉個例子,候選論元就是圖上畫圈的:
經(jīng)過剪除得到候選論元之后,進入論元識別階段,為分類器選擇有效的特征。人們總結(jié)出了一些常見的有效特征,比如謂詞本身、路徑、短語類型、位置、語態(tài)、中心詞、從屬類別、論元的第一個詞和最后一個詞、組合特征等等。
然后進行論元標注,這里也需要找一些對應的特征。然后后處理并不是必須的。
基于依存關(guān)系樹的語義角色標注方法
該語義角色標注方法是基于依存分析樹進行的。由于短語結(jié)構(gòu)樹與依存結(jié)構(gòu)樹不同,所以基于二者的語義角色標注方法也有不同。
在基于短語結(jié)構(gòu)樹的語義角色標方法中,論元被表示為連續(xù)的幾個詞和一個語義角色標簽,比如上面圖給的『事故 原因』,這兩個詞一起作為論元A1;而在基于依存關(guān)系樹的語義角色標注方法中,一個論元被表示為一個中心詞和一個語義角色標簽,就比如在依存關(guān)系樹中,『原因』是『事故』的中心詞,那只要標注出『原因』是A1論元就可以了,也即謂詞-論元關(guān)系可以表示為謂詞和論元中心詞之間的關(guān)系。
下面給一個例子:
句子上方的是原來的依存關(guān)系樹,句子下方的則是謂詞『調(diào)查』和它的各個論元之間的關(guān)系。
第一步仍然是論元剪除,具體方法如下:
將謂詞作為當前結(jié)點
將當前結(jié)點的所有子結(jié)點都作為候選項
將當前結(jié)點的父結(jié)點設(shè)為當前結(jié)點,如果新當前結(jié)點是依存句法樹的根結(jié)點,剪除過程結(jié)束,如果不是,執(zhí)行上一步
論元識別和論元標注仍然是基于特征的分類問題,也有一些人們總結(jié)出來的常見特征。這里不詳述。
基于語塊的語義角色標注方法
我們前面知道,淺層語法分析的結(jié)果是base NP標注序列,采用的方法之一是IOB表示法,I表示base NP詞中,O表示詞外,B表示詞首。
基于語塊的語義角色標注方法將語義角色標注作為一個序列標注問題來解決。
基于語塊的語義角色標注方法一般沒有論元剪除這個過程,因為O相當于已經(jīng)剪除了大量非base NP,也即不可能為論元的內(nèi)容。論元辨識通常也不需要了,base NP就可以認為是論元。
我們需要做的就是論元標注,為所有的base NP標注好語義角色。與基于短語結(jié)構(gòu)樹或依存關(guān)系樹的語義角色標注方法相比,基于語塊的語義角色標注是一個相對簡單的過程。
當然,因為沒有了樹形結(jié)構(gòu),只是普通序列的話,與前兩種結(jié)構(gòu)相比,丟失掉了一部分信息,比如從屬關(guān)系等。
語義角色標注的融合方法
由于語義角色標注對句法分析的結(jié)果有嚴重的依賴,句法分析產(chǎn)生的錯誤會直接影響語義角色標注的結(jié)果,而進行語義角色標注系統(tǒng)融合是減輕句法分析錯誤對語義角色標注影響的有效方法。
這里所說的系統(tǒng)融合是將多個語義角色標注系統(tǒng)的結(jié)果進行融合,利用不同語義角色標注結(jié)果之間的差異性和互補性,綜合獲得一個最好的結(jié)果。
在這種方法中,一般首先根據(jù)多個不同語義角色標注結(jié)果進行語義角色標注,得到多個語義角色標注結(jié)果,然后通過融合技術(shù)將每個語義角色標注結(jié)果中正確的部分組合起來,獲得一個全部正確的語義角色標注結(jié)果。
融合方法這里簡單說一種基于整數(shù)線性規(guī)劃模型的語義角色標注融合方法,該方法需要被融合的系統(tǒng)輸出每個論元的概率,其基本思想是將融合過程作為一個推斷問題處理,建立一個帶約束的最優(yōu)化模型,優(yōu)化目標一般就是讓最終語義角色標注結(jié)果中所有論元的概率之和最大了,而模型的約束條件則一般來源于人們根據(jù)語言學規(guī)律和知識所總結(jié)出來的經(jīng)驗。
除了基于整數(shù)線性規(guī)劃模型的融合方法之外,人們還研究了若干種其他融合方法,比如最小錯誤加權(quán)的系統(tǒng)融合方法。其基本思想是認為,不應該對所有融合的標注結(jié)果都一視同仁,我們在進行融合時應當更多的信賴總體結(jié)果較好的系統(tǒng)。
END
四、cv和nlp是算法嗎
cv和nlp是算法。cv是計算機視覺,而nlp是自然語言處理,兩者都是計算機發(fā)展的重要算法分支,支撐計算機智能化發(fā)展的基石,所以cv和nlp是算法。
以上就是關(guān)于nlp最新算法相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
win7刪除winload如何恢復(win7系統(tǒng)刪除的文件怎么找回)