KPMG Future Academy AI 활용 데이터 분석가 3기 21일차 수업을 2024년 12월 16일에 참석했다.
오전에는 금요일에 진행한 1일 간의 미니프로젝트 (solution-solving) 발표시간을 가졌다.
아래 네 가지 주제에 대한 발표가 진행되었다.
1) 경찰력 최적화 시스템 (우리팀)
2) 따릉이 데이터 기반 맛집 추천 플랫폼
3) 학생 집중도 데이터 기반 추천 행동 어플리케이션
4) 워라밸 기반 직장인 관리 시스템
1) 경찰력 최적화 시스템 (우리팀)
데이터 과학을 활용해 지리적 프로파일링 Compstat을 솔루션으로 제시하는 시스템을 제안하였다.
질의 :
5대 범죄만 분석한 것인가?
5대 범죄란 강력범죄인가?
인프라가 좋은 강남은 환경이 좋은데 왜 범죄율이 왜 높은가?
(지능범죄, 화이트칼라 범죄에 대하여는 환경요인 외의 요인이 있는 것이 아닌가?)
추가 논의
: 해당 관계를 분석할 자료는 외부에 공개되지 않는 것 같음.
화이트칼라 범죄 및 금융범죄와 현장범죄 간의 유의미한 데이터 분석이 가능히기 전에는 상관도를 확인하기 어려움.
즉 지리적 프로파일링 외에도 범죄자 인적 프로파일링 및 네트워크 프로파일링 등이 필요할 것으로 판단됨.
네트위크 프로파일링의 경우 아래의 고려사항이 있을 것으로 짐작됨 :
통신사의 사적 네트워크에 대한 부분.
은행, 보험사, 사설경비 업체 등의 사적 데이터베이스 / 국가 행정 및 치안 데이터베이스 간 분절 등 주요 단서 데이터 간 분절되어 있는 문제.
통합적 레벨에서 국가 치안 행정 시스템을 구축하기 위해서는 기본적으로 통신 상 은닉층 존재 여부를 밝힐 수 있어야함.
관련하여 데이터 프로파일링 등의 작업에 관심이 생겼다.
2) 따릉이 데이터 기반 맛집 추천 플랫폼
앱 관련 데이터를 통해 출퇴근 시간 외의 이용자가 역사생활에 따릉이를 활용하는 것으로 파악되어, 지도에서 2.nkm 내의 맛집을 추천하는 데이터 분석을 도출함.
질의 :
해당 앱 외의 전용 앱을 만드는 것은 어떤지?
-> 따릉이 이용자로 사용자를 제한하였으므로 같은 앱 내에서 제공되는 서비스로 국한.
3) 학생 집중도 데이터 기반 추천 행동 어플리케이션
HRV 기기를 활용해 집중 저해 요소를 예방하는 어플리케이션 제공.
질의 :
사람이 불안이나 집중저해가 신체의 자연스러운 방어기제라고 알고 있다. 이를 강제로 조정하면 예상되는 부작용은 없는지?
-> 스포츠선수, 전문인력 : 아마 더 복잡할듯...
학생으로 대상군을 정한 이유 : 데이터 수집이 더 단조롭고 용이하다.
개인 개체의 변동 패턴을 이해하여 예측기반으로 제시하며, 강제적 행동 제어는 없으므로 부작용은 판단하기 이르다.
해당 행동 제안이 신체의 자율신경계 반응보다 낫다는 근거는?
-> 수험생의 경우 과도한 스트레스에 노출되고 과도한 집중을 장시간 요구하는 (과열된) 환경이므로 아마 이 어플리케이션이 과도한 스트레스 환경요인의 억제 역할로 활용될 수 있을 것이다.
악용의 소지에 대해서는 추가 답변하지 않았다.
4) 워라밸 기반 직장인 관리 시스템
지표 중 출퇴근 시간, 직장 근처의 생활인프라 등이 워라밸 점수(지수)에 영향을 미칠 것으로 분석하여 이를 반영 가능한 인사관리시스템을 제안함.
질의 :
객관적인 워라벨 지수(점수)를 도출하는 것은 유의미한 접근일 것 같다. (해외에 실증자료가 있을듯함, 예 : OECD의 Better Life Index 등) 그런데 지표를 상정하기까지 어떤 방법을 사용했나?
-> 출퇴근 시간이 가장 큰 변인이라고 미리 상정하였다.
(지리요인은 바꾸기 가장 어려운 요소이므로... 아마 임의로 가중을 줬으리라 짐작됨.)
(국내의 경우 직업만족도의 문제가 결국 주거문제로 비화되는데, 해결 방법 중에서 통근 피로도 개선이나 주거문제에 대한 해결안 등 개선책 아이데이션이 있었으면 인상깊은 미니 프로젝트가 되지 않았을지)
: 웰니스와 달리 워라밸은 의학적으로 번아웃에 영향을 주므로 건강과 직결된다. (최악의 경우 죽음에 이르는 정신과학적 질병요인이다.) 워라밸은 동일 시간 대비 수면의 질 등 스트레스 측정 방법 등을 반영하여 결과를 직접 측정하여 얻을 수 있는 지수다. (이렇듯 실질적으로 워라밸 지수란 결과론적인 지수이므로, 의학적으로 산출 가능한 건강상의 지표임.) 워라밸에 악영향을 주는 주요 변인을 과학적인 방법으로 산출하는 게 순서일 듯하다. 지표 산정시에 근거가 부족하다. (일반적이거나 개인적인 의견으로 도출하여 검증과정이 누락된 것 같다.) 이 점이 보완되면 유의미한 연구 및 분석이 될 듯하다.
선생님 제언
목표를 더 구체적이고 좁게 잡을수록 유리하다.
stream realtime에서 확인.
multimodal
프로젝트 아스트라
유튜버 JM의 리뷰 영상
https://www.youtube.com/watch?v=GVSRfV1F850
ChatGPT의 비전 분야 개발 모델도 시연영상을 볼 수 있었다. (시판 데모에서 정확도는 아직 제한적이었음)
컴퓨터 비전을 자율주행 외에 시중에서 활용하게 될 경우 예상되는 긍정적, 부정적 측면을 알아보았다.
구글 AR 등의 경우 제조업, 건설업 등에서 작업자의 학습보조용으로 사용되고 있다고 한다. 다만 아직까지 작업자의 안전을 위한 수준까지는 개발되지 못 한 듯하다.
시각 능력은 인간 외의 생물이 더 뛰어날 수 있으므로 이를 재현한 타 시각 로봇의 개발 진도는 대중적으로 아직 확인하기 어렵다. 그 경우 컴퓨터 비전의 성능은 상상 이상으로 뛰어날 것으로 짐작된다.
가상 업무 시나리오
뉴스레터 자동 발송 업무
뉴스 수집 단계
번역
요약
카드 이미지
정리 및 보고
데이터 연동 툴
make
zapier
이메일로 뉴스레터 보내기 실습
이메일주소와 키워드를 입력하고 실행하자 실행로그가 뜨고 즉시 이메일이 도착하였다. (하루 최대 500건의 이메일 발송 가능)
구글 뉴스 RSS의 알고리즘은 최신이고 관련성 높은 콘텐츠 순서로 정렬되어 있다고 함.
매일 6시 발송하도록 트리거 추가
이메일주소 추가
function fetchAndSendNews() {
// 이메일 수신자 배열
const emailRecipients = [
"email1@example.com", "email2@example.com", "email3@example.com",
"email4@example.com", "email5@example.com", "email6@example.com",
"email7@example.com", "email8@example.com", "email9@example.com",
"email10@example.com"
];
// 키워드를 직접 코드에 정의
const keywords = ["키워드1", "키워드2", "키워드3"];
const newsCount = 5; // 검색 결과 개수
let emailContent = "안녕하세요,\n\n아래는 키워드별 최신 뉴스입니다:\n\n";
keywords.forEach(keyword => {
if (keyword) {
const rssUrl = `https://news.google.com/rss/search?q=${encodeURIComponent(keyword)}&hl=ko&gl=KR&ceid=KR:ko`;
const response = UrlFetchApp.fetch(rssUrl);
const xml = XmlService.parse(response.getContentText());
const items = xml.getRootElement().getChild("channel").getChildren("item");
emailContent += `\n[키워드: ${keyword}]\n`;
for (let i = 0; i < Math.min(newsCount, items.length); i++) {
const title = items[i].getChild("title").getText();
const link = items[i].getChild("link").getText();
emailContent += `- ${title}\n ${link}\n`;
}
emailContent += "\n";
}
});
// 모든 수신자에게 이메일 보내기
emailRecipients.forEach(email => {
GmailApp.sendEmail(email, "뉴스레터: 최신 뉴스 업데이트", emailContent);
});
}
function setTrigger() {
ScriptApp.newTrigger("fetchAndSendNews")
.timeBased()
.everyDays(1)
.atHour(6) // 매일 오전 6시에 실행
.create();
}
구글 클라우드 플랫폼 Oauth 설정
google sheets -> HTTP -> Text parser -> chatGPT -> Discord -> Notion
라우터로 우회
구글 시트에서 한번 값을 불러온 후 다시 run했을 때를 위해 데이터(row)를 새롭게 추가후 run해야함.