ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [NLP] 자연어처리(Natural Language Processing)란?
    Data Analysis/Natural Language Processing 2021. 8. 22. 16:28

    Table of Contents

    1. Introduction
    2. 자연어처리(Natural Language Processing)란?
    3. 자연어처리 프로세스
    4. Reference

     

    Introduction

    자연어 처리는 인간과 컴퓨터 간의 소통을 돕는 기술 중 하나로, 컴퓨터가 인간의 언어를 이해하고 생성하는 것을 가능하다. 예를 들어, 이제는 인공지능 스피커를 통해 음성 명령을 내리거나, 챗봇(Chat-bot)을 통해 대화를 나누는 것이 일상적인 일이 되었다. 이러한 기술이 가능한 것은 바로 자연어 처리 기술 덕분이다. 다만, 현재의 자연어 처리는 아직까지 높은 정확도를 보여주고 있지 않다. 컴퓨터가 미묘한 문장의 의미나 뉘앙스를 정확하게 파악하는 것은 어려운 일이기 때문이다. 이러한 한계를 극복하기 위해 연구가 지속적으로 이루어지고 있으며, 기술적 발전이 계속되고 있다. 따라서, 자연어 처리는 꾸준한 발전과 연구가 필요한 분야 중 하나이다.

    [그림 1] 자연어 처리

     

    자연어처리(Natural Language Processing)란?

    자연어처리(Natural Language Processing, NLP)는 인간의 언어를 이해하고 처리하는 인공지능 기술로, 컴퓨터가 인간의 언어를 이해하고 생성하는 것이 가능하다. 이는 인간-컴퓨터 상호작용, 정보 검색, 기계 번역, 감정 분석, 자동 요약 등의 다양한 분야에서 활용하고 있다. 1950년대 기계 번역의 아버지인 워렌 웨이버(Warren Weaver)에 의해 기술 발표를 하였다. 90년대 들어서면서 인터넷 발전으로 인해 자연어 처리 분야 역시 급격한 발전을 이루게 된다. 이러한 자연어 처리는 현재, 자동 번역(Automatic Translation), 감성 분석(Sentimental Analysis), 질문-응답 시스템(Question-answering Systems), 정보 검색(Information Retrieval), 자동 요약(Text Summarization), 개체명 인식(Named Entity Recognition) 등에 활용하고 있다.

     

    자연어처리 프로세스

    자연어처리를 하는 과정은 크게 텍스트 전처리부터, 배포까지 총 5개의 단계를 거처서 수행한다. 텍스트 전처리에서는 원본 텍스트 데이터를 정제하고 필요한 정보를 추출한다. 이때, 전처리의 진행 정도에 따라 성능에 차이가 존재한다. 전처리가 종료된 텍스트 데이터는 다양한 방식을 통해 수치화 작업을 진행하는 이를 피쳐 추출이라고 한다. 분석 목적에 따라 모델링 단계에서 모델을 구축하고, 평가 단계에서 구축한 모델의 평가를 진행한 뒤 서비스 가능한 수준까지 모델 성능을 개선하면 이제 배포하게 된다.

    [그림 2] 자연어 처리 프로세스

     

    자연어 처리 in R

    R에서 자연어를 처리하기 위한 라이브러리가 다양하게 존재하며, 일부 라이브러리를 공유하려고 한다. 먼저, tm library는 R에서 가장 많이 활용하는 NLP 라이브러리다. 텍스트 데이터의 전처리부터 피처 추출, 문서 분류, 감성 분석까지 수행할 수 있는 라이브러리이다.

    quanteda는 대용량 텍스트 데이터를 처리하는데 최적화된 패키지로 데이터 전처리와 문서 분류, 문서 유사도 분석 등의 작업을 수행할 수 있다. 이와 유사하게 RWeka, openNLP, NLP 등의 라이브러리도 텍스트 처리부터 문서 분류까지 작업을 할 수 있는 라이브러리이다. 이 외에도 text2vec 라이브러리를 활용하면 워드 임베딩을 효과적으로 처리할 수 있다.

     

    Reference

    "Text Mining Package", Ingo Feinerer 등 3명, https://cran.r-project.org/web/packages/tm/tm.pdf

    "Quantitative Analysis of Textual Data", Kenneth Benoit 등 11명, https://cran.r-project.org/web/packages/quanteda/quanteda.pdf

    "R/Weka Interface", Kurt Hornik 등 5명, https://cran.r-project.org/web/packages/RWeka/RWeka.pdf

    "Modern Text Mining Framework for R", Dmitriy Selivanov 등 2명, https://cran.r-project.org/web/packages/text2vec/text2vec.pdf

    댓글

Designed by Tistory.