1. A method for keyword extraction, comprising: receiving and processing document data to obtain paragraphs and sentences, each sentence comprising one or more words; for each sentence of the document data, obtaining an NLP (Natural Language Processing) result relating to a sentence, wherein the NLP result comprises NER (Named Entity Recognition), POS (Part of Speech) and dependency of each word of the sentence, removing at least one word from the sentence based on the NLP result, grouping the remaining words of the sentence into one or more terms, wherein each term is either a word or a multi-word phrase, and storing the terms on a list; applying a frequency analysis to the terms on the list; for each paragraph of the document data, identifying terms whose occurrences in the paragraph meet a first threshold, forming a cluster for the paragraph based on a co-occurrence analysis of the identified terms, and evaluating a connectivity of the formed cluster; excluding at least one paragraph based on the connectivity of the formed clusters; selecting terms that occur in at least two remaining paragraphs; calculating a score for each of the selected terms; and based on the scores of the selected terms, outputting one or more top terms as keywords representing the document data.