미도 제어식 영어
Attempto Controlled EnglishAddo Controlled English(ACE)는 통제된 자연어, 즉, 구문이 제한되고 의미론적으로 제한된 표준 영어의 하위 집합으로 구성 및 해석 규칙의 작은 집합에 의해 설명된다.[1] 1995년부터 취리히 대학에서 개발 중이다. 2013년에는 ACE 버전 6.7이 발표되었다.[2]
ACE는 지식 표현, 사양 및 질의 언어의 역할을 할 수 있으며, 형식적인 표기법과 형식적인 방법을 사용하고자 하지만 익숙하지 않을 수 있는 전문가를 대상으로 한다. ACE는 영어 사용자라면 누구나 읽고 이해할 수 있는 지극히 자연스러운 것처럼 보이지만 사실은 공식 언어다.[1]
ACE 및 관련 도구는 소프트웨어 사양, 정리 증명, 텍스트 요약, 온톨로지, 규칙, 쿼리, 의료 문서 및 계획 분야에서 사용되어 왔다.
여기 몇 가지 간단한 예가 있다.
- 여자는 누구나 인간이다.
- 여자는 인간이다.
- 남자가 새 넥타이를 시도하다. 넥타이가 아내를 기쁘게 하면 남자는 그것을 산다.
ACE 구성 규칙은 각 명사를 결정자에 의해 도입할 것을 요구한다(a, every, no, some, imple, more 5, ...). 위의 예 목록과 관련하여 ACE 해석 규칙은 (1)을 보편적으로 계량화한 것으로 해석하고, (2)는 실존적으로 계량화된 것으로 해석한다고 결정한다. "여자는 인간이다"와 같은 문장은 ACE 구문을 따르지 않으며 결과적으로 유효하지 않다.
해석규칙은 (3)의 음수 참조를 해결한다. 두 번째 문장의 동기와 그것은 첫 번째 문장의 새로운 동점을 가리키며, 그와 두 번째 문장의 남자는 첫 번째 문장의 남자를 가리킨다. 따라서 ACE 텍스트는 무차별적으로 연결된 문장의 일관성 있는 실체다.
디도 파싱엔진(APE)은 ACE 텍스트를 모호하지 않게 1차 논리 언어의 변형을 사용하는 담화 표현 구조(DRS)로 변환한다.[3] DRS는 다양한 의미론,[4][5] OWL 및 SWRL과 같은 다른 공식 언어로 더 번역될 수 있다. ACE 텍스트를 (일차 로직의 일부)로 변환하면 사용자는 텍스트에 대해 (예를 들어, 검증, 검증, 질의 등을 할 수 있다.
개요
ACE의 현재 버전 6.6에 대한 개요로 이 섹션:
- 어휘를 간략히 설명하다.
- 구문에 대한 계정 제공
- 모호성 처리 요약
- 양극성 기준의 처리를 설명한다.
어휘
ACE의 어휘는 다음과 같이 구성된다.
- 미리 정의된 함수 단어(예: 결정자, 접속사)
- 사전 정의된 구문(예: "거짓말이다...", "그럴 가능성이 있다...")
- 내용 단어(예: 명사, 동사, 형용사, 부사)
문법
ACE의 문법은 ACE 문장과 본문의 형태와 의미를 정의하고 구속한다. ACE의 문법은 일련의 건축 규칙으로 표현된다. 문장의 의미는 해석 규칙의 작은 집합으로 설명된다. 문제 해결 안내서는 ACE 사용 방법과 함정을 피하는 방법을 설명한다.
ACE 텍스트
ACE 텍스트는 선언적 문장의 시퀀스로서, 비호감적으로 상호 연관될 수 있다. 나아가 ACE는 질문과 명령을 지원한다.
간단한 문장
간단한 문장은 어떤 것이 사실, 사건, 상태라고 단언한다.
- 온도는 -2 °C이다.
- 한 손님이 카드 2장을 넣는다.
- 카드와 코드는 유효하다.
간단한 ACE 문장은 다음과 같은 일반적인 구조를 가지고 있다.
- 주제 + 동사 + 보충제 + 부제
모든 문장은 주어와 동사가 있다. 보완(직접 및 간접 객체)은 타동사(무엇을 삽입)와 직사동사(누군가에게 무언가를 주는 것)에 필요한 반면 부제동사(advips, 전치사구)는 선택사항이다.
간단한 문장의 모든 요소를 상세히 기술하여 상황을 보다 상세히 설명할 수 있다. 명사 고객 및 카드 명사를 추가로 지정하기 위해 우리는 형용사를 추가할 수 있다.
- 신뢰할 수 있는 고객이 유효한 카드를 두 장 삽입한다.
소유 명사 및 동위 구문:
- 존의 고객은 메리의 카드를 삽입한다.
또는 변수(부록:
- 존은 카드 A를 삽입한다.
다른 명사 수정은 상대 문장을 통해 가능하다.
- 신뢰받는 고객이 자신이 소유한 카드를 삽입한다.
문장 복합체를 만들기 때문에 아래에 설명되어 있다. 또한 다음과 같은 부사를 추가하여 삽입 이벤트를 자세히 설명할 수 있다.
- 고객이 카드를 수동으로 삽입한다.
또는 동등하게:
- 고객이 수동으로 카드를 삽입한다.
또는 전치사 구문을 추가하여:
- 손님이 카드를 구멍에 꽂는다.
우리는 이 모든 세부 사항을 종합하여 다음과 같은 결과를 얻을 수 있다.
- 신뢰를 받고 있는 존의 고객은 슬롯 A에 메리의 유효한 카드를 수동으로 삽입한다.
복합문장
복합 문장은 조정, 종속, 정량화, 부정을 통해 단순한 문장으로부터 재귀적으로 구축된다. ACE 복합문장은 언어학자들이 복합문장과 복합문장이라고 부르는 문장과 중복된다는 점에 유의한다.
조정
에 의한 조정은 문장들 사이와 같은 통사적 유형의 구문들 사이에서 가능하다.
- 고객이 카드를 삽입하면 기계가 코드를 체크한다.
- 카드를 넣고 코드를 입력하는 고객이 있다.
- 고객이 카드를 삽입하고 코드를 입력한다.
- 오래되고 신뢰할 수 있는 고객이 카드와 코드를 입력한다.
명사의 조율은 카드와 코드의 구절은 복수 객체를 나타낸다.
문장, 동사구, 상대 절에 의한 조정 또는 가능하다.
- 고객이 카드를 삽입하거나 기계가 코드를 점검한다.
- 고객이 카드를 삽입하거나 코드를 입력한다.
- 고객은 유효하지 않거나 손상된 카드를 소유하고 있다.
그리고 또는 로직의 표준 결합 순서, 즉 또는 또는 로직보다 강한 결합에 의해 조정된다. 콤마는 표준 바인딩 순서를 무시하는 데 사용될 수 있다. 따라서 문장은 다음과 같다.
- 고객이 VisaCard를 삽입하거나 MasterCard를 삽입하고 코드를 삽입하는 경우.
고객이 VisaCard와 코드를 삽입하거나 MasterCard와 코드를 삽입하는 것을 의미한다.
후순위
종속성의 구조는 상대적 문장, if-then 문장, 형식성, 문장 종속의 네 가지가 있다.
명사에 세부사항을 추가할 수 있는 사용자, 사용자 및 사용자로 시작하는 상대적 문장:
- 신뢰받는 고객이 자신이 소유한 카드를 삽입한다.
if-den 문장의 도움을 받아 조건부 또는 가상의 상황을 다음과 같이 명시할 수 있다.
- 카드가 유효하면 고객이 카드를 삽입한다.
if-part에 있는 명사 구에 대한 대명사를 통한 양극 참조에 주목한다.
촬영장비(modality)는 우리가 가능성과 필요성을 표현할 수 있게 해준다.
- 신뢰할 수 있는 고객은 카드를 삽입할 수 있다.
- 신뢰할 수 있는 고객이 카드를 삽입하는 것이 가능하다/필요하다.
문장 종속은 다양한 형태로 나타난다.
- 고객이 카드를 삽입하는 것은 사실이다/거짓말이다.
- 고객이 카드를 삽입하는 것은 증명할 수 없다.
- 점원은 고객이 카드를 삽입한다고 믿는다.
수량화
계량화는 특정 등급의 모든 객체에 대해 말하거나(범용 계량화), 적어도 이 등급의 객체의 존재(존재 계량화)를 명시적으로 나타낼 수 있게 한다. 보편적 또는 실존적 정량자의 텍스트 발생은 문장의 끝까지 확장되거나 각각의 조정된 문장의 끝에 조정되는 범위를 개방한다.
모든 관련 고객이 카드를 삽입한다는 것을 표현하기 위해 우리는 카드를 쓸 수 있다.
- 모든 손님이 카드를 넣는다.
이 문장은 각각의 고객이 다른 고객이 삽입한 것과 같을 수도 있고 그렇지 않을 수도 있는 카드를 삽입하는 것을 의미한다. 모든 고객이 해당 상황이 비현실적으로 보이더라도 동일한 카드를 삽입하도록 지정하려면 다음을 작성하십시오.
- 카드는 모든 고객에 의해 삽입된다.
또는 동등하게:
- 모든 고객이 삽입하는 카드가 있다.
고객이 모든 카드를 삽입했음을 명시하기 위해 다음과 같이 작성한다.
- 모든 카드는 고객에 의해 삽입된다.
또는, 다소 간접적으로:
- 모든 카드에는 카드를 삽입하는 고객이 있다.
부정
부정은 우리가 무언가가 그렇지 않다는 것을 표현할 수 있게 해준다.
- 고객은 카드를 넣지 않는다.
- 카드가 유효하지 않다.
특정 클래스의 모든 객체에 대해 어떤 것을 부정하려면 no를 사용한다.
- 2장 이상의 카드를 삽입하는 고객은 없음.
또는 다음이 없다.
- 카드를 꽂는 손님이 없다.
완전한 문장을 부정하기 위해 다음과 같은 문장 부정을 사용한다.
- 고객이 카드를 삽입하는 것은 거짓이다.
이러한 형태의 부정은 논리적인 부정이다. 즉, 그들은 어떤 것이 분명히 그렇지 않다고 말한다. 실패라고 부정하는 것은 상태를 증명할 수 없다는 것을 말한다. 즉, 사태가 사실인지 아닌지는 정보가 없다.
- 고객이 카드를 삽입하는 것은 증명할 수 없다.
쿼리
ACE는 예/아니요 쿼리와 wh-쿼리의 두 가지 형태의 쿼리를 지원한다.
예/아니요는 특정 상황의 존재 또는 비존재를 요구한다. 다음을 지정한 경우:
- 손님이 카드를 삽입하다.
그러면 우리는 다음과 같은 질문을 할 수 있다.
- 고객이 카드를 삽입하는가?
긍정적인 답을 얻기 위해서. 의문문장은 항상 물음표로 끝난다는 점에 유의하십시오.
wh-queries의 도움을 받아, 즉 질의어로 질의하면, 우리는 특정 상황에 대한 자세한 내용을 텍스트에 조회할 수 있다. 다음을 지정한 경우:
- 신뢰할 수 있는 고객이 아침에 유효한 카드를 은행에 수작업으로 넣는다.
우리는 동사를 제외하고 문장의 각 요소를 요구할 수 있다.
- 누가 카드를 삽입하는가?
- 어떤 고객이 카드를 삽입하는가?
- 고객이 삽입하는 것은?
- 고객은 어떻게 카드를 삽입하는가?
- 고객은 언제 카드를 입력하는가?
- 고객은 카드를 어디에 입력하는가?
질의는 다음과 같은 하나의 의문문 뒤에 이어지는 선언문장의 순서에 의해서도 구성될 수 있다.
- 고객이 있고 고객이 입력하는 카드가 있다. 고객이 카드를 입력하는가?
명령
ACE는 명령도 지원한다. 몇 가지 예:
- 존, 은행에 가!
- 존과 메리, 기다려!
- 개새끼들아, 짖어!
- 존의 동생, 메리에게 책을 줘!
명령어는 항상 명사구(부속어)와 쉼표 뒤에, 그 뒤에 조정되지 않은 동사구로 구성된다. 게다가, 명령어는 느낌표로 끝나야 한다.
제약하는 모호성
완전한 자연 언어의 모호성을 구속하기 위해 ACE는 세 가지 간단한 수단을 사용한다.
- 어떤 모호한 구성들은 언어의 일부가 아니다; 모호하지 않은 대안들은 그들의 위치에서 이용할 수 있다.
- 남아있는 모든 모호한 구성들은 소수의 해석 규칙에 기초하여 결정적으로 해석된다.
- 사용자는 할당된 해석을 받아들일 수도 있고, 다른 해석을 얻기 위해 입력을 변경해야 한다.
모호성 회피
자연어에서는 조정과 결합된 상대적 문장이 모호성을 도입할 수 있다.
- 고객이 유효한 카드를 삽입하고 계정을 연다.
ACE에서 문장은 고객이 계정을 개설한다는 분명한 의미를 가지며, 이는 다음과 같은 비유를 통해 반영된다.
- 카드는 유효하다. 고객이 카드를 삽입한다. 고객이 계좌를 개설하다.
카드가 계정을 열어서 상대적 대명사를 반복해야 하므로 상대적 문장의 조율을 초래한다는 것을 의미하지만 대안의 표현은 그다지 현실적이지는 않다.
- 고객이 유효하고 계정을 여는 카드를 삽입한다.
이 문장은 분명히 다음과 같은 의미의 문장과 같다.
- 카드는 유효하다. 그 카드는 계좌를 개설한다. 고객이 카드를 삽입한다.
해석 규칙
모든 모호함이 인공적인 렌더링 없이 ACE에서 안전하게 제거될 수 있는 것은 아니다. 달리 결정적으로 정확한 ACE 문장을 해석하기 위해 우리는 작은 해석 규칙 집합을 사용한다. 예를 들어, 다음과 같이 적어두면:
- 고객이 코드가 있는 카드를 삽입한다.
그리고 나서 동사 삽입물에는 코드가 붙지만 카드에는 붙지 않는다. 그러나, 이것은 아마도 우리가 말하고자 했던 것이 아닐 것이다. 코드가 카드와 연관되어 있다는 것을 표현하기 위해 우리는 상대 문장이 항상 바로 앞의 명사 구문을 수정한다는 해석 규칙을 채택하고, 입력 내용을 다음과 같이 다시 바꾸어 말할 수 있다.
- 고객이 코드를 가지고 있는 카드를 삽입한다.
다음과 같은 비유를 하자면:
- 카드는 코드를 가지고 있다. 고객이 카드를 삽입한다.
또는 — 고객이 다음과 같이 카드와 코드를 삽입하도록 지정:
- 고객이 카드와 코드를 삽입한다.
음수성 참고 문헌
일반적으로 ACE 텍스트는 두 개 이상의 문장으로 구성된다.
- 고객이 카드와 코드를 입력한다. 만약 코드가 유효하다면 SimpleMat은 카드를 받아들인다.
모든 카드와 코드가 동일한 카드와 코드를 의미해야 한다는 것을 표현하기 위해 ACE는 다음과 같은 명확한 조항을 통해 양극 참조를 제공한다.
- 고객이 카드와 코드를 입력한다. 만약 코드가 유효하다면 SimpleMat은 카드를 받아들인다.
ACE 텍스트를 처리하는 동안 모든 음수 참조는 성별과 숫자에 동의하는 가장 최근 및 가장 구체적인 접근 가능한 명사 구문으로 대체된다. "가장 최근 및 가장 구체적인"의 예로서 ACE 파서에게 다음과 같은 문장이 주어진다고 가정해 보십시오.
- 고객이 레드카드와 블루카드를 입력한다.
다음:
- 카드가 정확하다.
다음 중 두 번째 카드를 가리킨다.
- 레드카드가 맞다.
첫 번째 카드를 가리킨다.
if-then 문장, 보편적으로 정량화된 문장, 부정, 양식, 후순위 문장 내의 명사 구문은 후속 문장으로부터 무차별적으로 언급될 수 없다. 즉, 그러한 명사 구문은 다음 텍스트에서 "접근할 수 없다"는 것이다. 따라서 각 문장의 경우:
- 만약 고객이 카드를 가지고 있다면 그는 카드를 입력한다.
- 모든 고객이 카드를 입력한다.
- 고객은 카드를 입력하지 않는다.
- 고객은 카드를 입력할 수 있다.
- 점원은 고객이 카드를 입력한다고 믿는다.
다음과 같은 카드를 사용할 수 없다.
- 카드가 정확하다.
음성 참조는 또한 개인 대명사를 통해 가능하다.
- 고객이 카드와 코드를 입력한다. 만약 그것이 유효하다면 SimpleMat은 그 카드를 받아들인다.
또는 변수를 통해:
- 고객이 카드 X와 코드 Y를 입력한다. Y가 유효하면 SimpleMat은 X를 받아들인다.
명확한 조항과 변수를 통한 비수리적 참조는 다음과 같이 결합될 수 있다.
- 고객이 카드 X와 코드 Y를 입력한다. 만약 Y 코드가 유효하다면 SimpleMat은 X 카드를 받아들인다.
SimpleMat과 같은 적절한 이름은 항상 동일한 개체를 가리킨다는 점에 유의하십시오.
참고 항목
참조
- ^ a b Norbert E. Fuchs; Kaarel Kaljurand; Gerold Schneider (2006). "Attempto Controlled English Meets the Challenges of Knowledge Representation, Reasoning, Interoperability and User Interfaces" (PDF). FLAIRS 2006.
- ^ "Attempto News".
- ^ Norbert E. Fuchs; Kaarel Kaljurand; Tobias Kuhn (2010). "Discourse Representation Structures for ACE 6.6" (PDF). Technical Report ifi-2010.0010, Department of Informatics, University of Zurich.
- ^ Tobias Kuhn (2007). "AceRules: Executing Rules in Controlled Natural Language" (PDF). First International Conference on Web Reasoning and Rule Systems (RR 2007).
- ^ Kaarel Kaljurand; Norbert E. Fuchs (2007). "Verbalizing OWL in Attempto Controlled English" (PDF). OWL: Experiences and Directions (OWLED 2007).