Nick Canu commited on
Commit
8c15345
1 Parent(s): 0feb6d8
Files changed (2) hide show
  1. description_generator.py +9 -6
  2. requirements.txt +0 -1
description_generator.py CHANGED
@@ -1,7 +1,7 @@
1
 
2
  import numpy as np
3
  import re
4
- import spacy, en_core_web_md
5
  import openai
6
  from operator import itemgetter
7
  #user input manager class
@@ -15,10 +15,13 @@ class input_manager:
15
  self.key = dict(zip(list(key_df.columns),np.zeros(len(key_df.columns))))
16
  self.top_n = top_n
17
 
 
 
 
18
  #translate input text to vector
19
  def set_input(self,input_cats):
20
  #need setup to apply correct group tag to values
21
- nlp=spacy.load("en_core_web_md")
22
  #separate known/unknown features
23
  k_flags = [cat for cat in input_cats if cat in list(self.key.keys())]
24
  unk_flags = [cat for cat in input_cats if cat not in list(self.key.keys())]
@@ -29,23 +32,23 @@ class input_manager:
29
  outs = []
30
  for word in unk_flags:
31
  if re.match(r"game_type_",word):
32
- tok = nlp(word.split("_")[-1])
33
  mtch = max([(key,key.similarity(tok)) for key in self.search_tokens[0]],key=itemgetter(1))
34
  #if no known match is found (model doesn't recognize input word), we're going to discard - other solutions performance prohibitive
35
  if mtch[1]>0:
36
  outs.append("game_type_"+mtch[0])
37
  elif re.match(r"mechanic_",word):
38
- tok = nlp(word.split("_")[-1])
39
  mtch = max([(key,key.similarity(tok)) for key in self.search_tokens[1]],key=itemgetter(1))
40
  if mtch[1]>0:
41
  outs.append("mechanic_"+mtch[0])
42
  elif re.match(r"category_",word):
43
- tok = nlp(word.split("_")[-1])
44
  mtch=max([(key,key.similarity(tok)) for key in self.search_tokens[2]],key=itemgetter(1))
45
  if mtch[1]>0:
46
  outs.append("category_"+mtch[0])
47
  elif re.match(r"family_",word):
48
- tok = nlp(word.split("_")[-1])
49
  mtch=max([(key,key.similarity(tok)) for key in self.search_tokens[3]],key=itemgetter(1))
50
  if mtch[1]>0:
51
  outs.append("family_"+str(mtch[0]))
 
1
 
2
  import numpy as np
3
  import re
4
+ import spacy
5
  import openai
6
  from operator import itemgetter
7
  #user input manager class
 
15
  self.key = dict(zip(list(key_df.columns),np.zeros(len(key_df.columns))))
16
  self.top_n = top_n
17
 
18
+ spacy.cli.download("en_core_web_md",'--no-deps')
19
+ self.nlp = spacy.load("en_core_web_md")
20
+
21
  #translate input text to vector
22
  def set_input(self,input_cats):
23
  #need setup to apply correct group tag to values
24
+
25
  #separate known/unknown features
26
  k_flags = [cat for cat in input_cats if cat in list(self.key.keys())]
27
  unk_flags = [cat for cat in input_cats if cat not in list(self.key.keys())]
 
32
  outs = []
33
  for word in unk_flags:
34
  if re.match(r"game_type_",word):
35
+ tok = self.nlp(word.split("_")[-1])
36
  mtch = max([(key,key.similarity(tok)) for key in self.search_tokens[0]],key=itemgetter(1))
37
  #if no known match is found (model doesn't recognize input word), we're going to discard - other solutions performance prohibitive
38
  if mtch[1]>0:
39
  outs.append("game_type_"+mtch[0])
40
  elif re.match(r"mechanic_",word):
41
+ tok = self.nlp(word.split("_")[-1])
42
  mtch = max([(key,key.similarity(tok)) for key in self.search_tokens[1]],key=itemgetter(1))
43
  if mtch[1]>0:
44
  outs.append("mechanic_"+mtch[0])
45
  elif re.match(r"category_",word):
46
+ tok = self.nlp(word.split("_")[-1])
47
  mtch=max([(key,key.similarity(tok)) for key in self.search_tokens[2]],key=itemgetter(1))
48
  if mtch[1]>0:
49
  outs.append("category_"+mtch[0])
50
  elif re.match(r"family_",word):
51
+ tok = self.nlp(word.split("_")[-1])
52
  mtch=max([(key,key.similarity(tok)) for key in self.search_tokens[3]],key=itemgetter(1))
53
  if mtch[1]>0:
54
  outs.append("family_"+str(mtch[0]))
requirements.txt CHANGED
@@ -9,4 +9,3 @@ spacy==3.5.1
9
  streamlit==1.20.0
10
  torch==2.0.0
11
  transformers==4.27.3
12
- en_core_web_md==3.5.0
 
9
  streamlit==1.20.0
10
  torch==2.0.0
11
  transformers==4.27.3