Graph-based natural language processing and information retrieval