使用Stanford POS Tagger的POS直方图

时间:2014-01-22 17:15:46

标签: pos-tagger part-of-speech

我需要使用Stanford POS Tagger标记推文中的单词。

正如1所述,我使用了Class MaxentTagger ,然后使用了方法:maxtagger.tagString("This is a sample text");

这产生了输出:

  

This_DT is_VBZ a_DT sample_NN text_NN

现在我必须为每条推文创建推文中每个标签的出现直方图。我在JavaDoc中搜索过,但没有发现任何有用的东西。

如果我必须自己创建直方图,如何以字符串之外的其他方式读取输出(例如,标签列表)?

1 个答案:

答案 0 :(得分:2)

我建议使用方法tagCoreLabels()或tagSentence()代替。例如。使用tagSentence()可以获得TaggedWord列表,您可以使用tag()方法轻松访问pos标记。这应该考虑包含“_”的POS标签的单词或模型。

要从简单的句子字符串创建List,请使用PTBTokenizer,例如

List<CoreLabel> tokens = new PTBTokenizer<CoreLabel>(
  new StringReader(s),new CoreLabelTokenFactory(),"invertible").tokenize();

使用PTBEscapingProcessor转义解析器模型中具有特殊含义的字符:

new PTBEscapingProcessor().apply(tokens)

我相信斯坦福工具中没有对直方图的具体支持,但我可能错了。