자연 언어 처리

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

자연 언어 처리(自然言語處理) 또는 자연어 처리(自然語處理)는 인간이 발화하는 언어 현상을 기계적으로 분석해서 컴퓨터가 이해할 수 있는 형태로 만드는 자연 언어 이해 혹은 그러한 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 제반 기술을 의미한다.

컴퓨터가 이해할 수 있는 형태로 표현하고자 한다는 점에서 인공지능과 대단히 밀접한 관련이 있으며, 전산언어학과 거의 구별없이 비슷한 의미로 사용된다.

형태소 분석[편집]

자연 언어 처리에서 말하는 형태소 분석이란 어떤 대상 어절의 모든 가능한 분석 결과를 출력하는 것을 의미한다. 정보 검색 엔진에서 한국어색인어 추출에 많이 사용한다. 형태소 분석 단계에서 문제가 되는 부분은 미 등록어, 오탈자, 띄어쓰기 오류 등을 들 수 있는데, 이들은 형태소 분석에 치명적인 약점이라 할 수 있다. 또 다른 문제로는 복합 명사 분해가 있을 수 있다. '복합 명사'는 '복합+명사', '복+합명사', '복합명+사' 등등의 다양한 방식으로 쪼개질 수 있는 데 이들 중에서 가장 적합한 분해 결과를 선택하는 문제이다. 일반적으로, 다양하게 쪼개지는 분석 결과들 중에서 적합한 결과를 선택하기 위해, 테이블 파싱이라는 동적 프로그래밍 방법을 사용한다. 설명하자면, '복합+명사'로 쪼개질 확률이 그 외로 분석될 확률보다 더 크면 그걸로 선택하도록 하는 알고리즘이다.

  • 나는 → 나(대명사) + 는(조사)
  • 나는 → 날(동사) + 는(관형형어미)

품사 부착[편집]

형태소 분석을 통해 나온 결과 중 가장 적합한 형태의 품사를 부착하는 것을 말한다. 보통 태거라고 하는 모듈이 이 기능을 수행한다. 이는 형태소 분석기가 출력한 다양한 분석 결과 중에서 문맥에 적합한 하나의 분석 결과를 선택하는 모듈이라 할 수 있다. 분석 시 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택한다. 보통 태거는 대규모의 품사부착 말뭉치를 이용해서 구현하는데 은닉 마르코프 모델(HMM)이 널리 사용되고 있다.

'나는' 이라는 어절에 대한 형태소 분석이 다음과 같다면

  • 나는 → 나(대명사) + 는(조사)
  • 나는 → 날(동사) + 는(관형형어미)

다음과 같이 적절한 품사를 부착하는 것이 품사 부착이다.

  • 나는 오늘 학교에 갔다' → '나(대명사)+는(조사) 오늘 학교+에 가다+았+다'
  • 하늘을 나는 새를 보았다' → '하늘+을 날(동사)+는(관형형어미) 새+를 보다+았+다'

구절 단위 분석[편집]

  • 단위 분석은 명사구, 동사구, 부사구 등의 덩어리를 의미한다.
    • 서울시 서초구 서초동에 있는 가장 유명한 회사는 어디인가요? → 서울시 서초구 서초동에 있는 가장 유명한 회사는 어디인가요?
    • 이 해결책은 정말이지 여기에는 적합하지 않아 → 이 해결책정말이지 여기에는 적합하지 않아
  • 단위 분석은 중문, 복문 등의 문장을 단문 단위로 분해하는 역할을 수행한다.
    • 이 영화는 재미있었는데, 저 영화는 흥미 없었다 → 이 영화는 재미있었는데 , 저 영화는 흥미 없었다
    • 어제 내가 본 그 영화는 아주 재미있었다 → 어제 내가 본 그 영화는 아주 재미있었다.
    • 나는 오늘 하늘을 나는 새를 보았다 → 나는 오늘 하늘을 나는 새를 보았다

이와 같이, 구 단위 분석을 먼저 수행하고 절 단위 분석을 해서 보다 큰 단위로 만든다. 이러한 분석은 다음 단계인 구문 분석에서의 중의성을 해소하는 데 아주 중요한 역할을 수행한다고 할 수 있다.

구문 분석[편집]