# 생매매 광고 트윗 분석 (샘플)
- 작성 일시: 2021년 6월 15일
## 4. 분석
### 분석 논리
- 빈출 단어 추출
- 성매매 광고 트윗을 분석하여 가장 빈번히 쓰이는 단어를 추출함.
- 어떤 단어가 성매매 광고 트윗에 자주 등장하는지 특징을 살펴봄.
- 이를 통해 특정 단어가 많이 등장하는 트윗의 경우 성매매 광고 트윗이라고 예측할 수 있음.
- 빈출 단어 간 코사인유사도 측정
- 빈출 단어를 tf-idf를 통해 벡터로 생성하여 단어간의 유사도를 측정
- 단어의 유사도를 통해 어떤 단어가 특정 단어를 대신하여 성매매 광고 트윗에 작성될 수 있는지를 확인
- 예를들어 분석결과 룸싸롱과 노래방 간의 코사인 유사도가 높다면, 룸싸롱 대신 노래방이 들어가 있는 트윗 글도 성매매와 관련성이 있다고 추론할 수 있음.
- 단어 간 군집 분석
- 단어간 군집 분석를 이용하여 단어 집단 간의 동질성, 이질성에 관한 데이터를 습득할 수 있고, 성매매에 쓰이는 단어의 유형을 세분화할 수 있음.
- 단어의 유형을 세분화하면 어떤 유형의 단어가 성매매 트윗에 사용되는지 파악할 수 있음.
- 예를 들어 성매매에는 '장소' 등과 같이 특정 유형을 가지는 단어가 들어감을 확인할 수 있음.

- 단어간 네트워크
- 단어 간 연관 네트워크를 시각화 하면, 성매매 트윗에 등장하는 단어의 중심성과 동시 출현 빈도를 직관적으로 볼 수 있음.
- 중심성을 통해서는 성매매 광고 트윗에 사용되는 핵심 단어를 알 수 있음.
- 그리고 동시 출현 빈도를 통해 어떤 단어가 다른 단어와 주로 등장하는 것을 파악하여, 특정 단어들이 이어서 등장할 경우 성매매 광고 글이라고 유추할 수 있음.
### 분석 과정
- 빈출 단어 추출
1. 계정정보와 타임라인 데이터를 1개의 데이터셋으로 만듦.
2. 오픈소스인 Okt를 통해 트윗 크롤링 데이터의 단어 중에서 명사와 형용사만를 추출하여 list 형식으로 저장
3. 이렇게 저장된 list에 들어있는 단어들의 빈도를 걔산
4. 빈도가 높은 상위 100개의 단어들은 csv파일로 저장하고, word cloud를 사용해 시각화
- 빈출 단어 간 코사인유사도 측정
1. 빈출 단어 추출 과정에서 csv 형식으로 저장한 csv 파일을 불러옴.
2. tf-idf를 활용하여 각 단어를 벡터로 만듦. (word vector 추출 과정)

3. word vector matrix를 행렬 곱셈을 이용하여 코사인유사도 측정

*코사인유사도 예시*
5. 각 단어별로 코사인유사도가 높은 10개의 단어만을 추출한 후, 해당 결과를 csv 파일로 저장
- 군집 분석
1. 계정정보와 타임라인 데이터를 1개의 데이터셋으로 만듦.
2. tf-idf를 활용하여 각 단어를 벡터로 만듦. (word vector 추출 과정)
3. 워드 벡터 차원을 t-Stochastic Neighbor Embedding 기법을 이용하여 2차원으로 차원을 축소
4. 2차원으로 축소된 word vector를 통해 비지도학습 기법인 Kmeans 기법을 사용하여 군집을 나눔
5. 군집이 나뉜 결과는 csv 파일에 저장
- 단어 간 네트워크
1. 계정정보와 타임라인 데이터를 1개의 데이터셋으로 만듦.
2. sklearn 오픈소스를 활용하여 문서 내의 단어 등장 횟수를 이용하여, 각 단어를 벡터로 만듦. (word vector 추출 과정)
3. 각 문서내의 단어 등장 횟수를 이용하여 단어쌍의 동시 출현 빈도를 계산
4. 데이터셋에서 등장했던 단어들을를 node로 만들고, 단어쌍의 등장 빈도를 edge weight로 사용하여, 두 node를 연결
5. 연결된 node와 edge를 바탕으로 page rank 알고리즘을 이용하여, 중심성 계산
6. 계산된 중심성을 바탕으로 node의 weight 값을 결정
7. 이렇게 만들어진 그래프를 오픈소시인 networkx를 이용하여 이미지로 시각화
### 분석 결과