728x90 반응형 SMALL Python/NLP7 [파이썬, Python] 워드 임베딩 구축하기! import pandas as pd import numpy as np from sklearn.datasets import fetch_20newsgroups 1. 데이터 전처리 # 영어 말뭉치 데이터셋 # remove=('header','footer','quotes')을 삭제한 데이터만 가져옴 dataset = fetch_20newsgroups(shuffle=True, random_state=10, remove=('headers','footers','quotes')) # dataset # dataset.data dataset = dataset.data dataset[0] # 데이터셋 총 개수 len(dataset) >>> 11314 # document 필드를 가진 데이터프레임으로 변환 news_df = p.. 2023. 7. 23. [파이썬, Python] 워드 임베딩(Word Embedding) - Word2Vec(C-BOW, Skipgram), FastText, GloVe 1. 워드 임베딩(Word Embedding) 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화 하는 기술 단어를 밀집 벡터(실수 값으로 이루어진 벡터)의 형태로 표현하는 방법 워드 임베딩 과정을 통해 나온 결과를 임베딩 벡터라고 함 워드 임베딩을 거쳐 잘 표현된 단어 벡터들은 계산이 가능하며, 모델에 입력으로 사용할 수 있음 1-1. 인코딩(Encoding) 기계는 자연어를 이해할 수 없기 때문에 데이터를 기계가 이해할 수 있도록 숫자 등으로 변환해주는 작업 자연어처리에서는 자연어를 수치화된 벡터로 변환하는 작업 1-2. 희소 표현(Sparse Representation) 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전.. 2023. 7. 23. [파이썬, Python] 자연어처리 - 유사도 측정 실습 ✅ 예시 문장 sen_1 = '오늘 점심에 배가 너무 고파서 밥을 너무 많이 먹었다.' sen_2 = '오늘 점심에 배가 고파서 밥을 많이 먹었다.' sen_3 = '오늘 배가 너무 고파서 점심에 밥을 너무 많이 먹었다.' sen_4 = '오늘 점심에 배가 고파서 비행기를 많이 먹었다.' sen_5 = '어제 저녁에 밥을 너무 많이 먹었더니 배가 부르다.' sen_6 = '이따 오후 9시에 출발하는 비행기가 3시간 연착 되었다고 하네요.' sen_1, sen_2: 의미가 유사한 문장 간 유사도 계산(조사를 생략) sen_1, sen_3: 의미가 유사한 문장 간 유사도 계산(순서 변경) sen_2, sen_4: 문장 내 단어를 임의의 단어로 치환한 문장과 원본 문장간의 유사도 계산 sen_1, sen_5:.. 2023. 7. 7. [파이썬, Python] 임베딩(Embedding) - 임베딩 이론 1. 자연어의 특성 자연어를 기계가 처리하도록 하기 위해서는 먼저 자연어를 기계가 이해할 수 있는 언어로 바꾸는 방법을 알아야 함 토큰화 작업의 결과인 단어 사전을 기계가 이해할 수 있는 언어로 표현하는 과정이고 단어 사전 내 단어 하나를 어떻게 표현할까의 문제로 볼 수 있음 1-1. 단어의 유사성과 모호성 대부분의 언어에서 단어의 의미는 유사성과 모호성을 가지고 있는데 단어는 겉으로 보이는 형태인 표제어안에 여러가지 의미를 담고 있음 대부분 사람은 주변 정보에 따라 숨겨진 의미를 파악하고 이해할 수 있으나 기계는 학습의 부재 또는 잘못된 데이터로 의미를 파악하지 못하는 경우가 있음 한 가지 형태의 단어에 여러 의미가 포함되어 생기는 중의성 문제는 자연어 처리에서 매우 중요함 동형어와 다의어 동형어(동음.. 2023. 7. 7. [파이썬, Python] 자연어처리 - 데이터 전처리 실습하기! 1. 데이터 전처리 실습 # 뉴스 기사 크롤링 라이브러리 !pip install newspaper3k # 불러오기 import newspaper # 라이브러리 지원 언어들 보기 newspaper.languages() # 웹 기사의 내용, 제목, 작성자, 날짜 등과 같은 다양한 정보를 추출 from newspaper import Article ✅ 기사의 URL을 가져와 읽어들이기 URL = 'https://v.daum.net/v/20230623105401779' article = Article(URL, language='ko') ✅ 기사 다운로드하고 파싱하기 - 제목과 내용 article.download() article.parse() # 제목과 내용을 파싱하여 가져옴 print('title:', arti.. 2023. 7. 6. [파이썬, Python] 자연어처리 - 자연어 데이터 전처리 이론 1. 코퍼스(Corpus) 사전적인 의미는 '말뭉치', '대량의 텍스트 데이터'를 말함 자연어처리 연구나 애플리케이션 활용을 염두에 두고 수집된 텍스트 데이터셋을 의미 2. 토큰화(Tokenization) 전처리 과정에는 토큰화, 정제, 정규화 작업 등이 있음 토큰화는 원시 데이터를 가져와서 유용한 데이터 문자열로 변환하는 간단한 프로세스 사이버 보안, NFT 생성에 사용되는 것으로 유명, 자연어 프로세스의 중요한 부분을 차지함 토큰의 단위는 자연어 내에서 의미를 가지는 최소 단위로 정의 단락과 문장을 보다 쉽게 의미를 할당할 수 있는 더 작은 단위로 분할하는데 사용 토큰화 작업은 주어진 코퍼스 내 자연어 문장들을 토큰이라 불리는 최소 단위로 나누는 작업 2-1. 토큰화 과정의 필요성 언어 모델의 자연어.. 2023. 7. 5. [파이썬, Python] 자연어처리(Natural Language Processing) 개요, 허깅페이스 모델로 토큰화하기! 1. 자연어(Natural Language) 프로그래밍 언어와 같이 인공적으로 만든 기계 언어와 대비되는 단어로, 우리가 일상에서 주로 사용하는 언어 1-1. 자연어처리(Natural Language Processing, NLP) 컴퓨터가 한국어나 영어와 같은 인간의 자연어를 읽고 이해할 수 있도록 돕는 인공지능의 한 분야 자연어에서 의미 있는 정보를 추출하여 활용 기계가 자연어의 의미를 이해하게 함 기계가 사람의 언어로 소통할 수 있게함 1-2. 자연어처리의 활용 문서 분류, 스팸 처리와 같은 분류 문제부터 검색어 추천과 같은 추천 기능, 음성 인식, 질의 응답, 번역 등의 다양한 분야에서 사용되고 있음 반복 업무 자동화 검색 효율 향상 및 검색 엔진 최적화 대규모 문서 분석 및 정리 소셜 미디어 분석.. 2023. 7. 5. 이전 1 다음 728x90 반응형 LIST