관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

순환 신경망(RNN) 5 - 자연어 처리 3 : 한국어 감성 분석 2 <형태소 분석기 불러오고 Mecab 설치하기> 본문

인공지능/딥러닝

순환 신경망(RNN) 5 - 자연어 처리 3 : 한국어 감성 분석 2 <형태소 분석기 불러오고 Mecab 설치하기>

huenuri 2024. 12. 19. 09:36

이제 형태소 분석기를 불러오며 설치를 진행해 보겠다. 얼마나 어렵던지 과연 될까 의문이 든다. 어제도 RNN 공부를 할 때 몇 시간 동안 코드 실행이 되지 않아 큰 어려움이 있었다. 오늘도 이를 피해 갈 수 없는 것 같다.

다시 한번 코드를 수정하며 문제를 해결해볼 것이다.


 

 

 

 

 

한국어 감성 분석 두 번째

 

형태소 분석기 불러오기

여러 가지 한국어 형태소 분석기가 개발되어 있다. Kkama, Komoran, Okt, Mecab 등을 예로 들 수 있다. 영어는 띄어쓰기가 잘 되어 있는 편이지만 한글은 띄어쓰기, 맞춤법 등이 잘못된 경우 분리에 어려움이 있다. 한편, 정확한 형태소 분석을 위해서는 데이터에 따라 전처리 과정 등이 필요할 수도 있다.

 

먼저 Mecab 형태소 분석기를 코랩 환경에 설치한다. 순서대로 코드를 입력하고 실행한다.

 

 

 

 

설치하는데 상당한 시간이 소요되었다. 설치가 너무 오래 걸려서 중간에 CPU에서 GPU로 바꿔서 설치했다. Mecab 설치가 끝나면 다음과 같이 Kkma, Komoran, Okt, Mecab 형태소 분석기를 생성한다. 

 

 

 

Name 오류가 뜨고 있다. 이 오류는 Mecab 형태소 분석기를 사용할 때 발생하는 일반적인 문제이다. 오류 메시지에 따르면

  1. NameError : 'Tagger' is not defined
     Mecab이 설치되지 않았거나, 설치된 Mecab의 경로가 설정되지 않은 상태
  2. Exception : 'Install MeCab in order to use it'
    → Mecab이 시스템에 설치되지 않았다는 뜻이다.

 

 

이렇게 설치가 잘 되었는데 말이다. 문제는 설치된 Mecab 경로가 정확히 연결되지 않은 상태인 것 같다.


 

 

1. Mecab 경로 확인

너의 Colab 환경에서 Mecab이 설치된 디렉터리 경로를 명확히 설정해야 한다. 경로는 대체로 다음과 같을 것이다.

  • 사전 경로: mecab-ko-dic-2.1.1-20180720
  • Mecab 실행 경로: mecab-0.996-ko-0.9.2

 

2. Mecab 설치 및 설정 확인 (Colab 기준)

Google Colab에서는 추가적으로 Konlpy와 Mecab-ko를 설치하는 과정이 필요하다. 이미 파일을 업로드했으니, 아래 명령어를 실행해 보자.

 

(1) Mecab-ko와 사전 설치

 

 

 

(2) 경로 설정

다운로드한 사전 경로를 Mecab에 연결하기 위해 다음과 같이 경로를 지정해 준다.

 

Mecab이 어디에 설치되어 있는지 확인해 보았다.

 

 

 

(3) Mecab 실행 확인

경로가 올바르다면 다음 코드를 실행한다.

 

하지만 그래도 오류가 뜨고 있다. 오류 메시지를 보면 Tagger가 정의되지 않았다는 점과 Mecab 설치 문제가 다시 나타나고 있다. 단순히 경로 지정 문제가 아니라 Mecab 실행 파일과 사전이 올바르게 설치되지 않았거나 연결되지 않은 상태이다.

 

아무리 해도 설치가 되지 않아 전부 다 삭제하고 다시 설치하기로 했다.


 

 

 

 

Mecab 완전 삭제 후 다시 설치하기

 

 

 

 

이제 완전히 삭제되었다. 


 

 

 

 

설치 시 이런 오류가 뜬다. SyntaxError: invalid syntax 오류가 발생한 이유는 Python 코드 셀에서 Bash 명령어를 실행했기 때문이다. Google Colab이나 Jupyter Notebook에서 Bash 명령어를 실행할 때는 명령어 앞에 !를 붙여줘야 한다.

 

 

 

 

하지만 설치가 제대로 되지 않았다. 이 오류 메시지는 폴더나 경로가 존재하지 않기 때문에 발생하는 문제이다. 구체적으로 다음 두 가지 이유가 있다.

  1. 삭제된 폴더에 접근하려고 시도 → getcwd 오류 발생
  2. git clone 시 작업 디렉터리를 만들 수 없다는 오류 → No such file or directory

 

 

1. 현재 작업 경로 확인

우선 현재 디렉터리 위치를 확인해 보자.

!pwd

 

 

이렇게 뜨는데 이 오류 getcwd: cannot access parent directories는 현재 작업 중인 디렉터리가 존재하지 않기 때문에 발생한다. Colab이나 로컬 환경에서 경로가 삭제되거나 손상되었을 때 이런 문제가 생길 수 있다. 

 

 

2. 작업 디렉토리 재설정

Colab이나 로컬 환경에서 기본 경로로 돌아가면 해결된다. 다음 명령어를 실행해 보자.

 

 

3. 경로 확인

이제 정상적으로 경로가 바뀌었는지 확인한다.

 

4. 폴더 및 파일 목록 확인

기본 경로로 이동한 후 파일 및 폴더 목록을 확인해 보자.

 

 

5. 다시 Mecab-ko 설치

정상적으로 경로가 설정되었으면 Mecab-ko를 다시 설치하면 된다.

 

여전히 조금 전의 코드가 실행되지 않아서 Konlpy를 재설치했다. 그리고 다음 코드를 실행한 후 커널이 재실행되어 이 코드의 번호는 사라졌다.


 

 

 

6. Konlpy 재설치

Konlpy와 Mecab 간의 충돌이나 잘못된 설치로 인해 발생하는 경우도 있다. Konlpy를 삭제 후 다시 설치하자.

!pip uninstall konlpy -y
!pip install konlpy

 

 

 

실제로 설치가 잘 되었는지 확인했다.

 

설치 오류가 되어 실행한 여러 코드가 있었지만 너무 많아서 삭제했다.


 

 

 

7. mecab-python3로 대체 테스트

Konlpy 대신 mecab-python3를 사용해 테스트하는 것도 좋은 방법이다.

!pip install mecab-python3

 

이 코드는 혹시나 하고 실행했고 안 될 것 같아서 삭제해서 기록은 남아있지 않다.

 

 

그리고 마침내 몇 시간 만에 해결이 되었다. 


 

 

 

 

학습을 마치고

이 공부를 진행하는 일이 얼마나 어려웠는지 모른다. 그래도 몇 시간만에 문제를 해결해서 감사하고 다행한 일이었다. 이번에도 안 되면 그냥 언어지능 공부를 넘어가고 다른 공부를 하려고 했었다.

하지만 언제나 그렇듯이 난 문제를 반드시 해결한다. 이제 한국어 분석을 할 수 있게 되었다.