데이터 마이닝(data mining)은 데이터에서 쉽게 발견할 수 없는 패턴이나 정보를 사람의 개입없이 자동으로 추출하는 방법을 연구하는 분야입니다. 데이터 마이닝은 인공지능, 데이터베이스, 통계학 등 다양한 분야의 기술이 함께 사용되는 분야이기도 합니다. 데이터 마이닝에는 크게 다음과 같은 세부 연구분야갸 있습니다: (1) 데이터에서 빈번히 발생하는 패턴을 찾는 빈발 패턴 마이닝(frequent pattern mining), (2) 데이터를 유사한 데이터끼리 자동으로 그룹화하는 클러스터링(clustering), (3) 어떤 데이터가 어떤 종류에 속하는 데이터인지를 자동으로 판단하는 분류(classification), (4) 지금까지 관측된 데이터를 사용하여 어떤 수치를 예측하는 회귀(regression), (5) 지금까지 관측된 데이터 중 다른 데이터와는 다른 특이한 데이터를 찾는 이상치 발견(outlier detection) 등이 있습니다. 본 연구실에서는 이들 중 빈발 패턴 마이닝, 클러스터링, 분류, 이상치 발견을 집중적으로 연구하고 있으며, 특히 그래프, 시퀀스, 배열 등 다양한 형태의 데이터에 특화된 데이터 마이닝 알고리즘을 개발하는 것을 목표로 하고 있습니다.
AI 기술의 급속한 발달과 함께 이제 대부분의 조직은 두 종류의 정보를 가지고 있다고 볼 수 있습니다. 첫 번째는 전통적인 방식으로 데이터베이스 시스템(RDBMS, NoSQL 등)에 저장된 정보이며, 두 번째는 주어진 훈련 데이터로부터 생성된 AI 모델로서 훈련 데이터로부터 추출된 지식 혹은 정보를 나타냅니다. 이 두 형태의 정보는 서로 나타내는 영역이 다르며 상호 보완적인 관계를 가지고 있습니다. 예컨대 AI 모델이 예측 혹은 생성하는 결과를 데이터베이스 시스템에 저장된 정보를 사용하여 보완할 수 있으며, 데이터베이스 시스템에 저장된 정보를 보다 효과적으로 검색하기 위해 AI 모델이 제공하는 정보를 활용할 수 있습니다. 본 연구실에서는 데이터베이스 시스템과 AI 모델을 모두 활용하여 사용자에게 더욱 정확하고 효과적으로 정보 또는 지식을 제공하는 기법을 연구하고 있습니다. 이를 위해 AI 모델의 예측 혹은 생성 과정을 데이터베이스를 활용하여 보완하는 기법과 데이터베이스 시스템의 질의 처리를 AI 모델을 활용하여 향상시키는 기법을 연구 중입니다. 본 연구는 아직 초기 단계인 선도적인 연구로서 추후 다양한 연구 결과를 낼 수 있을 것으로 기대합니다.
데이터베이스(database)는 대용량의 데이터에서 원하는 정보를 빠르고 효율적으로 탐색하는 방법을 연구하는 분야입니다. 최근에는 빅데이터(Big Data)에 대한 관심으로 인해 더욱 주목받고 있는 핵심 기술이기도 합니다. 특히 본 연구실에서는 대용량의 데이터가 저장되어 있을 때, 사용자가 요청한 다양한 형태의 질의(query)를 빠르게 처리하는 기술을 집중적으로 연구하고 있습니다. 이를 위해 원하는 데이터를 빠르게 찾기 위한 색인(index) 기술도 같이 연구하고 있습니다. 데이터베이스 관리 시스템(database management system, DBMS)은 현재 대부분의 상용 정보 시스템(information system)에서 거의 필수적으로 사용되는 핵심 시스템 중 하나입니다. 따라서 데이터베이스에 대한 연구경험은 추후 어떤 소프트웨어를 개발하거나 연구하든지 매우 중요한 핵심적인 역량으로 인정받고 있으며, 많은 기업과 연구소에서 소프트웨어 관련 인력 채용시 가장 많이 찾는 경력 중 하나이기도 합니다.
빅데이터(Big Data)는 최근 들어 데이터의 양이 급증하는 한편 데이터의 증가 속도가 매우 커지고 형태도 매우 다양해지면서, 기존의 기술로는 제대로 분석할 수 없는 대규모 데이터에 대한 분석 기술을 연구하는 분야입니다. 특히 빅데이터는 대규모 데이터를 처리하기 위해 다수의 컴퓨터를 네트워크로 연결한 컴퓨터 클러스터(cluster)를 사용하는 것이 일반적입니다. 본 연구실에서는 이러한 컴퓨터 클러스터 환경에서 데이터베이스 기술에 기반하여 빅데이터를 빠르게 처리하는 기술을 연구하고 있습니다. 이러한 맥락에서 데이터베이스에 대한 연구와 마찬가지로 빅데이터에 대한 다양한 형태의 질의를 빠르게 처리하는 것을 집중적으로 연구하고 있습니다. 한편 현재 빅데이터를 분석하기 위한 도구로서 Hadoop, Spark, NoSQL 등과 같이 새로운 기술에 기반한 빅데이터 처리 플랫폼들이 활발히 개발되고 있습니다. 본 연구실에서는 이러한 빅데이터 처리 플랫폼의 성능 개선 및 빅데이터 처리 플랫폼에 최적화된 새로운 데이터 처리 기술 개발도 중요한 목표로 하고 있습니다.
데이터 스트림(data stream)은 매우 빠른 속도로 계속해서 유입되는 데이터에 대한 분석 기술을 연구하는 분야입니다. 데이터 스트림의 대표적인 예로는 각종 센서 데이터(예: 온도, 습도, 압력, 조도), 온라인 구매 데이터, 네트워크 트래픽(traffic) 데이터, 사물 인터넷(IoT) 데이터, SNS 데이터(예: Facebook, Twitter) 등이 있습니다. 이러한 데이터는 계속해서 빠르게 유입되기 때문에 이러한 데이터로부터 손실없이 유용한 정보를 얻기 위해서는 무엇보다 데이터를 실시간으로 빠르게 처리하는 것이 중요합니다. 본 연구실에서는 다수의 데이터 스트림이 동시에 유입될 때, 이들을 분석하기 위해 사용자가 요청한 다양한 분석 질의들을 다수의 컴퓨터를 활용하여 실시간으로 처리하는 기술을 연구하고 있습니다. 또한 빅데이터와 마찬가지로 대규모 데이터 스트림을 처리하기 위해 Storm, Spark Streaming, Samza 등 다양한 데이터 스트림 처리 플랫폼들이 활발히 개발되고 있습니다. 본 연구실에서는 이러한 데이터 스트림 처리 플랫폼에 최적화된 새로운 데이터 스트림 처리 기술 개발도 진행하고 있습니다.