SlideShare a Scribd company logo
201301286 장준수
201301288 조재익
201301279 양대순
201401287 홍진원
Python을 이용한
새로운 검색 정보 제공 시스템
Team Clou
목차
1. 프로젝트 개요
2. 시스템 작동 과정
3. 프로토 타입
4. 결론
5. 참고 문헌 및 출처
연구 배경
* 출처 : 소셜미디어와 검색 포털에 관한 리포트 2019 - 오픈서베이
■ 다양한 기술의 발전과 시대의 변화와 함께 정보
를 찾고 이용하는 행동은 증가 하지만 검색 포털
사용자 대부분이 검색 결과에 대한 만족도가 낮음.
■ 현 검색 시스템에서는 정보가 줄글식으로 구성.
■ 연관도가 떨어지는 경우도 많기 때문에 원하는
정보를 빠르고 정확하게 찾아 내는 것이 어려움.
새로운 정보
연구 목적
연구 방법
특정 검색어를 입력 시 시각적으로 도움을 주는 자료의 출력과 검색하고자 하는 검색어와
유사한 단어들을 연관도에 따라 출력하여 정보전달을 증진 시키는 시스템을 구축하고자 함.
Python을 기반으로 웹 Crawling을 통한 정보 수집과 Word2Vec을 이용한 연관도 분석을 이용하여
검색결과를 시각화하여 웹 페이지에 나타나도록 진행.
■ Crawling이란?
분산ㆍ저장 돼 있는 정보를 수집 하여 검색 대상의 색인으로 포함시키는 기술로, 원하는 데이터를 얼
마나 빨리, 정확하게 찾아내는지가 관건.
■ Word2Vec이란?
워드 토큰을 벡터로 표현해주는 기법으로, 단어를 벡터화 할 때 문맥적 의미를 보존해주어 정량화된
벡터로 표현.
흐름도
검색어 입력 데이터 수집 데이터 가공 화면에 표시
네이버 뉴스 페이지에 검색어 입력 후 Crawling하여
데이터 가공 후 구현한 웹 페이지에 출력한다.
환경 구축
검색한 URL주소 획득&
결과 정보 crawling
crawling 결과 텍스트화
& 자연어 처리
상위 빈도수 단위 추출
워드 클라우드 생성
유사단어 Word2Vec
결과 출력
■ Flask를 통해 웹 페이지 구현
→ Flask란 파이썬 웹 어플리케이션을 만드는 프레임 워크.
■ HTML 형식의 코드를 링크하여 서식 변경
■ 기존의 검색창과 유사한 자체 서비스 플랫폼
검색어 입력
Web Crawling
검색어 입력
검색한 URL주소 획득&
결과 정보 crawling
crawling 결과 텍스트화
& 자연어 처리
상위 빈도수 단위 추출
워드 클라우드 생성
유사단어 Word2Vec
결과 출력
■ Beautifulsoup 라이브러리를 통해 페이지 크롤링
→ 웹 브라우저의 HTML, XML 문서를 분석하기 위한 Python 패키지로
웹 크롤링에 유용.
■ cleanText 함수를 정의해서 특수문자 제거.
■ crawling_text_ko 변수를 만들어서 stop_words로 단어 정리, ko 변수
를 만들어서 자연어처리(nltk).
Word Cloud 생성
■ 검색 할 때마다 워드 클라우드 이미지를 다르게
보여주기 위해 time 함수를 통해 문자열화 해서 now_time에 저장.
■ 가장 많이 나온 단어 50개로 워드 클라우드 생성, 이미지 저장.
검색어 입력
검색한 URL주소 획득&
결과 정보 crawling
Crawling 결과 텍스트화
& 자연어 처리
상위 빈도수 단위 추출
유사단어 Word2Vec
결과 출력
워드 클라우드 생성
Word2Vec
■ “final_value”에 Word2Vec한 유사단어를 저장
■ Word2Vec 모델은 비슷한 분포를 가진 단어들은 비슷한 의미
를 가진다 라는 가정에 입각하여 유사도 분석.
→ 여기서 비슷한 분포를 가졌다는 것은 기본적으로 단어들이 같
은 문맥에서 등장한다는 것을 의미.
→ 예를 들어 어느 문단에서 몇몇 단어가 반복해서 같이 등장하
는 일이 빈번하게 일어난다면, 이를 분석하여 단어들이 유사한
의미를 가진다는 것을 유추하는 것.
검색어 입력
검색한 URL주소 획득&
결과 정보 crawling
crawling 결과 텍스트화
& 자연어 처리
상위 빈도수 단위 추출
워드 클라우드 생성
유사단어 Word2Vec
결과 출력
결과 출력
■ 앞에서 생성한 워드 클라우드 이미지, 빈도 그래프, Word2Vec
분석 결과 값들을 value.html을 통해 화면에 표시.
검색어 입력
검색한 URL주소 획득&
결과 정보 crawling
crawling 결과 텍스트화
& 자연어 처리
상위 빈도수 단위 추출
워드 클라우드 생성
유사단어 Word2Vec
결과 출력
초기 서비스 화면 검색어 입력 후 결과 화면
- 검색결과의 키워드와 연관성을 시각화하여 한눈에 보여주기 때문에 핵심 이슈를 빠르게 파악 가능.
- 기존의 유사단어 시스템( Ex)연관 검색어 )에서 보여주지 않았던 유사 빈도를 통해 우선 순위를 정해
검색의 효율성 증대.
- 파악한 핵심 이슈를 가지고 좀 더 관심 있는 이슈를 찾아내서 필요한 정보를 찾는 시간을 줄일 수 있
을 것으로 기대.
기대 효과
Python Flask, Word Cloud, Word2Vec을 통한 개선된 웹 기반 검색 시스템 제시.
- Word Cloud를 통해 어떠한 단어가 결과로 나왔는지, 결과 단어들의 빈도수 요약.
- Word2Vec을 활용한 유사 단어의 정리 및 유사도 산출.
■ Word2Vec 학습, 자연어 처리 미흡으로 인한 유사도 정확성의 저하
■ 서버 문제로 한 번에 검색 안 될 경우도 있음
■ 다른 호스트 에서도 쓸 수 있도록 상용화 시키지 못함
■ 현 시스템으로는 연속 검색 불가
향후 보완점
▪ Hillar, Gaston C, “RESTful 파이썬 웹 서비스 제작” 에이콘, 2017
▪ RYAN MITCHELL, “파이썬으로 웹 크롤러 만들기” 한빛 미디어, 2016
▪ 맹성현, “정보 검색 기술의 현황과 발전 방향”, 2004
▪ 오픈서베이, 소셜미디어와 검색 포털에 관한 리포트 2019 www.opensurvey.co.kr

More Related Content

Similar to Clou(python searh system)

The platform 2011
The platform 2011The platform 2011
The platform 2011
NAVER D2
 
시종설_최종.pptx
시종설_최종.pptx시종설_최종.pptx
시종설_최종.pptx
ssusere04900
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기
Inho Kwon
 
introduction of IaC using CloudFormation
introduction of IaC using CloudFormationintroduction of IaC using CloudFormation
introduction of IaC using CloudFormation
HongkiYim
 
Trendetector : 커뮤니티 키워드 분석 서비스
Trendetector : 커뮤니티 키워드 분석 서비스Trendetector : 커뮤니티 키워드 분석 서비스
Trendetector : 커뮤니티 키워드 분석 서비스
Shin Yeongmin
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
찬희 이
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
hungrok
 
My words
My wordsMy words
My words
Kwnaghwan Cho
 
데이터 시각화를 통한 파이썬 입문기
데이터 시각화를 통한 파이썬 입문기데이터 시각화를 통한 파이썬 입문기
데이터 시각화를 통한 파이썬 입문기
wangwon Lee
 
141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작
Changwon Choe
 
웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)
JoonHee Lee
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
Yong Joon Moon
 
I'm Traveling
I'm TravelingI'm Traveling
I'm Traveling
Suyeol Jeon
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현
kdh24
 
집단지성 프로그래밍 04-검색과 랭킹-02
집단지성 프로그래밍 04-검색과 랭킹-02집단지성 프로그래밍 04-검색과 랭킹-02
집단지성 프로그래밍 04-검색과 랭킹-02
Kwang Woo NAM
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
Gruter
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
우영 주
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Channy Yun
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oceuEngine Solutions
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
SangHoon Han
 

Similar to Clou(python searh system) (20)

The platform 2011
The platform 2011The platform 2011
The platform 2011
 
시종설_최종.pptx
시종설_최종.pptx시종설_최종.pptx
시종설_최종.pptx
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기
 
introduction of IaC using CloudFormation
introduction of IaC using CloudFormationintroduction of IaC using CloudFormation
introduction of IaC using CloudFormation
 
Trendetector : 커뮤니티 키워드 분석 서비스
Trendetector : 커뮤니티 키워드 분석 서비스Trendetector : 커뮤니티 키워드 분석 서비스
Trendetector : 커뮤니티 키워드 분석 서비스
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
 
My words
My wordsMy words
My words
 
데이터 시각화를 통한 파이썬 입문기
데이터 시각화를 통한 파이썬 입문기데이터 시각화를 통한 파이썬 입문기
데이터 시각화를 통한 파이썬 입문기
 
141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작
 
웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
I'm Traveling
I'm TravelingI'm Traveling
I'm Traveling
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현
 
집단지성 프로그래밍 04-검색과 랭킹-02
집단지성 프로그래밍 04-검색과 랭킹-02집단지성 프로그래밍 04-검색과 랭킹-02
집단지성 프로그래밍 04-검색과 랭킹-02
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 

Clou(python searh system)

  • 1. 201301286 장준수 201301288 조재익 201301279 양대순 201401287 홍진원 Python을 이용한 새로운 검색 정보 제공 시스템 Team Clou
  • 2. 목차 1. 프로젝트 개요 2. 시스템 작동 과정 3. 프로토 타입 4. 결론 5. 참고 문헌 및 출처
  • 3. 연구 배경 * 출처 : 소셜미디어와 검색 포털에 관한 리포트 2019 - 오픈서베이 ■ 다양한 기술의 발전과 시대의 변화와 함께 정보 를 찾고 이용하는 행동은 증가 하지만 검색 포털 사용자 대부분이 검색 결과에 대한 만족도가 낮음. ■ 현 검색 시스템에서는 정보가 줄글식으로 구성. ■ 연관도가 떨어지는 경우도 많기 때문에 원하는 정보를 빠르고 정확하게 찾아 내는 것이 어려움.
  • 4. 새로운 정보 연구 목적 연구 방법 특정 검색어를 입력 시 시각적으로 도움을 주는 자료의 출력과 검색하고자 하는 검색어와 유사한 단어들을 연관도에 따라 출력하여 정보전달을 증진 시키는 시스템을 구축하고자 함. Python을 기반으로 웹 Crawling을 통한 정보 수집과 Word2Vec을 이용한 연관도 분석을 이용하여 검색결과를 시각화하여 웹 페이지에 나타나도록 진행. ■ Crawling이란? 분산ㆍ저장 돼 있는 정보를 수집 하여 검색 대상의 색인으로 포함시키는 기술로, 원하는 데이터를 얼 마나 빨리, 정확하게 찾아내는지가 관건. ■ Word2Vec이란? 워드 토큰을 벡터로 표현해주는 기법으로, 단어를 벡터화 할 때 문맥적 의미를 보존해주어 정량화된 벡터로 표현.
  • 5. 흐름도 검색어 입력 데이터 수집 데이터 가공 화면에 표시 네이버 뉴스 페이지에 검색어 입력 후 Crawling하여 데이터 가공 후 구현한 웹 페이지에 출력한다.
  • 6. 환경 구축 검색한 URL주소 획득& 결과 정보 crawling crawling 결과 텍스트화 & 자연어 처리 상위 빈도수 단위 추출 워드 클라우드 생성 유사단어 Word2Vec 결과 출력 ■ Flask를 통해 웹 페이지 구현 → Flask란 파이썬 웹 어플리케이션을 만드는 프레임 워크. ■ HTML 형식의 코드를 링크하여 서식 변경 ■ 기존의 검색창과 유사한 자체 서비스 플랫폼 검색어 입력
  • 7. Web Crawling 검색어 입력 검색한 URL주소 획득& 결과 정보 crawling crawling 결과 텍스트화 & 자연어 처리 상위 빈도수 단위 추출 워드 클라우드 생성 유사단어 Word2Vec 결과 출력 ■ Beautifulsoup 라이브러리를 통해 페이지 크롤링 → 웹 브라우저의 HTML, XML 문서를 분석하기 위한 Python 패키지로 웹 크롤링에 유용. ■ cleanText 함수를 정의해서 특수문자 제거. ■ crawling_text_ko 변수를 만들어서 stop_words로 단어 정리, ko 변수 를 만들어서 자연어처리(nltk).
  • 8. Word Cloud 생성 ■ 검색 할 때마다 워드 클라우드 이미지를 다르게 보여주기 위해 time 함수를 통해 문자열화 해서 now_time에 저장. ■ 가장 많이 나온 단어 50개로 워드 클라우드 생성, 이미지 저장. 검색어 입력 검색한 URL주소 획득& 결과 정보 crawling Crawling 결과 텍스트화 & 자연어 처리 상위 빈도수 단위 추출 유사단어 Word2Vec 결과 출력 워드 클라우드 생성
  • 9. Word2Vec ■ “final_value”에 Word2Vec한 유사단어를 저장 ■ Word2Vec 모델은 비슷한 분포를 가진 단어들은 비슷한 의미 를 가진다 라는 가정에 입각하여 유사도 분석. → 여기서 비슷한 분포를 가졌다는 것은 기본적으로 단어들이 같 은 문맥에서 등장한다는 것을 의미. → 예를 들어 어느 문단에서 몇몇 단어가 반복해서 같이 등장하 는 일이 빈번하게 일어난다면, 이를 분석하여 단어들이 유사한 의미를 가진다는 것을 유추하는 것. 검색어 입력 검색한 URL주소 획득& 결과 정보 crawling crawling 결과 텍스트화 & 자연어 처리 상위 빈도수 단위 추출 워드 클라우드 생성 유사단어 Word2Vec 결과 출력
  • 10. 결과 출력 ■ 앞에서 생성한 워드 클라우드 이미지, 빈도 그래프, Word2Vec 분석 결과 값들을 value.html을 통해 화면에 표시. 검색어 입력 검색한 URL주소 획득& 결과 정보 crawling crawling 결과 텍스트화 & 자연어 처리 상위 빈도수 단위 추출 워드 클라우드 생성 유사단어 Word2Vec 결과 출력
  • 11. 초기 서비스 화면 검색어 입력 후 결과 화면
  • 12. - 검색결과의 키워드와 연관성을 시각화하여 한눈에 보여주기 때문에 핵심 이슈를 빠르게 파악 가능. - 기존의 유사단어 시스템( Ex)연관 검색어 )에서 보여주지 않았던 유사 빈도를 통해 우선 순위를 정해 검색의 효율성 증대. - 파악한 핵심 이슈를 가지고 좀 더 관심 있는 이슈를 찾아내서 필요한 정보를 찾는 시간을 줄일 수 있 을 것으로 기대. 기대 효과 Python Flask, Word Cloud, Word2Vec을 통한 개선된 웹 기반 검색 시스템 제시. - Word Cloud를 통해 어떠한 단어가 결과로 나왔는지, 결과 단어들의 빈도수 요약. - Word2Vec을 활용한 유사 단어의 정리 및 유사도 산출.
  • 13. ■ Word2Vec 학습, 자연어 처리 미흡으로 인한 유사도 정확성의 저하 ■ 서버 문제로 한 번에 검색 안 될 경우도 있음 ■ 다른 호스트 에서도 쓸 수 있도록 상용화 시키지 못함 ■ 현 시스템으로는 연속 검색 불가 향후 보완점
  • 14. ▪ Hillar, Gaston C, “RESTful 파이썬 웹 서비스 제작” 에이콘, 2017 ▪ RYAN MITCHELL, “파이썬으로 웹 크롤러 만들기” 한빛 미디어, 2016 ▪ 맹성현, “정보 검색 기술의 현황과 발전 방향”, 2004 ▪ 오픈서베이, 소셜미디어와 검색 포털에 관한 리포트 2019 www.opensurvey.co.kr