Natural Language Processing Techniques for Information Retrieval Enhancing Search Engines with Semantic Understanding | Synapse