碰巧,如果你喂这句话 "Clean my desk" 直接到解析器(实际上,'tokenize','ssplit'和'parse'工具),它给出了以下结果:
"Clean my desk"
(ROOT (NP (NP (NNP Clean)) (NP (PRP$ my) (NN desk))))
但是,现在 "Clean" 是一个正确的名词 - 非常聪明,斯坦福。所以,如果我们用小写的第一个单词输入句子 - "clean my desk" - 我们终于得到了我们想要的东西:
"Clean"
"clean my desk"
(ROOT (S (VP (VB clean) (NP (PRP$ my) (NN desk)))))
小心不要将完整的句子转换为小写。测试时我注意到了这个词 "I" 变成了小写 "i" 被标记为FW(外来词),因此只将第一个词转换为小写。
"I"
"i"
CoreNLP在这些强制性声明中出了名。这个错误可能来自POS标签错误标记“干净”作为形容词,虽然看起来解析器也犯了同样的错误。