SecurityFactorial/Chat Filtering (X)
세번째 회의
2020-07-28 프로젝트가 시작된 이래, 첫 대면회의가 이루어졌다. 음??? 오후 2시부터 진행되어 6시에 끝난 회의의 큰 주제는 다음과 같다. 1. 텐서플로우에 대해 어떻게 공부하였는가? 2. 필터링 방식에 대한 회의(feat.CNN) 3. 다음 학습 계획 먼저 tensorflow에 대한 학습을 각자 얼마나 진행하였는지 확인한 결과 대부분은 맛보기에 그쳤고, 다운님만이 책을 이용해서 단계별 학습을 진행하고 있었다. 또한 책을 통한 학습이 다른 팀원들보다 이해량이 많았고, 단순히 따라가기만 하면 되기 때문에 학습을 위한 서칭에 어려움을 겪지 않는다는 장점이 있었다. KUCIS로부터 프로젝트 지원을 받을 때, 지원금을 일부 수령했어야 했는데 학습에 있어서 이러한 어려움을 미쳐 예상하지 못했고, 시기가 ..
#2. 텐서플로우 사용법 익히기 1일차
2020-07-28 회의가 있기 전까지 구글 코랩과 유튜브 자료를 통해 텐서플로우(tensorflow)를 직접 코드작성을 통해 익혀보았다. 주로 동빈나 유튜브를 참고하여 예제코드들을 모두 따라서 작성해보았으며, 간단하게는 변수 선언 방식부터 선형 회귀 함수를 사용해보면서 손과 눈으로 접해보았다. 자세하게 이론적인 내용은 모르지만 코드가 어떠한 기능을 하는지 간단하게 분석하는 식으로 정리하겠다. # 선형 회귀 * 참고로 tensorflow 2.0이 사용되질 않아서 특별 조치를 취했다.( tf.disable_v2_behavior() 선언 ) import tensorflow.compat.v1 as tf tf.disable_v2_behavior() xData = [1,2,3,4,5,6,7] yData = [25..
#1. 머신러닝 체험기
본격적으로 머신러닝을 통해 욕설필터링 우회를 막는 알고리즘을 개발하고자 한다. 궁극적인 목표는 "시@#발" 필터링이며, "아니 미안" -> "아* *안"으로 필터링 되지 않도록 하는 것이다. 목표를 향한 그 첫번째로 어떻게 python을 이용해 기계를 학습시키는 것인지 부딪혀보려고 한다. 여러 환경을 찾아보다가 머신러닝을 학습하기 용이하다는 google colab을 사용하기로 하였고, 예제들을 작성해보고 차근차근 배워갈 생각이다. https://colab.research.google.com/notebooks/intro.ipynb Google Colaboratory colab.research.google.com Colab을 사용하면 코드 몇 줄만으로 이미지 데이터세트를 가져오고, 이 데이터세트로 이미지 분..
구글 이미지 크롤링
머신러닝을 공부하는 도중에 Teachable machine 이라는 구글의 무료 머신러닝 서비스를 발견하였다. 그 내부에는 웹캡 또는 이미지파일을 업로드하여 학습시키는 방식이였는데, 정교하게 학습을 시키기위해선 그만큼 많은 이미지 파일이 필요하게 되었다. 그리고 이미지 파일을 구하러 다니다가 귀찮음을 느끼고 이미지 파일 크롤링 코드를 작성하게되었다. 인터넷에 데이터가 방대해지면서 우리는 그걸 활용할 필요성이 높아졌습니다. 그런 정보들을 우리가 분석하기 쉽고 활용하기 쉽게 끔 데이터를 수집하는 행위를 크롤링(Crawling) 이라고 하고 크롤링하는 프로그램을 크롤러(Crawler) 라고 합니다. 직접 작성한 것이 아니라 구글링을 통해 여러 코드를 찾아보았고, 그 중에서 기준이 될 코드를 하나잡고 내 환경에서..
두번째 회의
2020-07-11 오늘은 두 팀으로 나누어 진행했던 스터디에 대한 자료를 공유하였다. [ 필터링 알고리즘팀 ] # 자료 수집 - Youtube 동빈나 - Google 코랩 - tensorflow 공홈 우리가 아는 언어(c, python)에서 배운 간단한 함수만으로는 구현하기 힘든 것을 알기 때문에 인터넷 검색을 통하여 자료를 찾은 결과, 딥러닝을 이용하기로 결정하였다. (http://www.inven.co.kr/webzine/news/?news=198156를 참고하였다) 이를 위해 tensorflow부터 익히기로 하였고, 어떤 식으로 스터디를 해야할지 방향을 정하기로 하였다. [ 채팅 서비스 분석팀 ] # 자료 수집 - 키워드 중심 구글링 JavaScript에 대해서 A to Z 보다는 필요한 함수들을..
채팅 프로그램 분석 2차 회의
2020-07-10 1. 웹 플랫폼마다 다양한 방식으로 채팅 기능을 제공하고 있다. 개발하는 언어의 선택이나 로직이 달라지진 않을까? => 페이지 변경을 목표로 한다면 HTML접근 모델 DOM은 모두 동일하기 때문에, JavaScript를 이용하여 수정가능하다. 2. 구글 확장 프로그램은 JavaScript로 작성된다는 이론만 알고 있다. 어떻게 만들고, 어떻게 적용하는지 알아야한다. => 구글 확장 프로그램을 만들어보자 3. 구글 페이지 번역은 확장프로그램이며, API로 구현되어 있다. 이러한 API는 어떻게 로드하여 사용되는 것일까? => 직접 API를 적용해보는 예제를 만들어 확인해보자. 1. Client.js에 CodeInjection을 통해 필터..
웹채팅 서비스 만들기
[ 개발 과정 ] "기본적으로 멀티채팅이 가능하며, 특정 IP의 특정 포트번호를 통해 접속하는 방식으로 구현" ### 들어가기 전에 웹브라우저와 서버간의 통신을 위해서는 다양한 방식을 이용하여 통신 가능하다. 1) 그 중에서 Socket 통신 방식이 도입되기 이전(HTTP4이하)에는 다음과 같은 방식이 채택되었다. Polling : 연결 종료까지 연결 시도와 함께 Client가 Server에게 매번 요청(Request) Long-Polling : Polling과 유사하지만 정보 업데이트 발생 시에만 응답(Response) Streaming : 첫 연결을 유지한 상태로 정보 업데이트가 발생하면 Server가 Client에게 전달 즉, HTTP의 TP(Transfer Protocol) 통신 제약에 따라 반드..