原创 【自然語言處理】tf.contrib.seq2seq.TrainingHelper源碼解析

前言 本文銜接tf.contrib.seq2seq.dynamic_decode源碼分析以及tf.contrib.seq2seq.BasicDecoder源碼解析。除了TrainingHelper後面還會介紹到GreedyEmbe

原创 中科院NLPIR/ICTCLAS2016分詞系統找不到Configure.xml

今天在使用中科院的NLPIR/ICTCLAS2016分詞系統時,出現了"初始化失敗!fail reason is Cannot Open Configure filefail reason is Cannot Open Configure

原创 【自然語言處理】SeqGAN的探索(踩坑)記錄

前言 SeqGAN是2017年《SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient》這篇論文提出的模型,使用了強化學習的策略梯度解決了之前GAN只能應

原创 【自然語言處理】使用Tensorflow-Bert進行分類任務時輸出每個Train Epoch的信息

前言 最近任務需要用到Bert,一個頭疼的地方是官方代碼只有在跑完指定的epoch次數之後才進行評估。可是基於任務的要求,需要輸出每輪的評估信息(比如Acc, Loss)。 相似的需求類似:How to get a total t

原创 XML多個根節點提示“文檔中根元素後面的標記必須格式正確”解決

前言 最近手頭拿了一些XML格式的數據,用dom4j解析一看,出現瞭如下提示: lineNumber: 22; columnNumber: 2; 文檔中根元素後面的標記必須格式正確。 仔細一看,是由於這個XML有很多根節點,那我們

原创 【自然語言處理】聊聊曝光誤差(Exposure Bias)怎麼被解決的

前言 曝光誤差(exposure bias)簡單來講是因爲文本生成在訓練和推斷時的不一致造成的。不一致體現在推斷和訓練時使用的輸入不同,在訓練時輸入是真實樣本,但是在推斷時用的卻是上一個詞的輸出。 解決方案 1.使用schedul

原创 【自然語言處理】聊聊注意力機制(Attention Mechanism)的發展

前言 其實,關於注意力機制的文章真的有很多,而且寫得相當精彩(畢竟過去這麼多年了),這篇博文的主要目的在於對注意力機制作一個簡單介紹讓人們。 淺談 首先這件事還要從序列到序列模型(Seq2seq Model)開始說起,最早的序列到

原创 【自然語言處理】神經文本生成綜述

前言 首先本文主要是對《 Neural Text Generation: Past, Present and Beyond 》這篇論文的總結,該論文是上海交通大學團隊寫的,查閱過數次,覺得寫得很棒,在此總結一下,以此共勉。 要點

原创 【自然語言處理】基於雙向LSTM(Bi-LSTM)文本分類的Python實現

前言 Github:Github下載地址 RNN在自然語言處理的文本處理上取得了很大的成功。 雙向LSTM可以捕獲上下文的內容,從而使得分類效果更佳。 在本文的這次分類中,本文使用了情感分析的數據集,最終的模型可以將正面情感和負面情感

原创 【深度學習】基於GAN生成對抗網絡的Python實現

前言 此文參考原文Github代碼 本文Github代碼 GAN是2014年提出的一個框架。簡單來說,這個框架有一個生成器和一個判別器,生成器生成數據(假幣),判別器判別數據真假(判別假幣),基於這種max-min極大極小值博弈算法,

原创 【深度學習】BP反向傳播算法Python簡單實現

  個人覺得BP反向傳播是深度學習的一個基礎,所以很有必要把反向傳播算法好好學一下   得益於一步一步弄懂反向傳播的例子這篇文章,給出一個例子來說明反向傳播   不過是英文的,如果你感覺不好閱讀的話,優秀的國人已經把它翻譯出來了。

原创 【統計學習方法】 支持向量機(SVM) Python實現

前言 代碼可在Github上下載:代碼下載 支持向量機,一個理論先於實踐的產物,由Corinna Cortes和Vapnik等在1995年首次提出的,取得了非常好的效果。 SVM分爲線性可分(又可分硬間隔與軟間隔)和線性不可分的問題,

原创 【自然語言處理】LSTM文本生成Python實現

前言 RNN存在着梯度消失的問題,Hochreiter & Schmidhuber (1997)在1997年提出了LSTM(Long Short-Term Memory)長短期記憶單元來解決這個問題,現在自然語言處理的大部分任務都用到了L

原创 【深度學習】RNN循環神經網絡Python簡單實現

前言 循環神經網絡是一種時間序列預測模型,多應用在自然語言處理上。 原理網上是有很多的,不展開解釋,本文基於一個二進制加法,進行python實現。 其實python代碼並非本人實現 具體參考兩篇博客,第一篇是英語原文,第二篇是譯文。

原创 【機器學習】Softmax迴歸 Python實現

前言 代碼可在Github上下載:代碼下載 常常會遇到需要多分類的問題,比如手寫體識別,你需要識別手寫的數字是幾(0~9),比如文本生成,你需要知道生成的是哪個字,都需要進行多分類。那麼我們最常用的多分類函數就是softmax了。接下來