【发布时间】:2017-02-26 16:09:13
【问题描述】:
当我尝试 regexner 时,它使用以下设置和数据按预期工作;
props.setProperty("annotators", "tokenize, cleanxml, ssplit, pos, lemma, regexner");
法学学士学位
(艺术|法律|科学|工程|神学)学士学位
我想做的是使用 TokenRegex。例如
法学学士学位
([{tag:NNS}] [{tag:NNP}]) 学士学位
我读到要这样做,我应该使用 TokensregexNERAnnotator。
我尝试如下使用它,但它不起作用。
Pipeline.addAnnotator(new TokensRegexNERAnnotator("expressions.txt", true));
或者我尝试用另一种方式设置注释器,
props.setProperty("annotators", "tokenize, cleanxml, ssplit, pos, lemma, tokenregexner");
props.setProperty("customAnnotatorClass.tokenregexner", "edu.stanford.nlp.pipeline.TokensRegexNERAnnotator");
我尝试了不同的 TokenRegex 格式,但要么注释器找不到表达式,要么我得到了 SyntaxException。
在 NER 数据文件上使用 TokenRegex(使用标签查询令牌)的正确方法是什么?
顺便说一句,我刚刚在 TokensRegexNERAnnotator.java 文件中看到了一条评论。不确定是否相关 pos 标签不适用于 RegexNerAnnotator。
if (entry.tokensRegex != null) {
// TODO: posTagPatterns...
pattern = TokenSequencePattern.compile(env, entry.tokensRegex);
}
【问题讨论】:
标签: named-entity-recognition stanford-nlp