-
자연어처리(NLP) Approach딥러닝 2023. 7. 13. 22:22
자연어처리 approach는 크게 3가지로 분류될 수 있다.
1. Rule-Based NLP
Hand-coded rule로 자연어처리를 하는 것으로, 일일이 언어학적인 규칙에 대한 것을 기술하는 것이다. 언어학적인 현상을 rule을 통해서 기술함으로써 정확한 처리가 가능하였지만, 실질적으로 수많은 언어학 현상들을 rule을 통해 기술하는 것은 불가능하며, 언어는 예외적인 측면들이 많아 단순 rule-based 를 이용해서는 모든 언어 현상을 cover할 수 없다. 또한 기본적으로 정문에 대한 규칙을 쓰기 때문에 오류가 있는 문장은 처리하기 어렵다. (일상 생활에서 쓰는 언어는 정문이 아닌 경우도 많다.)
2. Statistical NLP
rule-based NLP의 여러 문제점으로 통계적인 방법을 이용하게 되었다. 예를 들어 통계적으로 대부분 bank라는 단어가 은행이라는 뜻으로 쓰이므로, 은행으로 처리하는 것이다. (실질적으로 둑이라는 의미로 쓰였을지라도) 이 방법은 실제 데이터에서 중의성(ambiguity)를 해결하는데 많은 도움을 주었고 rule-based보다 flexible하고 오류가 잘 나지 않는 특징(robust)이 있다.
3. Machine Learning & Deep Learning
먼저 기계학습 방법은 언어학적인 feature를 사용하여 학습하는 방법으로 언어학 도메인 지식을 많이 요하기 때문에 언어학에 대한 지식이 부족한 경우 진입 장벽이 높다는 특징이 있다. 따라서 다른 컴퓨터 공학, 머신러닝 학문보다 언어학의 비중이 컸다. 하지만 딥러닝의 발전으로, 언어학보다 인공지능 기술이 핵심이 되었고 언어학 도메인 지식의 부분을 data-driven으로 해결하여 언어학적인 지식이 없어도 충분히 cover할 수 있는 장점이 있다.
보통 현업에서는 3가지 approach 모두 쓰이는 듯하다. (회사가 어떤 방향성을 가지고 있느냐에 따라 다르겠지만) 내가 듣고 경험한 바로는 상용화 서비스를 위해서는 위 3가지 방법이 다 필요한 것으로 보인다. 결국 상용화라는 것은 사용자가 서비스를 사용함에 있어서 불편함이 없어야하는데 그만큼 정확도가 높아야한다는 것이다. 이를 위해서는 기본 딥러닝, 머신러닝 기반에 통계와 rule based 방법이 필요하다. 당연히 점차 딥러닝의 비중이 커지겠지만 아직까지는 딥러닝만으로 상용화된 서비스를 하기에는 위험한 부분이 많다고 생각한다.
'딥러닝' 카테고리의 다른 글
One-Hot encoding (원핫 인코딩) (0) 2023.07.17 자연어처리 전처리 과정(Pre-processing) (0) 2023.07.14 자연어처리란? (0) 2023.07.11 딥러닝 이론-8-2 : 딥러닝의 기본 개념2 (1) 2023.07.10 딥러닝 이론-8-1 : 딥러닝 기본 개념 1 (0) 2023.07.09