Python3使用fastText进行文本分类新闻分类

发布于:2024-10-24 编辑:匿名 来源:网络

背景?我们可以使用标准多核CPU在不到十分钟的时间内训练fastText,并在不到一分钟的时间内对K类中的50万个句子进行分类。首先引用论文中的一段话,看看作者是如何评价fasttext模型的性能的。

本文的模型非常简单。之前了解过word2vec的同学可以发现它和CBOW的模型框架非常相似。

,例如,输入是一个句子,结果是该句子的单词或n-gram。每一个对应一个向量,然后对这些向量求平均得到文本向量,然后用平均向量得到预测标签。

当数量不多时,就是最简单的softmax;当标签数量巨大时,使用“hierarchical softmax”。该模型非常简单,没有什么可说的。

提一下论文中的两个trick:“hierarchical softmax”,当类别较多时,构建一个Huffman编码树来加速softmax层的计算,这和word2vec中之前的trick是一样的。 “N-gram特征”只使用unigram,否则会丢失词序信息,所以我们通过添加N-gram特征来补充,并使用哈希来减少N-gram的存储。

介绍。本博客将简单记录一下使用python版本的fastText对不同类别的新闻进行分类,中间会用到口吃分词。

,用pandas进行数据处理。可以使用清华大学的新闻数据。

安装取决于Python版本: 3.6 安装stutter分词和fasttext代码语言: javascript copy pip install jiebapip install fasttext分词处理 分词过程中,一些常用的停用词会被删除。对于停用词,可以使用 jiebaimport pandas as pdimport codecsimport mathimport randomstopwords_set = set( )basedir = '/Users/derry/Desktop/Data/'# 分词结果文件 train_file = codecs.open(basedir + "news.data.seg .train", 'w', 'utf-8')test_file = 编解码器。

open(basedir + "news.data.seg.test", 'w', 'utf-8')# 停止词文件 open(basedir + 'stop_text.txt', 'r', encoding='utf-8 ' ) as infile: 对于 infile 中的行: stopwords_set.add(line.strip())train_data = pd.read_table(basedir + 'News_info_train.txt', header=None, error_bad_lines=False)label_data = pd.read_table(basedir + ' News_pic_label_train.txt', header=None, error_bad_lines=False)train_data.drop([2], axis=1, inplace=True)train_data.columns = ['id', 'text']label_data.drop([2, 3 ],axis=1, inplace=True)label_data.columns = ['id', 'class']train_data = pd.merge(train_data, label_data, on='id', how='outer')对于索引,train_data 中的行。 iterrows(): # 结巴分词 seg_text = jieba.cut(row['text'].replace("\t", " ").replace("\n", " ")) Outline = " ".join(seg_text )outline = " ".join(outline.split()) # 去失效词与HTML标签outline_list =outline.split(" ")outline_list_filter = [item for item inoutline_list if item not in stopwords_set]outline = " ". join(outline_list_filter) # 写入 if not math.isnan(row['class']): Outline = Outline + "\t__label__" + str(int(row['class'])) + "\n" train_file.write (outline) train_file.flush() # 划分数据集 # if random.random() > 0.7: # test_file.write(outline) # test_file.flush() # else: # train_file.write(outline) # train_file.flush()train_file.close()test_file.close() 分类预测 当使用fasttext进行训练时,调整参数word_ngrams。

原来的默认值是1,效果可能会更好,但是需要在最后加上bucket=(默认值),否则会出错。我在问题里查了一下。

看来fasttext的Python版本比较旧。如果你使用官方的C++版本就不会出现这种情况。

问题。

Python3使用fastText进行文本分类新闻分类

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 杭州将把创业投资引导基金规模从10亿元扩大到30亿元

    杭州将把创业投资引导基金规模从10亿元扩大到30亿元

    据新华社报道,投资界5月26日消息,为深入实施创新驱动发展战略,充分发挥发挥创业投资促进创新创业的积极作用 杭州市发展改革委、市财政局近日决定,规范杭州市创业投资引导基金运作,扩大引导基金规模从10亿元到30亿元。 杭州市发改委、市财政局联合印发的《杭州市创业投资

    06-18

  • 疯狂的NVIDIA

    疯狂的NVIDIA

    如果要评选年度最热门的公司,NVIDIA一定有一席之地。 2019年生成式AI的爆发,使得一种只在消费电子产品中出现的现象在企业级芯片的采购中很少出现:科技行业的每个人都等待数月并花费大量资金。 购买一个你可能看不到真面目的产品,Nvidia H,这是一款可以在训练 AI 过程中显

    06-18

  • 曹操出行完成38亿元B轮融资,这是今年国内网约车领域首笔股权投资,

    曹操出行完成38亿元B轮融资,这是今年国内网约车领域首笔股权投资,

    据投资界(ID:pedaily)9月6日消息,曹操旅游宣布完成38亿元B轮融资。 人民币。 本轮融资不仅是今年以来网约车公司境内首笔股权投资,也是今年以来网约车旅游公司境内单笔金额最大的融资。 吉利控股集团董事长李书福表示,布局大众出行是吉利科技转型战略的关键举措之一。

    06-18

  • 摩根士丹利或因Facebook上市遭调查

    摩根士丹利或因Facebook上市遭调查

    美国金融业监管局负责人表示,摩根士丹利或面临监管机构调查。 据悉,该分析公司上周在Facebook首次公开募股前向其进行了报告。 机构投资者散布负面消息。 金融业监管局主席及其首席执行官理查德凯彻姆今天在一封电子邮件中表示,如果这些指控属实,将导致投资者对金融业监管

    06-18

  • 刚刚,谷歌又被欧盟罚款113亿人民币

    刚刚,谷歌又被欧盟罚款113亿人民币

    雷锋网消息:北京时间3月20日晚,欧盟反垄断领导人玛格丽特维斯塔格召开新闻发布会,正式宣布谷歌将被罚款14.9亿人民币欧元(约16.9亿欧元)。 因谷歌涉嫌垄断在线搜索广告而被罚款 10 亿美元(1 亿元人民币)。 这是谷歌自2008年以来第三次收到欧盟的反垄断罚款。 在这次会议

    06-18

  • 天山股份利润双双下滑,净利润同比下降7.31%至15.16亿元

    天山股份利润双双下滑,净利润同比下降7.31%至15.16亿元

    天山股份(77.SZ)发布年报。 公司实现营业收入86.92亿元,同比下降10.28%,净利润15.16亿元,同比下降7.31%,加权平均净资产收益率14.26%,基本每股收益1元/股。

    06-18

  • 共享电动汽车再次受到资本青睐, “巴歌旅游”宣布完成2500万元A轮融资,

    共享电动汽车再次受到资本青睐, “巴歌旅游”宣布完成2500万元A轮融资,

    据投资界7月18日消息,新能源汽车分时租赁平台“巴歌出行”宣布完成万元A轮融资。 智行创新领投,联想之星跟投。   巴歌旅游CEO孙杨表示,本轮融资将助力其城市扩张和规模化运营,并将其盈利模式快速复制到全国更多城市。    此前,巴歌出行于今年3月获得宝嘉租车1万元天

    06-18

  • 中国联通将率先推出iPhone 4S,中国电信10月开售传闻已破灭

    中国联通将率先推出iPhone 4S,中国电信10月开售传闻已破灭

    10月8日消息,根据业内人士的爆料以及多家投行的预测,苹果刚刚发布的iPhone 4S在中国大陆仍然有其第一家合作伙伴。 首先是中国联通,其次是中国电信。 预计中国电信将晚于中国联通推出CDMA版iPhone 4S。 此前有关中国电信将在10月份销售iPhone 5的传言自然已经破灭。    此

    06-18

  • 麦当劳不再使用一次性餐具,花了两年时间用婴儿奶瓶材料重新设计 - Feel Good每周

    麦当劳不再使用一次性餐具,花了两年时间用婴儿奶瓶材料重新设计 - Feel Good每周

    Feel Good浠嬬粛鑰愬厠鈥滃緟椋庢潵鈥濓紝闆剁⒊鐗╂祦鍥紑鍚汉璞″拰骞筹紝闇?瑕佲?滆湝铚傗?濆棥鍡′袱澹?016骞翠负楹﹀綋鍔宠璁$幆淇濋鍏佛煉hristopher Raeburn锛氭垜瑙佽瘉浜嗕汉浠鍙寔缁椂灏氭?佸害鐨勮浆鍙橈紝鍥炴敹鏉愭枡琚敤鏉ュ埗浣滈珮绔

    06-21

  • 新锐个人护理品牌“Rock Zoo”连续完成两轮千万美元融资,打造年轻一代生活方式品牌

    新锐个人护理品牌“Rock Zoo”连续完成两轮千万美元融资,打造年轻一代生活方式品牌

    新锐个人护理品牌“Rock Zoo”近日完成融资数千万美元A轮和A+轮融资,其中A轮融资由明讯资本领投,源码资本跟投; A+轮融资由创新工场领投,先锋长青、源码资本、清流资本跟投。 本次募集资金将主要用于研发投入、产品拓展、品牌建设、团队储备和扩张。 Rock Zoo于今年1月开设

    06-17

  • 解码乐居机器人:一支年轻的科技创新团队破茧而出

    解码乐居机器人:一支年轻的科技创新团队破茧而出

    在世界机器人大会上,工信部部长苗圩强调“加快机器人产业发展是机器人产业发展的重要方向”制造业高质量发展。 发展过程中面临诸多问题和挑战。 机器人产业关键核心技术有待进一步提升,应用场景和领域有待进一步拓展。 “我国的机器人产业发展到现在,已经有很多多年掌握核

    06-18

  • 滴滴进军俄罗斯市场,鞑靼斯坦成为走出去的第一站

    滴滴进军俄罗斯市场,鞑靼斯坦成为走出去的第一站

    投资界(ID:pedaily)7月28日消息,据共和国投资发展局官网发布的消息鞑靼斯坦共和国,滴滴最近已聘请司机为喀山市提供出行服务做准备。 喀山将成为滴滴进军俄罗斯市场的第一站。 周五,俄罗斯机密信息网络Avito发布了滴滴在喀山招募司机的通知。 。 通知显示,“孔夫子”公

    06-18