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

자연어처리(NLP; Natural Language Processing) - 통계적 처리 및 기계번역 (3)

by neo-Lee 2023. 6. 2.

1.4 의미 분석(semantic analysis)

    의미 분석(semantic analysis)은 형태소 분석이나 구문 분석의 결과를 이용해서 자연어의 독립된 의미표현을 작성하는 과정입니다. 의미표현 방법으로는 필모어(Charles J. Fillmore)가 제창한 격문법(case grammar)이 유명합니다.

    격문법에서는 주격이나 목적격 등 언어로 표현된 표층격(surface case)에서 언어에 의존하지 않는 심층격(deep case)을 추출해서 의미를 표현합니다. 아래 (표 1)은 표층격의 예입니다.

 

        (표 1) 격문법의 심층격 예

격의 명칭 설    명
행위주격(A) 행위의 주체
경험 주격(B) 행위의 영향을 받거나 경험하는 실체
도구격(I) 사건의 원인이나 자극을 주는 대상
대상격(O) 이동이나 변화의 대상
원천격(S)  이동의 기점이나 변화의 초기 상태
목표격(G) 이동의 종점이나 변화의 마지막 상태
장소격(L) 사건이 발생하는 장소
시간격(T) 사건이 발생하는 시간

(표 1)에서 보는 바와 같이 격문법에서는 동사 등으로 이루어진 술어를 중심으로 격을 구성합니다. 예를 들어 (표 1) 첫 행에 있는 행위의 주격은 동작의 주체를 나타냅니다. 이것은 영어에서는 주어에 해당하는 말입니다. 또한 한국어에서는 격조사 '이(가)'를 동반하는 동작의 주체를 나타내는 말에 해당합니다. 영어와 한국어에서는 행위의 주격에 대응하는 단어(영어 'I', 한국어 '내가' 등)는 당연히 다르고 문장 속에서 나타나는 순서도 다를 수 있습니다. 즉, 표충격의 표현언어마다 다르다는 것입니다. 그러나 심층격에서 같은 의미표현은 언어와 상관없이 통일되게 표현할 수 있습니다.

    이처럼 격문법의미표현을 적용하면 주어진 언어의 종류에 상관없이 또 주어진 구체적인 자연어 문장표현에 영향을 받지 않으면서 문장의 의미를 표현할 수 있습니다.

1.5 통계적 자연어처리(statistical natural language processing)

    지금까지 설명한 자연어처리 방법을 이용하여 구체적인 언어처리 시스템을 만들려고 하면, 원리적으로는 문법이나 의미표현의 알고리즘을 사람이 수작업으로 작성하고 거기에 맞는 처리 프로그램을 만들면 가능합니다.  그러나 일반적이고 현실적인 자연어처리 시스템을 구성하기 위해서는 시스템 구현에 요구되는 문법기술이나 의미처리가 굉장히 복잡해지기 때문에 수작업으로는 구성하기가 매우 어렵고 자동으로 구성할 필요가 생겼습니다. 그래서 대규모 말뭉치(corpus)에서 통계적 처리로 자연어의 특징을 추출하는 방법이 연구되었습니다. 이것을 통계적 자연어처리(statistical natural language processing)라고 합니다. 말뭉치(corpus)란 자연어로 기술된 문장의 데이터베이스를 말합니다. 최근에는 수작업으로는 다루기 힘든 대규모 말뭉치에 자연어 처리가 도입되고 있습니다.

    통계적 언어처리 방법 중 하나로 엔그램(n-gram)에 의한 언어 모델 생성 방법이 있습니다. 엔그램이란 문자나 형태소의 n개 배열을 의미합니다.

    예를 들어 (표 2)예문 '형태소 분석에서는 형태소를 분리해서 그 역할을 결정합니다'를 2-gram으로 구성해 본 것입니다.

형태소          ---->          분석
분석             ---->          에서
에서             ---->          는
는                ---->           형태소
형태소        ----->          를
를               ----->          분리
분리            ----->          해서
해서            ----->          그
글                ----->          역할
역할            ------>         을
을                ----->          결정
결정            ----->          합니다
합니다        ----->           .

    (표 2) n-gram의 구성 예('형태소' 2-gram의 경우)

 

    n-gram은 형태소나 문자의 연쇄에 관한 정보를 다룰 수 있습니다. 예를 들어 대규모 말뭉치에서 '형태소' 2-gram을 작성하여 형태소의 연쇄에 관한 통계적 성질을 얻어낼 수 있습니다. 형태소 연쇄에 관한 성질이란 어떤 특정 형태소 다음에 오기 쉬운 형태소나 절대로 나타나지 않는 형태소와 같은 특성을 말합니다. 이 성질은 일종의 문법이고 자연어 분석이나 문장 생성에 이용할 수 있습니다.

 

    (표 2)의 '형태소'라는 말을 예를 들어보겠습니다. '형태소'라는 말에 이어지는 것은 '분석'과 '를' 두 개의 형태소이고, 다른 말은 연결되지 않고 있습니다. 이와 같은 분석을 대규모 말뭉치를 대상으로 한다면 두 개의 형태소 연쇄와 관련된 일반적인 성질을 확률값으로 구할 수 있습니다.

 

1.6 기계번역(machine translation)

    기계번역(machine translation)은 자연어처리 기술의 대표적인 응용기술 중 하나로, 서로 다른 자연어로 기술된 문장을 자동 변환해 주는 것입니다.

    전통적으로 기계 번역(machine translation)에는 단어 사전과 번역 규칙을 이용하는 규칙 기반 기계 번역(RBMT : Rule-Based Machine Translation)과 원문과 해당 번역문에 대한 대량의 말뭉치(corpus) 데이터를 활용하는 통계적 기계 번역(SMT : Statistical Machine Translation)이 주로 사용되어 왔습니다. 2013년에 원문과 해당 번역문 사이의 관계를 인공신경망으로 학습하는 신경망 기계 번역(NMT : Neural Machine Translation)이 개발되었으며, 기존의 통계적 기계 번역보다 우수한 성능을 보이고 있습니다.

 

    1) 초창기의 규칙 기반 기계번역은 두 언어의 대응관계를  단어 대 단어의 수준에서 조사하고 교환된 단어의 어순을 재배열하는 방법입니다. 그러나 서로 다른 언어의 각 맥락에 맞는 단어를 선택할 수 있어야 한다는 점에서, 이 같은 기계적 대응 작업의 결과는 완성도가 매우 낮아서 자연어 문장이 표현하는 다양성을 다루기 어려웠습니다. 따라서 기계번역의 적용 범위가 매우 한정된 언어표현에 그쳤습니다. 

    2) 다음으로 자연어를 분석해서 중간적인 의미표현을 추출하고, 그 의미표현으로 다른 언어의 표현을 생성하는 방법이 검토되었습니다. 중간언어 기계번역(interlingual machine translation)이라고도 불리는 이 방법은 고전적인 기계번역 방식의 하나로, 어느 하나의 언어지식에 의존하지 않는 중간적인 의미표현을 통한 기계번역을 말합니다. 이 방법은 원리적으로는 다양한 자연어 표현을 다룰 수 있지만 실제로는 자연어의 다양성을 충분히 표현할 수 있는 문법적 지식이나 사전을 사전에 사람이 직접 전처리 작업을 해주어야 했기 때문에,  이 방법으로 다룰 수 있는 문장의 종류나 표현 범위는 충분하지 못합니다. 

    3) 최근 기계번역에도 통계적 방법이 적용되고 있습니다. 통계적 방법에서는 미리 두 언어의 번역어와 번역문의 짝을 만들고 그것이 출현할 확률을 통계적으로 정해둡니다. 번역할 때는 확률이 높은 조합을 먼저 이용하면서 통계적으로 가장 적절한 번역문을 만들어 내는 방식입니다. 통계적 방법에 의한 기계번역에서도 통계 모델 표현에 신경망을 사용할 수 있습니다. 딥러닝신경망 기술이 발전되면서 신경망을 이용한 기계번역의 정확도도 비약적으로 향상되었습니다.

 

2023.06.01 - [인공지능(AI; Artificial Intelligence)] - 자연어처리(NLP; Natural Language Processing) (2)

728x90

댓글