SlideShare a Scribd company logo
1 of 8
Download to read offline
Apache UIMA & RUTA를 활용한
자연어 처리 엔진 개발
2019. 3.
이현민
목차
1. 배경
2. Apache UIMA & RUTA
3. Integration
1. 배경(1/2)
Ⅰ. 개요
본 과제를 수행한 이유는 텍스트 분석시 RB 기반의 솔루션을 확보하기 위함입니다.
 Z 보험사 사례
− Z 보험사에서 TMR과 고객의 상담 발생 시 Call 정보에 의미를 부여 하는 과제를 수행(2018년).
− Keyword 기반으로 포함 여부로 판단함 => 키워드 방향, 거리, 제외어 등도 고려 필요
− In-House 개발로 다양한 고려 요소를 개발하기에는 생산성 측면에서 비율적. => 오픈소스 활용
 오픈소스를 활용한 접근
− 오픈소스로 나와 있는 다양한 제품들을 조사함.
− 위에 언급한 다양한 요소들을 효율적 적용이 가능한 제품을 찾음. => Apache UIMA & RUTA
− 최적의 제품을 이해하고 이를 Integration 하여 프로젝트 수행에 접합한 방향으로 추가 개발 진행
1. 배경(2/2)
Ⅰ. 개요
텍스트 분석에서 ML, DL 대비 RB 가 가지는 의미를 소개합니다.
Key
Features
ML RB
DL
 3가지 모델의 공통 요소는?
− 3가지 모델의 공통점은 Key feature
− DL도 Sequence Data와 Feature의 조합 가능
 Key Feature를 어떻게 탐색할까?
− Business 측면에서 탐색적 접근이 필요
− 텍스트에서의 탐색적 접근은 Keyword 기반의 RB
접근과 동일.
− RB와 ML은 상호 보완적인 관계
2. Apache UIMA(1/2)
Ⅰ. 개요
Apache UIMA는 텍스트데이터 분석을 위한 솔루션 입니다.
 Apache UIMA의 용도는?
− 텍스트 데이터에서 RB 기반의 Annotation Tool.
예) language identification => language specific segmentation => sentence boundary detection => entity
detection (person/place names etc.)
 Apache UIMA의 구성 요소는?
UIMA Java Framework Unstructured Information Management
applications
uimaFIT Framework a library that provides factories, injection,
and testing utilities for Apache UIMA
UIMA Scaleout
Frameworks
Providing capabilities to wrap components
network services, and can scale to very larg
volumes by replicating processing pipelines
over a cluster of networked nodes.
Ruta Ruta language를 이용한 Rule 구동 엔진
UIMA Java
Framework
UIMA Scaleout
Frameworks
uimaFIT
Frameworks
Ruta
2. Apache UIMA(2/2)
Ⅰ. 개요
Rule 개발 절차는 Keyword 탐색, Rule Factor, Logical Rule 정의 순서로 진행됩니다.
키워드 정의 Rule Factor 정의 Logical Rule 정의
 대표 키워드 및 키워드 정의
대표 키워드 정의
키워드의 집합을 대표하는 키
워드를 정의합니다.
예시) VIP
키워드 정의
대표키워드에 해당하는 키워드
를 정의합니다.
예시) VIP, Vip, vip, 브이아이피
 키워드의 순서
 키워드간의 거리
 제외어
키워드 간의 순서
키워드간의 순서를 정의합니다.
예시) 기존 보험을 업그레이드
합니다.
키워드 간의 거리
키워드간의 거리를 정의합니다.
예시) 위 예시의 경우 space 1
 Rule Factor를 활용하여 논
리 흐름을 정의합니다.
Logical Rule 예시
(Keyword1 All*? Keyword2)
{=> Last1};
Last1{count(SPACE,i)}
Last1{(if(i>2)) -> UNMARK
(Last1)};
3. Integration
Ⅰ. 개요
Apache UITA 관련 모듈 위에 서비스에 적합하도록 Custom Module 개발하였습니다.
Apache UIMA
Apache RUTA
Custom Module
Apache
FIT
 Custom Module 개발
− Script 동적 할당
− 공통 System 및 Type 정의
− 출력 Format 동적 할당
− 입력 출력 동적 설정
3. 결과
Ⅰ. 개요
실무에 적용하여 기대되는 요구 사항을 충족함을 확인하였습니다.
 20여 가지의 세부 유형 100가지 정도의 패턴에 적용하여 정상적으로 동작함을 확인함.
 Apache Ruta의 자유도가 높아 다양한 규칙을 작성할 수 있음.
 영어와 다르게 한글에 적합한 룰 정의가 필요함.
 Apache RUTA 스크립트 문법 숙지가 필수적임!!!
 향후, RB 및 DL에 사용되는 Features 외에 데이터의 특성으로 도출되지 않는 Manual
Feature 정의에 활용 가능.
 텍스트 기반 RB 기반 접근에 다양하게 활용 가능.

More Related Content

Similar to Apache UIMA & RUTA를 활용한 자연어 처리 엔진 개발

Similar to Apache UIMA & RUTA를 활용한 자연어 처리 엔진 개발 (20)

Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2Daejeon IT Developer Conference Struts2
Daejeon IT Developer Conference Struts2
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
01.표준프레임워크개요
01.표준프레임워크개요01.표준프레임워크개요
01.표준프레임워크개요
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
2011 메타마이닝 회사소개서(최신)
2011 메타마이닝 회사소개서(최신)2011 메타마이닝 회사소개서(최신)
2011 메타마이닝 회사소개서(최신)
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)
 
History and Status of HTML5
History and Status of HTML5History and Status of HTML5
History and Status of HTML5
 
ecdevday4
ecdevday4ecdevday4
ecdevday4
 
2-2. html5
2-2. html52-2. html5
2-2. html5
 
Rpa approach
Rpa approach Rpa approach
Rpa approach
 
[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개
 
MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발MySQL Document Store를 활용한 NoSQL 개발
MySQL Document Store를 활용한 NoSQL 개발
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵
 
Richslide for enterprise
Richslide for enterpriseRichslide for enterprise
Richslide for enterprise
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
Spring one참석기 ksug
Spring one참석기 ksugSpring one참석기 ksug
Spring one참석기 ksug
 

Apache UIMA & RUTA를 활용한 자연어 처리 엔진 개발

  • 1. Apache UIMA & RUTA를 활용한 자연어 처리 엔진 개발 2019. 3. 이현민
  • 2. 목차 1. 배경 2. Apache UIMA & RUTA 3. Integration
  • 3. 1. 배경(1/2) Ⅰ. 개요 본 과제를 수행한 이유는 텍스트 분석시 RB 기반의 솔루션을 확보하기 위함입니다.  Z 보험사 사례 − Z 보험사에서 TMR과 고객의 상담 발생 시 Call 정보에 의미를 부여 하는 과제를 수행(2018년). − Keyword 기반으로 포함 여부로 판단함 => 키워드 방향, 거리, 제외어 등도 고려 필요 − In-House 개발로 다양한 고려 요소를 개발하기에는 생산성 측면에서 비율적. => 오픈소스 활용  오픈소스를 활용한 접근 − 오픈소스로 나와 있는 다양한 제품들을 조사함. − 위에 언급한 다양한 요소들을 효율적 적용이 가능한 제품을 찾음. => Apache UIMA & RUTA − 최적의 제품을 이해하고 이를 Integration 하여 프로젝트 수행에 접합한 방향으로 추가 개발 진행
  • 4. 1. 배경(2/2) Ⅰ. 개요 텍스트 분석에서 ML, DL 대비 RB 가 가지는 의미를 소개합니다. Key Features ML RB DL  3가지 모델의 공통 요소는? − 3가지 모델의 공통점은 Key feature − DL도 Sequence Data와 Feature의 조합 가능  Key Feature를 어떻게 탐색할까? − Business 측면에서 탐색적 접근이 필요 − 텍스트에서의 탐색적 접근은 Keyword 기반의 RB 접근과 동일. − RB와 ML은 상호 보완적인 관계
  • 5. 2. Apache UIMA(1/2) Ⅰ. 개요 Apache UIMA는 텍스트데이터 분석을 위한 솔루션 입니다.  Apache UIMA의 용도는? − 텍스트 데이터에서 RB 기반의 Annotation Tool. 예) language identification => language specific segmentation => sentence boundary detection => entity detection (person/place names etc.)  Apache UIMA의 구성 요소는? UIMA Java Framework Unstructured Information Management applications uimaFIT Framework a library that provides factories, injection, and testing utilities for Apache UIMA UIMA Scaleout Frameworks Providing capabilities to wrap components network services, and can scale to very larg volumes by replicating processing pipelines over a cluster of networked nodes. Ruta Ruta language를 이용한 Rule 구동 엔진 UIMA Java Framework UIMA Scaleout Frameworks uimaFIT Frameworks Ruta
  • 6. 2. Apache UIMA(2/2) Ⅰ. 개요 Rule 개발 절차는 Keyword 탐색, Rule Factor, Logical Rule 정의 순서로 진행됩니다. 키워드 정의 Rule Factor 정의 Logical Rule 정의  대표 키워드 및 키워드 정의 대표 키워드 정의 키워드의 집합을 대표하는 키 워드를 정의합니다. 예시) VIP 키워드 정의 대표키워드에 해당하는 키워드 를 정의합니다. 예시) VIP, Vip, vip, 브이아이피  키워드의 순서  키워드간의 거리  제외어 키워드 간의 순서 키워드간의 순서를 정의합니다. 예시) 기존 보험을 업그레이드 합니다. 키워드 간의 거리 키워드간의 거리를 정의합니다. 예시) 위 예시의 경우 space 1  Rule Factor를 활용하여 논 리 흐름을 정의합니다. Logical Rule 예시 (Keyword1 All*? Keyword2) {=> Last1}; Last1{count(SPACE,i)} Last1{(if(i>2)) -> UNMARK (Last1)};
  • 7. 3. Integration Ⅰ. 개요 Apache UITA 관련 모듈 위에 서비스에 적합하도록 Custom Module 개발하였습니다. Apache UIMA Apache RUTA Custom Module Apache FIT  Custom Module 개발 − Script 동적 할당 − 공통 System 및 Type 정의 − 출력 Format 동적 할당 − 입력 출력 동적 설정
  • 8. 3. 결과 Ⅰ. 개요 실무에 적용하여 기대되는 요구 사항을 충족함을 확인하였습니다.  20여 가지의 세부 유형 100가지 정도의 패턴에 적용하여 정상적으로 동작함을 확인함.  Apache Ruta의 자유도가 높아 다양한 규칙을 작성할 수 있음.  영어와 다르게 한글에 적합한 룰 정의가 필요함.  Apache RUTA 스크립트 문법 숙지가 필수적임!!!  향후, RB 및 DL에 사용되는 Features 외에 데이터의 특성으로 도출되지 않는 Manual Feature 정의에 활용 가능.  텍스트 기반 RB 기반 접근에 다양하게 활용 가능.