Semantic annotations play an important role in semantics-aware service discovery, recommendation and composition. While existing approaches and tools focus on facilitating the development of semantic annotations on web services, the validation of the quality of annotations is largely overlooked. Meanwhile, the refinement of semantic annotations mostly goes through manual processes, which not only is time-consuming but also requires significant domain knowledge. To enhance the Quality of Semantic Annotation (QoSA), we have developed a technique to incrementally assess and correct semantic annotations of web services. Aiming at supporting web service interoperation, we have formalized the QoSA of input and output parameters. Based on such formalism, test cases are automatically generated to validate service annotations. Learned semantic instances are then accumulated to iteratively validate semantic annotations of other services. Furthermore, a three-phase optimization methodology including local-feedback, global-feedback, and global-propagate is developed to improve the QoSA by incrementally correcting inaccurate annotations. Experiments over a real-world web services repository have demonstrated that our technique can effectively improve QoSA of services, gaining a 78.68 percent improvement in input parameters annotations and identifying 36.47 percent inaccurate output parameters annotations. The proposed technique can be equipped at various service repositories to enhance service discovery and recommendation.