2021년 강릉과학산업진흥원 주최 SW연계 지역특화교육 입상작입니다.
강원도 지역의 축제 후기와 각 지역의 인프라를 분석하여 만족도와 지역 SOC에 어떠한 상관관계가 있는지 분석하고 결과를 시각화하여 나타냅니다.
그 결과 여행객은 자신이 선호하는 사회기반시설이 있는 여행지를 찾을 수 있습니다. 또한 비슷한 성격의 두 축제를 비교하여 만족도 차이와 사회기반시설의 관계를 알아내고 축제 만족도를 높이기 위한 방안을 인프라를 바탕으로 고려할 수 있습니다.
여행객이 선호하는 인프라가 갖추어져 있는 지역은 해당 여행객이 더 오래 머물 수 있습니다. 따라서 여행객이 선호하는 인프라 등 간접자본이 잘 구축되어 있다면 축제 시기 여행객의 체류시간을 늘리고 지역 내 소비가 이루어지도록 할 수 있습니다. 이는 축제의 만족도를 향상시킬 수 있을 뿐 아니라 지역 상권의 활성화에도 보탬이 될 수 있습니다.
따라서 Karnival
은 관광객의 만족도와 인프라에 관한 많은 데이터를 시각화하여 보여줍니다.
시각화하는 데이터는 다음과 같습니다.
- 축제 만족도
- 지역의 중심 시설 개수
- 지역의 지정 인프라의 총합
- 축제 이미지 (축제 후기에서 발췌한 형용사 사용 빈도)
- 지역 축제 위치
대관령 눈꽃축제, 태백산 눈축제 비교 결과 예시는
result_example.html
파일에 저장되어 있습니다.
python -m pip install -r requirements.txt
{
"name": "화천 실내얼음조각광장",
"keywords": [
"실내얼음조각광장 후기"
],
"engines": [
"NAVER"
],
"lat": 38.14212,
"long": 127.67615,
"local_name": "화천군",
"facility_keywords": {}
}
축제이름.json
파일을 생성해 위와 같은 형식의 데이터를 저장합니다.
facility_keywords
에 아무것도 지정하지 않아도
- 관광안내소
- 금연구역
- 전기차충전소
- 숙박시설
이 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 "대관령 눈꽃축제,태백산 눈축제" 전기차충전소
원 위에 마우스 오버하면 힌트 라벨이 표시됩니다. 마커를 클릭하면 감정형용단어 빈도수가 나타납니다. 마커에 마우스 오버하면 축제명이 나타납니다.
특정 사회기반시설 개수와 만족도가 비례하는 것으로 나타났습니다.
물론 일반화할 수는 없지만, Karnival
의 목적은 가설의 증명이 아닌
지역 축제 발전 방안을 인프라를 중심으로 찾을 수 있도록 나타내는 것입니다.
해당 예시는
result_example.html
파일에 저장되어 있습니다.