/** * Returns true if the given token matches part of a phone number * * @param tokenItem the token * @param tokenVal the string value of the token * * @return true or false */ private boolean matchesPartPhoneNumber(String tokenVal) { String n_name = (String) tokenItem.findFeature("n.name"); String n_n_name = (String) tokenItem.findFeature("n.n.name"); String p_name = (String) tokenItem.findFeature("p.name"); String p_p_name = (String) tokenItem.findFeature("p.p.name"); boolean matches3DigitsP_name = matches(threeDigitsPattern, p_name); return ((matches(threeDigitsPattern, tokenVal) && ((!matches( digitsPattern, p_name) && matches(threeDigitsPattern, n_name) && matches( fourDigitsPattern, n_n_name)) || (matches(sevenPhoneNumberPattern, n_name)) || (!matches( digitsPattern, p_p_name) && matches3DigitsP_name && matches( fourDigitsPattern, n_name)))) || (matches( fourDigitsPattern, tokenVal) && (!matches(digitsPattern, n_name) && matches3DigitsP_name && matches(threeDigitsPattern, p_p_name)))); }
} else if (matches(alphabetPattern, tokenVal)) { if (matches(romanNumbersPattern, tokenVal)) { } else if (matches(illionPattern, tokenVal) && matches(usMoneyPattern, (String) tokenItem.findFeature("p.name"))) { } else if (matches(drStPattern, tokenVal)) { } else if (matches(dottedAbbrevPattern, tokenVal)) { } else if (matches(commaIntPattern, tokenVal)) { } else if (matches(sevenPhoneNumberPattern, tokenVal)) { } else if (matches(numberTimePattern, tokenVal)) { } else if (matches(digits2DashPattern, tokenVal)) { } else if (matches(digitsPattern, tokenVal)) { digitsToWords(tokenVal); } else if (tokenLength == 1 } else if (matches(doublePattern, tokenVal)) { NumberExpander.expandReal(tokenVal, wordRelation); } else if (matches(ordinalPattern, tokenVal)) { } else if (matches(usMoneyPattern, tokenVal)) {
(Character.isUpperCase(previous.charAt(0)) && previous.length() > 2 && matches(alphabetPattern, previous) && tokenItem .findFeature("p.punc").equals(",")); (Character.isLowerCase(next.charAt(0)) || tokenItem.getNext() == null || featureSet.getString("punc").equals(".") || ((nextLength == 5 || nextLength == 10) && matches( digitsPattern, next)));
} else if (matches(alphabetPattern, tokenVal)) { if (matches(romanNumbersPattern, tokenVal)) { } else if (matches(illionPattern, tokenVal) && matches(usMoneyPattern, (String) tokenItem.findFeature("p.name"))) { } else if (matches(drStPattern, tokenVal)) { } else if (matches(dottedAbbrevPattern, tokenVal)) { } else if (matches(commaIntPattern, tokenVal)) { } else if (matches(sevenPhoneNumberPattern, tokenVal)) { } else if (matches(numberTimePattern, tokenVal)) { } else if (matches(digits2DashPattern, tokenVal)) { } else if (matches(digitsPattern, tokenVal)) { digitsToWords(tokenVal); } else if (tokenLength == 1 } else if (matches(doublePattern, tokenVal)) { NumberExpander.expandReal(tokenVal, wordRelation); } else if (matches(ordinalPattern, tokenVal)) { } else if (matches(usMoneyPattern, tokenVal)) {
/** * Convert the given dashed string (e.g. "aaa-bbb") into (word) Items in * the WordRelation. * * @param tokenVal the dashed string */ private void dashToWords(String tokenVal) { int index = tokenVal.indexOf('-'); String aaa = tokenVal.substring(0, index); String bbb = tokenVal.substring(index + 1, tokenVal.length()); if (matches(digitsPattern, aaa) && matches(digitsPattern, bbb)) { FeatureSet featureSet = tokenItem.getFeatures(); featureSet.setString("name", aaa); tokenToWords(aaa); wordRelation.addWord("to"); featureSet.setString("name", bbb); tokenToWords(bbb); featureSet.setString("name", ""); } else { tokenToWords(aaa); tokenToWords(bbb); } }
if (matches(illionPattern, (String) tokenItem.findFeature("n.name"))) { NumberExpander.expandReal(tokenVal.substring(1), wordRelation); } else if (dotIndex == -1) {
if (matches(digitsPattern, (String) tokenItem.findFeature("p.name")) && tokenItem.getPrevious() != null) { wordRelation.addWord("and");
/** * Returns true if the given token matches part of a phone number * * @param tokenItem the token * @param tokenVal the string value of the token * * @return true or false */ private boolean matchesPartPhoneNumber(String tokenVal) { String n_name = (String) tokenItem.findFeature("n.name"); String n_n_name = (String) tokenItem.findFeature("n.n.name"); String p_name = (String) tokenItem.findFeature("p.name"); String p_p_name = (String) tokenItem.findFeature("p.p.name"); boolean matches3DigitsP_name = matches(threeDigitsPattern, p_name); return ((matches(threeDigitsPattern, tokenVal) && ((!matches( digitsPattern, p_name) && matches(threeDigitsPattern, n_name) && matches( fourDigitsPattern, n_n_name)) || (matches(sevenPhoneNumberPattern, n_name)) || (!matches( digitsPattern, p_p_name) && matches3DigitsP_name && matches( fourDigitsPattern, n_name)))) || (matches( fourDigitsPattern, tokenVal) && (!matches(digitsPattern, n_name) && matches3DigitsP_name && matches(threeDigitsPattern, p_p_name)))); }
(Character.isUpperCase(previous.charAt(0)) && previous.length() > 2 && matches(alphabetPattern, previous) && tokenItem .findFeature("p.punc").equals(",")); (Character.isLowerCase(next.charAt(0)) || tokenItem.getNext() == null || featureSet.getString("punc").equals(".") || ((nextLength == 5 || nextLength == 10) && matches( digitsPattern, next)));
/** * Convert the given dashed string (e.g. "aaa-bbb") into (word) Items in * the WordRelation. * * @param tokenVal the dashed string */ private void dashToWords(String tokenVal) { int index = tokenVal.indexOf('-'); String aaa = tokenVal.substring(0, index); String bbb = tokenVal.substring(index + 1, tokenVal.length()); if (matches(digitsPattern, aaa) && matches(digitsPattern, bbb)) { FeatureSet featureSet = tokenItem.getFeatures(); featureSet.setString("name", aaa); tokenToWords(aaa); wordRelation.addWord("to"); featureSet.setString("name", bbb); tokenToWords(bbb); featureSet.setString("name", ""); } else { tokenToWords(aaa); tokenToWords(bbb); } }
if (matches(illionPattern, (String) tokenItem.findFeature("n.name"))) { NumberExpander.expandReal(tokenVal.substring(1), wordRelation); } else if (dotIndex == -1) {
if (matches(digitsPattern, (String) tokenItem.findFeature("p.name")) && tokenItem.getPrevious() != null) { wordRelation.addWord("and");