/NLP

자연어 처리

Primary LanguageJupyter Notebook

1. 임베딩(embedding)

1) 임베딩 정의

자연어 처리(NLP)에서 임베딩이란,
사람이 쓰는 자연어를 기계가 이해할 수 있는 숫자의 나열인 벡터로 바꾼 결과 혹은 그 일련의 과정 전체를 의미한다.

2) 임베딩 역할

단어/문장 간 관련도 계산 : 단어나 문장 간의 관계를 나타낼 수 있음
의미적/문법적 정보 함축 : 단어의 정보가 벡터로 담겨있어서 유추 평가가 가능(사칙연산이 가능:: 아들 - 딸 + 소녀 = 소년)
전이 학습 : 임베딩을 다른 딥러닝 모델의 입력값으로 쓰는 기법(추후 공부 더 필요)

3) 환경

임베딩 모델 중 GPU가 필요한 모델이 존재(고성능)
리눅스에서만 돌아가는 모델도 있음
docker를 이용하면 윈도우든 리눅스든 상관없이 우분투 환경에서 실행 가능
(docker: 컨데이너 기반의 오픈소스 가상화 플랫폼//자세히 알고 싶다면 여기)
GPU가 필요한데 CPU만 있다면 AWS를 사용해야함

2. KoNLPy(코엔엘파이)

1) KoNLPy란

은전한닢, 꼬꼬마, OKt 등 5개 오픈소스 형태소 분석기
python 환경에서 사용할 수 있도록 인터페이스를 통일한 한국어 자연어 처리 패키지.

2) 5가지 분석기

  • Mecab
    : 일본어용 형태소 분석기를 한국어 사용이 가능하도록 수정.
  • Okt
    : 오픈 소스 한국어 분석기. 과거 트위터 형태소 분석기.
  • Komoran
    : Shineware에서 개발.
  • Hannanum
    : KAIST Semantic Web Research Center에서 개발.
  • Kkma
    : 서울대학교 IDS(Intelligent Data Systems) 연구실에서 개발.