当前位置: 首页 > 编程笔记 >

在Python中使用NLTK删除停用词

吉和同
2023-03-14
本文向大家介绍在Python中使用NLTK删除停用词,包括了在Python中使用NLTK删除停用词的使用技巧和注意事项,需要的朋友参考一下

当计算机处理自然语言时,某些极端通用的单词似乎在帮助选择符合用户需求的文档方面几乎没有值,因此完全从词汇表中排除了。这些单词称为停用词。

例如,如果您输入的句子为-

John is a person who takes care of the people around him.

停止单词删除后,您将获得输出-

['John', 'person', 'takes', 'care', 'people', 'around', '.']

NLTK收集了这些停用词,我们可以将其从任何给定的句子中删除。这在NLTK.corpus模块内部。我们可以用它来过滤掉句子中的停用词。例如,

示例

from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize

my_sent = "John is a person who takes care of people around him."
tokens = word_tokenize(my_sent)

filtered_sentence = [w for w in tokens if not w in stopwords.words()]

print(filtered_sentence)

输出结果

这将给出输出-

['John', 'person', 'takes', 'care', 'people', 'around', '.']
 类似资料:
  • 问题内容: 我正在尝试从文本字符串中删除停用词: 我正在处理600万这种字符串,因此速度很重要。分析我的代码,最慢的部分是上面的几行,是否有更好的方法来做到这一点?我正在考虑使用正则表达式之类的东西,但我不知道如何为一组单词写模式。有人可以帮我忙吗,我也很高兴听到其他可能更快的方法。 注意:我尝试过有人建议用来包裹,但这没什么区别。 谢谢。 问题答案: 尝试缓存停用词对象,如下所示。每次调用函数时

  • 本文向大家介绍在python中使用NLTK标记文本,包括了在python中使用NLTK标记文本的使用技巧和注意事项,需要的朋友参考一下 给定一个字符序列和一个定义的文档单元,令牌化就是将其切成碎片(称为令牌)的任务,也许同时丢掉某些字符(例如标点符号)。在nltk和python的上下文中,这仅仅是将每个标记放入列表的过程,因此我们可以遍历一个标记,而不是一次遍历每个字母。 例如,给定输入字符串-

  • 问题内容: 我想从“ tweets”列中删除停用词。如何遍历每一行和每一项目? 问题答案: 使用列表理解 返回值:

  • 问题内容: 我正在学习使用NLTK的自然语言处理。我遇到了使用给定代码无法理解其实际用途的代码。代码给出: 所以,为什么我们要使用PunktSentenceTokenizer。以及标记为A和B的行中发生的情况。我的意思是,有一个训练文本,另一个为示例文本,但是需要两个数据集来获取语音部分标记。 我无法理解的标记为和的行。 PS:我确实尝试看过NLTK书,但无法理解PunktSentenceToke

  • 问题内容: Python的string.whitespace很棒: 如何在不使用手动输入regex的’\ t | \ n | …等的情况下将其与字符串一起使用? 例如,它应该能够显示:“请\ n不要\ t伤害我。 进入 “请不要伤害我。” 我可能想保留单个空格,但是我想只要去string.whitespace [:-1]就足够了。 问题答案: 正是这种用例有一个特殊情况的快捷方式! 如果不带参数调

  • 问题内容: 是否可以使用正则表达式删除文本中的小词?例如,我有以下字符串(文本): 我想删除所有不超过3个字符的单词。结果应为: 使用正则表达式或任何其他python函数可以做到吗? 谢谢。 问题答案: 当然,这也不难: 上面的表达式选择任何以某些非单词字符开头的单词(本质上是空格或开头),其长度在1-3个字符之间,并以单词边界结尾。 该边界的比赛是很重要的位置,他们保证你不匹配只是一个字的第一个