Cet article décrit comment utiliser Sapling comme vérificateur d’orthographe et de grammaire JavaScript et présente quelques autres alternatives commerciales ou open source au vérificateur de grammaire JavaScript. Différentes bibliothèques peuvent être plus adaptées à vos besoins en fonction des exigences du projet et du budget. Pour chaque option, vous pouvez parcourir des instructions d’installation détaillées, ainsi qu’un code de démarrage rapide pour chaque bibliothèque et une démonstration de son utilisation. Les comparaisons sont regroupées selon que votre cas d’utilisation est basé sur le web/frontend ou sur le backend.
Jeune arbre
Sapling est un service basé sur le cloud qui vérifie la grammaire avec des réseaux de neurones profonds formés sur des millions de phrases en anglais. Il utilise des indices de phrase contextuels pour suggérer des modifications au lieu de règles écrites par l’homme. De plus, Sapling prend en charge la vérification complète de l’orthographe et de la grammaire pour plus de 10 langues différentes et correcteur orthographique pour plus de 30 langues différentes.
Pour les cas d’utilisation en entreprise, Sapling est conforme aux normes HIPAA et SOC2 et offre des options sans rétention de données ou des modèles sur site/hébergés afin que les données textuelles traitées puissent rester dans une région géographique ou dans votre environnement informatique à des fins réglementaires.
Vous pouvez enregistrer un compte et obtenir gratuitement une clé API à débit limité pour des tests ou une utilisation personnelle : https://sapling.ai/docs/api/api-access
— Bibliothèques JavaScript frontales —
JavaScript est utilisé dans presque tous les navigateurs et sites Web modernes pour permettre une fonctionnalité et une interactivité spécifiques. Il est combiné en tant que langage de script le plus populaire avec CSS et HTML qui spécifient les éléments à afficher sur un écran. L’utilisation de JavaScript dans une interface Web implique généralement l’extraction du texte d’un utilisateur à extraire des éléments de zone de texte HTML et des éléments de conteneur div marqués comme contenu modifiable. À mesure que de plus en plus d’outils et d’applications sont proposés dans le navigateur Web, l’utilisation de JavaScript pour marquer les fautes d’orthographe et de grammaire pour les applications d’écriture et de texte devient de plus en plus courante.
Arbrisseau (frontal)
Sapling dispose d’une bibliothèque JavaScript installable npm open source pour node. Il prend en charge les frameworks JavaScript populaires tels que React, Angular, Vue, Ember, Svelte et prend en charge TypeScript, un langage de programmation qui se transpile en JavaScript. Pour une utilisation en interface, il peut également être importé directement dans une page Web HTML via une balise de script.
Installation de jeune arbre pour node/npm
- Ouvrez un compte sur sapling.ai.
- Après vous être enregistré et connecté, générez une clé API développeur sur votre panneau.
- Installez le SDK Sapling :
npm install @saplingai/sapling-js
Si vous n’avez pas de nœud ou de npm, vous pouvez l’installer à partir d’ici : https://nodejs.org/en/download/
Utilisation de gaules dans node/npm
import { Sapling } from "@saplingai/sapling-js/observer"; Sapling.init({ key: '<YOUR_API_KEY>', endpointHostname: 'https://api.sapling.ai', editPathname: '/api/v1/edits', statusBadge: true, mode: 'dev', }); const editor = document.getElementById('editor'); Sapling.observe(editor);
Utilisation de jeunes arbres dans la page HTML
Le SDK Sapling JavaScript peut être directement importé sous forme de script dans une page Web html. Voir ici pour plus de détails : https://sapling.ai/docs/sdk/HTML/quickstart
<script src="https://sapling.ai/static/js/sapling-sdk-v1.0.2.min.js"></script> <div contenteditable="true" id="check-space" sapling-ignore="true">Lets get started!</div> <script type="text/javascript"> Sapling.init({ key: '<API_KEY>', endpointHostname: 'https://api.sapling.ai', editPathname: '/api/v1/edits', statusBadge: true, mode: 'dev', }); const contentEditable = document.getElementById('check-space'); Sapling.observe(contentEditable); </script>
Voir ici pour plus de détails sur l’utilisation de l’interface : https://sapling.ai/docs/sdk/JavaScript/frontend_documentation
Exemple d’application React : https://github.com/saplingai/sapling-samples/tree/master/javascript/react-app
Exemple d’application angulaire : https://github.com/saplingai/sapling-samples/tree/master/javascript/angular-app
Temps parfait (frontal)
Perfect Tense est un service commercial de vérification de grammaire basé sur l’IA. Il peut être utilisé comme une API HTTP ou une bibliothèque JavaScript importée avec une balise de script directement dans une page Web. Le produit est commercialisé comme un correcteur orthographique médical et est conforme à la loi HIPAA. Le produit n’est pas en libre-service et il n’y a pas de documentation d’API accessible au public. Vous pouvez contacter ici pour commencer : https://www.perfecttense.com/api
Nanospell (interface)
nanosort est un correcteur orthographique qui prend en charge 20 langues et est disponible en tant que plugins TinyMCE et CKEditor. Il existe une version gratuite du logiciel qui affiche périodiquement une fenêtre contextuelle « version gratuite ». Une version payante supprime ce popup avec une licence unique qui peut être achetée à partir de 299 $ jusqu’à 1499 $, selon que la bibliothèque sera distribuée ou non ou utilisée sur un serveur.
Utilisation de nanosorts
<script type="text/javascript" src="https://blog.sapling.ai/JavaScriptSpellCheck/include.js" ></script> <script type="text/javascript">$Spelling.SpellCheckAsYouType('myTextArea')</script> <textarea name="myTextArea" id="myTextArea" cols="30" rows="4"> This this is a simple exampl of Spell-checking As-You-Type using javascript spellcheck. </textarea> <input type="button" value="Spell Check in a Dialog" onclick="$Spelling.SpellCheckInWindow('myTextArea')" />
Grammaire (interface)
Grammarly est l’un des vérificateurs de grammaire autonomes les plus populaires, avec des intégrations populaires pour les navigateurs et les claviers mobiles. Avec les intégrations, les utilisateurs peuvent obtenir une vérification directe de l’orthographe et de la grammaire. Ils ont une version bêta fermée qui doit être appliquée pour leurs SDK pris en charge pour React, Vue et les éditeurs Web. La documentation du SDK est publique, mais l’accès est restreint. Le SDK Grammarly est basé sur le DOM HTML et ne fonctionne pas sans page Web. Vous pouvez demander la bêta fermée ici : https://developer.grammarly.com/
— Bibliothèques JavaScript back-end —
JavaScript est également utilisé dans les serveurs principaux, Node.js étant l’environnement d’exécution le plus populaire. D’autres frameworks comme RingoJS et Deno prennent également en charge l’utilisation de JavaScript pour les scripts côté serveur. La vérification grammaticale back-end consiste à transmettre directement du texte et à obtenir des conseils d’édition en réponse via une structure de données JavaScript, sans aucune interaction avec les éléments HTML DOM ou une interface utilisateur. Il s’agit de la méthode préférée pour traiter par lots de grandes quantités de texte ou plusieurs fichiers en même temps.
Arbrisseau (arrière-plan)
Installation de jeune arbre pour node/npm
- Ouvrez un compte sur sapling.ai.
- Après vous être enregistré et connecté, générez une clé API développeur sur votre panneau.
- Installez le SDK Sapling :
npm install @saplingai/sapling-js
Si vous n’avez pas de nœud ou de npm, vous pouvez l’installer à partir d’ici : https://nodejs.org/en/download/
Utilisation de jeunes arbres dans le nœud
import { Client } from "@saplingai/sapling-js/client"; const apiKey = '<YOUR_API_KEY>'; const client = new Client(apiKey); client .edits('Lets get started!') .then(function (response) { console.log(response.data); })
Outil de langue (backend)
LanguageTool est un vérificateur de grammaire Java LGPL basé sur des règles. Si vous distribuez un logiciel commercial avec LanguageTool, assurez-vous que la bibliothèque d’outils linguistiques est liée séparément et que les utilisateurs finaux ont la possibilité de charger la leur.
Vous pouvez utiliser LanguageTool via une API HTTP qui appelle un backend hébergé par la société LanguageTool, ou vous pouvez exécuter vous-même le backend du vérificateur de grammaire et appeler via des liaisons Python. L’API back-end hébergée de LanguageTool coûte de l’argent pour une utilisation commerciale et évolue avec l’utilisation. Il existe une version gratuite/d’essai que vous pouvez essayer avec des restrictions d’utilisation et limite les corrections à 30 mots mal orthographiés.
Il existe plusieurs liaisons JavaScript pour LanguageTool, gramme étant l’un des plus populaires.
Installation de LanguageTool
Cette étape est facultative et uniquement nécessaire si vous souhaitez conserver tout le traitement de texte local ou éviter de payer pour le backend hébergé de LanguageTool.
- Télécharger LanguageTool : https://languagetool.org/download/LanguageTool-stable.zip
- installer Java https://www.java.com/en/download/help/download_options.html
- Démarrez le serveur :
java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 --allow-origin
Installation du client JavaScript Gramma
npm i gramma -g
Utilisation de LanguageTool/grammaire
const gramma = require("gramma") gramma .check("Some text to check.", { api_url: "http://localhost:8081/v2/check", api_key: "SOME_API_KEY", language: "en-US", }) .then(console.log)
Hunspell (principal)
hunsort est un correcteur orthographique open source populaire qui prend en charge une variété de langues différentes. Basé sur un ancien correcteur orthographique appelé MySpell, le nom est à l’origine utilisé pour vérifier l’orthographe hongroise. Il s’agit du correcteur orthographique par défaut intégré aux navigateurs Web tels que Chrome et Firefox. Il y a donc de fortes chances que vous l’ayez déjà utilisé. Si vous recherchez une bibliothèque de vérification orthographique open source largement utilisée et activement maintenue, Hunspell est un bon choix.
Hunspell est une bibliothèque C++, mais les liaisons pour JavaScript peuvent être installées via npm. Hunspell est distribué sous 3 licences distinctes : GPL/LGPL/MPL. La disponibilité de la licence MPL facilite l’intégration dans des produits commerciaux par rapport aux logiciels sous licence GPL ou LGPL uniquement. Assurez-vous simplement d’ouvrir toutes les modifications apportées à la bibliothèque principale.
Nodehun est une interface JavaScript pour Hunspell et est publié sous la licence MIT. Il emballe Hunspell directement, il n’est donc pas nécessaire d’installer quoi que ce soit d’autre.
Installer Nodehun
npm install nodehun
Utiliser Hunspell/Nodehun
const { Nodehun } = require("nodehun"); const fs = require('fs') const affix = fs.readFileSync('./node_modules/nodehun/examples/dictionaries/en_US.aff') const dictionary = fs.readFileSync('./node_modules/nodehun/examples/dictionaries/en_US.dic') const nodehun = new Nodehun(affix, dictionary) nodehun.spell('color').then(correct => { console.log(correct) }) // true nodehun.spell('clor').then(correct => { console.log(correct) }) // false
construire le vôtre
Les vérificateurs de grammaire peuvent être incroyablement compliqués à construire, former et entretenir. D’un autre côté, la construction d’un correcteur orthographique JavaScript qui prend du texte et suggère des corrections orthographiques pour les mots peut être fait en moins de 100 lignes de code. Les correcteurs orthographiques open source existants peuvent également être facilement étendus. La communauté des développeurs ne produit pas beaucoup de bibliothèques pour l’apprentissage automatique en JavaScript, en partie parce que le langage est optimisé pour l’utilisation et la portabilité Web plutôt que pour les performances. Il serait beaucoup plus facile de construire un système comme celui-ci dans un autre langage de script comme Piton.
Construire un correcteur orthographique
Les algorithmes les plus simples recherchent des mots individuels dans un dictionnaire de mots. Les mots qui ne figurent pas dans le dictionnaire sont marqués comme incorrects et les alternatives suggérées sont calculées en fonction de la distance d’édition (le nombre de caractères à modifier) par rapport à un mot du dictionnaire. Les mots qui ont une distance d’édition inférieure sont plus similaires et sont supposés être plus susceptibles d’être le mot souhaité.
Peter Norvig, un informaticien de premier plan spécialisé dans l’IA, a publié un article de blog expliquant comment créer un correcteur orthographique, avec un exemple en Python : https://norvig.com/spell-correct.html
L’exemple a été porté en JavaScript par plusieurs auteurs :
Construire un vérificateur de grammaire
Les vérificateurs de grammaire nécessitent de maintenir une base de données de règles à comparer ou suffisamment de données pour former un modèle de langage d’apprentissage automatique efficace. Aujourd’hui, les modèles les plus efficaces sont basés sur des réseaux de neurones, mais des modèles statistiques peuvent également être entraînés. La formation et la maintenance de votre propre vérificateur de grammaire peuvent être coûteuses. Cette voie n’est préférable que si vous souhaitez développer votre expertise ou celle de votre équipe en traitement du langage naturel et êtes prêt à investir du temps.
conclusion
Le meilleur vérificateur d’orthographe et de grammaire JavaScript dépendra de votre cas d’utilisation. Les autres API de vérification orthographique et grammaticale existantes n’étaient pas incluses dans cette présentation si elles ne prenaient pas en charge JavaScript. Vous pouvez visiter ce page pour une comparaison des vérificateurs d’orthographe et de grammaire de Python.
Bibliothèque | SDK JavaScript | avantage | Les inconvénients |
Jeune arbre | Interface + arrière-plan | – Option libre-service – Prise en charge de plusieurs langues |
– Ça coûte de l’argent |
Moment idéal | Interface | – Option libre-service | – Ça coûte de l’argent |
nanosort | Interface | – Pas de vérification grammaticale | |
grammaticalement | Interface | – Large adoption | – Ça coûte de l’argent |
LanguageTool | arrière-plan | – Option libre-service – Prise en charge de plusieurs langues |
– Coûte de l’argent ou des ressources d’hébergement |
hunsort | arrière-plan | – Option libre-service – Prise en charge de plusieurs langues – Large adoption |
– Pas de vérification grammaticale |
construit le tien | Interface + Backend | – L’expérience ML comme avantage concurrentiel | – Coût de la formation et de l’ingénierie de maintenance |
Laisser un commentaire