Speech and Language Processing
Learning the parts of objects by non-negative matrix factorization