1

我正在使用依赖树解析器制作应用程序。实际上,解析器是这样的: Parser Stanford,但它很少更改我要解析的句子中某些单词的一两个字母。这对我来说是个大麻烦,因为我在这些变化中看不到任何模式,并且我需要与我的句子中的单词相同的依赖树。

我所看到的只是一些单词有这些问题。我正在使用推文数据库。所以,我在这个数据中有很多语法错误。例如,主题标签“#AllAmericanhumour”变为 AllAmericanhumor。它错过了一个字母(u)。

我能做些什么来解决这个问题吗?在我的第一个观点中,我认为使用编辑距离算法,但我认为这可能是一种更简单的方法。

提前谢谢大家

4

1 回答 1

2

您可以使用 -tokenize.options 标志/属性为标记器提供选项。对于这种特殊的标准化,您可以将其关闭

-tokenize.options americanize=false

您还可以关闭各种其他规范化(请参阅 PTBTokenizer 或http://nlp.stanford.edu/software/tokenizer.shtml。您可以关闭很多

-tokenize.options ptb3Escaping=false

但是,解析器是在看起来像输出的数据上训练的ptb3Escaping=true,因此如果与未标准化的标记一起使用,性能往往会下降。因此,您可能需要考虑替代策略。

如果您在 Java 级别工作,您可以查看单词 tokens,它们实际上是 Map,并且它们具有各种键。OriginalTextAnnotation 将为您提供未规范化的标记,即使它已被规范化。CharacterOffsetBeginAnnotation 和 CharacterOffsetEndAnnotation 将映射到文本中的字符偏移量。

ps 你应该接受一些答案:-)。

于 2012-07-28T17:50:12.870 回答