목록Deep Learning (51)
Note
1. 유클리드 거리 유클리드 거리는 좌표 평면 위에서 두 점 사이의 직선거리를 구하는 공식이다. 자연어 처리에서는 단어 사이의 거리를 나타내고자 하기 위해 유클리드 거리를 구한다. 위 식은 다차원에서 유클리드 공식이다. 2. 코사인 유사도 코사인 유사도는 직접적인 거리 방식이 아닌 두 벡터 간의 코사인 각도를 이용한 유사도 방식이다. 코사인 유사도는 -1 에서 1 사이의 값을 가지며, -1은 반대 방향, 0은 유사하지 않음, 1은 유사함을 나타낸다. 3. 자카드 유사도 자카드 유사도는 두 문서에서 공통된 비율로 유사한지를 알아보는 방식이다. 즉, 두 문서의 합집합에서 가지고 있는 공통된 벡터 교집합의 비율로 유사도를 측정하는 것이다. 자카드 유사도는 0에서 1사이 값을 가지며, 1에 가까울수록 두 문서는..
언어 모델이란? 단어 또는 문장에 확률을 할당하는 것을 하는 모델이다. 즉, 이전 단어 다음에 어떤 단어가 올 확률이 가장 높은 것인지를 찾아내는 것이다. 다른 유형으로는 두 사이에 어떤 단어가 올 확률이 높은 것인지를 찾는 모델이 있다. 흔히 말하는 언어 모델링은 주어진 단어를 토대로 주어지지 않은 단어를 예측하는 것이다. 단어 시퀀스에 확률을 할당해줄 때, 기본적으로 문장의 흐름이 자연스러운 쪽에 확률을 높게 할당한다. 기계 번역, 오타 교정, 음성 인식 등에서 문장의 구성이 좀 더 자연스러운 쪽으로 높은 확률을 할당한다. 예를 들면, '떠났다'와 '쩌났다'가 있다고 한다면 '떠났다'에 더 높은 확률을 할당하는 것이다. 이처럼 번역 과정, 오타, 음성 인식에서도 같이 활용된다. 크게 통계적 언어 모델..
1. 정규 표현식이란? 특정 규칙이 있는 텍스트 데이터를 좀 더 간편하고 빠르게 전처리 할 수 있는 방식이다. 2. 문법 문자 규칙 의미 \(역슬래쉬) 문자 자체 \d 모든 숫자( = [0-9] ) \D 숫자를 제외한 모든 문자 ( = [^0-9] ) \s 공백을 의미 ( = [\t\n\r\f\v] ) \S 공백을 제외한 문자 ( = [^\t\n\r\f\v] ) \w 문자 또는 숫자 ( = [a-zA-z0-9] ) \W 문자 또는 숫자가 아닌 문자 ( = [^a-zA-z0-9] ) ^문자가 오면 해당하는 것을 제외하고 라는 것을 알 수 있다. 특수 문자 의미 . 한 개의 임의 문자 ( \n은 제외 ) ? 앞에 문자가 있을수도 없을수도 있다.( 0 or 1개 ) * 앞에 문자가 무한개로 있을수도 없을수도 ..
표제어 추출은 기본 사전형 단어라는 의미를 가지고 있다. 한 단어에서 여러 개의 파생 단어가 나왔을 경우 그 뿌리를 찾아가는 과정이라고 할 수 있다. 어간 추출과는 다르게 단어의 형태가 보존되어 출력되는 것이 특징이다. 하지만 표제어 추출도 완벽하지 않은데 그 이유 중 하나로 해당 단어에 대한 품사 정보가 부족하기 때문이다. 이와 같은 현상을 막기 위해 품사 형태를 지정해주는 방법이 있다. Lemmatization 예시 am → be, the going → the going, having → have 예시를 보면 이전 포스팅한 어간 추출과는 다르게 대부분의 형태가 잘 유지된 것을 볼 수 있다.
어간 추출은 말 그대로 어간을 추출하는 작업이다. 정해진 규칙을 보고 단어의 어미를 자르는 작업이라고도 볼 수 있다. 어간 추출 속도는 표제어 추출보다 빠르다. 영어권 언어를 자연어 처리하는 과정에서 어간 추출을 해야 한다면 보통 포터 알고리즘을 많이 사용한다. Stemming 예시 am → am, the going → the go, having → hav 예시처럼 정해진 규칙을 보고 어미를 자르기 때문에 정확도가 높은 작업은 아니며, 사전에 없는 단어일 가능성도 있다.