■ 자연어 처리 (NLP) / Natural Language Processing 이란
자연어 처리(NLP, Natural Language Processing)는 컴퓨터가 인간의 언어를 이해하고, 해석하고, 생성하는 기술을 말합니다. NLP는 언어학과 컴퓨터 과학의 융합 분야로, 언어를 처리하고 분석하는 다양한 작업을 포함합니다. 그 목적은 사람과 컴퓨터 간의 상호작용을 원활하게 만들어 주는 것입니다.
자연어 처리의 주요 작업
1.형태소 분석 (Morphological Analysis): 문장에서 단어를 나누고, 각 단어의 형태를 분석합니다. 예를 들어, 한국어에서 "사랑한다"라는 단어는 "사랑"과 "한다"로 나누어집니다.
2.구문 분석 (Syntactic Parsing): 문장의 구조를 분석하고, 문법적 관계를 파악합니다. 예를 들어, "나는 사과를 먹는다"라는 문장에서 주어(나), 목적어(사과), 동사(먹는다) 관계를 식별합니다.
3.의미 분석 (Semantic Analysis): 문장이 전달하려는 의미를 추론합니다. 예를 들어, "배가 고프다"는 단순히 '배'라는 단어가 아니라 '배'가 '허기짐'을 의미하는지를 이해합니다. =>의도분석!
4.감정 분석 (Sentiment Analysis): 텍스트에 포함된 감정을 분석하여 긍정적, 부정적, 중립적 감정을 분류합니다. 예를 들어, "이 영화는 정말 재미있다"는 긍정적인 감정을, "이 영화는 지루하다"는 부정적인 감정을 나타냅니다.
5.기계 번역 (Machine Translation): 한 언어에서 다른 언어로 번역하는 작업입니다. 예를 들어, 영어에서 한국어로 번역하는 시스템을 개발하는 것입니다. => 신경망을 사용해서 굉장히 높은 수준까지 올라옴!
6.질의 응답 (Question Answering): 사용자가 입력한 질문에 대해 적절한 답을 제공하는 시스템입니다. 예를 들어, "파리의 수도는 어디인가요?"라는 질문에 대해 "파리는 프랑스의 수도입니다."라는 답을 제공하는 것입니다.
7.텍스트 생성 (Text Generation): 주어진 주제나 조건에 맞춰 텍스트를 자동으로 생성하는 작업입니다. 예를 들어, 사용자가 제공한 주제에 대해 자동으로 기사를 작성하는 것이 이에 해당합니다.
자연어 처리는 다양한 분야에서 활용됩니다.
예를 들어, 검색 엔진, 음성 인식 시스템, 챗봇, 자동 번역 시스템 등에서 사용되며, 최근에는 대규모 언어 모델(예: GPT) 등의 발전으로 자연어 처리 기술이 더욱 진화하고 있습니다.
자연어를 목적에 맞게 잘 정리가 되어야 됩니다! 그래야 자연어도 잘 처리가 됩니다.
■ 코퍼스 (corpus, 말뭉치)
자연어 분야의 연구를 위해 '특정한 목적'을 가지고 언어의 표본을 추출한 집합.
이를 사용하여 텍스트 데이터 분석및 저연어처리 (NLP) 에서 모델을 학습시키게 되는 데이터로 활용된다.
참조 사이트 국립국어원 말뭉치 검색
https://kcorpus.korean.go.kr/
사실 아직 한국어가 자연어처리하기 까다로운 언어입니다. 변형이 많은 언어이기때문에 그렇다고합니다.
■ 텍스트 전처리 (Text Preprocessing)
텍스트 전처리란? 주어진 문제를 해결하기 위해, 목적에 맞게 텍스트 데이터에 사전에 처리하는 작업입니다.
요리에 비유하자면, 아무리 조리방법과 장비가 좋다하더라도, 재료가 나쁘면, 혹은 재료가 제대로 손질되어 있지 않으면 좋은 요리가 나오기 힘듭니다.
텍스트 데이터 또한 적절한 전처리를 하지 않으면 앞으로 배울 자연어 처리 기법들이 제대로 동작하지 않습니다.
전처리가 제일중요하다는 말입니다!
보통 말뭉치데이터를 소스를 통해서 가져온 후 -> 텍스트 전처리를 해야합니다.
전처리는 보통 1. 토큰화, 2.정제, 3.정규화 를 예를 들 수 있습니다.
단어랑 문장조차도 전처리 작업이 필요하다는것을 보니
역시나 정제된 자료가 얼만큼 중요한지 다시한번 느낄 수 있었습니다.
INPUT에서 어떤 것을 집어 넣느냐에따라서 OUT_PUT이 나오게 되니 이렇게 텍스트 전처리를 하면서 결과가 잘 나올 수 있게끔 깔금하게 전처리하는것이 정말 중요하다는것을 인지해두면서 학습하려고합니다.
'AI > 자연어처리' 카테고리의 다른 글
[AI활용 자연어처리 챗봇프로젝트] Padding, 원핫인코딩 (5) | 2024.12.09 |
---|---|
[AI활용 자연어처리 챗봇프로젝트] OOV란? oov인덱스 번호는? (0) | 2024.12.06 |
[AI활용 자연어처리 챗봇프로젝트] 케라스를 이용한 전처리 (1) | 2024.12.05 |
[AI활용 자연어처리 챗봇프로젝트] 정제 · 정규화 (1) | 2024.12.04 |
[AI활용 자연어처리 챗봇프로젝트] 토큰화 및 문장처리 (1) | 2024.12.03 |