中英文分词
t-baby
前面两章都反复提到了分词,甚至相关算法都很依赖分词,那么分词是什么呢?这里的分词可不是英语中那个“具有动词及形容词二者特征的词”哦,而且是切切实实的将一个句子拆分成词。
我们在收集数据的时候常常会碰到一个问题,那就是如何处理人话(自然语言),人说的是人话,自然在网上也是使用人话交流,你总不可能让用户写着代码交流吧?发一句“你好,今天天气不错”要写成“{"你好",",","今天","天气","不错"}”,我想这回是个噩梦吧。
我们经常在大数据中讲数据挖掘,挖掘出数据中的潜在价值,然而数据挖掘最重要的就是要先让计算机理解人话,就跟我们小时候学说话写字一样,先从词学起然后将词根据固定的语法组装成句子。所谓分词其实就是反其道而行,将组装好的一句话拆成不同的词再进行分词什么是主语、宾语、哪些是名词、哪些又是形容词。
比如我们看到“小明讨厌黑色的杯子”,正常人看到后都能很快知道小明讨厌黑色的杯子。对于计算机来说就必须先将这个句子拆开来:
小明/讨厌/黑色/的/杯子
比如说百度贴吧在输入跟广告有关的词语时就会在这个帖子回复的下一层显示出相关的广告,也被一众贴吧网友称为“大召唤术”。
图片
图片
这就是一个典型的利用分词达到的功能,通过将用户的帖子标题和内容进行分词,然后根据分词结果看看有没有词是属于广告列表然后进行推荐。
每一种语言基本都有自己的分词方式,这里就只讲解中文和英文。中文和英文一定要分开来讲解,甚至可以说中文是最难分词的语言之一。
英文分词
由于英语的基本组成单位就是词,所以相对来说简单很多。
大致分为三步:
根据空格拆分单词
排除停止词(Stop Word)
提取词干(Stemming)
1、根据空格拆分单词
这一步是是最简单的一步,英语的句子基本上就是由标点符号、空格和词构成,那么只要根据空格和标点符号将词语分割成数组即可。
如“Nobody knows how anc…