wordpress站外连接,网页端,网站集约化建设的好处,删除网站域名【学而不思则罔#xff0c;思维不学则怠】 2023.9.28 关于fasttext的原理及实战文章很多#xff0c;我也尝试在自己的任务中进行使用#xff0c;是一个典型的短文本分类任务#xff0c;对知识图谱抽取的实体进行校验#xff0c;判断实体类别是否正确#xff0c;我构建了…【学而不思则罔思维不学则怠】 2023.9.28 关于fasttext的原理及实战文章很多我也尝试在自己的任务中进行使用是一个典型的短文本分类任务对知识图谱抽取的实体进行校验判断实体类别是否正确我构建了27000个样本3种类别ABC经过调参最好的F1只有0.61感觉这就是它的天花板了在网上看到很多人在自己的场景中都能达到0.8、0.9之类的我就在想为什么我这个提不上去。 可能的原因有一下几个
1.数据量不够
比如知乎有个人做7分类的数据量也差不多但他的性能很不错。 相比较而言我这边每类样本接近1W我个人感觉对于这个轻量级模型是够了。
2.类别不均衡导致
我这边三中类别的数据比例分别是1:1:0.7应该还好不算很极端的类别不均衡。
Qfasttext对类别不均衡敏不敏感 敏感
3.数据中有噪声
数据中是有噪声会有那种错误分类的样本存在但应该不是很多。
4.F1被平均
我用过测试发现算法在我应用场景中基本上能把错误分类的A给识别出来并进行准确分类但是会把正确的B给错误分类成A而且比例比较高。 说明B很容易被分类为AB这个类别的P应该不高算法对三种类别的分类性能不一致0.61是被平均的结果待验证
5.文本太长了N-gram无法准确捕捉语义信息
网上的一种主流声音是fasttext适合短文本分类究其原因是fast对于语序特征不能很好的提取虽然它考虑用n-grams来捕捉一些语序特征即图中的N-gram特征但N通常不会太大如2-3这样小的一个窗口是很难捕捉长距离的语义信息的。多说一点transformer和bert添加了专门的位置编码来记录语序信息 如下面的句子
这电影不是很好看但我还是很喜欢它这电影是很好看但我还是不喜欢它我不喜欢这电影但它还是很好看 其中第1、3句整体极性是positive但第2句整体极性就是negative。
分析上述例子
在词向量特征层面三个句子非常接近很难区分在N-gram特征层面比如N3会发现第2句和第3句也很难区分。 因此fasttext只是通过简单的取向量的平均来作为s句向量进行分类很难学出词序对句子语义的影响。 换句话说fasttext不适合这类对语序特征敏感的场景。
我的场景中有一些比较接近但类别不同的短文本如“方向盘”为A“打方向”、“打方向盘”为C这类文本很可能会导致分类混淆。待验证
6.文本太短了N-Gram特征无法准确用于分类
我数据中有很多文本的长度比较短甚至只有一两个字“异响”“亮”“不亮”针对这类文本fast的N-gram有效吗 待验证