Natural Language Processing for Online Applications: Text retrieval, extraction and categorization - Second revised edition (Natural Language Processing)