一、英文分词
1、根据空格拆分单词(split)
2、删除停止词
3、提取词干(最终得到特征的一步token、 term)
例子:Machine learning is a field of computer science that uses statistical techniques to givecomputer systems the ability to learn from data.
步骤1:英文由标点符号、空格、单词组成,所以只用根据空格和标点符号将词语分开。
步骤2:删除停止词
停止词: stop words
在英文中 is a of that to with from
使用频率比较高的词语,实际上是冠词、介词、连词,如果将这些词语都放入模型当中进行训练,那么会大幅度影响模型的训练效率。
(machine, learning, field, computer, science, uses, statistical, techniques, systems,ability, learn, data}
步骤3:提取词干
这一步主要针对的是西方语言来说的(英语、拉丁语、法语等等)。用以上例子来说,learning, learn包含了相同的词干learn,所以在大多数提取特征的方法中,会将learn和learning合并为- -一个term。(machine, learn, field, computer, science, use, statistical, technique, system, ability,data }
二、中文分词
和英文不同,中文语句是由连续的字符组成序列后呈现的,没有像英文一样的分隔符,所以相对来说,中文分词要稍微的困难一些。
一句没有标点符号的句子,如果加上的标点符号不同,意思千差万别。
例子: 无米面也可无鸡鸭也可无鱼肉也可无银钱也可
无米面也可,无鸡鸭也可,无鱼肉也可,无银钱也可。
无米,面也可;无鸡,鸭也可;无鱼,肉也可;无银,钱也可。
对于目前的中文分词来说,许多网络用语也比较难以分割。不明|觉|厉。
在python当中,我们使用了jieba分词。
jieba分词的原理
1、基于trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图DAG;
2、采用动态规划查找最大路径、找出基于词频的最大切分组合。
3、对于未登录词,采用了基于HMM或者最大熵模型等来实现分词。
网友评论