以下 Python程式碼旨在有效地從大量句子集合中刪除特定單詞,確保替換僅發生在單詞邊界處:
import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence)
雖然這種方法有效,但速度很慢,需要處理數百萬個句子的小時。探索更快的解決方案是必要的。
正規表示式方法的最佳化版本可以顯著提高效能。可以製作基於 Trie 的正規表示式,而不是使用緩慢的正則表達式聯合(隨著禁用單字數量的增加而變得低效)。
Trie 是一種有效組織禁用單字的資料結構。透過利用 Trie,可以產生單一正規表示式模式,該模式可以準確地替換單字邊界處的單詞,而無需單獨檢查每個單字的表現開銷。
這種基於 Trie 的正規表示式方法可以使用以下步驟來實現:
對於正規表示式不適合的情況,可以使用更快的替代方法使用基於集合的方法。
這種方法避免了正規表示式匹配的開銷,但其速度取決於禁詞的大小set。
要進一步提高效能,請考慮其他最佳化:
以上是我們如何加速正規表示式替換以從 Python 中數百萬個句子中刪除單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!