词袋模型在文本向量化中的应用

        自然语言处理不像图像处理,每个像素点都是数值,也可以看做是天然的特征,可以直接代入公式参与各种运算,但是自然语言不行,都是文字,计算机理解不了,计算机只认0/1,不认啊喔额,所以给定一段文本,若对其进行各种处理,比如通过算法自动文本分类,通常需要先把文本表达成机器可以处理的数据类型,也就是将文本中的一个个词或字转变成数字,这样机器才能进行常规的加减乘除各种运算。

        词袋模型Bag of Words(BoW)最早出现在自然语言处理(NaturalLanguage Processing)和信息检索(Information Retrieval)领域。即把一段文本划分成一个个词,想象成将所有词放入一个袋子里,忽略其词序、语法、句法等要素,将其仅仅看作是若干个词汇的集合,文本中每个词的出现都是独立的,不依赖于其他词是否出现。


词袋模型用于构建特征向量

       例如:(1)小明喜欢看电影;(2)小明也喜欢踢足球。这两个句子,可以构建出一个词典,key为这个词的索引序号,value为上文出现过的词。

       { 1:“小明”, 2:“喜欢”,3:“电影”,4:“足球”,5:“看”,6:“踢”,7:“也” }

       那么,上面两个句子用词袋模型表示成向量就是:(1)[1, 1, 1, 0, 1, 0, 0],(2)[1, 1, 0, 1, 0, 1, 1]

       这样就可以使用各种算法进行数学运算了。不过可以看到词序信息已经丢失了。如果每段文本不加任何预处理的都这样映射,那么生成的向量势必将会非常庞大,因为向量长度等于字典长度。所以需要一些额外预处理,下面是一些常用文本预处理方法:

       1.分词与去除停用词。词袋模型的主要思想,是构建各类文本的词典,然后针对每一个文本,计算该文本每个词在词典中对应位置出现的次数。因此词袋模型首要的是分词,这方面有很多开源实现,比如jieba分词。在分词后的结果集中,一般会包含很多停用词,例如:“标点符号”,“的”,“得”等等,这些词汇可以看作无效词,会以噪音的形式影响后续运算,需要去除。一般可以构建停用词库,以配置文件的形式保存起来,分词后调用一下,将停用词过滤掉以得到更精炼的分词结果。

       2.文本特征选择及词典构建。对于长文本文档,在构建词典前有必要通过特征选择方法来选择一批特征词,然后使用这些特征词构建词典,否则构建的词典将会非常庞大,即不利于存储,也不利于后续词频统计运算等。常用的特征选择方法有基尼系数、互信息、信息增益、卡方检验等。通过比较,信息增益和卡方检验两种方法效果较好。以卡方检验为例,一般设置卡方阈值或者词个数阈值,即可在卡方检验运算结果中返回一系列特征词。将全部特征词合并到一起,就构建出了文本词典。

       3.特征词权重计算。词典构建完成后,接下来就可以利用词典将文档映射成向量。一般可以选择one-hot表示的向量及tf-idf表示的向量。所谓one-hot,就是向量中的一维对应于词典中的一项。如果以词频表示,则向量中该维的值即为词典中该单词在文档中出现的频率,那么特征词权重也就是词频。而tf-idf中,tf表示词频,即一个词在文本中出现的频率;idf表示逆文档频率,即一个词在所有文本中出现的频率倒数。因此,一个词在某文本中出现的越多,在其他文本中出现的越少,权重就越大,则这个词能很好地反映文本的内容。与one-hot相比,tf-idf更加准确。但是实际使用时还是因算法和使用场景而异,有时one-hot照样可以取得很好的效果。

       4.向量降维。虽然前面比如采用卡方检验抽取了特征词,降低了词典体积,但是实际生成的向量维度可能仍然非常高,并且数据也非常稀疏,比如词典包含5000个词,那么文档映射后生成的向量将有5000维。此外,一些文本的主题或者说中心思想,并不能很好地通过文本中的词来表示,能真正概括这篇文本内容的词可能没有直接出现在文本中。因此,可以使用LSA(Latent Semantic Analysis,隐性语义分析)模型来分析文本潜在的主题。LSA属于概率主题模型的一种,通过奇异值分解的方法计算出文本中各个主题的概率分布,假设指定100个主题,那么通过LSA模型,文本向量就可以降到100维。由于该模型可以指定要分析的主题数目,所以可以将原始高维向量降到指定维数,大大节省存储空间及计算时间。

       实际应用中上面有些步骤是可选的,至此文本向量化就基本完成了,一段文本映射为一个数学向量,就可以让机器认识并参与各种数学运算了。一个很常见的计算就是相似度计算,比如计算两段文本是否相似,那么首先将文本转成向量,然后通过余弦定理就可以算出来。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • 文本关键词抽取,是对文本信息进行高度凝练的一种有效手段,通过3-5个词语准确概括文本的主题,帮助读者快速理解文本信...
    atLee阅读 22,111评论 8 46
  • 常用概念: 自然语言处理(NLP) 数据挖掘 推荐算法 用户画像 知识图谱 信息检索 文本分类 常用技术: 词级别...
    御风之星阅读 9,169评论 1 25
  • 摘要:机器学习处理文字、语音、图片、视频等任务,很重要的一点就是从原始信息中提取出机器可以理解的特征。一篇文章通常...
    i败火阅读 3,590评论 1 15
  • (五) 信已送到,萧然回到瑶光。 “王上,信已送到。不过我若是他,必不会将信交于执明国主。为何王上……” 慕容黎冷...
    冠翎阅读 264评论 0 3
  • 文||胡思入梦菲 第一世 花叶生生不见 这是曼珠沙华的宿命 情深缘浅,缘浅情深 昔年他是扬州城里翩翩少年 文采飞扬...
    丁渔阅读 324评论 2 13