환경
Windows 10 Pro
python 3.8.12
IDE - vscode
에러 발생 상황
konlpy 0.6.0 버전의 형태소분석기 Kkma로 명사 추출을 진행중.
동일한 코드로 테스트를 위해 10000개 행까지만 슬라이싱해서 진행할 경우는 코드가 잘 돌아가지만, 전체 텍스트를 동일한 코드 실행할 경우 outofmemory 에러 발생
# 3. 명사 추출
def extract_nouns(text, stopwords_path = False):
kkma = Kkma()
noun = kkma.nouns(text)
result = []
if stopwords_path:
stopword_list = get_stopwords(stopwords_path)
# Stopword 및 한글자 형태소 제거
for n in noun:
if n not in stopword_list and 1 < len(n):
result.append(n)
else:
for n in noun:
if 1 < len(n):
result.append(n)
return result
noun_contents = processed_contents.apply(extract_nouns)
noun_contents.head()
에러 메세지
java.lang.OutOfMemoryError: java.lang.OutOfMemoryError: Java heap space
해결
konlpy 깃허브 이슈 쓰레드를 보고 알게 되었는데, 꼬꼬마 형태소 분석기가 메모리 이슈가 자주 발생한다고 한다. 운영자 lucypark님의 코멘트를 보면 알 수 있겠지만, 해결하지 못하고 있는 이슈이며, 1) 다른 형태소 분석기를 쓰거나 2) 인위적으로 할당 메모리를 늘려서 해결하거나 하라고.
konlpy.jvm.init_jvm 의 메모리 할당 파라미터를 활용해 더 많은 메모리를 할당해준다.
(jvm을 시작시키는 메서드임으로, konlpy 불러와서 바로 실행할 것)
메모리 크기는 자기 하드웨어에 맞게
konlpy.jvm.init_jvm(jvmpath=None, max_heap_size=2048)
참고 :
'Deep Learning > Natural Language Processing' 카테고리의 다른 글
한국어 오픈소스 말뭉치 활용 라이브러리 코포라 Korpora (0) | 2022.03.14 |
---|---|
자연어 처리 왕초보 가이드 (3) | 2021.12.08 |
[W13D5] NLP : 단어 임베딩 (0) | 2021.08.02 |
[W13D4] NLP : 문서분류 (0) | 2021.07.30 |
[W13D3] NLP : 단어 모델 (0) | 2021.07.29 |