From 36aa9fb0df1c7edbf1edc76056bce431233cb0fa Mon Sep 17 00:00:00 2001 From: Hadi Hamoud Date: Thu, 26 Dec 2024 19:46:29 +0300 Subject: [PATCH 1/2] fixed bug where scored analyses for MLE disambiguation are not stored for word when cache is missed --- camel_tools/disambig/mle.py | 8 +++++++- camel_tools/disambig/test.py | 17 +++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 camel_tools/disambig/test.py diff --git a/camel_tools/disambig/mle.py b/camel_tools/disambig/mle.py index 3a079ae..de458d1 100644 --- a/camel_tools/disambig/mle.py +++ b/camel_tools/disambig/mle.py @@ -225,7 +225,13 @@ def _scored_analyses(self, word_dd): return scored_analyses[0:self._top] def _scored_analyses_cached(self, word_dd): - return self._cache.get(word_dd, self._scored_analyses(word_dd)) + if word_dd in self._cache: + scored_analyses = self._cache[word_dd] + else: + scored_analyses = self._scored_analyses(word_dd) + self._cache[word_dd] = scored_analyses + + return scored_analyses def _disambiguate_word(self, word): word_dd = dediac_ar(word) diff --git a/camel_tools/disambig/test.py b/camel_tools/disambig/test.py new file mode 100644 index 0000000..2b9daa7 --- /dev/null +++ b/camel_tools/disambig/test.py @@ -0,0 +1,17 @@ +from cachetools import LFUCache, cached +import time + +class TestClass: + def __init__(self): + self._cache = LFUCache(100000) + + @cached(cache=lambda self: self._cache, key=lambda self, word_dd: word_dd) + def test_cached(self, word_dd): + return word_dd + + +# Example usage: +test = TestClass() +test.test_cached("hello") + +test.test_cached("hello") \ No newline at end of file From 36e039a67a0f6f7be718e7d4e173b38298c84e82 Mon Sep 17 00:00:00 2001 From: Hadi Hamoud Date: Fri, 7 Feb 2025 15:08:51 +0200 Subject: [PATCH 2/2] removed test file --- camel_tools/disambig/test.py | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 camel_tools/disambig/test.py diff --git a/camel_tools/disambig/test.py b/camel_tools/disambig/test.py deleted file mode 100644 index 2b9daa7..0000000 --- a/camel_tools/disambig/test.py +++ /dev/null @@ -1,17 +0,0 @@ -from cachetools import LFUCache, cached -import time - -class TestClass: - def __init__(self): - self._cache = LFUCache(100000) - - @cached(cache=lambda self: self._cache, key=lambda self, word_dd: word_dd) - def test_cached(self, word_dd): - return word_dd - - -# Example usage: -test = TestClass() -test.test_cached("hello") - -test.test_cached("hello") \ No newline at end of file