以下 Python 代码旨在有效地从大量句子集合中删除特定单词,确保替换仅发生在单词边界处:
import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence)
虽然这种方法有效,但速度很慢,需要处理数百万个句子的小时。探索更快的解决方案是必要的。
正则表达式方法的优化版本可以显着提高性能。可以制作基于 Trie 的正则表达式,而不是使用缓慢的正则表达式联合(随着禁用单词数量的增加而变得低效)。
Trie 是一种有效组织禁用单词的数据结构。通过利用 Trie,可以生成单个正则表达式模式,该模式可以准确地替换单词边界处的单词,而无需单独检查每个单词的性能开销。
这种基于 Trie 的正则表达式方法可以使用以下步骤来实现:
对于正则表达式不适合的情况,可以使用更快的替代方法使用基于集合的方法。
这种方法避免了正则表达式匹配的开销,但其速度取决于禁词的大小set。
要进一步提高性能,请考虑其他优化:
以上是我们如何加速正则表达式替换以从 Python 中数百万个句子中删除单词?的详细内容。更多信息请关注PHP中文网其他相关文章!