Flair TextClassifier for Random Word Sentiment Classification

  • Share this:

Code introduction


This function uses Flair's TextClassifier to classify the sentiment of randomly generated words.


Technology Stack : Flair, TextClassifier, Tokenizer

Code Type : Text Classification

Code Difficulty : Intermediate


                
                    
def flair_random_word_language(model, language="en", num_words=1):
    import torch
    from flair.data import DataPoint
    from flair.models import TextClassifier
    from flair.tokenization import Tokenizer

    # Load a pre-trained text classifier
    classifier = TextClassifier.load('en-sentiment')

    # Define a tokenizer for the language
    tokenizer = Tokenizer(language)

    # Generate random words and classify them
    random_words = []
    for _ in range(num_words):
        word = ' '.join([tokenizer.get_word(word) for word in list('abcdefghijklmnopqrstuvwxyz')[:5]])
        random_words.append(word)

    # Classify the words
    classified_words = []
    for word in random_words:
        dp = DataPoint(word)
        dp = classifier.predict(dp)
        classified_words.append({'word': word, 'sentiment': dp.label.name})

    return classified_words