camembertav2-base-name-classifier-v2
This model is a fine-tuned version of almanach/camembertav2-base on ele-sage/person-company-names-classification dataset.
It achieves the following results on the evaluation set:
- Loss: 0.0215
- Accuracy: 0.9942
- Precision: 0.9985
- Recall: 0.9910
- F1: 0.9947
Model description
This model is a high-performance binary text classifier, fine-tuned from camembertav2-base.
Its purpose is to distinguish between a person's name and a company/organization name with high accuracy.
Direct Use
This model is intended to be used for text classification. Given a string, it will return a label indicating whether the string is a Person or a Company.
from transformers import pipeline
classifier = pipeline("text-classification", model="ele-sage/camembertav2-base-name-classifier-v2")
results = classifier([
"Satya Nadella",
"Global Innovations Inc.",
"Martinez, Alonso"
])
for result in results:
print(f"Text: '{result['text']}', Prediction: {result['label']}, Score: {result['score']:.4f}")
Downstream Use
This model is a key component of a two-stage name processing pipeline. It is designed to be used as a fast, efficient "gatekeeper" to first identify person names before passing them to a more complex parsing model, such as ele-sage/distilbert-base-uncased-name-splitter.
Out-of-Scope Use
- This model is not a general-purpose classifier. It is highly specialized for distinguishing persons from companies and will not perform well on other classification tasks (e.g., sentiment analysis).
Bias, Risks, and Limitations
- Geographic & Cultural Bias: The training data is heavily biased towards North American (Canadian) person names and Quebec-based company names. The model will be less accurate when classifying names from other cultural or geographic origins.
- Ambiguity: Certain names can legitimately be both a person's name and a company's name (e.g., "Ford"). In these cases, the model makes a statistical guess based on its training data, which may not always align with the specific context.
- Data Source: The person name data is derived from a Facebook data leak and contains noise. While a rigorous cleaning process was applied, the model may have learned from some spurious data.
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 1e-05
- train_batch_size: 128
- eval_batch_size: 128
- seed: 42
- optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 1000
- num_epochs: 1
Training results
| Training Loss | Epoch | Step | Validation Loss | Accuracy | Precision | Recall | F1 |
|---|---|---|---|---|---|---|---|
| 0.0354 | 0.0359 | 2000 | 0.0313 | 0.9915 | 0.9973 | 0.9874 | 0.9923 |
| 0.0388 | 0.0718 | 4000 | 0.0369 | 0.9884 | 0.9934 | 0.9858 | 0.9896 |
| 0.0254 | 0.1076 | 6000 | 0.0279 | 0.9927 | 0.9981 | 0.9888 | 0.9934 |
| 0.0296 | 0.1435 | 8000 | 0.0251 | 0.9930 | 0.9980 | 0.9895 | 0.9937 |
| 0.0241 | 0.1794 | 10000 | 0.0243 | 0.9932 | 0.9980 | 0.9898 | 0.9939 |
| 0.027 | 0.2153 | 12000 | 0.0252 | 0.9933 | 0.9972 | 0.9907 | 0.9940 |
| 0.0245 | 0.2511 | 14000 | 0.0252 | 0.9934 | 0.9986 | 0.9896 | 0.9941 |
| 0.0259 | 0.2870 | 16000 | 0.0244 | 0.9934 | 0.9972 | 0.9909 | 0.9941 |
| 0.0255 | 0.3229 | 18000 | 0.0245 | 0.9934 | 0.9974 | 0.9907 | 0.9940 |
| 0.0238 | 0.3588 | 20000 | 0.0244 | 0.9934 | 0.9968 | 0.9913 | 0.9941 |
| 0.0253 | 0.3946 | 22000 | 0.0240 | 0.9936 | 0.9977 | 0.9908 | 0.9943 |
| 0.0242 | 0.4305 | 24000 | 0.0240 | 0.9937 | 0.9976 | 0.9910 | 0.9943 |
| 0.0234 | 0.4664 | 26000 | 0.0225 | 0.9937 | 0.9987 | 0.9899 | 0.9943 |
| 0.0209 | 0.5023 | 28000 | 0.0235 | 0.9938 | 0.9987 | 0.9901 | 0.9944 |
| 0.0243 | 0.5382 | 30000 | 0.0226 | 0.9938 | 0.9975 | 0.9914 | 0.9944 |
| 0.0195 | 0.5740 | 32000 | 0.0235 | 0.9939 | 0.9981 | 0.9909 | 0.9945 |
| 0.0218 | 0.6099 | 34000 | 0.0225 | 0.9939 | 0.9979 | 0.9912 | 0.9946 |
| 0.0207 | 0.6458 | 36000 | 0.0229 | 0.9939 | 0.9985 | 0.9906 | 0.9945 |
| 0.0243 | 0.6817 | 38000 | 0.0219 | 0.9940 | 0.9988 | 0.9905 | 0.9946 |
| 0.0239 | 0.7175 | 40000 | 0.0218 | 0.9940 | 0.9987 | 0.9905 | 0.9946 |
| 0.0225 | 0.7534 | 42000 | 0.0216 | 0.9941 | 0.9983 | 0.9911 | 0.9947 |
| 0.0224 | 0.7893 | 44000 | 0.0218 | 0.9941 | 0.9984 | 0.9910 | 0.9947 |
| 0.02 | 0.8252 | 46000 | 0.0216 | 0.9941 | 0.9984 | 0.9910 | 0.9947 |
| 0.0268 | 0.8610 | 48000 | 0.0213 | 0.9941 | 0.9985 | 0.9910 | 0.9947 |
| 0.0254 | 0.8969 | 50000 | 0.0214 | 0.9942 | 0.9983 | 0.9912 | 0.9948 |
| 0.0229 | 0.9328 | 52000 | 0.0215 | 0.9941 | 0.9985 | 0.9910 | 0.9947 |
| 0.0224 | 0.9687 | 54000 | 0.0215 | 0.9942 | 0.9985 | 0.9910 | 0.9947 |
Framework versions
- Transformers 4.57.1
- Pytorch 2.9.0+cu128
- Datasets 4.4.1
- Tokenizers 0.22.1
- Downloads last month
- 121
Model tree for ele-sage/camembertav2-base-name-classifier-v2
Base model
almanach/camembertav2-base