def set_semantic_data(obj, event): text = [] for schema in iterSchemata(obj): fields = getFieldsInOrder(schema) for name, field in fields: if IText.providedBy(field): text.append(field.get(obj)) full_text = "\n".join(text) pos_tags = tag(full_text) obj.semantic = extract_keywords(pos_tags)
def test_extract_keywords(self): pos_tags = tag(self.alicetext) most_important = extract_keywords(pos_tags) self.assertEqual(most_important, ['door', 'table', 'house', 'notices', 'time', 'baby', 'day', 'finds', 'head', 'mushroom'])
def test_empty_text(self): self.assertEqual([], tag(''))
def test_pos_tag(self): sentence = 'The quick brown fox jumps over the lazy dog' tagged = tag(sentence) self.assertEqual([('The', 'DT'), ('quick', 'NN'), ('brown', 'NN'), ('fox', 'NN'), ('jumps', 'NNS'), ('over', 'IN'), ('the', 'DT'), ('lazy', 'NN'), ('dog', 'NN')], tagged)