KR20110009205A - 컴퓨터와의 자연어 의사소통 시스템 및 방법 - Google Patents

컴퓨터와의 자연어 의사소통 시스템 및 방법 Download PDF

Info

Publication number
KR20110009205A
KR20110009205A KR1020107026924A KR20107026924A KR20110009205A KR 20110009205 A KR20110009205 A KR 20110009205A KR 1020107026924 A KR1020107026924 A KR 1020107026924A KR 20107026924 A KR20107026924 A KR 20107026924A KR 20110009205 A KR20110009205 A KR 20110009205A
Authority
KR
South Korea
Prior art keywords
concept
concepts
text
join
words
Prior art date
Application number
KR1020107026924A
Other languages
English (en)
Inventor
존 지. 고맨
존 더블유. 알. 고맨
Original Assignee
글레이스 홀딩스 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 글레이스 홀딩스 엘엘씨 filed Critical 글레이스 홀딩스 엘엘씨
Publication of KR20110009205A publication Critical patent/KR20110009205A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

컴퓨터와의 자연어 의사소통을 위한 시스템은, 적어도 하나의 테이블을 저장하도록 구성된 데이터베이스 - 상기 테이블은 텍스트 문자열 내의 개념들과 연관된 개념 식별자들 간의 연관관계를 저장하도록 구성됨 -, 및 데이터베이스와 인터페이스하는 빌더 - 상기 빌더는 프로세스를 수행함으로써 텍스트 문자열에 의해 정의되는 개념을 구성하도록 구성됨 - 를 포함하며, 상기 프로세스는, 고유의 식별자를 개념에 할당하는 단계, 개념을 부개념들로 분해하는 단계, 고유의 식별자를 각각의 부개념에 할당하는 단계, 적법한 조인(legal join)을 사용하여 부개념들을 상위 부개념들에 조인시키는 단계, 고유의 식별자를 상위 부개념에 할당하는 단계, 상위 부개념이 조인되어 개념을 형성할 때까지 상기 단계들을 반복하는 단계, 및 개념, 부개념들, 상위 부개념들 및 고유의 식별자들을 데이터베이스 내의 테이블에 저장하는 단계를 포함한다.

Description

컴퓨터와의 자연어 의사소통 시스템 및 방법{SYSTEMS AND METHODS FOR NATURAL LANGUAGE COMMUNICATION WITH A COMPUTER}
본 명세서에 기술된 실시예들은 컴퓨터와의 자연어 의사소통에 관한 것으로서, 보다 상세하게는 컴퓨터가 자연어를 사용하여 의사소통하는 것과 요청 및 지시문에 응답하여 적절한 조치를 취하는 것을 가능하게 하는 개념들과 언어 및 구두점을 링크시키는 사용 데이터베이스를 생성하는 방법에 관한 것이다.
Yorick Wilks는 Wilks Y.의 Is there Progress on Talking Sensibly to Machines? Science. 318: 927-927 (2007)에서의 종래 기술에 대한 논고에서, 기계와 의미있는 대화를 하는 데 있어서의 문제점이 그렇게 하는 것에 대한 적절한 이론이 존재하지 않는다는 것을 지적하고 있다. 튜링(Turing)이 처음으로 1930년대에 튜링 테스트(Turing Test)를 제안한 이후로, 사람의 생각 및 자연어를 이해할 수 있는 기계를 개발하는 것이 컴퓨터 과학의 목표이었지만, 현재의 컴퓨터 프로그램이 상위 레벨에서 텍스트를 처리하고 단어 검색 및 음성-텍스트 변환을 할 수 있지만, 텍스트에 포함되어 있는 의미를 이해하는 프로그램이 현재는 거의 없다.
a. 일반 개요
"발명을 실시하기 위한 구체적인 내용" 부분에 기술되어 있는 실시예들에서, 사람의 마음과 기억의 작용에 의해 관리되고 저장되는 지적 지식을 표현하는 데이터베이스 매체가 제시되어 있다. 이 데이터베이스 매체는 제5 매체(Fifth Medium)(즉, M5)라고 말할 수 있으며, 이는 기본적으로 제4 매체(Fourth Medium)(즉, M4)라고 할 수 있는 언어에 대한 대안이다. 기술적 지식, 선언적 지식 또는 명제적 지식이라고도 하는 지적 지식은 한정적 문장 또는 직설법적 서술로 표현되는 지식의 일종이다. 지적 지식을 획득하여 사람의 마음과 기억에 유지하기 위해서는 제기능을 다하는 해마를 필요로 한다.
선언적 지식을 표현하고 관리할 수 있는 5가지 유사한 매체가 있다: 어느 한 매체에서의 선언적 지식은 나머지 매체들 중 하나에 용이하게 매핑될 수 있다. 세상 자체는 그 자체에 관한 지식 저장을 위한 제1 매체(즉, M1)이다. 사람의 두뇌에 포함되어 있는 사람의 마음, 사고 및 기억의 작용은 지식 저장을 위한 제2 매체(즉, M2)이다. 지식은 또한 다른 다양한 방식들(물리적 모델, 삽화, 사진, 다이어그램, 청사진, 그래프, 스프레드시트, 데이터베이스, 수학적 모델, 공식 등)로 표현될 수 있다. 이러한 많은 다양한 그래픽 또는 수학적 지식 관리 시스템을 통틀어서 지식의 제3 매체(즉, M3)라고 할 수 있다. 언어는 지식 저장의 제4 매체(즉, M4)이다.
i. 제1 매체-실재
실제의 세계는 종종 현재의 그 자신의 가장 정확하고 상세한 기록이라고 말해진다. 본 명세서에 포함된 설명의 목적상, 실제의 세계와 상상의 세계 둘다가 제1 매체로 간주될 수 있다.
ii. 제2 매체-마음 속의 지식
사람의 마음 및 두뇌의 작용은 선언적 지식 표현의 제2 매체이다. 사람의 사고는 우리들 주변의 실제의 현재 세계에서의 또는 어떤 상상의 세계 또는 기억 세계에서의 실제의 사물 및 상태, 사건 및 행동을 모델링한다. 명확한 정신적 개념들은 사람의 마음에 의해 잘 이해되고 관리되며 의식에 의해 용이하게 접근될 수 있는 정돈된 조립체로서 기억에 저장된다. 임의의 주제에 관한 많은 선언적 지식이 수십억개의 상호연결된 뉴런과 선택적으로 강화된 시냅시스의 신경 상관자의 지원을 받는 사람의 기억에서 아주 높은 직능 레벨로 보유 및 처리되어, 언어(즉, M4)로 용이하게 변환될 수 있다. 두뇌가 이러한 종류의 지식을 보유하고 처리하는 데 이용하는 신경계의 원리를 잘 알지 못하고 있다.
마음의 작용에 대한 John Locke의 접근방법이 An Essay Concerning Human Understanding (1692)에 상세히 설명되어 있다. Locke는 명확한 정신적 개념이 마음에 의해 잘 이해된다는 점을 지적하고 있다. John Locke가 그의 소론에서 관념(idea)이라고 부르고 그렇게 잘 정의한 것을 본 명세서에서는 개념이라고 서로 바꾸어 부를 수 있다. Locke는 명확한 관념이 무엇인지와 간단한 관념들이 어떻게 마음의 작용에 의해 복잡한 관념으로 조립될 수 있는지[이를 혼합 방식(mixed mode)이라고 부르고 있음]를 상세히 설명하고 있다.
Locke의 소론의 제2권(Book II)을 읽어보면, 간단한 관념이 무엇인지와 간단한 관념이 마음에서 아주 명확하고 분명하다는 것을 이해할 것이다. Locke는 관념들이 그 관념들을 생각하고 있는 사람에게는 아주 명확하다는 것을 지적하고 있다. 관념 또는 개념은 마음이 경험하는 무형의 정신적인 것으로 이루어져 있다. 이들은 우리 주변의 세계에서의 실제의 또는 상상의 물건, 물체 또는 사건에 대한 의식의 표현이다. 개념은 그것을 경험하게 될 때 마음 속에서 일어나는 것으로 생각될 수 있다.
따라서, Locke는 모든 사람이 단맛, 쓴맛, 불, 열, 태양 등과 같은 간단한 원자적 관념인 명확한 관념들을 그의 마음에 가지고 있다는 것을 말하고 있다. 관념에 대한 Locke의 정의가 여기에 있다:
"우리의 감각에 영향을 주는 특성이 사물들 자체에서 서로 분리되거나 떨어져 있지 않도록 통합되고 섞여 있지만, 그것은 명백하고, 그 특성들이 마음에서 생성하는 관념은 간단하고 혼합되지 않은 의미로 들어온다. 시각 및 촉감이 종종 동일한 물체로부터 서로 다른 관념을 동시에 받아들이고 - 사람이 움직임 및 색깔을 한꺼번에 보기 때문임 -, 손이 동일한 왁스에서 부드러움 및 따뜻함을 느끼지만, 이와 같이 동일한 주제에 통합된 간단한 관념들이 다른 감각에 의해 들어오는 것만큼 아주 다르다. 사람이 얼음 조각에서 느끼는 차가움 및 단단함은 백합의 냄새 및 순백처럼 또는 설탕의 맛 및 장미의 냄새처럼 마음에서 서로 다른 관념으로 된다. 이러한 간단한 관념에 대해 사람이 갖는 명확하고 분명한 인지보다 사람에게 더 명백한 것은 없으며, 이는 각각이 그 자체로 혼합되어 있지 않은 채로, 그 안에 단지 하나의 일정한 모습 또는 마음에서의 개념을 포함하며, 다른 관념들로 구별하지 못할 수 있다. 소론, II.
이 정의는 두뇌에서의 개개의 뉴런으로부터의 신호를 기록하는 것에 기초한 최근의 신경 과학 연구와 밀접하게 상관되어 있다. 이 연구는 특정의 감각 패턴이 감각 중추에 제공될 때 흥분하는 "수용 영역"을 갖는 뉴런의 존재를 밝혀주었다. Locke가 그렇게 잘 기술하고 있는 이러한 종류의 간단한 감각 패턴을 인식하는 두뇌에 있는 회로가 아직 이해되지 않고 있다. 사람은 단지 무언가가 "쓴" 맛을 갖거나 의자가 의자이거나 나무가 나무라는 것을 간단한 원자적 개념으로서 감지하며, 그들의 성분 개념들을 해부할 필요가 없다. 인식 프로세스는 무의식적이며, 두뇌 회로가 이 프로세스를 어떻게 수행하는지가 아직 정확하게 이해되지 않고 있다.
Locke는 얼마나 복잡한 개념이 의식적으로 그들의 간단한 성분 개념들로 분석될 수 있는지를 보여주고 있다. 그는 계속하여 하나의 어휘 단어가 몇개의 성분 개념을 어떻게 하나의 복합 개념으로 모을 수 있는지를 보여주고 있다. Locke는 간단한 개념들의 혼합 집합을 나타내는 하나의 어휘 단어의 몇몇 양호한 예를 제공하고 있다.
"둘째, 모여서 하나의 복잡한 관념(예를 들어, 색깔 및 모습의 어떤 합성으로 이루어져 보는 사람에게 즐거움을 주는 아름다움, 소유자의 동의 없이 무언가의 은닉된 소유의 변화인 도난)을 만드는 몇가지 종류의 간단한 관념들로 이루어진 다른 것들이 있으며, 눈에 보이는 것처럼, 몇가지 종류의 몇가지 관념의 조합을 포함하고 이들을 혼합 모드라고 부른다. 소론 II, xii,5.
Locke는 명확한 관념이 식별되고 기술되며 복잡한 관념을 표현하는 형식적 구조로 조립될 수 있는 서로 다른 실체들이라고 말하고 있다. 복잡한 정신적 개념은 원자들로 이루어진 분자 또는 부품들로 이루어진 기계와 비슷한 간단한 정신적 개념의 구성체이다. Locke는 개념들이 어떻게 합쳐지는지, 즉 마음이 어떻게 원자적 개념으로부터 복잡한 개념을 구축하는지에 대한 구조적 상세를 설명하고 있지 않으며, 개념들이 결합될 때 구체적 구조들이 무엇을 형성하는지 또는 개념들 사이에 어떤 종류의 결속이 이용되는지를 말하고 있지 않다.
iii. 제3 매체-수학적 모델 및 그래픽으로 된 지식
마음이 사고 실험을 수행하고 그림으로 생각할 수 있는 것처럼, 지식(그림, 회화, 사진, 비디오, 코믹, 대수 공식, 컴퓨터 시뮬레이션 컴퓨터 파일, 다양한 종류의 기록, 청사진, 물리적 모델, 조각상 및 모빌 등)을 포착하고 저장하며 전달하기 위해 많은 유사한 매체가 개발되었지만, 최근의 컴퓨터 과학은 사고를 그래픽 형태로 모델링할 수 없으며, 사람의 마음의 도움 없이 이러한 매체에 인코딩된 선언적 지식을 생성하고 해석하는 것과는 거리가 멀다.
iv. 제4 매체 - 언어에 의한 지식 표현
제4 매체, 즉 언어, 텍스트 등은 단지 3개의 요소들, 즉 어휘 단어, 조어 및 구두점의 1차원 문자열이다. 언어는 선언적 지식의 어떤 도메인에 포함되어 있는 명확한 정신적 개념을 식별하고 그들의 상호관계를 정의한다. 사람들은 아주 높은 충실도로 그의 관념 및 정신적 작용을 서면 또는 구두 언어로 인코딩할 수 있다. 언어는 텍스트의 문자열(단어, 구, 문장 및 단락, 제목, 그리고 장, 책 및 장서와 같은 대규모 텍스트 코퍼스들)로 개개의 개념들을 식별할 수 있다. 각각의 개별 관념에 대해, 그 관념을 완벽하게 기술하게 될 선호되는 단어, 구, 또는 문장 또는 단락이 있다. 거의 모든 정신적 개념이, 얼마나 복잡한지에 상관없이, 단어, 구, 문장, 또는 단락과 같은 텍스트에 의해 정확하게 파악될 수 있다. 어쩌면 덜 완벽하게 관념을 기술하는 몇개의 대안의 유의어 또는 부연이 있는 것이 보통이다. 언어는 그의 요소들, 즉 어휘 단어, 조어 및 구두점의 능숙한 사용으로 복잡한 관념의 구조를 아주 미묘한 정도까지 명시할 수 있다. 관념들 간의 정확한 관계를 정의한다. 전문가에 의해 작성된 텍스트는 종종 비전문가의 마음이 할 수 있는 것보다 상당히 높은 레벨로 지식을 포착한다.
언어는 지금까지 내성(introspection)보다 훨씬 더 나은 접근방법인 마음의 작용을 우리가 이해하는지를 연구하기 위한 최상의 데이터 소스이다. 언어가 사고의 정확한 안무이기 때문에, 언어를, 개념을 구축하고 조립된 개념이 어떻게 서로 관계되는지를 정확하게 설명하는 정확한 명령으로 보는 것이 중요하다. 이 점에서 보면, 자연어의 본질적인 기능을 이해하기가 더 쉽다.
언어 표현이 정신적 개념의 구성을 어떻게 지시하는지, 언어가 복잡한 개념 구조의 특정의 위치에 어떻게 값을 삽입하는지, 언어가 간단한 관념들로부터 복잡한 관념들을 구성하는 것을 지시하기 위해 어떻게 재귀를 사용하는지, 동사가 개념들이 어떻게 변하는지를 어떻게 기술하고 제어하는지, 마지막으로 언어가 어떻게 개념들에 실재의 정도를 부여하고 실재를 기억 및 상상과 구별하는지에 대한 이해를 발전시킬 필요가 있다.
어쩌면, 언어에 관해 인식할 가장 중요한 것은 얼마나 말하지 않은 채로 있는지이다. 오랜 시간 후에 각각의 경우에서 의미하는 어휘 단어의 의미를 선택하는 데 사람의 도움 없이, 조어 및 구두점, 인유 및 은유의 의미를 명시적으로 제공하지 않고, 어휘 단어의 용어집 없이, 언어에서 말하지 않은 채로 있는 모든 개념들을 상상하고 다시 추가하는 데 사람의 도움 없이, 텍스트에서 암시적인 선언적 지식을 컴퓨터로 전달하는 것이 가능하게 될 것이다. 어쩌면, 컴퓨터와 의미있게 대화하는 데 필요한 가장 중요한 것은, 언어가 느린 언어소통 채널이기 때문에, 언어에 강제되는 개념 생략부호를 관리하는 것이다.
용이하게 구현될 수 있는 간단한 방식으로 컴퓨터 시스템과의 자연어 의사소통을 가능하게 하는 시스템이 본 명세서에 기술되어 있다.
일 양태에 따르면, 컴퓨터와의 자연어 의사소통을 위한 시스템은, 적어도 하나의 테이블을 저장하도록 구성된 데이터베이스 - 상기 테이블은 텍스트 문자열 내의 개념들과 연관된 개념 식별자들 간의 연관관계를 저장하도록 구성됨 -, 및 데이터베이스와 인터페이스하는 빌더 - 상기 빌더는 프로세스를 수행함으로써 텍스트 문자열에 의해 정의되는 개념을 구성하도록 구성됨 - 를 포함하며, 상기 프로세스는, 고유의 식별자를 개념에 할당하는 단계, 개념을 부개념들로 분해하는 단계, 고유의 식별자를 각각의 부개념에 할당하는 단계, 적법한 조인(legal join)을 사용하여 부개념들을 상위 부개념들에 조인시키는 단계, 고유의 식별자를 상위 부개념들에 할당하고 상위 부개념들이 조인하여 개념을 형성할 때까지 상기 단계들을 반복하는 단계, 및 개념, 부개념들, 상위 부개념들 및 고유의 식별자들을 데이터베이스 내의 테이블에 저장하는 단계를 포함한다.
다른 양태에 따르면, 컴퓨터와의 자연어 의사소통을 위한 시스템은, 입력 텍스트 문자열을 수신하도록 구성된 사용자 인터페이스, 적어도 하나의 테이블을 저장하도록 구성된 데이터베이스 - 상기 테이블은 텍스트 문자열 내의 개념들과 연관된 개념 식별자들 간의 연관관계를 저장하도록 구성됨 -, 및 데이터베이스 및 사용자 인터페이스와 인터페이스하는 파서 - 상기 파서는 프로세스를 수행함으로써 텍스트 문자열에 의해 표현되는 개념을 식별하도록 구성됨 - 를 포함하며, 상기 프로세스가, 텍스트 문자열을 성분 개념들로 분해하는 단계, 테이블에서 성분 개념들 간의 적법한 조인들을 검색함으로써 성분 개념들로부터 부개념들을 식별하는 단계, 테이블에 의해 명시된 대로 성분 개념들을 조인시킴으로써 부개념들을 형성하는 단계, 테이블에서 성분 개념들과 부개념들 간의 적법한 조인들을 검색함으로써 부개념들 및 성분 개념들로부터 상위 부개념들을 식별하는 단계, 및 텍스트 문자열을 표현하는 개념이 식별되어 형성될 때까지 상기 단계들을 반복하는 단계를 포함한다.
본 발명의 이들 및 기타 특징들, 양태들 및 실시예들이 이하의 "발명을 실시하기 위한 구체적인 내용" 부분에 기술되어 있다.
본 발명의 특징들, 양태들 및 실시예들이 첨부 도면과 관련하여 기술되어 있다.
도 1은 일 실시예에 따른, 텍스트 문자열을 파싱하는 방법을 나타낸 도면이다.
도 2는 일 실시예에 따른, 텍스트 문자열을 파싱하는 다른 예시적인 방법을 나타낸 도면이다.
도 3은 도 1 및 도 2의 파싱을 수행하는 데 사용되는, 예시적인 일 실시예에 따라 구성될 수 있는 테이블의 예를 나타낸 스크린 샷이다.
도 4는 예시적인 일 실시예에 따라 구성될 수 있는 테이블의 다른 예를 나타낸 스크린 샷이다.
도 5는 도 3의 테이블을 사용하여 모델링될 수 있는 관찰(observation) 개념의 구조를 나타낸 트리를 나타낸 도면이다.
도 6은 일 실시예에 따른, 도 3의 테이블을 사용하여 텍스트 문자열을 파싱하는 예시적인 방법을 나타낸 흐름도이다.
도 7은 도 6의 파싱을 수행하는 데 사용되는, 예시적인 일 실시예에 따라 구성될 수 있는 테이블의 예를 나타낸 스크린 샷이다.
도 8은 도 3 및 도 6의 테이블을 사용하여 모델링될 수 있는 도메인(domain) 개념의 구조를 나타낸 트리를 나타낸 도면이다.
도 9는 예시적인 일 실시예에 따라 구성될 수 있는 테이블의 다른 예를 나타낸 스크린 샷이다.
도 10은 예시적인 일 실시예에 따라 구성될 수 있는 테이블의 다른 예를 나타낸 스크린 샷이다.
도 11은 예시적인 일 실시예에 따라 구성될 수 있는 테이블의 다른 예를 나타낸 스크린 샷이다.
도 12는 일 실시예에 따른, 도 3, 도 7, 도 9, 도 10 및 도 11의 테이블을 구성하고 저장하며 도 1, 도 2, 도 6 및 도 13의 파싱을 수행하도록 구성되어 있는 예시적인 시스템을 나타낸 도면이다.
도 13은 일 실시예에 따른, 텍스트 문자열을 파싱하는 다른 예시적인 방법을 나타낸 도면이다.
1. 지식의 제1 매체
본 명세서에 기술된 실시예들에서, 선언적 지식의 도메인이 M5 데이터베이스 형식으로 저장되어, 언어 또는 사람의 기억에 저장된 지식의 상응하는 도메인과 아주 비슷하다. 개념 구조, 및 개념 구조와 사고 및 언어 간의 관계를 잘 이해할 수 있게 하는 개념 트리의 그래픽 표현을 구성하는 방법에 대해 이하에서 기술할 것이다. 이 방법에서, 우선 각각의 개념에 고유 ID#가 주어질 수 있고, 다양한 지적 레벨의 개념들이 일련의 새로운 "개념-조인" 레코드(즉, 조인 행(join row))의 형태로 데이터베이스 테이블에 저장될 수 있다. 이 방법에서는 각각의 조인 행이 고유 ID# - 이는 개념의 ID#를 표현함 - 및 다른 개념적으로 관련된 레코드들의 ID#에 대한 포인터를 가져야 하고, 이 다른 개념적으로 관련된 레코드들의 ID#는 차례로 다른 개념적으로 관련된 레코드들의 ID#에 대한 포인터를 가짐으로써, 특정의 일련의 링크된 레코드들이 어떤 특정의 복잡한 사람의 사고라도 모든 상세를 전체적으로 모델링할 수 있는 독점적인 트리 구조를 형성할 수 있게 한다. 각각의 이러한 개념 트리에서는, 전체 트리 개념을 나타낼 수 있는 루트 레코드가 있으며, 이 루트 레코드의 고유 ID#가 그 레코드들의 트리가 표현하는 고유의 정신적 개념을 식별하고 명명한다.
이어서, 세상의 또는 상상의 사람들, 장소들 또는 사물들을 표현할 수 있는 많은 유형의 개념 레코드들이 구성될 수 있다. 다른 개념 레코드들은 순서, 행동, 계획, 또는 기타 아무거나 표현할 수 있다. 이러한 성질의 트리 구조가 구축되어 조회될 수 있다. 또한, 입력 텍스트를 레코드 트리 구조로 변환하거나 레코드 트리 구조를 입력 텍스트로 변환할 수 있는 의미 인터페이스 프로그램에 대한 언어에 대해서도 기술한다. 텍스트로 된 또는 다른 소스로부터의 정확하게 식별된 입력에 대해, 적절한 저장된 지식을 텍스트 또는 음성으로 출력함으로써 응답하거나 컴퓨터에 프로그램적으로 저장된 행동들을 수행할 수 있는 응답 프로그램에 대해서도 기술한다.
본 명세서에 기술된 실시예들의 목적상, 기본적인 정신적 프로세스가 다음과 같이 실행되는 것으로 가정된다: 복잡한 정신적 개념을 구축하기 위해, 간단한 개념들이 먼저 서로 조인되어 중간 개념을 만든다. 먼저, 몇개의 원자적 관념들이 하나의 부개념으로 조립될 수 있다. 이어서, 간단한 관념들의 다른 별도의 중간조립체(sub-assembly)가 조립될 수 있다. 2개의 중간조립체가 조인되어 보다 복잡한 관념, 즉 상위 중간조립체를 만들 수 있다. 또한 단일 또는 이중 관념이 계속 조인되어 점점 더 복잡하게 될 수 있다. 이어서, 이 상위 레벨의 관념들이 계속 결합되어, 아주 복잡한 관념을 형성할 수 있다. 이 프로세스의 중요한 양태는 가장 복잡한 관념이라도, 몇개의 더 간단한 관념들로 이루어져 있다면, 종종 하나의 어휘 단어라고 말해질 수 있는 하나의 단일 실체로 축소될 수 있다는 것이다. 이하에서 기술하는 바와 같이, 어휘 단어는 개념 ID#에 상응하는 것일 수 있다. 게다가, 마음은 각각의 고유 관념이 더 간단한 관념들로 이루어져 있고 어떤 더 복잡한 관념의 성분이라는 것을 알 수 있다: 특정의 관념들은 부성분이고, 그의 사본이 많은 다른 복잡한 관념들에서 재사용되지만, 특정의 문맥에서는, 어느 복잡한 관념이 표현되고 있는지를 마음이 알 수 있다. 따라서, 이는 엄청난 수의 정신적 개념들, 그의 구조 및 그의 관계들에 적용된다.
복합 개념은 서로 결합될 때 개념을 이루는 개념 부분들의 합성이다. 마음의 가장 중요한 작용들 중 하나가 간단한 관념들로부터 복잡한 관념을 구성하는 것이다. 복잡한 관념을 구성하는 것은 성분 분자, 기(group), 원자 및 이온으로부터 복잡한 분자를 합성하는 것 또는 먼저 제작되고 이어서 나중에 최종 제품으로 조립되는 하위 부품들로부터 복잡한 기계를 제조하는 것과 유사하다.
고려해야만 하는 중요한 정신적 현상은, 언어의 모든 요소들, 심지어 어휘 단어들이 다른 문맥에서 그의 의미를 변경하는 것처럼, 개념이 다른 개념과 관계를 맺게 될 때 그의 의미를 적응시킨다는 것이다. 이러한 개념 의미의 극단적인 능력은 잘 연구되어 있는 많은 의미를 갖는 단어들의 언어 현상과 아주 비슷하다.
이 방식에 따라 텍스트를 파싱하는 것은 언어가 보다 간단한 성분 개념으로부터 복잡한 정신적 개념을 구성하는 상세한 방법인 것으로 해석될 수 있다는 것을 보여준다. 개념은 언어의 요소들, 어휘 단어, 조어, 및 구두점이 트리의 리프(즉, 가장 간단한 관념)인 트리 구조를 가지며, 이 리프들은 연속하여 쌍으로 조인하여 복합 관념을 표현하는 노드(노드의 위치가 조어 및 구두점에 의해 명시됨)를 형성한다. 이러한 복합 노드는 계속하여 보다 복잡한 관념을 표현하는 노드에서 조인하고, 이들 노드는 복잡한 관념 전체를 표현하는 하나의 루트 노드가 있을 때까지 계속하여 상위 노드에서 조인한다.
전부는 아닐지라도 대부분의 어휘 단어는 서로 다른 문맥에서 서로 다른 의미를 갖는다. 다른 문맥에서 사용되는 경우 의미가 변할 때 동일한 단어 또는 구의 정확한 의미를 식별하는 방법이 본 명세서에 기술되어 있다.
본 명세서에 기술된 시스템 및 방법이 양호한 해결책을 제공하는 어떤 특정의 언어 문제는 다음과 같다. 첫째, 어휘 단어가 의미하는 개념의 기능(명사, 동사, 형용사, 및 부사)과 그의 접두사, 접미사 및 어형 변화가 그의 의미를 어떻게 변화시키는지의 체계적 해석. 이어서, 직시(deixis), 즉 동일한 단어, 인칭 대명사, 또는 다른 문법적 단어가 서로 다른 문맥에서 아주 다른 개념을 말할 수 있다. 언어의 조어 단어, 인칭 대명사, 의문 대명사, 전치사, 접속사, 한정사 등, 동일한 어휘 단어가 서로 다른 문맥에서 서로 다른 의미를 갖는 다의어 및 동음이의어, 서로 다른 단어 및 구가 동일한 의미를 갖는 유의어 및 부연, 및 동일한 텍스트 문자열이 2개 이상의 의미를 갖는 애매성 및 이중 의미에 대응하는 개념을 관리하는 것은 직시를 관리하는 것과 아주 흡사하다. 유의어 및 부연의 특정의 문제가 되는 양태는 특정의 질문 또는 특정의 서술문(예를 들어, 단지 20개 단어로 됨)이 수백만, 심지어 수조개의 텍스트 문자열 순열(즉, 220 내지 320의 범위에 있음)로 바꾸어 말해질 수 있고 여전히 동일한 정확한 의미를 가질 수 있는 조합 문제이며, 이는 저장된 단어 문자열의 검색을 특정의 문자열이 의미하는 개념을 식별하는 수단으로서는 쓸모없게 만든다.
게다가, 삽입되는 곳이 어디냐에 따라 달라지는 구두점이 텍스트 문자열의 의미를 급격히 변화시킬 수 있다. 통사적(syntactical) 기능(인칭, 수, 성, 태, 시제, 실재/법, 긍정/부정, 서법, 한정, 시간, 장소, 태도, 및 인과성)과 개념적으로 상응하는 것을 관리하는 것이 또 하나의 문제이지만, 본 명세서에 기술된 방법이 이러한 언어적 현상들 모두를 관장할 수 있다.
본 명세서에 기술된 시스템 및 방법에서, 외부 세계, 그래픽 매체, 및 언어를 다룰 때의 특정의 사람의 마음의 작용의 결과, 및 다른 사람의 마음의 내용이 컴퓨터에 기록된다. 이 방법은 그 마음의 작용 및 그 작용의 결과를 독점적 설계의 데이터베이스[제5 매체(M5)라고 할 수 있음]에 기록한다. 제5 매체는 실제의 실체 및 개념적 실체를 표현하는 방식으로 마음 및 언어를 생체 모방(bio-mimic)하는 것을 목표로 한다. 개념을 보유, 저장 및 관리하고 자연어와 인터페이스하는 이러한 기능을 수행할 수 있는 인실리코(in-silico) 매체는 사람의 정신적 개념을 모델링하고 이를 식별하여 서로 관련시키는 작업을 직접 다룬다.
언어는 컴퓨팅 매체가 아니라 기록 매체이다. M5는 사람의 마음의 사고, 관념 및 결론을 기록하지만, 이를 생성하지는 않는다. 따라서, 저자의 사고 및 관념에 대한 기록이 이미 행해졌기 때문에, 기록된 문서로부터 M5 데이터베이스를 소싱(source)하는 것이 편리할 수 있다.
제5 매체는, 비록 다른 매체들 중 어느 것보다 언어에 가깝지만, 언어와 절대적으로 다르다. 지식은 텍스트가 아니라 관련된 숫자로서 저장된다. 이는 임의의 지식 도메인의 관념들이 분류, 식별, 주석 첨부 및 서로 관련되어 있는 컴퓨터 데이터베이스에서 사람의 정신적 개념의 구조를 모델링하는 작업을 직접 다룬다. 제5 매체가 생각을 모델링하는 데 있어서 언어와 아주 비슷하지만, 지식이 데이터베이스 형식으로 보유된다. M5에서, 데이터의 단위는 텍스트가 아니라 숫자이다.
M5 지식 베이스의 아주 중요한 양태는 지식 도메인의 텍스트에 있는 명시적이 아니라 암시적인 개념들 전부가 M5에 복원된다는 것인데, 즉 어떤 사람의 미압축된 사고를 받아서 제2 사람에게 언어로서 전달하기 위해 데이터를 압축하고, 제2 사람은 그 전달을 원래의 미압축된 지식을 획득하기 위해 압축 해제하는 정신적 프로세스이다. 이것은, 예를 들어, 비디오 데이터의 MPEG 압축-압축 해제에 상응하는 프로세스이다.
본 명세서에 기술된 시스템 및 방법은 컴퓨터에서 사람의 생각을 모델링하고 사람이 자연어를 통해 저장된 지식에 자유롭게 액세스할 수 있게 하는 데이터베이스 플랫폼 및 밀접하게 통합된 컴퓨터 프로그램을 포함한다. M5는 가장 난해하고 심오하며 지적이고 기술적이며 복잡한 관념들의 구조적 상세를 절대적으로 정밀하게 인코딩하도록 구성될 수 있다. 파서 프로그램은 아주 불가해한 텍스트 입력을 파싱하도록, 즉 완전한 사람의 능력 수준에서 직시, 은유, 인유 및 이중 의미를 처리하도록 구성될 수 있다. 사람은 또한 이 시스템 및 방법이 따를 수 있는 정확한 명령을 자연어로 발행할 수 있다(즉, 진정한 사람-기계 인터페이스). 사람 사용자는 또한 데이터베이스를 검사함으로써 어떤 정보가 어떻게 컴퓨터에 저장되어 있는지를 알 수 있다.
언어로 저장된 선언적 지식과 달리 M5 형식으로 저장된 선언적 지식은 보다 포괄적이고 고밀도의 방식으로 저장된다. 구체적으로는, 각각의 지식 도메인이 그 지식 도메인 내의 모든 개념들과 이 개념들 간의 관계에 관한 특정의 정보를, 각각의 개념에 관한 원하는 만큼의 메타데이터와 함께, 열거하는 일련의 데이터베이스 테이블로서 저장될 수 있다. M5는 복합 개념의 정확한 구조를, 그의 성분 개념을 정의함으로써, 파악할 수 있고 복잡한 개념적 구조를 형성하기 위해 그 성분 개념들이 어떻게 조립되는지를 정확하게 정의할 수 있다.
복합 개념이 어떻게 구성되는지를 정확하게 정의하기 위해 조인 행이 사용될 수 있다. 일반적으로, 특정 도메인에서의 지식이 (n)개의 단어로 정의될 수 있는 경우, M5 버전에서 파악되는 개념들의 수는 대략 (2n)이 될 것이다. M5는 그의 성분 개념들 모두가 무엇인지 및 복잡한 구조를 형성하기 위해 이 성분 개념들이 정확하게 어떻게 조립되는지를 비롯한 각각의 복합 개념의 정확한 구조를 파악한다.
M5에서는 상당한 배경 지식을 갖는 매우 수준높은 사람의 마음이, 예를 들어, 과학 논문을 읽고 이해할 것을 필요로 한다. 컴퓨터는 전혀 이것을 할 수 없지만, 비교적 간단한 컴퓨터 프로그램은 동일한 논문의 M5 데이터베이스 버전을 읽고 거기에 있는 개념들을 이해하며 임의의 특정의 원하는 지식 항목을 추출할 수 있다. 이러한 능력은 확장가능하다. 예를 들어, 500,000개 단어의 특정의 책이 관심의 특정 지식을 포함하거나 포함하지 않을 수 있다고 하자. 사람 독자가 그 항목을 찾아내거나 그 항목이 거기에 없다는 것을 알아내기 위해서는 상당한 노력이 필요할 것이지만, 책이 언어 텍스트 뿐만 아니라 M5로 출판된 경우, 컴퓨터 프로그램은 수분의 1초 내에 이 지식 항목을 찾아내어 제시하거나 그곳에 없다는 것을 알아낼 것이다.
2. 본 명세서에 기술된 시스템 및 방법의 소개
개념이란 무엇인가? 1941년에 일어난 특정 사건, 예를 들어, 일본의 진주만 습격을 예로 들어보자. 진주만은 명확한 개념이고, 연도 1941은 명확한 개념이다. 일본 습격이라는 사건은 그 단어를 읽을 때 사람의 마음에서 경험될 명확한 개념이다. 관찰자는 명확하게 보고, 알고, 그리고 이들의 관계를 관리할 수 있다. 마음은 3개의 관념을 쉽게 결합하여 1941년의 일본의 진주만 습격이라는 하나의 복합 개념을 만들 수 있다. 다른 예로서, 기후 변화에서 메탄과 같은 비CO2 가스의 중요성에 관한 1800 단어 논문을 생각해보자. 이 논문 내의 개개의 개념들의 예는 기후 변화, 온실 가스, 지구의 평균 표면 온도, 수소불화탄소, 메탄 농도의 증가, 복사 강제력과 같은 용어들, 대기 중의 메탄이 지구 온난화의 원인이라는 것과 같은 사실들, 그리고 아주 빠르다는 것과 같은 정도, 1980년대와 같은 시간 등이다. 언급한 바와 같이, 특정 도메인에서의 지식이 (n)개의 단어로 정의될 수 있는 경우, M5 버전에서 파악되어야 하는 개념들의 수는 대략 (2n)이다. 따라서, 상기한 메탄 논문과 같은 1800 단어 논문은 약 3600개 개념 또는 관념을 다루게 된다. 거의 모든 정신적 개념이, 얼마나 복잡한지에 상관없이, 단어, 구, 문장, 또는 단락과 같은 텍스트에 의해 정확하게 파악될 수 있다.
언어가 이러한 느린 의사소통 채널이기 때문에, 화자가 전달하는 개념들, 즉 듣는 사람에 의해 즉각 복원될 수 있는 그 개념들 중 다수를 암시하지만 설명하지는 않는 표현들을 급격하게 단축시키기 위해 아주 놀랄만하고 독창적인 데이터 압축 기법들을 개발하였다. 이로 인해 50년 동안 자연어 컴퓨팅에 대해 심각한 문제가 발생되었는데, 그 이유는 컴퓨터가 사람의 상상력의 놀라운 기능들에 필적하려면 아직 몇년은 더 있어야 하기 때문이지만, 본 명세서에 기술된 시스템 및 방법은 미압축된 지식에 대한 형식(format)을 제공함으로써 완전히 사람의 수준으로 이 문제를 해결하는 방법을 포함한다.
연구자들을 압도한 다른 언어적 현상은 동일한 어휘 단어가 사용될 때마다, 심지어 동일한 문장에서, 다른 의미를 갖는 것이다. 예를 들어, 다음과 같은 문장에서의 "bank"의 의미를 생각해보자. "you can bank on me to meet you on the left Bank outside the Swiss Bank, where I bank." 컴퓨터에게 의미있게 말하기 위해, 소프트웨어 프로그램은 이러한 많은 가능한 의미들 중 어느 것이 각각의 경우에 적용되는지를 결정해야만 한다. 이것은 무시무시한 것처럼 들리지만, 본 명세서에 기술된 시스템 및 방법은 완전한 사람의 수준으로 이러한 문제를 해결한다.
어휘 단어의 의미를 분류하기 위해 자연어 처리 그룹들은 엄청난 노력을 기울여 왔다. 영어 어휘 단어의 프린스턴 대학 인지 과학 연구소 데이터베이스인 Wordnet은 동의어 집합(synset)의 컬렉션, 즉 주어진 단어의 서로 다른 관찰된 비교적 고정된 의미들의 수집된 집합으로서 200,000개 이상의 단어-의미 쌍을 포함하고 있다. 동의어 집합의 멤버는 또한 "동음이의어" 또는 "다의어"로서 분류된다. 그러나, 어휘 단어의 의미가 무한히 변할 수 있다. 예를 들어, "Brush your teeth and hair"는 액식 어법(zeugma)인데, 그 이유는 이러한 2개의 문맥에서 brush의 의미가 구체적으로 다르고, 다른 문맥들에서 아주 많은 brush의 의미들이 있을 여지가 있기 때문이다.
M5 데이터베이스에서, 각각의 개별 개념은 레코드 또는 행으로 표현될 수 있다. 그러면, 각각의 개념 레코드 또는 행은 고유 ID#를 가질 수 있다. 그의 ID# 이외에, 각각의 행은 또한 그것을 이루기 위해 조인된 정신적 개념들의 쌍의 ID#도 포함하고 있으며, 각각은 데이터베이스에서의 그 자신의 행은 물론 이 개념이 성분이거나 성분일 수 있는 보다 복잡한 개념들의 ID#들의 집합으로 표현된다.
따라서, M5 데이터베이스에서, 각각의 개념은 데이터베이스에서의 그 자신의 행으로 표현될 수 있다. 각각의 레코드는 다른 개념적으로 관련된 행들의 ID#들에 대한 포인터들을 가질 수 있으며, 이 다른 개념적으로 관련된 행들은 차례로 다른 개념적으로 관련된 레코드들에 대한 포인터를 갖는다. 이것에 의해 특정의 일련의 링크된 레코드들이 모여서 특정의 사람의 사고의 모든 상세를 모델링할 수 있는 독점적 트리 구조를 집합적으로 형성할 수 있다. 이 트리의 각각의 성분 행은 복합 개념을 이루고 있는 부성분 개념들 중 하나를 표현할 수 있다. 포인터들은 부개념이 그의 일부인 복합 개념 구조에서의 그 부개념의 정확한 위치를 지정한다.
각각의 이러한 개념 트리에서는, 전체 트리 개념을 대신할 수 있는 루트 레코드가 있으며, 이 루트 레코드의 고유 ID#가 그 레코드들의 트리가 표현하는 고유의 정신적 개념을 식별하고 명명한다. 그로써, 복합 개념이 데이터베이스에서 이 트리 구조에 의해 또는 하나의 행에 의해 또는 ID#에 의해 표현될 수 있다.
본 명세서에 기술된 시스템 및 방법은 또한 화학 분자에서 원자들의 배열을 표현하는 데 사용되는 것과 비슷한 이러한 구조의 그래픽 표현도 포함할 수 있다. 이러한 그래픽, 예를 들어, M3 표현은 마음의 작용 및 생각과 언어가 어떻게 생각을 구성할 수 있는지에 대한 많은 통찰을 제공한다. 그래픽은 M5 데이터베이스에 표현되는 트리에 구현되는 구조 및 이 구조와 상호작용하는 방법을 반영하고 설명하는 데 사용될 수 있다.
개념 레코드는 이 레코드가 표현하는 정신적 개념의 다양한 다른 속성들의 지정자, 어느 매체가 개념에 대한 호스트인지, 누구의 마음을 보유하고 있는지, 또는 어느 텍스트에 보유하고 있는지, 그의 개념 유형, 및 임의의 다른 유용한 속성을 포함하는 다른 필드들을 포함할 수 있다. 본 명세서에 기술된 시스템 및 방법은 사회적 중요성, 사람 또는 조직에 대한 상대적 중요성 또는 가치, 및/또는 위험 또는 위난에 관하여 개념에 주석을 다는 방식을 제공한다. 따라서, 예를 들어, 어느 것이 더 나은 방식인지에 관해 개념들이 비교되고 평가될 수 있다. 행동 또는 응답을 표현하는 행에 대한 포인터를 포함하는 응답 필드도 역시 M5 데이터베이스에 포함될 수 있다. 개념을 가장 잘 식별하고 기술하는 텍스트 문자열 및 그의 부연을 포함하는 필드도 역시 포함될 수 있다.
특수한 유형의 개념도 역시 이용될 수 있다. 예를 들어, 관찰자가 특정 개념이 특정의 관계로 존재하는 것을 선언하는 관찰 개념, 및 특정 개념들 간의 관계가 데이터베이스에 존재하는지 여부 또는 어떤 관계의 특정 부개념이 있을 수 있는지를 다른 관찰자에게 질문하는 탐지 개념인 질문 개념이 있다. 이 2가지 개념 유형의 언어 버전은 선언적 지식을 전달하거나 요청하기 위해 사람의 마음들 간에 전송되는 정보 패킷일 수 있다. 이들은 전송되고 수신되는 관념에 의해 마음에서 그리고 한정적 문장(즉, 질문 또는 명령)에 의한 언어에서 정확히 일치된다. 다른 특수한 개념은 컴퓨터가 취할 수 있는 행동을 주도하는 행동 개념이다.
마지막으로, 사용자들은 임의의 특정의 사람 생각의 모든 상세를 모델링할 수 있는 이러한 성질의 데이터 트리 구조를 구축할 수 있다. 데이터 형식에 익숙한 경우, 사용자는 적절한 형식으로 데이터를 입력함으로써 그의 정신적 관념을 저장하는 데이터베이스에 수동으로 레코드를 생성할 수 있다. 또는 데이터베이스를 검사하고 그곳에 저장된 지식을 이해한다. 이러한 성질의 트리 구조가 자동으로 구축되어 조회될 수 있다.
본 명세서에 기술된 시스템 및 방법을 이해하기 위해, 이해해야 하는 첫번째 관념은 어휘 단어, 조어 단어, 및 구두점, 텍스트의 요소들 모두가 정신적 개념들을 대표하는 기호들인 것으로 간주된다는 것이다. 이어서, 비록 그의 단어들 중 하나의 개념보다 더 복잡하지만, 구가 단일 개념을 대표한다는 것이다. 또한, 문장, 심지어 몇개의 종속절을 갖는 문장이 단일 개념을 대표한다는 것이다. 단락 전체가 하나의 복합 개념을 대표한다. 텍스트는 반드시 각각이 명확한 원자적 개념을 식별하지만 이들을 하나의 복합 개념으로 조립하는 데 필요한 명령들을 포함하는 언어 요소들, 단어들 또는 구두점들의 1차원의 교환법칙이 성립하지 않는 문자열이다. 텍스트 요소들의 순서의 작은 변화가 의미의 급격한 변화를 야기할 수 있다.
모든 선언적 지식은 관찰자에 대해 상대적이고, 관찰자와 그의 지식 간의 아주 중요한 관계가 본 명세서에 기술된 바와 같이 M5에서 완전히 파악된다. M5 지식 베이스에서, 지식 도메인의 텍스트 버전에서 명시적이지 않고 암시적인 개념들 전부가 복원된다. 파서 프로그램은 아주 불가해한 텍스트 입력을 파싱하는 데, 즉 완전한 사람의 능력 수준에서 직시, 은유, 인유 및 이중 의미를 처리하는 데 사용될 수 있다. 본 명세서에 기술된 시스템 및 방법을 사용하여, 사용자는 원하는 정보를 얻기 위해 다른 사람에게 질문을 할 때와 동일한 자연스런 방식으로 컴퓨터에 질문을 제기할 수 있다.
3. 개념 구성-이론 및 방법
a. 서론
살펴본 바와 같이, 이해해야 할 제1 관념은 복합 개념이 간단한 개념들의 합성이라는 관념이다. 간단한 개념들이 복합 개념으로 조립될 때, 형성된 구조가, 그래프 이론의 관점에서, 대체로 유향 이진 트리인 라벨링된 그래프이지만, 높은 유의성(valence)의 많은 정점들을 갖는다. 따라서, 이것에 기초하여, 본 명세서에 기술된 시스템 및 방법은 명확한 생각을 모델링하기 위해 트리 구조를 사용한다.
관찰자가 어떻게 관찰을 하는지, 즉 세상에서 또는 어떤 가상 세계에서 사건 또는 행동을 어떻게 보고 기술하는지에 관해 상당한 유연성을 갖는다. 서로 다른 관찰자가 그들이 관찰하는 것에 관해 합의를 하지 않을 수 있지만, 모든 경우에, 독특하게 해석되는 개념들 및 그들의 관계를 완벽하게 반영하기 위해 특정의 일련의 조인(이하 참조)이 어떻게든 생성될 수 있다.
텍스트 문자열이 정신적 개념을 구성하는 명령들로 간주될 수 있다. 텍스트 문자열, 어휘 단어, 조어 또는 구두점의 각각의 개별 요소가 개념이다. 짧은 문자열은 간단한 개념을 정의하고, 긴 문자열은 복합 개념을 정의하는 경향이 있다. 이하에서 설명하는 바와 같이, 긴 문자열의 의미, 즉 그의 개념이 하나의 요점 개념으로 파싱되거나 결집되어야만 한다. 파싱 프로그램은 복합 개념을 모델링하는 트리 구조를 구성하기 위해 행해지는 모든 조인들을 열거하고 있는 데이터베이스 조인 테이블을 조회함으로써 연결될 단어들에 의해 명명된 간단한 개념을 어떻게 화자가 의도했는지를 정확히 해석하도록 구성될 수 있다. 각각의 간단한 개념, 궁극적으로 복합 개념이 구축될 때, 이 개념은 그 자신의 고유 ID#를 부여받는다. 연결된 부문자열을 개념 ID#로서 사용할 수 있지만, 짧은 고유 개념 ID#를 사용하는 것이 바람직할 수 있다.
각각의 명확한 관념이 이어서 그것을 가장 잘 정의하는 텍스트 문자열을 할당받을 수 있다. 동일한 개념을 의미하는 일련의 부연들도 각각의 개념에 할당될 수 있다.
이 프로세스를 설명하기 위해, 짧은 텍스트에 의해 정의되는 개념 트리 구조를 생각해보자.
Figure pct00001
Figure pct00002
라인 11이 원래의 텍스트이다. 라인 10은, 트리를 모델링하는 다른 종종 사용되는 방법인, 내포 괄호로 둘러싸인 부문자열 형태의 이 텍스트 문자열이 가르쳐준 트리 구조를 모델링한다. 상기 라인들은 단지 하나의 긴 문자열이 남을 때까지 계속하여 텍스트 요소들을 더 긴 부문자열로 연결시킨다. 이러한 점점 더 긴 부문자열은 그들이 표현하는 점점 더 복잡한 개념들을 명명한다. 상기한 트리 내의 작은 숫자들은 개념들이 조인하는 위치, 또한 루트 개념 및 그의 부개념들 각각의 ID를 개별적으로 나타낸다.
이러한 긴 단어들의 연결을 그의 기본 개념들을 나타내는 고유의 개념 ID#로서 사용하는 것은 번거롭다. 따라서, 특정 실시예에서, 이러한 긴 연결이 정수와 같은 간단한 고유의 식별자로 대체된다.
도 1에서, 연결된 단어들 또는 개념들을 연관된 정수 ID#로 대체함으로써 상기한 문장들의 연결이 나타내어져 있다. 알 수 있는 바와 같이, 프로세스의 끝에서, 문장에 의해 전달되는 복합 개념 전체가 하나의 개념 식별자, 즉 ID# 10으로 축소되었다. 본 명세서에 기술된 컴퓨터 구현 시스템 및 방법에서, 상기 문장에 포함된 개념들 전부를 포함하는 데이터베이스가 구성될 수 있다. 이것은 개개의 어휘 단어들 또는 단위들(즉, "contribution", "given" 등) 조어 단어(즉, "to" 및 "of") 및 임의의 구두점 각각으로 이루어질 것이다. 조작자는 이어서 "greenhouse gas", "to radiative forcing" 등과 같이 서로 다른 개별 또는 단일 개념들의 조인을 형성하기 시작할 수 있다. 이 조인은 데이터베이스에 그 자신의 항목(entry) 또는 행을 가지게 되며 그 자신의 고유의 식별자, 즉 ID#를 가지게 된다. 상위 레벨 개념(이 경우에, ID# 10)이 형성될 때까지 역시 그 자신의 항목 또는 보상 ID#를 갖는 상위 개념을 형성하기 위해 조인이 성공적으로 조인되게 된다.
따라서, 상기 문장이 본 명세서에 기술된 시스템에 입력될 때, 언급한 파서 프로그램은 데이터베이스를 조회하고 이상에서 및 도 1에서 설명한 조인을 행할 수 있다. 따라서, 파서는 궁극적으로 ID# 10에 도달하게 되고 전달되는 복합 개념을 식별하게 된다.
이하에서 설명하는 바와 같이, 응답 또는 행동은 데이터베이스에서의 개념과 연관될 수 있다. 따라서, 복합 개념이 식별되면, 컴퓨터 또는 프로세서는 그에 응답하여 특정 행동을 취하도록 지시받을 수 있다. 구체적인 실시예 및 구현예를 상세히 기술하기 전에, 추가의 이론 및 예가 설명 및 배경 정보로서 제시된다.
상기 예에서, 고유의 개념 ID#는 단지 연결된 텍스트 문자열이었으며, 이는 얼마간 다루기 힘들지만 완벽하게 기능하는 번호부여 방식이며 관련된 개념을 아주 명확하게 만드는 이점이 있다. 예를 들어, 개념 6이 "a given non-CO2 greenhouse gas"로 명명되고, 개념 3이 "to radiative forcing"으로 명명된다는 것을 쉽게 알 수 있다.
명명 부문자열(naming substring)의 시작 단어가 각각의 노드로부터 좌측 연결선(edge)을 택함으로써 순회되는 경로의 끝에 있는 리프 노드인 명명 규칙(naming rule)이 정의될 수 있다. 문자열의 마지막 단어가 각각의 노드로부터 우측 연결선을 택함으로써 생성되는 경로의 끝에 있다. 이것은 노드가 루트 노드인 부트리(subtree)의 리프들의 부문자열이다. 이 루트 노드 개념이 텍스트 부문자열의 단일 "의미"라는 것을 알 수 있다.
(n)개의 단말 노드(terminal node), 즉 언어 요소(language element), 단어 및 구두점으로 명명되는 개념 및 개념 트리가 그를 표현하는 이진 트리에 대략 (2n)개의 노드를 가질 것이다. 이 경우에, 이 텍스트 문자열에 의해 훈련되는 11개의 리프 및 10개의 조인 노드는 21개의 개념을 포함할 것이다. 물론, 더 높은 유의성을 갖는 몇몇 노드들을 갖는 트리는 더 적은 노드를 가질 것이다.
유의할 점은, 한 요소가 한 분기의 마지막 단말 요소이고 그 다음의 인접한 요소가 그 다음의 다른 분기의 첫번째 단말 요소이기 때문에, 텍스트 문자열에서 인접한 언어 요소들 간에 불가피하게 숨겨진 경계가 있게 된다는 것이다. 이 경우에는, 특히 gas와 to 사이에 있다. 사람이 아닌 파서는 "의미", 즉 부문자열이 어느 루트 노드에 보고하는지를 이해하지 못하면 이러한 숨겨진 경계를 검출할 수 없다.
도 2는 전치사구, 주절, 종속절, 및 동격을 갖는 긴 문장의 예이다. 도 2는 또한 복합 개념이 상기한 조인 프로세스를 사용하여 어떻게 연역될 수 있는지도 나타내고 있다. 사용되는 예시적인 문장은 다음과 같다:
Figure pct00003
이 한정적 문장은 28개의 원시 요소, 즉 트리의 리프인 어휘 단어, 조어, 및 구두점을 가지며, 이들은 이 다이어그램의 경우 도 2에 나타낸 부개념 A, B, C, D, E 및 F를 구성하도록 사전-파싱되어 있는 6개의 경계있는 구(bounded phrase)로 나누어진다. 이러한 부개념들은 이어서 한정적 문장 전체에 의해 명명되는 관찰 개념 트리를 구성하기 위해 5개의 조인 단계(1 내지 5)에서 엄격한 순서로 조인될 수 있다. 이 예에서, 개념 B는 주어 개념이다. 첫번째 조인 동작은 이를 실재 마커 또는 이음매 개념이고 관찰의 실재에 대한 관찰자의 해석(take)인 개념 C와 조인시켜 개념 1을 구성하는 것이다. 이 개념은 이어서 주어의 보어인 개념 2가 부정사구 부개념 D와 종속절 개념 E로부터 구축되는 동안 보유될 수 있다. 그 다음 조인은 개념 1과 개념 2를 결합하여 관찰 개념 3을 형성한다. 그러나, 이 간단한 관찰 개념은 2개 이상의 개념을 그에 제시함으로써 수식될 것이다. 먼저, 초기 구(initial phrase)에 의해 명명된 개념 A와의 조인. 그 다음에, 트리의 루트 개념인 완전히 수식된 관찰 개념 5를 생성하기 위한 그 복합 개념 전체와 동격 개념 F와의 조인.
하나의 텍스트 요소에서와 같이, 최종적인 조립 이전에 구, 종속절, 동격구, 문장, 단락 및 더 큰 구조가 모두 하나의 개념 ID#로 파싱되어야 한다는 것을 염두에 둔다. 사람이 아닌 파서가 텍스트에서 부개념 A, B, C, D, E 및 F를 기술하는 구들을 분리시키는 숨겨진 경계를 검출하는 데 아주 어려움을 겪을 것이라는 것을 상기 예에서, 즉각 알게 될 것이다. 이하에서 알게 되는 바와 같이, 이 어려움은 적법한 조인의 테이블을 사용하는 아주 간단하고 신뢰성있는 프로세스를 사용하여 해결될 수 있다. 부성분 개념은, 비록 각각이 긴 텍스트 문자열로 표현되어 있을지라도, 하나의 개념 ID#으로 축소되면, 조작, 병합되거나 서로와 특별한 관계에 놓여질 수 있다.
본 명세서에 기술된 시스템 및 방법은 제5 매체 데이터베이스 모델과 제4 매체 언어 사이에서 왔다갔다 양방향 변환을 가능하게 한다. 제5 매체는, 비록 다른 매체들 중 어느 것보다 언어에 가깝지만, 언어와 절대적으로 다르다. 이것으로부터, 이상에서 간략히 기술한 바와 같이, 각각이 일련의 독점적 필드를 갖는 조인 행 레코드로 이루어진 데이터베이스 테이블이 개발되었다. 지식을 주입하는 입력 프로그램, 지식을 관리하는 처리 프로그램, 및 지식을 자연어로 검색하고 컴퓨터 동작을 수행하는 입력-출력 프로그램이 이어서 데이터베이스와 관련하여 사용될 수 있다.
b. 개념 ID 번호 부여 방식
본 명세서에 기술된 시스템 및 방법은 각각의 명확한 정신적 개념에 대한 고유한 개념 ID#를 발생하는 어떤 방식과 관련해서도 사용될 수 있다. 예시적인 방식은 개념에 대한 고유한 개념 ID#를 형성하기 위해 명확한 정신적 개념을 명명하는 텍스트 문자열의 단어들을 연접시키는 것, 또는 개념에 대한 고유한 개념 ID#가 되는 두문자어를 형성하기 위해 명확한 정신적 개념을 명명하는 텍스트 문자열의 단어들의 머리글자를 연접시키는 것을 포함한다. 이러한 방식들에 의해, 이 방식들이 식별하는 개념들의 증가하는 복잡성을 반영하기 위해 개념 ID#의 복잡성이 진화한다. 다른 개념 ID 번호 부여 방식은 개념에 대한 고유의 개념 ID#가 될 그 다음 접근 번호를 발생하는 것, 난수 발생기가 개념에 대한 그 다음의 고유한 개념 ID#를 제공하게 하는 것, 개념의 도메인 주소를 개념에 대한 고유한 개념 ID#의 기초로서 사용하는 것, 개념에 대한 고유한 개념 ID#를 개념 유형에 기초하는 것, 및 상기한 방법들의 조합을 사용하는 것이다. 개념 ID#에 대한 도메인 위치를 사용하는 것은 성분 개념을 드러내는 선택적인 유형 3 조인(이하 참조)을 사용하여 개념에 최종 의미를 선행 할당하는 것을 직관적으로 만들어준다는 점에서 많은 이점이 있다.
c. 조인 테이블
본 명세서에 기술된 시스템 및 방법을 사용하여, 본 명세서에 기술된 바와 같이, 비교적 작은 조인 행 집합이 그의 성분 개념이 어떻게 서로 조인되는지를 정의함으로써 복잡한 정신적 개념의 구조를 정확하게 명시할 수 있다. 각각의 조인은 2개의 부성분 관념으로 이루어진 조인 생성물 관념(join product idea)을 생성한다. 텍스트가 복잡한 정신적 개념의 구조를 정의할 수 있는 것과 같이, 이 조인 행 집합은 복합 개념을 표현하고 그의 정확한 구조를 정의한다. 이는 저자의 정신적 생각을 보유하기 위한 텍스트에 대한 대안의 매체이다. 이는 원래의 소스 텍스트 또는 기록되지 않은 생각의 의미와 일치한다. M5 지식 도메인은 각각이 그 자신의 조인 행 집합에 의해 모델링되는 많은 복합 개념들을 포함한다. 이러한 조인 행 집합이 모여서 지식 도메인 전체를 모델링하는 조인 행의 테이블을 이룬다.
따라서, 텍스트에 의해 명시된 복잡한 정신적 개념이 성분 개념들 간의 모든 적법한 조인의 목록 또는 테이블로서 표현될 수 있다. 환언하면, 조인 행 집합은 복잡한 정신적 개념, 관념 또는 사고를 표현할 수 있는 데이터 트리 구조를 기술하고 정의한다. 각각의 조인 행에서, 고유한 개념 ID#에 의해 식별되는 2개의 개념이 서로 조인하여 고유한 개념 ID#로 식별되는 생성물 개념을 생성하는 것으로 표시되어 있다. 각각의 이러한 조인은 데이터베이스 테이블 내의 행에 정의되어 있다. 테이블의 각각의 조인 행은 조인되어 복합 생성물 개념을 형성하는 개념들의 ID#와 이렇게 형성된 복합 생성물 개념의 ID#도 보유할 수 있다. 각각의 행은 개념의 고유 ID#와 같이 개념을 표현할 수 있다. 따라서, 이러한 행을 조인이라고 부를 수 있거나 개념이라고 부를 수 있다. 이러한 대안의 방식에서 M5로 구성되어 있는 지식은 텍스트로서 저장된 동일한 지식과 아주 다른 값과 속성을 갖는데, 그 이유는 컴퓨터 또는 프로세스가 개념들 간의 관계를 이해할 수 있고, 지식 베이스에서 임의의 개념의 위치를 이해하기 때문이다.
조인 테이블을 구현하기 위해, 간단하거나 복잡한 각각의 개별 관념에 대해 새로운 행 또는 레코드가 데이트베이스 테이블에 생성된다. 이 행은 관념을 일의적으로 식별하고 연결된 관념들과의 관계를 명시하는 데 필요한 모든 정보를 포함하고 있고, 기록이 표현하는 관념 또는 생각을 식별하고 기술하기 위해 언어가 사용할 수 있는 언어 단어, 부연, 문장, 또는 단락을 포함하는 텍스트 필드를 가질 수 있다.
2개의 중요한 필드는 조인되어 생성물 개념을 형성한 2개의 개념의 ID#를 포함하는 필드와, 생성물 개념의 개념 ID#를 포함하는 필드이다. 레코드의 다른 필드들은 테이블을 처리하는 데 유용한 메타데이터를 포함할 수 있다.
특정 실시예에서, 간단한 정신적 개념들 사이에 존재하는 모든 조인이 테이블에서 제일 먼저 열거될 수 있다. 그 다음에, 첫번째 조인의 생성물 개념들과 아직 조인되지 않은 간단한 개념들 간의 임의의 조인이 온다. 이어서, 복합 개념을 형성하기 위한 복합 개념의 쌍들 간의 조인이 목록에 추가될 수 있다. 이어서, 보다 복잡한 개념들을 형성하기 위한 복합 개념들 간의 조인이 오고, 최종적인 조인이 그 대신에 구조화된 개념 및 그의 성분 개념들 전부를 표현하는 하나의 복합 개념 루트 노드를 생성할 때까지 마찬가지로 계속된다. 중요한 점은 조인 행 테이블에 부적법한 조인이 전혀 열거되어 있지 않다는 것이다.
단락-문장-라인/순서 행의 목적은 M5 지식 도메인 전체에 트리 구조를 부과하여 개념들이 논리적이고 편리한 방식으로 도메인에서 자신의 자리를 차지할 수 있게 하는 것이다. 언어 텍스트와 같이, M5에서의 지식 도메인은 번호 부여된 관찰 개념들 및 단락 개념들(기록된 텍스트의 방식으로 정렬됨)로 분할될 수 있다. 따라서, 그 관념이 어느 관찰 및 단락 개념에 관련되어 있는지에 관한 개념 레코드의 특수한 순서 필드/열에 있는 값들로 모든 조인 행이 표시되어 있다. 이것은, 개념들을 조직화된 구조에 유지하기 위해 그리고 데이터베이스를 다시 순서로 또는 어떤 유용한 새로운 순서로 정렬하기 위해, 데이터베이스를 생성할 때 유용한 것으로 밝혀졌다. 또한, 이는 새로운 개념들을 정확한 관찰 개념 및 이들이 적용되는 문맥에 삽입하기 위한 곳을 제공한다. 이 순서 열은 또한, 말하자면, 인칭 대명사가 어느 개념을 말하고 있는지에 관해 결정을 할 때 데이터베이스에서 로컬 개념을 검색함으로써, 보조 소프트웨어 프로그램이 문맥을 인식할 수 있게 하는 데 중요하다. 이것은 모호함을 해결하는 강력한 기능으로서, 보조 프로그램이 텍스트 입력을 이해하는 데 진정한 사람의 수준으로 동작할 수 있게 한다.
편의상 동일한 테이블에, 각각의 이러한 텍스트 요소를 그의 개념 번호에 링크시키는, 어휘 단어 및 구두점에 대한 텍스트 필드/열도 있을 수 있다. 이러한 개념들은 간단한 조인되지 않은 원자적 개념으로 간주될 수 있고, 이들이 행에 있는 다른 개념에 조인되어 있지 않기 때문에, 생성물 개념이 동일한 개념 자체이다.
선택적으로, 교차 파싱 방법에 필요한, 그 행의 개념이 멤버로 되어 있는 모든 개념들의 개념 ID#를 열거하는 행이 있을 수 있다.
따라서, 마음에서와 같이, 복합 개념이 서로 정확하게 관련되어 있는 많은 수의 명확한 개념들로 이루어져 있는데, 즉 개념 ID#의 구조가 개념 ID#에 조인되어 보다 복잡한 개념 ID# 구성을 형성한다. 이어서, 보다 복잡한 개념들의 개념 ID#들이 조인되어 훨씬 더 복잡한 개념들을 표현한다. 계속 반복하여 최종적으로 특정의 구조로 그의 성분 개념들 전부를 보유하는 단일의 복합 개념 구조를 표현한다.
도 3은 파싱 프로그램이 입력 문자열 질문 "Does Batman have a nemesis?"로부터 개념 ID# DBHAN ?를 도출할 수 있게 하는 예시적인 제5 매체 작업 데이터베이스 테이블을 나타내는 스크린 샷이다. 따라서, 이 예는 또한 고유의 개념 ID#를 생성하기 위해 두문자어(acronym 또는 initialism)를 사용하는 방법도 나타내고 있다.
상기 테이블 행 또는 레코드는 다음과 같은 방식으로 개념 DBHAN?에 대한 트리 구조를 형성한다: 각각의 행의 "Vocab" 열이 입력 텍스트 각각의 어휘 단어 또는 단위, 문법적 단어, 또는 구두점을 포함한다. 이 경우에, 이 요소들은 행(174-179)에 있다. Lookup 필드는 조인 심볼을 나타내는 ~을 갖는 그 행에 의해 표현되는 개념을 이루기 위해 조인되는 개념들의 쌍을 포함한다. Concept 필드는 개념의 개념 ID#를 포함한다. Response 필드는 응답 개념을 표현하는 테이블에서의 행의 개념 ID#, 사실상 그 행에 대한 포인터를 포함한다. Text 필드는 행의 개념을 가장 잘 기술하는 텍스트를 포함한다.
11개 행(174-186)의 집합이 트리를 정의한다는 것을 잘 알 것이다. DBHAN?의 연결선을 갖는 개념 DBAN ? ?는 트리의 리프 노드이다. DBHAN은 개념 DoesBHAN의 연결선을 갖는다. Does는 리프 개념이다. BHANBatmanHAN에 인접해 있다. Batman은 리프 개념이다. HANHaveAN으로 이루어져 있다. Have는 어휘 리프 개념이다. ANANemesis를 가리키고 있다. A는 문법 리프이고, nemesis는 어휘 리프이다. 이것은 그래프 이론에서 유향 이진 그래프이다. YTJ는, 예를 들어, 컴퓨터가 텍스트 "Yes, The Joker"를 출력할 수 있게 할 수 있는 응답 개념이다.
개념 DBHAN ?은 제5 매체에서 11개 행(174-186)의 집합에 의해, 행(186)만으로 그리고 개념 ID# DBHAN ? 만으로 의해 정의되는 트리에 의해 표현된다. 물론, 텍스트 문자열 "Does Batman have a nemesis?"은 또한 제4 매체에서 이 개념을 표현한다.
또한 알 수 있는 바와 같이, 조인-행은 컴퓨터가 취할 수 있는 행동을 표현하는 행에 대한 포인터를 포함하는 응답 필드를 가질 수 있다. 행(187)은 행(185 및 186)이 가리키고 있는 이러한 응답 행이다. 이는 그의 Text 필드에 텍스트 "Yes, the Joker"를 포함하고 있으며, 이는 입력 질문 "Does Batman have a nemesis?"을 파싱함으로써 개념 행(186)이 발견되었을 때 출력될 것이다.
데이터베이스에서, 각각의 개념 레코드 또는 조인 행은 고유의 ID# 및 다른 개념적으로 관련된 행들의 ID#에 대한 포인터를 가질 수 있고, 이 다른 개념적으로 관련된 행들의 ID#는 차례로 다른 개념적으로 관련된 레코드들에 대한 포인터를 가짐으로써, 특정의 일련의 링크된 레코드들이 어떤 특정의 사람의 사고라도 모든 상세를 전체적으로 모델링할 수 있는 독점적인 트리 구조를 형성할 수 있게 한다. 그의 ID# 이외에, 각각의 조인 행은 그를 이루기 위해 조인된 정신적 개념들의 쌍의 ID#도 포함할 수 있으며, 각각은 데이터베이스에서의 그 자신의 행은 물론 이 개념이 성분이거나 성분일 수 있는 보다 복잡한 개념들의 ID#들의 집합으로 표현되는데, 다시 말하면, 각각이 데이터베이스에서 그 자신의 행으로 표현된다.
트리의 각각의 성분 행은 복합 개념을 이루고 있는 부성분 개념들 중 하나를 표현한다. 포인터들은 복합 개념 구조에서의 그 부개념의 정확한 위치를 지정한다. 데이터베이스에서의 이러한 관련된 행들의 집합은 복잡한 정신적 개념을 예리하고 상세하게 모델링할 수 있다. 각각의 이러한 개념 트리에서는, 전체 트리 개념을 대신할 수 있는 루트 레코드가 있으며, 이 루트 레코드의 고유 ID#가 그 레코드들의 트리가 표현하는 고유의 정신적 개념을 식별하고 명명한다. 그로써, 복합 개념이 데이터베이스에서 이 트리 구조에 의해 또는 하나의 행에 의해 또는 ID#에 의해 표현될 수 있다.
사람의 생각이 우리 주변의 실제의 현재 세계에서 또는 어떤 가상 세계에서 (명사) 실체, (동사) 상태, 사건 및 행동과 이들 간의 (이음매) 관계를 모델링하기 때문에, 현재, 과거 또는 미래에 실제적인 무언가를 표현하는지 또는 현재, 과거 또는 미래에 가상적인 무언가를 표현하는지를 지정하기 위해 메타데이터 필드가 레코드에 추가될 수 있다. 개념 레코드는 이 레코드가 표현하는 정신적 개념의 다양한 다른 속성들의 지정자, 어느 매체가 개념에 대한 호스트인지, 그것이 누구의 마음에 또는 어느 텍스트 코퍼스에 보유되어 있는지, 문서인지 오디오인지, 그의 개념 유형, 및 컴퓨터 프로그램이 그를 처리할 때 사용하기에 유용한 임의의 다른 유용한 속성을 포함하는 다른 필드들을 갖는다.
본 시스템은 보다 복잡한 개념을 기억에 인코딩하기 위해 마음이 어떻게 2개의 개념을 능동적으로 조인시키는지를 모델링한다. 이 정신적 과정은 이하에서 상세히 기술하게 될 관찰 개념이지만, 조인이 행해지면, 마음은 생성물 개념을 새로운 장래의 조인에 관여할 수 있는 단일의 개념으로 간주하고, 계속 그렇게 하여 인접한 부성분 관념의 개념 ID#들 간의 조인의 목록에 의해 명시되는 라벨링된 유향 이진 트리를 생성한다.
d. 조인의 유형
4가지 종류의 조인-행: 유형 1, 유형 2, 유형 3 및 유형 4가 구현될 수 있다. 조인은 개념의 범위를 제한하는지 더 많은 정보를 추가하는지에 따라 제한적이거나 비제한적이다. 조인은 개념을 정확히 동일한 채로 두는 경우 어느 쪽도 아닐 수 있다.
유형 1 조인에서, 원래의 개념과 동일한 기본 성질을 갖지만 더 차별화되어 있는 수식된 개념을 생성하기 위해 속성 또는 특징 개념의 추가에 의해 개념이 수식된다. 우리는 이것들을 생성물 개념이라고 부른다. 예는 형용사 개념에 의해 수식된 명사 개념 및 부사 개념에 의해 수식된 동사 개념이다. 생성물 개념은 개념이 그의 본질을 변화시키는 원래의 개념의 본질적 변형이거나, 개념이 그의 본질을 변화시키지 않지만 일시적으로 다른 상태에 있는(대체로 가역적임) 원래의 개념의 우발적 변형일 수 있다. 이것들은 "be" 동사를 사용하는 문장에 의해 생성되도록 지시되는 BE형 조인이다. 스페인어에서, "ser" 동사는 영구적인 본질적 변형 생성물의 구성을 지시하고, "estar" 동사는 일시적인 우발적 변형 생성물의 구성을 지시한다.
Figure pct00004
이것은 제한적 및 비제한적과 동일한 이분법이다.
유형 2 조인에서, 2개의 개념이 융합되어, 잔존 개념이 그의 부분들 중 어느 하나의 성질을 가지고 있지 않은 생성물 개념을 형성한다. 예는 복식 경기의 쌍을 형성하는 2개의 개별 테니스 선수들 간의 조인일 것이다. 예를 들어,
Figure pct00005
관찰 개념을 구성하는 데 사용되는 대부분의 개념들은 유형 1 조인 및 유형 2 조인에 의해 부개념들을 추가함으로써 구축된다. 이것은 상향식 개념 구성이고, 각각의 새로운 부개념 추가는 성장하는 복합 개념의 의미를 변화시킨다.
유형 3 조인에서, 성분 개념이, 그 성분이 그의 일부분인, 즉 그 성분을 이미 포함하고 있는 상위 개념으로 조인된다. 따라서, 이 상위 개념은 조인에 의해 변화되지 않는다. 생성물 개념은 상위 개념이고, 따라서 동일한 개념 ID#를 갖는다. 예를 들어,
Figure pct00006
이하는 이미 2개의 동격으로 이루어져 있는 동일한 수식된 상위 개념을 생성하기 위해 2개의 동격 개념을 상위 개념으로 조인시키는 유형 3 조인 행의 예이다.
Figure pct00007
그룹 개념이 유형 3 조인에 의해 구축된다. 이것은 하향식 개념 구축이다. 모든 개념들이 이미 제자리에 있는 경우, 관찰 개념의 전체 의미가 이미 그곳에 있다. 유형 3 조인은 단락, 관찰 및 동격 유형의 그룹 개념을 구축하는 데 필수적이다. 구두점은 구두점 바로 전에 정의된 개념을 구축되는 상위 그룹 개념으로 조인시키기 위해 이 유형의 조인이 이용되어야 한다는 것을 나타낸다.
유형 3 조인 행의 중요성을 설명하기 위해, 이하의 한정적 문장으로부터 나온 관찰 개념의 동사 개념을 구성하는 프로세스를 분석해보자.
Figure pct00008
이는 또한 데이터 압축된 방식으로 다음과 같이 말해질 수 있다.
Figure pct00009
명확하게도 단어 문자열 "widen its eyes, flare its nostrils, and send a stuttering column of air out into the world"은 동사 "snort"의 사전 정의이다.
한 예시적인 구현에서, 이 동사구를 M5 동사 개념 SNORT로 변환하는 프로세스는 다음과 같다. "snort"는 개념 SNORT가 되고, "widen its eyes"는 개념 WIE가 되며, "flare its nostrils"는 개념 FIN이 되고, "send a stuttering column of air out into the world"는 SASCOAOITW이 된다.
"widen its eyes" 이후의 콤마는 유형 3 조인 행을 행하라고 말한다.
Figure pct00010
"flare its nostrils" 이후의 콤마는 유형 3 조인 행을 행하라고 말한다.
Figure pct00011
"send a stuttering column of air out into the world" 이전의 "and"는 유형 3 조인 행을 행하라고 말한다.
Figure pct00012
파서가 구두점 및 "and"를 파싱할 수 있게 하기 위해, 이하의 행도 역시 필요하다.
Figure pct00013
이것은, 때때로 파서가 텍스트의 파싱을 완료하는 데 필요로 하는 유형 4 조인 행이다. 예를 들어,
Figure pct00014
도 4는 상기한 문장에 대한 예시적인 데이터베이스 테이블이다.
e. 기본 개념 유형
i. 실체 또는 명사 유형 개념
실체 개념은 존재, 사건 및 행동의 상태를 표현하는 동사구 개념과 달리 실체를 표현하는 중요한 유형의 개념이다. 보통의 문법 이론에서, 이들은 명사를 그의 "우두머리"로 갖는 명사구(NP) 개념인 것으로 간주될 것이며, 현재의 언어 이론에 따르면, 관사 "a" 또는 "the"에 의해 또는 형용사에 의해 사전-수식되어 있고 전치사구 또는 전치사절에 의해 사후-수식되어 있다. M5에서, 관사는 명사구의 명사 및 기타 개념에 의해 수식되는 핵심 개념이다. 명사구 개념은 인칭, 수, 및 성 특성을 가질 수 있다. 따라서, 인칭 대명사 개념은 완전한 명사구 개념일 수 있다.
다음과 같은 방식으로 명사구 개념을 표현하기 위해 조인 행이 사용될 수 있다. 개념 it와 동일한 의미를 갖는 관사 개념으로 시작한다:
the ~ house = thehouse
따라서, 개념 house에 의해 수식된 개념 the, 즉 thehouse는 여전히 "house" 개념이 아니라 it 개념이고, 개념 house가, 예를 들어, 다음과 같은 개념을 생성하기 위해 다른 개념들에 의해 수식될 수 있다.
big ~ house = bighouse
여기서, 개념 bighouse에 의해 수식된 개념 the는 여전히 it 개념이다.
the ~ bighouse = thebighouse
인칭 대명사 개념 they와 동일한 의미를 갖는 관사 개념 athe와 명사의 -s 복수 어형 변화 이외에, 실체 개념의 핵심 개념은 인칭 대명사 개념(he, you), 지시사 개념(this, that), 수(four, seven), 수량사(some, many), 소유격(my, their, Harry's), 소유 대명사(mine, his, yours), 및 somebody, anyone와 같은 개념, 부정사 개념 및 동명사 개념, that 절 개념 및 관계사절 개념일 수 있다. 모든 주어 개념은 정의에 의해 명사구 개념이다.
총체적인 개념적 내용을 수식하기 위해 실체 개념에 추가될 수 있는 2가지 유형의 명확한 개념, 즉 제한적인 보어 개념과 비제한적인 동격 개념이 있다.
ii. 동격 개념
보통 명사구로 명명되는 동격 개념은 그를 수식하기 위해 종종 제1 명사구 개념과 조인된다. 명사구 개념과 같은 다른 개념을 수식하는 개념은, 개념의 범위를 특정의 예 또는 부분집합으로 좁히는 경우, "제한적"이라고 말해지고, 단지 주어에 관한 더 많은 정보를 추가하기만 하는 경우 "비제한적"이라고 말해진다. M5에서, 동격 개념은 비제한적이고, 수식하는 개념이 제한적인 경우, 그를 보어 개념이라고 부른다.(이하 참조)
예를 들어, 책 제목, 그의 부제목, 저자, 페이지#, 출판사, 및 가격은 통상적인 동격 그룹 개념을 형성한다:
Figure pct00015
이러한 동격 개념들은 비제한적이다. 동격 개념은 책 개념의 범위를 변화시키지 않고 단지 책에 관한 더 많은 정보를 추가한다.
관찰의 주어 개념이 제1 개념과 그 뒤에 오는 하나 이상의 동격 개념들로 이루어지는 그룹 개념의 형태를 취하는 것은 아주 흔한 일이며, 예를 들면, "Venus, the morning star, the evening star, is the second planet from the sun".
M5에서 이 동격 개념을 구성하기 위해, 다음과 같은 유형 3 조인 행이 필요하다.
Figure pct00016
유의할 점은 이러한 행들이 다음과 같은 BE 동사 문장을 암시한다는 것이다. "Venus is the morning star" and Venus is the evening star." 이 서술이 행해지면, "Is Venus the evening star?", "Is Venus a planet?", "Is the evening star a planet?" 등과 같은 질문이 생긴다. 이들과 같은 명백한 암시를 포함시키기 위해 부가의 조인 행을 어디까지 추가해야 하는지를 결정하는 것은 M5 작성자(composer)의 임무이다. 그러나, M5의 방법은 필요한 만큼 가능하게 한다.
iii. 보어 개념
동격 개념과 반대로, 보어 개념은 제한적이며, 그가 수식하는 원래의 개념의 범위를 좁힌다. 예를 들어, 개념 wine은 보어 개념 red가 그에 추가될 때 redwine으로 됨으로써 좁혀진다. 중요한 유형의 보어 개념은 다른 명확한 개념과의 근접성 또는 연관관계에 의해 형성되는 니치 (nitch) 개념이다.
iv. 니치 개념을 형성하는 조어
한 개념이 다른 개념과 관계를 맺게 될 때마다, 그 개념은 새로운 환경에 적응하기 위해 자신의 의미를 변경시킨다. 이것을 개념이 새로운 상황으로부터 부가된 개념적 내용을 받아들이는 것으로 생각할 수 있다. 개념이 처해 있는 이 새로운 상황은 개념이 차지하는 니치 또는 역할, 즉 특정의 수식하는 개념적 내용을 의존 개념에 전달하는 능력을 갖는 니치로서 생각될 수 있다.
표현 "members of the committee"에서, 개념 ofthecommittee은, 비록 명사구 다음에 오지만, 개념 members을 수식하는 형용사처럼 기능한다. 이 표현이 "committee members"으로서 부연될 수 있고, 이 경우 "committee"은 명사 앞의 형용사 위치에 있기 때문에 명사로부터 형용사로 그의 의미를 변경한다.
M5에서 이러한 개념들을 구성하는 데 필요한 유형 1 조인 행은 다음과 같다.
Figure pct00017
이 경우에, members에 추가되는 개념적 내용은 제한적이고, 특정의 members가 의미된다.
구 "heavy as lead"는 어떤 원리들을 설명한다. 여기서, 새로운 개념적 내용이 개념 heavy에 추가된다. 이 개념을 구성하는 조인 행은 다음과 같다.
Figure pct00018
상기 of와 함께 있을 때, 전달되는 개념적 내용이 그의 이웃 개념 lead로부터 그 내용을 얻은 문법적 개념 as에 의해 전해진다. 이 예는 현재의 컴퓨터에게는 불가능한 작업인, as가 개념 lead로부터 어떤 특정의 개념적 내용을 추출했고 개념 heavy로 전달했는지를 정확하게 알아내기 위해 사람의 마음을 사용할 필요성을 강조한다. 본 명세서에서, 개념은, 그 개념이 사람의 마음에 무엇을 의미하든지 간에, 그 개념을 식별하는 고유의 개념 ID#와 매칭하는 텍스트를 할당함으로써 기록되며, 따라서 사람은 그 개념이 무엇을 의미하는지를 안다.
예를 들어, "the book on the table"이라는 표현에서, 전치사구 "on the table"은 니치 개념 onthetable을 말하고, 이는 thebook을 그의 의존 개념으로서 갖고 있다. 의존 개념에서, thebook은 새로운 상황에 맞추기 위해 새로운 개념적 내용을 추가함으로써 그의 의미를 적응시킨다. 니치에서 그의 의미를 변경하는 개념은 각각의 서로 다른 문맥에서 서로 다른 의미를 갖는 단어와 아주 비슷하다.
복합 개념에서의 니치는 그 자체로 개념이며, 다른 개념들처럼 개념 ID#를 부여받는다. 니치와 의존 개념으로 전달할 능력을 가지고 있는 개념적 내용이 동일한 개념 ID#를 공유할 수 있는 한, 이들 간에는 실제적인 차이가 없다.
M5에서 이러한 개념들을 구성하는 데 필요한 유형 1 조인 행은 다음과 같다.
Figure pct00019
환언하면, 언어는 전달되는 개념적 내용을 획득하기 위해 조어를 사용하는데, 즉 문법적 개념 on은 그의 관련 개념 thetable으로부터 의미를 획득하고, 이를 thebook로 전달한다. 표현이 "the book under the table"인 경우, 문법적 개념 under은 그의 관련 thetable로부터 다른 의미를 획득하고 이를 thebook로 전달한다. 각각의 조어는 그가 어떤 종류의 정보를 수집하여 전달하는지에 있어서 특유하다. 이것이 전치사가 어떻게 기능하는지이다.
이 경우에, the book에 추가된 개념적 내용이 비제한적이다. the book은 여전히 동일한 책이지만, 단지 그에 관한 더 많은 정보가 그에 추가되었다.
관찰에서의 주어 개념은 유사한 니치에 있다. 관찰의 주어가 되는 것은 개념적 내용을 주어에 전달한다. 예를 들어, 문장 "John walks to the store"을 생각해보자. 여기서, 개념 John은 이 관찰의 주어 니치에 있는 것으로부터 개념적 내용을 수신한다. 단어 "walking"은 개념 John에 추가되는 개념적 내용 walking을 말한다. 단지 상기 onunder와 같이, 조어처럼 작용하는 동사 어형 변화 - ing는 그의 이웃 동사 개념 walk으로부터 개념적 내용을 획득하고 이를 주어 개념 John으로 전달한다. walking이 임의의 다른 것과 같은 개념으로 보인다면, 이는 명사 개념, "walking is good for you"에서와 같이 동명사이거나, 예를 들어, "walking stick"에서와 같이 형용사 개념일 수 있다. 반직관적으로, 본 명세서에 기술된 시스템 및 방법에서, walking은 동사 개념이 아니라 오히려 관찰에서 BE(이하 참조)형 관련 개념이다.
언어는 다른 개념으로 전달하기 위해 복합 개념에서의 니치로부터 의미를 획득하기 위해 조어를 아주 광범위하게 사용한다. 관찰 개념에서의 역할이 아마도 가장 중요한 종류의 니치 개념이다. 관찰 니치로부터 의미를 추출하는 가장 중요한 조어가 that이다. That은 항상 관찰로부터 그의 개념적 내용을 획득한다. 관찰 개념의 니치와 함께 작용하는 다른 조어는 관계/의문 what, who, whom, when, where, how, 및 why이다.
개념 that은 개념이 관찰 개념 니치에 있는 것으로부터 획득하게 될 개념적 내용을 추출하고 이를 형용사처럼 기능하는 다른 개념으로 전달할 수 있다. "the book that I bought last week"와 같은 표현에서, 단지 상기 inunder와 같이 동사 목적어 니치 the book로부터 개념적 내용을 획득하는 조어 that은 문장 "I bought a book last week"에 의해 기술되는 관찰에 의존한다.
이 문장이 개념 Iboughtabooklastweek으로 파싱되는 경우, the book으로 전달되는 개념적 내용 that23을 포착하는 데 필요한 조인 행은 다음과 같다.
that ~ Iboughtabooklastweek = that23
특정의 문맥에서, "that"은 더 긴 표현 "that I bought last week"와 아주 똑같은 의미를 가지며, 그 자체로서 단독으로 표현 "that book"에서와 같이 형용사처럼 기능할 수 있다. 개념 that은 개념적 내용을 the book으로 가져갈 때 형용사처럼 기능하고 있다. 따라서, 조어는 완전한 전치사구의 전체 의미를 보유하는 것으로 생각될 수 있으며, 그의 지시대상 개념의 전체 의미를 보유하는 인칭 대명사와 같이 기능할 수 있다.
다른 예로서, 문장 "one gets a certain feeling when the weather is beautiful"을 생각해보자. 개념 certainfeeling은 날씨 관찰의 동사 목적어 성분 개념인 것으로부터 특별한 의미를 획득한다. 따라서, 표현 "the certain feeling that one gets when the weather is beautiful"에서, 개념 that one gets when the weather is beautiful은 이 추출된 의미를 개념 certainfeeling에 추가한다. 바로 형용사처럼 말이다. 누군가가 "I know that feeling"이라고 말하면 - that이 형용사 위치에 있음 -, that의 의미는 보다 긴 표현과 명확히 동일하다.
이러한 생각의 선은 "the book that I bought last week" 및 "the book, which I bought last week"와 같은 표현들에서 which와 that 사이의 오랫동안 논란이 된 차이점을 명확하게 한다. that-표현은 제한적이고, which-표현은 비제한적이다.
that이 관찰 개념의 니치로부터 개념적 내용을 추출하는 반면, 관계/의문 대명사는 관찰 니치와 아주 유사한 방식으로 동작한다. 관계 대명사 what, who, whom, when, where, how,why는, 의존 개념을 식별하지 않고, 현재 관찰의 역할에서의 의존 개념을 말하는 데 사용된다. 이러한 관계/의문 대명사 모두는, 인칭 대명사 조어와 똑같이, 다른 문맥에서 다른 개념을 대표하는 직시어이다.
개념이 관찰 니치 역할에서의 그의 의존성에 의해 식별될 수 있다. 흥미롭게도, what, who, whom, when, where, how,why는, 그들을 명시적으로 열거하지 않고, 정의된 의존 개념을 말하는 반면, whatever, whoever, whomever, whenever, wherever, however ,why ever는 관찰 니치의 아직 정의되지 않은 점유자 개념을 말한다.
예를 들어, Rumpole 소설들에서, 표현 "she who must be obeyed"은 그녀의 이름을 명시적으로 사용하지 않고 Rumpole의 아내 Hilda를 말하는 것으로 유명하다. 기본 관찰 개념은
Figure pct00020
이고, 이는
Figure pct00021
와 동일한 개념이며, 이는
Figure pct00022
와 동일한 개념이다. Hildashewho는 관찰의 주어 니치를 차지하는 동일한 주어 개념이다. 그러나, 다른 개념을 수식하기 위해 주어 니치로부터 개념적 내용을 추출하고자 하는 경우, "a wife that must be obeyed"에서와 같이 니치 개념 thatmustbeobeyed을 얻기 위해 she 대신에 that을 사용한다.
v. 동사구 개념
동사는 행동(bring, read), 사건(decompose, glitter), 또는 존재의 상태(exist, stand)를 의미하는 단어이다. 동사 개념은 사람 관찰자에게 즉각 인식될 수 있는 감각 패턴(walk, run, jump, think 등)을 갖는다. 이들은 실체 및 사물보다 더 무형적인 상태 및 사건, 과정 및 행동이다. 이들의 개념 구조는 부사적 보어에 의해 수식되는 기본 동사 개념이고, 실체 개념과 같은 동격 개념은 형용사적 개념에 의해 수식된다. 동사 개념은 그에 대해 주장되는 모든 부개념에 의해 수식되며, 각각의 부개념이 그의 의미를 부가한다. 이들은 상세하게는 문장의 통사론적 주어 또는 목적어에 의해 기술되는 주어 또는 목적어 개념에 근접해 있음에 의해 개념적 수식를 얻는다. 어느 경우든지, 복잡한 동사구 개념이 다른 개념들과 아주 동일한 방식으로 일련의 조인 행에 의해 구성되고, 고유의 개념 ID#를 할당받는다.
vi. 관찰 개념
여기는 작가 또는 화자가, 지식 도메인에서 주어 개념을 찾아내고 어떤 다른 개념들이 그와 관계되어 있는지 및 그 관계가 무엇인지를 알 때마다, 그 지식 도메인에 대해 행한 일련의 감지를 보고하는 지식 도메인을 커버하기 위해, 언어가 지식 도메인을 표현하는 것에 어떻게 접근하는지에 대한 것이다. 따라서, 그의 작품은 지식 도메인의 주의 깊게 선택된 일련의 샘플링[즉 감지(문장), 관찰]의 설명으로 이루어져 있다. 훌륭한 작가가 10개 정도의 단락으로 그룹화되어 있는 단지 40개 내지 50개의 관찰만으로 제2 사람에 대한 지식 도메인의 아주 풍성한 묘사를 어떻게 할 수 있는지는 놀랄만하다. 다른 관찰자는 지식 도메인의 다른 일련의 샘플링을 선택하여, 여전히 지식의 정확하고 풍부한 묘사를 포착할 수 있다.
관찰을 하는 것, 즉 일련의 생각을 갖는 것은 사람의 마음의 주요 기능이다. 그 생각들을 기록하는 것은 자연어의 주요 기능이다. 그 생각들과 일치하는 관찰 개념을 구성하는 것은 본 명세서에 기술된 시스템 및 방법의 주요 기능이다. 이들은 동일한 개념적 내용을 다루는 완전히 비슷한 기능들이다.
관찰 개념은 지금까지 가장 중요한 복합 개념이고, 관찰이 본 명세서에서와 같이 컴퓨터에서 모델링되어야 하는 경우, 그의 성분 개념으로부터 어떻게 구축되는지를 분석하고 이해하는 것이 필수적이다.
관찰에 의해 구성되는 개념은 세계에서의 또는 상상의 세계에서의 상태, 사건 또는 행동을 정확하게 모델링할 것이다.
관찰 개념은 관찰자가 실제의 세계 또는 상상의 세계에서의 지점을 검사하고 이어서 자신이 무엇을 보는지를 알기 위한 시간을 가질 때의 상태를 표현하는데, 즉 그곳에 관련되어 있는 모든 보조 개념들이 인식가능한 감각 패턴을 형성한다. 이것은 상태 관찰 개념의 관찰자 위주 구성이다.
사건이 관찰자 면전에서 일어날 때 관찰 개념은 사건을 표현한다. 사건은 관찰자의 마음에 관찰 개념을 구성하는 것을 주도한다. 감각 패턴, 즉 개념이 드러남으로써 관찰자의 주목을 받는다. 관찰자는 상황을 가질 수 있다. 관찰자는 감지를 통해 패턴을 이해해야만 한다. 관찰자는 패턴들을 서로 관계시키고 패턴들이 보다 큰 문맥에서 의미를 가질 수 있는 그가 이미 알고 있는 인식가능한 패턴으로 합성될 수 있는지를 알아보고 어떻게 되고 있는지를 관찰자에게 말해준다. 곤란한 개념 패턴을 알고 문제점을 예상하며 이를 피하기 위한 대책에 착수할 수 있는 것은 사람의 진화에 있어서 고도로 선택되는 생존 기술이다.
관찰 개념은 관찰자/행위자가 행동을 취하는 경우 알게 될 것을 먼저 상상하고 그 행동을 취하며 상상한 것을 실현할 때의 행동을 표현한다. 여기서 관찰자는 그의 마음에서 관찰 개념을 구성하는 것을 주도한다. 때때로, 주어는 단지 그의 주목을 포착하고, 그는 관찰자 위주의 상태 개념 구성이 아니라 그가 보는 것을 본다.
관찰을 하기 위해, 관찰자는 그의 기억 속을 들여다보거나, 그 주위의 실제 세계를 둘러볼 수 있거나, 스프레드시트 또는 그래픽을 조사할 수 있거나, 텍스트를 읽거나 음성을 들을 수 있거나, 본 명세서에 기술된 데이터베이스 모델를 조회할 수 있다. 관찰자는 5개의 매체 중 어느 것이라도 똑같이 잘 탐구할 수 있는데, 그 이유는 5개의 매체가 동일한 현실 또는 지식을 모델링하여 동일한 관련된 개념들의 그룹을 알기 때문이다.
여기에 관찰의 기법이 있다. 상황이 어떤지를 알기 위해, 우리는 우리의 마음의 눈을 우리 기억 속의 한 지점에 집중하거나 실제의 눈을 외부 세계에 집중하거나 외부 세계에서의 주제를 본다. 주제는 명사구로 기술될 수 있는 나무, 집, 관념, 논의와 같은 무엇이나 될 수 있다. 어떤 다른 개념들이 그 주제에 관계되어 있고 따라서 서로 관계되어 있다는 것을 알고 있다. 관찰의 목적은 특정의 지점에서 보게 되는 개념들의 그룹을 이해하고, 그 개념들이 적합하게 될 일관성있는 관찰 개념 구조를 개발하는 것이다. 관찰된 경우, 복합이 개념으로서 존재하고, 그의 부분들도 개념으로서 존재하며, 그 부분들 간의 관계도 개념으로서 존재한다.
관찰은, 보고 나서 알게 되는 관찰자가 그 특정의 지점에서 그 특정의 순간에 사물이 존재하는 방식을 확인하는, 마음의 능동적 작용이다. 선언적 지식의 유일한 부분은 의식을 깨우는 것이다. 다른 상위의 정신적 작용은 무의식적이고 자동적이다.
관찰자에 의한 이러한 행동이 관찰이며, 그 자체로 실제의 사건이다. 이는 마음이 상태, 사건 또는 행위를 모델링하는 방법이고 그의 마음에 구성된 개념 복합이 관찰 개념이다. 관찰 개념은 의식이 관여된 상태에서 마음이 갖는 능동적 관념인 생각이다. 때때로, 관찰자는 세상을 조사함으로써 관찰 개념을 구성한다. 때때로, 그곳에서 무슨 일이 일어나는지는 관찰자의 마음에서의 모델링을 주도하는데, 그 이유는 그 일이 일어나는 것을 관찰자가 보기 때문이다.
물론, 이 과정은 종종 재귀적이다. 자주, 제1 관찰자는 제2 관찰자에 의해 행해지는 관찰을 보거나 기록한다. 제1 관찰자가 행동을 취할 때, 이는 보고 있는 제2 관찰자에 대한 사건이다. 그러나, 제2 관찰자는 그것이 제1 관찰자에 의한 행동인 것으로 분류한다. 또한, 관찰 개념은 종종 다른 관찰의 주어 파라포인트(parapoint)이거나 동사의 목적어 개념이다.
관찰의 정신적 과정이 언어에 의해 한정적 문장으로서 정확하게 기술될 수 있다. 한정적 문장은 사람들이 서로 소통하고 선언적 지식을 전달 또는 발표하며, 상태, 사건 또는 행동을 기술하기 위해 사용하는 서신이다. 한정적 문장은 무언가를 말한다. 표현은 단지 사물들을 명명한다.
한정적 문장은 한 사람의 마음에서 다른 사람의 마음으로의 메시지이다. 한정적 문장은 제1 사람이 제2 사람에게 몇가지 명시된 성분 개념들을 하나의 지점에서 서로 조인시켜 복합을 형성하라는, 즉 "요점을 말하라"는 명령이다. 관찰자가 한 지점에서 서로 관계가 있는 개념들을 보고 이해한다는 것을 선언할 때, 관찰자는 복합 개념을 형성하기 위해 서로 결속된 개념들을 이해한다는 것을 나타낸다. 한정적 문장이 단순히 복합 개념을 열거하는 텍스트 문자열이 아니라는 것은 주목할 만하다. 한정적 문장이 되기 위해서는, 텍스트 문자열이 무언가를 말해야 한다. 각각의 한정적 문장은 특정 개념들 간의 관계를 명시하며 그의 진실 및 현실에 대한 관찰자의 추정을 나타내는 관찰자의 표시를 그 위에 가져야만 한다.
단어 문자열을 한정적 문장으로 만드는 것은 언어학자에 의해 통사적으로 잘 이해된다. 인칭, 수, 성, 태, 시제, 현실/법, 긍정/부정, 서법, 한정, 시간, 장소, 인과성 및 태도가 한정적 문장에 인코딩된다.
주어 개념과 관계사 개념 간의 기본적 관계가 정의되면, 많은 한정적 문장은 의미를 점차로 변화시키는 메타데이터 개념을 추가하고, 상황 및 조건을 추가하며, 관찰자 및 관찰자가 놀랄 정도의 기교로 선언한 관계에 대한 그의 태도를 확실히 한다. 핵심 관찰과 조인된 이러한 메타데이터 개념은 관찰에 관한 비제한적 부가 정보로 생각될 수 있다. 메타데이터 개념은 한정적 문장의 첫번째 콤마 이전에 또는 마지막 콤마 이후에 오는 텍스트 문자열에 의해 기술된다.
본 명세서에 기술된 시스템 및 방법에서의 모든 관찰 개념의 핵심은 3가지 주요 성분 개념, 즉 주어 개념, 이음매 개념 및 관계사 개념으로 이루어진 삼위일체(triad)이다. 선택적으로, 흔한 전치-수식어 개념(들) 및 덜 흔한 후치-수식어 개념(들)이 있을 수 있다.
영어 한정적 문장에서, 이러한 3가지 성분을 명명하는 단어 문자열이 분리되어 있고, 그들 사이에 숨겨진 경계를 가지며, 관찰 복합의 트리 다이어그램을 나타내는 도 5에 나타낸 바와 같이 주어/이음매/관계사 순서로 나타난다. 이 순서는 특정의 한정적 문장에서 시적 효과를 위해 반대로 되어 있을 수 있다. 한정적 문장은 때때로 최대 100 단어에 이르지만, 여전히 동일한 5개의 표준 구성 블록: 삼위일체 개념인 주어이음매관계사, 그리고 하나 이상의 수식어로 이루어져 있다.
여기에 문자열이 이러한 성분 부분으로 분할되어 있는 몇몇 예시적인 한정적 문장이 있다.
Figure pct00023
이 마지막 문장에서, 긴 전치-수식어 표현은 주절에 아주 미묘하게 돌려 말하고 있지만, 이 수식어 개념의 구조를 정의할 수 있는 M5 조인 행의 집합을 생성하는 것은 간단하다. 이어서, 하나의 개념 ID#로 표현되면, 이는 관찰 개념 구조 전체에 조인될 수 있다.
삼위일체를 기술하는 이러한 문자열들을 분리시키는 대체로 표시되지 않은 경계들을 검출하는 것은 때때로 심지어 사람의 파서조차도 혹사시킬 수 있다. 그러나, 문장이 얼마나 뒤엉켜 있든 간에, 얼마나 많은 종속절들이 이 개념들을 수식하고 있든 간에, 그것이 조인 행 테이블의 도움을 받는 파서 프로그램에게는 간단한 작업이다.
한정적 문장을 파싱할 때, 문장을 읽을 때 파서가 주어, 이음매 및 관계사의 삼위일체를 그 순서로 통지받는다는 것을 알고 있는 것이 필수적이다. 먼저, 주어 개념이 밝혀질 것이고, 이 주어는 밝혀질 관계사 개념과 지정된 이음매 관계에 있을 것이다. 이어서, 관찰에 관한 기타 정보가 하나의 개념 ID#로 파싱되는 콤마-분리된 전치-수식어구 및 후치-수식어구에 의해 추가될 수 있다.
환언하면, 파서는 주어를 알게 되고, 이어서 즉각 어떤 종류의 관계일 것인지와 그 관계에 대한 관찰자의 평가를 알게 될 것이며, 이어서 관계사를 알게 될 것이다. 그 다음에, 관찰에 관한 기타 정보가 콤마-분리된 전치-수식어구 및 후치-수식어구에 의해 추가될 수 있다.
관찰의 주어 개념 및 관계사 개념이 그 자체로서 아주 복잡할 수 있고, 사전 구축되어 개념 ID#를 미리 할당받아야만 할 수도 있으며, 동일한 개념 ID#가 한정적 문장의 주어 및 관계사 텍스트 문자열을 파싱함으로써 얻어질 것이다.
주어 개념은 항상 실체 개념이다. 아주 길고 재귀적인 텍스트 문자열은 종종 주어 개념을 기술하는 데 사용되지만, M5 파서는, M5 조인 테이블의 도움으로, 문자열이 얼마나 길거나 뒤엉켜 있든지 간에 문자열을 그 표현의 하나의 개념 ID#로 파싱할 수 있다.
이음매 개념은 문장을 한정적 문장으로 만드는, 모든 한정적 문장에 인코딩되어 있는 일단의 특수 파라미터이다. 이 파라미터는 주어 개념과 관계사 개념 사이의 관계와, 관계의 "실재"에 대한 관찰자의 해석을 정의한다. 이음매 개념은 언어에서 한정적 문장에 들어 있는, 특수한 조어 또는 특수한 조어의 짧은 문자열 또는 동사 어형 변화에 의해 명시된다.
언어는 제2 사람에 의해 디코딩되어야만 하는 이음매를 한정적 문장에 인코딩하는 몇가지 기법을 가지고 있으며, 이음매 개념은 어조 is, am, are, was, were, has, have, had, does, do, did, can, could, may, might, will, would, shall, should, must, dare, 및 used to에 포함될 수 있다. has to가 선택적으로 이들 중 하나로서 취급될 수 있다. 이러한 조어들은 이 관찰에서 특징을 이루는 관찰자의 실재 종류(reality stamp) 및 관계의 유형을 전달한다. 흥미롭게도, 역시 어휘인 will 및 can을 제외하고는 이 그룹과 언어의 다른 요소들 간의 중복이 없다. 이 때문에, 이들은 주어구의 끝의 우수한 마커이다.
이러한 특수 조어는 관찰자가 그의 실제의 현재 세계에서 또는 어떤 가상의 또는 기억 세계에서 주어과 관계사 간의 관계를 알고 있는지를 나타내는 세상 파라미터를 전달한다. 영어에서, 과거는 기억 세계로서 취급된다. 예를 들어, is 및 can은 현재의 실제 세계를 나타내고, was 및 could는 기억 세계를 나타낼 수 있다.
긍정/부정 파라미터: 긍정이 기본이거나, never 개념이 부정을 나타내는 데 사용된다. 이음매 개념이 always, only, still, ever, forever, seldom, initially, 및 usually와 같은 개념에 의해 수식될 수 있다. 이음매 개념이 다른 개념들과 아주 똑같은 방식으로 조인 행으로 구성될 수 있다. 예를 들어,
Figure pct00024
어느 경우든지, 이음매의 텍스트 문자열은 하나의 이음매 개념 ID#로 파싱될 것이며, 이는 관찰 개념을 구성하기 위해 주어 개념 및 관계사 개념과 함께 조인 행에서 사용된다.
이어서, 관찰자-평가 파라미터는 또한 3가지 유형의 관계, 즉 BE, HAVE, 또는 DO 관계 중 어느 것이 이 관찰에서 적용될 것인지를 정의한다. 이들을 정의하자면, BE 관계는 관계사가 주어 개념을 수식하기 위해 그에 조인될 형용사 유형 보어 또는 동격 유형 개념일 때 생긴다. HAVE 관계는 관계사가 이웃 명사 실체 유형 개념일 때 생긴다. DO 관계는 관계사가 동사구 유형 개념일 때 생긴다.
서법 파라미터: 이음매 개념도 역시 서법을 전달한다. do와 같이, 조동사 can, will, may, shall, 및 always는 동사 유형 관계사에 관계되어 있다. Does는 관찰자가 관계가 존재한다는 것을 안다는 것을 말해준다. Can은 관찰자가 그의 실재를 가능한 것으로 평가한다는 것을 말해주고, may는 그것이 있음직한 일이라는 것을 말해주며, will은 그것이 관찰자의 정신적 계산에서 확실하다는 것을 말해주고, shall은 관찰자가 그것이 실제로 일어나도록 할 것이라는 것을 말해주며, must는 그것이 필요하다는 것을 말해준다.
종종 상기 열거한 개별적인 조어들 중 하나에서 이음매가 발견되지 않고, 오히려 술어 내의 어휘 동사의 -s 또는 -d 어형 변화로서 인코딩되어 있다.
관계에 존재의 특성을 제공하는 것은 물론, 존재가 관찰 개념의 보조 개념들 중 다수에 "스며든다". 주어 개념은 실재로 되고, 주어 및 동사 개념의 구성에서 사용되는 보어 개념도 그렇다.
이음매는 언어가 존재, 사건 및 행동의 상태에 실재의 정도를 부여하는 방식이다. 이음매는 언어가 개념에 어떻게 실재의 정도를 부여하는지이고 실재를 기억 및 상상과 구별한다.
실재, 긍정/부정, 서법, 태, 시제, 관점, 한정을 전달할 때, 이음매는 한정적 문장을 한정적 문장으로 만드는 것이다.
그 자신의 특성을 갖는 3가지 유형의 관계사 개념, 즉 BE, HAVE 및 DO 유형이 있다. 이들은 제한적이거나 비제한적일 수 있는 개념-수식 개념이다.
개념 수식 개념( BE 유형)은 보어 개념 및 동격 개념이다.
이웃(명사) 개념(HAVE 유형): 이 유형의 관계사 개념은 have 유형 이음매에 의해 주어 개념에 관계되어 있다. 흥미롭게도, 주어 개념은 have 이음매에 의해 실체 관계사에 의해 수식된다. 관찰 개념을 기술하는 "Jim has a son"이라는 문장을 생각해보자. Jim (주어) has (이음매) a son (관계사). 자식을 가진 사람은 부모이다. 그가 받는 추가된 개념적 내용, 즉 그가 이 관찰의 주어 니치를 차지하는 것으로부터 얻는 니치 개념은 동격 개념인 부모이다.
동사구 개념(DO 유형): 동사 개념은 제3 유형의 관계사 개념이다. 주어 개념은 명사 관계사를 관계시키는 have 이음매에 의한 수식과 유사한 방식으로 동사 관계사를 관계시키는 do 이음매에 의해 수식된다.
한정적 문장에서 콤마에 의해 구분되어 있는 기술자 문자열을 갖는 전치-수식어 및 후치-수식어는 관찰의 문맥, 배경, 사정, 상황, 주위, 환경, 관점 또는 틀을 설정하는 중요한 메타데이터를 제공하는 데 사용된다. 일부는 누가 그것을 말하는지, 생각하는지, 인지하는지, 또는 믿는지를 밝혀준다. 일부는 어떤 조건 하에서 그것이 정말인지를 밝혀준다. 다른 것들은 그것을 인용문, 질문 또는 감탄문으로 변환시킨다. 이들은 관찰자가 주어과 관여된 다른 개념들 간의 관계를 어떻게 아는지 또는 알았는지를 나타낸다. 이는 경우에 따라 새로 형성된 복합 개념 및 그의 부분들을 존재하거나 존재하지 않는 것으로 선언하며, 이러한 존재 특성이 관찰 개념, 그의 세계, 실재, 및 서법의 보조 개념들 중 다수로 "스며든다".
언어는 많은 훌륭하고 미묘한 수단을 사용하여 관찰을 구상한다. 수식어는 모든 형상 및 크기로 오지만, 모두가 그의 문자열을 하나의 개념 ID#으로 파싱하고 조인 행이 그것을 관찰 개념에 조인시키게 함으로써 관리될 수 있다. 이러한 수식어 개념은 관찰에 엄청난 다양성을 추가한다.
일반적으로, 문장의 의미를 이해하는 작성자는 데이터베이스에 개념들을 구축하는 프로세스를 감독한다. 상기한 바와 같이 일련의 조인 행을 사용하여 관찰 개념이 M5에 구축될 수 있다. 삼위일체 개념이 3개의 정식 유형에 속하고 관찰에서 표준 역할을 한다. 한정적 문장이 이들을 예상된 순서로 제2 사람에게 전달하는 것이 의미가 있다. 이음매 소스 텍스트가 보통 1 내지 3개의 조어이다. 도 6은 일 실시예에 따른 관찰 개념을 구성하는 예시적인 프로세스를 나타낸 흐름도이다.
먼저, 단계(502)에서, 고유의 개념 ID#가 구축 중인 관찰 개념에 할당될 수 있다. 이 단계는 프로세스의 시작에서 미리 수행될 수 있다. ID#는 처음부터 관찰의 완전하고 최종적인 의미를 나타낼 수 있다. 특정 실시예에서, 관찰 개념 ID#는 도메인 위치 번호 부여 방식을 사용하여 발생될 수 있다. 그러나, 상기한 바와 같이, 다른 방식들도 사용될 수 있다.
단계(504)에서, 존재하는 경우 전치-수식어 개념이 구성될 수 있다. 예를 들어, 전치-수식어 개념이 구축되고 개념 ID#를 할당받을 수 있으며, 따라서 이는 차례로 하나의 유형 3 조인 행에 의해 관찰 개념 전체에 조인될 수 있다. 전치-수식어 개념은 이상에서 더 상세히 기술한 바와 같이 아주 다양하고 변하기 쉽다.
그 다음에, 3개의 삼위일체 개념을 적절한 조인 행과 연결시킴으로써 관찰의 주된 삼위일체가 구성될 수 있다. 우리는 관찰의 지점에 직접 조인되는 삼위일체 개념의 xxx라는 용어를 만들어내었다. 따라서, 단계(506)에서 주어 개념이 구축될 수 있고, 단계(508)에서 이음매 개념이 구축될 수 있다. 단계(510)에서, 이진 개념을 형성하기 위해 주어 개념과 이음매 개념 간의 제1 조인이 수행될 수 있다.
이 이진 개념에 대해 조인될 그 다음 개념은 관계사 개념이며, 이 관계사 개념은 단계(512)에서 구축되고 단계(514)에서 조인될 수 있다. 주어 개념과 같이, 관계사 개념이 사전-구축되고 하나의 조인 행에 의해 관찰에 조인될 수 있도록 개념 ID#를 부여받을 수 있다.
단계(518)의 술어는 특별한 경우이다. 술어의 어휘 단어는 이미 이음매 파라미터 전체 및 기본 동사 개념을 하나로 묶어 전달한다. 술어에서, -S 어형변화를 갖는 어휘 동사는 현재의 실제 세계를 나타내며, -D 어형변화를 갖는 어휘 동사는 그 때의 실제 세계, 기억 또는 상상의 세계를 나타낸다. DO 파라미터에서는 항상 긍정이지만, BE 또는 HAVE에서는 결코 그렇지 않다. 단지 주어-술어 단어 문자열로 이루어져 있는 문장에서 이음매 개념을 결속하는 데 조인 행이 필요하지 않다.
다른 특별한 경우는 주어 개념이 복수이고 세계가 실제의 세계, 즉 현재 시제인 경우이다. 이 경우에, 이음매 개념은 술어에서와 같이 어휘 동사에 대해서가 아니라 주어 어휘 명사의 -s 어형 변화로 발견된다. 신기하게도, 영어에서, 이 동일한 -s 어형 변화가 일반적으로 명사에서의 복수를 나타내는 데 사용되도록 강제된다. 세계가 기억 또는 상상이고 수가 복수인 경우, -s 어형 변화가 주어 명사에 대해 남아 있고 그와 함께 -d 어형 변화가 술어의 어휘 동사에 남아 있다.
이 관찰 개념을 만드는 데 적절한 조인 행은 다음과 같다.
Figure pct00025
대부분의 한정적 문장은 여기에서 끝난다. 그러나, 단계(522)에서, 어떤 것은 콤마 time , place , reason , 또는 manner 후치-수식어 후에 "a"를 추가하기 위해 들어간다. 이들은 전치-수식어 개념과 아주 유사하다. 다시 말하자면, 이들은 하나의 유형 3 조인 행에 의해 관찰에 조인될 수 있도록 단계(520)에서 사적 구축되고 개념 ID#를 가져야 한다.
관찰 성분 개념들 전부가 다양한 자연어 기법들에 의해 한정적 문장에 인코딩된다. 글을 읽을 줄 아는 제2 사람이 텍스트로부터 이들을 취하여 디코딩하는 것은 제2의 천성이다. 이는 자동적이다. 우리의 M5 작성자는 이들을 검출하여 이들이 관찰에 정확하게 추가되도록 해야만 한다.
한정적 문장 "At a most basic level, Richard Price's new book is a police procedural"을 관찰 개념으로 번환하기.
먼저, 예를 들어, 이 관찰이 논문의 제3 단락의 두번째 문장으로부터 온 것이기 때문에, 관찰 개념 ID # Observation32이 관찰에 할당된다. Observation32는 이제 이 예에서 전체 문장의 개념 ID#이다.
설치 프로그램은 데이터베이스에 어휘 행을 자동으로 설치하도록 구성될 수 있다.
이제, 선행자 개념(단계 504) 및 이 관찰의 3개의 핵샘 개념(단계 506-514)을 사전-구축하기 위해, 설치 관리자는 선행자 개념을 구축한다. "At a most basic level", 예를 들어, 개념 ID# AAMBL를 생성한다. 그 다음에, 주어구 "Richard Price's new book"는, 예를 들어 주어 개념 RPNB이 된다. 이음매 개념은 is이다. 이어서, 관계사 개념, 예를 들어, APP는 동격구 "a police procedural"로 변환된다.
이제, 관찰 개념 자체를 구축하는 것은 조인 행을 단지 3개 더 필요로 한다.
Figure pct00026
이는 유형 3 조인 행을 사용하여 전치-수식어 AAMBL을 관찰 개념에 조인시킨다.
Figure pct00027
이는 유형 1 조인 행을 사용하여 주어 개념 RPNB을 관찰자-평가 개념 is에 조인시킨다.
Figure pct00028
이는 유형 1 조인 행을 사용하여 개념 RPNBis을 관계사 개념 APP에 조인시켜 관찰 개념 Observation32을 만든다.
도 7은 생성된 M5 데이터베이스를 나타낸 것이다.
이제 파서가 완전한 문장 "At a most basic level, Richard Price's new book is a police procedural"이, 예를 들어, 파서 프로그램에 타이핑해 넣을 때, 이를 파싱할 수 있게 하는 데 이 일련의 어휘 및 조인 행으로 충분하다.
vii. 질문 개념
한정적 질문은 한정적 문장과 아주 유사하며, 이 질문은 문장이 고유의 개념 ID#로 관찰 개념을 기술하는 것처럼 고유의 개념 ID#로 질문을 기술한다. 문제의 방법은 특정의 개념이 지식 저장소에 있는지 여부 또는 특정의 관계가 정말인지를 질문하는 것이다.
이하의 통상적인 관찰 시작부이다. "She did not ... " -- "The president of the United States did ... " -- "I May ... " 등. 대응하는 질문-시작부는 반대로 되어 있다. "Did she not ... ?" "Did the president of the United States ... ? "May I ... ?" 등.
관찰의 핵심 삼위일체 개념을 구성할 시에, 이상에서 설명되고 여기서 재현되는 바와 같이, 주어 개념은 먼저 이음매 개념에 조인된다.
Figure pct00029
이어서, 관계사 개념에 조인한다.
Figure pct00030
대응하는 질문 개념에서, 주어이음매의 순서가 반대로 되어 있다.
Figure pct00031
이어서, 관계사 개념에 조인한다.
Figure pct00032
"Hannah is going to the movies"가 지식 도메인에서 sentence82이라고 해보자. 대응하는 질문 "is Hannah going to the movies?"이 다음과 같이 구축된다.
Figure pct00033
응답 필드의 능력은 문제를 볼 때 더 명백해진다. 예를 들어, 데이터베이스가 사용자 인터페이스와 관련하여, 예를 들어, 웹 사이트, CRM 시스템, FAQ 시스템 등의 일부로서 사용될 때, 응답 필드는, 예를 들어, 임의의 소비자에게 응답하라고 시스템에 지시하는 리소스 행에 대한 포인터를 포함할 수 있다. 이어서, 고도로 대화적인 CRM 또는 FAQ 시스템이 본 명세서에 기술된 데이터베이스 여기저기에 구축될 수 있다는 것을 알 수 있다.
f. 지식 도메인의 구조
i. 단락 개념
단락은 몇개의 한정적 문장으로 이루어져 있다. 단락 개념은 그 자신의 고유의 개념 ID#를 갖는 단위 개념을 형성하기 위해 조인되는 몇개의 관찰 개념으로 이루어진 복잡한 하나의 정신적 개념이다. 단락 개념을 "단락-길이의" 생각으로 간주해야 한다. 단락 생각 전체를 한꺼번에 의식에 보유할 수는 없지만, 이러한 관찰보다 더 큰 개념의 통합 및 일관성을 무의식적으로 가늠하고 그의 전체 의미를 이해하는 정신적 기능이 있다.
단락 개념은 M5의 기반을 이루는 일반 원리를 설명하며, 2개 이상의 개념이 관계를 맺게 될 때, 이들이 서로와 맞추기 위해 변하고 적응한다. 따라서, 단락의 제2 문장이 제1 문장에 추가되자마자, 제1 문장이 그의 의미를 미묘하게 변경하고, 단락 개념의 의미가 발전한다. 이어서, 제1 문장의 변화가 제2 문장에 다시 반영된다. 제3 문장이 추가될 때, 이는 처음 2개에 영향을 미친다. 물론, 단락 개념 전체의 의미가 변하고 의미를 다시 각각의 성분 개념에 반영한다.
전체로서의 단락이 의미를 가지며, 이는 그림을 묘사하거나, 논리적 논쟁의 개요를 말하며, 과정의 단계들을 기술하고, 이야기를 들려주며, 기타 등등을 한다. 특정의 단락의 성분 관찰 개념들 중 하나가 전체적인 단락 개념과 맞지 않는 경우를 말해보자. 이는 성분 "it strikes a discordant note"이 아닐 수 있다. 단락 자체 및 모든 이전의 성분 관찰들이 의미를 급격히 변경함으로써 이제 그들 모두가 완벽하게 서로 맞게 되는 일이 있을 수 있다. 이러한 급격한 "기존 질서를 뒤흔드는" 변환은 농담 또는 이야기의 마지막 관찰인 펀치 라인의 작업이다. 예를 들어,
Figure pct00034
여기서, 마지막 문장은 모든 것을 변경하지만, 때때로 고도로 미묘한 뉘앙스 차이가 있는 단락 개념의 의미가 변할 수 있고, 의미 n-공간에서의 움직임이 그의 개념 ID#를 약간 조정함으로써 M5에 반영된다.
성분 관찰들 각각이 적합한지 여부를 질문하고 앙상블이 통합된 전체로 되는 것이 타당하다. 이것을 달성하는 것이 좋은 작문의 요체이다. but 또는 yet 수식어 개념으로서 태깅되는 경우, 불일치하는 성분 관찰들이 종종 허용된다.
4개의 문장으로 이루어진 단락이 4개의 관찰로 이루어진 단락 개념을 기술한다고 해보자. 이 복합 단락 개념이 M5에서 모델링될 수 있는 방식은 전체 단락이 되는 개념-생략 부호를 나타내기 위해 각각의 문장의 끝에 마침표를 갖는 것이다. 따라서, 4개의 유형 3 조인 행이 생성되고, 첫번째 관찰 개념 ID#는 단락 개념 ID#와 조인되어 단락 개념 ID#를 생성하고, 두번째 관찰 개념 ID#는 단락 개념 ID#과 조인되어 단락 개념 ID#를 생성하며, 나머지 2개의 관찰에 대해서도 마찬가지이다. 데이터베이스에서의 이들 4개의 조인 행은 파서 프로그램이 전체 단락의 텍스트를 파싱하여 단락 개념의 고유의 개념 ID#를 획득할 수 있게 한다.
이와 같이 개념들을 서로 적응시키는 것을 관리하는 사람의 마음의 놀라운 능력은, 그림으로 생각을 하는 우리의 능력으로부터 나온 것으로서, 어떤 현재의 컴퓨터 프로그램의 능력을 훨씬 넘어서지만, 개념들이 관계될 때 의미 변화를 반영하기 위해 개념 ID#를 일관성있게 변경함으로써 신뢰성있게 과정을 기록할 수 있다.
따라서, 각각의 문장 후에, 파서는 마침표를 만날 것이다. 마침표는 관찰 개념이 자신의 자리를 차지해야만 하는 단락 복합 개념을 나타낸다. 따라서, 파서는 적법한 유형 3 조인 행 수정을 탐색하고 발견한다.
여기에 단락 개념의 조인 행이 있다. 이 조인 행은 단 한번만 Observation1Paragraph1에서의 그의 최종적인 위치에 둔다.
Figure pct00035
이는 다음과 동일한 의미를 갖는다.
Figure pct00036
그러나, 이 후자의 조인 행은 중복되며, 생략될 수 있는데, 그 이유는 Paragraph1이 이 지식 도메인에서 고유하기 때문이다. Observation1paragraph1에 있으며, 따라서 콤마는 paragraph1를 의미해야만 한다.
단락의 관찰들이 다음과 같이 유형 3 조인 행을 사용하여 조인된다.
Figure pct00037
단락 개념은 일종의 그룹 개념이다. 상기의 일련의 행들은 또한 템플릿 개념의 관념을 설명하며, 실제의 개념 ID#가 이 일반 ID#에 걸쳐 편집된 경우, 이는 즉각 유효한 단락 개념을 생성할 것이다.
ii. 도메인 및 제목 개념
복합 개념의 크기에 관해서는 상한이 없다. 지식 도메인 개념은 개념 복잡성의 상한쪽으로 있다. 이는 명사구, 동사구, 이음매, 수식어, 관찰, 단락, 헤더 또는 장 개념과 같은 하나의 개념이다. 지식 도메인 자체는 웅대한 트리 구조를 갖는다. 그것이 몇개의 부개념으로 이루어져 있든지 간에, 그것은 이미 설명한 다른 개념들과 같이 여전히 하나의 단위 개념 ID#으로 표현될 수 있다. 그 개념 ID 번호는 그의 의미를 표현한다.
논문들은 트리 구조를 형성하는 제목, 단락, 문장 및 단어 아래에 구성되어 있다. 문장은 단지 하나의 샘플링이다. 단락의 문장들은 서로 맞추어져, 도메인의 어떤 양태의 작은 그림을 묘사한다. 전체로서의 논문은 구조를 가지는데, 그 이유는 문장들이 제목들 아래에 순서대로 배열되어 있고 제목들도 역시 단락들에서 순서를 가지고 있으며, 단락들도 역시 순서를 가지고 있기 때문이다. 언어 문서는 종종 워드 프로세서에서 개요로서 표현되거나 성경에서와 같이 장 및 절에 숫자로 포착되어 있다.
본 명세서에 기술된 시스템 및 방법은 트리 구조로 지식 도메인을 구성하는 이 동일한 설계를 따른다. 한정적 문장은 관찰 개념으로, 단락은 단락 개념으로, 제목은 제목 개념으로, 그리고 전체 논문은 도메인 개념으로 변환된다. 각각의 관찰은 그의 ID#에 의해 식별되기도 하고 위치 확인되기도 한다. 도메인 위치 개념 ID#은 조인 행에서 다른 개념 ID# 도식으로부터 도출된 개념 ID#와 바꾸어 사용될 수 있다.
통상적인 지식 도메인은 "The Show Will Go On"라는 제목으로 2008년 4월 12일자의 월 스트리트 저널에 실린 Barry Newman의 올림픽 게임에 관한 논평일 것이며, 이는 동격 "The pomp of the Olympics has long been a favorite of authoritarian governments. This year will be no exception"으로 부제목을 갖는다.
이 도메인의 개념 ID#는 그의 제목, TSWGO으로부터 얻어질 수 있거나, 도메인 주소 스키마를 바탕으로 할당될 수 있다: Domain67
이 논평은 4개의 제목을 가지며, 이들의 개념 ID#는 그들의 텍스트 또는 할당된 주소 기반의 개념 ID#로부터 획득될 수 있다.
Figure pct00038
제목은 보통 고유의 개념 ID#로 파싱되는 몇개의 단어로 이루어져 있다.
제목 개념의 예는, 말하자면, 태평양에서의 엘리뇨 현상에 관한 과학 저널에서 2000 단어 리뷰 또는 교과서의 장에서 나올 수 있다. 이것은 통상적으로 제목을 갖지 않을 수 있고 각각이 평균 4개의 한정적 문장을 갖는 12개 단락(총 40개 내지 50개 문장)으로 이루어져 있을 수 있다.
이상에서 기술하고 도 8에 예시한 트리 구조가 개념 ID#를 발생하는 한 방법의 기초일 수 있다. 이는 내용을 보유하는 형식적 구조이지만 그의 의미와 독립적으로 그의 위치에 의해 특정의 지식 도메인의 개념들에 번호를 부여하는 완전히 양호한 스키마이다. 임의의 일련의 개념들이 트리 구조에 로드되어 정렬될 수 있다. 이러한 개념 ID#는 의미와 관련하여 니모닉 값을 갖지 않지만 개념이 지식 도메인에서 어디에 있는지, 즉 단락, 이야기, 논문 등을 정확하게 나타낸다.
도메인 템플릿은 일반 개념 ID#을 사용하여 조인 행의 템플릿 집합의 사용의 예이며, 이 때 모든 필요한 조인 행이 사전-조립되어 있다. 이러한 위치 개념 ID#가 명시적인 개념 ID#로 대체될 때, 이는 명시적인 새로운 지식을 관리하는 즉각 기능하는 데이터베이스로 된다.
지식 도메인은 이어서 M5 데이터베이스의 특별한 순서 필드/열을 사용하여 표현될 수 있다. 그 관념이 어느 관찰 및 단락 개념에 관련되어 있는지에 관한 개념 레코드의 순서 필드에 있는 값들로 이 열에서 모든 조인 행이 태깅되어 있다. 이러한 열 구조는 조직화된 구조로 개념들을 보유하는 데 아주 유용할 수 있다. 또한 데이터베이스 테이블을 다시 순서로 또는 어떤 유용한 새로운 순서로 정렬하는 데 유용할 수 있다. 도메인-헤더-단락-문장-라인 순서 열의 목적은 M5 지식 도메인 전체에 트리 구조를 부과하여 개념들이 논리적이고 편리한 방식으로 도메인에서 자신의 자리를 차지할 수 있게 하는 것이다. 언어 텍스트와 같이, M5에서의 지식 도메인은 번호 부여된 관찰, 단락, 헤더, 및 도메인 개념으로 분할될 수 있다.
이 트리 구조는 조인 행의 형식적인 테이블에 명시될 수 있으며, 내용을 보유하지만 내용과 무관하다. 이는 특정의 지식 도메인에서 개념들에 ID 번호를 부여하는 데 유용한 스키마에 대한 기초일 수 있다. 이들은 개념들의 의미에 대한 니모닉 값을 갖지 않지만, 지식 도메인에서 개념이 어디에 위치하는지를 정확하게 나타낸다.
또한, 이는 새로운 개념들을 정확한 관찰 개념 및 이들이 맞는 문맥에 삽입하기 위한 곳을 제공한다. 이 순서 열은 또한, 말하자면, 인칭 대명사가 어느 개념을 말하는지를 명확하게 할 때, 개념을 찾기 위해 데이터베이스의 로컬 검색을 가능하게 함으로써, 이하에 기술되는 보조 소프트웨어 프로그램이 문맥을 인식하는 데 아주 중요할 수 있다. 이것은 모호함을 해결하는 아주 강력한 기능으로서, 보조 프로그램이 텍스트 입력을 이해하는 데 진정한 사람의 수준으로 동작할 수 있게 한다.
g. 다른 유형의 개념
i. 그룹 개념
한 유형의 그룹 개념은 And-Or 그룹 개념이다. "and" 그룹 개념은 "A and B," "A, B, and C," "A, B, C, and D" 등의 형태의 텍스트 문자열에 의해 기술되는 중요하고 아주 흔한 개념이며, 여기서 A, B, C 및 D는 개개의 개념이고, 예를 들어, "Tom, Dick and Harry"와 같이 항상 동일한 유형을 갖는다. 그러나, 그룹의 멤버 개념은 명사구, 동사구 술어, 또는 완전한 한정적 문장에 의해 기술되는 개념들과 같은 아주 복잡한 개념을 포함하는 임의의 종류의 개념일 수 있다.
"or" 그룹 개념은 아주 유사하고 "A or B," "A, B, or C," "A, B, C, or D" 등의 형태의 텍스트 문자열에 의해 기술된다. 다시 말하자면 A, B, C 및 D는 개개의 개념이고, 예를 들어, "Tom, Dick and Harry"와 같이 항상 동일한 유형을 갖는다. 다시 말하지만, 그룹의 멤버 개념은 명사구, 동사구 술어, 또는 완전한 한정적 문장에 의해 기술되는 개념들과 같은 아주 복잡한 개념을 포함하는 임의의 종류의 개념일 수 있다.
이러한 그룹 개념은 그래픽과 관계되어 있는 그래픽에 대한 라벨로서를 제외하고는 그 자체로 거의 나타나지 않지만, 거의 항상 다른 이웃 개념과 관계되어 있다. 2개의 개념이 이어서 상호작용하여 서로의 의미를 변경시키며, 그의 의미는 이 이웃 개념의 존재에 맞게 적응된다.
그룹 개념을 구성하는 데 필요한 가장 간단한 일련의 포인터-관련 행은 다음과 같다.
Figure pct00039
첫번째 단계는 개념 ID#를 그룹 개념에 할당하는 것이다(이 경우에, and 23). 행 1 및 2는 개념에 대한 어휘 행이다. 행 3에서, 개념 A는 개념 ","에 조인되어 개념 A,을 생성한다. 행 4에서, 개념 A,는 개념 B에 조인되어 개념 A,B를 생성한다. 행 5에서, 개념 "and"는 개념 C에 조인되어 개념 AC를 생성한다. 행 6에서, 개념 A,B는 개념 AC에 조인되어 개념 AC를 생성한다.
테이블에서의 이 6개의 행을 사용하여, 파서 프로그램은 텍스트 문자열 "A, B, and C"를 파싱하여 그룹 개념 ID# A,BAC를 획득할 수 있게 될 것이다. 다시 말하지만, 원리는 파서가 and23를 일의적으로 식별하는 데 사용할 수 있는 명시적인 ID#를 포함하는 적어도 하나의 조인 행이 있도록 함으로써 M5 작성자가 파서의 필요성을 염두에 두어야만 한다는 것이다.
그러나, 이러한 간단한 조인의 테이블이 이웃 개념과 그룹 간의 관계의 교환법칙, 결합법칙 및 분배법칙을 멤버들 각각에 전달하는 데 적절하지 않다. 이것은 이하에 나타내는 바와 같이 더 미묘한 조인 행의 테이블을 필요로 한다.
이것과 같은 그룹에 대해, 콤마 또는 and로 분리된 개념 문자열들, 이웃 개념의 그룹의 각각의 멤버에 대한 관계가 동일해야 하며, 이웃 개념의 그룹 개념에 대한 관계와 동일해야 한다. 교환법칙은, 본 명세서에에서 사용되는 바와 같이, 작성되는 복합 개념의 의미를 변경하지 않고, 부성분 개념 ID#의 조인의 순서를 변경할 수 있다는 것을 말한다. 결합법칙은 작성되는 복합 개념의 의미를 변경하지 않고, 부성분 개념 ID#의 조인 동작의 순서를 변경할 수 있다는 것을 말한다. 분배법칙은 개념 ID#의 A, B 및 C 그룹의 개념 ID#에 대한 조인이 각각의 개별 개념에 걸쳐 분배될 때를 말하거나 달성된다.
그룹의 멤버 개념은 교환법칙이 성립하는데, 즉 그의 순서를 변경하는 것이 그룹 개념의 의미를 변경하지 않는다. 교환법칙은 그룹의 개념 ID#가 멤버에 조인되어 다시 그룹 개념을 생성하는 경우에 특별한 유형의 행에 의해 실현될 수 있다. 이러한 방식으로, 멤버들이 텍스트에서 어느 순서로 나오더라도, 파서 프로그램은 그룹 개념의 동일한 정확한 개념 #를 획득할 것이다.
분배법칙 기능은 각각의 멤버에 대한 관계가 그 자신의 행에 명확히 나타나있고 컴퓨터 프로그램이 이러한 개별 행을 자동으로 생성함으로써 분배법칙을 포괄할 수 있는 경우, 행들을 추가하는 것에 의해 조인 테이블에서 가능하게 될 수 있다.
이러한 요구사항은, 예를 들어, 개념 브러시가 그룹 개념 치아 및 머리와 관계되어 있는 것의 유효성을 거부하는데, 그 이유는 브러시와 치아의 관계 및 브러시와 머리의 관계가 아주 다른 관계이기 때문이다. "Brush your teeth and hair"는 액식 어법이다. 이러한 정신적으로 쓸모없는 개념을 구축하고 그것을 그 자체로서 표시하며, 개별적인 관계 행의 생성을 금지함으로써 분배법칙 기능이 동작하는 것을 방지하는 것이 가능하다.
그룹 개념 4의 모든 멤버들에 대해 교환법칙, 결합법칙 및 분배법칙을 달성하기 위해, 그룹의 각각의 멤버에 대한 4개의 표준 조인 행이 사용될 수 있다.
Figure pct00040
각각의 멤버에 대해 이러한 조인 행들이 제 위치에 있는 경우, 그룹의 개념 ID#, 즉 group를 도출하기 위해 "Tom, Dick, and Harry"와 같은 그룹 텍스트가 콤마 또는 and로 분리된 그룹 멤버 이름들 중 임의의 하나 이상에 의해 임의의 순서로 파싱될 수 있다.
이웃과의 관계가 전체 그룹에 적용될 때, 이 동일한 관계를 개개의 멤버들에 적용하기 위해 다음과 같은 각각의 멤버에 대한 조인 행들이 추가될 필요가 있다.
Figure pct00041
ii. 관찰자 개념
다른 유형의 개념이 관찰자 개념이다. 모든 선언적 지식은 관찰자에 대한 것이며, 개개의 문장이 관찰자 정보로 태깅되어 있지 않더라도 관찰자와 그의 지식 간의 아주 중요한 관계가 M5에서는 완전히 파악되는데, 그 이유는 관찰자가 누구인지를 알고 있기 때문이다. 모든 문장이 그 문장을 자신의 것으로 표시하는 저자 또는 화자를 가져야만 하고, M5에서는 모든 관찰 개념이 관찰자 개념 성분을 가져야만 한다. 유형 3 조인 행을 테이블에 추가함으로써 관찰자 개념이 관찰 개념에 조인된다. 또한 메타데이터 필드 내의 조인 행을 관찰자 개념 ID#로 태깅하는 것도 가능하다.
iii. 인용 개념
다른 유형의 개념이 인용 개념이다. 언어에서, 대부분의 단어 문자열은 그들이 표현하는 관념을 의미하지만, 인용 부호로 둘러싸인 텍스트 문자열은 "의미" 개념이 아니라 인용 개념을 표시한다. 언어 및 M5 둘다는 단어 문자열을 이들이 의미하는 관념과 구별할 필요가 있다. 언어는 단어 문자열을 인용 부호 안에 둘러쌈으로써 그것을 한다. M5에서는, 의미 개념과 구별하여 인용 개념을 구축할 필요가 있다. M5는 인용 개념을 얻기 위해 구성되는 인용 개념을 대표하는 제1 전도된 콤마 개념을 단어 문자열의 개념 ID#에 조인함으로써 이것을 할 수 있다. 이어서, 이것은 다시 인용 개념을 얻기 위해 유형 3 조인 행을 사용하여 제2 전도된 콤마에 조인된다.
예를 들어, 소설에서의 대화가 "Daisy said, 'Let's go to Starbucks for coffee'"일 수 있다. 대화에서, 규약은 "Daisy said" 관찰자-식별 문장이 인용 부호보다 앞에 오고, 이어서 인용 개념인 구축되는 전체 개념을 나타내는 콤마 또는 콜론이 오는 것이다.
인용 부호가 붙은 텍스트 문자열을 파싱하기 위해 -이는 M5에서
Figure pct00042
유형 3 조인 행을 사용하여 행해짐-, 이 방법은 다음과 같다. 텍스트 문자열 "Let's go to Starbucks for coffee ,"이 concept27으로 파싱되는 것으로 하자. 인용 부호를 갖는 동일한 문장 "Let's go to Starbucks for coffee ,"을 파싱하고 의미 개념 concept27보다는 텍스트 개념 quotation27으로 끝나게 하기 위해 필요한 조인 행은 다음과 같다:
Figure pct00043
이러한 행들이 M5에서 사용되는 경우, 표준 파서는 "Let's go to Starbucks for coffee"를 성공적으로 파싱하여 인용 유형 개념인 quotation27을 생성할 것이다.
이제 전체 문장 "Daisy said, 'Let's go to Starbucks for coffee'"을 파싱하기 위해, 누가 그것을 말했는지를 인코딩, 즉 daisysaidquotation27의 속성으로서 인용 부호에 링크시킬 필요가 있다.
지식 도메인에 Daisysaid의 인스턴스가 단지 하나만 있는 경우, 하나의 조인 행이 사용될 수 있다.
Figure pct00044
이 조인 행은 구성되는 완전한 상위 개념을 나타내는 구두점의 양호한 예이다.
다수의 Daisysaid가 있는 경우, 이 방법은 먼저 콤마가 파싱될 수 있도록 하는 것이다. 다음과 같은 행을 사용하고,
Figure pct00045
이어서, 텍스트 코퍼스 내의 각각의 인용 개념에 대해 별도의 유형 3 조인 행을 생성한다.
Figure pct00046
어떤 작가는 라인은 "Let's go to Starbucks for coffee", Daisy said과 같이 만들 것이다. 이 버전을 파싱하기 위해, 테이블은 다음과 같은 조인행을 필요로 한다.
Figure pct00047
iv. 명령법 또는 명령 개념
명령으로서 해석하는 텍스트 문자열은 주어를 갖지 않는 명령법 동사구이다. 암시된 주어는 제2 사람이다. 명령은 하나의 개념 ID#로 파싱되고, 임의의 다른 텍스트 문자열과 같이 M5 테이블에서 조인 행 표현을 얻을 수 있다. M5 작성자가 이 조인 행의 응답 필드에 적절한 응답 개념 ID#(들)을 삽입할 책임이 있을 수 있다.
예를 들어, "Please open essay.doc in Microsoft Word"는, 예를 들어, POEIMW로 파싱될 수 있다. 행의 텍스트 필드에서, POEIMW은 그 다음에 열게 될 파일에 대한 링크일 수 있다.
v. 응답 개념
M5 테이블의 응답 열은 M5 작성자가 질문 또는 명령에 대한 응답의 개념 ID#을 두는 곳이다. 텍스트 입력이 특정의 질문 개념으로 파싱되는 경우, 그 레코드의 응답 필드는 그 질문에 대한 답변의 개념 ID#를 포함할 것이다. 이 프로그램은 그 답변의 행을 찾아내고 그 행의 텍스트 필드에 텍스트를 출력한다. 텍스트 필드는 자연어 명령으로 컴퓨터 프로그램이 호출되거나, 문서가 디스플레이되거나, 웹 페이지가 열릴 수 있도록 하이퍼링크를 포함할 수 있다.
응답 필드는 AND되어 있는 몇개의 응답을 포함할 수 있다. 다른 대안으로서, 난수 발생기에 의해 랜덤하게 선택되는 것이 실행될 수 있도록 몇가지 가능한 응답이 OR될 수 있다.
vi. 행동 개념
마음 속의 생각 또는 의도가 우리가 취하는 행동 및 행동을 기술하는 단어 문자열에 밀접하게 대응하기 때문에, 우리가 생각을 행동으로 바꿀 수 있는 능력을 가지고 있는 것처럼, 행동 행은 행동을 수행하도록 적절한 컴퓨터 프로그램 또는 프로그램들을 작동시키는 다른 행들에 대한 링크 또는 포인터를 갖는 데이터베이스 내의 특수한 유형의 행이다. 행동 행은 입력 문자열을 갖는 다른 개념 행들과 동일한 방식으로 액세스되어 활성화될 수 있다. 포인터 트리 구조가 일련의 행동들이 컴퓨터에 의해 순서대로 수행될 수 있게 한다.
vii. 개념 템플릿
상기한 다양한 유형의 복합 개념은 표준 조인 행 집합으로 표현될 수 있는 표준 구조를 갖는다. 이러한 표준 조인 행 집합이 개념 템플릿이다. 템플릿에서, 표준 성분 개념들은 M5에서 그 복합 개념을 구축하기 위해 새로운 복합 개념의 부개념의 실제의 개념 ID#로 대체될 수 있는 일반 개념 ID#를 부여받는다.
염두에 둘 것은, 개념 주어, 동사, 이유 등이 하나의 개념 ID#로 파싱되는 단어 문자열들로부터 나온 복합 개념일 수 있다는 것이다.
도 9는 관찰 개념에 대한 제대로 기능하는 데이터베이스 템플릿의 조인 행을 나타낸 것이다. 주목할 점은, 관찰 Ob11의 부성분들이 지식 도메인에서의 그의 위치를 반영하는 개념 ID#를 사전-할당받을 수 있다는 것인데, 즉 S11이 주어 개념에 할당되고, V11이 동사 개념에 할당되며, Or11이 관찰자 현실 평가 개념에 할당된다.
한정적 문장을 M5로 변환할 때, 먼저 M5 테이블에 필요한 조인 행을 생성함으로써 각각의 파라포인트 단어 문자열을 그 자신의 개념 ID#를 갖는 개념으로서 발전시킬 필요가 있다. 이어서, 그 개념 ID#를 그의 템플릿 조인 행 내의 그 특정의 파라포인트에 대해 사전-할당된 개념 번호로 편집하고, 이어서 이 집합을 템플릿 집합에 추가한다.
그 결과 얻은 조인 행의 합산 집합은 한정적 문장으로부터 나온 관찰을 모델링하고 그 한정적 문장이 완전히 파싱될 수 있게 하고 그 한정적 문장과 연관된 when, where, how, 및 why 질문을 파싱할 수 있게 한다.
전체 도메인 개념에 대한 개념 템플릿을 구성할 수 있다. 과학 논문 또는 2000 단어의 논문으로부터 변환된 M5 지식 도메인은 20-30개의 관찰 개념으로 이루어질 것이다. 정식 개념의 구성에 사용되는 관찰 개념들도 표현하는 종속절로부터 몇개 더 얻어진다. 각각의 관찰 개념 템플릿은 20-30개 조인행의 집합으로, 그의 개념이 복합인 경우 더 많은 조인행의 집합으로 구축될 수 있다. 직시어를 명확하게 하거나 파서가 howwhy 질문으로 M5 도메인을 조회하는 데 사용되는 니치 개념 및 응답 개념을 정의하는 것과 같은 어떤 다른 조인-행의 집합이 추가될 수 있으며, 이에 대해서는 이하에서 설명한다. 이들 행 전부가 존재하고 정확할 때, 동일한 지식으로 다른 사람과 대화하거나 질문을 할 수 있는 것과 동일한 수준에서 파서 프로그램을 통해 M5 테이블과 대화하거나 M5 테이블을 조회할 수 있다.
사전 구축된 개념 템플릿을 갖는 데 유용한 다른 유형의 개념은 그룹 개념이다. 예를 들어, M5에서 텍스트 "a king, a queen, and a beautiful princess"로부터 그룹 개념을 구성한다. 도 10은 사용될 수 있는 M5 그룹 개념 템플릿 데이터베이스이다. 이 그룹 개념 템플릿은 소스 텍스트 "A, B, and C"로부터 구성된다.
입력 텍스트 "A, B, and C"이 템플릿 데이터베이스에 대하여 파싱하는 파서 프로그램은 그의 개념 ID# and13를 찾아내고 텍스트 "A, B, and C"를 출력한다.
이하는 예시적인 파서 프로그램의 실제 실행이다.
Figure pct00048
도 11은 M5 그룹 개념 템플릿 데이터베이스이며, 이 경우 개념들 a king, a queen, 및 a beautiful princess는 ID#s AK, AQ 및 ABP를 갖는 개념들을 생성하기 위해 적절한 조인-행으로 구성되었다.
이제, A를 찾아내어 AK로 대체하고, B를 찾아내어 AQ로 대체하며, C를 찾아내어 ABP로 대체하는 경우, 텍스트 "a king, a queen, and a beautiful princess"의 구성된 개념을 갖는 데이터베이스를 얻고 이 데이터베이스를 상기 기본 개념-구축 데이터베이스와 연접시키고, 파서가 텍스트 "a king, a queen, and a beautiful princess"를 파싱하는 데 사용할 수 있는 데이터베이스를 얻는다.
이러한 개념 템플릿들 중 일부는 아주 정교할 수 있고, 예를 들어, 개념에 관한 when, how, where, 및 why 질문을 관리하는 행들을 포함할 수 있다. 표준 템플릿을 편집하는 것은 복합 개념의 구성 속도를 크게 높일 수 있다.
4. 본 발명의 컴퓨터 프로그램
도 12는 상기한 프로세스를 수행하도록 구성된 예시적인 시스템(1100)을 나타낸 도면이다. 알 수 있는 바와 같이, 시스템(1100)은 자연어 처리 시스템(1102)의 구성요소들과 단말기(1104)를 포함하고 있다. 단말기(1104)는 시스템(1102)과 인터페이스하는 데 사용될 수 있고, 예를 들어, 랩톱 또는 데스크톱 컴퓨터, 모바일 컴퓨팅 장치(스마트폰 또는 팜 컴퓨터 등), 또는 시스템(1102)과 인터페이스하도록 구성될 수 있는 임의의 다른 유형의 컴퓨팅 장치일 수 있다.
시스템(1102)은 시스템(1102)을 단말기(1104), 빌더(1108), 파서(1110), 응답기(1112), 및 하나 이상의 테이블(1116)을 저장하도록 구성될 수 있는 저장소(1114)와 인터페이스하도록 구성될 수 있는 사용자 인터페이스(1106)를 포함한다. 사용자 인터페이스는, 소정 실시예들에서, 텍스트-음성 변환 처리(도시 생략), 음성-텍스트 변환 처리, 또는 둘다를 포함할 수 있다.
테이블(1116)은 상기한 바와 같이 포맷팅된 다양한 M5 데이터베이스의 데이터를 포함할 수 있다. 빌더(1108)는 본 명세서에 기술된 규칙 및 프로세스에 따라 테이블을 구성하도록 구성될 수 있다. 구성되면, 파서(1110)는 본 명세서에 기술된 규칙 및 프로세스에 따라 테이블을 사용하여 사용자 인터페이스(1106)를 통해 입력되는 텍스트 문자열을 파싱하도록 구성될 수 있고, 응답기(1112)는 테이블에 저장된 응답에 의해 지시되는 대로 응답하도록 구성될 수 있다.
시스템(1102)이 단말기(1104)로부터 원격지에 있거나 단말기(1104) 내에 포함될 수 있다는 것을 잘 알 것이다. 일반적으로, 시스템(1102)은 본 명세서에 기술된 시스템 및 방법을 구현하는 데 필요한 하드웨어 및 소프트웨어 구성요소들을 포함한다. 시스템(1102)을 구성하는 구성요소들은 동일한 위치에 있을 수 있거나 다수의 하드웨어 플랫폼에 걸쳐 분산되어 있을 수 있다. 예를 들어, 빌더(1108), 파서(1110) 및 응답기(1112) 중 일부 또는 그 전부가 테이블(1116)를 저장하도록 역시 구성되어 있을 수 있는 하나 이상의 서버 또는 컴퓨터 상에 구현될 수 있다. 다른 실시예들에서, 테이블(1116)은 다른 구성요소들로부터 원격지에 저장될 수 있다. 유사하게, 사용자 인터페이스(1106)도 동일한 위치에 있을 수 있거나 다른 구성요소들로부터 원격지에 있을 수 있다.
시스템(1102)의 다양한 구성요소들에 대해 이제부터 상세히 기술할 것이다. 도 12에 나타낸 구성요소들이 필요한 구성요소들 전부를 나타낸 것은 아니며 예시된 구성이 특정의 인프라에 대한 요구사항을 전달하기 위한 것이 아니라는 것을 잘 알 것이다. 오히려, 예시된 구성요소들 및 구성은 단지 예에 불과하다.
5. 파서
파서(1110)는 개념들 간의 적법한 조인들에 대한 연관된 개념 테이블(1116)을 조회함으로써 입력 문자열이 명명하는 개념의 조인 테이블 행을 찾기 위해 입력 문자열을 파싱하도록 구성될 수 있다. 예를 들어, 텍스트 문자열이, 예를 들어, 인터페이스(1106)를 통해 시스템(1102)에 입력될 때, 파서(1110)는 문자열의 텍스트 요소들을 간단한 개념 ID#로서 취급하도록 구성될 수 있다. 파서(1110)는 이어서 텍스트 문자열 내의 인접한 요소들 간의 조인이 존재하는지를 알아보기 위해 테이블(1116)을 조회하면서, 문자열을 따라서 작업하도록 구성될 수 있다. 하나가 발견될 때마다, 2개의 요소들이 테이블(1116)에서 발견된 그들의 조인의 생성물 개념 ID#로 대체된다. 이어서, 파서(1110)는 동일한 방식으로 테이블(1116)을 조회하면서 이 생성물 문자열을 따라서 작업하여, 조인되어야 하는 테이블에서 발견된 모든 쌍을 그들의 생성물 개념 ID#로 대체한다. 단지 하나의 개념 ID#가 있을 때까지 계속한다.
소정 실시예들에서, 파서(1110)는 셀들의 x,y 격자를 포함할 수 있는 2-차원 어레이를 사용할 수 있다. (n)개의 단어의 문자열의 단어들이 오름차순으로 격자의 열 1에 복사될 수 있다. 각각의 구두점이 단어처럼 개념으로 간주될 수 있기 때문에, 구두점이 단어들로부터 분리되어 단어처럼 취급될 수 있다. 각각의 단어 및 구두점에 대한 개념 ID#가 탐색 또는 알고리즘에 의해 획득되어, 격자의 동일한 행의 열 2에서 인접 셀로 포스팅될 수 있다. 열 1은 이제 단어 및 구두점의 목록이고, 열 2는 등록 중인 그들의 개념 ID#를 포함하고 있다. 이것은 도 13의 격자로 설명될 수 있다.
열 2(우측에서 두번째)의 상단 또는 하단에서 시작하여, 프로그램은 이제 개념 (n) 및 개념 (n-1)에 대한 조인이 테이블에 있는지 여부를 테스트한다. 있는 경우, 그들의 결합된 개념 생성물의 개념 ID#가 그 다음 열인 열 3으로 포스팅되어 조인의 잔존 개념과 동일한 행에 있는 셀에 들어간다. 없는 경우, 조인되지 않은 개념 번호가 이전과 동일한 행에서 열 3에 있는 셀로 포스팅된다. 이 프로세스는 열 2의 상단 또는 하단까지 계속된다. 이제, 모든 적법한 조인이 열 3에 생성물 개념 ID#를 생성하였고, 조인에 아직 관여되지 않은 개념 ID#는 단지 열 3으로 포스팅되었다.
다시 열 3에서 시작하여, 동일한 프로세스가 반복되어, 테이블에서 각각의 개념 ID#와 바로 인접한 개념 ID# 간의 적법한 조인을 검색하고, 간극을 무시하며, 결과를 열 4로 포스팅한다. 단지 하나의 개념 ID#만이 마지막 열에 남을 때까지 이것이 그 다음 열 또 그 다음 열에서 계속된다. 이 프로세스가 계속됨에 따라, 이후의 열은 계속하여 더 적지만 더 복잡한 개념을 포함한다. 마지막으로, 단지 하나의 개념을 갖는 열이 나온다. 그러면, 텍스트 문자열은 성공적으로 파싱되었다.
수십년이 지나면 우리는 정신적 작용을 계산할 수 있는 두뇌의 회로 및 소프트웨어를 충분히 상세히 이해할 것이다. 현재의 컴퓨터가 이러한 마음의 작용을 수행하는 데 필요한 계산을 수행하기 시작할 수 없지만, 본 명세서에 기술된 시스템 및 방법은 그 작용이 어느 정신적 작용이었는지, 어느 피연산자 개념이 관여되었는지를 컴퓨터가 용이하게 기록하고 반환된 결과 개념을 식별할 수 있다는 것을 보여준다. 조인 테이블의 이점은 연산자를 명명하거나, 그들이 어떻게 동작하는지를 알거나, 컴퓨터에서 정신적 작용을 실제로 수행할 필요가 더 이상 없다는 것이다. 오히려, 이 동작들은 기록된 결과를 반환하기 위해 무엇이라고 되어야 하는 블랙박스 프로그램처럼 취급될 수 있다.
파서(1110)가 실행될 때, 숨겨진 경계에 걸쳐 조인을 행하는 것을 피하는데, 그 이유는 이러한 조인이 조인 테이블에 없기 때문이라는 것을 잘 알 것이다. 이러한 방식으로, 프로그램은 텍스트에서 숨겨진 경계를 검출하며, 이는 사람이 아닌 파서로는 달성할 수 없었던 것이다.
M5 조인 테이블의 도움을 받는 파서(1110)는 즉각 정확한 의미를 얻는 것을 아주 정확하게 수행할 수 있다. 이전에, 이러한 도움이 없었던 파서는 정교한 일련의 문법 규칙들과 통사적으로 의미적으로 태깅된 단어 및 구의 광대한 데이터베이스를 조회하여 몇가지 대안의 파싱 구조를 개발하는 데 그쳤다. 이어서, 어느 것이 최상인지를 판단한다. 이 프로세스는 수년에 걸친 엄청난 노력에도 불구하고 오류 투성이었으며, 현재도 그런 채로 있다.
i. 적절한 파싱 실패
파서(1110)가 특정의 문자열을 파싱할 수 없는 경우, 이는 문자열이 문법적으로 틀리거나 말이 되지 않는다는 것을 의미할 수 있다. 또는 이는 문자열이 의미하는 개념이 아직까지는 연관된 테이블(1116) 내의 등록된 개념이 아니라는 것을 의미할 수 있다. 또는 이는 사용자가 그의 적법한 조인이 테이블(1116)에 입력된 적이 없는 부연 또는 유의어를 입력했다는 것을 의미할 수 있다. 테이블의 관리자는 특정의 적법한 문자열이 그 다음에 정확하게 파싱되도록 이러한 조인이 적절한 경우 그 조인을 테이블에 추가할 수 있다.
때때로 드물게, 파서(1110)는 부적절한 조인을 행할 수 있는데, 그 이유는 그 조인을 포함하는 행이 그 조인이 적법한 데이터베이스의 다른 부분에 동시에 존재하기 때문이다. 소정 실시예들에서, 특정 조인이 무효로 된 경우 파서(1110)가 파싱을 완료할 수 있는지를 알아보기 위해 역추적 프로그램 또는 루틴이 구현될 수 있다. 이러한 문제점을 해결하기 위해 생각되는 대책들 중에서도 특히, 조인 탐색 영역을 조인 데이터베이스 테이블의 더 작은 로컬 영역으로 제한하는 것이 있으며, 이는 오류있는 조인 행을 찾을 가능성이 더 낮게 한다.
유의할 점은, 텍스트 문자열을 성공적으로 파싱하려면 전체 트리의 루트 노드인 하나의 개념 ID#를 획득해야 한다는 것이다. 마지막 열이 2개 이상의 개념 ID#를 가지고 있을 때 더 이상 조인을 찾아낼 수 없는 경우, 파서(1110)는 문자열을 파싱하지 못하였다. 부문자열의 리프들 모두로부터 하나의 루트 노드가 얻어지는 경우, 부문자열은 "의미가 있으며" 인식가능한 정신적 개념을 의미하는 것으로 이해될 것이다. 그렇지 않은 경우, 부문자열은 "말이 되지 않으며", "무의미하고", "의미가 뚜렷하지 않으며", 기타 등등이다.
소정 실시예들에서, 파서(1110)는 열을 따라 그 다음 개념을 구축하기 위해 조인을 탐색하기 전에 하나의 부개념을 구축하는 것을 완료하도록 구성될 수 있다. 이것은 조급한 조인을 방지하는 데 유용할 수 있다.
파서(1110)는, 입력 텍스트를 파싱하지 못할 때, 입력된 텍스트를 이해할 수 없었다는 것을 나타낸다. 본 발명은 파싱 동작 동안에 단지 어느 조인이 검출되었는지만을 디스플레이하는 진단 프로그램을 포함한다. 따라서, 파싱이 실패하는 경우, 입력 텍스트가 문법에 맞지 않거나 무의미하기 때문에 이것이 발생했는지 또는 M5 조인 테이블에 정정가능한 결함 또는 오류가 있는지가 명확할 것이다. 본 기술분야에 정통한 프로그래머는 파서 성능을 보여주는 아주 유용하고 직관적인 그래픽 디스플레이를 생성하는 모니터링 프로그램을 작성할 수 있을 것이다.
b. 빌더
빌더(1108)는 테이블(1116)을 구성하는 데, 즉 M5 데이터베이스를 구축하는 데 사용될 수 있다. 이 경우에, 각각의 텍스트 문자열이 명명하는 각각의 개념 구조를 모델링할 수 있는 데이터베이스 테이블의 구성을 주도하는 데 입력 텍스트 문자열이 사용된다. 예를 들어, 동일한 x,y 격자를 사용하여, 이전과 같이 입력 텍스트 문자열의 단어 및 구두점이 오름차순으로 열 1의 셀들로 복사될 수 있다. 이제, 테이블에서 개념 번호들의 조인을 검색하는 대신에, 조인이 빌더(1108)를 사용하여 구성된다. 환언하면, 빌더(1108)는 어느 특정의 인접 개념들이 적법한 조인을 행하는지를 나타내는 데 사용될 수 있다.
특정 실시예들에서, 마우스-드래그 1은 개념을 열의 위로 또는 아래로 드래그하여 다른 곳에 드롭하는 데 사용될 수 있다. 조인의 고유의 생성물 개념 ID#가 발생되어 "잔존 개념"과 동일한 행에서 그 다음 열에 있는 셀로 포스팅된다. 2개의 성분 개념 및 생성물 개념을 정의하고 이 조인을 기록하는 대응하는 새로운 조인 행이 테이블에 추가된다. 조인에 관여되지 않은 개념들은 그 다음 열로 그대로 포스팅된다. 이러한 방식으로, 빌더(1108)를 사용하여 작성자의 행동들에 의해 채워지는 격자의 내용이 파서 프로그램에 의해 채워지는 격자의 내용과 동일하다.
유형 1 조인에서 하나의 개념이 다른 개념에 의해 수식되어 잔존 개념으로 된다. 예를 들어, 부정관사 한정사 a 및 명사의 -s 복수 어형 변화, 그리고 정관사 한정사 the는 이들에게로 드래그된 설명적 내용에 의해 개념적으로 수식된다. 형용사 개념 또는 전치사구 개념에 의해 수식되는 명사 개념이 잔존 개념인 것처럼, 부사에 의해 또는 그의 통사적 목적어 개념에 의해 수식되는 부사 개념이 잔존 개념인 것처럼, 그리고 그의 목적어 개념에 의해 수식되는 전치사 개념이 잔존 개념인 것처럼 이들이 잔존 개념이다. 사람 설치자는 수식하는 개념을 잔존 개념으로 드래그함으로써 어느 것이 잔존 개념인지를 나타낸다.
이전과 같이, 마지막 열이 하나의 개념 ID#를 가질 때까지 그 다음 열들이 처리된다. 이것은 최초에 입력된 문자열 전체의 개념 번호이다. 이 때쯤에, 입력 문자열에 (n)개의 요소가 있는 경우, 대략 (2n)개의 새로운 조인 행이 데이터베이스 조인 테이블에 추가되었을 것이다. 최종적인 조립 이전에 또는 다른 순서로 개념들을 서로 다른 중간조립체로 조립함으로써 복합 개념을 구성하는 것이 통상적이기 때문에 - 서로 다른 텍스트 문자열이 종종 다른 방식으로 동일한 복합 개념의 구축을 지시함 -, 부연을 성공적으로 파싱할 수 있도록 하기 위해 어떤 대안의 조인이 테이블에 종종 명시된다.
이와 관련하여, 개념의 영구적 어휘 및 영구적 분류가 구축될 수 있다. 이것은 컴퓨터가 비교적 적은 수의 구두점, 수백개의 조어, 접두사, 접미사 및 어형 변화와, 아마도 50,000개의 어휘 단어, 그리고 사람이 일생동안 배우는 수십만개의 표준 구 개념의 기능을 학습하는 것과 동등한 것이다. 이러한 개념 분류가 이용가능한 경우, 입력 문자열로부터 테이블을 구축하는 것이 자동적일 수 있는데, 그 이유는 어휘 및 많은 개념 행이 이전에 설치되었을 것이기 때문이다. 물론, 아직도 많이 있을 새로운 단어 및 새로운 개념에 대해서만 사람의 관리가 필요할 것이다.
c. 두문자어 개념 코드를 발생하는 알고리즘: 개념 ID#의 자동 발생
모든 개념은 이상적으로는 빌더(1108)에 의해 자동으로 발생될 필요가 있는(그러나, 테이블에서 수동으로 생성, 설치 및 편집될 수도 있음) 고유의 개념 ID를 할당받을 수 있다. 관념은 고유의 번호를 부여받기만 하면 된다. 본 명세서에 기술된 시스템 및 방법은 이러한 고유의 ID 번호가, 예를 들어, 난수 발생 프로그램에 의해 또는 그 다음 접근 #를 사용하여 발생되는 경우 잘 동작하지만, 발생된 번호가 관리자 또는 사용자가 이해하기 쉬운 어떤 의미를 갖는 방법을 이용하는 것이 바람직할 수 있다.
따라서, 소정 실시예들에서, 거의 모든 단어, 구두점, 접두사, 접미사 및 어형 변화가 그 자신의 개념 번호이다. 이것은 프로그램적으로 또는 탐색 테이블에 의해 행해질 수 있다. 2개의 서로 다른 단어가 특정의 문맥에서 완벽한 유의어라면 2개의 서로 다른 단어에 동일한 개념 ID#를 할당하는 것이 유용한 경우가 있다. 예를 들어, 단어 "an" 및 "a" 둘다에 개념 ID# a를 부여하는 것이 유용한 것으로 밝혀졌다.
단어들 및 구두점들의 문자열로부터 고유의 개념 ID#를 발생하는 한가지 방법은 개념을 기술하는 바람직한 언어 구의 대문자 두문자 및 구두점을 연접시키는 것이다. 예를 들어, 빌더(1108)는 2개의 단어의 문자 두문자를 연접시켜 단어 문자열의 개념 ID#가 되는 두문자어, 머리글자 또는 두자어(alphabetism)를 형성함으로써 2개의 단어의 조인의 생성물 개념 번호를 발생하도록 구성될 수 있다. 예를 들어, 개념 green을 개념 tree에 조인함으로써 얻어지는 생성물 개념은 개념 GT가 될 것이다. GT는 여전히 green에 의해 수식되는 tree이기 때문에, 잔존 개념이고, GT는 개념 구축 격자에서 green이 아닌 tree의 행으로 포스팅된다. 2개의 대문자 두문자어가 조인될 때, 이들은 간단히 연접될 수 있다. 단어 개념이 두문자어에 조인될 때, 단어의 두문자가 두문자어와 연접될 수 있다.
이러한 개념 ID# 발생 시스템 하에서, 임의의 문자열의 개념 ID#는 대부분의 경우에 동일한 순서로 되어 있는 전체 문자열의 대문자 두문자로 이루어진 두문자어일 것이다. 이것이 문자열의 개념 ID#를 발생하는 아주 간단한 알고리즘의 기초이지만, 이 간단하고 빠른 방법은 일반적으로 유용하지 않은데, 그 이유는 조인이 어디에서 행해졌는지에 관한 정보가 상실되고 미지의 문자열을 파싱하는 데 필수적인 조인의 테이블이 구축되지 않을 것이기 때문이다. 이러한 문제점을 처리하는 간단하고 빠른 방법에 대해 이하에서 기술할 것이다.
개념 ID#를 발생하는 다른 중요한 방법은 개념 ID#로서 도메인에서의 위치를 사용하는 것이지만, 고유의 개념 ID#를 발생하는 어떤 방식이라도 파서(1110)에서 잘 동작할 것이다.
d. 교집합 파싱 방법.
언어 텍스트를 파싱하는 대안의 방법은 교집합 방법(intersection method)이다. 동일한 데이터베이스 테이블(1116)이 이전과 같이 생성되지만, 이제는 모든 개념의 개념 ID#를 포함하는 추가의 필드를 갖는 레코드를 가지며 그 행에 의해 표현되는 개념이 개념 ID#의 부개념이다.
이전과 같이 x,y 격자를 사용하여, 파싱될 텍스트의 단어 및 구두점을 오름차순으로 열 1로 복사하는 것으로 시작한다. 열 1에 있는 문자열을 후방으로(또는 전방으로) 파싱하여, 각각의 개념을 부개념으로 갖는 개념들의 집합을 탐색한다. 각각의 행에 대해, 이러한 개념 ID#들의 집합을 동일한 행에서 인접한 필드 내의 열 2로 포스팅한다. 이제 행 (n)에 있는 열 2에서 시작하여, 열 2 행 (n)에 있는 개념 ID#의 집합을 열 2 행 (n-1)에 있는 개념의 집합 간의 교집합을 구한다. 교집합이 공집합이 아닌 경우, 교집합은 (n) 개념 및 (n-1) 개념을 부개념으로 갖는 개념의 개념 ID#를 포함한다. 이제 이 교집합과 (n-2) 행에 있는 개념 ID# 집합과의 교집합을 구한다. 교집합이 공집합이 아닌 한 열을 따라 계속하지만, 교집합이 공집합으로 되면, 경계가 검출되었다. 잔존 교집합을 동일한 행에 있는 열 3으로 포스팅한다. 이제, 교집합이 공집합인 새로운 집합에서 시작하여 열 2의 끝까지 계속하고, 동일한 방식으로 열을 따라 이를 전달하여, 교집합이 공집합일 때 잔존 집합을 그 다음 열로 포스팅한다. 마지막 열의 하나의 셀에 단지 하나의 개념 ID#가 있을 때까지 이 프로세스를 계속한다. 이것이 파싱되는 원래의 문자열의 개념 ID#이다.
e. 응답기
프로그램이 입력된 텍스트 문자열의 정확한 의미를 연역하면, M5 데이터베이스 또는 테이블(1116)에서 응답을 문자열과 연관시킬 수 있다. 예를 들어, 응답이, 예를 들어, 텍스트 또는 오디오 출력 형식으로 제기된 질문에 대한 응답일 수 있다. 응답이 또한 질문을 처리하는 웹 페이지를 자동으로 나타나게 하거나, 지시에서 명명된 특정의 문서에 대해 Word와 같은 컴퓨터 응용 프로그램을 열거나, 수많은 다른 방식으로 응답하는 것일 수 있다.
f. 대안의 방법 소프트웨어 객체를 사용하여 개념을 구성하기
1. 빌더
또한, 개념을 데이터베이스 레코드로서 나타내는 것에 대한 대안으로서, 객체 지향 프로그래밍을 이용하여 각각의 명확한 관념 또는 개념을 소프트웨어 객체로서 모델링할 수 있다. 개념의 특성들, 그의 관계들을 포착할 수 있고, 개념을 수식하는 데 상속을 이용할 수 있다.
이러한 구현에서, 하드웨어가 관리할 수 있는 만큼의 사람들에게 동시에 응용 프로그램을 서비스할 수 있는 웹 사이트의 형태로 새로운 정보가 추가될 수 있다. 예를 들어, 자바 응용 프로그램 서버 Tomcat 및 MySQL 데이터베이스를 사용하여 완전 무료의 공개 소스 소프트웨어인 리눅스 서버 상에 구축되는 경우, 이러한 실시예는 다수의 사람들이 동일한 "지식 도메인" 상에서 작업할 수 있게 하거나, 서로 다른 사람들이 서로 다른 지식 도메인 상에서 작업할 수 있게 하거나, 2명 이상의 사람들이 하나의 지식 도메인 상에서 함께 작업할 수 있게 한다. 비어 있는 지식 도메인을 생성하고, 사용자를 추가하거나 사용자의 프로필을 편집하며, 읽거나 읽고 수정할 수 있는 지식 도메인을 추가할 수 있다.
이러한 구현에서, 데이터베이스(1116)는 3개의 주요 테이블로 구성될 수 있으며, 각각의 테이블이 개념들 및 개념들 간의 상호관계를 처리한다. 이 버전에서, 각각의 개념은, 예를 들어, java.lang.Object으로서 인스턴스화될 수 있다. 개념이 그 클래스로부터 내려온다. 하나의 상속 클래스 계층구조(glace.*이라고 함)에는, 9개의 서로 다른 Concept 클래스가 있으며, 이들 각각이 처음에 glace.Concept로부터 파생된다.
개념 유형은 다음과 같은 것일 수 있다: Unknown, SimpleLexical, Motor, CompoundLexical, Complex, SeamMember, Seam, Look, See, Observation, 및 Schema. 이들 각각이 많은 연관 테이블이 조인되어 있는 주 개념 테이블로부터 구성될 수 있다. 이러한 9개 유형의 개념이 복잡도가 증가되고 아주 많이 있는 공통 "성분들"을 공유한다. 이러한 성분들의 상세가 개념의 특성을 이루고 그의 복잡성을 결정한다.
데이터베이스에 저장되어 있는 객체들의 컬렉션이 인터넷 상의 어디에나 위치할 수 있고 그것에 액세스할 수 있는 어떤 파서(1110)에 의해서라도 질의될 수 있다. 웹 서비스가 k들 사이에서 입력 또는 출력을 수신하도록 구성될 수 있고, 개념을 추가, 수정, 수식 또는 질의하기 위해 개념 및 개념의 그룹을 기술하는 XML 문서가 지식 도메인들 사이에서 전달될 수 있다. 이러한 방식으로, 임의의 하나의 지식 도메인이 할 수 있는 것보다 더 깊게 지식 도메인을 커버하기 위해 2개 이상의 독립적인 지식 도메인이 결합될 수 있다.
ii. 파서
이러한 실시예에서, 발화, 예를 들어, 질문, 구, 단어들의 그룹, 심지어 하나의 단어가, 그 발화와 관련되어 있고 그 발화가 끌어내는 개념을 검색하기 위해, 특정의 방식으로 파싱될 수 있다.
첫번째 단계는 발화를 하나의 공백으로 분리된 단어들로 주의깊게 띄어 놓고 이들을 3차원 ConceptMatrix에 배치하는 것이다. 단어들 자체는 행 0에 있는 각각의 ConceptColumn의 상단에서 시작한다. 파서(1110)가 좌측(열(0))에서 우측 열(열(n))로 이동한 다음에 다시 열(n)에서 열(0)로 이동할 때, ConceptMatrix의 준비 및 "채우기"가 행해진다. 이것은 다수의 단계들로 행해진다. 먼저, 단어가 인식되는지를 판정하기 위해 각각의 단어가 특수 사전에서 탐색될 수 있고, 그럴 수 있는 잠재적인 품사로서 분류될 수 있다. 많은 단어들이 단어 SET와 같이 다수의 유형의 용법을 갖는다. 이는 동사, 명사, 형용사 등일 수 있다. 각각의 유형이 이어서, 가장 가능성이 있는 것부터 시작하여, 순차적으로 테스트될 수 있다. 이것은 사전에 의해서도 발화 내에서의 단어의 문맥에 의해서도 판정될 수 있다. 이러한 다수의 dictionaryItem이 ConceptMatrix의 행 1 셀 내에 저장될 수 있다.
그 다음 파싱 단계는 2개의 열로 확장될 필요가 있는 단어들 중 일부를 탈축약(decontract)시킨다. 이것의 예가 문장에서의 동사이다. "swam"과 같은 동사는 처음에 하나의 열을 받을 것이지만, 잠재적인 동사[동사 "to swim"의 과거 시제]로서 식별되면, 탈축약이 일어날 것이다. 즉, 하나의 발화의 파싱에 대해 다수가 있을 수 있는 파싱될 ConceptMatrix 변동들 중 하나는 "swam"을 동사로서 취급하고 ConceptColumn을 2개의 ConceptColumn로 변환하는 것이며, 첫번째 것은 "-d" 또는 과거-시제 둘러싸기(encasement)라고 하는 Motor 개념이고 두번째 것은 단어 "swim"이다. 이러한 "탈축약" 방법으로부터 뽑아낸 제3 열이 있을 수 있고, 이는 Seam ConceptColumn이 검출되지 않았을 경우에 있게 된다. 보통, 많은 관찰에서, Seam 개념이 존재하지만 명확하지 않으며 관찰의 동사에 포함되어 있다. 이는 부사가 검출되지 않는 한(이 경우, 동사는 부사 이전에 배치됨), 과거-시제 동사로부터 "탈축약"될 수 있고 원시 동사(이 경우에, swim) 이전에 ConceptColumn로서 배치될 수 있다.
그 다음 파싱 단계는 ConceptMatrix로부터 열을 생략하기 위해 거치며, 원래의 어법을 확인해주기 위해 검출 플래그를 설정하지만 파싱으로부터 단어를 제거한다. 이 단어들은 숙어, 수식어 및 "채움말" 단어일 것이며, 이들은 사용자가 무엇을 전달하는지를 기술하는 역할을 하지만 아무런 이점도 없이 너무 많은 순열 및 조합을 제안한다. 이 때문에, 이들은 ConceptMatrix로부터 제거되지만, 열 및 ConceptMatrix 자체 상에 일군의 플래그로서 표시된다.
그 다음 단계는 행 2 셀들 각각을 행 0 값의 탐색 값(있는 경우)으로 채우면서 우측에서 좌측으로 가며 임의의 "원자적" 개념을 행 2에 배치한다. 이러한 방식으로, 단어 "the"는 Motor 개념 THE를 산출하고, 단어 "swim"은 SimpleLexical "SWIM"을 산출하며, 단어 "be"는 행 2에 SeamMember "BE"를 산출한다. 다시 말하지만, 행 0 항목들 각각에 대해 행 2에 원자적 개념의 다수의 서로 다른 클래스가 있을 수 있고 ConceptMatrix의 많은 버전들이 실행될 필요가 있을 수 있기 때문이다.
파서의 그 다음 단계는 몇개의 입력 기준에 기초하여 3개의 "캐시"의 그룹에 잔존 개념들을 축적하면서 서서히 우측에서 좌측으로 간다. 이러한 캐시는 LexicalYield, 및 ConceptYield라고 한다.
한가지 기준은 특정의 열이 포함하는 Concept Type(10개가 있을 수 있음)일 수 있다. 보통, 열은 단지 "원자적" 클래스(즉, SimpleLexical, a Motor, 또는 A SeamMember)만을 가질 것이다. 파서의 각각의 "동작"으로, 새로운 행이 생성된다. 파서가 SimpleLexical 열에 있고, a Motor 열이 그 다음 좌측에 있는 경우, 파서는 "둘러싸기" 방법을 준비할 것이다. 이것은 현재 Concept, 보통 Concept들의 집합에 있는 것이 나오게 될 Motor 개념에 의해 "둘러싸기"될 수 있다는 것을 의미한다. 반면에, SimpleLexical이 나오는 경우, 동작은 그 단어의 결과와 파싱이 지금까지 산출한 현재의 개념들의 집합의 "교집합을 구하는 것"일 수 있다. 이산적인 수의 순열에서, 각각의 경우에 대해 일련의 적절한 동작이 발견될 수 있다. 그 결과는 ConceptYield 캐시에서 서로 꼭 결합될 필요는 없는 개념들의 그룹이다. 이 Concept들은 탐색된 질문에 대한 잠재적인 대답이거나 사용자가 사용한 어법의 지시대상(referrant)이다.
이러한 "지식 도메인"의 입력 도구 또는 구축 응용 프로그램이 또한 웹 기반이고, 반대로 파서 상에서는 그 자신의 기능의 구성요소로서 있다. 이러한 이유는, 사용자가 새로운 정보를 입력하고자 할 때, 그렇게 하기 위해 기존의 개념을 사용하는 것이 대체로 도움이 되기 때문이다. 많은 "병렬"이지만 연결되지 않은 구조를 구축하는 것은 지식 도메인의 기하학적 유용성을 확장시키지 않으며 회피되어야만 한다. 이 함정을 회피하는 유일한 방법은 올바른 개념에 연결되도록 하기 위해 새로운 관찰 또는 개념을 구축하기 전에 입력 문자열들 각각을 파싱하는 것이다. 사용자가 정확하게 지식 도메인에 무엇이 있는지를 인식할 방법이 없으며, 빌더 도구의 구성요소로서 파서를 사용하는 것이 이것을 달성하는 데 도움이 된다. 다수의 사용자가 동시에 구축할 수 있고, 각각이 다른 사용자들에 의해 설치된 수식을 자동으로 실시간으로 이용할 수 있다. 우발적으로 노력의 중복이 일어나기 시작할 수 있지만, 개념들이 파서에 의해 신속하게 "중복-제거(de-duped)"되고, 이는 동일한 연결의 다수의 사본을 발견할 것이다.
객체 기반 웹-기반 시스템의 많은 흥미로운 기능들 중 하나는 다수의 지식 도메인에 존재하는 개념들을 링크시킬 수 있다는 것이다. 이 시스템이 항상 온라인이고 임의의 파서가 임의의 지식 도메인에 질의하고 잠재적으로 그에 추가를 하여 수정할 수 있기 때문에, 서로 다른 저자들에 의해 독립적으로 생성된 개념들이 서로 링크될 수 있다. 이것은 서로 다른 지식 도메인(아주 풍성하고 그 자체로 깊게 링크되어 있는 것)에 있는 개념이 아주 얕은 지식 도메인 내에서의 질의의 결과일 수 있다는 것을 의미한다. 그 풍성한 개념을 생성하는 데 필요한 작업은 중복될 필요가 없으며, 모두가 재사용될 수 있다. 이와 같이, 다양한 개인 및 조직의 팀은 수정하기 위해 액세스할 수 있는 지식 도메인들 각각에서 별 개념을 링크시킴으로써 지식 "성좌(constellations)"를 생성할 수 있다. 이와 같이, 인터넷에서 허용되는 하이퍼링킹과 거의 유사하게, 인터넷 및 그의 사용자들의 지식의 자율성 및 분산 성질을 사용하여 지식 및 학습의 진보를 위한 아주 가치있는 지적 구성체를 생성할 수 있다.
6. M5 작성 기법
a. 서론
언어를 M5 데이터베이스로 변환하는 것은 작가가 글을 잘 쓰는 것과 유사하다. 목표는 의미가 명확해지게 하는 것과 언어의 개념 생략 부호들 전부가 주의깊게 복원되도록 하는 것이다. 글을 잘 쓰는 방법에 관한 아주 많은 작문 스타일 도움말 책 및 매뉴얼이 있다. 대부분의 출판업자는 저자가 따라야 하고 편집자가 시행해야 하는 엄격한 스타일 코드를 가지고 있다. 유사한 일련의 규칙 및 표준이 M5의 작성자에게 적용될 것이다.
양호한 M5 설치자는 어느 유형의 조인 행을 사용할지 및 지식을 인코딩하고 의미의 뉘앙스를 포착하기 위해 어느 것이 필요하게 될지를 직관적으로 알고 있다. 이는 시행착오의 요소가 있는 반복적 프로세스이다. 부딪치는 모든 상황을 처리하게 될 포함적인 정식 규칙 집합을 규정하는 것은 가능하지 않다. 기술 분야에 정통한 M5 작성자라면 전체 지식을 인코딩하게 될 필요한 일련의 조인 행을 작성하고 그와 동시에 파서 프로그램이 완전히 수용되도록 하기 위한 방법을 찾을 것이다. 프로세스 동안에, 작성자는 그의 작성을 파서로 테스트할 수 있고, 이는 파서가 수용되는지를 알아보기 위해 그 파서가 어느 필요한 조인을 찾을 수 없는지를 디스플레이하는 진단창을 포함할 수 있다.
압축된 언어를 미압축된 M5 데이터베이스로 변환하는 것, 마음이 그 자신의 목적을 위해 보통 행하는 코덱 압축 해제를 정신적으로 수행하는 것 그리고 미압축된 생성물을 M5로 명확하게 기록하는 것은 M5 작성자의 책임이다. 입도의 정도는 필요에 따라 변하며, 기술은 "노골적으로 말하는(not to put too fine a point on it)" 것이다. 어느 경우든지, M5는 상세한 데이터 전부를 보유할 수 있는 형식을 제공한다.
평문에 의해 암시되지만 M5 작성자가 판단하기에 추가하여 보강될 필요가 있다는 점에서 명확하지 않은 지식의 종류를 설명하는 어떤 예를 살펴보자.
평문의 한정적 문장이 능동태로 발화될 때, 예를 들어, "the shortstop threw to first base", 제2 사람은 야구공이 던져졌고 야구공이 베이스가 아니라 1루수로 던져졌다는 것을 안다. 또한, 능동태로 구성된 관찰이 수동태로 구성된 다른 관찰의 진실을 암시한다. 그의 행위의 수동태 기술 "the baseball was thrown to the first baseman" 은 진실로 된다. 또한, 1루수가 아마도 공을 잡았을 것이다. 또한 어쩌면 주자가 1루로 달리고 있었고 "송구로 1루에서 아웃(thrown out at first)"되었거나 그렇지 않을 수 있다. 컴퓨터는 이것을 전혀 알 수 없다. 그러나, M5 테이블에서 작성자가 이러한 암시된 관찰 개념들 전부를 설치할 많은 여지가 있으며, M5 작성자가 솔직히 말하여 이 지식 도메인 인스턴스에 얼마나 많이 포함시켜야 하는지를 아는 것이 M5 작성의 기술이다.
특정의 경우에 어느 것이 적용되는지를 작성자가 알 수 있게 하는 "상식" 규칙의 정교한 데이터베이스 및 정교한 프로그램을 구축하기보다는 각각의 특정의 경우에서 우리는 이러한 암시된 개념들을 M5 데이터베이스에 추가하였으며, NLP 연구자들이 최근에 표준 접근방식을 이용하려고 시도하였으며, 아주 혼합된 결과가 얻어졌다. 이러한 n 접근방식을 사용하는 것은 실제적으로 효과가 있는 시스템을, 지금부터 수년 후가 아니라, 현재 가능하게 만들어준다.
다른 예에서, 한정적 문장에서 하나의 단어 "too" 및 "also"는 이 동일한 관찰 개념의 이전의 인스턴스가 있었다는 것을 암시하고, 그 이전의 관찰에 관한 질문이 예상되는 경우 M5 작성자는 그 관찰 개념을 설치할 필요가 있을 수 있다.
한정적 문장은 종종 평문으로 부정사구 및 동명사구로 단축된다. 예를 들어, 동사구 "featured many young American men sitting at tables with manuscripts while affecting the leonine look of Hemingway"에서, 동명사는 한정적 문장 전체 "many young American men sat at tables" 및 "many young American men affected the leonine look of Hemingway"의 단축된 형태이다. 이 문장들은 "featured"로부터 그들의 이음매 파라미터를 획득하였다. 이하의 한정적 문장 "Stalinists were using fronts to rationalize Stalin's alliance with Hitler"에서, 부정사 "to rationalize Stalin's alliance with Hitler"는 한정적 문장 전체 "the fronts would rationalize Stalin's alliance with Hitler"의 단축형이다. M5 작성자는 이러한 전체 관찰 개념을 그들의 상응하는 질문 개념과 함께 둘다를 설치할 필요가 있는 것으로 판단할 수 있으며, 따라서 파서는 "Did many young American men affect the look of Hemingway?" 및 "Would the fronts rationalize Stalin's alliance with Hitler ?"와 같이 대담자로부터의 질문을 잘 처리할 수 있다.
단락 개념의 설명에서 언급한 바와 같이, 몇개의 관찰이 하나의 개념에 들어갈 수 있으며, 종종 단지 하나의 관찰이 보고되더라도, 제2 사람은 전체 단락 집합이 적용된다는 것을 알게 될 것이다. 이러한 일련의 관찰은 사건의 경로 또는 진로, 행동의 진로, 여행, 이야기 또는 담화와 같이 몇개의 선을 따라 일어날 수 있다. M5 작성자가 설정된 상황의 다른 관찰들 전부를 알기 위해서는 관찰이 어느 것에 있는지를 나타내기 위해 주석 첨부된 관찰로 충분하다. 관찰들의 이러한 선형 어레이가 부정사에 의해 참조될 수 있는 "why" 차원으로 생각될 수 있거나, 진로가 그의 이름을 가질 때 "by taking the bus"와 같은 구에 의해 참조될 수 있는 "how" 차원으로 생각될 수 있다. 이들은 더 앞서 또는 늦게 서명 관찰을 언급하고 모든 중간 단계들을 드러내는 빠른 방법이다. M5 작성자는 "What's going on?"와 같은 질문을 처리할 수 있기 위해 모든 단계 관찰들을 설치하기로 선택한다.
관찰이 있는 time 및 space, way 및 why 차원이 종종 많은 관심을 끌며, 관찰에 관한 when, where, how, 및 why 질문을 사용하여 질문된다.
유사하게, "The president of the United States, commander in chief, considering the important policy decisions in Iraq has to think of the consequences as well as the benefits"는 2개의 관찰에 대한 단축형이다: "The president of the United States, commander in chief, considering the important policy decisions in Iraq has to think of the consequences; the president of the United States, commander in chief, considering the important policy decisions in Iraq has to think of the benefits." 여기서, "as well as"는 긴 문자열: "The president of the United States, commander in chief, considering the important policy decisions in Iraq has to think of"을 대신하는 것이다.
그룹과 그룹의 멤버들 각각의 관계를 명확히 분배할 필요가 있다. 예를 들어, 한정적 문장 "Hannah picked up cereal, milk, and bread at the store"을 생각해보자.
개념 cereal , milkandbreadand 유형 그룹 개념이지만, 관련된 개념 pickedup은 그룹의 각각의 멤버에게 개별적으로 분배되어야 하며, 이는 3가지 관찰 개념의 설치를 필요로 한다.
Figure pct00049
b. 이중 의미 및 유머
입력 텍스트가 이중 의미를 갖는 것이 보통이다. 이것이 유머의 기본이다. 입력 텍스트가 이중 의미를 가질 때, 이는 2개의 서로 다른 개념 ID#로 파싱될 수 있다.
예를 들어, 자연어 연구자들의 오래된 이야기를 생각해보자. "I saw the statue of liberty flying in from Boston ." 이 텍스트 입력을 개념 ID# observaton64의 의도된 의미로 파싱되게 하려면 테이블에 다음과 같은 조인 행을 필요로 한다:
Figure pct00050
"웃기는" 의미로 파싱하려면 테이블에 다음과 같은 조인 행을 필요로 한다:
Figure pct00051
"이해하고", 이중 의미를 알며, 정확한 의도된 의미에 도달하기 위해 적절한 조인 행을 만들고 따라서 응답이 적절하도록 만드는 것은 M5 작성자의 책임이다. 반면에, 농담을 이해하는 M5 작성자는 이것을 인식할 수 있고, 이에 응답하여 "Don't be silly , the Statue of Liberty can't fly"와 같은 텍스트를 출력할 수 있다.
c. M5 데이터베이스에 적절한 조인 행을 추가하고 이들을 인유에 링크함으로써 인유를 관리하는 방법.
인유 및 은유를 검출하고 이들을 M5와 상호작용하는 간단한 컴퓨터 프로그램이 이해하기 쉽게 만드는 것이 가능하다.
다음과 같은 텍스트를 생각해보자:
Figure pct00052
4개의 인유가 Stacy Schiff의 Johnny One-Eye에 대한 소론의 첫번째 단락에 들어 있다.
Figure pct00053
Figure pct00054
Figure pct00055
인유를 M5에 포함시키기 위해, 인유를 표현하는 일련의 조인 행이 추가되어 인유 개념을 만들 수 있고, 이를 텍스트에 정의된 개념에 대한 동격으로서 사용하여 인유를 만들 수 있다. 유사하게, 은유가 M5 작성자에 의해 검출될 수 있고 양쪽 의미를 M5 대담자가 이용할 수 있다.
M5 형식은 강력한 도구이다. 하나의 복합 개념 ID#을 무수한 성분 개념들로 분해할 수 있는 것에 의해 단어 내에서 검색을 하는 검색 방법이 가능하게 된다. 템플릿은 지식의 특정의 양태에 규칙 및 논리를 적용하는 방법, 3단논법을 기계적으로 테스트하는 방법, 질문 답변에 논리를 적용하여 현재의 행의 존재에 의해 간단화되는 새로운 개념을 발생하는 방법을 가능하게 한다.
d. 유의어 및 부연
모든 실제적인 목적상 동일한 관념이 무엇인지를 말하는 데 많은 서로 다른 텍스트 문자열이 사용될 수 있는데, 즉 종종 동일한 개념을 말하는 많은 서로 다른 방식들이 있다. 이것은 자연어 컴퓨팅에서, 특히 긴 문자열의 경우에 처리되어야 하는 심각한 조합 문제를 야기한다. 예를 들어, 하나의 정확한 관념을 의미하는 20개 단어의 문자열이, 의미를 심각하게 변경시키지 않고 각각의 위치에서 2개 또는 3개의 대안의 단어를 가능하게 하는 220 내지 320의 범위에서, 1조개 이상의 고유의 단어 문자열로 표현될 수 있다. 이것은 저장된 단어 문자열의 탐색을 이용하는 방법을 실행 불가능하게 만든다. "Hello," "Good morning," "How do you do," 그리고 "Fine,"와 같은 보통의 인사에 대한 응답이 저장된 문자열로 쉽게 처리될 수 있지만, 그것은 한계에 관한 것이다.
본 명세서에 기술된 시스템 및 방법에서, 복합 개념이 그의 주 성분 개념으로 분해될 수 있고, 따라서 변형이 나타날 수 있는 위치의 수를, 예를 들어, 20에서 4로 감소시킨다. 이들 각각은 그의 개념 ID#를 식별하기 위해 단지 몇개의 부연을 필요로 한다. 몇몇 부연이 다른 것들보다 사용될 가능성이 더 많으며, 이들이 선택적으로 예상된다. 이어서, 그들 중 몇개가 텍스트 문자열에 나오는지가 더 이상 중요하지 않도록 성분들 전부 또는 단지 충분한 부분집합을 언급함으로써 복합 개념이 식별될 수 있도록 구성된다. 그 다음에, 전체 개념의 개념 ID#과 그의 성분들 각각의 개념 ID# 간에 유형 3 조인을 사용함으로써, 그들이 어느 순서로 텍스트에 나오는지가 더 이상 중요하지 않으며, 이는 처리될 수 있는 부연의 수를 크게 증가시킨다.
각각의 성분 개념에 대한 모든 유망한 부연이 이어서 구성될 수 있다. 이것은 각각의 부연에 대해 다른 개념 ID# 두문자어를 생성할 것이다. 이러한 개념 ID#는 이어서 데이터베이스 테이블에서 동일한 선호되는 개념 ID#로 편집되고, 따라서 어느 부연이 사용되는지에 상관없이 동일한 개념 ID# 행이 문자열을 파싱할 시에 발견될 것이다. 사용자가 우연히 성분 개념에 대해 새롭지만 유효한 부연을 이용하는 경우, 이것은 단지 추가되기만 하면 되며, 하나 이상의 어휘 행 및 아마도 하나 또는 2개의 조인 행의 문제이다.
그 결과, 말하자면 특정의 개념을 의미하는 유효한 10개의 단어 문자열 전부를 처리하는 데 필요한 행의 수가 수백만이 아니라 많이 더 적은 위치에서의 변형들의 수의 합이다.
종종, 몇개의 유의어가 사용될 수 있는 단어를 포함하는 표현이 특정의 개념을 명명하는 데 사용된다. 원래의 단어가 그 대신에 유의어를 이용하는 행들과 조인되는 경우에 행을 복제하는 것이 필요할 수 있다. 이것은, 어느 유의어가 사용되든지 간에, 문자열이 동일한 개념 ID#로 파싱되도록 할 것이다.
7. 생략부호 및 개념-생략부호에 의한 데이터 압축
a. 언어에서의 데이터 압축
대부분의 언어적 의사소통에서 여러가지 이유로, 많은 것이 대부분의 발화에서 빠져 있다. 예를 들어, 복잡한 관념이 단어들의 긴 문자열에 의해 주의깊게 설명되고 문장에서 두번 이상 언급되어야 할 때: 화자가 동일한 긴 문자열을 반복하여 동일한 문장에서 동일한 관념을 3번 언급할 때보다 더 참을 수 없게 만드는 것은 없다. 언어는 아주 효율적인 데이터 압축 방법을 발전시켰으며, 언어는 그 반복된 관념을 나타내기 위해 심볼(어휘 단어, 조어 또는 구두점)을 사용하는 방법들을 발견하였다. 설명되지 않은 개념은 대체로 듣는 사람, 즉 제2 사람에 의해 곧바로 복원될 수 있다.
숙련된 화자는 정보의 손실 없이 불필요한 단어들, 즉 제2 사람이 곧바로 제자리에 돌려놓을 수 있는 단어들을 제외시킨다. 생략부호는 완전한 통사적 구성을 위해 필요하지만 이해를 위해서는 불필요한, 텍스트로부터 생략되는, 제외된 단어 또는 구이다. 본 명세서에 기술된 시스템 및 방법에서, 개념-생략부호는 전송되지 않은 누락된 개념, 즉 누락된 단어가 의미하는 개념이다.
언어를 단지 간단한 개념 구축 명령으로서 볼 수 있다. 구두점, 조어 및 어휘 단어 모두는 개념이 조인되어야 하는 곳을 나타내는 개념 트리에서의 위치를 나타낸다. 어떤 의미에서, 이들은 누락되어 있지만 암시적인 개념을 나타내거나 의미한다. 이들은 복합 개념의 구성을 계속하기 위해 적절한 문자열에 의해 명명된 부개념이 적법하게 조인될 수 있는 곳을 정확하게 나타낸다. 구두점은 구두점 이전에서 이제막 파싱된 개념이 삽입되어야 하는 상위 복합 개념을 나타낸다. 조어 및 어휘는 구성 중인 상위 복합 개념에 조인되어야 하는 부성분 개념을 나타낸다.
언어의 모든 요소들은 생략부호, 텍스트에서 무언가 빠져 있다는 것, 누락된 개념, 종종 긴 단어 문자열로 표현되는 것이 직시어를 대신하여 배치되어야 한다는 것을 나타낸다. 구두점, 조어 및 어휘 단어를, 트리에 분기를 추가하는 것과 같이 어떤 문자열 또는 생략부호가 삽입되어야 하는 지점, 및 그 자체로서 긴 문자열 또는 생략부호에 의해 정의되는 개념을 나타내고 그의 이웃 개념에 조인되어야 하는 개념을 표시하는 것으로 생각할 수 있다.
문제점은 다른 경우들에 단지 그 개념이 무엇이 되어야 하는지를 이해하는 것이다. 느린 언어 의사소통 채널에서 발화를 단축시킬 수 있게 하기 때문에, 조어는 아주 중요하다. 이러한 짧은 단어들이 종종 정의하는 데 긴 문자열을 필요로 하는 지시대상, 즉 전체 문장 및 심지어 단락을 갖는 것을 고려할 때, 언어에서의 조어의 목적은 즉각 명백하게 된다. 자연 형태의 데이터 압축이 복잡한 지식을 더 적은 수의 단어로 전달될 수 있게 한다.
"he"가 용이하게 "Fiorello La Guardia, the former mayor of New York"를 나타낼 수 있는 인칭 대명사 조어의 경우는 쉽게 이해되지만, "that" 및 "such"와 같은 조어가 긴 문자열을 나타낼 수 있다는 것은 그렇게 쉽게 이해되지 않는다. 조어 "do"가 대표적이다:
Figure pct00056
첫번째 예에서, 단어 "I"가 신랑인 Harry를 나타내고, "do"가 아주 복잡한 개념을 묘사하는 긴 동사구 전체를 나타낸다는 것이 명확하다:
Figure pct00057
Figure pct00058
Figure pct00059
그 다음 예에서, "do"의 의미는 swear to tell the truth the whole truth and nothing but the truth so help me god이다. 그러나, 그 다음에 "do"가 사용될 때, 이는 완전히 다른 무언가를 의미할 것이다.
b. 생략부호 마커로서의 구두점의 관리
"it"와 같은 인칭 대명사가 긴 단어 문자열을 나타낼 수 있다는 것을 이해하는 것은 쉽다. 그러나, 구두점도 역시 인칭 대명사처럼 기능하여 복합 개념을 나타내는 것을 볼 수 있다.
본 명세서에 기술된 시스템 및 방법에서, 언어 텍스트가 복잡한 정신적 개념을 구성하는 명령으로서 취급된다. 따라서, 구두점은 텍스트 문자열이 완성되고 대응하는 개념 ID#이 식별되었다는 것을 나타낸다. 이제 그 개념이 구성 중인 복잡한 최종 개념에서의 그의 최종적인 위치에 영구적으로 배치될 수 있다. 구두점은, 그것을 명시하는 데 긴 텍스트 문자열을 필요로 할 수 있는 것인, 구성 중인 그 전체적인 최종 개념을 나타내는 개념-생략부호 마커가 됨으로써 이것을 한다. 텍스트 문자열의 그 개념 ID#을 구두점의 개념 ID#에 조인시켜 최종 개념의 개념 ID#를 제공하는 특수한 유형 3의 새로운 조인을 추가함으로써 삽입이 행해진다: 이 행은 파서(1110)가 구두점을 관리하고 구축 중인 최종 개념을 사전-식별할 수 있게 한다:
Figure pct00060
조인 premodifier ~ ,이 테이블(1116)에서 고유한 경우, 이 조인 행이 필요한 유일한 것이다. 콤마가 전체적인 최종 개념과 정확히 동일한 의미를 갖기 때문에, 그의 의미가 그의 보다 명확한 버전의 의미와 정확히 동일하다.
Figure pct00061
그러면, 이는 필요하지 않다.
구두점의 주요 기능은 생략부호가 텍스트에서 복원될 수 있는 곳과 개념-생략부호가 개념 트리에서 복원되어야만 하는 곳을 나타내는 것이다. 구두점은 상위 개념을 나타내고, 이러한 상위 개념이 구성 중에 있다는 것을 나타낸다.
구두점이 상위 개념을 정의하는 긴 텍스트 문자열을 나타낼 수 있다는 생각이 직관적이지 않기 때문에, 여기에 예가 제공된다. 반복 부호(ditto mark)가 어떻게 기능하는지를 이미 알고 있다는 점에서 반복 부호가 정보를 주는 것으로 생각하자.
2개의 어포스트러피('')로 이루어지는 반복 부호는 상기 항목이 반복될 것임을 나타낸다. 이는 명백히 생략부호를 나타낸다.
Figure pct00062
반복 부호가 어떻게 생략부호를 나타내는지는 알기 쉽다. 콤마와 같은 다른 구두점 모두도 역시 생략부호를 나타낸다는 것을 이해하는 것은 약간 더 어렵다.
언어의 성질은 그것이 요소들의 1차원 문자열일 것을 요구한다. 상기 테이블에서의 반복 부호를 콤마로 대체하면, 다음과 같이 1차원 텍스트로 만들어질 수 있다.
Figure pct00063
Figure pct00064
이는, 요소들의 순서를 변경하지 않고 테이블 형태로 되돌려 놓으면, 다음과 같이 보일 것이다.
Figure pct00065
이것은 콤마가 반복 부호의 쌍처럼 기능하고 "the atomic weight of"을 나타낸다는 것을 보여준다.
가장 간단한 경우의 생략부호에서, 소유격의 어포스트러피는 다음과 같이 누락된 글자를 나타낸다.
Figure pct00066
Figure pct00067
다른 예에서,
Figure pct00068
통사론 레벨에서, 콤마는 긴 문자열 전체를 나타낸다. "In the interests of economy of words skilled speakers leave out ." 콤마의 역할은 따라서 다른 관점에서 생략부호 마커로 볼 수 있다.
따라서, 콤마는 구성 중에 있는 상급 또는 상위 복합 개념을 나타낸다. 각각의 멤버 개념, 하위 개념 및 성분 개념이 차례로 그에 조인된다.
이 다음 예에서, "There was a king , a queen and a beautiful princess ." 텍스트 문자열 "a king, a queen and a beautiful princess"에 의해 명명되는 그룹 개념이 먼저 구축될 수 있고, 이어서 "there was"가 그에 관계될 수 있다.
그룹 개념 구성이 상기한 바와 같이 빌더(1103)를 사용하여 다음과 같은 방식으로 행해질 수 있다: 먼저 임의적인 개념 ID#, 말하자면, and34를 최종 상위 그룹 개념에 할당한다. 이어서 개념 a beautiful princess을 다시 개념 and으로 마우스 드래그하여 개념 and a beautiful princess을 만든다. 개념 구축 프로그램(1103)은 다음과 같은 새로운 조인 행을 생성하여 데이터베이스에 추가한다.
Figure pct00069
이제 개념 a queenand34, 즉, 개념 a king , a queen and a beautiful princess,으로 드래그하여 다시 그룹 개념 and34을 얻는다. 이러한 추가는 데이터베이스에 새로운 조인 행을 생성함으로써 행해질 수 있다.
Figure pct00070
최종적인 완전히 차별화된 그룹 개념 and34는, 최종 개념 and34, 즉 a king, a queen and a beautiful princess을 만들기 위해, 여전히 개념 a king이 그에 조인될 것을 필요로 한다. 이러한 추가는 데이터베이스에 새로운 조인 행을 생성함으로써 행해진다.
Figure pct00071
이러한 조인 행들 중 첫번째 것에서, 개념 the king이 명확한 최종 개념 and34에 조인되다. 두번째 조인 행에서, the king이 단축된 개념 and34를 나타내는 콤마에 조인된다. 두번째 조인 행의 기능은 파서(1110)가 콤마를 만날 때 이 문맥에서 콤마를 정확하게 해석할 수 있게 하는 것이다.
파서가 텍스트 문자열 "a king, a queen and a beautiful princess"을 파싱할 수 있게 하도록 조인 행이 하나 더 필요하다.
Figure pct00072
"A, B, C, and D" 또는 "A, B, C, D, E, and F"와 같은 보다 긴 표현에 의해 명명된 유형의 그룹에서와 같이 그룹에 더 많은 멤버 개념을 추가하기 위해, 최종 그룹 개념 ID#에 그를 조인시키는 조인 행을 생성함으로써 각각의 새로운 그룹 멤버 개념이 추가된다.
이것은 "and" 유형 그룹 개념을 구성하는 방법이다. "or" 유형 그룹 개념은 생성된 조인 행에서 개념 "and"를 개념 "or"로 대체함으로써 정확히 동일한 방식으로 구성된다.
이러한 절차는 본 명세서에 기술된 시스템 및 방법에서 구현될 수 있는 2가지 중요한 프로세스를 설명한다. 1. 구두점이 개념에 조인될 때마다, 실제의 개념 ID#가 그를 나타내는 구두점을 대체하는 제2의 똑같은 조인 행이 생성될 수 있다. 2. 많은 부분들을 갖는 복합 개념이 구축되고 있을 때마다, 임의적인 최종 개념 ID#가 부분들이 조인될 수 있는 복합 개념에 미리 할당될 수 있다.
구두점이 성분 개념이 삽입되어야 하는 곳, 즉 구두점을 나타내고 있지만, 콤마에 조인될 개념을 명명하는 문자열이 항상 명백한 것을 아닐 수 있다. 단지 어느 개념을 복원해야 하는지를 이해하는 것, 입력 텍스트 문자열을 분해하는 것은 항상 제2 사람의 임무이지만, 컴퓨터는 현재 그 일을 잘하지 못한다.
이 단점을 처리하기 위해, 사람 설치자는 개념 구성시에 개념-생략부호의 실제의 개념 ID#를 제공함으로써 각각의 경우에서 구두점의 정확한 의미를 나타낼 수 있다. 구두점을 이전의 구에 바짝 붙이는 것은 그 구의 개념과 삽입된 개념 간의 밀접한 조인을 명시한다. 이 관계는, 제1 개념의 개념 ID#가 구두점 개념에 조인되어 복합 개념을 생성하는 경우에, M5에서 조인 행에 의해 모델링될 수 있다. 이어서, 구두점이 구두점이 의미하는 개념의 명확한 개념 ID#으로 대체되어 정확하게 동일한 복합 개념을 생성하는 경우 중복된 행이 생성된다. 이것에 의해 파서(1110)는, 제1 사람에 의해 구두점이 사용되든 부개념을 정의하는 전체 텍스트가 사용되든 간에, 복합 개념의 동일한 정확한 개념 ID#을 획득할 수 있다. 텍스트에서 단축된 개념을 조인 테이블로 명확하게 복원하는 이 방법을 사용하여, 임의의 텍스트의 정확한 전체 의미를 포착하는 것이 가능하다.
이하에서 단락 개념의 설명에서 설명하는 바와 같이, 각각의 문장의 끝에 있는 마침표는 전체 단락의 생략부호를 나타낸다. 이러한 상황을 모델링하는 각각의 행에서, 관찰 개념 ID#는 마침표 개념 ID#와 조인하여 단락 개념 ID#을 생성하고, 중복된 행에서, 관찰 개념 ID#는 단락 개념 ID#와 조인하여 단락 개념 ID#을 생성한다.
구두점의 기능은 미묘하고 강력하다. 어느 경우든지, 임의의 것을 서로 다른 방식으로 해석하는 것이 가능할 수 있다. 이하에서 관찰 개념의 설명에서 설명하는 바와 같이.
콤마의 경우, 콤마가 나타내는 상위 개념은 그의 자연적 의미를 보유한다. 다른 구두점들은 더 많은 것을 하며, 구두점들이 개념이 삽입되어야 하는 지점을 표시하는 반면, 더 나아가 그들이 표현하는 상위의 의미를 얼마간 특별하게 돌려 말한다. 서로 다른 구두점이 삽입되는 개념에 영향을 미치는 문자열의 의미를 변경한다. 예를 들어, 콜론은 그의 삽입을 다른 단어들로 된 동일한 것으로서 분류하는데, 예를 들어, "he released the news with this result: the stock went down." 여기서, 콜론은 the stock went down이 result라는 것을 나타낸다. a? 개념에 대한 조인은 개념을 질문으로 만든다. a! 개념에 대한 조인은 개념을 어조가 강한 또는 큰 소리를 내는 개념으로 만든다.
c. 조어를 생략부호 마커로서 관리
i. 서론
조어는 "it"와 "from," "as"와 "that"과 같은 언어의 짧은 단어이다. 계속하여 보충되는 수십만개의 어휘 단어의 목록과는 달리 영어에는 몇백개의 조어들로 된 고정된 집합이 있다.
현재의 언어학 문헌은 조어가 어떻게 기능하는지에 대한 만족할만한 통일된 이론을 갖지 않는다.
이하의 예들은 아주 짧은 조어가 어떻게 아주 복잡한 개념을 의미할 수 있고 따라서 느린 언어 채널에 뛰어난 데이터 압축을 제공하는지를 보여준다. 표시된 지점에 개념 생략부호의 이러한 재삽입을 위해, 질문은 종종 제2 사람이 어느 부개념이 재삽입되는지를 정의하는 문자열을 어디에서 찾는지로 된다. 종종, 문자열은, 바로 그곳에 텍스트에 그에 대한 공백이 있는 경우, 조어 바로 다음에서 발견된다. 상기 예들에서, 문자열은 동일한 문장에서 좀더 일찍 나온 다음에 반복되었거나, 삽입 지점 직후에서 발견되었다. 때때로, 구두점 또는 조어의 지점에 삽입될 텍스트가, 인칭 대명사에서와 같이, 텍스트에서 앞쪽에 있는 별도의 문장에서, 전방 조응(anaphora) 또는 텍스트에서 뒤쪽에, 후방 조응(cataphora)으로 발견되고, 때때로 텍스트에서 전혀 발견되지 않으며 제2 사람의 지식으로부터 구성되어야만 한다.
컴퓨터가 텍스트를 파싱하는 것에 대한, 또한 사람 독자에 대한 문제점은, "do"와 같은 많은 단어들이 이러한 복잡하고 다양한 의미를 갖기 때문에, 모든 의미가 어떻게든 어딘가로부터 검색되어야 하고 그의 포함된 개념이 관리되어야 한다는 것이다. 이것은 어쩌면 컴퓨터 의미론 및 자연어 처리의 분야에서 연구자들을 50년 동안 실패하게 한 걸림돌이다. 이 분야에서의 거의 모든 프로젝트가 사람의 마음의 작용을 흉내내려고(예를 들어, 그림으로 생각하려고) 시도하였으며, 모두가 휠씬 미치지 못하였다. 50-100년이 지나야 이러한 에뮬레이션이 실용화될 것이다.
조어는 구두점과 아주 유사하게 기능하지만, 모두가 텍스트로부터는 빠져 있지만 M5에는 재삽입되어 있는 개념을 돌려 말한다. 복원될 개념이 특별해야만 할 때, 조어가 구두점 대신에 사용된다. 재삽입된 개념에 돌려 말하기가 적용될 때 조어가 사용된다. 예를 들어, "Henry travels TO South Boston"에서, TO는 동사 개념 travels에 바짝 붙여 있는 마커 개념이며, 형용사가 명사의 의미에 영향을 주는 것처럼 그의 의미를 수식한다. 그러나, TO는 그의 목적어 개념 South Boston에 특별한 목적지 의미를 추가한다. TO는 South Boston 목적지의 관념을 travels에 추가하여 travels에 특별한 의미를 부여한다. "Henry travels FROM South Boston"에서, FROM은 South Boston의 관념을 시작점으로서 개념 travels에 추가한다. "as well as," "as to" 등과 같은 조어는 그 자신의 특유한 방식으로 이들이 나타내는 개념의 의미를 미묘하게 변경한다. 조어는 그 자체로는 거의 의미가 없지만, 조어가 대체하는 텍스트 문자열 생략부호를 돌려 말한다는 점에서 그들의 의미가 전혀 없는 것은 아니다.
ii. 이중어 조어
조어의 특별한 경우가 "if ... then ... ," "so ... that ... ," "less ... than ... ," "more ... than ... "과 같은 이중 조어이며, 이들은 텍스트에서 수식어에 의해 분리될 수 있다. 이들은 언어 텍스트에 의해 정의되는 점점 더 복잡해지는 개념에서 명확한 지점에 서로 특정의 정의된 관계를 갖는 2개의 개념을 삽입하는 것을 가능하게 한다.
iii. 접속사
2개의 관찰 개념이 관계를 맺고 있을 때, 이들은 서로에 맞게 적응한다. 접속사는 제2 관찰과의 관계가 제1 관찰 개념에 부여하는 개념적 내용을 고르는 조어이다. 접속사는 인과성, 함축, 함의, 연역 등의 모델링을 가능하게 한다.
iv. 직시 및 지시사
단어가 새로운 문맥에서 그의 지시대상을 변경하는 현상을 "직시(deixis)"라고 한다. 이것은 언어학자들이 "지시사"라고 부르는 특정의 조어에 대한 설명으로 이어지며, 이 지시사의 현재의 지시대상 문자열이 국소 텍스트에서는 명확하지 않고 읽는 사람에 의해 연역되어야만 한다. 본 명세서에 기술된 시스템 및 방법에서, 각각의 조어에 의해 표시된 정확한 지점에서의 전체 개념이 명확하게 삽입될 수 있다.
조어는 보통 사용될 때마다 완전히 다른 의미를 갖는다. 지시대상 개념을 정의하는 데 종종 긴 텍스트 문자열이 필요할 수 있다. 표시된 지점에 이러한 삽입을 위해, 질문은 종종 어느 부개념을 삽입할지를 정의하는 문자열을 어디에서 찾을지로 된다. 그들의 의미가 인접 텍스트에서 제공될 수 있거나 그렇지 않을 수 있다. 종종, 문자열은, 바로 그곳에 텍스트에 그에 대한 공백이 있는 경우, 조어 바로 다음에서 발견된다. 때때로, 구두점 또는 조어의 지점에 삽입될 텍스트가 발견되거나, 인칭 대명사에서와 같이, 텍스트에서 앞쪽에(전방 조응) 또는 텍스트에서 뒤쪽에(후방 조응) 있다. 때때로, 텍스트에서 전혀 발견되지 않고, 제2 사람의 지식으로부터 구성되어야만 한다.
동일한 단어가 각각의 새로운 문맥에서 다른 개념을 말할 때 직시의 현상이 일어난다. 고전적인 직시어는 인칭 대명사 I, HE, SHE 등이다.
직시는 자연어 파싱 프로그램에 주요 과제를 제시한다. 텍스트를 파싱할 때, 주어진 경우에 모든 직시어 단어의 정확한 지시대상을 결정하는 방법을 갖는 것이 필수적이다. 본 명세서에 기술된 시스템 및 방법에서, 이것은 각각의 경우에서 각각의 직시어가 말하고 있는 정확한 개념을 명확하게 제공함으로써 달성된다.
제2 견해는 일반적으로 언어학자가 인칭 대명사 조어와 같은 특정의 조어에 항상 어떻게 접근했는지이다. 이들은 서로 다른 문맥에서 사용되는 각각의 경우에 변하게 되는 "he" 및 "you"와 같은 단어의 "지시대상"을 식별하는 것에 관해 말한다. 이것은 언어학자들이 "지시사"라고 부르는 특정의 조어에 대한 설명으로 이어지며, 이 지시사의 현재의 지시대상 문자열이 텍스트에서는 국소적으로 명확하지 않고 연역되어야만 하는데, 즉 현재의 데이터에 알고리즘을 적용함으로써 획득되어야만 한다.
따라서, 각각의 경우에 각각의 직시어가 말하는 정확한 개념이 중복된 조인 행으로서 테이블에 추가될 수 있고, 이 경우 직시어가 직시어의 지시대상 개념의 명확한 개념 ID#로 대체된다. 예를 들어, 한정적 문장 "His theory makes no sense"에서, 파서는 이 조인 행을 필요로 할 것이다.
Figure pct00073
그러나, "It makes no sense"가 보다 명확한 한정적 문장 대신에 사용되는 경우, 파서는 이 조인 행을 필요로 할 것이다.
Figure pct00074
이들 행 둘다가 보통 서로 이웃하여 제공될 수 있다. 이러한 행의 쌍은, 대명사 및 기타 직시어 참조를 수용하기 위해, M5 데이터베이스 전체에 걸쳐 볼 수 있다.
언어학자들은 일반적으로 직시를 제한된 수의 소위 직시어 영어 단어, 즉 인칭 대명사(he, she, you 등), 의문 대명사(who, what, which, when, where, how, why, how much), 지시 대명사(this, that, these, those 등)로 한정되는 것으로 생각한다. 이러한 짧은 조어 단어는 서로 다른 경우에서 서로 다른 개념을 말한다. 이들은 값이 변하는 대수의 x,y 변수와 동등한 반면, 어휘 단어는 값이 주어진 문맥에서 일정하게 유지되는 대수 상수(algebraic constant) a, b, c와 같다. 이러한 짧은 단어들이 종종 정의하는 데 긴 문자열을 필요로 하는 지시대상, 즉 전체 문장 및 심지어 단락을 갖는 것을 고려할 때, 언어에서의 조어의 목적은 즉각 명백하게 된다. 자연 형태의 데이터 압축이 복잡한 지식을 더 적은 수의 단어로 전달될 수 있게 한다.
v. 삽입할 문자열 찾기
직시를 보는 다른 방식은 모든 단어가 생략부호를 나타내는 것, 텍스트에 무언가 빠져 있는 것, 종종 큰 복합 개념인 누락된 개념이, 직시어의 자리를 차지하고 있는 경우, 중복된 조인 행으로 테이블에 추가되어야 한다는 것으로 아는 것이다.
직시어의 기능은 단지, 정의하는 텍스트가 종종 제공되는 개념인, 복합 개념이 배치되어야 하는 곳을 정확하게 찾아내는 것이다. 문제점은 다른 경우들에 단지 그 개념이 무엇이 되어야 하는지를 이해하는 것이다. 상기 예들에서, 문자열은 동일한 문장에서 일찍 나온 다음에 반복되었거나, 삽입 지점 직후에서 발견되었다. 직시어의 지시대상은 조어 직후에 텍스트에서 명확할 수 있지만, 텍스트에서 일찍 제공(전방 조응)되거나 나중에 제공(후방 조응)될 수도 있다. 때때로, 지시대상 생략부호 표현이 문장의 끝에 별도로 있으며, 이 경우 그에 대한 여지가 있을 수 있는데, 예를 들어, "I never thought it would come, the day of reckoning". 여기서, "it"는 "the day of reckoning"을 나타낸다. 상기 wedding 예에서, "do"의 의미를 정의하는 텍스트가 이전의 질문에서 제공되었다. 때때로, 단축된 표현이 텍스트에 전혀 제공되지 않으며, 읽는 사람/듣는 사람이, 예를 들어, "행간을 읽어 냄으로써" 그것을 이해해야만 한다. 어느 경우든지, 생략부호는 M5 작성자에 의해 M5에서 명확하게 되어야만 한다.
언어에서, 직시어 대명사는 종종 한정적 문장의 주제의 전체 텍스트 대신에 사용되며, 이는 파서에게 문제가 될 수 있다. 임의의 지식 도메인 M5 테이블에서, 몇가지 조인 행 인스턴스가 있을 수 있다.
Figure pct00075
그러나, 설치자는 조인행이 다음과 같다는 것을 확인해야만 한다.
Figure pct00076
주어 개념 he가 동일한 동사와 또다시 조인되는 경우, 그것이 그 동일한 동사 행동 및 관찰의 다른 경우라는 것을 나타내도록 관찰 개념에 표시되어 있어야만 한다.
Figure pct00077
언어는 단어 "too" 또는 "again"을 동사구에 추가함으로써 이 상황을 처리한다. "He found a parking place"와 "he found a parking place too (2)"는 다른 관찰에서 다른 he라는 것을 나타낸다.
d. 생략부호의 처리
생략부호와 직시는, 직시어가 사용자에 의해 사용되거나 당연히 이용되는(즉, 사용자의 입력 텍스트에서 파싱되어 있어야만 하는) 모든 경우에, 명시적으로 직시어의 지시대상을 제공함으로써 처리될 수 있다. 이것은 전체 개념 ID# 대신에 직시어 개념을 이용하는 임의의 조인 행을 복제함으로써 행해질 수 있다. 원래의 행이 직시어의 개념 ID# 단어를 다른 개념에 조인시켜 생성물 개념을 생성하는 경우, 중복 행은, 조인이 동일한 개념 생성물을 얻도록, 직시어의 지시대상의 실제의 개념 ID#를 사용할 수 있다. 따라서, 조인에서 실제의 개념 ID# 대신에 직시어가 특정의 문맥에서 사용되는 경우, 정확한 생성물 개념 번호가 발생될 수 있다.
따라서, 각각의 조어의 목적은 구축 중인 복합 개념에 조인되어야 하는 개념을 나타내는 것이다.
여기에 정교한 면역 지식을 보유하도록 구성된 특수한 제5 매체 데이터베이스를 조회하면서 실행되는 프로그램의 실제의 예가 있다. 이 실제의 교환은 직시어 these 및 they의 정확한 지시대상을 식별하는 프로그램을 보여준다.
Figure pct00078
Figure pct00079
다른 방식으로 질문됨.
Figure pct00080
더 깊게 조사함
Figure pct00081
상기한 중복 행 방법을 사용하여, 파서는 이 직시어들 모두가 개념 CD4 + T cell populations depleted of regulatory T cell subsets를 말한다는 것을 정확하게 알 수 있다.
i. 로컬 검색
질문이 다음과 같이 어떤 특정의 개념 이름도 없이 단지 직시어로만 이루어져 있는 경우, "Who did what?", "What happened then?", 그리고 "So?", 파서가, 각각의 경우에, 어느 관찰이 문제의 관찰인지를 인식하고 있을 필요가 있다.
텍스트의 문장들을 순서대로 읽는 사람 독자는 지금 읽고 있는 문장이 관심의 문장이고 "he," "it," 또는 "that"과 같은 대명사의 지시대상 개념을 해결하거나 "When?" 또는 "Why?"와 같은 단일 단어 질문에 대답하는 데 별문제가 없을 것이라는 것을 알고 있다는 점에서 이점이 있다. 그러나, 관심의 정보가 지식 도메인에서 아무곳에나 있을 수 있는 경우 랜덤하게 질문된 질문에 답변하는 것은 어느 관찰 개념이 관심의 정보를 포함하고 있는지를 판정하는 것을 필요로 한다. 따라서, 텍스트 입력만의 간결한 직시어가 입력되는 경우에도, 파서가 정확한 관찰 개념에 로크할 수 있게 하는 적어도 하나의 조인 행 형태의 후크를 제공함으로써, 그것이 성공적으로 파싱될 것이라고 보장되어야만 한다.
예를 들어, 술어 개념은 이 점에서 아주 유용하다. 임의의 특정의 술어 텍스트가 용이하게 파싱될 수 있고 그의 개념 ID#가 획득될 수 있다. 대부분의 지식 도메인에서, 특정의 술어 개념은 단지 하나의 관찰 개념의 멤버 개념일 것이다. 이는 그 관찰에 "특유한(pathognomic)" 것이다. 그를 만나면, 파서는 어느 관찰을 처리할 것인지를 알 것이다. 이 경우에, 설치자는 술어 개념 ID#를 관찰 ID#로 안전하게 편집할 수 있으며, 따라서 파서가 그 술어를 파싱할 때, 파서는 관찰 ID#를 획득할 것이다.
e. 문제의 관찰에 초점 맞추기
텍스트로부터 나오는 지식 도메인 소스의 작은 부분을 생각해보자. "Harry did board the bus, it did arrive on time and Harry did meet Jane." 다음과 같은 대화를 생각해보자.
Figure pct00082
이 "Did he?"는 "Did Harry meet Jane?", 즉 질문 개념 Q32와 동일한 질문이다. 파서가 이 "Did Harry meet Jane?" 또는 "Did he meet Jane?"를 파싱하기 위해서는 파서가 다음과 같은 조인으로 M5 테이블을 조회할 수 있어야 할 것이다.
Figure pct00083
질문 개념 Q32 행에서의 응답은 "Yes, Harry did"일 것이다.
파서가 이 "Did he?"를 파싱하기 위해서는 다음과 같은 조인 행이 M5 테이블에 있어야 할 것이다.
Figure pct00084
그러나, 매번마다 다른 생성물 개념을 생성하는 이러한 동일한 2개의 직시어 사이의 조인의 많은 경우들이 데이터베이스에 있을 수 있다. M5 테이블의 다른 부분에서, 다른 "Did He?" 질문을 처리할 수 있기 위해, 다음과 같은 행이 있다고 해보자.
Figure pct00085
파서가 올바른 Didhe ~ ? 행을 어떻게 찾아야 하는가? 그것은 단지 상기한 것과 같은 대화의 문맥에서 행해질 수 있다. 예를 들어, 파서가 문맥을 모니터링한 다음에 전역적으로 검색하지 않고 처리된 마지막 관찰에 가까운 테이블의 부분에서 로컬적으로 검색하도록 구성될 수 있다. 이것을 처리된 마지막 관찰의 아주 가까운 영역에서 적법한 조인의 로컬 탐색이라고 할 수 있다.
예를 들어, 문제가 청색으로부터 나오는 경우, 파서는 특정의 조인이 그곳에 있는지를 알아보기 위해 다음과 같은 순서로 테이블을 검색할 수 있다: 먼저 문장에서 검색을 한 다음에 전역적으로 검색을 한다.
f. 생략부호 마커로서의 어휘 단어의 관리
어휘 단어, 즉 명사-동사 결합, 형용사 및 부사는 감각 또는 지성과 유사한 감각 패턴을 제공한다. 어휘 단어는 또한 어휘 단어의 사전 정의인 생략부호가 삽입될 수 있는 지점을 표시한다. 어휘 단어를 파싱하는 사람의 마음은, 이용가능하다는 것을 확신하여, 그 순간에 의식에서 그 전체 정의를 경험할 필요가 없다. 어휘 단어는, 필요한 경우 일종의 정신적 사건 탐색에 의해 제2 사람이 그의 기억으로부터 어휘 단어의 생략부호를 획득할 수 있을 것으로 확신하는, 화자에 의해 전달되었다. 이것은 어휘 단어가 제2 사람에 의해 "이해"될 것으로 확신하는 것과 동일하다. 발화 내의 단어 "theft"는 "taking another's property stealthily without their permission with the intent of keeping it" 등의 생략부호의 삽입을 명시할 수 있다. 이러한 긴 문자열이 제2 사람에 의해 이해되기 때문에, 텍스트에서 이 정의를 명확히 할 필요가 없다.
"theft"의 경우에, 빌더는, 예를 들어, 입력 문자열의 두문자어인 개념 ID#을 갖는 행을 데이터베이스에 생성하도록 구성될 수 있다: TAPSWTPWTIOKI. 이어서, 관리자는 이 긴 두문자어 개념 ID#를 theft로 편집할 것이다. 이어서, 화자가 그 긴 문자열 또는 적법한 부연을 사용할 때마다, 파서 프로그램은 그것을, 어휘 단어 "theft"의 파싱이 생성하게 될 동일한 개념 ID#인 개념 theft로 축소시킬 것이다. 따라서, 서로 다른 부연이 동일한 개념 ID#에 조인되도록 보장된다. 부연 매칭이 데이터베이스의 수동 편집에 의해 또는 그것을 자동으로 행하는 프로그램을 사용하여 행해질 수 있다.
따라서, 어휘 단어의 기능은 다른 2 종류의 텍스트 요소, 조어 및 구두점과 기능과 본질적으로 동일하고, 이들은 생략부호가 삽입되어야 하는 지점을 표시한다. 다시 말하지만, 데이터 압축을 위해, 느린 언어 의사소통 채널을 보다 효율적으로 만든다.
g. 언어 요소들의 현재 의미의 결정
제2 사람은 그 특정의 경우에서 단어의 문맥을 고려함으로써 임의의 경우에 의미되는 단어의 의미를 결정한다. 이것이 사람에게는 쉽지만, 컴퓨터가 이 사람의 기능에 필적하게 만들려고 노력하는 인지 과학자 및 자연어 연구자에게는 심각한 문제였다. 프린스턴에서의 Wordnet 데이터베이스의 개발과 같이, 서로 다른 문맥에서 어휘 단어의 의미를 결정할 수 있는 프로그램 및 데이터베이스에 대한 엄청난 노력이 현재 진행 중이다.
단어가 많은 의미를 가질 수 있는 것과 같이, 동일한 카멜레온 특성이 똑같이 개념에 적용되며, 그의 ID#에 의해 식별된 특정의 개념이 다른 개념 이웃에서 자리를 차지하고 있을 때 아주 다른 의미를 가질 수 있다.
본 명세서에 기술된 시스템 및 방법에서, 개념의 의미가 그와 결합하는 이웃하는 개념들의 환경에 의해 결정되기 때문에, 그와 이웃 간의 조인의 생성물 개념의 ID#를 제어함으로써 의미가 "결정"될 수 있다.
임의의 어휘 동사가 문맥에 따라 많은 의미 차이를 가질 수 있다. 예를 들어, 동사 "swing"을 생각해보자. 개념 swing의 감각 패턴이 다음과 같은 개념들 각각에서 미묘하게 변한다: "He swings a baseball bat," "he swings his left arm," he swings his right arm" 등. 이것은 액식 어법 "brush your teeth and hair"에 의해 극적으로 보여준다. brush의 의미, 개념 brush, "brush" 감각 패턴 자체가, 더 이상 개념 hair와 관계를 가질 수 없다는 개념 teech에 대한 그의 관계에 의해, 아주 두드러지게 변하였으며, 이는 개념 brush의 다른 변형을 필요로 한다. 이것은 우리의 마음에서의 충격 효과(jarring effect)에 의해 표시된다.
미묘한, 정확하게 계산하기 거의 불가능한 brush 개념 ID#의 조정에 의해 개념 brush의 의미의 변화를 추적하려고 시도하는 것보다는, 본 명세서에 기술된 시스템 및 방법은 생성물의 개념 ID#를 고정시킴으로써 동일한 목적을 달성한다. 개념 brushyourhair가 고정된 의미를 가지며, 이는 이 ID#를 발생하는 데 필요한 brush의 정확한 의미 차이를 선택하도록 다시 반영된다.
따라서, 개념 ID#는 개념의 서로 다른 의미 차이를 반영하도록 변화되지 않으며, 힘든 수동 작업이 주관적인 결정으로 가득차있다. 오히려, 이 부개념이 멤버인 상위 개념의 개념 ID#가 그의 사용의 각각의 경우에 그의 의미를 관리하는 데 사용된다. 그의 이웃 개념과 조인하는 경우에 조인 행의 생성물 개념의 개념 ID#를 제어함으로써, 그 개념의 정확한 의미가 선택된다. 예를 들어, 액식 어법 "brush your teeth and hair"으로부터의 2개의 조인 행.
Figure pct00086
말하자면, brush1 and brush2과 같이 brush의 ID#의 미세한 조정을 사용할 필요 없이, 각각의 경우에 개념 brush가 갖는 의미의 차이를 개념 brush에 정확하게 부과한다.
다른 예로서, 다음과 같은 문장을 생각해보자.
Figure pct00087
Figure pct00088
Figure pct00089
이 2개의 조인 행 - 첫번째 것은 개념 SI (steam iron)를 동사 상황에 놓고, 두번째 것은 SI (steam iron)를 주어 상황에 놓음 - 은 SI (steam iron)의 서로 다른 의미가 보호되도록 한다.
언어의 모든 요소들이 서로 다른 문맥에서 그의 의미를 변화시키며, 심지어 어휘 단어도 그렇게 한다. 대부분의 어휘 단어는 서로 다른 문맥에서 서로 다른 의미를 갖는다. "brush your teeth and hair" 액식 어법은 어휘 단어의 의미가 무한히 변할 수 있다는 것, 즉 문맥에 따라 변한다는 것을 암시한다. 그러나, 어휘 단어가 특정의 문장에서 사용되면, 그 어휘 단어는 완전히 차별화된 의미를 이미 획득하였다. 따라서, 직시를 보는 다른 방식은, 언어에서의 보다 일반적인 현상으로서, 지시사에 뿐만 아니라 언어의 모든 요소들, 즉 어휘 단어, 구 및 구두점에도 적용하는 것이다.
8. 복합 개념을 구축하는 대화형 그래픽 방법.
본 명세서에 기술된 시스템 및 방법을 사용하여, 상기한 것과 같은 복합 개념을 표현하는 개념 트리가 그래픽 표현을 사용하고 이를 드래그 앤 드롭 절차에 의해 조작함으로써 구성될 수 있다. 부개념들 전부를 표현하는 텍스트 라벨을 갖는 그래픽 블록을, 예를 들어, 마우스를 사용하여, 드래그함으로써, 개념 빌더는 부개념들이 어디에서 병합하여 의미있는 복합 개념을 구성하는지를 아주 신속하게 나타낼 수 있다.
이러한 그래픽 표현은 교육자가 좋은 작문을 가르치는 데 사용될 수 있는데, 왜냐하면 문장의 문학적 간결함과 그의 그래픽 트리 표현의 그래픽적 간결함 간에 밀접한 대응관계가 있기 때문이다. 예를 들어, 작가의 작품의 샘플이 그래픽적으로 렌더링되는 경우, 이는 그의 산문이 얼마나 "명료"하고 얼마나 "간결"한지를 즉각 보여줄 것이다. 헤밍웨이 작품과 같은 작문 스타일은 특징적 그래픽 패턴을 즉각 그래픽적으로 식별가능하게 할 것이다.
라벨이 있는 개념 트리가 구축되면, 간단한 프로그램은 트리가 포함하는 지식을 자연어로 출력할 수 있다. 따라서, 작가가 특정의 주제와 관련된 부개념들의 사전에 쉽게 접근할 수 있는 경우, 그는 복잡한 관념을 구성하기 위해 관련 개념들을 연결시킴으로써 몇번의 드래그 앤 드롭 동작으로 주제에 관하여 아주 빠르고 정확하게 글을 쓸 수 있다.
조어는 분기 개념이 어디에 삽입되어야 하는지 어떤 부개념이 분기에 있어야 하는지를 정확하게 명시한다. 이것은 복합 개념의 정확한 구조를 나타내는 아주 정확한 그래픽이 렌더링될 수 있게 한다.
애니메이션 그래픽의 사용이 사건 또는 행동을 묘사하는 데 유용하다. 애니메이션 그래픽의 사용은 또한 유머의 분석에도 유용하다.
9. M5 지식 베이스로부터의 정보 추출
M5로 구성된 지식은 텍스트로서 저장된 동일한 지식과 아주 다른 값과 특성을 갖는데, 그 이유는 모든 단축된 개념, 인유 및 은유의 지시대상, 및 통상적으로 텍스트로부터 제외되는 어휘 단어 정의를 명확하게 포함하기 때문이다.
M5는 지식 도메인에 모든 개념들과 그들 간의 관계에 관한 구체적인 정보를, 각각의 개념에 관한 원하는 만큼의 메타데이터와 함께, 열거한다. 따라서, M5는 도메인에서의 지식의 더 풍부하고, 더 조밀하며, 더 포괄적인 표현인데, 그 이유는 언어에서 제외된 모든 개념들, 즉 어휘 단어 개념, 개념-생략부호, 인유, 및 은유의 의미가 다시 추가되어 있기 때문이다.
지식 도메인의 모든 명시적 및 암시적 개념이 Database Stored Knowledge 또는 그의 임의의 부분 또는 메타데이터 마커에 의해 정렬된 부분들의 선택된 합성 등과 같은 조인의 트리에 설치되어 있는 경우, 적당히 내장된 그래픽과 함께 언어 매체로 프로그램적으로 전달될 수 있다. 이것이 가능하게 되는 이유는 소스 콘텐츠가 텍스트가 아니라 관념이기 때문이다.
따라서, 비교적 간단한 컴퓨터 프로그램은 지식 도메인의 M5 포맷 버전을 읽고 거기에 있는 개념들을 이해하며 임의의 특정의 원하는 지식 항목을 자동으로 추출할 수 있다.
M5 데이터베이스는, 생략부호를 갖지 않기 때문에, 아주 유연하게 정렬 및 검색될 수 있고, 유의어 및 부연, 그리고 단어 정의에의 접근이 어떤 문제점도 야기하지 않으며, M5 정보 추출 방법은 언어 텍스트에 대한 키워드 검색보다 훨씬 더 강력하고 정확할 수 있다.
개념의 텍스트가 주어진 경우, 시스템(1102)의 통상적인 기능은 행 번호, 개념의 개념 번호를 반환하고 그 주소에 저장된 응답을 수행하는 것이다. 다른 유용한 추출 기능은 특정의 부개념이 관계되어 있는 모든 관찰 개념 또는 단락 개념을 찾아내고 목록 또는 그의 텍스트를 반환한다. 이것은 function S, (subconceptA)를 호출하거나 다음과 같은 입력 텍스트에 의해 호출될 수 있다: "Tell me all about A". 다른 추출 기능은 2개 이상의 부개념이 관계되어 있는 모든 관찰을 반환할 수 있다. 이것은 function S, (A, B)을 호출함으로써 호출될 수 있다. 이 동일한 추출 기능은 또한 다음과 같은 텍스트 입력으로 호출될 수 있다. "What has A got to do with B?" 또는 "Has A got anything to do with B?" 특정의 정보를 추출하기 위한 M5 데이터 구조에 대한 유사한 유형의 프로그램적 처리가 "What does A think about B?" 또는 "What did A do about B?"와 같은 입력 텍스트 프로브에 의해 트리거될 수 있다.
10. 개념 ID#를 "말하기"위한 말하기 알고리즘
임의의 개념에 대한 텍스트를 발생할 수 있는 것이 중요하다. 여기에 파라미터로서 개념 번호를 받고 그 개념을 의미하는 텍스트를 반환하는, 즉 그 개념을 말하는 기능이 있다. 이러한 기능은 루트 노드 개념 ID#에서 시작하도록 구성될 수 있고, 성분 개념 ID#의 정렬된 문자열과 최종적으로 텍스트 요소들, 즉 어휘 단어, 조어 및 구두점의 정렬된 문자열을 도출한다.
다음과 같이 말할 수 있다: 테이블에서 루트 개념 ID#를 탐색하고, 조인되어 그것을 만드는 2개의 성분 #를 갖는 문자열을 시작한다. 이들 중 첫번째 것을 탐색하고 이를 그의 2개의 성분 개념 ID#으로 순서대로 대체한다. 두번째 개념 ID#를 탐색하고 이를 그의 2개의 성분으로 대체한다. 이제, 이는 4개로 된 문자열이다. 다시 첫번째 번호에서 시작하고 이를 그의 성분들로 순서대로 대체한다. 다른 트리에 대해 이것을 행한다. 이제, 이는 8개의 개념 ID#로 된 문자열이다. 문자열이 부분을 갖지 않는 리프 개념 번호로 이루어질 때까지 이 프로세스를 계속한다. 이어서, 이들을 이들이 나타내는 텍스트의 요소들로 대체한다.
개념 번호들의 합성이 M5 데이터베이스 집합에 대한 검색 및 정렬 동작으로 즉각 발생될 수 있기 때문에, 개념 번호들의 이러한 합성이 상기 기능을 각각의 번호에 차례로 적용함으로써 "말해진다".
11. 개념이 존재하는 관찰(또는 단락) 개념 찾기
이러한 기능은 다음과 같이 실행되도록 구성될 수 있다: 순서 열에서 동일한 관찰 번호를 갖는 조인 열 행에서 그의 #를 탐색하고 이를 조인의 생성물 개념 ID#로 대체한다. #가 관찰 개념 ID# 또는, 원하는 경우, 단락 개념 ID#일 때까지 순서 열에서 동일한 관찰 #를 갖는 행에서 탐색을 계속한다.
특정의 개념이 참여하고 있는 테이블에서 모든 관찰을 찾는 기능은 다음과 같이 실행된다: 테이블의 모든 행의 조인 열에서 생성물 개념 ID#를 탐색한다. 대응하는 생성물 개념 ID#의 문자열을 만든다. 조인 열에서 이들을 차례로 탐색하고 문자열에 있는 각각을 그의 대응하는 생성물 개념 ID#으로 대체한다. 문자열 내의 개념 ID# 모두가 관찰 개념 ID# 또는, 원하는 경우, 단락 개념 ID#일 때까지 계속된다.
이러한 기능은 다음과 같은 질의를 처리하는 데 유용할 수 있다: "Tell me all about the role of human activity in climate change." 응답은 개념 the role of human activity in climate change이 성분 개념이었던 모든 관찰을 말하는 것이며, 이 개념이
a) 부연 또는 유의어에 의해 원래의 텍스트에 존재하거나,
b) 생략부호에 의해 텍스트에 없거나,
c) 원래의 텍스트의 어휘 단어 또는 구 중 하나의 정의에 존재하든 간에 관계없다.
이러한 합성들은 관련성, 중요성 및 개념 메타데이터의 현명한 사용에 의한 그룹화를 위해 자동으로 교묘히 조정되고 제거될 수 있다.
12. 2개의(또는 그 이상의) 개념이 관련되어 있는 관찰(또는 단락) 개념 찾기
이것은 "What has A got to do with B?"과 같은 텍스트 입력 질문에 의해 탐지될 수 있다.
13. 검색 기술에 대한 본 발명의 적용
"단어 내에서의 검색": 지식 도메인의 원래의 텍스트가 M5에 설치될 때, 어휘 단어는 원자적 개념으로서 취급될 수 있다. 어휘 단어 자체보다는 어휘 단어들 중 하나의 사전 정의의 용어들을 사용한 질문이 질문되는 경우, 질문의 의미를 도출할 수 있을 것으로 예상된다. 이 문제를 해결하기 위해, 어휘 단어 정의의 사전을 파서가 이용할 수 있게 할 수 있다. 각각의 사전 정의가 몇개의 표준 조인 행으로 이루어질 것이다. 예를 들어, 이하의 텍스트에서의 지식이 설치될 수 있다: "Tom robbed a bank, Dick committed burglary, and Harry committed theft." 약탈, 강도 및 절도의 정의가 제 위치에 있는 상태에서, 다음과 같은 질문이 제기되는 경우, "Did Tom take property that did not belong to him by force or threat with the intention of keeping it?," 파서는, 사전 정의 파일을 사용하여, 긴 문자열 "take property that did not belong to him by force or threat with the intention of keeping it"을 파싱해 개념 ID# robbery를 획득하여, 질문을 쉽게 처리될 수 있는 "Did Tom commit robbery?"으로 단순화시킬 것이다.
각각의 새로운 지식 도메인이 설치됨에 따라, 사용된 각각의 어휘 단어에 대한 정의가, 비록 아직 정의되어 있지 않지만, 적절한 일련의 조인 행을 통해 추가될 수 있다. 시간이 지남에 따라 광대한 사전이 개발되고 파서가 이용할 수 있게 될 것이다. 이것은 어떤 정의라도 한번만 생성되면 된다는 것을 의미한다. 새로운 지식 도메인이 이어서, 단지 이따금씩 정의 구성을 필요로 하는 경우에, 즉 새로운 어휘 단어를 만나게 될 때, M5에 설치될 수 있다.
파서에 서비스를 제공하여 M5에 저장된 지식에의 컴퓨터 액세스를 언어 텍스트에 저장된 지식에 대한 키워드 검색보다 우수하게 만들어주는 이러한 사전 파일은 선언적 지식 저장소로서의 텍스트에 대한 M5의 이점을 크게 증가시킬 것이다.
14. 개념의 검색을 가능하게 하기 위해 대규모 텍스트 코퍼스를 인덱싱하는 방법
개념 ID# 발생 시스템은, 코퍼스 내의 관심의 모든 개념들에 대해, 개념을 의미하는 텍스트 구 또는 표현이 나오는 모든 곳에 인접하여 텍스트에, 바람직하게는 숨겨져 있는, 두문자어를 삽입하도록 구성될 수 있다. 관심의 개념들의 이 목록은 보통의 책 색인의 목차와 거의 같을 수 있다. 그러면, 텍스트에서 언급되는 개념들의 페이지, 단락 및 문장 위치가 표준의 텍스트 검색 프로그램에 의해 용이하게 발견될 수 있다. 사용자는 개념을 정의하는 구의 두문자어를 발생한 다음에 검색 상자에 입력한다. 중간 매칭 테이블은, 텍스트 검색이 수행되기 전에, 사용될 수 있는 임의의 적법한 부연의 두문자어를 탐색된 개념에 대한 선호되는 두문자어로 변환한다. 대안으로서, 모든 적법한 두문자어가 문서 내의 적절한 위치에 있는 텍스트에 집합으로서 내장될 수 있다.
본 발명의 특정 실시예들에 대해 이상에서 기술하였지만, 기술된 실시예들이 단지 예에 불과하다는 것을 잘 알 것이다. 따라서, 본 발명이 기술된 실시예들에 기초하여 한정되어서는 안 된다. 오히려, 본 명세서에 기술된 발명의 범위는 이상의 설명 및 첨부 도면과 관련하여 고려해볼 때, 이하의 특허청구범위를 바탕으로 해서만 한정되어야 한다.

Claims (24)

  1. 컴퓨터와의 제한없는 자연어 의사소통을 가능하게 할 수 있는 컴퓨터에서의 지식 표현 시스템으로서,
    적어도 하나의 테이블을 저장하도록 구성된 데이터베이스 - 상기 테이블은 텍스트 문자열 내의 개념들과 연관된 개념 식별자들 간의 연관관계들을 저장하도록 구성됨 -; 및
    데이터베이스와 인터페이스하는 빌더 - 상기 빌더는 프로세스를 수행함으로써 텍스트 문자열에 의해 정의되는 지식을 표현하는 테이블을 구성하도록 구성됨 - 를 포함하며,
    상기 프로세스는,
    텍스트 문자열에 의해 정의되는 개념에 고유의 식별자를 할당하는 단계,
    개념을 부개념(sub-concept)들로 분해하는 단계,
    고유의 식별자를 각각의 부개념에 할당하는 단계,
    적법한 조인(legal join)들을 사용하여 부개념들을 상위 부개념들에 조인시키는 단계,
    고유의 식별자를 상기 상위 부개념들에 할당하고 상기 상위 부개념들이 조인하여 상기 개념을 형성할 때까지 상기 단계들을 반복하는 단계, 및
    개념, 부개념들, 상위 부개념들 및 고유의 식별자들을 상기 데이터베이스 내의 테이블에 저장하는 단계를 포함하는 시스템.
  2. 제1항에 있어서, 상기 개념은 관찰 개념이고, 상기 관찰 개념을 구성하는 단계는,
    주어 개념을 구성하고 고유의 식별자를 상기 주어 개념에 할당하는 단계;
    이음매(seam) 개념을 구성하고 고유의 식별자를 상기 이음매 개념에 할당하는 단계;
    상기 주어 개념과 상기 이음매 개념을 조인시키고 고유의 식별자를 이진(binary) 개념에 할당함으로써, 상기 이진 개념을 구성하는 단계;
    관계사 개념을 구성하고 고유의 식별자를 상기 관계사 개념에 할당하는 단계; 및
    상기 관계사 개념을 상기 이진 개념과 조인시키고 고유의 식별자를 제1 상위 부개념에 할당함으로써, 상기 제1 상위 부개념을 구성하는 단계를 더 포함하는 시스템.
  3. 제2항에 있어서, 상기 관찰 개념을 구성하는 단계는, 전치-수식어 개념을 구성하고 고유의 식별자를 상기 전치-수식어 개념에 할당하는 단계, 및 상기 전치-수식어 개념을 제1 상위 부개념과 조인시키고 고유의 식별자를 제2 상위 부개념에 할당함으로써, 상기 제2 상위 부개념을 형성하는 단계를 더 포함하는 시스템.
  4. 제2항에 있어서, 상기 관찰 개념을 구성하는 단계는, 후치-수식어 개념을 구성하고 고유의 식별자를 상기 후치-수식어 개념에 할당하는 단계, 및 상기 후치-수식어 개념을 상기 제1 상위 부개념과 조인시키고 고유의 식별자를 제2 상위 부개념에 할당함으로써, 상기 제2 상위 부개념을 형성하는 단계를 더 포함하는 시스템.
  5. 제1항에 있어서, 상기 고유의 식별자는 숫자 식별자들, 영숫자 식별자들, 난수들, 두문자어들(acronyms), 단어들 또는 문자들을 포함할 수 있는 시스템.
  6. 제1항에 있어서, 상기 빌더는 개념, 부개념, 또는 상위 부개념을 포함하는 각각의 단어의 첫번째 문자로부터 고유의 식별자를 구성하도록 구성되는 시스템.
  7. 제1항에 있어서, 상기 빌더는 부개념을 포함하는 단어로부터 고유의 식별자를 구성하도록 구성되는 시스템.
  8. 제1항에 있어서, 상기 텍스트 문자열은 어휘 단어들, 조어(grammatical) 단어들 및 구두점을 포함하고, 상기 빌더는 상기 어휘 단어들, 조어 단어들, 및 구두점 각각을 표현하기 위해 부개념을 발생하도록 구성되는 시스템.
  9. 제8항에 있어서, 빌더는 또한 상기 어휘 단어들, 조어 단어들 및 구두점을 표현하는 개념들을 적법하게 조인시킴으로써 상위 부개념들을 형성하도록 구성되는 시스템.
  10. 제1항에 있어서, 상기 테이블은 행(row)들을 포함하고, 각각의 행은 상기 개념들, 부개념들 및 상위 개념들과 연관된 고유의 식별자들 간의 관계를 포함하는 시스템.
  11. 제10항에 있어서, 상기 테이블의 각각의 행은, 각각의 개념, 부개념, 및 상위 개념에 대해, 메타데이터를 더 포함하는 시스템.
  12. 제11항에 있어서, 상기 메타데이터는 어휘 표현(해당되는 경우), 및 연관된 개념, 부개념 또는 상위 개념의 텍스트 표현을 포함하는 시스템.
  13. 제10항에 있어서, 상기 테이블의 각각의 행은, 각각의 개념, 부개념, 및 상위 개념에 대해, 응답(해당되는 경우)을 더 포함하는 시스템.
  14. 제10항에 있어서, 상기 빌더는, 하나의 행으로부터 개념을 드래그하여 이를 다른 행에 있는 개념 상에 드롭시킴으로써, 개념들을 조인시켜 부개념들 및 상위 부개념들을 형성하도록 구성되는 시스템.
  15. 제2항에 있어서, 상기 텍스트 문자열은 단락, 장, 책, 논문, 또는 출판물이고, 상기 테이블은 상기 텍스트 문자열에 표현된 지식을 표현하기 위해 상기 빌더에 의해 구성된 복수의 관찰 개념을 포함하는 시스템.
  16. 제1항에 있어서, 상기 텍스트 문자열은 항목 또는 제품을 기술하고, 상기 항목 또는 제품을 표현하기 위해 상기 빌더에 의해 구성된 것은 상기 항목을 태깅하는 데 사용될 수 있는 시스템.
  17. 컴퓨터와의 제한없는 자연어 의사소통을 가능하게 할 수 있는 컴퓨터에서의 지식 표현 시스템으로서,
    입력 텍스트 문자열을 수신하도록 구성된 사용자 인터페이스;
    적어도 하나의 테이블을 저장하도록 구성된 데이터베이스 - 상기 테이블은 텍스트 문자열 내의 개념들과 연관된 개념 식별자들 간의 연관관계들을 저장하도록 구성됨 -; 및
    상기 데이터베이스 및 상기 사용자 인터페이스와 인터페이스하는 파서 - 상기 파서는 프로세스를 이용하여 상기 텍스트 문자열에 의해 표현되는 개념을 식별하도록 구성됨 - 를 포함하며,
    상기 프로세스는,
    상기 텍스트 문자열을 언어의 개별적인 요소들로 분해하는 단계 - 상기 요소들은 어휘 단어들, 조어들 및 구두점을 포함함 -,
    상기 텍스트 문자열과 연관된 고유의 식별자들을 갖는 기본 개념들의 대응하는 정렬된 문자열을 형성하는 단계,
    상기 테이블에서 성분 개념들 간의 적법한 조인들을 검색함으로써 2개의 기본 개념을 포함하는 부개념 쌍들을 식별하는 단계,
    상기 테이블에 의해 명시된 대로 상기 성분 개념들을 조인시킴으로써 상기 부개념들을 형성하는 단계,
    상기 테이블에서 상기 성분 개념들과 상기 부개념들 간의 적법한 조인들을 검색함으로써 상기 부개념들 및 성분 개념들로부터 상위 부개념들을 식별하는 단계, 및
    텍스트 문자열을 표현하는 개념이 식별되어 형성될 때까지 상기 단계들을 반복하는 단계를 포함하는 시스템.
  18. 제17항에 있어서, 상기 테이블은 상기 텍스트 문자열에 의해 표현되는 개념과 연관된 응답을 더 포함하고, 상기 시스템은 상기 응답에 의해 명시된 명령들을 수행하도록 구성된 응답기를 더 포함하는 시스템.
  19. 제18항에 있어서, 상기 응답기는 상기 응답에 의해 지시된 대로 상기 사용자 인터페이스를 통해 디스플레이로 텍스트 문자열을 출력하도록 구성되는 시스템.
  20. 제18항에 있어서, 상기 응답기는 상기 응답에 의해 지시된 대로 상기 사용자 인터페이스를 통해 오디오 스트림을 출력하도록 구성되는 시스템.
  21. 제18항에 있어서, 상기 응답기는 상기 응답에 의해 지시된 대로 파일을 열거나 컴퓨터 프로그램을 실행하도록 구성되는 시스템.
  22. 제18항에 있어서, 상기 응답기는 상기 응답에 의해 지시된 대로 웹 사이트에 액세스하도록 구성되는 시스템.
  23. 제17항에 있어서, 상기 사용자 인터페이스는 음성-텍스트 변환기를 포함하고, 상기 사용자 인터페이스는 음성 입력으로부터 상기 입력 텍스트 문자열을 발생하도록 구성되는 시스템.
  24. 제20항에 있어서, 상기 사용자 인터페이스는 텍스트-음성 변환기를 포함하고, 상기 사용자 인터페이스는 상기 응답기로부터 수신된 텍스트 문자열로부터 상기 오디오 스트림을 발생하도록 구성되는 시스템.
KR1020107026924A 2008-04-30 2009-04-30 컴퓨터와의 자연어 의사소통 시스템 및 방법 KR20110009205A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4904908P 2008-04-30 2008-04-30
US61/049,049 2008-04-30
US12/429,119 US8521512B2 (en) 2008-04-30 2009-04-23 Systems and methods for natural language communication with a computer
US12/429,119 2009-04-23

Publications (1)

Publication Number Publication Date
KR20110009205A true KR20110009205A (ko) 2011-01-27

Family

ID=41255823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107026924A KR20110009205A (ko) 2008-04-30 2009-04-30 컴퓨터와의 자연어 의사소통 시스템 및 방법

Country Status (5)

Country Link
US (2) US8521512B2 (ko)
EP (1) EP2274689A2 (ko)
KR (1) KR20110009205A (ko)
CA (1) CA2722710A1 (ko)
WO (1) WO2009135051A2 (ko)

Families Citing this family (242)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8666729B1 (en) * 2010-02-10 2014-03-04 West Corporation Processing natural language grammar
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10489434B2 (en) * 2008-12-12 2019-11-26 Verint Americas Inc. Leveraging concepts with information retrieval techniques and knowledge bases
US20100228538A1 (en) * 2009-03-03 2010-09-09 Yamada John A Computational linguistic systems and methods
US9805020B2 (en) 2009-04-23 2017-10-31 Deep Sky Concepts, Inc. In-context access of stored declarative knowledge using natural language expression
US8275788B2 (en) * 2009-11-17 2012-09-25 Glace Holding Llc System and methods for accessing web pages using natural language
US8214366B2 (en) * 2009-11-17 2012-07-03 Glace Holding Llc Systems and methods for generating a language database that can be used for natural language communication with a computer
US8972445B2 (en) 2009-04-23 2015-03-03 Deep Sky Concepts, Inc. Systems and methods for storage of declarative knowledge accessible by natural language in a computer capable of appropriately responding
CN101876965B (zh) * 2009-04-30 2012-08-08 国际商业机器公司 用于对文本进行处理的方法和系统
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US20130219333A1 (en) * 2009-06-12 2013-08-22 Adobe Systems Incorporated Extensible Framework for Facilitating Interaction with Devices
JP2011033680A (ja) * 2009-07-30 2011-02-17 Sony Corp 音声処理装置及び方法、並びにプログラム
US8943094B2 (en) * 2009-09-22 2015-01-27 Next It Corporation Apparatus, system, and method for natural language processing
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9672204B2 (en) * 2010-05-28 2017-06-06 Palo Alto Research Center Incorporated System and method to acquire paraphrases
US8266292B2 (en) 2010-06-21 2012-09-11 Microsoft Corporation Memorable resource names
US8346775B2 (en) 2010-08-31 2013-01-01 International Business Machines Corporation Managing information
US20120095750A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Parsing observable collections
CN102455997A (zh) * 2010-10-27 2012-05-16 鸿富锦精密工业(深圳)有限公司 元件名称提取系统及方法
US20120173381A1 (en) * 2011-01-03 2012-07-05 Stanley Benjamin Smith Process and system for pricing and processing weighted data in a federated or subscription based data source
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US20120265519A1 (en) * 2011-04-14 2012-10-18 Dow Jones & Company, Inc. System and method for object detection
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8510328B1 (en) * 2011-08-13 2013-08-13 Charles Malcolm Hatton Implementing symbolic word and synonym English language sentence processing on computers to improve user automation
US9158759B2 (en) * 2011-11-21 2015-10-13 Zero Labs, Inc. Engine for human language comprehension of intent and command execution
US9961442B2 (en) * 2011-11-21 2018-05-01 Zero Labs, Inc. Engine for human language comprehension of intent and command execution
US9836177B2 (en) 2011-12-30 2017-12-05 Next IT Innovation Labs, LLC Providing variable responses in a virtual-assistant environment
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9424233B2 (en) 2012-07-20 2016-08-23 Veveo, Inc. Method of and system for inferring user intent in search input in a conversational interaction system
US9465833B2 (en) 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval
US9135244B2 (en) 2012-08-30 2015-09-15 Arria Data2Text Limited Method and apparatus for configurable microplanning
WO2014111753A1 (en) 2013-01-15 2014-07-24 Arria Data2Text Limited Method and apparatus for document planning
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
DE102013003055A1 (de) * 2013-02-18 2014-08-21 Nadine Sina Kurz Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
US9672822B2 (en) 2013-02-22 2017-06-06 Next It Corporation Interaction with a portion of a content item through a virtual assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
EP3640938B1 (en) 2013-05-07 2024-07-03 Veveo, Inc. Incremental speech input interface with real time feedback
WO2014183035A1 (en) 2013-05-10 2014-11-13 Veveo, Inc. Method and system for capturing and exploiting user intent in a conversational interaction based information retrieval system
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2014200728A1 (en) 2013-06-09 2014-12-18 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10235359B2 (en) * 2013-07-15 2019-03-19 Nuance Communications, Inc. Ontology and annotation driven grammar inference
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
ITMI20131413A1 (it) * 2013-08-27 2015-02-28 Solair S R L Metodo per configurare un programma gestionale
WO2015028844A1 (en) 2013-08-29 2015-03-05 Arria Data2Text Limited Text generation from correlated alerts
US9396181B1 (en) 2013-09-16 2016-07-19 Arria Data2Text Limited Method, apparatus, and computer program product for user-directed reporting
US9244894B1 (en) 2013-09-16 2016-01-26 Arria Data2Text Limited Method and apparatus for interactive reports
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9430556B2 (en) * 2013-12-19 2016-08-30 Sap Se System for self-distinguishable identifier and generation
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9542648B2 (en) * 2014-04-10 2017-01-10 Palo Alto Research Center Incorporated Intelligent contextually aware digital assistants
WO2015159133A1 (en) 2014-04-18 2015-10-22 Arria Data2Text Limited Method and apparatus for document planning
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
EP3480811A1 (en) 2014-05-30 2019-05-08 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10013482B2 (en) * 2014-06-19 2018-07-03 International Business Machines Corporation Context-dependent evidence detection
US9767093B2 (en) 2014-06-19 2017-09-19 Nuance Communications, Inc. Syntactic parser assisted semantic rule inference
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9852136B2 (en) 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9854049B2 (en) 2015-01-30 2017-12-26 Rovi Guides, Inc. Systems and methods for resolving ambiguous terms in social chatter based on a user profile
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
WO2016145480A1 (en) * 2015-03-19 2016-09-22 Semantic Technologies Pty Ltd Semantic knowledge base
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US9959341B2 (en) * 2015-06-11 2018-05-01 Nuance Communications, Inc. Systems and methods for learning semantic patterns from textual data
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
KR102407630B1 (ko) * 2015-09-08 2022-06-10 삼성전자주식회사 서버, 사용자 단말 및 이들의 제어 방법.
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
AU2017100589B4 (en) * 2016-06-11 2017-08-31 Apple Inc. Application integration with a digital assistant
DK201670540A1 (en) * 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9652450B1 (en) * 2016-07-06 2017-05-16 International Business Machines Corporation Rule-based syntactic approach to claim boundary detection in complex sentences
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
WO2018080243A1 (en) * 2016-10-28 2018-05-03 Samsung Electronics Co., Ltd. Method and system for managing enriched call data in communication network
US10467347B1 (en) 2016-10-31 2019-11-05 Arria Data2Text Limited Method and apparatus for natural language document orchestrator
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
RU2683157C2 (ru) * 2016-12-27 2019-03-26 Федеральное Государственное Бюджетное Научное Учреждение "Всероссийский Научно-Исследовательский Институт Картофельного Хозяйства Имени А.Г. Лорха" (Фгбну Вниикх) Способ поиска информации
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10977005B2 (en) * 2017-06-14 2021-04-13 International Business Machines Corporation Congnitive development of DevOps pipeline
US10223639B2 (en) 2017-06-22 2019-03-05 International Business Machines Corporation Relation extraction using co-training with distant supervision
US10229195B2 (en) * 2017-06-22 2019-03-12 International Business Machines Corporation Relation extraction using co-training with distant supervision
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US11587650B2 (en) 2017-09-29 2023-02-21 Apple Inc. Techniques for managing access of user devices to third-party resources
US11188527B2 (en) * 2017-09-29 2021-11-30 Apple Inc. Index-based deidentification
US10839018B2 (en) 2017-11-15 2020-11-17 International Business Machines Corporation Evaluation of plural expressions corresponding to input data
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
WO2019169039A1 (en) * 2018-02-28 2019-09-06 Northrup Charles System and method for a thing machine to perform models
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US20190303111A1 (en) * 2018-04-02 2019-10-03 Morgan Warstler Methods, systems, apparatuses and devices for facilitating creating computer applications based on a natural language
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11275892B2 (en) * 2019-04-29 2022-03-15 International Business Machines Corporation Traversal-based sentence span judgements
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11295020B2 (en) 2019-08-05 2022-04-05 Bank Of America Corporation System for integrated natural language processing and event analysis for threat detection in computing systems
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
CN111460083B (zh) * 2020-03-31 2023-07-25 北京百度网讯科技有限公司 文档标题树的构建方法、装置、电子设备及存储介质
US20230335111A1 (en) * 2020-10-27 2023-10-19 Google Llc Method and system for text-to-speech synthesis of streaming text
CN114372128B (zh) * 2021-12-27 2024-07-12 华中师范大学 一种旋转对称型几何体体积题目的自动求解方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system
US7085708B2 (en) * 2000-09-23 2006-08-01 Ravenflow, Inc. Computer system with natural language to machine language translator
US6910004B2 (en) * 2000-12-19 2005-06-21 Xerox Corporation Method and computer system for part-of-speech tagging of incomplete sentences
US9009590B2 (en) * 2001-07-31 2015-04-14 Invention Machines Corporation Semantic processor for recognition of cause-effect relations in natural language documents
AU2003210803A1 (en) * 2002-02-01 2003-09-02 John Fairweather A system and method for real time interface translation
US8015143B2 (en) 2002-05-22 2011-09-06 Estes Timothy W Knowledge discovery agent system and method
US6980949B2 (en) * 2003-03-14 2005-12-27 Sonum Technologies, Inc. Natural language processor
US20070185859A1 (en) * 2005-10-12 2007-08-09 John Flowers Novel systems and methods for performing contextual information retrieval

Also Published As

Publication number Publication date
WO2009135051A3 (en) 2010-02-18
US8521512B2 (en) 2013-08-27
US20090276396A1 (en) 2009-11-05
US20100211379A1 (en) 2010-08-19
WO2009135051A2 (en) 2009-11-05
US8271264B2 (en) 2012-09-18
EP2274689A2 (en) 2011-01-19
CA2722710A1 (en) 2009-11-05

Similar Documents

Publication Publication Date Title
KR20110009205A (ko) 컴퓨터와의 자연어 의사소통 시스템 및 방법
Androutsopoulos et al. Generating natural language descriptions from OWL ontologies: the NaturalOWL system
US8265925B2 (en) Method and apparatus for textual exploration discovery
Bouayad-Agha et al. Natural language generation in the context of the semantic web
JP6676109B2 (ja) 発話文生成装置とその方法とプログラム
Mitrović et al. Ontological representations of rhetorical figures for argument mining
Curto et al. Question generation based on lexico-syntactic patterns learned from the web
WO2010051966A1 (en) Method for semantic processing of natural language using graphical interlingua
Santana et al. A survey on narrative extraction from textual data
Zakraoui et al. Text-to-picture tools, systems, and approaches: a survey
McGillivray et al. Applying language technology in humanities research: Design, application, and the underlying logic
Ho et al. Extracting lexical and phrasal paraphrases: a review of the literature
Bimson et al. Unnatural language processing: Characterizing the challenges in translating natural language semantics into ontology semantics
Rodrigues et al. Improving question-answering for portuguese using triples extracted from corpora
Bolognesi et al. Fantastic metaphors and where to find them
Shawar et al. Arabic question-answering via instance based learning from an FAQ corpus
Jenkins Designing Service-Oriented Chatbot Systems Using a Construction Grammar-Driven Natural Language Generation System
Verhaar Affordances and limitations of algorithmic criticism
Pinheiro et al. A semi-automated method for acquisition of common-sense and inferentialist knowledge
Plhák Dialogue-based Exploration of Graphics for Users with a Visual Disability
Le Developing and applying an integrated semantic framework for natural language understanding
Schäfer et al. Extracting and Querying Relations in Scientific Papers on Language Technology.
Keersmaekers A Computational Approach to the Greek Papyri: Developing a Corpus to Study Variation and Change in the Post-Classical Greek Complementation System
Narayan et al. Pre-Neural Approaches
Arora Design of ontological framework for semantic web

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application