다음 Python 코드는 대규모 문장 모음에서 특정 단어를 효율적으로 제거하는 것을 목표로 합니다. 대체는 단어 경계에서만 발생합니다.
import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence)
이 접근 방식은 작동하지만 느리고 수백만 개의 문장을 처리하는 데 몇 시간이 걸립니다. 더 빠른 솔루션을 탐색하는 것이 필요합니다.
정규식 접근 방식의 최적화된 버전은 성능을 크게 향상시킬 수 있습니다. 금지어 수가 늘어날수록 비효율적이 되는 느린 정규식 조합을 사용하는 대신 Trie 기반 정규식을 만들 수 있습니다.
A Trie는 금지어를 효율적으로 정리하는 데이터 구조입니다. Trie를 활용하면 각 단어를 개별적으로 확인하는 성능 오버헤드 없이 단어 경계에서 단어를 정확하게 바꾸는 단일 정규식 패턴을 생성할 수 있습니다.
이 Trie 기반 정규식 접근 방식은 다음 단계를 사용하여 구현할 수 있습니다.
정규식이 적합하지 않은 상황에서는 더 빠른 대안이 가능합니다. 집합 기반 접근 방식을 사용합니다.
이 방법은 정규식 일치의 오버헤드를 피하지만 속도는 금지어의 크기에 따라 달라집니다. set.
성능을 더욱 향상하려면 추가 최적화를 고려하세요.
위 내용은 Python의 수백만 문장에서 단어를 제거하기 위해 정규식 교체 속도를 어떻게 높일 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!