Kiểm tra phần mềm nguồn mở của Tập đoàn Stanford NLP ( http://www-nlp.stanford.edu/software ), đặc biệt là Trình phân loại Stanford ( http://www-nlp.stanford.edu/software/ classifier.shtml ) . Phần mềm được viết bằng Java
, có thể sẽ làm bạn thích thú, nhưng cũng có các ràng buộc cho một số ngôn ngữ khác. Lưu ý, việc cấp phép - nếu bạn có kế hoạch sử dụng mã của họ trong các sản phẩm thương mại, bạn phải có giấy phép thương mại.
Một bộ thư viện mã nguồn mở thú vị khác, IMHO phù hợp cho nhiệm vụ này và hơn thế nữa, là khung song song cho máy học GraphLab ( http://select.cs.cmu.edu/code/graphlab ), bao gồm thư viện phân cụm , thực hiện phân cụm khác nhau các thuật toán ( http://select.cs.cmu.edu/code/graphlab/clustering.html ). Nó đặc biệt phù hợp với khối lượng dữ liệu rất lớn (như bạn có), vì nó thực hiện MapReduce
mô hình và do đó, hỗ trợ xử lý song song đa lõi và đa bộ xử lý .
Bạn rất có thể nhận thức được những điều sau đây, nhưng tôi sẽ đề cập đến nó chỉ trong trường hợp. Bộ công cụ ngôn ngữ tự nhiên (NLTK) cho Python
( http://www.nltk.org ) chứa các mô-đun để phân cụm / phân loại / phân loại văn bản. Kiểm tra chương liên quan trong NLTK Book
: http://www.nltk.org/book/ch06.html .
CẬP NHẬT:
Nói về các thuật toán , có vẻ như bạn đã thử hầu hết các thuật toán từ scikit-learn
, chẳng hạn như được minh họa trong ví dụ trích xuất chủ đề này: http://scikit-learn.org/ sóng / auto_examples / apply / topics_extraction_with_nmf.html . Tuy nhiên, bạn có thể tìm thấy các thư viện hữu ích khác, thực hiện rất nhiều thuật toán phân cụm , bao gồm Hệ số ma trận không âm (NMF) . Một trong những thư viện như vậy là Python Matrix Factorization (PyMF) với trang chủ tại https://code.google.com.vn/p/pymf và mã nguồn tại https://github.com/nils-werner/pymf . Một thư viện khác, thậm chí thú vị hơn, cũng dựa trên Python, là NIMFA, trong đó thực hiện các thuật toán NMF khác nhau : http://nimfa.biolab.si . Đây là một bài viết nghiên cứu, mô tả NIMFA
: http://jmlr.org/ con / volume13 / zitnik12a / zitnik12a.pdf . Đây là một ví dụ từ tài liệu của nó, trình bày giải pháp cho vấn đề xử lý văn bản rất giống nhau của phân cụm chủ đề : http://nimfa.biolab.si/nimfa.examples.document.html .