docs: sync model card with v0.1.0 release
Browse files
README.md
CHANGED
|
@@ -19,11 +19,10 @@ license: mit
|
|
| 19 |
# Premove ITN v0.1.0
|
| 20 |
|
| 21 |
Premove ITN is an open-weight contextual inverse text normalization system for
|
| 22 |
-
English voice-agent transcripts. It
|
|
|
|
| 23 |
written text:
|
| 24 |
|
| 25 |
-
**GitHub repository:** [`premove-ai/premove-itn`](https://github.com/premove-ai/premove-itn)
|
| 26 |
-
|
| 27 |
```text
|
| 28 |
call me at four thirty → call me at 04:30
|
| 29 |
the total is twenty dollars → the total is $20
|
|
@@ -51,15 +50,16 @@ print(itn.normalize("call me at four thirty"))
|
|
| 51 |
# call me at 04:30
|
| 52 |
```
|
| 53 |
|
| 54 |
-
|
| 55 |
-
release
|
| 56 |
-
|
| 57 |
-
|
| 58 |
|
| 59 |
`device="auto"` selects CUDA when available, then Apple MPS, then CPU. The
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
validation.
|
|
|
|
| 63 |
|
| 64 |
## Architecture
|
| 65 |
|
|
@@ -105,13 +105,13 @@ match separately measures the complete canonical output.
|
|
| 105 |
| Thutmose | 59.39% | 22.13% | 15.98 ms |
|
| 106 |
| text-processing-rs | 55.79% | 16.53% | 0.14 ms |
|
| 107 |
|
| 108 |
-
Premove led measured semantic accuracy overall and on the 400 dedicated
|
| 109 |
voice-agent rows. It did not lead latency.
|
| 110 |
|
| 111 |
Latency used sequential batch-one requests on an Apple M4 MacBook Air with
|
| 112 |
MPS, an optimized Rust extension, and eight Rayon workers. Models were loaded
|
| 113 |
and warmed before request latency was measured. Download and initialization
|
| 114 |
-
are excluded. The Premove timing used the release Rust extension. The backend
|
| 115 |
evaluation was blind: each backend received only transcript text.
|
| 116 |
Independent human gold adjudication is a separate task and remains pending.
|
| 117 |
|
|
@@ -122,7 +122,7 @@ and
|
|
| 122 |
|
| 123 |
## Intended use
|
| 124 |
|
| 125 |
-
Use Premove for English voice-agent transcripts in which numbers, dates,
|
| 126 |
times, money, phone values, identifiers, URLs, and related structured values
|
| 127 |
need sentence-level disambiguation. The runtime receives only transcript text.
|
| 128 |
Candidate metadata is generated internally.
|
|
@@ -144,10 +144,10 @@ Candidate metadata is generated internally.
|
|
| 144 |
- The benchmark is synthetic and does not measure live production traffic.
|
| 145 |
- Weaker measured categories include URL, MONEY, CARDINAL, TIME,
|
| 146 |
REFERENCE_ID, and VERSION.
|
| 147 |
-
- Independent human gold adjudication and broader contamination checks
|
| 148 |
-
|
| 149 |
-
-
|
| 150 |
-
|
| 151 |
|
| 152 |
## Release identity and provenance
|
| 153 |
|
|
|
|
| 19 |
# Premove ITN v0.1.0
|
| 20 |
|
| 21 |
Premove ITN is an open-weight contextual inverse text normalization system for
|
| 22 |
+
English voice-agent transcripts. It is the contextual scoring model used by the
|
| 23 |
+
`premove-itn` Python package. It turns spoken-form ASR text into structured
|
| 24 |
written text:
|
| 25 |
|
|
|
|
|
|
|
| 26 |
```text
|
| 27 |
call me at four thirty → call me at 04:30
|
| 28 |
the total is twenty dollars → the total is $20
|
|
|
|
| 50 |
# call me at 04:30
|
| 51 |
```
|
| 52 |
|
| 53 |
+
Install the latest package with `pip install premove-itn`, or pin the current
|
| 54 |
+
release with `pip install premove-itn==0.1.0`. Create one
|
| 55 |
+
`PremoveITN` instance and reuse it; model initialization is expensive compared
|
| 56 |
+
with warm normalization.
|
| 57 |
|
| 58 |
`device="auto"` selects CUDA when available, then Apple MPS, then CPU. The
|
| 59 |
+
Release wheels are validated on macOS 14+ arm64 and `manylinux_2_28` x86_64
|
| 60 |
+
for Python 3.11–3.13. Real frozen-model inference is validated on Apple
|
| 61 |
+
Silicon MPS and Linux CPU. Other environments require release validation. The source repository retains the current
|
| 62 |
+
[platform support matrix](https://github.com/premove-ai/premove-itn/blob/main/docs/platform-support.md).
|
| 63 |
|
| 64 |
## Architecture
|
| 65 |
|
|
|
|
| 105 |
| Thutmose | 59.39% | 22.13% | 15.98 ms |
|
| 106 |
| text-processing-rs | 55.79% | 16.53% | 0.14 ms |
|
| 107 |
|
| 108 |
+
Premove ITN led measured semantic accuracy overall and on the 400 dedicated
|
| 109 |
voice-agent rows. It did not lead latency.
|
| 110 |
|
| 111 |
Latency used sequential batch-one requests on an Apple M4 MacBook Air with
|
| 112 |
MPS, an optimized Rust extension, and eight Rayon workers. Models were loaded
|
| 113 |
and warmed before request latency was measured. Download and initialization
|
| 114 |
+
are excluded. The Premove ITN timing used the release Rust extension. The backend
|
| 115 |
evaluation was blind: each backend received only transcript text.
|
| 116 |
Independent human gold adjudication is a separate task and remains pending.
|
| 117 |
|
|
|
|
| 122 |
|
| 123 |
## Intended use
|
| 124 |
|
| 125 |
+
Use Premove ITN for English voice-agent transcripts in which numbers, dates,
|
| 126 |
times, money, phone values, identifiers, URLs, and related structured values
|
| 127 |
need sentence-level disambiguation. The runtime receives only transcript text.
|
| 128 |
Candidate metadata is generated internally.
|
|
|
|
| 144 |
- The benchmark is synthetic and does not measure live production traffic.
|
| 145 |
- Weaker measured categories include URL, MONEY, CARDINAL, TIME,
|
| 146 |
REFERENCE_ID, and VERSION.
|
| 147 |
+
- Independent human gold adjudication and broader contamination checks are
|
| 148 |
+
outside the v0.1.0 release gate. The backend evaluation itself was blind.
|
| 149 |
+
- CUDA, Windows, macOS Intel, Linux ARM64, and other accelerators are not
|
| 150 |
+
validated v0.1.0 support claims.
|
| 151 |
|
| 152 |
## Release identity and provenance
|
| 153 |
|