michaljach commited on
Commit
32a1c3f
·
verified ·
1 Parent(s): 6b80cbc

sentiment v1

Browse files
config.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_cross_attention": false,
3
+ "architectures": [
4
+ "BertForSequenceClassification"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "bos_token_id": null,
8
+ "classifier_dropout": null,
9
+ "dtype": "float32",
10
+ "eos_token_id": null,
11
+ "gradient_checkpointing": false,
12
+ "hidden_act": "gelu",
13
+ "hidden_dropout_prob": 0.1,
14
+ "hidden_size": 384,
15
+ "id2label": {
16
+ "0": "positive",
17
+ "1": "neutral",
18
+ "2": "negative"
19
+ },
20
+ "initializer_range": 0.02,
21
+ "intermediate_size": 1536,
22
+ "is_decoder": false,
23
+ "label2id": {
24
+ "negative": 2,
25
+ "neutral": 1,
26
+ "positive": 0
27
+ },
28
+ "layer_norm_eps": 1e-12,
29
+ "max_position_embeddings": 512,
30
+ "model_type": "bert",
31
+ "num_attention_heads": 12,
32
+ "num_hidden_layers": 6,
33
+ "pad_token_id": 0,
34
+ "position_embedding_type": "absolute",
35
+ "tie_word_embeddings": true,
36
+ "transformers_version": "5.17.0",
37
+ "type_vocab_size": 2,
38
+ "use_cache": true,
39
+ "vocab_size": 30522
40
+ }
model_card.json ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifact_version": 1,
3
+ "model": "sentiment@v1",
4
+ "tier": "encoder",
5
+ "labels": [
6
+ "positive",
7
+ "neutral",
8
+ "negative"
9
+ ],
10
+ "temperature": 0.5394950342333552,
11
+ "threshold": 0.8577380690700984,
12
+ "spec": {
13
+ "task": "sentiment",
14
+ "description": "What feeling does the writer express about the thing they're talking about (a product, place, service or experience)?\n",
15
+ "input": {
16
+ "type": "text",
17
+ "max_chars": 2000
18
+ },
19
+ "output": {
20
+ "type": "choice",
21
+ "labels": {
22
+ "positive": "Happy, satisfied, grateful or recommends it.",
23
+ "neutral": "Facts, questions, plans or mixed feelings with no clear lean.",
24
+ "negative": "Unhappy, disappointed, angry or warns others away. Includes sarcastic praise."
25
+ }
26
+ },
27
+ "model": {
28
+ "tier": "auto",
29
+ "base": null,
30
+ "quantization": "q8"
31
+ },
32
+ "teacher": {
33
+ "kind": "csv",
34
+ "model": null,
35
+ "path": "examples/sentiment_data.csv",
36
+ "min_confidence": 0.0
37
+ },
38
+ "data": {
39
+ "seed_examples": null,
40
+ "unlabeled": "examples/sentiment_data.csv",
41
+ "gold": null,
42
+ "synthetic": 0,
43
+ "synth_model": null
44
+ },
45
+ "targets": {
46
+ "min_macro_f1": 0.9,
47
+ "deploy": "browser",
48
+ "max_download_mb": 30.0,
49
+ "max_latency_ms": 100.0
50
+ },
51
+ "escalation": {
52
+ "target_precision": 0.97
53
+ },
54
+ "seed": 42
55
+ },
56
+ "task": "sentiment",
57
+ "version": "v1",
58
+ "base": "sentence-transformers/all-MiniLM-L6-v2",
59
+ "prompt_template": null,
60
+ "calibration": {
61
+ "method": "temperature",
62
+ "temperature": 0.5394950342333552,
63
+ "val_ece_before": 0.18350414857910052,
64
+ "val_ece_after": 0.05482613536715122,
65
+ "threshold": 0.8577380690700984,
66
+ "val_coverage": 0.9019607843137255,
67
+ "val_precision_at_threshold": 0.9782608695652174,
68
+ "target_precision_reached": true
69
+ },
70
+ "download_mb": 23.7,
71
+ "training": {
72
+ "chosen": {
73
+ "tier": "encoder",
74
+ "base": "sentence-transformers/all-MiniLM-L6-v2",
75
+ "est_download_mb": 23.7,
76
+ "val_macro_f1": 0.9209,
77
+ "best_epoch": 6,
78
+ "val_macro_f1_by_epoch": [
79
+ 0.6337,
80
+ 0.865,
81
+ 0.9029,
82
+ 0.9029,
83
+ 0.901,
84
+ 0.9209
85
+ ],
86
+ "epochs": 6,
87
+ "lr": 0.0001,
88
+ "batch": 32,
89
+ "max_tokens": 256,
90
+ "device": "cpu"
91
+ },
92
+ "candidates": [
93
+ {
94
+ "tier": "static",
95
+ "base": "minishlab/potion-base-8M",
96
+ "est_download_mb": 8.6,
97
+ "C": 0.1,
98
+ "val_macro_f1": 0.8216,
99
+ "val_macro_f1_by_C": {
100
+ "0.003": 0.7592,
101
+ "0.01": 0.7806,
102
+ "0.03": 0.7826,
103
+ "0.1": 0.8216,
104
+ "0.3": 0.8013,
105
+ "1.0": 0.8013,
106
+ "3.0": 0.7397
107
+ },
108
+ "embedding_dtype": "int8"
109
+ },
110
+ {
111
+ "tier": "encoder",
112
+ "base": "sentence-transformers/paraphrase-MiniLM-L3-v2",
113
+ "est_download_mb": 18.4,
114
+ "val_macro_f1": 0.8628,
115
+ "best_epoch": 3,
116
+ "val_macro_f1_by_epoch": [
117
+ 0.6763,
118
+ 0.7637,
119
+ 0.8628,
120
+ 0.8628,
121
+ 0.8424,
122
+ 0.8424
123
+ ],
124
+ "epochs": 6,
125
+ "lr": 0.0001,
126
+ "batch": 32,
127
+ "max_tokens": 256,
128
+ "device": "cpu"
129
+ },
130
+ {
131
+ "tier": "encoder",
132
+ "base": "sentence-transformers/all-MiniLM-L6-v2",
133
+ "est_download_mb": 23.7,
134
+ "val_macro_f1": 0.9209,
135
+ "best_epoch": 6,
136
+ "val_macro_f1_by_epoch": [
137
+ 0.6337,
138
+ 0.865,
139
+ 0.9029,
140
+ 0.9029,
141
+ 0.901,
142
+ 0.9209
143
+ ],
144
+ "epochs": 6,
145
+ "lr": 0.0001,
146
+ "batch": 32,
147
+ "max_tokens": 256,
148
+ "device": "cpu"
149
+ }
150
+ ],
151
+ "train_seconds": 19.45,
152
+ "sample_weight": "teacher confidence"
153
+ },
154
+ "teacher": {
155
+ "kind": "csv",
156
+ "model": null,
157
+ "path": "examples/sentiment_data.csv",
158
+ "min_confidence": 0.0
159
+ },
160
+ "data": {
161
+ "train": 238,
162
+ "val": 51,
163
+ "test": 51
164
+ },
165
+ "seed": 42,
166
+ "created": "2026-09-27T18:37:39+00:00",
167
+ "export": {
168
+ "format": "nodd",
169
+ "format_version": 2,
170
+ "parity": {
171
+ "n": 51,
172
+ "onnx_fp32": {
173
+ "label_agreement": 1.0,
174
+ "max_abs_prob_diff": 3.0934404020577233e-06,
175
+ "macro_f1": 0.8821428571428571,
176
+ "f1_drop": 0.0
177
+ },
178
+ "onnx_q8": {
179
+ "label_agreement": 0.9607843137254902,
180
+ "max_abs_prob_diff": 0.5095771768447779,
181
+ "macro_f1": 0.8823529411764706,
182
+ "f1_drop": -0.00021008403361344463
183
+ }
184
+ },
185
+ "parity_reference": "onnx_q8",
186
+ "onnx_download_mb": 24.36,
187
+ "onnx_fp32_download_mb": 92.53
188
+ }
189
+ }
nodd.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"format":"nodd","format_version":2,"model":"sentiment@v1","labels":["positive","neutral","negative"],"temperature":0.5394950342333552,"threshold":0.8577380690700984,"max_chars":2000,"files":{"config.json":923,"onnx/model.onnx":91811939,"onnx/model_quantized.onnx":23649644,"tokenizer.json":711649,"tokenizer_config.json":594},"tier":"encoder","tokenizer":{"file":"tokenizer.json","add_special_tokens":true,"max_tokens":256,"truncation":true},"onnx":{"file":"onnx/model_quantized.onnx","fp32_file":"onnx/model.onnx","dtype":"q8","inputs":["input_ids","token_type_ids","attention_mask"],"output":"logits"}}
onnx/model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0eaabe310c345b9986940112615d9b591e61dabf2340bb01e75a897f46c8573d
3
+ size 91811939
onnx/model_quantized.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:562a22793fdf2c2a17bad38d03320cefcf776c9b11bbaf1e937c7fc46775e631
3
+ size 23649644
parity.jsonl ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"text": "The worst customer service I have ever dealt with.", "label": "negative", "probabilities": {"positive": 0.02545724231717005, "neutral": 0.023743408456705434, "negative": 0.9507993492261244}}
2
+ {"text": "Rude staff and overpriced drinks. Avoid.", "label": "negative", "probabilities": {"positive": 0.012111247552389742, "neutral": 0.03582100490604493, "negative": 0.9520677475415653}}
3
+ {"text": "My package was delivered to the wrong address and nobody cares.", "label": "negative", "probabilities": {"positive": 0.01351755795046229, "neutral": 0.03239043663889282, "negative": 0.9540920054106449}}
4
+ {"text": "They cancelled my order without explanation. Pathetic.", "label": "negative", "probabilities": {"positive": 0.012824672141719194, "neutral": 0.03150854377017358, "negative": 0.9556667840881071}}
5
+ {"text": "Took forever to set up and it still doesn't connect.", "label": "negative", "probabilities": {"positive": 0.014148068655987969, "neutral": 0.03423085567071655, "negative": 0.9516210756732955}}
6
+ {"text": "The hotel photos are clearly fake, the place is run down.", "label": "negative", "probabilities": {"positive": 0.009239102300657389, "neutral": 0.22075207135849054, "negative": 0.7700088263408521}}
7
+ {"text": "Poor quality stitching, came apart in the wash.", "label": "negative", "probabilities": {"positive": 0.021043686499243888, "neutral": 0.01943589078640507, "negative": 0.959520422714351}}
8
+ {"text": "The mattress is lumpy and gave me back pain.", "label": "negative", "probabilities": {"positive": 0.02037007362302223, "neutral": 0.025891840105410648, "negative": 0.9537380862715671}}
9
+ {"text": "Slow, clunky and expensive. No thanks.", "label": "negative", "probabilities": {"positive": 0.018886616555516784, "neutral": 0.022718985183480648, "negative": 0.9583943982610026}}
10
+ {"text": "I'm cancelling my membership, the gym is always dirty.", "label": "negative", "probabilities": {"positive": 0.011216333552360631, "neutral": 0.0663155921080884, "negative": 0.922468074339551}}
11
+ {"text": "Disgusting bathroom, broken lock, rude receptionist.", "label": "negative", "probabilities": {"positive": 0.015603009106652126, "neutral": 0.02765756082472178, "negative": 0.9567394300686259}}
12
+ {"text": "ugh, broken again 😡", "label": "negative", "probabilities": {"positive": 0.04499463580547422, "neutral": 0.0169678586831921, "negative": 0.9380375055113336}}
13
+ {"text": "1 star is too generous", "label": "positive", "probabilities": {"positive": 0.5072130757473364, "neutral": 0.13927667802443502, "negative": 0.3535102462282286}}
14
+ {"text": "Waited on hold for two hours to be told to call back tomorrow.", "label": "neutral", "probabilities": {"positive": 0.005698486194519127, "neutral": 0.9294640774090298, "negative": 0.06483743639645093}}
15
+ {"text": "Pretty design, shame it barely works.", "label": "negative", "probabilities": {"positive": 0.05490471797046441, "neutral": 0.01767932484151116, "negative": 0.9274159571880245}}
16
+ {"text": "Thanks for making the app worse with every update.", "label": "negative", "probabilities": {"positive": 0.040686627466280934, "neutral": 0.015938452520312386, "negative": 0.9433749200134067}}
17
+ {"text": "The store opens at 9am on weekdays.", "label": "neutral", "probabilities": {"positive": 0.00747896027055764, "neutral": 0.9766198186837354, "negative": 0.015901221045707077}}
18
+ {"text": "We stayed for three nights in a double room.", "label": "neutral", "probabilities": {"positive": 0.006639561829318198, "neutral": 0.960934891056446, "negative": 0.032425547114235564}}
19
+ {"text": "Our flight departs at 6:40 in the morning.", "label": "neutral", "probabilities": {"positive": 0.006704764083762528, "neutral": 0.9761994632565988, "negative": 0.017095772659638617}}
20
+ {"text": "The sofa comes in grey, green and beige.", "label": "neutral", "probabilities": {"positive": 0.010118631295988448, "neutral": 0.9723883669677537, "negative": 0.01749300173625812}}
21
+ {"text": "Does anyone know if this works with Alexa?", "label": "neutral", "probabilities": {"positive": 0.01817557897307635, "neutral": 0.9145484931113563, "negative": 0.06727592791556732}}
22
+ {"text": "Is this dishwasher safe?", "label": "neutral", "probabilities": {"positive": 0.011530062482359972, "neutral": 0.8571846354876557, "negative": 0.13128530202998442}}
23
+ {"text": "I'll check back after the next update.", "label": "neutral", "probabilities": {"positive": 0.01224470050889334, "neutral": 0.9459133032158612, "negative": 0.04184199627524555}}
24
+ {"text": "This is my second order from this store.", "label": "neutral", "probabilities": {"positive": 0.013284661841959946, "neutral": 0.9698546154660278, "negative": 0.016860722692012442}}
25
+ {"text": "The instructions are in English and Spanish.", "label": "neutral", "probabilities": {"positive": 0.00835290573554598, "neutral": 0.9740137967456504, "negative": 0.017633297518803517}}
26
+ {"text": "It uses AA batteries.", "label": "neutral", "probabilities": {"positive": 0.007258513798940282, "neutral": 0.9662089742955725, "negative": 0.026532511905487312}}
27
+ {"text": "The app syncs every 15 minutes.", "label": "neutral", "probabilities": {"positive": 0.005217907607760432, "neutral": 0.9665775701550822, "negative": 0.028204522237157442}}
28
+ {"text": "We took the train instead of driving.", "label": "neutral", "probabilities": {"positive": 0.00613157104547193, "neutral": 0.7778720141688376, "negative": 0.21599641478569054}}
29
+ {"text": "Took the bus to the museum, about 20 minutes.", "label": "neutral", "probabilities": {"positive": 0.007285880495427496, "neutral": 0.9753145538462283, "negative": 0.017399565658344256}}
30
+ {"text": "Planning to upgrade next year.", "label": "neutral", "probabilities": {"positive": 0.013986552783786192, "neutral": 0.9682537427383371, "negative": 0.017759704477876764}}
31
+ {"text": "Le colis est arrivé ce matin.", "label": "neutral", "probabilities": {"positive": 0.022766198700194813, "neutral": 0.7379755514398941, "negative": 0.23925824985991098}}
32
+ {"text": "Pros: light, cheap. Cons: flimsy, loud.", "label": "negative", "probabilities": {"positive": 0.14484039325546536, "neutral": 0.02166184417076735, "negative": 0.8334977625737672}}
33
+ {"text": "The pizza was alright.", "label": "neutral", "probabilities": {"positive": 0.006737677210684211, "neutral": 0.8744153898057384, "negative": 0.11884693298357733}}
34
+ {"text": "Thank you so much for the quick refund, really appreciate it.", "label": "positive", "probabilities": {"positive": 0.981554376292129, "neutral": 0.003853136093605839, "negative": 0.014592487614265038}}
35
+ {"text": "Delivery arrived a day early and everything was in perfect condition.", "label": "positive", "probabilities": {"positive": 0.51646531967425, "neutral": 0.42631641797313313, "negative": 0.05721826235261688}}
36
+ {"text": "I'm obsessed with this moisturizer, my skin has never felt better.", "label": "negative", "probabilities": {"positive": 0.20192981251270403, "neutral": 0.016860172316803677, "negative": 0.7812100151704923}}
37
+ {"text": "Delicious, generous portions, and the waiter was lovely.", "label": "positive", "probabilities": {"positive": 0.9868967167831515, "neutral": 0.004025654994472781, "negative": 0.009077628222375757}}
38
+ {"text": "Kudos to the devs, the dark mode looks stunning.", "label": "positive", "probabilities": {"positive": 0.9850386060871908, "neutral": 0.003678597196590094, "negative": 0.011282796716218893}}
39
+ {"text": "This podcast episode was so insightful, learned a ton.", "label": "positive", "probabilities": {"positive": 0.9831528298758287, "neutral": 0.004146593532583886, "negative": 0.012700576591587439}}
40
+ {"text": "Very pleased with the repair, the car drives like new.", "label": "positive", "probabilities": {"positive": 0.9839911646153474, "neutral": 0.003628637884063868, "negative": 0.012380197500588759}}
41
+ {"text": "The museum was fascinating and the guide was brilliant.", "label": "positive", "probabilities": {"positive": 0.9850187675972273, "neutral": 0.007778249652011528, "negative": 0.007202982750761198}}
42
+ {"text": "The team was welcoming and made onboarding painless.", "label": "negative", "probabilities": {"positive": 0.20387843012376153, "neutral": 0.015664344761642673, "negative": 0.7804572251145958}}
43
+ {"text": "This library saved me hours of work, thanks to the maintainers.", "label": "positive", "probabilities": {"positive": 0.9613733528047768, "neutral": 0.006985465944337493, "negative": 0.03164118125088578}}
44
+ {"text": "Perfect fit and the fabric is super soft.", "label": "positive", "probabilities": {"positive": 0.9839112815706914, "neutral": 0.0037017975422324483, "negative": 0.012386920887076111}}
45
+ {"text": "I'm really proud of how this project turned out, thanks everyone.", "label": "positive", "probabilities": {"positive": 0.9849241983927706, "neutral": 0.0034982335481877334, "negative": 0.011577568059041662}}
46
+ {"text": "Great product, great price, great service.", "label": "positive", "probabilities": {"positive": 0.9846353550224716, "neutral": 0.0048618242614952125, "negative": 0.01050282071603324}}
47
+ {"text": "This charger is tiny and charges my laptop super fast. Love it.", "label": "positive", "probabilities": {"positive": 0.9718353101996634, "neutral": 0.0036069900372691, "negative": 0.024557699763067365}}
48
+ {"text": "Quick, friendly and efficient. What more could you want?", "label": "positive", "probabilities": {"positive": 0.9696840790295648, "neutral": 0.016513329456282182, "negative": 0.01380259151415321}}
49
+ {"text": "A bit pricey, but the quality makes up for it. Happy.", "label": "positive", "probabilities": {"positive": 0.9168514136641516, "neutral": 0.003977769351213419, "negative": 0.07917081698463514}}
50
+ {"text": "It's no Michelin star, but it was a lovely meal.", "label": "positive", "probabilities": {"positive": 0.9759013128458217, "neutral": 0.017008820083179922, "negative": 0.007089867070998468}}
51
+ {"text": "Slow start, but the second half of the book is brilliant.", "label": "negative", "probabilities": {"positive": 0.053639907200989094, "neutral": 0.024066071044830557, "negative": 0.9222940217541804}}
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "cls_token": "[CLS]",
4
+ "do_basic_tokenize": true,
5
+ "do_lower_case": true,
6
+ "is_local": false,
7
+ "local_files_only": false,
8
+ "mask_token": "[MASK]",
9
+ "max_length": 128,
10
+ "model_max_length": 512,
11
+ "never_split": null,
12
+ "pad_to_multiple_of": null,
13
+ "pad_token": "[PAD]",
14
+ "pad_token_type_id": 0,
15
+ "padding_side": "right",
16
+ "sep_token": "[SEP]",
17
+ "stride": 0,
18
+ "strip_accents": null,
19
+ "tokenize_chinese_chars": true,
20
+ "tokenizer_class": "BertTokenizer",
21
+ "truncation_side": "right",
22
+ "truncation_strategy": "longest_first",
23
+ "unk_token": "[UNK]"
24
+ }