단어 임베딩 및 벡터 유사도 기반 게임 리뷰 자동 분류 시스템 개발 Development of An Automatic Classification System for Game Reviews Based on Word Embedding and Vector Similarity원문보기
게임은 소프트웨어 특성상 출시 후 사용자들의 반응을 빠르게 파악하여 개선하는 것이 중요하다. 하지만 구글 플레이 앱 스토어 등 사용자들이 게임을 다운로드하고 리뷰를 올릴 수 있는 대부분의 사이트들은 게임 리뷰에 대한 매우 제한적이고 모호한 분류 기능만을 제공한다. 따라서 본 논문에서는 사용자들이 사이트에 올린 게임 리뷰를 보다 명확하고 운영에 유용한 주제들로 자동 분류하는 시스템을 개발한다. 본 논문에서 개발한 시스템은 리뷰에 포함된 단어들을 대표적인 단어 임베딩 모델인 word2vec을 사용하여 벡터들로 변환하고, 이 벡터들과 각 주제 간 유사도를 측정하여 해당 리뷰를 관련된 주제로 분류한다. 특히 분류 성능에 직접적인 영향을 미치는 벡터 간 유사도 측정 방법을 선택하기 위해 본 연구에서는 대표적인 벡터 간 유사도 측정 방법인 유클리디안 유사도, 코사인 유사도, 확장된 자카드 유사도의 성능을 실제 데이터를 사용하여 비교하였다. 또한 어떤 리뷰가 둘 이상의 주제에 해당하는 경우를 위해 임계값에 기반한 다중 분류 방법을 사용하였다. 구글 플레이 앱스토어의 실제 데이터를 사용한 실험 결과 본 시스템은 95%까지의 정확도를 보임을 확인하였다.
게임은 소프트웨어 특성상 출시 후 사용자들의 반응을 빠르게 파악하여 개선하는 것이 중요하다. 하지만 구글 플레이 앱 스토어 등 사용자들이 게임을 다운로드하고 리뷰를 올릴 수 있는 대부분의 사이트들은 게임 리뷰에 대한 매우 제한적이고 모호한 분류 기능만을 제공한다. 따라서 본 논문에서는 사용자들이 사이트에 올린 게임 리뷰를 보다 명확하고 운영에 유용한 주제들로 자동 분류하는 시스템을 개발한다. 본 논문에서 개발한 시스템은 리뷰에 포함된 단어들을 대표적인 단어 임베딩 모델인 word2vec을 사용하여 벡터들로 변환하고, 이 벡터들과 각 주제 간 유사도를 측정하여 해당 리뷰를 관련된 주제로 분류한다. 특히 분류 성능에 직접적인 영향을 미치는 벡터 간 유사도 측정 방법을 선택하기 위해 본 연구에서는 대표적인 벡터 간 유사도 측정 방법인 유클리디안 유사도, 코사인 유사도, 확장된 자카드 유사도의 성능을 실제 데이터를 사용하여 비교하였다. 또한 어떤 리뷰가 둘 이상의 주제에 해당하는 경우를 위해 임계값에 기반한 다중 분류 방법을 사용하였다. 구글 플레이 앱스토어의 실제 데이터를 사용한 실험 결과 본 시스템은 95%까지의 정확도를 보임을 확인하였다.
Because of the characteristics of game software, it is important to quickly identify and reflect users' needs into game software after its launch. However, most sites such as the Google Play Store, where users can download games and post reviews, provide only very limited and ambiguous classificatio...
Because of the characteristics of game software, it is important to quickly identify and reflect users' needs into game software after its launch. However, most sites such as the Google Play Store, where users can download games and post reviews, provide only very limited and ambiguous classification categories for game reviews. Therefore, in this paper, we develop an automatic classification system for game reviews that categorizes reviews into categories that are clearer and more useful for game providers. The developed system converts words in reviews into vectors using word2vec, which is a representative word embedding model, and classifies reviews into the most relevant categories by measuring the similarity between those vectors and each category. Especially, in order to choose the best similarity measure that directly affects the classification performance of the system, we have compared the performance of three representative similarity measures, the Euclidean similarity, cosine similarity, and the extended Jaccard similarity, in a real environment. Furthermore, to allow a review to be classified into multiple categories, we use a threshold-based multi-category classification method. Through experiments on real reviews collected from Google Play Store, we have confirmed that the system achieved up to 95% accuracy.
Because of the characteristics of game software, it is important to quickly identify and reflect users' needs into game software after its launch. However, most sites such as the Google Play Store, where users can download games and post reviews, provide only very limited and ambiguous classification categories for game reviews. Therefore, in this paper, we develop an automatic classification system for game reviews that categorizes reviews into categories that are clearer and more useful for game providers. The developed system converts words in reviews into vectors using word2vec, which is a representative word embedding model, and classifies reviews into the most relevant categories by measuring the similarity between those vectors and each category. Especially, in order to choose the best similarity measure that directly affects the classification performance of the system, we have compared the performance of three representative similarity measures, the Euclidean similarity, cosine similarity, and the extended Jaccard similarity, in a real environment. Furthermore, to allow a review to be classified into multiple categories, we use a threshold-based multi-category classification method. Through experiments on real reviews collected from Google Play Store, we have confirmed that the system achieved up to 95% accuracy.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
또한 어떤 유사도 측정 방법을 사용하느냐에 따라 분류 성능이 달라질 수 있다. 따라서 본 논문에서는 word2vec의 결과로 나온 단어 벡터들을 사용하여 리뷰와 각 카테고리 간의 유사도를 효과적으로 계산하고, 그 결과로 리뷰를 하나 또는 두 개의 카테고리로 분류하는 시스템을 제안한다.
따라서 본 논문에서는 게임 리뷰를 보다 명확하고 운영에 유용한 주제들로 자동 분류하는 시스템을 개발한다. 본 논문에서 수집한 리뷰 데이터는 해당 리뷰가 어느 카테고리인지에 대한 명시적인 정답이 주어지지 않은 데이터이다.
본 논문에서는 리뷰 분류의 정확도를 높이기 위하여 이 임계값을 0에서 시작하여 점차 높여가며 성능을 측정하여 최적의 임계값을 선택하였다. 제4.
본 논문에서는 리뷰 분류의 정확도를 최대화하기 위해 다양한 벡터 간 유사도 측정 방법들을 고려하였다. 이를 위해 현재 대표적인 유사도 측정 방법인 유클리디안 유사도, 코사인유사도, 확장된 자카드 유사도를 사용했을 때의 성능을 각각 측정하였으며, 이들 중 최고의 정확도를 보이는 확장된 자카드 유사도를 시스템 구현에 사용하였다.
또한 리뷰가 하나 이상의 주제를 내포하는 경우를 고려하여 두 가지 카테고리로도 배정될 수 있도록 하였다. 본 논문에서는 특히 카테고리 분류 성능에 직접적인 영향을 미치는 벡터 간 유사도 측정 방법을 선택하기 위하여 대표적인 벡터 간 유사도 측정 방법인 유클리디안(Euclidean) 유사도, 코사인(cosine) 유사도, 확장된 자카드(Jaccard) 유사도의 성능을 실제 데이터를 사용하여 비교하였다. 실제 데이터를 이용한 다양한 실험을 통해, 본 논문에서는 95%의 분류 정확률로 가장 좋은 정확도를 보이는 확장된 자카드 유사도를 시스템 구현에 채택하였다.
본 절에서는 다양한 벡터 간 유사도 측정 방법에 따른 성능 비교 결과와 다중 분류 시 사용되는 임계값 변화에 따른 성능 측정 결과를 보인다.
제안 방법
[Figure 10]은 카테고리-단어 간 유사도 행렬 계산에 사용된 유사도 측정 방법별 분류 정확도를 나타낸다. 1,000개의 리뷰 중 형태소 분석 결과 의미 있는 단어를 6개 이상 포함하는 리뷰는 686개로 해당 리뷰에 대해서만 정확도를 측정하였다. 실험 결과 유클리디안 유사도의 경우, 다른 두 방법에 비해 좋지 않은 성능을 보이며 리뷰 수가 상대적으로 ‘구성’과 ‘서버’카테고리에만 집중되어 있음을 볼 수 있다.
어떤 리뷰의 각 카테고리에 대한 스코어를 구하기 위해서는 먼저 리뷰-단어 존재 행렬에서 해당 리뷰를 나타내는 행을 가져온다. 그 후 해당 행을 카테고리-단어 간 유사도 행렬의 각 행들과 내적(inner product)하여 해당 리뷰와 각 카테고리 단어와의 총 유사도를 구한다. 마지막으로 각 카테고리를 나타내는 모든 단어들에 대한 해당 리뷰의 총 유사도를 모두 더하여 해당 리뷰의 해당 카테고리에 대한 최종 스코어를 구한다.
이 때 유사도 측정 방법으로는 앞 실험에서 가장 높은 분류 정확도를 보이는 확장된 자카드 유사도를 사용하였다. 다중 분류를 위한 임계값은 0을 시작으로 0.05 크기씩 증가시켜가며 성능 변화를 측정하였다. [Figure 11]은 임계값 변화에 따른 실험 결과를 나타낸다.
단어 임베딩을 통해 각 단어가 100차원의 벡터로 변환되면, 본 논문에서는 카테고리들을 대표하는 각 단어들과 리뷰에 포함된 각 단어들 간의 유사도를 나타내는 카테고리-단어 간 유사도 행렬을 생성한다. 카테고리-단어 간 유사도 행렬의 각 행은 8개 카테고리들을 대표하는 각 단어들을 나타내며, 각 열은 리뷰에서 최소 출현 빈도 조건을 만족하는 단어들을 나타 낸다.
1절에서 설명한 대표적인 유사도 측정방법인 유클리디안 유사도, 코사인 유사도, 확장된 자카드 유사도를 사용했을 때의 분류 성능을 비교한 결과를 보인다. 두 번째 요소는 주어진 리뷰를 둘 이상의 카테고리로 분류할 때 사용되는 임계값의 크기로서, 임계값을 변화시켜가며 분류 성능의 변화를 측정하였다. 본 논문에서는 실험 결과 가장 좋은 성능을 보이는 유사도 측정 방법과 임계값을 실제 시스템 구현에 채택하였다.
본 논문에서 개발한 시스템은 게임 리뷰에 포함된 단어들을 대표적인 단어 임베딩 모델인 word2vec을 사용하여 벡터들로 변환하고, 이 벡터들과 각 주제간 유사도를 측정하여 가장 가까운 주제로 분류한다. 또한 리뷰가 하나 이상의 주제를 내포하는 경우를 고려하여 두 가지 카테고리로도 배정될 수 있도록 하였다. 본 논문에서는 특히 카테고리 분류 성능에 직접적인 영향을 미치는 벡터 간 유사도 측정 방법을 선택하기 위하여 대표적인 벡터 간 유사도 측정 방법인 유클리디안(Euclidean) 유사도, 코사인(cosine) 유사도, 확장된 자카드(Jaccard) 유사도의 성능을 실제 데이터를 사용하여 비교하였다.
실제 데이터를 이용한 다양한 실험을 통해, 본 논문에서는 95%의 분류 정확률로 가장 좋은 정확도를 보이는 확장된 자카드 유사도를 시스템 구현에 채택하였다. 또한 리뷰와 거리가 제일 가까운 카테고리와 그 다음으로 제일 가까운 카테고리 간의 차이가 임계값 이하일 때는 두 가지 카테고리로 분류하도록 하였으며, 이 때 최적의 임계값을 결정하기 위해 실제 데이터를 사용하여 가장 좋은 성능을 보이는 임계값을 선택하였다.
이를 위해 현재 대표적인 유사도 측정 방법인 유클리디안 유사도, 코사인유사도, 확장된 자카드 유사도를 사용했을 때의 성능을 각각 측정하였으며, 이들 중 최고의 정확도를 보이는 확장된 자카드 유사도를 시스템 구현에 사용하였다. 또한 리뷰의 다중 분류에 사용되는 임계값을 다양하게 변화시키며 가장 좋은 성능을 보이는 값을 시스템 구현에 사용하였다. 본 논문에서 수집한 리뷰 데이터는 명시적인 정답이 주어지지 않은 데이터로, 리뷰의 구성 단어만을 활용하여 리뷰의 카테고리를 분류하는 시스템이다.
그 후 해당 행을 카테고리-단어 간 유사도 행렬의 각 행들과 내적(inner product)하여 해당 리뷰와 각 카테고리 단어와의 총 유사도를 구한다. 마지막으로 각 카테고리를 나타내는 모든 단어들에 대한 해당 리뷰의 총 유사도를 모두 더하여 해당 리뷰의 해당 카테고리에 대한 최종 스코어를 구한다. 이 때 리뷰는 가장 큰 최종 스코어를 가지는 카테고리로 분류된다.
따라서 정답이 주어진 라벨링 된 데이터(labeled data)를 활용한 기계학습 기법은 사용할 수 없으며, 리뷰에 구성된 단어만을 활용하여 카테고리를 판단하여야 한다. 본 논문에서 개발한 시스템은 게임 리뷰에 포함된 단어들을 대표적인 단어 임베딩 모델인 word2vec을 사용하여 벡터들로 변환하고, 이 벡터들과 각 주제간 유사도를 측정하여 가장 가까운 주제로 분류한다. 또한 리뷰가 하나 이상의 주제를 내포하는 경우를 고려하여 두 가지 카테고리로도 배정될 수 있도록 하였다.
본 논문에서 구현한 리뷰 자동 분류 시스템은 Gensim 라이브러리와 Python 3.7을 이용하여 구현되었다. 시스템의 분류 정확도는 수집한 리뷰 데이터 중 1,000개를 임의로 추출하였으며, 형태소 분석 결과 6개 이상의 유의미한 단어를 가진 리뷰만을 대상으로 정확도를 측정하였다.
또한 리뷰의 다중 분류에 사용되는 임계값을 다양하게 변화시키며 가장 좋은 성능을 보이는 값을 시스템 구현에 사용하였다. 본 논문에서 수집한 리뷰 데이터는 명시적인 정답이 주어지지 않은 데이터로, 리뷰의 구성 단어만을 활용하여 리뷰의 카테고리를 분류하는 시스템이다. 실험을 통하여 확장된 자카드 유사도와 최적의 임계값을 사용했을 때, 본 논문에서 개발한 시스템은 최대 95%까지의 분류 정확도를 보임을 확인하였다.
본 논문에서 제안하는 게임 리뷰 자동 분류 시스템은 입력받은 리뷰를 게임의 운영 및 시스템에 관한 8가지 주제(카테고리)로 자동으로 분류한다. [Figure 5]의 왼쪽 열은 본 시스템이 리뷰를 분류하는 8개의 카테고리를 나타낸다.
본 논문에서는 Python 기반의 Selenium 프레임워크와 BeautifulSoup 라이브러리를 사용하여 모바일 애플리케이션 구매 사이트인 구글플레이 스토어에 올라온 게임 리뷰들을 크롤링하였다. Selenium은 웹 애플리케이션을 위한 테스팅 프레임워크로 웹드라이버(webdriver) API를 이용하여 크롤링하고자 하는 해당 페이지의 스크롤을 자동으로 제어한다.
본 논문에서는 모바일 게임 리뷰를 수집하고, 수집된 리뷰들을 word2vec 단어 임베딩 모델을 활용하여 관련된 카테고리들로 자동 분류하는 시스템을 개발하였다. 최신 트렌드 분석과 신속한 사용자 요구사항 반영이 중요한 게임 소프트웨어에서는 다양한 주제들을 포함하고 있는 리뷰들을 주제별로 빠르게 파악하는 것이 중요하다.
100차원 벡터로 표현되는 X와 Y 간의 대표적인 유사도 측정 방법으로는 유클리디안 유사도, 코사인 유사도, 확장된 자카드 유사도 등이 있으며, 이들은 주어진 데이터의 특징에 따라 다른 성능을 보인다[4]. 본 논문에서는 상기 3개의 유사도 측정 방법을 사용하여 카테고리-단어 간 유사도 행렬을 각각 계산한 뒤, 실제 데이터에 대해 최고의 분류 정확도를 보이는 방법을 시스템 구현에 채택하였다. 제4.
두 번째 요소는 주어진 리뷰를 둘 이상의 카테고리로 분류할 때 사용되는 임계값의 크기로서, 임계값을 변화시켜가며 분류 성능의 변화를 측정하였다. 본 논문에서는 실험 결과 가장 좋은 성능을 보이는 유사도 측정 방법과 임계값을 실제 시스템 구현에 채택하였다.
[Figure 3]은 본 시스템의 수행 흐름을 나타내는 순서도이다. 본 시스템은 먼저 게임에 대한 사용자들의 리뷰 데이터를 크롤링(crawling)하여 수집한다. 이후 수집된 리뷰 데이터에서 전처리 과정을 통해 의미 있는 단어들만을 추출하여 이들을 word2vec을 통해 벡터로 임베딩한다.
본 실험에서는 리뷰의 다중 분류에 사용되는 임계값을 변화시켜가며 분류 성능의 변화를 측정하였다. 이 때 유사도 측정 방법으로는 앞 실험에서 가장 높은 분류 정확도를 보이는 확장된 자카드 유사도를 사용하였다.
본 절에서는 본 논문에서 사용한 유클리디안 유사도, 코사인 유사도, 확장된 자카드 유사도를 설명한다. n차원 공간상의 두 벡터를 각각 X=(x1, x2, x3, .
본 논문에서는 113개의 게임에 대한 리뷰를 수집하였으며, 수집한 리뷰는 약 총 7만 개이다. 수집된 리뷰는 작성자 이름, 내용, 평점, 유용한 정도, 날짜, 게임 카테고리로 구성된다.
실제 데이터를 이용한 다양한 실험을 통해, 본 논문에서는 95%의 분류 정확률로 가장 좋은 정확도를 보이는 확장된 자카드 유사도를 시스템 구현에 채택하였다.
앞 절에서 설명한 유사도 측정 방법을 사용하여 카테고리들을 각 단어들과 리뷰 내의 각 단어들 간의 유사도를 나타내는 행렬을 생성한다. 이 행렬의 원소 sij는 카테고리들을 나타내는 단어들 중 i번째 단어와 리뷰에 나타나는 단어들 중 j번째 단어 간의 거리를 나타내며 0에서 1사이의 값을 가진다.
본 실험에서는 리뷰의 다중 분류에 사용되는 임계값을 변화시켜가며 분류 성능의 변화를 측정하였다. 이 때 유사도 측정 방법으로는 앞 실험에서 가장 높은 분류 정확도를 보이는 확장된 자카드 유사도를 사용하였다. 다중 분류를 위한 임계값은 0을 시작으로 0.
본 논문에서는 리뷰 분류의 정확도를 최대화하기 위해 다양한 벡터 간 유사도 측정 방법들을 고려하였다. 이를 위해 현재 대표적인 유사도 측정 방법인 유클리디안 유사도, 코사인유사도, 확장된 자카드 유사도를 사용했을 때의 성능을 각각 측정하였으며, 이들 중 최고의 정확도를 보이는 확장된 자카드 유사도를 시스템 구현에 사용하였다. 또한 리뷰의 다중 분류에 사용되는 임계값을 다양하게 변화시키며 가장 좋은 성능을 보이는 값을 시스템 구현에 사용하였다.
35일 때 가장 높은 정확도를 보였다. 이에 따라 본 논문에서는 임베딩된 단어 간의 유사도를 계산할 때는 확장된 자카드 유사도를 사용하였으며, 다중 분류를 위한 임계값은 0.35로 설정하여 게임 리뷰 자동 분류 시스템을 구현하였다.
이 카테고리들은 모바일 게임 회사의 문의 사항 처리 사이트를 바탕으로 구성되었다. 인기 순위에 있는 다양한 모바일 게임 회사의 문의 사항 처리 사이트에서 가장 많이 언급된 문의들을 바탕으로 카테고리를 선정하였으며, 각 카테고리 당 각 카테고리를 나타내는 5개의 대표 단어들을 추가로 추출하였다. 이 대표 단어들은 단어 임베딩 결과 각 카테고리를 나타내는 단어와 가장 유사한 5개의 단어들로 구성되며, 각 카테고리에 대해 여러 개의 단어를 사용함으로써 리뷰 분류에 대한 정확도를 높인다.
시스템의 분류 정확도는 수집한 리뷰 데이터 중 1,000개를 임의로 추출하였으며, 형태소 분석 결과 6개 이상의 유의미한 단어를 가진 리뷰만을 대상으로 정확도를 측정하였다. 추출된 리뷰는 먼저 가장 가깝다고 판단되는 카테고리를 부여하여 정답으로 지정한 후, 시스템에서 판정한 카테고리와 몇 개나 동일한지 확인하였다. 추출된 리뷰에 따라 시스템의 성능이 달라지기 때문에 이 과정을 5번 반복한 후 평균값을 취하여 사용하였다.
대상 데이터
Twitter 라이브러리는 스칼라(Scala)로 쓰인 한국어 처리기로 정규화, 토큰화, 어근화, 어구 추출 과정을 통해 주어진 리뷰에 형태소를 태깅(tagging)한다. 리뷰가 너무 짧은 경우 명확한 분류가 어려워 형태소 분석 결과로 나온 토큰(token)이 6개 이상인 리뷰만 분석 대상으로 사용하였다. [Figure 4]는 수집된 데이터를 전처리한 예시로, 학습에 적합한 형태로 바꾸기 위해 리뷰에 포함된 각 단어들에 형태소를 태깅하고 불필요한 품사는 제거하였다.
따라서 본 논문에서는 게임 리뷰를 보다 명확하고 운영에 유용한 주제들로 자동 분류하는 시스템을 개발한다. 본 논문에서 수집한 리뷰 데이터는 해당 리뷰가 어느 카테고리인지에 대한 명시적인 정답이 주어지지 않은 데이터이다. 따라서 정답이 주어진 라벨링 된 데이터(labeled data)를 활용한 기계학습 기법은 사용할 수 없으며, 리뷰에 구성된 단어만을 활용하여 카테고리를 판단하여야 한다.
BeutifulSoup으로 생성된 객체는 이를 바탕으로 HTML 파일의 여러 요소에 접근하여 원하는 부분만 자동으로 크롤링한다. 본 논문에서는 113개의 게임에 대한 리뷰를 수집하였으며, 수집한 리뷰는 약 총 7만 개이다. 수집된 리뷰는 작성자 이름, 내용, 평점, 유용한 정도, 날짜, 게임 카테고리로 구성된다.
데이터처리
7을 이용하여 구현되었다. 시스템의 분류 정확도는 수집한 리뷰 데이터 중 1,000개를 임의로 추출하였으며, 형태소 분석 결과 6개 이상의 유의미한 단어를 가진 리뷰만을 대상으로 정확도를 측정하였다. 추출된 리뷰는 먼저 가장 가깝다고 판단되는 카테고리를 부여하여 정답으로 지정한 후, 시스템에서 판정한 카테고리와 몇 개나 동일한지 확인하였다.
추출된 리뷰는 먼저 가장 가깝다고 판단되는 카테고리를 부여하여 정답으로 지정한 후, 시스템에서 판정한 카테고리와 몇 개나 동일한지 확인하였다. 추출된 리뷰에 따라 시스템의 성능이 달라지기 때문에 이 과정을 5번 반복한 후 평균값을 취하여 사용하였다.
이론/모형
리뷰로부터 형태소가 태깅된 단어들을 추출하고 나면, 이 단어들을 word2vec의 Skip-gram방식을 사용하여 벡터들로 임베딩한다. Skip-gram방식은 중심 단어로 주변 단어를 예측하는 방법으로 본 논문에서는 한 번에 학습할 단어의 개수인 윈도우(window)를 2로 지정하여 모델을 생성하였다.
본 논문에서 시스템 구현 시 단어 임베딩 모델로 word2vec을 사용하였다. 추후 연구에는 다른 임베딩 모델들과의 성능 비교를 통하여 단어 임베딩 성능 향상과 고속화 방법에 대하여 연구할 계획이다.
확장된 자카드 유사도는 타니모토 계수(Tanimoto coefficient)[14]로도 알려져 있는 확장된 자카드 계수(extended Jaccard coefficient)를 사용하여 유사도를 측정한다. 확장된 자카드 계수는 두 집합 간의 유사도를 나타내며, 기존의 자카드 계수를 연속적인 수에 적용 가능하도록 확장한 것이다.
성능/효과
지금까지 설명한 유사도 측정 방법 및 임계값 변화에 따른 성능 비교 실험 결과, 확장된 자카드 유사도가 95%의 정확도로 유클리디안 유사도와 코사인 유사도에 비하여 높은 성능을 보였다. 또한 확장된 자카드 유사도를 사용했을 때, 다중 분류를 위한 임계값이 0.35일 때 가장 높은 정확도를 보였다. 이에 따라 본 논문에서는 임베딩된 단어 간의 유사도를 계산할 때는 확장된 자카드 유사도를 사용하였으며, 다중 분류를 위한 임계값은 0.
[Figure 5]의 왼쪽 열은 본 시스템이 리뷰를 분류하는 8개의 카테고리를 나타낸다. 본 시스템을 활용하면 게임 운영자는 수많은 리뷰를 하나씩 읽어보지 않고도 리뷰들을 자동으로 분류하여 시스템의 개선에 효과적으로 사용할 수 있다.
코사인 유사도와 확장된 자카드 유사도는 둘 다 높은 정확도를 보이며, 이 중에서도 확장된 자카드 유사도를 사용했을 때 평균 95%로 가장 높은 정확도를 보였다. 실험 결과 본 응용에서는 두 벡터의 유사도는 각 원소 값의 차이보다는 두 벡터의 방향성의 차이가 더 큰 영향을 미치는 것으로 판단된다. 하지만 두 벡터의 방향성만을 고려하는 코사인 유사도와는 달리, 확장된 자카드 유사도는 두 벡터 간의 방향성과 크기 차이를 모두 고려하기 때문에 본 응용에서 가장 좋은 성능을 보인 것으로 판단된다.
실험 결과 유클리디안 유사도의 경우, 다른 두 방법에 비해 좋지 않은 성능을 보이며 리뷰 수가 상대적으로 ‘구성’과 ‘서버’카테고리에만 집중되어 있음을 볼 수 있다.
본 논문에서 수집한 리뷰 데이터는 명시적인 정답이 주어지지 않은 데이터로, 리뷰의 구성 단어만을 활용하여 리뷰의 카테고리를 분류하는 시스템이다. 실험을 통하여 확장된 자카드 유사도와 최적의 임계값을 사용했을 때, 본 논문에서 개발한 시스템은 최대 95%까지의 분류 정확도를 보임을 확인하였다.
지금까지 설명한 유사도 측정 방법 및 임계값 변화에 따른 성능 비교 실험 결과, 확장된 자카드 유사도가 95%의 정확도로 유클리디안 유사도와 코사인 유사도에 비하여 높은 성능을 보였다. 또한 확장된 자카드 유사도를 사용했을 때, 다중 분류를 위한 임계값이 0.
실험 결과 유클리디안 유사도의 경우, 다른 두 방법에 비해 좋지 않은 성능을 보이며 리뷰 수가 상대적으로 ‘구성’과 ‘서버’카테고리에만 집중되어 있음을 볼 수 있다. 코사인 유사도와 확장된 자카드 유사도는 둘 다 높은 정확도를 보이며, 이 중에서도 확장된 자카드 유사도를 사용했을 때 평균 95%로 가장 높은 정확도를 보였다. 실험 결과 본 응용에서는 두 벡터의 유사도는 각 원소 값의 차이보다는 두 벡터의 방향성의 차이가 더 큰 영향을 미치는 것으로 판단된다.
실험 결과 본 응용에서는 두 벡터의 유사도는 각 원소 값의 차이보다는 두 벡터의 방향성의 차이가 더 큰 영향을 미치는 것으로 판단된다. 하지만 두 벡터의 방향성만을 고려하는 코사인 유사도와는 달리, 확장된 자카드 유사도는 두 벡터 간의 방향성과 크기 차이를 모두 고려하기 때문에 본 응용에서 가장 좋은 성능을 보인 것으로 판단된다.
후속연구
최신 트렌드 분석과 신속한 사용자 요구사항 반영이 중요한 게임 소프트웨어에서는 다양한 주제들을 포함하고 있는 리뷰들을 주제별로 빠르게 파악하는 것이 중요하다. 따라서 입력된 리뷰들이 각각 어떤 카테고리에 해당되는 것인지, 리뷰의 입력과 동시에 시스템이 자동적으로 파악 및 분류해줄 수 있다면 게임의 신속한 개선에 큰 도움이 될 것이다.
본 논문에서 시스템 구현 시 단어 임베딩 모델로 word2vec을 사용하였다. 추후 연구에는 다른 임베딩 모델들과의 성능 비교를 통하여 단어 임베딩 성능 향상과 고속화 방법에 대하여 연구할 계획이다.
질의응답
핵심어
질문
논문에서 추출한 답변
코사인 유사도는 언제 주로 사용되는가?
코사인 유사도는 두 벡터가 이루는 내각의 크기로 유사도를 측정한다. 코사인 유사도는 문서들을 각각 해당 문서에 나타나는 단어들의 빈도수들로 구성된 벡터로 표현했을 때, 이들 간의 유사도를 구하는 데 많이 사용된다. 이 경우 코사인 유사도는 유사한 의미나 주제를 가지는 문서를 찾아내는데 매우 효과적인 것으로 알려져 있으며, 데이터 마이닝이나 정보 검색(information retrieval) 분야에서 많이 사용된다.
Word2vec이란 무엇인가?
Word2vec은 한 문장 내에서 단어의 등장 빈도 데이터를 이용하여 단어 자체가 가지는 의미를 다차원 벡터 공간에 임베딩하는 모델이다. NNLM(Neural Net Language Model)을 기반으로 하여 대량의 문서 말뭉치(corpus)를 빠르게 학습하여 처리할 수 있다[10].
Word2vec의 학습 방식에는 무엇이 있는가?
NNLM(Neural Net Language Model)을 기반으로 하여 대량의 문서 말뭉치(corpus)를 빠르게 학습하여 처리할 수 있다[10]. 학습 방식은 주변 단어를 이용하여 중간 단어를 예측하는 방법인 CBOW(Continuous Bag of Word)와 중간에 있는 단어를 이용하여 주변 단어를 예측하는 Skip-Gram 방식이 있다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.