HanLP-分类模块的分词器介绍

 

最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他本身关于hanlp方面的文章,写的挺好的!转载过来分享给你们!如下为分享原文(无心义的内容已经作了删除)spa

以下图所示,HanLP的分类模块中单独封装了适用分类的分词器,固然这些分词器都是对HanLP提供的分词器的封装。分类模块中提供的分词器都在tokenizer包中。包括:3d

BigramTokenizer这是一个2gram分词器,也就是把连续的2字认为是一个词blog

BlankTokenizer这是一个空白符分词器,以文本中的空白符做为词语间隔token

HanLPTokenizer这是一个实词分词器,也就是只保留实词,它是分类模块的默认分词器接口

 

若是须要修改分类模块的分词器,须要在加载文本数据以前,设置分词器,示例代码以下:内存

 

IDataSet trainingCorpus = new FileDataSet().                          // FileDataSet省内存,可加载大规模数据集文档

            setTokenizer(new HanLPTokenizer()).                               // 支持不一样的ITokenizer,详见源码中的文档源码

            load(CORPUS_FOLDER, "UTF-8", 0.9);               // 前90%做为训练集class

        IClassifier classifier = new NaiveBayesClassifier();方法

        classifier.train(trainingCorpus);

 

还须要注意的是,这三种分词器其实都不太适合作情感分类的分词器,若是想用标准分词器做为情感分类的分词器,则用户须要自定义一个分词器类,该类须要实现ITokenizer接口并封装标准分词器。(若是直接调用setTokenizer方法传递下图HanLP分词器包中的分词器实例,则会报错)

相关文章
相关标签/搜索