A Unified Algorithm for One-Cass Structured Matrix Factorization with Side Information