1 대화 인터페이스 1

2020년까지 고객 응대(interaction) 85%는 사람의 개입없이 기계(bot)으로 처리될 것이고, 2021년 디지털 가상비서 시장은 $15.8 Billion 달러에 이를 것으로 추정된다.

1.1 챗봇개발 파이썬 라이브러리

파이썬 3.6.5. 를 근간으로 챗봇개발 파이썬 라이브러리는 다음과 같다.

  • 기계학습(Machine Learning)
    • Numpy
    • SpaCy + Scikit-learn
    • Tensorflow
    • Keras
  • 대화(conversation)
    • Rasa NLU - 의도 인식(intent recognition) + 개체명 추출(Entity Extraction)
    • Rasa Core - 대화 기반 기계학습
    • Management
  • Connectors
    • Flask

2 slack 챗봇

2.1 환경설정

slackr 팩키지 안내에 따라 기본 디폴트 설정된 ~/.slackr 파일에 다음 정보를 저장시킨다.

.slackr 파일에 저장된 내용

api_token: xoxp-xxxxxxxxxxxxxxxxxxx
channel: #tidyverse
username: tidyverse.korea
incoming_webhook_url: https://hooks.slack.com/services/xxxxxxxxxx

상기 정보는 사용자인증을 위해서 api_token을 발급받고, 슬랙 작업공간(workspace) 채널을 특정하기 위해서 Webhook URL을 설정한다.

  1. Create New App 앱생성
    • Incoming Webhooks을 통해서 해당 채널(#tidyverse)에 “Webhook URL”을 지정
  2. Legacy tokens 토근 생성
    • Workspace와 User 사용자명 확인
library(slackr)

slackr_setup(echo = TRUE)
{
  "SLACK_CHANNEL": ["#tidyverse"],
  "SLACK_USERNAME": ["tidyverse.korea"],
  "SLACK_ICON_EMOJI": ["NA"],
  "SLACK_INCOMING_URL_PREFIX": ["https://hooks.slack.com/services/XXXXX/XXXXX/XXXXX"],
  "SLACK_API_TOKEN": ["xoxp-xxxxxxxxxxxxxxxxxxxxxxxxxxx"]
} 

2.2 슬랙 작업

R 작업 결과를 slack 채널에 바로 다양한 형태로 보낼 수 있다.

2.2.1 텍스트

slackr("지금 Tidyverse를 하셔야 합니다. 대표님!")

2.2.2 데이터프레임

slackr(head(mtcars))

2.2.3 시각화

library(tidyverse)

mpg_g <- mtcars %>% 
  ggplot(aes(x=wt, y=mpg)) +
    geom_point() +
    theme_bw()

ggslackr(mpg_g)