unification_isnt_it's People
unification_isnt_it's Issues
* jupyter에서 env환경 이용하기
jupyter에서 env 환경이용하기.
1.5 크롤링한 데이터 필터링하기(word2Vec)
크롤링한 데이터 필터링
문제 0. 데이터의 문제
- 통일과 같은 단어는 그 단어 특성상 다양한 용도로 사용된다.
- 하여 통일과 관련되지 않은 많은 글들이 같이 검색된다.
- 어떻게 통일과 관련된 글만 추출해 낼 수 있을까?
해결법
- word2Vector를 이용하여 통일과 연관된 단어들을 찾고 남북통일 관련 유사도가 높은 단어들이 존재하는 글들을 걸러낸다.
- word2Vector에서 나온 단어가 통일과의 유사도가 0.5 이상이면 연관, 0보다 작으면 안연관 그 사이면 무관 으로 판단하여 각 트윗메시지 형태소분석 한것에 스코어를 매겨 해당 트윗이 유효한지(통일과연관되어있는지) 확인한다.
참고 링크들
** 그래프그리기
https://machinelearningmastery.com/develop-word-embeddings-python-gensim/
** word2Vec
https://ko.wikipedia.org/wiki/코사인_유사도
https://ratsgo.github.io/natural%20language%20processing/2017/03/08/word2vec/
2. 긍정부정문 구분하기
긍정부정문 구분하기
어떻게?
- 긍정 단어 부정 단어 사전을 이용하여 긍정문장 부정문장을 구분해낸다.
- konlpy로 형태소 분석
- 분석된 단어의 긍정 부정 contain여부 확인
- 최종 긍정 부정 갯수 비교를 통해 문장 판별
문제 1. 긍정 부정 갯수의 정확한 값 찾기
- 긍정단어 갯수 - 부정단어 갯수 의 값을 계산하였을때 어느정도가 적당한가 ?
- text마다 그 값이 달라질 수 있다.
- 일종의 긍정 부정의 분류 기준을 정하는 것인대 그 기준값인 c를 어떻게 찾아낼것인가? 가 관건이다.
==> 너무 애매하다. 정확한 결과를 찾기 어렵다.
해결 GoogleCloud Natural Language를 이용하자
- https://cloud.google.com/natural-language/
- google natural Language가 생각보다 잘 분석해준다. 내가 수집한 글들은 모두 통일관련 데이터임으로 긍정 부정 sentiment만 잘 나눠주면 의미가 있을 것이다.
1. 트위터 데이터 가져오기
트위터 데이터 가져오기
목적 & 어떻게?
- 트위터에서 특정 단어에 따른 사람들 멘션을 가져오고 싶다.
- 웹에서 데이터를 가져오는 방법은 여러가지가 있다.
- 나에게 가장 간편하고 알맞는 것을 선택하면된다.
1. Twitter Developer API 이용하기
- Twiter Developer에 내 Service를 등록하고 Twitter API를 직접 호출하는 방법이 있다.
특징
- standard, premium등의 급별로 가져올 수 있는 데이터가 다른등의 각기 다른 혜택이 있다. (standard는 7일치 데이터만, premium 30일치까지 등)
- 등급에 따라 돈을 내야한다.
- 개발자 서비스 등록 과정이 번거롭다.(서비스 상세설명 300자 이상, 리뷰를 거쳐 승인이되야 그때부터 트위터 API 사용가능 등)
- 웹 통신에 대한 기본적인 이해가 필요하다.
2. 등록하지 않고 Twitter API 따기
- 웹 사이트의 개발자 모드의 네트워크 상태 혹은 Charles,WireShark와 같은 Web Proxy Debugging툴을 이용하여 콜되는 API를 분석하여 경우에 알맞는 데이터를 가져온다.
- 일반적으로 인증(로그인)이 필요한경우 다음과 같은 순서를 거쳐 원하는 데이터를 얻는다.
- 로그인 요청 => Authorization token 획득 => token으로 데이터 API콜
특징
- 개발자 등록등 번거로운 과정을 거치지 않아도 된다.
- 웹 통신에 대한 기본적인 이해가 필요하다.
- 특정 security등에 의해 응답 정보가 막혀있을 수 있다. (twitter... ㅂㄷㅂㄷ)
3. Crawling 하기
- 실제 유저가 웹사이트에 접속한것과 같은 환경에서 html파일에서 원하는 데이터를 긁어온다.
특징
- 웬만하면 원하는 데이터를 대부분 긁어올 수 있다.
- 크롤링 과정이 손이 많이 간다.
- api방식보다 수정에 민감하다. html코드의 변경등이 있다면 html 파싱작업을 다시 작업해줘야 한다.
결론
- 3번 선택.
- Developer Api는 확장에 돈이 드니.. 불가..
- 기존 API 따기는 Twitter Security에 의해 쉽지 않음..
- 단순 크롤리이 가장 나을듯.. 속도는 느리겠지만
0. Issue는 To Do로 사용됩니다.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.