2012-07-25 4 views
1

파이썬에서는 프로그램에서 여러 가지 다른 문자열 처리 함수를 사용하고 있습니다. 사용자는 양식에 용어를 입력하고 용어는 다른 기능을 통해 처리됩니다. 여기에는 형태소 분석, 단어 제거 중지, 문장 부호 제거, 맞춤법 검사 및 동의어 가져 오기가 포함됩니다.파이썬에서 문자열 처리 - 패키지 또는 하드 코드?

주문이 Big Huge Thesaurus API를 사용하여 pyEnchant

점점 동의어를 사용하여 검사 string.replace()REGEX를 사용하여 stemming package,

중지 단어 & 문장 제거를 사용하여 수행됩니다 형태소.

이 용어는 API로 전송됩니다. 결과는 반환되고 하드 코딩 된 정렬 프로세스를 거치게됩니다. 결국 결과는 사용자에게 출력됩니다. 전체 프로세스가 너무 길어 10 초 이상 걸립니다. 나는 많은 확장을 사용하고 있기 때문에 긴 딜레이를 일으키며 가져 오는 것이 아닌지 궁금합니다.

희망 이이 stackoverflow 규칙에 반대하지 않지만 난 파이썬에 새로운 해요 그리고 이것은 내가 알아야 할 일종입니다.

답변

4

나는 많은 확장자를 사용하고 있기 때문에 긴 지연을 유발하여 가져올 수 있는지 궁금합니다.

매우 드뭅니다. 한 번만 가져온 다음 루프를 호출하면 루프가 대부분 시간을 들여야합니다. (또는 단어/문장 당 파이썬 프로세스를 실행하고 있습니까?)

일반적으로 컴퓨터 프로그램은 코드의 10 %를 실행하는 데 90 %의 시간을 소비하는 경향이 있습니다. 그 부분은 가치가있다. import 문과 같은 것은 일반적으로 없습니다. 프로그램의 시간을 확인하려면 프로파일 러를 사용하십시오.

+0

브릴리언트 나는 그 프로파일 러에 대해 몰랐습니다. 나는 그것의 가장 느린면이 큰 거대한 시소러스에 대한 호출이지만 전체적인 문제라면 매우 놀랄 것이라고 생각한다. 내 프로그램에서 사용자는 한 단어/문구 만 입력하고 처리됩니다. 내 코드가 불충분하게 구조화되어 있다고 생각합니다. – adohertyd

1

각 개별 점검에 걸리는 시간. 그런 다음 결과를 비교해 실제로 실제로 가장 많이 걸리는 시간을 확인하십시오.

import time 
start = time.time() 
#after the individual piece has completed 
end = time.time() 

print (end - start, "seconds") 

실제로 문자열 처리의 각 구성 요소가 걸리는 시간을 알고 흥미로운 일이 될 것입니다.

관련 문제