ML & DL/NLP

· ML & DL/NLP
분산표현은 분포가설이라는 가정하에 만들어진 표현방법으로, 비슷한 문맥에서 등장하는 단어들은 비슷한 의미를 가진다는 가설로, 주변(window크기) 단어에 따라 정의되는 문맥의 의미를 이용하여 단어를 벡터로 표현하는 것이다. 이 또한 원-핫 벡터처럼 차원이 단어집 합의 크기일 필요가 없으므로, 효율적인 방식이다. 이는 이전에 말한 밀집 표현과 혼용하여 사용되며 하나의 차원이 하나의 속성을 표현하는 것이 아니라, 여러 차원들이 조합되어 속성들을 표현한다. 이런 방법을 이용하여 단어의 유사도 또한 계산할 수 있다. 1. Word2Vec `Word2Vec`모델은 분포 가설 하에 표현한 분산 표현을 따르는 Google이 공개한 워드 임베딩 모델이다. 이 모델에는 두 가지 방식 `CBOW`와 `Skip-Gram` ..
· ML & DL/NLP
워드임베딩은 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화하는 기술로 단어를 sparse matrix 형태로 표현한다. 이러한 과정을 거쳐 나온 것을 임베딩 벡터라고 부른다. 임베딩 벡터는 모델의 입력으로 사용되게 된다. 기계는 자연어를 이해할 수 없기 때문에 데이터를 기계가 이해할 수 있도록 숫자 등으로 변환해 주는 작업 자체를 인코딩이라고 부른다. Sparse representation 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스값만 1로, 나머지는 모두 0으로 표현한 벡터이다. 이렇게 벡터 혹은 행렬의 값이 모두 0으로 표현된 것을 희소 표현이라 한다. 이렇게 만들어진 sparse matrix는 단어의 개수가 늘어나면 벡터의 차원이 한없이 커지기..
· ML & DL/NLP
오늘은 BERT 모델을 이용하여 임베딩 및 유사도 측정 실습을 진행하였다. 1. 문서 집합 구축 우선 이후에 유사도를 이용하여 유사성과 모호성을 구별해 보기 위해 적절한 문장 예시들을 생성하였다. sen_1 = "오늘 점심에 배가 너무 고파서 밥을 너무 많이 먹었다." sen_2 = "오늘 점심에 배가 고파서 밥을 많이 먹었다." sen_3 = "오늘 배가 너무 고파서 점심에 밥을 너무 많이 먹었다." sen_4 = "오늘 점심에 배가 고파서 비행기를 많이 먹었다." sen_5 = "어제 저녁에 밥을 너무 많이 먹었더니 배가 부르다." sen_6 = "이따가 오후 7시에 출발하는 비행기가 3시간 연착 되었다고 하네요." training_documents = [sen_1, sen_2, sen_3, sen_..
· ML & DL/NLP
1. 자연어의 특성 자연어를 기계가 처리하도록 하기 위하여 먼저 자연어를 기계가 이해할 수 있는 언어로 바꿔야 함. 이는 이전 글에서 작성했던 토큰화 작업의 결과인 단어 사전 Vocabulary를 기계가 이해할 수 있도록 표현해야 한다. -> 이 과정이 매우 어려움. 하나의 단어가 여러 뜻을 가지기 때문. 2. 단어의 유사성과 모호성 2-1. 단어의 형태 단어에는 다음과 같은 여러 가지 형태가 존재한다.-> _동형어_, _다의어_,_동의어_,_상위어_,_하위어_ 동형어: _동형어_란 형태는 같으나 뜻이 다른 단어로 _동음이의어_라고 부른다. ex) 먹는 배, 신체 부위 배 다의어:_다의어_란 하나의 형태가 여러 의미를 지니면서도 그 의미들끼리 서로 연관이 있는 단어. ex) 마음을 먹다, 음식을 먹다, ..
· ML & DL/NLP
영어의 경우 합성어나 줄임말 등과 같은 예외처리만 되면 띄어쓰기를 기준으로 토큰화를 진행하면 어느 정도 성능을 보장할 수 있다. 그러나 한국어의 경우 조사나 어미 등이 발달되어 있기 때문에 띄어쓰기만으로 단어를 분리하면 의미적인 훼손이 일어날 수 있다. 한국어의 경우 띄어쓰기 단위가 되는 단위를 어절이라고 부르는데, 어절 토큰화와 단어 토큰화가 같지 않기 때문이다. 이는 한국어가 교착어이기 때문에 발생하는 특징이다. 1. 형태소 분석 형태소 분석이란 형태소를 비롯하여 어근, 접두사, 접미사, 품사 등 다양한 언어적 속성의 구조를 파악하는 것을 의미한다. 이는 형태소를 추출, 분리하고 품사를 태깅(PoS) 순서로 진행된다. 만약 일반적인 영어와 같은 전처리 방법(띄어쓰기 단위로 분류)를 이용하면 한국어에서..
· ML & DL/NLP
1. 자연어 Corpus `자연어 Corpus`=대량의 텍스트 데이터. --> 자연어처리 작업의 특성을 잘 담아낼 수 있는 다양한 패턴의 데이터가 포함되어야 하며, 유의미한 규모를 가지고 있어야 하고 그 데이터가 대표성을 띄워야 한다. -> 문제정의 및 설루션을 설정해야 하며 언어 종류, 코퍼스의 종류, 코퍼스의 규모 등을 결정해야 한다. 코퍼스는 외부데이터셋 혹은 온라인 뉴스, 책, 웹 등에서 저작권을 고려하여 수집할 수 있다. 1-1. 코퍼스의 종류 필요한 자연어 코퍼스 유형을 구체적으로 결정해야 한다. 이는 자연어 처리 작업과 연결된다. 이들은 해당 자연어 처리 작업의 특성을 잘 담아낼 수 있도록, 데이터의 패턴이 다양할수록 모델의 일반화 성능이 좋아진다. ex) 기계번역 작업 = 영어 원본 문장,..
창빵맨
'ML & DL/NLP' 카테고리의 글 목록 (2 Page)