【学习笔记】自然语言处理实践(新闻文本分类)-|【学习笔记】自然语言处理实践(新闻文本分类)- 基于深度学习的文本分类FastText
Datawhale零基础入门NLP赛事-Task4
- 文本表示方法
- FastText
本笔记是参加Datawhale零基础入门NLP赛事的学习笔记。
文本表示方法 One-hot
Bag of Words
N-gram
TF-IDF
问题:转换得到的向量维度很高,需要较长的训练实践;没有考虑单词与单词之间的关系,只是进行了统计。
FastText 【【学习笔记】自然语言处理实践(新闻文本分类)-|【学习笔记】自然语言处理实践(新闻文本分类)- 基于深度学习的文本分类FastText】FastText是facebook开源的一款集word2vec、文本分类等一体的机器学习训练工具。
- 字符级别的n-gram
fastText使用了字符级别的n-grams来表示一个单词。对于单词“apple”,假设n的取值为3,则它的trigram有:
“”
其中,<表示前缀,>表示后缀。于是,我们可以用这些trigram来表示“apple”这个单词,进一步,我们可以用这5个trigram的向量叠加来表示“apple”的词向量。
好处:1. 对于低频词生成的词向量效果会更好。因为它们的n-gram可以和其它词共享;2. 对于训练词库之外的单词,仍然可以构建它们的词向量。我们可以叠加它们的字符级n-gram向量。
- 分层Softmax
标准的Softmax回归中,要计算y=j时的Softmax概率:,我们需要对所有的K个概率做归一化,这在|y|很大时非常耗时。分层Softmax的基本思想是使用树的层级结构替代扁平化的标准Softmax,使得在计算时,只需计算一条路径上的所有节点的概率值,无需在意其它的节点。
- 模型架构
文章图片
- 基于FastText的文本分类
fastText的核心思想就是:将整篇文档的词及n-gram向量叠加平均得到文档向量,然后使用文档向量做softmax多分类。
fastText在输入时,将单词的字符级别的n-gram向量作为额外的特征;在输出时,fastText采用了分层Softmax,大大降低了模型训练时间。
文章图片
推荐阅读
- 宽容谁
- 我要做大厨
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘