gpt4 book ai didi

machine-learning - 如何使用 gensim fasttext 包装器训练词嵌入表示?

转载 作者:行者123 更新时间:2023-11-30 09:42:25 24 4
gpt4 key购买 nike

我想用 fastext 训练我自己的词嵌入。但是,在遵循教程之后,我无法正确执行此操作。到目前为止我尝试过:

在:

from gensim.models.fasttext import FastText as FT_gensim

# Set file names for train and test data
corpus = df['sentences'].values.tolist()

model_gensim = FT_gensim(size=100)

# build the vocabulary
model_gensim.build_vocab(sentences=corpus)
model_gensim

输出:

<gensim.models.fasttext.FastText at 0x7f6087cc70f0>

在:

# train the model
model_gensim.train(
sentences = corpus,
epochs = model_gensim.epochs,
total_examples = model_gensim.corpus_count,
total_words = model_gensim.corpus_total_words
)

print(model_gensim)

输出:

FastText(vocab=107, size=100, alpha=0.025)

但是,当我尝试查看词汇表时:

print('return' in model_gensim.wv.vocab)

我得到False,即使该单词出现在我传递给快速文本模型的句子中。另外,当我检查要返回的最相似的单词时,我得到了字符:

model_gensim.most_similar("return")

[('R', 0.15871645510196686),
('2', 0.08545402437448502),
('i', 0.08142799884080887),
('b', 0.07969795912504196),
('a', 0.05666942521929741),
('w', 0.03705815598368645),
('c', 0.032348938286304474),
('y', 0.0319858118891716),
('o', 0.027745068073272705),
('p', 0.026891689747571945)]

使用 gensim 的 fasttext 包装器的正确方法是什么?

最佳答案

gensim FastText 类不采用纯字符串作为其训练文本。相反,它需要单词列表。如果您传递纯字符串,它们将看起来像单个字符的列表,并且您将得到像您所看到的那样的发育不良的词汇表。

语料库的每个项目标记为单词标记列表,您将获得更接近预期的结果。一种 super 简单的方法可能是:

corpus = [s.split() for s in corpus]

但是,通常您还想做其他事情来正确标记纯文本 - 也许是大小写扁平化,或者使用标点符号做其他事情等。

关于machine-learning - 如何使用 gensim fasttext 包装器训练词嵌入表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57033566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com