klassify: text classification with redis

16
klassify Text classification with Redis

Upload: fatih-erikli

Post on 08-Jan-2017

289 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Klassify: Text Classification with Redis

klassifyText classification with Redis

Page 2: Klassify: Text Classification with Redis

Fatih Erikli Software Developer @Adphorus

[email protected] http://fatiherikli.com

Page 3: Klassify: Text Classification with Redis

Text ClassificationThe task is to assign a document to one or more classes or categories.

• Spam filters • Web page classification • News and and topic categorization • Sentiment Analysis

Use cases

Page 4: Klassify: Text Classification with Redis

• Neural Networks • K-nearest neighbour algorithms • Decision Trees • Naive Bayes Classification

Techniques

Page 5: Klassify: Text Classification with Redis

TrainingJust count the words under a label.

Politicsdemocrat 4socialism 20democrat 30

communism 20politician 10holacaust 20

Drugssmoke 30weed 22

lsd 34heroin 54

cannabis 23marijuana 52

Page 6: Klassify: Text Classification with Redis

ClassificationStem, singularize and eliminate given text

Marijuana should be legalized nationally in the United States

just as it is already in Colorado.

Page 7: Klassify: Text Classification with Redis

ClassificationCalculate scores for each labels

Marijuana should be legalized nationally in the United States

just as it is already in Colorado.

drugs: 4 drugs: 2

politics: 3

Drugs = 4 + 2 = 6 / TotalWordCountOfDrugs Politics = 3 / TotalWordCountOfPolitics

Page 8: Klassify: Text Classification with Redis

Redis Implementation

Page 9: Klassify: Text Classification with Redis

SADD labels PoliticsSADD labels DrugsSADD labels GameSADD labels Programming

Initial labelsinitial labels on a Set which is called `labels`

Page 10: Klassify: Text Classification with Redis

HINCRBY Programming Brainfuck 2

`awesome` and `is` should not be trained. they are fuzzy words for training logic.

Querying for training“Brainfuck! Brainfuck is awesome” as Programming

Page 11: Klassify: Text Classification with Redis

HVALS Programming# 3 3 2 3 5HGET Programming Brainfuck# 5

Queries for classification

Page 12: Klassify: Text Classification with Redis

A protoype:http://github.com/fatiherikli/klassify

Page 13: Klassify: Text Classification with Redis

HTTP POST :8888/train{ ‘text’: ‘Brainfuck is awesome’, ‘label’: ‘Programming’}

Training

Page 14: Klassify: Text Classification with Redis

HTTP POST :8888/classify{ ‘text’: ‘Brainfuck is awesome’}

Classification{ "label": "Programming", "scores": { "Aliens": 1.428, "Animals": 2.380, "Society": 6.4935, "Technology": 9.523 }}

responserequest

Page 15: Klassify: Text Classification with Redis

{ "label": "Programming", "scores": { "Aliens": 1.4285714285714287e-05, "Animals": 2.380952380952381e-06, "Society": 6.493506493506494e-07, "Technology": 9.523809523809525e-07 }}

Response

Page 16: Klassify: Text Classification with Redis

DEMO