제약문법

Constraint grammar

제약문법(CG)자연어 처리(NLP)의 방법론적 패러다임이다. 언어학자가 작성한 문맥 의존적인 규칙은 실행 텍스트의 단어 또는 다른 토큰에 문법 태그("읽기")를 할당하는 문법으로 편집된다. 대표적인 태그는 레마티화(lexeme 또는 base form), 경직성, 파생성, 통사성 함수, 의존성, 사례 역할, 의미 유형 을 다룬다. 각 규칙은 주어진 문장 맥락에서 태그 또는 문법 태그 집합을 추가, 제거, 선택 또는 대체한다. 문맥 조건은 국소적(정의된 거리) 또는 전역적(정의되지 않은 거리)으로 문장의 모든 단어의 태그 또는 태그 집합에 연결될 수 있다. 동일한 규칙의 컨텍스트 조건(즉, 서로 조건화됨), 부정화됨 또는 간섭하는 단어나 태그에 의해 차단됨)이 연결될 수 있다. 일반적인 CG는 수천 개의 규칙으로 구성되며, 이 규칙들은 진행 단계에서 세트로 적용되어 그 어느 때보다 고급 수준의 분석을 다룬다. 각 수준 내에서는 경험적 규칙 이전에 안전한 규칙을 사용하며, 주어진 종류의 마지막 판독을 제거하는 규칙이 허용되지 않기 때문에 높은 수준의 강건성을 제공한다.

CG 개념은 1990년(Karlsson 1990; Karlsson 1990; Karlsson et al., eds, 1995)에 의해 시작되었으며, 이후 CG 태그거와 파서들은 다양한 언어로 작성되어, 일상적으로 99%[1]가 넘는 언어(단어 클래스)의 일부에 대한 정확도 F-점수를 달성했다. 다수의 구문 CG 시스템은 구문 함수 라벨에 대해 약 95%의 F-점수를 보고하였다. CG 시스템은 작은 비단어 기반 구문 구조 그래머종속 그래머를 추가하여 다른 형식에서 완전한 구문 트리를 만들 수 있으며, 다수의 트리뱅크 프로젝트에서는 자동 주석을 위해 CG를 사용해 왔다. 또한 CG 방법론은 철자 검사기기계 번역 시스템과 같은 많은 언어 기술 응용 프로그램에서도 사용되었다.

규칙 구문 및 형식

제약조건 문법 분석기는 그 입력으로 형태학적으로 분석된 토큰의 흐름을 예상하며, 일반적으로 유한 상태 변환기 기반 분석기에 의해 생산된다(일반적인 것은 제록스 툴 twolc/lexc/xfst, HFST 또는 애퍼티움의 ltoolbox). 각 토큰은 모호하고 판독값이 많을 수 있으며, 모든 판독값이 포함된 표면 형태를 코호트라고 한다. 아래는 VISL CG-3에서 예상한 입력 형식에서 ", X는 ""와 같은 가능한 예시 분석이다.

"<,>"," cm "그리고" conj "<X"" "X" num pl "X" 명사 propp "< was"를 지나 p1 sg "be" 동사를 p3 sg "like" sg "like"를 지나 "be" 동사를 "like"라고 부르다 "like" subj "like" 동사 pr like" infe" imp "like" imp "like" imp "like" 동사 "like" if" 동사 동사 "like" if "like" 동 

이 코드 조각은 각각 하나 이상의 판독치를 가진 5개의 코호트를 보여준다. 표면 워드폼이 안에 있다. "<anglequotes>" 레마/베이스폼이 규칙적인 동안 "quotes" 인용되지 않은 태그 집합이 뒤따르며, 우리는 몇몇 코호트의 판독치가 모호하다는 것을 볼 수 있다."<like>" 6개의 판독치 사이에 모호함). CG 파서의 작업은 이제 1) 컨텍스트가 주어진 만큼 안전한 잘못된 판독치를 제거하고, 2) 각 코호트(또는 심지어 종속 관계)에 하나 이상의 구문 함수 레이블을 선택적으로 적용하며, 3) 적용된 라벨/관계를 모호하게 한다.

왼쪽에는 제1인칭 대명사가 없다는 점을 감안하여 (첫인칭 판독을 제거함으로써) 와스(was)의 제3인칭 판독을 선택하기 위한 예시 규칙(VISL CG-3 형식)은 아래와 같다.

제거(verb p1) IF(0C(verb))(NEGATE *-1(prn p1); 

여기 (verb p1) 우리가 제거하는 판독치와 일치해야 하는 태그 집합(순서는 상관 없음)이다.IF 0 또는 그 이상의 제약 조건을 따르는 첫 번째 것은 이 코호트(위치 0)에서 모든 판독치(예약자)라고 말한다. C, 주의) 태그가 있음 verb. 두 번째 제약조건은 최소한 왼쪽으로 한 단어(위치)인 코호트가 있을 경우라고 말한다. *-1* 우리가 한 단어보다 더 멀리 갈 수 있다는 것을 의미하고 - 왼쪽)을 의미하며, 코호트는 첫 번째 사람 대명사이고, 그러면 제약조건은 *not* 일치한다(NEGATE).

CG-3에서 규칙에는 예를 들어 이름을 지정할 수도 있다. SELECT:somename (…) IF추적 결과에서 나타나는 것.

제한조건에 따라 다른 모든 판독치가 잘못되어야 한다고 확신할 경우 규칙은 단일 판독치를 선택할 수도 있다.

SELECT:quoting("like" subj) IF(-1("< was")) (1(lquot) OR(":")); 

이 규칙에서 우리는 태그 집합에서 워드폼과 베이스폼을 모두 참조할 수 있다고 본다(다른 태그와 똑같이 취급되며, 판독치는 항상 워드폼과 일치한다). 여기서 두 번째 제약조건은 OR 두 개의 태그셋을 결합하는 것. 이 세트가 일반적으로 사용되는 경우, 우리는 이름을 지정하고 괄호 없이 다음과 같이 이름을 사용할 수 있다.

LIST prequote = lquot ":"; SELECT:quoting(" like" subj) IF(-1("< was') (1 prequote); 

이와 동등한 정의는 SET prequote = (lquot) OR (":") ; .

위의 규칙들을 실행한 후, 우리는 결국 다음과 같은 것으로 끝나야 한다.

"<,>"," cm "앤드" "앤드" conj "X" "X" num pl "X" 명사 prop "<was" "be" 동사가 p3 sg "< like" " like" subj "" """"" lquot를 초과함 

만약 우리가 사용한다면 --trace초기 판독값과 함께 제거된 판독값을 볼 수 있을 것이다. ;, 그리고 읽기에 적용되는 규칙의 이름 및 줄 번호.


구문 함수 레이블을 추가하기 위한 규칙 구문은 "x, y 및 z일 경우 이 작업을 수행하십시오"라는 유사한 체계를 따른다.

LIST 공칭 = 명사 prn; ADD (@SUBJ) IF (NEGATE *-1 공칭) (0C (prop)) (1C 유한한); 

이를 "매핑 규칙"이라고 하며, 우리는 결국 코호트당 그러한 매핑 태그를 여러 개 가질 수 있으며, 이 경우 동일한 선택/제거 규칙을 사용하여 모호하게 할 수 있다.

구현

CG-1

최초의 CG 구현은 1990년대 초 프레드 칼슨에 의한 CGP였다. 순수 LISP 기반이었고, 구문은 LISP s-expression(Karlsson 1990)을 기반으로 했다.

CG-2

Pasi Tapanainen의 CG-2 구현 mdis[2] 문법 형식의 괄호 일부를 제거하고 C++로 구현하여 문법을 속도를 위한 유한 상태 변환기로 해석하였다.

나중에 CG-2는 오픈 소스 VISL CG[1]로 Sydandsk Universitet에 있는 VISL 그룹에 의해 (비FST 방법으로) 재구상되어 Tapanainen의 폐쇄 소스 mdis와 동일한 형식을 유지했다.


CG-3

VISL cg3ide 스크린샷
Emacs cg.el에서 CG-3 파일 편집 및 실행

VISL 프로젝트는 나중에 VISL CG-3로 바뀌었고, 문법 형식에 다음과 같은 추가 변경과 추가를 가져왔다.

  • 유니코드에 대한 국제 구성요소를 통한 전체 유니코드 지원
  • 부정의 다른 해석(NOT)
  • 평범한 의존 관계 외에 명명된 관계
  • 가변적 설정
  • 완전 정규식 일치
  • 태그/통일 설정 – LIST gen = m f; SELECT (det) + $gen IF (1 noun) (1 $gen); 다음 명사와 성별이 같은 결정자를 선택한다.
  • 간극HFST 형식 읽기/쓰기용 래퍼
  • 하위 읽기 지원(한 판독치에 여러 개의 "수"가 있으며, 다중 단어 표현 및 복합체에 사용됨)
  • 원점 또는 창 경계까지 과거 검색
  • 외부 프로세스와의 통합을 위한 지원 및 라이브러리로 사용

VISL에서 개발한 CG-3용 간단한 IDE도 있는데, [2]는 구문 강조를 제공하고 문법을 쓸 때 입출력 및 가능한 오류를 볼 수 있게 해준다. Emacs 모드도 있다. cg.el[3] 유사한 기능과 간단한 코드 변환 기능을 갖춘.

타파나인 구현과 달리 VISL 구현은 유한 상태 변환기를 사용하지 않는다. 규칙은 섹션 내에서 주문되는데, 그래머를 쓸 때 예측가능성은 더 높지만 파싱 속도가 더 느리고 루프가 끝없이 반복될 가능성이 있다.

소형 그래머의 경우 mdis는 아니더라도 VISL CG-3의 속도에 도달한다는 CG-2의 실험적인 오픈소스 FST 기반 재구성이 있었다.[3]

시스템 목록

무료 소프트웨어
비무료 소프트웨어

참조

  1. ^ 영어의 경우 Tapanainen과 Voutilainen 1994를 참조하십시오.
  2. ^ 타파나이넨, 패시 1996: 제약 문법 파서 CG-2. 헬싱키 대학 출판물 제27호
  3. ^ Nemeskey, D. M., Tyers, F. M. 및 Hulden, M. (2014) "이행이 중요한 이유: 오픈 소스 제약 조건 문법 파서의 평가" 제25회 전산언어학 국제회의 개최 (COLING 2014) (출연 예정)
  • 빅, 에크하드. 2000. 파싱 시스템 "팔라브라스": 제약 문법 프레임워크에서 포르투갈어의 자동 문법 분석. 오르후스: 오르후스 대학 출판부. ISBN87-7288-910-1.
  • 칼슨, 프레드 1990년 제한 없이 텍스트를 구문 분석하기 위한 프레임워크로서의 제약 조건 문법. H. Karlgren, ed. 제13회 국제 컴퓨터 언어학 회의의 진행, 제3권. 헬싱키 1990년, 168-173년.
  • 칼슨, 프레드, 아트로 부틸라이넨, 주하 하이킬레, 아르토 앤틸라 편집장. 1995. 제약 조건 문법: 제한되지 않은 텍스트를 구문 분석하기 위한 언어 독립적인 시스템. 자연어 처리, 4번. Mouton de Gruyter, 베를린과 뉴욕. ISBN 3-11-014179-5
  • 타파나인, 파시, 아트로 부틸라인 1994: 정확히 태그하기: 알고 있는지는 추측하지 마라. ANLC '94 응용 자연어 처리에 관한 제4차 회의의 진행.

외부 링크