千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

智能硬件开发者
收藏本版 (4) |订阅

智能硬件开发者 今日: 1845 |主题: 435|排名: 16 

发新帖
打印 上一主题 下一主题

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

[复制链接]
hadoop小学生 发布于: 2019-6-14 11:11 717 次浏览 0 位用户参与讨论
跳转到指定楼层

最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他自己关于hanlp方面的文章,写的挺好的!转载过来分享给大家!以下为分享原文(无意义的内容已经做了删除)
如下图所示,HanLP的分类模块中单独封装了适用分类的分词器,当然这些分词器都是对HanLP提供的分词器的封装。分类模块中提供的分词器都在tokenizer包中。包括:
BigramTokenizer这是一个2gram分词器,也就是把连续的2字认为是一个词
BlankTokenizer这是一个空白符分词器,以文本中的空白符作为词语间隔
HanLPTokenizer这是一个实词分词器,也就是只保留实词,它是分类模块的默认分词器
如果需要修改分类模块的分词器,需要在加载文本数据之前,设置分词器,示例代码如下:
IDataSet trainingCorpus = new FileDataSet().                          // FileDataSet省内存,可加载大规模数据集
            setTokenizer(new HanLPTokenizer()).                               // 支持不同的ITokenizer,详见源码中的文档
            load(CORPUS_FOLDER, "UTF-8", 0.9);               // 前90%作为训练集
        ICl**ifier cl**ifier = new **BayesCl**ifier();
        cl**ifier.train(trainingCorpus);
还需要注意的是,这三种分词器其实都不太适合做情感分类的分词器,如果想用标准分词器作为情感分类的分词器,则用户需要自定义一个分词器类,该类需要实现ITokenizer接口并封装标准分词器。(如果直接调用setTokenizer方法传递下图HanLP分词器包中的分词器实例,则会报错)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆 千家通行证登陆

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城