文本表示分类(基于表示方法)
- 离散表示
- one-hot表示
- 词袋模型与TF-ID
- 分布式表示
- 基于矩阵的表示方法
- 降维的方法
- 聚类的方法
- 基于神经网络的表示方法
- NNLM
- CBOW
- Skip-gram
- GloVe
- ELMo
- GPT
- BERT
- 基于矩阵的表示方法
目录
2.2.3 word2vec(CBOW和Skip-Gram)存在的问题
本博客总结到2014年GloVe,全部都是对于word embedding的总结,近写年的文本表示总结会在下篇呈现。
一、文本离散表示
1.1 文本离散表示:one-hot
单独讲one-hot挺简单的,我就把One-Hot Encoder独热编码、Label Encoder标签编码、Binary Encoder二进制编码,合起来写了一篇博客:https://blog.csdn.net/qq_35883464/article/details/90573416
1.2 文本离散表示:词袋模型与TF-IDF
1.2.1 词袋模型(bag of words)
这个很简单就少用些笔墨
词袋模型是一种非常经典的文本表示。顾名思义,它就是将字符串视为一个 “装满字符(词)的袋子” ,袋子里的 词语是随便摆放的。而两个词袋子的相似程度就以它们重合的词及其相关分布进行判断。
词袋模型的优点
- 简单,方便,快速
- 在语料充足的前提下,对于简单的自然语言处理任务效果不错。如文本分类。
词袋子模型的缺点
- 其准确率往往比较低。凡是出现在文本中的词一视同仁,不能体现不同词在一句话中的不同的重要性。
- 无法关注词语之间的顺序关系,这是词袋子模型最大的缺点。如“武松打老虎”跟“老虎打武松”在词袋子模型中是认为一样的。
1.2.2 对词袋模型的改进:TF-IDF
- 不仅考虑词语是否出现,还考虑其出现的次数或者频率(TF)
“的”这个次占了词频的很大的比重,而它对确定文本信息几乎没什么用。所以我们应该忽略掉这些词,取消掉它们的影响。一种方法是维护一个停用词表。但这种方式太粗暴。
改进方式:一个词预测主题的能力越强(与主题的关联程度),权重越大,反之,权重越小。
在网页中看到“原子能”这个词,或多或少能够了解网页的主题,而看到“应用”一词,则对主题基本上还是一无所知。因此,“原子能”的权重应该比应用大。
容易发现,如果一个关键词只在很少的网页出现,通过它就容易锁定搜索目标,它的权重也就应该比较大。反正,如果一个词在大量的网页中出现,看到它仍然不清楚要找什么内容,因此它的权重应该小。
- 统计逆文档频率(IDF)
不仅考虑这个词在当下文本的出现的概率,还考虑出现该词语的文档占总文档出现的频率(DF)。
其基本假设是如果一个词语在不同的文档中反复出现,那么它对于识别该文本并不重要。如高频词“我们”、“那么”之类。
严格来说,逆文档频率的公式为-log(出现该词语的文档占总文档出现的频率)
这里具体不做TF-IDF的公式讲解。