Java,StanfordNLP Parser:如何将尖括号标记为标记/标记化尖括号作为标点符号?

时间:2011-08-20 00:53:14

标签: java stanford-nlp

我正在解析一个数据集,其中人们使用尖括号只是作为标点符号,而且永远不会(永远)发生实际的标记。

是否有改变解析器功能的方法,而不是调用

"<snickers in background>" 

单个令牌,我们可以获得

"<", "snickers", etc? 

这似乎是一个相当简单的问题,但我无法在文档中找到简单的修复程序或查看代码。

提前致谢!

PS是否有其他角色以我应该注意的方式行事?

1 个答案:

答案 0 :(得分:0)

没有一种简单的方法可以做到这一点。在tokenizer中有一些选项可以自定义引号,破折号和括号转义的处理,但总体而言,tokenizer有许多启发式规则,其中大部分都无法在命令行中更改。

您有两个主要选择:

  • 编写自己的Tokenizer和TokenizerFactory实现,然后要求使用它而不是默认的PTBTokenizer,使用命令行标志-tokenizerFactory
  • 来请求它
  • 在解析之前对输入进行标记,然后给出标记-tokenized

当然,如果定期令牌不像Penn Treebank惯例那样被标记化,解析准确性将会受到影响。