자연어처리와 언어학 지식

2021. 10. 7. 21:22linguistics

반응형

면접에서 CS가 아닌 언어학 전공자로서 무엇이 강점이냐고 물었을 때, 뭔가 답을 하긴 했지만 솔직히 나조차도 설득이 안 됐다.. 근데 이 강연을 들으니까 진짜 언어학이 중요한 것 같네!!

https://www.youtube.com/watch?v=6PoA05AUllg&feature=youtu.be

1. 형태소 분석기 개선

딥러닝이 해결할 수 있는 과제를 크게 3가지로 보면 1) 분류 2) 회귀 3) 생성 및 변형이다. 기존의 형태소 분석기 학습 방법은 3) 생성 및 변형 방법을 사용했다. 예를 들어, input이 '흘러'로 주어지면 그에 맞는 output으로 '흐르+어'를 생성해내는 방식이다. 그러나 이렇게 end-to-end 방식으로 학습했을 때 성능에 한계가 있었다.

이를 개선하여 형태소 분석기 구축 과제를 재정의했다. 우선 언어학 지식을 통해 각 음절의 형태소 분석 결과 변화하는 모든 가능한 시나리오를 만들었다. 예를 들어, ㅂ 불규칙의 경우 '귀여워'가 '귀엽+어'로 태깅되어야 하는데, '귀'는 그대로, '여'는 ㅂ이 첨가되는 형태, '워'는 '어'로 변화한다. 이후 형태소 분석 과제를 1) 분류 과제로 보았다. 각 음절을 input으로 하고 이 input이 200가지의 시나리오 중 어디에 속하는지 분류하는 것이다. 이렇게 해서 성능이 99%까지 올라갔다고 한다.

2. word2vec 벡터 개선

기존의 word2vec은 window size에 따라 타겟 단어의 문맥 단어를 결정한다. window size가 2라면 앞뒤로 2개 단어를 무조건 문맥 단어로 선택하는 것이다. 이는 물리적으로 가까운 단어가 통사적으로도 가까울 거라는 가정에 따른 것이다. 하지만 언어라는 것이 항상 물리적 거리와 통사적 거리가 일치하는 것은 아니다. 예를 들어 'She who has studied hard for many years won the prize.'와 같은 문장에서 years는 won이라는 동사와 물리적으로 가까이 있지만 통사적으로는 크게 상관이 없고 오히려 제일 멀리 떨어져있는 she가 won과 더 큰 관련이 있다. 이런 정보들을 포착하기 위해 dependency parsing을 하고 이에 따라 통사적 거리가 가까운 것들을 문맥 단어로 설정해 word2vec을 학습했다고 한다. 기존의 word2vec 벡터는 품사가 달라도 topic이 비슷한 단어들도 뽑혔다면, 이 방법의 경우 의미와 품사가 모두 유사한 단어들만 뽑혔다고 한다.

3. 문장 벡터 구축 방식 개선

요즘은 트랜스포머 기반 모델에 문장 전체를 input으로 집어넣어 문장벡터를 만든다. 근데 기본적으로 (숙어 같은 예외 제외) 문장의 의미는 단어들의 의미가 합성되어 만들어지는 것이므로, 상대적으로 계산이 쉬운 단어 벡터를 활용해 문장 벡터를 구축하는 것이 더 경제적이다. 하지만 알려진 바와 같이 단순히 문장에 속한 단어들의 벡터를 모두 더하는 것은 성능이 별로다. 그리고 어순 정보도 무시하게 되니까 언어학적으로도 당연히 안 좋은 접근 방식이다.

여기서도 통사적 지식을 활용해 가중치를 주는 등의 방식이 가능하다. 형용사와 명사로 이루어진 명사구에서 핵어인 명사에 가중치를 주고 더하는 등의 방식이 가능하다. 이것도 형태소 분석기의 접근 방식과 유사하게, 모든 가능한 통사적 합성 방식의 리스트를 만들고 이들 각각에 맞는 가중치 값 또는 가중치 행렬을 만들어 계산하는 것도 가능할 것이다.

4. 문장 생성 방식 개선

현재는 linear하게 문장을 생성하고 있다. 예를 들어 w0 w1 w2가 주어졌을 때, 그 다음에 올 w3은 무엇인지 예측하는 방식이다. 하지만 인간은 그런 식으로 문장을 생성하지 않는다. 우리 머릿속에는 통사론 트리 같은 위계구조가 있고, 발화할 때만 그런 위계구조가 없는 linear한 형태가 되는 것이다. 기계가 문장을 생성할 때도 통사적 위계관계에 맞는 순서로 생성하게 하면 어떨까?라는 접근 방식이다.

통사론.... 작년에 들은 통사론.. 매우 어렵지만 재밌긴 했지만 다 까먹음 ㅋ 근데 이 접근 방식은 진짜 완전 흥미롭다.

반응형