Bow

来源:互联网 发布:手写情书软件 编辑:程序博客网 时间:2024/06/04 17:49

Reference website : http://blog.csdn.net/android_ruben/article/details/78238483
1.已知词汇
2.对已知词汇进行表示

步骤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.创建文档向量
eg : “It was the best of times“

it” = 1“was” = 1the” = 1“best” = 1of” = 1times” = 1“worst” = 0“age” = 0“wisdom” = 0“foolishness” = 0

vector:
[1, 1, 1, 1, 1, 1, 0, 0, 0, 0]

管理词汇表

随着文档的不断增长,词汇表的增长将会导致文档向量不断的增长,表现为文档向量的维度不断增加。
设想要为大量的书籍建立词袋模型,那么词汇表将会变得非常的大,文档向量将会变得相当的长。当往往一本书中其实通常使用到的词汇表是非常小的,这就会导致一本书的表示向量中存在大量的0.这样的向量称为稀疏向量或者叫稀疏表示。

稀疏的向量将会在计算的时候耗费大量的计算资源和内存,所以减小词汇表大小就成为了急切需要解决的问题了。

下面介绍了一些简单的减小词汇表的方法:

忽略大小写
忽略标点符号
去除无意义的词,比如a the of
修正拼写错误
取出时态
一种复杂的方法就是对词进行聚合。这个方法能够得到文档一些语义信息,但也面临这词袋模型面临的同样问题。
这个方法叫做:N-元模型。N表示聚合的词个数,比如2就表示2个2个聚合在一起,叫做2元模型。
比如说“It was the best of times”,经过2元模型处理之后表示如下:

“it was”
“was the”
“the best”
“best of”
“of times”
N元模型比词袋模型在某些任务表现得更好,比如文档分类,但也在某些情况下带来麻烦。

词的权重评定

当文档向量确定之后,就需要给每一个词的权重进行评估了。
首先介绍2个概念:

出现次数:词在一个文档中出现的次数
出现频率:词在一个文档中出现的次数除以文档中的词总数
1.词的哈希

在计算机科学中,通常使用哈希方程将大的数值空间转换为固定范围的数值。比方说将名字转换为数字以方便查找。
我们可以把词汇表中的词进行哈希表示,这样就解决了大量文档和词汇表太长的问题。因为我们可以把词汇表种的每一个词都表示成固定长度的哈希表示。这个方法存在的问题就是要尽可能的减小碰撞。

2.TF-IDF

TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

词袋模型的局限性

虽然词袋模型简单易用并且在实际应用中取得了很大的成功,但是词袋模型本身也具有局限性:

词汇表的构建:词汇表的建立和维护都值得考量,不合理的词汇表将导致文档表示向量的稀疏问题显著。
稀疏问题:词袋模型有一个原生问题就是向量的稀疏,这将对计算资源和推理带来巨大的挑战
语义:因为词袋模型没有考虑到语序,但是往往语序又蕴含着不同的语义信息。比如“this is interesting” vs “is this interesting”,不同的语序代表的语义是不同的。

原创粉丝点击