The Lumiere Project: Bayesian User Modeling for Inferring the Goals and Needs of Software Users