1 of 42

透過 Golang 無痛建置機器學習聊天機器人

Evan Lin @ Linker Networks

2 of 42

About Me

  • Cloud Architect @ Linker Networks
  • Golang User Group - Co-Organizer
  • Top 5 Taiwan Golang open source contributor (github award)
  • Developer, Curator, Blogger

3 of 42

Three chatbots

4 of 42

First: Build a line chatbot within 3 minutes

5 of 42

How to choose programming language for Chat Bot?

  • Easy to Write
  • Fast in Run and Compile
  • Powerful Concurrency
  • Powerful Built-in Toolchain

6 of 42

Go Go Powe Ranger

7 of 42

Line Message API

8 of 42

Deploy Line Bot …. Just one click

9 of 42

Let’s Demo ….. on video

10 of 42

How to deploy Line Bot in 3 minutes

11 of 42

Ok! How can I modify code

12 of 42

PetNeedMe: 流浪動物領養Line機器人

13 of 42

Second: Build a line chatbot with LUIS.AI

14 of 42

What is LUIS.AI

15 of 42

Language Understanding Intelligent

台北天氣如何?

台北冷嗎?

台北天氣好嗎?

台北天氣怎麼樣?

台北天空是什麼顏色?

台北有下雨嗎?

去台北需要帶傘嗎?

16 of 42

LUIS: Intent and Entity

台北天氣如何?

Intent: Check Weather

Entity: Taipei

17 of 42

LUIS SDKs

Go Version ???

18 of 42

LUIS Go package

19 of 42

Baby LUIS Chatbot

20 of 42

Total intents

21 of 42

How to train your baby (chatbot)

Input syntax

Response related activity

Display related intent

Remember selection and train

NO

YES

Has Chatbot Learn it?

22 of 42

How to train your baby (chatbot)

Input syntax

Response related activity

Display related intent

Remember selection and train

NO

YES

Has Chatbot Learn it?

23 of 42

Daddy, I have learned!

Github: �LUIS Go package https://github.com/kkdai/luis �Line baby LUIS https://github.com/kkdai/LineBotBabyLuis

24 of 42

Final: Build a line chatbot with deep learning - Tensorflow

25 of 42

Tensroflow Inception Model Graph

26 of 42

It is so hard to be a data scientist …. until ...

27 of 42

You got some great books

28 of 42

Or .. you have learn some great courses..

29 of 42

Machine Learning Data Flow

Data Collect

Probe & Sensor & Smart GW

Vizualization

Data Process

Data Analysis &

Machine Learning

DC/OS

Spark ML

Tensorflow

DC/OS

Storage

Cassandra

Kafka (Queueing)

Go/Akka (Connector)

Spark (ETL/Streaming)

D3.js

Scikit Learn

R

Interactive

Dashboard

Jupyter Notebook

Zeppelin

ML Job

Scheduler

Chronos

HPC (with GPU)

server

Storage

SDN

Storage

SDN

30 of 42

Serving Pre-build Models (1)

31 of 42

Serving Pre-build Models (2)

Image

Serve image to inception model

Predict result

Response result

32 of 42

Let’s ask about some animal

33 of 42

Even more...

34 of 42

Lots of models here ..

35 of 42

Other tensorflow models (1)

36 of 42

Other tensorflow models (2)

37 of 42

Don’t let your imaginations limits you

38 of 42

歡迎訂閱 碼天狗

39 of 42

Golang.tw (Golang Taiwan User Group)

40 of 42

iThome Gopher Day 2017/06/29

北科大集思中心 (Call for speaker)

41 of 42

Linker is hiring

Cloud Platform Engineer

  • Kubernetes, DCOS
  • Golang
  • DevOps

42 of 42

Live Demo