fr-spell 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.cn.md +42 -9
- package/README.fr.md +42 -9
- package/README.md +42 -9
- package/dist/frspell.browser.js +10936 -0
- package/dist/models/community/derive_form_model.int8.onnx +0 -0
- package/dist/models/community/lemma_type_model.int8.onnx +0 -0
- package/models/community/derive_form_model.int8.onnx +0 -0
- package/models/community/derive_form_vocab.json +74 -0
- package/models/community/lemma_type_labels.json +47 -0
- package/models/community/lemma_type_model.int8.onnx +0 -0
- package/models/community/lemma_type_vocab.json +244 -0
- package/package.json +7 -2
- package/scripts/build.js +53 -0
- package/src/frspell.browser.global.js +9 -0
- package/src/module/Predictor.browser.js +428 -0
- package/src/module/Predictor.js +5 -5
- package/models/small/derive_form_model.int8.onnx +0 -0
- package/models/small/lemma_type_model.int8.onnx +0 -0
- /package/{models/small → dist/models/community}/derive_form_vocab.json +0 -0
- /package/{models/small → dist/models/community}/lemma_type_labels.json +0 -0
- /package/{models/small → dist/models/community}/lemma_type_vocab.json +0 -0
package/README.cn.md
CHANGED
|
@@ -113,6 +113,32 @@ npm run help
|
|
|
113
113
|
|
|
114
114
|
该命令会输出参数速查说明,覆盖 `lemma`、`nounDerive`、`adjeDerive`、`verbDerive`、`derive` 及 person/mode/tense 可用值。
|
|
115
115
|
|
|
116
|
+
## 构建浏览器 Bundle
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm run build
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
构建产物:
|
|
123
|
+
|
|
124
|
+
- `dist/frspell.browser.js`(单个 JS 文件,挂载 `window.FrSpell`)
|
|
125
|
+
- `dist/models/community/*.onnx|*.json`(模型与词表等必需资源)
|
|
126
|
+
|
|
127
|
+
构建完成后,将整个 `dist` 文件夹复制到前端项目中,然后使用:
|
|
128
|
+
|
|
129
|
+
```html
|
|
130
|
+
<script src="./dist/frspell.browser.js"></script>
|
|
131
|
+
<script>
|
|
132
|
+
(async () => {
|
|
133
|
+
const predictor = await window.FrSpell({
|
|
134
|
+
modelBasePath: './dist/models/community'
|
|
135
|
+
});
|
|
136
|
+
const result = await predictor.lemma('mangeons');
|
|
137
|
+
console.log(result);
|
|
138
|
+
})();
|
|
139
|
+
</script>
|
|
140
|
+
```
|
|
141
|
+
|
|
116
142
|
## 运行基准测试
|
|
117
143
|
|
|
118
144
|
1) 先生成检查清单 JSON(每类 100 条):
|
|
@@ -146,20 +172,27 @@ npm run benchmark
|
|
|
146
172
|
|
|
147
173
|
结果:
|
|
148
174
|
|
|
149
|
-
- 由变位预测词元:
|
|
150
|
-
- 名词派生:
|
|
151
|
-
- 动词派生:100/100,准确率 100.00%,平均
|
|
152
|
-
- 形容词派生:100/100,准确率 100.00%,平均
|
|
175
|
+
- 由变位预测词元:97/100,准确率 97.00%,平均 22.21 ms
|
|
176
|
+
- 名词派生:100/100,准确率 100.00%,平均 23.46 ms
|
|
177
|
+
- 动词派生:100/100,准确率 100.00%,平均 23.18 ms
|
|
178
|
+
- 形容词派生:100/100,准确率 100.00%,平均 23.49 ms
|
|
153
179
|
|
|
154
180
|
## 模型体积
|
|
155
181
|
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
- ONNX 总体积:约
|
|
182
|
+
- 当前默认(community)词元 ONNX 模型:models/community/lemma_type_model.int8.onnx = 1.48 MB
|
|
183
|
+
- 当前默认(community)派生 ONNX 模型:models/community/derive_form_model.int8.onnx = 1.40 MB
|
|
184
|
+
- 当前默认 ONNX 总体积:约 2.88 MB
|
|
185
|
+
|
|
186
|
+
Mini 版本说明:
|
|
187
|
+
|
|
188
|
+
- mini 词元 ONNX 模型目标大小:0.96 MB
|
|
189
|
+
- mini 派生 ONNX 模型目标大小:0.91 MB
|
|
190
|
+
- mini ONNX 总体积目标:约 1.87 MB
|
|
191
|
+
- mini 模型版本将很快上线。
|
|
159
192
|
|
|
160
193
|
## 为什么它非常适合 Web 前端产品
|
|
161
194
|
|
|
162
195
|
- 法语关键形态任务具有高准确率
|
|
163
|
-
-
|
|
164
|
-
- ONNX
|
|
196
|
+
- 单次请求延迟低(最新本地基准平均约 22 到 23 ms)
|
|
197
|
+
- 当前默认 ONNX 体积紧凑(约 2.88 MB),更小的 mini 模型包(约 1.87 MB)即将上线
|
|
165
198
|
- 非常适合为 Web 前端功能提供后端推理能力,例如实时写作辅助、语法提示与词元感知检索
|
package/README.fr.md
CHANGED
|
@@ -113,6 +113,32 @@ npm run help
|
|
|
113
113
|
|
|
114
114
|
Cette commande affiche un guide rapide des paramètres pour `lemma`, `nounDerive`, `adjeDerive`, `verbDerive` et `derive`, avec les valeurs autorisées de person/mode/tense.
|
|
115
115
|
|
|
116
|
+
## Construire le bundle navigateur
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm run build
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Sortie de build :
|
|
123
|
+
|
|
124
|
+
- `dist/frspell.browser.js` (fichier JS unique, expose `window.FrSpell`)
|
|
125
|
+
- `dist/models/community/*.onnx|*.json` (ressources modèle et vocabulaire requises)
|
|
126
|
+
|
|
127
|
+
Après le build, copiez tout le dossier `dist` dans votre projet frontend, puis utilisez :
|
|
128
|
+
|
|
129
|
+
```html
|
|
130
|
+
<script src="./dist/frspell.browser.js"></script>
|
|
131
|
+
<script>
|
|
132
|
+
(async () => {
|
|
133
|
+
const predictor = await window.FrSpell({
|
|
134
|
+
modelBasePath: './dist/models/community'
|
|
135
|
+
});
|
|
136
|
+
const result = await predictor.lemma('mangeons');
|
|
137
|
+
console.log(result);
|
|
138
|
+
})();
|
|
139
|
+
</script>
|
|
140
|
+
```
|
|
141
|
+
|
|
116
142
|
## Exécuter les benchmarks
|
|
117
143
|
|
|
118
144
|
1) Générer les fichiers JSON de checklist (100 éléments chacun) :
|
|
@@ -146,20 +172,27 @@ npm run benchmark
|
|
|
146
172
|
|
|
147
173
|
Résultats :
|
|
148
174
|
|
|
149
|
-
- lemme depuis une conjugaison :
|
|
150
|
-
- dérivation nominale :
|
|
151
|
-
- dérivation verbale : 100/100, précision 100.00 %, moyenne
|
|
152
|
-
- dérivation adjectivale : 100/100, précision 100.00 %, moyenne
|
|
175
|
+
- lemme depuis une conjugaison : 97/100, précision 97.00 %, moyenne 22.21 ms
|
|
176
|
+
- dérivation nominale : 100/100, précision 100.00 %, moyenne 23.46 ms
|
|
177
|
+
- dérivation verbale : 100/100, précision 100.00 %, moyenne 23.18 ms
|
|
178
|
+
- dérivation adjectivale : 100/100, précision 100.00 %, moyenne 23.49 ms
|
|
153
179
|
|
|
154
180
|
## Taille des modèles
|
|
155
181
|
|
|
156
|
-
- modèle ONNX lemme : models/
|
|
157
|
-
- modèle ONNX dérivation : models/
|
|
158
|
-
- taille totale
|
|
182
|
+
- modèle ONNX lemme par défaut (community) : models/community/lemma_type_model.int8.onnx = 1.48 MB
|
|
183
|
+
- modèle ONNX dérivation par défaut (community) : models/community/derive_form_model.int8.onnx = 1.40 MB
|
|
184
|
+
- taille ONNX totale par défaut actuelle : environ 2.88 MB
|
|
185
|
+
|
|
186
|
+
Note sur la version mini :
|
|
187
|
+
|
|
188
|
+
- taille cible du modèle lemme mini : 0.96 MB
|
|
189
|
+
- taille cible du modèle dérivation mini : 0.91 MB
|
|
190
|
+
- taille ONNX totale cible de la version mini : environ 1.87 MB
|
|
191
|
+
- le package de modèles mini sera publié prochainement.
|
|
159
192
|
|
|
160
193
|
## Pourquoi c'est idéal pour des produits web frontend
|
|
161
194
|
|
|
162
195
|
- excellente précision sur les tâches clés de morphologie française
|
|
163
|
-
- faible latence par requête (environ
|
|
164
|
-
- empreinte ONNX
|
|
196
|
+
- faible latence par requête (environ 22 à 23 ms en moyenne sur le dernier benchmark local)
|
|
197
|
+
- empreinte ONNX par défaut toujours compacte (environ 2.88 MB au total), avec un package mini plus léger (environ 1.87 MB) à venir
|
|
165
198
|
- parfait pour alimenter des fonctionnalités frontend via une inférence backend : assistance à l'écriture en temps réel, suggestions grammaticales et recherche basée sur le lemme
|
package/README.md
CHANGED
|
@@ -113,6 +113,32 @@ npm run help
|
|
|
113
113
|
|
|
114
114
|
This prints a quick parameter reference for `lemma`, `nounDerive`, `adjeDerive`, `verbDerive`, and `derive`, including allowed person/mode/tense values.
|
|
115
115
|
|
|
116
|
+
## Build Browser Bundle
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm run build
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Build output:
|
|
123
|
+
|
|
124
|
+
- `dist/frspell.browser.js` (single JS bundle, attach `window.FrSpell`)
|
|
125
|
+
- `dist/models/community/*.onnx|*.json` (required model and vocab assets)
|
|
126
|
+
|
|
127
|
+
After build, copy the whole `dist` folder into your frontend project, then use:
|
|
128
|
+
|
|
129
|
+
```html
|
|
130
|
+
<script src="./dist/frspell.browser.js"></script>
|
|
131
|
+
<script>
|
|
132
|
+
(async () => {
|
|
133
|
+
const predictor = await window.FrSpell({
|
|
134
|
+
modelBasePath: './dist/models/community'
|
|
135
|
+
});
|
|
136
|
+
const result = await predictor.lemma('mangeons');
|
|
137
|
+
console.log(result);
|
|
138
|
+
})();
|
|
139
|
+
</script>
|
|
140
|
+
```
|
|
141
|
+
|
|
116
142
|
## Run Benchmark
|
|
117
143
|
|
|
118
144
|
1) Prepare checklist JSON files (100 items each):
|
|
@@ -146,20 +172,27 @@ npm run benchmark
|
|
|
146
172
|
|
|
147
173
|
Results:
|
|
148
174
|
|
|
149
|
-
- lemma from conjugation:
|
|
150
|
-
- noun derive:
|
|
151
|
-
- verb derive: 100/100, accuracy 100.00%, average
|
|
152
|
-
- adjective derive: 100/100, accuracy 100.00%, average
|
|
175
|
+
- lemma from conjugation: 97/100, accuracy 97.00%, average 22.21 ms
|
|
176
|
+
- noun derive: 100/100, accuracy 100.00%, average 23.46 ms
|
|
177
|
+
- verb derive: 100/100, accuracy 100.00%, average 23.18 ms
|
|
178
|
+
- adjective derive: 100/100, accuracy 100.00%, average 23.49 ms
|
|
153
179
|
|
|
154
180
|
## Model Size
|
|
155
181
|
|
|
156
|
-
- lemma ONNX model: models/
|
|
157
|
-
- derive ONNX model: models/
|
|
158
|
-
- total ONNX model size: about
|
|
182
|
+
- current default (community) lemma ONNX model: models/community/lemma_type_model.int8.onnx = 1.48 MB
|
|
183
|
+
- current default (community) derive ONNX model: models/community/derive_form_model.int8.onnx = 1.40 MB
|
|
184
|
+
- current default total ONNX model size: about 2.88 MB
|
|
185
|
+
|
|
186
|
+
Mini version note:
|
|
187
|
+
|
|
188
|
+
- mini lemma ONNX model target: 0.96 MB
|
|
189
|
+
- mini derive ONNX model target: 0.91 MB
|
|
190
|
+
- mini total ONNX model target: about 1.87 MB
|
|
191
|
+
- the mini model package is planned to be published soon.
|
|
159
192
|
|
|
160
193
|
## Why It Is Great For Web Frontend Products
|
|
161
194
|
|
|
162
195
|
- high accuracy for key French morphology tasks
|
|
163
|
-
- low per-request latency (about
|
|
164
|
-
-
|
|
196
|
+
- low per-request latency (about 22 to 23 ms average in latest local benchmark)
|
|
197
|
+
- current default ONNX footprint is compact (about 2.88 MB total), with a smaller mini model package (about 1.87 MB) coming soon
|
|
165
198
|
- ideal for backend inference powering web frontend features such as live writing assistance, grammar hints, and lemma-aware search
|