fabiancpl commited on
Commit
1b8f032
·
verified ·
1 Parent(s): 2bd9ad7

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +33 -89
README.md CHANGED
@@ -7,49 +7,50 @@ tags:
7
  widget: []
8
  metrics:
9
  - accuracy
 
 
 
10
  pipeline_tag: text-classification
11
  library_name: setfit
12
  inference: true
 
 
 
 
 
 
 
13
  ---
14
 
15
- # SetFit
16
 
17
- This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Text Classification. A RandomForestClassifier instance is used for classification.
18
 
19
- The model has been trained using an efficient few-shot learning technique that involves:
20
 
21
  1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
22
- 2. Training a classification head with features from the fine-tuned Sentence Transformer.
23
 
24
- ## Model Details
25
 
26
- ### Model Description
27
  - **Model Type:** SetFit
28
- <!-- - **Sentence Transformer:** [Unknown](https://huggingface.co/unknown) -->
29
- - **Classification head:** a RandomForestClassifier instance
30
- - **Maximum Sequence Length:** 256 tokens
31
- <!-- - **Number of Classes:** Unknown -->
32
- <!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
33
- <!-- - **Language:** Unknown -->
34
- <!-- - **License:** Unknown -->
35
 
36
- ### Model Sources
37
 
38
- - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
39
- - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
40
- - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
41
 
42
- ## Uses
43
 
44
- ### Direct Use for Inference
45
-
46
- First install the SetFit library:
47
 
48
  ```bash
49
- pip install setfit
50
  ```
51
 
52
- Then you can load this model and run inference.
53
 
54
  ```python
55
  from setfit import SetFitModel
@@ -57,74 +58,17 @@ from setfit import SetFitModel
57
  # Download from the 🤗 Hub
58
  model = SetFitModel.from_pretrained("fabiancpl/nlbse25_python")
59
  # Run inference
60
- preds = model("I loved the spiderman movie!")
61
  ```
62
 
63
- <!--
64
- ### Downstream Use
65
-
66
- *List how someone could finetune this model on their own dataset.*
67
- -->
68
-
69
- <!--
70
- ### Out-of-Scope Use
71
-
72
- *List how the model may foreseeably be misused and address what users ought not to do with the model.*
73
- -->
74
-
75
- <!--
76
- ## Bias, Risks and Limitations
77
-
78
- *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
79
- -->
80
-
81
- <!--
82
- ### Recommendations
83
-
84
- *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
85
- -->
86
-
87
- ## Training Details
88
 
89
- ### Framework Versions
90
- - Python: 3.12.4
91
- - SetFit: 1.1.0
92
- - Sentence Transformers: 3.3.0
93
- - Transformers: 4.42.2
94
- - PyTorch: 2.5.1+cu124
95
- - Datasets: 3.1.0
96
- - Tokenizers: 0.19.1
97
-
98
- ## Citation
99
-
100
- ### BibTeX
101
  ```bibtex
102
- @article{https://doi.org/10.48550/arxiv.2209.11055,
103
- doi = {10.48550/ARXIV.2209.11055},
104
- url = {https://arxiv.org/abs/2209.11055},
105
- author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
106
- keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
107
- title = {Efficient Few-Shot Learning Without Prompts},
108
- publisher = {arXiv},
109
- year = {2022},
110
- copyright = {Creative Commons Attribution 4.0 International}
111
- }
112
  ```
113
-
114
- <!--
115
- ## Glossary
116
-
117
- *Clearly define terms in order to be accessible across audiences.*
118
- -->
119
-
120
- <!--
121
- ## Model Card Authors
122
-
123
- *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
124
- -->
125
-
126
- <!--
127
- ## Model Card Contact
128
-
129
- *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
130
- -->
 
7
  widget: []
8
  metrics:
9
  - accuracy
10
+ - f1
11
+ - precision
12
+ - recall
13
  pipeline_tag: text-classification
14
  library_name: setfit
15
  inference: true
16
+ license: mit
17
+ datasets:
18
+ - NLBSE/nlbse25-code-comment-classification
19
+ language:
20
+ - en
21
+ base_model:
22
+ - sentence-transformers/all-MiniLM-L6-v2
23
  ---
24
 
25
+ # Python comment classifier
26
 
27
+ This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Python code comment classification.
28
 
29
+ The model has been trained using few-shot learning that involves:
30
 
31
  1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
32
+ 2. Training a classification head with features from the fine-tuned model.
33
 
34
+ ## Model Description
35
 
 
36
  - **Model Type:** SetFit
37
+ - **Classification head:** [RandomForestClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html)
 
 
 
 
 
 
38
 
39
+ ## Sources
40
 
41
+ - **Repository:** [GitHub](https://github.com/fabiancpl/sbert-comment-classification/)
42
+ - **Paper:** [Evaluating the Performance and Efficiency of Sentence-BERT for Code Comment Classification](https://ieeexplore.ieee.org/document/11029440)
43
+ - **Dataset:** [HF Dataset](https://huggingface.co/datasets/NLBSE/nlbse25-code-comment-classification)
44
 
45
+ ## How to use it
46
 
47
+ First, install the depencies:
 
 
48
 
49
  ```bash
50
+ pip install setfit scikit-learn
51
  ```
52
 
53
+ Then, load the model and run inferences:
54
 
55
  ```python
56
  from setfit import SetFitModel
 
58
  # Download from the 🤗 Hub
59
  model = SetFitModel.from_pretrained("fabiancpl/nlbse25_python")
60
  # Run inference
61
+ preds = model("This function sorts a list of numbers.")
62
  ```
63
 
64
+ ## Cite as
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  ```bibtex
67
+ @inproceedings{11029440,
68
+ author={Peña, Fabian C. and Herbold, Steffen},
69
+ booktitle={2025 IEEE/ACM International Workshop on Natural Language-Based Software Engineering (NLBSE)},
70
+ title={Evaluating the Performance and Efficiency of Sentence-BERT for Code Comment Classification},
71
+ year={2025},
72
+ pages={21-24},
73
+ doi={10.1109/NLBSE66842.2025.00010}}
 
 
 
74
  ```