놀랍게도 나는 정말로이 일을하는 다른 사람을 찾을 수 없었지만, 분명히 누군가 가지고 있습니다. 현재 약 16,000 단어의 철자 검사와 관련된 파이썬 프로젝트를 진행 중입니다. 그 수의 단어는 불행하게도 커질 것입니다. 지금 나는 몽고에서 단어를 가져 와서 반복하고, 펜치로 그들을 확인하는 철자가있다. 나는 모든 항목을 먼저 잡아 잠재적 인 병목 현상으로 몽고를 제거했습니다. 16K 단어를 처리하는 데 약 20 분이 걸리고, 내가 쓰고 싶은 것보다 오래 걸립니다. 이것은 몇 가지 아이디어/질문으로 나를 남겨 둡니다 :Python의 "Large"scale 맞춤법 검사
분명히 스레딩이나 어떤 형태의 병렬 처리를 활용할 수 있습니다. 내가 이것을 4 조각으로자를지라도, 나는 여전히 최고 성능을 가정하고 대략 5 분을보고있다.
인챈트가 파이 렌트 아래에서 사용하고있는 맞춤법 라이브러리를 알 수있는 방법이 있습니까? Enchant의 웹 사이트는 맞춤법 검사시 사용 가능한 모든 철자 라이브러리/사전을 사용한다는 것을 암시하는 것으로 보입니다. 그렇다면 3 가지 철자법 사전을 통해 각 단어를 실행할 가능성이 있습니다. 이것은 바로 여기 내 문제 일 수 있지만, 나는 그것이 사실임을 증명하는 데 어려움을 겪고있다. 그렇다면 다른 라이브러리를 정말로 제거 할 수 있습니까? 불행한 소리.
그럼, 어떻게 생각해 볼 수 있겠습니까? 이 작업을 병렬 작업으로 잘게도 괜찮지 만, 그 전에 핵심 부분을 조금 더 빨리 처리하고 싶습니다.
편집 : 죄송합니다, 모닝 커피 전에 게시 ... 마법 철자가 철자가 틀린 경우 제안 사항 목록을 생성합니다. 그것은 내가이 처리 부분에서 대부분의 시간을 보내는 곳인 것처럼 보일 것입니다.
20 분 16 천 단어에 대한 것은 굉장히 긴 시간처럼 들린다. 파이썬 사전에 단어를로드하고 각각에 대한 검색을 수행 할 수 있습니까? 그것은 확실히 20 분 미만 걸릴 것입니다. (아마도 20 분 내에 쓸 수 있습니다.) – ggg
Enchant의 모든 권한을 사용하고 있습니까? 아니면 단어의 철자가 올바른지 (즉, 사전에 알려진 사전)를 확인하고 있습니까? 후자의 경우 ggg가 말한 것을 수행하고 맞춤법 검사기를 만드십시오. – katrielalex
병렬 처리를 고려하지 마십시오. 나는 입력 한 것을 누르는 것보다 적은 시간에 60k 사전에 대해 100k 단어를 검사했다. 더 나은 알고리즘이 필요합니다. – msw