From 064cf030054c441b6d42331cff508a4cf7b4c035 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 1 Jul 2014 17:32:25 +0000 Subject: a few changes in the Nerc that I have forgoten to push --- .../pgf/NercLiteralCallback.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/runtime/java/org') diff --git a/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java b/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java index 8d206667d..ae8f665b0 100644 --- a/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java +++ b/src/runtime/java/org/grammaticalframework/pgf/NercLiteralCallback.java @@ -38,23 +38,27 @@ public class NercLiteralCallback implements LiteralCallback { if (i > 0) { String name = sbuilder.toString(); - String lemma = null; + Expr expr = null; double prob = 0; for (MorphoAnalysis an : concr.lookupMorpho(name)) { - if ("PN".equals(pgf.getFunctionType(an.getLemma()).getCategory()) && - prob < an.getProb()) { - lemma = an.getLemma(); - prob = an.getProb(); + String cat = pgf.getFunctionType(an.getLemma()).getCategory(); + if (prob < an.getProb()) { + if ("PN".equals(cat)) { + expr = new Expr(an.getLemma(), new Expr[0]); + prob = an.getProb(); + } else if ("Language".equals(cat)) { + expr = new Expr(an.getLemma(), new Expr[0]); + expr = new Expr("languagePN", expr); + } else if ("Pron".equals(cat)) { // to capture I in English + return null; + } } } - Expr expr; - if (lemma == null) { + if (expr == null) { expr = new Expr(name); expr = new Expr("MkSymb", expr); expr = new Expr("SymbPN", expr); - } else { - expr = new Expr(lemma, new Expr[0]); } return new CallbackResult(new ExprProb(expr, 0), end_offset); -- cgit v1.2.3