demformer first commit
Browse files- README.md +38 -0
- config.json +35 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +1 -0
- tokenizer.json +0 -0
- tokenizer_config.json +1 -0
- vocab.txt +0 -0
README.md
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
widget:
|
3 |
+
- text: "Dem har sökt upp de för att prata."
|
4 |
+
example_title: "De/dem exempel 1"
|
5 |
+
- text: "Jag såg de komma runt hörnet och gå i riktning mot dem byggnaderna."
|
6 |
+
example_title: "De/dem exempel 2"
|
7 |
+
---
|
8 |
+
|
9 |
+
## Demformer
|
10 |
+
|
11 |
+
Demformer är en modell som har tränats på att skilja mellan `de` och `dem` i svenska meningar. Modellen kan testas direkt i panelerna till höger under **Hosted Inference API** genom att skriva en mening och trycka på **Compute**.
|
12 |
+
|
13 |
+
## Träningsdata
|
14 |
+
Demformer har tränats på meningar från Europarlamentet och svenskspråkiga Wikimedia. Dessa hämtades från [OPUS](https://opus.nlpl.eu/). Källorna valdes ut för att de antogs ha ett korrekt språkbruk.
|
15 |
+
|
16 |
+
Endast meningar innehållandes `de` eller `dem` -- eller bägge två -- behölls i konstruktionen av träningsdataset. I tabellen nedan återfinns beskrivande statistik över antalet meningar som behölls från respektive dataset, samt frekvenser över förekomsten av `de/dem`.
|
17 |
+
|
18 |
+
| Datakälla | Meningar | # De | # Dem | De/Dem ratio |
|
19 |
+
| ----------- | ----------- | ------- | ------- | ------------ |
|
20 |
+
| [Europaparl sv.txt.gz](https://opus.nlpl.eu/download.php?f=Europarl/v8/mono/sv.txt.gz) | 495836 | 461305 | 53726 | 8.57x |
|
21 |
+
| [Wikimedia sv.txt.gz](https://opus.nlpl.eu/download.php?f=wikimedia/v20210402/mono/sv.txt.gz) | 626486 | 598371 | 38649 | 15.48x |
|
22 |
+
|
23 |
+
Vid träningen av Demformer introducerades slumpmässiga substitioner, där `de` eller `dem` byttes ut mot den motsatta formen. Modellen utmanades sedan att klassificera huruvida ett givet ord tillhörde ett av följande kategorier
|
24 |
+
|
25 |
+
1. **`ord`** (alla bakgrundsord som inte är de/dem tillhör denna kategori)
|
26 |
+
2. **`DE`**
|
27 |
+
3. **`DEM`**
|
28 |
+
|
29 |
+
Innan observationerna skickades in till modellträning byttes `de` ut mot `dem` med 47 procent sannolikhet, medan `dem` byttes till `de` i 40 procent av fallen.
|
30 |
+
|
31 |
+
## Träffsäkerhet/Accuracy
|
32 |
+
|
33 |
+
Demformer utvärderades på ett valideringsset bestående av 5000 meningar från samma datakälla (svenska wiki + europaparlamentet) som modellen tränats på. Slumpmässiga fel introducerades för att utmana modellen. 47 procent av förekommande `de` i ursprungsmeningarna ändrades till `dem`, medan 40 procent av förekommande `dem` ändrades till `de`. Tabellen nedan visar att Demformer är väldigt träffsäker. De få "felaktiga" prediktioner som modellen outputtar är nästan samtliga `de/dem som`-konstruktioner med bisatser. Dessa är egentligen inte att anse som felaktiga, eftersom [båda formerna är accepterade](https://www4.isof.se/cgi-bin/srfl/visasvar.py?sok=dem%20som&svar=79718&log_id=705355).
|
34 |
+
|
35 |
+
| | Accuracy |
|
36 |
+
| ----------- | ----------- |
|
37 |
+
| de | 99.5\% |
|
38 |
+
| dem | 96.6\% |
|
config.json
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_name_or_path": "KB/bert-base-swedish-cased",
|
3 |
+
"architectures": [
|
4 |
+
"BertForTokenClassification"
|
5 |
+
],
|
6 |
+
"attention_probs_dropout_prob": 0.1,
|
7 |
+
"gradient_checkpointing": false,
|
8 |
+
"hidden_act": "gelu",
|
9 |
+
"hidden_dropout_prob": 0.1,
|
10 |
+
"hidden_size": 768,
|
11 |
+
"id2label": {
|
12 |
+
"0": "ord",
|
13 |
+
"1": "DE",
|
14 |
+
"2": "DEM"
|
15 |
+
},
|
16 |
+
"initializer_range": 0.02,
|
17 |
+
"intermediate_size": 3072,
|
18 |
+
"label2id": {
|
19 |
+
"DE": "1",
|
20 |
+
"DEM": "2",
|
21 |
+
"ord": "0"
|
22 |
+
},
|
23 |
+
"layer_norm_eps": 1e-12,
|
24 |
+
"max_position_embeddings": 512,
|
25 |
+
"model_type": "bert",
|
26 |
+
"num_attention_heads": 12,
|
27 |
+
"num_hidden_layers": 12,
|
28 |
+
"output_past": true,
|
29 |
+
"pad_token_id": 0,
|
30 |
+
"position_embedding_type": "absolute",
|
31 |
+
"transformers_version": "4.6.1",
|
32 |
+
"type_vocab_size": 2,
|
33 |
+
"use_cache": true,
|
34 |
+
"vocab_size": 50325
|
35 |
+
}
|
pytorch_model.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5d43512c1f94cddc4d77a7a176f1660d16f3154a081e66a98f6c8ab870098f76
|
3 |
+
size 496499191
|
special_tokens_map.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]"}
|
tokenizer.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
tokenizer_config.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"do_lower_case": false, "unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]", "tokenize_chinese_chars": true, "strip_accents": false, "special_tokens_map_file": "/home/faton/.cache/huggingface/transformers/37f2eab7cd9b3716ce0160ea9562138ae9247fb3ea61a2fd0190b16d0970444e.dd8bd9bfd3664b530ea4e645105f557769387b3da9f79bdb55ed556bdd80611d", "name_or_path": "KB/bert-base-swedish-cased", "do_basic_tokenize": true, "never_split": null}
|
vocab.txt
ADDED
The diff for this file is too large to render.
See raw diff
|
|