---
language: en
tags:
- phrase-similarity
- pic
- cross-encoder
datasets:
- Deehan1866/processed_phrase_similarity
metrics:
- accuracy
---
# bayartsogt/structbert-large Fine-tuned on PiC Phrase Similarity (Angle 3 — with_rationale)
Cross-encoder model for the PiC (Phrase in Context) phrase-similarity
binary classification task. Both sentences — plus an LLM-generated
rationale — are fed together so the model can attend across them
simultaneously.
## Base model
`bayartsogt/structbert-large`
## Input format
```
[CLS] sentence1_marked [SEP] sentence2_marked [SEP] rationale [SEP]
```
## Target Phrase Marking
The target phrase is wrapped with `phrase` using substring
matching against the raw sentence (whole-word boundaries preferred,
case-insensitive fallback), since PS phrases can be multi-word and
have no explicit position column in the source dataset.
## Performance
| Split | Accuracy |
|------------|----------|
| Validation | 0.7440 |
| Test | 0.7370 |
## Usage
```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
tokenizer = AutoTokenizer.from_pretrained("Deehan1866/ps-fullymasked-structbert-large")
model = AutoModelForSequenceClassification.from_pretrained("Deehan1866/ps-fullymasked-structbert-large")
s1 = "In 1990, Petit accepted a full time overnight on air position at gospel radio station WYLD AM."
s2 = "In 1990, Petit accepted a full time overnight on posture while jumping at gospel radio station WYLD AM."
rationale = "The first phrase denotes a broadcasting role; the second describes a physical stance during a jump."
sep = tokenizer.sep_token
enc = tokenizer(s1, s2 + " " + sep + " " + rationale,
return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
logits = model(**enc).logits
pred = torch.argmax(logits).item()
print("Similar" if pred == 1 else "Not similar")
```