Semantic-based matchmaking and query refinement for B2C e-marketplaces