We present an algorithm for blindly recovering constituent source spectra from magnetic resonance spectroscopic imaging (MRSI) of human brain. The algorithm is based on the non-negative matrix factorization (NMF) algorithm, extending it to include a constraint on the positivity of the amplitudes of the recovered spectra and mixing matrices. This positivity constraint enables recovery of physically meaningful spectra even in the presence of noise that causes a significant number of the observation amplitudes to be negative. The algorithm, which we call constrained non-negative matrix factorization (cNMF), does not enforce independence or sparsity, though it recovers sparse sources quite well. It can be viewed as a maximum likelihood approach for finding basis vectors in a bounded subspace. In this case the optimal basis vectors are the ones that envelope the observed data with a minimum deviation from the boundaries. We incorporate the cNMF algorithm into a hierarchical decomposition framework, showing that it can be used to recover tissue-specific spectra, e.g., spectra indicative of malignant tumor. We demonstrate the hierarchical procedure on 1H long echo time (TE) brain absorption spectra and conclude that the computational efficiency of the cNMF algorithm makes it well-suited for use in diagnostic work-up.