FastText 是由 Facebook AI Research (FAIR) 开发的一款高效文本处理工具包,主要用于文本分类和词向量表示。
pip install fasttext
fasttext训练模型
FastText 的训练数据需要满足以下格式:
__label__<标签> <文本>
。__label__positive I love this movie!
__label__negative This film is terrible.
训练模型
import fasttext
# 训练模型
model = fasttext.train_supervised(input="train.txt", epoch=10, lr=1.0, wordNgrams=2)
# 保存模型
model.save_model("model.bin")
input
:训练数据文件路径。epoch
:训练轮数。lr
:学习率。wordNgrams
:使用 n-gram 特征(例如 wordNgrams=2
表示使用二元语法)。加载模型并进行预测
# 加载模型
model = fasttext.load_model("model.bin")
# 预测
text = "This movie is amazing!"
predictions = model.predict(text)
print(predictions) # 输出: (('__label__positive',), array([0.99999994]))
评估模型
test_result = model.test("test.txt")
print(f"Precision: {test_result[1]}")
print(f"Recall: {test_result[2]}")
print(f"Number of examples: {test_result[0]}")
输出:
Precision: 0.95
Recall: 0.95
Number of examples: 100
import fasttext
model1 = fasttext.train_unsupervised('data/fil9')
model = fasttext.train_unsupervised('data/fil9', "cbow", dim=300, epoch=1, lr=0.1, thread=8)
model.get_nearest_neighbors('sports')
#
[(0.8414610624313354, 'sportsnet'), (0.8134572505950928, 'sport'), (0.8100415468215942, 'sportscars'), (0.8021156787872314, 'sportsground'), (0.7889881134033203, 'sportswomen'), (0.7863013744354248, 'sportsplex'), (0.7786710262298584, 'sporty'), (0.7696356177330017, 'sportscar'), (0.7619683146476746, 'sportswear'), (0.7600985765457153, 'sportin')]
model.save_model("data/fil91.bin")
# 加载
model = fasttext.load_model("data/fil91.bin")
model.get_word_vector("the")
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。