Periksa perangkat lunak sumber terbuka Stanford NLP Group ( http://www-nlp.stanford.edu/software ), khususnya, Stanford Classifier ( http://www-nlp.stanford.edu/software/classifier.shtml ) . Perangkat lunak ini ditulis Java
, yang kemungkinan akan menyenangkan Anda, tetapi juga memiliki ikatan untuk beberapa bahasa lain. Catatan, lisensi - jika Anda berencana untuk menggunakan kode mereka dalam produk komersial, Anda harus memperoleh lisensi komersial.
Satu set perpustakaan open source yang menarik, IMHO cocok untuk tugas ini dan banyak lagi, adalah kerangka paralel untuk pembelajaran mesin GraphLab ( http://select.cs.cmu.edu/code/graphlab ), yang mencakup perpustakaan pengelompokan , menerapkan berbagai pengelompokan algoritma ( http://select.cs.cmu.edu/code/graphlab/clustering.html ). Ini sangat cocok untuk volume data yang sangat besar (seperti yang Anda miliki), karena mengimplementasikan MapReduce
model dan, dengan demikian, mendukung pemrosesan paralel multicore dan multiprosesor .
Anda kemungkinan besar menyadari hal-hal berikut, tetapi saya akan menyebutkannya untuk berjaga-jaga. Natural Language Toolkit (NLTK) untuk Python
( http://www.nltk.org ) berisi modul untuk pengelompokan / klasifikasi / pengelompokan teks. Periksa bab yang relevan di NLTK Book
: http://www.nltk.org/book/ch06.html .
MEMPERBARUI:
Berbicara tentang algoritma , tampaknya Anda telah mencoba sebagian besar dari scikit-learn
, seperti diilustrasikan dalam contoh ekstraksi topik ini: http://scikit-learn.org/stable/auto_examples/applications/topics_extraction_with_nmf.html . Namun, Anda mungkin menemukan perpustakaan lain yang bermanfaat, yang menerapkan berbagai algoritma pengelompokan , termasuk Non-Negative Matrix Factorization (NMF) . Salah satu perpustakaan tersebut adalah Python Matrix Factorization (PyMF) dengan beranda di https://code.google.com/p/pymf dan kode sumber di https://github.com/nils-werner/pymf . Pustaka lain, yang bahkan lebih menarik, juga berbasis Python, adalah NIMFA, yang mengimplementasikan berbagai algoritma NMF : http://nimfa.biolab.si . Berikut makalah penelitian, yang menjelaskan NIMFA
: http://jmlr.org/papers/volume13/zitnik12a/zitnik12a.pdf . Berikut adalah contoh dari dokumentasinya, yang menghadirkan solusi untuk masalah pemrosesan teks yang sangat mirip dari pengelompokan topik : http://nimfa.biolab.si/nimfa.examples.documents.html .