更新时间:2022-08-26 来源:黑马程序员 浏览量:
文本预处理一般包括分词、词形归一化、删除停用词,下面针对文本预处理的流程进行具体介绍。
1.文本分词
文本分词是预处理过程中必不可少的一个操作,它可以分为两步:第一步是构造词典,第二步是分词算法的操作。其中,词典的构造比较流行的是双数组的trie树,分词算法常见的主要有正向最大匹配、双向最大匹配、语言模型方法、最短路径算法等。
目前文本分词已经有很多比较成熟的算法和工具,在网上可以搜索到很多,本书使用的是NLTK库和jieba库,分别用作英文和中文的分词操作。
2.词形归一化
基于英文语法的要求,文档中经常会使用单词的不同形态,比如live、lives(第三人称单数)、living(现在分词),另外,也存在大量意义相近的同源词,比如able、unable、disability。如果希望只输入一个词,就能够返回它所有的同源词文档,那么这样的搜索是非常有用的。
词形归一化包括词干提取和词形还原,它们的目的都是为了减少曲折变化的形式,将派生词转化为基本形式。例如:
am,are,is-be
cars,car's,car's-car
不过,词干提取和词形还原所代表的意义不同,前者通常是一个很粗略的去除单词两端词缀的过程,而后者是指利用词汇表和词形分析去除曲折的词缀,以返回词典中包含的词的过程。
3.删除停用词
删除停用词也是比较重要的,主要是因为并不是文本中的每个单词或字符都能够表明文本的特征,比如说“the”“的”“你”“I”“他”等,这些词应该从文本中清除掉。可以在网上下载一份中文或英文的停用词表来作为去停用词的参考。