반응형

소프트웨어 944

자연어 처리 살펴보기 - 다양한 자연어 처리 Task 소개

목표 - 다양한 자연어 처리 Task들에 대한 목적과 수행 방법을 이해할 수 있다. text classification - 긍정 부정 분류 정보 추출 문장 변환 및 생성 품사 분류 및 관계 토픽, 키워드 추출 챗봇 자연어 추론 어뷰징 디텍션 - 위험한 말들을 분류(선정성, 공격성 등) 유사도 - 얼마나 유사한 번역, 요약, 생성(이루다) 추출요약 - 기계적 방식으로 요약 -> 원문에서 중요한 문장을 뽑기 추상요약 - 문장을 사람이 요약하듯 요약 -> 문장 전체를 원문에 없는 문장으로 만들기 사람이 작성한 것 같은 텍스트!!!!!! chat GPT나 이루다가 여기에 포함 엔티티는 명사와는 다르다. 개체명 인식 -> 엔티티 구별 둘 이상의 엔티티에서 발생한다. 종속 관계가 나온다! 추상 요약과 추출 요약 중..

자연어 처리 살펴보기 - 개요

상황적인 인식을 통해 비언어적인 신호 또한 사용된다. 물어본 의도를 잘 파악하는 챗봇들이 많이 나오고 있다. drug는 약도 될 수 있고, 마약도 될 수 있다. -> 단어의 뜻을 명확하게 하여 검색결과를 보여준다. 오타를 자동 수정! 사람이 하기 힘든 일을 대신 해준다. 감정 분석은 긍정과 부정을 나누어 사용자의 만족도를 측정할 수 있다.

자연어 처리 python 실습 - Neural Language model 구현

# Neural Language Modeling #네이버 영화 댓글 데이터를 이용해 Neural language model을 구현해보고, 구현한 Neural language model로 댓글 생성을 해본다. from google.colab import drive drive.mount('/content/drive') base_path = "./drive/MyDrive/fastcampus/practice" import pandas as pd df = pd.read_csv(f"{base_path}/data/nsmc/ratings_train.txt", sep='\t') # pos, neg 비율 df['label'].value_counts() 0 75173 1 74827 Name: label, dtype: int..

자연어 처리 python 실습 - N gram language model

# N-gram Language Modeling 작은 샘플들을 활용해 N-gram language modeling을 구현해보고, 구현한 N-gram language model로 자동 완성 기능을 이해해보자 data corpus = ["오늘 날씨 어때", "오늘 날씨 어때", "오늘 날씨 어때", "오늘 축구 경기", "오늘 경기 결과", "오늘 경기 결과", "내일 날씨", "내일 축구 경기", "내일 축구 경기", "축구 일정", ] 문장의 빈도를 통한 확률 제대로 확인! # tokenization vocabs = set() for sample in corpus: for token in sample.split(): vocabs.add(token) vocabs = list(vocabs) vocabs 출력..

자연어 처리 python - 최신 Language model들과 활용법

objective = 모델이 학습하려고 하는 바 MLM = 컨텍스트들이 마스킹 되어 있다. 마스킹 된 것을 예측한다! 한 단어를 예측할 때 주변을 다 보고 예측한다. NSP = 이전문장과 다음 문장이 이어지면 1, 아니면 0으로 풀게 된다. BERT = MLM + NSP 문장에 대한 특징을 잘 추출, 언어를 잘 이해하게 되어 파인튜닝시 잘 이해한다. 실무적으로 아직 잘 사용되고 있다. GPT - 1 = 단방향! 미래는 볼 수 없다. 고전적인 학습 방법을 이용한다. RoBERTa : Long sequence!! GPT - 2: 1버전 보다 더 커졌다. T5 - 입력에 대해 토큰들로 치환하여 디코더에서 치환된 영역이 다시 생성된다! 모든 일을 자연어로 풀게한다-> 요즘의 트렌드 MTDNN - MS ELECT..

자연어 처리 python - skip thought vector

유사한 임베딩은 가까이 유사하지 않은 것은 다른 곳을 향하게 된다. sentence embedding을 잘 만드는 것으로 좋은 모델을 만들 수 있다. 어휘는 유사하지만 완전히 다른 의미와 완전히 다른 어휘와 동일한 의미! GRU도 RNN의 일종이다. 여러개 문장을 주어주고, 그 중 가장 알맞는 문장을 고르도록 학습하게 된다! 여기선 '오늘 날씨는 맑습니다'가 학습하면서 나올 확률이 높아지고, 출력하게 된다.

파이썬 = 웹 페이지 다운로드 하기

안에 웹툰의 아이디가 있다. 우리가 필요한 정보는 안에 있고 는 안에 있다. 웹툰을 다운로드 할 수 있도록 만들어 본다! import requests from bs4 import BeautifulSoup # 원하는 정보 추출하는 용! import random import os # exit 사용 # https://comic.naver.com/webtoon/detail?titleId=725586&no=247&week=fri days =["mon","tue","wed","thu","fri","sat","sun"] dic ={} for i in days: url = f"https://comic.naver.com/webtoon?tab={i}" res = requests.get(url) soup = Beautifu..

파이썬 - 웹 크롤링 및 Unicode

웹 크롤링 - 웹상의 문서, 정보를 모은다. AC00 -> 이건 16진수 이다. 이제 초성퀴즈를 만들어 보자! import requests from bs4 import BeautifulSoup # 원하는 정보 추출하는 용! import random consonants = {'ㄱ' : 44032, 'ㄴ':45208, 'ㄷ':45796, 'ㄹ' : 46972, 'ㅁ':47560, 'ㅂ' : 48148} # 유니코드를 10진수로 life = 3 score = 0 ls = [] # 단어 리스트 중복 방지 # 자음을 랜덤하게 뽑아야된다. while life > 0: consonants1 = list(consonants.keys())[random.randint(0,len(consonants)-1)] consonan..

파이썬 - 웹 자료 수집하기

pip install requests 설치 ! import requests url = 'https://www.naver.com' a = requests.get(url) #print(a.status_code) # 응답 상태 확인 200이면 정상 # 404 not found #print(a.encoding) # 웹에서 사용하기 편하게 하는 것 # 여기서는 UTF-8이다. #print(a.text[:300]) # 내용 확인 300까지만 html = a.text # 저장 open('naver.html','w',encoding ='utf-8' ).write(html) # 이름, 모드 (쓰기), 인코딩 정보 # 열어보면 메인 페이지만 나온다. url에서 년, 월, 일등 다양한 정보가 포함되어 있다. https://..

728x90
728x90