반응형

NLP 37

[NLP] Text Similarity

Text Similarity 텍스트가 얼마나 유사한지는 표현하는 방식 같은 단어의 개수를 사용해서 유사도를 판단하는 방법 형태소로 나누어 형태소를 비교하는 방법 자소 단위로 나누어 단어를 비교하는 방법 딥러닝을 기반으로 텍스트의 유사도를 측정하는 방법 Jaccard Similarity 자카드 유사도 또는 자카드 지수는 두 문장을 각각 단어의 집합으로 만든 뒤 두 집합을 통해 유사도를 측정하는 방식 두 집합의 교집합인 공통된 단어의 개수를 합집합(전체 단어의 수)로 나눔 유사도 값은 0 ~ 1, 1에 가까울수록 유사도가 높음을 의미 Cosine Similarity 두 개의 벡터값에서 코사인 각도를 구하는 방법 유사도 값은 -1 ~ 1, 1에 가까울수록 유사도가 높음을 의미 두 벡터간의 각도를 구해 방향성의..

[NLP] Text Classification

Text Classification 자연어 처리 기술을 활용해 특정 텍스트를 사람들이 정한 몇 가지 범주(class) 중 어느 범주에 속하는지 분류 데이터의 정답 라벨 유무에 따라 학습 방법 선택 지도 학습을 통한 텍스트 분류 데이터에 대해 각각 속한 범주에 대한 값(라벨)이 이미 주어져 있음 주어진 범주로 글들을 모두 학습한 후 학습한 결과를 이용해 새로운 글의 범주를 예측 분류 모델 예시 나이브 베이즈 분류(Naïve Bayes Classification) 서보트 벡터 머신(Support Vector Machine) 신경망(Neural Network) 선형 분류(Linear Classifier) 로지스틱 분류(Logistic Classifier) 랜덤 포레스트(Random Forest) 비지도 학습을..

[NLP] NLP(Natural Language Processing)

NLP(Natural Language Processing) 컴퓨터를 이용하여 인간 언어의 이해, 생성 및 분석을 다루는 인공지능 기술 자연어를 컴퓨터가 해독하고 그 의미를 이해하는 기술 NLP = NLU + NLG NLU(Natural Language Understanding) 문자로 된 언어를 입력으로 직접 받아들여서, 목적에 맞게 내부적으로 처리해내는 과정 자연어 표현을 기계가 이해할 수 있는 다른 표현으로 변환시키는 것 NLU 사용하는 기술 Word Embedding 단어나 형태소를 벡터화하는 기술 MRC 기술 및 대화 모델 사용자가 어떤 질문을 했을 때 기계는 자신이 학습했던 내용 중에서 적절한 답변을 알아서 찾아 제공해주는 것 ※ MRC Machine Reading Comprehension, 기..

NLP/NLP 기초 2021.03.12

[NLP] Word2Vec

Word2Vec 신경망 모델을 사용하여 큰 텍스트 corpus에서 단어 연관성을 학습 단어의 의미가 벡터로 표현됨으로써 벡터 연산이 가능 단어가 가지는 의미 자체를 다차원 공간에 벡터화 하는 것 카운트 기반 방법으로 만든 단어 벡터보다 단어 간의 유사도를 잘 측정 단어들의 복잡한 특징까지도 잘 잡아낸다 장점 단어간의 유사도 측정이 용이 단어간의 관계 파악에 용이 벡터 연산을 통한 추론이 가능 단점 단어의 subword 정보 무시(ex. 서울/서울시/고양시) OOV(Out of vocabulary)에서 적용 불가능 CBOW(Continuous Bag of Words) 어떤 단어를 문맥 안의 주변 단어들을 통해 예측하는 방법 입력 값으로 여러 개의 단어를 사용하고, 학습을 위해 하나의 단어와 비교 CBOW ..

NLP/Embedding 2021.03.12

[NLP] Word Embedding

Word Embedding 자연어로 되어 있는 문장을 컴퓨터가 받아들일 수 있도록 하는 문장의 전처리 과정 중 하나 유사한 의미의 단어를 군집화하고 벡터 연산을 통해 단어 간의 관계를 파악하여 추론이 가능해짐에 따라 자연어 처리 모델링에 필수 기술로 사용 자연어는 이미지보다 높은 차원의 데이터 vs Color : RGB 벡터로 표현 단어 간 유사도 및 중요도 파악을 위해 단어를 저차원의 실수 벡터로 맵핑하여 의미적으로 비슷한 단어를 가깝게 배치하는 자연어 처리 모델링 기술 Word Embedding 방식은 동형어, 다의어 등에 대해선 embedding 성능이 좋지 못하다는 단점이 있음 주변 단어를 통해 학습이 이루어지기 때문에, '문맥'을 고려할 수 없음 Sparse Representation (희소 표..

NLP/Embedding 2021.03.11

[NLP] KoNLPy

코엔엘파이(KoNLPy) 한국어 자연어 처리를 위한 JAVA 기반으로 만들어진 형태소 분석기 패키지 5개의 형태소 분석기(한나움, 꼬꼬마, 코모란, Okt, 메캅) 한꺼번에 이용 가능 오픈소스 소프트웨어, GPL v3 또는 그 이상 한국어 형태소 분석기 한나움(Hannanum) 꼬꼬마(Kkma) 코모란(Komoran) Okt(Open Korea Text): KoNLPy 0.5.0 전에는 Twitter로 불림 메캅(Mecab) soynlp 카이(khaiii) KoNLPy 설치 JAVA 1.7+ 이상 설치 KoNLPy는 JAVA로 구성되어 있기 때문에 JDK 설치 필요 JPype 1(>=0.5.7) 설치 JAVA와 Python을 연결해주는 역할 cp: python version 다운로드 경로: www.lfd..

NLP/KoNLPy 2021.03.11

[NLP] NLTK(Natural Language Toolkit)

NLTK(Natural Language Toolkit) 교육용으로 개발된 자연어 처리 및 문서 분석용 파이썬 패키지 영어 텍스트에 대한 전처리 및 분석을 하기 위한 도구로 활용 50여 개가 넘는 corpus 리소스를 활용해 영어 텍스트를 분석할 수 있게 제공 Terminologies English 한국어 Description Document 문서 - Corpus 말뭉치 A set of documents Token 토큰 Meaningful elements in a text such as words or pharases or symbols Morphemes 형태소 Smallest meningful unit in a language POS 품사 Part-of-Speech (ex. noun) NLTK 설치 pi..

NLP/NLTK 2021.03.10
728x90
반응형