- 모든 자연언어 처리 분야에서 가장 중요하면서도 기본적으로 필요한 것이 그 언어의 형태소 분석이라 할 수 있고, 형태소 분석이 완결된 후에야 비로소 구문 분석과 의미분석을 거쳐 기계변역이라든지 자연언어 이해 시스템을 비롯한 모든 자연언어 관련 분야에 응용될 수 있다.(강승식)
- 모든 자연언어 처리의 응용분야가 공통적으로 가지는 것이 형태소 처리부이다. 특히 어미와 조사의 사용에 의해 단어의 형태적 변형이 심한 한국어에서는 형태소 처리부의 역할이 중요하다.(김민정, 권혁철)
- 형태소 분석기가 하는 가장 중요한 일은 구문 구조 분석기 이후의 처리기가 한 어절에 대한 정보를 사전에서 참조할 수 있도록 사전의 표제어(원형)를 정확하게 찾는 것이다.(김경서)
- 형태소 분석이란 한국어 텍스트를 입력으로 하고 그것을 형태소 단위 - 사전의 표제어 단위 - 로 분석하여 사전에 있는 정보(품사정보)화 함께 출력해 주는 것이다.(이은철)
- 형태소 분석이란 여러 형태소들의 묶음이 표층 형태로 나타나는 하나의 어절로부터 의미를 갖는 최소 단위인 각 형태소를 분석해는 내는 것으로 정의된다.(강승식?)
- 형태소 해석이란 실제의 문장에 사용되는 단어의 원래의 구조를 파악하는 것이다.(이성진?)
- 형태소 분석은 통사 분석과 의미 분석의 전단계로서 기계 번역이나 자연 언어 인터페이스, 정보 검색 등 모든 자연언어 관련 분야에 필수적이다. 특히 한국어, 일어처럼 문법형태소의 기능에 의해 단어의 통사적, 의미적 역할이 결정되는 교착어에서는 형태소 분석이 통사 분석과 의미 분석에 미치는 영향이 크기 때문에 한국어의 분석에 있어서 형태소 분석이 아주 중요하다고 할 수 있다. (장동수)
- 전산학적인 관점에서 형태소 해석은 어절에 대한 사전 정보를 적재하기 위하여 어절을 구성하는 사전 표제어 혹은 형태소를 파악하여 적절한 사전 정보를 적재하는 것이다.(조영환)
- 형태소 분석은 자연언어 문자열로부터 의미를 추출하기 휘한 자연언어 처리 시스템의 첫 단계이다.(김병희)
- 형태소 분석은 주어진 입력문으로부터 최소 단위인 형태소를 추출하는 과정이다.(최재혁)
- 형태소 분석은 자연언어 처리에 필요한 정보를 추출하는 기저 단계로 처리 시스템의 초석으로써 형태소 분석의 기능과 효율성은 전체 시스템에 바로 직결되는 중요한 요소인 것이다.(이미선)
- 형태소 분석이란 여러 형태소들의 묶음이 표층 형태로 나타나는 하나의 어절로부터 의미를 갖는 최소 단위인 각 형태소를 분석하는 것이다.(송연전)
- 형태소 분석은 단위 형태소를 분리한 후에 변형이 일어나 형태소의 원형을 복원하고, 분리된 단위 형태소들로부터 단어 형성 규칙에 맞는 연속된 형태소들을 구하는 과정이다.(강승식)
한국어 형태소 분석기의 구성
- 코드 변환기 최근에는 내부 코드를 사용하는 경향이 있다.
그러나 코드변환 없이 형태소 분석을 하는 경우도 많다.
- 어절 분리 대부분의 형태소 분석기는 입력 단위를 어절로 보기 때문에 어절 분리를 한다. 어절의 범위는 일정하지 않으나 가장 간단한 방법은 공백(space,tab, new line)을 어절의 분리 위치로 보는 것이다. 또한 특수문자(경우에 따라서는 숫자, 영문자도 포함)를 한글 문자열과 분리하여 독립된 어절로 나눌 수도 있다.
- 형태소 분리 위치 결정 사전 검색을 하기 위해서는 대강 분리될 위치를 결정해 주어야 한다. 대부분의 어절은 음절을 기준으로 분리가 될 수 있다. TRIE사전을 이용하는 경우에는 사전 검색이 분리 위치를 결정해 준다.
- 형태소 원형 복원 용언의 경우 활용형에 변화가 많으므로 변화된 부분의 원형을 알아야 사전을 검색할 수 있다. two-level model은 원형 복원과 사전 검색이 동시에 일어난다. 이형태를 포함하는 사전을 가진 시스템들은 사전 검색과 결합성 검사 후에 원형을 복원하는 경우도 있다.
- 사전 검색
- 결합성 검사 사전검색의 결과로 나온 형태소들은 상당히 많은 중의성(모호성)을 가진다. 그중에 실제로 결합이 가능한 형태소들을 뽑음으로써 제대로 된 형태소분석이 이루어 진다. 결합성 검사는 기본적으로 품사간의 결합만을 검사하지만 의미적 결합이나 어절을 넘어서는 품사 결합등을 검사할 수도 있다.
- 품사선택
tagger등을 이용하여 여러 형태소 분석 결과중 하나를 선택한다. 선택을 독립된 시스템으로 구현(tagging system)하는 경우도 있고 가능한 모든 결과를 다음 단계에 넘겨서 다음 단계에서 선택하도록 하는 경우도 있다.
형태소 분석에서 해야 할 일은 이미 형태소 분석의 정의에 나타난다.
- 어절을 분석하여 형태소의 결합으로 출력하는 것.
여기서의 형태소는 보통 다음 단계에서 처리할 수 있는 단위이며 사전에 등록된 단어를 말한다.
- 각 구성 형태소의 품사 정보(또는 그 이상의 정보)를 보여주는 것.
만일 단어의 고유 번호가 있다면 그 번호로 충분할 것이다.
- 형태소 결합에 나타난 변화를 원형으로 복원하는 것.
형태소 분석 방법 (algorithms)
형태소 분석 방법은 너무 다양하여 몇가지 항목으로 나누는 일이 불가능 할 수도 있다. 여기서는 형태소 분석 방법을 우선 몇가지 부류로 나누어 구분하고 각 부류에 사용된 여러가지 방법들을 기술한다.
1. 한글 코드 N 바이트 풀어 쓰기 3 바이트 2-3 가변 바이트 Symbol code(이성진, 김덕봉 등) 2. 사전 표제어 색인의 방법 TRIE 구조 B-Tree hashing(UNIX의 dbm file format)3. 사전의 분류 통합 단일 사전 품사별 사전 head와 tail 사전4. 사전 표제어 규정 복합명사, 복합조사, 접사에 의한 파생어 등에 대한 표제어 설정 여부 복합형태소 단일 형태소 형태소에 대한 활용형, 축약형에 대한 허용 여부 기본 용언 사전 활용형 사전5. 어절 모델 Head-Tail 모델 고정 N 단위 모델 가변 N 단위 모델6. 어절 구성 문법 FST Descriptive Grammar7. 형태소 해석 알고리즘 chart based recursive model head-tail model8. 애매성 해소 원칙 무원칙 확률모델 최장일치 선택 최단일치 선택 위의 방법 구분중 몇가지는 상호 연관성이 있어서 한가지 부류의 방법을선택하면 다른 부류의 방법이 자동으로 결정되는 경우가 있다.-------------------------여기까지는 조영환의 분석이 이외에도 다른 중요한 요소 가 있을 수 있으며이름을 달리한 분류가 있을 수 있다. 품사의 분류 방식 tagset : 품사분류는 형태소 분석기의 성능에 중요한 영향을 미친다. 접속정보 (KAIST) 계층적 기호 접속정보(이은철) 기타 품사 구분 방법들..사전의 구분법 master 사전 -- 사용자 사전 기본 사전 -- 전문용어 사전(전문 분야 사전) 형태소 사전- 구문 사전-의미사전-변환사전 등등여러 가지 문제의 해결 숫자 처리 복합 명사 처리 복합 동사 처리 미등록어 처리 특수 문자 처리 영어(영문자)처리원형 복원의 문제 활용형 사전 등록 two-level model dbkim의 음운 복원 rule wjlee의 음운 복원 rule 강승식의 음절 정보 이용 방법형태소 분석 결과(또는 중간 구조)의 표현 방식 Tree graph lattice chart
형태소 분석을 위한 평가요소 (efficiency, correctness, timeliness, effectiveness, robustness)
efficiency : 효율성은 형태소 분석기가 이용되는 시스템의 특성에 따라 다르다.
예를 들어 off-line으로 돌아가는 tagger의 경우에는 속도보다 정확도가
중요하지만 on-line으로 돌아가는 기계번역 시스템에서는 정확도 보다 속도가
중요할 수 있기 때문이다.
속도가 중요한 경우는 사용자가 응답을 기다리고 있는 경우이며, 특히 형태소
분석 이후의 처리에 시간이 많이 걸리는 경우이다.
correctness,
대량의 문서를 대상으로 하면서도 정확도를 요구하는 프로그램은 대부분이
정확도를 중요시 한다.
오류 유형
1. 옳은 결과가 빠진 경우
2. 틀린 결과가 나온 경우
오류 유형중 1.은 더욱 중요하다.
2.의 경우는 overgeneration인데, overgeneration을 완전히 막기는
어렵다.
정확도 판별
1. recall
나와야 할 옳은 분석중 실제로 분석되어 나온 것의 비율
2. precision
분석 결과중 옳은 분석의 비율
정확율 계산 방법론
1. 분석 결과중 맞는 결과(문장에서의 의미에 따른 한가지)를
ㅤ포함 하는지 여부
2. recall분석
3. recall and precision
'자라고'를 분석한 결과
0 자라/ncn+고/ncn
0 자라/ncn+고/jcj --> 자라+이+고
0 자라/pvg+고/ecx --보조적
0 자라/pvg+고/ecc -- 종속적
0 자라/pvg+고/ecs -- 대등적
0 자/nbn+라고/jxc
0 자/nbu+라고/jxc
0 자/ncn+라고/jxc
0 자/pvg+라고/ecs
0 자/pvg+라고/ecx
0 자/pvg+라/ef+고/jcr
0 자라/pvg+어/ef+고/jcr
0 자/pvg+어라/ef+고/jcr
0 자/pvg+어/ef+라고/jcr
자라 : 명사, 동사
자 : 의존 명사(2), 명사
자 : 동사,
고 : 명사(n), 조사(2), 어미(4)
라고 : 조사
기타 : 이+라고, 이+고, 등
effectiveness: 결과의 유용성 ?
robustness: 미등록어 처리, error input 처리
/*=================================================================*/
/*= 제목 : 형태소 분석기 개발을 위한 과정 =*/
/*= 작성일: 1994년 5월 8일 =*/
/*= 작성자: 김성용(sykim@csspirit.kaist.ac.kr) =*/
/*= =*/
/*= Copyright =*/
/*= a: 이 문서의 사용자 및 인용자는 김성용이 작성한 것임을 밝힐 것=*/
/*= b: 이 문서에 대한 수정/배포시, 출처가 이 문서임을 항상 밝힐 것=*/
/*= c: 이 문서에 대한 상업적 이용시, 저자와의 협의를 거칠 것 =*/
/*=================================================================*/
1. 기존 시스템의 문제점, 해결 방안 파악
. 기존 시스템에 대한 test run 결과 분석 (3-4일)
. 해결책 모색 (1-2일)
2. 대상 corpus 분석
. 특정 요구사항 인식 및 해결 방안 도출 (3-4일)
3. 사전 내용 보충
. 접속정보 입력
. 고유명사 (인명, 지명, 기관, 직책, 성씨 등) 입력 및 접속 정보
. 동사, 형용사, 부사 등 (순수 한글 낱말)을 역순사전으로부터
입력 및 접속 정보 부여
. 대상 corpus에서 미등록어 추출, 입력 및 접속 정보 부여
. 명사 중 "하다, 되다, 당하다, 시키다, 받다"가 붙을 수 있는
대상 파악, 접속 정보 수정
4. 사전 구조 지정 및 사전 내용의 컴파일
. 사전팀과 사전 구조 팀의 인터페이스를 통한 작업
. 사전 도구 제공
. 음절 단위 구조에서 자소 단위 구조로 변환
5. 형태소 분석기 기능 명세 작성
. 1차 draft 및 평가 (1주일)
. 2차 draft 및 평가 (3일)
6. 형태소 분석기 알고리즘 연구
. 분석 방법 (기능 명세에 따라 다른 방법 개발) (1주일)
. 한글 코드 변환 (1일)
. 사전과의 인터페이스 방법 (2-3일)
. 데이타 구조 (1주일)
7. 형태소 분석기 설계 명세 작성 및 검토
. 1차 draft 및 검토 (2주일)
. 2차 draft 및 검토 (1주일)
--- Validation of "all requirements" shall be finished, and
all the design details should be verified HERE!
8. 형태소 분석기 프로그램 구현
. 코드 변환 (3일)
. word segmentation (3일)
. preprocessing part (1주일)
. 알고리즘 구현 (1달)
. 사전 인터페이스 (1주일)
. 입출력 기능 (2주일)
9. Development Test (Sample corpus) 및 문제점 수정 (2주일)
--- Delivery
10. Operational (On-site) Test 및 수정 (2달)
=== Total : 1 Development Cycle을 위하여
Computational linguist, esp., for Korean, and program expert
5 man-month
with the support of 사전 팀 및 사전 구조 팀
. 문제점 및 해결 방안 : 2주
. 기능 확정 : 2주
. 알고리즘 : 3주
. 디자인 및 검토 : 3주
. 프로그램 구현 : 8주
. Test and Evaluation : 2주
( Operational Test : 2달)
o 형태소란?
- 일정한 음성에 일정한 뜻이 결합되어 있는 말의 가장 작은 단위
즉, 최소의 유의적 단위(minimum meaningful unit) {KimDB90, indirect reference}
o 형태소 해석이란?
- 주어진 입력 문장으로부터 최소 의미 단위인 형태소를 추출하는 과정을 말한다.{KimSY87}
o 형태소 해석의 목표
{\cite CSLAB1}
- 입력문에서 형태소 분리
- 각 형태소간의 결합 관계 밝힘
o 형태소 해석에서 다루어야 할 현상들
{\cite CSLAB1}
- 접속 관계 처리(형태소 분리)
- 불규칙 및 음운 현상 처리
- 복합어 처리
- 미등록어 처리
o 입력 단위:
- 단어
- 문장
- 문단
- 텍스트
o 내부코드 : n-byte, 2-byte, 3-byte (? 매우 중요: 전체적인 논의 필요)
o 어절을 벗어난 형태소 해석을 고려
- 현재까지는 접속정보가 단순히 한 어절 내 형태소간의 관계로 한정되어
있었다.
- 어절 내에서 접속정보를 이용, 미등록어 추정 및 적절한 형태소
결합현상을 인식할 수 있었던 반면
두 어절이어야 할 어절이 붙여쓰임으로써 한 어절로 된 경우
이에 대한 처리를 제대로 하지 못한다.
==> 이는 "문법적인 접속정보" 즉 구문정보를 현재의 접속정보에 포함
시킴으로써 가능하다.
- 이와 반대로 한 어절이어야 할 어절 사이에 공백이 있어 두 어절로
되어 있는 경우 이를 해결하는 방법은?
o 처리 방식
- interactive
- batch
o 입력 대상 문자:
- 한글
- 한자: 한자임을 나타내는 표지(flag 등)와
한자->한글 변환기 필요
- 영자
- 숫자: 숫자의 처리 루틴
- 문장부호: 문장부호 처리 루틴
. 특히 쌍으로 나오는 문장부호의 처리 기법
- 심볼 및 특수문자
- 사용자 정의 문자
o 선행 처리기
{\cite CSLAB1}
- 문서 편집기에 종속적인 요소의 처리(축소, 확대, 특수문자 등)
- 포매팅 명령어를 무시
- 쌍으로 이루어진 문자의 처리(괄호, 따옴표 등)
- 한자를 한글로 치환(한자의 독음 처리)
- 한자나 영어로 구성된 어절을 별도의 화일에 저장
- 미완성 한글 검사
- 도표화 같은 그래픽 문자 처리
- 맞춤법 검사에서 틀린 것으로 판단된 어절에 대한 사용자 인터페이스
- 틀린 어절에 대하여 사용자가 원하는 경우 올바른 어절 후보 제시
- 한글 코드의 변환
o 형태소에 대한 alternatives가 있을 때(예: 한 형태소가 여러 품사를 가지거나
여러 의미를 가질 때)
- 형태소간 접속 가능성에 대해 현재와 같이 0/1로 하지 않고
- weighted connectability information을 부여 <- corpus engineering
- 그러한 alternative들 간에 priority 또는 weight를 설정 <-- corpus engineering
- 가능한 형태소 결합열이 둘 이상일 때
. 모든 가능한 결합열을 생성시키되
. 결합열 간의 우선순위 계산, 구문 분석시 best-first strategy 사용 가능
* 형태소간 결합 관계에 정확도(결합의 적합성)에 대한 probability
또는 likelihoodness를 부여한다면
. 기존의 접속정보표 수정
. 접속정보에서 결합 가능성을 검사시에 현재의 True/False의 이진 구조에서
multi-valued structure로 전환
. likelihood는 9단계(UNIX Consultant에서 사용한 값과 동일)로 설정
TRUE - VERY-LIKELY - LIKELY - SOMEWHAT-LIKELY
- UNCERTAIN
- SOMEWHAT-UNLIKELY - UNLIKELY - VERY-UNLIKELY - FALSE
. certainty factor들의 combination 방법 필요 [LeeHJ93]
==> 1) 다양한 후보 형태소 열 사이의 ranking 가능, reasonable ranking.
2) 미등록어, 오류 등의 교정시에도 적용 가능
o 축약현상 및 불규칙 현상의 처리
- 규칙으로 처리: rule description language + compiler
- 규칙으로 처리 불가능한 것은 사전에 등록
o 미등록어의 품사 결정
- heuristic 정보를 이용
. 관형사 다음의 형태소는 명사? 등과 같은 ...
o 사전: 통합 사전
- 품사 정보
- 접속 정보
- 구문 정보
- 의미 정보
* 형태소 분석기에는 다음의 모듈이 기본적으로 필요할 것 [LeeMS93]
. 형태소 결합 테이블 (접속정보표 또는 품사간 결합정보 또는 세분화된
category들간의 결합 정보)
.. 문제: 어느 정도로 결합 정보가 구체화되어야 하는가
.. 문제: 어떻게 정보를 이해 및 관리가 쉽도록 encoding할 것인가
. 불규칙 변형 테이블
.. 문제: 불규칙 현상을 어떻게 분류할 것인가 (어학적 측면에서 문법에
따른 분류에 맞출 것인지, 아니면 보다 상세한 나름대로의
분류를 정할 것인지)
.. 문제: Procedural vs. Declarative
... 장단점의 비교
.. 문제: 어떤, 어느 정도의 방법을 사용하여 over-generation을 최소화
할 것인가
... Lookahead의 숫적 증가 [KimSY87]
... 음절 정보의 이용 [KangSS93]
. 준말 변형 테이블
.. 규칙으로 (procedurally) 처리할 수 있는 것들은 규칙으로
.. 문제: "생각지", "괜찮치" 등의 처리 방법
o 형태-구문 해석(morphosyntactic analysis) {\cite KimDB92}
- 관용어구 처리
. 숙어 사전을 이용하거나 숙어 정보가 첨가된 일반 사전을 이용
. 숙어를 이루는 중심 형태소에 숙어의 가능성이 있다는 정보를 표시
- 수 표현의 인식
. 기수인 경우 명사, 형용사, 대명사로 쓰일 수 있음
. 서수인 경우 형용사, 명사, 부사로 쓰일 수 있음
. 두 경우 모두 속성값 "FORM {number}"를 준다.
o 수, 소수, 분수, 년도, 전화번호 등 처리
eg. one-eighth --> 1/8
o 수식의 처리: 숫자와 더불어 사칙연산 기호, 등호, 부등호 등의
수학기호가 연속하여 결합되어 있을 때, 이 형태소들을 하나의
처리 단위로 결합하여 하나의 수식으로 처리(체언으로?)
o 단위 명사: 숫자와 더불어 단위를 나타내는 명사가 나오면
두 형태소를 결합하여 하나의 구문 단위로 결합
eg. 5m 30cm, 10 feet 6 inch, 120 kg 500g, 120.5 kg
- 복합 단어들을 인식하고 이에 대한 적절한 품사와 약간의 의미 정보를 부가
o 오류 보정
- 전거 화일
. 표준어 규정에 어긋나는 오류
. 표기법 오류
.. 한글 맞춤법
.. 한자 표기
.. 외래어 표기법
- 형태소 분석기의 추가적 기능
. 붙띄 오류: 붙여 써야 할 어절을 띄어 쓰는 오류
.. 이웃한 두 어절이 모두 어휘 분석 오류 어절인 경우
.. 앞 어절은 어휘 분석 오류 어절, 뒤 어절은 오류 어절이 아닌 경우
.. 앞 어절은 오류 어절이 아니고 뒤 어절은 어휘 분석 오류 어절인 경우
. 띄붙 오류 : 띄어써야 할 어절을 붙여 쓰는 오류
.. 오류 어절인 경우
.. 오류 어절이 아닌 경우
- spell checker 기능
. 체언 + 조사 오류
(3) 윗어른을 모시고 사니까 (윗어른 -> 웃어른 : 체언 오류)
(4) 김정일이가 머리를 짧게 깎으라고 지시를 내려
(김정일이가 -> 김정일이 : 조사 오류)
(5) 주의력을 집중하여 열심으로 익혀 왔기 때문에
(열심으로 -> 열심히 : 체언과 조사의 결합 오류)
. 어간 + 어미 오류
(6) 변덕스럽고 괴퍅한 일면은 있지만 (괴퍅한 -> 괴팍한 : 형용사 오류)
(7) 목을 길게 늘리면 키가 커지고 (늘리면 -> 늘이면 : 동사 오류)
(8) 목돈을 마련하기에 알맞는 예금 (알맞는 -> 알맞은 : 어미 오류)
(9) 깨끗하고 아름다와야 할 부엌
(아름다와야 -> 아름다워야 : 형용사와 어미가 결합하여 발생하는 오류)
(10) 자유를 향하여 나르는 새
(나르는 -> 나는 : 동사와 어미가 결합하여 발생하는 오류)
*** {\cite KangSS90}
- 조사 오류(제3형 오류): 체언과 조사의 결합 정보에 의해 발견 및 교정
- 어미 오류1(제4형 오류): "알맞는"(-->"알맞은"), "주시구료"(-->"주시구려")처럼
어미에 오류가 있는 경우. 용언과 어미의 결합 정보나 그릇된 어미 규칙에 의해
오류 발견 및 교정
- 어미 오류2(제5형 오류): "들었을라 싶어"(-->"들었을까 싶어")처럼 용언의
활용어미에 오류가 있는 경우, 용언과 보조용언의 결합시 어미에 대한 제약조건
규칙에 의해 오류 발견 및 교정.
한자어의 영향으로 어미가 잘못 쓰인 "조직화한다"(-->"조직한다"),
"해석되어진다"(-->"해석된다")와 같은 오류도 여기에 속한다.
- 어간 변형 오류1(제6형 오류): "아름다와야"(-->"아름다워야"), "낯설은"(-->"낯선")
과 같이 불규칙 용언의 변형 부분이 잘못된 경우. 그릇된 변형 규칙과 불규칙
동사의 어간 변형 규칙에 의해 발견 및 교정
- 어간 변형 오류2(제7형 오류): "믿기지"(--> "믿어지지")와 같이 용언의 피동형이
잘못된 오류. 용언의 피동형 정보에 의해 오류 발견 및 교정.
- 어간 변형 오류3(제8형 오류): 용언 + 어미 + 보조동사 형태로 용언의 어미와
보조동사가 서로 어울리지 않는 경우.(예: "끼어 주다" --> "끼워 주다").
모든 동사와 보조동사의 결합 정보 필요
{\cite KimDB92} "...지금까지 연구된 품사의 애매성 해소 방법은 크게 통계적인
방법과 규칙 기반형(rule-based) 방법이 있다: (1) 통계적인 방법은 대량의
코퍼스로부터 품사의 애매성 해소를 하는 데 필요한 정보를 객관적으로 구하고
이를 쉽게 이용할 수 있는 방법을 제공한다. Church가 제안한 방법은 .. 어휘적
확률(lexical probabilities: 코퍼스에서 어떤 단어에 대하여 특정 품사가 나올
확률 P(tag | word))와 문맥적 확률(contextual probabilities: 코퍼스에서 어떤
단어의 특정 품사가 그 단어 다음에 나오는 단어들의 특정 품사들과 함께 나올
수 있는 확률 P(tag1 | tag2 tag3))의 곱을 최대로 하는 쪽으로 품사를 지정한다.
이러한 방법의 정확율은 95% 이상을 보장한다.
(2) 규칙 기반형 방법은 언어학적인 현상에 바탕을 두어 문제의 해결을 시도한다.
이 방법은 통계적인 방법에서의 필수적인 요소라 할 수 있는 코퍼스가 없이도
직관적으로 규칙을 만들 수 있고, 통계적인 방법에서 범하기 쉬운 오류(국부적인
정보만을 이용하므로써 일어나는 오류)의 가능성을 거의 없앨 수 있는 장점이
있지만, 도메인에 의존하는 경향이 상당히 높고, 수천 개의 규칙들을 가지고
행하는 것이 보통이기 때문에 규칙들 사이의 제어가 복잡하고, 또 정확율도
통계적인 방법에 비해 낮다는 단점을 지니고 있다. 그러나, 최근에 Marcus(1991)가
제안한 방법은 상당히 객관적인 방법에 의해 규칙을 구할 뿐만 아니라 그 규칙
수도 상당히 작고, 정확율도 95% 정도까지 나온다...두 방법 모두 기본적으로
대량의 태깅된 코퍼스를 필요로 한다. 또 .. LDOCE(Longman Dictionary of
Contemporary English)와 같은 전자 사전을 이용하지 않으며 단지 약간의
접사 테이블과 단어와 품사의 쌍으로 된 테이블만을 이용한다. 이러한 테이블들은
품사의 애매성을 해소하는데 없어서는 안될 정보, 즉 한 단어가 특정 품사로
쓰일 확률(lexical probabilities) 정보와 한 단어가 가질 수 있는 품사들에 관한
정보를 준다. 따라서, 전자 사전을 이용하는 기계번역과 같은 응용분야에서 이
두 방법을 적용하기 위해서는 한 단어가 특정 품사로 쓰일 수 있는 확률을
사전에 두어야 한다. 그 이유는 보통의 전자사전은 한 단어에 대해서 자주 쓰이는
품사와 아주 드물게 쓰이는 품사의 구분이 없기 때문이다."