Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pronoms composés (celui-là...). Cliquer pour détails. #19

Open
mariastefan opened this issue Jul 1, 2020 · 2 comments
Open

Pronoms composés (celui-là...). Cliquer pour détails. #19

mariastefan opened this issue Jul 1, 2020 · 2 comments
Assignees
Labels
prioritaire question Further information is requested

Comments

@mariastefan
Copy link
Owner

mariastefan commented Jul 1, 2020

Trouver comment prendre en compte les pronoms composés. Spacy (la librairie d'étiquettage morphosyntaxique) sépare même les mots composés avec un - (celle-ci, celui-là). C'est assez compliqué de prendre en compte ces mots la du coup puisque c'est Spacy qui s'occupe d'étiquetter les mots, et je ne pense pas que ça soit possible de modifier Spacy en lui-même. Il faudrait peut-être utiliser un autre parseur que Spacy mais le problème c'est qu'il a l'air d'être le meilleur en français, CoreNLP par exemple n'a même pas la lemmatisation (en plus c'est en Java, il faudrait prendre 2 jours pour tout réecrire, voir plus puisque c'est pas une simple traduction vu qu'on change le parseur donc plein de choses changent, pas juste la syntaxe).

Après avoir résolu le pb des mots séparés par un - il faudra voir aussi les mots composés sans -

@mariastefan mariastefan changed the title Prendre en compte les pronoms composés (celui-là...). Cliquer pour détails. Pronoms composés (celui-là...). Cliquer pour détails. Jul 1, 2020
@mariastefan mariastefan self-assigned this Jul 1, 2020
@mariastefan mariastefan added prioritaire question Further information is requested labels Jul 1, 2020
@datakime
Copy link

datakime commented Jul 3, 2020

je ne pense pas que ça soit possible de modifier Spacy en lui-même.

Si, c'est possible d'en modifier chaque composant pour l'adapter si nécessaire à des besoins spécifiques.
Voir ici pour la tokenisation et pour les exceptions de tokenisation appliquées en français.

mariastefan added a commit that referenced this issue Jul 4, 2020
Modification temporaire du tokenizer : 
utilisation de spacy.matcher et nlp.add_pipe() pour lier les mots séparés par un - ainsi que une liste de mots avec des espaces (pour l'instant seulement "intelligence artificielle")
Il va falloir trouver comment sauvegarder ces modifications puisque nlp.to_disk('mon_modele') ne marche pas avec la méthode actuelle.
@mariastefan
Copy link
Owner Author

Merci beaucoup pour la piste, j'ai trouvé une solution en utilisant la classe Matcher, en espérant que ce n'est pas maladroit.

mariastefan added a commit that referenced this issue Jul 14, 2020
…ersion. A améliorer. Ref #19

Il faut encore ajouter plus de mots dans la liste de mots composés. Il faut aussi faire marcher le custom training pour le POS tagger, son problème c'est que l'apprentissage se passe avant le tokenizer customisé donc avant que les mots comme 'celui-là' par exemple deviennent un seul token.
mariastefan added a commit that referenced this issue Jul 23, 2020
Modification temporaire du tokenizer : 
utilisation de spacy.matcher et nlp.add_pipe() pour lier les mots séparés par un - ainsi que une liste de mots avec des espaces (pour l'instant seulement "intelligence artificielle")
Il va falloir trouver comment sauvegarder ces modifications puisque nlp.to_disk('mon_modele') ne marche pas avec la méthode actuelle.
mariastefan added a commit that referenced this issue Jul 23, 2020
…ersion. A améliorer. Ref #19

Il faut encore ajouter plus de mots dans la liste de mots composés. Il faut aussi faire marcher le custom training pour le POS tagger, son problème c'est que l'apprentissage se passe avant le tokenizer customisé donc avant que les mots comme 'celui-là' par exemple deviennent un seul token.
mariastefan added a commit that referenced this issue Jul 23, 2020
Modification temporaire du tokenizer : 
utilisation de spacy.matcher et nlp.add_pipe() pour lier les mots séparés par un - ainsi que une liste de mots avec des espaces (pour l'instant seulement "intelligence artificielle")
Il va falloir trouver comment sauvegarder ces modifications puisque nlp.to_disk('mon_modele') ne marche pas avec la méthode actuelle.
mariastefan added a commit that referenced this issue Jul 23, 2020
…ersion. A améliorer. Ref #19

Il faut encore ajouter plus de mots dans la liste de mots composés. Il faut aussi faire marcher le custom training pour le POS tagger, son problème c'est que l'apprentissage se passe avant le tokenizer customisé donc avant que les mots comme 'celui-là' par exemple deviennent un seul token.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
prioritaire question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants