Ⅰ. 서 론
최근 기업은 효율적인 경영을 위해 소셜미디어 상의 빅 데이터를 이용하여 고객을 관리하기 시작했다. 블로그나 SNS 등을 통해 데이터를 수집하는 방법은 기존의 설문조사 방법에 비해 비용이 적게 들며 고객들이 자발적으로 제공한 의견이기 때문에 제품의 개발에 있어서 고객의 피드백을 받는데 실질적인 도움이 되기 때문이다[1,2]. 그러나 빅 데이터 안에는 비정형적인 데이터가 대거 포함되어 있기 때문에 기존의 시스템으로는 분석이 어렵다[3,4]. 이에 최근 웹 및 SNS 등 빅 데이터를 활용하기 위한 수집 및 분석 기술이 개발 되고 있으며 이러한 실시간 수집 엔진 개발을 통해 멀티채널(웹, 스마트 디바이스, 등)상의 의미 있는 데이터, 즉, 사용자의 행위, 상황, 감성 등 실시간 생활 이벤트 정보를 수집하여 분석정보를 제공한다[5,6].
그러나 온라인 사이트에서 수집한 데이터는 정확하게 띄어쓰기를 하지 않고 잦은 철자 오류로 인해 기존의 형태소 분석기로는 정확한 분석을 할 수 없다.
본 연구에서는 이러한 문제점을 해결하기 위해서 초/중성 및 어절 패턴 사전을 이용해서 보정할 수 있는 감성분석 모듈을 제안한다.
또한 온라인 상의 문장은 짧다는 특징이 있는데 상호정보량, 카이제곱 통계량, 토픽 시그니처 등과 같은 기존의 의미 선택 방법을 이용하게 되면 문장 내 선택 할 수 있는 의미가 부족하여 정확한 감성 분류를 할 수 없다는 문제점이 있다[7]. 이것을 해결하기 위해서 문장내 품사의 우선순위를 이용한 의미 선택 방법을 제안한다. 제안한 방법에 의해 형태소 분석기에서 추출된 품사 정보를 기반으로 용언과 체언을 분리해서 분석 해당품사에 종속적인 속성 DB 구축하고 학습에 의해 누적된 속성 DB를 사용하면 보다 정확한 긍정과 부정 분류등 감성분석이 가능하다. 긍/부정 분류는 이진 분류 시스템 중에서 가장 좋은 성능을 보이는 SVM(Support Vector Machine) 알고리즘을 이용한다.
Ⅱ. 관련 연구
온라인 상에서 수집한 데이터의 감성분석의 엔진 구성은 일반적으로 다음과 같다.
그림 1.감성분석 엔진 구성도 Fig. 1 Configuration of sensitivity analysis engine
이러한 감성분석 엔진에서 형태소의 분석의 역할이 매우 중요하다. 형태소 분석은 자연어 분석의 첫 단계로 단어(어절) 단위로 분리된 입력 문자열로부터 각각의 형태소를 분리하고 용언의 불규칙 활용이나 굴절 현상이 일어난 단어에 대해서는 원형을 복원하는 과정으로 기술된다. 그런데 형태소 분석 시스템이 어떠한 일을 수행해야 하고 어떤 기능들을 갖추어야 하는지, 형태소 분석기를 어떤 방법으로 설계하고 구현해야 할 것인지를 살펴보기 위해서는 먼저 형태소에 대한 명확한 정의가 필요하다. 언어를 분석하기 위한 기본 단위로 의미를 가지는 요소로서는 더 이상 분석할 수 없는 가장 작은 문법 단위를 형태소라고 정의하고 있다. 형태소 분석은 단어로부터 형태소를 분리하고 그 원형을 복원하는 과정이라 할 수 있다.
전산 언어학에서의 형태론은 단어로부터 일정한 규칙에 따라 형태소를 분석하거나 생성할 때 이를 컴퓨터로 어떻게 구현하는지에 관한 방법론이라고 할 수 있다. 즉, 언어학에서는 하나의 언어 현상에 대해서 단지 그 현상이 일어난 원인을 규명하려 하는데 비해, 전산 언어학의 관점에서는 그 현상을 컴퓨터로 어떻게 처리할 것인지, 얼마나 많은 언어 현상들을 처리할 수 있는지, 얼마나 정확한 분석을 할 수 있는지, 시스템이 얼마나 효율적인지 들을 중요시한다. 그런데 컴퓨터 프로그램에서 가장 중요한 요소는 처리 속도와 기억 공간 문제이므로 처리 범위가 넓은 보편적인 언어 현상은 규칙화하는 것이 효율적이겠지만, 적용 범위가 넓지 않은 현상들은 그 현상을 설명하는 규칙을 찾고 그 규칙에 의해 처리하는 것보다 예외적으로 처리하는 것이 효율적인 경우가 많다[8].
전산 언어학에서는 언어가 표출된 상태로 나타나는 모든 단어들을 분석하는 데에 중점을 두고 있기 때문에 어떤 현상이 일어나는 모든 형태소를 수집하고 분석하는 일이 중요하다. 이를 위해 모든 형태소를 포괄하는 어휘 사전을 구성하여 각 단어의 형태론적 특성을 처리하는 일반적인 규칙을 정형화하고, 일반적인 규칙으로 처리되지 않는 예외적인 현상들은 따로 처리할 수 있도록 처리 방법에 따라 분류해야 한다.
Ⅲ. 감성분석 모듈 구성 방법
3.1. 패턴 기반 의미 추출
온라인 상의 데이터는 자의적인 철자 오류 및 띄어쓰기 오류를 다수 포함하고 있다. 이러한 철자 오류 및 띄어쓰기가 포함된 게시글의 의미를 추출하기 위해서 본 연구에서는 두 종류의 사전을 구축한다. 하나는 어절패턴 사전으로 형태소 말뭉치로부터 용언 또는 체언이 포함된 어절을 추출하여 구축하는 방식이고 또 하나는 사전은 용언이 포함된 어절의 초/중성 패턴 사전이다.
① 어절 패턴 사전 구축
어절 패턴 사전은 그림 2의 철자 오류가 포함된 게시글의 두 번째 문장인 “어머님이 마이조아하시네영”과 같은 띄어쓰기 오류가 포함된 문장에서 체언과 용언의 의미를 추출하는데 사용한다. 온라인 상의 데이터 중 체언과 용언이 포함되어 있는 어절만을 대상으로 하여 어절패턴 사전을 구축하였다. 그림3과 같은 형태소 사전에서 체언이나 용언을 포함하는 어절인 “어머님이”와 “울었어”가 어절 패턴 사전의 엔트리 (entry) 후보가 된다. 후보 중 빈도수가 2 이상인 어절만을 대상으로 어절 패턴 사전을 구축하였다.
그림 2.철자와 띄어쓰기 오류가 포함된 게시글 유형 Fig. 2 Examples included errors of spelling and spacing of the words
그림 3.형태소 말뭉치의 예시 Fig. 3 Example of morpheme corpus
표 1은 구축된 어절 패턴 사전의 일부를 보여준다. 표 1과 같이 형태소 분석기에서 추출된 어절을 키(key)로 하고 어절의 형태소 분석 결과 중 체언과 용언의 원형을 데이터(data)로 한다.
표 1.어절 패턴 사전의 예 Table. 1 Example of phase pattern dictionary
② 초/중성 패턴 사전 구축
두 번째 사전은 용언이 포함된 어절의 초/중성 패턴사전이다. 자의적인 철자 오류는 초성과 중성이 크게 변하지 않는다는 특징이 있다. 예를 들어, “좋아요”는 ‘조아요’. ‘조아용’로 “예뻐요”는 ‘예뻐용’. ‘예뻐염’ 등으로 자주 변형되어 표현된다. “좋아요”를 초성, 중성, 종성으로 나누어 보면 표2와 같이 초성과 중성이 대부분 일치하는 것을 알 수 있다. 이러한 특징을 이용하여 용언이 포함된 어절을 추출한 뒤 초/중성 패턴 사전을 구축하여 자의적인 철자 오류가 포함된 문장으로부터 용언의 원형을 추출할 수 있다.
표 2.철자 오류 용언의 초, 중, 종성의 예 Table. 2 Examples of initial consonants, vowels and final consonants of predicates with wrong spellings
표 3은 구축된 초/중성 패턴 사전의 일부이다. 표3과 같이 초/중성 패턴 사전은 추출된 어절에서 초성과 중성을 키로 하고 용언의 원형을 데이터로 한다. 이때 “좋아요”, “좁아요”와 같이 초성과 중성이 모두 일치하는 어절의 경우에는 빈도수가 높은 어절만을 대상으로 사전을 구축하였다.
표 3.초/중성 패턴 사전의 예 Table. 3 Examples of initial consonants/vowels pattern dictionary
③ 최장 일치 기반 의미 추출
구축된 사전으로부터 입력 문장의 의미를 추출한다. 입력된 문장에서 최장일치법을 이용하여 사전과 매칭시킨다. 온라인 상의 데이터는 띄어쓰기 오류가 상당수 포함되어 있는데 대부분의 오류는 “어머님이마이조아 하시네요”와 같이 띄어 쓸 것을 띄어 쓰지 않아서 생기는 오류이다. 띄어 쓰지 말아야 할 것을 띄어 써서 생기는 오류는 극히 드물며, 이러한 이유로 본 연구에서는 입력 문장 내 띄어쓰기가 있는 부분은 올바른 어절의 경계라고 가정하고 띄어쓰기 단위로 사전과 최장일치를 하였다. 최장일치 시에는 어절 패턴 사전, 초/중성 패턴 사전의 우선순위를 둔다. 표 4는 일치 기반의 의미추출의 예를 나타낸다.
표 4.일치 기반 패턴 추출의 예 Table. 4 Example of concord based pattern extraction
3.2. 품사별 자질을 이용한 자질 선택
온라인 상의 문장은 짧다는 특징이 있다. 짧은 게시글의 경우 자질 추출 단계에서 추출된 자질을 상호정보랑, 카이제곱통계량, 토픽 시그너처 등을 이용하여 자질을 선택하게 되면 문장 내 정확한 자질이 선택되지 않을 위험이 있다.
표 4의 마지막 입력 문장이 “그저 그래요”의 경우 감성과 관련된 어휘가 존재하지 않는다. 그러나 감성과 관련된 어휘가 아니더라도 “그저 그래요”는 부정적인 감성을 나타낸다. 기존의 자질 선택 방법을 이용하면 “그저 그래요”와 같은 문장의 중요 자질이 없기 때문에 감성 분류가 불가능하다. 또한 “휴일에 주문했는데 배송이 빠르네요”와 같은 문장에서 용언과 체언을 동시에 추출하게 되면 “빠르”, “배송”과 같이 감성을 판단하는데 중요한 자질에 비해서 상대적으로 감성을 판단하는데 중요하지 않은 자질인 “휴일”, “주문”과 같은 자질도 함께 추출된다. 이러한 문제를 해결하기 위해서 본 연구에서는 품사별 우선순위를 부여한 자질 선택 방법을 사용하였다. 선택 방법은 두 단계로 나뉘며, 먼저 학습을 위한 자질 DB를 구축한다. 이어서 입력 문장의 자질을 추출하여 자질 DB에 포함된 자질만을 선택한다.
감성 분석은 체언보다 용언이 상대적으로 더 중요한 자질로 사용된다. 그러나 “친절합니다.”, “감사합니다.”와 같은 문장의 경우 용언이 존재하지 않는 문장이다. 그러므로 용언이 절대적으로 중요한 자질의 역할을 하는 것은 아니며 각 문장별로 용언과 체언 자질이 갖는 중요성이 다르다. 이러한 이유에서 본 연구에서는 각 문장에서 용언이 있는 경우는 용언과 주변 체언을 추출하며, 용언이 없는 경우에는 체언만을 추출하여 DB를 만든다. 표 5는 각 문장에서 선택되는 자질을 보여준다.
표 5.품사별 자질 선택의 예 Table. 5 Examples of selection of each parts of speech qualification
표 6은 표 5의 입력분장에서 품사별 우선순위 자질선택 방법을 이용한 자질 DB와 용언과 체언을 모두 추출한 DB이다.
표 6.품사별과 용언 체언 자질DB Table. 6 Qualification Database of each parts of speech and predicate/substantive words
표 6의 품사별 우선순위로 추출된 자질DB에서 볼 수 있듯이 ‘휴일’, ‘주문’, ‘생각’과 같이 상대적으로 감성분석에 중요하지 않는 단어들은 추출되지 않는 것을 볼 수 있다.
자질 선택 단계에서는 입력된 문장에서 기계 학습에 사용될 자질을 선택한다. 입력된 문장에서 최장일치법을 이용하여 추출된 자질 중 자질 DB에 있는 내용만을 학습데이터로 사용한다. 표 7은 표 6의 자질 DB를 이용하여 선택된 자질의 예를 나타낸다.
표 7.선택된 자질의 예 Table. 7 Examples of selected qualifications
3.3. 감성분석 모듈 구성
본 연구에서 제안한 방법에 의해 감성분석 시스템의 모듈은 다음 그림 4와 같이 구성한다.
그림 4.감성분석 모듈 구성도 Fig. 4 Configuration of sensitivity analysis module
그림 4와 같이 형태소 분석기에서 추출된 품사 정보를 기반으로 용언과 체언을 분리해서 분석 해당 품사에 종속적인 속성 DB 구축하였다. 이때 품사에 종속적인 속성DB를 구축할 때 본연구에서 제안한 방법에 의한 다. 즉, 온라인 상의 데이터에서 철자와 띄어쓰기 오류의 문제점을 해결하기 위해서 초/중성 및 어절 패턴 사전을 이용해서 보정할 수 있도록 하였다. 또한 온라인상의 문장은 짧다는 특징으로 인한 의미 부재로 감성을 제대로 분류할 수 없다는 문제점을 해결하기 위해 문장내 품사의 우선순위를 이용한 의미 선택 방법을 하였다. 이러한 방법으로 학습에 의해 누적된 속성 DB를 사용하여 보다 정확한 긍/부정 분류의 등 감성분석이 가능하도록 하였다. 긍/부정 분류는 이진 분류 시스템 중에서 가장 좋은 성능을 보이는 SVM(Support Vector Machine) 알고리즘을 이용하도록 하였다.
기본적으로 텍스트 기반의 형태소 분석엔진 개발하는데 실질 형태소 뿐 아니라 형식 형태소도 모두 사용하여 감성표현 술어 분석(감성 술어 사전 사용)을 한다. 감성표현 술어 동의어 처리 후 술어 분석 결과를 바탕으로 감성 영역(sentiment context) 선정한다. 또한 감성표현 영역에서 어휘 근접도와 문장 형식을 분석하여 주제 및 속성 탐지하며 감성 영역의 감성극성(sentimental polarity)에 따른 감성점수(sentimental scoring)화를 하도록 한다.
Ⅳ. 결론 및 향후과제
기업의 효율적인 경영을 위한 고객피드백을 얻기 위해서 최근 소셜 빅 데이터를 분석하는 기술을 이용하고 있다[9]. 그러나 빅 데이터는 단지 그 막대한 정보의 양 뿐만이 아니라 실시간으로 업데이트 되는 데이터의 생성 및 유통 속도와 매우 다양한 비정형, 비구조 데이터가 상호 융합되어 있다는 복합적인 특성을 가지므로 기존 데이터분석 기술로는 충분하지 않다.
따라서 최근에는 웹 및 SNS 수집 및 분석 기술 개발되어 빅 데이터의 실시간 수집 엔진 개발을 통한 사용자의 행위, 상황, 감성 등 실시간 생활 이벤트 정보를 수집하여 분석정보를 제공하고 있다[10,11]. 그러나 온라인 상의 문장은 철자와 띄어쓰기 오류가 많고 문장의 길이가 짧아 정확한 의미를 파악할 수 없는 경우가 많아 기존의 형태소 분석기로는 정확한 분석을 할 수가 없다. 본 논문에서는 그러한 문제점들을 해결하기 위해 어절패턴 및 초/중성 사전을 이용해서 보정하고 문장내 품사의 수선순위를 이용한 의미 선택 방법을 사용하여 형태소 분석기에서 추출된 품사정보를 기반으로 용언과 체언을 분리해서 분석해당 품사에 종속적인 속성DB를 구축하도록 하는 감성분석 모듈을 제안하였다. 감성분석 모듈구성에 있어 학습에 의해 누적된 속성DB를 사용하여 긍정과 부정의 글들을 분류하도록 하였고 이진 분류 시스템 중 가장 효율적이라고 알려진 SVM 알고리즘을 사용하도록 하였다. 향후 본 연구의 과제는 실제 이 시스템을 서비스산업에 적용하여 긍/부정의 글들을 분류하고 감성영역의 출현빈도와 감성점수를 산출하는 것이다.
References
- K.Cheong, H.Y. Seo and S.D. Cho," Classifications and Content Analyses of Social Networking Services Research", Journal of The Korean Knowledge Information Technology Society vol. 6, no.5, pp.82-98, 2011.
- K.P. Nam, "System Implementation of the Customer Satisfaction Survey Using Internet", The Korean Journal of Applied Statistics vol.18 , no.3 , pp.713-727, 2005. https://doi.org/10.5351/KJAS.2005.18.3.713
- James Manyika, "Big Data: The next frontier for innovation, competition, and productivity", McKinsey Global Institute Report , May 2011.
- S.J. Kim and Y.S. Kim, "Design and Implementation of Good Bibimbap Restaurant Recommendation System Using TCA based on BigData", International Journal of Software Engineering and Its Applications, vol. 8, no.7, pp. 95-106, 2014. https://doi.org/10.14257/ijseia.2014.8.1.09
- E. J. Choi and S. H. Kim, "The Study of the Impact of Perceived Quality and Value of Social Enterprises on Customer Satisfaction and Re-Purchase Intention", International Journal of Smart Home (IJSH), vol. 7, no.1, pp. 239-252, 2013. https://doi.org/10.14257/ijsh.2013.7.5.24
- S.Y. Park, J.O. Chang and T.S. Kihl, "Document Classification Model Using Web Documents for Balancing Training Corpus Size per Category" Journal of information and communication convergence engineering vol.11 n.4, pp.268-273, 2013. https://doi.org/10.6109/jicce.2013.11.4.268
- J.M.Park, " Gene Algorithm of Crowd System of Data Mining", Journal of Information and Communication. Convergence Engineering (JICCE) vol. 10, no.1, pp.40-44, 2012. https://doi.org/10.6109/jicce.2012.10.1.040
- K.S. Shim and J.H. Yang, "High Speed Korean Morphological Analysis based on Adjacency Condition Check" Journal of KIISE : Software and Applications, Vol. 31, No. 1, pp. 89-99, 2014.
- E.J Song, "A Study on the Collection Site Profiling and Issue-detection Methodology for Analysis of Customer Feedback on Social Big Data", International Journal of Smart Home (IJSH) Vol. 8, No. 6 pp. 169-178,2014.
- Y.J. Moon "The Effect of Individual Differences on Consumer satisfaction and Behavioral Intention in Online Shopping: The Role of Information Privacy Concerns", Journal of the Korea Institute of Information and Communication Engineering(KIICE), vol.17, no.11, 2717-2722, 2013. https://doi.org/10.6109/jkiice.2013.17.11.2717
- S. Abduljalil and D.K. Kang "Legacy of Smart Device, Social Network and Ubiquitous E-class System" Journal of information and communication convergence engineering (JICCE), vol.9, no.1, pp.1-5, 2011. https://doi.org/10.6109/jicce.2011.9.1.001
Cited by
- A Study on the Evaluation of Travel Agency using Social Big Data vol.19, pp.10, 2015, https://doi.org/10.6109/jkiice.2015.19.10.2241
- 게임 유용성 평가에 미치는 요인에 관한 연구: 스팀(STEAM) 게임 리뷰데이터 분석 vol.17, pp.3, 2015, https://doi.org/10.7583/jkgs.2017.17.3.33
- CRPN(Customer-oriented Risk Priority Number): SNS 오피니언 마이닝을 활용한 고객 의견 기반의 RPN 평가 기법 vol.47, pp.1, 2015, https://doi.org/10.7469/jksqm.2019.47.1.97
- Social Emotional Opinion Decision with Newly Coined Words and Emoticon Polarity of Social Networks Services vol.11, pp.8, 2015, https://doi.org/10.3390/fi11080165
- 재정정보 활용을 위한 텍스트 마이닝 기반 회계용어 형태소 분석기 구축 vol.28, pp.4, 2019, https://doi.org/10.5859/kais.2019.28.4.155
- SNS 기반 여론 감성 분석 vol.6, pp.1, 2015, https://doi.org/10.17703/jcct.2020.6.1.111