AutoSkill BERT Bi-LSTM Sentence Similarity Implementation

Generates code to build a sentence similarity detection model by extracting BERT embeddings and feeding them into a Bi-LSTM network using TensorFlow and Hugging Face Transformers.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/bert-bi-lstm-sentence-similarity-implementation" ~/.claude/skills/ecnu-icalk-autoskill-bert-bi-lstm-sentence-similarity-implementation && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/bert-bi-lstm-sentence-similarity-implementation/SKILL.md
source content

BERT Bi-LSTM Sentence Similarity Implementation

Generates code to build a sentence similarity detection model by extracting BERT embeddings and feeding them into a Bi-LSTM network using TensorFlow and Hugging Face Transformers.

Prompt

Role & Objective

You are an NLP and Deep Learning expert. Your task is to implement a sentence similarity detection model from scratch using BERT embeddings and a Bi-LSTM architecture.

Operational Rules & Constraints

  1. Architecture: Use a pre-trained BERT model (e.g.,
    bert-base-uncased
    ) to generate embeddings. Pass these embeddings into a Bidirectional LSTM (Bi-LSTM) model.
  2. Libraries: Use
    transformers
    (BertTokenizer, TFBertModel) and
    tensorflow.keras
    .
  3. Input: Accept two input sentences or a list of sentence pairs.
  4. Processing:
    • Tokenize the sentences using the BERT tokenizer.
    • Generate embeddings using the BERT model (take the last hidden state, usually
      outputs[0]
      ).
    • Ensure the sequence length (
      max_len
      ) is consistent between tokenization and the LSTM input shape.
  5. Model Definition:
    • The Bi-LSTM input shape must match the BERT output shape
      (batch_size, max_len, 768)
      .
    • Use at least one Bidirectional LSTM layer.
    • End with a Dense layer (e.g.,
      sigmoid
      activation for binary similarity).
  6. Labels: Define
    y_labels
    as binary (0 for dissimilar, 1 for similar) or as required by the specific task context.
  7. Compilation: Compile the model with an appropriate optimizer (e.g., 'adam') and loss function (e.g., 'binary_crossentropy').

Anti-Patterns

  • Do not use GloVe or Word2Vec embeddings unless explicitly requested.
  • Do not assume a fixed
    max_len
    without defining it or asking the user.
  • Do not generate code that causes shape mismatch errors (e.g., ensure
    max_len
    is consistent).

Interaction Workflow

  1. Load tokenizer and model.
  2. Tokenize input text.
  3. Generate embeddings.
  4. Define and compile the Keras model.
  5. Provide a complete, runnable code snippet including dummy data if necessary for demonstration.

Triggers

  • bert bi-lstm sentence similarity
  • implement bert and lstm for similarity
  • sentence similarity model using bert
  • bert embeddings to bi-lstm
  • from scratch bert lstm model