~ 발표후기 ~

바빴던 2021년! 2021년의 절반의 시간을 들여 진행한 댓글분석 웹페이지 제작 프로젝트가 상위 8팀 안에 들어 은상을 수상하게 되었습니다! (짝짝짝) -> 300만원... 흐흐

저번주 주말에 저와 또 다른 팀원 둘이서, 팀을 대표하여 서울의 코엑스로 발표를 하러 갔었는데요.

발표 + 완성된 작품시연을 해야해서 혹시나 시연중에 오류가 뜨면 어떡하지 긴장이 되었었는데, 무사히 잘 넘어갔습니다. 질문도 어느정도 예상하던 질문이 나와 잘 대처할 수 있었어요.

사실 발표 아침까지도 웹페이지에 넣을 추가적인 코딩을 하느라 바빴었습니다. 뉴스 분석 페이지에 들어간 감성분석 모듈이, 기존에는 감성사전을 이용해 하는것으로 만들었다가 논의끝에 딥러닝 모델을 이용해 감성분석을 하는것으로 발표 1주전에 결정났거든요.. 쇼핑몰 페이지나 뉴스페이지의 감성분석 파트는 제가 전담했었기때문에, 후반부부터 딥러닝 모델로 변경하느라 혼자 마음이 급했던 기억이 납니다.

다행히 발표 전날까지는 완성을 했지만... 완성된 감성분석 모듈을 페이지에 넣고 보니, 사용자가 입력한 URL을 댓글을 긁어오고 댓글을 하나하나 분석해 Label을 붙이는데 생각보다 시간이 너무 오래걸려서 웹페이지에 못넣겠다는 판단이 되어서, 댓글 하나하나가 아니라 한꺼번에 예측할 수 있도록 하고, 더 모델 복잡도가 작으면서 정확도는 유지할 수 있도록 하는걸 발표날 아침까지 수정하고 또 수정했었습니다. 무사히 작동해서 다행이에요.

 

다음에는 12.3일에 일산 킨텍스로 시상 및 전시를 하러 갑니다. 전시를 대비하여 저희 웹사이트도 로딩페이지 추가, UI의 대대적인개편 등의 버전 업그레이드를 하였습니다. 다음에는 전시 및 시상식 후기를 남기도록 할게요.

 


 

~시상식 후기~

ICT 멘토링엑스포! 엑스포 겸 시상식이 일산 킨텍스에서 열렸습니다!

 

이런식으로 포스터? 를 걸어두고 이 앞에서 작품 전시를 했습니다. ㅎㅎ

저희는 40인치 모니터를 빌려서, 웹페이지 전시를 했어요

 

약 반년동안의 프로젝트가 정말 끝났습니다.

댓글분석 웹페이지 프로젝트는 끝났지만 앞으로도 열심히 살아보도록 하겠습니다 .!!!

 


 

아래는 블로그에 조금씩 올렸던 프로젝트 자료 모음..

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(0. 글을 올리기 전에)

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(0. 글을 올리기 전에)

 안녕하세요! 저번에 대외활동으로 주식 가격 예측 프로그램을 만드는 팀 프로젝트를 하고 있다고 글을 올렸었는데, 이번에도 그 대외활동에서 동시에 하고있는 팀 프로젝트에 관련해 글을 올

checherry.tistory.com

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(1. 개발설계).

*** 업로드된것은 초창기의 개발설계서입니다. 시험이 끝난 후 최종 개발설계서로 글을 수정할 예정입니다.

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(1. 개발설계)

 

checherry.tistory.com

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(2. 수행계획+1차보고서)

 

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(2. 수행계획+1차보고서)

요 약 본 작품 정보 프로젝트명 국문 빅데이터 댓글 분석 및 시각화(키바나), 댓글대시 서비스 영문 Big-data Analysis of Comments and Visualization 작품 소개 네이버 뉴스, 영화, 쇼핑몰의 URL을 받아 댓글

checherry.tistory.com

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(3. 최종보고 및 시연영상)

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(3. 최종보고 및 시연영상)

들어가는 말.. 최근 인터넷이 발달하고 사용자가 급증함에 따라, 인터넷을 통한 정보 교환이 활발하게 이루어지고 있습니다. 네이버 뉴스의 댓글을 읽으며 여론을 파악하신 적이 있으신가요? 네

checherry.tistory.com

 

노트북 배터리 충전기가 고장났다.
고장난 당시 내 노트북 배터리는 10퍼도 안됐다.
안돼애에앵엥에에에에에.......
너랑 해야할게 많단말이야...
근처에 바로 충전기를 구매할곳이나 빌릴만한 사람이 떠오르지않아서 pc방을 가야하나 고민하다가,
아 랩실에 내 자리가 있었지! 하고 오후6시쯤에 얼른 달려갔다.
요즘 코로나때문에 버스 막차가 빨라져서 12시가 되기전에 끊기는데,
그거 타고갈때까지 오늘 해야할걸 못끝낼거같아서 밤을 새우고 첫차를 타고가기로 마음먹었다.
팀원이 해오기로한 ppt를 취합해서 내일 오후1시까지 내야하는데 연락이 안되고 주기로한 시점이 지나서, 맘이 급해서 더 급하게 랩실에 왔는데. 다행히 랩실에오니 연락이 닿았다. 휴
어쨌거나 ppt 받고 최종 수정 및 추가, 검토해서 보냈다. (이거하는데만 3시간 걸렸다 =_=)
그거말고도 내일 데캡디 회의때 가져가야할 자료조사도 해야했고.. 학생회 메타버스 ox퀴즈 진행방식이랑 메뉴얼도 만들어야했고.. 해서 이래저래 할게 많았다.
급하게 하다보니 타자가 세게 쳐져서 조금 시끄러웠을것같아 걱정이다. 그래서 키스킨을 하나 샀다. 사는김에 동일 키보드 사용하는 다른 분들거도 같이 샀다.
시험기간동안 랩실에 안오다가 어느정도 시험이 끝나고 오랜만에 오니까 또 좋더라.
새벽의 랩실에는 나 혼자 있었다. 그런데 ... 갑자기 건들이지도 않은 프린트기가 혼자서 막 작동하더니 웹서버 관련 코드를 막 뽑아내더라. 뭐지????? 하고 가서 정지시켰는데 혼자 또 작동하더니 똑같은 코드를 뽑아내더라. 그래서 종료해버렸다. 뭘까... 뭐지? ... 얘기를 들어보니 새벽에 저 프린터기가 종종 저런다고한다. 가장 그럴듯한 가설은 다른 방에서 프린터를 하는데 연결이 우리 프린터기에 돼서 나오는가 싶기도 한데.. 하필 왜 새벽에 저럴까?..
아무튼 나는 새벽5시-5시30분경 있는 첫차를 타고 집에 돌아왔다.
역시 집이 좋다. 근데 집청소는 언제하지... 청소할시간이없다.
일단 이번주가 진짜 바쁘고, 일요일만 지나면 조금은 덜 바빠질것같아서 그때까지는 해야할일에 매진해야겠다.

가장 걱정은 그동안 다른거하느라 개인연구 진전이 하나도 없다는점.. 근데 금요일에 3주만에 랩미팅 하면서 업데이트 발표 해야한다는점... 하하...하... 내일 일어나서부터 금요일 발표할때까지 개인연구 관련만 해야겠다. 가뜩이나 우리 랩실 교수님 수업 중간고사 망쳤는데.. 이거라도..해가야....내가......덜죄송하지....후...ㅠㅠ...
변명을하자면.. 그 수업 시험이랑 같은 날에 다른 수업도 시험이었고, 그 수업은 중간고사 오픈북에 계산문제 안나온다고해서 그동안 짠 코드 검색해가면서 하면 되겠네! 하고 완전 마음놓고 다른 수업 공부만 하고 그 수업은 상대적으로 매우 덜하게되었는데 ......
시간대비 문제량이 많아서 망했다. 그리고 제출할때 인터넷오류인지뭔지 제출이 잘 안됐어서 또 망했다.
반면 그 수업대신 공부한 다른 수업은 매우 잘봤다. 만점이 100점인데 110점 맞았다.(보너스문제가있어서..)
차라리 랩실 교수님걸 공부할것을........
너무 맘에 쓰인다. 문득문득 생각이 난다...... 기말에는 꼭 제대로 공부해서 볼게요 교수님..

오늘은 이만 자야겠다. 내일 일찍인나서 실강들어야한닷.!


+ 맞다 오늘 바빠서 드럼연습도 못갔다.. ㅠㅠ 이거도 오랜만에 다시 연습 시작하는 날이었는데 .. 담주부터는 꼭 가야지 !! 악보출력



최근 일주일 - 해야할 것
-----------------------------------------------------
데캡디(11.4목, 4시회의)
Feature 조사, 추가Feature 계산, 라벨에 따른 시각화

개인연구(-11.5금)
데이터셋확인, Encoding-Decoding 확인, 연구방향 확립
-> 계획서(문서) 및 발표PPT 제출

데센프중간대체(-11.7일)
기업 후보 : 루닛, 뷰노, IBMwatson,

객프Pj1지뢰찾기(-11.7일)

녹강듣기(!)
데센프 등 관리

발표ppt수정/ 회의11. 5금, 발표11.6토
영채님이 보내주시면 수정 및 추가

학생회(
11.4목22시회의)
메타버스 OX 게임진행/메뉴얼 작성
노아님 의견 정리해서 추가


--------—-----------------------------------------
일요일 지나면 개인연구/데캡디/학점에 더 신경쓸수있을듯!!

11.4(목)
12 기상
1-3 수업
4-5 데캡디회의
5-10 개인연구조사
10-11 학생회회의
11-2 개인연구조사
3~ 숙면

11.5(금)
10-12 데캡디발표, 개인연구조사
12-3 개인연구조사
4-6 랩미팅
7-8 위클리리포트작성
8-10 녹강듣기
10-11 댓글분석회의
1 샤워 후 숙면

11.6(토)
일찍기상, 코엑스로..
10시 도착
1시20-3시30 진행 후 철수
4-8 코엑스구경, 저녁
8-12 카페공부(데센프중간대체, 객프지뢰찾기 일부)
1-2 집으루
3 숙면

11.7(일)
11-16 데센프 중간대체작성
17-23 객프pj1 지뢰찾기구현

이후 녹강 ㅠㅠㅠㅠㅠ 수업 ㅠㅠ제발듣고싶다 바쁘다

'일상·미래 > 일상생각·계획' 카테고리의 다른 글

12.03-12.24 DailyPlan  (0) 2021.12.03
11.14-22 DailyPlan  (0) 2021.11.18
10.29~11.7+a DailyPlan  (0) 2021.10.29
🎇소프트웨어융합학과 복수전공 합격했다!🎇  (0) 2021.10.27
왜 열심히 안하세요?  (0) 2021.10.15

하.. 오늘 회의만 3 번 했다....
기진맥진이다.... 말을 너무 많이했다.
뭔가 앞으로 해야할게 너무 많고 난잡해서 다시 일정을 정리한다!
/데분캡/주가예측/댓글분석/시험/개인일정 기준 작성이다!
---> 수업은 기재하지 않음. 꼭 챙겨듣기

10.29(금)
오전 11~12:20 : 데분캡 발표 / 이후 보고서 작성
오후 8시 : 키위옴
10.30(토)
오후 8시 : 키위감
10.31(일)

11.1(월)
오전10시 : 데센프 과제설명회
오후4시: 산경알 중간고사
오후10시: 댓글분석 회의 (이전까지)-발표자선정/제출물확인
- 코드 개선 업로드 ( 쇼핑몰 크롤링 코드개선, 뉴스 감성분석 코드 개선)

11.2(화)
오후 4시~ 랩실

(Sentimental 부분만 ppt 제작해주기)

(1시~ 객프 수업듣기/ 그외 녹강듣기 { 기계1, 데센프2, 인공론1 } )


11.3(수)
오후 7시 : 드럼연습

11.4(목)
오후 1시 : 공모전 3차 접수마감
오후 4시 : 데캡디 회의
- Feature (MAX-PSF, MAX-PSD, RMS) 조사
- Label 별 Feature EDA/ 시각화 해보기
오후 6시 랩실

11.5(금)
오전 9~12 : 데캡디 중간보고서 제출 / 데캡디 수업

오후 4~6 : 랩미팅 (3주치&PPT준비)
- 데이터셋 확인(EEG, eye-tracking)
- Encoding/Decoding 개념 확인 및 조사
- 연구 방향 계획서/PPT 제작

오후 10시 : 댓글분석 회의-(발표대본확인/질의응답지확인)
- 추가 코드 개선 업로드
- 발표 대본, 질의응답지 업로드

11.6(토)
공모전 오프라인(코엑스) 전시 및 발표

11.7(일)
데센프 중간대체 과제 마감
객프 PJ1 지뢰찾기 구현 마감

---------이후 학부연구, 학업, 기말고사, Sqld시험 에 집중!! ------

11.13(토)
오후 10시 : 주가예측 회의
- Clustering 된 데이터셋 받아서, AutoML 돌리기(Pycaret 말고 다른거*camcan 등 도 써보기)
- 기존모델 vs cluster모델 / 랜덤군집 vs 특정 군집 정확도 확인

11.16(화)
데센프 Assign#2 제출

11.19(금)
IE의밤 학과행사 - 메타버스
- ppt자료 제작, OX퀴즈 및 동선 확인

11.20(토)
Sqld 시험

----- 이하 생략 ----

여담으로 오늘까지 시험을 3개 쳤다.
1개는 잘봤고 (그런데 비중이 15%..ㅠ)
1개는 꽤 잘본거같고
1개는 폭망했다.

 



..

과 제 명 뇌파 기반 사용자 친화 음악 작곡 알고리즘 구현
(User-friendly music composition based on EEG)
1. 과제 개요

. 과제 선정 배경 및 필요성
인간의 내면을 음악으로 듣기 위한 시도는 오래전부터 이루어져 왔다. 1930년대 초기에는 뇌파 알파파의 진폭이나 뇌파 신호의 단순하고 직접적인 특징을 통해 소리를 만들어 왔고, 1990년대에 이 르러서는 디지털 필터링 및 뇌파 데이터의 분석을 통해 다양하고 새로운 음악생성 규칙을 만들어 왔다.
본 연구에서는 기존의 뇌파를 통해 음악을 생성한다는 목적에서 더 나아가, 뇌파를 통해 사용자 친화적인 음악을 생성하는 것, 사용자의 감정을 잘 표현해주는 음악을 만드는 것을 목표로 한다. 사용자는 이로써 나를 잘 표현해주는, 진정한 나만의 음악을 갖게 될 수 있다. , 긍정적인 감정을 보여주는 뇌파를 알고리즘에 넣어 만들어진 음악과, 부정적인 감정을 보여주는 뇌파를 이용해 만들어 진 음악의 비교를 통해 우리는 인간의 내면을 한층 더 알아볼 수 있을 것이다.

. 과제 주요 내용
1) EEG Dataset( DEAP, AMIGOS, SEED )을 수집한다.
2) EEG Data의 각 신호의 특징을 분석 및 추출한다.
3) 파악한 특징에 맞춰, 각 신호와 음의 높낮이, 단조, 템포 등을 매핑하여 음악을 작곡한다.
4) 작곡된 음악을 여러 장르로 변환하여 사용자에게 제공한다. (, 재즈, 클래식 등)

2. 과제의 목표

. 최종결과물의 목표
1) EEG 데이터를 통해 감정에 맞는 음악을 작곡하는 알고리즘 모델 개발
2) 1)을 통해 작곡한 음악과, 실험자들의 감정이 가지는 상관관계 평가
   3) 1)의 음악을 사용자가 원하는 장르(클래식, 재즈, 팝 등)로 변환하는 모델


. 최종결과물의 세부 내용 및 구성
1) 뇌파 데이터를 통해 사용자의 감정이 잘 드러나는 음악을 작곡하는 알고리즘

2) 실험자(기존 EEG 데이터 사용)의 뇌파를 통해 작곡된 음악
3) 작곡된 음악과 실제 감정과의 상관관계 분석
4) 긍정적인 감정의 뇌파 데이터를 이용해 만든 음악과, 부정적인 감정에서 만든 음악의 비교
5) 원하는 장르로 변경한 2)의 음악

3. 기대효과 및 활용방안
뇌파 데이터를 통해 나만의 음악을 만드는 접근 방식은 마음의 세계를 음악으로 표현하려는 시도이다. 본 연구는 특히 사용자의 감정 상태와 유사한음악을 만드는 것이 목적이기에 기존의 연구보다도 내면을 음악으로 표현하는데 더 큰 의의를 가질 것으로 보인다. 사용자는 자신의 내면과 감정이 담긴 음악을 통해 자신의 상태를 피드백 할 수 있게 되며, 나아가 본인이 선호하는 음악의 장르를 선택하여 내면의 감정을 해당 장르의 음악으로 표현함으로써 사용자 내면의 익숙하지 않은 감정에 더 쉽게 다가갈 수 있다.

4. 수행 방법
. 과제수행을 위한 도구적 방법 
1) EEG Data Processing

TEAP 등을 이용해 EEG Data를 전처리하고, 감정별 신호의 특징을 파악한다.
2) 인공지능 기반 음악 작곡

1) 의 결과를 바탕으로, 각 신호에 대해 음악의 구성 요소들을 매핑하는 알고리즘 모델을 구현한 다.(속도, 멜로디, 음량 등) EEG 데이터가 입력됨에 따라 각 신호 및 채널을 구분하고, 구현된 음악 매핑 알고리즘에 넣어 음악의 멜로디, 음량, 템포 등을 시시각각 결정하며 하나의 악보를 완성한 다. 이후, 악보를 음악으로 구현해주는 툴을 사용하여 음악으로 변환한다.
3) 작곡된 음악의 장르 변환
JukeBoxCycleGAN-Music-Style-Transfer 등의 음악 장르 변환 알고리즘을 활용하여 작곡된 음악
을 클래식, 재즈, 팝 등의 장르로 변환한다.


. 과제수행 계획
1) EEG Data Analysis

) EEG Data Set(DEAP, AMIGOSM, SEED )을 수집
) EEG Data 전처리를 통해서 감정에 따라 변화하는 유의미한 특징을 추출한다.
2) 뇌파를 통한 작곡
) EEG 데이터의 각 채널이 음악의 어떤 요소를 결정지을 수 있을지 매핑하는 알고리즘을 구현 한다.
) 해당 알고리즘에 EEG 데이터를 입력해 악보를 완성하고, 곡을 음악으로 변환시킨다.
3) 2)에서 작곡한 음악을 음악 장르 변환 알고리즘을 사용하여 다양한 장르의 음악을 작곡한다.

5. 추진일정
순번 추진내용 9 10 11 12 비고
1 Data Set 수집 O        
2 EEG, 인공지능 작곡 알고리즘 관련 논문 리뷰 O        
3 EEG Data
특징 추출
  O O    
4 EEG Data의 채널과 음악의 구성 요소 분석 O O O    
5 분석 결과를 이용해
작곡 알고리즘 구현
    O O  
6 장르 변환 툴을 이용해
다양한 장르의 음악 작곡
    O O  
7 작곡된 음악과 감정의 상관관계 평가 및 긍/부정 감정의 음악 양상 비교     O O  
8 보고서 작성       O  

 

2021. 10월 초부터 시작하여, 현재 진행중인 프로젝트입니다!

2021. 12월 말까지 끝낼 예정입니다 :>

그동안 간간히 블로그에 소식을 올리던 프로젝트인 [ 빅데이터를 이용한 댓글 분석 및 시각화 ] 웹페이지 구현 프로젝트가 공모전 1차, 2차 평가에 합격해서, 최종 본선까지 진출하게됐다! (꺄아아)

보통 멘토님 지도가 프로젝트에 엄청 영향을 끼친다는데,

우리는 그런거없이 전반적/세부적인 모든 구성들을 팀원끼리 매주 논의해가며 진행한거라 더 보람차게 느껴진다. 

(사실 팀원 넷 중에 나랑 다른 팀원 둘이서만 열심히 했지만... -_-)

한이음 ICT 공모전은 한국 과학기술정보통신부 주최, 정보통신기획평가원 & 한국정보산업연합회 가 주관하는 규모가 큰 공모전이다. 

공모전에는 약 400팀이 참가 신청을 했고(궁금해서 전화로 물어봤다),

1차 평가때 200팀을 뽑고, 2차 평가때 140팀을 뽑고, 그 중에서 본선 진출팀을 33팀 뽑는다.

내 프로젝트는 3차 평가 대상작(최종33팀) 에 선정되어 상을 노리고 본선에 진출할 수 있게 되었다! 

 

 

시상 규모는 아래 그림과 같다. 일단 내 프로젝트는 장려상까지는 확정이 되었고, 3차 평가를 통해 대상/금상/은상/동상/장려상 중에서 수상을 하게 된다.

아 진짜 나랑 다른 팀원 한명이랑 둘이서 정말 으쌰으쌰 열심히했는데.. 은상은 탔으면 좋겠다.!! 

프로젝트하면서 내가 제일 의견을 많이 냈고 반영된거도 다 내 의견이어서.. 더더 잘되었으면 좋겠구나..

지금도 코드 개선하고 발표자료를 만들고있는데 진짜 시간이 갈린다. 내 소중한 시간... 다른거 할것도 많은데..

왜 내가 다 맡아서 하게되는거같지... ㅎr.. 나도 시간 없는데............................ 아쉬운사람이 해야지 뭐..

 

 

본선에 진출한 팀은 11월 7~8일 경 '코엑스 3F E홀'에서 오프라인 전시 및 발표를 해야한다고 한다.

우리 팀은 11.7일 발표고, 팀 당 참석가능 인원은 2명이다. 나랑 다른 팀원이랑 둘이 갈 것 같다. 

 

 

일전에 교수님께서, 학부생이 논문을 써서 학회에 가면 대체로 포스트잇 발표를 하게된다고 하셔서 나중에 꼭 한번 해보고싶었는데, 이번 공모전 오프라인 발표에서 비슷하게라도..? 할 수 있을 것 같아 기분이 좋다. 

시험기간이라 정신없었는데 좋은 소식 받게되어서 기뻤고, 발표때도 사실 시험이 완전히 끝난 시기가 아니라 바쁘긴 하겠지만 그래도 잘 준비해서 갔다와야겠다.

 

 

 

 


아래는 블로그에 조금씩 올렸던 프로젝트 자료 모음.. 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(0. 글을 올리기 전에)

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(0. 글을 올리기 전에)

 안녕하세요! 저번에 대외활동으로 주식 가격 예측 프로그램을 만드는 팀 프로젝트를 하고 있다고 글을 올렸었는데, 이번에도 그 대외활동에서 동시에 하고있는 팀 프로젝트에 관련해 글을 올

checherry.tistory.com

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(1. 개발설계).

*** 업로드된것은 초창기의 개발설계서입니다. 시험이 끝난 후 최종 개발설계서로 글을 수정할 예정입니다.

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(1. 개발설계)

 

checherry.tistory.com

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(2. 수행계획+1차보고서)

 

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(2. 수행계획+1차보고서)

요 약 본 작품 정보 프로젝트명 국문 빅데이터 댓글 분석 및 시각화(키바나), 댓글대시 서비스 영문 Big-data Analysis of Comments and Visualization 작품 소개 네이버 뉴스, 영화, 쇼핑몰의 URL을 받아 댓글

checherry.tistory.com

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(3. 웹사이트 시연영상)

 

 

빅데이터를 이용한 댓글 분석 및 시각화, 댓글대시 서비스(3. 웹사이트 시연영상)

본 프로젝트를 통해 만들어진 댓글분석 및 시각화 웹사이트 시연영상입니다. 네이버 뉴스, 네이버 쇼핑, 네이버 영화의 url에 대해 댓글 분석을 할 수 있습니다. 최대한 간소화해서 영상을 제작

checherry.tistory.com

 

 

 

복전할까말까, 할까말까 고민했던 소프트웨어융합학과 데이터사이언스 트랙 복수전공(다전공)에 합격했다!

컴퓨터공학과나 소프트웨어융합학과는 인기가 많은 학과라 신청하면서도 걱정이 됐는데, 할 수 있게되어 기쁘다.

나는 3학년 2학기에 신청하고, 4학년 1학기부터 다니는거라 복전을 하기에 많이 늦은편이지만.

다행히 그동안 소프트웨어융합학과 수업에 관심을 갖고 몇몇개 들어둬서 졸업에는 지장이 없다.

(+ 본전공이 소융대 데이터사이언스 트랙 협력학과여서, 기초 과목들이 모두 소융전공으로 인정된 덕분이기도 하다)

아래는 엑셀로 만들어둔 수강 현황 및 커리큘럼 계획표의 일부이다.

 

 

복수전공을 하고싶던 가장 큰 이유는 듣고싶은 수업을 듣고싶어서다. 확실히 나는 우리과 수업보다는 소융수업에 더 흥미를 많이 느끼는것같다. 수업이 재밌다. 

고3 입시때 컴공, 소융학과는 그런거 잘하고 잘 아는 애들만 갈 수 있다고 생각해서 고려를 안했는데.. 그때 고인물들 많을거같다고 두려워하지말고 잘 찾아볼것을 그랬다. 

물론 우리학과에 온 덕분에 데이터 분석에 관심이 생긴거니 지금도 만족한다!

소융에서 듣고싶던 수업이 실전기계학습, 오픈소스SW개발, 데이터사이언스 및 시각화, 소프트웨어융합캡스톤디자인, 딥러닝 등등이 있는데 실전기계학습이나 오픈소스SW개발은 복수전공학생들에게 전공으로 인정이 안되는항목이라 아쉽다. 

졸업까지 수강 가능한 학점이 졸업학점 채우고도 조금 남아서 한개정도는 원하는걸 들을 수 있을것같긴하다.

다음에 시험기간 끝나면 지원했을때 작성한 자기소개서를 간추려서 업로드 해둬야겠다.

 

나는 이번학기에 6 전공을 듣는 중인데.......... 정말 과제와 강의에 치여산다.

과제 +수업 +학부연구생 +외부프로젝트 +학생회 +등등 일상을 살다보니.. 정말 바쁘다.

시험공부를 하고싶은데 과제를 내면 과제가 또나오고 내면 또나오고... ㅠ.ㅠ

수업도 보통 1수업당 1시간 15분을 하는데, 이번학기는 2시간 정도 하는 수업만 3개다. (1개는 데캡디라서 괜찮지만.. 그를 위한 준비시간이 있으니!)

생각보다 시간이없어서 이번학기에 보려고했던 데이터분석전문가시험 일정을 겨울방학으로 미뤘다.

(사실 교수님말씀을 들으니 자격증보다 논문을 더 준비하는게 훨씬 유의미할것같아서, 계획을 없앨지 고민이된다)

앞으로의 대략적인 일정은...

내일은 인공지능론 시험.. 내일모레는 기계학습, 객체지향프로그래밍 시험.. 다음주 월요일은 산업경영알고리즘 시험.. 다음주 금요일까지 데캡디 중간보고서 작성해서 내야하고 일요일까지 데이터센터프로그래밍 중간대체과제, 객체지향프로그래밍 Project1 내야한다. (시험기간엔 공부만하고싶어서 한동안 예정된 과제만 엄청나게 제출했다... 그래서 겨우겨우 이정도) 사실상 11월 7일에 시험이 끝난다. 그와중에 개인연구도 챙겨야한다.

그리고 곧 있을 IE의 밤 메타버스 학과 행사도 더 준비해야하는데 @@@@@@@@@.@@@.@@

괜히 3학년을 사망년이라고 부르는게 아니구나 싶다. 

내일 시험 잘 봤으면 좋겠다. 그러니까 이제 다시 공부하러 가야지. 

 

 

 

이번에는 저번 글에서 잠시 언급했던 Docker 에 대해 다루려고 한다!

Docker의 기능은 간단히 말하면,

1) 자기가 원하는 개발환경을(자신이 만든 프로그램이 요구하는 환경 등) 구축해서 다른사람과 공유할 수도 있고,

2) 동시에 여러 가상환경을 띄워 사용하거나, 환경 간(내부, 외부 상관없이)에 Data 공유도 가능하며,

3) 원할때 원하는만큼 만들어 사용하고, 다 썼다면 '깨끗'하게 지울수 있는 서비스를 지원하는 가상화 툴이다.

관련해서 주요 내용은 Docker image, Docker container, Docker-compose, Docker build, Docker Full & Push

등이 있지만.. 일단 이번에는 DockerFile 을 만들고, DockerHub에 Push 하는 것까지만 적을 예정이다.

 

먼저 나는 DockerFile 을 만들었다. DockerFile 은 HUB에 올릴 Docker image를 만들기위해 자신이 원하는 환경을 적는 File이다. 나는 Python의 Flask 를 이용한 서버를 띄울 수 있는 간단한 File을 만들었다.

 

FROM python:latest

LABEL maintainer="Email-Address"

COPY . /app
WORKDIR ./app

RUN apt-get update
RUN pip3 install -r requirements.txt

RUN echo "This is python webserver using FLASK"

CMD ["python", "Server.py"]
EXPOSE 9000

 

메모장에 Dockerfile.txt 를 만들고 내용을 기재한 후에, 확장자를 지우고 나서 저장해두면 된다.

 

requirements.txt 파일에는 Flask==1.1.2 를 적어줬다.

 

Server.py 파일은 다음과 같다.

Expose 번호와 port 번호는 자신이 원하는 port 번호로 지정해주면된다. (이 번호가 내부 포탈 넘버가 된다.)

주의할점은 사용 가능한 port 번호를 적어야한다는것. 

netsh interface ipv4 show excludedportrange protocol=tcp

를 입력하면 사용이 불가능한 port 번호 대역대를 볼 수 있다.

 

이렇게 세 파일을 한 폴더에 저장해주고, 

cmd 창을 열어서 해당 폴더가 있는 working directory로 이동한다. (cd /directoryPath)

docker build -t UserID/ImageName . 

을 입력한다. Dockerfile을 image로 빌드하는 명령어이다.

UserID와 함께 입력해주어야 나중에 DockerHub에 Push할 수 있다.

만약 이때 UserID를 입력해주지 않고 이미지를 만들었다면,

docker tag 현재Imagename UserID/바꿀Imagename 으로 tag를 붙여줄 수 있다.

 

Image가 다 Build 되었다면, docker image ls 로 image를 확인할 수 있을것이다.

(이번에 한건 python_server_flask 이고, 나머지는 연습용으로 과거에 사용했던 image들이다.

사용했던 이미지를 지우고싶다면 docker rmi ImageName을 하면 된다.)

이후, docker run -d -p 외부포트번호:내부포트번호 --name 원하는Containername Imagename 

을 입력하면 image가 실행되고, (container 화)

docker container ls 를 하면 현재 실행중인 container 들을 볼 수 있다. (-a 까지 붙이면 stop되어있는것까지 볼 수 있다.)

이 때 curl localhost:외부포트번호 를 입력하면, 동작이 되는지 실제로 확인할 수도 있다. (혹은 인터넷에 localhost:외부포털번호를 해도 웹서버에서 확인이 가능하다)

이제 docker login 을 하고, (당연히 회원가입이 먼저 되어있어야한다.)

docker push UserID/Imagename 을 하면 DockerHub에 올라간다.

 

DockerHub에서 확인할 수 있다!

! Window10 Home edition 에서 한 실습입니다. Hyper-V대신 WLS2를 이용하고 있습니다.

 

들어가는 말..

최근 인터넷이 발달하고 사용자가 급증함에 따라, 인터넷을 통한 정보 교환이 활발하게 이루어지고 있습니다. 네이버 뉴스의 댓글을 읽으며 여론을 파악하신 적이 있으신가요? 네이버 쇼핑에서 원하는 상품을 찾을때 리뷰를 확인해보신적이 있으신가요? 네이버 영화의 리뷰를 확인하며 어떤 영화를 볼지 의사결정을 한 적이 있으신가요? 이미 댓글을 읽고 정보를 파악하는 행위는 우리의 일상이 된 것 같습니다.

이처럼 댓글을 통한 정보 공유 및 파악은 일상적인 삶의 행위가 되었으나, 최근의 댓글 양상을 보면 댓글이 몇 백개, 몇 천개가 넘는 글이 다수룩하고, 댓글 중에는 중요한 정보가 아닌 스팸 혹은 여론조작성 정보 등이 포함되어 있기도 합니다. 많은 양의 댓글 중 사용자가 자체적으로 선별하여 필요한 정보를 파악하는 것이 쉽지 않은 것이지요.

저는 이러한 상황에 도움이 되고자 본 프로젝트를 진행하게되었습니다.

 

웹페이지소개

- 네이버 뉴스, 쇼핑몰, 영화의 url을 입력받아 해당 기사의 댓글, 쇼핑몰 후기,   영화 리뷰 정보를 다양한 기법을 토대로 분석하고 결과를 시각화하여 보여주는  웹페이지

 -  뉴스 댓글, 영화와 쇼핑몰의 리뷰를 여러 시각으로 한 눈에 볼 수 있도록 함.

 

  • 각 분석페이지의 일부분 캡쳐화면 첨부

 

 

 

기획 의도

 - 인터넷상에서 많은 정보를 주고받는 현대사회에서 특히 ‘댓글’로 의견을   표출하거나 정보를 얻는 경우가 다분함. 하지만 그 양이 방대하여 모든 댓글을  읽고 적절한 정보를 취하기 쉽지 않음

 - 본 프로젝트에서는 그러한 댓글 정보를 모아 분석 후, 시각화해 출력해줌으로써  편향되지 않은 적절한 정보 수용에 도움을 줄 수 있음

 - 더불어 뉴스에 대한 여론, 상품에 대한 장단점 등을 한눈에 볼 수 있도록 함 

 

작품 내용

 - 인터넷 웹 서비스를 기본으로 함

 - 입력받은 url의 기사, 영화, 쇼핑몰에 대하여 해당 댓글, 리뷰 정보를 수집하여   분석 결과를 웹 화면에 출력

 - 악성 댓글 필터링 여부, 영화 스포일러 필터링 여부 설정

 

작품의 개발 배경 및 필요성 

 - 오늘날 대다수의 정보전달 및 소통이 인터넷을 통해 이루어지고 있고, 특히 커  뮤니티나 인터넷 기사 혹은 블로그의 댓글의 형태로 활발한 소통이 이루어진다.  이러한 댓글의 양이 급속도로 증가하면서 소통의 질도 높아졌지만, 악의적 댓글 이나 허위정보 유포, 스팸 댓글이 새로운 사회적 문제로 대두되기 시작하였다.

 - 댓글 혹은 리뷰는 보통 인기 댓글(리뷰), 최신 댓글(리뷰)의 순대로 나열되기 때  문에 많은 수의 댓글 중 사용자가 선별적으로 자신에게 필요한 정보를 가지고   있는 댓글을 찾기 힘들다.

 - 악의적 댓글, 스팸 댓글, 허위사실을 유포하는 댓글은 네티즌이 자체적으로 선별하여 정보를 수용하기 어렵다.

 - 뉴스, 영화, 쇼핑몰의 댓글을 분석하고 분류함으로써 악의적 댓글을 예방하여 건강한 인터넷 문화를 만들 수 있으며 올바른 정보 수용에 도움을 주고자 한다. 

 

 

웹페이지특장점

 1) 다양한 분야에 대해 댓글, 리뷰 분석 기능 제공

 - 본 프로젝트에서는 뉴스, 영화 그리고 쇼핑몰의 댓글 및 리뷰에 대해 분석을   진행한다. 뉴스 분야에서는 사회 현상이나 사건에 대한 여론을 파악할 수   있도록 분석을 진행·제공하며, 쇼핑몰 분야에서는 상품 구매에 있어 합리적인  소비를 할 수 있도록 분석하고, 영화 분야에서는 단순 별점 리뷰에서 벗어나   여러 리뷰들과 그에 따라 취향에 맞는 영화인지를 파악할 수 있도록 정보를   제공한다. 각기 다른 분야에 대해서는 사용자의 니즈(각 리뷰나 댓글에서 얻고  자 하는 정보) 를 파악하여 각기 다른 분석 기법과 시각화 기법을 사용하여 결  과를 출력한다.

 2) 분석 결과 시각화

 - 분석 결과를 텍스트로 단순히 보여주는 것이 아닌 다양한 차트와 그래프를 통해  한눈에 알아볼 수 있도록 시각화하여 결과를 제공한다.

 3) 필터링 여부 설정을 통한 자유로운 정보 접근 기회 

 - 악플에 대한 필터링 여부 혹은 스포일러 포함에 대한 필터링 여부를 사용자의   설정으로 결정할 수 있도록 한다. 따라서 사용자가 수용할 정보의 범위를 자유  롭게 설정할 수 있다.

 

작품구성도 

 

 

 ① 웹 초기 페이지가 실행되면 flask framework를 사용하는 backend에서 자동으  로 네이버 뉴스 전체 기사 중 댓글이 가장 많은 기사 상위 5개를 스크래이핑을  통해 기사 제목과 URL 링크를 가져오도록 request를 보내고, 그 request에 대한  response를 받아 frontend에 출력한다.

 ② 사용자가 분석을 원하는 URL을 입력했을 경우

  ②-1. 입력된 URL이 유효하지 않은 URL이거나 분석기능을 제공하지 않는 사이   트의 URL일 경우, alert 창을 띄워 오류 메시지를 출력해준다.

  ②-2. 입력된 URL이 유효한 url일 경우

  입력된 URL을 mongodb의 url.db에 저장한다. 이때 과거에 저장되어있던   URL 정보는 drop 한다.

 ③ Rest API로 수집 모듈을 실행 시켜 데이터를 수집한다.

 ④ 수집된 데이터에 대한 분석 모듈(기술통계, 추론통계 모듈)을 실행시킨 후 실행  결과를 mongodb에 저장하며 워드클라우드의 경우 시각화 모듈을 실행시켜 데  이터를 임시 저장한다..

 ⑤ frontend에서 mongodb에 저장된 분석 결과 html, CSS, chart.js 등을 이용하여   시각화하며 이때 효율적인 자원관리와 편리하고 빠른 시각화를 위해 frontend는  jquery framework를 기반으로 한다.

 

 전체 기능 목록 

구분 기능 설명 현재진척도(%)
S/W 유효 URL 확인 기능 사용자가 입력한 URL이 유효한 URL인지 체크하는 기능 100%
데이터 수집 기능 유효한 URL인 경우 해당 URL을 분석하여 뉴스, 쇼핑몰, 영화인지 알아보고 각 분류에 따라 필요한 데이터 (댓글, 성별 분포, 나이 분포 등)를 수집하여 데이터베이스에 저장하는 기능 100%
주요 뉴스 랭킹 기능 실시간으로 댓글이 많은 기사 상위 5개를 출력하여 보여주는 기능 100%
데이터 분석 기능 수집된 데이터를 기준으로 논란이 많은 댓글 분석, 댓글 주요 토픽 분석, 댓글 리스트의 감성 분석 등 댓글을 분석하는 기능 100%
분석 결과 시각화 기능 분석된 정보를 서버에 보내고, 웹에서 각각 최적화된 그래프, 차트로 시각화하여 보여주는 기능 100%
악성 댓글 / 스포일러 필터링 기능 악성 댓글 / 스포일러 필터링을 설정 혹은 해제하는 기능 100%
H/W      
     

 

 S/W 주요 기능 

기능 설명
유효 URL 확인 기능 사용자가 입력한 URL이 유효한 URL인지 혹은 분석 서비스를 지원하는 URL인지 체크한다.
데이터 수집 기능 유효한 URL인 경우 해당 URL을 분석하여 뉴스, 쇼핑몰, 영화인지 알아보고 각 분류에 따라 필요한 데이터 (댓글, 성별 분포, 나이 분포 등)를 수집하여 데이터베이스에 저장한다.
주요 뉴스 랭킹 기능 사이트를 새로 들어가거나, 새로 고침을 할 경우 실시간으로 댓글이 많은 기사 상위 5개를 가져와서 출력한다. 각 기사 제목을 클릭 시 해당 기사로 이동한다.
데이터 분석 기능 수집한 데이터를 분석한다.
-뉴스 : 댓글 토픽 모델링을 통한 관련단어 분석, 댓글의 감성 분석을 통한 긍⦁부정 척도, 기술통계 (성별 분포, 나이 분포, 작성 시간분포)
-영화 : 리뷰 토픽 모델링, 기술 통계 (작성 시간 분포, 리뷰 평점, 감상 포인트 등)
-쇼핑몰 : 상품 주제별 리뷰 토픽 분석, 옵션 제품별 평점, 기술통계 (사용자 총 평점, 재구매율, 옵션별 구매 순위, 작성 시간 분포 등)
분석 결과 시각화 기능 분석 결과를 받아 프론트엔드에서 바차트, 파이 차트, 라인 그래프, 워드 클라우드 등의 형식으로 분석 결과를 시각화한다.
악성 댓글 필터링 기능 뉴스의 경우 악성댓글 필터링 여부를, 영화의 경우 스포일러 필터링 여부를 사용자가 설정한다.

 - 분석한 전체 글, 분석한 전체 댓글을 표현해줌으로써 사용자에게 시각적 즐거움  그리고 결과 파악의 편의성을 제공해줄 수 있도록 한다.

 - 실시간으로 화제인 기사들을 출력하고 해당 기사 댓글들을 모아 파악하여 실시  간 주요 토픽을 파악할 수 있도록 돕는다. 이는 사라진 실시간 검색어를 뉴스   댓글의 관점에서 일부 대체하는 기능이 될 수 있을 것으로 보인다.

 

주요 적용 기술 

 1) 웹 동작에 대한 주요 적용 기술

 - Frontend

 - html, CSS, javascript를 이용하여 기본 화면을 구성하였고, 깔끔한 디자인을   위해 bootstrap을 사용하였으며 시각화를 위해 html5의 오픈 소스인 chart.js와   jqbar.css를 사용하여 디자인하였다. 주요 프레임워크는 javascript와 jquery를 사  용한다

- Backend

 - frontend와의 통신을 위해 googleapi인 ajax를 사용하였으며 backend    framework는 flask를 이용하여 get과 post를 컴포넌트화하기 쉽게 하였다.

 

 - Database

 - 수집 데이터의 범위가 분야에 따라 상이하므로 다양한 형태의 데이터베이스   구축을 위해 nonsql 데이터베이스를 사용하였고 주요 툴로 mongodb를 이용하였 다. 또한 R코드와 파이썬 코드 간의 데이터 직접 통신이 어려운 경우 데이터베 이스를 이용하여 상호 데이터 전달이 가능하도록 한다.

 

 2) 데이터 수집에 대한 주요 적용 기술

 - 뉴스

 - 댓글 작성 성별 분포와 나이대 분포는 selenium과 beautifulsoup4를 사용하여   스크래이핑하였다. 

 - 댓글 내용, 작성 시간, 공감수, 비공감수에 대해서는 네이버에서 제공하는 뉴스 api를 사용하여 스크래이핑하였다.

 - 악성댓글 필터링 해제를 설정할 경우 selenium을 사용하여 동적 크롤링을 진행하였으며, 이 경우 댓글 내용 및 다른 요소에 대한 데이터를 모두  selenium으로 수집하였다.

 - 영화

 - 스포일러 필터링을 해제할 경우 selenium을 사용하여 동적 크롤링을     진행하였으며, 필터링 여부와 관계없이 selenium과 beautifulsoup4를 이용하여 데이터를 수집하였다.

 - 쇼핑몰

 - selenium과 beautifulsoup4를 이용하여 데이터를 수집하였다.

 

 3) 데이터 분석에 대한 주요 적용 기술

 - 수집된 텍스트에 대해 텍스트 토큰화와 형태소 분석은 파이썬 모듈인 konlpy를   이용하였으며 이 데이터를 바탕으로 단어빈도 분석, 감성사전 기반 감성분석 등 의 분석 전반은 R을 사용하였다. 또한 python과 R언어를 연동하여 사용하기 위  해 rpy2 모듈을 이용하였다.

 - 토픽모델링 알고리즘 중 하나인 LDA 모델을 이용하여 토픽 모델링을 하였으며   LDA 모델은 DTM (문서 단어 행렬)을 이용하여 만들었다. 사용 LDA 모델은 샘  플링 방식을 gibbs 방식을 차용하였으며 토픽은 5개로 나누었다. 토픽의 개수는  여러 뉴스에 대한 댓글 데이터를 반복 학습시켜 가장 토픽을 잘 나눌 수 있는   적정 개수를 채택하였다.

 - 긍부정 여론을 분석하기 위해 감성 사전을 이용한 감정 분석을 진행하였으며   감정을 긍정, 부정, 중립으로 나눠 감정 점수를 부여하여 긍부정 여부를 판단하  였다. 이와 더불어 LSTM, Convolution을 이용하여 긍부정 단어를 학습시키고 분 석 텍스트를 predict 하여 나온 결과를 가중치로 더하여 결과를 도출하였다.

 

작품 개발 환경

구분 상세내용
S/W
개발환경
OS mac, windows10
개발환경(IDE) pycharm, visual studio code, jupyter notebook
개발도구 python 3.9.6, html5, css, javascript, jquery, flask
개발언어 python, R
기타사항  

 

기타 사항 [본문에서 표현되지 못한 작품의 가치(Value)] 및 제작 노력

 - 본 프로젝트에서는 실제 사용자가 웹서비스를 사용할 때, 어떻게 하면 보다 유  익한 정보를 서비스할 수 있을지에 대한 많이 고민하였다. 이에 초기에 계획하  였던 네이버 뉴스 URL에서 확장해, 네이버 쇼핑/네이버 뉴스/네이버 영화 후기   URL까지 포괄하는 프로그램을 개발하였으며, 각 분류 (뉴스, 쇼핑몰, 영화)에   따라 다른 분석결과를 제공하며 따라서 각각의 분석결과를 보기 쉽게 출력하기  위해 다른 디자인의 ui를 만들었다.

 - 각 URL의 입력 시, 모두 동일한 분석이 진행되는 것이 아니라 각 주제에 적합  한 분석 기법이 적용되도록 하였고, 제공되는 기본 통계 정보 또한 각 페이지에  최적화된 통계를 제공할 수 있도록 세분화하였다. 사용자의 본 프로그램 사용   의도 에 따라 네이버 영화에서는 스포일러 차단 후 분석, 뉴스에서는 악성 댓글  차단 후 분석 기능을 제공함으로써 사용자로 하여금 선택의 폭을 넓혔다.

 - 간단하고 깔끔한 UI와 인터페이스로 누구든 쉽게 사용할 수 있게 만들었으며,   추후 주기적으로 기존 분석 기능의 보완 및 분석 기능의 추가가 이루어질 예정  이다.

 

 

페이지소개-메인페이지

메인페이지에서는 사용자가 분석하고자하는 글의 url을 입력받습니다. 입력된 url의 플랫폼을 확인하여, 각 플랫폼 전용 분석 페이지로 이동합니다.

또한 메인페이지에서는 실시간화제토픽, 핫이슈기사, 제 웹페이지가 지금까지 분석한 전체 글, 전체 댓글의 정보를 제공합니다. 그 외에 오류 신고나 도움말을 볼 수 있으며, 설정창에서 클린봇을 활성화할지 스포일러를 포함할지 등의 여부를 on/off 할 수 있습니다.

 

페이지소개-뉴스페이지[분석]

뉴스 전용 페이지는 성별분포, 나이분포그래프, 평점 기반이 아닌 내용 기반의 모든 댓글의 감정 분석, 긍정과 부정의 각 감정을 나타낼때의 주요한 토픽 추출, 모든 댓글의 주요 토픽 분석,  

논란이 일어나는 댓글, 댓글 작성시간분포 그래프, 워드 클라우드를 보여줍니다.

논란이 일어나는 댓글의 경우 댓글의 공감과 비공감수를 크롤링하여 그 비율을 보는것으로 판단하며, 논란 댓글이라 판단된 것 중 대댓글이 많은 순으로 화면에 출력됩니다.

 

페이지소개-쇼핑페이지[분석]

쇼핑몰 페이지의 경우 총 리뷰 갯수, 사용자 총 평점, 재구매율, 각 토픽별 평점, 각 제품/옵션별 평점 등을 제공합니다. 이때 재구매율은 네이버가 인증한 '재구매' 팻말이 붙은 댓글의 수를 기준으로 합니다.  

각 토픽별 평점이란 상품 구매시 영향을 끼친 주요 '토픽'을 확인하고, 해당 토픽에 대한 평점을 재계산하는것이며, 토픽 분석시에는 각 토픽의 사용자 반응을 형용사형으로 추출해 주요 반응을 보여줍니다.  

예를들어 화장품 제품의 댓글을 분석한 본 예시에서의 토픽은 트러블개선, 만족도, 가격, 분사력, 등이며 사용자의 반응은 좋다, 만족하다, 작다, 촉촉하다 등으로 분석이 되었습니다. 그 외에도 제품/옵션별 구매순위, 댓글작성시간 분포그래프, 워드클라우드 등을 제공합니다.

 

페이지소개-영화페이지[분석]

네티즌평점, 성별/나이별관람추이, 만족도 등을 제공합니다. 시간관계상 생략하도록 하겠습니다.

 

이하 분석 기법에 대한 설명은 영상에서 확인부탁드립니다.

 

활용방안

1) 사용자들이 필요한 정보만을 선별적으로 수용하여 정보 과다 사회에서 효율적인 정보 접근이 가능

2-1) 뉴스 댓글 분석 : 주요 이슈에 대한 여론을 다양한 측면에서 빠르게 확인 가능

2-2) 쇼핑 댓글 분석 : 구매자는 상품에 대한 다양한 토픽별 반응(착용감, 등) 등을 확인할 수 있으며,

                                        판매자는 고객 반응을 확인해 마케팅에 활용

2-3) 영화 댓글 분석 : 해당 영화에 대한 여론을 파악하여 시청 결정에 도움을 줌

 3) 특정 분야에 대한 소비자의 감성 변화에 따른 마케팅 등 다른 데이터와 연계하여 다양한 분석 수행 가능

 

시연영상

 

 

나는 개인과제보다 팀과제를 더 열심히 하는 편이다.
뭔가 혼자할때보다 책임감도 더 생기고, 서로 토의하며 어떻게할지 방향을 정해가는 것도 즐겁다.
(다만.. 단순 '개인 공부'는 상대적으로 덜 중요하게 느껴져서 다른걸하려다 신경을 덜 쓰게된다. 그러면안되는데..)
이런 성향을 가진 탓에, 나는 학생회에서 행사를 기획하거나, 수업 중 팀프로젝트를 하거나 대외활동-공모전에 나가거나 등의 협동을 할 때 최선을 다해 집중하고 열심히 하려 한다.
그런데 다른 사람들은 대개 그렇지 않나보다.
왜 열심히 안할까? 인생을 대충사는 사람이라서? 라기 보다는..
역시 팀과제보단 개인과제에 집중해서 그렇겠지.
본인것 챙기기 바쁘고, 팀 과제는 본인이 대충해도 다른사람이 알아서 할것같으니까..
그러면 그 다른사람도 대충하면 어쩌려고 그렇게 안해오는지 모르겠다.
애초에 뭔가를 열심히하는것으로부터 배워가는것아닌가. 열심히 안할거면 왜 한다그런걸까. 안하느니만못할텐데
뭘 하든 자기가 하기로 한건 최선을 다해야하는것아닌가. 힘들어도 그래야하는것아닌가..
더구나 혼자하는것도아니고 여럿이 함께 하는건데..
최선을 다하는것까지는 바라지않더라도 최소한 기본은 해와야되는것아닌가.
안그래도 할줄아는사람이 나밖에 없어서 시험기간인데도 내가 다 해주고 있는데
평소 회의때도 내가 얘기 제일 많이하고 뭘 많이 하는데
간소한거 해와달라는걸 그렇게 대충 해오면 진짜.. 새벽까지 못자고 하던 내 기분은 뭐가 되냐..진짜 -_-....................
내가 생각하는 기본이랑 다른사람이 생각하는 기본은 다른 것 같다.
나는 그래서 팀장을 잘 안한다. 적어도 팀장 맡은 사람은 열심히 하니 열심히 하는 사람 2명이 보장된다.
이 세상 사람들 다들 좀 본인이 하기로 한거는 열심히 했으면 좋겠다.
시험기간이라, 본인할거하느라 바쁜건 알겠는데. 시작했으면 열심히해라







1. NaverCloudCenter(30min) 네이버 클라우드 플랫폼 데이터센터 버추얼투어

https://www.youtube.com/watch?v=qLFxB7Uk-o4

 

네이버 클라우드 플랫폼의 데이터센터를 구경할 수 있는 영상이다.

네이버의 데이터센터를 보고 가장 먼저 든 생각은데이터센터가 너무 예쁘다는 것!

외관은 자연과 어울리도록 조성했고, 내관은 팔만대장경의 장경각을 모티브로 만들었다고 한다.

과거 팔만대장경의 장경각이, 현대에 와서 데이터센터가 되었다고 생각하니 데이터센터의 의미가 또 색다르게 느껴졌다. 데이터센터의 모습을 보니 현대의 21세기 장경각이라 부를만하다는 생각도 들었다. 미래에는 또 어떤 장경각이 생길까? 지금도 이렇게나 최신화-최적화 되어있는데 미래에는 또 어떤 기술이 접목될까. 데이터센터에는 뭔가 흥미가 생긴다.

데이터센터에는 4 가지 중요한 구성요소가 있다. 전력, 서버, 쿨링, 운영 및 관리이다.

먼저 전력은, 전력손실을 최소화하기 위해 각종 기능들이 적용되어 있으며, 각종 사고(정전 등)시에도 안정적으로 전원이 들어와있을 수 있도록 하기위해 UPS 등의 기능이 사용중이다. 사용자에게 언제나 데이터를 보내주기위해, 데이터를 관리하기 위해 11초도 안멈추고 열일중이다.

서버

효율적으로 전력을 사용하고, 네트워크를 연결하는 것을 생각하며 서버실의 규모와 구조를 생각하는게 데이터센터를 구상할 때 가장 중요한 일이라고 한다. 방대한 양의 서버를 잘 다룰 수 있도록 설계하는게중요하다. 데이터센터가 현대인들에게 중요한만큼, 전쟁이 나면, 적 나라의 각종 대기업 데이터센터 서버실부터 폭파시켜야겠다는 생각이들었다. (뜬금없지만) 그러면 검색엔진 중단에 SNS 통해서 연락할수도 없고.. 엄청난 혼란이 야기될 것 같다.

쿨링

매일매일 쉬지않고 돌아가니, 데이터센터에서의 쿨링은 매우 중요한 요소이다. 네이버의 데이터센터는 AMU 라는 쿨링 시스템을 도입하여 사용중이라고 한다. 이후 NAMU로 업그레이드 된 쿨링시스템을 도입하는 등, 중요한 만큼 효과적, 효율적인 쿨링을 위해 노력하고 있다.

운영관리

데이터센터에서는 데이터의 유실을 막는 이중화설계(분산저장)를 한다고 한다. 예를들어, 네이버 블로그에 글을 작성하면, 만일의 상황(글이 날라가거나..)에 대비해 여러 데이터로 저장한다는 것이다. 한 센센터 저장하는 것이 아니라, 곳곳의 센터에 나눠 데이터를 저장한다고 한다. IT 대기업은 정말 대단하다고 생각했다. , 데이터의 유출을 막기 위해 전문보안 기술진이 상주하며 데이터 보안에 힘쓰고 있다고 한다. (현재까지 네이버의 데이터 해킹건이 0건이라고 한다.)

 

2. Agile(19min)

https://www.youtube.com/watch?v=NoMznX8S9pU

1.애자일 탄생배경, 특장점

애자일의 탄생 배경은, 소프트웨어 개발에 있어 입력값, 출력값이 명확할 수가 없고, 확정된 목표가 존재할 수 없기 때문이다.(, 예측불가하다) 소프트웨어의 특성상 이슈는 존재하며, 고객의 니즈가 달라질 수 있기 때문이다. 아무리 잘 완성된 소프트웨어더라도 고객의 니즈에 맞지 않는다면 쓸모없는 소프트웨어가 된다. 이처럼, 변화할 수 있음을 인정하고, 규정된 프로세스에서 벗어나 유연성있는 방법론을 사용하자는게 애자일의 목표이다.

애자일은 점검, 조정, 변화를 수용하는 적응적 프로세스, 목표시스템을 여러 번 나눠 출시하자는 반복점증적 프로세스에 그 근간을 둔다. 이 두 프로세스와 애자일의 차이점은 출시주기가 짧고 유연하다는 점(2~4), 소통과 협력의 극대화를 추구한다는 점이라고 할 수 있다. 애자일에애 중요시하는 것은 자기조직화팀, 적응성, 고객의 참여, 반복 점증적 개발이다. “인간 중심적 방법론이라고 할 수 있겠다.

 

2.애자일 방법론 기원, 본질

흔히 많이 쓰는 애자일 방법론은 Scrum이다. 추정, 조정의 경험적 관리 기법이다. Scrum , 즉 애자일의 원칙은 총 4가지가 있다.

개인과 상호작용 >> 프로세스,도구

동작하는 소프트웨어 >> 포괄적인문서

고객과의 협력 >> 계약협상

변화에 대응>> 계획수행

>> 기준 왼쪽에 있는게, 오른쪽에 있는 것보다 중요시 되어야 한다는 것이다.

(다만 그렇다고 왼쪽에 있는걸 무시하자는게 아니다!)  

애자일 방법의 적용으로는 일일 스탠드업, 제품 백로그, 짧은 출시주기, 회고, 스프린트 계획 세우기 등이 있다.

 

3. CI/CD&DevOps(28min)

https://www.youtube.com/watch?v=10TSLgh4gQM

Devops : 개발-운영 을 포괄하는 자동화된 프로세스. (별도가 아니라 통합!)

-      잦은 릴리즈, 잦은 배포, 테스트 자동화, 지속적 통합, 지속적 출시 파이프라인 마련

CI : (지속적통합) 여러 명으로 구성된 팀이 개발한 소프트웨어 지속적 통합, 품질 통제.

자동화된 빌드/테스트 -> 조기 검증..

CD : (지속적배포) 결과물을 TEST환경에 자동으로 배포

 

Developer -> Version Control -> AutoBuilds -> Jenkins -> Webserver

è Object strage --àAuto scailing

 

4. DockerBasicRe-visited(46min)

https://www.youtube.com/watch?v=o4_KESBNFhI

https://bit.ly/docker-sk

컨테이너

가상환경 = 컨테이너? 일까? 아니다!

가상머신은 하드웨어를 가상화한다. 즉 소프트웨어로 구현된 하드웨어라고 할 수 있다.

컨테이너는 하드웨어를 가상화하는게 아니라, os를 지원하는 기능을 사용하는 프로세스이다. 다시말해, 격리된 환경에서 프로세스를 실행하는 것이다. (운영체제라기보단 프로세스)

이미지

파일들의 집합. 프로세스를 실행하기 위한 환경.

컨테이너 가상화가 필요한 이유

컴퓨터 환경 보편적이지 않기 때문이다. 예를들어 MYSQL -> 설치방법/되는과정이 다 다르다.

특수한 환경이 SW에 필요하다면 상태관리의 어려움, 서버관리 어려움, VERSION관리의 어려움 등이 많다. 그러나 도커를 이용한다면 깨끗한 환경에서 APP 실행환경까지 최단경로로 만들어준다. 또한, 이미지를 만들면 무조건 작동한다는 신뢰성도 보장되어있다. 항상 같은 환경을 보장하니, 초강력한 포터블앱이라고도 볼 수 있다. 이미지로 만들면 공유가 가능하며, 여기서 되면 저기서도 된다는 재현성을 보장하기에 강력한 서버 툴로 자리잡았다.

l  Bash 혹은 sh 하면 만들어진 운영체제 속으로 들어감, exit 하면 나옴.

+ Recent posts