tom amon aaron campbell stakeholder: marcello …...why drexel chatbot why api • expandable to...

38
Members: Tom Amon Aaron Campbell Daniel Fitzick Shishir Kharel Hoa Vu Nanxi Zhang Stakeholder: Marcello Balduccini 5/24/2017 1

Upload: others

Post on 10-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

Members:

Tom Amon

Aaron Campbell

Daniel Fitzick

Shishir Kharel

Hoa Vu

Nanxi Zhang

Stakeholder:

Marcello Balduccini

5/24/2017 1

Page 2: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

• Introduction & Features

• Overview of Algorithm

• System Architecture & Design

• Management

• Demo

• Limitations & Technical Challenges

DREXEL CHATBOT

2

Page 3: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

INTRODUCTION & FEATURES

3

Page 4: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

WHAT IS DREXELCHATBOT

• Question answering system for Drexel

• RESTful API

• Demo applications (Web, Mobile and SMS)

4

Page 5: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

WHY DREXEL CHATBOT

Compared to Google:

• More efficient

• More user friendly

• Gets results faster

Compared to Google Assistant/Siri:

• Optimized for Drexel

• More information about Drexel

5

Page 6: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

WHY DREXEL CHATBOT

Why API

• Expandable to other applications

• Friendly to other developers

• Research project

• Focus on the process

CCI Class of 2017 Senior Design Project - Drexel Chatbot 6

Page 7: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

FEATURES

• Input and output in natural language

• API

• Input by URL parameters

• Output formatted in JSON

• Concurrent users

• Demo applications

• Simple interfaces

• Enter and send questions; get responses

7

Page 8: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

SUPPORTED QUESTIONS

Faculty

• Email

• Website

• Title

• Office

• Phone number

• Picture

• Department

• Education

• Publications

• Research interests

CCI Class of 2017 Senior Design Project - Drexel Chatbot 8

Buildings

• Address

• Schedule

• Picture

• Website

Page 9: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

OVERVIEW OF ALGORITHM

9

Page 10: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

INSPIRATION

Google’s “A neural conversational model” (2015)

• I am seeing an error related to VPN

• What is the error message that you are getting when connecting to VPN using NetworkConnect ?

• Connection refused

• May I know the version of NetworkConnect you are using?

• Wheres Marcello Balduccini office?

o Marcello Balduccini office is Rush 233C.

10

Page 11: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

Where is Vokolos’ office?

Where is (Faculty)’s office?

(Faculty)’s office is in (Room). [query]

Vokolos’ office is in University Crossings 131.

Generalize

Classify

Populate

11

Page 12: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

Where is Vokolos’ office?

Where is (faculty)’s office?

(faculty)’s office is in (room). [query]

Vokolos’ office is in University Crossings 131.

Generalize

Classify

Populate

12

Page 13: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

Where is Vokolos’ office?

Where is (faculty)’s office?

(faculty)’s office is in (room). [query]

Vokolos’ office is in University Crossings 131.

Generalize

Classify

Populate

13

Page 14: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

Where is Vokolos’ office?

Where is (faculty)’s office?

(faculty)’s office is in (room). [query]

Vokolos’ office is in University Crossings 131.

Generalize

Classify

Populate

14

Page 15: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

ALGORITHM DESIGN RATIONALE

• Less training data

• Modular

• Adaptable

CCI Class of 2017 Senior Design Project - Drexel Chatbot 15

Page 16: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

SYSTEM ARCHITECTURE & DESIGN

16

Page 17: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

17

Page 18: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

MAIN LANGUAGES

• Frontend

• Java

• Java Script

• HTML & CSS

• API: Java

• Backend: Python

18

Page 19: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

API• Basic Model-View-Controller

• Calls backend on each GET request

• Each requests gets separate process

CCI Class of 2017 Senior Design Project - Drexel Chatbot 19

Page 20: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

GENERIC QUESTION CONSTRUCTION

• “Generalize” step

• Natural Language Processing

• Identify keywords

• Part of speech tagging

• Database lookup

• Replace keywords with generic form

20

Page 21: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

GENERIC ANSWER CONSTRUCTION

• “Classify” step

• Neural network

CCI Class of 2017 Senior Design Project - Drexel Chatbot 21

Page 22: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

GENERIC ANSWER CONSTRUCTION

• 18 answer categories

• ~200 training questions

• ~7000 training question after adding noise (misspelling)

22

Page 23: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

GENERIC ANSWER POPULATION

• Simplest component

• Query the database

• Replace generic form

CCI Class of 2017 Senior Design Project - Drexel Chatbot 23

Page 24: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

DATABASE• RDF Database

• No tables or keys

• Extensibility

• One-to-many

24

Page 25: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

INFORMATION EXTRACTION

• Populates the database

• 20 scripts

• Creates TTL(turtle) files

<#Denise-Agosto>

cb:name "Denise Agosto" ;

cb:room "Rush 214B" ;

cb:email "[email protected]" ;

CCI Class of 2017 Senior Design Project - Drexel Chatbot 25

Page 26: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

ERROR HANDLER

• Allows failing more gracefully

• 2 types of errors

• “I don’t understand the question”

• “Sorry I don't have an answer for that. But I found this website: http:...”

26

Page 27: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

MANAGEMENT

27

Page 28: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

28

COMMUNICATION

Page 29: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

PLANNING

CCI Class of 2017 Senior Design Project - Drexel Chatbot 29

Page 30: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

30

REPOSITORY & BUG TRACKING

Page 31: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

TESTING• Unit testing

• System testing

• User testing

CCI Class of 2017 Senior Design Project - Drexel Chatbot 31

Page 32: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

DEMO

32

Page 33: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

LIMITATIONS & TECHNICAL CHALLENGES

33

Page 34: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

LIMITATIONS

Input question

• No compound

• Context-unaware

• Keyword-dependent

NLTK

• Misidentification

34

Page 35: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

TECHNICAL CHALLENGES

• Database speed

• Neural network speed

• Lack of data

CCI Class of 2017 Senior Design Project - Drexel Chatbot 35

Page 36: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

CONCLUSION

36

Page 37: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

QUESTIONS

37

Page 38: Tom Amon Aaron Campbell Stakeholder: Marcello …...WHY DREXEL CHATBOT Why API • Expandable to other applications • Friendly to other developers • Research project • Focus

T HA N K YO U

Aaron, Daniel, Hoa, Nanxi, Shishir, Tom, and Bun

5/24/2017 38