하드웨어를 업그레이드하기 전에 알고리즘 관련 변경을해야한다고 생각합니다.
문장 크기 줄이기
연습 샘플에 불필요하게 긴 문장이 없는지 확인하십시오. 이러한 문장은 성능을 향상시키지 않지만 계산에 큰 영향을 미칩니다. (순서를 모르겠다) 나는 일반적으로 200 단어/문장으로 컷오프를 쓴다. 또한 기능을 자세히 살펴보면 기본 기능 생성자입니다.
two kinds of WindowFeatureGenerator with a default window size of only two OutcomePriorFeatureGenerator PreviousMapFeatureGenerator BigramNameFeatureGenerator SentenceFeatureGenerator
이러한 기능 생성기는 주어진 문장에서 Robert
이라는 단어에 대해 다음과 같은 기능을 생성합니다.
ic
Sentence: Robert, creeley authored many books such as Life and Death, Echoes and Windows.
Features:
w=robert
n1w=creeley
n2w=authored
wc=ic
w&c=robert,ic
n1wc=lc
n1w&c=creeley,lc
n2wc=lc
n2w&c=authored,lc
def
pd=null
w,nw=Robert,creeley
wc,nc=ic,lc
S=begin
는
lc
이러한 기능
S=begin
의
가
Robert
이 문장의 시작에 발생했음을 표시하는 유일한 문장 의존하는 기능입니다 소문자를하고, 초기 자본입니다.
내 요점은 교육에서 완전한 문장의 역할을 설명하는 것입니다. 실제로 SentenceFeatureGenerator를 삭제하고 문장 크기를 줄여 원하는 엔터티의 창에 몇 단어 만 수용 할 수 있습니다.이것은 잘 작동 할 것입니다.
이것이 성능에있어 복잡성에는 거의 영향을 미치지 않을 것이라고 확신합니다.
샘플링을 고려해 보셨습니까?
위에서 설명한 것처럼 기능은 매우 희박한 컨텍스트를 나타냅니다. 피쳐 생성기에서 볼 수 있듯이 중복 된 문장이 많을 수 있습니다. 다양한 패턴을 가진 문장을 표현하는 방식으로 이것들과 표본을 탐지하십시오. 그것들과 모두 일치하는 몇 가지 정규 표현식 만 작성하는 것은 불가능합니다. 내 경험상, 다양한 패턴을 가진 훈련 표본은 소수의 패턴을 가진 표본보다 훨씬 낫습니다. 이 방법으로 샘플링하면 모델 성능에 전혀 영향을주지 않습니다.
감사합니다.
'-Xms = 512m -Xmx = 2048m' –
이것을 제안 해 주셔서 감사합니다.하지만 이미 프로세스가 10GB 공간을 차지하면서 -Xmx를 10GB로 증가 시켰습니다. 메모리를 늘린 후에도 여전히 3 시간이 걸립니다. 그래서 나는 조금 걱정하고있다. –
다른 방법으로 처리 속도를 높일 수 없습니다. jar 파일로 내보내고 실행하면 ~ 500MB가 추가로 제공 될 수 있습니다 (이클립스 사용). 4 백만 건의 기록입니까? GATE (https://gate.ac.uk/)는 이보다 더 많은 시간이 걸릴 것으로 생각합니다. –