schlenker commited on
Commit
dd75000
·
1 Parent(s): 59a1e48

Include wordnet relations test

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py CHANGED
@@ -146,10 +146,55 @@ if st.session_state.actions[-1] == "result":
146
  if st.session_state.is_helpful['ask'] == True:
147
  ask_if_helped()
148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
 
150
  if st.session_state.actions[-1] == 'cue':
151
  guessed = False
152
  write_bot('What do you want to see?', remember=False, blink=False)
 
 
 
 
 
 
 
153
  b1 = st.button("Next letter", key="1")
154
  b2 = st.button("Next word", key="2")
155
  b3 = st.button("All words", key="3")
 
146
  if st.session_state.is_helpful['ask'] == True:
147
  ask_if_helped()
148
 
149
+ # JS
150
+ def postproc_wn(related_words):
151
+ related_words = [word.name().split('.')[0] if word.name()[0] != "." else word.name().split('.')[1] for word in related_words]
152
+ related_words = [word.replace("_", " ") for word in related_words]
153
+
154
+ return related_words
155
+
156
+ # JS
157
+ def get_available_cues(target):
158
+ wn_nouns = [word.name() for word in wn.all_synsets(pos='n')]
159
+ wn_nouns = [word.split('.')[0] if word[0] != "." else word.split('.')[1] for word in wn_nouns]
160
+
161
+ if target in wn_nouns:
162
+ available_cues = {}
163
+ synset_target = wn.synsets(target, pos=wn.NOUN)[0]
164
+
165
+ if wn.synonyms(target):
166
+ available_cues['Synonyms'] = [word.split('.')[0] if word[0] != "." else word.split('.')[1] for word in wn.synonyms(target)[0]]
167
+
168
+ if synset_target.hypernyms():
169
+ available_cues['Hypernyms'] = postproc_wn(synset_target.hypernyms())
170
+
171
+
172
+ if synset_target.hyponyms():
173
+ available_cues['Hyponyms'] = postproc_wn(synset_target.hyponyms())
174
+
175
+ if synset_target.examples():
176
+ examples = []
177
+
178
+ for example in synset_target.examples():
179
+ examples.append(example.replace(target, "..."))
180
+
181
+ available_cues['Examples'] = examples
182
+
183
+ return available_cues
184
+
185
+ else:
186
+ return None
187
 
188
  if st.session_state.actions[-1] == 'cue':
189
  guessed = False
190
  write_bot('What do you want to see?', remember=False, blink=False)
191
+ # JS
192
+ if get_available_cues():
193
+ avail_cues = get_available_cues()
194
+ cues_buttons = []
195
+ for cue_type, cues in avail_cues.items():
196
+ st.button(cue_type)
197
+
198
  b1 = st.button("Next letter", key="1")
199
  b2 = st.button("Next word", key="2")
200
  b3 = st.button("All words", key="3")