자연어, 비전 6

카카오톡 대화 내용으로 개인별 워드클라우드(wordcloud) 그리기

내 고향 친구들이 있는 단톡방에는 14명 정도가 있고, 매우 활성화 되어있다. 전에도 몇 번 작업해서 친구들한테 공유해준적이 있는데, 카카오톡 대화내용 내보내기 기능을 통해서 받은 txt파일을 워드클라우드로 그려서 공유해주면 친구들이 매우 흥미로워했다. 어차피 데분을 하는 입장에서 귀찮을 뿐 어렵지는 않은 내용이다. 코드를 직접 AtoZ 짠 건 아니고, 여러 군데서 취합해서 내 입맛에 맞게 조금씩 변형했다. 간단한 몇 가지 step으로 워드클라우드를 그려보자. 카카오톡 대화내용 내보내기를 하면 .txt 파일로 저장한다. 이를 정규식을 통해서 읽어보자 1. 패키지 로드 import re import pandas as pd import datetime as dt from soynlp.normalizer im..

자연어, 비전 2022.06.22

transformer 구현 및 설명

transformer에 관한 구현 및 설명을 정리한 것이다. 원문은 wikidocs에 있는 설명 자료를 거의 그대로 카피한 것이고, 공부할 겸, 필사하는 느낌으로 정리했다. transformer 설명 자료 원문 주소 transformer 설명자료¶ transformer 논문: https://arxiv.org/abs/1706.03762 transformer 설명자료: https://www.youtube.com/watch?v=Yk1tV_cXMMU (반드시 볼 것) In [1]: import numpy as np import matplotlib.pyplot as plt import tensorflow as tf 1. transformer의 하이퍼 파라미터 정리¶ $d_{model}$ = 512 트랜스포머의 인..

자연어, 비전 2021.06.03

시퀀스 모델링

시퀀스 모델링¶ 이미 시공간에 정의된 수많은 문제를 해결하는 과정에서 중요한 점은 시간의 개념을 적용한다는 것 자연어 처리에서도 순차적으로 입력을 넣고, 입력에 따라 모델의 은닉 상태가 순차적으로 변하며, 상태에 따라 출력 결과가 순차적으로 반환되는 함수가 필요함 이러한 시간 개념 또는 순서 정보를 사용하여 입력을 학습하는 것을 시퀀셜 모델링이라고 함 신경망뿐만 아니라(은닉 마르코프 모델이나 조건부 랜덤 펄드 등의) 다양한 방법을 통해 이런 문제에 접근할 수 있음 신경망에서는 순환 신경망(RNN)이라는 아키텍처를 통해 효율적으로 문제를 해결할 수 잇음 1. 순환 신경망¶자연어 처리에 RNN을 적용하는 사례¶ 입력: 다수/ 출력: 단일 -> many to one 가장 흔한 예제가 감성 분석과 같은 텍스트 ..

자연어, 비전 2020.11.10

워드 임베딩

단어 임베딩¶ 같은 데이터를 표현할 때 가능한 낮은 차원으로 표현할수록 쉽게 모델링하고 학습할 수 있으므로, 희소벡터보다는 Dense한 벡터로 표현하는게 좋음 1. 차원 축소¶ 더 작은 차원으로 효율적으로 정보를 표현하는 차원 축소의 이유와 방법에 대해 알아보기 PCA(주성분 분석)¶pass 매니폴드 가설¶ 높은 차원에 존재하는 데이터들의 경우, 실제로는 해당 데이터들을 아우르는 낮은 차원의 다양체 역시 존재한다는 가설 저차원의 각 공간의 차원 축은 고차원에서 비선형적으로 표현될 것이며, 데이터의 특징을 각각 표현함 딥러닝이 잘 동작한 이유¶ 대부분의 딥러닝이 문제를 풀기 위해 차원 축소를 수행하는 과정은, 데이터가 존재하는 고차원상에서 매니폴드를 찾는 과정 PCA 등과 달리 선형적인 방식에 비해 딥러닝..

자연어, 비전 2020.11.10

단어 유사도 정리

1. 단어의 의미¶단어와 의미의 관계¶ 단어는 겉으로 보이는 형태인 표제어 안에 여러 의미를 담고 있음 한 가지 형태의 단어에 여러 의미가 포함되어 생기는 '중의성'문제는 자연어 처리에서 매우 중요한 위치를 가짐 동형어와 다의어¶ 형태는 같으나 뜻이 서로 다른 단어를 동형어라고 함(예: 차) 동형어와 다의어의 차이점은, 다의어의 경우 한 형태의 단어가 여러 의미를 지니면서도 그 의미들이 서로 관련이 있는 듯을 갖는다는 것 그와 달리, 동형어는 아예 어원이 다른 의미들이 같은 형태를 띄는 단어 이렇게 한 형태 내에서 여러 의미를 지니는 동형어 또는 다의어의 경우에는 단어 중의성 해소(WSD)라는 방법을 통해 단어의 의미를 더 명확히 하는 과정이 필요함. 단어의 중의성을 해소하고자 주변 문맥을 통해 원래 단..

자연어, 비전 2020.11.09

자연어 처리를 위한 전처리 과정 정리

전처리 과정 개요¶ 코퍼스 수집 정제 문장 단위 분절 분절 병렬 코퍼스 정렬(생략가능) 서브워드 분절 에 관해 차례차례 알아보자 1. 코퍼스 수집¶pass 2. 정제¶ 원하는 업무와 문제에 따라, 또는 응용 분야에 따라 필요한 정제의 수준이나 깊이가 다름 ex) 음성인식: 사람의 음성을 그대로 받아적어야 하므로 괄호 또는 별표와 같은 특수 문자들을 포함해서는 안됨. 전화번호나 이메일주소, 신용카드 번호와 같은 개인정보나 민감한 정보들은 제거하거나 변조해서 모델링해야 할 수도 있음 전각문자 제거¶ 대부분의 중국어와 일본어 문서, 그리고 일부 한국어 문서의 숫자, 영자, 기호가 전각문자일 때가 있음. 이러한 경우 일반적으로 사용되는 반각문자로 변환해주는 작업이 필요함 대소문자 통일¶ 일부 영어 코퍼스에서는 ..

자연어, 비전 2020.11.06