재난문자는 재난 발생 시 국가에서 해당 지역에 있는 시민들에게 보내는 문자 메시지다. 재난문자의 발송 건수는 점점 증가하여, 불필요한 재난문자가 많이 수신됨에 따라 재난문자를 차단하는 사람들이 증가하고 있다. 이와 같은 문제를 해결하기 위하여, 본 연구에서는 재난문자를 재난 유형별로 자동으로 분류하고 수신자에 따라 필요한 재난의 재난문자만 수신하게 하는 딥러닝 모델을 제안한다. 제안 모델은 재난문자를 KoBERT를 통해 임베딩하고, LSTM을 통해 재난 유형별로 분류한다. [명사], [명사 + 형용사 + 동사], [모든 품사]의 3가지 품사 조합과 제안 모델, 키워드 분류, Word2Vec + 1D-CNN 및 KoBERT + FFNN의 4종류 분류 모델을 활용하여 재난문자를 분류한 결과, 제안 모델이 0.988954의 정확도로 가장 높은 성능을 달성하였다.
재난문자는 재난 발생 시 국가에서 해당 지역에 있는 시민들에게 보내는 문자 메시지다. 재난문자의 발송 건수는 점점 증가하여, 불필요한 재난문자가 많이 수신됨에 따라 재난문자를 차단하는 사람들이 증가하고 있다. 이와 같은 문제를 해결하기 위하여, 본 연구에서는 재난문자를 재난 유형별로 자동으로 분류하고 수신자에 따라 필요한 재난의 재난문자만 수신하게 하는 딥러닝 모델을 제안한다. 제안 모델은 재난문자를 KoBERT를 통해 임베딩하고, LSTM을 통해 재난 유형별로 분류한다. [명사], [명사 + 형용사 + 동사], [모든 품사]의 3가지 품사 조합과 제안 모델, 키워드 분류, Word2Vec + 1D-CNN 및 KoBERT + FFNN의 4종류 분류 모델을 활용하여 재난문자를 분류한 결과, 제안 모델이 0.988954의 정확도로 가장 높은 성능을 달성하였다.
Disaster alerts are text messages sent by government to people in the area in the event of a disaster. Since the number of disaster alerts has increased, the number of people who block disaster alerts is increasing as many unnecessary disaster alerts are being received. To solve this problem, this s...
Disaster alerts are text messages sent by government to people in the area in the event of a disaster. Since the number of disaster alerts has increased, the number of people who block disaster alerts is increasing as many unnecessary disaster alerts are being received. To solve this problem, this study proposes a deep learning model that automatically classifies disaster alerts by disaster type, and allows only necessary disaster alerts to be received according to the recipient. The proposed model embeds disaster alerts via KoBERT and classifies them by disaster type with LSTM. As a result of classifying disaster alerts using 3 combinations of parts of speech: [Noun], [Noun + Adjective + Verb] and [All parts], and 4 classification models: Proposed model, Keyword classification, Word2Vec + 1D-CNN and KoBERT + FFNN, the proposed model achieved the highest performance with 0.988954 accuracy.
Disaster alerts are text messages sent by government to people in the area in the event of a disaster. Since the number of disaster alerts has increased, the number of people who block disaster alerts is increasing as many unnecessary disaster alerts are being received. To solve this problem, this study proposes a deep learning model that automatically classifies disaster alerts by disaster type, and allows only necessary disaster alerts to be received according to the recipient. The proposed model embeds disaster alerts via KoBERT and classifies them by disaster type with LSTM. As a result of classifying disaster alerts using 3 combinations of parts of speech: [Noun], [Noun + Adjective + Verb] and [All parts], and 4 classification models: Proposed model, Keyword classification, Word2Vec + 1D-CNN and KoBERT + FFNN, the proposed model achieved the highest performance with 0.988954 accuracy.
이와 같은 문제를 해결하기 위해 본 연구에서는 재난 문자를 재난 유형(Disaster Type)별로 자동으로 분류하고, 수신자에 따라 필요한 재난의 재난문자만 수신하게 하는 딥러닝 기반 모델을 제안한다. 이를 위하여 재난문자를 행정안전부에서 시행한 ‘재난문자 방송 기준 및 운영 규정’ 에 명시된 재난 유형으로 구분한 후, KoBERT를 통해 임 베딩(Embedding)하고 LSTM을 통해 재난문자를 분류하는 모델을 제시한다.
제안 방법
본 모델은 Word2Vec을 통한 단어 임베딩으로 생성된 재 난문 자의 벡터를 입력값으로 하여, 1D-CNN을 사용하여 분류하는 모델이다. 한국어에 맞추어 사전 학습된 Word2Vec 모델이 있으나, 본 연구에서는 ‘코로나19’, ‘선별 진료소’ 등 새로운 단어들의 임베딩을 위해 재난 문자 데이터로 직접 학습시킨 Word2Vec 모델을 이용하였다.
본 연구에서는 수신자에 따라 필요한 재난의 재난 문자만 수신할 수 있도록 하기 위해 ‘재난문자 운영 매뉴얼’에 따라 재난문자의 재난 유형을 구분하고 품사 조합과 분류모델에 따른 성능을 측정하였다
본 연구에서는 재난문자를 [명사], [명사+형용사+동사], [모든 품사]의 3가지 품사 조합과 키워드 분류, Word2Vec + 1D-CNN, KoBERT + FFNN, KoBERT + LSTM 4종류의 분류 모델을 이용하여 분류하고 각각의 성능을 비교 분석하였다. [Table 5~7]은 품사 조합에 따른 4종류의 분류 모델 성능 평가 결과이다.
본 연구에서는 재난문자를 분류하기 위한 비교 모델로 키워드 기반 분류 모델, Word2Vec을 통한 임베딩으로 얻어낸 벡터를 1D-CNN을 통해 분류하는 모델, KoBERT를통한 임베딩을 사용하여 FFNN을 통해 분류하는 모델을 구축하였다.
본 연구에서는 재난문자를 전염병, 태풍, 호우, 한파, 교통, 홍수, 대설, 폭염, 산사태, 기타의 10개 분류로 분류하기 위해 키워드 추출로 얻은 키워드로 분류하는 모델, Word2Vec과 1D-CNN을 활용한 모델, KoBERT와 각각 FFNN, RNN을 활용한 모델까지 4종류의 분류 모델을 사용하여 성능을 비교하였다. 13, 578개의 재난문자 데이터 중 90%인 12, 220개를 학습 셋으로, 나머지 10%인 1, 358 개를 테스트 셋으로 사용하였다.
이를 위하여 재난문자를 행정안전부에서 시행한 ‘재난문자 방송 기준 및 운영 규정’ 에 명시된 재난 유형으로 구분한 후, KoBERT를 통해 임 베딩(Embedding)하고 LSTM을 통해 재난문자를 분류하는 모델을 제시한다
이를 위하여 재난문자를 행정안전부에서 시행한 ‘재난문자 방송 기준 및 운영 규정’ 에 명시된 재난 유형으로 구분한 후, KoBERT를 통해 임 베딩(Embedding)하고 LSTM을 통해 재난문자를 분류하는 모델을 제시한다. 제안 모델의 분류 성능은 비교 모델들과 실험적으로 비교하며. 추가적으로 재난문자의 형태소분석을 통해 [명사], [명사+형용사+동사], [모든 품사]의 3 가지 품사 조합에 따른 분류 성능을 비교하여 재난문자 분류에 대한 최적의 모델을 제시한다.
제안 모델의 분류 성능은 비교 모델들과 실험적으로 비교하며. 추가적으로 재난문자의 형태소분석을 통해 [명사], [명사+형용사+동사], [모든 품사]의 3 가지 품사 조합에 따른 분류 성능을 비교하여 재난문자 분류에 대한 최적의 모델을 제시한다.
본 연구에서는 수신자에 따라 필요한 재난의 재난 문자만 수신할 수 있도록 하기 위해 ‘재난문자 운영 매뉴얼’에 따라 재난문자의 재난 유형을 구분하고 품사 조합과 분류모델에 따른 성능을 측정하였다. 품사 조합으로는 [명사], [명사 + 형용사 + 동사], [모든 품사]의 3가지를 비교하였고, 분류 모델로는 키워드 분류, Word2Vec + 1D-CNN, KoBERT + FFNN, KoBERT + LSTM 4종류를 선정하여 비교 실험을 진행하였다. 실험 결과, [모든 품사]를 활용한 제안 모델(KoBERT + LSTM)이 정확도 0.
대상 데이터
본 연구에서는 재난문자를 전염병, 태풍, 호우, 한파, 교통, 홍수, 대설, 폭염, 산사태, 기타의 10개 분류로 분류하기 위해 키워드 추출로 얻은 키워드로 분류하는 모델, Word2Vec과 1D-CNN을 활용한 모델, KoBERT와 각각 FFNN, RNN을 활용한 모델까지 4종류의 분류 모델을 사용하여 성능을 비교하였다. 13, 578개의 재난문자 데이터 중 90%인 12, 220개를 학습 셋으로, 나머지 10%인 1, 358 개를 테스트 셋으로 사용하였다.
본 연구에서는 행정안전부에서 2019년 5월 31일에 시행한 ‘재난문자 방송 기준 및 운영 규정’의 재난문자 방송송출 기준에 명시되어 있는 재난 명칭에 따라, 수집한 재난 문자 데이터를 태풍, 호우, 홍수 등 총 20개의 재난 유형으로 라벨링 하였다
은 수집한 76, 562개의 재난 문자 데이터를 재난 유형에 따라 라벨링 한 결과를 정렬한 것이며, 개수가 400개 미만인 재난 유형은 기타로 합산하였다. 전염병에 대한 재난문자가 67, 984개로 다른 재난 유형의 재난문자 총합보다 많아, 딥러닝 모델의 학습 과정에서 클래스 간의 균형을 위해 전염병 재난문자 중 5,000개를 무작위로 선별하여 총 13,578개의 데이터를 학습에 사용하였다.
이론/모형
재난문자를 10개의 재난 유형으로 분류하기 위한 LSTM은 KoBERT가 768차원으로 임베딩 결과를 출력하기 때문에 입력층이 768차원, 은닉층이 64차원, 출력층이 10차원으로 설정하였다. Optimizer는 Adam, 손실 함수(Loss Function)는 Cross-Entropy를 사용하였으며, Epoch 수는 15, Batch 크기는 64, 학습률(Learning Rate)은 5e-5, Dropout은 0.3으로 설정하여 학습하였다.
한국어에 맞추어 사전 학습된 Word2Vec 모델이 있으나, 본 연구에서는 ‘코로나19’, ‘선별 진료소’ 등 새로운 단어들의 임베딩을 위해 재난 문자 데이터로 직접 학습시킨 Word2Vec 모델을 이용하였다. Word2Vec 모델 생성을 위하여 Skip-gram 방식을 사용하여 100차원의 벡터에 임베딩 시켰으며, 윈도우 크기는 7 을 사용하였다. 학습시킨 Word2Vec 모델을 통해 얻어낸 벡터를 크기가 2, 3, 5인 1차원 필터를 각각 512개씩 사용한 1D-CNN 모델의 입력으로 하고, Epoch 수는 20, Batch 크기는 100, 학습률은 0.
본 연구에서는 재난 유형별 추출한 키워드 중 상위 15 개의 키워드를 사용하여, 재난문자가 각 키워드를 포함하는 경우 Graph Ranking 알고리즘으로 계산된 키워드의 rank 점수를 합산하여 가장 높은 점수를 가진 재난 유형으로 분류하는 모델을 사용한다.
성능 평가의 척도로 Accuracy(정확도)와 Precision(정밀도), Recall(재현율), F1-Score를 사용하였다. Accuracy 는 분류한 전체 재난문자 중 각 재난에 맞게 분류한 재난 문자의 비율이고(식 (1)), Precision은 각 재난 유형으로 분류한 데이터 중 그 재난으로 맞게 분류한 데이터(True Positive) 의 비율들의 평균이며(식 (2)), Recall은 각 재난 유형의 실제 데이터 중 그 재난으로 맞게 분류한 데이터의 비율들의 평균이다(식 (3)).
한국어에 맞추어 사전 학습된 Word2Vec 모델이 있으나, 본 연구에서는 ‘코로나19’, ‘선별 진료소’ 등 새로운 단어들의 임베딩을 위해 재난 문자 데이터로 직접 학습시킨 Word2Vec 모델을 이용하였다
성능/효과
성능 평가 항목인 Accuracy, Precision, Recall, F1-Score를 종합적으로 고려했을 때, [명사], [명사+형용사+동사], [모든 품사] 모든 경우에서 KoBERT + LSTM 모델이 가장 좋은 성능을 보였다. 그 다음으로는 KoBERT + FFNN 모델, Word2Vec + 1D-CNN 모델, 키워드 분류모델 순으로 성능이 좋았으며, 키워드 분류 모델이 임 베딩과 딥러닝 모델을 활용한 나머지 3종류의 모델보다 성능이 현저하게 낮은 것으로 평가되었다. 이는 재난문자 송출 권한을 가진 기관이 늘어나면서 내용과 형식이 다양해져, 추출한 키워드를 포함하지 않는 경우가 많기 때문인 것으로 분석되었다.
또한, KoBERT를 통해 임베딩 한 KoBERT + FFNN 모델과 제안 모델에 비해 Word2Vec을 통해 임베딩 한 Word2Vec + 1D-CNN 모델의 성능이 비교적 낮은 것으로 나타났다. 이를 통해 본 연구의 실험에서 임베딩 모델이 분류 모델의 성능에 영향을 많이 끼치는 것으로 판단할 수 있다.
98434로 가장 높은 성능을 보였다. 또한, 임 베딩 모델로 KoBERT를 사용한 두 모델과 Word2Vec을사용한 모델 간의 성능 차이가 비교적 큰 것으로 보아, 임 베딩 모델이 본 연구의 분류 모델 성능에 많은 영향을 끼친 것으로 판단할 수 있다.
아울러, 각재 난 유형별로 주의보, 경보 등의 세부 유형을 두어 이를 자동으로 분류하는 연구가 필요하다. 또한, 재난문자의 개체명 인식을 통한 시간 및 장소 데이터를 활용하면 관심 지역의 재난 정보를 확인하거나, 개인 동선 정보를 결합하여 확진자와의 접촉 여부를 실시간으로 알려주는 등의 사용자 맞춤형 재난 정보 제공 서비스로의 확장이 가능하다.
성능 평가 항목인 Accuracy, Precision, Recall, F1-Score를 종합적으로 고려했을 때, [명사], [명사+형용사+동사], [모든 품사] 모든 경우에서 KoBERT + LSTM 모델이 가장 좋은 성능을 보였다. 그 다음으로는 KoBERT + FFNN 모델, Word2Vec + 1D-CNN 모델, 키워드 분류모델 순으로 성능이 좋았으며, 키워드 분류 모델이 임 베딩과 딥러닝 모델을 활용한 나머지 3종류의 모델보다 성능이 현저하게 낮은 것으로 평가되었다.
품사 조합으로는 [명사], [명사 + 형용사 + 동사], [모든 품사]의 3가지를 비교하였고, 분류 모델로는 키워드 분류, Word2Vec + 1D-CNN, KoBERT + FFNN, KoBERT + LSTM 4종류를 선정하여 비교 실험을 진행하였다. 실험 결과, [모든 품사]를 활용한 제안 모델(KoBERT + LSTM)이 정확도 0.988954, F1-Score 0.98434로 가장 높은 성능을 보였다. 또한, 임 베딩 모델로 KoBERT를 사용한 두 모델과 Word2Vec을사용한 모델 간의 성능 차이가 비교적 큰 것으로 보아, 임 베딩 모델이 본 연구의 분류 모델 성능에 많은 영향을 끼친 것으로 판단할 수 있다.
실험 결과를 종합하면, 최종적으로 [모든 품사]를 활용한 KoBERT + LSTM 모델이 98.8954%의 정확도로 가장 좋은 성능을 내었다. 하지만 정형화되어있고 전처리 과정을 거친 데이터임에도 불구하고 분류하지 못하는 재난 문자 데이터가 여전히 존재한다는 한계는 있다.
앞서 언급한 것과 같이 딥러닝을 이용한 모델들에서는 [모든 품사] 데이터를 활용하였을 때 가장 우수한 성능을 보였는데, 이는 재난문자와 같이 정형화된 한국어 말뭉치를 분류할 때 단어의 앞뒤 맥락을 같이 파악하는 특성을 가진 임 베딩과 분류 과정에서 ‘와’, ‘가’와 같은 조사와 ‘매우’, ‘빨리’ 등의 부사 등이 같이 포함되는 것이 문장의 유형을 파악하는데 유리하기 때문인 것으로 판단된다.
또한, KoBERT를 통해 임베딩 한 KoBERT + FFNN 모델과 제안 모델에 비해 Word2Vec을 통해 임베딩 한 Word2Vec + 1D-CNN 모델의 성능이 비교적 낮은 것으로 나타났다. 이를 통해 본 연구의 실험에서 임베딩 모델이 분류 모델의 성능에 영향을 많이 끼치는 것으로 판단할 수 있다. 키워드 분류 모델을 제외한 나머지 3종류의 모델은 [모든 품사]가 다른 품사 조합에 비해 성능이 좋은 반면에 키워드 분류 모델은 [명사]가 가장 성능이 좋았다.
이를 통해 본 연구의 실험에서 임베딩 모델이 분류 모델의 성능에 영향을 많이 끼치는 것으로 판단할 수 있다. 키워드 분류 모델을 제외한 나머지 3종류의 모델은 [모든 품사]가 다른 품사 조합에 비해 성능이 좋은 반면에 키워드 분류 모델은 [명사]가 가장 성능이 좋았다. 그 이유는 키워드 추출 과정에서 ‘바랍니다’처럼 모든 재난에공통적으로 등장하는 단어가 상위 키워드로 추출됨으로써 모델의 정확도를 떨어뜨리기 때문인 것으로 분석되었다.
하지만 정형화되어있고 전처리 과정을 거친 데이터임에도 불구하고 분류하지 못하는 재난 문자 데이터가 여전히 존재한다는 한계는 있다. [Table 10]은 가장 좋은 성능을 낸 [모든 품사]를 활용한 KoBERT + LSTM 모델의 재난 유형별 Precision, Recall, F1-Score를 나타낸 것이며, 종합적으로 교통에 대한 재난문자의 분류 성능이 가장 낮은 것으로 나타났다
후속연구
그러나 제안 모델은 다른 재난 유형에 강한 영향력이 있는 단어가 포함된 경우 재난문자를 틀리게 분류할 가능성이 있다는 한계점이 존재하는데, 이는 더 많은 재난 문자 데이터를 활용하거나 재난문자의 의미역 분석을 통한 보다 정확한 문장 이해를 통해 개선할 수 있다. 아울러, 각재 난 유형별로 주의보, 경보 등의 세부 유형을 두어 이를 자동으로 분류하는 연구가 필요하다.
그러나 제안 모델은 다른 재난 유형에 강한 영향력이 있는 단어가 포함된 경우 재난문자를 틀리게 분류할 가능성이 있다는 한계점이 존재하는데, 이는 더 많은 재난 문자 데이터를 활용하거나 재난문자의 의미역 분석을 통한 보다 정확한 문장 이해를 통해 개선할 수 있다. 아울러, 각재 난 유형별로 주의보, 경보 등의 세부 유형을 두어 이를 자동으로 분류하는 연구가 필요하다. 또한, 재난문자의 개체명 인식을 통한 시간 및 장소 데이터를 활용하면 관심 지역의 재난 정보를 확인하거나, 개인 동선 정보를 결합하여 확진자와의 접촉 여부를 실시간으로 알려주는 등의 사용자 맞춤형 재난 정보 제공 서비스로의 확장이 가능하다.
참고문헌 (17)
Criteria and Operating Regulations for Disaster Text Broadcasting, http://www.law.go.kr/LSW//admRulLsInfoP.do?admRulSeq2100000179035. (accessed May 10, 2021)
H. Lee, Y. Byun, S. Chang, and S. Choi, "A Study on the Investigation of the User Awareness of Korean Public Alert System", Proc. of the 2020 Conference of the Korean Institute of Broadcast and Media Engineers, pp. 8-9, Nov. 2020.
H. Lee, Y. Byun, S. Chang, and S. Choi, "Requirement Analysis of Korean Public Alert Service using News Data", Journal of Broadcast Engineering of the Korean Institute of Broadcast and Media Engineers, pp. 994-1003, Nov. 2020. DOI: 10.5909/JBE.2020.25.6.994
T. Mikolov, K. Chen, G. Corrado, and J. Dean, "Efficient Estimation of Word Representations in Vector Space", Journal of International Conference on Learning Representations, Jan. 2013. arXiv:1301.3781v3
J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding", Proc. of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1, pp. 4171-4186, Jun. 2019. arXiv:1810.04805v2
SKTBrain, Korean BERT pre-trained cased(KoBERT) [Online]. Available: https://github.com/SKTBrain/KoBERT. (downloaded 2021, Mar. 30)
Y. Kim, "Convolutional Neural Networks for Sentence Classification", Proc. of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1746-1751, Oct. 2014. arXiv:1408.5882v2
I. Sutskever, O. Vinyals, and Q. V. Le, "Sequence to Sequence Learning with Neural Networks", Proc. of the 2014 Conference on Neural Information Processing Systems (NIPS), Dec. 2014. arXiv:1409.3215v3
H. Sak, A. W. Senior, and F. Beaufays, "Long short-term memory recurrent neural network architectures for large scale acoustic modeling", Proc. of 15th Annual Conference of the International Speech Communication Association (INTERSPEECH), pp.338-342, Sep. 2014. arXiv:1402.1128v1
D. Kim, and M. Koo, "Categorization of Korean News Articles Based on Convolutional Neural Network Using Doc2Vec and Word2Vec", Journal of the Korean Institute of Information Scientists and Engineers (KIISE), Vol. 44, No. 7, pp.742-747, Jul. 2017. DOI: 10.5626/JOK.2017.44.7.742
Y. Oh, M. Kim, and W. Kim, "Korean Movie-review Sentiment Analysis Using Parallel Stacked Bidirectional LSTM Model", Journal of the Korean Institute of Information Scientists and Engineers (KIISE), Vol. 46, No. 1, pp.45-49, Jan. 2019. DOI: 10.5626/JOK.2019.46.1.45
C. Park, and C. Lee, "Sentimental Analysis of Korean Movie Review using Variational Inference and RNN based on BERT", Journal of KIISE Transactions on Computing Practices, Vol. 25, No. 11, Nov. 2019. DOI: 10.5626/KTCP.2019.25.11.552
D. Bahdanau, K. Cho, and Y. Bengio, "Neural Machine Translation by Jointly Learning to Align and Translate", Proc. of the 3rd International Conference on Learning Representations, 2015. arXiv:1409.0473v7
J. Yim and B. Hwang, "Predicting Movie Success based on Machine Learning Using Twitter", Journal of KIPS Transactions on Software and Data Engineering, pp. 263-270, Jul. 2014. DOI: 10.3745/KTSDE.2014.3.7.263
H. Kim, S. Cho, and P. Kang, "KR-WordRank : An Unsupervised Korean Word Extraction Method Based on WordRank", Journal of the Korean Institute of Industrial Engineers, Vol. 40, No.1, pp. 18-33, Feb. 2014. DOI: 10.7232/jkiie.2014.40.1.018
S. Ji, H. Yun, P. Yanardag, S. Matshushima, and S. V. N. Vishwanathan, "WordRank: Learning Word Embeddings via Robust Ranking", Proc. of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 658-668, Jan. 2016. arXiv:1506.02761v4
J. Kim, H. Jo, and B. Lee, "A Comparison Study on Performance of Malicious Comment Classification Models Applied with Artificial Neural Network", Journal of Digital Contents Society, Vol. 20, No.7, pp. 1429-1437, Jul. 2019. DOI: 10.9728/dcs.2019.20.7.1429
※ AI-Helper는 부적절한 답변을 할 수 있습니다.