序
本文主要研究下如何使用opennlp进行词性标注
POS Tagging
词性(Part of Speech, POS),标注是对一个词汇或一段文字进行描述的过程。这个描述被称为一个标注。
目前流行的中文词性标签有两大类:北大词性标注集和宾州词性标注集。现代汉语的词可以分为两类12种词性:一类是实词:名词、动词、形容词、数词、量词和代词;另一类是虚词:副词、介词、连词、助词、叹词和拟声词。
这块的技术大多数使用HMM(隐马尔科夫模型)+ Viterbi算法,最大熵算法(Maximum Entropy)。
OpenNLP里头可以使用POSTaggerME类来执行基本的标注,以及ChunkerME类来执行分块。
POSTaggerME
public static POSModel trainPOSModel(ModelType type) throws IOException {
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ALGORITHM_PARAM, type.toString());
params.put(TrainingParameters.ITERATIONS_PARAM, 100);
params.put(TrainingParameters.CUTOFF_PARAM, 5);
return POSTaggerME.train("eng", createSampleStream(), params,
new POSTaggerFactory());
}
private static ObjectStream createS