通过前面几个小节的学习,我们现在已经学会了如何获取文本预料,然后分词,在分词之后的结果上,我们可以提取文本的关键词查看文本核心思想,进而可以通过可视化技术把文档从视觉的角度表达出来。
下面,我们来看看,文本数据如何转换成计算机能够计算的数据。这里介绍两种常用的模型:词袋和词向量模型。
词袋模型(Bag of Words Model)
词袋模型的概念
先来看张图,从视觉上感受一下词袋模型的样子。
词袋模型看起来好像一个口袋把所有词都装进去,但却不完全如此。在自然语言处理和信息检索中作为一种简单假设,词袋模型把文本(段落或者文档)被看作是无序的词汇集合,忽略语法甚至是单词的顺序,把每一个单词都进行统计,同时计算每个单词出现的次数,常常被用在文本分类中,如贝叶斯算法、LDA 和 LSA 等。
动手实战词袋模型
(1)词袋模型
本例中,我们自己动手写代码看看词袋模型是如何操作的。
首先,引入 jieba 分词器、语料和停用词(标点符号集合,自己可以手动添加或者用一个文本字典代替)。
import jieba
#定义停用词、标点符号
punctuation = [",","。", ":", ";", "?"]