嗨,球员:
我可以使用POS标记器通过调用方法来标记分段的中文文本
MaxentTagger.tokenizeText(Reader r)
但是现在我想标记原始的Chinsese文本而不是分段,我知道方法
MaxentTagger.tokenizeText(Reader r,TokenizerFactory tokenizerFactory)
可以做到这一点,但TokenizerFactory是一个接口,一些实现它的子类,如何调用该方法,有人可以给出一些建议或例子吗?感谢。
答案 0 :(得分:1)
目前,概率序列模型单词分段器不实现TokenizerFactory接口,只有基于规则的标记器......虽然可能会改变它。
您需要做的是运行Stanford Word Segmenter将原始中文文本分解为单词。这意味着使用适当的模型和属性调用CRFClassifier类。这个输出将是List<CoreLabel>
(对于一个句子)或List<List<CoreLabel>>
(对于文档)。这些可以使用List<TaggedWord> apply(List<? extends HasWord> in)
或void tagCoreLabels(List<CoreLabel> sentence)
方法输入到标记器中。
或者您可能会发现使用StanfordCoreNLP将各个部分连接起来更容易。如果您下载http://nlp.stanford.edu/software/corenlp.shtml#History
中提供的中国模型罐,它适用于中文