sentiment_analysis.train()
Fine-tunes a pre-trained Sentiment Analysis model on a user-specified domain. No training data is needed, as
the model uses synthex.jobs.generate_data()
under the hood to generate a synthetic training dataset based on the provided classes and domain.
Both the base Sentiment Analysis model tanaos/tanaos-sentiment-analysis-v1 and previously trained models can be further trained using this method:
- Fine-tune the base Sentiment Analysis model:
Artifex().sentiment_analysis.train() - Fine-tune a model that was previously trained with Artifex, in order to train it further:
Artifex().sentiment_analysis.load("trained/model/path").train()
Arguments
- domain str
A string which specifies the domain or area that the model will be specialized in. - classes dict[str, str]
A dictionary, where each key is the name of a sentiment (must be maximum 20 characters with no spaces) to classify, and each value is the description of that sentiment. - output_path stroptional
A string which specifies the path where the output files will be generated. The output files consist of:- The training dataset
- The output model
safetensorand configuration files
- num_samples intoptionaldefault: 500
An integer which specifies the number of datapoints that the synthetic training dataset should consist of, and that the model will be trained on. The maximum number of datapoints you can train your model on depends on whether you are on a free or paid plan. - num_epochs stroptionaldefault: 3
An integer which specifies the number of epochs to train the model for.
- Python
from artifex import Artifex
sentiment_analysis = Artifex().sentiment_analysis
sentiment_analysis.train(
domain="e-commerce product reviews",
classes={
"positive": "Indicates a positive sentiment towards the product.",
"negative": "Indicates a negative sentiment towards the product.",
"neutral": "Indicates a neutral sentiment towards the product, or the absence of strong feelings.",
},
)
- Response
None