python利用gensim函数用类实现Word2vec
时间: 2024-05-14 12:14:21 浏览: 17
以下是一个使用gensim函数实现Word2vec的Python类示例:
```python
from gensim.models import Word2Vec
class Word2VecModel:
def __init__(self, sentences, size=100, window=5, min_count=5, workers=4):
self.sentences = sentences
self.size = size
self.window = window
self.min_count = min_count
self.workers = workers
def train_model(self):
self.model = Word2Vec(sentences=self.sentences, size=self.size, window=self.window, min_count=self.min_count, workers=self.workers)
def get_similar_words(self, word, topn=10):
return self.model.wv.most_similar(word, topn=topn)
```
在上面的类中,我们使用了gensim的Word2Vec模型来训练我们的模型。我们将训练数据传递给构造函数,并使用train_model方法来训练模型。在训练模型后,我们可以使用get_similar_words方法来获取与给定单词相似的单词列表。
例如,我们可以使用以下代码来使用上述类:
```python
sentences = [['this', 'is', 'a', 'sentence'], ['this', 'is', 'another', 'sentence'], ['yet', 'another', 'sentence']]
model = Word2VecModel(sentences)
model.train_model()
similar_words = model.get_similar_words('sentence')
print(similar_words)
```
输出将是与“sentence”最相似的10个单词的列表。
请注意,我们可以通过调整构造函数中的参数来更改训练模型的方式。例如,我们可以更改size参数以改变词嵌入的维数,或将min_count参数设置为更高的值以忽略频率较低的单词。