All Projects → huggingface → Autonlp

huggingface / Autonlp

Licence: apache-2.0
🤗 AutoNLP: train state-of-the-art natural language processing models and deploy them in a scalable environment automatically

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Autonlp

Chars2vec
Character-based word embeddings model based on RNN for handling real world texts
Stars: ✭ 130 (-50.57%)
Mutual labels:  natural-language-processing, natural-language-understanding
Sling
SLING - A natural language frame semantics parser
Stars: ✭ 1,892 (+619.39%)
Mutual labels:  natural-language-processing, natural-language-understanding
Tod Bert
Pre-Trained Models for ToD-BERT
Stars: ✭ 143 (-45.63%)
Mutual labels:  natural-language-processing, natural-language-understanding
Dialoglue
DialoGLUE: A Natural Language Understanding Benchmark for Task-Oriented Dialogue
Stars: ✭ 120 (-54.37%)
Mutual labels:  natural-language-processing, natural-language-understanding
Gluon Nlp
NLP made easy
Stars: ✭ 2,344 (+791.25%)
Mutual labels:  natural-language-processing, natural-language-understanding
Turkish Morphology
A two-level morphological analyzer for Turkish.
Stars: ✭ 121 (-53.99%)
Mutual labels:  natural-language-processing, natural-language-understanding
Natural Language Processing Specialization
This repo contains my coursework, assignments, and Slides for Natural Language Processing Specialization by deeplearning.ai on Coursera
Stars: ✭ 151 (-42.59%)
Mutual labels:  natural-language-processing, natural-language-understanding
Chatbot
Русскоязычный чатбот
Stars: ✭ 106 (-59.7%)
Mutual labels:  natural-language-processing, natural-language-understanding
Polyai Models
Neural Models for Conversational AI
Stars: ✭ 195 (-25.86%)
Mutual labels:  natural-language-processing, natural-language-understanding
Arxivnotes
IssuesにNLP(自然言語処理)に関連するの論文を読んだまとめを書いています.雑です.🚧 マークは編集中の論文です(事実上放置のものも多いです).🍡 マークは概要のみ書いてます(早く見れる的な意味で団子).
Stars: ✭ 190 (-27.76%)
Mutual labels:  natural-language-processing, natural-language-understanding
Deep Nlp Seminars
Materials for deep NLP course
Stars: ✭ 113 (-57.03%)
Mutual labels:  natural-language-processing, natural-language-understanding
Catalyst
🚀 Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.
Stars: ✭ 224 (-14.83%)
Mutual labels:  natural-language-processing, natural-language-understanding
Xlnet extension tf
XLNet Extension in TensorFlow
Stars: ✭ 109 (-58.56%)
Mutual labels:  natural-language-processing, natural-language-understanding
Awesome Hungarian Nlp
A curated list of NLP resources for Hungarian
Stars: ✭ 121 (-53.99%)
Mutual labels:  natural-language-processing, natural-language-understanding
Transformers
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
Stars: ✭ 55,742 (+21094.68%)
Mutual labels:  natural-language-processing, natural-language-understanding
Dialogflow Ruby Client
Ruby SDK for Dialogflow
Stars: ✭ 148 (-43.73%)
Mutual labels:  natural-language-processing, natural-language-understanding
Spokestack Python
Spokestack is a library that allows a user to easily incorporate a voice interface into any Python application.
Stars: ✭ 103 (-60.84%)
Mutual labels:  natural-language-processing, natural-language-understanding
Easy Bert
A Dead Simple BERT API for Python and Java (https://github.com/google-research/bert)
Stars: ✭ 106 (-59.7%)
Mutual labels:  natural-language-processing, natural-language-understanding
Efaqa Corpus Zh
❤️Emotional First Aid Dataset, 心理咨询问答、聊天机器人语料库
Stars: ✭ 170 (-35.36%)
Mutual labels:  natural-language-processing, natural-language-understanding
Attention Mechanisms
Implementations for a family of attention mechanisms, suitable for all kinds of natural language processing tasks and compatible with TensorFlow 2.0 and Keras.
Stars: ✭ 203 (-22.81%)
Mutual labels:  natural-language-processing, natural-language-understanding

🤗 AutoNLP

AutoNLP: faster and easier training and deployments of SOTA NLP models

Installation

You can Install AutoNLP python package via PIP. Please note you will need python >= 3.7 for AutoNLP to work properly.

pip install autonlp

Please make sure that you have git lfs installed. Check out the instructions here: https://github.com/git-lfs/git-lfs/wiki/Installation

Quick start - in the terminal

Supported languages:

  • English: en
  • French: fr
  • German: de
  • Finnish: fi
  • Hindi: hi
  • Spanish: es
  • Chinese: zh
  • Dutch: nl
  • Turkish: tr

Supported tasks:

  • binary_classification
  • multi_class_classification
  • entity_extraction

Note: AutoNLP is currently in beta release. To participate in the beta, just go to https://huggingface.co/autonlp and apply 🤗

First, create a project:

autonlp login --api-key YOUR_HUGGING_FACE_API_TOKEN
autonlp create_project --name sentiment_detection --language en --task binary_classification

Upload files and start the training. You need a training and a validation split. Only CSV files are supported at the moment.

# Train split
autonlp upload --project sentiment_detection --split train \
               --col_mapping review:text,sentiment:target \
               --files ~/datasets/train.csv
# Validation split
autonlp upload --project sentiment_detection --split valid \
               --col_mapping review:text,sentiment:target \
               --files ~/datasets/valid.csv

Once the files are uploaded, you can start training the model:

autonlp train --project sentiment_detection

Monitor the progress of your project.

# Project progress
autonlp project_info --name sentiment_detection
# Model metrics
autonlp metrics --project PROJECT_ID

Quick start - Python API

Setting up:

from autonlp import AutoNLP
client = AutoNLP()
client.login(token="YOUR_HUGGING_FACE_API_TOKEN")

Creating a project and uploading files to it:

project = client.create_project(name="sentiment_detection", task="binary_classification", language="en")
project.upload(
    filepaths=["/path/to/train.csv"],
    split="train",
    col_mapping={
        "review": "text",
        "sentiment": "target",
    })

# also upload a validation with split="valid"

Start the training of your models:

project.train()

To monitor the progress of your training:

project.refresh()
print(project)

After the training of your models has succeeded, you can retrieve the metrics for each model and test them with the 🤗 Inference API:

client.predict(project="sentiment_detection", model_id=42, input_text="i love autonlp")

or use command line:

autonlp predict --project sentiment_detection --model_id 42 --sentence "i love autonlp"

How much do I have to pay?

It's difficult to provide an exact answer to this question, however, we have an estimator that might help you. Just enter the number of samples and language and you will get an estimate. Please keep in mind that this is just an estimate and can easily over-estimate or under-estimate (we are actively working on this).

autonlp estimate --num_train_samples 500000 --language en
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].