자연어 처리-퀵 가이드

언어는 우리가 말하고 읽고 쓸 수있는 의사 소통 방법입니다. 예를 들어, 우리는 자연어로 생각하고 결정하고 계획을 세우는 등의 작업을합니다. 정확하게 말로. 그러나이 AI 시대에 우리가 직면하는 큰 문제는 컴퓨터와 비슷한 방식으로 의사 소통 할 수 있다는 것입니다. 다시 말해, 인간은 자연어로 컴퓨터와 통신 할 수 있습니까? 컴퓨터에는 구조화 된 데이터가 필요하기 때문에 NLP 응용 프로그램을 개발하는 것은 어려운 일이지만 사람의 음성은 구조화되지 않고 종종 모호합니다.

이러한 의미에서 자연어 처리 (NLP)는 컴퓨터 과학, 특히 컴퓨터가 인간의 언어를 이해하고 처리 할 수 ​​있도록하는 인공 지능 (AI)의 하위 분야라고 말할 수 있습니다. 기술적으로 NLP의 주요 임무는 방대한 양의 자연어 데이터를 분석하고 처리하기 위해 컴퓨터를 프로그래밍하는 것입니다.

NLP의 역사

우리는 NLP의 역사를 네 단계로 나누었습니다. 단계에는 독특한 관심사와 스타일이 있습니다.

1 단계 (기계 번역 단계)-1940 년대 후반 ~ 1960 년대 후반

이 단계에서 수행 된 작업은 주로 기계 번역 (MT)에 중점을 두었습니다. 이 단계는 열정과 낙관의시기였습니다.

이제 첫 번째 단계에 포함 된 모든 것을 살펴 보겠습니다.

  • NLP에 대한 연구는 1949 년 Booth & Richens의 조사와 Weaver의 기계 번역 각서 이후 1950 년대 초에 시작되었습니다.

  • 1954 년은 Georgetown-IBM 실험에서 러시아어에서 영어로의 자동 번역에 대한 제한된 실험이 시연 된 해였습니다.

  • 같은 해 MT (Machine Translation) 저널 발간이 시작되었습니다.

  • 기계 번역 (MT)에 관한 첫 번째 국제 회의는 1952 년에 열렸고 두 번째는 1956 년에 열렸습니다.

  • 1961 년 Teddington International Conference on Machine Translation of Languages ​​and Applied Language Analysis에서 발표 된 작업이이 단계의 핵심이었습니다.

2 단계 (AI 영향 단계) – 1960 년대 후반 ~ 1970 년대 후반

이 단계에서 수행 된 작업은 주로 세계 지식과 의미 표현의 구성 및 조작에서의 역할과 관련이 있습니다. 그렇기 때문에이 단계를 AI 풍미 단계라고도합니다.

단계는 다음과 같습니다.

  • 1961 년 초, 데이터 또는 지식 기반을 다루고 구성하는 문제에 대한 작업이 시작되었습니다. 이 작업은 AI의 영향을 받았습니다.

  • 같은 해 BASEBALL 질의 응답 시스템도 개발되었습니다. 이 시스템에 대한 입력은 제한되었고 관련된 언어 처리는 간단했습니다.

  • 훨씬 진보 된 시스템이 Minsky (1968)에서 설명되었습니다. 이 시스템은 BASEBALL 질의 응답 시스템과 비교할 때 언어 입력을 해석하고 응답 할 때 지식 기반에 대한 추론의 필요성을 인식하고 제공했습니다.

3 단계 (문법 학적 단계) – 1970 년대 후반 ~ 1980 년대 후반

이 단계는 문법적 단계로 설명 할 수 있습니다. 마지막 단계에서 실제 시스템 구축의 실패로 인해 연구원들은 AI에서 지식 표현 및 추론을위한 논리를 사용하는쪽으로 이동했습니다.

세 번째 단계는 다음과 같습니다.

  • 10 년이 끝날 무렵의 문법적 접근 방식은 SRI의 핵심 언어 엔진 및 담화 표현 이론과 같은 강력한 범용 문장 처리기로 우리를 도왔습니다.

  • 이 단계에서는 파서와 같은 실용적인 리소스 및 도구 (예 : Alvey Natural Language Tools)와 더 많은 운영 및 상용 시스템 (예 : 데이터베이스 쿼리)을 얻었습니다.

  • 1980 년대의 어휘집 작업은 또한 문법적 접근의 방향을 지적했습니다.

4 단계 (어휘 및 말뭉치 단계) – 1990 년대

이를 어휘 및 말뭉치 단계로 설명 할 수 있습니다. 이 단계는 1980 년대 후반에 등장한 문법에 대한 어휘 화 된 접근 방식을 가졌으며 영향력이 증가했습니다. 언어 처리를위한 기계 학습 알고리즘의 도입으로 지난 10 년 동안 자연어 처리에 혁명이있었습니다.

인간 언어 연구

언어는 인간의 삶에 중요한 구성 요소이며 우리 행동의 가장 기본적인 측면이기도합니다. 우리는 주로 쓰기와 말하기의 두 가지 형태로 그것을 경험할 수 있습니다. 서면으로 우리의 지식을 한 세대에서 다음 세대로 전달하는 방법입니다. 말로 표현하면 인간이 일상적인 행동에서 서로 협력하는 주요 매체입니다. 언어는 다양한 학문 분야에서 공부합니다. 각 분야에는 고유 한 문제 세트와이를 해결하기위한 솔루션 세트가 있습니다.

이것을 이해하려면 다음 표를 고려하십시오-

징계 문제점 도구

언어 학자

단어로 구와 문장을 어떻게 구성 할 수 있습니까?

문장의 가능한 의미를 억제하는 것은 무엇입니까?

잘 형성되고 의미에 대한 직관.

구조의 수학적 모델. 예를 들어, 모델 이론적 의미론, 형식 언어 이론.

심리학자

인간은 문장의 구조를 어떻게 식별 할 수 있습니까?

단어의 의미를 어떻게 식별 할 수 있습니까?

이해는 언제 발생합니까?

주로 인간의 성능을 측정하기위한 실험 기술.

관측의 통계적 분석.

철학자

단어와 문장은 어떻게 의미를 얻습니까?

객체는 단어로 어떻게 식별됩니까?

무슨 뜻이야?

직관을 이용한 자연어 논증.

논리 및 모델 이론과 같은 수학적 모델.

전산 언어 학자

문장의 구조를 어떻게 식별 할 수 있습니까?

지식과 추론을 어떻게 모델링 할 수 있습니까?

특정 작업을 수행하기 위해 언어를 어떻게 사용할 수 있습니까?

알고리즘

데이터 구조

표현과 추론의 형식적 모델.

검색 및 표현 방법과 같은 AI 기술.

언어의 모호성과 불확실성

일반적으로 자연어 처리에 사용되는 모호성은 여러 가지 방법으로 이해되는 능력이라고 할 수 있습니다. 간단히 말해서 모호성은 여러 가지 방법으로 이해되는 능력이라고 말할 수 있습니다. 자연어는 매우 모호합니다. NLP에는 다음과 같은 유형의 모호성이 있습니다.

어휘 모호성

한 단어의 모호성을 어휘 모호성이라고합니다. 예를 들어,silver 명사, 형용사 또는 동사로.

구문 모호성

이러한 종류의 모호성은 문장이 다른 방식으로 구문 분석 될 때 발생합니다. 예를 들어, "남자가 망원경으로 소녀를 보았다"라는 문장. 남자가 망원경을 들고있는 소녀를 보았는지 망원경을 통해 그녀를 보았는지는 모호합니다.

의미 모호성

이러한 종류의 모호성은 단어 자체의 의미가 잘못 해석 될 수있을 때 발생합니다. 즉, 문장에 모호한 단어 나 구가 포함 된 경우 의미 모호성이 발생합니다. 예를 들어, "이동하는 동안 차가 장대에 부딪혔다"라는 문장은 "이동하는 동안 차가 장대에 부딪혔다"와 "장대가 움직이는 동안 차가 장대에 부딪혔다"가 될 수 있기 때문에 의미가 모호합니다.

아나 포릭 모호성

이러한 종류의 모호성은 담화에서 아나 포라 개체를 사용하기 때문에 발생합니다. 예를 들어, 말은 언덕을 뛰어 올랐습니다. 매우 가파르다. 곧 피곤해졌습니다. 여기에서 두 가지 상황에서 "it"에 대한 비 유적 언급은 모호성을 유발합니다.

실용적 모호성

이러한 종류의 모호성은 문구의 문맥이 여러 해석을 제공하는 상황을 나타냅니다. 간단히 말해서, 진술이 구체적이지 않을 때 실용적 모호성이 발생한다고 말할 수 있습니다. 예를 들어,“나도 너를 좋아해”라는 문장은 내가 너를 좋아한다 (나를 좋아하는 것처럼), 나는 너를 좋아한다 (다른 사람이 복용량처럼) 같은 여러 해석을 가질 수있다.

NLP 단계

다음 다이어그램은 자연어 처리의 단계 또는 논리적 단계를 보여줍니다.

형태 학적 처리

NLP의 첫 번째 단계입니다. 이 단계의 목적은 언어 입력 덩어리를 단락, 문장 및 단어에 해당하는 토큰 세트로 나누는 것입니다. 예를 들어, 다음과 같은 단어“uneasy” 다음과 같이 두 개의 하위 단어 토큰으로 나눌 수 있습니다. “un-easy”.

구문 분석

NLP의 두 번째 단계입니다. 이 단계의 목적은 두 가지입니다. 문장의 형식이 올바른지 확인하고 다른 단어 사이의 구문 관계를 보여주는 구조로 나누는 것입니다. 예를 들어, 다음과 같은 문장“The school goes to the boy” 구문 분석기 또는 파서에 의해 거부됩니다.

의미 분석

NLP의 세 번째 단계입니다. 이 단계의 목적은 정확한 의미를 도출하거나 텍스트에서 사전 적 의미를 말할 수 있습니다. 텍스트의 의미를 확인합니다. 예를 들어 시맨틱 분석기는 "Hot ice-cream"과 같은 문장을 거부합니다.

실용적 분석

NLP의 네 번째 단계입니다. 실용적 분석은 마지막 단계 (의미 론적 분석)에서 얻은 객체 참조와 함께 주어진 컨텍스트에 존재하는 실제 객체 / 사건을 간단히 맞 춥니 다. 예를 들어, "Put the banana in the basket on the shelf"라는 문장은 두 가지 의미 해석을 가질 수 있으며 실용적인 분석기는이 두 가지 가능성 중에서 선택합니다.

이 장에서는 자연어 처리의 언어 자원에 대해 학습합니다.

신체

말뭉치는 자연스러운 의사 소통 환경에서 생성 된 크고 구조화 된 기계 판독 가능 텍스트 세트입니다. 복수형은 말뭉치입니다. 원래 전자적 텍스트, 음성 대본 및 광학 문자 인식 등과 같은 다양한 방식으로 파생 될 수 있습니다.

코퍼스 디자인의 요소

언어는 무한하지만 말뭉치의 크기는 유한해야합니다. 말뭉치의 크기가 유한하려면 좋은 말뭉치 디자인을 보장하기 위해 다양한 텍스트 유형을 샘플링하고 비례 적으로 포함해야합니다.

이제 말뭉치 설계를위한 몇 가지 중요한 요소에 대해 알아 보겠습니다.

코퍼스 대표성

대표성은 말뭉치 디자인의 정의 특징입니다. 두 명의 위대한 연구원 인 Leech와 Biber의 다음 정의는 말뭉치 대표성을 이해하는 데 도움이 될 것입니다.

  • According to Leech (1991), “말뭉치는 그 내용에 기반한 결과가 상기 언어 다양성으로 일반화 될 수 있다면 대표해야하는 언어 다양성을 대표하는 것으로 생각됩니다”.

  • According to Biber (1993), “대표성은 표본이 모집단의 전체 변동 범위를 포함하는 정도를 나타냅니다.”

이런 식으로 말뭉치의 대표성은 다음 두 가지 요소에 의해 결정된다는 결론을 내릴 수 있습니다.

  • Balance − 장르의 범위는 말뭉치에 포함됩니다.

  • Sampling − 각 장르의 청크 선택 방법.

코퍼스 균형

말뭉치 디자인의 또 다른 매우 중요한 요소는 말뭉치에 포함 된 장르의 범위 인 말뭉치 균형입니다. 우리는 이미 일반 말뭉치의 대표성이 말뭉치의 균형에 달려 있다는 것을 연구했습니다. 균형 잡힌 말뭉치는 언어를 대표하는 광범위한 텍스트 범주를 포함합니다. 우리는 균형에 대한 신뢰할 수있는 과학적 측정을 가지고 있지 않지만 최상의 추정과 직관이이 문제에 작용합니다. 즉, 허용되는 잔액은 의도 된 용도에 의해서만 결정된다고 말할 수 있습니다.

견본 추출

말뭉치 디자인의 또 다른 중요한 요소는 샘플링입니다. 코퍼스 대표 성과 균형은 샘플링과 매우 밀접한 관련이 있습니다. 그래서 우리는 말뭉치 구축에서 샘플링이 불가피하다고 말할 수 있습니다.

  • 에 따르면 Biber(1993),“말뭉치 구성에있어 첫 번째 고려 사항 중 일부는 전체 디자인과 관련이 있습니다. 예를 들어 포함 된 텍스트의 종류, 텍스트 수, 특정 텍스트 선택, 텍스트 내에서 텍스트 샘플 선택, 텍스트 길이 등 견본. 이들 각각은 의식적이든 아니든 샘플링 결정을 포함합니다.”

대표 샘플을 얻는 동안 다음 사항을 고려해야합니다.

  • Sampling unit− 샘플이 필요한 단위를 의미합니다. 예를 들어, 서면 텍스트의 경우 샘플링 단위는 신문, 저널 또는 책일 수 있습니다.

  • Sampling frame − 모든 샘플링 단위 목록을 샘플링 프레임이라고합니다.

  • Population− 모든 샘플링 장치의 조립이라고 할 수 있습니다. 언어 생산, 언어 수용 또는 제품으로서의 언어 측면에서 정의됩니다.

코퍼스 크기

말뭉치 디자인의 또 다른 중요한 요소는 크기입니다. 코퍼스는 얼마나 커야합니까? 이 질문에 대한 구체적인 답은 없습니다. 말뭉치의 크기는 의도 된 목적과 다음과 같은 몇 가지 실용적인 고려 사항에 따라 달라집니다.

  • 사용자가 예상하는 쿼리의 종류입니다.

  • 사용자가 데이터를 연구하는 데 사용하는 방법론입니다.

  • 데이터 소스의 가용성.

기술이 발전함에 따라 말뭉치 크기도 증가합니다. 다음 비교 표는 말뭉치 크기가 어떻게 작동하는지 이해하는 데 도움이됩니다.

코퍼스의 이름 크기 (단어)
1960 ~ 70 년대 브라운과 LOB 백만 단어
1980 년대 버밍엄 말뭉치 2,000 만 단어
1990 년대 영국 국립 코퍼스 1 억 단어
초기 21 번째 세기 The Bank of English 코퍼스 6 억 5 천만 단어

다음 섹션에서는 말뭉치의 몇 가지 예를 살펴 보겠습니다.

TreeBank 코퍼스

구문 또는 의미 론적 문장 구조에 주석을 추가하는 언어 적으로 구문 분석 된 텍스트 코퍼스로 정의 될 수 있습니다. Geoffrey Leech는 문법 분석을 나타내는 가장 일반적인 방법이 트리 구조를 사용하는 것을 나타내는 '트리 뱅크'라는 용어를 만들었습니다. 일반적으로 Treebanks는 이미 품사 태그로 주석이 추가 된 말뭉치 상단에 생성됩니다.

TreeBank Corpus의 유형

시맨틱 및 구문 트리 뱅크는 언어학에서 가장 일반적인 두 가지 유형의 트리 뱅크입니다. 이제 이러한 유형에 대해 자세히 알아 보겠습니다.

시맨틱 트리 뱅크

이 트리 뱅크는 문장의 의미 구조에 대한 공식적인 표현을 사용합니다. 의미 론적 표현의 깊이가 다양합니다. 로봇 명령 Treebank, Geoquery, Groningen meaning Bank, RoboCup Corpus는 시맨틱 트리 뱅크의 몇 가지 예입니다.

구문 트리 뱅크

시맨틱 트리 뱅크와는 반대로, 구문 트리 뱅크 시스템에 대한 입력은 구문 분석 된 트리 뱅크 데이터의 변환에서 얻은 공식 언어의 표현입니다. 이러한 시스템의 출력은 의미 표현 기반의 술어 논리입니다. 지금까지 다른 언어로 된 다양한 구문 트리 뱅크가 만들어졌습니다. 예를 들면Penn Arabic Treebank, Columbia Arabic Treebank 아라비아어로 만들어진 통사론적인 Treebanks입니다. Sininca 중국어로 만들어진 구문 Treebank. Lucy, SusaneBLLIP WSJ 영어로 작성된 구문 말뭉치.

TreeBank Corpus의 응용

다음은 TreeBanks의 일부 응용 프로그램입니다-

전산 언어학에서

Computational Linguistic에 대해 이야기하는 경우 TreeBank를 가장 잘 사용하는 방법은 품사 태거, 파서, 의미 분석기 및 기계 번역 시스템과 같은 최첨단 자연어 처리 시스템을 엔지니어링하는 것입니다.

코퍼스 언어학에서

코퍼스 언어학의 경우 Treebanks의 가장 좋은 사용은 구문 현상을 연구하는 것입니다.

이론 언어학 및 심리학

이론 및 심리 언어학에서 Treebanks를 가장 잘 사용하는 것은 상호 작용 증거입니다.

PropBank 코퍼스

좀 더 구체적으로 "Proposition Bank"라고 불리는 PropBank는 말뭉치이며 구두 명제와 그 주장이 주석으로 표시됩니다. 말뭉치는 동사 지향적 자원입니다. 여기서 주석은 구문 수준과 더 밀접하게 관련되어 있습니다. 콜로라도 볼더 대학의 언어학과 Martha Palmer 외. 우리는 PropBank라는 용어를 명제와 그 주장으로 주석이 달린 말뭉치를 나타내는 일반 명사로 사용할 수 있습니다.

자연어 처리 (NLP)에서 PropBank 프로젝트는 매우 중요한 역할을했습니다. 의미 론적 역할 레이블 지정에 도움이됩니다.

VerbNet (VN)

VerbNet (VN)은 내용에 대한 의미 및 구문 정보를 모두 통합하는 영어로 존재하는 계층 적 도메인 독립적이고 가장 큰 어휘 리소스입니다. VN은 WordNet, Xtag 및 FrameNet과 같은 다른 어휘 리소스에 대한 매핑을 포함하는 광범위한 동사 어휘집입니다. 클래스 구성원 간의 구문 및 의미 일관성을 달성하기 위해 하위 클래스를 개선하고 추가하여 Levin 클래스를 확장하는 동사 클래스로 구성됩니다.

각 VerbNet (VN) 클래스에는 다음이 포함됩니다.

구문 설명 또는 구문 프레임 세트

전 이적, 전 이적, 전치사 구, 결과 및 큰 체질 교체와 같은 구성에 대한 인수 구조의 가능한 표면 실현을 묘사합니다.

애니메이션, 인간, 조직과 같은 의미 론적 설명 세트

제한을 위해 인수가 허용하는 주제별 역할 유형 및 추가 제한이 부과 될 수 있습니다. 이것은 주제별 역할과 연관 될 가능성이있는 구성 요소의 구문 적 특성을 나타내는 데 도움이 될 것입니다.

WordNet

Princeton이 만든 WordNet은 영어 어휘 데이터베이스입니다. NLTK 말뭉치의 일부입니다. WordNet에서 명사, 동사, 형용사 및 부사는 다음과 같은인지 동의어 집합으로 그룹화됩니다.Synsets. 모든 synset은 개념적 의미 및 어휘 관계의 도움으로 연결됩니다. 그 구조는 자연어 처리 (NLP)에 매우 유용합니다.

정보 시스템에서 WordNet은 단어 감지 명확성, 정보 검색, 자동 텍스트 분류 및 기계 번역과 같은 다양한 목적으로 사용됩니다. WordNet의 가장 중요한 용도 중 하나는 단어 간의 유사성을 찾는 것입니다. 이 작업을 위해 Perl의 유사성, Python의 NLTK 및 Java의 ADW와 같은 다양한 패키지에 다양한 알고리즘이 구현되었습니다.

이 장에서는 자연어 처리의 세계 수준 분석을 이해합니다.

정규식

정규식 (RE)은 텍스트 검색 문자열을 지정하기위한 언어입니다. RE는 패턴에 포함 된 특수 구문을 사용하여 다른 문자열 또는 문자열 집합을 일치 시키거나 찾는 데 도움이됩니다. 정규식은 UNIX와 MS WORD에서 동일한 방식으로 텍스트를 검색하는 데 사용됩니다. 많은 RE 기능을 사용하는 다양한 검색 엔진이 있습니다.

정규식의 속성

다음은 RE의 중요한 속성 중 일부입니다-

  • 미국 수학자 Stephen Cole Kleene은 정규 표현식 언어를 공식화했습니다.

  • RE는 특수 언어로 된 공식으로, 간단한 문자열 클래스, 일련의 기호를 지정하는 데 사용할 수 있습니다. 즉, RE는 문자열 세트를 특성화하기위한 대수 표기법이라고 말할 수 있습니다.

  • 정규 표현식에는 두 가지가 필요합니다. 하나는 검색하려는 패턴이고 다른 하나는 검색해야하는 텍스트 모음입니다.

수학적으로 정규 표현식은 다음과 같이 정의 할 수 있습니다.

  • ε 언어에 빈 문자열이 있음을 나타내는 정규식입니다.

  • φ 빈 언어임을 나타내는 정규식입니다.

  • 만약 XY 정규식이면

    • X, Y

    • X.Y(Concatenation of XY)

    • X+Y (Union of X and Y)

    • X*, Y* (Kleen Closure of X and Y)

정규식이기도합니다.

  • 문자열이 위의 규칙에서 파생 된 경우에도 정규식이됩니다.

정규식의 예

다음 표는 정규식의 몇 가지 예를 보여줍니다-

정규식 일반 세트
(0 + 10 *) {0, 1, 10, 100, 1000, 10000,…}
(0 * 10 *) {1, 01, 10, 010, 0010,…}
(0 + ε) (1 + ε) {ε, 0, 1, 01}
(a + b) * 그것은 null 문자열을 포함하는 임의의 길이의 a와 b의 문자열 집합입니다. 즉 {ε, a, b, aa, ab, bb, ba, aaa …….}
(a + b) * abb a와 b의 문자열 집합이 abb 문자열로 끝나는 것입니다. 즉 {abb, aabb, babb, aaabb, ababb, ………… ..}
(11) * 빈 문자열 (예 : {ε, 11, 1111, 111111, ……….})도 포함하는 짝수의 1로 구성됩니다.
(aa) * (bb) * b 짝수 a와 b의 홀수로 구성된 문자열 세트입니다. 즉 {b, aab, aabbb, aabbbbb, aaaab, aaaabbb, ………… ..}
(aa + ab + ba + bb) * null 즉, {aa, ab, ba, bb, aaab, aaba, …………를 포함하여 문자열 aa, ab, ba 및 bb의 임의 조합을 연결하여 얻을 수있는 짝수 길이의 a와 b의 문자열입니다. .}

일반 세트 및 속성

정규식의 값을 나타내는 집합으로 정의하고 특정 속성을 구성 할 수 있습니다.

일반 세트의 속성

  • 두 개의 정규 세트를 결합하면 결과 세트도 regula가됩니다.

  • 두 정규 세트의 교차를 수행하면 결과 세트도 정규화됩니다.

  • 정규 세트를 보완하면 결과 세트도 정규화됩니다.

  • 두 개의 일반 세트의 차이를 수행하면 결과 세트도 일반이됩니다.

  • 정규 세트의 반전을 수행하면 결과 세트도 정규화됩니다.

  • 정규 세트의 클로저를 취하면 결과 세트도 정규화됩니다.

  • 두 개의 정규 세트를 연결하면 결과 세트도 정규화됩니다.

유한 상태 오토마타

"자기 행동"을 의미하는 그리스어 "αὐτόματα"에서 파생 된 용어 automata는 자동으로 사전 결정된 일련의 작업을 따르는 추상적 인 자체 추진 컴퓨팅 장치로 정의 될 수있는 복수의 자동 장치입니다.

유한 수의 상태를 갖는 자동 장치를 유한 자동 장치 (FA) 또는 유한 상태 자동 장치 (FSA)라고합니다.

수학적으로 오토 마톤은 5- 튜플 (Q, Σ, δ, q0, F)로 나타낼 수 있습니다.

  • Q는 유한 한 상태 집합입니다.

  • Σ는 자동 기계의 알파벳이라고하는 유한 한 기호 집합입니다.

  • δ는 전이 함수입니다.

  • q0은 입력이 처리되는 초기 상태입니다 (q0 ∈ Q).

  • F는 Q의 최종 상태 / 상태 집합 (F ⊆ Q)입니다.

유한 오토마타, 정규 문법 및 정규 표현식의 관계

다음 요점은 유한 오토마타, 정규 문법 및 정규 표현식 간의 관계에 대한 명확한 견해를 제공합니다.

  • 유한 상태 오토마타가 계산 작업의 이론적 기반이며 정규 표현식이이를 설명하는 한 가지 방법이라는 것을 알고 있습니다.

  • 모든 정규식은 FSA로 구현할 수 있으며 모든 FSA는 정규식으로 설명 할 수 있습니다.

  • 반면에 정규 표현식은 정규 언어라는 종류의 언어를 특성화하는 방법입니다. 따라서 정규 언어는 FSA와 정규 표현식의 도움으로 설명 할 수 있습니다.

  • 정규 문법은 정규 언어를 특징 짓는 또 다른 방법입니다.

다음 다이어그램은 유한 오토마타, 정규 표현식 및 정규 문법이 정규 언어를 설명하는 동일한 방법임을 보여줍니다.

FSA (유한 상태 자동화) 유형

유한 상태 자동화는 두 가지 유형이 있습니다. 유형이 무엇인지 봅시다.

확정적 유한 자동화 (DFA)

유한 자동화의 유형으로 정의 될 수 있으며 모든 입력 기호에 대해 기계가 이동할 상태를 결정할 수 있습니다. 유한 수의 상태가 있으므로 기계를 DFA (Deterministic Finite Automaton)라고합니다.

수학적으로 DFA는 5- 튜플 (Q, Σ, δ, q0, F)로 표현할 수 있습니다.

  • Q는 유한 한 상태 집합입니다.

  • Σ는 자동 기계의 알파벳이라고하는 유한 한 기호 집합입니다.

  • δ는 δ : Q × Σ → Q 인 전환 함수입니다.

  • q0은 입력이 처리되는 초기 상태입니다 (q0 ∈ Q).

  • F는 Q의 최종 상태 / 상태 집합 (F ⊆ Q)입니다.

반면 그래픽 적으로 DFA는 상태 다이어그램이라는 다이어그램으로 나타낼 수 있습니다.

  • 상태는 다음으로 표시됩니다. vertices.

  • 전환은 레이블로 표시됩니다. arcs.

  • 초기 상태는 empty incoming arc.

  • 최종 상태는 다음과 같이 표시됩니다. double circle.

DFA의 예

DFA가

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • 전이 함수 δ는 다음과 같이 표에 나와 있습니다.

현재 상태 입력 0의 다음 상태 입력 1의 다음 상태

이 DFA의 그래픽 표현은 다음과 같습니다.

비 결정적 유한 자동화 (NDFA)

이는 모든 입력 기호에 대해 기계가 이동할 상태를 결정할 수없는 유한 자동화 유형으로 정의 될 수 있습니다. 즉 기계가 상태 조합으로 이동할 수 있습니다. 기계가 비 결정적 유한 자동화 (NDFA)라고 불리는 이유는 유한 수의 상태를 가지고 있습니다.

수학적으로 NDFA는 5- 튜플 (Q, Σ, δ, q0, F)로 표현할 수 있습니다.

  • Q는 유한 한 상태 집합입니다.

  • Σ는 자동 기계의 알파벳이라고하는 유한 한 기호 집합입니다.

  • δ :-δ : Q × Σ → 2 Q 인 전환 함수 입니다.

  • q0 :-입력이 처리되는 초기 상태입니다 (q0 ∈ Q).

  • F : -Q의 최종 상태 / 상태 집합입니다 (F ⊆ Q).

그래픽으로 (DFA와 동일) NDFA는 상태 다이어그램이라는 다이어그램으로 표현할 수 있습니다.

  • 상태는 다음으로 표시됩니다. vertices.

  • 전환은 레이블로 표시됩니다. arcs.

  • 초기 상태는 empty incoming arc.

  • 최종 상태는 이중으로 표시됩니다. circle.

NDFA의 예

NDFA가

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • 전이 함수 δ는 다음과 같이 표에 나와 있습니다.

현재 상태 입력 0의 다음 상태 입력 1의 다음 상태
a, b
a, c
b, c

이 NDFA의 그래픽 표현은 다음과 같습니다.

형태 학적 분석

형태소 분석이라는 용어는 형태소의 구문 분석과 관련이 있습니다. 우리는 형태소 분석을 단어가 형태소라고하는 더 작은 의미있는 단위로 분해되어 일종의 언어 구조를 생성한다는 것을 인식하는 문제로 정의 할 수 있습니다. 예를 들어, foxes 라는 단어를 fox-es 두 개로 나눌 수 있습니다 . foxes 라는 단어 가 두 가지 형태소로 구성되어 있음을 알 수 있습니다 . 하나는 fox 이고 다른 하나는 -es 입니다.

다른 의미에서 우리는 형태학이 다음에 대한 연구라고 말할 수 있습니다.

  • 단어의 형성.

  • 단어의 기원.

  • 단어의 문법적 형태.

  • 단어 형성에 접두사 및 접미사 사용.

  • 언어의 품사 (PoS)가 형성되는 방식.

형태소의 유형

가장 작은 의미를 갖는 단위 인 형태소는 두 가지 유형으로 나눌 수 있습니다.

  • Stems

  • 단어 순서

줄기

단어의 핵심 의미 단위입니다. 우리는 또한 그것이 단어의 뿌리라고 말할 수 있습니다. 예를 들어, foxes라는 단어에서 줄기는 fox입니다.

  • Affixes− 이름에서 알 수 있듯이 단어에 추가적인 의미와 문법 기능을 추가합니다. 예를 들어, foxes라는 단어에서 접사는 -es입니다.

또한 접미사는 다음 네 가지 유형으로 나눌 수 있습니다.

    • Prefixes− 이름에서 알 수 있듯이 접두사가 어간 앞에옵니다. 예를 들어 unbuckle이라는 단어에서 un은 접두사입니다.

    • Suffixes− 이름에서 알 수 있듯이 접미사는 어간을 따릅니다. 예를 들어, cats라는 단어에서 -s는 접미사입니다.

    • Infixes− 이름에서 알 수 있듯이 중어는 스템 내부에 삽입됩니다. 예를 들어, cupful이라는 단어는 -s를 접미사로 사용하여 cupsful로 복수화 할 수 있습니다.

    • Circumfixes− 그들은 줄기 앞뒤에 있습니다. 영어로 된 circumfixes의 예는 매우 적습니다. 매우 일반적인 예는 'A-ing'입니다. 여기서 -A 선행 및 -ing을 사용할 수 있습니다.

단어 순서

단어의 순서는 형태 학적 분석에 의해 결정됩니다. 이제 형태 학적 파서를 구축하기위한 요구 사항을 살펴 보겠습니다.

사전

형태 학적 파서를 구축하기위한 첫 번째 요구 사항은 어휘입니다. 여기에는 어휘 목록이 포함되며 여기에는 어간 및 접미사 목록과 함께 기본 정보가 포함됩니다. 예를 들어 어간이 명사 어간인지 동사 어간인지 등의 정보가 있습니다.

Morphotactics

기본적으로 형태소 순서의 모델입니다. 다른 의미에서, 어떤 종류의 형태소가 단어 내에서 다른 종류의 형태소를 따를 수 있는지 설명하는 모델입니다. 예를 들어, 형태 론적 사실은 영어 복수 형태소가 항상 명사 앞에 오는 것이 아니라 뒤에 온다는 것입니다.

직교 규칙

이러한 철자 규칙은 단어에서 발생하는 변경 사항을 모델링하는 데 사용됩니다. 예를 들어, y를 즉, city + s = 도시가 아닌 도시와 같은 단어로 변환하는 규칙입니다.

구문 분석 또는 구문 분석 또는 구문 분석은 NLP의 세 번째 단계입니다. 이 단계의 목적은 정확한 의미를 도출하거나 텍스트에서 사전 적 의미를 말할 수 있습니다. 구문 분석은 정규 문법 규칙과 비교하여 텍스트의 의미를 확인합니다. 예를 들어 "hot ice-cream"과 같은 문장은 의미 분석기에 의해 거부됩니다.

이러한 의미에서 구문 분석 또는 구문 분석은 형식 문법 규칙에 따라 자연어의 기호 문자열을 분석하는 과정으로 정의 될 수 있습니다. 단어의 기원‘parsing’ 라틴어 ‘pars’‘part’.

파서의 개념

파싱 ​​작업을 구현하는 데 사용됩니다. 이는 입력 데이터 (텍스트)를 가져와 형식 문법에 따라 올바른 구문을 확인한 후 입력의 구조적 표현을 제공하도록 설계된 소프트웨어 구성 요소로 정의 할 수 있습니다. 또한 일반적으로 구문 분석 트리 또는 추상 구문 트리 또는 기타 계층 구조의 형태로 데이터 구조를 구축합니다.

구문 분석의 주요 역할은 다음과 같습니다.

  • 구문 오류를보고합니다.

  • 일반적으로 발생하는 오류에서 복구하여 나머지 프로그램의 처리를 계속할 수 있습니다.

  • 구문 분석 트리를 생성합니다.

  • 심볼 테이블을 생성합니다.

  • 중간 표현 (IR)을 생성합니다.

구문 분석 유형

파생은 구문 분석을 다음 두 가지 유형으로 나눕니다.

  • 하향식 구문 분석

  • 상향식 파싱

하향식 구문 분석

이러한 종류의 구문 분석에서 구문 분석기는 시작 기호에서 구문 분석 트리 구성을 시작한 다음 시작 기호를 입력으로 변환하려고합니다. 가장 일반적인 형태의 하향식 구문 분석은 재귀 절차를 사용하여 입력을 처리합니다. 재귀 하강 구문 분석의 주요 단점은 역 추적입니다.

상향식 파싱

이러한 종류의 구문 분석에서 구문 분석기는 입력 기호로 시작하여 시작 기호까지 구문 분석기 트리를 구성하려고합니다.

유도의 개념

입력 문자열을 얻으려면 일련의 생산 규칙이 필요합니다. 파생은 일련의 생산 규칙입니다. 구문 분석 중에 비 터미널이 대체 될 생산 규칙을 ​​결정하는 것과 함께 대체 될 비 터미널을 결정해야합니다.

파생 유형

이 섹션에서는 생산 규칙으로 대체 할 비 터미널을 결정하는 데 사용할 수있는 두 가지 유형의 파생에 대해 알아 봅니다.

가장 왼쪽 파생

가장 왼쪽의 파생에서 입력의 감각적 형식이 스캔되고 왼쪽에서 오른쪽으로 대체됩니다. 이 경우의 감성 양식을 왼쪽 문장 양식이라고합니다.

가장 오른쪽 파생

가장 왼쪽의 파생에서 입력의 감각적 형식이 스캔되고 오른쪽에서 왼쪽으로 바뀝니다. 이 경우 감각 양식을 오른쪽 문장 양식이라고합니다.

파스 트리의 개념

파생의 그래픽 묘사로 정의 할 수 있습니다. 파생 시작 기호는 구문 분석 트리의 루트 역할을합니다. 모든 구문 분석 트리에서 리프 노드는 터미널이고 내부 노드는 비 터미널입니다. 파스 트리의 속성은 순회 순회가 원래 입력 문자열을 생성한다는 것입니다.

문법의 개념

문법은 잘 구성된 프로그램의 구문 구조를 설명하는 데 매우 중요하고 중요합니다. 문학적 의미에서 그들은 자연어 대화에 대한 구문 규칙을 나타냅니다. 언어학은 영어, 힌디어 등과 같은 자연어가 시작된 이래로 문법을 정의하려고 시도했습니다.

형식 언어 이론은 주로 프로그래밍 언어와 데이터 구조의 컴퓨터 과학 분야에도 적용 할 수 있습니다. 예를 들어, 'C'언어에서 정확한 문법 규칙은 목록과 명령문에서 함수를 만드는 방법을 나타냅니다.

문법의 수학적 모델은 Noam Chomsky 1956 년 컴퓨터 언어 작성에 효과적입니다.

수학적으로 문법 G는 공식적으로 4- 튜플 (N, T, S, P)로 작성 될 수 있습니다.

  • N 또는 VN = 비 말단 기호 집합, 즉 변수.

  • T 또는 = 터미널 기호 세트.

  • S = S ∈ N 인 시작 기호

  • P터미널 및 비 터미널에 대한 생산 규칙을 ​​나타냅니다. α → β 형식을 가지며, 여기서 α와 β는 V N ∪ ∑의 문자열 이고 α의 적어도 하나의 기호는 V N에 속합니다.

구문 구조 또는 구성 문법

Noam Chomsky가 도입 한 구문 구조 문법은 구성 관계를 기반으로합니다. 그렇기 때문에 선거구 문법이라고도합니다. 종속성 문법과 반대입니다.

선거구 문법의 예를 들기 전에 선거구 문법과 선거구 관계에 대한 기본적인 사항을 알아야합니다.

  • 모든 관련 프레임 워크는 구성 관계의 관점에서 문장 구조를 봅니다.

  • 선거구 관계는 그리스어 문법뿐만 아니라 라틴어의 주어-술어 구분에서 파생됩니다.

  • 기본 조항 구조는 다음과 같이 이해됩니다. noun phrase NPverb phrase VP.

우리는 문장을 쓸 수 있습니다 “This tree is illustrating the constituency relation” 다음과 같이-

종속성 문법

선거구 문법과 반대이며 의존 관계를 기반으로합니다. 그것은 Lucien Tesniere에 의해 소개되었습니다. 종속성 문법 (DG)은 구문 노드가 없기 때문에 구성 문법과 반대입니다.

Dependency 문법의 예를 들기 전에 Dependency 문법과 Dependency 관계에 대한 기본 사항을 알아야합니다.

  • DG에서 언어 단위, 즉 단어는 방향 링크로 서로 연결됩니다.

  • 동사는 절 구조의 중심이됩니다.

  • 다른 모든 구문 단위는 방향 링크 측면에서 동사에 연결됩니다. 이러한 구문 단위는dependencies.

우리는 문장을 쓸 수 있습니다 “This tree is illustrating the dependency relation” 다음과 같이;

Constituency 문법을 사용하는 구문 분석 트리를 구성 기반 구문 분석 트리라고합니다. 종속성 문법을 사용하는 구문 분석 트리를 종속성 기반 구문 분석 트리라고합니다.

문맥 자유 문법

CFG라고도하는 문맥 자유 문법은 언어를 설명하기위한 표기법이며 정규 문법의 상위 집합입니다. 다음 다이어그램에서 볼 수 있습니다.

CFG의 정의

CFG는 다음과 같은 네 가지 구성 요소가있는 유한 한 문법 규칙 집합으로 구성됩니다.

비 단말기 세트

V로 표시됩니다. 비 터미널은 문자열 세트를 나타내는 구문 변수로, 문법에 의해 생성 된 언어 정의에 도움이됩니다.

터미널 세트

토큰이라고도하며 Σ에 의해 정의됩니다. 문자열은 터미널의 기본 기호로 구성됩니다.

프로덕션 세트

P로 표시됩니다.이 세트는 터미널과 비 터미널이 결합되는 방법을 정의합니다. 모든 프로덕션 (P)은 비 터미널, 화살표 및 터미널 (터미널 시퀀스)로 구성됩니다. 비 터미널은 프로덕션의 왼쪽이라고하고 터미널은 프로덕션의 오른쪽이라고합니다.

시작 기호

생산은 시작 기호에서 시작됩니다. 기호 S로 표시됩니다. 비단 자 기호는 항상 시작 기호로 지정됩니다.

의미 론적 분석의 목적은 정확한 의미를 도출하거나 텍스트에서 사전 적 의미를 말할 수 있습니다. 의미 분석기의 작업은 텍스트의 의미를 확인하는 것입니다.

어휘 분석은 단어의 의미도 다룬다는 것을 이미 알고 있는데, 어휘 분석과 의미 론적 분석은 어떻게 다릅니 까? 어휘 분석은 더 작은 토큰을 기반으로하지만 다른 쪽 의미 분석은 더 큰 청크에 중점을 둡니다. 이것이 의미 론적 분석이 다음 두 부분으로 나눌 수있는 이유입니다.

개별 단어의 의미 공부

개별 단어의 의미에 대한 연구가 수행되는 의미 분석의 첫 번째 부분입니다. 이 부분을 어휘 의미론이라고합니다.

개별 단어의 조합 공부

두 번째 부분에서는 개별 단어를 결합하여 문장의 의미를 제공합니다.

의미 분석의 가장 중요한 작업은 문장의 적절한 의미를 얻는 것입니다. 예를 들어 문장 분석“Ram is great.”이 문장에서 화자는 Lord Ram 또는 Ram이라는 이름을 가진 사람에 대해 이야기하고 있습니다. 그렇기 때문에 문장의 적절한 의미를 얻기위한 의미 분석기의 역할이 중요합니다.

의미 분석의 요소

다음은 의미 분석의 몇 가지 중요한 요소입니다.

Hyponymy

일반 용어와 해당 일반 용어의 인스턴스 간의 관계로 정의 할 수 있습니다. 여기서 일반적인 용어는 hypernym이라고하며 그 인스턴스는 hyponym이라고합니다. 예를 들어, color라는 단어는 hypernym이고 color blue, yellow 등은 hyponym입니다.

Homonymy

철자가 같거나 형식이 같지만 의미가 다르고 관련없는 단어로 정의 될 수 있습니다. 예를 들어, "박쥐"라는 단어는 동음 이의어입니다. 박쥐는 공을 치는 도구가 될 수 있고 박쥐는 야행성 비행 포유류이기도합니다.

Polysemy

Polysemy는 "많은 기호"를 의미하는 그리스어 단어입니다. 다르지만 관련된 의미를 가진 단어 또는 구입니다. 즉, polysemy는 철자가 같지만 의미가 다르고 관련이 있다고 말할 수 있습니다. 예를 들어, "bank"라는 단어는 다음과 같은 의미를 갖는 다국어 단어입니다.

  • 금융 기관.

  • 그러한 기관이 위치한 건물.

  • "의존하다"의 동의어.

Polysemy와 Homonymy의 차이점

다국어와 동음 이의어 모두 구문이나 철자가 동일합니다. 그들 사이의 주요 차이점은 다국어에서는 단어의 의미가 관련이 있지만 동음 이의어에서는 단어의 의미가 관련이 없다는 것입니다. 예를 들어“은행”이라는 같은 단어에 대해 이야기하면 '금융 기관'또는 '강둑'이라는 의미로 쓸 수 있습니다. 이 경우 의미가 서로 관련이 없기 때문에 동음이의 예가 될 것입니다.

동의

형태는 다르지만 같거나 가까운 의미를 표현하는 두 어휘 항목 간의 관계입니다. 예를 들면 '작가 / 작가', '운명 / 운명'이 있습니다.

안토니 미

축을 기준으로 의미 구성 요소간에 대칭을 갖는 두 어휘 항목 간의 관계입니다. 반의어의 범위는 다음과 같습니다.

  • Application of property or not − 예 : '생명 / 사망', '신뢰성 / 불성실'

  • Application of scalable property − 예 : '부자 / 가난', '온 / 냉'

  • Application of a usage − 예는 '아버지 / 아들', '달 / 태양'입니다.

의미 표현

시맨틱 분석은 문장의 의미를 표현합니다. 그러나 의미 표현과 관련된 개념과 접근 방식에 들어가기 전에 의미 체계의 구성 요소를 이해해야합니다.

의미 체계의 구성 요소

단어 표현 또는 단어의 의미 표현에서 다음 구성 요소가 중요한 역할을합니다.

  • Entities− 특정 사람, 위치 등과 같은 개인을 나타냅니다. 예 : Haryana. 인도, Ram은 모두 실체입니다.

  • Concepts − 개인, 도시 등과 같은 개인의 일반적인 범주를 나타냅니다.

  • Relations− 개체와 개념 간의 관계를 나타냅니다. 예를 들어, Ram은 사람입니다.

  • Predicates− 동사 구조를 나타냅니다. 예를 들어 시맨틱 역할과 케이스 문법이 술어의 예입니다.

이제 의미 표현이 의미 체계의 구성 요소를 결합하는 방법을 보여 준다는 것을 이해할 수 있습니다. 즉, 상황을 설명하기 위해 엔티티, 개념, 관계 및 술어를 결합하는 방법을 보여줍니다. 또한 의미 론적 세계에 대한 추론을 가능하게합니다.

의미 표현에 대한 접근

의미 론적 분석은 의미 표현을 위해 다음과 같은 접근 방식을 사용합니다.

  • 1 차 술어 논리 (FOPL)

  • 시맨틱 넷

  • Frames

  • 개념적 종속성 (CD)

  • 규칙 기반 아키텍처

  • 사례 문법

  • 개념적 그래프

의미 표현의 필요성

여기서 제기되는 질문은 왜 의미 표현이 필요한가입니다. 다음은 같은 이유입니다-

언어 적 요소를 비언어적 요소에 연결

첫 번째 이유는 의미 표현의 도움으로 언어 적 요소를 비언어적 요소에 연결할 수 있다는 것입니다.

어휘 수준에서 다양성 표현

의미 표현의 도움으로 어휘 수준에서 모호하지 않은 표준 형식을 표현할 수 있습니다.

추론에 사용할 수 있습니다.

의미 표현은 의미 표현에서 지식을 추론 할뿐만 아니라 세상에서 무엇이 참인지 확인하는 데 사용할 수 있습니다.

어휘 의미론

개별 단어의 의미를 연구하는 의미 분석의 첫 번째 부분을 어휘 의미론이라고합니다. 여기에는 단어, 하위 단어, 접사 (하위 단위), 복합어 및 구문도 포함됩니다. 모든 단어, 하위 단어 등을 통칭하여 어휘 항목이라고합니다. 즉, 어휘 의미론은 어휘 항목, 문장의 의미 및 문장의 구문 간의 관계라고 말할 수 있습니다.

다음은 어휘 의미에 관련된 단계입니다-

  • 어휘 의미론에서 단어, 하위 단어, 접사 등과 같은 어휘 항목의 분류가 수행됩니다.

  • 어휘 의미론에서 단어, 하위 단어, 접사 등과 같은 어휘 항목의 분해가 수행됩니다.

  • 다양한 어휘 의미 구조 간의 차이점과 유사성도 분석됩니다.

우리는 단어가 문장에서 사용되는 맥락에 따라 다른 의미를 가지고 있음을 이해합니다. 인간의 언어에 대해 이야기하면 많은 단어가 발생 상황에 따라 여러 가지 방식으로 해석 될 수 있기 때문에 모호합니다.

자연어 처리 (NLP)에서 단어 감각 명확화는 특정 문맥에서 단어의 사용에 의해 활성화되는 단어의 의미를 결정하는 능력으로 정의 될 수 있습니다. 어휘 모호성, 구문 또는 의미는 NLP 시스템이 직면하는 첫 번째 문제 중 하나입니다. 정확도 수준이 높은 POS (Part-of-speech) 태거는 Word의 구문 모호성을 해결할 수 있습니다. 반면 의미 모호성을 해결하는 문제를 WSD (단어 감각 명확성)라고합니다. 의미 모호성을 해결하는 것은 구문 모호성을 해결하는 것보다 어렵습니다.

예를 들어, 단어에 대해 존재하는 뚜렷한 의미의 두 가지 예를 고려하십시오. “bass”

  • 저음이 들립니다.

  • 그는 구운베이스를 먹는 것을 좋아합니다.

단어의 발생 bass뚜렷한 의미를 나타냅니다. 첫 번째 문장에서는frequency 두 번째로 fish. 따라서 WSD에 의해 명확 해지면 위의 문장에 대한 올바른 의미를 다음과 같이 할당 할 수 있습니다.

  • 저음 / 주파수 소리가 들립니다.

  • 그는 구운 농어 / 생선을 좋아합니다.

WSD 평가

WSD 평가에는 다음 두 가지 입력이 필요합니다.

사전

WSD 평가를위한 첫 번째 입력은 사전입니다. 이는 명확하게 할 감각을 지정하는 데 사용됩니다.

코퍼스 테스트

WSD에 필요한 또 다른 입력은 대상 또는 올바른 감각이있는 높은 주석이 달린 테스트 코퍼스입니다. 테스트 말뭉치는 두 가지 유형이 될 수 있습니다. & minsu;

  • Lexical sample − 이런 종류의 말뭉치는 시스템에서 사용되며 작은 단어 샘플을 명확하게해야합니다.

  • All-words − 이런 종류의 말뭉치는 시스템에서 사용되며 실행중인 텍스트의 모든 단어를 명확하게합니다.

Word Sense Disambiguation (WSD)에 대한 접근 방식 및 방법

WSD에 대한 접근 방식과 방법은 단어 명확성에 사용되는 지식의 출처에 따라 분류됩니다.

이제 WSD에 대한 네 가지 기존 방법을 살펴 보겠습니다.

사전 기반 또는 지식 기반 방법

이름에서 알 수 있듯이 명확성을 위해 이러한 방법은 주로 사전, 보물 및 어휘 지식 기반에 의존합니다. 명확성을 위해 말뭉치 증거를 사용하지 않습니다. Lesk 방법은 Michael Lesk가 1986 년에 소개 한 중요한 사전 기반 방법입니다. Lesk 알고리즘의 기반이되는 Lesk 정의는 다음과 같습니다.“measure overlap between sense definitions for all words in context”. 그러나 2000 년에 Kilgarriff와 Rosensweig는 단순화 된 Lesk 정의를 다음과 같이 제시했습니다.“measure overlap between sense definitions of word and current context”, 이는 한 번에 한 단어에 대한 올바른 의미를 식별하는 것을 의미합니다. 여기서 현재 컨텍스트는 주변 문장이나 단락의 단어 집합입니다.

감독 방법

명확성을 위해 기계 학습 방법은 학습에 의미 주석 말뭉치를 사용합니다. 이러한 방법은 문맥이 의미를 명확하게하기 위해 자체적으로 충분한 증거를 제공 할 수 있다고 가정합니다. 이러한 방법에서 지식과 추론이라는 단어는 불필요한 것으로 간주됩니다. 문맥은 단어의 "특징"집합으로 표현됩니다. 주변 단어에 대한 정보도 포함됩니다. 지원 벡터 머신 및 메모리 기반 학습은 WSD에 대한 가장 성공적인지도 학습 접근 방식입니다. 이러한 방법은 많은 양의 수동 감지 태그 말뭉치를 사용하므로 생성하는 데 비용이 많이 듭니다.

반 감독 방법

훈련 말뭉치의 부족으로 인해 대부분의 단어 감각 명확화 알고리즘은 준지도 학습 방법을 사용합니다. 준지도 방법은 레이블이있는 데이터와 레이블이없는 데이터를 모두 사용하기 때문입니다. 이러한 방법에는 주석이 달린 매우 적은 양의 텍스트와 많은 양의 주석이없는 일반 텍스트가 필요합니다. 준지도 방법에 사용되는 기술은 시드 데이터에서 부트 스트랩하는 것입니다.

감독되지 않는 방법

이러한 방법은 유사한 맥락에서 유사한 감각이 발생한다고 가정합니다. 그렇기 때문에 문맥의 유사성 측정을 사용하여 단어 발생을 클러스터링하여 텍스트에서 감각을 유도 할 수 있습니다. 이 작업을 단어 감각 유도 또는 차별이라고합니다. 비지도 방법은 수작업에 의존하지 않기 때문에 지식 습득 병목 현상을 극복 할 수있는 큰 잠재력을 가지고 있습니다.

Word Sense Disambiguation (WSD)의 응용

단어 감각 명확화 (WSD)는 언어 기술의 거의 모든 응용 프로그램에 적용됩니다.

이제 WSD의 범위를 살펴 보겠습니다.

기계 번역

기계 번역 또는 MT는 WSD의 가장 명백한 응용 프로그램입니다. MT에서 서로 다른 감각으로 번역 된 단어에 대한 Lexical 선택은 WSD에 의해 수행됩니다. MT의 감각은 대상 언어의 단어로 표현됩니다. 대부분의 기계 번역 시스템은 명시적인 WSD 모듈을 사용하지 않습니다.

정보 검색 (IR)

정보 검색 (IR)은 문서 저장소, 특히 텍스트 정보에서 정보의 조직, 저장, 검색 및 평가를 처리하는 소프트웨어 프로그램으로 정의 될 수 있습니다. 이 시스템은 기본적으로 사용자가 필요한 정보를 찾는 데 도움을 주지만 질문에 대한 답변을 명시 적으로 반환하지는 않습니다. WSD는 IR 시스템에 제공되는 쿼리의 모호성을 해결하는 데 사용됩니다. MT와 마찬가지로 현재의 IR 시스템은 WSD 모듈을 명시 적으로 사용하지 않으며 사용자가 쿼리에 충분한 컨텍스트를 입력하여 관련 문서 만 검색한다는 개념에 의존합니다.

텍스트 마이닝 및 정보 추출 (IE)

대부분의 응용 프로그램에서 WSD는 텍스트를 정확하게 분석하는 데 필요합니다. 예를 들어, WSD는 지능형 수집 시스템이 올바른 단어를 표시하도록 도와줍니다. 예를 들어, 의료 지능형 시스템은 "의료 약물"이 아닌 "불법 약물"을 표시해야 할 수 있습니다.

사전 편집

현대 사전은 말뭉치 기반이기 때문에 WSD와 사전은 루프에서 함께 작동 할 수 있습니다. 사전 식을 통해 WSD는 대략적인 경험적 감각 그룹과 통계적으로 의미있는 감각의 맥락 적 지표를 제공합니다.

Word Sense Disambiguation (WSD)의 어려움

다음은 단어 감각 명확화 (WSD)가 직면 한 몇 가지 어려움입니다.

사전의 차이점

WSD의 주요 문제는 서로 다른 감각이 매우 밀접하게 관련 될 수 있기 때문에 단어의 의미를 결정하는 것입니다. 다른 사전과 시소러스조차도 단어를 서로 다른 감각으로 구분할 수 있습니다.

다양한 애플리케이션을위한 다양한 알고리즘

WSD의 또 다른 문제는 애플리케이션마다 완전히 다른 알고리즘이 필요할 수 있다는 것입니다. 예를 들어, 기계 번역에서는 대상 단어 선택의 형태를 취합니다. 그리고 정보 검색에서 감지 인벤토리가 필요하지 않습니다.

판사 간 차이

WSD의 또 다른 문제는 WSD 시스템이 일반적으로 작업에 대한 결과를 인간의 작업과 비교하여 테스트한다는 것입니다. 이를 판사 간 분산 문제라고합니다.

단어 감각의 불연속성

WSD의 또 다른 어려움은 단어를 개별 하위 의미로 쉽게 나눌 수 없다는 것입니다.

인공 지능의 가장 어려운 문제는 컴퓨터 로 자연어를 처리하는 것, 즉 자연어 처리 가 인공 지능의 가장 어려운 문제입니다. NLP의 주요 문제에 대해 이야기하면 NLP의 주요 문제 중 하나는 담화 처리입니다. 발화가 어떻게 결합하여 형성되는지에 대한 이론과 모델을 구축하는 것입니다.coherent discourse. 실제로 언어는 영화와 같이 분리되고 관련이없는 문장이 아니라 항상 배치되고 구조화되고 일관된 문장 그룹으로 구성됩니다. 이러한 일관된 문장 그룹을 담화라고합니다.

일관성의 개념

일관성과 담화 구조는 여러 방식으로 상호 연결되어 있습니다. 좋은 텍스트의 속성과 함께 일관성은 자연어 생성 시스템의 출력 품질을 평가하는 데 사용됩니다. 여기서 제기되는 질문은 텍스트가 일관 적이라는 것이 무엇을 의미합니까? 우리가 신문의 모든 페이지에서 한 문장을 모았다고 가정하면 그것이 담론이 될까요? 당연히 아니지. 이 문장들이 일관성을 나타내지 않기 때문입니다. 일관된 담론은 다음과 같은 속성을 가져야합니다.

발화 간의 일관성 관계

발화 사이에 의미있는 연결이 있다면 담론은 일관성이있을 것입니다. 이 속성을 일관성 관계라고합니다. 예를 들어, 발화 간의 연결을 정당화하기 위해 일종의 설명이 있어야합니다.

엔티티 간의 관계

담론을 일관되게 만드는 또 다른 속성은 개체와 특정 종류의 관계가 있어야한다는 것입니다. 이러한 종류의 일관성을 엔티티 기반 일관성이라고합니다.

담화 구조

담화에 관한 중요한 질문은 담화가 어떤 구조를 가져야 하는가입니다. 이 질문에 대한 답은 우리가 담화에 적용한 분할에 달려 있습니다. 담화 분할은 대규모 담화의 구조 유형을 결정하는 것으로 정의 될 수 있습니다. 담화 분할을 구현하는 것은 매우 어렵지만information retrieval, text summarization and information extraction 응용 프로그램의 종류.

담화 분할을위한 알고리즘

이 섹션에서는 담화 분할을위한 알고리즘에 대해 배웁니다. 알고리즘은 아래에 설명되어 있습니다.

감독되지 않은 담화 분할

감독되지 않은 담화 분할의 클래스는 종종 선형 분할로 표현됩니다. 예를 들어 선형 분할 작업을 이해할 수 있습니다. 이 예에서는 텍스트를 여러 단락 단위로 분할하는 작업이 있습니다. 단위는 원본 텍스트의 구절을 나타냅니다. 이러한 알고리즘은 텍스트 단위를 함께 묶기 위해 특정 언어 장치를 사용하는 것으로 정의 될 수있는 응집력에 의존합니다. 반면에 어휘 집합은 동의어의 사용과 같이 두 단위로 된 둘 이상의 단어 간의 관계로 표시되는 응집력입니다.

감독 된 담화 분할

이전 방법에는 손으로 레이블이 지정된 세그먼트 경계가 없습니다. 반면에지도 담화 분할에는 경계 레이블이 지정된 훈련 데이터가 있어야합니다. 같은 것을 얻는 것은 매우 쉽습니다. 감독 된 담화 분할에서 담화 마커 또는 단서 단어가 중요한 역할을합니다. 담화 마커 또는 단서 단어는 담화 구조를 신호하는 기능을하는 단어 또는 구입니다. 이러한 담론 마커는 도메인별로 다릅니다.

텍스트 일관성

어휘 반복은 담화에서 구조를 찾는 방법이지만 일관된 담화라는 요구 사항을 충족하지 못합니다. 일관된 담론을 달성하기 위해서는 구체적으로 일관된 관계에 초점을 맞춰야합니다. 일관성 관계는 담론에서 발화 간의 가능한 연결을 정의한다는 것을 알고 있습니다. Hebb는 다음과 같은 종류의 관계를 제안했습니다.

우리는 두 학기를 취하고 있습니다 S0S1 두 개의 관련 문장의 의미를 나타냅니다.

결과

용어에 의해 주장 된 국가를 추론한다 S0 에 의해 주장 된 상태를 유발할 수 있습니다. S1. 예를 들어 두 개의 문은 관계 결과를 보여줍니다. Ram이 불에 탔습니다. 그의 피부는 타 버렸다.

설명

그것은 국가가 주장하는 것을 추론합니다. S1 에 의해 주장 된 상태를 유발할 수 있습니다. S0. 예를 들어, 두 문장은 관계를 보여줍니다. Ram은 Shyam의 친구와 싸웠습니다. 그는 취했다.

평행

다음의 주장에서 p (a1, a2,…)를 유추합니다. S0 어설 션에서 p (b1, b2,…) S1. 여기서 ai와 bi는 모든 i에 대해 유사합니다. 예를 들어, 두 개의 문은 병렬입니다-Ram wanted car. Shyam은 돈을 원했습니다.

동화

두 주장에서 동일한 명제 P를 추론합니다. S0S1예를 들어, 두 문장은 관계 정교화를 보여줍니다. Ram은 Chandigarh 출신입니다. Shyam은 Kerala 출신입니다.

기회

다음의 주장으로부터 상태의 변화가 유추 될 수있을 때 발생합니다. S0, 최종 상태를 추론 할 수 있습니다. S1그 반대. 예를 들어, 두 문장은 관계 상황을 보여줍니다. Ram이 책을 집어 들었습니다. 그는 그것을 Shyam에게 주었다.

계층 적 담론 구조 구축

전체 담론의 일관성은 일관성 관계 간의 계층 적 구조로도 고려할 수 있습니다. 예를 들어, 다음 구절은 계층 구조로 나타낼 수 있습니다.

  • S1 − Ram은 돈을 입금하기 위해 은행에갔습니다.

  • S2 -그는 기차를 타고 Shyam의 옷가게로갔습니다.

  • S3 − 그는 옷을 사고 싶었습니다.

  • S4 − 그는 파티를위한 새 옷이 없습니다.

  • S5 − 그는 또한 자신의 건강에 대해 Shyam과 이야기하고 싶었습니다.

참조 해상도

모든 담론에서 문장을 해석하는 것은 또 다른 중요한 작업이며이를 달성하기 위해 우리는 누가 또는 어떤 독립 체에 대해 이야기하고 있는지 알아야합니다. 여기서 해석 참조가 핵심 요소입니다.Reference개체 또는 개인을 나타내는 언어 적 표현으로 정의 될 수 있습니다. 예를 들어, 구절에서, , ABC 은행의 매니저 ,보고 자신의 가게에서 친구 시암을. 그는 그를 만나러 갔는데, Ram, His, He와 같은 언어 적 표현은 참조입니다.

같은 메모에서 reference resolution 어떤 엔티티가 어떤 언어 적 표현에 의해 참조되는지 결정하는 작업으로 정의 될 수 있습니다.

참조 확인에 사용되는 용어

참조 해상도에서 다음 용어를 사용합니다.

  • Referring expression− 참조를 수행하는 데 사용되는 자연어 표현을 참조 표현이라고합니다. 예를 들어, 위에 사용 된 구절은 참조 표현입니다.

  • Referent− 참조되는 엔티티입니다. 예를 들어, 마지막으로 주어진 예에서 Ram은 참조 대상입니다.

  • Corefer− 동일한 엔티티를 참조하기 위해 두 개의 표현식이 사용되는 경우이를 corefers라고합니다. 예를 들면Ramhe corefers입니다.

  • Antecedent−이 기간에는 다른 기간을 사용할 수있는 라이센스가 있습니다. 예를 들면Ram 참조의 선행입니다. he.

  • Anaphora & Anaphoric− 이전에 문장에 도입 된 개체에 대한 참조로 정의 할 수 있습니다. 그리고 참조하는 표현을 아나 포릭이라고합니다.

  • Discourse model − 담론에서 언급 된 개체의 표현과 그들이 참여하는 관계를 포함하는 모델.

참조 식의 유형

이제 다양한 유형의 참조 표현식을 살펴 보겠습니다. 다섯 가지 유형의 참조 표현식이 아래에 설명되어 있습니다.

비 한정 명사구

이러한 종류의 참조는 담화 맥락에서 청중에게 새로운 실체를 나타냅니다. 예를 들어-Ram이 음식을 가져 오기 위해 하루를 돌았다는 문장에서-일부는 무기한 참조입니다.

명확한 명사구

위와 반대로, 그러한 종류의 언급은 담화 맥락에서 청중이 새롭지 않거나 식별 할 수없는 실체를 나타냅니다. 예를 들어, 문장에서-I used to read The Times of India – The Times of India는 확실한 참조입니다.

대명사

이것은 명확한 참조의 한 형태입니다. 예를 들어, Ram은 최대한 크게 웃었습니다. 단어he 대명사 참조 표현을 나타냅니다.

데모

이것들은 단순 명확한 대명사와는 다르게 설명하고 행동합니다. 예를 들어, 이것과 저것은 시범 대명사입니다.

이름

가장 단순한 유형의 참조 표현입니다. 사람, 조직 및 위치의 이름 일 수도 있습니다. 예를 들어, 위의 예에서 Ram은 이름 참조 표현식입니다.

참조 해결 작업

두 가지 참조 해결 작업이 아래에 설명되어 있습니다.

상호 참조 해상도

동일한 개체를 참조하는 텍스트에서 참조 표현을 찾는 작업입니다. 간단히 말해서 corefer 표현식을 찾는 작업입니다. 일련의 코어 퍼링 표현식을 상호 참조 체인이라고합니다. 예를 들어-He, Chief Manager 및 His-이들은 예제로 주어진 첫 번째 구절의 표현을 참조합니다.

상호 참조 해결에 대한 제약

영어에서 상호 참조 해결의 주요 문제는 대명사 it입니다. 그 이유는 대명사가 많은 용도로 사용되기 때문입니다. 예를 들어, 그와 그녀와 매우 흡사합니다. 대명사는 또한 특정 사물을 언급하지 않는 사물을 나타냅니다. 예를 들어 비가옵니다. 정말 맛있어요.

대명사 아나 포라 해상도

상호 참조 해결과 달리 대명사 anaphora 해결은 단일 대명사에 대한 선행을 찾는 작업으로 정의 될 수 있습니다. 예를 들어, 대명사는 그의이고 대명사 anaphora 해결의 임무는 Ram이 선행이기 때문에 Ram이라는 단어를 찾는 것입니다.

태깅은 토큰에 대한 설명의 자동 할당으로 정의 될 수있는 일종의 분류입니다. 여기서 설명자는 태그라고하며 품사, 의미 정보 등 중 하나를 나타낼 수 있습니다.

이제 Part-of-Speech (PoS) 태깅에 대해 이야기하면 품사 중 하나를 주어진 단어에 할당하는 프로세스로 정의 될 수 있습니다. 일반적으로 POS 태깅이라고합니다. 간단히 말해서 POS 태깅은 문장의 각 단어에 적절한 품사로 레이블을 지정하는 작업이라고 말할 수 있습니다. 우리는 이미 품사에 명사, 동사, 부사, 형용사, 대명사, 접속사 및 그 하위 범주가 포함된다는 것을 알고 있습니다.

대부분의 POS 태깅은 Rule Base POS 태깅, Stochastic POS 태깅 및 변환 기반 태깅에 속합니다.

규칙 기반 POS 태깅

가장 오래된 태깅 기술 중 하나는 규칙 기반 POS 태깅입니다. 규칙 기반 태거는 각 단어에 태그를 지정할 수있는 태그를 얻기 위해 사전 또는 어휘를 사용합니다. 단어에 가능한 태그가 두 개 이상있는 경우 규칙 기반 태거는 손으로 작성한 규칙을 사용하여 올바른 태그를 식별합니다. 단어의 앞뒤 단어와 함께 단어의 언어 적 특징을 분석하여 규칙 기반 태깅에서 명확성을 수행 할 수도 있습니다. 예를 들어, 단어의 선행 단어가 기사 인 경우 단어는 명사 여야합니다.

이름에서 알 수 있듯이 규칙 기반 POS 태깅의 이러한 모든 종류의 정보는 규칙 형식으로 코딩됩니다. 이러한 규칙은 다음 중 하나 일 수 있습니다.

  • 컨텍스트 패턴 규칙

  • 또는 정규 표현식이 유한 상태 오토마타로 컴파일되어 어휘 적으로 모호한 문장 표현과 교차합니다.

또한 2 단계 아키텍처를 통해 규칙 기반 POS 태깅을 이해할 수 있습니다.

  • First stage − 첫 번째 단계에서는 사전을 사용하여 각 단어에 잠재적 품사 목록을 할당합니다.

  • Second stage − 두 번째 단계에서는 손으로 쓴 모호성 해제 규칙의 큰 목록을 사용하여 목록을 각 단어에 대한 단일 품사로 정렬합니다.

규칙 기반 POS 태깅의 속성

규칙 기반 POS 태거는 다음과 같은 속성을 가지고 있습니다.

  • 이러한 태거는 지식 기반 태거입니다.

  • 규칙 기반 POS 태깅의 규칙은 수동으로 작성됩니다.

  • 정보는 규칙의 형태로 코딩됩니다.

  • 약 1000 개 정도의 제한된 수의 규칙이 있습니다.

  • 평활화 및 언어 모델링은 규칙 기반 태거에서 명시 적으로 정의됩니다.

확률 적 POS 태깅

태깅의 또 다른 기술은 Stochastic POS 태깅입니다. 이제 여기서 제기되는 질문은 어떤 모델이 확률적일 수 있는지입니다. 빈도 또는 확률 (통계)을 포함하는 모델을 확률 적이라고 할 수 있습니다. 품사 태깅 문제에 대한 다양한 접근 방식을 확률 적 태 거라고 할 수 있습니다.

가장 간단한 확률 적 태거는 POS 태깅에 다음 접근 방식을 적용합니다.

단어 빈도 접근법

이 접근 방식에서 확률 적 태거는 단어가 특정 태그와 함께 발생할 확률을 기반으로 단어를 명확하게합니다. 또한 학습 세트의 단어와 가장 자주 접하는 태그는 해당 단어의 모호한 인스턴스에 할당 된 태그라고 말할 수 있습니다. 이 접근 방식의 주요 문제는 허용되지 않는 태그 시퀀스가 ​​생성 될 수 있다는 것입니다.

태그 시퀀스 확률

이것은 확률 적 태깅의 또 다른 접근 방식으로, 태거는 주어진 태그 시퀀스가 ​​발생할 확률을 계산합니다. n-gram 접근이라고도합니다. 주어진 단어에 대한 최상의 태그가 이전 n 개의 태그와 함께 발생할 확률에 의해 결정되기 때문에 그렇게 호출됩니다.

확률 적 POST 태깅의 속성

확률 적 POS 태거는 다음과 같은 속성을 가지고 있습니다.

  • 이 POS 태깅은 태그 발생 확률을 기반으로합니다.

  • 훈련 코퍼스가 필요합니다.

  • 말뭉치에 존재하지 않는 단어에 대한 확률은 없습니다.

  • 다른 테스트 코퍼스를 사용합니다 (훈련 코퍼스 제외).

  • 훈련 말뭉치에서 단어와 관련된 가장 빈번한 태그를 선택하기 때문에 가장 간단한 POS 태깅입니다.

변환 기반 태깅

변환 기반 태깅을 Brill 태깅이라고도합니다. 주어진 텍스트에 대한 POS의 자동 태그 지정을위한 규칙 기반 알고리즘 인 변환 기반 학습 (TBL)의 인스턴스입니다. TBL은 우리가 읽을 수있는 형태로 언어 지식을 가질 수있게 해주 며 변환 규칙을 사용하여 한 상태를 다른 상태로 변환합니다.

규칙 기반과 확률 적이라는 이전에 설명 된 태거에서 영감을 얻었습니다. 규칙 기반과 변환 태거 사이의 유사성을 보면 규칙 기반과 마찬가지로 어떤 태그를 어떤 단어에 할당해야하는지 지정하는 규칙을 기반으로합니다. 반면에 확률론과 변환 태거의 유사성을 보면 확률론과 같이 데이터에서 자동으로 규칙을 유도하는 머신 러닝 기법입니다.

변환 기반 학습 (TBL) 작업

변환 기반 태거의 작동 및 개념을 이해하려면 변환 기반 학습의 작동을 이해해야합니다. TBL의 작동을 이해하려면 다음 단계를 고려하십시오.

  • Start with the solution − TBL은 일반적으로 문제에 대한 해결책으로 시작하여 주기적으로 작동합니다.

  • Most beneficial transformation chosen − 각주기에서 TBL은 가장 유익한 변환을 선택합니다.

  • Apply to the problem − 마지막 단계에서 선택한 변환이 문제에 적용됩니다.

알고리즘은 2 단계에서 선택한 변환이 더 이상 값을 추가하지 않거나 더 이상 선택할 변환이 없을 때 중지됩니다. 이러한 종류의 학습은 분류 작업에 가장 적합합니다.

변환 기반 학습 (TBL)의 장점

TBL의 장점은 다음과 같습니다.

  • 간단한 규칙의 작은 집합을 배우고 이러한 규칙은 태그 지정에 충분합니다.

  • 학습 된 규칙이 이해하기 쉽기 때문에 개발과 디버깅이 TBL에서 매우 쉽습니다.

  • TBL에는 기계 학습 및 사람이 생성 한 규칙의 인터레이스가 있기 때문에 태깅의 복잡성이 줄어 듭니다.

  • 변환 기반 태거는 Markov 모델 태거보다 훨씬 빠릅니다.

변환 기반 학습 (TBL)의 단점

TBL의 단점은 다음과 같습니다.

  • 변환 기반 학습 (TBL)은 태그 확률을 제공하지 않습니다.

  • TBL에서 훈련 시간은 특히 큰 말뭉치에서 매우 깁니다.

HMM (Hidden Markov Model) POS 태깅

HMM POS 태깅에 대해 자세히 알아보기 전에 HMM (Hidden Markov Model)의 개념을 이해해야합니다.

은닉 마르코프 모델

HMM 모델은 기본 확률 프로세스가 숨겨져있는 이중 포함 확률 모델로 정의 될 수 있습니다. 이 숨겨진 확률 적 과정은 일련의 관찰을 생성하는 또 다른 확률 적 과정을 통해서만 관찰 할 수 있습니다.

예를 들어, 일련의 숨겨진 동전 던지기 실험이 수행되고 우리는 앞면과 뒷면으로 구성된 관찰 순서 만 볼 수 있습니다. 프로세스의 실제 세부 정보 (사용 된 코인 수, 선택한 순서)는 우리에게 숨겨져 있습니다. 이 머리와 꼬리의 시퀀스를 관찰함으로써 우리는 시퀀스를 설명하기 위해 여러 개의 HMM을 만들 수 있습니다. 다음은이 문제에 대한 은닉 마르코프 모델의 한 형태입니다.

우리는 HMM에 두 개의 상태가 있고 각 상태가 서로 다른 바이어스 된 코인의 선택에 해당한다고 가정했습니다. 다음 행렬은 상태 전이 확률을 제공합니다-

$$A = \begin{bmatrix}a11 & a12 \\a21 & a22 \end{bmatrix}$$

여기,

  • aij = i에서 j로 한 상태에서 다른 상태로 전이 할 확률.

  • a11 + a12= 1 및 a 21 + a 22 = 1

  • P1 = 첫 번째 동전의 앞면 확률, ​​즉 첫 번째 동전의 편향.

  • P2 = 두 번째 동전의 앞면 확률, ​​즉 두 번째 동전의 편향.

코인이 3 개 이상이라고 가정하여 HMM 모델을 생성 할 수도 있습니다.

이런 식으로 HMM을 다음 요소로 특성화 할 수 있습니다.

  • N, 모델의 상태 수 (위의 예에서 N = 2, 2 개 상태 만).

  • M, 위의 예에서 각 상태에 나타날 수있는 고유 한 관측치의 수 M = 2, 즉 H 또는 T).

  • A, 상태 전이 확률 분포-위의 예에서 행렬 A.

  • P, 각 상태에서 관찰 가능한 심볼의 확률 분포 (이 예에서는 P1 및 P2).

  • I, 초기 상태 분포.

POS 태깅에 HMM 사용

POS 태깅 프로세스는 주어진 단어 시퀀스를 생성했을 가능성이 가장 높은 태그 시퀀스를 찾는 프로세스입니다. HMM (Hidden Markov Model)을 사용하여이 POS 프로세스를 모델링 할 수 있습니다.tags 입니다 hidden states 그 생산 observable output, 즉, words.

수학적으로 POS 태깅에서 우리는 항상 최대화하는 태그 시퀀스 (C)를 찾는 데 관심이 있습니다.

P (C|W)

어디,

C = C 1 , C 2 , C 3 ... CT

승 = 승 1 , 승 2 , 승 3 , 승 T

코인의 다른 측면에서는 그러한 종류의 시퀀스를 합리적으로 추정하려면 많은 통계 데이터가 필요합니다. 그러나 문제를 단순화하기 위해 몇 가지 가정과 함께 몇 가지 수학적 변환을 적용 할 수 있습니다.

POS 태깅을 위해 HMM을 사용하는 것은 베이지안 간섭의 특별한 경우입니다. 따라서 위에서 언급 한 조건부 확률이 다음과 같다는 Bayes의 규칙을 사용하여 문제를 다시 시작합니다.

(PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT)) / PROB (W1,..., WT)

위의 값을 최대화하는 시퀀스 C를 찾는 데 관심이 있기 때문에 이러한 모든 경우에 분모를 제거 할 수 있습니다. 이것은 우리의 대답에 영향을 미치지 않습니다. 이제 우리의 문제는 최대화되는 시퀀스 C를 찾는 것으로 축소됩니다.

PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT) (1)

위 식에서 문제를 줄인 후에도 많은 양의 데이터가 필요합니다. 우리는 문제를 극복하기 위해 위의 표현에서 두 가지 확률에 대해 합리적인 독립 가정을 할 수 있습니다.

첫 번째 가정

태그의 확률은 이전 태그 (bigram 모델) 또는 이전 두 태그 (trigram 모델) 또는 이전 n 태그 (n-gram 모델)에 따라 달라지며 수학적으로 다음과 같이 설명 할 수 있습니다.

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-n+1…Ci-1) (n-gram model)

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-1) (bigram model)

각 태그에 대한 초기 확률을 가정하여 문장의 시작을 설명 할 수 있습니다.

PROB (C1|C0) = PROB initial (C1)

두 번째 가정

위의 방정식 (1)에서 두 번째 확률은 다음과 같이 수학적으로 설명 할 수있는 이전 또는 후속 범주의 단어와 독립적 인 범주에 단어가 나타난다 고 가정하여 근사화 할 수 있습니다.

PROB (W1,..., WT | C1,..., CT) = Πi=1..T PROB (Wi|Ci)

이제 위의 두 가지 가정에 기초하여 우리의 목표는 다음을 최대화하는 시퀀스 C를 찾는 것으로 축소됩니다.

Πi=1...T PROB(Ci|Ci-1) * PROB(Wi|Ci)

이제 여기서 제기되는 질문은 문제를 위의 형식으로 변환하는 것이 정말 도움이되었다는 것입니다. 대답은-그렇습니다. 태그가 붙은 큰 말뭉치가있는 경우 위 공식의 두 확률은 다음과 같이 계산할 수 있습니다.

PROB (Ci=VERB|Ci-1=NOUN) = (# of instances where Verb follows Noun) / (# of instances where Noun appears) (2)

PROB (Wi|Ci) = (# of instances where Wi appears in Ci) /(# of instances where Ci appears) (3)

이 장에서는 자연어 처리의 자연어 시작에 대해 설명합니다. 먼저 자연어 문법이 무엇인지 먼저 이해합시다.

자연어 문법

언어학의 경우 언어는 임의의 음성 기호 그룹입니다. 우리는 언어가 창의적이며 규칙에 의해 지배되며 타고난 동시에 보편적이라고 말할 수 있습니다. 반면에 그것은 인간적이기도합니다. 언어의 본질은 사람마다 다릅니다. 언어의 본질에 대해 많은 오해가 있습니다. 그래서 모호한 용어의 의미를 이해하는 것이 매우 중요합니다.‘grammar’. 언어학에서 문법이라는 용어는 언어가 작동하는 도움을 받아 규칙 또는 원칙으로 정의 될 수 있습니다. 넓은 의미에서 문법을 두 가지 범주로 나눌 수 있습니다.

설명 문법

언어학 및 문법 학자가 화자의 문법을 공식화하는 일련의 규칙을 설명 문법이라고합니다.

관점 문법

그것은 언어의 정확성 표준을 유지하려는 매우 다른 문법 감각입니다. 이 범주는 언어의 실제 작동과는 거의 관련이 없습니다.

언어의 구성 요소

연구 언어는 언어 조사의 임의의 부분뿐만 아니라 관습적인 상호 관련된 구성 요소로 나뉩니다. 이러한 구성 요소에 대한 설명은 다음과 같습니다.

음운론

언어의 첫 번째 구성 요소는 음운론입니다. 특정 언어의 음성을 연구하는 것입니다. 단어의 기원은 '전화'가 소리 또는 음성을 의미하는 그리스어로 추적 될 수 있습니다. 음운학의 한 부분 인 음성학은 생산, 지각 또는 물리적 특성의 관점에서 인간 언어의 음성 소리를 연구하는 것입니다. IPA (International Phonetic Alphabet)는 음운학을 공부하면서 사람의 소리를 규칙적으로 표현하는 도구입니다. IPA에서 모든 서면 기호는 단 하나의 음성을 나타내며 그 반대의 경우도 마찬가지입니다.

음소

언어에서 한 단어를 다른 단어와 구별하는 소리 단위 중 하나로 정의 될 수 있습니다. 언어학에서 음소는 슬래시 사이에 기록됩니다. 예 : 음소/k/ 키트, 촌극과 같은 단어에서 발생합니다.

형태

그것은 언어의 두 번째 구성 요소입니다. 특정 언어에서 단어의 구조와 분류에 대한 연구입니다. 이 단어의 기원은 그리스어로 '모프'라는 단어가 '형태'를 의미합니다. 형태학은 언어의 단어 형성 원리를 고려합니다. 즉, 사운드가 접두사, 접미사 및 어근과 같은 의미있는 단위로 결합되는 방식입니다. 또한 단어를 품사로 그룹화하는 방법도 고려합니다.

Lexeme

언어학에서는 한 단어가 취하는 일련의 형태에 해당하는 형태 학적 분석의 추상 단위를 lexeme이라고합니다. 어휘가 문장에서 사용되는 방식은 문법 범주에 따라 결정됩니다. Lexeme은 개별 단어 또는 여러 단어 일 수 있습니다. 예를 들어 talk라는 단어는 talks, talked 및 talk와 같은 많은 문법 변형이있을 수있는 개별 단어 lexeme의 예입니다. 다중 단어 어휘는 하나 이상의 직교 단어로 구성 될 수 있습니다. 예를 들어 말하기, 풀 스루 등이 여러 단어로 된 어휘의 예입니다.

통사론

언어의 세 번째 요소입니다. 단어의 순서와 배열을 더 큰 단위로 연구하는 것입니다. 이 단어는 그리스어로 추적 될 수 있는데, 여기서 suntassein이라는 단어는 '정돈하다'를 의미합니다. 문장의 유형과 구조, 절, 구절을 연구합니다.

의미론

그것은 언어의 네 번째 구성 요소입니다. 의미가 전달되는 방식에 대한 연구입니다. 의미는 외부 세계와 관련되거나 문장의 문법과 관련 될 수 있습니다. 이 단어는 그리스어로 추적 될 수 있습니다. 여기서 semainein이라는 단어는 '의미하다', '보여준다', '신호'를 의미합니다.

실용 학

언어의 다섯 번째 구성 요소입니다. 언어의 기능과 문맥에서의 사용에 대한 연구입니다. 단어의 기원은 'pragma'라는 단어가 '행동', 'affair'를 의미하는 그리스어로 추적 될 수 있습니다.

문법 범주

문법 범주는 언어의 문법 내에서 단위 또는 기능의 클래스로 정의 될 수 있습니다. 이러한 단위는 언어의 구성 요소이며 공통된 특성 집합을 공유합니다. 문법 범주는 문법 기능이라고도합니다.

문법 범주 목록은 아래에 설명되어 있습니다.

번호

가장 단순한 문법 범주입니다. 이 범주와 관련된 단수 및 복수의 두 가지 용어가 있습니다. 단수는 '하나'의 개념이고 복수는 '하나 이상'의 개념입니다. 예를 들어, 개 / 개, this / these.

성별

문법적 성별은 개인 대명사와 3 인칭의 변형으로 표현됩니다. 문법적 성별의 예는 단수입니다. he, she, it; 1 인칭과 2 인칭 형태-나, 우리와 당신; 3 인칭 복수형은 공통 성별 또는 중성 성별입니다.

사람

또 다른 간단한 문법 범주는 사람입니다. 이에 따라 다음 세 가지 용어가 인식됩니다.

  • 1st person − 말하고있는 사람이 1 인칭으로 인식됩니다.

  • 2nd person − 듣는 사람 또는 말한 사람은 두 번째 사람으로 인식됩니다.

  • 3rd person − 우리가 말하는 사람 또는 사물이 3 인칭으로 인식됩니다.

케이스

가장 어려운 문법 범주 중 하나입니다. 이것은 명사구 (NP)의 기능 또는 명사구와 동사 또는 문장의 다른 명사구와의 관계에 대한 표시로 정의 될 수 있습니다. 개인 및 의문 대명사로 표현되는 다음 세 가지 경우가 있습니다.

  • Nominative case− 주제의 기능입니다. 예를 들어, 나, 우리, 당신, 그, 그녀, 그것, 그들과 누가 지명 적입니다.

  • Genitive case− 소유자의 기능입니다. 예를 들어, my / mine, our / ours, his, her / hers, its, their / theirs, who are genitive.

  • Objective case− 객체의 기능입니다. 예를 들어, 나, 우리, 당신, 그, 그녀, 객관적인 그들.

정도

이 문법 범주는 형용사 및 부사와 관련이 있습니다. 다음과 같은 세 가지 용어가 있습니다.

  • Positive degree− 품질을 표현합니다. 예를 들어 크고 빠르며 아름다운 것은 양의 정도입니다.

  • Comparative degree− 두 항목 중 하나에서 품질의 더 큰 정도 또는 강도를 표현합니다. 예를 들어, 더 크고 빠르며 더 아름다운 것은 비교 정도입니다.

  • Superlative degree− 3 개 이상의 항목 중 하나에서 품질의 가장 큰 정도 또는 강도를 표현합니다. 예를 들어, 가장 크고 가장 빠르고 가장 아름다운 것은 최상급입니다.

명확함과 무한함

이 두 개념은 매우 간단합니다. 우리가 알고있는 명확성은 말하는 사람이나 듣는 사람이 알고 있거나 친숙하거나 식별 할 수있는 지시 대상을 나타냅니다. 반면에 무기한은 알려지지 않았거나 익숙하지 않은 지시 대상을 나타냅니다. 개념은 명사와 기사의 동시 발생에서 이해할 수 있습니다.

  • definite article-

  • indefinite articlea / an

시제

이 문법 범주는 동사와 관련이 있으며 행동 시간의 언어 적 표시로 정의 될 수 있습니다. 시제는 말하는 순간에 대한 사건의 시간을 나타 내기 때문에 관계를 설정합니다. 대체로 다음 세 가지 유형이 있습니다.

  • Present tense− 현재 순간의 행동 발생을 나타냅니다. 예를 들어, Ram은 열심히 일합니다.

  • Past tense− 현재 순간 이전의 행동 발생을 나타냅니다. 예를 들어, 비가 내 렸습니다.

  • Future tense− 현재 순간 이후의 행동 발생을 나타냅니다. 예를 들어 비가 올 것입니다.

양상

이 문법 범주는 이벤트의 관점으로 정의 될 수 있습니다. 다음 유형이 될 수 있습니다-

  • Perfective aspect− 관점은 전체적으로 취해지고 측면에서 완전합니다. 예를 들어, 다음과 같은 단순 과거형yesterday I met my friend, in English는 이벤트를 완전하고 전체적으로 보는 측면에서 완벽합니다.

  • Imperfective aspect− 관점은 측면에서 진행 중이고 불완전한 것으로 간주됩니다. 예를 들어, 현재 분사 시제는 다음과 같습니다.I am working on this problem, 영어에서는 이벤트를 불완전하고 진행중인 것으로 간주하므로 측면에서 불완전합니다.

기분

이 문법 범주는 정의하기가 조금 어렵지만 말하는 사람이 말하는 내용에 대한 화자의 태도를 나타내는 것으로 간단히 표현할 수 있습니다. 동사의 문법적 특징이기도합니다. 그것은 문법적 시제 및 문법적 측면과 구별됩니다. 기분의 예는 지시적, 의문 적, 명령 적, 금지 적 명령, 가정적, 잠재력, 선택적, 동명사 및 분사입니다.

협정

콩코드라고도합니다. 관련된 다른 단어에 따라 단어가 변할 때 발생합니다. 즉, 다른 단어 나 품사간에 일부 문법 범주의 값이 일치하도록 만드는 것입니다. 다음은 다른 문법 범주를 기반으로 한 계약입니다.

  • Agreement based on Person− 주어와 동사의 일치입니다. 예를 들어, 우리는 항상 "I am"및 "He is"를 사용하지만 "He am"및 "I is"는 사용하지 않습니다.

  • Agreement based on Number−이 합의는 주어와 동사 사이에 있습니다. 이 경우 1 인칭 단수, 2 인칭 복수 등에 대한 특정 동사 형태가 있습니다. 예를 들어, 1 인칭 단수 : I really am, 2nd person plural : We really are, 3rd person singular : The boy sings, 3rd person plural : The boys sing.

  • Agreement based on Gender− 영어에서는 대명사와 선행사간에 성별이 일치합니다. 예를 들어, 그는 목적지에 도달했습니다. 배는 목적지에 도착했습니다.

  • Agreement based on Case− 이러한 종류의 동의는 영어의 중요한 특징이 아닙니다. 예를 들어, 누가 먼저 왔습니까? 그 또는 그의 여동생?

음성 언어 구문

문어체 영어와 구어체 영문법에는 많은 공통적 인 특징이 있지만 그와 함께 여러 측면에서도 다릅니다. 다음 기능은 구어와 작문 영문법을 구별합니다-

불일치 및 수리

이 놀라운 기능은 말하기와 쓰기 영문법을 서로 다르게 만듭니다. 그것은 개별적으로 불일치 현상으로 알려져 있으며 총체적으로 수리 현상으로 알려져 있습니다. Disfluencies는 다음의 사용을 포함합니다-

  • Fillers words− 때때로 문장 사이에 필러 단어를 사용합니다. 필러 일시 중지 필러라고합니다. 그러한 단어의 예는 어와 음입니다.

  • Reparandum and repair− 문장 사이에 반복되는 단어 부분을 reparandum이라고합니다. 같은 세그먼트에서 변경된 단어를 수리라고합니다. 이것을 이해하기 위해 다음 예제를 고려하십시오-

Does ABC airlines offer any one-way flights uh one-way fares for 5000 rupees?

위의 문장에서 편도 비행은 수리이며 편도 비행은 수리입니다.

재시작

필러가 일시 중지 된 후 다시 시작됩니다. 예를 들어, 위 문장에서 스피커가 편도 항공편에 대해 질문하기 시작한 다음 중지하고 필러 일시 중지로 수정 한 다음 편도 요금에 대해 질문을 다시 시작할 때 재시작이 발생합니다.

단어 조각

때때로 우리는 더 작은 단어 조각으로 문장을 말합니다. 예를 들면wwha-what is the time? 여기에 단어 w-wha 단어 조각입니다.

정보 검색 (IR)은 문서 저장소, 특히 텍스트 정보에서 정보의 조직, 저장, 검색 및 평가를 처리하는 소프트웨어 프로그램으로 정의 될 수 있습니다. 이 시스템은 사용자가 필요한 정보를 찾는 데 도움을 주지만 질문에 대한 답변을 명시 적으로 반환하지는 않습니다. 필요한 정보로 구성 될 수있는 문서의 존재와 위치를 알려줍니다. 사용자의 요구 사항을 충족하는 문서를 관련 문서라고합니다. 완벽한 IR 시스템은 관련 문서 만 검색합니다.

다음 다이어그램의 도움으로 정보 검색 (IR) 과정을 이해할 수 있습니다.

위의 다이어그램에서 정보가 필요한 사용자는 자연어로 쿼리 형식으로 요청을 작성해야합니다. 그런 다음 IR 시스템은 필요한 정보에 대한 관련 출력을 문서 형식으로 검색하여 응답합니다.

정보 검색 (IR) 시스템의 고전적 문제

IR 연구의 주요 목표는 문서 저장소에서 정보를 검색하기위한 모델을 개발하는 것입니다. 여기서 우리는 고전적인 문제를 논의 할 것입니다.ad-hoc retrieval problem, IR 시스템 관련.

임시 검색에서 사용자는 필요한 정보를 설명하는 자연어로 쿼리를 입력해야합니다. 그런 다음 IR 시스템은 원하는 정보와 관련된 필수 문서를 반환합니다. 예를 들어, 우리가 인터넷에서 무언가를 검색하고 있고 그것이 우리의 요구 사항에 따라 관련이있는 정확한 페이지를 제공하지만 관련이없는 페이지도있을 수 있다고 가정합니다. 이는 임시 검색 문제 때문입니다.

임시 검색의 측면

다음은 IR 연구에서 다룬 임시 검색의 몇 가지 측면입니다.

  • 관련성 피드백의 도움을받은 사용자가 쿼리의 원래 공식을 어떻게 개선 할 수 있습니까?

  • 데이터베이스 병합을 구현하는 방법, 즉 서로 다른 텍스트 데이터베이스의 결과를 하나의 결과 집합으로 병합하는 방법은 무엇입니까?

  • 부분적으로 손상된 데이터를 처리하는 방법은 무엇입니까? 동일한 모델에 적합한 모델은 무엇입니까?

정보 검색 (IR) 모델

수학적으로 모델은 현실 세계의 일부 현상을 이해하려는 목적을 가지고 많은 과학 분야에서 사용됩니다. 정보 검색 모델은 사용자가 주어진 쿼리와 관련하여 무엇을 찾을 수 있는지 예측하고 설명합니다. IR 모델은 기본적으로 위에서 언급 한 검색 절차의 측면을 정의하는 패턴이며 다음과 같이 구성됩니다.

  • 문서 모델.

  • 쿼리 모델.

  • 쿼리를 문서와 비교하는 일치 함수입니다.

수학적으로 검색 모델은 다음으로 구성됩니다.

D − 문서 표현.

R − 질의에 대한 표현.

F − D, Q에 대한 모델링 프레임 워크와 이들 간의 관계.

R (q,di)− 질의와 관련하여 문서를 정렬하는 유사성 기능. 순위라고도합니다.

정보 검색 (IR) 모델의 유형

정보 모델 (IR) 모델은 다음 세 가지 모델로 분류 할 수 있습니다.

클래식 IR 모델

가장 간단하고 구현하기 쉬운 IR 모델입니다. 이 모델은 쉽게 인식되고 이해되는 수학적 지식을 기반으로합니다. Boolean, Vector 및 Probabilistic은 세 가지 고전적 IR 모델입니다.

비 고전적 IR 모델

기존 IR 모델과는 완전히 반대입니다. 이러한 종류의 IR 모델은 유사성, 확률, 부울 연산 이외의 원칙을 기반으로합니다. 정보 논리 모델, 상황 이론 모델 및 상호 작용 모델은 비 고전적 정보 검색 모델의 예입니다.

대체 IR 모델

다른 분야의 특정 기술을 사용하여 고전적 IR 모델을 강화한 것입니다. 클러스터 모델, 퍼지 모델 및 LSI (Latent Semantic Indexing) 모델은 대체 IR 모델의 예입니다.

정보 검색 (IR) 시스템의 설계 기능

이제 IR 시스템의 설계 기능에 대해 알아 보겠습니다.

반전 된 인덱스

대부분의 IR 시스템의 기본 데이터 구조는 반전 된 인덱스의 형태입니다. 역 인덱스를 모든 단어에 대해 포함 된 모든 문서와 문서에서 발생하는 빈도를 나열하는 데이터 구조로 정의 할 수 있습니다. 검색어의 '조회수'를 쉽게 검색 할 수 있습니다.

중지 단어 제거

불용어는 검색에 유용 할 것 같지 않은 빈도가 높은 단어입니다. 의미 론적 가중치가 적습니다. 이러한 모든 종류의 단어는 중지 목록이라는 목록에 있습니다. 예를 들어 관사 "a", "an", "the"및 "in", "of", "for", "at"등과 같은 전치사가 불용어의 예입니다. 역 인덱스의 크기는 중지 목록을 사용하여 크게 줄일 수 있습니다. Zipf의 법칙에 따라 수십 단어를 포함하는 중지 목록은 역 색인의 크기를 거의 절반으로 줄입니다. 반면에 불용어를 제거하면 검색에 유용한 용어가 제거 될 수 있습니다. 예를 들어“Vitamin A”에서 알파벳“A”를 제거하면 의미가 없습니다.

어간

형태소 분석의 단순화 된 형태 인 형태소 분석은 단어의 끝을 잘라내어 기본 형태의 단어를 추출하는 휴리스틱 프로세스입니다. 예를 들어, 웃음, 웃음, 웃음이라는 단어는 어원 웃음이라는 어원에서 유래됩니다.

다음 섹션에서는 중요하고 유용한 IR 모델에 대해 설명합니다.

부울 모델

가장 오래된 정보 검색 (IR) 모델입니다. 이 모델은 문서가 용어 집합이고 쿼리가 용어에 대한 부울 표현식 인 집합 이론과 부울 대수를 기반으로합니다. 부울 모델은 다음과 같이 정의 할 수 있습니다.

  • D− 단어 집합, 즉 문서에있는 색인 용어. 여기서 각 용어는 존재 (1) 또는 부재 (0)입니다.

  • Q − 항은 인덱스 용어이고 연산자는 논리 곱 인 부울 식 − AND, 논리합 − OR 및 논리 차 − NOT

  • F − 용어 세트 및 문서 세트에 대한 부울 대수

    관련성 피드백에 대해 이야기하면 부울 IR 모델에서 관련성 예측을 다음과 같이 정의 할 수 있습니다.

  • R − 문서가 다음과 같은 쿼리 표현식을 충족하는 경우에만 쿼리 표현식과 관련된 것으로 예측됩니다.

((˅) ˄ ˄ ˜ ℎ)

이 모델은 일련의 문서에 대한 명확한 정의로서 쿼리 용어로 설명 할 수 있습니다.

예를 들어 검색어 “economic” 용어로 인덱싱되는 문서 세트를 정의합니다. “economic”.

이제 부울 AND 연산자로 용어를 결합하면 어떤 결과가 나올까요? 단일 용어의 문서 세트보다 작거나 같은 문서 세트를 정의합니다. 예를 들어, 검색어가 포함 된“social”“economic”두 용어로 인덱싱 된 문서 세트를 생성합니다. 즉, 두 세트가 교차하는 문서 세트입니다.

이제 항을 부울 OR 연산자로 결합하면 어떤 결과가 나올까요? 단일 용어의 문서 세트보다 크거나 같은 문서 세트를 정의합니다. 예를 들어, 검색어가 포함 된“social” 또는 “economic” 두 용어 중 하나로 인덱싱 된 문서 세트를 생성합니다. “social” 또는 “economic”. 즉, 두 세트를 합친 문서 세트입니다.

부울 모드의 장점

부울 모델의 장점은 다음과 같습니다.

  • 세트를 기반으로하는 가장 간단한 모델입니다.

  • 이해하고 구현하기 쉽습니다.

  • 정확히 일치하는 항목 만 검색합니다.

  • 사용자에게 시스템에 대한 제어 감각을 제공합니다.

부울 모델의 단점

부울 모델의 단점은 다음과 같습니다.

  • 모델의 유사성 함수는 부울입니다. 따라서 부분 일치는 없습니다. 이것은 사용자에게 성 가실 수 있습니다.

  • 이 모델에서 부울 연산자 사용은 중요한 단어보다 훨씬 더 많은 영향을 미칩니다.

  • 쿼리 언어는 표현력이 뛰어나지 만 복잡합니다.

  • 검색된 문서에 대한 순위가 없습니다.

벡터 공간 모델

Boolean 모델의 위의 단점으로 인해 Gerard Salton과 그의 동료들은 Luhn의 유사성 기준에 기반한 모델을 제안했습니다. Luhn이 공식화 한 유사성 기준은“주어진 요소와 그 분포에서 두 가지 표현이 더 많이 동의할수록 유사한 정보를 나타낼 확률이 높아진다”고 말합니다.

벡터 공간 모델에 대해 더 많이 이해하려면 다음과 같은 중요한 사항을 고려하십시오.

  • 인덱스 표현 (문서) 및 쿼리는 고차원 유클리드 공간에 포함 된 벡터로 간주됩니다.

  • 문서 벡터와 쿼리 벡터의 유사성 측정 값은 일반적으로 이들 사이 각도의 코사인입니다.

코사인 유사성 측정 공식

코사인은 정규화 된 내적이며 다음 공식을 사용하여 계산할 수 있습니다.

$$Score \lgroup \vec{d} \vec{q} \rgroup= \frac{\sum_{k=1}^m d_{k}\:.q_{k}}{\sqrt{\sum_{k=1}^m\lgroup d_{k}\rgroup^2}\:.\sqrt{\sum_{k=1}^m}m\lgroup q_{k}\rgroup^2 }$$

$$Score \lgroup \vec{d} \vec{q}\rgroup =1\:when\:d =q $$

$$Score \lgroup \vec{d} \vec{q}\rgroup =0\:when\:d\:and\:q\:share\:no\:items$$

쿼리 및 문서를 사용한 벡터 공간 표현

쿼리와 문서는 2 차원 벡터 공간으로 표현됩니다. 용어는carinsurance. 벡터 공간에는 하나의 쿼리와 세 개의 문서가 있습니다.

자동차 및 보험이라는 용어에 대한 응답으로 가장 높은 순위의 문서가 문서가됩니다. d2 사이의 각도 때문에 qd2가장 작습니다. 그 이유는 자동차와 보험 개념이 모두 d 2 에서 두드러 져서 가중치가 높기 때문입니다. 다른 쪽에서는d1d3 또한 두 용어를 모두 언급하지만 각 경우에 둘 중 하나는 문서에서 중심적으로 중요한 용어가 아닙니다.

용어 가중치

용어 가중치는 벡터 공간의 용어에 대한 가중치를 의미합니다. 항의 가중치가 높을수록 항이 코사인에 미치는 영향이 커집니다. 모델에서 더 중요한 용어에 더 많은 가중치를 할당해야합니다. 이제 여기서 제기되는 질문은 우리가 이것을 어떻게 모델링 할 수 있는가입니다.

이를 수행하는 한 가지 방법은 문서의 단어를 용어 가중치로 계산하는 것입니다. 그러나 효과적인 방법이라고 생각하십니까?

더 효과적인 또 다른 방법은 term frequency (tfij), document frequency (dfi)collection frequency (cfi).

기간 빈도 (tf ij )

발생 횟수로 정의 할 수 있습니다. widj. 용어 빈도로 캡처되는 정보는 주어진 문서 내에서 단어가 얼마나 두드러 지는지, 즉 용어 빈도가 높을수록 해당 단어가 해당 문서의 내용에 대한 좋은 설명이라고 말할 수 있습니다.

문서 빈도 (df i )

w i 가 발생 하는 컬렉션의 총 문서 수로 정의 할 수 있습니다 . 정보 성의 지표입니다. 의미에 초점을 맞춘 단어는 의미에 초점이 맞지 않는 단어와 달리 문서에서 여러 번 나타납니다.

수집 빈도 ( i 참조 )

총 발생 횟수로 정의 할 수 있습니다. wi 컬렉션에서.

수학적으로 $df_{i}\leq cf_{i}\:and\:\sum_{j}tf_{ij} = cf_{i}$

문서 빈도 가중치 형식

이제 문서 빈도 가중치의 다양한 형태에 대해 알아 보겠습니다. 양식은 아래에 설명되어 있습니다.

용어 주파수 요인

이것은 또한 빈도 요인이라는 용어로 분류됩니다. 즉, 용어가 t 문서에 자주 나타나는 다음 t해당 문서를 검색해야합니다. 단어를 결합 할 수 있습니다.term frequency (tfij)document frequency (dfi) 다음과 같이 단일 가중치로-

$$weight \left ( i,j \right ) =\begin{cases}(1+log(tf_{ij}))log\frac{N}{df_{i}}\:if\:tf_{i,j}\:\geq1\\0 \:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\: if\:tf_{i,j}\:=0\end{cases}$$

여기서 N은 총 문서 수입니다.

역 문서 빈도 (idf)

이것은 문서 빈도 가중치의 또 다른 형태이며 종종 idf 가중치 또는 역 문서 빈도 가중치라고합니다. idf 가중치의 중요한 점은 컬렉션 전체에서 용어의 희소성이 그 중요성의 척도이고 중요성이 발생 빈도에 반비례한다는 것입니다.

수학적으로

$$idf_{t} = log\left(1+\frac{N}{n_{t}}\right)$$

$$idf_{t} = log\left(\frac{N-n_{t}}{n_{t}}\right)$$

여기,

N = 컬렉션의 문서

n t = 용어 t를 포함하는 문서

사용자 쿼리 개선

정보 검색 시스템의 기본 목표는 정확성이어야합니다. 사용자의 요구 사항에 따라 관련 문서를 생성하는 것입니다. 그러나 여기서 제기되는 질문은 사용자의 쿼리 형성 스타일을 개선하여 출력을 개선 할 수있는 방법입니다. 확실히 모든 IR 시스템의 출력은 사용자의 쿼리에 따라 다르며 올바른 형식의 쿼리는 더 정확한 결과를 생성합니다. 사용자는 다음을 통해 쿼리를 개선 할 수 있습니다.relevance feedback, IR 모델의 중요한 측면입니다.

관련성 피드백

관련성 피드백은 주어진 쿼리에서 처음 반환 된 출력을 가져옵니다. 이 초기 출력을 사용하여 사용자 정보를 수집하고 해당 출력이 새 쿼리 수행과 관련이 있는지 여부를 알 수 있습니다. 피드백은 다음과 같이 분류 할 수 있습니다.

노골적인 피드백

관련성 평가자로부터 얻은 피드백으로 정의 할 수 있습니다. 이러한 평가자는 쿼리에서 검색된 문서의 관련성을 나타냅니다. 쿼리 검색 성능을 향상 시키려면 관련성 피드백 정보를 원래 쿼리와 보간해야합니다.

평가자 또는 시스템의 다른 사용자는 다음 관련성 시스템을 사용하여 관련성을 명시 적으로 나타낼 수 있습니다.

  • Binary relevance system −이 관련성 피드백 시스템은 문서가 주어진 쿼리와 관련이 있거나 (1) 관련이 없음 (0)임을 나타냅니다.

  • Graded relevance system− 등급별 관련성 피드백 시스템은 숫자, 문자 또는 설명을 사용하여 등급을 기준으로 주어진 쿼리에 대한 문서의 관련성을 나타냅니다. 설명은 "관련성 없음", "다소 관련성 있음", "매우 관련성 있음"또는 "관련성 있음"과 같을 수 있습니다.

암시 적 피드백

사용자 행동에서 추론 된 피드백입니다. 이 동작에는 사용자가 문서를 보는 데 소비 한 시간,보기 위해 선택한 문서와 그렇지 않은 문서, 페이지 탐색 및 스크롤 작업 등이 포함됩니다. 암시 적 피드백의 가장 좋은 예 중 하나는 다음과 같습니다.dwell time, 사용자가 검색 결과에 연결된 페이지를 보는 데 소비하는 시간을 측정합니다.

의사 피드백

블라인드 피드백이라고도합니다. 자동 로컬 분석 방법을 제공합니다. 관련성 피드백의 수동 부분은 의사 관련성 피드백의 도움으로 자동화되어 사용자가 확장 된 상호 작용없이 향상된 검색 성능을 얻을 수 있습니다. 이 피드백 시스템의 주요 장점은 명시 적 관련성 피드백 시스템과 같이 평가자가 필요하지 않다는 것입니다.

이 피드백을 구현하려면 다음 단계를 고려하십시오.

  • Step 1− 먼저 초기 질의에서 반환 된 결과를 관련 결과로 가져와야합니다. 관련 결과의 범위는 상위 10-50 개 결과 여야합니다.

  • Step 2 − 이제 예를 들어 용어 빈도 (tf)-역 문서 빈도 (idf) 가중치를 사용하여 문서에서 상위 20-30 개 용어를 선택합니다.

  • Step 3− 이러한 용어를 쿼리에 추가하고 반환 된 문서와 일치시킵니다. 그런 다음 가장 관련성이 높은 문서를 반환하십시오.

NLP (Natural Language Processing)는 현재 우리가보고있는 다양한 형태의 AI를 도출하는 신흥 기술이며 인간과 기계 간의 원활한 대화 형 인터페이스를 만드는 데 사용하는 것은 현재와 미래의 최우선 순위가 될 것입니다. 점점 더인지 적 응용 프로그램. 여기에서는 NLP의 매우 유용한 응용 프로그램에 대해 논의 할 것입니다.

기계 번역

하나의 소스 언어 또는 텍스트를 다른 언어로 번역하는 프로세스 인 기계 번역 (MT)은 NLP의 가장 중요한 응용 프로그램 중 하나입니다. 다음 순서도를 통해 기계 번역의 과정을 이해할 수 있습니다.

기계 번역 시스템의 유형

기계 번역 시스템에는 여러 유형이 있습니다. 다른 유형이 무엇인지 살펴 보겠습니다.

이중 언어 MT 시스템

이중 언어 MT 시스템은 두 가지 특정 언어 간의 번역을 생성합니다.

다국어 MT 시스템

다국어 MT 시스템은 모든 언어 쌍 간의 번역을 생성합니다. 본질적으로 단방향 또는 양방향 일 수 있습니다.

기계 번역 (MT)에 대한 접근 방식

이제 기계 번역에 대한 중요한 접근 방식에 대해 알아 보겠습니다. MT에 대한 접근 방식은 다음과 같습니다.

직접 MT 접근

덜 인기가 있지만 MT의 가장 오래된 접근 방식입니다. 이 접근 방식을 사용하는 시스템은 SL (소스 언어)을 TL (대상 언어)로 직접 번역 할 수 있습니다. 이러한 시스템은 본질적으로 양방향 및 단방향입니다.

인터 링구아 접근법

Interlingua 접근 방식을 사용하는 시스템은 SL을 Interlingua (IL)라는 중간 언어로 번역 한 다음 IL을 TL로 번역합니다. Interlingua 접근 방식은 다음 MT 피라미드의 도움으로 이해할 수 있습니다.

전송 접근법

이 접근 방식에는 세 단계가 포함됩니다.

  • 첫 번째 단계에서 소스 언어 (SL) 텍스트는 추상적 인 SL 지향 표현으로 변환됩니다.

  • 두 번째 단계에서 SL 지향 표현은 동등한 대상 언어 (TL) 지향 표현으로 변환됩니다.

  • 세 번째 단계에서는 최종 텍스트가 생성됩니다.

경험적 MT 접근법

이것은 MT의 새로운 접근 방식입니다. 기본적으로 병렬 말뭉치의 형태로 대량의 원시 데이터를 사용합니다. 원시 데이터는 텍스트와 해당 번역으로 구성됩니다. 유추 기반, 예제 기반, 메모리 기반 기계 번역 기술은 경험적 MT 접근 방식을 사용합니다.

스팸 퇴치

요즘 가장 흔한 문제 중 하나는 원치 않는 이메일입니다. 이 문제에 대한 첫 번째 방어선이기 때문에 스팸 필터가 더욱 중요해집니다.

스팸 필터링 시스템은 주요 위양성 및 위음성 문제를 고려하여 NLP 기능을 사용하여 개발할 수 있습니다.

스팸 필터링을위한 기존 NLP 모델

다음은 스팸 필터링을위한 기존 NLP 모델입니다.

N- 그램 모델링

N-Gram 모델은 더 긴 문자열의 N- 문자 조각입니다. 이 모델에서는 여러 길이의 N-gram이 스팸 이메일을 처리하고 탐지하는 데 동시에 사용됩니다.

단어 어간

스팸 이메일의 생성자 인 스패머는 일반적으로 스팸에서 하나 이상의 공격 단어 문자를 변경하여 콘텐츠 기반 스팸 필터를 위반할 수 있습니다. 그렇기 때문에 콘텐츠 기반 필터는 이메일의 단어 나 구의 의미를 이해할 수없는 경우 유용하지 않다고 말할 수 있습니다. 스팸 필터링에서 이러한 문제를 제거하기 위해 유사하게 보이고 유사하게 들리는 단어를 일치시킬 수있는 규칙 기반 단어 형태소 분석 기술이 개발되었습니다.

베이지안 분류

이것은 이제 스팸 필터링에 널리 사용되는 기술이되었습니다. 이메일에 포함 된 단어의 발생률은 통계 기법으로 원치 않는 (스팸) 및 합법적 인 (햄) 이메일 메시지의 데이터베이스에서 일반적인 발생과 비교하여 측정됩니다.

자동 요약

이 디지털 시대에서 가장 가치있는 것은 데이터이거나 정보라고 말할 수 있습니다. 그러나 우리는 필요한 양의 정보뿐만 아니라 실제로 유용합니까? 정보가 과부하되고 지식과 정보에 대한 우리의 접근이 그것을 이해하는 우리의 능력을 훨씬 초과하기 때문에 대답은 '아니오'입니다. 인터넷을 통한 정보의 홍수가 멈추지 않을 것이기 때문에 자동 텍스트 요약 및 정보가 절실히 필요합니다.

텍스트 요약은 긴 텍스트 문서를 짧고 정확하게 요약하는 기술로 정의 할 수 있습니다. 자동 텍스트 요약은 짧은 시간에 관련 정보를 제공하는 데 도움이됩니다. 자연어 처리 (NLP)는 자동 텍스트 요약을 개발하는 데 중요한 역할을합니다.

질문 답변

자연어 처리 (NLP)의 또 다른 주요 응용 분야는 질문에 답하는 것입니다. 검색 엔진은 세계의 정보를 우리의 손끝에 놓았지만 인간이 자연어로 게시 한 질문에 답할 때 여전히 부족합니다. Google과 같은 대기업도이 방향으로 일하고 있습니다.

질문 답변은 AI 및 NLP 분야의 컴퓨터 과학 분야입니다. 인간이 게시 한 질문에 자연어로 자동으로 답변하는 시스템 구축에 중점을 둡니다. 자연어를 이해하는 컴퓨터 시스템은 인간이 작성한 문장을 내부 표현으로 번역하는 프로그램 시스템의 기능을 갖추고있어 시스템에서 유효한 답을 생성 할 수 있습니다. 질문의 구문 및 의미 분석을 수행하여 정확한 답을 생성 할 수 있습니다. 어휘 격차, 모호성 및 다국어 사용은 좋은 질문 응답 시스템을 구축하는 데있어 NLP의 몇 가지 과제입니다.

감정 분석

자연어 처리 (NLP)의 또 다른 중요한 응용 분야는 감정 분석입니다. 이름에서 알 수 있듯이 감정 분석은 여러 게시물의 감정을 식별하는 데 사용됩니다. 감정이 명시 적으로 표현되지 않은 감정을 식별하는데도 사용됩니다. 기업은 자연어 처리 (NLP) 응용 프로그램 인 감정 분석을 사용하여 온라인에서 고객의 의견과 감정을 식별합니다. 기업이 제품과 서비스에 대한 고객의 생각을 이해하는 데 도움이됩니다. 기업은 감정 분석을 통해 고객 게시물에서 전반적인 평판을 판단 할 수 있습니다. 이런 식으로 감정 분석은 단순한 극성을 결정하는 것 이상으로 표현 된 의견 뒤에 무엇이 있는지 더 잘 이해할 수 있도록 맥락에서 감정을 이해한다고 말할 수 있습니다.

이 장에서는 Python을 사용한 언어 처리에 대해 배웁니다.

다음 기능은 Python을 다른 언어와 다르게 만듭니다.

  • Python is interpreted − 인터프리터가 런타임에 Python을 처리하기 때문에 Python 프로그램을 실행하기 전에 컴파일 할 필요가 없습니다.

  • Interactive − 인터프리터와 직접 상호 작용하여 Python 프로그램을 작성할 수 있습니다.

  • Object-oriented − 파이썬은 본질적으로 객체 지향적이며이 프로그래밍 기술의 도움으로 객체 내에서 코드를 캡슐화하기 때문에이 언어가 프로그램을 작성하기 더 쉽습니다.

  • Beginner can easily learn − Python은 이해하기 매우 쉽기 때문에 초보자 용 언어라고도하며 다양한 응용 프로그램의 개발을 지원합니다.

전제 조건

최신 버전의 Python 3은 Windows, Mac OS 및 대부분의 Linux OS 버전에서 사용할 수있는 Python 3.7.1입니다.

  • Windows의 경우 www.python.org/downloads/windows/ 링크로 이동하여 Python을 다운로드하고 설치할 수 있습니다.

  • MAC OS의 경우 www.python.org/downloads/mac-osx/ 링크를 사용할 수 있습니다 .

  • Linux의 경우 다른 Linux 버전은 새 패키지 설치를 위해 다른 패키지 관리자를 사용합니다.

    • 예를 들어, Ubuntu Linux에 Python 3을 설치하려면 터미널에서 다음 명령을 사용할 수 있습니다.

$sudo apt-get install python3-minimal

Python 프로그래밍에 대해 자세히 알아 보려면 Python 3 기본 자습서 – Python 3을 읽어보세요.

NLTK 시작하기

영어로 텍스트 분석을 수행하기 위해 Python 라이브러리 NLTK (Natural Language Toolkit)를 사용할 것입니다. 자연어 도구 키트 (NLTK)는 영어와 같은 자연어 텍스트에서 발견되는 품사 부분을 식별하고 태그를 지정하기 위해 특별히 설계된 Python 라이브러리 모음입니다.

NLTK 설치

NLTK 사용을 시작하기 전에 설치해야합니다. 다음 명령을 사용하여 Python 환경에 설치할 수 있습니다.

pip install nltk

Anaconda를 사용하는 경우 다음 명령을 사용하여 NLTK 용 Conda 패키지를 빌드 할 수 있습니다.

conda install -c anaconda nltk

NLTK의 데이터 다운로드

NLTK를 설치 한 후, 또 다른 중요한 작업은 미리 설정된 텍스트 저장소를 다운로드하여 쉽게 사용할 수 있도록하는 것입니다. 그러나 그 전에 다른 Python 모듈을 가져 오는 방식으로 NLTK를 가져와야합니다. 다음 명령은 NLTK 가져 오기에 도움이됩니다.

import nltk

이제 다음 명령을 사용하여 NLTK 데이터를 다운로드하십시오.

nltk.download()

사용 가능한 모든 NLTK 패키지를 설치하는 데 시간이 걸립니다.

기타 필요한 패키지

다음과 같은 다른 Python 패키지 gensimpatternNLTK를 사용하여 자연어 처리 응용 프로그램을 구축 할뿐만 아니라 텍스트 분석에도 매우 필요합니다. 패키지는 아래와 같이 설치할 수 있습니다.

Gensim

gensim은 많은 애플리케이션에 사용할 수있는 강력한 의미 론적 모델링 라이브러리입니다. 다음 명령으로 설치할 수 있습니다.

pip install gensim

무늬

그것은 만드는 데 사용할 수 있습니다 gensim패키지가 제대로 작동합니다. 다음 명령은 패턴 설치에 도움이됩니다-

pip install pattern

토큰 화

토큰 화는 주어진 텍스트를 토큰이라고하는 더 작은 단위로 나누는 프로세스로 정의 할 수 있습니다. 단어, 숫자 또는 구두점은 토큰이 될 수 있습니다. 단어 분할이라고도합니다.

Input − 침대와 의자는 가구 유형입니다.

NLTK에서 제공하는 토큰 화를위한 다양한 패키지가 있습니다. 요구 사항에 따라 이러한 패키지를 사용할 수 있습니다. 패키지 및 설치 세부 정보는 다음과 같습니다.

sent_tokenize 패키지

이 패키지는 입력 텍스트를 문장으로 나누는 데 사용할 수 있습니다. 다음 명령을 사용하여 가져올 수 있습니다.

from nltk.tokenize import sent_tokenize

word_tokenize 패키지

이 패키지는 입력 텍스트를 단어로 나누는 데 사용할 수 있습니다. 다음 명령을 사용하여 가져올 수 있습니다.

from nltk.tokenize import word_tokenize

WordPunctTokenizer 패키지

이 패키지는 입력 텍스트를 단어와 구두점으로 나누는 데 사용할 수 있습니다. 다음 명령을 사용하여 가져올 수 있습니다.

from nltk.tokenize import WordPuncttokenizer

어간

문법적인 이유로 언어에는 많은 변형이 포함됩니다. 언어, 영어뿐만 아니라 다른 언어도 단어의 형태가 다르다는 의미의 변형입니다. 예를 들어, 다음과 같은 단어democracy, democratic, 및 democratization. 기계 학습 프로젝트의 경우 위와 같이 서로 다른 단어가 동일한 기본 형식을 가지고 있음을 기계가 이해하는 것이 매우 중요합니다. 그렇기 때문에 텍스트를 분석하면서 단어의 기본 형태를 추출하는 것이 매우 유용합니다.

형태소 분석은 단어의 끝을 잘게 썰어 단어의 기본 형태를 추출하는 데 도움이되는 휴리스틱 프로세스입니다.

NLTK 모듈에서 제공하는 형태소 분석을위한 다양한 패키지는 다음과 같습니다.

PorterStemmer 패키지

Porter의 알고리즘은이 형태소 분석 패키지에서 단어의 기본 형식을 추출하는 데 사용됩니다. 다음 명령을 사용하여이 패키지를 가져올 수 있습니다.

from nltk.stem.porter import PorterStemmer

예를 들면 ‘write’ 단어의 출력이 될 것입니다 ‘writing’ 이 형태소 분석기에 대한 입력으로 제공됩니다.

LancasterStemmer 패키지

Lancaster의 알고리즘은이 형태소 분석 패키지에서 단어의 기본 형식을 추출하는 데 사용됩니다. 다음 명령을 사용하여이 패키지를 가져올 수 있습니다.

from nltk.stem.lancaster import LancasterStemmer

예를 들면 ‘writ’ 단어의 출력이 될 것입니다 ‘writing’ 이 형태소 분석기에 대한 입력으로 제공됩니다.

SnowballStemmer 패키지

Snowball의 알고리즘은이 형태소 분석 패키지에서 단어의 기본 형식을 추출하는 데 사용됩니다. 다음 명령을 사용하여이 패키지를 가져올 수 있습니다.

from nltk.stem.snowball import SnowballStemmer

예를 들면 ‘write’ 단어의 출력이 될 것입니다 ‘writing’ 이 형태소 분석기에 대한 입력으로 제공됩니다.

주형 화

어휘 및 형태 학적 분석을 사용하여 어미 어미를 제거하는 것을 목표로하는 기본 형태의 단어를 추출하는 또 다른 방법입니다. lemmatization 후 모든 단어의 기본 형식을 기본형이라고합니다.

NLTK 모듈은 lemmatization을 위해 다음 패키지를 제공합니다.

WordNetLemmatizer 패키지

이 패키지는 단어가 명사로 사용되는지 동사로 사용되는지에 따라 단어의 기본 형식을 추출합니다. 다음 명령을 사용하여이 패키지를 가져올 수 있습니다.

from nltk.stem import WordNetLemmatizer

POS 태그 계산 – 청킹

품사 (POS) 및 짧은 구의 식별은 청킹을 사용하여 수행 할 수 있습니다. 자연어 처리에서 중요한 프로세스 중 하나입니다. 토큰 생성을위한 토큰 화 프로세스에 대해 알고 있듯이 청킹은 실제로 해당 토큰에 레이블을 지정하는 것입니다. 즉, 청킹 과정을 통해 문장의 구조를 얻을 수 있다고 말할 수 있습니다.

다음 예제에서는 NLTK Python 모듈을 사용하여 문장에서 명사구 청크를 찾는 청킹 범주 인 Noun-Phrase 청킹을 구현합니다.

명사구 청킹을 구현하려면 다음 단계를 고려하십시오.

Step 1: Chunk grammar definition

이 단계에서는 청킹에 대한 문법을 ​​정의해야합니다. 그것은 우리가 따라야 할 규칙들로 구성 될 것입니다.

Step 2: Chunk parser creation

다음으로 청크 파서를 생성해야합니다. 문법을 구문 분석하고 출력을 제공합니다.

Step 3: The Output

이 단계에서는 출력을 트리 형식으로 가져옵니다.

NLP 스크립트 실행

NLTK 패키지를 가져 와서 시작하십시오-

import nltk

이제 문장을 정의해야합니다.

여기,

  • DT는 결정 요인입니다.

  • VBP는 동사입니다.

  • JJ는 형용사입니다.

  • IN은 전치사입니다.

  • NN은 명사

sentence = [("a", "DT"),("clever","JJ"),("fox","NN"),("was","VBP"),
   ("jumping","VBP"),("over","IN"),("the","DT"),("wall","NN")]

다음으로 문법은 정규 표현식으로 주어져야합니다.

grammar = "NP:{<DT>?<JJ>*<NN>}"

이제 문법을 파싱하기위한 파서를 정의해야합니다.

parser_chunking = nltk.RegexpParser(grammar)

이제 파서는 다음과 같이 문장을 구문 분석합니다.

parser_chunking.parse(sentence)

다음으로 출력은 다음과 같이 변수에 있습니다.

Output = parser_chunking.parse(sentence)

이제 다음 코드는 출력을 트리 형태로 그리는 데 도움이됩니다.

output.draw()