Present keyphrase extraction is the process of automatically identifying the most relevant and topical phrases that exist as exact, contiguous spans of text within a source document. Unlike absent keyphrase extraction, which generates novel phrases not found in the text, this extractive approach selects only candidate n-grams that appear verbatim. The task typically involves two stages: phrase candidate generation, where noun phrases and n-grams are identified using part-of-speech tagging and chunking, and candidate scoring, where each phrase is ranked by features such as TF-IDF, position, or semantic similarity to the document embedding.
Glossary
Present Keyphrase Extraction

What is Present Keyphrase Extraction?
Present keyphrase extraction is the NLP task of identifying and selecting salient phrases that appear verbatim within the source document text.
Common algorithms for present extraction include TextRank, which builds a word co-occurrence graph and applies PageRank to identify salient terms, and RAKE, which scores phrases by analyzing word co-occurrence within stopword-delimited sequences. Modern embedding-based methods like KeyBERT compute the cosine similarity between candidate phrase embeddings and the document-level embedding to select the most semantically representative phrases. Evaluation is performed using metrics like F1@K and Mean Reciprocal Rank (MRR) against gold-standard author-assigned keyphrases, measuring both the precision of extracted spans and the correctness of their ranking.
Key Characteristics of Present Keyphrase Extraction
Present keyphrase extraction identifies and selects salient phrases that appear verbatim within the source document text. Unlike abstractive generation, this process is constrained to exact contiguous spans, making it a sequence labeling or candidate ranking task grounded in the document's surface form.
Exact Span Matching
The defining constraint of present extraction is that selected keyphrases must exist as contiguous n-gram sequences in the source text. This distinguishes it from absent keyphrase generation, which synthesizes novel phrases. Algorithms operate by first generating candidate spans—typically noun phrases identified via Part-of-Speech (POS) tagging and noun phrase chunking—then scoring them for salience. The boundary detection problem requires precise identification of where a multi-word phrase starts and ends, often using BIO tagging (Beginning, Inside, Outside) in sequence labeling frameworks.
Candidate Generation Pipeline
The extraction process begins with phrase candidate generation, which produces a set of potential n-grams from the document. Common techniques include:
- POS filtering: Extracting sequences matching patterns like
(JJ)*(NN)+(adjectives followed by nouns) - Stopword-delimited splitting: Using stopwords as phrase boundaries, as employed by RAKE
- N-gram enumeration: Generating all n-grams up to a maximum length (typically 1-5 grams)
- Noun phrase chunking: Using shallow parsing to identify base noun phrases
Effective candidate generation balances recall (capturing all true keyphrases) against precision (avoiding an unmanageable number of candidates).
Phraseness vs. Informativeness Scoring
Candidate phrases are evaluated along two orthogonal dimensions:
- Phraseness: Measures how linguistically well-formed a candidate is as a phrase, independent of topical relevance. This penalizes fragments like 'the quick' while favoring complete noun phrases like 'quick brown fox'.
- Informativeness: Quantifies how well a candidate captures the document's core topical content. This is typically measured through TF-IDF, TF-ICF (domain specificity), or semantic similarity between the phrase embedding and the document embedding.
Algorithms like YAKE combine these dimensions into a unified score, while others apply them sequentially.
Graph-Based Ranking Approaches
Methods like TextRank and SingleRank construct a co-occurrence graph where vertices represent candidate words or phrases and edges are weighted by co-occurrence within a sliding window. The PageRank algorithm is then applied iteratively:
- Each vertex's score is computed as a weighted sum of its neighbors' scores
- Convergence produces a stationary distribution where highly connected nodes receive higher salience scores
- Post-processing selects top-ranked phrases and may apply Maximal Marginal Relevance (MMR) to reduce redundancy
This unsupervised approach requires no training data and is domain-independent, making it widely applicable.
Embedding-Based Semantic Matching
Modern approaches like KeyBERT and EmbedRank leverage pre-trained transformer embeddings to capture semantic similarity:
- The document embedding is computed by pooling BERT token embeddings (typically using the
[CLS]token or mean pooling) - Each candidate phrase is embedded similarly
- Cosine similarity between phrase and document embeddings serves as the salience score
- KeyBERT enhances this with Max Sum Similarity and Maximal Marginal Relevance variants to balance relevance with diversity
This approach excels at identifying keyphrases that are semantically central even when they don't exhibit high term frequency.
Supervised Sequence Labeling
When labeled training data is available (e.g., KP20k, Inspec, SemEval datasets), present extraction is framed as a token-level classification task:
- Each token receives a BIO tag: B-KP (beginning of keyphrase), I-KP (inside keyphrase), or O (outside)
- Architectures like BiLSTM-CRF or fine-tuned BERT models predict these tags
- The CRF layer enforces valid tag transitions (e.g., I-KP must follow B-KP)
- Evaluation uses F1@K with exact span matching against gold-standard annotations
Supervised methods typically outperform unsupervised approaches when sufficient in-domain training data exists.
Present vs. Absent Keyphrase Extraction
A technical comparison of the two fundamental keyphrase extraction paradigms: identifying phrases that appear verbatim in the source text versus generating novel phrases not explicitly present.
| Feature | Present Extraction | Absent Extraction | Hybrid Generation |
|---|---|---|---|
Definition | Identifies keyphrases that appear as contiguous spans in the source document | Generates keyphrases not explicitly stated in the source text | Produces both present and absent keyphrases from a single model |
Core Mechanism | Candidate ranking, graph-based scoring, or sequence labeling | Sequence-to-sequence generation with encoder-decoder architectures | Unified seq2seq model trained on both extraction and generation objectives |
Output Constraint | Strictly constrained to document vocabulary | Unconstrained vocabulary; can introduce novel terms | Mixed; constrained for present, unconstrained for absent |
Hallucination Risk | |||
Requires External Knowledge | |||
Typical Algorithms | TextRank, RAKE, YAKE, KeyBERT, EmbedRank | BART, T5, GPT-based fine-tuned generators | One2Set, SetTrans, CorrRNN |
Evaluation Datasets | Inspec, DUC-2001, SemEval-2010 | KP20k, KPTimes, Krapivin | KP20k (present + absent splits) |
F1@10 Benchmark (KP20k) | 0.18-0.32 (present only) | 0.08-0.15 (absent only) | 0.35-0.42 (combined) |
Frequently Asked Questions
Clear answers to common questions about identifying and extracting keyphrases that appear verbatim within a document's text.
Present keyphrase extraction is the process of automatically identifying and selecting keyphrases that appear verbatim as contiguous spans of text within the source document. This distinguishes it from absent keyphrase extraction or keyphrase generation, where models produce relevant phrases that do not necessarily appear in the text. Present extraction is fundamentally a ranking and selection task—candidate phrases are generated from the document's own n-grams, then scored and filtered. The output is guaranteed to be grounded in the original text, making it highly interpretable and suitable for applications like document keywording and automatic indexing where exact provenance matters.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Core concepts, algorithms, and evaluation metrics that define the present keyphrase extraction pipeline.
Candidate Generation
The initial filtering step that produces a set of potential n-grams from raw text. Part-of-speech (POS) tagging identifies noun phrases using patterns like (JJ)*(NN)+, while stopword filtering delimits boundaries. Common methods include:
- Noun phrase chunking via regular expressions over POS tags
- N-gram enumeration up to a maximum length (typically 5-grams)
- Stopword-based splitting used by RAKE to form candidate sequences Effective candidate generation reduces the search space by 90%+ before scoring begins.
Graph-Based Ranking
A family of unsupervised algorithms that model text units as vertices in a co-occurrence graph. Edges connect words or phrases appearing within a sliding window. TextRank applies the PageRank formula iteratively until convergence:
- Each node's score =
(1-d) + d * Σ(weight_ji * score_j / outdegree_j) - d is the damping factor, typically 0.85
- Final keyphrases are formed by combining adjacent high-scoring words This approach requires no training data and adapts to any domain.
Embedding-Based Scoring
Modern methods leverage dense vector representations to measure semantic similarity between candidate phrases and the document. KeyBERT computes the cosine similarity between each candidate's embedding and the document-level embedding:
- Document embedding: mean pooling of all token vectors
- Candidate embedding: mean pooling of candidate token vectors
- EmbedRank extends this by using sentence embeddings for richer context
- Maximal Marginal Relevance (MMR) re-ranks to maximize relevance while minimizing redundancy with already-selected phrases
Statistical Feature Methods
Lightweight, unsupervised algorithms that score candidates using statistical properties of the text. YAKE computes five features per candidate:
- Casing: ratio of capitalized words
- Position: normalized position of first occurrence
- Frequency: term frequency within the document
- Relatedness: co-occurrence with other candidates
- Sentence frequency: how many sentences contain the candidate RAKE scores by the ratio of degree to frequency in the word co-occurrence graph, favoring longer phrases with rare words.
Evaluation Metrics
Standard measures for comparing predicted keyphrases against a gold-standard set. F1@K computes the harmonic mean of precision and recall for the top-K predictions:
- Precision@K: correct predictions in top-K / K
- Recall@K: correct predictions in top-K / total gold keyphrases
- Mean Reciprocal Rank (MRR): averages
1/rankof the first correct prediction - Binary F1 treats extraction as a classification task over the full candidate set These metrics are computed against author-assigned keyphrases in benchmarks like KP20k.
Ensemble & Fusion
Techniques that combine multiple extraction algorithms to improve robustness. Reciprocal Rank Fusion (RRF) merges ranked lists without score normalization:
RRF_score(d) = Σ 1/(k + rank_i(d))across all rankers- k is a constant (typically 60) to dampen the impact of high ranks
- Ensemble scoring averages normalized scores from TF-IDF, TextRank, and embedding methods
- Weighted voting assigns confidence weights to each algorithm based on historical F1 performance on validation sets

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us