Verbs, Completely Conjugated - Conjugator for French and Spanish using ML techniques to conjugate any verb
Project description
verbecc
Verbs, completely conjugated - French and Spanish verb conjugator
Verbes, complètement conjugués - conjugaison en français et espagnol
Verbos, completamente conjugados - conjugador de verbos francés y español
https://github.com/bretttolbert/verbecc
Features
- Over 7,000 French verbs and 9,000 Spanish verbs supported
- Uses machine learning techniques to conjugate unrecognized verbs with 99% accurracy
- pip installable
- Unit tested
- Continuous Integration and Deployment with GitLab CI/CD
- Dependencies: lxml
Credits
Created with the help of lxml, pytest and python. French verb conjugation template XML files derived from Verbiste. Spanish verb conjugation XML files and machine-learning conjugation template prediction for unknown verbs dervied from mlconjug.
verbecc-svc
verbecc-svc Microservice Python avec un API REST pour la conjugaison des verbes français
verbecc-svc Python microservice with REST API for conjugation of French verbs
https://github.com/bretttolbert/verbecc-svc
Live demo
http://verbe.cc/vcfr/conjugate/manger
Features
- Dockerized microservice
- Unit tested
- Continuous Integration and Deployment with GitLab CI/CD
- RESTful API with JSON responses
- Dependencies: verbecc
Credits
Created with the help of verbecc, FastAPI, uvicorn, starlette, docker, docker-compose, pytest and python.
verbecc-web
Une interface web pour verbecc-svc
Web front-end for verbecc-svc
https://github.com/bretttolbert/verbecc-web
Live demo
Features
- Dockerized
- Search suggestions
- Implemented entirely in Javascript (JQuery) - conjugations are generated without reloading the page
- Dependencies: verbecc-svc
Credits
Created with the help of verbecc-svc, and JQuery
+------------------------------------------------------+
| verbecc-web |
| web application |
| docker-compose |
| | |
| REST API |
| | |
| +----------------------------------------+ |
| | | |
| | verbecc-svc | |
| | Dockerized microservice | |
| | | |
| | +----------------------+ | |
| | | verbecc | | |
| | | Python library | | |
| | +----------------------+ | |
| +----------------------------------------+ |
+------------------------------------------------------+
verbecc
Quick Start
pip install verbecc
Usage
>>> from verbecc import Conjugator
>>> cg = Conjugator(lang='fr')
>>> conjugation = cg.conjugate('manger')
>>> conjugation
{'verb': {'infinitive': 'manger', 'predicted'=False, 'pred_score'=1.0, 'template': 'man:ger', 'translation_en': 'eat', 'stem': 'man'}, 'moods': {'infinitif': {'infinitif-présent': ['manger']}, 'indicatif': {'présent': ['je mange', 'tu manges', 'il mange', 'nous mangeons', 'vous mangez', 'ils mangent'], 'imparfait': ['je mangeais', 'tu mangeais', 'il mangeait', 'nous mangions', 'vous mangiez', 'ils mangeaient'], 'futur-simple': ['je mangerai', 'tu mangeras', 'il mangera', 'nous mangerons', 'vous mangerez', 'ils mangeront'], 'passé-simple': ['je mangeai', 'tu mangeas', 'il mangea', 'nous mangeâmes', 'vous mangeâtes', 'ils mangèrent'], 'passé-composé': ["j'ai mangé", 'tu as mangé', 'il a mangé', 'nous avons mangé', 'vous avez mangé', 'ils ont mangé'], 'plus-que-parfait': ["j'avais mangé", 'tu avais mangé', 'il avait mangé', 'nous avions mangé', 'vous aviez mangé', 'ils avaient mangé'], 'futur-antérieur': ["j'aurai mangé", 'tu auras mangé', 'il aura mangé', 'nous aurons mangé', 'vous aurez mangé', 'ils auront mangé'], 'passé-antérieur': ["j'eus mangé", 'tu eus mangé', 'il eut mangé', 'nous eûmes mangé', 'vous eûtes mangé', 'ils eurent mangé']}, 'conditionnel': {'présent': ['je mangerais', 'tu mangerais', 'il mangerait', 'nous mangerions', 'vous mangeriez', 'ils mangeraient'], 'passé': ["j'aurais mangé", 'tu aurais mangé', 'il aurait mangé', 'nous aurions mangé', 'vous auriez mangé', 'ils auraient mangé']}, 'subjonctif': {'présent': ['que je mange', 'que tu manges', "qu'il mange", 'que nous mangions', 'que vous mangiez', "qu'ils mangent"], 'imparfait': ['que je mangeasse', 'que tu mangeasses', "qu'il mangeât", 'que nous mangeassions', 'que vous mangeassiez', "qu'ils mangeassent"], 'passé': ["que j'aie mangé", 'que tu aies mangé', "qu'il ait mangé", 'que nous ayons mangé', 'que vous ayez mangé', "qu'ils aient mangé"], 'plus-que-parfait': ["que j'eusse mangé", 'que tu eusses mangé', "qu'il eût mangé", 'que nous eussions mangé', 'que vous eussiez mangé', "qu'ils eussent mangé"]}, 'imperatif': {'imperatif-présent': ['mange', 'mangeons', 'mangez'], 'imperatif-passé': ['aie mangé', 'ayons mangé', 'ayez mangé']}, 'participe': {'participe-présent': ['mangeant'], 'participe-passé': ['mangé', 'mangés', 'mangée', 'mangées']}}}
>>> conjugation['moods']['indicatif']['présent']
['je mange', 'tu manges', 'il mange', 'nous mangeons', 'vous mangez', 'ils mangent']
>>> conjugation['moods'].keys()
dict_keys(['infinitif', 'indicatif', 'conditionnel', 'subjonctif', 'imperatif', 'participe'])
>>> conjugation['moods']['indicatif'].keys()
dict_keys(['présent', 'imparfait', 'futur-simple', 'passé-simple', 'passé-composé', 'plus-que-parfait', 'futur-antérieur', 'passé-antérieur'])
>>> conjugation['moods']['subjonctif'].keys()
dict_keys(['présent', 'imparfait', 'passé', 'plus-que-parfait'])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.