spaCy/spacy
mauryaland 36514b5762 Rule-based French Lemmatizer (#2818)
<!--- Provide a general summary of your changes in the title. -->

## Description
<!--- Use this section to describe your changes. If your changes required
testing, include information about the testing environment and the tests you
ran. If your test fixes a bug reported in an issue, don't forget to include the
issue number. If your PR is still a work in progress, that's totally fine – just
include a note to let us know. -->

Add a rule-based French Lemmatizer following the english one and the excellent PR for [greek language optimizations](https://github.com/explosion/spaCy/pull/2558) to adapt the Lemmatizer class.

### Types of change
<!-- What type of change does your PR cover? Is it a bug fix, an enhancement
or new feature, or a change to the documentation? -->

- Lemma dictionary used can be found [here](http://infolingu.univ-mlv.fr/DonneesLinguistiques/Dictionnaires/telechargement.html), I used the XML version.
- Add several files containing exhaustive list of words for each part of speech 
- Add some lemma rules
- Add POS that are not checked in the standard Lemmatizer, i.e PRON, DET, ADV and AUX
- Modify the Lemmatizer class to check in lookup table as a last resort if POS not mentionned
- Modify the lemmatize function to check in lookup table as a last resort
- Init files are updated so the model can support all the functionalities mentioned above
- Add words to tokenizer_exceptions_list.py in respect to regex used in tokenizer_exceptions.py

## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [X] I have submitted the spaCy Contributor Agreement.
- [X] I ran the tests, and all new and existing tests passed.
- [X] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-10-13 16:38:21 +02:00
..
cli Remove ')' for clarity (#2737) 2018-09-10 11:31:49 +02:00
data Make spacy/data a package 2017-03-18 20:04:22 +01:00
displacy fix issue #2452 - displacy arrow direction is always forward (#2506) (closes #2452) 2018-07-04 14:12:08 +02:00
lang Rule-based French Lemmatizer (#2818) 2018-10-13 16:38:21 +02:00
syntax Fix bug when too many entity types. Fixes #2800 2018-09-27 13:54:34 +02:00
tests Unskip test 2018-10-02 23:47:55 +02:00
tokens Fix error (#2802) 2018-09-26 21:31:03 +02:00
__init__.pxd * Seems to be working after refactor. Need to wire up more POS tag features, and wire up save/load of POS tags. 2014-10-24 02:23:42 +11:00
__init__.py Try again to filter warnings 2018-08-10 00:42:54 +02:00
__main__.py Don't pass CLI command name as dummy argument 2018-01-04 21:33:47 +01:00
_ml.py 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00
about.py Set version to 2.0.13.dev3 2018-10-02 19:44:25 +02:00
attrs.pxd Fix LANG symbol 2018-02-17 18:10:50 +01:00
attrs.pyx missing PrepCase attribute 2018-02-18 14:46:12 +00:00
compat.py Simplify is_config() and normalize_string_keys() (#2305) 2018-05-21 01:54:35 +02:00
errors.py Introduces a bulk merge function, in order to solve issue #653 (#2696) 2018-09-10 16:41:42 +02:00
glossary.py Add FAC to spacy.explain (resolves #2706) 2018-08-26 14:13:50 +02:00
gold.pxd Add support for sent_start to GoldParse 2017-08-25 20:03:14 -05:00
gold.pyx New Feature: display more detail when Error E067 (#2639) 2018-08-07 10:45:29 +02:00
language.py Remove docstrings for deprecated arguments (see #2703) 2018-08-26 14:23:13 +02:00
lemmatizer.py If no rules are set, lemmatize by lookup 2017-12-06 12:12:11 +01:00
lexeme.pxd WIP on stringstore change. 27 failures 2017-05-28 14:06:40 +02:00
lexeme.pyx 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00
matcher.pyx Set up dependency tree pattern matching skeleton (#2732) 2018-09-27 13:27:18 +02:00
morphology.pxd fix typo/missing here too 2018-02-18 14:38:27 +00:00
morphology.pyx 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00
parts_of_speech.pxd Add support for Universal Dependencies v2.0 2017-03-03 13:17:34 +01:00
parts_of_speech.pyx Tidy up rest 2017-10-27 21:07:59 +02:00
pipeline.pxd Fix names of pipeline components 2017-10-26 12:38:23 +02:00
pipeline.pyx Fix loading of models when custom vectors are added 2018-04-10 22:19:20 +02:00
scorer.py 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00
strings.pxd Try to fix StringStore clean up (see #1506) 2017-11-11 03:11:27 +03:00
strings.pyx 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00
structs.pxd Make TokenC.sent_tart an int, to allow ternary value 2017-10-08 19:58:54 +02:00
symbols.pxd Fix inconsistencies in the symbols table 2018-02-18 13:51:31 +01:00
symbols.pyx Fix inconsistencies in the symbols table 2018-02-18 13:51:31 +01:00
tokenizer.pxd Disable tokenizer cache for special-cases. Fixes #1250 2017-10-24 16:08:05 +02:00
tokenizer.pyx Fix loading tokenizer with custom prefix search (#2495) 2018-07-04 12:56:07 +02:00
typedefs.pxd Work on changing StringStore to return hashes. 2017-05-28 12:36:27 +02:00
typedefs.pyx Tidy up rest 2017-10-27 21:07:59 +02:00
util.py Restore encoding arg on msgpack-numpy 2018-09-27 15:58:21 +02:00
vectors.pyx 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00
vocab.pxd Add Vocab.cfg attr, to hold stuff like oov probs 2017-10-30 16:08:50 +01:00
vocab.pyx 💫 New system for error messages and warnings (#2163) 2018-04-03 15:50:31 +02:00