词袋模型

在语言处理中,用向量x表示文本数据,以反映文本的各种语言属性,这称为特征提取或特征编码;而词袋模型Bag-of-words(简称BoW)就是一种可以 / 以多种方式 / 从文档中 / 对文本数据 / 进行特征提取 / 的方法。

词袋是文本的表示,它涉及两件事:(1)已知单词的词汇;(2)衡量已知单词的存在。 词袋被称为单词的“ 包 ”,因为它仅关注文档中是否出现已知单词,而关于文档中单词的顺序或结构的任何信息都被丢弃

词袋模型提取句子和文档的特征,提取过程即“查看文本中单词的直方图,即将每个单词计数视为一个特征”。如果文档具有相似的内容,则文档是相似的,并且,仅从内容中我们可以了解文档的含义。这个词袋可以像你想的那样简单或复杂,复杂性在于决定 (1)如何设计已知单词(或标记)的词汇;(2)如何对已知单词的存在进行评分。

E.g.

(1)四个 “文档” 构成的 “文档集”

It was the best of times
It was the worst of times
It was the age of wisdom
it was the age of foolishness

(2)将“文档集”包含的“所有独特的单词”(忽略大小写和标点符号)定义成一个“词表”

“It”
“was”
“the”
“best”
“of”
“times”
“worst”
“age”
“wisdom”
“foolishness”

(3)将每个“文档”转换成一个“向量”(这个向量的维度与词表的大小一致)

词表有10个单词,用固定长度为10的向量表示文档集。
在向量中有一个位置来对每个单词进行评分。
最简单的评分方法是将单词的存在标记为布尔值,0表示缺席,1表示存在。
其他的简单评分方法包括:
(1)计数,计算 每个单词在文档中出现的 次数 ;
(2)频率,计算文档中所有单词中 每个单词出现在文档中的 频率。
    
“It was the best of times” = [1, 1, 1, 1, 1, 1, 0, 0, 0, 0]
“It was the worst of times” = [1, 1, 1, 0, 1, 1, 1, 0, 0, 0]
“It was the age of wisdom” = [1, 1, 1, 0, 1, 0, 0, 1, 1, 0]
”it was the age of foolishness” = [1, 1, 1, 0, 1, 0, 0, 1, 0, 1]

(4)“文档集”变大时,“词表”变大,但每条“文档”包含的“词”并不多,这导致表示文档的向量有很多0值,称为稀疏向量或稀疏表示

克服文档稀疏表示的一些简单的文本清理技术:
    忽略案例
    忽略标点符号
    忽略不包含太多信息的常用词,称为停用词,如“a”,“of”等
    修复拼写错误的单词
    使用词干算法将单词减少到词干(e.g. “play” from “playing”) 
--------------------------------------------------------------
创建分组词的词表
该方法既改变了词汇表的范围,又允许“词袋 从文档中捕获更多的含义”。
此时,每个单词或标记称为“gram”,如创建双字对词表称为2-gram模型。
通常一个简单的2-gram方法比1-gram词袋模型更好。

“It was the best of times” 的2-gram如下:
    “it was”
    “was the”
    “the best”
    “best of”
    “of times”
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值