2017-03-12 15:07:28 +03:00
|
|
|
# coding: utf8
|
2016-12-18 17:36:15 +03:00
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
2017-11-06 19:41:53 +03:00
|
|
|
from ...symbols import LEMMA, PRON_LEMMA
|
2016-12-18 17:36:15 +03:00
|
|
|
|
|
|
|
|
|
|
|
MORPH_RULES = {
|
|
|
|
"PRP": {
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## 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-11-30 19:03:03 +03:00
|
|
|
"I": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Nom",
|
|
|
|
},
|
|
|
|
"me": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Acc",
|
|
|
|
},
|
|
|
|
"you": {LEMMA: PRON_LEMMA, "PronType": "Prs", "Person": "Two"},
|
|
|
|
"he": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Masc",
|
|
|
|
"Case": "Nom",
|
|
|
|
},
|
|
|
|
"him": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Masc",
|
|
|
|
"Case": "Acc",
|
|
|
|
},
|
|
|
|
"she": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Fem",
|
|
|
|
"Case": "Nom",
|
|
|
|
},
|
|
|
|
"her": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Fem",
|
|
|
|
"Case": "Acc",
|
|
|
|
},
|
|
|
|
"it": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Neut",
|
|
|
|
},
|
|
|
|
"we": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Case": "Nom",
|
|
|
|
},
|
|
|
|
"us": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Case": "Acc",
|
|
|
|
},
|
|
|
|
"they": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Case": "Nom",
|
|
|
|
},
|
|
|
|
"them": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Case": "Acc",
|
|
|
|
},
|
|
|
|
"mine": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"his": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Masc",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"hers": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Fem",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"its": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Neut",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"ours": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"yours": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Two",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"theirs": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Poss": "Yes",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"myself": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"yourself": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Two",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"himself": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Gender": "Masc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"herself": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Gender": "Fem",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"itself": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Gender": "Neut",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"themself": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"ourselves": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"yourselves": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Two",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
|
|
|
"themselves": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Plur",
|
|
|
|
"Case": "Acc",
|
|
|
|
"Reflex": "Yes",
|
|
|
|
},
|
2016-12-18 17:36:15 +03:00
|
|
|
},
|
|
|
|
"PRP$": {
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## 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-11-30 19:03:03 +03:00
|
|
|
"my": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Sing",
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Poss": "Yes",
|
|
|
|
},
|
|
|
|
"your": {LEMMA: PRON_LEMMA, "Person": "Two", "PronType": "Prs", "Poss": "Yes"},
|
|
|
|
"his": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Masc",
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Poss": "Yes",
|
|
|
|
},
|
|
|
|
"her": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Fem",
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Poss": "Yes",
|
|
|
|
},
|
|
|
|
"its": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Sing",
|
|
|
|
"Gender": "Neut",
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Poss": "Yes",
|
|
|
|
},
|
|
|
|
"our": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"Person": "One",
|
|
|
|
"Number": "Plur",
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Poss": "Yes",
|
|
|
|
},
|
|
|
|
"their": {
|
|
|
|
LEMMA: PRON_LEMMA,
|
|
|
|
"Person": "Three",
|
|
|
|
"Number": "Plur",
|
|
|
|
"PronType": "Prs",
|
|
|
|
"Poss": "Yes",
|
|
|
|
},
|
2016-12-18 17:36:15 +03:00
|
|
|
},
|
|
|
|
"VBZ": {
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## 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-11-30 19:03:03 +03:00
|
|
|
"am": {
|
|
|
|
LEMMA: "be",
|
|
|
|
"VerbForm": "Fin",
|
|
|
|
"Person": "One",
|
|
|
|
"Tense": "Pres",
|
|
|
|
"Mood": "Ind",
|
|
|
|
},
|
|
|
|
"are": {
|
|
|
|
LEMMA: "be",
|
|
|
|
"VerbForm": "Fin",
|
|
|
|
"Person": "Two",
|
|
|
|
"Tense": "Pres",
|
|
|
|
"Mood": "Ind",
|
|
|
|
},
|
|
|
|
"is": {
|
|
|
|
LEMMA: "be",
|
|
|
|
"VerbForm": "Fin",
|
|
|
|
"Person": "Three",
|
|
|
|
"Tense": "Pres",
|
|
|
|
"Mood": "Ind",
|
|
|
|
},
|
|
|
|
"'re": {
|
|
|
|
LEMMA: "be",
|
|
|
|
"VerbForm": "Fin",
|
|
|
|
"Person": "Two",
|
|
|
|
"Tense": "Pres",
|
|
|
|
"Mood": "Ind",
|
|
|
|
},
|
|
|
|
"'s": {
|
|
|
|
LEMMA: "be",
|
|
|
|
"VerbForm": "Fin",
|
|
|
|
"Person": "Three",
|
|
|
|
"Tense": "Pres",
|
|
|
|
"Mood": "Ind",
|
|
|
|
},
|
2016-12-18 17:36:15 +03:00
|
|
|
},
|
|
|
|
"VBP": {
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## 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-11-30 19:03:03 +03:00
|
|
|
"are": {LEMMA: "be", "VerbForm": "Fin", "Tense": "Pres", "Mood": "Ind"},
|
|
|
|
"'re": {LEMMA: "be", "VerbForm": "Fin", "Tense": "Pres", "Mood": "Ind"},
|
|
|
|
"am": {
|
|
|
|
LEMMA: "be",
|
|
|
|
"VerbForm": "Fin",
|
|
|
|
"Person": "One",
|
|
|
|
"Tense": "Pres",
|
|
|
|
"Mood": "Ind",
|
|
|
|
},
|
2016-12-18 17:36:15 +03:00
|
|
|
},
|
|
|
|
"VBD": {
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## 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-11-30 19:03:03 +03:00
|
|
|
"was": {LEMMA: "be", "VerbForm": "Fin", "Tense": "Past", "Number": "Sing"},
|
|
|
|
"were": {LEMMA: "be", "VerbForm": "Fin", "Tense": "Past", "Number": "Plur"},
|
|
|
|
},
|
2016-12-18 17:36:15 +03:00
|
|
|
}
|
2017-03-18 19:27:11 +03:00
|
|
|
|
|
|
|
|
|
|
|
for tag, rules in MORPH_RULES.items():
|
|
|
|
for key, attrs in dict(rules).items():
|
|
|
|
rules[key.title()] = attrs
|