
文本数据:扁平化、过滤和分块
|
43
u'flower'
>>> stemmer.stem('zeroes')
u'zero'
>>> stemmer.stem('stemmer')
u'stem'
>>> stemmer.stem('sixties')
u'sixti'
>>> stemmer.stem('sixty')
u'sixty'
>>> stemmer.stem('goes')
u'goe'
>>> stemmer.stem('go')
u'go'
词干提取确实有一些计算成本,最终的收益能否超过成本要视具体应用而定。值得注意的
是,使用词干提取可能得不偿失。“
new
”和“
news
”具有非常不同的意义,但都会被提取
为“
new
”。同样的例子还有不少。基于这个原因,词干提取并不是非做不可。
3.3
意义的单位
:
从单词
、
n
元词到短语
词袋的概念通俗易懂,但计算机怎么知道什么是一个单词呢?一个文本文档的数字化表示
就是一个字符串,也就是一个字符序列。我们还会遇到一些半结构化文档,比如
JSON
字
符串或
HTML
页面。但即使添加了标记和结构,文本的基本单位还是字符串。我们如何将
字符串转换为一个单词序列呢?这就需要文本的
解析
和
分词
技术,下面就来讨论一下。
3.3.1
解析与分词
当字符串不只包含纯文本时,解析就是必须的。例如,如果原始数据是网页、电子邮件或
某种日志,那么其中就含有其他结构。我们需要确定如何处理标记、头部和尾部,以及日
志中我们不感兴趣的部分。如果文档是个网页,那么解析程序还需要处理 ...