Skip to main content

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.

Metadata

Release files for mlconjug 2.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mlconjug 2.1.9
File Size Uploaded
mlconjug-2.1.9.tar.gz 24.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mlconjug 2.1.9
File Interpreter ABI Platform
mlconjug-2.1.9-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 38.1 kB

Release files / mlconjug-2.1.9.tar.gz

Download URL mlconjug-2.1.9.tar.gz
Size 24.6 kB
Tags Source
SHA-256 checksum
How to use checksums
556f3b3da82d6a8ddaeb3db62fa06c5e362b660cda9d1fd62c742d9847ce7e61
BLAKE2b-256 checksum
How to use checksums
aabcbe71abee548b038774f6ff532361cceb0bac26bb9cb8a571ec73247c015a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / mlconjug-2.1.9-py2.py3-none-any.whl

Download URL mlconjug-2.1.9-py2.py3-none-any.whl
Size 13.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2212b9c6133099ffbd71b13dc28572e2a99468490edb1d90fe37e579871a06b0
BLAKE2b-256 checksum
How to use checksums
7e7aae2c4e22ae4fe7720aa40ce17054d543ae116e015b6d3bfdaf6a62fcb5c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

3.4.0

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.0

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.1.11

2 release files

This release

2.1.9 This release

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.0.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page