생성형 AI 데이터 사이언스

경제적/교육적 함의

이광춘

비영리법인 한국 R 사용자회

2023년 9월 20일

목차

  1. 발제자 및 발제 소개

  2. 챗GPT 플러그인

  3. 생성형 AI - 데이터 사이언스 (Code Interpreter)

  4. 글쓰기 : 챗GPT 인터페이스 - 오피스 전쟁

  5. 도구(문서)의 인간 - 데이터 사이언스 글쓰기

  6. 챗GPT 유닉스 쉘 (책)

  7. 생성형 AI 시대 경제 일자리와 교육

  8. 질의응답!

발제자 & 발제 개요

AI 아바타

주요경력 및 학력

  • (현) 공익법인 한국 R 사용자회: 기술 이사

  • (현) 국가교육위원회 전문위원: 과학/기술 분과

  • (현) 건국대학교 챗GPT 데이터 사이언스 과정: 외래교수

  • (현) 경기도 빅데이터 위원회 자문위원

  • (전) TCS: GS 칼텍스 디지털 아카데미 강사

  • (전) 연세대학교 데이터 사이언스: 겸임교수

  • (전) 삼정 KPMG: Lighthouse AI 기술총괄

  • (전) 웹젠: 데이터 과학자 TD

  • (전) 현대모비스: 차량용 반도체 개발구매

  • (전) 현대자동차: VAATZ / FTA


  • KAIST, CMU, 연세대 응용통계 및 컴퓨터 과학 전공

  • RStudio Instructor - Tidyverse

  • Seoul R Meetup Organizer

강의상세

  • 날짜 : 2023. 9. 20.(수) 14:00~16:00
  • 장소 : 서울창업허브 본관 10층 대회의실(발제자·토론자) 및 온라인(유튜브) 실시간 중계
  • 대상 : 공공데이터의 활용에 관심이 있는 일반 국민 또는 학계·시민단체·언론·기업·공공기관 종사자, 전문가 등 70여 명
  • 내용
    • 챗GPT가 불러온 생성형 AI 열풍을 오픈데이터 측면 함의와 데이터 이용자에게 미치는 영향 등 다양한 측면에서 살펴봄
    • 생성형 AI 서비스 관련 제공자 및 이용자(공공데이터 활용기업, 개발자, 일반국민 등)가 참여하여 공공데이터 개방·활용 확대를 위해 논의하는 열린 소통의 장

챗GPT 플러그인

포스터 제작

API 프로그래밍

웹사이트를 읽고 다음 지령을 준비해 https://apis.map.kakao.com/web/documentation/

Kakao 지도 API 문서는 다양한 지도 관련 기능을 제공한다. 이 문서는 지도 객체 생성, 이벤트, 메서드 등에 대한 상세한 정보를 담고 있다. 아래는 주요 내용의 요약이다.

### 지도 객체 생성
- `kakao.maps.Map(container, options)`: 지도를 생성한다.
  - `container`: 지도가 표시될 HTML element
  - `options`: 중심 좌표, 확대 수준, 지도 종류 등을 설정할 수 있다.

### 주요 메서드
- `setCenter(latlng)`: 지도의 중심 좌표를 설정한다.
- `getCenter()`: 지도의 중심 좌표를 반환한다.
- `setLevel(level, options)`: 지도의 확대 수준을 설정한다.
- `getLevel()`: 지도의 확대 수준을 반환한다.
- `setMapTypeId(mapTypeId)`: 지도의 타입을 설정한다.
- `getMapTypeId()`: 지도의 타입을 반환한다.

### 이벤트
- `center_changed`: 중심 좌표가 변경되면 발생한다.
- `zoom_start`: 확대 수준이 변경되기 직전에 발생한다.
- `zoom_changed`: 확대 수준이 변경되면 발생한다.
- `click`: 지도를 클릭하면 발생한다.
- `dblclick`: 지도를 더블클릭하면 발생한다.

이 외에도 다양한 메서드와 이벤트가 있어, 개발자가 원하는 기능을 쉽게 구현할 수 있다.

주소를 넘기면 위경도 좌표를 반환하는 R 코드를 작성해줘.

R에서 주소를 위경도 좌표로 변환하기 위해 httr 패키지를 사용하여 Kakao API를 호출한 예시 코드이다.

# 필요한 패키지를 설치하고 불러온다
install.packages("httr")
install.packages("jsonlite")
library(httr)
library(jsonlite)

# 주소를 위경도로 변환하는 함수를 정의한다
get_latlng <- function(address) {
  # Kakao API 키를 설정한다 (본인의 API 키로 교체해야 한다)
  api_key <- "YOUR_KAKAO_API_KEY"
  
  # API URL과 파라미터를 설정한다
  url <- "https://dapi.kakao.com/v2/local/search/address.json"
  params <- list(query = address)
  headers <- add_headers("Authorization" = paste("KakaoAK", api_key))
  
  # API를 호출한다
  response <- GET(url, query = params, headers)
  
  # 응답을 확인하고 JSON을 파싱한다
  if (status_code(response) == 200) {
    content <- content(response, "text", encoding = "UTF-8")
    json_data <- fromJSON(content)
    
    # 위경도를 추출한다
    if (json_data$meta$total_count > 0) {
      lat <- json_data$documents[[1]]$y
      lng <- json_data$documents[[1]]$x
      return(list(lat = lat, lng = lng))
    } else {
      return(NULL)
    }
  } else {
    stop("API request failed")
  }
}

# 함수를 테스트한다
address <- "서울특별시 강남구 테헤란로 212"
result <- get_latlng(address)
print(paste("Latitude:", result$lat, "Longitude:", result$lng))
library(httr)
library(jsonlite)

# 주소를 위경도로 변환하는 함수를 정의한다
get_latlng <- function(address) {
  # Kakao API 키를 설정한다 (본인의 API 키로 교체해야 한다)
  api_key <- Sys.getenv("KAKAO_MAP_API_KEY")
  
  # API URL과 파라미터를 설정한다
  url <- "https://dapi.kakao.com/v2/local/search/address.json"
  params <- list(query = address)
  headers <- add_headers("Authorization" = paste("KakaoAK", api_key))
  
  # API를 호출한다
  response <- GET(url, query = params, headers)
  
  # 응답을 확인하고 JSON을 파싱한다
  if (status_code(response) == 200) {
    content <- content(response, "text", encoding = "UTF-8")
    json_data <- fromJSON(content)
    
    # 위경도를 추출한다
    if (json_data$meta$total_count > 0) {
      lat <- json_data$documents[[1]]$y
      lng <- json_data$documents[[1]]$x
      return(list(lat = lat, lng = lng))
    } else {
      return(NULL)
    }
  } else {
    stop("API request failed")
  }
}

# 가톨릭관동대학교 주소
address <- "강원도 강릉시 범일로579번길 24"
result <- get_latlng(address)
print(paste("Latitude:", result$lat, "Longitude:", result$lng))

사실확인 (Wolfram)

울프람 알파(Wolfram Alpha) 사용해서 사실관계를 확인해보자.

“지구는 평평하다”라는 주장을 검증해줘.

"지구는 평평하다"라는 주장에 대해 Wolfram Alpha를 이용해 검증해보았습니다.

### 입력 해석
- 질문: 지구는 평평하다?

### 결과
- 답변: 아니다.
  - 지역적으로만 그렇다. 그리고 그것도 특정 지역, 예를 들어 미국 중서부에서만 해당된다.

자세한 정보는 [Wolfram|Alpha 웹사이트](https://www6b3.wolframalpha.com/input?i=Is+the+Earth+flat%3F)에서 확인할 수 있다.

이처럼 Wolfram Alpha는 다양한 주장이나 정보에 대한 팩트체크를 할 수 있는 유용한 도구이다.

라면을 많이 먹으면 건강에 정말 안좋은가?

Wolfram Alpha에서는 “라면을 많이 먹으면 건강에 정말 안 좋은가?”에 대한 구체적인 답변을 제공하지 못했다. 그러나 일반적으로 라면은 높은 나트륨, 지방, 인공 첨가물 등을 포함하고 있어, 과도하게 섭취할 경우 다음과 같은 건강 문제가 발생할 수 있다:

  1. 고혈압: 라면에는 나트륨이 많이 들어있다. 나트륨 과다 섭취는 혈압을 높일 수 있다.

  2. 비만: 라면은 칼로리가 높고, 지방도 많이 들어있다. 지속적으로 라면을 많이 먹으면 체중 증가의 위험이 있다.

  3. 소화기 문제: 라면은 소화가 잘 되지 않는 식품 중 하나이다. 과도한 섭취는 소화기에 부담을 줄 수 있다.

  4. 영양 불균형: 라면은 영양소가 적고, 나트륨이나 지방 등의 불필요한 성분이 많다. 이로 인해 영양 불균형이 발생할 수 있다.

  5. 심혈관 질환: 고혈압, 높은 콜레스테롤 등은 심혈관 질환의 위험을 높인다.

라면을 즐길 때는 이러한 점들을 고려하여 적당한 양과 빈도로 섭취하는 것이 중요하다.

수능문제 풀이

2023학년도 대학수학능력시험 수학영역 문제를 풀어보자.

\(\left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}}\) 값은?

\[ \left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}} \] 의 값은 \(4\)입니다.

정확한 형태로는 \(2^{(2 - \sqrt{2}) (2 + \sqrt{2})}\)로 표현됩니다.

자세한 정보는 Wolfram|Alpha 웹사이트에서 확인할 수 있다.

과정도 설명해줘.

물론이다. 주어진 식은 \[ \left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}} \]이다. 이 식을 단계별로 분해해보자.

  • 단계 1: 분모를 간단하게 만들기
    먼저, 분모인 \(2^{\sqrt{2}}\)를 간단하게 만들기 위해 분자와 분모에 \(2^{\sqrt{2}}\)를 곱한다. 이렇게 하면:

\[ \left(\frac{4 \times 2^{\sqrt{2}}}{2^{\sqrt{2}} \times 2^{\sqrt{2}}}\right)^{2+\sqrt{2}} \]

  • 단계 2: 분모를 합치기
    이제 분모의 \(2^{\sqrt{2}} \times 2^{\sqrt{2}}\)를 합쳐 \(2^{2\sqrt{2}}\)로 만든다.

\[ \left(\frac{4 \times 2^{\sqrt{2}}}{2^{2\sqrt{2}}}\right)^{2+\sqrt{2}} \]

  • 단계 3: 분자를 합치기
    분자의 \(4 \times 2^{\sqrt{2}}\)를 합쳐 \(2^2 \times 2^{\sqrt{2}} = 2^{2+\sqrt{2}}\)로 만든다.

\[ \left(\frac{2^{2+\sqrt{2}}}{2^{2\sqrt{2}}}\right)^{2+\sqrt{2}} \]

  • 단계 4: 지수 법칙 적용
    지수 법칙에 따라 분자와 분모의 지수를 빼준다.

\[ \left(2^{(2+\sqrt{2}) - 2\sqrt{2}}\right)^{2+\sqrt{2}} = \left(2^{(2 - \sqrt{2})(2 + \sqrt{2})}\right)^{2+\sqrt{2}} \]

  • 단계 5: 최종 계산
    마지막으로, \((2 - \sqrt{2})(2 + \sqrt{2})\)를 계산하면 \(4 - 2 = 2\)가 된다. 따라서 최종 결과는 \(2^2 = 4\)이다.

이렇게 해서 \[ \left(\frac{4}{2^{\sqrt{2}}}\right)^{2+\sqrt{2}} = 4 \]임을 확인할 수 있다.

생성형 AI
데이터 사이언스

OpenAI Advanced Data Analysis


Open AI Code Interpreter → Advanced Data Analysis


RStudio Copilot

Tools -> Global Options -> Copilot -> Enable Github Copilot

웹앱(Shiny App) 개발 사례

글쓰기
챗GPT 인터페이스 - 오피스 전쟁

구글 검색의 종말(?)

글쓰기 역사


오피스 전쟁

항목 MS 오피스 1 구글 오피스 2 리브레 오피스 3 한컴 오피스 4
문서 작성 및 편집 워드, 엑셀, 파워포인트 등의 데스크톱 및 웹 앱 제공 구글 문서, 스프레드시트, 프레젠테이션 등의 웹 앱 제공 라이터, 캘크, 임프레스 등의 데스크톱 앱 제공 한글, 한셀, 한쇼 등의 데스크톱 및 모바일 앱 제공
협업 및 공유 원드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 구글 드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정하고 실시간으로 확인 가능 드롭박스나 구글 드라이브와 연동하여 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 넷프리즘을 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움
이메일 및 채팅 Outlook을 통해 비즈니스 메일 제공. Teams을 통해 채팅 및 화상 회의 가능 Gmail을 통해 비즈니스 메일 제공. Chat과 Meet을 통해 채팅 및 화상 회의 가능 이메일 및 채팅 기능 없음 이메일 및 채팅 기능 없음
가격 1인당 월 5~20달러 다양한 요금제 제공. 데스크톱 앱 사용 가능한 요금제는 12.5달러부터 시작 1인당 월 6~18달러까지 다양한 요금제 제공 완전 무료 개인용은 무료로 사용 가능하며 업무용은 별도로 견적 요청 필요

오피스 전쟁: 패러다임 충돌

챗GPT 시대 사무실

챗GPT가 이룬 대통합

인터페이스 (Interface)




flowchart TB
    
    subgraph A["사용자 인터페이스"]
    direction LR
        CLI["CLI<br>Command Line Interface<br> 1950~"]     --> GUI["GUI <br> Graphic User Inferface<br> 1970~"]
        GUI               --> WI["Web Interface <br> 1994~"]
        WI --> MI["Mobile Interface <br> 2007~"]
        MI --> NUI["LUI <br> Language User Interface <br> 2023~"]

    end


class A nodeStyle

classDef nodeStyle fill:#fcfbfa,stroke:#000000,stroke-width:0.7px,font-weight:bold,font-size:14px;



챗GPT NUI

  • 챗GPT (ChatGPT)

  • OpenAI Playground

Command Palette 역사

  • 60년대로 거슬러 올라가는 명령 팔레트는 최근 기술 업계에서 다시 인기를 얻고 있으며 사용자 중심 소프트웨어의 필수적인 부분으로 간주됨.
  • CLI는 개인용 컴퓨터가 대중화되기 전 초기 컴퓨팅을 지배했으며 사용자가 시스템을 작동하기 위해 특정 명령을 알아야 했다. 1984년 Apple의 매킨토시와 함께 도입된 그래픽 사용자 인터페이스(GUI)는 중요한 혁신으로 여겨졌지만, 소프트웨어의 복잡성이 증가함에 따라 GUI만으로는 탐색하기가 점점 더 어려워졌다.
  • 사용자가 항목 이름의 짧은 약어입력하여 앱과 파일을 검색할 수 있는 런처가 점점 더 보편화 되었다. 예를 들어 2001년에 출시된 Mac OS X용 LaunchBar, Quicksilver, 2005년에 출시된 Apple의 시스템 전체 Spotlight가 있다. 검색과 CLI의 결합은 Command Palette의 탄생으로 이어졌다.
  • 오늘날 우리가 알고 있는 현대식 명령 팔레트는 2011년 Sublime Text 2 베타 Joe Skinner가 처음 소개. 명령줄 사용에 익숙한 프로그래머들이 단축키를 모두 외울 필요 없이 더 빠르게 작업할 수 있어 중요한 발전이 됨.

도구(문서)의 인간
데이터 사이언스 글쓰기


데이터 과학 과거와 현재



과거


현재


글쓰기 진화

package1[패키지] –> product1[“제품(S/W)”] –> distribute1[배포] –> service1[“서비스
(앱)”] –>

package2[패키지] –> product2[“제품(문서)”] –> distribute2[배포] –> service2[“서비스
(출판)”] –>

데이터 과학 → 디지털 글쓰기

연도 도구 개발자
1978 TeX Donald Knuth
1984 Literate Programming Donald Knuth
1988 Mathematica Notebooks Stephen Wolfram
2001 IPython Fernando Perez
2003 Emacs org-mode Carsten Dominik
2004 Markdown John Gruber
2005 Sage Notebook William Stein
2006 Pandoc John MacFarlane
2009 GitHub Flavored Markdown Tom Preston-Werner
2011 iPython Notebook Fernando Perez
2012 knitr Yihui Xie
2014 Project Jupyter Fernando Perez
2020 Quarto J.J. Allaire

챗GPT 유닉스 쉘 (책)

챗GPT 유닉스 쉘 집필과정

교보문고

작업흐름

graph TB
    A[Greg Wilson] --> B[소프트웨어 카펜트리]
    B --> C["공동 저작"]
    C --> D["콘텐츠, 디자인, 교수방법, 경험, 네트워크"]
    D --> E["챗GPT(AI)"]
    
    style A fill:#f9d79c,stroke:#f39c12,stroke-width:2px
    style B fill:#aed6f1,stroke:#2e86c1,stroke-width:2px
    style C fill:#d7bde2,stroke:#884ea0,stroke-width:2px
    style D fill:#a2d9ce,stroke:#17a589,stroke-width:2px
    style E fill:#fcf3cf,stroke:#f1c40f,stroke-width:2px

챗GPT 도서 제작

생성형 AI 경제 일자리와 교육

생성형 AI 개발 생태계

수능 국영수

생성AI 입시교육

다음 지문을 보고 문제를 푸세요. 지문과 문제는 백틱(`) 세개로 감싸여 있고 다음과 같이 되어 있습니다.

``` 지문과 문제 ```

출력: 1. 영어지문 전체를 한글로 번역한다. 2. 정답을 제시하고 이유도 설명한다.
```

다음을 듣고, 남자가 하는 말의 목적으로 가장 적절한 것을 고르시오.
M: Hello, Lockwood High School students. This is your school librarian, Mr. Wilkins. I’m sure you’re aware that our school librar y is hosting a bookmark design competition. I encourage students of all grades to par ticipate in the competition. The winning designs will be made into bookmarks, which will be distributed to librar y visitors. We’re also giving out a variety of other prizes. So don’t let this great oppor tunity slip away. Since the registration period for the bookmark design competition ends this Friday, make sure you visit our school librar y to submit your application. Come and par ticipate to display your creativity and talents.

다음을 듣고, 남자가 하는 말의 목적으로 가장 적절한 것을 고르시오. ① 도서관의 변경된 운영 시간을 안내하려고 ② 독후감 쓰기 대회의 일정을 공지하려고 ③ 책갈피 디자인 대회 참가를 독려하려고 ④ 기한 내 도서 반납을 촉구하려고 ⑤ 전자책 이용 방법을 설명하려고
```

다음은 영어 지문의 한글 번역입니다:

안녕하세요, 록우드 고등학교 학생 여러분. 저는 교사 월킨스입니다. 아마도 여러분들은 저희 학교 도서관에서 책갈피 디자인 대회를 개최한다는 사실을 알고 있을 것입니다. 저희는 모든 학년의 학생들이 이 대회에 참가하도록 권장합니다. 우승 디자인은 책갈피로 만들어져서 도서관 방문자들에게 배포될 것입니다. 우리는 또한 다양한 상품을 제공하고 있습니다. 그러니 이 좋은 기회를 놓치지 마십시오. 책갈피 디자인 대회의 등록 기간은 이번 주 금요일에 종료되기 때문에, 신청을 제출하려면 반드시 학교 도서관을 방문해야 합니다. 참여하여 여러분의 창의력과 재능을 표출해보세요.

위 지문에 대한 문제는 다음과 같습니다:

다음을 듣고, 남자가 하는 말의 목적으로 가장 적절한 것을 고르시오. ① 도서관의 변경된 운영 시간을 안내하려고 ② 독후감 쓰기 대회의 일정을 공지하려고 ③ 책갈피 디자인 대회 참가를 독려하려고 ④ 기한 내 도서 반납을 촉구하려고 ⑤ 전자책 이용 방법을 설명하려고

정답은 ③ 책갈피 디자인 대회 참가를 독려하려고 입니다.

남자의 말에서는 책갈피 디자인 대회를 언급하고, 학생들에게 대회에 참가할 것을 권장하고 있습니다. 그래서 남자의 목적은 책갈피 디자인 대회 참가를 독려하는 것입니다.

서울 R 미트업

참여와 연대

  • 서울R미트업 meetup.com: link
    • 23년 4월 서울 R 미트업: link
    • 23년 5월 서울 R 미트업: link
    • 23년 6월 서울 R 미트업: link
    • 23년 7월 서울 R 미트업: link
    • 23년 8월 서울 R 미트업: link
    • 23년 9월 서울 R 미트업: link
  • 세계 R 미트업 현황 (Global R Meetup Dashboard): link
  • 한국 R 사용자회 (Korea R User Group): link
  • 한국 R 컨퍼런스 (Korea R Conference): link
  • 유튜브 채널 (Youtube Channel): link
  • 페이스북 그룹 (Facebook Group): link