天池文本分类比赛-task3

2 篇文章 0 订阅
2 篇文章 0 订阅

天池文本分类比赛

在这里插入图片描述

task3 基于机器学习的文本分类

通过对本次文本分本分类任务的学习和CS224n的第一课的学习,对于文本处理中word2vec的方法有了更加深入的理解。

  • https://github.com/datawhalechina/team-learning-nlp/blob/master/NewsTextClassification/Task3%20%E5%9F%BA%E4%BA%8E%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%96%87%E6%9C%AC%E5%88%86%E7%B1%BB.md
  • https://www.bilibili.com/video/BV1s4411N7fC?t=1558
  • https://zhuanlan.zhihu.com/p/32829048

鉴于这是对文本任务处理的流程了解的task,我就谈谈自己对于这个任务现实中处理方式的理解。由于文本任务,不管是中英文, 还是别的外语,都无法作为数据直接送给SVM或则会深度学习分类器来处理,比如对数据进行数字化,通过定量的学习,才能完成最后的分类,生成,翻译, 对话等任务。那如何对于数据进行数据化就是我们这次任务的重点。

1. bag of word

词袋模型,就是把所有的单词统计出来,假设一共有N个不同的单词,那么每个单词就是一个N维的one-hot向量。语料中的句子就是所有单词对应向量的加和。

	句子1:我 爱 北 京 天 安 门
	句子2:我 喜 欢 上 海

	#每个字的one-hot表示
	我:[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
	爱:[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
	
	#句子表示
	句子1:我 爱 北 京 天 安 门
	转换为 [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0]

这个实现可以直接调用sklearn中的 from sklearn.feature_extraction.text import CountVectorizer

2. N-gram

N-gram是一种基于统计语言模型的算法,基本思想是将文本里面的内容按字节进行大小为N的滑动窗口的操作,形成了长度为N的字节片段序列。

所以很关键的地方就是关于N的大小的选择

  • n取较大值:
    对下一个词的约束信息更多,更大的辨别力,但是更稀疏,N-gram的总数也更多。
  • n取较小值:
    语料中出现的次数更多,更可靠的统计结果,更高的可靠性,但是更少的约束信息
3. TF-IDF

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术,常用于挖掘文章中的关键词,而且算法简单高效,常被工业用于最开始的文本数据清洗。

	TF(t)= 该词语在当前文档出现的次数 / 当前文档中词语的总数
	IDF(t)= log_e(文档总数 / 出现该词语的文档总数)

TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。所以,自动提取关键词的算法就很清楚了,就是计算出文档的每个词的TF-IDF值,然后按降序排列,取排在最前面的几个词

TF-IDF的优点是简单快速,而且容易理解。缺点是有时候用词频来衡量文章中的一个词的重要性不够全面,有时候重要的词出现的可能不够多,而且这种计算无法体现位置信息,无法体现词在上下文的重要性。如果要体现词的上下文结构,那么可能需要使用word2vec算法来支持。

以上就是本次的内容了。总结一下,这次学习了三种文本处理方法:

  • bag of Word
  • N-gram
  • TF-IDF

其中的很多细节都是很值得深入学习的,后续有时间很另开一个专栏分享自己的心得。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值