原创 最近鄰逼近搜索

說明 由於業務中需要用到向量之間的相似索引,其實向量相思索引在很多的業務場景中都有非常高的應用價值。我們已經有把詞、句子、圖片、等信息處理成響亮的方法。這樣在一些相關性檢索方面就有了應用價值。 本文中搭建了annoy和nmslib

原创 Bert編碼訓練NER實體偏移的問題

在這裏記錄一下踩過的坑 在訓練樣本中幾乎沒有前面一大串英文或者數字,然後後面跟實體的情況,所以訓練起來還挺平穩的。 但是在預測的時候遇到了這種情況,造成實體可以識別出來,但是實體的預測結果下標錯了(表現爲下標提前了) 造成這一問題

原创 hnswlib庫在windows系統中的安裝

安裝過程: 先說明本人在安裝該模塊時遇到的問題。 直接pip安裝報錯。在git上下載代碼依然報錯。 缺少 h文件。 原因是編譯環境找不到h文件所在的路徑。 查看本機編譯調用的命令爲: 所以就把缺少的h文件目錄添加到了該編譯環境依

原创 大量字符串快速匹配-字典樹匹配

說明: 在本人的工作中遇到了這樣的一個問題。需要用到字符串匹配的功能。 一邊是300字左右的句子,另一邊是幾個到幾十個詞的短語,然後過濾出包含短語的句子。 數量都在千萬級別,最直接的想法肯定是兩層for循環兩兩匹配,但是有點low

原创 keras自定義層對自定義參數進行保存

問題描述 在使用keras的過程中,有時會在自定義層中定義自己的參數,然而調用 json_model = model.to_json() 後發現自定義的參數並沒有保存到模型中,造成模型加載時報錯。 解決方案 需要在該層中實現

原创 神經網絡實驗心得(持續更新)

(1)當預測類別比較多時,各層測參數應該數量相當,否則會出現一個特徵會影響多個類別的情況,出現一對多,模型不好訓練。 (2)其實神經網絡的本質還是特徵提取和空間映射,觀察數據的特徵和分佈是非常有必要的。 (3)attention

原创 再談語言模型

標題: 語言模型再自然語言處理任務中有極其重要的作用,大家較爲熟悉的是n-gram類型的語言模型,無論是傳統的方法還是基於NN的方法,都是根據前N個詞 預測當前詞,或者求當前詞的概率。需要求整個序列的概率時需要對序列進行遍歷然後進

原创 再談語言模型之應用

語言模型的形式 上文介紹的語言模型在效果上得到了非常好的效果,但是在生產環境速度偏慢,因此本文的目的有兩個,意識較輕量級的語言模型的實驗, 二是語言模型在下游任務中應用,語言模型本質上還是去發現語言文法中的潛在的關聯關係,應用該方

原创 seq2seq 實現數字加法

標題 這是用簡單的seq2seq實現的數字加法,原理就是想用一個循環網絡編碼Query,然後將其複製到Answer的的長度。後接多層循環神經網絡。最後softmax加交叉熵損失。 model = Sequential() # "E

原创 Layer concatenate_1 was called with an input that isn't a symbolic tensor

問題 如題目所述,編寫代碼時遇到Layer concatenate_1 was called with an input that isn’t a symbolic tensor的問題,查看 concatenate的對象確實時te

原创 Keras 實現對bert編碼的封裝實現

bert編碼突襲了NLP各大榜單,爲了讓大家更方便的在自己的數據集合上測試bert的威力,在此分享一下,keras版本的nert編碼層。直接上代碼了。 class b_embeding_layer_b(keras.layers.L

原创 搜狗 scel詞包解析

前言 在一些基本的任務中,構建單詞詞包是其中一項不可避免的任務,爲了不從零開始對詞包進行構建,就要應用一些已有的詞包,下面就是對搜狗 scel詞包解析,代碼比較久了,那時候用的py2。希望能夠對大家有所幫助。 #!/usr/bi

原创 意圖分析及斯坦福NLP服務搭建

標題 應用範圍和場景 在自然語言處理的應用中,經常會用到分詞,詞性分析、句法分析、英體識別等應用,斯坦福NLP在中文支持方面還算不錯,方便我們更快的支持和驗證應用的可行性。 環境配值和搭建過程 下載 stanford-c

原创 keras 問題彙總

(1)cub segmented reduce errorinvalid configuration argument LSTM——CRF 框架中,初始化crf時,檢查類別是否賦值正確。 (2)attributeerror ‘ten

原创 java版本phash算法優化

phash 本文的參考實現是:https://blog.csdn.net/sunhuaqiang1/article/details/70232679 原有代碼中有一個四重for循環: private double[][] applyD