我正在使用依赖树解析器创建应用程序。实际上,解析器是这样的: Parser Stanford,但它很少改变我要解析的句子中某些单词的一两个字母。这对我来说是一个很大的麻烦,因为我在这些变化中看不到任何模式,我需要依赖树,我的句子中的单词相同。
我只能看到一些词语存在这些问题。我正在使用推特数据库。所以,我在这些数据中有很多语法错误。例如,标签'#AllAmericanhumour'变为AllAmericanhumor。它错过了一个字母(u)。
我有什么办法可以解决这个问题吗?在我的第一个视图中,我想使用编辑距离算法,但我认为这可能是一种更简单的方法。
提前感谢大家
答案 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。你应该接受一些答案: - )。