Natural language processing for online applications :text retrieval, extraction, and categorization