First Presentation Powerpoint

Download Report

Transcript First Presentation Powerpoint

A Portable &
Intelligence
Interview System
Supervisor: Dr. Cheng Reynold
Cheng Man Fung Kevin 3035042423
Fung Chin Pan 3035044641
Lau Hiu Tsun 3035042423
Tso Hei Lok 3035043738
Agenda

Background & Related Work

Objectives

How to Achieve

Development Platform

About Our Application

Other Technologies Utilized

Demo

Conclusion
Background & Related Work
Background

Difficulties:

Manually Paper Work Process


Onsite Interview Site Problem


Time-consuming & costly
Bad Network Connection Problem
Decision Making

How to select a right candidate
Develop an All-in-one Application
Related Work

Existing System

Management of the applicants’ information


Improvement on user interface & presentation of data
Face-to-face Interview

No functionality on Video Conferencing & Recording
Related Work

Existing Product

Some may include

Video conferencing function

Analysis on the effectiveness and consistency across interviewers

Excellent interfaces on managing applicants’ information
Combined them all together, we get
a Portable and Intelligent Interview System !!
Objective
Objective

Diversity


Portability


Functionalities to manage information
Handling of bad network connection problem
Intelligence

Analysis on interviewee
How to Achieve
How to Achieve

Diversity

All-in-one System


Text processing, video conferencing, recording & etc.
A Server allowing access from around the world

Keeping information inside confidential
How to Achieve

Portability

Online System

Offline System

To handle bad network environment

Simple to use
How to Achieve

Intelligence


Statistical Analysis

Presentation of pass data in Charts

Comparison among different years of data
Data-mining

Text Mining

Naïve Bayes Classifier
Development Platform
Development Platform

LAMP

Ubuntu, Apache Server, MySQL, PHP5

Developed for a long time

Free & Open-source software
Development Platform


MVC Model

Model

View

Controller
CodeIgniter

Build-in libraries

Developed for years
IntelliJ IDEA over Eclipse IDE

Smarter auto-completion

Class name / method signatures / variables
IntelliJ IDEA over Eclipse IDE

Optimized Default Controls for Keyboard

Refactoring, error fixing, generation of code
Key Binding:
Alt-Insert
Key Binding:
None (Manual
Configuration
needed)
About Our Application
Business Flow

Preparation phase
System admin
(root) create
new round
Add staff
(helpers /
reviewers) to
new round
Accept student
applicants
Business Flow

Pre-interview phase
Helpers provide summary to student
applicants (helper’s comment)
Reviewers have a chat by conferencing
with the student applicants of interest
Staff add new students manually if
necessary
Business Flow

On-site interview phase
Student
Applicants’
information
prepared
Conduct
interview
and record
with video
functionality
/ camcorder
Manage
comments
and
interview
videos
(Optional,
for offline
module only)
Upload
comments
and
interview
videos
Business Flow

Post on-site interview
Review student’s full record
Automated analysis (on-site comment
analysis, map analysis, chart analysis)

Sundry Item
Email Functionality
Special Feature

Video Conferencing


Impossible to arrange interviews for all the applicants
Video Recording

Difficult for some of the reviewers to participate the onsite interview
Special Feature

Secure Socket Layer (SSL)

application layer confidentiality

symmetric key encryption

protection against network packet capturing software
Special Feature

Analysis

Map analysis


Comment Analysis


Distribution of the location of university of current year applicants
Suggestion of whether the student applicants should be accepted
or not
Chart analysis

Statistical information of current round for better planning and
coordination in future
No-Network Capability

Endure the unstable, low bandwidth or even no network situation

Develop offline module


Manage onsite comments and interview videos
Upload the managed comment with one click when network is stable
Minor items

Student list filtering

Email

Student view application

View application
System Architecture
(fyp14003s1.cs.hku.hk)
Online Module @ HKUCS
Database
Web Server
+
WebRTC
Node JS
server
Interview round management
User account management
Comments and video management
Analysis
Email functionality
Interne
t
Geolocation with
Unstable/NO
Internet Access
Manage student applicants’ onsite
interview comment and video
View student applicants’ information
Offline
Module
Bring back
Bring into
Database Design
Model View Controller (MVC) pattern

Passive view model

Controller: communicating component

View component: presentation of data

Model: logical evaluation

Views further organized

Advantage: separation of code
Decorator Pattern

Helps filtering of student applicants list

Reduces number of subclasses by decorator chaining

Improves code quality
Other Technologies Utilized
What is WebRTC?

Free

open source

Real-Time Communications (RTC)
Why WebRTC?

No plug-in

open source

free

Standardized

efficient
WebRTC work on?

Chrome

Opera

Firefox
WebRTC applications do

Get streaming

Audio

Video

Other data
WebRTC applications do

Get network information

IP address

Ports

Coordinate signaling communication

Exchange information about media

Communicate streaming
WebRTC implements APIs


MediaStream

Audio

Video
RTCPeerConnection


establish communication channel
RTCDataChannel

prepare for signaling
MediaStream

synchronized streams of media
Signaling

not specified by WebRTC standardize

Choose by WebRTC app developer

Session Initiation Protocol (SIP)

Extensible Messaging and Presence Protocol (XMPP)

XMLHttpRequest (XHR)
(We use Socket.io running on a Node server)
Signaling

Exchange three types of information

Session control messages

Network configuration

Media capabilities
RTCPeerConnection

Make the communication of streaming data between
peers.

Stable

efficient
Something about the system

Socket.io running on a Node server

currently support 1 to 1 conferencing
RecordRTC

JavaScript-based media-recording library

A recording solution
Security

Problems

Man in middle

Data access right issue

Malware or viruses might be installed
WebRTC’s Security

secure protocols

Datagram Transport Layer Security (DTLS)

The Secure Real-time Transport Protocol (SRTP)

Encryption is mandatory

Not a plug-in

Media access must be granted explicitly
Reviewers’ comment analysis


Naïve Bayes Classification

Efficient

Tutorials from the internet
Data preparation

Classified comments into positive and negative

Extract words

Calculating Conditional Probabilities

Find the largest value to determine the class
Reviewers’ comment analysis

Testing

75% training data, 25% testing data

24 testing comments (21 positive, 3 negative)

Accruacy 90%

19 positive, 5 negative

21 positive comments, 19 of them are classified as positive

3 negative comments, all of them are classified as negative
Google map geolocation

Send a request to google server

Short form or full name also accepted

HKU and The University of Hong Kong

Receive response

Put a marker on the map
Google Chart API

Show Statistical data

Loading some Google Chart Library

Input data

Select options

Create chart object

Showed on javascript
Technologies Utilized

Apache HTTPClient


GSON


Construction of HTTP GET and POST messages
JSON parsed into and from java object
Guava

Creation of structured constant maps by
collection builder.
Demo
Conclusion
Progress- completed

Online System

E-mail system

Video conferencing

Onsite and pre-interview video uploading

Search form of students

Managing accounts

Managing rounds

Analysis on reviewers’ comment

Reading and modifying comments

WebRTC recording in Firefox
Progress- completed

Offline system

Synchronization with online system

Video saving

Viewing student information

Modifying reviewers’ comments
Progress- under development

Google map analysis

Cross-year analysis

UI design

Statistical analysis
Progress- to be implemented

Beta version for professor testing

Smoke test has done

Need further testing for its robustness

We are glad to receive feedbacks for improvement

Study WEKA for data mining

Video recording in Google Chrome

“walk-in” student support

Pre-interview conferencing
Future Development


WEKA

a collection of machine learning algorithms

applied directly to a dataset

Java code

data pre-processing, classification, regression, clustering,
association rules, and visualization
Cross year analysis

Provide more statistical information
Future Development


“Walkin” student support

Student who did not register

Offline system support
Pre-interview conferencing

No way to invite a student to start a conferencing

Solution

A dialog box to accept the conferencing
Possible Difficulties

Reviewers comment analysis

Accuracy

<100 student information

75% training data, 25% testing data

Large variance

Need more data from next few years
Possible Difficulties

Consistency

RecordRTC

Firefox


Chrome


Record video and audio in one file
Record video and audio in one file separately
Solution

FFmpeg

An application can merge media file

Support most of the file type

Webm

Wav
FAQ Section
Reference

SSL how to import cert to Java Keystore:
http://letmehelpyougeeks.blogspot.hk/2009/07/adding-servers-certificate-tojavas.html

XAMPP: SSL Encrypt the Transmission of Passwords with https:
http://robsnotebook.com/xampp-ssl-encrypt-passwords

How To Create a SSL Certificate on Apache for Ubuntu 14.04:
https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificateon-apache-for-ubuntu-14-04

Apache HTTP Client: http://hc.apache.org/httpcomponents-client-ga/index.html

Google GSON: https://code.google.com/p/google-gson/

Google Guava: https://code.google.com/p/guava-libraries/

Decorator Pattern: http://en.wikipedia.org/wiki/Decorator_pattern

IntelliJ IDEA: https://www.jetbrains.com/idea/
Thank you!