본문 바로가기

Study/소프트웨어공학&비즈니스애널리틱스 (최성철 교수님) 2023-219

word_cloud flask API 성공 word_cloud 기능 추가하기 뉴스 데이터를 받아와서 가장 많이 언급된 단어를 바탕으로 워드클라우드를 만드는 기능이다. 로컬에서 flask로 가상 웹을 만들고 만들어진 워드 클라우드를 S3에 업로드 하는 건데, 이거 돌리다가 서버가 자꾸 터져서 local에서 post man으로 API를 받을 수 있도록 실행해 보았다. https://codinghero.tistory.com/270 [POSTMAN] 포스트맨 사용법 (REST API 테스트) 오늘은 서버의 REST API를 테스트하기 위해서 PC 소프트웨어인 포스트맨을 설치했습니다 포스트맨은 HTTP 프로토콜의 테스트가 편리하기 때문에 웹 개발자들 사이에서는 이미 많이 사용되고 있는 codinghero.tistory.com 성공 결과 화면 local에서.. 2023. 12. 12.
Word_cloud 생성하기 크롤링해온 뉴스를 바탕으로 각 카테고리별로 word_cloud를 생성했다. 뉴스에서 가장 많이 언급된 이슈가 무엇인지 한눈에 파악할 수 있다. 일반적으로 많이 사용되는 단어들을 불용어 list에서 빠지도록 처리했다. from konlpy.tag import Okt from collections import Counter from wordcloud import WordCloud import matplotlib.pyplot as plt import json # 형태소 분석기 초기화 okt = Okt() # 불용어 목록 stopwords = set(['스마트', '건설', '건설업', '사고', '사망', '처벌', '기술', '조선업', '조선', '선박', '이슈', '기업', '산업', '재해', '중대.. 2023. 12. 11.
ANIOP 부산 지산학 네트워킹 데이 발표 드디어 소프트웨어 공학 & 비즈니스 애널리틱스 과목의 결과물을 발표하는 시간이다. 센텀의 Centop 1층에서 자리가 마련되었다. 지금까지 개발한 내용, 기술 스택, 화면 구성, 피드백을 담아서 조장님께서 발표해주셨다. 앞의 포스팅에서 보았듯이 나의 역할은 AI 학습을 위한 데이터파이프라인 구성과 데이터 셋 구축, Kobert모델을 학습시키고 개발하는 ai 엔지니어의 역할을 맡았다. 나도 연구실에서 간단한 딥러닝 모델만 돌려봐서 자연어 처리는 처음인데 우여곡절끝에 많은 걸 배워갈 수 있었다. 고생 많았습니다..! 우리팀 최고!! 2023. 12. 11.
클리핑된 뉴스 모델에 통과시켜서 성능확인하기 모델 학습 코드 !pip install transformers !pip install torch import pandas as pd from sklearn.model_selection import train_test_split import json # JSON 데이터 불러오기 file_path = '/content/news_data.json' # 앞에서 생성한 JSON 파일 경로를 사용합니다. with open(file_path, 'r', encoding='utf-8') as file: data = json.load(file) # JSON 데이터를 DataFrame으로 변환 data_df = pd.DataFrame(data) # 'Title'과 'CategoryID' 열을 사용하여 새로운 DataFram.. 2023. 12. 10.
뉴스 클리핑 코드 구현 고려해야할 사항1. 날짜 sort=1로 해서 최신순으로 정렬 후에 아닌 날짜가 나오면 break; 2. 날짜 양식이 yyyy. mm. dd 아닌경우에? --> 1시간 전, 2일 전, 3주 전 전부 처리해야함 --> Url에 사용자가 날짜 설정할 수 있도록 재구현 3. 중복된 기사의 경우 --> 답없음. 크롤링 후에 사용자가 선택해야하는 상황 중간에 네이버에서 IP 차단시킴 ㅠㅠ봇으로 인식하고 차단 --> 해결 1. IP변경 2. User-agent 설정해주기 3. request.Session() 세션 켜두기 구현코드# -*- coding: utf-8 -*- import requests import time import random from bs4 import BeautifulSoup from dateti.. 2023. 12. 9.
AWS S3 커스텀 모델에 json 뉴스 결과 저장 성공!! 와... 드디어 S3에 올려진 모델에 json 뉴스title을 통과시켜서 어떤 카테고리에 저장될지 예측하여 다시 S3에 업로드 시키는 과정을 성공했다! 처음 클라우드를 써보는거라 너무 어려웠는데 성공해서 너무 기쁘당.. 히히 잘 기록해두고 다음에도 모델 사용할때 써야겠다! import torch from transformers import BertConfig, BertTokenizer, BertForSequenceClassification import json from mymodel import MyModel1 import boto3 def load_model(model_path, number_of_labels, tokenizer_path='bert-base-uncased'): config = BertC.. 2023. 11. 22.
드디어 lamda로 구운 나의 커스텀 모델 모델을 여러번 학습시켜봤지만 실제 서비스를 위해서 새로운 데이터를 넣어서 json 형태로 카테고리를 저장해본 경험은 처음이다! pytorch 모델을 pth확장자로 구워서 lamda를 이용해, AWS SageMaker에서 서비스 될 수 있도록 마무리할 예정이다. 새롭게 해본 경험이라 어렵기도 하지만 해결해서 기분이 많이 좋다! 이번주에 일본 학회도 다녀오면 대충 바쁜 일은 마무리 되지 않을까.. import torch from transformers import BertConfig, BertTokenizer, BertForSequenceClassification import json from mymodel import MyModel1 def load_model(model_path, number_of_lab.. 2023. 11. 21.
뉴스 클리핑 분류 KoBERT 모델 설명 환경 : Colab Pro import pandas as pd # 엑셀 파일 로드 file_path = '/content/musma.xlsx' data = pd.read_excel(file_path) # 데이터의 처음 몇 행을 확인 data.head() data.shape 데이터 전처리 # 데이터셋을 재구성하기 위해 각 카테고리 별로 데이터를 하나의 리스트에 저장합니다. # 각 뉴스 제목에 해당 카테고리의 레이블을 부여합니다. # 카테고리를 레이블로 매핑 categories = data.columns label_map = {category: i for i, category in enumerate(categories)} # (뉴스 제목, 레이블) 형식의 리스트 생성 news_data = [] for cat.. 2023. 11. 11.
SageMaker Studio에서 ML 분석하기 https://blog.kico.co.kr/2022/03/08/hands-on-sagemaker-studio-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0/ [Hands On] SageMaker Studio 활용하기 – 교보정보통신 기술 블로그 blog.kico.co.kr 과정 1. S3 데이터 업로드 AWS Management Console > S3 메뉴 > 버킷만들기를 클릭합니다. 버킷이름(예, s3-wyc-sagemaker) > AWS 리전(아시아 태평양(서울) ap-northeast-2 선택) > 버킷만들기를 클릭합니 폴더 만들기(house_prices) > 하위 data, submit 폴더를 생성합니다. data 폴더에 데이터 파일을 업로드합니다. 2. SageMaker St.. 2023. 11. 11.
사용할 AWS DB 서비스 EC2 RDS S3 SageMaker 크롤링 컨테이너 Docker 컨테이너로 구성성 주요 데이터 저장 DB 객체 스토리지 : 파일자체로 저장 ML KoBERT model 서버 관리 및 학습 크롤링 데이터 바로 RDS에 저장 비정형 데이터 저장 : FE vue.js, BE node.js python 저장 정제된 크롤링 데이터 저장 데이터 형태 : 관계형, 텍스트 (뉴스 기사, 키워드, 관련 기사수, 워드 클라우드 저장 주소) 크롤링 xlsx 파일 수정 ML KoBERT 모델 저장 2023. 11. 7.
ANIOP git 올릴때 주의사항 타입 커밋의 유형을 나타냅니다. feat: 새로운 기능 추가 fix: 버그 수정 docs: 문서 변경 style: 코드 스타일 변경 (포맷팅 등, 코드 변경 없음) refactor: 코드 리팩토링 test: 테스트 코드 추가 및 변경 (비즈니스 로직에 변경 없음) chore: 빌드 스크립트 설정, 라이브러리 업데이트 등 기타 변경 범위 변경사항의 범위를 간략하게 표기 (예: auth, api, ui). 제목 커밋의 요약. 50자 이내로 작성합니다. 본문 커밋의 세부 내용. 필요한 경우에만 사용합니다. 예시 new : components/MyPageImage.vue feat : MyPageView.vue에서 라우터 연결 chore : HomeView.vue에서 배경화면 색 변경 docs : README 수.. 2023. 11. 7.
Docker Compose FE vue.js BE node.js python DB(RDS) GPT => 요약 ML koBERT=> 분류, 클러스터링 https://hoonzi-text.tistory.com/19#google_vignette 폴더 구조 /my-application |-- docker-compose.yml |-- /frontend | |-- Dockerfile | |-- /build | |-- /config | |-- /src | | |-- /assets | | |-- /components | | |-- /views | | |-- App.vue | | `-- main.js | |-- /public | | `-- index.html | `-- package.json | |-- /backend | |-- Dockerfil.. 2023. 11. 6.
728x90