0

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

正如这里1所解释的,我使用了MaxentTagger类,然后使用了方法:maxtagger.tagString("This is a sample text");

这会产生输出:

this_DT is_VBZ a_DT sample_NN text_NN

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

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

4

1 回答 1

2

我建议改用 tagCoreLabels() 或 tagSentence() 方法。例如,使用 tagSentence() 您可以返回 TaggedWord 列表,您可以使用 tag() 方法轻松访问 pos 标记。这应该使用包含“_”的 POS 标签来说明单词或模型。

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

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

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

new PTBEscapingProcessor().apply(tokens)

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

于 2014-01-22T19:01:36.827 回答