AI-자연어 처리
NLP (Natural Language Processing)는 영어와 같은 자연어를 사용하여 지능형 시스템과 통신하는 AI 방식을 말합니다.
자연어 처리는 로봇과 같은 지능형 시스템이 지침에 따라 수행되기를 원할 때, 대화 기반 임상 전문가 시스템의 결정을 듣고 싶을 때 필요합니다.
NLP 분야는 인간이 사용하는 자연어로 유용한 작업을 수행하는 컴퓨터를 만드는 것입니다. NLP 시스템의 입력과 출력은 다음과 같습니다.
- Speech
- 서면 텍스트
NLP의 구성 요소
NLP에는 두 가지 구성 요소가 있습니다.
자연어 이해 (NLU)
이해에는 다음 작업이 포함됩니다.
- 자연어로 주어진 입력을 유용한 표현으로 매핑합니다.
- 언어의 다양한 측면을 분석합니다.
자연어 생성 (NLG)
내부 표현에서 자연어 형태로 의미있는 구와 문장을 만드는 과정입니다.
그것은 포함합니다-
Text planning − 지식 기반에서 관련 콘텐츠 검색이 포함됩니다.
Sentence planning − 필수 단어 선택, 의미있는 구문 형성, 문장 어조 설정 등이 포함됩니다.
Text Realization − 문장 계획을 문장 구조에 매핑합니다.
NLU는 NLG보다 어렵습니다.
NLU의 어려움
NL은 매우 풍부한 형태와 구조를 가지고 있습니다.
매우 모호합니다. 다양한 수준의 모호성이있을 수 있습니다.
Lexical ambiguity − 단어 수준과 같이 매우 원시적 인 수준입니다.
예를 들어, "보드"라는 단어를 명사 나 동사로 취급합니까?
Syntax Level ambiguity − 문장은 다양한 방식으로 구문 분석 할 수 있습니다.
예를 들어 "빨간 모자로 딱정벌레를 들어 올렸습니다." − 그는 딱정벌레를 들어 올리기 위해 모자를 사용 했습니까?
Referential ambiguity− 대명사를 사용하는 것을 언급합니다. 예를 들어, Rima는 Gauri에 갔다. 그녀는“나는 피곤하다”고 말했다. − 정확히 누가 피곤합니까?
하나의 입력은 다른 의미를 의미 할 수 있습니다.
많은 입력이 동일한 의미를 가질 수 있습니다.
NLP 용어
Phonology − 체계적으로 소리를 정리하는 연구입니다.
Morphology − 원시 의미 단위의 단어 구성에 대한 연구입니다.
Morpheme − 언어에서 의미의 원시 단위입니다.
Syntax− 문장을 만들기 위해 단어를 배열하는 것을 말합니다. 또한 문장과 구에서 단어의 구조적 역할을 결정합니다.
Semantics − 단어의 의미와 단어를 의미있는 구문과 문장으로 결합하는 방법과 관련이 있습니다.
Pragmatics − 다양한 상황에서 문장을 사용하고 이해하며 문장 해석이 어떻게 영향을 받는지 다룹니다.
Discourse − 직전 문장이 다음 문장의 해석에 미치는 영향을 다룹니다.
World Knowledge − 여기에는 세계에 대한 일반적인 지식이 포함됩니다.
NLP의 단계
일반적인 다섯 단계가 있습니다-
Lexical Analysis− 그것은 단어의 구조를 식별하고 분석하는 것을 포함합니다. 언어 사전은 한 언어의 단어와 구의 모음을 의미합니다. 어휘 분석은 전체 txt 청크를 단락, 문장 및 단어로 나누는 것입니다.
Syntactic Analysis (Parsing)− 문법을 위해 문장의 단어를 분석하고 단어 간의 관계를 보여주는 방식으로 단어를 배열합니다. “The school goes to boy”와 같은 문장은 영어 구문 분석기에서 거부됩니다.
Semantic Analysis− 텍스트에서 정확한 의미 또는 사전 적 의미를 그립니다. 텍스트의 의미를 확인합니다. 태스크 도메인에서 구문 구조 및 오브젝트를 맵핑하여 수행됩니다. 시맨틱 분석기는“hot ice-cream”과 같은 문장을 무시합니다.
Discourse Integration− 모든 문장의 의미는 바로 앞에있는 문장의 의미에 따라 다릅니다. 또한 바로 다음 문장의 의미도 가져옵니다.
Pragmatic Analysis−이 과정에서 말한 내용이 실제로 의미하는 바를 재 해석합니다. 그것은 실제 지식을 필요로하는 언어의 측면을 도출하는 것을 포함합니다.
구문 분석의 구현 측면
연구자들이 구문 분석을 위해 개발 한 여러 알고리즘이 있지만 다음과 같은 간단한 방법 만 고려합니다.
- 문맥 자유 문법
- 하향식 파서
자세히 살펴 보겠습니다.
문맥 자유 문법
다시 쓰기 규칙의 왼쪽에 단일 기호가있는 규칙으로 구성된 문법입니다. 문장을 구문 분석하기위한 문법을 만들어 보겠습니다.
“새가 곡식을 쪼아”
Articles (DET)− a | an | 그만큼
Nouns− 새 | 새 | 곡물 | 작살
Noun Phrase (NP)− 기사 + 명사 | 기사 + 형용사 + 명사
= DET N | DET ADJ N
Verbs− 펙 | 쪼아 | 쪼아
Verb Phrase (VP)− NP V | V NP
Adjectives (ADJ)− 아름다운 | 작은 | 지저귐
구문 분석 트리는 컴퓨터가 쉽게 이해하고 처리 할 수 있도록 문장을 구조화 된 부분으로 나눕니다. 구문 분석 알고리즘이이 구문 분석 트리를 구성하려면 합법적 인 트리 구조를 설명하는 일련의 재 작성 규칙을 구성해야합니다.
이 규칙은 특정 기호가 일련의 다른 기호에 의해 트리에서 확장 될 수 있다고 말합니다. 1 차 논리 규칙에 따르면 두 개의 문자열이 NP (명사 구문)와 VP (동사 구문)가있는 경우 NP와 VP가 결합 된 문자열이 문장입니다. 문장의 재 작성 규칙은 다음과 같습니다.
S → NP VP
NP → DET N | DET ADJ N
VP → V NP
Lexocon −
DET → a | 그만큼
ADJ → 아름다운 | 그친
N → 새 | 새 | 곡물 | 작살
V → 펙 | 펙 | 쪼아
구문 분석 트리는 다음과 같이 만들 수 있습니다.
이제 위의 재 작성 규칙을 고려하십시오. V는 "peck"또는 "pecks"로 대체 될 수 있으므로 "The bird peck the grains"와 같은 문장은 잘못 허용 될 수 있습니다. 즉, 주어 동사 일치 오류가 올바른 것으로 승인됩니다.
Merit − 가장 단순한 스타일의 문법이므로 널리 사용됩니다.
Demerits −
그들은 매우 정확하지 않습니다. 예를 들어,“The grains peck the bird”는 파서에 따르면 구문 적으로 정확하지만 말이 안 되더라도 파서는 올바른 문장으로 간주합니다.
높은 정밀도를 얻기 위해서는 여러 가지 문법을 준비해야합니다. 단수 및 복수 변형, 수동 문장 등을 구문 분석하기 위해 완전히 다른 규칙 집합이 필요할 수 있으며, 이로 인해 관리 할 수없는 거대한 규칙 집합이 생성 될 수 있습니다.
하향식 파서
여기서 구문 분석기는 S 기호로 시작하여 전체가 터미널 기호로 구성 될 때까지 입력 문장의 단어 클래스와 일치 하는 일련의 터미널 기호 로 다시 쓰려고합니다 .
그런 다음 입력 문장으로 일치하는지 확인합니다. 그렇지 않은 경우 프로세스는 다른 규칙 세트를 사용하여 다시 시작됩니다. 이것은 문장의 구조를 설명하는 특정 규칙을 찾을 때까지 반복됩니다.
Merit − 구현이 간단합니다.
Demerits −
- 오류가 발생하면 검색 과정을 반복해야하므로 비효율적입니다.
- 작업 속도가 느립니다.