1
1
import joblib
2
+ import os
3
+ import pickle
2
4
import argparse
3
5
from atarashi .libs .commentPreprocessor import CommentPreprocessor
4
6
from sklearn .svm import LinearSVC
5
7
from sklearn .feature_extraction .text import CountVectorizer
6
8
from sklearn .linear_model import LogisticRegression
7
9
from sklearn .naive_bayes import MultinomialNB
8
10
11
+ def new (processed_comment ,model ):
12
+
13
+ temp = os .path .dirname (os .path .abspath (__file__ ))
14
+ # pathv = os.path.join(temp, 'binaryFiles/vectorizer.pkl')
15
+
16
+ with open (os .path .join (temp , 'binaryFiles/vectorizer.pkl' ), 'rb' ) as f :
17
+ loaded_vect = joblib .load (f )
18
+ if model == "lr_classifier" :
19
+ classifier = joblib .load (os .path .join (temp , 'binaryFiles/lr_model.pkl' ))
20
+ license_name = classifier .predict ((loaded_vect .transform ([processed_comment ])))
21
+
22
+ elif model == "nb_classifier" :
23
+ classifier = joblib .load (os .path .join (temp , 'binaryFiles/nb_model.pkl' ))
24
+ license_name = classifier .predict ((loaded_vect .transform ([processed_comment ])))
25
+
26
+ elif model == "svc_classifier" :
27
+ classifier = joblib .load (os .path .join (temp , 'binaryFiles/svc_model.pkl' ))
28
+ license_name = classifier .predict ((loaded_vect .transform ([processed_comment ])))
29
+
30
+ return license_name
31
+
9
32
10
33
def similarity_calc (filePath , model ):
11
34
@@ -22,24 +45,14 @@ def similarity_calc(filePath, model):
22
45
:rtype: list(JSON Format)
23
46
'''
24
47
48
+ match = []
49
+
25
50
commentFile = CommentPreprocessor .extract (filePath )
26
51
with open (commentFile ) as file :
27
52
doc = file .read ()
28
-
29
- match = []
30
53
processed_comment = CommentPreprocessor .preprocess (doc )
31
- loaded_vect = joblib .load ("atarashi/agents/models/binaryFiles/vectorizer.pkl" )
32
- if model == "lr_classifier" :
33
- classifier = joblib .load ("atarashi/agents/models/binaryFiles/nb_model.pkl" )
34
- license_name = classifier .predict ((loaded_vect .transform ([processed_comment ])))
54
+ license_name = new (processed_comment ,model )
35
55
36
- elif model == "nb_classifier" :
37
- classifier = joblib .load ("atarashi/agents/models/binaryFiles/nb_model.pkl" )
38
- license_name = classifier .predict ((loaded_vect .transform ([processed_comment ])))
39
-
40
- elif model == "svc_classifier" :
41
- classifier = joblib .load ("atarashi/agents/models/binaryFiles/nb_model.pkl" )
42
- license_name = classifier .predict ((loaded_vect .transform ([processed_comment ])))
43
56
44
57
match .append ({
45
58
'shortname' : license_name [0 ],
0 commit comments