HanLP-分类模块的分词器介绍-阿里云开发者社区

开发者社区> 云计算> 正文

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

简介: 最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他自己关于hanlp方面的文章,写的挺好的!转载过来分享给大家!以下为分享原文(无意义的内容已经做了删除)如下图所示,HanLP的分类模块中单独封装了适用分类的分词器,当然这些分词器都是对HanLP提供的分词器的封装。

最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他自己关于hanlp方面的文章,写的挺好的!转载过来分享给大家!以下为分享原文(无意义的内容已经做了删除)
如下图所示,HanLP的分类模块中单独封装了适用分类的分词器,当然这些分词器都是对HanLP提供的分词器的封装。分类模块中提供的分词器都在tokenizer包中。包括:
BigramTokenizer这是一个2gram分词器,也就是把连续的2字认为是一个词
BlankTokenizer这是一个空白符分词器,以文本中的空白符作为词语间隔
HanLPTokenizer这是一个实词分词器,也就是只保留实词,它是分类模块的默认分词器
_1

如果需要修改分类模块的分词器,需要在加载文本数据之前,设置分词器,示例代码如下:

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

        setTokenizer(new HanLPTokenizer()).                               // 支持不同的ITokenizer,详见源码中的文档
        load(CORPUS_FOLDER, "UTF-8", 0.9);               // 前90%作为训练集
    IClassifier classifier = new NaiveBayesClassifier();
    classifier.train(trainingCorpus);

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

_2

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章