Cloud AI - 2. 클라우드 AI 서비스 개요 및 기초 실습 (자연어 처리 AI (NLP: Natural Language Processing))
📌 자연어 처리 AI (NLP: Natural Language Processing)
자연어 처리(NLP, Natural Language Processing)는 사람이 사용하는 언어를 AI가 분석하고 이해하는 기술이다.
Google Natural Language API와 OpenAI API는 강력한 NLP 기능을 제공하며, 감정 분석, 키워드 추출, 텍스트 요약(OpenAI API만 지원) 등의 작업을 자동화할 수 있다.
🔹 1️⃣ 자연어 처리 AI 개요
✅ 자연어 처리(NLP)란?
- 사람이 사용하는 언어(텍스트 또는 음성 데이터)를 이해하고 분석하는 AI 기술
- 문장을 의미적으로 분석하고, 감정, 개체명, 키워드 등을 추출하는 기능 포함
✅ 자연어 처리 AI의 주요 기능
✅ 감정 분석 (Sentiment Analysis) → 문장의 감정을 분석하여 긍정/부정/중립으로 분류
✅ 키워드 추출 (Keyword Extraction) → 문서에서 중요한 단어 및 핵심 개념을 추출
✅ 개체명 인식 (Named Entity Recognition, NER) → 인물, 장소, 날짜 등 특정 개체 식별
✅ 구문 분석 (Syntax Analysis) → 문장 구조 분석 및 품사 태깅
✅ 텍스트 요약 (Text Summarization, OpenAI API만 지원) → 긴 문서를 자동으로 요약
✅ 텍스트 생성 (Text Generation, OpenAI API만 지원) → 새로운 문장을 생성
🔹 2️⃣ Google Natural Language API
Google Natural Language API는 Google Cloud가 제공하는 머신러닝 기반 NLP 서비스로, 감정 분석, 개체명 인식, 문법 분석, 텍스트 분류 등의 기능을 제공한다.
✅ Google Natural Language API 주요 기능
기능 | 설명 |
감정 분석 (Sentiment Analysis) | 문장의 감정을 분석하여 긍정/부정/중립 분류 |
키워드 추출 (Keyword Extraction) | 문장에서 중요한 단어 및 개념 분석 |
개체명 인식 (NER) | 인물, 날짜, 장소 등 특정 개체를 자동 추출 |
문법 및 구문 분석 (Syntax Analysis) | 품사 태깅, 의존 관계 분석 |
텍스트 분류 (Text Classification) | 문서 내용을 특정 카테고리로 분류 |
텍스트 요약 (Summarization) | ❌ 지원되지 않음 (Document AI 사용 필요) |
📌 Google Natural Language API 감정 분석 예제
from google.cloud import language_v1
# 인증 설정
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "your-service-account.json"
client = language_v1.LanguageServiceClient()
text = "이 제품은 정말 훌륭해요! 사용하기도 쉽고 성능이 뛰어나네요."
document = language_v1.Document(content=text, type_=language_v1.Document.Type.PLAIN_TEXT, language="ko")
# 감정 분석 실행
response = client.analyze_sentiment(document=document)
# 감정 점수 및 강도 출력
print(f"감정 점수: {response.document_sentiment.score}")
print(f"감정 강도: {response.document_sentiment.magnitude}")
✅ 특징:
- document_sentiment.score → -1(부정적) ~ 1(긍정적) 감정 점수 출력
- document_sentiment.magnitude → 감정 강도(문장의 감정 강렬함 정도) 출력
🔹 3️⃣ OpenAI API (GPT 기반 NLP 모델)
OpenAI API는 GPT(Generative Pre-trained Transformer) 모델을 활용한 NLP 서비스로, 감정 분석, 키워드 추출, 텍스트 요약, 텍스트 생성 등의 기능을 지원한다.
✅ OpenAI API 주요 기능
기능 | 설명 |
감정 분석 (Sentiment Analysis) | GPT 모델이 문장의 감정을 분석 |
키워드 추출 (Keyword Extraction) | 문서에서 중요한 단어 자동 추출 |
질문 답변 (Q&A) | 입력된 질문에 대해 AI가 답변 생성 |
텍스트 생성 (Text Generation) | 특정 주제에 대한 텍스트 자동 생성 |
텍스트 요약 (Summarization) | 긴 텍스트를 간결하게 요약 |
맞춤 모델 학습 (Fine-Tuning) | 제한적인 파인튜닝 지원 (미리 학습된 모델 기반) |
📌 OpenAI API 감정 분석 최신 코드
import openai
openai.api_key = "your-api-key"
text = "이 제품은 너무 별로예요. 다시는 구매하지 않을 거예요."
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "system", "content": "Analyze the sentiment of the given text."},
{"role": "user", "content": text}]
)
print("감정 분석 결과:", response.choices[0].message.content)
✅ 특징:
- OpenAI의 GPT 모델을 활용하여 텍스트의 감정을 분석 가능
- 자연어 모델이 문맥을 고려하여 감정 분석 수행
🔹 4️⃣ Google Natural Language API vs OpenAI API 비교
기능 | Google Natural Language API | OpenAI API (GPT-4) |
감정 분석 | ✅ 머신러닝 기반 감정 분석 | ✅ 자연어 처리 모델 기반 감정 분석 |
키워드 추출 | ✅ 주요 개체명(인물, 장소 등) 분석 가능 | ✅ 키워드와 문맥까지 고려한 분석 가능 |
질문 답변 | ❌ 미지원 | ✅ AI 기반 질문 답변 가능 |
텍스트 생성 | ❌ 미지원 | ✅ GPT 기반 텍스트 자동 생성 |
텍스트 요약 | ❌ 공식 지원되지 않음 | ✅ 문맥을 고려한 요약 제공 |
맞춤 모델 학습 | ✅ 가능 (ML 모델 최적화) | ✅ 제한적인 Fine-Tuning 지원 |
✅ Google Natural Language API → 정형화된 NLP 분석 (감정 분석, 개체명 추출, 문법 분석)에 강점
✅ OpenAI API → GPT 기반 자유로운 텍스트 분석, 생성 및 요약에 강점
📌 최종 정리
1️⃣ 자연어 처리 AI의 주요 기능
✅ 감정 분석 (Sentiment Analysis) → 문장의 감정을 분석하여 긍정/부정/중립 판별
✅ 키워드 추출 (Keyword Extraction) → 문서에서 주요 개념 및 핵심 키워드 분석
✅ 텍스트 요약 (Summarization, OpenAI API만 지원) → 긴 문서를 자동으로 요약
✅ 텍스트 생성 (Text Generation, OpenAI API만 지원) → 새로운 문장을 생성
2️⃣ Google Natural Language API vs OpenAI API 비교
- Google Natural Language API → 감정 분석, 키워드 추출, 문법 분석에 적합 (❌ 텍스트 요약 미지원)
- OpenAI API (GPT-4) → 문맥 기반의 텍스트 분석, 생성 및 질문 답변에 강점 (✅ Fine-Tuning 일부 지원)