-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
現(xiàn)代nlp算法是基于(現(xiàn)代nlp算法是基于什么算法)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于現(xiàn)代nlp算法是基于的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、cv和nlp是算法嗎
cv和nlp是算法。cv是計算機視覺,而nlp是自然語言處理,兩者都是計算機發(fā)展的重要算法分支,支撐計算機智能化發(fā)展的基石,所以cv和nlp是算法。
二、自然語言處理基礎 - NLP
什么是自然語言處理
自然語言處理 (英語:natural language processing,縮寫作 NLP) 是人工智能和語言學領域的分支學科。此領域探討如何處理及運用自然語言;自然語言認知則是指讓電腦“懂”人類的語言。自然語言生成系統(tǒng)把計算機數(shù)據(jù)轉(zhuǎn)化為自然語言。自然語言理解系統(tǒng)把自然語言轉(zhuǎn)化為計算機程序更易于處理的形式。
自然語言處理有四大類常見的任務
什么是命名實體識別
命名實體識別(NER)是信息提?。↖nformation Extraction)的一個子任務,主要涉及如何從文本中提取命名實體并將其分類至事先劃定好的類別,如在招聘信息中提取具體招聘公司、崗位和工作地點的信息,并將其分別歸納至公司、崗位和地點的類別下。命名實體識別往往先將整句拆解為詞語并對每個詞語進行此行標注,根據(jù)習得的規(guī)則對詞語進行判別。這項任務的關鍵在于對未知實體的識別?;诖?,命名實體識別的主要思想在于根據(jù)現(xiàn)有實例的特征總結識別和分類規(guī)則。這些方法可以被分為有監(jiān)督(supervised)、半監(jiān)督(semi-supervised)和無監(jiān)督(unsupervised)三類。有監(jiān)督學習包括隱形馬科夫模型(HMM)、決策樹、最大熵模型(ME)、支持向量機(SVM)和條件隨機場(CRF)。這些方法主要是讀取注釋語料庫,記憶實例并進行學習,根據(jù)這些例子的特征生成針對某一種實例的識別規(guī)則。
什么是詞性標注
詞性標注 (pos tagging) 是指為分詞結果中的每個單詞標注一個正確的詞性的程序,也即確定每個詞是名詞、動詞、形容詞或其他詞性的過程。
什么是文本分類
該技術可被用于理解、組織和分類結構化或非結構化文本文檔。文本挖掘所使用的模型有詞袋(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)服務背后常見的基礎技術。
在這些互聯(lián)網(wǎng)服務里,我們經(jīng)常要比較兩個詞或者兩段文本之間的相關性。為了做這樣的比較,我們往往先要把詞表示成計算機適合處理的方式。最自然的方式恐怕莫過于向量空間模型(vector space model)。 在這種方式里,每個詞被表示成一個實數(shù)向量(one-hot vector),其長度為字典大小,每個維度對應一個字典里的每個詞,除了這個詞對應維度上的值是1,其他元素都是0。
One-hot vector雖然自然,但是用處有限。比如,在互聯(lián)網(wǎng)廣告系統(tǒng)里,如果用戶輸入的query是“母親節(jié)”,而有一個廣告的關鍵詞是“康乃馨”。雖然按照常理,我們知道這兩個詞之間是有聯(lián)系的——母親節(jié)通常應該送給母親一束康乃馨;但是這兩個詞對應的one-hot vectors之間的距離度量,無論是歐氏距離還是余弦相似度(cosine similarity),由于其向量正交,都認為這兩個詞毫無相關性。 得出這種與我們相悖的結論的根本原因是:每個詞本身的信息量都太小。所以,僅僅給定兩個詞,不足以讓我們準確判別它們是否相關。要想精確計算相關性,我們還需要更多的信息——從大量數(shù)據(jù)里通過機器學習方法歸納出來的知識。
在機器學習領域里,各種“知識”被各種模型表示,詞向量模型(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)絡模型。在用神經(jīng)網(wǎng)絡求詞向量之前,傳統(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)絡的模型不需要計算和存儲一個在全語料上統(tǒng)計產(chǎn)生的大表,而是通過學習語義信息得到詞向量,因此能很好地解決以上問題。
神經(jīng)網(wǎng)絡
當詞向量訓練好后,我們可以用數(shù)據(jù)可視化算法t-SNE[ 4 ]畫出詞語特征在二維上的投影(如下圖所示)。從圖中可以看出,語義相關的詞語(如a, the, these; big, huge)在投影上距離很近,語意無關的詞(如say, business; decision, japan)在投影上的距離很遠。
另一方面,我們知道兩個向量的余弦值在[−1,1]的區(qū)間內(nèi):兩個完全相同的向量余弦值為1, 兩個相互垂直的向量之間余弦值為0,兩個方向完全相反的向量余弦值為-1,即相關性和余弦值大小成正比。因此我們還可以計算兩個詞向量的余弦相似度。
模型概覽
語言模型
在介紹詞向量模型之前,我們先來引入一個概念:語言模型。 語言模型旨在為語句的聯(lián)合概率函數(shù)P(w1,...,wT)建模, 其中wi表示句子中的第i個詞。語言模型的目標是,希望模型對有意義的句子賦予大概率,對沒意義的句子賦予小概率。 這樣的模型可以應用于很多領域,如機器翻譯、語音識別、信息檢索、詞性標注、手寫識別等,它們都希望能得到一個連續(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),如果假設文本中每個詞都是相互獨立的,則整句話的聯(lián)合概率可以表示為其中所有詞語條件概率的乘積,即:
然而我們知道語句中的每個詞出現(xià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)絡表示的詞向量模型。文中的神經(jīng)概率語言模型(Neural Network Language Model,NNLM)通過一個線性映射和一個非線性隱層連接,同時學習了語言模型和詞向量,即通過學習大量語料得到詞語的向量表達,通過這些向量得到整個句子的概率。因所有的詞語都用一個低維向量來表示,用這種方法學習語言模型可以克服維度災難(curse of dimensionality)。注意:由于“神經(jīng)概率語言模型”說法較為泛泛,我們在這里不用其NNLM的本名,考慮到其具體做法,本文中稱該模型為N-gram neural model。
在上文中已經(jīng)講到用條件概率建模語言模型,即一句話中第t個詞的概率和該句話的前t−1個詞相關??蓪嶋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個詞的分類損失值之和。
我們介紹了詞向量、語言模型和詞向量的關系、以及如何通過訓練神經(jīng)網(wǎng)絡模型獲得詞向量。在信息檢索中,我們可以根據(jù)向量間的余弦夾角,來判斷query和文檔關鍵詞這二者間的相關性。在句法分析和語義分析中,訓練好的詞向量可以用來初始化模型,以得到更好的效果。在文檔分類中,有了詞向量之后,可以用聚類的方法將文檔中同義詞進行分組,也可以用 N-gram 來預測下一個詞。希望大家在本章后能夠自行運用詞向量進行相關領域的研究。
參考: https://www.paddlepaddle.org.cn/documentation/docs/zh/user_guides/simple_case/word2vec/README.cn.html
三、文本挖掘與自然語言處理
文本數(shù)據(jù)挖掘 是一種利用計算機處理技術從文本數(shù)據(jù)中抽取有價值的信息和知識的應用驅(qū)動型學科。(文本挖掘是抽取有效、新穎、有用、可理解的、散布在文本文件中的有價值知識,并且利用這些知識更好地組織信息的過程)
文本數(shù)據(jù)挖掘處理的數(shù)據(jù)類型是文本數(shù)據(jù), 屬于數(shù)據(jù)挖據(jù)的一個分支 ,與機器學習、自然語言處理、數(shù)理統(tǒng)計等學科具有緊密聯(lián)系。
文本挖掘在很多應用中都扮演重要角色,例如智能商務(例如客戶關系管理)、信息檢索(例如互聯(lián)網(wǎng)搜索)等。
文本數(shù)據(jù)挖掘需要從三個層面進行理解:
自然語言處理(NLP) 關注的是人類的自然語言與計算機設備之間的相互關系。NLP是計算機語言學的重要方面之一,它同樣也屬于計算機科學和人工智能領域。而 文本挖掘 和 NLP 的存在領域類似,它關注的是識別文本數(shù)據(jù)中有趣并且重要的模式。
但是,這二者仍有不同。首先,這兩個概念并沒有明確的界定(就像“數(shù)據(jù)挖掘”和“數(shù)據(jù)科學”一樣),并且在不同程度上二者相互交叉。
如果原始文本是數(shù)據(jù),那么 文本挖掘就是信息 , NLP就是知識 ,也就是語法和語義的關系。
文本挖掘利用智能算法,如神經(jīng)網(wǎng)絡、基于案例的推理、可能性推理等,并結合文字處理技術,分析大量的非結構化文本源(如文檔、電子表格、客戶電子郵件、問題查詢、網(wǎng)頁等),抽取或標記關鍵字概念、文字間的關系,并按照內(nèi)容對文檔進行分類,獲取有用的知識和信息。
文本挖掘是一個多學科混雜的領域,涵蓋了多種技術,
信息檢索 是指文獻等信息資源的整理和搜索,其主要目的可以概括為:按照用戶的具體需要,采用一些檢索方法,把所有相關的文獻都檢索出來,同時摒棄掉那些看似相關實則不符合要求的文檔。
我們能否為文本數(shù)據(jù)的處理制作一個高效并且通用的框架呢?我們發(fā)現(xiàn),處理文本和處理其他非文本的任務很相似
以下就是處理文本任務的幾大主要步驟:
1. 數(shù)據(jù)收集
獲取或創(chuàng)建語料庫,來源可以是郵箱、英文維基百科文章或者公司財報,甚至是莎士比亞的作品等等任何資料。
2. 數(shù)據(jù)預處理
在原始文本語料上進行預處理,為文本挖掘或NLP任務做準備
數(shù)據(jù)預處理分為好幾步,其中有些步驟可能適用于給定的任務,也可能不適用。但通常都是標記化、歸一化和替代的其中一種。
文本挖掘預處理 :文本挖掘是從數(shù)據(jù)挖掘發(fā)展而來,但并不意味著簡單地將數(shù)據(jù)挖掘技術運用到大量文本的集合上就可以實現(xiàn)文本挖掘,還需要做很多準備工作。
文本挖掘的準備工作 由 文本收集 、 文本分析 和 特征修剪 三個步驟組成
文本分析 是指對文本的表示及其特征項的選取;文本分析是文本挖掘、信息檢索的一個基本問題,它把從文本中抽取出的特征詞進行量化來表示文本信息。文本(text)與 訊息(message)的意義大致相同,指的是由一定的符號或符碼組成的信息 結構體 ,這種結構體可采用不同的表現(xiàn)形態(tài),如語言的、文字的、影像的等等。文本是由特定的人制作的,文本的語義不可避免地會反映人的特定立場、觀點、價值和利益。因此,由文本內(nèi)容分析,可以推斷文本提供者的 意圖 和目的。
特征選擇
將它們從一個無結構的原始文本轉(zhuǎn)化為結構化的計算機可以識別處理的信息,即對文本進行科學的抽象,建立它的數(shù)學模型,用以描述和代替文本。使計算機能夠通過對這種模型的計算和操作來實現(xiàn)對文本的識別。由于文本是非結構化的數(shù)據(jù),要想從大量的文本中挖掘有用的信息就必須首先將文本轉(zhuǎn)化為可處理的結構化形式。目前人們通常采用向量空間模型來描述文本向量,但是如果直接用分詞算法和詞頻統(tǒng)計方法得到的特征項來表示文本向量中的各個維,那么這個向量的維度將是非常的大。這種未經(jīng)處理的文本矢量不僅給后續(xù)工作帶來巨大的計算開銷,使整個處理過程的效率非常低下,而且會損害分類、聚類算法的精確性,從而使所得到的結果很難令人滿意。因此,必須對文本向量做進一步凈化處理,在保證原文含義的基礎上,找出對文本特征類別最具代表性的文本特征。為了解決這個問題,最有效的辦法就是通過特征選擇來降維。
目前有關文本表示的研究主要集中于文本表示模型的選擇和特征詞選擇算法的選取上。用于表示文本的基本單位通常稱為 文本的特征或特征項 。特征項必須具備一定的特性:
在中文文本中可以采用 字、詞或短語 作為表示文本的特征項。相比較而言,詞比字具有更強的表達能力,而詞和短語相比,詞的切分難度比短語的切分難度小得多。因此,目前大多數(shù)中文文本分類系統(tǒng)都采用詞作為特征項,稱作特征詞。這些特征詞作為文檔的中間表示形式,用來實現(xiàn)文檔與文檔、文檔與用戶目標之間的相似度計算 。如果把所有的詞都作為特征項,那么特征向量的維數(shù)將過于巨大,從而導致計算量太大,在這樣的情況下,要完成文本分類幾乎是不可能的。
特征抽取的主要功能是在不損傷文本核心信息的情況下盡量減少要處理的單詞數(shù),以此來降低向量空間維數(shù),從而簡化計算,提高文本處理的速度和效率。文本特征選擇對文本內(nèi)容的過濾和分類、聚類處理、自動摘要以及用戶興趣模式發(fā)現(xiàn)、知識發(fā)現(xiàn)等有關方面的研究都有非常重要的影響。通常根據(jù)某個特征評估函數(shù)計算各個特征的評分值,然后按評分值對這些特征進行排序,選取若干個評分值最高的作為特征詞,這就是 特征選擇(Feature Selection) 。
特征選取方式
常見的有4種:
隨著網(wǎng)絡知識組織、人工智能等學科的發(fā)展,文本特征提取將向著數(shù)字化、智能化、語義化的方向深入發(fā)展,在社會知識管理方面發(fā)揮更大的作用。
努力消除歧義 是文本預處理很重要的一個方面,我們希望保留原本的含義,同時消除噪音。為此,我們需要了解:
3.數(shù)據(jù)挖掘和可視化
無論我們的數(shù)據(jù)類型是什么,挖掘和可視化是探尋規(guī)律的重要步驟
常見任務可能包括可視化字數(shù)和分布,生成wordclouds并進行距離測量
4.模型搭建
這是文本挖掘和NLP任務進行的主要部分,包括訓練和測試。在適當?shù)臅r候還會進行特征選擇和工程設計
語言模型 :有限狀態(tài)機、馬爾可夫模型、詞義的向量空間建模
機器學習分類器 :樸素貝葉斯、邏輯回歸、決策樹、支持向量機、神經(jīng)網(wǎng)絡
序列模型 :隱藏馬爾可夫模型、循環(huán)神經(jīng)網(wǎng)絡(RNN)、長短期記憶神經(jīng)網(wǎng)絡(LSTMs)
5. 模型評估
評價模型是否達到預期?其度量標準將隨文本挖掘或NLP任務的類型而變化。
四、nlp實習面試算法題不會能過嘛
不能過
nlp算法
人工智能算法大體上來說可以分類兩類:基于統(tǒng)計的機器學習算法(MachineLearning)和深度學習算法(DeepLearning)
總的來說,在sklearn中機器學習
算法大概的分類如下:
1.純算法類
(1).回歸算法
(2).分類算法
(3).聚類算法
(4)降維算法
(5)概率圖模型算法
(6)文本挖掘算法
(7)優(yōu)化算法
(8)深度學習算法
2.建模方面
(1).模型優(yōu)化
(2).數(shù)據(jù)預處理覺得有用點個贊吧
以上就是關于現(xiàn)代nlp算法是基于相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
現(xiàn)代景觀設計思潮的目標(現(xiàn)代景觀設計思潮的目標是)
現(xiàn)代信息技術的核心是(現(xiàn)代信息技術的核心是什么多媒體技術和網(wǎng)絡技術)
上海現(xiàn)代簡約景觀設計師(上?,F(xiàn)代簡約景觀設計師名單)
視頻號電腦直播需要什么條件(視頻號電腦直播需要什么條件才能開播)