SlideShare a Scribd company logo
1 of 34
Download to read offline
딥러닝을 활용한 뉴스 메타 태깅
김기도(olaf.kido)
kakao corp.(미래미디어파트)
배경
뉴스 메타데이터 (News Metadata)
콘텐츠 분석 정보언론사 제공 속성
뉴스 기사의 특징을 설명하는 정보들
기자
카테고리
언론사 형태 분류
내용 분류
이미지 분석
ML / DL
2018년 8월 7일자 인입 기사
뉴스 메타데이터 (News Metadata)
다양한 메타데이터를 확보하여 사용자에게 필요한 콘텐츠 제공에 활용
유익한 /
관심있는 /
필요한 것을
보고싶다!
컨텐츠의
특성들
다양한
메타데이터
=
Image: commons.wikimedia.org
뉴스 메타 태깅 시스템
메타데이터 생성과 활용이 잘 되려면 데이터의 유통이 간단해야 함
SILO
FLOW
Produce Consume
목차
1. 기사 형태 분류 하기
• Convolution Neural Network로

기사 형태 분류 하기
• 학습 데이터셋 구성 ~ 최종 모델 결과



2. 뉴스 메타 태깅 시스템
• 모델을 활용하는 메타 태깅 시스템 개발
• 데이터 흐름 및 System Design



3. 향후 과제
#텍스트분류
#딥러닝모델
#딥러닝개발
#메타데이터플랫폼 #다하는데요

...
발표에서 주로 다루는 것
학습
데이터
구성
모델
선정
메타데이터
기획
모델
구현
테스트 및
평가
모델
배포
서비스
운영
파라미터
설정
모델
API 구현
메타 태깅
설계/구현
딥러닝 스터디 한 것을 잘 활용해보려고
서비스 개발에 도전한 이야기!!!
딥러닝을 활용한
뉴스 메타 태깅
1. 기사 형태 분류 하기
2. 뉴스 메타 태깅 시스템
3. 향후 과제
기사 형태 분류
- 육하원칙 위주로 기술
- 스트레이트 기사라고 함
- 사건, 인물에 대한 심층 취재 기사
- 르포, 스케치, 인터뷰 등
사실 전달형 기사 (A) 해설/묘사형 기사 (B)
2018년 8월 21일자 인입 기사
이산상봉 이틀 째..'가족끼리' 개별상봉 및 오찬(종합)
남북 이산가족들이 상봉 행사 이틀째인 21일 개별상봉을 통해 좀 더 밀착된 시간을 보
낸다. 양측 가족들은 이날 오전 10시10분께 우리 측 상봉단의 숙소인 금강산 외금강
호텔의 각 객실에서 개별 상봉을 시작했다.
사실 전달형과 해설/묘사형을 나누는 문제로 정의
기사 형태 분류
2018년 8월 20일자 인입 기사
- 육하원칙 위주로 기술
- 스트레이트 기사라고 함
- 사건, 인물에 대한 심층 취재 기사
- 르포, 스케치, 인터뷰 등
사실 전달형 기사 (A) 해설/묘사형 기사 (B)
워리어 플랫폼 입고 사격해보니 '99점'
5 (5 ) . 5
, , , , . 

. , .
사실 전달형과 해설/묘사형을 나누는 문제로 정의
기사 형태 분류
2018년 8월 20일자 인입 기사
- 육하원칙 위주로 기술
- 스트레이트 기사라고 함
- 사건, 인물에 대한 심층 취재 기사
- 르포, 스케치, 인터뷰 등
사실 전달형 기사 (A) 해설/묘사형 기사 (B)
워리어 플랫폼 입고 사격해보니 '99점'
5 (5 ) . 5
, , , , . 

. , .
사실 전달형과 해설/묘사형을 나누는 문제로 정의
정보량이 많고 오래 읽을 만한 내용의
기사들을 찾는 특징 중 하나
Text Classification by
Character based Convolution Neural Network
• 논문
• Text understanding from scratch
• Character based convolution neural network (X Zhang, J Zhao, Y LeCun)
• 모델
• 6개 Convolution Layer
• 3개 Fully Connected Layer
• 구현
• Tensorflow
Image: X Zhang, J Zhao, Y LeCun. Character based convolution neural network (NIPS 2015)
뉴스 기사 분석을 위한 고려 사항들
뉴스 기사 콘텐츠를 “있는 그대로” 분석에 활용
• 형태소 분석, Word Embedding 보다는 Character 단위 처리

==> 기사 제목이나 본문의 특징적 기호 활용 (예: [날씨], (종합), “나혼자”) 

• 한글, 한자 Romanization (로마자 변환, 음역)

==> alphabet space 안에서 처리 (예: ⽂정부, ⾭ "소득성장 가속”)

• 문자와 단어의 순서 보존하여 기사의 문투 학습

==> 1D Convolution
…
<-channel
->
(num
ofalphabet)
<- length ->
( j o n g h a p ) b e i , u r i g u k m
( j o n g h a p ) b e i , u r i g u k m
학습 데이터 구성
정답을 가지고 있지 않은 문제의 정답셋을 만들어 내기
• 기사 형태별 샘플을 구할 수 있는 기준을 찾음
• 예: 기사의 길이 A=[500, 1200], B=[3000
• 오분류된 (mislabelled) 데이터가 있을 수 있음
• 오분류 패턴이 일관되지 않다면 패턴 학습 대세에 영향 적음

(예: 특정 키워드, 특정 언론사 모두 오분류)
Step 1. 근사기준
뉴스 도메인 전문가!
➕
• 우리에겐 뉴스 전문가들이 있다!
• 학습 데이터(샘플), 테스트 데이터(전수)를 검수
Step 2. 보완책
Image: kakaofriends.com
시험 범위가 확정되었으니 시험을 보자!
• 학습 데이터
• 총 뉴스 44.2만건
• 사실전달 : 해설/묘사 : 기타 = 10:1:10
• 제목+본문 concat하여 600 char만 사용 (로마자 변환 후 기준)
해설/묘사형 기사들을 더 모으자!!!
학습 데이터 구성
• Validation Accuracy: 79.3%
• Test Accuracy: 79.8% — 하지만, 해설/묘사 Recall: 42.5%
• 특징
• 해설/묘사형 기사의 수가 너무 적어서 분류가 잘 안됨
테스트 결과
참고서를 더 읽어보고 시험을 보자!
• 학습 데이터
• 총 뉴스 55만건
• 사실전달 : 해설/묘사 : 기타 = 2:1:2
• 제목+본문 concat하여 600 char만 사용 (로마자 변환 후 기준)
기사 본문을 더 길게 학습 해보자!
학습 데이터 구성
• Validation Accuracy: 83.3%
• Test Accuracy: 82.2% — 해설/묘사 Recall: 62.0%
• 특징
• 사실전달 기사의 표현을 잘 학습 (언제 누가 뭐했다, OO에 따르면, 보도했다)
• 해설/묘사 기사 중에서도 해설기사나 인터뷰 기사를 높은 확률 값으로 분류
• 그러나 재현율이 낮음
테스트 결과
시험 범위를 늘렸으니 다시 시험을 보자!
• 학습 데이터
• 총 뉴스 55만건
• 사실전달 : 해설/묘사 : 기타 = 2:1:2
• 제목+본문 concat하여 1014 char를 사용 (로마자 변환 후 기준)
학습 데이터 구성
• Validation Accuracy: 82.76%
• Test Accuracy: 81.22% — 해설/묘사 Recall: 74.68%
• 특징
• 해설/묘사 기사 재현율 상승
• 연재, 기획코너 기사를 높은 확률 값으로 분류
• 600 char 학습 시 ‘기타’ 기사로 잘 분류하던 기사들을 헷갈려하는 경우도 있음
• 예) ‘오늘의 운세’류 기사 중 일부 길이가 긴 것들
테스트 결과
모델 앙상블 (Ensemble)
학습 모델마다 특성이 다르므로 이를 결합하여 결과 변동성을 줄임
Model #1
Model #2
Add(Model[#1:2][A]), 

Add(Model[#1:2][B]), 

Add(Model[#1:2][C]).
Dataset #1
Dataset #2
• Accuracy: 83.7% (+1.5%)
• 해설/묘사 Recall: 75.9% (+1.2%)
모델이 서로 놓치는 부분을 보완해줌
기사 형식 분류 결과
사실 전달 기사 분류 결과
2018년 08월 23일 인입 기사
1 연준, 트럼프 압박에도 '9월 긴축' 예고.."곧 금리인상 적절"(종합)
2 파리 교외서 30대 남성 흉기 휘둘러 3명 사상(종합)
3 브라질 "베네수엘라 난민 이달 말부터 단계적으로 분산이주"
4 英, 신용카드 결제비용 증가 등 '노딜브렉시트' 대비 지침 발표(종합)
5 백악관 "미일정상 통화..강력한 대북제재 유지 약속"(종합)
해설/묘사 기사 분류 결과
1 [기고]학교 시민교육을 제도화하자
2 [우보세] 신바람 한점 없는 오너들
3 청년'에서 '엄마'로, 제2의 정치 인생 맞이하는 신보라
4 [사설]문재인 정부 첫 개각, 국정쇄신 계기로 삼아야
5 [조한욱의 서양 사람] 의적의 탄생
기사 형식 분류 결과
딥러닝 고장내는 기사
2018년 08월 23일 인입 기사
A : B : C
=
35% : 31% : 34%
1. 기사 형태 분류 하기
2. 뉴스 메타 태깅 시스템
3. 향후 과제
뉴스 메타 태깅 시스템
뉴스 발행 후 메타데이터를 ‘생성’하고 ‘유통’시키는 플랫폼
Design Goals
실시간 프로세싱
메타 태그 생성의 비동기성
메타 태그 생성 기술의 다양성
• 기사가 들어오는 대로 바로 메타데이터를 생성
• 다양한 조직과 플랫폼이 메타 데이터 생성에 참여
• 각 메타데이터 생성은 비동기적으로 이루어져야

(예외: 메타데이터간 의존성이 있는 경우)
• 기계학습, 딥러닝 플랫폼의 다양성을 수용할 수 

있어야
뉴스 메타 태깅 시스템
-NEWS TOPIC- -TAGS TOPIC-1
+
메타데이터 생성 서비스
(예: 기사 형태 분류)
메타데이터 생성 서비스
2 3
4
CMS
메타데이터 consumer
5
• 콘텐츠와 메타데이터를 함께 feeding
• News Topic에서 콘텐츠와 메타데이터 흐름을 모두 Tracking
• 동일 뉴스 - 동일 메타데이터가 중복 처리 되지 않도록 해야
• 콘텐츠+메타데이터를 조합하여 새로운 메타데이터를 만들기 용이
메타 데이터의 생성과 소비가 함께 이루어지는 흐름
System Architecture
Ensemble 

API
Ensemble 

API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
-NEWS TOPIC- -TAGS TOPIC-
메타데이터 생성 = Ensemble - Inferrer API Services
Meatadata API Services
Inferrer API
• / API

• API 

• Dockerizing + 

• 

• API / , Ensemble
역할 및 기능
Ensemble 

API
Ensemble 

API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
기사 형태 분류 CNN API 사례
Docker
Tensorflow
Model
Flask App
uWSGIwaitress
class TensorflowModel:
def __init__(self, tag, signature_key, input_key, output_key, path):
self.sess = tf.Session(graph=tf.Graph())
meta_graph_def = tf.saved_model.loader.load(self.sess, [tag], path)
signature = meta_graph_def.signature_def
tensor_name_x = signature[signature_key].inputs[input_key].name
tensor_name_yhat = signature[signature_key].outputs[output_key].name
self.input = self.sess.graph.get_tensor_by_name(tensor_name_x)
self.model = self.sess.graph.get_tensor_by_name(tensor_name_yhat)
• uWSGI + Flask + Tensorflow API
• tf.saved_model API로 학습한 모델을 protobuf로 export / import
기사 형태 분류 API 구현
Ensemble API
• Inferrer API 호출
• 각 모델에 필요한 입력 값 (Feature) 생성
• 기사 형식 분류의 예: 한글 romanization
• 모델 추론 결과 Ensemble 로직 처리
• 메타데이터 서비스의 Gateway
• 공통 기능: authorization, logging 등
역할 및 기능
• spring-webflux로 개발
• 여러 소스(Inferrer API, 기타 Feature 생성을 위한)에서 정보를 취합
• 병렬-비동기 처리 구조의 이점
구현
Image: pexels.com
Ensemble API
Feature
(Model #1)
{ “title”: “오늘의 날씨”, 

“contents": “날씨는 대체로…” ,
“press”: kakaonews,

“category”: 999,

}
Inferrer API
(Model #1)
Feature
(Model #2)
Inferrer API
(Model #2)
Feature
(Model #3)
Inferrer API
(Model #3)
Calculate
Ensemble
{ “api”: “news-type”,
“value”: 0 }
(FlatMap) (Merge)
(Map)
Message Flow Control
-NEWS TOPIC- -TAGS TOPIC-
Filtering
Invoke
Ensemble
Post-
process
Produce
Message Flow Control
• 

• message parsing & filtering

• Ensemble API , 

• 

•
역할 및 기능
Message Flow Control
Apache Nifi
• Data Flow 개발이 간단 

(다양한 데이터 source, sink 지원)
• 각 처리 단계별로 in/out 처리량과 데이터 모니터링

(Data provenance)
• nifi-registry와 연동하면 Data Flow 형상 관리 가능
특징
Metadata Flow
Ensemble 

API
Ensemble 

API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
Inferrer API
-NEWS TOPIC- -TAGS TOPIC-
{ “title”: “오늘의 날씨”, 

“contents": “오늘 전국 날씨는” 

}
req:

{ “news”: “oneulyinalssioneulyi

jeongug ” }
{ “tagGroup”: “news”,
“tagKey”: “news-type”,
“value”: 0 }
res:

{ “valueName": “model403”,

“valueType”: “List”,

“values”: [ 0.7, 0.1, 0.2 ] }
기사 형태 분류 사례
CMS
Filtering
Post-
process
Produce
Invoke
Ensemble
1. 기사 형태 분류 하기
2. 뉴스 메타 태깅 시스템
3. 향후 과제
향후 과제
• 딥러닝 모델 품질 관리
• 오분류 사례 수집 및 모델 재학습
• (현재는 시간별 분류 결과량 Trend 모니터링)

• 다양한 메타데이터 추가
• 기사 내용의 특징 분석
• 기사 내 사진, 차트, 인포그래픽 분석
• 음성 뉴스 및 동영상을 활용한 다양한 실험
Thank you!
Image: kakaofriends.com

More Related Content

What's hot

Digital marketing-agency
Digital marketing-agencyDigital marketing-agency
Digital marketing-agencyImran Sarker
 
Content Strategy: Content is King!
Content Strategy: Content is King!Content Strategy: Content is King!
Content Strategy: Content is King!Karen McGrane
 
Web Analytics 2.0 and Multiplicity - PixelMEDIA
Web Analytics 2.0 and Multiplicity - PixelMEDIAWeb Analytics 2.0 and Multiplicity - PixelMEDIA
Web Analytics 2.0 and Multiplicity - PixelMEDIAPixelMEDIA
 
B2B Marketing Strategy check-list in 2022
B2B Marketing Strategy check-list in 2022B2B Marketing Strategy check-list in 2022
B2B Marketing Strategy check-list in 2022waseemkhalayleh
 
Digital Marketing Channels Powerpoint Presentation Slides
Digital Marketing Channels Powerpoint Presentation SlidesDigital Marketing Channels Powerpoint Presentation Slides
Digital Marketing Channels Powerpoint Presentation SlidesSlideTeam
 
Programmatic Advertising for Beginners
Programmatic Advertising for BeginnersProgrammatic Advertising for Beginners
Programmatic Advertising for BeginnersSyed M Salman
 
PPC Google AdWords Proposal Sample for Client Pitching
PPC Google AdWords Proposal Sample for Client PitchingPPC Google AdWords Proposal Sample for Client Pitching
PPC Google AdWords Proposal Sample for Client PitchingeMarket Education
 
Introduction to digital marketing for beginners | Digital marketing startup g...
Introduction to digital marketing for beginners | Digital marketing startup g...Introduction to digital marketing for beginners | Digital marketing startup g...
Introduction to digital marketing for beginners | Digital marketing startup g...Deep Mehta
 
Where are Marketers Spending their Budgets in 2023?
Where are Marketers Spending their Budgets in 2023?Where are Marketers Spending their Budgets in 2023?
Where are Marketers Spending their Budgets in 2023?Jomer Gregorio
 
Facebook ads: How To Build A Funnel For Sales, Not Likes
Facebook ads: How To Build A Funnel For Sales, Not LikesFacebook ads: How To Build A Funnel For Sales, Not Likes
Facebook ads: How To Build A Funnel For Sales, Not LikesHanapin Marketing
 
Digital Marketing Plan Example
Digital Marketing Plan ExampleDigital Marketing Plan Example
Digital Marketing Plan ExampleMike Ncube
 
Digital Marketing for B2B:
 Introduction and Steps to Get Started.
Digital Marketing for B2B:
 Introduction and Steps to Get Started.Digital Marketing for B2B:
 Introduction and Steps to Get Started.
Digital Marketing for B2B:
 Introduction and Steps to Get Started.Thomas Webster
 
Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...
Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...
Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...Taste
 
신세계미디어 종합 마케팅 제안서
신세계미디어 종합 마케팅 제안서신세계미디어 종합 마케팅 제안서
신세계미디어 종합 마케팅 제안서병광 김
 
8 Free Types of Marketing Strategies
8 Free Types of Marketing Strategies8 Free Types of Marketing Strategies
8 Free Types of Marketing StrategiesBrian Downard
 

What's hot (20)

Digital Landscape
Digital LandscapeDigital Landscape
Digital Landscape
 
Digital marketing-agency
Digital marketing-agencyDigital marketing-agency
Digital marketing-agency
 
Content Strategy: Content is King!
Content Strategy: Content is King!Content Strategy: Content is King!
Content Strategy: Content is King!
 
The Complete Guide to B2B Email Marketing
The Complete Guide to B2B Email MarketingThe Complete Guide to B2B Email Marketing
The Complete Guide to B2B Email Marketing
 
Web Analytics 2.0 and Multiplicity - PixelMEDIA
Web Analytics 2.0 and Multiplicity - PixelMEDIAWeb Analytics 2.0 and Multiplicity - PixelMEDIA
Web Analytics 2.0 and Multiplicity - PixelMEDIA
 
B2B Marketing Strategy check-list in 2022
B2B Marketing Strategy check-list in 2022B2B Marketing Strategy check-list in 2022
B2B Marketing Strategy check-list in 2022
 
Digital Marketing Channels Powerpoint Presentation Slides
Digital Marketing Channels Powerpoint Presentation SlidesDigital Marketing Channels Powerpoint Presentation Slides
Digital Marketing Channels Powerpoint Presentation Slides
 
Programmatic Advertising for Beginners
Programmatic Advertising for BeginnersProgrammatic Advertising for Beginners
Programmatic Advertising for Beginners
 
Content Marketing
Content MarketingContent Marketing
Content Marketing
 
PPC Google AdWords Proposal Sample for Client Pitching
PPC Google AdWords Proposal Sample for Client PitchingPPC Google AdWords Proposal Sample for Client Pitching
PPC Google AdWords Proposal Sample for Client Pitching
 
Digital Marketing Workshop
Digital Marketing WorkshopDigital Marketing Workshop
Digital Marketing Workshop
 
Introduction to digital marketing for beginners | Digital marketing startup g...
Introduction to digital marketing for beginners | Digital marketing startup g...Introduction to digital marketing for beginners | Digital marketing startup g...
Introduction to digital marketing for beginners | Digital marketing startup g...
 
Where are Marketers Spending their Budgets in 2023?
Where are Marketers Spending their Budgets in 2023?Where are Marketers Spending their Budgets in 2023?
Where are Marketers Spending their Budgets in 2023?
 
Ctv ads webinar
Ctv ads webinar Ctv ads webinar
Ctv ads webinar
 
Facebook ads: How To Build A Funnel For Sales, Not Likes
Facebook ads: How To Build A Funnel For Sales, Not LikesFacebook ads: How To Build A Funnel For Sales, Not Likes
Facebook ads: How To Build A Funnel For Sales, Not Likes
 
Digital Marketing Plan Example
Digital Marketing Plan ExampleDigital Marketing Plan Example
Digital Marketing Plan Example
 
Digital Marketing for B2B:
 Introduction and Steps to Get Started.
Digital Marketing for B2B:
 Introduction and Steps to Get Started.Digital Marketing for B2B:
 Introduction and Steps to Get Started.
Digital Marketing for B2B:
 Introduction and Steps to Get Started.
 
Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...
Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...
Data Restart 2023: Adam Rakus - Ako zvýšiť spokojnosť zákazníkov a zlepšiť bi...
 
신세계미디어 종합 마케팅 제안서
신세계미디어 종합 마케팅 제안서신세계미디어 종합 마케팅 제안서
신세계미디어 종합 마케팅 제안서
 
8 Free Types of Marketing Strategies
8 Free Types of Marketing Strategies8 Free Types of Marketing Strategies
8 Free Types of Marketing Strategies
 

Similar to 딥러닝을 활용한 뉴스 메타 태깅

딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
데이터 분석 1 - 소개
데이터 분석 1 - 소개데이터 분석 1 - 소개
데이터 분석 1 - 소개Jaewook Byun
 
Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보Jiun Bae
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13hungrok
 
Software Architect day - 웹 프레임워크 종결 - metaworks3
Software Architect day - 웹 프레임워크 종결 -  metaworks3Software Architect day - 웹 프레임워크 종결 -  metaworks3
Software Architect day - 웹 프레임워크 종결 - metaworks3uEngine Solutions
 
언리얼 리플렉션 & CDO.pptx
언리얼 리플렉션 & CDO.pptx언리얼 리플렉션 & CDO.pptx
언리얼 리플렉션 & CDO.pptxMUUMUMUMU
 
엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육준일 엄
 
Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Sukjoon Kim
 
Into The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxInto The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxMyungHoKim10
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작Tae Young Lee
 
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"Tae Young Kang
 
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Platform
 
Machine Learning with Apache Spark and Zeppelin
Machine Learning with Apache Spark and ZeppelinMachine Learning with Apache Spark and Zeppelin
Machine Learning with Apache Spark and ZeppelinDataya Nolja
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요Nohyun Kee
 
코드스쿼드 iOS 교육 ML 발표자료
코드스쿼드 iOS 교육 ML 발표자료코드스쿼드 iOS 교육 ML 발표자료
코드스쿼드 iOS 교육 ML 발표자료HyunwooJung14
 
파이썬을 활용한 웹 크롤링
파이썬을 활용한 웹 크롤링파이썬을 활용한 웹 크롤링
파이썬을 활용한 웹 크롤링HWANGTAEYONG
 

Similar to 딥러닝을 활용한 뉴스 메타 태깅 (20)

딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
데이터 분석 1 - 소개
데이터 분석 1 - 소개데이터 분석 1 - 소개
데이터 분석 1 - 소개
 
Memento
MementoMemento
Memento
 
Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보Memento, 그 사람에 대한 모든 정보
Memento, 그 사람에 대한 모든 정보
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
 
Software Architect day - 웹 프레임워크 종결 - metaworks3
Software Architect day - 웹 프레임워크 종결 -  metaworks3Software Architect day - 웹 프레임워크 종결 -  metaworks3
Software Architect day - 웹 프레임워크 종결 - metaworks3
 
언리얼 리플렉션 & CDO.pptx
언리얼 리플렉션 & CDO.pptx언리얼 리플렉션 & CDO.pptx
언리얼 리플렉션 & CDO.pptx
 
엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육
 
Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발Ruby on Rails와 함께 하는 애자일 웹 개발
Ruby on Rails와 함께 하는 애자일 웹 개발
 
Into The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptxInto The Unknown - A Gentle Introduction to AI.pptx
Into The Unknown - A Gentle Introduction to AI.pptx
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작
 
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
2022.07.01 불평등연구회 특강 "계량모형과 자연어 분석을 결합하기"
 
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
 
Machine Learning with Apache Spark and Zeppelin
Machine Learning with Apache Spark and ZeppelinMachine Learning with Apache Spark and Zeppelin
Machine Learning with Apache Spark and Zeppelin
 
메이크챗봇 자연어기초
메이크챗봇 자연어기초메이크챗봇 자연어기초
메이크챗봇 자연어기초
 
[강의] OOP 개요
[강의] OOP 개요[강의] OOP 개요
[강의] OOP 개요
 
코드스쿼드 iOS 교육 ML 발표자료
코드스쿼드 iOS 교육 ML 발표자료코드스쿼드 iOS 교육 ML 발표자료
코드스쿼드 iOS 교육 ML 발표자료
 
Meta stars
Meta starsMeta stars
Meta stars
 
파이썬을 활용한 웹 크롤링
파이썬을 활용한 웹 크롤링파이썬을 활용한 웹 크롤링
파이썬을 활용한 웹 크롤링
 

More from if kakao

바닥부터 시작하는 Vue 테스트와 리팩토링
바닥부터 시작하는 Vue 테스트와 리팩토링바닥부터 시작하는 Vue 테스트와 리팩토링
바닥부터 시작하는 Vue 테스트와 리팩토링if kakao
 
카카오커머스를 지탱하는 Angular
카카오커머스를 지탱하는 Angular카카오커머스를 지탱하는 Angular
카카오커머스를 지탱하는 Angularif kakao
 
프렌즈타임 웹앱 삽질기
프렌즈타임 웹앱 삽질기프렌즈타임 웹앱 삽질기
프렌즈타임 웹앱 삽질기if kakao
 
카프카 기반의 대규모 모니터링 플랫폼 개발이야기
카프카 기반의 대규모 모니터링 플랫폼 개발이야기카프카 기반의 대규모 모니터링 플랫폼 개발이야기
카프카 기반의 대규모 모니터링 플랫폼 개발이야기if kakao
 
TOROS N2 - lightweight approximate Nearest Neighbor library
TOROS N2 - lightweight approximate Nearest Neighbor libraryTOROS N2 - lightweight approximate Nearest Neighbor library
TOROS N2 - lightweight approximate Nearest Neighbor libraryif kakao
 
딥러닝을 이용한 얼굴 인식
딥러닝을 이용한 얼굴 인식딥러닝을 이용한 얼굴 인식
딥러닝을 이용한 얼굴 인식if kakao
 
눈으로 듣는 음악 추천 시스템
눈으로 듣는 음악 추천 시스템눈으로 듣는 음악 추천 시스템
눈으로 듣는 음악 추천 시스템if kakao
 
Keynote / 2018
Keynote / 2018Keynote / 2018
Keynote / 2018if kakao
 
카카오 봇 플랫폼 소개
카카오 봇 플랫폼 소개카카오 봇 플랫폼 소개
카카오 봇 플랫폼 소개if kakao
 
다음웹툰의 UX(Animation, Transition, Custom View)
다음웹툰의 UX(Animation, Transition, Custom View)다음웹툰의 UX(Animation, Transition, Custom View)
다음웹툰의 UX(Animation, Transition, Custom View)if kakao
 
모바일 게임플랫폼과 인프라 구축 경험기
모바일 게임플랫폼과 인프라 구축 경험기모바일 게임플랫폼과 인프라 구축 경험기
모바일 게임플랫폼과 인프라 구축 경험기if kakao
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
카카오뱅크 모바일앱 개발 이야기
카카오뱅크 모바일앱 개발 이야기카카오뱅크 모바일앱 개발 이야기
카카오뱅크 모바일앱 개발 이야기if kakao
 
다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기if kakao
 
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례if kakao
 
액티브X 없는 블록체인 기반 PKI 시스템
액티브X 없는 블록체인 기반 PKI 시스템액티브X 없는 블록체인 기반 PKI 시스템
액티브X 없는 블록체인 기반 PKI 시스템if kakao
 
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain Platform
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain PlatformKlaytn: Service-Oriented Enterprise-Grade Public Blockchain Platform
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain Platformif kakao
 
Kakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rumKakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rumif kakao
 
카프카, 산전수전 노하우
카프카, 산전수전 노하우카프카, 산전수전 노하우
카프카, 산전수전 노하우if kakao
 
스프링5 웹플럭스와 테스트 전략
스프링5 웹플럭스와 테스트 전략스프링5 웹플럭스와 테스트 전략
스프링5 웹플럭스와 테스트 전략if kakao
 

More from if kakao (20)

바닥부터 시작하는 Vue 테스트와 리팩토링
바닥부터 시작하는 Vue 테스트와 리팩토링바닥부터 시작하는 Vue 테스트와 리팩토링
바닥부터 시작하는 Vue 테스트와 리팩토링
 
카카오커머스를 지탱하는 Angular
카카오커머스를 지탱하는 Angular카카오커머스를 지탱하는 Angular
카카오커머스를 지탱하는 Angular
 
프렌즈타임 웹앱 삽질기
프렌즈타임 웹앱 삽질기프렌즈타임 웹앱 삽질기
프렌즈타임 웹앱 삽질기
 
카프카 기반의 대규모 모니터링 플랫폼 개발이야기
카프카 기반의 대규모 모니터링 플랫폼 개발이야기카프카 기반의 대규모 모니터링 플랫폼 개발이야기
카프카 기반의 대규모 모니터링 플랫폼 개발이야기
 
TOROS N2 - lightweight approximate Nearest Neighbor library
TOROS N2 - lightweight approximate Nearest Neighbor libraryTOROS N2 - lightweight approximate Nearest Neighbor library
TOROS N2 - lightweight approximate Nearest Neighbor library
 
딥러닝을 이용한 얼굴 인식
딥러닝을 이용한 얼굴 인식딥러닝을 이용한 얼굴 인식
딥러닝을 이용한 얼굴 인식
 
눈으로 듣는 음악 추천 시스템
눈으로 듣는 음악 추천 시스템눈으로 듣는 음악 추천 시스템
눈으로 듣는 음악 추천 시스템
 
Keynote / 2018
Keynote / 2018Keynote / 2018
Keynote / 2018
 
카카오 봇 플랫폼 소개
카카오 봇 플랫폼 소개카카오 봇 플랫폼 소개
카카오 봇 플랫폼 소개
 
다음웹툰의 UX(Animation, Transition, Custom View)
다음웹툰의 UX(Animation, Transition, Custom View)다음웹툰의 UX(Animation, Transition, Custom View)
다음웹툰의 UX(Animation, Transition, Custom View)
 
모바일 게임플랫폼과 인프라 구축 경험기
모바일 게임플랫폼과 인프라 구축 경험기모바일 게임플랫폼과 인프라 구축 경험기
모바일 게임플랫폼과 인프라 구축 경험기
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
카카오뱅크 모바일앱 개발 이야기
카카오뱅크 모바일앱 개발 이야기카카오뱅크 모바일앱 개발 이야기
카카오뱅크 모바일앱 개발 이야기
 
다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기다음 모바일 첫 화면 개선기
다음 모바일 첫 화면 개선기
 
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
 
액티브X 없는 블록체인 기반 PKI 시스템
액티브X 없는 블록체인 기반 PKI 시스템액티브X 없는 블록체인 기반 PKI 시스템
액티브X 없는 블록체인 기반 PKI 시스템
 
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain Platform
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain PlatformKlaytn: Service-Oriented Enterprise-Grade Public Blockchain Platform
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain Platform
 
Kakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rumKakao Cloud Native Platform, 9rum
Kakao Cloud Native Platform, 9rum
 
카프카, 산전수전 노하우
카프카, 산전수전 노하우카프카, 산전수전 노하우
카프카, 산전수전 노하우
 
스프링5 웹플럭스와 테스트 전략
스프링5 웹플럭스와 테스트 전략스프링5 웹플럭스와 테스트 전략
스프링5 웹플럭스와 테스트 전략
 

딥러닝을 활용한 뉴스 메타 태깅

  • 1. 딥러닝을 활용한 뉴스 메타 태깅 김기도(olaf.kido) kakao corp.(미래미디어파트)
  • 3. 뉴스 메타데이터 (News Metadata) 콘텐츠 분석 정보언론사 제공 속성 뉴스 기사의 특징을 설명하는 정보들 기자 카테고리 언론사 형태 분류 내용 분류 이미지 분석 ML / DL 2018년 8월 7일자 인입 기사
  • 4. 뉴스 메타데이터 (News Metadata) 다양한 메타데이터를 확보하여 사용자에게 필요한 콘텐츠 제공에 활용 유익한 / 관심있는 / 필요한 것을 보고싶다! 컨텐츠의 특성들 다양한 메타데이터 = Image: commons.wikimedia.org
  • 5. 뉴스 메타 태깅 시스템 메타데이터 생성과 활용이 잘 되려면 데이터의 유통이 간단해야 함 SILO FLOW Produce Consume
  • 6. 목차 1. 기사 형태 분류 하기 • Convolution Neural Network로
 기사 형태 분류 하기 • 학습 데이터셋 구성 ~ 최종 모델 결과
 
 2. 뉴스 메타 태깅 시스템 • 모델을 활용하는 메타 태깅 시스템 개발 • 데이터 흐름 및 System Design
 
 3. 향후 과제 #텍스트분류 #딥러닝모델 #딥러닝개발 #메타데이터플랫폼 #다하는데요
 ...
  • 7. 발표에서 주로 다루는 것 학습 데이터 구성 모델 선정 메타데이터 기획 모델 구현 테스트 및 평가 모델 배포 서비스 운영 파라미터 설정 모델 API 구현 메타 태깅 설계/구현 딥러닝 스터디 한 것을 잘 활용해보려고 서비스 개발에 도전한 이야기!!! 딥러닝을 활용한 뉴스 메타 태깅
  • 8. 1. 기사 형태 분류 하기 2. 뉴스 메타 태깅 시스템 3. 향후 과제
  • 9. 기사 형태 분류 - 육하원칙 위주로 기술 - 스트레이트 기사라고 함 - 사건, 인물에 대한 심층 취재 기사 - 르포, 스케치, 인터뷰 등 사실 전달형 기사 (A) 해설/묘사형 기사 (B) 2018년 8월 21일자 인입 기사 이산상봉 이틀 째..'가족끼리' 개별상봉 및 오찬(종합) 남북 이산가족들이 상봉 행사 이틀째인 21일 개별상봉을 통해 좀 더 밀착된 시간을 보 낸다. 양측 가족들은 이날 오전 10시10분께 우리 측 상봉단의 숙소인 금강산 외금강 호텔의 각 객실에서 개별 상봉을 시작했다. 사실 전달형과 해설/묘사형을 나누는 문제로 정의
  • 10. 기사 형태 분류 2018년 8월 20일자 인입 기사 - 육하원칙 위주로 기술 - 스트레이트 기사라고 함 - 사건, 인물에 대한 심층 취재 기사 - 르포, 스케치, 인터뷰 등 사실 전달형 기사 (A) 해설/묘사형 기사 (B) 워리어 플랫폼 입고 사격해보니 '99점' 5 (5 ) . 5 , , , , . . , . 사실 전달형과 해설/묘사형을 나누는 문제로 정의
  • 11. 기사 형태 분류 2018년 8월 20일자 인입 기사 - 육하원칙 위주로 기술 - 스트레이트 기사라고 함 - 사건, 인물에 대한 심층 취재 기사 - 르포, 스케치, 인터뷰 등 사실 전달형 기사 (A) 해설/묘사형 기사 (B) 워리어 플랫폼 입고 사격해보니 '99점' 5 (5 ) . 5 , , , , . . , . 사실 전달형과 해설/묘사형을 나누는 문제로 정의 정보량이 많고 오래 읽을 만한 내용의 기사들을 찾는 특징 중 하나
  • 12. Text Classification by Character based Convolution Neural Network • 논문 • Text understanding from scratch • Character based convolution neural network (X Zhang, J Zhao, Y LeCun) • 모델 • 6개 Convolution Layer • 3개 Fully Connected Layer • 구현 • Tensorflow Image: X Zhang, J Zhao, Y LeCun. Character based convolution neural network (NIPS 2015)
  • 13. 뉴스 기사 분석을 위한 고려 사항들 뉴스 기사 콘텐츠를 “있는 그대로” 분석에 활용 • 형태소 분석, Word Embedding 보다는 Character 단위 처리
 ==> 기사 제목이나 본문의 특징적 기호 활용 (예: [날씨], (종합), “나혼자”) 
 • 한글, 한자 Romanization (로마자 변환, 음역)
 ==> alphabet space 안에서 처리 (예: ⽂정부, ⾭ "소득성장 가속”)
 • 문자와 단어의 순서 보존하여 기사의 문투 학습
 ==> 1D Convolution … <-channel -> (num ofalphabet) <- length -> ( j o n g h a p ) b e i , u r i g u k m ( j o n g h a p ) b e i , u r i g u k m
  • 14. 학습 데이터 구성 정답을 가지고 있지 않은 문제의 정답셋을 만들어 내기 • 기사 형태별 샘플을 구할 수 있는 기준을 찾음 • 예: 기사의 길이 A=[500, 1200], B=[3000 • 오분류된 (mislabelled) 데이터가 있을 수 있음 • 오분류 패턴이 일관되지 않다면 패턴 학습 대세에 영향 적음
 (예: 특정 키워드, 특정 언론사 모두 오분류) Step 1. 근사기준 뉴스 도메인 전문가! ➕ • 우리에겐 뉴스 전문가들이 있다! • 학습 데이터(샘플), 테스트 데이터(전수)를 검수 Step 2. 보완책 Image: kakaofriends.com
  • 15. 시험 범위가 확정되었으니 시험을 보자! • 학습 데이터 • 총 뉴스 44.2만건 • 사실전달 : 해설/묘사 : 기타 = 10:1:10 • 제목+본문 concat하여 600 char만 사용 (로마자 변환 후 기준) 해설/묘사형 기사들을 더 모으자!!! 학습 데이터 구성 • Validation Accuracy: 79.3% • Test Accuracy: 79.8% — 하지만, 해설/묘사 Recall: 42.5% • 특징 • 해설/묘사형 기사의 수가 너무 적어서 분류가 잘 안됨 테스트 결과
  • 16. 참고서를 더 읽어보고 시험을 보자! • 학습 데이터 • 총 뉴스 55만건 • 사실전달 : 해설/묘사 : 기타 = 2:1:2 • 제목+본문 concat하여 600 char만 사용 (로마자 변환 후 기준) 기사 본문을 더 길게 학습 해보자! 학습 데이터 구성 • Validation Accuracy: 83.3% • Test Accuracy: 82.2% — 해설/묘사 Recall: 62.0% • 특징 • 사실전달 기사의 표현을 잘 학습 (언제 누가 뭐했다, OO에 따르면, 보도했다) • 해설/묘사 기사 중에서도 해설기사나 인터뷰 기사를 높은 확률 값으로 분류 • 그러나 재현율이 낮음 테스트 결과
  • 17. 시험 범위를 늘렸으니 다시 시험을 보자! • 학습 데이터 • 총 뉴스 55만건 • 사실전달 : 해설/묘사 : 기타 = 2:1:2 • 제목+본문 concat하여 1014 char를 사용 (로마자 변환 후 기준) 학습 데이터 구성 • Validation Accuracy: 82.76% • Test Accuracy: 81.22% — 해설/묘사 Recall: 74.68% • 특징 • 해설/묘사 기사 재현율 상승 • 연재, 기획코너 기사를 높은 확률 값으로 분류 • 600 char 학습 시 ‘기타’ 기사로 잘 분류하던 기사들을 헷갈려하는 경우도 있음 • 예) ‘오늘의 운세’류 기사 중 일부 길이가 긴 것들 테스트 결과
  • 18. 모델 앙상블 (Ensemble) 학습 모델마다 특성이 다르므로 이를 결합하여 결과 변동성을 줄임 Model #1 Model #2 Add(Model[#1:2][A]), 
 Add(Model[#1:2][B]), 
 Add(Model[#1:2][C]). Dataset #1 Dataset #2 • Accuracy: 83.7% (+1.5%) • 해설/묘사 Recall: 75.9% (+1.2%) 모델이 서로 놓치는 부분을 보완해줌
  • 19. 기사 형식 분류 결과 사실 전달 기사 분류 결과 2018년 08월 23일 인입 기사 1 연준, 트럼프 압박에도 '9월 긴축' 예고.."곧 금리인상 적절"(종합) 2 파리 교외서 30대 남성 흉기 휘둘러 3명 사상(종합) 3 브라질 "베네수엘라 난민 이달 말부터 단계적으로 분산이주" 4 英, 신용카드 결제비용 증가 등 '노딜브렉시트' 대비 지침 발표(종합) 5 백악관 "미일정상 통화..강력한 대북제재 유지 약속"(종합) 해설/묘사 기사 분류 결과 1 [기고]학교 시민교육을 제도화하자 2 [우보세] 신바람 한점 없는 오너들 3 청년'에서 '엄마'로, 제2의 정치 인생 맞이하는 신보라 4 [사설]문재인 정부 첫 개각, 국정쇄신 계기로 삼아야 5 [조한욱의 서양 사람] 의적의 탄생
  • 20. 기사 형식 분류 결과 딥러닝 고장내는 기사 2018년 08월 23일 인입 기사 A : B : C = 35% : 31% : 34%
  • 21. 1. 기사 형태 분류 하기 2. 뉴스 메타 태깅 시스템 3. 향후 과제
  • 22. 뉴스 메타 태깅 시스템 뉴스 발행 후 메타데이터를 ‘생성’하고 ‘유통’시키는 플랫폼 Design Goals 실시간 프로세싱 메타 태그 생성의 비동기성 메타 태그 생성 기술의 다양성 • 기사가 들어오는 대로 바로 메타데이터를 생성 • 다양한 조직과 플랫폼이 메타 데이터 생성에 참여 • 각 메타데이터 생성은 비동기적으로 이루어져야
 (예외: 메타데이터간 의존성이 있는 경우) • 기계학습, 딥러닝 플랫폼의 다양성을 수용할 수 
 있어야
  • 23. 뉴스 메타 태깅 시스템 -NEWS TOPIC- -TAGS TOPIC-1 + 메타데이터 생성 서비스 (예: 기사 형태 분류) 메타데이터 생성 서비스 2 3 4 CMS 메타데이터 consumer 5 • 콘텐츠와 메타데이터를 함께 feeding • News Topic에서 콘텐츠와 메타데이터 흐름을 모두 Tracking • 동일 뉴스 - 동일 메타데이터가 중복 처리 되지 않도록 해야 • 콘텐츠+메타데이터를 조합하여 새로운 메타데이터를 만들기 용이 메타 데이터의 생성과 소비가 함께 이루어지는 흐름
  • 24. System Architecture Ensemble 
 API Ensemble 
 API Inferrer API Inferrer API Inferrer API Inferrer API Inferrer API Inferrer API -NEWS TOPIC- -TAGS TOPIC- 메타데이터 생성 = Ensemble - Inferrer API Services Meatadata API Services
  • 25. Inferrer API • / API • API • Dockerizing + • • API / , Ensemble 역할 및 기능 Ensemble 
 API Ensemble 
 API Inferrer API Inferrer API Inferrer API Inferrer API Inferrer API Inferrer API
  • 26. Inferrer API 기사 형태 분류 CNN API 사례 Docker Tensorflow Model Flask App uWSGIwaitress class TensorflowModel: def __init__(self, tag, signature_key, input_key, output_key, path): self.sess = tf.Session(graph=tf.Graph()) meta_graph_def = tf.saved_model.loader.load(self.sess, [tag], path) signature = meta_graph_def.signature_def tensor_name_x = signature[signature_key].inputs[input_key].name tensor_name_yhat = signature[signature_key].outputs[output_key].name self.input = self.sess.graph.get_tensor_by_name(tensor_name_x) self.model = self.sess.graph.get_tensor_by_name(tensor_name_yhat) • uWSGI + Flask + Tensorflow API • tf.saved_model API로 학습한 모델을 protobuf로 export / import 기사 형태 분류 API 구현
  • 27. Ensemble API • Inferrer API 호출 • 각 모델에 필요한 입력 값 (Feature) 생성 • 기사 형식 분류의 예: 한글 romanization • 모델 추론 결과 Ensemble 로직 처리 • 메타데이터 서비스의 Gateway • 공통 기능: authorization, logging 등 역할 및 기능 • spring-webflux로 개발 • 여러 소스(Inferrer API, 기타 Feature 생성을 위한)에서 정보를 취합 • 병렬-비동기 처리 구조의 이점 구현 Image: pexels.com
  • 28. Ensemble API Feature (Model #1) { “title”: “오늘의 날씨”, 
 “contents": “날씨는 대체로…” , “press”: kakaonews,
 “category”: 999,
 } Inferrer API (Model #1) Feature (Model #2) Inferrer API (Model #2) Feature (Model #3) Inferrer API (Model #3) Calculate Ensemble { “api”: “news-type”, “value”: 0 } (FlatMap) (Merge) (Map)
  • 29. Message Flow Control -NEWS TOPIC- -TAGS TOPIC- Filtering Invoke Ensemble Post- process Produce Message Flow Control • • message parsing & filtering • Ensemble API , • • 역할 및 기능
  • 30. Message Flow Control Apache Nifi • Data Flow 개발이 간단 
 (다양한 데이터 source, sink 지원) • 각 처리 단계별로 in/out 처리량과 데이터 모니터링
 (Data provenance) • nifi-registry와 연동하면 Data Flow 형상 관리 가능 특징
  • 31. Metadata Flow Ensemble 
 API Ensemble 
 API Inferrer API Inferrer API Inferrer API Inferrer API Inferrer API Inferrer API -NEWS TOPIC- -TAGS TOPIC- { “title”: “오늘의 날씨”, 
 “contents": “오늘 전국 날씨는” 
 } req:
 { “news”: “oneulyinalssioneulyi
 jeongug ” } { “tagGroup”: “news”, “tagKey”: “news-type”, “value”: 0 } res:
 { “valueName": “model403”,
 “valueType”: “List”,
 “values”: [ 0.7, 0.1, 0.2 ] } 기사 형태 분류 사례 CMS Filtering Post- process Produce Invoke Ensemble
  • 32. 1. 기사 형태 분류 하기 2. 뉴스 메타 태깅 시스템 3. 향후 과제
  • 33. 향후 과제 • 딥러닝 모델 품질 관리 • 오분류 사례 수집 및 모델 재학습 • (현재는 시간별 분류 결과량 Trend 모니터링)
 • 다양한 메타데이터 추가 • 기사 내용의 특징 분석 • 기사 내 사진, 차트, 인포그래픽 분석 • 음성 뉴스 및 동영상을 활용한 다양한 실험