CORS란? / React + Spring Boot CORS 문제 해결
·
Development & Projects
1. CORS란?CORS(Cross-Origin Resource Sharing)는 웹 브라우저가 보안상의 이유로 다른 출처(Origin)에서 리소스를 요청하는 것을 제한하는 정책입니다. 기본적으로 브라우저는 보안 문제로 인해 다른 도메인, 프로토콜, 포트에서 오는 요청을 차단합니다.예를 들어, 웹사이트 A가 API 서버 B에서 데이터를 가져오려할 때, API 서버 B에서 CORS 허용 설정이 되어있지 않다면 브라우저는 요청을 차단할 수 있습니다. 이때 CORS를 올바르게 설정하면 특정 도메인에서의 요청을 허용할 수 있습니다.  2. CORS가 필요한 이유웹 보안의 핵심 원칙 중 하나는  동일 출처 정책(SOP, Same-Origin Policy)입니다. 동일 출처 정책은 한 사이트에서 로드된 웹 페이지가..
Few-Shot Learning 감정 분석 예시
·
Development & Projects
Few-shot "Few-shot"은 머신러닝, 특히 자연어 처리(NLP)에서 사용되는 개념으로, 모델이 매우 적은 예시(few examples)**를 보고 학습하여 새로운 작업을 수행할 수 있도록 하는 방식입니다.  Few-shot 학습을 활용함으로써, 언어 모델은 주어진 예제들을 참고하여 더 정확하고 일관된 응답을 생성할 수 있습니다. 이는 특히 특정 도메인이나 형식의 질문에 대해 모델의 성능을 향상시키는 데 효과적입니다.   이 방식은 Zero-shot(아예 학습 데이터 없이 수행하는 방식)과 One-shot(하나의 예시만 제공) 학습 방식의 중간에 위치하는 개념입니다.  예시문장 1: "오늘 정말 기분이 좋다!"라벨: 긍정적문장 2: "오늘은 정말 피곤하고 지친 하루였다."라벨: 부정적문장 3:..
KoBERT 모델
·
Development & Projects
KoBERT란? KoBERT(Korean BERT)는 한국어 자연어 처리(NLP)에 최적화된 BERT 기반 모델입니다. Google의 BERT는 다양한 언어를 지원하는 모델로, 양방향 Transformer를 활용해 언어를 깊이 이해할 수 있도록 설계되었습니다. KoBERT는 이러한 BERT 모델의 한국어 성능 한계를 극복하기 위해 개발되었으며, 한국어 데이터로 사전 학습하여 한국어 NLP 작업에서 더욱 향상된 성능을 발휘하도록 개발되었습니다. KoBERT의 특징1) BERT 기반 모델Google에서 개발한 BERT(Bidirectional Encoder Representations from Transformers) 모델을 기반으로 함.문장의 맥락을 양방향으로 학습하여 높은 성능을 발휘.2) 한국어 데이터..
Whisper로 STT(Speech-To-Text) 구현하기
·
Development & Projects
인공지능 학습을 위한 필요한 데이터를 수집하기 위해 크롤링했던 음성 데이터를 텍스트로 변환해야 합니다. 여기서 변환할 때에 Google Cloud의 STT나 Naver CLOVA STT를 사용하면 되지만 데이터가 많기 때문에 오픈소스인 Whisper를 이용해 무료로 STT를 직접 구현해서 변환하려고 합니다. WhisperWhisper는 다양한 언어와 환경에서 우수한 성능을 제공하는 강력한 음성 인식 라이브러리입니다. OpenAI가 제공하는 오픈소스로, API를 통해 사용자가 비용을 지불하고 이용할 수 있으며, 파이썬 라이브러리 형태로 제공되어 사용자가 모델을 자유롭게 다운로드하여 활용할 수 있습니다 ! (영어 스피킹 애플리케이션인 스픽과 ChatGPT 공식 앱의 음성 인식에서도 Whisper를 사용합니..
FFmpeg으로 영상 데이터 음성 변환 (MP4 to WAV)
·
Development & Projects
오늘은 어제 크롤링한 영상 데이터를 음성 데이터로 변환해보겠습니다.웹 크롤링 과정은 아래 글에 있습니다 !  [Data preprocessing] 웹 크롤링을 통한 데이터 수집 (Selenium) / NoSuchElementException머신러닝을 위한 음성 데이터 수집을 위해 웹 크롤링을 진행하였습니다.  크롬에서 크롤링을 진행할 것이기 때문에 크롤링 전에 크롬 드라이버를 설치하고 가상환경에 셀레니움을 설치하였습seulow-down.tistory.com  음성 데이터에서 STT를 사용해서 텍스트로 변환할 것이기 때문에 FFmpeg를 통해서 mp4를 wav로 변환하려고 합니다. 먼저 FFmpeg를 설치한 후, ffmpeg-python을 사용하여 아래의 코드로 변환 가능합니다.import osimport..
웹 크롤링을 통한 데이터 수집 (Selenium) / NoSuchElementException
·
Development & Projects/Python
머신러닝을 위한 음성 데이터 수집을 위해 웹 크롤링을 진행하였습니다.  크롬에서 크롤링을 진행할 것이기 때문에 크롤링 전에 크롬 드라이버를 설치하고 가상환경에 셀레니움을 설치하였습니다. (크롬 버전과 동일한 드라이버 설치해야 합니다 !) 크롬 드라이버 다운 : https://googlechromelabs.github.io/chrome-for-testing/ 아나콘다에서 셀레니움 설치 - pip install selenium from selenium import webdriver from selenium.webdriver import ActionChainsfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by impo..
[Spring] Spring Security CSS 적용 안되는 오류
·
Development & Projects/Java
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { return http .authorizeHttpRequests((authorizeRequests) -> // 3. 인증, 인가 설정 authorizeRequests .requestMatchers("/login", "/signup", "/user").permitAll() // login, signup, user는 인증 없이 접근 가능 .anyRequest().authenticated..
[Spring] Spring Security
·
Development & Projects/Java
Spring SecuritySpring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authentication and authorizspring.io  Spring Security는 강력하고 고도로 사용자 정의 가능한 인증 및 접근 제어 프레임워크이다. Spring 기반 애플리케이션의 보안을 위한 사실상의 표준이며, Java 애플리케이션에 인증과 권한 부여를..