2014-01-22 84 views
0

我需要使用斯坦福POS標記器標記Tweets中的文字。斯坦福POS標記器的POS直方圖

如這裏1解釋的,我使用的類MaxentTagger,然後方法:maxtagger.tagString("This is a sample text");

這產生輸出:

This_DT is_VBZ a_DT sample_NN text_NN

現在,我必須爲每條推文創建每個標籤發生的直方圖推文。我在JavaDoc中搜索過,但沒有發現任何用處。

如果我必須自己創建直方圖,如何以其他方式讀取輸出而不是字符串(例如,標記列表)?

回答

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) 

我相信這是在斯坦福工具直方圖沒有具體的支持,但我可能是錯的。

+0

似乎很好,但我怎麼能得到一個對象: java.util.List <?從字符串文本擴展HasWord> ? – Francesco

相關問題