一個簡單而高效的短文本分類Python庫:TextGrocery
一個簡單而高效的短文本分類工具,基于LibLinear
整合結巴分詞作為默認的分詞單元,以支持中文分詞.
- 引入結巴分詞作為內置的默認分詞器
- 精簡LibShortText的代碼,去掉Analyzer和參數自定義模塊,修復bug,改善PEP8
- 訓練和測試的文本都支持列表傳入
- 提供Pypi的安裝方式
性能
- 訓練集:來自32個類別的4.8萬條新聞標題
- 測試集:來自32個類別的1.6萬條新聞標題
- 與scikit-learn的svm和樸素貝葉斯算法做橫向對比
分類器 | 準確率 | 計算時間(秒) |
---|---|---|
scikit-learn(nb) | 76.8% | 134 |
scikit-learn(svm) | 76.9% | 121 |
TextGrocery | 79.6% | 49 |
示例代碼 >>> from tgrocery import Grocery
# 新開張一個雜貨鋪,別忘了取名!
>>> grocery = Grocery('sample')
# 訓練文本可以用列表傳入
>>> train_src = [
('education', '名師指導托福語法技巧:名詞的復數形式'),
('education', '中國高考成績海外認可 是“狼來了”嗎?'),
('sports', '圖文:法網孟菲爾斯苦戰進16強 孟菲爾斯怒吼'),
('sports', '四川丹棱舉行全國長距登山挑戰賽 近萬人參與')
]
>>> grocery.train(train_src)
# 也可以用文件傳入
>>> grocery.train('train_ch.txt')
# 保存模型
>>> grocery.save()
# 加載模型(名字和保存的一樣)
>>> new_grocery = Grocery('sample')
>>> new_grocery.load()
# 預測
>>> new_grocery.predict('考生必讀:新托福寫作考試評分標準')
education
# 測試
>>> test_src = [
('education', '福建春季公務員考試報名18日截止 2月6日考試'),
('sports', '意甲首輪補賽交戰記錄:米蘭客場8戰不敗國米10年連勝'),
]
>>> new_grocery.test(test_src)
# 準確率
0.5
# 同樣可以用文本傳入
>>> new_grocery.test('test_ch.txt')
# 自定義分詞器
本文由用戶 3y8nn 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!