我需要使用Stanford POS Tagger标记推文中的单词。
正如1所述,我使用了Class MaxentTagger ,然后使用了方法:maxtagger.tagString("This is a sample text");
这产生了输出:
This_DT is_VBZ a_DT sample_NN text_NN
现在我必须为每条推文创建推文中每个标签的出现直方图。我在JavaDoc中搜索过,但没有发现任何有用的东西。
如果我必须自己创建直方图,如何以字符串之外的其他方式读取输出(例如,标签列表)?
答案 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)
我相信斯坦福工具中没有对直方图的具体支持,但我可能错了。