古龍說,不管什麼東西,最好的都只有一種。經歷半年的文本分類實踐,咱們基本已判定,最好的文本分類算法就是SVM -- 支持向量機。
可是縱然知道了天機,新手作文本分類仍然須要學習很多東西,例如算法原理、分詞、向量化等等。若是用上scikit-learn這樣的龐然大物,更有種高射炮打蚊子的異樣感。
有沒有可能把最好的文本分類算法,包裝成一個超級簡單的工具提供給你們?
這是我開發TextGrocery的初衷。python
幸虧,我不是沒有參照系。LibShortText打下了一個很好的基礎,不只提供了足夠簡單的API,並且背後的原理也有紮實的實驗數據支撐(不過濾停用詞,不過濾詞性,使用線性核)。固然,LibShortText也有顯著的缺陷:git
總而言之,LibShorText雖然有引覺得傲的技術,但對技術的使用者來講是不友好的。而TextGrocery但願把LibShortText變得更友好一些。github
TextGrocery,是一個怎樣的雜貨鋪?算法
python>>> 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') # 自定義分詞器 >>> custom_grocery = Grocery('custom', custom_tokenize=list)
pip install tgrocery
讓文本分類更爽一些吧!機器學習
GitHub傳送門 --> TextGrocery工具
普羅米修斯是希臘神話中的一我的物,他從太陽神阿波羅那裏盜走火種送給人類,給人類帶來的光明,他所以而受到宙斯的處罰,被綁在高加索山,每日忍受風吹日曬和鷲鷹啄食。學習
但願會有志同道合的同窗加入到「盜火者」的行列,一塊兒來讓機器學習更簡單!測試
來自:建造者說設計