如何用stanford获取复合词的POS标签

时间:2015-09-08 12:23:33

标签: java nlp stanford-nlp pos-tagger

我使用Stanford POS Tagger在一个句子中标记词性,我使用了以下代码:

private static MaxentTagger tagger = new MaxentTagger(".../english-left3words-distsim.tagger");
String tags= tagger.tagString(st);   //st is a string 

当单词不是复合词时,会给出结果。但我想要的是获得复合词的POS标签,如“回去”,计算机科学“,”拾起“。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

根据tagString方法的文档

"此方法将输入标记为单词"

此外,训练模型以识别和标记单词(标记)。建议的解决方案:

  1. 写一个custom annotator,它取决于(在其之后)POS标记器以及何时找到复合图案,例如"回去"它可以使用您的自定义注释器注释第一个标记。您可以通过创建字典和/或匹配语法模式来识别这些模式。后者可能还需要dependency parser
  2. 使用tokensregex。这提供了实现对令牌及其注释而不是字符进行操作的正则表达式的能力。
  3. 训练可以识别多个令牌或复合词的新模型。