今天聊聊fasttext做文本分类任务:fasttext训练速度能够匹配传统机器学习,训练速度为什么快?底层采用霍夫曼树(最优二叉树),其底层原理就是词的频次越高离根结点就越近,便于更快找到.采用负采样:只有一个正样本和随机几个负样本用作模型训练,大大节省了训练时间,同时还缓解了过拟合的问题.ngram特征:解决了未登录词的问题,让模型更好感知词内部构词语义规律.准确度能够追赶bert大模型,fasttext是在训练速度和准确度之间寻求平衡.工作过程是输入一个句子,返回的是这个句子属于哪个类别.其基本架构包含输入层:这一层就是对输入的文档做词向量化的过程,也包含了N-gram特征.隐藏层:对输入的数据求和平均.输出层:输出的是文档对应的label标签(这是在输入文档前需要对每个句子添加__label__标签,根据实际情况,对同一个句子可以添加多个标签,其格式为__label__标签名1__标签名2__空格,句子)常见的分类种类:二分类:输出的是该样本为正的概率(两个分类结果,底层默认sigmoid激活函数).单标签多分类:输出的是一个样本在多个标签上的概率,概率和为1(softmanx激活函数).多标签多分类:输出的是一个样本分别对多个分类标签上为正的概率(sigmoidj激活函数,但是有多个分类结果,设定阈值和k).fasttext做文本分类任务相关api:设置并训练模型:model = fasttext.train_supervise人的("文件路径",各种参数).模型测试:model.test("测试文件路径").模型预测:model.predict(text = "文本").模型保存:model.save_model("路径.bin").模型加载:fasttext.load_model("路径.bin")
相关推荐
小小数媒成员1 分钟前
UGUI原理(一)axe_hu4 分钟前
AI产品经理的职业规划与学习路径武子康4 分钟前
固定时间步已经开了,为什么游戏回放还会走出不同位置?ManageEngineITSM8 分钟前
工单分类怎么设计?类别、子类别与自动分派的实用方法VIP_CQCRE15 分钟前
内容自动化越跑越乱?先补上状态、去重和失败恢复速易达网络22 分钟前
Three.js 动画入门教学:从场景搭建到流畅动效听我哔哔24 分钟前
口播视频唇形总对不上,Seedance 2.5在zeekeAI里同步福大大架构师每日一题26 分钟前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级我喜欢就喜欢27 分钟前
RAG 重排序 Rerank 实战:用 bge-reranker 把 Top-K 命中率拉回来Sarvartha28 分钟前
集合概述 & Collection 接口