File size: 1,052 Bytes
a608bb4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import fasttext

class FastTextTrainer:
    def __init__(self, corpus_file):
        self.corpus_file = corpus_file
        self.model_file = "fasttext_model.bin"
        self.model = None

    def train_model(self, model_type="skipgram", dim=100, epoch=5, lr=0.05, thread=4):
        print("Training FastText model...")
        self.model = fasttext.train_unsupervised(
            input=self.corpus_file,
            model=model_type,
            dim=dim,
            epoch=epoch,
            lr=lr,
            thread=thread
        )
        self.model.save_model(self.model_file)
        print(f"Model trained and saved to {self.model_file}")

    def load_model(self):
        print(f"Loading FastText model from {self.model_file}...")
        self.model = fasttext.load_model(self.model_file)
        print("Model loaded successfully.")

    def get_word_vector(self, word):
        if self.model is None:
            raise ValueError("Model not loaded. Use `train_model` or `load_model` first.")
        return self.model.get_word_vector(word)