From 1fc5b820308b8a4b8d899cd4a6f396c8c19f2538 Mon Sep 17 00:00:00 2001 From: Panupong Pasupat Date: Mon, 4 Sep 2017 15:09:23 -0700 Subject: [PATCH] Fixed the normalization stuff --- .../sempre/tables/StringNormalizationUtils.java | 11 ++++++++--- .../nlp/sempre/tables/TableValueEvaluator.java | 16 +++++++++------- .../tables/features/AnchorFeatureComputer.java | 14 +++++++------- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/edu/stanford/nlp/sempre/tables/StringNormalizationUtils.java b/src/edu/stanford/nlp/sempre/tables/StringNormalizationUtils.java index 7607bd7..fbb6eb7 100644 --- a/src/edu/stanford/nlp/sempre/tables/StringNormalizationUtils.java +++ b/src/edu/stanford/nlp/sempre/tables/StringNormalizationUtils.java @@ -317,7 +317,7 @@ public final class StringNormalizationUtils { .replaceAll("[‘’´`]", "'") .replaceAll("[“”«»]", "\"") .replaceAll("[•†‡]", "") - .replaceAll("[‐‑–—]", "-"); + .replaceAll("[-‐‑–—]", "-"); return string.replaceAll("\\s+", " ").trim(); } @@ -340,12 +340,17 @@ public final class StringNormalizationUtils { public static String aggressiveNormalize(String string) { // Dashed / Parenthesized information string = simpleNormalize(string); - string = string.replaceAll("\\[[^\\]]*\\]", ""); String oldString; do { oldString = string; - string = string.trim().replaceAll("\\([^)]*\\)$", ""); + // Remove citations + string = string.trim().replaceAll("((? %s = %s", phrase, predicate, predicateString); + //LogInfo.logs("%s -> %s = %s", phrase, predicate, predicateString); predicateString = StringNormalizationUtils.simpleNormalize(predicateString).toLowerCase(); if (predicateString.equals(phrase)) { deriv.addFeature("a-e", "exact"); - LogInfo.logs("%s %s exact", phrase, predicateString); + //LogInfo.logs("%s %s exact", phrase, predicateString); } else if (predicateString.startsWith(phrase + " ")) { deriv.addFeature("a-e", "prefix"); - LogInfo.logs("%s %s prefix", phrase, predicateString); + //LogInfo.logs("%s %s prefix", phrase, predicateString); } else if (predicateString.endsWith(" " + phrase)) { deriv.addFeature("a-e", "suffix"); - LogInfo.logs("%s %s suffix", phrase, predicateString); + //LogInfo.logs("%s %s suffix", phrase, predicateString); } else if (predicateString.contains(" " + phrase + " ")){ deriv.addFeature("a-e", "substring"); - LogInfo.logs("%s %s substring", phrase, predicateString); + //LogInfo.logs("%s %s substring", phrase, predicateString); } else { deriv.addFeature("a-e", "other"); - LogInfo.logs("%s %s other", phrase, predicateString); + //LogInfo.logs("%s %s other", phrase, predicateString); } // Does the phrase match other cells? Set matches = new HashSet<>(); @@ -54,7 +54,7 @@ public class AnchorFeatureComputer implements FeatureComputer { } } } - LogInfo.logs(">> %s", matches); + //LogInfo.logs(">> %s", matches); if (matches.size() == 0) { deriv.addFeature("a-e", "unique"); } else if (matches.size() < 3) {