football
自从我们从停用词列表中删除该词以来,该词现在尚未被删除。
结论
在本文中,您看到了可用于从Python中的字符串中删除停用词的不同库。您还看到了如何在各种库提供的默认停用词列表中添加或删除停用词。最后,我们展示了如果您有一个用于删除停用词的自定义脚本,该如何完成。
📅  最后修改于: 2020-08-25 05:21:54             🧑  作者: Mango
在本文中,您将看到在Python中从字符串中删除停用词的不同技术。停用词是指那些自然语言中意义不大的词,例如“是”,“一个”,“该”等。搜索引擎和其他企业索引平台通常会在过滤停用词的同时从数据库中获取结果用户查询。
停用词经常会在训练深度学习和机器学习模型之前从文本中删除,因为停用词大量出现,因此很少或根本没有可用于分类或聚类的唯一信息。
使用Python编程语言,您可以使用多种选择来从字符串中删除停用词。您可以使用几种自然语言处理库之一,例如NLTK,SpaCy,Gensim,TextBlob等,或者如果您需要完全控制要删除的停用词,则可以编写自己的自定义脚本。
在本文中,您将看到许多不同的方法,具体取决于您使用的NLP库。
该NLTK库是最古老和最常用的Python库的自然语言处理的一个。NLTK支持停用词删除,您可以在corpus
模块中找到停用词列表。要从句子中删除停用词,您可以将文本分为多个单词,如果该单词出现在NLTK提供的停用词列表中,则将其删除。
让我们看一个简单的例子:
from nltk.corpus import stopwords
nltk.download('stopwords')
from nltk.tokenize import word_tokenize
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in stopwords.words()]
print(tokens_without_sw)
在上面的脚本中,我们首先stopwords
从nltk.corpus
模块导入集合。接下来,我们word_tokenize()
从nltk.tokenize
类中导入方法。然后text
,我们创建一个变量,其中包含一个简单的句子。text
使用该word_tokenize()
方法将变量中的句子标记化(分为单词)。接下来,我们遍历text_tokens
列表中的所有单词,并检查停用词集合中是否存在该单词。如果停用词集合中不存在该词,则将其返回并附加到tokens_without_sw
列表中。所述tokens_without_sw
然后打印清单。
这是不带停用词的句子的外观:
['Nick', 'likes', 'play', 'football', ',', 'however', 'fond', 'tennis', '.']
你可以看到这样的词语to
,he
,is
,not
,和too
已经从一句删除。
您可以加入上述单词列表来创建不带停用词的句子,如下所示:
filtered_sentence = (" ").join(tokens_without_sw)
print(filtered_sentence)
这是输出:
Nick likes play football , however fond tennis .
您可以根据自己的选择向NLTK中现有的停用词集合添加或删除停用词。在NLTK中删除或添加停用词之前,让我们看一下NLTK支持的所有英语停用词的列表:
print(stopwords.words('english'))
输出:
['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', "you're", "you've", "you'll", "you'd", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', "she's", 'her', 'hers', 'herself', 'it', "it's", 'its', 'itself', 'they', 'them', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom', 'this', 'that', "that'll", 'these', 'those', 'am', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'having', 'do', 'does', 'did', 'doing', 'a', 'an', 'the', 'and', 'but', 'if', 'or', 'because', 'as', 'until', 'while', 'of', 'at', 'by', 'for', 'with', 'about', 'against', 'between', 'into', 'through', 'during', 'before', 'after', 'above', 'below', 'to', 'from', 'up', 'down', 'in', 'out', 'on', 'off', 'over', 'under', 'again', 'further', 'then', 'once', 'here', 'there', 'when', 'where', 'why', 'how', 'all', 'any', 'both', 'each', 'few', 'more', 'most', 'other', 'some', 'such', 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than', 'too', 'very', 's', 't', 'can', 'will', 'just', 'don', "don't", 'should', "should've", 'now', 'd', 'll', 'm', 'o', 're', 've', 'y', 'ain', 'aren', "aren't", 'couldn', "couldn't", 'didn', "didn't", 'doesn', "doesn't", 'hadn', "hadn't", 'hasn', "hasn't", 'haven', "haven't", 'isn', "isn't", 'ma', 'mightn', "mightn't", 'mustn', "mustn't", 'needn', "needn't", 'shan', "shan't", 'shouldn', "shouldn't", 'wasn', "wasn't", 'weren', "weren't", 'won', "won't", 'wouldn', "wouldn't"]
要将单词添加到NLTK停用词集合中,请首先从stopwords.words('english')
列表中创建一个对象。接下来,使用append()
列表中的方法将任何单词添加到列表中。
以下脚本将单词添加play
到NLTK停用词集合中。同样,我们从text
变量中删除所有单词,以查看单词play
是否被删除。
all_stopwords = stopwords.words('english')
all_stopwords.append('play')
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
输出:
['Nick', 'likes', 'football', ',', 'however', 'fond', 'tennis', '.']
输出显示该单词play
已被删除。
您还可以stopwords.words
使用append
方法将单词列表添加到列表中,如下所示:
sw_list = ['likes','play']
all_stopwords.extend(sw_list)
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
上面的脚本将两个单词likes
和添加play
到stopwords.word
列表中。在输出中,您将看不到这两个单词,如下所示:
输出:
['Nick', 'football', ',', 'however', 'fond', 'tennis', '.']
由于stopwords.word('english')
仅是项目列表,因此您可以像其他列表一样从该列表中删除项目。最简单的方法是通过remove()
方法。当您的应用程序需要停用词不被删除时,这很有用。例如,您可能需要将单词保留not
在句子中,以了解否定语句的时间。
以下脚本not
从NLTK的默认停用词列表中删除停用词:
all_stopwords = stopwords.words('english')
all_stopwords.remove('not')
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
输出:
['Nick', 'likes', 'play', 'football', ',', 'however', 'not', 'fond', 'tennis', '.']
从输出中,您可以看到该单词not
尚未从输入句子中删除。
该Gensim库是从Python中的字符串移除停止字另一个非常有用的库。您要做的就是remove_stopwords()
从gensim.parsing.preprocessing
模块中导入方法。接下来,您需要将要删除停用词的句子传递给remove_stopwords()
返回不包含停用词的文本字符串的方法。
让我们看一个简单的示例,该示例说明如何通过Gensim库删除停用词。
from gensim.parsing.preprocessing import remove_stopwords
text = "Nick likes to play football, however he is not too fond of tennis."
filtered_sentence = remove_stopwords(text)
print(filtered_sentence)
输出:
Nick likes play football, fond tennis.
值得一提的是,使用NLTK和Gensim库删除停用词后的输出是不同的。例如,Gensim库将单词视为however
停用词,而NLTK则不认为该单词,因此没有将其删除。这表明,对于停用词是什么和不是停用词,没有硬性规定。这完全取决于您要执行的任务。
在后面的部分中,您将看到如何在Gensim中的现有停用词集合中添加或删除停用词。
让我们首先来看一下Python的Gensim库中的停用词:
import gensim
all_stopwords = gensim.parsing.preprocessing.STOPWORDS
print(all_stopwords)
输出:
frozenset({'her', 'during', 'among', 'thereafter', 'only', 'hers', 'in', 'none', 'with', 'un', 'put', 'hence', 'each', 'would', 'have', 'to', 'itself', 'that', 'seeming', 'hereupon', 'someone', 'eight', 'she', 'forty', 'much', 'throughout', 'less', 'was', 'interest', 'elsewhere', 'already', 'whatever', 'or', 'seem', 'fire', 'however', 'keep', 'detail', 'both', 'yourselves', 'indeed', 'enough', 'too', 'us', 'wherein', 'himself', 'behind', 'everything', 'part', 'made', 'thereupon', 'for', 'nor', 'before', 'front', 'sincere', 'really', 'than', 'alone', 'doing', 'amongst', 'across', 'him', 'another', 'some', 'whoever', 'four', 'other', 'latterly', 'off', 'sometime', 'above', 'often', 'herein', 'am', 'whereby', 'although', 'who', 'should', 'amount', 'anyway', 'else', 'upon', 'this', 'when', 'we', 'few', 'anywhere', 'will', 'though', 'being', 'fill', 'used', 'full', 'thru', 'call', 'whereafter', 'various', 'has', 'same', 'former', 'whereas', 'what', 'had', 'mostly', 'onto', 'go', 'could', 'yourself', 'meanwhile', 'beyond', 'beside', 'ours', 'side', 'our', 'five', 'nobody', 'herself', 'is', 'ever', 'they', 'here', 'eleven', 'fifty', 'therefore', 'nothing', 'not', 'mill', 'without', 'whence', 'get', 'whither', 'then', 'no', 'own', 'many', 'anything', 'etc', 'make', 'from', 'against', 'ltd', 'next', 'afterwards', 'unless', 'while', 'thin', 'beforehand', 'by', 'amoungst', 'you', 'third', 'as', 'those', 'done', 'becoming', 'say', 'either', 'doesn', 'twenty', 'his', 'yet', 'latter', 'somehow', 'are', 'these', 'mine', 'under', 'take', 'whose', 'others', 'over', 'perhaps', 'thence', 'does', 'where', 'two', 'always', 'your', 'wherever', 'became', 'which', 'about', 'but', 'towards', 'still', 'rather', 'quite', 'whether', 'somewhere', 'might', 'do', 'bottom', 'until', 'km', 'yours', 'serious', 'find', 'please', 'hasnt', 'otherwise', 'six', 'toward', 'sometimes', 'of', 'fifteen', 'eg', 'just', 'a', 'me', 'describe', 'why', 'an', 'and', 'may', 'within', 'kg', 'con', 're', 'nevertheless', 'through', 'very', 'anyhow', 'down', 'nowhere', 'now', 'it', 'cant', 'de', 'move', 'hereby', 'how', 'found', 'whom', 'were', 'together', 'again', 'moreover', 'first', 'never', 'below', 'between', 'computer', 'ten', 'into', 'see', 'everywhere', 'there', 'neither', 'every', 'couldnt', 'up', 'several', 'the', 'i', 'becomes', 'don', 'ie', 'been', 'whereupon', 'seemed', 'most', 'noone', 'whole', 'must', 'cannot', 'per', 'my', 'thereby', 'so', 'he', 'name', 'co', 'its', 'everyone', 'if', 'become', 'thick', 'thus', 'regarding', 'didn', 'give', 'all', 'show', 'any', 'using', 'on', 'further', 'around', 'back', 'least', 'since', 'anyone', 'once', 'can', 'bill', 'hereafter', 'be', 'seems', 'their', 'myself', 'nine', 'also', 'system', 'at', 'more', 'out', 'twelve', 'therein', 'almost', 'except', 'last', 'did', 'something', 'besides', 'via', 'whenever', 'formerly', 'cry', 'one', 'hundred', 'sixty', 'after', 'well', 'them', 'namely', 'empty', 'three', 'even', 'along', 'because', 'ourselves', 'such', 'top', 'due', 'inc', 'themselves'})
您可以看到,与NLTK相比,Gensim的停用词默认集合要详细得多。同样,Gensim将默认停用词存储在冻结的设置对象中。
要访问Gensim停用词列表,您需要STOPWORDS
从gensim.parsing.preprocessong
软件包中导入冻结集。Python中的冻结集是一种不可变的集。您不能在冻结集中添加或删除元素。因此,要添加元素,您必须union
在冻结集上应用该功能,并将新的停用词集传递给该功能。该union
方法将返回一个新集合,其中包含您新添加的停用词,如下所示。
以下脚本在Gensim中的停用词中添加likes
和play
:
from gensim.parsing.preprocessing import STOPWORDS
all_stopwords_gensim = STOPWORDS.union(set(['likes', 'play']))
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords_gensim]
print(tokens_without_sw)
输出:
['Nick', 'football', ',', 'fond', 'tennis', '.']
从上面的输出中,您可以看到单词like
和play
被视为停用词,因此已从输入句子中删除。
要从Gensim的停用词列表中删除停用词,您必须difference()
在冻结的set对象上调用该方法,该对象包含停用词列表。您需要将要从冻结集中删除的一组停用词传递给该difference()
方法。该difference()
方法返回一个集合,其中包含除传递给该difference()
方法的那些停用词之外的所有停用词。
以下脚本not
从Gensim中的停用词集中删除该词:
from gensim.parsing.preprocessing import STOPWORDS
all_stopwords_gensim = STOPWORDS
sw_list = {"not"}
all_stopwords_gensim = STOPWORDS.difference(sw_list)
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords_gensim]
print(tokens_without_sw)
输出:
['Nick', 'likes', 'play', 'football', ',', 'not', 'fond', 'tennis', '.']
由于not
现在已从停用词集中删除了该词,因此您可以看到在停用词删除后尚未将其从输入句子中删除。
Python中的SpaCy库是另一种对Python中自然语言处理非常有用的语言。
要安装SpaCy,您必须在命令终端上执行以下脚本:
$ pip install -U spacy
下载库后,您还需要下载语言模型。SpaCy中存在几种针对不同语言的模型。我们将安装英语语言模型。在终端中执行以下命令:
$ python -m spacy download en
下载语言模型后,您可以使用SpaCy从文本中删除停用词。看下面的脚本:
import spacy
sp = spacy.load('en_core_web_sm')
all_stopwords = sp.Defaults.stop_words
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw= [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
在上面的脚本中,我们首先加载语言模型并将其存储在sp
变量中。该sp.Default.stop_words
是一组用于在SpaCy英语语言模型默认停止字。接下来,我们简单地遍历输入文本中的每个单词,如果该单词存在于SpaCy语言模型的停用词集中,则将删除该单词。
这是输出:
输出:
['Nick', 'likes', 'play', 'football', ',', 'fond', 'tennis', '.']
与其他NLP库一样,您也可以从Spacy的默认停用词列表中添加或删除停用词。但是在此之前,我们将看到SpaCy中所有现有停用词的列表。
print(len(all_stopwords))
print(all_stopwords)
输出:
326
{'whence', 'here', 'show', 'were', 'why', 'n’t', 'the', 'whereupon', 'not', 'more', 'how', 'eight', 'indeed', 'i', 'only', 'via', 'nine', 're', 'themselves', 'almost', 'to', 'already', 'front', 'least', 'becomes', 'thereby', 'doing', 'her', 'together', 'be', 'often', 'then', 'quite', 'less', 'many', 'they', 'ourselves', 'take', 'its', 'yours', 'each', 'would', 'may', 'namely', 'do', 'whose', 'whether', 'side', 'both', 'what', 'between', 'toward', 'our', 'whereby', "'m", 'formerly', 'myself', 'had', 'really', 'call', 'keep', "'re", 'hereupon', 'can', 'their', 'eleven', '’m', 'even', 'around', 'twenty', 'mostly', 'did', 'at', 'an', 'seems', 'serious', 'against', "n't", 'except', 'has', 'five', 'he', 'last', '‘ve', 'because', 'we', 'himself', 'yet', 'something', 'somehow', '‘m', 'towards', 'his', 'six', 'anywhere', 'us', '‘d', 'thru', 'thus', 'which', 'everything', 'become', 'herein', 'one', 'in', 'although', 'sometime', 'give', 'cannot', 'besides', 'across', 'noone', 'ever', 'that', 'over', 'among', 'during', 'however', 'when', 'sometimes', 'still', 'seemed', 'get', "'ve", 'him', 'with', 'part', 'beyond', 'everyone', 'same', 'this', 'latterly', 'no', 'regarding', 'elsewhere', 'others', 'moreover', 'else', 'back', 'alone', 'somewhere', 'are', 'will', 'beforehand', 'ten', 'very', 'most', 'three', 'former', '’re', 'otherwise', 'several', 'also', 'whatever', 'am', 'becoming', 'beside', '’s', 'nothing', 'some', 'since', 'thence', 'anyway', 'out', 'up', 'well', 'it', 'various', 'four', 'top', '‘s', 'than', 'under', 'might', 'could', 'by', 'too', 'and', 'whom', '‘ll', 'say', 'therefore', "'s", 'other', 'throughout', 'became', 'your', 'put', 'per', "'ll", 'fifteen', 'must', 'before', 'whenever', 'anyone', 'without', 'does', 'was', 'where', 'thereafter', "'d", 'another', 'yourselves', 'n‘t', 'see', 'go', 'wherever', 'just', 'seeming', 'hence', 'full', 'whereafter', 'bottom', 'whole', 'own', 'empty', 'due', 'behind', 'while', 'onto', 'wherein', 'off', 'again', 'a', 'two', 'above', 'therein', 'sixty', 'those', 'whereas', 'using', 'latter', 'used', 'my', 'herself', 'hers', 'or', 'neither', 'forty', 'thereupon', 'now', 'after', 'yourself', 'whither', 'rather', 'once', 'from', 'until', 'anything', 'few', 'into', 'such', 'being', 'make', 'mine', 'please', 'along', 'hundred', 'should', 'below', 'third', 'unless', 'upon', 'perhaps', 'ours', 'but', 'never', 'whoever', 'fifty', 'any', 'all', 'nobody', 'there', 'have', 'anyhow', 'of', 'seem', 'down', 'is', 'every', '’ll', 'much', 'none', 'further', 'me', 'who', 'nevertheless', 'about', 'everywhere', 'name', 'enough', '’d', 'next', 'meanwhile', 'though', 'through', 'on', 'first', 'been', 'hereby', 'if', 'move', 'so', 'either', 'amongst', 'for', 'twelve', 'nor', 'she', 'always', 'these', 'as', '’ve', 'amount', '‘re', 'someone', 'afterwards', 'you', 'nowhere', 'itself', 'done', 'hereafter', 'within', 'made', 'ca', 'them'}
输出显示,SpaCy库的默认停用词列表中有326个停用词。
SpaCy停用词列表基本上是一组字符串。您可以将新单词添加到集合中,就像将任何新项目添加到集合中一样。
看下面的脚本,在其中我们将单词添加tennis
到Spacy中现有的停用词列表中:
import spacy
sp = spacy.load('en_core_web_sm')
all_stopwords = sp.Defaults.stop_words
all_stopwords.add("tennis")
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
输出:
['Nick', 'likes', 'play', 'football', ',', 'fond', '.']
输出显示该单词tennis
已从输入句子中删除。
您还可以将多个单词添加到SpaCy中的停用词列表中,如下所示。下面的脚本添加likes
和tennis
对停用词在SpaCy名单:
import spacy
sp = spacy.load('en_core_web_sm')
all_stopwords = sp.Defaults.stop_words
all_stopwords |= {"likes","tennis",}
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
输出:
['Nick', 'play', 'football', ',', 'fond', '.']
输出将显示单词,likes
并且tennis
两个单词都已从输入句子中删除。
要从SpaCy中的停用词集中删除一个单词,可以将要删除的单词传递给remove
该集合的方法。
以下脚本not
从SpaCy中的停用词集中删除该词:
import spacy
sp = spacy.load('en_core_web_sm')
all_stopwords = sp.Defaults.stop_words
all_stopwords.remove('not')
text = "Nick likes to play football, however he is not too fond of tennis."
text_tokens = word_tokenize(text)
tokens_without_sw = [word for word in text_tokens if not word in all_stopwords]
print(tokens_without_sw)
输出:
['Nick', 'play', 'football', ',', 'not', 'fond', '.']
在输出中,您可以看到该单词not
尚未从输入句子中删除。
在上一节中,您了解了如何使用各种库从Python中的字符串中删除停用词的方法。如果要完全控制停用词的删除,则可以编写自己的脚本以从字符串中删除停用词。
这方面的第一步是定义要视为停用词的单词列表。让我们创建一些最常用的停用词的列表:
my_stopwords = ['i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves', 'you', "you're", "you've", "you'll", "you'd", 'your', 'yours', 'yourself', 'yourselves', 'he', 'him', 'his', 'himself', 'she', "she's", 'her', 'hers', 'herself', 'it', "it's", 'its', 'itself', 'they', 'them', 'their', 'theirs', 'themselves', 'what', 'which', 'who', 'whom', 'this', 'that', "that'll", 'these', 'those', 'am', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had', 'having', 'do', 'does', 'did', 'doing', 'a', 'an', 'the', 'and', 'but', 'if', 'or', 'because', 'as', 'until', 'while', 'of', 'at', 'by', 'for', 'with', 'about', 'against', 'between', 'into', 'through', 'during', 'before', 'after', 'above', 'below', 'to', 'from', 'up', 'down', 'in', 'out', 'on', 'off', 'over', 'under', 'again', 'further', 'then', 'once', 'here', 'there', 'when', 'where', 'why', 'how', 'all', 'any', 'both', 'each', 'few', 'more', 'most', 'other', 'some', 'such', 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than', 'too', 'very', 's', 't', 'can', 'will', 'just', 'don', "don't", 'should', "should've", 'now', 'd', 'll', 'm', 'o', 're', 've', 'y', 'ain', 'aren', "aren't", 'couldn', "couldn't", 'didn', "didn't", 'doesn', "doesn't", 'hadn', "hadn't", 'hasn', "hasn't", 'haven', "haven't", 'isn', "isn't", 'ma', 'mightn', "mightn't", 'mustn', "mustn't", 'needn', "needn't", 'shan', "shan't", 'shouldn', "shouldn't", 'wasn', "wasn't", 'weren', "weren't", 'won', "won't", 'wouldn', "wouldn't"]
接下来,我们将定义一个函数,该函数将接受字符串作为参数并返回不带停用词的句子:
def remove_mystopwords(sentence):
tokens = sentence.split(" ")
tokens_filtered= [word for word in text_tokens if not word in my_stopwords]
return (" ").join(tokens_filtered)
现在,让我们尝试从例句中删除停用词:
text = "Nick likes to play football, however he is not too fond of tennis."
filtered_text = remove_mystopwords(text)
print(filtered_text)
输出:
Nick likes play , however fond tennis .
您可以看到my_stopwords
列表中存在的停用词已从输入句子中删除。
由于my_stopwords
list是一个简单的字符串列表,因此您可以在其中添加或删除单词。例如,让我们football
在的列表中添加一个词,my_stopwords
然后再次从输入句子中删除停用词:
text = "Nick likes to play football, however he is not too fond of tennis."
filtered_text = remove_mystopwords(text)
print(filtered_text)
输出:
Nick likes play , however fond tennis .
现在的输出显示,football
当我们在自定义停用词列表中添加该词时,该词也会从输入句子中删除。
现在让我们football
从停用词列表中删除该词,然后再次对我们的输入句子应用停用词:
my_stopwords.remove("football")
text = "Nick likes to play football, however he is not too fond of tennis."
filtered_text = remove_mystopwords(text)
print(filtered_text)
输出:
Nick likes play football , however fond tennis .
football
自从我们从停用词列表中删除该词以来,该词现在尚未被删除。
在本文中,您看到了可用于从Python中的字符串中删除停用词的不同库。您还看到了如何在各种库提供的默认停用词列表中添加或删除停用词。最后,我们展示了如果您有一个用于删除停用词的自定义脚本,该如何完成。