Inforience in 2018

클릭 >> Hello, world !! (from ShadowEgo)

In 2018

Inforience has been involved in a variety of researches related to detecting and interpreting patterns from continuously collected data. Here are some of the key R&D projects Inforience has conducted in 2018.

(1) Detecting anomalous patterns in mechanical vibration (noise) data

스크린샷 2018-12-26 16.05.35

Inforience has developed machine learning models that analyze machine vibration noise and detect abnormal conditions. The models have shown good performance for data collected in real factory environments. This research is based on SM instruments’ support and cooperation. Inforience plans to research and develop more advanced models in 2019.

(2) Food Artificial Intelligence

food-3284704_1280

Inforience is conducting an initial stage research to combine disease and health data with food-related data. This research will continue in 2019. The results of this research will be used in a variety of applications related to managing people’s health. This research is supported by the Korea Food Research Institute. Detailed information will be covered later.

(3) Web-based policy information management system

Inforience is developing a system that collects and manages policy-related data scattered in the web space. This research is being conducted with the cooperation of Kumoh University.

In 2019…

Inforience is constantly conducting researches related to extracting knowledge from time series data and intelligent text processing. The results of such researches will be applied to a variety of artificial intelligence based applications. In particular, Inforience is researching and developing key technologies needed to create intelligent systems that enable people to live in safer and healthier environments. In 2019, in addition to creating applicable research results, Inforience plans to conduct theoretical researches in the field of machine learning and artificial intelligence.

+++

2018년에…

인포리언스는 지속적으로 축적되는 데이터에서 패턴을 탐지, 해석하는 것과 관련된 다양한 연구개발을 수행해오고 있습니다. 2018년에 인포리언스가 수행한 대표적인 연구개발 프로젝트의 주제는 다음과 같습니다.

(1) 기계 진동(소음) 데이터에서 이상 패턴을 탐지

인포리언스는 기계 진동 소음을 분석하여 이상 상태를 탐지하는 머신러닝 모델을 개발하였습니다. 인포리언스가 개발한 모델은 실제 공장 환경에서 수집한 데이터에 대하여 좋은 성능을 보였습니다. 이 연구는 (주)에스엠인스트루먼트의 지원과 협력을 바탕으로 진행하였으며, 2019년에는 좀 더 발전된 모델을 연구개발할 계획입니다.

(2) 식품 인공지능

인포리언스는 식품 관련 데이터에 질병, 건강 데이터를 접목하여 지능화하는 연구를 수행하고 있으며, 2019년에도 계속 연구가 진행됩니다. 이 연구의 결과는 사람들의 평소의 건강을 관리하는 것과 관련된 다양한 응용에 활용될 수 있습니다. 이 연구는 한국식품연구원의 지원 하에 진행되고 있습니다. 자세한 관련 내용은 추후에 소개할 예정입니다.

(3) 웹기반 정책 정보 관리 시스템

인포리언스는 웹 공간에 산재되어 있는 정책 관련 정보들을 수집, 관리하는 시스템을 개발하고 있습니다. 이 연구는 금오공과대학교와 함께 진행하고 있습니다.

2019년에는…

인포리언스는 시계열 데이터에서 지식을 추출하는 과정 및 지능적 텍스트 정보처리와 관련된 연구를 꾸준히 진행하고 있습니다. 이와 같은 연구의 결과는 다양한 분야의 인공지능 기반 응용 서비스에 접목, 활용될 수 있습니다. 특히, 인포리언스는 사람들을 더욱 안전하고 건강하게 살아갈 수 있도록 돕는 지능적인 시스템을 만드는 데 필요한 핵심기술들을 연구개발하고 있습니다. 2019년에는 다양한 응용 분야에 접목할 수 있는 연구결과를 생성하는 것 외에도, 머신러닝과 인공지능 분야의 이론적 연구에도 매진할 계획입니다.

카테고리: Inforience NEWS, Tech. of Inforience | 댓글 남기기

Inforience 프로젝트 소개 (2018년 7월 현재)

클릭 >> Hello, world !! (from ShadowEgo)

2013년 인포리언스 설립 후 2018년 7월까지 인포리언스가 완료했거나, 현재 수행 중이거나, 추진 중인 연구개발 프로젝트의 내용은 다음과 같습니다. 인포리언스가 수행한 모든 프로젝트들은 데이터로부터 특성을 추출, 해석, 활용하는 것들과 관련된 것들입니다.

2018 진행 중인 프로젝트

  • 글로벌 정책 정보의 수집과 활용을 위한 컨트롤 시스템 개발
  • 기술 발전 흐름에서의 이슈 탐지 및 분석을 위한 알고리즘 개발 
  • (Extended-CoDIP) 시계열 데이터의 해석과 활용을 위한 interactive 시스템 연구

완료 프로젝트 (2013 ~ 2018)

* 뉴스 기사의 이슈 탐지 및 분석 (2017 완료)

스크린샷 2017-07-23 23.10.58

  • 시간에 따라 지속적으로 수집되는 온라인 뉴스 기사들로부터 이슈를 탐지, 분석, 해석하여 활용할 수 있게 하는 플랫폼

** SEED API : Natural Language Processing 기반의 영문 특성 추출 API 의 개발과 활용 (2017 완료)

스크린샷 2017-07-23 23.03.25

스크린샷 2017-07-23 23.05.47

  • 영문 단어, 문장, 단락에 대한 다양한 분석 결과를 생성하는 API 개발

** AID project : 실내에 설치된 센서 데이터의 지능적인 분석과 모니터링 (2017 완료)

스크린샷 2017-07-23 23.01.53

  • CoDIP 을 기반으로 한 실내 센서 데이터 모니터링 플랫폼의 서비스 버전 개발
  • 스마트폰 어플리케이션과 분석 플랫폼으로 구성

** 학습 성취도 측정 및 교육 컨텐츠 품질의 분석을 위한 센서 클라우드 기반의 지능형 인터페이스 (Sensor cloud interface for intelligent analysis of students’ performance and contents quality (SCI)) (2016 완료)

스크린샷 2017-07-23 22.59.59

  • CoDIP 플랫폼을 학습자의 생체 반응 데이터에 대한 모니터링과 분석에 적용한 케이스
  • 학습자의 시선 데이터와 뇌파 데이터를 실시간으로 수집, 분석하여 집중도와 흥미도를 측정

** 사용자 친화적인 센서 모니터링 (User Friendly sensor monitoring services) (2016 완료)

스크린샷 2017-07-23 22.49.49

스크린샷 2017-07-23 22.52.31

  • CoDIP 플랫폼을 실내 센서 데이터의 모니터링과 분석에 적용한 케이스 (온도, 습도, 조도, 소리, 가속도, 자이로 센서)

** 스마트 농업을 위한 DIY 디바이스 플랫폼, 타이니파머 (TinyFarmer) (2016 완료)

스크린샷 2017-07-23 22.46.40

  • 농업 IoT 센서 모듈 및 수집 인프라를 개발하는 업체와의 협력 프로젝트
  • CoDIP 플랫폼을 농업 IoT 데이터의 모니터링과 분석에 적용한 케이스 (8가지 타입의 센서 데이터)

** (CoDIP) 데이터에 포함된 동적 패턴의 탐색과 해석을 위한 협업적 탐험 플랫폼 (Collaborative Data Mining Platform for Searching and Interpretation of Data Dynamics) (2015 완료)

스크린샷 2017-07-23 22.40.10

스크린샷 2017-07-23 22.40.26

  • 지속적으로 생성되는 시계열 데이터에 포함된 다양한 동적 패턴들을 탐색, 발굴하고, 해당 패턴들의 원인을 고민하거나 패턴의 의미를 추출하여 적절히 활용할 수 있게 하는 분석 플랫폼
  • 수동적인 분석에서부터 자동적인 분석까지 다양한 수준의 분석이 가능.
  • 데이터 분석 기술을 전혀 알지 못하는 초보자 뿐만 아니라 분석 전문가들도 활용 가능
    • Visual Analysis, Query Analysis, Machine Learning
  • 자동적인 패턴 탐지 + 분석 기능을 지속적으로 추가하고 있으며, 사용자 친화적인 UI 를 구현하기 위한 업데이트 작업이 계속 진행 중

** 중수로 압력관 직경자료 데이터베이스 GUI 구축 (2014 완료)

  • 그래프화된 데이터를 직관적으로 시각화하고, 시각화 결과에 대한 간단한 인터랙션을 통해 기본적인 측정과 계산을 수행할 수 있게 하는 소프트웨어

** 플러그-인 구조를 이용한 매장기반 고객 대상 서비스 (2013 완료)

스크린샷 2017-07-23 22.28.07

  • 특정 공간에서만 접할 수 있는 온라인 컨텐츠에 대한 경험이 해당 공간에 대한 인상을 형성하는데 중요한 역할을 수행한다는 가설에서 출발한 프로젝트
  • Wi-Fi 통신 영역을 기반으로 한 가상의 공간을 생성하여, 해당 공간에 위치한 고객들에게 공간 특유의 컨텐츠 서비스를 제공하고, 사용자와 공간 사이의 흥미로운 인터랙션을 제공할 수 있게 하는 서비스 플랫폼
  • 특정 공간에 출입하는 사용자들의 행동과 컨텐츠 소비 패턴을 수집, 분석
카테고리: Inforience NEWS, Tech. of Inforience | 댓글 남기기

인포리언스 특허 리스트 (2018년 5월 현재)

2018년 5월까지 인포리언스가 등록 완료했거나, 현재 심사 중인 특허의 리스트는 다음과 같습니다. (등록특허, 출원특허 및 미국과 국내특허를 모두 포함하여 18건)

 

등록 특허

(1) COLLABORATIVE PLATFORM FOR DATA DYNAMICS INTERPRETATION (https://www.google.com/patents/US9691028) (US 9691028 B2)

(2) LOCAL SERVICE PROVIDING APPARATUS, METHOD FOR PROVIDING LOCAL SERVICE AND RECORDING MEDIUM FOR THE SAME  (KR Patent No. 1015485290000)

(3)  LOCAL SERVICE PROVIDING APPARATUS, METHOD FOR PROVIDING LOCAL SERVICE, RECORDING MEDIUM FOR THE SAME AND COMPUTER PROGRAM (KR Patent No. 1015738780000)

(4) INFORMATION ANALYSIS APPARATUS AND RECORDING MEDIUM FOR THE SAME (KR Patent No. 1015526040000)

(5) ROALITY PREDICTION APPARATUS AND RECORDING MEDIUM (KR Patent No. 1015485320000)

(6) DATA PROCESSING APPARATUS, DATA PROCESSING PROGRAM, RECORDING MEDIUM (KR No. 1015654990000)

(7) DATA USAGE AND QUALTIY ESTIMATION APPARATUS, RECORING MEDIUM AND COMPUTER PROGRAM (KR Patent No. 1016636810000)

(8) DATA SEARCHING APPARATUS (KR Patent No. 1017868370000)

(9) DATA SEARCHING APPARATUS (KR Patent No. 1017868330000)

 

심사 중인 특허

(10) APPARATUS, RECORDING MEDIUM, TERMINAL AND COMPUTER PROGRAM FORSEARCHING DATA PATTERN. (US/14/696,374)

(11) APPARATUS FOR ESTIMATING USABILITY AND QUALITY OF DATA, RECORDING MEDIUM AND COMPUTER PROGRAM (US/14/921,376)

(12) DATA SEARCHING APPARATUS (US/15/347,718)

(13) DATA SEARCHING APPARATUS (US/15/347,711)

(14) APPARATUS FOR SEARCHING DATA PATTERN, RECORDING MEDIUM,AND COMPUTER PROGRAM (KR/10-2014-0178099)

(15) DATA SEARCHING APPARATUS (KR/10-2016-0093155)

+ 3건의 추가 출원 특허

카테고리: Inforience NEWS, Tech. of Inforience | 댓글 남기기

CoDIP을 활용하여 1차원 시계열 데이터에 포함된 change point들을 자동으로 탐지하자.(1)

클릭 >> Hello, world !! (from ShadowEgo)

Go to English ver. of this article. (http://222.114.71.21:10100/2018/03/12/changepoints1d-1/)

다음과 같은 일을 하는 시스템을 생각해 보자.

  • 당신의 집중력이 갑자기 떨어지기 시작하는 순간을 자동으로 탐지
  • 자동차의 주행 상태가 갑자기 변화하는 순간을 자동으로 탐지
  • 기계의 동작 상태가 갑자기 변화하는 순간을 자동으로 탐지
  • 새벽 시간의 낯선 소리나 움직임을 자동으로 탐지
  • 기후가 갑자기 더워진 순간을 자동으로 탐지
  • 주가가 갑자기 폭락하는 순간을 자동으로 탐지
  • 성적이 떨어지기 시작한 순간을 자동으로 탐지

데이터의 변화를 당신이 직접 계속 관찰할 수 있다면, 이런 작업은 별로 어렵지 않을 것이다. 데이터가 변화하는 순간을 직접 찾아내면 되니까. 그러나, 24시간 내내 눈에 힘을 주고 데이터를 쳐다볼 수 있는 사람은 없다. 이러한 관찰 작업은 컴퓨터에게 맡겨야 한다. 다시 말해서, 컴퓨터에게 이렇게 말하는 것이다. “나는 데이터를 계속 넘겨줄 테니, 이상한 패턴이 발견되면 알려 줘”.

IoT 장치가 폭발적으로 늘어나 누구나 직접 센서 데이터를 모을 수 있고, 웹이나 클라우드에서도 다양한 데이터를 쉽게 얻을 수 있게 되었다. 앞으로는 데이터 과학자나 엔지니어가 아니더라도 자신의 데이터로부터 중요한 순간을 직접 탐지하고자 하는 사람들이 늘어날 것이다. 따라서, 내가 모은 데이터를 계속 전송하면 중요한 패턴을 지능적으로 탐지해서 알려주고 관련작업까지 수행하여 주는 기능이 있다면 참 좋을 것이다.

이 주제에 대해서는 Outlier Detection, Change Point Detection, Anomaly Detection 등과 같은 분야에서 세계적으로 많은 연구가 진행되고 있다. 데이터에 대한 사전지식이 없는 상황에서도 중요한 패턴들을 스스로 탐지하는 효율적인 알고리즘을 만들기 위한 연구들이다.

그런데, 패턴을 탐지하는게 그렇게 어려운 일인가?

F1

그림 1. 지난 2년간 온라인 뉴스에서 ‘가상화폐’가 언급된 추세

패턴을 간단한 룰로 표현하여 입력하면 탐지할 수 있다. 예를 들어, 온도가 섭씨 20도 이상으로 올라가면 탐지하게 하거나, 주가가 10% 상승하면 탐지하게 할 수 있다. 이러한 룰은 간단한 코드로 표현할 수 있다. 그러나 데이터에는 다양한 패턴들이 무수히 포함될 수 있으므로, 탐지하고자 하는 모든 패턴을 사전에 예측하여 정의할 수는 없다. 중요한 패턴들과 중요하지 않은 패턴들을 미리 구분하는 것도 쉽지 않다. 설상가상으로, 데이터에는 노이즈가 많이 들어있을 수 있다.

쉽지 않은 일에 도전해 보자.

이번 포스팅에서는 인포리언스가 독자적으로 개발하고 있는 change point detection 방법을 sample data에 적용한 결과를 설명한다. 이 방법은 CoDIP에 탑재된 자동 패턴 분석 기능(CoDIP-PA)에 속한다. 실제 데이터에 적용한 예들과 이 기술을 바탕으로 지능적인 서비스를 구축하는 방법은 추후에 소개한다.

(1) 적정 수준을 유지하던 데이터가 갑자기 변화하는 순간을 탐지한다.

학업 또는 업무 성적이 이미 충분히 좋다면 계속 유지하는게 좋겠지만, 떨어지는 순간이 있을 수 있다. 이러한 변화가 생기면 그 타이밍과 이유를 알아야 한다. 내가 좋아하는 아이돌 그룹이 갑자기 뉴스에서 많이 언급되면 왜 그런지 궁금하다. 집에 아무도 없을 때 출입문은 움직이지 않는 것이 당연한데, 움직임 레벨이 갑자기 상승하면 비상상황일 수 있다. 습도를 적정 수준으로 유지해야 하는 환경에서는 습도가 갑자기 떨어지게 되면 문제가 될 수 있다. 이러한 상황들을 빨리 탐지하면 문제를 잘 해결할 수 있다.

F2a

그림 2-(a)

F2b

그림 2-(b)

그림 2-(a)는 데이터의 값이 갑자기 변화한 상황을 나타내며, 그림 2-(b)는 CoDIP-PA가 변화의 타이밍을 찾아낸 결과를 나타낸다. 사실, 이 정도의 change point를 찾는 작업은 그다지 어려워 보이지 않는다. 데이터가 특정 값 이상으로 상승하는 순간을 탐지하게 하면 된다. 그러나, 그러한 탐지 기준을 구체적으로 미리 다 정하는 것은 불가능하다.

F3a

그림 3-(a)

F3b

그림 3-(b)

그림 3-(a)는 다양한 규모의 급격한 상승과 하강 패턴이 여러 번 나타난 상황을 보여준다. 그림 3-(b)는 CoDIP-PA가 변화가 발생한 타이밍을 탐지한 결과를 나타내는데, 변화의 규모에 상관없이 모두 찾아내었다. 그러나 사실, 이것도 그다지 어려워 보이지는 않는다.

F4a

그림 4-(a)

F4b

그림 4-(b)

그림 4-(a)는 노이즈와 급격한 변화가 모두 포함된 데이터에서 노이즈에 의한 모든 변화를 탐지한 경우를 보여준다. 이에 비해 그림 4-(b)는 노이즈는 무시하고 크고 중요한 변화만을 탐지해 낸 결과이다. CoDIP-PA는 초기에 확인한 일부 데이터의 특성을 바탕으로 노이즈의 존재를 확인하고 중요한 변화만 찾아낸다.

(2) 일정한 변화 패턴을 유지해야 하는 데이터가 급작스레 다른 패턴의 변화를 나타내는 순간을 탐지한다.

F5a

그림 5-(a)

그림 5-(a)는 sinusoidal 데이터이다. 온도와 습도 데이터를 측정해 보면, 낮에는 온도가 높지만 밤이나 새벽에는 온도가 낮다. 습도는 온도의 변화와 반대의 움직임을 보이는 경우가 많다. 이렇게 늘 일정한 패턴을 보이던 데이터에 생소한 패턴이 나타난다면 탐지할 수 있을까?

F5b

그림 5-(b)

F5c

그림 5-(c)

그림 5-(b)는 낯선 패턴이 포함된 경우를 나타낸다. 그리고 그림 5-(c)는 CoDIP-PA가 낯선 패턴을 탐지한 결과를 보여준다. 낯선 패턴을 보인 이후, 그래프가 다시 원래의 패턴으로 돌아가면 정상적인 상황으로 인식한다.

F5d

그림 5-(d)

그림 5-(d)은 낯선 패턴이 여러 번 나타난 경우이다. CoDIP-PA는 낯선 패턴이 나타난 모든 순간들을 빠짐없이 탐지해 낸다. 급격하게 꺾인 형태를 나타내는 위치들을 잡아내고 나머지는 정상 패턴으로 인식한다.

(3) (데이터 범위의 변화가 없는 가운데) 주파수의 변화가 나타나는 순간을 탐지한다.

어떤 장비가 일정하게 움직이다가 갑자기 움직임이 빨라지는 경우를 생각해 보자. 혹시 고장 아닐까? 아니면 적어도 장비의 상태가 악화되고 있는 것은 아닐까? 이러한 패턴 변화를 찾아내는 것은 중요하다.

F6a

그림 6-(a)

F6b

그림 6-(b)

그림 6-(a)는 일정한 반복 패턴을 보이던 데이터가 어느 순간부터 주기가 점점 짧아지는 경우를 나타낸다. (데이터 수치의 범위에는 변화가 없다.) 그림 6-(b)는 주기가 변화한 타이밍을 CoDIP-PA가 탐지한 결과를 보여준다.

F7

그림 7

그림 7은 주기에 변화가 생겼다가 원래의 주기적 패턴으로 돌아온 경우이다. CoDIP-PA는 정확하게 주기가 변화한 타이밍만 탐지한다.

(4) Main fluctuation에 작은 fluctuation 또는 노이즈가 포함되었을 경우 Main fluctuation의 변화만 탐지한다.

F8a

그림 8-(a)

F8b

그림 8-(b)

F8c

그림 8-(c)

그림 8-(a)는 작은 fluctuation이 main fluctuation에 섞여 있는 데이터를 보여준다. Main fluctuation의 주기는 점점 작아지고 있다. 지능이 부족한 방법을 적용하면 작은 fluctuation들을 모두 탐지하는 반면에 main fluctuation의 변화를 제대로 구분하지 못한다. (그림 8-(b)) 그러나 CoDIP-PA는 데이터의 성격을 파악하여 main fluctuation의 주기가 변화하는 순간만을 탐지한다. (그림 8-(c))

F9a

그림 9-(a)

F9b

그림 9-(b)

F9c

그림 9-(c)

그림 9-(a)는 main fluctuation에 심한 노이즈가 섞인 경우를 나타낸다. 이 경우에도 CoDIP-PA는 데이터의 성격을 파악하여 main fluctuation의 주기가 변화하는 순간만을 탐지한다. (그림 9-(c))

다른 알고리즘들은 어떨까?

위의 결과들은 CoDIP-PA가 스스로 데이터의 특성에 적응하여 찾아낸 결과들이다. 다른 알고리즘들은 동일한 데이터에 대해 어떠한 탐지결과를 만들까? 오랫동안 연구되어 온 Bayesian Changepoint Detection[1, 2, 3] 및 유명한 luminol 라이브러리[4]를 동일한 데이터 패턴에 대해 적용한 결과를 살펴보자.

F10-a

F10-b

그림 10. Bayesian Changepoint Detection 방법 및 luminol 라이브러리를 적용한 결과

그림 10에서 볼 수 있듯이, Bayesian Changepoint Detection 방법과 luminol 라이브러리는 간단한 형태의 change point는 탐지하는 듯 했으나, 복잡한 형태의 change point들을 탐지하는 데에는 실패했다. 특히, 부드러운 곡선 형태의 시계열 데이터에 포함된 변화 포인트를 탐지하는데에는 크게 실패했다. 또한 중요하지 않은 point들을 탐지하는 경우도 많다. 이 결과를 통해 우수한 chage point detection 방법을 개발하는 것이 얼마나 어려운 지를 확인할 수 있다. 또한 이것은 인포리언스가 개발한 chage point detection 기술의 성능이 상대적으로 우수함을 의미한다.

참고문헌

[1] Paul Fearnhead, Exact and Efficient Bayesian Inference for Multiple Changepoint problems, Statistics and computing 16.2 (2006), pp. 203–213

[2] Ryan P. Adams, David J.C. MacKay, Bayesian Online Changepoint Detection, arXiv 0710.3742 (2007)

[3] Xuan Xiang, Kevin Murphy, Modeling Changing Dependency Structure in Multivariate Time Series, ICML (2007), pp. 1055–1062

[4] https://github.com/linkedin/luminol

카테고리: Tech. of Inforience | 댓글 2개

Detecting change points in one-dimensional time series data using CoDIP (1)

Go to Korean ver. of this article (http://222.114.71.21:10100/2018/03/12/changepoints1d-1kor/)

Consider a system that performs the following tasks:

  • Automatically detect when your concentration level begins to drop suddenly
  • Automatically detect when driving status of a vehicle suddenly changes
  • Automatically detect when operating status of an equipment suddenly changes
  • Automatically detect strange sounds or movements at night time
  • Automatically detect when the weather suddenly gets hot.
  • Automatically detect when stock prices plunge suddenly
  • Automatically detect when grades begin to fall

If you can keep an eye on your data personally, these tasks will not be difficult. The only thing you have do is to find the moments. However, no one is able to look at the data 24 hours a day. These tasks should be left to the computer. In other words, we have to tell the computer: “I will hand over the data to you continuously, then let me know if you find any critical moment of changes.”

The explosion of IoT devices has made it possible for anyone to collect sensor data. We can also easily obtain various data from the web or the cloud. In the future, even if you are not a data scientist or engineer, you may want to find personally important moments from your data. Therefore, it would be nice if you have the capability of intelligently detecting important changes and performing related tasks accordingly.

Much research has been done on Outlier Detection, Change Point Detection, and Anomaly Detection. The researches have tried to develop efficient algorithms that can self-detect important change points in the data even when there is no prior knowledge of the data.

Is it really difficult to detect critical change points automatically?

F1

Figure 1. Trend of ‘virtual currency’ mentioned in Korean online news for the past two years.

Patterns can be detected based on simple rules. For example, if the temperature rises above 20 degrees Celsius, it can be detected. If the stock price rises 10 point, it can be detected. These rules can be expressed by simple programming code. However, there may be numerous change points in the data. It is impossible to predict and define the rules for all possible changes in advance. It is not easy to distinguish critical and non-critical changes in advance. To make matters worse, the data may contain a lot of noise.

Let’s do something challenging.

In this post, we describe the results of applying change point detection method, which is developed by Inforience. This method belongs to the automatic pattern analysis functions included in CoDIP (CoDIP-PA). We will introduce someday the results of applying the method to real data and also explain how to build intelligent services based on this method.

(1) Detecting the moment when the data which kept at the proper level suddenly drops or rises.

If your academic grade is already excellent enough, you may want to keep it, but there may be a moment when it falls. When this happens, you need to know when and why. You may wonder why your favorite celebrity is suddenly mentioned a lot in the news. The room door should not move when there is no family member in your house, so if a movement is detected, it may be an emergency situation. In an environment where humidity must be maintained at an proper level, sudden drops of humidity level can be a problem. It is important to detect these situations as quickly as possible.

F2a

Figure 2-(a)

F2b

Figure 2-(b)

Figure 2-(a) shows the situation where the value of the data changes abruptly. Figure 2-(b) shows the result of finding the change points by CoDIP-PA. In fact, it does not seem so difficult. You can design a system to detect when the data rises above a certain value. However, it is impossible to specify all of such detection criteria in advance.

F3a

Figure 3-(a)

F3b.png

Figure 3-(b)

Figure 3-(a) shows a situation in which sudden rise and fall appear several times in various magnitudes. Figure 3-(b) shows the result of detecting the change points by CoDIP-PA. But in fact, this does not seem too difficult either.

F4a.png

Figure 4-(a)

F4b

Figure 4-(b)

Figure 4-(a) shows the data including both the noise and the sudden significant changes. Fig. 4-(b) is a result of detecting only large and significant change points while ignoring noise. CoDIP-PA figures out the presence of noise based on the characteristics of early data and identifies significant change points.

(2) Detecting changes of the data that must show a constant movements.

F5a

Figure 5-(a)

Figure 5-(a) is the sinusoidal data. When you measure temperature and humidity, temperature is high in daytime, but is low at night or dawn. Humidity shows opposite patterns to temperature change in general. If there is a sudden change that is unfamiliar to us, can we detect it?

F5b.png

Figure 5-(b)

F5c.png

Figure 5-(c)

Figure 5-(b) shows a case where a strange change is included. Figure 5-(c) shows the result of CoDIP-PA detecting the change. After showing the strange change, when the graph returns to its original pattern, it recognizes it as a normal pattern.

F5d.png

Figure 5-(d)

Figure 5-(d) shows a case where the strange changes appear multiple times. CoDIP-PA detects all the moments in which the strange changes appear.

(3) Detecting the change of frequency (even without change in original data range)

Consider a situation in which an equipment suddenly moves faster. Is it broken? Or the condition of the equipment is worsening?

F6a.png

Figure 6-(a)

F6b.png

Figure 6-(b)

Figure 6-(a) shows the case where the period of repetitive pattern becomes shorter gradually from a certain moment. (Notice that there is no change in the range of data values.) Figure 6-(b) shows the result of detecting the change by CoDIP-PA.

F7.png

Figure 7

Figure 7 shows a case in which a period change occurs for a little while and then returns to the original periodic pattern. CoDIP-PA precisely detects the timing at which the period change occurs.

(4) Detecting the change of the main fluctuation without falling into noise and small fluctuation.

F8a.png

Figure 8-(a)

F8b

Figure 8-(b)

F8c.png

Figure 8-(c)

Figure 8-(a) shows the data with a main fluctuation mixed with the small fluctuation. The period of the main fluctuation is getting smaller. A lack of intelligence will make us fall into small fluctuations without identifying the change of the main fluctuation properly. (Figure 8-(b)). CoDIP-PA figures out the characteristics of the early data and detects only the moment when the period of main fluctuation changes.

F9a.png

Figure 9-(a)

F9b.png

Figure 9-(b)

F9c.png

Figure 9-(c)

Figure 9-(a) shows the case where the main fluctuation is mixed with severe noise. In this case, CoDIP-PA also detects the characteristics of the noise and detects only the moment when the period of main fluctuation changes. (Figure 9-(c))

What about the other algorithms?

So far, we showed that CoDIP-PA can adapt itself to the characteristics of the data. Will other algorithms produce the same results for the same data? Let’s look at the result of applying the Bayesian Changepoint Detection [1, 2, 3] and the famous luminol library [4] to the same data.

F10-a.png

F10-b.png

Figure 10. The results of applying Bayesian Changepoint Detection method and luminol library

As you can see in Figure 10, the Bayesian Changepoint Detection method and the luminol library seem to detect simple change points well, but fail to detect complex change points. In particular, they are largely unsuccessful in detecting change points contained in smooth curved patterns. They also often detect non-critical points. This shows how difficult it is to develop a good chage point detection method. This also means that the performance of the change point detection method developed by Inforience is relatively superior.

References

[1] Paul Fearnhead, Exact and Efficient Bayesian Inference for Multiple Changepoint problems, Statistics and computing 16.2 (2006), pp. 203–213

[2] Ryan P. Adams, David J.C. MacKay, Bayesian Online Changepoint Detection, arXiv 0710.3742 (2007)

[3] Xuan Xiang, Kevin Murphy, Modeling Changing Dependency Structure in Multivariate Time Series, ICML (2007), pp. 1055–1062

[4] https://github.com/linkedin/luminol

카테고리: Tech. of Inforience | 댓글 2개

기술 흐름의 탐지와 분석 (1)

클릭 >> Hello, world !! (from ShadowEgo)

Go to English ver. of this article (http://222.114.71.21:10100/2018/03/05/technologytrends1/)

기술 변화의 흐름을 파악한다고?

기술, 특히 IT 분야의 기술은 빨리 변화한다. 새로운 기술이 나타나거나, 오래된 기술이 개선된다. 때로는 과거의 기술이 새로운 분야에서 다시 활용되기도 한다. 스마트폰은 지난 10년동안 우리의 삶을 크게 바꾸었으며, 예전에는 주목받지 못하던 deep neural network 모델이 최근에는 기계학습 분야에서 폭발적으로 활용되고 있다.

새로운 기술이 인간의 삶에 미치는 영향력이 점점 커지고 있다. 따라서 기술 변화의 흐름을 파악하는 것은 매우 중요한 일이 되었다. 기술은 인간의 삶처럼, 출생기, 전성기를 거쳐 역사의 뒤편으로 사라진다. 사라진 기술은 다른 기술의 모체가 되기도 한다. 우리는 어떤 기술이 새롭게 등장하였고, 어떤 기술이 주목받고 있는지 정확히 알 필요가 있다. 이러한 정보는 시장의 변화를 예측하고 비즈니스 계획을 수립하는데 필요한 자료이다. 정부기관의 정책 수립 과정에도 중요한 역할을 한다. 또한 앞으로 우리의 삶이 어떻게 변화할 지 예측하는 데에도 매우 중요한 역할을 할 수 있다.

어떻게 하면 좋을까?

기술의 변화 과정을 측정하는 좋은 방법은 무엇일까? 어떠한 데이터를 이용해야 그러한 변화의 흐름을 놓치지 않고 파악할 수 있을까? 일반적으로 우리는 새롭게 출판된 기술 동향 문서, 전문 서적을 읽거나 뉴스에 나오는 기술 관련 소식을 이용한다. 또는 전문가가 하는 말에 귀를 기울이기도 한다. 이러한 방법들도 좋지만, 기술의 흐름과 현황에 대해 직접 정량적으로 분석하고 싶을 때 우리가 선택할 수 있는 방법은 딱히 떠오르지 않는다. 정량적인 분석을 할 수 있는지 의심스럽기도 하다.

인포리언스는 기술 변화의 흐름을 스스로 탐지하고 분석하는 시스템을 독자적으로 개발하고 있다. 이번 포스팅에서는 인포리언스가 직접 수집하고 있는 데이터의 일부를 활용하여 기술의 흐름을 측정한 결과를 제시한다. (이 포스팅에서는 2005년 1월에서부터 2016년 12월까지 Computer Science 분야에서 국제적으로 나타난 기술 이슈의 흐름을 설명한다. 제한적인 데이터를 활용한 초기 결과임에 유의하자.)

나의 화려한 날은 가고…

IT 기술 전반에 대한 관심이 커지고 있음에도 불구하고, 활용도가 높아지지 않는 기술들도 있다. 한때 특정 분야에서 큰 주목을 받았으나, 최근의 상승세에는 동참하지 못한 기술들이다. 아래의 그림들을 통해 확인해 보자. (y축의 값은 기술의 활용도를 0에서 1사이의 값으로 normalization한 수치를 나타낸다.)

1

그림 1.  HMM 트렌드

HMM(Hidden Markov Model)은 데이터에 나타난 순서 패턴을 학습하거나 탐지하는 데 쓰여왔던 기술이다. 특히 음성인식, 영상인식과 NLP 분야에서 그 활용도가 높았다. 그러나, 위의 그래프에서 볼 수 있는 바와 같이 최근의 상승세에 동참하지는 못한 것처럼 보인다. (비슷한 분야에서 활용되고 있는 CNN, LSTM 의 흐름(그림 9. 그림 10.)과 비교해 보면 차이가 드러난다.)

2

그림 2. SOM 트렌드

SOM(Self-Organizing Map)은 신경망 모델 중의 하나이다. SOM은 높은 차원의 벡터들에 들어있는 특징을 그보다 낮은 차원의 벡터로 매핑하는 방식의 unsupervised learning 기법이다. SOM은 데이터에 포함된 군집 특성을 분석하는 데에 많이 활용되었으나, 최근에는 많이 언급되지 않는다.

3

그림 3. Haptic 트렌드

Haptic은 디바이스에 진동이나 움직임을 포함시켜 사용자에게 터치감(sense of touch)을 제공하는 기술이다. 이 기술은 Human-Computer Interaction 분야에서 많이 연구되었는데, 최근에는 예전과 같지 않은 흐름을 보인다.

4

그림 4. MLP 트렌드

MLP(Multilayer Perceptron)은 신경망을 공부할 때 제일 먼저 접하게 되는 모델이다. 최근에 주목받고 있는 딥러닝 모델들의 기본이라고 할 수 있다. 그러나 최근에는 더 복잡한 모델에 자리를 내어주었다.

5

그림 5. Kalman 트렌드

Kalman Filter는 노이즈가 포함되어 있는 데이터로부터 현재 상태에 대한 최적의 예측값을 추출하는 기법이다. 이 기술은 머신비전, 항공 우주, 기상 예측 등과 같은 분야에서 많이 활용되었다. 최근에는 그림에서 볼 수 있는 바와 같이 활용도가 정체되어 있다. 그러나 Kalman Filter는 변형된 응용 모델이 많고, Computer Science 이외의 분야에서도 많이 활용되고 있어서 정확한 추세를 확인하려면 데이터가 더 필요하다.

6

그림 6. EEG 추세

EEG(Electroencephalography)는 뇌의 활동 상태를 나타내는 중요한 지표이다. EEG는 사람의 감정이나 흥분 정도, 또는 집중도를 측정하는 응용에서 많이 활용해왔으나 최근에는 그 활용도가 정체되어 있다. 그러나 EEG는 Computer Science 이외의 분야에서 활용도가 더 높을 수 있다.

7

그림 7. DTW 트렌드

DTW(Dynamic Time Warping)는 길이가 다른 두 벡터의 유사도를 계산하는 방법 중의 하나로, 음성인식, 특히 고립 단어의 인식에 많이 활용되었다. 이 기술은 여전히 사용 중이지만, 패턴 인식 분야에서는 다른 모델에게 자리를 물려주었다.

8

그림 8. Particle Filter 트렌드

Particle Filter는 베이지안 확률 분포 추론이나 신호 처리 등의 분야에서 활용되는 Monte Carlo 알고리즘들 중의 하나이다. 입력 데이터가 완전하지 않을 때 시스템의 상태를 추론하는데 쓰이는 방법이다.

화려한 등장

9

그림 9. CNN 트렌드

10

그림 10. LSTM 트렌드

Deep learning 분야의 기술 중에서 가장 대표적인 것은 CNN(Convolutional Neural Network), LSTM(Long Short-Term Memory)일 것이다. 이 기술들은 최근에 머신비전, 음성인식, 자연어 처리 등과 같은 분야에서 많이 활용되고 있으며, 뛰어난 성과를 보여주고 있다.

11

그림 11. Drone 트렌드

Drone 관련 기술은 계속 발전하고 있으며, 활용 분야가 점점 다양해지고 있다. Drone은 2018년 평창 올림픽의 개회식과 폐회식에서도 큰 화제가 되었다. 지능을 갖춘 Drone 은 미래의 삶의 환경을 크게 바꾸어 놓을 것이다.

12

그림 12. Blockchain 트렌드

Blockchain은 신뢰성을 향상시킨 분산 정보처리 시스템 기술이다. 최근에는 암호화폐와 함께 큰 이슈가 되고 있다.

13

그림 13. Healthcare 트렌드

14

그림 14. EHR 트렌드

15

그림 15. Diabet 트렌드

건강과 관련된 이슈는 언제나 중요하다. 그리고 Computer Science 분야에서도 늘 그래왔다. 그래프에서 확인할 수 있는 바와 같이 healthcare와 관련된 내용들은 꾸준히 주목받고 있다. 특히 EHR(Electronic Health Record)와 관련된 이슈는 급격히 상승하는 패턴을 보인다. 전 세계적으로 환자가 늘어나고 있는 diabet과 관련된 이슈도 꾸준히 증가하고 있다. 이것은 원격 의료, 데이터 분석, 인공지능을 적용한 건강 관리에 주목하고 있는 세계적인 기술 흐름과 관련된다.

16

그림 16. Chatbot 트렌드

머신러닝 및 자연어 처리 기술의 발전으로 인해 컴퓨터와 자연스러운 대화를 할 수 있게 하는 chatbot 기술이 크게 이슈화되었다. Chatbot 기술은 앞으로 컴퓨터를 활용하는 방법에 큰 변화를 가져올 수도 있다.

17

그림 17. Social network 트렌드

Twitter, Facebook, Intagram 등과 같은 소셜 미디어의 발전은 Computer Science 분야에도 큰 영향을 미쳤다. 다양한 데이터 분석 기법을 적용하여 사용자 사이의 상호작용 패턴을 연구하거나 정보가 확산되는 패턴을 분석하는 것 등이 대표적이다.

18

그림 18. Android 트렌드

스마트폰은 컴퓨팅 환경 뿐만 아니라 삶의 방식에 일대 변혁을 가져왔다. 그리고 그러한 흐름은 android 관련 이슈의 흐름 패턴에서도 나타난다.

19

그림 19. Gradient descent 트렌드

Gradient descent는 신경망 모델의 오차를 줄이기 위한 방법 중의 하나이다. 신경망 모델에 대한 최근의 높아진 관심과도 관련이 있다.

20

그림 20. Word2vec 트렌드

Word2vec은 모든 단어들을 벡터 공간에 embedding시켜 문법적, 의미적 특징을 표현하는 방법이다. Google의 연구자들에 의해 만들어진 후 많은 사람들에 의해 크게 활용되고 있다.

남아있는 의문들과 미래

위의 그래프들을 확인해 보니, 잊혀져 가는 기술도 있고, 새롭게 무대에 등장한 기술도 있는 듯 하다. 또한 우리가 피부로 느낄 수 있는 변화가 데이터의 추세에도 실제로 나타나고 있음을 확인할 수 있다. 그렇다면 다음과 같은 의문들이 생긴다.

  1. 2017년 이후의 이슈 흐름은 어떠했을까? – 더 많은 분석을 위해 남겨두자.
  2. 좀 더 세부적인 기술 트렌드를 확인할 수 있을까? – 충분히 가능하다.
  3. 이러한 데이터 흐름으로부터 무엇을 더 알아낼 수 있을까? – 우리의 상상력에는 끝이 없다. Let’s give it a shot!!
  4. 과거의 데이터 흐름을 기반으로 미래의 기술 변화를 예측할 수 있을까? – Only the challenger can do something.
  5. 어떤 데이터를 쓰면 좋을까? – 데이터를 수집하고 좋은 데이터를 선별하는 작업은 이러한 프로젝트에서 피할 수 없는 과정이다.

인포리언스는 머신러닝, 자연어 처리, 시계열 분석 등의 보유 기술을 통합 적용하여 이런 질문들에 대한 답을 만들고 있다. 그리고 곧 답안을 조금씩 공개할 예정이다. 2편을 기대해도 좋다.

카테고리: Tech. of Inforience, Trends of Data, Machine Learning, A.I. | 댓글 4개

Analysis of technology trends (1)

Go to Korean ver. of this article. (http://222.114.71.21:10100/2018/03/05/technologytrends1kor/)

Technology, especially in the IT field, changes quickly. New technologies appear, or old technologies improve. Sometimes past technologies are reused in new fields. Smartphones have changed our lives over the past decade, and the deep neural network models, which have not been noticed before, is exploding in the field of machine learning in recent years.

New technologies are becoming more and more influential in human lives. Therefore, understanding the trends of technologies has become important. Technologies, like human life, disappear through the day of birth and glory. Disappeared technology may be the mother of other technologies. We need to know exactly what new technologies are emerging and getting attention. This information is necessary for forecasting market changes and establishing business plans. It also plays important roles in the policy making process of government agencies. It also plays important roles in predicting how our lives will change in the future.

What should we do?

Is there any good way to measure the process of change in technology? What data should be used to capture the trends? In general, we read newly published trends reports, technical books, or news. We listen to what experts say. These methods are good, but it is not easy to find a way to analyze the trends of technology personally and quantitatively. It is even doubtful whether quantitative analysis is possible.

We are developing a system to detect and analyze the trends of technology. In this post, we present the results of measuring the trends of technology using parts of the data collected by us. (In this post, we describe the international trends of technologies in the field of Computer Science from January 2005 to December 2016. Note that this is an early result of using limited data.)

My glory days are history …

Despite the growing interest in IT technology in general, there are technologies that do not attract attention. These are technologies that have once attracted a great deal of attention in certain areas but have not participated in the recent upturn. Let’s look at the figures below. (The value on the y-axis represents the normalized degree of the utilization of the technology.)

1

Figure 1. HMM trend

HMM (Hidden Markov Model) is a technology that has been used to learn or detect the sequential patterns included in the data. Especially, it has been used in the field of speech recognition, video recognition, natural language processing, and so on. However, as you can see from the figure above, it seems that it has not been able to join the recent upturn. (Compared with the trends of CNN and LSTM, which are used in similar fields (Figure 9. Figure 10.), the difference is clear.)

2

Figure 2. SOM trend

SOM (Self-Organizing Map) is one of neural network models. SOM is an unsupervised learning method that maps features in higher dimensional vectors to lower dimensional vector space. SOM has been widely used to find the characteristics of clusters in data, but it has not been mentioned much recently.

3

Figure 3. Haptic trend

Haptic is a technology that provides a sense of touch to the user by including vibration or motion in the devices. This technology has been studied extensively in the field of Human-Computer Interaction. In recent years, the current is not the same as before.

4

Figure 4. MLP trend

MLP (Multilayer Perceptron) is the first model to be encountered when studying neural networks. It can be said that it is the basis of deep learning models that have recently been attracting attention. In recent years, however, it has given way to more complex models.

5.png

Figure 5. Kalman trend

Kalman Filter is a technology for extracting the best predicted value for the current state from the noisy data. This technology has been widely used in several areas such as machine vision, aerospace, and weather forecasting. Recently, as shown in the figure, the degree of use looks stagnant. However, the Kalman Filter has a lot of modified models and is widely used in fields other than Computer Science, so more data is needed to confirm.

6.png

Figure 6. EEG trend

EEG (Electroencephalography) is an important indicator of brain activity. EEG has been widely used in applications to measure human emotion, excitement, or concentration but in recent years its utilization has stagnated. However, EEG can be used more in areas other than Computer Science.

7.png

Figure 7. DTW trend

DTW (Dynamic Time Warping) is one of the methods of finding the similarity of two vectors with different lengths, and is widely used for speech recognition, especially for isolated word recognition. This technology is still in use, but it is giving way to other models in the field of pattern recognition.

8.png

Figure 8. Particle Filter trend

Particle Filter is a kind of Monte Carlo algorithms used in Bayesian probability distribution inference and signal processing. It is a method to find the state of the system when the input data is incomplete.

New appearance, let’s say hello to …

The hottest technologies in the field of Computer Science in recent years are cloud, IoT, deep learning technologies, blockchain, and so on. These technologies are largely driven by the development of large-capacity memories, processors, and GPUs, and their applications are continuing to expand.

9.png

Figure 9. CNN trend

10

Figure 10. LSTM trend

Among the technologies in the deep learning field, the most representative ones are CNN (Convolutional Neural Network) and LSTM (Long Short-Term Memory). These technologies have recently been widely used in fields such as machine vision, speech recognition, natural language processing, and the like.

11.png

Figure 11. Drone trend

Drone related technology is still developing, and application fields are becoming more and more diverse. Drone became a big topic in the opening and closing ceremonies of the 2018 Pyeongchang Olympic Games. The intelligent Drone will greatly change the environment of the future life.

12.png

Figure 12. Blockchain trend

Blockchain is a distributed information processing system technology that improves reliability. In recent years, it has become a big issue with cryptocurrency.

13.png

Figure 13. Healthcare trend

14.png

Figure 14. EHR trend

15.png

Figure 15. Diabet trend

Health-related issues are always important and it has always been in the field of Computer Science. As can be seen from the figure, the healthcare-related technologies are attracting attention. In particular, issues related to the Electronic Health Record (EHR) show a pattern of rapid increase. The issue of diabetes, which is increasing worldwide, is also steadily increasing. This is related to the global trends that focus on healthcare with telemedicine, data analysis, and artificial intelligence.

16.png

Figure 16. Chatbot trend

With the advancement of machine learning and natural language processing technologies, chatbot technology has become a major issue that enables natural conversation with computers. Chatbot technology can make a big difference in how you interact with computers in the future.

17.png

Figure 17. Social network trend

The development of social media such as Twitter, Facebook, and Intagram has had a big impact on Computer Science. It is typical to study interaction patterns among users by applying various data analysis techniques or to analyze patterns of spreading information.

18.png

Figure 18. Android trend

Smartphones have transformed not only the computing environment but also the way of life. And such trends also appear in the trends of android-related issues.

19.png

Figure 19. Gradient descent trend

Gradient descent is one of the methods to reduce the error of the neural network models. It is also related to the recent increased interests in neural network fields.

20.png

Figure 20. Word2vec trend

Word2vec is a way to express grammatical and semantic features of words by embedding all words into vector space. It was created by Google’s researchers and has been widely used by many.

The remaining questions and the future

Looking at the figures above, there are forgotten technologies, and there seems to be new technologies on the stage. Also, we found that the changes actually appear in the trend of the data. Subsequently, the following questions arise.

  1. What happened in the trends since 2017? – Leave it for further analysis.
  2. Can we identify more detailed technology trends? – Of course it is possible.
  3. What can we find from these trends? – There is no limit in our imagination. Let’s give it a shot !!
  4. Can we predict future technological trends based on past trends? – Only the challenger can do something.
  5. What data should be used? – Collecting data and selecting good data is an inevitable process in these kinds of projects.

Inforience is trying to find answers of these questions by integrating techniques such as machine learning, natural language processing, and time series analysis. And soon we will release our answers. We are looking forward to the next article.

카테고리: Tech. of Inforience, Trends of Data, Machine Learning, A.I. | 댓글 2개

Inforience ?

클릭 >> Hello, world !! (from ShadowEgo)

인포리언스(Inforience, Inc.)는 시계열, 텍스트(자연어) 및 이미지 데이터에 나타난 패턴을 탐지, 식별하고 그 의미를 지능적으로 해석하는 분야를 필두로 하여 인공지능 기술의 실제적, 산업적 응용을 위한 다양한 연구를 수행하고 있습니다. 2013년 설립 이후 현재까지 약 30여 개의 다양한 기업체들과 연구기관들을 대상으로 컨설팅 및 연구개발 프로젝트를 수행했으며, 이러한 과정에서 축적된 응용 경험과 노하우를 바탕으로 인공지능 분야에 특화된 수요자 친화적인 통합 연구 프로세스를 개발하고 있습니다.

인포리언스가 수행한 시계열 분석 분야의 대표적인 연구는 다음과 같습니다.

  • 기계 소음(진동) 데이터, 온습도 및 가속도 센서 데이터의 특징을 탐지하는 알고리즘의 개발
  • 원자력, 항공우주 분야의 설비 운전 데이터를 분석하는 연구
  • ECG, EEG와 같은 생체 신호 시계열 데이터 등에 나타난 미세 패턴을 탐지, 분류하는 알고리즘의 개발
  • 영어 학습 컨텐츠에 나타난 어휘 패턴과 문장 구조를 분석하여 학습 컨텐츠를 지능적으로 추천하는 시스템을 구현하는 연구
  • 특허 및 연구논문에 나타난 세부 주제의 구조와 흐름을 분석하여 정보 변화의 추세를 파악하는 연구
  • 신문기사에 포함된 주요 정보를 자동 추출하는 모듈의 개발
  • 법정 판례 문서의 특성과 구조를 분석하여 지능적인 법률 서비스를 제공하는 시스템을 구현하는 연구
  • 의료 슬라이드에 나타난 초미세 염증 패턴을 탐지하는 분야의 연구

(문의메일은 contact@inforience.com)

카테고리: Inforience NEWS | 태그: | 댓글 남기기

인포리언스 소식 (2017년 9월 ~ 2018년 2월)

클릭 >> Hello, world !! (from ShadowEgo)

2017년 9월부터 2018년 2월까지 인포리언스는 다양한 연구개발 프로젝트를 수행했습니다. 2건의 특허가 새로 등록되었고, 1건의 특허를 출원목록에 추가하였으며, 자연어 처리(Natural Language Processing) 기술을 응용한 프로젝트, 그리고 수치 시계열(Time Series) 분석 기술을 활용한 프로젝트를 수행하여 그 결과들을 외부기업들 및 연구기관에 공급하였습니다. 또한 CoDIP(http://222.114.71.21:10100/2017/07/31/codipintro1/)%EC%97%90 탑재할 시계열 패턴 학습 및 자동 패턴 탐지 기술을 계속 개발하고 있습니다.

(1) 새로운 특허의 등록과 출원

2017년 10월에는 2건의 특허가 새롭게 등록되었고, 2018년 1월에는 1건의 특허를 추가로 출원하였습니다. 2017년 10월에 등록된 2건의 특허는 지속적으로 생성되는 수치 시계열에서부터 주요한 패턴을 찾아내고 활용하는 기술을 담고 있습니다. 이 특허들은 여러 종류의 시계열 데이터가 동시에 입력될 때, 각 개별 시계열 데이터에서부터 중요한 특이 패턴들을 찾아내고, 각 패턴들 사이의 관련성과 의미를 자동적으로 찾아내는 과정에 필요한 원천적인 기술을 설명하고 있습니다. 2018년 1월에 새로 출원한 특허는 고차원 (multi-dimensional) 시계열 데이터에서 패턴을 찾아내는 과정에 사람의 지식과 머신러닝 알고리즘을 통합 적용하여 클라우드형 데이터 서비스를 지능화하는 기술에 관한 것입니다. (진정한 의미에서의 “information + experience = inforience” 라고 할 수 있습니다.)

F1

그림 1. 시계열 데이터에서 패턴을 찾아내는 과정의 개념

인포리언스는 이미 등록(출원)된 국내 및 미국 특허들과 이번에 새로 등록(출원)된 특허들에 명시되어 있는 기술들을 바탕으로, 시계열 데이터의 특성과 활용방법을 자동적으로 찾아내는 지능적인 시스템을 개발하고 있습니다. 이 개발이 완료되면 사람의 동작이나 건강상태, 상황 정보, 특정 시스템이나 서비스의 상태, 그리고 여러가지 사회적 현상과 흐름 등을 스스로 탐지, 이해하는 지능적인 서비스를 구현할 수 있습니다. 이 기술들은 모두 CoDIP에 탑재될 예정입니다.

(2) SEED API 의 활용

SEED API는 영문 단어, 문장, 텍스트로부터 다양한 특성을 추출하는 기능을 포함하고 있으며, 이전 포스팅(http://222.114.71.21:10100/2017/08/11/seedapi1/)%EC%97%90%EC%84%9C 그 개념을 간단히 소개한 바 있습니다. SEED API는 외부 기업의 영어 학습용 온라인 서비스에 시범적으로 활용되고 있습니다. SEED API에 적용된 기술들은 지능적인 영문 텍스트의 분석을 필요로 하는 다른 서비스에도 활용될 수 있습니다. (예를 들어, 추후에 언급할 기술 흐름 분석 시스템에서도 관련 기술의 일부가 활용됩니다.)

인포리언스는 SEED API의 기능과 출력을 체험해 볼 수 있는 웹사이트를 가까운 시일 안에 오픈할 예정입니다.

(3) 뉴스 흐름 분석

인포리언스는 온라인 뉴스에 나타난 이슈의 흐름들을 분석하는 연구를 수행하였습니다. 특히 지난 2년(2016년 1월1일 ~ 2017년12월31일)동안 우리 사회에는 정치적, 사회적, 기술적인 변화와 울림이 참 많았는데, 온라인 뉴스에도 그와 같은 패턴이 고스란히 반영되었음을 확인할 수 있었습니다. 이 연구의 결과와 활용방안을 느껴볼 수 있는 새로운 포스팅과 웹사이트를 가까운 시일 안에 오픈할 예정입니다.

F2

그림 2. 지난 2년간 특정 정치인의 이름이 온라인 뉴스에서 언급되는 패턴의 흐름 (누굴까요?)

(4) 기술 흐름 분석

기술 집약적 산업은 우리나라의 중요한 성장 동력들 중의 하나이기 때문에, 기술 변화의 현황과 흐름을 파악하고 예측하는 일은 매우 중요합니다. 따라서, 인포리언스는 다양한 관련 데이터를 통합 활용하여 국제적인 기술 변화의 흐름을 엄밀하게 파악할 수 있게 하는 서비스를 독자적으로 개발하고 있습니다.

F3

그림 3. 2007년을 제외하고는 HMM(Hidden Markov Model)이 활용되는 추세에는 큰 변화가 보이지 않습니다. 이 그래프에 의하면 최근에 각광받고 있는 CNN(Convolutional Neural Networks)과 LSTM(Long Short-Term Memory)이 활용되는 추세가 급격하게 늘어난 것은 2014년부터입니다.

기술 정보는 정확도가 생명이므로, 인포리언스는 뉴스 흐름 분석 과정에 활용된 기술들보다 더 발전된 기술들을 이 프로젝트에 적용하고 있습니다. 또한 IT분야의 기술 흐름을 측정하는 것에서 시작하여 점차 다양한 분야로 분석 대상을 확대해 나갈 예정입니다. 이 연구의 결과와 활용방안을 느껴볼 수 있는 새로운 포스팅과 웹사이트를 가까운 시일 안에 오픈할 예정입니다.

(5) 센서에 지능을 부여하는 오픈 클라우드 시스템

인포리언스는 누구나 자신의 센서에 지능을 부여할 수 있게 하는 오픈 클라우드 시스템을 개발하였습니다. 이 시스템은 사용자로 하여금 클라우드에 공간을 만들어 자신의 센서가 전송하는 데이터를 모을 수 있게 합니다. 사이버 공간은 일정 수준 이상의 기본 지능을 갖추고 있어 데이터에서 특정 패턴이 탐지되면 관련 정보를 출력하거나 사용자의 스마트폰으로 전송합니다. 이 외에도, 사용자는 자신이 원하는 지능을 직접 디자인하여 적용할 수 있으며, 자신의 사이버 공간에 가족이나 동료, 친구를 초대하여 데이터와 서비스를 공유할 수 있습니다.

F4

그림 4. 온습도 데이터 분석 서비스의 개념

이 시스템은 한 센서 유통 기업이 온습도 센서에 적용하여 사업화하고 있습니다. 인포리언스는 이 시스템의 지능 수준과 사용자 인터페이스를 지속적으로 발전시키고 있으며, 센서가 아닌 다른 타입의 데이터에도 응용할 수 있도록 확장하고 있습니다.

(6) 시계열 데이터에서 자동적으로 패턴을 탐지

기술 흐름, 센서 데이터 등은 데이터의 종류는 확연히 다르지만, 시계열(time series)로 표현될 수 있다는 공통점을 가지고 있습니다. 시계열 데이터를 관찰하면 시간에 따른 상태(상황)의 변화를 확인할 수 있지만, 사람이 계속 데이터를 들여다 볼 수는 없다는 한계가 있습니다. 따라서, 시계열에 포함된 유의미한 패턴을 자동으로 탐지하는 기술이 전 세계의 많은 개발자들에 의해 연구되어 왔습니다.

F5

그림 5. 인포리언스가 개발한  Anomaly Detection 알고리즘이 (과거 데이터 패턴에 대한 학습과정 없이) 주파수가 높아진 구간을 실시간으로 탐지한 예. (참 쉬워 보이죠? 그러나 쉽지 않습니다.)

인포리언스도 이와 같은 기술의 연구개발에 동참하고 있습니다. 특히, 인포리언스가 독자적으로 개발한 anomaly detection 기법은 과거 데이터에 대한 학습과정이 없는 (머신러닝을 활용하지 않는) ‘가벼운’ 알고리즘임에도 불구하고 좋은 성능을 보입니다. 인포리언스는 이 알고리즘을 다양한 종류의 데이터와 패턴에 적용하면서 수정, 보완하고 있습니다. 또한 고차원 (multi-dimensional) 시계열 데이터를 위한 anomaly detection 알고리즘과, 데이터가 과거에 이미 보였던 패턴들을 학습하여 anomaly를 탐지하는 머신러닝 기반의 ‘무거운’ 알고리즘에 대한 기술도 보유하고 있습니다. 이러한 연구의 결과와 활용방안을 느껴볼 수 있는 새로운 포스팅을 가까운 시일 안에 업로드할 예정입니다.

F6

그림 6. 과거 데이터를 열심히 공부한 후에 새로 입력되는 데이터에 포함된 패턴을 탐지한다면. (LSTM, CNN, HMM 등등…)

(7) 앞으로의 연구개발

인포리언스는 데이터에 나타난 흐름과 패턴을 자동으로 탐지하고, 학습하며, 그 의미를 스스로 학습하는 지능적인 방법들을 지속적으로 연구개발하고 있습니다. 비교적 간단한 heuristic을 적용한 방법에서부터 대용량의 데이터에 대한 학습을 필요로 하는 머신러닝에 이르기까지, 사용자가 자신의 경험과 지식을 직접 부여하여 개인화(personalization)할 수 있게 하는 방법에서부터 사람의 참여가 전혀 필요없는 100% 자동화된 기술에 이르기까지, 그리고 센서와 같이 빠르게 수집되는 데이터에서부터 문서 데이터와 같이 비교적 느리게 수집되지만 다양한 의미가 포함되어 있는 데이터까지, 연구개발의 스펙트럼을 계속 넓혀가고 있습니다.

카테고리: Inforience NEWS, Tech. of Inforience | 태그: , | 댓글 남기기

SEED API : Natural Language Processing 기반의 영문 특성 추출 API 의 개발과 활용

클릭 >> Hello, world !! (from ShadowEgo)

온라인에서 활동하시는 치밀한 선생님

윤러닝씨는 몇달 전부터 경제학을 공부하고 싶다는 생각을 해왔다. 그래서 정보를 좀 검색해 보니, 요즘에는 온라인으로 수강할 수 있는 강좌들도 많고, 학점도 딸 수 있다고 해서, 모 온라인 대학의 경제학 기초 과목을 수강하기로 했다. 나름대로 크게 마음을 먹고 행동으로 옮겼는데, 공부해야 할 양이 많고 시간도 많이 들 것 같아 슬쩍 걱정이 되었다. 그런데, 공부를 하다보니, 내가 얼마나 공부를 했는지, 어느 정도나 이해했는지, 어떤 내용을 좀 더 보충하면 좋을 지, 다음 단계에서는 어떤 자료를 보면 좋을 지 등과 같은 정보를 적절한 타이밍에 자동으로 알려주어서 생각보다 힘들게 느껴지지 않았다. 윤러닝씨는 그렇게 온라인 강좌 시스템의 안내에 따라 차근차근 기초 과목의 공부를 끝냈다. 만족스러운 결과를 얻어 공부가 재미있어진 윤러닝씨는 내친 김에 좀 더 높은 수준의 경제학 전공과목도 공부해 볼까 생각하며 즐거운 고민을 하고 있다.

위의 이야기는 가상의 시나리오지만, 최근의 교육환경은 위와 같은 시나리오가 실제로 가능해지게끔 계속해서 진화, 발전하고 있다. 다시 말해서, 누구나 원하는 주제의 강좌를 찾아 온라인으로 스스로 공부할 수 있고, 공부하는 동안 학습자의 학습 패턴과 수준을 측정, 분석해서 적절히 활용할 수 있게 된 것이다. 이러한 것들이 가능해진 것은, 학습 대상이 되는 많은 컨텐츠들이 디지털화되어 서비스로 제공되고 있고, 학습자 개인에 대한 다양한 데이터를 수집할 수 있게 되었으며, 이를 분석하고 활용할 수 있는 다양한 기술들이 뒷받침되고 있어서다.

F1

그림 #1. Learning Analytics 에서의 데이터의 수집 저장, 선택, 분석, 해석, 활용까지. (Figure from “Learning Analytics: Concepts, methods, tools, achievements, research directions and perspectives, Learning Technology and Educational Engineering Lab”, Αngelique Dimitracopoulou)

인포리언스, SEED API

인포리언스는 데이터 분석, 머신러닝, Natural Language Processing (NLP) 등과 같은 분야의 기술들을 연구개발하는데, 최근에는 이러한 기술들을 학습자 친화적인 교육 서비스를 구축하는 것에 접목하기 위한 프로젝트를 진행하고 있다. 그 첫번째 테마로서, 영문 텍스트 분석 기술을 영어 학습 과정에 활용하는 것에 초점을 맞추고 있다. 인포리언스가 다른 기술들 중에서도 영문 텍스트 분석 기술을 활용하는 것을 첫번째 테마로 선택한 이유는 다음과 같다.

  1. 영문 텍스트 분석 기술은 오랜 기간에 걸쳐 전 세계적으로 (인포리언스 뿐만 아니라 많은 연구자들에 의해) 많은 연구가 이미 진행되어, 활용 가능한 결과들이 풍부한 편이다.
  2. 교육 환경에 기술적 요소들을 적절하게 접목시키기 위해서는, 해당 기술들에 대한 지식 뿐만 아니라 교육 및 학습 과정, 교육 서비스의 구조 및 학습자에 대한 이해와 경험을 갖추는 것이 필요한데, 영어는 많은 사람들이 다양한 목적으로 공부하는 주제이며 다양한 형태의 온라인 학습 서비스가 제공되고 있기 때문에, 이러한 이해와 경험을 수집하기에 적합하다.

SEED는 인포리언스에서 개발하고 있는 영문 텍스트 분석용 기본 API 의 명칭으로서, “Smart, English, Education, Data”의 약자이다. SEED API는 영문 컨텐츠들의 특성을 추출하는데 필요한 여러가지 기능들을 제공하는데, 학습자가 공부하고 있거나 지금까지 공부해 온 내용들로부터 학습자의 학습패턴, 수준, 학습방향 등을 파악하는 것에 활용할 수 있다. 더 나아가, 이렇게 파악된 결과를 바탕으로 새롭게 학습할 컨텐츠를 추천해 주는 데에도 활용할 수 있다.

영어 학습 서비스를 제공하는 클라이언트 서비스들은 원하는 타이밍에 SEED API의 특정 기능을 호출하여 사용할 수 있다. SEED API 는 어떤 타입의 영어 학습을 목표로 하는가에 무관하게 모두 활용할 수 있도록 가장 일반적이면서도 중요한 기능들을 포함하고 있다. 예를 들어, 학습자가 자신이 공부할 단어를 선택하는 순간에 해당 단어에 대한 부가정보를 수집하여 제공한다거나, 학습자가 특정 문장을 쓰거나 읽을 때에 해당 문장에 대한 부가정보를 제공할 수 있도록 지원한다.

스크린샷 2017-07-23 23.03.25

그림 #2. 클라이언트 서비스가 단어, 문장, 또는 단락을 입력으로 설정한 뒤 SEED API 의 함수를 호출하면 SEED API 의 함수는 입력된 내용에 대한 분석 결과를 출력하여 제공한다. (Document set 을 입력으로 받는 함수는 차기 버전에 포함될 예정)

SEED API v0.1 의 기능 구성과 활용

인포리언스는 SEED API 의 첫번째 버전 (ver. 0.1) 을 개발 완료하고 테스트를 하는 단계에 와 있다. 0.1 버전에는 다음과 같은 함수들이 포함되어 있는데 (추후에도 필요한 기능의 함수를 지속적으로 발굴하여 포함시킬 예정), 입력된 내용에 대해 각 함수가 출력하는 내용은 다음과 같다. (실제 함수명은 본 포스팅의 마지막 부분을 참조)

  • 단어를 입력
    • (F1) 입력된 단어의 난이도를 출력
    • (F2) 입력된 단어와 같은 문장에서 함께 자주 나타나는 단어들을 출력
    • (F3) 입력된 단어로부터 유추할 수 있는 다른 단어들을 출력
    • (F4) 입력된 단어가 실제로 사용된 문장의 예시들을 출력
    • (F5) 입력된 단어가 어떤 주제의 문서에서 주로 쓰이는 지에 대한 정보를 출력
  • 문장을 입력
    • (F6) 입력된 문장의 문법적 오류를 체크하여 출력
    • (F7) 입력된 문장의 난이도를 출력
    • (F8) 입력된 문장과 유사한 형태의 구조를 가진 예문들을 출력
    • (F9) 입력된 문장과 유사한 난이도를 가진 예문들을 출력
    • (F10) 입력된 문장이 어떤 주제의 문서에서 주로 쓰이는 지에 대한 정보를 출력
  • 단락을 입력
    • (F11) 입력된 단락에 포함된 문장의 개수와 난이도를 출력
    • (F12) 입력된 단락과 유사한 난이도를 가진 단락들을 출력
    • (F13) 입력된 단락이 어떤 주제의 문서에서 주로 쓰이는 지에 대한 정보를 출력

SEED API 의 활용방안의 예를 들자면 다음과 같다. (물론, 여기서 예로 언급한 방안들 외에도 클라이언트 서비스의 목적과 내용에 따라 다양한 활용 방안을 고안할 수 있다)

학습자가 특정 단어를 공부할 때 F1을 호출하면 해당 단어의 난이도를 파악할 수 있다. 따라서, 학습자가 지금까지 공부해 온 단어들의 묶음을 확보할 수 있다면 개별 단어의 난이도를 바탕으로 난이도의 통계를 얻을 수 있다. 또한 이 정보는 문장 또는 단락에 포함된 단어들의 난이도를 바탕으로 해당 문장이나 단락의 난이도를 추정할 때에도 사용할 수 있다. F2나 F3은 학습자가 특정 단어를 공부할 때에 그 단어와 함께 학습할 단어를 추천하는 과정에서 활용될 수 있다. F4는 학습자가 공부한 단어가 포함된 예문을 제시해 주고자 할 때 호출할 수 있다.

학습자가 영작을 하거나, 문장을 공부할 때에는 F7을 호출하여 학습자가 공부해 온 문장들의 난이도를 얻어 학습 수준을 추정할 수 있다. 또한 F8이나 F9의 출력을 활용하면 입력 문장과 비슷한 수준의 예문을 찾아 추천할 수 있다.

학습자가 독해를 공부한다고 하면, 독해 단락 전체를 입력 파라메터로 설정할 수 있다. 예를 들어, 학습자가 오답을 낸 단락들을 입력으로 하여 F11을 호출하면 학습자가 어떠한 수준의 독해 문제를 자주 틀리는 지를 파악할 수 있다. F13을 통해서는 학습자가 어떠한 주제의 독해 지문을 이해하는데 어려움을 겪는가를 파악하려고 할 때, 그리고 F12는 비슷한 수준의 단락을 반복해서 학습하도록 서비스를 구성하고자 할 때 활용할 수 있다.

F5, F10, F13은 단어, 문장, 단락을 입력 파라메터로 받을 수 있는데, 입력된 내용이 주로 어떠한 주제의 영문 컨텐츠에서 활용되는지 알려줄 수 있으므로, 특정 학습자의 학습 히스토리로부터 학습자가 어떤 주제를 익숙하게 여길 지를 추정하거나, 지금까지 공부해 오지 않은 주제의 학습 컨텐츠를 찾아내어 제공하고자 할 때 적절히 활용할 수 있다.

SEED API 를 기반으로 한 서비스 구성

영어 학습 과정은 학습자의 수준에 맞게, 또는 클라이언트 서비스가 제공하고자 하는 서비스의 방향에 맞게 개별적으로 구성되어야 한다. 다시 말해서, 중학교 1학년 교과서 수준의 영어 공부를 하는 학습자에게 학술 논문에서나 나올 법한 어휘나 문장을 제공하거나, TOEFL 수준의 독해 학습을 하고 있는 학습자에게 중학교 1학년 교과서에 실릴만한 단락을 높은 수준을 매겨서 추천하는 것은 적합하지 않을 것이다.

temp2

그림 #3. SEED API 가 동작하는 이면에는 corpus 를 기반으로 한 눈물겨운(?) 학습과정이 있다.

SEED API 는 사전에 제공된 corpus (말뭉치)에 들어있는 텍스트들의 특성을 미리 학습하고, 그 결과를 기반으로 각 함수들의 출력을 생산해 낸다. Corpus는 텍스트 분석 과정에서 기본적으로 사용해야 할 영문 표본의 역할을 수행하므로, corpus 에 포함된 텍스트들의 수준, 품질, 용량, 구조 등에 따라 SEED API 의 학습결과와 출력결과가 달라진다. 예를 들어, 수능 영어 학습 과정에 SEED API 를 활용하려면, 수능 영어의 수준과 내용, 품질에 적합한 corpus 를 기반으로 SEED API 를 학습시켜야 하며, TOEFL 학습 서비스에 SEED API 의 출력결과를 붙이려면 TOEFL 의 수준과 내용을 잘 표현하는 corpus 를 SEED API 에 제공하여 학습하도록 해야 한다.

인포리언스는 기본적인 표준 corpus 를 확보하고 있으나, 이러한 표준 corpus 가 모든 종류의 영어 학습 서비스에 적합할 것이라 생각할 수는 없으므로, 영어 학습 서비스의 목적과 타입에 맞는 corpus (Custom corpus) 를 바탕으로 학습 서비스 제공자가 SEED API 를 직접 학습시킬 수 있게 할 예정이다. 이를 위해 인포리언스는, SEED API 를 사용할 영어 학습 서비스들이 자신들의 corpus 를 직접 업로드할 수 있게 하는 기능을 포함시킬 예정이다. 이렇게 자신이 보유한 custom corpus 를 직접 활용할 수 있게 되면, 좋은 품질과 충분한 용량의 corpus 를 확보한 서비스 클라이언트들이 SEED API 를 활용하는 과정에서 더 좋은 결과를 기대할 수 있게 된다.

실제 함수명

  • F1: getWordDifficulty()
  • F2: getCoOccurringWords()
  • F3: getContextuallySimilarWords()
  • F4: getExampleSentences()
  • F5: getContentTopics()
  • F6: analyzeSentenceGrammar()
  • F7: getSentenceDifficulty()
  • F8: getSimilarStructureSentences()
  • F9: getSameLevelSentences()
  • F10: getContentTopics()
  • F11: computeContentReadability()
  • F12: getSameReadabilityContent()
  • F13: getContentTopics()
카테고리: Tech. of Inforience | 댓글 3개