次の Python コードは、文の大規模なコレクションから特定の単語を効率的に削除することを目的としています。置換は単語の境界でのみ発生します:
import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence)
このアプローチは機能しますが、時間がかかります。数百万の文章を処理するには何時間もかかります。より高速なソリューションを検討することが必要です。
正規表現アプローチの最適化されたバージョンにより、パフォーマンスが大幅に向上します。禁止語の数が増えると非効率になる遅い正規表現結合を使用する代わりに、Trie ベースの正規表現を作成できます。
Trie は、禁止語を効率的に編成するデータ構造です。 Trie を利用することで、各単語を個別にチェックするパフォーマンスのオーバーヘッドを発生させることなく、単語境界で単語を正確に置き換える単一の正規表現パターンを生成できます。
この Trie ベースの正規表現アプローチは、次の手順を使用して実装できます。
正規表現が適さない状況では、より高速な代替手段が可能ですセットベースのアプローチを使用します。
この方法では正規表現一致のオーバーヘッドが回避されますが、速度は禁止単語のサイズに依存します。 set.
パフォーマンスをさらに向上させるには、追加の最適化を検討してください。
以上がPython の何百万もの文から単語を削除するための正規表現置換を高速化するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。