A Python library to conjugate French, English, Spanish, Italian, Portuguese and Romanian verbs using Machine Learning techniques.
Project description
mlconjug3
A Command Line application and Python library to conjugate verbs in French, English, Spanish, Italian, Portuguese and Romanian (more soon) using Machine Learning techniques.
Conjugate any verb in one of the supported languages, even completely new or made-up verbs, with the help of a pre-trained Machine Learning model.
The pre-trained models are composed of a binary feature extractor, a feature selector using Linear Support Vector Classification, and a classifier using Stochastic Gradient Descent.
Easily modify and retrain the models using any compatible classifiers from scikit-learn.
Uses Verbiste as the training data for the French model, and unsupervised learning techniques to generate the data for the English, Spanish, Italian, Portuguese and Romanian models.
Free software: MIT license
Documentation: https://mlconjug3.readthedocs.io/en/latest/.
Supported Languages
French
English
Spanish
Italian
Portuguese
Romanian
Features
Command Line Interface tool.
Easy to use and intuitive API.
Includes pre-trained models with 99% + accuracy in predicting conjugation class of unknown verbs.
Easily train new models or add new languages.
Uses caching and multiprocessing for maximum performance.
Easily integrate mlconjug3 in your own projects.
Extensive documentation.
Powerful machine learning algorithms for accurate verb conjugation predictions.
Support for multiple languages including English, Spanish, French, and German.
Customizable settings to fine-tune performance and adapt to different use cases.
Robust error handling and troubleshooting capabilities.
Regular updates and improvements to ensure optimal performance.
Community support and contributions to continuously expand the library’s capabilities.
Integration with popular libraries such as scikit-learn and numpy for machine learning tasks.
Installation
To install mlconjug3, you have multiple options:
Using pip: This is the preferred method to install mlconjug3, as it will always install the most recent stable release. To install mlconjug3, run this command in your terminal:
$ pip install mlconjug3
If you don’t have pip installed, this Python installation guide can guide you through the process.
Using pipx (recommended for users who want to avoid conflicts with other Python packages):
$ pipx install mlconjug3
Using conda: You can also install mlconjug3 by using Anaconda or Miniconda instead of pip. To install Anaconda or Miniconda, please follow the installation instructions on their respective websites. After having installed Anaconda or Miniconda, run these commands in your terminal:
$ conda config --add channels conda-forge
$ conda config --set channel_priority strict
$ conda install mlconjug3
If you already have Anaconda or Miniconda available on your system, just type this in your terminal:
$ conda install -c conda-forge mlconjug3
From sources
The sources for mlconjug3 can be downloaded from the Github repo.
You can either clone the public repository:
$ git clone git://github.com/SekouDiaoNlp/mlconjug3
Or download the tarball:
$ curl -OL https://github.com/SekouDiaoNlp/mlconjug3/tarball/master
Once you have a copy of the source, get in the source directory and you can install it with:
$ python setup.py install
Alternatively, you can use poetry to install the software:
$ pip install poetry
$ poetry install
Academic publications citing mlconjug3
- Gerard Canal, Senka Krivic ́, Paul Luff, Andrew Coles.Thirty-Sixth AAAI Conference on Artificial Intelligence (AAAI-22), 2022.
- Mike Hongfei Wu.A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY. May 2022.
- Spencer Ng, Lucy Teaford, Andy Yang, and Isaiah Zwick-Schachter.CMSC 25610: Computational Linguistics University of Chicago, 2021.
- Ali Malik and Mike Wu and Vrinda Vasavada and Jinpeng Song and John Mitchell and Noah D. Goodman and Chris Piech.Proceedings of the 34th AAAI conference on Artificial Intelligence, 2019.
BibTeX
If you want to cite mlconjug3 in an academic publication use this citation format:
@article{mlconjug3,
title={mlconjug3},
author={Sekou Diao},
journal={GitHub. Note: https://github.com/SekouDiaoNlp/mlconjug3 Cited by},
year={2023}
}
Software projects using mlconjug3
- Translation flask API for the Helsinki NLP models available in the Huggingface Transformers library.
- NLP Suite is a package of tools designed for non-specialists, for scholars with no knowledge or little knowledge of Natural Language Processing.
- This project offers tools to visualize the gender bias in pre-trained language models to better understand the prejudices in the data.
- This project uses language models to generate text that is well suited to the type of publication.
- Dockerized microservice with REST API for conjugation of any verb in French and Spanish.
- A tool to Manage and tansform HTML documents.
- A Tux bot.
- Tweets the words of the French language. Largely inspired by the @botducul (identical lexicon, but code in Python) and the @botsupervnr.Posts on @botduslip. Stores the position of the last tweeted word in a Redis database.
- This project offers a tool to help learn differnt verbal forms.
- A collection of common NLP tasks such as dataset parsing and explicit semantic extraction.
- This project offers a model which recognizes covid-19 masks.
- Need an excuse for why you can’t show up in your Zoom lectures? Just generate one here!
- Repository to store Natural Language Processing models.
- This is a simple virtual assistant. With it, you can search the Internet, access websites, open programs, and more using just your voice.This virtual assistant supports the English and Portuguese languages and has many settings that you can adjust to your liking.
- This python module responds to yes or no questions. It dishes out its advice at random.Disclaimer: Do not actually act on this advice ;)
- Python+Flask web app that uses mlconjug to dynamically generate foreign language conjugation questions.
- A dwarf-fortress adventure mode-inspired rogue-like Pygame Python3 game.
- A WebApp to learn Spanish.
- Application for German-French vocabulary with simple GUI.
Credits
This package was created with the help of Verbiste and scikit-learn.
The logo was designed by Zuur.
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.
Source Distribution
Built Distribution
Hashes for mlconjug3-3.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5387da05a7072bd9e68714df093d06d3572ea33a9ad700e122dfd4935fbf487 |
|
MD5 | 612913527feaae896c98c1195fad7a30 |
|
BLAKE2b-256 | 9e3002d2e46b219045b6180782aaa41dc3a71b232cbaa86d6ff05a37c201d885 |