From 35528e39665603e1058deab2c87d865192e84a46 Mon Sep 17 00:00:00 2001 From: Nathan Zylbersztejn Date: Thu, 20 Jun 2019 12:39:33 -0400 Subject: [PATCH] fix: imports in tests --- .../nlu/components/fuzzy_matcher/__init__.py | 0 .../nlu/components/fuzzy_matcher/process.py | 41 ------------------- requirements.txt | 4 +- setup.py | 2 +- tests/nlu/test_fuzzy_matcher.py | 30 -------------- tests/nlu/test_postprocessors.py | 2 +- tests/nlu/test_preprocessors.py | 2 +- tests/nlu/test_sweeper.py | 2 +- tests/nlu/test_synonyms.py | 2 +- 9 files changed, 6 insertions(+), 79 deletions(-) delete mode 100644 rasa_addons/nlu/components/fuzzy_matcher/__init__.py delete mode 100755 rasa_addons/nlu/components/fuzzy_matcher/process.py delete mode 100755 tests/nlu/test_fuzzy_matcher.py diff --git a/rasa_addons/nlu/components/fuzzy_matcher/__init__.py b/rasa_addons/nlu/components/fuzzy_matcher/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/rasa_addons/nlu/components/fuzzy_matcher/process.py b/rasa_addons/nlu/components/fuzzy_matcher/process.py deleted file mode 100755 index df31c83..0000000 --- a/rasa_addons/nlu/components/fuzzy_matcher/process.py +++ /dev/null @@ -1,41 +0,0 @@ -import editdistance -import operator - - -def distance(val1, val2): - return editdistance.eval(val1, val2) - - -def ratio(val1, val2): - max_distance = max(len(val1), len(val2)) - return int(100*(1 - distance(val1, val2) / max_distance)) - - -def partial_distance(val1, val2): - values = sorted([val1, val2], key=len, reverse=True) - distances = [] - for i in range(0, len(values[0]) - len(values[1]) + 1): - distances.append(editdistance.eval(values[1], values[0][i:i + len(values[1])])) - return min(distances) - - -def partial_ratio(val1, val2): - max_distance = len(val1) - return int(100*(1 - partial_distance(val1, val2) / max_distance)) - - -def _get_scorer(scorer_name): - if scorer_name == 'ratio': - return ratio - elif scorer_name == 'partial_ratio': - return partial_ratio - - -def extract(value, choices=[], scorer='ratio', limit=5): - scorerfn = _get_scorer(scorer) - distances = [(choice, scorerfn(value, choice)) for choice in choices] - distances.sort(key=operator.itemgetter(1), reverse=True) - return distances[0:limit] - - - diff --git a/requirements.txt b/requirements.txt index 5053e36..3ab0391 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,4 @@ pyyaml -jsonmerge -schema==0.6.8 requests requests_futures -editdistance \ No newline at end of file +fuzzy_matcher \ No newline at end of file diff --git a/setup.py b/setup.py index 94e7dd1..f05897e 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ description="Rasa Addons - Components for Rasa", long_description=long_description, long_description_content_type="text/markdown", - install_requires=['jsonmerge', 'pyyaml', 'schema', 'requests', 'requests_futures', 'editdistance'], + install_requires=['pyyaml', 'requests', 'requests_futures', 'fuzzy_matcher'], packages=find_packages(exclude=["tests"]), licence='Apache 2.0', url='https://botfront.io', diff --git a/tests/nlu/test_fuzzy_matcher.py b/tests/nlu/test_fuzzy_matcher.py deleted file mode 100755 index b7c4837..0000000 --- a/tests/nlu/test_fuzzy_matcher.py +++ /dev/null @@ -1,30 +0,0 @@ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - - -from rasa_addons.nlu.components.fuzzy_matcher import process - - -def test_partial_distance(): - query = "orange" - candidates = ['orangoutan', 'orange tango', 'olive martini', 'orangemartinin', 'martininorange'] - partial_distances = [process.partial_distance(query, val) for val in candidates] - assert partial_distances == [1, 0, 5, 0, 0] - - -def test_ratio(): - - query = "orange" - val = ['blue', 'orange', 'brown', 'ornage', 'range', 'angel', 'gang', 'ang'] - fuzzy = process.extract(query, val, limit=3, scorer='ratio') - assert fuzzy == [('orange', 100), ('range', 83), ('ornage', 66)] - - -def test_partial_ratio(): - query = "orange" - val = ['blue tango', 'orange tango', 'brown tango'] - fuzzy = process.extract(query, val, limit=3, scorer='partial_ratio') - assert fuzzy == [('orange tango', 100), ('blue tango', 50), ('brown tango', 50)] - diff --git a/tests/nlu/test_postprocessors.py b/tests/nlu/test_postprocessors.py index 659555e..6099842 100755 --- a/tests/nlu/test_postprocessors.py +++ b/tests/nlu/test_postprocessors.py @@ -3,7 +3,7 @@ from __future__ import print_function from __future__ import unicode_literals -from rasa_addons.nlu.components import Gazette +from rasa_addons.nlu.components.gazette import Gazette from rasa.nlu.training_data.message import Message from pytest import raises diff --git a/tests/nlu/test_preprocessors.py b/tests/nlu/test_preprocessors.py index 514fc81..1ccef62 100755 --- a/tests/nlu/test_preprocessors.py +++ b/tests/nlu/test_preprocessors.py @@ -3,7 +3,7 @@ from __future__ import print_function from __future__ import unicode_literals -from rasa_addons.nlu.components import BingSpellCheck +from rasa_addons.nlu.components.spell_check import BingSpellCheck from rasa.nlu.training_data.message import Message diff --git a/tests/nlu/test_sweeper.py b/tests/nlu/test_sweeper.py index d42c50b..51cb94b 100755 --- a/tests/nlu/test_sweeper.py +++ b/tests/nlu/test_sweeper.py @@ -3,7 +3,7 @@ from __future__ import print_function from __future__ import unicode_literals -from rasa_addons.nlu.components import Sweeper +from rasa_addons.nlu.components.sweeper import Sweeper from rasa.nlu.training_data.message import Message from pytest import raises diff --git a/tests/nlu/test_synonyms.py b/tests/nlu/test_synonyms.py index bda496b..13bfea2 100755 --- a/tests/nlu/test_synonyms.py +++ b/tests/nlu/test_synonyms.py @@ -3,7 +3,7 @@ from __future__ import print_function from __future__ import unicode_literals -from rasa_addons.nlu.components import EntitySynonymBegin, EntitySynonymEnd +from rasa_addons.nlu.components.entity_synonyms_endpoints import EntitySynonymBegin, EntitySynonymEnd from rasa.nlu.training_data.message import Message from pytest import raises