Keras 如何实现波斯语的单词嵌入
我的代码适用于英语,但不适用于波斯语Keras 如何实现波斯语的单词嵌入,keras,nlp,persian,word-embedding,Keras,Nlp,Persian,Word Embedding,我的代码适用于英语,但不适用于波斯语 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
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>, 'بايد'
>“ب㶙”:,
>“0x0000027716EEB160>,“0x0000027716EEB198>处的对象”,“0x0000027716EEB160>,“0x0000027716EEB160>”:
> ,
>“0x0000027716EEB208>,“0x0000027716EEB240>的对象”
> ,
>“مقاه”:0x0000027716EEB2B0>,“بايد”
请以代码为例
谢谢你,我知道现在回答你的问题已经太迟了,但是可能有些人也有同样的问题。所以我在这里放了一些有用的代码。我在digikala评论中使用了下面的代码。我只假设您已经有了预处理部分(删除stopwords、HTML、emojis和…),数据已经准备好进行矢量化
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['دیجیکالا']
我真的希望它能帮助你,我的朋友。
如果您仍有兴趣了解更多详细信息,请访问以下链接:
您可以发布文件
text8-phrases1
中的示例文本吗?如果你的输入不使用空格或者没有足够的文本,这可能是一个问题。只要你在单词之间有一个清晰的分隔符,比如空格,它应该和英语一样有效。您还可以查看nltk文档,其中有一部分是关于短语识别的,它可以自动收集固定元素(例如文本中的《纽约时报》)。如果你有两个或两个以上的单词短语在波斯语中算作一个单词,这也可以在这里使用。