---
kind: concept
slug: keyphrase-extraction
title: Keyphrase extraction
summary: >-
  Picking the few words or short phrases that describe a document. Covered so far by one card: Bi-LSTM and attention taggers for tweets, with per-word cognitive features (EEG and eye tracking) added. Author-reported F1 gains over a plain Bi-LSTM baseline, which also differs in architecture; the released code differs from the paper and does not reproduce its best setting.
tags: [nlp, sequence-labeling, microblogs, cognitive-signals]
papers: ["2606.26485"]
related: [sequence-labeling, conditional-random-field, self-attention, named-entity-recognition]
status: draft
updated_at: 2026-11-01
---

## Overview

Keyphrase extraction selects the words or short phrases that best describe a
text. The one card so far frames it as sequence labelling: each token is tagged
with B, I, E, S or O, and the selected tokens form the keyphrases [arxiv:2606.26485 §3.2].
The hard case is short, noisy text such as tweets, where context is thin and
hashtags are often missing [arxiv:2606.26485 §1]. Evaluation is top-k keyphrase
precision, recall and F1 [arxiv:2606.26485 §4.1].

The variant covered here adds per-word human reading signals (eye tracking and
EEG from the ZuCo corpus) to neural taggers [arxiv:2606.26485 §3.1, §3.2].
The sections below describe the tagger families it tests, with the
reading-signal features as an add-on to each. Card: [Cognitive signals for keyphrase extraction from microblogs](/papers/2606.26485).

## Variants

### Bi-LSTM taggers

The baseline is a Bi-LSTM, and a Bi-LSTM with a CRF output layer. The
cognitive vector is concatenated to the word embedding before the Bi-LSTM
[arxiv:2606.26485 §3.2.1]. Results: on Election-Trec the Bi-LSTM baseline
scores 61.67 F1, and on General-Twitter 70.67 F1 [arxiv:2606.26485 tab. 4, §4.2].
Card: [Cognitive signals for keyphrase extraction from microblogs](/papers/2606.26485).

### Soft-attention taggers

A learned attention vector scores the Bi-LSTM states and their weighted
combination feeds the output. The paper adds the cognitive vector to the
attention input [arxiv:2606.26485 §3.2.2]. The card notes that the released
code places the features elsewhere, so the description here follows the paper
only. Card: [Cognitive signals for keyphrase extraction from microblogs](/papers/2606.26485).

### Self-attention taggers

Self-attention layers, with or without a CRF, are tested with the cognitive
vector appended to the query [arxiv:2606.26485 §3.2.2]. This is the best
setting in the paper: SATT-BiLSTM+CRF with EEG reaches 67.82 F1 on
Election-Trec and 82.46 F1 on General-Twitter [arxiv:2606.26485 tab. 4, §4.2].
The released code for this model does not run as written, according to the
card's Paper vs code section.
Card: [Cognitive signals for keyphrase extraction from microblogs](/papers/2606.26485).

### Pre-trained encoders

The paper also tests GloVe embeddings in the self-attention tagger, BERT with a
linear tagging head, and T5-Base and T5-Large with a linear head
[arxiv:2606.26485 §3.2.3]. Gains from the reading signals are small here: T5-Large
moves from 75.10 to 76.99 F1 on Election-Trec, and BERT from 71.79 to 71.82
[arxiv:2606.26485 tab. 7, §4.5]. Card: [Cognitive signals for keyphrase extraction from microblogs](/papers/2606.26485).

## When to use which

Only one card is available, so these rows compare settings inside that paper.
They are not a survey of keyphrase extraction.

| Situation | Use | Why |
|---|---|---|
| You have a pre-trained encoder and no reading-signal data | Pre-trained tagger without extra features | The paper's feature gains are smallest with pre-trained models, so the features add little there [arxiv:2606.26485 tab. 7, §4.5] |
| You have per-word reading signals for your domain | Bi-LSTM or self-attention tagger with the features | The paper reports the largest F1 gains from EEG features and a smaller one from eye tracking [arxiv:2606.26485 §4.2, abstract] |
| Your vocabulary is mostly outside the reading corpus | Do not expect the features to help | Only 8.6% (Election-Trec) and 4.0% (General-Twitter) of microblog vocabulary is covered by ZuCo, so most words get imputed values [arxiv:2606.26485 tab. 6, §3.1.2] |
| You need a feature that changes with reader or context at inference | Not supported by this variant | Features are averaged per word type, so a word gets the same vector everywhere [arxiv:2606.26485 §3.1.3] |
| You want the simplest reproducible baseline | Bi-LSTM without features | The released code does not reproduce the paper's All_EEG setting, so the feature results are hard to rebuild [arxiv:2606.26485 §4.2] |

## Implementation sketch

The common core is a token tagger with an optional per-word feature vector.
The variants differ in where the vector enters (the paper's choices are
described in each variant above).

```pseudocode
# Keyphrase tagger with optional per-word features  [arxiv:2606.26485 §3.2]
# Input:  word_ids (B, L); feats (B, L, k) or None; mask (B, L)
# Output: tag scores (B, L, 5) for B, I, E, S, O

def keyphrase_tagger(word_ids, feats, mask):
    # Look up word embeddings  [arxiv:2606.26485 §3.2.1]
    embedded = embedding(word_ids)                  # (B, L, d)
    # Concatenate the per-word feature vector before encoding  [§3.2.1]
    if feats is not None:
        embedded = concat(embedded, feats)          # (B, L, d + k)
    # Encode the sequence with a Bi-LSTM  [§3.2.1]
    hidden = bilstm(embedded)                       # (B, L, 2h)
    # Optional attention layer; placement depends on variant  [§3.2.2]
    hidden = maybe_attention(hidden, feats, mask)
    # Score each token; CRF decoding is an option  [§3.2.1]
    return linear(hidden)                           # (B, L, 5)
```

## Contradictions

None known between papers, since only one card exists. The paper and its
released code disagree on several points, including which EEG features are
used, where features enter the attention models, and the pooling in soft
attention. These are listed on the card's Paper vs code section, and they
affect whether the reported numbers can be reproduced. See
[Cognitive signals for keyphrase extraction from microblogs](/papers/2606.26485).

## Papers

- [Utilizing Cognitive Signals Generated during Human Reading to Enhance Keyphrase Extraction from Microblogs](/papers/2606.26485): adds per-word EEG and eye-tracking features to Bi-LSTM and attention taggers for tweets; author-reported best F1 is 67.82 (Election-Trec) and 82.46 (General-Twitter) [arxiv:2606.26485 tab. 4].
