gpt4 book ai didi

python - 使用大量停用词加速文本清理

转载 作者:行者123 更新时间:2023-12-01 02:48:44 25 4
gpt4 key购买 nike

我有一个文本数据数据库,并创建了一个小计数器来获取整个数据库的字数。最常见的词是常见的词("is"、“和”等),最不常见的是各种表情符号、美元值(value)、拼写错误等。我想从文本中删除单词,以便我可以仅对不常见或不常见的值进行矢量化。但高度不常见/异常的单词列表大约有 600,000 个项目:

   stopwords = []

for key, value in ctr.items(): #ctr is a Counter() object of words in the entire corpus of text and their counts
if value < 4:
words += 1
stopwords.append(key)

print (len(stopwords))
643392

这意味着,以仅标记一段文本为例:

    start = time.time()

[word for word in word_tokenize(stemmer.stem(dataframe.text[20])) if word not in stopwords]

end = time.time()

print (end - start)

79.92309927940369

所以,一段文字需要一分钟多的时间。大约有 160,000 篇文章需要清理和矢量化。

是否有某种用于删除停用词的向量化函数?我见过的处理停用词的唯一方法是迭代地解决问题。按照这个速度,清理这段文本大约需要三个月的时间。

一如既往地感谢您的帮助。

最佳答案

在 Python 中单词查找不应该花费那么长时间。您不需要对停用词删除进行矢量化,只需修复代码即可。您没有显示代码,但停用词很可能是一个巨大的列表。将其转换为集合,您的问题就会消失。

stopwords = set(stopwords)

其次,您再次没有显示完整的代码,但我真的怀疑您是否有一个可以对多单词字符串进行词干分析的词干分析器。首先对字符串进行分词,然后对每个单词进行词干分析。

关于python - 使用大量停用词加速文本清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45026294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com