Python 192

[SK캠프] 10주차 WIL 250217_250223 (자연어 딥러닝)

250217 ~ 250223 SK캠프 9기 10주 차 회고 일지 내용금주 주요 성과- 자연어 처리 개요 및 전처리 기법- 자연어 딥러닝 (RNN, LSTM)보완해야할 점사용 흐름(원리) 이해 및 개념 정리1. 금주 요약 정리자연어 처리(Natural Language Processing, NLP):인간이 사용하는 자연어를 컴퓨터가 이해하고 처리할 수 있도록 하는 기술   그렇게 딥러닝 기반 NLP 접근법으로 진화했다.딥러닝 기반 NLP 접근법 이전과 이후의 차이는 아래와 같다.규칙 기반 시스템통계적 모델(기반)딥러닝 기반수동으로 작성한 규칙 의존단어의 빈도나 출현 확률 사용대량 데이터 활용 자동 특징(feature) 학습,다층구조로 복잡한 비선형 관계 학습특정 패턴에 대한 정확한 결과 도출통계적 패턴 탐색..

자연어 처리 요약 정리(2)

언어를 이해하고 분석하기   오늘은 자연어 처리 요약을 해보자.오늘의 배움정규 표현식 & 인코딩패딩워드 클라우드FastText1. 정규 표현식 (Regular Expression)특정한 규칙을 가진 문자열을 찾기 위한 패턴정규 표현식을 사용하면 대량의 텍스트 데이터에서 특정 패턴을 효율적으로 추출, 삭제, 대체 가능  1-1. 정규 표현식 문법 요약기호(명령어)설명예제.임의의 한 글자 (개행 문자 제외)a.b → "acb", "a1b"^문자열의 시작^abc → "abc로 시작하는"$문자열의 끝abc$ → "abc로 끝나는"*0개 이상 반복a* → "", "a", "aaa"+1개 이상 반복a+ → "a", "aaa"?0개 또는 1개a? → "", "a"{m}정확히 m개 반복a{3} → "aaa"{m,n}m..

Develop/AI 2025.02.23

자연어 딥러닝 기초 - LSTM을 알아보자.

기억력이 좋은 인공신경망   오늘은 LSTM에 대해 알아보자.오늘의 배움LSTM의 기본 구조와 동작 원리게이트 메커니즘의 역할과 특징양방향 LSTM의 구조와 활용1. LSTM (Long Short-Term Memory)정의: Long Short-Term Memory의 약자로, 장기 기억력을 가진 특별한 형태의 인공신경망핵심 개념 한 줄 설명: 정보를 선택적으로 기억하고 잊을 수 있는 '게이트(gate)'라는 특별한 구조를 가진 AI 기술 → 셀 상태(Cell State)를 추가하여 정보를 기억하거나 잊는다.특징:장기 의존성(Long-Term Dependency) 처리일반적인 RNN은 시간이 길어질수록 과거의 정보를 잘 기억하지 못하는 기울기 소멸(Gradient Vanishing) 문제가 발생한다.LST..

Develop/AI 2025.02.23

자연어 딥러닝 기초 - RNN 알아보자.

인간의 언어를 이해하는 AI의 비밀   오늘은 자연어 딥러닝-RNN에 대 알아보자.오늘의 배움자연어 딥러닝의 기본 개념시퀀스 데이터의 특성과 활용순환 신경망(RNN)의 구조와 원리1. 자연어 딥러닝이란?정의: 텍스트 데이터에 신경망 모델을 활용하여 의미를 학습하고 다양한 작업을 수행하는 기술핵심 개념 한 줄 설명: 컴퓨터가 인간의 언어를 이해하고 처리할 수 있도록 하는 인공지능 기술특징:대량의 텍스트 데이터를 학습함단어나 문장의 의미와 문맥을 파악함다양한 자연어 처리 작업(번역, 감정분석 등)을 수행함필요성:인간과 기계 간의 자연스러운 소통을 위해 필수적방대한 텍스트 정보를 자동으로 분석하고 처리하기 위함장점/단점:장점: 인간의 개입 없이 텍스트를 이해하고 처리 가능, 다양한 언어에 적용 가능단점: 많은..

Develop/AI 2025.02.23

자연어 임베딩 이해를 알아보자.

언어를 숫자로 표현하는 마법   오늘은 자연어 처리(NLP)의 핵심 기술인 '자연어 임베딩'에 대해 알아보자.오늘의 배움자연어 임베딩 개념과 역할벡터화의 원리와 종류다양한 임베딩 기법과 활용법1. 자연어 임베딩이란정의: 텍스트 데이터를 수치 데이터(벡터)로 변환하여 컴퓨터가 처리할 수 있도록 만드는 기술핵심 개념 한 줄 설명: 단어나 문장을 숫자로 된 좌표계에 배치하여 의미적 관계를 수학적으로 표현하는 방법특징:단어 간 유사도를 수치로 계산 가능 (코사인 유사도, 유클리드 거리)의미와 문법 정보를 벡터 공간에 함축다차원 공간에 단어를 배치하여 관계 표현필요성:컴퓨터는 텍스트가 아닌 숫자만 처리할 수 있음언어의 복잡한 의미 관계를 수학적으로 표현해야 함머신러닝 알고리즘 적용을 위한 전처리 과정임장점:단어 ..

Develop/AI 2025.02.21

[3003] 킹, 퀸, 룩, 비숍, 나이트, 폰

문제백준 문제동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다.체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다.체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.입력첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다.출력첫째 줄에 입력에서 주어진 순서대로 몇 개의 피스를 더하거나 빼야 되는지를 출력한다. 만약 ..

TIL/Baekjoon 2025.02.20

[11718] 그대로 출력하기

문제백준 문제입력 받은 대로 출력하는 프로그램을 작성하시오.입력입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.출력입력받은 그대로 출력한다.예제 입력 1 HelloBaekjoonOnline Judge예제 출력 1 HelloBaekjoonOnline Judge 풀이 sys를 통해 보다 빠른 입력을 받아 출력될 수 있도록 했다. import syswords = sys.stdin.readlines()for word in words: print(word.rstrip())  더 짧은 버전import sysprint(sy..

TIL/Baekjoon 2025.02.20

Subword Tokenizing을 알아보자.

더 작은 단위로 쪼개는 토크나이징 방법   오늘은 Subword Tokenizing에 대해 알아보자.오늘의 배움BPE(Byte Pair Encoding)WordPieceSentencePieceSubword TokenizingSubword Tokenizing : 더 작은 단위(서브워드, subword)로 쪼개는 토크나이징 방법자주 나오는 단어는 유지하고, 희귀 단어는 서브워드로 분해하여 처리 대표 기법: BPE(Byte Pair Encoding), WordPiece, SentencePiece1. Byte Pair Encoding (BPE) 예제BPE는 가장 많이 등장하는 문자 쌍을 반복적으로 결합하여 서브워드를 만드는 방식from tokenizers import Tokenizerfrom tokenizers..

Develop/AI 2025.02.19

어간 추출 알아보자.

어떻게 잘라서 변환할 것 인가   오늘은 어간추출 - stemming, lemmatization에 대해 알아보자.오늘의 배움stemminglemmatization어간 추출Stemming : 단순히 어미를 잘라 변환 (PorterStemmer는 조금 더 보수적으로 자르고 / LancasterStemmer는 공격적으로 자르는 편)from nltk.stem import PorterStemmer, LancasterStemmerfrom nltk.tokenize import word_tokenize# 두 가지 다른 Stemmerporter = PorterStemmer()lancaster = LancasterStemmer()words = ["running", "flies", "happily", "better", "s..

Develop/AI 2025.02.19
728x90