Skip to content

Traitement automatique du langage naturel en client font

Notifications You must be signed in to change notification settings

mtoub/fr-compromise

 
 

Repository files navigation

Work in progress!!

to run, npm install then npm run watch. This will re-run ./scratch.js

if you change any of the data in ./data, you'll need to run npm run pack to see changes.

if you want to run the ML scripts, you'll need to download the fr-wikinews dataset (23mb) by nicolas hernandez, and put it somewhere in ./learn.

fr-compromise uses the tokenize-only build of the english compromise as the core functionality. It adds its own tagger, lexicon, conjugation scripts, and some new gender tags.

This is unreleased and not ready for production.

Tasks

for lexicon:

-[] french country/city names -[] (way) more infinitive verbs -[] (way) more singular nouns

for conjugation: -[] past/present/future tenses -[] conjugate gender of adjectives -[] conjugate noun gender professeur / professeure -[] proper noun plural/inflections

for tagger: -[] adjective gender

Transformations

Adjectives

masc - femme - plurMasc - plurFemme

présidentiel - présidentielle - présidentiels - présidentielles

républicain - républicaine - républicain - républicaines

Verbs

  • conjugate je/tu/il/nous/vous/ils parle - parles - parle - parlons - parlez - parlent

  • conjugate tenses imparfait/future/simple/compose/anterieur oh dear parle - parlais - parlerai - parlas - parlé

Nouns

  • inflect nouns (from singular)

cheval →‎ chevaux

  • tag noun as either Masc or Femme

for tagger:

  • build a lexicon
  • suffix/regex lookups
  • noun fallback
  • grammar-based corrections

gender:

  • tag male/female nouns
  • tag male/female adjectives
  • tag male/female verbs?

Notes

  • currently using english tag names, and API.
  • en-compromise normalizes accented characters like è to e
  • en-compromise adds 'FutureTense' to our conjugations

💥 This repository is the french version of nlp-compromise! 💥

NLP tool adapted to French

Hi! This project was started by spencermountain, a beginner in French. We therefore need some help about french or development.

Grammar differences between the English and the French version are quite huge, which leads to great challenges.

What material is being used?

The project is built upon the French WordNet (WOLF), which contains:

  • 10k adjectives
  • 12k verbs
  • 2k adverbs
  • 70k nouns

A few suffixes

  • que$ -> k (banque -> bank, casque -> cask, disque -> disk)
  • aire$ -> ary (tertiaire -> tertiairy)
  • eur$ -> or (chercheur -> chearchor)
  • ie$ -> y (cajolerie -> cajolery)
  • té$ -> ty (extremité -> extremity)
  • re$ -> er (ordre -> order, tigre -> tiger)
  • ais$ -> ese, ois$ -> ese (libanais -> lebanese, chinois -> chinese)
  • ant$ -> ing (changeant -> changeing)
  • er$ -> "" (documenter -> document)
  • osis$ -> ose (osmose -> osmose)
  • ment$ -> ly (confortablement -> confortably)

We're gonna learn the rules. BADDA BING BADA BOOM!

External Resources


French version

💥 Ce dépôt est la version française de nlp-compromise ! 💥

Outil de Natural Language Processing en français

Bonjour ! Ce projet a été démarré par spencermountain, un débutant en français. Nous avons donc besoin de toute aide disponible, que ce soit en français ou en développement.

Vous êtes invités à rejoindre le groupe Slack pour discuter des détails. Vous trouverez ici un projet de traitement du langage naturel adapté à la langue française.

Les différences grammaticales entre la version anglaise et la version française ne sont pas négligeables, ce qui pose de grands défis.

Quel est le matériel utilisé ?

Le projet est réalisé grâce au WordNet français (>WOLF](http://alpage.inria.fr/~sagot/wolf-en.html)), qui contient :

  • 10 000 adjectifs
  • 12 000 verbes
  • 2 000 adverbes
  • 70 000 noms

Quelques suffixes

  • que$ -> k (banque -> bank, casque -> cask, disque -> disk)
  • aire$ -> ary (tertiaire -> tertiairy)
  • eur$ -> or (chercheur -> chearchor)
  • ie$ -> y (cajolerie -> cajolery)
  • té$ -> ty (extremité -> extremity)
  • re$ -> er (ordre -> order, tigre -> tiger)
  • ais$ -> ese, ois$ -> ese (libanais -> lebanese, chinois -> chinese)
  • ant$ -> ing (changeant -> changeing)
  • er$ -> "" (documenter -> document)
  • osis$ -> ose (osmose -> osmose)
  • ment$ -> ly (confortablement -> confortably)

On va apprendre les regles. BADDA BING BADA BOOM!

Ressources externes

About

Traitement automatique du langage naturel en client font

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%