The third step to design a QAS is to acquire the skills and tools needed to implement each component of the system. QAS requires a combination of skills from natural language processing (NLP), information retrieval (IR), machine learning (ML), and human-computer interaction (HCI). For NLP, this includes text processing, parsing, semantic analysis, question reformulation, and answer generation. IR requires indexing, ranking, query expansion, and document summarization. ML necessitates classification, clustering, regression, neural networks, and deep learning. HCI involves user interface design, usability testing, and feedback collection. Popular tools for QAS development include NLTK (a Python library for NLP tasks), Elasticsearch (a distributed search engine), BERT (a pre-trained language model that can be fine-tuned for various NLP tasks) and Dash (a Python framework for creating interactive web applications). These tools can provide valuable insights for displaying QAS results in graphs, tables, and charts.