Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 데이콘
- dacon
- github
- hackerrank
- SW Expert Academy
- 자연어처리
- PYTHON
- 맥북
- programmers
- 파이썬
- Real or Not? NLP with Disaster Tweets
- Kaggle
- leetcode
- ChatGPT
- 금융문자분석경진대회
- 편스토랑
- Git
- 편스토랑 우승상품
- gs25
- 우분투
- ubuntu
- 캐치카페
- 코로나19
- 프로그래머스 파이썬
- AI 경진대회
- 더현대서울 맛집
- 백준
- 프로그래머스
- Docker
- Baekjoon
Archives
- Today
- Total
솜씨좋은장씨
Google Colab에서 mecab-ko-dic 사용자 사전 추가하기! (2023년 업데이트 버전) 본문
728x90
반응형
2020.11.04 - [머신러닝 | 딥러닝/자연어처리] - Google Colab에서 mecab-ko-dic 사용자 사전 추가하기!
이전에 작성하였던 Colab 에서 mecab-ko-dic 사용자 사전 추가 방법이
이런 저런 오류들이 많이 발생하여 여러 종류의 질문이 많이 들어왔었습니다.
간만에 자세하게 이것저것 테스트해볼 수 있게 되어
그동안 미루고 미뤘던 내용들을 모두 수정 할 수 있게 되었습니다.
기존 글을 수정해볼까 하다가 2023년 업데이트 버전으로 글을 다시 작성해보았습니다.
generating userdic...
nnp.csv
/content/mecab-ko-dic-2.1.1-20180720/tools/../model.def is not a binary model. reopen it as text mode...
dictionary.cpp(171) [property.open(param)]
person.csv
/content/mecab-ko-dic-2.1.1-20180720/tools/../model.def is not a binary model. reopen it as text mode...
dictionary.cpp(171) [property.open(param)]
place.csv
/content/mecab-ko-dic-2.1.1-20180720/tools/../model.def is not a binary model. reopen it as text mode...
dictionary.cpp(171) [property.open(param)]
user-nnp.csv
/content/mecab-ko-dic-2.1.1-20180720/tools/../model.def is not a binary model. reopen it as text mode...
dictionary.cpp(171) [property.open(param)]
/bin/bash ./config.status --recheck
running CONFIG_SHELL=/bin/bash /bin/bash ./configure --no-create --no-recursion
./configure: line 1692: syntax error near unexpected token `mecab-ko-dic,'
./configure: line 1692: `AM_INIT_AUTOMAKE(mecab-ko-dic, 2.0.0)'
make: *** [Makefile:233: config.status] Error 2
/bin/bash ./config.status --recheck
running CONFIG_SHELL=/bin/bash /bin/bash ./configure --no-create --no-recursion
./configure: line 1692: syntax error near unexpected token `mecab-ko-dic,'
./configure: line 1692: `AM_INIT_AUTOMAKE(mecab-ko-dic, 2.0.0)'
make: *** [Makefile:233: config.status] Error 2
add-userdic.sh 를 실행하면 발생하는 에러를 해결해보았습니다.
Colab 환경에서 바로 보고싶으신 분은 아래 링크로 이동하여 확인해주세요.
1. Colab 환경에서 mecab 설치하기
2019.09.12 - [머신러닝 | 딥러닝/자연어처리] - Google Colab에서 Mecab-ko-dic 쉽게 사용하기
먼저 Colab 환경에서 mecab 을 설치합니다.
설치 방법은 위 링크를 참고해주세요.
2. 사용자 사전 파일 만들고 저장하기
http://openuiz.blogspot.com/2018/12/mecab-ko-dic.html
위 링크를 참고하여 사용자 사전 파일을 작성하고 user-dic 디렉토리에 저장합니다.
다음은 Python 코드를 활용해서 csv 파일을 만드는 방법입니다.
2-1. mecab-ko-dic 디렉토리 이동하기
cd /content/mecab-ko-dic-2.1.1-20180720
ls
2-2. 종성여부 판단하는 라이브러리 설치 및 함수 작성
!pip install jamo
from jamo import h2j, j2hcj
def get_jongsung_TF(sample_text):
sample_text_list = list(sample_text)
last_word = sample_text_list[-1]
last_word_jamo_list = list(j2hcj(h2j(last_word)))
last_jamo = last_word_jamo_list[-1]
jongsung_TF = "T"
if last_jamo in ['ㅏ', 'ㅑ', 'ㅓ', 'ㅕ', 'ㅗ', 'ㅛ', 'ㅜ', 'ㅠ', 'ㅡ', 'ㅣ', 'ㅘ', 'ㅚ', 'ㅙ', 'ㅝ', 'ㅞ', 'ㅢ', 'ㅐ,ㅔ', 'ㅟ', 'ㅖ', 'ㅒ']:
jongsung_TF = "F"
return jongsung_TF
2-3. list 에 담겨있는 (단어, 점수) 를 하나씩 꺼내와 csv 파일로 만드는 함수 작성
def make_user_dic_csv(morpheme_type, word_list, user_dic_file_name):
file_data = []
for word, score in word_list:
jongsung_TF = get_jongsung_TF(word)
line = f"{word},,,{score},{morpheme_type},*,{jongsung_TF},{word},*,*,*,*,*\n"
file_data.append(line)
with open("./user-dic/user-nnp.csv", 'w', encoding='utf-8') as f:
for line in file_data:
f.write(line)
2-4. 2-3 에서 작성한 함수를 활용하여 파일 만들고 저장하기
- 파일명 : user-nnp.csv / 형태소 타입 : NNP
word_list = [('솜씨좋은장씨', 0), ('개발블로그', 0)]
make_user_dic_csv(morpheme_type="NNP", word_list=word_list, user_dic_file_name='user-nnp.csv')
단어별로 점수를 0 으로 주면 형태소 분석 시에 더 높은 우선순위로 반영하게됩니다.
3. 저장한 사용자 사전 파일 적용하기
!bash autogen.sh
!make
!sudo make install
!bash tools/add-userdic.sh
4. 잘 적용되었는지 확인해보기
from konlpy.tag import Mecab
mecab = Mecab()
word_list = ['솜씨좋은장씨', '개발블로그']
for word in word_list:
print(mecab.pos(word))
[('솜씨좋은장씨', 'NNP')]
[('개발블로그', 'NNP')]
읽어주셔서 감사합니다.
'머신러닝 | 딥러닝 > 자연어처리' 카테고리의 다른 글
Google Colab에서 mecab-ko-dic 사용자 사전 추가하기! (29) | 2020.11.04 |
---|---|
Ubuntu에서 Khaiii 설치하기 (0) | 2020.09.10 |
Windows 에서 Mecab ( mecab 기반 한국어 형태소 분석기 ) 설치하는 방법 (16) | 2020.09.07 |
Google Colab에서 Mecab-ko-dic 쉽게 사용하기 (53) | 2019.09.12 |
Ubuntu 18.04 LTS에 mecab-ko-dic 설치하기 (7) | 2019.09.12 |
Comments