# data[].attributes.body
팀장 : 안윤주
팀원 : 강주영, 박영실, 유용상

# data[].attributes.body
추후 내 차를 마련할 때 DA 모두 호갱을 탈출했으면 하는 마음에 주제를 고안하게 되었습니다^^*

# data[].attributes.headline
유튜브 조회수 높은 영상 썸네일 오브젝트 디텍션 !! 가설 검증 ~!

# data[].attributes.subject
유튜브 조회수 높은 영상 썸네일 오브젝트 디텍션 !! 가설 검증 ~!

# data[].attributes.body
https://docs.google.com/presentation/d/10a4LqI3RqGqheysiCZt953zj74VXSDiV8yO_adxRhOE/edit#slide=id.p

# data[].attributes.attachment_link.authors[].name
박영실(일반대학원 디지털애널리틱스 융합협동과정)

# data[].attributes.attachment_caption
유튜브 자동차 채널에 대한 정보

# data[].attributes.headline
1. 데이터 수집 완료 (용상)

# data[].attributes.subject
1. 데이터 수집 완료 (용상)

# data[].attributes.body
- 수집 대상 : 유튜브 자동차 채널(32개)의 모든 동영상의 정보

- 두 개의 csv 파일 생성
>>채널명, 구독자수, 채널의 url
>>채널명, 영상제목, 조회수, 업로드날짜, 썸네일 url

- 데이터는 학과 서버의 home/hogaeng/crawl 폴더에 저장

** 특이사항 **
request에서 이미지 링크 못불러온 이미지들이 있어서 수집이 불가능한 것이 있음.
쎄게형티비 : 265,295,305
한상기 934~936, 938~941, 943~946, 948 등

# data[].attributes.attachment_caption
모델 선정에 필요한 샘플 데이터 형태

# data[].attributes.headline
2. 샘플 데이터 구축 완료 (윤주)

# data[].attributes.subject
2. 샘플 데이터 구축 완료 (윤주)

# data[].attributes.body
두 csv 파일을 합친 형태로 데이터를 구축

- 채널 url과 썸네일 url은 모델 테스트에 불필요한 정보이기 때문에 제거

- 채널명이 중복되도록 outer join 필요함 ( 1.에 첨부한 csv파일인 채널 list DB가 기준으로 left join)

- view와 date를 사용 가능한 데이터 타입으로 변환. 모두 float 타입. date는 현재 수정 중...

- 모델 성능 테스트 과정 중 title 텍스트의 전처리가 필요하다면, 추가적으로 진행할 예정.

- img_index는 저장된 썸네일의 파일명에 필요 ( 현재는 nan값도 존재하기 때문에 float형이지만, 추후 int형으로 변환 필요)

# data[].attributes.body
- OCR API를 활용하여, 썸네일에서 텍스트 인식이 잘 되는지 샘플데이터로 확인함.
- 한글 인식이 잘 되는 모습을 보임.

# data[].attributes.body
- SBERT를 활용하여, 썸네일 내의 텍스트와 영상 제목 간의 유사도를 비교하는 작업을 샘플데이터로 진행함.

- 영상제목과 썸네일 내의 텍스트 내용이 다를수록, 낮은 유사도를 보이는 것을 확인함.

# data[].attributes.body
전체 활용 데이터의 개수 : 26340개

# data[].attributes.body
활용 데이터 : 4301개
channel의 수 : 32개(전체)

# data[].attributes.body
활용 데이터 : 8560
channel의 수 : 32개(전체)

# data[].attributes.body
- 자동차 카테고리의 1년 이내 유튜브 영상에 대한 OCR 추출을 완료함.
- 1년 이내 데이터는 총 4,301개임.

# data[].attributes.body
- OCR 결과와 영상 제목에 대한 유사도 비교를 진행함.
- 유사도 비교는 sentence transformer로 진행함.
- 유사도 비교 결과, 평균은 대략 0.225 정도로 낮은 모습을 보임.

# data[].attributes.body
1. 주식 채널 similarity 구해서 비교하기
2. 키워드 분석 (similarity 높은것과 낮은것 비교)
3. 회귀분석 (meta 변수 활용 - view, 구독자수, 채널 전체 수 등)
- feature selection
- 혐오 표현(0,1) 변수 추가

# data[].attributes.headline
5. 1년 이내 데이터를 기준으로 Text detection, Text similarity 완료

# data[].attributes.subject
5. 1년 이내 데이터를 기준으로 Text detection, Text similarity 완료

# data[].attributes.body
- 과거에 업로드된 영상은 썸네일에 존재하는 텍스트의 영향으로 인한 조회수보다 누적되어 높은 조회수를 가질 수 있어 분석에 방해 요소가 될 수 있으므로 1년 내 데이터를 기준으로 진행.

# data[].attributes.headline
+) 주식 채널 데이터 구축

# data[].attributes.subject
+) 주식 채널 데이터 구축

# data[].attributes.body
100개 : 주식 10개 채널 동영상 10개 추출 ( 모두 1년이내 업로드 됨 )

# data[].attributes.body
kcelectra 혐오표현 분류기 이용 혐오표현 탐지 완료

# data[].attributes.body
자동차(전체) : 0.24
자동차(100) : 0.28
주식(100) : 0.3

# data[].attributes.body
주식과 자동차 sim 분포 비교

# data[].attributes.body
주식과 자동차 sim 분포 비교

# data[].attributes.body
썸네일 내 텍스트 혐오표현 탐지
: 150개 / 4301개

# data[].attributes.headline
4. 다중회귀분석 및 다중공선성 확인

# data[].attributes.subject
4. 다중회귀분석 및 다중공선성 확인

# data[].attributes.body
4249개 자동차 기준
KeyBERT로 뽑은 영상 제목과 썸네일 텍스트의 키워드 간 유사도

독립변수
1. 혐오 표현 탐지
2. 각 채널의 총 구독자 수
3. 각 채널의 총 비디오 수
4. KeyBERT 유사도

종속변수
각 영상의 조회수

--> 다중공선성의 값이 10보다 낮아서 독립변수들 간 상관관계가 독립적이라고 말할 수 있음

# data[].attributes.body
6월13일 오후 12시 회의를 통해 개요잡기

# data[].attributes.attachment_link.title
고코_최종발표

# data[].attributes.headline
최종 코드 구글 공유 폴더 링크

# data[].attributes.subject
최종 코드 구글 공유 폴더 링크

# data[].attributes.body
- 폴더 이름 내 번호 순서대로 작업 진행
1) crawl ( 유용상 )
2) preprocessing ( 안윤주 )
3) ocr_sbert ( 강주영, 박영실 )
4) keybert ( 안윤주 )
5) badword ( 유용상 )
6) regression ( 강주영, 박영실 )
7) visualization ( 안윤주 )

- data(폴더) 역시 폴더 이름 내 번호 순서대로 파일 생성

- 수집된 썸네일 이미지 파일(data/1_car, data/1_stock)의 용량이 커 드라이브로 공유

- ocr은 google api를 사용했기 때문에, 코드 실행시 유의