高效的文字分類

2021-08-21 09:19:50 字數 1161 閱讀 2355

文字分類任務是自然語言處理中重要的任務之一,近來,神經網路的使用變得更為普遍,神經網路在文字分類任務中表現更好,但是在訓練和測試時間比較慢,限制了在大型語料庫中的使用。

與此同時,線性分類器在文字分類器中被認為是一種很好的baseline,儘管他們很簡單,但當正確的特徵被使用時,經常能夠得到很好的表現[1.wang and manning,2012]。線性模型也適用於非常大的語料庫。因此,當這些baseline的方法應用到大語料庫中時,提出了乙個基於rank constraint的線性模型,該線性模型有著簡答的損失函式,能夠在十億大小的語料庫中,十分鐘內訓練完成。並且能夠得到很好的表現。該模型為fasttext。

通常在文字分類中使用bow訓練向量,並用來表示sequence,並使用svm或邏輯回歸等分類器進行分類,然而線性分類器在特徵和類別之間並不分享引數,這可能限制了在大型語料庫中當某些類別具有很少的例項時的泛化能力。通常的解決方法是將線性分類器分解成低階矩陣,或者使用多重的神經網路。

當採用rank constraint時,具體如下圖所示:

該模型與cbow模型比較類似,只是**中間的詞改為**目標詞,具體目標函式如下所示:

其中a是lookup table。b為權值矩陣,f為softmax函式,另外,模型中使用a bag of n-gram作為額外的特徵,並使用hashing trick維護乙個快速並記憶體有效的對映。

文字分類 libsvm

關於 libsvm 的介紹以及相關 網上很多,感興趣可以找找。這是libsvm 這裡主要是針對之前學習過的幾種特徵篩選演算法用 libsvm 進行比較。採用搜狗實驗室的資料,選擇商業類文字 1001 篇,娛樂類文字 1208 篇,測試集 29904 篇。分別採用文件頻次,卡方分布,互資訊,資訊增益來...

文字分類四

下面是使用knn演算法來做的。資料均是由前面的程式生成的。做完這個之後,就是將每一步整合起來。然後再盡可能的優化,使得程式效率更好。然後可以嘗試不同的特徵選擇演算法和分類演算法,當然最後要是能有自己的一些小小改進就好了。不過至少有了乙個還可以的結果了。include include include ...

文字分類概論

通過新增特定規則做分類任務,費時費力,覆蓋的範圍和準確率都非常有限。維護停用詞表 包括高頻的代詞連詞介詞等 特徵提取過程中刪除停用表 現的詞等 1.詞袋模型 one hot編碼 缺點 高緯度 高稀疏 無法編碼上下文的關聯資訊,無法表達語義資訊。2.向量空間模型 通過特徵選擇降低維度,特徵權重計算增加...