def parse(self, sentence, nick): tokens = nltk.word_tokenize(sentence) tagged = nltk.pos_tag(tokens) structure = [] contents = [] for word, type in tagged: records = Learned.objects(word=word) if not records: record = Learned(word=word, partofspeech=type) try: record.save() except: pass try: structure.append(type) contents.append(word) except: pass try: struct = Structure(structure=structure, contents=contents) struct.save() except: pass
def speak(self): sentence = [] struct = choice(Structure.objects()) for pos in struct.structure: _word = choice(Learned.objects(partofspeech=pos)) sentence.append(_word.word) self.chat(" ".join(sentence))