NLP 分享:

Section 1:

本節(jié)主要內(nèi)容:

  • 1.中文分詞技術(shù)原理解析
  • 2.機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ)概念
  • 3.關(guān)鍵字提取
  • 4.詞向量解析

本節(jié)期望:

  • 能使用jieba做基礎(chǔ)的中文分詞與常用算法進(jìn)行關(guān)鍵字提取
  • 能使用word2vec訓(xùn)練得到基礎(chǔ)的模型與詞向量

NLP是啥?

zh-wiki: 自然語言處理(英語:Natural Language Processing,縮寫作 NLP)是人工智慧和語言學(xué)領(lǐng)域的分支學(xué)科

中文分詞技術(shù)原理解析:

  • 1.基于字符串匹配的分詞方法
  • 2.基于理解的分詞方法
  • 3.基于統(tǒng)計(jì)的分詞方法

1.基于字符串匹配的分詞方法:

基于字符串匹配的分詞方法又稱機(jī)械分詞方法,它是按照一定的策略將待分析的漢字串與一個(gè)“充分大的”機(jī)器詞典中的詞條進(jìn)行配,若在詞典中找到某個(gè)字符串,則匹配成功

2.基于理解的分詞方法:

通過讓計(jì)算機(jī)模擬人對句子的理解,達(dá)到識(shí)別詞的效果。其基本思想就是在分詞的同時(shí)進(jìn)行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。它通常包括三個(gè)部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息來對分詞歧義進(jìn)行判斷,即它模擬了人對句子的理解過程。這種分詞方法需要使用大量的語言知識(shí)和信息。由于漢語語言知識(shí)的籠統(tǒng)、復(fù)雜性,難以將各種語言信息組織成機(jī)器可直接讀取的形式,因此目前基于理解的分詞系統(tǒng)還處在<font color=#FF0000 size = 6>試驗(yàn)階段</font>。

3.基于統(tǒng)計(jì)的分詞方法

基于統(tǒng)計(jì)的分詞方法是在給定大量已經(jīng)分詞的文本的前提下,利用統(tǒng)計(jì)機(jī)器學(xué)習(xí)模型學(xué)習(xí)詞語切分的規(guī)律(稱為訓(xùn)練),從而實(shí)現(xiàn)對未知文本的切分。例如最大概率分詞方法和最大熵分詞方法等。隨著大規(guī)模語料庫的建立,統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法的研究和發(fā)展,基于統(tǒng)計(jì)的中文分詞方法漸漸成為了主流方法

主要的統(tǒng)計(jì)模型有:N元文法模型(N-gram),隱馬爾可夫模型(Hidden Markov Model ,HMM),最大熵模型(ME),條件隨機(jī)場模型(Conditional Random Fields,CRF)等。

1.馬爾科夫模型

  • 不知道哪個(gè)老大的總結(jié):<Font color=#FF1100>今天的事情只取決于昨天,而明天的事情只取決于今天,與歷史毫無關(guān)聯(lián)</Font>

隨機(jī)過程中各個(gè)狀態(tài)S_t的概率分布,只與它的前一個(gè)狀態(tài)S_{t-1}有關(guān),即P_(S_t|S_1,S_2,S_3,\cdots,S_{t-1}) = P(S_t|S_{t-1})

公式:

馬爾科夫過程:

p_(q_t = s_j|q_{t-1}=s_i,q_{t-2}=s_k,\cdots)\approx p_({q_t=s_j|q_{t-1}=s_i})

馬爾科夫模型:

_({q_t=s_j|q_{t-1}=s_i}) = a_{ij} \quad,\quad 1\leq i,j\leq N

a_{ij} \geq 0
\sum_{i=0}^N a_{ij} =1
)

重要性質(zhì):

  • 馬爾科夫鏈模型的狀態(tài)轉(zhuǎn)移矩陣收斂到的穩(wěn)定概率分布于我們的<font color=#FF0000>初始狀態(tài)概率分布無關(guān)</Font>
  • 非周期性
  • 任何兩個(gè)狀態(tài)是連通的: 從任意一個(gè)狀態(tài)可以通過有限步到達(dá)其他的任意一個(gè)狀態(tài),不會(huì)出現(xiàn)條件概率為0不可達(dá)的情況
  • 狀態(tài)數(shù)是可以是有限的,也可以是無限的。因此可以用于連續(xù)概率分布和離散型概率分布
在這里插入圖片描述

2.隱馬爾科夫模型(Hidden Markov Model,HMM)

它用來描述一個(gè)含有隱含未知參數(shù)的馬爾可夫過程。其難點(diǎn)是從可觀察的參數(shù)中確定該過程的隱含參數(shù)。

  • 維基百科上的例子——通過朋友的行為去預(yù)測當(dāng)?shù)靥鞖獾淖兓?/p>

    隱藏馬爾柯夫

    ![avatar](./Image/v2-13a9848cdad479aaafa282e51c0d6e72_hd.jpg

Viterbi算法:

算法原理:

  • 用動(dòng)態(tài)規(guī)劃求解HMM模型預(yù)測問題
avatar

算法結(jié)果:

根據(jù)狀態(tài)序列得到分詞結(jié)果
算法過程:
========================

  • 輸入:
    模型 \lambda = (A,B,\pi) 和觀察序列 O =(O_1,O_2,\cdots,O_T)
  • 輸出:
    最優(yōu)路徑:I^*=(i_1,i_2,\cdots,i_t)

n元模型算法 (n-gram)

  • 語言模型聯(lián)合概率:
    p(W) = p(w^T_1)=p(w_1,w_2,\cdots,w_T)

  • Bayes公式鏈?zhǔn)椒纸猓?br> p(w^T_1)=p(w_1)\cdotp(w_2|w_1)\cdots p(w_T|w^{T-1}_1)

  • 當(dāng)n=1:(unigram model)
    p(w_1,w_2,\cdots,w_m) = p(w_1)p(w_2)\cdots p(w_m)

句子的概率等于每個(gè)詞的概率的乘積,即每個(gè)詞之間都是相互獨(dú)立的

  • 當(dāng)n=2:(bigram model)
    p(w_i|w_1,w_2,\cdots,w_i-1) = p(w_i|w_{i-1})

  • 當(dāng)n=3:(trigram model)
    p(w_i|w_1,w_2,\cdots,w_i-1) = p(w_i|w_{i-2},w_{i-1})

  • 當(dāng) n\rightarrow+\infty

P(w_i | w_{i-(n-1)},\cdots,w_{i-1})= p(wi|w_{i-(n-1)},\cdots,w_{i-1},w_i) = \frac{count(w_{i-(n-1)},\cdots,w_{i-1},w_i)}{count(w_{i-(n-1)},\cdots,w_{i-1})}

  • 齊次馬爾科夫假設(shè):
    p(w_k|w^k_1)\approx p(w_k|w^{k-1}_{k-n+1})

    每個(gè)輸出僅僅與上一個(gè)輸出有關(guān)

3.jieba分詞:

github: https://github.com/fxsjy/jieba

算法

  • 基于前綴詞典實(shí)現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構(gòu)成的有向無環(huán)圖 (DAG)
  • 采用了動(dòng)態(tài)規(guī)劃查找最大概率路徑, 找出基于詞頻的最大切分組合
  • 對于未登錄詞,采用了基于漢字成詞能力的 HMM 模型,使用了 Viterbi 算法

機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ):

機(jī)器學(xué)習(xí)基本概念:

必要元素:

  • 1.數(shù)據(jù)
  • 2.轉(zhuǎn)換數(shù)據(jù)的模型
  • 3.衡量模型好壞的損失函數(shù)
  • 4.調(diào)整模型權(quán)重以便最小化損失函數(shù)的算法

機(jī)器學(xué)習(xí)分類:

  • 1.監(jiān)督學(xué)習(xí)
  • 2.無監(jiān)督學(xué)習(xí):

區(qū)別:數(shù)據(jù)集是否有人工分類標(biāo)簽

神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ)概念:

  • 1.激活函數(shù):
  • 2.損失函數(shù)(代價(jià)函數(shù)) :
  • 3.反向傳播:


    在這里插入圖片描述

激活函數(shù): 躍階函數(shù) 與 Sigmoid函數(shù)

在這里插入圖片描述

神經(jīng)網(wǎng)絡(luò)發(fā)展史

神經(jīng)網(wǎng)絡(luò)發(fā)展史

神經(jīng)網(wǎng)絡(luò)類型

https://36kr.com/p/5115489.html

27種神經(jīng)網(wǎng)絡(luò)


在這里插入圖片描述
  • 泛化(generalization) : 機(jī)器學(xué)習(xí)模型學(xué)習(xí)到的概念在它處于學(xué)習(xí)的過程中時(shí)模型沒有遇見過的樣本時(shí)候的表現(xiàn), 好的機(jī)器學(xué)習(xí)模型的模板目標(biāo)是從問題領(lǐng)域內(nèi)的訓(xùn)練數(shù)據(jù)到任意的數(shù)據(jù)上泛化性能良好。 在機(jī)器學(xué)習(xí)領(lǐng)域中, 當(dāng)我們討論一個(gè)機(jī)器學(xué)習(xí)模型學(xué)習(xí)和泛化的好壞時(shí), 我們通常使用術(shù)語: 過擬合和欠擬合。

  • 過擬合(over-fitted) : 過擬合指的是 referstoa 模型對于訓(xùn)練數(shù)據(jù)擬合程度過當(dāng)?shù)那闆r。當(dāng)某個(gè)模型過度的學(xué)習(xí)訓(xùn)練數(shù)據(jù)中的細(xì)節(jié)和噪音, 以至于模型在新的數(shù)據(jù)上表現(xiàn)很差, 我們稱過擬合發(fā)生了。 這意味著訓(xùn)練數(shù)據(jù)中的噪音或者隨機(jī)波動(dòng)也被當(dāng)做概念被模型學(xué)習(xí)了。 而問題就在于這些概念不適用于新的數(shù)據(jù), 從而導(dǎo)致模型泛化性能的變差。

  • 欠擬合(under-fitted) : 欠擬合指的是模型在訓(xùn)練和預(yù)測時(shí)表現(xiàn)都不好的情況。 一個(gè)欠擬合的機(jī)器學(xué)習(xí)模型不是一個(gè)良好的模型并且由于在訓(xùn)練數(shù)據(jù)上表現(xiàn)不好這是顯然的。

關(guān)鍵字提?。?/h2>

常用算法:

  • TF/IDF算法: (Term Frequency - Inverse Document Frequency)
    • 基于統(tǒng)計(jì)學(xué)原理,統(tǒng)計(jì)詞頻數(shù)
      • 表達(dá)式為:
        tf*idf(i,j) = tf_{ij} * idf_i = \frac{n_{ij}}{\sum_k{n_{kj}}} * log\left (\frac{|D|}{1+|D_i|}\right)

為啥要取對數(shù)和相乘?答先輩在實(shí)驗(yàn)室得出來的結(jié)論,不接受反駁?。。。?!

  • TextRank(源于PageRank算法)

    • 基本思想是:

      • 連接數(shù)量,一個(gè)網(wǎng)頁被越多的其他網(wǎng)頁連接,說明這個(gè)網(wǎng)頁越重要
      • 連接質(zhì)量,一個(gè)網(wǎng)頁被越高權(quán)值的網(wǎng)頁連接,說明這個(gè)網(wǎng)頁越重要
    • 表達(dá)式為:
      WS(V_i) = (1-d) + d * \sum_{j}\left(\frac{1}{|Out(V_j\in In(V_j))|}*WS(V_j)\right)

  • LSA/LSI 算法:

    • LSA 主要采用 SVD(奇異值分解) 【Latent Semanitc Analysis,潛在語義分析】
    • LSI 主要采用 貝葉斯學(xué)派的方法對分布信息進(jìn)行擬合[I for index,潛在語以索引]
  • LDA算法:

    • 根據(jù)此的共現(xiàn)信息的分析,擬合出詞-文檔-主題的分布,進(jìn)而將詞,文本都映射到一個(gè)予以上面

實(shí)驗(yàn)代碼:KeywordExtract.py

詞表示:

  • one-hot表示法:
  • 詞嵌入
// One-hot Representation 向量的維度是詞表的大小,比如有10w個(gè)詞,該向量的維度就是10w
v('足球') = [0 1 0 0 0 0 0 ......]
v('籃球') = [0 0 0 0 0 1 0 ......]

// Distributed Representation 向量的維度是某個(gè)具體的值如50
v('足球') = [0.26 0.49 -0.54 -0.08 0.16 0.76 0.33 ......]
v('籃球') = [0.31 0.54 -0.48 -0.01 0.28 0.94 0.38 ......] 

word2vec基本介紹:

Word2Vec就是把單詞轉(zhuǎn)換成向量。它本質(zhì)上是一種單詞聚類的方法,是實(shí)現(xiàn)單詞語義推測、句子情感分析等目的一種手段。

算法核心


在這里插入圖片描述

word2vec = CBOW + Skip-Gram

CBOW (Continue bags of word)

CBOW(Continuous Bag-of-Words Model)是一種根據(jù)上下文的詞語預(yù)測當(dāng)前詞語的出現(xiàn)概率的模型,其圖示如上圖左。CBOW是已知上下文,估算當(dāng)前詞語的語言模型;

skip-Gram

而Skip-gram只是逆轉(zhuǎn)了CBOW的因果關(guān)系而已,即已知當(dāng)前詞語,預(yù)測上下文,其圖示如上圖右;

在這里插入圖片描述
實(shí)驗(yàn)過程:
  • 1.數(shù)據(jù)集 中文維基百科數(shù)據(jù)集
  • 2.分詞,jieba
  • 3.模型訓(xùn)練,gensim
code:w2v.py
    //通過一系列復(fù)雜的運(yùn)算以后結(jié)果為:
res1:[('小孩', 0.8762074112892151), ('子女', 0.838797926902771),
     ('女兒', 0.8185409903526306), ('弟妹', 0.7953422665596008), 
     ('兄弟姐妹', 0.7813134789466858), ('第二胎', 0.7718782424926758), 
     ('妻子', 0.7622642517089844), ('女兒', 0.7622190713882446), 
     ('私生女', 0.7616469264030457), ('女孩', 0.7608779668807983)]
    
res2:[('女人', 0.5232132077217102), ('王后', 0.4952596426010132), 
    ('太后', 0.4879013001918793), ('妃子', 0.47403064370155334), 
    ('王妃', 0.46553662419319153), ('皇太后', 0.45517897605895996), 
    ('侍女', 0.45335230231285095), ('太子妃', 0.45140954852104187), 
    ('王太后', 0.4455147683620453), ('太皇太后', 0.44461196660995483)]
    
res3:   西瓜
res4:   香蕉

參考鏈接:

郵箱:ljm500@163.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 常用概念: 自然語言處理(NLP) 數(shù)據(jù)挖掘 推薦算法 用戶畫像 知識(shí)圖譜 信息檢索 文本分類 常用技術(shù): 詞級(jí)別...
    御風(fēng)之星閱讀 10,010評(píng)論 1 25
  • 前面的文章主要從理論的角度介紹了自然語言人機(jī)對話系統(tǒng)所可能涉及到的多個(gè)領(lǐng)域的經(jīng)典模型和基礎(chǔ)知識(shí)。這篇文章,甚至之后...
    我偏笑_NSNirvana閱讀 14,445評(píng)論 2 64
  • 一、NLP分類: 1.word level:序列標(biāo)注任務(wù):分詞、詞性標(biāo)注、命名實(shí)體識(shí)別2.sentence lev...
    瀟蕭之炎閱讀 6,622評(píng)論 0 20
  • 1. 導(dǎo)入 ??這是語言表示系列的第1篇,主要講述了分布式表示里的Word2vec方法。該系列目前暫定有4篇語言的...
    brucep3閱讀 3,365評(píng)論 0 5
  • 論文鏈接:http://arxiv.org/pdf/1711.04411.pdf github代碼:GitHub ...
    ban_a695閱讀 1,449評(píng)論 2 5

友情鏈接更多精彩內(nèi)容