Modeling dual role preferences for trust-aware recommendation