본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

자연어처리(NLP; Natural Language Processing) - 종래형 자연어 처리 (1)

by neo-Lee 2023. 5. 31.

    자연어 처리(NLP; Natural Language Processing)는 인공지능 연구의 주요 분야 중 하나로, 1950년대부터 기계번역과 같은 자연어 처리 기술이 연구되기 시작했습니다. 1990년대 이후에는 대량의 말뭉치(corpus) 데이터를 활용하는 기계학습 기반 및 통계적 자연어 처리 기법이 주류가 되었으며, 최근에는 심층 기계 학습(딥러닝; deep learning) 기술이 기계 번역 및 자연어 생성 등에 적용되고 있습니다.

    우선 용어를 정리하겠습니다. 한국어, 영어, 프랑스어 등과 같이 인간사회의 형성과 함께 자연발생적으로 생겨나고 세월의 흐름과 함께 진화하고 일상의 생활 속에서 서로 의사소통을  행하기 위한 수단으로써 사용되고 있는 언어 (language)를 자연어라고 합니다. 반면에 컴퓨터 프로그램 언어는 우리들 인간이 인공적으로 만들어낸 언어로 인공어라고 불리어지고 있습니다. FORTRAN, COBOL, BASIC, PL/I 등은 인공어의 예입니다. 컴퓨터의 세계에서 "언어"라고 말하면 거의 이 인공어를 가리키는 것입니다.. 그래서 이 인공어와는 다른 언어라는 의미로 자연어라는 말을 사용하고 있습니다.

 

자연어 처리 (출처. 한국정보통신기술협회)

 

    먼저 인공지능(AI) 연구 초기부터 진행된 여러가지 자연어처리(NLP; Natural Language Processing) 기술들을 소개하고, 머신러닝(machine learning)에 의한 자연어처리를 공부합니다.

1. (종래형) 자연어처리

    (종래형) 자연어처리 기술이란 인공지능의 연구 초기부터 진행된 자연어처리 기술을 표현하는 용어입니다.  이 기술들은 자연어 처리에 획기적인 변화를 가져온 머신러닝(machine learning)에 의한 자연어처리에도 기초 기술로 사용됩니다. 자연어 처리(NLP)에는 자연어 분석과 자연어 이해 그리고 자연어 생성 등의 기술이 포함됩니다.

1.1 자연어 분석처리의 계층적 절차

    자연어 분석은 단계에 따라 형태소 분석(morphological analysis), 구문 분석(syntax analysis), 의미 분석(semantic analysis) 및 화용(話用) 분석(pragmatic analysis)의 4가지 단계로 나눌 수 있다.

  1. 형태소 분석(morpholoical analysis)은 주어진 자연어 문자열에서 형태소를 추출하여 문법적인 역할을 판별하는 처리입니다. 여기서 형태소란 자연어 문장을 구성하는 최소의 문법적 요소로, 일반적으로는 단어라고 부릅니다. 형태소 분석에 의해 문장을 구성하는 각각의 형태소가 분해되어 개별 품사 정보를 알 수 있습니다. 
  2. 구문 분석(syntactic analysis)은 형태소 분석에서 얻어진  형태소에 관한 정보를 이용하여 형태소어떻게 문장을 구성하는지를 분석합니다. 구문 분석을 통해 '어떤 형태소가 주어나 술어 등의 역할을 하는지', '형태소끼리의 수식 관계는 어떻게 이루어져 있는지' 등을 알 수 있습니다.
  3. 의미 분석(semantic analysis)에서는 형태소 분석이나 구문 분석으로 얻은 정보를 통행 주어진 문장의 의미를 분석하고, 자연어를 이용한 표현과는 독립된 의미 표현을 작성합니다. 또 담화 분석(discourse analysis)을 통하여 복수의 분장으로 이루어진 문서의 의미를 읽어냅니다.
  4. 화용 분석(pragmatic analysis)에서는 말하는 이, 듣는 이, 시간, 장소 따위로 구성되는 맥락과 관련하여 문장의 의미를 체계적으로 분석합니다.

1.2 형태소 분석(morphological analysis)

    형태소 분석에서는 주어진 문자열에서 형태소(단어)를 분리하고 사전과 대조하여 그 형태소의 역할을 결정합니다. 다음 (그림 1)은 한국어 문장(예: 아래 '입력문')의 형태소를 형태소 분석 툴(tool)인 메켑(MeCab)을 이용하여 분석한 결과를 보여줍니다.

 

      입력문: '형태소 분석에서는 형태소를 분리해서 그 역할을 결정합니다'

   

    분석 결과 (그림 1)

형태소
분석
에서

형태소

분리
해서

역할

결정
합니다
'NNG', T ,*, 형태소,*,*,*,*
'NNG', T ,*, 분석, *,*,*,*
'JKS', F, *, 에서, *,*,*,*
'JK', T, *, 는, *,*,*,*
'NNG', T, * , 형태소, *,*,*,*
'JKO', T, *, 를, *,*,*,*
'NNG', T, * , 분리, *,*,*,*
'JKB', F, *, 해서, *,*,*,*
'MM', F, *, 그, *,*,*,*
'NNG', T, *, 역할, *,*,*,*
'JKO', T, *, 을, *,*,*,*
'NNG', T, *, 결정, *,*,*,*
'XSV+EF', T, 합니다, inflect, XSV, EF, 하/XSV/*+ㅂ니다/EF*
'SF',*,*,*,*

    형태소 분석에서는 사전을 이용하여 형태소의 역할을 결정합니다. (그림 1)에서는 각 행의 두 번째 항목 이후부터는 각 형태소의 역할이나 원형, 받침의 유무 등이 표시됩니다. 예를 들면 첫 번째 단어 '형태소'는 명사이고 받침이 있다고 표시된 것입니다. 그리고 마지막 '합니다'는 동사이고, 원형은 '하다'라는 것을 알 수 있습니다.

 

    형태소 분석(morphological analysis)자연어처리에서 구문 분석이나 의미 분석의 전 처리 과정으로서 중요할 뿐 아니라 머신러닝이나 딥러닝을 이용한 자연어처리에서도 같은 과정이 적용됩니다.

  (다음 편에  '구문 분석'이 이어집니다)

 

2023.05.30 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI): 떼지능(Swarm Intelligence)

728x90

댓글