Switched to SVD dimensionality reduction as it is considerably faster than NMF and having negative values in the vectors is not a problem for what we are doing here
added verb-object feature extraction to the document classification system;
modified offline phrasal thesaurus generation code so that all unigrams (regardless of part of speech) and composed phrases go to the same thesaurus
Minor change to how a 1D numpy array is indexed. It broke after a recent upgrade to numpy 1.61/ scipy 0.13.1