--- language: - en license: apache-2.0 base_model: mpi-inno-comp/paecter library_name: transformers pipeline_tag: text-classification tags: - patents - plant-patents - plant-breeding - plant-varieties - text-classification - paecter - reproducibility widget: - text: |- Drought tolerant maize plant A maize plant with improved drought tolerance is provided, together with seeds and methods for producing the plant. - text: |- Rose plant named Sunny Belle A new and distinct cultivar of Rosa plant is described, characterized by compact growth and yellow flowers. --- # PaECTER Variety-vs-Technology Patent-Family Classifier This is the second-stage production classifier for the manuscript *Identifying Plant-Related Patents: Corpus Construction and Global Patterns*. It fine-tunes `mpi-inno-comp/paecter` to classify plant-related patent families as variety-focused or technology-focused using English title and abstract text. This release is a companion checkpoint for reproducible research on variety-focused and technology-focused plant patent classification. The Apache-2.0 license metadata follows the PaECTER base-model release. ## Model Details - Base model: [`mpi-inno-comp/paecter`](https://huggingface.co/mpi-inno-comp/paecter) - Architecture: `BertForSequenceClassification` - Task: binary text classification - Input text: English title, blank line, English abstract - Maximum length: 512 tokens - Labels: - `variety`: variety-focused plant patent family - `technology`: technology-focused plant patent family - Recommended decision rule: classify as `technology` when `p_technology >= 0.000399` This model is intended to be applied only after the first-stage plant-related detector has selected plant-related families. This model is a supervised fine-tune of PaECTER. Please cite or link the original PaECTER model and paper when reusing this checkpoint. ## Training Data The model was trained on the plant-positive subset of the repository's internal 600-family labeled DOCDB sample. The subtype split contains 142 train, 30 validation, and 31 test families. The row-level labeling queue, patent text, split manifest, and prediction files are not part of this model release. ## Evaluation Metrics below use the validation-F1-selected threshold `p_technology >= 0.000399`, with `technology` as the positive class. | Split | PR-AUC | Precision | Recall | F1 | Accuracy | |---|---:|---:|---:|---:|---:| | Validation | 0.9740 | 0.9500 | 1.0000 | 0.9744 | 0.9667 | | Test | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | The held-out test split is small (`n = 31`), so differences between subtype models should be interpreted cautiously. ## Intended Use Use this model to separate already plant-related patent families into variety-focused and technology-focused subtypes. It is useful for corpus summaries, downstream descriptive analysis, and manual review workflows where the input family has already passed the plant-related inclusion stage. ## Limitations - The subtype training set is small and conditional on first-stage plant inclusion. - Inputs longer than 512 tokens are truncated. - The near-zero threshold reflects validation-set calibration on a small, imbalanced subtype dataset; it is not an intrinsic probability of technology focus. - The model is trained on English title and abstract text, not full patent claims or descriptions. ## Reproducibility Reference artifacts in the companion repository: - Training report: `metadata/variety_technology_paecter_report_2026-01-30.md` - Metrics JSON: `metadata/variety_technology_paecter_metrics_2026-01-30.json` - Public companion repository: ## Companion Resources - Original PaECTER base model: - Interactive demo Space: - First-stage plant-related detector: - Public companion repository: - Manuscript context: *Identifying Plant-Related Patents: Corpus Construction and Global Patterns* ## Example ```python from transformers import AutoModelForSequenceClassification, AutoTokenizer import torch model_id = "aydiet/plant-patent-paecter-variety-technology" text = "Drought tolerant maize plant\n\nA maize plant with improved drought tolerance is provided." tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForSequenceClassification.from_pretrained(model_id) inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=512) with torch.no_grad(): probs = torch.softmax(model(**inputs).logits, dim=-1)[0] p_technology = float(probs[model.config.label2id["technology"]]) label = "technology" if p_technology >= 0.000399 else "variety" print(label, p_technology) ```