글 작성자: 디자이너 백

https://ratsgo.github.io/natural%20language%20processing/2017/08/16/deepNLP/

딥러닝 기반 자연어처리 기법의 최근 연구 동향 · ratsgo's blog

딥러닝 기반 자연어처리 기법의 최근 연구 동향 16 Aug 2017 | deep NLP 딥러닝 기반 자연어처리 기법 연구가 봇물을 이루고 있습니다. 최근 연구트렌드를 정리한 페이퍼가 나와서 눈길을 끄는데요. 바로 아래 논문입니다. Young, T., Hazarika, D., Poria, S., & Cambria, E. (2017). Recent Trends in Deep Learning Based Natural Language Processing. arXiv preprint arXiv:1708.02709. 저자의 허락을 받아 한국어...

딥러닝 기법은 데이터의 계층적인 표션 을 학습하는 다층 레이어를 사용한다. 그리고 딥러닝은 많은 도메인에서 최첨단 결과를 내고 있다. 최근 다양한 모델 디자인과 기법들이 자연어처리 분야에서 꽃피고 있다.

본 논문에서 수많은 NLP 과제에 적용된 의미 있는 딥러닝 모델과 기법을 검토하고 이들을 성취에 관해 자세히 설명한다 또는 다양한 모델 비교, 대조함으로써 딥러닝 기반 NLP 기법의 과거, 현재, 미래에 대해 이해할 수 있도록 할 것이다.

1. 서론

자연언어처리(NLP)는 인간 언어 분석 표현을 자동화하기 위한 계산 기법이다. NLP연구는 문장 하나 처리하는데 7분이 소요되던 펀치카드와 배치하는 과정의 시대로부터 1초만에 수백만 웹페이지를 처리할 수 있는 구글의 시대로 발전해왔다. NLP는 컴퓨터로 하여금 파싱에서부터 기계번역, 대화시스템에 이르기까지 모든 과업을 수행할 수 있도록 한다.

딥러닝 아키텍처와 알고리즘은 컴퓨터 비전과 패턴인식 같은 분야에서 이미 의미 있는 발전을 이뤘다. 이러한 경향이 나타난 이후, 최근 딥러닝 기법 기반의 NLP연구가 늘고 있다.

(중략)

2. 분산표상

통계기반의 자연어처리 기법(Statistical NLP)은 복잡한 자연어를 모데링하는 데 기본 옵션으로 부상했다. 그러나 초기에 이 기법은 악명 높은 '차원의 저주'로 어려움을 겪었다. 언어모델은 결합확률 함수를 학슴해야 했기 때문이다. 이 문제는 저차원 벡터공간에 존재하는 단어의 분산 표상을 학습하는 연구의 동기가 되었다.

단어 임베딩

분산표상으로 표현된 벡터 또는 단어 임베딩은 근본적으로 distributional hypothesis를 전제로 한다. 이 가정은 비슷한 의미를 지닌 단어는 비슷한 문맥에 등장하는 경향이 있을 것이라는 내용이 핵심이다. 따라서 이 벡터들은 이이웃한 단어의 특징을 잡아내고자 한다. 분산표상 벡터의 주된 장점은 이 벡터들이 단어 간 유사성을 내포하고 있다는 점이다. 코사인 유사도 같은 지표를 사용함으로 써 벡터간 유사성을 측정할 수 있다.

단어 임베딩은 딥러닝 모델의 첫번째 데이터 처리 계층에 자주 사용된다. 일반적으로, 단어 임베딩은 레이블이 없는 방대한 말뭉치에서 보조적인 목적함수(예컨대 이웃단어로 중심단어를 예측한다. 각 단어벡터는 일반적 문법적, 의미적 정보를 내포한다.)를 최적화함으로써 사전된다. 단어 임베딩은 문맥 유사도를 잡아내는데 효율적이라는 사실이 증명되고 있다, 또한 임베딩 벡터의 차원은 착은 덕분에 계산이 빠르고 효율적이다.

이러한 임베딩 벡터를 생성하는 모델은 수년간 간단한 뉴럴네트워크였다. 좋은 임베딩을 생성하는 데 있어 깊은 구조의 뉴럴네트워크가 필요하지 않았다. 그러나 딥러닝 기반의 NLP모델은 언제나 이러한 임베딩 벡터를 활용해 단어, 구, 문장을 표현한다. 이는 사실 전통적인 단어 빈도수 기반의 모델과 딥러닝 기반의 모델간의 가장 큰 차이점이다.

(중략)

보다 최근의 기법은 레이블이 없는 데이터로부터 N-gram 임베딩을 직접적으로 학습시키는 방법이다

또다른 한게는 주변 단어의 작언 윈도우 내에만 기반하는 임베딩을 학습하는 데서 비롯된다. 때때로 Good과 Bad 같은 단어가 거의 같은 임베딩을 공유한다. 이는 감성분석같은 태스크에서는 문제가 된다. 때로는 이러한 임베딩은 상반된 극성을 갖는 단어가 의미상 유사한 단어로 클러스터링된다. 이는 감성분석에 사용되는 다운스트림 모델이 이러한 대조적인 극성을 구별하지 못하게 만들어 성능 저하로이어진다. ... 그들은 임베딩을 학습하는 동안 손실함수에 정답 극성을 포함시켰다.

문자임베딩

단어 임베딩은 문법적, 의미적 정보를 잡아낼 수 있다. 그러나 품사태깅이나 개체명인식 같은 태스크에서는 단어 내부의 형태 정보 또한 매우 유용하다. 문자 수준이나 자연어이해 시스템 구축은 어느 정도 관심을 끌고 있다.

특정 NLP 태스트에 있어서는 형태적으로 복잡한 언어에 대한 개선된 결과가 보고된다.

단어 임베딩과 함께 문자 수준 임베딩을 개체명 인식 문제에 적용해 포르투갈어와 스페인어 말뭉치에서 state - of -the -art 수준의 결과를 냈다.

..

이런언어에 딥러닝 기법을 적용하는 연구들은 단어보다 문제 임베딩을 선호하는 경향이 있다. 예를 들면 Pen et al은 radical 기반의 처리가 감성 분류 성능을 크게 개선할 수 있음을 입증했다. 그들이 제안한 계층적 임베딩은 문자 수준의 의미뿐 아니라 감성 정보까지 포함한다.


https://brunch.co.kr/@geumjaelee/1

논리로 이해하는 자연어처리

지도 학습과 비지도 학습 | 대부분의 사람들은 자연어 처리를 알고리즘으로만 이해하려고 한다. 사실 그래서 자연어 처리가 어렵게 느껴진다. 자연어 처리의 본질은 데이터다. 엔지니어는 알고리즘만 알아서는 부족하다. 오히려 내가 처리하려는 데이터가 어떻게 생겼는지를 이해해야 한다. 데이트를 하려고 해도 이성을 다루는 기술만 배운 사람과 이성, 그 자체를 아는 사람은 다르다. 누가 연애에 성

brunch.co.kr

자연어 이해의 핵심 포인트 2가지

1. 집합으로 이루어진 자연어 덩어리에 레이블로 짝을 짓는가

2. 음성처리나 제너레이터처럼 어떤 단어의 다음 단어를 예측

술적으로면 알고리즘으로만 이해하려면 어렵다. 그런데 어렵지 않다.

1번의 경우 어떤 글을 읽으면 그 글의 "의미"를 이해할 수 있다. 물론 읽는 사람의 지식 정도에 따라서 글은 전혀 다르게 읽힌다. 아는 만큼 보이는 법이다. 바꿔 말하면 아는 만큼 글과 의미를 짝 짓는다. 이미지 처리를 해보았다면 이 과정은 좀 더 쉽게 이해된다. 이미지 처리 경우 사진을 보고 그것을 레이블을 맞추는 것이 자연어 처리에서의 의미 이해와 같은 맥락이다.

귀납적 추론 / 연역적 추론

귀납적추론은 부분에서 전체를 추론하는 방식이다. 장문의 글을 읽고 화자의 의도를 알아맞히는 것과 같다. 앞서서는 의도나 의미를 레이블이라고 했는데, 왠지 의도는 한 단어 이상일 것 같다. 레이블도 한 단어로 이루어질 필요는 없다.