斯坦福NLP依赖树解析器中缺少单词

时间:2012-07-27 02:52:11

标签: parsing tree stanford-nlp

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

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

我有什么办法可以解决这个问题吗?在我的第一个视图中,我想使用编辑距离算法,但我认为这可能是一种更简单的方法。

提前感谢大家

1 个答案:

答案 0 :(得分:2)

您可以使用-tokenize.options标志/属性为tokenizer提供选项。对于此特定规范化,您可以使用

将其关闭
-tokenize.options americanize=false

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

-tokenize.options ptb3Escaping=false

然而,解析器是针对看起来像ptb3Escaping=true的输出的数据进行训练的,因此如果与非标准化标记一起使用,则性能会降低。所以,您可能想要考虑其他策略。

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

P.S。你应该接受一些答案: - )。