1. 자연어는 동일하더라도 다른 의미를 가지는 경우가 많다. (어떻게 이해할 수 있을까?)
위의 예와 비슷하게 '고양이'라고 했을 때 실제 동물 고양이일 수도 있고 '고양이'인형일 수도 있다 이럴 경우에 주변의 단어들의 조합으로 그 단어의 의미를 유추 할 수 있을 것이다. 전자의 의미일 경우 '고양이 밥 언제 줘야해?', '고양이 왜이렇게 살쪗어?'등의 문장이 나올 것이고, 후자의 의미라면 '나 이번에 고양이 인형 사줘',혹은 '고양이 캐릭터는 어디 진열되어있죠?'등일 것이다.
이렇게 비슷한 의미를 가지는 단어들 주변에는 동시에 비슷한 단어들이 올것이다. 예시는 다음과 같다,
이를 매트릭스 형태로 변경해 볼 수 있다.
2.일반적인 방식
1) From a word-context matrix of counts(data)
2) Perform dimensionalityu reduction (정규화)
3) FastText 단어 간 거리 시각화
3. Semantic role labeling
평서문을 주로 분석하는데 문장에 나오는 엔티티와 값이 어떠한 관계를 가지는지 나타낸다.
4. Language as programs
문장 요소들이 합성되어 있는 경우는 하나의 Frame semantics로 표현하기 힘들어 Formal Semantics을 활용한다. 따라서 Language as programs 방식을 사용한다. 랭귀지에서 프로그램을 찾는 방식이다. Executable semantic parsing 방식을 통해 이러한 문제를 해결.
추가적으로 Compositonal semantics는 관계성 분석을 통해 해결하는 방식도 있다.
'AI Researcher가 될끄야! > 자연어처리' 카테고리의 다른 글
GPT3 모델을 소개합니다! (대규모 언어모델의 등장, OPEN AI) (0) | 2022.01.18 |
---|---|
Conversational AI _ 챗봇이 대화를 하려면? (0) | 2022.01.18 |
자연어의 특징 (0) | 2022.01.03 |
자연어 이해 기술이란? (NLU) (0) | 2022.01.03 |
[파이썬] 경로를 지정하는 모듈 (os 모듈) (0) | 2021.01.12 |
댓글