texturejc commited on
Commit
1fb1c9a
·
verified ·
1 Parent(s): 256eece

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +85 -0
README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: framenet-academic
4
+ license_link: https://framenet.icsi.berkeley.edu/framenet_data
5
+ language:
6
+ - en
7
+ library_name: transformers
8
+ pipeline_tag: token-classification
9
+ tags:
10
+ - frame-semantics
11
+ - framenet
12
+ - semantic-parsing
13
+ - srl
14
+ - english
15
+ base_model: microsoft/deberta-v3-large
16
+ ---
17
+
18
+ # texture-frames · trigger-identification head
19
+
20
+ The **trigger-identification** stage of
21
+ [`texture-frames`](https://github.com/texturejc/Texture_Frames), a fast FrameNet
22
+ semantic-frame parser. A per-token classifier (`O` / `TRIGGER`) that finds the
23
+ words in a sentence that evoke a frame.
24
+
25
+ It fine-tunes [`microsoft/deberta-v3-large`](https://huggingface.co/microsoft/deberta-v3-large)
26
+ on **FrameNet 1.7** (via NLTK) with the **Open-Sesame** document splits, scored
27
+ with the upstream word-level F1 so it is directly comparable to prior work.
28
+
29
+ > This is one of three stages. Use it through the package rather than alone; the
30
+ > pipeline chains trigger → frame → arguments.
31
+
32
+ ## Usage
33
+
34
+ ```bash
35
+ pip install git+https://github.com/texturejc/Texture_Frames
36
+ ```
37
+
38
+ ```python
39
+ from texture_frames import FrameParser
40
+ parser = FrameParser() # downloads all three heads on first use
41
+ for ann in parser.parse("The chef gave food to the customer ."):
42
+ print(ann.trigger, "->", ann.frame)
43
+ # gave -> Giving
44
+ ```
45
+
46
+ A standard `AutoModelForTokenClassification`, so it also loads directly with
47
+ `transformers` — but the package handles the word-level alignment (a
48
+ `trigger_bias` lever trades precision for recall).
49
+
50
+ ## Results
51
+
52
+ Open-Sesame test split, word-level F1 (same metric as the T5 baseline):
53
+
54
+ | Metric | This head | T5 baseline |
55
+ | ------ | --------- | ----------- |
56
+ | Trigger F1 | **0.750** | 0.735 |
57
+ | Speed | single forward pass (~50–60 ms) | 3 beam-search passes |
58
+
59
+ Ahead of the baseline, and ~3–4× faster (no autoregressive decoding).
60
+
61
+ ## Training
62
+
63
+ `microsoft/deberta-v3-large`, AdamW lr 1e-5, warmup 0.06, weight decay 0.01,
64
+ batch 16, max length 320, bf16, 5 epochs. Data: FrameNet 1.7 (NLTK), Open-Sesame
65
+ splits. See the [repo](https://github.com/texturejc/Texture_Frames) for details.
66
+
67
+ ## Licence
68
+
69
+ **Code (the package): MIT.** **Weights:** trained on **FrameNet 1.7**, which
70
+ carries its own academic-use terms — review them before redistributing.
71
+
72
+ ## Citation
73
+
74
+ ```bibtex
75
+ @software{texture_frames,
76
+ author = {Carney, James},
77
+ title = {texture-frames: a fast DeBERTa encoder FrameNet parser},
78
+ url = {https://github.com/texturejc/Texture_Frames},
79
+ year = {2026}
80
+ }
81
+ ```
82
+
83
+ Builds on David Chanin's
84
+ [`frame-semantic-transformer`](https://github.com/chanind/frame-semantic-transformer);
85
+ thanks to the Berkeley FrameNet and Open-Sesame projects.