Data Science

[디버깅] 형태소 분석 메모리 문제 본문

트러블슈팅 & 디버깅

[디버깅] 형태소 분석 메모리 문제

shinho0902 2022. 5. 11. 00:28

남양주 SNS 데이터 분석

 

약 72만개의 SNS 크롤링된 데이터를 형태소 분석하고 명사에 따라 카운팅을 해야했다.

 

문제는

형태소 분석시 샘플데이터로는 수월하게 작동했지만 전체를 한꺼번에 분석을 시도했더니 데이터양이 많아 시간이 오래걸리고, 아무런 응답도 되지않고, 메모리 오류가 발생했다.

 

이 오류는 메모리에 값들이 누적되면서 메모리가 초과되는 이슈가 발생한것으로 파악된다.

 

SNS데이터 명사 추출 결과

이를 해결하기 위해

분석양을 줄여가면서 10만개 까지는 한 번에 분석이 가능한것으로 파악되었다.

 

루프를 한번 돌때마다 해당 루프에서 분석한 row에 대해서 명사의 카운트를 반환하는 형태의 코드를 큰 틀에서 최대한 바꾸지 않고 해결하는 방안을 찾는 방법을 모색했다.

 

따라서 전체 데이터를 N등분하여 루프를 돌리기로 했다.

또한 한 루프를 마치면 담겨있던 변수들을 초기화 해주었다.

 

첫 n만개의 분석결과를 csv 파일로 저장을 하고 다음 루프 실행시 기존 csv 파일에 append 하는 형태로 해결되었다.

 

루프를 한 번 돌때마다 분석한 row에 대해서 명사의 카운트를 반환하기에 모두 append 된 csv 에서 명사기준 group by 해줘야 했다.

 

 

Comments