# A Novel Approach for Semantic Extractive Text Summarization
## 3 Methodology and Experimental Setup
### Preprocessing  
**Stop Words**: The first step of preprocessing is the removal of stop words, such as a, an, the, is, etc.  
**Tokenization**: The second step is to extract tokens of sentences by the word tokenize function in the Python library [38]  
**POS Tags**: The third step extracts part of speech (POS) tags from a document, such as nouns, pronouns, etc.  
**Facts**: The fourth step extracts facts, such as the dates of events in which something happens, e.g., date of birth and death and all other important events, because summarizers usually exclude such important events during shrinking.  
**Stemming**: The fourth step consists of generating the stems of tokens; the stem is the base or root form of words where the second word is generated from its original word, e.g., in the word \"become\", the stem is \"be\" (by [PERSON] in Python [39]).  
**Lematization**: The sixth step consists of producing the lemmas of tokens; the lemma is the base or root meaning of words, e.g., the word \"living\" has a root meaning of the word \"live\".  
**Frequent Words**: In the seventh step, the most frequent words are identified and selected by using the mode function.  
\[\text{Mode}=1+\text{h}\left(\text{fm}-\text{f}_{1}/2\text{f}_{\text{m}}-\text {f}_{1}-\text{f}_{2}\right) \tag{1}\]  
**Semantic Similarity**: In this step, the most frequent words are obtained, and some irrelevant words are also selected due to frequent occurrence. In order to avoid false selection, the similarity between words is calculated by taking the cosine of the dot product of two words or vectors, so only relevant words that are semantically similar can be selected [40].  
\[\text{Cosine (A.B)}=\text{$\rightarrow$}\text{A}.\text{$\rightarrow$}\text{ B}/\text{$\rightarrow$}\text{A}.\text{$\rightarrow$}\text{B} \tag{2}\]  
**Unique Tokens**: This is the last step of pre-processing where we obtain fetched tokens, but some tokens may be duplicated, so unique functions capture only distinct items, tokens, words, or vectors.  
\[\text{U}\_\text{tokens}=\text{fUnique (List of tokens)} \tag{3}\]  
Now, after selecting the unique tokens, it is ready for the next stage, which is feature extractions where tokens are converted into numerical vectors [41].  
**Feature Extraction**: Feature extraction is the process of selecting relevant features from a document that are taking part in the summary and excluding the irrelevant ones.  
**Bow model**: The bag-of-words model contains word tokens, and we transform them into the binary number of bits so that the machine is able to learn or maintain its vocabulary. The output of this model is binary feature vectors.  
**TF-IDF Model**: The Tf-Idf model generates the real feature vectors because, in the BOW model, we cannot predict \"how much particular term is important in the document and how many times the particular terms appear in the whole document and how much the term is rare?\" [42].  
**Term-Frequency**: It refers to \"how many times a particular word or token appears in the document into a whole number of documents\".  
Tf = No. of terms appear in document/Total no. of terms documents (4)  
**Inverse Document Frequency**: It refers to \"how many times a rare term or word appears in the document means the more the term rare is, it possesses more importance\".  
IDF(t) = log_e (Total number of documents/Number of documents with term t in it). (5)  
\[\text{Tf - IDF = Tf \times IDf} \tag{6}\]