Skip to content

Commit

Permalink
#468 -- iter_group_values_lists is considered as None by default (e…
Browse files Browse the repository at this point in the history
…mpty Synonyms collection)
  • Loading branch information
nicolay-r committed May 17, 2023
1 parent c5af7ff commit 2b10c4f
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 17 deletions.
16 changes: 11 additions & 5 deletions arekit/common/synonyms/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,14 @@

class SynonymsCollection(object):

def __init__(self, iter_group_values_lists, is_read_only, debug):
assert(isinstance(iter_group_values_lists, collections.Iterable))
def __init__(self, iter_group_values_lists=None, is_read_only=True, debug=False):
""" iter_group_values_lists: iterable or None
is_read_only: bool
whether the relation collection could be expanded or not
debug: bool
utilized for logging the salient information during usage.
"""
assert(isinstance(iter_group_values_lists, collections.Iterable) or iter_group_values_lists is None)
assert(isinstance(is_read_only, bool))
assert(isinstance(debug, bool))

Expand All @@ -16,7 +22,7 @@ def __init__(self, iter_group_values_lists, is_read_only, debug):

self.__is_read_only = is_read_only
self.__debug = debug
self.__fill(iter_grop_values_lists=iter_group_values_lists)
self.__fill(iter_group_values_lists=[] if iter_group_values_lists is None else iter_group_values_lists)

# region properties

Expand Down Expand Up @@ -102,8 +108,8 @@ def iter_group(self, group_index):

# region private methods

def __fill(self, iter_grop_values_lists):
for group in iter_grop_values_lists:
def __fill(self, iter_group_values_lists):
for group in iter_group_values_lists:
self.__process_group(group)

def __process_group(self, group_values_list):
Expand Down
3 changes: 1 addition & 2 deletions arekit/contrib/source/sentinerel/entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ def read_collection(cls, filename, version, entities_to_ignore=None):

# Since this dataset does not provide the synonyms collection by default,
# it is necessary to declare an empty collection to populate so in further.
synonyms = StemmerBasedSynonymCollection(iter_group_values_lists=[],
stemmer=MystemWrapper(),
synonyms = StemmerBasedSynonymCollection(stemmer=MystemWrapper(),
is_read_only=False,
debug=False)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,7 @@ def create_nolabel_text_opinion_annotator(terms_per_context, dist_in_sents=0, sy
assert(isinstance(dist_in_sents, int))

if synonyms is None:
synonyms = StemmerBasedSynonymCollection(iter_group_values_lists=[],
stemmer=MystemWrapper(),
synonyms = StemmerBasedSynonymCollection(stemmer=MystemWrapper(),
is_read_only=False,
debug=False)

Expand Down
11 changes: 9 additions & 2 deletions arekit/contrib/utils/synonyms/stemmer_based.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@


class StemmerBasedSynonymCollection(SynonymsCollection):

def __init__(self, iter_group_values_lists, stemmer, is_read_only, debug):
""" This class represent a synonym collection,
in which grouping function is based on the stemmed entity values.
"""

def __init__(self, stemmer, iter_group_values_lists=None, is_read_only=True, debug=False):
""" iter_group_values_lists: iterable or None
describes the original set of values for initialization;
If None, then collection is considered as empty.
"""
assert(isinstance(stemmer, Stemmer))
self.__stemmer = stemmer
super(StemmerBasedSynonymCollection, self).__init__(iter_group_values_lists=iter_group_values_lists,
Expand Down
3 changes: 1 addition & 2 deletions tests/contrib/source/test_brat_compound_entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ def test(self):
{"text": self.text, "ind_begin": 0, "ind_end": len(self.text)}
]

synonyms = StemmerBasedSynonymCollection(
iter_group_values_lists=[], stemmer=MystemWrapper(), is_read_only=False, debug=False)
synonyms = StemmerBasedSynonymCollection(stemmer=MystemWrapper(), is_read_only=False, debug=False)

collection = EntityCollection(
self.entities,
Expand Down
3 changes: 1 addition & 2 deletions tests/tutorials/test_tutorial_collection_binding.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ def __init__(self, contents, value_to_group_id_func):

@classmethod
def read_collection(cls, filename, version):
synonyms = StemmerBasedSynonymCollection(
iter_group_values_lists=[], stemmer=MystemWrapper(), is_read_only=False, debug=False)
synonyms = StemmerBasedSynonymCollection(stemmer=MystemWrapper(), is_read_only=False, debug=False)
return FooIOUtils.read_from_zip(
inner_path=FooIOUtils.get_annotation_innerpath(filename),
process_func=lambda input_file: cls(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ def test(self):
label_formatter=CustomLabelsFormatter(pos_label_type=PositiveLabel,
neg_label_type=NegativeLabel))

synonyms = StemmerBasedSynonymCollection(
iter_group_values_lists=[], stemmer=MystemWrapper(), is_read_only=False, debug=False)
synonyms = StemmerBasedSynonymCollection(stemmer=MystemWrapper(), is_read_only=False, debug=False)

nolabel_annotator = AlgorithmBasedTextOpinionAnnotator(
annot_algo=PairBasedOpinionAnnotationAlgorithm(
Expand Down

0 comments on commit 2b10c4f

Please sign in to comment.