ML & DL/NLP

· 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
오늘은 자연어처리를 진행할 때 자주 참고하게 될 hugging face 관련한 실습을 진행하였다. 우선 지금까지 배운내용이 사용되진 않지만 전체적인 flow가 어떻게 되는지 참고할 수 있다. 1. Huggingface HuggingFace란 자연어처리 모델에서 사용되는 Transformer 기반의 다양한 모델들과 학습 데이터셋들을 모아놓은 플랫폼이다. 또한 pretrained 모델들도 쉽게 사용할 수 있기 때문에 편리하다. GitHub - huggingface/transformers: 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX. 🤗 Transformers: State-of-the-art Machine..
창빵맨
'ML & DL/NLP' 카테고리의 글 목록 (3 Page)