-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlabel_prep.py
More file actions
27 lines (19 loc) · 791 Bytes
/
Copy pathlabel_prep.py
File metadata and controls
27 lines (19 loc) · 791 Bytes
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
import os
from fse import CSplitIndexedList
from gensim.models import KeyedVectors
from fse.models import SIF
from fse.models.base_s2v import BaseSentence2VecModel
def split_func(string):
return string.lower().split()
class SIF_embeddings:
def __init__(self, model_path = None):
if model_path[3:] == 'vec': # If it is a pre-trained word vector
ft = KeyedVectors.load_word2vec_format(model_path)
self.model = SIF(ft, components=10)
elif model_path[-6:] == 'pickle': # Already trained sentence vector
self.model = BaseSentence2VecModel.load(model_path)
def fit(self,data):
inp = CSplitIndexedList(data, custom_split=split_func)
self.model.train(inp)
def __call__(self,transcript):
return self.model.infer([(transcript.split(),0)])