Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thjbdvlt/spacy-turlututu
french morphological analysis model for spacy
https://github.com/thjbdvlt/spacy-turlututu
french french-nlp morphological-analysis nlp part-of-speech-tagging pos-tagging spacy
Last synced: 6 days ago
JSON representation
french morphological analysis model for spacy
- Host: GitHub
- URL: https://github.com/thjbdvlt/spacy-turlututu
- Owner: thjbdvlt
- License: other
- Created: 2024-07-21T16:20:29.000Z (4 months ago)
- Default Branch: sea
- Last Pushed: 2024-09-02T07:33:49.000Z (2 months ago)
- Last Synced: 2024-10-10T11:42:55.647Z (27 days ago)
- Topics: french, french-nlp, morphological-analysis, nlp, part-of-speech-tagging, pos-tagging, spacy
- Language: Python
- Homepage:
- Size: 2.65 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
turlututu
=========[part-of-speech tagging](https://universaldependencies.org/u/pos/) et [analyse morphologique](https://universaldependencies.org/u/feat/index.html) du français avec [spacy](https://spacy.io/api/) ([_morphologizer model_](https://spacy.io/api/morphologizer)).
le modèle est destiné à l'analyse de textes __conversationnels__ et/ou __narratifs__ (typiquement: des textes de __fictions contenant des dialogues__) __contemporains__ dans lesquels les __pronoms personnels__ et __temps verbaux__ sont variés[^2]. pour ça, il a été entraîné sur un corpus de textes littéraires et de sciences humaines, ainsi que quelques textes très brefs rédigés de façon _ad hoc_, et d'extraits d'articles wikipedia. tous les textes ont été largement modifié, de larges portions ayant été retirées ou réécrites[^3] (ou ajoutées).
restrictions
------------les données d'entraînement du modèle présentent quelques spécificités:
- les seuls apostrophes présentes sont les apostrophes droites (`'`).
- le seule format d'écriture inclusive contractée est celui-ci: `auteur·rices`, `parti·es`, etc.
- la _morphological feature_ `Gender` est absente.usage
-----```python3
import spacy
nlp = spacy.load('./model', exclude=['tokenizer'])
```corpus
------### the wittgenstein project
- ludwig wittgenstein, [_conférence sur l'éthique_](https://www.wittgensteinproject.org/w/index.php/Une_conf%C3%A9rence_sur_l%E2%80%99Ethique) (1929)
- ludwig wittgenstein, [_le cahier bleu_](https://www.wittgensteinproject.org/w/index.php/Blue_Book) et [_le cahier brun_](https://wittgensteinproject.org/w/index.php/Brown_Book) (trad. automatique avec [deepl](https://www.deepl.com/en/translator))### les classiques des sciences sociales
- marcel mauss, [_les techniques du corps_](https://archive.wikiwix.com/cache/index2.php?url=http%3A%2F%2Fclassiques.uqac.ca%2Fclassiques%2Fmauss_marcel%2Fsocio_et_anthropo%2F6_Techniques_corps%2FTechniques_corps.html#federation=archive.wikiwix.com&tab=url) (1934)
### wikipedia
- article [_donnée_](https://fr.wikipedia.org/wiki/Donn%C3%A9e)
- article [_logiciel libre_](https://fr.wikipedia.org/wiki/Logiciel_libre)
- article [_copier-coller_](https://fr.wikipedia.org/wiki/Copier-coller)
- article [_commun_](https://fr.wikipedia.org/wiki/Communs)
- extraits de l'article [_football_](https://fr.wikipedia.org/wiki/Football) et [_lois du jeu_](https://fr.wikipedia.org/wiki/Lois_du_jeu)### wikisource
- simone weil, [_la condition ouvrière_](https://fr.wikisource.org/wiki/La_Condition_ouvri%C3%A8re/Texte_entier) (1951, rédaction en 1934-1937)
- jack london, [_l'appel de la forêt_](https://fr.wikisource.org/wiki/L%E2%80%99Appel_de_la_for%C3%AAt/Texte_entier) (1903, trad. 1908)
- jack london, [_lettre au juge samuel_](https://fr.wikisource.org/wiki/Lettre_au_juge_de_police_Samuels) (1910)
- léon tolstoi, [_qu'est-ce que l'art_](https://fr.wikisource.org/wiki/Qu%E2%80%99est-ce_que_l%E2%80%99art_%3F) (1898, trad. 1918)
- marcel mauss, [_la sociologie: objet et méthode_](https://fr.wikisource.org/wiki/Essais_de_sociologie/01) (1971)
- george sand, [_françois le champi_](https://fr.wikisource.org/wiki/Fran%C3%A7ois_le_Champi/Texte_entier) (1853)
- balzac, [_le père goriot_](https://fr.wikisource.org/wiki/Le_P%C3%A8re_Goriot_(1855)) (1855)### framabook[^6]
- pouhiou, [_smartarted_](https://archives.framabook.org/smartarded-le-cycle-des-noenautes-ii/index.html) (2012)
- stephane crozat, [_traces_](https://archives.framabook.org/traces/index.html) (2018)[^6]: romans contemporains sous licence art libre (compatible avec CC SA).
substitution
------------dans certains de ces textes[^5], certains mots sont répétés inlassablement, tandis que de nombreux mots sont (évidemment) absents du corpus. or, il m'a semblé inutile que le modèle voie (par exemple) le mot _champi_ 146 fois (car il y a _françois le champi_, de george sand, dans mon corpus), 53 fois le mot _moulin_ (idem), 58 fois le mot _pensionnaires_ (dans _le père goriot_), 168 fois _jeune_ ou 85 fois _libre_. autant remplacer ces mots par d'autres qui possèdent les mêmes caractéristiques morphologiques: remplacer l'adjectif _libres_ par _vacantes_, _libertaires_ ou _aériennes_.
pour ce faire, j'ai construit quelques listes de mots (disponibles dans le dossier `mots`):
- une liste de noms propres, celles des noms du _crew_ de la série [_dark crystal_](https://www.netflix.com/ch-fr/title/80148535), récupérée sur [imdb](https://www.imdb.com/title/tt6905542/fullcredits/?ref_=tt_cl_sm) et de laquelle j'ai retranché les noms qui étaient des mots français.
- une liste de mots désignant des objets matériels qu'on peut trouver dans une maison, récupérés dans des textes de george perec: [_notes sur les objets qui se trouvent sur ma table de travail_](https://fr.wikipedia.org/wiki/Penser/Classer) et les trois premiers chapitres de [_la vie mode d'emploi_](https://fr.wikipedia.org/wiki/La_Vie_mode_d%27emploi).
- liste d'interjection et d'onomatopées, reprise d'un document présentant les conventions de transcriptions d'un corpus oral: le [_Corpus du Français Parlé de nos Régions_](https://cfpr.huma-num.fr/)[^1].
- liste de concepts, obtenue en posant à [chatgpt](https://openai.com/index/introducing-chatgpt-and-whisper-apis/) la question suivante: _la nature, l'art, la vie, la littérature, ... (continue autant que tu peux)_. le début de sa réponse: _la musique, la science, la philosophie, l'amour, la poésie, l'histoire, la cuisine, la danse, [...]_
- liste de noms de métiers ([issue de wikipedia](https://fr.wikipedia.org/wiki/Liste_des_m%C3%A9tiers)).
- deux listes d'adjectifs, l'une pour les personnes (les choses animées) et l'autres pour les choses (inanimées)[^4].la colonne `Misc` (la dernière) des fichiers `.conllu` contient des _labels_ utilisés pour remplacés ces mots (organisés en catégorie) et présentes le mot originalement présents (afin qu'il puisse être restauré si besoin)[^6]:
```conllu
25 cafétéria _ NOUN ... Number=Sing ... noun.lieu=fontaine
```[^1]: La liste ici présente contient quelques mots en plus (_heu_, _ha_, ...), d'autres en moins (_oui_, _ouais_).
[^2]: la motivation à entraîner ce modèle vient du fait que les modèles proposés par spacy pour le [fr](https://spacy.io/models/fr)ançais (2024-07-21) sont entraînés sur un corpus journalistique. or, ces types de textes sont tout à fait particuliers et ne contiennent souvent ni la seconde personne du singulier (aucune occurrence du mot _tu_ dans le corpus [ud french-sequoia](https://github.com/UniversalDependencies/UD_French-Sequoia)), et les seuls verbes au mode impératif sont conjugué à la seconde personne du pluriel (à une seule exception: _Revenons_).
[^3]: l'une des modification a consisté à intégrer des formes d'écritures inclusive: formes contractées (_auteur·rices_, _entraîné·es_, etc.) et pronoms inclusifs et/ou non-binaires (_iel_, _celleux_, etc.).
[^4]: la liste pour les choses est essentiellement composé d'adjectifs à usage esthétique. par exemple: _merveilleux·euse_, _joli·e_, _fantastique_. il s'agit moins d'adjectifs exprimant strictement la valeur esthétique d'une chose que d'adjectifs pouvant être substitués aux mots _beau·elle_, _joli·e_: _quelle jolie maison_, _quelle fantastique maison_.
[^5]: le temps nécessaire à l'annotation est naturellement la raison du nombre limité de textes: ils sont peu nombreux.
[^6]: certains mots comme, les noms propres originaux (tous remplacé par _Dominique_) ont été remplacé dans les textes avant l'annotation (pour facilité la pré-annotation automatique).