โ๏ธ Kibwa Voice Phishing Prev Project12 [Flask] Flask ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ Python WebApp ์ ์ ๐ Groom ์ ํ์ฉํ Flask WebApp ์ ์ ๊ณผ์ 1. Flask ์ดํ๋ฆฌ์ผ์ด์ ์์ฑ์ ์ํ application.py ํ์ด์ง ์ ์ # Flask ๋ชจ๋๋ก๋ถํฐ ํ์ํ ํด๋์ค์ ํจ์ ์ํฌํธ from flask import Flask, render_template, redirect, url_for # AWS ์๋น์ค์ ์ํธ์์ฉํ ์ ์๋๋ก boto3 ๋ชจ๋ ์ํฌํธ import boto3 import json import time # AWS ๊ณ์ ์ ๋ณด ๋ฐ S3 ๋ฒํท ์ด๋ฆ ์ค์ aws_access_key = 'AWS ์์ธ์ค ํค ID' aws_secret_key = 'AWS ์ํฌ๋ฆฟ ์์ธ์ค ํค' bucket_name = 'ํ์ผ์ด ์์นํ ๋ฒํท๋ช ' file_key = 'ํ์ผ๋ช .txt' # AWS S3 ํด๋ผ์ด์ธํธ ์์ฑ.. 2023. 9. 26. [Data Processing] ๋จ์ด ์ญ์ ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ฆ๊ฐ(Data Augmentation) ๐ ๋จ์ด ์ญ์ ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ฆ๊ฐ(Data Augmentation) 1. OS ์ Random ๋ชจ๋ Import import os import random OS Random ์ด์ ์ฒด์ ์ ์ํธ์์ฉ์ ์ํ ๋ชจ๋๋ก, ๋๋ ํ ๋ฆฌ๋ ํ์ผ๊ณผ ๊ด๋ จ๋ ๋ค์ํ ์์ ์ ์ด์ฉ๋จ ๋์ ์์ฑ ๋ฐ ์ํ์ค์์์ ๋ฌด์์ ์์ ์ ํ ๋ฑ์ ๊ธฐ๋ฅ์ ์ํ ๋ชจ๋ 2. ์ฃผ์ด์ง ํ์ผ ๊ฒฝ๋ก์์ ๋๋คํ๊ฒ ํ๋์ ๋จ์ด๋ฅผ ์ญ์ ํ๋ remove_random_word() ํจ์ ๊ตฌํ def remove_random_word(file_path): with open(file_path, 'r', encoding='utf-8') as file: content = file.read() words = content.split() if len(words) > 1: # E.. 2023. 7. 28. [Data Processing] '๋ฒ์ญ ํ ํ๊ท' ๋ฐ์ดํฐ ์ฆ๊ฐ(Data Augmentation) ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ ์ค์ ๋ณด์ด์คํผ์ฑ ๋ฐ์ดํฐ ์ฆ๊ฐ ๐ ๋ฒ์ญ ํ ํ๊ท ๊ธฐ๋ฒ์ ์ฌ์ฉํ ์ค์ ๋ณด์ด์คํผ์ฑ ๋ฐ์ดํฐ ์ฆ๊ฐ 1. pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ '์ฌ์นญํ_phising_data.csv' ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๊ณ , ๋ถ๋ฌ์จ ๋ฐ์ดํฐ์ ์ฒซ ๋ถ๋ถ ํ์ธ #๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ data=pd.read_csv('์ฌ์นญํ_phising_data.csv') data.head() 2. ๋ฐ์ดํฐํ๋ ์ 'data'์ comments ์ด์์ ์ฒซ ๋ค์ฏ ๊ฐ์ ๋ฐ์ดํฐ ์ถ๋ ฅ data['comments'].head() 3. 'comments' ์ด์ ๊ฐ ๋ฌธ์ฅ์ ๊ธธ์ด๋ฅผ ์ธก์ ํ์ฌ 5000์๋ฅผ ์ด๊ณผํ๋ ๋ฌธ์ฅ์ ๊ฐ์ ํ์ธ #ํํ๊ณ ํ๋ฒ์ 5000๊น์ง๋ง ๊ฐ๋ฅ #์ต๋ ๊ธ์ ์ ํ์ธ li=[] for i in range(len(data['comments'])): li.append(len(data.ilo.. 2023. 7. 27. [Data Processing] ๋์์ด(์ ์์ด) ๊ต์ฒด๋ฅผ ํตํ ๋ฐ์ดํฐ ์ฆ๊ฐ(Data Augmentation) ์คํฌ๋ฆฝํธ ์์ฑ ๐ ๋์์ด(์ ์์ด) ๊ต์ฒด ๊ธฐ๋ฒ์ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ฆ๊ฐ ์คํฌ๋ฆฝํธ 1๏ธโฃ ํ์ด์ฌ ํจํค์ง ๊ด๋ฆฌ์์ธ pip๋ฅผ ์ฌ์ฉํ์ฌ konlpy ํจํค์ง ์ค์น !pip install konlpy โป konlpy ๋? konlpy๋ ํ๊ตญ์ด ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ํจํค์ง๋ก ํํ์ ๋ถ์์ ํ์ฌ ํ๊น , ๊ตฌ๋ฌธ ๋ถ์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. konlpy๋ฅผ ์ค์นํ๋ฉด ์ ๋ค์ํ ํ๊ตญ์ด ์์ฐ์ด ์ฒ๋ฆฌ ์์ ์ ์ ์ฉํ ํด๋์ค์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. 2๏ธโฃ ํ์ด์ฌ ํจํค์ง ๊ด๋ฆฌ์์ธ pip๋ฅผ ์ฌ์ฉํ์ฌ nltk ํจํค์ง ์ค์น !pip install nltk โป NLTK ๋? NLTK๋ Natural Language Toolkit์ ์ฝ์๋ก, ์์ฐ์ด ์ฒ๋ฆฌ(Natural Language Processing, NLP) ์์ ์ ์ฌ์ฉ๋๋ ์คํ ์์ค ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค... 2023. 7. 14. [Data Processing] ๋ฌธ์ฅ ์ฌ๊ตฌ์ฑ์ ํตํ ๋ฐ์ดํฐ ์ฆ๊ฐ(Data Augmentation) ์คํฌ๋ฆฝํธ ์์ฑ ๐จ๏ธ ๋ฌธ์ฅ ์ฌ๊ตฌ์ฑ ๊ธฐ๋ฒ์ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ฆ๊ฐ ์คํฌ๋ฆฝํธ 1๏ธโฃ random ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ + ๋ฌธ์ฅ ์ฌ๊ตฌ์ฑ ํจ์ sentence_rearrangement ๊ตฌํ import random def sentence_rearrangement(sentence): words = sentence.split() # ๋ฌธ์ฅ์ ๋จ์ด๋ก ๋ถ๋ฆฌ random.shuffle(words) # ๋จ์ด์ ์์๋ฅผ ๋ฌด์์๋ก ์์ new_sentence = ' '.join(words) # ๋จ์ด๋ค์ ๋ค์ ๋ฌธ์ฅ์ผ๋ก ์กฐํฉ return new_sentence โป random ๋ชจ๋์ด๋? random ๋ชจ๋์ ํ์ด์ฌ์์ ์ ๊ณตํ๋ ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๋์ ์์ฑ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๋ค์ํ ๋์ ์์ฑ๊ณผ ๋ฌด์์ ์์ ์ ํ, ์ํ์ค ์๊ธฐ ๋ฑ ๋ค.. 2023. 7. 13. [Data Processing] ๋ฒ์ญ ํ ํ๊ท๋ฅผ ํตํ ๋ฐ์ดํฐ ์ฆ๊ฐ(Data Augmentation) ์คํฌ๋ฆฝํธ ์์ฑ ๐ ๋ฒ์ญ ํ ํ๊ท ๊ธฐ๋ฒ์ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ฆ๊ฐ ์คํฌ๋ฆฝํธ 1. Python์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ฅ๋ฌ๋ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ Import import pandas as pd from glob import glob import os import numpy as np import pandas as pd from tqdm import tqdm, tqdm_notebook import random import torch import torch.nn.functional as F ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๋ช & ์ฉ๋ pandas ๋ฐ์ดํฐ ์กฐ์ glob ํ์ผ ๊ฒ์ os ์ด์ ์ฒด์ ์์ ์ํธ์์ฉ numpy ์์น ๊ณ์ฐ tqdm ์งํ ์ํฉ ์๊ฐํ random ๋์ ์์ฑ torch ํ์ดํ ์น ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ 2. Papago ๋ฅผ ํตํ KOR -> EN .. 2023. 7. 12. ์ด์ 1 2 ๋ค์