Skip to main content

A Python library to conjugate French, English, Spanish, Italian, Portuguese and Romanian verbs using Machine Learning techniques.

Project description

MLConjug

Pypi Python Package Index Status Linux Continuous Integration Status Windows Continuous Integration Status Documentation Status Depedencies Update Status Coverage Status
A Python library to conjugate verbs in French, English, Spanish, Italian, Portuguese and Romanian (more soon) using Machine Learning techniques.
Any verb in one of the supported language can be conjugated, as the module contains a Machine Learning model of how the verbs behave.
Even completely new or made-up verbs can be successfully conjugated in this manner.
The supplied pre-trained models are composed of:
  • a binary feature extractor,

  • a feature selector using Linear Support Vector Classification,

  • a classifier using Stochastic Gradient Descent.

MLConjug uses scikit-learn to implement the Machine Learning algorithms.
Users of the library can use any compatible classifiers from scikit-learn to modify and retrain the models.
The training data for the french model is based on Verbiste https://perso.b2b2c.ca/~sarrazip/dev/verbiste.html .
The training data for English, Spanish, Italian, Portuguese and Romanian was generated using unsupervised learning techniques
using the French model as a model to query during the trainig.

Supported Languages

  • French

  • English

  • Spanish

  • Italian

  • Portuguese

  • Romanian

Features

  • Easy to use API.

  • Includes pre-trained models with 99% + accuracy in predicting conjugation class of unknown verbs.

  • Easily train new models or add new languages.

  • Easily integrate MLConjug in your own projects.

  • Can be used as a command line tool.

Credits

This package was created with the help of Verbiste and scikit-learn.

Installation

Stable release

To install MLConjug, run this command in your terminal:

$ pip install mlconjug

This is the preferred method to install MLConjug, as it will always install the most recent stable release.

If you don’t have pip installed, this Python installation guide can guide you through the process.

From sources

The sources for MLConjug can be downloaded from the Github repo.

You can either clone the public repository:

$ git clone git://github.com/SekouD/mlconjug

Or download the tarball:

$ curl  -OL https://github.com/SekouD/mlconjug/tarball/master

Once you have a copy of the source, you can install it with:

$ python setup.py install

History

2.1.9 (2018-06-21)

  • Now the Conjugator adds additional information to the Verb object returned.
    • If the verb under consideration is already in Verbiste, the conjugation for the verb is retrieved directly from memory.

    • If the verb under consideration is unknown in Verbiste, the Conjugator class now sets the boolean attribute ‘predicted’ and the float attribute confidence score to the instance of the Verb object the Conjugator.conjugate(verb) returns.

  • Added Type annotations to the whole library for robustness and ease of scaling-out

  • The performance of the Engish and Romanian Models have improved significantly lately. I guess in a few more iteration they will be on par with the French Model which is the best performing at the moment as i have been tuning its parameters for a caouple of year now. Not so much with the other languages, but if you update regularly you will see nice improvents in the 2.2 release.

  • Enhanced the localization of the program.

  • Now the user interface of mlconjug is avalaible in French, Spanish, Italian, Portuguese and Romanian, in addition to English.

  • All the documentation of the project have been translated in the supported languages.

2.1.5 (2018-06-15)

  • Added localization.

  • Now the user interface of mlconjug is avalaible in French, Spanish, Italian, Portuguese and Romanian, in addition to English.

2.1.2 (2018-06-15)

  • Added invalid verb detection.

2.1.0 (2018-06-15)

  • Updated all language models for compatibility with scikit-learn 0.19.1.

2.0.0 (2018-06-14)

  • Includes English conjugation model.

  • Includes Spanish conjugation model.

  • Includes Italian conjugation model.

  • Includes Portuguese conjugation model.

  • Includes Romanian conjugation model.

1.2.0 (2018-06-12)

  • Refactored the API. Now a Single class Conjugator is needed to interface with the module.

  • Includes improved french conjugation model.

  • Added support for multiple languages.

1.1.0 (2018-06-11)

  • Refactored the API. Now a Single class Conjugator is needed to interface with the module.

  • Includes improved french conjugation model.

1.0.0 (2018-06-10)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlconjug-2.1.9.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

mlconjug-2.1.9-py2.py3-none-any.whl (13.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mlconjug-2.1.9.tar.gz.

File metadata

  • Download URL: mlconjug-2.1.9.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mlconjug-2.1.9.tar.gz
Algorithm Hash digest
SHA256 556f3b3da82d6a8ddaeb3db62fa06c5e362b660cda9d1fd62c742d9847ce7e61
MD5 21a3e219e955eff274dde3839fc6c0ad
BLAKE2b-256 aabcbe71abee548b038774f6ff532361cceb0bac26bb9cb8a571ec73247c015a

See more details on using hashes here.

File details

Details for the file mlconjug-2.1.9-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for mlconjug-2.1.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2212b9c6133099ffbd71b13dc28572e2a99468490edb1d90fe37e579871a06b0
MD5 4375705dc68b42cbeb440ed1361b75f9
BLAKE2b-256 7e7aae2c4e22ae4fe7720aa40ce17054d543ae116e015b6d3bfdaf6a62fcb5c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page