• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (ept. of Convergence Technology for Heavy Industries, University of Ulsan, Korea)



Text Mining, Deep Learning, Failure Diagnosis, CNN, Model Optimization

1. 서 론

최근 컴퓨터의 연산능력이 향상되고, 이에 따라 빅데이터가 등장하게 되면서 인공지능(Artificial Intelligence, AI) 기술이 빠르게 발전하고 있다. 대표적으로 구글(Google)은 인공지능 비서 서비스인 구글 어시스턴트(Google Assistant)를 통해 로봇이 미용실 예약을 스스로 해내는 모습을 보여주었으며(2018 구글 개발자 회의), 아마존(Amazon)은 AI로 작동하는 자동 물류 로봇을 통해 주문 센터 직원들이 직접 상품을 확인하는 단계를 건너뛰게 해주었다. 이러한 인공지능의 급격한 발전에는 머신 러닝(Machine Learning)이라는 기술이 중요한 역할을 담당하고 있다. 머신 러닝은 알고리즘과 기술을 개발하여 기계가 학습할 수 있도록 하는 분야를 말한다. 최근 다양한 머신 러닝 기법들이 개발·연구되고 있으며, 그 중 딥 러닝(Deep Learning)이 대표적이다. 머신 러닝의 한 종류인 딥 러닝은 인공 신경망(Artificial Neural Network, ANN)의 발전된 모델로 볼 수 있다. 1958년 Rosenblatt가 퍼셉트론(Perceptron)을 제안한 이후로, 딥 러닝 모델들은 여러 분야에서 주목할 만한 결과를 얻었다. Krizhevsky(1)는 지도학습과 심층 신경망을 통해 컴퓨터 비전에서 성능 향상을 끌어냈고, Graves(2)는 RNN 기반 모델을 통해 음성 인식에서 의미 있는 결과를 만들었다. Conneau(3)는 심층 CNN 기반 모델을 구축하여 텍스트 분석기의 성능을 높였다. 이와 같은 데이터 분석기법의 발전에 따라 '데이터' 그 자체의 가치가 높아지고 있다. 특히 앞서 언급한 구글 어시스턴트의 미용실 예약 사례처럼 기계가 인간의 언어를 학습할 수 있게 되면서 텍스트 데이터의 활용방법이 다양해지고 있다.

텍스트 마이닝은 "비정형 텍스트 데이터에서 자연어처리 기술에 기반하여 유용한 정보를 추출·가공하는 것을 목적으로 하는 기술"이다(지형 공간정보체계 용어사전). 텍스트 마이닝은 주로 번역이나 문서분류, 예측 등에 적용되고 있다. Nagi and Lee(4)는 정책 결정에 텍스트 마이닝을 적용하는 방법을 제안하였으며, 김유영·송 민(5)은 텍스트 마이닝을 이용한 감성분석으로 영화 리뷰를 분석하고, 영화의 흥행과 리뷰에서 나타나는 감성에 대한 상관관계를 확인하였다. 이 외에도 호텔 리뷰 데이터를 분석함으로써 텍스트 마이닝을 관광분야에 적용하는 연구(6), 뉴스 헤드라인 분석을 통한 외환 시장 예측 연구(7)등 텍스트 마이닝에 관한 많은 연구가 진행됐다. 하지만 텍스트 마이닝을 '고장진단' 분야에 적용한 사례를 찾아보긴 힘들다. 텍스트 데이터는 사람이 직접 기록해야 하는 데이터이기 때문에, 수치 데이터보다 수집 방법이 까다롭기 때문이다. 또한, 데이터를 잘 모았더라도 이를 통해 어떤 가치를 얻을 수 있는지 모르는 경우도 있다. 그러나 번거롭지만 사람이 직접 글자로 기록해야만 하는 데이터들이 많다. 그리고 그 귀중한 데이터를 활용할 수 있어야 한다. 따라서 텍스트 마이닝의 다양한 활용방법에 관한 연구가 필요하다.

마찬가지로 산업현장에서도 다양한 목적을 위해 텍스트 데이터가 수집되고 있다. 예를 들어 현대일렉트릭(Hyundai Electric & Energy Systems)은 텍스트 데이터를 기반으로 모든 전력설비장치에 대한 고장진단 테스트를 진행하고 있다. 만일 테스트에서 고장 발생 시, 조치관은 ‘고장원인부서’(고장 원인을 제공한 부서 또는 회사)를 찾고 고장에 대한 조치를 맡기게 되는데, 고장원인부서를 찾는 데에 평균 2주~3주의 긴 시간이 소요된다. 이렇게 긴 시간이 소요되는 이유는 한 제품에 10,000가지가 넘는 부품이 들어가며, 여러 협력업체와 부품을 거래하기 때문에 원인 제공 업체를 특정 짓는 것이 어렵기 때문이다. 그 결과 납기 기한 내 제품을 출고하는 것이 어려워지는 경우가 발생하기도 한다. 이러한 문제점을 해결하기 위해, 본 논문에서는 텍스트 마이닝 분석 기법을 활용하여 고장진단 데이터를 추출·가공하고, 고장원인부서를 예측하는 머신 러닝·딥 러닝 알고리즘을 구축할 계획이다. 이를 위해 구체적으로 수행된 본 연구의 핵심 연구내용은 다음과 같다.

* 예측 알고리즘의 개발 및 검증에 사용된 텍스트 데이터는 현대일렉트릭에서 최근 20년간 수집·발행한 전력설비 부적합보고서(Non-Conformance Report)로부터 획득함.

* 데이터를 가공할 때, 데이터의 편향이나 차원축소 등의 문제를 고려해야할 필요가 있다. 그래서 본 논문에서는 이러한 문제를 해결하기위해 Oversampling 기법과 단어-빈도순위 치환 방법을 사용한다.

* 예측 알고리즘을 개발함에 있어 가장 큰 고려사항은 그 알고리즘의 신뢰성이다. 그래서 본 논문에서는 알고리즘의 예측율을 신뢰할 수준까지 높이기 위해 다중예측구조 기법을 제안한다.

* 마지막으로 본 연구는 최근 수집된 100개의 고장진단 시험데이터를 기반으로 예측 알고리즘의 최종성능검증을 실시하고, 이를 바탕으로 본 연구의 성과를 확인한다.

최종적으로, 본 논문의 고장원인부서 예측 알고리즘을 통해 현장에서는 (1) 조치시간 단축, (2) 인건비 및 비용 최소화, (3) 통계 및 시각화를 통한 협력업체 선정기준 제공 등과 같은 기대효과를 얻을 수 있다.

2. 이론적 배경

2.1 텍스트 마이닝 개념 및 연구 사례

전 세계에서 하루에 10억 기가바이트에 이르는 데이터가 쏟아지고 있으며, 이 중 90%는 구조화되어 있지 않은 비정형 데이터이다(8). 텍스트 데이터는 대표적인 비정형 데이터로써, 텍스트 데이터를 활용하여 가치를 얻기 위해 다양한 연구가 진행되고 있다. 텍스트 마이닝은 "비/반정형 데이터에 대하여 자연언어처리(Natural Language Processing) 기술과 문서 처리 기술을 적용하여 유용한 정보를 추출, 가공하는 것을 목적으로 하는 기술이다"(9). Feldman과 Dagan(10)에 의해 텍스트 마이닝이 처음 언급되었으며, 4차 산업혁명이 대두하면서 더욱 주목받고 있는 분야이다. 텍스트 마이닝을 통하여 거대한 문장 데이터에서 각 단어의 중요도나 단어 간의 유사도를 파악할 수 있으며, 텍스트 데이터를 벡터 데이터로 정형화하고 머신 러닝 모델을 통해 분석할 수 있다. 즉, 컴퓨터가 대용량의 언어소스와 규칙적으로 나열된 알고리즘을 사용하여 인간의 언어를 분석하고 그 안에 숨겨진 정보를 찾아낸다. 주요 응용 분야는 앞서 서론에서 언급하였듯이 번역이나 문서분류, 예측 등에 사용되고 있다.

Berry and Linoff(11)는 "데이터 마이닝이란 의미 있는 패턴과 규칙을 발견하기 위하여 자동화/반자동화된 도구를 사용하여 대량의 데이터를 탐색하고 분석하는 과정"이라고 정의하였다. 데이터 마이닝과 텍스트 마이닝의 차이점은 분석하는 데이터의 형태에 있다. 정형 데이터에 마이닝 기법을 적용한다면 데이터 마이닝, 비정형 데이터인 텍스트 데이터에 마이닝 기법을 적용한다면 텍스트 마이닝으로 구분한다. 이 둘은 유사한 개념이지만 데이터 마이닝과 달리 텍스트 마이닝은 문서나 이메일, HTML과 같은 비구조적 데이터들을 처리할 수 있다는 장점이 있다. 실생활에서 만들어지는 대부분 데이터들이 비구조적 데이터이기 때문에, 텍스트 마이닝은 다양한 분야에서 적용되고 있다.

Feldman과 Dagan의 연구(10) 이후로, 다양한 텍스트 마이닝 연구가 이어졌다. 연구배경에서 언급한 사례 이외에도 L.Hirschman(12)은 텍스트 마이닝을 통해 Biocuration 작업 효율을 향상시켰으며, A.Nikfarjam(13)은 텍스트 마이닝으로 뉴스 데이터를 분석하고 주식 시장 예측 연구를 했다. 또한 N.Zhong(14)은 텍스트 마이닝의 패턴 발견 기법에 관해 연구하였으며, D.Bholat(15)은 텍스트 마이닝을 은행에 적용할 수 있는 방법을 제안하였다. 국내에서의 텍스트 마이닝 연구는, 텍스트 마이닝 기법 간의 성능 비교 연구(16), 온라인 게임 사용자의 요구사항 우선순위 도출에 관한 연구(17), 텍스트 마이닝과 기계 학습을 이용한 국내 가짜뉴스 예측 연구(18) 등이 있다.

2.2 텍스트 마이닝 기법

텍스트 마이닝 기법은 전처리, 분류, 군집화, 시각화 등의 분야를 포함하고 있다. 먼저 텍스트 전처리(Text Preprocessing)는 텍스트에서 중요한 용어를 인식하여 추출하는 토큰화 과정부터, 불용어 사전을 통해 추출된 용어들을 필터링해주는 과정, CounterVectorizer, TfidfVectorizer등의 라이브러리를 통해 텍스트를 수치화하고 모델에 적용 가능한 형태로 만들어 주는 과정 등을 포함한다.

다음으로 텍스트 분류(Text Classification)는, 텍스트를 입력으로 받아 텍스트가 어떤 종류의 범주(Class)에 속하는지를 구분하는 작업이다. 참고문헌 (19)에서 제시한 텍스트 분류 기술에 따라, 분류 알고리즘에 입력되는 데이터들은 전처리와 특징추출 과정을 거쳐준다. 이때, 알고리즘이 분류해야 할 범주가 두 가지라면 이진 분류(Binary Classification)라고 하며, 세 가지 이상이라면 다중 클래스 분류(Multi-Class Classification)라고 한다(20). 예를 들어 본 연구는 191가지의 부서와 회사들을 범주로 하므로 다중 클래스 분류에 속한다.

그리고 텍스트 군집화(Text Clustering)는 유사한 문서들을 하나의 군집으로 묶어주는 것이다. 보편적으로 LDA(Latent Dirichlet Allocation) 알고리즘을 사용하여 문서들을 군집화하며, 문서 내의 단어별 빈도수와 가중치를 분석한다. 군집화를 통해 텍스트 문서 관리 자동화, 정보 검색 성능 개선 등의 효과를 볼 수 있다.

마지막으로 텍스트 시각화(Text Visualization)는 데이터 시각화(Data Visualization) 연구의 한 분야로, 방대한 데이터 종류 중에서도 텍스트 데이터를 시각화의 소재로 활용한 경우를 일컫는다(21). 뉴스, 신문, 간행물, 웹사이트 등 텍스트로 이루어진 모든 텍스트 데이터를 이용자가 직관적으로 파악할 수 있게 표현해준다. 대표적인 텍스트 시각화 방법으로, 워드 클라우드(Word Cloud), 소셜 그래프(Social Graph) 등이 있다.

2.3 고장진단 이론 및 연구 사례

고장진단이란 동작의 오류를 일으키는 결함의 위치와 종류를 추론해내는 과정을 말한다(22). 고장진단기술은 크게 모델 기반과 데이터 기반 기술로 나눌 수 있는데, 최근 제조 시스템의 복잡도가 증가하고 IoT 기술의 발전으로 다수의 데이터 확보가 가능해지면서 데이터 기반 고장진단기술의 비율이 증가하고 있다(23). 이에 따라 인공지능을 활용한 데이터 기반의 고장진단 연구가 활발히 이루어지고 있다.

관련 연구 사례로는 인공지능 기반 자동변속기용 고장진단 알고리즘 구현(24), Neural Network 기반 모터 베어링 고장진단(25), 인공신경망 기반 변압기 고장진단(26) 등이 있다. 하지만 텍스트 데이터를 활용한 고장진단 연구는 아직 시도되지 않았다. 따라서 본 논문에서는 텍스트 마이닝과 딥 러닝을 통해 전력설비 고장 원인 예측 알고리즘을 구축하고 실용성을 검증함으로써 텍스트 데이터의 다양한 활용방법을 제안한다.

2.4 머신 러닝과 딥 러닝

머신 러닝은 데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 과학(또는 예술)이다(27). 기계를 학습시키는 이유는, 학습을 통해 기계가 특정 업무를 수행할 수 있도록 만들어서 해당 작업을 쉬지 않고 빠르게 하기 위함이다. 머신 러닝은 크게 '지도 학습(Supervised Learning)', '비지도 학습(Unsupervised Learning)', '강화 학습(Reinforcement Learning) '세 가지로 분류할 수 있다. 먼저, 지도 학습은 훈련 데이터에 대한 레이블(Label)을 통해 알고리즘을 학습시키는 방법이다. 레이블은 데이터에 대한 답을 명시한 것으로, 예를 들어 개와 고양이 사진을 분류하는 학습을 한다면 '개'와 '고양이'가 레이블이 된다. 분류(Classification)와 회귀(Regression)가 전형적인 지도 학습이며, 데이터의 형태와 클래스 구분에 따라 분류와 회귀로 나누어진다.

다음으로 비지도 학습은 정답을 알려주지 않고 기계가 스스로 학습하는 방법이다. 예를 들어 레이블 없이 개와 고양이 사진만 입력하고 학습시키면, 기계는 이 사진이 무엇인지 알 수 없지만 비슷한 사진끼리 군집화 한다. 비지도 학습은 계층 군집(Hierarchical Clustering) 알고리즘을 사용하여 더 작은 그룹으로 세분화할 수도 있으며, 시각화 알고리즘을 통해 데이터가 어떻게 조직되어 있는지 이해하고 예상치 못한 패턴을 발견할 수도 있다.

마지막으로 강화 학습은 앞의 두 학습 종류와는 매우 다른 종류의 알고리즘이다. 지도 학습과 비지도 학습이 데이터에 기반하여 학습을 진행하였다면, 강화 학습은 알고리즘의 결과에 따라 보상(Reward)과 벌점(Penalty)을 받으면서 큰 보상을 받기 위한 최상의 전략을 스스로 학습한다. 딥마인드(DeepMind)의 알파고(AlphaGo) 프로그램이 강화 학습의 좋은 예이다.

그리고 머신 러닝의 한 종류인 딥 러닝은 인공 신경망에 기반하여 만들어진 개념으로써 여러 개의 퍼셉트론을 연결하는 과정에서 시작되었다. 전형적인 신경망은 입력 계층(Input Layer)과 중간 계층(Hidden Layer), 출력 계층(Output Layer)의 3층 구조로 구성되어 있는데, 이 구조로는 복잡한 정보의 처리가 어렵다. 그래서 중간 계층을 복층으로 만드는 심층학습이라는 방법이 고안되었는데 그것을 딥 러닝이라 한다. 1958년 Frank Rosenblatt이 퍼셉트론을 활용한 선형 분류기를 제안하였고, 1986년 D.E. Rumelhart 등 3명이 중간 계층을 추가하여 선형 분류기의 한계를 극복한 다층 퍼셉트론(Multi-Layer Perceptron)을 제시하였다(28). 그리고 순방향 연산 후 오차를 역방향으로 다시 전달하는 역전파 알고리즘(Backpropagation Algorithm)을 통하여 딥 러닝은 다시 한 번 진화할 수 있었다. 최근에는 G.Hinton이 사전 학습(Pretraining)과 드롭아웃(Dropout) 방법을 사용하여 딥 러닝의 문제점을 해결하기도 했다. 여러 학자의 노력으로 딥 러닝은 크게 진화할 수 있었고, 이미지 인식, 음성 인식, 추천 시스템, 자연어 처리와 같은 핵심 분야들에 대하여 놀라운 성과를 내고 있다.

2.5 주요 모델

본 연구에서 사용한 핵심적인 머신 러닝·딥 러닝 모델은 Logistic Regression, Recurrent Neural Network(RNN), Convolutional Neural Network(CNN)가 있다. 먼저 Logistic Regression은 분류에서 사용할 수 있는 회귀 알고리즘이다. 출력층의 시그모이드 함수를 통해 0과 1 사이의 값을 출력하고, 출력값에 따라 어떤 클래스에 속할지 예측한다. 모델을 식으로 나타내면 아래의 식(1)과 같다.

(1)
$$\hat{y}_{i}=P\left(y_{i}=1\right)=\frac{1}{1+e^{\left(-W * x_{i}\right)}}$$

[$\hat y_{i}$ : $y_{i}$가 1일 확률, $y_{i}$ : 목푯값(예측 목표), $W$ : 가중치($w_{1}...w_{d}$), $X_{i}$ : $d$차원의 특징 벡터]

특징 벡터 $X_{i}$와 목푯값인 $y_{i}$로 이루어진 훈련셋 n개의 집합에 대하여 가중치 $W$가 주어졌을 때 $y_{i}$가 1일 확률을 추정한다. 그리고 계산된 확률이 0.5보다 큰 부류를 최종 예측값으로 출력한다. Logistic Regression은 주로 이진 분류 문제에 사용되지만, 다중 분류로 확장할 수 있다.

그림. 1. 전체 연구 과정 블록 다이어그램

Fig. 1. A flow diagram of the detailed research process

../../Resources/kiee/KIEE.2020.69.8.1225/fig1.png

다음으로 RNN은 텍스트 문장이나 시계열 자료, 생물학의 염기서열 등 이산적 순차열(Sequence) 자료를 위해 고안된 것이다(29). 순차열은 연속된 구성요소들 사이에 의존관계가 존재한다는 특성이 있다. 이러한 특징의 순차열 데이터를 분석하기 위해, RNN은 피드포워드 신경망과 달리 출력을 다시 입력으로 받는 구조를 가진다. 즉, 참고문헌 (30)에서 기술된 바와 같이, 현재 타임스텝에서 순환뉴런의 출력값은 이전 타임스텝의 상태를 모두 고려한 후 생성된다. 이와 같은 특성 덕분에 RNN은 텍스트나 시계열 데이터와 같은 순차열 데이터의 분석에 강점이 있다. 본 연구에서는 RNN의 대표적 구조인 LSTM(Long Short-Term Memory)을 사용하였다.

마지막으로 CNN은 음성 인식이나 이미지 분석에 주로 사용되는 심층 신경망의 한 종류로써, 합성곱 계층(Convolutional Layer)과 풀링 계층(Pooling Layer)이 추가된다는 특징이 있다. 참고문헌 (31)에서 설명된 것과 같이, CNN은 합성곱 계층과 풀링 계층을 반복하다가 완전연결 계층을 거쳐서 출력 계층으로 연결된다. 합성곱 계층은 한 층의 활성화 값들을 다른 층으로 추출·전달하는 일종의 필터 역할을 하며, 가중치를 조정한다. 또한, 패딩(Padding)과 스트라이드(Stride) 등의 파라미터를 통해 데이터의 공간적 크기를 조절할 수 있다. 합성곱 계층은 입력 데이터의 형상을 유지하기 때문에 이미지 데이터처럼 형상을 가지는 데이터를 학습하는 데 효과적이다. 그리고 풀링 계층은 패딩과 스트라이드의 역할과 같이 데이터의 공간적 크기를 줄이고 매개변수의 양을 감소시키는 역할을 담당한다. 풀링 방법으로는 Max Pooling과 Average Pooling이 있는데, Max Pooling은 설정한 영역 내에서 최댓값을 구하고, Average Pooling은 평균값을 구한다. 이렇게 도출된 출력값은 완전연결 계층으로 전달되고, 각 레이블로 나뉜다. 본 연구에서는 1D-Convolution CNN을 사용하였고, 모델의 세부구성은 Embedding Layer, Dropout Layer, Convolutional Layer(1D), Pooling Layer(1D), Dense Layer 등으로 구성된다.

3. 고장원인부서 예측 알고리즘 개발

아래의 블록 다이어그램 [그림 1]은 본 논문의 전체 연구과정을 보여준다. 구체적으로, [그림 1]에 표기된 각 과정에 대한 간략한 설명은 다음과 같다.

(1) 수집된 데이터의 의미를 파악하여 각 데이터 내 Feature 간 관계를 파악하는 과정이다.

(2) 과정(1)을 통해 얻은 데이터에 대한 이해도를 기반으로 연구목표를 설정하는 과정이다. 자료제공 실무부서와의 협의를 통해 수집된 데이터로부터 고장원인부서를 예측하는 알고리즘 개발을 연구목표로 설정함.

(3) 데이터로부터 고장원인부서 예측에 사용될 Feature를 추출하는 과정이다. 추출된 Feature들은 다음과 같은 조건을 만족해야한다: 1. 조치관이 고장진단 시험을 수행하기 전에 수집되어야 한다. 2. 고장원인부서와 명확한 상관관계가 있어야 한다.

(4) 예측에 사용될 데이터와 예측할 데이터를 정리한 후 불필요한 데이터는 삭제하고 부족한 데이터는 보충하는 과정이다.

(5) Tokenization 과정은 데이터를 연구목적에 부합되게 전처리(Preprocessing)하는 과정으로 본 논문에서는 Word Tokenizer을 사용하여 문장을 단어단위로 분리한다.

(6) Vectorization 과정은 과정(7)을 수행하기 직전, 과정(5)에서 추출한 단어를 벡터화하는 과정이다. 본 논문은 단어별 가중치 조정을 위해 TF-IDF(Term Frequency-Inverse Document Frequency)방식을 사용한다.

(7) 분류에 효과적인 다양한 머신 러닝 모델 중 본 연구에 적합한 모델을 채택하여, 과정(6)에서 벡터화된 데이터를 분석하는 과정이다. 본 논문은 SVC, KNeighborsClassifier, LogisticRegression 등 9가지 머신 러닝 모델을 사용한다.

(8) 대용량 데이터의 사용으로 인해 발생될 수 있는 딥 러닝 모델의 과부화 방지를 위해, 과정(5)로부터 토큰화된 단어들을 빈도순위로 치환하는 과정이다.

(9) 본 연구에 적합한 딥 러닝 모델을 채택하여 과정(8)에서 얻은 데이터를 분석하는 과정이다. 본 논문은 분석속도 향상을 위해 GPU를 사용하여, RNN, CNN 등 4개 모델의 성능을 측정한다.

(10) 파라미터 튜닝, 드롭아웃, 레이어 재배치를 통해 설계된 모델을 최적화하는 과정이다. 이 과정에서 본 논문은 모델의 예측율을 90% 이상 향상시킬 수 있는 다중예측모델을 제안한다.

(11) 과정(10)에서 제시한 알고리즘을 바탕으로 조치관이 고장원인부서를 검출하는데 용이하도록 GUI 프로그래밍을 하는 과정이다.

3.1 데이터 전처리

데이터 전처리는 데이터를 분석 가능한 형태로 변형하는 과정이다. 특히 실제 산업현장에서 수집되는 데이터(본 연구의 경우 현대일렉트릭의 전력기기 고장진단 시험 데이터)는 매우 거친 상태이기 때문에, 알고리즘 개발자는 전처리 과정에 대부분의 시간을 쏟아야 할 수도 있다.

3.1.1 데이터 확인 및 목표 설정

먼저, 주어진 데이터를 확인하고, 이를 통해 어떤 가치를 얻을지 목표를 설정한다. 수집된 데이터를 활용하여 어떤 가치를 만들어낼지 정하는 일은 데이터 분석에서 가장 중요한 일이다. 따라서 분석할 데이터에 대해 완벽히 이해하고, 데이터에 적합한 연구목표를 설정해가는 과정이 필수적이다. 분석할 데이터는 20년간 수집된 전력기기 고장진단 보고서로써, 신고자, 부적합 내용, 조치 방안, 위험등급을 포함한 총 45개 종류의 자료가 기록되어 있었다. 그리고 각 데이터가 무엇을 의미하는지 조사하고 데이터 간의 상관관계를 가정해보았으며, 마지막으로 현직자와의 회의를 통해 고장원인부서를 예측하는 것으로 목표를 설정할 수 있었다.

다음으로 예측모델의 활용방법을 아래의 [그림 2]에 나타냈다. [그림 2]와 같이, 조치관이 예측모델의 추천값을 참고하여 고장원인부서를 찾는 시간을 단축하는 것이 구축할 예측모델의 목적이다. 이를 통해 현장에서는 다음과 같은 기대효과를 얻을 수 있다: (1) 조치시간 단축, (2) 인건비 및 비용 최소화, (3) 고장원인부서 통계 및 시각화를 통한 협력업체 선정 기준 제공.

그림. 2. 예측모델 활용법

Fig. 2. How to use predictive models

../../Resources/kiee/KIEE.2020.69.8.1225/fig2.png

3.1.2 Feature 추출

Feature 추출은 고장원인부서 예측에 사용될 데이터들을 선정하고 추출하는 과정이다. 선정된 Feature들은 다음과 같은 기준을 만족하여야 한다: (1) 조치관이 고장진단 시험을 수행하기 전에 Feature들이 수집되어야 함, (2) Feature들이 고장원인부서와 명확한 상관관계가 있어야 함. 기준 (1)의 이유는 예측모델의 효율성과 실용성을 확보하기 위함이고, 기준 (2)의 이유는 예측모델의 신뢰도를 높이기 위함이다. 최종적으로 선정된 Feature에는 신고자, 부적합 내용, 원인, 불량 유형코드 이렇게 4가지가 포함된다.

3.1.3 데이터 교정

다음으로 데이터 교정 과정을 수행한다. 이 과정을 통해 불필요한 데이터는 제거하고 표본이 적은 데이터는 Oversampling하여 전체 표본수를 증가시키는 과정이다. 구체적으로, 최근 6년간 고장원인부서에 등장하지 않은 회사는 현재 거래하지 않는 회사로 취급하여 삭제하고 오타 등 특잇값을 제거한다. 또한, 고장원인부서에 아주 드물게 등장한(10회 미만) 회사는 RandomOverSampler 라이브러리를 사용하여 데이터 수를 증가시킨다. 그 결과 총 191가지 고장원인부서 중 '저압전동기'가 4110회로 가장 많이 등장했으며, 교정 전 데이터의 수가 38,147개에서 교정 후 33,194개로 12.9% 감소했다. 이처럼 본 논문에서 분석한 데이터는 특정 클래스에 집중된 분포 형태를 보인다. 따라서 클래스 불균형 문제를 해결하는 것이 본 연구의 중요 과제가 될 것이다.

3.1.4 Tokenization

Tokenization은 텍스트를 토큰이라는 작은 부분으로 나누는 과정으로, 자연어 처리에서는 중요한 단계이다. 본 논문에서는 Tokenization 단계에서 문장을 단어별로 나누는데, 이런 방법을 단어 토큰화(Word Tokenization)라고 한다. KoNLPy 패키지의 형태소 분석기인 Okt(Open Korea Text)를 사용하여 한글 단어를 토큰화하고, 영어 단어는 NLTK 패키지의 Word_Tokenize를 사용하여 토큰화한다. NLTK(Natural Language Toolkit)는 가장 널리 쓰이는 자연어 처리 및 문서 분석용 파이썬 패키지이며, KoNLPy는 한글 자연어 처리를 위해 만들어진 한글형태소 분석기이다. 또한, 토큰화를 수행하는 동시에 정규화를 해주어야 한다. 정규화는 문장 부호 제거, 영어의 대·소문자 변환, 숫자 변환, 약어 전개 등을 적용하는 것을 말한다. 이러한 과정을 거쳐준 결과의 예시를 아래의 [표 1]에 나타냈다.

표 1. 토큰화 예시

Table 1. Example of tokenization

토큰화 전

OIL TANK LINE NOZZLE 용접부 누유요구사양(기준) : 누유되지 않을 것 현상(문제점) : OIL TANK ( 300LITER ) 상부 NOZZLE 용접 핀홀 발생부위에서 OIL 뉴유 됨.

토큰화 후

oil, tank, line, nozzle, 용접, 부, 누, 유요, 사양, 기준, 누유, 것, 현상, 문제점, oil, tank, liter, 상부, nozzle, 용접, 핀홀, 발생, 부위, 누유

3.1.5 Feature Engineering

Feature Engineering이란 초기 데이터, 또는 말뭉치로부터 자연어 처리 관련 문제를 해결하는 데 도움이 되는 Feature들을 생성하는 작업이다. 이 작업을 통해 문자열 데이터를 수치형 데이터로 변환하여, 데이터가 분석 가능한 형태가 되도록 한다. 본 연구에서 Feature Engineering 과정은 크게 두 가지로 구분할 수 있으며, TF-IDF(Term Frequency-Inverse Document Frequency) 가중치를 이용한 Vectorization과 단어-빈도순위 치환 단계가 이에 속한다. 먼저 Vectorization은 각 단어 토큰들에게 좌푯값을 할당하여 수치화하는 단계이다. 그리고 Vectorization에 사용된 TF-IDF 기법은 단어의 빈도와 역 문서 빈도를 사용하여 문서 내 단어마다 가중치를 매기는 방법이다. 즉, 다른 문서에 잘 등장하지 않는 단어가 특정 문서에서 자주 등장한다면 높은 가중치를 받을 수 있으며, 이를 수식으로 표현하면 아래의 식(2)와 같다.

(2)
$w_{x,\:y}=tf_{x,\:y}\times\log(\dfrac{N}{df_{x}})$

[$w_{x,\:y}$ : $y$문서 안에서 $x$단어의 가중치, $tf_{x,\:y}$ : $x$단어가 $y$문서 안에서 등장한 횟수, $df_{x}$ : $x$단어를 포함하고 있는 문서의 개수, $N$ : 모든 문서의 개수]

아래의 [표 2]는 TF-IDF 가중치를 적용한 Vectorization 결과를 이해하기 쉽도록 변형한 자료이다. 토큰화된 단어마다 고유한 좌푯값을 갖고 있으며, 좌푯값의 크기는 중복값을 제외한 모든 단어의 개수이다. 따라서 단어의 종류만큼 데이터의 차원(행의 수)이 늘어나게 되고, 이렇게 완성된 벡터 행렬은 머신 러닝 모델들에 사용된다. 하지만, TF-IDF 알고리즘으로 만들어진 데이터는 차원이 너무 크기 때문에 매우 심층적인 구조를 가진 딥 러닝 모델에 적용하기에는 적절하지 않다. 따라서 딥 러닝 모델을 사용하기 위해 TF-IDF 가중치 대신 단어-빈도순위 치환을 적용하여 데이터를 가볍게 만들어 줄 필요가 있다. 본 알고리즘의 가장 큰 특징 중 하나인 단어-빈도순위 치환은 말 그대로 단어를 빈도순위로 치환해주는 것이다. 토큰화된 단어들의 등장 횟수별로 빈도순위를 측정하고 각 단어를 대응되는 빈도순위로 치환함으로써, Vectorization을 적용했을 때와 비교하여 데이터 용량을 97.3%만큼 대폭 줄일 수 있었다. 치환이 끝난 뒤에는 Keras의 pad_sequences 함수를 사용하여 모든 문서의 길이를 500으로 동일하게 맞추었다. 아래의 [표 3]은 단어를 빈도순위로 치환한 결과의 예시이다. 본 연구에서는 [표 3]과 같이, 텍스트 데이터를 정형화하여 길이가 500인 1차원 배열 형태로 변환하였고, 이를 딥 러닝 모델의 입력값으로 사용하였다.

표 2. 벡터화 예시

Table 2. Example of vectorization

제목

flange

취부

사양

Ring

치수

가공품

누락

...

Doc1

0.124

0.623

0.272

0.118

0.276

0

0.658

0.258

...

Doc2

0.088

0

0

0.084

0

0.490

0

0

...

표 3. 단어-빈도순위 치환 예시

Table 3. Example of word-frequency substitution

1

2

3

4

5

6

7

...

500

Doc1

606

213

68

10

854

40

25

...

0

Doc2

1058

24

76

1

79

25

7

...

0

3.2 데이터 분석

다음으로 분석 모델을 결정해야 한다. 본 연구에서는 Scikit-learn 라이브러리 기반의 머신 러닝 모델과 Keras 프레임워크 기반의 딥 러닝 모델들을 사용하였다. 먼저, 앞서 추출한 Feature(독립변수)들과 고장원인부서(종속변수) 간의 상관관계를 확인하기 위해 이상적인 조건에서 실험한 후 결과를 확인한다. 그리고 실제 조건에서 모델별 성능을 측정하고, 높은 예측율을 기록한 모델들을 선별하여 모델 최적화 단계를 진행한다. 추가적으로, 본 연구에서는 다중예측모델을 기반으로 예측율을 향상시키는 방법을 소개한다.

3.2.1 GPU 가속

심층 신경망으로 이루어진 딥 러닝에서는, 모델의 파라미터 개수에서나 처리해야 할 데이터의 양에서나 그 비용이 매우 클 수 있다. 따라서 학습 알고리즘 구현을 가속하고 압축하는 여러 가지 방법이 제안되고 있다. 그 대표적인 방법 중 하나가 본 논문에서처럼 GPU를 사용하는 것이다. GPU는 CPU보다 병렬화 능력이 훨씬 뛰어나다. 3차원 좌표들을 이용하여 그래픽 장면을 화면에 렌더링하기 위해 개발된 GPU는 렌더링 속도를 높이기 위해 다수의 행렬 곱셈을 병렬로 수행하도록 설계되었으며, 시간이 지나면서 GPU는 그래픽 렌더링 이외의 용도로 사용할 수 있을 정도로 크게 발전했다. 그리고 그래픽 응용 프로그램처럼 신경망 구현은 많은 횟수의 행렬 곱셈을 수행해야 하므로 GPU의 좋은 활용 대상이 된다(29). GPU를 사용하기 위해 NVIDIA의 CUDA(Compute Unified Device Architecture)가 제공하는 라이브러리를 사용하여 GPU를 활용할 수 있지만 코드 수정의 번거로움이 있다. 이러한 코드 수정의 과정을 거치지 않으려면 CUDA의 라이브러리 대신 Google Colab을 사용하는 방법이 있다. Google이 제공하는 클라우드 기반의 무료 Jupyter Notebook 개발 환경인 Google Colab은 딥 러닝 응용프로그램을 개발하기 위해 보편적으로 사용되고 있다. 본 논문에서는 Google Colab을 활용하여 딥 러닝 모델을 구축한다.

3.2.2 이상적인 조건에서의 실험

본격적인 연구에 앞서 추출한 데이터가 고장원인부서와 강한 상관관계가 있는지 확인하기 위해, 전체 고장원인부서 191가지 중 5가지만 추출하여 예측해보고 그 결과를 확인한다. 먼저, 머신 러닝은 분류에 효과적인 모델 9가지를 사용하며, 아래의 [표 4]는 머신 러닝을 통해 상위 5개 고장원인부서를 예측했을 때의 모델별 예측율이다. 그 결과 LogisticRegression 모델을 사용하였을 때 예측율이 97.90%로 가장 높았다.

다음으로 딥 러닝 모델들을 위와 동일하게 이상적인 조건에서 실험한다. 모델은 MLP(Multi-Layer Perceptron), RNN(Recurrent Neural Network, LSTM), CNN(Convolutional Neural Network, 1D-Convolution), LSTM과 CNN(1D) 구조를 활용한 R-CNN(Region-based Convolutional Neural Network)(33)을 사용한다. 독립변수와 종속변수간의 상관관계를 확인하기 위한 실험이므로, 머신 러닝과 딥 러닝 모두 최적화 과정은 거쳐주지 않았다. 아래의 [표 5]와 그림은 딥 러닝을 통해 상위 5개 고장원인부서만을 예측했을 때, 모델별 예측율과 학습 그래프이다.

표 4. 머신 러닝 모델 예측율 비교(ideal conditions)

Table 4. Predictive rate comparison of machine learning models(ideal conditions)

Model

Score

Model

Score

SVC

0.8525

RandomForestClassifier

0.9545

KNeighborsClassifier

0.9259

AdaBoostClassifier

0.8577

MultinomialNB

0.9751

BaggingClassifier

0.9359

DecisionTreeRegression

0.9277

ExtraTreesClassifier

0.9558

LogisticRegression

0.9790

표 5. 딥 러닝 모델 예측율 비교(ideal conditions)

Table 5. Predictive rate comparison of deep learning models(ideal conditions)

Model

Score

Model

Score

MLP

0.9635

CNN

0.9832

RNN

0.9690

R-CNN

0.9757

그림. 4. MLP 모델 학습 그래프(ideal conditions)

Fig. 4. MLP Model Learning Graph(ideal conditions)

../../Resources/kiee/KIEE.2020.69.8.1225/fig4.png

그림. 5. RNN 모델 학습 그래프(ideal conditions)

Fig. 5. RNN Model Learning Graph(ideal conditions)

../../Resources/kiee/KIEE.2020.69.8.1225/fig5.png

그림. 6. CNN 모델 학습 그래프(ideal conditions)

Fig. 6. CNN Model Learning Graph(ideal conditions)

../../Resources/kiee/KIEE.2020.69.8.1225/fig6.png

그림. 7. R-CNN 모델 학습 그래프(ideal conditions)

Fig. 7. R-CNN Model Learning Graph(ideal conditions)

../../Resources/kiee/KIEE.2020.69.8.1225/fig7.png

위의 그래프에서 초록색과 파란색 선은 각각 검증셋과 훈련셋의 예측율을, 빨간색 선과 노란색 선은 각각 검증셋과 훈련셋의 손실을 의미한다. 실험 결과를 통해 이상적인 조건에서 모델이 잘 작동하고 있음을 확인할 수 있다. 사용한 딥 러닝 모델은 모두 12Epoch로 학습시켰으며, 본 연구의 데이터에는 1D-Convolution CNN 모델이 98.32%의 예측율로 가장 정확하다.

3.2.3 실제 조건에서의 실험

이상적인 조건에서의 실험을 통해 독립변수와 종속변수간의 상관관계가 있음을 확인하고, 전체 191가지 고장원인부서를 모두 예측한다. 그리고 성능이 좋은 모델 위주로 파라미터 튜닝, 레이어 재배치, 드롭아웃 등 최적화 과정을 적용한다. 이상적인 조건에서의 실험과 마찬가지로 LogisticRegression 등 9가지 머신 러닝 모델과 1D-Convolution CNN 등 4가지 딥 러닝 모델을 적용한다. 아래의 [표 6]과 그림은 머신 러닝과 딥 러닝을 통해 전체 고장원인부서를 예측했을 때의 모델별 예측율과 학습 그래프이다.

[그림 4]-[그림 11]의 초록색과 파란색 선은 각각 검증셋과 훈련셋의 예측율을, 빨간색 선과 노란색 선은 각각 검증셋과 훈련셋의 손실을 의미한다. 머신 러닝 모델보다 딥 러닝 모델의 예측율이 더 높게 측정되었으며, MLP는 너무 빨리 훈련데이터에

표 6. 머신 러닝, 딥 러닝 모델 예측율 비교(actual condition)

Table 6. Predictive rate comparison of machine learning and deep learning models (actual condition)

Model

Score

Model

Score

SVC

0.6070

RandomForestClassifier

0.7273

KNeighborsClassifier

0.6090

AdaBoostClassifier

0.1982

MultinomialNB

0.6820

BaggingClassifier

0.7450

DecisionTreeRegression

0.6998

ExtraTreesClassifier

0.7375

LogisticRegression

0.7537

MLP

0.7307

CNN

0.7861

RNN

0.6738

R-CNN

0.7093

그림. 8. MLP 모델 학습 그래프(actual condition)

Fig. 8. Learning graph of MLP model(actual condition)

../../Resources/kiee/KIEE.2020.69.8.1225/fig8.png

그림. 9. RNN 모델 학습 그래프(actual condition)

Fig. 9. Learning graph of RNN model(actual condition)

../../Resources/kiee/KIEE.2020.69.8.1225/fig9.png

과적합 되고 RNN과 R-CNN은 CNN에 비하여 성능이 다소 낮다. 이상적인 조건에서의 실험과 마찬가지로 본 연구의 데이터에는 CNN이 가장 적합한 모습을 보인다. 따라서 CNN 모델을 중심으로 Parameter 조정, Dropout, Layer 재배치 등의 모델 최적화 과정을 거쳐준다. 그 결과 1D-Convolution CNN 모델로 12Epoch만큼 훈련했을 때, 고장원인부서 예측율은 78.61%로 측정됐다.

그림. 10. CNN 모델 학습 그래프(actual condition)

Fig. 10. Learning graph of CNN model(actual condition)

../../Resources/kiee/KIEE.2020.69.8.1225/fig10.png

그림. 11. R-CNN 모델 학습 그래프(actual condition)

Fig. 11. Learning graph of R-CNN model(actual condition)

../../Resources/kiee/KIEE.2020.69.8.1225/fig11.png

다음으로 모델의 예측율을 더욱 높이기 위해 다중예측모델을 구축한다. 본 논문에서 제안하는 다중예측모델은 첫 번째 모델이 잘 예측하지 못하는 범위를 보완하기 위해 두 번째, 세 번째 모델을 만들어 여러 번 예측하는 구조이다. 첫 번째 모델이 예측에 실패한 데이터를 모아서, 그 데이터만 사용하여 다시 훈련하는 방식으로 새로운 모델을 만들었다. 새 모델을 통해 한 번 더 예측하는 것은, 소수 클래스에 대한 예측율을 보완해주므로 클래스 불균형이 심각한 본 연구 데이터에 적합한 구조가 될 수 있다. 비록 2~3개의 예측값을 참고하여 조치관이 고장원인부서를 찾아야 하는 구조이지만, 시험관의 고장진단 데이터와 알고리즘의 예측값을 함께 참고한다면 더 쉽게 고장의 원인을 찾을 수 있을 것이다. 아래의 [표 7]과 그림은 다중예측모델 생성 방식과 예측율, 그리고 학습 그래프에 대한 자료이다.

그림. 12. 다중예측모델 생성 방식

Fig. 12. How to generate multiple prediction models

../../Resources/kiee/KIEE.2020.69.8.1225/fig12.png

표 7. 다중예측모델 예측율 비교

Table 7. Comparison of predictive rates in multiple prediction models

Model

Score

Model

Score

CNN(Two Predictions)

0.8674

CNN(Three Predictions)

0.9163

그림. 13. 모델 1 학습 그래프(CNN, actual condition)

Fig. 13. Learning graph of model 1(CNN, actual condition)

../../Resources/kiee/KIEE.2020.69.8.1225/fig13.png

그림. 14. 모델 2 학습 그래프(CNN, actual condition)

Fig. 14. Learning graph of model 2(CNN, actual condition)

../../Resources/kiee/KIEE.2020.69.8.1225/fig14.png

그림. 15. 다중예측 결과

Fig. 15. The result of multiple predictions

../../Resources/kiee/KIEE.2020.69.8.1225/fig15.png

[그림 13]과 [그림 14]는 다중예측모델의 모델 1과 모델 2의 학습 그래프를 나타낸다. 먼저, 모델 1이 학습 데이터에 과적합되지 않을 정도로 훈련시키고, 예측에 실패한 데이터들을 활용하여 모델 2를 훈련시켰다. 이러한 과정을 통해 메인 모델(모델 1)의 취약 부분을 서브 모델(모델 2, 모델 3)이 보충해주며 예측율을 91.63%까지 향상시킬 수 있었다. 위의 [그림 15]는 다중예측모델을 사용하여 최근 100개의 고장진단 데이터를 분석한 결과의 일부분이다. 그 결과 100개 중 93개가 일치했으며, 메인 모델의 추천값이 가장 정확했다. 또한, 메인 모델과 서브 모델의 추천값이 일치하면 예측에 성공했을 확률이 더욱 높아졌다.

3.3 GUI 프로그래밍

그림. 16. GUI 시연

Fig. 16. GUI demonstration

../../Resources/kiee/KIEE.2020.69.8.1225/fig16.png

마지막으로 조치관이 예측 알고리즘을 사용하기 편리하도록 GUI(Graphical User Interface) 프로그래밍 과정을 거쳐준다. PyQt5 라이브러리를 사용하며, Qt Designer 툴을 사용하여 인터페이스를 구축하고 각 위젯을 연동한다. 이렇게 완성된 프로그램에 고장진단 데이터를 업로드하고 예측 버튼을 누르기만 하면, 미리 구축한 모델들을 사용하여 데이터를 분석하고 고장원인부서 추천값을 확인할 수 있다. PyQt는 Python Language Binding의 한 종류로써, Qt 프레임워크를 Python에서 사용할 수 있도록 한 파이썬 라이브러리이다. Qt는 C++, Python, Ruby 등 다양한 프로그래밍 언어와 연동되며, Windows, Mac, Linux에서 모두 동작하는 GUI 프로그램을 작성할 수 있다. PyQt는 지원되는 Qt 버전에 따라 PyQt4와 PyQt5 두 가지 에디션으로 제공된다. 아래의 [그림 16]은 GUI를 통해 고장원인부서 다중예측모델을 실행한 결과이다.

4. 결 론

본 논문에서는 전력설비 고장진단 데이터를 분석하고, 고장원인부서를 예측하는 알고리즘을 구축했다. 데이터에 적합한 전처리 과정과 모델선택 및 최적화, 그리고 예측율을 높이기 위한 알고리즘 구조개선, 마지막으로 GUI 프로그래밍을 통해 연구의 목적을 달성할 수 있었다. 알고리즘의 효과를 극대화하기 위해 고장원인 진단시험 전 수집된 데이터만 사용하였고, 예측 신뢰도를 높이기 위해 고장원인부서와 상관관계가 확실한 Feature만 사용했다. 그 결과 예측모델의 실용성과 신뢰도를 높일 수 있었다. 하지만 예측율이 다소 낮게 측정(78.61%)되어, 1D-Convolution CNN 모델을 사용한 다중예측구조를 구축하였고, 이를 기반으로 예측율을 91.63%까지 향상시킬 수 있었다. 이 구조는 단순히 여러 번 예측하는 것이 아닌, 하나의 모델이 다른 모델의 취약점을 보완해준다는 점에서 큰 의미가 있다. 마지막으로, 다중예측모델을 통해 최근 100개의 고장진단 데이터를 분석한 결과 93%의 예측율을 얻을 수 있었다. 이는 조치관이 참고하기에 적합한 결과라는 현직자의 해석에 따라, 텍스트 데이터 기반의 고장진단 연구가 더욱 중요해질 것으로 전망된다.

Acknowledgements

This work was supported by the National Research Foundation of Korea Grant funded by the Korean Goverment (NRF-2018R1D1A 1B07041456).

References

1 
A. Krizhevsky, I. Sutskever, G. Hinton, 2012, ImageNet Classifi- f.i.cation with Deep Convolutional Neural Networks, Neural Information Processing Systems 25 (NIPS 2012)Google Search
2 
A. Graves, A. Mohamed, G. Hinton, 2013, SPEECH RE- COGNITION WITH DEEP RECURRENT NEURAL NETWORKS, International Conference on AcousticsDOI
3 
A. Conneau, H. Schwenk, L. Barrault, Y. L. Cun, Very Deep Convolutional Networks for Text Classification, EACL 2017, arXiv:160601781Google Search
4 
E. W. T. Nagi, P. T. Y. Lee, 2016, A REVIEW OF THE LITERATURE ON APPLICATIONS OF TEXT MINING IN POLICY MAKING, Pacofic Asia Conference on Information Systems(PACIS)Google Search
5 
Yuyoung Kim, Min Song, 2016, A Study on Analyzing Sentiments on Movie Reviewsby Multi-Level Sentiment Classifie, Journal of Inteligent Information System, Vol. 22, No. 3, pp. 71-89DOI
6 
U. Godnov, T. Redek, 2016, Application of text mining in tourism: Case of Croatia, Annals of Tourism ResearchDOI
7 
A. K. Nassirtoussi, S. Aghabozorgi, T. Y. Wah, 2015, Text mining of news-headlines for FOREX market prediction: A Multi-layer Dimension Reduction Algorithm with semantics and sentiment, Expert Systems with Applications, Vol. 42, No. 1, pp. 306-324DOI
8 
C. Dobre, F. Xhafa, Intelligent services for Big Data science Future Generation Computer Systems, Vol. 37, pp. 267-281DOI
9 
Taesung Ahn, Hyeong Guk Seo, Kyung Il Lee, 2004, High-precision search system based on text mining, KIPS Review, Vol. 11, No. 2, pp. 88-97Google Search
10 
R. Feldman, I. Dagan, 1995, Knowledge Discovery in Textual Databases(KDT), AAAI(Association for the Advancement of Artificial Intelligence), KDD-95, pp. 112-117Google Search
11 
M. A. Berry, G. S. Linoff, 2000, Mastering Data Mining: The Art and Science of Customer Relationship Management, Industrial Management & Data Systems, Vol. 100, No. 5, pp. 245-246DOI
12 
L. Hirschman, G. A. P. C. Burns, M. Krallinger, 2012, Text mining for the biocuration workflow, DatabaseDOI
13 
A. Nikfarjam, E. Emadzadeh, S. Muthaiyah, 2010, Text mining approaches for stock market prediction, in 2010 The 2nd International Conference on Computer and Automation Engineering(ICCAE)DOI
14 
N. Zhong, Y. Li, S. T. Wu, 2012, Effective Pattern Discovery for Text Mining, IEEE Transactions on Knowledge and Data Engineering, Vol. 24, No. 1, pp. 30-44DOI
15 
D. Bholat, S. Hansen, P. Santos, C. Schonhardt-Bailey, 2015, Text Mining for Central Banks, SSRN, CCBS Hand- book, No. 33Google Search
16 
Dong Seon Uh, Kyung Ha Seok, 2015, Comparison of Learning Methods in Text Mining with Big Data, Graduate SchoolGoogle Search
17 
Mi Yeon Jeong, Dong Hyun Baek, 2019, Analysis of User Requirements Priority using Text Mining : in Online Game, Graduate SchoolGoogle Search
18 
Tae-Uk Yun, Hyunchul Ahn, 2018, Fake News Detection for Korean News Using Text Mining and Machine Learning Techniques, Journal of Information Technology Applications & Management(JITAM), Vol. 25, No. 1, pp. 19-32DOI
19 
Vandana Korde, C. Namrata Mahender, 2012, Text Classifi- cation and Classifiers: A Survey, International Journal of Artificial Intelligence & Applications (IJAIA), Vol. 3, No. 2, pp. 85-99DOI
20 
Won Joon Yu, , Introduction to natural language processing using deep learning, Wikidocs, last modified: 2019. 12. 5. 13:06. https://wikidocs.net/book/ 2155Google Search
21 
Hyoyoung Kim, Jin Wan Park, 2013, A Review on Expressive Materials and Approaches to Text Visualization, International JOURNAL OF CONTENTS, Vol. 13, No. 1, pp. 64-72DOI
22 
Yoseop Lim, Sungho Kang, 2007, Matching-based Advanced Integrated Diagnosis Method, The Journal of Korean Institute of Communications and Information Sciences, Vol. 32, No. 4, pp. 379-386Google Search
23 
Jin-U Lee, Hwi-Su Jeon, Dae-Il Gwon, 2016, Research trend and analysis of domestic and foreign fault diagnosis field, The Korean Society of Mechanical Engineers, Vol. 56, No. 11, pp. 37-40Google Search
24 
Youngwook Cho, Jang Myeong Lee, 2012, A Fault Diagnosis Algorithm for Auto Transmission Based on Intelligent Artificial, PusanNationalUniversityGoogle Search
25 
B. Li, M. Y. Chow, Y. Tipsuwan, J. C. Hung, 2000, Neural- Network-Based Motor Rolling Bearing Fault Diagnosis, IEEE(Institute of Electrical and Electronics Engineers), Vol. 47, No. 5DOI
26 
Y. Zhang, X. Ding, Y. Liu, P. J. Griffin, 1996, An Artificial Neural Network Approach to Transformer Fault Diagnosis, IEEE (Institute of Electrical and Electronics Engineers), Vol. 11, No. 4, pp. 1836-1841DOI
27 
Géron Aurélien, 2018, Hands-On Machine Learning, Hanbit Media(Translated by Hae-Seon Park)Google Search
28 
D. E. Rumelhart, G. E. Hinton, J. L. McClelland, 1986, A General Framework for Parallel Distributed Processing, Stanford UniversityGoogle Search
29 
Charu C. Aggarwal, 2019, Neural Networks and Deep Learning, Jpub (Translated by Kwang Ryu)Google Search
30 
C. Olah, , Understanding LSTM Networks, colah’s blog, last modified: Aug 27, 2015, http://colah.github.io/posts/ 2015-08-Understanding-LSTMs/Google Search
31 
M. Peng, C. Wang, T. Chen, G. Liu, X. Fu, 2017, Dual Temporal Scale Convolutional Neural Network for Micro-Expression Recognition, Frontiers in PsychologyDOI
32 
Alex Lee, , Python programming with examples, pythonstudy. xyz, http://pythonstudy.xyz/python/guiGoogle Search
33 
R. Girshick, J. Donahue, T. Darrell, J. Malik, 2015, Region- based Convolutional Networks for Accurate Object Detection and Segmentation, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 38, No. 1, pp. 1-16DOI

저자소개

김성현 (Sung Hyun Kim)
../../Resources/kiee/KIEE.2020.69.8.1225/au1.png

He received his M.S. and Ph.D. degrees in Electrical and Electronic Engineering from POSTECH (Pohang University of Science and Technology), Korea, in 2003 and 2008, respectively.

Since 2011, he has been affiliated with School of Electrical Engineering at UOU (University of Ulsan), Korea.

Currently, where he is currently a professor and a Vice Dean of the College of Engineering.

His research interests include control system design and signal processing related to networked-embedded control systems, multi-agent systems, fuzzybased nonlinear systems, stochastic hybrid systems, and radio frequency identification tag protocol.

정지영 (Jiyeong Jeong)
../../Resources/kiee/KIEE.2020.69.8.1225/au2.png

He received his Master’s degree in Dept. of Convergence Technology for Heavy Industries, from the University of Ulsan, Korea, in 2020.

Since 2020, he joined JISystem’s R&D Center and works as a data analyst.

Currently, he is working on applying artificial intelligence to various projects like Motor failure diagnosis, bidirectional dust collector efficiency prediction, etc.

His research interests include data visualization, data preprocessing, correlation analysis, multicollinearity, predictive modeling, and model optimization.