The SlideShare 101 is a quick start guide if you want to walk through the main features that the platform offers. This will keep getting updated as new features are launched.
The SlideShare 101 replaces the earlier "SlideShare Quick Tour".
The SlideShare 101 is a quick start guide if you want to walk through the main features that the platform offers. This will keep getting updated as new features are launched.
The SlideShare 101 replaces the earlier "SlideShare Quick Tour".
빅데이터 기술의 소프트웨어 공학 적용
1. 빅데이터 기술의 활용 사례 - 빅데이터 기술은 이미 많은 적용 사례를 가지고 있고, IoT 기술과 더불어 일상의 기술이 되어 가고 있다 (Pervasive & Invisible Analytics).
2. Spark 플랫폼 - 이전에 Hadoop으로 대표되는 빅데이터의 분산 처리 기술은 계속 발전하고 있고, Spark는 메모리 기반 데이터 처리로 기존 대비 성능을 10~100배 개선하였다. 특히, Spark는 Scala라는 함수형 언어로 구현되었고, 이전에 Java 기반의 빅데이터 처리 코드를 보다 명료하고 Compact하게 구현할 수 있다. 데이터 분석에는 Imperative 언어보다 함수형 언어가 보다 적합하다.
3. 소프트웨어 공학에서의 데이터 분석 사례 - 최근 Software Analytics, Repository Mining 등 데이터 분석 사례들이 있고, 최근 GitHub 이나 StackOverflow 분석과 같은 빅데이터 분석 연구들이 진행되고 있다.
4. Spark를 활용한 Word Count 예
5. Big Data Software Engineering - 큰 데이터 처리 외에도, 실시간 데이터 처리 (Velocity), 다양한 데이터 처리 (Variety) 부분에도 소프트웨어 공학 적용이 필요하다. 또한, Big Data Software를 Engineering하는 부분에도 관심이 필요하다. Big Data 분석 코드 역시 SE의 대상으로 바라보고, Test Driven Dev, Agile Methodology와 같은 개발 방법의 적용을 살펴볼 필요가 있다.
마지막으로, 현재 빅데이터 기술에 대한 진입 장벽은 많이 낮아졌고, 사용 가능한 오픈소스들이 많다. 소프트웨어 공학자라면 빅데이터 분석을 직접 시도해 볼 필요가 있고, 특히, Spark-Scala는 향 후 더욱 발전 확대될 기술이다.
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 Catch, Traffic! 팀에서는 아래와 같은 프로젝트를 진행했습니다.
수도권 교통의 혼잡성을 해결하기 위한 방안을 찾는 데이터 파이프라인 구축
18기 김인섭 숭실대학교 산업정보시스템공학과
18기 김재민 국민대학교 AI빅데이터융합경영학과
18기 서은유 동덕여자대학교 정보통계학과
18기 윤정원 숙명여자대학교 소프트웨어융합전공
18기 이현진 서울과학기술대학교 산업정보시스템전공
18기 조은학 명지대학교 융합소프트웨어학부
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study
이 세션에서는 데브시스터즈의 Case Study를 통하여 Data Lake를 만들고 사용하는데 있어 요구 되는 사항들에 대해 공유합니다. 여러 목적에 맞는 데이터를 전달하기 위해 AWS 를 활용하여 Data Lake 를 구축하게된 계기와 실제 구축 작업을 하면서 경험하게 된 것들에 대해 말씀드리고자 합니다. 기존 인프라 구조 대비 효율성 및 비용적 측면을 소개해드리고, 빅데이터를 이용한 부서별 데이터 세분화를 진행할 때 어떠한 Architecture가 사용되었는지 소개드리고자 합니다.
서울시 챗봇팀이 개발한 ‘청년정책봇’은 시나리오 기반이 아닌 딥러닝 기반의 챗봇 서비스다. ETRI에서 개발한 KorBERT를 통해 언어 처리 모델을 대신하고, 형태소 분석 API를 통해 질문 문장에 대한 의도를 분석하였다. 카카오에서 배포한 khaii 형태소 분석기 적용을 통해 구문분석 정확도를 향상을 확인할 수 있었다. 또한, 위키 QA API를 통해 일반적인 질의응답을 위한 기능을 추가했다. 현재 상용화된 챗봇서비스의 대부분은 미리 구성된 시나리오(Flowchart)를 따라가는 방식을 활용하며, 자연어 처리 기술은 신뢰도가 낮아 사용되지 않고 있다. 그에 반해, ‘청년정책봇’은 cdQA 파이프라인을 접목해 유사도 높은 문서를 언어 처리 모델에 적용하는 방식으로 접근해 신뢰도를 높일 수 있었다. 기존 빌더를 통해, 상용화된 서비스 대비 두 가지 장점이 있다. 첫 번째 장점은 딥러닝 모델에 따른 발전 가능성으로써 ETRI KorBERT의 지속적인 개선에 따라 청년정책봇의 기계 독해 성능도 같이 개선된다는 것이다. 두 번째 장점은 서비스 지속 가능성으로써 cdQA 파이프라인에 기반해 주기적인 웹 크롤링을 통해 데이터 추가가 가능하기 때문에 소프트웨어 유지 보수에 필요한 자원을 최소화할 수 있다는 것이다. 청년정책 챗봇을 통해 cdQA 파이프라인과 ETRI BERT 모델을 활용해 기존의 데이터 인풋 제한을 극복하고 기계 독해에 대한 솔루션을 제시할 수 있었다.
빅데이터 기술의 소프트웨어 공학 적용
1. 빅데이터 기술의 활용 사례 - 빅데이터 기술은 이미 많은 적용 사례를 가지고 있고, IoT 기술과 더불어 일상의 기술이 되어 가고 있다 (Pervasive & Invisible Analytics).
2. Spark 플랫폼 - 이전에 Hadoop으로 대표되는 빅데이터의 분산 처리 기술은 계속 발전하고 있고, Spark는 메모리 기반 데이터 처리로 기존 대비 성능을 10~100배 개선하였다. 특히, Spark는 Scala라는 함수형 언어로 구현되었고, 이전에 Java 기반의 빅데이터 처리 코드를 보다 명료하고 Compact하게 구현할 수 있다. 데이터 분석에는 Imperative 언어보다 함수형 언어가 보다 적합하다.
3. 소프트웨어 공학에서의 데이터 분석 사례 - 최근 Software Analytics, Repository Mining 등 데이터 분석 사례들이 있고, 최근 GitHub 이나 StackOverflow 분석과 같은 빅데이터 분석 연구들이 진행되고 있다.
4. Spark를 활용한 Word Count 예
5. Big Data Software Engineering - 큰 데이터 처리 외에도, 실시간 데이터 처리 (Velocity), 다양한 데이터 처리 (Variety) 부분에도 소프트웨어 공학 적용이 필요하다. 또한, Big Data Software를 Engineering하는 부분에도 관심이 필요하다. Big Data 분석 코드 역시 SE의 대상으로 바라보고, Test Driven Dev, Agile Methodology와 같은 개발 방법의 적용을 살펴볼 필요가 있다.
마지막으로, 현재 빅데이터 기술에 대한 진입 장벽은 많이 낮아졌고, 사용 가능한 오픈소스들이 많다. 소프트웨어 공학자라면 빅데이터 분석을 직접 시도해 볼 필요가 있고, 특히, Spark-Scala는 향 후 더욱 발전 확대될 기술이다.
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 Catch, Traffic! 팀에서는 아래와 같은 프로젝트를 진행했습니다.
수도권 교통의 혼잡성을 해결하기 위한 방안을 찾는 데이터 파이프라인 구축
18기 김인섭 숭실대학교 산업정보시스템공학과
18기 김재민 국민대학교 AI빅데이터융합경영학과
18기 서은유 동덕여자대학교 정보통계학과
18기 윤정원 숙명여자대학교 소프트웨어융합전공
18기 이현진 서울과학기술대학교 산업정보시스템전공
18기 조은학 명지대학교 융합소프트웨어학부
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study
이 세션에서는 데브시스터즈의 Case Study를 통하여 Data Lake를 만들고 사용하는데 있어 요구 되는 사항들에 대해 공유합니다. 여러 목적에 맞는 데이터를 전달하기 위해 AWS 를 활용하여 Data Lake 를 구축하게된 계기와 실제 구축 작업을 하면서 경험하게 된 것들에 대해 말씀드리고자 합니다. 기존 인프라 구조 대비 효율성 및 비용적 측면을 소개해드리고, 빅데이터를 이용한 부서별 데이터 세분화를 진행할 때 어떠한 Architecture가 사용되었는지 소개드리고자 합니다.
서울시 챗봇팀이 개발한 ‘청년정책봇’은 시나리오 기반이 아닌 딥러닝 기반의 챗봇 서비스다. ETRI에서 개발한 KorBERT를 통해 언어 처리 모델을 대신하고, 형태소 분석 API를 통해 질문 문장에 대한 의도를 분석하였다. 카카오에서 배포한 khaii 형태소 분석기 적용을 통해 구문분석 정확도를 향상을 확인할 수 있었다. 또한, 위키 QA API를 통해 일반적인 질의응답을 위한 기능을 추가했다. 현재 상용화된 챗봇서비스의 대부분은 미리 구성된 시나리오(Flowchart)를 따라가는 방식을 활용하며, 자연어 처리 기술은 신뢰도가 낮아 사용되지 않고 있다. 그에 반해, ‘청년정책봇’은 cdQA 파이프라인을 접목해 유사도 높은 문서를 언어 처리 모델에 적용하는 방식으로 접근해 신뢰도를 높일 수 있었다. 기존 빌더를 통해, 상용화된 서비스 대비 두 가지 장점이 있다. 첫 번째 장점은 딥러닝 모델에 따른 발전 가능성으로써 ETRI KorBERT의 지속적인 개선에 따라 청년정책봇의 기계 독해 성능도 같이 개선된다는 것이다. 두 번째 장점은 서비스 지속 가능성으로써 cdQA 파이프라인에 기반해 주기적인 웹 크롤링을 통해 데이터 추가가 가능하기 때문에 소프트웨어 유지 보수에 필요한 자원을 최소화할 수 있다는 것이다. 청년정책 챗봇을 통해 cdQA 파이프라인과 ETRI BERT 모델을 활용해 기존의 데이터 인풋 제한을 극복하고 기계 독해에 대한 솔루션을 제시할 수 있었다.
2. 1. 서론
2. 시스템 구성도
3. 데이터 전처리 및 클러스터링
4. 트리기반의 모델링
5. 결론 및 추후 연구 방향
CONTENTS
패턴분석을 통한 범죄 예측
부경대학교 IT응용융합공학 2
3. 연구의 필요성 및 목적
1. 서론
연구의 필요성
대용량 데이터의 효율적인 처
리/관리 필요
대용량 소셜 데이터에 대한 중
요성 및 가치 증가
최근 데이터의 특성을 고려한
데이터 처리기술의 필요
:
:
:
연구의 목적
분산된 데이터에 대한 활용 시
스템 구현 방안 제시
맵리듀스 모델을 이용한 클러
스터링 알고리즘 제시
클러스터링 결과에 대한 학습
시스템 구현 방안
:
:
:
부경대학교 IT응용융합공학 3
4. 관련연구
하둡
아파치의 분산시스템 솔루션
MapReduce 프로그래밍 모델
지원
HDFS(Hadoop Distribute File
System)
다양한 패키지 지원
:
:
:
:
맵리듀스
구글에서 개발한 병렬컴퓨팅
을 위한 프로그래밍 모델
맵과 리듀스로 구성된 함수형
프로그래밍
특정 데이터모델이나 스키
마, 질의에 의존적이지 않은 유
연성
:
:
:
1. 서론
부경대학교 IT응용융합공학 4
5. 2. 시스템 구성도
데이터
전처리
클러스터링
결정트리
생성
• RDBMS 데이터의 이용
• 협업 필터링
• 맵리듀스 기반의 데이
터 전처리
• 유사도 계산 알고리
즘
• 맵리듀스 기반의
클러스터링
>
>
>
>
• 클러스터에 대한 트
리 생성
• 새로운 데이터에 대
한 학습가능 알고리
즘
본 연구에서 제안하는 분산시스템에 대한 추천 시스템 설계
부경대학교 IT응용융합공학 5
6. 데이터의 특성을 고려한 맵리듀스 기반 전처리
3. 데이터 전처리 및 클러스터링
내용 기반 필터링(Content Based Filtering)
사용자 기반 필터링(User Based Filtering)
>
>
>
>
>
>
(>
>)
......
......
부경대학교 IT응용융합공학 6
7. RDBMS -> HDFS
3-1. 데이터 전처리
Client
Sqoop RDBMS
MapMapReduce MapMap
HDFS
Map MapMap
Reduce ReduceReduce
HDFS
1.임포트 실행
3.맵리듀스 잡 실행
2.매타데이터 전송
4.RDBMS의 데이터를 가져옴
6. 전처리에 대한 맵리듀스 잡 실행
procedure : ItemBasedToUserBasedMapper
input : item_purchased_historys
output : (userID,<itemID, rating>) pairs
begin
while(line in item_purchased_history)
while(userID,rating in line[userID,rating])
write(userID,<ltemID,rating>)
end
5.분산파일시스템에 저장
부경대학교 IT응용융합공학 7
8. 유사도 측정과 맵리듀스 기반 클러스터링
3-2. 클러스터링
HDFS
아이템간/사용자간 유사도 비교(Cos Dist.)
대표 데이터 추출(ClusterID지정)
Map
(ClusterId,Value)
Map
(ClusterId,Value)
Map
(ClusterId,Value)
Reduce ReduceReduce
HDFS
Shuffle : Group By ClusterID
2 32 33 42 51 57 61 75
3 3 4 6 4 1 5 8
2 4 15 19 33 37 58 59 61
3 4 1 8 7 5 5 4 4
Dist(A,B) = 0.28
A:
B:
Procedure : calDist
input : List<itemID,rating> A,List<itemID,rating> B
output : result
idxOfA = idxOfB = da = db = n = 0
while(idxOfA < length(A) && idxOfB < length(b))
if(A[idxOfA].itemID == B[idxOfB].itemID)
n += A[idxOfA].rating ^ 2 + B[idxOfB].rating ^ 2
da += A[idxOfA].rating ^ 2, db += B[idxOfB].rating ^ 2
idxOfA += 1,idxOfB += 1
else if(A[idxOfA].itemID > B[idxOfA].itemID)
db += B[idxOfB++].rating ^ 2
else
da += A[idxOfA++].rating ^ 2
while(idxOfA < length(A))
da += A[idxOfA++].rating ^ 2
while(idxOfB < length(B))
db += B[idxOfB++].rating ^ 2
result = n/ (sqrt(da) * sqrt(db))
부경대학교 IT응용융합공학 8
9. 사용자 데이터 개수에 대한 클러스터링 결과
3-2. 클러스터링
0
10000
20000
30000
40000
50000
60000
1000
2000
3000
4000
5000
8000
10000
20000
50000
100000
0.4
0.5
클러스터의 개수
사용자 데이터의 개수
17 59 283 428
8 2 7 6
17 288
7 9
428 712
7 6
31 59 283 821
4 6 7 6
하나의 클러스터에 대한 예
0.397 0.368
0.421
부경대학교 IT응용융합공학 9
10. 클러스터의 관리 및 새로운 데이터의 대한 학습
4. 트리기반의 모델링
트리 사용의 목적
새로운 데이터에 대한 클러스
터링
명확한 결과 추론 및 다양한 관
계식 사용의 가능성
새로운 데이터에 대한 학습 가
능 모델 개발
모형구축의 복잡성 및 소요되
는 시간의 최소화
:
:
:
:
C5 C6
C7
C1 C2 C3 C4
User Layer
Depth 0
Depth 1
Depth 2
부경대학교 IT응용융합공학 10
11. 연구 결론 및 향후 연구 방안
5. 결론 및 추후 연구
결론
맵리듀스를 이용한 데이터 클
러스터링 알고리즘 구현 방안
제시
대표 데이터 추출 방법 및 유사
도 임계치에 따라 클러스터링
의 정확도 결정
:
:
추후 연구
여러가지 실제 소셜 데이터에 대
한 분석 및 결과 비교
데이터의 특성을 이용한 유사도
계산 및 클러스터링 알고리즘 연
구
데이터 크기 별 정확한 성능 비교
필요
하둡 패키지들을 이용한 데이터
비교 및 데이터 학습시스템 구축
:
:
:
:
부경대학교 IT응용융합공학 11