Most state-of-the-art service selection approaches assume user preferences can be provided by the target user with sufficient precision and ignore historical service usage data for all users. It is desirable for ordinary users to possess a new service selection approach that can recommend satisfactory services to them even when their service selection preferences are specified imprecisely in terms of vagueness, inaccuracy, and incompleteness. This paper proposes a novel service selection approach that resolves the imprecise characteristics of user preferences and can recommend satisfactory services for users with varying cognitive levels in terms of service experience. The proposed service selection approach is comprised of four major tasks: 1) employ user-friendly linguistic variables to collect apparent user preferences (AUP) and convert the linguistic variables to standardized fuzzy weights as AUP weights; 2) evaluate all users' respective cognitive levels for the target service type and obtain the cognitive level threshold for that type of services; 3) adjust the AUP weights based on the calculated cognitive levels and the threshold, and supplement the potential user preferences weights; and 4) prioritize candidate services per a user satisfaction maximization objective. In-depth comparative experimental evaluations were performed using two real-world datasets. The results show that our service selection model outperforms three other representative ones and could provide a stable and reliable selection of services for the users with low service cognitive levels.