관광지를 표현하는 형용사와 동사 추출
관광지 관련 '공간 감성어 사전(spatial sentiment lexicon)'을 구축하기 위한 연구를 하고 있다. 연구는 크게 1. 데이터 수집, 2. 형태소 분석, 3. 감성 분석, 이렇게 세 부분으로 나눌 수 있으며, 세부적인 흐름은 아래 그림과 같다.
데이터를 수집하기 위하여 한국관광공사에서 제공하는 관광지 데이터를 이용하였다. 한국관광공사에서는 관광지를 7개의 카테고리 - 자연, 체험, 문화시설, 레포츠, 역사, 테마, 쇼핑 - 로 나누어 제공하고 있는데, 조회수가 높은 것 위주로 10~19개의 POI(point of interest, 관심지점)를 가져왔다. 결과적으로 총 106개의 POI 데이터를 수집하였으며, 그 목록은 아래와 같다.
위에서 수집한 POI에 대한 Place ID를 알아낸 후 구글맵 API를 통해 Place ID별 장소 리뷰를 수집하였다. 그런데 구글의 API 정책상 한 번에 콜할 수 있는 Place ID의 개수는 최대 10개로 제한되며, 하나의 Place ID 당 가져올 수 있는 리뷰의 개수는 최대 5개로 제한된다는 한계가 있었다. 결과적으로 Place ID 106개 중에 63개에 대한 리뷰글을 수집할 수 있었으며, 수집한 리뷰의 개수는 총 235개이다.
위에서 수집한 장소 리뷰에 대해 R을 이용하여 형태소 분석을 실시하였다. 이때 사람들이 주로 감성(감정)을 드러내는 품사인 형용사(PA) - 좋다, 아름답다, 조용하다 - 와 행위를 주로 묘사하지만 감성을 드러내기도 하는 동사(PV) - 느끼다, 신나다, 즐기다 - 를 모두 감성 단어 품사로 설정하였다. R을 이용한 형태소 분석 과정은 아래와 같다.
1) 폴더 설정 및 데이터 불러오기
> setwd('C:/YM/02. Project/2016_여대학(원)생 공학연구팀제 사업/내연구')
> useSejongDic()
> d = scan(file = 'seoultour.txt', what='str', sep='\t', encoding='UTF-8')
> d <- unlist(d)
2) 'SimplePos22' 태그 부착하기
> d_01 <- NULL
> for (i in seq(length(d))){
if (nchar(d[i]) > 1){
d_01 <- c(d_01, SimplePos22(d[i]))
}
}
'SimplePos22'가 무엇인지 궁금하다면 아래 글을 참고하면 좋겠다.
https://brunch.co.kr/@mapthecity/9
3) 문자열 나누기
> d_02 <- unlist(d_01)
> d_02 <- unlist(strsplit(d_02, "\\+")) # + 기준으로 문자열 나누기
> d_02 <- unlist(strsplit(d_02, " ")) # blank 기준으로 문자열 나누기
4) 특정 품사만을 추출하기
> NC <- unlist(d_02[grep("NC$", d_02)]) # 보통명사(NC)만 추출
> NQ <- unlist(d_02[grep("NQ$", d_02)]) # 고유명사(NQ)만 추출
> PV <- unlist(d_02[grep("PV$", d_02)]) # 동사(PV)만 추출
> PX <- unlist(d_02[grep("PX$", d_02)]) # 보조용언(PX)만 추출
> PA <- unlist(d_02[grep("PA$", d_02)]) # 형용사(PA)만 추출
> MA <- unlist(d_02[grep("MV$", d_02)]) # 부사(MA)만 추출
5) 품사 부분 삭제 하기
> NC_k <- gsub("/NC", "", NC)
> NQ_k <- gsub("/NQ", "", NQ)
> PV_k <- gsub("/PV", "", PV)
> PX_k <- gsub("/PX", "", PX)
> PA_k <- gsub("/PA", "", PA)
> MA_k <- gsub("/MA", "", MA)
6) 동사, 보조용언, 형용사에 '다' 붙여주기
> PV_kk <- gsub("/PV", "다", PV)
> PX_kk <- gsub("/PX", "다", PX)
> PA_kk <- gsub("/PA", "다", PA)
감성 분석은 오픈한글 연구를 레퍼로 삼아, 집단지성, 즉 설문을 통해 긍정, 부정, 중립에 대한 퍼센테이지를 계산하려고 한다. 설문은 구글 설문지를 이용하였으며, 현재 설문이 진행 중이다(설문에 많이 참여해 주세요). 이 설문이 끝난 후에 본 연구를 마무리할 수 있겠다.
https://drive.google.com/open?id=1oUOrqQG9AJCRUpcuTASr8f3nurNbI6H_faReNVYmaNk
(제목 배경 사진 출처)