fasstext文字分類(python)

2021-08-15 01:48:09 字數 977 閱讀 4190

fasttext是word2vec作者提出的文字分類演算法。它是乙個用於高效學習單詞表示和文字分類的庫。

本篇部落格主要介紹fasttext在python下的基本應用

pip install fasttext
訓練樣本train_data.txt的格式介紹

每一行是文字+分類標籤

分類標籤最好形如__label__news__label__表示分類標籤的字首,news表示分類的標籤

測試樣本test_data.txt格式同訓練樣本

import fasttext

# 訓練監督文字,train_data.txt,模型會預設儲存在當前目錄下,名稱為"fasttext_test.model.bin";thread表示以3個執行緒進行訓練,不加預設1個執行緒

classifier = fasttext.supervised('train_data.txt', 'fasttext_test.model', label_prefix='__label__', thread=3)

# 驗證資料集

result = classifier.test('test_data.txt')

# 輸出準確率和召回率

print(result.precision, result.recall)

# **文字分類, articles是一段文字用字串表示, k=3表示輸入可能性較高的三個分類,不加引數預設只輸出乙個

result = classifier.predict(articles, k=3)

# 載入模型

classifier = fasttext.load_model("fasttext_test.model.bin", label_prefix="__label__")

更加具體的用法可參看文件

文字分類 libsvm

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

文字分類四

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

文字分類概論

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