fr-spell 1.0.8 → 1.0.9
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 +16 -72
- package/README.fr.md +16 -72
- package/README.md +16 -72
- package/package.json +52 -58
- package/dist/LICENSE +0 -21
- package/dist/README.cn.md +0 -142
- package/dist/README.fr.md +0 -142
- package/dist/README.md +0 -142
- package/dist/package.json +0 -52
- /package/{dist/frspell.browser.js → frspell.browser.js} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/models → models}/community/derive_form_model.int8.onnx +0 -0
- /package/{dist/models → models}/community/derive_form_vocab.json +0 -0
- /package/{dist/models → models}/community/lemma_type_labels.json +0 -0
- /package/{dist/models → models}/community/lemma_type_model.int8.onnx +0 -0
- /package/{dist/models → models}/community/lemma_type_vocab.json +0 -0
- /package/{dist/module → module}/Predictor.js +0 -0
package/README.cn.md
CHANGED
|
@@ -16,7 +16,7 @@ FR-SPELL 是一个用于法语词形还原与派生形态生成的 npm 包。
|
|
|
16
16
|
|
|
17
17
|
免费社区版: [fr-spell](https://www.npmjs.com/package/fr-spell)
|
|
18
18
|
|
|
19
|
-
| | [fr-spell (community)](https://www.npmjs.com/package/fr-spell) |
|
|
19
|
+
| | [fr-spell (community)](https://www.npmjs.com/package/fr-spell) | fr-spell-mini |
|
|
20
20
|
|---|---|---|
|
|
21
21
|
| **词元模型大小** | 1.48 MB | 0.96 MB |
|
|
22
22
|
| **派生模型大小** | 1.40 MB | 0.91 MB |
|
|
@@ -66,6 +66,21 @@ console.log(verb);
|
|
|
66
66
|
{ lemma: 'manger', wordType: 'VERB', person: 'FST_PL', mode: 'INDI', tense: 'PRES', output: 'mangeons', confidence: 0.9999864523, timeMs: 4.79 }
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
|
|
70
|
+
## 浏览器用法
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<script src="./frspell.browser.js"></script>
|
|
74
|
+
<script>
|
|
75
|
+
(async () => {
|
|
76
|
+
const predictor = await window.FrSpell({
|
|
77
|
+
modelBasePath: './models/community'
|
|
78
|
+
});
|
|
79
|
+
const result = await predictor.lemma('mangeons');
|
|
80
|
+
console.log(result);
|
|
81
|
+
})();
|
|
82
|
+
</script>
|
|
83
|
+
```
|
|
69
84
|
## 预测参数说明
|
|
70
85
|
|
|
71
86
|
词元预测(lemma):
|
|
@@ -118,79 +133,8 @@ console.log(verb);
|
|
|
118
133
|
- 参考定义文件中还有更多时态名称,但本包实现目前只支持 `PRES`、`IMPA`、`FUTU`、`PASS`。
|
|
119
134
|
- 对于名词/形容词派生,用户输入时不需要 `mode` 与 `tense`。
|
|
120
135
|
|
|
121
|
-
## 运行测试
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
npm test
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
该命令会执行 test/test.js,并输出示例预测结果。
|
|
128
|
-
|
|
129
|
-
## 查看帮助
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
npm run help
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
该命令会输出参数速查说明,覆盖 `lemma`、`nounDerive`、`adjeDerive`、`verbDerive`、`derive` 及 person/mode/tense 可用值。
|
|
136
|
-
|
|
137
|
-
## 构建浏览器 Bundle
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
npm run build
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
构建产物:
|
|
144
|
-
|
|
145
|
-
- `dist/frspell.browser.js`(单个 JS 文件,挂载 `window.FrSpell`)
|
|
146
|
-
- `dist/models/community/*.onnx|*.json`(模型与词表等必需资源)
|
|
147
|
-
|
|
148
|
-
构建完成后,将整个 `dist` 文件夹复制到前端项目中,然后使用:
|
|
149
|
-
|
|
150
|
-
```html
|
|
151
|
-
<script src="./dist/frspell.browser.js"></script>
|
|
152
|
-
<script>
|
|
153
|
-
(async () => {
|
|
154
|
-
const predictor = await window.FrSpell({
|
|
155
|
-
modelBasePath: './dist/models/community'
|
|
156
|
-
});
|
|
157
|
-
const result = await predictor.lemma('mangeons');
|
|
158
|
-
console.log(result);
|
|
159
|
-
})();
|
|
160
|
-
</script>
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## 运行基准测试
|
|
164
|
-
|
|
165
|
-
1) 先生成检查清单 JSON(每类 100 条):
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
npm run benchmark:prepare
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
2) 运行全部基准测试:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
npm run benchmark
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
3) 可选:按单项运行:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
npm run benchmark:lemma
|
|
181
|
-
npm run benchmark:noun
|
|
182
|
-
npm run benchmark:verb
|
|
183
|
-
npm run benchmark:adje
|
|
184
|
-
```
|
|
185
|
-
|
|
186
136
|
## 基准结果(最近一次本地运行)
|
|
187
137
|
|
|
188
|
-
基准命令:
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
npm run benchmark
|
|
192
|
-
```
|
|
193
|
-
|
|
194
138
|
结果:
|
|
195
139
|
|
|
196
140
|
- 由变位预测词元:97/100,准确率 97.00%,平均 21.97 ms
|
package/README.fr.md
CHANGED
|
@@ -16,7 +16,7 @@ Le package s'appuie sur ONNX Runtime et des modèles INT8 quantifiés pour offri
|
|
|
16
16
|
|
|
17
17
|
Une version communautaire gratuite est aussi disponible : [fr-spell](https://www.npmjs.com/package/fr-spell)
|
|
18
18
|
|
|
19
|
-
| | [fr-spell (community)](https://www.npmjs.com/package/fr-spell) |
|
|
19
|
+
| | [fr-spell (community)](https://www.npmjs.com/package/fr-spell) | fr-spell-mini |
|
|
20
20
|
|---|---|---|
|
|
21
21
|
| **Taille du modele de lemme** | 1.48 MB | 0.96 MB |
|
|
22
22
|
| **Taille du modele de derive** | 1.40 MB | 0.91 MB |
|
|
@@ -66,6 +66,21 @@ Exemple de sortie a l'execution :
|
|
|
66
66
|
{ lemma: 'manger', wordType: 'VERB', person: 'FST_PL', mode: 'INDI', tense: 'PRES', output: 'mangeons', confidence: 0.9999864523, timeMs: 4.79 }
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
|
|
70
|
+
## Utilisation dans le navigateur
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<script src="./frspell.browser.js"></script>
|
|
74
|
+
<script>
|
|
75
|
+
(async () => {
|
|
76
|
+
const predictor = await window.FrSpell({
|
|
77
|
+
modelBasePath: './models/community'
|
|
78
|
+
});
|
|
79
|
+
const result = await predictor.lemma('mangeons');
|
|
80
|
+
console.log(result);
|
|
81
|
+
})();
|
|
82
|
+
</script>
|
|
83
|
+
```
|
|
69
84
|
## Parametres de prediction
|
|
70
85
|
|
|
71
86
|
Prediction de lemme :
|
|
@@ -118,79 +133,8 @@ Note :
|
|
|
118
133
|
- Le fichier de definitions d'origine contient plus de noms de temps, mais ce package prend actuellement en charge uniquement `PRES`, `IMPA`, `FUTU`, `PASS`.
|
|
119
134
|
- Pour les appels nom/adjectif, `mode` et `tense` ne sont pas requis dans l'entree utilisateur.
|
|
120
135
|
|
|
121
|
-
## Exécuter les tests
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
npm test
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Cette commande exécute test/test.js et affiche des exemples de prédiction.
|
|
128
|
-
|
|
129
|
-
## Afficher l'aide
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
npm run help
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
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.
|
|
136
|
-
|
|
137
|
-
## Construire le bundle navigateur
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
npm run build
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Sortie de build :
|
|
144
|
-
|
|
145
|
-
- `dist/frspell.browser.js` (fichier JS unique, expose `window.FrSpell`)
|
|
146
|
-
- `dist/models/community/*.onnx|*.json` (ressources modèle et vocabulaire requises)
|
|
147
|
-
|
|
148
|
-
Après le build, copiez tout le dossier `dist` dans votre projet frontend, puis utilisez :
|
|
149
|
-
|
|
150
|
-
```html
|
|
151
|
-
<script src="./dist/frspell.browser.js"></script>
|
|
152
|
-
<script>
|
|
153
|
-
(async () => {
|
|
154
|
-
const predictor = await window.FrSpell({
|
|
155
|
-
modelBasePath: './dist/models/community'
|
|
156
|
-
});
|
|
157
|
-
const result = await predictor.lemma('mangeons');
|
|
158
|
-
console.log(result);
|
|
159
|
-
})();
|
|
160
|
-
</script>
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Exécuter les benchmarks
|
|
164
|
-
|
|
165
|
-
1) Générer les fichiers JSON de checklist (100 éléments chacun) :
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
npm run benchmark:prepare
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
2) Exécuter toutes les suites de benchmark :
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
npm run benchmark
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
3) Optionnel : exécuter une suite spécifique :
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
npm run benchmark:lemma
|
|
181
|
-
npm run benchmark:noun
|
|
182
|
-
npm run benchmark:verb
|
|
183
|
-
npm run benchmark:adje
|
|
184
|
-
```
|
|
185
|
-
|
|
186
136
|
## Résultats de benchmark (dernier run local)
|
|
187
137
|
|
|
188
|
-
Commande de benchmark :
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
npm run benchmark
|
|
192
|
-
```
|
|
193
|
-
|
|
194
138
|
Résultats :
|
|
195
139
|
|
|
196
140
|
- lemme depuis une conjugaison : 97/100, précision 97.00 %, moyenne 21.97 ms
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ The package runs with ONNX Runtime and quantized INT8 models for high speed and
|
|
|
16
16
|
|
|
17
17
|
A free community version is also available: [fr-spell](https://www.npmjs.com/package/fr-spell)
|
|
18
18
|
|
|
19
|
-
| | [fr-spell (community)](https://www.npmjs.com/package/fr-spell) |
|
|
19
|
+
| | [fr-spell (community)](https://www.npmjs.com/package/fr-spell) | fr-spell-mini |
|
|
20
20
|
|---|---|---|
|
|
21
21
|
| **Lemma model size** | 1.48 MB | 0.96 MB |
|
|
22
22
|
| **Derive model size** | 1.40 MB | 0.91 MB |
|
|
@@ -66,6 +66,21 @@ Sample runtime output:
|
|
|
66
66
|
{ lemma: 'manger', wordType: 'VERB', person: 'FST_PL', mode: 'INDI', tense: 'PRES', output: 'mangeons', confidence: 0.9999864523, timeMs: 4.79 }
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
|
|
70
|
+
## Browser Usage
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<script src="./frspell.browser.js"></script>
|
|
74
|
+
<script>
|
|
75
|
+
(async () => {
|
|
76
|
+
const predictor = await window.FrSpell({
|
|
77
|
+
modelBasePath: './models/community'
|
|
78
|
+
});
|
|
79
|
+
const result = await predictor.lemma('mangeons');
|
|
80
|
+
console.log(result);
|
|
81
|
+
})();
|
|
82
|
+
</script>
|
|
83
|
+
```
|
|
69
84
|
## Prediction Parameters
|
|
70
85
|
|
|
71
86
|
Lemma prediction:
|
|
@@ -118,79 +133,8 @@ Note:
|
|
|
118
133
|
- The original grammar definition file includes more tense names, but this package implementation currently supports only `PRES`, `IMPA`, `FUTU`, `PASS`.
|
|
119
134
|
- For noun/adjective derive calls, `mode` and `tense` are not required in user input.
|
|
120
135
|
|
|
121
|
-
## Run Test
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
npm test
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
This executes test/test.js and prints sample prediction outputs.
|
|
128
|
-
|
|
129
|
-
## Run Help
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
npm run help
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
This prints a quick parameter reference for `lemma`, `nounDerive`, `adjeDerive`, `verbDerive`, and `derive`, including allowed person/mode/tense values.
|
|
136
|
-
|
|
137
|
-
## Build Browser Bundle
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
npm run build
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Build output:
|
|
144
|
-
|
|
145
|
-
- `dist/frspell.browser.js` (single JS bundle, attach `window.FrSpell`)
|
|
146
|
-
- `dist/models/community/*.onnx|*.json` (required model and vocab assets)
|
|
147
|
-
|
|
148
|
-
After build, copy the whole `dist` folder into your frontend project, then use:
|
|
149
|
-
|
|
150
|
-
```html
|
|
151
|
-
<script src="./dist/frspell.browser.js"></script>
|
|
152
|
-
<script>
|
|
153
|
-
(async () => {
|
|
154
|
-
const predictor = await window.FrSpell({
|
|
155
|
-
modelBasePath: './dist/models/community'
|
|
156
|
-
});
|
|
157
|
-
const result = await predictor.lemma('mangeons');
|
|
158
|
-
console.log(result);
|
|
159
|
-
})();
|
|
160
|
-
</script>
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
## Run Benchmark
|
|
164
|
-
|
|
165
|
-
1) Prepare checklist JSON files (100 items each):
|
|
166
|
-
|
|
167
|
-
```bash
|
|
168
|
-
npm run benchmark:prepare
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
2) Run all benchmark suites:
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
npm run benchmark
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
3) Optional single-suite runs:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
npm run benchmark:lemma
|
|
181
|
-
npm run benchmark:noun
|
|
182
|
-
npm run benchmark:verb
|
|
183
|
-
npm run benchmark:adje
|
|
184
|
-
```
|
|
185
|
-
|
|
186
136
|
## Benchmark Result (Latest Local Run)
|
|
187
137
|
|
|
188
|
-
Benchmark command:
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
npm run benchmark
|
|
192
|
-
```
|
|
193
|
-
|
|
194
138
|
Results:
|
|
195
139
|
|
|
196
140
|
- lemma from conjugation: 97/100, accuracy 97.00%, average 21.97 ms
|
package/package.json
CHANGED
|
@@ -1,58 +1,52 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "fr-spell",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./
|
|
7
|
-
"exports": {
|
|
8
|
-
".": "./
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"onnxruntime-web": "^1.24.3"
|
|
54
|
-
},
|
|
55
|
-
"devDependencies": {
|
|
56
|
-
"esbuild": "^0.25.12"
|
|
57
|
-
}
|
|
58
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "fr-spell",
|
|
3
|
+
"version": "1.0.9",
|
|
4
|
+
"description": "Lightweight French lemmatization and conjugation. Convert between nouns, verbs, and adjectives using fast, quantized INT8 ONNX models under 2MB.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./index.js",
|
|
9
|
+
"./browser": "./frspell.browser.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"index.js",
|
|
13
|
+
"frspell.browser.js",
|
|
14
|
+
"module",
|
|
15
|
+
"models",
|
|
16
|
+
"README.md",
|
|
17
|
+
"README.cn.md",
|
|
18
|
+
"README.fr.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/davychxn/FR-SPELL"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"french",
|
|
27
|
+
"Le français",
|
|
28
|
+
"word lemma",
|
|
29
|
+
"word derivative",
|
|
30
|
+
"lemmatization",
|
|
31
|
+
"conjugation",
|
|
32
|
+
"spelling",
|
|
33
|
+
"french noun",
|
|
34
|
+
"french verb",
|
|
35
|
+
"french adjective"
|
|
36
|
+
],
|
|
37
|
+
"homepage": "https://coderhome.com/",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"funding": {
|
|
40
|
+
"type": "patreon",
|
|
41
|
+
"url": "https://www.patreon.com/davychxn"
|
|
42
|
+
},
|
|
43
|
+
"author": {
|
|
44
|
+
"name": "Davy Chen",
|
|
45
|
+
"email": "davy.chen@163.com",
|
|
46
|
+
"url": "https://www.linkedin.com/in/davychxn/"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"onnxruntime-node": "^1.24.3",
|
|
50
|
+
"onnxruntime-web": "^1.24.3"
|
|
51
|
+
}
|
|
52
|
+
}
|
package/dist/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Davy Chen
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/dist/README.cn.md
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# FR-SPELL
|
|
2
|
-
|
|
3
|
-
[English](README.md) | [中文](README.cn.md) | [Français](README.fr.md)
|
|
4
|
-
|
|
5
|
-
FR-SPELL 是一个用于法语词形还原与派生形态生成的 npm 包。
|
|
6
|
-
支持能力如下:
|
|
7
|
-
|
|
8
|
-
- 将动词变位形式预测为词元(lemma)
|
|
9
|
-
- 名词词形生成
|
|
10
|
-
- 形容词词形生成
|
|
11
|
-
- 动词词形生成
|
|
12
|
-
|
|
13
|
-
该包基于 ONNX Runtime 与 INT8 量化模型,兼顾高速度与小体积。
|
|
14
|
-
|
|
15
|
-
## 安装
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npm install fr-spell
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 集成到你的项目
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
import { FrSpell } from 'fr-spell';
|
|
25
|
-
|
|
26
|
-
const predictor = await FrSpell();
|
|
27
|
-
|
|
28
|
-
const lemma = await predictor.lemma('mangeons');
|
|
29
|
-
const noun = await predictor.nounDerive('chat', 'THD_PLF');
|
|
30
|
-
const adje = await predictor.adjeDerive('beau', 'THD_F');
|
|
31
|
-
const verb = await predictor.verbDerive('manger', 'FST_PL', 'INDI', 'PRES');
|
|
32
|
-
|
|
33
|
-
console.log(lemma);
|
|
34
|
-
console.log(noun);
|
|
35
|
-
console.log(adje);
|
|
36
|
-
console.log(verb);
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
示例运行输出:
|
|
40
|
-
|
|
41
|
-
```txt
|
|
42
|
-
{ input: 'mangeons', lemma: 'manger', wordType: 'VERB', confidence: 0.9965604285, timeMs: 3.89 }
|
|
43
|
-
{ lemma: 'chat', wordType: 'NOUN', person: 'THD_PLF', mode: 'ALL', tense: 'ALL', output: 'chattes', confidence: 0.9997230679, timeMs: 5.06 }
|
|
44
|
-
{ lemma: 'beau', wordType: 'ADJE', person: 'THD_F', mode: 'ALL', tense: 'ALL', output: 'belle', confidence: 0.9999751771, timeMs: 3.08 }
|
|
45
|
-
{ lemma: 'manger', wordType: 'VERB', person: 'FST_PL', mode: 'INDI', tense: 'PRES', output: 'mangeons', confidence: 0.9999864523, timeMs: 4.79 }
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## 浏览器用法
|
|
50
|
-
|
|
51
|
-
```html
|
|
52
|
-
<script src="./frspell.browser.js"></script>
|
|
53
|
-
<script>
|
|
54
|
-
(async () => {
|
|
55
|
-
const predictor = await window.FrSpell({
|
|
56
|
-
modelBasePath: './models/community'
|
|
57
|
-
});
|
|
58
|
-
const result = await predictor.lemma('mangeons');
|
|
59
|
-
console.log(result);
|
|
60
|
-
})();
|
|
61
|
-
</script>
|
|
62
|
-
```
|
|
63
|
-
## 预测参数说明
|
|
64
|
-
|
|
65
|
-
词元预测(lemma):
|
|
66
|
-
|
|
67
|
-
- API:`predictor.lemma(input)`
|
|
68
|
-
- `input`:字符串,输入变位/屈折后的词形,例如 `mangeons`
|
|
69
|
-
|
|
70
|
-
派生预测(derive):
|
|
71
|
-
|
|
72
|
-
- 名词 API:`predictor.nounDerive(lemma, person)`
|
|
73
|
-
- 形容词 API:`predictor.adjeDerive(lemma, person)`
|
|
74
|
-
- 动词 API:`predictor.verbDerive(lemma, person, mode, tense)`
|
|
75
|
-
- 通用 API:`predictor.derive(lemma, wordType, person, mode, tense)`
|
|
76
|
-
|
|
77
|
-
可用 `wordType`:
|
|
78
|
-
|
|
79
|
-
- `NOUN`(名词)
|
|
80
|
-
- `ADJE`(形容词)
|
|
81
|
-
- `VERB`(动词)
|
|
82
|
-
|
|
83
|
-
可用 `person`:
|
|
84
|
-
|
|
85
|
-
- `FST`(第一人称单数)
|
|
86
|
-
- `SND`(第二人称单数)
|
|
87
|
-
- `THD_M`(第三人称阳性单数)
|
|
88
|
-
- `THD_F`(第三人称阴性单数)
|
|
89
|
-
- `FST_PL`(第一人称复数)
|
|
90
|
-
- `SND_PL`(第二人称复数)
|
|
91
|
-
- `THD_PLM`(第三人称阳性复数)
|
|
92
|
-
- `THD_PLF`(第三人称阴性复数)
|
|
93
|
-
|
|
94
|
-
可用 `mode`:
|
|
95
|
-
|
|
96
|
-
- `INDI`(陈述式)
|
|
97
|
-
- `SUBJ`(虚拟式)
|
|
98
|
-
- `COND`(条件式)
|
|
99
|
-
- `PART`(分词式)
|
|
100
|
-
- `IMPE`(命令式)
|
|
101
|
-
- `INFI`(不定式)
|
|
102
|
-
|
|
103
|
-
当前实现支持的 `tense` 仅有:
|
|
104
|
-
|
|
105
|
-
- `PRES`(现在时)
|
|
106
|
-
- `IMPA`(未完成过去时)
|
|
107
|
-
- `FUTU`(将来时)
|
|
108
|
-
- `PASS`(过去时)
|
|
109
|
-
|
|
110
|
-
说明:
|
|
111
|
-
|
|
112
|
-
- 参考定义文件中还有更多时态名称,但本包实现目前只支持 `PRES`、`IMPA`、`FUTU`、`PASS`。
|
|
113
|
-
- 对于名词/形容词派生,用户输入时不需要 `mode` 与 `tense`。
|
|
114
|
-
|
|
115
|
-
## 基准结果(最近一次本地运行)
|
|
116
|
-
|
|
117
|
-
结果:
|
|
118
|
-
|
|
119
|
-
- 由变位预测词元:97/100,准确率 97.00%,平均 21.97 ms
|
|
120
|
-
- 名词派生:100/100,准确率 100.00%,平均 23.19 ms
|
|
121
|
-
- 动词派生:100/100,准确率 100.00%,平均 22.93 ms
|
|
122
|
-
- 形容词派生:100/100,准确率 100.00%,平均 23.22 ms
|
|
123
|
-
|
|
124
|
-
## 模型体积
|
|
125
|
-
|
|
126
|
-
- 当前默认(community)词元 ONNX 模型:models/community/lemma_type_model.int8.onnx = 1.48 MB
|
|
127
|
-
- 当前默认(community)派生 ONNX 模型:models/community/derive_form_model.int8.onnx = 1.40 MB
|
|
128
|
-
- 当前默认 ONNX 总体积:约 2.88 MB
|
|
129
|
-
|
|
130
|
-
Mini 版本说明:
|
|
131
|
-
|
|
132
|
-
- mini 词元 ONNX 模型目标大小:0.96 MB
|
|
133
|
-
- mini 派生 ONNX 模型目标大小:0.91 MB
|
|
134
|
-
- mini ONNX 总体积目标:约 1.87 MB
|
|
135
|
-
- mini 模型版本将很快上线。
|
|
136
|
-
|
|
137
|
-
## 为什么它非常适合 Web 前端产品
|
|
138
|
-
|
|
139
|
-
- 法语关键形态任务具有高准确率
|
|
140
|
-
- 单次请求延迟低(最新本地基准平均约 22 到 23 ms)
|
|
141
|
-
- 当前默认 ONNX 体积紧凑(约 2.88 MB),更小的 mini 模型包(约 1.87 MB)即将上线
|
|
142
|
-
- 非常适合为 Web 前端功能提供后端推理能力,例如实时写作辅助、语法提示与词元感知检索
|
package/dist/README.fr.md
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# FR-SPELL
|
|
2
|
-
|
|
3
|
-
[English](README.md) | [中文](README.cn.md) | [Français](README.fr.md)
|
|
4
|
-
|
|
5
|
-
FR-SPELL est un package npm pour la prédiction de lemme en français et la génération de formes dérivées.
|
|
6
|
-
Fonctionnalités prises en charge :
|
|
7
|
-
|
|
8
|
-
- prédiction du lemme à partir d'une forme conjuguée
|
|
9
|
-
- génération de formes nominales
|
|
10
|
-
- génération de formes adjectivales
|
|
11
|
-
- génération de formes verbales
|
|
12
|
-
|
|
13
|
-
Le package s'appuie sur ONNX Runtime et des modèles INT8 quantifiés pour offrir une grande vitesse avec une empreinte mémoire réduite.
|
|
14
|
-
|
|
15
|
-
## Installation
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npm install fr-spell
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Intégration dans votre projet
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
import { FrSpell } from 'fr-spell';
|
|
25
|
-
|
|
26
|
-
const predictor = await FrSpell();
|
|
27
|
-
|
|
28
|
-
const lemma = await predictor.lemma('mangeons');
|
|
29
|
-
const noun = await predictor.nounDerive('chat', 'THD_PLF');
|
|
30
|
-
const adje = await predictor.adjeDerive('beau', 'THD_F');
|
|
31
|
-
const verb = await predictor.verbDerive('manger', 'FST_PL', 'INDI', 'PRES');
|
|
32
|
-
|
|
33
|
-
console.log(lemma);
|
|
34
|
-
console.log(noun);
|
|
35
|
-
console.log(adje);
|
|
36
|
-
console.log(verb);
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Exemple de sortie a l'execution :
|
|
40
|
-
|
|
41
|
-
```txt
|
|
42
|
-
{ input: 'mangeons', lemma: 'manger', wordType: 'VERB', confidence: 0.9965604285, timeMs: 3.89 }
|
|
43
|
-
{ lemma: 'chat', wordType: 'NOUN', person: 'THD_PLF', mode: 'ALL', tense: 'ALL', output: 'chattes', confidence: 0.9997230679, timeMs: 5.06 }
|
|
44
|
-
{ lemma: 'beau', wordType: 'ADJE', person: 'THD_F', mode: 'ALL', tense: 'ALL', output: 'belle', confidence: 0.9999751771, timeMs: 3.08 }
|
|
45
|
-
{ lemma: 'manger', wordType: 'VERB', person: 'FST_PL', mode: 'INDI', tense: 'PRES', output: 'mangeons', confidence: 0.9999864523, timeMs: 4.79 }
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## Utilisation dans le navigateur
|
|
50
|
-
|
|
51
|
-
```html
|
|
52
|
-
<script src="./frspell.browser.js"></script>
|
|
53
|
-
<script>
|
|
54
|
-
(async () => {
|
|
55
|
-
const predictor = await window.FrSpell({
|
|
56
|
-
modelBasePath: './models/community'
|
|
57
|
-
});
|
|
58
|
-
const result = await predictor.lemma('mangeons');
|
|
59
|
-
console.log(result);
|
|
60
|
-
})();
|
|
61
|
-
</script>
|
|
62
|
-
```
|
|
63
|
-
## Parametres de prediction
|
|
64
|
-
|
|
65
|
-
Prediction de lemme :
|
|
66
|
-
|
|
67
|
-
- API : `predictor.lemma(input)`
|
|
68
|
-
- `input` : chaine de caracteres, forme flechie/conjuguee, par exemple `mangeons`
|
|
69
|
-
|
|
70
|
-
Prediction de derive :
|
|
71
|
-
|
|
72
|
-
- API nom : `predictor.nounDerive(lemma, person)`
|
|
73
|
-
- API adjectif : `predictor.adjeDerive(lemma, person)`
|
|
74
|
-
- API verbe : `predictor.verbDerive(lemma, person, mode, tense)`
|
|
75
|
-
- API generique : `predictor.derive(lemma, wordType, person, mode, tense)`
|
|
76
|
-
|
|
77
|
-
Valeurs `wordType` autorisees :
|
|
78
|
-
|
|
79
|
-
- `NOUN` (nom)
|
|
80
|
-
- `ADJE` (adjectif)
|
|
81
|
-
- `VERB` (verbe)
|
|
82
|
-
|
|
83
|
-
Valeurs `person` autorisees :
|
|
84
|
-
|
|
85
|
-
- `FST` (1re personne du singulier)
|
|
86
|
-
- `SND` (2e personne du singulier)
|
|
87
|
-
- `THD_M` (3e personne masculine du singulier)
|
|
88
|
-
- `THD_F` (3e personne feminine du singulier)
|
|
89
|
-
- `FST_PL` (1re personne du pluriel)
|
|
90
|
-
- `SND_PL` (2e personne du pluriel)
|
|
91
|
-
- `THD_PLM` (3e personne masculine du pluriel)
|
|
92
|
-
- `THD_PLF` (3e personne feminine du pluriel)
|
|
93
|
-
|
|
94
|
-
Valeurs `mode` autorisees :
|
|
95
|
-
|
|
96
|
-
- `INDI` (indicatif)
|
|
97
|
-
- `SUBJ` (subjonctif)
|
|
98
|
-
- `COND` (conditionnel)
|
|
99
|
-
- `PART` (participe)
|
|
100
|
-
- `IMPE` (imperatif)
|
|
101
|
-
- `INFI` (infinitif)
|
|
102
|
-
|
|
103
|
-
Valeurs `tense` prises en charge dans l'implementation actuelle :
|
|
104
|
-
|
|
105
|
-
- `PRES` (present)
|
|
106
|
-
- `IMPA` (imparfait)
|
|
107
|
-
- `FUTU` (futur)
|
|
108
|
-
- `PASS` (passe)
|
|
109
|
-
|
|
110
|
-
Note :
|
|
111
|
-
|
|
112
|
-
- Le fichier de definitions d'origine contient plus de noms de temps, mais ce package prend actuellement en charge uniquement `PRES`, `IMPA`, `FUTU`, `PASS`.
|
|
113
|
-
- Pour les appels nom/adjectif, `mode` et `tense` ne sont pas requis dans l'entree utilisateur.
|
|
114
|
-
|
|
115
|
-
## Résultats de benchmark (dernier run local)
|
|
116
|
-
|
|
117
|
-
Résultats :
|
|
118
|
-
|
|
119
|
-
- lemme depuis une conjugaison : 97/100, précision 97.00 %, moyenne 21.97 ms
|
|
120
|
-
- dérivation nominale : 100/100, précision 100.00 %, moyenne 23.19 ms
|
|
121
|
-
- dérivation verbale : 100/100, précision 100.00 %, moyenne 22.93 ms
|
|
122
|
-
- dérivation adjectivale : 100/100, précision 100.00 %, moyenne 23.22 ms
|
|
123
|
-
|
|
124
|
-
## Taille des modèles
|
|
125
|
-
|
|
126
|
-
- modèle ONNX lemme par défaut (community) : models/community/lemma_type_model.int8.onnx = 1.48 MB
|
|
127
|
-
- modèle ONNX dérivation par défaut (community) : models/community/derive_form_model.int8.onnx = 1.40 MB
|
|
128
|
-
- taille ONNX totale par défaut actuelle : environ 2.88 MB
|
|
129
|
-
|
|
130
|
-
Note sur la version mini :
|
|
131
|
-
|
|
132
|
-
- taille cible du modèle lemme mini : 0.96 MB
|
|
133
|
-
- taille cible du modèle dérivation mini : 0.91 MB
|
|
134
|
-
- taille ONNX totale cible de la version mini : environ 1.87 MB
|
|
135
|
-
- le package de modèles mini sera publié prochainement.
|
|
136
|
-
|
|
137
|
-
## Pourquoi c'est idéal pour des produits web frontend
|
|
138
|
-
|
|
139
|
-
- excellente précision sur les tâches clés de morphologie française
|
|
140
|
-
- faible latence par requête (environ 22 à 23 ms en moyenne sur le dernier benchmark local)
|
|
141
|
-
- 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
|
|
142
|
-
- 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/dist/README.md
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# FR-SPELL
|
|
2
|
-
|
|
3
|
-
[English](README.md) | [中文](README.cn.md) | [Français](README.fr.md)
|
|
4
|
-
|
|
5
|
-
FR-SPELL is an npm package for French lemma prediction and derivative form generation.
|
|
6
|
-
It supports:
|
|
7
|
-
|
|
8
|
-
- conjugation to lemma prediction
|
|
9
|
-
- noun form generation
|
|
10
|
-
- adjective form generation
|
|
11
|
-
- verb form generation
|
|
12
|
-
|
|
13
|
-
The package runs with ONNX Runtime and quantized INT8 models for high speed and small model footprint.
|
|
14
|
-
|
|
15
|
-
## Install
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npm install fr-spell
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Integrate Into Your Project
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
import { FrSpell } from 'fr-spell';
|
|
25
|
-
|
|
26
|
-
const predictor = await FrSpell();
|
|
27
|
-
|
|
28
|
-
const lemma = await predictor.lemma('mangeons');
|
|
29
|
-
const noun = await predictor.nounDerive('chat', 'THD_PLF');
|
|
30
|
-
const adje = await predictor.adjeDerive('beau', 'THD_F');
|
|
31
|
-
const verb = await predictor.verbDerive('manger', 'FST_PL', 'INDI', 'PRES');
|
|
32
|
-
|
|
33
|
-
console.log(lemma);
|
|
34
|
-
console.log(noun);
|
|
35
|
-
console.log(adje);
|
|
36
|
-
console.log(verb);
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Sample runtime output:
|
|
40
|
-
|
|
41
|
-
```txt
|
|
42
|
-
{ input: 'mangeons', lemma: 'manger', wordType: 'VERB', confidence: 0.9965604285, timeMs: 3.89 }
|
|
43
|
-
{ lemma: 'chat', wordType: 'NOUN', person: 'THD_PLF', mode: 'ALL', tense: 'ALL', output: 'chattes', confidence: 0.9997230679, timeMs: 5.06 }
|
|
44
|
-
{ lemma: 'beau', wordType: 'ADJE', person: 'THD_F', mode: 'ALL', tense: 'ALL', output: 'belle', confidence: 0.9999751771, timeMs: 3.08 }
|
|
45
|
-
{ lemma: 'manger', wordType: 'VERB', person: 'FST_PL', mode: 'INDI', tense: 'PRES', output: 'mangeons', confidence: 0.9999864523, timeMs: 4.79 }
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## Browser Usage
|
|
50
|
-
|
|
51
|
-
```html
|
|
52
|
-
<script src="./frspell.browser.js"></script>
|
|
53
|
-
<script>
|
|
54
|
-
(async () => {
|
|
55
|
-
const predictor = await window.FrSpell({
|
|
56
|
-
modelBasePath: './models/community'
|
|
57
|
-
});
|
|
58
|
-
const result = await predictor.lemma('mangeons');
|
|
59
|
-
console.log(result);
|
|
60
|
-
})();
|
|
61
|
-
</script>
|
|
62
|
-
```
|
|
63
|
-
## Prediction Parameters
|
|
64
|
-
|
|
65
|
-
Lemma prediction:
|
|
66
|
-
|
|
67
|
-
- API: `predictor.lemma(input)`
|
|
68
|
-
- `input`: string, inflected/conjugated word form, for example `mangeons`
|
|
69
|
-
|
|
70
|
-
Derive prediction:
|
|
71
|
-
|
|
72
|
-
- Noun API: `predictor.nounDerive(lemma, person)`
|
|
73
|
-
- Adjective API: `predictor.adjeDerive(lemma, person)`
|
|
74
|
-
- Verb API: `predictor.verbDerive(lemma, person, mode, tense)`
|
|
75
|
-
- Generic API: `predictor.derive(lemma, wordType, person, mode, tense)`
|
|
76
|
-
|
|
77
|
-
Allowed `wordType` values:
|
|
78
|
-
|
|
79
|
-
- `NOUN` (noun)
|
|
80
|
-
- `ADJE` (adjective)
|
|
81
|
-
- `VERB` (verb)
|
|
82
|
-
|
|
83
|
-
Allowed `person` values:
|
|
84
|
-
|
|
85
|
-
- `FST` (1st person singular)
|
|
86
|
-
- `SND` (2nd person singular)
|
|
87
|
-
- `THD_M` (3rd person masculine singular)
|
|
88
|
-
- `THD_F` (3rd person feminine singular)
|
|
89
|
-
- `FST_PL` (1st person plural)
|
|
90
|
-
- `SND_PL` (2nd person plural)
|
|
91
|
-
- `THD_PLM` (3rd person masculine plural)
|
|
92
|
-
- `THD_PLF` (3rd person feminine plural)
|
|
93
|
-
|
|
94
|
-
Allowed `mode` values:
|
|
95
|
-
|
|
96
|
-
- `INDI` (indicative)
|
|
97
|
-
- `SUBJ` (subjunctive)
|
|
98
|
-
- `COND` (conditional)
|
|
99
|
-
- `PART` (participle)
|
|
100
|
-
- `IMPE` (imperative)
|
|
101
|
-
- `INFI` (infinitive)
|
|
102
|
-
|
|
103
|
-
Allowed `tense` values in current implementation:
|
|
104
|
-
|
|
105
|
-
- `PRES` (present)
|
|
106
|
-
- `IMPA` (imperfect)
|
|
107
|
-
- `FUTU` (future)
|
|
108
|
-
- `PASS` (past)
|
|
109
|
-
|
|
110
|
-
Note:
|
|
111
|
-
|
|
112
|
-
- The original grammar definition file includes more tense names, but this package implementation currently supports only `PRES`, `IMPA`, `FUTU`, `PASS`.
|
|
113
|
-
- For noun/adjective derive calls, `mode` and `tense` are not required in user input.
|
|
114
|
-
|
|
115
|
-
## Benchmark Result (Latest Local Run)
|
|
116
|
-
|
|
117
|
-
Results:
|
|
118
|
-
|
|
119
|
-
- lemma from conjugation: 97/100, accuracy 97.00%, average 21.97 ms
|
|
120
|
-
- noun derive: 100/100, accuracy 100.00%, average 23.19 ms
|
|
121
|
-
- verb derive: 100/100, accuracy 100.00%, average 22.93 ms
|
|
122
|
-
- adjective derive: 100/100, accuracy 100.00%, average 23.22 ms
|
|
123
|
-
|
|
124
|
-
## Model Size
|
|
125
|
-
|
|
126
|
-
- current default (community) lemma ONNX model: models/community/lemma_type_model.int8.onnx = 1.48 MB
|
|
127
|
-
- current default (community) derive ONNX model: models/community/derive_form_model.int8.onnx = 1.40 MB
|
|
128
|
-
- current default total ONNX model size: about 2.88 MB
|
|
129
|
-
|
|
130
|
-
Mini version note:
|
|
131
|
-
|
|
132
|
-
- mini lemma ONNX model target: 0.96 MB
|
|
133
|
-
- mini derive ONNX model target: 0.91 MB
|
|
134
|
-
- mini total ONNX model target: about 1.87 MB
|
|
135
|
-
- the mini model package is planned to be published soon.
|
|
136
|
-
|
|
137
|
-
## Why It Is Great For Web Frontend Products
|
|
138
|
-
|
|
139
|
-
- high accuracy for key French morphology tasks
|
|
140
|
-
- low per-request latency (about 22 to 23 ms average in latest local benchmark)
|
|
141
|
-
- current default ONNX footprint is compact (about 2.88 MB total), with a smaller mini model package (about 1.87 MB) coming soon
|
|
142
|
-
- ideal for backend inference powering web frontend features such as live writing assistance, grammar hints, and lemma-aware search
|
package/dist/package.json
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "fr-spell",
|
|
3
|
-
"version": "1.0.6",
|
|
4
|
-
"description": "Lightweight French lemmatization and conjugation. Convert between nouns, verbs, and adjectives using fast, quantized INT8 ONNX models under 2MB.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./index.js",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": "./index.js",
|
|
9
|
-
"./browser": "./frspell.browser.js"
|
|
10
|
-
},
|
|
11
|
-
"files": [
|
|
12
|
-
"index.js",
|
|
13
|
-
"frspell.browser.js",
|
|
14
|
-
"module",
|
|
15
|
-
"models",
|
|
16
|
-
"README.md",
|
|
17
|
-
"README.cn.md",
|
|
18
|
-
"README.fr.md",
|
|
19
|
-
"LICENSE"
|
|
20
|
-
],
|
|
21
|
-
"repository": {
|
|
22
|
-
"type": "git",
|
|
23
|
-
"url": "https://github.com/davychxn/FR-SPELL"
|
|
24
|
-
},
|
|
25
|
-
"keywords": [
|
|
26
|
-
"french",
|
|
27
|
-
"Le français",
|
|
28
|
-
"word lemma",
|
|
29
|
-
"word derivative",
|
|
30
|
-
"lemmatization",
|
|
31
|
-
"conjugation",
|
|
32
|
-
"spelling",
|
|
33
|
-
"french noun",
|
|
34
|
-
"french verb",
|
|
35
|
-
"french adjective"
|
|
36
|
-
],
|
|
37
|
-
"homepage": "https://github.com/davychxn/FR-SPELL",
|
|
38
|
-
"license": "MIT",
|
|
39
|
-
"funding": {
|
|
40
|
-
"type": "patreon",
|
|
41
|
-
"url": "https://www.patreon.com/davychxn"
|
|
42
|
-
},
|
|
43
|
-
"author": {
|
|
44
|
-
"name": "Davy Chen",
|
|
45
|
-
"email": "davy.chen@163.com",
|
|
46
|
-
"url": "https://www.linkedin.com/in/davychxn/"
|
|
47
|
-
},
|
|
48
|
-
"dependencies": {
|
|
49
|
-
"onnxruntime-node": "^1.24.3",
|
|
50
|
-
"onnxruntime-web": "^1.24.3"
|
|
51
|
-
}
|
|
52
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|