-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjuliet.py
27 lines (22 loc) · 850 Bytes
/
juliet.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import numpy as np
import string
from nltk.corpus import stopwords
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn.feature_extraction.text import TfidfTransformer,TfidfVectorizer
from sklearn.pipeline import Pipeline
df = pd.read_csv('test.txt',sep='\t')
a = pd.Series(df.columns)
a = a.rename({0: df.columns[0],1: df.columns[1]})
def cleaner(x):
return [a for a in (''.join([a for a in x if a not in string.punctuation])).lower().split()]
Pipe = Pipeline([
('bow',CountVectorizer(analyzer=cleaner)),
('tfidf',TfidfTransformer()),
('classifier',DecisionTreeClassifier())
])
Pipe.fit(df['question'],df["answer"])
while(True):
a=input("User: ")
print("Juliet: ", Pipe.predict([a])[0])