Text Classification
Transformers
Safetensors
bert
research-library
repository-library
metadata-category-classifier
m2
t1_metadata
v2
text-embeddings-inference
Instructions to use PeytonT/metadata-category-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use PeytonT/metadata-category-classifier with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="PeytonT/metadata-category-classifier")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("PeytonT/metadata-category-classifier") model = AutoModelForSequenceClassification.from_pretrained("PeytonT/metadata-category-classifier", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update full Metadata Category Classifier v2 model card
Browse files
README.md
CHANGED
|
@@ -3,40 +3,123 @@ library_name: transformers
|
|
| 3 |
base_model: allenai/scibert_scivocab_uncased
|
| 4 |
tags:
|
| 5 |
- research-library
|
| 6 |
-
-
|
|
|
|
| 7 |
- m2
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
# Metadata Category Classifier
|
| 11 |
|
| 12 |
-
|
| 13 |
|
| 14 |
-
##
|
| 15 |
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
|
| 19 |
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
-
|
| 23 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
## Evaluation
|
| 26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
- `eval_loss`: `0.003253802889958024`
|
| 28 |
- `eval_accuracy`: `1.0`
|
| 29 |
- `eval_macro_f1`: `1.0`
|
| 30 |
- `eval_balanced_accuracy`: `1.0`
|
| 31 |
- `eval_label_count`: `31`
|
| 32 |
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
-
##
|
| 38 |
|
| 39 |
-
-
|
| 40 |
-
-
|
| 41 |
-
-
|
| 42 |
-
- `research_library_v2_metadata.json`
|
|
|
|
| 3 |
base_model: allenai/scibert_scivocab_uncased
|
| 4 |
tags:
|
| 5 |
- research-library
|
| 6 |
+
- repository-library
|
| 7 |
+
- metadata-category-classifier
|
| 8 |
- m2
|
| 9 |
+
- t1_metadata
|
| 10 |
+
- text-classification
|
| 11 |
+
- v2
|
| 12 |
---
|
| 13 |
|
| 14 |
+
# Metadata Category Classifier
|
| 15 |
|
| 16 |
+
Classifies paper metadata from title and abstract text into arXiv-style category labels.
|
| 17 |
|
| 18 |
+
## Model Details
|
| 19 |
|
| 20 |
+
- Artifact type: full fine-tuned Transformers model
|
| 21 |
+
- Base model: `allenai/scibert_scivocab_uncased`
|
| 22 |
+
- Backbone type: encoder
|
| 23 |
+
- Model ID: `M2`
|
| 24 |
+
- Tier: `T1_metadata`
|
| 25 |
+
- Role in stack: metadata and global science-graph component
|
| 26 |
+
- Version: `v2`
|
| 27 |
|
| 28 |
+
This model is part of the Repository Library stack, a research system for indexing, retrieving, aligning, and reasoning over scientific papers, structured paper content, repositories, and cross-domain links between them.
|
| 29 |
|
| 30 |
+
## Model Sources
|
| 31 |
+
|
| 32 |
+
- Hugging Face repo: https://huggingface.co/PeytonT/metadata-category-classifier
|
| 33 |
+
- Hugging Face collection: https://huggingface.co/collections/PeytonT/research-library-6a49c589ef4d763f7539b50d
|
| 34 |
+
- GitHub repository: https://github.com/peytontolbert/research_library
|
| 35 |
+
- Experiment config: https://github.com/peytontolbert/research_library/blob/main/models/experiments/m2_metadata_category_classifier.json
|
| 36 |
+
- Models directory: https://github.com/peytontolbert/research_library/tree/main/models
|
| 37 |
+
|
| 38 |
+
## Intended Use
|
| 39 |
+
|
| 40 |
+
- Primary use: Classifies paper title and abstract metadata into category labels for metadata indexing and filtering.
|
| 41 |
+
- Downstream use: retrieval, ranking, routing, clustering, paper understanding, and global science-graph construction inside the broader Repository Library system.
|
| 42 |
+
- Out of scope: production safety claims, benchmark claims beyond the tracked experiment config, or deployment without task-specific validation.
|
| 43 |
+
|
| 44 |
+
## Training Data
|
| 45 |
+
|
| 46 |
+
The training inputs for this package were assembled from the following Repository Library data sources:
|
| 47 |
+
|
| 48 |
+
- Source `arxiv_metadata`: arXiv metadata records containing titles, abstracts, authors, categories, and update metadata.
|
| 49 |
+
|
| 50 |
+
The v2 hardening pass restricts the classifier target space to a denser category set:
|
| 51 |
+
|
| 52 |
+
- `max_labels`: 32
|
| 53 |
+
- `min_per_label`: 16
|
| 54 |
+
- `max_per_label`: 128
|
| 55 |
+
|
| 56 |
+
## Training Procedure
|
| 57 |
+
|
| 58 |
+
- Sources: `arxiv_metadata`
|
| 59 |
+
- Input fields: `title`, `abstract`
|
| 60 |
+
- Target fields: `categories`
|
| 61 |
+
- Filters: years `[2000, 2025]`
|
| 62 |
+
- Train/val/test split: `[0.9, 0.1, 0.0]`
|
| 63 |
+
- Max samples: 4000
|
| 64 |
+
- Batch size: 8
|
| 65 |
+
- Precision: `bf16`
|
| 66 |
+
- Objective: `cross_entropy`
|
| 67 |
+
- Learning rate: `5e-05`
|
| 68 |
+
- Max source tokens: 512
|
| 69 |
+
- Max target tokens: 128
|
| 70 |
+
- Fine-tune strategy: `full_finetune`
|
| 71 |
+
- Number of labels: 32
|
| 72 |
+
- Max steps: 1000
|
| 73 |
+
|
| 74 |
+
## Compute
|
| 75 |
+
|
| 76 |
+
- Hardware: 2x RTX_3090 (24 GB)
|
| 77 |
+
- Distributed strategy: `ddp`
|
| 78 |
+
- Estimated GPU hours in config: 0
|
| 79 |
|
| 80 |
## Evaluation
|
| 81 |
|
| 82 |
+
Declared metrics: `accuracy`, `macro_f1`
|
| 83 |
+
|
| 84 |
+
Tracked v2 eval metrics on the current held-out split:
|
| 85 |
+
|
| 86 |
- `eval_loss`: `0.003253802889958024`
|
| 87 |
- `eval_accuracy`: `1.0`
|
| 88 |
- `eval_macro_f1`: `1.0`
|
| 89 |
- `eval_balanced_accuracy`: `1.0`
|
| 90 |
- `eval_label_count`: `31`
|
| 91 |
|
| 92 |
+
Status: this card reflects the current tracked experiment configuration and packaged weights in the Repository Library model stack. The v2 scores are very high and should receive a leakage audit before being treated as a final benchmark.
|
| 93 |
+
|
| 94 |
+
## Usage
|
| 95 |
+
|
| 96 |
+
```python
|
| 97 |
+
from transformers import AutoModelForSequenceClassification, AutoTokenizer
|
| 98 |
+
|
| 99 |
+
repo_id = "PeytonT/metadata-category-classifier"
|
| 100 |
+
|
| 101 |
+
tokenizer = AutoTokenizer.from_pretrained(repo_id)
|
| 102 |
+
model = AutoModelForSequenceClassification.from_pretrained(repo_id)
|
| 103 |
+
|
| 104 |
+
text = "TITLE: Example paper title
|
| 105 |
+
ABSTRACT: This paper studies representation learning for scientific documents."
|
| 106 |
+
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
|
| 107 |
+
outputs = model(**inputs)
|
| 108 |
+
predicted_id = outputs.logits.argmax(dim=-1).item()
|
| 109 |
+
label = model.config.id2label.get(predicted_id, str(predicted_id))
|
| 110 |
+
print(label)
|
| 111 |
+
```
|
| 112 |
+
|
| 113 |
+
## Limitations
|
| 114 |
|
| 115 |
+
- These cards are generated from tracked experiment metadata and packaged artifacts, not from a separate benchmark report or external audit.
|
| 116 |
+
- Several training sources are pipeline outputs from the Repository Library codebase rather than standalone public datasets.
|
| 117 |
+
- The v2 classifier uses a hardened 32-label target space rather than the full arXiv category universe.
|
| 118 |
+
- The current v2 eval result is perfect on the tracked split, which is useful as a pipeline check but should be audited for label leakage, split leakage, and class-distribution artifacts.
|
| 119 |
+
- These models are components of a larger research system and should be validated in their target workflow before deployment.
|
| 120 |
|
| 121 |
+
## Project Context
|
| 122 |
|
| 123 |
+
- GitHub repository: https://github.com/peytontolbert/research_library
|
| 124 |
+
- Model collection: https://huggingface.co/collections/PeytonT/research-library-6a49c589ef4d763f7539b50d
|
| 125 |
+
- Publisher: PeytonT
|
|
|