fastText文本分类

FastText文本分类代码 import jieba import pandas as pd import random import fasttext cate_dic = {'technology':1, 'car':2, 'entertainment':3, 'military':4, 'sports':5} df_technology = pd.read_csv("./data/technology_news.csv", encoding='utf-8') df_technology = df_technology.dro 阅读详情

1 安装fastText

facebook参考地址

https://github.com/facebookresearch/fastText

fastText安装包

https://www.lfd.uci.edu/~gohlke/pythonlibs/#fasttext

使用tar文件安装比较麻烦,建议使用whl安装

pip install fasttext‑0.9.2‑cp38‑cp38‑win_amd64.whl

开发文档

# python开发文档
https://fasttext.cc/docs/en/python-module.html

# js开发文档
https://fasttext.cc/docs/en/webassembly-module.html

2 源文件


import fasttext
# 消除警告
# Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText` object which is very similar
fasttext.FastText.eprint = lambda x: None

# 分类模型名称
classifier_model_name = "model_classify.bin"


# 训练模型
def train_model():
    # 参数标准的取值范围: lr =[0.1, 1.0], epoch=[5-50], wordNgrams=[1-5]
    # loss参数
    # 实现多标签分类时,loss=ova,ova表示one-vs-all
    # 当数据量比较大时,loss=hs,hs表示hierarchical softmax
    model = fasttext.train_supervised("train.txt", lr=0.1, epoch=25, wordNgrams=4, loss='softmax', label_prefix='__label__')
    # 保存模型
    model.save_model(classifier_model_name)


# 测试模型
def test_model():
    # 加载模型
    classifier = fasttext.load_model(classifier_model_name)
    # 测试数据
    res_test = classifier.test("test.txt")
    print("数据量:", res_test[0])
    print("准确率:", res_test[1])
    print("召回率:", res_test[2])

    predict_file = open('predict.txt', 'w', encoding='utf-8')
    with open('test.txt', encoding='utf-8') as fp:
        # 每行数据的格式:标签+文本,标签由’__label__‘+类别组成
        for line in fp.readlines():
            line = line.strip()
            # 预测结果, 原始数据
            predict_file.write(classifier.predict(line)[0][0] + ',\t' + line + '\n')
    predict_file.close()


# 预测模型
def predict_text():
    classifier = fasttext.load_model(classifier_model_name)
    # text是预测的文本列表, k表示输出标签的数量,-1表示全部输出
    res_predict = classifier.predict(text=["新冠肺炎", "智能发展"], k=-1)
    print("概率列表:", res_predict)

    # text是预测的文本,默认返回相似度最大的标签和概率
    res_predict = classifier.predict(text="疫情")
    print("概率:", res_predict)


if __name__ == '__main__':
    train_model()
    test_model()
    predict_text()

3 数据格式

训练样本

__label__0 智能科学发展,人工智能科学
__label__1 新冠肺炎疫情
__label__0 深度学习技术,机器学习技术
__label__1 疫情得到有效控制

测试样本

__label__0 中国在人工智能领域得到了一定的发展
__label__1 中国有效控制了疫情
AI文本分类:基于FastText的实践 FastText是一种由Facebook人工智能团队开发的文本分类算法,它基于Word2Vec模型,通过将文本转换为词向量,再利用这些向量进行分类。FastText在处理大规模文本数据时表现出色,具有快速、准确、易于实现等优点。本文详细阐述了FastText在文本分类中的应用及其优势,从数据预处理、模型训练、模型评估与优化等方面进行了介绍。FastText作为一种高效的文本分类方法,具有快速、准确、易于实现等优点,广泛应用于新闻分类、情感分析、垃圾邮件检测等领域。 阅读详情

相关推荐

fasttext文本分类实战

让我们通过一个简单的练习来说明这一点,给出以下 bigrams,尝试重构原始句子:‘all out’, ‘I am’, ‘of bubblegum’, ‘out of’ 和 ‘am all’。在本教程中,我们感兴趣的是构建一个分类器,自动识别关于烹饪的Stackexchange问题的主题。当我们想要将一个文档分配给多个标签时,我们仍然可以使用softmax损失,并调整预测参数,即要预测的标签数量和预测概率的阈值。预测的五个标签中,有一个是正确的,即equipment,这给出了0.20的精确度。

XD的博客 1411

FastText 理解与使用

fasttext

Mark_Australia的博客 2021

fasttext文本分类

文章目录前言一、环境二、数据处理三、训练总结 前言 fastText是Facebook Research在2016年开源的一个词向量及文本分类工具,今天这篇文章主要使用fasttext在来做文本分类,测试fasttext用于分类的实际效果。 本文所使用的数据及代码均已上传至GitHub 传送门: fasttext_classify 一、环境 python3.8 fasttext-0.9.2 tqdm 在windows上安装fasttext得去https://www.lfd.uci.edu/~gohlk.

qq_44193969的博客 2147

Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText`

对于fasttext v0.9.2,这可以通过将下面的猴子补丁添加到您的代码(as per this GitHub issue)中来解决。

GodGump的博客 1984

快速文本分类(FastText)

深度学习神经网络在自然语言处理中表现非常优秀,但动辄几十层,上亿参数的大型网络速度慢且需要大量算力支持,限制了使用场景。FastText是Facebook开源的一款简单而高效的文本分类器,它使用浅层的神经网络实现了word2vec以及文本分类功能,效果与深层网络差不多,节约资源,且有百倍的速度提升,可谓高效的工业级解决方案。本篇将介绍Fasttext的相关概念、原理及用法。文本分类是许多应用程序的核心问题,例如垃圾邮件检测,情感分析或智能回复。

sikh_0529的博客 2万+

fasttext-0.9.2-cp38-cp38-win_amd64.whl.zip

fasttext模块离线安装模块whl,直接pip即可

取消fasttext警告:`load_model` does not return WordVectorModel or SupervisedModel any more, but ......

这行代码的作用是将原本可能打印错误信息的eprint方法替换为一个“空操作”函数,从而达到抑制FastText库在运行过程中输出错误或调试信息的目的。在实际使用中,这样的做法可能会隐藏掉一些潜在的错误信息和警告,因此除非有特殊需求,一般不建议这样做。查了下GitHub上相同的问题,提到上面的fasttext的警告信息将会在下一个官方版本。加载训练好的文本分类模型,完成输入文本的分类预测任务。中被解决(大概率直接删除)。(截止目前是最新版本)导包时添加下面这行代码。

qq_42533357的博客 838

fasttext-0.9.2-cp38-cp38-win_amd64.whl

fasttext-0.9.2-cp38-cp38-win_amd64.whl

Python安装fasttext报错的处理方法

直接pip install fasttext安装会报错如下: 要求安装Microsoft Visual C++ 14.0. 解决办法:去https://www.lfd.uci.edu/~gohlke/pythonlibs/#fasttext找到对应python版本的package下载。 之后打开cmd,进入下载目录,执行:pip install fasttext-0.9.2-cp38-cp38-win_amd64.whl即可。 使用时注意:处理数据集为fastText标准的数据格式,如前缀+标签+逗号+

u012744245的博客 3823

fastcluster-1.2.6-cp38-cp38-win_amd64.whl.zip

fastcluster-1.2.6-cp38-cp38-win_amd64.whl.zip

【TM1650】STM8S TM1650芯片控制程序

以下为.h文件: #ifndef __TM1650_I2C_H #define __TM1650_I2C_H #include "stm8s.h" #include "stm8s_gpio.h" #include "tim1.h" #include "usart2.h" #include <iostm8s103f3.h> #include <intrinsics....

cxw312864660的博客 1万+

fastText原理和文本分类实战,看这一篇就够了

fastText原理篇 一、fastText简介 fastText是一个快速文本分类算法,与基于神经网络的分类算法相比有两大优点: 1、fastText在保持高精度的情况下加快了训练速度和测试速度 2、fastText不需要预训练好的词向量,fastText会自己训练词向量 3、fastText两个重要的优化:Hierarchical Softmax、N-gram 二、fastText模型架构...

【AI机器学习与知识图谱】的博客 16万+

抖音批量取消关注神器:5行JS代码搞定,告别手动操作(附详细步骤)

本文介绍了一种利用JS脚本在抖音创作者平台批量取消关注的高效方法。通过浏览器开发者工具执行简单的JavaScript代码,即可自动化模拟点击操作,快速清理大量关注列表,告别繁琐的手动操作。文中提供了详细的步骤和核心代码,适合有一定技术基础的用户参考。

weixin_29009971的博客 596

FastText进行文本分类实践

目录0、内容介绍1、FastText是什么?1.1 安装1.2 如何使用?A:单词表达模型B:文本分类模型C:使用量化压缩模型2、使用fastText训练文本分类模型2.1 训练数据准备2.2 训练模型2.3 模型保存与测试 0、内容介绍 本文主要介绍如何使用利用fastText进行文本分类任务,包括如何准备、处理数据,训练及测试过程。 最近用到fastText进行文本分类任务,其不用训练好的词向...

ling620的专栏 9405

WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)

下垫面类型对于WRF的地表过程十分重要,而在我们研究WRF的地表过程之前,需要对输入的土地利用类型进行一些绘制,以便后续的修改。LU_MODIS21函数定义了绘制的土地类型、标签与对应色标,我们使用时,直接引用LU_MODIS21()即可返回。其实很简单,只要将你拥有的土地类型数据提取出来,将原本函数中的labels和C切片,重新定义色标再绘制即可。在这里,我将以北极地区为例,绘制北极地区的WRF下垫面数据,我使用的MODIS21这类。

weixin_43750300的博客 3859

Android音频学习(一)——音频基础

在系统的学习Android音频之前,先了解音频的基础知识。

miemie2014的博客 1484

fastText 文本分类

fastText文本分类什么是文本分类?安装使用fastText参考文献 文本分类   文本分类是许多应用程序的核心问题,如垃圾邮件检测,情绪分析或智能回复。 在本教程中,我们将介绍如何使用fastText工具构建文本分类器。 什么是文本分类?   文本分类的目标是将文档(例如电子邮件,帖子,文本消息,产品评论等)分配给一个或多个类别。 这些类别可以是评论分数,垃圾邮件vs. 非垃圾邮件或输入文档...

Transfer 664

深入解析AndroidManifest.xml与device_admin.xml:打造完美DeviceOwner应用配置

本文深入解析了Android企业级开发中DeviceOwner应用的核心配置文件AndroidManifest.xml与device_admin.xml。详细阐述了如何精准声明DeviceAdminReceiver、定义管理策略,并提供了通过ADB命令进行设置与验证的实战指南,帮助开发者构建权限完整、配置正确的设备所有者应用。

ice55的博客 680

fastText代码实战篇——手把手教你使用fastText实现文本分类

前言 上一篇文章中,我们对fastText的原理进行了介绍,fastText原理篇,接下来我们进行代码实战,本文中使用fastText对新闻文本数据进行文本分类。 fasttext是facebook开源的一个词向量与文本分类工具,在学术上没有太多创新点,好处是模型简单,训练速度非常快。简单尝试可以发现,用起来还是非常顺手的,做出来的结果也不错,可以达到上线使用的标准。 简单说来,fastText做的事情,就是把文档中所有词通过lookup table变成向量,取平均之后直接用线性分类器得到分类结果。f

weixin_42310668的博客 1万+

AD21导出gerber文件

文件–>制造输出–>Gerber Files 文件–>制造输出–>Gerber Files 通用、光圈和高级跟第一步一样 3.文件–>制造输出–>NC Drill Files 这个默认就可以了 主要参考视频来自bilibili添加链接描述 此篇博客主要是写给自己好记的,无其他商业用途 ...

新手小杨 1万+

基于Blender的AI插件——2D图片生成3D模型

只需5分钟即可从图片到可编辑3D模型,支持Blender全版本兼容。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2576

2.文本分类——fastText模型

文章目录一、fastText简介二、fastText模型架构三、层次softmax四、 N-Gram特征五、 使用fastText进行文本分类实践六、 参考 一、fastText简介 fastText算法是一种有监督的模型,与《前篇》中的CBOW架构很相似。《前篇》中的CBOW,通过上下文预测中间词,而fastText则是通过上下文预测标签(这个标签就是文本的类别,是训练模型之前通过人工标注等方...

qq_38293297的博客 3051

【WRF-Chem教程-附录B】使用 MOZART 与WRF-Chem

使用MOZART与WRF-Chem

WW、forever的博客 242
上一篇: 多nginx配置
下一篇: SpringBoot连接redis
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值