Hey Tech
[NLP] KoNLPy Mecab 고유명사 등록 방법 본문
📌 Text 빅데이터분석 플랫폼 베타테스트 참가자 모집 중!(네이버페이 4만 원 전원 지급)
👋 안녕하세요, 코딩이 필요 없는 AI/빅데이터 분석 All in One 플랫폼 <DATA101> 개발팀입니다.
😊 저희 서비스를 사용해 보시고 경험담을 들려주세요 :)
💸 참여해 주신 "모든" 분들께 네이버페이 4만 원 쿠폰을 지급해 드립니다.
👨💻 참여 희망 시 카톡플러스친구 1:1 채팅 or 인스타그램 DM 부탁드립니다 :)
📆 참여기간 : 11/25(월)~11/29(금) 11:00~21:00 중 택1 (1시간 1타임)
👉 참여장소 : 강남역 인근 스터디카페 미팅Room
📍 소요시간 : 총 40분 내외(서비스 체험 및 인터뷰 포함)
✅ 참가조건 : Text 빅데이터 분석 업무 경험자
👉 참가 가능일정 조회하기 : https://url.kr/n8k8gu
- 카톡플친 : http://pf.kakao.com/_SxltHG/chat
- 인스타그램 : https://www.instagram.com/data101.official/
본 포스팅에서는 KoNLPy 라이브러리 내 Mecab 형태소 분석기의 고유명사 추가 방법을 알아봅니다.
목차
1. Mecab 고유명사 사전 접근
2. 고유명사 사전 등록하기
3. 고유명사 사전 업데이트
4. (Optional) 고유명사 사전 등록여부 확인
1. Mecab 고유명사 사전 접근
Mecab 폴더 접근
cd /Users/[USER_NAME]/mecab-ko-dic-2.1.1-20180720
먼저, 터미널/커맨드라인을 통해 mecab 설치 위치에 접근해 줍니다. mecab 설치 시에 파일 경로를 바꾸시지 않았다면 위와 같이 PC 사용자 ID 폴더에 위치해 있습니다. 저와 mecab 버전이 달라 폴더 이름이 다를 수 있으니 참고만 하시길 바랍니다.
고유명사 사전 접근
cd user-dic
vi nnp.csv
터미널을 통해 고유명사 사전이 있는 user-dic 폴더에 접근하신 후, 텍스트 편집기를 통해 고유명사 사전을 열어줍니다.
고유명사 업데이트 이력이 없으시다면 저와는 다르게 등록되어 있는 고유명사가 많지는 않을 것입니다.
터미널 입력모드 변경
터미널 창에서는 일반 메모장 등과는 다르게 바로 어떤 텍스트도 입력이 안됩니다. 키보드 i 버튼을 누르시면 터미널 입력모드로 변경됩니다.
2. 고유명사 사전 등록하기
이제 고유명사를 직접 등록해 보겠습니다. 저는 "알람"이라는 단어를 고유명사로 처리해 보겠습니다.
고유명사 등록
* 고유명사 등록하는 방법
[단어],,,,,NNP,*,F/T,[단어],*,*,*,*,*
* 예시: "알람"이라는 종성에 받침이 있는 단어를 등록하는 경우
알람,,,,NNP,*,T,알람,*,*,*,*,*
등록방법은 위와 같은 패턴으로 똑같이 텍스트 편집기에서 입력해 주시면 됩니다. [단어] 부분에 고유명사 처리하고 싶으신 단어를 입력해 주세요.
종성 구분
중간에 T와 F에 차이는 입력하는 단어의 종성(맨 마지막 글자)의 받침 유무입니다. 즉, 종성에 받침이 있을 경우 T를, 받침이 없는 경우에는 F를 입력해 줍니다.
변경내용 저장
1) 사전 등록이 완료 시 ESC 버튼을 눌러 편집모드 해제
2) :wq 를 입력하신 후 Enter 버튼을 눌러 저장 후 텍스트 편집기 나가기
3. 고유명사 사전 업데이트
tools 폴더 접근
cd ..
cd tools
변경내용 업데이트
sh add-userdic.sh
cd ..
make install
셋째 줄인 "make install" 입력 단계에서 "permission denied" 에러를 마주한다면, 아래 코드를 실행하여 "make install"의 권한을 해제해 주면 됩니다.
(optional) permission 에러 해결책
make install DESTDIR=/tmp/myinst/
sudo cp -va /tmp/myinst/ /
(Optional) 4. 고유명사 사전 등록여부 확인
이제 정상적으로 고유명사 사전이 등록되었는지 확인해 보겠습니다.
from konlpy.tag import Mecab #Mecab 형태소 분석기
mecab = Mecab()
mecab.nouns('갯수가 10번 이상인 경우일 경우 알람')
파이썬에서 konlpy에 있는 Mecab을 import 해줍니다.
mecab 형태소 분석기 내 nouns를 통해 예시 문장에서 명사에 해당하는 단어만 추출해 보겠습니다.
위의 스크린샷과 같이, "알람"이라는 단어가 고유명사 처리가 정상적으로 되어 mecab 명사 추출 시에도 올바르게 출력되는 것을 확인하실 수 있습니다.
👨💻 맞춤 서비스
저희 AI/BigData 분석 솔루션 전문 브랜드 <데이터워너원 DATA101>에서는
맞춤형 데이터 수집부터 통계분석, 텍스트마이닝, AI 모델링, 논문작성을 지원해 드립니다 :)
자세한 내용은 아래 링크를 참고해 주세요!
포스팅 내용에 오류가 있거나 보완할 점이 있다면 아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다 :)
그럼 오늘도 즐겁고 건강한 하루 보내시길 바랍니다.
고맙습니다😊
'AI & 빅데이터 > 자연어처리(NLP)' 카테고리의 다른 글
[파이썬/NLP] 문자열 치환하기 (찾아바꾸기) (0) | 2021.02.16 |
---|---|
[파이썬/NLP] 이모티콘을 텍스트로, 텍스트를 이모티콘으로 변환하기! (0) | 2021.02.01 |
[파이썬/NLP] 빠르게 한국어 형태소 분석하는 방법 (feat. KoNLPy) (0) | 2021.01.18 |
[Python/NLP] 텍스트 내 이모티콘/이모지 제거하는 방법! (0) | 2021.01.16 |
[Python/NLP] KoNLPy 설치하는 방법에 대해 알아보자! (0) | 2021.01.10 |