예제 #1
0
 def __init__(self, req_data: Dict):
     self.text = req_data.get("text")
     self.language = req_data.get("language")
     self.entities = req_data.get("entities")
     self.correlation_id = req_data.get("correlation_id")
     self.score_threshold = req_data.get("score_threshold")
     self.return_decision_process = req_data.get("return_decision_process")
     ad_hoc_recognizers = req_data.get("ad_hoc_recognizers")
     self.ad_hoc_recognizers = []
     if ad_hoc_recognizers:
         self.ad_hoc_recognizers = [
             PatternRecognizer.from_dict(rec) for rec in ad_hoc_recognizers
         ]
예제 #2
0
    def test_from_dict(self):
        json = {'supported_entity': 'ENTITY_1',
                'supported_language': 'en',
                'patterns': [{'name': 'p1', 'score': 0.5, 'regex': '([0-9]{1,9})'}],
                'context': ['w1', 'w2', 'w3'],
                'version': "1.0"}

        new_recognizer = PatternRecognizer.from_dict(json)
        ### consider refactoring assertions
        assert new_recognizer.supported_entities == ['ENTITY_1']
        assert new_recognizer.supported_language == 'en'
        assert new_recognizer.patterns[0].name == 'p1'
        assert new_recognizer.patterns[0].score == 0.5
        assert new_recognizer.patterns[0].regex == '([0-9]{1,9})'
        assert new_recognizer.context == ['w1', 'w2', 'w3']
        assert new_recognizer.version == "1.0"
예제 #3
0
    def test_from_dict_returns_instance(self):
        pattern1_dict = {'name': 'p1', 'score': 0.5, 'regex': '([0-9]{1,9})'}
        pattern2_dict = {'name': 'p2', 'score': 0.8, 'regex': '([0-9]{1,9})'}

        ent_rec_dict = {"supported_entity": "A",
                        "supported_language": "he",
                        "patterns": [pattern1_dict, pattern2_dict]
                        }
        pattern_recognizer = PatternRecognizer.from_dict(ent_rec_dict)

        assert pattern_recognizer.supported_entities == ["A"]
        assert pattern_recognizer.supported_language == "he"
        assert pattern_recognizer.version == "0.0.1"

        assert pattern_recognizer.patterns[0].name == "p1"
        assert pattern_recognizer.patterns[0].score == 0.5
        assert pattern_recognizer.patterns[0].regex == '([0-9]{1,9})'

        assert pattern_recognizer.patterns[1].name == "p2"
        assert pattern_recognizer.patterns[1].score == 0.8
        assert pattern_recognizer.patterns[1].regex == '([0-9]{1,9})'
예제 #4
0
def test_from_dict_returns_instance():
    pattern1_dict = {"name": "p1", "score": 0.5, "regex": "([0-9]{1,9})"}
    pattern2_dict = {"name": "p2", "score": 0.8, "regex": "([0-9]{1,9})"}

    ent_rec_dict = {
        "supported_entity": "A",
        "supported_language": "he",
        "patterns": [pattern1_dict, pattern2_dict],
    }
    pattern_recognizer = PatternRecognizer.from_dict(ent_rec_dict)

    assert pattern_recognizer.supported_entities == ["A"]
    assert pattern_recognizer.supported_language == "he"
    assert pattern_recognizer.version == "0.0.1"

    assert pattern_recognizer.patterns[0].name == "p1"
    assert pattern_recognizer.patterns[0].score == 0.5
    assert pattern_recognizer.patterns[0].regex == "([0-9]{1,9})"

    assert pattern_recognizer.patterns[1].name == "p2"
    assert pattern_recognizer.patterns[1].score == 0.8
    assert pattern_recognizer.patterns[1].regex == "([0-9]{1,9})"
예제 #5
0
def test_from_dict():
    json = {
        "supported_entity": "ENTITY_1",
        "supported_language": "en",
        "patterns": [{
            "name": "p1",
            "score": 0.5,
            "regex": "([0-9]{1,9})"
        }],
        "context": ["w1", "w2", "w3"],
        "version": "1.0",
    }

    new_recognizer = PatternRecognizer.from_dict(json)
    # consider refactoring assertions
    assert new_recognizer.supported_entities == ["ENTITY_1"]
    assert new_recognizer.supported_language == "en"
    assert new_recognizer.patterns[0].name == "p1"
    assert new_recognizer.patterns[0].score == 0.5
    assert new_recognizer.patterns[0].regex == "([0-9]{1,9})"
    assert new_recognizer.context == ["w1", "w2", "w3"]
    assert new_recognizer.version == "1.0"