如何实现波斯语言的词嵌入

问题描述 投票:0回答:1

我有此代码适用于英语,但不适用于波斯语

from gensim.models import Word2Vec as wv
for sentence in sentences:
    tokens = sentence.strip().lower().split(" ")
    tokenized.append(tokens)
model = wv(tokenized
    ,size=5,
          min_count=1)
print('done2')
model.save('F:/text8/text8-phrases1')
print('done3')
print(model)
model = wv.load('F:/text8/text8-phrases1')

print(model.wv.vocab)

输出

> 'بر': <gensim.models.keyedvectors.Vocab object at 0x0000027716EEB0B8>,
> 'اساس': <gensim.models.keyedvectors.Vocab object at
> 0x0000027716EEB160>, 'قوانين': <gensim.models.keyedvectors.Vocab
> object at 0x0000027716EEB198>, 'دانشگاه':
> <gensim.models.keyedvectors.Vocab object at 0x0000027716EEB1D0>,
> 'اصفهان،': <gensim.models.keyedvectors.Vocab object at
> 0x0000027716EEB208>, 'نويسنده': <gensim.models.keyedvectors.Vocab
> object at 0x0000027716EEB240>, 'مسؤول':
> <gensim.models.keyedvectors.Vocab object at 0x0000027716EEB278>,
> 'مقاله': <gensim.models.keyedvectors.Vocab object at
> 0x0000027716EEB2B0>, 'بايد'

请以代码为例谢谢

keras nlp persian word-embedding
1个回答
0
投票

@@ AminST,我知道回答您的问题为时已晚,但是可能有些人遇到同样的问题。所以我在这里放了一些有用的代码。我在digikala注释上使用了以下代码。我仅假设您拥有预处理部分(删除停用词,html,表情符号和...),并且数据已准备好进行矢量化。

from hazm import word_tokenize
import pandas as pd

import gensim
from gensim.models.word2vec import Word2Vec


# reading dataset
df = pd.read_csv('data/cleaned/data.csv')
df.title = df.title.apply(str)
df.comment = df.comment.apply(str)

# Storing comments in list
comments = [comment for comment in df.comment]

# converting each sentence to list of words and inserting in sents
sents = [word_tokenize(comment) for comment in comments]

model = Word2Vec(sentences=sents, size=64, window=10, min_count=5, seed=42, workers=5)

model.save('digikala_words.w2v')

# Check for vector
model['دیجیکالا']

我真的希望它能对您有所帮助,我的朋友。

© www.soinside.com 2019 - 2024. All rights reserved.