【发布时间】:2016-09-14 10:49:22
【问题描述】:
我正在编写代码,在大写的句子中为我提供专有名词。我正在使用 NER 标记器来获取诸如 PERSON 和 LOCATION 之类的标记。我希望我的代码以大写形式输出标签之间的文本。我正在按照以下方式进行操作,但它不起作用:
Matcher m1 = Pattern.compile("<PERSON>(.+?)</PERSON>|<LOCATION>(.+?)</LOCATION>").matcher(NER);
while(m1.find())
{ String newDecapTitle = m1.appendReplacement(sb, decapTitle.get(m1.group().toUppercase()));
........
}
这里的 sb 是一个字符串缓冲区。 举个例子:
詹姆斯·默里去了洛杉矶
被解析为
<PERSON>James murray</PERSON> went to <LOCATION>Los angeles</LOCATION>
我希望我的输出是 -
詹姆斯·默里去了洛杉矶
。
【问题讨论】:
标签: java regex stanford-nlp