def processQ(q): parsed = api.parseS(q)[0] wc = collections.Counter() for tok in parsed: wc[tok['word']]+=1 if tok['POS'] in REP and tok['WS'] and tok['NER']=='O': ss = tok['WS'] newword = tok['word'] if randint(0,1) and ss.hypernyms(): #use hypernym newword = ss.hypernyms()[randint(0,len(ss.hypernyms())-1)].lemmas[0].name elif ss.lemmas: #use lemmas newword = ss.lemmas[randint(0,len(ss.lemmas)-1)].name q = replaceQ(q,tok['word'],newword,wc[tok['word']]) return q
def parse(s): sentence = api.parseS(s) return sentence
def parseQ(q): question = api.parseS(q) return question[0]