cardmagic/classifier
A general classifier module to allow Bayesian and LSI classifications.
解決的問題
提供一組用於 Ruby 中文字分類與詞彙重要性評分的工具,讓開發者能分類文字(例如偵測垃圾郵件或情感分析)或提取關鍵詞,而無需從零開始建構複雜的機器學習流程。
工作原理
此套件實作了五種不同的演算法,以應對各種分類需求:
- 貝氏:適用於一般分類的快速單次掃描訓練。
- 邏輯回歸:為每個類別提供校準過的機率。
- LSI(潛在語意索引):專注於相似性與搜尋,利用原生 C 擴充模組實現高效率,並採用 Brand 演算法實現無需完全重建索引的增量更新。
- k-最近鄰(KNN):根據最相似的訓練範例進行分類。
- TF-IDF:根據語料庫相對重要性對詞彙進行評分,而非分配類別。
內建命令列介面(CLI),可使用預先訓練的模型進行即時分類,並提供可插入的持久化系統,支援將模型儲存至檔案、Redis、S3 或 SQL 資料庫。
適用對象
- 需要將文字分類功能整合至應用程式的 Ruby 開發者。
- 希望不需撰寫程式碼即可分析文字或提取關鍵詞的使用者。
- 處理大型資料集且需要串流訓練以避免記憶體耗盡的開發者。
特色亮點
- 多種演算法:支援貝氏、邏輯回歸、LSI、KNN 與 TF-IDF。
- 高效率:原生 C 擴充模組使 LSI 操作比純 Ruby 快 5–50 倍。
- 增量 LSI:可在不重建整個索引的情況下,將新文件加入 LSI 索引。
- 串流支援:可透過串流處理而非全部載入記憶體,對數 GB 級別的資料集進行訓練。
- 彈性持久化:支援插件式儲存選項,包括 S3、Redis 與 SQL。
相關
- 專案
- 專案
- 專案
- 專案
- 專案