From 6b0afcb161141cdb64e249adfb3708682febc089 Mon Sep 17 00:00:00 2001 From: Michael Denkowski Date: Mon, 24 Feb 2014 23:18:47 -0800 Subject: CountExceptLM and CountExceptLex features for online grammar extraction. --- python/cdec/sa/features.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'python/cdec/sa/features.py') diff --git a/python/cdec/sa/features.py b/python/cdec/sa/features.py index c8fc1cca..fe3fb2bd 100644 --- a/python/cdec/sa/features.py +++ b/python/cdec/sa/features.py @@ -140,3 +140,19 @@ def IsSupportedOnline(ctx): # Occurs in online data? return (ctx.online.paircount > 0.01) else: return False + +def CountExceptLM(vocab): + def CountExceptLM(ctx): # In bitext (inc online data) but NOT mono text + return sum(1 for e in ctx.ephrase.words if e not in vocab) + return CountExceptLM + +def CountExceptLex(ttable): + def CountExceptLex(ctx): + count = 0.0 + for e in ctx.ephrase.words: + if not ttable.contains_e_word(e): + count += 1 + return count + return CountExceptLex + + -- cgit v1.2.3 From 3cb43f4e3980457cbb7b749cee51a5bb777e18f8 Mon Sep 17 00:00:00 2001 From: Michael Denkowski Date: Mon, 24 Feb 2014 23:25:27 -0800 Subject: refactoring --- python/cdec/sa/features.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'python/cdec/sa/features.py') diff --git a/python/cdec/sa/features.py b/python/cdec/sa/features.py index fe3fb2bd..f5cbdb8d 100644 --- a/python/cdec/sa/features.py +++ b/python/cdec/sa/features.py @@ -142,17 +142,11 @@ def IsSupportedOnline(ctx): # Occurs in online data? return False def CountExceptLM(vocab): - def CountExceptLM(ctx): # In bitext (inc online data) but NOT mono text + def CountExceptLM(ctx): # Word count in bitext (inc online data) but NOT mono text return sum(1 for e in ctx.ephrase.words if e not in vocab) return CountExceptLM def CountExceptLex(ttable): - def CountExceptLex(ctx): - count = 0.0 - for e in ctx.ephrase.words: - if not ttable.contains_e_word(e): - count += 1 - return count + def CountExceptLex(ctx): # Word count in online data but NOT original bitext + return sum(1 for e in ctx.ephrase.words if not ttable.contains_e_word(e)) return CountExceptLex - - -- cgit v1.2.3