0

我正在解析一个数据集,其中人们仅使用尖括号作为标点符号,并且从未(曾经)发生实际标记。

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

"<snickers in background>" 

一个令牌,我们可以得到

"<", "snickers", etc? 

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

提前致谢!

PS 还有其他我应该注意的以这种方式表现的角色吗?

4

1 回答 1

0

不,没有简单的方法可以做到这一点。有一些选项可用于自定义标记器中引号、破折号和括号转义的处理,但总的来说,标记器有许多启发式规则,其中大部分不能在命令行中更改。

您有两个主要选择:

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

当然,如果常规标记没有按照 Penn Treebank 约定的预期进行标记,解析准确性往往会受到影响。

于 2011-08-20T16:06:00.390 回答