자연어의 문제점
- "머리가 빨간 생선을 먹는 고양이" → 고양이의 전신이 빨간색인지, 머리만 빨간색인지 모호함.
- 법적 분쟁 사례 (2018년 메인주 노동법):
- "농축수산물과 부패하기 쉬운 식품의 통조림, 가공, 보존, 냉동, 건조, 마케팅, 보관, 운송 또는 유통을 위한 포장"
- 배달 기사들: "(운송 또는 유통을 위한) 포장"만 면제라고 주장.
- 유제품 회사들: "운송" 또는 "(유통을 위한 포장)"이 면제라고 주장.
- 결과: 쉼표(Oxford comma) 부재로 인한 모호함 때문에 500만 달러 합의금 지급.
- 이후 "운송, 또는 유통을 위한 포장"으로 법 조항 수정됨.
프로그래밍 언어
- 정의: 컴퓨터 프로그램을 작성하기 위해 기계적으로 처리할 수 있도록 애매모호한 부분을 없애고 의미를 명확히 제한한 인공 언어.
- 범용 (General Purpose) 언어: 특정한 목적의 제한 없이 여러 프로그램 작성에 두루 사용 가능한 언어.
- 종류:
- C: 하드웨어를 정확하고 빠르게 제어 (임베디드, 게임).
- Java: 신뢰성 높은 소프트웨어 개발 (기업, 금융권).
- Python: 배우기 쉽고 생산성이 높음 (교육, 웹 개발, 데이터 과학).
Python과 데이터 과학
- 전 세계에서 가장 인기 있는 프로그래밍 언어.
- 데이터 과학 채용 공고에서 가장 많이 요구됨.
- 머신러닝 및 인공지능 분야의 사실상 표준(de facto standard).
LLM과 Python
- Python은 인기가 많아 LLM이 학습할 데이터가 풍부함 -> LLM이 가장 코딩을 잘하는 언어.
- ChatGPT, Gemini 등은 Python 코드를 직접 실행 가능.
- 기회: 기본만 알면 LLM의 도움을 받아 전문적인 수준의 코드 작성 가능.
- 한계: 자연어의 모호함 때문에 LLM이 완벽하지 않음 -> Python을 알면 LLM에게 더 명확하게 지시 가능.
Jupyter Notebook
- 역할: Python으로 쓴 코드를 컴퓨터에게 전달하는 도구 (데이터 분석 표준 도구).
- 작동 방식:
- 인터넷(웹 브라우저)을 통해 분석 서버의 Jupyter에 접속.
- 빅데이터 처리를 위해 별도 고성능 서버를 사용하거나, 개인 PC(localhost)를 서버로 사용.
- 사람(한국어) ↔ 카카오톡 ↔ 사람
- 사람(Python) ↔ Jupyter ↔ 컴퓨터
구글 Colab
- 설치 없이 웹에서 바로 Python/Jupyter를 사용할 수 있는 서비스.
- 구글 계정으로 로그인 후
colab.research.google.com 접속.
- 사용법:
- 코드 실행:
Shift + Enter.
- 파일 업로드: 왼쪽 파일 관리 메뉴 이용 (구글 드라이브 연동 가능).
퀴즈