#!/usr/bin/env python2
#encoding: UTF-8

# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.

if __name__ == “__main__”:
print “Hello World”

from sklearn import datasets
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split

from keras.preprocessing.text import one_hot
from keras.preprocessing.text import text_to_word_sequence
from keras.preprocessing.text import Tokenizer
import random
import json

import imp

fonctions = imp.load_source(‘boucles’, ‘/root/IA/experience/boucles.py’)

import boucles

labels={}
labels[1]=”Demande de nom”
labels[0]=”Demande d’ ge”
labels[2]=”Message de f licitations”
labels[3]=”m t o”
labels[4]=”Compte bancaire”
labels[5]=”Nouvelle t che”
labels[6]=”Note de frais”
labels[7]=”Wikipedia”
labels[8]=”Virement”
labels[9]=”Analyse”

# fit the tokenizer on the documents

SIZE=6
# define the document
text=[]
text.append(“bonjour comment tu t’appelles ?”)
text.append(“Bonjour quel est ton nom ?”)
text.append(“Bonjour c’est quoi ton nom ?”)

text.append(“Quel age as tu ?”)
text.append(“C’est quoi ton ge ?”)
text.append(“Quel ge as tu ?”)

text.append(“F licitations”)
text.append(“Quelle est la m t o aujourd’hui ?”)
text.append(“Combien j’ai dans mon compte”)
text.append(“Enregistre une nouvelle t che”)
text.append(“Enregistre une note de frais”)
text.append(“Dis moi qui est christiano ronaldo”)
text.append(“Nouveau virement”)
text.append(“Fais une analyse”)
text.append(“fais un virement”)

text.append(“enregistre un Nouveau virement”)
text.append(“nouvelle analyse”)
text.append(“effectue une analyse”)
text.append(“nouvelle note de frais de 5000 dhs”)
text.append(“qui est lionel messi”)
# estimate the size of the vocabulary
text.append(“comment tu t’appelles ?”)
text.append(“quel est ton nom ?”)
text.append(“c’est quoi ton nom ?”)

train_labels = [1,1,1,0,0,0,2,3,4,5,6,7,8,9,8,8,9,9,6,7,1,1,1]

res0=fonctions.create_combinaison_text(text,train_labels,20)
new_texts=res0[‘data’]
train_labels = (res0[‘label’])

t.fit_on_texts(new_texts)

train_data=[]

#On traite le texte de sorte obtenir des s quences de nombres homg nes sur tout le fichier
res= fonctions.process_text_array(new_texts,t)
t=res[‘tokenizer’]
train_data=res[‘resultat’]

fonctions.setMaxArraySize2(train_data,50)
dimensions = fonctions.getMaxSize(train_data)

train_data = (train_data)

print(train_data)
#—————————————————–#

test_data=[]
test_data.append((“comment tu t’appelles”))
test_data.append((“dis moi ton nom”))
test_data.append((“c’est quoi ton ge”))

test_data.append((“quel est ton ge”))
test_data.append((“F licitations”))
test_data.append((“enregistre une note de frais merci”))
test_data.append((“un virement s’il te plait”))

res=fonctions.process_text_array(test_data,t)
t=res[‘tokenizer’]
test_data=res[‘resultat’]

fonctions.setMaxArraySize2(test_data,dimensions)

test_data = (test_data)

print(test_data)

test_labels = ([1,1,0,0,2,6,8])

print(“dimension : “+str(dimensions))

vocab_size=len(t.word_index)

# dividing X, y into train and test data

# training a DescisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
dtree_model = DecisionTreeClassifier(max_depth = 10).fit(train_data, train_labels)
dtree_predictions = dtree_model.predict(test_data)

print(dtree_predictions)

import sys

textToPredict0 = sys.argv[1]

textToPredict = []
textToPredict.append(textToPredict0)

#print(t.word_index)

res = fonctions.process_text_array_no_add_index(textToPredict,t)

oneHottedText = res[‘resultat’]

resizedOneHotted = fonctions.setMaxArraySize2(oneHottedText,dimensions)

dtree_predictions = dtree_model.predict(resizedOneHotted)

from sklearn.metrics import accuracy_score

print(dtree_predictions)

print(“Prediction : “+labels[dtree_predictions[0]])
print(dtree_model.score(oneHottedText,dtree_predictions))
print(dtree_model.score(test_data,test_labels))