微信扫一扫打赏支持

《python深度学习》笔记---6、理解 n-gram 和词袋

《python深度学习》笔记---6、理解 n-gram 和词袋

一、总结

一句话总结:

【不保存顺序的分词方法】:词袋是一种不保存顺序的分词方法(生成的标记组成一个集合,而不是一个序列,舍 弃了句子的总体结构),因此它往往被用于浅层的语言处理模型,而不是深度学习模型。
二元语法(2-grams)集合:{"The", "The cat", "cat", "cat sat", "sat",   "sat on", "on", "on the", "the", "the mat", "mat"}

 

 

1、句子“The cat sat on the mat.”(“猫坐在垫子上”) 上的二元和三元词袋模型?

二元语法(2-grams)集合:{"The", "The cat", "cat", "cat sat", "sat",   "sat on", "on", "on the", "the", "the mat", "mat"}
三元语法(3-grams)集合:{"The", "The cat", "cat", "cat sat", "The cat sat",   "sat", "sat on", "on", "cat sat on", "on the", "the",   "sat on the", "the mat", "mat", "on the mat"}

 

 

2、词袋模型的使用场景?

【词袋不适合深度模型】:词袋是一种不保存顺序的分词方法(生成的标记组成一个集合,而不是一个序列,舍 弃了句子的总体结构),因此它往往被用于浅层的语言处理模型,而不是深度学习模型。
【一些浅层网络中是特别好的特征工程工具】:但一定要记住,在使用轻量级的浅层文本处理模型时(比 如 logistic 回归和随机森林),n-gram 是一种功能强大、不可或缺的特征工程工具。

 

 

 

二、理解 n-gram 和词袋

博客对应课程的视频位置:

 

理解 n-gram 和词袋 n-gram 是从一个句子中提取的 N 个(或更少)连续单词的集合。这一概念中的“单词” 也可以替换为“字符”。

下面来看一个简单的例子。考虑句子“The cat sat on the mat.”(“猫坐在垫子上”)。它 可以被分解为以下二元语法(2-grams)的集合。
{"The", "The cat", "cat", "cat sat", "sat",   "sat on", "on", "on the", "the", "the mat", "mat"}

这个句子也可以被分解为以下三元语法(3-grams)的集合。
{"The", "The cat", "cat", "cat sat", "The cat sat",   "sat", "sat on", "on", "cat sat on", "on the", "the",   "sat on the", "the mat", "mat", "on the mat"}

这样的集合分别叫作二元语法袋(bag-of-2-grams)及三元语法袋(bag-of-3-grams)。这里袋(bag)这一术语指的是,我们处理的是标记组成的集合,而不是一个列表或序列,即标记没有特定的顺序。这一系列分词方法叫作词袋(bag-of-words)

 

词袋是一种不保存顺序的分词方法(生成的标记组成一个集合,而不是一个序列,舍 弃了句子的总体结构),因此它往往被用于浅层的语言处理模型,而不是深度学习模型。提 取 n-gram 是一种特征工程,深度学习不需要这种死板而又不稳定的方法,并将其替换为分 层特征学习。本章后面将介绍的一维卷积神经网络和循环神经网络,都能够通过观察连续的 单词序列或字符序列来学习单词组和字符组的数据表示,而无须明确知道这些组的存在。因 此,本书不会进一步讨论 n-gram。但一定要记住,在使用轻量级的浅层文本处理模型时(比 如 logistic 回归和随机森林),n-gram 是一种功能强大、不可或缺的特征工程工具。

 
posted @ 2020-10-12 23:07  范仁义  阅读(541)  评论(0编辑  收藏  举报