Skip to content

2021 강릉과학산업진흥원 SW연계 해커톤 입상작 :trollface:

Notifications You must be signed in to change notification settings

kanggo-sw/Karnival

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Karnival

2021년 강릉과학산업진흥원 주최 SW연계 지역특화교육 입상작입니다.

강원도 지역의 축제 후기와 각 지역의 인프라를 분석하여 만족도와 지역 SOC에 어떠한 상관관계가 있는지 분석하고 결과를 시각화하여 나타냅니다.

그 결과 여행객은 자신이 선호하는 사회기반시설이 있는 여행지를 찾을 수 있습니다. 또한 비슷한 성격의 두 축제를 비교하여 만족도 차이와 사회기반시설의 관계를 알아내고 축제 만족도를 높이기 위한 방안을 인프라를 바탕으로 고려할 수 있습니다.

여행객이 선호하는 인프라가 갖추어져 있는 지역은 해당 여행객이 더 오래 머물 수 있습니다. 따라서 여행객이 선호하는 인프라 등 간접자본이 잘 구축되어 있다면 축제 시기 여행객의 체류시간을 늘리고 지역 내 소비가 이루어지도록 할 수 있습니다. 이는 축제의 만족도를 향상시킬 수 있을 뿐 아니라 지역 상권의 활성화에도 보탬이 될 수 있습니다.

따라서 Karnival은 관광객의 만족도와 인프라에 관한 많은 데이터를 시각화하여 보여줍니다.

시각화하는 데이터는 다음과 같습니다.

  1. 축제 만족도
  2. 지역의 중심 시설 개수
  3. 지역의 지정 인프라의 총합
  4. 축제 이미지 (축제 후기에서 발췌한 형용사 사용 빈도)
  5. 지역 축제 위치

대관령 눈꽃축제, 태백산 눈축제 비교 결과 예시는 result_example.html 파일에 저장되어 있습니다.

Usage

종속성 설치

python -m pip install -r requirements.txt

축제 정보 생성

{
  "name": "화천 실내얼음조각광장",
  "keywords": [
    "실내얼음조각광장 후기"
  ],
  "engines": [
    "NAVER"
  ],
  "lat": 38.14212,
  "long": 127.67615,
  "local_name": "화천군",
  "facility_keywords": {}
}

축제이름.json 파일을 생성해 위와 같은 형식의 데이터를 저장합니다.

facility_keywords에 아무것도 지정하지 않아도

  1. 관광안내소
  2. 금연구역
  3. 전기차충전소
  4. 숙박시설

이 4가지 시설은 공공데이터포털의 자료를 바탕으로 수집됩니다.

중요: 공공데이터포털의 일부 데이터에 화천군의 시설이 포함되어 있지 않아 정상적으로 작동하지 않습니다. 구글 지도에서 검색하려면 facility_keywords 키에 아래 예시와 같은 형식의 데이터를 입력합니다. 구글 지도 검색 결과는 때때로 부정확할 수 있습니다.

"facility_keywords": {"숙박시설": ["강원도 화천군 호텔", "강원도 화천군 민박"], "음식점": ["강원도 화천군 음식점"]}

크롤러 실행

축제 데이터를 생성했다면 아래 명령을 실행합니다. python preprocessor.py

안내: 축제 하나의 정보를 분석하는데 약 1분 이상의 시간이 소요됩니다.

아래와 같은 출력이 생성되며 작업 폴더에 축제명으로 폴더가 생성됩니다.

예상완료시간: 4.0분 이상
[+] Step 1. Crawling data
 - Crawling '2019 대관령 눈꽃축제 후기' on naver........................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
..............Done.

[+] Step 2. Extract the original form of the adjectives from data
 - Extracting
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
..............................................................................................................Done.

[+] Step 3. Sentimental analyzer
 - Calculating...
  max 5.153846153846153
  min -43.670103092783506
  ave -1.0893391702209034
  std 4.495130334886889
Done.

[+] Step 4. Crawling map data
평창군 {'숙박시설': 589, '전기차충전소': 22, '관광안내소': 5, '금연구역': 134}
Done.

[+] Step 5. Save parameters
Done.

[+] Final. Rename directory
Done.

[+] Step 1. Crawling data
 - Crawling '2019 태백산 눈축제 후기' on naver..........................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
...................................Done.

[+] Step 2. Extract the original form of the adjectives from data
 - Extracting
........................................................................................................................
........................................................................................................................
........................................................................................................................
...........................................................Done.

[+] Step 3. Sentimental analyzer
 - Calculating...
  max 4.608695652173913
  min -32.65369649805447
  ave -0.8678358352883206
  std 3.8123254542969867
Done.

[+] Step 4. Crawling map data
태백시 {'숙박시설': 9, '전기차충전소': 14, '관광안내소': 2, '금연구역': 253}
Done.

[+] Step 5. Save parameters
Done.

[+] Final. Rename directory
Done.

데이터 시각화

이미 각 축제 이름별로 폴더가 생성되어 있습니다. 해당 폴더에는 만족도 정규분포 곡선과 시각화하지 않은 데이터가 포함되어 있습니다.

위의 작업이 완료되었다면 다음 명령을 실행합니다. 지도 위에 그려진 데이터가 웹 브라우저에서 실행됩니다.

map_visualizer.py "축제 1,축제 2,축제 3,축제 4,..." 중심간접자본

첫번째 인자는 표시할 축제들입니다. 따옴표로 구분됩니다.

주의: 따옴표 사이에 공백이 없어야 합니다.

예시 명령은 다음과 같습니다.

map_visualizer.py "대관령 눈꽃축제,태백산 눈축제" 전기차충전소

다음과 같은 화면이 나타납니다. res

원 위에 마우스 오버하면 힌트 라벨이 표시됩니다. 마커를 클릭하면 감정형용단어 빈도수가 나타납니다. 마커에 마우스 오버하면 축제명이 나타납니다.

특정 사회기반시설 개수와 만족도가 비례하는 것으로 나타났습니다. 물론 일반화할 수는 없지만, Karnival의 목적은 가설의 증명이 아닌 지역 축제 발전 방안을 인프라를 중심으로 찾을 수 있도록 나타내는 것입니다.

해당 예시는 result_example.html 파일에 저장되어 있습니다.

About

2021 강릉과학산업진흥원 SW연계 해커톤 입상작 :trollface:

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published