天然語言處理NLP算法總結(持續更新)

分詞

  • 最大匹配法(機械分詞)
  • n-gram 參考
  • hmm 參考
  • crf

詞性標註

  • crf

命名實體識別NER

  • CRF
  • biLSTM-CRF

關鍵詞提取

  • tf-idf
  • textrank 基於PageRank

句法分析、依存關係

詞向量

  • 獨熱編碼(one-hot encoder):好比有三個單詞「man"、」husband「、」dog「,將之分別表示爲[0,0,1],[0,1,0],[1,0,0],這些詞向量能夠做爲機器學習模型的輸入數值向量,可是它們難以表達關聯性,並且當詞庫單詞量龐大時,獨熱編碼的維度也會十分巨大,給計算和存儲帶來很多問題。
  • Word2Vec
  • GloVec
  • FastText
  • WordRank

參考html

句子/篇章向量

  • 詞袋錶示(Bag-of-words model):例如兩個句子:」She loves cats.「、」He loves cats too.「 咱們能夠構建一個詞頻字典:{"She": 1, "He": 1, "loves": 2 "cats": 2, "too": 1}。根據這個字典, 咱們能將上述兩句話從新表達爲下述兩個向量: [1, 0, 1, 1, 0]和[0, 1, 1, 1, 1],每1維表明對應單詞的頻率。git

  • Doc2Vec:是 Tomas Mikolov 基於 word2vec 模型提出的,其具備一些優勢,好比不用固定句子長度,接受不一樣長度的句子作訓練佯本,Doc2vec 是一個無監督學習算法,該算法用於預測一個向量來表示不一樣的文檔,該模型的結構潛在的克服了詞袋模型的缺點.論文github

  • LSI(潛在語義索引):潛在語義索引(Latent Semantic Indexing,如下簡稱LSI),有的文章也叫Latent Semantic Analysis(LSA)。它是一種簡單實用的主題模型。LSI是基於奇異值分解(SVD)的方法來獲得文本的主題的。參考算法

  • LDA:(Latent Dirichlet Allocation)中文翻譯爲:潛在狄利克雷分佈。LDA主題模型是一種文檔生成模型,是一種非監督機器學習技術。LDA是基於貝葉斯模型的。參考機器學習

  • 其餘:參考學習

文本檢索

BM25:一種用來評價搜索詞和文檔之間相關性的算法,主要就是計算一個query裏面全部詞和文檔的相關度,而後在把分數作累加操做,而每一個詞的相關度分數主要仍是受到tf/idf的影響。參考 R(qi,d)是每一個詞和文檔的相關度值,其中qi表明每一個詞,d表明相關的文檔,Wi是這個詞的權重,而後全部詞的乘積再作累加。ui

文本分類

  • 傳統機器學習方法:LR、SVM、決策樹、...
  • fasttext
  • rnn
  • cnn

機器翻譯

文本摘要

  • textrank
  • LSTM-attention ref:https://github.com/dongjun-Lee/text-summarization-tensorflow

閱讀理解

問答匹配

自動生成

相關文章
相關標籤/搜索