Natural language processing for word sense disambiguation and information extraction