This project has two major goals. In the first phase, we present a method for the automatic acquisition of reformulations from natural language questions. We hope to find useful and generic reformulation patterns, which can be used in our question answering system to find candidate answers. We use some examples of different types of questions and their right answers as training set and the system automatically extracts the patterns from retrieved documents. The system also calculates and assigns a weight to each of the extracted patterns. These patterns are added to the patterns set of the current Web-QA component. In the second part, we present a method to filter out noisy candidate answers and re-rank candidate answers in our Web-QA module by using semantic relations. We use the original Web-QA module of QUANTUM and developed the Web-QA2 module for this thesis. We use the 1400 questions of the TREC-8, TREC-9, and TREC-10 competitions for training to develop the reformulation patterns and the filtering algorithm and use the 500 questions of TREC-11 for testing.