如我们所见,spaCy生成一个包含每个标记作为单独项目的列表 。请注意,它已经认识到诸如之类的收缩实际上不应代表两个不同的词,因此已将它们分解为两个不同的标记 。首先,我们需要加载语言词典,在上面的示例中,我们使用English()类加载英语词典并创建nlp nlp对象 。“ nlp”对象用于创建具有语言注释和各种nlp属性的文档 。
创建文档后,我们将创建令牌列表 。如果需要,我们还可以将文本分为句子而不是单词 。这称为句子标记化 。在执行句子标记化时,标记化程序会查找介于句子之间的特定字符,例如句点,惊叹号和换行符 。对于句子标记化,我们将使用预处理管道,因为使用的句子预处理spaCy包括标记器,标记器,解析器和实体识别器,我们需要访问它们才能正确识别什么是句子,什么不是 。
在下面的代码中,spaCy标记文本并创建一个Doc对象 。这个Doc对象使用我们预处理管道的组件标记器,解析器和实体识别器将文本分解为组件 。从该管道中,我们可以提取任何组件,但是在这里,我们将使用该sentencizer组件访问句子标记 。同样,spaCy已将文本正确解析为所需的格式,这一次输出了在源文本中找到的句子列表 。
清理文本数据:删除停用词我们使用的大多数文本数据将包含许多实际上对我们没有用的单词 。这些称为停用词的词在人类语音中很有用,但对数据分析没有多大帮助 。删除停用词可以帮助我们消除文本数据中的杂音和干扰,还可以加快分析时间(因为要处理的词更少) 。让我们看看spaCy默认情况下包含的停用词 。我们将spaCy其英语模型中的停用词导入并分配给名为的变量,spacy_stopwords以便我们进行查看 。
如我们所见,spaCy的默认停用词列表包括312个条目,每个条目都是一个单词 。我们还可以看到为什么其中许多单词对数据分析没有用处 。例如,尽管如此,过渡词对于理解句子的基本含义并不是必需的 。而诸如“ 某人”之类的词太含糊,以至于无法用于NLP任务 。如果需要,我们还可以创建自己的自定义停用词列表 。
但是出于我们在大数据分析Python中spaCy文本分类使用教程中的目的,spaCy提供的默认列表会很好 。从我们的数据中删除停用词现在我们有了停用词列表,让我们使用它从上一部分中正在研究的文本字符串中删除停用词 。我们的文本已经存储在变量中text,因此我们不需要再次定义它 。相反,我们将创建一个名为的空列表filtered_sent,然后遍历doc变量以查看源文本中每个标记化的单词 。
spaCy包括一堆有用的标记属性,我们将使用其中的一个is_stop来识别不在停用词列表中的单词,然后将它们附加到filtered_sent列表中 。不难理解为什么停用词会有所帮助 。删除它们将我们的原始文本简化为仅几个单词,这使我们对句子正在讨论的内容有了一个很好的了解:学习数据科学,并在此过程中避免挑战和挫折 。
词汇规范化词典标准化是文本数据清除过程中的又一步 。总体而言,归一化将高维特征转换为适合任何机器学习模型的低维特征 。出于这里的目的,我们只考虑lemmatization,即一种处理单词以使其根源减少的方法 。合法化合法化是一种处理以下事实的方法:尽管connect,connection,connecting,connected等词并不完全相同,但它们都具有相同的基本含义:connect 。
拼写上的差异在口语中具有语法功能,但是对于机器处理,这些差异可能会造成混淆,因此我们需要一种方法来将所有单词形式的单词connect变成单词connect self 。一种执行此操作的方法称为“ 阻止” 。词干涉及简单地去除容易识别的前缀和后缀,以产生通常是单词最简单的版本 。例如,连接将删除-ion后缀,并正确地减小以连接 。
推荐阅读
- 三十六计详解是什么游戏,《三十六计》技能优化
- 网络交换机连接图,张图详解交换机
- 洪门崛起什么是觉醒,剑灵洪门崛起人魂合一技能提升详解
- 仙域给力金元宝怎么获得,同心共济《永恒仙域》仙盟系统详解
- 攻城掠地今天维修什么时候,武神赵子龙攻城掠地玩法详解
- 一文了解青山控股,青山实业
- 龙皇带什么传说装备,传说套对比详解
- 传奇魔龙爆什么,热血传奇魔龙城物资玩法详解
- 一文看懂深度学习,深度学习算法
- 详解以及2038问题的解决方案,2038年