test_relation_extraction_classifier.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # -*- coding: utf-8 -*-
  2. from iepy.extraction.relation_extraction_classifier import RelationExtractionClassifier
  3. from iepy.utils import make_feature_list
  4. from .manager_case import ManagerTestCase
  5. class TestFactExtractor(ManagerTestCase):
  6. def setUp(self):
  7. self.config = {
  8. "classifier": "svc",
  9. "classifier_args": {},
  10. "dense_features": make_feature_list("""
  11. entity_order
  12. entity_distance
  13. other_entities_in_between
  14. verbs_count_in_between
  15. verbs_count
  16. total_number_of_entities
  17. symbols_in_between
  18. number_of_tokens
  19. """),
  20. "sparse_features": make_feature_list("""
  21. bag_of_words
  22. bag_of_pos
  23. bag_of_words_in_between
  24. bag_of_pos_in_between
  25. """)
  26. }
  27. def test_simple_ok_configuration(self):
  28. RelationExtractionClassifier(**self.config)
  29. def test_error_missing_configuration(self):
  30. del self.config["dense_features"]
  31. with self.assertRaises(ValueError):
  32. RelationExtractionClassifier(**self.config)
  33. def test_error_nonexistent_feature(self):
  34. self.config["dense_features"].append("the_yeah_yeah_feature")
  35. with self.assertRaises(KeyError):
  36. RelationExtractionClassifier(**self.config)